locale 2.0.5 → 2.0.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/ChangeLog +2 -1
- data/Gemfile +22 -0
- data/README.rdoc +23 -24
- data/Rakefile +44 -82
- data/lib/locale.rb +25 -19
- data/lib/locale/driver.rb +24 -0
- data/lib/locale/driver/cgi.rb +61 -47
- data/lib/locale/driver/env.rb +35 -20
- data/lib/locale/driver/jruby.rb +24 -14
- data/lib/locale/driver/posix.rb +25 -16
- data/lib/locale/driver/win32.rb +33 -20
- data/lib/locale/info/language.rb +5 -1
- data/lib/locale/middleware.rb +38 -0
- data/lib/locale/version.rb +1 -1
- data/locale.gemspec +52 -0
- data/samples/rack/hello_rack.rb +4 -5
- data/samples/rack/locale_rack.rb +11 -0
- data/test/test_detect_cgi.rb +59 -58
- data/test/test_detect_general.rb +80 -5
- data/test/test_driver_jruby.rb +65 -43
- data/test/test_driver_win32.rb +65 -65
- data/test/test_info.rb +1 -0
- data/test/test_locale.rb +35 -0
- metadata +193 -69
- data/setup.rb +0 -1585
data/test/test_detect_general.rb
CHANGED
@@ -1,19 +1,41 @@
|
|
1
|
+
# -*- coding: utf-8 -*-
|
2
|
+
#
|
3
|
+
# Copyright (C) 2012 Kouhei Sutou <kou@clear-code.com>
|
4
|
+
# Copyright (C) 2012 Hleb Valoshka
|
5
|
+
# Copyright (C) 2009-2010 Masao Mutoh
|
6
|
+
#
|
7
|
+
# License: Ruby's or LGPL
|
8
|
+
#
|
9
|
+
# This library is free software: you can redistribute it and/or modify
|
10
|
+
# it under the terms of the GNU Lesser General Public License as published by
|
11
|
+
# the Free Software Foundation, either version 3 of the License, or
|
12
|
+
# (at your option) any later version.
|
13
|
+
#
|
14
|
+
# This library is distributed in the hope that it will be useful,
|
15
|
+
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
16
|
+
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
17
|
+
# GNU Lesser General Public License for more details.
|
18
|
+
#
|
19
|
+
# You should have received a copy of the GNU Lesser General Public License
|
20
|
+
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
21
|
+
|
1
22
|
require 'locale'
|
2
23
|
require 'test/unit'
|
3
24
|
|
4
25
|
class TestDetectGeneral < Test::Unit::TestCase
|
5
26
|
|
6
27
|
def setup
|
28
|
+
Locale.init
|
7
29
|
Locale.clear_all
|
8
30
|
ENV["LC_ALL"] = nil
|
9
|
-
ENV["
|
31
|
+
ENV["LC_CTYPES"] = nil
|
10
32
|
ENV["LANG"] = nil
|
11
33
|
ENV["LANGUAGE"] = nil
|
12
34
|
end
|
13
35
|
|
14
36
|
def test_lc_all
|
15
37
|
ENV["LC_ALL"] = "ja_JP.eucJP"
|
16
|
-
ENV["
|
38
|
+
ENV["LC_CTYPES"] = "zh_CN.UTF-8" #Ignored.
|
17
39
|
ENV["LANG"] = "ko_KR.UTF-8" #Ignored.
|
18
40
|
ENV["LANGUAGE"] = nil
|
19
41
|
|
@@ -29,7 +51,7 @@ class TestDetectGeneral < Test::Unit::TestCase
|
|
29
51
|
|
30
52
|
def test_lc_messages
|
31
53
|
ENV["LC_ALL"] = nil
|
32
|
-
ENV["
|
54
|
+
ENV["LC_CTYPES"] = "ja_JP.eucJP"
|
33
55
|
ENV["LANG"] = "ko_KR.UTF-8" #Ignored.
|
34
56
|
ENV["LANGUAGE"] = nil
|
35
57
|
|
@@ -45,7 +67,7 @@ class TestDetectGeneral < Test::Unit::TestCase
|
|
45
67
|
|
46
68
|
def test_lang
|
47
69
|
ENV["LC_ALL"] = nil
|
48
|
-
ENV["
|
70
|
+
ENV["LC_CTYPES"] = nil
|
49
71
|
ENV["LANG"] = "ja_JP.eucJP"
|
50
72
|
ENV["LANGUAGE"] = nil
|
51
73
|
|
@@ -61,7 +83,7 @@ class TestDetectGeneral < Test::Unit::TestCase
|
|
61
83
|
|
62
84
|
def test_lang_complex
|
63
85
|
ENV["LC_ALL"] = "zh_CN.UTF-8" # Ignored.
|
64
|
-
ENV["
|
86
|
+
ENV["LC_CTYPES"] = "ko_KR.UTF-8" #Ingored.
|
65
87
|
ENV["LANG"] = "en_US.UTF-8" # Ignored.
|
66
88
|
ENV["LANGUAGE"] ="ja_JP.eucJP:zh_CN.UTF-8"
|
67
89
|
|
@@ -102,6 +124,35 @@ class TestDetectGeneral < Test::Unit::TestCase
|
|
102
124
|
assert_equal "Shift_JIS", Locale.charset
|
103
125
|
end
|
104
126
|
|
127
|
+
def test_language_strip
|
128
|
+
ENV["LC_ALL"] = "ja_JP.Shift_JIS"
|
129
|
+
ENV["LANGUAGE"] = nil
|
130
|
+
|
131
|
+
tags = Locale.current
|
132
|
+
assert_equal 1, tags.size
|
133
|
+
assert_equal Locale::Tag::Posix, tags[0].class
|
134
|
+
assert_equal "ja", tags.language
|
135
|
+
assert_equal "ja", tags[0].language
|
136
|
+
Locale.clear
|
137
|
+
ENV["LANGUAGE"] = ""
|
138
|
+
|
139
|
+
tags = Locale.current
|
140
|
+
assert_equal 1, tags.size
|
141
|
+
assert_equal Locale::Tag::Posix, tags[0].class
|
142
|
+
assert_equal "ja", tags.language
|
143
|
+
assert_equal "ja", tags[0].language
|
144
|
+
Locale.clear
|
145
|
+
ENV["LANGUAGE"] = "zh_CN.UTF-8:ja_JP"
|
146
|
+
|
147
|
+
tags = Locale.current
|
148
|
+
assert_equal 2, tags.size
|
149
|
+
assert_equal Locale::Tag::Posix, tags[0].class
|
150
|
+
assert_equal Locale::Tag::Posix, tags[1].class
|
151
|
+
assert_equal "zh", tags.language
|
152
|
+
assert_equal "zh", tags[0].language
|
153
|
+
assert_equal "ja", tags[1].language
|
154
|
+
end
|
155
|
+
|
105
156
|
def test_no_charset
|
106
157
|
ENV["LC_ALL"] = "cs_CZ"
|
107
158
|
|
@@ -149,6 +200,26 @@ class TestDetectGeneral < Test::Unit::TestCase
|
|
149
200
|
Locale.set_default(nil)
|
150
201
|
end
|
151
202
|
|
203
|
+
def test_wrong_envs
|
204
|
+
omit("JRuby never use default") if jruby?
|
205
|
+
|
206
|
+
ENV["LC_ALL"] = nil
|
207
|
+
ENV["LANGUAGE"] = "g"
|
208
|
+
Locale.default = "de"
|
209
|
+
assert_equal Locale::Tag.parse("de"), Locale.current[0]
|
210
|
+
|
211
|
+
ENV["LC_ALL"] = "f"
|
212
|
+
ENV["LANGUAGE"] = nil
|
213
|
+
Locale.default = "fr"
|
214
|
+
assert_equal Locale::Tag.parse("fr"), Locale.current[0]
|
215
|
+
|
216
|
+
ENV["LC_ALL"] = "j"
|
217
|
+
ENV["LANGUAGE"] = nil
|
218
|
+
Locale.default = nil
|
219
|
+
assert_equal Locale::Tag.parse("en"), Locale.current[0]
|
220
|
+
|
221
|
+
end
|
222
|
+
|
152
223
|
def test_clear
|
153
224
|
ENV["LC_ALL"] = "ja_JP.Shift_JIS"
|
154
225
|
ENV["LANGUAGE"] = nil
|
@@ -161,4 +232,8 @@ class TestDetectGeneral < Test::Unit::TestCase
|
|
161
232
|
|
162
233
|
end
|
163
234
|
|
235
|
+
private
|
236
|
+
def jruby?
|
237
|
+
RUBY_PLATFORM == "java"
|
238
|
+
end
|
164
239
|
end
|
data/test/test_driver_jruby.rb
CHANGED
@@ -1,43 +1,65 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
ENV["
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
end
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
1
|
+
# -*- coding: utf-8 -*-
|
2
|
+
#
|
3
|
+
# Copyright (C) 2012 Kouhei Sutou <kou@clear-code.com>
|
4
|
+
# Copyright (C) 2012 Hleb Valoshka
|
5
|
+
# Copyright (C) 2009 Masao Mutoh
|
6
|
+
#
|
7
|
+
# License: Ruby's or LGPL
|
8
|
+
#
|
9
|
+
# This library is free software: you can redistribute it and/or modify
|
10
|
+
# it under the terms of the GNU Lesser General Public License as published by
|
11
|
+
# the Free Software Foundation, either version 3 of the License, or
|
12
|
+
# (at your option) any later version.
|
13
|
+
#
|
14
|
+
# This library is distributed in the hope that it will be useful,
|
15
|
+
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
16
|
+
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
17
|
+
# GNU Lesser General Public License for more details.
|
18
|
+
#
|
19
|
+
# You should have received a copy of the GNU Lesser General Public License
|
20
|
+
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
21
|
+
|
22
|
+
begin
|
23
|
+
require 'locale/driver/jruby'
|
24
|
+
require 'test/unit'
|
25
|
+
class TestDiverJRuby < Test::Unit::TestCase
|
26
|
+
|
27
|
+
def setup
|
28
|
+
ENV["LC_ALL"] = nil
|
29
|
+
ENV["LC_CTYPES"] = nil
|
30
|
+
ENV["LANG"] = nil
|
31
|
+
ENV["LANGUAGE"] = nil
|
32
|
+
end
|
33
|
+
|
34
|
+
def set_locale(tag)
|
35
|
+
locale = java.util.Locale.new(tag.language, tag.region,
|
36
|
+
tag.variants.join("_"))
|
37
|
+
java.util.Locale.setDefault(locale)
|
38
|
+
end
|
39
|
+
|
40
|
+
def test_charset
|
41
|
+
# Depends on system value when jvm is started.
|
42
|
+
end
|
43
|
+
|
44
|
+
def test_locales
|
45
|
+
tag = Locale::Tag::Common.parse("ja-JP")
|
46
|
+
set_locale(tag)
|
47
|
+
assert_equal [tag], Locale::Driver::JRuby.locales
|
48
|
+
end
|
49
|
+
|
50
|
+
def test_locales_with_env
|
51
|
+
ENV["LC_ALL"] = "ja_JP.EUC-JP"
|
52
|
+
assert_equal Locale::Tag::Posix.parse("ja_JP.EUC-JP"), Locale::Driver::JRuby.locales[0]
|
53
|
+
assert_equal "EUC-JP", Locale::Driver::JRuby.charset
|
54
|
+
|
55
|
+
ENV["LC_ALL"] = "ja_JP"
|
56
|
+
assert_equal Locale::Tag::Posix.parse("ja_JP"), Locale::Driver::JRuby.locales[0]
|
57
|
+
|
58
|
+
ENV["LC_ALL"] = "C"
|
59
|
+
assert_equal Locale::Tag::Posix.parse("C"), Locale::Driver::JRuby.locales[0]
|
60
|
+
end
|
61
|
+
end
|
62
|
+
|
63
|
+
rescue LoadError
|
64
|
+
puts "jruby test was skipped."
|
65
|
+
end
|
data/test/test_driver_win32.rb
CHANGED
@@ -1,65 +1,65 @@
|
|
1
|
-
begin
|
2
|
-
require 'locale/driver/win32'
|
3
|
-
require 'test/unit'
|
4
|
-
|
5
|
-
class TestDiverWin32 < Test::Unit::TestCase
|
6
|
-
|
7
|
-
def setup
|
8
|
-
ENV["LC_ALL"] = nil
|
9
|
-
ENV["
|
10
|
-
ENV["LANG"] = nil
|
11
|
-
ENV["LANGUAGE"] = nil
|
12
|
-
Locale::Driver::Win32.set_thread_locale_id(nil)
|
13
|
-
end
|
14
|
-
|
15
|
-
def test_charset
|
16
|
-
Locale::Driver::Win32.set_thread_locale_id(0x0404)
|
17
|
-
assert_equal "CP950", Locale::Driver::Win32.charset
|
18
|
-
|
19
|
-
Locale::Driver::Win32.set_thread_locale_id(0x0411)
|
20
|
-
assert_equal "CP932", Locale::Driver::Win32.charset
|
21
|
-
|
22
|
-
Locale::Driver::Win32.set_thread_locale_id(0x201A)
|
23
|
-
assert_equal "CP1251", Locale::Driver::Win32.charset
|
24
|
-
|
25
|
-
Locale::Driver::Win32.set_thread_locale_id(0x0465)
|
26
|
-
assert_equal "UNICODE", Locale::Driver::Win32.charset
|
27
|
-
|
28
|
-
Locale::Driver::Win32.set_thread_locale_id(0x2222) # invalid
|
29
|
-
assert_equal "CP1252", Locale::Driver::Win32.charset
|
30
|
-
end
|
31
|
-
|
32
|
-
def test_locales
|
33
|
-
Locale::Driver::Win32.set_thread_locale_id(0x0404)
|
34
|
-
assert_equal Locale::Tag::Common.parse("zh-TW"), Locale::Driver::Win32.locales[0]
|
35
|
-
|
36
|
-
Locale::Driver::Win32.set_thread_locale_id(0x0411)
|
37
|
-
assert_equal Locale::Tag::Common.parse("ja-JP"), Locale::Driver::Win32.locales[0]
|
38
|
-
|
39
|
-
Locale::Driver::Win32.set_thread_locale_id(0x201A)
|
40
|
-
assert_equal Locale::Tag::Common.parse("bs-Cyrl-BA"), Locale::Driver::Win32.locales[0]
|
41
|
-
|
42
|
-
Locale::Driver::Win32.set_thread_locale_id(0x0465)
|
43
|
-
assert_equal Locale::Tag::Common.parse("div-MV"), Locale::Driver::Win32.locales[0]
|
44
|
-
|
45
|
-
Locale::Driver::Win32.set_thread_locale_id(0x2222) # invalid
|
46
|
-
assert_equal nil, Locale::Driver::Win32.locales
|
47
|
-
end
|
48
|
-
|
49
|
-
def test_locales_with_env
|
50
|
-
ENV["LC_ALL"] = "ja_JP.UTF-8"
|
51
|
-
assert_equal Locale::Tag::Posix.parse("ja_JP.UTF-8"), Locale::Driver::Win32.locales[0]
|
52
|
-
assert_equal "UTF-8", Locale::Driver::Win32.charset
|
53
|
-
|
54
|
-
ENV["LC_ALL"] = "ja_JP"
|
55
|
-
assert_equal Locale::Tag::Posix.parse("ja_JP"), Locale::Driver::Win32.locales[0]
|
56
|
-
assert_equal "CP932", Locale::Driver::Win32.charset
|
57
|
-
|
58
|
-
ENV["LC_ALL"] = "C"
|
59
|
-
assert_equal Locale::Tag::Posix.parse("C"), Locale::Driver::Win32.locales[0]
|
60
|
-
assert_equal "CP1252", Locale::Driver::Win32.charset
|
61
|
-
end
|
62
|
-
end
|
63
|
-
rescue LoadError
|
64
|
-
puts "win32 test was skipped."
|
65
|
-
end
|
1
|
+
begin
|
2
|
+
require 'locale/driver/win32'
|
3
|
+
require 'test/unit'
|
4
|
+
|
5
|
+
class TestDiverWin32 < Test::Unit::TestCase
|
6
|
+
|
7
|
+
def setup
|
8
|
+
ENV["LC_ALL"] = nil
|
9
|
+
ENV["LC_CTYPES"] = nil
|
10
|
+
ENV["LANG"] = nil
|
11
|
+
ENV["LANGUAGE"] = nil
|
12
|
+
Locale::Driver::Win32.set_thread_locale_id(nil)
|
13
|
+
end
|
14
|
+
|
15
|
+
def test_charset
|
16
|
+
Locale::Driver::Win32.set_thread_locale_id(0x0404)
|
17
|
+
assert_equal "CP950", Locale::Driver::Win32.charset
|
18
|
+
|
19
|
+
Locale::Driver::Win32.set_thread_locale_id(0x0411)
|
20
|
+
assert_equal "CP932", Locale::Driver::Win32.charset
|
21
|
+
|
22
|
+
Locale::Driver::Win32.set_thread_locale_id(0x201A)
|
23
|
+
assert_equal "CP1251", Locale::Driver::Win32.charset
|
24
|
+
|
25
|
+
Locale::Driver::Win32.set_thread_locale_id(0x0465)
|
26
|
+
assert_equal "UNICODE", Locale::Driver::Win32.charset
|
27
|
+
|
28
|
+
Locale::Driver::Win32.set_thread_locale_id(0x2222) # invalid
|
29
|
+
assert_equal "CP1252", Locale::Driver::Win32.charset
|
30
|
+
end
|
31
|
+
|
32
|
+
def test_locales
|
33
|
+
Locale::Driver::Win32.set_thread_locale_id(0x0404)
|
34
|
+
assert_equal Locale::Tag::Common.parse("zh-TW"), Locale::Driver::Win32.locales[0]
|
35
|
+
|
36
|
+
Locale::Driver::Win32.set_thread_locale_id(0x0411)
|
37
|
+
assert_equal Locale::Tag::Common.parse("ja-JP"), Locale::Driver::Win32.locales[0]
|
38
|
+
|
39
|
+
Locale::Driver::Win32.set_thread_locale_id(0x201A)
|
40
|
+
assert_equal Locale::Tag::Common.parse("bs-Cyrl-BA"), Locale::Driver::Win32.locales[0]
|
41
|
+
|
42
|
+
Locale::Driver::Win32.set_thread_locale_id(0x0465)
|
43
|
+
assert_equal Locale::Tag::Common.parse("div-MV"), Locale::Driver::Win32.locales[0]
|
44
|
+
|
45
|
+
Locale::Driver::Win32.set_thread_locale_id(0x2222) # invalid
|
46
|
+
assert_equal nil, Locale::Driver::Win32.locales
|
47
|
+
end
|
48
|
+
|
49
|
+
def test_locales_with_env
|
50
|
+
ENV["LC_ALL"] = "ja_JP.UTF-8"
|
51
|
+
assert_equal Locale::Tag::Posix.parse("ja_JP.UTF-8"), Locale::Driver::Win32.locales[0]
|
52
|
+
assert_equal "UTF-8", Locale::Driver::Win32.charset
|
53
|
+
|
54
|
+
ENV["LC_ALL"] = "ja_JP"
|
55
|
+
assert_equal Locale::Tag::Posix.parse("ja_JP"), Locale::Driver::Win32.locales[0]
|
56
|
+
assert_equal "CP932", Locale::Driver::Win32.charset
|
57
|
+
|
58
|
+
ENV["LC_ALL"] = "C"
|
59
|
+
assert_equal Locale::Tag::Posix.parse("C"), Locale::Driver::Win32.locales[0]
|
60
|
+
assert_equal "CP1252", Locale::Driver::Win32.charset
|
61
|
+
end
|
62
|
+
end
|
63
|
+
rescue LoadError, DL::DLError, NameError
|
64
|
+
puts "win32 test was skipped."
|
65
|
+
end
|
data/test/test_info.rb
CHANGED
@@ -10,6 +10,7 @@ class TestLocaleInfo < Test::Unit::TestCase
|
|
10
10
|
assert_equal "English", langs["eng"].name
|
11
11
|
assert langs["eng"].living?
|
12
12
|
assert langs["eng"].individual?
|
13
|
+
assert "ace", langs["ace"].to_s
|
13
14
|
|
14
15
|
langs = Locale::Info.two_languages
|
15
16
|
assert_equal 185, langs.length
|
data/test/test_locale.rb
ADDED
@@ -0,0 +1,35 @@
|
|
1
|
+
# Copyright (C) 2012 Kouhei Sutou <kou@clear-code.com>
|
2
|
+
#
|
3
|
+
# License: Ruby's or LGPL
|
4
|
+
#
|
5
|
+
# This library is free software: you can redistribute it and/or modify
|
6
|
+
# it under the terms of the GNU Lesser General Public License as published by
|
7
|
+
# the Free Software Foundation, either version 3 of the License, or
|
8
|
+
# (at your option) any later version.
|
9
|
+
#
|
10
|
+
# This library is distributed in the hope that it will be useful,
|
11
|
+
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
12
|
+
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
13
|
+
# GNU Lesser General Public License for more details.
|
14
|
+
#
|
15
|
+
# You should have received a copy of the GNU Lesser General Public License
|
16
|
+
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
17
|
+
|
18
|
+
class TestLocale < Test::Unit::TestCase
|
19
|
+
class TestCurrent < self
|
20
|
+
def test_set_again
|
21
|
+
Locale.current = "ja_JP"
|
22
|
+
Locale.current = Locale.current
|
23
|
+
assert_equal([Locale::Tag::Simple.new("ja", "JP")], Locale.current)
|
24
|
+
end
|
25
|
+
end
|
26
|
+
|
27
|
+
class TestDefault < self
|
28
|
+
def test_set_tag_list
|
29
|
+
default_tag_list = Locale::TagList.new
|
30
|
+
default_tag_list << Locale::Tag::Simple.new("ja", "JP")
|
31
|
+
Locale.default = default_tag_list
|
32
|
+
assert_equal(Locale::Tag::Simple.new("ja", "JP"), Locale.default)
|
33
|
+
end
|
34
|
+
end
|
35
|
+
end
|
metadata
CHANGED
@@ -1,100 +1,224 @@
|
|
1
|
-
--- !ruby/object:Gem::Specification
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
2
|
name: locale
|
3
|
-
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.0.
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 2.0.6
|
5
|
+
prerelease:
|
5
6
|
platform: ruby
|
6
|
-
authors:
|
7
|
+
authors:
|
8
|
+
- Kouhei Sutou
|
7
9
|
- Masao Mutoh
|
8
10
|
autorequire:
|
9
11
|
bindir: bin
|
10
12
|
cert_chain: []
|
13
|
+
date: 2012-08-28 00:00:00.000000000 Z
|
14
|
+
dependencies:
|
15
|
+
- !ruby/object:Gem::Dependency
|
16
|
+
name: rake
|
17
|
+
requirement: !ruby/object:Gem::Requirement
|
18
|
+
none: false
|
19
|
+
requirements:
|
20
|
+
- - ! '>='
|
21
|
+
- !ruby/object:Gem::Version
|
22
|
+
version: '0'
|
23
|
+
type: :development
|
24
|
+
prerelease: false
|
25
|
+
version_requirements: !ruby/object:Gem::Requirement
|
26
|
+
none: false
|
27
|
+
requirements:
|
28
|
+
- - ! '>='
|
29
|
+
- !ruby/object:Gem::Version
|
30
|
+
version: '0'
|
31
|
+
- !ruby/object:Gem::Dependency
|
32
|
+
name: bundler
|
33
|
+
requirement: !ruby/object:Gem::Requirement
|
34
|
+
none: false
|
35
|
+
requirements:
|
36
|
+
- - ! '>='
|
37
|
+
- !ruby/object:Gem::Version
|
38
|
+
version: '0'
|
39
|
+
type: :development
|
40
|
+
prerelease: false
|
41
|
+
version_requirements: !ruby/object:Gem::Requirement
|
42
|
+
none: false
|
43
|
+
requirements:
|
44
|
+
- - ! '>='
|
45
|
+
- !ruby/object:Gem::Version
|
46
|
+
version: '0'
|
47
|
+
- !ruby/object:Gem::Dependency
|
48
|
+
name: yard
|
49
|
+
requirement: !ruby/object:Gem::Requirement
|
50
|
+
none: false
|
51
|
+
requirements:
|
52
|
+
- - ! '>='
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: '0'
|
55
|
+
type: :development
|
56
|
+
prerelease: false
|
57
|
+
version_requirements: !ruby/object:Gem::Requirement
|
58
|
+
none: false
|
59
|
+
requirements:
|
60
|
+
- - ! '>='
|
61
|
+
- !ruby/object:Gem::Version
|
62
|
+
version: '0'
|
63
|
+
- !ruby/object:Gem::Dependency
|
64
|
+
name: redcarpet
|
65
|
+
requirement: !ruby/object:Gem::Requirement
|
66
|
+
none: false
|
67
|
+
requirements:
|
68
|
+
- - ! '>='
|
69
|
+
- !ruby/object:Gem::Version
|
70
|
+
version: '0'
|
71
|
+
type: :development
|
72
|
+
prerelease: false
|
73
|
+
version_requirements: !ruby/object:Gem::Requirement
|
74
|
+
none: false
|
75
|
+
requirements:
|
76
|
+
- - ! '>='
|
77
|
+
- !ruby/object:Gem::Version
|
78
|
+
version: '0'
|
79
|
+
- !ruby/object:Gem::Dependency
|
80
|
+
name: test-unit
|
81
|
+
requirement: !ruby/object:Gem::Requirement
|
82
|
+
none: false
|
83
|
+
requirements:
|
84
|
+
- - ! '>='
|
85
|
+
- !ruby/object:Gem::Version
|
86
|
+
version: '0'
|
87
|
+
type: :development
|
88
|
+
prerelease: false
|
89
|
+
version_requirements: !ruby/object:Gem::Requirement
|
90
|
+
none: false
|
91
|
+
requirements:
|
92
|
+
- - ! '>='
|
93
|
+
- !ruby/object:Gem::Version
|
94
|
+
version: '0'
|
95
|
+
- !ruby/object:Gem::Dependency
|
96
|
+
name: test-unit-notify
|
97
|
+
requirement: !ruby/object:Gem::Requirement
|
98
|
+
none: false
|
99
|
+
requirements:
|
100
|
+
- - ! '>='
|
101
|
+
- !ruby/object:Gem::Version
|
102
|
+
version: '0'
|
103
|
+
type: :development
|
104
|
+
prerelease: false
|
105
|
+
version_requirements: !ruby/object:Gem::Requirement
|
106
|
+
none: false
|
107
|
+
requirements:
|
108
|
+
- - ! '>='
|
109
|
+
- !ruby/object:Gem::Version
|
110
|
+
version: '0'
|
111
|
+
- !ruby/object:Gem::Dependency
|
112
|
+
name: test-unit-rr
|
113
|
+
requirement: !ruby/object:Gem::Requirement
|
114
|
+
none: false
|
115
|
+
requirements:
|
116
|
+
- - ! '>='
|
117
|
+
- !ruby/object:Gem::Version
|
118
|
+
version: '0'
|
119
|
+
type: :development
|
120
|
+
prerelease: false
|
121
|
+
version_requirements: !ruby/object:Gem::Requirement
|
122
|
+
none: false
|
123
|
+
requirements:
|
124
|
+
- - ! '>='
|
125
|
+
- !ruby/object:Gem::Version
|
126
|
+
version: '0'
|
127
|
+
description: ! 'Ruby-Locale is the pure ruby library which provides basic APIs for
|
128
|
+
localization.
|
11
129
|
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
description: " Ruby-Locale is the pure ruby library which provides basic APIs for localization.\n"
|
17
|
-
email: mutomasa at gmail.com
|
130
|
+
'
|
131
|
+
email:
|
132
|
+
- kou@clear-code.com
|
133
|
+
- mutomasa at gmail.com
|
18
134
|
executables: []
|
19
|
-
|
20
135
|
extensions: []
|
21
|
-
|
22
136
|
extra_rdoc_files: []
|
23
|
-
|
24
|
-
|
25
|
-
- lib/locale.rb
|
137
|
+
files:
|
138
|
+
- lib/locale/version.rb
|
139
|
+
- lib/locale/tag.rb
|
140
|
+
- lib/locale/tag/cldr.rb
|
26
141
|
- lib/locale/tag/posix.rb
|
142
|
+
- lib/locale/tag/common.rb
|
143
|
+
- lib/locale/tag/simple.rb
|
27
144
|
- lib/locale/tag/irregular.rb
|
28
145
|
- lib/locale/tag/rfc.rb
|
29
|
-
- lib/locale/
|
30
|
-
- lib/locale/
|
31
|
-
- lib/locale/
|
32
|
-
- lib/locale/
|
146
|
+
- lib/locale/info/language.rb
|
147
|
+
- lib/locale/info/region.rb
|
148
|
+
- lib/locale/driver.rb
|
149
|
+
- lib/locale/driver/cgi.rb
|
33
150
|
- lib/locale/driver/posix.rb
|
151
|
+
- lib/locale/driver/env.rb
|
34
152
|
- lib/locale/driver/win32.rb
|
35
153
|
- lib/locale/driver/win32_table.rb
|
36
154
|
- lib/locale/driver/jruby.rb
|
37
|
-
- lib/locale/driver/env.rb
|
38
|
-
- lib/locale/driver/cgi.rb
|
39
|
-
- lib/locale/util/memoizable.rb
|
40
|
-
- lib/locale/data/regions.tab.gz
|
41
|
-
- lib/locale/data/languages.tab.gz
|
42
|
-
- lib/locale/info/region.rb
|
43
|
-
- lib/locale/info/language.rb
|
44
|
-
- lib/locale/version.rb
|
45
155
|
- lib/locale/info.rb
|
46
|
-
- lib/locale/
|
47
|
-
-
|
156
|
+
- lib/locale/middleware.rb
|
157
|
+
- lib/locale/data/languages.tab.gz
|
158
|
+
- lib/locale/data/regions.tab.gz
|
159
|
+
- lib/locale/util/memoizable.rb
|
160
|
+
- lib/locale/taglist.rb
|
161
|
+
- lib/locale.rb
|
162
|
+
- samples/cgi/README
|
163
|
+
- samples/cgi/index.cgi
|
164
|
+
- samples/cgi/locale.css
|
165
|
+
- samples/cgi/http.rb
|
166
|
+
- samples/cgi/cookie.cgi
|
167
|
+
- samples/rack/README
|
168
|
+
- samples/rack/locale_rack.rb
|
169
|
+
- samples/rack/hello_rack.rb
|
170
|
+
- samples/rack/hello_rack.ru
|
171
|
+
- samples/sample_1.rb
|
172
|
+
- samples/sample_info.rb
|
173
|
+
- COPYING
|
174
|
+
- ChangeLog
|
175
|
+
- README.rdoc
|
176
|
+
- Rakefile
|
177
|
+
- Gemfile
|
178
|
+
- locale.gemspec
|
48
179
|
- test/test_tag.rb
|
180
|
+
- test/test_detect_cgi.rb
|
181
|
+
- test/test_taglist.rb
|
182
|
+
- test/test_locale.rb
|
183
|
+
- test/test_thread.rb
|
184
|
+
- test/test_info.rb
|
49
185
|
- test/test_memoizable.rb
|
50
186
|
- test/test_driver_jruby.rb
|
51
|
-
- test/test_info.rb
|
52
187
|
- test/test_driver_win32.rb
|
53
188
|
- test/test_detect_general.rb
|
54
|
-
|
55
|
-
- test/test_detect_cgi.rb
|
56
|
-
- test/test_thread.rb
|
57
|
-
- Rakefile
|
58
|
-
- README.rdoc
|
59
|
-
- ChangeLog
|
60
|
-
- COPYING
|
61
|
-
- samples/rack/hello_rack.ru
|
62
|
-
- samples/rack/hello_rack.rb
|
63
|
-
- samples/rack/README
|
64
|
-
- samples/sample_info.rb
|
65
|
-
- samples/cgi/http.rb
|
66
|
-
- samples/cgi/locale.css
|
67
|
-
- samples/cgi/index.cgi
|
68
|
-
- samples/cgi/README
|
69
|
-
- samples/cgi/cookie.cgi
|
70
|
-
- samples/sample_1.rb
|
71
|
-
has_rdoc: true
|
72
|
-
homepage: http://locale.rubyforge.org/
|
189
|
+
homepage: https://github.com/ruby-gettext/locale
|
73
190
|
licenses: []
|
74
|
-
|
75
191
|
post_install_message:
|
76
192
|
rdoc_options: []
|
77
|
-
|
78
|
-
require_paths:
|
193
|
+
require_paths:
|
79
194
|
- lib
|
80
|
-
required_ruby_version: !ruby/object:Gem::Requirement
|
81
|
-
|
82
|
-
|
83
|
-
|
84
|
-
|
85
|
-
|
86
|
-
required_rubygems_version: !ruby/object:Gem::Requirement
|
87
|
-
|
88
|
-
|
89
|
-
|
90
|
-
|
91
|
-
|
195
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
196
|
+
none: false
|
197
|
+
requirements:
|
198
|
+
- - ! '>='
|
199
|
+
- !ruby/object:Gem::Version
|
200
|
+
version: '0'
|
201
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
202
|
+
none: false
|
203
|
+
requirements:
|
204
|
+
- - ! '>='
|
205
|
+
- !ruby/object:Gem::Version
|
206
|
+
version: '0'
|
92
207
|
requirements: []
|
93
|
-
|
94
|
-
|
95
|
-
rubygems_version: 1.3.5
|
208
|
+
rubyforge_project:
|
209
|
+
rubygems_version: 1.8.23
|
96
210
|
signing_key:
|
97
211
|
specification_version: 3
|
98
212
|
summary: Ruby-Locale is the pure ruby library which provides basic APIs for localization.
|
99
|
-
test_files:
|
100
|
-
|
213
|
+
test_files:
|
214
|
+
- test/test_tag.rb
|
215
|
+
- test/test_detect_cgi.rb
|
216
|
+
- test/test_taglist.rb
|
217
|
+
- test/test_locale.rb
|
218
|
+
- test/test_thread.rb
|
219
|
+
- test/test_info.rb
|
220
|
+
- test/test_memoizable.rb
|
221
|
+
- test/test_driver_jruby.rb
|
222
|
+
- test/test_driver_win32.rb
|
223
|
+
- test/test_detect_general.rb
|
224
|
+
has_rdoc:
|