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 :)

4 comentarios 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?

  2. Kinderspiele

    Great articles! Thanks a lot.

  3. izmir web tasarım

    Thanks for this useful article

  4. ht

    Thats still very interesting.

Deja tu comentario