New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
FR: Switch internationalization to Weblate #3754
Comments
So I was asked to provide a workflow example, so here we go... I'm using Weblate for the Monkeysign project. There is this web interface where people can sign in and contribute translations. Say I spoke German, I would go to the german translation page and hit Once a translation is done, it gets committed into git, in a repository that is publicly available. The main developers (ie. me) will, before a release, pull from that repository and merge it in the release branch after a summary review. One thing I find annoying there is that some "empty" translations sometimes shows up: a translator would come to the project and start a (say) Russian translation but never translate any string. Or we'd have partial translations like Ukrainian (3 words?!). It's harmless, but there's a When new code is pushed to the main Monkeysign repository, there is a (web) hook that tells Weblate to pull changes. Weblate merges those in and will notice new strings needing translation and update the web interface accordingly. Strings can also be translated using normal po tools by editing the files directly in the normal git repository, which was a requirement for us: we didn't want to depend on a web interface. There's also a commandline client to operate the weblate repository from the commandline. From there you can list projects, translations, download translations and so on. I'm happy to answer any other question you might have about Weblate. Apart from that one annoyance I've found above, weblate has served us very well. It mostly stays out of the way while allowing people to contribute translations fairly easily, and the web interface is always getting better. All the translations we have of Monkeysign (except a partial french translation) come from Weblate users. You can host your own weblate instance or you can ask to be hosted for free, since this is a free software project (although they welcome donations). Here are their hosting plans. |
Our budget is about €15. It'll have to be the free option. :-) @cramoisi Mentioned how it can be difficult to get a proper overview of where strings are. It doesn't look to me like Weblate gives any more context indications than Transifex. Is that correct? (I do think it's presented clearer in Weblate.) |
I think this issue is known, documented in: WeblateOrg/weblate#1801 Basically, the "source string location" would need to be expandable somehow. Would it be sufficient if it would be link to a web view of the git repo, for example? Or should it be inlined in the web UI? |
Sounds fine to me, but @cramoisi raised the point. :-) But like I said, it's not positive or negative as far as Weblate goes. It's roughly the same as Transifex. |
It's because I'm much into "I will translate this menu and then this plugin (which is attached to this plugin), etc." A more visual approach, in fact. It's hard to see how the strings will bring together something coherent. But it's easier now that I have build a test environnement :) (anyway, where can we discuss some relevant - or irrelevant- points about traduction ?) |
FWIW, that specific issue was fixed upstream. |
Thanks to <koreader#5237> we can now extract the knowledge currently embedded in Transifex and put it directly in our source. This positively affects <koreader#3754>. Translation instructions and knowledge that comes out of localization-related questions should be preserved in the source, because Transifex is too ephemeral. For example, the links from <koreader#2290> are no longer accessible. Even when they are, it's quite useful to have this information around while dealing with the code as well, and I also hope it'll be informative to contributors who seldom visit Transifex. This commit also makes a few minor changes to obviate the needs for comments where possible.
Thanks to <#5237> we can now extract the knowledge currently embedded in Transifex and put it directly in our source. This positively affects <#3754>. Translation instructions and knowledge that comes out of localization-related questions should be preserved in the source, because Transifex is too ephemeral. For example, the links from <#2290> are no longer accessible. Even when they are, it's quite useful to have this information around while dealing with the code as well, and I also hope it'll be informative to contributors who seldom visit Transifex. This commit also makes a few minor changes to obviate the need for comments where possible.
Just a quick update to keep you guys apprised. I've contacted Weblate and they say they'll be happy to host our translations. Unless I'm overlooking something, that means:
|
@Frenzie: Does that mean fetch translations without a token?. I would love to see the fdroid package finally translated. 👍 |
Yeah, because the translations would just live in the repo. https://docs.weblate.org/en/latest/admin/continuous.html#lazy-commit I could maybe make that work with Transifex too but it seems a bit focused on keeping the translations on Tx. https://docs.transifex.com/transifex-github-integrations/github-tx-ui Of course I could also do it manually through a GitLab CI trigger or whatever but it seems overall more convenient this way. |
Did a quick look at weblate. Amazing. To move users to weblate it could be nice to add a new resource with a string "migrated to weblate, read more on https://github.com/koreader/koreader" and don't update other resources anymore. Ofc, if some new contribution happens on transifex that's not available on weblate we can merge it manually |
Apparently Weblate needs the translations in the repo before it can be set up. References <koreader#3754>. Also see <koreader#2040 (comment)>.
Apparently Weblate needs the translations in the repo before it can be set up. References <#3754>. Also see <#2040 (comment)>.
Apparently Weblate needs the translations in the repo before it can be set up. References <#3754>. Also see <#2040 (comment)>.
Until Weblate is set up I'll just leave Transifex as it is. An update should about as simple as |
I just received notice that Weblate is now up and running. I'll probably let it slide for the December release but this ticket will finally be able to be closed soon. |
Related to 49f06f8 and koreader#3754
Closes koreader#3754. Adds an automated source file push to the koreader/koreader-translations repo and a cute little badge.
Closes #3754. Adds an automated source file push to the koreader/koreader-translations repo and a cute little badge.
I uploaded @pazos' suggestion to Transifex, disabled the Transifex push in 49f06f8, and Weblate is now fully operational. So everyone can head over to https://hosted.weblate.org/projects/koreader/koreader and start translating! ;-) I'm already really happy about Weblate, because now many issues with spacing are automatically signaled to translators. The quality of the translations has already improved in the past few hours thanks to Weblate alone. Text on Transifex |
Thanks to Weblate, see koreader#3754
Thanks to <koreader#5237> we can now extract the knowledge currently embedded in Transifex and put it directly in our source. This positively affects <koreader#3754>. Translation instructions and knowledge that comes out of localization-related questions should be preserved in the source, because Transifex is too ephemeral. For example, the links from <koreader#2290> are no longer accessible. Even when they are, it's quite useful to have this information around while dealing with the code as well, and I also hope it'll be informative to contributors who seldom visit Transifex. This commit also makes a few minor changes to obviate the need for comments where possible.
Apparently Weblate needs the translations in the repo before it can be set up. References <koreader#3754>. Also see <koreader#2040 (comment)>.
Closes koreader#3754. Adds an automated source file push to the koreader/koreader-translations repo and a cute little badge.
Thanks to Weblate, see koreader#3754
Issue
According to @anarcat it could simplify and improve certain aspects of the workflow. This issue is to track ideas and requirements.
#2621 (comment)
The text was updated successfully, but these errors were encountered: