A Ruby gem that provides the ISO 639-2 and ISO 639-1 data sets along with some convenience methods for accessing different entries and entry fields. The data comes from the LOC ISO 639-2 UTF-8 data set.
gem install iso-639
The ISO 639-1 specification uses a two-letter code to identify a language and is often the recommended way to identify languages in computer applications. The ISO 639-1 specification covers most developed and widely used languages.
To find a language entry:
# by alpha-2 or alpha-3 code ISO_639.find_by_code("en") # or ISO_639.find("en") # by English name ISO_639.find_by_english_name("Russian") # by French name ISO_639.find_by_french_name("français")
ISO_639.search class method searches across all fields and will match names in cases where a record has multiple names. This method always returns an array of 0 or more results. For example:
ISO_639.search("spanish") # => [["spa", "", "es", "Spanish; Castilian", "espagnol; castillan"]]
Entries are arrays with convenience methods for accessing fields:
@entry = ISO_639.find("slo") # => ["slo", "slk", "sk", "Slovak", "slovaque"] @entry.alpha3_bibliographic # => "slo" @entry.alpha3 # shortcut for #alpha3_bibliographic # => "slo" @entry.alpha3_terminologic # => "slk" @entry.alpha2 # => "sk" @entry.english_name # => "Slovak" @entry.french_name # => "slovaque"
The full data set is available through the
Note on Patches/Pull Requests
- Fork the project.
- Make your feature addition or bug fix.
- Add tests for it. This is important so I don’t break it in a future version unintentionally.
- Commit, do not mess with rakefile, version, or history. (if you want to have your own version, that is fine but bump version in a commit by itself I can ignore when I pull)
- Send me a pull request. Bonus points for topic branches.
Copyright (c) 2010 William Melody. See LICENSE for details.