<!-- <?xml version="1.0" ?>
<!DOCTYPE chapter PUBLIC "-//KDE//DTD DocBook XML V4.2-Based Variant V1.1//EN" "dtd/kdex.dtd"> -->
<!-- Uncomment the previous two lines to validate this document -->
<!-- standalone.  Be sure to recomment them before attempting to -->
<!-- process index.docbook -->

<chapter id="dictionaries">

<chapterinfo>
<!-- Fill in this section if this document has a different author -->
<authorgroup>
<author>
<personname><firstname></firstname><surname></surname></personname>
</author>
</authorgroup>

&erik.kjaer.pedersen.role; 
</chapterinfo>

<title>Ordbøger</title>

<para>&kbabel; har 3 måder der kan bruges til at søge efter oversatte  <acronym>PO</acronym>-besked-strenge:</para>

<itemizedlist>
     <listitem>
       <para>Søgning efter oversættelse ved brug af oversættelsesdatabase </para>
     </listitem>
      <listitem>
         <para>Grov oversættelse </para>
      </listitem>
      <listitem>
         <para>&kbabeldict; </para>
      </listitem>
</itemizedlist>

<sect1 id="database">
<!-- FIXME: settings -->
<title>Oversættelsesdatabase</title>

<!-- ### TODO: only *one* file? Seems more to be four... -->
<para>Oversættelsesdatabasen lader dig gemme oversættelser i en database baseret på Berkeley Database IV, &ie; den gemmes i en binær fil på din. Databasen garanterer hurtig søgning i et stort antal oversættelser.</para>

<para>Dette er den måde der er integreret i &kbabel;. Foruden søgning og grov oversættelse, understøtter den også følgende egenskaber:</para>

<itemizedlist>
<listitem>
<para>Hver ny oversættelse der skrives i &kbabel;-editoren kan automatisk blive gemt i databasen.</para>
</listitem>
<listitem>
<para>Denne database kan bruges til at <quote>diffe</quote> <acronym>msgid</acronym>.</para>
</listitem>
</itemizedlist>

<para>Jo flere oversættelser der opbevares i databasen, jo mere produktiv kan du naturligvis være. For at fylde databasen op, kan du bruge <guilabel>Database</guilabel>-fanebladet i indstillingsdialogen eller du kan slå automatisk tilføjelse til for hver oversat besked i samme faneblad.</para>

<sect2 id="database-settings">
<title>Opsætning</title>
<para>Du kan indstille denne søgetilstand og hvordan den skal bruges ved at vælge <menuchoice> <guisubmenu>Opsætning</guisubmenu> <guisubmenu>Indstil ordbog</guisubmenu> <guimenuitem>Oversættelsesdatabase</guimenuitem> </menuchoice> i &kbabel;-menuen. </para>
<para>Det <guilabel>Generiske</guilabel> faneblad indeholder generel opsætning for søgning i databasen. </para>
<variablelist>
  <varlistentry>
    <term><guilabel>Søgning i hele databasen (langsomt)</guilabel></term>
    <listitem>
    <para>Brug ikke <quote>gode nøgler</quote>, søgning i hele databasen. Dette er langsomt, men det vil give de mest præcise resultater. </para>
    </listitem>
  </varlistentry>
  <varlistentry>
    <term><guilabel>Søg i liste af "gode nøgler" (bedst)</guilabel></term>
    <listitem>
    <para>Brug <quote>gode nøgler</quote>-strategien. Dette vil give dig den bedste balance mellem hastighed og nøjagtig matchning. </para>
    </listitem>
  </varlistentry>
  <varlistentry>
    <term><guilabel>Returnér listen af "gode nøgler" (hurtigt)</guilabel></term>
    <listitem>
    <para>Vend tilbage til <quote>gode nøgler</quote>, prøv ikke at eliminere flere tekster. Dette er den hurtigste metode men den kan føre til et ret stort antal upræcise matchninger. </para>
    </listitem>
  </varlistentry>
<varlistentry>
    <term><guibutton>Versalfølsom</guibutton></term>
    <listitem>
    <para>Skeln mellem bogstavstørrelser ved søgning i tekst. </para>
    </listitem>
  </varlistentry>
<varlistentry>
    <term><guibutton>Normalisér mellemrum</guibutton></term>
    <listitem>
    <para>Spring over unødvendige blanke tegn i teksterne, så søgningen vil ignorere små forskelle i blanke tegn, &eg; antallet af mellemrum i teksten. </para>
    </listitem>
  </varlistentry>
<varlistentry>
    <term><guibutton>Fjern sammenhængskommentar</guibutton></term>
    <listitem>
    <para>Inkludér ikke sammenhængskommentarer i søgningen. Du vil ønske at have dette slået til. </para>
    </listitem>
  </varlistentry>
  <varlistentry>
    <term><guilabel>Tegn der skal ignoreres</guilabel></term>
    <listitem>
    <para>Her kan du angive tegn, som skal ignoreres under søgningen. Typisk eksempel ville være acceleratormarkering, &ie; &amp; for &kde;-tekster. </para>
    </listitem>
  </varlistentry>
  </variablelist>
<para><guilabel>Søg</guilabel>-fanebladet indeholder finere specifikation for søgning i tekst. Du kan definere hvordan der skal søges og også tillade brug af en anden speciel måde at søge der hedder <emphasis><guilabel>Ordsubstitution</guilabel></emphasis>. Ved at substituere et eller to ord kan den tilnærmede tekst også blive fundet. For eksempel, antag du prøver at finde teksten <userinput>Mit navn er Erik</userinput>. </para>
<variablelist>
  <varlistentry>
    <term><guilabel>Lig med</guilabel></term>
    <listitem>
    <para>Tekst fra databasen matcher hvis den er den samme som den søgte streng. I vort eksempel kan det være <emphasis>Mit navn er &amp;Erik</emphasis> (hvis &amp; er sat som ignoreret tegn i <guilabel>Tegn der skal ignoreres</guilabel> i <guilabel>Generisk</guilabel>-fanebladet). </para>
    </listitem>
  </varlistentry>
  <varlistentry>
    <term><guilabel>Forespørgsel er indeholdt</guilabel></term>
    <listitem>
    <para>Tekst fra databasen matcher hvis den søgte streng indeholdes i den. I vort eksempel kan det være <emphasis>Du ved, mit navn er Erik?</emphasis>. </para>
    </listitem>
  </varlistentry>
  <varlistentry>
    <term><guilabel>Forespørgsel indeholder</guilabel></term>
    <listitem>
    <para>Tekst fra databasen matcher hvis den søgte streng indeholder den. I vort eksempel kan det være <emphasis>Erik</emphasis>. Du kan bruge dette til at tælle de muligheder der kan findes. </para>
    </listitem>
  </varlistentry>
<varlistentry>
    <term><guibutton>Regulært udtryk</guibutton></term>
    <listitem>
    <para>Opfat søgt tekst som et regulært udtryk. Dette bruges hovedsageligt til &kbabeldict;. Du kan næppe forvente regulære udtryk i PO-filer. </para>
    </listitem>
  </varlistentry>
<varlistentry>
    <term><guibutton>Brug et ords substitution</guibutton></term>
    <listitem>
    <para>Hvis forespørgslen indeholder færre ord end angivet nedenfor, prøver den også at erstatte et af ordene i forespørgslen. I vort eksempel vil den også finde <emphasis>Dit navn er Erik</emphasis>. </para>
    </listitem>
  </varlistentry>
<varlistentry>
    <term><guibutton>Maks. antal ord i forespørgslen</guibutton></term>
    <listitem>
    <para>Maksimalt antal ord i en forespørgsel for at aktivere et-ords-substitution. </para>
    </listitem>
  </varlistentry>
  <varlistentry>
    <term><guilabel>Lokale tegn for regulære udtryk</guilabel></term>
    <listitem>
    <para>Tegn der betragtes som en del af regulære udtryk. </para>
    </listitem>
  </varlistentry>
  </variablelist>
<note>
<para>To-ords-substitution er endnu ikke implementeret. </para>
</note>
</sect2>

