pospell(1) Run a program on the translation strings of a .po-file


pospell [-l language ] [-fsv] -n pofile -p program [-- [ arguments... ]]


pospell copies the translations from the pofile to a temporary file (called the spellfile) and then calls program with its arguments. program is supposed to somehow change the spellfile. It is typically a spell checker. Afterwards the possibly changed translations in spellfile is copied back into the pofile.

If pofile is specified as - then pospell will act as a filter, i.e. standard input and standard output will be used.

%f in the arguments will be expanded to the name of the spellfile, or - if the -f option is used. Use %% for a real % character.

All comment lines in the pofile are replaced with lines with "#" as the only character in the spellfile. The msgid strings with original text in the pofile are replaced with lines with ">" and "]" as the only characters in the spellfile. The msgstr strings with file headers (i.e. strings without corresponding msgid strings) are replaced with lines with ")" and "]" as the only characters in the spellfile. Don't change or remove these lines from the spellfile - they are used when the spellfile and the pofile are merged together after running the program.

The normal msgstr strings are copied to the spellfile with some changes: 1) The word msgstr and everything else before the string is replaced by a "+" character. 2) Strings with C escape sequences followed by a letter like "one\ttwo" are split to parts like "one\t" "two". 3) Leading whitespace in continuation lines is removed. The changes of kind 1) and 2) are undone when the spellfile is copied back into the pofile, but removed whitespace will not be restored.


The called program is a filter so don't make a temporary file, but pipe the spellfile to its standard input and read it back from its standard output.
-lĀ language
Only translations with the indicated language code are copied to the spellfile.
Quit with an error message if unrecognized items are found in the pofile or spellfile.

Print the version and exit.


pospell uses one or two temporary files with names given by the mkstemp(3) or the tmpnam(3) function.


If some system call gives an unexpected error pospell will stop immediately with an error message leaving its temporary files.


Byrial Jensen <[email protected]>