mirror of
https://github.com/sphinx-doc/sphinx.git
synced 2025-02-25 18:55:22 -06:00
Support gettext translation in templates
This commit is contained in:
parent
40a957009d
commit
7edcec66c9
@ -239,3 +239,13 @@ def init(locale_dirs, language, catalog='sphinx'):
|
||||
if hasattr(translator, 'ugettext'):
|
||||
translator.gettext = translator.ugettext
|
||||
return translator, has_translation
|
||||
|
||||
|
||||
def get_translator(catalog='sphinx'):
|
||||
global translators
|
||||
translator = translators.get(catalog)
|
||||
if translator is None:
|
||||
translator = gettext.NullTranslations()
|
||||
if hasattr(translator, 'ugettext'):
|
||||
translator.gettext = translator.ugettext
|
||||
return translator
|
||||
|
@ -14,12 +14,14 @@ from jinja2.sandbox import SandboxedEnvironment
|
||||
|
||||
from sphinx import package_dir
|
||||
from sphinx.jinja2glue import SphinxFileSystemLoader
|
||||
from sphinx.locale import get_translator
|
||||
|
||||
|
||||
class BaseRenderer(object):
|
||||
def __init__(self, loader=None):
|
||||
self.env = SandboxedEnvironment(loader=loader)
|
||||
self.env = SandboxedEnvironment(loader=loader, extensions=['jinja2.ext.i18n'])
|
||||
self.env.filters['repr'] = repr
|
||||
self.env.install_gettext_translations(get_translator())
|
||||
|
||||
def render(self, template_name, context):
|
||||
return self.env.get_template(template_name).render(context)
|
||||
|
Loading…
Reference in New Issue
Block a user