Ustawienie domyślnego języka dla interfejsu

Poniższa funkcja rozpoznaje języki obsługiwane przez przeglądarkę użyszkodnika i automatycznie ustawia zmienną sesyjną interface na wartość głĂłwnego języka w przeglądarce. Jeśli jednak ktoś przełączy sobie przeglądarkę na język nie należacy do zbioru dozwolonych językĂłw, to ustawiany jest język domyślny (tu: en, czyli angielski). Dozwolone języki są w zmiennej allowed_langs.

def default_lang allowed_langs = ['pl', 'en', 'de', 'fr', 'ru'] if allowed_langs.include?(@request['interface']) default = session[:interface] = @request['interface'] else default = @request.env['HTTP_ACCEPT_LANGUAGE'].split(',')[0][0..1] if !allowed_langs.include?(default) default = 'en' end end return default
Można zmienić zmienną sesyjną za pomocą metody POST lub GET. Wystarczy jeden raz wpisać w adresie URL: ?interface=fr aby domyślnym językiem teraz był francuski. Po takiej operacji przeglądarka nie ma tu nic do gadania. Tzn. ignorowane są jej ustawienia bowiem fakt że ktoś ręcznie tak sobie ustawił stanowi dowĂłd że chce aby w takim języku działał interfejs aplikacji.