Open main menu

Gramps β

Changes

Translation environment4

3,613 bytes added, 16:24, 28 June 2021
m
Usage: ling to Languages portal, that has a list of language codes
{{man note|Current|This page describes the next current translation environmentused for Gramps '''4.0.x''' to Gramps '''5.1.x'''.}}
See [[GEPS_026:_Replace_'make'_for_Gramps_build]]. ''work in progress'' (testing stage)==Usage==
Could be used for Gramps '''4To generate an updated translation template catalog eg:<code>gramps.0.x'''pot</code>: python update_po==How it works==py -p
* intltool (perl), gettextUpdate the existing translation <code>xx.po</code> file where ''xx'' is your [[Portal:Translators|language code]]: python update_po.py -m it.po Merge it.po with current template.... done. Updated file: 'updated_it.po'.
intltool-update -por run: genpot.sh{{stub}}
* The pythonprogram <code>update_po.py</code>, ElementTreeis a parser that uses [http://docs.python.org/library/xml.etree.elementtree.htmlElementTree] and xgettext[http://www.gnu.org/savannah-checkouts/gnu/gettext/manual/html_node/xgettext-Invocation.htmlxgettext].
<pre>
python update_po.py -h
python update_po.py --help
usage: update_po.py [-h] [-t] [-x] [-g] [-c] [-p] [-m {all, xx.po}] [-k {all, xx.po}] [-u {xx.po}] [-f {xx.po}]
 
This program generates a new template and also provides some common features.
 
optional arguments:
-h, --help show this help message and exit
-t, --test test if 'python' and 'gettext' are properly installed
-x, --xml extract messages from xml based file formats
-g, --glade extract messages from glade file format only
-c, --clean remove created files
-p, --pot create a new catalog
 
Update:
Maintenance around translations
-m merge lang.po files with last catalog
-k check lang.po files
 
Translation:
Display content of translations file
-u list untranslated messages
-f list fuzzy messages
 
python update_po.py [options]
</pre>
For generating a new template:
python update_po.py -p
* ''parser'' generates a new template and also provides some common features.
** merge flag (-m) will merge '''lang.po file(s)''' with last catalog.
** check flag (-k) will check '''lang.po file(s)''', will try to compile and will also use ''check_po'' script.
* ''translation'' options are provide some informations information about one translation file.
** untranslate flag (-u) will list untranslated messages on '''lang.po file'''.
** fuzzy flag (-f) will list fuzzy messages on '''lang.po file'''.
 
==== Alternate ways ====
* Using: intltool (perl), gettext
 
intltool-update -p
 
which should be considered as incomplete, see [[Talk:Translation_environment4|differences between tools]].
 
* xgettext and shell
 
[https://github.com/gramps-project/gramps/blob/master/po/genpot.sh genpot.sh]
===Files and directory===
...
We can still check if some references are missing via:
$ intltool-update -m
 
==Translating man pages==
 
You can also translate the [https://en.wikipedia.org/wiki/Man_page man pages] (short for '''manual page''' a form of software documentation on Linux systems) into your own language.
 
For the development version (master branch) you can find the required starting files under the directory [https://github.com/gramps-project/gramps/tree/master/data/man /data/man].
 
You need at least [http://docutils.sourceforge.net/ docutils package].
 
Some of the files you will find in the <code>data/man</code> directory are:
*<code>update_man.py</code>
*<code>en.rst</code>
*<code>gramps.1</code>
 
First off all you must make a directory for your language under [https://github.com/gramps-project/gramps/tree/master/data/man data/man].
 
<code>cd data/man</code>
 
and on Linux run the following command <code>mkdir xx</code>
 
where <code>xx</code> is your two letter [https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes language code] (fr for French, sv for Swedish, etc.)
 
Next step is to copy the <code>en.rst</code> from <code>data/man</code> to your new directory and rename it to your language code eg: <code>fr.rst</code> for French.
 
Then translate all relevant strings in the <code>data/man/xx/xx.rst</code> file.
 
Edit the file [https://github.com/gramps-project/gramps/blob/master/data/man/update_man.py data/man/update_man.py] and search for following line <code>LANGUAGES = ['sv', 'nl', 'pl', 'cs', 'pt_BR', 'fr', 'xx']</code> where 'xx' is your new language. Save the file.
 
Run data/man/update_man.py:
<code>$ python update_man.py -m</code>
 
All changes must be committed and pushed to your server (You should use Git. See [[Brief_introduction_to_Git| the introduction to Git]].):
git commit -am "Add man page for xx"
git push
 
To see the result of your work, do:<code>$ man xx/gramps.1</code>
 
==See also==
* [[Translating Gramps]]
* [[Translation environment22]]
* [[Translation environment4]]
* See [[GEPS 026: Replace 'make' for Gramps build|Replace make]]. ''completed in 2012 for the release of Gramps 4.0''
[[Category:Translators/Categories]]
[[Category:Developers/General]]
5,421
edits