Module: Locale::SystemCGI
- Defined in:
- lib/gettext/locale_cgi.rb
Overview
Locale::System module for CGI. This is a low-level class. Application shouldn’t use this directly.
Constant Summary collapse
- @@default_locale =
Locale::Object.new("en", nil, "UTF-8")
- @@cgi =
nil
Class Method Summary collapse
-
.cgi ⇒ Object
Gets the CGI object.
-
.cgi=(cgi_) ⇒ Object
Sets a CGI object.
-
.default_locale ⇒ Object
Gets the default Locale::Object.
-
.default_locale=(locale) ⇒ Object
Sets a default locale.
-
.get_charset(locale) ⇒ Object
Gets the charset of the locale.
-
.set_cgi(cgi_) ⇒ Object
Sets a CGI object.
-
.set_default_locale(locale) ⇒ Object
Sets a default locale.
-
.system ⇒ Object
Gets the default locale using setlocale and nl_langinfo.
Class Method Details
.cgi ⇒ Object
Gets the CGI object. If it is nil, returns new CGI object.
-
Returns: the CGI object
71 72 73 74 |
# File 'lib/gettext/locale_cgi.rb', line 71 def cgi @@cgi = CGI.new unless @@cgi @@cgi end |
.cgi=(cgi_) ⇒ Object
Sets a CGI object.
-
cgi_: CGI object
-
Returns: cgi_
64 65 66 67 |
# File 'lib/gettext/locale_cgi.rb', line 64 def cgi=(cgi_) set_cgi(cgi_) cgi_ end |
.default_locale ⇒ Object
Gets the default Locale::Object.
-
Returns: the default locale
95 96 97 |
# File 'lib/gettext/locale_cgi.rb', line 95 def default_locale @@default_locale end |
.default_locale=(locale) ⇒ Object
Sets a default locale. en.UTF-8 is the default value if not set.
-
locale: Locale::Object
-
Returns: locale
88 89 90 91 |
# File 'lib/gettext/locale_cgi.rb', line 88 def default_locale=(locale) set_default_locale(locale) locale end |
.get_charset(locale) ⇒ Object
Gets the charset of the locale.
-
locale: Locale::Object
-
Returns: the charset of the locale
49 50 51 |
# File 'lib/gettext/locale_cgi.rb', line 49 def get_charset(locale) locale.charset ? locale.charset : @@default_locale.charset end |
.set_cgi(cgi_) ⇒ Object
Sets a CGI object.
-
cgi_: CGI object
-
Returns: self
56 57 58 59 |
# File 'lib/gettext/locale_cgi.rb', line 56 def set_cgi(cgi_) @@cgi = cgi_ self end |
.set_default_locale(locale) ⇒ Object
Sets a default locale. en.UTF-8 is the default value if not set.
-
locale: Locale::Object object. You can’t set nil.
-
Returns: self
79 80 81 82 83 |
# File 'lib/gettext/locale_cgi.rb', line 79 def set_default_locale(locale) raise "Wrong parameter: #{locale}" if locale.nil? @@default_locale = locale self end |
.system ⇒ Object
Gets the default locale using setlocale and nl_langinfo.
-
Returns the system locale (Locale::Object).
23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 |
# File 'lib/gettext/locale_cgi.rb', line 23 def system return @@default_locale unless @@cgi cgi_ = cgi if ret = cgi_["lang"] and ret.size > 0 elsif ret = cgi_.["lang"][0] elsif lang = cgi_.accept_language and lang.size > 0 num = lang.index(/;|,/) ret = num ? lang[0, num] : lang else ret = @@default_locale.to_str end codesets = cgi_.accept_charset if codesets and codesets.size > 0 num = codesets.index(',') codeset = num ? codesets[0, num] : codesets codeset = @@default_locale.charset if codeset == "*" else codeset = @@default_locale.charset end Locale::Object.new(ret, nil, codeset) end |