Locale gem is the pure ruby library which provides basic and general purpose APIs for localization.
This library was called as “Ruby-Locale”. Since 2.0.6, this library is called just “locale”. You can call this library as “locale gem” or “Ruby Locale” to distinguish from other “locale”s.
This library aims to support all environments which Ruby works and all kind of programs (GUI, WWW, library, etc), and becomes the hub of other i18n/l10n libs/apps to handle major locale ID standards.
-
Manage Locale ID(Language Tag)
-
Each thread has a Locale ID.
-
POSIX, CLDR, IETF(RFC4646, 3066(BCP47)), Win32 and Java language tags and convert the tag string to each other.
-
Auto detect Locale ID. POSIX(Unix/Linux/*BSD), Win32, JRuby, CGI(CGI, Rack, others).
-
-
Resources
-
ISO 639-3 languages
-
ISO 3166 region(countries).
-
-
Support Ruby 1.8.7, Ruby 1.9.1, JRuby 1.1.4. Tested on Win32 and Linux.
-
Ruby-1.8.7 or later <www.ruby-lang.org/>
-
JRuby-1.1.4 or later <www.jruby.org/>
% gem install locale
require 'rubygems' require 'locale' p Locale.candidates
The most important APIs are defined in Locale module.
-
Locale.candidates - Returns the current locale candidates.
-
Locale.current= - Sets the current locale(in a thread).
-
Locale.default= - Sets the default locale(in the whole program).
-
Locale.set_app_language_tags - Sets the locale that is supported by the App.
This program is licenced under the same licence as Ruby(See COPYING) or LGPL(Lesser General Public License: www.gnu.org/licenses/lgpl-3.0.txt).
-
locale/language.rb, locale/region.rb, locale/data/language.tab.gz, locale/data/region.tab.gz:
-
Copyright © 2006 Brian Pontarelli, Antonio Terceiro
-
Copyright © 2008,2009 Masao Mutoh <mutomasa at gmail.com>
-
-
Others(Some files are separated from Ruby-GetText-Package-1.92.0)
-
Copyright © 2008,2009 Masao Mutoh <mutoh at highwhay.ne.jp>
-
-
langtag-0.1.0
-
by Martin Dürst <rubyforge.org/projects/langtag/>
-
-
gettext gem
-
by The ruby-gettext project <ruby-gettext.github.com/>
-
-
The Open Group Base Specifications Issue 6 IEEE Std 1003.1, 2004 Edition Internationalization Variables <www.opengroup.org/onlinepubs/009695399/basedefs/xbd_chap08.html>
-
GNU ‘gettext’ utilities - Setting the Locale through Environment Variables <www.gnu.org/software/gettext/manual/gettext.html#Setting-the-POSIX-Locale>
-
BCP47 / RFC4646, RFC3066 - Tags for Identifying Languages (Keep RFC3066 compatibility) <www.ietf.org/rfc/rfc4646.txt> <www.ietf.org/rfc/rfc3066.txt>
-
Unicode Locale Data Markup Language (LDML) 1.6.1 Unicode Language and Locale Identifiers <www.unicode.org/reports/tr35/tr35-11.html#Unicode_Language_and_Locale_Identifiers>
-
JDK 6 Documentation - Java Supported Locales <java.sun.com/javase/6/docs/technotes/guides/intl/locale.doc.html>
-
Microsoft Developer Network - Locales and Languages <msdn.microsoft.com/en-us/library/ms776264(VS.85).aspx>
-
ISO 639
-
ISO 3166
Kouhei Sutou <kou@clear-code.com>
Masao Mutoh <mutomasa at gmail.com>