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