[Libreoffice-commits] .: sw/source

David Tardon dtardon at kemper.freedesktop.org
Mon Jan 16 02:55:23 PST 2012


 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(-)

New commits:
commit 60c8a970d693617fabb3278828e15a0782174091
Author: Luc Castermans <luc.castermans at gmail.com>
Date:   Sun Jan 15 22:53:00 2012 +0100

    Translate German comments to English

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;

... etc. - the rest is truncated


More information about the Libreoffice-commits mailing list