Example #1
0
 def setup_translator(self):
     # Load the primary translator on first request and reactivate it for
     # each subsequent request until the primary language is changed.
     app_globs = app_globals._current_obj()
     lang = app_globs.settings['primary_language'] or 'en'
     if app_globs.primary_language == lang and app_globs.primary_translator:
         translator = app_globs.primary_translator
     else:
         translator = Translator(lang, config['locale_dirs'])
         app_globs.primary_translator = translator
         app_globs.primary_language = lang
     translator.install_pylons_global()
Example #2
0
 def setup_translator(self):
     # Load the primary translator on first request and reactivate it for
     # each subsequent request until the primary language is changed.
     app_globs = app_globals._current_obj()
     lang = app_globs.settings['primary_language'] or 'en'
     if app_globs.primary_language == lang and app_globs.primary_translator:
         translator = app_globs.primary_translator
     else:
         translator = Translator(lang, config['locale_dirs'])
         app_globs.primary_translator = translator
         app_globs.primary_language = lang
     translator.install_pylons_global()
Example #3
0
 def general_save(self, **kwargs):
     """Save :class:`~mediadrop.forms.admin.settings.GeneralForm`."""
     # Ensure this translation actually works before saving it
     lang = kwargs.get('general', {}).get('primary_language')
     if lang:
         locale = Locale.parse(lang)
         t = Translator(locale, config['locale_dirs'])
         try:
             t._load_domain('mediadrop')
         except LanguageError:
             # TODO: Show an error message on the language field
             kwargs['primary_language'] = None
     return self._save(general_form, 'general', values=kwargs)
Example #4
0
 def general_save(self, **kwargs):
     """Save :class:`~mediadrop.forms.admin.settings.GeneralForm`."""
     # Ensure this translation actually works before saving it
     lang = kwargs.get('general', {}).get('primary_language')
     if lang:
         locale = Locale.parse(lang)
         t = Translator(locale, config['locale_dirs'])
         try:
             t._load_domain('mediadrop')
         except LanguageError:
             # TODO: Show an error message on the language field
             kwargs['primary_language'] = None
     return self._save(general_form, 'general', values=kwargs)
Example #5
0
def setup_translator(language='en', registry=None, locale_dirs=None):
    if not locale_dirs:
        locale_dirs = get_locale_dirs(pylons.config)
    translator = Translator(language, locale_dirs=locale_dirs)

    # not sure why but sometimes pylons.translator is not a StackedObjectProxy
    # but just a regular Translator.
    if not hasattr(pylons.translator, '_push_object'):
        pylons.translator = StackedObjectProxy()
    if registry is None:
        registry = pylons.request.environ['paste.registry']
    register_instance(registry, 'translator', translator)
Example #6
0
def setup_translator(language='en', registry=None, locale_dirs=None):
    if not locale_dirs:
        mediadrop_i18n_path = os.path.join(os.path.dirname(mediadrop.__file__), 'i18n')
        locale_dirs = {'mediadrop': mediadrop_i18n_path}
    translator = Translator(language, locale_dirs=locale_dirs)
    
    # not sure why but sometimes pylons.translator is not a StackedObjectProxy
    # but just a regular Translator.
    if not hasattr(pylons.translator, '_push_object'):
        pylons.translator = StackedObjectProxy()
    if registry is None:
        registry = pylons.request.environ['paste.registry']
    registry.replace(pylons.translator, translator)
Example #7
0
 def test_supports_multiple_locale_paths_for_single_domain(self):
     self._tempdir = tempfile.mkdtemp()
     first_path = self._create_catalog('first', something=u'foobar')
     second_path = self._create_catalog('second', something=u'baz')
     translator = Translator('de', {'foo': (first_path, second_path)})
     assert_equals('baz', translator.gettext('something', domain='foo'))
Example #8
0
 def test_returns_input_for_unknown_domain(self):
     translator = Translator('de', {})
     assert_equals(u'foo', translator.gettext(u'foo', domain=u'unknown'))
Example #9
0
 def test_supports_multiple_locale_paths_for_single_domain(self):
     self._tempdir = tempfile.mkdtemp()
     first_path = self._create_catalog('first', something=u'foobar')
     second_path = self._create_catalog('second', something=u'baz')
     translator = Translator('de', {'foo': (first_path, second_path)})
     assert_equals('baz', translator.gettext('something', domain='foo'))
Example #10
0
 def test_returns_input_for_unknown_domain(self):
     translator = Translator('de', {})
     assert_equals(u'foo', translator.gettext(u'foo', domain=u'unknown'))