29
  1. 为什么有时我会在语言文件中得到一个fuzzy项目。django.po实际上,我已经在我的项目中检查了fuzzy字符串项是完全唯一的。

    #: .\users\views.py:81 .\users\views.py:101
    #, fuzzy
    msgid "username or email"
    msgstr "9988"
    
  2. 可以模糊,但我的模糊项目的翻译没有显示在页面上,只有英文版本显示。这很奇怪。

4

3 回答 3

38

  1. msgmerge将字符串标记为fuzzy好像旧目录对具有相似外观的字符串进行了翻译msgid。它还将标记为模糊的字符串从旧目录转移到新目录。

  2. msgfmt从编译目录中排除模糊消息,因为翻译可能不正确。翻译人员应检查翻译的正确性(在您发布的情况下,空字符串显然是不正确的翻译),并fuzzy在翻译验证后删除标记。如果您绝对想使用模糊翻译,请传递--use-fuzzymsgfmt

python manage.py compilemessages --use-fuzzy
于 2009-09-04T05:36:53.023 回答
6

我也遇到了这些问题,我通过使用“po 编辑器”(如poedit)解决了所有问题,它突出显示模糊和未翻译的条目并使翻译过程更快。

您还可以使用Django Rosetta将翻译过程集成到您的 Django 环境中。

于 2010-12-21T10:09:02.673 回答
3

非常感谢@Martin v. Löwis的第一个回答。

是的,效果很好。就我而言,使用--use-fuzzyswitch 非常有用。

就我而言,.po文件行的内容(不起作用)如下所示。除此以外,所有翻译的行都在工作。

#: ui/templates/theme/html/ltr/vertical-menu-template-nav-dark/login.html:58
#, fuzzy
#| msgid "Already a registered user (Login)"
msgid "Not a registered user (Create account)"
msgstr "Уже зарегистрированный пользователь (логин)"

这是我的终端执行后的输出django-admin compilemessages --use-fuzzy

(venv3.6.7) Rishikeshs-MacBook-Air:src hygull$ django-admin compilemessages --use-fuzzy
processing file django.po in /Users/hygull/Projects/Python36/Django/Others/AMCProj/amc/src/locale/hi/LC_MESSAGES
processing file django.po in /Users/hygull/Projects/Python36/Django/Others/AMCProj/amc/src/locale/ru/LC_MESSAGES
processing file django.po in /Users/hygull/Projects/Python36/Django/Others/AMCProj/amc/src/locale/en/LC_MESSAGES

最后,运行命令后,只需重启服务器即可python manage.py runserver

于 2019-11-06T00:21:27.907 回答