worldwide 0.7.1 → 0.8.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (41) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +6 -0
  3. data/Gemfile.lock +1 -1
  4. data/README.md +2 -2
  5. data/db/data/regions/_default/bg-BG.yml +8 -0
  6. data/db/data/regions/_default/cs.yml +8 -0
  7. data/db/data/regions/_default/da.yml +8 -0
  8. data/db/data/regions/_default/de.yml +8 -0
  9. data/db/data/regions/_default/el.yml +8 -0
  10. data/db/data/regions/_default/en.yml +8 -0
  11. data/db/data/regions/_default/es.yml +8 -0
  12. data/db/data/regions/_default/fi.yml +8 -0
  13. data/db/data/regions/_default/fr.yml +8 -0
  14. data/db/data/regions/_default/hi.yml +8 -0
  15. data/db/data/regions/_default/hr-HR.yml +8 -0
  16. data/db/data/regions/_default/hu.yml +8 -0
  17. data/db/data/regions/_default/id.yml +8 -0
  18. data/db/data/regions/_default/it.yml +8 -0
  19. data/db/data/regions/_default/ja.yml +8 -0
  20. data/db/data/regions/_default/ko.yml +8 -0
  21. data/db/data/regions/_default/lt-LT.yml +8 -0
  22. data/db/data/regions/_default/ms.yml +8 -0
  23. data/db/data/regions/_default/nb.yml +8 -0
  24. data/db/data/regions/_default/nl.yml +8 -0
  25. data/db/data/regions/_default/pl.yml +8 -0
  26. data/db/data/regions/_default/pt-BR.yml +8 -0
  27. data/db/data/regions/_default/pt-PT.yml +8 -0
  28. data/db/data/regions/_default/ro-RO.yml +8 -0
  29. data/db/data/regions/_default/ru.yml +8 -0
  30. data/db/data/regions/_default/sk-SK.yml +8 -0
  31. data/db/data/regions/_default/sl-SI.yml +8 -0
  32. data/db/data/regions/_default/sv.yml +8 -0
  33. data/db/data/regions/_default/th.yml +8 -0
  34. data/db/data/regions/_default/tr.yml +8 -0
  35. data/db/data/regions/_default/vi.yml +8 -0
  36. data/db/data/regions/_default/zh-CN.yml +8 -0
  37. data/db/data/regions/_default/zh-TW.yml +8 -0
  38. data/lib/worldwide/regions.rb +2 -1
  39. data/lib/worldwide/regions_loader.rb +7 -0
  40. data/lib/worldwide/version.rb +1 -1
  41. metadata +2 -2
@@ -12,6 +12,7 @@ tr:
12
12
  too_long: Şirket adı çok uzun (maksimum 255 karakter olmalı)
13
13
  contains_html_tags: Şirket, HTML etiketleri içeremez.
14
14
  contains_emojis: Şirket emoji içeremez
15
+ contains_mathematical_symbols: Şirket, matematiksel semboller içeremez
15
16
  contains_restricted_characters: Şirket adı yalnızca harfler, sayılar,
16
17
  yerel karakterler ve özel karakterler içerebilir
17
18
  first_name:
@@ -24,6 +25,7 @@ tr:
24
25
  contains_html_tags: Ad, HTML etiketleri içeremez.
25
26
  contains_emojis: Ad emoji içeremez
26
27
  contains_url: Ad URL içeremez.
28
+ contains_mathematical_symbols: Ad, matematiksel semboller içeremez
27
29
  contains_restricted_characters: Ad yalnızca harfler, sayılar, yerel karakterler
28
30
  ve özel karakterler içerebilir
29
31
  last_name:
@@ -36,6 +38,7 @@ tr:
36
38
  contains_html_tags: Soyadı, HTML etiketleri içeremez.
37
39
  contains_emojis: Soyadı emoji içeremez
38
40
  contains_url: Soyadı URL içeremez.
41
+ contains_mathematical_symbols: Soyadı, matematiksel semboller içeremez
39
42
  contains_restricted_characters: Soyadı yalnızca harfler, sayılar, yerel
40
43
  karakterler ve özel karakterler içerebilir
41
44
  address1:
@@ -52,6 +55,7 @@ tr:
52
55
  street_unknown_for_zip: "%{zip} için geçerli bir sokak adı girin."
53
56
  building_number_invalid: "%{street} %{zip} için girilen bina numarasıyla
54
57
  eşleşen kayıt bulunamadı."
58
+ contains_mathematical_symbols: Adres 1, matematiksel semboller içeremez
55
59
  contains_restricted_characters: Adres1 yalnızca harfler, sayılar, yerel
