2015-11-26 1 views
1

Pour une raison quelconque, je ne peux pas sembler changer la langue d'un site Web de Rails.Impossible de changer la langue Rails? (Spree)

J'ai un /config/locales/en.yml et un /config/locales/nl.yml. En application.rb, j'ai essayé différentes choses, maintenant il est:

config.i18n.default_locale = :nl 
config.i18n.available_locales = [:nl, :en, "nl", "en"] 
config.i18n.locale = :nl 
config.i18n.enforce_available_locales = true 
config.action_dispatch.ip_spoofing_check = false 
I18n.locale = :nl 

Cependant, j'ai essayé: « nl » aussi bien. Le '[: nl, "nl"]' est juste là parce que j'ai trouvé les deux dans les solutions, mais aucune n'a fonctionné pour moi. Le site utilise Spree (2.3), et j'utilise la fonction Spree.t() pour traduire. Quand je change juste le texte dans le fichier en.yml - qui est la langue par défaut chargée - il change le texte sur le site.

+0

Dans quel contexte voulez-vous changer? une fois pour toutes dans l'application.rb => n'oubliez pas de redémarrer votre serveur? Ou dynamiquement dans le contrôleur avec quelques paramètres [: locale] et donc en utilisant I18n.locale = ... couplé avec une before_action ...? – charlysisto

+0

@charlysisto Je veux le changer une fois pour toutes, et j'ai changé l'application.rb. J'ai également redémarré le serveur, sans aucune chance ... :( – theysconator

Répondre

0

Ce qui a fonctionné pour moi, a été d'ajouter les lignes suivantes à config/initializers/spree.rb:

Spree::Frontend::Config[:locale] = :nl 
    Spree::Backend::Config[:locale] = :en