<sect2 id="database-fill">
<title>Opfyldning af databasen</title>
<para><guilabel>Database</guilabel>-fanebladet tillader at definere hvor databasen gemmes på disken (<guilabel>Database-mappen</guilabel>) og om den skal bruges til automatisk at gemme nye oversættelser (<guibutton>Auto-tilføj indgang til database</guibutton>). I dette tilfælde bør du tilføje forfatteren af den nye oversættelse i <guilabel>Auto-tilføjet indgang, forfatter</guilabel>. </para>
<para>Resten af fanebladet tillader dig at fylde databasen fra allerede eksisterende PO-filer. Brug en af knapperne i midten af dialogen. Fremgangen for fil-indlæsningen vil blive vist ved fremskriftslinjer under knapperne. <guilabel>Gentagne strenge</guilabel>-knappen skal bruges i specielle tilfælde hvor en oversat streng bliver gentaget mange gange, så du ikke ønsker at gemme for mange af dem. Her kan du begrænse de gemte strenge. </para>
<screenshot>
<screeninfo>Opfyldning af databasen</screeninfo>
<mediaobject>
<imageobject>
<imagedata fileref="dbcan.png" format="PNG"/>
</imageobject>
<textobject><phrase>Fyld databasen med eksisterende PO-filer</phrase></textobject>
</mediaobject>
</screenshot></sect2>

<sect2 id="database-goodkeys">
<title>Definition af gode nøgler</title>
<para>På <guilabel>Gode nøgler</guilabel>-fanebladet findes grænserne for at angive hvordan listen af gode nøgler skal udfyldes. <guilabel>Minimum antal forespørgselsord i nøglen (%)</guilabel> angiver nøjagtigt det. Tekst vil skulle indeholde kun denne procent af ordene for at kvalificere som god nøgle. Det modsatte kan angives via <guilabel>Minimum antal ord af nøglen også i forespørgslen (%)</guilabel>. Længden af ordene kan sættes med <guilabel>Maks. længde</guilabel>-spinfeltet. </para>
<para>Søgt tekst indeholdet typisk et antal generiske ord, &eg; artikler. Du kan eliminere disse ord baseret på hyppigheden. Du kan kassere dem med <guilabel>Kassér ord mere hyppige end</guilabel> eller betragte dem som altid værende til stede med <guilabel>hyppige ord betragtes som i hver nøgle</guilabel>. På denne måde vil hyppige ord være næsten usynlige i forespørgsler . </para>
</sect2>
</sect1>


<sect1 id="auxiliary">
<title>Hjælpe-PO-fil</title>

<para>Denne søgetilstand er baseret på at få den samme originale streng (msgid) til at passe med en i en hjælpe- <acronym>PO</acronym>-fil, oversat til et andet sprog. Det er meget almindeligt at romanske sprog har ord der ligner hinanden. Det samme for angelsaksiske og slaviske. </para>

<para>Hvis jeg for eksempel vil oversætte ordet <quote>on</quote> fra <filename>tdelibs.po</filename> til rumænsk , men ikke forstår betydningen, så kigger jeg i samme fil for fransk og finder <foreignphrase lang="fr">actif</foreignphrase>. I den spanske finder jeg <foreignphrase lang="es">activado</foreignphrase>. Derfor drager jeg slutningen at det bedste ordet på rumænsk er <foreignphrase lang="ro">active</foreignphrase>. (På engelsk ville kunne ordet naturligvis have været <quote>active</quote> i stedet for <quote>on</quote>, hvilket ville have forenklet oversættelsesprocessen.) &kbabel; automatiserar denne opgave. For øjeblikket kan du kun angive én hjælpefil at søge i. </para>

<sect2 id="auxiliary-settings">
<title>Opsætning</title>
<para>Du kan indstille denne søgetilstand ved at vælge <menuchoice> <guisubmenu>Opsætning</guisubmenu> <guisubmenu>Indstil ordbog</guisubmenu> <guimenuitem>PO-Auxiliary</guimenuitem> </menuchoice> fra &kbabel;-menuen.</para>

<para>I <guilabel>Indstil ordbog PO Auxiliary</guilabel> dialogen kan du vælge stien til en auxiliary <acronym>PO</acronym>-fil. For at automatisere <acronym>PO</acronym>-fil skift når du ændrer den fil du er ved at redigere e der mange variabler begrænset af <literal>@</literal>-tegnet der bliver erstattet af passende værdier:</para>

