- Present users coutries/languages in their language
- Convert a country/language-name to its 2-letter-code
- List of 2-letter-code/name pairs for all countries/languages in all languages
Through pkg-isocodes:
- 185 Language codes (iso 639 - 2 letter) in 68 Languages
- 246 Country codes (iso 3166 - 2 letter) in 86 Languages
- contry specific codes e.g. zh_TW are also available, have a look at the isocodes website for all options
gem install i18n_data
require 'i18n_data'
...
I18nData.languages # {"DE"=>"German",...}
I18nData.languages('DE') # {"DE"=>"Deutsch",...}
I18nData.languages('FR') # {"DE"=>"Allemand",...}
...
I18nData.countries # {"DE"=>"Germany",...}
I18nData.countries('DE') # {"DE"=>"Deutschland",...}
...
I18nData.language_code('German') # DE
I18nData.language_code('Deutsch') # DE
I18nData.language_code('Allemand') # DE
..
I18nData.country_code('Germany') # DE
I18nData.country_code('Deutschland') # DE
..
- FileDataProvider: FAST (default) (loading data from cache-files)
- LiveDataProvider: SLOW (fetching up-to-date data from svn repos)
- update FileDataProvider caches after each code-change to make changes available to users
rake write_cache_for_file_data_provider
- FileDataProvider tests might fail if caches are not updates
If you would like to have the countries list sorted alphabetically in different languages there is a gem called sort_alphabetical for that.
- include other language/country code formats (3-letter codes...) ?
- parse list of files on isocodes for write_cache instead of hardcoding country-specific ones
- rake task that checks that the readme is updated with language/country counters
Michael Grosser
michael@grosser.it
License: MIT