<chapter id="using-kbabel">
<title
>&kbabel; anwenden</title>

<sect1 id="using-introduction">
<title
>Einleitung</title>

<para
></para>

<para
> Jedes internationalisierbare Programm stellt eine oder mehrere Katalogdateien zur Verfügung. Diese Dateien können von den Übersetzern als Vorlage benutzt werden. Die Dateierweiterung dieser Dateien ist <literal role="extension"
>.pot</literal
>. <acronym
>POT</acronym
> ist ein Akronym für <quote
>Portable Object Template</quote
>, oder auf Deutsch <quote
>Portierbare Objektdatei</quote
>.</para>


<para
> </para>

<para
> Jede/r Übersetzer/in füllt die Übersetzung in die jeweilige Sprache in die leeren Felder ein. Die übersetzten Dateien werden als <acronym
>PO</acronym
> (Portable Object) bezeichnet. </para>

<para
>  </para>

<para
> </para>

<para
><acronym
>PO</acronym
>-Dateien bestehen aus Paaren von Nachrichten &mdash; einer <emphasis
>msgid</emphasis
> und einer <emphasis
>msgstr</emphasis
>. Die msgid ist der Originaltext in englisch, die msgstr enthält den von Anführungszeichen (") umgebenen übersetzen Text. Ein Beispiel aus einer <acronym
>PO</acronym
>-Datei ist: <literal
>msgid &quot;Open file&quot;</literal
> und <literal
>msgstr &quot;Datei öffnen&quot;</literal
> </para>

<para
>Leere, sowie mit <literal
>#</literal
> beginnende Zeilen werden ignoriert. Zeilen welche mit # beginnen sind Kommentare, die nützliche Details darüber enthalten, für was die Nachricht benutzt wird. Üblicherweise stehen in den Kommentaren die Quelldatei und die Zeilennummer an der die Nachricht verwendet wird, und wenn vom Programmierer vorgesehen weitere Informationen. &kbabel; Zeigt diese Informationen für jede Nachricht an.</para>

<para
>In einigen Fällen ist das erste msgid-msgstr Paar in der <acronym
>PO</acronym
>-Datei ein Platzhalter, der den Dateivorspann enthält und verschiedene Informationen über die übersetzte <acronym
>PO</acronym
>-Datei enthält. Solche können sein: Programmname, Datum der Übersetzung, der Name des Übersetzers usw.</para>

<para
>  </para>
<para
>  </para>
</sect1>

<sect1 id="using-editor">
<title
>Editor</title>

<para
>Dies ist ein Bildschirmphoto von &kbabel;. &kbabel; verwendet Werkzeugleisten, um Vorgänge zu beschleunigen. Für vielbeschäftigte Anwender gibt es viele Tastenkürzel, um die Arbeit zu beschleunigen. Das Hauptfenster ist in vier Teile unterteilt.</para>

<para
>Das <emphasis
>linke obere</emphasis
> Textfeld kann nicht geändert werden und enthält das Feld msgid aus der geöffneten Übersetzungsdatei und den englischen Text.</para>

<para
>Das <emphasis
>linke untere</emphasis
> Textfeld enthält das Feld msgstr, das zum angezeigten Feld msgid gehört. Hier können Sie den übersetzten Text bearbeiten.</para>

<para
>Der <emphasis
>rechte obere</emphasis
> Bereich zeigt die Kommentare, die für den aktuell zu bearbeitenden Eintrag hinzugefügt wurden.</para>

<para
>Diese können verwendet werden:</para>

<itemizedlist
> <listitem
><para
> um herauszufinden, wie der aktuelle Eintrag von der Anwendung behandelt wird (c-formatiert oder einfach) </para
></listitem
> <listitem
><para
>  </para
></listitem
> <listitem
><para
>  </para
></listitem
> </itemizedlist>

<screenshot
> <screeninfo
>Bildschirmphoto von &kbabel;</screeninfo
> <mediaobject
> <imageobject
> <imagedata fileref="snap1.png" format="PNG"/> </imageobject
> <textobject
><phrase
>Bildschirmphoto von &kbabel;</phrase
></textobject
> </mediaobject
> </screenshot>

<para
>  </para>

<sect2 id="more-kbabel-features">
<title
>Weitere Eigenschaften von &kbabel;</title>

<para
> Jede msgid kann drei Zustände haben: </para>

<variablelist
> <varlistentry
> <term
>nicht übersetzt</term
> <listitem
> <para
> Kein übersetzer Text ist der msgstr zugeordnet </para
> </listitem
> </varlistentry
> <varlistentry
> <term
>fraglich</term
> <listitem
> <para
> <command
>msgmerge</command
> hat probiert einen bereits in der aktuellen PO-Datei übersetzen Text zuzuordnen. Dies funktioniert nur begrenzt, diese Einträge müssen manuell angepasst werden. </para
> </listitem
> </varlistentry
> <varlistentry
> <term
>übersetzt</term
> <listitem
> <para
> Diese msgid ist vollständig übersetzt. </para
> </listitem
> </varlistentry
> </variablelist>

<para
>Der Status des aktuellen Eintrags wird durch zwei LED's angezeigt. Je nach Einrichtung können sich diese entweder in der Statusleiste oder über dem <guilabel
>Editor</guilabel
>fenster befinden. Beide LED's können farblich Ihren Wünschen angepasst werden. Bitte lesen Sie dazu im Abschnitt <link linkend="preferences"
>Einstellungen</link
>, wie Sie diese Einstellungen anpassen können.</para>

</sect2>

</sect1>

<sect1 id="kbabel-features">
<title
>Fortgeschrittene Übersetzung</title>

<para
>  </para>

<sect2 id="kbabel-navigation">
<title
>Navigation in der PO-Datei</title>
<para
></para>
<para
> Alle Befehle zur Navigation befinden sich im Menü <menuchoice
><guimenu
>Gehe zu</guimenu
></menuchoice
>. </para>
<informaltable>
<tgroup cols="2">
<tbody
> <row
> <entry
><para
><keycombo action="simul"
><keycap
>Bild aufwärts</keycap
></keycombo
></para
></entry
> <entry
><para
>Zum vorigen Eintrag gehen </para
></entry
> </row
> <row
> <entry
><para
><keycombo action="simul"
><keycap
>Bild abwärts</keycap
></keycombo
></para
></entry
> <entry
><para
> Zum nächsten Eintrag gehen</para
></entry
> </row
> <row
> <entry
><para
><keycombo action="simul"
>&Strg;<keycap
>Bild aufwärts</keycap
></keycombo
></para
></entry
> <entry
><para
>Zum vorigen fraglichen Eintrag gehen</para
></entry
> </row
> <row
> <entry
><para
><keycombo action="simul"
>&Strg;<keycap
>Bild abwärts</keycap
></keycombo
></para
></entry
> <entry
><para
>Zum nächsten fraglichen Eintrag gehen</para
></entry
> </row
> <row
> <entry
><para
><keycombo action="simul"
>&Alt;<keycap
>Bild aufwärts</keycap
></keycombo
></para
></entry
> <entry
><para
>Zum vorigen nicht übersetzten Eintrag gehen</para
></entry
> </row
> <row
> <entry
><para
><keycombo action="simul"
>&Alt;<keycap
>Bild abwärts</keycap
></keycombo
></para
></entry
> <entry
><para
>Zum nächsten nicht übersetzten Eintrag gehen</para
></entry
> </row
> <row
> <entry
><para
><keycombo action="simul"
>&Shift;<keycap
>Bild aufwärts</keycap
></keycombo
></para
></entry
> <entry
><para
>Zum vorigen fehlerhaften Eintrag gehen</para
></entry
> </row
> <row
> <entry
><para
><keycombo action="simul"
>&Shift;<keycap
>Bild abwärts</keycap
></keycombo
></para
></entry
> <entry
><para
>Zum nächsten fehlerhaften Eintrag gehen</para
></entry
> </row
> <row
> <entry
><para
><keycombo action="simul"
>&Strg;&Shift;<keycap
>Bild aufwärts</keycap
></keycombo
></para
></entry
> <entry
><para
>Zum vorigen fraglichen oder nicht übersetzten Eintrag gehen</para
></entry
> </row
> <row
> <entry
><para
><keycombo action="simul"
>&Strg;&Shift;<keycap
>Bild abwärts</keycap
></keycombo
></para
></entry
> <entry
><para
>Zum nächsten fraglichen oder nicht übersetzten Eintrag gehen</para
></entry
> </row
> </tbody>
</tgroup>
</informaltable>
</sect2>

<sect2 id="kbabel-cleveredit">
<title
>Intelligentes Editieren</title>
<para
><emphasis
>Intelligentes Editieren</emphasis
> bedeutet, dass der Editor Ihnen beim Übersetzen hilft. Der Editor kümmert sich dabei um die Einhaltung von Regeln der PO-Dateien. Er <quote
>maskiert</quote
> &zb; speziellen Zeichen im Text falls notwendig.</para>
<para
> Der Editor unterstützt auch unterschiedliche Zeilenumbrüche. Dies ist sehr nützlich, den normalerweise ignoriert gettext diese einfach. Wenn Sie einen <quote
>richtigen</quote
> Zeilenumbruch einfügen möchten, müssen Sie <userinput
>\n</userinput
> eingeben. Die meisten Übersetzer wissen nicht, dass ein Zeilenumbruch in <acronym
>msgstr</acronym
> keine Leerzeichen zwischen den Zeilen einfügt. Durch das Einfügen eines Leerzeichens am Ende jeder Zeile kann dieses Problem am einfachsten gelöst werden. Dies kann leicht vergessen gehen, darum erledigt dies der Editor automatisch für Sie. </para>
<para
>Die unten stehende Tabelle fasst die Funktionen des <quote
>intelligenten Editierens</quote
> zusammen. </para>

<informaltable>
<tgroup cols="2">
<tbody
> <row
> <entry
><para
><keycombo action="simul"
><keycap
>Tab</keycap
></keycombo
></para
></entry
> <entry
><para
>Fügt <emphasis
>\t</emphasis
> ein</para
></entry
> </row
> <row
> <entry
><para
><keycombo action="simul"
><keycap
>"</keycap
></keycombo
></para
></entry
> <entry
><para
>Fügt <emphasis
>\"</emphasis
> ein</para
></entry
> </row
> <row
> <entry
><para
><keycombo action="simul"
><keycap
>Enter</keycap
></keycombo
></para
></entry
> <entry
><para
>Wenn das letzte Zeichen vor dem Cursor kein Leerzeichen ist, wird ein Leerzeichen eingefügt und eine neue Zeile angefangen.</para
></entry
> </row
><row
> <entry
><para
><keycombo action="simul"
>&Strg;<keycap
>Enter</keycap
></keycombo
></para
></entry
> <entry
><para
>Startet eine neue Zeile ohne zusätzliche Funktion</para
></entry
> </row
> <row
> <entry
><para
><keycombo action="simul"
>&Shift;<keycap
>Enter</keycap
></keycombo
></para
></entry
> <entry
><para
>Fügt <emphasis
>\n</emphasis
> ein und startet eine neue Zeile</para
></entry
> </row
> </tbody>
</tgroup>
</informaltable>
<note
> <para
> Wenn Sie die Leerzeichen sehen möchten, können Sie <guibutton
>Hintergrund hervorheben</guibutton
> und/oder <guibutton
>Leerzeichen mit Punkten markieren</guibutton
> einschalten. Dies kann im Einrichtungsdialog in der Karteikarte <guilabel
>Editieren</guilabel
> <guilabel
>Ansicht</guilabel
> eingestellt werden. </para
> </note>
</sect2>

<sect2 id="kbabel-roughtranslation">
<title
>Automatische Übersetzung</title>
<para
> </para>
<para
> <screenshot
> <screeninfo
>Grobe Übersetzung Dialogbox</screeninfo
> <mediaobject
> <imageobject
> <imagedata fileref="roughtranslation.png" format="PNG"/> </imageobject
> </mediaobject
> </screenshot
> </para>
<para
> In diesem Dialogfenster können Sie angeben, was zu übersetzen ist und die entsprechenden Quellen auswählen. </para>
<para
> Im oberen Teil des Rahmens <guilabel
>Was übersetzen</guilabel
> sind drei Ankreuzfelder (<guilabel
>Nicht übersetzte Einträge</guilabel
>, <guilabel
>Fragliche Einträge</guilabel
> und <guilabel
>Übersetzte Einträge</guilabel
>), um die zu übersetzenden Einträge zu definieren. Üblicherweise werden hier die nicht übersetzen Einträge und die fraglichen Einträge ausgewählt. Sie können jedoch auch bereits übersetzte Eintrage anwählen. </para>
<para
>  </para>
<para
> Als Quelle für die grobe Übersetzung kann jedes verfügbare Wörterbuch benutzt werden. Es gibt eine Liste <guilabel
>Nicht benutzen</guilabel
> und <guilabel
>Benutzen</guilabel
>. Die Wörterbücher werden in der Reihenfolge verwendet wie sie in der Liste <guilabel
>Benutzen</guilabel
> stehen. Wenn das erste Wörterbuch nicht gefunden werden kann, wird das zweite in der Liste benutzt und so weiter. Sie können die Pfeilknöpfe benutzen, um die Wörterbucheinträge zwischen den Listen hin- und her zu bewegen. Vergessen Sie nicht, die Reihenfolge durch Klicken auf die Knöpfe <guibutton
>Aufwärts</guibutton
> und <guibutton
>Abwärts</guibutton
> festzulegen. </para>
<para
> Normalerweise wird &kbabel; jeden grob übersetzen Eintrag als fraglich markieren, weil angenommen wird, dass automatische Übersetzungen vom Übersetzer kontrolliert werden müssen. Wenn Sie 100% sicher sind, dass die automatische Übersetzung richtig ist, oder wenn Sie die Übersetzung sowieso korrekturlesen wollen, können Sie <guilabel
>Veränderte Einträge als fraglich markieren</guilabel
> ausschalten. Um sicher zu gehen, müssen Sie dies in einer erscheinenden Dialogbox bestätigen. </para>
<para
> Wenn Sie alle Einstellungen entsprechend Ihren Wünschen vorgenommen haben, klicken Sie auf den Knopf <guibutton
>Start</guibutton
>, um die automatische Übersetzung zu starten. Es wird eine Fortschrittsanzeige angezeigt. Den Übersetzungsvorgang können Sie jederzeit durch drücken des Knopfs <guibutton
>Anhalten</guibutton
> abbrechen. </para>
</sect2>

<sect2 id="kbabel-validation">
<title
>Die Übersetzung prüfen</title>
<para
></para>
<para
> Tests können nach jeder Änderung am übersetzen Text erfolgen. Diese Tests sind so genannte <emphasis
>automatische</emphasis
> Tests. Diese können in den Einstellungen <link linkend="preferences-editor"
>Einstellungen</link
> eingerichtet werden. Automatische Syntaxtests können bei jedem Speichern der Datei vorgenommen werden. </para>
<para
> Die automatischen Tests können &kbabel; verlangsamen. Wenn Sie einen langsamen Rechner besitzen, sollten Sie die automatischen Tests ausschalten und diese gelegentlich manuell ausführen. Die Tests finden Sie im Menü <menuchoice
><guimenu
>Extras</guimenu
> <guisubmenu
>Tests</guisubmenu
></menuchoice
>. Die Tests werden dann für jeden Eintrag durchgeführt. Fehlerhafte Einträge werden entsprechend markiert. </para>
<variablelist
> <varlistentry
> <term
><guimenuitem
>Syntax prüfen</guimenuitem
></term
> <listitem
> <para
> Dies führt <command
>msgfmt</command
> aus, um die Gültigkeit der PO-Datei aus der Sicht von gettext zu überprüfen. Das Resultat wird angezeigt, und die fehlerhaften <acronym
>msgstr</acronym
>-Einträge entsprechend markiert. </para
> </listitem
> </varlistentry
> <varlistentry
> <term
><guimenuitem
>Argumente prüfen</guimenuitem
></term
> <listitem
> <para
> Fehlerhafte Übersetzungen können die Anwendung zum Absturz bringen. Der gefährlichste Teil sind die Argumente, &zb; für printf-ähnliche Funktionen. Dieser Test vergleicht die Anzahl und den Typ der Argumente in <acronym
>msgid</acronym
> und <acronym
>msgstr</acronym
>. Diese müssen übereinstimmen. </para
> </listitem
> </varlistentry
> <varlistentry
> <term
><guimenuitem
>Tastenkürzel prüfen</guimenuitem
></term
> <listitem
> <para
> GUI-Texte enthalten üblicherweise Tastaturkürzel, &dh; Tasten welche einen schnellen Zugang zu GUI-Elementen erlauben. Diese sind mit speziellen Zeichen markiert, zum Beispiel; &amp; in &kde;. Eine gute Übersetzung enthält diese Tastaturkürzel ebenfalls. Dieser Test informiert Sie über allfällige Probleme in diesem Zusammenhang. Das Tastaturkürzel-Zeichen kann in <guilabel
>Einstellungen</guilabel
> in der Karteikarte <guilabel
>Verschiedenes</guilabel
> definiert werden. </para
> </listitem
> </varlistentry
> <varlistentry
> <term
><guimenuitem
>Nach übersetzter Kontextinformation schauen.</guimenuitem
></term
> <listitem
> <para
> Diese Funktion werden Sie nur für &kde;-Übersetzungen brauchen. Einige Texte sind zu allgemein und müssen speziell, je nach Zusammenhang übersetzt werden. In &kde; wird der Kontext am Anfang der <acronym
>msgid</acronym
> nach den Sonderzeichen <userinput
>:_</userinput
> beschrieben. Einige Übersetzer kennen diese Abmachung nicht und versuchen die Kontextinformation ebenfalls zu übersetzen. Dieser Test versucht diese zu finden. Gefundene übersetzte Kontextinformationen sollten Sie entfernen. </para
> </listitem
> </varlistentry
> <varlistentry
> <term
><guimenuitem
>Pluralformen prüfen</guimenuitem
></term
> <listitem
> <para
> Wenn die <acronym
>msgid</acronym
> als <quote
>Pluralform</quote
> definiert ist, muss die Übersetzung die passende Anzahl durch <userinput
>\n</userinput
> abgegrenzten Übersetzungen beinhalten. Die korrekte Anzahl hängt von der Sprache ab und wird in <guilabel
>Einstellungen</guilabel
> in der Karteikarte <guilabel
>Identität</guilabel
> festgelegt. Diese Funktion ist im Moment nur für &kde; verfügbar. </para
> </listitem
> </varlistentry
> <varlistentry
> <term
><guimenuitem
>Gleichungen prüfen</guimenuitem
></term
> <listitem
> <para
> Gleichungen sind ein spezielles Format von <acronym
>msgid</acronym
>, welche typischerweise in Arbeitsflächendateien (.desktop) benutzt werden. Weil Ihre Übersetzung in diesem Falle mit anderen Dateien zusammengefügt werden, müssen die <acronym
>msgstr</acronym
>'s ebenfalls in diesem speziellen Format vorhanden sein. Das heißt, die Übersetzung muss starten (bis zum ersten Vorkommen von <literal
>=</literal
>) mit dem selben Text wie der Originaleintrag, zum Beispiel <userinput
>Name=</userinput
>. </para
> </listitem
> </varlistentry
> </variablelist>
</sect2>

