我使用gettext进行rails项目,每次启动服务器时都会收到
之类的消息Warning: obsolete msgid exists.
#~ "some tranlation: "
Warning: obsolete msgid exists.
#~ "some tranlation: "
...
...
现在我知道这些只是不再使用的翻译。我想删除它们,但不是修改所有的.po文件,我想用命令来做。
有没有一种简单的方法可以快速摆脱这些翻译?
使用的宝石:
gem 'gettext', '>=1.9.3', :require => false
gem 'gettext_i18n_rails'
答案 0 :(得分:6)
gettext实用程序包含一个完全执行此操作的命令
msgattrib --output-file=xxx.po --no-obsolete xxx.po
答案 1 :(得分:1)
我遇到了同样的问题,我用PoEdit删除了它们。
进入Catalog>Purge deleted translations
。然后,您可以再次运行rake gettext:pack
,消息就可以了。
注意:默认情况下,poedit将创建一个位于.po文件旁边的.mo文件。您可能想要关闭设置中的选项,或者只是手动删除.mo。
答案 2 :(得分:0)
我不知道怎么做而不删除它们,但这里是如何使用shell命令自动删除:
find -name \*.po | xargs sed -i.bak -e '/^#~/d'