Server IP : 66.29.132.122 / Your IP : 3.144.28.80 Web Server : LiteSpeed System : Linux business142.web-hosting.com 4.18.0-553.lve.el8.x86_64 #1 SMP Mon May 27 15:27:34 UTC 2024 x86_64 User : admazpex ( 531) PHP Version : 7.2.34 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : OFF | Pkexec : OFF Directory : /proc/self/root/proc/self/root/proc/thread-self/root/proc/thread-self/root/opt/puppetlabs/puppet/lib/ruby/vendor_gems/gems/locale-2.1.4/lib/locale/driver/ |
Upload File : |
# -*- 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/>. require 'locale/tag' require 'locale/taglist' require "locale/driver" module Locale module Driver # 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. module Env module_function # Gets the locale from environment variable. # Priority order except charset is LC_ALL > LC_MESSAGES > LANG. # Priority order for charset is LC_ALL > LC_CTYPE > LANG. # Returns: the locale as Locale::Tag::Posix. def locale lc_all = Private.parse(ENV["LC_ALL"]) return lc_all if lc_all lc_messages = Private.parse(ENV["LC_MESSAGES"]) lang = Private.parse(ENV["LANG"]) tag = lc_messages || lang return nil if tag.nil? lc_ctype = Private.parse(ENV["LC_CTYPE"]) tag.charset = lc_ctype.charset if lc_ctype tag end # Gets the locales from environment variables. (LANGUAGE > LC_ALL > LC_MESSAGES > LANG) # * Returns: an Array of the locale as Locale::Tag::Posix or nil. def locales return nil if (ENV["LC_ALL"] || ENV["LC_MESSAGES"] || ENV["LANG"]) == "C" 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 # Gets the charset from environment variables # (LC_ALL > LC_CTYPE > LANG) or return nil. # * Returns: the system charset. def charset # :nodoc: [ENV["LC_ALL"], ENV["LC_CTYPE"], ENV["LANG"]].each do |env| tag = Private.parse(env) next if tag.nil? return tag.charset end nil end module Private module_function def parse(env_value) return nil if env_value.nil? return nil if env_value.empty? Locale::Tag::Posix.parse(env_value) end end end MODULES[:env] = Env end end