If your language is not yet supported or if you wish to improve the quality of the translation, you can take the matter into your own hands. CiviCRM's web-based translation tool does not require any special technical skills, and even allows a number of different people and organizations to collaborate on a translation project.
This section has been created to aggregate per language translator resources.
How it Works
CiviCRM localisation uses the standard Open Source gettext approach. This means that all of the localisable strings (pieces of text) in the CiviCRM source code are extracted using automatic tools. The strings are sent to Transifex, a web-based translation tool, where volunteers translate the strings to their language. When CiviCRM releases a new version, the translated strings are then fetched from Transifex and packaged into files that can be found in civicrm-l10n.tar.gz from the download page.
For the curious, the extracted strings reside in '.pot' files which serve as 'templates' for different '.po' files - one set of such files for every language. This way, the fact that CiviCRM is localised into a given language is equivalent to the fact that there exists a set of '.po' files for the language in question. The '.po' files are plain text, for performance reasons they are converted to a binary 'MO' format. In other words, we have multiple "component.pot" files that serve as templates, which become component.po files for each language, and in order to use them in CiviCRM, the final result is concatenated into one big file and compiled as "civicrm.mo". You can see the 'pot' and 'po' files in our github repository: https://github.com/civicrm/l10n/tree/master/po
Supported languages (civicrm-l10n.tar.gz)
In order to be included in the civicrm-l10n.tar.gz file, a language must reach 20% completion rate. If you have reached 20%, please let us know by posting in the internationalisation and localisation forum.
The easiest way to translate CiviCRM is via our Transifex project, a web-based translation tool and community.
Every day, around 9 AM US Pacific time, the strings are automatically fetched from Transifex and compiled into the "civicrm.mo" files that are used in CiviCRM. If you can afford this delay, it avoids having to download all the translation files and generating this file manually.
NB: if you wish to regenerate the civicrm_data.xx_XX.mysql files, you must use a development version of CiviCRM and re-run "GenCode". For more information, see Contributing to CiviCRM using GitHub.
Manually compiling translation files
See the i18n Administrator's Guide ("Updating your translation files manually using Transifex").
We strongly recommend using the Transifex web interface for translations. However, if your Internet connection is not reliable, or if you prefer to translate CiviCRM on your local computer, you can do this by downloading the files from Transifex using the command line tool, editing offline with an editor (see below), the sending the files back to Transifex as often as possible.
For the exact steps, see the i18n Administrator's Guide ("Updating your translation files manually using Transifex").
Once you have the proper PO files, you can use any standard Gettext tool to translate the contents (or edit it with any simple text editor). The most popular translation tools are:
After translating/updating the translation, you will need to compile it and place it in the appropriate directory of your installation (procedures in the preceding section). You can also contribute the translation back to the community by sending it to Transifex (using the command line tool, or by uploading the file in the user interface)
Localisation Code of Ethics
The goal of a localisation community is to develop a generic translation of CiviCRM that can be used in as wide a variety of organisations. There is no such thing as an ideal or perfect translation and there will always be a need for compromise on translations. Localisation communities therefore need to constantly work towards compromise on the one hand and possibly discussing specific translations for individual organisations or industries. The facilities that are available to support the individual translator or the translation teams will most likely provide the opportunity to develop excellent localised versions of CiviCRM.
If you'd like to do any work on CiviCRM localisation or have any feedback you'd like to share with us, it would be great if you joined our forum and checked out "Internationalization and Localization" forum board: http://forum.civicrm.org/index.php/board,10.0.html