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

发布于 2024-09-03 08:11:23 字数 51 浏览 7 评论 0原文

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

How can I extract all translations from a .po or .mo file?
I need to create an array of all translations that are inside.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(5

你在看孤独的风景 2024-09-10 08:11:23

您可以使用 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 更方便。

You can use Zend Translate module from Zend Framework.

$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");

or you can use php gettext module, but Zend is much more handy.

素衣风尘叹 2024-09-10 08:11:23

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

msgunfmt is a unix tool that reads .mo files and produces a .po file.

真心难拥有 2024-09-10 08:11:23

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

I used po2csv to convert the po, then read the csv into php using the fgetcsv() function.

世态炎凉 2024-09-10 08:11:23

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

There is a small extraction AWK script in PhpWiki 1.2, called translate.sh. Use that (on Linux).
It greps all .po files and generates a .php array() script.

流殇 2024-09-10 08:11:23

您可以使用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";
}

You can use PEAR File_Gettext. The code would then be:

$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";
}
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文