Browse Source

* translation updates from kms (Mantis 15849)

git-svn-id: trunk@14937 -
marco 15 years ago
parent
commit
bb385c385d
3 changed files with 477 additions and 122 deletions
  1. 227 47
      compiler/msg/errord.msg
  2. 219 44
      compiler/msg/errordu.msg
  3. 31 31
      compiler/msg/errore.msg

+ 227 - 47
compiler/msg/errord.msg

@@ -3,7 +3,7 @@
 #   Latest updates contributed by Karl-Michael Schindler aka mischi
 #   <karl-michael.schindler at web.de>
 #
-#   Based on errore.msg of SVN revision 14001
+#   Based on errore.msg of SVN revision 14904+1
 #
 #   This file is part of the Free Pascal Compiler
 #   Copyright (c) 1998-2009 by the Free Pascal Development team
@@ -132,7 +132,7 @@ general_i_number_of_notes=01023_I_$1 Anmerkung(en) ausgegeben
 #
 # Scanner
 #
-# 02086 is the last used one
+# 02087 is the last used one
 #
 % \section{Scanner messages.}
 % This section lists the messages that the scanner emits. The scanner takes
@@ -348,7 +348,7 @@ scan_w_minstacksize_not_support=02077_W_MINSTACKSIZE wird vom Zielbetriebssystem
 % The \var{\{\$IMAGEBASE\}} directive is not supported by the target OS.
 scan_w_maxstacksize_not_support=02078_W_MAXSTACKSIZE wird vom Zielbetriebssystem nicht unterst�tzt
 % The \var{\{\$MAXSTACKSIZE\}} directive is not supported by the target OS.
-scanner_e_illegal_warn_state=02079_E_Ung�ltiger Wert f�r die $WARN Direktive
+scanner_e_illegal_warn_state=02079_E_Ung�ltiger Wert "$1" f�r die $WARN Direktive
 % Only ON and OFF can be used as state with a \var{\{\$WARN\}} compiler directive.
 scan_e_only_packset=02080_E_Ung�ltiger Wert f�r das set packing
 % Only 0, 1, 2, 4, 8, DEFAULT and NORMAL are allowed as packset parameters.
@@ -366,11 +366,13 @@ scan_e_illegal_minfpconstprec=02085_E_"$1" ist eine ung
 scan_w_multiple_main_name_overrides=02086_W_Der Name der "main" Prozedur wird mehrfach �berschrieben. Es war bisher auf "$1" gesetzt
 % The name for the main entry procedure is specified more than once. Only the last
 % name will be used.
+scanner_w_illegal_warn_identifier=02087_W_Ung�ltige Bezeichner "$1" f�r die $WARN Direktive
+% Identifier is not known by a \var{\{\$WARN\}} compiler directive.
 % \end{description}
 #
 # Parser
 #
-# 03258 is the last used one
+# 03286 is the last used one
 #
 % \section{Parser messages}
 % This section lists all parser messages. The parser takes care of the
@@ -518,7 +520,7 @@ parser_e_fail_only_in_constructor=03051_E_FAIL darf nur in Konstruktoren verwend
 parser_e_no_paras_for_destructor=03052_E_Destruktoren k”nnen keine Parameter haben
 % You are declaring a destructor with a parameter list. Destructor methods
 % cannot have parameters.
-parser_e_only_class_methods_via_class_ref=03053_E_Nur Klassenmethoden k”nnen �ber den Klassennamen angesprochen werden
+parser_e_only_class_methods_via_class_ref=03053_E_Nur Klassenmethoden, Klasseneigenschaften und Klassenvariablen k”nnen �ber den Klassennamen angesprochen werden
 % This error occurs in a situation like the following:
 % \begin{verbatim}
 % Type :
@@ -532,7 +534,7 @@ parser_e_only_class_methods_via_class_ref=03053_E_Nur Klassenmethoden k
 % \end{verbatim}
 % \var{Free} is not a class method and hence cannot be called with a class
 % reference.
-parser_e_only_class_methods=03054_E_Nur Klassenmethoden k”nnen in einer Klassenmethode angesprochen werden
+parser_e_only_class_methods=03054_E_Nur Klassenmethoden, Klasseneigenschaften und Klassenvariablen k”nnen in einer Klassenmethode angesprochen werden
 % This is related to the previous error. You cannot call a method of an object
 % from inside a class method. The following code would produce this error:
 % \begin{verbatim}
@@ -635,7 +637,7 @@ parser_e_operator_not_overloaded=03082_E_Operator besitzt kein Overload
 % You're trying to use an overloaded operator when it isn't overloaded for
 % this type.
 parser_e_no_such_assignment=03083_E_Es ist nicht m”glich, die Zuweisung f�r gleiche Typen zu �berladen
-% You can not overload assignment for types
+% You cannot overload assignment for types
 % that the compiler considers as equal.
 parser_e_overload_impossible=03084_E_Unm”gliche Operator-.berladung
 % The combination of operator, arguments and return type are
@@ -844,7 +846,7 @@ parser_e_cant_use_inittable_here=03151_E_Datentypen, die ein Initialiserung oder
 % code which is implicitly generated by the compiler. Such data types
 % can't be used in the variant part of a record.
 parser_e_resourcestring_only_sg=03152_E_Resourcestrings d�rfen nur statisch oder global sein
-% Resourcestring can not be declared local, only global or using the static
+% Resourcestring cannot be declared local, only global or using the static
 % directive.
 parser_e_exit_with_argument_not__possible=03153_E_EXIT mit Argument darf hier nicht verwendet werden
 % An exit statement with an argument for the return value can't be used here. This
@@ -916,13 +918,13 @@ parser_e_no_con_des_in_interfaces=03171_E_Kon- und Destruktoren sind in Interfac
 % Constructor and destructor declarations aren't allowed in interfaces.
 % In the most cases method \var{QueryInterface} of \var{IUnknown} can
 % be used to create a new interface.
-parser_e_no_access_specifier_in_interfaces=03172_E_Zugriffsbezeichner k”nnen in Interfaces nicht benutzt werden
+parser_e_no_access_specifier_in_interfaces=03172_E_Zugriffsbezeichner k”nnen in INTERFACEs und OBJCPROTOCOLs nicht benutzt werden
 % The access specifiers \var{public}, \var{private}, \var{protected} and
-% \var{published} can't be used in interfaces because all methods
-% of an interface must be public.
-parser_e_no_vars_in_interfaces=03173_E_Ein Interface darf keine Felder enthalten
-% Declarations of fields aren't allowed in interfaces. An interface
-% can contain only methods and properties with method read/write specifiers.
+% \var{published} can't be used in interfaces, Objective-C protocols and categories because all methods
+% of an interface/protocol/category must be public.
+parser_e_no_vars_in_interfaces=03173_E_Ein Interface, ein Objective-C Protokoll oder eine Kategorie darf keine Felder enthalten
+% Declarations of fields are not allowed in interfaces and Objective-C protocols and categories.
+% An interface/protocol/category can contain only methods and properties with method read/write specifiers.
 parser_e_no_local_proc_external=03174_E_Eine lokale Prozedur kann nicht als EXTERNAL deklariert werden
 % Declaring local procedures as external is not possible. Local procedures
 % get hidden parameters that will make the chance of errors very high.
@@ -956,7 +958,7 @@ parser_e_no_procvarobj_const=03183_E_Die Konstante des Typs "procedure of object
 % You can't assign the address of a method to a typed constant which has a
 % 'procedure of object' type, because such a constant requires two addresses:
 % that of the method (which is known at compile time) and that of the object or
-% class instance it operates on (which can not be known at compile time).
+% class instance it operates on (which cannot be known at compile time).
 parser_e_default_value_only_one_para=03184_E_Der Default Value kann nur einem Parameter zugewiesen werden
 % It is not possible to specify a default value for several parameters at once.
 % The following is invalid:
@@ -975,7 +977,7 @@ parser_h_c_arrays_are_references=03187_H_C Arrays werden "by reference" 
 % Any array passed to a C function is passed
 % by a pointer (i.e. by reference).
 parser_e_C_array_of_const_must_be_last=03188_E_C array of const muss letztes Argument sein
-% You can not add any other argument after an \var{array of const} for
+% You cannot add any other argument after an \var{array of const} for
 % \var{cdecl} functions, as the size pushed on stack for this argument is
 % not known.
 parser_h_type_redef=03189_H_Erneute Definition des Typs "$1"
@@ -987,7 +989,7 @@ parser_w_cdecl_has_no_high=03190_W_cdecl'ared Functionen haben keinen high Param
 parser_w_cdecl_no_openstring=03191_W_cdecl'ared Functionen unterst�tzen keine open strings
 % Openstring is not supported for functions that have the \var{cdecl} modifier.
 parser_e_initialized_not_for_threadvar=03192_E_Als threadvar deklarierte Variable kann nicht initialisiert werden
-% Variables declared as threadvar can not be initialized with a default value.
+% Variables declared as threadvar cannot be initialized with a default value.
 % The variables will always be filled with zero at the start of a new thread.
 parser_e_msg_only_for_classes=03193_E_Message directive ist nur in Klassen erlaubt
 % The message directive is only supported for Class types.
@@ -997,7 +999,7 @@ parser_e_illegal_calling_convention=03195_W_Calling convention directive ignorie
 % Some calling conventions are supported only by certain CPUs. I.e. most non-i386 ports support
 % only the standard ABI calling convention of the CPU.
 parser_e_no_object_reintroduce=03196_E_REINTRODUCE kann in Objekten nicht benutzt werden
-% \var{reintroduce} is not supported for objects.
+% \var{reintroduce} is not supported for objects, Objective-C classes and Objective-C protocols.
 parser_e_paraloc_only_one_para=03197_E_Jedes Argument muss seine eigene "location" haben
 % If locations for arguments are specified explicitly as it is required by
 % some syscall conventions, each argument must have its own location. Things
@@ -1109,9 +1111,9 @@ parser_e_packed_element_no_loop=03223_E_Bit packed Array-Elemente und Record-Fel
 % (or as \var{packed} in any mode with \var{\{\$bitpacking on\}}), it will
 % be packed at the bit level. For performance reasons, they cannot be
 % used as loop variables.
-parser_e_type_and_var_only_in_generics=03224_E_VAR und TYPE sind nur innerhalb "generics" erlaubt
-% The usage of VAR and TYPE to declare new types inside an object is allowed only inside
-% generics.
+parser_e_type_and_var_only_in_generics=03224_E_VAR, TYPE und CONST sind nur innerhalb "generics" und Klassen erlaubt
+% The usage of VAR, TYPE and CONST to declare new types inside an object is allowed only inside
+% generics and classes.
 parser_e_cant_create_generics_of_this_type=03225_E_Dieser Typ kann nicht "generic" sein
 % Only Classes, Objects, Interfaces and Records are allowed to be used as generic.
 parser_w_no_lineinfo_use_switch=03226_W_Die LINEINFO Unit nicht manuell laden. Verwende statt dessen den Compilerschalter -gl
@@ -1134,9 +1136,9 @@ parser_e_label_outside_proc=03231_E_Die Address von Labels, die ausserhalb des a
 % It isn't allowed to take the address of labels outside the
 % current procedure.
 parser_e_initialized_not_for_external=03233_E_Extern deklarierte Variablen k”nnen nicht intialisiert werden 
-% Variables declared as external can not be initialized with a default value.
+% Variables declared as external cannot be initialized with a default value.
 parser_e_illegal_function_result=03234_E_Ung�ltiger Funktionsergebnistyp
-% Some types like file types can not be used as function result.
+% Some types like file types cannot be used as function result.
 parser_e_no_common_type=03235_E_"$1" und "$2" haben keinen gemeinsamen Typ
 % To perform an operation on integers, the compiler converts both operands
 % to their common type, which appears to be an invalid type. To determine the
@@ -1176,7 +1178,7 @@ parser_e_weak_external_not_supported=03248_E_Schwache externe Symbole werden f
 % on the current cpu/OS target.
 parser_e_forward_mismatch=03249_E_Forward Typdefinition passt nicht
 % Classes and interfaces being defined forward must have the same type
