English is the default language of CiviCRM, but many translations are available. For example, Russian, Chinese, French, Dutch and Japanese are 100% completion (or almost). Italian, Danish, Spanish, Swedish, German and Portuguese are also very advanced. There are 64 languages and variants on Transifex at the moment of this writing.
Translating CiviCRM a very difficult and long task: there are many very specific terms and there are more than 15,000 strings to translate.
Another challenge, and this is the main topic of this blog post, is the challenge of reviewing translations to ensure wide community participation while still maintaining a high quality translations.
Having a common glossary for translators can help making sure translators use the same word consistently. It can also help language variants (fr vs fr_CA, spanish translations, etc) to try to merge as much as possible, but explain the differences.
For examples, see Translator resources in the wiki.
Anyone can signup for an account in the wiki, then create a new glossary. There is also an option to receive an e-mail notification when someone else has modified the glossary.
Reviewing changes with Git
Git is a revision control system. In other words, it tracks changes in a file. Since translations are exported as regular text files, we can manage them with git.
Git is a rather technical tool, so if you are not familiar with it, no need to. Translations are exported from Transifex to Github once per week (or more). When the changes are sent to Github, a script checks for the latest translator of the file and sets the "attribution" of those changes to the translator. In short, you can review in Github "who updated what, and when".
To avoid any confusion:
Here is how to review changes using the Github web interface: