Skip to content
Translated timezones according to CLDR
Ruby
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.
cache
lib/cldr
spec
vendor/cldr/common
.travis.yml
Gemfile
Gemfile.lock
Rakefile
Readme.md
ruby-cldr-timezones.gemspec

Readme.md

Translated timezones according to CLDR

Install

gem install ruby-cldr-timezones

Usage

require 'cldr/timezones'

To get a basic subset of translations you can simply pass the locale.

Cldr::Timezones will return a hash with the following format {timezone_identifier => "(GMT Offset) timezone_name_translated"}

Cldr::Timezones.list(:es) # {"Europe/Moscow" => "(GMT+04:00) Moscú"}
Cldr::Timezones.list(:ja) # {"America/Cordoba" => "(GMT-09:00)モスクワ"}

There is also support for fallback.

Cldr::Timezones.list(:"es-MX") # {"Europe/Moscow" => "(GMT+04:00) Moscú"}

If you want to retrieve the full set of timezones (currently 581) you can simply pass the option :full

Cldr::Timezones.list(:ja, :full) #To get the full list of timezones

If you want to get a list which contains the translated name, offset and GMT translation and format for each translation (supports :full option, i.e. :pt, :full)

Cldr::Timezones.raw(:ja) # {"America/Cordoba" => ["コルドバ", "+08:00", "GMT"]

If you want to get the list of supported languages

Cldr::Timezones.supported_locales # ["aa", "aa-DJ", "aa-ER", "aa-ET",...."zh-Hant-TW", "zu", "zu-ZA"]

If your project is already using ActiveSupport mapping and you want backwards compatibility use:

Cldr::Timezones.list(:ja, :rails_identifiers) # {"St. Petersburg" => "(GMT+04:00) Moscú"}

If you want both ActiveSupport mapping and the full list of timezones use:

Cldr::Timezones.list(:ja, {:rails_identifiers => true, :full => true}) #To get the full list of timezones

TODO

  • Handle BIDI timezones

    Cldr::Timezones.list(:ar) # {"America/Cordoba" => "0}جرينتش} كوردوبا"}

Author

Ana Martinez
acemacu@gmail.com
License: MIT

Build Status Code Climate

Something went wrong with that request. Please try again.