php - 如何使用 Translate Toolkit 将 .po 转换为 PHP 数组(Zend Framework)?

标签 php zend-framework internationalization gettext po

我正在尝试使用 po2php将我的 .po 文件转换为 Zend php 翻译数组。

我只是在尝试:$ po2php translations.po translations.php,但这导致了一个我不理解的错误:po2php: warning: Couldn't handle input file translations.po:不知道如何处理输入格式 .po,没有模板文件

我不知道什么是模板文件,为什么要提供它?

更新:我也试过 $ po2php translations.po translations.php -t messages.pot,但这对我没有帮助,它显示了几乎相同的错误:po2php: warning : 无法处理输入文件 translations.po: 不知道如何处理输入格式 .po,模板格式 .pot

最佳答案

您也可以试试 pear 包 File_Gettext .在这里阅读更多:https://github.com/pear/File_Gettext

代码看起来像这样(未测试):

include_once 'File/Gettext/PO.php';

$poFile = new File_Gettext_PO();
$poFile->load('PATH_TO/translations.po');

print_r($poFile->strings);

$poFile->strings 应该包含 po 文件的内容作为关联数组。接下来你需要一个函数来将这个数组输出到一个文件中。看看这里的第二个答案:Print array to a file

关于php - 如何使用 Translate Toolkit 将 .po 转换为 PHP 数组(Zend Framework)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17727457/

相关文章:

.net - 使用 mstest,我可以针对每种支持的语言运行我的单元测试套件吗?

php - 如何从数字数组值中删除引号

php - 为什么我在尝试使用自定义用户提供程序登录时收到此 "Class App\Listeners\LogAuthenticationAttempt does not exist"错误?

php - 如何删除 jQuery.filer 中的现有图像

php - 为什么我们应该将 index.php 保存在公共(public)文件夹而不是根目录中?

angularjs - 是否可以在运行时动态切换 AngularJS 的国际化语言?

php - 从数据库中获取的字段长度的奇怪问题

zend-framework - zend 表单提交按钮值未显示在 zend 表单中

php - 改进我的 Zend 存储过程调用代码

c# - ASP.NET *.resx 序列化