twitter_cldr 1.7.0 → 1.8.0
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/History.txt +6 -0
- data/README.md +61 -5
- data/Rakefile +64 -60
- data/js/lib/twitter_cldr_js.rb +0 -2
- data/lib/twitter_cldr/core_ext.rb +12 -12
- data/lib/twitter_cldr/formatters/calendars/timespan_formatter.rb +13 -11
- data/lib/twitter_cldr/localized/localized_array.rb +33 -0
- data/lib/twitter_cldr/localized/localized_date.rb +23 -0
- data/lib/twitter_cldr/localized/localized_datetime.rb +63 -0
- data/lib/twitter_cldr/localized/localized_number.rb +50 -0
- data/lib/twitter_cldr/localized/localized_object.rb +38 -0
- data/lib/twitter_cldr/localized/localized_string.rb +41 -0
- data/lib/twitter_cldr/localized/localized_symbol.rb +20 -0
- data/lib/twitter_cldr/localized/localized_time.rb +23 -0
- data/lib/twitter_cldr/localized/localized_timespan.rb +26 -0
- data/lib/twitter_cldr/localized.rb +18 -0
- data/lib/twitter_cldr/normalization.rb +23 -0
- data/lib/twitter_cldr/resources/{tries_dumper.rb → collation_tries_dumper.rb} +1 -1
- data/lib/twitter_cldr/resources/composition_exclusions_importer.rb +1 -1
- data/lib/twitter_cldr/resources/language_codes_importer.rb +232 -0
- data/lib/twitter_cldr/resources/locales_resources_importer.rb +1 -1
- data/lib/twitter_cldr/resources/phone_codes_importer.rb +1 -1
- data/lib/twitter_cldr/resources/postal_codes_importer.rb +1 -1
- data/lib/twitter_cldr/resources/tailoring_importer.rb +12 -3
- data/lib/twitter_cldr/resources/unicode_data_importer.rb +3 -1
- data/lib/twitter_cldr/resources.rb +2 -1
- data/lib/twitter_cldr/shared/calendar.rb +2 -6
- data/lib/twitter_cldr/shared/language_codes.rb +75 -0
- data/lib/twitter_cldr/shared/languages.rb +4 -11
- data/lib/twitter_cldr/shared.rb +8 -7
- data/lib/twitter_cldr/tokenizers/base.rb +2 -8
- data/lib/twitter_cldr/utils.rb +8 -0
- data/lib/twitter_cldr/version.rb +1 -1
- data/lib/twitter_cldr.rb +5 -4
- data/resources/custom/locales/cs/units.yml +3 -3
- data/resources/custom/locales/pl/units.yml +4 -4
- data/resources/custom/locales/pt/units.yml +2 -2
- data/resources/shared/language_codes_table.dump +0 -0
- data/spec/core_ext_spec.rb +19 -0
- data/spec/{core_ext/array_spec.rb → localized/localized_array_spec.rb} +1 -1
- data/spec/{core_ext/calendars/date_spec.rb → localized/localized_date_spec.rb} +24 -44
- data/spec/localized/localized_datetime_spec.rb +81 -0
- data/spec/{core_ext/numbers → localized}/localized_number_spec.rb +34 -1
- data/spec/localized/localized_object_spec.rb +89 -0
- data/spec/{core_ext/string_spec.rb → localized/localized_string_spec.rb} +16 -33
- data/spec/{core_ext/symbol_spec.rb → localized/localized_symbol_spec.rb} +3 -1
- data/spec/localized/localized_time_spec.rb +70 -0
- data/spec/normalization_spec.rb +42 -0
- data/spec/readme_spec.rb +51 -5
- data/spec/shared/language_codes_spec.rb +161 -0
- data/spec/shared/phone_codes_spec.rb +2 -2
- data/spec/shared/postal_codes_spec.rb +2 -2
- data/spec/spec_helper.rb +2 -0
- data/spec/tokenizers/base_spec.rb +15 -6
- data/spec/utils_spec.rb +18 -2
- data/twitter_cldr.gemspec +2 -1
- metadata +28 -44
- data/lib/twitter_cldr/core_ext/array.rb +0 -35
- data/lib/twitter_cldr/core_ext/calendars/date.rb +0 -25
- data/lib/twitter_cldr/core_ext/calendars/datetime.rb +0 -65
- data/lib/twitter_cldr/core_ext/calendars/time.rb +0 -25
- data/lib/twitter_cldr/core_ext/calendars/timespan.rb +0 -24
- data/lib/twitter_cldr/core_ext/localized_object.rb +0 -25
- data/lib/twitter_cldr/core_ext/numbers/bignum.rb +0 -8
- data/lib/twitter_cldr/core_ext/numbers/fixnum.rb +0 -8
- data/lib/twitter_cldr/core_ext/numbers/float.rb +0 -8
- data/lib/twitter_cldr/core_ext/numbers/localized_number.rb +0 -54
- data/lib/twitter_cldr/core_ext/string.rb +0 -51
- data/lib/twitter_cldr/core_ext/symbol.rb +0 -22
- data/spec/core_ext/calendars/datetime_spec.rb +0 -90
- data/spec/core_ext/calendars/time_spec.rb +0 -90
- data/spec/core_ext/calendars_spec.rb +0 -34
- data/spec/core_ext/numbers/bignum_spec.rb +0 -25
- data/spec/core_ext/numbers/fixnum_spec.rb +0 -25
- data/spec/core_ext/numbers/float_spec.rb +0 -25
- data/spec/core_ext/numbers_spec.rb +0 -39
@@ -1,90 +0,0 @@
|
|
1
|
-
# encoding: UTF-8
|
2
|
-
|
3
|
-
# Copyright 2012 Twitter, Inc
|
4
|
-
# http://www.apache.org/licenses/LICENSE-2.0
|
5
|
-
|
6
|
-
require 'spec_helper'
|
7
|
-
|
8
|
-
include TwitterCldr
|
9
|
-
|
10
|
-
describe Time do
|
11
|
-
describe "#localize" do
|
12
|
-
let (:time) { Time.now }
|
13
|
-
|
14
|
-
it "should localize with the given locale, English by default" do
|
15
|
-
loc_time = time.localize
|
16
|
-
loc_time.should be_a(LocalizedTime)
|
17
|
-
loc_time.locale.should == :en
|
18
|
-
loc_time.calendar_type.should == :gregorian
|
19
|
-
loc_time.base_obj.should == time
|
20
|
-
|
21
|
-
loc_time = Time.now.localize(:it)
|
22
|
-
loc_time.should be_a(LocalizedTime)
|
23
|
-
loc_time.locale.should == :it
|
24
|
-
end
|
25
|
-
|
26
|
-
it "should localize with the given calendar" do
|
27
|
-
loc_time = time.localize(:th, :calendar_type => :buddhist)
|
28
|
-
loc_time.should be_a(LocalizedTime)
|
29
|
-
loc_time.locale.should == :th
|
30
|
-
loc_time.calendar_type.should == :buddhist
|
31
|
-
loc_time.base_obj.should == time
|
32
|
-
end
|
33
|
-
|
34
|
-
it "should forward calendar_type" do
|
35
|
-
loc_time = time.localize(:th, :calendar_type => :buddhist)
|
36
|
-
loc_time.to_datetime(Date.today).calendar_type.should == :buddhist
|
37
|
-
end
|
38
|
-
end
|
39
|
-
|
40
|
-
describe "stringify" do
|
41
|
-
it "should stringify with a default calendar" do
|
42
|
-
#Time.now.localize(:th, :calendar_type => :buddhist).to_full_s # It doesn't support era
|
43
|
-
Time.now.localize(:th).to_long_s
|
44
|
-
Time.now.localize(:th).to_medium_s
|
45
|
-
Time.now.localize(:th).to_short_s
|
46
|
-
end
|
47
|
-
|
48
|
-
it "should stringify with buddhist calendar" do
|
49
|
-
# Ensure that buddhist calendar data is present in th locale.
|
50
|
-
TwitterCldr.get_locale_resource(:th, :calendars)[:th][:calendars][:buddhist].should_not(
|
51
|
-
be_nil, 'buddhist calendar is missing for :th locale (check resources/locales/th/calendars.yml)'
|
52
|
-
)
|
53
|
-
|
54
|
-
#Time.now.localize(:th, :calendar_type => :buddhist).to_full_s # It doesn't support era
|
55
|
-
Time.now.localize(:th, :calendar_type => :buddhist).to_long_s
|
56
|
-
Time.now.localize(:th, :calendar_type => :buddhist).to_medium_s
|
57
|
-
Time.now.localize(:th, :calendar_type => :buddhist).to_short_s
|
58
|
-
end
|
59
|
-
end
|
60
|
-
end
|
61
|
-
|
62
|
-
describe "#ago" do
|
63
|
-
it "should ago-ify a time with a number of different units" do
|
64
|
-
time = Time.now
|
65
|
-
base_time = time + 172800
|
66
|
-
loc_time = time.localize(:de)
|
67
|
-
loc_time.ago(:base_time => base_time).to_s(:unit => :hour).should match_normalized("Vor 48 Stunden")
|
68
|
-
loc_time.ago(:base_time => base_time).to_s(:unit => :day).should match_normalized("Vor 2 Tagen")
|
69
|
-
end
|
70
|
-
end
|
71
|
-
|
72
|
-
describe LocalizedTime do
|
73
|
-
describe "#to_datetime" do
|
74
|
-
it "should combine a date and a time object into a datetime" do
|
75
|
-
date = Date.new(1987, 9, 20)
|
76
|
-
time = Time.local(2000, 5, 12, 22, 5)
|
77
|
-
datetime = time.localize.to_datetime(date)
|
78
|
-
datetime.should be_a(LocalizedDateTime)
|
79
|
-
datetime.base_obj.strftime("%Y-%m-%d %H:%M:%S").should == "1987-09-20 22:05:00"
|
80
|
-
end
|
81
|
-
|
82
|
-
it "should work with an instance of LocalizedDate too" do
|
83
|
-
date = Date.new(1987, 9, 20).localize
|
84
|
-
time = Time.local(2000, 5, 12, 22, 5)
|
85
|
-
datetime = time.localize.to_datetime(date)
|
86
|
-
datetime.should be_a(LocalizedDateTime)
|
87
|
-
datetime.base_obj.strftime("%Y-%m-%d %H:%M:%S").should == "1987-09-20 22:05:00"
|
88
|
-
end
|
89
|
-
end
|
90
|
-
end
|
@@ -1,34 +0,0 @@
|
|
1
|
-
# encoding: UTF-8
|
2
|
-
|
3
|
-
# Copyright 2012 Twitter, Inc
|
4
|
-
# http://www.apache.org/licenses/LICENSE-2.0
|
5
|
-
|
6
|
-
require 'spec_helper'
|
7
|
-
|
8
|
-
include TwitterCldr::Tokenizers
|
9
|
-
|
10
|
-
describe "Calendars" do
|
11
|
-
it "makes sure datetime formatters for every locale don't raise errors" do
|
12
|
-
TwitterCldr.supported_locales.each do |locale|
|
13
|
-
DateTimeTokenizer::VALID_TYPES.each do |type|
|
14
|
-
lambda { DateTime.now.localize(locale).send(:"to_#{type}_s") }.should_not raise_error
|
15
|
-
end
|
16
|
-
end
|
17
|
-
end
|
18
|
-
|
19
|
-
it "makes sure date formatters for every locale don't raise errors" do
|
20
|
-
TwitterCldr.supported_locales.each do |locale|
|
21
|
-
DateTimeTokenizer::VALID_TYPES.each do |type|
|
22
|
-
lambda { Date.today.localize(locale).send(:"to_#{type}_s") }.should_not raise_error
|
23
|
-
end
|
24
|
-
end
|
25
|
-
end
|
26
|
-
|
27
|
-
it "makes sure time formatters for every locale don't raise errors" do
|
28
|
-
TwitterCldr.supported_locales.each do |locale|
|
29
|
-
DateTimeTokenizer::VALID_TYPES.each do |type|
|
30
|
-
lambda { Time.now.localize(locale).send(:"to_#{type}_s") }.should_not raise_error
|
31
|
-
end
|
32
|
-
end
|
33
|
-
end
|
34
|
-
end
|
@@ -1,25 +0,0 @@
|
|
1
|
-
# encoding: UTF-8
|
2
|
-
|
3
|
-
# Copyright 2012 Twitter, Inc
|
4
|
-
# http://www.apache.org/licenses/LICENSE-2.0
|
5
|
-
|
6
|
-
require 'spec_helper'
|
7
|
-
|
8
|
-
include TwitterCldr
|
9
|
-
|
10
|
-
describe Bignum do
|
11
|
-
describe "#localize" do
|
12
|
-
it "should localize with the given locale, English by default" do
|
13
|
-
num = 9719791287349172340823094829
|
14
|
-
num.should be_a(Bignum)
|
15
|
-
loc_num = num.localize
|
16
|
-
loc_num.should be_a(LocalizedNumber)
|
17
|
-
loc_num.locale.should == :en
|
18
|
-
loc_num.base_obj.should == num
|
19
|
-
|
20
|
-
loc_num = num.localize(:it)
|
21
|
-
loc_num.should be_a(LocalizedNumber)
|
22
|
-
loc_num.locale.should == :it
|
23
|
-
end
|
24
|
-
end
|
25
|
-
end
|
@@ -1,25 +0,0 @@
|
|
1
|
-
# encoding: UTF-8
|
2
|
-
|
3
|
-
# Copyright 2012 Twitter, Inc
|
4
|
-
# http://www.apache.org/licenses/LICENSE-2.0
|
5
|
-
|
6
|
-
require 'spec_helper'
|
7
|
-
|
8
|
-
include TwitterCldr
|
9
|
-
|
10
|
-
describe Fixnum do
|
11
|
-
describe "#localize" do
|
12
|
-
it "should localize with the given locale, English by default" do
|
13
|
-
num = 1337
|
14
|
-
num.should be_a(Fixnum)
|
15
|
-
loc_num = num.localize
|
16
|
-
loc_num.should be_a(LocalizedNumber)
|
17
|
-
loc_num.locale.should == :en
|
18
|
-
loc_num.base_obj.should == num
|
19
|
-
|
20
|
-
loc_num = num.localize(:it)
|
21
|
-
loc_num.should be_a(LocalizedNumber)
|
22
|
-
loc_num.locale.should == :it
|
23
|
-
end
|
24
|
-
end
|
25
|
-
end
|
@@ -1,25 +0,0 @@
|
|
1
|
-
# encoding: UTF-8
|
2
|
-
|
3
|
-
# Copyright 2012 Twitter, Inc
|
4
|
-
# http://www.apache.org/licenses/LICENSE-2.0
|
5
|
-
|
6
|
-
require 'spec_helper'
|
7
|
-
|
8
|
-
include TwitterCldr
|
9
|
-
|
10
|
-
describe Float do
|
11
|
-
describe "#localize" do
|
12
|
-
it "should localize with the given locale, English by default" do
|
13
|
-
num = 1337.8
|
14
|
-
num.should be_a(Float)
|
15
|
-
loc_num = num.localize
|
16
|
-
loc_num.should be_a(LocalizedNumber)
|
17
|
-
loc_num.locale.should == :en
|
18
|
-
loc_num.base_obj.should == num
|
19
|
-
|
20
|
-
loc_num = num.localize(:it)
|
21
|
-
loc_num.should be_a(LocalizedNumber)
|
22
|
-
loc_num.locale.should == :it
|
23
|
-
end
|
24
|
-
end
|
25
|
-
end
|
@@ -1,39 +0,0 @@
|
|
1
|
-
# encoding: UTF-8
|
2
|
-
|
3
|
-
# Copyright 2012 Twitter, Inc
|
4
|
-
# http://www.apache.org/licenses/LICENSE-2.0
|
5
|
-
|
6
|
-
require 'spec_helper'
|
7
|
-
|
8
|
-
include TwitterCldr
|
9
|
-
|
10
|
-
describe "Numbers" do
|
11
|
-
it "makes sure currency formatters for every locale don't raise errors" do
|
12
|
-
TwitterCldr.supported_locales.each do |locale|
|
13
|
-
lambda { 1337.localize(locale).to_currency.to_s }.should_not raise_error
|
14
|
-
lambda { 1337.localize(locale).to_currency.to_s(:precision => 3) }.should_not raise_error
|
15
|
-
lambda { 1337.localize(locale).to_currency.to_s(:precision => 3, :currency => "EUR") }.should_not raise_error
|
16
|
-
end
|
17
|
-
end
|
18
|
-
|
19
|
-
it "makes sure decimal formatters for every locale don't raise errors" do
|
20
|
-
TwitterCldr.supported_locales.each do |locale|
|
21
|
-
lambda { 1337.localize(locale).to_decimal.to_s }.should_not raise_error
|
22
|
-
lambda { 1337.localize(locale).to_decimal.to_s(:precision => 3) }.should_not raise_error
|
23
|
-
end
|
24
|
-
end
|
25
|
-
|
26
|
-
it "makes sure percentage formatters for every locale don't raise errors" do
|
27
|
-
TwitterCldr.supported_locales.each do |locale|
|
28
|
-
lambda { 1337.localize(locale).to_percent.to_s }.should_not raise_error
|
29
|
-
lambda { 1337.localize(locale).to_percent.to_s(:precision => 3) }.should_not raise_error
|
30
|
-
end
|
31
|
-
end
|
32
|
-
|
33
|
-
it "makes sure basic number formatters for every locale don't raise errors" do
|
34
|
-
TwitterCldr.supported_locales.each do |locale|
|
35
|
-
lambda { 1337.localize(locale).to_s }.should_not raise_error
|
36
|
-
lambda { 1337.localize(locale).to_s(:precision => 3) }.should_not raise_error
|
37
|
-
end
|
38
|
-
end
|
39
|
-
end
|