Created
April 8, 2010 14:36
-
-
Save whitmo/360126 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| def configureTranslations(config): | |
| from zope.component import provideUtility | |
| from zope.i18n.translationdomain import TranslationDomain | |
| from zope.i18n.interfaces import ITranslationDomain | |
| from zope.i18n.gettextmessagecatalog import GettextMessageCatalog | |
| import tostyle4you | |
| import formencode | |
| import s4u.engine | |
| import sys | |
| import os.path | |
| domains={} | |
| for package in [ "formencode", "s4u.engine", "tostyle4you" ] : | |
| locale_directory=os.path.join(sys.modules[package].__path__[0], "i18n") | |
| locales=[(dir, os.path.join(locale_directory, dir)) for dir in os.listdir(locale_directory)] | |
| for (language, locale_directory) in locales: | |
| if language.startswith(".") or not os.path.isdir(locale_directory): | |
| continue | |
| msgdir=os.path.join(locale_directory, "LC_MESSAGES") | |
| for domain_file in os.listdir(msgdir): | |
| if not domain_file.endswith(".mo"): | |
| continue | |
| domain=domain_file[:-3] | |
| if domain not in domains: | |
| domains[domain]={} | |
| domains[domain][language]=os.path.join(msgdir, domain_file) | |
| for (domain, catalogs) in domains.items(): | |
| tdomain=TranslationDomain(domain) | |
| for (language, filename) in catalogs.items(): | |
| tdomain.addCatalog(GettextMessageCatalog(language, domain, filename)) | |
| provideUtility(tdomain, ITranslationDomain, name=domain) | |
| locale = config.get("2style4you.language", "nl_NL") | |
| (language, territory) = babel.parse_locale(locale)[:2] | |
| import formencode.api | |
| from zope.i18n import translate | |
| def ft(msg): | |
| return translate(msg, domain="FormEncode", target_language=language, default=msg) | |
| formencode.api._stdtrans=ft | |
| config['lang'] = config['pylons.request_options']['language'] = language |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment