po4a - Versatile PO to/from other documentation formats converter
po4a (PO for anything) eases translations and their maintenance,
allowing gettext's usage on unexpected areas like documentation.
In po4a each documentation format is handled by a module, that
converts this format to/from PO. Formats handled by po4a-0.63
. asciidoc: AsciiDoc format.
. dia: uncompressed Dia diagrams.
. docbook: DocBook XML.
. guide: Gentoo Linux's XML documentation format.
. ini: INI format.
. kernelhelp: Help messages of each kernel compilation option.
. latex: LaTeX format.
. man: Good old manual page format.
. pod: Perl Online Documentation format.
. sgml: either DebianDoc or DocBook DTD.
. texinfo: The info page format.
. tex: generic TeX documents (see also latex).
. text: simple text document.
. wml: WML documents.
. xhtml: XHTML documents.
. xml: generic XML documents (see also docbook).
. yaml: YAML documents.
man pages are encoded in UTF-8. To read them in other languages than
English, do this for instance:
LANG=ru_RU.utf8 GROFF_ENCODING=utf8 man <man page>
Dependencies tree is as follows (all dependencies listed are available
at http://slackbuilds.org).
Po4a-0.63
|
|-- perl-Module-Build
|-- perl-YAML-Tiny. mandatory for the YAML module.
|-- perl-text-WrapI18N to format po4a's warnings and error messages.
| | Optional.
| |-- Text::CharWidth. Mandatory
|-- perl-Unicode-LineBreak, includes module Unicode::GCString to compute
text width, neeeded by AsciiDoc to determine two line titles in
encodings different from ASCII. Mandatory for TEXT module.
|-- perl-MIME-Charset. Mandatory
|-- perl-Encode-EUCJPASCII. Optional
|-- perl-Encode-HanExtra. Optional.
|-- perl-Encode-JISX0213. Optional
|-- perl-Encode-ISO2022. Mandatory
In addition, perl-Test-Pod allows to run the test for the POFD format
Note: by default the SlackBuild does not run ./Build test, because these
tests:
t/cfg-multi.t
t/cfg-single.t
t/cfg-split.t
fail if the script is run by root or even using fakeroot, which has been
acknowledged upstream.
All tests have been successfully passed running '/Build test' by the
maintainer as regular user. If you want to check by yourself, un-comment
the lines 85 and 86 in the SlackBuild. You will then need to comment
them out to run the script again as root to actually build the package.
WARNING: run this script with LANG set to an UTF-8 locale.