我在 settings.py 中有可用的语言
LANGUAGE_CODE = 'en'
LANGUAGES = (
('fr', _('French')),
('en', _('English')),
)
当我在模板中循环时,我认为 django 通过 {{ lang.1 }} 给我翻译后的名称是预期的行为。但我不想翻译语言名称,所以我更改了我的 settings.py 如下:
LANGUAGES = (
('fr', 'Francais'),
('en', 'English'),
)
我仍然得到翻译的语言名称。你有想法吗?{% get_available_languages as languages %} 模板标签是否会自动翻译列表项?如果是这样,我如何在循环可用语言时使用未翻译的语言名称?
- - 编辑 - -
我检查了 django 的 get_available_languages 模板标签的代码。我想这里是翻译过来的:
class GetAvailableLanguagesNode(Node):
def __init__(self, variable):
self.variable = variable
def render(self, context):
context[self.variable] = [(k, translation.ugettext(v)) for k, v in settings.LANGUAGES]
return ''
也许我必须编写自己的模板标签......