[Libreoffice-commits] core.git: sc/source

Johnny_M klasse at partyheld.de
Wed Mar 29 12:28:23 UTC 2017


 sc/source/ui/docshell/arealink.cxx |   65 +++++++--------
 sc/source/ui/docshell/autostyl.cxx |   18 ++--
 sc/source/ui/docshell/dbdocfun.cxx |  158 ++++++++++++++++++-------------------
 sc/source/ui/docshell/docfunc.cxx  |   18 ++--
 sc/source/ui/docshell/docsh.cxx    |    4 
 sc/source/ui/docshell/docsh3.cxx   |  116 +++++++++++++--------------
 sc/source/ui/docshell/docsh4.cxx   |  141 ++++++++++++++++-----------------
 sc/source/ui/docshell/docsh5.cxx   |   92 ++++++++++-----------
 sc/source/ui/docshell/docsh6.cxx   |   38 ++++----
 sc/source/ui/docshell/docsh8.cxx   |    2 
 sc/source/ui/docshell/impex.cxx    |   10 +-
 sc/source/ui/docshell/olinefun.cxx |   12 +-
 sc/source/ui/docshell/servobj.cxx  |    2 
 sc/source/ui/docshell/tablink.cxx  |   44 +++++-----
 14 files changed, 357 insertions(+), 363 deletions(-)

New commits:
commit 5ddef1648005756cfb811f9e6261851d4df712c2
Author: Johnny_M <klasse at partyheld.de>
Date:   Fri Mar 17 15:51:32 2017 +0000

    Translate German comments in sc/source/ui/docshell/
    
    Change-Id: Ic1a312677fac1b729538dd4463febac63e7204e5
    Reviewed-on: https://gerrit.libreoffice.org/35343
    Reviewed-by: Michael Stahl <mstahl at redhat.com>
    Tested-by: Michael Stahl <mstahl at redhat.com>

