The old Transifex thread (was: Translating Syncthing)

In general I think the site is quite fast, but you’re right, switching strings is a bit sluggish at times. There is a “Zen” mode where you get input fields for several string at once, which should mitigate this.

Actually they do?

Yes, roughly that. For making it work in parallel with Transifex, that side needs adjustments so it can pick up translations from the repository which have been done elsewhere. Weblate does it alright, but for Transifex we’d either need to configure Git integration to pull changes, or push complete updated JSON files per language (after possibly manual merging - so not a long-term solution). Neither of which I have access to do.

The “link to Weblate everyhwere” part is actually easy - we don’t have any reference in the docs about it, only this forum topic. (Grep tells us about transifexdl/ in the repo folder structure, but that is actually outdated.)

That’s already configured by now and blocking individual users is possible at any time.

Unfortunately no, the “review workflow” is an all-or-nothing opt-in configuration. It has the unwanted side effect that users not explicitly added as reviewers cannot edit strings that are marked as “approved” (Weblate terminology). So we would be back to people speaking up on the forum in order to be granted the reviewer role manuall, which @calmh wants to get rid of. Enabling the review workflow only for specific languages is not possible, but of course if we keep it enabled, reviewers can be assigned for specific languages.

If we skip on the review workflow completely, we won’t have any “approved” state at all, but tags could still be assigned to individual strings, such as “needs-review” maybe. I guess the reviewed flag is not very important information, and we don’t judge anything based on the reviewed level. So to get started, I propose to simply drop the whole review thing and when we have regular contributors on Weblate, we can still enable it in a year or so, promoting any previous contributor to reviewer automatically.

Gaha, I am getting hasty: Apparently I didn’t wait the ~1s necessary for them to appear.

I actually didn’t mean in parallel like that, just setting it up and excercising all the steps while not actually using weblate yet. Do you feel like we need to have it working in parallel? Seems to me a hard switch should be ok.

Looks like their pretty rare indeed, here’s one: syncthing/CONTRIBUTING.md at main · syncthing/syncthing · GitHub

And yeah, no review as already discussed seems fine to me.

Oh ok. Of course, that’s the easier route. Just so far I got the impression that a hard cut retirement of Transifex (at least the GUI component, Android would need migration in a next step) was seen as too rough on our translators. But fine with me.

I do have the Weblate stuff running for a while now and already handled some string additions, conflicts with stuff from Transifex, a complete re-import of everything in two stages (to get the “reviewed” status from Transifex carried over). And I have some advanced tooling to ease the string download of a “final” state from Transifex in place, could share that if anyone’s interested. On Weblate’s side, much can be done via Git itself, so I feel confident to fix any upcoming issues.

To make the final switch, we basically need to merge the infrastructure bits, adjust documentation, and point Weblate to the upstream repo after manually getting the translations synced once (otherwise would probably mess up Weblate’s database).

Would you @imsodin like to be added to the admin group so you can look at more available options, or experience the regular translator’s view some more?

It is harsher - if the through parallelism is doable respectively something you’d be willing to manage for some time, that might be nice. Then again we eventually will switch and I expect people that will be taken off guard by such a change will also be taken off guard if given 6 months to try it out (because they don’t). So we might as well just announce the switch, but don’t do it yet and tell translators to go get set up and try out weblate. And then a while later do the hard switch.

I don’t think I’ll do much on the transifexweblate side, both from a normal contributor standpoint and if possible also from an admin standpoint. Just for redundancy’s sake it’s probably good to make as many maintainers that end up there admins.

What exactly do you mean by “hard switch”? Stop automatically pulling from Transifex? Lock it so no strings can be edited there anymore?

I could manage to merge remaining changes coming in through Transifex for a while, manually. Unless there are conflicting translations of course, which might happen if some contributors do switch while others keep working on Transifex. Worst case would the the Transifex automation overwriting (undoing) changes made through Weblate, so that’s the first step to any cut.

You mean Weblate here? I totally agree regarding the redundancy. I wouldn’t want to be the only one technically able to access it.

1 Like

I got this from Weblate, I assume it also went to other people? This might be something we need to incorporate into the workflow somehow, though I don’t see how or why it should happen. I guess something was changed in Weblate and then also in the repo (via transifex)?

That was me trying to keep up with upstream (Transifex) and there was a conflict in the French translation. Updates are now starting to come in through Weblate for some languages, so we should consider moving ahead with this sooner than later. I’m planning to prepare a PR soon to propose the actual remaining changes we need, in addition to disabling the Transifex pull cronjob.

Stuff like this won’t happen in the long term, mainly an indication of me working on merging the two sources now and then.

1 Like

So, I got a bit side-tracked by Real Life, but finally got around to make a PR with a concrete plan for the transition. Feel free to chime in there with technical details, or continue the discussion here for questions about how to use this in the future.

1 Like

Just to confirm, we should only use Weblate from now on, right? Is it completely fine not to look at Transifex anymore (except for the Android app translations)?

1 Like

This is my understanding.

Yes, please use Weblate from now on. I hope to publish the announcement today and make it “official”. @calmh, would you like to post it or should I?

Post away, this is your baby. You can use the #announce category and I’ll pin it. (Keeping in mind the announce category has specific restrictions, namely that most people cannot create new topics in it and you need to be TL1 to reply there; a new user cannot sign up and immediately participate in an announcement topic. So don’t use that topic to call for people to post about issues etc, or if you want to do that, just post it in #general or #dev instead.)

We can link to the topic from here, I’ll unpin this one.

1 Like

7aihff

3 Likes

Thanks! This is the new announcement:

Maybe better to move it to the Development category then (which I can’t). We can add another one under Announce just pointing to the change.

Oh and thanks for the nice pic, I didn’t know I looked that handsome, but really close :wink:

1 Like

Traditionally, this is now the time when everyone starts to voice their opinions about Transifex being better and why didn’t we discuss this change before doing it…

1 Like

Absolutely, please do keep that coming!

Or maybe have a look at Weblate first to gather some ugliness and actual arguments. Or just get carried away and notice how much better it is. Whatever, please speak up and remember that for a transitional period of a few months, I will still monitor Transifex for updates and pick them up manually. But not forever, so please try to become friends with Weblate :wink:

1 Like

Tell me, without telling me, you’ve been an open source software maintainer for years.

3 Likes

So let’s go, then register me cosas@weblate for french

You just need to sign up, no further need for an admin to approve you or give access to some (existing) language.