Skip to content
This repository

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP

Rails plugin for localized "country_select" helper with Rake task for downloading locales from Unicode.org's CLDR

branch: master
README.rdoc

Build Status Development Status

LocalizedCountrySelect

Rails gem to provide support for localized <select> menu with country names and for storing country information as country code (eg. 'es'), not name (eg. 'Spain'), in the database.

Installation

Put this line into you Gemfile:

gem "magic-localized_country_select", "~> 0.2.0"

Usage

Uses the Rails internationalization framework (I18n, rails-i18n.org) for translating the names of countries. Requires Rails 3 or later versions. Country names are loaded from hashes in config/locale directory, according to I18n.locale value.

You can easily translate country codes in your application like this:

<%= I18n.t @user.country, :scope => 'countries' %>

Comes with a Rake task rake import:country_select 'de' for importing country names from Unicode.org's CLDR repository (www.unicode.org/cldr/data/charts/summary/root.html) Don't forget to restart the application when you add new locale.

ActionView helper code is adapted from Rails' default country_select plugin (previously in core). See github.com/rails/country_select/tree/master/lib/country_select.rb

Examples

Show the complete country name:

<%= country_select(:user, :country, {}, :include_blank => 'Please choose...') %>

will become:

<select name="user[country]" id="user_country">
<option value="">Please choose...</option>
<option disabled="disabled" value="">-------------</option>
<option value="AF">Afghanistan</option>
...
<option value="ZW">Zimbabwe</option>
</select>

Show only the country codes:

<%= country_select(:user, :country, {:description => :abbreviated}, :include_blank => 'Please choose...') %>

will become:

<select name="user[country]" id="user_country">
<option value="">Please choose...</option>
<option disabled="disabled" value="">-------------</option>
<option value="AF">AF</option>
...
<option value="ZW">ZW</option>
</select>

for the en locale.

Other resources

Copyright © 2008 Karel Minarik (www.karmi.cz), released under the MIT license

Something went wrong with that request. Please try again.