i18n support

Language support

jPicEdt is upto jPicEdt 1.5.xxx an English-, French-, German-, Portuguese- and Spanish-speaking software, although the manual only exists in English and German.
From version 1.6.xx jPicEdt is also Polish and Russian speaking, and a French manual also exists.

If you feel like translating it into your own language, and if you don't expect to get a penny for that;-), here are the instructions to follow.

When you want to improve an existing translation or to propose a translation in a new language, then there are two possible cases.

Languages that can be written with the ISO-8859-1, also known as Latin-1

That concerns languages of Western Europe like English, French, German, Portugese or Spanish.

Just download the i18n_en.properties resource file and then translate any expression that follows a "=" sign into your native language. — a good knowledge of jPicEdt GUI would obviously be a serious benefit in that case ;-)

Here are links to resource files in other languages which you can use altenatively:

Please note that:

  • You must use a text editor that encodes characters with an accent in ISO-8859-1. If your starting point is an existing resource file and your text editor is EMACS, it will detect automatically that ISO-8859-1 is the encoding in use, and keep it. It is also possible to manually set character encoding with most modern text editors.
  • You can also use the procedure that is described for languages that cannot be written with Latin-1 encoding: as a matter of fact it can also encode all characters defined in Latin-1, and on top of that you can directly see special character like , and the suchlikes.

To create a new language, do not forget to rename the resource file into i18n_xx.properties, where xx is the bigram that refers to the language, like it for Italian.

The next step is to place the i18n_xx.properties in the lang subdirectory of your jPicEdt deployment, and if possible to broadcast it on the jpicedt-users mailing list so that others can benefit from it. Please note that you need to re-start jPicEdt for the translation to be detected.

Languages that cannot be written with ISO-8859-1 encoding, also known as Latin-1

This concerns Central Europenan languages like Polish, or Eastern Euorpean languages like Russian but also many other languages like Japanese. In such a case the file containing the translation must be encoded in UTF-8, even when that is not the most typical encoding for this language.

Currently Russian and Polish are the only two examples of resource encoded in UTF-8. For instance download the resource file in Russian utf8_i18n_ru.properties and replace the translation of keys by the new translation. This file is encoded in UTF-8 although Russian speaking people ususally prefer the KOIR-8 encoding that is more concise, it is done this because it is easier to have a single universal encoding to manage all the translations.

Now, to create a new language, please do not forget to rename the file to utf8_i18n_xx.properties, where xx stands for the bigram refering to the language, for instance jp for japanese.

Please feel free to read ressource files with translation to other languages than Russian to translate keys, for instance i18n_en.properties, i18n_fr.properties, i18n_es.properties, i18n_de.properties or , i18n_pt.properties, but do not take one of these fles as a starting point because they are encoded in ISO-8859-1 and this may confuse your text editor software.

Please remember: you must use a text editor that is able to encode characters in UTF-8, if you start from file utf8_i18n_ru.properties and you use EMACS it will detect automatically that the file is UTF-8 encoded, otherwise your text editor software should allow to do this setting, if not you should consider to use a better software ;-).

The next step is to transcode the utf8_i18n_xx.properties which is encoded in UTF-8 to an i18n_xx.properties file encoded ISO-8859-1 with escape sequences looking like \uxxxx for any non ISO-8859-1 character. To that prupose any of the three following methods can be used:

  • If you have a Java Development Kit installed on your machine, then you have the native2ascii software at your disposal, so you can use it to carry out the transcoding just like this:
    
    native2ascii -encoding utf8 utf8_i18n_xx.properties i18n_xx.properties
    
    
  • Otherwise, you can use an on-line transcoder, for instance:
  • Third option, use the utf8_to_escapedlatin1 software the C++ source code of which is at utf8_to_escapedlatin1.cpp. To use this software you must first compile it with a C++ compiler, let's say g++, like this:
    g++ utf8_to_escapedlatin1.cpp -o utf8_to_escapedlatin1.exe 
    The usage of utf8_to_escapedlatin1 is then this way:
    utf8_to_escapedlatin1 utf8_i18n_xx.properties i18n_xx.properties
    

The next step is to store the i18n_xx.properties into the lang sub-directory of your jPicEdt installation, and if possible to send the utf8_i18n_xx.properties over the jpicedt-users mailing list so that every body can have it. Please remember that you need to re-start jPicEdt before it can detect the translation update.