【问题标题】:Django Generated polish plurals form in .po file not working.po文件中的Django生成的波兰语复数形式不起作用
【发布时间】:2013-05-11 08:22:08
【问题描述】:

我有一个 Django 应用程序,可以翻译 24 种语言。一切正常,除了波兰语翻译不工作

当我尝试激活波兰语django.utils.translation.activate(lang_code) 时,我总是收到此错误

   ValueError at /pl/traininglog/
   plural forms expression could be dangerous

Django 生成的复数形式表达式是这样的(还要注意换行符):

"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 "
"|| n%100>=20) ? 1 : 2)\n"

我检查了 gettext 网站和其他网站,这应该是正确的表达方式。

奇怪的是:当我将 Plural-Forms 字符串更改为明显错误的内容甚至删除它时,错误消息保持不变。 (是的,我做了一个:./manage.py compilemessages

如前所述,其他 23 种语言的工作方式与预期相同。 有人遇到过相同或类似的问题吗?

提前致谢, 安东

【问题讨论】:

    标签: python django internationalization gettext polish


    【解决方案1】:

    我发现了错误。

    我安装了旧版本的 Django-Fiber。它使用(以及旧版本)的 django-mptt 将内容存储在数据库中。而这个较旧的 (0.5.1) 版本的 mptt 的波兰语翻译有一个错误,该错误已在此提交中修复:

    https://github.com/django-mptt/django-mptt/commit/4b6a9758396450651bc2d02b2c7d49bac6cd3f25

    我将 mptt 更新到 0.5.5 版,现在一切正常!

    【讨论】:

      猜你喜欢
      • 2016-04-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-09-10
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多