Maintain the translations of your documentation with ease

The po4a (PO for anything) eases documentation translations and their maintenance. It extracts the translatable material from the original document, and places it into a PO file that is adapted to the translation process. Once this PO file is updated by the translator, po4a re-injects the translation into the structure of the original document to generate a translated document.

If the translation is only partial, the original (English) text is used instead for the missing parts. This ensures that your translated documentation is always both up to date with regard to the original one, and as translated as possible.

po4a automatizes all the translation maintenance with one configuration file containing the settings and a list of documents to translate. po4a will update them automatically when something happens.

Supported formats

po4a currently supports the following formats:

2024-06-17 - po4a 0.73 released

Improve some error messages to help debugging encoding issues now that po4a is much more picky about it (since v0.70). (more details).

2024-01-29 - po4a 0.70 released

Major internal overhaul to use PerlIO instead of messing up manually with encodings. Also, this release fixes many bugs in AsciiDoc, Tex, Markdown, Yaml, TexInfo and in the common parts. Finally, this version contains several documentation improvements, in particular in po4a(7), which now better introduces the internals to potential contributors. (more details).

2023-01-01 - po4a 0.69 released

Greatly improve the handeling of placeholders in XML, and internal cleanups around Yaml by merging the two parsers that we had. Also, this release fixes small bugs in Markdown and Man modules. (more details).

2022-09-04 - po4a 0.68 released

Greatly improve the gettextization process, and rewrite several documentation chapters. Also, po4a-translate and po4a-updatepo are now deprecated: you should use po4a instead. Finally, this release fixes some bugs in Markdown and Man modules. (more details).

2022-07-14 - po4a 0.67 released

Many bug fixes and improvement in AsciiDoc, Man, Mardown, xHTML and in core modules (more details).

2022-01-02 - po4a 0.66 released

New option to select Yaml elements to translate; More robust Asciidoc table handling (+bugfixes and translation updates -- more details).

2021-11-14 - po4a 0.65 released

Allow to group several translations per POT file in split mode (+bugfix and translation updates -- more details).

2021-09-12 - po4a 0.64 released

Bugfix and translation updates (more details).

2021-02-02 - po4a 0.63 released

Fix a regression in 0.62 where the translation of po4a binaries were not installed. Plus other bugfixes and translation updates (more details).

2020-12-07 - po4a 0.62 released

Unwrap asciidoc to avoid reformating issues and other bugfixes, plus translation updates (more details).

2020-08-05 - po4a 0.61 released

More bugfix (again to not break Debian packages depending on po4a), and translation updates (more details).

2020-07-15 - po4a 0.60 released

Bugfix and translation updates (more details).

2020-05-20 - po4a 0.59 released

Bugfix release to not break the build of several Debian packages (at least). More details.

2020-05-04 - po4a 0.58 released

2019-10-25 - po4a 0.57 released

Translation update and one bugfix in AsciiDoc. (more details).

2019-06-06 - po4a 0.56 released

New features and bugfixes, mostly to the AsciiDoc parser (more details).

2018-12-09 - po4a 0.55 released

New features and bugfixes to both the individual parsers and common parts (more details).

2018-06-30 - po4a 0.54 released

We fixed tons of bugs, and removed many glitches (more details).

2018-05-25 - po4a 0.53 released

The most visible change is a new YAML module, and the fact that Alioth was turned off (more details).

Deutsch Esperanto español français hrvatski Magyar Italiano 日本語 norsk bokmål Nederlands Português Português (Brasil) Русский српски језик српски језик український 简体中文 简体中文 English (how to set the default document language)