Terminal:
script/plugin install \ http://svn.globalize-rails.org/svn/globalize/globalize/trunk rake globalize:setup
…in config/environment.rb:
include Globalize Locale.set_base_language 'en-US'
…in the app controller, before any other filter:
before_filter :set_locale # FIXME, NOT TESTED YET, PROBABLY DOESN'T WORK. def set_locale if params[:locale] # The user has explicitly requested a locale. session[:locale] = params[:locale] Locale.set params[:locale] elsif session[:locale].empty? # The user has a current session. Locale.set session[:locale] elsif ! request.env["HTTP_ACCEPT_LANGUAGE"].empty? # We use the browser's locale settings. Locale.set request.env["HTTP_ACCEPT_LANGUAGE"][/[a-z]{2}-[a-z]{2}/i] else # the default locale defined in config/environment.rb is used. end end
…in the model:
class Blog < ActiveRecord::Base translates :title, :post end
This slightly modified version does the job:
comma and semicolon are the separators used on the HTTP Accept-Language Header Field, according to the RFC2616
http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html