Hints on translating contineo's interface |
|
This document summaries shortly how to translate the user interface of contineo.
It doesn't describe how to add a new indexer.
|
|
Java Resource Files |
|
To be able to provide the user interface in different languages, it is not
possible to code the different strings directly in the pages send to the
browser. Instead, only short identifiers for the strings are added to the pages
and the application server selects the string corresponding the user's language
before sending the page to the browser. This concept is in Java called resource
files. You can find many tutorials on the Internet explaining this in more
detail.
|
|
To translate the GUI to a new language the translator does not need any
programming knowledge. The main task is to translate all messages to his
language. The messages for each language are stored in one big file for each
language. The translator has to either download the latest binary or source
package from contineo's homepage. The language files are in the following
directories:
binary package: contineo/WEB-INF/classes/resources
source package: contineo/WEB-INF/src/resources
The files for the different languages are called application_XX.properties,
where XX is replaced by an abbreviation of the language. Open one of those files
to get an idea how it works.
|
|
As you can see the files look as in the following example:
db.showuser = Edit user
The lines starts with the identifier, in the example above it is
"db.showuser". After the equal sign follows the actual string. A
translator must change only the strings behind the equal sign on the right
sight.
|
|
Tool support |
|
Of course it is possible to do the translation of the file by just using a good
text editor like Vim. However,
it is quite hard to keep track of changes in other languages and to sync the own
translation. Therefore specialised tools exist. Of course there are many tools
available, but for the contineo project the use of prbeditor is
recommended. It is an OpenSource tool freely available and it is light-weight,
so does not add too complicated features. If you intend to translate the GUI,
please give this tool a serious test drive, because it is easier for everybody,
if all translators use the same tool.
|
|
After downloading and starting prbeditor, you have to load the resource files.
Select open and browse to the directory where the resource files are located.
Select one of the files, it doesn't matter which one. After pressing ok,
prbeditor will ask you, which translation files you want to see. You should at
least select your source language, so the language from which you want to derive
your translation from. So if you want to translate contineo into Polish from
English, select at least English. Often it is also a good idea to also select
other languages, to see how other translators have translated a string into
their language.
|
|
It is highly recommended to base your translation on the English or German of
contineo, because that are the two core languages used by the main developers.
They will ensure that those two language files are always up to date.
|
|
If you just want to test if translating really works, start with directly
editing the file of your base language like application_en.properties. For
example change the string "msg.jsp.login.username", save the file and
restart your application server. If you now go to the login page you should see
the changed string near the login boxes.
|
|
You can proceed like this through the whole file. After completion do not forget
to send your translation to the developers either by email or by creating a
patch entry here.
|
|
Conclusions |
|
Translating the GUI is no voodoo and can easily be done. Translating the GUI is
important so that users not so good in foreign languages can also use contineo.
By using the proposed tool translation gets even easier and also keeping in sync
between the different language files is made easier.
|