Fixed bug #14716: Version module don't display Title
[Packages/TYPO3.CMS.git] / typo3 / sysext / version / cm1 / index.php
index 0e25bfa..b3fefaf 100755 (executable)
@@ -2,7 +2,7 @@
 /***************************************************************
 *  Copyright notice
 *
-*  (c) 2004-2008 Kasper Skaarhoj (kasperYYYY@typo3.com)
+*  (c) 2004-2010 Kasper Skaarhoj (kasperYYYY@typo3.com)
 *  All rights reserved
 *
 *  This script is part of the TYPO3 project. The TYPO3 project is
@@ -82,14 +82,9 @@ require ('conf.php');
 require ($BACK_PATH.'init.php');
 require ($BACK_PATH.'template.php');
 $LANG->includeLLFile('EXT:version/locallang.xml');
-require_once (PATH_t3lib.'class.t3lib_scbase.php');
-require_once (PATH_t3lib.'class.t3lib_parsehtml.php');
        // DEFAULT initialization of a module [END]
 
-require_once(PATH_t3lib.'class.t3lib_diff.php');
 require_once(PATH_typo3.'mod/user/ws/class.wslib.php');
-require_once(PATH_t3lib.'class.t3lib_pagetree.php');
-require_once(PATH_t3lib.'class.t3lib_tcemain.php');
 
 
 
@@ -126,6 +121,7 @@ class tx_version_cm1 extends t3lib_SCbase {
        var $be_user_Array = array();
        var $stageIndex = array();
        var $recIndex = array();
+       protected $showDraftWorkspace = FALSE; // Determines whether to show the dummy draft workspace
 
 
 
@@ -145,21 +141,31 @@ class tx_version_cm1 extends t3lib_SCbase {
         */
        function menuConfig()   {
 
+                       // fetches the configuration of the version extension
+               $versionExtconf = unserialize($GLOBALS['TYPO3_CONF_VARS']['EXT']['extConf']['version']);
+                       // show draft workspace only if enabled in the version extensions config
+               if($versionExtconf['showDraftWorkspace']) {
+                       $this->showDraftWorkspace = TRUE;
+               }
+
                        // Menu items:
                $this->MOD_MENU = array(
                        'filter' => array(
-                               1 => 'Drafts',
-                               2 => 'Archive',
-                               0 => 'All',
+                               1 => $GLOBALS['LANG']->getLL('filter_drafts'),
+                               2 => $GLOBALS['LANG']->getLL('filter_archive'),
+                               0 => $GLOBALS['LANG']->getLL('filter_all'),
                        ),
                        'display' => array(
-                               0 => '[Live workspace]',
-                               -98 => 'Draft Workspaces',
-                               -99 => 'All',
-                               -1 => '[Default Draft]'
+                               0 => $GLOBALS['LANG']->getLL('liveWorkspace'),
+                               -98 => $GLOBALS['LANG']->getLL('draftWorkspaces'),
+                               -99 => $GLOBALS['LANG']->getLL('filter_all'),
                        ),
                        'diff' => ''
                );
+               
+               if($this->showDraftWorkspace === TRUE) {
+                       $this->MOD_MENU['display'][-1] = $GLOBALS['LANG']->getLL('defaultDraft');
+               }
 
                        // Add workspaces:
                if ($GLOBALS['BE_USER']->workspace===0) {       // Spend time on this only in online workspace because it might take time:
@@ -182,7 +188,7 @@ class tx_version_cm1 extends t3lib_SCbase {
         */
        function main() {
                global $BE_USER,$LANG,$BACK_PATH,$TCA_DESCR,$TCA,$CLIENT,$TYPO3_CONF_VARS;
-
+               
                        // Template markers
                $markers = array(
                        'CSH' => '',
@@ -200,7 +206,6 @@ class tx_version_cm1 extends t3lib_SCbase {
                $this->doc = t3lib_div::makeInstance('template');
                $this->doc->backPath = $BACK_PATH;
                $this->doc->setModuleTemplate('templates/version.html');
-               $this->doc->docType = 'xhtml_trans';
 
                // Add styles
                $this->doc->inDocStylesArray[$GLOBALS['MCONF']['name']] = '
@@ -327,7 +332,7 @@ class tx_version_cm1 extends t3lib_SCbase {
         *
         * @return      array   all available buttons as an assoc. array
         */
-       private function getButtons()   {
+       protected function getButtons() {
                global $TCA, $LANG, $BACK_PATH, $BE_USER;
 
                $buttons = array(
@@ -341,8 +346,8 @@ class tx_version_cm1 extends t3lib_SCbase {
 
                if ($this->recordFound && $TCA[$this->table]['ctrl']['versioningWS']) {
                                // View page
-                       $buttons['view'] = '<a href="#" onclick="' . htmlspecialchars(t3lib_BEfunc::viewOnClick($this->pageinfo['uid'], $BACK_PATH, t3lib_BEfunc::BEgetRootLine($this->pageinfo['uid']))) . '">' .
-                                       '<img' . t3lib_iconWorks::skinImg($BACK_PATH, 'gfx/zoom.gif') . ' title="' . $GLOBALS['LANG']->sL('LLL:EXT:lang/locallang_core.php:labels.showPage', 1) . '" hspace="3" alt="" />' .
+                       $buttons['view'] = '<a href="#" onclick="' . htmlspecialchars(t3lib_BEfunc::viewOnClick($this->pageinfo['uid'], $BACK_PATH, t3lib_BEfunc::BEgetRootLine($this->pageinfo['uid']))) . '" title="' . $GLOBALS['LANG']->sL('LLL:EXT:lang/locallang_core.php:labels.showPage', TRUE) . '">' .
+                                               t3lib_iconWorks::getSpriteIcon('actions-document-view') .
                                        '</a>';
 
                                // Shortcut
@@ -353,8 +358,8 @@ class tx_version_cm1 extends t3lib_SCbase {
                                // If access to Web>List for user, then link to that module.
                        if ($BE_USER->check('modules','web_list'))      {
                                $href = $BACK_PATH . 'db_list.php?id=' . $this->pageinfo['uid'] . '&returnUrl=' . rawurlencode(t3lib_div::getIndpEnv('REQUEST_URI'));
-                               $buttons['record_list'] = '<a href="' . htmlspecialchars($href) . '">' .
-                                               '<img' . t3lib_iconWorks::skinImg($BACK_PATH, 'gfx/list.gif') . ' title="' . $GLOBALS['LANG']->sL('LLL:EXT:lang/locallang_core.php:labels.showList', 1) . '" alt="" />' .
+                               $buttons['record_list'] = '<a href="' . htmlspecialchars($href) . '" title="' . $GLOBALS['LANG']->sL('LLL:EXT:lang/locallang_core.php:labels.showList', TRUE) . '">' .
+                                                       t3lib_iconWorks::getSpriteIcon('actions-system-list-open') .
                                                '</a>';
                        }
                }
@@ -387,7 +392,7 @@ class tx_version_cm1 extends t3lib_SCbase {
                $diff_2 = t3lib_div::_POST('diff_2');
                if (t3lib_div::_POST('do_diff'))        {
                        $content='';
-                       $content.='<h3>DIFFING:</h3>';
+                       $content.='<h3>' . $GLOBALS['LANG']->getLL('diffing') . ':</h3>';
                        if ($diff_1 && $diff_2) {
                                $diff_1_record = t3lib_BEfunc::getRecord($this->table, $diff_1);
                                $diff_2_record = t3lib_BEfunc::getRecord($this->table, $diff_2);
@@ -399,8 +404,8 @@ class tx_version_cm1 extends t3lib_SCbase {
                                        $tRows=array();
                                                                $tRows[] = '
                                                                        <tr class="bgColor5 tableheader">
-                                                                               <td>Fieldname:</td>
-                                                                               <td width="98%">Colored diff-view:</td>
+                                                                               <td>' . $GLOBALS['LANG']->getLL('fieldname') . '</td>
+                                                                               <td width="98%">' . $GLOBALS['LANG']->getLL('coloredDiffView') . ':</td>
                                                                        </tr>
                                                                ';
                                        foreach($diff_1_record as $fN => $fV)   {
@@ -423,13 +428,13 @@ class tx_version_cm1 extends t3lib_SCbase {
                                        }
 
                                        if (count($tRows)>1)    {
-                                               $content.='<table border="0" cellpadding="1" cellspacing="1" width="100%">'.implode('',$tRows).'</table><br/><br/>';
+                                               $content .= '<table border="0" cellpadding="1" cellspacing="1" width="100%">' . implode('', $tRows) . '</table><br /><br />';
                                        } else {
-                                               $content.='Records matches completely on all editable fields!';
+                                               $content .= $GLOBALS['LANG']->getLL('recordsMatchesCompletely');
                                        }
-                               } else $content.='ERROR: Records could strangely not be found!';
+                               } else $content .= $GLOBALS['LANG']->getLL('errorRecordsNotFound');
                        } else {
-                               $content.='ERROR: You didn\'t select two sources for diffing!';
+                               $content .= $GLOBALS['LANG']->getLL('errorDiffSources');
                        }
                }
 
@@ -447,17 +452,17 @@ class tx_version_cm1 extends t3lib_SCbase {
                                <tr class="bgColor5 tableheader">
                                        <td>&nbsp;</td>
                                        <td>&nbsp;</td>
-                                       <td>Title</td>
-                                       <td>UID</td>
-                                       <td title="t3ver_oid - Reference to live version UID">oid</td>
-                                       <td title="t3ver_id - Version number, incremental integer">id</td>
-                                       <td title="t3ver_wsid - Workspace ID. There can be only one version of an element per ID (except ID zero).">wsid</td>
-                                       <td title="t3ver_state - Special states of a version: 1=Placeholder for &quot;New&quot;. 2=Marked deleted.">state</td>
-                                       <td title="t3ver_stage - Publishing stage: Editing (0), review (1), publish (10), rejected (-1).">stage</td>
-                                       <td title="t3ver_count - Life cycle counter. Incremented each time element is unpublished.">count</td>
-                                       <td>pid</td>
-                                       <td>t3ver_label</td>
-                                       <td colspan="2"><input type="submit" name="do_diff" value="Diff" /></td>
+                                       <td title="' . $GLOBALS['LANG']->getLL('tblHeaderDesc_title') . '">' . $GLOBALS['LANG']->getLL('tblHeader_title') . '</td>
+                                       <td title="' . $GLOBALS['LANG']->getLL('tblHeaderDesc_uid') . '">' . $GLOBALS['LANG']->getLL('tblHeader_uid') . '</td>
+                                       <td title="' . $GLOBALS['LANG']->getLL('tblHeaderDesc_t3ver_oid') . '">' . $GLOBALS['LANG']->getLL('tblHeader_t3ver_oid') . '</td>
+                                       <td title="' . $GLOBALS['LANG']->getLL('tblHeaderDesc_t3ver_id') . '">' . $GLOBALS['LANG']->getLL('tblHeader_t3ver_id') . '</td>
+                                       <td title="' . $GLOBALS['LANG']->getLL('tblHeaderDesc_t3ver_wsid') . '">' . $GLOBALS['LANG']->getLL('tblHeader_t3ver_wsid') . '</td>
+                                       <td title="' . $GLOBALS['LANG']->getLL('tblHeaderDesc_t3ver_state') . '">' . $GLOBALS['LANG']->getLL('tblHeader_t3ver_state') . '</td>
+                                       <td title="' . $GLOBALS['LANG']->getLL('tblHeaderDesc_t3ver_stage') . '">' . $GLOBALS['LANG']->getLL('tblHeader_t3ver_stage') . '</td>
+                                       <td title="' . $GLOBALS['LANG']->getLL('tblHeaderDesc_t3ver_count') . '">' . $GLOBALS['LANG']->getLL('tblHeader_t3ver_count') . '</td>
+                                       <td title="' . $GLOBALS['LANG']->getLL('tblHeaderDesc_pid') . '">' . $GLOBALS['LANG']->getLL('tblHeader_pid') . '</td>
+                                       <td title="' . $GLOBALS['LANG']->getLL('tblHeaderDesc_t3ver_label') . '">' . $GLOBALS['LANG']->getLL('tblHeader_t3ver_label') . '</td>
+                                       <td colspan="2"><input type="submit" name="do_diff" value="' . $GLOBALS['LANG']->getLL('diff') . '" /></td>
                                </tr>';
 
                $versions = t3lib_BEfunc::selectVersionsOfRecord($this->table, $this->uid, '*', $GLOBALS['BE_USER']->workspace);
@@ -465,9 +470,9 @@ class tx_version_cm1 extends t3lib_SCbase {
                        $adminLinks = $this->adminLinks($this->table,$row);
 
                        $content.='
-                               <tr class="'.($row['uid']!=$this->uid ? 'bgColor4' : 'bgColor2 tableheader').'">
-                                       <td>'.($row['uid']!=$this->uid ? '<a href="'.$this->doc->issueCommand('&cmd['.$this->table.']['.$this->uid.'][version][swapWith]='.$row['uid'].'&cmd['.$this->table.']['.$this->uid.'][version][action]=swap').'">'.
-                                               '<img'.t3lib_iconWorks::skinImg($this->doc->backPath,'gfx/insert1.gif','width="14" height="14"').' alt="" title="SWAP with current" />'.
+                               <tr class="' . ($row['uid'] != $this->uid ? 'bgColor4' : 'bgColor2 tableheader') . '">
+                                       <td>'.($row['uid']!=$this->uid ? '<a href="'.$this->doc->issueCommand('&cmd['.$this->table.']['.$this->uid.'][version][swapWith]='.$row['uid'].'&cmd['.$this->table.']['.$this->uid.'][version][action]=swap').'" title="' . $GLOBALS['LANG']->getLL('swapWithCurrent', TRUE) . '">'.
+                                               t3lib_iconWorks::getSpriteIcon('actions-version-swap-version') .
                                                '</a>' /* (
                                                        $this->table == 'pages' ?
                                                        '<a href="'.$this->doc->issueCommand('&cmd['.$this->table.']['.$this->uid.'][version][action]=swap&cmd['.$this->table.']['.$this->uid.'][version][swapWith]='.$row['uid'].'&cmd['.$this->table.']['.$this->uid.'][version][swapContent]=1').'">'.
@@ -475,7 +480,7 @@ class tx_version_cm1 extends t3lib_SCbase {
                                                '</a>'.
                                                        '<a href="'.$this->doc->issueCommand('&cmd['.$this->table.']['.$this->uid.'][version][action]=swap&cmd['.$this->table.']['.$this->uid.'][version][swapWith]='.$row['uid'].'&cmd['.$this->table.']['.$this->uid.'][version][swapContent]=ALL').'">'.
                                                '<img'.t3lib_iconWorks::skinImg($this->doc->backPath,'gfx/insert4.gif','width="14" height="14"').' alt="" title="Publish page AND content! - AND ALL SUBPAGES!" />'.
-                                               '</a>' : '') */ : '<img'.t3lib_iconWorks::skinImg($this->doc->backPath,'gfx/blinkarrow_left.gif','width="5" height="9"').' alt="" title="CURRENT ONLINE VERSION!"/>').'</td>
+                                               '</a>' : '') */ : t3lib_iconWorks::getSpriteIcon('status-status-current', array('title' =>  $GLOBALS['LANG']->getLL('currentOnlineVersion', TRUE)))) . '</td>
                                        <td nowrap="nowrap">'.$adminLinks.'</td>
                                        <td nowrap="nowrap">'.t3lib_BEfunc::getRecordTitle($this->table,$row,TRUE).'</td>
                                        <td>'.$row['uid'].'</td>
@@ -486,7 +491,9 @@ class tx_version_cm1 extends t3lib_SCbase {
                                        <td>'.$row['t3ver_stage'].'</td>
                                        <td>'.$row['t3ver_count'].'</td>
                                        <td>'.$row['pid'].'</td>
-                                       <td nowrap="nowrap"><a href="#" onclick="'.htmlspecialchars(t3lib_BEfunc::editOnClick('&edit['.$this->table.']['.$row['uid'].']=edit&columnsOnly=t3ver_label',$this->doc->backPath)).'"><img'.t3lib_iconWorks::skinImg($this->doc->backPath,'gfx/edit2.gif','width="11" height="12"').' alt="" title="Edit"/></a>'.htmlspecialchars($row['t3ver_label']).'</td>
+                                       <td nowrap="nowrap"><a href="#" onclick="'.htmlspecialchars(t3lib_BEfunc::editOnClick('&edit['.$this->table.']['.$row['uid'].']=edit&columnsOnly=t3ver_label',$this->doc->backPath)).'" title="' . $GLOBALS['LANG']->sL('LLL:EXT:lang/locallang_core.xml:cm.edit', TRUE) . '">' .
+                                                       t3lib_iconWorks::getSpriteIcon('actions-document-open') .
+                                               '</a>' . htmlspecialchars($row['t3ver_label']) . '</td>
                                        <td class="version-diff-1"><input type="radio" name="diff_1" value="'.$row['uid'].'"'.($diff_1==$row['uid'] ? ' checked="checked"':'').'/></td>
                                        <td class="version-diff-2"><input type="radio" name="diff_2" value="'.$row['uid'].'"'.($diff_2==$row['uid'] ? ' checked="checked"':'').'/></td>
                                </tr>';
@@ -508,30 +515,30 @@ class tx_version_cm1 extends t3lib_SCbase {
                }
                $content.='</table></form>';
 
-               $this->content.=$this->doc->section('',$content,0,1);
+               $this->content .= $this->doc->section($GLOBALS['LANG']->getLL('title'), $content, 0, 1);
 
 
                        // Create new:
                $content='
 
                        <form action="'.$this->doc->backPath.'tce_db.php" method="post">
-                       Label: <input type="text" name="cmd['.$this->table.']['.$this->uid.'][version][label]" /><br/>
-                       '.($this->table == 'pages' ? '<select name="cmd['.$this->table.']['.$this->uid.'][version][treeLevels]">
-                               '.($GLOBALS['BE_USER']->workspaceVersioningTypeAccess(0) ? '<option value="0">Page: Page + content</option>' : '').'
-                               '.($GLOBALS['BE_USER']->workspaceVersioningTypeAccess(1) ? '<option value="100">Branch: All subpages</option>' : '').'
-                               '.($GLOBALS['BE_USER']->workspaceVersioningTypeAccess(-1) ? '<option value="-1">Element: Just record</option>' : '').'
+                       ' . $GLOBALS['LANG']->getLL('tblHeader_t3ver_label') . ': <input type="text" name="cmd[' . $this->table . '][' . $this->uid . '][version][label]" /><br />
+                       '.(($this->table == 'pages' && $GLOBALS['TYPO3_CONF_VARS']['BE']['elementVersioningOnly'] == FALSE)? '<select name="cmd['.$this->table.']['.$this->uid.'][version][treeLevels]">
+                               '.($GLOBALS['BE_USER']->workspaceVersioningTypeAccess(0) ? '<option value="0">' . $GLOBALS['LANG']->getLL('cmdPid0') . '</option>' : '').'
+                               '.($GLOBALS['BE_USER']->workspaceVersioningTypeAccess(1) ? '<option value="100">' . $GLOBALS['LANG']->getLL('cmdPid100') . '</option>' : '').'
+                               '.($GLOBALS['BE_USER']->workspaceVersioningTypeAccess(-1) ? '<option value="-1">' . $GLOBALS['LANG']->getLL('cmdPid1') . '</option>' : '').'
                        </select>' : '').'
-                       <br/><input type="hidden" name="cmd['.$this->table.']['.$this->uid.'][version][action]" value="new" />
+                       <br /><input type="hidden" name="cmd[' . $this->table . '][' . $this->uid . '][version][action]" value="new" />
                        <input type="hidden" name="prErr" value="1" />
                        <input type="hidden" name="redirect" value="'.htmlspecialchars($this->REQUEST_URI).'" />
-                       <input type="submit" name="_" value="Create new version" />
+                       <input type="submit" name="_" value="' . $GLOBALS['LANG']->getLL('createNewVersion') . '" />
 
                        </form>
 
                ';
 
                $this->content.=$this->doc->spacer(15);
-               $this->content.=$this->doc->section('Create new version',$content,0,1);
+               $this->content.=$this->doc->section($GLOBALS['LANG']->getLL('createNewVersion'), $content,0,1);
 
        }
 
@@ -617,13 +624,13 @@ class tx_version_cm1 extends t3lib_SCbase {
                global $BE_USER;
 
                        // Edit link:
-               $adminLink = '<a href="#" onclick="'.htmlspecialchars(t3lib_BEfunc::editOnClick('&edit['.$table.']['.$row['uid'].']=edit',$this->doc->backPath)).'">'.
-                                               '<img'.t3lib_iconWorks::skinImg($this->doc->backPath,'gfx/edit2.gif','width="11" height="12"').' alt="" title="Edit"/>'.
+               $adminLink = '<a href="#" onclick="'.htmlspecialchars(t3lib_BEfunc::editOnClick('&edit['.$table.']['.$row['uid'].']=edit',$this->doc->backPath)).'" title="' . $GLOBALS['LANG']->sL('LLL:EXT:lang/locallang_core.xml:cm.edit', TRUE) . '">'.
+                                                       t3lib_iconWorks::getSpriteIcon('actions-document-open') .
                                                '</a>';
 
                        // Delete link:
-               $adminLink.= '<a href="'.htmlspecialchars($this->doc->issueCommand('&cmd['.$table.']['.$row['uid'].'][delete]=1')).'">'.
-                                               '<img'.t3lib_iconWorks::skinImg($this->doc->backPath,'gfx/garbage.gif','width="11" height="12"').' alt="" title="Delete"/>'.
+               $adminLink.= '<a href="'.htmlspecialchars($this->doc->issueCommand('&cmd['.$table.']['.$row['uid'].'][delete]=1')).'" title="' . $GLOBALS['LANG']->sL('LLL:EXT:lang/locallang_core.php:cm.delete', TRUE) . '">' .
+                                                       t3lib_iconWorks::getSpriteIcon('actions-edit-delete') .
                                                '</a>';
 
 
@@ -639,15 +646,15 @@ class tx_version_cm1 extends t3lib_SCbase {
                        $a_wp = t3lib_extMgm::isLoaded('cms') && $BE_USER->check('modules',$pageModule);
 
                        $adminLink.='<a href="#" onclick="top.loadEditId('.$row['uid'].');top.goToModule(\''.$pageModule.'\'); return false;">'.
-                                               '<img'.t3lib_iconWorks::skinImg($this->doc->backPath,t3lib_extMgm::extRelPath('cms').'layout/layout.gif','width="14" height="12"').' title="" alt="" />'.
+                                                       t3lib_iconWorks::getSpriteIcon('actions-page-open') .
                                                '</a>';
                        $adminLink.='<a href="#" onclick="top.loadEditId('.$row['uid'].');top.goToModule(\'web_list\'); return false;">'.
-                                               '<img'.t3lib_iconWorks::skinImg($this->doc->backPath,'mod/web/list/list.gif','width="14" height="12"').' title="" alt="" />'.
+                                                       t3lib_iconWorks::getSpriteIcon('actions-system-list-open') .
                                                '</a>';
 
                                // "View page" icon is added:
                        $adminLink.='<a href="#" onclick="'.htmlspecialchars(t3lib_BEfunc::viewOnClick($row['uid'],$this->doc->backPath,t3lib_BEfunc::BEgetRootLine($row['uid']))).'">'.
-                               '<img'.t3lib_iconWorks::skinImg($this->doc->backPath,'gfx/zoom.gif','width="12" height="12"').' title="" alt="" />'.
+                                       t3lib_iconWorks::getSpriteIcon('actions-document-view') .
                                '</a>';
                } else {
                        if ($row['pid']==-1)    {
@@ -655,7 +662,7 @@ class tx_version_cm1 extends t3lib_SCbase {
 
                                        // "View page" icon is added:
                                $adminLink.='<a href="#" onclick="'.htmlspecialchars(t3lib_BEfunc::viewOnClick($row['_REAL_PID'],$this->doc->backPath,t3lib_BEfunc::BEgetRootLine($row['_REAL_PID']),'','',$getVars)).'">'.
-                                       '<img'.t3lib_iconWorks::skinImg($this->doc->backPath,'gfx/zoom.gif','width="12" height="12"').' title="" alt="" />'.
+                                               t3lib_iconWorks::getSpriteIcon('actions-document-view') .
                                        '</a>';
                        }
                }
@@ -694,38 +701,43 @@ class tx_version_cm1 extends t3lib_SCbase {
                $WSoverview = $this->displayWorkspaceOverview();
 
                        // Buttons for publish / swap:
-               $actionLinks = '<br/>';
+               $actionLinks = '<br />';
                if ($GLOBALS['BE_USER']->workspace!==0) {
                        if ($this->publishAccess)       {
-                               $actionLinks.= '<input type="submit" name="_publish" value="Publish page" onclick="return confirm(\'Are you sure you want to publish all content '.($GLOBALS['BE_USER']->workspaceRec['publish_access']&1 ? 'in &quot;Publish&quot; stage ':'').'from this page?\');"/>';
+                               $actionLinks.= '<input type="submit" name="_publish" value="' . $GLOBALS['LANG']->getLL('publishPage') . '" onclick="return confirm(\'' . sprintf($GLOBALS['LANG']->getLL('publishPageQuestion'), $GLOBALS['BE_USER']->workspaceRec['publish_access'] & 1 ? $GLOBALS['LANG']->getLL('publishPageQuestionStage') : '') . '\');"/>';
                                if ($GLOBALS['BE_USER']->workspaceSwapAccess()) {
-                                       $actionLinks.= '<input type="submit" name="_swap" value="Swap page" onclick="return confirm(\'Are you sure you want to publish (swap) all content '.($GLOBALS['BE_USER']->workspaceRec['publish_access']&1 ? 'in &quot;Publish&quot; stage ':'').'from this page?\');" />';
+                                       $actionLinks.= '<input type="submit" name="_swap" value="' . $GLOBALS['LANG']->getLL('swapPage') . '" onclick="return confirm(\'' . sprintf($GLOBALS['LANG']->getLL('swapPageQuestion'), $GLOBALS['BE_USER']->workspaceRec['publish_access'] & 1 ? $GLOBALS['LANG']->getLL('publishPageQuestionStage') : '') . '\');" />';
                                }
                        } else {
-                               $actionLinks.= $this->doc->icons(1).'You are not permitted to publish from this workspace';
+                               $actionLinks.= $this->doc->icons(1) . $GLOBALS['LANG']->sL('LLL:EXT:lang/locallang_mod_user_ws.xml:no_publish_permission');
                        }
                }
-               $actionLinks.= '<input type="submit" name="_" value="Refresh" />';
-               $actionLinks.= '<input type="submit" name="_previewLink" value="Preview Link" />';
+
+               $actionLinks.= '<input type="submit" name="_" value="' . $GLOBALS['LANG']->getLL('refresh') . '" />';
+               $actionLinks.= '<input type="submit" name="_previewLink" value="' . $GLOBALS['LANG']->getLL('previewLink') . '" />';
+               $actionLinks.= '<input type="checkbox" class="checkbox" name="_previewLink_wholeWorkspace" id="_previewLink_wholeWorkspace" value="1" /><label for="_previewLink_wholeWorkspace">' . $GLOBALS['LANG']->getLL('allowPreviewOfWholeWorkspace') . '</label>';
                $actionLinks.= $this->displayWorkspaceOverview_allStageCmd();
 
                if ($actionLinks || count($errors))     {
-                       $this->content.= $this->doc->section('',$actionLinks.(count($errors) ? '<h3>Errors:</h3><br/>'.implode('<br/>',$errors).'<hr/>' : ''),0,1);
+                       $this->content .= $this->doc->section('', $actionLinks . (count($errors) ? '<h3>' . $GLOABLS['LANG']->getLL('errors') . '</h3><br />' . implode('<br />', $errors) . '<hr />' : ''), 0, 1);
                }
 
                if (t3lib_div::_POST('_previewLink'))   {
                        $ttlHours = intval($GLOBALS['BE_USER']->getTSConfigVal('options.workspaces.previewLinkTTLHours'));
                        $ttlHours = ($ttlHours ? $ttlHours : 24*2);
 
-                       $params = 'id='.$this->id.'&ADMCMD_previewWS='.$GLOBALS['BE_USER']->workspace;
-                       $previewUrl = t3lib_div::getIndpEnv('TYPO3_SITE_URL').'index.php?ADMCMD_prev='.t3lib_BEfunc::compilePreviewKeyword($params, $GLOBALS['BE_USER']->user['uid'],60*60*$ttlHours);
-
-                       $this->content.= $this->doc->section('Preview Url:','You can preview this page from the workspace using this link for the next '.$ttlHours.' hours (does not require backend login):<br/><br/><a target="_blank" href="'.htmlspecialchars($previewUrl).'">'.$previewUrl.'</a>',0,1);
+                       if (t3lib_div::_POST('_previewLink_wholeWorkspace'))    {
+                               $previewUrl = t3lib_div::getIndpEnv('TYPO3_SITE_URL').'index.php?ADMCMD_prev='.t3lib_BEfunc::compilePreviewKeyword('', $GLOBALS['BE_USER']->user['uid'],60*60*$ttlHours,$GLOBALS['BE_USER']->workspace).'&id='.intval($this->id);
+                       } else {
+                               $params = 'id='.$this->id.'&ADMCMD_previewWS='.$GLOBALS['BE_USER']->workspace;
+                               $previewUrl = t3lib_div::getIndpEnv('TYPO3_SITE_URL').'index.php?ADMCMD_prev='.t3lib_BEfunc::compilePreviewKeyword($params, $GLOBALS['BE_USER']->user['uid'],60*60*$ttlHours);
+                       }
+                       $this->content .= $this->doc->section($GLOBALS['LANG']->getLL('previewUrl'), sprintf($GLOBALS['LANG']->getLL('previewInstruction'), $ttlHours) . '<br /><br /><a target="_blank" href="' . htmlspecialchars($previewUrl) . '">' . $previewUrl . '</a>', 0, 1);
                }
 
                        // Output overview content:
                $this->content.= $this->doc->spacer(15);
-               $this->content.= $this->doc->section($this->details ? 'Details for version' : 'Workspace management', $WSoverview,0,1);
+               $this->content.= $this->doc->section($this->details ? $GLOBALS['LANG']->getLL('versionDetails') : $GLOBALS['LANG']->getLL('wsManagement'), $WSoverview,0,1);
 
        }
 
@@ -737,7 +749,7 @@ class tx_version_cm1 extends t3lib_SCbase {
                                $menu.= t3lib_BEfunc::getFuncMenu($this->id,'SET[display]',$this->MOD_SETTINGS['display'],$this->MOD_MENU['display']);
                        }
                        if (!$this->details && $GLOBALS['BE_USER']->workspace && !$this->diffOnly)      {
-                               $menu.= t3lib_BEfunc::getFuncCheck($this->id,'SET[diff]',$this->MOD_SETTINGS['diff'],'','','id="checkDiff"').' <label for="checkDiff">Show difference view</label>';
+                               $menu.= t3lib_BEfunc::getFuncCheck($this->id,'SET[diff]',$this->MOD_SETTINGS['diff'],'','','id="checkDiff"').' <label for="checkDiff">' . $GLOBALS['LANG']->getLL('showDiffView') . '</label>';
                        }
 
                        if ($menu)      {
@@ -796,9 +808,9 @@ class tx_version_cm1 extends t3lib_SCbase {
                if (count($pArray))     {
                        $tableRows[] = '
                                <tr class="bgColor5 tableheader">
-                                       '.($this->diffOnly?'':'<td nowrap="nowrap" colspan="2">Live Version:</td>').'
-                                       <td nowrap="nowrap" colspan="2">Workspace Versions:</td>
-                                       <td nowrap="nowrap"'.($this->diffOnly?' colspan="2"':' colspan="4"').'>Controls:</td>
+                                       '.($this->diffOnly?'':'<td nowrap="nowrap" colspan="2">' . $GLOBALS['LANG']->getLL('liveVersion') . '</td>').'
+                                       <td nowrap="nowrap" colspan="2">' . $GLOBALS['LANG']->getLL('wsVersions') . '</td>
+                                       <td nowrap="nowrap"'.($this->diffOnly?' colspan="2"':' colspan="4"').'>' . $GLOBALS['LANG']->getLL('controls') . '</td>
                                </tr>';
 
                                // Add lines from overview:
@@ -807,8 +819,10 @@ class tx_version_cm1 extends t3lib_SCbase {
                        $table = '<table border="0" cellpadding="0" cellspacing="1" class="lrPadding workspace-overview">'.implode('',$tableRows).'</table>';
                } else $table = '';
 
-               $linkBack = t3lib_div::_GP('returnUrl') ? '<a href="'.htmlspecialchars(t3lib_div::_GP('returnUrl')).'" class="typo3-goBack"><img'.t3lib_iconWorks::skinImg($this->doc->backPath,'gfx/goback.gif','width="14" height="14"').' alt="" />Click here to go back</a><br/><br/>' : '';
-               $resetDiffOnly = $this->diffOnly ? '<a href="index.php?id='.intval($this->id).'" class="typo3-goBack">Show all information</a><br/><br/>' : '';
+               $linkBack = t3lib_div::_GP('returnUrl') ? '<a href="' . htmlspecialchars(t3lib_div::_GP('returnUrl')) . '" class="typo3-goBack">' .
+                               t3lib_iconWorks::getSpriteIcon('actions-view-go-back') . $GLOBALS['LANG']->getLL('goBack', TRUE) .
+                       '</a><br /><br />' : '';
+               $resetDiffOnly = $this->diffOnly ? '<a href="index.php?id=' . intval($this->id) . '" class="typo3-goBack">' . $GLOBALS['LANG']->getLL('showAllInformation') . '</a><br /><br />' : '';
 
                $versionSelector = $GLOBALS['BE_USER']->workspace ? $this->doc->getVersionSelector($this->id) : '';
 
@@ -882,33 +896,33 @@ class tx_version_cm1 extends t3lib_SCbase {
                                                        $diffCode = '';
                                                        list($diffHTML,$diffPct) = $this->createDiffView($table, $rec_off, $rec_on);
                                                        if ($rec_on['t3ver_state']==1)  {       // New record:
-                                                               $diffCode.= $this->doc->icons(1).'New element<br/>';    // TODO Localize?
+                                                               $diffCode.= $this->doc->icons(1) . $GLOBALS['LANG']->getLL('newElement') . '<br />';
                                                                $diffCode.= $diffHTML;
                                                        } elseif ($rec_off['t3ver_state']==2)   {
-                                                               $diffCode.= $this->doc->icons(2).'Deleted element<br/>';
+                                                               $diffCode.= $this->doc->icons(2) . $GLOBALS['LANG']->getLL('deletedElement') . '<br />';
                                                        } elseif ($rec_on['t3ver_state']==3)    {
-                                                               $diffCode.= $this->doc->icons(1).'Move-to placeholder (destination)<br/>';
+                                                               $diffCode.= $this->doc->icons(1) . $GLOBALS['LANG']->getLL('moveToPlaceholder') . '<br />';
                                                        } elseif ($rec_off['t3ver_state']==4)   {
-                                                               $diffCode.= $this->doc->icons(1).'Move-to pointer (source)<br/>';
+                                                               $diffCode.= $this->doc->icons(1) . $GLOBALS['LANG']->getLL('moveToPointer') . '<br />';
                                                        } else {
-                                                               $diffCode.= ($diffPct<0 ? 'N/A' : ($diffPct ? $diffPct.'% change:' : ''));
+                                                               $diffCode.= ($diffPct<0 ? $GLOBALS['LANG']->getLL('notAvailable') : ($diffPct ? $diffPct . '% ' . $GLOBALS['LANG']->getLL('change') : ''));
                                                                $diffCode.= $diffHTML;
                                                        }
                                                } else $diffCode = '';
 
                                                switch($vType) {
                                                        case 'element':
-                                                               $swapLabel = ' [Element]';
+                                                               $swapLabel = $GLOBALS['LANG']->getLL('element');
                                                                $swapClass = 'ver-element';
                                                                $warnAboutVersions_nonPages = $warnAboutVersions_page;  // Setting this if sub elements are found with a page+content (must be rendered prior to this of course!)
                                                        break;
                                                        case 'page':
-                                                               $swapLabel = ' [Page]';
+                                                               $swapLabel = $GLOBALS['LANG']->getLL('page');
                                                                $swapClass = 'ver-page';
                                                                $warnAboutVersions_page = !$this->showWorkspaceCol;             // This value is true only if multiple workspaces are shown and we need the opposite here.
                                                        break;
                                                        case 'branch':
-                                                               $swapLabel = ' [Branch]';
+                                                               $swapLabel = $GLOBALS['LANG']->getLL('branch');
                                                                $swapClass = 'ver-branch';
                                                        break;
                                                }
@@ -923,9 +937,9 @@ class tx_version_cm1 extends t3lib_SCbase {
 
                                                        // Create version element:
                                                $versionsInOtherWS = $this->versionsInOtherWS($table, $rec_on['uid']);
-                                               $versionsInOtherWSWarning = $versionsInOtherWS && $GLOBALS['BE_USER']->workspace!==0 ? '<br/>'.$this->doc->icons(2).'Other version(s) in workspace '.$versionsInOtherWS : '';
-                                               $multipleWarning = (!$mainCell && $GLOBALS['BE_USER']->workspace!==0? '<br/>'.$this->doc->icons(3).'<b>Multiple versions in same workspace!</b>' : '');
-                                               $verWarning = $warnAboutVersions || ($warnAboutVersions_nonPages && $GLOBALS['TCA'][$table]['ctrl']['versioning_followPages'])? '<br/>'.$this->doc->icons(3).'<b>Version inside version!</b>' : '';
+                                               $versionsInOtherWSWarning = $versionsInOtherWS && $GLOBALS['BE_USER']->workspace !== 0 ? '<br />' . $this->doc->icons(2) . $GLOBALS['LANG']->getLL('otherVersions') . $versionsInOtherWS : '';
+                                               $multipleWarning = (!$mainCell && $GLOBALS['BE_USER']->workspace !== 0 ? '<br />' . $this->doc->icons(3) . '<strong>' . $GLOBALS['LANG']->getLL('multipleVersions') . '</strong>' : '');
+                                               $verWarning = $warnAboutVersions || ($warnAboutVersions_nonPages && $GLOBALS['TCA'][$table]['ctrl']['versioning_followPages']) ? '<br />' . $this->doc->icons(3) . '<strong>' . $GLOBALS['LANG']->getLL('versionInVersion') . '</strong>' : '';
                                                $verElement = $icon.
                                                        (!$this->details ? '<a href="'.htmlspecialchars($this->doc->backPath.t3lib_extMgm::extRelPath('version').'cm1/index.php?id='.($table==='pages'?$rec_on['uid']:$rec_on['pid']).'&details='.rawurlencode($table.':'.$rec_off['uid']).'&returnUrl='.rawurlencode($this->REQUEST_URI)).'">' : '').
                                                        t3lib_BEfunc::getRecordTitle($table,$rec_off,TRUE).
@@ -940,13 +954,13 @@ class tx_version_cm1 extends t3lib_SCbase {
                                                                        $this->displayWorkspaceOverview_commandLinks($table,$rec_on,$rec_off,$vType).
                                                                        htmlspecialchars($swapLabel).
                                                                        '&nbsp;&nbsp;</td>
-                                                               '.(!$this->diffOnly?'<td nowrap="nowrap"><b>Lifecycle:</b> '.htmlspecialchars($this->formatCount($rec_off['t3ver_count'])).'</td>'.             // Lifecycle
+                                                               '.(!$this->diffOnly?'<td nowrap="nowrap"><strong>' . $GLOBALS['LANG']->getLL('lifecycle')  . ':</strong> '.htmlspecialchars($this->formatCount($rec_off['t3ver_count'])).'</td>'.               // Lifecycle
                                                                        ($this->showWorkspaceCol ? '
-                                                               <td nowrap="nowrap">&nbsp;&nbsp;<b>Workspace:</b> '.htmlspecialchars($this->formatWorkspace($rec_off['t3ver_wsid'])).'</td>' : ''):'');
+                                                               <td nowrap="nowrap">&nbsp;&nbsp;<strong>' . $GLOBALS['LANG']->getLL('workspace')  . ':</strong> '.htmlspecialchars($this->formatWorkspace($rec_off['t3ver_wsid'])).'</td>' : ''):'');
 
                                                if ($diffCode)  {
                                                        $verElement = $verElement.'
-                                                       <br/><b>Difference to live element:</b>
+                                                       <br /><strong>' . $GLOBALS['LANG']->getLL('diffToLiveElement') . '</strong>
                                                        <table border="0" cellpadding="0" cellspacing="0" class="ver-verElement">
                                                                <tr>
                                                                        <td class="c-diffCell">'.$diffCode.'</td>
@@ -1022,10 +1036,10 @@ class tx_version_cm1 extends t3lib_SCbase {
                                $sId = $this->recIndex[$table][$uid];
                                switch($sId)    {
                                        case 1:
-                                               $label = 'Comment for Reviewer:';
+                                               $label = $GLOBALS['LANG']->getLL('commentForReviewer');
                                        break;
                                        case 10:
-                                               $label = 'Comment for Publisher:';
+                                               $label = $GLOBALS['LANG']->getLL('commentForPublisher');
                                        break;
                                }
                        } else $sId = 0;
@@ -1033,13 +1047,13 @@ class tx_version_cm1 extends t3lib_SCbase {
                        if (count($this->stageIndex[1]))        {       // Review:
                                $sId = 1;
                                $color = '#666666';
-                               $label = 'Sending %s item(s) to review. Comment for Reviewer:';
-                               $titleAttrib = 'Send all to Review';
+                               $label = $GLOBALS['LANG']->getLL('sendItemsToReview') . $GLOBALS['LANG']->getLL('commentForReviewer');
+                               $titleAttrib = $GLOBALS['LANG']->getLL('sendAllToReview');
                        } elseif(count($this->stageIndex[10]))  {       // Publish:
                                $sId = 10;
                                $color = '#6666cc';
-                               $label = 'Approving %s item(s) to publishing. Comment for Publisher:';
-                               $titleAttrib = 'Approve all for Publishing';
+                               $label = $GLOBALS['LANG']->getLL('approveToPublish') . $GLOBALS['LANG']->getLL('commentForPublisher');
+                               $titleAttrib = $GLOBALS['LANG']->getLL('approveAllToPublish');
                        } else {
                                $sId = 0;
                        }
@@ -1114,7 +1128,7 @@ class tx_version_cm1 extends t3lib_SCbase {
                if (!isset($this->formatWorkspace_cache[$wsid]))        {
                        switch($wsid)   {
                                case -1:
-                                       $this->formatWorkspace_cache[$wsid] = '[Offline]';
+                                       $this->formatWorkspace_cache[$wsid] = $GLOBALS['LANG']->getLL('offline');
                                break;
                                case 0:
                                        $this->formatWorkspace_cache[$wsid] = '';       // Does not output anything for ONLINE because it might confuse people to think that the elemnet IS online which is not the case - only that it exists as an offline version in the online workspace...
@@ -1141,13 +1155,13 @@ class tx_version_cm1 extends t3lib_SCbase {
                if (!isset($this->formatCount_cache[$count]))   {
                        switch($count)  {
                                case 0:
-                                       $this->formatCount_cache[$count] = 'Draft';
+                                       $this->formatCount_cache[$count] = $GLOBALS['LANG']->getLL('draft');
                                break;
                                case 1:
-                                       $this->formatCount_cache[$count] = 'Archive';
+                                       $this->formatCount_cache[$count] = $GLOBALS['LANG']->getLL('archive');
                                break;
                                default:
-                                       $this->formatCount_cache[$count] = 'Published '.$count.' times';
+                                       $this->formatCount_cache[$count] = sprintf($GLOBALS['LANG']->getLL('publishedXTimes'), $count);
                                break;
                        }
                }
@@ -1208,23 +1222,23 @@ class tx_version_cm1 extends t3lib_SCbase {
 
                        switch($data['stage'])  {
                                case 1:
-                                       $text = 'sent element to "Review"';
+                                       $text = $GLOBALS['LANG']->getLL('stage.sentToReview');
                                break;
                                case 10:
-                                       $text = 'approved for "Publish"';
+                                       $text = $GLOBALS['LANG']->getLL('stage.approvedForPublish');
                                break;
                                case -1:
-                                       $text = 'rejected element!';
+                                       $text = $GLOBALS['LANG']->getLL('stage.rejectedElement');
                                break;
                                case 0:
-                                       $text = 'reset to "Editing"';
+                                       $text = $GLOBALS['LANG']->getLL('stage.resetToEdit');
                                break;
                                default:
-                                       $text = '[undefined]';
+                                       $text = $GLOBALS['LANG']->getLL('stage.undefined');
                                break;
                        }
                        $text = t3lib_BEfunc::dateTime($dat['tstamp']).': "'.$username.'" '.$text;
-                       $text.= ($data['comment']?'<br/>User Comment: <em>'.htmlspecialchars($data['comment']).'</em>':'');
+                       $text.= ($data['comment'] ? '<br />' . $GLOBALS['LANG']->getLL('userComment') . ': <em>' . htmlspecialchars($data['comment']) . '</em>' : '');
 
                        $entry[] = $text;
                }
@@ -1245,12 +1259,12 @@ class tx_version_cm1 extends t3lib_SCbase {
                global $TCA;
 
                if (!$this->details && ($GLOBALS['BE_USER']->workspace===0 || !$this->MOD_SETTINGS['expandSubElements']))       {       // In online workspace we have a reduced view because otherwise it will bloat the listing:
-                       return '<br/>
+                       return '<br />
                                        <img'.t3lib_iconWorks::skinImg($this->doc->backPath,'gfx/ol/joinbottom.gif','width="18" height="16"').' align="top" alt="" title="" />'.
                                        ($origId ?
                                                '<a href="'.htmlspecialchars($this->doc->backPath.t3lib_extMgm::extRelPath('version').'cm1/index.php?id='.$uid.'&details='.rawurlencode('pages:'.$uid).'&returnUrl='.rawurlencode($this->REQUEST_URI)).'">'.
-                                               '<span class="typo3-dimmed"><em>[Sub elements, click for details]</em><span></a>' :
-                                               '<span class="typo3-dimmed"><em>[Sub elements]</em><span>');
+                                               '<span class="typo3-dimmed"><em>' . $GLOBALS['LANG']->getLL('subElementsClick')  . '</em><span></a>' :
+                                               '<span class="typo3-dimmed"><em>' . $GLOBALS['LANG']->getLL('subElements') . '</em><span>');
                } else {        // For an offline workspace, show sub elements:
 
                        $tCell = array();
@@ -1405,7 +1419,7 @@ class tx_version_cm1 extends t3lib_SCbase {
                                                                '</div>';
                                                } else {
                                                        $diffCode =
-                                                               ($diffPct<0 ? 'N/A' : ($diffPct ? $diffPct.'% change:' : '')).
+                                                               ($diffPct<0 ? $GLOBALS['LANG']->getLL('notAvailable') : ($diffPct ? $diffPct . '% ' . $GLOBALS['LANG']->getLL('change') : '')).
                                                                $diffHTML;
                                                }
                                        }
@@ -1482,8 +1496,8 @@ class tx_version_cm1 extends t3lib_SCbase {
                        $tRows = array();
                        $tRows[] = '
                                <tr class="bgColor5 tableheader">
-                                       <td>Fieldname:</td>
-                                       <td width="98%" nowrap="nowrap">Colored diff-view:</td>
+                                       <td>' . $GLOBALS['LANG']->getLL('fieldname')  . ':</td>
+                                       <td width="98%" nowrap="nowrap">' . $GLOBALS['LANG']->getLL('coloredDiffView') . ':</td>
                                </tr>
                        ';
 
@@ -1567,9 +1581,9 @@ class tx_version_cm1 extends t3lib_SCbase {
                        if (count($tRows)>1)    {
                                $content.= '<table border="0" cellpadding="1" cellspacing="1" class="diffTable">'.implode('',$tRows).'</table>';
                        } else {
-                               $content.= '<span class="nobr">'.$this->doc->icons(1).'Complete match on editable fields.</span>';
+                               $content.= '<span class="nobr">'.$this->doc->icons(1) . $GLOBALS['LANG']->getLL('completeMatch') . '</span>';
                        }
-               } else $content.= $this->doc->icons(3).'ERROR: Records could strangely not be found!';
+               } else $content.= $this->doc->icons(3) . $GLOBALS['LANG']->getLL('errorRecordsNotFound');
 
                        // Return value:
                return array($content,$pctChange);
@@ -1587,31 +1601,31 @@ class tx_version_cm1 extends t3lib_SCbase {
                switch((int)$rec_off['t3ver_stage'])    {
                        case 0:
                                $sId = 1;
-                               $sLabel = 'Editing';
+                               $sLabel = $GLOBALS['LANG']->getLL('editing');
                                $color = '#666666';
-                               $label = 'Comment for Reviewer:';
-                               $titleAttrib = 'Send to Review';
+                               $label = $GLOBALS['LANG']->getLL('commentForReviewer');
+                               $titleAttrib = $GLOBALS['LANG']->getLL('sendToReview');
                        break;
                        case 1:
                                $sId = 10;
-                               $sLabel = 'Review';
+                               $sLabel = $GLOBALS['LANG']->getLL('review');
                                $color = '#6666cc';
-                               $label = 'Comment for Publisher:';
-                               $titleAttrib = 'Approve for Publishing';
+                               $label = $GLOBALS['LANG']->getLL('commentForPublisher');
+                               $titleAttrib = $GLOBALS['LANG']->getLL('approveForPublishing');
                        break;
                        case 10:
-                               $sLabel = 'Publish';
+                               $sLabel = $GLOBALS['LANG']->getLL('publish');
                                $color = '#66cc66';
                        break;
                        case -1:
-                               $sLabel = $this->doc->icons(2).'Rejected';
+                               $sLabel = $this->doc->icons(2) . $GLOBALS['LANG']->getLL('rejected');
                                $sId = 0;
                                $color = '#ff0000';
-                               $label = 'Comment:';
-                               $titleAttrib = 'Reset stage';
+                               $label = $GLOBALS['LANG']->getLL('comment');
+                               $titleAttrib = $GLOBALS['LANG']->getLL('resetStage');
                        break;
                        default:
-                               $sLabel = 'Undefined';
+                               $sLabel = $GLOBALS['LANG']->getLL('undefined');
                                $sId = 0;
                                $color = '';
                        break;
@@ -1621,7 +1635,7 @@ class tx_version_cm1 extends t3lib_SCbase {
                $raiseOk = !$GLOBALS['BE_USER']->workspaceCannotEditOfflineVersion($table,$rec_off);
 
                if ($raiseOk && $rec_off['t3ver_stage']!=-1)    {
-                       $onClick = 'var commentTxt=window.prompt("Please explain why you reject:","");
+                       $onClick = 'var commentTxt=window.prompt("' . $GLOBALS['LANG']->getLL('rejectExplain') . '","");
                                                        if (commentTxt!=null) {window.location.href="'.$this->doc->issueCommand(
                                                        '&cmd['.$table.']['.$rec_off['uid'].'][version][action]=setStage'.
                                                        '&cmd['.$table.']['.$rec_off['uid'].'][version][stageId]=-1'
@@ -1629,8 +1643,8 @@ class tx_version_cm1 extends t3lib_SCbase {
                                                        ' return false;';
                                // Reject:
                        $actionLinks.=
-                               '<a href="#" onclick="'.htmlspecialchars($onClick).'">'.
-                               '<img'.t3lib_iconWorks::skinImg($this->doc->backPath,'gfx/down.gif','width="14" height="14"').' alt="" align="top" title="Reject" />'.
+                               '<a href="#" onclick="'.htmlspecialchars($onClick).'" title="' . $GLOBALS['LANG']->getLL('reject', TRUE) . '">'.
+                                       t3lib_iconWorks::getSpriteIcon('actions-move-down') .
                                '</a>';
                } else {
                                // Reject:
@@ -1650,8 +1664,8 @@ class tx_version_cm1 extends t3lib_SCbase {
                                                        ' return false;';
                        if ($rec_off['t3ver_stage']!=10)        {
                                $actionLinks.=
-                                       '<a href="#" onclick="'.htmlspecialchars($onClick).'">'.
-                                       '<img'.t3lib_iconWorks::skinImg($this->doc->backPath,'gfx/up.gif','width="14" height="14"').' alt="" align="top" title="'.htmlspecialchars($titleAttrib).'" />'.
+                                       '<a href="#" onclick="'.htmlspecialchars($onClick).'" title="' . htmlspecialchars($titleAttrib) . '">' .
+                                               t3lib_iconWorks::getSpriteIcon('actions-move-up') .
                                        '</a>';
 
                                $this->stageIndex[$sId][$table][] = $rec_off['uid'];
@@ -1676,8 +1690,8 @@ class tx_version_cm1 extends t3lib_SCbase {
                                '<a href="'.htmlspecialchars($this->doc->issueCommand(
                                                '&cmd['.$table.']['.$rec_on['uid'].'][version][action]=swap'.
                                                '&cmd['.$table.']['.$rec_on['uid'].'][version][swapWith]='.$rec_off['uid']
-                                               )).'">'.
-                               '<img'.t3lib_iconWorks::skinImg($this->doc->backPath,'gfx/insert1.gif','width="14" height="14"').' alt="" align="top" title="Publish" />'.
+                                               )).'" title="' . $GLOBALS['LANG']->getLL('publish', TRUE) . '">'.
+                                       t3lib_iconWorks::getSpriteIcon('actions-version-swap-versions') .
                                '</a>';
                        if ($GLOBALS['BE_USER']->workspaceSwapAccess()) {
                                $actionLinks.=
@@ -1685,8 +1699,8 @@ class tx_version_cm1 extends t3lib_SCbase {
                                                        '&cmd['.$table.']['.$rec_on['uid'].'][version][action]=swap'.
                                                        '&cmd['.$table.']['.$rec_on['uid'].'][version][swapWith]='.$rec_off['uid'].
                                                        '&cmd['.$table.']['.$rec_on['uid'].'][version][swapIntoWS]=1'
-                                                       )).'">'.
-                                       '<img'.t3lib_iconWorks::skinImg($this->doc->backPath,'gfx/swap.png','width="14" height="14"').' alt="" align="top" title="Swap" />'.
+                                                       )).'" title="' . $GLOBALS['LANG']->getLL('swap', TRUE) . '">'.
+                                               t3lib_iconWorks::getSpriteIcon('actions-version-swap-workspace') .
                                        '</a>';
                        }
                }
@@ -1694,30 +1708,30 @@ class tx_version_cm1 extends t3lib_SCbase {
                if (!$GLOBALS['BE_USER']->workspaceCannotEditOfflineVersion($table,$rec_off))   {
                                // Release
                        $actionLinks.=
-                               '<a href="'.htmlspecialchars($this->doc->issueCommand('&cmd['.$table.']['.$rec_off['uid'].'][version][action]=clearWSID')).'" onclick="return confirm(\'Remove from workspace?\');">'.
-                               '<img'.t3lib_iconWorks::skinImg($this->doc->backPath,'gfx/group_clear.gif','width="14" height="14"').' alt="" align="top" title="Remove from workspace" />'.
+                               '<a href="'.htmlspecialchars($this->doc->issueCommand('&cmd['.$table.']['.$rec_off['uid'].'][version][action]=clearWSID')).'" onclick="return confirm(\'' . $GLOBALS['LANG']->getLL('removeFromWorkspace', TRUE) . '?\');" title="' . $GLOBALS['LANG']->getLL('removeFromWorkspace', TRUE) . '">'.
+                                       t3lib_iconWorks::getSpriteIcon('actions-version-document-remove') .
                                '</a>';
 
                                // Edit
                        if ($table==='pages' && $vType!=='element')     {
                                $tempUid = ($vType==='branch' || $GLOBALS['BE_USER']->workspace===0 ? $rec_off['uid'] : $rec_on['uid']);
                                $actionLinks.=
-                                       '<a href="#" onclick="top.loadEditId('.$tempUid.');top.goToModule(\''.$this->pageModule.'\'); return false;">'.
-                                       '<img'.t3lib_iconWorks::skinImg($this->doc->backPath,t3lib_extMgm::extRelPath('cms').'layout/layout.gif','width="14" height="12"').' title="Edit page" alt="" />'.
+                                       '<a href="#" onclick="top.loadEditId('.$tempUid.');top.goToModule(\''.$this->pageModule.'\'); return false;" title="' . $GLOBALS['LANG']->sL('LLL:EXT:lang/locallang_mod_user_ws.xml:img_title_edit_page', TRUE) . '">'.
+                                               t3lib_iconWorks::getSpriteIcon('actions-version-page-open') .
                                        '</a>';
                        } else {
                                $params = '&edit['.$table.']['.$rec_off['uid'].']=edit';
                                $actionLinks.=
-                                       '<a href="#" onclick="'.htmlspecialchars(t3lib_BEfunc::editOnClick($params,$this->doc->backPath)).'">'.
-                                       '<img'.t3lib_iconWorks::skinImg($this->doc->backPath,'gfx/edit2.gif','width="12" height="12"').' title="Edit element" alt="" />'.
+                                       '<a href="#" onclick="'.htmlspecialchars(t3lib_BEfunc::editOnClick($params,$this->doc->backPath)).'" title="' . $GLOBALS['LANG']->sL('LLL:EXT:lang/locallang_mod_user_ws.xml:img_title_edit_element', TRUE). '">'.
+                                               t3lib_iconWorks::getSpriteIcon('actions-document-open') .
                                        '</a>';
                        }
                }
 
                        // History/Log
                $actionLinks.=
-                       '<a href="'.htmlspecialchars($this->doc->backPath.'show_rechis.php?element='.rawurlencode($table.':'.$rec_off['uid']).'&returnUrl='.rawurlencode($this->REQUEST_URI)).'">'.
-                       '<img'.t3lib_iconWorks::skinImg($this->doc->backPath,'gfx/history2.gif','width="13" height="12"').' title="Show Log" alt="" />'.
+                       '<a href="'.htmlspecialchars($this->doc->backPath.'show_rechis.php?element='.rawurlencode($table.':'.$rec_off['uid']).'&returnUrl='.rawurlencode($this->REQUEST_URI)).'" title="' . $GLOBALS['LANG']->getLL('showLog', TRUE) . '">'.
+                               t3lib_iconWorks::getSpriteIcon('actions-document-history-open') .
                        '</a>';
 
                        // View
@@ -1725,7 +1739,7 @@ class tx_version_cm1 extends t3lib_SCbase {
                        $tempUid = ($vType==='branch' || $GLOBALS['BE_USER']->workspace===0 ? $rec_off['uid'] : $rec_on['uid']);
                        $actionLinks.=
                                '<a href="#" onclick="'.htmlspecialchars(t3lib_BEfunc::viewOnClick($tempUid,$this->doc->backPath,t3lib_BEfunc::BEgetRootLine($tempUid))).'">'.
-                               '<img'.t3lib_iconWorks::skinImg($this->doc->backPath,'gfx/zoom.gif','width="12" height="12"').' title="" alt="" />'.
+                                       t3lib_iconWorks::getSpriteIcon('actions-document-view') .
                                '</a>';
                }
 
@@ -1747,22 +1761,22 @@ class tx_version_cm1 extends t3lib_SCbase {
                                        // Edit
                                if ($table==='pages')   {
                                        $actionLinks.=
-                                               '<a href="#" onclick="top.loadEditId('.$uid.');top.goToModule(\''.$this->pageModule.'\'); return false;">'.
-                                               '<img'.t3lib_iconWorks::skinImg($this->doc->backPath,t3lib_extMgm::extRelPath('cms').'layout/layout.gif','width="14" height="12"').' title="Edit page" alt="" />'.
+                                               '<a href="#" onclick="top.loadEditId('.$uid.');top.goToModule(\''.$this->pageModule.'\'); return false;" title="' . $GLOBALS['LANG']->sL('LLL:EXT:lang/locallang_mod_user_ws.xml:img_title_edit_page', TRUE) . '">'.
+                                                       t3lib_iconWorks::getSpriteIcon('apps-version-page-open') .
                                                '</a>';
                                } else {
                                        $params = '&edit['.$table.']['.$uid.']=edit';
                                        $actionLinks.=
-                                               '<a href="#" onclick="'.htmlspecialchars(t3lib_BEfunc::editOnClick($params,$this->doc->backPath)).'">'.
-                                               '<img'.t3lib_iconWorks::skinImg($this->doc->backPath,'gfx/edit2.gif','width="12" height="12"').' title="Edit element" alt="" />'.
+                                               '<a href="#" onclick="'.htmlspecialchars(t3lib_BEfunc::editOnClick($params,$this->doc->backPath)).'" title="' . $GLOBALS['LANG']->sL('LLL:EXT:lang/locallang_mod_user_ws.xml:img_title_edit_element', TRUE) . '">'.
+                                                       t3lib_iconWorks::getSpriteIcon('actions-document-open') .
                                                '</a>';
                                }
                        }
 
                                // History/Log
                        $actionLinks.=
-                               '<a href="'.htmlspecialchars($this->doc->backPath.'show_rechis.php?element='.rawurlencode($table.':'.$uid).'&returnUrl='.rawurlencode($this->REQUEST_URI)).'">'.
-                               '<img'.t3lib_iconWorks::skinImg($this->doc->backPath,'gfx/history2.gif','width="13" height="12"').' title="Show Log" alt="" />'.
+                               '<a href="'.htmlspecialchars($this->doc->backPath.'show_rechis.php?element='.rawurlencode($table.':'.$uid).'&returnUrl='.rawurlencode($this->REQUEST_URI)).'" title="' . $GLOBALS['LANG']->getLL('showLog', TRUE) . '">'.
+                                       t3lib_iconWorks::getSpriteIcon('actions-document-history-open') .
                                '</a>';
                }
 
@@ -1770,7 +1784,7 @@ class tx_version_cm1 extends t3lib_SCbase {
                if ($table==='pages')   {
                        $actionLinks.=
                                '<a href="#" onclick="'.htmlspecialchars(t3lib_BEfunc::viewOnClick($uid,$this->doc->backPath,t3lib_BEfunc::BEgetRootLine($uid))).'">'.
-                               '<img'.t3lib_iconWorks::skinImg($this->doc->backPath,'gfx/zoom.gif','width="12" height="12"').' title="" alt="" />'.
+                                       t3lib_iconWorks::getSpriteIcon('actions-document-view') .
                                '</a>';
                }
 
@@ -1812,7 +1826,7 @@ class tx_version_cm1 extends t3lib_SCbase {
                                $tce->start(array(), $cmd);
                                $tce->process_cmdmap();
 
-                               t3lib_BEfunc::getSetUpdateSignal('updatePageTree');
+                               t3lib_BEfunc::setUpdateSignal('updatePageTree');
 
                                return $tce->errorLog;
                        }
@@ -1837,4 +1851,4 @@ $SOBE->init();
 $SOBE->main();
 $SOBE->printContent();
 
-?>
+?>
\ No newline at end of file