Transifex mystery

Tags: #<Tag:0x00007f5119618250> #<Tag:0x00007f5119618188>

Continuing the discussion from UUIDs shown in translatable strings:

Transifex is horrible, makes it completely impossible to collaborate IMO or to supervise.
I don’t know if it’s possible but really we should use something like GitHub:


I did a PR in September 2020 for CritiqueBrainz for instance to fix this above typo but Transifex must be used. So I redid my changes there, in a way, totally stealth.

Since then, the typo is still there.

Probably I guess because it’s not easy to know if you can or can’t take Transifex updates in account, they may include vandalism.

Even last minute large scale vandalism will go unnoticed.

This 1MetaBrainz typo, visible in each page, would have been fixed 5 months ago, if it was managed directly in GitHub. As it was already reviewed and approved, there.

GitHub pull requests are ready to review validate discuss approve.
In Transifex, good luck figuring who changed what when why.

I don’t know why many projects use Transifex.
There must be some hidden benefit.

1 Like

Be careful what you wish for. Most online translation environments are godawful. At least the actual translating in Transifex works, even if it lacks features on the management side.

I don’t know about GitHub. They specialise in managing software development. It’s not a translation platform, and even if it does offer translating functionality, that’s probably crap.

1 Like

The contributors are translating, not Transifex.
The need is just editing some plain text files, as you can see in the PR.

1 Like

I think jesus2099 rather meant to commit via github, but that’s not really a solution if you want non-coders to contribute translations.

I am still for using . It’s open source and I like it very much for software translation. Also the developer is a great guy. I have used both the hosted and self-hosted versions. Self-hosted is great, because you can customize a lot of the filters for various projects.

Some of the really nice things I like about it:

  • You can add screenshots to ease translation of UI
  • You can allow anonymous suggestions
  • Good quality checks, but customizable even per string. On Transifex it sometimes has really annoying quality checks that maybe are useful in general but just don’t make sense for some strings
  • Better glossary then the very basic thing Transifex provides
  • It can directly push translation changes to the Git sources. The actual translating author is set as the commit author
  • Likewise changes to translation sources in Git are directly pushed to Weblate
  • You can integrate your own oauth provider, so login with MB credentials would be possible

But it would make most sense if all MB projects would be transferred. Nice thing about current Transifex setup is the shared translation memory ™. The TM from transifex also should be migrated to any new system MB chooses to use.


In Weblate, can we see a history of changes like in GitHub?

In my example, I made change to 126 rows and my changes are easy to read and must be validated before being accepted:

It would have been easy to know if it was accepted (100% or partially).
I made the same 126 changes in Transifex but now cannot even retrieve them myself, nor I can know if or when they are approved and taken, from within Transifex.

And knowing that, the Transifex supervisors, really, I wonder what they can supervise at all.

Is this better in Weblate?

Because I don’t see the benefit of a translation system, it does not translate for you.
A glossary can be a simple page for each language in our wiki or anywhere, with a list of words to use for Release, Artist, Disc ID, Track, etc.

The only times I see the glossary system in Transifex in action, is to tell me I should write this or that incorrect verb ending (conjugation).

Several times I wanted to fix French in MetaBrainz sites, several times I had to give up, not being sure that my fixes will be taken and overwritten randomly few days later, with no review validation process.


I looked at Weblate briefly when starting to translate the Picard User Guide into French. I ended up not following up with it because I was looking for a solution that wasn’t going to cost me out-of-pocket, and I don’t have the resources available for the self-hosted option. From what I recall, it did look like a nice system. When I get some time, I might have to look at it again.


Yes. Actually you can both see it in Weblate and Github. See for example the commit history for this French translation file of Tilix (a Linux terminal emulator):

You can see who did what changes at what date. But you can also look at the activity history of translations on Weblate:

Having Weblate doing the commit actually in the name of the author is one of the biggest advantages in my opinion.

If you compare that to the history of French translations for Picard:

It’s only updated when we sync translations. And that means the authors are only the core developers, recently mostly zas and me. I mean zas at least is French, but my French vocabulary is about 10 words or so :smiley:

Because I don’t see the benefit of a translation system, it does not translate for you.

Well, a text editor does not write the text for you and a video editor does not do the film for you :smiley: It’s a tool that helps you translate.

If you do serious translation work you really want to have a translation memory, concordance search and a glossary. Not only does it speed up the work, it also helps keeping a consistent translation.

If you are translating user interfaces you often also need some context how the string you are looking it is actually used. It can make a big difference if this is on a button or some kind of notification, the translation could vary. When we asked for translations of the Picard installer feedback was that it was difficult to do without seeing how the texts are actually used, when I provided screenshots that helped a lot.

Weblate has this ability built-in, see e.g.>%3Dtranslated&offset=32

A big advantage of an online translation tool is that it lowers barriers. Teaching people to handle both Git and a tool like Poedit is much more of a barrier than a single translation tool.

