How do glossaries work in Weblate?


Just for my fun Ive tried some translation on,
but cant find instruction how it goes afterwards?
Ive created an acoount as required, logged in and added some terms to the glossary but still dont understand when&how
they should appear on Github repo, in current builds?


We have to manually merge in the changes from weblate. I would leave this question up to @achadwick for the reasoning why, but I speculate it to make sure that they don’t break the master branch on Github. So give it some time.

BTW I’m creating a translation category and moving this over there. So if you have further question about translating MyPaint, post to that category.

Really just paranoia about automatic merges and to evaluate what happens when there are a lot of translators working on the same thing. I’ve only seen a couple of breakages from a badly translated string, and I’ve since discovered that the weblate system warns if you don’t match up %s and {python_braces} style formatting codes with the source in your translated string.

So after the release, I’ll probably set automated “continuous” translation from weblate.

Glossaries are for translators working inside Weblate only. They don’t appear in the source at all, but they can be used during translation of the actual program strings (which will). Glossaries allow everyone working on the same set of translations to build up a “style guide” of sorts, and standardize on abbreviations. Maybe “HSV” is always “TSV” in French, that sort of thing. For example, the en_GB one is just some spelling differences and usage notes:

So you don’t have to have a glossary at first, or you can build it up while you translate the program strings.

I wrote a little HOWTO about the translation workflow last month: There are a couple of details about glossaries I didn’t cover there, though. Like, how do glossaries actually get used?

When somebody starts translating (e.g. by starting on and clicking on Untranslated strings), you’ll see a Glossary toolbox will appear on the right hand side of the screen:

If the suggestion is useful, translators can click “Copy” to insert it into the main edit tool’s Translation box:

You then edit the translation, uncheck “Fuzzy” to indicate that you’re confident that it’s OK, and click on “Save” to move on to the next string.

Saving the string and marking it as not-fuzzy makes this translation available for use in the program after the next merge.

BTW the “context” info is useful too. This is a detail provided by programmers to tell translators where the string being translated might be seen in in the MyPaint UI. In this case, “Menu (label)” it’s a label for a menu item :smile: It isn’t present for most strings in the MyPaint UI, alas.

Got it.
So-as I supposed- the only reasonable way to keep translation logical and elegant is to translate whole labels/items, as they appear in program’s menus, even if some words within the label multiply themselves ?
I mean: a menu item is a ‘sentence’ to be translated as a whole and in its specific context?