/**
  * Translate selector items array
  *
  * @param array $items: array of value/label pairs
  * @param string $tableName: name of static info tables
  * @return array array of value/translated label pairs
  */
 protected function translateSelectorItems($items, $tableName)
 {
     $translatedItems = $items;
     if (isset($translatedItems) && is_array($translatedItems)) {
         foreach ($translatedItems as $key => $item) {
             if ($translatedItems[$key][1]) {
                 //Get isocode if present
                 $code = strstr($item[0], '(');
                 $code2 = strstr(substr($code, 1), '(');
                 $code = $code2 ? $code2 : $code;
                 // Translate
                 $translatedItems[$key][0] = LocalizationUtility::translate(array('uid' => $item[1]), $tableName);
                 // Re-append isocode, if present
                 $translatedItems[$key][0] = $translatedItems[$key][0] . ($code ? ' ' . $code : '');
             }
         }
         $currentLocale = setlocale(LC_COLLATE, '0');
         $locale = LocalizationUtility::setCollatingLocale();
         if ($locale !== FALSE) {
             uasort($translatedItems, array($this, 'strcollOnLabels'));
         }
         setlocale(LC_COLLATE, $currentLocale);
     }
     $items = $translatedItems;
     return $items;
 }
 /**
  * Sort entities by the localized name
  *
  * @param \TYPO3\CMS\Extbase\Persistence\QueryResultInterface $entities to be sorted
  * @param string $orderDirection may be "asc" or "desc". Default is "asc".
  * @return array entities ordered by localized name
  */
 public function localizedSort(\TYPO3\CMS\Extbase\Persistence\QueryResultInterface $entities, $orderDirection = 'asc')
 {
     $result = $entities->toArray();
     $locale = \SJBR\StaticInfoTables\Utility\LocalizationUtility::setCollatingLocale();
     if ($locale !== FALSE) {
         if ($orderDirection === 'asc') {
             uasort($result, array($this, 'strcollOnLocalizedName'));
         } else {
             uasort($result, array($this, 'strcollOnLocalizedNameDesc'));
         }
     }
     return $result;
 }