2010年12月20日 星期一

Announcing I18N::Handle

Since every web frameworks use their class and different way to make localization, and some don't have it. To use L10N stuff, you need to declare a class which inherits from Locale::Maketext if your web framework doesn't handle it. And Locale::Maketext is not simple enough. You will need to use $hl->maketext everywhere.

So I am thinking about a common handler that doing L10N for most application or frameworks.

I18N::Handle is a common handler for web frameworks and applications.

I18N::Handle also provides a global locale function to make localization, you can use Gettext style locale function to make localization in every packages, the default loc function name is "_". To change the exporting loc function name , please use loc option.

The difference between I18N::Handle and Locale::Maketext is that I18N::Handle automatically does most things for you, and it provides simple API like speak, can_speak instead of get_handle, languages.

To generate po/mo files, App::I18N is an utility for this, App::I18N is a command-line tool for parsing, exporting, managing, editing, translating i18n messages. See also App::I18N.

Here is a simple usage:


More is on github.