<sect2 id="kbabel-spellcheck">
<title
>Rechtschreibprüfung in der Übersetzung</title>
<para
>Es ist sehr wichtig, dass Sie Ihre Übersetzung auf allfällige Rechtschreibefehler überprüfen. Auf diese Weise können Sie Tippfehler und andere Probleme in Ihrer Übersetzung finden. &kbabel; benutzt die Standard-&kde;-Bibliothek für Rechtschreibeprüfung. Die Einstellungen dazu können in <link linkend="preferences-spellcheck"
>Einstellungen</link
> gefunden werden. Die Funktion selbst finden Sie unter <menuchoice
><guimenu
>Extras</guimenu
><guisubmenu
>Rechtschreibeprüfung</guisubmenu
></menuchoice
>. Es gibt eine Anzahl verschiedener Modi, die benutzt werden können: </para>
<variablelist
> <varlistentry
> <term
><guimenuitem
>Rechtschreibprüfung...</guimenuitem
></term
> <listitem
> <para
> Dies ist eine allgemeine Dialogbox, in welcher Sie den Modus wählen können, sowie einen Standardmodus festlegen können. Diese Dialogbox kann ebenfalls durch drücken von <keycombo action="simul"
>&Strg;<keycap
>I</keycap
></keycombo
> aufgerufen werden. </para
> </listitem
> </varlistentry
> <varlistentry
> <term
><guimenuitem
>Alles prüfen...</guimenuitem
></term
> <listitem
> <para
> Alle Übersetzungen in der Datei prüfen. </para
> </listitem
> </varlistentry
> <varlistentry
> <term
><guimenuitem
>Rechtschreibeprüfung ab Cursorposition...</guimenuitem
></term
> <listitem
> <para
> Die Rechtschreibprüfung an der Cursorposition in der aktuellen Übersetzung beginnen und bis zum Ende der Datei durchführen. </para
> </listitem
> </varlistentry
> <varlistentry
> <term
><guimenuitem
>Aktuellen Eintrag prüfen...</guimenuitem
></term
> <listitem
> <para
> Die Rechtschreibprüfung nur für den aktuellen Eintrag durchführen. </para
> </listitem
> </varlistentry
> <varlistentry
> <term
><guimenuitem
>Markierten Text prüfen...</guimenuitem
></term
> <listitem
> <para
> Falls es in <acronym
>msgstr</acronym
>einen markierten Text gibt, dann wird die Rechtschreibprüfung nur in diesem ausgewählten Text durchgeführt. </para
> </listitem
> </varlistentry
> </variablelist>
</sect2>

<sect2 id="kbabel-tags">
<title
>Übersetzen von &XML;, <acronym
>HTML</acronym
>, ...</title>
<para
> Markup-Sprachen werden immer mehr auch in <acronym
>GUI</acronym
>'s benutzt. Das &kde;-Projekt benutzt auch <acronym
>PO</acronym
>-Dateien, um DocBook-Dokumentationen zu übersetzen. Diese sind ebenfalls in einer Markup-Sprache geschrieben. &kbabel; enthält einiges an Funktionalität, um diesem Trend nachzukommen. </para>
<note
> <para
> Hier werden nur Funktionen im Zusammenhang mit Tags und Markup erwähnt. Das andere Problem, welches durch die Benutzung von Markup-Sprachen ausgelöst wurde, ist die Übersetzung von längeren Texten. Die Lösung zu diesem heißt <emphasis
>diff</emphasis
> und wird im <link linkend="kbabel-diff"
>folgenden Abschnitt</link
> angesprochen. </para
> </note>
<para
> Die aktuelle Version von &kbabel; kann herausfinden, welche Tags in <acronym
>msgid</acronym
> benutzt werden und bietet einfachen Zugriff zu diesen aus dem Menü <guimenu
>Bearbeiten</guimenu
> an: </para>

<variablelist
> <varlistentry
> <term
> <guimenuitem
>Nächste Formatierung einfügen</guimenuitem
> </term
> <listitem
> <para
> <action
> Dies fügt die nächste in der msgid gefundene Formatierung in die Übersetzung ein. &kbabel; findet die einzufügenden Formatierungen, indem die Anzahl der Formatierungen vom Anfang der Übersetzung zusammengezählt werden. </action
> </para
> </listitem
> </varlistentry
> <varlistentry
> <term
> <menuchoice
> <guimenu
>Bearbeiten</guimenu
> <guisubmenu
>Formatierung einfügen</guisubmenu
> </menuchoice
> </term
> <listitem
> <para
> <action
> Dieses Untermenü enthält alle Formatierungen, die im englischen Originaltext gefunden wurden. Indem Sie eine dieser Formatierungen auswählen, können Sie sie an der aktuellen Cursorposition im Textfeld der Übersetzung einfügen. </action
> </para
> </listitem
> </varlistentry
> </variablelist>
</sect2>

