gpt4 book ai didi

django - 如何为.po 翻译文件提供数据?

转载 作者:行者123 更新时间:2023-12-02 02:15:35 25 4
gpt4 key购买 nike

在 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 环境(或任何 sedfind可用)

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/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com