0.0
No commit activity in last 3 years
No release in over 3 years
Converts from Ruby's locale to the nearest Facebook's locale. This way you can localize the "I like it" button on every web page you want
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
 Dependencies

Development

Runtime

 Project Readme

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".