summaryrefslogtreecommitdiff
path: root/lib/irb/locale.rb
diff options
context:
space:
mode:
Diffstat (limited to 'lib/irb/locale.rb')
-rw-r--r--lib/irb/locale.rb29
1 files changed, 14 insertions, 15 deletions
diff --git a/lib/irb/locale.rb b/lib/irb/locale.rb
index ef92ea1377..0eeeae031d 100644
--- a/lib/irb/locale.rb
+++ b/lib/irb/locale.rb
@@ -1,6 +1,6 @@
#
# irb/locale.rb - internationalization module
-# $Release Version: 0.7.3$
+# $Release Version: 0.7.4$
# $Revision$
# $Date$
# by Keiju ISHITSUKA(keiju@ishitsuka.com)
@@ -10,7 +10,8 @@
#
#
-require "kconv"
+autoload :Tempfile, "tempfile"
+autoload :Kconv, "kconv"
module IRB
class Locale
@@ -19,16 +20,6 @@ module IRB
JPDefaultLocale = "ja"
LOCALE_DIR = "/lc/"
- LC2KCONV = {
-# "ja" => Kconv::JIS,
-# "ja_JP" => Kconv::JIS,
- "ja_JP.ujis" => Kconv::EUC,
- "ja_JP.euc" => Kconv::EUC,
- "ja_JP.eucJP" => Kconv::EUC,
- "ja_JP.sjis" => Kconv::SJIS,
- "ja_JP.SJIS" => Kconv::SJIS,
- }
-
def initialize(locale = nil)
@lang = locale || ENV["IRB_LANG"] || ENV["LC_MESSAGES"] || ENV["LC_ALL"] || ENV["LANG"]
@lang = "C" unless @lang
@@ -40,7 +31,17 @@ module IRB
mes = super(mes)
case @lang
when /^ja/
- mes = Kconv::kconv(mes, LC2KCONV[@lang])
+ @@LC2KCONV = {
+ # "ja" => Kconv::JIS,
+ # "ja_JP" => Kconv::JIS,
+ "ja_JP.ujis" => Kconv::EUC,
+ "ja_JP.euc" => Kconv::EUC,
+ "ja_JP.eucJP" => Kconv::EUC,
+ "ja_JP.sjis" => Kconv::SJIS,
+ "ja_JP.SJIS" => Kconv::SJIS,
+ } unless defined? @@LC2KCONV
+
+ mes = Kconv::kconv(mes, @@LC2KCONV[@lang])
else
mes
end
@@ -74,8 +75,6 @@ module IRB
super *ary
end
- autoload :Tempfile, "tempfile"
-
def require(file, priv = nil)
rex = Regexp.new("lc/#{Regexp.quote(file)}\.(so|o|sl|rb)?")
return false if $".find{|f| f =~ rex}