German localization notes

From Lazarus wiki
Jump to navigationJump to search

Notes for non-German speakers

This page contains some notes and guidelines for the German localization of the Lazarus IDE. Since all this information is heavily language specific, the following text will be in German.

Einführung

Diese Seite ist im Aufbau, wird also für einige Zeit eher baustellenartigen Charakter haben... TODO ;)

Übersetzungsvorgang

Software

poEdit (http://poEdit.sourceforge.net// ???)
KBabel (???)
Texteditor nach Wahl

Einige allgemeine Regeln

Stichworte:

  • auf Rechtschreibung achten
  • unbekannte Wörter nachschlagen (Duden? - Google oder eine ähnliche Quelle ist keine Referenz in Bezug auf Rechtschreibung)
  • Satzzeichen (Punkt, Beistrich, etc.) direkt an das Wort geschrieben
  • neue vs. alte Rechtschreibung
  • Link Textverarbeitung von wikipedia.de

Mehr fällt mir gerade nicht ein... :I

TODO ;)

Some general stuff dumped here

  • Never compose a sentence out of more than one string. (Always) Use the Format() method from the sysutils unit to construct the correct string during runtime. Translators will usually not be able to reconstruct the whole sentence.
  • Escaped C style characters can be used in localization strings:
 'The file \"%s\" is not valid.\nPlease select another one.'
 

As you can see from the example, (Anführungszeichen) must be escaped too.

Hence, there is no need to use a %s format specifier with a #13#10 (or #13, or #10) in the format argument of the Format() function. If you do not like C escaped characters do it the pascal way:

 myLocalizableString := 'This can be easily localized.'#13#10'Translators will hug you for that.';
 

There may be some incompatibilites with more advanced translation tools if used that way.

  • Labels of drop down lists or edit fields should have a trailing double colon.
  • Labels of group boxes do not need a double colon.
  • Do not format using whitespaces. Simply move your label to the appropriate position in the first place. Especially trailing spaces will be in danger to be lost by the translator.
  • Punctuation marks (full stop, comma, ...) are part of the previous words, or form some sort of words themselves if there is no previous word (in case of an enumeration). Especially after a semicolon there should always be a trailing space.

Richtlinien für die deutsche Übersetzung

  • kein L33t-speak, auch "lockere" Sprache vermeiden ("Ooops, leider der hat der Debugger Mist gebaut")
  • Anglizismen (Denglish) eher vermeiden (d.h. nur wenn Begriff nicht eindeutig ein Sprachspezifischer Begriff ist). Besonders dann, wenn es vollständig äquivalente Ausdrücke im Deutschen gibt (z.B. "Viewer " -> "Betrachter").
  • Kommandos: Wortstellung Subjekt - Verb (Infinitiv) bevorzugen. Einfacherere Lesbarkeit.
  • Meldungen: Das Problem wenn möglich auf den Punkt bringen, möglichst nicht wieder einen erklärungsbedürftigen Text geben. Der aktuelle Zustand der IDE ist keine Erklärung des Problems.
  • Beschreibung möglichst sachlich formulieren, eher "Sie" als "du" verwenden
  • Es besteht keine Veranlassung Wort für Wort zu übersetzen - die Originalautoren sind auch nur Menschen, deren Gedanken zum Schreibzeitpunkt vermutlich bei eher technischen Problemen liegen...
  • Ebenso muss die Satzstellung nicht peinlich genau eingehalten werden (d.h. wg. aktuellen Einschränkungen der verwendeten Lokalisierungsbibliothek müssen die Platzhalter an der gleichen relativen Positon bleiben)

Mehr Notizen


  • Nicht jedes Wort großschreiben (ähnlich wie in Englisch u.U. erlaubt):
Alle Meine Entlein Sind Schon Da

sondern richtig

Alle meine Entlein sind schon da

  • Bei Menübefehlen möglichst die Wortstellung Subjekt-Verb (Infinitiv) verwenden, bei Meldungen der IDE bei (länger dauernden) Aktionen eher Verb-Subjekt.
Lazarus erstellen

Der Befehl an das Programm: "Lazarus soll erstellt werden".

Erstelle Lazarus

Meldung des Programmes an den Benutzer: "Erstelle gerade Lazarus" (der Vorgang läuft). Auch ist oft die letztere Form länger, da das Verb dann im Deutschen oft aufgeteilt werden muss:

Datei abspeichern

Bzw.

Speichere Datei ab

In Benachrichtigungen der IDE ist oft mehr Platz vorhanden.

  • Wenn man keine Ahnung hat, was ein englischer Eintrag bedeutet, folgendes Probieren
    • Aus dem Formular dessen Funktion herauslesen: Eintrag in der IDE suchen, ansehen und aus diesem auf die Funktion schließen.
    • Im Quelltext nachsehen: zuerst nach der Zeichenkette suchen, das liefert einen Namen einer Konstante in "lazarusidestrconsts.pas". Mit diesem Bezeichner in den Sourcen weiter suchen, und versuchen aus dem Code die Funktion abzuleiten - wenn man viel Glück hat, findet man auch eine Erklärung im Source.
    • Fragen.
    • Nicht übersetzen: Es gibt kaum Schlimmeres als ein vollständig falsch oder nur teilweise übersetzten Satz. Vor allem weil dann die weitere Bearbeitung durch andere oft übersehen wird.
"All packages" -> "Alle Packages"

  • Die Sprache verwenden - Deutsch ist flexibel in der Bildung von zusammengesetzten Wörtern. Solange diese nicht zu Wortmonstern über mehrere Zeilen ausarten, sollten diese anstatt umständlich wirkender Umschreibungen verwendet werden. Außerdem sind diese immer kürzer, und Platz ist sowieso meist Mangelware. Eventuell Wortteile, die übersetzte und nichtübersetzte Teile (wegen eines Fachbegriffs) enthalten, mit einem Bindestrich trennen.
