treestyletab icon indicating copy to clipboard operation
treestyletab copied to clipboard

Use Crowdin (or similar) for translations

Open SammysHP opened this issue 6 years ago • 9 comments

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.

SammysHP avatar Nov 09 '19 20:11 SammysHP

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?

piroor avatar Nov 10 '19 06:11 piroor

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

SammysHP avatar Nov 10 '19 07:11 SammysHP

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.

piroor avatar Nov 10 '19 13:11 piroor

Until I successfully register TST's locales to GitTranslate, please update translations with the Web Extension Translator.

piroor avatar Nov 10 '19 13:11 piroor

@piroor are you still considering Crowdin or sticking with GitTranslate?

irvinm avatar May 09 '20 17:05 irvinm

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.

piroor avatar May 10 '20 10:05 piroor

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 avatar May 10 '20 10:05 piroor

@piroor did you still want to leave this one open?

irvinm avatar Jun 12 '21 20:06 irvinm

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.

piroor avatar Jun 16 '21 15:06 piroor