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


...some more translations.

Christina Rossmanith
From b28f7f1929c2b9204427f105f87a747dd1075c51 Mon Sep 17 00:00:00 2001
From: Christina Rossmanith <ChrRossmanith@web.de>
Date: Tue, 4 Jan 2011 22:20:29 +0100
Subject: [PATCH] Translated comments from German to English

---
 sc/inc/chgtrack.hxx |   59 ++++++++++++++++++++++++++++----------------------
 sc/inc/column.hxx   |   24 ++++++++++----------
 sc/inc/conditio.hxx |   40 +++++++++++++++++-----------------
 sc/inc/consoli.hxx  |   25 ++++++++++-----------
 sc/inc/datauno.hxx  |   42 ++++++++++++++++++------------------
 5 files changed, 98 insertions(+), 92 deletions(-)

diff --git a/sc/inc/chgtrack.hxx b/sc/inc/chgtrack.hxx
index b1984b0..6ddc527 100644
--- a/sc/inc/chgtrack.hxx
+++ b/sc/inc/chgtrack.hxx
@@ -1264,50 +1264,57 @@ public:
 
     SC_DLLPUBLIC               void                            Undo( ULONG nStartAction, ULONG 
nEndAction, bool bMerge = false );
 
-                                // for MergeDocument, adjust references,
-                                //! may only be used in a temporary opened document
-                                //! der Track ist danach verhunzt
+                                // adjust references for MergeDocument
+                                //! may only be used in a temporary opened document.
+                                //! the Track (?) is unclean afterwards
             void                               MergePrepare( ScChangeAction* pFirstMerge, bool 
bShared = false );
             void                               MergeOwn( ScChangeAction* pAct, ULONG nFirstMerge, 
bool bShared = false );
     static     BOOL                            MergeIgnore( const ScChangeAction&, ULONG 
nFirstMerge );
 
+                                // This comment was already really strange in German.
+                                // Tried to structure it a little. Hope no information got lost...
+                                //
                                 // Insert dependents into table.
-                                // Bei Insert sind es echte Abhaengige,
-                                // bei Move abhaengige Contents im FromRange
-                                // und geloeschte im ToRange bzw. Inserts in
-                                // FromRange oder ToRange,
-                                // bei Delete eine Liste der geloeschten,
-                                // bei Content andere Contents an gleicher
-                                // Position oder MatrixReferences zu MatrixOrigin.
-                                // Mit bListMasterDelete werden unter einem
-                                // MasterDelete alle zu diesem Delete gehoerenden
-                                // Deletes einer Reihe gelistet.
-                                // Mit bAllFlat werden auch alle Abhaengigen
-                                // der Abhaengigen flach eingefuegt.
+                                // ScChangeAction is
+                                // - "Insert": really dependents
+                                // - "Move": dependent contents in FromRange /
+                                //           deleted contents in ToRange
+                                //      OR   inserts in FromRange or ToRange
+                                // - "Delete": a list of deleted (what?)
+                                //      OR     for content, different contents at the same position
+                                //      OR     MatrixReferences belonging to MatrixOrigin
+                                //
+                                // With bListMasterDelete (==TRUE ?) all Deletes of a row belonging
+                                // to a MasterDelete are listed (possibly it is
+                                // "all Deletes belonging...are listed in a row?)
+                                //
+                                // With bAllFlat (==TRUE ?) all dependents of dependents
+                                // will be inserted flatly.
+
     SC_DLLPUBLIC               void                            GetDependents( ScChangeAction*,
                                     ScChangeActionTable&,
                                     BOOL bListMasterDelete = FALSE,
                                     BOOL bAllFlat = FALSE ) const;
 
-                                // Reject visible Action (und abhaengige)
+                                // Reject visible action (and dependents)
             BOOL                Reject( ScChangeAction*, bool bShared = false );
 
-                                // Accept visible Action (und abhaengige)
+                                // Accept visible action (and dependents)
     SC_DLLPUBLIC               BOOL                            Accept( ScChangeAction* );
 
-            void                               AcceptAll();    // alle Virgins
-            BOOL                               RejectAll();    // alle Virgins
+            void                               AcceptAll();    // all Virgins
+            BOOL                               RejectAll();    // all Virgins
 
