Bonjour à tous,
Je suis nouveau sur Rails (je viens du monde java), et j’avoue que plus
j’en
découvre et plus ca me plait
J’ai un petit problème à l’utilisation de Globalite :
Mon environnement :
- Dev : Ubuntu / Feisty + WebRick
- Test: Ubuntu / Feisty + Apache2 + Mongrel
Je déploie avec capistrano
J’ai donc intégré le plugin Globalite et je me suis inspiré du
around_filter
de l’application sample du site officiel pour gérer le changement de
langue
:
class ApplicationController < ActionController::Base
around_filter :set_locale
private
def set_locale
if params[:user_locale]
Locale.code = params[:user_locale]
# Store the locale in the session
session[:locale] = params[:user_locale]
elsif session[:locale]
Locale.code = session[:locale]
else
Locale.code = “fr-FR”
end
# render the page
yield
# reset the locale to its default value
Locale.reset!
end
end
Ensuite j’appelle n’importe quel controleur avec ?user_locale=fr-FR ou
en-US
ou en-UK
J’ai 2 fichiers dans lang/ui : fr.yml et en.yml
Mon problème : sur mon environnement de dev pas de soucis, sur
l’environnement de test ca marche pour fr-FR mais il ne fait pas le lien
entre les 2 locales anglaises et mon fichier en.yml
Or j’aimerais pouvoir mettre tout ce qui est commun aux 2 locales dans
en.yml et tout ce qui est spécifique dans en-US.yml et en-UK.yml
De plus, plutôt que de mettre le “fr-FR” en langue par défaut (dans le
else), j’aimerais pouvoir mettre la langue choisie au niveau du
navigateur
… quelqu’un sait comment gérer ca ?
Merci.
Emmanuel