gpt4 book ai didi

zend-framework2 - Zend Framework 多语言集成步骤

转载 作者:行者123 更新时间:2023-12-04 22:12:55 25 4
gpt4 key购买 nike

我是 的新手Zend 框架2 我正在一个具有多语言集成的网站上工作。请给我一些想法,应该如何配置内置库和翻译文件,以及如何从 View 文件中调用它

最佳答案

ZF2 已经集成了 I18n 工具。

如何整合它

模块.config.php

'translator' => array(
'locale' => 'en_US',
'translation_file_patterns' => array(
array(
'type' => 'gettext',
'base_dir' => __DIR__ . '/../language',
'pattern' => '%s.mo',
),
),
),

文件 *.mo

按照上一步,创建一个文件夹并添加您的 zh_CN.mo (例如)使用 Poedit (简单好用的应用)

模块.php
public function onBootstrap($e)
{
$translator = $e->getApplication()->getServiceManager()->get('translator');
$translator
->setLocale(\Locale::acceptFromHttp($_SERVER['HTTP_ACCEPT_LANGUAGE']))
->setFallbackLocale('en_US');
}

rq:我个人使用 session 来存储我的语言环境,但这取决于我是否需要使用语言的 SEO
    // session container
$sessionContainer = new Container('locale');

// test if session language exists
if(!$sessionContainer->offsetExists('mylocale')){
// if not use the browser locale
if(isset($_SERVER['HTTP_ACCEPT_LANGUAGE'])){
$sessionContainer->offsetSet('mylocale', Locale::acceptFromHttp($_SERVER['HTTP_ACCEPT_LANGUAGE']));
}else{
$sessionContainer->offsetSet('mylocale', 'en_US');
}

}

// translating system
$translator = $serviceManager->get('translator');
$translator ->setLocale($sessionContainer->mylocale)
->setFallbackLocale('en_US');

$mylocale = $sessionContainer->mylocale;

如何使用它

在 View 中,只需键入:
 <?php echo $this->translate("Translate that!"); ?>

一些要探索的链接
  • http://samminds.com/2012/09/zend-framework-2-translate-i18n-locale/
  • http://framework.zend.com/manual/2.2/en/modules/zend.i18n.translating.html
  • http://framework.zend.com/manual/2.2/en/user-guide/styling-and-translations.html
  • 关于zend-framework2 - Zend Framework 多语言集成步骤,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19271950/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com