Skip to content
This repository

Ruby on Rails plugin. Fishes out the Accept-Language header into an array.

tree: 1850a45549

Fetching latest commit…

Octocat-spinner-32-eaf2f5

Cannot retrieve the latest commit at this time

Octocat-spinner-32 lib
Octocat-spinner-32 test
Octocat-spinner-32 .gitignore
Octocat-spinner-32 Gemfile
Octocat-spinner-32 README.rdoc
Octocat-spinner-32 Rakefile
Octocat-spinner-32 http_accept_language.gemspec
README.rdoc

HttpAcceptLanguage

A small effort in making a plugin which helps you detect the users preferred language, as sent by the HTTP header.

Features

  • Splits the http-header into languages specified by the user

  • Returns empty array if header is illformed.

  • Corrects case to xx-XX

  • Sorted by priority given, as much as possible.

  • Gives you the most important language

  • Gives compatible languages

See also: www.w3.org/Protocols/rfc2616/rfc2616-sec14.html

Example

class SomeController < ApplicationController
  def some_action

    request.user_preferred_languages
    # => [ 'nl-NL', 'nl-BE', 'nl', 'en-US', 'en' ]

    available = %w{en en-US nl-BE}
    request.preferred_language_from(available)
    # => 'nl-BE'

    request.user_preferred_languages
    # => [ 'en-GB']
    available = %w{en-US}
    request.compatible_language_from(available)
    # => 'en-US'
  end
end

Installation

Install the gem http_accept_language, require it in your Rails app.

Changelog

  • 2011-09-11: 1.0.2 release, still works appearantly

  • 2010-01-05: Gem release

  • 2009-03-12: Rails 2.3 compatible

Copyright © 2008-2011 Iain Hecker, released under the MIT license

Something went wrong with that request. Please try again.