Changes

Jump to: navigation, search

Translation environment4

1,947 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|Replace make]]. ''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.py -p
==How Update the existing translation <code>xx.po</code> file where ''xx'' is your [[Portal:Translators|language code]]: python update_po.py -m it works==.po Merge it.po with current template.... done. Updated file: 'updated_it.po'.
* intltool (perl), gettext{{stub}}
intltool-update -por run: genpotThe python program <code>update_po.sh * pythonpy</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===
gramps/plugins/patchnames.py
...
 
We can still check if some references are missing via:
$ intltool-update -m
==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 (trunkmaster branch) version 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 SVN. See [[Brief_introduction_to_SVN| the introduction to SVN]]. Then do <code> svn add xx svn commit -m "xx dir for man pages" xx</code>This will add the xx dir under svn revision control and upload the new dir.
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>
Because you added new files, SVN requires that you set All changes must be committed and pushed to your server (You should use Git. See [[Brief_introduction_to_Git| the correct propset for those files. Two things are introduction to be doneGit]].<code> svn propset svn):mime-type text/plain xx/gramps.1 svn propset svn:eol git commit -type native am "Add man page for xx/gramps.1"</code> git push
You could also in To see the config file result of subversion ( HOMEDIRyour work, do:<code>$ man xx/gramps.subversion1</config) enable the auto-prop feature (enable-auto-props = yes) and uncomment the relevant lines in the [auto-props] section.All changes must be committed and do not forget to change the ChangeLog file.code>
To see ==See also==* [[Translating Gramps]]* [[Translation environment22]]* [[Translation environment4]]* See [[GEPS 026: Replace 'make' for Gramps build|Replace make]]. ''completed in 2012 for the result release of your work, do:<code> $ man xx/grampsGramps 4.1</code>0''
[[Category:Translators/Categories]]
[[Category:Developers/General]]
4,530
edits

Navigation menu