Skip to content
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

Setup Weblate translations integration #78

Closed
1 of 3 tasks
hairmare opened this issue Mar 13, 2017 · 19 comments · Fixed by #1402
Closed
1 of 3 tasks

Setup Weblate translations integration #78

hairmare opened this issue Mar 13, 2017 · 19 comments · Fixed by #1402
Assignees
Labels
i18n This is affecting the translations infrastructure This is affecting the infrastructure is: documentation

Comments

@hairmare
Copy link
Member

hairmare commented Mar 13, 2017

I'm still torn about deciding to integrate 2e9583c from 2.5.x. There absolutely needs to be some automation to keep translation working and up and running, I'm pretty sure we have some russian customers that will greatly appreciate us not breaking this.

While transifex is free for opensource, it looks like http://zanata.org/ from redhat is actually the more libre way to go. I think our setup is pretty close to a podir config as per the zanata docs.

If no one has a better proposal (I would actually prefer a solution that allows github logins) I'll do some testing on my branch with real zanata and then open a pr when it looks ready.

  • configure zanata and push initial strings
  • push new strings to zanata using travis
  • pull translated strings into github repo and/or release tarballs

Fixes #107

@hairmare hairmare added the infrastructure This is affecting the infrastructure label Mar 13, 2017
@hairmare hairmare added this to the 3.0.0-alpha.1 milestone Mar 13, 2017
@hairmare
Copy link
Member Author

I set up a zanata for LibreTime and tested it by round-tripping some de-DE strings. It may be found at https://translate.zanata.org/iteration/view/libretime/master.

I have the maintainer tooling somewhat prepared on a branch and am looking into how we can automate this through travis. I'll also have to test the install a couple of times so I don't break anything.

For now the zanata is useable, but you need to ping me if you want any changes to be pulled back into the LibreTime GitHub.

@hairmare
Copy link
Member Author

This is raising some questions over here 😕.

  1. When should we push strings to zanata? After each merge to master or on each tag.
  2. When do we want to pull strings from zanta? Should they get auto committed?

I think legacy upstream had a cronjob or similar for pulling strings. Zanata has webhooks but I only see one for 100% translated events.

I'm not sure I'm a fan of auto committing, IMO preferably zanta would create pull requests so we can hold off if we are sure some bad strings slipped in. It might also make sense to just bake a zanata pull into the release tarball and to update strings in the repo manually right before regenerating and pushing new ones.

Also, should regenerating strings be part of a PR that touches such strings or do we bundle multiple string changes into one run of the gettext tools?

@hairmare hairmare added the i18n This is affecting the translations label Mar 23, 2017
@hairmare hairmare modified the milestones: 3.0.0-alpha.2, 3.0.0-alpha.1 Mar 31, 2017
hairmare referenced this issue in delennerd/libretime May 5, 2017
@hairmare hairmare modified the milestones: 3.0.0-alpha.3, 3.0.0-alpha.2 Jul 11, 2017
@hairmare hairmare modified the milestones: 3.0.0-alpha.3, 3.0.0-alpha.4 Oct 7, 2017
@hairmare hairmare self-assigned this Feb 6, 2018
@hairmare hairmare removed this from the 3.0.0-alpha.4 milestone Feb 11, 2018
@jooola jooola mentioned this issue Aug 18, 2021
29 tasks
@jooola
Copy link
Contributor

jooola commented Aug 18, 2021

Zanata seems not maintained anymore, I propose to use Weblate https://weblate.org/en/.

@jooola
Copy link
Contributor

jooola commented Oct 14, 2021

@hairmare Could you please tell what progress was made on this issue ?
You have been assigned to this for a while now, I would like to pick it up.

Some progress is already in #1398

Are there any translation that needs to be merged from somewhere ?
I think it has been a while since the po files didn't get updated, any reason why ?

I am going to request a free project hosting on Weblate, do we all agree on that @hairmare @Robbt @paddatrapper ?

Once weblate is properly set, I would like to setup a CI job that propose a PR once some translations has landed in Weblate.

@paddatrapper
Copy link
Contributor

Weblate looks good to me

@jooola jooola assigned jooola and unassigned hairmare Oct 15, 2021
@jooola
Copy link
Contributor

jooola commented Oct 15, 2021

I created the project here https://hosted.weblate.org/projects/libretime/

The weblate admin will only have to approve our subscriptions as an open source project within a week, for now we are only on trial.

I can now upload the locales to weblate once we scanned the source files again.

@jooola
Copy link
Contributor

jooola commented Oct 15, 2021

I don't know who has an account on weblate, but I am happy to promote anyone as maintainer once I have your account name or email.

@jooola jooola changed the title Problem: no easy way to update translations Setup Weblate translations integration Oct 15, 2021
@jooola
Copy link
Contributor

jooola commented Oct 15, 2021

I will need one of the repo admin to enable the Weblate App https://github.com/apps/weblate So weblate can pull and push changes from the repo. More details here https://docs.weblate.org/en/latest/admin/continuous.html

The idea is to let Weblate automatically pull changes from github, notify translators, and open a PR when some translations are available.

@paddatrapper
Copy link
Contributor

Does the integration need to be enabled before or after #1402 is merged?

@jooola
Copy link
Contributor

jooola commented Oct 16, 2021

The integration can be added anytime, I haven't configured any translation component yet.

@jooola
Copy link
Contributor

jooola commented Oct 16, 2021

#1402 Is actually a cleanup/update PR, I'll rename it. But it is required before I can configure the translation component on Weblate.

@paddatrapper
Copy link
Contributor

The integration is installed

@jooola
Copy link
Contributor

jooola commented Oct 16, 2021

Cool, I imported the new legacy component in Weblate. I will be able to configure automatic pull request pretty soon.

https://hosted.weblate.org/projects/libretime/legacy/

@jooola
Copy link
Contributor

jooola commented Oct 16, 2021

We still have some alerts to fix https://hosted.weblate.org/projects/libretime/legacy/#alerts

Does the weblate app have few buttons to turn ? I don't have access to the app. So I am asking.

@paddatrapper
Copy link
Contributor

I have configured the webhook, added translators note and uploaded 2 screenshots

@jooola
Copy link
Contributor

jooola commented Oct 17, 2021

Cool I'll try to find a way to fix the latest issue, but I can't seem to find why this last alert is still here.

I don't know how we want to proceed, but now that the translation integration is open, we should decide how we want to handle translations PRs.

Do we review them ? De we let them sit a bit before merging, or do we simply do a quick review and fast merging ?

@paddatrapper
Copy link
Contributor

I've been giving them a once over, but I can't really do review on anything except English, Afrikaans and a smattering of Dutch. Perhaps letting them sit for a couple days is a good idea

@paddatrapper
Copy link
Contributor

We also need to add translation guides to the various documentation points

@jooola
Copy link
Contributor

jooola commented Oct 17, 2021

I know Weblate is able to improve the quality of the translation by adding extra steps before accepting a translated string.

A string could require at least 2 translator to verify it in order to make it a accepted. Only then will it be pushed to Github.

Right know, I think any Weblate translator is able to contribute to the translations, this is awesome, but might be risky if those translations are accepted right away.

Also I noticed that a lot of strings are split into multiple chunks, which is a really hard way of translating as you get to translate chunk after chunk.

Ideally, new code will have to use string templates and not string concatenation.

Yes, regarding the documentation I'll try to refresh the existing one and add some key points in a PR.

@jooola jooola closed this as completed Apr 14, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
i18n This is affecting the translations infrastructure This is affecting the infrastructure is: documentation
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants