parrulo
1
Hola
Tengo un problema al usar gettext. Cuando uso en los controlladores, por
ejemplo
flash[:notice] = _(‘Editing’)
y hago las traducciones en el archivo .po
msgid “Editing”
msgstr “Edito”
en mi pagina veo el mensaje en el idioma correspondiente, es decir
“Edito”.
Sin embargo, si pongo en cualquier archivo .rhtml
<%= _('Editing')%>
en la pagina se muestra “Editing” y no “Edito”.
¿Alguna idea de por qué ocurre esto? Le agradeceria cualquier solucion
porque llevo dias intentandolo y no encuentro el error.
Muchisimas gracias
parrulo
2
Hola,
el único punto que se me ocurre probar es forzando el locale de
gettext(danos un poco mas de información de como instalastes gettext y
como
lo configuras), no se como lo está configurado para que lo use, pero si
tenés init_gettext ‘myapp’ en ApplicationController probá poniendo esto
class ApplicationController < ActionController::Base
GetText.locale = “es”
init_gettext ‘greekap’
…
end
de esta manera fuerzas a usar un idioma determinado, también puedes
forzarlo
desde el url agregando ?lang=es al final del url que quieres probar…
Espero te sirva o te de alguna pista.
Saludos
Hernán
parrulo
3
Hola de nuevo:
Antes de nada, gracias por la ayuda.
La forma en que inicializo el gettext es la siguiente
GetText.output_charset = “ISO-8859-1”
lang = “es”
bindtextdomain(“nombre_app”,request.cgi,lang)
No se si es la forma correcta: al menos para los controladores no tengo
problemas.
La forma de instalar el gettext es a traves de “gem install gettext” y
lo incluyo en mi aplicacion es con
require ‘gettext/rails’
¿Me falta algo por añadir?
Hernan F. wrote:
Hola,
el único punto que se me ocurre probar es forzando el locale de
gettext(danos un poco mas de información de como instalastes gettext y
como
lo configuras), no se como lo está configurado para que lo use, pero si
tenés init_gettext ‘myapp’ en ApplicationController probá poniendo esto
class ApplicationController < ActionController::Base
GetText.locale = “es”
init_gettext ‘greekap’
…
end
de esta manera fuerzas a usar un idioma determinado, también puedes
forzarlo
desde el url agregando ?lang=es al final del url que quieres probar…
Espero te sirva o te de alguna pista.
Saludos
Hernán