Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Ruby
tag: v0.0.3

Fetching latest commit…

Cannot retrieve the latest commit at this time

Failed to load latest commit information.
data
lib
locales
spec
.document
.gitignore
.rspec
Gemfile
Gemfile.lock
Guardfile
LICENSE.txt
README.md
Rakefile
VERSION
iso.gemspec

README.md

iso

Build Status

This project is a ruby implementation of ISO 639-1 alpha2 and ISO 3166-1. It includes definitions of all two letter language and region codes.

Languages

Languages are defined by ISO 639-1 alpha-2; that is the 2 letter lowercase language code.

These have been augmented to contain the plural rule names and the language's direction.

> ISO::Language.find('ru')

=> #<ISO::Language:0x007fe2ba43db50
        @plural_rule_names=["one", "few", "many", "other"],
        @direction="ltr",
        @code="ru",
        @name="Russian">

Regions

Regions are defined by ISO 3166-1; that is the 2 letter uppercase region code.

> ISO::Region.find('MX')

=> #<ISO::Region:0x007fe2ba070e50
        @code="MX",
        @name="Mexico"> 

Tags

The combination of a language and a region is called a Tag :

> ISO::Tag.new('pt-BR')

 => #<ISO::Tag:0x007fe2bb005b90 @code="pt-BR",
        @language=#<ISO::Language:0x007fe2ba256918
            @plural_rule_names=["one", "other"],
            @direction="ltr",
            @code="pt",
            @name="Portuguese">,
        @region=#<ISO::Region:0x007fe2ba412e28
            @code="BR",
            @name="Brazil">>

You can check if a Tag is valid like so :

ISO::Tag.new('pt-BR').valid? => true ISO::Tag.new('lolcat').valid? => false

I18n

Language and region names are internationalized - contribute to the I18n project directly on Locale for any changes.

Something went wrong with that request. Please try again.