[Catalyst] I18N with variables
Ton Voon
ton.voon at opsera.com
Wed Aug 4 08:04:41 GMT 2010
On 2 Aug 2010, at 06:08, Julien Sobrier wrote:
> Hello,
> I've started to translate my website using Catalyst::Plugin::I18N. It
> works fine for static text. Bu I can't make it work for variables. For
> example, I need to a translation for [% foo %] where for can take a
> set of values defined in a database.
>
> I'm sot sure what is the best way to translate such variables, and
> what is possible:
> * add a msgid for each possible value in messages.po => those gets
> removed every time I run xgettext.pl
> * Make the translation in my Database layer => unfortunately I use the
> old Class::DBI, and could not find a plugin for it
> * any other option?
What I do is use the variable to work out the dynamic name, and then
in a dummy template file, have the possible options. Eg:
[% menu_name="Configuration"; c.loc(menu_name) %]
Then in a dummy template file, have:
[% c.loc("Configuration") %]
This way xgettext.pl will always find it to put into messages.po. It
means having to write in the dummy template all the possibilities, but
it would have to be captured somewhere, so it might as well be in
something that xgettext.pl can process.
Ton
More information about the Catalyst
mailing list