为什么有时我会在语言文件中得到一个
fuzzy
项目。django.po
实际上,我已经在我的项目中检查了fuzzy
字符串项是完全唯一的。#: .\users\views.py:81 .\users\views.py:101 #, fuzzy msgid "username or email" msgstr "9988"
可以模糊,但我的模糊项目的翻译没有显示在页面上,只有英文版本显示。这很奇怪。
问问题
12666 次
3 回答
38
msgmerge
将字符串标记为fuzzy
好像旧目录对具有相似外观的字符串进行了翻译msgid
。它还将标记为模糊的字符串从旧目录转移到新目录。msgfmt
从编译目录中排除模糊消息,因为翻译可能不正确。翻译人员应检查翻译的正确性(在您发布的情况下,空字符串显然是不正确的翻译),并fuzzy
在翻译验证后删除标记。如果您绝对想使用模糊翻译,请传递--use-fuzzy
给msgfmt
:
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-fuzzy
switch 非常有用。
就我而言,.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 回答