aimeos / ai-zend2-i18n
适用于 Aimeos 网上商店和电子商务解决方案的 Zend Framework 2 适配器
Requires
- php: >=5.3.3
- aimeos/aimeos-core: 2018.10.*
- composer/installers: ^1.0
- zendframework/zend-i18n: ~2.3
- zendframework/zend-servicemanager: ~2.3
- dev-master
- 2018.10.x-dev
- 2018.10.1
- 2018.07.x-dev
- 2018.07.1
- 2018.04.x-dev
- 2018.04.1
- 2018.01.x-dev
- 2018.01.2
- 2018.01.1
- 2017.10.x-dev
- 2017.10.1
- 2017.07.x-dev
- 2017.07.2
- 2017.07.1
- 2017.04.x-dev
- 2017.04.1
- 2017.03.x-dev
- 2017.02.x-dev
- 2017.01.x-dev
- 2017.01.2
- 2017.01.1
- 2016.10.x-dev
- 2016.10.1
- 2016.07.x-dev
- 2016.07.2
- 2016.07.1
- 2016.04.x-dev
- 2016.04.1
- 2016.01.x-dev
- 2016.01.2
- 2016.01.1
- 2015.10.x-dev
- 2015.10.3
- 2015.10.2
- 2015.10.1
- 2015.07.x-dev
- 2015.07.1
- 2015.03.x-dev
- 2015.03.1
- 2015.03.0
- 2014.x-dev
This package is auto-updated.
Last update: 2019-02-20 20:03:27 UTC
README
Aimeos Zend2 I18n 适配器
Aimeos 网上商店组件可以集成到几乎任何 PHP 应用程序中,并使用应用程序的基础设施来构建 URL、缓存内容、配置设置、记录消息、处理会话、发送电子邮件或处理翻译。
ai-zend2-i18n 扩展将 Zend I18n 组件集成到 Aimeos 中,以便将消息翻译成 Aimeos。如果 Aimeos 翻译应在您的应用程序中可用,则非常有用。
目录
安装
为了允许 Aimeos 网上商店组件检索用于字符串的翻译,您必须首先安装适配器。与每个 Aimeos 扩展一样,最简单的方法是通过 composer 安装。如果您尚未安装 composer,您可以在命令行中执行此字符串以下载它
php -r "readfile('https://getcomposer.org.cn/installer');" | php -- --filename=composer
将 ai-zend2-i18n 扩展添加到您的 composer.json
文件的 "require" 部分
"require": [
"aimeos/ai-zend2-i18n": "dev-master",
...
],
如果您不想使用最新版本,您也可以安装任何版本。版本列表可在 Packagist 上找到。之后,您只需要在命令行中执行 composer update 命令
composer update
设置
现在,将 Zend I18n 对象添加到 Aimeos 上下文中,您必须创建它才能使 Aimeos 组件运行
$i18nPaths = $aimeos->getI18nPaths();
$i18n = new \MW_Translation_Zend2( $i18nPaths, 'gettext', 'en', array( 'disableNotices' => true ) );
$context->setI18n( array( 'en' => $i18n );
$aimeos
对象是来自核心的 Aimeos
类的实例。上面的代码只会设置英语的翻译,但您也可以一次设置多种语言并将它们作为数组传递给 setI18n()
方法。
为了加快检索翻译字符串的速度,您可以在将其添加到上下文之前将翻译对象包装到 APC 装饰器中
if( function_exists( 'apc_store' ) === true ) {
$i18n = new \MW_Translation_Decorator_APC( $i18n, 'myApcPrefix:' ) );
}
这将使用 Web 服务器的共享内存来存储和检索字符串,而不是二进制 gettext "mo" 文件。
为了覆盖本地翻译,您可以进一步添加它们
$i18n = new \MW_Translation_Decorator_Memory( $i18n, array( /*...*/ ) );
所有来自第二个参数的翻译都将被用来代替 gettext 文件中的翻译。翻译的格式必须是
'<translation domain>' => array(
'<original singular>' => array('<singular translation>','<plural translation>'),
),
'client/html' => array(
'address' => array('Address','Addresses'),
),
许可证
Aimeos ai-zend2-i18n 扩展根据 LGPLv3 许可证条款授权,并且是免费的。