worldwide 1.29.0 → 1.30.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.
Files changed (45) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/ci.yml +1 -1
  3. data/CHANGELOG.md +4 -0
  4. data/Gemfile.lock +1 -1
  5. data/README.md +11 -0
  6. data/data/iana_to_rails_time_zone.yml +8 -8
  7. data/data/other/timezones/ar.yml +4 -0
  8. data/data/other/timezones/bg.yml +4 -0
  9. data/data/other/timezones/cs.yml +4 -0
  10. data/data/other/timezones/da.yml +4 -0
  11. data/data/other/timezones/de.yml +4 -0
  12. data/data/other/timezones/el.yml +4 -0
  13. data/data/other/timezones/en.yml +4 -0
  14. data/data/other/timezones/es.yml +4 -0
  15. data/data/other/timezones/fi.yml +4 -0
  16. data/data/other/timezones/fr.yml +4 -0
  17. data/data/other/timezones/he.yml +4 -0
  18. data/data/other/timezones/hi.yml +4 -0
  19. data/data/other/timezones/hr.yml +4 -0
  20. data/data/other/timezones/hu.yml +4 -0
  21. data/data/other/timezones/id.yml +4 -0
  22. data/data/other/timezones/it.yml +4 -0
  23. data/data/other/timezones/ja.yml +4 -0
  24. data/data/other/timezones/ko.yml +4 -0
  25. data/data/other/timezones/lt.yml +4 -0
  26. data/data/other/timezones/ms.yml +4 -0
  27. data/data/other/timezones/nb.yml +4 -0
  28. data/data/other/timezones/nl.yml +4 -0
  29. data/data/other/timezones/pl.yml +4 -0
  30. data/data/other/timezones/pt-BR.yml +4 -0
  31. data/data/other/timezones/pt-PT.yml +4 -0
  32. data/data/other/timezones/ro.yml +4 -0
  33. data/data/other/timezones/ru.yml +4 -0
  34. data/data/other/timezones/sk.yml +4 -0
  35. data/data/other/timezones/sl.yml +4 -0
  36. data/data/other/timezones/sv.yml +4 -0
  37. data/data/other/timezones/th.yml +4 -0
  38. data/data/other/timezones/tr.yml +4 -0
  39. data/data/other/timezones/ur.yml +4 -0
  40. data/data/other/timezones/vi.yml +4 -0
  41. data/data/other/timezones/zh-CN.yml +4 -0
  42. data/data/other/timezones/zh-TW.yml +4 -0
  43. data/lib/worldwide/time_zone.rb +14 -3
  44. data/lib/worldwide/version.rb +1 -1
  45. metadata +1 -1
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 265e7976877ddf7053bbfc86b41167a11c962538521bd6256936a9705519a1ea
4
- data.tar.gz: 44a497002457b06201f021205d980dd391c590feaf7372fe47905a012a7de822
3
+ metadata.gz: 58f56c1fae13bf9acfd4e2dabd9c6e22fcaed4c62c17f756d5a148d8999cbfe5
4
+ data.tar.gz: 74096596a973f282e7a001f535ca224cac1a3baceb948e516e61101a14fd882d
5
5
  SHA512:
6
- metadata.gz: 4f25a461718ad2e3488f68cb6e437c1e7c0024c61fb0c5fb54be99aee7067038f51aebd6a67a93cc4fbfbee0e18b230a94ac0e1d36072ec00dd38d534f85f603
7
- data.tar.gz: f3c6bc330d727b4d0f4b768b654a801c1df7aeacd07c63859a5b35ce8c94a93118aa3407dc4cffb2bac402f65a41c93fd1b3b631df3c83d2c337c2a071a80e61
6
+ metadata.gz: 227b75806b15b6267041a94395fec00423343f6c158eb5be6ac3be75ca189b06929a52964dd838fb8446f55418422980e66dd9c4169c8adba9c312c971f259be
7
+ data.tar.gz: d70dd37a251965a84c34fedfd7b4c4e5e2a7cc5d767fbf358bc4626c4db43c9a5f2572451df556a8c6ed6d088862a853b95cdf771e308c1cc5e6ae97f8e1b2fa
@@ -22,7 +22,7 @@ jobs:
22
22
  - name: Check out code
23
23
  uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
24
24
  - name: Set up Ruby ${{ matrix.ruby }}
25
- uses: ruby/setup-ruby@95ef2b042f9d7a56d8268cba8559e2842e2ad01b # v1.321.0
25
+ uses: ruby/setup-ruby@14594264cd68ce8a2345dd349bc3d138a4ef85c8 # v1.327.0
26
26
  with:
27
27
  ruby-version: ${{ matrix.ruby }}
28
28
  bundler-cache: true
data/CHANGELOG.md CHANGED
@@ -29,6 +29,10 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
29
29
 
30
30
  ---
31
31
 
32
+ ## [1.30.0] - 2026-10-07
33
+
34
+ - Add Vancouver, Whitehorse, Edmonton, and Winnipeg to `Worldwide::TimeZone.all` with localized labels, permanent-offset ordering, and Rails-compatible legacy mappings. [#625](https://github.com/Shopify/worldwide/pull/625)
35
+
32
36
  ## [1.29.0] - 2026-09-29
33
37
 
34
38
  - Add `contains_email` error messages to every address field that has a `contains_url` message, including the country-specific overrides for relabeled neighborhood and district fields, so address validators can tell buyers a field can't hold an email address. [#618](https://github.com/Shopify/worldwide/pull/618)
data/Gemfile.lock CHANGED
@@ -13,7 +13,7 @@ GIT
13
13
  PATH
14
14
  remote: .
15
15
  specs:
16
- worldwide (1.29.0)
16
+ worldwide (1.30.0)
17
17
  activesupport (>= 7.0)
18
18
  i18n (>= 1.15)
19
19
  phonelib (~> 0.8)
data/README.md CHANGED
@@ -608,6 +608,17 @@ This implementation will provide you a localized timezone that you can use with
608
608
  label: t('shop_identity.views.admin.settings.general.timezone_label') %>
609
609
  ```
610
610
 
611
+ `Worldwide::TimeZone.all` includes the Rails time zones and separate entries for Vancouver, Whitehorse, Edmonton, and Winnipeg.
612
+ The Canadian entries use permanent offsets and province or territory labels.
613
+
614
+ TZInfo gets the time zone rules from the host application's data source.
615
+ Use IANA time zone data version `2026e` or later for the Canadian changes.
616
+ If the application uses the `tzinfo-data` gem, use version `1.2026.5` or later.
617
+
618
+ `Worldwide::DeprecatedTimeZoneMapper.to_rails` returns a fallback from Rails' curated list for legacy callers.
619
+ The Canadian fallbacks match the permanent offsets, but do not preserve the full time zone history.
620
+ Use the original IANA identifier for time conversion and storage.
621
+
611
622
  #### ➡🕰 Map Deprecated Timezone Name to Modern Name
612
623
 
613
624
  The Olson database has deprecated time zone names over the years (particularly in 1993).
@@ -111,7 +111,7 @@ America/Dawson_Creek: America/Phoenix
111
111
  America/Denver: America/Denver
112
112
  America/Detroit: America/New_York
113
113
  America/Dominica: America/Puerto_Rico
114
- America/Edmonton: America/Denver
114
+ America/Edmonton: America/Regina
115
115
  America/Eirunepe: America/Bogota
116
116
  America/El_Salvador: America/Mexico_City
117
117
  America/Ensenada: America/Los_Angeles
@@ -139,7 +139,7 @@ America/Indiana/Vevay: America/Indiana/Indianapolis
139
139
  America/Indiana/Vincennes: America/Indiana/Indianapolis
140
140
  America/Indiana/Winamac: America/Indiana/Indianapolis
141
141
  America/Indianapolis: America/Indiana/Indianapolis
142
- America/Inuvik: America/Denver
142
+ America/Inuvik: America/Regina
143
143
  America/Iqaluit: America/New_York
144
144
  America/Jamaica: America/Bogota
145
145
  America/Jujuy: America/Argentina/Buenos_Aires
@@ -220,12 +220,12 @@ America/Thunder_Bay: America/New_York
220
220
  America/Tijuana: America/Tijuana
221
221
  America/Toronto: America/New_York
222
222
  America/Tortola: America/Puerto_Rico
223
- America/Vancouver: America/Los_Angeles
223
+ America/Vancouver: America/Phoenix
224
224
  America/Virgin: America/Puerto_Rico
225
225
  America/Whitehorse: America/Phoenix
226
- America/Winnipeg: America/Chicago
226
+ America/Winnipeg: America/Bogota
227
227
  America/Yakutat: America/Juneau
228
- America/Yellowknife: America/Denver
228
+ America/Yellowknife: America/Regina
229
229
  Antarctica/Casey: Australia/Perth
230
230
  Antarctica/Davis: Asia/Jakarta
231
231
  Antarctica/DumontDUrville: Pacific/Port_Moresby
@@ -382,11 +382,11 @@ Brazil/DeNoronha: Atlantic/South_Georgia
382
382
  Brazil/East: America/Sao_Paulo
383
383
  Brazil/West: America/Caracas
384
384
  Canada/Atlantic: America/Halifax
385
- Canada/Central: America/Chicago
385
+ Canada/Central: America/Bogota
386
386
  Canada/Eastern: America/New_York
387
- Canada/Mountain: America/Denver
387
+ Canada/Mountain: America/Regina
388
388
  Canada/Newfoundland: America/St_Johns
389
- Canada/Pacific: America/Los_Angeles
389
+ Canada/Pacific: America/Phoenix
390
390
  Canada/Saskatchewan: America/Regina
391
391
  Canada/Yukon: America/Phoenix
392
392
  CET: Europe/Paris
@@ -137,3 +137,7 @@ ar:
137
137
  Pacific/Tongatapu: "(GMT+13:00) نوكوالوفا"
138
138
  Pacific/Apia: "(GMT+13:00) ساموا"
139
139
  Pacific/Fakaofo: "(GMT+13:00) جزر توكيلاو"
140
+ America/Vancouver: "(GMT-07:00) كولومبيا البريطانية"
141
+ America/Whitehorse: "(GMT-07:00) يوكون"
142
+ America/Edmonton: "(GMT-06:00) ألبرتا، الأقاليم الشمالية الغربية"
143
+ America/Winnipeg: "(GMT-05:00) مانيتوبا"
@@ -137,3 +137,7 @@ bg:
137
137
  Pacific/Tongatapu: "(GMT+13:00) Нукуалофа"
138
138
  Pacific/Apia: "(GMT+13:00) Самоа"
139
139
  Pacific/Fakaofo: "(GMT+13:00) О-ви Токелау"
140
+ America/Vancouver: "(GMT-07:00) Британска Колумбия"
141
+ America/Whitehorse: "(GMT-07:00) Юкон"
142
+ America/Edmonton: "(GMT-06:00) Алберта, Северозападни територии"
143
+ America/Winnipeg: "(GMT-05:00) Манитоба"
@@ -137,3 +137,7 @@ cs:
137
137
  Pacific/Tongatapu: "(GMT+13:00) Nuku'alofa"
138
138
  Pacific/Apia: "(GMT+13:00) Samoa"
139
139
  Pacific/Fakaofo: "(GMT+13:00) Tokelau"
140
+ America/Vancouver: "(GMT-07:00) Britská Kolumbie"
141
+ America/Whitehorse: "(GMT-07:00) Yukon"
142
+ America/Edmonton: "(GMT-06:00) Alberta, Severozápadní teritoria"
143
+ America/Winnipeg: "(GMT-05:00) Manitoba"
@@ -137,3 +137,7 @@ da:
137
137
  Pacific/Tongatapu: "(GMT+13:00) Nuku'alofa"
138
138
  Pacific/Apia: "(GMT+13:00) Samoa"
139
139
  Pacific/Fakaofo: "(GMT+13:00) Tokelau"
140
+ America/Vancouver: "(GMT-07:00) British Columbia"
141
+ America/Whitehorse: "(GMT-07:00) Yukon"
142
+ America/Edmonton: "(GMT-06:00) Alberta, Nordvestterritorierne"
143
+ America/Winnipeg: "(GMT-05:00) Manitoba"
@@ -137,3 +137,7 @@ de:
137
137
  Pacific/Tongatapu: "(GMT+13:00) Nuku'alofa"
138
138
  Pacific/Apia: "(GMT+13:00) Samoa"
139
139
  Pacific/Fakaofo: "(GMT+13:00) Tokelau"
140
+ America/Vancouver: "(GMT-07:00) British Columbia"
141
+ America/Whitehorse: "(GMT-07:00) Yukon"
142
+ America/Edmonton: "(GMT-06:00) Alberta, Nordwest-Territorien"
143
+ America/Winnipeg: "(GMT-05:00) Manitoba"
@@ -137,3 +137,7 @@ el:
137
137
  Pacific/Tongatapu: "(GMT+13:00) Νουκουαλόφα"
138
138
  Pacific/Apia: "(GMT+13:00) Σαμόα"
139
139
  Pacific/Fakaofo: "(GMT+13:00) Νήσος Τοκελάου"
140
+ America/Vancouver: "(GMT-07:00) Βρετανική Κολομβία"
141
+ America/Whitehorse: "(GMT-07:00) Γιούκον"
142
+ America/Edmonton: "(GMT-06:00) Αλμπέρτα, Βορειοδυτικά Εδάφη"
143
+ America/Winnipeg: "(GMT-05:00) Μανιτόμπα"
@@ -12,15 +12,19 @@ en:
12
12
  America/Chihuahua: "(GMT-07:00) Chihuahua"
13
13
  America/Mazatlan: "(GMT-07:00) Mazatlan"
14
14
  America/Denver: "(GMT-07:00) Mountain Time (US & Canada)"
15
+ America/Vancouver: "(GMT-07:00) British Columbia"
16
+ America/Whitehorse: "(GMT-07:00) Yukon"
15
17
  America/Guatemala: "(GMT-06:00) Central America"
16
18
  America/Chicago: "(GMT-06:00) Central Time (US & Canada)"
17
19
  America/Mexico_City: "(GMT-06:00) Guadalajara, Mexico City"
18
20
  America/Monterrey: "(GMT-06:00) Monterrey"
19
21
  America/Regina: "(GMT-06:00) Saskatchewan"
22
+ America/Edmonton: "(GMT-06:00) Alberta, Northwest Territories"
20
23
  America/Bogota: "(GMT-05:00) Bogota"
21
24
  America/New_York: "(GMT-05:00) Eastern Time (US & Canada)"
22
25
  America/Indiana/Indianapolis: "(GMT-05:00) Indiana (East)"
23
26
  America/Lima: "(GMT-05:00) Lima, Quito"
27
+ America/Winnipeg: "(GMT-05:00) Manitoba"
24
28
  America/Halifax: "(GMT-04:00) Atlantic Time (Canada)"
25
29
  America/Caracas: "(GMT-04:00) Caracas"
26
30
  America/Guyana: "(GMT-04:00) Georgetown"
@@ -137,3 +137,7 @@ es:
137
137
  Pacific/Tongatapu: "(GMT+13:00) Nukualofa"
138
138
  Pacific/Apia: "(GMT+13:00) Samoa"
139
139
  Pacific/Fakaofo: "(GMT+13:00) Islas Tokelau"
140
+ America/Vancouver: "(GMT-07:00) Columbia Británica"
141
+ America/Whitehorse: "(GMT-07:00) Yukón"
142
+ America/Edmonton: "(GMT-06:00) Alberta, Territorios del Noroeste"
143
+ America/Winnipeg: "(GMT-05:00) Manitoba"
@@ -137,3 +137,7 @@ fi:
137
137
  Pacific/Tongatapu: "(GMT+13:00) Nuku'alofa"
138
138
  Pacific/Apia: "(GMT+13:00) Samoa"
139
139
  Pacific/Fakaofo: "(GMT+13:00) Tokelau"
140
+ America/Vancouver: "(GMT-07:00) Brittiläinen Kolumbia"
141
+ America/Whitehorse: "(GMT-07:00) Yukon"
142
+ America/Edmonton: "(GMT-06:00) Alberta, Luoteisterritoriot"
143
+ America/Winnipeg: "(GMT-05:00) Manitoba"
@@ -12,15 +12,19 @@ fr:
12
12
  America/Chihuahua: "(GMT -07:00) Chihuahua"
13
13
  America/Mazatlan: "(GMT -07:00) Mazatlan"
14
14
  America/Denver: "(GMT -07:00) Heure des Rocheuses (États-Unis et Canada)"
15
+ America/Vancouver: "(GMT-07:00) Colombie-Britannique"
16
+ America/Whitehorse: "(GMT-07:00) Yukon"
15
17
  America/Guatemala: "(GMT -06:00) Amérique centrale"
16
18
  America/Chicago: "(GMT -06:00) Heure centrale (États-Unis et Canada)"
17
19
  America/Mexico_City: "(GMT -06:00) Guadalajara, Mexico"
18
20
  America/Monterrey: "(GMT -06:00) Monterrey"
19
21
  America/Regina: "(GMT -06:00) Saskatchewan"
22
+ America/Edmonton: "(GMT-06:00) Alberta, Territoires du Nord-Ouest"
20
23
  America/Bogota: "(GMT -05:00) Bogota"
21
24
  America/New_York: "(GMT -05:00) Heure de l'Est (États-Unis et Canada)"
22
25
  America/Indiana/Indianapolis: "(GMT -05:00) Indiana (Est)"
23
26
  America/Lima: "(GMT -05:00) Lima, Quito"
27
+ America/Winnipeg: "(GMT-05:00) Manitoba"
24
28
  America/Halifax: "(GMT -04:00) Heure de l'Atlantique (Canada)"
25
29
  America/Caracas: "(GMT -04:00) Caracas"
26
30
  America/Guyana: "(GMT -04:00) Georgetown"
@@ -137,3 +137,7 @@ he:
137
137
  Pacific/Tongatapu: "(GMT+13:00) נוקואלופה"
138
138
  Pacific/Apia: "(GMT+13:00) סמואה"
139
139
  Pacific/Fakaofo: "(GMT+13:00) איי טוקלאו"
140
+ America/Vancouver: "(GMT-07:00) קולומביה הבריטית"
141
+ America/Whitehorse: "(GMT-07:00) יוקון"
142
+ America/Edmonton: "(GMT-06:00) אלברטה, הטריטוריות הצפון-מערביות"
143
+ America/Winnipeg: "(GMT-05:00) מניטובה"
@@ -137,3 +137,7 @@ hi:
137
137
  Pacific/Tongatapu: "(GMT+13:00) नुकुअलोफा"
138
138
  Pacific/Apia: "(GMT+13:00) समोआ"
139
139
  Pacific/Fakaofo: "(GMT+13:00) तोकेलाऊ आईलैंड."
140
+ America/Vancouver: "(GMT-07:00) ब्रिटिश कोलंबिया"
141
+ America/Whitehorse: "(GMT-07:00) युकोन"
142
+ America/Edmonton: "(GMT-06:00) अल्बर्टा, नॉर्थवेस्ट टेरिटरीज़"
143
+ America/Winnipeg: "(GMT-05:00) मैनिटोबा"
@@ -137,3 +137,7 @@ hr:
137
137
  Pacific/Tongatapu: "(GMT+13:00) Nuku'alofa"
138
138
  Pacific/Apia: "(GMT+13:00) Samoa"
139
139
  Pacific/Fakaofo: "(GMT+13:00) Tokelau"
140
+ America/Vancouver: "(GMT-07:00) Britanska Kolumbija"
141
+ America/Whitehorse: "(GMT-07:00) Yukon"
142
+ America/Edmonton: "(GMT-06:00) Alberta, Sjeverozapadni teritoriji"
143
+ America/Winnipeg: "(GMT-05:00) Manitoba"
@@ -137,3 +137,7 @@ hu:
137
137
  Pacific/Tongatapu: "(GMT + 13: 00) Nuku'alofa"
138
138
  Pacific/Apia: "(GMT + 13: 00) Szamoa"
139
139
  Pacific/Fakaofo: "(GMT + 13: 00) Tokelau-szigetek"
140
+ America/Vancouver: "(GMT-07:00) Brit Columbia"
141
+ America/Whitehorse: "(GMT-07:00) Yukon"
142
+ America/Edmonton: "(GMT-06:00) Alberta, Északnyugati Területek"
143
+ America/Winnipeg: "(GMT-05:00) Manitoba"
@@ -137,3 +137,7 @@ id:
137
137
  Pacific/Tongatapu: "(GMT+13:00) Nuku'alofa"
138
138
  Pacific/Apia: "(GMT+13:00) Samoa"
139
139
  Pacific/Fakaofo: "(GMT+13:00) Kepulauan Tokelau"
140
+ America/Vancouver: "(GMT-07:00) British Columbia"
141
+ America/Whitehorse: "(GMT-07:00) Yukon"
142
+ America/Edmonton: "(GMT-06:00) Alberta, Northwest Territories"
143
+ America/Winnipeg: "(GMT-05:00) Manitoba"
@@ -137,3 +137,7 @@ it:
137
137
  Pacific/Tongatapu: "(UTC+13:00) Nukuʻalofa"
138
138
  Pacific/Apia: "(UTC+13:00) Samoa"
139
139
  Pacific/Fakaofo: "(UTC+13:00) Isole Tokelau"
140
+ America/Vancouver: "(GMT-07:00) Columbia Britannica"
141
+ America/Whitehorse: "(GMT-07:00) Yukon"
142
+ America/Edmonton: "(GMT-06:00) Alberta, Territori del Nord-Ovest"
143
+ America/Winnipeg: "(GMT-05:00) Manitoba"
@@ -137,3 +137,7 @@ ja:
137
137
  Pacific/Tongatapu: "(GMT+13:00) ヌクアロファ"
138
138
  Pacific/Apia: "(GMT+13:00) サモア"
139
139
  Pacific/Fakaofo: "(GMT+13:00) トケラウ諸島"
140
+ America/Vancouver: "(GMT-07:00) ブリティッシュコロンビア"
141
+ America/Whitehorse: "(GMT-07:00) ユーコン"
142
+ America/Edmonton: "(GMT-06:00) アルバータ、ノースウエスト準州"
143
+ America/Winnipeg: "(GMT-05:00) マニトバ"
@@ -137,3 +137,7 @@ ko:
137
137
  Pacific/Tongatapu: "(GMT+13:00) 누쿠알로파"
138
138
  Pacific/Apia: "(GMT+13:00) 사모아"
139
139
  Pacific/Fakaofo: "(GMT+13:00) 토켈라우 제도"
140
+ America/Vancouver: "(GMT-07:00) 브리티시컬럼비아"
141
+ America/Whitehorse: "(GMT-07:00) 유콘"
142
+ America/Edmonton: "(GMT-06:00) 알버타, 노스웨스트 준주"
143
+ America/Winnipeg: "(GMT-05:00) 매니토바"
@@ -137,3 +137,7 @@ lt:
137
137
  Pacific/Tongatapu: "(GMT+13:00) Nukualofa"
138
138
  Pacific/Apia: "(GMT+13:00) Samoa"
139
139
  Pacific/Fakaofo: "(GMT+13:00) Tokelau salos"
140
+ America/Vancouver: "(GMT-07:00) Britų Kolumbija"
141
+ America/Whitehorse: "(GMT-07:00) Jukonas"
142
+ America/Edmonton: "(GMT-06:00) Alberta, Šiaurės Vakarų teritorijos"
143
+ America/Winnipeg: "(GMT-05:00) Manitoba"
@@ -137,3 +137,7 @@ ms:
137
137
  Pacific/Tongatapu: "(GMT+13:00) Nuku'alofa"
138
138
  Pacific/Apia: "(GMT+13:00) Samoa"
139
139
  Pacific/Fakaofo: "(GMT+13:00) Pulau Tokelau"
140
+ America/Vancouver: "(GMT-07:00) British Columbia"
141
+ America/Whitehorse: "(GMT-07:00) Yukon"
142
+ America/Edmonton: "(GMT-06:00) Alberta, Wilayah Barat Laut"
143
+ America/Winnipeg: "(GMT-05:00) Manitoba"
@@ -137,3 +137,7 @@ nb:
137
137
  Pacific/Tongatapu: "(GMT+13:00) Nuku'alofa"
138
138
  Pacific/Apia: "(GMT+13:00) Samoa"
139
139
  Pacific/Fakaofo: "(GMT+13:00) Tokelauøyene"
140
+ America/Vancouver: "(GMT-07:00) British Columbia"
141
+ America/Whitehorse: "(GMT-07:00) Yukon"
142
+ America/Edmonton: "(GMT-06:00) Alberta, Nordvestterritoriene"
143
+ America/Winnipeg: "(GMT-05:00) Manitoba"
@@ -137,3 +137,7 @@ nl:
137
137
  Pacific/Tongatapu: "(GMT+13:00) Nuku'alofa"
138
138
  Pacific/Apia: "(GMT+13:00) Samoa"
139
139
  Pacific/Fakaofo: "(GMT+13:00) Tokelau Is."
140
+ America/Vancouver: "(GMT-07:00) British Columbia"
141
+ America/Whitehorse: "(GMT-07:00) Yukon"
142
+ America/Edmonton: "(GMT-06:00) Alberta, Noordwest-Territoria"
143
+ America/Winnipeg: "(GMT-05:00) Manitoba"
@@ -137,3 +137,7 @@ pl:
137
137
  Pacific/Tongatapu: "(GMT + 13: 00) Nuku'alofa"
138
138
  Pacific/Apia: "(GMT + 13: 00) Samoa"
139
139
  Pacific/Fakaofo: "(GMT + 13: 00) Wyspa Tokelau"
140
+ America/Vancouver: "(GMT-07:00) Kolumbia Brytyjska"
141
+ America/Whitehorse: "(GMT-07:00) Jukon"
142
+ America/Edmonton: "(GMT-06:00) Alberta, Terytoria Północno-Zachodnie"
143
+ America/Winnipeg: "(GMT-05:00) Manitoba"
@@ -137,3 +137,7 @@ pt-BR:
137
137
  Pacific/Tongatapu: "(GMT+13:00) Nuku'alofa"
138
138
  Pacific/Apia: "(GMT+13:00) Samoa"
139
139
  Pacific/Fakaofo: "(GMT+13:00) Ilhas Toquelau"
140
+ America/Vancouver: "(GMT-07:00) Colúmbia Britânica"
141
+ America/Whitehorse: "(GMT-07:00) Yukon"
142
+ America/Edmonton: "(GMT-06:00) Alberta, Territórios do Noroeste"
143
+ America/Winnipeg: "(GMT-05:00) Manitoba"
@@ -137,3 +137,7 @@ pt-PT:
137
137
  Pacific/Tongatapu: "(GMT+13:00) Nuku'alofa"
138
138
  Pacific/Apia: "(GMT+13:00) Samoa"
139
139
  Pacific/Fakaofo: "(GMT+13:00) Ilhas Tokelau"
140
+ America/Vancouver: "(GMT-07:00) Colúmbia Britânica"
141
+ America/Whitehorse: "(GMT-07:00) Yukon"
142
+ America/Edmonton: "(GMT-06:00) Alberta, Territórios do Noroeste"
143
+ America/Winnipeg: "(GMT-05:00) Manitoba"
@@ -137,3 +137,7 @@ ro:
137
137
  Pacific/Tongatapu: "(GMT+13:00) Nuku'alofa"
138
138
  Pacific/Apia: "(GMT+13:00) Samoa"
139
139
  Pacific/Fakaofo: "(GMT+13:00) Insulele Tokelau"
140
+ America/Vancouver: "(GMT-07:00) Columbia Britanică"
141
+ America/Whitehorse: "(GMT-07:00) Yukon"
142
+ America/Edmonton: "(GMT-06:00) Alberta, Teritoriile de Nord-Vest"
143
+ America/Winnipeg: "(GMT-05:00) Manitoba"
@@ -137,3 +137,7 @@ ru:
137
137
  Pacific/Tongatapu: "(GMT+13:00) Нукуалофа"
138
138
  Pacific/Apia: "(GMT+13:00) Самоа"
139
139
  Pacific/Fakaofo: "(GMT+13:00) Токелау"
140
+ America/Vancouver: "(GMT-07:00) Британская Колумбия"
141
+ America/Whitehorse: "(GMT-07:00) Юкон"
142
+ America/Edmonton: "(GMT-06:00) Альберта, Северо-Западные территории"
143
+ America/Winnipeg: "(GMT-05:00) Манитоба"
@@ -137,3 +137,7 @@ sk:
137
137
  Pacific/Tongatapu: "(GMT+13:00) Nuku'alofa"
138
138
  Pacific/Apia: "(GMT+13:00) Samoa"
139
139
  Pacific/Fakaofo: "(GMT+13:00) Ostrov Tokelau"
140
+ America/Vancouver: "(GMT-07:00) Britská Kolumbia"
141
+ America/Whitehorse: "(GMT-07:00) Yukon"
142
+ America/Edmonton: "(GMT-06:00) Alberta, Severozápadné teritóriá"
143
+ America/Winnipeg: "(GMT-05:00) Manitoba"
@@ -137,3 +137,7 @@ sl:
137
137
  Pacific/Tongatapu: "(GMT+13:00) Nuku'alofa"
138
138
  Pacific/Apia: "(GMT+13:00) Samoa"
139
139
  Pacific/Fakaofo: "(GMT+13:00) Otočje Tokelau"
140
+ America/Vancouver: "(GMT-07:00) Britanska Kolumbija"
141
+ America/Whitehorse: "(GMT-07:00) Yukon"
142
+ America/Edmonton: "(GMT-06:00) Alberta, Severozahodni teritoriji"
143
+ America/Winnipeg: "(GMT-05:00) Manitoba"
@@ -137,3 +137,7 @@ sv:
137
137
  Pacific/Tongatapu: "(GMT+13:00) Nuku'alofa"
138
138
  Pacific/Apia: "(GMT+13:00) Samoa"
139
139
  Pacific/Fakaofo: "(GMT+13:00) Tokelauöarna"
140
+ America/Vancouver: "(GMT-07:00) British Columbia"
141
+ America/Whitehorse: "(GMT-07:00) Yukon"
142
+ America/Edmonton: "(GMT-06:00) Alberta, Nordvästterritorierna"
143
+ America/Winnipeg: "(GMT-05:00) Manitoba"
@@ -137,3 +137,7 @@ th:
137
137
  Pacific/Tongatapu: "(GMT+13:00) นูกูอะโลฟา"
138
138
  Pacific/Apia: "(GMT+13:00) ซามัว"
139
139
  Pacific/Fakaofo: "(GMT+13:00) หมู่เกาะโตเกเลา"
140
+ America/Vancouver: "(GMT-07:00) บริติชโคลัมเบีย"
141
+ America/Whitehorse: "(GMT-07:00) ยูคอน"
142
+ America/Edmonton: "(GMT-06:00) แอลเบอร์ตา นอร์ทเวสต์เทร์ริทอรีส์"
143
+ America/Winnipeg: "(GMT-05:00) แมนิโทบา"
@@ -137,3 +137,7 @@ tr:
137
137
  Pacific/Tongatapu: "(GMT+13:00) Nuku'alofa"
138
138
  Pacific/Apia: "(GMT+13:00) Samoa"
139
139
  Pacific/Fakaofo: "(GMT+13:00) Tokelau Adaları"
140
+ America/Vancouver: "(GMT-07:00) British Columbia"
141
+ America/Whitehorse: "(GMT-07:00) Yukon"
142
+ America/Edmonton: "(GMT-06:00) Alberta, Kuzeybatı Toprakları"
143
+ America/Winnipeg: "(GMT-05:00) Manitoba"
@@ -137,3 +137,7 @@ ur:
137
137
  Pacific/Tongatapu: "(GMT+13:00) نوکوالوفا"
138
138
  Pacific/Apia: "(GMT+13:00) سموا"
139
139
  Pacific/Fakaofo: "(GMT+13:00) ٹوکیلاؤ آئی لینڈز"
140
+ America/Vancouver: "(GMT-07:00) برٹش کولمبیا"
141
+ America/Whitehorse: "(GMT-07:00) یوکون"
142
+ America/Edmonton: "(GMT-06:00) البرٹا، نارتھ ویسٹ ٹیریٹریز"
143
+ America/Winnipeg: "(GMT-05:00) مینیٹوبا"
@@ -137,3 +137,7 @@ vi:
137
137
  Pacific/Tongatapu: "(GMT+13:00) Nuku'alofa"
138
138
  Pacific/Apia: "(GMT+13:00) Samoa"
139
139
  Pacific/Fakaofo: "(GMT+13:00) Đảo Tokelau"
140
+ America/Vancouver: "(GMT-07:00) British Columbia"
141
+ America/Whitehorse: "(GMT-07:00) Yukon"
142
+ America/Edmonton: "(GMT-06:00) Alberta, Lãnh thổ Tây Bắc"
143
+ America/Winnipeg: "(GMT-05:00) Manitoba"
@@ -137,3 +137,7 @@ zh-CN:
137
137
  Pacific/Tongatapu: "(GMT+13:00) 努库阿洛法"
138
138
  Pacific/Apia: "(GMT+13:00) 萨摩亚"
139
139
  Pacific/Fakaofo: "(GMT+13:00) 托克劳群岛"
140
+ America/Vancouver: "(GMT-07:00) 不列颠哥伦比亚"
141
+ America/Whitehorse: "(GMT-07:00) 育空"
142
+ America/Edmonton: "(GMT-06:00) 阿尔伯塔、西北地区"
143
+ America/Winnipeg: "(GMT-05:00) 马尼托巴"
@@ -137,3 +137,7 @@ zh-TW:
137
137
  Pacific/Tongatapu: "(格林威治標準時間加 13 個小時)努瓜婁發"
138
138
  Pacific/Apia: "(格林威治標準時間加 13 個小時)薩摩亞"
139
139
  Pacific/Fakaofo: "(格林威治標準時間加 13 個小時)托克勞群島"
140
+ America/Vancouver: "(GMT-07:00) 英屬哥倫比亞"
141
+ America/Whitehorse: "(GMT-07:00) 育空"
142
+ America/Edmonton: "(GMT-06:00) 亞伯達、西北地區"
143
+ America/Winnipeg: "(GMT-05:00) 曼尼托巴"
@@ -2,6 +2,15 @@
2
2
 
3
3
  module Worldwide
4
4
  class TimeZone
5
+ # Rails' curated list omits these Canadian zones.
6
+ # Explicit offsets keep the returned list stable when TZInfo's 2026 base offsets change.
7
+ ADDITIONAL_ZONE_OFFSETS = {
8
+ "America/Edmonton" => -6 * 3600,
9
+ "America/Vancouver" => -7 * 3600,
10
+ "America/Whitehorse" => -7 * 3600,
11
+ "America/Winnipeg" => -5 * 3600,
12
+ }.freeze
13
+
5
14
  class << self
6
15
  def all
7
16
  @all ||= uniq_zone_names.map { |zone_name| new(zone_name) }
@@ -10,9 +19,11 @@ module Worldwide
10
19
  private
11
20
 
12
21
  def uniq_zone_names
13
- ActiveSupport::TimeZone.all.map do |time_zone|
14
- time_zone.tzinfo.name
15
- end.uniq
22
+ additional_zones = ADDITIONAL_ZONE_OFFSETS.keys.map { |name| ActiveSupport::TimeZone[name] }
23
+
24
+ (ActiveSupport::TimeZone.all + additional_zones).sort_by do |time_zone|
25
+ [ADDITIONAL_ZONE_OFFSETS.fetch(time_zone.tzinfo.name) { time_zone.utc_offset }, time_zone.name]
26
+ end.map { |time_zone| time_zone.tzinfo.name }.uniq
16
27
  end
17
28
  end
18
29
 
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Worldwide
4
- VERSION = "1.29.0"
4
+ VERSION = "1.30.0"
5
5
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: worldwide
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.29.0
4
+ version: 1.30.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Shopify