Hi everyone,
This is Andriy from Crowdin, a localization management platform.
I've stumbled upon the i18n tutorial below:
https://flarum.org/docs/extend/i18n.html#how-flarum-translates
The one should have quite good development skills, even volunteer who simply wishes to help with localization. You should know YAML / JSON syntax and single mistake can break whole file...
After reading tutorial, I've decided to prepare a basic demo project to illustrate how Crowdin can handle community translations 😀 Steps were the following:
1) The repo lang-english was forked to my GitHub account: https://github.com/Andrulko/lang-english
2) The demo project was created in Crowdin: https://crowdin.com/project/flarum-demo-project
3) Using GitHub integration, repository along with all branches was connected. The following configuration was defined: crowdin.yml
4) Existing Ukrainian translations were imported to the project.
That's it, community can start working on translations. Crowdin will automatically open a PR in GitHub with the latest translations: https://github.com/Andrulko/lang-english/pulls
Translators don't need to know YAML or JSON syntax. They will type simple texts and system will automatically surround certain translations with double quotes or escape special characters. No problems working with plural forms too. ICU syntax is natively supported (with nice preview), so you can translate plurals/genders easy:
https://support.crowdin.com/icu-message-syntax/
Any changes made for English files on GitHub will be automatically synchronized with Crowdin, so translators will get notifications about new strings within app/email/Slack.
You are welcome to submit any translations for the project to see how it works live!
At the same time, there is something about files hierarchy and I'm not sure how to solve it. At the moment, integration creates translated files with .fr.yml / .uk.yml endings. Will that that work for Flarum? Please see below:
Andrulko/lang-english1/commits/3b24663e954c0eeedc6ad4e12ecda587a503d51b
It is also worth mentioning that Crowdin is free for OSS and doesn't have any limitations on this plan. We strive to make localization as easy as possible for everyone, so truly hope the idea above sounds good! I'll be happy to offer any further assistance with setup and answer any questions in this topic!