-                                // Selektiert einen Content von mehreren an
-                                // gleicher Position und akzeptiert diesen und
-                                // die aelteren, rejected die neueren.
-                                // Mit bOldest==TRUE wird der erste OldValue
-                                // einer Virgin-Content-Kette restauriert.
+                                // Selects a content of several contents at the same
+                                // position and accepts this one and
+                                // the older ones, rejects the more recent ones.
+                                // If bOldest==TRUE then the first OldValue
+                                // of a Virgin-Content-List will be restored.
             BOOL                               SelectContent( ScChangeAction*,
                                     BOOL bOldest = FALSE );
 
-                                // wenn ModifiedLink gesetzt, landen
-                                // Aenderungen in ScChangeTrackMsgQueue
+                                // If ModifiedLink is set, changes go to
+                                // ScChangeTrackMsgQueue
             void                               SetModifiedLink( const Link& r )
                                     { aModifiedLink = r; ClearMsgQueue(); }
             const Link&                        GetModifiedLink() const { return aModifiedLink; }
diff --git a/sc/inc/column.hxx b/sc/inc/column.hxx
index cf193de..de4f36f 100644
--- a/sc/inc/column.hxx
+++ b/sc/inc/column.hxx
@@ -112,7 +112,7 @@ private:
     ScAttrArray*       pAttrArray;
     ScDocument*                pDocument;
 
-friend class ScDocument;                                       // fuer FillInfo
+friend class ScDocument;                                       // for FillInfo
 friend class ScDocumentIterator;
 friend class ScValueIterator;
 friend class ScDBQueryDataIterator;
@@ -124,7 +124,7 @@ friend class ScHorizontalCellIterator;
 friend class ScHorizontalAttrIterator;
 
 public:
-    static bool bDoubleAlloc;                  // fuer Import: Groesse beim Allozieren verdoppeln
+    static bool bDoubleAlloc;                  // for Import: double size for alloc
 
     class DoubleAllocSwitch
     {
@@ -158,23 +158,23 @@ public:
                                 SCCOL& rPaintCol, SCROW& rPaintRow,
                                 BOOL bRefresh, BOOL bAttrs );
 
-    BOOL               IsEmptyVisData(BOOL bNotes) const;              // ohne Broadcaster
+    BOOL               IsEmptyVisData(BOOL bNotes) const;              // without Broadcaster
     BOOL               IsEmptyData() const;
     BOOL               IsEmptyAttr() const;
     BOOL               IsEmpty() const;
 
-                // nur Daten:
+                // data only:
     BOOL               IsEmptyBlock(SCROW nStartRow, SCROW nEndRow, bool bIgnoreNotes = false) 
const;
     SCSIZE         GetEmptyLinesInBlock( SCROW nStartRow, SCROW nEndRow, ScDirection eDir ) const;
     BOOL               HasDataAt(SCROW nRow) const;
     BOOL               HasVisibleDataAt(SCROW nRow) const;
     SCROW              GetFirstDataPos() const;
     SCROW              GetLastDataPos() const;
-    SCROW              GetLastVisDataPos(BOOL bNotes) const;                           // ohne 
Broadcaster
+    SCROW              GetLastVisDataPos(BOOL bNotes) const;                           // without 
Broadcaster
     SCROW              GetFirstVisDataPos(BOOL bNotes) const;
     BOOL               GetPrevDataPos(SCROW& rRow) const;
     BOOL               GetNextDataPos(SCROW& rRow) const;
-    void               FindDataAreaPos(SCROW& rRow, long nMovY) const; // (ohne Broadcaster)
+    void               FindDataAreaPos(SCROW& rRow, long nMovY) const; // (without Broadcaster)
     void               FindUsed( SCROW nStartRow, SCROW nEndRow, BOOL* pUsed ) const;
 
     SCSIZE             VisibleCount( SCROW nStartRow, SCROW nEndRow ) const;
@@ -203,7 +203,7 @@ public:
 
     void               RemoveEditAttribs( SCROW nStartRow, SCROW nEndRow );
 
