Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/245.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在PHP gettext中从当前域获取所有消息_Php_Gettext - Fatal编程技术网

在PHP gettext中从当前域获取所有消息

在PHP gettext中从当前域获取所有消息,php,gettext,Php,Gettext,PHP中有一个()函数来查找当前域中的消息 有没有办法从当前域获取所有消息?没有。低级libgettextapi也不提供方法 但是,您可以使用(并重写)来自(或php gettext或gettext.php)的gettext适配器来读取整个gettext消息文件。php说没有。根据定义,当前域包含无限消息,因此您的问题没有那么有用。“如何枚举特定消息目录中的消息?”这一问题可能更合适 这在命令行上是可能的,例如 $ msgcat <catalog-name> ... #: conf

PHP中有一个()函数来查找当前域中的消息


有没有办法从当前域获取所有消息?

没有。低级libgettextapi也不提供方法


但是,您可以使用(并重写)来自(或php gettext或gettext.php)的gettext适配器来读取整个gettext消息文件。

php说没有。

根据定义,当前域包含无限消息,因此您的问题没有那么有用。“如何枚举特定消息目录中的消息?”这一问题可能更合适

这在命令行上是可能的,例如

$ msgcat <catalog-name>
...
#: conf/global_settings.py:44
msgid "Arabic"
msgstr "Árabe"

#: conf/global_settings.py:45
msgid "Bengali"
msgstr "Bengalês"
$msgcat
...
#:conf/global_settings.py:44
msgid“阿拉伯语”
msgstr“Árabe”
#:conf/global_settings.py:45
msgid“孟加拉语”
msgstr“孟加拉”

这似乎不太可能,因为这不是它的工作原理。您轮询特定的消息。因此,基本上,要做到这一点,您需要为.mo文件编写解析器?@umpirsky:实际上是的。或者最好为.po文件提供一个解析器(更简单的文本格式)。它仍然没有提供任何类型的“获取所有消息”方法,是吗?@mms27可能永远不会。gettext API自90年代以来就没有发展过。消息目录实际上只是关键:值查找文件。那么,您最好使用定制的全PHP实现。