diff --git a/sc/source/ui/docshell/arealink.cxx b/sc/source/ui/docshell/arealink.cxx
index 10127c6e4888..428a8a3412a8 100644
--- a/sc/source/ui/docshell/arealink.cxx
+++ b/sc/source/ui/docshell/arealink.cxx
@@ -98,8 +98,8 @@ void ScAreaLink::Edit(vcl::Window* pParent, const Link<SvBaseLink&,void>& /* rEn
 ::sfx2::SvBaseLink::UpdateResult ScAreaLink::DataChanged(
     const OUString&, const css::uno::Any& )
 {
-    //  bei bInCreate nichts tun, damit Update gerufen werden kann, um den Status im
-    //  LinkManager zu setzen, ohne die Daten im Dokument zu aendern
+    //  Do not do anything at bInCreate so that update can be called to set
+    //  the status in the LinkManager without changing the data in the document
 
     if (bInCreate)
         return SUCCESS;
@@ -136,7 +136,7 @@ void ScAreaLink::Edit(vcl::Window* pParent, const Link<SvBaseLink&,void>& /* rEn
 
 void ScAreaLink::Closed()
 {
-    // Verknuepfung loeschen: Undo
+    // delete link: Undo
 
     ScDocument& rDoc = pImpl->m_pDocSh->GetDocument();
     bool bUndo (rDoc.IsUndoEnabled());
@@ -146,7 +146,7 @@ void ScAreaLink::Closed()
                                                         aFileName, aFilterName, aOptions,
                                                         aSourceArea, aDestArea, GetRefreshDelay() ) );
 
-        bAddUndo = false;   // nur einmal
+        bAddUndo = false;   // only once
     }
 
     SCTAB nDestTab = aDestArea.aStart.Tab();
@@ -158,7 +158,7 @@ void ScAreaLink::Closed()
 
 void ScAreaLink::SetDestArea(const ScRange& rNew)
 {
-    aDestArea = rNew;           // fuer Undo
+    aDestArea = rNew;           // for Undo
 }
 
 void ScAreaLink::SetSource(const OUString& rDoc, const OUString& rFlt, const OUString& rOpt,
@@ -188,13 +188,13 @@ bool ScAreaLink::FindExtRange( ScRange& rRange, ScDocument* pSrcDoc, const OUStr
     bool bFound = false;
     OUString aUpperName = ScGlobal::pCharClass->uppercase(rAreaName);
     ScRangeName* pNames = pSrcDoc->GetRangeName();
-    if (pNames)         // benannte Bereiche
+    if (pNames)         // named ranges
     {
         const ScRangeData* p = pNames->findByUpperName(aUpperName);
         if (p && p->IsValidReference(rRange))
             bFound = true;
     }
-    if (!bFound)        // Datenbankbereiche
+    if (!bFound)        // database ranges
     {
         ScDBCollection* pDBColl = pSrcDoc->GetDBCollection();
         if (pDBColl)
@@ -220,12 +220,12 @@ bool ScAreaLink::FindExtRange( ScRange& rRange, ScDocument* pSrcDoc, const OUStr
     return bFound;
 }
 
-//  ausfuehren:
+//  execute:
 
 bool ScAreaLink::Refresh( const OUString& rNewFile, const OUString& rNewFilter,
                             const OUString& rNewArea, sal_uLong nNewRefresh )
 {
-    //  Dokument laden - wie TabLink
+    //  load document - like TabLink
 
     if (rNewFile.isEmpty() || rNewFilter.isEmpty())
         return false;
@@ -242,7 +242,7 @@ bool ScAreaLink::Refresh( const OUString& rNewFile, const OUString& rNewFilter,
     bool bUndo (rDoc.IsUndoEnabled());
     rDoc.SetInLinkUpdate( true );
 
-    //  wenn neuer Filter ausgewaehlt wurde, Optionen vergessen
+    //  if new filter was selected, forget options
     if ( rNewFilter != aFilterName )
         aOptions.clear();
 
@@ -255,7 +255,7 @@ bool ScAreaLink::Refresh( const OUString& rNewFile, const OUString& rNewFilter,
 
     ScDocument& rSrcDoc = pSrcShell->GetDocument();
 
-    // Optionen koennten gesetzt worden sein
+    // options could have been set
     OUString aNewOpt = ScDocumentLoader::GetOptions(*pMed);
     if (aNewOpt.isEmpty())
         aNewOpt = aOptions;
@@ -291,12 +291,12 @@ bool ScAreaLink::Refresh( const OUString& rNewFile, const OUString& rNewFilter,
     if( nHeight > 0 )
         nHeight--;
 
-    //  alte Daten loeschen / neue kopieren
+    //  delete old data / copy new
 
     ScAddress aDestPos = aDestArea.aStart;
     SCTAB nDestTab = aDestPos.Tab();
     ScRange aOldRange = aDestArea;
-    ScRange aNewRange = aDestArea;          // alter Bereich, wenn Datei nicht gefunden o.ae.
+    ScRange aNewRange = aDestArea;          // old range, if file not found or similar
     if (nWidth > 0 && nHeight > 0)
     {
         aNewRange.aEnd.SetCol( aNewRange.aStart.Col() + nWidth - 1 );
@@ -317,7 +317,7 @@ bool ScAreaLink::Refresh( const OUString& rNewFile, const OUString& rNewFilter,
         ScRange aMaxRange( aDestPos,
                     ScAddress(std::max(nOldEndX,nNewEndX), std::max(nOldEndY,nNewEndY), nDestTab) );
 
-        //  Undo initialisieren
+        //  initialise Undo
 
         ScDocument* pUndoDoc = nullptr;
         if ( bAddUndo && bUndo )
@@ -325,32 +325,32 @@ bool ScAreaLink::Refresh( const OUString& rNewFile, const OUString& rNewFilter,
             pUndoDoc = new ScDocument( SCDOCMODE_UNDO );
             if ( bDoInsert )
             {
-                if ( nNewEndX != nOldEndX || nNewEndY != nOldEndY )             // Bereich veraendert?
+                if ( nNewEndX != nOldEndX || nNewEndY != nOldEndY )             // range changed?
                 {
                     pUndoDoc->InitUndo( &rDoc, 0, rDoc.GetTableCount()-1 );
                     rDoc.CopyToDocument(0, 0, 0, MAXCOL, MAXROW, MAXTAB,
-                                        InsertDeleteFlags::FORMULA, false, *pUndoDoc);     // alle Formeln
+                                        InsertDeleteFlags::FORMULA, false, *pUndoDoc);     // all formulas
                 }
                 else
-                    pUndoDoc->InitUndo( &rDoc, nDestTab, nDestTab );             // nur Zieltabelle
+                    pUndoDoc->InitUndo( &rDoc, nDestTab, nDestTab );             // only destination table
                 rDoc.CopyToDocument(aOldRange, InsertDeleteFlags::ALL & ~InsertDeleteFlags::NOTE, false, *pUndoDoc);
             }
-            else        // ohne Einfuegen
+            else        // without insertion
             {
-                pUndoDoc->InitUndo( &rDoc, nDestTab, nDestTab );             // nur Zieltabelle
+                pUndoDoc->InitUndo( &rDoc, nDestTab, nDestTab );             // only destination table
                 rDoc.CopyToDocument(aMaxRange, InsertDeleteFlags::ALL & ~InsertDeleteFlags::NOTE, false, *pUndoDoc);
             }
         }
 
-        //  Zellen einfuegen / loeschen
-        //  DeleteAreaTab loescht auch MERGE_FLAG Attribute
+        //  insert / delete cells
+        //  DeleteAreaTab also deletes MERGE_FLAG attributes
 
         if (bDoInsert)
-            rDoc.FitBlock( aOldRange, aNewRange );         // incl. loeschen
+            rDoc.FitBlock( aOldRange, aNewRange );         // incl. deletion
         else
             rDoc.DeleteAreaTab( aMaxRange, InsertDeleteFlags::ALL & ~InsertDeleteFlags::NOTE );
 
-        //  Daten kopieren
+        //  copy data
 
         if (nWidth > 0 && nHeight > 0)
         {
@@ -365,7 +365,7 @@ bool ScAreaLink::Refresh( const OUString& rNewFile, const OUString& rNewFilter,
                 {
                     SCTAB nSrcTab = aTokenRange.aStart.Tab();
                     ScMarkData aSourceMark;
-                    aSourceMark.SelectOneTable( nSrcTab );      // selektieren fuer CopyToClip
+                    aSourceMark.SelectOneTable( nSrcTab );      // selecting for CopyToClip
                     aSourceMark.SetMarkArea( aTokenRange );
 
                     ScClipParam aClipParam(aTokenRange, false);
@@ -374,7 +374,7 @@ bool ScAreaLink::Refresh( const OUString& rNewFile, const OUString& rNewFilter,
                     if ( aClipDoc.HasAttrib( 0,0,nSrcTab, MAXCOL,MAXROW,nSrcTab,
                                             HasAttrFlags::Merged | HasAttrFlags::Overlapped ) )
                     {
-                        //! ResetAttrib am Dokument !!!
+                        //! ResetAttrib at document !!!
 
                         ScPatternAttr aPattern( rSrcDoc.GetPool() );
                         aPattern.GetItemSet().Put( ScMergeAttr() );             // Defaults
@@ -398,7 +398,7 @@ bool ScAreaLink::Refresh( const OUString& rNewFile, const OUString& rNewFilter,
             rDoc.SetString( aDestPos.Col(), aDestPos.Row(), aDestPos.Tab(), aErr );
         }
 
-        //  Undo eintragen
+        //  enter Undo
 
         if ( bAddUndo && bUndo)
         {
@@ -415,7 +415,7 @@ bool ScAreaLink::Refresh( const OUString& rNewFile, const OUString& rNewFilter,
                                             pUndoDoc, pRedoDoc, bDoInsert ) );
         }
 
-        //  neue Einstellungen merken
+        //  remember new settings
 
         if ( bNewUrlName )
             aFileName = aNewUrl;
@@ -448,18 +448,17 @@ bool ScAreaLink::Refresh( const OUString& rNewFile, const OUString& rNewFilter,
     }
     else
     {
-        //  CanFitBlock sal_False -> Probleme mit zusammengefassten Zellen
-        //                       oder Tabellengrenze erreicht!
-        //! Zellschutz ???
+        //  CanFitBlock sal_False -> Problems with summarized cells or table boundary reached!
+        //! cell protection ???
 
-        //! Link-Dialog muss Default-Parent setzen
-        //  "kann keine Zeilen einfuegen"
+        //! Link dialog must set default parent
+        //  "cannot insert rows"
         ScopedVclPtrInstance<InfoBox> aBox( Application::GetDefDialogParent(),
                                             ScGlobal::GetRscString( STR_MSSG_DOSUBTOTALS_2 ) );
         aBox->Execute();
     }
 
-    //  aufraeumen
+    //  clean up
 
     aRef->DoClose();
 
diff --git a/sc/source/ui/docshell/autostyl.cxx b/sc/source/ui/docshell/autostyl.cxx
index 68cae217c652..30a1fb16c93d 100644
--- a/sc/source/ui/docshell/autostyl.cxx
+++ b/sc/source/ui/docshell/autostyl.cxx
@@ -24,7 +24,7 @@
 #include "docsh.hxx"
 #include "sc.hrc"
 
-static inline sal_uLong TimeNow()          // Sekunden
+static inline sal_uLong TimeNow()          // seconds
 {
     return (sal_uLong) time(nullptr);
 }
@@ -109,7 +109,7 @@ void ScAutoStyleList::AddEntry( sal_uLong nTimeout, const ScRange& rRange, const
     if (itr != aEntries.end())
         aEntries.erase(itr);
 
-    //  Timeouts von allen Eintraegen anpassen
+    //  adjust timeouts of all entries
 
     if (!aEntries.empty() && nNow != nTimerStart)
     {
@@ -117,27 +117,27 @@ void ScAutoStyleList::AddEntry( sal_uLong nTimeout, const ScRange& rRange, const
         AdjustEntries((nNow-nTimerStart)*1000);
     }
 
-    //  Einfuege-Position suchen
+    //  find insert position
     std::vector<ScAutoStyleData>::iterator iter =
         ::std::find_if(aEntries.begin(), aEntries.end(), FindByTimeout(nTimeout));
 
     aEntries.insert(iter, ScAutoStyleData(nTimeout,rRange,rStyle));
 
-    //  abgelaufene ausfuehren, Timer neu starten
+    //  execute expired, restart timer
 
     ExecuteEntries();
     StartTimer(nNow);
 }
 
-void ScAutoStyleList::AdjustEntries( sal_uLong nDiff )  // Millisekunden
+void ScAutoStyleList::AdjustEntries( sal_uLong nDiff )  // milliseconds
 {
     std::vector<ScAutoStyleData>::iterator iter;
     for (iter = aEntries.begin(); iter != aEntries.end(); ++iter)
     {
         if (iter->nTimeout <= nDiff)
-            iter->nTimeout = 0;                 // abgelaufen
+            iter->nTimeout = 0;                 // expired
         else
-            iter->nTimeout -= nDiff;                // weiterzaehlen
+            iter->nTimeout -= nDiff;                // continue counting
     }
 }
 
@@ -169,9 +169,9 @@ void ScAutoStyleList::ExecuteAllNow()
     aEntries.clear();
 }
 
-void ScAutoStyleList::StartTimer( sal_uLong nNow )      // Sekunden
+void ScAutoStyleList::StartTimer( sal_uLong nNow )      // seconds
 {
-    // ersten Eintrag mit Timeout != 0 suchen
+    // find first entry with Timeout != 0
     std::vector<ScAutoStyleData>::iterator iter =
         ::std::find_if(aEntries.begin(),aEntries.end(), FindNonZeroTimeout());
 
diff --git a/sc/source/ui/docshell/dbdocfun.cxx b/sc/source/ui/docshell/dbdocfun.cxx
index 3269523711dd..0bd48526d050 100644
--- a/sc/source/ui/docshell/dbdocfun.cxx
+++ b/sc/source/ui/docshell/dbdocfun.cxx
@@ -166,15 +166,15 @@ bool ScDBDocFunc::RenameDBRange( const OUString& rOld, const OUString& rNew )
         rDoc.PreprocessDBDataUpdate();
         rDBs.erase(iterOld);
         bool bInserted = rDBs.insert(pNewData);
-        if (!bInserted)                             // Fehler -> alten Zustand wiederherstellen
+        if (!bInserted)                             // error -> restore old state
         {
             delete pNewData;
-            rDoc.SetDBCollection(pUndoColl);       // gehoert dann dem Dokument
+            rDoc.SetDBCollection(pUndoColl);       // belongs to the document then
         }
 
         rDoc.CompileHybridFormula();
 
-        if (bInserted)                              // Einfuegen hat geklappt
+        if (bInserted)                              // insertion worked
         {
             if (bUndo)
             {
@@ -217,7 +217,7 @@ void ScDBDocFunc::ModifyDBData( const ScDBData& rNewData )
         ScRange aOldRange, aNewRange;
         pData->GetArea(aOldRange);
         rNewData.GetArea(aNewRange);
-        bool bAreaChanged = ( aOldRange != aNewRange );     // dann muss neu compiliert werden
+        bool bAreaChanged = ( aOldRange != aNewRange );     // then a recompilation is needed
 
         ScDBCollection* pUndoColl = nullptr;
         if (bUndo)
@@ -279,7 +279,7 @@ void ScDBDocFunc::ModifyAllDBData( const ScDBCollection& rNewColl, const std::ve
 
 bool ScDBDocFunc::RepeatDB( const OUString& rDBName, bool bApi, bool bIsUnnamed, SCTAB aTab )
 {
-    //! auch fuer ScDBFunc::RepeatDB benutzen!
+    //! use also for ScDBFunc::RepeatDB !
 
     bool bDone = false;
     ScDocument& rDoc = rDocShell.GetDocument();
@@ -335,7 +335,7 @@ bool ScDBDocFunc::RepeatDB( const OUString& rDBName, bool bApi, bool bIsUnnamed,
             SCROW nEndRow;
             pDBData->GetArea( nTab, nStartCol, nStartRow, nEndCol, nEndRow );
 
-            //!     Undo nur benoetigte Daten ?
+            //!     Undo needed data only ?
 
             ScDocument* pUndoDoc = nullptr;
             ScOutlineTable* pUndoTab = nullptr;
@@ -368,13 +368,13 @@ bool ScDBDocFunc::RepeatDB( const OUString& rDBName, bool bApi, bool bIsUnnamed,
                 else
                     pUndoDoc->InitUndo( &rDoc, nTab, nTab, false, true );
 
-                //  Datenbereich sichern - incl. Filter-Ergebnis
+                //  secure data range - incl. filtering result
                 rDoc.CopyToDocument(0, nStartRow, nTab, MAXCOL, nEndRow, nTab, InsertDeleteFlags::ALL, false, *pUndoDoc);
 
-                //  alle Formeln wegen Referenzen
+                //  all formulas because of references
                 rDoc.CopyToDocument(0, 0, 0, MAXCOL, MAXROW, nTabCount-1, InsertDeleteFlags::FORMULA, false, *pUndoDoc);
 
-                //  DB- und andere Bereiche
+                //  ranges of DB and other
                 ScRangeName* pDocRange = rDoc.GetRangeName();
                 if (!pDocRange->empty())
                     pUndoRange = new ScRangeName( *pDocRange );
@@ -385,33 +385,33 @@ bool ScDBDocFunc::RepeatDB( const OUString& rDBName, bool bApi, bool bIsUnnamed,
 
             if (bSort && bSubTotal)
             {
-                //  Sortieren ohne SubTotals
+                //  sort without SubTotals
 
-                aSubTotalParam.bRemoveOnly = true;      // wird unten wieder zurueckgesetzt
+                aSubTotalParam.bRemoveOnly = true;      // will be reset again further down
                 DoSubTotals( nTab, aSubTotalParam, false, bApi );
             }
 
             if (bSort)
             {
-                pDBData->GetSortParam( aSortParam );            // Bereich kann sich geaendert haben
+                pDBData->GetSortParam( aSortParam );            // range may have changed
                 (void)Sort( nTab, aSortParam, false, false, bApi );
             }
             if (bQuery)
             {
-                pDBData->GetQueryParam( aQueryParam );          // Bereich kann sich geaendert haben
+                pDBData->GetQueryParam( aQueryParam );          // range may have changed
                 ScRange aAdvSource;
                 if (pDBData->GetAdvancedQuerySource(aAdvSource))
                     Query( nTab, aQueryParam, &aAdvSource, false, bApi );
                 else
                     Query( nTab, aQueryParam, nullptr, false, bApi );
 
-                //  bei nicht-inplace kann die Tabelle umgestellt worden sein
+                //  at not-inplace the table may have been converted
 //              if ( !aQueryParam.bInplace && aQueryParam.nDestTab != nTab )
 //                  SetTabNo( nTab );
             }
             if (bSubTotal)
             {
-                pDBData->GetSubTotalParam( aSubTotalParam );    // Bereich kann sich geaendert haben
+                pDBData->GetSubTotalParam( aSubTotalParam );    // range may have changed
                 aSubTotalParam.bRemoveOnly = false;
                 DoSubTotals( nTab, aSubTotalParam, false, bApi );
             }
@@ -453,7 +453,7 @@ bool ScDBDocFunc::RepeatDB( const OUString& rDBName, bool bApi, bool bIsUnnamed,
                                 PaintPartFlags::Grid | PaintPartFlags::Left | PaintPartFlags::Top | PaintPartFlags::Size);
             bDone = true;
         }
-        else if (!bApi)     // "Keine Operationen auszufuehren"
+        else if (!bApi)     // "Don't execute any operations"
             rDocShell.ErrorMessage(STR_MSSG_REPEATDB_0);
     }
 
@@ -525,13 +525,13 @@ bool ScDBDocFunc::Sort( SCTAB nTab, const ScSortParam& rSortParam,
                                         aLocalParam.nCol2, aLocalParam.nRow2, nTab,
                                         HasAttrFlags::Merged | HasAttrFlags::Overlapped ) )
     {
-        //  Merge-Attribute wuerden beim Sortieren durcheinanderkommen
+        //  merge attributes would be mixed up during sorting
         if (!bApi)
             rDocShell.ErrorMessage(STR_SORT_ERR_MERGED);
         return false;
     }
 
-    //      ausfuehren
+    //      execute
 
     WaitObject aWait( ScDocShell::GetActiveDialogParent() );
 
@@ -547,7 +547,7 @@ bool ScDBDocFunc::Sort( SCTAB nTab, const ScSortParam& rSortParam,
     bool bUniformRowHeight =
         rDoc.HasUniformRowHeight(nTab, nStartRow, aLocalParam.nRow2);
 
-    bool bRepeatQuery = false;                          // bestehenden Filter wiederholen?
+    bool bRepeatQuery = false;                          // repeat existing filter?
     ScQueryParam aQueryParam;
     pDBData->GetQueryParam( aQueryParam );
     if ( aQueryParam.GetEntry(0).bDoQuery )
@@ -624,8 +624,8 @@ bool ScDBDocFunc::Query( SCTAB nTab, const ScQueryParam& rQueryParam,
         return false;
     }
 
-    //  Wechsel von Inplace auf nicht-Inplace, dann erst Inplace aufheben:
-    //  (nur, wenn im Dialog "Persistent" ausgewaehlt ist)
+    //  Change from Inplace to non-Inplace, only then cancel Inplace:
+    //  (only if "Persistent"  is selected in the dialog)
 
     if ( !rQueryParam.bInplace && pDBData->HasQueryParam() && rQueryParam.bDestPers )
     {
@@ -633,7 +633,7 @@ bool ScDBDocFunc::Query( SCTAB nTab, const ScQueryParam& rQueryParam,
         pDBData->GetQueryParam(aOldQuery);
         if (aOldQuery.bInplace)
         {
-            //  alte Filterung aufheben
+            //  cancel old filtering
 
             SCSIZE nEC = aOldQuery.GetEntryCount();
             for (SCSIZE i=0; i<nEC; i++)
@@ -643,11 +643,11 @@ bool ScDBDocFunc::Query( SCTAB nTab, const ScQueryParam& rQueryParam,
         }
     }
 
-    ScQueryParam aLocalParam( rQueryParam );        // fuer Paint / Zielbereich
-    bool bCopy = !rQueryParam.bInplace;             // kopiert wird in Table::Query
-    ScDBData* pDestData = nullptr;                     // Bereich, in den kopiert wird
-    bool bDoSize = false;                           // Zielgroesse anpassen (einf./loeschen)
-    SCCOL nFormulaCols = 0;                     // nur bei bDoSize
+    ScQueryParam aLocalParam( rQueryParam );        // for Paint / destination range
+    bool bCopy = !rQueryParam.bInplace;             // copied in Table::Query
+    ScDBData* pDestData = nullptr;                  // range to be copied to
+    bool bDoSize = false;                           // adjust destination size (insert/delete)
+    SCCOL nFormulaCols = 0;                         // only at bDoSize
     bool bKeepFmt = false;
     ScRange aOldDest;
     ScRange aDestTotal;
@@ -688,10 +688,10 @@ bool ScDBDocFunc::Query( SCTAB nTab, const ScQueryParam& rQueryParam,
                                 nDestTab );
 
             bDoSize = pDestData->IsDoSize();
-            //  Test, ob Formeln aufgefuellt werden muessen (nFormulaCols):
+            //  test if formulas need to be filled in (nFormulaCols):
             if ( bDoSize && aOldDest.aEnd.Col() == aDestTotal.aEnd.Col() )
             {
-                SCCOL nTestCol = aOldDest.aEnd.Col() + 1;       // neben dem Bereich
+                SCCOL nTestCol = aOldDest.aEnd.Col() + 1;       // next to the range
                 SCROW nTestRow = rQueryParam.nDestRow +
                                     ( aLocalParam.bHasHeader ? 1 : 0 );
                 while ( nTestCol <= MAXCOL &&
@@ -706,21 +706,21 @@ bool ScDBDocFunc::Query( SCTAB nTab, const ScQueryParam& rQueryParam,
             if ( bDoSize && !rDoc.CanFitBlock( aOldDest, aDestTotal ) )
             {
                 if (!bApi)
-                    rDocShell.ErrorMessage(STR_MSSG_DOSUBTOTALS_2);     // kann keine Zeilen einfuegen
+                    rDocShell.ErrorMessage(STR_MSSG_DOSUBTOTALS_2);     // cannot insert rows
                 return false;
             }
         }
     }
 
-    //      ausfuehren
+    //      execute
 
     WaitObject aWait( ScDocShell::GetActiveDialogParent() );
 
-    bool bKeepSub = false;                          // bestehende Teilergebnisse wiederholen?
+    bool bKeepSub = false;                          // repeat existing partial results?
     ScSubTotalParam aSubTotalParam;
-    if (rQueryParam.GetEntry(0).bDoQuery)           // nicht beim Aufheben
+    if (rQueryParam.GetEntry(0).bDoQuery)           // not at cancellation
     {
-        pDBData->GetSubTotalParam( aSubTotalParam );    // Teilergebnisse vorhanden?
+        pDBData->GetSubTotalParam( aSubTotalParam );    // partial results exist?
 
         if ( aSubTotalParam.bGroupActive[0] && !aSubTotalParam.bRemoveOnly )
             bKeepSub = true;
@@ -739,7 +739,7 @@ bool ScDBDocFunc::Query( SCTAB nTab, const ScQueryParam& rQueryParam,
             rDoc.CopyToDocument(aLocalParam.nCol1, aLocalParam.nRow1, nDestTab,
                                 aLocalParam.nCol2, aLocalParam.nRow2, nDestTab,
                                 InsertDeleteFlags::ALL, false, *pUndoDoc);
-            //  Attribute sichern, falls beim Filtern mitkopiert
+            //  secure attributs in case they were copied along
 
             if (pDestData)
             {
@@ -763,18 +763,18 @@ bool ScDBDocFunc::Query( SCTAB nTab, const ScQueryParam& rQueryParam,
 
     ScDocument* pAttribDoc = nullptr;
     ScRange aAttribRange;
-    if (pDestData)                                      // Zielbereich loeschen
+    if (pDestData)                                      // delete destination range
     {
         if ( bKeepFmt )
         {
-            //  kleinere der End-Spalten, Header+1 Zeile
+            //  smaller of the end columns, header+1 row
             aAttribRange = aOldDest;
             if ( aAttribRange.aEnd.Col() > aDestTotal.aEnd.Col() )
                 aAttribRange.aEnd.SetCol( aDestTotal.aEnd.Col() );
             aAttribRange.aEnd.SetRow( aAttribRange.aStart.Row() +
                                         ( aLocalParam.bHasHeader ? 1 : 0 ) );
 
-            //  auch fuer aufgefuellte Formeln
+            //  also for filled-in formulas
             aAttribRange.aEnd.SetCol( aAttribRange.aEnd.Col() + nFormulaCols );
 
             pAttribDoc = new ScDocument( SCDOCMODE_UNDO );
@@ -785,10 +785,10 @@ bool ScDBDocFunc::Query( SCTAB nTab, const ScQueryParam& rQueryParam,
         if ( bDoSize )
             rDoc.FitBlock( aOldDest, aDestTotal );
         else
-            rDoc.DeleteAreaTab(aOldDest, InsertDeleteFlags::ALL);         // einfach loeschen
+            rDoc.DeleteAreaTab(aOldDest, InsertDeleteFlags::ALL);         // simply delete
     }
 
-    //  Filtern am Dokument ausfuehren
+    //  execute filtering on the document
     SCSIZE nCount = rDoc.Query( nTab, rQueryParam, bKeepSub );
     pDBData->CalcSaveFilteredCount( nCount );
     if (bCopy)
@@ -799,16 +799,16 @@ bool ScDBDocFunc::Query( SCTAB nTab, const ScQueryParam& rQueryParam,
 
         if ( bDoSize )
         {
-            //  auf wirklichen Ergebnis-Bereich anpassen
-            //  (das hier ist immer eine Verkleinerung)
+            //  adjust to the real result range
+            //  (this here is always a reduction)
 
             ScRange aNewDest( aLocalParam.nCol1, aLocalParam.nRow1, nDestTab,
                                 aLocalParam.nCol2, aLocalParam.nRow2, nDestTab );
-            rDoc.FitBlock( aDestTotal, aNewDest, false );      // sal_False - nicht loeschen
+            rDoc.FitBlock( aDestTotal, aNewDest, false );      // sal_False - don't delete
 
             if ( nFormulaCols > 0 )
             {
-                //  Formeln ausfuellen
+                //  fill in formulas
                 //! Undo (Query und Repeat) !!!
 
                 ScRange aNewForm( aLocalParam.nCol2+1, aLocalParam.nRow1, nDestTab,
@@ -833,7 +833,7 @@ bool ScDBDocFunc::Query( SCTAB nTab, const ScQueryParam& rQueryParam,
             }
         }
 
-        if ( pAttribDoc )       // gemerkte Attribute zurueckkopieren
+        if ( pAttribDoc )       // copy back the memorized attributes
         {
             //  Header
             if (aLocalParam.bHasHeader)
@@ -843,7 +843,7 @@ bool ScDBDocFunc::Query( SCTAB nTab, const ScQueryParam& rQueryParam,
                 pAttribDoc->CopyToDocument(aHdrRange, InsertDeleteFlags::ATTRIB, false, rDoc);
             }
 
-            //  Daten
+            //  Data
             SCCOL nAttrEndCol = aAttribRange.aEnd.Col();
             SCROW nAttrRow = aAttribRange.aStart.Row() + ( aLocalParam.bHasHeader ? 1 : 0 );
             for (SCCOL nCol = aAttribRange.aStart.Col(); nCol<=nAttrEndCol; nCol++)
@@ -866,27 +866,27 @@ bool ScDBDocFunc::Query( SCTAB nTab, const ScQueryParam& rQueryParam,
         }
     }
 
-    //  speichern: Inplace immer, sonst je nach Einstellung
-    //             alter Inplace-Filter ist ggf. schon aufgehoben
+    //  saving: Inplace always, otherwise depending on setting
+    //          old Inplace-Filter may have already been removed
 
     bool bSave = rQueryParam.bInplace || rQueryParam.bDestPers;
-    if (bSave)                                                  // merken
+    if (bSave)                                                  // memorize
     {
         pDBData->SetQueryParam( rQueryParam );
         pDBData->SetHeader( rQueryParam.bHasHeader );       //! ???
         pDBData->SetAdvancedQuerySource( pAdvSource );      // after SetQueryParam
     }
 
-    if (bCopy)                                              // neuen DB-Bereich merken
+    if (bCopy)                                              // memorize new DB range
     {
-        //  selektieren wird hinterher von aussen (dbfunc)
-        //  momentan ueber DB-Bereich an der Zielposition, darum muss dort
-        //  auf jeden Fall ein Bereich angelegt werden.
+        //  Selection is done afterwards from outside (dbfunc).
+        //  Currently through the DB area at the destination position,
+        //  so a range must be created there in any case.
 
         ScDBData* pNewData;
         if (pDestData)
-            pNewData = pDestData;               // Bereich vorhanden -> anpassen (immer!)
-        else                                    // Bereich anlegen
+            pNewData = pDestData;               // range exists -> adjust (always!)
+        else                                    // create range
             pNewData = rDocShell.GetDBData(
                             ScRange( aLocalParam.nCol1, aLocalParam.nRow1, nDestTab,
                                      aLocalParam.nCol2, aLocalParam.nRow2, nDestTab ),
@@ -897,8 +897,8 @@ bool ScDBDocFunc::Query( SCTAB nTab, const ScQueryParam& rQueryParam,
             pNewData->SetArea( nDestTab, aLocalParam.nCol1, aLocalParam.nRow1,
                                             aLocalParam.nCol2, aLocalParam.nRow2 );
 
-            //  Query-Param wird am Ziel nicht mehr eingestellt, fuehrt nur zu Verwirrung
-            //  und Verwechslung mit dem Query-Param am Quellbereich (#37187#)
+            //  query parameter is no longer set at the destination, only leads to confusion
+            //  and mistakes with the query parameter at the source range (#37187#)
         }
         else
         {
@@ -953,12 +953,12 @@ bool ScDBDocFunc::Query( SCTAB nTab, const ScQueryParam& rQueryParam,
 void ScDBDocFunc::DoSubTotals( SCTAB nTab, const ScSubTotalParam& rParam,
                                bool bRecord, bool bApi )
 {
-    //! auch fuer ScDBFunc::DoSubTotals benutzen!
-    //  dann bleibt aussen:
-    //  - neuen Bereich (aus DBData) markieren
+    //! use also for ScDBFunc::DoSubTotals !
+    //  then stays outside:
+    //  - mark new range (from DBData)
     //  - SelectionChanged (?)
 
-    bool bDo = !rParam.bRemoveOnly;                         // sal_False = nur loeschen
+    bool bDo = !rParam.bRemoveOnly;                         // sal_False = only delete
 
     ScDocument& rDoc = rDocShell.GetDocument();
     if (bRecord && !rDoc.IsUndoEnabled())
@@ -983,7 +983,7 @@ void ScDBDocFunc::DoSubTotals( SCTAB nTab, const ScSubTotalParam& rParam,
                          rParam.nCol2, rParam.nRow2, nTab, HasAttrFlags::Merged | HasAttrFlags::Overlapped ))
     {
         if (!bApi)
-            rDocShell.ErrorMessage(STR_MSSG_INSERTCELLS_0); // nicht in zusammengefasste einfuegen
+            rDocShell.ErrorMessage(STR_MSSG_INSERTCELLS_0); // don't insert into merged
         return;
     }
 
@@ -992,7 +992,7 @@ void ScDBDocFunc::DoSubTotals( SCTAB nTab, const ScSubTotalParam& rParam,
         if (rDoc.TestRemoveSubTotals( nTab, rParam ))
         {
             bOk = ( ScopedVclPtrInstance<MessBox>( ScDocShell::GetActiveDialogParent(), WinBits(WB_YES_NO | WB_DEF_YES),
-                // "StarCalc" "Daten loeschen?"
+                // "StarCalc" "Delete Data?"
                 ScGlobal::GetRscString( STR_MSSG_DOSUBTOTALS_0 ),
                 ScGlobal::GetRscString( STR_MSSG_DOSUBTOTALS_1 ) )->Execute()
                 == RET_YES );
@@ -1003,13 +1003,13 @@ void ScDBDocFunc::DoSubTotals( SCTAB nTab, const ScSubTotalParam& rParam,
         WaitObject aWait( ScDocShell::GetActiveDialogParent() );
         ScDocShellModificator aModificator( rDocShell );
 
-        ScSubTotalParam aNewParam( rParam );        // Bereichsende wird veraendert
+        ScSubTotalParam aNewParam( rParam );        // end of range is being changed
         ScDocument*     pUndoDoc = nullptr;
         ScOutlineTable* pUndoTab = nullptr;
         ScRangeName*    pUndoRange = nullptr;
         ScDBCollection* pUndoDB = nullptr;
 
-        if (bRecord)                                        // alte Daten sichern
+        if (bRecord)                                        // secure old data
         {
             bool bOldFilter = bDo && rParam.bDoSort;
 
@@ -1033,15 +1033,15 @@ void ScDBDocFunc::DoSubTotals( SCTAB nTab, const ScSubTotalParam& rParam,
             else
                 pUndoDoc->InitUndo( &rDoc, nTab, nTab, false, bOldFilter );
 
-            //  Datenbereich sichern - incl. Filter-Ergebnis
+            //  secure data range - incl. filtering result
             rDoc.CopyToDocument(0, rParam.nRow1+1,nTab, MAXCOL,rParam.nRow2,nTab,
                                 InsertDeleteFlags::ALL, false, *pUndoDoc);
 
-            //  alle Formeln wegen Referenzen
+            //  all formulas because of references
             rDoc.CopyToDocument(0, 0, 0, MAXCOL,MAXROW,nTabCount-1,
                                 InsertDeleteFlags::FORMULA, false, *pUndoDoc);
 
-            //  DB- und andere Bereiche
+            //  ranges of DB and other
             ScRangeName* pDocRange = rDoc.GetRangeName();
             if (!pDocRange->empty())
                 pUndoRange = new ScRangeName( *pDocRange );
@@ -1053,20 +1053,20 @@ void ScDBDocFunc::DoSubTotals( SCTAB nTab, const ScSubTotalParam& rParam,
 //      rDoc.SetOutlineTable( nTab, NULL );
         ScOutlineTable* pOut = rDoc.GetOutlineTable( nTab );
         if (pOut)
-            pOut->GetRowArray().RemoveAll();       // nur Zeilen-Outlines loeschen
+            pOut->GetRowArray().RemoveAll();       // only delete row outlines
 
         if (rParam.bReplace)
             rDoc.RemoveSubTotals( nTab, aNewParam );
         bool bSuccess = true;
         if (bDo)
         {
-            // Sortieren
+            // sort
             if ( rParam.bDoSort )
             {
                 pDBData->SetArea( nTab, aNewParam.nCol1,aNewParam.nRow1, aNewParam.nCol2,aNewParam.nRow2 );
 
-                //  Teilergebnis-Felder vor die Sortierung setzen
-                //  (doppelte werden weggelassen, kann darum auch wieder aufgerufen werden)
+                //  set partial result field to before the sorting
+                //  (Duplicates are omitted, so can be called again)
 
                 ScSortParam aOldSort;
                 pDBData->GetSortParam( aOldSort );
@@ -1093,12 +1093,12 @@ void ScDBDocFunc::DoSubTotals( SCTAB nTab, const ScSubTotalParam& rParam,
 
         if (!bSuccess)
         {
-            // "Kann keine Zeilen einfuegen"
+            // "Cannot insert rows"
             if (!bApi)
                 rDocShell.ErrorMessage(STR_MSSG_DOSUBTOTALS_2);
         }
 
-                                                    // merken
+                                                    // memorize
         pDBData->SetSubTotalParam( aNewParam );
         pDBData->SetArea( nTab, aNewParam.nCol1,aNewParam.nRow1, aNewParam.nCol2,aNewParam.nRow2 );
         rDoc.CompileDBFormula();
@@ -1652,23 +1652,23 @@ void ScDBDocFunc::UpdateImport( const OUString& rTarget, const svx::ODataAccessD
 
     bool bContinue = DoImport( nTab, aImportParam, &rDescriptor );
 
-    //  DB-Operationen wiederholen
+    //  repeat DB operations
 
     ScTabViewShell* pViewSh = rDocShell.GetBestViewShell();
     if (pViewSh)
     {
         ScRange aRange;
         pData->GetArea(aRange);
-        pViewSh->MarkRange(aRange);         // selektieren
+        pViewSh->MarkRange(aRange);         // select
 
-        if ( bContinue )        // Fehler beim Import -> Abbruch
+        if ( bContinue )        // error at import -> abort
         {
-            //  interne Operationen, wenn welche gespeichert
+            //  internal operations, if some are saved
 
             if ( pData->HasQueryParam() || pData->HasSortParam() || pData->HasSubTotalParam() )
                 pViewSh->RepeatDB();
 
-            //  Pivottabellen die den Bereich als Quelldaten haben
+            //  pivot tables which have the range as source data
 
             rDocShell.RefreshPivotTables(aRange);
         }
diff --git a/sc/source/ui/docshell/docfunc.cxx b/sc/source/ui/docshell/docfunc.cxx
index 44e70a454fff..e822dcd4dfe5 100644
--- a/sc/source/ui/docshell/docfunc.cxx
+++ b/sc/source/ui/docshell/docfunc.cxx
@@ -581,7 +581,7 @@ bool ScDocFunc::DeleteContents(
     ScRange aMarkRange;
 
     ScMarkData aMultiMark = rMark;
-    aMultiMark.SetMarking(false);       // fuer MarkToMulti
+    aMultiMark.SetMarking(false);       // for MarkToMulti
 
     std::unique_ptr<ScDocument> pUndoDoc;
     bool bMulti = aMultiMark.IsMultiMarked();
@@ -640,7 +640,7 @@ bool ScDocFunc::DeleteContents(
     if (!AdjustRowHeight( aExtendedRange ))
         rDocShell.PostPaint( aExtendedRange, PaintPartFlags::Grid, nExtFlags );
     else if (nExtFlags & SC_PF_LINES)
-        lcl_PaintAbove( rDocShell, aExtendedRange );    // fuer Linien ueber dem Bereich
+        lcl_PaintAbove( rDocShell, aExtendedRange );    // for lines above the range
 
     aModificator.SetDocumentModified();
 
@@ -2112,7 +2112,7 @@ bool ScDocFunc::InsertCells( const ScRange& rRange, const ScMarkData* pTabMark,
         delete pRefUndoDoc;
         delete pUndoData;
         if (!bApi)
-            rDocShell.ErrorMessage(STR_INSERT_FULL);        // Spalte/Zeile voll
+            rDocShell.ErrorMessage(STR_INSERT_FULL);        // column/row full
     }
 
     aModificator.SetDocumentModified();
@@ -3082,14 +3082,14 @@ bool ScDocFunc::InsertTable( SCTAB nTab, const OUString& rName, bool bRecord, bo
     SCTAB nTabCount = rDoc.GetTableCount();
     bool bAppend = ( nTab >= nTabCount );
     if ( bAppend )
-        nTab = nTabCount;       // wichtig fuer Undo
+        nTab = nTabCount;       // important for Undo
 
     if (rDoc.InsertTab( nTab, rName ))
     {
         if (bRecord)
             rDocShell.GetUndoManager()->AddUndoAction(
                         new ScUndoInsertTab( &rDocShell, nTab, bAppend, rName));
-        //  Views updaten:
+        //  Update views:
         // Only insert vba modules if vba mode ( and not currently importing XML )
         if( bInsertDocModule )
         {
@@ -3173,7 +3173,7 @@ bool ScDocFunc::DeleteTable( SCTAB nTab, bool bRecord, bool /* bApi */ )
             rDocShell.GetUndoManager()->AddUndoAction(
                         new ScUndoDeleteTab( &rDocShell, theTabs, pUndoDoc, pUndoData ));
         }