-% when being implemented. A forward interface can not be changed into a class.
+% when being implemented. A forward interface cannot be changed into a class.
 parser_n_ignore_lower_visibility=03250_N_Die virtuelle Methode "$1" hat eine niedrigere Sichtbarkeit ($2) als die Elternklasse $3 ($4)
 % The virtual method overrides an method that is declared with a higher visibility. This might give
 % unexpected results. In case the new visibility is private than it might be that a call to inherited in a
@@ -1195,9 +1197,9 @@ parser_e_no_local_para_def=03252_E_Parameter k
 % (both procedure headers would define a separate type). Keep in mind that expressions such as
 % ``file of byte'' or ``string[50]'' also define a new type.
 parser_e_abstract_and_sealed_conflict=03253_E_Konflikt zwischen ABSTRACT und SEALED 
-% ABSTRACT and SEALED can not be used together in one declaration
+% ABSTRACT and SEALED cannot be used together in one declaration
 parser_e_sealed_descendant=03254_E_Kann keinen Nachfahren der SEALED Klasse "$1" erzeugen
-% Sealed means that class can not be derived by another class.
+% Sealed means that class cannot be derived by another class.
 parser_e_sealed_class_cannot_have_abstract_methods=03255_E_Eine SEALED Klasse kann keine ABSTRACT Methode haben
 % Sealed means that class cannot be derived. Therefore no one class is able to override an abstract method in a sealed class.
 parser_e_only_virtual_methods_final=03256_E_Nur virtuelle Methoden k”nnen final sein.
@@ -1206,13 +1208,101 @@ parser_e_only_virtual_methods_final=03256_E_Nur virtuelle Methoden k
 parser_e_final_can_no_be_overridden=03257_E_Die finale Methode kann nicht �berschrieben werden: "$1"
 % You are trying to \var{override} a virtual method of a parent class that does
 % not exist.
-parser_e_multiple_messages=03258_E_Pro Methode kann nur eine Nachricht verwendet werden.
+parser_e_multiple_messages=03258_E_Pro Methode kann nur eine Nachricht verwendet werden
 % It is not possible to associate multiple messages with a single method.
