You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
tde-i18n/tde-i18n-et/docs/tdesdk/kbabel/using.docbook

407 lines
31 KiB

<!-- <?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="using-kbabel">
<chapterinfo>
<!-- Fill in this section if this document has a different author -->
<authorgroup>
<author>
<personname><firstname></firstname><surname></surname></personname>
</author>
</authorgroup>
<othercredit role="translator"><firstname>Marek</firstname><surname>Laane</surname><affiliation><address><email>bald@starman.ee</email></address></affiliation><contrib>Tõlge eesti keelde</contrib></othercredit>
</chapterinfo>
<title>&kbabel;i kasutamine</title>
<sect1 id="using-introduction">
<title>Sissejuhatus</title>
<para>Tavaliselt on rakenduse teated ja dokumentatsioon kirja pandud inglise keeles. Teatud tööriistate ja teekide raamistikku kasutades on võimalik aga panna oma lemmikrakendused kõnelema ka muus kui inglise keeles. Rakenduse kohandamist mingile keelele nimetatakse lokaliseerimiseks. Lokaliseerimine hõlmab rakenduse liidese ja dokumentatsiooni tõlkimist keeltesse, mida kasutajad soovivad pruukida, ning mõne maa või piirkonna puhul ka sisendi ja väljundi kohandamist teatud tavadele. &kbabel; on vahend, mis aitab sind lokaliseerimisel, et panna rakendused kõnelema kasutajaga just selles keeles, milles ta seda soovib.</para>
<para>Iga internatsionaliseerimisteadlikuks muudetud rakendus pakub tõlkimiseks välja ühe või enam teadete kataloogi faili. Nende failide laiendiks on <literal role="extension">.pot</literal>. <acronym>POT</acronym> on lühend, pikemalt <quote>Portable Object Template</quote> ehk <quote>porditava objekti mall</quote>.</para>
<para>Tõlkijad asuvad <acronym>POT</acronym>-mallis täitma tühikuid, tõlkides iga teate vajalikku keelde. Tõlgitud teksti sisaldav fail on <acronym>PO</acronym> ehk <quote>Portable Object</quote> (eesti keeles <quote>porditav objekt</quote>) fail. </para>
<para>Kui kõik teated on tõlgitud, saab <acronym>PO</acronym>-faili kompileerida masinale arusaadavasse binaarvormingusse, mida nimetatakse <acronym>MO</acronym> ehk masinobjekt (<quote>Machine Object</quote>) failiks. Need, laiendiga <literal role="extension">.mo</literal> (või <literal role="extension">.gmo</literal>, mis viitab sellele, et neid on töödelnud &GNU; gettext) failid kujutavad endast sisuliselt andmebaasi, mis vähendab aega, mis kulub rakendusel vajaliku tõlgitud teate leidmiseks. </para>
<para>Ilmselt tekib küsimus: kui mul juba on &kbabel;, kas on veel mõtet huvi tunda, milline see <acronym>PO</acronym>-fail seesmiselt välja näeb. Vastus on kahtlemata <quote>jah</quote>! Vahel võib teadete kataloog viga saada ning seda tuleb käsitsi parandada. Enamasti juhtub see nii väga vihatavate <acronym>CVS</acronym>-i või <acronym>SVN</acronym>-i konfliktide tõttu, mis tekivad siis, kui tõlkeprotsessi koordineeritakse versioonikontrollisüsteemiga (näiteks <acronym>CVS</acronym> või Subversion ehk <acronym>SVN</acronym>). &kbabel; ei suuda sellistel puhkudel väga palju abiks olla, nii et sellisel juhul tuleb sageli kasutada tekstiredaktorit, mille puhul oleks vajalik veidi tunda ka <acronym>PO</acronym>-faili hingeelu. Vaatame siis <acronym>PO</acronym>-faili veidi lähemalt.</para>
<para><acronym>PO</acronym>-failid koosnevad teadete paaridest &mdash; <emphasis>msgid</emphasis> ja <emphasis>msgstr</emphasis>. Msgid on ingliskeelne tekst, msgstr mingisse muude keelde tõlgitud tekst. Iga msgid-i ja msgstr-iga kaasnev tekst on ümbritsetud C-stiilis topeltjutumärkidega. Näiteks üks &noatun;i <acronym>PO</acronym>-failist võetu näeb välja nii: <literal>msgid &quot;Open a Playlist&quot;</literal> </para>
<!-- ### TODO: we would need an example of an entry -->
<para>Tühje ridu ja neid, mille alguses seisab <literal>#</literal>, ignoreeritakse. Sümboliga # algavad read kujutavad endast kommentaare ning neist on kasu andmast märku, millises failis teadet kasutatakse või vajaduse korral tõlkijatele mõningate abistavate seletuste pakkumiseks. &kbabel; näitab kõigi teadete puhul selliseid kommentaariridu, kui need on olemas.</para>
<para>Sageli on <acronym>PO</acronym>-faili esimene msgid-msgstr paar libakirje (tegelikult <acronym>PO</acronym>-faili päis), mis sisaldab mitmesugust infot tõlgitava <acronym>PO</acronym>-faili kohta: rakenduse nimi, tõlkimise kuupäev, tõlkija nimi ja nii edasi.</para>
<para>Üks väga kasulik võimalus on niinimetatud <emphasis>mitmuse vormid</emphasis>. Inglise keeles kasutatakse nimisõnadel ainult üht ainsuse ja üht mitmuse vormi, &eg; <quote>1 file</quote> ja <quote>10 files</quote>. See võib viia arendajad mõttele, et maailm on imelihtne ning võib luua selliseid teateid nagu <quote>Do you want to delete %1 file(s)?</quote>, kus <literal>%1</literal> tähistab kustutavate failide arvu. Kuid selline lähenemine on põhimõtteliselt vale. Näiteks slovakikeelses tõlkes tuleb antud juhul kasutada kolme erinevat tõlget. Selliste variantide arv erineb keeleti ja isegi kui see on sarnane (&eg; tšehhi keel kasutab antud juhul samuti kolme varianti), võivad reeglid, millal millist vormi kasutada, olla vägagi erinevad. </para>
<note><para>&kde; arendajatele ei meeldinud siiski mitmuse vormide teostamine <application>&GNU; gettext</application>is ning nad on juurutanud oma vormingu ja käsitlemisviisi. &GNU; gettexti mitmuse vorme peaks kasutusele võtma &kde; 4. </para></note>
</sect1>
<sect1 id="using-editor">
<title>Redaktor</title>
<para>&kbabel;i pilt.</para>
<screenshot>
<screeninfo>&kbabel;</screeninfo>
<mediaobject>
<imageobject>
<imagedata fileref="snap1.png" format="PNG"/>
</imageobject>
<textobject><phrase>&kbabel;</phrase></textobject>
</mediaobject>
</screenshot>
<para>Kasutajate mugavuseks tarvitab &kbabel; tööriistaribasid, mis kiirendab paljude operatsioonide sooritamist, ning eriti hõivatud kasutajate tarbeks on ka hulganisti kiirklahve. Peaaken on jagatud neljaks osaks. </para>
<para><emphasis>Vasakul ülal</emphasis> asuv redigeerimiskast on ainult lugemiseks ning sisaldab parajasti avatud PO-faili msgid välja ingliskeelse tekstiga.</para>
<para><emphasis>Vasakul all</emphasis> asuv redigeerimiskast sisaldab näidatava msgid väljaga paaris käivat msgstr välja ning siin saab ka redigeerida tegelikku tõlget.</para>
<para><emphasis>Paremal ülal</emphasis> asub kommentaaride aken, kus on näha parajasti redigeeritava kirje kommentaarid.</para>
<para>Seda saab kasutada:</para>
<itemizedlist>
<listitem><para>arusaamiseks, kuidas rakendus käesolevat kirjet kohtleb (c vormingus või tavaline tekst) </para></listitem>
<listitem><para>mõnel juhul nägemaks rakenduse arendaja lisatud kommentaare, mis on mõeldud tõlkijate tegevuse hõlbustamiseks &mdash; näiteks võivad seal leiduda tehnilised viited (mida väga edukalt kasutatakse projektis <application>LyX</application>) </para></listitem>
<listitem><para>teadasaamiseks, millisest failist on käesolev teade pärit, kui soovid näiteks teada anda kirjaveast algupärases ingliskeelses stringis. </para></listitem>
</itemizedlist>
<para>Redaktoriaken paremal all on &kbabel;i peaakna kõige keerukam osa. Selle suurust saab muuta eraldusjoont selle ja kommentaariakna (paremal ülal) vahel lohistades. Redaktoriaknal on kaks kaarti &mdash; üks sisaldab otsinguinfot, teine kontekstiinfot. Kontekstiinfo kaardil on ka kerimisriba, mis näitab nelja eelmist ja järgmist kirjet &mdash; sisuliselt on tegemist tillukese tõmmisega PO-failist. Tõlkides on üsna tavaline, et mingi kirje on seotud nii eelneva kui järgneva kirjega, mistõttu kontekstikaardil saab ka endale selgeks teha, kuidas võiks olla kõige otstarbekam käesolevat kirjet tõlkida. Heaks näiteks on dialoogiliidese tõlge või siis näiteks elemendid koos nendega seonduva teksti ja "mis see on" teadetega. </para>
<sect2 id="more-kbabel-features">
<title>&kbabel;i muud omadused</title>
<para>Iga msgid kirje võib olla ühes kolmest olekust: </para>
<variablelist>
<varlistentry>
<term>tõlkimata</term>
<listitem>
<para>msgstr väljaga ei seostu tõlgitud teksti </para>
</listitem>
</varlistentry>
<varlistentry>
<term>kahtlane</term>
<listitem>
<para><command>msgmerge</command> püüdis leida tõlgitavale kirjele vastet mujalt PO-failist. See ei pruugi olla täpne, mispärast tuleks selline tekst üle vaadata, et tõlge tõepoolest vastaks algupärasele ingliskeelsele tekstile. </para>
</listitem>
</varlistentry>
<varlistentry>
<term>tõlgitud</term>
<listitem>
<para>msgstr sisaldab endas lõplikult tõlgitud msgid-i teksti </para>
</listitem>
</varlistentry>
</variablelist>
<para>Parajasti aktiivse kirje olekut näitab kaks <acronym>LED</acronym>-tulukest. Sõltuvalt seadistusest võivad need asuda olekuribal või <guilabel>tõlkestring</guilabel>i redigeerimiskasti kohal. Mõlema värv on muudetav (et see vastaks sinu maitsele või sobiks kokku nägemisomadustega). Kuidas neid seadistusi kohandada, saab täpsemalt teada osast <link linkend="preferences">Seadistused</link>.</para>
</sect2>
</sect1>
<sect1 id="kbabel-features">
<title>Tõlkimisest lähemalt</title>
<para>Nüüd on sul olemas esialgne arusaam, kuidas PO-faili tõlkida. Käesolevas osas järgime tavapärast uue PO-faili tõlkimise rada, kasutades ära &kbabel;i võimsaid omadusi. Eeldame, et oled juba avanud POT-mallifaili ja salvestanud selle PO-failina. </para>
<sect2 id="kbabel-navigation">
<title>Liikumine PO-failis</title>
<para>&kbabel; võmaldab failis imelihtsalt liikuda, kasutades selleks ära tõlgete olekut. Tõlkimata ja kahtlasest olekust oli juba juttu. Teade võib olla märgitud ka vigaseks, selle põhjuseks võib olla <link linkend="kbabel-validation">sobivuse kontroll</link> või sobivuse kontroll käsuga <command>msgfmt</command>. Ja mõistagi toetab &kbabel; külastatud teadete ajalugu käskudega <guilabel>Edasi</guilabel> ja <guilabel>Tagasi</guilabel>, mille kasutamine on samane vastavate käskude kasutamisega näiteks &konqueror;is.</para>
<para>Kõik navigeerimiskäsud asuvad menüüs <menuchoice><guimenu>Liikumine</guimenu></menuchoice>. </para>
<informaltable>
<tgroup cols="2">
<tbody>
<row>
<entry><para><keycombo action="simul"><keycap>Page Up</keycap></keycombo></para></entry>
<entry><para>Liigub eelmisele teatele </para></entry>
</row>
<row>
<entry><para><keycombo action="simul"><keycap>Page Down</keycap></keycombo></para></entry>
<entry><para>Liigub järgmisele teatele</para></entry>
</row>
<row>
<entry><para><keycombo action="simul">&Ctrl;<keycap>Page Up</keycap></keycombo></para></entry>
<entry><para>Liigub eelmisele kahtlasele teatele</para></entry>
</row>
<row>
<entry><para><keycombo action="simul">&Ctrl;<keycap>Page Down</keycap></keycombo></para></entry>
<entry><para>Liigub järgmisele kahtlasele teatele</para></entry>
</row>
<row>
<entry><para><keycombo action="simul">&Alt;<keycap>Page Up</keycap></keycombo></para></entry>
<entry><para>Liigub eelmisele tõlkimata teatele</para></entry>
</row>
<row>
<entry><para><keycombo action="simul">&Alt;<keycap>Page Down</keycap></keycombo></para></entry>
<entry><para>Liigub järgmisele tõlkimata teatele</para></entry>
</row>
<row>
<entry><para><keycombo action="simul">&Shift;<keycap>Page Up</keycap></keycombo></para></entry>
<entry><para>Liigub eelmisele vigasele teatele</para></entry>
</row>
<row>
<entry><para><keycombo action="simul">&Shift;<keycap>Page Down</keycap></keycombo></para></entry>
<entry><para>Liigub järgmisele vigasele teatele</para></entry>
</row>
<row>
<entry><para><keycombo action="simul">&Ctrl;&Shift;<keycap>Page Up</keycap></keycombo></para></entry>
<entry><para>Liigub eelmisele kahtlasele või tõlkimata teatele</para></entry>
</row>
<row>
<entry><para><keycombo action="simul">&Ctrl;&Shift;<keycap>Page Down</keycap></keycombo></para></entry>
<entry><para>Liigub järgmisele kahtlasele või tõlkimata teatele</para></entry>
</row>
</tbody>
</tgroup>
</informaltable>
</sect2>
<sect2 id="kbabel-cleveredit">
<title>Tark redigeerimine</title>
<para><emphasis>Tark redigeerimine</emphasis> tähendab seda, et redaktor aitab tõlget redigeerides arvesse võtta PO-vormingu erinõudeid, parandades vajadusel korrektseks <quote>paomärgid</quote>.</para>
<para>Samuti on toetatud enam kui üks rea lõpetamise viis. See on üsna kasulik kas või juba selle tõttu, kuidas käsitleb ridade lõppu gettext: see lihtsalt eirab neid. (Sisuliselt tähendab see seda, et kogu <acronym>msgstr</acronym> teksti võetakse ühe reana.) Kui soovid lisada <quote>tegeliku</quote> realõpu, tuleb lisada <userinput>\n</userinput>. Kuid tõlkijad unustavad pahatihti, et uus rida <acronym>msgstr</acronym>-is ei lisa tühikut ridade vahele. See tuleb käsitsi iga rea lõpu lisada, kuid nii kerge on seda unustada. Ning siin tuleb appi <quote>tark redigeerimine</quote>, mis lisab selle sinu eest. </para>
<para>Järgnev tabel võtab kokku targa redigeerimise võimalused. </para>
<informaltable>
<tgroup cols="2">
<tbody>
<row>
<entry><para><keycombo action="simul"><keycap>TAB</keycap></keycombo></para></entry>
<entry><para>Lisab <emphasis>\t</emphasis></para></entry>
</row>
<row>
<entry><para><keycombo action="simul"><keycap>"</keycap></keycombo></para></entry>
<entry><para>Lisab <emphasis>\"</emphasis></para></entry>
</row>
<row>
<entry><para><keycombo action="simul"><keycap>Enter</keycap></keycombo></para></entry>
<entry><para>Kui viimane märk enne kursorit ei ole tühikumärk, lisatakse üks tühikumärk ja seejärel alustatakse uut rida.</para></entry>
</row><row>
<entry><para><keycombo action="simul">&Ctrl;<keycap>Enter</keycap></keycombo></para></entry>
<entry><para>Alustab uut rida ilma omapoolse panuseta</para></entry>
</row>
<row>
<entry><para><keycombo action="simul">&Shift;<keycap>Enter</keycap></keycombo></para></entry>
<entry><para>Lisab <emphasis>\n</emphasis> ja alustab uut rida</para></entry>
</row>
</tbody>
</tgroup>
</informaltable>
<note>
<para>Kui soovid tühimärke näha, võid seadistustedialoogis kaardi <guilabel>Redaktor</guilabel> alamkaardil <guilabel>Välimus</guilabel> sisse lülitada võimaluse <guibutton>Värviline taust</guibutton> ja/või <guibutton>Tühimärke näidatakse punktidena</guibutton>. </para>
</note>
</sect2>
<sect2 id="kbabel-roughtranslation">
<title>Automaattõlge</title>
<para>Esimese asjana uue tõlke käivitamisel võimaldab &kbabel; automaatselt tekitada tõlked vanemaid tõlkeid kasutades. Vali menüükäsk <menuchoice><guimenu>Tööriistad</guimenu><guimenuitem>Toores tõlge</guimenuitem></menuchoice> ning &kbabel; avab järgmise dialoogi: </para>
<para>
<screenshot>
<screeninfo>Toore tõlkimise dialoog</screeninfo>
<mediaobject>
<imageobject>
<imagedata fileref="roughtranslation.png" format="PNG"/>
</imageobject>
</mediaobject>
</screenshot>
</para>
<para>Selles dialoogis saab määrata, mida tõlkida, samuti valida varasemate tõlgete allika. </para>
<para>Ülal, sektsioonis <guilabel>Tõlgitakse</guilabel>, on kolm märkekasti (<guilabel>Tõlkimata kirjed</guilabel>, <guilabel>Kahtlased kirjed</guilabel>, <guilabel>Tõlgitud kirjed</guilabel>), mille abil saab määrata, millist laadi kirjeid tõlgitakse. Tõlkimata ja kahtlaste kirjete valimine on automaattõlke puhul ilmselt iseenesestmõistetav valik, kuid soovi korral võid nii muuta ka juba tõlgitud kirjeid. </para>
<para>Toorel tõlkimisel kasutatakse niikuinii <acronym>msgid</acronym> täpset sobivust. Kuid siin saab kasutusele võtta ka mõningaid lisastrateegiaid, &ie; <guilabel>Kahtlase tõlke lubamine (aeglane)</guilabel> ja <guilabel>Üksikute sõnade tõlkimine</guilabel>. Neid valikuid peab toetama ka kasutatav allikas (vaata selle kohta lähemalt allpool). Pole võimalik üheselt seletada, mis tähendab <quote>kahtlane tõlge</quote>, kuid selle sisu ei tohiks ometi segaseks jääda. <quote>Üksikute sõnade tõlkimine</quote> on mõttekas ainult mõne keele puhul. &kbabel; püüab sellisel juhul tõlkida iga <acronym>msgid</acronym>-i sõna eraldi ja seab seejärel sõnad või laused <acronym>msgstr</acronym>is samasse järjekorda. </para>
<para>Toore tõlkimise allikana saab kasutada suvalist olemasolevat sõnaraamatumoodulit. Dialoogi allosas on nimekirjad <guilabel>Ei kasutata</guilabel> ja <guilabel>Kasutatakse</guilabel>. Mooduleid kasutatakse selles järjekorras, nagu nad nimekirja <guilabel>Kasutatakse</guilabel> on lisatud. Kõigepealt võetakse ette esimene moodul, kui sellest midagi ei leita, siis teine ja nii edasi. Noolenuppudega saab mooduleid ühest nimekirjast teise liigutada. Kui soovid moodulite järjekorda muuta, kasuta nuppe <guibutton>Üles</guibutton> ja <guibutton>Alla</guibutton>. </para>
<para>Tavaliselt märgib &kbabel; iga toorelt tõlgitud teate kahtlaseks, sest eeldab, et automaatselt tõlgitud teade vajab tõlkijapoolset kontrolli. Kui sa oled absoluutselt kindel, et automaattõlge tuleb veatu, või vaatad tõlked niikuinii üle, saad eemaldada märke kastist <guilabel>Muudetud kirjed märgitakse kahtlaseks</guilabel>, kuid selle puhul küsitakse sinu käest, kas sa seda tõesti soovid. </para>
<para>Kui oled kõik vajalikud valikud langetanud, vajuta teadete automaattõlke alustamiseks nuppu <guibutton>Käivita</guibutton>. Selle kulgu saab jälgida edenemisribal ning vajaduse korral saab muidugi alati klõpsata ka nuppu <guibutton>Stopp</guibutton>. </para>
</sect2>
<sect2 id="kbabel-validation">
<title>Tõlke kontrollimine</title>
<para>Kõik võivad teha vigu. Seepärast toetab &kbabel; mitmeid tüüpiliste tõlkeprobleemide väljaselgitamise viise. Selliseid kontrolle (mitte küll süntaksi kontrolli) saab põhimõtteliselt läbi viia kahel moel.</para>
<para>Kontrollimist võib rakendada igal tõlgitud teksti muutmise sammul. Seda nimetatakse <emphasis>automaatseks kontrolliks</emphasis>, mille saab sisse lülitada <link linkend="preferences-editor">&kbabel;i seadistustedialoogis</link>. Automaatne süntaksi kontroll rakendub igal faili salvestamisel. </para>
<para>Automaatne kontroll võib aeglustada &kbabel;i tööd. Kui sul on aeglasem arvuti, võid automaatse kontrollimise välja lülitada ning kasutada teist meetodit. Suvalise kontrolli saab käivitada menüüst <menuchoice><guimenu>Tööriistad</guimenu><guisubmenu>Sobivus</guisubmenu></menuchoice>. Siis kontrollitakse üle faili kõik teated ning vigased märgitakse ära. </para>
<variablelist>
<varlistentry>
<term><guimenuitem>Kontrolli süntaksit</guimenuitem></term>
<listitem>
<para>Käivitab <command>msgfmt</command> kontrollimaks PO-faili sobivust &GNU; gettexti silmade läbi. Näitab käsu tulemusi ja märgib ära vigased <acronym>msgstr</acronym> kirjed. </para>
</listitem>
</varlistentry>
<varlistentry>
<term><guimenuitem>Kontrolli argumente</guimenuitem></term>
<listitem>
<para>Ebakorrektsed tõlked võivad kaasa tuua rakenduse krahhi. Kõige ohtlikum osa on selles mõttes argumendid, &eg; printf-stiilis funktsioonid. See kontroll võrdleb argumentide arvu ja tüüpi <acronym>msgid</acronym> ja <acronym>msgstr</acronym> kirjetes, mis peavad teineteisele vastama. </para>
</listitem>
</varlistentry>
<varlistentry>
<term><guimenuitem>Kontrolli kiirklahve</guimenuitem></term>
<listitem>
<para>&GUI; tekst sisaldab tavaliselt kiirklahvimärgiseid, &ie; tähti, mida saab kasutada &GUI; elementidele kiire ligipääsu võimaldamiseks klaviatuuri abil. Neid tähistatakse erisümboliga, &eg; &amp; &kde; puhul. Reeglina peab ka tõlgitud tekst sisaldama kiirklahvimärgiseid, kui need on olemas juba algupärandis. See kontroll annab teada, kui esineb mingeid probleeme. Kiirklahvimärgise saab määrata <guilabel>seadistuste</guilabel>dialoogi kaardil <guilabel>Muud</guilabel>. </para>
</listitem>
</varlistentry>
<varlistentry>
<term><guimenuitem>Jälgi kontekstiinfot</guimenuitem></term>
<listitem>
<para>Seda läheb tõenäoliselt vaja ainult &kde; tõlkimisel. Mõnegi kirje sisu on üldlevinud sõna, mis erinevas kontekstis tuleb erinevalt tõlkida. &kde;s kirjeldab konteksti <acronym>msgid</acronym> alguses seisev erijada märkide <userinput>:_</userinput> järel. Mõned tõlkijad aga ei pruugi seda tähele panna või isegi mitte teada ning tõlgivad ära ka kontekstiinfo. Selle kontrolliga leitakse taolised <quote>ülepingutamised</quote>, mis tuleks seejärel eemaldada. </para>
</listitem>
</varlistentry>
<varlistentry>
<term><guimenuitem>Kontrolli mitmuse vorme</guimenuitem></term>
<listitem>
<para>Kui <acronym>msgid</acronym> on määratletud <quote>mitmuse vormina</quote>, peab tõlge sisaldama korrektse arvu tõlkeid, mida eraldab <userinput>\n</userinput>. Korrektne arv sõltub tõlkekeelest ning see määratakse kindlaks <guilabel>seadistuste</guilabel>dialoogi kaardil <guilabel>Isikuandmed</guilabel>. Praegu on see teostatud ainult &kde; jaoks. </para>
</listitem>
</varlistentry>
<varlistentry>
<term><guimenuitem>Kontrolli võrdusi</guimenuitem></term>
<listitem>
<para>Võrdused on <acronym>msgid</acronym>-i eriline vorming, mis tüüpiliselt on kasutusel <filename>.desktop</filename>-failides. Et tõlge liidetakse neisse failidesse tagasi, peab ka <acronym>msgstr</acronym> antud erivormingut kasutama. See tähendab, et tõlge peab algama (kuni esimese <literal>=</literal> esinemiseni) samamoodi algupärase teatega, &eg; <userinput>Name=</userinput>. </para>
</listitem>
</varlistentry>
</variablelist>
</sect2>
<sect2 id="kbabel-spellcheck">
<title>Tõlke õigekirja kontrollimine</title>
<para>On iseenesestmõistetav, et enne tõlke kasutamist tuleb see üle vaadata ja kontrollida. Sel moel saab leida näpuvigu või ka mõningaid tõsisemaid puudujääke. &kbabel; kasutab &kde; tavapärast teeki õigekirja kontrollimiseks, selle standardseadistuse leiab <link linkend="preferences-project-spellcheck">projekti seadistustedialoogis</link>. Õigekirja kontrollimise võimalused ise asuvad alammenüüs <menuchoice><guimenu>Tööriistad</guimenu><guisubmenu>Õigekirja kontroll</guisubmenu></menuchoice>. Õigekirja saab kontrollida mitmel moel: </para>
<variablelist>
<varlistentry>
<term><guimenuitem>Õigekirja kontroll...</guimenuitem></term>
<listitem>
<para>See on mõeldud dialoogi väljakutsumiseks, kus saab valida õigekirja kontrollimise viisi ning määrata vaikeviisi, mida hiljem saab välja kutsuda kiirklahviga <keycombo action="simul">&Ctrl;<keycap>I</keycap> </keycombo>. </para>
</listitem>
</varlistentry>
<varlistentry>
<term><guimenuitem>Kontrolli kõike...</guimenuitem></term>
<listitem>
<para>Kontrollib kogu faili õigekirja. </para>
</listitem>
</varlistentry>
<varlistentry>
<term><guimenuitem>Kontrolli alates kursori asukohast...</guimenuitem></term>
<listitem>
<para>Käivitab õigekirja kontrollimise alates käesolevast teatest ja konrollib edasi faili lõpu poole. </para>
</listitem>
</varlistentry>
<varlistentry>
<term><guimenuitem>Kontrolli aktiivset...</guimenuitem></term>
<listitem>
<para>Kontrollib ainult aktiivse teate õigekirja. </para>
</listitem>
</varlistentry>
<varlistentry>
<term><guimenuitem>Kontrolli valitud teksti...</guimenuitem></term>
<listitem>
<para>Kui <acronym>msgstr</acronym> redaktoriaknas on mingi tekst valitud, saab selle võimalusega ainult selle õigekirja kontrollida. </para>
</listitem>
</varlistentry>
</variablelist>
</sect2>
<sect2 id="kbabel-tags">
<title>&XML;-i, <acronym>HTML</acronym>-i jne. tõlkimine</title>
<para>Märkekeelt kasutatakse &GUI; puhul üha enam. &kde; projekt tarvitab <acronym>PO</acronym>-faile ka DocBook dokumentatsioonifailide (mis on samuti märkekeel) tõlkimisel. &kbabel; toetab mitmeti sellist trendi. </para>
<note>
<para>Siin kirjeldame vaid funktsioone, mis on seotud märkimiseks kasutatavate siltidega. Teine märkekeele kasutamisel tekkiv probleem on seotud pikemate tekstide tõlkimisega. Sellega tegeleb <emphasis>võrdlemine</emphasis>, mida tutvustab lähemalt <link linkend="kbabel-diff">järgmine osa</link>. </para>
</note>
<para>&kbabel;i praegune versioon suudab tuvastada, milliseid silte kasutab <acronym>msgid</acronym>, ja pakkuda neile kiiret juurdepääsu järgmiste menüüs <guimenu>Redigeerimine</guimenu> olevate käskudega: </para>
<variablelist>
<varlistentry>
<term>
<guimenuitem>Lisa järgmine silt</guimenuitem>
</term>
<listitem>
<para>
<action>Lisab järgmises msgid-is leitud sildi tõlkesse. &kbabel; tuvastab lisatava sildi siltide arvu alates tõlke algusest kokku lugedes. </action>
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<menuchoice><guimenu>Redigeerimine</guimenu> <guisubmenu>Lisa silt</guisubmenu> </menuchoice>
</term>
<listitem>
<para>
<action>Selles alammenüüs on kirjas kõik märkekeele sildid, mida leiti algupärases ingliskeelses stringis. Neid mõne valimine lisab selle tõlgitud teksti kursori asukohta. </action>
</para>
</listitem>
</varlistentry>
</variablelist>
</sect2>
<sect2 id="kbabel-diff">
<title>Erinevuse näitamine</title>
<para>Mainisime juba, et mitmed kasutajasõbralikkusele rõhku panevad rakendused sisaldavad hulgaliselt pikemaid kirjeldavaid tekste, sealhulgas märkekeeles. Kui arendaja muudab osaliselt teksti, säilitab &GNU; gettext parimal juhul vana tõlke ja märgib selle kahtlaseks, halvemal juhul aga läheb - sõltuvalt tekstis tehtud muutuste ulatusest - kogu tõlge kaotsi. Sellest pole midagi, kui <acronym>msgid</acronym> on lühike, sest siis saab muutusi kiiresti tuvastada. Pikemate tekstide korral võib aga muutuste leidmine olla üsna vaevarikas (näiteks võib olla korrektor muutnud vaid artiklit või lisanud kirjavahemärgi). </para>
<para>Sinu abistamiseks võib &kbabel; otsida üles algupärase <acronym>msgid</acronym>-i ja näidata erinevust. Muutusi näidatakse graafiliselt <guilabel>algse stringi</guilabel> redaktoriaknas. Täpsemalt saab seda määrata <link linkend="preferences-editor-appearance">&kbabel;i seadistustedialoogis</link>. Menüükäsk <menuchoice><guimenu>Tööriistad</guimenu> <guisubmenu>Võrdlemine</guisubmenu> <guimenuitem>Näita võrdlust</guimenuitem> </menuchoice> näitab leitud erinevusi. Käesoleva teksti nägemiseks ilma algupärase tekstita kasuta menüükäsku <menuchoice><guimenu>Tööriistad</guimenu> <guisubmenu>Võrdlemine</guisubmenu> <guimenuitem>Näita algset teksti</guimenuitem> </menuchoice>. </para>
<para>Automaatset erinevuste otsimist saab lülitada menüükäsuga <menuchoice><guimenu>Tööriistad</guimenu> <guisubmenu>Võrdlemine</guisubmenu> <guimenuitem>Võrdlemise režiim</guimenuitem></menuchoice>. Kui see on sisse lülitatud, hakatakse erinevusi otsima kohe, kui suundud uuele teatele. </para>
<para>Nagu ikka, võid kasutada teksti varasema versiooni leidmiseks erinevaid allikaid, mida saab määrata <link linkend="preferences-diffmode">&kbabel;i seadistustedialoogis</link>: </para>
<variablelist>
<varlistentry>
<term>Tõlgete andmebaas</term>
<listitem>
<para>Erinevuste otsimiseks võib kasutada tõlgete andmebaasi. Me soovitame tungivalt lülitada sisse uute tõlgete automaatse lisamise tõlgete andmebaasi, mida saab teha <link linkend="database-fill">tõlgete andmebaasi seadistustedialoogis</link>. Selle režiimi saab sisse lülitada võimalusega <guilabel>Kasutatakse tõlgete andmebaasi kirjeid</guilabel>. </para>
</listitem>
</varlistentry>
<varlistentry>
<term>Vanade failide puu</term>
<listitem>
<para>Seda saab kasutada ainult siis, kui tõlgete andmebaasi kasutamine on välja lülitatud. Määrates <guilabel>Diff-failide kataloog</guilabel>i, saab &kbabel;is määrata, millist faili erinevuste leidmiseks kasutada. Pruugitakse avatud failide suhtelist otsinguteed, mida kasutatakse siin määratud kataloogis. Kui vastav fail on olemas, kasutatakse seda. Selle meetodi kasutamiseks peaks enne iga uuendamist tegema vanadest failidest varukoopia. </para>
</listitem>
</varlistentry>
<varlistentry>
<term>Käsitsi valitud fail</term>
<listitem>
<para>Kui eelmised võimalused päris hästi ei toimi, võid alati valida erinevuste leidmiseks vali ka käsitsi, kasutades menüükäsku <menuchoice><guimenu>Tööriistad</guimenu><guisubmenu>Võrdlemine</guisubmenu><guimenuitem>Ava fail võrdluseks</guimenuitem></menuchoice>. </para>
</listitem>
</varlistentry>
</variablelist>
<note>
<para>Erinevuse otsing ei pruugi alati olla täpne, sest <acronym>PO</acronym>-fail ei sisalda mingit viidet algsele teatele. </para>
</note>
</sect2>
</sect1>
<sect1 id="kbabel-pluralforms">
<title>Mitmuse vormid</title>
<para>Kuivõrd mitmuse vormide teema on üpris keerukas, pühendame nende toetusele &kbabel;is omaette osa. </para>
<note><para>See osa käsitleb &kde; mitmuse vorme (veel täpsemalt &kde; 3 omi). Alates versioonis 1.11 (KDE 3.5) oskab &kbabel; lugeda, redigeerida ja salvestada ka &GNU; gettexti mitmuse vorme. </para></note>
<para>Iga keele puhul, millesse &kde; tõlgitakse, on vajalik määrata mitmuse vormide korrektne arv. Seda saab teha vastava kirjega failis <filename>tdelibs.po</filename>. Arv määratakse keele nime valides, mis kasutab õige mitmuse vormide arvu leidmiseks sama numbrit ja <emphasis>reegleid</emphasis>. Võimalike väärtuste uusima nimekirja leiab tdelibs lähtekoodis failis <filename>tdecore/tdelocale.cpp</filename>. </para>
<note><para>&GNU; gettext lubab määrata mitmuse vormide arvu ja tüübi teatud valemiga ning kasutada seda valemit iseseisvalt igas PO-failis eraldi. &kde; määrab mitmuse vormide arvu ja tüübi kindlaks ainult ühekordselt kogu KDE jaoks. </para></note>
<para>&kde; mitmuse vormid on tähistatud kommentaariga <userinput>_n:</userinput>, mis sisaldab argumenti <literal>%n</literal>. Seda argumenti kasutatakse siis teates endas ning see kontrollib, millist mitmuse vormi tuleks sinu keeles vastavalt keele reeglitele kasutada. </para>
<para>Mitmuse vormide tõlkimisel tuleb kasutada spetsiaalset vormingut. Selles peab leiduma korrektne arv tõlkeid (üks iga vormi kohta), mida eraldab rea lõpus <literal>\n</literal>, aga sealjuures <emphasis>ilma</emphasis> originaalis leiduva tähiseta <userinput>_n:</userinput>. Toome näiteks kirje <quote>_n: Selected 1 file\nSelected %n files</quote> tõlke slovaki keelde: </para>
<programlisting>Vybraný %n súbor\n
Vybrané %n súbory\n
Vybraných %n súborov
</programlisting>
<para>Kontrollimaks, kas tõlge sisaldab korrektse arvu mitmuse vorme, kasuta menüükäsku <menuchoice><guimenu>Tööriistad</guimenu> <guisubmenu>Sobivus</guisubmenu> <guimenuitem>Kontrolli mitmuse vorme (ainult KDE)</guimenuitem></menuchoice>. </para>
</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
-->