Php 如何枚举区域设置域中的所有字符串键?

Php 如何枚举区域设置域中的所有字符串键?,php,localization,locale,gettext,Php,Localization,Locale,Gettext,程序的翻译字符串存储在服务器上的.po/.mo文件中。 我们需要将翻译导出到XML。 似乎最自然的方法是编写一个小的PHP脚本,在这样的标记中打印字符串 <s key="apple" value="яблоко"/> <s key="orange" value="апельсин"/> 当您知道.po/.mo文件中的所有键时,就很容易了。 设置域、设置区域设置并使用gettext() 但是我还没有找到一个枚举域中所有字符串的函数。 我能想到的唯一选择是手动列出所有翻

程序的翻译字符串存储在服务器上的.po/.mo文件中。 我们需要将翻译导出到XML。 似乎最自然的方法是编写一个小的PHP脚本,在这样的标记中打印字符串

<s key="apple" value="яблоко"/>
<s key="orange" value="апельсин"/>

当您知道.po/.mo文件中的所有键时,就很容易了。 设置域、设置区域设置并使用gettext()

但是我还没有找到一个枚举域中所有字符串的函数。 我能想到的唯一选择是手动列出所有翻译键以完成工作。 我太懒了,做不了这份工作


有没有办法枚举域中的所有翻译键?

.mo
文件是二进制文件,据我所知,它们实际上并不存储
msgid
,而是在索引中存储易于访问的版本


.po
文件是列出所有
msgid
s的简单文本文件,很容易用类似于
#msgid”([^“]+)#

的正则表达式进行解析,我会搜索类似“parse po file”的东西。我打赌存在大量脚本。请不要标记标题。我们已经不是90年代了。