[Zope3-Users] sx.translations 1.0 Released!
Chris Withers
chris at simplistix.co.uk
Mon Sep 18 14:17:31 EDT 2006
This package provides components for use with Zope 3 and Zope 2 + Five
that implement both ITranslationDomain and ILanguageAvailability as well
as supporting the recording of untranslated msgids.
This means that, not only do the components support the interface
require to provide messages to Zope 3's i18n framework, they can also be
used to generate a list of available languages using code similar to the
following:
from zope.component import getUtility
from zope.i18n.interfaces import ILanguageAvailability
from zope.i18n.locales import locales, LoadLocaleError
domain = 'myproject'
def getLanguages(self):
options = getUtility(ILanguageAvailability,
domain).getAvailableLanguages()
options.sort()
result = []
for option in options:
lang = option[0]
try:
locale = locales.getLocale(lang)
except LoadLocaleError:
# probably not a real locale
continue
result.append(
{'code':lang,
'name':locale.displayNames.languages[lang],
)
return result
Sample ZCML for configuration could be:
<configure xmlns="http://namespaces.zope.org/zope"
xmlns:i18n="http://namespaces.simplistix.co.uk/translations">
<!-- make the sx.translations' registerTranslations directive
available -->
<include package="sx.translations" file="meta.zcml" />
<!-- register our locales using sx.translations -->
<i18n:registerTranslations locales="../locales"
missing="../locales/myproj.pot"
encoding="utf-8"/>
</configure>
For more information, please see:
http://www.simplistix.co.uk/software/zope/sx.translations
I'm happy to contribute this code to the Zope 3 core if people can tell
me where and how to do so...
cheers,
Chris
--
Simplistix - Content Management, Zope & Python Consulting
- http://www.simplistix.co.uk
More information about the Zope3-users
mailing list