-        //  Views updaten:
+        //  Update views:
         if( bVbaEnabled )
         {
             OUString sCodeName;
@@ -5021,7 +5021,7 @@ void ScDocFunc::CreateOneName( ScRangeName& rList,
                 if (aOldStr != aContent)
                 {
                     if (bApi)
-                        bInsert = true;     // per API nicht nachfragen
+                        bInsert = true;     // don't check via API
                     else
                     {
                         OUString aTemplate = ScGlobal::GetRscString( STR_CREATENAME_REPLACE );
@@ -5062,7 +5062,7 @@ void ScDocFunc::CreateOneName( ScRangeName& rList,
 bool ScDocFunc::CreateNames( const ScRange& rRange, CreateNameFlags nFlags, bool bApi, SCTAB aTab )
 {
     if (nFlags == CreateNameFlags::NONE)
-        return false;       // war nix
+        return false;       // was nothing
 
     ScDocShellModificator aModificator( rDocShell );
 
@@ -5222,7 +5222,7 @@ bool ScDocFunc::InsertNameList( const ScAddress& rStartPos, bool bApi )
             {
                 ScRangeData* pData = ppSortArray[j];
                 pData->GetName(aName);
-                // relative Referenzen Excel-konform auf die linke Spalte anpassen:
+                // adjust relative references to the left column in Excel-compliant way:
                 pData->UpdateSymbol(aContent, ScAddress( nStartCol, nOutRow, nTab ));
                 aFormula = "=" + aContent.toString();
                 ScSetStringParam aParam;
diff --git a/sc/source/ui/docshell/docsh.cxx b/sc/source/ui/docshell/docsh.cxx
index f1e0271c109b..44ae2e3e8677 100644
--- a/sc/source/ui/docshell/docsh.cxx
+++ b/sc/source/ui/docshell/docsh.cxx
@@ -991,7 +991,7 @@ void ScDocShell::Notify( SfxBroadcaster&, const SfxHint& rHint )
     else if (rHint.GetId() == SfxHintId::TitleChanged) // Without parameter
     {
         aDocument.SetName( SfxShell::GetName() );
-        //  RegisterNewTargetNames gibts nicht mehr
+        //  RegisterNewTargetNames doesn't exist any longer
         SfxGetpApp()->Broadcast(SfxHint( SfxHintId::ScDocNameChanged )); // Navigator
     }
 }
@@ -3201,7 +3201,7 @@ void ScDocShell::SetChangeRecording( bool bActivate )
     if (bOldChangeRecording != IsChangeRecording())
     {
         UpdateAcceptChangesDialog();
-        // Slots invalidieren
+        // invalidate slots
         SfxBindings* pBindings = GetViewBindings();
         if (pBindings)
             pBindings->InvalidateAll(false);
diff --git a/sc/source/ui/docshell/docsh3.cxx b/sc/source/ui/docshell/docsh3.cxx
index 84489b6580e0..b40d44c2f49a 100644
--- a/sc/source/ui/docshell/docsh3.cxx
+++ b/sc/source/ui/docshell/docsh3.cxx
@@ -66,13 +66,13 @@
 #include <comphelper/lok.hxx>
 #include <LibreOfficeKit/LibreOfficeKitEnums.h>
 
-//          Redraw - Benachrichtigungen
+//          Redraw - Notifications
 
 void ScDocShell::PostEditView( ScEditEngineDefaulter* pEditEngine, const ScAddress& rCursorPos )
 {
 //  Broadcast( ScEditViewHint( pEditEngine, rCursorPos ) );
 
-        //  Test: nur aktive ViewShell
+        //  Test: only active ViewShell
 
     ScTabViewShell* pViewSh = ScTabViewShell::GetActiveViewShell();
     if (pViewSh && pViewSh->GetViewData().GetDocShell() == this)
@@ -87,7 +87,7 @@ void ScDocShell::PostDataChanged()
     Broadcast( SfxHint( SfxHintId::ScDataChanged ) );
     SfxGetpApp()->Broadcast(SfxHint( SfxHintId::ScAnyDataChanged ));      // Navigator
     aDocument.PrepareFormulaCalc();
-    //! Navigator direkt benachrichtigen!
+    //! notify navigator directly!
 }
 
 void ScDocShell::PostPaint( SCCOL nStartCol, SCROW nStartRow, SCTAB nStartTab,
@@ -130,16 +130,16 @@ void ScDocShell::PostPaint( const ScRangeList& rRanges, PaintPartFlags nPart, sa
                 continue;
         }
 
-        if (nExtFlags & SC_PF_LINES)            // Platz fuer Linien beruecksichtigen
+        if (nExtFlags & SC_PF_LINES)            // respect space for lines
         {
-                                                //! Abfrage auf versteckte Spalten/Zeilen!
+                                                //! check for hidden columns/rows!
             if (nCol1>0) --nCol1;
             if (nCol2<MAXCOL) ++nCol2;
             if (nRow1>0) --nRow1;
             if (nRow2<MAXROW) ++nRow2;
         }
 
-                                                // um zusammengefasste erweitern
+                                                // expand for the merged ones
         if (nExtFlags & SC_PF_TESTMERGE)
             aDocument.ExtendMerge( nCol1, nRow1, nCol2, nRow2, nTab1 );
 
@@ -242,10 +242,10 @@ void ScDocShell::UnlockPaint_Impl(bool bDoc)
             pPaintLockData->DecLevel(bDoc);
         if (!pPaintLockData->GetLevel(!bDoc) && !pPaintLockData->GetLevel(bDoc))
         {
-            //      Paint jetzt ausfuehren
+            //     Execute Paint now
 
             ScPaintLockData* pPaint = pPaintLockData;
-            pPaintLockData = nullptr;                      // nicht weitersammeln
+            pPaintLockData = nullptr;                      // don't continue collecting
 
             ScRangeListRef xRangeList = pPaint->GetRangeList();
             if ( xRangeList.is() )
@@ -297,17 +297,17 @@ void ScDocShell::UnlockDocument_Impl(sal_uInt16 nNew)
 
 void ScDocShell::SetLockCount(sal_uInt16 nNew)
 {
-    if (nNew)                   // setzen
+    if (nNew)                   // set
     {
         if ( !pPaintLockData )
             pPaintLockData = new ScPaintLockData;
         pPaintLockData->SetDocLevel(nNew-1);
         LockDocument_Impl(nNew);
     }
-    else if (pPaintLockData)    // loeschen
+    else if (pPaintLockData)    // delete
     {
-        pPaintLockData->SetDocLevel(0);  // bei Unlock sofort ausfuehren
-        UnlockPaint_Impl(true);                 // jetzt
+        pPaintLockData->SetDocLevel(0);  // at unlock, execute immediately
+        UnlockPaint_Impl(true);                 // now
         UnlockDocument_Impl(0);
     }
 }
@@ -354,7 +354,7 @@ void ScDocShell::CalcOutputFactor()
 {
     if (bIsInplace)
     {
-        nPrtToScreenFactor = 1.0;           // passt sonst nicht zur inaktiven Darstellung
+        nPrtToScreenFactor = 1.0;           // otherwise it does not match the inactive display
         return;
     }
 
@@ -402,7 +402,7 @@ void ScDocShell::CalcOutputFactor()
 
 void ScDocShell::InitOptions(bool bForLoading)      // called from InitNew and Load
 {
-    //  Einstellungen aus dem SpellCheckCfg kommen in Doc- und ViewOptions
+    //  Settings from the SpellCheckCfg get into Doc- and ViewOptions
 
     sal_uInt16 nDefLang, nCjkLang, nCtlLang;
     bool bAutoSpell;
@@ -414,7 +414,7 @@ void ScDocShell::InitOptions(bool bForLoading)      // called from InitNew and L
     ScViewOptions aViewOpt = pScMod->GetViewOptions();
     aDocOpt.SetAutoSpell( bAutoSpell );
 
-    // zweistellige Jahreszahleneingabe aus Extras->Optionen->Allgemein->Sonstiges
+    // two-digit year entry from Tools->Options->General
     aDocOpt.SetYear2000( sal::static_int_cast<sal_uInt16>( ::utl::MiscCfg().GetYear2000() ) );
 
     if (bForLoading)
@@ -435,12 +435,12 @@ void ScDocShell::InitOptions(bool bForLoading)      // called from InitNew and L
     aDocument.SetViewOptions( aViewOpt );
     SetFormulaOptions( aFormulaOpt, bForLoading );
 
-    //  Druck-Optionen werden jetzt direkt vor dem Drucken gesetzt
+    //  print options are now set directly before the printing
 
     aDocument.SetLanguage( (LanguageType) nDefLang, (LanguageType) nCjkLang, (LanguageType) nCtlLang );
 }
 
-Printer* ScDocShell::GetDocumentPrinter()       // fuer OLE
+Printer* ScDocShell::GetDocumentPrinter()       // for OLE
 {
     return aDocument.GetPrinter();
 }
@@ -523,7 +523,7 @@ sal_uInt16 ScDocShell::SetPrinter( VclPtr<SfxPrinter> const & pNewPrinter, SfxPr
 
     if (nDiffFlags & SfxPrinterChangeFlags::OPTIONS)
     {
-        aDocument.SetPrintOptions();        //! aus neuem Printer ???
+        aDocument.SetPrintOptions();        //! from new printer ???
     }
 
     if (nDiffFlags & (SfxPrinterChangeFlags::CHG_ORIENTATION | SfxPrinterChangeFlags::CHG_SIZE))
@@ -546,7 +546,7 @@ sal_uInt16 ScDocShell::SetPrinter( VclPtr<SfxPrinter> const & pNewPrinter, SfxPr
                     aNewItem.SetLandscape( bNewLand );
                     rSet.Put( aNewItem );
 
-                    //  Groesse umdrehen
+                    // flip size
                     Size aOldSize = static_cast<const SvxSizeItem&>(rSet.Get(ATTR_PAGE_SIZE)).GetSize();
                     Size aNewSize(aOldSize.Height(),aOldSize.Width());
                     SvxSizeItem aNewSItem(ATTR_PAGE_SIZE,aNewSize);
@@ -594,7 +594,7 @@ ScChangeAction* ScDocShell::GetChangeAction( const ScAddress& rPos )
 
                 if ( aRange.In( rPos ) )
                 {
-                    pFound = pAction;       // der letzte gewinnt
+                    pFound = pAction;       // the last one wins
                 }
             }
             if ( pAction->GetType() == SC_CAT_MOVE )
@@ -634,7 +634,7 @@ void ScDocShell::SetChangeComment( ScChangeAction* pAction, const OUString& rCom
 
 void ScDocShell::ExecuteChangeCommentDialog( ScChangeAction* pAction, vcl::Window* pParent, bool bPrevNext)
 {
-    if (!pAction) return;           // ohne Aktion ist nichts..
+    if (!pAction) return;           // without action is nothing..
 
     OUString aComment = pAction->GetComment();
     OUString aAuthor = pAction->GetUser();
@@ -664,7 +664,7 @@ void ScDocShell::CompareDocument( ScDocument& rOtherDoc )
     ScChangeTrack* pTrack = aDocument.GetChangeTrack();
     if ( pTrack && pTrack->GetFirst() )
     {
-        //! Changes vorhanden -> Nachfrage ob geloescht werden soll
+        //! there are changes -> inquiry if needs to be deleted
     }
 
     aDocument.EndChangeTracking();
@@ -731,7 +731,7 @@ static inline bool lcl_Equal( const ScChangeAction* pA, const ScChangeAction* pB
         (bIgnore100Sec ?
          pA->GetDateTimeUTC().IsEqualIgnoreNanoSec( pB->GetDateTimeUTC() ) :
          pA->GetDateTimeUTC() == pB->GetDateTimeUTC());
-    //  State nicht vergleichen, falls eine alte Aenderung akzeptiert wurde
+    //  don't compare state if an old change has been accepted
 }
 
 static bool lcl_FindAction( ScDocument* pDoc, const ScChangeAction* pAction, ScDocument* pSearchDoc, const ScChangeAction* pFirstSearchAction, const ScChangeAction* pLastSearchAction, bool bIgnore100Sec )
@@ -770,23 +770,23 @@ static bool lcl_FindAction( ScDocument* pDoc, const ScChangeAction* pAction, ScD
 
 void ScDocShell::MergeDocument( ScDocument& rOtherDoc, bool bShared, bool bCheckDuplicates, sal_uLong nOffset, ScChangeActionMergeMap* pMergeMap, bool bInverseMap )
 {
-    ScTabViewShell* pViewSh = GetBestViewShell( false );    //! Funktionen an die DocShell
+    ScTabViewShell* pViewSh = GetBestViewShell( false );    //! functions to the DocShell
     if (!pViewSh)
         return;
 
     ScChangeTrack* pSourceTrack = rOtherDoc.GetChangeTrack();
     if (!pSourceTrack)
-        return;             //! nichts zu tun - Fehlermeldung?
+        return;             //! nothing to do - error notification?
 
     ScChangeTrack* pThisTrack = aDocument.GetChangeTrack();
     if ( !pThisTrack )
-    {   // anschalten
+    {   // turn on
         aDocument.StartChangeTracking();
         pThisTrack = aDocument.GetChangeTrack();
         OSL_ENSURE(pThisTrack,"ChangeTracking nicht angeschaltet?");
         if ( !bShared )
         {
-            // visuelles RedLining einschalten
+            // turn on visual RedLining
             ScChangeViewSettings aChangeViewSet;
             aChangeViewSet.SetShowChanges(true);
             aDocument.SetChangeViewSettings(aChangeViewSet);
@@ -797,7 +797,7 @@ void ScDocShell::MergeDocument( ScDocument& rOtherDoc, bool bShared, bool bCheck
     bool bIgnore100Sec = !pSourceTrack->IsTimeNanoSeconds() ||
             !pThisTrack->IsTimeNanoSeconds();
 
-    //  gemeinsame Ausgangsposition suchen
+    //  find common initial position
     sal_uLong nFirstNewNumber = 0;
     const ScChangeAction* pSourceAction = pSourceTrack->GetFirst();
     const ScChangeAction* pThisAction = pThisTrack->GetFirst();
@@ -808,10 +808,10 @@ void ScDocShell::MergeDocument( ScDocument& rOtherDoc, bool bShared, bool bCheck
         pSourceAction = pSourceAction->GetNext();
         pThisAction = pThisAction->GetNext();
     }
-    //  pSourceAction und pThisAction zeigen jetzt auf die ersten "eigenen" Aktionen
-    //  Die gemeinsamen Aktionen davor interessieren ueberhaupt nicht
+    //  pSourceAction and pThisAction now point to the first "own" actions
+    //  The common actions before don't interest at all
 
-    //! Abfrage, ob die Dokumente vor dem Change-Tracking gleich waren !!!
+    //! Inquiry if the documents where equal before the change tracking !!!
 
     const ScChangeAction* pFirstMergeAction = pSourceAction;
     const ScChangeAction* pFirstSearchAction = pThisAction;
@@ -819,7 +819,7 @@ void ScDocShell::MergeDocument( ScDocument& rOtherDoc, bool bShared, bool bCheck
     // #i94841# [Collaboration] When deleting rows is rejected, the content is sometimes wrong
     const ScChangeAction* pLastSearchAction = pThisTrack->GetLast();
 
-    //  MergeChangeData aus den folgenden Aktionen erzeugen
+    //  Create MergeChangeData from the following actions
     sal_uLong nNewActionCount = 0;
     const ScChangeAction* pCount = pSourceAction;
     while ( pCount )
@@ -829,17 +829,17 @@ void ScDocShell::MergeDocument( ScDocument& rOtherDoc, bool bShared, bool bCheck
         pCount = pCount->GetNext();
     }
     if (!nNewActionCount)
-        return;             //! nichts zu tun - Fehlermeldung?
-                            //  ab hier kein return mehr
+        return;             //! nothing to do - error notification?
+                            //  from here on no return
 
     ScProgress aProgress( this, "...", nNewActionCount, true );
 
     sal_uLong nLastMergeAction = pSourceTrack->GetLast()->GetActionNumber();
-    // UpdateReference-Undo, gueltige Referenzen fuer den letzten gemeinsamen Zustand
+    // UpdateReference-Undo, valid references for the last common state
     pSourceTrack->MergePrepare( const_cast<ScChangeAction*>(pFirstMergeAction), bShared );
 
-    //  MergeChangeData an alle noch folgenden Aktionen in diesem Dokument anpassen
-    //  -> Referenzen gueltig fuer dieses Dokument
+    //  adjust MergeChangeData to all yet following actions in this document
+    //  -> references valid for this document
     while ( pThisAction )
     {
         // #i87049# [Collaboration] Conflict between delete row and insert content is not merged correctly
@@ -859,7 +859,7 @@ void ScDocShell::MergeDocument( ScDocument& rOtherDoc, bool bShared, bool bCheck
                 {
                     const ScChangeActionDel* pDel = static_cast<const ScChangeActionDel*>(pThisAction);
                     if ( pDel->IsTopDelete() && !pDel->IsTabDeleteCol() )
-                    {   // deleted Table enthaelt deleted Cols, die nicht
+                    {   // deleted table contains deleted cols, which are not
                         sal_uLong nStart, nEnd;
                         pSourceTrack->AppendDeleteRange(
                             pDel->GetOverAllRange().MakeRange(), nullptr, nStart, nEnd );
@@ -884,7 +884,7 @@ void ScDocShell::MergeDocument( ScDocument& rOtherDoc, bool bShared, bool bCheck
 
     LockPaint();    // #i73877# no repainting after each action
 
-    //  MergeChangeData in das aktuelle Dokument uebernehmen
+    //  take over MergeChangeData into the current document
     bool bHasRejected = false;
     OUString aOldUser = pThisTrack->GetUser();
     pThisTrack->SetUseFixDateTime( true );
@@ -914,13 +914,13 @@ void ScDocShell::MergeDocument( ScDocument& rOtherDoc, bool bShared, bool bCheck
             ScChangeActionType eSourceType = pSourceAction->GetType();
             if ( !bShared && pSourceAction->IsDeletedIn() )
             {
-                //! muss hier noch festgestellt werden, ob wirklich in
-                //! _diesem_ Dokument geloescht?
+                //! does it need to be determined yet if really deleted in
+                //! _this_ document?
 
-                //  liegt in einem Bereich, der in diesem Dokument geloescht wurde
-                //  -> wird weggelassen
-                //! ??? Loesch-Aktion rueckgaengig machen ???
-                //! ??? Aktion irgendwo anders speichern  ???
+                //  lies in a range, which was deleted in this document
+                //  -> is omitted
+                //! ??? revert deletion action ???
+                //! ??? save action somewhere else  ???
 #if OSL_DEBUG_LEVEL > 0
                 OUString aValue;
                 if ( eSourceType == SC_CAT_CONTENT )
@@ -933,7 +933,7 @@ void ScDocShell::MergeDocument( ScDocument& rOtherDoc, bool bShared, bool bCheck
             }
             else
             {
-                //! Datum/Autor/Kommentar der Source-Aktion uebernehmen!
+                //! Take over date/author/comment of the source action!
 
                 pThisTrack->SetUser( pSourceAction->GetUser() );
                 pThisTrack->SetFixDateTimeUTC( pSourceAction->GetDateTimeUTC() );
@@ -959,16 +959,16 @@ void ScDocShell::MergeDocument( ScDocument& rOtherDoc, bool bShared, bool bCheck
                     }
                     else
                     {
-                        //  alte Aktion (aus den gemeinsamen) ablehnen
+                        //  decline old action (of the common ones)
                         ScChangeAction* pOldAction = pThisTrack->GetAction( nReject );
                         if (pOldAction && pOldAction->GetState() == SC_CAS_VIRGIN)
                         {
-                            //! was passiert bei Aktionen, die in diesem Dokument accepted worden sind???
-                            //! Fehlermeldung oder was???
-                            //! oder Reject-Aenderung normal ausfuehren
+                            //! what happens at actions, which were accepted in this document???
+                            //! error notification or what???
+                            //! or execute reject change normally
 
                             pThisTrack->Reject(pOldAction);
-                            bHasRejected = true;                // fuer Paint
+                            bHasRejected = true;                // for Paint
                         }
                         bExecute = false;
                     }
@@ -976,15 +976,15 @@ void ScDocShell::MergeDocument( ScDocument& rOtherDoc, bool bShared, bool bCheck
 
                 if ( bExecute )
                 {
-                    //  normal ausfuehren
+                    //  execute normally
                     ScRange aSourceRange = pSourceAction->GetBigRange().MakeRange();
                     rMarkData.SelectOneTable( aSourceRange.aStart.Tab() );
                     switch ( eSourceType )
                     {
                         case SC_CAT_CONTENT:
                         {
-                            //! Test, ob es ganz unten im Dokument war, dann automatisches
-                            //! Zeilen-Einfuegen ???
+                            //! Test if it was at the very bottom in the document, then automatic
+                            //! row insert ???
 
                             OSL_ENSURE( aSourceRange.aStart == aSourceRange.aEnd, "huch?" );
                             ScAddress aPos = aSourceRange.aStart;
@@ -1057,7 +1057,7 @@ void ScDocShell::MergeDocument( ScDocument& rOtherDoc, bool bShared, bool bCheck
                         {
                             const ScChangeActionDel* pDel = static_cast<const ScChangeActionDel*>(pSourceAction);
                             if ( pDel->IsTopDelete() && !pDel->IsTabDeleteCol() )
-                            {   // deleted Table enthaelt deleted Cols, die nicht
+                            {   // deleted table contains deleted cols, which are not
                                 aSourceRange = pDel->GetOverAllRange().MakeRange();
                                 (void)GetDocFunc().DeleteCells( aSourceRange, nullptr, DEL_DELCOLS, false );
                             }
@@ -1087,7 +1087,7 @@ void ScDocShell::MergeDocument( ScDocument& rOtherDoc, bool bShared, bool bCheck
                         OSL_FAIL( "MergeDocument: wohin mit dem Kommentar?!?" );
                 }
 
-                // Referenzen anpassen
+                // adjust references
                 pSourceTrack->MergeOwn( const_cast<ScChangeAction*>(pSourceAction), nFirstNewNumber, bShared );
 
                 // merge action state
@@ -1133,10 +1133,10 @@ void ScDocShell::MergeDocument( ScDocument& rOtherDoc, bool bShared, bool bCheck
     pThisTrack->SetUser(aOldUser);
     pThisTrack->SetUseFixDateTime( false );
 
-    pSourceTrack->Clear();      //! der ist jetzt verhunzt
+    pSourceTrack->Clear();      //! this one is bungled now
 
     if (bHasRejected)
-        PostPaintGridAll();         // Reject() paintet nicht selber
+        PostPaintGridAll();         // Reject() doesn't paint itself
 
     UnlockPaint();
 }
diff --git a/sc/source/ui/docshell/docsh4.cxx b/sc/source/ui/docshell/docsh4.cxx
index 359872ba776c..fa4cc7f676fd 100644
--- a/sc/source/ui/docshell/docsh4.cxx
+++ b/sc/source/ui/docshell/docsh4.cxx
@@ -132,7 +132,7 @@ void ScDocShell::Execute( SfxRequest& rReq )
                             pReqArgs->HasItem( FN_PARAM_3, &pTabItem ) &&
                             pReqArgs->HasItem( SID_SC_SETTEXT, &pTextItem ) )
             {
-                //  Parameter sind 1-based !!!
+                //  parameters are  1-based !!!
                 SCCOL nCol = static_cast<const SfxInt16Item*>(pColItem)->GetValue() - 1;
                 SCROW nRow = static_cast<const SfxInt32Item*>(pRowItem)->GetValue() - 1;
                 SCTAB nTab = static_cast<const SfxInt16Item*>(pTabItem)->GetValue() - 1;
@@ -151,10 +151,10 @@ void ScDocShell::Execute( SfxRequest& rReq )
                         rReq.Done();
                         break;
                     }
-                    else                // geschuetzte Zelle
+                    else                // protected cell
                     {
 #if HAVE_FEATURE_SCRIPTING
-                        SbxBase::SetError( ERRCODE_SBX_BAD_PARAMETER );      //! welchen Fehler ?
+                        SbxBase::SetError( ERRCODE_SBX_BAD_PARAMETER );      //! which error ?
 #endif
                         break;
                     }
@@ -184,11 +184,11 @@ void ScDocShell::Execute( SfxRequest& rReq )
                 if ( pReqArgs->GetItemState( FN_PARAM_1, true, &pItem ) == SfxItemState::SET )
                     sTarget = static_cast<const SfxStringItem*>(pItem)->GetValue();
 
-                bool bIsNewArea = true;         // Default sal_True (keine Nachfrage)
+                bool bIsNewArea = true;         // Default sal_True (no inquiry)
                 if ( pReqArgs->GetItemState( FN_PARAM_2, true, &pItem ) == SfxItemState::SET )
                     bIsNewArea = static_cast<const SfxBoolItem*>(pItem)->GetValue();
 
-                // bei Bedarf neuen Datenbankbereich anlegen
+                // if necessary, create new database area
                 bool bMakeArea = false;
                 if (bIsNewArea)
                 {
@@ -215,7 +215,7 @@ void ScDocShell::Execute( SfxRequest& rReq )
                     }
                 }
 
-                // nachfragen, bevor alter DB-Bereich ueberschrieben wird
+                // inquire, before old DB range gets overwritten
                 bool bDo = true;
                 if (!bIsNewArea)
                 {
@@ -233,7 +233,7 @@ void ScDocShell::Execute( SfxRequest& rReq )
                     ScDBDocFunc(*this).UpdateImport( sTarget, aDesc );
                     rReq.Done();
 
-                    //  UpdateImport aktualisiert auch die internen Operationen
+                    //  UpdateImport also updates the internal operations
                 }
                 else
                     rReq.Ignore();
@@ -292,7 +292,7 @@ void ScDocShell::Execute( SfxRequest& rReq )
                     if ( !aRangeListRef->empty() )
                     {
                         bMultiRange = true;
-                        aSingleRange = *aRangeListRef->front(); // fuer Header
+                        aSingleRange = *aRangeListRef->front(); // for header
                         bValid = true;
                     }
                     else
@@ -310,11 +310,11 @@ void ScDocShell::Execute( SfxRequest& rReq )
                     SCROW nRow2 = aSingleRange.aEnd.Row();
                     SCTAB nTab = aSingleRange.aStart.Tab();
 
-                    //! immer oder gar nicht begrenzen ???
+                    //! limit always or not at all ???
                     if (!bMultiRange)
                         aDocument.LimitChartArea( nTab, nCol1,nRow1, nCol2,nRow2 );
 
-                                        // Dialog fuer Spalten/Zeilenkoepfe
+                                        // Dialog for column/row headers
                     bool bOk = true;
                     if ( !bAddRange && ( !bColInit || !bRowInit ) )
                     {
@@ -341,7 +341,7 @@ void ScDocShell::Execute( SfxRequest& rReq )
                             bOk = false;
                     }
 
-                    if (bOk)            // ausfuehren
+                    if (bOk)            // execute
                     {
                         if (bMultiRange)
                         {
@@ -387,7 +387,7 @@ void ScDocShell::Execute( SfxRequest& rReq )
                 if ( pReqArgs && SfxItemState::SET == pReqArgs->GetItemState( nSlot, true, &pItem ) )
                     bNewVal = static_cast<const SfxBoolItem*>(pItem)->GetValue();
                 else
-                    bNewVal = !aDocument.GetAutoCalc();     // Toggle fuer Menue
+                    bNewVal = !aDocument.GetAutoCalc();     // Toggle for menue
                 aDocument.SetAutoCalc( bNewVal );
                 SetDocumentModified();
                 if (pBindings)
@@ -458,17 +458,17 @@ void ScDocShell::Execute( SfxRequest& rReq )
 
                     if (bAnyDde)
                     {
-                        //  Formeln berechnen und painten wie im TrackTimeHdl
+                        //  calculate formulas and paint like in the TrackTimeHdl
                         aDocument.TrackFormulas();
                         Broadcast(SfxHint(SfxHintId::ScDataChanged));
 
-                        //  wenn FID_DATACHANGED irgendwann mal asynchron werden sollte
-                        //  (z.B. mit Invalidate am Window), muss hier ein Update erzwungen werden.
+                        //  Should FID_DATACHANGED become asynchronous some time
+                        //  (e.g., with Invalidate at Window), an update needs to be forced here.
                     }
 
                     aDocument.UpdateAreaLinks();
 
-                    //! Test, ob Fehler
+                    //! test for error
                     rReq.Done();
                 }
                 else
@@ -481,8 +481,7 @@ void ScDocShell::Execute( SfxRequest& rReq )
 
         case SID_REIMPORT_AFTER_LOAD:
             {
-                //  wird nach dem Laden aufgerufen, wenn DB-Bereiche mit
-                //  weggelassenen Daten enthalten sind
+                //  Is called after loading if there are DB areas with omitted data
 
                 bool bDone = false;
                 ScDBCollection* pDBColl = aDocument.GetDBCollection();
@@ -510,27 +509,27 @@ void ScDocShell::Execute( SfxRequest& rReq )
                                     rDBData.GetArea(aRange);
                                     pViewSh->MarkRange(aRange);
 
-                                    //  Import und interne Operationen wie SID_REFRESH_DBAREA
-                                    //  (Abfrage auf Import hier nicht noetig)
+                                    //  Import and internal operations like SID_REFRESH_DBAREA
+                                    //  (inquiry for import not needed here)
 
                                     ScImportParam aImportParam;
                                     rDBData.GetImportParam( aImportParam );
                                     bool bContinue = pViewSh->ImportData( aImportParam );
                                     rDBData.SetImportParam( aImportParam );
 
-                                    //  markieren (Groesse kann sich geaendert haben)
+                                    //  mark (size may have changed)
                                     rDBData.GetArea(aRange);
                                     pViewSh->MarkRange(aRange);
 
-                                    if ( bContinue )    // Fehler beim Import -> Abbruch
+                                    if ( bContinue )    // error at import -> abort
                                     {
-                                        //  interne Operationen, wenn welche gespeichert
+                                        //  internal operations, if some where saved
 
                                         if ( rDBData.HasQueryParam() || rDBData.HasSortParam() ||
                                              rDBData.HasSubTotalParam() )
                                             pViewSh->RepeatDB();
 
-                                        //  Pivottabellen die den Bereich als Quelldaten haben
+                                        //  pivot tables, which have the range as source data
 
                                         RefreshPivotTables(aRange);
                                     }
@@ -543,10 +542,10 @@ void ScDocShell::Execute( SfxRequest& rReq )
 
                 if ( !bDone && pDBColl )
                 {
-                    //  wenn nicht, dann aber die abhaengigen Formeln updaten
-                    //! auch fuer einzelne Bereiche, die nicht aktualisiert werden koennen
+                    //  if not, but then update the dependent formulas
+                    //! also for individual ranges, which cannot be updated
 
-                    aDocument.CalcAll();        //! nur die abhaengigen
+                    aDocument.CalcAll();        //! only for the dependent
                     PostDataChanged();
                 }
 
@@ -619,7 +618,7 @@ void ScDocShell::Execute( SfxRequest& rReq )
                 {
                     UpdateAcceptChangesDialog();
 
-                    // Slots invalidieren
+                    // invalidate slots
                     if (pBindings)
                         pBindings->InvalidateAll(false);
                     if ( !pItem )
@@ -705,7 +704,7 @@ void ScDocShell::Execute( SfxRequest& rReq )
                         nVersion = pInt16Item->GetValue();
                     }
 
-                    //  kein Filter angegeben -> Detection
+                    //  no filter specified -> detection
                     if (aFilterName.isEmpty())
                         ScDocumentLoader::GetFilterName( aFileName, aFilterName, aOptions, true, false );
 
@@ -734,7 +733,7 @@ void ScDocShell::Execute( SfxRequest& rReq )
                     return ;
                 }
 
-                if ( pMed )     // nun wirklich ausfuehren...
+                if ( pMed )     // now execure in earnest...
                 {
                     SfxErrorContext aEc( ERRCTX_SFX_OPENDOC, pMed->GetName() );
 
@@ -744,9 +743,9 @@ void ScDocShell::Execute( SfxRequest& rReq )
                     pOtherDocSh->DoLoad( pMed );
                     sal_uLong nErr = pOtherDocSh->GetErrorCode();
                     if (nErr)
-                        ErrorHandler::HandleError( nErr );          // auch Warnings
+                        ErrorHandler::HandleError( nErr );          // also warnings
 
-                    if ( !pOtherDocSh->GetError() )                 // nur Errors
+                    if ( !pOtherDocSh->GetError() )                 // only errors
                     {
                         bool bHadTrack = ( aDocument.GetChangeTrack() != nullptr );
 #if HAVE_FEATURE_MULTIUSER_ENVIRONMENT
@@ -779,7 +778,7 @@ void ScDocShell::Execute( SfxRequest& rReq )
                         rReq.SetReturnValue( SfxInt32Item( nSlot, 0 ) );        //! ???????
                         rReq.Done();
 
-                        if (!bHadTrack)         //  neu eingeschaltet -> auch anzeigen
+                        if (!bHadTrack)         //  newly turned on -> show as well
                         {
                             ScChangeViewSettings* pOldSet = aDocument.GetChangeViewSettings();
                             if ( !pOldSet || !pOldSet->ShowChanges() )
@@ -810,7 +809,7 @@ void ScDocShell::Execute( SfxRequest& rReq )
                         }
 #endif
                     }
-                    pOtherDocSh->DoClose();     // delete passiert mit der Ref
+                    pOtherDocSh->DoClose();     // delete happens with the Ref
                 }
             }
             break;
@@ -827,12 +826,12 @@ void ScDocShell::Execute( SfxRequest& rReq )
                         SCTAB nTab;
                         if (aDocument.GetTable( aName, nTab ))
                         {
-                            //  DeleteTable von viewfunc nach docfunc verschieben!
+                            //  move DeleteTable from viewfunc to docfunc!
 
                             ScTabViewShell* pSh = GetBestViewShell();
                             if ( pSh )
                             {
-                                //! SetTabNo in DeleteTable weglassen?
+                                //! omit SetTabNo in DeleteTable?
                                 SCTAB nDispTab = pSh->GetViewData().GetTabNo();
                                 pSh->DeleteTable( nTab );
                                 pSh->SetTabNo(nDispTab);
@@ -900,13 +899,13 @@ void ScDocShell::Execute( SfxRequest& rReq )
                 if (const SfxUInt16Item* pInt16Item = dynamic_cast<const SfxUInt16Item*>(pItem))
                 {
                     sal_uInt16 nY2k = pInt16Item->GetValue();
-                    // immer an den DocOptions setzen, damit das auch fuer SO50
-                    // gespeichert wird (und alle Abfragen bisher auch darauf laufen).
-                    // SetDocOptions propagiert das an den NumberFormatter
+                    // set always to DocOptions, so that it is also saved for S050
+                    // (and all inquiries run up until now on it as well).
+                    // SetDocOptions propagates that to the NumberFormatter
                     ScDocOptions aDocOpt( aDocument.GetDocOptions() );
                     aDocOpt.SetYear2000( nY2k );
                     aDocument.SetDocOptions( aDocOpt );
-                    // die FormShell soll es mitbekommen
+                    // the FormShell shall notice it as well
                     ScTabViewShell* pSh = GetBestViewShell();
                     if ( pSh )
                     {
@@ -1119,7 +1118,7 @@ void ScDocShell::Execute( SfxRequest& rReq )
         break;
         default:
         {
-            // kleiner (?) Hack -> forward der Slots an TabViewShell
+            // small (?) hack -> forwarding of the slots to TabViewShell
             ScTabViewShell* pSh = GetBestViewShell();
             if ( pSh )
                 pSh->Execute( rReq );
@@ -1216,7 +1215,7 @@ void ScDocShell::DoRecalc( bool bApi )
     {
         if ( pHdl && pHdl->IsInputMode() && pHdl->IsFormulaMode() && !bApi )
         {
-            pHdl->FormulaPreview();     // Teilergebnis als QuickHelp
+            pHdl->FormulaPreview();     // partial result as QuickHelp
             bDone = true;
         }
         else
@@ -1225,7 +1224,7 @@ void ScDocShell::DoRecalc( bool bApi )
             pSh->UpdateInputHandler();
         }
     }
-    if (!bDone)                         // sonst Dokument neu berechnen
+    if (!bDone)                         // otherwise re-calculate document
     {
         WaitObject aWaitObj( GetActiveDialogParent() );
         if ( pHdl )
@@ -1241,9 +1240,8 @@ void ScDocShell::DoRecalc( bool bApi )
 
         aDocument.BroadcastUno( SfxHint( SfxHintId::DataChanged ) );
 
-        //  Wenn es Charts gibt, dann alles painten, damit nicht
-        //  PostDataChanged und die Charts nacheinander kommen und Teile
-        //  doppelt gepainted werden.
+        //  If there are charts, then paint everything, so that PostDataChanged
+        //  and the charts do not come one after the other and parts are painted twice.
 
         ScChartListenerCollection* pCharts = aDocument.GetChartListenerCollection();
         if ( pCharts && pCharts->hasListeners() )
@@ -1263,7 +1261,7 @@ void ScDocShell::DoHardRecalc( bool /* bApi */ )
         pSh->UpdateInputHandler();
     }
     aDocument.CalcAll();
-    GetDocFunc().DetectiveRefresh();    // erzeugt eigenes Undo
+    GetDocFunc().DetectiveRefresh();    // creates own Undo
     if ( pSh )
         pSh->UpdateCharts(true);
 
@@ -1335,7 +1333,7 @@ void ScDocShell::NotifyStyle( const SfxStyleSheetHint& rHint )
 
             SCTAB nTabCount = aDocument.GetTableCount();
             for (SCTAB nTab=0; nTab<nTabCount; nTab++)
-                if (aDocument.GetPageStyle(nTab) == aNewName)   // schon auf neu angepasst
+                if (aDocument.GetPageStyle(nTab) == aNewName)   // already adjusted to new
                 {
                     aDocument.PageStyleModified( nTab, aNewName );
                     ScPrintFunc aPrintFunc( this, GetPrinter(), nTab );
@@ -1379,10 +1377,10 @@ void ScDocShell::NotifyStyle( const SfxStyleSheetHint& rHint )
         }
     }
 
-    //  alles andere geht ueber Slots...
+    //  everything else goes via slots...
 }
 
-//  wie in printfun.cxx
+//  like in printfun.cxx
 #define ZOOM_MIN    10
 
 void ScDocShell::SetPrintZoom( SCTAB nTab, sal_uInt16 nScale, sal_uInt16 nPages )
@@ -1436,7 +1434,7 @@ bool ScDocShell::AdjustPrintZoom( const ScRange& rRange )
         const ScRange* pRepeatCol = aDocument.GetRepeatColRange( nTab );
         const ScRange* pRepeatRow = aDocument.GetRepeatRowRange( nTab );
 
-        //  benoetigte Skalierung fuer Selektion ausrechnen
+        //  calculate needed scaling for selection
 
         sal_uInt16 nNewScale = nOldScale;
 
@@ -1486,7 +1484,7 @@ bool ScDocShell::AdjustPrintZoom( const ScRange& rRange )
         long nNeeded = std::min( aPhysPage.Width()  * 100 / nBlkTwipsX,
                             aPhysPage.Height() * 100 / nBlkTwipsY );
         if ( nNeeded < ZOOM_MIN )
-            nNeeded = ZOOM_MIN;         // Begrenzung
+            nNeeded = ZOOM_MIN;         // boundary
         if ( nNeeded < (long) nNewScale )
             nNewScale = (sal_uInt16) nNeeded;
 
@@ -1507,14 +1505,14 @@ void ScDocShell::PageStyleModified( const OUString& rStyleName, bool bApi )
         if ( aDocument.GetPageStyle(nTab) == rStyleName &&
                 ( !bApi || aDocument.GetPageSize(nTab).Width() ) )
             nUseTab = nTab;
-                                // bei bApi nur, wenn Umbrueche schon angezeigt
+                                // at bApi only if breaks already shown
 
-    if (ValidTab(nUseTab))      // nicht verwendet -> nichts zu tun
+    if (ValidTab(nUseTab))      // not used -> nothing to do
     {
         bool bWarn = false;
 
-        ScPrintFunc aPrintFunc( this, GetPrinter(), nUseTab );  //! ohne CountPages auskommen
-        if (!aPrintFunc.UpdatePages())                          //  setzt Umbrueche auf allen Tabs
+        ScPrintFunc aPrintFunc( this, GetPrinter(), nUseTab );  //! cope without CountPages
+        if (!aPrintFunc.UpdatePages())                          //  sets breaks on all tabs
             bWarn = true;
 
         if (bWarn && !bApi)
@@ -1545,7 +1543,7 @@ void ScDocShell::ExecutePageStyle( SfxViewShell& rCaller,
 
     switch ( rReq.GetSlot() )
     {
-        case SID_STATUS_PAGESTYLE:  // Click auf StatusBar-Control
+        case SID_STATUS_PAGESTYLE:  // click on StatusBar control
         case SID_FORMATPAGE:
             {
                 if ( pReqArgs == nullptr )
@@ -1593,7 +1591,7 @@ void ScDocShell::ExecutePageStyle( SfxViewShell& rCaller,
                             if ( pOutSet )
                                 aDocument.ModifyStyleSheet( *pStyleSheet, *pOutSet );
 
-                            // merken fuer GetState():
+                            // memorizing for GetState():
                             GetPageOnFromPageStyleSet( &rStyleSet, nCurTab, bHeaderOn, bFooterOn );
                             rCaller.GetViewFrame()->GetBindings().Invalidate( SID_HFEDIT );
 
@@ -1845,9 +1843,9 @@ void ScDocShell::GetState( SfxItemSet &rSet )
                 }
                 break;
 
-            //  Wenn eine Formel editiert wird, muss FID_RECALC auf jeden Fall enabled sein.
-            //  Recalc fuer das Doc war mal wegen eines Bugs disabled, wenn AutoCalc an war,
-            //  ist jetzt wegen eines anderen Bugs aber auch immer enabled.
+            //  When a formula is edited, FID_RECALC must be enabled in any case. Recalc for
+            //  the doc was disabled once because of a bug if AutoCalc was on, but is now
+            //  always enabled because of another bug.
 
             case SID_TABLES_COUNT:
                 rSet.Put( SfxInt16Item( nWhich, aDocument.GetTableCount() ) );
@@ -1898,10 +1896,9 @@ void ScDocShell::GetSbxState( SfxItemSet &rSet )
     //  SID_TABLES_GET (Tables),
     //  SID_PIVOT_GET (DataPilotTables) - removed (old Basic)
 
-        //  Wenn hier Slots von der View-Shell executed werden, muss auch der
-        //  GetState weitergeleitet werden!
+        //  If slots from the view shell are executed here, the GetState must also be forwarded!
 
-    ScTabViewShell* pVisibleSh = GetBestViewShell();        // sichtbare View
+    ScTabViewShell* pVisibleSh = GetBestViewShell();        // visible view
     if ( pVisibleSh )
         pVisibleSh->GetState( rSet );
 }
@@ -1943,8 +1940,8 @@ Rectangle ScDocShell::GetVisArea( sal_uInt16 nAspect ) const
     SfxObjectCreateMode eShellMode = GetCreateMode();
     if ( eShellMode == SfxObjectCreateMode::ORGANIZER )
     {
-        //  ohne Inhalte wissen wir auch nicht, wie gross die Inhalte sind
-        //  leeres Rechteck zurueckgeben, das wird dann nach dem Laden berechnet
+        //  without contents we also don't know how large are the contents;
+        //  return empty rectangle, it will then be calculated after the loading
         return Rectangle();
     }
 
@@ -1974,7 +1971,7 @@ Rectangle ScDocShell::GetVisArea( sal_uInt16 nAspect ) const
     }
     else if( nAspect == ASPECT_CONTENT && eShellMode != SfxObjectCreateMode::EMBEDDED )
     {
-        //  Visarea holen wie nach Load
+        //  fetch visarea like after loading
 
         SCTAB nVisTab = aDocument.GetVisibleTab();
         if (!aDocument.HasTable(nVisTab))
@@ -2071,12 +2068,12 @@ void ScDocShell::SnapVisArea( Rectangle& rRect ) const
 
     SCCOL nCol = 0;
     SnapHor( aDocument, nTab, rRect.Left(), nCol );
-    ++nCol;                                         // mindestens eine Spalte
+    ++nCol;                                         // at least one column
     SnapHor( aDocument, nTab, rRect.Right(), nCol );
 
     SCROW nRow = 0;
     SnapVer( aDocument, nTab, rRect.Top(), nRow );
-    ++nRow;                                         // mindestens eine Zeile
+    ++nRow;                                         // at least one row
     SnapVer( aDocument, nTab, rRect.Bottom(), nRow );
 
     if ( bNegativePage )
@@ -2137,7 +2134,7 @@ bool ScDocShell::DdeGetData( const OUString& rItem,
         }
         ScImportExport aObj( &aDocument, rItem );
         if ( !aObj.IsRef() )
-            return false;                           // ungueltiger Bereich
+            return false;                           // invalid range
 
         if( aDdeTextFmt[0] == 'F' )
             aObj.SetFormulas( true );
@@ -2313,12 +2310,12 @@ SCTAB ScDocShell::GetCurTab()
 ScTabViewShell* ScDocShell::GetBestViewShell( bool bOnlyVisible )
 {
     ScTabViewShell* pViewSh = ScTabViewShell::GetActiveViewShell();
-    // falsches Doc?
+    // wrong Doc?
     if( pViewSh && pViewSh->GetViewData().GetDocShell() != this )
         pViewSh = nullptr;
     if( !pViewSh )
     {
-        // 1. ViewShell suchen
+        // 1. find ViewShell
         SfxViewFrame* pFrame = SfxViewFrame::GetFirst( this, bOnlyVisible );
         if( pFrame )
         {
diff --git a/sc/source/ui/docshell/docsh5.cxx b/sc/source/ui/docshell/docsh5.cxx
index b39dcf9b158e..84aaf4d2bdb5 100644
--- a/sc/source/ui/docshell/docsh5.cxx
+++ b/sc/source/ui/docshell/docsh5.cxx
@@ -67,7 +67,7 @@ using ::std::vector;
 
 void ScDocShell::ErrorMessage( sal_uInt16 nGlobStrId )
 {
-    //! StopMarking an der (aktiven) View?
+    //! StopMarking at the (active) view?
 
     vcl::Window* pParent = GetActiveDialogParent();
     ScWaitCursorOff aWaitOff( pParent );
@@ -116,9 +116,8 @@ ScDBData* ScDocShell::GetDBData( const ScRange& rMarked, ScGetDBMode eMode, ScGe
     SCTAB nStartTab = nTab;
     SCCOL nEndCol = rMarked.aEnd.Col();
     SCROW nEndRow = rMarked.aEnd.Row();
-    //  Nicht einfach GetDBAtCursor: Der zusammenhaengende Datenbereich
-    //  fuer "unbenannt" (GetDataArea) kann neben dem Cursor legen, also muss auch ein
-    //  benannter DB-Bereich dort gesucht werden.
+    //  Not simply GetDBAtCursor: The continuos data range for "unnamed" (GetDataArea) may be
+    //  located next to the cursor; so a named DB range needs to be searched for there as well.
     ScDBCollection* pColl = aDocument.GetDBCollection();
     ScDBData* pData = aDocument.GetDBAtArea( nTab, nStartCol, nStartRow, nEndCol, nEndRow );
     if (!pData)
@@ -131,7 +130,7 @@ ScDBData* ScDocShell::GetDBData( const ScRange& rMarked, ScGetDBMode eMode, ScGe
     bool bUseThis = false;
     if (pData)
     {
-        //      Bereich nehmen, wenn nichts anderes markiert
+        //      take range, if nothing else is marked
 
         SCTAB nDummy;
         SCCOL nOldCol1;
@@ -147,7 +146,7 @@ ScDBData* ScDocShell::GetDBData( const ScRange& rMarked, ScGetDBMode eMode, ScGe
             if ( bIsNoName && (eMode == SC_DB_MAKE || eMode == SC_DB_AUTOFILTER) )
             {
                 // If nothing marked or only one row marked, adapt
-                // "unbenannt"/"unnamed" to contiguous area.
+                // "unnamed" to contiguous area.
                 nStartCol = nCol;
                 nStartRow = nRow;
                 if (bOnlyDown)
@@ -162,10 +161,10 @@ ScDBData* ScDocShell::GetDBData( const ScRange& rMarked, ScGetDBMode eMode, ScGe
                 }
                 aDocument.GetDataArea( nTab, nStartCol, nStartRow, nEndCol, nEndRow, false, bOnlyDown );
                 if ( nOldCol1 != nStartCol || nOldCol2 != nEndCol || nOldRow1 != nStartRow )
-                    bUseThis = false;               // passt gar nicht
+                    bUseThis = false;               // doesn't fit at all
                 else if ( nOldRow2 != nEndRow )
                 {
-                    //  Bereich auf neue End-Zeile erweitern
+                    //  extend range to new end row
                     pData->SetArea( nTab, nOldCol1,nOldRow1, nOldCol2,nEndRow );
                 }
             }
@@ -173,13 +172,13 @@ ScDBData* ScDocShell::GetDBData( const ScRange& rMarked, ScGetDBMode eMode, ScGe
         else
         {
             if ( nOldCol1 == nStartCol && nOldRow1 == nStartRow &&
-                 nOldCol2 == nEndCol && nOldRow2 == nEndRow )               // genau markiert?
+                 nOldCol2 == nEndCol && nOldRow2 == nEndRow )               // marked precisely?
                 bUseThis = true;
             else
-                bUseThis = false;           // immer Markierung nehmen (Bug 11964)
+                bUseThis = false;           // always take marking (Bug 11964)
         }
 
-        //      fuer Import nie "unbenannt" nehmen
+        //      never take "unnamed" for import
 
         if ( bUseThis && eMode == SC_DB_IMPORT && bIsNoName )
             bUseThis = false;
@@ -191,12 +190,12 @@ ScDBData* ScDocShell::GetDBData( const ScRange& rMarked, ScGetDBMode eMode, ScGe
     }
     else if ( eMode == SC_DB_OLD )
     {
-        pData = nullptr;                           // nichts gefunden
+        pData = nullptr;                           // nothing found
     }
     else
     {
         if ( !bSelected )
-        {                                       // zusammenhaengender Bereich
+        {                                       // continuos range
             nStartCol = nCol;
             nStartRow = nRow;
             if (bOnlyDown)
@@ -239,7 +238,7 @@ ScDBData* ScDocShell::GetDBData( const ScRange& rMarked, ScGetDBMode eMode, ScGe
                 pOldAutoDBRange = new ScDBData( *pNoNameData );
             }
 
-            SCCOL nOldX1;                                   // alten Bereich sauber wegnehmen
+            SCCOL nOldX1;                                   // take old range away cleanly
             SCROW nOldY1;                                   //! (UNDO ???)
             SCCOL nOldX2;
             SCROW nOldY2;
@@ -256,11 +255,11 @@ ScDBData* ScDocShell::GetDBData( const ScRange& rMarked, ScGetDBMode eMode, ScGe
 
             DBAreaDeleted( nOldTab, nOldX1, nOldY1, nOldX2, nOldY2 );
 
-            pNoNameData->SetSortParam( ScSortParam() );             // Parameter zuruecksetzen
+            pNoNameData->SetSortParam( ScSortParam() );             // reset parameter
             pNoNameData->SetQueryParam( ScQueryParam() );
             pNoNameData->SetSubTotalParam( ScSubTotalParam() );
 
-            pNoNameData->SetArea( nTab, nStartCol,nStartRow, nEndCol,nEndRow );     // neu setzen
+            pNoNameData->SetArea( nTab, nStartCol,nStartRow, nEndCol,nEndRow );     // set anew
             pNoNameData->SetByRow( true );
             pNoNameData->SetHeader( bHasHeader );
             pNoNameData->SetAutoFilter( false );
@@ -273,7 +272,7 @@ ScDBData* ScDocShell::GetDBData( const ScRange& rMarked, ScGetDBMode eMode, ScGe
             if (eMode==SC_DB_IMPORT)
             {
                 aDocument.PreprocessDBDataUpdate();
-                pUndoColl = new ScDBCollection( *pColl );   // Undo fuer Import1-Bereich
+                pUndoColl = new ScDBCollection( *pColl );   // Undo for import range
 
                 OUString aImport = ScGlobal::GetRscString( STR_DBNAME_IMPORT );
                 long nCount = 0;
@@ -310,9 +309,9 @@ ScDBData* ScDocShell::GetDBData( const ScRange& rMarked, ScGetDBMode eMode, ScGe
                 GetUndoManager()->AddUndoAction( new ScUndoDBData( this, pUndoColl, pRedoColl ) );
             }
 
-            //  neuen Bereich am Sba anmelden nicht mehr noetig
+            //  no longer needed to register new range at the Sba
 
-            //  "Import1" etc am Navigator bekanntmachen
+            //  announce "Import1", etc., at the Navigator
             if (eMode==SC_DB_IMPORT)
                 SfxGetpApp()->Broadcast( SfxHint( SfxHintId::ScDbAreasChanged ) );
         }
@@ -383,8 +382,8 @@ void ScDocShell::CancelAutoDBRange()
     }
 }
 
-        //  Hoehen anpassen
-        //! mit docfunc zusammenfassen
+        //  adjust hights
+        //! merge with docfunc
 
 bool ScDocShell::AdjustRowHeight( SCROW nStartRow, SCROW nEndRow, SCTAB nTab )
 {
@@ -503,7 +502,7 @@ void ScDocShell::DoConsolidate( const ScConsolidateParam& rParam, bool bRecord )
         nColSize = std::max( nColSize, SCCOL( pArea->nColEnd - pArea->nColStart + 1 ) );
         nRowSize = std::max( nRowSize, SCROW( pArea->nRowEnd - pArea->nRowStart + 1 ) );
 
-                                        // Test, ob Quelldaten verschoben wuerden
+                                        // test if source data were moved
         if (rParam.bReferenceData)
             if (pArea->nTab == rParam.nTab && pArea->nRowEnd >= rParam.nRow)
                 bErr = true;
@@ -517,7 +516,7 @@ void ScDocShell::DoConsolidate( const ScConsolidateParam& rParam, bool bRecord )
         return;
     }
 
-    //      ausfuehren
+    //      execute
 
     WaitObject aWait( GetActiveDialogParent() );
     ScDocShellModificator aModificator( *this );
@@ -561,27 +560,27 @@ void ScDocShell::DoConsolidate( const ScConsolidateParam& rParam, bool bRecord )
             SCTAB nTabCount = aDocument.GetTableCount();
             SCROW nInsertCount = aData.GetInsertCount();
 
-            // alte Outlines
+            // old outlines
             ScOutlineTable* pTable = aDocument.GetOutlineTable( nDestTab );
             ScOutlineTable* pUndoTab = pTable ? new ScOutlineTable( *pTable ) : nullptr;
 
             ScDocument* pUndoDoc = new ScDocument( SCDOCMODE_UNDO );
             pUndoDoc->InitUndo( &aDocument, 0, nTabCount-1, false, true );
 
-            // Zeilenstatus
+            // row state
             aDocument.CopyToDocument(0, 0, nDestTab, MAXCOL, MAXROW, nDestTab,
                                      InsertDeleteFlags::NONE, false, *pUndoDoc);
 
-            // alle Formeln
+            // all formulas
             aDocument.CopyToDocument(0, 0, 0, MAXCOL, MAXROW, nTabCount-1,
                                      InsertDeleteFlags::FORMULA, false, *pUndoDoc);
 
-            // komplette Ausgangszeilen
+            // complete output rows
             aDocument.CopyToDocument(0, aDestArea.nRowStart, nDestTab,
                                      MAXCOL,aDestArea.nRowEnd, nDestTab,
                                      InsertDeleteFlags::ALL, false, *pUndoDoc);
 
-            // alten Ausgabebereich
+            // old output range
             if (pDestData)
                 aDocument.CopyToDocument(aOldDest, InsertDeleteFlags::ALL, false, *pUndoDoc);
 
@@ -598,7 +597,7 @@ void ScDocShell::DoConsolidate( const ScConsolidateParam& rParam, bool bRecord )
                                      aDestArea.nColEnd, aDestArea.nRowEnd, aDestArea.nTab,
                                      InsertDeleteFlags::ALL, false, *pUndoDoc);
 
-            // alten Ausgabebereich
+            // old output range
             if (pDestData)
                 aDocument.CopyToDocument(aOldDest, InsertDeleteFlags::ALL, false, *pUndoDoc);
 
@@ -608,7 +607,7 @@ void ScDocShell::DoConsolidate( const ScConsolidateParam& rParam, bool bRecord )
         }
     }
 
-    if (pDestData)                                      // Zielbereich loeschen / anpassen
+    if (pDestData)                                      // delete / adjust destination range
     {
         aDocument.DeleteAreaTab(aOldDest, InsertDeleteFlags::CONTENTS);
         pDestData->SetArea( rParam.nTab, rParam.nCol, rParam.nRow,
@@ -657,16 +656,16 @@ void ScDocShell::UseScenario( SCTAB nTab, const OUString& rName, bool bRecord )
         while ( nEndTab+1 < nTabCount && aDocument.IsScenario(nEndTab+1) )
         {
             ++nEndTab;
-            if (nSrcTab > MAXTAB)           // noch auf der Suche nach dem Szenario?
+            if (nSrcTab > MAXTAB)           // still searching for the scenario?
             {
                 aDocument.GetName( nEndTab, aCompare );
                 if (aCompare.equals(rName))
-                    nSrcTab = nEndTab;      // gefunden
+                    nSrcTab = nEndTab;      // found
             }
         }
         if (ValidTab(nSrcTab))
         {
-            if ( aDocument.TestCopyScenario( nSrcTab, nTab ) )          // Zellschutz testen
+            if ( aDocument.TestCopyScenario( nSrcTab, nTab ) )          // test cell protection
             {
                 ScDocShellModificator aModificator( *this );
                 ScMarkData aScenMark;
@@ -681,12 +680,12 @@ void ScDocShell::UseScenario( SCTAB nTab, const OUString& rName, bool bRecord )
                 if (bRecord)
                 {
                     ScDocument* pUndoDoc = new ScDocument( SCDOCMODE_UNDO );
-                    pUndoDoc->InitUndo( &aDocument, nTab,nEndTab );             // auch alle Szenarien
-                    //  angezeigte Tabelle:
+                    pUndoDoc->InitUndo( &aDocument, nTab,nEndTab );             // also all scenarios
+                    //  shown table:
                     aDocument.CopyToDocument(nStartCol, nStartRow, nTab,
                                              nEndCol, nEndRow, nTab, InsertDeleteFlags::ALL,
                                              true, *pUndoDoc, &aScenMark);
-                    //  Szenarien
+                    //  scenarios
                     for (SCTAB i=nTab+1; i<=nEndTab; i++)
                     {
                         pUndoDoc->SetScenario( i, true );
@@ -697,7 +696,7 @@ void ScDocShell::UseScenario( SCTAB nTab, const OUString& rName, bool bRecord )
                         pUndoDoc->SetScenarioData( i, aComment, aColor, nScenFlags );
                         bool bActive = aDocument.IsActiveScenario( i );
                         pUndoDoc->SetActiveScenario( i, bActive );
-                        //  Bei Zurueckkopier-Szenarios auch Inhalte
+                        //  At copy-back scenarios also contents
                         if ( nScenFlags & ScScenarioFlags::TwoWay )
                             aDocument.CopyToDocument(0, 0, i, MAXCOL, MAXROW, i,
                                                      InsertDeleteFlags::ALL, false, *pUndoDoc );
@@ -714,9 +713,8 @@ void ScDocShell::UseScenario( SCTAB nTab, const OUString& rName, bool bRecord )
                 sc::SetFormulaDirtyContext aCxt;
                 aDocument.SetAllFormulasDirty(aCxt);
 
-                //  alles painten, weil in anderen Bereichen das aktive Szenario
-                //  geaendert sein kann
-                //! nur, wenn sichtbare Rahmen vorhanden?
+                //  paint all, because the active scenario may be modified in other ranges;
+                //! only if there are visible frames?
                 PostPaint( 0,0,nTab, MAXCOL,MAXROW,nTab, PaintPartFlags::Grid );
                 aModificator.SetDocumentModified();
             }
@@ -755,7 +753,7 @@ void ScDocShell::ModifyScenario( SCTAB nTab, const OUString& rName, const OUStri
                 aOldName, rName, aOldComment, rComment,
                 aOldColor, rColor, nOldFlags, nFlags) );
 
-    //  ausfuehren
+    //  execute
     ScDocShellModificator aModificator( *this );
     aDocument.RenameTab( nTab, rName );
     aDocument.SetScenarioData( nTab, rComment, rColor, nFlags );
@@ -800,14 +798,14 @@ SCTAB ScDocShell::MakeScenario( SCTAB nTab, const OUString& rName, const OUStrin
                                                 rName, rComment, rColor, nFlags, rMark ));
             }
 
-            aDocument.RenameTab( nNewTab, rName, false );           // ohne Formel-Update
+            aDocument.RenameTab( nNewTab, rName, false );           // without formula update
             aDocument.SetScenario( nNewTab, true );
             aDocument.SetScenarioData( nNewTab, rComment, rColor, nFlags );
 
             ScMarkData aDestMark = rMark;
             aDestMark.SelectOneTable( nNewTab );
 
-            //!     auf Filter / Buttons / Merging testen !
+            //!     test for filter / buttons / merging
 
             ScPatternAttr aProtPattern( aDocument.GetPool() );
             aProtPattern.GetItemSet().Put( ScProtectionAttr( true ) );
@@ -821,12 +819,12 @@ SCTAB ScDocShell::MakeScenario( SCTAB nTab, const OUString& rName, const OUStrin
             if (!bCopyAll)
                 aDocument.SetVisible( nNewTab, false );
 
-            //  dies ist dann das aktive Szenario
-            aDocument.CopyScenario( nNewTab, nTab, true );  // sal_True - nicht aus Szenario kopieren
+            //  this is the active scenario, then
+            aDocument.CopyScenario( nNewTab, nTab, true );  // sal_True - don't copy anything from scenario
 
             if (nFlags & ScScenarioFlags::ShowFrame)
-                PostPaint( 0,0,nTab, MAXCOL,MAXROW,nTab, PaintPartFlags::Grid );  // Rahmen painten
-            PostPaintExtras();                                          // Tabellenreiter
+                PostPaint( 0,0,nTab, MAXCOL,MAXROW,nTab, PaintPartFlags::Grid );  // paint frames
+            PostPaintExtras();                                          // table tab
             aModificator.SetDocumentModified();
 
             // A scenario tab is like a hidden sheet, broadcasting also
diff --git a/sc/source/ui/docshell/docsh6.cxx b/sc/source/ui/docshell/docsh6.cxx
index 9bddf667900f..66ecd7182b85 100644
--- a/sc/source/ui/docshell/docsh6.cxx
+++ b/sc/source/ui/docshell/docsh6.cxx
@@ -98,7 +98,7 @@ void ScDocShell::SetVisAreaOrSize( const Rectangle& rVisArea )
         }
     }
 
-    //      hier Position anpassen!
+    //      adjust position here!
 
     //  when loading an ole object, the VisArea is set from the document's
     //  view settings and must be used as-is (document content may not be complete yet).
@@ -118,7 +118,7 @@ void ScDocShell::SetVisAreaOrSize( const Rectangle& rVisArea )
     //TODO/LATER: formerly in SvInplaceObject
     SfxObjectShell::SetVisArea( aArea );
 
-    if (bIsInplace)                     // Zoom in der InPlace View einstellen
+    if (bIsInplace)                     // adjust zoom in the InPlace View
     {
         ScTabViewShell* pViewSh = ScTabViewShell::GetActiveViewShell();
         if (pViewSh)
@@ -139,7 +139,7 @@ void ScDocShell::SetVisAreaOrSize( const Rectangle& rVisArea )
             PostPaint(0,0,0,MAXCOL,MAXROW,MAXTAB,PaintPartFlags::Grid);
 

... etc. - the rest is truncated


More information about the Libreoffice-commits mailing list