[Catalyst] Ideas on localisation
Ian Docherty
ian at iandocherty.com
Mon Nov 6 14:26:35 GMT 2006
I have been investigation options for localisation and it occurs to me
to use something like Catalyst::Plugin::I18N
My understanding of this package is that you create a language package
for each language you want to support. e.g.
MyApp::I18N::de
MyApp::I18N::fr
etc.
However, this seems to lump together all the text for all the pages into
one file. This would seem to have two problems.
1) Each language is a huge file containing all the text for all pages of
the application lumped all together. Managing this one file becomes
difficult.
2) We have to load all the text for all the pages at once. This is like
loading every template in the system just to display one page.
Would it not make more sense to have a structure that more closely
follows the hierarchy of either the root directory or the controller
hierarchy. e.g.
MyApp::I18N::User::List::de
MyApp::I18N::User::List::fr
MyApp::I18N::User::Edit::de
MyApp::I18N::User::Edit::fr
MyApp::I18N::User::View::de
MyApp::I18N::User::View::fr
etc.
Alternatively (and this is an option I prefer) have a way of loading the
language text from a database. I would then load all text from the
database that matched the URI 'user/list' (and any common text such as
header and footer text) and make that available to the I18N module.
Has anyone done anything like this in the past?
Regards
Ian C.Docherty (IcyDee)
More information about the Catalyst
mailing list