Manual Translations & Weblate - Monolithic vs. Per-Chapters PO Files

Hi everyone,

We (mainly @fsiddi and @mont29) are currently looking at setting up a weblate website for Blender, to handle translations (both for the manual, and the Blender UI).

One of the issues we are currently facing on the manual side is the size of the monolithic translations PO’s (beyond 10Mb per language). Besides the size, it also makes it somewhat harder to find your way in such a file, when you want to e.g. work on a specific chapter or page of the manual.

@ideasman42 @Blendify if memory serves well, you worked on setting up these manual translations? Do you remember what was the rational behind that decision of using a single PO domain? According to the weblate documentation, this is an option that has to be enabled, by default each page would get its own domain (PO file).

Generating one PO file for each page (gettext_compact=False) may be a bit too granular though… It feels like using instead gettext_compact=True would make the most sense, as it would generate one domain per main section (a.k.a. top-level directory) of the manual?


When you move text from one chapter or page to another, does the translation move along with it?

I do not know, but I would suspect it does not. Could not find anything about that in available documentation.

Weblate could help on this though (with its translate memory). Or we could have a dedicated tool (script).

In any case, I would not consider this point a blocking factor? Such refactoring of the documentation does not happen that often.

I don’t really have an opinion on it, if Weblate remembers the old translations it seems reasonable. But I’ve also never done translations myself.

I just guessed it might have been a factor in the original decision to either allow refactoring of the manual or sharing translations between chapters.

Note that weblate needs one component per translation domain, imho this completely rules out the ‘one PO file per RST file’ approach.

So our current options would be to either keep the current monolithic translation file, or have on domain per chapter, and therefore one weblate component per chapter.

I have heard some translators complain that the monolithic approach is hard to navigate as you said.

When I was looking into Weblate it seemed to make the most sense to me to have the monolithic file so I converted the PO files from the individual rst domain (which also helped with the terrible SVN performance we had at the time).

At the end of the day, I think it mostly matters to translators what makes sense to them.
Individual pages seem too granular though IMO. Per chapter translations makes sense and might be a good compromise .

Thanks, then think we should aim at one domain per chapter for the manual translation.

Would you like me to make that transition now?

Think it would make more sense to do it once we are fully ready to switch to the weblate system? Would be good to try it out though, to be sure it happens smoothly :slight_smile: