diff options
Diffstat (limited to 'doc/TRANSLATING')
-rw-r--r-- | doc/TRANSLATING | 117 |
1 files changed, 117 insertions, 0 deletions
diff --git a/doc/TRANSLATING b/doc/TRANSLATING new file mode 100644 index 0000000..1cb59c9 --- /dev/null +++ b/doc/TRANSLATING @@ -0,0 +1,117 @@ +#--------------------------------------# +| INSTRUCTIONS FOR TRANSLATING PORTATO | +#--------------------------------------# + +PRENOTE: This document is copied from the porthole project and slightly changed afterwards. +Thanks guys :) + +The recommended way to translate Portato 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 want to have the sources installed. +Then do: + +> svn co https://portato.svn.sourceforge.net/svnroot/portato/trunk portato + +You now should have the actual sources in the "portato" subdirectory. + + +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" ./portato.py + + +To submit the translation so we can include it in Portato distributions: +======================================================================== + +The easiest method is to post it to a tracker on portato's sourceforge site, +http://sourceforge.net/projects/portato. + + +I found a string in Portatot that I can't translate! What gives?: +================================================================ + +Post a bug report on the sourceforge site +(http://sourceforge.net/projects/portato). 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>" |