But actually here is another advantage of Weblate: It can handle translations both updated via Weblate and via Git, it can synchronize two way. With Transifex if you submit us a Picard translation update via Git we might merge it and then manually push it to Transifex, probably overwriting any changes someone else has done there. Or we see the conflict, but don’t know how to solve it without knowing the language. So in practice I will send you over to Transifex instead and not merge your changes.

Several times I wanted to fix French in MetaBrainz sites, several times I had to give up, not being sure that my fixes will be taken and overwritten randomly few days later, with no review validation process.

The only way to be save from this is setting up a proper translation team with a review process. But you are only able to do this if you actually have community members actively working on translations. That’s easier to do for more widely spoken languages than for others. So ideally you want to be able to setup this flexible per language.

Understandable :smiley: Michal, who is developing this, has made a business around this open source project, which is pretty great. But he also offers hosted weblate for free for open source projects, which is also really great. In case of MetaBrainz I would expect that MB hosts this itself, both for fairness and to be more flexible.


Do you have any idea if this pertains to literally ‘open source’ projects only, or maybe also to ‘free to use’ and community-driven software?
(just asking for a friend who goes by the name of MusicBee :wink:

1 Like

Nothing like that popped up in Transifex when I edited some items.

You say non-coders should be able to translate, and I agree.
But I first used GitHub to do non-dev things.
And to use Transifex is really not more user friendly.
I mostly remember striving across nonsense GUI before eventually finding the strings where I could type my text.

If there are advanced translation specialised tools in Transifex, like translation memory, they are not obvious, I did not notice them and didn’t really miss them.

I would prefer keeping it simple.
A markdown file as glossary and whatever plain text file also grouping all items for one language.

Every time I edited stuff in Transifex, behind it was such a simple file, in fact.

So why this big complex stuff around it, if it does not even allow validation and clear follow up?

I am really wondering about what you mean exactly.
Do you have a link or screenshot showing those funky translating features? :wink:

I edited my OP to add:

Even last minute large scale vandalism will go unnoticed [in Transifex]

1 Like

I’m too lazy to make a screenshot right now. But I don’t mean Transifex does the translating itself (that would be terrible), human translators do the translating on Transifex. And that works quite well.


When translating Transifex shows results from the translation memory on the right. The similarity is an indicator how close the source strings match.

If you do a translation it goes into the translation memory.

From the right side you can also access the concordance search. Often you need to translate a specific word or phrase, but are unsure how to best translate this and how it was translated before. In the example above when translating “User interface color theme” I might wonder whether “theme” or “color” theme" or “user interface” had already been translated in the project and how exactly. So I can just start a search for those terms.


Absolutely, and good news for all of us because there is a constant driver to improve and maintain the project, which can sometimes come and go for FOSS projects.

That’s really good of him. I agree that it would be best for MB / MeB to self-host the application, and I see that @zas has added it to the agenda for the upcoming Monday meeting. Please let me know if there’s anything that I can do to help support this initiative. I see this potentially a great benefit for the Picard User Guide documentation.


I’ve looked a bit at Weblate, and to me it’s unusable. Maybe its features for developers are great, but I’m a translator, not a developer. Can you even search the translation memory in this thing? How do I combine filters (like reviewed:no translated_after:2021-01-01 on Transifex). Is it possible to get a list of filter results? I don’t want to click through strings one by one, I want to see them all, etc. The whole interface feels claustrophobic.

My main problem with Transifex is the lack of onboarding for new translators, is that possible with Weblate? That would be one advantage, though it would hardly make up for its problems on the translation front, and translating is what it’s all about in the end.

1 Like

It sounds interesting, but where can you do that?
My topic is about the lack of review, filter process and follow up.
I have the feeling that if I translate something, the next person will be able to erase my work without trace, as easy as I did.

I tried your kind of search in it didn’t work.

Maybe Weblate has this but it is well hidden like in Transifex.

Anyway, I don’t ask for change tool.
I will not use any if it’s not something like GitHub with proper approve process.
I don’t want to lose my time again.

1 Like

OK so I have found my main fix in reviewed:no, the others must all be there.

When I click my fix string #76, I see history and my fix (deleted user, 6 months ago).

Now if I click a reviewed:yes string #421 (random example), I don’t see any info as to whether it is reviewed or not.

  • Only reviewed strings will be imported in software (good)?
  • How can we see if the string is reviewed or not?
  • How can we request review?

Both reviewed and unreviewed strings are imported into MusicBrainz. That may be a setting for the project maintainer though. Personally I’d rather not go through the process of reviewing 10788 strings …

The icon above the string number (the leftmost column) changes to a check mark if the string has been reviewed. You can also use the filter. I can’t find a filter option for a string number, so that may be impossible.

I don’t think you can ask for a specific string to be reviewed through Transifex, but you could of course make a topic on the forum here to request it.

1 Like

Hmm, that maybe why there is no approval system and that we don’t use GitHub pull requests for translations.
It makes sense that we have to use something like Transifex, then.

I am the least active translator so don’t put too much weight on my tastes.