如何在混合php /其他框架中使用zend i18n模块?

时间:2014-07-19 10:19:17

标签: php zend-framework2 zend-translate

我想在我的自定义php项目中使用ZF2 i18n模块。 我的composer.json文件如下:

{
    "require": {
        "zendframework/zend-i18n": "2.3.*@dev"
    }
}

我的index.php文件是

include_once './vendor/autoload.php';

use Zend\I18n\Translator\Translator;

$translator = new Translator();
$translator->setLocale('fr_FR');
echo $translator->translate('All rights reserved.');

我的问题如何为我存储en_US.po,fr_FR.po文件以及我设置$ translator-> setLocale(' fr_FR')的语言设置基础目录;然后是法语版的'版权所有。'文字节目。

1 个答案:

答案 0 :(得分:0)

您需要向翻译人员添加一个模式才能使其正常运行(您支持两种语言)。使用模式可以在不更改代码的情况下添加更多区域设置。使用addTranslationPattern功能。函数定义是:

//$type -> format loader
//$baseDir -> the dir where you place your locale files
//$pattern -> sprintf expression (the locale is parsed through it)
//$textDomain -> category specified for the file. By default is 'default'
public function addTranslationFilePattern($type, $baseDir, $pattern, $textDomain = 'default')

使用它像:

$translator = new Translator();
$translator->addTranslationFilePattern('gettext', '<your_base_dir>', '%s.mo');

查看reference以获取更多信息。