‪TYPO3CMS  ‪main
SiteLanguagePresets.php
Go to the documentation of this file.
1 <?php
2 
3 declare(strict_types=1);
4 
5 /*
6  * This file is part of the TYPO3 CMS project.
7  *
8  * It is free software; you can redistribute it and/or modify it under
9  * the terms of the GNU General Public License, either version 2
10  * of the License, or any later version.
11  *
12  * For the full copyright and license information, please read the
13  * LICENSE.txt file that was distributed with this source code.
14  *
15  * The TYPO3 project - inspiring people to share!
16  */
17 
18 namespace ‪TYPO3\CMS\Core\Site;
19 
25 {
26  protected array ‪$presets = [
27  'af-ZA' => [
28  'title' => 'Afrikaans',
29  'navigationTitle' => 'Afrikaans',
30  'locale' => 'af_ZA',
31  'base' => '/af/',
32  'flag' => 'af',
33  ],
34  'ar-SA' => [
35  'title' => 'Arabic',
36  'navigationTitle' => 'العربية',
37  'locale' => 'ar_SA',
38  'base' => '/ar/',
39  'flag' => 'sa',
40  ],
41  'bs-BA' => [
42  'title' => 'Bosnian',
43  'navigationTitle' => 'Bosanski',
44  'locale' => 'bs_BA',
45  'base' => '/ba/',
46  'flag' => 'ba',
47  ],
48  'bg-BG' => [
49  'title' => 'Bulgarian',
50  'navigationTitle' => 'Български',
51  'locale' => 'bg_BG',
52  'base' => '/bg/',
53  'flag' => 'bg',
54  ],
55  'ca-ES' => [
56  'title' => 'Catalan',
57  'navigationTitle' => 'Català',
58  'locale' => 'ca_ES',
59  'base' => '/ca/',
60  'flag' => 'catalonia',
61  ],
62  'zh-CN' => [
63  'title' => 'Chinese (Simplified)',
64  'navigationTitle' => '汉语',
65  'locale' => 'zh_CN',
66  'base' => '/cn/',
67  'flag' => 'cn',
68  ],
69  'cs-CZ' => [
70  'title' => 'Czech',
71  'navigationTitle' => 'Čeština',
72  'locale' => 'cs_CZ',
73  'base' => '/cz/',
74  'flag' => 'cz',
75  ],
76  'cy-GB' => [
77  'title' => 'Welsh',
78  'navigationTitle' => 'Cymraeg',
79  'locale' => 'cy_GB',
80  'base' => '/cy/',
81  'flag' => 'cy',
82  ],
83  'da-DK' => [
84  'title' => 'Danish',
85  'navigationTitle' => 'Dansk',
86  'locale' => 'da_DK',
87  'base' => '/da/',
88  'flag' => 'dk',
89  ],
90  'de-DE' => [
91  'title' => 'German',
92  'navigationTitle' => 'Deutsch',
93  'locale' => 'de_DE',
94  'base' => '/de/',
95  'flag' => 'de',
96  ],
97  'el-GR' => [
98  'title' => 'Greek',
99  'navigationTitle' => 'Ελληνικά',
100  'locale' => 'el_GR',
101  'base' => '/gr/',
102  'flag' => 'gr',
103  ],
104  'en-US' => [
105  'title' => 'English',
106  'navigationTitle' => 'English',
107  'locale' => 'en_US',
108  'base' => '/en/',
109  'flag' => 'en-us-gb',
110  ],
111  'eo-XX' => [
112  'title' => 'Esperanto',
113  'navigationTitle' => 'Esperanto',
114  'locale' => 'eo_XX',
115  'base' => '/eo/',
116  'flag' => 'eo',
117  ],
118  'es-ES' => [
119  'title' => 'Spanish',
120  'navigationTitle' => 'Español',
121  'locale' => 'es_ES',
122  'base' => '/es/',
123  'flag' => 'es',
124  ],
125  'et-EE' => [
126  'title' => 'Estonian',
127  'navigationTitle' => 'Eesti',
128  'locale' => 'et_EE',
129  'base' => '/et/',
130  'flag' => 'ee',
131  ],
132  'eu-ES' => [
133  'title' => 'Basque',
134  'navigationTitle' => 'Euskara',
135  'locale' => 'eu_ES',
136  'base' => '/eu/',
137  'flag' => 'eu',
138  ],
139  'fa-IR' => [
140  'title' => 'Persian',
141  'navigationTitle' => 'فارسی',
142  'locale' => 'fa_IR',
143  'base' => '/fa/',
144  'flag' => 'ir',
145  ],
146  'fi-FI' => [
147  'title' => 'Finnish',
148  'navigationTitle' => 'Suomi',
149  'locale' => 'fi_FI',
150  'base' => '/fi/',
151  'flag' => 'fi',
152  ],
153  'fo-FO' => [
154  'title' => 'Faeroese',
155  'navigationTitle' => 'Føroyskt',
156  'locale' => 'fo_FO',
157  'base' => '/fo/',
158  'flag' => 'fo',
159  ],
160  'fr-FR' => [
161  'title' => 'French',
162  'navigationTitle' => 'Français',
163  'locale' => 'fr_FR',
164  'base' => '/fr/',
165  'flag' => 'fr',
166  ],
167  'fr-CA' => [
168  'title' => 'Canadian French',
169  'navigationTitle' => 'Français canadien',
170  'locale' => 'fr_CA',
171  'base' => '/qc/',
172  'flag' => 'qc',
173  ],
174  'gl-ES' => [
175  'title' => 'Galician',
176  'navigationTitle' => 'Galego',
177  'locale' => 'gl_ES',
178  'base' => '/ga/',
179  'flag' => 'gl',
180  ],
181  'kl-DK' => [
182  'title' => 'Greenlandic',
183  'navigationTitle' => 'Kalaallisut',
184  'locale' => 'kl_DK',
185  'base' => '/gl/',
186  'flag' => 'kl',
187  ],
188  'he-IL' => [
189  'title' => 'Hebrew',
190  'navigationTitle' => 'עברית',
191  'locale' => 'he_IL',
192  'base' => '/he/',
193  'flag' => 'il',
194  ],
195  'hi-IN' => [
196  'title' => 'Hindi',
197  'navigationTitle' => 'हिन्दी',
198  'locale' => 'hi_IN',
199  'base' => '/hi/',
200  'flag' => 'in',
201  ],
202  'hr-HR' => [
203  'title' => 'Croatian',
204  'navigationTitle' => 'Hrvatski',
205  'locale' => 'hr_HR',
206  'base' => '/hr/',
207  'flag' => 'hr',
208  ],
209  'hu-HU' => [
210  'title' => 'Hungarian',
211  'navigationTitle' => 'Magyar',
212  'locale' => 'hu_HU',
213  'base' => '/hu/',
214  'flag' => 'hu',
215  ],
216  'is-IS' => [
217  'title' => 'Icelandic',
218  'navigationTitle' => 'Íslenska',
219  'locale' => 'is_IS',
220  'base' => '/is/',
221  'flag' => 'is',
222  ],
223  'it-IT' => [
224  'title' => 'Italian',
225  'navigationTitle' => 'Italiano',
226  'locale' => 'it_IT',
227  'base' => '/it/',
228  'flag' => 'it',
229  ],
230  'ja-JP' => [
231  'title' => 'Japanese',
232  'navigationTitle' => '日本語',
233  'locale' => 'ja_JP',
234  'base' => '/jp/',
235  'flag' => 'jp',
236  ],
237  'ka-GE' => [
238  'title' => 'Georgian',
239  'navigationTitle' => 'ქართული',
240  'locale' => 'ka_GE',
241  'base' => '/ge/',
242  'flag' => 'ge',
243  ],
244  'km-KH' => [
245  'title' => 'Khmer',
246  'navigationTitle' => 'ភាសាខ្មែរ',
247  'locale' => 'km_KH',
248  'base' => '/km/',
249  'flag' => 'km',
250  ],
251  'ko-KR' => [
252  'title' => 'Korean',
253  'navigationTitle' => '한국말',
254  'locale' => 'ko_KR',
255  'base' => '/kr/',
256  'flag' => 'kr',
257  ],
258  'lt-LT' => [
259  'title' => 'Lithuanian',
260  'navigationTitle' => 'Lietuvių',
261  'locale' => 'lt_LT',
262  'base' => '/lt/',
263  'flag' => 'lt',
264  ],
265  'lv-LV' => [
266  'title' => 'Latvian',
267  'navigationTitle' => 'Latviešu',
268  'locale' => 'lv_LV',
269  'base' => '/lv/',
270  'flag' => 'lv',
271  ],
272  'mi-NZ' => [
273  'title' => 'Maori',
274  'navigationTitle' => 'Māori',
275  'locale' => 'mi_NZ',
276  'base' => '/mi/',
277  'flag' => 'mi',
278  ],
279  'ms-MY' => [
280  'title' => 'Malay',
281  'navigationTitle' => 'Bahasa Melayu',
282  'locale' => 'ms_MY',
283  'base' => '/ms/',
284  'flag' => 'my',
285  ],
286  'nl-NL' => [
287  'title' => 'Dutch',
288  'navigationTitle' => 'Nederlands',
289  'locale' => 'nl_NL',
290  'base' => '/nl/',
291  'flag' => 'nl',
292  ],
293  'no-NO' => [
294  'title' => 'Norwegian',
295  'navigationTitle' => 'Norsk',
296  'locale' => 'no_NO',
297  'base' => '/no/',
298  'flag' => 'no',
299  ],
300  'pl-PL' => [
301  'title' => 'Polish',
302  'navigationTitle' => 'Polski',
303  'locale' => 'pl_PL',
304  'base' => '/pl/',
305  'flag' => 'pl',
306  ],
307  'pt-PT' => [
308  'title' => 'Portuguese',
309  'navigationTitle' => 'Português',
310  'locale' => 'pt_PT',
311  'base' => '/pt/',
312  'flag' => 'pt',
313  ],
314  'pt-BR' => [
315  'title' => 'Brazilian Portuguese',
316  'navigationTitle' => 'Português brasileiro',
317  'locale' => 'pt_BR',
318  'base' => '/br/',
319  'flag' => 'br',
320  ],
321  'ro-RO' => [
322  'title' => 'Romanian',
323  'navigationTitle' => 'Română',
324  'locale' => 'ro_RO',
325  'base' => '/ro/',
326  'flag' => 'ro',
327  ],
328  'ru-RU' => [
329  'title' => 'Russian',
330  'navigationTitle' => 'Русский',
331  'locale' => 'ru_RU',
332  'base' => '/ru/',
333  'flag' => 'ru',
334  ],
335  'sl-SI' => [
336  'title' => 'Slovenian',
337  'navigationTitle' => 'Slovenščina',
338  'locale' => 'sl_SI',
339  'base' => '/si/',
340  'flag' => 'si',
341  ],
342  'sk-SK' => [
343  'title' => 'Slovak',
344  'navigationTitle' => 'Slovenčina',
345  'locale' => 'sk_SK',
346  'base' => '/sk/',
347  'flag' => 'sk',
348  ],
349  'sn_ZW' => [
350  'title' => 'Shona (Bantu)',
351  'navigationTitle' => 'chiShona',
352  'locale' => 'sn_ZW',
353  'base' => '/sn/',
354  'flag' => 'zw',
355  ],
356  'sv-SE' => [
357  'title' => 'Swedish',
358  'navigationTitle' => 'Svenska',
359  'locale' => 'sv_SE',
360  'base' => '/se/',
361  'flag' => 'se',
362  ],
363  'sq-AL' => [
364  'title' => 'Albanian',
365  'navigationTitle' => 'Gjuha shqipe',
366  'locale' => 'sq_AL',
367  'base' => '/sq/',
368  'flag' => 'al',
369  ],
370  'sr-YO' => [
371  'title' => 'Serbian',
372  'navigationTitle' => 'Српски / Srpski',
373  'locale' => 'sr_YO',
374  'base' => '/sr/',
375  'flag' => 'rs',
376  ],
377  'th-TH' => [
378  'title' => 'Thai',
379  'navigationTitle' => 'ภาษาไทย',
380  'locale' => 'th_TH',
381  'base' => '/th/',
382  'flag' => 'th',
383  ],
384  'tr-TR' => [
385  'title' => 'Turkish',
386  'navigationTitle' => 'Türkçe',
387  'locale' => 'tr_TR',
388  'base' => '/tr/',
389  'flag' => 'tr',
390  ],
391  'uk-UA' => [
392  'title' => 'Ukrainian',
393  'navigationTitle' => 'Українська',
394  'locale' => 'uk_UA',
395  'base' => '/ua/',
396  'flag' => 'ua',
397  ],
398  'vi-VN' => [
399  'title' => 'Vietnamese',
400  'navigationTitle' => 'Tiếng Việt',
401  'locale' => 'vi_VN',
402  'base' => '/vn/',
403  'flag' => 'vn',
404  ],
405  'zh-HK' => [
406  'title' => 'Chinese (Traditional)',
407  'navigationTitle' => '漢語',
408  'locale' => 'zh_HK',
409  'base' => '/hk/',
410  'flag' => 'hk',
411  ],
412  ];
413 
414  public function ‪getAll(): array
415  {
416  return ‪$this->presets;
417  }
418 
419  public function ‪getPresetDetailsForLanguage(string $language): ?array
420  {
421  return $this->presets[$language] ?? null;
422  }
423 
424  public function ‪getAllForSelector(): array
425  {
426  $presetOptions = [];
427  foreach ($this->presets as $language => $preset) {
428  $presetOptions[$preset['title']] = [
429  'value' => $language,
430  'label' => $preset['title'],
431  ];
432  }
433  ksort($presetOptions);
434  return $presetOptions;
435  }
436 }
‪TYPO3\CMS\Core\Site\SiteLanguagePresets\getAllForSelector
‪getAllForSelector()
Definition: SiteLanguagePresets.php:424
‪TYPO3\CMS\Core\Site\SiteLanguagePresets\getAll
‪getAll()
Definition: SiteLanguagePresets.php:414
‪TYPO3\CMS\Core\Site
‪TYPO3\CMS\Core\Site\SiteLanguagePresets\getPresetDetailsForLanguage
‪getPresetDetailsForLanguage(string $language)
Definition: SiteLanguagePresets.php:419
‪TYPO3\CMS\Core\Site\SiteLanguagePresets
Definition: SiteLanguagePresets.php:25
‪TYPO3\CMS\Core\Site\SiteLanguagePresets\$presets
‪array $presets
Definition: SiteLanguagePresets.php:26