LOCALE::PO4A::TEXT.3PM(1) User Contributed Perl Documentation LOCALE::PO4A::TEXT.3PM(1)

Locale::Po4a::Text - convert text documents from/to PO files

The po4a (PO for anything) project goal is to ease translations (and more interestingly, the maintenance of translations) using gettext tools on areas where they were not expected like documentation.

Locale::Po4a::Text is a module to help the translation of text documents into other [human] languages.

Paragraphs are split on empty lines (or lines containing only spaces or tabulations).

If a paragraph contains a line starting by a space (or tabulation), this paragraph won't be rewrapped.

These are this module's particular options:

Treat paragraphs that look like a key value pair as verbatim (with the no-wrap flag in the PO file). Key value pairs are defined as a line containing one or more non-colon and non-space characters followed by a colon followed by at least one non-space character before the end of the line.
Deactivate the detection of bullets.

By default, when a bullet is detected, the bullet paragraph is not considered as a verbatim paragraph (with the no-wrap flag in the PO file). Instead, the corresponding paragraph is rewrapped in the translation.

Specify how tabulations shall be handled. The mode can be any of:
Lines with tabulations introduce breaks in the current paragraph.
Paragraph containing tabulations will not be re-wrapped.

By default, tabulations are considered as spaces.

A regular expression matching lines which introduce breaks. The regular expression will be anchored so that the whole line must match.
Handle the header and footer of released versions, which only contain non translatable information.
Handle the fortunes format, which separate fortunes with a line which consists in '%' or '%%', and use '%%' as the beginning of a comment.
Handle some special markup in Markdown-formatted texts.
Comma-separated list of keys to process for translation in the YAML Front Matter section. All other keys are skipped. Keys are matched with a case-sensitive match. If yfm_paths and yfm_keys are used together, values are included if they are matched by at least one of the options. Array values are always translated, unless the yfm_skip_array option is provided.
Allow the YAML Front Matter parser to fail on malformated headers. This is particularly helpful when your file starts with a horizontal ruler instead of a YAML Front Matter, but you insist on using three dashes only for your ruler.
Comma-separated list of hash paths to process for extraction in the YAML Front Matter section, all other paths are skipped. Paths are matched with a case-sensitive match. If yfm_paths and yfm_keys are used together, values are included if they are matched by at least one of the options. Arrays values are always returned unless the yfm_skip_array option is provided.
Do not translate array values in the YAML Front Matter section.
Handle control files. A comma-separated list of tags to be translated can be provided.
Prevent po4a from wrapping any lines. This means that every content is handled verbatim, even simple paragraphs.

Tested successfully on simple text files and NEWS.Debian files.

Nicolas François <nicolas.francois@centraliens.net>

Copyright © 2005-2008 Nicolas FRANÇOIS <nicolas.francois@centraliens.net>.
Copyright © 2008-2009, 2018 Jonas Smedegaard <dr@jones.dk>.
Copyright © 2020 Martin Quinson <mquinson#debian.org>.

This program is free software; you may redistribute it and/or modify it under the terms of GPL v2.0 or later (see the COPYING file).

2024-02-07 perl v5.38.1