use Text::Catalog; my $catalog = Text::Catalog->new(name => 'my-module'); $catalog->read('/usr/share/my-module/nl.xml');
Traditionally, the translation infrastructure organizes the text fragments on a piece by piece basis. This means that related texts are spread all over the documentation and code tree. This module improves that: for any user report, you can have multiple related views on one place. Hopefully, the documentation stays more consistent this way.
For instance, an error message in the code has a gettext message-id, an abstract of the reason, and a detailed explanation. Probably, it also has a code number related to it, maybe some (exception) class error level or group indication. Then, most of these may come in many translations. These are all message for the same report.