我有一个Web应用程序,我使用gettext进行了几次翻译.但是现在我已经完成了对应用程序的重大改写,虽然大多数字符串是相同的,但也有相当多的字符串被显着更改或删除.
我使用xgettext来创建.po文件,很高兴能够在代码中找到新的字符串并将它们添加到.po文件中,但是我没有看到删除代码中找不到的字符串的选项.
是否有自动方法从.po文件中删除不再在代码中的字符串?
小智 5
假设您有一个新的PO模板文件,该文件只包含应该位于被调用文件的最终PO目录中的字符串messages.pot,并且目标PO目录位于messages.po,则可以执行以下操作:
msgattrib --set-obsolete --ignore-file=messages.pot -o messages.po messages.po
Run Code Online (Sandbox Code Playgroud)
这标志着任何过时的字符串.该--set-obsolete开关告诉msgattrib将过时的标志应用于目标文件中的所有字符串,并--ignore-file告诉它忽略出现在指定文件中的字符串(在我们的例子中为PO模板).
如果您还想完全删除它们,还有一个步骤:
msgattrib --no-obsolete -o messages.po messages.po
Run Code Online (Sandbox Code Playgroud)
你可以阅读更多有关msgattrib命令在这里.
X-N*_*cON -1
\xd0\xa1an 所以
\n\nfind . -name \'*.po\' -print0 | while read -d \'\' -r file; do msgattrib --output-file="$file" --no-obsolete "$file"; done\nRun Code Online (Sandbox Code Playgroud)\n
| 归档时间: |
|
| 查看次数: |
1876 次 |
| 最近记录: |