<para>Översättningsdatabasen låter dig lagra översättningar i en databas baserad på Berkeley Database IV, dvs. den lagras i en binärfil på disken. Databasen garanterar snabb sökning i ett stort antal översättningar.</para>
<para>Det här läget är det som är bäst integrerat med &kbabel;. Förutom att söka och göra grovöversättningar stöder det också följande funktioner:</para>
<para>Ju fler översättningar som lagras i databasen, desto produktivare kan du naturligtvis bli. För att fylla databasen, kan du använda fliken <guilabel>Databas</guilabel> i inställningsdialogrutan, eller så kan du aktivera automatisk tillägg av varje meddelande som översätts under samma flik.</para>
<para>Du kan anpassa den här sökmetoden och hur den ska användas genom att välja <menuchoice> <guimenuitem>Inställningar</guimenuitem> <guimenuitem>Anpassa ordlista</guimenuitem> <guimenuitem>Översättningsdatabas</guimenuitem> </menuchoice> i &kbabel;s menyrad. </para>
<para>Fliken <guilabel>Allmänt</guilabel> innehåller allmänna inställningar för att söka i databasen. </para>
<para>Returnera bara <quote>bra nycklar</quote>, försök inte ersätta övriga texter. Detta är den snabbaste metoden som tillhandahålls, men kan ge ett ganska stort antal ungefärliga träffar. </para>
<para>Här kan du skriva in tecken som ska ignoreras under sökningen. Ett typiskt exempel är snabbtangentsmarkeringen, t.ex. & för &kde; texter. </para>
<para>Fliken <guilabel>Sök</guilabel> innehåller noggrannare specifikation av hur texten ska sökas. Du kan definiera hur sökningen ska gå till, och tillåter att ett annat speciellt sätt att söka som kallas <emphasis><guilabel>Ordersättning</guilabel></emphasis> används. Genom att ersätta ett eller två ord kan en ungefärlig text också hittas. Antag till exempel att du försöker hitta texten <userinput>Mitt namn är Andrea</userinput>. </para>
<para>Text från databasen matchar om den är likadan som den eftersökta strängen. I vårt exempel kan det vara <emphasis>Mitt namn är &Andrea</emphasis> (om & anges med <guilabel>Tecken som skall ignoreras</guilabel> under fliken <guilabel>Allmänt</guilabel>). </para>
<para>Text från databasen matchar om den eftersökta strängen finns i den. I vårt exempel kan det vara <emphasis>Mitt namn är Andrea, eller hur?</emphasis>. </para>
<para>Text från databasen matchar om den eftersökta strängen innehåller den. I vårt exempel kan det vara <emphasis>Andrea</emphasis>. Du kan använda detta för att räkna upp alla träffar som är möjliga. </para>
<para>Betraktar eftersökt text som ett reguljärt uttryck. Det används i huvudsak för &kbabeldict;. Du kan knappast förvänta dig reguljära uttryck i PO-filer. </para>
<para>Om texten som efterfrågas innehåller färre ord än som anges nedan, försöks också med att byta ut ett av orden i frågan. I vårt exempel hittas också <emphasis>Ditt namn är Andrea</emphasis>. </para>
<para>Fliken <guilabel>Databas</guilabel> tillåter att platsen på disk där databasen lagras definieras (<guilabel>Databaskatalog</guilabel>) och om den ska användas för att automatiskt lagra nya översättningar (<guibutton>Lägg automatiskt posten till databasen</guibutton>). I detta fall bör du ange författaren av nya översättningar i <guilabel>Författare till automatiskt tillagda poster</guilabel>. </para>
<para>Resten av fliken låter dig fylla databasen från befintliga PO-filer. Använd en av knapparna i mitten av dialogrutan. Filladdningens förlopp visas av staplarna under knapparna. Knappen <guilabel>Upprepa strängar</guilabel> ska användas i specialfallet när en översatt sträng upprepas många gånger, och du inte vill lagra för många av dem. Här kan du begränsa lagrade strängar. </para>
<para>Under fliken <guilabel>Bra nycklar</guilabel> finns trösklar som anger hur listan med bra nycklar fylls i. <guilabel>Minsta antal sökord i nyckeln (%)</guilabel> anger just detta. Text måste bara innehålla så många procent av orden för att gälla som bra nyckel. Motsatsen kan anges med <guilabel>Minsta antal ord i nyckeln som också finns i sökningen (%)</guilabel>. Längden på ord kan anges med rutan <guilabel>Maximal längd på listan</guilabel>. </para>
<para>Söktext innehåller ofta ett antal generella ord, t.ex. artiklar. Du kan eliminera ord baserat på frekvensen. Du kan bortse från dem med <guilabel>Bortse från ord med högre frekvens än</guilabel>, eller anse att de alltid finns med <guilabel>Vanliga ord anses finnas i varje nyckel</guilabel>. På detta sätt blir vanliga ord nästan osynliga vid sökningar. </para>
<para>Det här sökläget baseras på att passa ihop samma engelska originalsträng (msgid) översatt till något annat språk i en hjälp-<acronym>PO</acronym>. Det är mycket vanligt att romanska språk har liknande ord, och samma gäller för anglosaxiska och slaviska språk.</para>
<para>Om jag till exempel vill översätta ordet <quote>on</quote> från <filename>tdelibs.po</filename> till rumänska , men inte förstår betydelsen, då tittar jag i samma fil för franska och hittar <foreignphrase lang="fr">actif</foreignphrase>. I den spanska hittar jag <foreignphrase lang="es">activado</foreignphrase>. Därför drar jag slutsatsen att det bästa ordet på rumänska är <foreignphrase lang="ro">active</foreignphrase>. (På engelska kunde ordet förstås ha varit <quote>active</quote> istället för <quote>on</quote>, som skulle ha förenklat översättningsprocessen.) &kbabel; automatiserar den här uppgiften. För närvarande kan du bara ange en hjälpfil att söka i. </para>
<para>Du kan anpassa det här sökmetoden genom att välja <menuchoice> <guimenuitem>Inställningar</guimenuitem> <guimenuitem>Anpassa ordlista</guimenuitem> <guimenuitem>Hjälp-PO</guimenuitem> </menuchoice> i &kbabel;s menyrad.</para>
<para>I dialogrutan <guilabel>Anpassa ordlista Hjälp-PO</guilabel> kan du välja sökvägen till hjälp-<acronym>PO</acronym> filen. För att automatisera byte av <acronym>PO</acronym>-fil när du byter filen som för närvarande redigeras, finns det många variabler som avgränsas med tecknet <literal>@</literal> och ersätts med lämpliga värden:</para>
<listitem><para>Namnet på programmet eller paketet som för närvarande översätts. Det kan till exempel expanderas till kbabel, tdelibs, konqueror och så vidare. </para></listitem>
<listitem><para>där <quote>n</quote> är ett positivt heltal. Det här expanderas till den <quote>n</quote>:e katalogen räknat från filnamnet (från höger till vänster). </para></listitem>
<para>På redigeringsraden visas den verkliga sökvägen till hjälp-<acronym>PO</acronym> filen. Även om det är bäst att använda variablerna som tillhandahålls, är det möjligt att välja en riktig absolut sökväg till en befintlig <acronym>PO</acronym>-fil. Låt oss ge ett exempel.</para>
<para>Det första steget är att ladda ner en mycket färsk <filename>tde-i18n-fr.tar.bz2</filename> från <ulink url="ftp://ftp.kde.org/pub/kde/snapshots/kde-l10n">&kde;:s &FTP;-plats</ulink> eller använda <acronym>CVS</acronym>-arkivet för att hämta det franska översättningsträdet till hårddisken. Jag lägger det under <filename>/home/clau/cvs-cvs.kde.org/tde-i18n/fr</filename>.</para>
<para>Min <acronym>PO</acronym>-källkatalog finns under <filename>/home/clau/cvs-cvs.kde.org/tde-i18n/ro</filename>. Glöm inte att välja <guilabel>Hjälp-PO</guilabel> som förvald ordlista och markera <guilabel>Starta sökning automatiskt</guilabel> under fliken <guilabel>Sök</guilabel> i &kbabel;s dialogruta <guilabel>Inställningar</guilabel>.</para>
<para>Ett kompendium är en fil som innehåller en samling av alla översatta meddelanden (par av <acronym>msgid</acronym> och <acronym>msgstr</acronym>) för ett projekt, t.ex. i &kde;. Ett kompendium för ett givet språk skapas genom att slå ihop alla <acronym>PO</acronym>-filer i projektet för språket. Ett kompendium kan innehålla översatta, oöversatta och inexakta meddelanden. Oöversatta ignoreras av den här modulen. </para>
<para>På liknande sätt som hjälp-<acronym>PO</acronym>, är det här sökläget baserat på att passa ihop <quote>samma</quote> originaltext (<acronym>msgid</acronym>) i ett kompendium. För närvarande kan du bara ange ett kompendium att söka i. </para>
<para>Det här läget är mycket användbart om du inte använder översättningsdatabasen och du vill åstadkomma konsekvent översättning jämfört med övriga. Förresten, det är mycket lättare att dela kompendium med andra översättare och till och med andra översättningsprojekt, eftersom de också kan skapas av dem. </para>
<para>Du kan anpassa det här sökmetoden genom att välja <menuchoice> <guimenuitem>Inställningar</guimenuitem> <guimenuitem>Anpassa ordlista</guimenuitem> <guimenuitem>PO-kompendium</guimenuitem> </menuchoice> i &kbabel;s menyrad. </para>
<para>I dialogrutan <guilabel>Anpassa ordlista PO-kompendium</guilabel> kan du välja sökvägen till ett kompendium. För att automatisera byte av kompendium när du byter språket som översätts, finns det en variabel som avgränsas med tecknet <literal>@</literal> som ersätts av ett lämpligt värde:</para>
<para>På redigeringsraden visas den verkliga sökvägen till kompendium <acronym>PO</acronym>-filen. Även om det är bäst att använda variablerna som tillhandahålls, är det möjligt att välja en riktig absolut sökväg till en befintlig <acronym>PO</acronym>-fil som ska användas som kompendium.</para>
<para>För att få ett riktigt färskt kompendium för &kde;-översättning av t.ex. svenska, så kan du ladda ner <filename>sv.messages.bz2</filename> från <ulink url="ftp://ftp.kde.org/pub/kde/snapshots/kde-l10n">&kde;:s &FTP;-plats</ulink>. </para>
<para>Du kan definiera hur sökning i kompendium ska gå till med alternativen nedanför sökvägen. De är uppdelade i två grupper: alternativ för textjämförelse, där du kan ange hur texten jämförs och om inexakta strängar ska ignoreras, och textmatchningsalternativ, som avgör om översättningen från ett kompendium ska vara en deltext av söktexten eller vice versa.</para>
<para>Om inexakta meddelanden i ett kompendium ska ignoreras vid sökning. Ett kompendium kan innehålla inexakta strängar, eftersom det normalt skapas genom att slå ihop <acronym>PO</acronym>-filerna i projektet, som kan innehålla inexakta meddelanden. Oöversatta ignoreras alltid (du kan inte söka efter en översättning i oöversatta meddelanden, eller hur?)</para>
<para>En text i kompendiet passar ihop med söktexten bara om den är <quote>liknande</quote>. Båda texterna jämförs med korta teckensekvenser (<quote>3-gram</quote>) och åtminstone hälften av sekvenserna måste vara samma. </para>