Python Django-复数形式的无效标记:表达式
我在我的django网站上添加了“库尔德”语言。django不支持这种语言,因此我添加了以下语言: 在settings.py中Python Django-复数形式的无效标记:表达式,python,django,django-i18n,Python,Django,Django I18n,我在我的django网站上添加了“库尔德”语言。django不支持这种语言,因此我添加了以下语言: 在settings.py中 gettext = lambda s: s NEW_LANG_INFO = { 'ku': { 'bidi': True, 'code': 'ku', 'name': 'Kurdish', 'name_local': u'کوردی', }, } import django.conf.locale
gettext = lambda s: s
NEW_LANG_INFO = {
'ku': {
'bidi': True,
'code': 'ku',
'name': 'Kurdish',
'name_local': u'کوردی',
},
}
import django.conf.locale
LANG_INFO = dict(**django.conf.locale.LANG_INFO, **NEW_LANG_INFO)
django.conf.locale.LANG_INFO = LANG_INFO
LANGUAGES = (
('en', 'English'),
('ku', gettext('Kurdish')),
('ar', 'Arabic')
)
现在,当我转到mysite.com/en/admin/
时,它工作正常。当我进入mysite.com/ar/admin/
时,它工作正常。
但是,当我转到mysite.com/ku/admin/时,它会出现以下消息错误:
ValueError位于/ku/admin/
复数形式的无效标记:表达式
django版本是1.11.6
问题是什么?我该如何解决
更新
我发现在django.po的
locale/ku/LC_MESSAGES
中,最后一行注释是“复数形式:nplurals=INTEGER;复数=EXPRESSION;\n”
这里也是对相同错误的回答,但情况不同(支持他们的语言):
也许有人会觉得这很有帮助。我也在寻找帮助,发现了你的问题,但我的解决方案在上面的链接上。
(解决方案是删除项目虚拟环境并重新安装)我在中写了一个更全面的答案 简而言之,如果您的语言只有一种复数形式,例如,对于两个以上的
apple
您说的apples
,请查找以下行:
"Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\n"
并将其更改为:
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
您还需要再次删除和设置您的env。concider正在通读,不要忘记重新编译您的邮件。