Soy nuevo en Symfony2 y estoy buscando elegir el idioma con el TLD de mi nombre de host. (de manera apropiada)Symfony2 Idioma para TLD
ya que encontrar alguna manera de cambiar el idioma con un formulario: http://symfony.com/blog/play-with-the-user-language
pero tengo que ser capaz de seleccionar el idioma cuando un nuevo usuario se conecte con:
- www.hostname.fr => fr
- www.hostname.it => que
- www.hostname.co.uk => es
Por ahora añadir un detector de servicios que desencadenan para cada solicitud:
services:
kernel.listener.domain_langue_listener:
class: acme\DemoBundle\Listener\DomainLangueListener
tags:
- { name: kernel.event_listener, event: kernel.request, method: onDomainParse }
con la clase:
namespace acme\DemoBundle\Listener;
class DomainLangueListener
{
public function onDomainParse(Event $event)
{
$request = $event->getRequest();
$session = $request->getSession();
preg_match('/[^.]+$/', $request->getHost(), $match);
$session->setLocale($match[0]);
}
}
Este detector funciona, pero me gustaría utilizar algunos parámetros para definir qué partido TLD con que el lenguaje, pero en el oyente no puedo tener acceso al contenedor de esa manera:
$this->container->getParameter('tld_allowed');
me gustaría saber si hay otra forma de acceso a los parámetros en un Oyente O de otra manera para seleccionar un idioma con el nombre de host
Gracias por su respuesta.