-                //     Markierung von diesem Dokument
+                //     Selection (?) of this document
     void               MixMarked( const ScMarkData& rMark, USHORT nFunction,
                             BOOL bSkipEmpty, ScColumn& rSrcCol );
     void               MixData( SCROW nRow1, SCROW nRow2, USHORT nFunction, BOOL bSkipEmpty,
@@ -216,7 +216,7 @@ public:
 
     SCCOL              GetCol() const { return nCol; }
 
-                //     UpdateSelectionFunction: Mehrfachselektion
+                //     UpdateSelectionFunction: multi-select
     void               UpdateSelectionFunction( const ScMarkData& rMark,
                                     ScFunctionData& rData,
                                     ScFlatBoolRowSegments& rHiddenRows,
@@ -243,7 +243,7 @@ public:
 
     BOOL               HasEditCells(SCROW nStartRow, SCROW nEndRow, SCROW& rFirst) const;
 
-                //     TRUE = Zahlformat gesetzt
+                //     TRUE = format for numbers is set
     BOOL               SetString( SCROW nRow, SCTAB nTab, const String& rString,
                            formula::FormulaGrammar::AddressConvention conv = 
formula::FormulaGrammar::CONV_OOO,
                            ScSetStringParam* pParam = NULL );
@@ -258,7 +258,7 @@ public:
     CellType   GetCellType( SCROW nRow ) const;
     SCSIZE             GetCellCount() const { return nCount; }
     ULONG              GetWeightedCount() const;
-    ULONG              GetCodeCount() const;           // RPN-Code in Formeln
+    ULONG              GetCodeCount() const;           // RPN-Code in formulas
     USHORT             GetErrCode( SCROW nRow ) const;
 
     BOOL               HasStringData( SCROW nRow ) const;
@@ -413,7 +413,7 @@ private:
 };
 
 
-class ScColumnIterator                                 // alle Daten eines Bereichs durchgehen
+class ScColumnIterator                                 // walk through all data of a area/range
 {
     const ScColumn*            pColumn;
     SCSIZE                             nPos;
@@ -428,7 +428,7 @@ public:
 };
 
 
-class ScMarkedDataIter                                 // Daten in selektierten Bereichen 
durchgehen
+class ScMarkedDataIter                                 // walk through data in a selected 
area/range
 {
     const ScColumn*            pColumn;
     SCSIZE                             nPos;
diff --git a/sc/inc/conditio.hxx b/sc/inc/conditio.hxx
index 87e2eac..8432f93 100644
--- a/sc/inc/conditio.hxx
+++ b/sc/inc/conditio.hxx
@@ -47,8 +47,8 @@ class ScRangeList;
 #define SC_COND_NOBLANKS       1
 
 
-            // Reihenfolge von ScConditionMode wie ScQueryOp,
-            // damit einmal zusammengefasst werden kann:
+            // ordering of ScConditionMode and ScQueryOp is equal,
+            // to facilitate the merging of both in the future
 
 enum ScConditionMode
 {
@@ -73,20 +73,20 @@ enum ScConditionValType
 
 class SC_DLLPUBLIC ScConditionEntry
 {
-                                        // gespeicherte Daten:
+                                        // stored data:
     ScConditionMode            eOp;
     USHORT                             nOptions;
-    double                             nVal1;                  // eingegeben oder berechnet
+    double                             nVal1;                  // input or calculated
     double                             nVal2;
-    String                             aStrVal1;               // eingegeben oder berechnet
+    String                             aStrVal1;               // input or calculated
     String                             aStrVal2;
     String              aStrNmsp1;      // namespace to be used on (re)compilation, e.g. in XML 
import
     String              aStrNmsp2;      // namespace to be used on (re)compilation, e.g. in XML 
import
     formula::FormulaGrammar::Grammar eTempGrammar1;  // grammar to be used on (re)compilation, 
e.g. in XML import
     formula::FormulaGrammar::Grammar eTempGrammar2;  // grammar to be used on (re)compilation, 
e.g. in XML import
-    BOOL                               bIsStr1;                // um auch leere Strings zu erkennen
+    BOOL                               bIsStr1;                // for recognition of empty strings 
     BOOL                               bIsStr2;
-    ScTokenArray*              pFormula1;              // eingegebene Formel
+    ScTokenArray*              pFormula1;              // entered formula
     ScTokenArray*              pFormula2;
     ScAddress           aSrcPos;        // source position for formulas
                                         // temporary data:
@@ -119,8 +119,8 @@ public:
             ScConditionEntry( ScConditionMode eOper,
                                 const ScTokenArray* pArr1, const ScTokenArray* pArr2,
                                 ScDocument* pDocument, const ScAddress& rPos );
-            ScConditionEntry( const ScConditionEntry& r );     // flache Kopie der Formeln
-            // echte Kopie der Formeln (fuer Ref-Undo):
+            ScConditionEntry( const ScConditionEntry& r );     // flat copy of formulas
+            // true copy of formulas (for Ref-Undo):
             ScConditionEntry( ScDocument* pDocument, const ScConditionEntry& r );
     virtual ~ScConditionEntry();
 
@@ -161,7 +161,7 @@ protected:
 };
 
 //
-//     einzelner Eintrag fuer bedingte Formatierung
+//     single entry for conditional formatting
 //
 
 class ScConditionalFormat;
@@ -202,24 +202,24 @@ protected:
 };
 
 //
-//     komplette bedingte Formatierung
+//     complete conditional formatting
 //
 
 class SC_DLLPUBLIC ScConditionalFormat
 {
     ScDocument*                        pDoc;
-    ScRangeList*               pAreas;                         // Bereiche fuer Paint
-    sal_uInt32                 nKey;                           // Index in Attributen
+    ScRangeList*               pAreas;                         // area for Paint
+    sal_uInt32                 nKey;                           // Index in attributes
     ScCondFormatEntry**        ppEntries;
     USHORT                             nEntryCount;
-    BOOL                               bIsUsed;                        // temporaer beim Speichern
+    BOOL                               bIsUsed;                        // temporary at Save
 
 public:
             ScConditionalFormat(sal_uInt32 nNewKey, ScDocument* pDocument);
             ScConditionalFormat(const ScConditionalFormat& r);
             ~ScConditionalFormat();
 
-    // echte Kopie der Formeln (fuer Ref-Undo / zwischen Dokumenten)
+    // true copy of formulas (for Ref-Undo / between documents)
     ScConditionalFormat* Clone(ScDocument* pNewDoc = NULL) const;
 
     void                       AddEntry( const ScCondFormatEntry& rNew );
@@ -246,21 +246,21 @@ public:
     void                       InvalidateArea();
 
     sal_uInt32         GetKey() const                  { return nKey; }
-    void                       SetKey(sal_uInt32 nNew) { nKey = nNew; }        // nur wenn nicht 
eingefuegt!
+    void                       SetKey(sal_uInt32 nNew) { nKey = nNew; }        // only if not 
inserted!
 
     void                       SetUsed(BOOL bSet)              { bIsUsed = bSet; }
     BOOL                       IsUsed() const                  { return bIsUsed; }
 
     bool            MarkUsedExternalReferences() const;
 
-    // sortiert (per PTRARR) nach Index
-    // operator== nur fuer die Sortierung
+    // sorted (via PTRARR) by Index
+    // operator== only for sorting
     BOOL operator ==( const ScConditionalFormat& r ) const     { return nKey == r.nKey; }
     BOOL operator < ( const ScConditionalFormat& r ) const     { return nKey <  r.nKey; }
 };
 
 //
-//     Liste der Bereiche und Formate:
+//     List of areas and formats:
 //
 
 typedef ScConditionalFormat* ScConditionalFormatPtr;
@@ -294,7 +294,7 @@ public:
      *  references are marked now. */
     bool    MarkUsedExternalReferences() const;
 
-    BOOL       operator==( const ScConditionalFormatList& r ) const;           // fuer Ref-Undo
+    BOOL       operator==( const ScConditionalFormatList& r ) const;           // for Ref-Undo
 };
 
 #endif
diff --git a/sc/inc/consoli.hxx b/sc/inc/consoli.hxx
index a9edc48..7519855 100644
--- a/sc/inc/consoli.hxx
+++ b/sc/inc/consoli.hxx
@@ -36,7 +36,7 @@ class ScDocument;
 
 // -----------------------------------------------------------------------
 
-struct ScReferenceEntry                                // ohne Constructor !
+struct ScReferenceEntry                                // without constructor !
 {
     SCCOL      nCol;
     SCROW      nRow;
@@ -44,13 +44,13 @@ struct ScReferenceEntry                             // ohne Constructor !
 };
 
 
-//!            Delta-Wert fuer Daten benutzen?
+//!            Use delta value for data?
 
-class ScReferenceList                  // ohne Constructor !
+class ScReferenceList                  // without constructor !
 {
 private:
     SCSIZE                             nCount;
-    SCSIZE                             nFullSize;                      // inkl. Fuell-Eintraege
+    SCSIZE                             nFullSize;                      // incl. fill entries
     ScReferenceEntry*  pData;
 
 public:
@@ -68,18 +68,17 @@ public:
 
 
 //
-//     Reihenfolge:
-//             1)      ScConsData anlegen
+//     Sequence:
+//             1)      create ScConsData 
 //             2)      Parameter (Size/Flags)
-//             3)      AddFields fuer alle Bereiche (nur noetig bei bColByName oder bRowByName)
-//             4)      DoneFields                                       (              "           
                                    "                  )
-//             5)      AddData fuer alle Bereiche
-//                     evtl. AddName nach jedem Bereich
+//             3)      AddFields for all areas (only needed for bColByName or bRowByName)
+//             4)      DoneFields                              (               "                   
                            "                )
+//             5)      AddData for all areas
+//                     perhaps AddName after each area
 //             6)      OutputToDocument
 //
 
-//!    ab bestimmter Groesse ScDocument Struktur benutzen?
-
+//!    Use structure ScDocument if a certain size is exceeded?
 
 class ScConsData
 {
@@ -103,7 +102,7 @@ private:
     String**                   ppTitles;
     SCSIZE**               ppTitlePos;
     BOOL                               bCornerUsed;
-    String                             aCornerText;            // nur bei bColByName && bRowByName
+    String                             aCornerText;            // only for bColByName && bRowByName
 
 public:
                 ScConsData();
diff --git a/sc/inc/datauno.hxx b/sc/inc/datauno.hxx
index 9089c24..22b2644 100644
--- a/sc/inc/datauno.hxx
+++ b/sc/inc/datauno.hxx
@@ -78,7 +78,7 @@ public:
 };
 
 
-//     ImportDescriptor gibt's nicht mehr als Uno-Objekt, nur noch Property-Sequence
+//     ImportDescriptor is not available as Uno-Objekt any longer, only Property-Sequence
 
 class ScImportDescriptor
 {
@@ -92,7 +92,7 @@ public:
     static long GetPropertyCount();
 };
 
-//     SortDescriptor gibt's nicht mehr als Uno-Objekt, nur noch Property-Sequence
+//     SortDescriptor is not available as Uno-Objekt any longer, only Property-Sequence
 
 class ScSortDescriptor
 {
@@ -107,7 +107,7 @@ public:
 };
 
 
-//     ScSubTotalDescriptorBase - Basisklasse fuer SubTotalDescriptor alleine und im DB-Bereich
+//     ScSubTotalDescriptorBase - base class for SubTotalDescriptor stand alone and in DB area 
(context?)
 
 //     to uno, both look the same
 
@@ -216,7 +216,7 @@ public:
 };
 
 
-//     ScSubTotalDescriptor - dummer Container zur Benutzung mit XImportTarget
+//     ScSubTotalDescriptor - dummy container to use with XImportTarget
 
 class ScSubTotalDescriptor : public ScSubTotalDescriptorBase
 {
@@ -227,17 +227,17 @@ public:
                             ScSubTotalDescriptor();
     virtual                                    ~ScSubTotalDescriptor();
 
-                            // von ScSubTotalDescriptorBase:
+                            // from ScSubTotalDescriptorBase:
     virtual void                       GetData( ScSubTotalParam& rParam ) const;
     virtual void                       PutData( const ScSubTotalParam& rParam );
 
-                            // Zugriff von aussen:
+                            // external access:
     void                                       SetParam( const ScSubTotalParam& rNew );
 //     const ScSubTotalParam&  GetParam() const        { return aStoredParam; }
 };
 
 
-//     ScRangeSubTotalDescriptor - SubTotalDescriptor eines Datenbank-Bereichs
+//     ScRangeSubTotalDescriptor - SubTotalDescriptor of a data base area
 
 class ScRangeSubTotalDescriptor : public ScSubTotalDescriptorBase
 {
@@ -248,7 +248,7 @@ public:
                             ScRangeSubTotalDescriptor(ScDatabaseRangeObj* pPar);
     virtual                                    ~ScRangeSubTotalDescriptor();
 
-                            // von ScSubTotalDescriptorBase:
+                            // from ScSubTotalDescriptorBase:
     virtual void                       GetData( ScSubTotalParam& rParam ) const;
     virtual void                       PutData( const ScSubTotalParam& rParam );
 };
@@ -336,8 +336,8 @@ public:
 };
 
 
