pocompendium(1)
π pocompendium(1) β the PO compendium maker π
okay bestie, gather round, because pocompendium is here from the Translate Toolkit 1.3.0 and she is so useful it's unreal. she takes a whole directory of translated PO files and squishes them into ONE glorious PO file called a PO compendium. it's giving β¨organizationβ¨.
πΈ NAME πΈ
pocompendium β creates a PO compendium from a directory of PO files. that's it, that's the job, and she does it flawlessly. π
π¦ SYNOPSIS π¦
pocompendium [options] output.po <-d po-directory(ies)|po-file(s)>
π DESCRIPTION π
so here's the tea: pocompendium takes a directory of translated PO files and creates a single PO file called a PO compendium. no cap.
and what do you do with that gorgeous thing? two things, both iconic:
- you can use it to review word choice conflicts β like, spot where you translated the same vibe two different ways π
- or you can feed it as input during a merge using
pomigrate(1)
that's the whole concept. simple, clean, main character energy. π«Ά
β¨ OPTIONS β¨
-v,--invertβ creates an inverse compendium withmsgidandmsgstrswapped. flips the whole thing, lowkey chaotic, highkey useful. π-e,--errorsβ only outputs message bundles that have conflicts. drama detector fr fr. π-c,--correctβ only outputs message bundles that are correctly translated. the good ones, the ones that ate. β-i,--ignore-caseβ drops all strings to lowercase. everyone's equal now, no more shouting. π‘-st,-tilde,--strip-accel-ampβ remove all&style accelerator markers. bye bye ampersands π-sa,-amp,--strip-accel-tildeβ remove all~style accelerator markers. tilde? never heard of her πΈ-su,--strip-accel-underβ remove all_style accelerator markers. underscore, you're dismissed π
π EXAMPLES π
π Compendium creation
create a compendium with all your translations to use as input during a message merge β whether you're migrating an existing project or starting a brand new one. glow up either way. β¨
π Conflicting translations
use --errors to find where you have translated an English string differently. ngl, a lot of the time this is totally fine and okay! but often it will pick up subtle spelling mistakes, or help you migrate older translations to a newer choice of words. so likeβ¦ it's a vibe check on your past self. π
π§ Conflicting word choice
use --invert and --errors together to get a compendium file that shows how you have used a translated word for different English words. maybe you chose a word that's valid for both English expressions β but in the context of computers it would cause confusion for the user π. now you can easily identify these words and make changes in the underlying translations. slay, problem solved.
π₯ Narrowing Results
PO files treat slight changes in capitalisation, accelerator, punctuation and whitespace as different translations. wild, right? in cases 2) and 3) above it's sometimes useful to remove the inconsistencies so you can focus on the actual errors in translation and not on shifts in capitals.
to this end you can use the following: --ignore-case, --strip-accel-amp, --strip-accel-tilde, --strip-accel-under. pick your fighter. π«Ά
β OPERATION β
so how does the magic actually happen? pocompendium makes use of the Gettext tool msgcat(1) to perform its task. it traverses the PO directories and cat's all found PO files into the single compendium output file. then it uses msgattrib(1) to extract only certain messages, msghack to invert messages, and msgfilter(1) to convert messages to lowercase.
it's a whole little pipeline and honestly? the teamwork is unmatched. π
π BUGS π
there are some absolute/relative path name issues. π not her fault, but bestie, be aware. path drama is real.
okay that's the whole page!! she's a queen, she's a compendium maker, she's from Translate Toolkit 1.3.0 and this page is dated right along with that release. go forth and make compendiums, bestie πβ¨
π¦ where this page comes from
- debian bookworm: translate-toolkit 3.8.4-1 Β· GPL-2.0-or-later
- debian trixie: translate-toolkit 3.15.1-1 Β· GPL-2.0-or-later
- fedora 43: translate-toolkit 3.15.6-3.fc43 Β· GPL-2.0-or-later
- fedora 43: translate-toolkit 3.16.1-1.fc43 Β· GPL-2.0-or-later
- fedora 44: translate-toolkit 3.18.0-2.fc44 Β· GPL-2.0-or-later
- ubuntu jammy: translate-toolkit 3.6.0-2 Β· GPL-2.0-or-later
- ubuntu noble: translate-toolkit 3.12.2-1ubuntu1 Β· GPL-2.0-or-later
- ubuntu questing: translate-toolkit 3.15.1-1
- ubuntu resolute: translate-toolkit 3.18.1-1 Β· GPL-2.0-or-later
- ubuntu stonking: translate-toolkit 3.19.5-1 Β· GPL-2.0-or-later
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms