15,536
edits
Changes
no edit summary
If you have an international family, chances are you want to produce reports in the language used by your distant family members.
==How to install a locale==
For the above to work, you must have the needed locales installed. This will be distribution specific. Add to this wiki if you know how to do this in a distributions distribution not listed.
Before the overview, it is advised to also install the gnome language package for the locale you want, eg for locale ''nl'' you need to install the package <code>language-pack-gnome-nl</code>. The KDE package (kde-i18n-nl) is not needed as GRAMPS Gramps uses gnome, even when run in KDE.
=== Ubuntu and variants===
'''6.06 and later'''
The file <code>/usr/share/i18n/SUPPORTED</code> lists all possible locales. Eg, for ''nl_BE'' we can choose from ''nl_BE.UTF-8 UTF-8, nl_BE ISO-8859-1, nl_BE@euro ISO-8859-15, nl_NL.UTF-8 UTF-8, nl_NL ISO-8859-1'' and ''nl_NL@euro ISO-8859-15''. We advice advise to use UTF-8 encoding, so here, ''nl_BE.UTF-8 UTF-8'' is the one we need to install.
Now, we backup the old locale file, and add the required locale. In a terminal you can backup with the commands:
With your favorite editor, you now need to change the <code>local</code> file as root, by adding the locale you want. So for nl_BE this would be adding the line ''nl_BE.UTF-8 UTF-8'' at the bottom. Watch out: end with a newline, so put an ENTER after this line. Next we need to regenerate the locales:
sudo dpkg-reconfigure locales
This command may must not generate errors, ; if it did, you did something wrong.
Execute
sudo dpkg-reconfigure locales
and select from the choises choices given the locales you need. Using UTF8 is advised, eg for ''nl_BE'': choose ''nl_BE.UTF-8''
== Run the report==
Having started GRAMPS Gramps in another language, all reports you make will also be in this language. Off Of course, things you typed in yourself are not translated.
===Tips for international use===
As what you type is not translated, some tips:
* for places: use the actual placename, for example München and not the translated placenameMunich. You could add an alternate location to the place with the translated name. (Or wait until the [[GEPS_006:_Better_Place_handling|better place handling]] feature is fully implemented and available).* for notes: use the languages the people who are most interested in this section will want it in. The next major update to gramps (2.4) will enable This version enables multiple notes, so you will then be are able to make different notes, one per language, with the possibility to use filters to determine what appears* for descriptions: Try to use builtin built-in description names as much as possible, as those are translated. Eg, try to avoid custom events, and use the builtin events of GRAMPS Gramps as much as possible. ===Automatically translate names and places=== From Gramps version 3.2, Gramps doesn't support language tagging of alternative names --- whether for a person or a location. That is, you can add multiple alternative names, each in a different language, but still only one of them will be the primary one --- and will be the one picked up for a report. Nevertheless, when exporting to a relative not speaking your language, or when preparing a report for a part of your family having different language preferences than yourself, you need to change the primary language, but only in a temporary manner --- so that you still continue maintaining your own DB in your preferred language. Luckily, the simplicity of the Gramps XML format allows the use of a small XSL stylesheet, fed by a local translation table of the names you want translated, which you can use for this purpose. Here's how you can easily do it on Linux:* Ensure your administrator installs the "xsltproc" package.* Export your Gramps DB (without media) in the .gramps format (i.e., GZipped GRAMPS XML). Save it (let's call it Smith.gramps). Ensure you enable the required censorship on the database (such as restrict the data on living people, etc.)* Store the translation XSL ([http://www.tarunz.org/~vassilii/pub/gramps-translate/gramps-translate.xsl gramps-translate-names.xsl]) near the Smith.gramps. Look at the XSL source for advanced parameters allowing you to customize the translation.* Create the translation dictionary ([http://www.tarunz.org/~vassilii/pub/gramps-translate/t.xml t.xml]) near it as well: <?xml version="1.0" encoding="UTF-8"?> <nowiki><dict xmlns="http://tarunz.org/xml/dict/0.1.0/"></nowiki> <w> <s lang="ru">Хана</s> <s lang="ru">Ханна</s> <s lang="de">Hane</s> <s lang="en">Hannah</s> </w> </dict>: Populate it with the translations for all the stems you want translated. The translation breaks down names into stems using a customizable delimiter set. This allows translation of compound names, like ''Menachem-Mendl'', using the same rules, as given for the simple names comprising the compound, i.e., ''Menachem'' and ''Mendl'' in this case.* Run the translation, using the xsltproc command. To just use the defaults (Russian to English translation), do this: gunzip < Smith.gramps | xsltproc gramps-translate-names.xsl - |gzip > en.Smith.gramps:See the XSL source for more advanced parameters. E.g., if you want to collect the stems missing translation into a file "missing", translate into German, and use "[LIVING]" as the censorship marker, the command line will be something like this: gunzip < Smith.gramps | xsltproc --stringparam living '[LIVING]' --param log-missing 1 --stringparam lang-to de gramps-translate-names.xsl - 2> missing |gzip > de.Smith.gramps * Use the "missing" file obtained above to collect stems to add to the translation dictionary.* You can use the following [http://www.tarunz.org/~vassilii/pub/gramps-translate/Makefile Makefile] stanza to facilitate your processing: GZIP=gzip GUNZIP=gunzip XSLT=xsltproc TRANSLATEXSL=gramps-translate.xsl en.%.gramps: %.gramps $(GUNZIP) < $< | $(XSLT) --stringparam living '[LIVING]' $(TRANSLATEXSL) - | $(GZIP) > $@* Create a new database in gramps, and import the resulting en.Smith.gramps into it. Review the database, and now produce, using the language translated into, all the reports, export into GEDCOM, etc.* GRAMPS XML version is hardcoded in the XSL -- make sure it matches yours. "zcat *.gramps|head" will give you the GRAMPS XML format version used in that Gramps file. The script works has been tested either 1.3.0 (Gramps v3.2) or 1.4.0 GRAMPS XML (Gramps v3.3). [[Category:Tutorials|Change the language of reports]][[Category:Documentation]][[Category:Translators/Categories]]