1
|
|
|
<?php |
2
|
|
|
|
3
|
|
|
namespace CHMLib\Windows; |
4
|
|
|
|
5
|
|
|
/** |
6
|
|
|
* Windows language details. |
7
|
|
|
*/ |
8
|
|
|
class Language |
9
|
|
|
{ |
10
|
|
|
/** |
11
|
|
|
* Windows language ID. |
12
|
|
|
* |
13
|
|
|
* @var int |
14
|
|
|
*/ |
15
|
|
|
protected $id; |
16
|
|
|
|
17
|
|
|
/** |
18
|
|
|
* ISO code of the language. |
19
|
|
|
* |
20
|
|
|
* @var string |
21
|
|
|
*/ |
22
|
|
|
protected $languageCode; |
23
|
|
|
|
24
|
|
|
/** |
25
|
|
|
* ISO code of the Country. |
26
|
|
|
* |
27
|
|
|
* @var string |
28
|
|
|
*/ |
29
|
|
|
protected $countryCode; |
30
|
|
|
|
31
|
|
|
/** |
32
|
|
|
* English name of the language. |
33
|
|
|
* |
34
|
|
|
* @var string |
35
|
|
|
*/ |
36
|
|
|
protected $languageName; |
37
|
|
|
|
38
|
|
|
/** |
39
|
|
|
* English name of the Country. |
40
|
|
|
* |
41
|
|
|
* @var string |
42
|
|
|
*/ |
43
|
|
|
protected $countryName; |
44
|
|
|
|
45
|
|
|
/** |
46
|
|
|
* Initializes the instance. |
47
|
|
|
* |
48
|
|
|
* @param int $id The Windows language ID. |
49
|
|
|
*/ |
50
|
4 |
|
public function __construct($id) |
51
|
|
|
{ |
52
|
4 |
|
$this->id = (int) $id; |
53
|
4 |
|
$map = static::getMap(); |
54
|
4 |
|
$info = isset($map[$this->id]) ? $map[$this->id] : null; |
55
|
4 |
|
$this->languageCode = ($info === null) ? '' : $info[0]; |
56
|
4 |
|
$this->countryCode = ($info === null) ? '' : $info[1]; |
57
|
4 |
|
$this->languageName = ($info === null) ? '' : $info[2]; |
58
|
4 |
|
$this->countryName = ($info === null) ? '' : $info[3]; |
59
|
4 |
|
} |
60
|
|
|
|
61
|
|
|
/** |
62
|
|
|
* Get the Windows language ID. |
63
|
|
|
* |
64
|
|
|
* @return int |
65
|
|
|
*/ |
66
|
|
|
public function getID() |
67
|
|
|
{ |
68
|
|
|
return $this->id; |
69
|
|
|
} |
70
|
|
|
|
71
|
|
|
/** |
72
|
|
|
* Get the ISO code of the language (empty string if not available). |
73
|
|
|
* |
74
|
|
|
* @return string |
75
|
|
|
*/ |
76
|
|
|
public function getLanguageCode() |
77
|
|
|
{ |
78
|
|
|
return $this->languageCode; |
79
|
|
|
} |
80
|
|
|
|
81
|
|
|
/** |
82
|
|
|
* Get the ISO code of the Country (empty string if not available). |
83
|
|
|
* |
84
|
|
|
* @return string |
85
|
|
|
*/ |
86
|
|
|
public function getCountryCode() |
87
|
|
|
{ |
88
|
|
|
return $this->countryCode; |
89
|
|
|
} |
90
|
|
|
|
91
|
|
|
/** |
92
|
|
|
* Get the English name of the language (empty string if not available). |
93
|
|
|
* |
94
|
|
|
* @return string |
95
|
|
|
*/ |
96
|
|
|
public function getLanguageName() |
97
|
|
|
{ |
98
|
|
|
return $this->languageName; |
99
|
|
|
} |
100
|
|
|
|
101
|
|
|
/** |
102
|
|
|
* Get the English name of the Country (empty string if not available). |
103
|
|
|
* |
104
|
|
|
* @return string |
105
|
|
|
*/ |
106
|
|
|
public function getCountryName() |
107
|
|
|
{ |
108
|
|
|
return $this->countryName; |
109
|
|
|
} |
110
|
|
|
|
111
|
|
|
/** |
112
|
|
|
* Returns a string representation of this instance. |
113
|
|
|
* |
114
|
|
|
* @return string |
115
|
|
|
*/ |
116
|
|
|
public function __toString() |
117
|
|
|
{ |
118
|
|
|
if ($this->languageName === '' && $this->countryName === '') { |
119
|
|
|
return 'ID:'.$this->id; |
120
|
|
|
} elseif ($this->countryName === '') { |
121
|
|
|
return $this->languageName; |
122
|
|
|
} elseif ($this->languageName === '') { |
123
|
|
|
return $this->countryName; |
124
|
|
|
} else { |
125
|
|
|
return $this->languageName.' ('.$this->countryName.')'; |
126
|
|
|
} |
127
|
|
|
} |
128
|
|
|
|
129
|
|
|
/** |
130
|
|
|
* Cache the info about the recognized Windows language IDs. |
131
|
|
|
* |
132
|
|
|
* @var array|null |
133
|
|
|
*/ |
134
|
|
|
protected static $map = null; |
135
|
|
|
|
136
|
|
|
/** |
137
|
|
|
* Get all the recognized Windows language IDs. |
138
|
|
|
* |
139
|
|
|
* @return array |
140
|
|
|
*/ |
141
|
4 |
|
protected static function getMap() |
142
|
|
|
{ |
143
|
4 |
|
if (!isset(self::$map)) { |
144
|
1 |
|
self::$map = array( |
145
|
1 |
|
0x0436 => array('af', 'ZA', 'Afrikaans', 'South Africa'), |
146
|
|
|
0x041C => array('sq', 'AL', 'Albanian', 'Albania'), |
147
|
|
|
0x0484 => array('gsw', 'FR', 'Alsatian', 'France'), |
148
|
|
|
0x045E => array('am', 'ET', 'Amharic', 'Ethiopia'), |
149
|
|
|
0x1401 => array('ar', 'DZ', 'Arabic', 'Algeria'), |
150
|
|
|
0x3C01 => array('ar', 'BH', 'Arabic', 'Bahrain'), |
151
|
|
|
0x0C01 => array('ar', 'EG', 'Arabic', 'Egypt'), |
152
|
|
|
0x0801 => array('ar', 'IQ', 'Arabic', 'Iraq'), |
153
|
|
|
0x2C01 => array('ar', 'JO', 'Arabic', 'Jordan'), |
154
|
|
|
0x3401 => array('ar', 'KW', 'Arabic', 'Kuwait'), |
155
|
|
|
0x3001 => array('ar', 'LB', 'Arabic', 'Lebanon'), |
156
|
|
|
0x1001 => array('ar', 'LY', 'Arabic', 'Libya'), |
157
|
|
|
0x1801 => array('ar', 'MA', 'Arabic', 'Morocco'), |
158
|
|
|
0x2001 => array('ar', 'OM', 'Arabic', 'Oman'), |
159
|
|
|
0x4001 => array('ar', 'QA', 'Arabic', 'Qatar'), |
160
|
|
|
0x0401 => array('ar', 'SA', 'Arabic', 'Saudi Arabia'), |
161
|
|
|
0x2801 => array('ar', 'SY', 'Arabic', 'Syria'), |
162
|
|
|
0x1C01 => array('ar', 'TN', 'Arabic', 'Tunisia'), |
163
|
|
|
0x3801 => array('ar', 'AE', 'Arabic', 'U.A.E.'), |
164
|
|
|
0x2401 => array('ar', 'YE', 'Arabic', 'Yemen'), |
165
|
|
|
0x042B => array('hy', 'AM', 'Armenian', 'Armenia'), |
166
|
|
|
0x044D => array('as', 'IN', 'Assamese', 'India'), |
167
|
|
|
0x082C => array('az', 'AZ', 'Azerbaijani', 'Azerbaijan, Cyrillic'), |
168
|
|
|
0x042C => array('az', 'AZ', 'Azerbaijani', 'Azerbaijan, Latin'), |
169
|
|
|
0x0445 => array('bn', 'BD', 'Bangla', 'Bangladesh'), |
170
|
|
|
0x046D => array('ba', 'RU', 'Bashkir', 'Russia'), |
171
|
|
|
0x0423 => array('be', 'BY', 'Belarusian', 'Belarus'), |
172
|
|
|
0x201A => array('bs', 'BA', 'Bosnian', 'Bosnia and Herzegovina, Cyrillic'), |
173
|
|
|
0x141A => array('bs', 'BA', 'Bosnian', 'Bosnia and Herzegovina, Latin'), |
174
|
|
|
0x047E => array('br', 'FR', 'Breton', 'France'), |
175
|
|
|
0x0402 => array('bg', 'BG', 'Bulgarian', 'Bulgaria'), |
176
|
|
|
0x0492 => array('ku', 'IQ', 'Central Kurdish', 'Iraq'), |
177
|
|
|
0x0403 => array('ca', 'ES', 'Catalan', 'Spain'), |
178
|
|
|
0x0C04 => array('zh', 'HK', 'Chinese', 'Hong Kong SAR, PRC'), |
179
|
|
|
0x1404 => array('zh', 'MO', 'Chinese', 'Macao SAR'), |
180
|
|
|
0x1004 => array('zh', 'SG', 'Chinese', 'Singapore'), |
181
|
|
|
0x0004 => array('zh', 'CN', 'Chinese', 'Simplified'), |
182
|
|
|
0x7C04 => array('zh', 'TW', 'Chinese', 'Traditional'), |
183
|
|
|
0x0483 => array('co', 'FR', 'Corsican', 'France'), |
184
|
|
|
0x101A => array('hr', 'BA', 'Croatian', 'Bosnia and Herzegovina, Latin'), |
185
|
|
|
0x041A => array('hr', 'HR', 'Croatian', 'Croatia'), |
186
|
|
|
0x0405 => array('cs', 'CZ', 'Czech', 'Czech Republic'), |
187
|
|
|
0x0406 => array('da', 'DK', 'Danish', 'Denmark'), |
188
|
|
|
0x048C => array('prs', 'AF', 'Dari', 'Afghanistan'), |
189
|
|
|
0x0465 => array('dv', 'MV', 'Divehi', 'Maldives'), |
190
|
|
|
0x0813 => array('nl', 'BE', 'Dutch', 'Belgium'), |
191
|
|
|
0x0413 => array('nl', 'NL', 'Dutch', 'Netherlands'), |
192
|
|
|
0x0C09 => array('en', 'AU', 'English', 'Australia'), |
193
|
|
|
0x2809 => array('en', 'BZ', 'English', 'Belize'), |
194
|
|
|
0x1009 => array('en', 'CA', 'English', 'Canada'), |
195
|
|
|
0x2409 => array('en', '29', 'English', 'Caribbean'), |
196
|
|
|
0x4009 => array('en', 'IN', 'English', 'India'), |
197
|
|
|
0x1809 => array('en', 'IE', 'English', 'Ireland'), |
198
|
|
|
0x1809 => array('en', 'IE', 'English', 'Ireland'), |
199
|
|
|
0x2009 => array('en', 'JM', 'English', 'Jamaica'), |
200
|
|
|
0x4409 => array('en', 'MY', 'English', 'Malaysia'), |
201
|
|
|
0x1409 => array('en', 'NZ', 'English', 'New Zealand'), |
202
|
|
|
0x3409 => array('en', 'PH', 'English', 'Philippines'), |
203
|
|
|
0x4809 => array('en', 'SG', 'English', 'Singapore'), |
204
|
|
|
0x1c09 => array('en', 'ZA', 'English', 'South Africa'), |
205
|
|
|
0x2C09 => array('en', 'TT', 'English', 'Trinidad and Tobago'), |
206
|
|
|
0x0809 => array('en', 'GB', 'English', 'United Kingdom'), |
207
|
|
|
0x0409 => array('en', 'US', 'English', 'United States'), |
208
|
|
|
0x3009 => array('en', 'ZW', 'English', 'Zimbabwe'), |
209
|
|
|
0x0425 => array('et', 'EE', 'Estonian', 'Estonia'), |
210
|
|
|
0x0438 => array('fo', 'FO', 'Faroese', 'Faroe Islands'), |
211
|
|
|
0x0464 => array('fil', 'PH', 'Filipino', 'Philippines'), |
212
|
|
|
0x040B => array('fi', 'FI', 'Finnish', 'Finland'), |
213
|
|
|
0x080c => array('fr', 'BE', 'French', 'Belgium'), |
214
|
|
|
0x0C0C => array('fr', 'CA', 'French', 'Canada'), |
215
|
|
|
0x040c => array('fr', 'FR', 'French', 'France'), |
216
|
|
|
0x140C => array('fr', 'LU', 'French', 'Luxembourg'), |
217
|
|
|
0x180C => array('fr', 'MC', 'French', 'Monaco'), |
218
|
|
|
0x100C => array('fr', 'CH', 'French', 'Switzerland'), |
219
|
|
|
0x0462 => array('fy', 'NL', 'Frisian', 'Netherlands'), |
220
|
|
|
0x0456 => array('gl', 'ES', 'Galician', 'Spain'), |
221
|
|
|
0x0437 => array('ka', 'GE', 'Georgian', 'Georgia'), |
222
|
|
|
0x0C07 => array('de', 'AT', 'German', 'Austria'), |
223
|
|
|
0x0407 => array('de', 'DE', 'German', 'Germany'), |
224
|
|
|
0x1407 => array('de', 'LI', 'German', 'Liechtenstein'), |
225
|
|
|
0x1007 => array('de', 'LU', 'German', 'Luxembourg'), |
226
|
|
|
0x0807 => array('de', 'CH', 'German', 'Switzerland'), |
227
|
|
|
0x0408 => array('el', 'GR', 'Greek', 'Greece'), |
228
|
|
|
0x046F => array('kl', 'GL', 'Greenlandic', 'Greenland'), |
229
|
|
|
0x0447 => array('gu', 'IN', 'Gujarati', 'India'), |
230
|
|
|
0x0468 => array('ha', 'NG', 'Hausa', 'Nigeria'), |
231
|
|
|
0x0475 => array('haw', 'US', 'Hawiian', 'United States'), |
232
|
|
|
0x040D => array('he', 'IL', 'Hebrew', 'Israel'), |
233
|
|
|
0x0439 => array('hi', 'IN', 'Hindi', 'India'), |
234
|
|
|
0x040E => array('hu', 'HU', 'Hungarian', 'Hungary'), |
235
|
|
|
0x040F => array('is', 'IS', 'Icelandic', 'Iceland'), |
236
|
|
|
0x0470 => array('ig', 'NG', 'Igbo', 'Nigeria'), |
237
|
|
|
0x0421 => array('id', 'ID', 'Indonesian', 'Indonesia'), |
238
|
|
|
0x085D => array('iu', 'CA', 'Inuktitut', 'Canada, Latin'), |
239
|
|
|
0x045D => array('iu', 'CA', 'Inuktitut', 'Canada, Canadian Syllabics'), |
240
|
|
|
0x083C => array('ga', 'IE', 'Irish', 'Ireland'), |
241
|
|
|
0x0434 => array('xh', 'ZA', 'isiXhosa', 'South Africa'), |
242
|
|
|
0x0435 => array('zu', 'ZA', 'isiZulu', 'South Africa'), |
243
|
|
|
0x0410 => array('it', 'IT', 'Italian', 'Italy'), |
244
|
|
|
0x0810 => array('it', 'CH', 'Italian', 'Switzerland'), |
245
|
|
|
0x0411 => array('ja', 'JP', 'Japanese', 'Japan'), |
246
|
|
|
0x044B => array('kn', 'IN', 'Kannada', 'India'), |
247
|
|
|
0x043F => array('kk', 'KZ', 'Kazakh', 'Kazakhstan'), |
248
|
|
|
0x0453 => array('kh', 'KH', 'Khmer', 'Cambodia'), |
249
|
|
|
0x0486 => array('qut', 'GT', 'K\'iche', 'Guatemala'), |
250
|
|
|
0x0487 => array('rw', 'RW', 'Kinyarwanda', 'Rwanda'), |
251
|
|
|
0x0457 => array('kok', 'IN', 'Konkani', 'India'), |
252
|
|
|
0x0412 => array('ko', 'KR', 'Korean', 'Korea'), |
253
|
|
|
0x0440 => array('ky', 'KG', 'Kyrgyz', 'Kyrgyzstan'), |
254
|
|
|
0x0454 => array('lo', 'LA', 'Lao', 'Lao PDR'), |
255
|
|
|
0x0426 => array('lv', 'LV', 'Latvian', 'Latvia'), |
256
|
|
|
0x0427 => array('lt', 'LT', 'Lithuanian', 'Lithuanian'), |
257
|
|
|
0x082E => array('dsb', 'DE', 'Lower Sorbian', 'Germany'), |
258
|
|
|
0x046E => array('lb', 'LU', 'Luxembourgish', 'Luxembourg'), |
259
|
|
|
0x042F => array('mk', 'MK', 'Macedonian', 'Macedonia - FYROM'), |
260
|
|
|
0x083E => array('ms', 'BN', 'Malay', 'Brunei Darassalam'), |
261
|
|
|
0x043e => array('ms', 'MY', 'Malay', 'Malaysia'), |
262
|
|
|
0x044C => array('ml', 'IN', 'Malayalam', 'India'), |
263
|
|
|
0x043A => array('mt', 'MT', 'Maltese', 'Malta'), |
264
|
|
|
0x0481 => array('mi', 'NZ', 'Maori', 'New Zealand'), |
265
|
|
|
0x047A => array('arn', 'CL', 'Mapudungun', 'Chile'), |
266
|
|
|
0x044E => array('mr', 'IN', 'Marathi', 'India'), |
267
|
|
|
0x047C => array('moh', 'CA', 'Mohawk', 'Canada'), |
268
|
|
|
0x0450 => array('mn', 'MN', 'Mongolian', 'Mongolia, Cyrillic'), |
269
|
|
|
0x0850 => array('mn', 'MN', 'Mongolian', 'Mongolia, Mong'), |
270
|
|
|
0x0461 => array('ne', 'NP', 'Nepali', 'Nepal'), |
271
|
|
|
0x0414 => array('no', 'NO', 'Norwegian', 'Bokmål, Norway'), |
272
|
|
|
0x0814 => array('no', 'NO', 'Norwegian', 'Nynorsk, Norway'), |
273
|
|
|
0x0482 => array('oc', 'FR', 'Occitan', 'France'), |
274
|
|
|
0x0448 => array('or', 'IN', 'Odia', 'India'), |
275
|
|
|
0x0463 => array('ps', 'AF', 'Pashto', 'Afghanistan'), |
276
|
|
|
0x0429 => array('fa', 'IR', 'Persian', 'Iran'), |
277
|
|
|
0x0415 => array('pl', 'PL', 'Polish', 'Poland'), |
278
|
|
|
0x0416 => array('pt', 'BR', 'Portuguese', 'Brazil'), |
279
|
|
|
0x0816 => array('pt', 'PT', 'Portuguese', 'Portugal'), |
280
|
|
|
0x0867 => array('ff', 'SN', 'Pular', 'Senegal'), |
281
|
|
|
0x0446 => array('pa', 'IN', 'Punjabi', 'India, Gurmukhi script'), |
282
|
|
|
0x0846 => array('pa', 'PK', 'Punjabi', 'Pakistan, Arabic script'), |
283
|
|
|
0x046B => array('quz', 'BO', 'Quechua', 'Bolivia'), |
284
|
|
|
0x086B => array('quz', 'EC', 'Quechua', 'Ecuador'), |
285
|
|
|
0x0C6B => array('quz', 'PE', 'Quechua', 'Peru'), |
286
|
|
|
0x0418 => array('ro', 'RO', 'Romanian', 'Romania'), |
287
|
|
|
0x0417 => array('rm', 'CH', 'Romansh', 'Switzerland'), |
288
|
|
|
0x0419 => array('ru', 'RU', 'Russian', 'Russia'), |
289
|
|
|
0x0485 => array('sah', 'RU', 'Sakha', 'Russia'), |
290
|
|
|
0x243B => array('smn', 'FI', 'Sami', 'Inari, Finland'), |
291
|
|
|
0x103B => array('smj', 'NO', 'Sami', 'Lule, Norway'), |
292
|
|
|
0x143B => array('smj', 'SE', 'Sami', 'Lule, Sweden'), |
293
|
|
|
0x0C3B => array('se', 'FI', 'Sami', 'Northern, Finland'), |
294
|
|
|
0x043B => array('se', 'NO', 'Sami', 'Northern, Norway'), |
295
|
|
|
0x083B => array('se', 'SE', 'Sami', 'Northern, Sweden'), |
296
|
|
|
0x203B => array('sms', 'FI', 'Sami', 'Skolt, Finland'), |
297
|
|
|
0x183B => array('sma', 'NO', 'Sami', 'Southern, Norway'), |
298
|
|
|
0x1C3B => array('sma', 'SE', 'Sami', 'Southern, Sweden'), |
299
|
|
|
0x044F => array('sa', 'IN', 'Sanskrit', 'India'), |
300
|
|
|
0x1C1A => array('sr', 'BA', 'Serbian', 'Bosnia and Herzegovina, Cyrillic'), |
301
|
|
|
0x181A => array('sr', 'BA', 'Serbian', 'Bosnia and Herzegovina, Latin'), |
302
|
|
|
0x0C1A => array('sr', 'CS', 'Serbian', 'Serbia and Montenegro - former, Cyrillic'), |
303
|
|
|
0x081A => array('sr', 'CS', 'Serbian', 'Serbia and Montenegro former, Latin'), |
304
|
|
|
0x046C => array('nso', 'ZA', 'Sesotho sa Leboa', 'South Africa'), |
305
|
|
|
0x0832 => array('tn', 'BW', 'Setswana / Tswana', 'Botswana'), |
306
|
|
|
0x0432 => array('tn', 'ZA', 'Setswana / Tswana', 'South Africa'), |
307
|
|
|
0x0859 => array('sd', 'PK', 'Sindhi', 'Pakistan'), |
308
|
|
|
0x045B => array('si', 'LK', 'Sinhala', 'Sri Lanka'), |
309
|
|
|
0x041B => array('sk', 'SK', 'Slovak', 'Slovakia'), |
310
|
|
|
0x0424 => array('sl', 'SI', 'Slovenian', 'Slovenia'), |
311
|
|
|
0x2C0A => array('es', 'AR', 'Spanish', 'Argentina'), |
312
|
|
|
0x400A => array('es', 'BO', 'Spanish', 'Bolivia'), |
313
|
|
|
0x340A => array('es', 'CL', 'Spanish', 'Chile'), |
314
|
|
|
0x240A => array('es', 'CO', 'Spanish', 'Colombia'), |
315
|
|
|
0x140A => array('es', 'CR', 'Spanish', 'Costa Rica'), |
316
|
|
|
0x1C0A => array('es', 'DO', 'Spanish', 'Dominican Republic'), |
317
|
|
|
0x300A => array('es', 'EC', 'Spanish', 'Ecuador'), |
318
|
|
|
0x440A => array('es', 'SV', 'Spanish', 'El Salvador'), |
319
|
|
|
0x100A => array('es', 'GT', 'Spanish', 'Guatemala'), |
320
|
|
|
0x480A => array('es', 'HN', 'Spanish', 'Honduras'), |
321
|
|
|
0x080A => array('es', 'MX', 'Spanish', 'Mexico'), |
322
|
|
|
0x4C0A => array('es', 'NI', 'Spanish', 'Nicaragua'), |
323
|
|
|
0x180A => array('es', 'PA', 'Spanish', 'Panama'), |
324
|
|
|
0x3C0A => array('es', 'PY', 'Spanish', 'Paraguay'), |
325
|
|
|
0x280A => array('es', 'PE', 'Spanish', 'Peru'), |
326
|
|
|
0x500A => array('es', 'PR', 'Spanish', 'Puerto Rico'), |
327
|
|
|
0x0C0A => array('es', 'ES', 'Spanish', 'Spain, Modern Sort'), |
328
|
|
|
0x040A => array('es', 'ES', 'Spanish', 'Spain, Traditional Sort'), |
329
|
|
|
0x540A => array('es', 'US', 'Spanish', 'United States'), |
330
|
|
|
0x380A => array('es', 'UY', 'Spanish', 'Uruguay'), |
331
|
|
|
0x200A => array('es', 'VE', 'Spanish', 'Venezuela'), |
332
|
|
|
0x0441 => array('sw', 'KE', 'Swahili', 'Kenya'), |
333
|
|
|
0x081D => array('sv', 'FI', 'Swedish', 'Finland'), |
334
|
|
|
0x041D => array('sv', 'SE', 'Swedish', 'Sweden'), |
335
|
|
|
0x041D => array('sv', 'SE', 'Swedish', 'Sweden'), |
336
|
|
|
0x045A => array('syr', 'SY', 'Syriac', 'Syria'), |
337
|
|
|
0x0428 => array('tg', 'TJ', 'Tajik', 'Tajikistan, Cyrillic'), |
338
|
|
|
0x085F => array('tzm', 'DZ', 'Tamazight', 'Algeria, Latin'), |
339
|
|
|
0x0449 => array('ta', 'IN', 'Tamil', 'India'), |
340
|
|
|
0x0849 => array('ta', 'LK', 'Tamil', 'Sri Lanka'), |
341
|
|
|
0x0444 => array('tt', 'RU', 'Tatar', 'Russia'), |
342
|
|
|
0x044A => array('te', 'IN', 'Telugu', 'India'), |
343
|
|
|
0x041E => array('th', 'TH', 'Thai', 'Thailand'), |
344
|
|
|
0x0451 => array('bo', 'CN', 'Tibetan', 'PRC'), |
345
|
|
|
0x0873 => array('ti', 'ER', 'Tigrinya', 'Eritrea'), |
346
|
|
|
0x0473 => array('ti', 'ET', 'Tigrinya', 'Ethiopia'), |
347
|
|
|
0x041F => array('tr', 'TR', 'Turkish', 'Turkey'), |
348
|
|
|
0x0442 => array('tk', 'TM', 'Turkmen', 'Turkmenistan'), |
349
|
|
|
0x0422 => array('uk', 'UA', 'Ukrainian', 'Ukraine'), |
350
|
|
|
0x042E => array('hsb', 'DE', 'Upper Sorbian', 'Germany'), |
351
|
|
|
0x0420 => array('ur', 'PK', 'Urdu', 'Pakistan'), |
352
|
|
|
0x0480 => array('ug', 'CN', 'Uyghur', 'PRC'), |
353
|
|
|
0x0843 => array('uz', 'UZ', 'Uzbek', 'Uzbekistan, Cyrillic'), |
354
|
|
|
0x0443 => array('uz', 'UZ', 'Uzbek', 'Uzbekistan, Latin'), |
355
|
|
|
0x042A => array('vi', 'VN', 'Vietnamese', 'Vietnam'), |
356
|
|
|
0x0452 => array('cy', 'GB', 'Welsh', 'United Kingdom'), |
357
|
|
|
0x0488 => array('wo', 'SN', 'Wolof', 'Senegal'), |
358
|
|
|
0x0478 => array('ii', 'CN', 'Yi', 'PRC'), |
359
|
|
|
0x046A => array('yo', 'NG', 'Yoruba', 'Nigeria'), |
360
|
|
|
); |
361
|
|
|
} |
362
|
|
|
|
363
|
4 |
|
return self::$map; |
364
|
|
|
} |
365
|
|
|
} |
366
|
|
|
|