"Form load error" -> "Formularladefehler"

nicht

"Fehler beim Laden des Formulars"

für ein (zugegeben extremes) Beispiel.

  • Mehrfachnegationen wenn möglich vermeiden
"Die Komponente darf nicht auf einem Nicht-TControl abgelegt werden."

besser:

"Die Komponente darf nur auf einem TControl abgelegt werden."

Ist sogar um einiges kürzer, und sicher leichter verständlich.

  • Spezifische Verweise auf die LCL nicht übersetzen.
"ImageList-Editor" -> "ImageList-Editor"

Dies ist ein Editor für eine bestimmte Klasse namens TImageList. Diese sollte nicht übersetzt werden ("Bildlisteneditor") oder durch zufällig eingeführte Kleinschreibung übersetzt werden ("Listview-Editor") da es sich eben um einen Editor für eine bestimmte Klasse handelt.

  • Aufpassen auf Einzahl und Mehrzahl im Originaltext. Besonders unregelmäßige Endungen werden oft übersehen.
  • Kurztasten in Menüs möglichst beibehalten, ansonsten besteht die Gefahr von Überschneidungen.
"&Add breakpoint" -> "H&altepunkt hinzufügen"
  • Es gibt kein "daß" mit scharfem ß nach der neuen deutschen Rechtschreibung mehr. "Dass" verwenden.
  • Unübliche Abkürzungen vermeiden
    • "+" ist kein Ersatz für "und"
Zieldateiname+Erweiterung ...
  • Besondere Vorsicht beim Übersetzen von sehr kurzen Sätzen
"As-Is" 

ist nicht

"Wie es ist"

sondern soll für die Pascal-Schlüsselwörter "as" und "is" stehen. In solchen Fällen immer den Dialog suchen.

  • Die offizielle, standardisierte Abkürzung für Sekunden ist "s". Nicht "sek", "sec" oder ähnliches.

Oft verwendete Begriffe

In diesem Abschnitt sollen häufig gebrauchte Wörter mit ihren bevorzugten Übersetzungen gesammelt werden (Anm.: TODO: eindeutig machen):

  • compiler -> "Übersetzer"/"Kompilierer"
  • to compile -> "übersetzen" / "erstellen"
  • item -> "Eintrag" (in Liste, Baum), "Element"
  • viewer -> "Betrachter"


  • "ancestor type" -> "Vorfahr(en)typ" (muss noch nachsehen)
  • "backup" -> "Sicherung"
  • "bookmark" -> "Lesezeichen"
  • "breakpoint" -> "Haltepunkt"
  • "call stack" -> "Aufrufstack"
  • "child node" -> "Untereintrag" (in einer Liste, einem Baum)
  • "class" -> "Klasse"
  • "code" -> "Quelltext"
  • "command" -> "Anweisung" oder "Befehl"
  • "compiler" -> "Übersetzer"
  • "component" -> "Komponente"
  • "declaration" -> "Deklaration"
  • "dependency" -> "Abhängigkeit"
  • "description" -> "Beschreibung"
  • "directory" -> "Verzeichnis"
  • "file extension" -> "Dateierweiterung"
  • "file name" oder "filename" -> "Dateiname"
  • "form" -> "Formular"
  • "identifier" -> "Bezeichner"
  • "item" -> "Eintrag" (einer Liste, eines Baumes) oder "Element"
  • "key" -> "Taste"
  • "keyword" -> "Schlüsselword"
  • "macro" -> "Makro"
  • "node" -> "Eintrag" (in Bäumen)
  • "object" -> "Objekt"
  • "options" -> "Optionen"
  • "package" -> "Paket"
  • "project" -> "Projekt"
  • "section" -> "Abschnitt" (in Kontext als Abschnitt im Quellcode)
  • "selection" -> "Auswahl"
  • "stack" -> "Stack"
  • "template" -> "Vorlage"
  • "tool(s)" -> "Werkzeug(e)"
  • "unit" -> "Unit"
  • "watch" -> "Überwachter Ausdruck"
  • "xyz file" -> ".xyz-Datei"


  • "for example" -> "Zum Beispiel" oder "Z.B." oder "beispielsweise"
  • "to add" -> "aufnehmen" oder "hinzufügen"
  • "to build" -> "erstellen"
  • "to rebuild" -> "neu erstellen"
  • "to publish" -> "veröffentlichen"
  • "to compile" -> "übersetzen" oder "kompilieren"
  • "to select" -> "auswählen"
  • "to register" -> "registrieren"
  • "to paste" -> "einfügen" (in Zusammenhang mit Zwischenablage)
  • "to convert" -> "konvertieren" oder "umwandeln"

--- überlegenswerte Punkte

  • "unit name" -> "Unitname" oder "Unit-Name"
  • Sollen Pfadangaben im Menü unter Anführungszeichen gestellt werden? (Hier: ja)
  • "view" -> "Ansicht" oder "Anzeige"
  • "ambigious" (falsch buchstabiert) -> ???
  • "free pascal" (und andere Varianten) -> "Free Pascal" oder "Free-Pascal" oder "Freepascal" oder "Free pascal" oder ...
  • "broken dependency" -> "Unterbrochene Abhängigkeit" oder "Zerstörte Abhängigkeit"
  • "to clean" -> "säubern" oder "reinigen" oder "aufräumen" (Im Zusammenhang mit Löschen der alten Daten)


... (to be continued) ...

Die besten Übersetzungen und Wortschöpfungen ;)

Interessante Originaltexte

sonstige Links