[TransWarp] internationalization
Phillip J. Eby
pje at telecommunity.com
Tue Jun 24 08:49:01 EDT 2003
At 10:59 AM 6/24/03 +0200, Radek Kanovsky wrote:
>I have searched through the web for some smart solution but haven't found
>anything.
Have you looked at Zope 3's 'zope.i18n' package? Also, I believe GNU
gettext has support for declaring different translations of the same string
based on a numeric value formula.
>My idea is that i18n subsystem should be adaptable (at least)
>to following interface:
>
>
> class IMessageCatalog (Interface) :
>
> def lookup(msg_id, language, **named_parameters) :
> """Returns message according to msgi_id in given language
> with substituted named_parameters.
> """
>
>
>It is programmer's work to create some shortcut methods that resolve
>catalog, msg_id or language from some context provided by application
>(HTTPRequest object, configuration, session, __name__ or such).
Presently, I'm assuming that we will mostly activate translation via a
'view="translate"' attribute in an HTML template, to translate either a
piece of constant text in the template, or to translate a piece of variable
data such as a menu item title. I hadn't given any thought to
interpolation, but of course supporting that would be a good idea too.
I'd like to reuse zope.i18n where possible, since it has a nice locales
database built in, with support for timezones, date/time/numeric/currency
formats, etc. So we will probably use their interfaces where
applicable. We probably won't be doing this for our first few
applications, though, which will be targeted to test more basic parts of
the web framework such as traversal, security, and templates.
More information about the PEAK
mailing list