Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python Django缺少某些字符串的翻译。知道为什么吗?_Python_Django_Internationalization_Translation - Fatal编程技术网

Python Django缺少某些字符串的翻译。知道为什么吗?

Python Django缺少某些字符串的翻译。知道为什么吗?,python,django,internationalization,translation,Python,Django,Internationalization,Translation,我有一个中等规模的Django项目(如果有什么不同的话,可以在AppEngine上运行),并且所有的字符串都像应该的那样存在于.po文件中 我看到一些奇怪的行为,某些字符串就是不翻译。当我运行make_消息时,它们会显示在.po文件中,并在我的{%trans%}标记所在的位置标记正确的文件位置。翻译已就位,与两侧的其他字符串相比,看起来是正确的。但是当我显示有问题的页面时,大约有1/4的字符串根本无法翻译 深入查看相关生成的.mo文件,我看不到msgid或msgstr存在 有人见过类似的东西吗?

我有一个中等规模的Django项目(如果有什么不同的话,可以在AppEngine上运行),并且所有的字符串都像应该的那样存在于.po文件中

我看到一些奇怪的行为,某些字符串就是不翻译。当我运行make_消息时,它们会显示在.po文件中,并在我的{%trans%}标记所在的位置标记正确的文件位置。翻译已就位,与两侧的其他字符串相比,看起来是正确的。但是当我显示有问题的页面时,大约有1/4的字符串根本无法翻译

深入查看相关生成的.mo文件,我看不到msgid或msgstr存在

有人见过类似的东西吗?知道会发生什么吗

  • trans标记看起来正确
  • .po文件看起来正确
  • 编译\u消息期间没有错误

    • Ugh。Django,你要杀了我

      下面是发生的事情:

      出于某些只有Django知道的原因,它决定用“fuzzy”来装饰我的一些翻译。它似乎选择了随机标记的项目

      不管怎样,“fuzzy”的意思是:“不要翻译这个,即使这是翻译:


      我将把这个留在这里,以防将来有其他可怜的灵魂遇到它。

      模糊标记由makemessages添加到.po文件中。当您有一个新字符串(没有翻译)时,它会查找类似的字符串,并将它们作为翻译包含在模糊标记中。这意味着,这是一个粗糙的匹配,所以不要向用户显示它,但这可能是一个良好的开端,为人类翻译


      这不是Django行为,它来自gettext功能。

      +1默认情况下,PyCharm在文件顶部包含“fuzzy”取消激活。谢谢,遇到了同样的问题,您为我节省了时间:-)只需使用您最喜欢的po编辑器浏览po文件,并检查是否可以将所有模糊条目标记为OK。