Everything is in the title really. It’s currently not so easy to keep track of the English version changes and additions, and to assure a consistent translation. Having a fitting interface to do so would be welcome.
TranslateWiki seems like the go-to place for free software projects, but there are probably solutions I haven’t heard of. Transifex is nice too but non-free.
elementary OS just switched from Transifex to Weblate:
https://medium.com/elementaryos/adios-transifex-weve-gone-to-weblate-59870dea06b2
Ah yes, Weblate sounds good too, and we could have our own server just for Mastodon (which would be more costly than Translate Wiki though). We just have to check if it’s compatible with Mastodon’s language files.
+1
And I really don't care which translation tool is used. Now it is almost unworkable, especially with more people. And this will get worse.
Personally I prefer Weblate too. They usually provide better plural checking and stuff than TWN does, but I am not quite sure about how these work out with Ruby i18n files. The current status is indeed unworkable.
Ah and yes, they do support Ruby YMLs. Since jsx are a bit too customizable, I don't think they are supporting it as a translation format. (You won't want bots to auto-push arbitrary executable code into the repo either.)
Cool. TranslateWiki seems to support both Javascript and YAML.
One tricky thing is to actually reference the translation files. You still have to manually add the references in Ruby and Javascript when you add the language.
Crowdin was also suggested here: https://github.com/tootsuite/mastodon/issues/950
I am expecting JSX files to be the biggest obstacle here, as most translation platforms don't and won't want to involve dealing with executable code. (Fancy things are actually done in zh-hk
and zh-cn
, so well...) It may be possible to separate the localization object into a JSON file and do some preprocessor magic to include the JSON objects into JSX at build time though.
Most platforms require project admins to manually enable a language, so referencing should not be a big problem.
I am also somehow concerned with how things would handle Ruby rails-i18n YML pluralization. Instead of treating the one
and other
items separately, the webservice should be able to see they are one object and allow one to write as many or few plural form as the target language does. (https://github.com/translate/translate/issues/3615)
Related to #1742.
Working on something here: https://github.com/thor-the-norseman/mastotran
Ah yes, Weblate sounds good too, and we could have our own server just for Mastodon (which would be more costly than Translate Wiki though).
@nclm
weblate.org also offers free hosting for Free Software projects at https://hosted.weblate.org/
I really would appreciate such a web based translation tool because it makes translation accessible to non-developers. Additionally it would prevent double work because two people translated the same strings. 😉
@nclm @davidak @benediktg @thor-the-norseman @Artoria2e5 @ashfurrow @yookoala @jeroenpraat
What about POEditor?
@LNDDYL POEditor is no free software, so we would be dependent on them.
I would go for Weblate :-) I'm using it on a daily basis, for me a clear recommendation
weblate looks pretty good, and it should be pretty easy to set up a free account without doing too much work.
Isn't there something that is not a centralized, third-party service? Do we set up our own weblate instance?
Weblate can be hosted locally, but as a lazy person with an account on https://hosted.weblate.org/ I don't see many reasons to do that…
I'm going to look into setting up a weblate instance this week, and seeing what kind of configuration will work well for the mastodon project.
@nightpool What’s your status?
I'm not @nightpool, but i can confirm that Weblate was deployed a while ago. Unfortunately it isn't updated anymore since Mastodon v2.1.0 with new strings and also not merged with the master anymore.
For your information, I will cease working on the German translation as long as this is not fixed.
I've been trying to merge the translations from time to time, I've merged after 2.1.0 when I noticed that the pt-br translations had not been picked up. It's been a few days since I merged, though, on #6228
Could a GitHub hook be implemented for this, please, so that Weblate automatically gets updated?
@gandaro the problem isn't the hooks, it's that weblate reformats all the source files and causes tons of conflicts with other translators.
Why does it cause conflicts with other translators? Because other translators don’t use Weblate? Are there other problems? It should be possible to tell translators to stop editing the translation files directly.
When I amended the German translation, I noticed the following.
For instance, a string called hello:world
was added to the source file. A German translation was added, too. But later, the same string was changed in the source file. To check whether there is a translation for the source string, you cannot simply check if there is a string called hello:world
in both files. You need to check the version history: when was the last time that the string was updated in the source file, and when was the last time that it was updated in the translation file?
Does Weblate correctly deprecate translation strings?
We've got weblate now: https://weblate.joinmastodon.org
What happened with the weblate?
We've got Crowdin now: https://crowdin.com/project/mastodon
(Weblate wasn't good)
What is not good about it?
Most helpful comment
I'm going to look into setting up a weblate instance this week, and seeing what kind of configuration will work well for the mastodon project.