Howto:Change the language of reports

From Gramps
Revision as of 08:46, 10 August 2010 by Börge (Talk | contribs) (Added Gnome launchers info)

Jump to: navigation, search

This howto explains how you can produce reports in a different language than the language you installed linux in.


If you have an international family, chances are you want to produce reports in the language used by your distant family members.

GRAMPS is supported in many languages. You can produce reports in all these languages, by running GRAMPS in this language and making the report.

Run GRAMPS in a different language

First, lets 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 gramps, as GRAMPS typically is installed in the directory /usr/bin. You can also start GRAMPS with /usr/bin/gramps, although this might be different on other distributions.

This command calls up 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 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:


Once you get the locale working and to make things handy going forward, you can create an alias. Open the file .bashrc (this file is located in your home directory) in a text editor. At the bottom of the file add the following:

 alias gramps_nl=' LANG=nl_BE.UTF-8; /usr/bin/gramps'

You will need to make the alias command unique, so in this instance I have used gramps_nl. Now save the file. The UNIX terminal will need restarted for the new setting to take effect. Enter the alias command gramps_nl to run gramps in another locale. Multiple alias commands can be setup for multiple locales.

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

Add locale GRAMPS KDE menu item

  • Right Click on 'K' -> select 'Menu Editor'
  • Click on 'Office'
  • Click on 'New Item', Enter <code>'GRAMPS Genealogy System (nl)'

In each of the fields enter:

  • Description: GRAMPS NL Locale
  • Comment: Manage genealogical information, perform genealogical research and analysis
  • Command: LANG=nl_BE.UTF-8; /usr/bin/gramps

Leave all other options as default. To add the GRAMPS icon, click on the icon beside Name and Description fields

  • Select 'Other icons' -> Click on 'Browse'
  • Navigate to directory /usr/share/gramps/images
  • Select image gramps.png

In the KDE Menu Editor select 'Save' and close the window.

To Launch the locale version of GRAMPS click on K->APPLICATIONS -> OFFICE -> GRAMPS NL Locale

Add Gnome Menu Item

To add a Gnome Menu item, you need to have the menu editor installed; if not installed, (in Fedora) type

yum install alacarte 

in a shell and restart.

The process is similar as for KDE above; right-click on the menu and choose "Edit Menus", go to the desired location in the menu tree and add a "New Menu Item". In the launcher properties window enter:

  • Type: Application
  • Name: [Whatever you like; e.g. Gramps - SV]
  • Command: env LANG=sv_SE.utf8 /usr/local/bin/gramps
  • Comment: [Whatever you like; e.g. Starts Gramps in Swedish locale]

Note: Locale parameters are exported using the keyword env, and my installation of Gramps resides in /usr/local/bin as opposed to /usr/bin

On Windows you need to run the command line (cmd.exe) and type two lines similar to this:

"C:\Python25\pythonw.exe" "C:\Program Files\gramps\"

This can be saved to a .bat file for easy execution.

What about dates and calendars

Dates and calendars depend on your locale, so changing the LANG variable will run 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 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 language-pack-gnome-nl. 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 /usr/share/i18n/SUPPORTED 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 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:

mkdir ~/backup/locales
sudo cp /var/lib/locales/supported.d/local ~/backup/locales/local.old

With your favorite editor, you now need to change the local 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 not generate errors, if it did, you did something wrong.

5.10 and before Execute

sudo dpkg-reconfigure locales 

and select from the choises given the locales you need. Using UTF8 is advised, eg for nl_BE: choose nl_BE.UTF-8

Run the report

Having started GRAMPS in another language, all reports you make will also be in this language. Off 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 Munich. You could add an alternate location to the place with the translated name
  • 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 as much as possible.