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:
- asciidoc: AsciiDoc format
- man: Good old manual page format
- pod: Perl Online Documentation (POD) format
- xml: generic XML documents
- docbook: DocBook XML
- xhtml: XHTML documents
- dia: uncompressed Dia diagrams
- guide: Gentoo Linux's XML documentation format
- wml: WML documents
- sgml: the standard generalized markup language (SGML) is for either DebianDoc or DocBook DTD
- latex: LaTeX format
- tex: generic TeX documents
- texinfo: The info page format
- bibtex: bibtex format
- text: simple text documents (including options for markdown, fortunes, YAML front matter section, debian/changelog, and debian/control)
- yaml: YAML documents
- rubydoc: RubyDoc (RD) documents
- halibut: Simon Tatham's documentation production system
- ini: INI format
- kernelhelp: Help messages of each kernel compilation option
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
- Rewrite all tests to make them more robust and less permissive.
- Fix many issues reported against the parsers.
- Rewrite the documentation for sake of clarity and brevity.
- (more details).
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).