Foros del Web » Programando para Internet » PHP » Symfony »

Rutas internacionles

Estas en el tema de Rutas internacionles en el foro de Symfony en Foros del Web. Buenas, Se que hay varios bundles para hacer rutas internacionales. Pero besimple/i18n-routing-bundle creo que no vale para la versión que uso 2.2 y jms/i18n-routing-bundle no ...
  #1 (permalink)  
Antiguo 21/08/2013, 16:35
Avatar de cluster28  
Fecha de Ingreso: enero-2008
Ubicación: Donostia - San Sebastián
Mensajes: 756
Antigüedad: 16 años, 10 meses
Puntos: 32
Rutas internacionles

Buenas,

Se que hay varios bundles para hacer rutas internacionales. Pero besimple/i18n-routing-bundle creo que no vale para la versión que uso 2.2 y jms/i18n-routing-bundle no se hacerlo funcionar.

De momento tengo varias routas con el sufijo _es, _en .... y genero la ruta así {{ path('listar_ultimos_'~app.request.locale) }} pero me parece muy sucio.

No se si hay otras formas.

Gracias.
  #2 (permalink)  
Antiguo 21/08/2013, 16:59
Avatar de abimex
Colaborador
 
Fecha de Ingreso: marzo-2007
Ubicación: ~
Mensajes: 751
Antigüedad: 17 años, 8 meses
Puntos: 137
Respuesta: Rutas internacionles

generalmente es "dominio.com/en/ruta"
__________________
>> abimaelmartell.com
  #3 (permalink)  
Antiguo 21/08/2013, 17:22
Avatar de cluster28  
Fecha de Ingreso: enero-2008
Ubicación: Donostia - San Sebastián
Mensajes: 756
Antigüedad: 16 años, 10 meses
Puntos: 32
Respuesta: Rutas internacionles

Ya ya, pero lo que quiero poner es "ruta" en varios idiomas. Por ejemplo "/es/temas-del-ano" y "/en/themes-from-year". Para eso son los bundles que he puesto. Haces una sola ruta pero con las cadenas que quieres mostrar segun el idioma. Pero no consigo hacerlos funcionar.
  #4 (permalink)  
Antiguo 21/08/2013, 17:23
Avatar de masterpuppet
Software Craftsman
 
Fecha de Ingreso: enero-2008
Ubicación: Montevideo, Uruguay
Mensajes: 3.550
Antigüedad: 16 años, 10 meses
Puntos: 845
Respuesta: Rutas internacionles

Lo lógico seria utilizar los bundles, cual es el problema exacto que te están dando ?
__________________
http://es.phptherightway.com/
thats us riders :)
  #5 (permalink)  
Antiguo 21/08/2013, 17:24
Avatar de abimex
Colaborador
 
Fecha de Ingreso: marzo-2007
Ubicación: ~
Mensajes: 751
Antigüedad: 17 años, 8 meses
Puntos: 137
Respuesta: Rutas internacionles

1. Seguiste las instrucciones de instalacion al pie?
2. Te muestra algun error especifico?
__________________
>> abimaelmartell.com
  #6 (permalink)  
Antiguo 22/08/2013, 02:27
Avatar de cluster28  
Fecha de Ingreso: enero-2008
Ubicación: Donostia - San Sebastián
Mensajes: 756
Antigüedad: 16 años, 10 meses
Puntos: 32
Respuesta: Rutas internacionles

Después de seguir los pasos de instalación y configuración de BeSimpleI18nRoutingBundle, al probarlo me dice:

ErrorException: Catchable Fatal Error: Argument 1 passed to BeSimple\I18nRoutingBundle\Routing\Router::__const ruct() must be an instance of Symfony\Component\HttpFoundation\Session, instance of Symfony\Component\HttpFoundation\Session\Session given, called in C:\wamp\www\proyecto\app\cache\dev\appDevDebugProj ectContainer.php on line 1016 and defined in C:\wamp\www\proyecto\vendor\besimple\i18n-routing-bundle\BeSimple\I18nRoutingBundle\Routing\Router.p hp line 42

Y con JMSI18nRoutingBundle dice que hay que generar las rutas normales para una aplicación de un solo idioma y una vez que se haya acabado usar JMSTranslationBundle para generar las traducciones Ej: "php app/console translation:extract de --dir=./src/ --output-dir=./app/Resources/translations". Aquí es dónde me lío un poco. Me dice que tengo de decirle el directorio donde están las traducciones. Hay que hacer unos ficheros xliff para traducir las rutas?

Gracias

He conseguido hacer funcionar BeSimpleI18nRoutingBundle con esta issue: https://github.com/BeSimple/BeSimple...ndle/issues/45. El otro bundle son incapaz de hacerlo funcionar.

Última edición por cluster28; 23/08/2013 a las 13:59 Razón: Solución para BeSimpleI18nRoutingBundle

Etiquetas: rutas
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 06:49.