Magento has always been used around the world with the community providing translations for different locales.
With Magento 2 this is no different and the translation efforts can be found on Crowdin. What is less obvious is how do you actually use those translations? When installing Magento 2 the following language packs are installed out of the box:
- language-de_de
- language-en_us
- language-es_es
- language-fr_fr
- language-nl_nl
- language-pt_br
- language-zh_hans_cn
For any other languages we are unfortuntately sent on a wild goose chase. Let's say for example we would like to add Italian. The devdocs for adding a language point us to a category on Marketplace. To my surprise searching for Italian only brings up a commercial offering with less than flattering reviews.
Found them
Fortunately for us Magento's community engineering team is turning the Crowdin translations into installable translations packs. Those efforts can be seen under this Github account. And what is even better those packages get in turn published via Packagist.
The complete list can be viewed here.
The package name follows the format
"community-engineering/language-" + strtolower(name of locale)
So for our Italian example we would have:
composer require community-engineering/language-it_it
bin/magento cache:clean
And after changing the locale of the admin ui in the admin user's setting we are welcomed with a dashboard in Italian: