Internationalization has been one of the pillars of the Symfony success since the very beginning. Besides providing tools to translate both the strings and the contents of your applications, Symfony itself is translated into a lot of different languages.

The 72 strings used by the Validator component and the 16 strings used by the Security component are currently translated into 37 languages. Some of these translations are incomplete or haven't been updated for a long time. For that reason, we are organizing a community initiative to improve the
internationalization of Symfony
.

Taking as reference the list of languages with more than 50 million speakers published by the Wikipedia, we've decided to focus first on the 20 most spoken languages, which collectively reach 3 billion people around the world. Here are the results:

Completed translations

These translations are considered completed, but you can always check if the grammar and orthography are correct:

Spanish (es) English (en) Portuguese (pt)
Russian (ru) Japanese (ja) German (de)
French (fr) Italian (it) Persian (fa)

Incomplete translations

These translations are in different states of completeness and they should be updated:

Mandarin (zh_CN) Arabic (ar)
Brazilian Portuguese (pt_BR) Turkish (tr)

Unavailable translations

The translation of Symfony into these languages hasn't been started, so we need the help of the community to bootstrap these translations:

Hindi (hi) Bengali (bn) Javanese (jv)
Vietnamese (vi) Korean (ko) Malay (ms)
Tagalog (tl)    

Additional translations

In addition to these widely spoken languages, Symfony is already translated into tens of other languages. The following table shows only the incomplete translations for which we are actively looking for translators:

Afrikaans (af) Bulgarian (bg) Catalan (ca)
Welsh (wy) Danish (da) Finnish (fi)
Hebrew (he) Croatian (hr) Armenian (hy)
Indonesian (id) Luxembourgish (lb) Mongolian (mn)
Norwegian Bokmål (nb) Norwegian (no) Albanian (sq)
Serbian (sr_Cyrl) Serbian (sr_Latn) Swedish (sv)

How to translate Symfony into your language?

The easiest way to update the translations is to access to the Symfony 2.3 Validator Resources/translations/ path and Symfony 2.3 Security Resources/translations/ path at GitHub and create or update your language file directly from the web interface (use the validators.en.xml file as the reference of the strings that should be translated).

If you prefer to work on the command console, follow these steps:

  • Prepare your environment to submit a patch to the Symfony repository as explained in this guide.
  • Switch to the Symfony 2.3 branch.
  • Locate or create the file for your language at vendor/symfony/symfony/src/Symfony/Component/Validator/Resources/translations/ or vendor/symfony/symfony/src/Symfony/Component/Security/Resources/translations/
  • Compare the strings of your language with the strings of the English language (validators.en.xml file) and add all the missing strings.
  • Complete your translation and submit it with a pull request.
Published in #Symfony