我有一个带有国际化字符串的 python 项目。我修改了源代码,字符串的行也发生了变化,即在 pot 和 po 文件中,字符串的行没有指向正确的行。
那么如何将 po 和 pot 文件更新为文件中的新字符串位置。
您可以查看此脚本以使用新代码更新您的 po 文件。它使用xgettext和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
使用autoconf
andautomake
你可以简单地切换到po
子目录并运行:
make update-po
或者:
make update-gmo
对于那些使用介子的人:
<project_id>-pot
和<project_id>-update-po
。
例如对于iputils项目:
$ dir="/tmp/build"
$ meson . $dir && ninja iputils-pot -C $dir && ninja iputils-update-po -C $dir