tengo el siguiente validación de un modelo:Internacionalización de rieles (I18n) en validaciones de modelo: posible o no?
validates_inclusion_of :whatever, :in => [true, false], :message => I18n.t('please_select_whatever')
Parece que la traducción no funciona en el modo de producción: en todos los idiomas que siempre es la traducción en Inglés que consigue diplayed (probablemente porque me puse Inglés como predeterminado configuración regional en mi aplicación ...?).
Supongo que no podemos traducir las validaciones en los modelos, ya que los modelos se cargan solo una vez, cuando se inicia el servidor (y luego se aplica la configuración regional predeterminada).
¿Estoy en lo cierto? Si es así, ¿cómo resolverías este problema?
Gracias por su ayuda!
Siempre olvido los valores predeterminados para los mensajes de error activerecord (y los necesito cada pocos meses más o menos), afortunadamente Google me ayuda a encontrar esta respuesta una y otra vez. –
=> La mejor manera de abordar este problema es la respuesta de @iain a continuación. –
Esto no soluciona la solución OP * * why * no funcionó: la traducción se interpretó cuando el proyecto _initialized_, que sucede a cada solicitud en dev, pero solo una vez en el arranque en prod. Para admitir varios idiomas, deben interpretarse en _runtime_, que es la solución de @iain. La solución de TomDogg solo funciona si puede usar la misma traducción predeterminada en cada caso, que no siempre es el mejor UX. – Woahdae