<chapter id="dictionaries">
<title
>Wörterbücher</title>

<para
>&kbabel; kennt drei verschiedene Modi, die verwendet werden können, um nach übersetzten Texten zu suchen:</para>

<itemizedlist
> <listitem
> <para
>Übersetzungen suchen unter Verwendung der Übersetzungdatenbank. </para
> </listitem
> <listitem
> <para
>Grobe Übersetzung </para
> </listitem
> <listitem
> <para
>&kbabeldict; </para
> </listitem
> </itemizedlist>

<sect1 id="database">
<!-- FIXME: settings -->
<title
>Übersetzungsdatenbank</title>

<para
>Die Übersetzungsdatenbank ermöglicht das Speichern von Übersetzungen in einer Datenbank, die auf Berkeley Database II aufbaut; &dh;, dass sie in einer Binärdatei auf der Festplatte gespeichert werden. Die Verwendung einer Datenbank stellt sicher, dass eine Suche sehr schnell in einer großen Anzahl Übersetzungen durchgeführt werden kann.</para>

<para
>Dieser Modus ist derjenige, der am besten in &kbabel; integriert ist. Neben dem Suchen und der groben Übersetzung werden auch folgenden Funktionen unterstützt:</para>

<itemizedlist
> <listitem
> <para
>Jede neue Übersetzung, die in &kbabel; erstellt wurde, kann automatisch in der Datenbank gespeichert werden.</para
> </listitem
> <listitem
> <para
>Diese Datenbank kann verwendet werden, um Unterschiede zwischen den Originaltexten (<quote
>diff</quote
>) zu erkennen.</para
> </listitem
> </itemizedlist>

<para
>Natürlich können Sie um so produktiver sein, je mehr Übersetzungen in der Datenbank gespeichert sind. Um die Datenbank mit Einträgen zu füllen, können Sie die Karteikarte <guilabel
>Datenbank</guilabel
> im Einstellungsdialog verwenden oder das automatische Hinzufügen von allen übersetzten Einträgen auf der gleichen Karteikarte aktivieren.</para>

