Bienvenue sur IndexError.

Ici vous pouvez poser des questions sur Python et le Framework Django.

Consultez la FAQ pour améliorer vos chances d'avoir des réponses à vos questions.

Utilisation de gettext en multi-domaines

0 votes

gettext utilise par défaut le domaine "messages"

J'ai besoin dans la même application de charger plusieurs domaines.

J'ai 2 répertoires translations avec chacun un domaine différent: messages-booking, message-common.

Chaque domaine contient des chaines différentes qui rassemblés sont utilisés dans le même ensemble de templates jinja.

Je n'arrive pas à charger les 2 domaines en même temps.

J'utilise Pelican avec le plugin https://github.com/getpelican/pelican-plugins/blob/master/i18n_subsites que j'ai modifié pour gérer plusieurs Thèmes dans des répertoires séparés.

C'est jinja2/babel qui gère le chargement des translations avec

from jinja2 import Environment
import gettext

# je raccourcis pour faire simple
env = Environment(...)

translations = gettext.translation('messages-common', '/home/tmpl1', ['fr'])
env.install_gettext_translations(translations, True)

translations = gettext.translation('messages-booking', '/home/tmpl2', ['fr'])
env.install_gettext_translations(translations, True)

#Le JINJA_ENVIRONMENT contient 
'extensions': ['jinja2.ext.i18n', 'jinja2.ext.with_']
demandé 3-Mar-2017 par srault95 (280 points)

J'ai oublié, le babel.cfg de chaque domaine contient:

[jinja2: **.html]
extensions=jinja2.ext.autoescape,jinja2.ext.with_
encoding = utf-8

Se connecter ou S'inscrire pour répondre à cette question.

...