# Localization of the JVCL

All strings in JVCL that are displayed to the user have been grouped into JvResources.pas and are stored as resourcestrings. Even if you could use the Integrated Translation Environment that comes with Delphi, we do not recommend it as it is not easily maintainable and contains a few very annoying bugs. The only other localization method supported by the JVCL group is DxGettext, a port of the GNU Gettext library to Delphi done by Lars B. Dybdahl. It is available at this address: http://dybdahl.dk/dxgettext/
All you need to do is download and install DxGettext, compile the JVCL with USE_DXGETTEXT defined (this define is in \common\jvcl.inc) and the JVCL will be localized to the language your application chose to run in. We won't go into the details of the usage of DxGettext here, but the easiest way to have your forms localized is to make them inherit from TJvForm instead of TForm (the declaration of TJvForm can be found in \run\JvComponent, so you need to add JvComponent to the uses clause of your form). This ensures automatic localization of JVCL components and strings.
The following languages are currently distributed with the JVCL:

Language | Language code | Progress | Translators
JVCL | JVCL Installer
Bulgarian | bg | 38% | 64% | Georgi Panayotov
Dutch | nl | 22% | 65% | Wiebe Tijsma
French | fr | 91% | 100% | Lionel Reynaud, Olivier Sannier, nanotonne
German | de | 60% | 89% | Andreas Hausladen
Italian | it | 91% | 91% | Carmelo Viavattene, Stefano Pessina, peste1
Polish | pl | 55% | 64% | Grzegorz Skoczylas
Romanian | ro | 37% | 0% | Anton Iulian
Russian | ru | 0% | 63% | SHC
Spanish | es | 79% | 65% | Enrique F. Becerra
Swedish | sv | 33% | 81% | Peter Thornqvist

As you can see, there is still a lot of work to do on this side of the JVCL. If you want to help us, we recommend you download poEdit from http://www.poedit.org/ and edit the jvcl.po file for the language you want to work on.

If your language doesn't appear in this list, use the file jvcl.po located directly in the locale directory. Translate as much as you can, then send the file to us indicating the language on which you worked (ideally indicating the two letter code). You can contact us here.

Should you require any assistance, do not hesitate to contact us, but please keep in mind that most of the issues related to the use of DxGettext are covered by the documentation available on the DxGettext website.