Ver Mensaje Individual
  #1 (permalink)  
Antiguo 20/06/2013, 19:10
Avatar de fhederico
fhederico
 
Fecha de Ingreso: agosto-2009
Mensajes: 247
Antigüedad: 15 años, 3 meses
Puntos: 23
Web Multi Idioma

Hola,

Estoy intentando hacer que mi web sea multiidioma, he intentado hacerlo con estos dos Bundles:

- JMSI18nRoutingBundle
- BeSimpleI18nRoutingBundle

El primero JMSI18nRoutingBundle me cambia efectivamente de Idioma de Español a Ingles y tambien me cambia las URL y los textos, lamentablemente por lo que he visto no es posible cambiarle los nombres a las URL por ejemplo:

Código:
ESP   www.hola.com/nostros
ENG   www.hola.com/en/AboutUs
Por lo tanto intente con el segundo Bundle BeSimpleI18nRoutingBundle, y bueno, luego de luchar un rato cree el archivo "i18n.yml" que tiene los nombres de las Rutas, pero no logro que me reconosca el cambio de Idioma, es decir, me cambio al Idioma Ingles y me deja igualmente en Español.

Los textos no los tengo en la Base de Datos, sino que en archivos
Código:
- messages.en.yml
- messages.es.yml
Podria ser por eso que no me toma el cambio de Idioma?

Bueno, el cambio de Idioma lo realizo asi

Plantilla:

Código:
<p><a href="{{ path('an_amazec_cambiaIdioma', { '_locale': 'es', 'translate': '_locale'}) }}">ESP</a></p>
<p><a href="{{ path('an_amazec_cambiaIdioma', { '_locale': 'en', 'translate': '_locale'}) }}">ENG</a></p>
Controller:

Código:
/**
     * Cambiar Idioma
     *
     * @Route("/cambiaIdioma/{_locale}", name="an_amazec_cambiaIdioma", defaults={"_locale"="es"})
     */
    public function cambiaIdiomaAction($_locale = "es")
    {
		if($_locale == "en")
			$locale = "en";
		else
			$locale = "es";
		
		$request = $this->getRequest();
		$request->setLocale($locale);
		
		return $this->redirect($this->generateURL("an_amazec_homepage"));
    }

Mi duda finalmente es... alguien a logrado hacer que esto funcione que me pueda orientar, algo estoy haciendo mal obviamente, he leido y releido la documentacion pero bueno... ya debe ser el cansancio que no me deja ver el error.

Agradesco cualquier ayuda, que ya estoy pensando en mezclar los dos Bundles y listo xD

Saludos