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:
>>> 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
> 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://firstname.lastname@example.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
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
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