INTLTOOL-UPDATE(8)
π INTLTOOL-UPDATE π
okay bestie, welcome to the intltool-update page from the System Manager's Manual β¨ this one's all about making your translations slay πΈ
π NAME π
intltool-update β updates PO template file and merge translations with it π
β¨ SYNOPSIS β¨
intltool-update [option]...
intltool-update LANGCODE
π¦ DESCRIPTION π¦
so like, intltool-update generates brand new po file templates straight from your source code, and then merges your existing translations with those new po templates. it's giving translation-glow-up, no cap π
π¨ real talk tho: you must change working directory to the subdirectory containing translations (usually"po/") before runningintltool-update. don't skip this step bestie, it's literally the vibe check π
π OPTIONS π
when you're running intltool-update, only one mode of operation is allowed each time. pick one. choose your fighter. periodt π
π Mode of operation
-p,--potβ generate po template (.pot) only. just the template, nothing else, iconic behavior β¨-s,--headersβ executesintltool-extract(8)to extract strings inside XML/INI style files listed inPOTFILES.in, and writes the extracted strings into header files, so that the strings can be recognised byxgettext(1). very "make it legible for the other tool" of it π«Ά-m,--maintainβ search for left out files, which should have been listed inPOTFILES.inorPOTFILES.skip. a list of all these files are written into another file called"missing". it's giving detective energy π-r,--reportβ display a status report for all translations in the software. the receipts, basically π-dLANGCODE,--distLANGCODE β merge LANGCODE.powith existing PO template π«
πΈ Other options
-gNAME,--gettext-package=NAME β manually specify PO template file name, instead of determining the name automatically from source. useful with-p/--potoption. this option has an additional effect: the name of current working directory is no more limited to"po"or"po-*". glow up + freedom, obsessed ππ-oFILENAME,--output-file=FILENAME β manually specify output FILENAME after merging old translation with PO template. useful either with-d/--distoption or without any option. you get to name the baby πΌ-x,--verboseβ display lots of feedback. yapper mode activated π£οΈ--versionβ show version information. the origin story β¨--helpβ show usage and basic help information. bestie's lil cheat sheet π
π EXAMPLES π
creates a new PO template from source code, and name it foo.pot:
intltool-update --pot --gettext-package=foo
updates translation file xy.po using existing po template called "bar.pot", and writes output into "xy1.po":
intltool-update --dist --gettext-package=bar --output-file=xy1.po xy
creates new PO template and updates translation file xy.po (xy.po is overwritten with new content):
intltool-update xy
(same as intltool-update --pot && intltool-update --dist xy)
π heads up: in that last one, xy.po gets overwritten. dramatic but true.
π FILES π
po/POTFILES.inβ contains list of source files which contain translatable strings, one file per line. the guest list πpo/POTFILES.skippo/POTFILES.ignore(obsolete) β contains list of source files which should be ignored when searching for translatable strings. the do-not-disturb list π ββοΈ
π note that po/POTFILES.ignore is obsolete β it's the ex that still shows up in the group chat.
π REPORTING BUGS π
report bugs to http://bugs.launchpad.net/intltool β they wanna hear it, fr fr π«Ά
π AUTHOR π
- Darin Adler
<darin@bentspoon.com> - Kenneth Christiansen
<kenneth@gnu.org> - Maciej Stachowiak
<mjs@eazel.com>
the founding mothers/fathers of this whole situation, we stan π
π§ SEE ALSO π§
intltoolize(8), intltool-prepare(8), intltool-extract(8), intltool-merge(8), xgettext(1)
and that's the whole page bestie, go forth and localize π this lil slice of intltool lore is dated 2003-08-02 β vintage, lowkey a classic, and honestly? it ate. mwah πβ¨π
π¦ where this page comes from
- alpine 3.24: intltool-doc 0.51.0-r9 Β· GPL-2.0-or-later
- arch rolling: intltool 0.51.0-7 Β· GPL-2.0-or-later
- centos-stream 10: intltool 0.51.0-29.el10 Β· GPL-2.0-or-later WITH Autoconf-exception-generic
- centos-stream 9: intltool 0.51.0-20.el9 Β· GPLv2 with exceptions
- debian bookworm: intltool 0.51.0-6
- debian trixie: intltool 0.51.0-7
- fedora 43: intltool 0.51.0-43.fc43 Β· GPL-2.0-or-later WITH Autoconf-exception-generic
- fedora 44: intltool 0.51.0-44.fc44 Β· GPL-2.0-or-later WITH Autoconf-exception-generic
- nixos 26.05: intltool 0.51.0
- nixpkgs unstable: intltool 0.51.0
- opensuse-leap 16.0: intltool 0.51.0-160000.3.2 Β· GPL-2.0-or-later
- ubuntu jammy: intltool 0.51.0-6
- ubuntu noble: intltool 0.51.0-6
- ubuntu resolute: intltool 0.51.0-7
- ubuntu stonking: intltool 0.51.0-7
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms