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

<othercredit role="translator"
><firstname
>Pedro</firstname
><surname
>Morais</surname
><affiliation
><address
><email
>morais@kde.org</email
></address
></affiliation
><contrib
>Tradução</contrib
></othercredit
> 
</chapterinfo>

<title
>Dicionários</title>

<para
>O &kbabel; tem 3 modos que podem ser usados para procurar os textos das mensagens <acronym
>PO</acronym
> traduzidas:</para>

<itemizedlist>
     <listitem>
       <para
>Procurar uma tradução, usando uma bases de dados de traduções </para>
     </listitem>
      <listitem>
         <para
>Tradução lata </para>
      </listitem>
      <listitem>
         <para
>&kbabeldict; </para>
      </listitem>
</itemizedlist>

<sect1 id="database">
<!-- FIXME: settings -->
<title
>Base de dados de traduções</title>

<!-- ### TODO: only *one* file? Seems more to be four... -->
<para
>A base de dados de traduções permite-lhe gravar as traduções numa base de dados baseada na Berkeley Database IV, &ie; está gravada num ficheiro binário no seu disco. A base de dados garante uma procura rápida num grande conjunto de traduções.</para>

<para
>Este modo é o melhor integrado com o &kbabel;. Para além de procurar e de fazer uma tradução lata também suporta as seguintes funcionalidades:</para>

<itemizedlist>
<listitem>
<para
>Cada tradução nova feita no editor do &kbabel; poderá ser automaticamente guardada na base de dados.</para>
</listitem>
<listitem>
<para
>Esta base de dados poderá ser usada para fazer um <quote
>diff</quote
> do <acronym
>msgid</acronym
>.</para>
</listitem>
</itemizedlist>

<para
>Claro, quanto mais traduções estiverem guardadas na base de dados, mais produtivo você poderá ser. Para preencher a base de dados, você poderá usar a página <guilabel
>Base de Dados</guilabel
> na janela de configuração poderá activar a adição automática de todas as mensagens traduzidas na mesma página.</para>

<sect2 id="database-settings">
<title
>Configuração</title>
<para
>Você poderá configurar este modo de pesquisa e como deverá ser usado se seleccionar a opção <menuchoice
> <guisubmenu
>Configuração</guisubmenu
> <guisubmenu
>Configurar o Dicionário</guisubmenu
> <guimenuitem
>Base de Dados de Traduções</guimenuitem
> </menuchoice
> no menu do &kbabel;. </para>
<para
>A página <guilabel
>Genérico</guilabel
> contém opções gerais para procurar na base de dados. </para>
<variablelist>
  <varlistentry>
    <term
><guilabel
>Procurar em toda a base de dados (lento)</guilabel
></term>
    <listitem>
    <para
>Não usar as <quote
>chaves boas</quote
>, mas sim procurar em toda a base de dados. Isto é lento, mas irá devolver resultados mais precisos. </para>
    </listitem>
  </varlistentry>
  <varlistentry>
    <term
><guilabel
>Procurar na lista de "boas chaves" (aconselhado)</guilabel
></term>
    <listitem>
    <para
>Use a estratégia das <quote
>boas chaves</quote
>. Esta opção dar-lhe-á o melhor compromisso entre velocidade e uma correspondência exacta. </para>
    </listitem>
  </varlistentry>
  <varlistentry>
    <term
><guilabel
>Devolver a lista de "boas chaves" (rápido)</guilabel
></term>
    <listitem>
    <para
>Devolver apenas as <quote
>chaves boas</quote
>; não tentar eliminar mais nenhuns textos. Este é o método mais rápido possível, mas poderá dar origem a um grande número de correspondências inexactas. </para>
    </listitem>
  </varlistentry>
<varlistentry>
    <term
><guibutton
>Distinguir maiúsculas</guibutton
></term>
    <listitem>
    <para
>Faz uma distinção da capitalização das letras ao procurar o texto. </para>
    </listitem>
  </varlistentry>
<varlistentry>
    <term
><guibutton
>Normalizar os espaços em branco</guibutton
></term>
    <listitem>
    <para
>Retira os espaços em branco desnecessários nos textos, de modo a que a procura ignore as pequenas diferenças de espaços em branco, &eg; o número de espaços no texto. </para>
    </listitem>
  </varlistentry>
<varlistentry>
    <term
><guibutton
>Remover os comentários de contexto</guibutton
></term>
    <listitem>
    <para
>Não incluir os comentários de contexto na procura. Você irá querer activar isto à mesma. </para>
    </listitem>
  </varlistentry>
  <varlistentry>
    <term
><guilabel
>Carácter a ignorar</guilabel
></term>
    <listitem>
    <para
>Aqui você poderá indicar os caracteres que deverão ser ignorados ao efectuar as procuras. O exemplo típico seria a marcação de aceleradores, &ie;, o &amp; para os textos do &kde;. </para>
    </listitem>
  </varlistentry>
  </variablelist>
<para
>A página <guilabel
>Procura</guilabel
> contém uma especificação mais exacta para procurar o texto. Você poderá definir como procurar e também permite usar outra forma especial de procura chamada <emphasis
><guilabel
>Substituição de palavras</guilabel
></emphasis
>. Ao substituir uma ou mais palavras, o texto aproximado poderá também ser obtido. Por exemplo, assumindo que você iria procurar o texto <userinput
>O meu nome é Zé</userinput
>. </para>
<variablelist>
  <varlistentry>
    <term
><guilabel
>Igual</guilabel
></term>
    <listitem>
    <para
>O texto da base de dados irá corresponder se for o mesmo que o texto procurado. No nosso exemplo, poderá ser igual a <emphasis
>O meu nome é &amp;Zé</emphasis
> (se o &amp; estiver configurado como carácter a ignorar no campo <guilabel
>Caracteres a ignorar</guilabel
> na página <guilabel
>Genérico</guilabel
>). </para>
    </listitem>
  </varlistentry>
  <varlistentry>
    <term
><guilabel
>A pesquisa está contida</guilabel
></term>
    <listitem>
    <para
>O texto da base de dados fará correspondência se o texto procurado estiver contido no mesmo. No nosso exemplo, poderia ser <emphasis
>O meu nome é Zé, sabia?</emphasis
>. </para>
    </listitem>
  </varlistentry>
  <varlistentry>
    <term
><guilabel
>A pesquisa contém</guilabel
></term>
    <listitem>
    <para
>O texto da base de dados fará correspondência se o texto procurado o contiver. No nosso exemplo, poderia ser <emphasis
>Zé</emphasis
>. Você poderá usar isto para enumerar as possibilidades a serem encontradas. </para>
    </listitem>
  </varlistentry>
<varlistentry>
    <term
><guibutton
>Expressão Regular</guibutton
></term>
    <listitem>
    <para
>Vê o texto pesquisado como uma expressão regular. Isto é usado principalmente pelo &kbabeldict;. Você não deverá estar, à partida, à espera de expressões regulares nos ficheiros PO. </para>
    </listitem>
  </varlistentry>
<varlistentry>
    <term
><guibutton
>Usar a substituição de uma palavra</guibutton
></term>
    <listitem>
    <para
>Se o texto da pesquisa contiver menos palavras do que as indicadas em baixo, também tentará substituir uma das palavras na pesquisa. No nosso exemplo, irá encontrar também a mensagem <emphasis
>O seu nome é Zé</emphasis
>. </para>
    </listitem>
  </varlistentry>
<varlistentry>
    <term
><guibutton
>Número máximo de palavras na pesquisa</guibutton
></term>
    <listitem>
    <para
>O número máximo de palavras numa pesquisa necessários para activar a substituição de uma palavra. </para>
    </listitem>
  </varlistentry>
  <varlistentry>
    <term
><guilabel
>Caracteres locais para as expressões regulares</guilabel
></term>
    <listitem>
    <para
>Caracteres a ser considerados parte das expressões regulares. </para>
    </listitem>
  </varlistentry>
  </variablelist>
<note>
<para
>A substituição de duas palavras ainda não está implementada. </para>
</note>
</sect2>

<sect2 id="database-fill">
<title
>Preencher a base de dados</title>
<para
>A página <guilabel
>Base de Dados</guilabel
> permite definir onde é que a base de dados está armazenada no disco (<guilabel
>Pasta da base de dados</guilabel
>) e se deverá ser usada para o armazenamento automático das traduções novas (<guibutton
>Adicionar automaticamente o item à base de dados</guibutton
>). Nesse caso, você deverá indicar o autor da nova tradução no <guilabel
>Autor do registo adicionado automaticamente</guilabel
>. </para>
<para
>O resto da página permite-lhe preencher a base de dados a partir dos ficheiros PO já existentes. Use um dos botões do meio da janela. O progresso da leitura do ficheiro será mostrado nas barras por baixo dos botões. O botão <guilabel
>Textos repetidos</guilabel
> deverá ser usado no caso especial em que um texto traduzido é repetido muitas vezes, por isso você não irá querer guardar demasiadas ocorrências. Aqui você poderá limitar os textos armazenados. </para>
<screenshot>
<screeninfo
>Preencher a base de dados</screeninfo>
<mediaobject>
<imageobject>
<imagedata fileref="dbcan.png" format="PNG"/>
</imageobject>
<textobject
><phrase
>Preencher a base de dados a partir de ficheiros PO existentes</phrase
></textobject>
</mediaobject>
</screenshot
></sect2>

<sect2 id="database-goodkeys">
<title
>Definir as boas chaves</title>
<para
>Na página <guilabel
>Boas Chaves</guilabel
>, encontram-se os limites que definem como preencher a lista das boas chaves. O <guilabel
>Número mínimo de palavras da pesquisa na chave (%)</guilabel
> indica exactamente isso. O texto terá de conter somente esta percentagem das palavras para usar como boa chave. O oposto poderá ser indicado através da opção <guilabel
>Número mínimo das palavras da chave também na pesquisa (%)</guilabel
>. O comprimento das palavras pode ser definido na opção <guilabel
>Tamanho máximo</guilabel
>. </para>
<para
>O texto pesquisado normalmente contém um conjunto de palavras genéricas, &eg; artigos. Você poderá eliminar as palavras com base na frequência. Você poderá eliminá-las com a opção <guilabel
>Descartar as palavras mais frequentes que</guilabel
> ou vê-las como sempre presentes se ver a opção <guilabel
>as palavras frequentes são consideradas em todas as chaves</guilabel
>. Desta forma, as palavras frequentes serão quase invisíveis para as pesquisas. </para>
</sect2>
</sect1>


<sect1 id="auxiliary">
<title
>Ficheiro PO auxiliar</title>

<para
>Este modo de procura baseia-se na correspondência da mesma mensagem original em inglês (a 'msgid') traduzida noutra língua num ficheiro <acronym
>PO</acronym
> auxiliar. É bastante comum nas línguas românicas existirem palavras semelhantes, como acontece também com as línguas anglo-saxónicas e eslavas.</para>

<para
>Por exemplo, imagine-se que eu desejaria traduzir a palavra <quote
>on</quote
>, a partir do ficheiro <filename
>kdelibs.po</filename
>, para Romeno, mas não faço a menor ideia. Dando uma vista de olhos na versão em Francês, vejo a palavra <foreignphrase lang="fr"
>actif</foreignphrase
>, enquanto que em Espanhol vejo <foreignphrase lang="es"
>activado</foreignphrase
>. Daí, conclui-se que a melhor forma em romeno será <quote
>active</quote
> (Claro, no Inglês, em vez de <quote
>on</quote
>, a palavra poderia ter sido <quote
>active</quote
> ou <quote
>activated</quote
>). O &kbabel; automatiza esta tarefa. De momento, você só poderá definir um ficheiro auxiliar onde procurar. </para>

<sect2 id="auxiliary-settings">
<title
>Configuração</title>
<para
>Você poderá configurar este modo de procurar se seleccionar <menuchoice
> <guisubmenu
>Configuração</guisubmenu
> <guisubmenu
>Configurar o Dicionário</guisubmenu
> <guimenuitem
>Auxiliar PO</guimenuitem
> </menuchoice
> no menu do &kbabel;.</para>

<para
>Na janela <guilabel
>Configurar o Auxiliar PO do Dicionário</guilabel
>, você poderá seleccionar a localização do ficheiro <acronym
>PO</acronym
> auxiliar. Para automatizar a mudança de ficheiro <acronym
>PO</acronym
>, sempre que você muda o ficheiro em edição, existem muitas variáveis delimitadas pelo carácter <literal
>@</literal
> que são substituídas pelos valores apropriados:</para>

<variablelist>
  <varlistentry>
    <term
>@PACKAGE@</term>
    <listitem
><para
>O nome da aplicação ou do pacote que está a ser traduzido de momento. Por exemplo, poderá expandir-se para 'kbabel', 'kdelibs', 'konqueror' e assim por diante. </para
></listitem>
  </varlistentry>
  <varlistentry>
    <term
>@LANG@</term>
    <listitem
><para
>O código da língua. Por exemplo, poderá expandir para: pt, de, ro, fr, &etc;. </para
></listitem>
  </varlistentry>
  <varlistentry>
    <term
>@DIRn@</term>
    <listitem
><para
>em que o <quote
>n</quote
> é um inteiro positivo. Isto expande-se para a <quote
>n</quote
>-ésima pasta contada no nome do ficheiro (da direita para a esquerda). </para
></listitem>
  </varlistentry>
</variablelist>

<para
>O campo de edição mostra a localização actual do ficheiro <acronym
>PO</acronym
> auxiliar. Embora seja melhor usar as variáveis fornecidas numa localização, é possível escolher uma localização absoluta e real para um ficheiro <acronym
>PO</acronym
> existente. Vamos ver um exemplo.</para>

<para
>Sou Português, tenho algum conhecimento de Francês, e trabalho na tradução do &kde;.</para>

<!-- ### TODO: check URL, especially the kde-l10n part -->
<para
>O primeiro passo é obter uma versão muito recente do <filename
>kde-l10n-fr.tar.bz2</filename
> do <ulink url="ftp://ftp.kde.org/pub/kde/snapshots/kde-l10n"
>servidor de &FTP; do &kde;</ulink
> ou usar o sistema do <acronym
>CVS</acronym
> para colocar no meu disco rígido uma árvore de traduções em Francês. Irei fazer isto para <filename
>/home/ze/cvs-cvs.kde.org/kde-l10n/fr</filename
>.</para>

<para
>A minha pasta de ficheiros <acronym
>PO</acronym
> está em <filename
>/home/ze/cvs-cvs.kde.org/kde-l10n/pt</filename
>. Não se esqueça de escolher o <guilabel
>Auxiliar PO</guilabel
> como dicionário por omissão e assinale a opção <guilabel
>Iniciar a pesquisa automaticamente</guilabel
> na página <guilabel
>Pesquisa</guilabel
> da janela de <guilabel
>Preferências</guilabel
> do &kbabel;.</para>

</sect2>
</sect1>

<sect1 id="compendium">
<!-- FIXME: examples -->
<title
>Compêndio PO</title>

<para
>Um compêndio é um ficheiro que contém uma colecção com todas as mensagens de tradução (pares de <acronym
>msgid</acronym
> e <acronym
>msgstr</acronym
>) num projecto, &eg; no &kde;. Tipicamente, o compêndio para uma dada língua é criado ao concatenar todos os ficheiros <acronym
>PO</acronym
> do projecto para a língua. O compêndio poder conter mensagens traduzidas, não-traduzidas ou aproximadas. As mensagens não traduzidas são ignoradas por este módulo. </para>

<para
>Semelhante ao Auxiliar <acronym
>PO</acronym
>, este modo de pesquisa baseia-se na correspondência da <quote
>mesma</quote
> mensagem original (<acronym
>msgid</acronym
>) de um compêndio. De momento, só pode definir um ficheiro de compêndio onde procurar. </para>

<para
>Este modo é muito útil se você não estiver a usar a base de dados de traduções e se quiser obter uma tradução consistente com outras traduções. Já agora, os ficheiros de compêndio são muito mais fáceis de partilhar com os outros tradutores, e mesmo com outros projectos de traduções, dado que poderão ser gerados para eles à mesma. </para>

<sect2 id="compendium-settings">
<title
>Configuração</title>

<para
>Você poderá configurar este modo de pesquisa ao seleccionar <menuchoice
> <guisubmenu
>Configuração</guisubmenu
> <guisubmenu
>Configurar o Dicionário</guisubmenu
> <guimenuitem
>Compêndio PO</guimenuitem
> </menuchoice
> no menu do &kbabel;. </para>

<para
>Na janela <guilabel
>Configurar o Compêndio PO do Dicionário</guilabel
>, você poderá indicar a localização de um ficheiro de compêndio. Para automatizar a mudança de ficheiros de compêndio quando você mudar a língua da tradução, existe uma variável delimitada por um <literal
>@</literal
> que é substituída por um valor apropriado:</para>

