Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/297.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/其他框架中使用zend i18n模块?_Php_Zend Framework2_Zend Translate - Fatal编程技术网

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

如何在混合php/其他框架中使用zend i18n模块?,php,zend-framework2,zend-translate,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(); $tra

我想在我的定制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')时的语言设置基本目录;然后是“保留所有权利”的法语版本。文本显示。

您需要向翻译器添加一个模式,以使其正常工作(支持两种语言)。使用模式可以在不更改代码的情况下添加更多区域设置。使用
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');
$translator=new translator();
$translator->addTranslationFilePattern('gettext','''%s.mo');

查看以了解更多信息。

Hi@lluisaznar感谢您的回复,我收到以下错误。致命错误:在第56行的D:\xampp\htdocs\zf2\translate\vendor\zendframework\Zend-i18n\Zend\i18n\Translator\LoaderPluginManager.php中找不到类“Zend\ServiceManager\AbstractPluginManager”。似乎存在依赖项。
LoaderPluginManager
扩展了类
Zend\ServiceManager\AbstractPluginManager
。I18n composer.json将
zendframework/zend servicemanager
定义为需求。您是否已检查是否已将其安装在zf2库文件夹中?