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:
Incomplete translations
These translations are in different states of completeness and they should be updated:
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:
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/
orvendor/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.
What about the translations in the Security component?
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.
Updated the validators.ca.xlf version, was my pull ok?
Oriol, your pull request was perfect! Thanks for updating the Catalan translation.
Just submit my pull for Vietnamese translation :)
Thank you Phan Thanh Ha. Vietnamese was one of the most important missing languages and thanks to your work is now complete!
Reviewed Brazilian portuguese translation and submitted 2 PRs:
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!
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.
Hmmmm, why Polish translation is not listed as "complete"? I'm always trying to make it most up-to-date =)
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 :)