On 2 Aug 2010, at 06:08, Julien Sobrier wrote:

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.


List: Catalyst@lists.scsys.co.uk
Listinfo: http://lists.scsys.co.uk/cgi-bin/mailman/listinfo/catalyst
Searchable archive: http://www.mail-archive.com/catalyst@lists.scsys.co.uk/
Dev site: http://dev.catalyst.perl.org/

Reply via email to