Translation environment22

From Gramps
Jump to: navigation, search

This page describes the second translation environment.

From Gramps 2.2.x to Gramps 4.0.

How it works

Gnome provides utilities and a translation framework:

  • msginit will generate a standard gettext header.
  • intltool-update will manage template and translations.
  • intltool-extract will extract translation strings on .glade and .xml files, by generating files with .h extension.
# Generates a new template (gramps.pot), into /po directory :
intltool-update -p
  • intltool-merge will merge cached translations into .in files
# Merges translated strings into desktop file, root directory :
intltool-merge -d po/ data/gramps.desktop.in data/gramps.desktop
# Merges translated strings into xml file, root directory :
intltool-merge -x po/ data/gramps.xml.in data/gramps.xml
# Merges translated strings into key file, root directory :
intltool-merge -k po/ data/gramps.keys.in data/gramps.keys 

Files and directory

  • Makefile.am and intltool

If you want a script to take your translatable strings into account, you must add your source file path in the file : po/POTFILES.in. For this report example, you should add:

...
# plugins directory
src/plugins/AncestorChart2.py
src/plugins/AncestorReport.py
...
src/plugins/FindDupes.py
src/plugins/Leak.py
src/plugins/MediaManager.py
src/plugins/Myreport.py                # <------
src/plugins/NarrativeWeb.py
src/plugins/PatchNames.py
...

In this file, the sources are sorted within each directory or category.

You can check missing references (not on POTFILES.in and POTFILES.skip) with the command

/intltool-update -m 

into /po directory.