<sect2 id="database-settings">
<title
>Einstellungen</title>
<para
> Den Suchmodus und wie er verwendet werden soll, können Sie im Menü von &kbabel; unter <menuchoice
><guisubmenu
>Einstellungen</guisubmenu
> <guisubmenu
>Wörterbuch einrichten</guisubmenu
> <guimenuitem
>Übersetzungsdatenbank</guimenuitem
></menuchoice
> einrichten. </para>
<para
> Die Karteikarte <guilabel
>Allgemein</guilabel
> enthält allgemeine Einstellungen zum Suchen in der Datenbank. </para>
<variablelist
> <varlistentry
> <term
><guilabel
>Die gesamte Datenbank durchsuchen (langsam)</guilabel
></term
> <listitem
> <para
> Durchsucht nicht nur die vorsortierten Einträge (<quote
>good keys</quote
>, sondern sucht in der gesamten Datenbank. Diese Methode ist zwar langsamer, wird aber die genauesten Resultate liefern. </para
> </listitem
> </varlistentry
> <varlistentry
> <term
><guilabel
>In vorsortierten Einträgen suchen (beste Methode)</guilabel
></term
> <listitem
> <para
> Sucht nur in bereits vorsortierten Einträgen (<quote
>good keys</quote
>). Mit dieser Methode erzielen Sie gewöhnlich die besten Ergebnisse hinsichtlich des Verhältnisses zwischen Geschwindigkeit und exakter Suche. </para
> </listitem
> </varlistentry
> <varlistentry
> <term
><guilabel
>Vorsortierte Einträge zurückliefern (schnell)</guilabel
></term
> <listitem
> <para
> Einfach nur die vorsortierten Einträge (<quote
>good keys</quote
>) zurückliefern. Dies ist die schnellste Methode, kann aber in einer sehr großen Anzahl an ungenauen Einträgen resultieren. </para
> </listitem
> </varlistentry
> <varlistentry
> <term
><guibutton
>Groß-/Kleinschreibung beachten</guibutton
></term
> <listitem
> <para
> Die Groß- und Kleinschreibung von Buchstaben bei der Suche berücksichtigen. </para
> </listitem
> </varlistentry
> <varlistentry
> <term
><guibutton
>Leerzeichen normalisieren</guibutton
></term
> <listitem
> <para
> Unnötige Leerzeichen in den Texten werden übersprungen, sodass kleine Unterschiede, &zb; bei der Anzahl der Leerzeichen, ignoriert werden. </para
> </listitem
> </varlistentry
> <varlistentry
> <term
><guibutton
>Kontextinformationen entfernen</guibutton
></term
> <listitem
> <para
> Kontextinformationen werden bei der Suche nicht berücksichtigt. Gewöhnlich wird diese Einstellung aktiviert sein. </para
> </listitem
> </varlistentry
> <varlistentry
> <term
><guilabel
>Zu ignorierende Zeichen</guilabel
></term
> <listitem
> <para
>Hier können Sie die Zeichen eingeben, die bei der Suche nicht berücksichtigt werden sollen. Ein typisches Beispiel ist das Zeichen für Tastenkürzel, &dh; &amp; in &kde;-Texten. </para
> </listitem
> </varlistentry
> </variablelist>
<para
> Die Karteikarte <guilabel
>Suche</guilabel
> enthält genauere Einstellungen für die Textsuche. Sie können festlegen, wie gesucht werden soll. Außerdem ist es möglich, eine weitere spezielle Form der Suche zu verwenden, genannt <emphasis
><guilabel
>Wortersetzung</guilabel
></emphasis
>. Durch die Ersetzung von einem oder mehreren Worten kann auch Text gefunden werden, der nicht vollständig mit der genauen Übersetzung übereinstimmt. Lassen Sie uns annehmen, dass Sie nach dem Text <userinput
>My name is Andrea</userinput
> suchen. </para>
<variablelist
> <varlistentry
> <term
><guilabel
>Gleich</guilabel
></term
> <listitem
> <para
> Text aus der Datenbank stimmt überein, wenn er gleich dem Suchbegriff ist. In unserem Beispiel könnte das <emphasis
>My name is &amp;Andrea</emphasis
> sein (aber nur, wenn &amp; in der Liste der Zeichen in <guilabel
>Zu ignorierende Zeichen</guilabel
> auf der Karteikarte <guilabel
>Allgemein</guilabel
> enthalten ist). </para
> </listitem
> </varlistentry
> <varlistentry
> <term
><guilabel
>Suchanfrage ist enthalten</guilabel
></term
> <listitem
> <para
> Text aus der Datenbank stimmt überein, wenn der gesuchte Text darin enthalten ist. In unserem Beispiel könnte das <emphasis
>My name is Andrea, you know?</emphasis
> sein. </para
> </listitem
> </varlistentry
> <varlistentry
> <term
><guilabel
>Suchanfrage enthält</guilabel
></term
> <listitem
> <para
> Text aus der Datenbank stimmt überein, wenn er im gesuchten Text enthalten ist. In unserem Beispiel könnte das <emphasis
>Andrea</emphasis
> sein. Sie können dies verwenden, um die zu findenden Möglichkeiten aufzuzählen. </para
> </listitem
> </varlistentry
> <varlistentry
> <term
><guibutton
>Regulärer Ausdruck</guibutton
></term
> <listitem
> <para
> Den zu suchenden Text als regulären Ausdruck betrachten. Dies wird hauptsächlich in &kbabeldict; verwendet. In Übersetzungsdateien werden Sie kaum reguläre Ausdrücke finden. </para
> </listitem
> </varlistentry
> <varlistentry
> <term
><guibutton
>Einzelwort-Ersetzung benutzen</guibutton
></term
> <listitem
> <para
> Falls der zu suchende Text weniger Worte enthält als die Anzahl, die Sie im Drehfeld darunter festlegen können, dann wird auch versucht, einzelne Worte im Suchbegriff zu ersetzen. In unserem Beispiel könnte das Suchergebnis damit auch <emphasis
>Your name is Andrea</emphasis
> sein. </para
> </listitem
> </varlistentry
> <varlistentry
> <term
><guibutton
>Maximale Anzahl Wörter in der Anfrage</guibutton
></term
> <listitem
> <para
> Die maximale Anzahl der Wörter, die eine Suchanfrage enthalten kann, sodass Einzelwort-Ersetzung möglich ist. </para
> </listitem
> </varlistentry
> <varlistentry
> <term
><guilabel
>Lokale Zeichen für Regulären Ausdruck</guilabel
></term
> <listitem
> <para
> Zeichen, die als Teil von regulären Ausdrücken betrachtet werden sollen. </para
> </listitem
> </varlistentry
> </variablelist>
<note
> <para
> Zweiwort-Ersetzung ist noch nicht verfügbar. </para
> </note>
</sect2>

<sect2 id="database-fill">
<title
>Einträge zur Datenbank hinzufügen</title>
<para
> Auf der Karteikarte <guilabel
>Datenbank</guilabel
> können Sie festlegen, wo auf der Festplatte die Datenbank gespeichert wird (<guilabel
>Datenbankverzeichnis</guilabel
>) und ob für sie das automatische Hinzufügen von Einträgen aktiviert sein soll (<guibutton
>Einträge automatisch der Datenbank hinzufügen</guibutton
>). In diesem Fall sollten Sie den Autor für diese neuen Einträge unter <guilabel
>Autor für automatisch hinzugefügte Einträge</guilabel
> festlegen. </para>
<para
> Der restliche Bereich der Karteikarte bietet Funktionen, mit denen Sie Einträge aus bereits existierenden Übersetzungsdateien zur Datenbank hinzufügen können. Verwenden Sie dazu einen der Knöpfe im mittleren Bereich der Karteikarte. Wie weit das Einlesen der Dateien fortgeschritten ist, können Sie in der Fortschrittsanzeige unter den Knöpfen sehen. Der Knopf <guilabel
>Repeated Strings</guilabel
> sollte verwendet werden, wenn ein übersetzter Eintrag sehr oft wiederholt wird, sodass nicht zu viele davon gespeichert werden. Sie können hier die Obergrenze der zu speichernden Einträge festlegen. </para>
<screenshot
> <screeninfo
>Einträge zur Datenbank hinzufügen</screeninfo
> <mediaobject
> <imageobject
> <imagedata fileref="dbcan.png" format="PNG"/> </imageobject
> <textobject
><phrase
>Einträge existierender Übersetzungsdateien zur Datenbank hinzufügen.</phrase
></textobject
> </mediaobject
> </screenshot
></sect2>

<sect2 id="database-goodkeys">
<title
>Vorsortierte Einträge definieren</title>
<para
> Auf der Karteikarte <guilabel
>Vorsortierte Einträge</guilabel
> lässt sich angeben, wie die Liste der vorsortierten Einträge erstellt wird. <guilabel
>Minimaler Anteil der Suchwörter (%)</guilabel
> gibt an, wie groß der Anteil der Suchbegriffe mindestens sein muss, damit ein Text in die Liste der vorsortierten Einträge aufgenommen wird. Sie können außerdem den <guilabel
>Minimalen Anteil der vorhandenen Suchwörter im Eintrag</guilabel
> festlegen. Die maximale Anzahl der vorsortierten Einträge kann im Drehfeld <guilabel
>Maximale Größe der Liste</guilabel
> festgelegt werden. </para>
<para
>Der durchsuchte Text enthält gewöhnlich viele allgemeine Wörter, &zb; Artikel. Sie können diese Wörter unberücksichtigt lassen, abhängig von Ihrer Häufigkeit. Sie können <guilabel
>Wörter übergehen, die häufiger sind als</guilabel
> die festgelegt Anzahl. Auf diese Weise werden solche häufigen Wörter praktisch unsichtbar für die Suchanfragen. </para>
</sect2>
</sect1>


<sect1 id="auxiliary">
<title
>PO-Hilfsdatei</title>

<para
>Dieser Suchmodus basiert auf den gleichen englischen Originaltexten, die bereits in eine andere Sprache übersetzt wurden und sich in einer <acronym
>PO</acronym
>-Hilfsdatei befinden. Bei romanischen Sprachen sind viele Wörter ähnlich, das gleiche gilt für angelsächsische und slawische Sprachen.</para>

<para
>Sie möchten &zb; das Wort <quote
>on</quote
> aus der Datei <filename
>kdelibs.po</filename
> ins Rumänische übersetzen, haben aber keine Ahnung, was es bedeutet. In der französischen Übersetzung der Datei finden Sie <quote
>actif</quote
> und in der spanischen <quote
>activado</quote
>. Sie könnten daraus schließen, dass die beste Übersetzung für Rumänisch <quote
>activ</quote
> ist. &kbabel; automatisiert diese Aufgabe. Gegenwärtig können Sie nur eine Hilfsdatei für die Suche einrichten.</para>

<sect2 id="auxiliary-settings">
<title
>Einstellungen</title>
<para
> Sie können diesen Suchmodus durch Auswahl von <menuchoice
> <guisubmenu
>Einstellungen</guisubmenu
> <guisubmenu
>Wörterbuch einrichten</guisubmenu
> <guimenuitem
>PO-Hilfsdatei</guimenuitem
> </menuchoice
> aus dem Menü von &kbabel; einrichten.</para>

<para
>Im Dialog <guilabel
>Wörterbuch PO-Hilfsdatei einrichten</guilabel
> können Sie den Pfad zur <acronym
>PO</acronym
>-Hilfsdatei festlegen. Um das Umschalten zwischen den Übersetzungsdateien zu vereinfachen, gibt es einige durch <acronym
>@</acronym
> gekennzeichnete Variablen, die durch ihre entsprechenden Werte ersetzt werden:</para>

<variablelist
> <varlistentry
> <term
>@PACKAGE@</term
> <listitem
><para
> Der Name des gerade übersetzten Programms oder Pakets. Dies kann &zb; eine Ersetzung für kbabel, kdelibs oder konqueror sein. </para
></listitem
> </varlistentry
> <varlistentry
> <term
>@LANG@</term
> <listitem
><para
> Das Sprachenkürzel. Kann &zb; eine Ersetzung für de, ro, fr &usw; sein. </para
></listitem
> </varlistentry
> <varlistentry
> <term
>@DIRn@</term
> <listitem
><para
> wobei <quote
>n</quote
> eine positive ganze Zahl ist. Dies wird ersetzt durch das <quote
>n</quote
>-te Verzeichnis, gezählt vom Dateinamen an (von rechts nach links). </para
></listitem
> </varlistentry
> </variablelist>

<para
>Im Textfeld für die Eingabe wird der Pfad zur <acronym
>PO</acronym
>-Hilfsdatei angezeigt. Obwohl es das beste ist, die vorhandenen Variablen anzuwenden, können Sie hier natürlich auch einen absoluten Pfad zu einer existierenden Hilfsdatei angeben. Hier ein Beispiel:</para>

<para
>Ich bin ein Rumäne, habe etwas Kenntnis von Französisch und arbeite an der Übersetzung von &kde;.</para>

<para
>Der erste Schritt ist, entweder die neueste Version der Datei <filename
>kde-i18n-fr.tar.bz2</filename
> von der Seite <ulink url="ftp://ftp.kde.org/pub/kde/snapshots/current/kde-i18n"
>&kde;-&FTP;</ulink
> herunterzuladen oder <acronym
>CVS</acronym
> zu verwenden, um einen aktuellen Verzeichnisbaum mit den französischen Übersetzungen auf die Festplatte zu bekommen. Nehmen wir an, dieses Verzeichnis auf meiner Festplatte heißt <filename
>/home/clau/cvs-cvs.kde.org/kde-i18n/fr</filename
>.</para>

<para
>Das Verzeichnis mit den rumänischen Übersetzungen heißt bei mir <filename
>/home/clau/cvs-cvs.kde.org/kde-i18n/ro</filename
>. Vergessen Sie auch nicht, in der Kategorie <guilabel
>Suchen</guilabel
> des Dialoges <guilabel
>Einstellungen</guilabel
> von &kbabel; die <guilabel
>PO-Hilfsdatei</guilabel
> als Standard-Wörterbuch auszuwählen und <guilabel
>Suche automatisch starten</guilabel
> zu aktivieren.</para>

</sect2>
</sect1>

<sect1 id="compendium">
<!-- FIXME: examples -->
<title
>PO-Kompendium</title>

<para
>Ein Kompendium ist eine Datei, die eine Sammlung aller Übersetzungen (Paare von <acronym
>msgid</acronym
> und <acronym
>msgstr</acronym
>) für ein Projekt wie &zb; &kde; enthält. Gewöhnlich wird so ein Kompendium für eine bestimmte Sprache durch das Aneinanderhängen aller Übersetzungsdateien des Projektes für diese Sprache erstellt. Das Kompendium kann übersetzte, nicht übersetzte und fragliche Einträge enthalten. Die nicht übersetzten werden in diesem Modul ignoriert. </para>

<para
>Ähnlich zur <acronym
>PO</acronym
>-Hilfsdatei basiert dieser Suchmodus auf <quote
>gleichen</quote
> Originaltexten (<acronym
>msgid</acronym
>s) im Kompendium. Gegenwärtig können Sie nur ein Kompendium für die Suche einrichten. </para>

<para
>Dieser Suchmodus ist sehr sinnvoll, wenn Sie die Übersetzungsdatenbank nicht verwenden und trotzdem konsistente Übersetzungen erhalten möchten. Kompendium-Dateien können übrigens viel einfacher von anderen Übersetzern oder anderen Übersetzungsprojekt mitbenutzt werden, da sie auch für diese Übersetzer erstellt werden können. </para>

<sect2 id="compendium-settings">
<title
>Einstellungen</title>

<para
> Sie können diesen Suchmodus einrichten, indem Sie <menuchoice
> <guisubmenu
>Einstellungen</guisubmenu
> <guisubmenu
>Wörterbuch einrichten</guisubmenu
> <guimenuitem
>PO-Kompendium</guimenuitem
> </menuchoice
> aus dem Menü von &kbabel; wählen. </para>

<para
>Im Dialog <guilabel
>Wörterbuch PO-Kompendium einrichten</guilabel
> können Sie den Pfad zu einer Kompendium-Datei angeben. Um das Umschalten zwischen den Kompendium-Dateien zu vereinfachen, gibt es eine durch <acronym
>@</acronym
> gekennzeichnete Variable, die durch ihren entsprechenden Wert ersetzt wird:</para>

<variablelist
> <varlistentry
> <term
>@LANG@</term
> <listitem
><para
> Das Sprachenkürzel. Kann &zb; eine Ersetzung für de, ro, fr &usw; sein. </para
></listitem
> </varlistentry
> </variablelist>

<para
>Im Textfeld für die Eingabe wird der Pfad zur Kompendium-Datei angezeigt. Obwohl es das beste ist, die vorhandene Variable zu verwenden, können Sie hier natürlich auch einen absoluten Pfad zu einer existierenden Übersetzungsdatei angeben, die als Kompendium eingesetzt werden soll.</para>

<para
>Ein ganz aktuelles Kompendium für die &kde;-Übersetzung &mdash; &zb; das Französische mit dem Dateinamen <filename
>fr.messages.bz2</filename
> &mdash; können Sie auf der Seite <ulink url="ftp://ftp.kde.org/pub/kde/snapshots/current/kde-i18n"
>&kde; &FTP;</ulink
> herunterladen. </para>

<para
>Mit den Optionen unter dem Eingabefeld für den Pfad können Sie festlegen, wie im Kompendium gesucht werden soll. Die Einstellungen sind in zwei Gruppen unterteilt: Einstellung zur Übereinstimmung von Text (wo Sie &zb; festlegen können, wie der Text verglichen werden soll und ob fragliche Einträge ignoriert werden sollen) und Einstellungen zur Übereinstimmung von Einträgen (wo Sie festlegen können, wann ein gefundener Text mit dem gesuchten Text übereinstimmt).</para>

<variablelist
> <varlistentry
> <term
><guilabel
>Groß-/Kleinschreibung beachten</guilabel
></term
> <listitem
> <para
> Ob die Suche nach Übereinstimmungen im Kompendium zwischen Groß- und Kleinschreibung unterscheiden soll. </para
> </listitem
> </varlistentry
> <varlistentry
> <term
><guilabel
>Fragliche Einträge übergehen</guilabel
></term
> <listitem
> <para
> Ob die fraglichen Einträge im Kompendium für die Suche ignoriert werden sollen. Das Kompendium kann fragliche Einträge erhalten, da es gewöhnlich durch das Aneinanderhängen aller Übersetzungsdateien (und diese können eben fragliche Einträge enthalten) für ein Projekt erstellt wird. Nicht übersetzte Einträge werden immer ignoriert &mdash; man kann nun mal keine Übersetzungen in nicht übersetzten Einträgen finden.</para
> </listitem
> </varlistentry
> <varlistentry
> <term
><guilabel
>Nur ganze Wörter</guilabel
></term
> <listitem
> <para
> Ob der gefundene Text an Wortgrenzen beginnen und enden soll. </para
> </listitem
> </varlistentry
> <varlistentry
> <term
>Ein gefundener Text stimmt überein, wenn er <guilabel
>gleich dem gesuchten Text ist</guilabel
></term
> <listitem
> <para
> Ein Text im Kompendium stimmt mit dem gesuchten Text nur überein, wenn er exakt gleich ist (wenn die obige Einstellung aktiviert ist). </para
> </listitem
> </varlistentry
> <varlistentry
> <term
>Ein gefundener Text stimmt überein, wenn er <guilabel
>ähnlich dem gesuchten Text ist</guilabel
></term
> <listitem
> <para
> Ein Text im Kompendium stimmt mit dem gesuchten Text nur überein, wenn er <quote
>ähnlich</quote
> ist. Beide Texte werden in Buchstabengruppen unterteilt, und mindestens die Hälfte dieser Gruppen muss übereinstimmen. </para
> </listitem
> </varlistentry
> <varlistentry
> <term
>Ein gefundener Text stimmt überein, wenn er <guilabel
>den gesuchten Text enthält</guilabel
></term
> <listitem
> <para
> Ein Text im Kompendium stimmt mit dem gesuchten Text überein, wenn er den gesuchten Text enthält.</para
> </listitem
> </varlistentry
> <varlistentry
> <term
>Ein gefundener Text stimmt überein, wenn er <guilabel
>im gesuchten Text enthalten ist</guilabel
></term
> <listitem
> <para
> Ein Text im Kompendium stimmt mit dem gesuchten Text überein, wenn er im gesuchten Text enthalten ist. </para
> </listitem
> </varlistentry
> <varlistentry
> <term
>Ein gefundener Text stimmt überein, wenn er <guilabel
>ein Wort des gesuchten Textes enthält</guilabel
></term
> <listitem
> <para
> Die Texte werden in einzelne Wörter unterteilt. Ein Text im Kompendium stimmt nur mit dem gesuchten Text überein, wenn er mindestens ein Wort des Suchtextes enthält. </para
> </listitem
> </varlistentry
> </variablelist>
</sect2>
</sect1>
</chapter>

