- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
在 Django 中运行 django-admin.py makemessages -l de
创建翻译文件后,您可以使用纯文本编辑器或 Poedit 来填写它们。
Poedit 的优势在于它提供了专门的用户界面来输入这些数据。但是,当我在单词之间切换时,我不断收到错误消息:
MyBookmarks/locale/de/LC_MESSAGES/django.po:7: header field `Project-Id-Version' still has the initial default value
这是什么?是否有人了解 Django 的国际化或 po/GNU gettext 的一般用户遇到过此错误消息?
非常感谢,
最佳答案
我想 Django 保留了用户可自定义的 .po 文件的 header ,因此您可以将“PACKAGE VERSION”替换为更具描述性的内容,例如“MY FABULOUS APP v.1.0”。
要在给定路径中的任何相关文件上执行此操作,您可以从命令行和 *nix 环境(或任何 sed 和 find可用)
find <YOUR_PATH_HERE> -type f -name '*.po' -exec sed -e s'/PACKAGE VERSION/<YOUR_APP_NAME> <YOUR_APP_VERSION>/g' -i.bak {} \;
该命令将替换每个 .po 文件中的上述文本,并且还将保存每个文件的未修改备份文件。
因此,在您的情况下,命令将是:
find MyBookmarks/ -type f -name '*.po' -exec sed -e s'/PACKAGE VERSION/MyBookmarks v.1.0/g' -i.bak {} \;
我经常将这个命令包含在我的 fabfile 中,它使用 POedit 1.5.x 解决了这个问题(但应该也适用于以前的版本)。
注意:您只需为每个 .po 文件执行一次。下次您启动 ./manage.py makemessages 时,Django 会记住该设置。
关于django - 如何为.po 翻译文件提供数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10857006/
我是一名优秀的程序员,十分优秀!