GRASS messages translation: Difference between revisions

From GRASS-Wiki
Jump to navigation Jump to search
(extended)
(links)
Line 51: Line 51:
== Software to translate: .po file editors ==
== Software to translate: .po file editors ==


* kbabel: KBabel is a set of tools for editing and managing gettext PO files (should come with your Linux distibution)
* [http://kbabel.kde.org/ kbabel]: KBabel is a set of tools for editing and managing gettext PO files (should come with your Linux distibution)
* poEdit: poEdit is cross-platform gettext catalogs (.po files) editor (works also under MS-Windows)
* [http://www.poedit.net/download.php poEdit]: poEdit is cross-platform gettext catalogs (.po files) editor (works also under MS-Windows)
* Web based solutions (not used yet for the GRASS project)
* [http://wiki.osgeo.org/wiki/Software_Translation_Portal Web based] solutions (not used yet for the GRASS project)


== See also ==
== See also ==

Revision as of 14:21, 30 October 2008

GRASS messages translation project

Many users prefer to use software in their mother tongue which is mostly no English. This requires that all GRASS software messages have to be translated to languages other than English. The GRASS Development Team is seeking translators. Please subscribe to the dedicated mailing list at

    GRASS translations mailing list
    http://lists.osgeo.org/mailman/listinfo/grass-translations

Translation related issues may be discussed there. This is an opportunity for non-programmers to contribute as messages can be easily translated. No programming skills required!

Wanted languages

Simple Chinese, Swahili, Hindi, Greek, Tamil, Russian, Telugu, Português, ... Please join us!

HOWTO

In GRASS, we have 4 types of .po files per language (see in the source code the directory locale/po/):

  • grasslibs_LANG.po: messages from libraries
  • grassmods_LANG.po: messages from commands ("modules")
  • grasstcl_LANG.po: messages from TclTk graphical user interface
  • grasswxpy_LANG.po: messages from wxgrass/wxPython graphical user interface

"LANG" is a two character code which indicates the language. It is based on the Alpha-2 code of ISO 639-1 (right column). Example: grasswxpy_pl.po for Polish.

Continuing an existing translation

The file(s) are there but partially outdated? Read on.

First announce on the GRASS translations mailing list that you plan to continue the translation of a certain lanuage. Why? Because sometimes people silently translate already and we need these efforts to be coordinated to avoid doing it twice...

Then get these four .po files for your language and start. If a file is missing, just ask on the list to get it generated or see next section. To get these .po files (the files are in the directory locale/po/):

Then edit the files with a .po file editor (poEDIT or kbabel or..., see below). Take care to maintain layout and special characters.

Starting a new translation

The language you want isn't yet there? Read on.

Briefly, the steps to create new messages files are (if you find this too complicated, ask on the GRASS translations mailing list to get these files done for you!):

  1. Get the latest source code development version from either the SVN repository or as SVN snapshot (see Download).
  2. run: './configure --with-nls [... other parameters]' to configure the GRASS source code
  3. run: 'cd locale' to change into the translation directory
  4. run: 'make pot' to create grass*.pot template files (to extract original messages)
  5. run: copy these file from templates/ into po/; rename them to contain the two characters language code (see above) and to .po extension; update the file headers either manually or with your .po editing software
  6. Now translate the messages in these po/*.po files (using kbabel or other editor, see below)

Software to translate: .po file editors

  • kbabel: KBabel is a set of tools for editing and managing gettext PO files (should come with your Linux distibution)
  • poEdit: poEdit is cross-platform gettext catalogs (.po files) editor (works also under MS-Windows)
  • Web based solutions (not used yet for the GRASS project)

See also