translation - 如何从浏览器首选项在 ZF2 中设置语言环境?

标签 translation zend-framework2

在 Zend 框架 1 我可以做

try {
    $locale = new Zend_Locale('browser'); 
} catch (Zend_Locale_Exception $e) {
    $locale = new Zend_Locale('en');   
}
$registry = Zend_Registry::getInstance();
$registry->set('Zend_Locale', $locale);

但它如何与 Zend Framework 2 配合使用?

最佳答案

我最近发表了关于 Zend Framework 2 以及所有 i18n、l10n 和区域设置如何工作的博客。这对您来说也可能很有趣,因为可以通过多种方式设置所使用的语言环境。

阅读它:Zend Framework 2 - translate, i18n, locale

我个人采用以下方法,然后 - 根据您的结构 - 您可以从数据库、 session 或 cookie 或其他任何地方添加语言环境;)

<?php
namespace FileManager;

use Zend\Mvc\ModuleRouteListener;

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

    //...
}

关于translation - 如何从浏览器首选项在 ZF2 中设置语言环境?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12687821/

相关文章:

php - 如何在 ZF2 中编写满足 GET 参数的路由?

symfony - Zend Framework 2 和 Symfony 2 的主要区别

sqlite - 如何在phonegap应用程序中存储翻译并保存用户首选项?

mongodb - ZF2 + Doctrine ODM + doctrine-mongodb-odm-module分页教程

android - 在Android中将宽幅图片翻译为背景

java - 如何解析html和css来理解页面的布局(java)

php - Zend Framework 中的DI 2. 如何建立循环依赖?

zend-framework2 - 从 Zend Framework 2 中的 subview 访问父 View 的变量

localization - 通过 Typoscript 添加对 TYPO3 扩展的翻译

c# - 如何在PC上下载语言包以使用离线谷歌翻译?