16,602
edits
Changes
m
# For generating a new template: python update_po.py -p * ''parser'' generates a new template and also provides some common features. ** test flag (-t) will test if 'python' and 'gettext' are properly installed.# * ''extract'' options are everything around extraction for message strings. ** xml flag (-x) will extract messages from xml based file formats, ini and desktop files. ** glade flag (-g) will extract messages from glade file format only. ** clean flag (-c) will remove created files. ** pot flag (-p) will create a new catalog.# * ''update'' options are everything around update for translation filesfile(s).** 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 some informations about one translation filesfile.** untranslate flag (-u) will list untranslated messages on '''lang.po file'''.** fuzzy flag (-f) will list fuzzy messages on '''lang.po file'''.
no edit summary
This page describes the next translation environment.
See [[GEPS_026:_Replace_'make'_for_Gramps_build|Replace make]]. ''completed'' (testing stage)
Could be used for Gramps '''4.0.x'''.
==How it works==
* One way: intltool (perl), gettext
intltool-update -p
which should be considered as incomplete, see [[Talk:Translation_environment4|differences between tools]].
* xgettext and shell
genpot.sh
* Other way: python, ElementTree[http://docs.python.org/library/xml.etree.elementtree.html] and xgettext[http://www.gnu.org/savannah-checkouts/gnu/gettext/manual/html_node/xgettext-Invocation.html]
python update_po.py -h
python update_po.py --help
python update_po.py [options]
===Files and directory===
Like with [[Translation_environment22#Files_and_directory|previous environment]], we need to list files with translation strings for retrieving messages and generating a 'po/gramps.pot' file. Process is now only using ''gettext'' and ''python''.
* gettext, 'POTFILES.in' and 'POTFILES.skip' files
If you want a script to take your translatable strings into account, you must add your source file path in the file : <code>po/POTFILES.in</code>. For this report example, you should add:
...
gramps/plugins/leak.py
gramps/plugins/mediamanager.py
gramps/plugins/myreport.py # <------
gramps/plugins/narrativeweb.py
gramps/plugins/patchnames.py
...
==Translating man pages==
You can also translated the man pages into your own language.
For the development version (master branch) you can find the required starting files under the directory /data/man.
You need at least [http://docutils.sourceforge.net/ docutils package].
You will find the files
*update_man.py
*en.rst
*gramps.1
First off all you must make a directory for your language under data/man.
<code>
cd data/man
</code>
and do <code>
mkdir xx
</code>
where xx is your languagecode (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 en.rst from data/man to your new directory and rename it to your langage code.
Translate all relevant strings in the data/man/xx/xx.rst file.
Edit the file data/man/update_man.py by adding your lang
Run data/man/update_man.py:
<code>
$ python update_man.py -m
</code>
All changes must be committed and pushed to the server:
git commit -am "Add man page for xx"
git push
To see the result of your work, do:<code>
$ man xx/gramps.1
</code>
[[Category:Translators/Categories]]
[[Category:Developers/General]]