Open Source 
Document Management System 

Home Features Screenshots Documentation Download Support

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.

 SourceForge.net Logo © Sebastian Stein 2005 Support This Project