为什么我的 Django 翻译不起作用?
Why is my django Translation not working?
我有一个表单,其中大多数元素都按照我的预期进行翻译,但语言下拉列表不是。
我有一个文件,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")),
)
想法是将代码的英文版本保存到数据库中,但用户可以看到原始语言和他们的语言。
我使用 from .languages import LANGUAGE_OPTIONS as language_choices
将其导入 forms.py
然后我在表单中有以下字段
other_languages = forms.MultipleChoiceField(
choices=language_choices,
label = _("Which language(s)"), required = False
)
"Which language(s)" 翻译正确,但选择的语言不正确。
我错了什么?
编辑
我想我可能知道答案,但如果有人能确认我将不胜感激。
我认为 LANGUAGE_OPTIONS
应该设置为
LANGUAGE_OPTIONS = (
("Abkhaz", _("аҧсуа (Abkhaz)"),
...
)
然后在 django.po 我的翻译看起来像
msgid "аҧсуа (Abkhaz)"
msgstr "аҧсуа (abkhaz)"
对吗?
LANGUAGE_OPTIONS 应设置为
LANGUAGE_OPTIONS = (
("Abkhaz", _("аҧсуа (Abkhaz)"),
...
)
然后在 django.po 我的翻译看起来像
msgid "аҧсуа (Abkhaz)"
msgstr "аҧсуа (abkhaz)"
我有一个表单,其中大多数元素都按照我的预期进行翻译,但语言下拉列表不是。
我有一个文件,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")),
)
想法是将代码的英文版本保存到数据库中,但用户可以看到原始语言和他们的语言。
我使用 from .languages import LANGUAGE_OPTIONS as language_choices
forms.py
然后我在表单中有以下字段
other_languages = forms.MultipleChoiceField(
choices=language_choices,
label = _("Which language(s)"), required = False
)
"Which language(s)" 翻译正确,但选择的语言不正确。
我错了什么?
编辑 我想我可能知道答案,但如果有人能确认我将不胜感激。
我认为 LANGUAGE_OPTIONS
应该设置为
LANGUAGE_OPTIONS = (
("Abkhaz", _("аҧсуа (Abkhaz)"),
...
)
然后在 django.po 我的翻译看起来像
msgid "аҧсуа (Abkhaz)"
msgstr "аҧсуа (abkhaz)"
对吗?
LANGUAGE_OPTIONS 应设置为
LANGUAGE_OPTIONS = (
("Abkhaz", _("аҧсуа (Abkhaz)"),
...
)
然后在 django.po 我的翻译看起来像
msgid "аҧсуа (Abkhaz)"
msgstr "аҧсуа (abkhaz)"