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


Hey everybody,


I have attached a patch for Bug 39468 "translate German comments, removing redundant ones" for the 
directories (in core) accessibility to (incl.) basemp. So in these directories there should be no 
more German comments after applying the patch.


______

This is my first contribution to Libreoffice development and my first mail to this list, so I'm not 
used to all the processes here.
I hope that my patch still works and is useful at all. I've just read about that on the 
EasyHacks-wikipage and thought I could do that to get a first idea of Libreoffice development. So 
I've sent my work now even if I've not finished so many directories yet to avoid that I've spent 
much time on something that maybe might not even be needed after all.
But if it's useful, I'll keep on working on German-comments-translating and -removing and will 
regularly send you my work.

If my patch or mail or whatever is somehow wrong I'd be pleased if you excuse that and rather help 
me to improve - maybe I've messed something up with git as I've never used it before.
______


Thank you for an amazing program anyway!

Florian Allmann-Rahn
-- 
Empfehlen Sie GMX DSL Ihren Freunden und Bekannten und wir
belohnen Sie mit bis zu 50,- Euro! https://freundschaftswerbung.gmx.de
From 8105dbff5961177b3c87d1fe89cb3373f7d1a83a Mon Sep 17 00:00:00 2001
From: Allmann-Rahn <allmann-rahn@ubuntu.ubuntu-domain>
Date: Mon, 22 Aug 2011 11:39:37 +0200
Subject: [PATCH] Translated German comments and removed the redundant ones
 in the directories accessibility to (incl.) basebmp.

---
 autodoc/inc/ary/ceslot.hxx                   |    2 +-
 autodoc/inc/ary_i/d_token.hxx                |    2 +-
 autodoc/source/parser/adoc/cx_a_std.cxx      |   16 +-
 autodoc/source/parser/cpp/cx_c_std.cxx       |   16 +-
 autodoc/source/parser/cpp/cx_c_sub.cxx       |    2 +-
 autodoc/source/parser/cpp/pe_funct.hxx       |   25 +-
 autodoc/source/parser/cpp/pe_vafu.hxx        |   24 +-
 autodoc/source/parser/tokens/tkpstama.cxx    |    2 +-
 autodoc/source/parser_i/idl/cx_idlco.cxx     |   18 +-
 autodoc/source/parser_i/idoc/cx_dsapi.cxx    |   16 +-
 autodoc/source/parser_i/tokens/tkpstam2.cxx  |    1 -
 automation/inc/automation/commdefines.hxx    |   33 ++--
 automation/inc/automation/communi.hxx        |   14 +-
 automation/inc/automation/simplecm.hxx       |   48 ++---
 automation/source/app/testbasi.hxx           |    8 +-
 automation/source/communi/communi.cxx        |   63 +++---
 automation/source/inc/rcontrol.hxx           |   78 ++++----
 automation/source/inc/testapp.hxx            |   70 +++++-----
 automation/source/miniapp/testapp.hxx        |    2 +-
 automation/source/server/cmdbasestream.cxx   |   26 +-
 automation/source/server/editwin.cxx         |    2 +-
 automation/source/server/editwin.hxx         |    2 +-
 automation/source/server/prof_nul.cxx        |   15 +-
 automation/source/server/prof_usl.cxx        |   21 +-
 automation/source/server/profiler.cxx        |    6 +-
 automation/source/server/profiler.hxx        |   33 ++--
 automation/source/server/recorder.cxx        |    2 +-
 automation/source/server/retstrm.cxx         |    2 +-
 automation/source/server/server.cxx          |   68 +++++-----
 automation/source/server/server.hxx          |    2 +-
 automation/source/server/sta_list.cxx        |   26 +-
 automation/source/server/statemnt.cxx        |  305 +++++++++++++-------------
 automation/source/server/statemnt.hxx        |   63 +++---
 automation/source/simplecm/packethandler.cxx |   37 ++--
 automation/source/testtool/cmdstrm.cxx       |   36 ++--
 automation/source/testtool/cmdstrm.hxx       |    4 +-
 automation/source/testtool/comm_bas.cxx      |  192 ++++++++--------
 automation/source/testtool/comm_bas.hxx      |   36 ++--
 automation/source/testtool/httprequest.cxx   |    2 +-
 automation/source/testtool/objtest.cxx       |  225 ++++++++++++++++----------------
 automation/source/testtool/objtest.hxx       |   25 +-
 automation/source/testtool/tcommuni.cxx      |    6 +-
 basctl/source/basicide/basicbox.cxx          |   10 +-
 basctl/source/basicide/baside2.cxx           |   78 +++----
 basctl/source/basicide/baside2b.cxx          |   65 +++----
 basctl/source/basicide/baside3.cxx           |    4 +-
 basctl/source/basicide/basides1.cxx          |   63 +++---
 basctl/source/basicide/basides2.cxx          |    6 +-
 basctl/source/basicide/basides3.cxx          |    6 +-
 basctl/source/basicide/basidesh.cxx          |   52 ++---
 basctl/source/basicide/basobj3.cxx           |   16 +-
 basctl/source/basicide/bastype2.cxx          |   12 +-
 basctl/source/basicide/bastype2.hxx          |    6 +-
 basctl/source/basicide/bastype3.cxx          |    5 +-
 basctl/source/basicide/bastypes.cxx          |   19 +-
 basctl/source/basicide/brkdlg.cxx            |    2 +-
 basctl/source/basicide/iderdll.cxx           |   20 +-
 basctl/source/basicide/macrodlg.cxx          |   51 ++---
 basctl/source/basicide/moduldl2.cxx          |    4 +-
 basctl/source/basicide/moduldlg.cxx          |   16 +-
 basctl/source/basicide/objdlg.cxx            |    6 +-
 basctl/source/basicide/tbxctl.cxx            |    6 +-
 basctl/source/dlged/dlged.cxx                |    2 +-
 basctl/source/inc/basobj.hxx                 |    2 +-
 basctl/source/inc/bastypes.hxx               |    9 +-
 65 files changed, 973 insertions(+), 1062 deletions(-)


diff --git a/autodoc/inc/ary/ceslot.hxx b/autodoc/inc/ary/ceslot.hxx
index ae0beb2..9dcd159 100644
--- a/autodoc/inc/ary/ceslot.hxx
+++ b/autodoc/inc/ary/ceslot.hxx
@@ -41,7 +41,7 @@ namespace ary

 class Display;

-/** Unterscheidungen von Slots
+/** differentiation of Slots

     Slots:
     -   ReadWrite or ReadOnly
diff --git a/autodoc/inc/ary_i/d_token.hxx b/autodoc/inc/ary_i/d_token.hxx
index 7fed7d1..dd11336 100644
--- a/autodoc/inc/ary_i/d_token.hxx
+++ b/autodoc/inc/ary_i/d_token.hxx
@@ -248,7 +248,7 @@ class DT_SeeAlsoAtTag : public DT_AtTag
     virtual void        DisplayAt(
                             DocumentationDisplay &
                                                 o_rDisplay ) const;
-    const String  &     LinkText() const        { return sTitle; }  // Missbrauch von sTitle
+    const String  &     LinkText() const        { return sTitle; }  // abuse of sTitle
 };

 class DT_ParameterAtTag : public DT_AtTag
diff --git a/autodoc/source/parser/adoc/cx_a_std.cxx b/autodoc/source/parser/adoc/cx_a_std.cxx
index 18d11b5..a295d75 100644
--- a/autodoc/source/parser/adoc/cx_a_std.cxx
+++ b/autodoc/source/parser/adoc/cx_a_std.cxx
@@ -250,16 +250,16 @@ Context_AdocStd::PerformStatusFunction( uintt               i_nStatusSignal,
 void
 Context_AdocStd::SetupStateMachine()
 {
-    // Besondere Array-Stati (kein Tokenabschluss oder Kontextwechsel):
-//  const INT16 bas = 0;        // Base-Status
-    const INT16 wht = 1;        // Whitespace-Status
-    const INT16 awd = 2;        // Any-Word-Read-Status
+    // special array statuses (no tokenfinish or change of context):
+//  const INT16 bas = 0;        // base-status
+    const INT16 wht = 1;        // whitespace-status
+    const INT16 awd = 2;        // any-word-read-status

-    // Kontextwechsel-Stati:
+    // change of context statuses
     const INT16 goto_CheckStar = 3;
     const INT16 goto_AtTag = 4;

-    // Tokenfinish-Stati:
+    // tokenfinish statuses:
     const INT16 finError = 5;
 //  const INT16 finIgnore = 6;
     const INT16 finEol = 7;
@@ -267,7 +267,7 @@ Context_AdocStd::SetupStateMachine()
     const INT16 finAnyWord = 9;
     const INT16 finWhitespace = 10;

-    // Konstanten zur Benutzung in der Tabelle:
+    // constants for use in the table:
     const INT16 fof = finEof;
     const INT16 err = finError;
     const INT16 faw = finAnyWord;
@@ -361,7 +361,7 @@ Context_AdocStd::SetupStateMachine()
     DYN StmBoundsStatus *   dpBst_finWhitespace
             = new StmBoundsStatus( *this, *this, nF_fin_Whitespace, true);

-    // dpMain aufbauen:
+    // construct dpMain:
     aStateMachine.AddStatus(dpStatusTop);
     aStateMachine.AddStatus(dpStatusWhite);
     aStateMachine.AddStatus(dpStatusWord);
diff --git a/autodoc/source/parser/cpp/cx_c_std.cxx b/autodoc/source/parser/cpp/cx_c_std.cxx
index 73eed71..c3710d6 100644
--- a/autodoc/source/parser/cpp/cx_c_std.cxx
+++ b/autodoc/source/parser/cpp/cx_c_std.cxx
@@ -239,12 +239,12 @@ Context_CppStd::PerformStatusFunction( uintt                    
i_nStatusSignal,
 void
 Context_CppStd::SetupStateMachine()
 {
-    // Besondere Array-Stati (kein Tokenabschluss oder Kontextwechsel):
-//  const INT16 top = 0;        // Top-Status
-    const INT16 wht = 1;        // Whitespace-überlese-Status
-    const INT16 bez = 2;        // Bezeichner-lese-Status
+    // special array statuses (no tokenfinish or change of context):
+//  const INT16 top = 0;        // top status
+    const INT16 wht = 1;        // skip whitespace status
+    const INT16 bez = 2;        // read identifier status

-    // Tokenfinish-Stati:
+    // tokenfinish statuses:
     const INT16 finError = 3;
     const INT16 finIgnore = 4;
     const INT16 finBezeichner = 5;
@@ -255,7 +255,7 @@ Context_CppStd::SetupStateMachine()
     const INT16 finEOL = 10;
     const INT16 finEOF = 11;

-    // Kontextwechsel-Stati:
+    // change of context statuses:
     const INT16 gotoComment = 12;
     const INT16 gotoDocu = 13;
     const INT16 gotoPreprocessor = 14;
@@ -264,7 +264,7 @@ Context_CppStd::SetupStateMachine()
     const INT16 gotoConstNumeric = 17;
     const INT16 gotoUnblockMacro = 18;

-    // Abbreviations to be used in status tables:
+    // abbreviations to be used in status tables:
     const INT16 err = finError;
     const INT16 fig = finIgnore;
     const INT16 fbz = finBezeichner;
@@ -378,7 +378,7 @@ Context_CppStd::SetupStateMachine()
     DYN StmBoundsStatus *   dpBst_gotoUnblockMacro
             = new StmBoundsStatus( *this, *pContext_UnblockMacro, nF_goto_UnblockMacro, false );

-    // dpMain aufbauen:
+    // construct dpMain:
     aStateMachine.AddStatus(dpStatusTop);

     aStateMachine.AddStatus(dpStatusWhite);
diff --git a/autodoc/source/parser/cpp/cx_c_sub.cxx b/autodoc/source/parser/cpp/cx_c_sub.cxx
index 76e5779..fbdd505 100644
--- a/autodoc/source/parser/cpp/cx_c_sub.cxx
+++ b/autodoc/source/parser/cpp/cx_c_sub.cxx
@@ -144,7 +144,7 @@ Context_ConstNumeric::ReadCharChain(CharacterSource & io_rText)
             if (cNext == '+' OR cNext == '-')
                 cNext = io_rText.MoveOn();
         }   // endif
-    } while (isalnum(cNext) OR cNext == '.');     // Reicht aus, wenn Zahlen korrekt geschrieben 
sind
+    } while (isalnum(cNext) OR cNext == '.');     // suffices, if the numbers are spelled correctly
     SetNewToken(new Tok_Constant(io_rText.CutToken()));
 }

diff --git a/autodoc/source/parser/cpp/pe_funct.hxx b/autodoc/source/parser/cpp/pe_funct.hxx
index 20d8b5e..2f6a183 100644
--- a/autodoc/source/parser/cpp/pe_funct.hxx
+++ b/autodoc/source/parser/cpp/pe_funct.hxx
@@ -219,16 +219,16 @@ PE_Function::Result_WithImplementation() const



-/*  // Overview of Stati
+/*  // Overview of statuses

 Undecided
 ---------

-start           // vor und während storage class specifiern
+start           // before and inside storage class specifiers

 ->Typ

-expectName      // Typ ist da
+expectName      // type is there

 afterName

@@ -238,18 +238,17 @@ afterName
 Variable
 --------

-start           // vor und während storage class specifiern
+start           // before and inside storage class specifiers

 ->Typ

-expectName      // Typ ist da  -> im Falle von '(': notyetimplemented
+expectName      // type is there  -> in case of '(': notyetimplemented
 afterName

 expectSize      // after [
 expectFinish
-                // vor ; oder ,
-expectNextVarName  // anders als bei expectName kann hier auch * oder & kommen
-
+                // before ; or ,
+expectNextVarName  // in contrast to expectName here can also be a * or &



@@ -257,13 +256,13 @@ expectNextVarName  // anders als bei expectName kann hier auch * oder & kommen
 Function
 --------

-start               // vor und während storage class specifiern
+start               // before and inside storage class specifiers

 ->Typ

-expectName          // Typ ist da
-expectBracket       // Nach Name
-expectParameter     // nach ( oder ,
+expectName          // type is there
+expectBracket       // after name
+expectParameter     // after ( or ,
 -> Parameter
 after Parameters    // before const, volatile throw or = 0.
 after throw         // expect (
@@ -271,7 +270,7 @@ expectException     // after (
 after exceptions    // = 0 oder ; oder ,


-expectNextVarName  // anders als bei expectName kann hier auch * oder & kommen
+expectNextVarName  // in contrast to expectName here can also be a * or &



diff --git a/autodoc/source/parser/cpp/pe_vafu.hxx b/autodoc/source/parser/cpp/pe_vafu.hxx
index c31bbb5..0fa760c 100644
--- a/autodoc/source/parser/cpp/pe_vafu.hxx
+++ b/autodoc/source/parser/cpp/pe_vafu.hxx
@@ -223,12 +223,12 @@ PE_VarFunc::Result_CeType() const
 #endif


-/*  // Overview of Stati
+/*  // Overview of statuses

 Undecided
 ---------

-start           // vor und während storage class specifiern
+start           // before and inside storage class specifiers
     any         ->stay
     operaator   ->goto Function

@@ -246,17 +246,17 @@ afterName       ->goto Variable or Function
 Variable
 --------

-start           // vor und während storage class specifiern
+start           // before and inside storage class specifiers

 ->Typ

-expectName      // Typ ist da  -> im Falle von '(': notyetimplemented
+expectName      // type is there  -> in case of '(': notyetimplemented
 afterName

 expectSize      // after [
 expectFinish
-                // vor ; oder ,
-expectNextVarName  // anders als bei expectName kann hier auch * oder & kommen
+                // before ; or ,
+expectNextVarName  // in contrast to expectName here can also be a * or &



@@ -265,21 +265,21 @@ expectNextVarName  // anders als bei expectName kann hier auch * oder & kommen
 Function
 --------

-start               // vor und während storage class specifiern
+start               // before and inside storage class specifiers

 ->Typ

-expectName          // Typ ist da
-expectBracket       // Nach Name
-expectParameter     // nach ( oder ,
+expectName          // type is there
+expectBracket       // after name
+expectParameter     // after ( or ,
 -> Parameter
 after Parameters    // before const, volatile throw or = 0.
 after throw         // expect (
 expectException     // after (
-after exceptions    // = 0 oder ; oder ,
+after exceptions    // = 0 or ; or ,


-expectNextVarName  // anders als bei expectName kann hier auch * oder & kommen
+expectNextVarName  // in contrast to expectName here can also be a * or &



diff --git a/autodoc/source/parser/tokens/tkpstama.cxx b/autodoc/source/parser/tokens/tkpstama.cxx
index aefe72c..f3e88b3 100644
--- a/autodoc/source/parser/tokens/tkpstama.cxx
+++ b/autodoc/source/parser/tokens/tkpstama.cxx
@@ -71,7 +71,7 @@ StateMachine::AddToken( const char *        in_sToken,
     if (csv::no_str(in_sToken))
         return;

-    // Durch existierende Stati durchhangeln:
+
     nCurrentStatus = 0;
     nPeekedStatus = 0;

diff --git a/autodoc/source/parser_i/idl/cx_idlco.cxx b/autodoc/source/parser_i/idl/cx_idlco.cxx
index 42ace94..4e1f1da 100644
--- a/autodoc/source/parser_i/idl/cx_idlco.cxx
+++ b/autodoc/source/parser_i/idl/cx_idlco.cxx
@@ -308,12 +308,12 @@ Context_UidlCode::PerformStatusFunction( uintt              i_nStatusSignal,
 void
 Context_UidlCode::SetupStateMachine()
 {
-    // Besondere Array-Stati (kein Tokenabschluss oder Kontextwechsel):
-//  const INT16 top = 0;        // Top-Status
-    const INT16 wht = 1;        // Whitespace-überlese-Status
-    const INT16 bez = 2;        // Bezeichner-lese-Status
+    // special array statuses (no tokenfinish or change of context):
+//  const INT16 top = 0;        // top status
+    const INT16 wht = 1;        // skip whitespace status
+    const INT16 bez = 2;        // read identifier status

-    // Tokenfinish-Stati:
+    // tokenfinish statuses:
     const INT16 finErr = 3;
     const INT16 finIgn = 4;
     const INT16 finBez = 5;
@@ -322,7 +322,7 @@ Context_UidlCode::SetupStateMachine()
     const INT16 finEOL = 8;
     const INT16 finEOF = 9;

-    // Kontextwechsel-Stati:
+    // change of context statuses:
     const INT16 gotoMld = 10;
     const INT16 gotoSld = 11;
     const INT16 gotoMlc = 12;
@@ -330,7 +330,7 @@ Context_UidlCode::SetupStateMachine()
     const INT16 gotoPrp = 14;
     const INT16 gotoAsg = 15;

-    // Konstanten zur Benutzung in der Tabelle:
+    // constants for use in the table:
     const INT16 err = finErr;
     const INT16 fbz = finBez;
     const INT16 fig = finIgn;
@@ -338,7 +338,7 @@ Context_UidlCode::SetupStateMachine()
 //  const INT16 fkw = finKeyw;
 //  const INT16 fpc = finPunct;

-    /// Die '0'en werden spaeter durch AddToken() ersetzt.
+    /// '0's are going to be replaced by AddToken() later

     const INT16 A_nTopStatus[C_nStatusSize] =
     //  0   1   2   3   4   5   6   7   8   9  10  11  12  13  14  15
@@ -435,7 +435,7 @@ Context_UidlCode::SetupStateMachine()
     DYN StmBoundsStatu2 *   dpBst_gotoAsg
             = new StmBoundsStatu2( *this, *dpContext_Assignment, nF_goto_Assignment, false );

-    // dpMain aufbauen:
+    // construct dpMain:
     aStateMachine.AddStatus(dpStatusTop);

     aStateMachine.AddStatus(dpStatusWhite);
diff --git a/autodoc/source/parser_i/idoc/cx_dsapi.cxx b/autodoc/source/parser_i/idoc/cx_dsapi.cxx
index b1cf5fd..662af48 100644
--- a/autodoc/source/parser_i/idoc/cx_dsapi.cxx
+++ b/autodoc/source/parser_i/idoc/cx_dsapi.cxx
@@ -279,12 +279,12 @@ Context_Docu::PerformStatusFunction( uintt              i_nStatusSignal,
 void
 Context_Docu::SetupStateMachine()
 {
-    // Besondere Array-Stati (kein Tokenabschluss oder Kontextwechsel):
-//  const INT16 bas = 0;        // Base-Status
-    const INT16 wht = 1;        // Whitespace-overlook-Status
-    const INT16 awd = 2;        // Any-Word-Read-Status
+    // special array statuses (no tokenfinish or change of context):
+//  const INT16 bas = 0;        // base status
+    const INT16 wht = 1;        // skip whitespace status
+    const INT16 awd = 2;        // any word read status

-    // Kontextwechsel-Stati:
+    // change of context statuses:
     const INT16 goto_EoHtml = 3;
     const INT16 goto_EoXmlConst = 4;
     const INT16 goto_EoXmlLink_BeginTag = 5;
@@ -293,7 +293,7 @@ Context_Docu::SetupStateMachine()
     const INT16 goto_EoXmlFormat_EndTag = 8;
     const INT16 goto_CheckStar = 9;

-    // Tokenfinish-Stati:
+    // tokenfinish statuses:
     const INT16 finError = 10;
 //  const INT16 finIgnore = 11;
     const INT16 finEof = 12;
@@ -303,7 +303,7 @@ Context_Docu::SetupStateMachine()
 //  const INT16 finComma = 16;
     const INT16 finWhite = 17;

-    // Konstanten zur Benutzung in der Tabelle:
+    // constants for use in the table:
     const INT16 ght = goto_EoHtml;
 /*
     const INT16 gxc = goto_EoXmlConst;
@@ -435,7 +435,7 @@ Context_Docu::SetupStateMachine()
             = new StmBoundsStatu2( *this, *this, nF_fin_White, false);


-    // dpMain aufbauen:
+    // construct dpMain:
     aStateMachine.AddStatus(dpStatusTop);
     aStateMachine.AddStatus(dpStatusWhite);
     aStateMachine.AddStatus(dpStatusWord);
diff --git a/autodoc/source/parser_i/tokens/tkpstam2.cxx 
b/autodoc/source/parser_i/tokens/tkpstam2.cxx
index 90978c1..97b0d72 100644
--- a/autodoc/source/parser_i/tokens/tkpstam2.cxx
+++ b/autodoc/source/parser_i/tokens/tkpstam2.cxx
@@ -72,7 +72,6 @@ StateMachin2::AddToken( const char *        in_sToken,
     if (csv::no_str(in_sToken))
         return;

-    // Durch existierende Stati durchhangeln:
     nCurrentStatus = 0;
     nPeekedStatus = 0;


diff --git a/automation/inc/automation/commdefines.hxx b/automation/inc/automation/commdefines.hxx
index 24ca058..7b6d62b 100644
--- a/automation/inc/automation/commdefines.hxx
+++ b/automation/inc/automation/commdefines.hxx
@@ -91,29 +91,28 @@
 #endif // OSL_LITENDIAN

 /**
-    Es gibt zwei arten von Datenpaketen
-    die erste enthält in den ersten 4 Byte die Längenangabe und in den Darauffolgenden die Daten
-    Die Längenangabe bezieht sich nur auf die Daten ohne die Längenangabe selbst.
+    There are two types of data packages:
+    The first one contains in the first 4 bytes the length information and in the following the 
data.
+    The length information refers to the data only, without the length information itself.

-    Die Zweite Art von Datenpaketen enthält Header mit weitere Informationen
-    wie unten beschrieben.
+    The second type of data packages contains headers with further information as described below.

-    Umgeschaltet wird mit dem Boolean bUseMultiChannel im Konstruktor des Managers.
+    It's switched with the Boolean bUseMultiChanell in the manager's constructor.
 **/
 /**
-Defines für Header Typen:
+Defines for header types:

-Allgemeiner Header:
-        Byte    Länge       Inhalt
-        0..3        4       Länge des Paketes ohne diese 4 Byte
-        4           1       Prüfsumme über die Länge. Stimmt sie nicht wird die Verbindung 
geschlossen
-        5..6        2       Länge des Headers ohne diese 2 Byte
-        7..8        2       Typ des Headers
+general header:
+        bytes  length       content
+        0..3        4       the package's length without these 4 bytes
+        4           1       Checksum concerning the length. If it's incorrect, the connection is 
closed.
+        5..6        2       length of the header without these 2 bytes
+        7..8        2       type of the header

 CH_SimpleMultiChannel:
-        9..10       2       Channel
+        9..10       2       channel
 CH_Handshake                Internal Use ONLY
-                            Keine Weiteren Daten!
+                            No further data!

 **/
 typedef comm_UINT16 CMProtocol;
@@ -130,8 +129,8 @@ typedef comm_UINT16 CommunicationOption;
 #define CH_SimpleMultiChannel       0x0001
 #define CH_Handshake                0x0002

-#define CH_REQUEST_HandshakeAlive   ((HandshakeType)0x0101) /// Fordert eine Alive Antwort an
-#define CH_RESPONSE_HandshakeAlive  ((HandshakeType)0x0102) /// Alive Antwort
+#define CH_REQUEST_HandshakeAlive   ((HandshakeType)0x0101) /// aks for alive reply
+#define CH_RESPONSE_HandshakeAlive  ((HandshakeType)0x0102) /// alive reply

 /**
     Announce supported options:
diff --git a/automation/inc/automation/communi.hxx b/automation/inc/automation/communi.hxx
index 68cb3cb..c416d77 100644
--- a/automation/inc/automation/communi.hxx
+++ b/automation/inc/automation/communi.hxx
@@ -58,8 +58,8 @@ protected:
     virtual void CallConnectionOpened( CommunicationLink* pCL );
     virtual void CallConnectionClosed( CommunicationLink* pCL );
     CommunicationLinkList *ActiveLinks;
-    CommunicationLinkList *InactiveLinks;       /// Hier sind die CommunicationLinks drin, die 
sich noch nicht selbst abgemeldet haben.
-                                                /// allerdings schon ein StopCommunication 
gekriegt haben, bzw ein ConnectionTerminated
+    CommunicationLinkList *InactiveLinks;       /// CommunicationLinks that have not yet logged 
off themselves but already have received
+                                                /// a StopCommunication or a ConnectionTerminated
     virtual void DestroyingLink( CommunicationLink *pCL );

     sal_Bool bGracefullShutdown;
@@ -86,7 +86,7 @@ public:
     virtual sal_Bool IsCommunicationError();
     virtual sal_Bool DoTransferDataStream( SvStream *pDataStream, CMProtocol nProtocol = 
CM_PROTOCOL_OLDSTYLE );

-    // Diese sind Virtuelle Links!!!!
+    // These are virtual links!
     virtual long ConnectionClosed( void* = NULL );
     virtual long DataReceived( void* = NULL );

@@ -102,8 +102,8 @@ protected:
     virtual sal_Bool ShutdownCommunication();
     sal_uLong nConnectionClosedEventId;
     sal_uLong nDataReceivedEventId;
-    osl::Mutex aMConnectionClosed;  // Notwendig, da Event verarbeitet werden kann bevor Variable 
gesetzt ist
-    osl::Mutex aMDataReceived;      // Notwendig, da Event verarbeitet werden kann bevor Variable 
gesetzt ist
+    osl::Mutex aMConnectionClosed;  // necessary because no event can be managed before the 
variable is set
+    osl::Mutex aMDataReceived;      // necessary because no event can be managed before the 
variable is set
     virtual void WaitForShutdown();

     DECL_LINK( ShutdownLink, void* );
@@ -150,11 +150,11 @@ private:
     sal_uLong nPortToListen;
     sal_uInt16 nMaxConnections;
     sal_uLong nAddConnectionEventId;
-    osl::Mutex aMAddConnection; // Notwendig, da Event verarbeitet werden kann bevor Variable 
gesetzt ist
+    osl::Mutex aMAddConnection; // necessary because no event can be managed before the variable 
is set
     void CallInfoMsg( InfoString aMsg ){ pMyServer->CallInfoMsg( aMsg ); }
     CM_InfoType GetInfoType(){ return pMyServer->GetInfoType(); }

-    // Diese beiden werden zum Transport der Connection vom Thread zum Mainthread verwendet.
+    // these are used for the connection's transport from the thread to the mainthread
     CommunicationLinkRef xmNewConnection;
     DECL_LINK( AddConnection, void* );
 };
diff --git a/automation/inc/automation/simplecm.hxx b/automation/inc/automation/simplecm.hxx
index 9a5211b..7753fc1 100644
--- a/automation/inc/automation/simplecm.hxx
+++ b/automation/inc/automation/simplecm.hxx
@@ -37,7 +37,7 @@

 #include <automation/commdefines.hxx>

-// CM steht fï¿œr CommunicationManager
+// CM stands for CommunicationManager
 #define CM_UNLIMITED_CONNECTIONS    0xffff

 typedef sal_uInt16 CM_NameType;
@@ -45,7 +45,7 @@ typedef sal_uInt16 CM_NameType;
 #define CM_FQDN     ( (CM_NameType) 02 )

 typedef sal_uInt16 CM_InfoType;
-// nur eines dieser 3 defines darf verwendet werden
+// only one of these three defines may be used
 #define CM_NO_TEXT      ( (CM_InfoType) 01 )
 #define CM_SHORT_TEXT   ( (CM_InfoType) 02 )
 #define CM_VERBOSE_TEXT ( (CM_InfoType) 03 )
@@ -122,9 +122,9 @@ protected:
     friend class CommunicationManager;
     friend class MultiCommunicationManager;
     friend class CommunicationManagerServerAcceptThread;
-    // Darf nicht abgerï¿œumt werden zwischen Empfang des Streams und ende des Callbacks
+    // may not be stopped between the stream's reception and the callback's end

-protected:  // so daᅵ nur ᅵber Ref gelᅵscht werden kann
+protected:  // so that it can only be deleted via Ref
     virtual ~CommunicationLink();
     void InvalidateManager() { pMyManager = NULL; }

@@ -137,13 +137,10 @@ public:
     virtual sal_Bool IsCommunicationError()=0;
     CommunicationManager* GetCommunicationManager(){ return pMyManager; }

-//  Der Name oder die IP-Adresse oder sonstwas um den Communikationspartner zu identifizieren
     virtual ByteString GetCommunicationPartner( CM_NameType eType )=0;

-//  Der Name oder die IP-Adresse oder sonstwas um den Communikationspartner zu identifizieren
     virtual ByteString GetMyName( CM_NameType eType )=0;

-//  Liefert einen neuen Stream zum Versenden von Daten.
     virtual SvStream* GetBestCommunicationStream()=0;

     /** will call virtual function DoTransferDataStream to do actual work
@@ -151,20 +148,20 @@ public:
     **/
     sal_Bool TransferDataStream( SvStream *pDataStream, CMProtocol nProtocol = 
CM_PROTOCOL_OLDSTYLE );

-    // Liefert die ID, die vom Sender angegeben wurde.
-    // Dadurch lassen sich virtuelle Kommunikationen ï¿œber einen physikalischen Link realisiren.
-    // Da die Kommunikation zu ᅵlteren Versionen kompatibel bleiben muᅵ, muᅵ der Empfᅵnger 
raten,
-    // die neue oder die alte verwendet wird, da sich der Kopf eines Auftrages dann ï¿œndert.
+    // delivers the ID that is named by the server
+    // Due to that virtual communications over a physical link can be realised.
+    // Because the communication must remain compatible to older versions the receiver must guess 
whether
+    // the new or the old one is used because the order's head changes then
     sal_uInt16 GetProtocol(){ return nServiceProtocol; }

-    // Der Stream wird hier ï¿œbergeben. Der Aufrufer ist fï¿œr dessen Lï¿œschung zustï¿œndig
-    // Die Methode MUSS gerufen werden, da sonst keine weiteren Daten empfangen werden.
+    // Commits the stream. The caller is responsible for the deletion.
+    // The method must be called because there would be no further data received otherwise.
     SvStream* GetServiceData(){ SvStream *pTemp = pServiceData; pServiceData = NULL; return pTemp; 
}

-    /// Ermï¿œglicht das Auslï¿œsen des nï¿œchsten Callbacks. Wird auch Implizit gerufen.
+    /// Allows for the release of the next callbacks. Is also called implicitly.
     void FinishCallback(){ bIsInsideCallback = sal_False; }

-    /// Syncrones Empfangen der Daten. Nur fï¿œr Kommandozeile, sonst leer implementiert
+    /// Synchronous reception of the data. Only for command line - empty implementation for other 
uses.
     virtual sal_Bool ReceiveDataStream(){ return sal_False; }

     /// Statistics
@@ -178,7 +175,7 @@ protected:
     void CallInfoMsg( InfoString aMsg );
     CM_InfoType GetInfoType();
     CommunicationManager *pMyManager;
-// Diese Methoden werden im Main Kontext gerufen und an den Manager weitergereicht.
+// These methods are called in the main context and are handed over to the manager.
     virtual DECL_LINK( ConnectionClosed, void* = NULL );
     virtual DECL_LINK( DataReceived, void* = NULL );

@@ -188,7 +185,7 @@ protected:
     sal_uInt16 nServiceProtocol;
     sal_uInt16 nServiceHeaderType;

-    /// Verhindert das vorzeitige Auslï¿œsen des nï¿œchsten Callbacks.
+    /// Prevents the early release of the next callback.
     void StartCallback(){ bIsInsideCallback = sal_True; }
     sal_Bool bIsInsideCallback;

@@ -227,19 +224,18 @@ public:
     virtual sal_Bool StartCommunication()=0;
     virtual sal_Bool StartCommunication( String aApp, String aParams );
     virtual sal_Bool StartCommunication( ByteString aHost, sal_uLong nPort );
-    virtual sal_Bool StopCommunication()=0;     // Hï¿œlt alle CommunicationLinks an
+    virtual sal_Bool StopCommunication()=0;
     virtual sal_Bool IsCommunicationRunning() { return bIsCommunicationRunning; }
 //  virtual sal_Bool IsCommunicationError();

-//  Der Name oder die IP-Adresse oder sonstwas um den Communikationspartner zu identifizieren
+
     virtual ByteString GetMyName( CM_NameType eType );

-    virtual sal_Bool IsLinkValid( CommunicationLink* pCL )=0;   // Notwendig fï¿œr call im 
Destruktor
+    virtual sal_Bool IsLinkValid( CommunicationLink* pCL )=0;   // necessary for call in destructor

     virtual sal_uInt16 GetCommunicationLinkCount()=0;
     virtual CommunicationLinkRef GetCommunicationLink( sal_uInt16 nNr )=0;

-    // Liefert den letzten neuen Link oder NULL wenn dieser schon wieder geschlossen ist.
     CommunicationLinkRef GetLastNewLink() { return xLastNewLink; }

     void SetConnectionOpenedHdl( Link lConnectionOpened ){ mlConnectionOpened = lConnectionOpened; 
}
@@ -255,8 +251,8 @@ public:
     const ByteString& GetApplication() { return maApplication; }

 protected:
-    // Diese Methoden werden innerhalb gerufen. Sie erledigen eventuelles Housekeeping
-    // und rufen dann die entsprechende Methode
+    // These methods are called inside. They care for housekeeping if applicable
+    // and call the respective method then.
     virtual void CallConnectionOpened( CommunicationLink* pCL );
     virtual void CallConnectionClosed( CommunicationLink* pCL );
     void CallDataReceived( CommunicationLink* pCL );
@@ -264,7 +260,7 @@ protected:

     CM_InfoType nInfoType;

-    //  Diese Routinen rufen den Link oder sind ï¿œberladen
+    //  These routines call the link or are overloaded.
     virtual void ConnectionOpened( CommunicationLink* pCL ){ mlConnectionOpened.Call( pCL ); }
     virtual void ConnectionClosed( CommunicationLink* pCL ){ mlConnectionClosed.Call( pCL ); }
     virtual void DataReceived( CommunicationLink* pCL ){ mlDataReceived.Call( pCL ); }
@@ -272,7 +268,7 @@ protected:

     sal_Bool bIsCommunicationRunning;

-    virtual void DestroyingLink( CommunicationLink *pCL )=0;    // Link trï¿œgt sich im Destruktor 
aus
+    virtual void DestroyingLink( CommunicationLink *pCL )=0;

 private:
     ByteString maApplication;
@@ -289,7 +285,7 @@ class ICommunicationManagerClient
 {
     friend class CommonSocketFunctions;
 protected:
-    virtual sal_Bool RetryConnect() { return sal_False; }   // Kann dann eventuell die Applikation 
starten
+    virtual sal_Bool RetryConnect() { return sal_False; }   // might be able to start the 
application
 };

 class TCPIO;
diff --git a/automation/source/app/testbasi.hxx b/automation/source/app/testbasi.hxx
index 2d8cbb5..c21f2d5 100644
--- a/automation/source/app/testbasi.hxx
+++ b/automation/source/app/testbasi.hxx
@@ -48,13 +48,13 @@ public:
     sal_Bool Compile( SbModule* );
     static MyBasic* CreateMyBasic();

-    // nicht mit #ifdefs klammern, da diese Headerdatei für testtool und basic
-    // gleichermaßen verwendet wird.
+    // don't surround with #ifdefs because this header file is
+    // used for testtool and basic as well
     DECL_LINK( CErrorImpl, ErrorEntry* );
-//  SbxObject *pTestObject;         // für das Testtool; ansonsten NULL
+//  SbxObject *pTestObject;         // for testtool; NULL otherwise

     void LoadIniFile();
-    SbTextType GetSymbolType( const String &Symbol, sal_Bool bWasTTControl );   // Besimmt den 
erweiterten Symboltyp für das Syntaxhighlighting
+    SbTextType GetSymbolType( const String &Symbol, sal_Bool bWasTTControl );
     virtual const String GetSpechialErrorText();
     virtual void ReportRuntimeError( AppBasEd *pEditWin );
     virtual void DebugFindNoErrors( sal_Bool bDebugFindNoErrors );
diff --git a/automation/source/communi/communi.cxx b/automation/source/communi/communi.cxx
index db319e2..5c9b1d0 100644
--- a/automation/source/communi/communi.cxx
+++ b/automation/source/communi/communi.cxx
@@ -44,8 +44,8 @@
 #include <automation/communi.hxx>


-/*  Um den Destruktor protected zu machen wurde unten das delete entfernt.
-    Die Methode wird ohnehin hucht benutzt.
+/*  The delete below has been removed to make the destructor protected.
+    The method isn't used anyway.
 //              delete *((AE*)pData+n);
 */

@@ -67,7 +67,7 @@ _SV_SEEK_PTR( nm, AE )

 SV_IMPL_PTRARR_SORT( CommunicationLinkList, CommunicationLink* );

-osl::Mutex *pMPostUserEvent=NULL;       // Notwendig, da nicht threadfest
+osl::Mutex *pMPostUserEvent=NULL;       // necessary because not threadproof

 CommunicationLinkViaSocket::CommunicationLinkViaSocket( CommunicationManager *pMan, 
osl::StreamSocket* pSocket )
 : SimpleCommunicationLinkViaSocket( pMan, pSocket )
@@ -126,10 +126,10 @@ sal_Bool CommunicationLinkViaSocket::ShutdownCommunication()
         if ( GetStreamSocket() )
             GetStreamSocket()->shutdown();

-        if ( GetStreamSocket() )    // Mal wieder nach oben verschoben, da sonst nicht vom Read 
runtergesprungen wird.
+        if ( GetStreamSocket() )
             GetStreamSocket()->close();

-        resume();   // So daᅵ das run auch die Schleife verlassen kann
+        resume();

         join();

@@ -137,7 +137,7 @@ sal_Bool CommunicationLinkViaSocket::ShutdownCommunication()
         SetStreamSocket( NULL );
         delete pTempSocket;

-//      ConnectionClosed();     Wird am Ende des Thread gerufen
+//      ConnectionClosed();     is being called at the end of a thread

     }
     else
@@ -205,7 +205,7 @@ void CommunicationLinkViaSocket::run()
             continue;

         TimeValue sNochEins = {0, 1000000};
-        while ( schedule() && bIsInsideCallback )   // solange der letzte Callback nicht beendet 
ist
+        while ( schedule() && bIsInsideCallback )
             wait( sNochEins );
         SetNewPacketAsCurrent();
         StartCallback();
@@ -216,7 +216,7 @@ void CommunicationLinkViaSocket::run()
         }
     }
     TimeValue sNochEins = {0, 1000000};
-    while ( schedule() && bIsInsideCallback )   // solange der letzte Callback nicht beendet ist
+    while ( schedule() && bIsInsideCallback )
         wait( sNochEins );

     StartCallback();
@@ -235,23 +235,23 @@ sal_Bool CommunicationLinkViaSocket::DoTransferDataStream( SvStream 
*pDataStream
     return SimpleCommunicationLinkViaSocket::DoTransferDataStream( pDataStream, nProtocol );
 }

-/// Dies ist ein virtueller Link!!!
+/// This is a virtual link!
 long CommunicationLinkViaSocket::ConnectionClosed( void* EMPTYARG )
 {
     {
         osl::MutexGuard aGuard( aMConnectionClosed );
-        nConnectionClosedEventId = 0;   // Achtung!! alles andere muᅵ oben gemacht werden.
+        nConnectionClosedEventId = 0;   // Attention!! everything else must be done above.
     }
     ShutdownCommunication();
     return CommunicationLink::ConnectionClosed( );
 }

-/// Dies ist ein virtueller Link!!!
+/// This is a virtual link!
 long CommunicationLinkViaSocket::DataReceived( void* EMPTYARG )
 {
     {
         osl::MutexGuard aGuard( aMDataReceived );
-        nDataReceivedEventId = 0;   // Achtung!! alles andere muᅵ oben gemacht werden.
+        nDataReceivedEventId = 0;   // Attention!! everything else must be done above.
     }
     return CommunicationLink::DataReceived( );
 }
@@ -297,8 +297,7 @@ MultiCommunicationManager::~MultiCommunicationManager()
         }
     }

-    // Alles weghauen, was nicht rechtzeitig auf die Bï¿œume gekommen ist
-    // Was bei StopCommunication ï¿œbrig geblieben ist, da es sich asynchron austragen wollte
+
     sal_uInt16 i = ActiveLinks->Count();
     while ( i-- )
     {
@@ -309,9 +308,7 @@ MultiCommunicationManager::~MultiCommunicationManager()
     }
     delete ActiveLinks;

-    /// Die Links zwischen ConnectionClosed und Destruktor.
-    /// Hier NICHT gerefcounted, da sie sich sonst im Kreis festhaten wï¿œrden,
-    /// da die Links sich erst in ihrem Destruktor austragen
+
     i = InactiveLinks->Count();
     while ( i-- )
     {
@@ -324,15 +321,13 @@ MultiCommunicationManager::~MultiCommunicationManager()

 sal_Bool MultiCommunicationManager::StopCommunication()
 {
-    // Alle Verbindungen abbrechen
-    // ConnectionClosed entfernt die Links aus der Liste. Je nach Implementation syncron
-    // oder asyncron. Daher Von oben nach unten Abrᅵumen, so daᅵ sich nichts verschiebt.
+
     sal_uInt16 i = ActiveLinks->Count();
     int nFail = 0;
     while ( i )
     {
         if ( !ActiveLinks->GetObject(i-1)->StopCommunication() )
-            nFail++;    // Hochzï¿œhlen, da Verbindung sich nicht (sofort) beenden lï¿œsst.
+            nFail++;
         i--;
     }

@@ -359,7 +354,7 @@ CommunicationLinkRef MultiCommunicationManager::GetCommunicationLink( sal_uInt16

 void MultiCommunicationManager::CallConnectionOpened( CommunicationLink* pCL )
 {
-    CommunicationLinkRef rHold(pCL);    // Hï¿œlt den Zeiger bis zum Ende des calls
+    CommunicationLinkRef rHold(pCL);
     ActiveLinks->C40_PTR_INSERT(CommunicationLink, pCL);
     rHold->AddRef();

@@ -368,14 +363,14 @@ void MultiCommunicationManager::CallConnectionOpened( CommunicationLink* pCL )

 void MultiCommunicationManager::CallConnectionClosed( CommunicationLink* pCL )
 {
-    CommunicationLinkRef rHold(pCL);    // Hï¿œlt denm Zeiger bis zum Ende des calls
+    CommunicationLinkRef rHold(pCL);

     CommunicationManager::CallConnectionClosed( pCL );

     sal_uInt16 nPos;
     if ( ActiveLinks->Seek_Entry( pCL, &nPos ) )
     {
-        InactiveLinks->C40_PTR_INSERT(CommunicationLink, pCL);  // Ohne Reference
+        InactiveLinks->C40_PTR_INSERT(CommunicationLink, pCL);  // without reference
         ActiveLinks->Remove( nPos );
     }
     pCL->ReleaseReference();
@@ -430,11 +425,9 @@ sal_Bool CommunicationManagerServerViaSocket::StartCommunication()

 sal_Bool CommunicationManagerServerViaSocket::StopCommunication()
 {
-    // Erst den Acceptor anhalten
     delete pAcceptThread;
     pAcceptThread = NULL;

-    // Dann alle Verbindungen kappen
     return CommunicationManagerServer::StopCommunication();
 }

@@ -461,16 +454,16 @@ 
CommunicationManagerServerAcceptThread::CommunicationManagerServerAcceptThread(

 CommunicationManagerServerAcceptThread::~CommunicationManagerServerAcceptThread()
 {
-#ifndef aUNX        // Weil das Accept nicht abgebrochen werden kann, so terminiert wenigstens das 
Prog
-    // #62855# pl: gilt auch bei anderen Unixen
-    // die richtige Loesung waere natuerlich, etwas auf die pipe zu schreiben,
-    // was der thread als Abbruchbedingung erkennt
-    // oder wenigstens ein kill anstatt join
+#ifndef aUNX        // because the accept can't be canceled - this way the prog's terminated at 
leastW
+    // #62855# pl: counts for other unix systems too
+    // correct solution would be of course to write something on the pipe which
+    // the thread recognizes as a cancelling condition
+    // or at least kill instead of join
     terminate();
     if ( pAcceptorSocket )
-        pAcceptorSocket->close();   // Dann das Accept unterbrechen
+        pAcceptorSocket->close();

-    join();     // Warten bis fertig
+    join();

     if ( pAcceptorSocket )
     {
@@ -491,7 +484,7 @@ CommunicationManagerServerAcceptThread::~CommunicationManagerServerAcceptThread(
                 CByteString( "AddConnectionEvent aus Queue gelï¿œscht"),
                 CM_MISC, xNewConnection );
             xNewConnection->InvalidateManager();
-            xNewConnection.Clear(); // sollte das Objekt hier lï¿œschen
+            xNewConnection.Clear();
         }
     }
 }
@@ -527,7 +520,7 @@ void CommunicationManagerServerAcceptThread::run()
                 pStreamSocket->setOption( osl_Socket_OptionTcpNoDelay, 1 );

                 TimeValue sNochEins = {0, 100};
-                while ( schedule() && xmNewConnection.Is() )    // Solange die letzte Connection 
nicht abgeholt wurde warten wir
+                while ( schedule() && xmNewConnection.Is() )
                     wait( sNochEins );
                 xmNewConnection = new CommunicationLinkViaSocket( pMyServer, pStreamSocket );
                 xmNewConnection->StartCallback();
diff --git a/automation/source/inc/rcontrol.hxx b/automation/source/inc/rcontrol.hxx
index 14a26fe..f41bf7e 100644
--- a/automation/source/inc/rcontrol.hxx
+++ b/automation/source/inc/rcontrol.hxx
@@ -40,7 +40,7 @@
 #define UID_ACTIVE          "UID_ACTIVE"

 #define SI_IPCCommandBlock  1
-#define SI_SocketCommandBlock   SI_IPCCommandBlock  // Zumindest erstmal
+#define SI_SocketCommandBlock   SI_IPCCommandBlock
 #define SI_DirectCommandBlock   2
 #define SIControl           3   // remove after numeric HelpIDs are completely removed and no 
legacy testtool is used anymore
 #define SISlot              4
@@ -61,9 +61,9 @@
 #define BinSbxValue         15

 // Classes
-// !!!Diese Defines duerfen niemals geaendert werden!!!
+// !!!These defines may never be changed!!!
 #define C_NoType            -1
-// Maximale 32 einfache Controls
+// maximum of 32 easy controls
 #define C_TabControl        0
 #define C_RadioButton       1
 #define C_CheckBox          2
@@ -94,7 +94,7 @@
 #define C_MenuButton        24
 #define C_MoreButton        25

-// Maximale 7 Container
+// maximum of 7 containers
 #define C_TabPage           32
 #define C_ModalDlg          33
 #define C_FloatWin          34
@@ -102,7 +102,7 @@
 #define C_WorkWin           36
 #define C_DockingWin        37

-// Diese Defines koennen geaendert werden
+// These defines may be changed
 #define C_MessBox           40
 #define C_InfoBox           41
 #define C_WarningBox        42
@@ -126,8 +126,8 @@

 #define C_Dialog            68

-#define M_WITH_RETURN       0x0200  // Die Variable wird zum Aufnehmen des Wertes gespeichert
-#define M_KEY_STRING        0x0400  // Key Befehle werden umgewandelt i.e. "<return><up>"
+#define M_WITH_RETURN       0x0200  // the variable is saved until it gets its value
+#define M_KEY_STRING        0x0400  // key orders are converted i.e. "<return><up>"
 #define M_SOFFICE           0x0800  // Command valid for Star/Open Office
 #define M_MOZILLA           0x1000  // Command valid for Mozilla
 // for MacroRecorder
@@ -147,7 +147,7 @@
 #define M_SetPage           31
 #define M_Click             32

-#define M_Close             33      // Push Buttons on Dialog (Auch More Button)
+#define M_Close             33      // Push Buttons on Dialog (also More Button)
 #define M_Cancel            34
 #define M_OK                35
 #define M_Help              36
@@ -202,7 +202,7 @@

 #define M_Restore           85      // Window Control together with M_Maximize and M_Minimize

-#define M_DisplayPercent    200     // Zum Anzeigen der Prozente des Windows
+#define M_DisplayPercent    200

 #define M_LAST_NO_RETURN    200

@@ -259,7 +259,7 @@
 #define M_HasScrollBar      ( M_WITH_RETURN | 38 )
 #define M_IsScrollBarEnabled ( M_WITH_RETURN | 39 )

-// Dieser befehl wird nur intern im Controller (sts library) verwendet. Sie tauchen nicht im 
Testtool auf!
+// This command is only used in the internal controller (sts library). They don't appear in the 
testtool!
 #define _M_IsEnabled        ( M_WITH_RETURN | 50 )

 #define M_GetFixedTextCount ( M_WITH_RETURN | 51 )
@@ -318,7 +318,7 @@
 #error "Bereich ï¿œberschritten"
 #endif

-// Befehle mit Returnwert
+// commands with return value
 #define RC_GetClipboard     ( M_SOFFICE | M_MOZILLA | M_WITH_RETURN | 1 )
 #define RC_WinTree          ( M_SOFFICE | M_MOZILLA | M_WITH_RETURN | 2 )
 #define RC_ResetApplication ( M_SOFFICE | M_MOZILLA | M_WITH_RETURN | 3 )
@@ -374,30 +374,30 @@
 #define RC_WaitSlot         ( M_SOFFICE             | M_WITH_RETURN | 44 )

 // Flow Control
-#define F_EndCommandBlock   101         // Initiiert Rï¿œckmeldung des Status
-#define F_Sequence          102         // ï¿œbergibt Sequence Nummer (1. in jedem Stream)
+#define F_EndCommandBlock   101         // initializes the reply of the status
+#define F_Sequence          102         // commits Sequence number (first in each stream)

 // Return codes
-#define RET_Sequence        132         // ï¿œbergibt Sequence Nummer (1. in jedem Stream)
-#define RET_Value           133         // ï¿œbergibt Return-wert
-#define RET_WinInfo         134         // Information ï¿œber aktuelles Fenster/Control
-#define RET_ProfileInfo     135         // Profile Information
-#define RET_DirectLoging    136         // Direktes ï¿œbertragen von Informationen in das Log
-#define RET_MacroRecorder   137         // MakroRecorder Befehl ï¿œbertragen
-
-// Subcodes die in nUId geliefert werden
-// fï¿œr F_ProfileInfo
-#define S_ProfileReset      201         // nNr1 = Anzahl Borders
-    // Achtung!! Diese Defines mï¿œssen aufeinanderfolgende Nummern haben!!
+#define RET_Sequence        132
+#define RET_Value           133
+#define RET_WinInfo         134
+#define RET_ProfileInfo     135
+#define RET_DirectLoging    136
+#define RET_MacroRecorder   137
+
+// Subcodes which are delivered to nUId
+// for F_ProfileInfo
+#define S_ProfileReset      201         // nNr1 = number of Borders
+    // Attention!! These defines must have numbers in a row!!
 #define S_ProfileBorder1    202         // nNr1 = Border1 in ms
 #define S_ProfileBorder2    203         // nNr1 = Border2 in ms
 #define S_ProfileBorder3    204         // nNr1 = Border3 in ms
 #define S_ProfileBorder4    205         // nNr1 = Border4 in ms
-    // Achtung Ende
-#define S_ProfileTime       210         // nNr1 = remote Zeit des Befehls
-#define S_ProfileDump       211         // Gibt die daten aus.
+    // Attention end
+#define S_ProfileTime       210         // nNr1 = remote time of the command
+#define S_ProfileDump       211         // outputs the data

-// fï¿œr F_DirectLoging
+// for F_DirectLoging
 #define S_AssertError       220
 #define S_AssertWarning     221
 #define S_AssertTrace       222
@@ -413,7 +413,7 @@
 #define CONST_CTTableControl    106
 #define CONST_CTUnknown         199

-// Konstanten fï¿œr das ALignment des gesuchten Splitters
+// constants for the ALignment of the requested splitter
 #define CONST_ALIGN_LEFT        120
 #define CONST_ALIGN_TOP         121
 #define CONST_ALIGN_RIGHT       122
@@ -440,31 +440,31 @@
 #define CONST_WSAborted             702
 #define CONST_WSFinished            703

-// Beschreibt die Parametertypen als Bitfeld  Reihenfolge immer!
-// wie hier Aufgelistet
+// describes the parameter types as bitfield - always sequence!
+// as listed here
 #define PARAM_NONE              0x0000
 #define PARAM_UINT16_1          0x0001
 #define PARAM_UINT16_2          0x0002
-#define PARAM_UINT16_3          0x0100      // Nicht in der Reihe!!
-#define PARAM_UINT16_4          0x0200      // Nicht in der Reihe!!
+#define PARAM_UINT16_3          0x0100      // not in the row!!
+#define PARAM_UINT16_4          0x0200      // not in the row!!
 #define PARAM_UINT32_1          0x0004
 #define PARAM_UINT32_2          0x0008
 #define PARAM_STR_1             0x0010
 #define PARAM_STR_2             0x0020
 #define PARAM_BOOL_1            0x0040
 #define PARAM_BOOL_2            0x0080
-#define PARAM_SBXVALUE_1        0x0400      // hier mit 0x0400 Weiter!!! Siehe Oben!
+#define PARAM_SBXVALUE_1        0x0400      // going on with 0x0400 here!!! see above!

-// Zusï¿œtzliche Beschreibung!! wird auch mit dem Rest verodert
-//#define PARAM_STR_RAW           0x8000        // Der Zeichensatz der Strings wird nicht 
konvertiert(fï¿œr Fareastern)
+
+//#define PARAM_STR_RAW           0x8000        // the character set of the strings is not being 
converted (for Fareastern)

 #define ERR_SEND_TIMEOUT        100
 #define ERR_EXEC_TIMEOUT        101
 #define ERR_RESTART_FAIL        102
 #define ERR_RESTART             103
-#define ERR_NO_WIN              104     // Keine *.Win Dateien gefunden
-#define ERR_NO_SID              105     // Keine *.Sid Dateien gefunden
-#define ERR_NO_FILE             106     // Datei nicht gefunden
+#define ERR_NO_WIN              104
+#define ERR_NO_SID              105
+#define ERR_NO_FILE             106

 #endif

diff --git a/automation/source/inc/testapp.hxx b/automation/source/inc/testapp.hxx
index 6b257e2..9070862 100644
--- a/automation/source/inc/testapp.hxx
+++ b/automation/source/inc/testapp.hxx
@@ -77,13 +77,13 @@ class TestToolObj: public SbxObject
     friend class TTBasic;
     friend class Controls;
 public:
-    TestToolObj( String aName, MyBasic* pBas ); // Pfade aus INI, IPC benutzen
+    TestToolObj( String aName, MyBasic* pBas ); // use paths from INI, IPC
     ~TestToolObj();
-    void LoadIniFile();             // Laden der IniEinstellungen, die durch den ConfigDialog 
geändert werden können
+    void LoadIniFile();             // IniSetup can be changed with the ConfigDialog
     void DebugFindNoErrors( sal_Bool bDebugFindNoErrors );

 private:
-    sal_Bool bWasPrecompilerError;  // True wenn beim letzten Precompile ein Fehler auftrat
+    sal_Bool bWasPrecompilerError;
     sal_Bool CError( sal_uLong, const String&, xub_StrLen, xub_StrLen, xub_StrLen );
     void CalcPosition( String const &aSource, xub_StrLen nPos, xub_StrLen &l, xub_StrLen &c );
     xub_StrLen ImplSearch( const String &aSource, const xub_StrLen nStart, const xub_StrLen nEnd, 
const String &aSearch, const xub_StrLen nSearchStart = 0 );
@@ -92,12 +92,12 @@ private:
 public:
     String GetRevision(String const &aSourceIn);    // find Revision in the sourcecode
     String PreCompile(String const &aSourceIn); // try catch; testcase endcase ..
-    sal_Bool WasPrecompilerError(); // True wenn beim letzten Precompile ein Fehler auftrat
+    sal_Bool WasPrecompilerError();
     void            SFX_NOTIFY( SfxBroadcaster&, const TypeId&, const SfxHint& rHint, const 
TypeId& );
     virtual SbxVariable* Find( const String&, SbxClassType );
-//  String aKeyPlusClasses;     // Pfad für keycodes & classes & res_type (Aus Configdatei)
+//  String aKeyPlusClasses;     // path for keycodes & classes & res_type (from Configfile)
     DECL_LINK( ReturnResultsLink, CommunicationLink* );
-    sal_Bool            ReturnResults( SvStream *pIn ); // Rücklieferung des Antwortstreams über 
IPC oder TCP/IP oder direkt
+    sal_Bool            ReturnResults( SvStream *pIn ); // return of the reply stream over IPC or 
TCP/IP or directly

     void            SetLogHdl( const Link& rLink ) { aLogHdl = rLink; }
     const Link&     GetLogHdl() const { return aLogHdl; }
@@ -117,41 +117,41 @@ public:
     SfxBroadcaster& GetTTBroadcaster();

 private:
-    ImplTestToolObj *pImpl;     // Alles was von der Implementation abhängt
+    ImplTestToolObj *pImpl;
     static const CErrors* GetFehlerListe() { return pFehlerListe; }
     sal_Bool bUseIPC;
-    Link aLogHdl;               // Zum Logen der Fehlermeldungen im Testtool
-    Link aWinInfoHdl;           // Anzeigen der Windows/Controls der zu testenden App
-    Link aModuleWinExistsHdl;   // Prüft ob das Modul schon im Editor geladen ist
-    Link aCErrorHdl;            // Melden von Compilererror
-    Link aWriteStringHdl;       // Schreiben von text (e.g. MakroRecorder)
-    sal_Bool bReturnOK;             // Bricht WaitForAnswer ab
-    CRevNames *pShortNames;     // Aktuell verwendete Controls, zur gewinnung des Namens aus 
Fehlermeldung
-    sal_uLong nSequence;            // Sequence um Antwort und Anfrage zu syncronisieren
-    rtl::OString aNextReturnId; // Id des Returnwertes i.e. UId
-    void ReplaceNumbers(String &aText); // Zahlen im String mit speziellem Format in Namen 
umwandeln
-
-    String aLastRecordedKontext;//  Keeps the last kontext recorded by the Macro Recorder
+    Link aLogHdl;
+    Link aWinInfoHdl;
+    Link aModuleWinExistsHdl;
+    Link aCErrorHdl;
+    Link aWriteStringHdl;
+    sal_Bool bReturnOK;
+    CRevNames *pShortNames;
+    sal_uLong nSequence;
+    rtl::OString aNextReturnId;
+    void ReplaceNumbers(String &aText);
+
+    String aLastRecordedKontext;

 #define FLAT sal_True
-    String ProgPath;            // Dateiname der zu Testenden APP; Gesetzt über Start
-    String aLogFileName;        // Momentaner Logfilename (Wie Programmdatei aber mit .res)
-    sal_Bool IsBlock;               // Innerhalb Begin/EndBlock
-    sal_Bool SingleCommandBlock;    // Implizit um jedes kommando ein Begin/EndBlock
+    String ProgPath;
+    String aLogFileName;
+    sal_Bool IsBlock;
+    sal_Bool SingleCommandBlock;
     CmdStream *In;

-    void AddName(String &aBisher, String &aNeu );   // Name eventuell mit / anhängen
-    void AddToListByNr( CNames *&pControls, ControlItemUId *&pNewItem );    //
+    void AddName(String &aBisher, String &aNeu );   // maybe add name with /
+    void AddToListByNr( CNames *&pControls, ControlItemUId *&pNewItem );
     CNames *m_pControls;
-    CNames *m_pNameKontext;     // Zeigt auf den aktuellen Namenskontext, der über 'Kontext' 
gesetzt wurde
+    CNames *m_pNameKontext;
     CNames *m_pSIds;
-    CNames *m_pReverseSlots;        // Slots mit Kurznamen nach Nummer
-    CNames *m_pReverseControls; // Controls mit Kurznamen nach Nummer
-    CNames *m_pReverseControlsSon;// Controls mit Kurznamen nach Nummer nach Fenstern (Son)
-    CNames *m_pReverseUIds;     // Langnamen nach Nummer
+    CNames *m_pReverseSlots;
+    CNames *m_pReverseControls;
+    CNames *m_pReverseControlsSon;
+    CNames *m_pReverseUIds;


-    sal_uInt16 nMyVar;              // Wievielte Var aus Pool ist dran
+    sal_uInt16 nMyVar;

     void InitTestToolObj();
     CommunicationManagerClientViaSocketTT *pCommunicationManager;
@@ -176,9 +176,9 @@ private:
     sal_uInt16 nWindowHandlerCallLevel;

     sal_uInt16 nIdleCount;
-    // wenn DialogHandler gesetzt wird er im IdleHandler inkrementiert und
-    // in WaitForAnswer rückgesetzt. Übersteigt er einen gewissen wert, gehe ich davon aus,
-    // daß WaitForAnswer still ligt und rufe die DialogHander Sub im BASIC auf.
+    // If DialogHandler has been reset it is incremented in the IdleHandler and
+    // is reset in WaitForAnswer. If it exceed a certain value, I expect WaitFor Answer to
+    // stand still and call the DialogHander Sub in BASIC.

     void BeginBlock();
     void EndBlock();
@@ -187,7 +187,7 @@ private:
     static ControlDefLoad const arR_Cmds[];
     static CNames *pRCommands;

-    static CErrors *pFehlerListe;       // Hier werden die Fehler des Testtools gespeichert
+    static CErrors *pFehlerListe;       // the errors from the testtool are stored here

 };

diff --git a/automation/source/miniapp/testapp.hxx b/automation/source/miniapp/testapp.hxx
index fd313c9..883ccaf 100644
--- a/automation/source/miniapp/testapp.hxx
+++ b/automation/source/miniapp/testapp.hxx
@@ -81,7 +81,7 @@ public:
     virtual void SetExecuteMode( sal_uInt16 nMode )
     {
         (void) nMode; /* avoid warning about unused parameter */
-    };  // Ist hier sowieso egal
+    };
 };

 class MyApp : public Application
diff --git a/automation/source/server/cmdbasestream.cxx b/automation/source/server/cmdbasestream.cxx
index 154ca63..364c7d8 100644
--- a/automation/source/server/cmdbasestream.cxx
+++ b/automation/source/server/cmdbasestream.cxx
@@ -63,7 +63,7 @@ void CmdBaseStream::GenReturn (comm_UINT16 nRet, comm_UINT32 nUId )
     Write(comm_UINT16(SIReturn));
     Write(nRet);
     Write(nUId);
-    Write(comm_UINT16(PARAM_NONE));             // Typ der folgenden Parameter
+    Write(comm_UINT16(PARAM_NONE));
 }

 void CmdBaseStream::GenReturn (comm_UINT16 nRet, rtl::OString *pUId, comm_UINT32 nNr )
@@ -74,7 +74,7 @@ void CmdBaseStream::GenReturn (comm_UINT16 nRet, rtl::OString *pUId, comm_UINT32
         Write(comm_UINT32(0));
     else
         Write(pUId);
-    Write(comm_UINT16(PARAM_UINT32_1));         // Typ der folgenden Parameter
+    Write(comm_UINT16(PARAM_UINT32_1));
     Write(nNr);
 }

@@ -86,7 +86,7 @@ void CmdBaseStream::GenReturn (comm_UINT16 nRet, rtl::OString *pUId, comm_String
         Write(comm_UINT32(0));
     else
         Write(pUId);
-    Write(comm_UINT16(PARAM_STR_1));                // Typ der folgenden Parameter
+    Write(comm_UINT16(PARAM_STR_1));
     Write(pString);
 }

@@ -98,7 +98,7 @@ void CmdBaseStream::GenReturn (comm_UINT16 nRet, rtl::OString *pUId, comm_BOOL b
         Write(comm_UINT32(0));
     else
         Write(pUId);
-    Write(comm_UINT16(PARAM_BOOL_1));           // Typ der folgenden Parameter
+    Write(comm_UINT16(PARAM_BOOL_1));
     Write(bBool);
 }

@@ -110,7 +110,7 @@ void CmdBaseStream::GenReturn (comm_UINT16 nRet, rtl::OString *pUId, comm_UINT32
         Write(comm_UINT32(0));
     else
         Write(pUId);
-    Write(comm_UINT16(PARAM_UINT32_1|PARAM_STR_1|PARAM_BOOL_1));        // Typ der folgenden 
Parameter
+    Write(comm_UINT16(PARAM_UINT32_1|PARAM_STR_1|PARAM_BOOL_1));
     Write(nNr);
     Write(pString);
     Write(bBool);
@@ -121,7 +121,7 @@ void CmdBaseStream::GenReturn (comm_UINT16 nRet, comm_UINT16 nMethod, comm_UINT3
     Write(comm_UINT16(SIReturn));
     Write(nRet);
     Write((comm_UINT32)nMethod); //HELPID BACKWARD (no sal_uLong needed)
-    Write(comm_UINT16(PARAM_UINT32_1));         // Typ der folgenden Parameter
+    Write(comm_UINT16(PARAM_UINT32_1));
     Write(nNr);
 }

@@ -130,7 +130,7 @@ void CmdBaseStream::GenReturn (comm_UINT16 nRet, comm_UINT16 nMethod, comm_Strin
     Write(comm_UINT16(SIReturn));
     Write(nRet);
     Write((comm_UINT32)nMethod); //HELPID BACKWARD (no sal_uLong needed)
-    Write(comm_UINT16(PARAM_STR_1));                // Typ der folgenden Parameter
+    Write(comm_UINT16(PARAM_STR_1));
     Write(pString);
 }

@@ -139,7 +139,7 @@ void CmdBaseStream::GenReturn (comm_UINT16 nRet, comm_UINT16 nMethod, comm_BOOL
     Write(comm_UINT16(SIReturn));
     Write(nRet);
     Write((comm_UINT32)nMethod); //HELPID BACKWARD (no sal_uLong needed)
-    Write(comm_UINT16(PARAM_BOOL_1));           // Typ der folgenden Parameter
+    Write(comm_UINT16(PARAM_BOOL_1));
     Write(bBool);
 }

@@ -148,7 +148,7 @@ void CmdBaseStream::GenReturn (comm_UINT16 nRet, comm_UINT16 nMethod, comm_UINT1
     Write(comm_UINT16(SIReturn));
     Write(nRet);
     Write((comm_UINT32)nMethod); //HELPID BACKWARD (no sal_uLong needed)
-    Write(comm_UINT16(PARAM_UINT16_1));         // Typ der folgenden Parameter
+    Write(comm_UINT16(PARAM_UINT16_1));
     Write(nNr);
 }

@@ -159,7 +159,7 @@ void CmdBaseStream::GenReturn( comm_UINT16 nRet, rtl::OString *pUId, comm_UINT16
     Write(comm_UINT16(SIReturn));
     Write(nRet);
     Write(pUId);
-    Write(comm_UINT16(PARAM_UINT16_1));     // Typ der folgenden Parameter
+    Write(comm_UINT16(PARAM_UINT16_1));
     Write(nMethod);
 }

@@ -168,7 +168,7 @@ void CmdBaseStream::GenReturn( comm_UINT16 nRet, rtl::OString *pUId, comm_UINT16
     Write(comm_UINT16(SIReturn));
     Write(nRet);
     Write(pUId);
-    Write(comm_UINT16(PARAM_UINT16_1|PARAM_STR_1));     // Typ der folgenden Parameter
+    Write(comm_UINT16(PARAM_UINT16_1|PARAM_STR_1));
     Write(nMethod);
     Write(pString);
 }
@@ -178,7 +178,7 @@ void CmdBaseStream::GenReturn( comm_UINT16 nRet, rtl::OString *pUId, comm_UINT16
     Write(comm_UINT16(SIReturn));
     Write(nRet);
     Write(pUId);
-    Write(comm_UINT16(PARAM_UINT16_1|PARAM_STR_1|PARAM_BOOL_1));        // Typ der folgenden 
Parameter
+    Write(comm_UINT16(PARAM_UINT16_1|PARAM_STR_1|PARAM_BOOL_1));
     Write(nMethod);
     Write(pString);
     Write(bBool);
@@ -189,7 +189,7 @@ void CmdBaseStream::GenReturn( comm_UINT16 nRet, rtl::OString *pUId, comm_UINT16
     Write(comm_UINT16(SIReturn));
     Write(nRet);
     Write(pUId);
-    Write(comm_UINT16(PARAM_UINT16_1|PARAM_UINT32_1));      // Typ der folgenden Parameter
+    Write(comm_UINT16(PARAM_UINT16_1|PARAM_UINT32_1));
     Write(nMethod);
     Write(nNr);
 }
diff --git a/automation/source/server/editwin.cxx b/automation/source/server/editwin.cxx
index 8056eeb..8e17658 100644
--- a/automation/source/server/editwin.cxx
+++ b/automation/source/server/editwin.cxx
@@ -146,7 +146,7 @@ void EditWindow::AddText( const String &rNew )
         if ( nTextLen > 5000 )
         {
             pImpWorkWindow->m_aInhalt.SetText( pImpWorkWindow->m_aInhalt.GetText().Erase(0,1000) );
-            nTextLen = pImpWorkWindow->m_aInhalt.GetText().Len();       // Absolut, um Fehler 
sonstwo auszubügeln
+            nTextLen = pImpWorkWindow->m_aInhalt.GetText().Len();
         }


diff --git a/automation/source/server/editwin.hxx b/automation/source/server/editwin.hxx
index 9b6d8b9..a949906 100644
--- a/automation/source/server/editwin.hxx
+++ b/automation/source/server/editwin.hxx
@@ -49,7 +49,7 @@ protected:
     String      aMemPreWinText;
     sal_Bool        bShowWin;

-    xub_StrLen      nTextLen;   // aus Performanzgründen eigene Länge mitführen
+    xub_StrLen      nTextLen;

 public:
     EditWindow( WorkWindow *pParent, const UniString &rName = UniString( 
RTL_CONSTASCII_USTRINGPARAM ( "Debug" ) ), WinBits iWstyle = WB_HSCROLL | WB_VSCROLL );
diff --git a/automation/source/server/prof_nul.cxx b/automation/source/server/prof_nul.cxx
index 46e1e37..58586eb 100644
--- a/automation/source/server/prof_nul.cxx
+++ b/automation/source/server/prof_nul.cxx
@@ -36,29 +36,29 @@

 struct SysdepProfileSnapshot
 {
-    // Hier stehen alle Felder zum Speichern eines Snapshot
+    // fields for saving a snapshot
 };


 struct SysdepStaticData
 {
-    // Hier steht alles, was während des Profiles ständig gebraucht wird
+    // everything that is always needed during profiling
 };


 void TTProfiler::InitSysdepProfiler()
 {
-    if ( !pSysDepStatic )   // Sollte immer so sein!!
+    if ( !pSysDepStatic )   // Should always be like this!!
         pSysDepStatic = new SysdepStaticData;
-    // Hier initialisieren
+    // initialize here

 };

 void TTProfiler::DeinitSysdepProfiler()
 {
-    if ( pSysDepStatic )    // Sollte immer so sein!!
+    if ( pSysDepStatic )    // Should always be like this!!
     {
-        // Hier aufräumen und eventuell Speicher freigeben
+        // tidy up here and free storage if applicable

         delete pSysDepStatic;
     }
@@ -75,19 +75,16 @@ void TTProfiler::DeleteSysdepSnapshotData( SysdepProfileSnapshot *pSysdepProfile
 };


-// Titelzeile für Logdatei
 String TTProfiler::GetSysdepProfileHeader()
 {
     return String(CUniString("(noch) keine weiteren Daten Implementiert"));
 };


-// Zustand merken
 void TTProfiler::GetSysdepProfileSnapshot( SysdepProfileSnapshot *, sal_uInt16 )
 {};


-// Informationszeile zusammenbauen
 String TTProfiler::GetSysdepProfileLine( SysdepProfileSnapshot *, SysdepProfileSnapshot * )
 {
     return String();
diff --git a/automation/source/server/prof_usl.cxx b/automation/source/server/prof_usl.cxx
index b7ca803..d0b4060 100644
--- a/automation/source/server/prof_usl.cxx
+++ b/automation/source/server/prof_usl.cxx
@@ -45,23 +45,23 @@ struct SysdepProfileSnapshot

 struct SysdepStaticData
 {
-    // Hier steht alles, was während des Profiles ständig gebraucht wird
+    // everything that is always needed during the profile
 };


 void TTProfiler::InitSysdepProfiler()
 {
-    if ( !pSysDepStatic )   // Sollte immer so sein!!
+    if ( !pSysDepStatic )   // Should always be like this!!
         pSysDepStatic = new SysdepStaticData;
-    // Hier initialisieren
+    // initialize here

 };

 void TTProfiler::DeinitSysdepProfiler()
 {
-    if ( pSysDepStatic )    // Sollte immer so sein!!
+    if ( pSysDepStatic )    // Should always be like this!!
     {
-        // Hier aufräumen und eventuell Speicher freigeben
+        // tidy up here and free storage if applicable

         delete pSysDepStatic;
     }
@@ -78,29 +78,28 @@ void TTProfiler::DeleteSysdepSnapshotData( SysdepProfileSnapshot *pSysdepProfile
 };


-// Titelzeile für Logdatei
 String TTProfiler::GetSysdepProfileHeader()
 {
     return String::CreateFromAscii(" Size(Kb) ResidentSZ  rtime  ktime  utime  total");
 };


-// Zustand merken
+
 void TTProfiler::GetSysdepProfileSnapshot( SysdepProfileSnapshot *pSysdepProfileSnapshot, 
sal_uInt16 )
 {
-    SvFileStream aStream( String::CreateFromAscii("/proc/self/psinfo"), STREAM_READ );      // Das 
ist ein expliziter Pfad für UNXSOL!
+    SvFileStream aStream( String::CreateFromAscii("/proc/self/psinfo"), STREAM_READ );      // 
explicit path for UNXSOL!
     if ( aStream.IsOpen() )
     {
         aStream.Read( &(pSysdepProfileSnapshot->mpsinfo), sizeof( psinfo ) );
         aStream.Close();
     }
-    SvFileStream anotherStream( String::CreateFromAscii("/proc/self/status"), STREAM_READ );       
 // Das ist ein expliziter Pfad für UNXSOL!
+    SvFileStream anotherStream( String::CreateFromAscii("/proc/self/status"), STREAM_READ );       
 // explicit path for UNXSOL!
     if ( anotherStream.IsOpen() )
     {
         anotherStream.Read( &(pSysdepProfileSnapshot->mpstatus), sizeof( pstatus ) );
         anotherStream.Close();
     }
-    SvFileStream YetAnotherStream( String::CreateFromAscii("/proc/self/usage"), STREAM_READ );     
 // Das ist ein expliziter Pfad für UNXSOL!
+    SvFileStream YetAnotherStream( String::CreateFromAscii("/proc/self/usage"), STREAM_READ );     
 // explicit path for UNXSOL!
     if ( YetAnotherStream.IsOpen() )
     {
         YetAnotherStream.Read( &(pSysdepProfileSnapshot->mprusage), sizeof( prusage ) );
@@ -111,7 +110,7 @@ void TTProfiler::GetSysdepProfileSnapshot( SysdepProfileSnapshot *pSysdepProfile
 #define DIFF2( aFirst, aSecond, Membername ) ( aSecond.Membername - aFirst.Membername )
 #define CALC_MS( nSec, nNSec ) ( nSec * 1000 + (nNSec+500000) / 1000000 )
 #define DIFF_MS( pStart, pEnd, Member ) ( CALC_MS( pEnd->Member.tv_sec, pEnd->Member.tv_nsec ) - 
CALC_MS( pStart->Member.tv_sec, pStart->Member.tv_nsec ) )
-// Informationszeile zusammenbauen
+
 String TTProfiler::GetSysdepProfileLine( SysdepProfileSnapshot *pStart, SysdepProfileSnapshot 
*pStop )
 {
     String aProfile;
diff --git a/automation/source/server/profiler.cxx b/automation/source/server/profiler.cxx
index c11ddce..92bd1b4 100644
--- a/automation/source/server/profiler.cxx
+++ b/automation/source/server/profiler.cxx
@@ -158,7 +158,7 @@ void TTProfiler::GetProfileSnapshot( ProfileSnapshot *pProfileSnapshot )
 }


-void TTProfiler::StartProfilingPerCommand()     // Jeden Befehl mitschneiden
+void TTProfiler::StartProfilingPerCommand()
 {
     bIsProfilingPerCommand = sal_True;
 }
@@ -214,11 +214,11 @@ void TTProfiler::Timeout()

     aAutoProfileBuffer += aLine;

-    ProfileSnapshot *pTemp = pAutoStart;        // Tauschen, so daß jetziges Ende nächsten Start 
wird
+    ProfileSnapshot *pTemp = pAutoStart;        // swap so that current end becomes the next start
     pAutoStart = pAutoEnd;
     pAutoEnd = pTemp;

-    Start();    // Timer neu starten
+    Start();    // restart timer
 }

 String TTProfiler::GetAutoProfiling()
diff --git a/automation/source/server/profiler.hxx b/automation/source/server/profiler.hxx
index 9b8abba..d86361b 100644
--- a/automation/source/server/profiler.hxx
+++ b/automation/source/server/profiler.hxx
@@ -42,7 +42,7 @@


 struct SysdepProfileSnapshot;
-struct SysdepStaticData;    // Nicht wirklich statisch, sondern statisch ï¿œber mehrere Snapshots
+struct SysdepStaticData;    // not really static but static over several snapshots

 struct ProfileSnapshot
 {
@@ -59,13 +59,13 @@ public:
     TTProfiler();
     ~TTProfiler();

-    String GetProfileHeader();  // Titelzeile fï¿œr Logdatei
-    void StartProfileInterval( sal_Bool bReadAnyway = sal_False );  // Zustand merken
-    void EndProfileInterval();  // Informationszeile zusammenbauen
+    String GetProfileHeader();  // headline for logfile
+    void StartProfileInterval( sal_Bool bReadAnyway = sal_False );  // memorize condition
+    void EndProfileInterval();  // construct information line
     String GetProfileLine( String &aPrefix );


-    void StartProfilingPerCommand();    // Jeden Befehl mitschneiden
+    void StartProfilingPerCommand();
     void StopProfilingPerCommand();
     sal_Bool IsProfilingPerCommand() { return bIsProfilingPerCommand; }

@@ -74,16 +74,16 @@ public:
     sal_Bool IsPartitioning() { return bIsPartitioning; }
     sal_uLong GetPartitioningTime();

-    void StartAutoProfiling( sal_uLong nMSec ); // Automatisch alle nMSec Milisekunden sampeln
-    String GetAutoProfiling();  // Aktuelle `Sammlung` abholen
-    void StopAutoProfiling();   // Sampeln beenden
+    void StartAutoProfiling( sal_uLong nMSec ); // sample automatically every nMSec milliseconds
+    String GetAutoProfiling();  // get current 'collection'
+    void StopAutoProfiling();
     sal_Bool IsAutoProfiling() { return bIsAutoProfiling; }

 private:

     void GetProfileSnapshot( ProfileSnapshot *pProfileSnapshot );

-    // Informationszeile zusammenbauen
+
     String GetProfileLine( ProfileSnapshot *pStart, ProfileSnapshot *pStop );


@@ -94,8 +94,6 @@ private:
     sal_Bool bIsPartitioning;


-//  Fï¿œr das Automatische Profiling in festen Intervallen
-
     ProfileSnapshot *pAutoStart;
     ProfileSnapshot *pAutoEnd;
     sal_Bool bIsAutoProfiling;
@@ -104,13 +102,12 @@ private:
     virtual void Timeout();


-// Einige Hilfsfunktionen

-    String Dec( sal_uLong nNr );    // Ergebnis = nNr / 100 mit 2 Dezimalen
-    String Pad( const String &aS, xub_StrLen nLen );        // Fï¿œgt blanks links an den String an
+    String Dec( sal_uLong nNr );    // result = nNr / 100 with 2 decimals
+    String Pad( const String &aS, xub_StrLen nLen );        // adds blanks links to the string

-/*  Ab hier werden die Methoden Systemabhï¿œngig in den entsprechenden cxx implementiert
-    Sie werden von den oberen Methoden gerufen.
+/*  from now on the methods are implemented system dependent in the respective cxx
+    they are called by the methods above
 */

     SysdepStaticData *pSysDepStatic;
@@ -121,13 +118,11 @@ private:
     SysdepProfileSnapshot *NewSysdepSnapshotData();
     void DeleteSysdepSnapshotData( SysdepProfileSnapshot *pSysdepProfileSnapshot );

-    // Titelzeile fï¿œr Logdatei
+
     String GetSysdepProfileHeader();

-    // Zustand merken
     void GetSysdepProfileSnapshot( SysdepProfileSnapshot *pSysdepProfileSnapshot, sal_uInt16 nMode 
= PROFILE_START | PROFILE_END );

-    // Informationszeile zusammenbauen
     String GetSysdepProfileLine( SysdepProfileSnapshot *pStart, SysdepProfileSnapshot *pStop );
 };

diff --git a/automation/source/server/recorder.cxx b/automation/source/server/recorder.cxx
index c74380d..6b28c84 100644
--- a/automation/source/server/recorder.cxx
+++ b/automation/source/server/recorder.cxx
@@ -612,7 +612,7 @@ IMPL_LINK( MacroRecorder, EventListener, VclSimpleEvent*, pEvent )
     }  // if

     if ( bSendData )
-        new StatementFlow( NULL, F_EndCommandBlock );   // Kommando zum Senden erzeugen und in que 
eintragen
+        new StatementFlow( NULL, F_EndCommandBlock );   // create command for sending and entry in 
que

     return 0;
 }
diff --git a/automation/source/server/retstrm.cxx b/automation/source/server/retstrm.cxx
index df36835..21b9ad1 100644
--- a/automation/source/server/retstrm.cxx
+++ b/automation/source/server/retstrm.cxx
@@ -80,7 +80,7 @@ void RetStream::GenReturn ( sal_uInt16 nRet, sal_uInt16 nMethod, SbxValue &aValu
     Write(sal_uInt16(SIReturn));
     Write(nRet);
     Write((comm_UINT32)nMethod); //HELPID BACKWARD (no sal_uLong needed)
-    Write(sal_uInt16(PARAM_SBXVALUE_1));        // Typ der folgenden Parameter
+    Write(sal_uInt16(PARAM_SBXVALUE_1));        // type of the following parameters
     Write(aValue);
 }

diff --git a/automation/source/server/server.cxx b/automation/source/server/server.cxx
index 44c2c0d..a5216ed 100644
--- a/automation/source/server/server.cxx
+++ b/automation/source/server/server.cxx
@@ -49,7 +49,7 @@
 #include <vcl/sound.hxx>
 #include "testtool.hrc"
 #include <vcl/bitmap.hxx>
-// Hat keinen Includeschutz
+// has got no include guard
 #include <svtools/svtdata.hxx>
 #include <rtl/textenc.h>
 #include <rtl/uri.h>
@@ -101,7 +101,7 @@ RemoteControlCommunicationManager::RemoteControlCommunicationManager()
     {
         SetInfoType( CM_SHORT_TEXT | CM_ALL );
         ByteString aByteString;
-        InfoMsg( InfoString( aByteString, CM_ALL ) );   // Anzeigen, daᅵ wir da sind
+        InfoMsg( InfoString( aByteString, CM_ALL ) );
     }
 }

@@ -141,8 +141,8 @@ IMPL_LINK( RemoteControlCommunicationManager, SetWinCaption, Timer*, EMPTYARG )
         StatementList::GetFirstDocFrame()->SetText(String(aOriginalWinCaption).AppendAscii(" 
TT").Append(aAdditionalWinCaption).AppendAscii("[").Append(UniString::CreateFromInt32(nPortToListen)).AppendAscii("]"));
     }
     else
-    {   // Dann Probieren wir es eben in 1 Sekunde nochmal
-        pTimer = new Timer();   // Wird im Link gelï¿œscht
+    {
+        pTimer = new Timer();   // will be deleted in link
         pTimer->SetTimeout( 1000 );
         pTimer->SetTimeoutHdl( LINK( this, RemoteControlCommunicationManager, SetWinCaption ) );
         pTimer->Start();
@@ -218,7 +218,7 @@ sal_uLong RemoteControlCommunicationManager::GetPort()

         nPortIs = aConf.ReadKey("TTPort","0").toInt32();

-        // noch prï¿œfen ob dieses Office getestet werden soll.
+
         if ( !bAutomate || aConf.ReadKey( aNoTesttoolKey, "" ) != "" )
             nPortIs = 0;

@@ -232,9 +232,9 @@ sal_uLong RemoteControlCommunicationManager::GetPort()
 }

 #if OSL_DEBUG_LEVEL > 1
-#define MIN_IDLE 10000      // Ruhe vor dem Sturm min 10 Sekunden
+#define MIN_IDLE 10000
 #else
-#define MIN_IDLE 60000      // Ruhe vor dem Sturm min 1 Minuten
+#define MIN_IDLE 60000
 #endif

 class ExtraIdle : public AutoTimer
@@ -252,9 +252,9 @@ ExtraIdle::ExtraIdle( ImplRemoteControl *pRC )
 : nStep( 0 )
 , pRemoteControl (pRC )
 {
-    SetTimeout( 120000 );   // 2 Minuten
+    SetTimeout( 120000 );
 #if OSL_DEBUG_LEVEL > 1
-    SetTimeout( 40000 );    // 40 Sekunden
+    SetTimeout( 40000 );
 #endif
     Start();
 }
@@ -270,7 +270,7 @@ void ExtraIdle::Timeout()
         return;
     }

-    // Mï¿œssen wir selbst idlen?
+
 #if OSL_DEBUG_LEVEL > 1
     sal_uLong nLastInputInterval = Application::GetLastInputInterval();
     sal_Bool bIsInModalMode = Application::IsInModalMode();
@@ -279,7 +279,7 @@ void ExtraIdle::Timeout()
     if ( Application::IsInModalMode() || Application::GetLastInputInterval() < MIN_IDLE )
 #endif
     {
-        if ( nStep )    // Schon angefangen? dann abbrechen, sonst spï¿œter nochmal
+        if ( nStep )
         {
             if ( nStep < 15 )
             {
@@ -300,14 +300,14 @@ void ExtraIdle::Timeout()
         return;
     }

-    if ( StatementList::pFirst )    // Verarbeitung neu aufsetzen
+    if ( StatementList::pFirst )    // reset handling
     {
         GetpApp()->PostUserEvent( LINK( pRemoteControl, ImplRemoteControl, CommandHdl ) );
         return;
     }


-    switch ( nStep++ )      // Probieren ob wir noch was machen kï¿œnnen
+    switch ( nStep++ )      // test whether there's still something to do
     {
         case 0:
         {
@@ -509,7 +509,7 @@ void ExtraIdle::Timeout()
         }
     }

-    // Wir sind am Ende
+

 #if OSL_DEBUG_LEVEL < 2
     delete this;
@@ -538,7 +538,7 @@ IMPL_LINK( ImplRemoteControl, CommandHdl, Application*, EMPTYARG )

     if ( StatementList::MaybeResetSafeReschedule() )
     {
-        StatementList::bExecuting = sal_False;      // Wird nacher im SafeReschedule wieder 
zurï¿œckgesetzt
+        StatementList::bExecuting = sal_False;      // will be reset in SafeReschedule later
 #if OSL_DEBUG_LEVEL > 1
         m_pDbgWin->AddText( "SafeReschedule has been reset\n" );
 #endif
@@ -565,12 +565,12 @@ IMPL_LINK( ImplRemoteControl, CommandHdl, Application*, EMPTYARG )
             }
             m_pDbgWin->AddText( "Leaving CommandHdl\n" );
 #endif
-            return 0;        // Garnicht erst irgendwelchen blï¿œdsinn machen
+            return 0;
         }

     while( StatementList::pFirst && ( !StatementList::bReadingCommands || StatementList::bDying ) )
-        // Schleift hier bis Befehl nicht zurï¿œckkommt,
-        // Wird dann rekursiv ï¿œber IdleHdl und PostUserEvent aufgerufen.
+        // loops until command is not coming back,
+        // is then called recursively via IdleHdl and PostUserEvent
     {
         m_bInsideExecutionLoop = sal_True;
 #ifdef TIMERIDLE
@@ -586,7 +586,7 @@ IMPL_LINK( ImplRemoteControl, CommandHdl, Application*, EMPTYARG )
 #if OSL_DEBUG_LEVEL > 1
                 m_pDbgWin->AddText( "Leaving CommandHdl\n" );
 #endif
-                return 0;        // So dass die App nochmal ï¿œne chance bekommt
+                return 0;
             }
         }
         else
@@ -598,13 +598,13 @@ IMPL_LINK( ImplRemoteControl, CommandHdl, Application*, EMPTYARG )
 #if OSL_DEBUG_LEVEL > 1
                     m_pDbgWin->AddText( "Leaving CommandHdl\n" );
 #endif
-                    return 0;        // So dass die App nochmal ï¿œne chance bekommt
+                    return 0;
                 }
             }
             catch( ... )
             {
                 if ( !StatementFlow::bUseIPC )
-                    throw;  // aus der Hilfe heraus nicht leise abbrechen
+                    throw;

                 try
                 {
@@ -615,7 +615,7 @@ IMPL_LINK( ImplRemoteControl, CommandHdl, Application*, EMPTYARG )
                     OSL_FAIL("GPF");
                     pC->ReportError( GEN_RES_STR0( S_GPF_ABORT ) );
                     StatementList::bDying = sal_True;
-                    while ( StatementList::pFirst )         // Kommandos werden ï¿œbersprungen
+                    while ( StatementList::pFirst )         // commands are skipped
                         StatementList::NormalReschedule();
                     delete pDlg;
                 }
@@ -630,7 +630,7 @@ IMPL_LINK( ImplRemoteControl, CommandHdl, Application*, EMPTYARG )
         m_bInsideExecutionLoop = sal_False;
     }

-    StatementList::aWindowWaitUId = rtl::OString();  // Warten rï¿œcksetzen, da handler sowieso 
verlassen wird
+    StatementList::aWindowWaitUId = rtl::OString();

 #if OSL_DEBUG_LEVEL > 1
     m_pDbgWin->AddText( "Leaving CommandHdl\n" );
@@ -688,28 +688,28 @@ sal_Bool ImplRemoteControl::QueCommands( sal_uLong nServiceId, SvStream *pIn )
         {
             case SICommand:
             {
-                new StatementCommand( pCmdStream );     // Wird im Konstruktor an Liste angehï¿œngt
+                new StatementCommand( pCmdStream );
                 break;
             }
             case SIControl:
             case SIStringControl:
             {
-                new StatementControl( pCmdStream, nId );     // Wird im Konstruktor an Liste 
angehï¿œngt
+                new StatementControl( pCmdStream, nId );
                 break;
             }
             case SISlot:
             {
-                new StatementSlot( pCmdStream );    // Wird im Konstruktor an Liste angehï¿œngt
+                new StatementSlot( pCmdStream );
                 break;
             }
             case SIUnoSlot:
             {
-                new StatementUnoSlot( pCmdStream );    // Wird im Konstruktor an Liste angehï¿œngt
+                new StatementUnoSlot( pCmdStream );
                 break;
             }
             case SIFlow:
             {
-                new StatementFlow( nServiceId, pCmdStream, this );              // Wird im 
Konstruktor an Liste angehï¿œngt
+                new StatementFlow( nServiceId, pCmdStream, this );
                 break;
             }
             default:
@@ -791,7 +791,7 @@ ImplRemoteControl::ImplRemoteControl()
 #endif
     }
     if ( RemoteControlCommunicationManager::nComm )
-        new ExtraIdle( this );      // Setzt die Bearbeitung wieder auf
+        new ExtraIdle( this );      // resumes editing
 }

 ImplRemoteControl::~ImplRemoteControl()
@@ -803,20 +803,20 @@ ImplRemoteControl::~ImplRemoteControl()
     StatementList::bDying = sal_True;
 #if OSL_DEBUG_LEVEL > 1
     if ( m_pDbgWin )
-        m_pDbgWin->bQuiet = sal_True;   // Keine Ausgabe mehr im Debugwindow
+        m_pDbgWin->bQuiet = sal_True;   // no more output in the debugwindow
 #endif

 #ifdef DBG_UTIL
-    // Zurᅵcksetzen, so daᅵ nachfolgende Assertions nicht verloren gehen
+    // reset so that the following assertions are not lost
     DbgSetPrintTestTool( NULL );
     osl_setDebugMessageFunc( StatementCommand::pOriginal_osl_DebugMessageFunc );
 #endif

     if ( StatementList::pFirst )
-    {   // Es sind noch Kommandos da, also auch eine Mï¿œglichkeit zurï¿œckzusenden.
+    {
         StatementList::pFirst->ReportError( GEN_RES_STR0( S_APP_SHUTDOWN ) );
-        while ( StatementList::pFirst )             // Kommandos werden ï¿œbersprungen
-            StatementList::NormalReschedule();      // Fehler zurï¿œckgeschickt
+        while ( StatementList::pFirst )
+            StatementList::NormalReschedule();
     }

     if ( pServiceMgr )

diff --git a/automation/source/server/server.hxx b/automation/source/server/server.hxx
index 3b44ba8..9f61d0f 100644
--- a/automation/source/server/server.hxx
+++ b/automation/source/server/server.hxx
@@ -31,7 +31,7 @@
 #include "editwin.hxx"
 #include <automation/communi.hxx>

-#define TT_PORT_NOT_INITIALIZED     sal_uLong(0xFFFFFFFF)   // Eigentlich ja noch mehr, aber soll 
mal reichen
+#define TT_PORT_NOT_INITIALIZED     sal_uLong(0xFFFFFFFF)
 #define TT_NO_PORT_DEFINED          0

 class RemoteControlCommunicationManager : public CommunicationManagerServerViaSocket
diff --git a/automation/source/server/sta_list.cxx b/automation/source/server/sta_list.cxx
index 3ff44fa..59ce203 100644
--- a/automation/source/server/sta_list.cxx
+++ b/automation/source/server/sta_list.cxx
@@ -81,13 +81,13 @@ rtl::OString StatementList::aWindowWaitOldHelpId = rtl::OString();
 rtl::OString StatementList::aWindowWaitOldUniqueId = rtl::OString();
 sal_uInt16 StatementList::nUseBindings = 0;

-sal_uInt16 StatementList::aSubMenuId1 = 0;  // Untermenï¿œs bei PopupMenus
-sal_uInt16 StatementList::aSubMenuId2 = 0;  // erstmal 2-Stufig
-sal_uInt16 StatementList::aSubMenuId3 = 0;  // and now even 3 levels #i31512#
+sal_uInt16 StatementList::aSubMenuId1 = 0;
+sal_uInt16 StatementList::aSubMenuId2 = 0;
+sal_uInt16 StatementList::aSubMenuId3 = 0;
 SystemWindow *StatementList::pMenuWindow = NULL;
 TTProperties *StatementList::pTTProperties = NULL;

-sal_uInt16 StatementList::nMinTypeKeysDelay = 0;    // Verzï¿œgerung der einzelnen Anschlï¿œge 
fï¿œr TypeKeys
+sal_uInt16 StatementList::nMinTypeKeysDelay = 0;
 sal_uInt16 StatementList::nMaxTypeKeysDelay = 0;
 sal_Bool StatementList::bDoTypeKeysDelay = sal_False;

@@ -134,7 +134,7 @@ StatementList::StatementList()
 , bStatementInQue(sal_False)
 {
     if (!pRet)
-        pRet = new RetStream;       // so Spï¿œt wie mï¿œglich, aber dennoch Zentral und auf jeden 
Fall rechtzeitig, da pRet private ist.
+        pRet = new RetStream;       // as late as possible but still central and at any rate early 
enough because pRet is private
 }

 void StatementList::InitProfile()
@@ -200,7 +200,7 @@ void StatementList::QueStatement(StatementList *pAfterThis)
             pFirst = this;
         }
     }
-    else    // am Ende einfï¿œgen
+    else    // insert at the end
     {
         pNext = NULL;
         if( !pFirst )
@@ -994,7 +994,7 @@ String StatementList::ClientTree(Window *pBase, int Indent)

 sal_Bool StatementList::CheckWindowWait()
 {
-    static Time StartTime = Time(0L);   // Abbruch wenn Fenster absolut nicht schliesst.
+    static Time StartTime = Time(0L);   // cancel if window doesn't want to close at all
     if ( StartTime == Time(0L) )
         StartTime = Time();

@@ -1010,8 +1010,8 @@ sal_Bool StatementList::CheckWindowWait()
             m_pDbgWin->AddText( String::CreateFromInt32( pWindowWaitPointer->GetType() 
).AppendAscii("\n") );
 #endif

-            // Ist die Zeit schonn abgelaufen?
-            if ( StartTime + Time(0,0,10) < Time() )    // 10 Sekunden reichen wohl
+
+            if ( StartTime + Time(0,0,10) < Time() )
             {
 #if OSL_DEBUG_LEVEL > 1
                 m_pDbgWin->AddText( "Close timed out. Going on!! " );
@@ -1167,11 +1167,11 @@ void ImplMouseButtonUp( Window* pWin, MouseEvent &aMEvnt, sal_Bool 
bForceDirect
     {
             if ( pWin->IsTracking() )
         {
-            // siehe #64693 die Position ist fï¿œr Toolboxen relevant
-            // #60020 Jetzt hoffentlich kein GPF mehr
-            // Zuerst Tracking beenden ohne Event
+            // look at #64693 the position is relevant to the toolboxes
+            // #60020 hopefully no more GPF now
+            // stop tracking at first without event
             pWin->EndTracking( ENDTRACK_DONTCALLHDL );
-            // dann eigenen Event mit richtigem Maus-Event senden
+            // then send own event with correct mouse event
             TrackingEvent   aTEvt( aMEvnt, ENDTRACK_END );
             pWin->Tracking( aTEvt );
         }
diff --git a/automation/source/server/statemnt.cxx b/automation/source/server/statemnt.cxx
index ed0e110..7e58786 100644
--- a/automation/source/server/statemnt.cxx
+++ b/automation/source/server/statemnt.cxx
@@ -66,7 +66,7 @@
 #include <svtools/table/tablecontrolinterface.hxx>
 #include <svl/poolitem.hxx>
 #include <svtools/extensionlistbox.hxx>
-// Hat keinen Includeschutz
+// has got no include guard
 #include <svtools/svtdata.hxx>
 #include <tools/time.hxx>
 #include <svtools/stringtransfer.hxx>
@@ -191,12 +191,12 @@ void StatementFlow::SendViaSocket()
     bSending = sal_True;
     if ( pCommLink )
     {
-        if ( !pCommLink->TransferDataStream( pRet->GetStream() ) )  // tritt ein Fehler auf, so 
wird sofort gelï¿œscht ...
+        if ( !pCommLink->TransferDataStream( pRet->GetStream() ) )  // if there's an error, it's 
deleted immediately
             pCommLink = NULL;
     }
     else
     {
-        // Macht nix. Wenn das Basic nicht mehr da ist, ist sowiso alles egal
+        // never mind, if the basic is not there it doesn't matter anyway
         OSL_FAIL("Cannot send results to TestTool");
     }

@@ -219,16 +219,16 @@ sal_Bool StatementFlow::Execute()

             if ( !bUseIPC )
             {
-                // bBool1 wurde im CTOR auf sal_False initialisiert
-                if ( !bBool1 )  // also erster Durchlauf
+                // bBool1 has been initialized in CTOR to sal_False
+                if ( !bBool1 )  // means first run
                 {
                     pRemoteControl->pRetStream = pRet->GetStream();
-                    bBool1 = sal_True;  // wurde im CTOR auf sal_False initialisiert
+                    bBool1 = sal_True;
                     nRetryCount = nRetryCount * 4;
                 }
-                if ( pRemoteControl->pRetStream && (nRetryCount--) )    // also solange nicht 
abgeholt
+                if ( pRemoteControl->pRetStream && (nRetryCount--) )
                 {
-                    return sal_False;   // Bitte einmal vom Callstack runter
+                    return sal_False;
                 }
             }

@@ -241,7 +241,7 @@ sal_Bool StatementFlow::Execute()
     {
     case F_EndCommandBlock:
         if ( !bUseIPC )
-        {   // wird oben abgehandelt
+        {   // is handled above
             pRet->Reset();
             IsError = sal_False;
         }
@@ -270,7 +270,7 @@ sal_Bool StatementFlow::Execute()
 }


-// neue Hilfsfunktion, die stetig erweitert werden muss
+// new help function that should be enhanced constantly
 static short ImpGetRType( Window *pWin )
 {
     short nRT = C_NoType;
@@ -640,10 +640,10 @@ sal_Bool StatementSlot::Execute()
     }


-/*  Neues Verfahren ab 334!
-    Neue Methode zum einstellen, daᅵ Modale Dialoge immer Asynchron aufgerufen werden
-    und echter Returnwert, ob Slot geklappt hat
-    und Testen ob Slot ï¿œberhaupt durch UI aufgerufen werden kann        */
+/*  new principle from 334!
+    new method to make dialogues be called asynchronously
+    and real return value that shows whether slot was successfull
+    and to test whether slot can be called by the UI at all        */


     SendProfile( SlotString( nFunctionId ) );
@@ -753,7 +753,7 @@ StatementCommand::StatementCommand( SCmdStream *pCmdIn )
         m_pDbgWin->AddText( "*Deleting all Commands:\n" );
         #endif
         bReadingCommands = sal_False;
-        while ( StatementList::pFirst != this ) // Alles Lï¿œschen auï¿œer mich selbst
+        while ( StatementList::pFirst != this ) // delete everything apart from myself
         {
             StatementList *pDeQue = StatementList::pFirst;
             pDeQue->Advance();
@@ -783,7 +783,7 @@ void StatementCommand::WriteControlData( Window *pBase, sal_uLong nConf, sal_Boo
             pBase = pBase->GetParent();
     }

-    {   // Klammerung, so daᅵ der String nicht wᅵhrend der Rekursion bestehen bleibt
+    {   // bracketing to prevent the string from persisting during the recursion
         String aName;
         sal_Bool bSkip = sal_False;

@@ -888,7 +888,7 @@ void StatementCommand::WriteControlData( Window *pBase, sal_uLong nConf, sal_Boo
                 TypeString(pBase->GetType()).Append(aTypeSuffix).AppendAscii(": ").Append(aName), 
sal_False );


-            if ( pBase->GetType() == WINDOW_TOOLBOX )   // Buttons und Controls auf Toolboxen.
+            if ( pBase->GetType() == WINDOW_TOOLBOX )
             {
                 ToolBox *pTB = ((ToolBox*)pBase);
                 sal_uInt16 i;
@@ -961,11 +961,11 @@ void StatementCommand::WriteControlData( Window *pBase, sal_uLong nConf, 
sal_Boo
                     }
                 }

-                return; // ToolBox ist hier schon komplett abgehandelt.
+                return;
             }


-            if ( pBase->GetType() == WINDOW_BUTTONDIALOG    // Buttons auf Buttondialogen mit ID
+            if ( pBase->GetType() == WINDOW_BUTTONDIALOG
                 || pBase->GetType() == WINDOW_MESSBOX
                 || pBase->GetType() == WINDOW_INFOBOX
                 || pBase->GetType() == WINDOW_WARNINGBOX
@@ -1006,12 +1006,12 @@ void StatementCommand::WriteControlData( Window *pBase, sal_uLong nConf, 
sal_Boo
                             break;
                     }

-                    pRet->GenReturn ( RET_WinInfo, aID, (comm_UINT32)pBD->GetPushButton( 
pBD->GetButtonId(i) )->GetType(),  // So daᅵ der Text angezeigt wird!
+                    pRet->GenReturn ( RET_WinInfo, aID, (comm_UINT32)pBD->GetPushButton( 
pBD->GetButtonId(i) )->GetType(),  // so that text is displayed!
                         TypeString(pBD->GetPushButton( pBD->GetButtonId(i) 
)->GetType()).AppendAscii(": ").Append(aName)
                         .AppendAscii(" ButtonId = ").AppendAscii( aID.GetBuffer() ), sal_False );
                 }

-                return; // ButtonDialog ist hier schon komplett abgehandelt.
+                return;
             }


@@ -1063,7 +1063,7 @@ void StatementCommand::WriteControlData( Window *pBase, sal_uLong nConf, 
sal_Boo
                     }
                 }

-                return; // Menu ist hier schon komplett abgehandelt.
+                return;
             }
         }
     }
@@ -1363,16 +1363,16 @@ sal_Bool StatementCommand::DisplayHID()
 {
     // Return sal_True -> reexecute command

-    if ( !bBool2 )  // Wird auf sal_False initialisiert
+    if ( !bBool2 )  // is initialized with sal_False
     {
-        bBool2 = sal_True;              // Wir sind initialisiert.
-        GetTTSettings()->pDisplayInstance = this;   // Und haben die Macht (Alle anderen beenden 
sich)
+        bBool2 = sal_True;
+        GetTTSettings()->pDisplayInstance = this;   // and have the power (all others quit 
themselves)

         if ( !(nParams & PARAM_UINT32_1) )
         {
-            if( GetTTSettings()->pDisplayHidWin )   // Nichts verï¿œndern
+            if( GetTTSettings()->pDisplayHidWin )   // don't change anything
                 nLNr1_and_Pointer.nLNr1 = GetTTSettings()->pDisplayHidWin->GetConfig();
-            else    // Beim ersten Aufruf wollen wir alles richtig einstellen
+            else
                 nLNr1_and_Pointer.nLNr1 = DH_MODE_KURZNAME | DH_MODE_LANGNAME;

             if( ((nParams & PARAM_BOOL_1) && bBool1) )
@@ -1388,7 +1388,7 @@ sal_Bool StatementCommand::DisplayHID()
     if ( GetTTSettings()->pDisplayInstance && GetTTSettings()->pDisplayInstance != this )
     {
         DBG_WARNING("Mehrere DisplayHID am laufen");
-        return sal_False;       // Noch eine andere Instanz macht das gleiche!
+        return sal_False;       // another instance is doing the same!
     }

     if ( !GetTTSettings()->pDisplayHidWin )
@@ -1493,9 +1493,9 @@ sal_Bool StatementCommand::DisplayHID()
             if ( GetTTSettings()->pDisplayHidWin->IsSendData() && GetTTSettings()->Act )
             {
                 if ( !StatementFlow::bSending )
-                {   // Normalerweise syncronisierung ï¿œber Protokoll. Hier ist das aber 
asyncron!!!
+                {   // usually synchronization over the protocol. But it's asynchronous here!!!
                     WriteControlData( GetTTSettings()->Act, 
GetTTSettings()->pDisplayHidWin->GetConfig() );
-                    new StatementFlow( this, F_EndCommandBlock );   // Kommando zum Senden 
erzeugen und in que eintragen
+                    new StatementFlow( this, F_EndCommandBlock );   // create command for sending 
and enter it on que
                 }
             }
         }
@@ -1508,9 +1508,9 @@ sal_Bool StatementCommand::DisplayHID()
             }
         }

-        if ( pFirst == this )   // Sollte immer so sein, aber besser isses
-            if ( pNext )        // Befehle warten auf Ausfï¿œhrung
-            {                   // An Ende neu einsortieren
+        if ( pFirst == this )
+            if ( pNext )
+            {
                 Advance();
                 QueStatement( NULL );
             }
@@ -1686,11 +1686,11 @@ IMPL_LINK( TranslateWin, DoRestore, PushButton*, EMPTYARG )
     sTT_E_NEW.SearchAndReplaceAll( CUniString("\\t"), CUniString("\t") );

     if ( StatementList::WinPtrValid( pTranslateWin ) && pTranslateWin->GetText().CompareTo( 
sTT_E_NEW ) == COMPARE_EQUAL )
-    {   // Im ersten schritt nur in der UI zurï¿œck
+    {
         pTranslateWin->SetText( sTT_E_OLD );
     }
     else
-    {   // Im zweite Schritt auch den eingegebenen Text
+    {
         EditTT_E_NEW.SetText( FixedTextTT_FT_OLD.GetText() );
         PushButtonTT_PB_RESTORE.Disable();
     }
@@ -1796,10 +1796,10 @@ long TranslateWin::VCLEventHook( NotifyEvent& rEvt )
             if ( pTranslateWin )
             {
                 MarkShortcutErrors( pTranslateWin->GetWindow( WINDOW_OVERLAP ), sal_True );
-                // alle CRs quoten (NF)
+                // quote all CRs (NF)
                 String sTT_E_NEW( pTranslateWin->GetText());
                 sTT_E_NEW.SearchAndReplaceAll( CUniString("\n"), CUniString("\\n") );
-                // alle TABSs quoten ()
+                // quote all TABSs ()
                 sTT_E_NEW.SearchAndReplaceAll( CUniString("\t"), CUniString("\\t") );

                 FixedTextTT_FT_OLD.SetText( sTT_E_NEW );
@@ -1835,7 +1835,7 @@ public:
 FindShortcutErrors::FindShortcutErrors()
 : Search( SEARCH_NOOVERLAP | SEARCH_NO_TOPLEVEL_WIN )
 {
-    SetAction( FDS_ACTION_COLLECT );    // Wir fange immer mit sammeln an, ODER??
+    SetAction( FDS_ACTION_COLLECT );
 }

 void FindShortcutErrors::SetAction( sal_uInt16 nA )
@@ -1998,7 +1998,7 @@ void TranslateWin::EnableTranslation()

 void StatementCommand::Translate()
 {
-    // Es wurde eine initale UniqueId mitgegeben. Dann nur die dopelten Shortcuts liefern
+    // there's an initial UniqueId so only deliver the doubled shortcuts
     if( (nParams & PARAM_STR_1) && nLNr1_and_Pointer.nLNr1 )
     {
         String aDouble;
@@ -2039,7 +2039,7 @@ void StatementCommand::Translate()
             if ( pTranslationWindow->GetType() == WINDOW_BORDERWINDOW && 
pTranslationWindow->GetWindow( WINDOW_CLIENT ) )
             {
                 Window* pNew = pTranslationWindow->GetWindow( WINDOW_CLIENT );
-                // Bei Dockingwindoes das kanze Geraffel von Docking Floating ï¿œberspringen
+
                 while ( IsDialog( pNew ) && !pNew->GetUniqueOrHelpId().getLength() && 
pNew->GetChildCount() == 1 )
                     pNew = pNew->GetChild( 0 );
                 pTranslationWindow = pNew;
@@ -2066,7 +2066,7 @@ void StatementCommand::Translate()
                 aTranslation += TypeString( pParentDialog->GetType() );
             }
             else
-                aTranslation.AppendAscii( "0;" );       // Zahl + leerer String
+                aTranslation.AppendAscii( "0;" );
             aTranslation += ';';

             aTranslation += '\"';
@@ -2085,9 +2085,9 @@ void StatementCommand::Translate()
             aTranslation += GetTTSettings()->pTranslateWin->GetComment();
             aTranslation += '\"';

-            // alle CRs quoten (NF)
+            // quote all CRs (NF)
             aTranslation.SearchAndReplaceAll( CUniString("\n"), CUniString("\\n") );
-            // alle TABSs quoten ()
+            // quote all TABSs ()
             aTranslation.SearchAndReplaceAll( CUniString("\t"), CUniString("\\t") );

             pRet->GenReturn ( RET_Value, nMethodId, aTranslation );
@@ -2119,8 +2119,8 @@ void StatementCommand::Translate()
 }

 Window* StatementCommand::GetNextOverlap( Window* pBase )
-{   // Findet irgendwelche Overlap-Fenster, die schlieï¿œbar aussehen
-    // Eventuell muᅵ noch die Auswahl verfeinert werden.
+{   // finds some overlap windows that look closable
+    // maybe the choice must be improved

     if ( pBase->GetType() != WINDOW_BORDERWINDOW )
         pBase = pBase->GetWindow( WINDOW_OVERLAP );
@@ -2153,13 +2153,13 @@ Window* StatementCommand::GetNextOverlap( Window* pBase )

 Window* StatementCommand::GetNextRecoverWin()
 {
-    // ï¿œber die TopLevelWindows der App iterieren
+
     Window* pBase = Application::GetFirstTopLevelWindow();
     Window *pControl = NULL;
     Window* pMyFirstDocFrame = NULL;
     while ( pBase )
     {
-        // zuerst weitere Fenster auf dem Fenster suchen und schliessen
+
         pControl = GetNextOverlap( pBase );
         if ( pControl && pControl->GetType() == WINDOW_HELPTEXTWINDOW )
         {}  // skip it
@@ -2174,8 +2174,8 @@ Window* StatementCommand::GetNextRecoverWin()
                     return pControl;
             }

-            // dann das Fenster selbst Schliessen
-               // erstes DocWin ï¿œberspringen
+            // then close the window itself
+               // skip first DocWin
             // Assumption that Doc Windows are Borderwindows and ButtonDialog and such are not
             if ( pBase->IsVisible() && !IsFirstDocFrame( pBase ) && pBase->GetType() != 
WINDOW_BORDERWINDOW && !IsIMEWin( pBase ) )
                 return pBase;
@@ -2250,7 +2250,7 @@ sal_Bool StatementCommand::Execute()
                 nLNr1_and_Pointer.nLNr1 = Time().GetTime() + nNr1/10;
                 bBool1 = sal_True;
             }
-            if ( Time().GetTime() < sal_Int32(nLNr1_and_Pointer.nLNr1) )    // Aktuelle Zeit 
kleiner Endzeit
+            if ( Time().GetTime() < sal_Int32(nLNr1_and_Pointer.nLNr1) )
                 return sal_False;
             break;
         case RC_DisplayHid:
@@ -2261,13 +2261,12 @@ sal_Bool StatementCommand::Execute()
             {
                 if ( !bBool1 )
                 {
-                    nRetryCount = 150;      // das sollte reichen.
-                    bBool1 = sal_True;          // Nur beim ersten mal!
-                    nNr1 = 1;               // Welcher Button ist dran?
-                    nLNr1_and_Pointer.pWindow = 0;              // Speichern des AppWin
-                    aString1 = UniString(); // Liste der geschlossenen Fenster
+                    nRetryCount = 150;
+                    bBool1 = sal_True;
+                    nNr1 = 1;
+                    nLNr1_and_Pointer.pWindow = 0;      // save the AppWin
+                    aString1 = UniString();             // list of closed windows

-                    // So daᅵ nacher auch wieder alles auf Default steht
                     nUseBindings = 0;
                     bCatchGPF = sal_True;
                     bUsePostEvents = sal_True;
@@ -2298,7 +2297,7 @@ sal_Bool StatementCommand::Execute()
                         short nRT = ImpGetRType( pControl );

                         if ( nRT == C_TabControl && pControl->GET_REAL_PARENT() && 
pControl->GET_REAL_PARENT()->GetType() == WINDOW_TABDIALOG )
-                        {   // Bei Tabcontrol den zugehï¿œrigen Tabdialog nehmen
+                        {   // take belonging tab if tabcontrol
                             pControl = pControl->GET_REAL_PARENT();
                             nRT = ImpGetRType( pControl );
                         }
@@ -2322,7 +2321,7 @@ sal_Bool StatementCommand::Execute()
                             case C_ButtonDialog:
                                 {
                                     ButtonDialog* pBD = (ButtonDialog*)pControl;
-                                    // nNr1 >= 10 bedeutet (Custom)-Buttons durchgehen
+                                    // nNr1 >= 10 means go through (Custom)-Buttons
                                     if ( nNr1 >= 10+pBD->GetButtonCount() ) nNr1 = 1;
                                     switch( nNr1 )
                                     {
@@ -2333,7 +2332,7 @@ sal_Bool StatementCommand::Execute()
                                                 SET_WINP_CLOSING(pControl);
                                                 pBD->EndDialog(RET_OK);
                                             }
-                                            nNr1 = 10;  // Nochmal alle Buttons der Reihe nach
+                                            nNr1 = 10;
                                             break;
                                         case 4:
                                             if ( pBD->GetPushButton( BUTTONID_CANCEL ) )
@@ -2398,9 +2397,9 @@ sal_Bool StatementCommand::Execute()
                                 SET_WINP_CLOSING(pControl);
                                 ((DockingWindow*)pControl)->Close();

-                                // Eigentlich nur bei TaskWindows! Hoffen wir mal, daᅵ keine 
anderen DockingWindows dazwischen hauen.
+                                // actually only for TaskWindows! let's hope there are no 
DockingWindows messing it up
                                 if ( nLNr1_and_Pointer.pWindow != pControl )
-                                    nNr1 = 1;       // Zum durchprobieren der Buttons beim 
Schlieï¿œen
+                                    nNr1 = 1;       // to try buttons during closing
                                 nLNr1_and_Pointer.pWindow = pControl;

                                 return sal_False;
@@ -2427,9 +2426,9 @@ sal_Bool StatementCommand::Execute()

                                             pMenu->GetCloserHdl().Call( pMenu );

-                                            // nur bei TaskWindows!
+                                            // only for TaskWindows!
                                             if ( nLNr1_and_Pointer.pWindow != pControl )
-                                                nNr1 = 1;       // Zum durchprobieren der Buttons 
beim Schlieï¿œen
+                                                nNr1 = 1;
                                             nLNr1_and_Pointer.pWindow = pControl;

                                             return sal_False;
@@ -2443,9 +2442,9 @@ sal_Bool StatementCommand::Execute()
                                 SET_WINP_CLOSING(pControl);
                                 ((SystemWindow*)pControl)->Close();

-                                // Eigentlich nur bei TaskWindows!
+                                // actually only for TaskWindows!
                                 if ( nLNr1_and_Pointer.pWindow != pControl )
-                                    nNr1 = 1;       // Zum durchprobieren der Buttons beim 
Schlieï¿œen
+                                    nNr1 = 1;
                                 nLNr1_and_Pointer.pWindow = pControl;

                                 return sal_False;
@@ -2460,7 +2459,7 @@ sal_Bool StatementCommand::Execute()
                     nLNr1_and_Pointer.nLNr1 = Time().GetTime() + 100; // 100 = 1 Second
                     bBool2 = sal_True;
                 }
-                if ( Time().GetTime() < sal_Int32(nLNr1_and_Pointer.nLNr1) )    // Aktuelle Zeit 
kleiner Endzeit
+                if ( Time().GetTime() < sal_Int32(nLNr1_and_Pointer.nLNr1) )
                     return sal_False;
                 else
                     pRet->GenReturn ( RET_Value, nMethodId, aString1);
@@ -2480,7 +2479,7 @@ sal_Bool StatementCommand::Execute()
                     pRet->GenReturn ( RET_Value, nMethodId, comm_UINT16(CONST_WSFinished) );
                 else
                 {
-                    if ( Time().GetTime() < sal_Int32(nLNr1_and_Pointer.nLNr1) )    // Aktuelle 
Zeit kleiner Endzeit
+                    if ( Time().GetTime() < sal_Int32(nLNr1_and_Pointer.nLNr1) )
                         return sal_False;
                     pRet->GenReturn ( RET_Value, nMethodId, comm_UINT16(CONST_WSTimeout) );
                 }
@@ -2494,12 +2493,12 @@ sal_Bool StatementCommand::Execute()

     switch ( nMethodId )
     {
-        case RC_AppDelay:       // Diese Befehle werden anderswo behandelt
+        case RC_AppDelay:       // these commands are handled elsewhere
         case RC_DisplayHid:
         case RC_ResetApplication:
         case RC_WaitSlot:

-        case RC_AppAbort:       // Sofortiges Lï¿œschen aller Befehle
+        case RC_AppAbort:       // delete all commands immediately
             break;
         case RC_Assert:
             {
@@ -2582,12 +2581,12 @@ sal_Bool StatementCommand::Execute()
                 nUseBindings = 0;
             break;
         case RC_Profile:
-            //  Bei folgenden Parametern passiert folgendes:
-            //  ein boolean=false                   Alles Profiling stoppen (Ergebnisse liefern)
-            //  ein boolean=true, 1-4 ints          Einteilung der Zeiten in Kï¿œstchen
-            //  kein! boolean keine ints            loggen jeden Befehls
-            //  kein! boolean 1 int                 loggen alle int Millisekunden
-            //  ein String                          wird in das Logfile ï¿œbernommen(sonst 
passiert nichts)
+            //  list of what happens when parameters have these values:
+            //  one boolean=false                   stop all profiling (give results)
+            //  one boolean=true, 1-4 ints          put the times into boxes
+            //  no! boolean no ints                 logging every command
+            //  no! boolean 1 int                   logging every int milliseconds
+            //  one String                          is put into the logfile (nothing else happens)
             if( !(nParams & PARAM_BOOL_1) || bBool1 )
             {
                 if ( !pProfiler )
@@ -2604,23 +2603,22 @@ sal_Bool StatementCommand::Execute()
                     }
                     pProfiler->StartAutoProfiling( nNr1 );

-                    // Der Header ist abhï¿œngig vom Modus
+                    // the header is not dependent from the mode
                     pRet->GenReturn( RET_ProfileInfo, 0, pProfiler->GetProfileHeader() );
                 }
                 else if ( nParams & PARAM_UINT16_1 )
-                {   // Partitioning initialisieren: Profile true [,nNr][,nNr][,nNr][,nNr]
+                {   // initialize Partitioning: Profile true [,nNr][,nNr][,nNr][,nNr]
                     comm_UINT32 nAnzahl=0;
                     if ( nParams & PARAM_UINT16_1 ) { nAnzahl++; };
                     if ( nParams & PARAM_UINT16_2 ) { nAnzahl++; };
                     if ( nParams & PARAM_UINT16_3 ) { nAnzahl++; };
                     if ( nParams & PARAM_UINT16_4 ) { nAnzahl++; };

-                    // Hier werden die Parameter ans Testtool zurï¿œck ï¿œbertragen.
-                    // Das ist zwar etwas eigenartig, aber ansonsten mï¿œsste man im Testtool
-                    // die einfache Struktur der Remotebefehle aufbrechen.
+                    // Here are the parameters transferred back to the testtool.
+                    // That's a little strange but you'd have to give up the easy
+                    // structure of remote commands in the testtool otherwise.
                     pRet->GenReturn( RET_ProfileInfo, S_ProfileReset, nAnzahl );

-                    // Und die einzelnen Grenzen
                     if ( nParams & PARAM_UINT16_1 ) { pRet->GenReturn( RET_ProfileInfo, 
S_ProfileBorder1, (comm_UINT32)nNr1 ); };
                     if ( nParams & PARAM_UINT16_2 ) { pRet->GenReturn( RET_ProfileInfo, 
S_ProfileBorder2, (comm_UINT32)nNr2 ); };
                     if ( nParams & PARAM_UINT16_3 ) { pRet->GenReturn( RET_ProfileInfo, 
S_ProfileBorder3, (comm_UINT32)nNr3 ); };
@@ -2628,13 +2626,13 @@ sal_Bool StatementCommand::Execute()

                     pProfiler->StartPartitioning();
                 }
-                else if( nParams == PARAM_STR_1 )   // Genau ein String!
-                {   // Nur einen String ins Profiling aufnehmen
+                else if( nParams == PARAM_STR_1 )
+                {
                     aString1 += '\n';
                     pRet->GenReturn( RET_ProfileInfo, 0, aString1 );
                 }
                 else
-                {   // Normales Profiling je Kommando: profile
+                {
                     if ( pProfiler->IsAutoProfiling() )
                     {
                         pRet->GenReturn( RET_ProfileInfo, 0, pProfiler->GetAutoProfiling() );
@@ -2642,11 +2640,11 @@ sal_Bool StatementCommand::Execute()
                     }
                     pProfiler->StartProfilingPerCommand();

-                    // Der Header ist abhï¿œngig vom Modus
+                    // header is dependent from mode
                     pRet->GenReturn( RET_ProfileInfo, 0, pProfiler->GetProfileHeader() );
                 }
             }
-            else        // Profiling wieder ausschalten: Profile false
+            else
                 if ( pProfiler )
                 {
                     if ( pProfiler->IsProfilingPerCommand() )
@@ -2931,7 +2929,7 @@ sal_Bool StatementCommand::Execute()
                             if ( (nParams & PARAM_STR_1) )
                             {
                                 delete pDir;
-                                pDir = NULL; // wg. Sonderbehandlung Sb_ATTR_VOLUME
+                                pDir = NULL; // because of special treatment Sb_ATTR_VOLUME
                                 DirEntry aEntry( aString1 );
                                 FileStat aStat( aEntry );
                                 if(!aStat.GetError() && (aStat.GetKind() & FSYS_KIND_FILE))
@@ -2948,13 +2946,12 @@ sal_Bool StatementCommand::Execute()
                                     else
                                         nDirFlags = nFlags = Sb_ATTR_HIDDEN | Sb_ATTR_SYSTEM | 
Sb_ATTR_DIRECTORY;

-                                    // Nur diese Bitmaske ist unter Windows erlaubt
-                                    // Sb_ATTR_VOLUME wird getrennt gehandelt
+                                    // only this bitmask is allowed by ms windows
+                                    // Sb_ATTR_VOLUME is handled seperately
                                     if( nDirFlags & Sb_ATTR_VOLUME )
                                         aPath = aEntry.GetVolume();
                                     else
                                     {
-                                        // Die richtige Auswahl treffen
                                         sal_uInt16 nMode = FSYS_KIND_FILE;
                                         if( nFlags & Sb_ATTR_DIRECTORY )
                                             nMode |= FSYS_KIND_DIR;
@@ -3417,7 +3414,7 @@ StatementControl::StatementControl( SCmdStream *pCmdIn, sal_uInt16 
nControlIdTyp
 }

 sal_Bool IsDialog(Window *pWin)
-{   // Alles was von SystemWindow abgeleitet ist
+{   // everything derived from SystemWindow
     if ( !pWin )
         return sal_False;

@@ -3441,7 +3438,7 @@ sal_Bool IsDialog(Window *pWin)
         case WINDOW_PRINTDIALOG:
         case WINDOW_PRINTERSETUPDIALOG:

-// ab hier nicht ansprechbar (da nicht implementiert)
+// from here on not callable anymore (because not implemented)
         case WINDOW_SYSWINDOW:
         case WINDOW_SYSTEMDIALOG:
         case WINDOW_COLORDIALOG:
@@ -3466,7 +3463,7 @@ sal_Bool IsAccessable(Window *pWin)



-// neue Hilfsfunktion
+// new help function
 static Window*ImpGetButton( Window *pBase, WinBits nMask, WinBits nWinBits )
 {
     sal_uInt16 n = pBase->GetChildCount();
@@ -3613,8 +3610,7 @@ void StatementControl::AnimateMouse( Window *pControl, Point aWohin )
     aDiff *= 1000;
     aDiff /= nSteps;

-    StatementList::bExecuting = sal_True;       // Bah ist das ein ekliger Hack
-                                                // Das verhindert, daᅵ schon der nᅵchste 
Befehl ausgefï¿œhrt wird.
+    StatementList::bExecuting = sal_True;

     for ( ; nSteps ; nSteps-- )
     {
@@ -3626,7 +3622,7 @@ void StatementControl::AnimateMouse( Window *pControl, Point aWohin )
         SafeReschedule();
     }
     pControl->SetPointerPosPixel(aZiel);
-    StatementList::bExecuting = sal_False;  // Bah ist das ein ekliger Hack
+    StatementList::bExecuting = sal_False;
 }


@@ -3640,13 +3636,13 @@ sal_Bool StatementControl::MaybeDoTypeKeysDelay( Window *pTestWindow )
         Timer aTimer;
         aTimer.SetTimeout( nTimeWait );
         aTimer.Start();
-        StatementList::bExecuting = sal_True;       // Bah ist das ein ekliger Hack
-                                                    // Das verhindert, daᅵ schon der nᅵchste 
Befehl ausgefï¿œhrt wird.
+        StatementList::bExecuting = sal_True;
+
         while ( aTimer.IsActive() )
         {
             SafeReschedule( sal_True );
         }
-        StatementList::bExecuting = sal_False;  // Bah ist das ein ekliger Hack
+        StatementList::bExecuting = sal_False;
         if ( !WinPtrValid(pTestWindow ) )
         {
             ReportError( aUId, GEN_RES_STR1( S_WINDOW_DISAPPEARED, MethodString( nMethodId ) ) );
@@ -3658,7 +3654,7 @@ sal_Bool StatementControl::MaybeDoTypeKeysDelay( Window *pTestWindow )

 sal_Bool StatementControl::HandleVisibleControls( Window *pControl )
 {
-    if( pControl )      // Also auch bei Disabled nicht jedoch bei Invisible
+    if( pControl )      // therefore also if disabled but not if invisible
     {
         switch( nMethodId )
         {
@@ -3670,11 +3666,11 @@ sal_Bool StatementControl::HandleVisibleControls( Window *pControl )
             break;
         case M_GetPosX:
             if ( pControl->GetType() == WINDOW_DOCKINGWINDOW && pControl->GET_REAL_PARENT() && 
pControl->GET_REAL_PARENT()->GetType() == WINDOW_FLOATINGWINDOW )
-                pControl = pControl->GET_REAL_PARENT();     // Sonderbehandlung fï¿œr 
FloatingWindows
+                pControl = pControl->GET_REAL_PARENT();     // special treatment for 
FloatingWindows
             if ( pControl->GetType() == WINDOW_TABCONTROL && pControl->GET_REAL_PARENT() && 
pControl->GET_REAL_PARENT()->GetType() == WINDOW_TABDIALOG )
-                pControl = pControl->GET_REAL_PARENT();     // Sonderbehandlung fï¿œr TabDialoge
+                pControl = pControl->GET_REAL_PARENT();     // special treatment for TabDialoge
             if ( pControl->GET_REAL_PARENT() && pControl->GET_REAL_PARENT()->GetType() == 
WINDOW_BORDERWINDOW )
-                pControl = pControl->GET_REAL_PARENT();     // Sonderbehandlung fï¿œr Border
+                pControl = pControl->GET_REAL_PARENT();     // special treatment for Border
             if ( (nParams & PARAM_BOOL_1) && bBool1 )
                 pControl = pControl->GetWindow( WINDOW_OVERLAP );

@@ -3689,11 +3685,11 @@ sal_Bool StatementControl::HandleVisibleControls( Window *pControl )
             break;
         case M_GetPosY:
             if ( pControl->GetType() == WINDOW_DOCKINGWINDOW && pControl->GET_REAL_PARENT() && 
pControl->GET_REAL_PARENT()->GetType() == WINDOW_FLOATINGWINDOW )
-                pControl = pControl->GET_REAL_PARENT();     // Sonderbehandlung fï¿œr 
FloatingWindows
+                pControl = pControl->GET_REAL_PARENT();
             if ( pControl->GetType() == WINDOW_TABCONTROL && pControl->GET_REAL_PARENT() && 
pControl->GET_REAL_PARENT()->GetType() == WINDOW_TABDIALOG )
-                pControl = pControl->GET_REAL_PARENT();     // Sonderbehandlung fï¿œr TabDialoge
+                pControl = pControl->GET_REAL_PARENT();
             if ( pControl->GET_REAL_PARENT() && pControl->GET_REAL_PARENT()->GetType() == 
WINDOW_BORDERWINDOW )
-                pControl = pControl->GET_REAL_PARENT();     // Sonderbehandlung fï¿œr Border
+                pControl = pControl->GET_REAL_PARENT();
             if ( (nParams & PARAM_BOOL_1) && bBool1 )
                 pControl = pControl->GetWindow( WINDOW_OVERLAP );

@@ -3708,11 +3704,11 @@ sal_Bool StatementControl::HandleVisibleControls( Window *pControl )
             break;
         case M_GetSizeX:
             if ( pControl->GetType() == WINDOW_DOCKINGWINDOW && pControl->GET_REAL_PARENT() && 
pControl->GET_REAL_PARENT()->GetType() == WINDOW_FLOATINGWINDOW )
-                pControl = pControl->GET_REAL_PARENT();     // Sonderbehandlung fï¿œr 
FloatingWindows
+                pControl = pControl->GET_REAL_PARENT();
             if ( pControl->GetType() == WINDOW_TABCONTROL && pControl->GET_REAL_PARENT() && 
pControl->GET_REAL_PARENT()->GetType() == WINDOW_TABDIALOG )
-                pControl = pControl->GET_REAL_PARENT();     // Sonderbehandlung fï¿œr TabDialoge
+                pControl = pControl->GET_REAL_PARENT();
             if ( pControl->GET_REAL_PARENT() && pControl->GET_REAL_PARENT()->GetType() == 
WINDOW_BORDERWINDOW )
-                pControl = pControl->GET_REAL_PARENT();     // Sonderbehandlung fï¿œr Border
+                pControl = pControl->GET_REAL_PARENT();
             if ( (nParams & PARAM_BOOL_1) && bBool1 )
                 pControl = pControl->GetWindow( WINDOW_OVERLAP );

@@ -3720,11 +3716,11 @@ sal_Bool StatementControl::HandleVisibleControls( Window *pControl )
             break;
         case M_GetSizeY:
             if ( pControl->GetType() == WINDOW_DOCKINGWINDOW && pControl->GET_REAL_PARENT() && 
pControl->GET_REAL_PARENT()->GetType() == WINDOW_FLOATINGWINDOW )
-                pControl = pControl->GET_REAL_PARENT();     // Sonderbehandlung fï¿œr 
FloatingWindows
+                pControl = pControl->GET_REAL_PARENT();
             if ( pControl->GetType() == WINDOW_TABCONTROL && pControl->GET_REAL_PARENT() && 
pControl->GET_REAL_PARENT()->GetType() == WINDOW_TABDIALOG )
-                pControl = pControl->GET_REAL_PARENT();     // Sonderbehandlung fï¿œr TabDialoge
+                pControl = pControl->GET_REAL_PARENT();
             if ( pControl->GET_REAL_PARENT() && pControl->GET_REAL_PARENT()->GetType() == 
WINDOW_BORDERWINDOW )
-                pControl = pControl->GET_REAL_PARENT();     // Sonderbehandlung fï¿œr Border
+                pControl = pControl->GET_REAL_PARENT();
             if ( (nParams & PARAM_BOOL_1) && bBool1 )
                 pControl = pControl->GetWindow( WINDOW_OVERLAP );

@@ -3733,11 +3729,11 @@ sal_Bool StatementControl::HandleVisibleControls( Window *pControl )
         case M_SnapShot:
             {
                 if ( pControl->GetType() == WINDOW_DOCKINGWINDOW && pControl->GET_REAL_PARENT() && 
pControl->GET_REAL_PARENT()->GetType() == WINDOW_FLOATINGWINDOW )
-                    pControl = pControl->GET_REAL_PARENT();     // Sonderbehandlung fï¿œr 
FloatingWindows
+                    pControl = pControl->GET_REAL_PARENT();
                 if ( pControl->GetType() == WINDOW_TABCONTROL && pControl->GET_REAL_PARENT() && 
pControl->GET_REAL_PARENT()->GetType() == WINDOW_TABDIALOG )
-                    pControl = pControl->GET_REAL_PARENT();     // Sonderbehandlung fï¿œr 
TabDialoge
+                    pControl = pControl->GET_REAL_PARENT();
                 if ( pControl->GET_REAL_PARENT() && pControl->GET_REAL_PARENT()->GetType() == 
WINDOW_BORDERWINDOW )
-                    pControl = pControl->GET_REAL_PARENT();     // Sonderbehandlung fï¿œr Border
+                    pControl = pControl->GET_REAL_PARENT();
                 if ( (nParams & PARAM_BOOL_1) && bBool1 )
                     pControl = pControl->GetWindow( WINDOW_OVERLAP );

@@ -3762,7 +3758,7 @@ sal_Bool StatementControl::HandleVisibleControls( Window *pControl )
                     nNr4 = std::min((sal_uInt16)(pControl->GetSizePixel().Height() + 
2*(sal_uInt16)aStart.Y()),nNr4);
                 }
                 if( nParams & PARAM_UINT16_4 )
-                {   // Zuschneiden
+                {   // cutting
                     Point aPt(-nNr1,-nNr2);
                     Size aSz(nNr3,nNr4);
                     VirtualDevice aVDev( *pControl );
@@ -3808,9 +3804,9 @@ sal_Bool StatementControl::HandleVisibleControls( Window *pControl )

 sal_Bool StatementControl::HandleCommonMethods( Window *pControl )
 {
-    switch( nMethodId )     // Diese kï¿œnnen an jedem Window ausgefï¿œhrt werden
+    switch( nMethodId )     // can be done with every window
     {
-        case M_Exists:          // Oben schon Behandelt. Unterdrï¿œckt hier nur Fehler
+        case M_Exists:          // already handled above, prevents errors only here
         case M_NotExists:
         case M_IsEnabled:
         case M_IsVisible:
@@ -3831,12 +3827,12 @@ sal_Bool StatementControl::HandleCommonMethods( Window *pControl )
             break;
         case M_TypeKeys:
             {
-                if( !(nParams & PARAM_UINT16_1) )   // Anzahl wiederholungen
+                if( !(nParams & PARAM_UINT16_1) )   // number of repititions
                     nNr1 = 1;
                 if( !(nParams & PARAM_BOOL_1) )     // Follow Focus
-                    bBool1 = sal_False;     // so bleibt das bisherige Verhalten
+                    bBool1 = sal_False;     // that way behaviour stays like before

-                if ( !bBool1 )          // Altes Verhalten
+                if ( !bBool1 )          // old behaviour
                     pControl->GrabFocus();
                 else    // If focus is not inside given control we grab it once.
                 {
@@ -3848,7 +3844,7 @@ sal_Bool StatementControl::HandleCommonMethods( Window *pControl )

                 // maybe this can get removed since we are using GetPreferredKeyInputWindow()
                 if ( pControl->GetType() == WINDOW_COMBOBOX )
-                {   // Bei COMBOBOX an das Edit direkt liefern
+                {
                     Window *pTemp = NULL;
                     for ( sal_uInt16 i = 0 ; i < pControl->GetChildCount() && !pTemp ; i++ )
                         if ( pControl->GetChild( i )->GetType() == WINDOW_EDIT )
@@ -3867,12 +3863,12 @@ sal_Bool StatementControl::HandleCommonMethods( Window *pControl )
                             if ( !pFocus || !pControl->IsWindowOrChild( pFocus, sal_True ) )
                                 pControl->GrabFocus();
                         }
-                        if ( bBool1 )   // Jedesmal das FocusWindow finden
+                        if ( bBool1 )   // finde FocusWindow every time
                         {
                             Window *pFocus = GetpApp()->GetFocusWindow();
                             if ( pFocus && pControl->IsWindowOrChild( pFocus, sal_True ) )
                                 pDeliverHere = pFocus;
-                            else    // sonst fallback auf das Basisfenster
+                            else    // fallback to base window
                                 pDeliverHere = pControl;
                         }
                         pDeliverHere = pDeliverHere->GetPreferredKeyInputWindow();
@@ -3943,7 +3939,7 @@ sal_Bool StatementControl::HandleCommonMethods( Window *pControl )
                                 aEvent = KeyEvent(aCh, KeyCode(KEYGROUP_NUM + aCh-'0', 0));
                             else if ( aPrintableMisc.Search(aCh) != STRING_NOTFOUND )
                                 aEvent = KeyEvent(aCh, KeyCode(KEYGROUP_MISC + 
(sal_uInt16)aPrintableMisc.Search(aCh), 0));
-                            else    // Sollte eigentlich nicht auftreten
+                            else    // Should not happen actually
                                 aEvent = KeyEvent(aCh, KeyCode());
                         }
                         ImplKeyInput( pDeliverHere, aEvent );
@@ -4164,7 +4160,7 @@ sal_Bool StatementControl::HandleCommonMethods( Window *pControl )
                     break;
                 }

-                pControl = pTemp;   // So daᅵ wir unten ohne Fehler durchkommen
+                pControl = pTemp;
                 SplitWindow *pSW = (SplitWindow*) pTemp;

                 switch( nMethodId )
@@ -4374,7 +4370,7 @@ sal_Bool StatementControl::Execute()
     if ( pControl && pControl->GetType() == WINDOW_TOOLBOX )
     {
         if ( !aUId.equals( pControl->GetUniqueOrHelpId() ) )
-        {   // Also wenn wir irgendwas auf einer Toolbox gefunden haben
+        {
             switch ( nMethodId )
             {
                 case M_Click:
@@ -4383,7 +4379,7 @@ sal_Bool StatementControl::Execute()
                 case M_GetState:
                     break;
                 case M_IsEnabled:
-                    nMethodId = _M_IsEnabled;   // Umlabeln, da die Behandlung essentiell anders 
ist!
+                    nMethodId = _M_IsEnabled;   // change label because treatment is essentially 
different
                     break;
                 default:
                     pControl = NULL;
@@ -4398,25 +4394,25 @@ sal_Bool StatementControl::Execute()
         case M_NotExists:
             Time aT;
             sal_uInt16 aSeconds = aT.GetMin()*60+aT.GetSec();
-            if ( !bBool2 )          // wurde im Konstruktor auf sal_False gesetzt
+            if ( !bBool2 )          // has been set to sal_False in the constructor
             {
                 bBool2 = sal_True;
                 nNr2 = aSeconds;
                 if( !(nParams & PARAM_UINT16_1) )
-                    nNr1 = 0;       // defaultmᅵᅵig sofort zurᅵck
+                    nNr1 = 0;
             }
-            if ( aSeconds < nNr2 )          // Falls die Stunde umgesprungen ist
+            if ( aSeconds < nNr2 )
                 aSeconds += 60*60;

             if ( !pControl || !pControl->IsVisible() )
                 pControl = NULL;
             if ( ((nMethodId == M_Exists) && pControl) ||
                  ((nMethodId == M_NotExists) && !pControl) )
-            {   // Wenn Bedingung erfï¿œllt
+            {
                 pRet->GenReturn ( RET_Value, aUId, (comm_BOOL)sal_True );
             }
             else
-                if ( aSeconds <= nNr2 + nNr1 )      // Zeit ist noch nicht abgelaufen
+                if ( aSeconds <= nNr2 + nNr1 )
                     return sal_False;
                 else
                     pRet->GenReturn ( RET_Value, aUId, (comm_BOOL)sal_False );
@@ -4429,7 +4425,7 @@ sal_Bool StatementControl::Execute()

     short nRT = 0;

-    if( pControl )          // Das Fenster Existiert irgendwo, kann aber auch hidden sein!
+    if( pControl )          // the window does exist somewhere but may be hidden
     {
         nRT = ImpGetRType( pControl );
 #if OSL_DEBUG_LEVEL > 1
@@ -4479,7 +4475,7 @@ sal_Bool StatementControl::Execute()
         // TODO: handle GetFocus for all Methods and Windows like this (remove part below)
         //       See for impact of changed focus for HandleVisibleControls() (taking Snapshots 
might be different, possible exclude those methods)
         if (( (nRT == C_TreeListBox) && !bBool2 )
-            && nMethodId != M_TypeKeys          // TypeKeys macht das selbst, falls eigenes 
Focushandling gewï¿œnscht
+            && nMethodId != M_TypeKeys
             && nMethodId != M_MouseDown
             && nMethodId != M_MouseUp
             && nMethodId != M_MouseMove )
@@ -4520,7 +4516,7 @@ sal_Bool StatementControl::Execute()
               || nRT == C_TreeListBox
              )
             || nMethodId == M_OpenContextMenu )
-            && nMethodId != M_TypeKeys          // TypeKeys macht das selbst, falls eigenes 
Focushandling gewï¿œnscht
+            && nMethodId != M_TypeKeys
             && nMethodId != M_MouseDown
             && nMethodId != M_MouseUp
             && nMethodId != M_MouseMove )
@@ -4564,7 +4560,7 @@ sal_Bool StatementControl::Execute()
                             pRet->GenReturn ( RET_Value, aUId, Id2Str( 
((TabControl*)pControl)->GetTabPage(((TabControl*)pControl)->GetCurPageId())->GetUniqueOrHelpId() ) 
);
                             break;
                         case M_SetPage :
-                            {       // Wegen lokaler Variablen
+                            {       // because of local variables
                                 TabControl *pTControl = ((TabControl*)pControl);
                                 sal_uInt16 nActive = pTControl->GetCurPageId();
                                 sal_uInt16 i,anz;
@@ -4590,7 +4586,8 @@ sal_Bool StatementControl::Execute()
                                     i++;
                                     if ( i >= pTControl->GetPageCount() )
                                         i = 0;
-                                    if ( !MaybeDoTypeKeysDelay( pTControl ) || 
!MaybeDoTypeKeysDelay( pTControl ) || !MaybeDoTypeKeysDelay( pTControl ) )   // 3 Mal aufrufen
+                                    if ( !MaybeDoTypeKeysDelay( pTControl ) || 
!MaybeDoTypeKeysDelay( pTControl ) || !MaybeDoTypeKeysDelay( pTControl ) )
+
                                         break;
                                 }
                                 if ( !aID.equals( aWantedID ) )
@@ -4785,7 +4782,7 @@ sal_Bool StatementControl::Execute()
                                             if ( bUnselectBeforeSelect )
                                                 pLB->SetNoSelection();
                                             pLB->SelectEntryPos( nPos, bBool1 );
-                                            if ( pLB->IsEntryPosSelected( nPos ) ? !bBool1 : 
bBool1 )   // XOR rein mit BOOL
+                                            if ( pLB->IsEntryPosSelected( nPos ) ? !bBool1 : 
bBool1 )   // XOR in with BOOL
                                                 ReportError( aUId, GEN_RES_STR2( S_METHOD_FAILED, 
MethodString( nMethodId ), aString1 ) );
                                         }
                                     }
@@ -4798,7 +4795,7 @@ sal_Bool StatementControl::Execute()
                                             if ( bUnselectBeforeSelect )
                                                 pLB->SetNoSelection();
                                             pLB->SelectEntryPos( nNr1-1, bBool1 );
-                                            if ( pLB->IsEntryPosSelected( nNr1-1 ) ? !bBool1 : 
bBool1 ) // XOR rein mit BOOL
+                                            if ( pLB->IsEntryPosSelected( nNr1-1 ) ? !bBool1 : 
bBool1 ) // XOR in with BOOL
                                                 ReportError( aUId, GEN_RES_STR2( S_METHOD_FAILED, 
MethodString( nMethodId ), UniString::CreateFromInt32( nNr1 ) ) );
                                         }
                                     }
@@ -5042,7 +5039,7 @@ sal_Bool StatementControl::Execute()
                         if ( !aUId.equals( pTB->GetUniqueOrHelpId() ) ) // So we found a Button on 
the ToolBox
                         {
                             if ( (nParams == PARAM_NONE) || (nParams == PARAM_UINT16_1) )
-                            {           // Wir fï¿œlschen einen Parameter
+                            {           // we fake a Parameter
                                 nParams |= PARAM_STR_1;
                                 aString1 = Id2Str( aUId );
                             }
@@ -5113,7 +5110,7 @@ sal_Bool StatementControl::Execute()
                             case M_Click :
                                 {
                                     FIND_ITEM;
-                                    if ( bItemFound )   // FIND_ITEM Erfolgreich
+                                    if ( bItemFound )
                                     {
                                         Rectangle aRect = 
pTB->GetItemRect(pTB->GetItemId(nItemPos));
                                         if ( aRect.IsEmpty() )
@@ -5141,7 +5138,7 @@ sal_Bool StatementControl::Execute()
                             case M_TearOff :
                                 {
                                     FIND_ITEM;
-                                    if ( bItemFound )   // FIND_ITEM Erfolgreich
+                                    if ( bItemFound )
                                     {
                                         Rectangle aRect = pTB->GetItemPosDropDownRect( nItemPos );
                                         AnimateMouse( pControl, aRect.Center() );
@@ -5150,13 +5147,13 @@ sal_Bool StatementControl::Execute()

                                         Window *pWin = NULL;
                                         // Wait for the window to open.
-                                        StatementList::bExecuting = sal_True;       // Bah ist das 
ein ekliger Hack
-                                        {                                           // Das 
verhindert, daᅵ schon der nᅵchste Befehl ausgefᅵhrt wird.
+                                        StatementList::bExecuting = sal_True;
+                                        {
                                             Time aDelay;
                                             while ( !pWin && ( (pWin = GetPopupFloatingWin()) == 
NULL ) && ( Time() - aDelay ).GetSec() < 15 )
                                                 SafeReschedule();
                                         }
-                                        StatementList::bExecuting = sal_False;  // Bah ist das ein 
ekliger Hack
+                                        StatementList::bExecuting = sal_False;

                                         if ( pWin && pWin->GetType() == WINDOW_FLOATINGWINDOW )
                                         {
@@ -5176,7 +5173,7 @@ sal_Bool StatementControl::Execute()
                             case M_OpenMenu :
                                 {
                                     FIND_ITEM;
-                                    if ( bItemFound )   // FIND_ITEM Erfolgreich
+                                    if ( bItemFound )
                                     {
                                         Rectangle aRect = pTB->GetItemPosDropDownRect( nItemPos );
                                         AnimateMouse( pControl, aRect.Center() );
@@ -5184,7 +5181,7 @@ sal_Bool StatementControl::Execute()
                                         ImplMouseButtonDown( pTB, aMEvnt);
                                         ImplMouseButtonUp( pTB, aMEvnt);

-                                        // Das Fenster ist offen.
+                                        // window is opened
                                         aSubMenuId1 = 0;
                                         aSubMenuId2 = 0;
                                         aSubMenuId3 = 0;
@@ -5195,7 +5192,7 @@ sal_Bool StatementControl::Execute()
                             case _M_IsEnabled:
                                 {
                                     FIND_ITEM;
-                                    if ( bItemFound )   // FIND_ITEM Erfolgreich
+                                    if ( bItemFound )
                                     {
                                         pRet->GenReturn ( RET_Value, aUId, pTB->IsItemEnabled( 
pTB->GetItemId(nItemPos) ) );
                                     }
@@ -5204,7 +5201,7 @@ sal_Bool StatementControl::Execute()
                             case M_GetState :
                                 {
                                     FIND_ITEM;
-                                    if ( bItemFound )   // FIND_ITEM Erfolgreich
+                                    if ( bItemFound )
                                     {
                                         if ( ValueOK( aUId, CUniString("GetState"), nNr1, 4 ) )
                                             switch (nNr1)
@@ -5257,7 +5254,7 @@ sal_Bool StatementControl::Execute()
                             case M_IsMax:
                             case M_Minimize:
                             case M_Maximize:
-                            case M_Help:        // Alles was unten weiterbehandelt werden soll
+                            case M_Help:        // everything that shall be handled below
                                 goto DockingWin;
                             default:
                                 ReportError( aUId, GEN_RES_STR2c2( S_UNKNOWN_METHOD, 
MethodString(nMethodId), "ToolBox" ) );
@@ -5971,7 +5968,7 @@ sal_Bool StatementControl::Execute()
                             else
                                 ReportError( aUId, GEN_RES_STR1( S_ALLOWED_ONLY_IN_DOCKING_MODE, 
MethodString( nMethodId ) ) );
                             break;
-                        case M_Help:        // Alles was unten weiterbehandelt werden soll
+                        case M_Help:
                             goto MoreDialog;

                         default:
@@ -6019,7 +6016,7 @@ sal_Bool StatementControl::Execute()
                             SET_WINP_CLOSING(pControl);
                             ((FloatingWindow*)pControl)->Close();
                             break;
-                        case M_Help:        // Alles was unten weiterbehandelt werden soll
+                        case M_Help:
                         case M_Move:
                             goto MoreDialog;
                         default:
@@ -6122,7 +6119,7 @@ sal_Bool StatementControl::Execute()
                             ((WorkWindow*)pControl)->Maximize( sal_False );
                             ((WorkWindow*)pControl)->Restore();
                             break;
-                        case M_Help:        // Alles was unten weiterbehandelt werden soll
+                        case M_Help:
                             goto MoreDialog;
                         default:
                             ReportError( aUId, GEN_RES_STR2c2( S_UNKNOWN_METHOD, 
MethodString(nMethodId), "WorkWindow" ) );
diff --git a/automation/source/server/statemnt.hxx b/automation/source/server/statemnt.hxx
index d278ae2..48d3a51 100644
--- a/automation/source/server/statemnt.hxx
+++ b/automation/source/server/statemnt.hxx
@@ -27,9 +27,9 @@
  ************************************************************************/
 /***************************************************************************
 **
-**       Von StatementList werden alle Statements abgeleitet.
-**   Es gibt immer nur eine Statementliste, die verpointert ist.
-**       jederzeit kann das der Anfang der Kette abgefragt werden.
+**   All statements are derived from StatementList.
+**   There is never more than one statementlist with a pointer on it.
+**   The beginning of the chain can always be requested.
 **
 ***************************************************************************/
 #ifndef _STATEMNT_HXX
@@ -106,8 +106,8 @@ public:
     sal_Bool HasSearchFlag( SearchFlags aQueryFlag ) { return (nmSearchFlags & aQueryFlag) == 
aQueryFlag; }
 };

-sal_Bool IsDialog(Window *pWin);        // Ist *pWin von SystemWindow abgeleitet (Kann es Active 
sein)
-sal_Bool IsAccessable(Window *pWin);    // Ist *pWin Zugreifbar (ï¿œber IsEnabled und Parents 
geprï¿œft)
+sal_Bool IsDialog(Window *pWin);        // is *pWin derived from SystemWindow? (can it be active?)
+sal_Bool IsAccessable(Window *pWin);    // is *pWin accessible (tested with IsEnabled and parents)


 class SafePointer
@@ -163,12 +163,12 @@ protected:

     static sal_Bool bIsInReschedule;
         static sal_uInt16 nModalCount;
-    static Window *pLastFocusWindow;        // Wenn dieses sich ï¿œndert wird Safe Reschedule 
abgebrochen
-    static sal_Bool bWasDragManager;            // Wenn dieses sich ï¿œndert wird Safe Reschedule 
abgebrochen
-    static sal_Bool bWasPopupMenu;              // Wenn dieses sich ï¿œndert wird Safe Reschedule 
abgebrochen
+    static Window *pLastFocusWindow;        // Safe Reschedule will be cancelled if this changes
+    static sal_Bool bWasDragManager;        // Safe Reschedule will be cancelled if this changes
+    static sal_Bool bWasPopupMenu;          // Safe Reschedule will be cancelled if this changes
        static sal_Bool bBasicWasRunning;

-    static sal_uInt16 nMinTypeKeysDelay;                /// Verzï¿œgerung der einzelnen 
Anschlï¿œge fï¿œr TypeKeys
+    static sal_uInt16 nMinTypeKeysDelay;
     static sal_uInt16 nMaxTypeKeysDelay;
     static sal_Bool bDoTypeKeysDelay;

@@ -178,7 +178,7 @@ protected:

 public:
     static sal_Bool IsInReschedule() { return bIsInReschedule; }
-    void SafeReschedule( sal_Bool bYield = sal_False )  // Setzt Flag, so daᅵ nicht schon der 
nï¿œchste Befehl ausgefï¿œhrt wird
+    void SafeReschedule( sal_Bool bYield = sal_False )  // sets flag so that the next command is 
not executed yet
     {
         nModalCount = Application::GetModalModeCount();
         bIsInReschedule = sal_True;
@@ -200,7 +200,7 @@ public:
         nModalCount = 0;
     }
     static sal_Bool MaybeResetSafeReschedule()
-    {       // Implementierung muᅵ hier zwar nicht sein, ist aber ᅵbersichtlicher so
+    {
         if ( !bIsInReschedule )
             return sal_False;

@@ -216,7 +216,7 @@ public:
         else
             return sal_False;
     }
-    static void NormalReschedule()  // Setzt das flag nicht
+    static void NormalReschedule()  // does not set the flag
     {
         GetpApp()->Reschedule();
     }
@@ -249,13 +249,12 @@ public:
     void Advance();
     virtual sal_Bool Execute() = 0;
 /***************************************************************************
-** Bestimmt erst den nï¿œchsten Befehl, setzt Current
-** und fï¿œhrt dann aus.
-** Returnwert gibt an, ob Befehl nochmal ausgefï¿œhrt
-** werden soll. Dann muᅵ auch der UserEvent verlassen werden, um der Applikation
-** normales Arbeiten zu ermï¿œglichen (Dialog schliessen)
-** sal_True bedeutet, dass alles klar gegangen ist
-** sal_False bedeutet nochmal Bitte
+** Gets the next command first, sets current and executes then.
+** Return value tells whether the command shall be executed again.
+** Then the UserEvent must be left to allow the application for
+** normal work (close dialog).
+** sal_True means that everything's OK
+** sal_False means again please
 ***************************************************************************/

     void ReportError(String aMessage);
@@ -277,16 +276,16 @@ public:
     static RetStream *pRet;
     static sal_Bool IsError;
     static sal_Bool bDying;
-    static sal_Bool bExecuting;             // Gesetzt, wenn ein Befehl rescheduled ohne einen 
neuen Befehl zu erlauben
-    sal_Bool bWasExecuting;                 // Wurde bei einem MaybeResetSafeReschedule resettet, 
so wird der Zustand danach wiederhergestellt
-    static sal_uInt16 aSubMenuId1;          // Untermenï¿œs bei PopupMenus
-    static sal_uInt16 aSubMenuId2;          // erstmal 2-Stufig
+    static sal_Bool bExecuting;             // is set when a command reschedules without allowing 
a new command
+    sal_Bool bWasExecuting;                 // if it has been resetted during a 
MaybeResetSafeReschedule, the same condition is restored after
+    static sal_uInt16 aSubMenuId1;          // submenus in PopUpMenus
+    static sal_uInt16 aSubMenuId2;          // 2 levels at first
     static sal_uInt16 aSubMenuId3;          // and now even 3 levels #i31512#
     static SystemWindow *pMenuWindow;   // when using MenuBar as base for MenuCommands
-    static TTProperties *pTTProperties; // Hier stehen die SlotIDs aus dem SFX drin
+    static TTProperties *pTTProperties; // here are the SlotIDs from the SFX

-    sal_Bool CheckWindowWait();         //True heisst, dass Window noch existiert
-                                    //False -> Window weg;
+    sal_Bool CheckWindowWait();         // true means that the window still exists,
+                                        // false that it does not
     static void SetFirstDocFrame( Window* pWin );
     static Window* GetFirstDocFrame();
     static sal_Bool IsFirstDocFrame( Window* pWin );
@@ -305,7 +304,7 @@ public:
 #endif
 };

-class StatementSlot : public StatementList  //Slots aufrufen
+class StatementSlot : public StatementList  // call slots
 {
 protected:
     sal_uInt16 nAnzahl;
@@ -324,7 +323,7 @@ public:
     virtual sal_Bool Execute();
 };

-class StatementUnoSlot : public StatementSlot   //Uno Slots aufrufen
+class StatementUnoSlot : public StatementSlot   // call uno slots
 {
 public:
     StatementUnoSlot(SCmdStream *pIn);
@@ -336,7 +335,7 @@ union munge
     Window *pWindow;
 };

-class StatementCommand : public StatementList   // Befehl ausfï¿œhren (wintree, resetaplication 
...)
+class StatementCommand : public StatementList   // execute command (wintree, resetaplication ...)
 {
     friend class ImplRemoteControl;
 protected:
@@ -397,7 +396,7 @@ public:

 };

-class StatementFlow : public StatementList      // Kommunikation mit Sequence
+class StatementFlow : public StatementList      // communication with sequence
 {
     sal_uInt16 nArt;

@@ -415,8 +414,8 @@ public:
     static CommunicationLink *pCommLink;
     static sal_Bool bSending;

-    static sal_Bool bUseIPC;    // Soll zur rï¿œckmeldung IPC verwendet werden?
-    static ImplRemoteControl *pRemoteControl;   // Static fï¿œr 2. Constructor
+    static sal_Bool bUseIPC;
+    static ImplRemoteControl *pRemoteControl;   // static for second constructor

 private:
     void SendViaSocket();
diff --git a/automation/source/simplecm/packethandler.cxx 
b/automation/source/simplecm/packethandler.cxx
index aac5804..d6ba5b3 100644
--- a/automation/source/simplecm/packethandler.cxx
+++ b/automation/source/simplecm/packethandler.cxx
@@ -99,7 +99,7 @@ comm_BOOL PacketHandler::ReceiveData( void* &pData, comm_UINT32 &nLen )
         if ( bWasError )
             return sal_False;

-        if ( 0xFFFFFFFF == nBytes )     // Expliziter Request fï¿œr dieses Datenpaket auf 
MultiChannel umzuschalten
+        if ( 0xFFFFFFFF == nBytes )     // explicit request for this data package to switch to 
MultiChannel
         {
             READ_SOCKET( &nBytes, sizeof(nBytes) )
             if ( bWasError )
@@ -114,17 +114,14 @@ comm_BOOL PacketHandler::ReceiveData( void* &pData, comm_UINT32 &nLen )
             comm_UINT32 nReadSoFar = 0;
             comm_UINT32 nHeaderReadSoFar = 0;

-            // Prï¿œfbyte fï¿œr Lï¿œngenangabe
             unsigned char nLenCheck = 0;
             READ_SOCKET_LEN( &nLenCheck, 1, nReadSoFar );
-            // Stimmt das Prï¿œfbyte?
             bWasError |= nLenCheck != CalcCheckByte( nBytes );


             comm_UINT16 nHeaderBytes;
             READ_SOCKET_LEN( &nHeaderBytes, 2, nReadSoFar );
             nHeaderBytes = NETWORD( nHeaderBytes );
-            // reicht der Header ï¿œber das Ende hinaus?
             bWasError |= !(nBytes >= nReadSoFar + nHeaderBytes);

             READ_SOCKET_LEN( &nReceiveHeaderType, 2, nHeaderReadSoFar );
@@ -153,7 +150,7 @@ comm_BOOL PacketHandler::ReceiveData( void* &pData, comm_UINT32 &nLen )
             if ( bWasError )
                 return sal_False;

-            /// Lï¿œngen anpassen und ggf restheader ï¿œberlesen.
+
             while ( nHeaderBytes > nHeaderReadSoFar )
             {
                 unsigned char nDummy;
@@ -211,13 +208,13 @@ comm_BOOL PacketHandler::TransferData( const void* pData, comm_UINT32 nLen, 
CMPr
 #ifndef FORCE_MULTI_CHANNEL_HEADERS
     if ( bMultiChannel )
 #endif
-        nBuffer += 1+2+2+2; // fï¿œr einen CH_SimpleMultiChannel
+        nBuffer += 1+2+2+2; // for a CH_SimpleMultiChannel

 #ifdef FORCE_MULTI_CHANNEL_HEADERS
     if ( !bMultiChannel )
     {
         comm_UINT32 n32;
-        n32 = 0xffffffff;   // Umschalten auf MultiChannel
+        n32 = 0xffffffff;   // switch to MultiChannel
         n32 = NETDWORD( n32 );
         WRITE_SOCKET( &n32, 4 );
     }
@@ -238,11 +235,11 @@ comm_BOOL PacketHandler::TransferData( const void* pData, comm_UINT32 nLen, 
CMPr
         c = CalcCheckByte( nBuffer );
         WRITE_SOCKET( &c, 1 );

-        n16 = 4;    // Lï¿œnge des Headers fï¿œr einen CH_SimpleMultiChannel
+        n16 = 4;    // header length for a CH_SimpleMultiChannel
         n16 = NETWORD( n16 );
         WRITE_SOCKET( &n16, 2 );

-        n16 = CH_SimpleMultiChannel;    // Typ des Headers
+        n16 = CH_SimpleMultiChannel;    // header type
         n16 = NETWORD( n16 );
         WRITE_SOCKET( &n16, 2 );

@@ -260,24 +257,24 @@ comm_BOOL PacketHandler::SendHandshake( HandshakeType aHandshakeType, const 
void

     comm_UINT32 nBuffer = 0;

-//  if ( pMyManager->IsMultiChannel() )     Wir senden immer FFFFFFFF vorweg -> immer MultiChannel 
(Oder GPF bei ï¿œlteren)
-        nBuffer += 1+2+2;   // fï¿œr einen CH_Handshake
+//  if ( pMyManager->IsMultiChannel() )     we always send FFFFFFFF before -> always MultiChannel 
(or GPF for older ones)
+        nBuffer += 1+2+2;   // for a CH_Handshake

-    nBuffer += 2;   // fï¿œr den Typ des Handshakes
+    nBuffer += 2;   // for the Handshake's type

     switch ( aHandshakeType )
     {
         case CH_REQUEST_HandshakeAlive:
-            nBuffer += 0;   // Keine extra Daten
+            nBuffer += 0;   // no extra data
             break;
         case CH_RESPONSE_HandshakeAlive:
-            nBuffer += 0;   // Keine extra Daten
+            nBuffer += 0;   // no extra data
             break;
         case CH_REQUEST_ShutdownLink:
-            nBuffer += 0;   // Keine extra Daten
+            nBuffer += 0;   // no extra data
             break;
         case CH_ShutdownLink:
-            nBuffer += 0;   // Keine extra Daten
+            nBuffer += 0;   // no extra data
             break;
         case CH_SUPPORT_OPTIONS:
             nBuffer += 2 ;  // one word extradata for options
@@ -293,7 +290,7 @@ comm_BOOL PacketHandler::SendHandshake( HandshakeType aHandshakeType, const void
         nBuffer += nLen;    // Extra data in Buffer

     comm_UINT32 n32;
-    n32 = 0xffffffff;   // Umschalten auf MultiChannel
+    n32 = 0xffffffff;   // switch to MultiChannel
     n32 = NETDWORD( n32 );
     WRITE_SOCKET( &n32, 4 );

@@ -307,15 +304,15 @@ comm_BOOL PacketHandler::SendHandshake( HandshakeType aHandshakeType, const 
void
     c = CalcCheckByte( nBuffer );
     WRITE_SOCKET( &c, 1 );

-    n16 = 2;    // Lï¿œnge des Headers fï¿œr einen CH_Handshake
+    n16 = 2;    // header's length for a CH_Handshake
     n16 = NETWORD( n16 );
     WRITE_SOCKET( &n16, 2 );

-    n16 = CH_Handshake; // Typ des Headers
+    n16 = CH_Handshake; // the header's type
     n16 = NETWORD( n16 );
     WRITE_SOCKET( &n16, 2 );

-    n16 = aHandshakeType;   // Typ des Handshakes
+    n16 = aHandshakeType;   // the header's type
     n16 = NETWORD( n16 );
     WRITE_SOCKET( &n16, 2 );

diff --git a/automation/source/testtool/cmdstrm.cxx b/automation/source/testtool/cmdstrm.cxx
index 0e7adc9..b6f3d31 100644
--- a/automation/source/testtool/cmdstrm.cxx
+++ b/automation/source/testtool/cmdstrm.cxx
@@ -90,7 +90,7 @@ String CmdStream::WandleKeyEventString( String aKeys )
         if ( nPos2 != STRING_NOTFOUND )
         {
             String Work = aKeys.Copy(nPos1+1,nPos2-nPos1+1-2);
-            aKeys.Erase(nPos1,nPos2-nPos1+1);   // Inclusive Spitze Klammern weg
+            aKeys.Erase(nPos1,nPos2-nPos1+1);   // includes removing <>'s
             String Result, Token;
             sal_uInt16 nModify = 0;
             while ( Work.Len() > 0 )
@@ -182,7 +182,7 @@ void CmdStream::WriteSortedParams( SbxArray* rPar, sal_Bool IsKeyString )
         {
             switch (rPar->Get( i )->GetType())
             {
-                case SbxLONG:       // alles immer als Short ï¿œbertragen
+                case SbxLONG:       // always pass everything as Short
                 case SbxULONG:
                 case SbxSALINT64:
                 case SbxSALUINT64:
@@ -321,15 +321,15 @@ void CmdStream::GenCmdSlot( sal_uInt16 nNr, SbxArray* rPar )
     Write(nNr);
     if (rPar)
     {
-        sal_uInt16 nAnz = (rPar->Count()-1) >> 1;   // Geteilt durch 2
+        sal_uInt16 nAnz = (rPar->Count()-1) >> 1;
         Write(nAnz);
         sal_Bool bWriteUnoSlot = rPar->Get( 1 )->GetType() == SbxSTRING;

         for (sal_uInt16 n = 1 ; n <= nAnz ; n++)
         {
-            /// #59513# nicht mehr benï¿œtigt
+            /// #59513# not necessary anymore
 //          sal_uLong nUserData = rPar->Get( 2*n-1 )->GetUserData();
-//          rPar->Get( 2*n-1 )->SetUserData(ID_DoNothing);  // Verhindert Ausfï¿œhrung der Slots, 
die als Parameter ï¿œbergeben sind.
+//          rPar->Get( 2*n-1 )->SetUserData(ID_DoNothing);  // prevents execution of the slots 
that are passed as parameters

             if ( bWriteUnoSlot )
                 Write(rPar->Get( 2*n-1 )->GetString());
@@ -360,7 +360,7 @@ void CmdStream::GenCmdSlot( sal_uInt16 nNr, SbxArray* rPar )
                 case SbxCHAR:
                     if ( !bWriteUnoSlot )
                         Write( (sal_uInt16)BinString);
-                    Write((String)rPar->Get( 2*n )->GetString());    // Cast fï¿œr OS/2
+                    Write((String)rPar->Get( 2*n )->GetString());    // Cast for OS/2
                     break;
                 case SbxBOOL:
                     if ( !bWriteUnoSlot )
@@ -383,20 +383,20 @@ void CmdStream::GenCmdSlot( sal_uInt16 nNr, SbxArray* rPar )
 void CmdStream::GenCmdUNOSlot( const String &aURL )
 {
     Write( sal_uInt16(SIUnoSlot) );
-/*  Write( sal_uInt16(0) );     // Hier wird im Office die SID_OPENURL Eingetragen.
-                            // Dies muᅵ natᅵrlich im Office hart verdratet werden und nicht 
hier,
-                            // da sich die ID ja mal ï¿œndern kann.
+/*  Write( sal_uInt16(0) );     // The SID_OPENURL is entered here.
+                            // That must be wired hard in the Office and not here of course
+                            // as the ID might change

-    // Da auch die ID fᅵr das PoolItem im Office entnommen werden muᅵ hier also kein PoolItem
-    // gesendet werden.
+    // Because the ID must also be taken for the PoolItem from the Office, it is not
+    // necessary to send a PoolItem here.

-    Write( sal_uInt16(0) );     // Anzahl PoolItems
+    Write( sal_uInt16(0) );     // number of PoolItems

-    // Stattdessen wird noch eine extra String gesendet, der dann Officeseitig in ein
-    // SfxStringItem mit entsprechender ID gewandelt wird.
-    Write( aURL );          // String fï¿œr das PoolItem*/
+    // instead there's an extra string sent by the Office which is changed to an
+    // SfxStringItem with the respective ID
+    Write( aURL );          // String for the PoolItem*/

-    Write( aURL );          // Die UNO URL eben
+    Write( aURL );          // UNO URL
 }

 void CmdStream::GenCmdControl( comm_UINT32 nUId, sal_uInt16 nMethodId, SbxArray* rPar )
@@ -419,14 +419,14 @@ void CmdStream::GenCmdFlow( sal_uInt16 nArt )
 {
     Write(sal_uInt16(SIFlow));
     Write(nArt);
-    Write(sal_uInt16(PARAM_NONE));              // Typ der folgenden Parameter
+    Write(sal_uInt16(PARAM_NONE));              // type of the following parameters
 }

 void CmdStream::GenCmdFlow( sal_uInt16 nArt, comm_UINT32 nNr1 )
 {
     Write(sal_uInt16(SIFlow));
     Write(nArt);
-    Write(sal_uInt16(PARAM_UINT32_1));          // Typ der folgenden Parameter
+    Write(sal_uInt16(PARAM_UINT32_1));          // type of the following parameters
     Write(nNr1);
 }

diff --git a/automation/source/testtool/cmdstrm.hxx b/automation/source/testtool/cmdstrm.hxx
index 5dac92d..7b8afef 100644
--- a/automation/source/testtool/cmdstrm.hxx
+++ b/automation/source/testtool/cmdstrm.hxx
@@ -57,11 +57,11 @@ public:

     SvMemoryStream* GetStream();

-    static CNames *pKeyCodes;           // Namen der Sondertasten  MOD1, F1, LEFT ...
+    static CNames *pKeyCodes;           // names of special keys  MOD1, F1, LEFT ...
     static ControlDefLoad const arKeyCodes [];

 private:
-    String WandleKeyEventString( String aKeys );    // Nutzt pKeyCodes.  <RETURN> <SHIFT LEFT LEFT>
+    String WandleKeyEventString( String aKeys );    // uses pKeyCodes.  <RETURN> <SHIFT LEFT LEFT>

     using CmdBaseStream::Write;
     void Write( comm_UINT16 nNr ){CmdBaseStream::Write( nNr );}
diff --git a/automation/source/testtool/comm_bas.cxx b/automation/source/testtool/comm_bas.cxx
index 7c42d22..ebb4297 100644
--- a/automation/source/testtool/comm_bas.cxx
+++ b/automation/source/testtool/comm_bas.cxx
@@ -38,80 +38,80 @@
 #include <automation/communi.hxx>
 #include <basic/ttstrhlp.hxx>

-// Der CommunicationManager hat folgende Elemente:
+// The CommunicationManager consists of the following elements:
 // 1) Properties:
-//    Keine
-// 2) Methoden:
+//    none
+// 2) Methods:
 //    CommunicationLink StartCommunication( Host, Port )
-//    StopAllCommunication      // Alle Kommunikation wird abgebrochen
-//    sal_Bool IsCommunicationRunning       // Läuft noch irgendwas
-//    String GetMyName      Der eigene Name
-//    sal_Bool IsLinkValid( CommunicationLink )     // Ist dieser Link noch gültig
-//    SetCommunicationEventHandler( String )    // Diese Funktion wird aufgerufen bei jedem Event
+//    StopAllCommunication
+//    sal_Bool IsCommunicationRunning
+//    String GetMyName
+//    sal_Bool IsLinkValid( CommunicationLink )
+//    SetCommunicationEventHandler( String )

-// Der CommunicationLink hat folgende Elemente:
+// The CommunicationLink consists of the following elements:
 // 1) Properties:
-//    Keine
-// 2) Methoden:
-//    StopCommunication     Die Kommunikation wird abgebrochen
-//    String GetMyName      Der eigene Name
-//    String GetHostName    Der Name des Anderen
-//    Send(String )         String an den Partner schicken
-//    String GetString      Ergebnis des letzten Empfangs
+//    none
+// 2) Methods:
+//    StopCommunication
+//    String GetMyName
+//    String GetHostName
+//    Send( String )
+//    String GetString


-// Diese Implementation ist ein Beispiel fuer eine tabellengesteuerte
-// Version, die sehr viele Elemente enthalten kann. Die Elemente werden
-// je nach Bedarf aus der Tabelle in das Objekt uebernommen.
+// This implementation is an example for a table-controlled
+// version that can contain a lot of elements. The elements are
+// taken from the table to the object when needed.

-// Das nArgs-Feld eines Tabelleneintrags ist wie folgt verschluesselt:
+// The nArgs-field of a table entry is encrypted as follows:

-#define _ARGSMASK   0x00FF  // Bis zu 255 Argumente
-#define _RWMASK     0x0F00  // Maske fuer R/W-Bits
-#define _TYPEMASK   0xF000  // Maske fuer den Typ des Eintrags
+#define _ARGSMASK   0x00FF  // up to 255 arguments
+#define _RWMASK     0x0F00  // mask for R/W-Bits
+#define _TYPEMASK   0xF000  // mask for the entry type

-#define _READ       0x0100  // kann gelesen werden
-#define _BWRITE     0x0200  // kann as Lvalue verwendet werden
-#define _LVALUE     _BWRITE  // kann as Lvalue verwendet werden
-#define _READWRITE  0x0300  // beides
-#define _OPT        0x0400  // TRUE: optionaler Parameter
-#define _METHOD     0x1000  // Masken-Bit fuer eine Methode
-#define _PROPERTY   0x2000  // Masken-Bit fuer eine Property
-#define _COLL       0x4000  // Masken-Bit fuer eine Collection
-                            // Kombination von oberen Bits:
-#define _FUNCTION   0x1100  // Maske fuer Function
-#define _LFUNCTION  0x1300  // Maske fuer Function, die auch als Lvalue geht
-#define _ROPROP     0x2100  // Maske Read Only-Property
-#define _WOPROP     0x2200  // Maske Write Only-Property
-#define _RWPROP     0x2300  // Maske Read/Write-Property
-#define _COLLPROP   0x4100  // Maske Read-Collection-Element
+#define _READ       0x0100  // can be read
+#define _BWRITE     0x0200  // can be used as Lvalue
+#define _LVALUE     _BWRITE  // can be used as Lvalue
+#define _READWRITE  0x0300  // both
+#define _OPT        0x0400  // TRUE: optional parameter
+#define _METHOD     0x1000  // mask bit for a method
+#define _PROPERTY   0x2000  // mask bit for a property
+#define _COLL       0x4000  // mask bit for a collection
+                            // combination of bits above:
+#define _FUNCTION   0x1100  // mask for a function
+#define _LFUNCTION  0x1300  // mask for a function, that works as Lvalue too
+#define _ROPROP     0x2100  // mask Read Only-Property
+#define _WOPROP     0x2200  // mask Write Only-Property
+#define _RWPROP     0x2300  // mask Read/Write-Property
+#define _COLLPROP   0x4100  // mask Read-Collection-Element

-#define COLLNAME    "Elements"  // Name der Collection, hier mal hart verdrahtet
+#define COLLNAME    "Elements"  // the collection's name, here wired hard



 CommunicationWrapper::Methods CommunicationWrapper::aManagerMethods[] = {
-// Neue Kommunikation aufbauen
+
 { "StartCommunication", SbxEMPTY, &CommunicationWrapper::MStartCommunication, 2 | _FUNCTION },
-    // Zwei Named Parameter
+
     { "Host", SbxSTRING, NULL, 0 },
     { "Port", SbxLONG, NULL, 0 },
-// Alle Kommunikation wird abgebrochen
+
 { "StopAllCommunication", SbxEMPTY, &CommunicationWrapper::MStopAllCommunication, 0 | _FUNCTION },
-// Läuft noch irgendwas
+
 { "IsCommunicationRunning", SbxBOOL, &CommunicationWrapper::MIsCommunicationRunning, 0 | _FUNCTION 
},
-// Hostname als FQDN erfragen
+// as FQDN
 { "GetMyName", SbxSTRING, &CommunicationWrapper::MGetMyName, 0 | _FUNCTION },
-// Abfragen ob der Link überhaupt noch gültig ist
+
 { "IsLinkValid", SbxBOOL, &CommunicationWrapper::MIsLinkValid, 1 | _FUNCTION },
-    // Ein Named Parameter
+
     { "Link", SbxOBJECT, NULL, 0 },
-// Dieser Handler wird dauernd gerufen
+
 { "SetCommunicationEventHandler", SbxEMPTY, &CommunicationWrapper::MSetCommunicationEventHandler, 
1 | _FUNCTION },
-    // Ein Named Parameter
+
     { "FuncName", SbxSTRING, NULL, 0 },

-{ NULL, SbxNULL, NULL, -1 }};  // Tabellenende
+{ NULL, SbxNULL, NULL, -1 }}; // end of the table



@@ -119,26 +119,26 @@ CommunicationWrapper::Methods CommunicationWrapper::aManagerMethods[] = {


 CommunicationWrapper::Methods CommunicationWrapper::aLinkMethods[] = {
-// Die Kommunikation wird abgebrochen
+
 { "StopCommunication", SbxEMPTY, &CommunicationWrapper::LStopCommunication, 0 | _FUNCTION },
-// Der eigene Name
+
 { "GetMyName", SbxSTRING, &CommunicationWrapper::LGetMyName, 0 | _FUNCTION },
-// Der Name des Anderen
+
 { "GetHostName", SbxSTRING, &CommunicationWrapper::LGetHostName, 0 | _FUNCTION },
-// String an den Partner schicken
+
 { "Send", SbxEMPTY, &CommunicationWrapper::LSend, 1 | _FUNCTION },
-    // Ein Named Parameter
+
     { "SendString", SbxSTRING, NULL, 0 },
-// Ergebnis des letzten Empfangs
+
 { "GetString", SbxSTRING, &CommunicationWrapper::LGetString, 0 | _FUNCTION },

-{ NULL, SbxNULL, NULL, -1 }};  // Tabellenende
+{ NULL, SbxNULL, NULL, -1 }};  // end of the table





-// Konstruktor für den Manager
+// constructor for the manager
 CommunicationWrapper::CommunicationWrapper( const String& rClass ) : SbxObject( rClass )
 , m_pLink( NULL )
 , m_bIsManager( sal_True )
@@ -152,7 +152,7 @@ CommunicationWrapper::CommunicationWrapper( const String& rClass ) : SbxObject(
     m_pManager->SetDataReceivedHdl( LINK( this, CommunicationWrapper, Data ) );
 }

-// Konstruktor für den Link
+// constructor for the link
 CommunicationWrapper::CommunicationWrapper( CommunicationLink *pThisLink ) : SbxObject( 
CUniString("Link") )
 , m_pLink( pThisLink )
 , m_bIsManager( sal_False )
@@ -163,7 +163,7 @@ CommunicationWrapper::CommunicationWrapper( CommunicationLink *pThisLink ) : Sbx
     m_pManager = (CommunicationManagerClientViaSocket*)pThisLink->GetCommunicationManager();
 }

-// Destruktor
+// deconstructor
 CommunicationWrapper::~CommunicationWrapper()
 {
     if ( m_bIsManager )
@@ -171,20 +171,20 @@ CommunicationWrapper::~CommunicationWrapper()
 }


-// Suche nach einem Element:
-// Hier wird linear durch die Methodentabelle gegangen, bis eine
-// passende Methode gefunden wurde.
-// Wenn die Methode/Property nicht gefunden wurde, nur NULL ohne
-// Fehlercode zurueckliefern, da so auch eine ganze Chain von
-// Objekten nach der Methode/Property befragt werden kann.
+// Search for an element:
+// Here it goes through the method table until an appropriate one
+// has been found.
+// If the method/property has not been found, get back only NULL
+// without error code because that way a whole chain of objects
+// can be asked for the method/property.

 SbxVariable* CommunicationWrapper::Find( const String& rName, SbxClassType t )
 {
-    // Ist das Element bereits vorhanden?
+    // Does the element exist already?
     SbxVariable* pRes = SbxObject::Find( rName, t );
     if( !pRes && t != SbxCLASS_OBJECT )
     {
-        // sonst suchen
+        // look for it if not
         Methods* p = m_pMethods;
         short nIndex = 0;
         sal_Bool bFound = sal_False;
@@ -199,7 +199,7 @@ SbxVariable* CommunicationWrapper::Find( const String& rName, SbxClassType t )
         }
         if( bFound )
         {
-            // Args-Felder isolieren:
+            // isolate args-fields:
             short nAccess = ( p->nArgs & _RWMASK ) >> 8;
             short nType   = ( p->nArgs & _TYPEMASK );
             String aName( p->pName, RTL_TEXTENCODING_ASCII_US );
@@ -209,9 +209,8 @@ SbxVariable* CommunicationWrapper::Find( const String& rName, SbxClassType t )
             else if( nType & _METHOD )
                 eCT = SbxCLASS_METHOD;
             pRes = Make( aName, eCT, p->eType );
-            // Wir setzen den Array-Index + 1, da ja noch andere
-            // Standard-Properties existieren, die auch aktiviert
-            // werden muessen.
+            // We set the array-index + 1, because there are still
+            // other standard properties existing, which have to be activated.
             pRes->SetUserData( nIndex + 1 );
             pRes->SetFlags( nAccess );
         }
@@ -219,7 +218,7 @@ SbxVariable* CommunicationWrapper::Find( const String& rName, SbxClassType t )
     return pRes;
 }

-// Aktivierung eines Elements oder Anfordern eines Infoblocks
+// activation of an element or asking for an infoblock

 void CommunicationWrapper::SFX_NOTIFY( SfxBroadcaster& rBC, const TypeId& rBCT,
                              const SfxHint& rHint, const TypeId& rHT )
@@ -230,7 +229,7 @@ void CommunicationWrapper::SFX_NOTIFY( SfxBroadcaster& rBC, const TypeId& rBCT,
         SbxVariable* pVar = pHint->GetVar();
         SbxArray* pPar = pVar->GetParameters();
         sal_uInt16 nIndex = (sal_uInt16) pVar->GetUserData();
-        // kein Index: weiterreichen!
+        // no index: hand on!
         if( nIndex )
         {
             sal_uLong t = pHint->GetId();
@@ -243,13 +242,13 @@ void CommunicationWrapper::SFX_NOTIFY( SfxBroadcaster& rBC, const TypeId& 
rBCT,
                     bWrite = sal_True;
                 if( t == SBX_HINT_DATAWANTED || bWrite )
                 {
-                    // Parameter-Test fuer Methoden:
+                    // parameter test for methods:
                     sal_uInt16 nPar = m_pMethods[ --nIndex ].nArgs & 0x00FF;
-                    // Element 0 ist der Returnwert
+                    // element 0 is the return value
                     if( ( !pPar && nPar )
                      || ( pPar && pPar->Count() != nPar+1 ) )
                         SetError( SbxERR_WRONG_ARGS );
-                    // Alles klar, man kann den Call ausfuehren
+
                     else
                     {
                         (this->*(m_pMethods[ nIndex ].pFunc))( pVar, pPar, bWrite );
@@ -261,13 +260,13 @@ void CommunicationWrapper::SFX_NOTIFY( SfxBroadcaster& rBC, const TypeId& 
rBCT,
     }
 }

-// Zusammenbau der Infostruktur fuer einzelne Elemente
+// construction of the info-structure for single elements

 SbxInfo* CommunicationWrapper::GetInfo( short nIdx )
 {
     Methods* p = &m_pMethods[ nIdx ];
-    // Wenn mal eine Hilfedatei zur Verfuegung steht:
-    // SbxInfo* pInfo = new SbxInfo( Hilfedateiname, p->nHelpId );
+    // if there's a help-file some time:
+    // SbxInfo* pInfo = new SbxInfo( helpfilename, p->nHelpId );
     SbxInfo* pRetInfo = new SbxInfo;
     short nPar = p->nArgs & _ARGSMASK;
     for( short i = 0; i < nPar; i++ )
@@ -285,7 +284,7 @@ SbxInfo* CommunicationWrapper::GetInfo( short nIdx )

 ////////////////////////////////////////////////////////////////////////////

-// Hilfsmethoden für den Manager
+// help methods for the manager

 IMPL_LINK( CommunicationWrapper, Open, CommunicationLink*, pLink )
 {
@@ -322,19 +321,18 @@ void CommunicationWrapper::Events( String aType, CommunicationLink* pLink )
         Call( m_aEventHandlerName, pPar );
     }
     else
-        delete pLink->GetServiceData();     // Stream wegschmeissen um nicht zu blockieren
+        delete pLink->GetServiceData();     // give away the stream to prevent blocking
 }


 ////////////////////////////////////////////////////////////////////////////

-// Properties und Methoden legen beim Get (bPut = sal_False) den Returnwert
-// im Element 0 des Argv ab; beim Put (bPut = sal_True) wird der Wert aus
-// Element 0 gespeichert.
+// Properties and methods put down the return value for Get (bPut = sal_False) at
+// element 0 of the Argv; for Put (bPut = sal_True) the value from element 0 is saved.

-// Die Methoden:
+// the methods:

-// Manager
+// manager
 void CommunicationWrapper::MStartCommunication( SbxVariable* pVar, SbxArray* pPar, sal_Bool 
/*bWrite*/ )
 { //    CommunicationLink StartCommunication( Host, Port )
     m_bCatchOpen = sal_True;
@@ -351,28 +349,28 @@ void CommunicationWrapper::MStartCommunication( SbxVariable* pVar, SbxArray* 
pPa
 }

 void CommunicationWrapper::MStopAllCommunication( SbxVariable* /*pVar*/, SbxArray* /*pPar*/, 
sal_Bool /*bWrite*/ )
-{ //    StopAllCommunication        // Alle Kommunikation wird abgebrochen
+{ //    StopAllCommunication
     m_pManager->StopCommunication();
 }

 void CommunicationWrapper::MIsCommunicationRunning( SbxVariable* pVar, SbxArray* /*pPar*/, 
sal_Bool /*bWrite*/ )
-{ //    sal_Bool IsCommunicationRunning     // Läuft noch irgendwas
+{ //    sal_Bool IsCommunicationRunning
     pVar->PutBool( m_pManager->IsCommunicationRunning() );
 }

 void CommunicationWrapper::MGetMyName( SbxVariable* pVar, SbxArray* /*pPar*/, sal_Bool /*bWrite*/ )
-{ //    String GetMyName        Der eigene Name
+{ //    String GetMyName
     pVar->PutString( UniString( m_pManager->GetMyName( CM_FQDN ), RTL_TEXTENCODING_UTF8 ) );
 }

 void CommunicationWrapper::MIsLinkValid( SbxVariable* pVar, SbxArray* pPar, sal_Bool /*bWrite*/ )
-{ //    sal_Bool IsLinkValid( CommunicationLink )       // Ist dieser Link noch gültig
+{ //    sal_Bool IsLinkValid( CommunicationLink )
     CommunicationWrapper *pWrapper = (CommunicationWrapper*)(pPar->Get( 1 )->GetObject());
     pVar->PutBool( m_pManager->IsLinkValid( pWrapper->GetCommunicationLink() ) );
 }

 void CommunicationWrapper::MSetCommunicationEventHandler( SbxVariable* /*pVar*/, SbxArray* pPar, 
sal_Bool /*bWrite*/ )
-{ //    SetCommunicationEventHandler( String )  // Diese Funktion wird aufgerufen bei jedem Event
+{ //    SetCommunicationEventHandler( String )
     m_aEventHandlerName = pPar->Get( 1 )->GetString();
 }

@@ -382,22 +380,22 @@ void CommunicationWrapper::MSetCommunicationEventHandler( SbxVariable* 
/*pVar*/,

 //      Link
 void CommunicationWrapper::LStopCommunication( SbxVariable* /*pVar*/, SbxArray* /*pPar*/, sal_Bool 
/*bWrite*/ )
-{ //    StopCommunication       Die Kommunikation wird abgebrochen
+{ //    StopCommunication
     m_pLink->StopCommunication();
 }

 void CommunicationWrapper::LGetMyName( SbxVariable* pVar, SbxArray* /*pPar*/, sal_Bool /*bWrite*/ )
-{ //    String GetMyName        Der eigene Name
+{ //    String GetMyName
     pVar->PutString( UniString( m_pLink->GetMyName( CM_FQDN ), RTL_TEXTENCODING_UTF8 ) );
 }

 void CommunicationWrapper::LGetHostName( SbxVariable* pVar, SbxArray* /*pPar*/, sal_Bool 
/*bWrite*/ )
-{ //    String GetHostName  Der Name des Anderen
+{ //    String GetHostName
     pVar->PutString( UniString( m_pLink->GetCommunicationPartner( CM_FQDN ), RTL_TEXTENCODING_UTF8 
) );
 }

 void CommunicationWrapper::LSend( SbxVariable* /*pVar*/, SbxArray* pPar, sal_Bool /*bWrite*/ )
-{ //    Send(String )           String an den Partner schicken
+{ //    Send(String )
     SvStream *pSendStream = m_pLink->GetBestCommunicationStream();
     String aSendString = pPar->Get( 1 )->GetString();
     pSendStream->WriteByteString( aSendString, RTL_TEXTENCODING_UTF8 );
@@ -406,7 +404,7 @@ void CommunicationWrapper::LSend( SbxVariable* /*pVar*/, SbxArray* pPar, sal_Boo
 }

 void CommunicationWrapper::LGetString( SbxVariable* pVar, SbxArray* /*pPar*/, sal_Bool /*bWrite*/ )
-{ //    String GetString        Ergebnis des letzten Empfangs
+{ //    String GetString
     SvStream *pReceiveStream = m_pLink->GetServiceData();
     if ( pReceiveStream )
     {
@@ -427,8 +425,6 @@ void CommunicationWrapper::LGetString( SbxVariable* pVar, SbxArray* /*pPar*/, sa



-// Die Factory legt unser Objekte an.
-
 SbxObject* CommunicationFactory::CreateObject( const String& rClass )
 {
     if( rClass.CompareIgnoreCaseToAscii( "CommunicationManager" ) == COMPARE_EQUAL )
diff --git a/automation/source/testtool/comm_bas.hxx b/automation/source/testtool/comm_bas.hxx
index 32da48a..7e8553a 100644
--- a/automation/source/testtool/comm_bas.hxx
+++ b/automation/source/testtool/comm_bas.hxx
@@ -36,11 +36,10 @@
 class CommunicationManagerClientViaSocket;
 class CommunicationLink;

-class CommunicationWrapper : public SbxObject   // Einer fï¿œr Manager und Links
+class CommunicationWrapper : public SbxObject   // one for manager(s) and links
 {
-    // Definition eines Tabelleneintrags. Dies wird hier gemacht,
-    // da dadurch die Methoden und Properties als private deklariert
-    // werden koennen.
+    // definition of a table entry. That's done here because the
+    // methods and properties can be declared private that way.
 #if defined ( ICC ) || defined ( C50 )
 public:
 #endif
@@ -51,17 +50,17 @@ private:
 #endif

     struct Methods {
-        const char* pName;      // Name des Eintrags
-        SbxDataType eType;      // Datentyp
-        pMeth pFunc;            // Function Pointer
-        short nArgs;            // Argumente und Flags
+        const char* pName;
+        SbxDataType eType;
+        pMeth pFunc;
+        short nArgs;
     };
-    static Methods aManagerMethods[];   // Methodentabelle
-    static Methods aLinkMethods[];      // Methodentabelle
-    Methods *m_pMethods;    // Aktuelle Methodentabelle
+    static Methods aManagerMethods[];   // method table
+    static Methods aLinkMethods[];      // method table
+    Methods *m_pMethods;    // current method table

-    // Methoden
-    //      Manager
+    // methods
+    //      manager
     void MStartCommunication( SbxVariable* pVar, SbxArray* pPar, sal_Bool bWrite );
     void MStopAllCommunication( SbxVariable* pVar, SbxArray* pPar, sal_Bool bWrite );
     void MIsCommunicationRunning( SbxVariable* pVar, SbxArray* pPar, sal_Bool bWrite );
@@ -69,19 +68,18 @@ private:
     void MIsLinkValid( SbxVariable* pVar, SbxArray* pPar, sal_Bool bWrite );
     void MSetCommunicationEventHandler( SbxVariable* pVar, SbxArray* pPar, sal_Bool bWrite );

-    //      Link
+    //      link
     void LStopCommunication( SbxVariable* pVar, SbxArray* pPar, sal_Bool bWrite );
     void LGetMyName( SbxVariable* pVar, SbxArray* pPar, sal_Bool bWrite );
     void LGetHostName( SbxVariable* pVar, SbxArray* pPar, sal_Bool bWrite );
     void LSend( SbxVariable* pVar, SbxArray* pPar, sal_Bool bWrite );
     void LGetString( SbxVariable* pVar, SbxArray* pPar, sal_Bool bWrite );

-    // Interne Member und Methoden
+    // internal members and methods
     CommunicationManagerClientViaSocket *m_pManager;
     CommunicationLink *m_pLink;
-    sal_Bool m_bIsManager;  // Ist es kein Manager, so ist es ein Link
+    sal_Bool m_bIsManager;

-    // Kram fï¿œr Manager
     DECL_LINK( Open, CommunicationLink* );
     DECL_LINK( Close, CommunicationLink* );
     DECL_LINK( Data, CommunicationLink* );
@@ -91,7 +89,6 @@ private:
     String m_aEventHandlerName;

     using SbxVariable::GetInfo;
-    // Infoblock auffuellen
     SbxInfo* GetInfo( short nIdx );

     // Broadcaster Notification
@@ -101,14 +98,13 @@ public:
     CommunicationWrapper( const String& );
     CommunicationWrapper( CommunicationLink *pThisLink );
     ~CommunicationWrapper();
-    // Suchen eines Elements
+
     virtual SbxVariable* Find( const String&, SbxClassType );

     CommunicationLink* GetCommunicationLink() { return m_pLink; }
 };


-// Die dazugehoerige Factory:

 class CommunicationFactory : public SbxFactory
 {
diff --git a/automation/source/testtool/httprequest.cxx b/automation/source/testtool/httprequest.cxx
index 4ec2f64..1ff53ad 100644
--- a/automation/source/testtool/httprequest.cxx
+++ b/automation/source/testtool/httprequest.cxx
@@ -91,7 +91,7 @@ sal_Bool HttpRequest::Execute()
     }

     TimeValue aTV;
-    aTV.Seconds = 10;       // Warte 10 Sekunden
+    aTV.Seconds = 10;       // wait for 10 seconds
     aTV.Nanosec = 0;

     pOutSocket = new osl::ConnectorSocket();

diff --git a/automation/source/testtool/objtest.cxx b/automation/source/testtool/objtest.cxx
index 80de2e2..1701dfb 100644
--- a/automation/source/testtool/objtest.cxx
+++ b/automation/source/testtool/objtest.cxx
@@ -106,7 +106,7 @@ CNames *Controls::pClasses = NULL;
 ControlDefLoad const TestToolObj::arR_Cmds [] =
 #include "r_cmds.hxx"
 CNames *TestToolObj::pRCommands = NULL;
-CErrors *TestToolObj::pFehlerListe = NULL;      // Hier werden die Fehler des Testtools gespeichert
+CErrors *TestToolObj::pFehlerListe = NULL;      // the errors from the testtool are stored here


 DBG_NAME( ControlItem )
@@ -285,7 +285,7 @@ SbxTransportMethod::SbxTransportMethod( SbxDataType DT )
 }


-TestToolObj::TestToolObj( String aName, MyBasic* pBas )                // Aufruf im Testtool
+TestToolObj::TestToolObj( String aName, MyBasic* pBas )                // call in the testtool
 : SbxObject( aName )
 , bUseIPC(sal_True)
 , bReturnOK(sal_True)
@@ -317,7 +317,7 @@ TestToolObj::TestToolObj( String aName, MyBasic* pBas )                // Aufruf
     pCommunicationManager->SetDataReceivedHdl( LINK( this, TestToolObj, ReturnResultsLink ));
 }

-void TestToolObj::LoadIniFile()             // Laden der IniEinstellungen, die durch den 
ConfigDialog geï¿œndert werden kï¿œnnen
+void TestToolObj::LoadIniFile()
 {
 #define GETSET(aVar, KeyName, Dafault)                          \
     {                                                           \
@@ -371,7 +371,7 @@ void TestToolObj::LoadIniFile()             // Laden der IniEinstellungen, die d
     aConf.SetGroup("Misc");

     String aST;
-    GETSET( aST, "ServerTimeout", rtl::OString::valueOf(Time(0,0,45).GetTime()) );     // 45 
Sekunden Initial
+    GETSET( aST, "ServerTimeout", rtl::OString::valueOf(Time(0,0,45).GetTime()) );     // 45 
seconds initial
     pImpl->aServerTimeout = Time(sal_uLong(aST.ToInt64()));

     String aSOSE;
@@ -459,7 +459,7 @@ void TestToolObj::LoadIniFile()             // Laden der IniEinstellungen, die d
     pMeth->SetUserData( nID );                                                  \
 }

-// SetUserData muᅵ irgendwas sein, sonst wird es im Find rausgefiltert!!!
+// SetUserData must be something, it will be filtered out later otherwise!!!
 #define MAKE_USHORT_CONSTANT(cName, nValue)                                     \
     {                                                                           \
         SbxProperty *pVal = new SbxProperty( CUniString( cName) , SbxINTEGER ); \
@@ -472,7 +472,7 @@ void TestToolObj::LoadIniFile()             // Laden der IniEinstellungen, die d

 void TestToolObj::InitTestToolObj()
 {
-    pImpl->nNumBorders = 0;                 // Fï¿œr Profiling mit kï¿œstchen
+    pImpl->nNumBorders = 0;                 // for profiling with boxes

     pImpl->nMinRemoteCommandDelay = 0;
     pImpl->nMaxRemoteCommandDelay = 0;
@@ -499,7 +499,7 @@ void TestToolObj::InitTestToolObj()
     pImpl->pChildEnv = new Environment;

     if (!pFehlerListe)
-        pFehlerListe = new CErrors;             // Vor allem anderen. Wer weiss, wer alles einen 
Fehler auslï¿œst.
+        pFehlerListe = new CErrors;

     In = new CmdStream();

@@ -542,19 +542,19 @@ void TestToolObj::InitTestToolObj()
     MAKE_TT_KEYWORD( "MaybeAddErr", SbxCLASS_METHOD, SbxNULL, ID_MaybeAddErr );
     MAKE_TT_KEYWORD( "ClearError", SbxCLASS_METHOD, SbxNULL, ID_ClearError );
     MAKE_TT_KEYWORD( "SaveIDs", SbxCLASS_METHOD, SbxBOOL, ID_SaveIDs );
-    MAKE_TT_KEYWORD( "AutoExecute", SbxCLASS_PROPERTY, SbxBOOL, ID_AutoExecute );   // Achtung! 
PROPERTY Also eine Variable
+    MAKE_TT_KEYWORD( "AutoExecute", SbxCLASS_PROPERTY, SbxBOOL, ID_AutoExecute );   // Attention! 
PROPERTY therefore a variable
     MAKE_TT_KEYWORD( "Execute", SbxCLASS_METHOD, SbxNULL, ID_Execute );
     MAKE_TT_KEYWORD( "StopOnSyntaxError", SbxCLASS_PROPERTY, SbxBOOL, ID_StopOnSyntaxError );

-/*  Dialog Handler werden gebraucht, wenn im internen Testtool ein Dialog
-    hochgerissen wird. Nach versenden der Remote-Kommandos wird IdleHandler aktiviert.
-    Er testet, ob das Reschedule zum WaitForAnswer zurï¿œckkehrt. Bleibt das aus, so
-    wird erst der RemoteHandler zurï¿œckgesetzt und dann die Handler-Sub im Basic
-    gerufen.(Entkoppelt ï¿œber PostUserEvent.)
+/*  Dialog Handler are needed for dialogues in the internal testtool.
+    remote commands the IdleHandler is activated. It tests whether the
+    reschedule returns to WaitForAnswer. If this is not the case, the
+    RemoteHandler is resetted and then the Handler-Sub is called in the
+    basic (uncoupled by PostUserEvent).

-    In returndaten_verarbeiten wird flag fï¿œr ausfï¿œhrung des nï¿œchsten remote-befehls
-    rï¿œckgesetzt. Der Handler wird damit auch entwertet. Er gilt also nur fï¿œr den
-    nï¿œchsten Remotebefehl.
+    In returndaten_verarbeiten flag after flag is resetted for the execution
+    of the next remote command. The Handler is devalued too then.
+    So it counts for the next remote command only.
 */
     MAKE_TT_KEYWORD( "DialogHandler", SbxCLASS_METHOD, SbxNULL, ID_DialogHandler );

@@ -594,7 +594,7 @@ void TestToolObj::InitTestToolObj()
     MAKE_TT_KEYWORD( "HTTPSetProxy", SbxCLASS_METHOD, SbxNULL, ID_HTTPSetProxy );

     // Load the Remote Commands from list
-    if ( !pRCommands )                 // Ist static, wird also nur einmal geladen
+    if ( !pRCommands )                 // is static and called only once therefore
         ReadFlatArray( arR_Cmds, pRCommands );
     sal_uInt16 i;
     for ( i = 0 ; i < pRCommands->Count() ; i++ )
@@ -612,11 +612,11 @@ void TestToolObj::InitTestToolObj()
         StartListening( pMeth->GetBroadcaster(), sal_True );
     }

-// Konstanten fï¿œr SetControlType
+// constants for SetControlType
     MAKE_USHORT_CONSTANT("CTBrowseBox",CONST_CTBrowseBox);
     MAKE_USHORT_CONSTANT("CTValueSet",CONST_CTValueSet);

-// Konstanten fï¿œr das Alignment des gesuchten Splitters
+// constants for the alignment of the requested splitter
     MAKE_USHORT_CONSTANT("AlignLeft",CONST_ALIGN_LEFT);
     MAKE_USHORT_CONSTANT("AlignTop",CONST_ALIGN_TOP);
     MAKE_USHORT_CONSTANT("AlignRight",CONST_ALIGN_RIGHT);
@@ -693,7 +693,7 @@ TestToolObj::~TestToolObj()
     if (pFehlerListe)
     {
         delete pFehlerListe;
-        pFehlerListe = NULL;    // da pFehlerListe static ist!!
+        pFehlerListe = NULL;    // because pFehlerListe is static!!
     }

     if ( pCommunicationManager )
@@ -728,11 +728,11 @@ void TestToolObj::ReadNames( String Filename, CNames *&pNames, CNames 
*&pUIds, s
 {
 /*******************************************************************************
 **
-**               Folgende Dateiendungen sind vorhanden
+**               the following file extensions are available:
 **
-**               hid.lst                Langname UId
-**               *.sid                  Slot Ids Kurzname Langname Datei ist flach
-**               *.win                  Controlname Langname Datei mit *name und +name Notation
+**               hid.lst                long name UId
+**               *.sid                  Slot Ids short name long name file is flat
+**               *.win                  Controlname long name file with *name and +name notation
 **
 **
 *******************************************************************************/
@@ -746,7 +746,7 @@ void TestToolObj::ReadNames( String Filename, CNames *&pNames, CNames *&pUIds, s
     ControlDef   *pNewDef, *pNewDef2;
     ControlDef   *pFatherDef = NULL;

-    nLineNr = 0;    // Wir sind ja noch vor der Datei
+    nLineNr = 0;

     if (! pUIds)
     {
@@ -857,7 +857,7 @@ void TestToolObj::ReadNames( String Filename, CNames *&pNames, CNames *&pUIds, s
         }
         sal_Bool bMozillaName = ( !bIsFlat && aLongname.Copy( 0, 4 ).EqualsIgnoreCaseAscii( ".moz" 
) );

-        if ( aShortname.GetChar(0) == '+' )          // Kompletten Eintrag kopieren
+        if ( aShortname.GetChar(0) == '+' )          // copy complete entry
         {
             aShortname.Erase(0,1);
             ControlDef WhatName(aLongname,rtl::OString());
@@ -896,7 +896,7 @@ void TestToolObj::ReadNames( String Filename, CNames *&pNames, CNames *&pUIds, s
             else
             #endif
                 if ( !bUnoName && !bMozillaName )
-            {   // Bestimmen der ID aus der Hid.Lst
+            {   // get the ID from the Hid.Lst
                 ControlDef WhatName(aLongname,rtl::OString());
                 if (pUIds->Seek_Entry(&WhatName,&nElement))
                     aUId = pUIds->GetObject(nElement)->pData->aUId;
@@ -923,7 +923,7 @@ void TestToolObj::ReadNames( String Filename, CNames *&pNames, CNames *&pUIds, s



-            if (aShortname.GetChar(0) == '*' || bIsFlat)     // Globaler Kurzname (Dialogname oder 
SId)
+            if (aShortname.GetChar(0) == '*' || bIsFlat)     // global short name (dialogue name 
or SId)
             {
                 if (!bIsFlat)
                     aShortname.Erase(0,1);
@@ -935,7 +935,7 @@ void TestToolObj::ReadNames( String Filename, CNames *&pNames, CNames *&pUIds, s
                     pNewDef->Sons( new CNames() );

                        pNewDef2 = new ControlDef(aShortname,aUId);
-                    if (!pNewDef->SonInsert( pNewDef2 ))         // Dialog in eigenen Namespace 
eintragen
+                    if (!pNewDef->SonInsert( pNewDef2 ))         // enter dialogue into its own 
namespace
                     {
                         delete pNewDef2;
                         OSL_FAIL(" !!!! ACHTUNG !!!!  Fehler beim einfï¿œgen in leere Liste!");
@@ -998,7 +998,7 @@ void TestToolObj::AddName(String &aBisher, String &aNeu )


 void TestToolObj::ReadFlat( String Filename, CNames *&pNames, sal_Bool bSortByName )
-//  Wenn bSortByName == sal_False, dann nach UId Sortieren (ControlItemUId statt ControlDef)
+//  if bSortByName == sal_False, sort by UId (ControlItemUId instead of ControlDef)
 {
     SvFileStream Stream;
     String       aLine,aLongname;
@@ -1015,7 +1015,7 @@ void TestToolObj::ReadFlat( String Filename, CNames *&pNames, sal_Bool 
bSortByNa
         return;
     }

-    nLineNr = 0;    // Wir sind ja noch vor der Datei
+    nLineNr = 0;

     if ( !pNames )
         pNames = new CNames();
@@ -1116,7 +1116,7 @@ void TestToolObj::WaitForAnswer ()
             else
                 aRun = BasicRuntime( NULL );
         }
-        if ( bWasRealWait && aDialogHandlerName.Len() > 0 )     // Damit das ganze auch im 
Testtool lï¿œuft
+        if ( bWasRealWait && aDialogHandlerName.Len() > 0 )
             CallDialogHandler(GetpApp());
     }
     else
@@ -1155,7 +1155,7 @@ IMPL_LINK( TestToolObj, IdleHdl, Application*, EMPTYARG )
 {
     if ( !bReturnOK )
         nIdleCount++;
-    if ( nIdleCount > 10 )  // d.h. Schon 10 mal hier gewesen und noch keinmal im WaitForAnswer
+    if ( nIdleCount > 10 )  // means been here for 10 times already and none of these in 
WaitForAnswer
     {
         GetpApp()->RemoveIdleHdl( LINK( this, TestToolObj, IdleHdl ) );
         GetpApp()->PostUserEvent( LINK( this, TestToolObj, CallDialogHandler ) );
@@ -1169,10 +1169,10 @@ IMPL_LINK( TestToolObj, CallDialogHandler, Application*, EMPTYARG )
     String aHandlerName(aDialogHandlerName);
     aDialogHandlerName.Erase();

-    sal_uLong nRememberSequence = nSequence; // Da sich die Sequence im DialogHandler ï¿œndert
+    sal_uLong nRememberSequence = nSequence;
     ((StarBASIC*)GetParent())->Call( aHandlerName );
     nSequence = nRememberSequence;
-    // Die Sequenznummern werden dann zwar doppelt vergeben, aber wen kï¿œmmerts.
+

     nWindowHandlerCallLevel--;
     return 0;
@@ -1231,14 +1231,14 @@ void TestToolObj::SendViaSocket()
         {
             ADD_ERROR(ERR_SEND_TIMEOUT,GEN_RES_STR1(S_TIMOUT_SENDING, 
String::CreateFromInt64(nSequence)));
             nSequence++;
-            bReturnOK = sal_True;               // Kein Return zu erwarten
+            bReturnOK = sal_True;               // no return to be expected
         }
     }
     else
     {
         ADD_ERROR(ERR_SEND_TIMEOUT,GEN_RES_STR1(S_NO_CONNECTION, 
String::CreateFromInt64(nSequence)));
         nSequence++;
-        bReturnOK = sal_True;               // Kein Return zu erwarten
+        bReturnOK = sal_True;
     }

 }
@@ -1247,7 +1247,7 @@ void TestToolObj::EndBlock()
 {
     if (IsBlock)
     {
-        pImpl->LocalStarttime = Time::GetSystemTicks(); // Setzen der Anfangszeit fï¿œr 
Performancemessung
+        pImpl->LocalStarttime = Time::GetSystemTicks(); // setting the initial time for 
performance measuring

         In->GenCmdFlow (F_EndCommandBlock);

@@ -1381,7 +1381,7 @@ sal_Bool TestToolObj::ReadNamesBin( String Filename, CNames *&pSIds, CNames 
*&pC
             aUId = rtl::OString();// nUId;
         }

-        if (aName.GetChar(0) == '*' || bIsFlat )     // Globaler Kurzname (Dialogname oder SId)
+        if (aName.GetChar(0) == '*' || bIsFlat )     // global short name (dialogue name or SId)
         {
             if (!bIsFlat)
                 aName.Erase(0,1);
@@ -1391,8 +1391,8 @@ sal_Bool TestToolObj::ReadNamesBin( String Filename, CNames *&pSIds, CNames 
*&pC
             {
                 pNewDef->Sons(new CNames());

-                pNewDef2 = new ControlDef(aName,aUId);      // Noch einen machen
-                if (!pNewDef->SonInsert(pNewDef2))                              // Dialog in 
eigenen Namespace eintragen
+                pNewDef2 = new ControlDef(aName,aUId);
+                if (!pNewDef->SonInsert(pNewDef2))          // enter dialogue into its own 
namespace
                 {
                     delete pNewDef2;
                     OSL_FAIL(" !!!! ACHTUNG !!!!  Fehler beim einfï¿œgen in leere Liste!");
@@ -1492,7 +1492,7 @@ sal_Bool TestToolObj::WriteNamesBin( String Filename, CNames *pSIds, CNames 
*pCo
 void TestToolObj::SFX_NOTIFY( SfxBroadcaster&, const TypeId&,
                             const SfxHint& rHint, const TypeId& )
 {
-    static CNames *pUIds = NULL;    // Halten der hid.lst
+    static CNames *pUIds = NULL;    // hold the hid.lst

     const SbxHint* p = PTR_CAST(SbxHint,&rHint);
     if( p )
@@ -1512,7 +1512,7 @@ void TestToolObj::SFX_NOTIFY( SfxBroadcaster&, const TypeId&,
                     {
                         m_pNameKontext = m_pControls;

-                        // So daᅵ nicht immer mal wieder was aus einem alten Kontext 
dazwischenhaut
+
                         for (sal_uInt16 i=0;i<VAR_POOL_SIZE;i++)
                         {
                             pImpl->pMyVars[i]->SetName( 
CUniString("VarDummy").Append(UniString::CreateFromInt32(i)) );
@@ -1528,7 +1528,7 @@ void TestToolObj::SFX_NOTIFY( SfxBroadcaster&, const TypeId&,
                         {
                             m_pNameKontext = 
((ControlDef*)m_pControls->GetObject(nElement))->GetSons();

-                            // So daᅵ nicht immer mal wieder was aus einem alten Kontext 
dazwischenhaut
+
                             for (sal_uInt16 i=0;i<VAR_POOL_SIZE;i++)
                             {
                                 pImpl->pMyVars[i]->SetName( 
CUniString("VarDummy").Append(UniString::CreateFromInt32(i)) );
@@ -1573,7 +1573,7 @@ void TestToolObj::SFX_NOTIFY( SfxBroadcaster&, const TypeId&,
                     pCommunicationManager->KillApplication();
                     break;
                 case ID_SaveIDs:
-                    if ( rPar && rPar->Count() >= 2 )  // Genau ein Parameter
+                    if ( rPar && rPar->Count() >= 2 )  // one parameter excactly
                     {
                         SbxVariableRef pArg = rPar->Get( 1 );
                     #if defined(WNT)
@@ -1587,7 +1587,7 @@ void TestToolObj::SFX_NOTIFY( SfxBroadcaster&, const TypeId&,
                         SetError( SbxERR_WRONG_ARGS );
                     break;
                 case ID_AutoExecute:
-                    if ( !rPar )  // rPar = NULL  <=>  Kein Parameter
+                    if ( !rPar )  // rPar = NULL  <=>  no parameters
                     {
                         pVar->PutBool(SingleCommandBlock);
                     }
@@ -1595,7 +1595,7 @@ void TestToolObj::SFX_NOTIFY( SfxBroadcaster&, const TypeId&,
                         SetError( SbxERR_WRONG_ARGS );
                     break;
                 case ID_Execute:
-                    if ( !rPar )  // rPar = NULL  <=>  Kein Parameter
+                    if ( !rPar )
                     {
                         EndBlock();
                         BeginBlock();
@@ -1604,7 +1604,7 @@ void TestToolObj::SFX_NOTIFY( SfxBroadcaster&, const TypeId&,
                         SetError( SbxERR_WRONG_ARGS );
                     break;
                 case ID_DialogHandler:
-                    if ( rPar && rPar->Count() >= 2 )  // Genau ein Parameter
+                    if ( rPar && rPar->Count() >= 2 )
                     {
                         SbxVariableRef pArg = rPar->Get( 1 );
                         aDialogHandlerName = pArg->GetString();
@@ -1613,7 +1613,7 @@ void TestToolObj::SFX_NOTIFY( SfxBroadcaster&, const TypeId&,
                         SetError( SbxERR_WRONG_ARGS );
                     break;
                 case ID_GetError:
-                    if ( !rPar )  // rPar = NULL  <=>  Kein Parameter
+                    if ( !rPar )
                     {
                         WaitForAnswer();
                         if ( IS_ERROR() )
@@ -1630,7 +1630,7 @@ void TestToolObj::SFX_NOTIFY( SfxBroadcaster&, const TypeId&,
                         SetError( SbxERR_WRONG_ARGS );
                     break;
                 case ID_StartUse:
-                    if ( !rPar )  // rPar = NULL  <=>  Kein Parameter
+                    if ( !rPar )
                     {
                         {
                             BasicRuntime aRun = BasicRuntimeAccess::GetRuntime();
@@ -1790,9 +1790,9 @@ void TestToolObj::SFX_NOTIFY( SfxBroadcaster&, const TypeId&,
                         SetError( SbxERR_WRONG_ARGS );
                     break;
                 case ID_FinishUse:
-                    if ( !rPar )  // rPar = NULL  <=>  Kein Parameter
+                    if ( !rPar )
                     {
-                        ADD_CASE_LOG( String() );       // Case abschliessen
+                        ADD_CASE_LOG( String() );       // close case
                         if (!m_pControls)
                             m_pControls = new CNames();

@@ -1823,7 +1823,7 @@ void TestToolObj::SFX_NOTIFY( SfxBroadcaster&, const TypeId&,
                         SetError( SbxERR_WRONG_ARGS );
                     break;
                 case ID_CaseLog:
-                    if ( rPar )  // rPar != NULL  <=>  Es gibt Parameter
+                    if ( rPar )  // rPar != NULL  <=>  there are parameters
                     {
                         sal_uInt16 n;
                         String aX;
@@ -1928,7 +1928,7 @@ void TestToolObj::SFX_NOTIFY( SfxBroadcaster&, const TypeId&,
                     }
                     break;
                 case ID_QAErrorLog:
-                    if ( rPar )  // rPar != NULL  <=>  Es gibt Parameter
+                    if ( rPar )
                     {
                         sal_uInt16 n;
                         String aSammel;
@@ -1941,7 +1941,7 @@ void TestToolObj::SFX_NOTIFY( SfxBroadcaster&, const TypeId&,
                     }
                     break;
                 case ID_PrintLog:
-                    if ( rPar )  // rPar != NULL  <=>  Es gibt Parameter
+                    if ( rPar )
                     {
                         sal_uInt16 n;
                         String aSammel;
@@ -1954,7 +1954,7 @@ void TestToolObj::SFX_NOTIFY( SfxBroadcaster&, const TypeId&,
                     }
                     break;
                 case ID_WarnLog:
-                    if ( rPar )  // rPar != NULL  <=>  Es gibt Parameter
+                    if ( rPar )
                     {
                         sal_uInt16 n;
                         String aSammel;
@@ -1982,7 +1982,7 @@ void TestToolObj::SFX_NOTIFY( SfxBroadcaster&, const TypeId&,
                     }
                     break;
                 case ID_GetNextCloseWindow:
-                    if ( !rPar )  // rPar = NULL  <=>  Kein Parameter
+                    if ( !rPar )
                     {
                         SetError( SbxERR_NOTIMP );
                     }
@@ -2012,7 +2012,7 @@ void TestToolObj::SFX_NOTIFY( SfxBroadcaster&, const TypeId&,
                         {
                             WaitForAnswer();
                         }
-                        // fï¿œr einige noch etwas Nachbehandlung
+
                         switch ( ((SbxTransportMethod*)pVar)->nValue )
                         {
                             case RC_WinTree:
@@ -2022,7 +2022,7 @@ void TestToolObj::SFX_NOTIFY( SfxBroadcaster&, const TypeId&,
                     }
                     break;
                 case ID_Dispatch:
-                    if ( !rPar || (rPar->Count() % 2) == 1 )  // rPar = NULL  <=>  Kein Parameter 
ansonsten Gerade Anzahl(Ungerade, da immer Anzahl+1
+                    if ( !rPar || (rPar->Count() % 2) == 1 )
                     {
                         if ( SingleCommandBlock )
                             BeginBlock();
@@ -2036,7 +2036,7 @@ void TestToolObj::SFX_NOTIFY( SfxBroadcaster&, const TypeId&,
                         SetError( SbxERR_WRONG_ARGS );
                     break;
                 case ID_UNODispatch:
-                    if ( !rPar )  // rPar = NULL  <=>  Kein Parameter ansonsten Gerade 
Anzahl(Ungerade, da immer Anzahl+1
+                    if ( !rPar )
                     {
                         if ( SingleCommandBlock )
                             BeginBlock();
@@ -2112,11 +2112,11 @@ void TestToolObj::SFX_NOTIFY( SfxBroadcaster&, const TypeId&,
                     break;
                 case ID_GetUnoApp:
                     {
-                        // Hier wird der Remote UNO Kram gestartet
-                        // Eintrag in die Konfiguration unter
+                        // the remote UNO stuff is started here
+                        // entry into the configuration at
                         // org.openoffice.Office.Common/Start/Connection
                         //  socket,host=0,port=12345;iiop;XBla
-                        // oder
+                        // or
                         //  socket,host=0,port=12345;urp;;XBla

                         String aString;
@@ -2144,7 +2144,7 @@ void TestToolObj::SFX_NOTIFY( SfxBroadcaster&, const TypeId&,
                             Reference< XInterface > xRet( xBridge->getInstance( OUString( 
RTL_CONSTASCII_USTRINGPARAM("StarOffice.ServiceManager")) ) );

                             smgr_xMultiserviceFactory = Reference< XMultiServiceFactory >(xRet, 
UNO_QUERY);
-    //MBA fragen!!
+    // ask MBA!!
                         }
                         catch( class Exception & rEx)
                         {
@@ -2168,7 +2168,7 @@ void TestToolObj::SFX_NOTIFY( SfxBroadcaster&, const TypeId&,
                     break;
                 case ID_GetIServer:
                     {
-                        // Hier wird der Remote UNO Kram gestartet
+                        // remote UNO stuff is started here

                         String aString;

@@ -2211,7 +2211,7 @@ void TestToolObj::SFX_NOTIFY( SfxBroadcaster&, const TypeId&,
                     {
                         switch (rPar->Get( 1 )->GetType())
                         {
-                            case SbxLONG:       // alles immer als Short ï¿œbertragen
+                            case SbxLONG:       // pass always everything as Short
                             case SbxULONG:
                             case SbxSALINT64:
                             case SbxSALUINT64:
@@ -2502,7 +2502,7 @@ void TestToolObj::SFX_NOTIFY( SfxBroadcaster&, const TypeId&,
             switch( nHintUserData )
             {
                 case ID_AutoExecute:
-                    if ( !rPar )  // rPar = NULL  <=>  Kein Parameter
+                    if ( !rPar )
                     {
                         SingleCommandBlock = pVar->GetBool();
                         if ( SingleCommandBlock )
@@ -2514,7 +2514,7 @@ void TestToolObj::SFX_NOTIFY( SfxBroadcaster&, const TypeId&,
                         SetError( SbxERR_WRONG_ARGS );
                     break;
                 case ID_EnableQaErrors:
-                    if ( !rPar )  // rPar = NULL  <=>  Kein Parameter
+                    if ( !rPar )
                         pImpl->bEnableQaErrors = pVar->GetBool();
                     else
                         SetError( SbxERR_WRONG_ARGS );
@@ -2547,12 +2547,12 @@ void TestToolObj::SFX_NOTIFY( SfxBroadcaster&, const TypeId&,
         else if( nHintId == SBX_HINT_BASICSTOP )
         {
             // Log summary to journal
-            ADD_CASE_LOG( String() );       // Case abschliessen
+            ADD_CASE_LOG( String() );       // close case
             ADD_MESSAGE_LOG( CUniString("***************************************************") );
             if ( pImpl->nErrorCount )
             {
                 ADD_WARNING_LOG( GEN_RES_STR1( S_ERRORS_DETECTED, String::CreateFromInt32( 
pImpl->nErrorCount ) ) );
-                pImpl->nWarningCount--;     // Anpassen, da diese Warnung nicht in die Statistik 
soll
+                pImpl->nWarningCount--;     // adjust because this warning shall not be in the 
statistics
             }
             else
                 ADD_MESSAGE_LOG( GEN_RES_STR0( S_NO_ERRORS_DETECTED ) );
@@ -2596,7 +2596,7 @@ void TestToolObj::DebugFindNoErrors( sal_Bool bDebugFindNoErrors )
 SbxVariable* TestToolObj::Find( const String& aStr, SbxClassType aType)
 {
     if ( BasicRuntimeAccess::IsRunInit()
-    || ( aStr == String( RTL_CONSTASCII_USTRINGPARAM( "ThisComponent" ) ) ) )            // wegen 
Find im "Global" Befehl des Basic
+    || ( aStr == String( RTL_CONSTASCII_USTRINGPARAM( "ThisComponent" ) ) ) )            // 
because of find in the "global" command of the basic
         return NULL;

     SbxVariableRef Old = SbxObject::Find(aStr, aType );
@@ -2615,7 +2615,7 @@ SbxVariable* TestToolObj::Find( const String& aStr, SbxClassType aType)
         sal_uInt16 nElement;
         ControlDef *pWhatName = new ControlDef(aStr,rtl::OString());

-        /// nach Controls suchen
+        /// look for controls
         if (m_pNameKontext && m_pNameKontext->Seek_Entry(pWhatName,&nElement))
         {
             delete pWhatName;
@@ -2661,7 +2661,7 @@ SbxVariable* TestToolObj::Find( const String& aStr, SbxClassType aType)
             return pImpl->pControlsObj;
         }

-        /// Nach slots suchen
+        /// look for slots
         if (m_pSIds && m_pSIds->Seek_Entry(pWhatName,&nElement))
         {
             SbxTransportMethodRef pMyVar;
@@ -2689,13 +2689,13 @@ SbxVariable* TestToolObj::Find( const String& aStr, SbxClassType aType)
             return pMyVar;
         }

-        /// es kann sich noch um eine SlotID handeln, die numerisch abgefragt wird, statt 
ausgefï¿œhrt zu werden
+        /// it might be a SlotID that is asked numerically instead of being executed
         if ( aStr.Copy( aStr.Len()-3, 3 ).CompareIgnoreCaseToAscii("_ID") == COMPARE_EQUAL && 
m_pSIds )
         {
             delete pWhatName;
             pWhatName = new ControlDef( aStr.Copy( 0, aStr.Len()-3 ), rtl::OString() );
             if ( m_pSIds->Seek_Entry( pWhatName, &nElement ) )
-            {   // Nach slots suchen
+            {   // look for slots
                 SbxVariable *pReturn = new SbxVariable;
                 delete pWhatName;
                 pWhatName = ( (ControlDef*)m_pSIds->GetObject( nElement ) );
@@ -2836,7 +2836,7 @@ xub_StrLen TestToolObj::PreCompilePart( String &aSource, xub_StrLen nStart, 
xub_

     xub_StrLen nTry2 = 0;
     while ( !WasPrecompilerError() && (nTry2 = ImplSearch( aSource, nStart, nEnd, 
CUniString("try"), nTry+1 )) != STRING_NOTFOUND )
-    {   // Wir rekursieren erstmal mit dem 2. Try
+    {
         if ( nTry2 < nCatch )
             nEnd += PreCompilePart( aSource, nTry2, nEndcatch+8, aCatchLabel, nLabelCount ) - 
nEndcatch-8;
         else
@@ -2859,7 +2859,7 @@ xub_StrLen TestToolObj::PreCompilePart( String &aSource, xub_StrLen nStart, 
xub_
     }

     String aReplacement;
-    int nTotalLength = -3 -5 -8;    // try, catch und endcatch fallen raus
+    int nTotalLength = -3 -5 -8;    // try, catch and endcatch are separated out

     aReplacement.AppendAscii( "on error goto " );
     aReplacement += aCatchLabel;
@@ -2926,7 +2926,7 @@ sal_Bool TestToolObj::WasPrecompilerError()

 String TestToolObj::PreCompile( String const &aSourceIn )
 {
-    // Im CTOR zu frï¿œh, und hier grade nicg rechtzeitig. Start und Stop von Programmausfï¿œhrung
+
     StartListening( ((StarBASIC*)GetParent())->GetBroadcaster(), sal_True );

     xub_StrLen nTestCase;
@@ -2936,10 +2936,9 @@ String TestToolObj::PreCompile( String const &aSourceIn )
     bWasPrecompilerError = sal_False;

 HACK("Ich gestehe alles: Ich war zu faul das richtig zu machen.")
-    aSource = String(' ').Append( aSource );        // Da Schlï¿œsselworte an Position 0 sonst 
nicht gefunden werden
+    aSource = String(' ').Append( aSource );


-//      Erstmal alle "'" Kommentare raus

     xub_StrLen nComment;
     while ( (nComment = aSource.SearchAscii("'",nStartPos)) != STRING_NOTFOUND )
@@ -2952,7 +2951,7 @@ HACK("Ich gestehe alles: Ich war zu faul das richtig zu machen.")
                 nStringEndCount++;
             nIndex--;
         }
-        if ( (nStringEndCount & 1) == 0 )       // Wir waren also nicht innerhalb eines Strings
+        if ( (nStringEndCount & 1) == 0 )
         {
             xub_StrLen nComEnd = aSource.SearchAscii("\n",nComment);

@@ -3028,7 +3027,7 @@ void TestToolObj::AddToListByNr( CNames *&pControls, ControlItemUId 
*&pNewItem )
     {
         AddName( pControls->GetObject(nNr)->pData->Kurzname, pNewItem->pData->Kurzname );
         delete pNewItem;
-        pNewItem = (ControlItemUId*)pControls->GetObject(nNr);  // fï¿œr einfï¿œgen der Sï¿œhne
+        pNewItem = (ControlItemUId*)pControls->GetObject(nNr);
     }
     else
     {
@@ -3044,7 +3043,7 @@ IMPL_LINK( TestToolObj, ReturnResultsLink, CommunicationLink*, pCommLink )

 void TestToolObj::ReadHidLstByNumber()
 {
-    // Die Hid.Lst nach Nummern sortiert einlesen
+
     if ( !m_pReverseUIds )
     {
         String aName = (pImpl->aHIDDir + DirEntry(CUniString("hid.lst"))).GetFull();
@@ -3065,7 +3064,7 @@ void TestToolObj::ReadHidLstByNumber()

 void TestToolObj::SortControlsByNumber( sal_Bool bIncludeActive )
 {
-    // Die Controls einmal hirarchisch und einmal alle flach nach nummer sortiert
+
     if ( !m_pReverseControls && !m_pReverseControlsSon && m_pControls )
     {
         m_pReverseControls = new CNames;
@@ -3080,7 +3079,7 @@ void TestToolObj::SortControlsByNumber( sal_Bool bIncludeActive )
             if (! ((ControlItemUIdSon*)pNewFather)->GetSons() )
                 ((ControlItemUIdSon*)pNewFather)->Sons( new CNames );

-            // Existieren Sï¿œhne, diese in beide Listen eintragen
+
             CNames *pControlList = ((ControlItemSon*)m_pControls->GetObject(nWin))->GetSons();
             if ( pControlList )
                 for ( nCont = 0 ; nCont < pControlList->Count() ; nCont++ )
@@ -3105,7 +3104,7 @@ void TestToolObj::SortControlsByNumber( sal_Bool bIncludeActive )
             if ( m_pReverseControls->Seek_Entry( pZeroItem, &nNr ) )
             {
                 m_pReverseControls->DeleteAndDestroy( nNr );
-// um 
VorlagenLaden/UntergeordneteIniDatei/SpeichernDlg/OrdnerDlg/OeffnenDlg/MessageBox/LetzteVersion/GrafikEinfuegenDlg/FarbeDlg/ExportierenDlg/DruckerEinrichten/DruckenDlg/DateiEinfuegenDlg/Active
 zu verhindern
+// to prevent 
VorlagenLaden/UntergeordneteIniDatei/SpeichernDlg/OrdnerDlg/OeffnenDlg/MessageBox/LetzteVersion/GrafikEinfuegenDlg/FarbeDlg/ExportierenDlg/DruckerEinrichten/DruckenDlg/DateiEinfuegenDlg/Active
             }
             delete pZeroItem;
         }
@@ -3145,7 +3144,7 @@ sal_Bool TestToolObj::ReturnResults( SvStream *pIn )
             else
             {
                 comm_UINT32 nUId;
-                pRetStream->Read( nUId );         // bei Sequence einfach die Sequence
+                pRetStream->Read( nUId );
                 // FIXME: HELPID
                 #if 0
                 aUId = rtl::OString( nUId );
@@ -3234,7 +3233,7 @@ sal_Bool TestToolObj::ReturnResults( SvStream *pIn )
                         ReadHidLstByNumber();
                         SortControlsByNumber();

-                        // Alle Slots nach Nummer Sortiert
+
                         if ( !m_pReverseSlots && m_pSIds )
                         {
                             m_pReverseSlots = new CNames;
@@ -3258,7 +3257,7 @@ sal_Bool TestToolObj::ReturnResults( SvStream *pIn )
                         pWinInfo->aKurzname.Erase();
                         pWinInfo->aSlotname.Erase();

-                        // eventuell den Kontext feststellen. Passiert nur beim ersten Eintrag 
nach reset
+                        // detect context maybe - happens only at the first entry after reset
                         if ( !pReverseControlsKontext && m_pReverseControlsSon )
                         {
                             sal_uInt16 nNr;
@@ -3274,13 +3273,13 @@ sal_Bool TestToolObj::ReturnResults( SvStream *pIn )
                             delete pNewItem;
                         }

-                        // Reset. Muᅵ nach bestimmen des Kontext stehen, da sonst mit dem 
reset-record
-                        // der Kontext falsch gesetzt wird.
+                        // Reset. Must be done after determining the context because the context 
is set the
+                        // wrong way with the reset record otherwise.
                         if ( pWinInfo->bIsReset )
-                            pReverseControlsKontext = NULL; // Reihenfolge wichtig!
+                            pReverseControlsKontext = NULL; // order important!


-                        // Kurzname feststellen
+                        // get short name
                         if ( pReverseControlsKontext )
                         {
                             sal_uInt16 nNr;
@@ -3292,7 +3291,7 @@ sal_Bool TestToolObj::ReturnResults( SvStream *pIn )
                             delete pNewItem;
                         }

-                        // Slotname feststellen
+
                         if ( m_pReverseSlots )
                         {
                             sal_uInt16 nNr;
@@ -3302,7 +3301,7 @@ sal_Bool TestToolObj::ReturnResults( SvStream *pIn )
                             delete pNewItem;
                         }

-                        // Langname feststellen
+
                         // FIXME: HELPID
                         #if 0
                         if ( aUId.HasString() )
@@ -3492,7 +3491,7 @@ sal_Bool TestToolObj::ReturnResults( SvStream *pIn )
                         sal_Bool bWriteNewKontext = sal_False;

                         aControls.Erase();
-                        // Kurzname feststellen
+
                         if ( m_pReverseControls )
                         {
                             sal_uInt16 nNr;
@@ -3525,7 +3524,7 @@ sal_Bool TestToolObj::ReturnResults( SvStream *pIn )
                                 Sound::Beep( SOUND_WARNING );
                             }

-                            // now determin the best common kontext
+                            // now determine the best common kontext
                             sal_uInt16 i,j;
                             sal_Bool bFoundUlongName = sal_False, bFoundControl = sal_False;
                             // check for current kontext
@@ -3647,7 +3646,7 @@ sal_Bool TestToolObj::ReturnResults( SvStream *pIn )
                                 xub_StrLen i;
                                 for ( i = 0; i < aString1.Len(); i++ )
                                 {
-                                    if ( ((sal_uInt16)aString1.GetChar(i)) == 1 )   // we have a 
spechial char
+                                    if ( ((sal_uInt16)aString1.GetChar(i)) == 1 )   // we have a 
special char
                                     {
                                         i++;
                                         if ( !bIsProsa )
@@ -3762,7 +3761,7 @@ sal_Bool TestToolObj::ReturnResults( SvStream *pIn )
             else
             {
                 comm_UINT32 nUId;
-                pRetStream->Read( nUId );         // bei Sequence einfach die Sequence
+                pRetStream->Read( nUId );
                 // FIXME: HELPID
                 #if 0
                 aUId = rtl::OString( nUId );
@@ -3808,7 +3807,7 @@ sal_Bool TestToolObj::ReturnResults( SvStream *pIn )
 String TestToolObj::GetMethodName( sal_uLong nMethodId )
 {
     sal_uInt16 nElement;
-    if ( !Controls::pClasses )                        // Ist static, wird also nur einmal geladen
+    if ( !Controls::pClasses )
         ReadFlatArray( Controls::arClasses, Controls::pClasses );
     if ( Controls::pClasses )
     {
@@ -3828,7 +3827,7 @@ String TestToolObj::GetMethodName( sal_uLong nMethodId )
 String TestToolObj::GetKeyName( sal_uInt16 nKeyCode )
 {
     sal_uInt16 nElement;
-    if ( !CmdStream::pKeyCodes )                        // Ist static, wird also nur einmal geladen
+    if ( !CmdStream::pKeyCodes )
         ReadFlatArray( CmdStream::arKeyCodes, CmdStream::pKeyCodes );
     if ( CmdStream::pKeyCodes )
     {
@@ -3881,7 +3880,7 @@ static ControlDefLoad const arRes_Type [] =
         if ( aType.CompareTo(RcKenn ) == COMPARE_EQUAL )
         {
             bFound = sal_True;
-            if ( !pRCommands )                 // Ist static, wird also nur einmal geladen
+            if ( !pRCommands )
                 ReadFlatArray( arR_Cmds, pRCommands );

             sal_uInt16 nElement;
@@ -3903,7 +3902,7 @@ static ControlDefLoad const arRes_Type [] =
         if ( aType.CompareTo(TypeKenn ) == COMPARE_EQUAL )
         {
             bFound = sal_True;
-            if ( !pRTypes )                 // Ist static, wird also nur einmal geladen
+            if ( !pRTypes )
                 ReadFlatArray( arRes_Type, pRTypes );

             sal_uInt16 nElement;
@@ -3966,7 +3965,7 @@ SbTextType TestToolObj::GetSymbolType( const String &rSymbol, sal_Bool 
bWasContr

     if ( bWasControl )
     {
-        if ( !Controls::pClasses )                        // Ist static, wird also nur einmal 
geladen
+        if ( !Controls::pClasses )
             ReadFlatArray( Controls::arClasses, Controls::pClasses );

         if ( (Controls::pClasses && Controls::pClasses->Seek_Entry( &WhatName ))
@@ -3977,7 +3976,7 @@ SbTextType TestToolObj::GetSymbolType( const String &rSymbol, sal_Bool 
bWasContr
             return TT_NOMETHOD;
     }

-    // Die Controls durchsuchen
+
     if ( m_pControls )
     {
         sal_uInt16 nWin;
@@ -3989,24 +3988,24 @@ SbTextType TestToolObj::GetSymbolType( const String &rSymbol, sal_Bool 
bWasContr
         }
     }

-    // Die Slots durchsuchen
+
     if ( m_pSIds && m_pSIds->Seek_Entry( &WhatName ) )
         return TT_SLOT;

-    // Ist es ein RemoteCommand
-    if ( !pRCommands )                 // Ist static, wird also nur einmal geladen
+
+    if ( !pRCommands )
         ReadFlatArray( arR_Cmds, pRCommands );
     if ( pRCommands && pRCommands->Seek_Entry( &WhatName ) )
         return TT_REMOTECMD;

-    // Wenns sonst nix war, dann vielleicht ein Lokales Kommando
+
     SbxVariable *pVar = SbxObject::Find( rSymbol, SbxCLASS_DONTCARE );
     if ( pVar && ( pVar->ISA(SbxMethod) || pVar->ISA(SbxProperty) ) )
     {
         return TT_LOCALCMD;
     }

-    return SB_SYMBOL;   // Alles was hier landet ist vom Typ SB_SYMBOL und bleibt es auch
+    return SB_SYMBOL;
 }


@@ -4040,7 +4039,7 @@ void Controls::SFX_NOTIFY( SfxBroadcaster&, const TypeId&,

 SbxVariable* Controls::Find( const String& aStr, SbxClassType aType)
 {
-    if ( !pClasses )                        // Ist static, wird also nur einmal geladen
+    if ( !pClasses )
         ReadFlatArray( arClasses, pClasses );

     if ( GetUserData() == ID_ErrorDummy )
@@ -4078,9 +4077,9 @@ SbxVariable* Controls::Find( const String& aStr, SbxClassType aType)

 String TTFormat::ms2s( sal_uLong nMilliSeconds )
 {
-    if ( nMilliSeconds < 100000 )       // 100 Sekunden
+    if ( nMilliSeconds < 100000 )
         return String::CreateFromInt64( nMilliSeconds );
-    if ( nMilliSeconds < 100000*60 )    // 100 Minuten
+    if ( nMilliSeconds < 100000*60 )
         return String::CreateFromInt32( nMilliSeconds / 1000 ).AppendAscii("Sec");
     return String::CreateFromInt32( nMilliSeconds / 1000 / 60 ).AppendAscii("Min");
 }

diff --git a/automation/source/testtool/objtest.hxx b/automation/source/testtool/objtest.hxx
index 5c95fea..df1b06c 100644
--- a/automation/source/testtool/objtest.hxx
+++ b/automation/source/testtool/objtest.hxx
@@ -44,7 +44,7 @@
 //  #define ID_EndBlock     2
 #define ID_Kontext      3
 #define ID_GetError     4
-#define ID_ErrorDummy   5            // Intern zum Behandlen von Fehlenden Controls und Methoden
+#define ID_ErrorDummy   5            // internal for handling of missing controls and methods
 #define ID_RecordError  6
 #define ID_Start        7
 //#define ID_Kill           8
@@ -139,7 +139,7 @@ SV_DECL_PTRARR_SORT_DEL(CNames, ControlItem*, 50, 10)
 class ControlSon
 {
 protected:
-    CNames *pSons;      // um sicherzustelle, daᅵ nur Sᅵhne des richtien Type reinkommen
+    CNames *pSons;

 public:
     ControlSon() : pSons( NULL ) {};
@@ -223,7 +223,7 @@ public:

     void SFX_NOTIFY( SfxBroadcaster&, const TypeId&, const SfxHint& rHint, const TypeId& );
     virtual SbxVariable* Find( const String&, SbxClassType );
-    SbxTransportMethodRef pMethodVar;     // zum Transport von Find nach Notify
+    SbxTransportMethodRef pMethodVar;     // for transport from Find to Notify
     static CNames  *pClasses;
     static ControlDefLoad const arClasses [];
 };
@@ -234,23 +234,24 @@ typedef std::map< String, String > Environment;
 class ImplTestToolObj
 {
 public:
-    String ProgParam;           // Parameter der zu Testenden APP; Gesetzt ï¿œber Start
+    String ProgParam;           // parameters of the APP to be tested; set over Start

-    DirEntry aFileBase;         // Grundpfad fï¿œr die *.sid und *.win Dateien (Aus Configdatei)
-    DirEntry aLogFileBase;      // Grundpfad fï¿œr die *.res Dateien (Aus Configdatei)
-    DirEntry aHIDDir;           // Verzeichnis, in dem die hid.lst gesucht wird
+    DirEntry aFileBase;         // base path for the *.sid and *.win files (from the configfile)
+    DirEntry aLogFileBase;      // base path for the *.res files (from the configfile)
+    DirEntry aHIDDir;           // directory in which the hid.lst is searched for

-    SbxTransportMethodRef pNextReturn;  // Verweis auf die Var, die den Returnwert aufnimmt.
+    SbxTransportMethodRef pNextReturn;
+
+    ControlsRef pControlsObj;

-    ControlsRef pControlsObj;           // Jeweiliges Objekt, an dem Methoden aufgerufen weden.

 #define VAR_POOL_SIZE 8
-    SbxTransportMethodRef pMyVars[VAR_POOL_SIZE];  // Falls in Ausdrï¿œcken mehrere verwendet 
werden
+    SbxTransportMethodRef pMyVars[VAR_POOL_SIZE];

     Time aServerTimeout;


-// Profiling Datenfelder
+// profiling data fields
     sal_uLong LocalStarttime;
     sal_uInt16 nNumBorders;
     sal_uLong naValBorders[4];
@@ -262,7 +263,7 @@ public:
     sal_uLong nMaxRemoteCommandDelay;
     sal_Bool bDoRemoteCommandDelay;

-    sal_Bool bLnaguageExtensionLoaded;      // Wurde ï¿œber 'use' was geladen? Fï¿œr syntax 
highlighting
+    sal_Bool bLnaguageExtensionLoaded;      // something loaded via 'use'? for syntax highlighting
     SfxBroadcaster *pTTSfxBroadcaster;

     sal_uLong nErrorCount;
diff --git a/automation/source/testtool/tcommuni.cxx b/automation/source/testtool/tcommuni.cxx
index 32b9707..d3bbcc7 100644
--- a/automation/source/testtool/tcommuni.cxx
+++ b/automation/source/testtool/tcommuni.cxx
@@ -71,7 +71,7 @@ sal_Bool CommunicationManagerClientViaSocketTT::RetryConnect()
 {
     if ( !bApplicationStarted )
     {
-        // Die App ist wohl nicht da. Starten wir sie mal.
+
         if ( aAppPath.Len() )
         {
             delete pProcess;
@@ -84,7 +84,7 @@ sal_Bool CommunicationManagerClientViaSocketTT::RetryConnect()

             if ( bSucc )
             {
-                aFirstRetryCall = Time() + Time( 0, 1 );    // Max eine Minute Zeit
+                aFirstRetryCall = Time() + Time( 0, 1 );
                 for ( int i = 10 ; i-- ; )
                     GetpApp()->Reschedule();
             }
@@ -97,7 +97,7 @@ sal_Bool CommunicationManagerClientViaSocketTT::RetryConnect()
         if ( aFirstRetryCall > Time() )
         {
             Timer aWait;
-            aWait.SetTimeout( 500 );         // Max 500 mSec
+            aWait.SetTimeout( 500 );
             aWait.Start();
             while ( aWait.IsActive() )
                 GetpApp()->Yield();
diff --git a/basctl/source/basicide/basicbox.cxx b/basctl/source/basicide/basicbox.cxx
index 6eda4be..b66e141 100644
--- a/basctl/source/basicide/basicbox.cxx
+++ b/basctl/source/basicide/basicbox.cxx
@@ -166,7 +166,7 @@ BasicLibBox::BasicLibBox( Window* pParent, const uno::Reference< frame::XFrame >
     m_xFrame( rFrame )
 {
     FillBox();
-    bIgnoreSelect = sal_True;   // Select von 0 noch nicht weiterleiten
+    bIgnoreSelect = sal_True;   // do not yet transfer select of 0
     bFillBox = sal_True;
     SelectEntryPos( 0 );
     aCurText = GetEntry( 0 );
@@ -183,7 +183,7 @@ BasicLibBox::~BasicLibBox()

 void BasicLibBox::Update( const SfxStringItem* pItem )
 {
-    // Immer auf dem laufenden sein...
+
 //  if ( !pItem  || !pItem->GetValue().Len() )
         FillBox();

@@ -206,7 +206,7 @@ void BasicLibBox::ReleaseFocus()
     if ( pCurSh )
     {
         Window* pShellWin = pCurSh->GetWindow();
-        if ( !pShellWin )       // sonst werde ich ihn nicht los
+        if ( !pShellWin )
             pShellWin = Application::GetDefDialogParent();

         pShellWin->GrabFocus();
@@ -243,7 +243,7 @@ void BasicLibBox::FillBox()
     SelectEntry( aCurText );
     if ( !GetSelectEntryCount() )
     {
-        SelectEntryPos( GetEntryCount() );  // gibst es nicht => leer?
+        SelectEntryPos( GetEntryCount() );
         aCurText = GetSelectEntry();
     }
     bIgnoreSelect = sal_False;
@@ -321,7 +321,7 @@ void BasicLibBox::Select()
         if ( !bIgnoreSelect )
             NotifyIDE();
         else
-            SelectEntry( aCurText );    // Seit 306... (Select nach Escape)
+            SelectEntry( aCurText );    // since 306... (Select after Escape)
     }
 }

diff --git a/basctl/source/basicide/baside2.cxx b/basctl/source/basicide/baside2.cxx
index 294bda7..5c20eff 100644
--- a/basctl/source/basicide/baside2.cxx
+++ b/basctl/source/basicide/baside2.cxx
@@ -116,7 +116,7 @@ void lcl_PrintHeader( Printer* pPrinter, sal_uInt16 nPages, sal_uInt16 nCurPage,

     long nFontHeight = pPrinter->GetTextHeight();

-    // 1.Border => Strich, 2+3 Border = Freiraum.
+    // 1st Border => line, 2+3 Border = free space
     long nYTop = TMARGPRN-3*nBorder-nFontHeight;

     long nXLeft = nLeftMargin-nBorder;
@@ -167,14 +167,14 @@ void lcl_ConvertTabsToSpaces( String& rLine )
         {
             if ( rLine.GetChar( nPos ) == '\t' )
             {
-                // Nicht 4 Blanks, sondern an 4er TabPos:
+                // not 4 Blanks, but at 4 TabPos:
                 String aBlanker;
                 aBlanker.Fill( ( 4 - ( nPos % 4 ) ), ' ' );
                 rLine.Erase( nPos, 1 );
                 rLine.Insert( aBlanker, nPos );
                 nMax = rLine.Len();
             }
-            nPos++; // Nicht optimal, falls Tab, aber auch nicht verkehrt...
+            nPos++;
         }
     }
 }
@@ -235,13 +235,13 @@ void ModulWindow::GetFocus()
         return;
     DBG_CHKTHIS( ModulWindow, 0 );
     aXEditorWindow.GetEdtWindow().GrabFocus();
-    // Basisklasse nicht rufen, weil Focus jetzt woanders...
+    // don't call basic calls because focus is somewhere else...
 }

 void ModulWindow::DoInit()
 {
     DBG_CHKTHIS( ModulWindow, 0 );
-    // Wird beim Umschalten der Fenster gerufen...
+
     if ( GetVScrollBar() )
         GetVScrollBar()->Hide();
     GetHScrollBar()->Show();
@@ -269,7 +269,7 @@ void ModulWindow::CheckCompileBasic()

     if ( XModule().Is() )
     {
-        // Zur Laufzeit wird niemals compiliert!
+        // never compile while running!
         sal_Bool bRunning = StarBASIC::IsRunning();
         sal_Bool bModified = ( !xModule->IsCompiled() ||
             ( GetEditEngine() && GetEditEngine()->IsModified() ) );
@@ -337,7 +337,7 @@ sal_Bool ModulWindow::BasicExecute()
             // Init cursor to top
             nCurMethodStart = ( aSel.GetStart().GetPara() + 1 );
             SbMethod* pMethod = 0;
-            // erstes Macro, sonst blind "Main" (ExtSearch?)
+            // first Macro, else blind "Main" (ExtSearch?)
             for ( sal_uInt16 nMacro = 0; nMacro < xModule->GetMethods()->Count(); nMacro++ )
             {
                 SbMethod* pM = (SbMethod*)xModule->GetMethods()->Get( nMacro );
@@ -361,13 +361,13 @@ sal_Bool ModulWindow::BasicExecute()
                 BasicDLL::SetDebugMode( sal_True );
                 BasicIDE::RunMethod( pMethod );
                 BasicDLL::SetDebugMode( sal_False );
-                // Falls waehrend Interactive=sal_False abgebrochen
+                // if cancelled during Interactive=sal_False
                 BasicDLL::EnableBreak( sal_True );
             }
             ClearStatus( BASWIN_RUNNINGBASIC );
         }
         else
-            aStatus.bIsRunning = sal_False; // Abbruch von Reschedule()
+            aStatus.bIsRunning = sal_False; // cancel of Reschedule()
     }

     sal_Bool bDone = !aStatus.bError;
@@ -471,7 +471,7 @@ sal_Bool ModulWindow::LoadBasic()
             GetEditEngine()->SetUpdateMode( sal_False );
             GetEditView()->Read( *pStream );
             GetEditEngine()->SetUpdateMode( sal_True );
-            GetEditorWindow().Update(); // Es wurde bei UpdateMode = sal_True nur Invalidiert
+            GetEditorWindow().Update();
             GetEditorWindow().ForceSyntaxTimeout();
             GetEditorWindow().DestroyProgress();
             sal_uLong nError = aMedium.GetError();
@@ -568,12 +568,12 @@ sal_Bool ModulWindow::ToggleBreakPoint( sal_uLong nLine )
         }

         BreakPoint* pBrk = GetBreakPoints().FindBreakPoint( nLine );
-        if ( pBrk ) // entfernen
+        if ( pBrk ) // remove
         {
             xModule->ClearBP( (sal_uInt16)nLine );
             delete GetBreakPoints().remove( pBrk );
         }
-        else // einen erzeugen
+        else // create one
         {
             if ( xModule->SetBP( (sal_uInt16)nLine) )
             {
@@ -620,7 +620,7 @@ sal_Bool ModulWindow::BasicToggleBreakPoint()
     AssertValidEditEngine();

     TextSelection aSel = GetEditView()->GetSelection();
-    aSel.GetStart().GetPara()++;    // Basic-Zeilen beginnen bei 1!
+    aSel.GetStart().GetPara()++;    // Basic lines start at 1!
     aSel.GetEnd().GetPara()++;

     sal_Bool bNewBreakPoint = sal_False;
@@ -677,8 +677,8 @@ IMPL_LINK( ModulWindow, BasicErrorHdl, StarBASIC *, pBasic )
     GoOnTop();

     // ReturnWert: BOOL
-    //  FALSE:  Abbrechen
-    //  TRUE:   Weiter....
+    //  FALSE:  cancel
+    //  TRUE:   go on....
     String aErrorText( pBasic->GetErrorText() );
     sal_uInt16 nErrorLine = pBasic->GetLine() - 1;
     sal_uInt16 nErrCol1 = pBasic->GetCol1();
@@ -701,8 +701,7 @@ IMPL_LINK( ModulWindow, BasicErrorHdl, StarBASIC *, pBasic )
         aErrorTextPrefix += ' ';
         pLayout->GetStackWindow().UpdateCalls();
     }
-    // Wenn anderes Basic, dan sollte die IDE versuchen, da richtige
-    // Modul anzuzeigen...
+    // if other basic, the IDE should try to display the correct module
     sal_Bool bMarkError = ( pBasic == GetBasic() ) ? sal_True : sal_False;
     if ( bMarkError )
         aXEditorWindow.GetBrkWindow().SetMarkerPos( nErrorLine, sal_True );
@@ -729,20 +728,20 @@ long ModulWindow::BasicBreakHdl( StarBASIC* pBasic )
     // #i69280 Required in Window despite normal usage in next command!
     (void)pBasic;

-    // ReturnWert: sal_uInt16 => siehe SB-Debug-Flags
+    // Return value: sal_uInt16 => see SB-Debug-Flags
     sal_uInt16 nErrorLine = pBasic->GetLine();

-    // Gibt es hier einen BreakPoint?
+
     BreakPoint* pBrk = GetBreakPoints().FindBreakPoint( nErrorLine );
     if ( pBrk )
     {
         pBrk->nHitCount++;
         if ( pBrk->nHitCount < pBrk->nStopAfter && GetBasic()->IsBreak() )
-            return aStatus.nBasicFlags; // weiterlaufen...
+            return aStatus.nBasicFlags; // go on...
     }

-    nErrorLine--;   // EditEngine begint bei 0, Basic bei 1
-    // Alleine schon damit gescrollt wird...
+    nErrorLine--;   // EditEngine starts at 0, Basic at 1
+
     AssertValidEditEngine();
     GetEditView()->SetSelection( TextSelection( TextPaM( nErrorLine, 0 ), TextPaM( nErrorLine, 0 ) 
) );
     aXEditorWindow.GetBrkWindow().SetMarkerPos( nErrorLine );
@@ -834,14 +833,13 @@ void ModulWindow::EditMacro( const String& rMacroName )
                 pMethod->GetLineRange( nStart, nEnd );
                 if ( nStart )
                 {
-                    // Basic beginnt bei 1
                     nStart--;
                     nEnd--;
                 }
                 TextSelection aSel( TextPaM( nStart, 0 ), TextPaM( nStart, 0 ) );
                 AssertValidEditEngine();
                 TextView * pView = GetEditView();
-                // ggf. hinscrollen, so dass erste Zeile oben...
+                // scroll if applicabel so that first line is at the top
                 long nVisHeight = GetOutputSizePixel().Height();
                 if ( (long)pView->GetTextEngine()->GetTextHeight() > nVisHeight )
                 {
@@ -865,10 +863,9 @@ void ModulWindow::EditMacro( const String& rMacroName )
 void ModulWindow::StoreData()
 {
     DBG_CHKTHIS( ModulWindow, 0 );
-    // StoreData wird gerufen, wenn der BasicManager zerstoert oder
-    // dieses Fenster beendet wird.
-    // => Keine Unterbrechungen erwuenscht!
-    // Und bei SAVE, wenn AppBasic...
+    // StoreData is called when the BasicManager is destroyed or
+    // this window is closed.
+    // => interrupts undesired!
     GetEditorWindow().SetSourceInBasic( sal_True );
 }

@@ -889,9 +886,8 @@ void ModulWindow::UpdateData()
 {
     DBG_CHKTHIS( ModulWindow, 0 );
     DBG_ASSERT( XModule().Is(), "Kein Modul!" );
-    // UpdateData wird gerufen, wenn sich der Source von aussen
-    // geaendert hat.
-    // => Keine Unterbrechungen erwuenscht!
+    // UpdateData is called when the source has changed from outside
+    // => interrupts undesired!

     if ( XModule().Is() )
     {
@@ -949,7 +945,7 @@ sal_Int32 ModulWindow::FormatAndPrint( Printer* pPrinter, sal_Int32 nPrintPage )
     aPaperSz.Width() -= (LMARGPRN+RMARGPRN);
     aPaperSz.Height() -= (TMARGPRN+BMARGPRN);

-    // nLinepPage stimmt nicht, wenn Zeilen umgebrochen werden muessen...
+    // nLinepPage is not correct if there's a line break
     sal_uInt16 nLinespPage = (sal_uInt16) (aPaperSz.Height()/nLineHeight);
     sal_uInt16 nCharspLine = (sal_uInt16) (aPaperSz.Width() / pPrinter->GetTextWidth( 'X' ) );
     sal_uLong nParas = GetEditEngine()->GetParagraphCount();
@@ -957,7 +953,6 @@ sal_Int32 ModulWindow::FormatAndPrint( Printer* pPrinter, sal_Int32 nPrintPage )
     sal_uInt16 nPages = (sal_uInt16) (nParas/nLinespPage+1 );
     sal_uInt16 nCurPage = 1;

-    // Header drucken...
     lcl_PrintHeader( pPrinter, nPages, nCurPage, aTitle, nPrintPage == 0 );
     Point aPos( LMARGPRN, TMARGPRN );
     for ( sal_uLong nPara = 0; nPara < nParas; nPara++ )
@@ -1120,7 +1115,6 @@ void ModulWindow::GetState( SfxItemSet &rSet )
     {
         switch ( nWh )
         {
-            // allgemeine Items:
             case SID_CUT:
             {
                 if ( !GetEditView() || !GetEditView()->HasSelection() )
@@ -1183,8 +1177,7 @@ void ModulWindow::DoScroll( ScrollBar* pCurScrollBar )
     DBG_CHKTHIS( ModulWindow, 0 );
     if ( ( pCurScrollBar == GetHScrollBar() ) && GetEditView() )
     {
-        // Nicht mit dem Wert Scrollen, sondern lieber die Thumb-Pos fuer die
-        // VisArea verwenden:
+        // don't scroll with the value but rather use the Thumb-Pos for the VisArea:
         long nDiff = GetEditView()->GetStartDocPos().X() - pCurScrollBar->GetThumbPos();
         GetEditView()->Scroll( nDiff, 0 );
         GetEditView()->ShowCursor( sal_False, sal_True );
@@ -1264,8 +1257,7 @@ void ModulWindow::Deactivating()

 sal_uInt16 ModulWindow::StartSearchAndReplace( const SvxSearchItem& rSearchItem, sal_Bool 
bFromStart )
 {
-    // Mann koennte fuer das blinde Alle-Ersetzen auch auf
-    // Syntaxhighlighting/Formatierung verzichten...
+    // one could also relinquish syntaxhighlighting/formatting instead of the stupid 
replace-everything...
     AssertValidEditEngine();
     ExtTextView* pView = GetEditView();
     TextSelection aSel;
@@ -1493,7 +1485,7 @@ ModulWindowLayout::~ModulWindowLayout()

 void ModulWindowLayout::Resize()
 {
-    // ScrollBars, etc. passiert in BasicIDEShell:Adjust...
+    // ScrollBars, etc. happens in BasicIDEShell:Adjust...
     ArrangeWindows();
 }

@@ -1507,7 +1499,7 @@ void ModulWindowLayout::ArrangeWindows()
 {
     Size aSz = GetOutputSizePixel();

-    // prueffen, ob der Splitter in einem gueltigen Bereich liegt...
+    // test whether the splitter is in a valid area...
     long nMinPos = SPLIT_MARGIN;
     long nMaxPos = aSz.Height() - SPLIT_MARGIN;

@@ -1515,13 +1507,11 @@ void ModulWindowLayout::ArrangeWindows()
     long nHSplitPos = aHSplitter.GetSplitPosPixel();
     if ( !bVSplitted )
     {
-        // Wenn noch nie gesplitted wurde, Verhaeltniss = 3 : 4
         nVSplitPos = aSz.Height() * 3 / 4;
         aVSplitter.SetSplitPosPixel( nVSplitPos );
     }
     if ( !bHSplitted )
     {
-        // Wenn noch nie gesplitted wurde, Verhaeltniss = 2 : 3
         nHSplitPos = aSz.Width() * 2 / 3;
         aHSplitter.SetSplitPosPixel( nHSplitPos );
     }
@@ -1587,7 +1577,7 @@ IMPL_LINK( ModulWindowLayout, SplitHdl, Splitter *, pSplitter )

 sal_Bool ModulWindowLayout::IsToBeDocked( DockingWindow* pDockingWindow, const Point& rPos, 
Rectangle& rRect )
 {
-    // prueffen, ob als Dock oder als Child:
+    // test whether dock or child:
     // TRUE:    Floating
     // FALSE:   Child
     Point aPosInMe = ScreenToOutputPixel( rPos );
@@ -1623,12 +1613,10 @@ void ModulWindowLayout::DockaWindow( DockingWindow* pDockingWindow )
 {
     if ( pDockingWindow == &aWatchWindow )
     {
-        // evtl. Sonderbehandlung...
         ArrangeWindows();
     }
     else if ( pDockingWindow == &aStackWindow )
     {
-        // evtl. Sonderbehandlung...
         ArrangeWindows();
     }
 #if OSL_DEBUG_LEVEL > 0
diff --git a/basctl/source/basicide/baside2b.cxx b/basctl/source/basicide/baside2b.cxx
index 28df6b1..63bfc5b 100644
--- a/basctl/source/basicide/baside2b.cxx
+++ b/basctl/source/basicide/baside2b.cxx
@@ -279,15 +279,15 @@ void EditorWindow::RequestHelp( const HelpEvent& rHEvt )
                         SbxVariable* pVar = (SbxVariable*)pSBX;
                         SbxDataType eType = pVar->GetType();
                         if ( (sal_uInt8)eType == (sal_uInt8)SbxOBJECT )
-                            // Kann zu Absturz, z.B. bei Selections-Objekt fuehren
-                            // Type == Object heisst nicht, dass pVar == Object!
+                            // might cause a crash e. g. at the selections-object
+                            // Type == Object does not mean pVar == Object!
                             ; // aHelpText = ((SbxObject*)pVar)->GetClassName();
                         else if ( eType & SbxARRAY )
                             ; // aHelpText = "{...}";
                         else if ( (sal_uInt8)eType != (sal_uInt8)SbxEMPTY )
                         {
                             aHelpText = pVar->GetName();
-                            if ( !aHelpText.Len() )     // Bei Uebergabeparametern wird der Name 
nicht kopiert
+                            if ( !aHelpText.Len() )     // name is not copied with the passed 
parameters
                                 aHelpText = aWord;
                             aHelpText += '=';
                             aHelpText += pVar->GetString();
@@ -418,7 +418,7 @@ void EditorWindow::KeyInput( const KeyEvent& rKEvt )
     if ( !bDone && ( !TextEngine::DoesKeyChangeText( rKEvt ) || ImpCanModify()  ) )
     {
         if ( ( rKEvt.GetKeyCode().GetCode() == KEY_Y ) && rKEvt.GetKeyCode().IsMod1() )
-            bDone = sal_True; // CTRL-Y schlucken, damit kein Vorlagenkatalog
+            bDone = sal_True;
         else
         {
             if ( ( rKEvt.GetKeyCode().GetCode() == KEY_TAB ) && !rKEvt.GetKeyCode().IsMod1() &&
@@ -553,7 +553,7 @@ void EditorWindow::CreateEditEngine()
     aHighlighter.initialize( HIGHLIGHT_BASIC );

     sal_Bool bWasDoSyntaxHighlight = bDoSyntaxHighlight;
-    bDoSyntaxHighlight = sal_False; // Bei grossen Texten zu langsam...
+    bDoSyntaxHighlight = sal_False; // too slow for large texts...
     ::rtl::OUString aOUSource( pModulWindow->GetModule() );
     sal_Int32 nLines = 0;
     sal_Int32 nIndex = -1;
@@ -565,8 +565,8 @@ void EditorWindow::CreateEditEngine()
     while ( nIndex >= 0 );

     // nLines*4: SetText+Formatting+DoHighlight+Formatting
-    // 1 Formatting koennte eingespart werden, aber dann wartet man
-    // bei einem langen Sourcecode noch laenger auf den Text...
+    // it could be cut down on one formatting but you would wait even longer
+    // for the text then if the source code is long...
     pProgress = new ProgressInfo( IDE_DLL()->GetShell()->GetViewFrame()->GetObjectShell(), String( 
IDEResId( RID_STR_GENERATESOURCE ) ), nLines*4 );
     setTextEngineText( pEditEngine, aOUSource );

@@ -574,9 +574,8 @@ void EditorWindow::CreateEditEngine()
     pEditView->SetSelection( TextSelection() );
     pModulWindow->GetBreakPointWindow().GetCurYOffset() = 0;
     pEditEngine->SetUpdateMode( sal_True );
-    Update();   // Es wurde bei UpdateMode = sal_True nur Invalidiert
+    Update();   // has only been invalidated at UpdateMode = sal_True

-    // Die anderen Fenster auch, damit keine halben Sachen auf dem Bildschirm!
     pModulWindow->GetLayout()->GetWatchWindow().Update();
     pModulWindow->GetLayout()->GetStackWindow().Update();
     pModulWindow->GetBreakPointWindow().Update();
@@ -585,7 +584,6 @@ void EditorWindow::CreateEditEngine()

     StartListening( *pEditEngine );

-    // Das Syntax-Highlightning legt ein rel. groesse VDev an.
     aSyntaxIdleTimer.Stop();
     bDoSyntaxHighlight = bWasDoSyntaxHighlight;

@@ -714,7 +712,7 @@ void EditorWindow::ConfigurationChanged( utl::ConfigurationBroadcaster*, sal_uIn

 void EditorWindow::SetScrollBarRanges()
 {
-    // Extra-Methode, nicht InitScrollBars, da auch fuer EditEngine-Events.
+    // extra method, not InitScrollBars, because for EditEngine events too
     if ( !pEditEngine )
         return;

@@ -772,7 +770,6 @@ void EditorWindow::ImpDoHighlight( sal_uLong nLine )
             pEditEngine->SetAttrib( TextAttribFontColor( rColor ), nLine, r.nBegin, r.nEnd, 
sal_True );
         }

-        // Das Highlighten soll kein Modify setzen
         pEditEngine->SetModified( bWasModified );
     }
 }
@@ -807,11 +804,11 @@ void EditorWindow::ImplSetFont()

 void EditorWindow::DoSyntaxHighlight( sal_uLong nPara )
 {
-    // Durch das DelayedSyntaxHighlight kann es passieren,
-    // dass die Zeile nicht mehr existiert!
+    // because of the DelayedSyntaxHighlight it's possible
+    // that this line does not exist anymore!
     if ( nPara < pEditEngine->GetParagraphCount() )
     {
-        // leider weis ich nicht, ob genau diese Zeile Modified() ...
+        // unfortunately I'm not sure that excactly this line does Modified() ...
         if ( pProgress )
             pProgress->StepProgress();
         ImpDoHighlight( nPara );
@@ -820,8 +817,8 @@ void EditorWindow::DoSyntaxHighlight( sal_uLong nPara )

 void EditorWindow::DoDelayedSyntaxHighlight( sal_uLong nPara )
 {
-    // Zeile wird nur in 'Liste' aufgenommen, im TimerHdl abgearbeitet.
-    // => Nicht Absaetze manipulieren, waehrend EditEngine formatiert.
+    // line is only added to 'Liste' (list), processed in TimerHdl
+    // => don't manipulate breaks while EditEngine is formatting
     if ( pProgress )
         pProgress->StepProgress();

@@ -879,13 +876,8 @@ void EditorWindow::ParagraphInsertedDeleted( sal_uLong nPara, sal_Bool 
bInserted
     }
     else
     {
-        // Brechpunkte Aktualisieren...
-        // keine Sonderbehandlung fuer EditEngine-CTOR ( Erste-Zeile-Problem ),
-        // da in diesem Moment noch keine BreakPoints.
-        // +1: Basic-Zeilen beginnen bei 1!
         pModulWindow->GetBreakPoints().AdjustBreakPoints( (sal_uInt16)nPara+1, bInserted );

-        // Im BreakPointWindow invalidieren...
         long nLineHeight = GetTextHeight();
         Size aSz = pModulWindow->GetBreakPointWindow().GetOutputSize();
         Rectangle aInvRec( Point( 0, 0 ), aSz );
@@ -928,9 +920,7 @@ BreakPointWindow::BreakPointWindow( Window* pParent ) :
     setBackgroundColor(GetSettings().GetStyleSettings().GetFieldColor());
     nMarkerPos = MARKER_NOMARKER;

-    // nCurYOffset merken und nicht von EditEngine holen.
-    // Falls in EditEngine autom. gescrollt wurde, wuesste ich sonst nicht,
-    // wo ich gerade stehe.
+    // memorize nCurYOffset and not take it from EditEngine

     SetHelpId( HID_BASICIDE_BREAKPOINTWINDOW );
 }
@@ -993,10 +983,10 @@ void BreakPointWindow::SetMarkerPos( sal_uInt16 nLine, sal_Bool bError )
     if ( SyncYOffset() )
         Update();

-    ShowMarker( sal_False );    // Alten wegzeichen...
+    ShowMarker( sal_False );
     nMarkerPos = nLine;
     bErrorMarker = bError;
-    ShowMarker( sal_True );     // Neuen zeichnen...
+    ShowMarker( sal_True );
 }

 void BreakPointWindow::ShowMarker( sal_Bool bShow )
@@ -1054,7 +1044,6 @@ void BreakPointWindow::MouseButtonDown( const MouseEvent& rMEvt )
         long nYPos = aMousePos.Y() + nCurYOffset;
         long nLine = nYPos / nLineHeight + 1;
         pModulWindow->ToggleBreakPoint( (sal_uLong)nLine );
-        // vielleicht mal etwas genauer...
         Invalidate();
     }
 }
@@ -1070,7 +1059,7 @@ void BreakPointWindow::Command( const CommandEvent& rCEvt )
         BreakPoint* pBrk = rCEvt.IsMouseEvent() ? FindBreakPoint( aEventPos ) : 0;
         if ( pBrk )
         {
-            // prueffen, ob Brechpunkt enabled....
+            // test if break point is enabled...
             PopupMenu aBrkPropMenu( IDEResId( RID_POPUP_BRKPROPS ) );
             aBrkPropMenu.CheckItem( RID_ACTIV, pBrk->bEnabled );
             switch ( aBrkPropMenu.Execute( this, aPos ) )
@@ -1245,7 +1234,7 @@ void WatchWindow::Resize()
     Size aSz = GetOutputSizePixel();
     Size aBoxSz( aSz.Width() - 2*DWBORDER, aSz.Height() - nVirtToolBoxHeight - DWBORDER );

-    if ( aBoxSz.Width() < 4 )   // < 4, weil noch Border...
+    if ( aBoxSz.Width() < 4 )
         aBoxSz.Width() = 0;
     if ( aBoxSz.Height() < 4 )
         aBoxSz.Height() = 0;
@@ -1257,7 +1246,7 @@ void WatchWindow::Resize()
     aBoxSz.Height() = nHeaderBarHeight;
     aHeaderBar.SetSizePixel( aBoxSz );

-    Invalidate();   //Wegen DrawLine im Paint...
+    Invalidate();
 }

 struct MemberList
@@ -1536,14 +1525,14 @@ void StackWindow::Resize()
     Size aSz = GetOutputSizePixel();
     Size aBoxSz( aSz.Width() - 2*DWBORDER, aSz.Height() - nVirtToolBoxHeight - DWBORDER );

-    if ( aBoxSz.Width() < 4 )   // < 4, weil noch Border...
+    if ( aBoxSz.Width() < 4 )
         aBoxSz.Width() = 0;
     if ( aBoxSz.Height() < 4 )
         aBoxSz.Height() = 0;

     aTreeListBox.SetSizePixel( aBoxSz );

-    Invalidate();   //Wegen DrawLine im Paint...
+    Invalidate();
 }


@@ -1580,7 +1569,7 @@ void StackWindow::UpdateCalls()
             if ( pParams )
             {
                 aEntry += '(';
-                // 0 ist der Name der Sub...
+                // 0 is the sub's name...
                 for ( sal_uInt16 nParam = 1; nParam < pParams->Count(); nParam++ )
                 {
                     SbxVariable* pVar = pParams->Get( nParam );
@@ -1972,16 +1961,14 @@ sal_Bool WatchTreeListBox::ImplBasicEntryEdited( SvLBoxEntry* pEntry, const 
Stri
     {
         if ( pToBeChanged->ISA( SbxVariable ) )
         {
-            // Wenn der Typ variabel ist, macht die Konvertierung des SBX nichts,
-            // bei festem Typ wird der String konvertiert.
+            // If the type is variable, the conversion of the SBX does not matter,
+            // else the string is converted.
             ((SbxVariable*)pToBeChanged)->PutStringExt( aResult );
         }
         else
             bError = sal_True;
     }

-    // Wenn jemand z.B. einen zu grossen Wert fuer ein Int eingegeben hat,
-    // folgt beim naechsten Step() ein Runtime-Error.
     if ( SbxBase::IsError() )
     {
         bError = sal_True;
@@ -2099,7 +2086,7 @@ void WatchTreeListBox::UpdateWatches( bool bBasicStopped )
                 SbxDataType eType = pVar->GetType();
                 if ( eType & SbxARRAY )
                 {
-                    // Mehrdimensionale Arrays beruecksichtigen!
+                    // consider multidimensinal arrays!
                     SbxBase* pBase = pVar->GetObject();
                     if ( pBase && pBase->ISA( SbxDimArray ) )
                     {
diff --git a/basctl/source/basicide/baside3.cxx b/basctl/source/basicide/baside3.cxx
index b5b48b9..1c3132d 100644
--- a/basctl/source/basicide/baside3.cxx
+++ b/basctl/source/basicide/baside3.cxx
@@ -108,7 +108,6 @@ DialogWindow::DialogWindow( Window* pParent, const ScriptDocument& rDocument, St
     pEditor->SetWindow( this );
     pEditor->SetDialog( xDialogModel );

-    // Undo einrichten
     pUndoMgr = new SfxUndoManager;

     Link aDummyLink;
@@ -326,10 +325,9 @@ void DialogWindow::GetState( SfxItemSet& rSet )
             }
             break;

-            // Nur Dialogfenster:
             case SID_DIALOG_TESTMODE:
             {
-                // ist die IDE noch aktiv?
+                // is the IDE still active?
                 if( IDE_DLL()->GetShell()->GetFrame() )
                 {
                     rSet.Put( SfxBoolItem( SID_DIALOG_TESTMODE,
diff --git a/basctl/source/basicide/basides1.cxx b/basctl/source/basicide/basides1.cxx
index 4fecf6e..955d727 100644
--- a/basctl/source/basicide/basides1.cxx
+++ b/basctl/source/basicide/basides1.cxx
@@ -83,7 +83,7 @@ using namespace ::com::sun::star::frame;

 class SvxSearchItem;

-//  Egal was, einfach ans aktuelle Fenster:
+
 void BasicIDEShell::ExecuteCurrent( SfxRequest& rReq )
 {
     if ( !pCurWin )
@@ -105,7 +105,6 @@ void BasicIDEShell::ExecuteCurrent( SfxRequest& rReq )

             if ( pCurWin->ISA( ModulWindow ) )
             {
-                // module
                 if ( QueryDelModule( aName, pCurWin ) )
                 {
                     if ( aDocument.removeModule( aLibName, aName ) )
@@ -116,7 +115,6 @@ void BasicIDEShell::ExecuteCurrent( SfxRequest& rReq )
             }
             else
             {
-                // dialog
                 if ( QueryDelDialog( aName, pCurWin ) )
                 {
                     if ( BasicIDE::RemoveDialog( aDocument, aLibName, aName ) )
@@ -139,14 +137,14 @@ void BasicIDEShell::ExecuteCurrent( SfxRequest& rReq )
             {
                 DBG_ASSERT( rReq.GetArgs(), "arguments expected" );
                 const SfxItemSet* pArgs = rReq.GetArgs();
-                // Leider kenne ich die ID nicht:
+                // unfortunately I don't know the ID:
                 sal_uInt16 nWhich = pArgs->GetWhichByPos( 0 );
                 DBG_ASSERT( nWhich, "Wich fuer SearchItem ?" );
                 const SfxPoolItem& rItem = pArgs->Get( nWhich );
                 DBG_ASSERT( rItem.ISA( SvxSearchItem ), "Kein Searchitem!" );
                 if ( rItem.ISA( SvxSearchItem ) )
                 {
-                    // Item wegen der Einstellungen merken...
+                    // memorize item because of the adjustments...
                     IDE_DLL()->GetExtraData()->SetSearchItem( (const SvxSearchItem&)rItem );
                     sal_uInt16 nFound = 0;
                     sal_Bool bCanceled = sal_False;
@@ -184,10 +182,9 @@ void BasicIDEShell::ExecuteCurrent( SfxRequest& rReq )
                         nFound = ((ModulWindow*)pCurWin)->StartSearchAndReplace( (const 
SvxSearchItem&)rItem );
                         if ( !nFound && !((const SvxSearchItem&)rItem).GetSelection() )
                         {
-                            // Andere Module durchsuchen...
+                            // search other modules...
                             sal_Bool bChangeCurWindow = sal_False;
                             aIDEWindowTable.Seek( pCurWin );
-                            // Erstmal beim naechsten Anfangen, ggf. spaeter von vorne
                             IDEBaseWindow* pWin = aIDEWindowTable.Next();
                             sal_Bool bSearchedFromStart = sal_False;
                             while ( !nFound && !bCanceled && ( pWin || !bSearchedFromStart ) )
@@ -211,8 +208,6 @@ void BasicIDEShell::ExecuteCurrent( SfxRequest& rReq )
                                 {
                                     if ( pWin != pCurWin )
                                     {
-                                        // Groesse einstellen, damit die View
-                                        // gleich richtig justiert werden kann.
                                         if ( pCurWin )
                                             pWin->SetSizePixel( pCurWin->GetSizePixel() );
                                         nFound = ((ModulWindow*)pWin)->StartSearchAndReplace( 
(const SvxSearchItem&)rItem, sal_True );
@@ -226,9 +221,9 @@ void BasicIDEShell::ExecuteCurrent( SfxRequest& rReq )
                                 if ( pWin && ( pWin != pCurWin ) )
                                     pWin = aIDEWindowTable.Next();
                                 else
-                                    pWin = 0;   // Dann sind wir durch...
+                                    pWin = 0;
                             }
-                            if ( !nFound && bSearchedFromStart )    // Aktuelles von vorne...
+                            if ( !nFound && bSearchedFromStart )
                                 nFound = ((ModulWindow*)pCurWin)->StartSearchAndReplace( (const 
SvxSearchItem&)rItem, sal_True );
                             if ( bChangeCurWindow )
                                 SetCurWindow( pWin, sal_True );
@@ -264,7 +259,7 @@ void BasicIDEShell::ExecuteCurrent( SfxRequest& rReq )
     }
 }

-//  Egal, wer oben, Einfluss auf die Shell:
+//  no matter who's at the top, influence on the shell:
 void BasicIDEShell::ExecuteGlobal( SfxRequest& rReq )
 {
     sal_uInt16 nSlot = rReq.GetSlot();
@@ -272,7 +267,7 @@ void BasicIDEShell::ExecuteGlobal( SfxRequest& rReq )
     {
         case SID_BASICSTOP:
         {
-            // Evtl. nicht einfach anhalten, falls auf Brechpunkt!
+            // maybe do not simply stop if on breakpoint!
             if ( pCurWin && pCurWin->IsA( TYPE( ModulWindow ) ) )
                 ((ModulWindow*)pCurWin)->BasicStop();
             BasicIDE::StopBasic();
@@ -283,7 +278,7 @@ void BasicIDEShell::ExecuteGlobal( SfxRequest& rReq )
         {
             if ( pCurWin )
             {
-                // Daten ins BASIC zurueckschreiben
+                // rewrite date into the BASIC
                 StoreAllWindowData();

                 // document basic
@@ -367,7 +362,7 @@ void BasicIDEShell::ExecuteGlobal( SfxRequest& rReq )

             ScriptDocument aDocument( ScriptDocument::getDocumentForBasicManager( pBasMgr ) );

-            StartListening( *pBasMgr, sal_True /* Nur einmal anmelden */ );
+            StartListening( *pBasMgr, sal_True /* log on only once */ );
             String aLibName( rInfo.GetLib() );
             if ( !aLibName.Len() )
                 aLibName = String::CreateFromAscii( "Standard" );
@@ -544,7 +539,7 @@ void BasicIDEShell::ExecuteGlobal( SfxRequest& rReq )
                 }
                 else
                 {
-                    // alten Wert einstellen...
+                    // adjust old value...
                     SfxBindings* pBindings = BasicIDE::GetBindingsPtr();
                     if ( pBindings )
                         pBindings->Invalidate( SID_BASICIDE_LIBSELECTOR, sal_True, sal_False );
@@ -559,7 +554,7 @@ void BasicIDEShell::ExecuteGlobal( SfxRequest& rReq )
                     {
                         m_aCurDocument = ScriptDocument::getApplicationScriptDocument();
                         m_aCurLibName = String();
-                        // Kein UpdateWindows!
+                        // no UpdateWindows!
                         SfxBindings* pBindings = BasicIDE::GetBindingsPtr();
                         if ( pBindings )
                             pBindings->Invalidate( SID_BASICIDE_LIBSELECTOR );
@@ -879,7 +874,7 @@ void BasicIDEShell::GetState(SfxItemSet &rSet)
             break;
             case SID_BASICSTOP:
             {
-                // Stop immermoeglich, wenn irgendein Basic lauft...
+                // stop is always possible when some Basic is running...
                 if ( !StarBASIC::IsRunning() )
                     rSet.DisableItem( nWh );
             }
@@ -966,14 +961,14 @@ void BasicIDEShell::GetState(SfxItemSet &rSet)
                 }
             }
             break;
-            // Werden vom Controller ausgewertet:
+            // are interpreted by the controller:
             case SID_ATTR_SIZE:
             case SID_ATTR_INSERT:
             break;
             case SID_UNDO:
             case SID_REDO:
             {
-                if( GetUndoManager() )  // sonst rekursives GetState
+                if( GetUndoManager() )  // recursive GetState else
                     GetViewFrame()->GetSlotState( nWh, NULL, &rSet );
             }
             break;
@@ -1049,9 +1044,7 @@ sal_Bool BasicIDEShell::HasUIFeature( sal_uInt32 nFeature )

 void BasicIDEShell::SetCurWindow( IDEBaseWindow* pNewWin, sal_Bool bUpdateTabBar, sal_Bool 
bRememberAsCurrent )
 {
-    // Es muss ein EditWindow am Sfx gesetzt sein, sonst kommt kein
-    // Resize, also stehen die Controls auf den Wiese...
-    // Sieht dann sowieso besser aus, wenn das Modul-Layout angezeigt wird...
+    // an EditWindow must be set at Sfx for resizing...
     if ( !pNewWin && ( GetWindow() != pModulLayout ) )
     {
         pModulLayout->Show();
@@ -1105,7 +1098,7 @@ void BasicIDEShell::SetCurWindow( IDEBaseWindow* pNewWin, sal_Bool 
bUpdateTabBar
                 }
             }

-            if ( GetViewFrame()->GetWindow().IsVisible() ) // sonst macht es spaeter der SFX
+            if ( GetViewFrame()->GetWindow().IsVisible() ) // SFX will do it later otherwise
                 pCurWin->Show();

             pCurWin->Init();
@@ -1126,10 +1119,10 @@ void BasicIDEShell::SetCurWindow( IDEBaseWindow* pNewWin, sal_Bool 
bUpdateTabBar
         {
             sal_uLong nKey = aIDEWindowTable.GetKey( pCurWin );
             if ( pCurWin && ( pTabBar->GetPagePos( (sal_uInt16)nKey ) == TAB_PAGE_NOTFOUND ) )
-                pTabBar->InsertPage( (sal_uInt16)nKey, pCurWin->GetTitle() );   // wurde neu 
eingeblendet
+                pTabBar->InsertPage( (sal_uInt16)nKey, pCurWin->GetTitle() );   // has just been 
faded in
             pTabBar->SetCurPageId( (sal_uInt16)nKey );
         }
-        if ( pCurWin && pCurWin->IsSuspended() )    // Wenn das Fenster im Fehlerfall angezeigt 
wird...
+        if ( pCurWin && pCurWin->IsSuspended() )    // if the window is shown in the case of an 
error...
             pCurWin->SetStatus( pCurWin->GetStatus() & ~BASWIN_SUSPENDED );
         if ( pCurWin )
         {
@@ -1249,7 +1242,7 @@ long BasicIDEShell::CallBasicBreakHdl( StarBASIC* pBasic )

         nRet = pModWin->BasicBreakHdl( pBasic );

-        if ( StarBASIC::IsRunning() )   // Falls abgebrochen...
+        if ( StarBASIC::IsRunning() )   // if cancelled...
         {
             if ( bAppWindowDisabled )
                 Application::GetDefDialogParent()->Enable( sal_False );
@@ -1296,7 +1289,7 @@ ModulWindow* BasicIDEShell::ShowActiveModuleWindow( StarBASIC* pBasic )
         }
         BasicManager* pBasicMgr = BasicIDE::FindBasicManager( pBasic );
         if ( pBasicMgr )
-            StartListening( *pBasicMgr, sal_True /* Nur einmal anmelden */ );
+            StartListening( *pBasicMgr, sal_True /* log on only once */ );
         return pWin;
     }
     return 0;
@@ -1304,7 +1297,7 @@ ModulWindow* BasicIDEShell::ShowActiveModuleWindow( StarBASIC* pBasic )

 void BasicIDEShell::AdjustPosSizePixel( const Point &rPos, const Size &rSize )
 {
-    // Nicht wenn minimiert, weil dann bei Restore der Text verschoben ist.
+    // not if iconified because the whole text would be displaced then at restore
     if ( GetViewFrame()->GetWindow().GetOutputSizePixel().Height() == 0 )
         return;

@@ -1318,7 +1311,7 @@ void BasicIDEShell::AdjustPosSizePixel( const Point &rPos, const Size &rSize )
     aVScrollBar.SetPosSizePixel( Point( rPos.X()+aSz.Width(), rPos.Y() ), Size( 
aScrollBarBoxSz.Width(), aSz.Height() ) );
     if ( bTabBarSplitted )
     {
-        // SplitSize ist beim Resize 0 !
+        // SplitSize is 0 at a resize!
         long nSplitPos = pTabBar->GetSizePixel().Width();
         if ( nSplitPos > aSz.Width() )
             nSplitPos = aSz.Width();
@@ -1337,7 +1330,7 @@ void BasicIDEShell::AdjustPosSizePixel( const Point &rPos, const Size &rSize )
     if ( pEdtWin )
     {
         if( pCurWin && pCurWin->IsA( TYPE( DialogWindow ) ) )
-            pEdtWin->SetPosSizePixel( rPos, aSz );  // Ohne ScrollBar
+            pEdtWin->SetPosSizePixel( rPos, aSz );  // without ScrollBar
         else
             pEdtWin->SetPosSizePixel( rPos, aOutSz );
     }
@@ -1366,8 +1359,8 @@ void BasicIDEShell::Activate( sal_Bool bMDI )

 void BasicIDEShell::Deactivate( sal_Bool bMDI )
 {
-    // bMDI sal_True heisst, dass ein anderes MDI aktiviert wurde, bei einem
-    // Deactivate durch eine MessageBox ist bMDI FALSE
+    // bMDI sal_True means that another MDI has been activated; in case of a
+    // deactivate due to a MessageBox bMDI is FALSE
     if ( bMDI )
     {
         if( pCurWin && pCurWin->IsA( TYPE( DialogWindow ) ) )
@@ -1378,8 +1371,8 @@ void BasicIDEShell::Deactivate( sal_Bool bMDI )
                 BasicIDE::MarkDocumentModified( pXDlgWin->GetDocument() );
         }

-        // CanClose pruefen, damit auch beim deaktivieren der BasicIDE geprueft wird,
-        // ob in einem Modul der Sourcecode zu gross ist...
+        // test CanClose to also test during deactivating the BasicIDE whether
+        // the sourcecode is too large in one of the modules...
         for ( sal_uLong nWin = 0; nWin < aIDEWindowTable.Count(); nWin++ )
         {
             IDEBaseWindow* pWin = aIDEWindowTable.GetObject( nWin );
diff --git a/basctl/source/basicide/basides2.cxx b/basctl/source/basicide/basides2.cxx
index 1aba814..eccd867 100644
--- a/basctl/source/basicide/basides2.cxx
+++ b/basctl/source/basicide/basides2.cxx
@@ -207,7 +207,7 @@ ModulWindow* BasicIDEShell::CreateBasWin( const ScriptDocument& rDocument, const
     if ( !aModName.Len() )
         aModName = rDocument.createObjectName( E_SCRIPTS, aLibName );

-    // Vielleicht gibt es ein suspendiertes?
+    // maybe there's an suspended one?
     pWin = FindBasWin( rDocument, aLibName, aModName, sal_False, sal_True );

     if ( !pWin )
@@ -273,7 +273,7 @@ ModulWindow* BasicIDEShell::FindBasWin( const ScriptDocument& rDocument, const S
     {
         if ( ( !pWin->IsSuspended() || bFindSuspended ) && pWin->IsA( TYPE( ModulWindow ) ) )
         {
-            if ( !rLibName.Len() )  // nur irgendeins finden...
+            if ( !rLibName.Len() )
                 pModWin = (ModulWindow*)pWin;
             else if ( pWin->IsDocument( rDocument ) && pWin->GetLibName() == rLibName && 
pWin->GetName() == rModName )
                 pModWin = (ModulWindow*)pWin;
@@ -301,7 +301,7 @@ void BasicIDEShell::ShowCursor( bool bOn )
 // Hack for #101048
 sal_Int32 getBasicIDEShellCount( void );

-// Nur wenn Basicfenster oben:
+// only if basic window above:
 void BasicIDEShell::ExecuteBasic( SfxRequest& rReq )
 {
     if ( !pCurWin || !pCurWin->IsA( TYPE( ModulWindow ) ) )
diff --git a/basctl/source/basicide/basides3.cxx b/basctl/source/basicide/basides3.cxx
index 9391011..410d575 100644
--- a/basctl/source/basicide/basides3.cxx
+++ b/basctl/source/basicide/basides3.cxx
@@ -73,7 +73,7 @@ DialogWindow* BasicIDEShell::CreateDlgWin( const ScriptDocument& rDocument, cons
     if ( !aDlgName.Len() )
         aDlgName = rDocument.createObjectName( E_DIALOGS, aLibName );

-    // Vielleicht gibt es ein suspendiertes?
+    // maybe there's a suspended one?
     pWin = FindDlgWin( rDocument, aLibName, aDlgName, sal_False, sal_True );

     if ( !pWin )
@@ -144,7 +144,7 @@ DialogWindow* BasicIDEShell::FindDlgWin( const ScriptDocument& rDocument, const
     {
         if ( ( !pWin->IsSuspended() || bFindSuspended ) && pWin->IsA( TYPE( DialogWindow ) ) )
         {
-            if ( !rLibName.Len() )  // nur irgendeins finden...
+            if ( !rLibName.Len() )
                 pDlgWin = (DialogWindow*)pWin;
             else if ( pWin->IsDocument( rDocument ) && pWin->GetLibName() == rLibName && 
pWin->GetName() == rDlgName )
                 pDlgWin = (DialogWindow*)pWin;
@@ -166,7 +166,7 @@ SdrView* BasicIDEShell::GetCurDlgView() const
     return pWin->GetView();
 }

-// Nur wenn Dialogfenster oben:
+// only if dialogue window above:
 void BasicIDEShell::ExecuteDialog( SfxRequest& rReq )
 {
     if ( pCurWin && ( pCurWin->IsA( TYPE( DialogWindow) ) ||
diff --git a/basctl/source/basicide/basidesh.cxx b/basctl/source/basicide/basidesh.cxx
index 8814f35..eb65391 100644
--- a/basctl/source/basicide/basidesh.cxx
+++ b/basctl/source/basicide/basidesh.cxx
@@ -44,7 +44,7 @@

 #define ITEMID_SIZE 0

-// Falls ohne PCH's:
+// if without PCH's:
 #include <ide_pch.hxx>


@@ -256,18 +256,17 @@ BasicIDEShell::~BasicIDEShell()
     if ( IDE_DLL() && IDE_DLL()->pShell == this )
         IDE_DLL()->pShell = NULL;

-    // Damit bei einem Basic-Fehler beim Speichern die Shell nicht sofort
-    // wieder hoch kommt:
+
     IDE_DLL()->GetExtraData()->ShellInCriticalSection() = sal_True;

     SetWindow( 0 );
     SetCurWindow( 0 );

-    // Alle Fenster zerstoeren:
+
     IDEBaseWindow* pWin = aIDEWindowTable.First();
     while ( pWin )
     {
-        // Kein Store, passiert bereits, wenn die BasicManager zerstoert werden.
+        // no store; does already happen when the BasicManagers are destroyed
         delete pWin;
         pWin = aIDEWindowTable.Next();
     }
@@ -410,7 +409,7 @@ sal_uInt16 BasicIDEShell::PrepareClose( sal_Bool bUI, sal_Bool bForBrowsing )
 {
     (void)bForBrowsing;

-    // da es nach Drucken etc. (DocInfo) modifiziert ist, hier resetten
+    // reset here because it's modified after printing etc. (DocInfo)
     GetViewFrame()->GetObjectShell()->SetModified(sal_False);

     if ( StarBASIC::IsRunning() )
@@ -439,7 +438,7 @@ sal_uInt16 BasicIDEShell::PrepareClose( sal_Bool bUI, sal_Bool bForBrowsing )
         }

         if ( bCanClose )
-            StoreAllWindowData( sal_False );    // Nicht auf Platte schreiben, das passiert am 
Ende automatisch
+            StoreAllWindowData( sal_False );    // don't write on the disk, that will be done 
later automatically

         return bCanClose;
     }
@@ -477,7 +476,6 @@ Size BasicIDEShell::GetOptimalSizePixel() const

 void BasicIDEShell::OuterResizePixel( const Point &rPos, const Size &rSize )
 {
-    // Adjust fliegt irgendwann raus...
     AdjustPosSizePixel( rPos, rSize );
 }

@@ -564,7 +562,7 @@ void BasicIDEShell::ShowObjectDialog( sal_Bool bShow, sal_Bool bCreateOrDestroy
         if ( !pObjectCatalog && bCreateOrDestroy )
         {
             pObjectCatalog = new ObjectCatalog( &GetViewFrame()->GetWindow() );
-            // Position wird in BasicIDEData gemerkt und vom Dlg eingestellt
+            // position is memorized in BasicIDEData and adjusted by the Dlg
             if ( pObjectCatalog )
             {
                 pObjectCatalog->SetCancelHdl( LINK( this, BasicIDEShell, ObjectDialogCancelHdl ) );
@@ -576,7 +574,7 @@ void BasicIDEShell::ShowObjectDialog( sal_Bool bShow, sal_Bool bCreateOrDestroy
             }
         }

-        // Die allerletzten Aenderungen...
+        // the very last changes...
         if ( pCurWin )
             pCurWin->StoreData();

@@ -591,7 +589,7 @@ void BasicIDEShell::ShowObjectDialog( sal_Bool bShow, sal_Bool bCreateOrDestroy
         pObjectCatalog->Hide();
         if ( bCreateOrDestroy )
         {
-            // Wegen OS/2-Focus-Problem pObjectCatalog vorm delete auf NULL
+            // pObjectCatalog to NULL before the delete because of OS/2-focus-problem
             ObjectCatalog* pTemp = pObjectCatalog;
             pObjectCatalog = 0;
             delete pTemp;
@@ -612,7 +610,7 @@ void BasicIDEShell::SFX_NOTIFY( SfxBroadcaster& rBC, const TypeId&,
             {
                 case SFX_HINT_DYING:
                 {
-                    EndListening( rBC, sal_True /* Alle abmelden */ );
+                    EndListening( rBC, sal_True /* log off all */ );
                     if ( pObjectCatalog )
                         pObjectCatalog->UpdateEntries();
                 }
@@ -653,10 +651,10 @@ void BasicIDEShell::SFX_NOTIFY( SfxBroadcaster& rBC, const TypeId&,

                     if ( nHintId == SBX_HINT_BASICSTOP )
                     {
-                        // Nicht nur bei Error/Break oder explizitem anhalten,
-                        // falls durch einen Programmierfehler das Update abgeschaltet ist.
+                        // not only at error/break or explicit stoppage,
+                        // if the update is turned off due to a programming bug
                         BasicIDE::BasicStopped();
-                        UpdateModulWindowLayout( true );    // Leer machen...
+                        UpdateModulWindowLayout( true );    // clear...
                         if( m_pCurLocalizationMgr )
                             m_pCurLocalizationMgr->handleBasicStopped();
                     }
@@ -726,7 +724,7 @@ void BasicIDEShell::RemoveWindows( const ScriptDocument& rDocument, const String

 void BasicIDEShell::UpdateWindows()
 {
-    // Alle Fenster, die nicht angezeigt werden duerfen, entfernen
+    // remove all windows that may not be displayed
     sal_Bool bChangeCurWindow = pCurWin ? sal_False : sal_True;
     if ( m_aCurLibName.Len() )
     {
@@ -738,10 +736,9 @@ void BasicIDEShell::UpdateWindows()
                 if ( pWin == pCurWin )
                     bChangeCurWindow = sal_True;
                 pWin->StoreData();
-                // Die Abfrage auf RUNNING verhindert den Absturz, wenn in Reschedule.
-                // Fenster bleibt erstmal stehen, spaeter sowieso mal umstellen,
-                // dass Fenster nur als Hidden markiert werden und nicht
-                // geloescht.
+                // The request of RUNNING prevents the crash when in reschedule.
+                // Window is frozen at first, later the windows should be changed
+                // anyway to be marked as hidden instead of being deleted.
                 if ( !(pWin->GetStatus() & ( BASWIN_TOBEKILLED | BASWIN_RUNNINGBASIC | 
BASWIN_SUSPENDED ) ) )
                 {
                     RemoveWindow( pWin, sal_False, sal_False );
@@ -756,14 +753,14 @@ void BasicIDEShell::UpdateWindows()

     IDEBaseWindow* pNextActiveWindow = 0;

-    // Alle anzuzeigenden Fenster anzeigen
+    // show all windows that are to be shown
     ScriptDocuments aDocuments( ScriptDocument::getAllScriptDocuments( 
ScriptDocument::AllWithApplication ) );
     for (   ScriptDocuments::const_iterator doc = aDocuments.begin();
             doc != aDocuments.end();
             ++doc
         )
     {
-        StartListening( *doc->getBasicManager(), sal_True /* Nur einmal anmelden */ );
+        StartListening( *doc->getBasicManager(), sal_True /* log on only once */ );

         // libraries
         Sequence< ::rtl::OUString > aLibNames( doc->getLibraryNames() );
@@ -906,10 +903,10 @@ void BasicIDEShell::RemoveWindow( IDEBaseWindow* pWindow_, sal_Bool bDestroy, 
sa
             if ( bStop )
             {
                 StarBASIC::Stop();
-                // Es kommt kein Notify...
+                // there will be no notify...
                 pWindow_->BasicStopped();
             }
-            aIDEWindowTable.Insert( nKey, pWindow_ );   // wieder einhaegen
+            aIDEWindowTable.Insert( nKey, pWindow_ );   // jump in again
         }
     }
     else
@@ -917,7 +914,7 @@ void BasicIDEShell::RemoveWindow( IDEBaseWindow* pWindow_, sal_Bool bDestroy, sa
         pWindow_->Hide();
         pWindow_->AddStatus( BASWIN_SUSPENDED );
         pWindow_->Deactivating();
-        aIDEWindowTable.Insert( nKey, pWindow_ );   // wieder einhaegen
+        aIDEWindowTable.Insert( nKey, pWindow_ );   // jump in again
     }

 }
@@ -926,7 +923,6 @@ void BasicIDEShell::RemoveWindow( IDEBaseWindow* pWindow_, sal_Bool bDestroy, sa

 sal_uInt16 BasicIDEShell::InsertWindowInTable( IDEBaseWindow* pNewWin )
 {
-    // Eigentlich prueffen,
     nCurKey++;
     aIDEWindowTable.Insert( nCurKey, pNewWin );
     return nCurKey;
@@ -936,7 +932,7 @@ sal_uInt16 BasicIDEShell::InsertWindowInTable( IDEBaseWindow* pNewWin )

 void BasicIDEShell::InvalidateBasicIDESlots()
 {
-    // Nur die, die eine optische Auswirkung haben...
+    // only those that have an optic effect...

     if ( IDE_DLL()->GetShell() )
     {
@@ -1047,7 +1043,7 @@ void BasicIDEShell::SetCurLibForLocalization( const ScriptDocument& 
rDocument, S

 void BasicIDEShell::ImplStartListening( StarBASIC* pBasic )
 {
-    StartListening( pBasic->GetBroadcaster(), sal_True /* Nur einmal anmelden */ );
+    StartListening( pBasic->GetBroadcaster(), sal_True /* log on only once */ );
 }

 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/basctl/source/basicide/basobj3.cxx b/basctl/source/basicide/basobj3.cxx
index ff27f54..398e927 100644
--- a/basctl/source/basicide/basobj3.cxx
+++ b/basctl/source/basicide/basobj3.cxx
@@ -107,7 +107,7 @@ SbMethod* CreateMacro( SbModule* pModule, const String& rMacroName )
             {
                 aMacroName = aStdMacroText;
                 aMacroName += String::CreateFromInt32( nMacro );
-                // Pruefen, ob vorhanden...
+                // test whether existing...
                 bValid = pModule->GetMethods()->Find( aMacroName, SbxCLASS_METHOD ) ? sal_False : 
sal_True;
                 nMacro++;
             }
@@ -116,7 +116,7 @@ SbMethod* CreateMacro( SbModule* pModule, const String& rMacroName )

     ::rtl::OUString aOUSource( pModule->GetSource32() );

-    // Nicht zu viele Leerzeilen erzeugen...
+    // don't produce too many empty lines...
     sal_Int32 nSourceLen = aOUSource.getLength();
     if ( nSourceLen > 2 )
     {
@@ -294,7 +294,7 @@ BasicManager* FindBasicManager( StarBASIC* pLib )

 void MarkDocumentModified( const ScriptDocument& rDocument )
 {
-    // Muss ja nicht aus einem Document kommen...
+    // does not have to come from a document...
     if ( rDocument.isApplication() )
     {
         BasicIDEShell* pIDEShell = IDE_DLL()->GetShell();
@@ -314,7 +314,7 @@ void MarkDocumentModified( const ScriptDocument& rDocument )
         pBindings->Update( SID_SAVEDOC );
     }

-    // Objectcatalog updaten...
+
     BasicIDEShell* pIDEShell = IDE_DLL()->GetShell();
     ObjectCatalog* pObjCatalog = pIDEShell ? pIDEShell->GetObjectCatalog() : 0;
     if ( pObjCatalog )
@@ -342,8 +342,8 @@ void StopBasic()
         IDEBaseWindow* pWin = rWindows.First();
         while ( pWin )
         {
-            // BasicStopped von Hand rufen, da das Stop-Notify ggf. sonst nicht
-            // durchkommen kann.
+            // call BasicStopped manually because the Stop-Notify
+            // might not get through otherwise
             pWin->BasicStopped();
             pWin = rWindows.Next();
         }
@@ -357,8 +357,8 @@ void BasicStopped( sal_Bool* pbAppWindowDisabled,
         sal_Bool* pbDispatcherLocked, sal_uInt16* pnWaitCount,
         SfxUInt16Item** ppSWActionCount, SfxUInt16Item** ppSWLockViewCount )
 {
-    // Nach einem Error oder dem expliziten abbrechen des Basics muessen
-    // ggf. einige Locks entfernt werden...
+    // maybe there are some locks to be removed after an error
+    // or an explicit cancelling of the basic...

     if ( pbAppWindowDisabled )
         *pbAppWindowDisabled = sal_False;
diff --git a/basctl/source/basicide/bastype2.cxx b/basctl/source/basicide/bastype2.cxx
index 1fd2953..5244a9f 100644
--- a/basctl/source/basicide/bastype2.cxx
+++ b/basctl/source/basicide/bastype2.cxx
@@ -197,7 +197,7 @@ BasicTreeListBox::BasicTreeListBox( Window* pParent, const ResId& rRes ) :
 {
     SetNodeDefaultImages();
     SetSelectionMode( SINGLE_SELECTION );
-    nMode = 0xFF;   // Alles
+    nMode = 0xFF;   // everything
 }


@@ -206,7 +206,7 @@ BasicTreeListBox::~BasicTreeListBox()
 {
     m_aNotifier.dispose();

-    // UserDaten zerstoeren
+    // destroy user data
     SvLBoxEntry* pEntry = First();
     while ( pEntry )
     {
@@ -223,7 +223,7 @@ void BasicTreeListBox::ScanEntry( const ScriptDocument& rDocument, LibraryLocati

     // can be called multiple times for updating!

-    // eigentlich prueffen, ob Basic bereits im Baum ?!
+    // actually test if basic's in the tree already?!
     SetUpdateMode( sal_False );

     // level 1: BasicManager (application, document, ...)
@@ -584,7 +584,7 @@ void BasicTreeListBox::UpdateEntries()
 {
     BasicEntryDescriptor aCurDesc( GetEntryDescriptor( FirstSelected() ) );

-    // Erstmal die vorhandenen Eintraege auf existens pruefen:
+
     SvLBoxEntry* pLastValid = 0;
     SvLBoxEntry* pEntry = First();
     while ( pEntry )
@@ -599,7 +599,7 @@ void BasicTreeListBox::UpdateEntries()
         pEntry = pLastValid ? Next( pLastValid ) : First();
     }

-    // Jetzt ueber die Basics rennen und in die Zweige eintragen
+
     ScanAllEntries();

     SetCurrentEntry( aCurDesc );
@@ -636,7 +636,7 @@ SvLBoxEntry* BasicTreeListBox::FindEntry( SvLBoxEntry* pParent, const String& rT

 long BasicTreeListBox::ExpandingHdl()
 {
-    // Expanding oder Collaps?
+    // expanding or collapsing?
     sal_Bool bOK = sal_True;
     if ( GetModel()->GetDepth( GetHdlEntry() ) == 1 )
     {
diff --git a/basctl/source/basicide/bastype2.hxx b/basctl/source/basicide/bastype2.hxx
index 6300f6c..a23b99a 100644
--- a/basctl/source/basicide/bastype2.hxx
+++ b/basctl/source/basicide/bastype2.hxx
@@ -138,8 +138,8 @@ public:
 };


-/****************************************
-    Zuordnung von Typen und Pointern in BasicEntrys:
+/************************************************************
+    Classification of types and pointers in the BasicEntries:

     OBJ_TYPE_DOCUMENT        BasicDocumentEntry
     OBJ_TYPE_LIBRARY         BasicEntry
@@ -147,7 +147,7 @@ public:
     OBJ_TYPE_DIALOG          BasicEntry
     OBJ_TYPE_METHOD          BasicEntry

-******************************************/
+**************************************************************/

 class BasicTreeListBox  :public SvTreeListBox
                         ,public ::basctl::DocumentEventListener
diff --git a/basctl/source/basicide/bastype3.cxx b/basctl/source/basicide/bastype3.cxx
index 6f49212..267ff94 100644
--- a/basctl/source/basicide/bastype3.cxx
+++ b/basctl/source/basicide/bastype3.cxx
@@ -147,14 +147,13 @@ void BasicTreeListBox::ExpandedHdl()
 {
     SvLBoxEntry* pEntry = GetHdlEntry();
     DBG_ASSERT( pEntry, "Was wurde zugeklappt?" );
-    // Die OnDemand erzeugten Childs loeschen,
-    // SubChilds werden automatisch geloescht.
+
     if ( !IsExpanded( pEntry ) && pEntry->HasChildsOnDemand() )
     {
         SvLBoxEntry* pChild = FirstChild( pEntry );
         while ( pChild )
         {
-            GetModel()->Remove( pChild );   // Ruft auch den DTOR
+            GetModel()->Remove( pChild );   // does also call the DTOR
             pChild = FirstChild( pEntry );
         }
     }
diff --git a/basctl/source/basicide/bastypes.cxx b/basctl/source/basicide/bastypes.cxx
index 10a78a5..4d10d02 100644
--- a/basctl/source/basicide/bastypes.cxx
+++ b/basctl/source/basicide/bastypes.cxx
@@ -41,7 +41,7 @@
 #include <basidesh.hrc>
 #include <bastypes.hxx>
 #include <bastype2.hxx>
-#include <baside2.hxx>  // Leider brauche ich teilweise pModulWindow...
+#include <baside2.hxx>  // unfortunately pModulWindow is needed partly...
 #include <baside3.hxx>
 #include <baside2.hrc>
 #include <svtools/textview.hxx>
@@ -100,7 +100,7 @@ void IDEBaseWindow::Init()
         pShellVScrollBar->SetScrollHdl( LINK( this, IDEBaseWindow, ScrollHdl ) );
     if ( pShellHScrollBar )
         pShellHScrollBar->SetScrollHdl( LINK( this, IDEBaseWindow, ScrollHdl ) );
-    DoInit();   // virtuell...
+    DoInit();   // virtual...
 }


@@ -116,7 +116,7 @@ void IDEBaseWindow::GrabScrollBars( ScrollBar* pHScroll, ScrollBar* pVScroll )
     DBG_CHKTHIS( IDEBaseWindow, 0 );
     pShellHScrollBar = pHScroll;
     pShellVScrollBar = pVScroll;
-//  Init(); // macht kein Sinn, fuehrt zu flackern, fuehr zu Fehlern...
+//  Init(); // does not make sense, leads to flickering and errors...
 }


@@ -303,7 +303,7 @@ void BreakPointList::InsertSorted( BreakPoint* pNewBrk )
             return;
         }
     }
-    // Keine Einfuegeposition gefunden => LIST_APPEND
+    // no insert position found => LIST_APPEND
     maBreakPoints.push_back( pNewBrk );
 }

@@ -441,7 +441,7 @@ sal_Bool BasicDockingWindow::Docking( const Point& rPos, Rectangle& rRect )
     {
         rRect.SetSize( aTmpRec.GetSize() );
     }
-    else    // Alte Groesse einstellen
+    else    // adjust old size
     {
         if ( !aFloatingPosAndSize.IsEmpty() )
             rRect.SetSize( aFloatingPosAndSize.GetSize() );
@@ -483,7 +483,7 @@ sal_Bool BasicDockingWindow::PrepareToggleFloatingMode()
 {
     if ( IsFloatingMode() )
     {
-        // Position und Groesse auf dem Desktop merken...
+        // memorize position and size on the desktop...
         aFloatingPosAndSize.SetPos( GetParent()->OutputToScreenPixel( GetPosPixel() ) );
         aFloatingPosAndSize.SetSize( GetSizePixel() );
     }
@@ -494,7 +494,6 @@ sal_Bool BasicDockingWindow::PrepareToggleFloatingMode()

 void BasicDockingWindow::StartDocking()
 {
-    // Position und Groesse auf dem Desktop merken...
     if ( IsFloatingMode() )
     {
         aFloatingPosAndSize.SetPos( GetParent()->OutputToScreenPixel( GetPosPixel() ) );
@@ -577,7 +576,7 @@ void BasicIDETabBar::Command( const CommandEvent& rCEvt )
     if ( ( rCEvt.GetCommand() == COMMAND_CONTEXTMENU ) && !IsInEditMode() )
     {
         Point aPos( rCEvt.IsMouseEvent() ? rCEvt.GetMousePosPixel() : Point(1,1) );
-        if ( rCEvt.IsMouseEvent() )     // Richtige Tab selektieren
+        if ( rCEvt.IsMouseEvent() )     // select right tab
         {
             Point aP = PixelToLogic( aPos );
             MouseEvent aMouseEvent( aP, 1, MOUSE_SIMPLECLICK, MOUSE_LEFT );
@@ -737,7 +736,7 @@ void CutLines( ::rtl::OUString& rStr, sal_Int32 nStartLine, sal_Int32 nLines, sa
         nStartPos = searchEOL( rStr, nStartPos );
         if( nStartPos == -1 )
             break;
-        nStartPos++;    // nicht das \n.
+        nStartPos++;    // not the \n.
         nLine++;
     }

@@ -750,7 +749,7 @@ void CutLines( ::rtl::OUString& rStr, sal_Int32 nStartLine, sal_Int32 nLines, sa
         for ( sal_Int32 i = 0; i < nLines; i++ )
             nEndPos = searchEOL( rStr, nEndPos+1 );

-        if ( nEndPos == -1 ) // kann bei letzter Zeile passieren
+        if ( nEndPos == -1 ) // might happen at the last line
             nEndPos = rStr.getLength();
         else
             nEndPos++;
diff --git a/basctl/source/basicide/brkdlg.cxx b/basctl/source/basicide/brkdlg.cxx
index 7c640c5..2cdff12 100644
--- a/basctl/source/basicide/brkdlg.cxx
+++ b/basctl/source/basicide/brkdlg.cxx
@@ -194,7 +194,7 @@ IMPL_LINK( BreakPointDialog, ButtonHdl, Button *, pButton )
     }
     else if ( pButton == &aNewButton )
     {
-        // Checkbox beruecksichtigen!
+        // keep checkbox in mind!
         String aText( aComboBox.GetText() );
         size_t nLine;
         bool bValid = lcl_ParseText( aText, nLine );
diff --git a/basctl/source/basicide/iderdll.cxx b/basctl/source/basicide/iderdll.cxx
index ea88275..db1f3cd 100644
--- a/basctl/source/basicide/iderdll.cxx
+++ b/basctl/source/basicide/iderdll.cxx
@@ -80,7 +80,7 @@ BasicIDEDLL::BasicIDEDLL()
     pShell = 0;
     pExtraData = 0;

-    GetExtraData(); // damit GlobalErrorHdl gesetzt wird.
+    GetExtraData(); // to cause GlobalErrorHdl to be set
 }

 BasicIDEDLL::~BasicIDEDLL()
@@ -136,10 +136,10 @@ BasicIDEData::BasicIDEData() : aObjCatPos( INVPOSITION, INVPOSITION )

 BasicIDEData::~BasicIDEData()
 {
-    // ErrorHdl zuruecksetzen ist zwar sauberer, aber diese Instanz wird
-    // sowieso sehr spaet, nach dem letzten Basic, zerstoert.
-    // Durch den Aufruf werden dann aber wieder AppDaten erzeugt und nicht
-    // mehr zerstoert => MLK's beim Purify
+    // Resetting ErrorHdl is cleaner indeed but this instance is destroyed
+    // pretty late, after the last Basic, anyway.
+    // Due to the call there is AppData created then though and not
+    // destroyed anymore => MLK's at Purify
 //  StarBASIC::SetGlobalErrorHdl( Link() );
 //  StarBASIC::SetGlobalBreakHdl( Link() );
 //  StarBASIC::setGlobalStarScriptListener( XEngineListenerRef() );
@@ -168,10 +168,10 @@ IMPL_LINK( BasicIDEData, GlobalBasicBreakHdl, StarBASIC *, pBasic )
         BasicManager* pBasMgr = BasicIDE::FindBasicManager( pBasic );
         if ( pBasMgr )
         {
-            // Hier lande ich zweimal, wenn Step into protected Basic
-            // => schlecht, wenn Passwortabfrage 2x, ausserdem sieht man in
-            // dem PasswordDlg nicht, fuer welche Lib...
-            // => An dieser Stelle keine Passwort-Abfrage starten
+            // I do get here twice if Step into protected Basic
+            // => bad, if password query twice, also you don't see
+            // the lib in the PasswordDlg...
+            // => start no password query at this point
             ScriptDocument aDocument( ScriptDocument::getDocumentForBasicManager( pBasMgr ) );
             OSL_ENSURE( aDocument.isValid(), "BasicIDEData::GlobalBasicBreakHdl: no document for 
the basic manager!" );
             if ( aDocument.isValid() )
@@ -183,7 +183,7 @@ IMPL_LINK( BasicIDEData, GlobalBasicBreakHdl, StarBASIC *, pBasic )
                     Reference< script::XLibraryContainerPassword > xPasswd( xModLibContainer, 
UNO_QUERY );
                     if ( xPasswd.is() && xPasswd->isLibraryPasswordProtected( aOULibName ) && 
!xPasswd->isLibraryPasswordVerified( aOULibName ) )
                     {
-                           // Ein Step-Out muesste mich aus den geschuetzten Bereich befoerdern...
+                           // a step-out should get me out of the protected area...
                         nRet = SbDEBUG_STEPOUT;
                     }
                     else
diff --git a/basctl/source/basicide/macrodlg.cxx b/basctl/source/basicide/macrodlg.cxx
index f6fdd77..d4714d7 100644
--- a/basctl/source/basicide/macrodlg.cxx
+++ b/basctl/source/basicide/macrodlg.cxx
@@ -87,15 +87,14 @@ MacroChooser::MacroChooser( Window* pParnt, sal_Bool bCreateEntries ) :
     nMode = MACROCHOOSER_ALL;
     bNewDelIsDel = sal_True;

-    // Der Sfx fragt den BasicManager nicht, ob modified
-    // => Speichern anschmeissen, wenn Aenderung, aber kein Sprung in
-    // die BasicIDE.
+    // the Sfx doesn't aske the BasicManger whether modified or not
+    // => start saving in case of a change without a into the BasicIDE.
     bForceStoreBasic = sal_False;

     aMacrosInTxtBaseStr = aMacrosInTxt.GetText();

     aMacroBox.SetSelectionMode( SINGLE_SELECTION );
-    aMacroBox.SetHighlightRange(); // ueber ganze Breite selektieren
+    aMacroBox.SetHighlightRange(); // select over the whole width

     aRunButton.SetClickHdl( LINK( this, MacroChooser, ButtonHdl ) );
     aCloseButton.SetClickHdl( LINK( this, MacroChooser, ButtonHdl ) );
@@ -255,7 +254,7 @@ short MacroChooser::Execute()
     Window* pPrevDlgParent = Application::GetDefDialogParent();
     Application::SetDefDialogParent( this );
     short nRet = ModalDialog::Execute();
-    // #57314# Wenn die BasicIDE aktiviert wurde, dann nicht den DefModalDialogParent auf das 
inaktive Dokument zuruecksetzen.
+    // #57314# If the BasicIDE has been activated, don't reset the DefModalDialogParent to the 
inactive document.
     if ( Application::GetDefDialogParent() == this )
         Application::SetDefDialogParent( pPrevDlgParent );
     return nRet;
@@ -268,7 +267,6 @@ void MacroChooser::EnableButton( Button& rButton, sal_Bool bEnable )
     {
         if ( nMode == MACROCHOOSER_CHOOSEONLY || nMode == MACROCHOOSER_RECORDING )
         {
-            // Nur der RunButton kann enabled werden
             if ( &rButton == &aRunButton )
                 rButton.Enable();
             else
@@ -316,13 +314,13 @@ void MacroChooser::DeleteMacro()
             pDispatcher->Execute( SID_BASICIDE_STOREALLMODULESOURCES );
         }

-        // Aktuelles Doc als geaendert markieren:
+        // mark current doc as modified:
         StarBASIC* pBasic = BasicIDE::FindBasic( pMethod );
         DBG_ASSERT( pBasic, "Basic?!" );
         BasicManager* pBasMgr = BasicIDE::FindBasicManager( pBasic );
         DBG_ASSERT( pBasMgr, "BasMgr?" );
         ScriptDocument aDocument( ScriptDocument::getDocumentForBasicManager( pBasMgr ) );
-        if ( aDocument.isDocument() )    // Muss ja nicht aus einem Document kommen...
+        if ( aDocument.isDocument() )
         {
             aDocument.setDocumentModified();
             SfxBindings* pBindings = BasicIDE::GetBindingsPtr();
@@ -411,7 +409,7 @@ SbMethod* MacroChooser::CreateMacro()

 void MacroChooser::SaveSetCurEntry( SvTreeListBox& rBox, SvLBoxEntry* pEntry )
 {
-    // Durch das Highlight wird das Edit sonst platt gemacht:
+    // the edit would be killed by the highlight otherwise:

     String aSaveText( aMacroNameEdit.GetText() );
     Selection aCurSel( aMacroNameEdit.GetSelection() );
@@ -453,7 +451,7 @@ void MacroChooser::CheckButtons()
         EnableButton( aRunButton, bEnable );
     }

-    // Organisieren immer moeglich ?
+    // organising still possible?

     // Assign...
     EnableButton( aAssignButton, pMethod ? sal_True : sal_False );
@@ -518,10 +516,10 @@ IMPL_LINK_INLINE_END( MacroChooser, MacroDoubleClickHdl, SvTreeListBox *, 
EMPTYA

 IMPL_LINK( MacroChooser, MacroSelectHdl, SvTreeListBox *, pBox )
 {
-    // Wird auch gerufen, wenn Deselektiert!
-    // 2 Funktionsaufrufe in jedem SelectHdl, nur weil Olli
-    // keinen separatren DeselctHdl einfuehren wollte:
-    // Also: Feststellen, ob Select oder Deselect:
+    // Is also called if deselected!
+    // Two function calls in every SelectHdl because
+    // there's no separate DeselectHDL.
+    // So find out if select or deselect:
     if ( pBox->IsSelected( pBox->GetHdlEntry() ) )
     {
         UpdateFields();
@@ -534,10 +532,10 @@ IMPL_LINK( MacroChooser, BasicSelectHdl, SvTreeListBox *, pBox )
 {
     static String aSpaceStr = String::CreateFromAscii(" ");

-    // Wird auch gerufen, wenn Deselektiert!
-    // 2 Funktionsaufrufe in jedem SelectHdl, nur weil Olli
-    // keinen separatren DeselctHdl einfuehren wollte:
-    // Also: Feststellen, ob Select oder Deselect:
+    // Is also called if deselected!
+    // Two function calls in every SelectHdl because
+    // there's no separate DeselectHDL.
+    // So find out if select or deselect:
     if ( !pBox->IsSelected( pBox->GetHdlEntry() ) )
         return 0;

@@ -552,8 +550,8 @@ IMPL_LINK( MacroChooser, BasicSelectHdl, SvTreeListBox *, pBox )

         aMacrosInTxt.SetText( aStr );

-        // Die Macros sollen in der Reihenfolge angezeigt werden,
-        // wie sie im Modul stehen.
+        // The macros should be called in the same order that they
+        // are written down in the module.

         map< sal_uInt16, SbMethod* > aMacros;
         size_t nMacroCount = pModule->GetMethods()->Count();
@@ -563,7 +561,6 @@ IMPL_LINK( MacroChooser, BasicSelectHdl, SvTreeListBox *, pBox )
             if( pMethod->IsHidden() )
                 continue;
             DBG_ASSERT( pMethod, "Methode nicht gefunden! (NULL)" );
-            // Eventuell weiter vorne ?
             sal_uInt16 nStart, nEnd;
             pMethod->GetLineRange( nStart, nEnd );
             aMacros.insert( map< sal_uInt16, SbMethod*>::value_type( nStart, pMethod ) );
@@ -593,15 +590,15 @@ IMPL_LINK( MacroChooser, EditModifyHdl, Edit *, pEdit )
 {
     (void)pEdit;

-    // Das Modul, in dem bei Neu das Macro landet, selektieren,
-    // wenn BasicManager oder Lib selektiert.
+    // select the module in which the macro is put at Neu (new),
+    // if BasicManager or Lib is selecting
     SvLBoxEntry* pCurEntry = aBasicBox.GetCurEntry();
     if ( pCurEntry )
     {
         sal_uInt16 nDepth = aBasicBox.GetModel()->GetDepth( pCurEntry );
         if ( ( nDepth == 1 ) && ( aBasicBox.IsEntryProtected( pCurEntry ) ) )
         {
-            // Dann auf die entsprechende Std-Lib stellen...
+            // then put to the respective Std-Lib...
             SvLBoxEntry* pManagerEntry = aBasicBox.GetModel()->GetParent( pCurEntry );
             pCurEntry = aBasicBox.GetModel()->FirstChild( pManagerEntry );
         }
@@ -637,7 +634,7 @@ IMPL_LINK( MacroChooser, EditModifyHdl, Edit *, pEdit )
             if ( !bFound )
             {
                 SvLBoxEntry* pEntry = aMacroBox.FirstSelected();
-                // Wenn es den Eintrag gibt ->Select ->Desription...
+                // if the entry exists ->Select ->Desription...
                 if ( pEntry )
                     aMacroBox.Select( pEntry, sal_False );
             }
@@ -652,7 +649,7 @@ IMPL_LINK( MacroChooser, EditModifyHdl, Edit *, pEdit )

 IMPL_LINK( MacroChooser, ButtonHdl, Button *, pButton )
 {
-    // ausser bei New/Record wird die Description durch LoseFocus uebernommen.
+    // apart from New/Record the Description is done by LoseFocus
     if ( pButton == &aRunButton )
     {
         StoreMacroDescription();
@@ -831,7 +828,7 @@ IMPL_LINK( MacroChooser, ButtonHdl, Button *, pButton )
         sal_uInt16 nRet = pDlg->Execute();
         delete pDlg;

-        if ( nRet ) // Nicht einfach nur geschlossen
+        if ( nRet ) // not only closed
         {
             EndDialog( MACRO_EDIT );
             return 0;
diff --git a/basctl/source/basicide/moduldl2.cxx b/basctl/source/basicide/moduldl2.cxx
index e12c469..f4396a5 100644
--- a/basctl/source/basicide/moduldl2.cxx
+++ b/basctl/source/basicide/moduldl2.cxx
@@ -168,8 +168,8 @@ BasicCheckBox::BasicCheckBox( Window* pParent, const ResId& rResId )
     ,m_aDocument( ScriptDocument::getApplicationScriptDocument() )
 {
     nMode = LIBMODE_MANAGER;
-    long aTabs_[] = { 1, 12 };  // Mindestens einen braucht die TabPos...
-                                // 12 wegen der Checkbox
+    long aTabs_[] = { 1, 12 };  // TabPos needs at least one...
+                                // 12 because of the CheckBox
     SetTabs( aTabs_ );
     Init();
 }
diff --git a/basctl/source/basicide/moduldlg.cxx b/basctl/source/basicide/moduldlg.cxx
index 9a29fd2..ac77118 100644
--- a/basctl/source/basicide/moduldlg.cxx
+++ b/basctl/source/basicide/moduldlg.cxx
@@ -146,7 +146,7 @@ sal_Bool ExtBasicTreeListBox::EditedEntry( SvLBoxEntry* pEntry, const String& rN
     SetCurEntry( pEntry );
     SetCurEntry( pEntry );
     Select( pEntry, sal_False );
-    Select( pEntry );       // damit Handler gerufen wird => Edit updaten
+    Select( pEntry );       // so that handler is called => update edit

     return sal_True;
 }
@@ -269,7 +269,7 @@ sal_Bool ExtBasicTreeListBox::NotifyMoving( SvLBoxEntry* pTarget, SvLBoxEntry* p
 sal_Bool ExtBasicTreeListBox::NotifyCopying( SvLBoxEntry* pTarget, SvLBoxEntry* pEntry,
                         SvLBoxEntry*& rpNewParent, sal_uLong& rNewChildPos )
 {
-//  return sal_False;   // Wie kopiere ich ein SBX ?!
+//  return sal_False;   // how do I copy an SBX?!
     return NotifyCopyingMoving( pTarget, pEntry,
                                     rpNewParent, rNewChildPos, sal_False );
 }
@@ -335,19 +335,19 @@ sal_Bool ExtBasicTreeListBox::NotifyCopyingMoving( SvLBoxEntry* pTarget, 
SvLBoxE
                         SvLBoxEntry*& rpNewParent, sal_uLong& rNewChildPos, sal_Bool bMove )
 {
     (void)pEntry;
-    DBG_ASSERT( pEntry, "Kein Eintrag?" );  // Hier ASS ok, sollte nicht mit
-    DBG_ASSERT( pTarget, "Kein Ziel?" );    // NULL (ganz vorne) erreicht werden
+    DBG_ASSERT( pEntry, "Kein Eintrag?" );  // ASS is ok here, should not be reached
+    DBG_ASSERT( pTarget, "Kein Ziel?" );    // with NULL (right at the beginning)
     sal_uInt16 nDepth = GetModel()->GetDepth( pTarget );
     DBG_ASSERT( nDepth, "Tiefe?" );
     if ( nDepth == 1 )
     {
-        // Target = Basic => Modul/Dialog unter das Basic haengen...
+        // Target = Basic => put module/dialog under the Basic
         rpNewParent = pTarget;
         rNewChildPos = 0;
     }
     else if ( nDepth >= 2 )
     {
-        // Target = Modul/Dialog => Modul/Dialog unter das uebergeordnete Basic haengen...
+        // Target = module/dialog => put module/dialog under the superordinate Basic
         rpNewParent = GetParent( pTarget );
         rNewChildPos = GetModel()->GetRelPos( pTarget ) + 1;
     }
@@ -474,7 +474,7 @@ sal_Bool ExtBasicTreeListBox::NotifyCopyingMoving( SvLBoxEntry* pTarget, SvLBoxE
         }
     }

-    return 2;   // Aufklappen...
+    return 2;   // open...
 }

 OrganizeDialog::OrganizeDialog( Window* pParent, sal_Int16 tabId, BasicEntryDescriptor& rDesc )
@@ -527,7 +527,7 @@ short OrganizeDialog::Execute()
 IMPL_LINK( OrganizeDialog, ActivatePageHdl, TabControl *, pTabCtrl )
 {
     sal_uInt16 nId = pTabCtrl->GetCurPageId();
-    // Wenn TabPage noch nicht erzeugt wurde, dann erzeugen
+
     if ( !pTabCtrl->GetTabPage( nId ) )
     {
         TabPage* pNewTabPage = 0;
diff --git a/basctl/source/basicide/objdlg.cxx b/basctl/source/basicide/objdlg.cxx
index b630fd0..0bae4d9 100644
--- a/basctl/source/basicide/objdlg.cxx
+++ b/basctl/source/basicide/objdlg.cxx
@@ -113,7 +113,7 @@ ObjectCatalog::ObjectCatalog( Window * pParent )
     Size aSize = IDE_DLL()->GetExtraData()->GetObjectCatalogSize();
     if ( aPos.X() == INVPOSITION )
     {
-        // Zentriert nach AppWin:
+        // centered after AppWin:
         Window* pWin = GetParent();
         aPos = pWin->OutputToScreenPixel( Point( 0, 0 ) );
         Size aAppWinSz = pWin->GetSizePixel();
@@ -127,7 +127,7 @@ ObjectCatalog::ObjectCatalog( Window * pParent )
     if ( aSize.Width() )
         SetOutputSizePixel( aSize );

-    Resize();   // damit der Resize-Handler die Controls anordnet
+    Resize();   // so that the resize-handler arranges the controls

     // make object catalog keyboard accessible
     pParent->GetSystemWindow()->GetTaskPaneList()->AddWindow( this );
@@ -176,7 +176,7 @@ void ObjectCatalog::Resize()
         aMacroDescr.SetText(aDesc);
     }

-    // Die Buttons oben bleiben immer unveraendert stehen...
+    // the buttons above always stay unmodified
 }

 IMPL_LINK( ObjectCatalog, ToolBoxHdl, ToolBox*, pToolBox )
diff --git a/basctl/source/basicide/tbxctl.cxx b/basctl/source/basicide/tbxctl.cxx
index a0b9ff0..186c941 100644
--- a/basctl/source/basicide/tbxctl.cxx
+++ b/basctl/source/basicide/tbxctl.cxx
@@ -147,9 +147,9 @@ void TbxControls::Select( sal_uInt16 nModifier )

 /*************************************************************************
 |*
-|* Hier wird das Fenster erzeugt
-|* Lage der Toolbox mit GetToolBox() abfragbar
-|* rItemRect sind die Screen-Koordinaten
+|* the window is created here
+|* position of the toolbox can be requested with GetToolBox()
+|* rItemRect are the screen coordinates
 |*
 \************************************************************************/
 SfxPopupWindow* TbxControls::CreatePopupWindow()
diff --git a/basctl/source/dlged/dlged.cxx b/basctl/source/dlged/dlged.cxx
index 110bdb8..ab2e056 100644
--- a/basctl/source/dlged/dlged.cxx
+++ b/basctl/source/dlged/dlged.cxx
@@ -1213,7 +1213,7 @@ void lcl_PrintHeader( Printer* pPrinter, const String& rTitle ) // not 
working y

     long nFontHeight = pPrinter->GetTextHeight();

-    // 1.Border => Strich, 2+3 Border = Freiraum.
+    // 1st border => line, 2+3 border = free space
     long nYTop = TMARGPRN-3*nBorder-nFontHeight;

     long nXLeft = nLeftMargin-nBorder;
diff --git a/basctl/source/inc/basobj.hxx b/basctl/source/inc/basobj.hxx
index 08126ad..95d2431 100644
--- a/basctl/source/inc/basobj.hxx
+++ b/basctl/source/inc/basobj.hxx
@@ -53,7 +53,7 @@ namespace BasicIDE
     void            Organize( sal_Int16 tabId );


-    // Hilfsmethoden fuer den allg. Gebrauch:
+    // help methods for the general use:
     SbMethod*   CreateMacro( SbModule* pModule, const String& rMacroName );
     void            RunMethod( SbMethod* pMethod );

diff --git a/basctl/source/inc/bastypes.hxx b/basctl/source/inc/bastypes.hxx
index 3d57ce7..0e7b639 100644
--- a/basctl/source/inc/bastypes.hxx
+++ b/basctl/source/inc/bastypes.hxx
@@ -61,11 +61,10 @@ class SfxItemSet;
 sal_Int32 searchEOL( const ::rtl::OUString& rStr, sal_Int32 fromIndex );


-// Bedeutung von bToBeKilled:
-// Wenn in Reschedule-Schleife, darf ich das Fenster nicht zerstoeren.
-// Es muss erst aus der Reschedule-Schleife Fallen, um sich dann
-// selbst zu zerstoeren.
-// Geht so leider nicht: Destroying Window with living Child!
+// Meaning of bToBeKilled:
+// While being in a reschedule-loop, I may not destroy the window.
+// It must first break from the reschedule-loop to self-destroy then.
+// Does unfortunately not work that way: Destroying Window with living Child!


 struct BasicStatus
--
1.7.4.1


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.