56
60
  karakterler ve özel karakterler içerebilir
57
61
  contains_too_many_words: 1. adres en fazla %{word_count} kelime içerebilir
@@ -72,6 +76,7 @@ tr:
72
76
  street_unknown_for_zip: "%{zip} için geçerli bir sokak adı girin."
73
77
  building_number_invalid: "%{street} %{zip} için girilen bina numarasıyla
74
78
  eşleşen kayıt bulunamadı."
79
+ contains_mathematical_symbols: Adres 2, matematiksel semboller içeremez
75
80
  contains_restricted_characters: Adres2 yalnızca harfler, sayılar, yerel
76
81
  karakterler ve özel karakterler içerebilir
77
82
  contains_too_many_words: 2. adres en fazla %{word_count} kelime içerebilir
@@ -92,6 +97,7 @@ tr:
92
97
  unknown_for_province: "%{province} için geçerli bir şehir girin"
93
98
  unknown_for_zip_and_province: "%{zip}, %{province} için geçerli bir şehir
94
99
  girin"
100
+ contains_mathematical_symbols: Şehir, matematiksel semboller içeremez
95
101
  contains_restricted_characters: Şehir adı yalnızca harfler, sayılar, yerel
96
102
  karakterler ve özel karakterler içerebilir
97
103
  contains_too_many_words: Şehir en fazla %{word_count} kelime içerebilir
@@ -114,6 +120,7 @@ tr:
114
120
  invalid: Geçerli bir telefon numarası girin
115
121
  too_long: Telefon numarası çok uzun (maksimum 255 karakter)
116
122
  contains_emojis: Telefon numarası emoji içeremez
123
+ contains_mathematical_symbols: Telefon numarası, matematiksel semboller içeremez
117
124
  contains_restricted_characters: Telefon numarası yalnızca harfler, sayılar,
118
125
  yerel karakterler ve özel karakterler içerebilir
119
126
  province:
@@ -143,6 +150,7 @@ tr:
143
150
  not_supported: Şu anda bu ülkeyi/bölgeyi desteklemiyoruz. Yeni bir adres
144
151
  girip tekrar deneyin.
145
152
  unknown_for_province: "%{province} için geçerli bir posta kodu girin"
153
+ contains_mathematical_symbols: Posta kodu, matematiksel semboller içeremez
146
154
  contains_restricted_characters: Posta kodu yalnızca harfler, sayılar,
147
155
  yerel karakterler ve özel karakterler içerebilir
148
156
  invalid_for_province: "%{province} için geçerli bir posta kodu girin"
@@ -12,6 +12,7 @@ vi:
12
12
  too_long: Tên công ty quá dài (tối đa 255 ký tự)
13
13
  contains_html_tags: Công ty không được chứa thẻ HTML.
14
14
  contains_emojis: Công ty không được chứa biểu tượng cảm xúc
15
+ contains_mathematical_symbols: Công ty không được chứa ký hiệu toán học
15
16
  contains_restricted_characters: Công ty chỉ được chứa chữ cái, chữ số,
16
17
  ký tự địa phương và ký tự đặc biệt
17
18
  first_name:
@@ -24,6 +25,7 @@ vi:
24
25
  contains_html_tags: Tên không được chứa thẻ HTML.
25
26
  contains_emojis: Tên không được chứa biểu tượng cảm xúc
26
27
  contains_url: Tên không được chứa URL.
28
+ contains_mathematical_symbols: Tên không được chứa ký hiệu toán học
27
29
  contains_restricted_characters: Tên chỉ được chứa chữ cái, chữ số, ký
28
30
  tự địa phương và ký tự đặc biệt
29
31
  last_name:
@@ -36,6 +38,7 @@ vi:
36
38
  contains_html_tags: Họ không được chứa thẻ HTML.
37
39
  contains_emojis: Họ không được chứa biểu tượng cảm xúc
38
40
  contains_url: Họ không được chứa URL.
41
+ contains_mathematical_symbols: Họ không được chứa ký hiệu toán học
39
42
  contains_restricted_characters: Họ chỉ được chứa chữ cái, chữ số, ký tự
40
43
  địa phương và ký tự đặc biệt
41
44
  address1:
@@ -51,6 +54,7 @@ vi:
51
54
  missing_building_number: Thêm số tòa nhà nếu có.
52
55
  street_unknown_for_zip: Nhập tên đường hợp lệ cho %{zip}.
53
56
  building_number_invalid: Không thể định vị số tòa nhà cho %{street}, %{zip}.
57
+ contains_mathematical_symbols: Dòng địa chỉ 1 không được chứa ký hiệu toán học
54
58
  contains_restricted_characters: Địa chỉ 1 chỉ được chứa chữ cái, chữ số,
55
59
  ký tự địa phương và ký tự đặc biệt
56
60
  contains_too_many_words: Address1 không được có nhiều hơn %{word_count}
@@ -71,6 +75,7 @@ vi:
71
75
  missing_building_number: Thêm số tòa nhà nếu có.
72
76
  street_unknown_for_zip: Nhập tên đường hợp lệ cho %{zip}.
73
77
  building_number_invalid: Không thể định vị số tòa nhà cho %{street}, %{zip}.
78
+ contains_mathematical_symbols: Dòng địa chỉ 2 không được chứa ký hiệu toán học
74
79
  contains_restricted_characters: Địa chỉ 2 chỉ được chứa chữ cái, chữ số,
75
80
  ký tự địa phương và ký tự đặc biệt
76
81
  contains_too_many_words: Address2 không được có nhiều hơn %{word_count}
@@ -91,6 +96,7 @@ vi:
91
96
  unknown_for_zip: Nhập thành phố hợp lệ cho %{zip}
92
97
  unknown_for_province: Nhập thành phố hợp lệ cho %{province}
93
98
  unknown_for_zip_and_province: Nhập thành phố hợp lệ cho %{zip}, %{province}
99
+ contains_mathematical_symbols: Thành phố không được chứa ký hiệu toánhọc
94
100
  contains_restricted_characters: Thành phố chỉ được chứa chữ cái, chữ số,
95
101
  ký tự địa phương và ký tự đặc biệt
96
102
  contains_too_many_words: Thành phố không được có nhiều hơn %{word_count}
@@ -114,6 +120,7 @@ vi:
114
120
  invalid: Nhập số điện thoại hợp lệ
115
121
  too_long: Số điện thoại quá dài (tối đa 255 ký tự)
116
122
  contains_emojis: Số điện thoại không được chứa biểu tượng cảm xúc
123
+ contains_mathematical_symbols: Số điện thoại không được chứa ký hiệu toán học
117
124
  contains_restricted_characters: Số điện thoại chỉ được chứa chữ cái, chữ
118
125
  số, ký tự địa phương và ký tự đặc biệt
119
126
  province:
@@ -143,6 +150,7 @@ vi:
143
150
  not_supported: Chúng tôi hiện chưa hỗ trợ quốc gia/khu vực này. Nhập địa
144
151
  chỉ mới và thử lại.
145
152
  unknown_for_province: Nhập mã bưu chính hợp lệ cho %{province}
153
+ contains_mathematical_symbols: Mã bưu chính không được chứa ký hiệu toán học
146
154
  contains_restricted_characters: Mã bưu chính chỉ được chứa chữ cái, chữ
147
155
  số, ký tự địa phương và ký tự đặc biệt
148
156
  invalid_for_province: Nhập mã bưu chính hợp lệ cho %{province}
@@ -12,6 +12,7 @@ zh-CN:
12
12
  too_long: 公司名过长(最多 255 个字符)
13
13
  contains_html_tags: 公司不能包含 HTML 标记。
14
14
  contains_emojis: 公司不能包含表情符号
15
+ contains_mathematical_symbols: 公司不能包含数学符号
15
16
  contains_restricted_characters: "“公司”字段只能包含字母、数字、当地字符和特殊字符"
16
17
  first_name:
17
18
  label:
@@ -23,6 +24,7 @@ zh-CN:
23
24
  contains_html_tags: 名字不能包含 HTML 标记。
24
25
  contains_emojis: 名字不能包含表情符号
25
26
  contains_url: 名字不能包含 URL。
27
+ contains_mathematical_symbols: 名字不能包含数学符号
26
28
  contains_restricted_characters: "“名字”字段只能包含字母、数字、当地字符和特殊字符"
27
29
  last_name:
28
30
  label:
@@ -34,6 +36,7 @@ zh-CN:
34
36
  contains_html_tags: 姓氏不能包含 HTML 标记。
35
37
  contains_emojis: 姓氏不能包含表情符号
36
38
  contains_url: 姓氏不能包含 URL。
39
+ contains_mathematical_symbols: 姓氏不能包含数学符号
37
40
  contains_restricted_characters: "“姓氏”字段只能包含字母、数字、当地字符和特殊字符"
38
41
  address1:
39
42
  label:
@@ -48,6 +51,7 @@ zh-CN:
48
51
  missing_building_number: 请添加大楼编号(如果有)。
49
52
  street_unknown_for_zip: 请输入 %{zip} 对应的有效街道名称。
50
53
  building_number_invalid: 大楼编号与 %{street} 和 %{zip} 不匹配。
54
+ contains_mathematical_symbols: 地址 1 不能包含数学符号
51
55
  contains_restricted_characters: "“地址 1”字段只能包含字母、数字、当地字符和特殊字符"
52
56
  contains_too_many_words: "“地址 1”字段不能超过 %{word_count} 个单词"
53
57
  warnings:
@@ -65,6 +69,7 @@ zh-CN:
65
69
  missing_building_number: 请添加大楼编号(如果有)。
66
70
  street_unknown_for_zip: 请输入 %{zip} 对应的有效街道名称。
67
71
  building_number_invalid: 大楼编号与 %{street} 和 %{zip} 不匹配。
72
+ contains_mathematical_symbols: 地址 2 不能包含数学符号
68
73
  contains_restricted_characters: "“地址 2”字段只能包含字母、数字、当地字符和特殊字符"
69
74
  contains_too_many_words: "“地址 2”字段不能超过 %{word_count} 个单词"
70
75
  warnings:
@@ -82,6 +87,7 @@ zh-CN:
82
87
  unknown_for_zip: 请输入 %{zip} 对应的有效城市
83
88
  unknown_for_province: 请输入 %{province} 对应的有效城市
84
89
  unknown_for_zip_and_province: 请输入 %{zip},%{province} 对应的有效城市
90
+ contains_mathematical_symbols: 城市不能包含数学符号
85
91
  contains_restricted_characters: "“城市”字段只能包含字母、数字、当地字符和特殊字符"
86
92
  contains_too_many_words: "“城市”字段不能超过 %{word_count} 个单词"
87
93
  country:
@@ -102,6 +108,7 @@ zh-CN:
102
108
  invalid: 输入有效的电话号码
103
109
  too_long: 电话号码过长(最多包含 255 个字符)
104
110
  contains_emojis: 电话号码不能包含表情符号
111
+ contains_mathematical_symbols: 电话号码不能包含数学符号
105
112
  contains_restricted_characters: "“电话号码”字段只能包含字母、数字、当地字符和特殊字符"
106
113
  province:
107
114
  label:
@@ -128,6 +135,7 @@ zh-CN:
128
135
  contains_emojis: 邮政编码不能包含表情符号
129
136
  not_supported: 我们当前不支持此国家/地区发货。请输入新地址并重试。
130
137
  unknown_for_province: 输入 %{province} 的有效邮政编码
138
+ contains_mathematical_symbols: 邮政编码不能包含数学符号
131
139
  contains_restricted_characters: "“邮政编码”字段只能包含字母、数字、当地字符和特殊字符"
132
140
  invalid_for_province: 请输入 %{province} 对应的有效邮政编码
133
141
  address:
@@ -12,6 +12,7 @@ zh-TW:
12
12
  too_long: 公司名稱過長 (最多 255 個字元)
13
13
  contains_html_tags: 公司不得包含 HTML 標記。
14
14
  contains_emojis: "「公司」不得包含表情符號"
15
+ contains_mathematical_symbols: "「公司」不得包含數學符號"
15
16
  contains_restricted_characters: 公司僅可包含字母、數字、當地字元和特殊字元
16
17
  first_name:
17
18
  label:
@@ -23,6 +24,7 @@ zh-TW:
23
24
  contains_html_tags: 名字不得包含 HTML 標記。
24
25
  contains_emojis: "「名字」不得包含表情符號"
25
26
  contains_url: "「名字」不得包含網址。"
27
+ contains_mathematical_symbols: "「名字」不得包含數學符號"
26
28
  contains_restricted_characters: 名字僅可包含字母、數字、當地字元和特殊字元
27
29
  last_name:
28
30
  label:
@@ -34,6 +36,7 @@ zh-TW:
34
36
  contains_html_tags: 姓氏不得包含 HTML 標記。
35
37
  contains_emojis: "「姓氏」不得包含表情符號"
36
38
  contains_url: "「姓氏」不得包含網址。"
39
+ contains_mathematical_symbols: "「姓氏」不得包含數學符號"
37
40
  contains_restricted_characters: 姓氏僅可包含字母、數字、當地字元和特殊字元
38
41
  address1:
39
42
  label:
@@ -48,6 +51,7 @@ zh-TW:
48
51
  missing_building_number: 如果您有建築物號碼,請新增建築物號碼。
