Changes

Jump to: navigation, search

Translation environment4

1,594 bytes added, 07:31, 8 August 2015
See also
{{man note|Current|This page describes the next current translation environmentused for Gramps '''4.0.x''' to Gramps master.}}
See ==How it works== * One way: intltool (perl), gettext  intltool-update -p which should be considered as incomplete, see [[GEPS_026Talk:_Replace_'make'_for_Gramps_buildTranslation_environment4|differences between tools]]. ''work in progress'' (testing stage)
Could be used for Gramps '''4.0.x'''.* xgettext and shell
==How it works== 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]
 
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 files file(s)''' with last catalog.** check flag (-k) will check '''lang.po filesfile(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 messageson '''lang.po file'''.** fuzzy flag (-f) will list fuzzy messageson '''lang.po file'''.
===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''.
* xgettext gettext, 'POTFILES.in' and 'po/grampsPOTFILES.skip' filefiles
If you want a script to take your translatable strings into account, you must add your source file path in the file : <code>po/grampsPOTFILES.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>
 
==See also==
* 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]]

Navigation menu