TYPO3 CMS  TYPO3_7-6
IsoCodeService.php
Go to the documentation of this file.
1 <?php
2 namespace TYPO3\CMS\Core\Service;
3 
4 /*
5  * This file is part of the TYPO3 CMS project.
6  *
7  * It is free software; you can redistribute it and/or modify it under
8  * the terms of the GNU General Public License, either version 2
9  * of the License, or any later version.
10  *
11  * For the full copyright and license information, please read the
12  * LICENSE.txt file that was distributed with this source code.
13  *
14  * The TYPO3 project - inspiring people to share!
15  */
16 
21 {
28  public function renderIsoCodeSelectDropdown(array $conf = [])
29  {
30  $languageService = $this->getLanguageService();
31 
32  $isoCodes = $this->getIsoCodes();
33  $languages = [];
34  foreach ($isoCodes as $isoCode) {
35  $languages[$isoCode] = $languageService->sL('LLL:EXT:core/Resources/Private/Language/db.xlf:sys_language.language_isocode.' . $isoCode);
36  }
37  // Sort languages by name
38  asort($languages);
39 
40  $items = [];
41  foreach ($languages as $isoCode => $name) {
42  $items[] = [$name, $isoCode];
43  }
44 
45  $conf['items'] = array_merge($conf['items'], $items);
46  return $conf;
47  }
48 
56  protected function getIsoCodes()
57  {
58  $isoCodes = [
59  'ab',
60  'aa',
61  'af',
62  'ak',
63  'sq',
64  'am',
65  'ar',
66  'an',
67  'hy',
68  'as',
69  'av',
70  'ae',
71  'ay',
72  'az',
73  'bm',
74  'ba',
75  'eu',
76  'be',
77  'bn',
78  'bh',
79  'bi',
80  'bs',
81  'br',
82  'bg',
83  'my',
84  'ca',
85  'ch',
86  'ce',
87  'ny',
88  'zh',
89  'cv',
90  'kw',
91  'co',
92  'cr',
93  'hr',
94  'cs',
95  'da',
96  'dv',
97  'nl',
98  'dz',
99  'en',
100  'eo',
101  'et',
102  'ee',
103  'fo',
104  'fj',
105  'fi',
106  'fr',
107  'ff',
108  'gl',
109  'ka',
110  'de',
111  'el',
112  'gn',
113  'gu',
114  'ht',
115  'ha',
116  'he',
117  'hz',
118  'hi',
119  'ho',
120  'hu',
121  'ia',
122  'id',
123  'ie',
124  'ga',
125  'ig',
126  'ik',
127  'io',
128  'is',
129  'it',
130  'iu',
131  'ja',
132  'jv',
133  'kl',
134  'kn',
135  'kr',
136  'ks',
137  'kk',
138  'km',
139  'ki',
140  'rw',
141  'ky',
142  'kv',
143  'kg',
144  'ko',
145  'ku',
146  'kj',
147  'la',
148  'lb',
149  'lg',
150  'li',
151  'ln',
152  'lo',
153  'lt',
154  'lu',
155  'lv',
156  'gv',
157  'mk',
158  'mg',
159  'ms',
160  'ml',
161  'mt',
162  'mi',
163  'mr',
164  'mh',
165  'mn',
166  'na',
167  'nv',
168  'nd',
169  'ne',
170  'ng',
171  'nb',
172  'nn',
173  'no',
174  'ii',
175  'nr',
176  'oc',
177  'oj',
178  'cu',
179  'om',
180  'or',
181  'os',
182  'pa',
183  'pi',
184  'fa',
185  'pl',
186  'ps',
187  'pt',
188  'qu',
189  'rm',
190  'rn',
191  'ro',
192  'ru',
193  'sa',
194  'sc',
195  'sd',
196  'se',
197  'sm',
198  'sg',
199  'sr',
200  'gd',
201  'sn',
202  'si',
203  'sk',
204  'sl',
205  'so',
206  'st',
207  'es',
208  'su',
209  'sw',
210  'ss',
211  'sv',
212  'ta',
213  'te',
214  'tg',
215  'th',
216  'ti',
217  'bo',
218  'tk',
219  'tl',
220  'tn',
221  'to',
222  'tr',
223  'ts',
224  'tt',
225  'tw',
226  'ty',
227  'ug',
228  'uk',
229  'ur',
230  'uz',
231  've',
232  'vi',
233  'vo',
234  'wa',
235  'cy',
236  'wo',
237  'fy',
238  'xh',
239  'yi',
240  'yo',
241  'za',
242  'zu',
243  ];
244  return $isoCodes;
245  }
246 
252  protected function getLanguageService()
253  {
254  return $GLOBALS['LANG'];
255  }
256 }
if(TYPO3_MODE==='BE') $GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['t3lib/class.t3lib_tsfebeuserauth.php']['frontendEditingController']['default']