Globalizando Mephisto (4ª Parte)
Bienvenido a la cuarta parte de la serie de artículos Globalizando Mephisto que te muestra como puedes activar la definición del locale activo a través de un parámetro de “path” en vez de utilizar sub-dominios.
- 1ª Parte – Instalación y uso para un mephisto mono sitio
- 2ª Parte – Despliegue y temas de producción
- 3ª Parte – Instalación y uso para un mephisto multi sitio
- 4ª Parte – Utilizando parámetro del path para definir el locale
Cuando escribí por primera vez sobre el plugin mephisto_i18n al foro de mephisto algunos mencionaron que utilizar sub-dominios para definir el locale activo no era de su agrado, especialmente para instancias de mephisto en “shared hosts”.
Como respuesta a esa reacción, he actualizado el plugin para permitir la definición del locale a través de:
- sub-dominios (por defecto)
- parametro del ‘path’
Utilizando el modo del parámetro del path significa que puedes tener urls como estos:
1 2 3 4 5 6 7 8 9 10 |
http://webtypes.com/ http://webtypes.com/es http://webtypes.com/es/2007/5/15/globalizando-mephisto-3-parte http://webtypes.com/es/sobre http://webtypes.com/es/admin/articles/edit/2 |
Activando el modo “parámetro del path“
Solo hay 3 simples pasos:
-
Añadir la siguiente linea al fichero config/environment.rb:
1 2
Mephisto::I18N.locale_definition = :path
-
Reemplazar la llamada a:
con1 2 3
Mephisto::Routing.connect_with map
el fichero config/routes.rb.1 2 3
Mephisto::I18N::Routing.connect_with map
-
Opcionalmente, modifica cualquier vinculo fijo en tus plantillas liquid así:
antes
despues1 2 3
<a href="/{{'blog' | t: 'urls'}}">{{'Weblog' | t}}</a>
1 2 3
<a href="{{i18n.l}}/{{'blog' | t: 'urls'}}">{{'Weblog' | t}}</a>
NOTA: Estoy asumiendo que ya has instalado el plugin para un mephisto globalizado mono sitio o multi sitio.
Que está hecho automáticamente…
Cuando estás en el modo “parámetro del path” y el locale activo no es el locale base entonces:
- El plugin automáticamente reescribe las urls generadas a través del “url_rewriter” lo cual significa que todos los vínculos utilizando link_to y cía son correctamente localizados.
- A los urls de los objectos Article/Section y Site (tag/search) se añade automáticamente un prefijo con el código del idioma correcto que significa que la gran mayoría de los vínculos de tu sitio funcionarán.
Por favor experimenta con esta nueva modalidad y ,como siempre, aprecio mucho tus reacciones y sugerencias.
Saimon Moore (también disponible en Griego, Ingles y Catalán :)
Personas felices
Proyecto real
Web abierta
Hi, I’d like to know is it polish version of mephisto? If not could we translate mephisto?
Great articles! Thanks a lot.
Thanks for this useful article
Thats still very interesting.