<sect2 id="kbabel-diff">
<title
>Unterschiede (Diff) anzeigen</title>
<para
>  </para>
<para
> &kbabel; kann Ihnen helfen, diese Änderungen zu finden, indem der Unterschied zur originalen <acronym
>msgid</acronym
> angezeigt wird. Die Änderungen werden im Editor für den <guilabel
>Originaltext</guilabel
> grafisch angezeigt. Wie dies geschehen soll, kann im Dialog <link linkend="preferences-editor-appearance"
>Einstellungen</link
> festgelegt werden. <menuchoice
><guimenu
>Extras</guimenu
> <guisubmenu
>Diff</guisubmenu
> <guimenuitem
>Diff anzeigen</guimenuitem
> </menuchoice
> zeigt die gefundenen Änderungen. Um den aktuellen Text ohne Mix mit dem Originaltext anzuschauen, können Sie <menuchoice
><guimenu
>Extras</guimenu
> <guisubmenu
>Diff</guisubmenu
> <guimenuitem
>Originaltext anzeigen</guimenuitem
> </menuchoice
> auswählen. </para>
<para
>  </para>
<para
> Sie können verschiedene Quellen zum Finden von alten Versionen angeben. Diese werden im Dialog <link linkend="preferences-diffmode"
>Einstellungen</link
> angegeben: </para>
<variablelist
> <varlistentry
> <term
>Übersetzungsdatenbank</term
> <listitem
> <para
> Sie können die Übersetzungsdatenbank für die Suche nach Änderungen benutzen. Es wird dringend empfohlen, das automatische Einfügen in die Übersetzungsdatenbank für neu übersetzte Einträge zu aktivieren. Dies können Sie in der Dialogbox <link linkend="database-fill"
>Einstellungen zur Übersetzungsdatenbank</link
> einstellen. Diesen Modus können Sie durch Anwählen von <guilabel
>Benutzen von Einträgen der Übersetzungsdatenbank</guilabel
> aktivieren. </para
> </listitem
> </varlistentry
> <varlistentry
> <term
>Baum der alten Dateien</term
> <listitem
> <para
> Wird nur benutzt, wenn Sie die Suche in der Übersetzungsdatenbank ausgeschaltet haben. Durch Setzen des <guilabel
>Basisverzeichnisses für Diff-Dateien</guilabel
> können Sie &kbabel; anweisen, welche Dateien für die Diff-Anzeigen verwendet werden sollen. Es wird der relative Pfad der geöffneten Datei verwendet, um die korrespondierende Datei im angegeben Pfad zu finden. Falls es eine solche korrespondierende Datei gibt, wird sie verwendet. Um diesen Modus zu verwenden, sollten Sie eine Kopie der alten Dateien vor jeder Aktualisierung erstellen. </para
> </listitem
> </varlistentry
> <varlistentry
> <term
>Manuell ausgewählte Datei</term
> <listitem
> <para
> Wenn die vorgängig beschriebene Methode nicht funktioniert, können Sie jederzeit eine Datei manuell auswählen: <menuchoice
> <guimenu
>Extras</guimenu
><guisubmenu
>Diff</guisubmenu
> <guimenuitem
>Datei für Diff öffnen</guimenuitem
></menuchoice
>. </para
> </listitem
> </varlistentry
> </variablelist>
<note
> <para
> Das Diff-Ergebnis ist nicht immer ganz genau, weil die <acronym
>PO</acronym
>-Datei keinerlei Referenzen zum Originaleintrag enthält. </para
> </note>
</sect2>

</sect1>

<sect1 id="kbabel-pluralforms">
<title
>Pluralformen</title>
<para
> Weil Pluralformen recht kompliziert sind, wird Ihrer Unterstützung in &kbabel; spezielle Aufmerksamkeit gewidmet. </para>
<para
>  </para>
<para
>  </para>
<para
> &kde;-Pluralformen sind im Kommentar mit <userinput
>:_</userinput
> gekennzeichnet und enthalten das Argument <literal
>%n</literal
>. Dieses Argument wird dann im Eintrag selbst benutzt und kontrolliert, welche Pluralform Ihrer Sprache, abhängig von den Regeln für Ihre Sprache, benutzt werden soll. </para>
<para
> Die Übersetzung eines Pluralform-Eintrages erfolgt in einem speziellen Format. Der Text muss die korrekte Anzahl Übersetzungen (für jede Pluralform eine) enthalten. Die Übersetzungen sind unterteilt durch einen Zeilenumbruch <literal
>\n</literal
>. Zum Beispiel: <quote
>Selected %n files</quote
> ins slowakische übersetzt würde folgendermassen aussehen: </para>
<programlisting>

</programlisting>
<para
>  </para>
</sect1>
</chapter>

