Plugin translate_routes

Hola expertos,

estoy utilizando el plugin trasnlate_routes de raul murciano, el plugin
esta
muy bueno y se ajusta a muy bien mis necesidades.

el unico problema que no puedo resolver es que el lenguaje por defecto
quedo
en ingles , es decir el index (’/’) de la aplicacion es en ingles, pero
quiero que quede en español y para ingles acceder como (’/en’), en este
momento sol puedo acceder a español asi (’/es’) ¿se entiende la
pregunta?

espero me puedan ayudar con esta

Saludos

Atte.
Miguel Michelson Martinez

Hola Miguel,

2008/9/3 Miguel M. [email protected]:

estoy utilizando el plugin trasnlate_routes de raul murciano, el plugin esta
muy bueno y se ajusta a muy bien mis necesidades.

Estupendo, me alegro de que te sea útil :smiley:

el unico problema que no puedo resolver es que el lenguaje por defecto quedo
en ingles , es decir el index (‘/’) de la aplicacion es en ingles, pero
quiero que quede en español y para ingles acceder como (‘/en’), en este
momento sol puedo acceder a español asi (‘/es’) ¿se entiende la pregunta?

No sé si has probado alguna de las opciones de configuración que se
indican en la documentación, esta en concreto puede serte útil:

You can change the default language of your application with:

  ActionController::Routing::Translator.default_lang = 'es'

Hola Raúl, gracias por responder :smiley:

mira, he echo esto en application.rb
@lang =
params[ActionController::Routing::Translator.lang_param_key] ||
‘es’
ActionController::Routing::Translator.translate_from_files
ActionController::Routing::Translator.default_lang = ‘es’

y en routes tambien puse eso

ActionController::Routing::Translator.translate_from_files
ActionController::Routing::Translator.default_lang = ‘es’

estoy haciendo algo mal o falta algo?

gracias

Atte.
Miguel Michelson Martinez

www.artenlinea.cl

2008/9/3 Raul M. [email protected]

Creo que tengo una pista, la configuración del idioma por defecto ha
de efectuarse antes de traducir las rutas, como se muestra en este
ejemplo de la doc:

    ActionController::Routing::Translator.default_lang = 'es'
    ActionController::Routing::Translator.translate do |t|
      t['en'] = {}
      t['es'] = { # spanish translation here }
    end

Como en tu caso usas la opción de traducciones en YAML, tu routes
vendría a ser algo
así:
ActionController::Routing::Routes.draw do |map|

tus rutas van aquí

end

ActionController::Routing::Translator.default_lang = ‘es’
ActionController::Routing::Translator.translate_from_files # las rutas
se traducen en este punto

Según tu mensaje, has invertido el orden de estas dos últimas líneas,
de forma que declaras el lenguaje por defecto después de traducir los
archivos y por tanto éste no se tiene en cuenta durante la
traducción.
Estas opciones de configuración se aplican siempre en routes.rb y no
en el controlador, porque las traducciones se realizan al arrancar la
aplicación y no al recibir cada petición. De hecho, para comprobar si
el idioma por defecto está bien configurado no necesitas arrancar tu
aplicación, puedes hacer esto desde su directorio raíz:

rake routes | grep root

La configuración por defecto aplica el inglés:

root_es /es {:action=>“…”, :lang=>“es”, :controller=>“…”}
root / {:action=>“…”, :lang=>“en”,
:controller=>“…”}

Y al aplicar la configuración que comentaba antes debes obtener:

root_en /en {:action=>“…”, :lang=>“en”, :controller=>“…”}
root / {:action=>“…”, :lang=>“es”,
:controller=>“…”}

Seguramente esto corrija tu problema, si no es así sigue preguntando,
puede que hayas encontrado algún bug :wink:
De todos modos voy a documentar mejor este paso, gracias por el feedback
Miguel!


Raul M. - Freelance Web D.
http://raul.murciano.net

El día 4 de septiembre de 2008 3:49, Miguel M.
[email protected]
escribió:> Hola Raúl, gracias por responder :smiley:

El día 4 de septiembre de 2008 16:54, Miguel M.
[email protected]
escribió:> muchas gracias por la ayuda, ahora si funciona :smiley:

Estupendo :slight_smile:

verás, tengo un menú “es | en | pt”, y en esos links tengo el index_path,
index_en_path e index_pt_path, esto hace que siempre los botones redirijan
al index cuando uno cambie de idioma, pero me gustaría hacer un helper para
que si por ejemplo estoy en news/blog/archives, al cambiar de idioma ese
boton me lleve news_blog_archives_path, es decir al current path cambiando
el idioma.
¿tienes alguna sugerencia?

Es una funcionalidad muy común, tanto es así que escribí un ejemplo de
cómo hacer esto mismo en la aplicación de ejemplo incluida en el
plugin :wink: Basta con fijar el parámetro :lang al idioma de destino:

<%= link_to(‘English version’, :lang => ‘en’) %>

ah , una cosa, al integrar el plugin a mi proyecto me dió algunos problemas
con github, al parecer el plugin tiene un .gitignore por ahi que hizo que
algunos archivos no se actualizaran bien, dandome algunos dolores de cabeza
al hacer checkouts o pull/pushs :smiley:

Vaya, siento las molestias :frowning: ¿Podrías enviarme
información másdetallada para corregir el problema? (Mejor a mi dirección personal,
para no crear ruido en la lista)

2008/9/5 Raul M. [email protected]

al index cuando uno cambie de idioma, pero me gustaría hacer un helper

<%= link_to(‘English version’, :lang => ‘en’) %>

a há, era mas facil de lo que pensaba :smiley:

detallada para corregir el problema? (Mejor a mi dirección personal,
para no crear ruido en la lista)

ok , saludos y gracias

Hola Raúl,

muchas gracias por la ayuda, ahora si funciona :smiley:

tengo una segunda duda , que quizás exeda el core del plugin en si, pero
es
una funcionalidad necesaria .

verás, tengo un menú “es | en | pt”, y en esos links tengo el
index_path,
index_en_path e index_pt_path, esto hace que siempre los botones
redirijan
al index cuando uno cambie de idioma, pero me gustaría hacer un helper
para
que si por ejemplo estoy en news/blog/archives, al cambiar de idioma ese
boton me lleve news_blog_archives_path, es decir al current path
cambiando
el idioma.
¿tienes alguna sugerencia?

ah , una cosa, al integrar el plugin a mi proyecto me dió algunos
problemas
con github, al parecer el plugin tiene un .gitignore por ahi que hizo
que
algunos archivos no se actualizaran bien, dandome algunos dolores de
cabeza
al hacer checkouts o pull/pushs :smiley:

Molte grazie

Atte.
Miguel Michelson Martinez

www.artenlinea.cl

2008/9/4 Raul M. [email protected]