karmi / localized_country_select

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

This URL has Read+Write access

name age message
file .gitignore Wed Oct 22 08:36:16 -0700 2008 Initial commit [karmi]
file MIT-LICENSE Wed Oct 22 08:36:16 -0700 2008 Initial commit [karmi]
file README.rdoc Loading commit data...
file Rakefile Wed Jul 01 00:46:22 -0700 2009 Loaded plugin specific "import:country_select" ... [karmi]
file init.rb Wed Oct 22 08:36:16 -0700 2008 Initial commit [karmi]
file install.rb Wed Oct 22 08:36:16 -0700 2008 Initial commit [karmi]
directory lib/
directory locale/
directory tasks/
directory test/
file uninstall.rb Wed Oct 22 08:36:16 -0700 2008 Initial commit [karmi]
README.rdoc

LocalizedCountrySelect

Rails plugin 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.

Uses the Rails internationalization framework (I18n, rails-i18n.org) for translating the names of countries. Requires Rails 2.2 (released November 21st, 2008) or later versions. Country names are loaded from hashes in plugin 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

Example

    <%= localized_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>

for the en locale.

Other resources

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