我知道如何使用gettext将自然语言消息翻译成用户的语言。
但现在我想知道如何获取给定域中所有可翻译消息的列表。
我已经获得了这样的原始结果:
strings /usr/share/locale/${LANG:0:2}/LC_MESSAGES/$DOMAIN.mo
但我正在寻找一个更整洁的解决方案。
答案 0 :(得分:1)
xgettext
程序从.po
文件中提取可翻译字符串,这些文件是.mo
中找到的/usr/share/locale
文件的source files。这些.po
文件应包含在要为其转换邮件的包的源代码发行版中。
如果您需要使用.mo
个文件,可以使用msgunfmt
将其翻译回.po
。