J'utilise before_filter dans ApplicationController pour définir locale pour mon application:Ruby on Rails + Devise + I18n: comment définir les paramètres régionaux?
class ApplicationController < ActionController::Base
protect_from_forgery
before_filter :set_locale
def set_locale
I18n.locale = request.compatible_language_from ["uk", "ru", "de", "en"]
end
end
Il fonctionne pour les contrôleurs qui sont écrits par moi. Mais les messages de tous les appareils sont toujours en anglais.
Réglage config.i18n.default_locale = "uk"
(ou autre) dans config/application.rb
œuvres, donc je suppose que le problème est le contrôleur qui méditent n'utilise pas mon before_filter (peut-être, il ne hérite pas ApplicationController
du tout (?)).
Comment résoudre ce problème? Comment faire usage utiliser ma locale?
utilise vos applications ApplicationController. ceci est configurable via le paramètre parent_controller. – phoet
@Hauleth Oui, je l'ai fait. Et ils fonctionnent si je définis des paramètres régionaux non anglais par défaut avec config.i18n.default_locale dans application.rb – frp