<chapter id="dictionaries">
<title
>Ordlistor</title>

<para
>&kbabel; har tre lägen som kan användas för att söka efter översatta <acronym
>PO</acronym
>-meddelanden:</para>

<itemizedlist
> <listitem
> <para
>Söka en översättning, med en översättningsdatabas </para
> </listitem
> <listitem
> <para
>Grovöversättning </para
> </listitem
> <listitem
> <para
>&kbabeldict; </para
> </listitem
> </itemizedlist>

<sect1 id="database">
<!-- FIXME: settings -->
<title
>Översättningsdatabas</title>

<para
>Översättningsdatabasen låter dig lagra översättningar i en databas baserad på Berkeley Database II, 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>

<itemizedlist
> <listitem
> <para
>Varje ny översättning som skrivs in i &kbabel;-editorn kan automatiskt lagras i databasen.</para
> </listitem
> <listitem
> <para
>Databasen kan användas för att <quote
>jämföra</quote
> <acronym
>msgid</acronym
>.</para
> </listitem
> </itemizedlist>

<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>

<sect2 id="database-settings">
<title
>Inställningar</title>
<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>
<variablelist
> <varlistentry
> <term
><guilabel
>Sök i hela databasen (långsam)</guilabel
></term
> <listitem
> <para
> Använd inte <quote
>bra nycklar</quote
>, utan sök i hela databasen. Detta är långsamt, men returnerar det noggrannaste resultatet. </para
> </listitem
> </varlistentry
> <varlistentry
> <term
><guilabel
>Sök i listan över "bra nycklar" (bäst)</guilabel
></term
> <listitem
> <para
> Använd strategin med <quote
>bra nycklar</quote
>. Detta alternativ ger bäst kompromiss mellan snabbhet och exakta träffar. </para
> </listitem
> </varlistentry
> <varlistentry
> <term
><guilabel
>Returnera listan över "bra nycklar" (snabbt)</guilabel
></term
> <listitem
> <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
> </listitem
> </varlistentry
> <varlistentry
> <term
><guibutton
>Skiftlägeskänslig</guibutton
></term
> <listitem
> <para
> Skiljer på små och stora bokstäver vid sökning efter texten. </para
> </listitem
> </varlistentry
> <varlistentry
> <term
><guibutton
>Normalisera blanksteg</guibutton
></term
> <listitem
> <para
> Hoppa över onödiga blanktecken i texter, så att sökningen ignorerar små skillnader i blanktecken, t.ex. antal mellanslag i texten. </para
> </listitem
> </varlistentry
> <varlistentry
> <term
><guibutton
>Ta bort sammanhangskommentar</guibutton
></term
> <listitem
> <para
> Inkludera inte kommentarer i sökningen. Du ska normalt ha detta aktiverat. </para
> </listitem
> </varlistentry
> <varlistentry
> <term
><guilabel
>Tecken som ska ignoreras</guilabel
></term
> <listitem
> <para
>Här kan du skriva in tecken som ska ignoreras under sökningen. Ett typiskt exempel är snabbtangentsmarkeringen, t.ex. &amp; för &kde; texter. </para
> </listitem
> </varlistentry
> </variablelist>
<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>
<variablelist
> <varlistentry
> <term
><guilabel
>Lika med</guilabel
></term
> <listitem
> <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 &amp;Andrea</emphasis
> (om &amp; anges med <guilabel
>Tecken som skall ignoreras</guilabel
> under fliken <guilabel
>Allmänt</guilabel
>). </para
> </listitem
> </varlistentry
> <varlistentry
> <term
><guilabel
>Finns i sökningen</guilabel
></term
> <listitem
> <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
> </listitem
> </varlistentry
> <varlistentry
> <term
><guilabel
>Sökningen innehåller</guilabel
></term
> <listitem
> <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
> </listitem
> </varlistentry
> <varlistentry
> <term
><guibutton
>Reguljärt uttryck</guibutton
></term
> <listitem
> <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
> </listitem
> </varlistentry
> <varlistentry
> <term
><guibutton
>Använd ersättning av ett ord</guibutton
></term
> <listitem
> <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
> </listitem
> </varlistentry
> <varlistentry
> <term
><guibutton
>Maximalt antal ord i sökningen</guibutton
></term
> <listitem
> <para
> Maximalt antal ord i en förfrågan för att aktivera ersättning av ett ord. </para
> </listitem
> </varlistentry
> <varlistentry
> <term
><guilabel
>Lokala tecken för reguljärt uttryck</guilabel
></term
> <listitem
> <para
> Tecken som ska anses vara en del av reguljära uttryck. </para
> </listitem
> </varlistentry
> </variablelist>
<note
> <para
> Ersättning av två ord är inte implementerat ännu. </para
> </note>
</sect2>

