Index: t3lib/class.t3lib_transl8tools.php =================================================================== --- t3lib/class.t3lib_transl8tools.php (révision 10066) +++ t3lib/class.t3lib_transl8tools.php (copie de travail) @@ -91,7 +91,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' => 'flags-multiple', ); Index: typo3/class.browse_links.php =================================================================== --- typo3/class.browse_links.php (révision 10066) +++ typo3/class.browse_links.php (copie de travail) @@ -1858,21 +1858,33 @@ // 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); + 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) ? t3lib_iconWorks::getSpriteIcon($this->languageIconTitles[$row['sys_language_uid']]['flagIcon']) : ''; + $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 { @@ -1881,8 +1893,8 @@ // Putting list element HTML together: $out.=''. $arrCol. - ''. - $icon. + '' . + $icon . $flag . t3lib_BEfunc::getRecordTitle('tt_content', $row, TRUE) . '
'; Index: typo3/sysext/t3skin/stylesheets/structure/element_rte.css =================================================================== --- typo3/sysext/t3skin/stylesheets/structure/element_rte.css (révision 10066) +++ 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,