Locale::Driver::Env module. Detect the user locales and the charset. All drivers(except CGI) refer environment variables first and use it as the locale if it's defined. This is a low-level module. Application shouldn't use this directly.
Gets the locale from environment variable. (LC_ALL > LC_CTYPES > LANG) Returns: the locale as Locale::Tag::Posix.
# File lib/locale/driver/env.rb, line 38 def locale # At least one environment valiables should be set on *nix system. [ENV["LC_ALL"], ENV["LC_CTYPES"], ENV["LANG"]].each do |loc| if loc != nil and loc.size > 0 return Locale::Tag::Posix.parse(loc) end end nil end
Gets the locales from environment variables. (LANGUAGE > LC_ALL > LC_CTYPES > LANG)
Returns: an Array of the locale as Locale::Tag::Posix or nil.
# File lib/locale/driver/env.rb, line 50 def locales locales = ENV["LANGUAGE"] if (locales != nil and locales.size > 0) locs = locales.split(/:/).collect{|v| Locale::Tag::Posix.parse(v)}.compact if locs.size > 0 return Locale::TagList.new(locs) end elsif (loc = locale) return Locale::TagList.new([loc]) end nil end