-//     ScFilterDescriptorBase - Basisklasse fuer FilterDescriptor
-//                                                      alleine, im DB-Bereich und im DataPilot
+//     ScFilterDescriptorBase - base class for FilterDescriptor
+//                                                      stand alone, in a DB area (or context?) 
and in the DataPilot
 
 //     to uno, all three look the same
 
@@ -358,8 +358,8 @@ public:
 
     virtual void                       Notify( SfxBroadcaster& rBC, const SfxHint& rHint );
 
-                            // in den Ableitungen:
-                            // (nField[] hier innerhalb des Bereichs)
+                            // in the derived classes(?):
+                            // (nField[] here within the area)
     virtual void                       GetData( ScQueryParam& rParam ) const = 0;
     virtual void                       PutData( const ScQueryParam& rParam ) = 0;
 
@@ -428,28 +428,28 @@ public:
 };
 
 
-//     ScFilterDescriptor - dummer Container zur Benutzung mit XFilterable
+//     ScFilterDescriptor - dummy container to use with XFilterable
 
 class ScFilterDescriptor : public ScFilterDescriptorBase
 {
 private:
-    ScQueryParam                       aStoredParam;           // nField[] hier innerhalb des 
Bereichs
+    ScQueryParam                       aStoredParam;           // nField[] here within the area
 
 public:
                             ScFilterDescriptor(ScDocShell* pDocSh);
     virtual                                    ~ScFilterDescriptor();
 
-                            // von ScFilterDescriptorBase:
+                            // from ScFilterDescriptorBase:
     virtual void                       GetData( ScQueryParam& rParam ) const;
     virtual void                       PutData( const ScQueryParam& rParam );
 
-                            // Zugriff von aussen:
+                            // external access:
     void                                       SetParam( const ScQueryParam& rNew );
     const ScQueryParam&                GetParam() const        { return aStoredParam; }
 };
 
 
