[Zope-dev] Re: Additional locales for zope.i18n.locales.data?

Philipp von Weitershausen philipp at weitershausen.de
Wed Nov 28 13:46:39 EST 2007


Martijn Pieters wrote:
> On Nov 28, 2007 12:29 AM, Nathan Yergler <nathan at yergler.net> wrote:
>>> If you follow the wink,
>>> http://www.unicode.org/cldr/repository_access.html has the details to
>>> the files. Currently the latest is at
>>> http://unicode.org/Public/cldr/1.5.0/core.zip.
>>>
>>> Zope at this point still uses LDML 1.0 whereas the latest version is
>>> LDML 1.5.
>>>
>>> Upon casual inspection of the files it seems their basic structure is
>>> still the same, though more careful inspection is required.
>> I've been avoiding even less interesting work this afternoon, taking a
>> look at this.  I started by dumping the new files into the data
>> directory and just running the tests.  As expected, things blew up in
>> a really spectacular manner.
>>
>> After some wrangling I've discovered that in the newer versions of the
>> CLDR dataset some of the information previously contained in the
>> locale files (such as weekend start/end, etc), is now in located in a
>> "supplemental" file.  While this makes a certain amount of sense (it's
>> tied to territories, not really languages), it does mean that the
>> information needed for a Locale is no longer self-contained in a
>> single XML file.
>>
>> So unfortunately it's going to require some more work to fix up the
>> loader; I'll probably create a branch to work on this some...
> 
> Has anyone looked at Babel (http://babel.edgewall.org/)? It includes a
> python interface to CLDR, which if usable would let us off the hook of
> maintaining such an interface ourselves.

Looking at the API docs, it seems that the ILocale implementations in 
zope.i18n.locale could simply make appropriate calls to functions in the 
Babel API. So +1 from me, but since it looks like Nathan will be doing 
the work, he should decide :).

Babel seems to exist since mid-2007, by the way. I wonder, if we had 
made zope.i18n separately available sooner and actually told people 
about it, it possibly wouldn't have been necessary to duplicate the 
effort there. In fact, the Babel website lists zope.i18n as an 
alternative, but finds that it's tied too closely to Zope 3.

     * zope.i18n has a scope similar to Babel (covering both gettext and
       the CLDR), but is closely tied to Zope 3.
     * PyICU is a Python/SWIG wrapper for the ICU library, and provides
       access to locale data based on the CLDR (or the other way around).

It would be interesting to get in touch with the original authors and 
ask them whether zope.i18n's 4 or so dependencies still make it too tied 
to Zope 3.


More information about the Zope-Dev mailing list