Archives


Master Symfony2 fundamentals

Be trained by SensioLabs experts (2 to 6 day sessions -- French or English).
trainings.sensiolabs.com

Discover the SensioLabs Support

Access to the SensioLabs Competency Center for an exclusive and tailor-made support on Symfony
sensiolabs.com

Javier Eguiluz
Help Symfony reach 3 billion people
by Javier Eguiluz – January 17, 2014 – 11 comments

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.

Comments RSS

  • Dorian Villet
    #1 Dorian Villet said on the 2014/01/17 at 08:37
    What about the translations in the Security component?
  • Javier Eguiluz
    #2 Javier Eguiluz said on the 2014/01/17 at 09:05
    Dorian, thanks for your comment. I've just updated the blog post to also mention the Security component. I forgot it because it's very small comparing with the Validator component.
  • Oriol Mangas Abellan
    #3 Oriol Mangas Abellan said on the 2014/01/17 at 19:51
    Updated the validators.ca.xlf version, was my pull ok?
  • Javier Eguiluz
    #4 Javier Eguiluz said on the 2014/01/18 at 13:55
    Oriol, your pull request was perfect! Thanks for updating the Catalan translation.
  • Phan Thanh Ha
    #5 Phan Thanh Ha said on the 2014/01/20 at 07:37
    Just submit my pull for Vietnamese translation :)
  • Javier Eguiluz
    #6 Javier Eguiluz said on the 2014/01/20 at 14:49
    Thank you Phan Thanh Ha. Vietnamese was one of the most important missing languages and thanks to your work is now complete!
  • Guilherme Blanco
    #7 Guilherme Blanco said on the 2014/01/21 at 02:03
    Reviewed Brazilian portuguese translation and submitted 2 PRs:
    - https://github.com/symfony/symfony/pull/10090
    - https://github.com/symfony/symfony/pull/10091
  • Javier Eguiluz
    #8 Javier Eguiluz said on the 2014/01/21 at 07:37
    Thank you Guilherme for reviewing the translation and the pluralization rules! With 200 million native speakers, pt_BR is definitely a top priority language for us!
  • Steinar Engedahl Rossing
    #9 Steinar Engedahl Rossing said on the 2014/01/21 at 13:02
    I'd love to help out with the translation, but the language codes used for the Norwegian language variants are inconsistent in both the validator and security translations.

    They should be "nb_NO" for Norwegian Bokmål and "nn_NO" for Norwegian Nynorsk - or in ISO 639-1 respectively "nb" and "nn". How to proceed without breaking current implementations?

    Alternatively, what language code scheme are the translations supposed to be in? There seems to be three different schemes used in the Security component translations.
  • Joseph Bielawski
    #10 Joseph Bielawski said on the 2014/01/21 at 13:04
    Hmmmm, why Polish translation is not listed as "complete"? I'm always trying to make it most up-to-date =)
  • Javier Eguiluz
    #11 Javier Eguiluz said on the 2014/01/21 at 16:39
    Steinar, I'm afraid that I don't know how could you proceed with the required changes. I suggest you to open an issue at the Symfony repository explaining the problem and other members of the community will guide you to the solution. Please, open your issue at https://github.com/symfony/symfony/issues

    - - - - -

    Joseph, I'm afraid that there has been a misunderstanding. Polish is a very important language, but it doesn't belong to the "languages with more than 50 million speakers".

    The first part of the article is about the 20 largest languages in the world (+50 million native speakers). The other languages, including Polish, are listed in the "Additional translations" section. However, as Polish is up to date thanks to your work, it isn't displayed, because the table only displays the uncompleted languages. I hope that now everything is more clear :)