<variablelist>
  <varlistentry>
    <term>@PACKAGE@</term>
    <listitem><para>Navnet på det program eller pakke du er ved at oversætte. For eksempel kan det blive til kbabel, tdelibs, konqueror og så videre. </para></listitem>
  </varlistentry>
  <varlistentry>
    <term>@LANG@</term>
    <listitem><para>Sprogkoden. For eksempel kan det blive til: da, ro, fr osv. </para></listitem>
  </varlistentry>
  <varlistentry>
    <term>@DIRn@</term>
    <listitem><para>hvor <quote>n</quote> er et positivt helt tal. Dette udvides til <quote>n</quote>'te mappe talt fra filnavnet (fra højre mod venstre). </para></listitem>
  </varlistentry>
</variablelist>

<para>I redigeringslinjen vises den aktuelle sti til hjælpe-<acronym>PO</acronym>-filen. Selv om Det er bedst at bruge de variabler der er givet i stien, er det muligt at vælge en absolut, rigtig sti til en eksisterende PO-fil. Lad os tage et eksempel.</para>

<para>Jeg er rumænsk og jeg har nogen kendskab til det franske sprog og jeg arbejder med oversættelse af &kde;</para>

<!-- ### TODO: check URL, especially the kde-l10n part -->
<para>Første skridt er at hente en meget frisk <filename>kde-l10n-fr.tar.bz2</filename> fra <ulink url="ftp://ftp.kde.org/pub/kde/snapshots/current/kde-l10n">&kde; &FTP;-stedet</ulink> eller at bruge CVS-systemet til at putte et friskt fransk oversættelsestræ på min disk. Jeg gør dette på <filename>/home/clau/cvs-cvs.kde.org/kde-l10n/fr</filename>.</para>

<para>Mine <acronym>PO</acronym>-kilders mappe er i <filename>/home/clau/cvs-cvs.kde.org/kde-l10n/ro</filename>. Glem ikke at vælge <guilabel>PO Auxiliary</guilabel> som standard-ordbog og afkryds <guilabel>Start søgning automatisk</guilabel> i <guilabel>Søg</guilabel>-fanebladet fra &kbabel; <guilabel>Indstillinger</guilabel>-dialog.</para>

</sect2>
</sect1>

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

<para>Et kompendium er en fil der indeholder en samling af mange oversættelsesbeskeder (par af <acronym>msgid</acronym> og <acronym>msgstr</acronym>) i et projekt, &eg; i &kde;. Typisk er et kompendium for et givet sprog lavet ved at sætte alle <acronym>PO</acronym>-filer for sprogprojektet sammen. Et kompendium kan indeholde oversatte, uoversatte og fuzzy beskeder. Ikke oversatte ignoreres af dette modul. For dansk har oversætteren af denne håndbog lavet en fil da.compendium, der ligger på &kde;'s CVS, og som indeholder de oversættelser vi er blevet enige om på KLID, modificeret efter &kde;-oversætternes smag. </para>

<para>Ligesom Auxiliary <acronym>PO</acronym>, er denne søgemåde baseret at matche den <quote>samme</quote> originale streng (<acronym>msgid</acronym>) i et kompendium. For øjeblikket kan du kun definere en kompendium-fil at søge i. </para>

<para>Denne måde er meget nyttig, hvis du ikke bruger oversættelses-database og du ønsker at opnå oversættelser der er konsistente med andre oversættelser. I øvrigt er kompendium-filer meget nemmere at dele med andre oversættere og endog andre oversættelses-projekter fordi de kan genereres for dem også. </para>

<sect2 id="compendium-settings">
<title>Opsætning</title>

<para>Du kan indstille denne søgetilstand ved at vælge <menuchoice> <guisubmenu>Opsætning</guisubmenu> <guisubmenu>Indstil ordbog</guisubmenu> <guimenuitem>PO-kompendium</guimenuitem> </menuchoice> i &kbabel;-menuen. </para>

<para>I <guilabel>Indstil ordbog PO kompendium</guilabel>-dialogen kan du vælge stien til en kompendium-fil. For at automatisere skift af kompendium-fil når du ændrer oversættelsessprog, er der en variabel begrænset af <literal>@</literal>-tegn som bliver erstattet med en passende værdi:</para>

<variablelist>
  <varlistentry>
    <term>@LANG@</term>
    <listitem><para>Sprogkoden. For eksempel kan det blive til: da, ro, fr osv. </para></listitem>
  </varlistentry>
