| Home | Screenshots | Download | History | Documentation |
In order to make PortaBase easier to use for people whose native language is not English, it is important to provide translations into other languages. This is a task which requires no knowledge of the PortaBase source code, or even of programming at all; one dedicated user is perfectly capable of translating PortaBase into a new language. The purpose of this page is to explain how to do this.
There are 3 basic resources that need to be translated for each language:
PortaBase currently uses a few hundred different phrases in the user interface; these appear in menus, buttons, error messages, etc. This is probably the most important resource to translate, as it influences every use of the program. The translations for each non-English language are stored in a separate text file; for Japanese this is portabase_ja.ts, for French it is portabase_fr.ts, etc. For full details on how this file is generated from the source code, edited, and converted to the binary translation file used at runtime, see the Qt Linguist documentation on Trolltech's web site. To make it easier to get started, I've placed a ready-for-translation template file here; just replace the "xx" in the filename with the ISO locale code of the language you're translating to.
There are two basic ways to do the translation:
<translation type="unfinished"></translation> changes to something like <translation>Translated text</translation>.Once each phrase has been translated, the file needs to be converted to a ".qm" file, which uses a binary format more suitable for runtime lookups. This can be generated from Qt Linguist by selecting "File->Release..."; if you aren't using Qt Linguist, just email the file to me so I can convert it for you (you can also figure out how to do it from the Qt Linguist documentation, but the necessary program doesn't seem to be easily available for Windows unless you have a commercial Qt license; it's easier for Linux users). To be properly detected, the ".qm" file needs to be placed in a set location as follows (where "xx" is the locale code):
Once you're satisfied that the translation is complete, please email me the ".ts" file so I can include the translation in future releases. I'll also try to send updated versions of these files to the translators at least a week before new releases; these updated files will contain all the old translations, plus new phrases which need to be translated.
Probably the next most important resource needing translation is the help file, since this explains in detail what the program is capable of and how to use it. Unfortunately it is quite long, and therefore takes a significant amount of time to translate. The translation process is simpler than for the interface text, however; just create a UTF-8 HTML file containing the translation of the English help file. Place the file as follows for it to be properly detected (again, replace "xx" with the 2-letter language code):
Once you're satisfied with the translation, email it to me so I can include it in future releases. I'll try to email the translators a summary of the changes to the help file to at least a week before each new release.
The final PortaBase resource needing translation is the web site. Having this translated makes it easier for potential users to decide if PortaBase would be useful to them or not, and for current users to find out what has changed with each new version. To translate a page, just download it and write a translated version of it; email it back to me so I can post it on the site.
This is a quick reference chart for what translations are being worked on, and who is currently responsible for doing it:
| Resource | cs | en | fr | ja | zh_TW |
| UI text | JM | JB | * | JB | JL,LS |
| Help file | JB | MT | JL,LS | ||
| Web pages | JB |
Translators:
Language codes:
If you'd like to work on translating a resource/language combination that is still blank in the table, please contact me so I can add you to the table. Do this before you start working on it, so we don't end up with several people working on the same thing.
----Copyright 2003-2004 by Jeremy Bowman.
(jmbowman at alum dot mit dot edu)