Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Converts from Ruby's locale to the nearest Facebook's locale
Ruby JavaScript
Branch: master

Fetching latest commit…

Cannot retrieve the latest commit at this time

Failed to load latest commit information.
lib
pkg Added new published gem
spec
testapp
.gitignore
.rspec
.travis.yml
Gemfile
Gemfile.lock
README.md
Rakefile
fb-localizer.gemspec

README.md

FB Localizer

Description

Facebook Localizer is a simple gem which converts from Ruby's locale to the nearest Facebook's locale. Ruby's locales only include the language information (not the region), but Facebook does. Also, Facebook supports only a subset of all languages in the world.

So, if we want to add a localized "I like it" button into our web page, we need a tool to convert from one to the other.

Note: a more complex algorithm on planning which is the nearest locale is planned.

Build Status

Priority locales

FB-Localizer has, from version 0.1.3, the ability to allow the user to set priorities to certain locales.

If you try to convert "en" (for English) to a Facebook-compatible locale, you will find out that many are available: Pirate, Upside down, United States, and Great Britain. With this priority-locales feature you can indicate FB-Localizer to, in case of having English ("en") to translate, use directly, for example, the English's Great Britain locale.

Just create an initializer in app/initializers/, and set something like:

FbLocalizer.configure do |config|
  config.priorized = { :en => "en_GB" }
end

The format of the priorized locales is a hash. For each record in the hash,

  • The key is the symbol for the locale, e.g :en or :es
  • The value is your priorized Facebook locale for it, e.g. "en_US" for :en or "es_ES" for :es

Nevertheless, FB-Localizer itself has default locales for a ruby locale. The complete list is:

  • United States' english
  • Spain's spanish
  • Portugal's portuguese
  • Simplified chinese

The complete list of Facebook locales is in a XML provided by Facebook itself: complete list of Facebook locales

Usage

Let's see an example. Say you have a little HAML snippet which loads Facebook's "I like it" script and shows one. Instead of hardcoding the locale, as in here:

%script{:src => "http://connect.facebook.net/en_US/all.js#xfbml=1"}
%fb:like{:href => request.url, :layout => "button_count", :show_faces => "true"}

You can use this gem to automatically get the adequate extended locale from the current locale (example, from "en" to "en_US" or from "ca" to "ca_ES"):

%script{:src => "http://connect.facebook.net/#{get_fb_locale(I18n.locale)}/all.js#xfbml=1"}
%fb:like{:href => request.url, :layout => "button_count", :show_faces => "true"}

Installation

Simply add this gem to your Gemfile...

...
gem "fb-localizer"
...

...and execute "bundle".

Something went wrong with that request. Please try again.