voglio I18n.translate()
o I18n.t()
di utilizzare una specifica locale, ma non I18n.locale. Non voglio usare I18n.t(:my_key, locale: :my_locale)
ogni volta, quindi sarebbe bello se potessi scavalcare la funzione stessa.Override rotaie traduzioni aiutante
Ho cercato di metterlo in un nuovo aiutante:
# my_helper.rb
module MyHelper
def translate(key, options = {})
options[:locale] = MY_LOCALE
I18n.translate key, options
end
alias :t :translate
end
Questo funziona bene per "hard key" come t('word')
, ma non trova la strada giusta "tasti dinamici", come t('.title')
, che dovrebbe utilizzare il percorso del mio parziale, ovvero de.users.form.title
.
Grazie per qualsiasi aiuto!
penso che manchi il metodo 'I18n.with_locale' – phoet
Grazie per il commento. 'I18n.with_locale (MY_LOCALE) {}' sarebbe la stessa cosa di 'I18n.t (: chiave, locale: MY_LOCALE)'. Speravo in una soluzione con la funzione standard 'I18n.t() e una definizione centralizzata delle impostazioni internazionali che voglio usare. – Railsana
Non puoi semplicemente impostare la locale da un parametro, da un dominio o qualcosa di simile, come discusso qui: http://guides.rubyonrails.org/i18n.html#setting-and-passing-the-locale? In questo modo, avresti impostato la localizzazione per richiesta e poi potevi usare 'I18n.t' come normale, ma usando la locale impostata per la richiesta invece delle impostazioni locali predefinite. – Frost