我有一个表单,其中大多数元素都按我的预期进行翻译,但语言下拉列表却没有。
我有一个文件,languages.py
,格式如下:
# -*- coding: utf-8 -*-
from django.utils.translation import ugettext_lazy as _
LANGUAGE_OPTIONS = (
("Abkhaz", "аҧсуа (%s)" % _("Abkhaz")),
("Afar", "Afaraf (%s)" % _("Afar")),
("Afrikaans", "Afrikaans (%s)" % _("Afrikaans")),
("Akan", "Akan (%s)" % _("Akan")),
("Albanian", "Shqip (%s)" % _("Albanian")),
....
("Zhuang, Chuang", "Saɯ cueŋƅ, Saw cuengh (%s)" % _("Zhuang, Chuang")),
)
想法是将代码的英文版保存到数据库中,但是用户可以看到其原始语言及其语言。
我使用forms.py
将其导入from .languages import LANGUAGE_OPTIONS as language_choices
然后我在表格中有以下字段
other_languages = forms.MultipleChoiceField(
choices=language_choices,
label = _("Which language(s)"), required = False
)
“正确地翻译了哪种语言”,但选择的语言不正确。
我怎么了?
编辑 我想我可能知道答案,但是如果有人可以确认,我将不胜感激。
我认为LANGUAGE_OPTIONS
应该设置为
LANGUAGE_OPTIONS = (
("Abkhaz", _("аҧсуа (Abkhaz)"),
...
)
然后在django.po中,我的翻译看起来像
msgid "аҧсуа (Abkhaz)"
msgstr "аҧсуа (abkhaz)"
对吗?
答案 0 :(得分:0)
LANGUAGE_OPTIONS应该设置为
LANGUAGE_OPTIONS = (
("Abkhaz", _("аҧсуа (Abkhaz)"),
...
)
然后在django.po中,我的翻译看起来像
msgid "аҧсуа (Abkhaz)"
msgstr "аҧсуа (abkhaz)"