Sign in Join
Wiki copytemporary

German localization notes: what changed

Revision 1 to 2. Removed lines have a minus sign; added lines have a plus sign.

OldNewLine
11*This page contains some useful notes and guidelines specific to the German translation of the Lazarus IDE. Since such information is heavily language specific and targeted towards a German speaking translator, the following text is written in German.*
22
33## Einführung
44
55Diese Wiki-Seite enthält (hoffentlich) nützliche Informationen für alle, die bei der deutschen Übersetzung mithelfen wollen. Dies umfasst generelle Informationen über den Übersetzungsvorgang, verwendbare nützliche Software um den Prozess zu vereinfachen, Hinweise für den eigentlichen Vorgang und Informationen über bereits verwendete Übersetzungen für einzelne Begriffe.
66
77## Lazarus übersetzen
88
99In diesem Abschnitt wird kurz das Ziel und der eigentliche Vorgang skizziert, und danach auf spezielle Software zur Arbeitserleichterung verwiesen.
1010
1111### Ziel der Übersetzung
1212
1313Das Ziel der Übersetzung der Texte des Programmes ist zusammengefasst ein professioneller Eindruck: Das umfasst ordentliche Rechtschreibung und Interpunktion und eine dem Programm und dem Benutzer angemessene, gewohnte und möglichst konsistente Wortwahl.
1414
1515In den nächsten Abschnitten wird versucht, hoffentlich nützliche Hinweise und bereits angewandte Richtlinien zur Erreichung dieses Ziel zu zeigen.
1616
1717### Übersetzungsvorgang
1818
1919Lazarus verwendet zur Zeit den GNU gettext()-Mechanismus für seine Übersetzungen.
2020
2121Bei diesem werden die vom Programmierer zur Übersetzung vorgesehenen Zeichenketten in einer speziellen Datei mit der Endung .po abgelegt. Dies ist eine einfache Textdatei in dem die zu übersetzenden Zeichenketten nacheinander abgelegt sind.
2222
2323Beispiel für eine zu übersetzende Zeichenkette im Ursprungszustand (aus der .po-Datei der Lazarus-IDE):
2424
25-`#: lazarusidestrconsts:lismenuproject`\
26-`msgid "&Project"`\
27-`msgstr ""`
25+```text
26+#: lazarusidestrconsts:lismenuproject
27+msgid "&Project"
28+msgstr ""
29+```
2830
2931Die erste Zeile ist ein Kommentar (alle mit '#' beginnenden Zeilen sind Kommentare), der bei der von Lazarus gewählten Methode zur Erstellung der .po-Datei erzeugt wird, und ignoriert werden kann.
3032
3133In der zweiten Zeile befindet sich zwischen den Anführungszeichen die zu übersetzende Zeichenkette. Das in diesem Fall vorhandene '&'-Zeichen gibt, da es sich um einen Menüeintrag handelt, dessen Kurztaste an.
3234
3335Die dritte Zeile muss vom Übersetzer mit der richtigen Übersetzung ausgefüllt werden.
3436
3537Dieser Vorgang wird für möglichst alle Zeichenketten in der Datei wiederholt. Dann wird das zu übersetzende Programm gestartet, die gerade übersetzte Sprache eingestellt und das Ergebnis bewundert...
3638
3739... und in der Theorie wäre das Ergebnis dann auch ordentlich.
3840
3941In der Praxis stellt sich häufig das Problem, dass sich die Übersetzung an den Originaltext hält, dann aber, da vom Kontext losgelöst übersetzt wurde, doch oft völlig unsinnig ist. Außerdem ist so eine Übersetzung, besonders wenn im Team durchgeführt, uneinheitlich. Das ist auch ein Grund weswegen diese Wiki-Seite entstand, siehe weiter unten.
4042
4143Vorher noch ein paar technische Anmerkungen:
4244
4345### Lazarus-spezifische Dateien für die dt. Übersetzung
4446
4547Die für Lazarus zu übersetzenden .PO-Dateien befinden sich im Unterverzeichnis "languages" des Hauptprogramms, mit den Namen "lazaruside.de.po" (für die IDE selbst) und "objinspstrconsts.de.po" (für den Objektinspektor). Die Sprachdateien für Synedit sind in components/synedit, die Datei für die Codetools ist in components/codetools/languages, die Sprachdatei für lcl-Dateien in lcl/languages.
4648
4749### Software
4850
4951Das Arbeiten mit einem Texteditor ist recht mühsam und außerdem sehr fehlerträchtig, daher werden in diesem Abschnitt ein paar verwendete Übersetzungshilfen mit ihren Funktionen kurz vorgestellt:
5052
5153- poEdit (http://poEdit.sourceforge.net/) - folgende Funktionalität:
5254 - Gleichzeitige Ansicht von Original und Übersetzung in einer Liste.
5355 - Farbliche Unterscheidung zwischen bereits übersetztem Text, noch zu übersetzendem Text und gerade übersetztem Text.
5456 - Die Zuweisung zusätzlicher Attribute (frisch übersetzt, überprüft usw.) ist möglich.
5557 - Automatische Erstellung von .MO-Dateien.
5658 - Verfügbar für Windows und Unix/Linux.
5759
5860- KBabel (http://i18n.kde.org/tools/kbabel/):
5961 - nur für Unix/Linux.
6062
6163- POEditor (http://poeditor.com/)
6264 - webbasierte Lokalisierungstool.
6365
6466## Allgemeines bei dt. Übersetzungen
6567
6668In diesem Abschnitt werden kurz einige allgemeine Regeln für die Erstellung von Übersetzungen ins Deutsche erwähnt.
6769
6870- In jedem Teilprojekt sollte abgesprochen werden, welche Rechtschreibung intern gilt. In der IDE ist das die klassische deutsche Schreibung wie sie heute in der FAZ und der Toolbox Anwendung findet ;-)
6971- Die Rechtschreibung sollte durchgängig korrekt sein. Dazu ist es oft notwendig, besonders bei Unklarheiten, in einer verlässlichen Quelle nachschlagen zu können. Für die deutsche Sprache sollte der Duden in einer nicht zu alten Ausgabe die Hauptreferenz darstellen. Da mit der Rechtschreibreform das Duden-Monopol gebrochen ist, sind auch andere Nachschlagewerke zulässig. Pseudo-"Quellen" wie allgemeine Suchmaschinen (Google etc.) sind nicht maßgebend und sollten nicht konsultiert werden.
7072- Die Interpunktion sollte sich an die Standards halten. Stark vereinfacht: Für das Deutsche sind alle Satzzeichen wie Punkt, Komma, Ausrufezeichen usw. direkt an das vorherige Wort zu schreiben, mit *einem* nachfolgendem Leerzeichen. Genaueres kann unter folgendem Link zu [Textverarbeitung](http://www.duden.de/service/download/textverarbeitung_duden1.pdf) nachgeschlagen werden.
7173
7274Und hier noch ein wichtige speziellere Anmerkung:
7375
7476- falls eine bestimmte Wortwahl unglücklich gewählt scheint, sollen eine (oder besser mehrere) professionelle Anwendungen, die eine ähnliche Funktionalität enthalten, nach deren Übersetzung untersucht werden. Dies hilft besonders bei Spezialbezeichnungen von Fachbegriffen oft weiter.
7577
7678## Richtlinien für die deutsche Lazarus-Übersetzung
7779
7880Hier folgen viele Hinweise für die "richtige" Übersetzung speziell der Lazarus-IDE, die sich durch ihre Anwendung bei der aktuellen deutschen Übersetzung als gut herausgestellt haben. Es enthält Erfahrungen aus einigen anderen Anwendungen und Ausprobieren verschiedener Stile, Bemerkungen über häufig vorkommende Fehler in vorigen Versionen der Übersetzung und durch Diskussion mit den Entwicklern erhaltene Information.
7981
8082### Wortwahl und Formulierungen
8183
8284- kein modernes l33t-speak, auch "lockere" Sprache vermeiden. Eine Meldung
8385
84-`"Uupsi, leider hat der Debugger Mist gebaut"`
86+```text
87+"Uupsi, leider hat der Debugger Mist gebaut"
88+```
8589
8690klingt lächerlich, wenn nicht gar peinlich für den Benutzer.
8791
8892- Anglizismen (Denglish) ebenso vermeiden, insbesondere wenn es ein vollständig gleichwertiges Wort oder Ausdruck im Deutschen gibt. Beispiel:
8993
90-`"Viewer" -> "Betrachter"`
94+```text
95+"Viewer" -> "Betrachter"
96+```
9197
9298Und nicht "Viewer" einfach belassen.
9399
94100- höflich, sachlich formulieren, wenn notwendig "Sie"-zen und nicht "Du"zen.
95101- Meldungen werden oft verwendet um dem Benutzer ein Problem zu beschreiben. Es ist vorteilhaft, wirklich das Problem trotz vielleicht anderer Meinung des Originalautors und nicht zum Beispiel den Zustand der IDE zu beschreiben.
96102- Wort-für-Wort-Übersetzungen sind nicht notwendig und manchmal nicht einmal erstrebenswert - die Originalautoren sind auch nur Menschen, deren Gedanken zum Schreibzeitpunkt sicher eher bei technischen Problemen lagen
97103- das gleiche gilt für die Satzstellung, schon um seltsam klingende, aber grammatikalisch korrekte, Formulierungen zu vermeiden. Dabei muss wegen Einschränkungen der Lokalisierungsbibliothek aber darauf geachtet werden, dass die Platzhalter die gleiche relative Position wie vorher behalten.
98104- falls man keine Ahnung hat, was ein englischer Text bedeutet, folgendes versuchen:
99105 - Aus dem Formular dessen Funktion herauslesen: Text in der IDE suchen, ansehen und aus diesem auf die Funktion schließen.
100106 - 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.
101107 - Fragen. Dazu kann entweder die Mailingliste (Link) dienen, der IRC-Kanal (#lazarus-ide@irc.freenode.org) oder das Forum (Link)
102108 - Nicht übersetzen: Es gibt kaum Schlimmeres als ein vollständig falsch oder nur teilweise übersetzter Satz. Auch besteht die Gefahr, dass dieser Text bei einer weiteren Bearbeitung von anderen übersehen wird.
103109
104-`"All packages" -> "Alle Packages"`
110+```text
111+"All packages" -> "Alle Packages"
112+```
105113
106114Besser erst einmal auslassen und entweder auf eine Eingebung warten oder einer anderen Person überlassen. Besser eine gute und vielleicht etwas lückenhafte Übersetzung (zur Not sollte jeder Benutzer einer IDE mit Englisch zurechtkommen) als auf Teufel komm' raus alles übersetzen.
107115
108116- Die Sprache verwenden - Deutsch ist flexibel in der Bildung zusammengesetzter Worte. Solange diese nicht zu Wortmonstern über mehrere Zeilen ausarten, sollten sie anstatt umständlich wirkender Umschreibungen verwendet werden. Außerdem sind Konkatenierungen 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.
109117
110-`"Form load error" -> "Formularladefehler"`
118+```text
119+"Form load error" -> "Formularladefehler"
120+```
111121
112122nicht
113123
114-`"Fehler beim Laden des Formulars"`
124+```text
125+"Fehler beim Laden des Formulars"
126+```
115127
116128für ein (zugegeben extremes) Beispiel; da speziell dieses Beispiel wahrscheinlich nur in einem Erklärungstext vorkommt, könnte man das auch so lassen.
117129
118130- Bei der Übersetzung dürfen (und müssen!) Umlaute geschrieben werden.
119131- Nicht wie oft im Original (Englisch) jedes Wort großschreiben (dort u.U. erlaubt):
120132
121-`Alle Meine Entlein Sind Schon Da`
133+```text
134+Alle Meine Entlein Sind Schon Da
135+```
122136
123137sondern richtig
124138
125-`Alle meine Entlein sind schon da`
139+```text
140+Alle meine Entlein sind schon da
141+```
126142
127143Wir sind hier nicht bei der Werbung =)
128144
129145- bezüglich der verwendeten Wortstellung:
130146 - bei Menübefehlen möglichst die Wortstellung Subjekt-Verb (Infinitiv) verwenden, bei Meldungen der IDE bei (länger dauernden) Aktionen eher Verb-Subjekt.
131147
132-`Lazarus erstellen`
148+```text
149+Lazarus erstellen
150+```
133151
134152Der Befehl an das Programm: "(Du sollst) Lazarus erstellen". Leicht lesbar, und eigentlich Standard für diese Art von Texten.
135153
136154- - Andererseits bei Benachrichtigungen der IDE ist
137155
138-`Erstelle Lazarus`
156+```text
157+Erstelle Lazarus
158+```
139159
140160als Meldung des Programmes an den Benutzer; sozusagen "Erstelle (gerade) Lazarus" als Meldung bei laufendem Vorgang. Auch ist oft die letztere Form länger, da das Verb dann im Deutschen oft aufgeteilt werden muss, im folgenden ein Beispiel:
141161
142-`Datei abspeichern`
162+```text
163+Datei abspeichern
164+```
143165
144166besser:
145167
146-`Datei speichern`
168+```text
169+Datei speichern
170+```
147171
148172Bzw.
149173
150-`Speichere Datei ab`
174+```text
175+Speichere Datei ab
176+```
151177
152178es ist bei Benachrichtigungen der IDE oft mehr Platz vorhanden, daher möglich.
153179
154180- Mehrfachnegationen in Texten wenn möglich vermeiden
155181
156-`"Die Komponente darf nicht auf einem Nicht-TControl abgelegt werden."`
182+```text
183+"Die Komponente darf nicht auf einem Nicht-TControl abgelegt werden."
184+```
157185
158186besser:
159187
160-`"Die Komponente darf nur auf einem TControl abgelegt werden."`
188+```text
189+"Die Komponente darf nur auf einem TControl abgelegt werden."
190+```
161191
162192Ist sogar um einiges kürzer, und sicher leichter verständlich.
163193
164194- Spezifische Verweise auf die LCL nicht übersetzen.
165195
166-`"ImageList-Editor" -> "ImageList-Editor"`
196+```text
197+"ImageList-Editor" -> "ImageList-Editor"
198+```
167199
168200Dies 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.
169201
170202- Aufpassen auf Einzahl und Mehrzahl im Originaltext. Besonders unregelmäßige Endungen werden oft übersehen.
171203- Kurztasten in Menüs möglichst beibehalten, ansonsten besteht die Gefahr von Überschneidungen.
172204
173-`"&Add breakpoint" -> "H&altepunkt hinzufügen"`
205+```text
206+"&Add breakpoint" -> "H&altepunkt hinzufügen"
207+```
174208
175209- Unübliche Abkürzungen vermeiden
176210 - "+" ist kein Ersatz für "und", und "plus" ist erst recht keine Übersetzung
177211
178-`"Zieldateiname+Erweiterung..."`
212+```text
213+"Zieldateiname+Erweiterung..."
214+```
179215
180216- Besondere Vorsicht beim Übersetzen von sehr kurzen Sätzen
181217
182-`"As-Is" `
218+```text
219+"As-Is"
220+```
183221
184222ist nicht
185223
186-`"Wie es ist"`
224+```text
225+"Wie es ist"
226+```
187227
188228sondern soll für die Pascal-Schlüsselwörter "as" und "is" stehen. In solchen Fällen immer den Dialog suchen.
189229
190230### Kleinigkeiten
191231
192232- Die offizielle, standardisierte Einheit für Zeit ist "s". Nicht "sek", "sec" oder ähnliches.
193233- Rufzeichen im Originaltext können oft durch einen einfachen Punkt ersetzt werden.
194234- Der Name des verwendeten Compilers lautet "Free Pascal". Die offizielle Abkürzung ist "FPC".
195235- Wenn möglich, sollten in Fließtexten Abkürzungen vermieden werden, da sie den Schreibfluss hemmen. "Sekunde" ist also noch besser als "s".
196236- Viele Worte sind eigentlich nur Füller. Dazu gehören insbesondere "verwenden" oder auch "erstellen". Sie sollten durch die eigentliche Tätigkeitsbeschreibung ersetzt werden, also bespielsweise "kompilieren" oder "schreiben" statt erstellen.
197237- neue Rechtschreibung: "dass", aber "außerdem"
198238- der, die, das bei Relativsätzen und nicht welcher, welche, welches
199239
200240### GUI-spezifisches
201241
202242Dieser Abschnitt enthält spezielle Richtlinien für Beschriftungen und Texte.
203243
204244- Bezeichnungen von Karteireitern und gruppierenden Elementen (TGroupBox usw.) haben keinen abschließenden Doppelpunkt
205245- Bezeichnungen von Drop-Down-Listen oder Eingabefeldern sollen einen abschließenden Doppelpunkt haben
206246- Niemals mittels Leerzeichen formatieren, gleich richtig positionieren. Das Problem sind sowohl abschließende Leerzeichen, die beim Übersetzungsvorgang einfach verlorengehen, als dass, was auch viel schlimmer ist, bei Änderungen der Schriftart die Abstände nicht mehr passen.
207247- Hinweise auf Menüs in Fließtext sollten durch Anführungszeichen ausgezeichnet, und die Teile der Pfadangabe durch "-\>" getrennt werden.
208248
209-`Bitte überprüfen Sie die Angabe in "Einstellungen->Umgebungseinstellungen->Dateien"`
249+```text
250+Bitte überprüfen Sie die Angabe in "Einstellungen->Umgebungseinstellungen->Dateien"
251+```
210252
211253- Menüeinträge, die Fenster öffnen, sollten im Normalfall drei Punkte am Ende enthalten. Beispiel:
212254
213-`Speichern unter...`
255+```text
256+Speichern unter...
257+```
214258
215259Öffnet einen Dialog zum Speichern von Dateien unter einem anderen Namen.
216260
217261### Oft verwendete Übersetzungen
218262
219263In diesem Abschnitt werden oft verwendete Begriffe die im Zusammenhang mit einer IDE auftreten, gesammelt, und mit deren "Standardübersetzungen" aufgelistet.
220264
221265Hauptwörter:
222266
223267- "ancestor type" -\> "Basistyp"
224268- "backup" -\> "Sicherung"
225269- "block" -\> "Block" (im Sinne von Quelltextblock)
226270- "bookmark" -\> "Lesezeichen"
227271- "breakpoint" -\> "Haltepunkt"
228272- "call stack" -\> "Aufrufstack"
229273- "character map" -\> "Zeichentabelle"
230274- "child node" -\> "Untereintrag" (in einer Liste, einem Baum)
231275- "class" -\> "Klasse"
232276- "code explorer" (und Varianten) -\> "CodeExplorer" - mangels guter Übersetzung diesen als Spezialausdruck behandeln
233277- "code" -\> "Quelltext"
234278- "command" -\> "Anweisung" oder "Befehl"
235279- "compiler" -\> "Compiler"
236280- "component" -\> "Komponente"
237281- "declaration" -\> "Deklaration"
238282- "default" -\> "Standard" oder "Voreinstellung"
239283- "dependency" -\> "Abhängigkeit"
240284- "description" -\> "Beschreibung"
241285- "directory" -\> "Verzeichnis"
242286- "file extension" -\> "Dateiendung"
243287- "file name" oder "filename" -\> "Dateiname"
244288- "font" -\> "Schriftart"
245289- "form" -\> "Formular"
246290- "gutter" -\> "Randleiste" (die normalerweise graue Randleiste links im Quelltexteditor)
247291- "identifier" -\> "Bezeichner"
248292- "item" -\> "Eintrag" (einer Liste, eines Baumes) oder "Element"
249293- "key" -\> "Taste"
250294- "keyword" -\> "Schlüsselwort"
251295- "lazarus" (alle Varianten) -\> "Lazarus"
252296- "library" -\> "Bibliothek"
253297- "macro" -\> "Makro"
254298- "node" -\> "Eintrag" (in Bäumen)
255299- "object" -\> "Objekt"
256300- "options" -\> "Einstellungen"
257301- "package" -\> "Paket"
258302- "project" -\> "Projekt"
259303- "resource" -\> "Ressource"
260304- "resourcestring" -\> "Resourcestring" (Spezialbegriff für Zeichenketten im resourcestring-Abschnitt einer Unit
261305- "section" -\> "Abschnitt" (in Kontext als Abschnitt im Quellcode)
262306- "selection" -\> "Auswahl"
263307- "source" -\> "Quelltext"
264308- "stack" -\> "Stack"
265309- "statement" -\> "Anweisung"
266310- "syntax highlighting" -\> "Syntaxhervorhebung"
267311- "syntax" -\> "Syntax"
268312- "template" -\> "Vorlage"
269313- "tool(s)" -\> "Werkzeug(e)"
270314- "type" -\> "Typ"
271315- "unique" -\> "einzigartig"
272316- "unit name" -\> "Unitname"
273317- "unit" -\> "Unit"
274318- "user" -\> "Benutzer"
275319- "variable" -\> "Variable"
276320- "view" -\> "Ansicht)
277321- "viewer" -\> "Betrachter"
278322- "watch" -\> "Überwachter Ausdruck"
279323- "xyz file" -\> ".xyz-Datei"
280324
281325Verben:
282326
283327- "to add" -\> "aufnehmen" oder "hinzufügen"
284328- "to build" -\> "erstellen"
285329- "to clean" -\> "säubern" oder "aufräumen" (Im Zusammenhang mit Löschen der alten Daten)
286330- "to compile" -\> "kompilieren"
287331- "to convert" -\> "konvertieren" oder "umwandeln"
288332- "to paste" -\> "einfügen" (in Zusammenhang mit Zwischenablage)
289333- "to publish" -\> "veröffentlichen"
290334- "to rebuild" -\> "neu erstellen"
291335- "to register" -\> "registrieren"
292336- "to scan" -\> "durchsuchen" (in Zusammenhang mit Daten)
293337- "to select" -\> "auswählen"
294338- "to transform" -\> "umwandeln"
295339- "to update" -\> "aktualisieren"
296340
297341Sonstiges:
298342
299343- "for example" -\> "Zum Beispiel" oder "Z.B." oder "beispielsweise"
300344- "major.minor.release.build" -\> "Major.Minor.Release.Build" (Spezialbegriff)
301345- "Plz fix the error shown in the message window." -\> "Bitte korrigieren Sie den im Meldungsfenster gezeigten Fehler."
302346- "Sorry" -\> "Entschuldigung"
303347- "unable to \<verb\> xyz" -\> "Konnte xyz nicht \<verb\>"
304348- "use display" -\> "Display verwenden" (Display ist eine X-Windows spezifische Umgebungsvariable)
305349- "broken dependency" -\> "Abhängigkeit nicht erfüllt"
306350
307351Überlegenswerte Punkte
308352
309353- "ambiguous" -\> "unklar" oder "mehrdeutig"
310354
311355## Die besten Übersetzungen und Wortschöpfungen ;-)
312356
313357keine
314358
315359## Interessante Originaltexte
316360
317361- symantec checking - Symantecs Beitrag zu Lazarus - ein integrierter Quelltextvirenscanner ;-)
318362
319363---
320364*From the Free Pascal wiki, page "German localization notes", as it stood on 2015-07-25 after a change by FTurtle, out of the wiki's dump of 2024-05-26. Copyright stays with the author who wrote it, according to the old wiki's [[Licensing]] page. If you have concerns about this material, [message the admin](/wiki-contact).*
321365Category: Deutsch
322366Category: Lazarus/de
323367Category: Localization/de

Back to history