【发布时间】:2011-09-21 07:34:23
【问题描述】:
我有一个带有国际化字符串的 python 项目。 我修改了源代码,字符串的行也发生了变化,即在 pot 和 po 文件中,字符串的行没有指向正确的行。
那么如何将 po 和 pot 文件更新到文件中的新字符串位置。
【问题讨论】:
我有一个带有国际化字符串的 python 项目。 我修改了源代码,字符串的行也发生了变化,即在 pot 和 po 文件中,字符串的行没有指向正确的行。
那么如何将 po 和 pot 文件更新到文件中的新字符串位置。
【问题讨论】:
您可以查看this script 以使用新代码更新您的 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 和automake,您可以简单地切换到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
【讨论】: