-
Notifications
You must be signed in to change notification settings - Fork 223
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
Using Weblate for translations #2758
Comments
Not a fan of mixing App related stuff in the website repo. We could probably re use it, but probably it would be better to have them at a shared place. Other repo, … |
I‘d certainly be ok with that even though it might mean a change in the workflow and maybe the release process. |
Ok, so I've gone ahead and created a Jamulus project on Weblate here. The app files have not been added, only the website files are there for now. It will be in trial mode for two weeks; we have within that period to request libre hosting, but before I do so I'd like to get the thumbs-up from all the main devs if possible. These are the requirements (I don't think we have any problem meeting them):
Also: we have to enable a webhook on the repo so Weblate can keep files updated. I can do that but just so you know. Some READMEs describing the translation process would also need updating (pretty much simplified, I hope). |
@jamulussoftware/maindevelopers vould you please approve/comment on the use of weblate? They need our OK. |
Oooh, it'll make reviewing things easier if the reviewer is allowed to mark things like the (Interestingly, the default is that Can the project be "Protected" whilst in "demo mode"? I guess it'll take a little readjustment for those familiar with the existing translations process to get acquainted with the new UX but it looks pretty nice to me (as I won't have to start installing a bunch of tools to make reviews easy). (That's a "Yes, subject to it being as good as it initially looks.") |
I don't think strings can be marked as "non-translatable" in .po files other than via a comment that has to be added to the relevant string (it can be done to any language in Weblate and the comment is visible in all other languages). In any event, I don't think this has proven to be an issue up until now - translators have generally managed to identify strings that do not require translation. The checks are informative and do not actually block a translated string from getting published. They can be customised by adding/removing them from a list or by creating your own. I haven't really explored them that much but I think it can be potentially interesting.
I've locked it while things get set up. Hadn't found that before ;) I think the main advantage is the removal of all the GitHub kerfuffle for translators. The UX is like Poedit on steroids but fairly easy to get used to. A thing to watch out for I think is how easily (or not) conflicts arise and how to pace merges of PRs coming in from Weblate. It kind of encourages a "rolling release" model where translators log in and work away at stuff at their own pace - unless we lock it in between freezes. There was talk recently about a website update at some point in the near future - it would be a good chance to test it out. |
Nice to read. Can't wait for the repo to be unlocked for translation! |
@ignotus666 Thanks for leading this effort! I'm OK with it, so YES for Weblate from me as well. Personally, I hadn't heard about Weblate before. I'm always a bit skeptical about introducing more reliance on "free" services (we already rely heavily on Github, of course), but I guess it's fine in this case as other notable Open Source projects do rely on Weblate as well. It also seems that multiple active translators do like that change so I guess it's mainly their votes which should be heard! :)
Such a fall back or secondary path is always good to have. :) |
It is also ok for me to use weblate. |
This seems to be my cue to start a pt_BR for website as well :) Looking forward for it |
There's just a couple of things that need doing first (didn't have time today...) and then we should be good to go. @melcon that would be great! Also to test how adding a new language works out with weblate - make sure you open an issue first as explained here. Just open the issue and disregard everything about forking and PRs as that shouldn't be needed any more... hopefully! |
@ignotus666 I think the only problem I see with the PR from Weblate is that our E-Mails are exposed now. I think that should change - we might want to open an issue on the weblate repo. |
Actually, there's an issue on the weblate Repo: WeblateOrg/weblate#6508 |
Yes. While that gets addressed by weblate, maybe we could have a script that deletes that line or replaces it leaving the email empty. It'll still be there in the commit history though... |
Unless we do nasty force-pushes... |
Does this "big" issue still need to be open or can it be closed as "done" and any problems with Weblate addressed separately / through discussions / other channels? |
I think it should probably stay open until we have set up weblate for the App too? @ignotus666 would you say it’s feasible to set up weblate for the app repo too? |
It'd be great ! |
I've set something up, but it still needs some investigation |
Looks nice to me. Guess we need something for the windows installer as well. |
I've installed weblate.git.squash |
Ok. Windows installer is also set up partly. We might need to rename the .nsi files to fit to some standard. |
@ignotus666 I think now I know why I'm still not 100% happy with the commit message on the website: It should follow imperative style: "Update language web translation from Weblate" See https://www.theserverside.com/video/Follow-these-git-commit-message-guidelines |
How can I change the commit message for all components at once? |
We also have to look at why it forked from my repo. We might need to merge what we have, delete the component and try again. |
I'm going to all components and change the commit message manually now. |
Ok. Done. |
@ann0see did you enable the webhook on the main jamulus repo? |
Yes |
Ok. Just wondering if it had to do with the mysterious fork. It was activated on my repo (from when I did the testing) though I don't know how it could be related. |
@henkdegroot there's a NSIS to .po file script on the NSIS wiki: https://nsis.sourceforge.io/Creating_language_files_and_integrating_with_MUI#Another_solution:_Native_PO_File_support Edit: Probably the script is here: https://github.com/multitheftauto/mtasa-blue/tree/master/utils/localization |
Can someone explain where the translation text shown in Weblate is sourced from? I just did an lupdate local and got 1 untranslated string (Korean from the util.cpp). EDIT: Hmmm...looking more closely at the Weblate information, it does seem to use the .ts file. So I would say it would help to update the ts files more often, unless you want to wait for a string freeze or something like that before you accept any translation work. |
I came across that as well, thought it was a bit overkill for this....but from a translation point of view might be worth doing. |
There should be a comment in the translation source saying what each value is. Does Weblate show that comment? (Qt |
If it has a comment, it will show the comment. (Screenshot of Source string screen, should be also in the translating page as well)
There is a comment property in the designer to fill. It will look like this if we fill that property: Lines 229 to 235 in 73ba38c
|
Now that the app translation files have been added to Weblate, the translation instructions on the main repo should be updated. The approach for the website translations has been to recommend Weblate but leave open the option of making PRs. We assume that someone preferring to submit a PR knows what they're doing so don't provide detailed instructions. @softins created a superb guide that should probably be kept somewhere, but translation instructions can now practically be shortened to "log in to Weblate and translate your language", which I think makes it more accessible. Then there's the issue of adding new languages. It's simple enough for the website as it's all automated, but I think it's not as straightforward for the app translation (I'm not too familiar with the specific steps beyond creating new .ts and .nsi files). Maybe we could explore the possibility of at least automating the creation of these two files similarly to how it's done on the website (the translator opens an issue with the language code in the title, and an admin adds a specific label that triggers the file creation) to keep things coherent across both repos and make it easier for translators? |
Pasting a few notes for adding a new .ts file here: Adding a new language to Jamulus
|
Adding a new language to the installer:
|
Typo. |
My big problem is how much of a hurdle this is to get a translation started. I imagine either Weblate has some post-script to run, or it can be added to the CI/CD to add the rest of the files.
From assumptive memory, I think CC-BY-SA-4.0 is only compatible with GPLv3(+), so a hmmm there.
|
@comradekingu I'll try to address some of your points.
I might be missing something, but I can't see how Weblate can create .ts files for a new language. There's more involved than just that (see ann0see's post above).
|
That's only true for the time between the merge of the PR containing empty .ts files and the merge of the PR containing your translations from Weblate |
Privacy and spam. |
I believe the Weblate process should be a bit further integrated in the release process. Here some thoughts (hoping most of them can be automated) :
This is also to prevent doing the work twice...as without the PR, it will be complex to get my translation tested in the app and website. If the PR exists, then you can download/clone the PR and test using that. |
I did that. Feel free to open a PR on the website with a suggestion to the release process (If it's not added yet)
This should be part of another separate issue, I think.
Not sure if I understand this correctly. Could you please elaborate? We have jamulussoftware/translators? |
Closing for now, as we should open separate actionable issues. |
Originally posted by ignotus666 July 26, 2022
@jamulussoftware/maindevelopers @jamulussoftware/translators
In #2675 the use of Weblate for translations was proposed. It basically means moving the translation process to an online tool where translators can login, do their work, and need not worry about using GitHub, PRs, forks, etc. as Weblate can be configured to take care of that, removing what is often a big barrier. If you’ve never used GH before and are not technologically minded, just reading through the TRANSLATING.md file is enough to make you faint. With Weblate, that document could practically be reduced to “Log in to Weblate, click on a doc and translate it. The End”. If for whatever reason a translator prefers to continue using the current workflow, there is nothing stopping them – no one would be forced to use Weblate.
So far the response by translators to the proposal has been positive. However, such a move would involve some changes on the admin side, mainly:
All in all, this would vastly reduce complexity for (in particular new) translators, but would require some changes, mainly on the main repo. For the website repo, aside from how PRs are submitted, it would be quite seamless. An option could be to first use it for the website docs and over time include the app stuff (and meanwhile explore in more depth the best way to go about it).
BTW: In order to qualify for free hosting, one the requirements is that the main devs give the go-ahead to use Weblate. I'm not sure how that happens but saying so on this thread (so it can be later linked back to) might suffice. Once the project has been created, we have 14 days to actually set it up - and once that's done we submit a request for libre hosting.
Anyway - please share your thoughts, questions, etc.
The text was updated successfully, but these errors were encountered: