GRASS GIS (Geographic Resources Analysis Support System)

GRASS: Development

Advanced search
Home Intro Docs Download Community Applications Development
Development

Get involved!

Roadmap

Translations (i18N)

Mailing lists | IRC

SVN Server

SVN tags

SVN commit ML

Platform notes

Bug/Feature trackers

History

GRASS messages translation project (i18N)

Translations - FreeType font support - i18N translation statistics/download

The idea

The great worldwide interest in GRASS suggests value in translating GRASS messages to languages other than english. The "infrastructure" to support single-byte as well as multi-byte character sets was implemented (based on the FOSS4G efforts).

The GRASS Development Team is seeking translators. Please subscribe to the dedicated mailing list at

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

Translation related issues may be discussed there (how to start a new translation, how to merge old G5.0 translated messages into GRASS 6 etc). This is an opportunity for non-programmers to contribute as messages can be easily translated. No programming skills required!
In the links section at bottom of this page you find references to the 'kbabel' and 'poEdit' software to easily translate the message files. The use of a Web based interface is under consideration.

Wanted languages

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

HOWTO

We have 4 types of .po files per language (see 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
Briefly, the steps to translate messages are (may be modified in future, more details in the README file linked below):
  1. Get the latest development version from either the SVN repository or as SVN snapshot (see "Download" section) or download just existing .po files (see below) from SVN.
  2. run: 'cd locale' to change into the translation directory
  3. run: 'make pot' to create grass*.pot files (containing original messages)
  4. run: 'make update-po' merge new messages into existing *.po files (or create new po files)
  5. Now translate the messages in the po/*.po files (using kbabel or other editor)
  6. run: 'make mo' create the mo files (binary translated message files)
Please, click here to see details (find the README in the locale/ directory as well):
    Translation README

For terminology, please refer to the GRASS Translation Glossary.

To change to a certain LOCALE (if the system doesn't do it for you or for exploring other languages), do the following steps:

# 1. Define/check language settings:
   echo $LANG
   echo $LANGUAGE
   echo $LC_ALL

# 2. Change it (example for to Japanese):
# 2.a) bash shell:
       export LANG=ja_JP
       export LANGUAGE=ja_JP
       export LC_ALL=ja_JP

# 2.b) (t)csh shell:
       setenv LANG ja_JP
       setenv LANGUAGE ja_JP
       setenv LC_ALL ja_JP
Now launch GRASS 6 in this terminal. If you launch it from an icon, you have to change the LOCALE in the computer setup program instead.

Download of existing .po files for modification

Download current .po files from CVS (useful if you want to partecipate without compiling GRASS). Please announce your efforts on the 'GRASS translations' mailing list (see above) to avoid that work is doubled. To start a new language, you can simply rewrite an existing file. Take care to rename it properly and to update the language specific metadata.

Multi-byte FreeType/TrueType TTF support

A multilingual terminal emulator with multi-byte support is mlterm.
Using this terminal, GRASS 6 is already able to display e.g. Japanese fonts in SQL queries (here DBF file):

Tcl/TK TTF Support

Also the TclTK based graphical user interface renders TTF characters. Here an example for simple Chinese (the underlaying .po file is coded in UTF-8):

Here an example for Hindi (the underlaying .po file is coded in UTF-8):

Major parts of GRASS 6.2+ were translated to Vietnamese:

XDRIVER TTF Support

Recently the XDRIVER in GRASS was extended to support True/Free Type Fonts.

Links: .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)

Statistics of current GRASS internationalization (i18N) status

The table is ordered by number of translated messages per language. The two character codes indicate the language, based on the Alpha-2 code of ISO 639-1. For download of a currently sleeping translation, please either get the file directly from the GRASS-CVS or see above.

GRASSLIBS

PO-FilesTranslated
messages
Fuzzy
translations
Untranslated
messages
Spanish grasslibs_es.po 818
Czech grasslibs_cs.po 774 49 
Thai grasslibs_th.po 664 111  36 
Portuguese grasslibs_pt.po 522 163  126 
German grasslibs_de.po 499 227  102 
Chinese grasslibs_zh.po 478 215  118 
Turkish grasslibs_tr.po 452 99  260 
Portuguese grasslibs_pt_br.po 375 189  247 
Vietnamese grasslibs_vi.po 335 223  253 
Italian grasslibs_it.po 333 224  254 
French grasslibs_fr.po 302 251  258 
Polish grasslibs_pl.po 278 208  331 
Latvian grasslibs_lv.po 263 220  328 
Slovenian grasslibs_sl.po 246 256  309 
Arabic grasslibs_ar.po 170 218  423 
Korean grasslibs_ko.po 42 95  674 
Marathi grasslibs_mr.po 21 99  691 
Hindi grasslibs_hi.po 2 434  375 
Greek, Modern (1453-) grasslibs_el.po 0 811   
Japanese grasslibs_ja.po 0 183  628 
Russian grasslibs_ru.po 0 415  396 

This table is generated weekly.

GRASSMODS

PO-FilesTranslated
messages
Fuzzy
translations
Untranslated
messages
Czech grassmods_cs.po 5461 39  11 
Thai grassmods_th.po 5216 151  21 
Spanish grassmods_es.po 5002 341  140 
Turkish grassmods_tr.po 2674 120  2594 
Vietnamese grassmods_vi.po 2637 2029  722 
German grassmods_de.po 2597 1952  947 
French grassmods_fr.po 2283 2177  928 
Polish grassmods_pl.po 1658 1783  2030 
Portuguese grassmods_pt.po 1549 2866  973 
Portuguese grassmods_pt_br.po 1514 2902  972 
Chinese grassmods_zh.po 967 2070  2351 
Italian grassmods_it.po 909 2379  2606 
Arabic grassmods_ar.po 526 2219  2643 
Slovenian grassmods_sl.po 431 2364  2593 
Latvian grassmods_lv.po 373 1847  3168 
Marathi grassmods_mr.po 2 967  4419 
Korean grassmods_ko.po 1 593  4794 
Greek, Modern (1453-) grassmods_el.po 0 5388   
Hindi grassmods_hi.po 0 3327  2061 
Japanese grassmods_ja.po 0 2893  2495 
Russian grassmods_ru.po 0 2150  3238 

This table is generated weekly.

GRASSTCL

PO-FilesTranslated
messages
Fuzzy
translations
Untranslated
messages
Czech grasstcl_cs.po 1429    
Thai grasstcl_th.po 1424
Spanish grasstcl_es.po 1422
Portuguese grasstcl_pt_br.po 1361 39  31 
Italian grasstcl_it.po 1342 310  158 
Portuguese grasstcl_pt.po 1191 162  78 
Turkish grasstcl_tr.po 1126 302 
French grasstcl_fr.po 794 268  369 
German grasstcl_de.po 765 399  265 
Polish grasstcl_pl.po 732 375  324 
Vietnamese grasstcl_vi.po 726 420  285 
Chinese grasstcl_zh.po 221 15  1195 
Amharic grasstcl_am.po 174 80  1177 
Slovenian grasstcl_sl.po 0 1431   
Russian grasstcl_ru.po 0 187  1244 
Korean grasstcl_ko.po 0 1431   
Greek, Modern (1453-) grasstcl_el.po 0 1431   
Arabic grasstcl_ar.po 0 1431   
Hindi grasstcl_hi.po 0 1431   
Japanese grasstcl_ja.po 0 667  764 
Latvian grasstcl_lv.po 0 125  1306 
Marathi grasstcl_mr.po 0 1431   

This table is generated weekly.

GRASSWXPY

PO-FilesTranslated
messages
Fuzzy
translations
Untranslated
messages
German grasswxpy_de.po 434 443  245 
Czech grasswxpy_cs.po 387  
Spanish grasswxpy_es.po 20 1071   

This table is generated weekly.
The relevant column is 'Translated messages' as the message files do not necessarily contain all available messages of GRASS.

Last change: $Date: 2008-05-05 01:00:30 -0700 (Mon, 05 May 2008) $
$Author: neteler $

© 2004-2007 GRASS Development Team
Imprint | Comments about this page