+parser_e_invalid_enumerator_identifier=03259_E_Ung�ltiger Aufz„hlungsbezeichner: "$1"
+% Only "MoveNext" and "Current" enumerator identifiers are supported.
+parser_e_enumerator_identifier_required=03260_E_Aufz„hlungsbezeichner notwendig
+% "MoveNext" or "Current" identifier must follow the \var{enumerator} modifier.
+parser_e_enumerator_movenext_is_not_valid=03261_E_Die Aufz„hlungs-pattern-Methode "MoveNext" ist ung�ltig. Die Methode muss eine Funktion mit R�ckgabetyp Boolean und ohne notwendige Argumente sein
+% "MoveNext" enumerator pattern method must be a function with Boolean return type and no required arguments
+parser_e_enumerator_current_is_not_valid=03262_E_Die Aufz„hlungs-pattern-Eigenschaft "Current" ist ung�ltig. Die Eigenschaft ben”tigt einen "Getter"
+% "Current" enumerator pattern property must have a getter
+parser_e_only_one_enumerator_movenext=03263_E_Pro Klasse/Objekt ist nur eine Aufz„hlungsmethode "MoveNext" erlaubt
+% Class or Object can have only one enumerator MoveNext declaration.
+parser_e_only_one_enumerator_current=03264_E_Pro Klasse/Objekt ist nur eine Aufz„hlungseigenschaft "Current" erlaubt
+% Class or Object can have only one enumerator Current declaration.
+parser_e_for_in_loop_cannot_be_used_for_the_type=03265_E_For in Schleife kann nicht f�r den Typ "$1" verwendet werden
+% For in loop can be used not for all types. For example it cannot be used for the enumerations with jumps.
+parser_e_objc_requires_msgstr=03266_E_Objective-C Nachrichten erfordern, dass ihr Objective-C selector-Name mit der Direktive "message" angegeben wird
+% Objective-C messages require their Objective-C name (selector name) to be specified using the \var{message `someName:'} procedure directive.
+% While bindings to other languages automatically generate such names based on the identifier you use (by replacing
+% all underscores with colons), this is unsafe since nothing prevents an Objective-C method name to contain actual
+% colons.
+parser_e_objc_no_constructor_destructor=03267_E_Objective-C hat keine formalen Konstruktoren oder Destruktoren. Verwende die Nachrichten alloc, initXXX und dealloc
+% The Objective-C language does not have any constructors or destructors. While there are some messages with a similar
+% purpose (such as \var{init} and \var{dealloc}), these cannot be identified using automatic parsers and do not
+% guarantee anything like Pascal constructors/destructors (e.g., you have to take care of only calling ``designated''
+% inherited ``constructors''). For these reasons, we have opted to follow the standard Objective-C patterns for
+% instance creation/destruction.
+parser_e_message_string_too_long=03268_E_Der Name der Nachricht ist zu lang (max. 255 Zeichen)
+% Due to compiler implementation reasons, message names are currently limited to 255 characters.
+parser_e_objc_message_name_too_long=03269_E_Der Symbolname der Objective-C-Nachricht "$1" ist zu lang
+% Due to compiler implementation reasons, mangled message names (i.e., the symbol names used in the assembler
+% code) are currently limited to 255 characters.
+parser_h_no_objc_parent=03270_H_Definieren einer neuen Objective-C root-Klasse. Um sie von einer anderen root-Klasse abzuleiten (z.B. NSObject), gib diese als Elternklasse an
+% If no parent class is specified for an Object Pascal class, then it automatically derives from TObject.
+% Objective-C classes however do not automatically derive from NSObject, because one can have multiple
+% root classes in Objective-C. For example, in the Cocoa framework both NSObject and NSProxy are root classes.
+% Therefore, you have to explicitly define a parent class (such as NSObject) if you want to derive your
+% Objective-C class from it.
+parser_e_no_objc_published=03271_E_Objective-C Klassen k”nnen keinen Abschnitt published haben
+% In Object Pascal, ``published'' determines whether or not RTTI is generated. Since the Objective-C runtime always needs
+% RTTI for everything, this specified does not make sense for Objective-C classes.
+parser_f_need_objc=03272_F_Dieses Modul erfordert, dass der Objective-C Mode-Schalter �bersetzt wird
+% This error indicates the use of Objective-C language features without an Objective-C mode switch
+% active. Enable one via the -M command line switch, or the {\$modeswitch x} directive.
+parser_e_must_use_override_objc=03273_E_Vererbte Methoden k”nnen nur in Objective-C �berschrieben werden, f�ge "override" hinzu.
+parser_h_should_use_override_objc=03274_H_Vererbte Methoden k”nnen nur in Objective-C �berschrieben werden, f�ge "override" hinzu
+% It is not possible to \var{reintroduce} methods in Objective-C like in Object Pascal. Methods with the same
+% name always map to the same virtual method entry. In order to make this clear in the source code,
+% the compiler always requires the \var{override} directive to be specified when implementing overriding
+% Objective-C methods in Pascal. If the implementation is external, this rule is relaxed because Objective-C
+% does not have any \var{override}-style keyword (since it's the default and only behaviour in that language),
+% which makes it hard for automated header conversion tools to include it everywhere.
+parser_e_objc_message_name_changed=03275_E_Der Nachrichtenname "$1" in der vererbten Klasse unterscheidet sich vom Nachrichtennamen "$2" in der aktuellen Klasse
+% An overriding Objective-C method cannot have a different message name than an inherited method. The reason
+% is that these message names uniquely define the message to the Objective-C runtime, which means that
+% giving them a different message name breaks the ``override'' semantics.
+parser_e_no_objc_unique=03276_E_Noch k”nnen eindeutige Kopien von Objective-C Typen nicht erstellt werden
+% Duplicating an Objective-C type using \var{type x = type y;} is not yet supported. You may be able to
+% obtain the desired effect using \var{type x = objcclass(y) end;} instead.
+parser_e_no_category_as_types=03277_E_Objective-C Kategorien k”nnen nicht als Typen benutzt werden
+% It is not possible to declare a variable as an instance of an Objective-C category. A
+% category adds methods to the scope of an existing class, but does not define a type by itself.
+parser_e_no_category_override=03278_E_Kategorien �berschreiben Methoden nicht, sondern ersetzen sie. "reintroduce" benutzen
+parser_e_must_use_reintroduce_objc=03279_E_Ersetzte Methoden k”nnen in Objective-C nur wieder eingef�hrt werden, f�ge "reintroduce" hinzu
+parser_h_should_use_reintroduce_objc=03280_H_Ersetzte Methoden k”nnen in Objective-C nur wieder eingef�hrt werden, f�ge "reintroduce" hinzu
+% A category replaces an existing method in an Objective-C class, rather than that it overrides it.
+% Calling an inherited method from an category method will call that method in
+% the extended class' parent, not in the extended class itself. The
+% replaced method in the original class is basically lost, and can no longer be
+% called or referred to. This behaviour corresponds somewhat more closely to
+% \var{reintroduce} than to \var{override} (although in case of \var{reintroduce}
+% in Object Pascal, hidden methods are still reachable via inherited).
+parser_e_implements_getter_not_default_cc=03281_E_Getter f�r das Interface implements m�ssen die voreingestellte calling convention des Ziels benutzen
+% Interface getters are called via a helper in the run time library, and hence
+% have to use the default calling convention for the target (\var{register} on
+% i386 and x86_64, \var{stdcall} on other architectures).
+parser_e_no_refcounted_typed_file=03282_E_Typisierte Dateien k”nnen keine reference-counted Typen enthalten
+% The data in a typed file cannot be of a reference counted type (such as
+% \var{ansistring} or a record containing a field that is reference counted).
+parser_e_operator_not_overloaded_2=03283_E_šberladenener Operator nicht vorhanden: $2 "$1"
+% You are trying to use an overloaded operator when it is not overloaded for
+% this type.
+parser_e_operator_not_overloaded_3=03284_E_šberladenener Operator nicht vorhanden: "$1" $2 "$3"
+% You are trying to use an overloaded operator when it is not overloaded for
+% this type.
+parser_e_more_array_elements_expected=03285_E_Erwarte ein weiteres Element f�r Array $1 
+% When declaring a typed constant array, you provided to few elements to initialize the array
+parser_e_string_const_too_long=03286_E_Stringkonstante zu lang, so lange ansistrings ausgeschaltet sind
+% Only when a piece of code is compiled with ansistrings enabled (\var{\{\$H+\}}), string constants
+% longer than 255 characters are allowed.
 % \end{description}
 #
 # Type Checking
 #
-# 04090 is the last used one
+# 04094 is the last used one
 #
 % \section{Type checking errors}
 % This section lists all errors that can occur when type checking is
@@ -1496,7 +1586,7 @@ type_w_pointer_to_signed=04082_W_Die Konvertierung von Pointern in einen Integer
 type_interface_has_no_guid=04083_E_Interface Typ $1 hat keine g�ltige GUID
 % When applying the as-operator to an interface or class, the desired interface (i.e. the right operand of the
 % as-operator) must have a valid GUID.
-type_e_invalid_objc_selector_name=04084_E_Ung�ltiger Objective-C-Selector-Name
+type_e_invalid_objc_selector_name=04084_E_Ung�ltiger Objective-C-Selector-Name "$1"
 % An Objective-C selector cannot be empty, must be a valid identifier or a single colon,
 % and if it contains at least one colon it must also end in one.
 type_e_expected_objc_method_but_got=04085_E_Erwartete eine Objective-C-Methode, erhielt aber $1
@@ -1516,11 +1606,26 @@ type_e_string_expr_expected=04089_E_Ausdruck mit Zeichenkette erwartet
 % The expression must be a string type.
 type_w_zero_to_nil=04090_W_Konvertiere 0 zu NIL
 % Use NIL rather than 0 when initialising a pointer. 
+type_e_protocol_type_expected=04091_E_Objective-C Protokolltyp erwartet, erhielt aber "$1"
+% The compiler expected a protocol type name, but found something else.
+type_e_objc_type_unsupported=04092_E_Der Typ "$1" wird nicht f�r die Verwendung mit der Objective-C Laufzeitumgebung unterst�tzt.
+% Objective-C makes extensive use of run time type information (RTTI). This format
+% is defined by the maintainers of the run time and can therefore not be adapted
+% to all possible Object Pascal types. In particular, types that depend on
+% reference counting by the compiler (such as ansistrings and certain kinds of
+% interfaces) cannot be used as fields of Objective-C classes, cannot be
+% directly passed to Objective-C methods, and cannot be encoded using \var{objc\_encode}.
+type_e_class_or_objcclass_type_expected=04093_E_Klasse oder Objective-C Klasse als Typ erwartet, erhielt aber "$1"
+% It is only possible to create class reference types of \var{class} and \var{objcclass}
+type_e_objcclass_type_expected=04094_E_Objective-C Klasse als Typ erwartet
+% The compiler expected an Objc
+% \var{objcclass} types
+%
 % \end{description}
 #
 # Symtable
 #
-# 05066 is the last used one
+# 05079 is the last used one
 #
 % \section{Symbol handling}
 % This section lists all the messages that concern the handling of symbols.
@@ -1700,6 +1805,57 @@ sym_w_deprecated_symbol_with_msg=05066_W_Symbol "$1" ist veraltet: "$2"
 % declared as \var{deprecated} is used. Deprecated symbols may no longer
 % be available in newer versions of the unit / library. Use of this symbol
 % should be avoided as much as possible.
+sym_e_no_enumerator=05067_E_Kann keine Aufz„hlung des Typs "$1" finden
+% This means that compiler cannot find an apropriate enumerator to use in the for-in loop.
+% To create an enumerator you need to defind an operator enumerator or add a public or published
+% GetEnumerator method to the class or object definition.
+sym_e_no_enumerator_move=05068_E_Kann keine Methode "MoveNext" in der Aufz„hlung "$1" finden
+% This means that compiler cannot find a public MoveNext method with the Boolean return type in
+% the enumerator class or object definition.
+sym_e_no_enumerator_current=05069_E_Kann keine Eigenschaft "Current" in der Aufz„hlung "$1" finden
+% This means that compiler cannot find a public Current property in  the enumerator class or object
+% definition.
+sym_e_objc_para_mismatch=05070_E_Die Anzahl der deklarierten Parameter und die Anzahl der Doppelpunkte in der Nachrichtenzeichenkette stimmen nicht �berein
+% In Objective-C, a message name automatically contains as many colons as parameters.
+% In order to prevent mistakes when specifying the message name in FPC, the compiler
+% checks whether this is also the case here. Note that in case of messages taking a
+% variable number of arguments translated to FPC via an \var{array of const} parameter,
+% this final \var{array of const} parameter is not counted. Neither are the hidden
+% \var{self} and \var{\_cmd} parameters.
+sym_n_private_type_not_used=05071_N_Privater Typ "$1.$2" wird nie benutzt
+% The indicated private type is declared but is never used in the code.
+sym_n_private_const_not_used=05072_N_Private Konstante "$1.$2" wird nie benutzt
+% The indicated private const is declared but is never used in the code.
+sym_n_private_property_not_used=05073_N_Private Eigenschaft "$1.$2" wird nie benutzt
+% The indicated private property is declared but is never used in the code.
+sym_w_deprecated_unit=05074_W_Unit "$1" ist veraltet
+% This means that a unit which is
+% declared as \var{deprecated} is used. Deprecated units may no longer
+% be available in newer versions of the library. Use of this unit
+% should be avoided as much as possible.
+sym_w_deprecated_unit_with_msg=05075_W_Unit "$1" ist veraltet: "$2"
+% This means that a unit which is
+% declared as \var{deprecated} is used. Deprecated units may no longer
+% be available in newer versions of the library. Use of this unit
+% should be avoided as much as possible.
+sym_w_non_portable_unit=05076_W_Unit "$1" ist plattformabh„ngig
+% This means that a unit which is
+% declared as \var{platform} is used. This unit use
+% and availability is platform specific and should not be used
+% if the source code must be portable.
+sym_w_library_unit=05077_W_Unit "$1" geh”rt zu einer Bibliothek
+% This means that a unit which is
+% declared as \var{library} is used. Library units may not be
+% available in other libraries.
+sym_w_non_implemented_unit=05078_W_Unit "$1" ist nicht implementiert
+% This means that a unit which is
+% declared as \var{unimplemented} is used. This unit is defined,
+% but is not yet implemented on this specific platform.
+sym_w_experimental_unit=05079_W_Unit "$1" ist experimentell
+% This means that a unit which is
+% declared as \var{experimental} is used. Experimental units
+% might disappear or change semantics in future versions. Usage of this unit
+% should be avoided as much as possible.
 % \end{description}
 #
 # Codegenerator
@@ -1815,12 +1971,12 @@ cg_e_break_not_allowed=06044_E_BREAK nicht zul
 % You're trying to use \var{break} outside a loop construction.
 cg_e_continue_not_allowed=06045_E_CONTINUE nicht zul„ssig
 % You're trying to use \var{continue} outside a loop construction.
-cg_f_unknown_compilerproc=06046_F_Unbekannte Compiler-Prozedur "$1". šberpr�fe, ob die korrekte Laufzeit-Bibliothek verwendet wird.
+cg_f_unknown_compilerproc=06046_F_Unbekannte Compiler-Prozedur "$1". šberpr�fe, ob die korrekte Laufzeit-Bibliothek verwendet wird
 % The compiler expects that the runtime library contains certain subroutines. If you see this error
 % and you didn't change the runtime library code, it's very likely that the runtime library
 % you're using doesn't match the compiler in use. If you changed the runtime library this error means
 % that you removed a subroutine which the compiler needs for internal use.
-cg_f_unknown_system_type=06047_F_Systemtyp "$1" konnte nicht gefunden werden. šberpr�fe ob die korrekte Laufzeit-Bibliothek verwendet wird.
+cg_f_unknown_system_type=06047_F_Systemtyp "$1" konnte nicht gefunden werden. šberpr�fe, ob die korrekte Laufzeit-Bibliothek verwendet wird
 % The compiler expects that the runtime library contains certain type definitions. If you see this error
 % and you didn't change the runtime library code, it's very likely that the runtime library
 % you're using doesn't match the compiler in use. If you changed the runtime library this error means
@@ -1831,13 +1987,18 @@ cg_h_inherited_ignored=06048_H_Geerbter Aufruf einer abstrakten Methode ignorier
 cg_e_goto_label_not_found=06049_E_Goto Label "$1": Das Label ist nicht definiert oder wurde bei der Optimierung entfernt
 % The label used in the goto definition is not defined or optimized away by the
 % unreachable code elemination.
+cg_f_unknown_type_in_unit=06050_F_Kann den Typ "$1" nicht in der Unit "$2" finden. šberpr�fe, ob die korrekte Laufzeit-Bibliothek verwendet wird
+% The compiler expects that the runtime library contains certain type definitions. If you see this error
+% and you didn't change the runtime library code, it's very likely that the runtime library
+% you're using doesn't match the compiler in use. If you changed the runtime library this error means
+% that you removed a type which the compiler needs for internal use.
 % \end{description}
 # EndOfTeX
 
 #
 # Assembler reader
 #
-# 07107 is the last used one
+# 07109 is the last used one
 #
 asmr_d_start_reading=07000_DL_Starte $1 Stil Assembler Parsen
 % This informs you that an assembler block is being parsed
@@ -1876,7 +2037,7 @@ asmr_e_relocatable_symbol_not_allowed=07013_E_Verschiebbares Symbol ist nicht zu
 asmr_e_invalid_reference_syntax=07014_E_Ung�ltige Verweis-Syntax
 % There is an error in the reference.
 asmr_e_local_para_unreachable=07015_E_Sie k”nnen "$1" von diesem Code aus nicht erreichen
-% You can not read directly the value of a local variable or parameter
+% You cannot read directly the value of a local variable or parameter
 % of a higher level procedure in assembler code (except for
 % local assembler code without parameter nor locals).
 asmr_e_local_label_not_allowed_as_ref=07016_E_Lokale Symbole/Labels sind nicht als Referenz zul„ssig
@@ -2083,6 +2244,12 @@ asmr_e_need_pic_ref=07107_E_Erzeuge eigentlich PIC, aber die Referenz ist nicht
 % The compiler has been configured to generate position-independent code
 % (PIC), but there are position-dependent references in the current
 % handwritten assembler instruction.
+asmr_e_mixing_regtypes=07108_E_Alle Register in einem Registerset m�ssen in T und Breite �bereinstimmen
+% Instructions on the ARM architecture that take a register set as argument require that all registers
+% in this set are of the same kind (e.g., integer, vfp) and width (e.g., single precision, double precision).
+asmr_e_empty_regset=07109_E_Ein Registerset kann nicht leer sein
+% Instructions on the ARM architecture that take a register set as argument require that such a set
+% contains at least one register.
 #
 # Assembler/binary writers
 #
@@ -2204,9 +2371,9 @@ exec_e_cant_call_resource_compiler=09030_E_Der Resource-Compiler "$1" kann nicht
 % a script that can be used to assemble, compile resources and link or
 % postprocess the program.
 exec_e_cant_open_resource_file=09031_E_Kann die Resourcedatei "$1" nicht ”ffnen
-% An error occurred resource file can not be opened.
+% An error occurred resource file cannot be opened.
 exec_e_cant_write_resource_file=09032_E_Kann die Resourcedatei "$1" nicht schreiben
-% An error occurred resource file can not be written.
+% An error occurred resource file cannot be written.
 %\end{description}
 # EndOfTeX
 
@@ -2258,7 +2425,7 @@ link_w_32bit_absolute_reloc=09201_W_Object Daei "$1" enth
 #
 # Unit loading
 #
-# 10061 is the last used one
+# 10062 is the last used one
 #
 # BeginOfTeX
 % \section{Unit loading messages.}
@@ -2347,7 +2514,7 @@ unit_u_recompile_crc_change=10028_U_
 unit_u_recompile_source_found_alone=10029_U_šbersetze "$1", nur Quellcode gefunden
 % When you use the \var{-vu} flag, these messages tell you why the current
 % unit is recompiled.
-unit_u_recompile_staticlib_is_older=10030_U_šbersetze Unit erneut, statische Biblothek ist „lter als PPU-Datei
+unit_u_recompile_staticlib_is_older=10030_U_šbersetze Unit erneut, statische Bibliothek ist „lter als PPU-Datei
 % When you use the \var{-vu} flag, the compiler warns if the static library
 % of the unit is older than the unit file itself.
 unit_u_recompile_sharedlib_is_older=10031_U_šbersetze Unit erneut, gemeinsame Bibliothek ist „lter als PPU-Datei
@@ -2409,7 +2576,7 @@ unit_u_implementation_crc_changed=10046_U_Ge
 unit_u_finished_compiling=10047_U_šbersetzen der Unit $1 beendet
 % When you use the \var{-vu} flag, the compiler warns that it
 % has finished compiling the unit.
-unit_u_add_depend_to=10048_U_F�ge die Abh„ngigkeit von $1 von $2 dazu
+unit_u_add_depend_to=10048_U_F�ge Abh„ngigkeit hinzu: $1 h„ngt von $2 ab
 % When you use the \var{-vu} flag, the compiler warns that it
 % has added a dependency between the two units.
 unit_u_no_reload_is_caller=10049_U_Kein erneutes Laden, Unit $1 ist die Aufrufende
@@ -2455,13 +2622,18 @@ unit_e_different_wpo_file=10061_E_Unit $1 wurde mit einer anderen Feedback-Einga
 % When a unit has been compiled using a particular whole program optimization (wpo) feedback file (\var{-FW<x>} \var{-OW<x>}),
 % this compiled version of the unit is specialised for that particular compilation scenario and cannot be used in
 % any other context. It has to be recompiled before you can use it in another program or with another wpo feedback input file.
+unit_u_indirect_crc_changed=10062_U_Die CRC des indirekten Interface (Objekte/Klassen) f�r die unit $1 hat sich ge„ndert
+% When you use the \var{-vu} flag, the compiler warns that the
+% indirect CRC calculated for the unit (this is the CRC of all classes/objects/interfaces/$\ldots$
+% in the interfaces of units directly or indirectly used by this unit in the interface) has been changed after the
+% implementation has been parsed.
 % \end{description}
 # EndOfTeX
 
 #
 #  Options
 #
-# 11047 is the last used one
+# 11048 is the last used one
 #
 option_usage=11000_O_$1 [Optionen] <Eingabedatei> [Optionen]
 # BeginOfTeX
@@ -2477,7 +2649,7 @@ option_only_one_source_support=11001_W_Es wird nur eine Quelldatei unterst
 option_def_only_for_os2=11002_W_DEF-Datei kann nur f�r OS/2 erzeugt werden
 % This option can only be specified when you're compiling for OS/2.
 option_no_nested_response_file=11003_E_Verschachtelte Response-Dateien werden nicht unterst�tzt
-% You can not nest response files with the \var{@file} command line option.
+% You cannot nest response files with the \var{@file} command line option.
 option_no_source_found=11004_F_Kein Name f�r Quelldatei auf der Kommandzeile
 % The compiler expects a source file name on the command line.
 option_no_option_found=11005_N_Keine Angaben in Konfigurationsdatei "$1" gefunden
@@ -2529,7 +2701,7 @@ option_switch_bin_to_src_assembler=11020_N_Schalte Assembler auf den Standard-As
 % -a switch, which can't be used with a binary assembler writer.
 option_incompatible_asm=11021_W_Das gew„hlte Assembler-Ausgabeformat "$1" ist nicht mit "$2" kompatibel
 option_asm_forced=11022_W_Verwendung des Assemblers "$1" erzwungen
-% The assembler output selected can not generate
+% The assembler output selected cannot generate
 % object files with the correct format. Therefore, the
 % default assembler for this target is used instead.
 option_using_file=11026_T_Optionen werden aus der Datei $1 gelesen
@@ -2563,7 +2735,7 @@ option_code_page_not_available=11039_E_Unbekannte code page
 % The requested code page is not in that list. You will need to recompile
 % the compiler with support for the codepage you need.
 option_config_is_dir=11040_F_Konfigurationsdatei $1 ist ein Verzeichnis
-% Directories can not be used as configuration files.
+% Directories cannot be used as configuration files.
 option_confict_asm_debug=11041_W_Die gew„hlte Assembler-Ausgabe "$1" kann kein Debug-Info erzeugen, Debugging ist ausgeschaltet
 % The selected assembler output cannot generate
 % debugging information, debugging option is therefore disabled.
@@ -2584,6 +2756,9 @@ option_dwarf_smart_linking=11046_N_DWARF Debug-Information kann auf dieser Zielp
 option_ignored_target=11047_W_Option "$1" wird f�r die ausgew„hlte Zielplattform ignoriert
 % Not all options are supported or implemented for all target platforms. This message informs you that a chosen
 % option is ignored for the currently selected target platform.
+option_debug_external_unsupported=11048_W_Schalte externe Debuginformation aus, weil es f�r die gew„hlte Kombination Ziel/Debugformat nicht unterst�tzt wird
+% Not all debug formats can be stored in an external file on all platforms. In particular, on
+% Mac OS X only DWARF debug information can be stored externally.
 %\end{description}
 # EndOfTeX
 
@@ -2719,7 +2894,9 @@ oder
 # line, the current possibilities are :
 #    * = every target
 #    3 = 80x86 targets
+#    4 = x86_64
 #    6 = 680x0 targets
+#    A = ARM
 #    e = in extended debug mode only
 #    P = PowerPC targets
 #    S = Sparc targets
@@ -2743,6 +2920,7 @@ option_help_pages=11025_[
 **1A<x>_Ausgabe Format:
 **2Adefault_Benutze den "default" Assembler
 3*2Aas_Assembliere mit Hilfe von GNU AS
+3*2Amacho_Mach-O (Darwin, Intel 32 bit) mit Hilfe des internen Schreibers
 3*2Anasmcoff_COFF (Go32v2) Datei mit Hilfe von Nasm
 3*2Anasmelf_ELF32 (Linux) Datei mit Hilfe von Nasm
 3*2Anasmwin32_Win32 Object Datei mit Hilfe von Nasm
@@ -2751,9 +2929,9 @@ option_help_pages=11025_[
 3*2Anasmobj_Obj Datei mit Hilfe von Nasm
 3*2Amasm_Obj Datei mit Hilfe von Masm (Microsoft)
 3*2Atasm_Obj Datei mit Hilfe von Tasm (Borland)
-3*2Aelf_ELF32 (Linux) mit Hilfe vom internen Schreiber
-3*2Acoff_COFF (Go32v2) mit Hilfe vom internen Schreiber
-3*2Apecoff_PE_COFF (Win32) mit Hilfe vom internen Schreiber
+3*2Aelf_ELF32 (Linux) mit Hilfe des internen Schreibers
+3*2Acoff_COFF (Go32v2) mit Hilfe des internen Schreibers
+3*2Apecoff_PE_COFF (Win32) mit Hilfe des internen Schreibers
 4*2Aas_Assembliere mit Hilfe von GNU AS
 6*2Aas_Unix o-file mit Hilfe von GNU AS
 6*2Agas_GNU Motorola Assembler
@@ -2822,6 +3000,7 @@ S*2Aas_Assembliere mit Hilfe von GNU AS
 *g2go<x>_Setze Optionen f�r die Debug Informationen
 *g3godwarfsets_Schalte DWARF Debug Informationen f�r Mengen (sets) ein (verhindert debugging mit gdb < 6.5)
 *g3gostabsabsincludes_ Absolute/volle Include-Datei-Pfade in Stabs speichern
+*g3godwarfmethodclassprefix_ Stelle Methodennamen in DWARF den Namen der Klasse voran
 *g2gp_Erhalte Gross/Kleinschreibung in Stabs-Symbolnamen
 *g2gs_Erzeuge Stabs-Debug-Informationen
 *g2gt_L”sche lokale Variablen (um eine Verwendung ohne Initialisierung zu finden)
@@ -2886,7 +3065,6 @@ S*2Aas_Assembliere mit Hilfe von GNU AS
 **3SIcorba_CORBA kompatibles Interface
 **2Sm_Unterst�tze Makros wie in C (global)
 **2So_Sei TP/BP 7.0 kompatibel (wie -Mtp)
-**2Sp_Sei gpc-kompatibel (wie -Mgpc)
 **2Ss_Konstruktor- und Destruktorname m�ssen "Init" und "Done" sein
 **2Sx_Exception Schl�sselw”rter einschalten (Voreinstellung in Delphi/ObjFPC Moden)
 **1s_Rufe weder Assembler noch Linker auf (nur mit -a)
@@ -2956,6 +3134,8 @@ P*2WC_Spezifiziere "console type application" (Classic Mac OS)
 3*2WD_Benutze DEFFILE um Funktionen der DLL oder EXE zu exportieren (Windows)
 A*2WD_Benutze DEFFILE um Funktionen der DLL oder EXE zu exportieren (Windows)
 3*2We_Benutze externe Resourcen (Darwin)
+4*2We_Benutze externe Resourcen (Darwin)
+A*2We_Benutze externe Resourcen (Darwin)
 P*2We_Benutze externe Resourcen (Darwin)
 p*2We_Benutze externe resoResourcenurces (Darwin)
 3*2WF_Spezifiziere "full-screen type application" (EMX, OS/2)

+ 219 - 44
compiler/msg/errordu.msg

@@ -3,7 +3,7 @@
 #   Latest updates contributed by Karl-Michael Schindler aka mischi
 #   <karl-michael.schindler at web.de>
 #
-#   Based on errore.msg of SVN revision 14001
+#   Based on errore.msg of SVN revision 14904+1
 #
 #   This file is part of the Free Pascal Compiler
 #   Copyright (c) 1998-2009 by the Free Pascal Development team
@@ -132,7 +132,7 @@ general_i_number_of_notes=01023_I_$1 Anmerkung(en) ausgegeben
 #
 # Scanner
 #
-# 02085 is the last used one
+# 02087 is the last used one
 #
 % \section{Scanner messages.}
 % This section lists the messages that the scanner emits. The scanner takes
@@ -348,7 +348,7 @@ scan_w_minstacksize_not_support=02077_W_MINSTACKSIZE wird vom Zielbetriebssystem
 % The \var{\{\$IMAGEBASE\}} directive is not supported by the target OS.
 scan_w_maxstacksize_not_support=02078_W_MAXSTACKSIZE wird vom Zielbetriebssystem nicht unterstützt
 % The \var{\{\$MAXSTACKSIZE\}} directive is not supported by the target OS.
-scanner_e_illegal_warn_state=02079_E_Ungültiger Wert für die $WARN Direktive
+scanner_e_illegal_warn_state=02079_E_Ungültiger Wert "$1" für die $WARN Direktive
 % Only ON and OFF can be used as state with a \var{\{\$WARN\}} compiler directive.
 scan_e_only_packset=02080_E_Ungültiger Wert für das set packing
 % Only 0, 1, 2, 4, 8, DEFAULT and NORMAL are allowed as packset parameters.
@@ -366,11 +366,13 @@ scan_e_illegal_minfpconstprec=02085_E_"$1" ist eine ungültige minimale Präzisi
 scan_w_multiple_main_name_overrides=02086_W_Der Name der "main" Prozedur wird mehrfach überschrieben. Es war bisher auf "$1" gesetzt
 % The name for the main entry procedure is specified more than once. Only the last
 % name will be used.
+scanner_w_illegal_warn_identifier=02087_W_Ungültige Bezeichner "$1" für die $WARN Direktive
+% Identifier is not known by a \var{\{\$WARN\}} compiler directive.
 % \end{description}
 #
 # Parser
 #
-# 03258 is the last used one
+# 03286 is the last used one
 #
 % \section{Parser messages}
 % This section lists all parser messages. The parser takes care of the
@@ -518,7 +520,7 @@ parser_e_fail_only_in_constructor=03051_E_FAIL darf nur in Konstruktoren verwend
 parser_e_no_paras_for_destructor=03052_E_Destruktoren können keine Parameter haben
 % You are declaring a destructor with a parameter list. Destructor methods
 % cannot have parameters.
-parser_e_only_class_methods_via_class_ref=03053_E_Nur Klassenmethoden können über den Klassennamen angesprochen werden
+parser_e_only_class_methods_via_class_ref=03053_E_Nur Klassenmethoden, Klasseneigenschaften und Klassenvariablen können über den Klassennamen angesprochen werden
 % This error occurs in a situation like the following:
 % \begin{verbatim}
 % Type :
@@ -532,7 +534,7 @@ parser_e_only_class_methods_via_class_ref=03053_E_Nur Klassenmethoden können ü
 % \end{verbatim}
 % \var{Free} is not a class method and hence cannot be called with a class
 % reference.
-parser_e_only_class_methods=03054_E_Nur Klassenmethoden können in einer Klassenmethode angesprochen werden
+parser_e_only_class_methods=03054_E_Nur Klassenmethoden, Klasseneigenschaften und Klassenvariablen können in einer Klassenmethode angesprochen werden
 % This is related to the previous error. You cannot call a method of an object
 % from inside a class method. The following code would produce this error:
 % \begin{verbatim}
@@ -635,7 +637,7 @@ parser_e_operator_not_overloaded=03082_E_Operator besitzt kein Overload
 % You're trying to use an overloaded operator when it isn't overloaded for
 % this type.
 parser_e_no_such_assignment=03083_E_Es ist nicht möglich, die Zuweisung für gleiche Typen zu überladen
-% You can not overload assignment for types
+% You cannot overload assignment for types
 % that the compiler considers as equal.
 parser_e_overload_impossible=03084_E_Unmögliche Operator-.berladung
 % The combination of operator, arguments and return type are
@@ -844,7 +846,7 @@ parser_e_cant_use_inittable_here=03151_E_Datentypen, die ein Initialiserung oder
 % code which is implicitly generated by the compiler. Such data types
 % can't be used in the variant part of a record.
 parser_e_resourcestring_only_sg=03152_E_Resourcestrings dürfen nur statisch oder global sein
-% Resourcestring can not be declared local, only global or using the static
+% Resourcestring cannot be declared local, only global or using the static
 % directive.
 parser_e_exit_with_argument_not__possible=03153_E_EXIT mit Argument darf hier nicht verwendet werden
 % An exit statement with an argument for the return value can't be used here. This
@@ -916,13 +918,13 @@ parser_e_no_con_des_in_interfaces=03171_E_Kon- und Destruktoren sind in Interfac
 % Constructor and destructor declarations aren't allowed in interfaces.
 % In the most cases method \var{QueryInterface} of \var{IUnknown} can
 % be used to create a new interface.
-parser_e_no_access_specifier_in_interfaces=03172_E_Zugriffsbezeichner können in Interfaces nicht benutzt werden
+parser_e_no_access_specifier_in_interfaces=03172_E_Zugriffsbezeichner können in INTERFACEs und OBJCPROTOCOLs nicht benutzt werden
 % The access specifiers \var{public}, \var{private}, \var{protected} and
-% \var{published} can't be used in interfaces because all methods
-% of an interface must be public.
-parser_e_no_vars_in_interfaces=03173_E_Ein Interface darf keine Felder enthalten
-% Declarations of fields aren't allowed in interfaces. An interface
-% can contain only methods and properties with method read/write specifiers.
+% \var{published} can't be used in interfaces, Objective-C protocols and categories because all methods
+% of an interface/protocol/category must be public.
+parser_e_no_vars_in_interfaces=03173_E_Ein Interface, ein Objective-C Protokoll oder eine Kategorie darf keine Felder enthalten
+% Declarations of fields are not allowed in interfaces and Objective-C protocols and categories.
+% An interface/protocol/category can contain only methods and properties with method read/write specifiers.
 parser_e_no_local_proc_external=03174_E_Eine lokale Prozedur kann nicht als EXTERNAL deklariert werden
 % Declaring local procedures as external is not possible. Local procedures
 % get hidden parameters that will make the chance of errors very high.
@@ -956,7 +958,7 @@ parser_e_no_procvarobj_const=03183_E_Die Konstante des Typs "procedure of object
 % You can't assign the address of a method to a typed constant which has a
 % 'procedure of object' type, because such a constant requires two addresses:
 % that of the method (which is known at compile time) and that of the object or
-% class instance it operates on (which can not be known at compile time).
+% class instance it operates on (which cannot be known at compile time).
 parser_e_default_value_only_one_para=03184_E_Der Default Value kann nur einem Parameter zugewiesen werden
 % It is not possible to specify a default value for several parameters at once.
 % The following is invalid:
@@ -975,7 +977,7 @@ parser_h_c_arrays_are_references=03187_H_C Arrays werden "by reference" übergeb
 % Any array passed to a C function is passed
 % by a pointer (i.e. by reference).
 parser_e_C_array_of_const_must_be_last=03188_E_C array of const muss letztes Argument sein
-% You can not add any other argument after an \var{array of const} for
+% You cannot add any other argument after an \var{array of const} for
 % \var{cdecl} functions, as the size pushed on stack for this argument is
 % not known.
 parser_h_type_redef=03189_H_Erneute Definition des Typs "$1"
@@ -987,7 +989,7 @@ parser_w_cdecl_has_no_high=03190_W_cdecl'ared Functionen haben keinen high Param
 parser_w_cdecl_no_openstring=03191_W_cdecl'ared Functionen unterstützen keine open strings
 % Openstring is not supported for functions that have the \var{cdecl} modifier.
 parser_e_initialized_not_for_threadvar=03192_E_Als threadvar deklarierte Variable kann nicht initialisiert werden
-% Variables declared as threadvar can not be initialized with a default value.
+% Variables declared as threadvar cannot be initialized with a default value.
 % The variables will always be filled with zero at the start of a new thread.
 parser_e_msg_only_for_classes=03193_E_Message directive ist nur in Klassen erlaubt
 % The message directive is only supported for Class types.
@@ -997,7 +999,7 @@ parser_e_illegal_calling_convention=03195_W_Calling convention directive ignorie
 % Some calling conventions are supported only by certain CPUs. I.e. most non-i386 ports support
 % only the standard ABI calling convention of the CPU.
 parser_e_no_object_reintroduce=03196_E_REINTRODUCE kann in Objekten nicht benutzt werden
-% \var{reintroduce} is not supported for objects.
+% \var{reintroduce} is not supported for objects, Objective-C classes and Objective-C protocols.
 parser_e_paraloc_only_one_para=03197_E_Jedes Argument muss seine eigene "location" haben
 % If locations for arguments are specified explicitly as it is required by
 % some syscall conventions, each argument must have its own location. Things
@@ -1109,9 +1111,9 @@ parser_e_packed_element_no_loop=03223_E_Bit packed Array-Elemente und Record-Fel
 % (or as \var{packed} in any mode with \var{\{\$bitpacking on\}}), it will
 % be packed at the bit level. For performance reasons, they cannot be
 % used as loop variables.
-parser_e_type_and_var_only_in_generics=03224_E_VAR und TYPE sind nur innerhalb "generics" erlaubt
-% The usage of VAR and TYPE to declare new types inside an object is allowed only inside
-% generics.
+parser_e_type_and_var_only_in_generics=03224_E_VAR, TYPE und CONST sind nur innerhalb "generics" und Klassen erlaubt
+% The usage of VAR, TYPE and CONST to declare new types inside an object is allowed only inside
+% generics and classes.
 parser_e_cant_create_generics_of_this_type=03225_E_Dieser Typ kann nicht "generic" sein
 % Only Classes, Objects, Interfaces and Records are allowed to be used as generic.
 parser_w_no_lineinfo_use_switch=03226_W_Die LINEINFO Unit nicht manuell laden. Verwende statt dessen den Compilerschalter -gl
@@ -1134,9 +1136,9 @@ parser_e_label_outside_proc=03231_E_Die Address von Labels, die ausserhalb des a
 % It isn't allowed to take the address of labels outside the
 % current procedure.
 parser_e_initialized_not_for_external=03233_E_Extern deklarierte Variablen können nicht intialisiert werden 
-% Variables declared as external can not be initialized with a default value.
+% Variables declared as external cannot be initialized with a default value.
 parser_e_illegal_function_result=03234_E_Ungültiger Funktionsergebnistyp
-% Some types like file types can not be used as function result.
+% Some types like file types cannot be used as function result.
 parser_e_no_common_type=03235_E_"$1" und "$2" haben keinen gemeinsamen Typ
 % To perform an operation on integers, the compiler converts both operands
 % to their common type, which appears to be an invalid type. To determine the
@@ -1176,7 +1178,7 @@ parser_e_weak_external_not_supported=03248_E_Schwache externe Symbole werden fü
 % on the current cpu/OS target.
 parser_e_forward_mismatch=03249_E_Forward Typdefinition passt nicht
 % Classes and interfaces being defined forward must have the same type
-% when being implemented. A forward interface can not be changed into a class.
+% when being implemented. A forward interface cannot be changed into a class.
 parser_n_ignore_lower_visibility=03250_N_Die virtuelle Methode "$1" hat eine niedrigere Sichtbarkeit ($2) als die Elternklasse $3 ($4)
 % The virtual method overrides an method that is declared with a higher visibility. This might give
 % unexpected results. In case the new visibility is private than it might be that a call to inherited in a
@@ -1195,9 +1197,9 @@ parser_e_no_local_para_def=03252_E_Parameter können keine lokalen Typdeklaratio
 % (both procedure headers would define a separate type). Keep in mind that expressions such as
 % ``file of byte'' or ``string[50]'' also define a new type.
 parser_e_abstract_and_sealed_conflict=03253_E_Konflikt zwischen ABSTRACT und SEALED 
-% ABSTRACT and SEALED can not be used together in one declaration
+% ABSTRACT and SEALED cannot be used together in one declaration
 parser_e_sealed_descendant=03254_E_Kann keinen Nachfahren der SEALED Klasse "$1" erzeugen
-% Sealed means that class can not be derived by another class.
+% Sealed means that class cannot be derived by another class.
 parser_e_sealed_class_cannot_have_abstract_methods=03255_E_Eine SEALED Klasse kann keine ABSTRACT Methode haben
 % Sealed means that class cannot be derived. Therefore no one class is able to override an abstract method in a sealed class.
 parser_e_only_virtual_methods_final=03256_E_Nur virtuelle Methoden können final sein.
@@ -1208,11 +1210,99 @@ parser_e_final_can_no_be_overridden=03257_E_Die finale Methode kann nicht übers
 % not exist.
 parser_e_multiple_messages=03258_E_Pro Methode kann nur eine Nachricht verwendet werden.
 % It is not possible to associate multiple messages with a single method.
+parser_e_invalid_enumerator_identifier=03259_E_Ungültiger Aufzählungsbezeichner: "$1"
+% Only "MoveNext" and "Current" enumerator identifiers are supported.
+parser_e_enumerator_identifier_required=03260_E_Aufzählungsbezeichner notwendig
+% "MoveNext" or "Current" identifier must follow the \var{enumerator} modifier.
+parser_e_enumerator_movenext_is_not_valid=03261_E_Die Aufzählungs-pattern-methode MoveNext ist ungültig. Die Methode muss eine Funktion mit Rückgabetyp Boolean und ohne notwendige Argumente sein.
+% "MoveNext" enumerator pattern method must be a function with Boolean return type and no required arguments
+parser_e_enumerator_current_is_not_valid=03262_E_Die Aufzählungs-pattern-Eigenschaft "Current" ist ungültig. Die Eigenschaft benötigt einen "Getter"
+% "Current" enumerator pattern property must have a getter
+parser_e_only_one_enumerator_movenext=03263_E_Pro Klasse/Objekt ist nur eine Aufzählungsmethode "MoveNext" erlaubt
+% Class or Object can have only one enumerator MoveNext declaration.
+parser_e_only_one_enumerator_current=03264_E_Pro Klasse/Objekt ist nur eine Aufzählungseigenschaft "Current" erlaubt
+% Class or Object can have only one enumerator Current declaration.
+parser_e_for_in_loop_cannot_be_used_for_the_type=03265_E_For in Schleife kann nicht für den Typ "$1" verwendet werden
+% For in loop can be used not for all types. For example it cannot be used for the enumerations with jumps.
+parser_e_objc_requires_msgstr=03266_E_Objective-C Nachrichten erfordern, dass ihr Objective-C selector-Name mit der Direktive "message" angegeben wird
+% Objective-C messages require their Objective-C name (selector name) to be specified using the \var{message `someName:'} procedure directive.
+% While bindings to other languages automatically generate such names based on the identifier you use (by replacing
+% all underscores with colons), this is unsafe since nothing prevents an Objective-C method name to contain actual
+% colons.
+parser_e_objc_no_constructor_destructor=03267_E_Objective-C hat keine formalen Konstruktoren oder Destruktoren. Verwende die Nachrichten alloc, initXXX und dealloc
+% The Objective-C language does not have any constructors or destructors. While there are some messages with a similar
+% purpose (such as \var{init} and \var{dealloc}), these cannot be identified using automatic parsers and do not
+% guarantee anything like Pascal constructors/destructors (e.g., you have to take care of only calling ``designated''
+% inherited ``constructors''). For these reasons, we have opted to follow the standard Objective-C patterns for
+% instance creation/destruction.
+parser_e_message_string_too_long=03268_E_Der Name der Nachricht ist zu lang (max. 255 Zeichen)
+% Due to compiler implementation reasons, message names are currently limited to 255 characters.
+parser_e_objc_message_name_too_long=03269_E_Der Symbolname der Objective-C-Nachricht "$1" ist zu lang
+% Due to compiler implementation reasons, mangled message names (i.e., the symbol names used in the assembler
+% code) are currently limited to 255 characters.
+parser_h_no_objc_parent=03270_H_Definieren einer neuen Objective-C root-Klasse. Um sie von einer anderen root-Klasse abzuleiten (z.B. NSObject), gib diese als Elternklasse an
+% If no parent class is specified for an Object Pascal class, then it automatically derives from TObject.
+% Objective-C classes however do not automatically derive from NSObject, because one can have multiple
+% root classes in Objective-C. For example, in the Cocoa framework both NSObject and NSProxy are root classes.
+% Therefore, you have to explicitly define a parent class (such as NSObject) if you want to derive your
+% Objective-C class from it.
+parser_e_no_objc_published=03271_E_Objective-C Klassen können keinen Abschnitt published haben
+% In Object Pascal, ``published'' determines whether or not RTTI is generated. Since the Objective-C runtime always needs
+% RTTI for everything, this specified does not make sense for Objective-C classes.
+parser_f_need_objc=03272_F_Dieses Modul erfordert, dass der Objective-C Mode-Schalter übersetzt wird
+% This error indicates the use of Objective-C language features without an Objective-C mode switch
+% active. Enable one via the -M command line switch, or the {\$modeswitch x} directive.
+parser_e_must_use_override_objc=03273_E_Vererbte Methoden können nur in Objective-C überschrieben werden, füge "override" hinzu.
+parser_h_should_use_override_objc=03274_H_Vererbte Methoden können nur in Objective-C überschrieben werden, füge "override" hinzu
+% It is not possible to \var{reintroduce} methods in Objective-C like in Object Pascal. Methods with the same
+% name always map to the same virtual method entry. In order to make this clear in the source code,
+% the compiler always requires the \var{override} directive to be specified when implementing overriding
+% Objective-C methods in Pascal. If the implementation is external, this rule is relaxed because Objective-C
+% does not have any \var{override}-style keyword (since it's the default and only behaviour in that language),
+% which makes it hard for automated header conversion tools to include it everywhere.
+parser_e_objc_message_name_changed=03275_E_Der Nachrichtenname "$1" in der vererbten Klasse unterscheidet sich vom Nachrichtennamen "$2" in der aktuellen Klasse
+% An overriding Objective-C method cannot have a different message name than an inherited method. The reason
+% is that these message names uniquely define the message to the Objective-C runtime, which means that
+% giving them a different message name breaks the ``override'' semantics.
+parser_e_no_objc_unique=03276_E_Noch können eindeutige Kopien von Objective-C Typen nicht erstellt werden
+% Duplicating an Objective-C type using \var{type x = type y;} is not yet supported. You may be able to
+% obtain the desired effect using \var{type x = objcclass(y) end;} instead.
+parser_e_no_category_as_types=03277_E_Objective-C Kategorien können nicht als Typen benutzt werden
+% It is not possible to declare a variable as an instance of an Objective-C category. A
+% category adds methods to the scope of an existing class, but does not define a type by itself.
+parser_e_no_category_override=03278_E_Kategorien überschreiben Methoden nicht, sondern ersetzen sie. "reintroduce" benutzen
+parser_e_must_use_reintroduce_objc=03279_E_Ersetzte Methoden können in Objective-C nur wieder eingeführt werden, füge "reintroduce" hinzu
+parser_h_should_use_reintroduce_objc=03280_H_Ersetzte Methoden können in Objective-C nur wieder eingeführt werden, füge "reintroduce" hinzu
+% A category replaces an existing method in an Objective-C class, rather than that it overrides it.
+% Calling an inherited method from an category method will call that method in
+% the extended class' parent, not in the extended class itself. The
+% replaced method in the original class is basically lost, and can no longer be
+% called or referred to. This behaviour corresponds somewhat more closely to
+% \var{reintroduce} than to \var{override} (although in case of \var{reintroduce}
+% in Object Pascal, hidden methods are still reachable via inherited).
+parser_e_implements_getter_not_default_cc=03281_E_Getter für das Interface implements müssen die voreingestellte calling convention des Ziels benutzen
+% Interface getters are called via a helper in the run time library, and hence
+% have to use the default calling convention for the target (\var{register} on
+% i386 and x86_64, \var{stdcall} on other architectures).
+parser_e_no_refcounted_typed_file=03282_E_Typisierte Dateien können keine reference-counted Typen enthalten
+% The data in a typed file cannot be of a reference counted type (such as
+% \var{ansistring} or a record containing a field that is reference counted).
+parser_e_operator_not_overloaded_2=03283_E_Überladenener Operator nicht vorhanden: $2 "$1"
+% You are trying to use an overloaded operator when it is not overloaded for
+% this type.
+parser_e_operator_not_overloaded_3=03284_E_Überladenener Operator nicht vorhanden: "$1" $2 "$3"
+% You are trying to use an overloaded operator when it is not overloaded for
+% this type.
+parser_e_more_array_elements_expected=03285_E_Erwarte ein weiteres Element für Array $1 
+% When declaring a typed constant array, you provided to few elements to initialize the array
+parser_e_string_const_too_long=03286_E_Stringkonstante zu lang, so lange ansistrings ausgeschaltet sind
+% Only when a piece of code is compiled with ansistrings enabled (\var{\{\$H+\}}), string constants
+% longer than 255 characters are allowed.
 % \end{description}
 #
 # Type Checking
 #
-# 04090 is the last used one
+# 04094 is the last used one
 #
 % \section{Type checking errors}
 % This section lists all errors that can occur when type checking is
@@ -1496,7 +1586,7 @@ type_w_pointer_to_signed=04082_W_Die Konvertierung von Pointern in einen Integer
 type_interface_has_no_guid=04083_E_Interface Typ $1 hat keine gültige GUID
 % When applying the as-operator to an interface or class, the desired interface (i.e. the right operand of the
 % as-operator) must have a valid GUID.
-type_e_invalid_objc_selector_name=04084_E_Ungültiger Objective-C-Selector-Name
+type_e_invalid_objc_selector_name=04084_E_Ungültiger Objective-C-Selector-Name "$1"
 % An Objective-C selector cannot be empty, must be a valid identifier or a single colon,
 % and if it contains at least one colon it must also end in one.
 type_e_expected_objc_method_but_got=04085_E_Erwartete eine Objective-C-Methode, erhielt aber $1
@@ -1516,11 +1606,26 @@ type_e_string_expr_expected=04089_E_Ausdruck mit Zeichenkette erwartet
 % The expression must be a string type.
 type_w_zero_to_nil=04090_W_Konvertiere 0 zu NIL
 % Use NIL rather than 0 when initialising a pointer. 
+type_e_protocol_type_expected=04091_E_Objective-C Protokolltyp erwartet, erhielt aber "$1"
+% The compiler expected a protocol type name, but found something else.
+type_e_objc_type_unsupported=04092_E_Der Typ "$1" wird nicht für die Verwendung mit der Objective-C Laufzeitumgebung unterstützt.
+% Objective-C makes extensive use of run time type information (RTTI). This format
+% is defined by the maintainers of the run time and can therefore not be adapted
+% to all possible Object Pascal types. In particular, types that depend on
+% reference counting by the compiler (such as ansistrings and certain kinds of
+% interfaces) cannot be used as fields of Objective-C classes, cannot be
+% directly passed to Objective-C methods, and cannot be encoded using \var{objc\_encode}.
+type_e_class_or_objcclass_type_expected=04093_E_Klasse oder Objective-C Klasse als Typ erwartet, erhielt aber "$1"
+% It is only possible to create class reference types of \var{class} and \var{objcclass}
+type_e_objcclass_type_expected=04094_E_Objective-C Klasse als Typ erwartet
+% The compiler expected an Objc
+% \var{objcclass} types
+%
 % \end{description}
 #
 # Symtable
 #
-# 05066 is the last used one
+# 05079 is the last used one
 #
 % \section{Symbol handling}
 % This section lists all the messages that concern the handling of symbols.
@@ -1700,6 +1805,57 @@ sym_w_deprecated_symbol_with_msg=05066_W_Symbol "$1" ist veraltet: "$2"
 % declared as \var{deprecated} is used. Deprecated symbols may no longer
 % be available in newer versions of the unit / library. Use of this symbol
 % should be avoided as much as possible.
+sym_e_no_enumerator=05067_E_Kann keine Aufzählung des Typs "$1" finden
+% This means that compiler cannot find an apropriate enumerator to use in the for-in loop.
+% To create an enumerator you need to defind an operator enumerator or add a public or published
+% GetEnumerator method to the class or object definition.
+sym_e_no_enumerator_move=05068_E_Kann keine Methode "MoveNext" in der Aufzählung "$1" finden
+% This means that compiler cannot find a public MoveNext method with the Boolean return type in
+% the enumerator class or object definition.
+sym_e_no_enumerator_current=05069_E_Kann keine Eigenschaft "Current" in der Aufzählung "$1" finden
+% This means that compiler cannot find a public Current property in  the enumerator class or object
+% definition.
+sym_e_objc_para_mismatch=05070_E_Die Anzahl der deklarierten Parameter und die Anzahl der Doppelpunkte in der Nachrichtenzeichenkette stimmen nicht überein
+% In Objective-C, a message name automatically contains as many colons as parameters.
+% In order to prevent mistakes when specifying the message name in FPC, the compiler
+% checks whether this is also the case here. Note that in case of messages taking a
+% variable number of arguments translated to FPC via an \var{array of const} parameter,
+% this final \var{array of const} parameter is not counted. Neither are the hidden
+% \var{self} and \var{\_cmd} parameters.
+sym_n_private_type_not_used=05071_N_Privater Typ "$1.$2" wird nie benutzt
+% The indicated private type is declared but is never used in the code.
+sym_n_private_const_not_used=05072_N_Private Konstante "$1.$2" wird nie benutzt
+% The indicated private const is declared but is never used in the code.
+sym_n_private_property_not_used=05073_N_Private Eigenschaft "$1.$2" wird nie benutzt
+% The indicated private property is declared but is never used in the code.
+sym_w_deprecated_unit=05074_W_Unit "$1" ist veraltet
+% This means that a unit which is
+% declared as \var{deprecated} is used. Deprecated units may no longer
+% be available in newer versions of the library. Use of this unit
+% should be avoided as much as possible.
+sym_w_deprecated_unit_with_msg=05075_W_Unit "$1" ist veraltet: "$2"
+% This means that a unit which is
+% declared as \var{deprecated} is used. Deprecated units may no longer
+% be available in newer versions of the library. Use of this unit
+% should be avoided as much as possible.
+sym_w_non_portable_unit=05076_W_Unit "$1" ist plattformabhängig
+% This means that a unit which is
+% declared as \var{platform} is used. This unit use
+% and availability is platform specific and should not be used
+% if the source code must be portable.
+sym_w_library_unit=05077_W_Unit "$1" gehört zu einer Bibliothek
+% This means that a unit which is
+% declared as \var{library} is used. Library units may not be
+% available in other libraries.
+sym_w_non_implemented_unit=05078_W_Unit "$1" ist nicht implementiert
+% This means that a unit which is
+% declared as \var{unimplemented} is used. This unit is defined,
+% but is not yet implemented on this specific platform.
+sym_w_experimental_unit=05079_W_Unit "$1" ist experimentell
+% This means that a unit which is
+% declared as \var{experimental} is used. Experimental units
+% might disappear or change semantics in future versions. Usage of this unit
+% should be avoided as much as possible.
 % \end{description}
 #
 # Codegenerator
@@ -1837,7 +1993,7 @@ cg_e_goto_label_not_found=06049_E_Goto Label "$1": Das Label ist nicht definiert
 #
 # Assembler reader
 #
-# 07107 is the last used one
+# 07109 is the last used one
 #
 asmr_d_start_reading=07000_DL_Starte $1 Stil Assembler Parsen
 % This informs you that an assembler block is being parsed
@@ -1876,7 +2032,7 @@ asmr_e_relocatable_symbol_not_allowed=07013_E_Verschiebbares Symbol ist nicht zu
 asmr_e_invalid_reference_syntax=07014_E_Ungültige Verweis-Syntax
 % There is an error in the reference.
 asmr_e_local_para_unreachable=07015_E_Sie können "$1" von diesem Code aus nicht erreichen
-% You can not read directly the value of a local variable or parameter
+% You cannot read directly the value of a local variable or parameter
 % of a higher level procedure in assembler code (except for
 % local assembler code without parameter nor locals).
 asmr_e_local_label_not_allowed_as_ref=07016_E_Lokale Symbole/Labels sind nicht als Referenz zulässig
@@ -2083,6 +2239,12 @@ asmr_e_need_pic_ref=07107_E_Erzeuge eigentlich PIC, aber die Referenz ist nicht
 % The compiler has been configured to generate position-independent code
 % (PIC), but there are position-dependent references in the current
 % handwritten assembler instruction.
+asmr_e_mixing_regtypes=07108_E_Alle Register in einem Registerset müssen in T und Breite übereinstimmen
+% Instructions on the ARM architecture that take a register set as argument require that all registers
+% in this set are of the same kind (e.g., integer, vfp) and width (e.g., single precision, double precision).
+asmr_e_empty_regset=07109_E_Ein Registerset kann nicht leer sein
+% Instructions on the ARM architecture that take a register set as argument require that such a set
+% contains at least one register.
 #
 # Assembler/binary writers
 #
@@ -2204,9 +2366,9 @@ exec_e_cant_call_resource_compiler=09030_E_Der Resource-Compiler "$1" kann nicht
 % a script that can be used to assemble, compile resources and link or
 % postprocess the program.
 exec_e_cant_open_resource_file=09031_E_Kann die Resourcedatei "$1" nicht öffnen
-% An error occurred resource file can not be opened.
+% An error occurred resource file cannot be opened.
 exec_e_cant_write_resource_file=09032_E_Kann die Resourcedatei "$1" nicht schreiben
-% An error occurred resource file can not be written.
+% An error occurred resource file cannot be written.
 %\end{description}
 # EndOfTeX
 
@@ -2258,7 +2420,7 @@ link_w_32bit_absolute_reloc=09201_W_Object Daei "$1" enthält eine 32-bit absolu
 #
 # Unit loading
 #
-# 10061 is the last used one
+# 10062 is the last used one
 #
 # BeginOfTeX
 % \section{Unit loading messages.}
@@ -2347,7 +2509,7 @@ unit_u_recompile_crc_change=10028_U_Übersetze $1 erneut, Prüfsumme für $2 hat
 unit_u_recompile_source_found_alone=10029_U_Übersetze "$1", nur Quellcode gefunden
 % When you use the \var{-vu} flag, these messages tell you why the current
 % unit is recompiled.
-unit_u_recompile_staticlib_is_older=10030_U_Übersetze Unit erneut, statische Biblothek ist älter als PPU-Datei
+unit_u_recompile_staticlib_is_older=10030_U_Übersetze Unit erneut, statische Bibliothek ist älter als PPU-Datei
 % When you use the \var{-vu} flag, the compiler warns if the static library
 % of the unit is older than the unit file itself.
 unit_u_recompile_sharedlib_is_older=10031_U_Übersetze Unit erneut, gemeinsame Bibliothek ist älter als PPU-Datei
@@ -2409,7 +2571,7 @@ unit_u_implementation_crc_changed=10046_U_Geänderte Implementation CRC für Uni
 unit_u_finished_compiling=10047_U_Übersetzen der Unit $1 beendet
 % When you use the \var{-vu} flag, the compiler warns that it
 % has finished compiling the unit.
-unit_u_add_depend_to=10048_U_Füge die Abhängigkeit von $1 von $2 dazu
+unit_u_add_depend_to=10048_U_Füge Abhängigkeit hinzu: $1 hängt von $2 ab
 % When you use the \var{-vu} flag, the compiler warns that it
 % has added a dependency between the two units.
 unit_u_no_reload_is_caller=10049_U_Kein erneutes Laden, Unit $1 ist die Aufrufende
@@ -2455,13 +2617,18 @@ unit_e_different_wpo_file=10061_E_Unit $1 wurde mit einer anderen Feedback-Einga
 % When a unit has been compiled using a particular whole program optimization (wpo) feedback file (\var{-FW<x>} \var{-OW<x>}),
 % this compiled version of the unit is specialised for that particular compilation scenario and cannot be used in
 % any other context. It has to be recompiled before you can use it in another program or with another wpo feedback input file.
+unit_u_indirect_crc_changed=10062_U_Die CRC des indirekten Interface (Objekte/Klassen) für die unit $1 hat sich geändert
+% When you use the \var{-vu} flag, the compiler warns that the
+% indirect CRC calculated for the unit (this is the CRC of all classes/objects/interfaces/$\ldots$
+% in the interfaces of units directly or indirectly used by this unit in the interface) has been changed after the
+% implementation has been parsed.
 % \end{description}
 # EndOfTeX
 
 #
 #  Options
 #
-# 11047 is the last used one
+# 11048 is the last used one
 #
 option_usage=11000_O_$1 [Optionen] <Eingabedatei> [Optionen]
 # BeginOfTeX
@@ -2477,7 +2644,7 @@ option_only_one_source_support=11001_W_Es wird nur eine Quelldatei unterstützt.
 option_def_only_for_os2=11002_W_DEF-Datei kann nur für OS/2 erzeugt werden
 % This option can only be specified when you're compiling for OS/2.
 option_no_nested_response_file=11003_E_Verschachtelte Response-Dateien werden nicht unterstützt
-% You can not nest response files with the \var{@file} command line option.
+% You cannot nest response files with the \var{@file} command line option.
 option_no_source_found=11004_F_Kein Name für Quelldatei auf der Kommandzeile
 % The compiler expects a source file name on the command line.
 option_no_option_found=11005_N_Keine Angaben in Konfigurationsdatei "$1" gefunden
@@ -2529,7 +2696,7 @@ option_switch_bin_to_src_assembler=11020_N_Schalte Assembler auf den Standard-As
 % -a switch, which can't be used with a binary assembler writer.
 option_incompatible_asm=11021_W_Das gewählte Assembler-Ausgabeformat "$1" ist nicht mit "$2" kompatibel
 option_asm_forced=11022_W_Verwendung des Assemblers "$1" erzwungen
-% The assembler output selected can not generate
+% The assembler output selected cannot generate
 % object files with the correct format. Therefore, the
 % default assembler for this target is used instead.
 option_using_file=11026_T_Optionen werden aus der Datei $1 gelesen
@@ -2563,7 +2730,7 @@ option_code_page_not_available=11039_E_Unbekannte code page
 % The requested code page is not in that list. You will need to recompile
 % the compiler with support for the codepage you need.
 option_config_is_dir=11040_F_Konfigurationsdatei $1 ist ein Verzeichnis
-% Directories can not be used as configuration files.
+% Directories cannot be used as configuration files.
 option_confict_asm_debug=11041_W_Die gewählte Assembler-Ausgabe "$1" kann kein Debug-Info erzeugen, Debugging ist ausgeschaltet
 % The selected assembler output cannot generate
 % debugging information, debugging option is therefore disabled.
@@ -2584,6 +2751,9 @@ option_dwarf_smart_linking=11046_N_DWARF Debug-Information kann auf dieser Zielp
 option_ignored_target=11047_W_Option "$1" wird für die ausgewählte Zielplattform ignoriert
 % Not all options are supported or implemented for all target platforms. This message informs you that a chosen
 % option is ignored for the currently selected target platform.
+option_debug_external_unsupported=11048_W_Schalte externe Debuginformation aus, weil es für die gewählte Kombination Ziel/Debugformat nicht unterstützt wird
+% Not all debug formats can be stored in an external file on all platforms. In particular, on
+% Mac OS X only DWARF debug information can be stored externally.
 %\end{description}
 # EndOfTeX
 
@@ -2719,7 +2889,9 @@ oder
 # line, the current possibilities are :
 #    * = every target
 #    3 = 80x86 targets
+#    4 = x86_64
 #    6 = 680x0 targets
+#    A = ARM
 #    e = in extended debug mode only
 #    P = PowerPC targets
 #    S = Sparc targets
@@ -2743,6 +2915,7 @@ option_help_pages=11025_[
 **1A<x>_Ausgabe Format:
 **2Adefault_Benutze den "default" Assembler
 3*2Aas_Assembliere mit Hilfe von GNU AS
+3*2Amacho_Mach-O (Darwin, Intel 32 bit) mit Hilfe des internen Schreibers
 3*2Anasmcoff_COFF (Go32v2) Datei mit Hilfe von Nasm
 3*2Anasmelf_ELF32 (Linux) Datei mit Hilfe von Nasm
 3*2Anasmwin32_Win32 Object Datei mit Hilfe von Nasm
@@ -2751,9 +2924,9 @@ option_help_pages=11025_[
 3*2Anasmobj_Obj Datei mit Hilfe von Nasm
 3*2Amasm_Obj Datei mit Hilfe von Masm (Microsoft)
 3*2Atasm_Obj Datei mit Hilfe von Tasm (Borland)
-3*2Aelf_ELF32 (Linux) mit Hilfe vom internen Schreiber
-3*2Acoff_COFF (Go32v2) mit Hilfe vom internen Schreiber
-3*2Apecoff_PE_COFF (Win32) mit Hilfe vom internen Schreiber
+3*2Aelf_ELF32 (Linux) mit Hilfe des internen Schreibers
+3*2Acoff_COFF (Go32v2) mit Hilfe des internen Schreibers
+3*2Apecoff_PE_COFF (Win32) mit Hilfe des internen Schreibers
 4*2Aas_Assembliere mit Hilfe von GNU AS
 6*2Aas_Unix o-file mit Hilfe von GNU AS
 6*2Agas_GNU Motorola Assembler
@@ -2822,6 +2995,7 @@ S*2Aas_Assembliere mit Hilfe von GNU AS
 *g2go<x>_Setze Optionen für die Debug Informationen
 *g3godwarfsets_Schalte DWARF Debug Informationen für Mengen (sets) ein (verhindert debugging mit gdb < 6.5)
 *g3gostabsabsincludes_ Absolute/volle Include-Datei-Pfade in Stabs speichern
+*g3godwarfmethodclassprefix_ Stelle Methodennamen in DWARF den Namen der Klasse voran
 *g2gp_Erhalte Gross/Kleinschreibung in Stabs-Symbolnamen
 *g2gs_Erzeuge Stabs-Debug-Informationen
 *g2gt_Lösche lokale Variablen (um eine Verwendung ohne Initialisierung zu finden)
@@ -2886,7 +3060,6 @@ S*2Aas_Assembliere mit Hilfe von GNU AS
 **3SIcorba_CORBA kompatibles Interface
 **2Sm_Unterstütze Makros wie in C (global)
 **2So_Sei TP/BP 7.0 kompatibel (wie -Mtp)
-**2Sp_Sei gpc-kompatibel (wie -Mgpc)
 **2Ss_Konstruktor- und Destruktorname müssen "Init" und "Done" sein
 **2Sx_Exception Schlüsselwörter einschalten (Voreinstellung in Delphi/ObjFPC Moden)
 **1s_Rufe weder Assembler noch Linker auf (nur mit -a)
@@ -2956,6 +3129,8 @@ P*2WC_Spezifiziere "console type application" (Classic Mac OS)
 3*2WD_Benutze DEFFILE um Funktionen der DLL oder EXE zu exportieren (Windows)
 A*2WD_Benutze DEFFILE um Funktionen der DLL oder EXE zu exportieren (Windows)
 3*2We_Benutze externe Resourcen (Darwin)
+4*2We_Benutze externe Resourcen (Darwin)
+A*2We_Benutze externe Resourcen (Darwin)
 P*2We_Benutze externe Resourcen (Darwin)
 p*2We_Benutze externe resoResourcenurces (Darwin)
 3*2WF_Spezifiziere "full-screen type application" (EMX, OS/2)

+ 31 - 31
compiler/msg/errore.msg

@@ -456,7 +456,7 @@ parser_n_duplicate_enum=03031_N_Values in enumeration types have to be ascending
 % \end{verbatim}
 % The second declaration would produce an error. \var{A\_UAS} needs to have a
 % value higher than \var{A\_E}, i.e. at least 7.
-parser_e_no_with_for_variable_in_other_segments=03033_E_With can not be used for variables in a different segment
+parser_e_no_with_for_variable_in_other_segments=03033_E_With cannot be used for variables in a different segment
 % With stores a variable locally on the stack,
 % but this is not possible if the variable belongs to another segment.
 parser_e_too_much_lexlevel=03034_E_function nesting > 31
@@ -633,7 +633,7 @@ parser_e_operator_not_overloaded=03082_E_Operator is not overloaded
 % You're trying to use an overloaded operator when it is not overloaded for
 % this type.
 parser_e_no_such_assignment=03083_E_Impossible to overload assignment for equal types
-% You can not overload assignment for types
+% You cannot overload assignment for types
 % that the compiler considers as equal.
 parser_e_overload_impossible=03084_E_Impossible operator overload
 % The combination of operator, arguments and return type are
@@ -841,7 +841,7 @@ parser_e_cant_use_inittable_here=03151_E_Data types which require initialization
 % code which is implicitly generated by the compiler. Such data types
 % can't be used in the variant part of a record.
 parser_e_resourcestring_only_sg=03152_E_Resourcestrings can be only static or global
-% Resourcestring can not be declared local, only global or using the static
+% Resourcestring cannot be declared local, only global or using the static
 % directive.
 parser_e_exit_with_argument_not__possible=03153_E_Exit with argument can't be used here
 % An exit statement with an argument for the return value can't be used here. This
@@ -953,7 +953,7 @@ parser_e_no_procvarobj_const=03183_E_Typed constants of the type "procedure of o
 % You can't assign the address of a method to a typed constant which has a
 % 'procedure of object' type, because such a constant requires two addresses:
 % that of the method (which is known at compile time) and that of the object or
-% class instance it operates on (which can not be known at compile time).
+% class instance it operates on (which cannot be known at compile time).
 parser_e_default_value_only_one_para=03184_E_Default value can only be assigned to one parameter
 % It is not possible to specify a default value for several parameters at once.
 % The following is invalid:
@@ -972,7 +972,7 @@ parser_h_c_arrays_are_references=03187_H_C arrays are passed by reference
 % Any array passed to a C function is passed
 % by a pointer (i.e. by reference).
 parser_e_C_array_of_const_must_be_last=03188_E_C array of const must be the last argument
-% You can not add any other argument after an \var{array of const} for
+% You cannot add any other argument after an \var{array of const} for
 % \var{cdecl} functions, as the size pushed on stack for this argument is
 % not known.
 parser_h_type_redef=03189_H_Type "$1" redefinition
@@ -984,7 +984,7 @@ parser_w_cdecl_has_no_high=03190_W_cdecl'ared functions have no high parameter
 parser_w_cdecl_no_openstring=03191_W_cdecl'ared functions do not support open strings
 % Openstring is not supported for functions that have the \var{cdecl} modifier.
 parser_e_initialized_not_for_threadvar=03192_E_Cannot initialize variables declared as threadvar
-% Variables declared as threadvar can not be initialized with a default value.
+% Variables declared as threadvar cannot be initialized with a default value.
 % The variables will always be filled with zero at the start of a new thread.
 parser_e_msg_only_for_classes=03193_E_Message directive is only allowed in Classes
 % The message directive is only supported for Class types.
@@ -1131,16 +1131,16 @@ parser_e_label_outside_proc=03231_E_Taking the address of labels defined outside
 % It isn't allowed to take the address of labels outside the
 % current procedure.
 parser_e_initialized_not_for_external=03233_E_Cannot initialize variables declared as external
-% Variables declared as external can not be initialized with a default value.
+% Variables declared as external cannot be initialized with a default value.
 parser_e_illegal_function_result=03234_E_Illegal function result type
-% Some types like file types can not be used as function result.
+% Some types like file types cannot be used as function result.
 parser_e_no_common_type=03235_E_No common type possible between "$1" and "$2"
 % To perform an operation on integers, the compiler converts both operands
 % to their common type, which appears to be an invalid type. To determine the
 % common type of the operands, the compiler takes the minimum of the minimal values
 % of both types, and the maximum of the maximal values of both types. The common
 % type is then minimum..maximum.
-parser_e_no_generics_as_types=03236_E_Generics without specialization can not be used as a type for a variable
+parser_e_no_generics_as_types=03236_E_Generics without specialization cannot be used as a type for a variable
 % Generics must be always specialized before being used as variable type.
 parser_w_register_list_ignored=03237_W_Register list is ignored for pure assembler routines
 % When using pure assembler routines, the list with modified registers is ignored.
@@ -1173,7 +1173,7 @@ parser_e_weak_external_not_supported=03248_E_Weak external symbols are not suppo
 % on the current cpu/OS target.
 parser_e_forward_mismatch=03249_E_Forward type definition does not match
 % Classes and interfaces being defined forward must have the same type
-% when being implemented. A forward interface can not be changed into a class.
+% when being implemented. A forward interface cannot be changed into a class.
 parser_n_ignore_lower_visibility=03250_N_Virtual method "$1" has a lower visibility ($2) than parent class $3 ($4)
 % The virtual method overrides an method that is declared with a higher visibility. This might give
 % unexpected results. In case the new visibility is private than it might be that a call to inherited in a
@@ -1192,15 +1192,15 @@ parser_e_no_local_para_def=03252_E_Parameters cannot contain local type definiti
 % (both procedure headers would define a separate type). Keep in mind that expressions such as
 % ``file of byte'' or ``string[50]'' also define a new type.
 parser_e_abstract_and_sealed_conflict=03253_E_ABSTRACT and SEALED conflict
-% ABSTRACT and SEALED can not be used together in one declaration
-parser_e_sealed_descendant=03254_E_Can not create a descendant of the sealed class "$1"
-% Sealed means that class can not be derived by another class.
-parser_e_sealed_class_cannot_have_abstract_methods=03255_E_SEALED class can not have an ABSTRACT method
+% ABSTRACT and SEALED cannot be used together in one declaration
+parser_e_sealed_descendant=03254_E_Cannot create a descendant of the sealed class "$1"
+% Sealed means that class cannot be derived by another class.
+parser_e_sealed_class_cannot_have_abstract_methods=03255_E_SEALED class cannot have an ABSTRACT method
 % Sealed means that class cannot be derived. Therefore no one class is able to override an abstract method in a sealed class.
 parser_e_only_virtual_methods_final=03256_E_Only virtual methods can be final
 % You are declaring a method as final, when it is not declared to be
 % virtual.
-parser_e_final_can_no_be_overridden=03257_E_Final method can not be overridden: "$1"
+parser_e_final_can_no_be_overridden=03257_E_Final method cannot be overridden: "$1"
 % You are trying to \var{override} a virtual method of a parent class that does
 % not exist.
 parser_e_multiple_messages=03258_E_Only one message can be used per method.
@@ -1217,8 +1217,8 @@ parser_e_only_one_enumerator_movenext=03263_E_Only one enumerator MoveNext metho
 % Class or Object can have only one enumerator MoveNext declaration.
 parser_e_only_one_enumerator_current=03264_E_Only one enumerator Current property is allowed per class/object
 % Class or Object can have only one enumerator Current declaration.
-parser_e_for_in_loop_cannot_be_used_for_the_type=03265_E_For in loop can not be used for the type "$1"
-% For in loop can be used not for all types. For example it can not be used for the enumerations with jumps.
+parser_e_for_in_loop_cannot_be_used_for_the_type=03265_E_For in loop cannot be used for the type "$1"
+% For in loop can be used not for all types. For example it cannot be used for the enumerations with jumps.
 parser_e_objc_requires_msgstr=03266_E_Objective-C messages require their Objective-C selector name to be specified using the "message" directive.
 % Objective-C messages require their Objective-C name (selector name) to be specified using the \var{message `someName:'} procedure directive.
 % While bindings to other languages automatically generate such names based on the identifier you use (by replacing
@@ -1800,15 +1800,15 @@ sym_w_deprecated_symbol_with_msg=05066_W_Symbol "$1" is deprecated: "$2"
 % declared as \var{deprecated} is used. Deprecated symbols may no longer
 % be available in newer versions of the unit / library. Use of this symbol
 % should be avoided as much as possible.
-sym_e_no_enumerator=05067_E_Can not find an enumerator for the type "$1"
-% This means that compiler can not find an apropriate enumerator to use in the for-in loop.
+sym_e_no_enumerator=05067_E_Cannot find an enumerator for the type "$1"
+% This means that compiler cannot find an apropriate enumerator to use in the for-in loop.
 % To create an enumerator you need to defind an operator enumerator or add a public or published
 % GetEnumerator method to the class or object definition.
-sym_e_no_enumerator_move=05068_E_Can not find a "MoveNext" method in enumerator "$1"
-% This means that compiler can not find a public MoveNext method with the Boolean return type in
+sym_e_no_enumerator_move=05068_E_Cannot find a "MoveNext" method in enumerator "$1"
+% This means that compiler cannot find a public MoveNext method with the Boolean return type in
 % the enumerator class or object definition.
-sym_e_no_enumerator_current=05069_E_Can not find a "Current" property in enumerator "$1"
-% This means that compiler can not find a public Current property in  the enumerator class or object
+sym_e_no_enumerator_current=05069_E_Cannot find a "Current" property in enumerator "$1"
+% This means that compiler cannot find a public Current property in  the enumerator class or object
 % definition.
 sym_e_objc_para_mismatch=05070_E_Mismatch between number of declared parameters and number of colons in message string.
 % In Objective-C, a message name automatically contains as many colons as parameters.
@@ -1911,7 +1911,7 @@ cg_e_no_code_for_inline_stored=06033_E_No code for inline procedure stored
 cg_e_can_access_element_zero=06035_E_Element zero of an ansi/wide- or longstring can't be accessed, use (set)length instead
 % You should use \var{setlength} to set the length of an ansi/wide/longstring
 % and \var{length} to get the length of such string type.
-cg_e_cannot_call_cons_dest_inside_with=06037_E_Constructors or destructors can not be called inside a 'with' clause
+cg_e_cannot_call_cons_dest_inside_with=06037_E_Constructors or destructors cannot be called inside a 'with' clause
 % Inside a \var{with} clause you cannot call a constructor or destructor for the
 % object you have in the \var{with} clause.
 cg_e_cannot_call_message_direct=06038_E_Cannot call message handler methods directly
@@ -1982,12 +1982,12 @@ cg_h_inherited_ignored=06048_H_Inherited call to abstract method ignored
 cg_e_goto_label_not_found=06049_E_Goto label "$1" not defined or optimized away
 % The label used in the goto definition is not defined or optimized away by the
 % unreachable code elemination.
-% \end{description}
 cg_f_unknown_type_in_unit=06050_F_Cannot find type "$1" in unit "$2". Check if you use the correct run time library.
 % The compiler expects that the runtime library contains certain type definitions. If you see this error
 % and you didn't change the runtime library code, it's very likely that the runtime library
 % you're using doesn't match the compiler in use. If you changed the runtime library this error means
 % that you removed a type which the compiler needs for internal use.
+% \end{description}
 # EndOfTeX
 
 #
@@ -2031,8 +2031,8 @@ asmr_e_relocatable_symbol_not_allowed=07013_E_Relocatable symbol is not allowed
 % You can't use a relocatable symbol (variable/typed constant) here.
 asmr_e_invalid_reference_syntax=07014_E_Invalid reference syntax
 % There is an error in the reference.
-asmr_e_local_para_unreachable=07015_E_You can not reach $1 from that code
-% You can not read directly the value of a local variable or parameter
+asmr_e_local_para_unreachable=07015_E_You cannot reach $1 from that code
+% You cannot read directly the value of a local variable or parameter
 % of a higher level procedure in assembler code (except for
 % local assembler code without parameter nor locals).
 asmr_e_local_label_not_allowed_as_ref=07016_E_Local symbols/labels aren't allowed as references
@@ -2366,9 +2366,9 @@ exec_e_cant_call_resource_compiler=09030_E_Can't call the resource compiler "$1"
 % a script that can be used to assemble, compile resources and link or
 % postprocess the program.
 exec_e_cant_open_resource_file=09031_E_Can't open resource file "$1"
-% An error occurred resource file can not be opened.
+% An error occurred resource file cannot be opened.
 exec_e_cant_write_resource_file=09032_E_Can't write resource file "$1"
-% An error occurred resource file can not be written.
+% An error occurred resource file cannot be written.
 %\end{description}
 # EndOfTeX
 
@@ -2644,7 +2644,7 @@ option_only_one_source_support=11001_W_Only one source file supported, changing
 option_def_only_for_os2=11002_W_DEF file can be created only for OS/2
 % This option can only be specified when you're compiling for OS/2.
 option_no_nested_response_file=11003_E_nested response files are not supported
-% You can not nest response files with the \var{@file} command line option.
+% You cannot nest response files with the \var{@file} command line option.
 option_no_source_found=11004_F_No source file name in command line
 % The compiler expects a source file name on the command line.
 option_no_option_found=11005_N_No option inside $1 config file
@@ -2696,7 +2696,7 @@ option_switch_bin_to_src_assembler=11020_N_Switching assembler to default source
 % -a switch, which can't be used with a binary assembler writer.
 option_incompatible_asm=11021_W_Assembler output selected "$1" is not compatible with "$2"
 option_asm_forced=11022_W_"$1" assembler use forced
-% The assembler output selected can not generate
+% The assembler output selected cannot generate
 % object files with the correct format. Therefore, the
 % default assembler for this target is used instead.
 option_using_file=11026_T_Reading options from file $1