如何在混合php/其他框架中使用zend i18n模块?
我想在我的定制php项目中使用ZF2 i18n模块。 我的composer.json文件如下如何在混合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
{
"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库文件夹中?