schwabe / ics-openvpn

OpenVPN for Android
3.31k stars 1.19k forks source link

Weblate translations #1422

Closed comradekingu closed 2 years ago

comradekingu commented 2 years ago

Wondering if Weblate can be used instead of Crowdin for translations.

Crowdin has quite egregious terms and services, and it isn't a good tool.

In 9 years there are 5 languages with coverage, out of 42 translations.

Translations get held up because undoing drive-by translations needs +2 votes, as opposed to just being able to change things. This means languages with fewer translators suffer, and it is impossible to get to any meaningful level of consistency, because this is done for individual strings.

The "no" language code shouldn't be used, because it covers both nb_NO and nn_NO. It also doesn't work.

On Weblate it is possible to see multiple languages at once, and skip between an array of strings. There are also automated checks, a community, and all that good stuff.

Easy enough to set up on https://hosted.weblate.org/hosting/ Bubu also has an instance that offers gratis hosting for libre software.

schwabe commented 2 years ago

Almost 9 years ago Crowd.in looked like a good solution. In summary getting traction with translators is quite hard and for some languages I got people that I could mark as proofreader to avoid the +2 votes problem.

Moving to weblateis probably possible but that would (probably) loose also all the history etc from crowd.in and I would have to start fresh. So that is a step that I would not to do without clear benefit.

comradekingu commented 2 years ago

Be that as it may, it turned out to not be a good option. It is easier to attract libre software translators by using their tools. Having proofreaders does not mitigate a problem with voting, but rather creates one if it means locking strings. Crowdin doesn't do proper accreditation. You also can't rely on anything from there being better than anything else. Insofar as keeping the translations as they are, they only stand to be improved by being subjected to checks and users.

Move it over and I can help sort out the source strings :)

schwabe commented 2 years ago

We can try using weblate for just norwegian, so I can get a feel if it is something that is worth using or not. Does weblate allow using it for a limited number of languages?

comradekingu commented 2 years ago

@schwabe Up and running at https://hosted.weblate.org/projects/openvpn-for-android/ If you go through https://docs.weblate.org/no/latest/admin/continuous.html#automatically-receiving-changes-from-github I can fix the rest. Make an account and I'll add it as an administrator for the project. :) Just don't merge PRs for as long as you don't want changes making it in. I put in some strings for nb_NO Unfortunately Crowdin is a mess on all fronts, so those will not be used if merged, since Crowdin uses the erroneous "no" code, which covers both nn_NO and nb_NO.

schwabe commented 2 years ago

I added an account https://hosted.weblate.org/user/schwabe/

comradekingu commented 2 years ago

@schwabe Added you :) Adding the webhooks from https://hosted.weblate.org/guide/openvpn-for-android/strings/ I can't do on the Weblate side.

schwabe commented 2 years ago

I spend a bit more time with the weblate UI. But I struggling to find a way to import existing translations. Translating everything again is not a good idea anyway. Also I cannot find a way to change the license of the translations. The current settings of GPL 2.0+ is actually as it conflicts with the license of ics-openvpn itself, which is GPL 2.0+ with apache and OpenSSL exception, so basically currently the strings cannot be imported into this project this importing them would violate the license of the project.

comradekingu commented 2 years ago

Everything seems imported in https://hosted.weblate.org/projects/openvpn-for-android/strings/ (?) Do you mean fastlane info or other strings?

I removed the GPLv2+ license and stated what you said in "info" That should work with 6.2 in https://hosted.weblate.org/legal/terms/

Where is the actual license stated?

schwabe commented 2 years ago

The actual license is under https://github.com/schwabe/ics-openvpn/blob/master/doc/LICENSE.txt

I followed also the guide for setting up the webhook but it just gives an error. I thought that might go away and is temporary but it stays there:

image
comradekingu commented 2 years ago

@schwabe Is it "…/hooks/github/" ? https://docs.weblate.org/en/latest/admin/continuous.html?highlight=webhooks#automatically-receiving-changes-from-github

I think adding https://github.com/weblate to the org is otherwise a possible fix.

With https://github.com/schwabe/ics-openvpn/pull/1465/files and https://github.com/schwabe/ics-openvpn/pull/1477 I can start adding screenshots on Weblate.

schwabe commented 2 years ago

Yeah. Weblate also no longer complains that it is not working, so I guess that was something on their side. Anyway, the missing license now seems to be still a problem and I am getting mails that the project will be removed in 4 days. If the custom license of this project GPL2+ with OpenSSL and Apache exception + CLA agreement is not allowed on weblate, then I think I don't want to pay the normal monthly costs.

comradekingu commented 2 years ago

@schwabe I looked through the configuration and added a push address yesterday. The license shouldn't be a problem. A CLA isn't needed if you are willing to forego translations for incompatible license changes. It can be added though, but I advice against it since it is a hurdle to overcome for translators.

dsommers commented 2 years ago

Hey @comradekingu, as a fellow Norwegian I can help out with clarifying quite a few bits in the translations in the weblate project.

May I suggest a little meeting on IRC, where the OpenVPN community usually gathers? Most if what I've quickly looked (I've not looked through all), looks reasonable and good. But there are also quite some odd things as well (identifisering vs autentisering, PKCS12 vs PKCS 12, sette opp vs konfigurere, Subject DN -> DN-emne, to mention a few ones).

comradekingu commented 2 years ago

@dsommers I can join in late today, and tomorrow onwards. Feel free to add comments specific to the nb_NO translation there. (It is currently all over the place, and attemptedly follows http://i18n.skulelinux.no/nb/Fellesordl.eng-no.html ) There are some comments in https://github.com/schwabe/ics-openvpn/pull/1465/files Do point out mistakes and ask about anything there too :)

schwabe commented 2 years ago

@comradekingu I got another email that the weblate project will be removed tommorrow since it does not meet the requirements. I changed the license for the translation to something very liberal (1-BSD) to make them compatibel and avoid the "no license set".

Are screenshots reqired by weblate for the free host option? That seems the only item missing in the checklist

comradekingu commented 2 years ago

From what I remember that doesn't matter if the request is in. I backed up all the data and settings anyway. Mention in the README seems to be required, which is a bit of a chicken and egg problem here. Screenshots are not actually required. Makes sense to start with those once the strings are in good shape.

schwabe commented 2 years ago

Can you point me to the rules? I didn't see them.