Problema con GetText


#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


#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


#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