Disappearing translations and maintaining consistency over branches

Karl Ove Hufthammer karl at huftis.org
Sat Nov 27 17:54:23 GMT 2021

Edward Wornar skreiv 27.11.2021 17:34:
>>> Switch over to using the PO summit workflow:
>>> https://techbase.kde.org/Localization/Workflows/PO_Summit
>>> I’m also a (currently) doing most of the translation work for my
>>> language, and using the PO summit have saved me tons of work. I never
>>> have to worry or think about branches anymore. I don‘t actually have to
>>> be aware that there*are*  branches.
>> Exactly what I was looking for! Thanks a bunch! I'll try to set it up later
>> this evening.
> Set it up and I hope I have understood everything right, but just to make
> sure:
> So from now on I just commit summit, right?

You also need to commit the branches (that hold the newly ‘scattered’ 
messages). But you don’t need to manually *edit* any PO files in the 
branches (branches/stable, trunk/l10n-kf5 and trunk-l10n-kde4).

But if you’re at the top-level directory 
(svn+ssh://svn@svn.kde.org/home/kde), you can use a single ‘svn commit’ 
command to commit *all* the files (summit + stable + trunk) in one go.

> And I scatter from time to time to
> update stuff e.g. for people download via anonymous svn?

You need to scatter (and commit) whenever you want your newly changed 
translation to become available to other people, i.e., for your 
translations to become part of the next release.

It’s simplest to just run merge + scatter each time you work on the 
translations (scatter is a fast operation compared to merge). Use 
something like this:

     posummit --quiet scripts/summit/messages.summit hsb merge,scatter

Basically, you do  this:

 1. Run ‘svn up’ to get updated template files and rename/move updates
    for your languages (and any updated translations from other people).
    You need to get updates for both the summit and any branches (your
    language + templates). If you have checkout the directory structure
    correctly (with --depth=files to avoid getting translations for
    *all* languages), a single ‘svn up’ command from the top level will
 2. Run ‘posummit [...] merge’ to update the translation files with the
    latest changes in the templates. You can do this whenever you want
    updated PO files (e.g. once a week or once a day).
 3. Translate the files (*only* in the l10n-support directory, not in
    any branches).
 4. Run ‘posummit scatter’ to copy any changes (updated translations) to
    the branches. You don’t *need* to do this all the time, only before
    a release. (Though I do it each time I have made any updates to the
    PO files.)
 5. You can combine step 2 and 4 if you like.
 6. Run ‘svn commit’ to commit updated translations. Always commit after
    doing any merges/scattering (to avoid conflicts).

You can also customize the merge step if you want. For example, for my 
language, I have set it up to do automatic fancy wrapping of markup + no 
hard-wrapping at 80 characters (corresponding to the --no-wrap 
--fine-wrap option of porewrap), and to use a custom compendium when 

Karl Ove Hufthammer

More information about the kde-i18n-doc mailing list