-//     ScRangeFilterDescriptor - FilterDescriptor eines Datenbank-Bereichs
+//     ScRangeFilterDescriptor - FilterDescriptor of a data base area
 
 class ScRangeFilterDescriptor : public ScFilterDescriptorBase
 {
@@ -460,13 +460,13 @@ public:
                             ScRangeFilterDescriptor(ScDocShell* pDocSh, ScDatabaseRangeObj* pPar);
     virtual                                    ~ScRangeFilterDescriptor();
 
-                            // von ScFilterDescriptorBase:
+                            // from ScFilterDescriptorBase:
     virtual void                       GetData( ScQueryParam& rParam ) const;
     virtual void                       PutData( const ScQueryParam& rParam );
 };
 
 
-//     ScDataPilotFilterDescriptor - FilterDescriptor eines DataPilotDescriptors
+//     ScDataPilotFilterDescriptor - FilterDescriptor of a DataPilotDescriptors
 
 class ScDataPilotFilterDescriptor : public ScFilterDescriptorBase
 {
@@ -477,7 +477,7 @@ public:
                             ScDataPilotFilterDescriptor(ScDocShell* pDocSh, 
ScDataPilotDescriptorBase* pPar);
     virtual                                    ~ScDataPilotFilterDescriptor();
 
-                            // von ScFilterDescriptorBase:
+                            // from ScFilterDescriptorBase:
     virtual void                       GetData( ScQueryParam& rParam ) const;
     virtual void                       PutData( const ScQueryParam& rParam );
 };
@@ -508,7 +508,7 @@ public:
 
     virtual void                       Notify( SfxBroadcaster& rBC, const SfxHint& rHint );
 
-                            // nField[] hier innerhalb des Bereichs:
+                            // nField[] here within the area:
     void                                       GetQueryParam(ScQueryParam& rQueryParam) const;
     void                                       SetQueryParam(const ScQueryParam& rQueryParam);
     void                                       GetSubTotalParam(ScSubTotalParam& rSubTotalParam) 
const;
-- 
1.7.0.4


Context


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