def add_localizer(event): """ Localization event subscriber. Automaticaly translate strings in the templates. :param event: a ``pyramid.event.NewRequest`` object """ def auto_translate(string): """ Use the message factory to translate strings.""" return localizer.translate(MessageFactory(string)) def gettext_translate(string): """ Translate untranslated strings with FormEncode.""" # Try default translation first translation = localizer.old_translate(i18n.TranslationString(string)) if translation == string: # translation failed then use FormEncode translation = formencode_api._stdtrans(string) return translation request = event.request localizer = i18n.get_localizer(request) request.localizer = localizer request.translate = auto_translate if not hasattr(localizer, "old_translate"): localizer.old_translate = localizer.translate locale_name = i18n.get_locale_name(request) formencode_api.set_stdtranslation(languages=[locale_name]) localizer.translate = gettext_translate
def __before__(self): if 'lang' in session: set_lang(session['lang']) set_stdtranslation(languages=['en','fa']) else: set_lang('fa') session['lang']='fa' session.save() h.setMenuItems(_('menus.dat')) self.menu_items = session[_('menus.dat')]
def __before__(self): if "photos" not in session: session["photos"] = {} session["photos"]["files"] = [] if "lang" in session: set_lang(session["lang"]) set_stdtranslation(languages=["en", "fa"]) else: set_lang("fa") session["lang"] = "fa" session.save() h.setMenuItems(_("menus.dat")) self.menu_items = session[_("menus.dat")]
def setUp(self): super(self.__class__, self).setUp() self.mail = '*****@*****.**' self.values = dict(displayname='Mariano Cortesi', email=self.mail, username='******', password='******', password_confirm='pwd') # force language (en) for tests where validation message # might be translated with gettext; see: http://formencode.org/ # Validator.html#localization-of-error-messages-i18n set_stdtranslation(domain="FormEncode", languages=["en"]) # check no user in db assert User.query.filter_by(email=self.mail).count() == 0 self.response = self.app.get(url_for(controller='website/users'))
from twisted.web.server import Site from txlongpoll.client import AMQFactory from txlongpoll.frontend import ( FrontEndAjax, DeprecatedQueueManager, ) from txlongpoll.services import ( LogService, OOPSService, ) import yaml from zope.interface import implements # Ensure that formencode does not translate strings; there are encoding issues # that are easier to side-step for now. set_stdtranslation(languages=[]) class ConfigOops(Schema): """Configuration validator for OOPS options.""" if_key_missing = None directory = String(if_missing=b"") reporter = String(if_missing=b"LONGPOLL") chained_validators = (RequireIfPresent("reporter", present="directory"), ) class ConfigBroker(Schema): """Configuration validator for message broker options."""