Use Crowdin (or similar) for translations
Currently updating the translation is a manual process in most parts. While you can spot new strings relatively easy with a diff, changes in strings are very hard to detect.
Would it be feasible to use a service like Crowdin to manage translations? Once the strings are uploaded they can be fetched via a script and converted into the JSON format. When a string changes upstream and is merged with Crowdin, it will be marked as invalid (and new strings are marked as new, of course).
Initial setup takes a while, but it might be worth the effort considering the huge number of strings in this project.
I've tried the Crowdin and the Transifex and I've realized that it requires payment when I host my project on those services. Thus instead I've wrote an instruction to translate with the Web Extension Translator. Please see: https://github.com/piroor/treestyletab/blob/master/webextensions/_locales/README.md#translation-on-a-web-service The Web Extension Translator looks enough powerful for this usecase. How about it?
Both are free for non-commercial / open source projects.
https://crowdin.com/page/open-source-project-setup-request
https://docs.transifex.com/projects/open-source-project
Oh, thanks! I missed those information because I became intimidated from the message "free trial" shown at the top of pages when I tried to create a project.
And I studied about automation between GitHub repositories and those services with this article: https://qiita.com/wadahiro/items/53f50df7241dc7d61d0c (note: written in Japanese.) The article says that Crowdin can push changes to GitHub but there are some limitations, and Transifex doesn't provide any such mechanism so I need to setup a relay server to connect them. GitLocalize looks easier to start using, but sadly I couldn't understand how to set path rules for webextensions/_locales/%lang%/messages.json... I tried to access https://gitlocalize.com/repo/3459/ja/webextensions/_locales/ja/messages.json but it is 404.
Until I successfully register TST's locales to GitTranslate, please update translations with the Web Extension Translator.
@piroor are you still considering Crowdin or sticking with GitTranslate?
Sorry I forgot to continue testing of helper services.
After retrying I've realized that GitLocalize is now completely available to translate resources. Here is an experimental pull request made by me: #2581
On this experiment I've realized that all locale entries are sorted by GitLocalize even if such a change is unnecessary. In this PR I've done just one change about the entry extensionName. So I won't use this for translation by myself, but I'm positive to use it for other translators.
https://gitlocalize.com/repo/3459
If someone hope to translate TST with GitLocalize, please contact me. I'll add you to a moderator.
I've added languages corresponding to existing locales. zh_TW and kr are still missing for now because I couldn't find out those language codes from the list...
@piroor did you still want to leave this one open?
I've tried GitLocalize again https://gitlocalize.com/repo/3459 and it still looks to have some troubles. After I successfully synchronize resources on GitLocalize, I'll close this.