-
Notifications
You must be signed in to change notification settings - Fork 2.7k
Description
@kittens did the initial work to abstract the english parts away from Yarn so that they could be translated here: 19560c3
We also need to setup how to actually set the language. We can detect system locale fairly easily using @sindresorhus' os-locale package. Sadly this only returns a single locale and does not return levels of preference like browsers do (systems aren't designed for this).
We should also allow the user to configure their own locale (i.e. yarn config set locale xx_YY), having a way of displaying a list of available options would also be good.
Next we need a good workflow for shipping translations.
I'm going to setup crowdin to handle translations. I've used this successfully before for community moderated crowdsourced translations. I've automated the syncing of this before so I can handle everything here.
However, because things get translated asynchronously separately from releases I was thinking would could attempt workflow where translations can be updated independently from Yarn releases.
If we had a simple package that contains JSON files with i18n keys which was automatically synced with crowdin and published with new updates, we could pull down changes from the Yarn client and keep things working.
This would also allow us to improve messages in old versions of the Yarn client which would be pretty cool.
Thoughts?