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 SVN (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
Russian grasslibs_ru.po 923
Czech grasslibs_cs.po 911 10 
Spanish grasslibs_es.po 787 98  46 
Thai grasslibs_th.po 629 215  79 
Portuguese grasslibs_pt.po 490 264  169 
German grasslibs_de.po 482 296  145 
Chinese grasslibs_zh.po 458 306  159 
Turkish grasslibs_tr.po 432 191  300 
Portuguese grasslibs_pt_br.po 356 279  288 
Vietnamese grasslibs_vi.po 317 313  293 
Italian grasslibs_it.po 315 312  296 
French grasslibs_fr.po 285 339  299 
Polish grasslibs_pl.po 265 284  374 
Latvian grasslibs_lv.po 250 302  371 
Slovenian grasslibs_sl.po 229 341  353 
Greek, Modern (1453-) grasslibs_el.po 201 104  626 
Arabic grasslibs_ar.po 160 299  464 
Korean grasslibs_ko.po 42 159  722 
Marathi grasslibs_mr.po 20 167  736 
Hindi grasslibs_hi.po 2 508  413 
Japanese grasslibs_ja.po 0 251  672 

This table is generated weekly.

GRASSMODS

PO-FilesTranslated
messages
Fuzzy
translations
Untranslated
messages
Russian grassmods_ru.po 5627 40  15 
Czech grassmods_cs.po 5373 214  62 
Thai grassmods_th.po 5065 448  122 
Spanish grassmods_es.po 4869 609  204 
Turkish grassmods_tr.po 2597 362  2676 
German grassmods_de.po 2553 2080  1002 
Vietnamese grassmods_vi.po 2547 2268  820 
French grassmods_fr.po 2219 2390  1026 
Polish grassmods_pl.po 1620 1933  2082 
Portuguese grassmods_pt.po 1518 3045  1072 
Portuguese grassmods_pt_br.po 1485 3079  1071 
Chinese grassmods_zh.po 948 2238  2449 
Italian grassmods_it.po 829 2100  2706 
Arabic grassmods_ar.po 521 2378  2736 
Slovenian grassmods_sl.po 425 2510  2700 
Latvian grassmods_lv.po 347 2012  3276 
Marathi grassmods_mr.po 2 1095  4538 
Korean grassmods_ko.po 1 734  4900 
Greek, Modern (1453-) grassmods_el.po 0 5635   
Japanese grassmods_ja.po 0 3050  2585 
Hindi grassmods_hi.po 0 3486  2149 

This table is generated weekly.

GRASSTCL

PO-FilesTranslated
messages
Fuzzy
translations
Untranslated
messages
Czech grasstcl_cs.po 1435
Russian grasstcl_ru.po 1430
Thai grasstcl_th.po 1415 18 
Indonesian grasstcl_id.po 1413 20 
Portuguese grasstcl_pt_br.po 1352 51  34 
Portuguese grasstcl_pt.po 1182 175  80 
Turkish grasstcl_tr.po 1119 15  303 
Spanish grasstcl_es.po 1066 248  123 
Italian grasstcl_it.po 1012 266  159 
French grasstcl_fr.po 791 275  371 
German grasstcl_de.po 764 403  270 
Polish grasstcl_pl.po 730 380  327 
Vietnamese grasstcl_vi.po 724 425  288 
Chinese grasstcl_zh.po 220 19  1198 
Amharic grasstcl_am.po 174 82  1181 
Slovenian grasstcl_sl.po 0 1437   
Korean grasstcl_ko.po 0 1437   
Greek, Modern (1453-) grasstcl_el.po 0 1437   
Arabic grasstcl_ar.po 0 1437   
Hindi grasstcl_hi.po 0 1437   
Japanese grasstcl_ja.po 0 672  765 
Latvian grasstcl_lv.po 0 127  1310 
Marathi grasstcl_mr.po 0 1437   

This table is generated weekly.

GRASSWXPY

PO-FilesTranslated
messages
Fuzzy
translations
Untranslated
messages
Russian grasswxpy_ru.po 1580
Czech grasswxpy_cs.po 1549 11 
Spanish grasswxpy_es.po 954 274  354 
Turkish grasswxpy_tr.po 757 227  581 
German grasswxpy_de.po 429 646  490 

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-07-30 07:30:25 -0700 (Wed, 30 Jul 2008) $
$Author: neteler $

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