Locale module manages the locale informations of the application. These functions are the most important APIs in this library. Almost of all i18n/l10n programs use this APIs only.
VERSION | = | "2.1.2" |
Returns the app_language_tags. Default is nil. See set_app_language_tags for more details.
Returns the language tags which are variations of the current locales order by priority.
For example, if the current locales are ["fr", "ja_JP", "en_US", "en-Latn-GB-VARIANT"], then returns ["fr", "ja_JP", "en_US", "en-Latn-GB-VARIANT", "en_Latn_GB", "en_GB", "ja", "en"]. "en" is the default locale(You can change it using set_default). The default locale is added at the end of the list even if it isn‘t exist.
Usually, this method is used to find the locale data as the path(or a kind of IDs).
(e.g.1) ["fr_FR", "en_GB", "en_US", ...]
Sets a CGI object.This is the convenient function of set_request().
This method is appeared when Locale.init(:driver => :cgi) is called.
Clear all locales and charsets of all threads. This doesn‘t clear the default and app_language_tags. Use Locale.default = nil to unset the default locale.
Gets the current locales (Locale::Tag‘s class). If the current locale is not set, this returns system/default locale.
This method returns the current language tags even if it isn‘t included in app_language_tags.
Usually, the programs should use Locale.candidates to find the correct locale, not this method.
Sets a current locale. This is a single argument version of Locale.set_current.
Locale.current = "ja-JP" Locale.current = "ja_JP.eucJP"
Gets the default locale(language tag).
If the default language tag is not set, this returns nil.
Same as Locale.set_default.
Initialize Locale library. Usually, you don‘t need to call this directly, because this is called when Locale‘s methods are called.
If you use this library with CGI or the kind of CGI. You need to call Locale.init(:driver => :cgi).
If your framework is for WWW, call this once like: Locale.init(:driver => :cgi).
If your framework doesn‘t use ruby-locale and the application is for WWW, call this once like: Locale.init(:driver => :cgi).
Don‘t call this, even if your application is only for WWW.
(ex) Locale.init(:driver => :cgi)
Set the language tags which is supported by the Application. This value is same with supported_language_tags in Locale.candidates to restrict the result but is the global setting. If you set a language tag, the application works as the single locale application.
If the current locale is not included in app_language_tags, Locale.default value is used. Use Locale.set_default() to set correct language if "en" is not included in the language tags.
Set nil if clear the value.
Note that the libraries/plugins shouldn‘t set this value.
(e.g.) Locale.set_app_language_tags("fr_FR", "en-GB", "en_US", ...)
Sets a CGI object. This is the convenient function of set_request().
This method is appeared when Locale.init(:driver => :cgi) is called.
Sets the locales of the current thread order by the priority. Each thread has a current locales. The system locale/default locale is used if the thread doesn‘t have current locales.
(e.g.)
Locale.set_current("ja_JP.eucJP") Locale.set_current("ja-JP") Locale.set_current("en_AU", "en_US", ...) Locale.set_current(Locale::Tag::Simple.new("ja", "JP"), ...)
Sets the default locale as the language tag (Locale::Tag‘s class or String(such as "ja_JP")).