Date: prev next · Thread: first prev next last
2012 Archives by date, by thread · List index


Hi,

Following yesterdays contribution here more translations.
One more file to go and then /sw/source/core/frmedt  is done. Too late
to finish today.

Regards

-- 
Luc Castermans
mailto:luc.castermans@gmail.com
From 62b4bf84e38941b043486b800d88db97d45653e1 Mon Sep 17 00:00:00 2001
From: Luc Castermans <luc.castermans@gmail.com>
Date: Sun, 15 Jan 2012 22:53:00 +0100
Subject: [PATCH] Translate German comments to English

---
 sw/source/core/frmedt/fecopy.cxx   |  180 ++++++++---------
 sw/source/core/frmedt/fedesc.cxx   |   12 +-
 sw/source/core/frmedt/feflyole.cxx |    4 +-
 sw/source/core/frmedt/fetab.cxx    |  188 +++++++++---------
 sw/source/core/frmedt/fews.cxx     |   70 ++++----
 sw/source/core/frmedt/tblsel.cxx   |  392 +++++++++++++++++------------------
 6 files changed, 416 insertions(+), 430 deletions(-)

diff --git a/sw/source/core/frmedt/fecopy.cxx b/sw/source/core/frmedt/fecopy.cxx
index 0a2ed74..55306d1 100644
--- a/sw/source/core/frmedt/fecopy.cxx
+++ b/sw/source/core/frmedt/fecopy.cxx
@@ -88,8 +88,9 @@ using namespace ::com::sun::star;
 
 /*************************************************************************
 |*
-|*  SwFEShell::Copy()   Copy fuer das Interne Clipboard.
+|*  SwFEShell::Copy()   copy for the internal clipboard.
 |*      Kopiert alle Selektionen in das Clipboard.
+|*      Copies all selections to the clipboard.
 |*
 |*************************************************************************/
 
@@ -99,7 +100,7 @@ sal_Bool SwFEShell::Copy( SwDoc* pClpDoc, const String* pNewClpTxt )
 
     pClpDoc->GetIDocumentUndoRedo().DoUndo(false); // always false!
 
-    // steht noch Inhalt im ClpDocument, dann muss dieser geloescht werden
+    // delete content if ClpDocument contains content
     SwNodeIndex aSttIdx( pClpDoc->GetNodes().GetEndOfExtras(), 2 );
     SwTxtNode* pTxtNd = aSttIdx.GetNode().GetTxtNode();
     if( !pTxtNd || pTxtNd->GetTxt().Len() ||
@@ -112,17 +113,17 @@ sal_Bool SwFEShell::Copy( SwDoc* pClpDoc, const String* pNewClpTxt )
         aSttIdx--;
     }
 
-    // stehen noch FlyFrames rum, loesche auch diese
+    // also delete surrounding FlyFrames if any
     for( sal_uInt16 n = 0; n < pClpDoc->GetSpzFrmFmts()->Count(); ++n )
     {
         SwFlyFrmFmt* pFly = (SwFlyFrmFmt*)(*pClpDoc->GetSpzFrmFmts())[n];
         pClpDoc->DelLayoutFmt( pFly );
     }
-    pClpDoc->GCFieldTypes();        // loesche die FieldTypes
+    pClpDoc->GCFieldTypes();        // delete the FieldTypes
 