49
52
  street_unknown_for_zip: 為 %{zip} 輸入有效的街道名稱。
50
53
  building_number_invalid: 在 %{zip},%{street} 找不到此建築物號碼。
54
+ contains_mathematical_symbols: "「地址 (第 1 行)」不得包含數學符號"
51
55
  contains_restricted_characters: 地址 1 僅可包含字母、數字、當地字元和特殊字元
52
56
  contains_too_many_words: 地址 1 不得超過 %{word_count} 個字
53
57
  warnings:
@@ -65,6 +69,7 @@ zh-TW:
65
69
  missing_building_number: 如果您有建築物號碼,請新增建築物號碼。
66
70
  street_unknown_for_zip: 為 %{zip} 輸入有效的街道名稱。
67
71
  building_number_invalid: 在 %{zip},%{street} 找不到此建築物號碼。
72
+ contains_mathematical_symbols: "「地址 (第 2 行)」不得包含數學符號"
68
73
  contains_restricted_characters: 地址 2 僅可包含字母、數字、當地字元和特殊字元
69
74
  contains_too_many_words: 地址 2 不得超過 %{word_count} 個字
70
75
  warnings:
@@ -82,6 +87,7 @@ zh-TW:
82
87
  unknown_for_zip: 為 %{zip} 輸入有效的城市
83
88
  unknown_for_province: 輸入%{province}的有效城市
84
89
  unknown_for_zip_and_province: 輸入 %{zip} %{province}的有效城市
90
+ contains_mathematical_symbols: "「城市」不得包含數學符號"
85
91
  contains_restricted_characters: 城市僅可包含字母、數字、當地字元和特殊字元
86
92
  contains_too_many_words: 城市不得超過 %{word_count} 個字
87
93
  country:
@@ -102,6 +108,7 @@ zh-TW:
102
108
  invalid: 輸入有效的電話號碼
103
109
  too_long: 電話號碼過長 (最多 255 個字元)
104
110
  contains_emojis: "「電話號碼」不得包含表情符號"
111
+ contains_mathematical_symbols: "「電話號碼」不得包含數學符號"
105
112
  contains_restricted_characters: 電話號碼僅可包含字母、數字、當地字元和特殊字元
106
113
  province:
107
114
  label:
@@ -128,6 +135,7 @@ zh-TW:
128
135
  contains_emojis: "「郵遞區號」不得包含表情符號"
129
136
  not_supported: 我們目前不支援此國家/地區。請輸入新的地址,然後再試一次。
130
137
  unknown_for_province: 請輸入%{province}的有效郵遞區號
138
+ contains_mathematical_symbols: "「郵遞區號」不得包含數學符號"
131
139
  contains_restricted_characters: 郵遞區號僅可包含字母、數字、當地字元和特殊字元
132
140
  invalid_for_province: 請輸入%{province}的有效郵遞區號
133
141
  address:
@@ -36,7 +36,8 @@ module Worldwide
36
36
  search_name = name.upcase
37
37
 
38
38
  @regions.find do |r|
39
- r.legacy_name&.upcase == search_name || r.full_name&.upcase == search_name
39
+ r.legacy_name&.upcase == search_name || r.full_name&.upcase == search_name ||
40
+ r.name_alternates.map(&:upcase).include?(search_name)
40
41
  end
41
42
  end
42
43
 
@@ -59,6 +59,12 @@ module Worldwide
59
59
 
60
60
  numeric_three = region.numeric_three
61
61
  @regions_by_iso_code[numeric_three] = region if Util.present?(numeric_three)
62
+
63
+ if Util.present?(region.code_alternates) && !region.province?
64
+ region.code_alternates.each do |alternate_code|
65
+ @regions_by_iso_code[alternate_code] = region
66
+ end
67
+ end
62
68
  end
63
69
 
64
70
  def apply_hierarchy(parent:, code:, children:)
@@ -153,6 +159,7 @@ module Worldwide
153
159
  tax_name: nil,
154
160
  tax_rate: nil,
155
161
  )
162
+ eu.code_alternates = ["QUU"]
156
163
 
157
164
  member_tags = ["EU-member", "EU-OMR", "EU-OCT", "EU-special"]
158
165
  member_tags.each do |tag|
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Worldwide
4
- VERSION = "0.7.1"
4
+ VERSION = "0.8.0"
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: worldwide
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.7.1
4
+ version: 0.8.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Shopify
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2024-02-01 00:00:00.000000000 Z
11
+ date: 2024-02-02 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activesupport