</variablelist>

<para>I redigeringslinjen bliver den egentlige sti til kompendium <acronym>PO</acronym>-filen vist. Mens du helst skal bruge de givne variabler i stien, er det muligt at vælge absolut  rigtig sti til en eksisterende <acronym>PO</acronym>-fil til at blive brugt som kompendium.</para>

<!-- ### TODO: check URL, especially the kde-l10n part -->
<para>Som et meget friskt kompendium for &kde; oversættelse til &eg; fransk kan du downloade <filename>fr.messages.bz2</filename> fra <ulink url="ftp://ftp.kde.org/pub/kde/snapshots/current/kde-l10n">&kde; &FTP; -stedet</ulink>. </para>

<para>Du kan definere hvordan der skal søges i kompendiet bed at bruge tilvalgene under stien. De er opdelt i to grupper: tekst-matchende tilvalg, hvor du kan angive hvordan teksten skal sammenlignes og om fuzzy oversættelser skal ignoreres, og besked-matching tilvalg, der afgør om oversættelsen fra kompendiet skal være en delstreng af søge-beskeden eller omvendt.</para>

<variablelist>
  <varlistentry>
    <term><guilabel>Versalfølsom</guilabel></term>
    <listitem>
    <para>Om matchning af besked i kompendium skal skelne mellem store og små bogstaver. </para>
    </listitem>
  </varlistentry>
  <varlistentry>
    <term><guilabel>Ignorér fuzzy streng</guilabel></term>
    <listitem>
    <para>Om fuzzy beskeder i kompendiet skal ignoreres ved søgning. Kompendiet kan indeholde fuzzy beskeder, da det typisk er lavet ved sætte <acronym>PO</acronym>-filer fra projektet sammen, som kan inkludere fuzzy beskeder. Uoversatte ignoreres altid (Man kan ikke søge efter oversættelsen i en uoversat besked, vel?)</para>
    </listitem>
  </varlistentry>
  <varlistentry>
    <term><guilabel>Kun hele ord</guilabel></term>
    <listitem>
    <para>Om den matchende tekst skal starte og slutte ved ordgrænserne. </para>
    </listitem>
  </varlistentry>
  <varlistentry>
    <term>En tekst matcher hvis den <guilabel>er lig med søgeteksten</guilabel></term> 
    <listitem>
    <para>En tekst i kompendiet matcher kun søgeteksten hvis den er nøjagtig den samme (naturligvis ved brug af tilvalg som ovenfor). </para>
    </listitem>
  </varlistentry>
  <varlistentry>
    <term>En tekst matcher hvis den <guilabel>ligner søgeteksten</guilabel></term>
    <listitem>
    <para>En tekst i kompendiet matcher kun søgeteksten hvis den <quote>ligner</quote>. Begge tekster sammenligne i korte stumper af bogstaver  (<quote>3-ere</quote>) og mindst halvdelen af stumperne skal være de samme. </para>
    </listitem>
  </varlistentry>
  <varlistentry>
    <term>En tekst matcher hvis den <guilabel>indeholder søgeteksten</guilabel></term>
    <listitem>
    <para>En tekst i kompendiet matcher søgeteksten hvis den indeholder søgeteksten.</para>
    </listitem>
  </varlistentry>
  <varlistentry>
    <term>En tekst matcher hvis den <guilabel>er indeholdt i søgeteksten</guilabel></term>
    <listitem>
    <para>En tekst i kompendiet matcher søgeteksten hvis den er indeholdt i søgeteksten. </para>
    </listitem>
  </varlistentry>
  <varlistentry>
    <term>En tekst matcher hvis den <guilabel>indeholder et ord fra søgeteksten</guilabel></term>
    <listitem>
    <para>Teksterne opdeles i ord og en tekst i kompendiet matcher kun søgeteksten hvis den indeholder et eller andet ord fra søgeteksten. </para>
    </listitem>
  </varlistentry>
</variablelist>
</sect2>
</sect1>
</chapter>
<!--
Local Variables:
mode: xml
sgml-minimize-attributes:nil
sgml-general-insert-case:lower
sgml-indent-step:0
sgml-indent-data:nil
End:

vim:tabstop=2:shiftwidth=2:expandtab 
-->