Index: t3lib/class.t3lib_transl8tools.php =================================================================== --- t3lib/class.t3lib_transl8tools.php (révision 10013) +++ t3lib/class.t3lib_transl8tools.php (copie de travail) @@ -86,7 +86,7 @@ // Set default: $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'].' (' . $GLOBALS['LANG']->sl('LLL:EXT:lang/locallang_mod_web_list.xml:defaultLanguage') . ')' : $GLOBALS['LANG']->sl('LLL:EXT:lang/locallang_mod_web_list.xml:defaultLanguage'), 'ISOcode' => 'DEF', 'flagIcon' => strlen($modSharedTSconfig['properties']['defaultLanguageFlag']) && @is_file($flagAbsPath.$modSharedTSconfig['properties']['defaultLanguageFlag']) ? $flagIconPath.$modSharedTSconfig['properties']['defaultLanguageFlag'] : null, ); @@ -94,7 +94,7 @@ // Set "All" language: $languageIconTitles[-1]=array( 'uid' => -1, - 'title' => $LANG->getLL('multipleLanguages'), + 'title' => $GLOBALS['LANG']->sl('LLL:EXT:lang/locallang_mod_web_list.xml:multipleLanguages'), 'ISOcode' => 'DEF', 'flagIcon' => $flagIconPath.'multi-language.gif', ); Index: typo3/class.browse_links.php =================================================================== --- typo3/class.browse_links.php (révision 10013) +++ typo3/class.browse_links.php (copie de travail) @@ -1831,21 +1831,32 @@ // Look up tt_content elements from the expanded page: $res = $GLOBALS['TYPO3_DB']->exec_SELECTquery( - 'uid,header,hidden,starttime,endtime,fe_group,CType,colpos,bodytext', - 'tt_content', - 'pid='.intval($expPageId). - t3lib_BEfunc::deleteClause('tt_content'). - t3lib_BEfunc::versioningPlaceholderClause('tt_content'), - '', - 'colpos,sorting' - ); + 'uid,header,hidden,starttime,endtime,fe_group,CType,colpos,bodytext,sys_language_uid,l18n_parent', + 'tt_content', + 'pid='.intval($expPageId). + t3lib_BEfunc::deleteClause('tt_content'). + t3lib_BEfunc::versioningPlaceholderClause('tt_content'), + '', + $GLOBALS['TCA']['tt_content']['ctrl']['sortby'] ? $GLOBALS['TCA']['tt_content']['ctrl']['sortby'] : $GLOBALS['TCA']['tt_content']['ctrl']['default_sortby'] + ); $cc = $GLOBALS['TYPO3_DB']->sql_num_rows($res); - + // Get language icons and titles + if (!isset($this->languageIconTitles)){ + if (!isset($this->translationTools)) { + $this->translationTools = t3lib_div::makeInstance('t3lib_transl8tools'); + } + $this->languageIconTitles = $this->translationTools->getSystemLanguages($expPageId); + } // Traverse list of records: $c=0; while($row = $GLOBALS['TYPO3_DB']->sql_fetch_assoc($res)) { $c++; $icon = t3lib_iconWorks::getSpriteIconForRecord('tt_content', $row); + $flag = ($row['sys_language_uid'] != 0) ? ' ' : ''; + $localizationMarkerClass = ($row['l18n_parent'] != 0) ? 'localization' : ''; + $titleText = t3lib_BEfunc::getRecordIconAltText($row, 'tt_content') . ', ' . + $GLOBALS['LANG']->sL('LLL:EXT:lang/locallang_general.xml:LGL.language') . ' ' . + $this->languageIconTitles[$row['sys_language_uid']]['title']; if ($this->curUrlInfo['act']=='page' && $this->curUrlInfo['cElement']==$row['uid']) { $arrCol=''; } else { @@ -1854,8 +1865,8 @@ // Putting list element HTML together: $out.=''. $arrCol. - ''. - $icon. + '' . + $icon . $flag . htmlspecialchars(t3lib_div::fixed_lgd_cs($row['header'],$titleLen)). '
'; Index: typo3/sysext/t3skin/stylesheets/structure/element_rte.css =================================================================== --- typo3/sysext/t3skin/stylesheets/structure/element_rte.css (révision 10013) +++ typo3/sysext/t3skin/stylesheets/structure/element_rte.css (copie de travail) @@ -41,6 +41,10 @@ padding: 0 0 0 5px; } +table#typo3-linkPages a.localization { + padding: 0 0 0 12px; +} + table#typo3-linkPages, table#typo3-linkFiles, table#typo3-EBrecords,