Gettext:源码修改后如何更新po和pot文件

发布于 2024-12-05 23:22:42 字数 123 浏览 6 评论 0原文

我有一个带有国际化字符串的 python 项目。 我修改了源代码,并且字符串的行发生了更改,即在 pot 和 po 文件中,字符串的行没有指向正确的行。

那么如何将 po 和 pot 文件更新到文件中的新字符串位置。

I've got a python project with internationalized strings.
I've modified the source codes and the lines of the strings are changed, i.e. in pot and po files lines of he strings are not pointing to correct lines.

So how to update the po and pot files to new string locations in files.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

归途 2024-12-12 23:22:42

您可以查看此脚本以使用新代码更新您的 po 文件。它使用 xgettextmsgmerge

echo '' > messages.po # xgettext needs that file, and we need it empty
find . -type f -iname "*.py" | xgettext -j -f - # this modifies messages.po
msgmerge -N existing.po messages.po > new.po
mv new.po existing.po
rm messages.po

You could have a look to this script to update your po files with new code. It use xgettext and msgmerge.

echo '' > messages.po # xgettext needs that file, and we need it empty
find . -type f -iname "*.py" | xgettext -j -f - # this modifies messages.po
msgmerge -N existing.po messages.po > new.po
mv new.po existing.po
rm messages.po
花海 2024-12-12 23:22:42

使用 autoconfautomake 您可以简单地更改为 po 子目录并运行:

make update-po

或者:

make update-gmo

作为包维护者,我们通常会更改为 po 子目录并运行: >build/po 目录并运行 update-po。这会更新源树中的 .po 文件(假设是树外或 VPATH 构建)。然后,更新后的 .po 文件将被提交到存储库中,并且在此命令之后需要准备新的提交。

update-gmo 调用会生成通常不会提交到存储库中的 .gmo 文件,这通常是在构建期间自动完成的。

Using autoconf and automake you can simply change into the po subdirectory and run:

make update-po

or:

make update-gmo

As a package maintainer we would typically change into the build/po directory and run update-po. This updates the .po files in the source tree (assuming an out-of-tree or VPATH build). The updated .po files are then committed into the repository and after this command a new commit needs to be prepared.

The update-gmo call produces the .gmo files that are normally not committed into the repository, this is usually done automatically during a build.

因为看清所以看轻 2024-12-12 23:22:42

对于使用介子的用户:

-pot-update-po

例如对于 iputils 项目:

$ dir="/tmp/build"
$ meson . $dir && ninja iputils-pot -C $dir && ninja iputils-update-po -C $dir

来源:https://mesonbuild.com/i18n-module.html

For those who use meson:

<project_id>-pot and <project_id>-update-po.

E.g. for iputils project:

$ dir="/tmp/build"
$ meson . $dir && ninja iputils-pot -C $dir && ninja iputils-update-po -C $dir

SOURCE: https://mesonbuild.com/i18n-module.html

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文