[TASK] Sort the list of ISO codes 12/43412/3
authorXavier Perseguers <xavier@typo3.org>
Fri, 18 Sep 2015 08:09:24 +0000 (10:09 +0200)
committerAndreas Fernandez <typo3@scripting-base.de>
Fri, 18 Sep 2015 08:37:01 +0000 (10:37 +0200)
Resolves: #69929
Related: #61542
Releases: master
Change-Id: I002628c9741860d47c6fc6921ffb08b8ed256a70
Reviewed-on: http://review.typo3.org/43412
Reviewed-by: Frank Nägler <frank.naegler@typo3.org>
Tested-by: Frank Nägler <frank.naegler@typo3.org>
Reviewed-by: Andreas Fernandez <typo3@scripting-base.de>
Tested-by: Andreas Fernandez <typo3@scripting-base.de>
typo3/sysext/core/Classes/Service/IsoCodeService.php [new file with mode: 0644]
typo3/sysext/core/Configuration/TCA/sys_language.php

diff --git a/typo3/sysext/core/Classes/Service/IsoCodeService.php b/typo3/sysext/core/Classes/Service/IsoCodeService.php
new file mode 100644 (file)
index 0000000..cfae310
--- /dev/null
@@ -0,0 +1,254 @@
+<?php
+namespace TYPO3\CMS\Core\Service;
+
+/*
+ * This file is part of the TYPO3 CMS project.
+ *
+ * It is free software; you can redistribute it and/or modify it under
+ * the terms of the GNU General Public License, either version 2
+ * of the License, or any later version.
+ *
+ * For the full copyright and license information, please read the
+ * LICENSE.txt file that was distributed with this source code.
+ *
+ * The TYPO3 project - inspiring people to share!
+ */
+
+/**
+ * Helper functionality for dealing with ISO codes.
+ */
+class IsoCodeService {
+
+       /**
+        * Renders a select dropdown with ISO 639-1 codes.
+        *
+        * @param array $conf
+        * @return array
+        */
+       public function renderIsoCodeSelectDropdown(array $conf = array()) {
+               $languageService = $this->getLanguageService();
+
+               $isoCodes = $this->getIsoCodes();
+               $languages = array();
+               foreach ($isoCodes as $isoCode) {
+                       $languages[$isoCode] = $languageService->sL('LLL:EXT:core/Resources/Private/Language/db.xlf:sys_language.language_isocode.' . $isoCode);
+               }
+               // Sort languages by name
+               asort($languages);
+
+               $items = array();
+               foreach ($languages as $isoCode => $name) {
+                       $items[] = array($name, $isoCode);
+               }
+
+               $conf['items'] = array_merge($conf['items'], $items);
+               return $conf;
+       }
+
+       /**
+        * Returns the list of ISO 639-1 codes.
+        *
+        * List taken from http://en.wikipedia.org/wiki/List_of_ISO_639-1_codes
+        *
+        * @return array
+        */
+       protected function getIsoCodes() {
+               $isoCodes = array(
+                       'ab',
+                       'aa',
+                       'af',
+                       'ak',
+                       'sq',
+                       'am',
+                       'ar',
+                       'an',
+                       'hy',
+                       'as',
+                       'av',
+                       'ae',
+                       'ay',
+                       'az',
+                       'bm',
+                       'ba',
+                       'eu',
+                       'be',
+                       'bn',
+                       'bh',
+                       'bi',
+                       'bs',
+                       'br',
+                       'bg',
+                       'my',
+                       'ca',
+                       'ch',
+                       'ce',
+                       'ny',
+                       'zh',
+                       'cv',
+                       'kw',
+                       'co',
+                       'cr',
+                       'hr',
+                       'cs',
+                       'da',
+                       'dv',
+                       'nl',
+                       'dz',
+                       'en',
+                       'eo',
+                       'et',
+                       'ee',
+                       'fo',
+                       'fj',
+                       'fi',
+                       'fr',
+                       'ff',
+                       'gl',
+                       'ka',
+                       'de',
+                       'el',
+                       'gn',
+                       'gu',
+                       'ht',
+                       'ha',
+                       'he',
+                       'hz',
+                       'hi',
+                       'ho',
+                       'hu',
+                       'ia',
+                       'id',
+                       'ie',
+                       'ga',
+                       'ig',
+                       'ik',
+                       'io',
+                       'is',
+                       'it',
+                       'iu',
+                       'ja',
+                       'jv',
+                       'kl',
+                       'kn',
+                       'kr',
+                       'ks',
+                       'kk',
+                       'km',
+                       'ki',
+                       'rw',
+                       'ky',
+                       'kv',
+                       'kg',
+                       'ko',
+                       'ku',
+                       'kj',
+                       'la',
+                       'lb',
+                       'lg',
+                       'li',
+                       'ln',
+                       'lo',
+                       'lt',
+                       'lu',
+                       'lv',
+                       'gv',
+                       'mk',
+                       'mg',
+                       'ms',
+                       'ml',
+                       'mt',
+                       'mi',
+                       'mr',
+                       'mh',
+                       'mn',
+                       'na',
+                       'nv',
+                       'nd',
+                       'ne',
+                       'ng',
+                       'nb',
+                       'nn',
+                       'no',
+                       'ii',
+                       'nr',
+                       'oc',
+                       'oj',
+                       'cu',
+                       'om',
+                       'or',
+                       'os',
+                       'pa',
+                       'pi',
+                       'fa',
+                       'pl',
+                       'ps',
+                       'pt',
+                       'qu',
+                       'rm',
+                       'rn',
+                       'ro',
+                       'ru',
+                       'sa',
+                       'sc',
+                       'sd',
+                       'se',
+                       'sm',
+                       'sg',
+                       'sr',
+                       'gd',
+                       'sn',
+                       'si',
+                       'sk',
+                       'sl',
+                       'so',
+                       'st',
+                       'es',
+                       'su',
+                       'sw',
+                       'ss',
+                       'sv',
+                       'ta',
+                       'te',
+                       'tg',
+                       'th',
+                       'ti',
+                       'bo',
+                       'tk',
+                       'tl',
+                       'tn',
+                       'to',
+                       'tr',
+                       'ts',
+                       'tt',
+                       'tw',
+                       'ty',
+                       'ug',
+                       'uk',
+                       'ur',
+                       'uz',
+                       've',
+                       'vi',
+                       'vo',
+                       'wa',
+                       'cy',
+                       'wo',
+                       'fy',
+                       'xh',
+                       'yi',
+                       'yo',
+                       'za',
+                       'zu',
+               );
+               return $isoCodes;
+       }
+
+       /**
+        * Returns LanguageService
+        *
+        * @return \TYPO3\CMS\Lang\LanguageService
+        */
+       protected function getLanguageService() {
+               return $GLOBALS['LANG'];
+       }
+
+}
index 0eec3b2..74dcb9a 100644 (file)
@@ -46,193 +46,8 @@ return array(
                                'size' => 1,
                                'minitems' => 0,
                                'maxitems' => 1,
-                               // list taken from http://en.wikipedia.org/wiki/List_of_ISO_639-1_codes
-                               'items' => array(
-                                       array('LLL:EXT:core/Resources/Private/Language/db.xlf:sys_language.language_isocode.ab', 'ab'),
-                                       array('LLL:EXT:core/Resources/Private/Language/db.xlf:sys_language.language_isocode.aa', 'aa'),
-                                       array('LLL:EXT:core/Resources/Private/Language/db.xlf:sys_language.language_isocode.af', 'af'),
-                                       array('LLL:EXT:core/Resources/Private/Language/db.xlf:sys_language.language_isocode.ak', 'ak'),
-                                       array('LLL:EXT:core/Resources/Private/Language/db.xlf:sys_language.language_isocode.sq', 'sq'),
-                                       array('LLL:EXT:core/Resources/Private/Language/db.xlf:sys_language.language_isocode.am', 'am'),
-                                       array('LLL:EXT:core/Resources/Private/Language/db.xlf:sys_language.language_isocode.ar', 'ar'),
-                                       array('LLL:EXT:core/Resources/Private/Language/db.xlf:sys_language.language_isocode.an', 'an'),
-                                       array('LLL:EXT:core/Resources/Private/Language/db.xlf:sys_language.language_isocode.hy', 'hy'),
-                                       array('LLL:EXT:core/Resources/Private/Language/db.xlf:sys_language.language_isocode.as', 'as'),
-                                       array('LLL:EXT:core/Resources/Private/Language/db.xlf:sys_language.language_isocode.av', 'av'),
-                                       array('LLL:EXT:core/Resources/Private/Language/db.xlf:sys_language.language_isocode.ae', 'ae'),
-                                       array('LLL:EXT:core/Resources/Private/Language/db.xlf:sys_language.language_isocode.ay', 'ay'),
-                                       array('LLL:EXT:core/Resources/Private/Language/db.xlf:sys_language.language_isocode.az', 'az'),
-                                       array('LLL:EXT:core/Resources/Private/Language/db.xlf:sys_language.language_isocode.bm', 'bm'),
-                                       array('LLL:EXT:core/Resources/Private/Language/db.xlf:sys_language.language_isocode.ba', 'ba'),
-                                       array('LLL:EXT:core/Resources/Private/Language/db.xlf:sys_language.language_isocode.eu', 'eu'),
-                                       array('LLL:EXT:core/Resources/Private/Language/db.xlf:sys_language.language_isocode.be', 'be'),
-                                       array('LLL:EXT:core/Resources/Private/Language/db.xlf:sys_language.language_isocode.bn', 'bn'),
-                                       array('LLL:EXT:core/Resources/Private/Language/db.xlf:sys_language.language_isocode.bh', 'bh'),
-                                       array('LLL:EXT:core/Resources/Private/Language/db.xlf:sys_language.language_isocode.bi', 'bi'),
-                                       array('LLL:EXT:core/Resources/Private/Language/db.xlf:sys_language.language_isocode.bs', 'bs'),
-                                       array('LLL:EXT:core/Resources/Private/Language/db.xlf:sys_language.language_isocode.br', 'br'),
-                                       array('LLL:EXT:core/Resources/Private/Language/db.xlf:sys_language.language_isocode.bg', 'bg'),
-                                       array('LLL:EXT:core/Resources/Private/Language/db.xlf:sys_language.language_isocode.my', 'my'),
-                                       array('LLL:EXT:core/Resources/Private/Language/db.xlf:sys_language.language_isocode.ca', 'ca'),
-                                       array('LLL:EXT:core/Resources/Private/Language/db.xlf:sys_language.language_isocode.ch', 'ch'),
-                                       array('LLL:EXT:core/Resources/Private/Language/db.xlf:sys_language.language_isocode.ce', 'ce'),
-                                       array('LLL:EXT:core/Resources/Private/Language/db.xlf:sys_language.language_isocode.ny', 'ny'),
-                                       array('LLL:EXT:core/Resources/Private/Language/db.xlf:sys_language.language_isocode.zh', 'zh'),
-                                       array('LLL:EXT:core/Resources/Private/Language/db.xlf:sys_language.language_isocode.cv', 'cv'),
-                                       array('LLL:EXT:core/Resources/Private/Language/db.xlf:sys_language.language_isocode.kw', 'kw'),
-                                       array('LLL:EXT:core/Resources/Private/Language/db.xlf:sys_language.language_isocode.co', 'co'),
-                                       array('LLL:EXT:core/Resources/Private/Language/db.xlf:sys_language.language_isocode.cr', 'cr'),
-                                       array('LLL:EXT:core/Resources/Private/Language/db.xlf:sys_language.language_isocode.hr', 'hr'),
-                                       array('LLL:EXT:core/Resources/Private/Language/db.xlf:sys_language.language_isocode.cs', 'cs'),
-                                       array('LLL:EXT:core/Resources/Private/Language/db.xlf:sys_language.language_isocode.da', 'da'),
-                                       array('LLL:EXT:core/Resources/Private/Language/db.xlf:sys_language.language_isocode.dv', 'dv'),
-                                       array('LLL:EXT:core/Resources/Private/Language/db.xlf:sys_language.language_isocode.nl', 'nl'),
-                                       array('LLL:EXT:core/Resources/Private/Language/db.xlf:sys_language.language_isocode.dz', 'dz'),
-                                       array('LLL:EXT:core/Resources/Private/Language/db.xlf:sys_language.language_isocode.en', 'en'),
-                                       array('LLL:EXT:core/Resources/Private/Language/db.xlf:sys_language.language_isocode.eo', 'eo'),
-                                       array('LLL:EXT:core/Resources/Private/Language/db.xlf:sys_language.language_isocode.et', 'et'),
-                                       array('LLL:EXT:core/Resources/Private/Language/db.xlf:sys_language.language_isocode.ee', 'ee'),
-                                       array('LLL:EXT:core/Resources/Private/Language/db.xlf:sys_language.language_isocode.fo', 'fo'),
-                                       array('LLL:EXT:core/Resources/Private/Language/db.xlf:sys_language.language_isocode.fj', 'fj'),
-                                       array('LLL:EXT:core/Resources/Private/Language/db.xlf:sys_language.language_isocode.fi', 'fi'),
-                                       array('LLL:EXT:core/Resources/Private/Language/db.xlf:sys_language.language_isocode.fr', 'fr'),
-                                       array('LLL:EXT:core/Resources/Private/Language/db.xlf:sys_language.language_isocode.ff', 'ff'),
-                                       array('LLL:EXT:core/Resources/Private/Language/db.xlf:sys_language.language_isocode.gl', 'gl'),
-                                       array('LLL:EXT:core/Resources/Private/Language/db.xlf:sys_language.language_isocode.ka', 'ka'),
-                                       array('LLL:EXT:core/Resources/Private/Language/db.xlf:sys_language.language_isocode.de', 'de'),
-                                       array('LLL:EXT:core/Resources/Private/Language/db.xlf:sys_language.language_isocode.el', 'el'),
-                                       array('LLL:EXT:core/Resources/Private/Language/db.xlf:sys_language.language_isocode.gn', 'gn'),
-                                       array('LLL:EXT:core/Resources/Private/Language/db.xlf:sys_language.language_isocode.gu', 'gu'),
-                                       array('LLL:EXT:core/Resources/Private/Language/db.xlf:sys_language.language_isocode.ht', 'ht'),
-                                       array('LLL:EXT:core/Resources/Private/Language/db.xlf:sys_language.language_isocode.ha', 'ha'),
-                                       array('LLL:EXT:core/Resources/Private/Language/db.xlf:sys_language.language_isocode.he', 'he'),
-                                       array('LLL:EXT:core/Resources/Private/Language/db.xlf:sys_language.language_isocode.hz', 'hz'),
-                                       array('LLL:EXT:core/Resources/Private/Language/db.xlf:sys_language.language_isocode.hi', 'hi'),
-                                       array('LLL:EXT:core/Resources/Private/Language/db.xlf:sys_language.language_isocode.ho', 'ho'),
-                                       array('LLL:EXT:core/Resources/Private/Language/db.xlf:sys_language.language_isocode.hu', 'hu'),
-                                       array('LLL:EXT:core/Resources/Private/Language/db.xlf:sys_language.language_isocode.ia', 'ia'),
-                                       array('LLL:EXT:core/Resources/Private/Language/db.xlf:sys_language.language_isocode.id', 'id'),
-                                       array('LLL:EXT:core/Resources/Private/Language/db.xlf:sys_language.language_isocode.ie', 'ie'),
-                                       array('LLL:EXT:core/Resources/Private/Language/db.xlf:sys_language.language_isocode.ga', 'ga'),
-                                       array('LLL:EXT:core/Resources/Private/Language/db.xlf:sys_language.language_isocode.ig', 'ig'),
-                                       array('LLL:EXT:core/Resources/Private/Language/db.xlf:sys_language.language_isocode.ik', 'ik'),
-                                       array('LLL:EXT:core/Resources/Private/Language/db.xlf:sys_language.language_isocode.io', 'io'),
-                                       array('LLL:EXT:core/Resources/Private/Language/db.xlf:sys_language.language_isocode.is', 'is'),
-                                       array('LLL:EXT:core/Resources/Private/Language/db.xlf:sys_language.language_isocode.it', 'it'),
-                                       array('LLL:EXT:core/Resources/Private/Language/db.xlf:sys_language.language_isocode.iu', 'iu'),
-                                       array('LLL:EXT:core/Resources/Private/Language/db.xlf:sys_language.language_isocode.ja', 'ja'),
-                                       array('LLL:EXT:core/Resources/Private/Language/db.xlf:sys_language.language_isocode.jv', 'jv'),
-                                       array('LLL:EXT:core/Resources/Private/Language/db.xlf:sys_language.language_isocode.kl', 'kl'),
-                                       array('LLL:EXT:core/Resources/Private/Language/db.xlf:sys_language.language_isocode.kn', 'kn'),
-                                       array('LLL:EXT:core/Resources/Private/Language/db.xlf:sys_language.language_isocode.kr', 'kr'),
-                                       array('LLL:EXT:core/Resources/Private/Language/db.xlf:sys_language.language_isocode.ks', 'ks'),
-                                       array('LLL:EXT:core/Resources/Private/Language/db.xlf:sys_language.language_isocode.kk', 'kk'),
-                                       array('LLL:EXT:core/Resources/Private/Language/db.xlf:sys_language.language_isocode.km', 'km'),
-                                       array('LLL:EXT:core/Resources/Private/Language/db.xlf:sys_language.language_isocode.ki', 'ki'),
-                                       array('LLL:EXT:core/Resources/Private/Language/db.xlf:sys_language.language_isocode.rw', 'rw'),
-                                       array('LLL:EXT:core/Resources/Private/Language/db.xlf:sys_language.language_isocode.ky', 'ky'),
-                                       array('LLL:EXT:core/Resources/Private/Language/db.xlf:sys_language.language_isocode.kv', 'kv'),
-                                       array('LLL:EXT:core/Resources/Private/Language/db.xlf:sys_language.language_isocode.kg', 'kg'),
-                                       array('LLL:EXT:core/Resources/Private/Language/db.xlf:sys_language.language_isocode.ko', 'ko'),
-                                       array('LLL:EXT:core/Resources/Private/Language/db.xlf:sys_language.language_isocode.ku', 'ku'),
-                                       array('LLL:EXT:core/Resources/Private/Language/db.xlf:sys_language.language_isocode.kj', 'kj'),
-                                       array('LLL:EXT:core/Resources/Private/Language/db.xlf:sys_language.language_isocode.la', 'la'),
-                                       array('LLL:EXT:core/Resources/Private/Language/db.xlf:sys_language.language_isocode.lb', 'lb'),
-                                       array('LLL:EXT:core/Resources/Private/Language/db.xlf:sys_language.language_isocode.lg', 'lg'),
-                                       array('LLL:EXT:core/Resources/Private/Language/db.xlf:sys_language.language_isocode.li', 'li'),
-                                       array('LLL:EXT:core/Resources/Private/Language/db.xlf:sys_language.language_isocode.ln', 'ln'),
-                                       array('LLL:EXT:core/Resources/Private/Language/db.xlf:sys_language.language_isocode.lo', 'lo'),
-                                       array('LLL:EXT:core/Resources/Private/Language/db.xlf:sys_language.language_isocode.lt', 'lt'),
-                                       array('LLL:EXT:core/Resources/Private/Language/db.xlf:sys_language.language_isocode.lu', 'lu'),
-                                       array('LLL:EXT:core/Resources/Private/Language/db.xlf:sys_language.language_isocode.lv', 'lv'),
-                                       array('LLL:EXT:core/Resources/Private/Language/db.xlf:sys_language.language_isocode.gv', 'gv'),
-                                       array('LLL:EXT:core/Resources/Private/Language/db.xlf:sys_language.language_isocode.mk', 'mk'),
-                                       array('LLL:EXT:core/Resources/Private/Language/db.xlf:sys_language.language_isocode.mg', 'mg'),
-                                       array('LLL:EXT:core/Resources/Private/Language/db.xlf:sys_language.language_isocode.ms', 'ms'),
-                                       array('LLL:EXT:core/Resources/Private/Language/db.xlf:sys_language.language_isocode.ml', 'ml'),
-                                       array('LLL:EXT:core/Resources/Private/Language/db.xlf:sys_language.language_isocode.mt', 'mt'),
-                                       array('LLL:EXT:core/Resources/Private/Language/db.xlf:sys_language.language_isocode.mi', 'mi'),
-                                       array('LLL:EXT:core/Resources/Private/Language/db.xlf:sys_language.language_isocode.mr', 'mr'),
-                                       array('LLL:EXT:core/Resources/Private/Language/db.xlf:sys_language.language_isocode.mh', 'mh'),
-                                       array('LLL:EXT:core/Resources/Private/Language/db.xlf:sys_language.language_isocode.mn', 'mn'),
-                                       array('LLL:EXT:core/Resources/Private/Language/db.xlf:sys_language.language_isocode.na', 'na'),
-                                       array('LLL:EXT:core/Resources/Private/Language/db.xlf:sys_language.language_isocode.nv', 'nv'),
-                                       array('LLL:EXT:core/Resources/Private/Language/db.xlf:sys_language.language_isocode.nd', 'nd'),
-                                       array('LLL:EXT:core/Resources/Private/Language/db.xlf:sys_language.language_isocode.ne', 'ne'),
-                                       array('LLL:EXT:core/Resources/Private/Language/db.xlf:sys_language.language_isocode.ng', 'ng'),
-                                       array('LLL:EXT:core/Resources/Private/Language/db.xlf:sys_language.language_isocode.nb', 'nb'),
-                                       array('LLL:EXT:core/Resources/Private/Language/db.xlf:sys_language.language_isocode.nn', 'nn'),
-                                       array('LLL:EXT:core/Resources/Private/Language/db.xlf:sys_language.language_isocode.no', 'no'),
-                                       array('LLL:EXT:core/Resources/Private/Language/db.xlf:sys_language.language_isocode.ii', 'ii'),
-                                       array('LLL:EXT:core/Resources/Private/Language/db.xlf:sys_language.language_isocode.nr', 'nr'),
-                                       array('LLL:EXT:core/Resources/Private/Language/db.xlf:sys_language.language_isocode.oc', 'oc'),
-                                       array('LLL:EXT:core/Resources/Private/Language/db.xlf:sys_language.language_isocode.oj', 'oj'),
-                                       array('LLL:EXT:core/Resources/Private/Language/db.xlf:sys_language.language_isocode.cu', 'cu'),
-                                       array('LLL:EXT:core/Resources/Private/Language/db.xlf:sys_language.language_isocode.om', 'om'),
-                                       array('LLL:EXT:core/Resources/Private/Language/db.xlf:sys_language.language_isocode.or', 'or'),
-                                       array('LLL:EXT:core/Resources/Private/Language/db.xlf:sys_language.language_isocode.os', 'os'),
-                                       array('LLL:EXT:core/Resources/Private/Language/db.xlf:sys_language.language_isocode.pa', 'pa'),
-                                       array('LLL:EXT:core/Resources/Private/Language/db.xlf:sys_language.language_isocode.pi', 'pi'),
-                                       array('LLL:EXT:core/Resources/Private/Language/db.xlf:sys_language.language_isocode.fa', 'fa'),
-                                       array('LLL:EXT:core/Resources/Private/Language/db.xlf:sys_language.language_isocode.pl', 'pl'),
-                                       array('LLL:EXT:core/Resources/Private/Language/db.xlf:sys_language.language_isocode.ps', 'ps'),
-                                       array('LLL:EXT:core/Resources/Private/Language/db.xlf:sys_language.language_isocode.pt', 'pt'),
-                                       array('LLL:EXT:core/Resources/Private/Language/db.xlf:sys_language.language_isocode.qu', 'qu'),
-                                       array('LLL:EXT:core/Resources/Private/Language/db.xlf:sys_language.language_isocode.rm', 'rm'),
-                                       array('LLL:EXT:core/Resources/Private/Language/db.xlf:sys_language.language_isocode.rn', 'rn'),
-                                       array('LLL:EXT:core/Resources/Private/Language/db.xlf:sys_language.language_isocode.ro', 'ro'),
-                                       array('LLL:EXT:core/Resources/Private/Language/db.xlf:sys_language.language_isocode.ru', 'ru'),
-                                       array('LLL:EXT:core/Resources/Private/Language/db.xlf:sys_language.language_isocode.sa', 'sa'),
-                                       array('LLL:EXT:core/Resources/Private/Language/db.xlf:sys_language.language_isocode.sc', 'sc'),
-                                       array('LLL:EXT:core/Resources/Private/Language/db.xlf:sys_language.language_isocode.sd', 'sd'),
-                                       array('LLL:EXT:core/Resources/Private/Language/db.xlf:sys_language.language_isocode.se', 'se'),
-                                       array('LLL:EXT:core/Resources/Private/Language/db.xlf:sys_language.language_isocode.sm', 'sm'),
-                                       array('LLL:EXT:core/Resources/Private/Language/db.xlf:sys_language.language_isocode.sg', 'sg'),
-                                       array('LLL:EXT:core/Resources/Private/Language/db.xlf:sys_language.language_isocode.sr', 'sr'),
-                                       array('LLL:EXT:core/Resources/Private/Language/db.xlf:sys_language.language_isocode.gd', 'gd'),
-                                       array('LLL:EXT:core/Resources/Private/Language/db.xlf:sys_language.language_isocode.sn', 'sn'),
-                                       array('LLL:EXT:core/Resources/Private/Language/db.xlf:sys_language.language_isocode.si', 'si'),
-                                       array('LLL:EXT:core/Resources/Private/Language/db.xlf:sys_language.language_isocode.sk', 'sk'),
-                                       array('LLL:EXT:core/Resources/Private/Language/db.xlf:sys_language.language_isocode.sl', 'sl'),
-                                       array('LLL:EXT:core/Resources/Private/Language/db.xlf:sys_language.language_isocode.so', 'so'),
-                                       array('LLL:EXT:core/Resources/Private/Language/db.xlf:sys_language.language_isocode.st', 'st'),
-                                       array('LLL:EXT:core/Resources/Private/Language/db.xlf:sys_language.language_isocode.es', 'es'),
-                                       array('LLL:EXT:core/Resources/Private/Language/db.xlf:sys_language.language_isocode.su', 'su'),
-                                       array('LLL:EXT:core/Resources/Private/Language/db.xlf:sys_language.language_isocode.sw', 'sw'),
-                                       array('LLL:EXT:core/Resources/Private/Language/db.xlf:sys_language.language_isocode.ss', 'ss'),
-                                       array('LLL:EXT:core/Resources/Private/Language/db.xlf:sys_language.language_isocode.sv', 'sv'),
-                                       array('LLL:EXT:core/Resources/Private/Language/db.xlf:sys_language.language_isocode.ta', 'ta'),
-                                       array('LLL:EXT:core/Resources/Private/Language/db.xlf:sys_language.language_isocode.te', 'te'),
-                                       array('LLL:EXT:core/Resources/Private/Language/db.xlf:sys_language.language_isocode.tg', 'tg'),
-                                       array('LLL:EXT:core/Resources/Private/Language/db.xlf:sys_language.language_isocode.th', 'th'),
-                                       array('LLL:EXT:core/Resources/Private/Language/db.xlf:sys_language.language_isocode.ti', 'ti'),
-                                       array('LLL:EXT:core/Resources/Private/Language/db.xlf:sys_language.language_isocode.bo', 'bo'),
-                                       array('LLL:EXT:core/Resources/Private/Language/db.xlf:sys_language.language_isocode.tk', 'tk'),
-                                       array('LLL:EXT:core/Resources/Private/Language/db.xlf:sys_language.language_isocode.tl', 'tl'),
-                                       array('LLL:EXT:core/Resources/Private/Language/db.xlf:sys_language.language_isocode.tn', 'tn'),
-                                       array('LLL:EXT:core/Resources/Private/Language/db.xlf:sys_language.language_isocode.to', 'to'),
-                                       array('LLL:EXT:core/Resources/Private/Language/db.xlf:sys_language.language_isocode.tr', 'tr'),
-                                       array('LLL:EXT:core/Resources/Private/Language/db.xlf:sys_language.language_isocode.ts', 'ts'),
-                                       array('LLL:EXT:core/Resources/Private/Language/db.xlf:sys_language.language_isocode.tt', 'tt'),
-                                       array('LLL:EXT:core/Resources/Private/Language/db.xlf:sys_language.language_isocode.tw', 'tw'),
-                                       array('LLL:EXT:core/Resources/Private/Language/db.xlf:sys_language.language_isocode.ty', 'ty'),
-                                       array('LLL:EXT:core/Resources/Private/Language/db.xlf:sys_language.language_isocode.ug', 'ug'),
-                                       array('LLL:EXT:core/Resources/Private/Language/db.xlf:sys_language.language_isocode.uk', 'uk'),
-                                       array('LLL:EXT:core/Resources/Private/Language/db.xlf:sys_language.language_isocode.ur', 'ur'),
-                                       array('LLL:EXT:core/Resources/Private/Language/db.xlf:sys_language.language_isocode.uz', 'uz'),
-                                       array('LLL:EXT:core/Resources/Private/Language/db.xlf:sys_language.language_isocode.ve', 've'),
-                                       array('LLL:EXT:core/Resources/Private/Language/db.xlf:sys_language.language_isocode.vi', 'vi'),
-                                       array('LLL:EXT:core/Resources/Private/Language/db.xlf:sys_language.language_isocode.vo', 'vo'),
-                                       array('LLL:EXT:core/Resources/Private/Language/db.xlf:sys_language.language_isocode.wa', 'wa'),
-                                       array('LLL:EXT:core/Resources/Private/Language/db.xlf:sys_language.language_isocode.cy', 'cy'),
-                                       array('LLL:EXT:core/Resources/Private/Language/db.xlf:sys_language.language_isocode.wo', 'wo'),
-                                       array('LLL:EXT:core/Resources/Private/Language/db.xlf:sys_language.language_isocode.fy', 'fy'),
-                                       array('LLL:EXT:core/Resources/Private/Language/db.xlf:sys_language.language_isocode.xh', 'xh'),
-                                       array('LLL:EXT:core/Resources/Private/Language/db.xlf:sys_language.language_isocode.yi', 'yi'),
-                                       array('LLL:EXT:core/Resources/Private/Language/db.xlf:sys_language.language_isocode.yo', 'yo'),
-                                       array('LLL:EXT:core/Resources/Private/Language/db.xlf:sys_language.language_isocode.za', 'za'),
-                                       array('LLL:EXT:core/Resources/Private/Language/db.xlf:sys_language.language_isocode.zu', 'zu')
-                               )
+                               'items' => array(),
+                               'itemsProcFunc' => \TYPO3\CMS\Core\Service\IsoCodeService::class . '->renderIsoCodeSelectDropdown',
                        )
                ),
                'static_lang_isocode' => array(