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.

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:

  1. Añadir la siguiente linea al fichero config/environment.rb:
    1
    2
    
    
    Mephisto::I18N.locale_definition = :path
    
  2. Reemplazar la llamada a:
    1
    2
    3
    
    
      Mephisto::Routing.connect_with map
      
    con
    1
    2
    3
    
    
      Mephisto::I18N::Routing.connect_with map
      
    el fichero config/routes.rb.
  3. Opcionalmente, modifica cualquier vinculo fijo en tus plantillas liquid así:
    antes
    1
    2
    3
    
    
      <a href="/{{'blog' | t: 'urls'}}">{{'Weblog' | t}}</a>
      
    despues
    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 :)

un comentario sobre “Globalizando Mephisto (4ª Parte)”

  1. Lukasz Nowak

    Hi, I’d like to know is it polish version of mephisto? If not could we translate mephisto?

Deja tu comentario