-    // wurde ein String uebergeben, so kopiere diesen in das Clipboard-
-    // Dokument. Somit kann auch der Calculator das interne Clipboard
-    // benutzen.
+    // if a string was passed, copy it to the clipboard-
+    // document. Then also the Calculator can use the internal
+    // clipboard
     if( pNewClpTxt )
     {
         pTxtNd->InsertText( *pNewClpTxt, SwIndex( pTxtNd ) );
@@ -133,10 +134,10 @@ sal_Bool SwFEShell::Copy( SwDoc* pClpDoc, const String* pNewClpTxt )
     pClpDoc->SetRedlineMode_intern( nsRedlineMode_t::REDLINE_DELETE_REDLINES );
     sal_Bool bRet;
 
-    // soll ein FlyFrame kopiert werden ?
+    // do we want to copy a FlyFrame?
     if( IsFrmSelected() )
     {
-        // hole das FlyFormat
+        // get the FlyFormat
         SwFlyFrm* pFly = FindFlyFrm();
         SwFrmFmt* pFlyFmt = pFly->GetFmt();
         SwFmtAnchor aAnchor( pFlyFmt->GetAnchor() );
@@ -155,13 +156,13 @@ sal_Bool SwFEShell::Copy( SwDoc* pClpDoc, const String* pNewClpTxt )
         }
         pFlyFmt = pClpDoc->CopyLayoutFmt( *pFlyFmt, aAnchor, true, true );
 
-        // sorge dafuer das das "RootFmt" als erstes im SpzArray-steht
-        // (Es wurden ggf. Flys in Flys kopiert.
+       // assure the "RootFmt" is the first element in Spz-Array
+        // (if necessary Flys were copied in Flys)
         SwSpzFrmFmts& rSpzFrmFmts = *(SwSpzFrmFmts*)pClpDoc->GetSpzFrmFmts();
         if( rSpzFrmFmts[ 0 ] != pFlyFmt )
         {
             sal_uInt16 nPos = rSpzFrmFmts.GetPos( pFlyFmt );
-            OSL_ENSURE( nPos != USHRT_MAX, "Fly steht nicht im Spz-Array" );
+            OSL_ENSURE( nPos != USHRT_MAX, "Fly not contained in Spz-Array" );
 
             rSpzFrmFmts.Remove( nPos );
             rSpzFrmFmts.Insert( pFlyFmt, 0 );
@@ -169,11 +170,10 @@ sal_Bool SwFEShell::Copy( SwDoc* pClpDoc, const String* pNewClpTxt )
 
         if ( FLY_AS_CHAR == aAnchor.GetAnchorId() )
         {
-            // JP 13.02.99 Bug 61863: wenn eine Rahmenselektion ins Clipboard
-            //              gestellt wird, so muss beim Pasten auch wieder
-            //              eine solche vorgefunden werden. Also muss im Node
-            //              das kopierte TextAttribut wieder entfernt werden,
-            //              sonst wird es als TextSelektion erkannt
+            // JP 13.02.99  Bug 61863: if a frameselection is passed to the
+            //              clipboard, it should be found at pasting. Therefore
+            //              the copied TextAttribut should be removed in the node
+            //              otherwise it will be recognised as TextSelektion
             const SwIndex& rIdx = pFlyFmt->GetAnchor().GetCntntAnchor()->nContent;
             SwTxtFlyCnt *const pTxtFly = static_cast<SwTxtFlyCnt *>(
                 pTxtNd->GetTxtAttrForCharAt(
@@ -228,7 +228,7 @@ sal_Bool SwFEShell::Copy( SwDoc* pClpDoc, const String* pNewClpTxt )
         bRet = sal_True;
     }
     else
-        bRet = _CopySelToDoc( pClpDoc, 0 );     // kopiere die Selectionen
+        bRet = _CopySelToDoc( pClpDoc, 0 );     // copy the selections
 
     pClpDoc->SetRedlineMode_intern((RedlineMode_t)0 );
     pClpDoc->UnlockExpFlds();
@@ -293,12 +293,12 @@ sal_Bool SwFEShell::CopyDrawSel( SwFEShell* pDestShell, const Point& rSttPt,
 {
     sal_Bool bRet = sal_True;
 
-    //Die Liste muss kopiert werden, weil unten die neuen Objekte
-    //selektiert werden.
+    // The list should be copied, while new objects below
+    // were selected
     const SdrMarkList aMrkList( Imp()->GetDrawView()->GetMarkedObjectList() );
     sal_uLong nMarkCount = aMrkList.GetMarkCount();
     if( !pDestShell->Imp()->GetDrawView() )
-        // sollte mal eine erzeugt werden
+        // should be generated
         pDestShell->MakeDrawView();
     else if( bSelectInsert )
         pDestShell->Imp()->GetDrawView()->UnmarkAll();
@@ -322,8 +322,8 @@ sal_Bool SwFEShell::CopyDrawSel( SwFEShell* pDestShell, const Point& rSttPt,
 
         if( pDestDrwView->IsGroupEntered() )
         {
-            // in die Gruppe einfuegen, wenns aus einer betretenen Gruppe
-            // kommt oder das Object nicht zeichengebunden ist
+            // insert into the group, when it belongs to an entered group
+            // or when the object is not coupled to a character
             if( pSrcDrwView->IsGroupEntered() ||
                 (FLY_AS_CHAR != rAnchor.GetAnchorId()) )
 
@@ -348,8 +348,8 @@ sal_Bool SwFEShell::CopyDrawSel( SwFEShell* pDestShell, const Point& rSttPt,
             {
                 if ( this == pDestShell )
                 {
-                    //gleiche Shell? Dann erfrage die Position an der
-                    //uebergebenen DokumentPosition
+                    // same shell? Then request the position
+                    // from the passed DocumentPosition
                     SwPosition aPos( *GetCrsr()->GetPoint() );
                     Point aPt( rInsPt );
                     aPt -= rSttPt - pObj->GetSnapRect().TopLeft();
@@ -398,7 +398,7 @@ sal_Bool SwFEShell::CopyDrawSel( SwFEShell* pDestShell, const Point& rSttPt,
                 else
                     pFmt = pDestDoc->CopyLayoutFmt( *pFmt, aAnchor, true, true );
 
-                //Kann 0 sein, weil Draws in Kopf-/Fusszeilen nicht erlaubt sind.
+                // Can be 0, as Draws are not allowed in Headers/Footers
                 if ( pFmt )
                 {
                     SdrObject* pNew = pFmt->FindSdrObject();
@@ -459,29 +459,28 @@ sal_Bool SwFEShell::Copy( SwFEShell* pDestShell, const Point& rSttPt,
 {
     sal_Bool bRet = sal_False;
 
-    OSL_ENSURE( pDestShell, "Copy ohne DestShell." );
+    OSL_ENSURE( pDestShell, "Copy without DestShell." );
     OSL_ENSURE( this == pDestShell || !pDestShell->IsObjSelected(),
-            "Dest-Shell darf nie im Obj-Modus sein" );
+            "Dest-Shell cannot be in Obj-Mode" );
 
     SET_CURR_SHELL( pDestShell );
 
     pDestShell->StartAllAction();
     pDestShell->GetDoc()->LockExpFlds();
 
-    // Referenzen sollen verschoben werden.
+    // Shift references
     sal_Bool bCopyIsMove = pDoc->IsCopyIsMove();
     if( bIsMove )
-        // am Doc ein Flag setzen, damit in den TextNodes
+        // set a flag in Doc, therefore in TextNodes
         pDoc->SetCopyIsMove( sal_True );
 
     RedlineMode_t eOldRedlMode = pDestShell->GetDoc()->GetRedlineMode();
     pDestShell->GetDoc()->SetRedlineMode_intern( (RedlineMode_t)(eOldRedlMode | 
nsRedlineMode_t::REDLINE_DELETE_REDLINES));
 
-    // sind Tabellen-Formeln im Bereich, dann muss erst die Tabelle
-    // angezeigt werden, damit die Tabellen-Formel den neuen Wert errechnen
-    // kann (bei Bereichen wird sich ueber das Layout die einzelnen Boxen
-    // besorgt)
-    SwFieldType* pTblFldTyp = pDestShell->GetDoc()->GetSysFldType( RES_TABLEFLD );
+    // Are there table formulas in the area, then display the table first
+    // such that the table formula can calculate a new value first
+    // (individual boxes in the area are retrieved via the layout)
+     SwFieldType* pTblFldTyp = pDestShell->GetDoc()->GetSysFldType( RES_TABLEFLD );
 
     if( IsFrmSelected() )
     {
@@ -498,8 +497,8 @@ sal_Bool SwFEShell::Copy( SwFEShell* pDestShell, const Point& rSttPt,
         {
             if ( this == pDestShell )
             {
-                // gleiche Shell? Dann erfrage die Position an der
-                // uebergebenen DokumentPosition
+                // same shell? Then request the position
+                // from the passed DocumentPosition
                 SwPosition aPos( *GetCrsr()->GetPoint() );
                 Point aPt( rInsPt );
                 aPt -= rSttPt - pFly->Frm().Pos();
@@ -509,7 +508,8 @@ sal_Bool SwFEShell::Copy( SwFEShell* pDestShell, const Point& rSttPt,
                 if( (pNd = &aPos.nNode.GetNode())->IsNoTxtNode() )
                     bRet = sal_False;
                 else
-                {   //Nicht in sich selbst kopieren
+                {
+                    // do not copy in itself
                     const SwNodeIndex *pTmp = pFlyFmt->GetCntnt().GetCntntIdx();
                     if ( aPos.nNode > *pTmp && aPos.nNode <
                         pTmp->GetNode().EndOfSectionIndex() )
@@ -541,7 +541,7 @@ sal_Bool SwFEShell::Copy( SwFEShell* pDestShell, const Point& rSttPt,
                 aNewAnch = pPg->Frm().Pos();
         }
         else {
-            OSL_ENSURE( !this, "was fuer ein Anchor ist es denn?" );
+            OSL_ENSURE( !this, "what anchor is it?" );
         }
 
         if( bRet )
@@ -563,14 +563,13 @@ sal_Bool SwFEShell::Copy( SwFEShell* pDestShell, const Point& rSttPt,
             if( bIsMove )
                 GetDoc()->DelLayoutFmt( pOldFmt );
 
-            // nur selektieren wenn es in der gleichen Shell verschoben/
-            //  kopiert wird
+            // only select if it can be shifted/copied in the same shell
             if( bSelectInsert )
             {
                 SwFlyFrm* pFlyFrm = ((SwFlyFrmFmt*)pFlyFmt)->GetFrm( &aPt, sal_False );
                 if( pFlyFrm )
                 {
-                    //JP 12.05.98: sollte das nicht im SelectFlyFrm stehen???
+                    //JP 12.05.98: should this be in SelectFlyFrm???
                     pDestShell->Imp()->GetDrawView()->UnmarkAll();
                     pDestShell->SelectFlyFrm( *pFlyFrm, sal_True );
                 }
@@ -584,11 +583,11 @@ sal_Bool SwFEShell::Copy( SwFEShell* pDestShell, const Point& rSttPt,
         bRet = CopyDrawSel( pDestShell, rSttPt, rInsPt, bIsMove, bSelectInsert );
     else if( IsTableMode() )
     {
-        // kopiere Teile aus einer Tabelle: lege eine Tabelle mit der Breite
-        // von der Originalen an und kopiere die selectierten Boxen.
-        // Die Groessen werden prozentual korrigiert.
+        // Copy parts from a table: create a table with the same
+        // width as the original and copy the selected boxes.
+        // Sizes will be corrected by percentage.
 
-        // lasse ueber das Layout die Boxen suchen
+        // find boxes via the layout
         const SwTableNode* pTblNd;
         SwSelBoxes aBoxes;
         GetTblSel( *this, aBoxes );
@@ -598,8 +597,8 @@ sal_Bool SwFEShell::Copy( SwFEShell* pDestShell, const Point& rSttPt,
             SwPosition* pDstPos = 0;
             if( this == pDestShell )
             {
-                // gleiche Shell? Dann erzeuge einen Crsr an der
-                // uebergebenen DokumentPosition
+                // same shell? Then create new Crsr at the
+                // DocumentPosition passed
                 pDstPos = new SwPosition( *GetCrsr()->GetPoint() );
                 Point aPt( rInsPt );
                 GetLayout()->GetCrsrOfst( pDstPos, aPt );
@@ -626,12 +625,12 @@ sal_Bool SwFEShell::Copy( SwFEShell* pDestShell, const Point& rSttPt,
                 if( this != pDestShell )
                     *pDestShell->GetCrsr()->GetPoint() = *pDstPos;
 
-                // wieder alle geparkten Crsr erzeugen?
+                // create all parked Crsr?
                 if( GetDoc() == pDestShell->GetDoc() )
                     GetCrsr();
 
-                // JP 16.04.99: Bug 64908 - InsPos setzen, damit der geparkte
-                //              Cursor auf die EinfuegePos. positioniert wird
+                // JP 16.04.99: Bug 64908 - Set InsPos, to assure the parked
+                //              Cursor is positioned at the insert position
                 if( this == pDestShell )
                     GetCrsrDocPos() = rInsPt;
             }
@@ -643,8 +642,8 @@ sal_Bool SwFEShell::Copy( SwFEShell* pDestShell, const Point& rSttPt,
         bRet = sal_True;
         if( this == pDestShell )
         {
-            // gleiche Shell? Dann erfrage die Position an der
-            // uebergebenen DokumentPosition
+            // same shell? then request the postion
+            // at the passed document position
             SwPosition aPos( *GetCrsr()->GetPoint() );
             Point aPt( rInsPt );
             GetLayout()->GetCrsrOfst( &aPos, aPt );
@@ -660,11 +659,11 @@ sal_Bool SwFEShell::Copy( SwFEShell* pDestShell, const Point& rSttPt,
     pDestShell->GetDoc()->SetRedlineMode_intern( eOldRedlMode );
     pDoc->SetCopyIsMove( bCopyIsMove );
 
-    // wurden neue Tabellenformeln eingefuegt ?
+    // have new table formules been inserted?
     if( pTblFldTyp->GetDepends() )
     {
-        // alte Actions beenden; die Tabellen-Frames werden angelegt und
-        // eine SSelection kann erzeugt werden
+        // finish old actions: the table frames are created and
+        // a selection can be made
         sal_uInt16 nActCnt;
         for( nActCnt = 0; pDestShell->ActionPend(); ++nActCnt )
             pDestShell->EndAllAction();
@@ -681,8 +680,8 @@ sal_Bool SwFEShell::Copy( SwFEShell* pDestShell, const Point& rSttPt,
 
 /*************************************************************************
 |*
-|*  SwFEShell::Paste()  Paste fuer das Interne Clipboard.
-|*      Kopiert den Inhalt vom Clipboard in das Dokument.
+|*  SwFEShell::Paste()  Paste for  the interal clipboard.
+|*      Copy the content of the clipboard in the document
 |*
 |*************************************************************************/
 
@@ -695,17 +694,16 @@ namespace {
 sal_Bool SwFEShell::Paste( SwDoc* pClpDoc, sal_Bool bIncludingPageFrames )
 {
     SET_CURR_SHELL( this );
-    OSL_ENSURE( pClpDoc, "kein Clipboard-Dokument"  );
+    OSL_ENSURE( pClpDoc, "no clipboard document"  );
     const sal_uInt16 nStartPageNumber = GetPhyPageNum();
-    // dann bis zum Ende vom Nodes Array
+    // then till end of the nodes array
     SwNodeIndex aIdx( pClpDoc->GetNodes().GetEndOfExtras(), 2 );
     SwPaM aCpyPam( aIdx ); //DocStart
 
-    // sind Tabellen-Formeln im Bereich, dann muss erst die Tabelle
-    // angezeigt werden, damit die Tabellen-Formel den neuen Wert errechnen
-    // kann (bei Bereichen wird sich ueber das Layout die einzelnen Boxen
-    // besorgt)
-    SwFieldType* pTblFldTyp = GetDoc()->GetSysFldType( RES_TABLEFLD );
+    // Are there table formulas in the area, then display the table first
+    // such that the table formula can calculate a new value first
+    // (individual boxes in the area are retrieved via the layout)
+     SwFieldType* pTblFldTyp = GetDoc()->GetSysFldType( RES_TABLEFLD );
 
     SwTableNode *pDestNd, *pSrcNd = aCpyPam.GetNode()->GetTableNode();
     if( !pSrcNd )                               // TabellenNode ?
@@ -846,10 +844,10 @@ sal_Bool SwFEShell::Paste( SwDoc* pClpDoc, sal_Bool bIncludingPageFrames )
             sal_Bool bParkTblCrsr = sal_False;
             const SwStartNode* pSttNd =  PCURCRSR->GetNode()->FindTableBoxStartNode();
 
-            // TABLE IN TABLE: Tabelle in Tabelle kopieren
-            // lasse ueber das Layout die Boxen suchen
+            // TABLE IN TABLE: copy table in table
+            // search boxes via the layout
             SwSelBoxes aBoxes;
-            if( IsTableMode() )     // Tabellen-Selecktion ??
+            if( IsTableMode() )     // table selection?
             {
                 GetTblSel( *this, aBoxes );
                 ParkTblCrsr();
@@ -859,7 +857,7 @@ sal_Bool SwFEShell::Paste( SwDoc* pClpDoc, sal_Bool bIncludingPageFrames )
                      ( !pSrcNd->GetTable().IsTblComplex() ||
                        pDestNd->GetTable().IsNewModel() ) )
             {
-                // dann die Tabelle "relativ" kopieren
+                // make relative table copy
                 SwTableBox* pBox = pDestNd->GetTable().GetTblBox(
                                         pSttNd->GetIndex() );
                 OSL_ENSURE( pBox, "Box steht nicht in dieser Tabelle" );
@@ -869,8 +867,8 @@ sal_Bool SwFEShell::Paste( SwDoc* pClpDoc, sal_Bool bIncludingPageFrames )
             SwNodeIndex aNdIdx( *pDestNd->EndOfSectionNode());
             if( !bParkTblCrsr )
             {
-                // erstmal aus der gesamten Tabelle raus
-// ????? was ist mit Tabelle alleine im Rahmen ???????
+                // exit first the complete table
+                // ???? what about only table in a frame ?????
                 SwCntntNode* pCNd = GetDoc()->GetNodes().GoNext( &aNdIdx );
                 SwPosition aPos( aNdIdx, SwIndex( pCNd, 0 ));
                 // #i59539: Don't remove all redline
@@ -885,7 +883,7 @@ sal_Bool SwFEShell::Paste( SwDoc* pClpDoc, sal_Bool bIncludingPageFrames )
                 GetCrsr();
             else
             {
-                // und wieder in die Box zurueck
+                // return to the box
                 aNdIdx = *pSttNd;
                 SwCntntNode* pCNd = GetDoc()->GetNodes().GoNext( &aNdIdx );
                 SwPosition aPos( aNdIdx, SwIndex( pCNd, 0 ));
@@ -897,12 +895,12 @@ sal_Bool SwFEShell::Paste( SwDoc* pClpDoc, sal_Bool bIncludingPageFrames )
                 ::PaMCorrAbs(tmpPam, aPos);
             }
 
-            break;      // aus der "while"-Schleife heraus
+            break;      // exit the "while-loop"
         }
         else if( *aCpyPam.GetPoint() == *aCpyPam.GetMark() &&
                  pClpDoc->GetSpzFrmFmts()->Count() )
         {
-            // so langsam sollte mal eine DrawView erzeugt werden
+            // draw a DrawView this slow
             if( !Imp()->GetDrawView() )
                 MakeDrawView();
 
@@ -996,8 +994,8 @@ sal_Bool SwFEShell::Paste( SwDoc* pClpDoc, sal_Bool bIncludingPageFrames )
                                                         GetFrm( &aPt, sal_False );
                             if( pFlyFrm )
                                 SelectFlyFrm( *pFlyFrm, sal_True );
-                            // immer nur den ersten Fly-Frame nehmen; die anderen
-                            // wurden ueber Fly in Fly ins ClipBoard kopiert !
+                            // always pick the first FlyFrame only; the others
+                            // were via Fly in Fly copied to the clipboard
                             break;
                         }
                         else
@@ -1039,12 +1037,12 @@ sal_Bool SwFEShell::Paste( SwDoc* pClpDoc, sal_Bool bIncludingPageFrames )
                                 pBoxNd->GetIndex() &&
                 aCpyPam.GetPoint()->nNode != aCpyPam.GetMark()->nNode )
             {
-                // es wird mehr als 1 Node in die akt. Box kopiert. Dann
-                // muessen die BoxAttribute aber entfernt werden.
+                // Copy more as 1 node in the current box. But
+                // then the BoxAttribute should be removed
                 GetDoc()->ClearBoxNumAttrs( rInsPos.nNode );
             }
 
-            //find out if the clipboard document starts with a table
+            // find out if the clipboard document starts with a table
             bool bStartWithTable = 0 != aCpyPam.Start()->nNode.GetNode().FindTableNode();
             SwPosition aInsertPosition( rInsPos );
 
@@ -1118,11 +1116,11 @@ sal_Bool SwFEShell::Paste( SwDoc* pClpDoc, sal_Bool bIncludingPageFrames )
 
     GetDoc()->GetIDocumentUndoRedo().EndUndo( UNDO_INSGLOSSARY, NULL );
 
-    // wurden neue Tabellenformeln eingefuegt ?
+    // have new table formulas been inserted?
     if( pTblFldTyp->GetDepends() )
     {
-        // alte Actions beenden; die Tabellen-Frames werden angelegt und
-        // eine Selection kann erzeugt werden
+        // finish old action: table-frames have been created
+        // a selection can be made now
         sal_uInt16 nActCnt;
         for( nActCnt = 0; ActionPend(); ++nActCnt )
             EndAllAction();
@@ -1195,7 +1193,7 @@ sal_Bool SwFEShell::PastePages( SwFEShell& rToFill, sal_uInt16 nStartPage, 
sal_u
         rToFill.GetDoc()->DelFullPara(aPara);
     }
     // now the page bound objects
-    //additionally copy page bound frames
+    // additionally copy page bound frames
     if( GetDoc()->GetSpzFrmFmts()->Count() )
     {
         // create a draw view if necessary
@@ -1234,7 +1232,7 @@ sal_Bool SwFEShell::GetDrawObjGraphic( sal_uLong nFmt, Graphic& rGrf ) const
         if( rMrkList.GetMarkCount() == 1 &&
             rMrkList.GetMark( 0 )->GetMarkedSdrObj()->ISA(SwVirtFlyDrawObj) )
         {
-            // Rahmen selektiert
+            // select frame
             if( CNT_GRF == GetCntType() )
             {
                 const Graphic* pGrf( GetGraphic() );
@@ -1277,9 +1275,9 @@ sal_Bool SwFEShell::GetDrawObjGraphic( sal_uLong nFmt, Graphic& rGrf ) const
                     }
                     else
                     {
-                        //fix(23806): Nicht die Originalgroesse, sondern die
-                        //aktuelle. Anderfalls kann es passieren, dass z.B. bei
-                        //Vektorgrafiken mal eben zig MB angefordert werden.
+                        // fix(23806): not the origial size, but the current one.
+                        // Otherwise it could occur the for vectorgraphics
+                        // many MB's are requested
                         const Size aSz( FindFlyFrm()->Prt().SSize() );
                         VirtualDevice aVirtDev( *GetWin() );
 
@@ -1367,7 +1365,7 @@ void SwFEShell::Paste( SvStream& rStrm, sal_uInt16 nAction, const Point* pPt )
     Point aPos( pPt ? *pPt : GetCharRect().Pos() );
     SdrView *pView = Imp()->GetDrawView();
 
-    //Drop auf bestehendes Objekt: Objekt ersetzen oder neu Attributieren.
+    // drop on the existing object: replace object or apply new attributes
     if( pModel->GetPageCount() > 0 &&
         1 == pModel->GetPage(0)->GetObjCount() &&
         1 == pView->GetMarkedObjectList().GetMarkCount() )
@@ -1398,8 +1396,8 @@ void SwFEShell::Paste( SvStream& rStrm, sal_uInt16 nAction, const Point* pPt )
 
                     if( pAnchor->FindFooterOrHeader() )
                     {
-                        // wenn TextRahmen in der Kopf/Fusszeile steht, dann
-                        // nicht ersetzen, sondern nur einfuegen
+                        // if there is a textframe in the header/footer:
+                        // do not replace but insert
                         nAction = SW_PASTESDR_INSERT;
                         break;
                     }
@@ -1427,7 +1425,7 @@ void SwFEShell::Paste( SvStream& rStrm, sal_uInt16 nAction, const Point* pPt )
 
                 if( pOldObj->ISA(SwVirtFlyDrawObj) )
                 {
-                    // Attribute sichern und dam SdrObject setzen
+                    // store attributes, then set SdrObject
                     SfxItemSet aFrmSet( pDoc->GetAttrPool(),
                                             RES_SURROUND, RES_ANCHOR );
                     aFrmSet.Set( pFmt->GetAttrSet() );
diff --git a/sw/source/core/frmedt/fedesc.cxx b/sw/source/core/frmedt/fedesc.cxx
index edccc8b..8836c90 100644
--- a/sw/source/core/frmedt/fedesc.cxx
+++ b/sw/source/core/frmedt/fedesc.cxx
@@ -61,13 +61,13 @@ sal_uInt16 SwFEShell::GetPageDescCnt() const
 void SwFEShell::ChgCurPageDesc( const SwPageDesc& rDesc )
 {
 #if OSL_DEBUG_LEVEL > 0
-    //Die SS veraendert keinen PageDesc, sondern setzt nur das Attribut.
-    //Der Pagedesc muss im Dokument vorhanden sein!
+    // SS does not change PageDesc, but only sets the attibute.
+    // The Pagedesc should be available in the document
     sal_Bool bFound = sal_False;
     for ( sal_uInt16 nTst = 0; nTst < GetPageDescCnt(); ++nTst )
         if ( &rDesc == &GetPageDesc( nTst ) )
             bFound = sal_True;
-    OSL_ENSURE( bFound, "ChgCurPageDesc mit ungueltigem Descriptor." );
+    OSL_ENSURE( bFound, "ChgCurPageDesc with invalid descriptor." );
 #endif
 
     StartAllAction();
@@ -76,7 +76,7 @@ void SwFEShell::ChgCurPageDesc( const SwPageDesc& rDesc )
     const SwFrm *pFlow = 0;
     sal_uInt16 nPageNmOffset = 0;
 
-    OSL_ENSURE( !GetCrsr()->HasMark(), "ChgCurPageDesc nur ohne Selektion!");
+    OSL_ENSURE( !GetCrsr()->HasMark(), "ChgCurPageDesc only without selection!");
 
     SET_CURR_SHELL( this );
     while ( pPage )
@@ -108,7 +108,7 @@ void SwFEShell::ChgCurPageDesc( const SwPageDesc& rDesc )
         }
     }
 
-    // Seitennummer mitnehmen
+    // use pagenumber
     SwFmtPageDesc aNew( &rDesc );
     aNew.SetNumOffset( nPageNmOffset );
 
@@ -165,7 +165,7 @@ SwPageDesc* SwFEShell::FindPageDescByName( const String& rName,
         if( USHRT_MAX != nPoolId &&
             0 != (pDesc = GetDoc()->GetPageDescFromPool( nPoolId ))
             && pPos )
-                // werden immer hinten angehaengt
+                // appended always
             *pPos = GetDoc()->GetPageDescCnt() - 1 ;
     }
     return pDesc;
diff --git a/sw/source/core/frmedt/feflyole.cxx b/sw/source/core/frmedt/feflyole.cxx
index 544c438..19f8f48 100644
--- a/sw/source/core/frmedt/feflyole.cxx
+++ b/sw/source/core/frmedt/feflyole.cxx
@@ -64,7 +64,7 @@ SwFlyFrm *SwFEShell::FindFlyFrm( const uno::Reference < embed::XEmbeddedObject >
 
     if ( !pFly )
     {
-        //Kein Fly oder der falsche selektiert. Ergo muessen wir leider suchen.
+        // No or wrong fly selected: we have to search.
         sal_Bool bExist = sal_False;
         SwStartNode *pStNd;
         sal_uLong nSttIdx = GetNodes().GetEndOfAutotext().StartOfSectionIndex() + 1,
@@ -120,7 +120,7 @@ void SwFEShell::MakeObjVisible( const uno::Reference < embed::XEmbeddedObject >&
     }
 }
 
-sal_Bool SwFEShell::FinishOLEObj()                      // Server wird beendet
+sal_Bool SwFEShell::FinishOLEObj()                      // Server is terminated
 {
     SfxInPlaceClient* pIPClient = GetSfxViewShell()->GetIPClient();
     if ( !pIPClient )
diff --git a/sw/source/core/frmedt/fetab.cxx b/sw/source/core/frmedt/fetab.cxx
index 10e7e8a..c38b84f 100644
--- a/sw/source/core/frmedt/fetab.cxx
+++ b/sw/source/core/frmedt/fetab.cxx
@@ -74,7 +74,7 @@
 using namespace ::com::sun::star;
 
 
-//siehe auch swtable.cxx
+// also see swtable.cxx
 #define COLFUZZY 20L
 
 inline sal_Bool IsSame( long nA, long nB ) { return  Abs(nA-nB) <= COLFUZZY; }
@@ -198,11 +198,11 @@ void SwFEShell::ParkCursorInTab()
 
 /***********************************************************************
 #*  Class      :  SwFEShell
-#*  Methoden   :  InsertRow(), InsertCol
+#*  Methods    :  InsertRow(), InsertCol
 #***********************************************************************/
 sal_Bool SwFEShell::InsertRow( sal_uInt16 nCnt, sal_Bool bBehind )
 {
-    // pruefe ob vom aktuellen Crsr der Point/Mark in einer Tabelle stehen
+    // check if Spoint/Mark of current cursor are in a table
     SwFrm *pFrm = GetCurrFrm();
     if( !pFrm || !pFrm->IsInTab() )
         return sal_False;
@@ -217,7 +217,7 @@ sal_Bool SwFEShell::InsertRow( sal_uInt16 nCnt, sal_Bool bBehind )
     SET_CURR_SHELL( this );
     StartAllAction();
 
-    // lasse ueber das Layout die Boxen suchen
+    // search boxes via the layout
     SwSelBoxes aBoxes;
     GetTblSel( *this, aBoxes, nsSwTblSearchType::TBLSEARCH_ROW );
 
@@ -233,7 +233,7 @@ sal_Bool SwFEShell::InsertRow( sal_uInt16 nCnt, sal_Bool bBehind )
 
 sal_Bool SwFEShell::InsertCol( sal_uInt16 nCnt, sal_Bool bBehind )
 {
-    // pruefe ob vom aktuellen Crsr der Point/Mark in einer Tabelle stehen
+    // check if Spoint/Mark of current cursor are in a table
     SwFrm *pFrm = GetCurrFrm();
     if( !pFrm || !pFrm->IsInTab() )
         return sal_False;
@@ -255,7 +255,7 @@ sal_Bool SwFEShell::InsertCol( sal_uInt16 nCnt, sal_Bool bBehind )
     }
 
     StartAllAction();
-    // lasse ueber das Layout die Boxen suchen
+    // search boxes via the layout
     SwSelBoxes aBoxes;
     GetTblSel( *this, aBoxes, nsSwTblSearchType::TBLSEARCH_COL );
 
@@ -295,7 +295,7 @@ sal_Bool SwFEShell::IsLastCellInRow() const
 
 sal_Bool SwFEShell::DeleteCol()
 {
-    // pruefe ob vom aktuellen Crsr der SPoint/Mark in einer Tabelle stehen
+    // check if Spoint/Mark of current cursor are in a table
     SwFrm *pFrm = GetCurrFrm();
     if( !pFrm || !pFrm->IsInTab() )
         return sal_False;
@@ -310,7 +310,7 @@ sal_Bool SwFEShell::DeleteCol()
     SET_CURR_SHELL( this );
     StartAllAction();
 
-    // lasse ueber das Layout die Boxen suchen
+    // search boxes via the layout
     sal_Bool bRet;
     SwSelBoxes aBoxes;
     GetTblSel( *this, aBoxes, nsSwTblSearchType::TBLSEARCH_COL );
@@ -318,15 +318,15 @@ sal_Bool SwFEShell::DeleteCol()
     {
         TblWait( aBoxes.size(), pFrm, *GetDoc()->GetDocShell() );
 
-        // die Crsr muessen noch aus dem Loesch Bereich entfernt
-        // werden. Setze sie immer hinter/auf die Tabelle; ueber die
-        // Dokument-Position werden sie dann immer an die alte Position gesetzt.
+        // remove crsr from the deletion area.
+        // Put them behind/on the table; via the
+        // document position they will be put to the old position
         while( !pFrm->IsCellFrm() )
             pFrm = pFrm->GetUpper();
 
         ParkCursorInTab();
 
-        // dann loesche doch die Spalten
+        // then delete the column
         StartUndo(UNDO_COL_DELETE);
         bRet = GetDoc()->DeleteRowCol( aBoxes, true );
         EndUndo(UNDO_COL_DELETE);
@@ -341,7 +341,7 @@ sal_Bool SwFEShell::DeleteCol()
 
 sal_Bool SwFEShell::DeleteRow()
 {
-    // pruefe ob vom aktuellen Crsr der SPoint/Mark in einer Tabelle stehen
+    // check if Spoint/Mark of current cursor are in a table
     SwFrm *pFrm = GetCurrFrm();
     if( !pFrm || !pFrm->IsInTab() )
         return sal_False;
@@ -356,7 +356,7 @@ sal_Bool SwFEShell::DeleteRow()
     SET_CURR_SHELL( this );
     StartAllAction();
 
-    // lasse ueber das Layout die Boxen suchen
+    // search for boxes via the layout
     sal_Bool bRet;
     SwSelBoxes aBoxes;
     GetTblSel( *this, aBoxes, nsSwTblSearchType::TBLSEARCH_ROW );
@@ -365,15 +365,15 @@ sal_Bool SwFEShell::DeleteRow()
     {
         TblWait( aBoxes.size(), pFrm, *GetDoc()->GetDocShell() );
 
-        // die Crsr aus dem Loeschbereich entfernen.
-        // Der Cursor steht danach:
-        //  - es folgt noch eine Zeile, in dieser
-        //  - vorher steht noch eine Zeile, in dieser
-        //  - sonst immer dahinter
+        // Delete crsr from the deletion area.
+        // Then the cursor is:
+        //  - there is one line next to this
+        //  - there is one line previous to this
+        //  - otherwise always next
         {
             SwTableNode* pTblNd = ((SwCntntFrm*)pFrm)->GetNode()->FindTableNode();
 
-            // suche alle Boxen / Lines
+            // search all boxes / lines
             _FndBox aFndBox( 0, 0 );
             {
                 _FndPara aPara( aBoxes, &aFndBox );
@@ -394,7 +394,7 @@ sal_Bool SwFEShell::DeleteRow()
             {
                 _FndBox* pTmp = pFndBox->GetLines()[0]->GetBoxes()[0];
                 if( pTmp->GetBox()->GetSttNd() )
-                    break;      // das ist sonst zu weit
+                    break;      // otherwise too far
                 pFndBox = pTmp;
             }
 
@@ -414,7 +414,7 @@ sal_Bool SwFEShell::DeleteRow()
                     pNextBox->GetFrmFmt()->GetProtect().IsCntntProtected() )
                 pNextBox = pNextBox->FindNextBox( pTblNd->GetTable(), pNextBox );
 
-            if( !pNextBox )         // keine nachfolgende? dann die vorhergehende
+            if( !pNextBox )         // no next? then the previous
             {
                 pDelLine = pFndBox->GetLines()[ 0 ]->GetLine();
                 pDelBox = pDelLine->GetTabBoxes()[ 0 ];
@@ -428,9 +428,9 @@ sal_Bool SwFEShell::DeleteRow()
             }
 
             sal_uLong nIdx;
-            if( pNextBox )      // dann den Cursor hier hinein
+            if( pNextBox )      // put cursor here
                 nIdx = pNextBox->GetSttIdx() + 1;
-            else                // ansonsten hinter die Tabelle
+            else                // otherwise behind the table
                 nIdx = pTblNd->EndOfSectionIndex() + 1;
 
             SwNodeIndex aIdx( GetDoc()->GetNodes(), nIdx );
@@ -443,12 +443,12 @@ sal_Bool SwFEShell::DeleteRow()
                 SwPaM* pPam = GetCrsr();
                 pPam->GetPoint()->nNode = aIdx;
                 pPam->GetPoint()->nContent.Assign( pCNd, 0 );
-                pPam->SetMark();            // beide wollen etwas davon haben
+                pPam->SetMark();            // both want something
                 pPam->DeleteMark();
             }
         }
 
-        // dann loesche doch die Zeilen
+        // now delete the lines
         StartUndo(UNDO_ROW_DELETE);
         bRet = GetDoc()->DeleteRowCol( aBoxes );
         EndUndo(UNDO_ROW_DELETE);
@@ -462,12 +462,12 @@ sal_Bool SwFEShell::DeleteRow()
 
 /***********************************************************************
 #*  Class      :  SwFEShell
-#*  Methoden   :  MergeTab(), SplitTab()
+#*  Methods    :  MergeTab(), SplitTab()
 #***********************************************************************/
 
 sal_uInt16 SwFEShell::MergeTab()
 {
-    // pruefe ob vom aktuellen Crsr der SPoint/Mark in einer Tabelle stehen
+    // check if Spoint/Mark of current cursor are in a table
     sal_uInt16 nRet = TBLMERGE_NOSELECTION;
     if( IsTableMode() )
     {
@@ -498,7 +498,7 @@ sal_uInt16 SwFEShell::MergeTab()
 
 sal_Bool SwFEShell::SplitTab( sal_Bool bVert, sal_uInt16 nCnt, sal_Bool bSameHeight )
 {
-    // pruefe ob vom aktuellen Crsr der SPoint/Mark in einer Tabelle stehen
+    // check if Spoint/Mark of current cursor are in a table
     SwFrm *pFrm = GetCurrFrm();
     if( !pFrm || !pFrm->IsInTab() )
         return sal_False;
@@ -519,7 +519,7 @@ sal_Bool SwFEShell::SplitTab( sal_Bool bVert, sal_uInt16 nCnt, sal_Bool bSameHei
         return sal_False;
     }
     StartAllAction();
-    // lasse ueber das Layout die Boxen suchen
+    // search boxes via the layout
     sal_Bool bRet;
     SwSelBoxes aBoxes;
     GetTblSel( *this, aBoxes );
@@ -527,7 +527,7 @@ sal_Bool SwFEShell::SplitTab( sal_Bool bVert, sal_uInt16 nCnt, sal_Bool bSameHei
     {
         TblWait( nCnt, pFrm, *GetDoc()->GetDocShell(), aBoxes.size() );
 
-        // dann loesche doch die Spalten
+        // now delete the columns
         bRet = GetDoc()->SplitTbl( aBoxes, bVert, nCnt, bSameHeight );
 
         DELETEZ( pLastCols );
@@ -542,14 +542,14 @@ sal_Bool SwFEShell::SplitTab( sal_Bool bVert, sal_uInt16 nCnt, sal_Bool 
bSameHei
 
 /***********************************************************************
 #*  Class      :  SwFEShell
-#*  Methoden   :  _GetTabCols
+#*  Methods    :  _GetTabCols
 #***********************************************************************/
 void SwFEShell::_GetTabCols( SwTabCols &rToFill, const SwFrm *pBox ) const
 {
     const SwTabFrm *pTab = pBox->FindTabFrm();
     if ( pLastCols )
     {
-        //Paar Kleinigkeiten muessen wir schon noch sicherstellen
+        // assure few small things
         sal_Bool bDel = sal_True;
         if ( pColumnCacheLastTable == pTab->GetTable() )
         {
@@ -564,8 +564,8 @@ void SwFEShell::_GetTabCols( SwTabCols &rToFill, const SwFrm *pBox ) const
 
             if ( pColumnCacheLastTabFrm != pTab )
             {
-                //Wenn der TabFrm gewechselt hat, brauchen wir bei gleicher
-                //Breite nur ein wenig shiften.
+                // if TabFrm was changed, we only shift a little bit
+                // as the width is the same
                 SWRECTFNX( pColumnCacheLastTabFrm )
                 if( (pColumnCacheLastTabFrm->Frm().*fnRectX->fnGetWidth)() ==
                     (pTab->Frm().*fnRect->fnGetWidth)() )
@@ -620,14 +620,14 @@ void SwFEShell::_GetTabCols( SwTabCols &rToFill, const SwFrm *pBox ) const
 
 /***********************************************************************
 #*  Class      :  SwFEShell
-#*  Methoden   :  _GetTabRows
+#*  Methods    :  _GetTabRows
 #***********************************************************************/
 void SwFEShell::_GetTabRows( SwTabCols &rToFill, const SwFrm *pBox ) const
 {
     const SwTabFrm *pTab = pBox->FindTabFrm();
     if ( pLastRows )
     {
-        //Paar Kleinigkeiten muessen wir schon noch sicherstellen
+        // assure few things
         sal_Bool bDel = sal_True;
         if ( pRowCacheLastTable == pTab->GetTable() )
         {
@@ -672,7 +672,7 @@ void SwFEShell::_GetTabRows( SwTabCols &rToFill, const SwFrm *pBox ) const
 
 /***********************************************************************
 #*  Class      :  SwFEShell
-#*  Methoden   :  SetTabCols(), GetTabCols()
+#*  Methods    :  SetTabCols(), GetTabCols()
 #***********************************************************************/
 void SwFEShell::SetTabCols( const SwTabCols &rNew, sal_Bool bCurRowOnly )
 {
@@ -753,7 +753,7 @@ void SwFEShell::SetMouseTabRows( const SwTabCols &rNew, sal_Bool bCurColOnly, co
 
 /***********************************************************************
  *  Class      :  SwFEShell
- *  Methoden   :  SetRowSplit(), GetRowSplit()
+ *  Methods    :  SetRowSplit(), GetRowSplit()
  ***********************************************************************/
 
 void SwFEShell::SetRowSplit( const SwFmtRowSplit& rNew )
@@ -771,9 +771,9 @@ void SwFEShell::GetRowSplit( SwFmtRowSplit*& rpSz ) const
 
 
 /***********************************************************************
-#*  Class      :  SwFEShell
-#*  Methoden   :  SetRowHeight(), GetRowHeight()
-#***********************************************************************/
+ *  Class      :  SwFEShell
+ *  Methods    :  SetRowHeight(), GetRowHeight()
+ ***********************************************************************/
 
 void SwFEShell::SetRowHeight( const SwFmtFrmSize &rNew )
 {
@@ -823,7 +823,7 @@ sal_Bool SwFEShell::GetRowBackground( SvxBrushItem &rToFill ) const
 
 /***********************************************************************
 #*  Class      :  SwFEShell
-#*  Methoden   :  SetTabBorders(), GetTabBorders()
+#*  Methods    :  SetTabBorders(), GetTabBorders()
 #***********************************************************************/
 
 void SwFEShell::SetTabBorders( const SfxItemSet& rSet )
@@ -852,7 +852,7 @@ void SwFEShell::GetTabBorders( SfxItemSet& rSet ) const
 
 /***********************************************************************
 #*  Class      :  SwFEShell
-#*  Methoden   :  SetBoxBackground(), GetBoxBackground()
+#*  Methods    :  SetBoxBackground(), GetBoxBackground()
 #***********************************************************************/
 void SwFEShell::SetBoxBackground( const SvxBrushItem &rNew )
 {
@@ -869,7 +869,7 @@ sal_Bool SwFEShell::GetBoxBackground( SvxBrushItem &rToFill ) const
 
 /***********************************************************************
 #*  Class      :  SwFEShell
-#*  Methoden   :  SetBoxDirection(), GetBoxDirection()
+#*  Methods    :  SetBoxDirection(), GetBoxDirection()
 #***********************************************************************/
 void SwFEShell::SetBoxDirection( const SvxFrameDirectionItem& rNew )
 {
@@ -886,7 +886,7 @@ sal_Bool SwFEShell::GetBoxDirection( SvxFrameDirectionItem&  rToFill ) const
 
 /***********************************************************************
 #*  Class      :  SwFEShell
-#*  Methoden   :  SetBoxAlign, SetBoxAlign
+#*  Methods    :  SetBoxAlign, SetBoxAlign
 #***********************************************************************/
 void SwFEShell::SetBoxAlign( sal_uInt16 nAlign )
 {
@@ -903,7 +903,7 @@ sal_uInt16 SwFEShell::GetBoxAlign() const
 
 /***********************************************************************
 #*  Class      :  SwFEShell
-#*  Methoden   :  SetTabBackground(), GetTabBackground()
+#*  Methods    :  SetTabBackground(), GetTabBackground()
 #***********************************************************************/
 void SwFEShell::SetTabBackground( const SvxBrushItem &rNew )
 {
@@ -914,7 +914,7 @@ void SwFEShell::SetTabBackground( const SvxBrushItem &rNew )
     SET_CURR_SHELL( this );
     StartAllAction();
     GetDoc()->SetAttr( rNew, *pFrm->ImplFindTabFrm()->GetFmt() );
-    EndAllAction(); //Kein Call, denn es veraendert sich nichts!
+    EndAllAction(); // no call, nothing changes!
     GetDoc()->SetModified();
 }
 
@@ -928,11 +928,11 @@ void SwFEShell::GetTabBackground( SvxBrushItem &rToFill ) const
 
 /***********************************************************************
 #*  Class      :  SwFEShell
-#*  Methoden   :  HasWholeTabSelection()
+#*  Methods    :  HasWholeTabSelection()
 #***********************************************************************/
 sal_Bool SwFEShell::HasWholeTabSelection() const
 {
-    //Ist die ganze Tabelle Selektiert?
+    // whole table selected?
     if ( IsTableMode() )
     {
         SwSelBoxes aBoxes;
@@ -953,7 +953,7 @@ sal_Bool SwFEShell::HasBoxSelection() const
 {
     if(!IsCrsrInTbl())
         return sal_False;
-    //Ist die ganze Tabelle Selektiert?
+    // whole table selected?
     if( IsTableMode() )
         return sal_True;
     SwPaM* pPam = GetCrsr();
@@ -976,7 +976,7 @@ sal_Bool SwFEShell::HasBoxSelection() const
             if( !pCNd )
             {
                 pCNd = GetDoc()->GetNodes().GoPrevious( &aIdx );
-                OSL_ENSURE( pCNd, "kein ContentNode in der Box ??" );
+                OSL_ENSURE( pCNd, "no ContentNode in box ??" );
             }
             if( pPam->GetMark()->nContent == pCNd->Len() )
             {
@@ -992,7 +992,7 @@ sal_Bool SwFEShell::HasBoxSelection() const
 
 /***********************************************************************
 #*  Class      :  SwFEShell
-#*  Methoden   :  ProtectCells(), UnProtectCells()
+#*  Methods    :  ProtectCells(), UnProtectCells()
 #***********************************************************************/
 void SwFEShell::ProtectCells()
 {
@@ -1013,7 +1013,7 @@ void SwFEShell::ProtectCells()
     EndAllActionAndCall();
 }
 
-// die Tabellenselektion aufheben
+// cancel table selection
 void SwFEShell::UnProtectCells()
 {
     SET_CURR_SHELL( this );
@@ -1085,7 +1085,7 @@ sal_Bool SwFEShell::CanUnProtectCells() const
 
 /***********************************************************************
 #*  Class      :  SwFEShell
-#*  Methoden   :  GetRowsToRepeat(), SetRowsToRepeat()
+#*  Methods    :  GetRowsToRepeat(), SetRowsToRepeat()
 #***********************************************************************/
 sal_uInt16 SwFEShell::GetRowsToRepeat() const
 {
@@ -1109,6 +1109,7 @@ void SwFEShell::SetRowsToRepeat( sal_uInt16 nSet )
         EndAllActionAndCall();
     }
 }
+
 /*-------------------------------------------------------------------------
     returns the number of rows consecutively selected from top
   -----------------------------------------------------------------------*/
@@ -1213,8 +1214,8 @@ void SwFEShell::AdjustCellWidth( sal_Bool bBalance )
     SET_CURR_SHELL( this );
     StartAllAction();
 
-    //WarteCrsr immer einschalten, weil sich im vorraus nicht so recht
-    //ermitteln laesst wieviel Inhalt betroffen ist.
+    // switch on wait-cursor, as we do not know how
+    // much content is affected
     TblWait aWait( USHRT_MAX, 0, *GetDoc()->GetDocShell() );
 
     GetDoc()->AdjustCellWidth( *getShellCrsr( false ), bBalance );
@@ -1223,8 +1224,7 @@ void SwFEShell::AdjustCellWidth( sal_Bool bBalance )
 
 sal_Bool SwFEShell::IsAdjustCellWidthAllowed( sal_Bool bBalance ) const
 {
-    //Es muss mindestens eine Zelle mit Inhalt in der Selektion enthalten
-    //sein.
+    // at least one line with content should be contained in the selection
 
     SwFrm *pFrm = GetCurrFrm();
     if( !pFrm || !pFrm->IsInTab() )
@@ -1267,7 +1267,7 @@ sal_Bool SwFEShell::IsAdjustCellWidthAllowed( sal_Bool bBalance ) const
     return sal_False;
 }
 
-    // AutoFormat fuer die Tabelle/TabellenSelection
+    // AutoFormat for the table/tables selections
 sal_Bool SwFEShell::SetTableAutoFmt( const SwTableAutoFmt& rNew )
 {
     SwTableNode *pTblNd = (SwTableNode*)IsCrsrInTbl();
@@ -1276,10 +1276,10 @@ sal_Bool SwFEShell::SetTableAutoFmt( const SwTableAutoFmt& rNew )
 
     SwSelBoxes aBoxes;
 
-    if ( !IsTableMode() )       // falls Crsr noch nicht akt. sind
+    if ( !IsTableMode() )       // if cursors are not current
         GetCrsr();
 
-    // gesamte Tabelle oder nur auf die akt. Selektion
+    // whole table or only current selection
     if( IsTableMode() )
         ::GetTblSelCrs( *this, aBoxes );
     else
@@ -1314,10 +1314,10 @@ sal_Bool SwFEShell::GetTableAutoFmt( SwTableAutoFmt& rGet )
 
     SwSelBoxes aBoxes;
 
-    if ( !IsTableMode() )       // falls Crsr noch nicht akt. sind
+    if ( !IsTableMode() )       // if cursor are not current
         GetCrsr();
 
-    // gesamte Tabelle oder nur auf die akt. Selektion
+    // whole table or only current selection
     if( IsTableMode() )
         ::GetTblSelCrs( *this, aBoxes );
     else
@@ -1338,7 +1338,7 @@ sal_Bool SwFEShell::GetTableAutoFmt( SwTableAutoFmt& rGet )
 #***********************************************************************/
 sal_Bool SwFEShell::DeleteTblSel()
 {
-    // pruefe ob vom aktuellen Crsr der SPoint/Mark in einer Tabelle stehen
+    // check if SPoint/Mark of current cursor are in a table
     SwFrm *pFrm = GetCurrFrm();
     if( !pFrm || !pFrm->IsInTab() )
         return sal_False;
@@ -1353,7 +1353,7 @@ sal_Bool SwFEShell::DeleteTblSel()
     SET_CURR_SHELL( this );
     StartAllAction();
 
-    // lasse ueber das Layout die Boxen suchen
+   // search boxes via the layout
     sal_Bool bRet;
     SwSelBoxes aBoxes;
     GetTblSelCrs( *this, aBoxes );
@@ -1361,9 +1361,9 @@ sal_Bool SwFEShell::DeleteTblSel()
     {
         TblWait( aBoxes.size(), pFrm, *GetDoc()->GetDocShell() );
 
-        // die Crsr muessen noch aus dem Loesch Bereich entfernt
-        // werden. Setze sie immer hinter/auf die Tabelle; ueber die
-        // Dokument-Position werden sie dann immer an die alte Position gesetzt.
+        // cursor should be removed from deletion area.
+        // Put them behind/on the table; via the document
+        // position they'll be set to the old position
         while( !pFrm->IsCellFrm() )
             pFrm = pFrm->GetUpper();
         ParkCrsr( SwNodeIndex( *((SwCellFrm*)pFrm)->GetTabBox()->GetSttNd() ));
@@ -1390,20 +1390,20 @@ sal_uInt16 SwFEShell::GetCurTabColNum() const
     sal_uInt16 nRet = 0;
 
     SwFrm *pFrm = GetCurrFrm();
-    OSL_ENSURE( pFrm, "Crsr geparkt?" );
+    OSL_ENSURE( pFrm, "Crsr parked?" );
 
-    // pruefe ob vom aktuellen Crsr der SPoint/Mark in einer Tabelle stehen
+    // check if SPoint/Mark of current cursor are in a table
     if( pFrm && pFrm->IsInTab() )
     {
-        do {            // JP 26.09.95: warum mit dem CntntFrame und nicht mit
-                        //              dem CellFrame vergleichen????
+        do {            // JP 26.09.95: why compare with CntntFrame
+                        //              and not with CellFrame ????
             pFrm = pFrm->GetUpper();
         } while ( !pFrm->IsCellFrm() );
         SWRECTFN( pFrm )
 
         const SwPageFrm* pPage = pFrm->FindPageFrm();
 
-        //TabCols besorgen, den nur ueber diese erreichen wir die Position.
+        // get TabCols, as only via these we get to the position
         SwTabCols aTabCols;
         GetTabCols( aTabCols );
 
@@ -1687,12 +1687,12 @@ const SwFrm* SwFEShell::GetBox( const Point &rPt, bool* pbRow, bool* pbCol 
) con
     const SwCellFrm *pFrm = 0;
     if ( pPage )
     {
-        //Per GetCrsrOfst oder GetCntntPos koennen wir hier die Box leider
-        //nicht suchen. Das wuerde zu einem Performance-Zusammenbruch bei
-        //Dokumenten mit vielen Absaetzen/Tabellen auf einer Seite fuehren
+        // We cannot search the box by GetCrsrOfst or GetCntntPos.
+        // This would lead to a performance collapse for documents
+        // with a lot of paragraphs/tables on one page
         //(BrowseMode!)
 
-        //Erst die Flys checken.
+        // check flys first
         if ( pPage->GetSortedObjs() )
         {
             for ( sal_uInt16 i = 0; !pFrm && i < pPage->GetSortedObjs()->Count(); ++i )
@@ -2149,7 +2149,7 @@ sal_uInt16 SwFEShell::GetCurMouseTabColNum( const Point &rPt ) const
     {
         const long nX = pFrm->Frm().Left();
 
-        //TabCols besorgen, den nur ueber diese erreichen wir die Position.
+        // get TabCols, only via these we get the position
         SwTabCols aTabCols;
         GetMouseTabCols( aTabCols, rPt );
 
@@ -2255,8 +2255,8 @@ sal_Bool SwFEShell::SetColRowWidthHeight( sal_uInt16 eType, sal_uInt16 nDiff )
 
     SwTabFrm *pTab = pFrm->ImplFindTabFrm();
 
-    // sollte die Tabelle noch auf relativen Werten (USHRT_MAX) stehen
-    // dann muss es jetzt auf absolute umgerechnet werden.
+    // if the table is in relative values (USHRT_MAX)
+    // then it should be recalculated to absolute values now
     const SwFmtFrmSize& rTblFrmSz = pTab->GetFmt()->GetFrmSize();
     SWRECTFN( pTab )
     long nPrtWidth = (pTab->Prt().*fnRect->fnGetWidth)();
@@ -2351,7 +2351,7 @@ sal_Bool lcl_IsFormulaSelBoxes( const SwTable& rTbl, const SwTblBoxFormula& 
rFml
         sal_uInt16 i;
         for( i = 0; i < rCells.Count(); ++i )
             if( rCells[ i ]->GetTabBox() == pBox )
-                break;      // gefunden
+                break;      // found
 
         if( i == rCells.Count() )
             return sal_False;
@@ -2360,7 +2360,7 @@ sal_Bool lcl_IsFormulaSelBoxes( const SwTable& rTbl, const SwTblBoxFormula& 
rFml
     return sal_True;
 }
 
-    // erfrage die Formel fuer die Autosumme
+    // ask formula for auto-sum
 sal_Bool SwFEShell::GetAutoSum( String& rFml ) const
 {
     SwFrm *pFrm = GetCurrFrm();
@@ -2384,18 +2384,18 @@ sal_Bool SwFEShell::GetAutoSum( String& rFml ) const
             if( !nW )
             {
                 if( USHRT_MAX == nBoxW )
-                    continue;       // leere am Anfang ueberspringen
+                    continue;       // skip space at beginning
 
                 rFml += '(';
                 nInsPos = rFml.Len();
 
-                // Formeln nur wenn diese Boxen enthalten
+                // formula only if box is contained
                 if( RES_BOXATR_FORMULA == nBoxW &&
                     !::lcl_IsFormulaSelBoxes( *pTab->GetTable(), pCFrm->
                     GetTabBox()->GetFrmFmt()->GetTblBoxFormula(), aCells))
                 {
                     nW = RES_BOXATR_VALUE;
-                    // alle vorhierigen Leere wieder mit aufnehmen !
+                    // restore previous spaces!
                     for( sal_uInt16 i = aCells.Count(); n+1 < i; )
                     {
                         String sTmp( String::CreateFromAscii(
@@ -2410,7 +2410,7 @@ sal_Bool SwFEShell::GetAutoSum( String& rFml ) const
             }
             else if( RES_BOXATR_VALUE == nW )
             {
-                // values werden gesucht, Value/Formel/Text gefunden -> aufn.
+                // search for values, Value/Formula/Text found -> include
                 if( RES_BOXATR_FORMULA == nBoxW &&
                     ::lcl_IsFormulaSelBoxes( *pTab->GetTable(), pCFrm->
                         GetTabBox()->GetFrmFmt()->GetTblBoxFormula(), aCells ))
@@ -2422,18 +2422,18 @@ sal_Bool SwFEShell::GetAutoSum( String& rFml ) const
             }
             else if( RES_BOXATR_FORMULA == nW )
             {
-                // bei Formeln nur weiter suchen, wenn die akt. Formel auf
-                // alle Boxen verweist, die sich in der Selektion befinden
+                // only continue search when the current formula points to
+                // all boxes contained in the selection
                 if( RES_BOXATR_FORMULA == nBoxW )
                 {
                     if( !::lcl_IsFormulaSelBoxes( *pTab->GetTable(), pCFrm->
                         GetTabBox()->GetFrmFmt()->GetTblBoxFormula(), aCells ))
                     {
-                        // dann noch mal von vorne und nur die Values!
+                        // redo only for values!
 
                         nW = RES_BOXATR_VALUE;
                         rFml.Erase( nInsPos );
-                        // alle vorhierigen Leere wieder mit aufnehmen !
+                        // restore previous spaces!
                         for( sal_uInt16 i = aCells.Count(); n+1 < i; )
                         {
                             String sTmp( String::CreateFromAscii(
@@ -2449,11 +2449,11 @@ sal_Bool SwFEShell::GetAutoSum( String& rFml ) const
                 else if( USHRT_MAX == nBoxW )
                     break;
                 else
-                    continue;       // diese Boxen ignorieren
+                    continue;       // ignore this box
             }
             else
-                // alles andere beendet die Schleife
-// evt. Texte noch zu lassen??
+                // all other stuff terminates the loop
+                // possibly allow texts??
                 break;
 
             String sTmp( '<' );
diff --git a/sw/source/core/frmedt/fews.cxx b/sw/source/core/frmedt/fews.cxx
index 6795ca7..a71012f 100644
--- a/sw/source/core/frmedt/fews.cxx
+++ b/sw/source/core/frmedt/fews.cxx
@@ -66,7 +66,7 @@ TYPEINIT1(SwFEShell,SwEditShell)
 
 /***********************************************************************
 #*  Class      :  SwFEShell
-#*  Methode    :  EndAllActionAndCall()
+#*  Method     :  EndAllActionAndCall()
 #***********************************************************************/
 
 void SwFEShell::EndAllActionAndCall()
@@ -86,8 +86,8 @@ void SwFEShell::EndAllActionAndCall()
 
 /***********************************************************************
 #*  Class       :  SwFEShell
-#*  Methode     :  GetCntntPos
-#*  Beschreibung:  Ermitteln des Cntnt's der dem Punkt am naechsten liegt
+#*  Method      :  GetCntntPos
+#*  Description :  Determine the Cntnt's nearest to the point
 #***********************************************************************/
 
 Point SwFEShell::GetCntntPos( const Point& rPoint, sal_Bool bNext ) const
@@ -154,7 +154,7 @@ const SwRect& SwFEShell::GetAnyCurRect( CurRectType eType, const Point* pPt,
                                     else {
                                         OSL_FAIL( "Missing Table" );
                                     }
-                                    /* KEIN BREAK */
+                                    /* no break */
         case RECT_SECTION_PRT:
         case RECT_SECTION:          if( pFrm->IsInSct() )
                                         pFrm = pFrm->FindSctFrm();
@@ -196,20 +196,20 @@ sal_Bool SwFEShell::GetPageNumber( long nYPos, sal_Bool bAtCrsrPos, 
sal_uInt16&
 {
     const SwFrm *pPage;
 
-    if ( bAtCrsrPos )                   //Seite vom Crsr besorgen
+    if ( bAtCrsrPos )                   // get page of Crsr
     {
         pPage = GetCurrFrm( sal_False );
         if ( pPage )
             pPage = pPage->FindPageFrm();
     }
-    else if ( nYPos > -1 )              //Seite ueber die Positon ermitteln
+    else if ( nYPos > -1 )              // determine page via the position
     {
         pPage = GetLayout()->Lower();
         while( pPage &&  (pPage->Frm().Bottom() < nYPos ||
                             nYPos < pPage->Frm().Top() ) )
             pPage = pPage->GetNext();
     }
-    else                                //Die erste sichtbare Seite
+    else                                // first visible page
     {
         pPage = Imp()->GetFirstVisPage();
         if ( pPage && ((SwPageFrm*)pPage)->IsEmptyPage() )
@@ -274,7 +274,7 @@ sal_uInt16 SwFEShell::GetFrmType( const Point *pPt, sal_Bool bStopAtFly ) const
                                         nReturn |= ( nReturn & FRMTYPE_TABLE ) ?
                                             FRMTYPE_COLSECTOUTTAB : FRMTYPE_COLSECT;
                                 }
-                                else // nur Seiten und Rahmenspalten
+                                else // only pages and frame columns
                                     nReturn |= FRMTYPE_COLUMN;
                                 break;
             case FRM_PAGE:      nReturn |= FRMTYPE_PAGE;
@@ -283,7 +283,7 @@ sal_uInt16 SwFEShell::GetFrmType( const Point *pPt, sal_Bool bStopAtFly ) const
                                 break;
             case FRM_HEADER:    nReturn |= FRMTYPE_HEADER;      break;
             case FRM_FOOTER:    nReturn |= FRMTYPE_FOOTER;      break;
-            case FRM_BODY:      if( pFrm->GetUpper()->IsPageFrm() ) // nicht bei ColumnFrms
+            case FRM_BODY:      if( pFrm->GetUpper()->IsPageFrm() ) // not for ColumnFrms
                                     nReturn |= FRMTYPE_BODY;
                                 break;
             case FRM_FTN:       nReturn |= FRMTYPE_FOOTNOTE;    break;
@@ -294,7 +294,7 @@ sal_uInt16 SwFEShell::GetFrmType( const Point *pPt, sal_Bool bStopAtFly ) const
                                 else
                                 {
                                     OSL_ENSURE( ((SwFlyFrm*)pFrm)->IsFlyInCntFrm(),
-                                            "Neuer Rahmentyp?" );
+                                            "New frametype?" );
                                     nReturn |= FRMTYPE_FLY_INCNT;
                                 }
                                 nReturn |= FRMTYPE_FLY_ANY;
@@ -380,7 +380,7 @@ void lcl_SetAPageOffset( sal_uInt16 nOffset, SwPageFrm* pPage, SwFEShell* pThis
 {
     pThis->StartAllAction();
     OSL_ENSURE( pPage->FindFirstBodyCntnt(),
-            "SwFEShell _SetAPageOffset() ohne CntntFrm" );
+            "SwFEShell _SetAPageOffset() without CntntFrm" );
 
     SwFmtPageDesc aDesc( pPage->GetPageDesc() );
     aDesc.SetNumOffset( nOffset );
@@ -457,8 +457,8 @@ void SwFEShell::InsertLabel( const SwLabelType eType, const String &rTxt, const
                              const String& rCharacterStyle,
                              const sal_Bool bCpyBrd )
 {
-    //NodeIndex der CrsrPosition besorgen, den Rest kann das Dokument
-    //selbst erledigen.
+    // get CrsrPosition of NodeIndex, remaining stuff can
+    // be done by the document self
     SwCntntFrm *pCnt = LTYPE_DRAW==eType ? 0 : GetCurrFrm( sal_False );
     if( LTYPE_DRAW==eType || pCnt )
     {
@@ -472,7 +472,7 @@ void SwFEShell::InsertLabel( const SwLabelType eType, const String &rTxt, const
         case LTYPE_FLY:
             if( pCnt->IsInFly() )
             {
-                //Bei Flys den Index auf den StartNode herunterreichen.
+                // pass down index to the startnode for flys
                 nIdx = pCnt->FindFlyFrm()->
                             GetFmt()->GetCntnt().GetCntntIdx()->GetIndex();
             }
@@ -480,7 +480,7 @@ void SwFEShell::InsertLabel( const SwLabelType eType, const String &rTxt, const
         case LTYPE_TABLE:
             if( pCnt->IsInTab() )
             {
-                //Bei Tabellen den Index auf den TblNode herunterreichen.
+                // pass down index to the TblNode for tables
                 const SwTable& rTbl = *pCnt->FindTabFrm()->GetTable();
                 nIdx = rTbl.GetTabSortBoxes()[ 0 ]
                             ->GetSttNd()->FindTableNode()->GetIndex();
@@ -524,7 +524,7 @@ void SwFEShell::InsertLabel( const SwLabelType eType, const String &rTxt, const
             }
             break;
         default:
-            OSL_ENSURE( !this, "Crsr weder in Tabelle noch in Fly." );
+            OSL_ENSURE( !this, "Crsr both not in table nor in fly." );
         }
 
         if( nIdx )
@@ -543,7 +543,7 @@ void SwFEShell::InsertLabel( const SwLabelType eType, const String &rTxt, const
 
 /***********************************************************************
 #*  Class       :  SwFEShell
-#*  Methoden    :  Sort
+#*  Method      :  Sort
 #***********************************************************************/
 
 sal_Bool SwFEShell::Sort(const SwSortOptions& rOpt)
@@ -556,18 +556,18 @@ sal_Bool SwFEShell::Sort(const SwSortOptions& rOpt)
     StartAllAction();
     if(IsTableMode())
     {
-        // Tabelle sortieren
-        // pruefe ob vom aktuellen Crsr der SPoint/Mark in einer Tabelle stehen
+        // Sort table
+        // check if SPoint/Mark of current Crsr are in one table
         SwFrm *pFrm = GetCurrFrm( sal_False );
-        OSL_ENSURE( pFrm->FindTabFrm(), "Crsr nicht in Tabelle." );
+        OSL_ENSURE( pFrm->FindTabFrm(), "Crsr not in table." );
 
-        // lasse ueber das Layout die Boxen suchen
+        // search boxes via the layout
         SwSelBoxes  aBoxes;
         GetTblSel(*this, aBoxes);
 
-        // die Crsr muessen noch aus dem Loesch Bereich entfernt
-        // werden. Setze sie immer hinter/auf die Tabelle; ueber die
-        // Dokument-Position werden sie dann immer an die alte Position gesetzt.
+        // The Crsr should be removed from the deletion area.
+        // Always put them behind/on the table; via the
+        // document position they will always be set to the old position
         while( !pFrm->IsCellFrm() )
             pFrm = pFrm->GetUpper();
         {
@@ -575,12 +575,12 @@ sal_Bool SwFEShell::Sort(const SwSortOptions& rOpt)
             ParkCursorInTab();
         }
 
-        // Sorting am Dokument aufrufen
+        // call sorting on document
         bRet = pDoc->SortTbl(aBoxes, rOpt);
     }
     else
     {
-        // Text sortieren und nichts anderes
+        // Sort text nothing else
         FOREACHPAM_START(this)
 
             SwPaM* pPam = PCURCRSR;
@@ -592,10 +592,10 @@ sal_Bool SwFEShell::Sort(const SwSortOptions& rOpt)
             sal_uLong nOffset = pEnd->nNode.GetIndex() - pStart->nNode.GetIndex();
             xub_StrLen nCntStt  = pStart->nContent.GetIndex();
 
-            // Das Sortieren
+            // Sorting
             bRet = pDoc->SortText(*pPam, rOpt);
 
-            // Selektion wieder setzen
+            // put selection again
             pPam->DeleteMark();
             pPam->GetPoint()->nNode.Assign( aPrevIdx.GetNode(), +1 );
             SwCntntNode* pCNd = pPam->GetCntntNode();
@@ -639,7 +639,7 @@ sal_uInt16 SwFEShell::_GetCurColNum( const SwFrm *pFrm,
 
             if( pPara )
             {
-                // dann suche mal das Format, was diese Spaltigkeit bestimmt
+                // now search the format, determining the columness
                 pFrm = pCurFrm->GetUpper();
                 while( pFrm )
                 {
@@ -667,7 +667,7 @@ sal_uInt16 SwFEShell::_GetCurColNum( const SwFrm *pFrm,
 
 sal_uInt16 SwFEShell::GetCurColNum( SwGetCurColNumPara* pPara ) const
 {
-    OSL_ENSURE( GetCurrFrm(), "Crsr geparkt?" );
+    OSL_ENSURE( GetCurrFrm(), "Crsr parked?" );
     return _GetCurColNum( GetCurrFrm(), pPara );
 }
 
@@ -675,7 +675,7 @@ sal_uInt16 SwFEShell::GetCurOutColNum( SwGetCurColNumPara* pPara ) const
 {
     sal_uInt16 nRet = 0;
     SwFrm* pFrm = GetCurrFrm();
-    OSL_ENSURE( pFrm, "Crsr geparkt?" );
+    OSL_ENSURE( pFrm, "Crsr parked?" );
     if( pFrm )
     {
         pFrm = pFrm->IsInTab() ? (SwFrm*)pFrm->FindTabFrm()
@@ -795,7 +795,7 @@ void SwFEShell::CalcBoundRect( SwRect& _orRect,
             {
                 case text::RelOrientation::PRINT_AREA:
                 case text::RelOrientation::PAGE_PRINT_AREA: aPos.X() += pFrm->Prt().Width();
-                // kein break
+                // no break
                 case text::RelOrientation::PAGE_RIGHT:
                 case text::RelOrientation::FRAME_RIGHT: aPos.X() += pFrm->Prt().Left(); break;
                 default: aPos.X() += pFrm->Frm().Width();
@@ -807,7 +807,7 @@ void SwFEShell::CalcBoundRect( SwRect& _orRect,
             {
                 case text::RelOrientation::PRINT_AREA:
                 case text::RelOrientation::PAGE_PRINT_AREA: aPos.X() += pFrm->Prt().Width();
-                // kein break!
+                // no break!
                 case text::RelOrientation::PAGE_LEFT:
                 case text::RelOrientation::FRAME_LEFT: aPos.X() += pFrm->Prt().Left() -
                                                pFrm->Frm().Width(); break;
@@ -820,7 +820,7 @@ void SwFEShell::CalcBoundRect( SwRect& _orRect,
             {
                 case text::RelOrientation::PAGE_RIGHT:
                 case text::RelOrientation::FRAME_RIGHT:   aPos.X() += pFrm->Prt().Width();
-                // kein break!
+                // no break!
                 case text::RelOrientation::PRINT_AREA:
                 case text::RelOrientation::PAGE_PRINT_AREA: aPos.X() += pFrm->Prt().Left(); break;
                 default:break;
@@ -1083,7 +1083,7 @@ void SwFEShell::CalcBoundRect( SwRect& _orRect,
                     (_orRect.*fnRect->fnSetBottom)( nBottom );
                 }
             }
-            // bei zeichengebundenen lieber nur 90% der Hoehe ausnutzen
+            // only use 90% of height for character bound
             {
                 if( bVert || bVertL2R )
                     _orRect.Width( (_orRect.Width()*9)/10 );
diff --git a/sw/source/core/frmedt/tblsel.cxx b/sw/source/core/frmedt/tblsel.cxx
index 1848a02..1729c4e 100644
--- a/sw/source/core/frmedt/tblsel.cxx
+++ b/sw/source/core/frmedt/tblsel.cxx
@@ -58,17 +58,17 @@
 #include <switerator.hxx>
 #include <deque>
 
-//siehe auch swtable.cxx
+// see also swtable.cxx
 #define COLFUZZY 20L
 
-// defines, die bestimmen, wie Tabellen Boxen gemergt werden:
-//  - 1. alle leeren Zeilen entfernen, alle Boxen werden mit Blank,
-//      alle Lines mit ParaBreak getrennt
-//  - 2. alle leeren Zeilen und alle leeren Boxen am Anfang und Ende
-//      entfernen, alle Boxen werden mit Blank,
-//      alle Lines mit ParaBreak getrennt
-//  - 3. alle leeren Boxen entfernen, alle Boxen werden mit Blank,
-//      alle Lines mit ParaBreak getrennt
+// defines, determining how tables are merged:
+//  - 1. remove empty lines, all boxes separated with blanks,
+//      all empty lines separated with ParaBreak
+//  - 2. remove all empty lines and remove all empty boxes at beginning and end,
+//      all boxes separated with Blank,
+//      all lines separated with ParaBreak
+//  - 3. remove all empty boxes, all boxes separated with blanks,
+//      all lines separated with ParaBreak
 
 #undef      DEL_ONLY_EMPTY_LINES
 #undef      DEL_EMPTY_BOXES_AT_START_AND_END
@@ -132,7 +132,7 @@ const SwLayoutFrm *lcl_FindCellFrm( const SwLayoutFrm *pLay )
 
 const SwLayoutFrm *lcl_FindNextCellFrm( const SwLayoutFrm *pLay )
 {
-    //Dafuer sorgen, dass die Zelle auch verlassen wird (Bereiche)
+    // assure cell is left  (areas)
     const SwLayoutFrm *pTmp = pLay;
     do {
         pTmp = pTmp->GetNextLayoutLeaf();
@@ -173,7 +173,7 @@ void GetTblSelCrs( const SwTableCursor& rTblCrsr, SwSelBoxes& rBoxes )
 void GetTblSel( const SwCrsrShell& rShell, SwSelBoxes& rBoxes,
                 const SwTblSearchType eSearchType )
 {
-    //Start- und Endzelle besorgen und den naechsten fragen.
+    // get start- and endcell  and request next.
     if ( !rShell.IsTableMode() )
         rShell.GetCrsr();
 
@@ -183,14 +183,13 @@ void GetTblSel( const SwCrsrShell& rShell, SwSelBoxes& rBoxes,
 void GetTblSel( const SwCursor& rCrsr, SwSelBoxes& rBoxes,
                 const SwTblSearchType eSearchType )
 {
-    //Start- und Endzelle besorgen und den naechsten fragen.
+    // get start- and endcell  and request next.
     OSL_ENSURE( rCrsr.GetCntntNode() && rCrsr.GetCntntNode( sal_False ),
-            "Tabselection nicht auf Cnt." );
+            "Tabselection not on Cnt." );
 
-    // Zeilen-Selektion:
-    // teste ob Tabelle komplex ist. Wenn ja, dann immer uebers Layout
-    // die selektierten Boxen zusammen suchen. Andernfalls ueber die
-    // Tabellen-Struktur (fuer Makros !!)
+    // Row-selection:
+    // Check for complex tables. If Yes, search selected boxes via
+    // the layout. Otherwise via the table structure (for macros !!)
     const SwCntntNode* pContentNd = rCrsr.GetNode()->GetCntntNode();
     const SwTableNode* pTblNd = pContentNd ? pContentNd->FindTableNode() : 0;
     if( pTblNd && pTblNd->GetTable().IsNewModel() )
@@ -220,14 +219,14 @@ void GetTblSel( const SwCursor& rCrsr, SwSelBoxes& rBoxes,
 
         const SwTableLine* pLine = pMarkBox ? pMarkBox->GetUpper() : 0;
         sal_uInt16 nSttPos = rLines.GetPos( pLine );
-        OSL_ENSURE( USHRT_MAX != nSttPos, "Wo ist meine Zeile in der Tabelle?" );
+        OSL_ENSURE( USHRT_MAX != nSttPos, "Where is my row in the table?" );
         pLine = rTbl.GetTblBox( rCrsr.GetNode( sal_True )->StartOfSectionIndex() )->GetUpper();
         sal_uInt16 nEndPos = rLines.GetPos( pLine );
-        OSL_ENSURE( USHRT_MAX != nEndPos, "Wo ist meine Zeile in der Tabelle?" );
+        OSL_ENSURE( USHRT_MAX != nEndPos, "Where is my row in the table?" );
         // pb: #i20193# if tableintable then nSttPos == nEndPos == USHRT_MAX
         if ( nSttPos != USHRT_MAX && nEndPos != USHRT_MAX )
         {
-            if( nEndPos < nSttPos )     // vertauschen
+            if( nEndPos < nSttPos )     // exchange
             {
                 sal_uInt16 nTmp = nSttPos; nSttPos = nEndPos; nEndPos = nTmp;
             }
@@ -239,7 +238,7 @@ void GetTblSel( const SwCursor& rCrsr, SwSelBoxes& rBoxes,
                 for( sal_uInt16 n = pLine->GetTabBoxes().Count(); n ; )
                 {
                     SwTableBox* pBox = pLine->GetTabBoxes()[ --n ];
-                    // Zellenschutzt beachten ??
+                    // check for cell protection??
                     if( !bChkProtected ||
                         !pBox->GetFrmFmt()->GetProtect().IsCntntProtected() )
                         rBoxes.insert( pBox );
@@ -288,7 +287,7 @@ void GetTblSel( const SwLayoutFrm* pStart, const SwLayoutFrm* pEnd,
     do {
         bTblIsValid = sal_True;
 
-        //Zuerst lassen wir uns die Tabellen und die Rechtecke heraussuchen.
+        // First we search for tables and squares
         SwSelUnions aUnions;
         ::MakeSelUnions( aUnions, pStart, pEnd, eSearchType );
 
@@ -301,7 +300,7 @@ void GetTblSel( const SwLayoutFrm* pStart, const SwLayoutFrm* pEnd,
         const SwCellFrm* pCurrentBottomLeftFrm  = 0;
         const SwCellFrm* pCurrentBottomRightFrm  = 0;
 
-        //Jetzt zu jedem Eintrag die Boxen herausfischen und uebertragen.
+        // Now find boxes for each entry and emit
         for( i = 0; i < aUnions.Count() && bTblIsValid; ++i )
         {
             SwSelUnion *pUnion = aUnions[i];
@@ -342,7 +341,7 @@ void GetTblSel( const SwLayoutFrm* pStart, const SwLayoutFrm* pEnd,
                         {
                             SwTableBox* pBox = (SwTableBox*)
                                 ((SwCellFrm*)pCell)->GetTabBox();
-                            // Zellenschutzt beachten ??
+                            // check for cell protection??
                             if( !bChkProtected ||
                                 !pBox->GetFrmFmt()->GetProtect().IsCntntProtected() )
                                 rBoxes.insert( pBox );
@@ -416,8 +415,8 @@ void GetTblSel( const SwLayoutFrm* pStart, const SwLayoutFrm* pEnd,
 
         SwDeletionChecker aDelCheck( pStart );
 
-        // ansonsten das Layout der Tabelle kurz "kalkulieren" lassen
-        // und nochmals neu aufsetzen
+        // otherwise quickly "calculate" the table layout
+        // and set it up again
         SwTabFrm *pTable = aUnions[0]->GetTable();
         while( pTable )
         {
@@ -442,7 +441,7 @@ void GetTblSel( const SwLayoutFrm* pStart, const SwLayoutFrm* pEnd,
         --nLoopMax;
 
     } while( sal_True );
-    OSL_ENSURE( nLoopMax, "das Layout der Tabelle wurde nicht valide!" );
+    OSL_ENSURE( nLoopMax, "Table layout is still invalid!" );
 }
 
 
@@ -470,7 +469,7 @@ sal_Bool ChkChartSel( const SwNode& rSttNd, const SwNode& rEndNd,
             return sal_False;
 
     const SwLayoutFrm *pStart = pCNd ? pCNd->getLayoutFrm( pCNd->GetDoc()->GetCurrentLayout(), 
&aNullPos )->GetUpper() : 0;
-    OSL_ENSURE( pStart, "ohne Frame geht gar nichts" );
+    OSL_ENSURE( pStart, "without frame nothing works" );
 
     aIdx = rEndNd;
     pCNd = aIdx.GetNode().GetCntntNode();
@@ -484,7 +483,7 @@ sal_Bool ChkChartSel( const SwNode& rSttNd, const SwNode& rEndNd,
     }
 
     const SwLayoutFrm *pEnd = pCNd ? pCNd->getLayoutFrm( pCNd->GetDoc()->GetCurrentLayout(), 
&aNullPos )->GetUpper() : 0;
-    OSL_ENSURE( pEnd, "ohne Frame geht gar nichts" );
+    OSL_ENSURE( pEnd, "without frame nothing works" );
 
 
     sal_Bool bTblIsValid, bValidChartSel;
@@ -498,11 +497,11 @@ sal_Bool ChkChartSel( const SwNode& rSttNd, const SwNode& rEndNd,
 
         sal_uInt16 nRowCells = USHRT_MAX;
 
-        //Zuerst lassen wir uns die Tabellen und die Rechtecke heraussuchen.
+        // First we search for tables and squares
         SwSelUnions aUnions;
         ::MakeSelUnions( aUnions, pStart, pEnd, nsSwTblSearchType::TBLSEARCH_NO_UNION_CORRECT );
 
-        //Jetzt zu jedem Eintrag die Boxen herausfischen und uebertragen.
+        // find boxes for each entry and emit
         for( i = 0; i < aUnions.Count() && bTblIsValid &&
                                     bValidChartSel; ++i )
         {
@@ -555,8 +554,7 @@ sal_Bool ChkChartSel( const SwNode& rSttNd, const SwNode& rEndNd,
                         const long nFrmRight = rFrmRect.Right();
                         const long nFrmBottom = rFrmRect.Bottom();
 
-                        // liegt das FrmRect ausserhalb der Union, kann es
-                        // ignoriert werden.
+                        // ignore if FrmRect is outside the union
 
                         const long nXFuzzy = bVert ? 0 : 20;
                         const long nYFuzzy = bVert ? 20 : 0;
@@ -568,9 +566,8 @@ sal_Bool ChkChartSel( const SwNode& rSttNd, const SwNode& rEndNd,
                         {
                             // ok, rUnion is _not_ completely outside of rFrmRect
 
-                            // wenn es aber nicht komplett in der Union liegt,
-                            // dann ist es fuers Chart eine ungueltige
-                            // Selektion.
+                            // if not completely outside the union, then for Chart
+                            // it is an invalid selection
                             if( rUnion.Left()   <= rFrmRect.Left() + nXFuzzy &&
                                 rFrmRect.Left() <= nUnionRight &&
                                 rUnion.Left()   <= nFrmRight &&
@@ -604,8 +601,8 @@ sal_Bool ChkChartSel( const SwNode& rSttNd, const SwNode& rEndNd,
             if( !bValidChartSel )
                 break;
 
-            // alle Zellen der (Teil-)Tabelle zusammen. Dann teste mal ob
-            // all huebsch nebeneinander liegen.
+            // all cells of the (part) table together. Now check of
+            // they're all adjacent
             size_t n, nCellCnt = 0;
             long nYPos = LONG_MAX;
             long nXPos = 0;
@@ -616,10 +613,10 @@ sal_Bool ChkChartSel( const SwNode& rSttNd, const SwNode& rEndNd,
                 const _Sort_CellFrm& rCF = aCellFrms[ n ];
                 if( (rCF.pFrm->Frm().*fnRect->fnGetTop)() != nYPos )
                 {
-                    // neue Zeile
+                    // new row
                     if( n )
                     {
-                        if( USHRT_MAX == nRowCells )        // 1. Zeilenwechsel
+                        if( USHRT_MAX == nRowCells )        // 1. row exchange
                             nRowCells = nCellCnt;
                         else if( nRowCells != nCellCnt )
                         {
@@ -681,8 +678,7 @@ sal_Bool ChkChartSel( const SwNode& rSttNd, const SwNode& rEndNd,
         if( bTblIsValid )
             break;
 
-        // ansonsten das Layout der Tabelle kurz "kalkulieren" lassen
-        // und nochmals neu aufsetzen
+        // otherwise quickly "calculate" table layout and set it up again
         SwTabFrm *pTable = aUnions[0]->GetTable();
         for( i = 0; i < aUnions.Count(); ++i )
         {
@@ -699,7 +695,7 @@ sal_Bool ChkChartSel( const SwNode& rSttNd, const SwNode& rEndNd,
             pGetCLines->DeleteAndDestroy( 0, pGetCLines->Count() );
     } while( sal_True );
 
-    OSL_ENSURE( nLoopMax, "das Layout der Tabelle wurde nicht valide!" );
+    OSL_ENSURE( nLoopMax, "table layout is still invalide!" );
 
     if( !bValidChartSel && pGetCLines )
         pGetCLines->DeleteAndDestroy( 0, pGetCLines->Count() );
@@ -710,7 +706,7 @@ sal_Bool ChkChartSel( const SwNode& rSttNd, const SwNode& rEndNd,
 
 sal_Bool IsFrmInTblSel( const SwRect& rUnion, const SwFrm* pCell )
 {
-    OSL_ENSURE( pCell->IsCellFrm(), "Frame ohne Gazelle" );
+    OSL_ENSURE( pCell->IsCellFrm(), "Frame without Gazelle" );
 
     if( pCell->FindTabFrm()->IsVertical() )
         return ( rUnion.Right() >= pCell->Frm().Right() &&
@@ -746,16 +742,16 @@ sal_Bool GetAutoSumSel( const SwCrsrShell& rShell, SwCellFrms& rBoxes )
     while( pSttCell && !pSttCell->IsCellFrm() )
         pSttCell = pSttCell->GetUpper();
 
-    //Zuerst lassen wir uns die Tabellen und die Rechtecke heraussuchen.
+    // first we search for tables and squares
     SwSelUnions aUnions;
 
-    // default erstmal nach oben testen, dann nach links
+    // then we test for above and to the left
     ::MakeSelUnions( aUnions, pStart, pEnd, nsSwTblSearchType::TBLSEARCH_COL );
 
     sal_Bool bTstRow = sal_True, bFound = sal_False;
     sal_uInt16 i;
 
-    // 1. teste ob die darueber liegende Box Value/Formel enhaelt:
+    // 1. check if box above contains values/formulas
     for( i = 0; i < aUnions.Count(); ++i )
     {
         SwSelUnion *pUnion = aUnions[i];
@@ -783,14 +779,14 @@ sal_Bool GetAutoSumSel( const SwCrsrShell& rShell, SwCellFrms& rBoxes )
                                 ->GetTabBox()->IsFormulaOrValueBox() ))
                                 break;
 
-                        // alle Boxen zusammen, nicht mehr die Zeile
-                        // pruefen, wenn eine Formel oder Value gefunden wurde
+                        // all boxes together, do not check the
+                        // row, if a formula of values was found
                         bTstRow = 0 == nWhichId || USHRT_MAX == nWhichId;
                         bFound = sal_True;
                         break;
                     }
 
-                    OSL_ENSURE( pCell->IsCellFrm(), "Frame ohne Celle" );
+                    OSL_ENSURE( pCell->IsCellFrm(), "Frame without cell" );
                     if( ::IsFrmInTblSel( pUnion->GetUnion(), pCell ) )
                         pUpperCell = (SwCellFrm*)pCell;
 
@@ -817,7 +813,7 @@ sal_Bool GetAutoSumSel( const SwCrsrShell& rShell, SwCellFrms& rBoxes )
     }
 
 
-    // 2. teste ob die links liegende Box Value/Formel enhaelt:
+    // 2. check if box on left contains value/formula
     if( bTstRow )
     {
         bFound = sal_False;
@@ -852,14 +848,14 @@ sal_Bool GetAutoSumSel( const SwCrsrShell& rShell, SwCellFrms& rBoxes )
                                     ->GetTabBox()->IsFormulaOrValueBox() ))
                                     break;
 
-                            // alle Boxen zusammen, nicht mehr die Zeile
-                            // pruefen, wenn eine Formel oder Value gefunden wurde
+                            // all boxes together, do not check the
+                            // row, if a formula of values was found
                             bFound = 0 != nWhichId && USHRT_MAX != nWhichId;
                             bTstRow = sal_False;
                             break;
                         }
 
-                        OSL_ENSURE( pCell->IsCellFrm(), "Frame ohne Celle" );
+                        OSL_ENSURE( pCell->IsCellFrm(), "Frame without cell" );
                         if( ::IsFrmInTblSel( pUnion->GetUnion(), pCell ) )
                         {
                             const SwCellFrm* pC = (SwCellFrm*)pCell;
@@ -909,7 +905,7 @@ _CmpLPt::_CmpLPt( const Point& rPt, const SwTableBox* pBox, sal_Bool bVertical )
 void lcl_InsTblBox( SwTableNode* pTblNd, SwDoc* pDoc, SwTableBox* pBox,
                         sal_uInt16 nInsPos, sal_uInt16 nCnt = 1 )
 {
-    OSL_ENSURE( pBox->GetSttNd(), "Box ohne Start-Node" );
+    OSL_ENSURE( pBox->GetSttNd(), "Box without Start-Node" );
     SwCntntNode* pCNd = pDoc->GetNodes()[ pBox->GetSttIdx() + 1 ]
                                 ->GetCntntNode();
     if( pCNd && pCNd->IsTxtNode() )
@@ -937,7 +933,7 @@ sal_Bool IsEmptyBox( const SwTableBox& rBox, SwPaM& rPam )
 
     if( bRet )
     {
-        // dann teste mal auf absatzgebundenen Flys
+        // now check for paragraph bound flyes
         const SwSpzFrmFmts& rFmts = *rPam.GetDoc()->GetSpzFrmFmts();
         sal_uLong nSttIdx = rPam.GetPoint()->nNode.GetIndex(),
               nEndIdx = rBox.GetSttNd()->EndOfSectionIndex(),
@@ -967,13 +963,13 @@ void GetMergeSel( const SwPaM& rPam, SwSelBoxes& rBoxes,
 {
     rBoxes.clear();
 
-    //Zuerst lassen wir uns die Tabellen und die Rechtecke heraussuchen.
+    // first we check for tables and squares
     OSL_ENSURE( rPam.GetCntntNode() && rPam.GetCntntNode( sal_False ),
-            "Tabselection nicht auf Cnt." );
+            "Tabselection not on Cnt." );
 
-//JP 24.09.96: Merge mit wiederholenden TabellenHeadline funktioniert nicht
-//              richtig. Warum nicht Point 0,0 benutzen? Dann ist garantiert,
-//              das die 1. Headline mit drin ist.
+//JP 24.09.96:  Merge with repeating TableHeadLines does not work properly.
+//              Why not use point 0,0? Then it is assured the first
+//              headline is contained.
     Point aPt( 0, 0 );
 
     const SwCntntNode* pCntNd = rPam.GetCntntNode();
@@ -993,7 +989,7 @@ void GetMergeSel( const SwPaM& rPam, SwSelBoxes& rBoxes,
     SwTableNode* pTblNd = (SwTableNode*)pTable->GetTabSortBoxes()[ 0 ]->
                                         GetSttNd()->FindTableNode();
 
-    _MergePos aPosArr;      // Sort-Array mit den Positionen der Frames
+    _MergePos aPosArr;      // Sort-Array with the frame positions
     long nWidth;
     SwTableBox* pLastBox = 0;
 
@@ -1018,14 +1014,14 @@ void GetMergeSel( const SwPaM& rPam, SwSelBoxes& rBoxes,
 
                 while ( pCell && pRow->IsAnLower( pCell ) )
                 {
-                    OSL_ENSURE( pCell->IsCellFrm(), "Frame ohne Celle" );
-                        // in der vollen Breite ueberlappend ?
+                    OSL_ENSURE( pCell->IsCellFrm(), "Frame without cell" );
+                    // overlap in full width?
                     if( rUnion.Top() <= pCell->Frm().Top() &&
                         rUnion.Bottom() >= pCell->Frm().Bottom() )
                     {
                         SwTableBox* pBox =(SwTableBox*)((SwCellFrm*)pCell)->GetTabBox();
 
-                        // nur nach rechts ueberlappend
+                        // only overlap to the right?
                         if( ( rUnion.Left() - COLFUZZY ) <= pCell->Frm().Left() &&
                             ( rUnion.Right() - COLFUZZY ) > pCell->Frm().Left() )
                         {
@@ -1043,7 +1039,7 @@ void GetMergeSel( const SwPaM& rPam, SwSelBoxes& rBoxes,
                                 long nTmpWidth = aNew.GetWidth() - nWidth;
                                 aNew.SetWidth( nWidth );
                                 pBox->GetFrmFmt()->SetFmtAttr( aNew );
-                                // diese Box ist selektiert
+                                // this box is selected
                                 pLastBox = pBox;
                                 rBoxes.insert( pBox );
                                 aPosArr.Insert(
@@ -1060,7 +1056,7 @@ void GetMergeSel( const SwPaM& rPam, SwSelBoxes& rBoxes,
                             }
                             else
                             {
-                                // diese Box ist selektiert
+                                // this box is selected
                                 pLastBox = pBox;
                                 rBoxes.insert( pBox );
 #if OSL_DEBUG_LEVEL > 1
@@ -1071,7 +1067,7 @@ void GetMergeSel( const SwPaM& rPam, SwSelBoxes& rBoxes,
                                     pBox, bVert ) );
                             }
                         }
-                        // oder rechts und links ueberlappend
+                        // overlapping on left- or right-side
                         else if( ( rUnion.Left() - COLFUZZY ) >= pCell->Frm().Left() &&
                                 ( rUnion.Right() + COLFUZZY ) < pCell->Frm().Right() )
                         {
@@ -1111,7 +1107,7 @@ void GetMergeSel( const SwPaM& rPam, SwSelBoxes& rBoxes,
                             if( pUndo )
                                 pUndo->AddNewBox( pBox->GetSttIdx() );
 
-                            // diese Box ist selektiert
+                            // this box is selected
                             pLastBox = pBox;
                             rBoxes.insert( pBox );
                             aPosArr.Insert(
@@ -1126,14 +1122,12 @@ void GetMergeSel( const SwPaM& rPam, SwSelBoxes& rBoxes,
                             if( pUndo )
                                 pUndo->AddNewBox( pBox->GetSttIdx() );
                         }
-                        // oder reicht die rechte Kante der Box in den
-                        // selektierten Bereich?
+                       // is right side of box part of the selected area?
                         else if( ( pCell->Frm().Right() - COLFUZZY ) < rUnion.Right() &&
                                  ( pCell->Frm().Right() - COLFUZZY ) > rUnion.Left() &&
                                  ( pCell->Frm().Left() + COLFUZZY ) < rUnion.Left() )
                         {
-                            // dann muss eine neue Box einfuegt und die
-                            // Breiten angepasst werden
+                            // then we should insert a new box and adjust the widths
                             sal_uInt16 nInsPos = pBox->GetUpper()->GetTabBoxes().
                                             C40_GETPOS( SwTableBox, pBox )+1;
                             lcl_InsTblBox( pTblNd, pDoc, pBox, nInsPos, 1 );
@@ -1150,7 +1144,7 @@ void GetMergeSel( const SwPaM& rPam, SwSelBoxes& rBoxes,
                             aNew.SetWidth( nLeft );
                             pBox->ClaimFrmFmt()->SetFmtAttr( aNew );
 
-                                // diese Box ist selektiert
+                                // this box is selected
                             pBox = pBox->GetUpper()->GetTabBoxes()[ nInsPos ];
                             aNew.SetWidth( nRight );
                             pBox->ClaimFrmFmt();
@@ -1180,24 +1174,23 @@ void GetMergeSel( const SwPaM& rPam, SwSelBoxes& rBoxes,
         }
     }
 
-    // keine SSelection / keine gefundenen Boxen
+    // no SSelection / no boxes found
     if( 1 >= rBoxes.size() )
         return;
 
-    // dann suche mal alle Boxen, die nebeneinander liegen, und verbinde
-    // deren Inhalte mit Blanks. Alle untereinander liegende werden als
-    // Absaetze zusammengefasst
+    // now search all adjacent boxes and connect
+    // their contents with blanks. All underneath will be tied
+    // together as paragraphs
 
-    // 1. Loesung: gehe ueber das Array und
-    //      alle auf der gleichen Y-Ebene werden mit Blanks getrennt
-    //      alle anderen werden als Absaetze getrennt.
+    // 1. Solution: map array and all on same Y-plane
+    //      are separated with blanks
+    //      all others are separated with paragraphs
     sal_Bool bCalcWidth = sal_True;
     const SwTableBox* pFirstBox = aPosArr[ 0 ].pSelBox;
 
-    // JP 27.03.98:  Optimierung - falls die Boxen einer Line leer sind,
-    //              dann werden jetzt dafuer keine Blanks und
-    //              kein Umbruch mehr eingefuegt.
-    //Block damit SwPaM, SwPosition vom Stack geloescht werden
+    // JP 27.03.98:  Optimise - if boxes on one row are empty,
+    //              then do not insert blanks or carriage returns
+    //Block to assure SwPaM, SwPosition are deleted from stack
     {
         SwPaM aPam( pDoc->GetNodes() );
 
@@ -1209,7 +1202,7 @@ void GetMergeSel( const SwPaM& rPam, SwSelBoxes& rBoxes,
         for( n = 0; n < aPosArr.Count(); ++n )
         {
             const _CmpLPt& rPt = aPosArr[ n ];
-            if( n && aPosArr[ n - 1 ].Y() == rPt.Y() )  // gleiche Ebene ?
+            if( n && aPosArr[ n - 1 ].Y() == rPt.Y() )  // same plane ?
             {
                 if( bEmptyLine && !IsEmptyBox( *rPt.pSelBox, aPam ))
                     bEmptyLine = sal_False;
@@ -1219,13 +1212,12 @@ void GetMergeSel( const SwPaM& rPam, SwSelBoxes& rBoxes,
             else
             {
                 if( bCalcWidth && n )
-                    bCalcWidth = sal_False;     // eine Zeile fertig
+                    bCalcWidth = sal_False;     // one line is ready
 
                 if( bEmptyLine && nSttPos < n )
                 {
-                    // dann ist die gesamte Line leer und braucht
-                    // nicht mit Blanks aufgefuellt und als Absatz
-                    // eingefuegt werden.
+                    // now complete line is empty and should not
+                    // be filled with blanks and be inserted as paragraph
                     if( pUndo )
                         for( sal_uInt16 i = nSttPos; i < n; ++i )
                             pUndo->SaveCollection( *aPosArr[ i ].pSelBox );
@@ -1254,15 +1246,15 @@ void GetMergeSel( const SwPaM& rPam, SwSelBoxes& rBoxes,
         for( n = 0; n < aPosArr.Count(); ++n )
         {
             const _CmpLPt& rPt = aPosArr[ n ];
-            if( n && aPosArr[ n - 1 ].Y() == rPt.Y() )  // gleiche Ebene ?
+            if( n && aPosArr[ n - 1 ].Y() == rPt.Y() )  // same plane ?
             {
                 sal_Bool bEmptyBox = IsEmptyBox( *rPt.pSelBox, aPam );
                 if( bEmptyBox )
                 {
-                    if( nSEndPos == n )     // der Anfang ist leer
+                    if( nSEndPos == n )     // beginning is empty
                         nESttPos = ++nSEndPos;
                 }
-                else                        // das Ende kann leer sein
+                else                        // end could be empty
                     nESttPos = n+1;
 
                 if( bCalcWidth )
@@ -1271,13 +1263,13 @@ void GetMergeSel( const SwPaM& rPam, SwSelBoxes& rBoxes,
             else
             {
                 if( bCalcWidth && n )
-                    bCalcWidth = sal_False;     // eine Zeile fertig
+                    bCalcWidth = sal_False;     // one line ready
 
-                // zuerst die vom Anfang
+                // first those at the beginning
                 if( nSttPos < nSEndPos )
                 {
-                    // dann ist der vorder Teil der Line leer und braucht
-                    // nicht mit Blanks aufgefuellt werden.
+                    // now the beginning of the line is empty and should
+                    // not be filled with blanks
                     if( pUndo )
                         for( sal_uInt16 i = nSttPos; i < nSEndPos; ++i )
                             pUndo->SaveCollection( *aPosArr[ i ].pSelBox );
@@ -1290,8 +1282,8 @@ void GetMergeSel( const SwPaM& rPam, SwSelBoxes& rBoxes,
 
                 if( nESttPos < n )
                 {
-                    // dann ist der vorder Teil der Line leer und braucht
-                    // nicht mit Blanks aufgefuellt werden.
+                    // now the beginning of the line is empty and should
+                    // not be filled with blanks
                     if( pUndo )
                         for( sal_uInt16 i = nESttPos; i < n; ++i )
                             pUndo->SaveCollection( *aPosArr[ i ].pSelBox );
@@ -1309,11 +1301,11 @@ void GetMergeSel( const SwPaM& rPam, SwSelBoxes& rBoxes,
             }
         }
 
-        // zuerst die vom Anfang
+        // first those at the beginning
         if( nSttPos < nSEndPos )
         {
-            // dann ist der vorder Teil der Line leer und braucht
-            // nicht mit Blanks aufgefuellt werden.
+            // now the beginning of the line is empty and should
+            // not be filled with blanks
             if( pUndo )
                 for( sal_uInt16 i = nSttPos; i < nSEndPos; ++i )
                     pUndo->SaveCollection( *aPosArr[ i ].pSelBox );
@@ -1325,8 +1317,8 @@ void GetMergeSel( const SwPaM& rPam, SwSelBoxes& rBoxes,
         }
         if( nESttPos < n )
         {
-            // dann ist der vorder Teil der Line leer und braucht
-            // nicht mit Blanks aufgefuellt werden.
+            // now the beginning of the line is empty and should
+            // not be filled with blanks
             if( pUndo )
                 for( sal_uInt16 i = nESttPos; i < n; ++i )
                     pUndo->SaveCollection( *aPosArr[ i ].pSelBox );
@@ -1349,10 +1341,10 @@ void GetMergeSel( const SwPaM& rPam, SwSelBoxes& rBoxes,
             const _CmpLPt& rPt = aPosArr[ n ];
             if( bCalcWidth )
             {
-                if( nY == ( bVert ? rPt.X() : rPt.Y() ) )            // gleiche Ebene ?
+                if( nY == ( bVert ? rPt.X() : rPt.Y() ) )            // same plane ?
                     nWidth += rPt.pSelBox->GetFrmFmt()->GetFrmSize().GetWidth();
                 else
-                    bCalcWidth = sal_False;     // eine Zeile fertig
+                    bCalcWidth = sal_False;     // one line ready
             }
 
             if( IsEmptyBox( *rPt.pSelBox, aPam ) )
@@ -1367,7 +1359,7 @@ void GetMergeSel( const SwPaM& rPam, SwSelBoxes& rBoxes,
 #endif
     }
 
-    // lege schon mal die neue Box an
+    // first create new box
     {
         SwTableBox* pTmpBox = rBoxes.begin()->second;
         SwTableLine* pInsLine = pTmpBox->GetUpper();
@@ -1375,12 +1367,12 @@ void GetMergeSel( const SwPaM& rPam, SwSelBoxes& rBoxes,
 
         lcl_InsTblBox( pTblNd, pDoc, pTmpBox, nInsPos );
         (*ppMergeBox) = pInsLine->GetTabBoxes()[ nInsPos ];
-        pInsLine->GetTabBoxes().Remove( nInsPos );      // wieder austragen
+        pInsLine->GetTabBoxes().Remove( nInsPos );      // deliver again
         (*ppMergeBox)->SetUpper( 0 );
         (*ppMergeBox)->ClaimFrmFmt();
 
-        // setze die Umrandung: von der 1. Box die linke/obere von der
-        // letzten Box die rechte/untere Kante:
+        // define the border: of the first box the upper-left of the
+        // last box the lower-right corner:
         if( pLastBox && pFirstBox )
         {
             SvxBoxItem aBox( pFirstBox->GetFrmFmt()->GetBox() );
@@ -1393,7 +1385,7 @@ void GetMergeSel( const SwPaM& rPam, SwSelBoxes& rBoxes,
         }
     }
 
-    //Block damit SwPaM, SwPosition vom Stack geloescht werden
+    //Block to delete  SwPaM, SwPosition from stack
     if( aPosArr.Count() )
     {
         SwTxtNode* pTxtNd = 0;
@@ -1412,8 +1404,8 @@ void GetMergeSel( const SwPaM& rPam, SwSelBoxes& rBoxes,
             aPam.GetPoint()->nContent.Assign( pCNd, nL );
 
             SwNodeIndex aSttNdIdx( *rPt.pSelBox->GetSttNd(), 1 );
-            // ein Node muss in der Box erhalten bleiben (sonst wird beim
-            // Move die gesamte Section geloescht)
+            // one node should be kept in the box ( otherwise the
+            // selection would be deleted during a move
             bool const bUndo(pDoc->GetIDocumentUndoRedo().DoesUndo());
             if( pUndo )
             {
@@ -1433,12 +1425,12 @@ void GetMergeSel( const SwPaM& rPam, SwSelBoxes& rBoxes,
                 pDoc->MoveNodeRange( aRg, rInsPosNd,
                     IDocumentContentOperations::DOC_MOVEDEFAULT );
             }
-            // wo steht jetzt aInsPos ??
+            // where is now aInsPos ??
 
             if( bCalcWidth )
-                bCalcWidth = sal_False;     // eine Zeile fertig
+                bCalcWidth = sal_False;     // one line is ready
 
-            // den initialen TextNode ueberspringen
+            // skip the first TextNode
             rInsPosNd.Assign( pDoc->GetNodes(),
                             rInsPosNd.GetNode().EndOfSectionIndex() - 2 );
             pTxtNd = rInsPosNd.GetNode().GetTxtNode();
@@ -1446,16 +1438,16 @@ void GetMergeSel( const SwPaM& rPam, SwSelBoxes& rBoxes,
                 aInsPos.nContent.Assign( pTxtNd, pTxtNd->GetTxt().Len() );
         }
 
-        // in der MergeBox sollte jetzt der gesamte Text stehen
-        // loesche jetzt noch den initialen TextNode
+        // the MergeBox should contain the complete text
+        // now erase the initial TextNode
         OSL_ENSURE( (*ppMergeBox)->GetSttIdx()+2 <
                 (*ppMergeBox)->GetSttNd()->EndOfSectionIndex(),
-                    "leere Box" );
+                    "empty box" );
         SwNodeIndex aIdx( *(*ppMergeBox)->GetSttNd()->EndOfSectionNode(), -1 );
         pDoc->GetNodes().Delete( aIdx, 1 );
     }
 
-    // setze die Breite der Box
+    // set width of the box
     (*ppMergeBox)->GetFrmFmt()->SetFmtAttr( SwFmtFrmSize( ATT_VAR_SIZE, nWidth, 0 ));
     if( pUndo )
         pUndo->AddNewBox( (*ppMergeBox)->GetSttIdx() );
@@ -1480,7 +1472,7 @@ static sal_Bool lcl_CheckCol( const _FndBox*& rpFndBox, void* pPara )
         else
             ((_FndBox*)rpFndBox)->GetLines().ForEach( &lcl_CheckRow, pPara );
     }
-    // Box geschuetzt ??
+    // is box protected ??
     else if( rpFndBox->GetBox()->GetFrmFmt()->GetProtect().IsCntntProtected() )
         *((sal_Bool*)pPara) = sal_False;
     return *(sal_Bool*)pPara;
@@ -1490,9 +1482,10 @@ static sal_Bool lcl_CheckCol( const _FndBox*& rpFndBox, void* pPara )
 sal_uInt16 CheckMergeSel( const SwPaM& rPam )
 {
     SwSelBoxes aBoxes;
-//JP 24.09.96: Merge mit wiederholenden TabellenHeadline funktioniert nicht
-//              richtig. Warum nicht Point 0,0 benutzen? Dann ist garantiert,
-//              das die 1. Headline mit drin ist.
+//JP 24.09.96:  Merge with repeating TableHeadLines does not work properly.
+//              Why not use point 0,0? Then it is assured the first
+//              headline is contained.
+
     Point aPt;
     const SwCntntNode* pCntNd = rPam.GetCntntNode();
     const SwLayoutFrm *pStart = pCntNd->getLayoutFrm( pCntNd->GetDoc()->GetCurrentLayout(),
@@ -1542,8 +1535,8 @@ sal_uInt16 CheckMergeSel( const SwSelBoxes& rBoxes )
     return eRet;
 }
 
-//Ermittelt die von einer Tabellenselektion betroffenen Tabellen und die
-//Union-Rechteckte der Selektionen - auch fuer aufgespaltene Tabellen.
+// Determines tables and union-squares affected by a table selection
+// also for splitt tables
 SV_IMPL_PTRARR( SwSelUnions, SwSelUnion* );
 
 SwTwips lcl_CalcWish( const SwLayoutFrm *pCell, long nWish,
@@ -1577,8 +1570,8 @@ void lcl_FindStartEndRow( const SwLayoutFrm *&rpStart,
                              const SwLayoutFrm *&rpEnd,
                              const int bChkProtected )
 {
-    //Start an den Anfang seiner Zeile setzen.
-    //End an das Ende seiner Zeile setzen.
+    // Put Start at beginning of a row.
+    // Put End at the end of its row.
     rpStart = (SwLayoutFrm*)rpStart->GetUpper()->Lower();
     while ( rpEnd->GetNext() )
         rpEnd = (SwLayoutFrm*)rpEnd->GetNext();
@@ -1634,11 +1627,11 @@ void lcl_FindStartEndRow( const SwLayoutFrm *&rpStart,
             break;
         }
 
-    if( !bChkProtected )    // geschuetzte Zellen beachten ?
+    if( !bChkProtected )    // protected cell ?
         return;
 
 
-    //Anfang und Ende duerfen nicht auf geschuetzten Zellen liegen.
+    // Beginning and end should not be in protected cells
     while ( rpStart->GetFmt()->GetProtect().IsCntntProtected() )
         rpStart = (SwLayoutFrm*)rpStart->GetNext();
     while ( rpEnd->GetFmt()->GetProtect().IsCntntProtected() )
@@ -1650,10 +1643,9 @@ void lcl_FindStartEndCol( const SwLayoutFrm *&rpStart,
                              const SwLayoutFrm *&rpEnd,
                              const int bChkProtected )
 {
-    //Start und End senkrecht bis an den Rand der Tabelle denken; es muss
-    //die Gesamttabelle betrachtet werden, also inklusive Masters und
-    //Follows.
-    //Fuer den Start brauchen wir den Mutter-TabellenFrm.
+    // Beginning and end vertical till the border of the table;
+    // Consider the whole table, including master and follows.
+    // In order to start we need the mother-tableFrm
     if( !rpStart )
         return;
     const SwTabFrm *pOrg = rpStart->FindTabFrm();
@@ -1668,7 +1660,7 @@ void lcl_FindStartEndCol( const SwLayoutFrm *&rpStart,
     while ( pTab->IsFollow() )
     {
         const SwFrm *pTmp = pTab->FindPrev();
-        OSL_ENSURE( pTmp->IsTabFrm(), "Vorgaenger vom Follow nicht der Master." );
+        OSL_ENSURE( pTmp->IsTabFrm(), "Predecessor of Follow is not Master." );
         pTab = (const SwTabFrm*)pTmp;
     }
 
@@ -1752,16 +1744,16 @@ void lcl_FindStartEndCol( const SwLayoutFrm *&rpStart,
         rpEnd = pTmpLeaf;
     }
 
-    if( !bChkProtected )    // geschuetzte Zellen beachten ?
+    if( !bChkProtected )    // check for protected cell ?
         return;
 
-    //Anfang und Ende duerfen nicht auf geschuetzten Zellen liegen.
-    //Also muss ggf. nocheinmal rueckwaerts gesucht werden.
+    // Beginning and end should not be in protected cells.
+    // If necessary we should search backwards again
     while ( rpStart->GetFmt()->GetProtect().IsCntntProtected() )
     {
         const SwLayoutFrm *pTmpLeaf = rpStart;
         pTmpLeaf = pTmpLeaf->GetNextLayoutLeaf();
-        while ( pTmpLeaf && (pTmpLeaf->Frm().*fnRect->fnGetLeft)() > nEX )//erstmal die Zeile 
ueberspr.
+        while ( pTmpLeaf && (pTmpLeaf->Frm().*fnRect->fnGetLeft)() > nEX ) // first skip line
             pTmpLeaf = pTmpLeaf->GetNextLayoutLeaf();
         while ( pTmpLeaf && (pTmpLeaf->Frm().*fnRect->fnGetLeft)() < nSX &&
                             (pTmpLeaf->Frm().*fnRect->fnGetRight)()< nSX2 )
@@ -1790,7 +1782,7 @@ void lcl_FindStartEndCol( const SwLayoutFrm *&rpStart,
         if ( !pTmpLeaf || !pTmpTab->IsAnLower( pTmpLeaf ) )
         {
             pTmpTab = (const SwTabFrm*)pTmpTab->FindPrev();
-            OSL_ENSURE( pTmpTab->IsTabFrm(), "Vorgaenger vom Follow nicht der Master.");
+            OSL_ENSURE( pTmpTab->IsTabFrm(), "Predecessor of Follow not in Master.");
             rpEnd = pTmpTab->FindLastCntnt()->GetUpper();
             while( !rpEnd->IsCellFrm() )
                 rpEnd = rpEnd->GetUpper();
@@ -1827,7 +1819,7 @@ void MakeSelUnions( SwSelUnions& rUnions, const SwLayoutFrm *pStart,
     {
         if ( !pTable->IsAnFollow( pEndTable ) )
         {
-            OSL_ENSURE( pEndTable->IsAnFollow( pTable ), "Tabkette verknotet." );
+            OSL_ENSURE( pEndTable->IsAnFollow( pTable ), "Tabchain linked." );
             bExchange = sal_True;
         }
     }
@@ -1850,12 +1842,12 @@ void MakeSelUnions( SwSelUnions& rUnions, const SwLayoutFrm *pStart,
         const SwLayoutFrm *pTmp = pStart;
         pStart = pEnd;
         pEnd = pTmp;
-        //pTable und pEndTable nicht umsortieren, werden unten neu gesetzt.
-        //MA: 28. Dec. 93 Bug: 5190
+        // do no resort pTable and pEndTable, set new below
+        // MA: 28. Dec. 93 Bug: 5190
     }
 
-    //Start und End sind jetzt huebsch sortiert, jetzt muessen sie falls
-    //erwuenscht noch versetzt werden.
+    // Beginning and end now nicely sorted, if required we
+    // should transfer them
     if( nsSwTblSearchType::TBLSEARCH_ROW == ((~nsSwTblSearchType::TBLSEARCH_PROTECT ) & 
eSearchType ) )
         ::lcl_FindStartEndRow( pStart, pEnd, nsSwTblSearchType::TBLSEARCH_PROTECT & eSearchType );
     else if( nsSwTblSearchType::TBLSEARCH_COL == ((~nsSwTblSearchType::TBLSEARCH_PROTECT ) & 
eSearchType ) )
@@ -1863,7 +1855,7 @@ void MakeSelUnions( SwSelUnions& rUnions, const SwLayoutFrm *pStart,
 
     if ( !pEnd ) return; // Made code robust.
 
-    //neu besorgen, da sie jetzt verschoben sind.
+    // retrieve again, as they have been transferred
     pTable = pStart->FindTabFrm();
     pEndTable = pEnd->FindTabFrm();
 
@@ -1921,14 +1913,13 @@ void MakeSelUnions( SwSelUnions& rUnions, const SwLayoutFrm *pStart,
         SwRect aUnion( aSt, Size( aDiff.X(), aDiff.Y() ) );
         aUnion.Justify();
 
-        // fuers
+        // for
         if( !(nsSwTblSearchType::TBLSEARCH_NO_UNION_CORRECT & eSearchType ))
         {
-            //Leider ist die Union jetzt mit Rundungsfehlern behaftet und dadurch
-            //wuerden beim Split/Merge fehlertraechtige Umstaende entstehen.
-            //Um dies zu vermeiden werden jetzt fuer die Table die erste und
-            //letzte Zelle innerhalb der Union ermittelt und aus genau deren
-            //Werten wird die Union neu gebildet.
+            // Pity the union contains rounding errors, therefore
+            // erroneous results could occur during split/merge.
+            // To prevent these we will determine the first and last row
+            // within the union and use their values for the new union
             const SwLayoutFrm* pRow = pTable->IsFollow() ?
                                       pTable->GetFirstNonHeadlineRow() :
                                       (const SwLayoutFrm*)pTable->Lower();
@@ -2015,7 +2006,7 @@ sal_Bool CheckSplitCells( const SwCursor& rCrsr, sal_uInt16 nDiv,
 
     sal_uInt16 nMinValue = nDiv * MINLAY;
 
-    //Start- und Endzelle besorgen und den naechsten fragen.
+    // Get start- and end cell and request next
     Point aPtPos, aMkPos;
     const SwShellCrsr* pShCrsr = dynamic_cast<const SwShellCrsr*>(&rCrsr);
     if( pShCrsr )
@@ -2033,12 +2024,12 @@ sal_Bool CheckSplitCells( const SwCursor& rCrsr, sal_uInt16 nDiv,
 
     SWRECTFN( pStart->GetUpper() )
 
-    //Zuerst lassen wir uns die Tabellen und die Rechtecke heraussuchen.
+    // first we search for tables and squares
     SwSelUnions aUnions;
 
     ::MakeSelUnions( aUnions, pStart, pEnd, eSearchType );
 
-    //Jetzt zu jedem Eintrag die Boxen herausfischen und uebertragen.
+    // now search boxes for each entry and emit
     for ( sal_uInt16 i = 0; i < aUnions.Count(); ++i )
     {
         SwSelUnion *pUnion = aUnions[i];
@@ -2057,7 +2048,7 @@ sal_Bool CheckSplitCells( const SwCursor& rCrsr, sal_uInt16 nDiv,
 
                 while ( pCell && pRow->IsAnLower( pCell ) )
                 {
-                    OSL_ENSURE( pCell->IsCellFrm(), "Frame ohne Celle" );
+                    OSL_ENSURE( pCell->IsCellFrm(), "Frame without cell" );
                     if( ::IsFrmInTblSel( pUnion->GetUnion(), pCell ) )
                     {
                         if( (pCell->Frm().*fnRect->fnGetWidth)() < nMinValue )
@@ -2084,6 +2075,9 @@ sal_Bool CheckSplitCells( const SwCursor& rCrsr, sal_uInt16 nDiv,
 // Diese Klassen kopieren die aktuelle Tabellen-Selektion (rBoxes)
 // unter Beibehaltung der Tabellen-Struktur in eine eigene Struktur
 // neu: SS zum gezielten Loeschen/Retaurieren des Layouts.
+// These Classes copy the current table selections (rBoxes),
+// retaining the table structure in a own structure
+// new: SS for targeted erasing/restoring of the layout
 
 void lcl_InsertRow( SwTableLine &rLine, SwLayoutFrm *pUpper, SwFrm *pSibling )
 {
@@ -2091,7 +2085,7 @@ void lcl_InsertRow( SwTableLine &rLine, SwLayoutFrm *pUpper, SwFrm *pSibling )
     if ( pUpper->IsTabFrm() && ((SwTabFrm*)pUpper)->IsFollow() )
     {
         SwTabFrm* pTabFrm = (SwTabFrm*)pUpper;
-        pTabFrm->FindMaster()->InvalidatePos(); //kann die Zeile vielleicht aufnehmen
+        pTabFrm->FindMaster()->InvalidatePos(); //can absorb the line
 
         if ( pSibling && pTabFrm->IsInHeadline( *pSibling ) )
         {
@@ -2149,12 +2143,11 @@ sal_Bool _FndLineCopyCol( const SwTableLine*& rpLine, void* pPara )
 
 void _FndBox::SetTableLines( const SwSelBoxes &rBoxes, const SwTable &rTable )
 {
-    //Pointer auf die Lines vor und hinter den zu verarbeitenden Bereich
-    //setzen. Wenn die erste/letzte Zeile in den Bereich eingeschlossen
-    //sind, so bleiben die Pointer eben einfach 0.
-    //Gesucht werden zunachst die Positionen der ersten/letzten betroffenen
-    //Line im Array der SwTable. Damit die 0 fuer 'keine Line' verwand werden
-    //kann werden die Positionen um 1 nach oben versetzt!
+    // Set pointers to lines before and after the area to process.
+    // If the first/last lines are contained in the area, then the pointers
+    // are 0. We first search for the positions of the first/last affected
+    // lines in array of the SwTable. In order to use 0 for 'no line'
+    // we adjust the positions by 1.
 
     sal_uInt16 nStPos = USHRT_MAX;
     sal_uInt16 nEndPos= 0;
@@ -2183,12 +2176,11 @@ void _FndBox::SetTableLines( const SwSelBoxes &rBoxes, const SwTable 
&rTable )
 
 void _FndBox::SetTableLines( const SwTable &rTable )
 {
-    // Pointer auf die Lines vor und hinter den zu verarbeitenden Bereich
-    // setzen. Wenn die erste/letzte Zeile in den Bereich eingeschlossen
-    // sind, so bleiben die Pointer eben einfach 0.
-    // Die Positionen der ersten/letzten betroffenen Line im Array der
-    // SwTable steht in der FndBox. Damit die 0 fuer 'keine Line' verwand
-    // werdenkann werden die Positionen um 1 nach oben versetzt!
+    // Set pointers to lines before and after the area to process.
+    // If the first/last lines are contained in the area, then the pointers
+    // are 0. The positions of the first/last affected lines in the array
+    // of the SwTable are in FndBox. In order to use 0 for 'no line'
+    // we adjust the positions by 1.
 
     if( !GetLines().Count() )
         return;
@@ -2213,11 +2205,11 @@ inline void UnsetFollow( SwFlowFrm *pTab )
 
 void _FndBox::DelFrms( SwTable &rTable )
 {
-    //Alle Lines zwischen pLineBefore und pLineBehind muessen aus dem
-    //Layout ausgeschnitten und geloescht werden.
-    //Entstehen dabei leere Follows so muessen diese vernichtet werden.
-    //Wird ein Master vernichtet, so muss der Follow Master werden.
-    //Ein TabFrm muss immer uebrigbleiben.
+    // All lines between pLineBefore and pLineBehind should be cut
+    // from the layout and erased.
+    // If this creates empty Follows we should destroy these.
+    // If a master is destroyed, the follow should become master.
+    // Always a TabFrm should remain.
 
     sal_uInt16 nStPos = 0;
     sal_uInt16 nEndPos= rTable.GetTabLines().Count() - 1;
@@ -2227,7 +2219,7 @@ void _FndBox::DelFrms( SwTable &rTable )
     {
         nStPos = rTable.GetTabLines().GetPos(
                         (const SwTableLine*&)pLineBefore );
-        OSL_ENSURE( nStPos != USHRT_MAX, "Fuchs Du hast die Line gestohlen!" );
+        OSL_ENSURE( nStPos != USHRT_MAX, "The fox stole the line!" );
         ++nStPos;
     }
     if( rTable.IsNewModel() && pLineBehind )
@@ -2236,7 +2228,7 @@ void _FndBox::DelFrms( SwTable &rTable )
     {
         nEndPos = rTable.GetTabLines().GetPos(
                         (const SwTableLine*&)pLineBehind );
-        OSL_ENSURE( nEndPos != USHRT_MAX, "Fuchs Du hast die Line gestohlen!" );
+        OSL_ENSURE( nEndPos != USHRT_MAX, "The fox stole the line!" );
         --nEndPos;
     }
 
@@ -2277,7 +2269,7 @@ void _FndBox::DelFrms( SwTable &rTable )
                         {
                             SwFrm *pTmp = pPrev->FindPrev();
                             OSL_ENSURE( pTmp->IsTabFrm(),
-                                    "Vorgaenger vom Follow kein Master.");
+                                    "Predecessor of Follow is no Master.");
                             pPrev = (SwTabFrm*)pTmp;
                         }
                         if ( pPrev )
@@ -2292,7 +2284,7 @@ void _FndBox::DelFrms( SwTable &rTable )
                         else if ( pFollow )
                             ::UnsetFollow( pFollow );
 
-                        //Ein TabellenFrm muss immer stehenbleiben!
+                        // A TabellenFrm should always remain!
                         if ( pPrev || pFollow )
                         {
                             // OD 26.08.2003 #i18103# - if table is in a section,
@@ -2312,8 +2304,7 @@ void _FndBox::DelFrms( SwTable &rTable )
                                 }
                             }
                             delete pUp;
-                            bDel = sal_False;//Die Row wird mit in den Abgrund
-                                         //gerissen.
+                            bDel = sal_False; // Row goes to /dev/null.
                         }
                     }
                     if ( bDel )
@@ -2378,17 +2369,15 @@ void lcl_UpdateRepeatedHeadlines( SwTabFrm& rTabFrm, bool bCalcLowers )
 
 void _FndBox::MakeFrms( SwTable &rTable )
 {
-    //Alle Lines zwischen pLineBefore und pLineBehind muessen im Layout
-    //wieder neu erzeugt werden.
-    //Und Zwar fuer alle Auspraegungen der Tabelle (mehrere z.B. im Kopf/Fuss).
-
+    // All lines between pLineBefore and pLineBehind should be re-generated in layout.
+    // And this for all instances of a table (for example in header/footer).
     sal_uInt16 nStPos = 0;
     sal_uInt16 nEndPos= rTable.GetTabLines().Count() - 1;
     if ( pLineBefore )
     {
         nStPos = rTable.GetTabLines().GetPos(
                         (const SwTableLine*&)pLineBefore );
-        OSL_ENSURE( nStPos != USHRT_MAX, "Fuchs Du hast die Line gestohlen!" );
+        OSL_ENSURE( nStPos != USHRT_MAX, "Fox stole the line!" );
         ++nStPos;
 
     }
@@ -2396,10 +2385,10 @@ void _FndBox::MakeFrms( SwTable &rTable )
     {
         nEndPos = rTable.GetTabLines().GetPos(
                         (const SwTableLine*&)pLineBehind );
-        OSL_ENSURE( nEndPos != USHRT_MAX, "Fuchs Du hast die Line gestohlen!" );
+        OSL_ENSURE( nEndPos != USHRT_MAX, "Fox stole the line!" );
         --nEndPos;
     }
-    //Jetzt die grosse Einfuegeoperation fuer alle Tabllen.
+    // now big insert operation for all tables.
     SwIterator<SwTabFrm,SwFmt> aTabIter( *rTable.GetFrmFmt() );
     for ( SwTabFrm *pTable = aTabIter.First(); pTable; pTable = aTabIter.Next() )
     {
@@ -2434,7 +2423,7 @@ void _FndBox::MakeFrms( SwTable &rTable )
                     pSibling = 0;
             }
             else
-// ???? oder das der Letzte Follow der Tabelle ????
+// ???? or is this the last Follow of the table ????
                 pUpperFrm = pTable;
 
             for ( i = nStPos; (sal_uInt16)i <= nEndPos; ++i )
@@ -2454,9 +2443,9 @@ void _FndBox::MakeFrms( SwTable &rTable )
 void _FndBox::MakeNewFrms( SwTable &rTable, const sal_uInt16 nNumber,
                                             const sal_Bool bBehind )
 {
-    //Frms fuer neu eingefuege Zeilen erzeugen.
-    //bBehind == sal_True:  vor     pLineBehind
-    //        == sal_False: hinter  pLineBefore
+    // Create Frms for new inserted lines
+    // bBehind == sal_True:  before  pLineBehind
+    //         == sal_False: afer    pLineBefore
     const sal_uInt16 nBfPos = pLineBefore ?
         rTable.GetTabLines().GetPos( (const SwTableLine*&)pLineBefore ) :
         USHRT_MAX;
@@ -2464,14 +2453,14 @@ void _FndBox::MakeNewFrms( SwTable &rTable, const sal_uInt16 nNumber,
         rTable.GetTabLines().GetPos( (const SwTableLine*&)pLineBehind ) :
         USHRT_MAX;
 
-    //nNumber: wie oft ist eingefuegt worden.
-    //nCnt:    wieviele sind nNumber mal eingefuegt worden.
+    //nNumber: how often did we insert
+    //nCnt:    how many nNumber were inserted
 
     const sal_uInt16 nCnt =
         ((nBhPos != USHRT_MAX ? nBhPos : rTable.GetTabLines().Count()) -
          (nBfPos != USHRT_MAX ? nBfPos + 1 : 0)) / (nNumber + 1);
 
-    //Den Master-TabFrm suchen
+    // search the Master-TabFrm
     SwIterator<SwTabFrm,SwFmt> aTabIter( *rTable.GetFrmFmt() );
     SwTabFrm *pTable;
     for ( pTable = aTabIter.First(); pTable; pTable = aTabIter.Next() )
@@ -2517,7 +2506,7 @@ void _FndBox::MakeNewFrms( SwTable &rTable, const sal_uInt16 nNumber,
                 if ( pUpperFrm->IsTabFrm() )
                     ((SwTabFrm*)pUpperFrm)->SetCalcLowers();
             }
-            else //davor einfuegen
+            else // insert before
             {
                 sal_uInt16 i;
 
@@ -2568,8 +2557,8 @@ void _FndBox::MakeNewFrms( SwTable &rTable, const sal_uInt16 nNumber,
         }
     }
 
-    //Die Headlines mussen ggf. auch verarbeitet werden. Um gut arbeitenden
-    //Code nicht zu zerfasern wird hier nochmals iteriert.
+    // If necessary headlines should be processed. In order to
+    // not to fragment good code, we interate once more.
     const sal_uInt16 nRowsToRepeat = rTable.GetRowsToRepeat();
     if ( nRowsToRepeat > 0 &&
          ( ( !bBehind && ( nBfPos == USHRT_MAX || nBfPos + 1 < nRowsToRepeat ) ) ||
@@ -2593,7 +2582,7 @@ void _FndBox::MakeNewFrms( SwTable &rTable, const sal_uInt16 nNumber,
 
 sal_Bool _FndBox::AreLinesToRestore( const SwTable &rTable ) const
 {
-    //Lohnt es sich MakeFrms zu rufen?
+    // Should we call MakeFrms here?
 
     if ( !pLineBefore && !pLineBehind && rTable.GetTabLines().Count() )
         return sal_True;
@@ -2616,16 +2605,15 @@ sal_Bool _FndBox::AreLinesToRestore( const SwTable &rTable ) const
     else
         nBhPos = USHRT_MAX;
 
-    if ( nBfPos == nBhPos ) //Duerfte eigentlich nie vorkommen.
+    if ( nBfPos == nBhPos ) // Should never occur.
     {
-        OSL_FAIL( "Table, Loeschen auf keinem Bereich !?!" );
+        OSL_FAIL( "Table, erase but not on any area !?!" );
         return sal_False;
     }
 
     if ( rTable.GetRowsToRepeat() > 0 )
     {
-        // ups. sollte unsere zu wiederholende Kopfzeile geloescht worden
-        // sein??
+        // oops: should the repeated headline have been deleted??
         SwIterator<SwTabFrm,SwFmt> aIter( *rTable.GetFrmFmt() );
         for( SwTabFrm* pTable = aIter.First(); pTable; pTable = aIter.Next() )
         {
-- 
1.7.8.3


Context


Privacy Policy | Impressum (Legal Info) | Copyright information: Unless otherwise specified, all text and images on this website are licensed under the Creative Commons Attribution-Share Alike 3.0 License. This does not include the source code of LibreOffice, which is licensed under the Mozilla Public License (MPLv2). "LibreOffice" and "The Document Foundation" are registered trademarks of their corresponding registered owners or are in actual use as trademarks in one or more countries. Their respective logos and icons are also subject to international copyright laws. Use thereof is explained in our trademark policy.