#--------------------------------------#
| INSTRUCTIONS FOR TRANSLATING gMPM |
#--------------------------------------#

PREPRENOTE: IMPORTANT!!!!
Currently this is ONLY in the TODO list 



PRENOTE: This document is copied from portato project, that is copied the porthole project, and slightly changed afterwards.
Thanks guys :)

The recommended way to translate gMPM into another language is to use
"Poedit" (app-i18n/poedit). However you might want to try out either
KBabel (kde-base/kbabel) or Gtranslator (app-text/gtranslator).


Getting the sources:
===================

You do need the sources to make translations. The installed program is not sufficient.
Change into a local directory where you have the sources installed



To update an incomplete translation:
===================================

If there is a translation for your language already, then open the .po file in
portato's i18n/ directory with Poedit (e.g. pl.po = Polish, fr_FR.po = French
(France)). Select "Update from POT file" from the "Catalog" menu, then choose
the messages.pot file in the i18n/ directory. Untranslated strings will be
highlighted and placed at the top of the list. Translate them and save the file!


To create a new translation:
===========================

Open poedit and Select "New catalog from POT file" from the "File" menu, and
choose the messages.pot file in portato's i18n/ directory. Translate, then save
the file (also in the i18n/ directory) as <lang>.po where <lang> is the two
letter code for your language, optionally followed by a two letter modifier.
For example en.po would be for English, en_GB.po would be specifically for
British English.


Important notes about placeholders:
==================================

The translatable strings in the messages.pot catalogue and the <lang>.po files
are partially in Python's string format, partially in GTK's. The following items
should be included in translated strings as placeholders for names or figures:

"%s" : string placeholder
"%d" : number placeholder
"%(days)d" : placeholder named "days", do not translate the name
pretty much anything starting with "%"

Html-Tags ("<b>some_text</b>") should be kept as is and only the text in between
has to be changed.

In addition, the underscore (_) is used to indicate that the next character will 
be used as the accellerator key. When the user presses "CTRL" + this key, it will 
perform the item's action. These are not required, but if you use them the 
characters chosen must all be different.

Strings like "gtk-quit", "gtk-cancel" etc. must not be translated.


To test your translation:
========================

run the "pocompile" script in the portato directory:

> ./pocompile.sh

This will compile all the .po files in i18n/ into .mo files (which
gettext uses when translating Portatot) and place them in the necessary
subdirectories (<lang>/LC_MESSAGES).

Now you can run the local portato version in your language:

> ./portato.py

If you are not seeing your language, make sure the environment variable "LANG" 
is set to your language code.
For example, to run portato using the German translation:

> LANG="de_DE" ./gmpm.py


I found a string in Portato that I can't translate! What gives?:
================================================================

Post a bug report on the sourceforge site
(http://portato.origo.ethz.ch/issues). Include the untranslatable string
and where in Portato you came across it. It's easy for us to mark the strings
for translation, but we may have missed some!


I don't want to use a stupid GUI, they are plain text files!:
============================================================

The .po files are indeed plain text files. If you don't want to use poedit for
some reason, these gettext commands might come in handy:

Update a .po file from the messages.pot file:
> "msgmerge <lang>.po messages.pot > newpofile.po"

Create a new .po file from the messages.pot file:
> "msginit -i messages.pot -l <lang>"
