|laziness, impatience, and hubris|
Is there a need for another module like Locale::Maketext/Locale::gettextby SBECK (Hermit)
|on Mar 13, 2013 at 14:21 UTC||Need Help??|
SBECK has asked for the wisdom of the Perl Monks concerning the following question:
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.