Index: t3lib/class.t3lib_recordlist.php =================================================================== --- t3lib/class.t3lib_recordlist.php (Revision 9241) +++ t3lib/class.t3lib_recordlist.php (Arbeitskopie) @@ -374,7 +374,7 @@ * @return string Language icon */ function languageFlag($sys_language_uid) { - return ($this->languageIconTitles[$sys_language_uid]['flagIcon'] ? ' ' : ''). + return ($this->languageIconTitles[$sys_language_uid]['flagIcon'] ? t3lib_iconWorks::getSpriteIcon($this->languageIconTitles[$sys_language_uid]['flagIcon']) . ' ' : '') . htmlspecialchars($this->languageIconTitles[$sys_language_uid]['title']); } Index: t3lib/class.t3lib_transl8tools.php =================================================================== --- t3lib/class.t3lib_transl8tools.php (Revision 9241) +++ t3lib/class.t3lib_transl8tools.php (Arbeitskopie) @@ -75,20 +75,19 @@ function getSystemLanguages($page_id=0,$backPath='') { global $TCA,$LANG; - // Icons and language titles: - t3lib_div::loadTCA('sys_language'); - $flagAbsPath = t3lib_div::getFileAbsFileName($TCA['sys_language']['columns']['flag']['config']['fileFolder']); - $flagIconPath = $backPath.'../'.substr($flagAbsPath, strlen(PATH_site)); - $modSharedTSconfig = t3lib_BEfunc::getModTSconfig($page_id, 'mod.SHARED'); $languageIconTitles = array(); - // Set default: + // falback "old iconstyles" + if (($pos = strrpos($modSharedTSconfig['properties']['defaultLanguageFlag'], '.')) !== FALSE) { + $modSharedTSconfig['properties']['defaultLanguageFlag'] = substr($modSharedTSconfig['properties']['defaultLanguageFlag'], 0, - $pos); + } + $languageIconTitles[0] = array( 'uid' => 0, - 'title' => strlen ($modSharedTSconfig['properties']['defaultLanguageLabel']) ? $modSharedTSconfig['properties']['defaultLanguageLabel'].' ('.$LANG->getLL('defaultLanguage').')' : $LANG->getLL('defaultLanguage'), + 'title' => strlen ($modSharedTSconfig['properties']['defaultLanguageLabel']) ? $modSharedTSconfig['properties']['defaultLanguageLabel'].' ('.$LANG->sL('LLL:EXT:lang/locallang_general.xml:defaultLanguage').')' : $LANG->sL('LLL:EXT:lang/locallang_general.xml:defaultLanguage'), 'ISOcode' => 'DEF', - 'flagIcon' => strlen($modSharedTSconfig['properties']['defaultLanguageFlag']) && @is_file($flagAbsPath.$modSharedTSconfig['properties']['defaultLanguageFlag']) ? $flagIconPath.$modSharedTSconfig['properties']['defaultLanguageFlag'] : null, + 'flagIcon' => strlen($modSharedTSconfig['properties']['defaultLanguageFlag']) ? $modSharedTSconfig['properties']['defaultLanguageFlag'] : 'empty-empty', ); // Set "All" language: @@ -96,7 +95,7 @@ 'uid' => -1, 'title' => $LANG->getLL('multipleLanguages'), 'ISOcode' => 'DEF', - 'flagIcon' => $flagIconPath.'multi-language.gif', + 'flagIcon' => 'flags-multiple', ); // Find all system languages: @@ -115,7 +114,7 @@ } } if (strlen ($row['flag'])) { - $languageIconTitles[$row['uid']]['flagIcon'] = @is_file($flagAbsPath.$row['flag']) ? $flagIconPath.$row['flag'] : ''; + $languageIconTitles[$row['uid']]['flagIcon'] = t3lib_iconWorks::mapRecordTypeToSpriteIconName('sys_language', $row); } } Index: t3lib/class.t3lib_befunc.php =================================================================== --- t3lib/class.t3lib_befunc.php (Revision 9241) +++ t3lib/class.t3lib_befunc.php (Arbeitskopie) @@ -860,21 +860,17 @@ * @return array Array with languages */ public static function getSystemLanguages() { - - // Initialize, add default language: + $languages = t3lib_div::makeInstance('t3lib_transl8tools')->getSystemLanguages(); $sysLanguages = array(); - $sysLanguages[] = array('Default language', 0); - - // Traverse languages - $res = $GLOBALS['TYPO3_DB']->exec_SELECTquery('uid,title,flag', 'sys_language', 'pid=0' . self::deleteClause('sys_language')); - while($row = $GLOBALS['TYPO3_DB']->sql_fetch_assoc($res)) { - $sysLanguages[] = array( - htmlspecialchars($row['title']) . ' [' . $row['uid'] . ']', - $row['uid'], - ($row['flag'] ? 'flags/' . $row['flag'] : '') - ); + foreach ($languages as $language) { + if($language['uid'] !== -1) { + $sysLanguages[] = array( + 0 => $language['title'], + 1 => $language['uid'], + 2 => $language['flagIcon'] + ); + } } - $GLOBALS['TYPO3_DB']->sql_free_result($res); return $sysLanguages; } Index: typo3/alt_doc.php =================================================================== --- typo3/alt_doc.php (Revision 9241) +++ typo3/alt_doc.php (Arbeitskopie) @@ -1209,6 +1209,11 @@ global $LANG; $modSharedTSconfig = t3lib_BEfunc::getModTSconfig($id, 'mod.SHARED'); + + // fallback non sprite-configuration + if (($pos = strrpos($modSharedTSconfig['properties']['defaultLanguageFlag'], '.')) !== FALSE) { + $modSharedTSconfig['properties']['defaultLanguageFlag'] = substr($modSharedTSconfig['properties']['defaultLanguageFlag'], 0, - $pos); + } $languages = array( 0 => array( Index: typo3/sysext/lang/locallang_general.xml =================================================================== --- typo3/sysext/lang/locallang_general.xml (Revision 9241) +++ typo3/sysext/lang/locallang_general.xml (Arbeitskopie) @@ -10,6 +10,7 @@ +