2011-08-27 38 views
6

Tengo como de costumbre mis archivos de traducción en configuraciones regionales.explícitamente diga en qué idioma traducir

Ahora tengo un correo de invitación en varios idiomas.

Quiero que el usuario seleccione en qué idioma se debe enviar el correo, porque no se trata del idioma del usuario que lo usa, sino del idioma que debe leer el destinatario.

¿Hay alguna manera de decirle a los rieles explícitamente qué idioma elegir, como t(:my_string, :en)?

El objetivo es tenerlo traducido temporalmente para una sola llamada de t.

Esto es lo que necesito, para decir dentro del comando t(), qué idioma se va a usar.

Gracias.

Yours, Joern.

Respuesta

3

Creo que tendrá que establecer explícitamente el lenguaje adecuado para I18n.
Puede usar: I18n.locale = :en para configurar el idioma que necesita.
También busque aquí: I18n

+0

Lo sé, pero esta no es la respuesta a mi pregunta. Quiero temporalmente seleccionar de un archivo de configuración regional, en pseudo código como 't ​​(: mi_sentencia,: en)' para traducir ': mi_sentencia' solo una vez a': en' –

+0

No puede hacer una traducción como esa, 't' o' Los métodos de l' miran para el valor de 'I18n.locale', así que necesitarás fijarlo explícitamente. O puede anular el método 't' :) – bor1s

+0

Por cierto, no era necesario rechazarme – bor1s

0

Puede utilizar el I18n backend que toman la configuración regional como primer argumento:

I18n.backend.translate(:en, :my_string)

6

Es posible pasar :locale opción de t método:

t :my_string, locale: :de 
Cuestiones relacionadas