libintl-perl is a library that supports message translation for Perl, written in pure Perl (version 5.004 or better). A faster C version is also built and installed if the system fulfills all requirements. Its interface is a superset of the gettext family of functions in C, and it uses the same file formats as GNU gettext, making it possible to use all tools available for gettext itself and to seamlessly integrate internationalized Perl code into mixed-language projects. An alternative library with a similar purpose is available as Locale::MakeText.
| Tags | Software Development Internationalization Libraries Perl Modules Localization |
|---|---|
| Licenses | LGPL Artistic |
| Operating Systems | OS Independent |
| Implementation | Perl |
Recent releases


Changes: This version has the test suite for the xs version of the gettext part of the library completely revamped, and will display much more informative results in case of failures.


Changes: This version of libintl-perl fixes compatibility issues with Perl 5.6.2. It also fixes all open bugs.


Changes: A cosmetic change was made to work around a problem with the PAUSE indexer (PAUSE is the CPAN upload server).


Changes: This version features new context support, support for .po files with msgctxt, and appropriate supporting calls (*pgettext calls) under both gettext_pp and gettext_xs. TextDomain.pm received corresponding calls: __p __px __np __npx __xnp. A new alpha Locale::Util module was provided with some utility functions, especially for Web development. Code has been added to try to warn about incorrect usage of the tied hashes in Locale::TextDomain. All open bugs have been resolved.


Changes: This version allows output filtering for translations. You can nor for example register a function that sets the utf-8 flag on translation. Additionally, a new function turn_utf_8_on() can be used to portably set the utf-8 flag on arbitrary strings, regardless of the underlying Perl version.