程序的翻译字符串存储在.po/中的服务器上。mo文件。我们需要将翻译导出为XML。似乎自然的方法是编写一个小的PHP脚本,在标签中打印字符串,如
<s key="apple" value="яблоко"/>
<s key="orange" value="апельсин"/>
当你知道.po/中的所有键时就很容易了。mo文件。设置域,设置语言环境并使用gettext()。
但是我没有找到一个函数来枚举域中的所有字符串。我能想到的唯一选择是手动列出所有翻译键以完成工作。我太懒了,不适合这份工作。
是否有一种方法枚举域中的所有翻译键?
.mo
文件是二进制文件,据我所知,它实际上并不存储msgid
,而是一个易于访问的索引版本。
.po
文件是简单的文本文件,其中列出了所有的msgid
s,易于解析与#msgid "([^"]+)#
的正则表达式