translation - framework - ¿Cómo configurar una configuración regional en ZF2 desde las preferencias del navegador?
form zend framework 3 (2)
En Zend framework 1 puedo hacer
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);
Pero, ¿cómo funciona con Zend Framework 2?
Hace poco publiqué en mi blog sobre Zend Framework 2 y cómo funcionan todas las configuraciones i18n, l10n y locale. Esto también podría ser interesante para usted, ya que la configuración regional utilizada se puede configurar de muchas maneras.
Lea sobre esto: Zend Framework 2 - translate, i18n, locale
Personalmente sigo el siguiente enfoque y luego, dependiendo de su estructura, puede agregar configuraciones regionales desde la base de datos, sesión o cookies o lo que sea;
<?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'');
}
//...
}
A juzgar por este RFC , se tomó la decisión de dejar Zend_Locale fuera de Zend Framework 2 y confiar en las clases centrales de PHP I18n .
Yo recomendaría leer el manual que comienza con la introducción para comprender bien las clases y luego refactorizar su código para usarlas.