User:Radenko/translate: Difference between revisions

From GRASS-Wiki
Jump to navigation Jump to search
(ново)
(крај)
 
(9 intermediate revisions by the same user not shown)
Line 1: Line 1:
== 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!
* Join the [[GRASS_Translation_Team#Members_of_Translation_Team|team]]
=== Wanted languages ===
Simple Chinese, Swahili, Hindi, Greek, Tamil, Russian, Telugu, Português, ... Please join us!
== How to change the language ==
* see [[GRASS_messages_translation#Testing_different_languages|Testing different languages]] below.
== How to create new translations ==
* For terminology, please refer to the [[GRASS Translation Glossary]].
=== Files ===
In GRASS, we have 4 types of .po files per language (see in the source code the directory locale/po/):
* <tt>grasslibs_LANG.po</tt>: messages from libraries
* <tt>grassmods_LANG.po</tt>: messages from commands ("modules")
* <tt>grasstcl_LANG.po</tt>: messages from Tcl/Tk graphical user interface (GRASS 6)
* <tt>grasswxpy_LANG.po</tt>: messages from wxgrass/wxPython graphical user interface
where "LANG" in the above file names is a two character code which indicates the language. It is based on the Alpha-2 code of [http://www.loc.gov/standards/iso639-2/php/English_list.php ISO 639-1] (right column). Example: <tt>grasswxpy_pl.po</tt> for Polish.
=== Continuing an existing translation ===
The file(s) are there but partially outdated? Read on.
First '''announce''' on the [http://lists.osgeo.org/mailman/listinfo/grass-translations 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/):
* either [http://trac.osgeo.org/grass/browser/grass/trunk/locale/po download current .po files] directly from SVN (click on file name, then at page bottom click on 'Original Format' to get out the real file),
* or [http://trac.osgeo.org/grass/wiki/DownloadSource#GRASS6.4 download source code package] from SVN,
* or download the recent [http://grass.osgeo.org/grass64/source/snapshot/ source code snapshot],
* or ask on the [http://lists.osgeo.org/mailman/listinfo/grass-translations GRASS translations mailing list] for these files.
Then edit the files with a .po file editor (poEDIT or kbabel or..., see below). Take care to maintain layout and special characters. And '''submit often''' - if you wait for weeks, the messages may already be outdated and your time wasted. Just keep in touch on the [http://lists.osgeo.org/mailman/listinfo/grass-translations GRASS translations mailing list]!
=== 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 [http://lists.osgeo.org/mailman/listinfo/grass-translations GRASS translations mailing list] to get these files done for you!):
# Get the latest source code development version from either the SVN repository or as SVN snapshot (see [http://grass.osgeo.org/download/index.php Download]).
# run: './configure --with-nls [... other parameters]' to configure the GRASS source code
# run: 'cd locale' to change into the translation directory
# run: 'make pot' to create grass*.pot template files (to extract original messages)
# run: copy these file from templates/ into po/; rename them to contain the two characters language code (see Alpha-2 code of [http://www.loc.gov/standards/iso639-2/php/English_list.php ISO 639-1]) and to .po extension; update the file headers either manually or with your .po editing software
  (Example: Polish language):
        mv ./templates/grasslibs.pot ./po/grasslibs_pl.po
        mv ./templates/grassmods.pot ./po/grassmods_pl.po
        mv ./templates/grasstcl.pot ./po/grasstcl_pl.po
        mv ./templates/grasswxpy.pot ./po/grasswxpy_pl.po
Now translate the messages in these po/*.po files (using kbabel or other editor, see below)
From time to time messages need to be updated from the originals. This is usually done by the GRASS translation manager.
== Software to translate: .po file editors ==
* [http://kbabel.kde.org/ kbabel]: KBabel is a set of tools for editing and managing gettext PO files (should come with your Linux distibution)
* [http://www.poedit.net/download.php poEdit]: poEdit is cross-platform gettext catalogs (.po files) editor (works also under MS-Windows)
* [http://wiki.osgeo.org/wiki/Software_Translation_Portal Web based] solutions (not used yet for the GRASS project)
'''Kbabel - rough, automated translation from existing .po files'''
To load existing .po files (eg from older GRASS versions or KDE translator center, http://i18n.kde.org/teams/) into Kbabel, use
      KBABEL -> SETTINGS -> CONFIGURE DIRECTORY -> PO AUXILIARY, load .po file
Then KBABEL -> TOOLS -> ROUGH TRANSLATION and some work might be done for you by kbabel...
== Testing different languages ==
Testing different languages requires that the respective language environment and, if needed, fonts are installed.
Check what languages are currently installed on your system with:
  locale -a
To change to a certain language environment (locale), do the following steps (here, example for Unix style environment):
  1. Define/check language settings:
    echo $LANG
    echo $LANGUAGE
    echo $LC_ALL
 
  2. Change it (example for to Japanese):
    a) bash shell:
        export LANG=ja_JP
        export LANGUAGE=ja_JP
        export LC_ALL=ja_JP
 
    b) (t)csh shell:
        setenv LANG ja_JP
        setenv LANGUAGE ja_JP
        setenv LC_ALL ja_JP
Now launch GRASS in this terminal. If you launch it from an icon, you have to change the LOCALE in the computer setup program instead.
Other common languages useful for testing are <tt>de_DE</tt> for German, <tt>fr_FR</tt> for French, or "C" for none (effectively <tt>en_US</tt>, which for GRASS is the base language).
<!-- == See also == -->
[[Category: Development]]
[[Category: Documentation]]
[[Category: FAQ]]

Latest revision as of 07:55, 3 March 2011