Changes

Jump to: navigation, search

Translation environment4

2,210 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 current translation environment used for Gramps '''4.0.x''' to Gramps master'''5.1.x'''.}}
==How it worksUsage==
* One wayTo generate an updated translation template catalog eg: intltool (perl)<code>gramps.pot</code>: python update_po.py -p Update 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'. {{stub}} The python program <code>update_po.py</code>, is a parser that uses [http://docs.python.org/library/xml.etree.elementtree.html ElementTree] and [http://www.gnu.org/savannah-checkouts/gnu/gettext/manual/html_node/xgettext-Invocation.html xgettext].
<pre> intltoolpython update_po.py -update 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}]
which should be considered as incomplete, see [[Talk:Translation_environment4|differences between tools]] This program generates a new template and also provides some common features.
* xgettext optional arguments: -h, --help show this help message and shellexit -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
genpot Update: Maintenance around translations -m merge lang.shpo files with last catalog -k check lang.po files
* Other way Translation: python, ElementTree[http://docs.python.org/library/xml.etree.elementtree.html] and xgettext[http://www.gnu.org/savannah Display content of translations file -checkouts/gnu/gettext/manual/html_node/xgettextu list untranslated messages -Invocation.html]f list fuzzy messages
python update_po.py -h
python update_po.py --help
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===
==Translating man pages==
You can also translated 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].
You Some of the files you will find in the files<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].
First off all you must make a directory for your language under data/man.<code>cd data/man</code>
and do on Linux run the following command <code>mkdir xx</code>
where <code>xx </code> is your languagecode two letter [https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes language code] (fr for French, sv for Swedish, etc.) You should use Git. See [[Brief_introduction_to_Git| the introduction to Git]].
Next step is to copy the <code>en.rst </code> from <code>data/man </code> to your new directory and rename it to your langage language code eg: <code>fr.rst</code> for French.
Translate 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 by adding ] and search for following line <code>LANGUAGES = ['sv', 'nl', 'pl', 'cs', 'pt_BR', 'fr', 'xx']</code> where 'xx' is your langnew 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 serverintroduction to Git]].):
git commit -am "Add man page for xx"
git push
==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]]
4,529
edits

Navigation menu