<variablelist>
  <varlistentry>
    <term
>@LANG@</term>
    <listitem
><para
>O código da língua. Por exemplo, poderá expandir para: pt, de, ro, fr, &etc;. </para
></listitem>
  </varlistentry>
</variablelist>

<para
>No campo de edição é mostrada a localização actual do ficheiro <acronym
>PO</acronym
> do compêndio. Embora você tivesse usado melhora as variáveis fornecidas na localização, é possível indicar uma localização real e absoluta para o ficheiro <acronym
>PO</acronym
> a usar como compêndio.</para>

<!-- ### TODO: check URL, especially the kde-l10n part -->
<para
>Um compêndio muito actualizado para as traduções do &kde; em, &eg;, Português, poderá ser obtido em <filename
>pt.messages.bz2</filename
> a partir do <ulink url="ftp://ftp.kde.org/pub/kde/snapshots/kde-l10n"
>servidor de &FTP; do &kde;</ulink
>. </para>

<para
>Você poderá definir como procurar no compêndio, usando as opções adicionais à localização. Estas estão divididas em dois grupos: opções de correspondência de texto, onde você poderá indicar como é que o texto é comparado e se deve ignorar as mensagens aproximadas, e opções de correspondência de mensagens, que definem se a tradução do compêndio deverá ser um excerto da mensagem de procura ou vice-versa.</para>

<variablelist>
  <varlistentry>
    <term
><guilabel
>Distinguir maiúsculas</guilabel
></term>
    <listitem>
    <para
>Se a correspondência da mensagem no compêndio deverá fazer distinção entre as letras minúsculas e as maiúsculas. </para>
    </listitem>
  </varlistentry>
  <varlistentry>
    <term
><guilabel
>Ignorar as mensagens aproximadas</guilabel
></term>
    <listitem>
    <para
>Se as mensagens aproximadas do compêndio deverão ser ignoradas na procura. O compêndio poderá conter mensagens aproximadas, desde que seja criado tipicamente através da concatenação dos ficheiros <acronym
>PO</acronym
> do projecto e que poderão conter mensagens aproximadas. As mensagens não traduzidas são sempre ignoradas (Você não pode procurar a tradução em mensagens não traduzidas, certo?)</para>
    </listitem>
  </varlistentry>
  <varlistentry>
    <term
><guilabel
>Só palavras completas</guilabel
></term>
    <listitem>
    <para
>Se o texto correspondente deverá começar e terminar nos limites das palavras. </para>
    </listitem>
  </varlistentry>
  <varlistentry>
    <term
>Um texto corresponde se <guilabel
>é igual ao texto da procura</guilabel
></term
> 
    <listitem>
    <para
>Um texto no compêndio faz correspondência com o texto a procurar só se for exactamente igual (obviamente, usando as opções acima). </para>
    </listitem>
  </varlistentry>
  <varlistentry>
    <term
>Um texto corresponde se <guilabel
>for semelhante ao texto da procura</guilabel
></term>
    <listitem>
    <para
>Um texto do compêndio corresponde ao texto da procura só se for <quote
>semelhante</quote
>. Ambos os textos são comparados através de pequenos blocos de letras (<quote
>trigramas</quote
>) e se pelo menos metade desses blocos for igual. </para>
    </listitem>
  </varlistentry>
  <varlistentry>
    <term
>Um texto corresponde se <guilabel
>contiver o texto da procura</guilabel
></term>
    <listitem>
    <para
>Um texto do compêndio corresponde ao texto da procura se contiver o texto da procura propriamente dito.</para>
    </listitem>
  </varlistentry>
  <varlistentry>
    <term
>Um texto corresponde se <guilabel
>estiver contido no texto da procura</guilabel
></term>
    <listitem>
    <para
>Um texto do compêndio corresponde ao texto da procura se estiver contido no texto da procura propriamente dito. </para>
    </listitem>
  </varlistentry>
  <varlistentry>
    <term
>Um texto corresponde se <guilabel
>contiver uma palavra do texto da procura</guilabel
></term>
    <listitem>
    <para
>Os textos são divididos em palavras e um texto do compêndio corresponderá ao texto da procura só se contiver alguma palavra do texto da procura. </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 
-->

