Skip to content

Commit 140d002

Browse files
committed
Add states; Fix timezone Europe/Kyiv and Pacific/Kanton
1 parent d890987 commit 140d002

File tree

2 files changed

+257
-8
lines changed

2 files changed

+257
-8
lines changed
Lines changed: 257 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,257 @@
1+
<?php
2+
3+
/*
4+
* This file is part of the ixnode/php-timezone project.
5+
*
6+
* (c) Björn Hempel <https://www.hempel.li/>
7+
*
8+
* For the full copyright and license information, please view the LICENSE.md
9+
* file that was distributed with this source code.
10+
*/
11+
12+
declare(strict_types=1);
13+
14+
namespace Ixnode\PhpTimezone\Constants\State\Europe;
15+
16+
use Ixnode\PhpTimezone\Constants\Locale;
17+
18+
/**
19+
* Class StateGermany
20+
*
21+
* @author Björn Hempel <bjoern@hempel.li>
22+
* @version 0.1.0 (2024-11-20)
23+
* @since 0.1.0 (2024-11-20) First version.
24+
*/
25+
class StateGermany
26+
{
27+
/* State codes */
28+
public const STATE_CODE_ALL = 'ALL';
29+
public const STATE_CODE_BB = 'BB';
30+
public const STATE_CODE_BE = 'BE';
31+
public const STATE_CODE_BW = 'BW';
32+
public const STATE_CODE_BY = 'BY';
33+
public const STATE_CODE_HB = 'HB';
34+
public const STATE_CODE_HE = 'HE';
35+
public const STATE_CODE_HH = 'HH';
36+
public const STATE_CODE_MV = 'MV';
37+
public const STATE_CODE_NI = 'NI';
38+
public const STATE_CODE_NW = 'NW';
39+
public const STATE_CODE_RP = 'RP';
40+
public const STATE_CODE_SH = 'SH';
41+
public const STATE_CODE_SL = 'SL';
42+
public const STATE_CODE_SN = 'SN';
43+
public const STATE_CODE_ST = 'ST';
44+
public const STATE_CODE_TH = 'TH';
45+
46+
/* State language names */
47+
public const STATE_NAME_ALL = [
48+
Locale::CS_CZ => 'Všechny federální státy',
49+
Locale::DE_DE => 'Alle Bundesländer',
50+
Locale::EN_GB => 'All states',
51+
Locale::ES_ES => 'Todos los Estados federales',
52+
Locale::FR_FR => 'Tous les États fédérés',
53+
Locale::HR_HR => 'Sve savezne države',
54+
Locale::IT_IT => 'Tutti gli Stati federali',
55+
Locale::PL_PL => 'Wszystkie stany federalne',
56+
Locale::SE_SE => 'Alla federala stater',
57+
];
58+
59+
/* State language names */
60+
public const STATE_NAME_BB = [
61+
Locale::CS_CZ => 'Brandenburg',
62+
Locale::DE_DE => 'Brandenburg',
63+
Locale::EN_GB => 'Brandenburg',
64+
Locale::ES_ES => 'Brandemburgo',
65+
Locale::FR_FR => 'Brandebourg',
66+
Locale::HR_HR => 'Brandenburg',
67+
Locale::IT_IT => 'Brandeburgo',
68+
Locale::PL_PL => 'Brandenburgia',
69+
Locale::SE_SE => 'Brandenburg',
70+
];
71+
public const STATE_NAME_BE = [
72+
Locale::CS_CZ => 'Berlín',
73+
Locale::DE_DE => 'Berlin',
74+
Locale::EN_GB => 'Berlin',
75+
Locale::ES_ES => 'Berlín',
76+
Locale::FR_FR => 'Berlin',
77+
Locale::HR_HR => 'Berlin',
78+
Locale::IT_IT => 'Berlino',
79+
Locale::PL_PL => 'Berlin',
80+
Locale::SE_SE => 'Berlin',
81+
];
82+
public const STATE_NAME_BW = [
83+
Locale::CS_CZ => 'Bádensko-Württembersko',
84+
Locale::DE_DE => 'Baden-Württemberg',
85+
Locale::EN_GB => 'Baden Württemberg',
86+
Locale::ES_ES => 'Baden-Württemberg',
87+
Locale::FR_FR => 'Bade-Wurtemberg',
88+
Locale::HR_HR => 'Baden-Württemberg',
89+
Locale::IT_IT => 'Baden-Württemberg',
90+
Locale::PL_PL => 'Badenia-Wirtembergia',
91+
Locale::SE_SE => 'Baden-Württemberg',
92+
];
93+
public const STATE_NAME_BY = [
94+
Locale::CS_CZ => 'Bavorsko',
95+
Locale::DE_DE => 'Bayern',
96+
Locale::EN_GB => 'Bavaria',
97+
Locale::ES_ES => 'Baviera',
98+
Locale::FR_FR => 'Bavière',
99+
Locale::HR_HR => 'Bavarska',
100+
Locale::IT_IT => 'Baviera',
101+
Locale::PL_PL => 'Bawaria',
102+
Locale::SE_SE => 'Bayern',
103+
];
104+
public const STATE_NAME_HB = [
105+
Locale::CS_CZ => 'Brémy',
106+
Locale::DE_DE => 'Bremen',
107+
Locale::EN_GB => 'Bremen',
108+
Locale::ES_ES => 'Bremen',
109+
Locale::FR_FR => 'Brême',
110+
Locale::HR_HR => 'Bremen',
111+
Locale::IT_IT => 'Brema',
112+
Locale::PL_PL => 'Brema',
113+
Locale::SE_SE => 'Bremen',
114+
];
115+
public const STATE_NAME_HE = [
116+
Locale::CS_CZ => 'Hesse',
117+
Locale::DE_DE => 'Hessen',
118+
Locale::EN_GB => 'Hesse',
119+
Locale::ES_ES => 'Hesse',
120+
Locale::FR_FR => 'Hesse',
121+
Locale::HR_HR => 'Hessen',
122+
Locale::IT_IT => 'Assia',
123+
Locale::PL_PL => 'Hesja',
124+
Locale::SE_SE => 'Hesse',
125+
];
126+
public const STATE_NAME_HH = [
127+
Locale::CS_CZ => 'Hamburk',
128+
Locale::DE_DE => 'Hamburg',
129+
Locale::EN_GB => 'Hamburg',
130+
Locale::ES_ES => 'Hamburgo',
131+
Locale::FR_FR => 'Hambourg',
132+
Locale::HR_HR => 'Hamburg',
133+
Locale::IT_IT => 'Amburgo',
134+
Locale::PL_PL => 'Hamburg',
135+
Locale::SE_SE => 'Hamburg',
136+
];
137+
public const STATE_NAME_MV = [
138+
Locale::CS_CZ => 'Meklenbursko-Přední Pomořansko',
139+
Locale::DE_DE => 'Mecklenburg-Vorpommern',
140+
Locale::EN_GB => 'Mecklenburg-Western Pomerania',
141+
Locale::ES_ES => 'Mecklemburgo-Pomerania Occidental',
142+
Locale::FR_FR => 'Mecklembourg-Poméranie occidentale',
143+
Locale::HR_HR => 'Mecklenburg-Zapadno Pomorje',
144+
Locale::IT_IT => 'Meclemburgo-Pomerania occidentale',
145+
Locale::PL_PL => 'Meklemburgia-Pomorze Przednie',
146+
Locale::SE_SE => 'Mecklenburg-Vorpommern',
147+
];
148+
public const STATE_NAME_NI = [
149+
Locale::CS_CZ => 'Dolní Sasko',
150+
Locale::DE_DE => 'Niedersachsen',
151+
Locale::EN_GB => 'Lower Saxony',
152+
Locale::ES_ES => 'Baja Sajonia',
153+
Locale::FR_FR => 'Basse-Saxe',
154+
Locale::HR_HR => 'Donja Saska',
155+
Locale::IT_IT => 'Bassa Sassonia',
156+
Locale::PL_PL => 'Dolna Saksonia',
157+
Locale::SE_SE => 'Nedre Sachsen',
158+
];
159+
public const STATE_NAME_NW = [
160+
Locale::CS_CZ => 'Severní Porýní-Vestfálsko',
161+
Locale::DE_DE => 'Nordrhein-Westfalen',
162+
Locale::EN_GB => 'North Rhine-Westphalia',
163+
Locale::ES_ES => 'Renania del Norte-Westfalia',
164+
Locale::FR_FR => 'Rhénanie-du-Nord-Westphalie',
165+
Locale::HR_HR => 'Sjeverna Rajna-Vestfalija',
166+
Locale::IT_IT => 'Nord Reno-Westfalia',
167+
Locale::PL_PL => 'Nadrenia Północna-Westfalia',
168+
Locale::SE_SE => 'Nordrhein-Westphalen',
169+
];
170+
public const STATE_NAME_RP = [
171+
Locale::CS_CZ => 'Porýní-Falc',
172+
Locale::DE_DE => 'Rheinland-Pfalz',
173+
Locale::EN_GB => 'Rhineland-Palatinate',
174+
Locale::ES_ES => 'Renania-Palatinado',
175+
Locale::FR_FR => 'Rhénanie-Palatinat',
176+
Locale::HR_HR => 'Rheinland-Pfalz',
177+
Locale::IT_IT => 'Renania-Palatinato',
178+
Locale::PL_PL => 'Nadrenia-Palatynat',
179+
Locale::SE_SE => 'Rheinland-Pfalz',
180+
];
181+
public const STATE_NAME_SH = [
182+
Locale::CS_CZ => 'Šlesvicko-Holštýnsko',
183+
Locale::DE_DE => 'Schleswig-Holstein',
184+
Locale::EN_GB => 'Schleswig-Holstein',
185+
Locale::ES_ES => 'Schleswig-Holstein',
186+
Locale::FR_FR => 'Schleswig-Holstein',
187+
Locale::HR_HR => 'Schleswig-Holstein',
188+
Locale::IT_IT => 'Schleswig-Holstein',
189+
Locale::PL_PL => 'Szlezwik-Holsztyn',
190+
Locale::SE_SE => 'Schleswig-Holstein',
191+
];
192+
public const STATE_NAME_SL = [
193+
Locale::CS_CZ => 'Sársko',
194+
Locale::DE_DE => 'Saarland',
195+
Locale::EN_GB => 'Saarland',
196+
Locale::ES_ES => 'Sarre',
197+
Locale::FR_FR => 'Sarre',
198+
Locale::HR_HR => 'Saarland',
199+
Locale::IT_IT => 'Saarland',
200+
Locale::PL_PL => 'Saara',
201+
Locale::SE_SE => 'Saarland',
202+
];
203+
public const STATE_NAME_SN = [
204+
Locale::CS_CZ => 'Sasko',
205+
Locale::DE_DE => 'Sachsen',
206+
Locale::EN_GB => 'Saxony',
207+
Locale::ES_ES => 'Sajonia',
208+
Locale::FR_FR => 'Saxe',
209+
Locale::HR_HR => 'Saska',
210+
Locale::IT_IT => 'Sassonia',
211+
Locale::PL_PL => 'Saksonia',
212+
Locale::SE_SE => 'Sachsen',
213+
];
214+
public const STATE_NAME_ST = [
215+
Locale::CS_CZ => 'Sasko-Anhaltsko',
216+
Locale::DE_DE => 'Sachsen-Anhalt',
217+
Locale::EN_GB => 'Saxony-Anhalt',
218+
Locale::ES_ES => 'Sajonia-Anhalt',
219+
Locale::FR_FR => 'Saxe-Anhalt',
220+
Locale::HR_HR => 'Saska-Anhalt',
221+
Locale::IT_IT => 'Sassonia-Anhalt',
222+
Locale::PL_PL => 'Saksonia-Anhalt',
223+
Locale::SE_SE => 'Sachsen-Anhalt',
224+
];
225+
public const STATE_NAME_TH = [
226+
Locale::CS_CZ => 'Durynsko',
227+
Locale::DE_DE => 'Thüringen',
228+
Locale::EN_GB => 'Thuringia',
229+
Locale::ES_ES => 'Turingia',
230+
Locale::FR_FR => 'Thuringe',
231+
Locale::HR_HR => 'Thüringen',
232+
Locale::IT_IT => 'Turingia',
233+
Locale::PL_PL => 'Turyngia',
234+
Locale::SE_SE => 'Thüringen',
235+
];
236+
237+
/* States */
238+
public const STATES = [
239+
self::STATE_CODE_ALL => ['name' => self::STATE_NAME_ALL, 'code' => 'ALL', ],
240+
self::STATE_CODE_BB => ['name' => self::STATE_NAME_BB, 'code' => 'BB', ],
241+
self::STATE_CODE_BE => ['name' => self::STATE_NAME_BE, 'code' => 'BE', ],
242+
self::STATE_CODE_BW => ['name' => self::STATE_NAME_BW, 'code' => 'BW', ],
243+
self::STATE_CODE_BY => ['name' => self::STATE_NAME_BY, 'code' => 'BY', ],
244+
self::STATE_CODE_HB => ['name' => self::STATE_NAME_HB, 'code' => 'HB', ],
245+
self::STATE_CODE_HE => ['name' => self::STATE_NAME_HE, 'code' => 'HE', ],
246+
self::STATE_CODE_HH => ['name' => self::STATE_NAME_HH, 'code' => 'HH', ],
247+
self::STATE_CODE_MV => ['name' => self::STATE_NAME_MV, 'code' => 'MV', ],
248+
self::STATE_CODE_NI => ['name' => self::STATE_NAME_NI, 'code' => 'NI', ],
249+
self::STATE_CODE_NW => ['name' => self::STATE_NAME_NW, 'code' => 'NW', ],
250+
self::STATE_CODE_RP => ['name' => self::STATE_NAME_RP, 'code' => 'RP', ],
251+
self::STATE_CODE_SH => ['name' => self::STATE_NAME_SH, 'code' => 'SH', ],
252+
self::STATE_CODE_SL => ['name' => self::STATE_NAME_SL, 'code' => 'SL', ],
253+
self::STATE_CODE_SN => ['name' => self::STATE_NAME_SN, 'code' => 'SN', ],
254+
self::STATE_CODE_ST => ['name' => self::STATE_NAME_ST, 'code' => 'ST', ],
255+
self::STATE_CODE_TH => ['name' => self::STATE_NAME_TH, 'code' => 'TH', ],
256+
];
257+
}

src/Timezone.php

Lines changed: 0 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -49,14 +49,6 @@ public function getCountryCode(): string
4949
return CountryUnknown::COUNTRY_CODE_IV;
5050
}
5151

52-
if ($this->timezone === 'Europe/Kyiv') {
53-
$this->timezone = 'Europe/Kiev';
54-
}
55-
56-
if ($this->timezone === 'Pacific/Kanton') {
57-
$this->timezone = 'Pacific/Enderbury';
58-
}
59-
6052
try {
6153
$dateTimeZone = new DateTimeZone($this->timezone);
6254
$location = $dateTimeZone->getLocation();

0 commit comments

Comments
 (0)