sc/source/core/data/table1.cxx |   93 ++++++++++++++++++------------------
 sc/source/core/data/table2.cxx |  104 ++++++++++++++++++++---------------------
 sc/source/core/data/table3.cxx |   92 +++++++++++++++++-------------------
 3 files changed, 143 insertions(+), 146 deletions(-)

New commits:
commit 8893a361238ce8e151f1db65a36a8c2506d26594
Author: Albert Thuswaldner <albert.thuswald...@gmail.com>
Date:   Thu Feb 12 21:20:00 2015 +0100

    Translated german commments in sc/source/core/data/table1-3.cxx
    
    Change-Id: Ic28cb4f9371caf39e783f39fd8a117260b962bfe
    Reviewed-on: https://gerrit.libreoffice.org/14451
    Reviewed-by: Caolán McNamara <caol...@redhat.com>
    Tested-by: Caolán McNamara <caol...@redhat.com>

diff --git a/sc/source/core/data/table1.cxx b/sc/source/core/data/table1.cxx
index 1aa5430..7ace7b5 100644
--- a/sc/source/core/data/table1.cxx
+++ b/sc/source/core/data/table1.cxx
@@ -86,15 +86,15 @@ void GetOptimalHeightsInColumn(
 {
     SCSIZE nCount = static_cast<SCSIZE>(nEndRow-nStartRow+1);
 
-    //  zuerst einmal ueber den ganzen Bereich
-    //  (mit der letzten Spalte in der Hoffnung, dass die am ehesten noch auf
-    //   Standard formatiert ist)
+    //  first, one time over the whole range
+    //  (with the last column in the hope that they most likely still are
+    //  on standard format)
 
     std::vector<sal_uInt16>& rHeights = rCxt.getHeightArray();
 
     pCol[MAXCOL].GetOptimalHeight(rCxt, nStartRow, nEndRow, 0, 0);
 
-    //  daraus Standardhoehe suchen, die im unteren Bereich gilt
+    //  from there search for the standard height that is in use in the lower 
part
 
     sal_uInt16 nMinHeight = rHeights[nCount-1];
     SCSIZE nPos = nCount-1;
@@ -103,14 +103,14 @@ void GetOptimalHeightsInColumn(
     SCROW nMinStart = nStartRow + nPos;
 
     sal_uLong nWeightedCount = 0;
-    for (SCCOL nCol=0; nCol<MAXCOL; nCol++)     // MAXCOL schon oben
+    for (SCCOL nCol=0; nCol<MAXCOL; nCol++)     // MAXCOL already above
     {
         pCol[nCol].GetOptimalHeight(rCxt, nStartRow, nEndRow, nMinHeight, 
nMinStart);
 
         if (pProgress)
         {
             sal_uLong nWeight = pCol[nCol].GetWeightedCount();
-            if (nWeight)        // nochmal denselben Status muss auch nicht 
sein
+            if (nWeight)        // does not have to be the same Status
             {
                 nWeightedCount += nWeight;
                 pProgress->SetState( nWeightedCount + nProgressStart );
@@ -326,9 +326,9 @@ ScTable::~ScTable()
         {
             aCol[nCol].FreeNotes();
         }
-        //  nicht im dtor die Pages in der falschen Reihenfolge loeschen
-        //  (nTab stimmt dann als Page-Number nicht!)
-        //  In ScDocument::Clear wird hinterher per Clear am Draw Layer alles 
geloescht.
+        //  In the dtor, don't delete the pages in the wrong order.
+        //  (or else nTab does not reflect the page number!)
+        //  In ScDocument::Clear is afterwards used from Clear at the Draw 
Layer to delete everything.
 
         ScDrawLayer* pDrawLayer = pDocument->GetDrawLayer();
         if (pDrawLayer)
@@ -422,10 +422,10 @@ void ScTable::SetLink( sal_uInt8 nMode,
                         const OUString& rTab, sal_uLong nRefreshDelay )
 {
     nLinkMode = nMode;
-    aLinkDoc = rDoc;        // Datei
+    aLinkDoc = rDoc;        // File
     aLinkFlt = rFlt;        // Filter
-    aLinkOpt = rOpt;        // Filter-Optionen
-    aLinkTab = rTab;        // Tabellenname in Quelldatei
+    aLinkOpt = rOpt;        // Filter options
+    aLinkTab = rTab;        // Sheet name in source file
     nLinkRefreshDelay = nRefreshDelay;  // refresh delay in seconds, 0==off
 
     if (IsStreamValid())
@@ -449,7 +449,7 @@ long ScTable::GetNeededSize( SCCOL nCol, SCROW nRow,
                                 bool bWidth, bool bTotalSize )
 {
     ScNeededSizeOptions aOptions;
-    aOptions.bSkipMerged = false;       // zusammengefasste mitzaehlen
+    aOptions.bSkipMerged = false;       // count merged cells
     aOptions.bTotalSize  = bTotalSize;
 
     return aCol[nCol].GetNeededSize
@@ -568,7 +568,7 @@ bool ScTable::GetPrintArea( SCCOL& rEndCol, SCROW& rEndRow, 
bool bNotes, bool bF
     SCROW nMaxY = 0;
     SCCOL i;
 
-    for (i=0; i<=MAXCOL; i++)               // Daten testen
+    for (i=0; i<=MAXCOL; i++)               // Test data
         {
             if (!aCol[i].IsEmptyData())
             {
@@ -600,7 +600,7 @@ bool ScTable::GetPrintArea( SCCOL& rEndCol, SCROW& rEndRow, 
bool bNotes, bool bF
 
     SCCOL nMaxDataX = nMaxX;
 
-    for (i=0; i<=MAXCOL; i++)               // Attribute testen
+    for (i=0; i<=MAXCOL; i++)               // Test attribute
     {
         SCROW nLastRow;
         if (aCol[i].GetLastVisibleAttr( nLastRow, bFullFormattedArea ))
@@ -612,7 +612,7 @@ bool ScTable::GetPrintArea( SCCOL& rEndCol, SCROW& rEndRow, 
bool bNotes, bool bF
         }
     }
 
-    if (nMaxX == MAXCOL)                    // Attribute rechts weglassen
+    if (nMaxX == MAXCOL)                    // omit attribute at the right
     {
         --nMaxX;
         while ( nMaxX>0 && aCol[nMaxX].IsVisibleAttrEqual(aCol[nMaxX+1]) )
@@ -658,7 +658,7 @@ bool ScTable::GetPrintAreaHor( SCROW nStartRow, SCROW 
nEndRow,
     SCCOL nMaxX = 0;
     SCCOL i;
 
-    for (i=0; i<=MAXCOL; i++)               // Attribute testen
+    for (i=0; i<=MAXCOL; i++)               // Test attribute
     {
         if (aCol[i].HasVisibleAttrIn( nStartRow, nEndRow ))
         {
@@ -667,7 +667,7 @@ bool ScTable::GetPrintAreaHor( SCROW nStartRow, SCROW 
nEndRow,
         }
     }
 
-    if (nMaxX == MAXCOL)                    // Attribute rechts weglassen
+    if (nMaxX == MAXCOL)                    // omit attribute at the right
     {
         --nMaxX;
         while ( nMaxX>0 && aCol[nMaxX].IsVisibleAttrEqual(aCol[nMaxX+1], 
nStartRow, nEndRow) )
@@ -695,7 +695,7 @@ bool ScTable::GetPrintAreaVer( SCCOL nStartCol, SCCOL 
nEndCol,
     SCROW nMaxY = 0;
     SCCOL i;
 
-    for (i=nStartCol; i<=nEndCol; i++)              // Attribute testen
+    for (i=nStartCol; i<=nEndCol; i++)              // Test attribute
     {
         SCROW nLastRow;
         if (aCol[i].GetLastVisibleAttr( nLastRow ))
@@ -706,7 +706,7 @@ bool ScTable::GetPrintAreaVer( SCCOL nStartCol, SCCOL 
nEndCol,
         }
     }
 
-    for (i=nStartCol; i<=nEndCol; i++)              // Daten testen
+    for (i=nStartCol; i<=nEndCol; i++)              // Test data
     {
         if (!aCol[i].IsEmptyData())
         {
@@ -740,7 +740,7 @@ bool ScTable::GetDataStart( SCCOL& rStartCol, SCROW& 
rStartRow ) const
     SCROW nMinY = MAXROW;
     SCCOL i;
 
-    for (i=0; i<=MAXCOL; i++)                   // Attribute testen
+    for (i=0; i<=MAXCOL; i++)                   // Test attribute
     {
         SCROW nFirstRow;
         if (aCol[i].GetFirstVisibleAttr( nFirstRow ))
@@ -753,9 +753,9 @@ bool ScTable::GetDataStart( SCCOL& rStartCol, SCROW& 
rStartRow ) const
         }
     }
 
-    if (nMinX == 0)                                     // Attribute links 
weglassen
+    if (nMinX == 0)                                     // omit attribute at 
the right
     {
-        if ( aCol[0].IsVisibleAttrEqual(aCol[1]) )      // keine einzelnen
+        if ( aCol[0].IsVisibleAttrEqual(aCol[1]) )      // no single ones
         {
             ++nMinX;
             while ( nMinX<MAXCOL && 
aCol[nMinX].IsVisibleAttrEqual(aCol[nMinX-1]) )
@@ -764,7 +764,7 @@ bool ScTable::GetDataStart( SCCOL& rStartCol, SCROW& 
rStartRow ) const
     }
 
     bool bDatFound = false;
-    for (i=0; i<=MAXCOL; i++)                   // Daten testen
+    for (i=0; i<=MAXCOL; i++)                   // Test data
     {
         if (!aCol[i].IsEmptyData())
         {
@@ -1222,7 +1222,7 @@ bool ScTable::ValidNextPos( SCCOL nCol, SCROW nRow, const 
ScMarkData& rMark,
 void ScTable::GetNextPos( SCCOL& rCol, SCROW& rRow, SCsCOL nMovX, SCsROW nMovY,
                                 bool bMarked, bool bUnprotected, const 
ScMarkData& rMark ) const
 {
-    if (bUnprotected && !IsProtected())     // Tabelle ueberhaupt geschuetzt?
+    if (bUnprotected && !IsProtected())     // Is sheet really protected?
         bUnprotected = false;
 
     sal_uInt16 nWrap = 0;
@@ -1233,7 +1233,7 @@ void ScTable::GetNextPos( SCCOL& rCol, SCROW& rRow, 
SCsCOL nMovX, SCsROW nMovY,
     nRow = sal::static_int_cast<SCsROW>( nRow + nMovY );
 
     OSL_ENSURE( !nMovY || !bUnprotected,
-                "GetNextPos mit bUnprotected horizontal nicht implementiert" );
+                "GetNextPos with bUnprotected horizontal not implemented" );
 
     if ( nMovY && bMarked )
     {
@@ -1242,7 +1242,7 @@ void ScTable::GetNextPos( SCCOL& rCol, SCROW& rRow, 
SCsCOL nMovX, SCsROW nMovY,
         while ( ValidRow(nRow) &&
                 (RowHidden(nRow) || pDocument->HasAttrib(nCol, nRow, nTab, 
nCol, nRow, nTab, HASATTR_OVERLAPPED)) )
         {
-            //  ausgeblendete ueberspringen (s.o.)
+            //  skip hidden rows (see above)
             nRow += nMovY;
             nRow = rMark.GetNextMarked( nCol, nRow, bUp );
         }
@@ -1272,7 +1272,7 @@ void ScTable::GetNextPos( SCCOL& rCol, SCROW& rRow, 
SCsCOL nMovX, SCsROW nMovY,
             while ( ValidRow(nRow) &&
                     (RowHidden(nRow) || pDocument->HasAttrib(nCol, nRow, nTab, 
nCol, nRow, nTab, HASATTR_OVERLAPPED)) )
             {
-                //  ausgeblendete ueberspringen (s.o.)
+                //  skip hidden rows (see above)
                 nRow += nMovY;
                 nRow = rMark.GetNextMarked( nCol, nRow, bUp );
             }
@@ -1281,7 +1281,7 @@ void ScTable::GetNextPos( SCCOL& rCol, SCROW& rRow, 
SCsCOL nMovX, SCsROW nMovY,
 
     if ( nMovX && ( bMarked || bUnprotected ) )
     {
-        // initiales Weiterzaehlen wrappen:
+        // wrap initial skip counting:
         if (nCol<0)
         {
             nCol = MAXCOL;
@@ -1302,7 +1302,7 @@ void ScTable::GetNextPos( SCCOL& rCol, SCROW& rRow, 
SCsCOL nMovX, SCsROW nMovY,
             boost::scoped_array<SCsROW> pNextRows(new SCsROW[MAXCOL+1]);
             SCCOL i;
 
-            if ( nMovX > 0 )                            //  vorwaerts
+            if ( nMovX > 0 )                            //  forward
             {
                 for (i=0; i<=MAXCOL; i++)
                     pNextRows[i] = (i<nCol) ? (nRow+1) : nRow;
@@ -1317,7 +1317,7 @@ void ScTable::GetNextPos( SCCOL& rCol, SCROW& rRow, 
SCsCOL nMovX, SCsROW nMovY,
 
                     SCsROW nMinRow = MAXROW+1;
                     for (i=0; i<=MAXCOL; i++)
-                        if (pNextRows[i] < nMinRow)     // bei gleichen den 
linken
+                        if (pNextRows[i] < nMinRow)     // when two equal on 
the left
                         {
                             nMinRow = pNextRows[i];
                             nCol = i;
@@ -1326,16 +1326,16 @@ void ScTable::GetNextPos( SCCOL& rCol, SCROW& rRow, 
SCsCOL nMovX, SCsROW nMovY,
 
                     if ( nRow > MAXROW )
                     {
-                        if (++nWrap >= 2) break;        // ungueltigen Wert 
behalten
+                        if (++nWrap >= 2) break;        // handle invalid value
                         nCol = 0;
                         nRow = 0;
                         for (i=0; i<=MAXCOL; i++)
-                            pNextRows[i] = 0;           // alles ganz von vorne
+                            pNextRows[i] = 0;           // do it all over again
                     }
                 }
                 while ( !ValidNextPos(nCol, nRow, rMark, bMarked, 
bUnprotected) );
             }
-            else                                        //  rueckwaerts
+            else                                        //  backwards
             {
                 for (i=0; i<=MAXCOL; i++)
                     pNextRows[i] = (i>nCol) ? (nRow-1) : nRow;
@@ -1350,7 +1350,7 @@ void ScTable::GetNextPos( SCCOL& rCol, SCROW& rRow, 
SCsCOL nMovX, SCsROW nMovY,
 
                     SCsROW nMaxRow = -1;
                     for (i=0; i<=MAXCOL; i++)
-                        if (pNextRows[i] >= nMaxRow)    // bei gleichen den 
rechten
+                        if (pNextRows[i] >= nMaxRow)    // when two equal on 
the right
                         {
                             nMaxRow = pNextRows[i];
                             nCol = i;
@@ -1359,11 +1359,11 @@ void ScTable::GetNextPos( SCCOL& rCol, SCROW& rRow, 
SCsCOL nMovX, SCsROW nMovY,
 
                     if ( nRow < 0 )
                     {
-                        if (++nWrap >= 2) break;        // ungueltigen Wert 
behalten
+                        if (++nWrap >= 2) break;        // handle invalid value
                         nCol = MAXCOL;
                         nRow = MAXROW;
                         for (i=0; i<=MAXCOL; i++)
-                            pNextRows[i] = MAXROW;      // alles ganz von vorne
+                            pNextRows[i] = MAXROW;      // do it all over again
                     }
                 }
                 while ( !ValidNextPos(nCol, nRow, rMark, bMarked, 
bUnprotected) );
@@ -1371,9 +1371,8 @@ void ScTable::GetNextPos( SCCOL& rCol, SCROW& rRow, 
SCsCOL nMovX, SCsROW nMovY,
         }
     }
 
-    //  ungueltige Werte kommen z.b. bei Tab heraus,
-    //  wenn nicht markiert und nicht geschuetzt ist (linker / rechter Rand),
-    //  dann Werte unveraendert lassen
+    //  Invalid values show up for instane for Tab, when nothing is selected 
and not
+    //  protected (left / right edge), then leave values unchanged.
 
     if (ValidColRow(nCol,nRow))
     {
@@ -1389,7 +1388,7 @@ bool ScTable::GetNextMarkedCell( SCCOL& rCol, SCROW& 
rRow, const ScMarkData& rMa
     if ( !pMarkArray )
         return false;
 
-    ++rRow;                 // naechste Zelle ist gesucht
+    ++rRow;                 // next row
 
     while ( rCol <= MAXCOL )
     {
@@ -1425,16 +1424,16 @@ bool ScTable::GetNextMarkedCell( SCCOL& rCol, SCROW& 
rRow, const ScMarkData& rMa
                     return true;
                 }
 
-                rRow = nEnd + 1;                // naechsten markierten 
Bereich suchen
+                rRow = nEnd + 1;                // Search for next selected 
range
             }
             else
-                rRow = MAXROW + 1;              // Ende der Spalte
+                rRow = MAXROW + 1;              // End of column
         }
         rRow = 0;
-        ++rCol;                                 // naechste Spalte testen
+        ++rCol;                                 // test next column
     }
 
-    return false;                               // alle Spalten durch
+    return false;                               // Through all columns
 }
 
 void ScTable::UpdateDrawRef( UpdateRefMode eUpdateRefMode, SCCOL nCol1, SCROW 
nRow1, SCTAB nTab1,
@@ -1537,7 +1536,7 @@ void ScTable::UpdateReference(
             {
                 *pRepeatColRange = ScRange( nSCol, nSRow, 0, nECol, nERow, 0 );
                 bRecalcPages = true;
-                nRepeatStartX = nSCol;  // fuer UpdatePageBreaks
+                nRepeatStartX = nSCol;  // for UpdatePageBreaks
                 nRepeatEndX = nECol;
             }
         }
@@ -1557,7 +1556,7 @@ void ScTable::UpdateReference(
             {
                 *pRepeatRowRange = ScRange( nSCol, nSRow, 0, nECol, nERow, 0 );
                 bRecalcPages = true;
-                nRepeatStartY = nSRow;  // fuer UpdatePageBreaks
+                nRepeatStartY = nSRow;  // for UpdatePageBreaks
                 nRepeatEndY = nERow;
             }
         }
diff --git a/sc/source/core/data/table2.cxx b/sc/source/core/data/table2.cxx
index 6b4663c..c12bebb 100644
--- a/sc/source/core/data/table2.cxx
+++ b/sc/source/core/data/table2.cxx
@@ -110,7 +110,7 @@ bool ScTable::SetOutlineTable( const ScOutlineTable* 
pNewOutline )
     else
         pOutlineTable = NULL;
 
-    return ( nNewSizeX != nOldSizeX || nNewSizeY != nOldSizeY );        // 
Groesse geaendert ?
+    return ( nNewSizeX != nOldSizeX || nNewSizeY != nOldSizeY );        // 
changed size?
 }
 
 void ScTable::StartOutlineTable()
@@ -466,7 +466,7 @@ void ScTable::DeleteSelection( InsertDeleteFlags nDelFlag, 
const ScMarkData& rMa
             mpCondFormatList->DeleteArea( pRange->aStart.Col(), 
pRange->aStart.Row(), pRange->aEnd.Col(), pRange->aEnd.Row() );
     }
 
-        // Zellschutz auf geschuetzter Tabelle nicht setzen
+        // Do not set protected cell in a protected sheet
 
     if ( IsProtected() && (nDelFlag & IDF_ATTRIB) )
     {
@@ -522,7 +522,7 @@ void ScTable::CopyToClip(
     pTable->CopyRowHidden(*this, 0, nRow2);
     pTable->CopyRowFiltered(*this, 0, nRow2);
 
-    //  ggf. Formeln durch Werte ersetzen
+    // If necessary replace formulas with values
 
     if ( IsProtected() )
         for (i = nCol1; i <= nCol2; i++)
@@ -683,7 +683,7 @@ void ScTable::CopyFromClip(
                 }
             }
 
-            // Zellschutz auf geschuetzter Tabelle nicht setzen
+            // Do not set protected cell in a protected sheet
             if (IsProtected() && (rCxt.getInsertFlag() & IDF_ATTRIB))
             {
                 ScPatternAttr aPattern(pDocument->GetPool());
@@ -705,7 +705,7 @@ void ScTable::MixData(
         aCol[i].MixData(rCxt, nRow1, nRow2, nFunction, bSkipEmpty, 
pSrcTab->aCol[i]);
 }
 
-//  Markierung von diesem Dokument
+// Selection form this document
 void ScTable::MixMarked(
     sc::MixDocContext& rCxt, const ScMarkData& rMark, sal_uInt16 nFunction,
     bool bSkipEmpty, const ScTable* pSrcTab )
@@ -802,8 +802,8 @@ public:
         ScFormulaCell* pNew = new ScFormulaCell(
             *p, mrClipTab.GetDoc(), getDestPos(nRow), 
SC_CLONECELL_STARTLISTENING);
 
-        //  Referenzen drehen
-        //  bei Cut werden Referenzen spaeter per UpdateTranspose angepasst
+        //  rotate reference
+        //  for Cut, the referneces are later adjusted through UpdateTranspose
 
         if (!mbWasCut)
             pNew->TransposeReference();
@@ -1091,7 +1091,7 @@ void ScTable::CopyToTable(
             aCol[i].CopyToColumn(rCxt, nRow1, nRow2, nFlags, bMarked,
                                 pDestTab->aCol[i], pMarkData, bAsLink);
 
-    if (!bColRowFlags)      // Spaltenbreiten/Zeilenhoehen/Flags
+    if (!bColRowFlags)      // Column widths/Row heights/Flags
         return;
 
     if(pDestTab->pDocument->IsUndo() && (nFlags & IDF_ATTRIB))
@@ -1109,7 +1109,7 @@ void ScTable::CopyToTable(
         pNewDBData->MoveTo(pDestTab->nTab, aCol1, aRow1, aCol2, aRow2);
         pDestTab->SetAnonymousDBData(pNewDBData);
     }
-    //  Charts muessen beim Ein-/Ausblenden angepasst werden
+    //  Charts have to be adjusted when hide/show
     ScChartListenerCollection* pCharts = 
pDestTab->pDocument->GetChartListenerCollection();
 
     bool bFlagChange = false;
@@ -1271,7 +1271,7 @@ void ScTable::MarkScenarioIn( ScMarkData& rDestMark, 
sal_uInt16 nNeededBits ) co
 {
     OSL_ENSURE( bScenario, "bScenario == FALSE" );
 
-    if ( ( nScenarioFlags & nNeededBits ) != nNeededBits )  // alle Bits 
gesetzt?
+    if ( ( nScenarioFlags & nNeededBits ) != nNeededBits )  // Are all Bits 
set?
         return;
 
     for (SCCOL i=0; i<=MAXCOL; i++)
@@ -1315,7 +1315,7 @@ const ScRangeList* ScTable::GetScenarioRanges() const
     {
         ((ScTable*)this)->pScenarioRanges = new ScRangeList;
         ScMarkData aMark;
-        MarkScenarioIn( aMark, 0 );     // immer
+        MarkScenarioIn( aMark, 0 );     // always
         aMark.FillRangeListWithMarks( pScenarioRanges, false );
     }
     return pScenarioRanges;
@@ -1688,7 +1688,7 @@ void ScTable::SetAllFormulasDirty( const 
sc::SetFormulaDirtyContext& rCxt )
 void ScTable::SetDirty( const ScRange& rRange, ScColumn::BroadcastMode eMode )
 {
     bool bOldAutoCalc = pDocument->GetAutoCalc();
-    pDocument->SetAutoCalc( false );    // Mehrfachberechnungen vermeiden
+    pDocument->SetAutoCalc( false );    // avoid multiple recalculations
     SCCOL nCol2 = rRange.aEnd.Col();
     for (SCCOL i=rRange.aStart.Col(); i<=nCol2; i++)
         aCol[i].SetDirty(rRange.aStart.Row(), rRange.aEnd.Row(), eMode);
@@ -1708,7 +1708,7 @@ void ScTable::SetTableOpDirty( const ScRange& rRange )
 void ScTable::SetDirtyAfterLoad()
 {
     bool bOldAutoCalc = pDocument->GetAutoCalc();
-    pDocument->SetAutoCalc( false );    // Mehrfachberechnungen vermeiden
+    pDocument->SetAutoCalc( false );    // avoid multiple recalculations
     for (SCCOL i=0; i<=MAXCOL; i++)
         aCol[i].SetDirtyAfterLoad();
     pDocument->SetAutoCalc( bOldAutoCalc );
@@ -1717,7 +1717,7 @@ void ScTable::SetDirtyAfterLoad()
 void ScTable::SetDirtyIfPostponed()
 {
     bool bOldAutoCalc = pDocument->GetAutoCalc();
-    pDocument->SetAutoCalc( false );    // Mehrfachberechnungen vermeiden
+    pDocument->SetAutoCalc( false );    // avoid multiple recalculations
     for (SCCOL i=0; i<=MAXCOL; i++)
         aCol[i].SetDirtyIfPostponed();
     pDocument->SetAutoCalc( bOldAutoCalc );
@@ -1937,7 +1937,7 @@ SCSIZE ScTable::FillMaxRot( RowInfo* pRowInfo, SCSIZE 
nArrCount, SCCOL nX1, SCCO
                             SCCOL nCol, SCROW nAttrRow1, SCROW nAttrRow2, 
SCSIZE nArrY,
                             const ScPatternAttr* pPattern, const SfxItemSet* 
pCondSet )
 {
-    //  Rueckgabe = neues nArrY
+    //  Return value = new nArrY
 
     sal_uInt8 nRotDir = pPattern->GetRotateDir( pCondSet );
     if ( nRotDir != SC_ROTDIR_NONE )
@@ -1973,7 +1973,7 @@ SCSIZE ScTable::FillMaxRot( RowInfo* pRowInfo, SCSIZE 
nArrCount, SCCOL nX1, SCCO
                     bool bHitOne = true;
                     if ( nCol > nX2+1 )
                     {
-                        // reicht die gedrehte Zelle bis in den sichtbaren 
Bereich?
+                        // Does the rotated cell extend into the visable range?
 
                         SCCOL nTouchedCol = nCol;
                         long nWidth = 
static_cast<long>(mpRowHeights->getValue(nRow) * nFactor);
@@ -2010,7 +2010,7 @@ void ScTable::FindMaxRotCol( RowInfo* pRowInfo, SCSIZE 
nArrCount, SCCOL nX1, SCC
         return;
     }
 
-    //  nRotMaxCol ist auf SC_ROTMAX_NONE initialisiert, nRowNo ist schon 
gesetzt
+    //  nRotMaxCol is initalized to SC_ROTMAX_NONE, nRowNo is already set
 
     SCROW nY1 = pRowInfo[0].nRowNo;
     SCROW nY2 = pRowInfo[nArrCount-1].nRowNo;
@@ -2030,8 +2030,8 @@ void ScTable::FindMaxRotCol( RowInfo* pRowInfo, SCSIZE 
nArrCount, SCCOL nX1, SCC
                 if ( pPattern->GetItemSet().GetItemState( ATTR_CONDITIONAL, 
true, &pCondItem )
                         == SfxItemState::SET )
                 {
-                    //  alle Formate durchgehen, damit die Zellen nicht einzeln
-                    //  angeschaut werden muessen
+                    //  Run through all formats, so that each cell does not 
have to be
+                    //  handled individually
 
                     const std::vector<sal_uInt32>& rCondFormatData = 
static_cast<const ScCondFormatItem*>(pCondItem)->GetCondFormatData();
                     ScStyleSheetPool* pStylePool = 
pDocument->GetStyleSheetPool();
@@ -2060,7 +2060,7 @@ void ScTable::FindMaxRotCol( RowInfo* pRowInfo, SCSIZE 
nArrCount, SCCOL nX1, SCC
                                             FillMaxRot( pRowInfo, nArrCount, 
nX1, nX2,
                                                     nCol, nAttrRow1, nAttrRow2,
                                                     nArrY, pPattern, 
&pStyleSheet->GetItemSet() );
-                                            //  nArrY nicht veraendern
+                                            //  not changing nArrY
                                         }
                                     }
                                 }
@@ -2086,28 +2086,28 @@ bool ScTable::HasBlockMatrixFragment( SCCOL nCol1, 
SCROW nRow1, SCCOL nCol2, SCR
     sal_uInt16 nEdges = 0;
 
     if ( nCol1 == nCol2 )
-    {   // linke und rechte Spalte
+    {   // left and right column
         const sal_uInt16 n = MatrixEdgeLeft | MatrixEdgeRight;
         nEdges = aCol[nCol1].GetBlockMatrixEdges( nRow1, nRow2, n );
-        // nicht (4 und 16) oder 1 oder 32
+        // not (4 and 16) or 1 or 32
         if (nEdges && (((nEdges & n) != n) || (nEdges & 
(MatrixEdgeInside|MatrixEdgeOpen))))
-            return true;        // linke oder rechte Kante fehlt oder offen
+            return true;        // left or right edge is missing or open
     }
     else
-    {   // linke Spalte
+    {   // left column
         nEdges = aCol[nCol1].GetBlockMatrixEdges(nRow1, nRow2, MatrixEdgeLeft);
-        // nicht 4 oder 1 oder 32
+        // not 4 or 1 or 32
         if (nEdges && (((nEdges & MatrixEdgeLeft) != MatrixEdgeLeft) || 
(nEdges & (MatrixEdgeInside|MatrixEdgeOpen))))
-            return true;        // linke Kante fehlt oder offen
-        // rechte Spalte
+            return true;        // left edge missing or open
+        // right column
         nEdges = aCol[nCol2].GetBlockMatrixEdges(nRow1, nRow2, 
MatrixEdgeRight);
-        // nicht 16 oder 1 oder 32
+        // not 16 or 1 or 32
         if (nEdges && (((nEdges & MatrixEdgeRight) != MatrixEdgeRight) || 
(nEdges & (MatrixEdgeInside|MatrixEdgeOpen))))
-            return true;        // rechte Kante fehlt oder offen
+            return true;        // right edge is missing or open
     }
 
     if ( nRow1 == nRow2 )
-    {   // obere und untere Zeile
+    {   // Row on top and on bottom
         bool bOpen = false;
         const sal_uInt16 n = MatrixEdgeBottom | MatrixEdgeTop;
         for ( SCCOL i=nCol1; i<=nCol2; i++)
@@ -2116,23 +2116,23 @@ bool ScTable::HasBlockMatrixFragment( SCCOL nCol1, 
SCROW nRow1, SCCOL nCol2, SCR
             if ( nEdges )
             {
                 if ( (nEdges & n) != n )
-                    return true;        // obere oder untere Kante fehlt
+                    return true;        // Top or bottom edge missing
                 if (nEdges & MatrixEdgeLeft)
-                    bOpen = true;       // linke Kante oeffnet, weitersehen
+                    bOpen = true;       // left edge open, continue
                 else if ( !bOpen )
-                    return true;        // es gibt was, was nicht geoeffnet 
wurde
+                    return true;        // Something exist that has not been 
opened
                 if (nEdges & MatrixEdgeRight)
-                    bOpen = false;      // rechte Kante schliesst
+                    bOpen = false;      // Close right edge
             }
         }
         if ( bOpen )
-            return true;                // es geht noch weiter
+            return true;                // continue
     }
     else
     {
         sal_uInt16 j, n;
         SCROW nR;
-        // erst obere Zeile, dann untere Zeile
+        // first rop row, then bottom row
         for ( j=0, nR=nRow1, n=8; j<2; j++, nR=nRow2, n=2 )
         {
             bool bOpen = false;
@@ -2141,20 +2141,20 @@ bool ScTable::HasBlockMatrixFragment( SCCOL nCol1, 
SCROW nRow1, SCCOL nCol2, SCR
                 nEdges = aCol[i].GetBlockMatrixEdges( nR, nR, n );
                 if ( nEdges )
                 {
-                    // in oberere Zeile keine obere Kante bzw.
-                    // in unterer Zeile keine untere Kante
+                    // in top row no top edge respectively
+                    // in bottom row no bottom edge
                     if ( (nEdges & n) != n )
                         return true;
                     if (nEdges & MatrixEdgeLeft)
-                        bOpen = true;       // linke Kante oeffnet, weitersehen
+                        bOpen = true;       // open left edge, continue
                     else if ( !bOpen )
-                        return true;        // es gibt was, was nicht 
geoeffnet wurde
+                        return true;        // Something exist that has not 
been opened
                     if (nEdges & MatrixEdgeRight)
-                        bOpen = false;      // rechte Kante schliesst
+                        bOpen = false;      // Close right edge
                 }
             }
             if ( bOpen )
-                return true;                // es geht noch weiter
+                return true;                // continue
         }
     }
     return false;
@@ -2515,7 +2515,7 @@ const ScStyleSheet* ScTable::GetSelectionStyle( const 
ScMarkData& rMark, bool& r
             {
                 rFound = true;
                 if ( !pNewStyle || ( pStyle && pNewStyle != pStyle ) )
-                    bEqual = false;                                            
 // unterschiedliche
+                    bEqual = false;
                 pStyle = pNewStyle;
             }
         }
@@ -2541,7 +2541,7 @@ const ScStyleSheet* ScTable::GetAreaStyle( bool& rFound, 
SCCOL nCol1, SCROW nRow
         {
             rFound = true;
             if ( !pNewStyle || ( pStyle && pNewStyle != pStyle ) )
-                bEqual = false;                                             // 
unterschiedliche
+                bEqual = false;
             pStyle = pNewStyle;
         }
     }
@@ -2643,7 +2643,7 @@ void ScTable::ClearSelectionItems( const sal_uInt16* 
pWhich, const ScMarkData& r
         aCol[i].ClearSelectionItems( pWhich, rMark );
 }
 
-//  Spaltenbreiten / Zeilenhoehen
+//  Column widths / Row heights
 
 void ScTable::SetColWidth( SCCOL nCol, sal_uInt16 nNewWidth )
 {
@@ -2861,7 +2861,7 @@ sal_uLong ScTable::GetColWidth( SCCOL nStartCol, SCCOL 
nEndCol, bool bHiddenAsZe
     return nW;
 }
 
-sal_uInt16 ScTable::GetOriginalWidth( SCCOL nCol ) const        // immer die 
eingestellte
+sal_uInt16 ScTable::GetOriginalWidth( SCCOL nCol ) const        // always the 
set value
 {
     OSL_ENSURE(ValidCol(nCol),"wrong column number");
 
@@ -3034,7 +3034,7 @@ sal_uInt16 ScTable::GetOriginalHeight( SCROW nRow ) const 
      // non-0 even if
         return (sal_uInt16) ScGlobal::nStdRowHeight;
 }
 
-//  Spalten-/Zeilen-Flags
+//  Column/Row -Flags
 
 SCROW ScTable::GetHiddenRowCount( SCROW nRow ) const
 {
@@ -3097,7 +3097,7 @@ void ScTable::DBShowRow(SCROW nRow, bool bShow)
 {
     if (ValidRow(nRow) && pRowFlags)
     {
-        //  Filter-Flag immer setzen, auch wenn Hidden unveraendert
+        //  Always set Filter-Flag, also unchanged when Hidden
         bool bChanged = SetRowHidden(nRow, nRow, !bShow);
         SetRowFiltered(nRow, nRow, !bShow);
 
@@ -3442,7 +3442,7 @@ void ScTable::DoAutoOutline( SCCOL nStartCol, SCROW 
nStartRow, SCCOL nEndCol, SC
 
     StartOutlineTable();
 
-                            // Zeilen
+                            // Rows
 
     UsedRowsType aUsed(0, MAXROW+1, false);
     for (nCol=nStartCol; nCol<=nEndCol; nCol++)
@@ -3497,7 +3497,7 @@ void ScTable::DoAutoOutline( SCCOL nStartCol, SCROW 
nStartRow, SCCOL nEndCol, SC
     }
 }
 
-                                    //  CopyData - fuer Query in anderen 
Bereich
+                                    //  CopyData - for Query in other range
 
 void ScTable::CopyData( SCCOL nStartCol, SCROW nStartRow, SCCOL nEndCol, SCROW 
nEndRow,
                             SCCOL nDestCol, SCROW nDestRow, SCTAB nDestTab )
@@ -3569,7 +3569,7 @@ bool ScTable::RefVisible(ScFormulaCell* pCell)
         }
     }
 
-    return true;                        // irgendwie anders
+    return true;                        // somehow different
 }
 
 void ScTable::GetUpperCellString(SCCOL nCol, SCROW nRow, OUString& rStr)
@@ -3578,7 +3578,7 @@ void ScTable::GetUpperCellString(SCCOL nCol, SCROW nRow, 
OUString& rStr)
     rStr = ScGlobal::pCharClass->uppercase(rStr.trim());
 }
 
-// Berechnen der Groesse der Tabelle und setzen der Groesse an der DrawPage
+// Calculate the size of the sheet and set the size on DrawPage
 
 void ScTable::SetDrawPageSize(bool bResetStreamValid, bool 
bUpdateNoteCaptionPos)
 {
diff --git a/sc/source/core/data/table3.cxx b/sc/source/core/data/table3.cxx
index d673583..22528bd 100644
--- a/sc/source/core/data/table3.cxx
+++ b/sc/source/core/data/table3.cxx
@@ -1526,11 +1526,11 @@ short ScTable::CompareCell(
                         nRes = static_cast<short>( 
pSortCollator->compareString( aStr1, aStr2 ) );
                 }
             }
-            else if ( bStr1 )               // String <-> Zahl
-                nRes = 1;                   // Zahl vorne
-            else if ( bStr2 )               // Zahl <-> String
-                nRes = -1;                  // Zahl vorne
-            else                            // Zahlen untereinander
+            else if ( bStr1 )               // String <-> Number
+                nRes = 1;                   // Number in front
+            else if ( bStr2 )               // Number <-> String
+                nRes = -1;                  // Number in front
+            else                            // Mixed numbers
             {
                 double nVal1 = rCell1.getValue();
                 double nVal2 = rCell2.getValue();
@@ -1550,7 +1550,7 @@ short ScTable::CompareCell(
         if (!rCell2.isEmpty())
             nRes = 1;
         else
-            nRes = 0;                   // beide leer
+            nRes = 0;                   // both empty
     }
     return nRes;
 }
@@ -1655,7 +1655,7 @@ short ScTable::Compare(SCCOLROW nIndex1, SCCOLROW 
nIndex2) const
     return nRes;
 }
 
-bool ScTable::IsSorted( SCCOLROW nStart, SCCOLROW nEnd ) const   // ueber 
aSortParam
+bool ScTable::IsSorted( SCCOLROW nStart, SCCOLROW nEnd ) const   // over 
aSortParam
 {
     for (SCCOLROW i=nStart; i<nEnd; i++)
     {
@@ -1871,7 +1871,7 @@ void ScTable::RemoveSubTotals( ScSubTotalParam& rParam )
     SCCOL nStartCol = rParam.nCol1;
     SCROW nStartRow = rParam.nRow1 + 1;     // Header
     SCCOL nEndCol   = rParam.nCol2;
-    SCROW nEndRow    = rParam.nRow2;            // wird veraendert
+    SCROW nEndRow    = rParam.nRow2;        // will change
 
     RemoveSubTotalsHandler aFunc;
     for (SCCOL nCol = nStartCol; nCol <= nEndCol; ++nCol)
@@ -1894,7 +1894,7 @@ void ScTable::RemoveSubTotals( ScSubTotalParam& rParam )
     rParam.nRow2 -= aRows.size();
 }
 
-//  harte Zahlenformate loeschen (fuer Ergebnisformeln)
+//  Delete hard number formats (for result formulas)
 
 static void lcl_RemoveNumberFormat( ScTable* pTab, SCCOL nCol, SCROW nRow )
 {
@@ -1920,24 +1920,24 @@ typedef struct lcl_ScTable_DoSubTotals_RowEntry
     SCROW   nFuncEnd;
 } RowEntry;
 
-//      neue Zwischenergebnisse
-//      rParam.nRow2 wird veraendert !
+//      new intermediate results
+//      rParam.nRow2 is changed !
 
 bool ScTable::DoSubTotals( ScSubTotalParam& rParam )
 {
     SCCOL nStartCol = rParam.nCol1;
     SCROW nStartRow = rParam.nRow1 + 1;     // Header
     SCCOL nEndCol   = rParam.nCol2;
-    SCROW nEndRow    = rParam.nRow2;            // wird veraendert
+    SCROW nEndRow    = rParam.nRow2;        // will change
     sal_uInt16 i;
 
-    //  Leerzeilen am Ende weglassen,
-    //  damit alle Ueberlaeufe (MAXROW) bei InsertRow gefunden werden (#35180#)
-    //  Wenn sortiert wurde, sind alle Leerzeilen am Ende.
+    //  Remove emty rows at the end
+    //  so that all exceeding (MAXROW) can be found by InsertRow (#35180#)
+    //  If sorted, all empty rows are at the end.
     SCSIZE nEmpty = GetEmptyLinesInBlock( nStartCol, nStartRow, nEndCol, 
nEndRow, DIR_BOTTOM );
     nEndRow -= nEmpty;
 
-    sal_uInt16 nLevelCount = 0;             // Anzahl Gruppierungen
+    sal_uInt16 nLevelCount = 0;             // Number of levels
     bool bDoThis = true;
     for (i=0; i<MAXSUBTOTAL && bDoThis; i++)
         if (rParam.bGroupActive[i])
@@ -1945,15 +1945,14 @@ bool ScTable::DoSubTotals( ScSubTotalParam& rParam )
         else
             bDoThis = false;
 
-    if (nLevelCount==0)                 // nichts tun
+    if (nLevelCount==0)                 // do nothing
         return true;
 
-    SCCOL*          nGroupCol = rParam.nField;  // Spalten nach denen
-                                                // gruppiert wird
+    SCCOL*          nGroupCol = rParam.nField;  // columns which will be used 
when grouping
 
-    //  Durch (leer) als eigene Kategorie muss immer auf
-    //  Teilergebniszeilen aus den anderen Spalten getestet werden
-    //  (frueher nur, wenn eine Spalte mehrfach vorkam)
+    //  With (blank) as a separate category, subtotal rows from
+    //  the other columns must always be tested
+    //  (previously only when a column occured more than once)
     bool bTestPrevSub = ( nLevelCount > 1 );
 
     OUString  aSubString;
@@ -1961,7 +1960,7 @@ bool ScTable::DoSubTotals( ScSubTotalParam& rParam )
 
     bool bIgnoreCase = !rParam.bCaseSens;
 
-    OUString *pCompString[MAXSUBTOTAL];               // Pointer wegen 
Compiler-Problemen
+    OUString *pCompString[MAXSUBTOTAL];               // Pointer due to 
compiler problemens
     for (i=0; i<MAXSUBTOTAL; i++)
         pCompString[i] = new OUString;
 
@@ -1970,7 +1969,7 @@ bool ScTable::DoSubTotals( ScSubTotalParam& rParam )
     ScStyleSheet* pStyle = 
static_cast<ScStyleSheet*>(pDocument->GetStyleSheetPool()->Find(
                                 ScGlobal::GetRscString(STR_STYLENAME_RESULT), 
SFX_STYLE_FAMILY_PARA ));
 
-    bool bSpaceLeft = true;                                         // Erfolg 
beim Einfuegen?
+    bool bSpaceLeft = true;                                         // 
Succsess when inserting?
 
     // For performance reasons collect formula entries so their
     // references don't have to be tested for updates each time a new row is
@@ -1978,7 +1977,7 @@ bool ScTable::DoSubTotals( ScSubTotalParam& rParam )
     RowEntry aRowEntry;
     ::std::vector< RowEntry > aRowVector;
 
-    for (sal_uInt16 nLevel=0; nLevel<=nLevelCount && bSpaceLeft; nLevel++)     
 // incl. Gesamtergebnis
+    for (sal_uInt16 nLevel=0; nLevel<=nLevelCount && bSpaceLeft; nLevel++)     
 // including grand total
     {
         bool bTotal = ( nLevel == nLevelCount );
         aRowEntry.nGroupNo = bTotal ? 0 : (nLevelCount-nLevel-1);
@@ -1988,7 +1987,7 @@ bool ScTable::DoSubTotals( ScSubTotalParam& rParam )
         // result functions
         ScSubTotalFunc* eResFunc = rParam.pFunctions[aRowEntry.nGroupNo];
 
-        if (nResCount > 0)                                      // sonst nur 
sortieren
+        if (nResCount > 0)                                      // otherwise 
only sort
         {
             for (i=0; i<=aRowEntry.nGroupNo; i++)
             {
@@ -1997,9 +1996,9 @@ bool ScTable::DoSubTotals( ScSubTotalParam& rParam )
                     *pCompString[i] = ScGlobal::pCharClass->uppercase( 
aSubString );
                 else
                     *pCompString[i] = aSubString;
-            }                                                   // aSubString 
bleibt auf dem letzten stehen
+            }                                                   // aSubString 
stays on the last
 
-            bool bBlockVis = false;             // Gruppe eingeblendet?
+            bool bBlockVis = false;             // group visible?
             aRowEntry.nSubStartRow = nStartRow;
             for (SCROW nRow=nStartRow; nRow<=nEndRow+1 && bSpaceLeft; nRow++)
             {
@@ -2017,8 +2016,8 @@ bool ScTable::DoSubTotals( ScSubTotalParam& rParam )
                             GetString( nGroupCol[i], nRow, aString );
                             if (bIgnoreCase)
                                 aString = 
ScGlobal::pCharClass->uppercase(aString);
-                            //  wenn sortiert, ist "leer" eine eigene Gruppe
-                            //  sonst sind leere Zellen unten erlaubt
+                            //  when sorting, blanks are seperate group
+                            //  otherwise blak cells are allowed below
                             bChanged = ( ( !aString.isEmpty() || 
rParam.bDoSort ) &&
                                             aString != *pCompString[i] );
                         }
@@ -2070,10 +2069,10 @@ bool ScTable::DoSubTotals( ScSubTotalParam& rParam )
                         // collect formula positions
                         aRowVector.push_back( aRowEntry );
 
-                        if (bTotal)     // "Gesamtergebnis"
+                        if (bTotal)     // "Grand total"
                             aOutString = ScGlobal::GetRscString( 
STR_TABLE_GESAMTERGEBNIS );
                         else
-                        {               // " Ergebnis"
+                        {               // "Result"
                             aOutString = aSubString;
                             if (aOutString.isEmpty())
                                 aOutString = ScGlobal::GetRscString( 
STR_EMPTYDATA );
@@ -2156,7 +2155,6 @@ bool ScTable::DoSubTotals( ScSubTotalParam& rParam )
             {
                 ApplyStyle( nResCols[nResult], iEntry->nDestRow, *pStyle );
 
-                //  Zahlformat loeschen
                 lcl_RemoveNumberFormat( this, nResCols[nResult], 
iEntry->nDestRow );
             }
         }
@@ -2751,18 +2749,18 @@ void ScTable::TopTenQuery( ScQueryParam& rParam )
                 QuickSort( pArray.get(), nRow1, rParam.nRow2 );
                 ScSortInfo** ppInfo = pArray->GetFirstArray();
                 SCSIZE nValidCount = nCount;
-                // keine Note-/Leerzellen zaehlen, sind ans Ende sortiert
+                // Don't count note or blank cells, they are sorted at the end
                 while (nValidCount > 0 && 
ppInfo[nValidCount-1]->maCell.isEmpty())
                     nValidCount--;
-                // keine Strings zaehlen, sind zwischen Value und Leer
+                // Don't count Strings, they are between Value and blank
                 while (nValidCount > 0 && 
ppInfo[nValidCount-1]->maCell.hasString())
                     nValidCount--;
                 if ( nValidCount > 0 )
                 {
                     if ( rItem.meType == ScQueryEntry::ByString )
-                    {   // dat wird nix
+                    {   // this will be nothing
                         rItem.meType = ScQueryEntry::ByValue;
-                        rItem.mfVal = 10;   // 10 bzw. 10%
+                        rItem.mfVal = 10;   // 10 and 10% respectively
                     }
                     SCSIZE nVal = (rItem.mfVal >= 1 ? 
static_cast<SCSIZE>(rItem.mfVal) : 1);
                     SCSIZE nOffset = 0;
@@ -2953,9 +2951,9 @@ SCSIZE ScTable::Query(ScQueryParam& rParamOrg, bool 
bKeepSub)
     SCROW nRealRow2 = aParam.nRow2;
     for (SCROW j = aParam.nRow1 + nHeader; j <= nRealRow2; ++j)
     {
-        bool bResult;                                   // Filterergebnis
+        bool bResult;                                   // Filter result
         bool bValid = ValidQuery(j, aParam);
-        if (!bValid && bKeepSub)                        // Subtotals 
stehenlassen
+        if (!bValid && bKeepSub)                        // Keep subtotals
         {
             for (SCCOL nCol=aParam.nCol1; nCol<=aParam.nCol2 && !bValid; 
nCol++)
             {
@@ -3039,7 +3037,7 @@ bool ScTable::CreateExcelQuery(SCCOL nCol1, SCROW nRow1, 
SCCOL nCol2, SCROW nRow
     SCTAB   nDBTab = (rQueryParam.nTab == SCTAB_MAX ? nTab : rQueryParam.nTab);
     SCROW   nDBRow1 = rQueryParam.nRow1;
     SCCOL   nDBCol2 = rQueryParam.nCol2;
-    // Erste Zeile muessen Spaltenkoepfe sein
+    // First row must be column header
     while (bValid && (nCol <= nCol2))
     {
         OUString aQueryStr;
@@ -3140,7 +3138,7 @@ bool ScTable::CreateStarQuery(SCCOL nCol1, SCROW nRow1, 
SCCOL nCol2, SCROW nRow2
         ScQueryEntry& rEntry = rQueryParam.GetEntry(nIndex);
 
         bValid = false;
-        // Erste Spalte UND/ODER
+        // First column AND/OR
         if (nIndex > 0)
         {
             GetUpperCellString(nCol1, nRow, aCellStr);
@@ -3155,7 +3153,7 @@ bool ScTable::CreateStarQuery(SCCOL nCol1, SCROW nRow1, 
SCCOL nCol2, SCROW nRow2
                 bValid = true;
             }
         }
-        // Zweite Spalte FeldName
+        // Second column field name
         if ((nIndex < 1) || bValid)
         {
             bFound = false;
@@ -3177,7 +3175,7 @@ bool ScTable::CreateStarQuery(SCCOL nCol1, SCROW nRow1, 
SCCOL nCol2, SCROW nRow2
                     bValid = false;
             }
         }
-        // Dritte Spalte Operator =<>...
+        // Third column operator =<>...
         if (bValid)
         {
             bFound = false;
@@ -3202,7 +3200,7 @@ bool ScTable::CreateStarQuery(SCCOL nCol1, SCROW nRow1, 
SCCOL nCol2, SCROW nRow2
                 rEntry.eOp = SC_EQUAL;
 
         }
-        // Vierte Spalte Wert
+        // Forth column values
         if (bValid)
         {
             OUString aStr;
@@ -3227,16 +3225,16 @@ bool ScTable::CreateQueryParam(SCCOL nCol1, SCROW 
nRow1, SCCOL nCol2, SCROW nRow
     for (i=0; i < nCount; i++)
         rQueryParam.GetEntry(i).Clear();
 
-    // Standard QueryTabelle
+    // Standard query tabel
     bool bValid = CreateStarQuery(nCol1, nRow1, nCol2, nRow2, rQueryParam);
-    // Excel QueryTabelle
+    // Excel Query tabel
     if (!bValid)
         bValid = CreateExcelQuery(nCol1, nRow1, nCol2, nRow2, rQueryParam);
 
     nCount = rQueryParam.GetEntryCount();
     if (bValid)
     {
-        //  bQueryByString muss gesetzt sein
+        //  bQueryByString must be set
         for (i=0; i < nCount; i++)
             rQueryParam.GetEntry(i).GetQueryItem().meType = 
ScQueryEntry::ByString;
     }
_______________________________________________
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits

Reply via email to