Set I18n.locale
based on the environment variables that control the locale.
This is for Desktop applications only. For web application see http_accept_languge or http-accept.
require "i18n"
require "i18n/env/config"
I18n.config = I18n::Env::Config.new
Now I18n.locale
will be derived from the user's environment.
The following environment variables are searched, in order:
LANGUAGE
LC_ALL
LC_MESSAGES
LANG
(Just like gettext).
If an exact match is not found, the list is reevaluated using the locale's parent(s).
E.g., if en_US
is not found, we see if en
is available.
Add this line to your application's Gemfile:
gem "i18n-env-config"
And then execute:
$ bundle
Or install it yourself as:
$ gem install i18n-env-config
The gem is available as open source under the terms of the MIT License.