Popopo::Parser - A PO Message Catalog File Parser
The Popopo::Parser
module provides a PO (portable object) file parser that generates a Popopo::EntrySet
object from the given string.
The parser supports most parts of PO file syntax as implemented by the msgfmt
command in the GNU gettext package, with the following exceptions:
The
Popopo::Parser
implements a error-tolerant parsing algorithm that recovers from errors and resume parsing the file. This feature can be disabled by setting anonerror
handler that throws an exception if itslevel
argument is equal tom
.The
Popopo::Parser
implements an extended comment-like syntax for assigning tags (or categories) to entries:#?tag TAG1 #?tag TAG2 msgid "tagged entry" msgstr "Tagged String"
Plural forms are not supported yet.
Character encodings other than UTF-8 (with utf8 flag set) are not supported yet.
This module requires Perl 5.8 or later.
Popopo::EntrySet, Popopo::Entry - In-memory representations of PO files.
Popopo::Checker - PO validity checker.
Wakaba <wakaba@suikawiki.org>.
This repository was located at <https://github.com/wakaba/perl-popopo> until 18 April 2023, then transferred to <https://github.com/pawjy/perl-popopo>.
Copyright 2009 Wakaba <wakaba@suikawiki.org>.
This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.