从.po或.mo文件获取翻译

4
我该如何从.po或.mo文件中提取所有翻译?我需要创建一个包含所有翻译的数组。
5个回答

3
你可以使用Zend Framework的Zend Translate模块。
$translate = new Zend_Translate('gettext', '/path/to/english.mo', 'en');
$translate->addTranslation('/path/to/german.mo', 'de');

echo $translate->_("Example");

$translate->setLocale('de');

echo $translate->_("Example");

或者您可以使用php gettext 模块,但Zend更加方便。


2

msgunfmt 是一个 Unix 工具,它可以读取 .mo 文件并生成 .po 文件。


1
我使用po2csv来转换po文件,然后使用fgetcsv()函数将csv文件读入php中。

0
你可以使用PEAR File_Gettext。代码如下:
$mocreator = new File_Gettext_MO();
$mocreator->load('/path/to/mo/file/file.mo');

foreach ($mocreator->strings as $key => $value) {
  echo "Key is $key \n";
  echo "Value is $value \n";
}

0

在PhpWiki 1.2中有一个小的AWK提取脚本,名为translate.sh。在Linux上使用它。
它会grep所有.po文件并生成一个.php数组()脚本。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接