Ho la seguente convalida in un modello:Internazionalizzazione rotaie (I18n) nelle convalide del modello: possibile o no?
validates_inclusion_of :whatever, :in => [true, false], :message => I18n.t('please_select_whatever')
Sembra che la traduzione non funziona in modalità di produzione: in tutte le lingue è sempre la traduzione in inglese che viene diplayed (probabilmente perché ho impostato l'inglese come predefinita locale nella mia app ...?).
Quindi presumo che non possiamo tradurre le convalide nei modelli, perché i modelli vengono caricati solo una volta - quando il server viene avviato (e quindi, verrà applicata la locale predefinita).
Ho ragione? Se sì, come risolveresti questo problema?
Grazie per il vostro aiuto!
Ho sempre dimenticato i valori predefiniti per i messaggi di errore di activerecord (e ne ho bisogno ogni pochi mesi circa), per fortuna Google mi aiuta a trovare questa risposta più e più volte! –
=> Il modo migliore per affrontare questo problema è la risposta di @iain qui sotto. –
Questo non risolve * perché la soluzione * OP non ha funzionato: la traduzione è stata interpretata quando il progetto _initialized_, che avviene ogni richiesta in dev, ma solo una volta all'avvio in prod. Per supportare più lingue devono essere interpretati in _runtime_, che la soluzione di @ iain affronta. La soluzione di TomDogg funziona solo se è possibile utilizzare la stessa traduzione predefinita in ogni caso, che non è sempre la migliore UX. – Woahdae