Changes

Jump to: navigation, search

Howto:Change the language of reports

1,197 bytes added, 22:57, 23 January 2013
m
Gramps
{{languages|Howto:_Change_the_language_of_reports}}
This howto explains Explanation of how you can produce reports in a language different language than from the language you installed linux your operating system in.
==Introduction==
 
If you have an international family, chances are you want to produce reports in the language used by your distant family members.
GRAMPS Gramps is supported in [[GRAMPS_translationsGramps_translations|many languages]]. You can produce reports in all these languages, by running GRAMPS Gramps in this language and making the report. == Run Gramps in a different language==
== Run GRAMPS in a different language==First, lets let us learn how to run gramps from a terminal or console (the so called CLI-Command Line Interface, which you find typically in the System Menu of your task bar). This can be done by typing <code>gramps</code>, as GRAMPS Gramps typically is installed in the directory <code>/usr/bin</code>. You can also start GRAMPS Gramps with <code>/usr/bin/gramps</code>, although this might be different on other distributions.
This command calls up GRAMPS Gramps with the default locale setting of your PC, that is, the language in which you installed your linux OS. If other locales are installed on your system, calling up GRAMPS Gramps in this language can be done. To check if there are other installed locales, use:
locale -a
For example, if the locale ''nl_BE'' is installed with encoding ''nl_BE.UTF-8'', you can start it with:
LANG=nl_BE.UTF-8 /usr/bin/gramps
Once you get the locale working and to make things handy going forward, you can create an alias. Open the file <code>.bashrc</code> (this file is located in your home directory) in a text editor. At the bottom of the file add the following:
You will need to make the alias command unique, so in this instance I have used <code>gramps_nl</code>. Now save the file. The UNIX terminal will need restarted for the new setting to take effect. Enter the alias command <code>gramps_nl</code> to run gramps in another locale. Multiple alias commands can be setup for multiple locales.
 
If you want to run Gramps in a locale you did not install, things will only work partially. You first need to set a fallback which is installed, or Gramps will never start. For example, if you have nl_BE.UTF-8 installed, and want to run in Swedish, you can do:
 
LC_ALL=nl_BE.UTF-8 LANG="sv" python3 gramps
 
Gramps '''requires''' an UTF-8 locale to work correctly in most cases.
 
This all assumes the Gramps translations are installed globally. If this is not the case, you need to give Gramps the directory where the translations will be found. A translation is called ''gramps.mo'', you can find it in linux with the ''locate'' command. For example, if you have Swedish in directory /home/me/gramps/mo/sv/gramps.mo, you can direct Gramps there using:
GRAMPSI18N=/home/me/gramps/mo LC_ALL=C.UTF-8 LANG="sv" python3 gramps
Alternatively you can add a new item to the menu of GNOME or KDE, so this command needs not to be entered in a terminal, but can be called from the menu.
===Add KDE Menu Item===
----
[[Image:gramps_locale_add_kde_menu_item.png|800px|Add locale GRAMPS Gramps KDE menu item]]
*Right Click on <code>'K'</code> -> select <code>'Menu Editor'</code>
*Click on <code>'Office'</code>
*Click on <code>'New Item', Enter <code>'GRAMPS Gramps Genealogy System (nl)'</code>
In each of the fields enter:
*Description: <code>GRAMPS Gramps NL Locale</code>
*Comment: <code>Manage genealogical information, perform genealogical research and analysis</code>
*Command: <code>LANG=nl_BE.UTF-8; /usr/bin/gramps</code>
Change LANG to whatever you wanted as described in the previous section.Leave all other options as default. To add the GRAMPS Gramps icon, click on the icon beside Name and Description fields
*Select <code>'Other icons'</code> -> Click on <code>'Browse'</code>
In the KDE Menu Editor select <code>'Save'</code> and close the window.
To Launch the locale version of GRAMPS Gramps click on K->APPLICATIONS -> OFFICE -> GRAMPS Gramps NL Locale
----
'''===Add Gnome GNOME Menu Item'''===
To add a Gnome Menu item, you need to have the menu editor installed; if not installed, (in Fedora) type
* Comment: [Whatever you like; e.g. <code>Starts Gramps in Swedish locale</code>]
[[{{man note|Note:]] |Locale parameters are exported using the keyword ''env'', and my installation of Gramps resides in /usr/''local''/bin as opposed to /usr/bin }}
----
===Add Windows OS Menu Item===
On Windows you need to run the command line (cmd.exe) and type two lines similar to this:
SET LANG=nl_BE.UTF-8
==What about dates and calendars==
Dates and calendars depend on your locale,<!-- not your language setting. So here the variable of importance is locale.CODESET, so the locale must be installed and be the default. --> so changing the LANG variable will run GRAMPS Gramps with the date and calendar appropriate to the locale (if implemented).
==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 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. Of course, things you typed in yourself are not translated.
===Tips for international use===
* for places: use the actual placename, for example München and not Munich. 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. This version enables multiple notes, so you are able to make different notes, one per language, with the possibility to use filters to determine what appears
* for descriptions: Try to use 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===
As of the current 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.
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 Gramps XML format allows to 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 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:
$(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]]

Navigation menu