<sect2 id="database-fill">
<title
>Fylla i databasen</title>
<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>
<screenshot
> <screeninfo
>Fylla i databasen</screeninfo
> <mediaobject
> <imageobject
> <imagedata fileref="dbcan.png" format="PNG"/> </imageobject
> <textobject
><phrase
>Fylla databasen med befintliga PO-filer</phrase
></textobject
> </mediaobject
> </screenshot
></sect2>

<sect2 id="database-goodkeys">
<title
>Definiera bra nycklar</title>
<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>
</sect2>
</sect1>


<sect1 id="auxiliary">
<title
>Hjälp-PO</title>

<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
>kdelibs.po</filename
> till Rumänska , men inte förstår betydelsen, då tittar jag i samma fil för franska och hittar <quote
>actif</quote
>. I den spanska hittar jag <quote
>activado</quote
>. Därför drar jag slutsatsen att det bästa ordet på Rumänska är <quote
>activ</quote
>. &kbabel; automatiserar den här uppgiften. För närvarande kan du bara ange en hjälpfil att söka i.</para>

<sect2 id="auxiliary-settings">
<title
>Inställningar</title>
<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>

<variablelist
> <varlistentry
> <term
>@PACKAGE@</term
> <listitem
><para
> Namnet på programmet eller paketet som för närvarande översätts. Det kan till exempel expanderas till kbabel, kdelibs, konqueror och så vidare. </para
></listitem
> </varlistentry
> <varlistentry
> <term
>@LANG@</term
> <listitem
><para
> Språkkoden. Den kan till exempel expanderas till: de, ro, fr, sv etc. </para
></listitem
> </varlistentry
> <varlistentry
> <term
>@DIRn@</term
> <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
> </varlistentry
> </variablelist>

<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
>Jag är Rumän, och har en viss kännedom om franska språket, och arbetar med &kde; översättning.</para>

<para
>Det första steget är att ladda ner en mycket färsk <filename
>kde-i18n-fr.tar.bz2</filename
> från <ulink url="ftp://ftp.kde.org/pub/kde/snapshots/current/kde-i18n"
>&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/kde-i18n/fr</filename
>.</para>

<para
>Min <acronym
>PO</acronym
>-källkatalog finns under <filename
>/home/clau/cvs-cvs.kde.org/kde-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>

</sect2>
</sect1>

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

<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>

<sect2 id="compendium-settings">
<title
>Inställningar</title>

<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>

<variablelist
> <varlistentry
> <term
>@LANG@</term
> <listitem
><para
> Språkkoden. Den kan till exempel expanderas till: de, ro, fr, sv etc. </para
></listitem
> </varlistentry
> </variablelist>

<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/current/kde-i18n"
>&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>

<variablelist
> <varlistentry
> <term
><guilabel
>Skiftlägeskänslig</guilabel
></term
> <listitem
> <para
> Om meddelanden som ska passas ihop ska skilja på små och stora bokstäver. </para
> </listitem
> </varlistentry
> <varlistentry
> <term
><guilabel
>Ignorera inexakta strängar</guilabel
></term
> <listitem
> <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
> </listitem
> </varlistentry
> <varlistentry
> <term
><guilabel
>Endast hela ord</guilabel
></term
> <listitem
> <para
> Om texten som ska passas ihop ska börja och sluta vid ordgränser. </para
> </listitem
> </varlistentry
> <varlistentry
> <term
>En text passar ihop om den <guilabel
>är samma som söktexten</guilabel
></term
> <listitem
> <para
> Texten i kompendiet passar ihop med söktexten bara om den är exakt samma (förstås med användning av ovanstående alternativ). </para
> </listitem
> </varlistentry
> <varlistentry
> <term
>En text passar ihop om den <guilabel
>liknar söktexten</guilabel
></term
> <listitem
> <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
> </listitem
> </varlistentry
> <varlistentry
> <term
>En text passar ihop om den <guilabel
>innehåller söktexten</guilabel
></term
> <listitem
> <para
> En text i kompendiet passar ihop med söktexten om den innehåller söktexten.</para
> </listitem
> </varlistentry
> <varlistentry
> <term
>En text passar ihop om den <guilabel
>finns inne i söktexten</guilabel
></term
> <listitem
> <para
> En text i kompendiet passar ihop med söktexten om den finns inne i söktexten. </para
> </listitem
> </varlistentry
> <varlistentry
> <term
>En text passar ihop om den <guilabel
>innehåller ett ord från söktexten</guilabel
></term
> <listitem
> <para
> Texten delas upp i ord och en text i kompendiet passar ihop med söktexten bara om den innehåller något ord från söktexten. </para
> </listitem
> </varlistentry
> </variablelist>
</sect2>
</sect1>
</chapter>

