gettext 1.2.0-mswin32 → 1.3.0-mswin32
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 +74 -0
- data/NEWS +16 -0
- data/README +9 -9
- data/data/locale/cs/LC_MESSAGES/rails.mo +0 -0
- data/data/locale/cs/LC_MESSAGES/rgettext.mo +0 -0
- data/data/locale/de/LC_MESSAGES/rails.mo +0 -0
- data/data/locale/de/LC_MESSAGES/rgettext.mo +0 -0
- data/data/locale/el/LC_MESSAGES/rails.mo +0 -0
- data/data/locale/el/LC_MESSAGES/rgettext.mo +0 -0
- data/data/locale/es/LC_MESSAGES/rails.mo +0 -0
- data/data/locale/es/LC_MESSAGES/rgettext.mo +0 -0
- data/data/locale/fr/LC_MESSAGES/rails.mo +0 -0
- data/data/locale/fr/LC_MESSAGES/rgettext.mo +0 -0
- data/data/locale/it/LC_MESSAGES/rgettext.mo +0 -0
- data/data/locale/ja/LC_MESSAGES/rails.mo +0 -0
- data/data/locale/ja/LC_MESSAGES/rgettext.mo +0 -0
- data/data/locale/ko/LC_MESSAGES/rails.mo +0 -0
- data/data/locale/ko/LC_MESSAGES/rgettext.mo +0 -0
- data/data/locale/nl/LC_MESSAGES/rails.mo +0 -0
- data/data/locale/nl/LC_MESSAGES/rgettext.mo +0 -0
- data/data/locale/pt_BR/LC_MESSAGES/rails.mo +0 -0
- data/data/locale/pt_BR/LC_MESSAGES/rgettext.mo +0 -0
- data/data/locale/sv/LC_MESSAGES/rgettext.mo +0 -0
- data/lib/gettext.rb +9 -4
- data/lib/gettext/locale.rb +11 -5
- data/lib/gettext/locale_cgi.rb +2 -5
- data/lib/gettext/locale_object.rb +68 -21
- data/lib/gettext/poparser.rb +2 -2
- data/lib/gettext/rails.rb +150 -30
- data/lib/gettext/version.rb +1 -1
- data/po/cs/rails.po +27 -27
- data/po/cs/rgettext.po +8 -8
- data/po/de/rails.po +28 -28
- data/po/de/rgettext.po +8 -8
- data/po/el/rails.po +25 -25
- data/po/el/rgettext.po +8 -8
- data/po/es/rails.po +25 -25
- data/po/es/rgettext.po +8 -8
- data/po/fr/rails.po +26 -26
- data/po/fr/rgettext.po +8 -8
- data/po/it/rgettext.po +8 -8
- data/po/ja/rails.po +23 -23
- data/po/ja/rgettext.po +8 -8
- data/po/ko/rails.po +23 -23
- data/po/ko/rgettext.po +8 -8
- data/po/nl/rails.po +25 -25
- data/po/nl/rgettext.po +8 -8
- data/po/pt_BR/rails.po +25 -25
- data/po/pt_BR/rgettext.po +8 -8
- data/po/rails.pot +25 -25
- data/po/rgettext.pot +8 -8
- data/po/sv/rgettext.po +8 -8
- data/samples/rails/README +3 -2
- data/samples/rails/Rakefile +6 -217
- data/samples/rails/app/controllers/application.rb +1 -0
- data/samples/rails/app/models/article.rb +7 -16
- data/samples/rails/config/database.yml +2 -1
- data/samples/rails/lib/tasks/gettext.rake +18 -0
- data/samples/rails/locale/ja/LC_MESSAGES/blog.mo +0 -0
- data/samples/rails/po/ja/blog.po +12 -0
- data/samples/rails/public/index.html +15 -17
- data/samples/rails/public/javascripts/controls.js +30 -1
- data/samples/rails/public/javascripts/dragdrop.js +210 -145
- data/samples/rails/public/javascripts/effects.js +261 -399
- data/samples/rails/public/javascripts/prototype.js +131 -72
- data/test/gettext_test.rb +5 -0
- data/test/gettext_test_locale.rb +133 -9
- metadata +5 -4
- data/samples/rails/script/benchmarker +0 -19
- data/samples/rails/script/profiler +0 -34
data/ChangeLog
CHANGED
@@ -1,3 +1,77 @@
|
|
1
|
+
2006-03-11 Masao Mutoh <mutoh@highway.ne.jp>
|
2
|
+
|
3
|
+
* lib/gettext/rails.rb: ActiveRecord::Column.human_name translates
|
4
|
+
the column name using s_("Model|fieldname").
|
5
|
+
Pointed out by Kazuhiro NISHIYAMA.
|
6
|
+
* samples/rails/lib/tasks/gettext.rake: Move from Rakefile.
|
7
|
+
Pointed out by Kazuhiro NISHIYAMA.
|
8
|
+
* samples/rails/Rakefile: Move gettext tasks to lib/tasks/gettext.rake.
|
9
|
+
* samples/rails/*: Updates files to which generated with rails 1.0.
|
10
|
+
* NEWS: Updated.
|
11
|
+
|
12
|
+
2006-03-10 Masao Mutoh <mutoh@highway.ne.jp>
|
13
|
+
|
14
|
+
* lib/gettext/rails.rb: Localized ActiveRecord::Base.validates_* works correctly
|
15
|
+
under production mode.
|
16
|
+
Reported by Nickolay Kolev.
|
17
|
+
ActionView::Base#render_file supports localized template such as
|
18
|
+
foo_ja.rhml, foo_ja_JP.rhtml. Revert Action::Controller::Base#render.
|
19
|
+
* NEWS: follow this change.
|
20
|
+
|
21
|
+
2006-03-09 Masao Mutoh <mutoh@highway.ne.jp>
|
22
|
+
|
23
|
+
* lib/gettext/rails.rb: ActiveRecord::Base.error_message_(title|explanation)
|
24
|
+
works production mode.
|
25
|
+
|
26
|
+
2006-03-08 Masao Mutoh <mutoh@highway.ne.jp>
|
27
|
+
|
28
|
+
* NEWS: Updated.
|
29
|
+
* lib/gettext/rails.rb: Fix a problem of ActionMailer in "ja".
|
30
|
+
* lib/gettext/version.rb: Incremented version number.
|
31
|
+
|
32
|
+
2006-03-04 Masao Mutoh <mutoh@highway.ne.jp>
|
33
|
+
|
34
|
+
* lib/gettext/rails.rb: @params["lang"] is treated as cgi["lang"].
|
35
|
+
Reported by Erkki Eilonen.
|
36
|
+
|
37
|
+
2006-03-03 Masao Mutoh <mutoh@highway.ne.jp>
|
38
|
+
|
39
|
+
* lib/gettext/locale_cgi.rb: Remove debug code.
|
40
|
+
* lib/gettext/locale_object.rb:
|
41
|
+
- Fix a memory leak. Reported by Jonas Schwertfeger.
|
42
|
+
- Locale::Object.parser improved.
|
43
|
+
- Rename Locale::Object#sort_order to #variant.
|
44
|
+
- "POSIX" and "C" locale strings are converted to "en".
|
45
|
+
- Add Locale::Object#to_general.
|
46
|
+
* test/gettext_test_locale.rb: Add tests follow the changes.
|
47
|
+
* lib/gettext/rails.rb:
|
48
|
+
- ActionMailer sends a mail
|
49
|
+
- in ISO-2022-JP if the language is japanese. The idea from
|
50
|
+
Iso2022Mailer by drawnboy.
|
51
|
+
- ActionController::Base.render_text is overrided to find
|
52
|
+
localized templates such as foo_ja.rhml, foo_ja_JP.rhtml.
|
53
|
+
You can reject this to set false to
|
54
|
+
GetText::Rails.use_localized_templates.
|
55
|
+
The idea is from Yugui.
|
56
|
+
|
57
|
+
2006-03-02 Masao Mutoh <mutoh@highway.ne.jp>
|
58
|
+
|
59
|
+
* samples/rails/app/models/article.rb: Add a sample of
|
60
|
+
ActiveRecord::Base.set_error_message_(title|explanation).
|
61
|
+
* lib/gettext/rails.rb: Fix a non-translated problem on production mode.
|
62
|
+
ActionMailer supported by Albert Ramstedt.
|
63
|
+
ActiveRecord::Base.set_error_message_(title|explanation) accepts Nn_()
|
64
|
+
value(Array).
|
65
|
+
|
66
|
+
2006-02-25 Masao Mutoh <mutoh@highway.ne.jp>
|
67
|
+
|
68
|
+
* lib/gettext/locale.rb: Fix to return system value when @@default is unset.
|
69
|
+
* lib/gettext/rails.rb: Fix a problem with Locale.default=.
|
70
|
+
|
71
|
+
2006-02-24 Masao Mutoh <mutoh@highway.ne.jp>
|
72
|
+
|
73
|
+
* lib/gettext.rb: Fix a typo.
|
74
|
+
|
1
75
|
2006-02-23 Masao Mutoh <mutoh@highway.ne.jp>
|
2
76
|
|
3
77
|
* Rakefile: Fix a problem to make package on Win32.
|
data/NEWS
CHANGED
@@ -1,3 +1,19 @@
|
|
1
|
+
= Ruby-GetText-Package-1.3.0 (2006-03-08)
|
2
|
+
|
3
|
+
* Improve Local::Object
|
4
|
+
* POSIX, C convert to "en".
|
5
|
+
* Enhance supports of Ruby on Rails.
|
6
|
+
* ActionMailer localization support.
|
7
|
+
* Use GetText function(_() N_() etc) in template.
|
8
|
+
* ISO-2022-JP charset is used when language is "ja"(Japanese).
|
9
|
+
* Localization templates support.
|
10
|
+
* ActionController::Base.render_text is overrided to find
|
11
|
+
localized templates such as foo_ja.rhml, foo_ja_JP.rhtml.
|
12
|
+
* @params["lang"] is treated as cgi["lang"]
|
13
|
+
* Use N_() as localized messages of validates_* instead of _().
|
14
|
+
* Translates ActiveRecord::Column.human_name values automatically.
|
15
|
+
* Fix memory leak, other bugs.
|
16
|
+
|
1
17
|
= Ruby-GetText-Package-1.2.0 (2006-02-23)
|
2
18
|
|
3
19
|
* Re-implement Locale module and Implements Locale::Object,
|
data/README
CHANGED
@@ -118,16 +118,16 @@ Swedish - Nikolai Weibull <mailing-lists.ruby-talk at rawuncut.elitem
|
|
118
118
|
|
119
119
|
Status of translations
|
120
120
|
----------------------
|
121
|
-
cs - 1.
|
122
|
-
fr - 1.
|
123
|
-
de - 1.
|
124
|
-
el - 1.
|
125
|
-
es - 1.
|
121
|
+
cs - 1.3.0
|
122
|
+
fr - 1.3.0
|
123
|
+
de - 1.3.0
|
124
|
+
el - 1.3.0
|
125
|
+
es - 1.3.0
|
126
126
|
it - 1.0.0
|
127
|
-
ja - 1.
|
128
|
-
ko - 1.
|
129
|
-
nl - 1.
|
130
|
-
pt_BR - 1.
|
127
|
+
ja - 1.3.0
|
128
|
+
ko - 1.3.0
|
129
|
+
nl - 1.3.0
|
130
|
+
pt_BR - 1.3.0
|
131
131
|
sv - 0.8.0
|
132
132
|
|
133
133
|
Maintainer
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
data/lib/gettext.rb
CHANGED
@@ -10,7 +10,7 @@
|
|
10
10
|
You may redistribute it and/or modify it under the same
|
11
11
|
license terms as Ruby.
|
12
12
|
|
13
|
-
$Id: gettext.rb,v 1.
|
13
|
+
$Id: gettext.rb,v 1.10 2006/03/03 09:22:03 mutoh Exp $
|
14
14
|
=end
|
15
15
|
|
16
16
|
require 'rbconfig'
|
@@ -145,6 +145,7 @@ module GetText
|
|
145
145
|
|
146
146
|
# This is same function as N_ but for ngettext.
|
147
147
|
# * msgid: the message id.
|
148
|
+
# * msgid_plural: the plural message id.
|
148
149
|
# * Returns: msgid.
|
149
150
|
def Nn_(msgid, msgid_plural)
|
150
151
|
[msgid, msgid_plural]
|
@@ -181,15 +182,19 @@ module GetText
|
|
181
182
|
caller(2)[0].sub(/:\d+(?::in \`\S+\')?\Z/, '')
|
182
183
|
end
|
183
184
|
|
184
|
-
# Sets locale
|
185
|
+
# Sets locale such as "de", "fr", "it", "ko", "ja_JP.eucJP", "zh_CN.EUC" ...
|
185
186
|
#
|
186
187
|
# Notice that you shouldn't use this for your own Libraries.
|
187
|
-
# * locale: a locale string
|
188
|
+
# * locale: a locale string or Locale::Object.
|
188
189
|
# * src: internal usage only. You shouldn't use this.
|
189
190
|
# * Returns: self
|
190
191
|
def set_locale(locale, src = callersrc)
|
191
192
|
if locale
|
192
|
-
|
193
|
+
if locale.kind_of? Locale::Object
|
194
|
+
ret = locale
|
195
|
+
else
|
196
|
+
ret = Locale::Object.new(locale.to_s)
|
197
|
+
end
|
193
198
|
ret.charset = @@__output_charset if @@__output_charset
|
194
199
|
else
|
195
200
|
ret = nil
|
data/lib/gettext/locale.rb
CHANGED
@@ -1,12 +1,12 @@
|
|
1
1
|
=begin
|
2
2
|
locale.rb - Locale module
|
3
3
|
|
4
|
-
Copyright (C) 2002-
|
4
|
+
Copyright (C) 2002-2006 Masao Mutoh
|
5
5
|
|
6
6
|
You may redistribute it and/or modify it under the same
|
7
7
|
license terms as Ruby.
|
8
8
|
|
9
|
-
$Id: locale.rb,v 1.
|
9
|
+
$Id: locale.rb,v 1.10 2006/03/03 07:03:50 mutoh Exp $
|
10
10
|
=end
|
11
11
|
|
12
12
|
require 'gettext/locale_object'
|
@@ -87,8 +87,7 @@ module Locale
|
|
87
87
|
# If the default locale not set, this returns system locale.
|
88
88
|
# * Returns: the default locale (Locale::Object).
|
89
89
|
def default
|
90
|
-
@@default
|
91
|
-
@@default
|
90
|
+
@@default ? @@default : system
|
92
91
|
end
|
93
92
|
|
94
93
|
# Gets the current locale (Locale::Object).
|
@@ -143,6 +142,11 @@ module Locale
|
|
143
142
|
# set(lang)
|
144
143
|
# set(lang, country = nil, charset = nil)
|
145
144
|
#
|
145
|
+
# * lang: language as String, or Locale::Object
|
146
|
+
# * country: country as String or nil
|
147
|
+
# * charset: charset as String or nil
|
148
|
+
# * Returns: a Locale::Object.
|
149
|
+
#
|
146
150
|
# Sets a default locale. This function is an alias of Locale.set_default.
|
147
151
|
#
|
148
152
|
# *Notice*: Locale.set(lctype, locale) is deprecated.
|
@@ -155,8 +159,10 @@ module Locale
|
|
155
159
|
charset = nil
|
156
160
|
end
|
157
161
|
|
158
|
-
if lang
|
162
|
+
if lang.kind_of? String
|
159
163
|
set_default(Locale::Object.new(lang, country, charset))
|
164
|
+
elsif lang.kind_of? Locale::Object
|
165
|
+
set_default(lang)
|
160
166
|
else
|
161
167
|
set_default(nil)
|
162
168
|
end
|
data/lib/gettext/locale_cgi.rb
CHANGED
@@ -6,7 +6,7 @@
|
|
6
6
|
You may redistribute it and/or modify it under the same
|
7
7
|
license terms as Ruby.
|
8
8
|
|
9
|
-
$Id: locale_cgi.rb,v 1.
|
9
|
+
$Id: locale_cgi.rb,v 1.3 2006/03/07 17:26:57 mutoh Exp $
|
10
10
|
=end
|
11
11
|
|
12
12
|
|
@@ -23,16 +23,13 @@ module Locale # :nodoc:
|
|
23
23
|
def system
|
24
24
|
cgi_ = cgi
|
25
25
|
if ret = cgi_["lang"] and ret.size > 0
|
26
|
-
$stderr.print "query_string: lang = #{ret}\n" if $DEBUG
|
27
26
|
elsif ret = cgi_.cookies["lang"][0]
|
28
|
-
$stderr.print "cookie: lang = #{ret}\n" if $DEBUG
|
29
27
|
elsif lang = cgi_.accept_language and lang.size > 0
|
30
|
-
$stderr.print "accept lanaugage: lang = #{lang}\n" if $DEBUG
|
31
28
|
ret = lang.split(/,|;/).first
|
32
29
|
else
|
33
30
|
ret = @@default_locale.to_str
|
34
31
|
end
|
35
|
-
|
32
|
+
|
36
33
|
codesets = cgi_.accept_charset
|
37
34
|
if codesets and codesets.size > 0
|
38
35
|
ary = codesets.split(',')
|
@@ -6,23 +6,29 @@
|
|
6
6
|
You may redistribute it and/or modify it under the same
|
7
7
|
license terms as Ruby.
|
8
8
|
|
9
|
-
$Id: locale_object.rb,v 1.
|
9
|
+
$Id: locale_object.rb,v 1.7 2006/03/03 07:03:50 mutoh Exp $
|
10
10
|
=end
|
11
11
|
|
12
12
|
|
13
13
|
module Locale # :nodoc:
|
14
14
|
class Object
|
15
|
-
attr_accessor :language, :country, :charset, :script, :
|
15
|
+
attr_accessor :language, :country, :charset, :script, :variant, :modifier, :orig_str
|
16
16
|
|
17
17
|
# Parse POSIX or RFC 3066 style locale name to Array.
|
18
18
|
#
|
19
19
|
# * locale_name: locale name as String
|
20
20
|
#
|
21
21
|
# * Basic POSIX format: <language>_<COUNTRY>.<charset>@<modifier>
|
22
|
+
# * Both of POSIX and C are converted to "en".
|
22
23
|
# * Basic RFC3066 format: <language>-<COUNTRY>
|
24
|
+
# * Win32 format: <language>-<COUNTRY>-<Script>_<sort order>
|
25
|
+
# * CLDR format: <language>_<Script>_<COUNTRY>_<variant>@<modifier>
|
26
|
+
# * Some broken format: <language>_<country>_<script> # Don't use this.
|
23
27
|
# * The max locale format is below:
|
24
|
-
#
|
25
|
-
#
|
28
|
+
# * <language>-<COUNTRY>-<Script>_<sort order>.<charset>@<modifier>
|
29
|
+
# * format: <language>_<Script>_<COUNTRY>_<variant>@<modifier>
|
30
|
+
# * both of '-' and '_' are separators.
|
31
|
+
# * each elements are omittable.
|
26
32
|
#
|
27
33
|
# (e.g.) uz-UZ-Latn, ja_JP.eucJP, wa_BE.iso885915@euro
|
28
34
|
# * Returns: [language, country, charset, script, modifier]
|
@@ -30,10 +36,9 @@ module Locale # :nodoc:
|
|
30
36
|
# * country: an uppercase ISO 3166-1 country/region identifier.
|
31
37
|
# * charset: charset(codeset) (no standard)
|
32
38
|
# * script: an initial-uppercase ISO 15924 script code.
|
33
|
-
# *
|
39
|
+
# * variant: variant value in CLDR or sort order in Win32.
|
34
40
|
# * modifier: (no standard)
|
35
41
|
#
|
36
|
-
# script, sort_order and modifier are not used now.
|
37
42
|
#
|
38
43
|
# "ja_JP.eucJP" => ["ja", "JP", "eucJP", nil, nil]
|
39
44
|
# "ja-jp.utf-8" => ["ja", "JP", "utf-8", nil, nil]
|
@@ -41,16 +46,38 @@ module Locale # :nodoc:
|
|
41
46
|
# "ja" => ["ja", nil, nil, nil, nil]
|
42
47
|
# "uz@Latn" => ["uz", nil, nil, nil, "Latn"]
|
43
48
|
# "uz-UZ-Latn" => ["uz", "UZ", nil, "Latn", nil]
|
49
|
+
# "uz_UZ_Latn" => ["uz", "UZ", nil, "Latn", nil]
|
44
50
|
# "wa_BE.iso885915@euro" => ["wa", "BE", "iso885915", nil, "euro"]
|
51
|
+
# "C" => ["en", nil, nil, nil, nil]
|
52
|
+
# "POSIX" => ["en", nil, nil, nil, nil]
|
53
|
+
# "zh_Hant" => ["zh", nil, nil, "Hant", nil]
|
54
|
+
# "zh_Hant_HK" => ["zh", "HK", nil, "Hant", nil]
|
55
|
+
# "de_DE@collation=phonebook,currency=DDM" => ["de", "DE", nil, nil, "collation=phonebook,currency=DDM"]
|
45
56
|
def self.parse(locale_name)
|
46
57
|
lang_charset, modifier = locale_name.split(/@/)
|
47
58
|
lang, charset = lang_charset.split(/\./)
|
48
|
-
language, country, script,
|
59
|
+
language, country, script, variant = lang.gsub(/_/, "-").split('-')
|
49
60
|
language = language ? language.downcase : nil
|
50
|
-
language = "
|
51
|
-
|
52
|
-
|
53
|
-
|
61
|
+
language = "en" if language == "c" || language == "posix"
|
62
|
+
if country
|
63
|
+
if country =~ /[A-Z][a-z]+/ #Latn => script
|
64
|
+
tmp = script
|
65
|
+
script = country
|
66
|
+
if tmp =~ /[A-Z]+/ # US => country
|
67
|
+
country = tmp
|
68
|
+
else
|
69
|
+
country = nil
|
70
|
+
variant = tmp
|
71
|
+
end
|
72
|
+
else
|
73
|
+
country = country.upcase
|
74
|
+
if script !~ /[A-Z][a-z]+/ #Latn => script
|
75
|
+
variant = script
|
76
|
+
script = nil
|
77
|
+
end
|
78
|
+
end
|
79
|
+
end
|
80
|
+
[language, country, charset, script, variant, modifier]
|
54
81
|
end
|
55
82
|
|
56
83
|
# Initialize Locale::Object.
|
@@ -70,11 +97,17 @@ module Locale # :nodoc:
|
|
70
97
|
# -> language = "en", country = "CA", charset = nil.
|
71
98
|
# Locale::Object.new("uz-uz-latn")
|
72
99
|
# -> language = "uz", country = "UZ", charset = nil, script = "Latn"
|
100
|
+
# Locale::Object.new("uz_UZ_Latn")
|
101
|
+
# -> language = "uz", country = "UZ", charset = nil, script = "Latn"
|
73
102
|
# Locale::Object.new("we_BE.iso885915@euro")
|
74
103
|
# -> language = "we", country = "BE", charset = "iso885915", modifier = "euroo".
|
104
|
+
# Locale::Object.new("C")
|
105
|
+
# -> language = "en", country = nil, charset = nil.
|
106
|
+
# Locale::Object.new("POSIX")
|
107
|
+
# -> language = "en", country = nil, charset = nil.
|
75
108
|
def initialize(language_or_locale_name, country = nil, charset = nil)
|
76
109
|
@orig_str = language_or_locale_name
|
77
|
-
@language, @country, @charset, @script, @
|
110
|
+
@language, @country, @charset, @script, @variant, @modifier =
|
78
111
|
self.class.parse(language_or_locale_name)
|
79
112
|
@country = country if country
|
80
113
|
@charset = charset if charset
|
@@ -94,7 +127,9 @@ module Locale # :nodoc:
|
|
94
127
|
ret
|
95
128
|
end
|
96
129
|
|
97
|
-
# Returns the locale as Win32 format. (e.g.) "
|
130
|
+
# Returns the locale as Win32 format. (e.g.) "az-AZ-Latn".
|
131
|
+
#
|
132
|
+
# This is used to find the charset from locale table.
|
98
133
|
def to_win
|
99
134
|
ret = @language
|
100
135
|
ret += "-#{@country}" if @country
|
@@ -102,29 +137,41 @@ module Locale # :nodoc:
|
|
102
137
|
ret
|
103
138
|
end
|
104
139
|
|
140
|
+
# Returns the locale as 'ruby' general format. (e.g.) "az_AZ_Latn"
|
141
|
+
def to_general
|
142
|
+
ret = @language
|
143
|
+
ret += "_#{@country}" if @country
|
144
|
+
ret += "_#{@script}" if @script
|
145
|
+
ret
|
146
|
+
end
|
147
|
+
|
105
148
|
# Gets the locale informations as an Array.
|
106
|
-
# * Returns [language, country, charset, script,
|
149
|
+
# * Returns [language, country, charset, script, variant, modifier]
|
107
150
|
# * language: a lowercase ISO 639(or 639-2/T) language code.
|
108
151
|
# * country: an uppercase ISO 3166-1 country/region identifier.
|
109
152
|
# * charset: charset(codeset) (no standard)
|
110
153
|
# * script: an initial-uppercase ISO 15924 script code.
|
111
|
-
# *
|
154
|
+
# * variant: variant value in CLDR or sort order in Win32.
|
112
155
|
# * modifier: (no standard)
|
113
156
|
def to_a
|
114
|
-
[@language, @country, @charset, @script, @
|
157
|
+
[@language, @country, @charset, @script, @variant, @modifier]
|
115
158
|
end
|
116
159
|
|
117
|
-
|
118
|
-
# * other: another object.
|
119
|
-
# * Returns: true if the 2 objects are same object.
|
120
|
-
def ==(other)
|
160
|
+
def ==(other) #:nodoc:
|
121
161
|
other != nil and
|
122
162
|
@language == other.language and @country == other.country and
|
123
163
|
@charset == other.charset and @script == other.script and
|
124
|
-
@
|
164
|
+
@variant == other.variant and @modifier == other.modifier and
|
125
165
|
@charset == other.charset
|
126
166
|
end
|
127
167
|
|
168
|
+
def eql?(other) #:nodoc:
|
169
|
+
self.==(other)
|
170
|
+
end
|
171
|
+
|
172
|
+
def hash #:nodoc:
|
173
|
+
"#{self.class}:#{to_general}.#{@charset}@#{modifier}".hash
|
174
|
+
end
|
128
175
|
alias :to_s :to_posix
|
129
176
|
alias :to_str :to_posix
|
130
177
|
end
|