lib/locale/driver/env.rb in locale-2.0.5 vs lib/locale/driver/env.rb in locale-2.0.6
- old
+ new
@@ -1,20 +1,30 @@
-=begin
- locale/env.rb
+# -*- coding: utf-8 -*-
+#
+# Copyright (C) 2012 Kouhei Sutou <kou@clear-code.com>
+# Copyright (C) 2012 Hleb Valoshka
+# Copyright (C) 2008 Masao Mutoh
+#
+# Original: Ruby-GetText-Package-1.92.0.
+# License: Ruby's or LGPL
+#
+# This library is free software: you can redistribute it and/or modify
+# it under the terms of the GNU Lesser General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This library is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU Lesser General Public License for more details.
+#
+# You should have received a copy of the GNU Lesser General Public License
+# along with this program. If not, see <http://www.gnu.org/licenses/>.
- Copyright (C) 2008 Masao Mutoh
-
- You may redistribute it and/or modify it under the same
- license terms as Ruby.
-
- Original: Ruby-GetText-Package-1.92.0.
-
- $Id: env.rb 27 2008-12-03 15:06:50Z mutoh $
-=end
-
require 'locale/tag'
require 'locale/taglist'
+require "locale/driver"
module Locale
module Driver
# Locale::Driver::Env module.
# Detect the user locales and the charset.
@@ -22,32 +32,35 @@
# as the locale if it's defined.
# This is a low-level module. Application shouldn't use this directly.
module Env
module_function
- # Gets the locale from environment variable. (LC_ALL > LC_MESSAGES > LANG)
+ # Gets the locale from environment variable. (LC_ALL > LC_CTYPES > LANG)
# Returns: the locale as Locale::Tag::Posix.
def locale
# At least one environment valiables should be set on *nix system.
- [ENV["LC_ALL"], ENV["LC_MESSAGES"], ENV["LANG"]].each do |loc|
+ [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_MESSAGES > LANG)
+ # Gets the locales from environment variables. (LANGUAGE > LC_ALL > LC_CTYPES > LANG)
# * Returns: an Array of the locale as Locale::Tag::Posix or nil.
def locales
- if (locales = ENV["LANGUAGE"])
- Locale::TagList.new(locales.split(/:/).collect{|v| Locale::Tag::Posix.parse(v)})
+ 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)
- Locale::TagList.new([loc])
- else
- nil
+ return Locale::TagList.new([loc])
end
+ nil
end
# Gets the charset from environment variable or return nil.
# * Returns: the system charset.
def charset # :nodoc:
@@ -57,8 +70,10 @@
nil
end
end
end
+
+ MODULES[:env] = Env
end
end