def system
return @@default_locale unless @@cgi
cgi_ = cgi
if ret = cgi_["lang"] and ret.size > 0
elsif ret = cgi_.cookies["lang"][0]
elsif lang = cgi_.accept_language and lang.size > 0
ret = lang.split(/,|;/).first
else
ret = @@default_locale.to_str
end
codesets = cgi_.accept_charset
if codesets and codesets.size > 0
ary = codesets.split(',')
codeset = ary[0]
codeset = @@default_locale.charset if codeset == "*"
else
codeset = @@default_locale.charset
end
Locale::Object.new(ret, nil, codeset)
end