A while ago, I wanted to localize a perl script so I went to look at my options (mainly Locale::gettext and Locale::Maketext) and I wasn't satisfied with either.

My main concern is that, IMO (and this is without every having localized a program before, so this is sort of an outsider-looking-in perspective), I don't see how you can keep a set of translations up-to-date without per-message version information. I read most of the gettext documentation, and it seems to me that there is wonderful support for doing initial translations, but if you ever need to revise a message, then it's not obvious which translations are up-to-date at that point. Some trivial changes (i.e. correcting a typo for example) would not require that the translations be fixed, but if you added functionality requiring that a message needed to be updated, then all of the translations for that message are now out-of-date, but other messages in the lexicon would still be fine, and would not need to be revisited by a translator. I didn't see any tool which would allow me to look at a set of translations and distinguish between those that were current and those that were out-of-date.

Anyway, I may be missing something in my reading, but it just doesn't seem like the standard tools allow for this (though some external tool that I might have missed may have that functionality).

I briefly considered modifying Locale::Maketext, but I abandoned that quickly. The module is short (only a few hundred lines) and by the time I made the changes I wanted, there would be nothing left of the original.

So, I wrote my own module along with a simple GUI tool for maintaining translations, and I've been using it for a while and am really pleased with it. It makes it really easy to take a lexicon and see which messages are missing and need to be added, which are out-of-date with respect to the default, and which are current.

Since I've been very satisfied, I'm thinking I'd like to release it, but I wanted to get some feedback on whether I'm totally off the wall on what I perceive as a missing piece of the localization process.


In reply to Is there a need for another module like Locale::Maketext/Locale::gettext by SBECK

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post, it's "PerlMonks-approved HTML":



  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.