<!-- <?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
>Marcus</firstname
><surname
>Gama</surname
><affiliation
><address
><email
>marcus_gama@uol.com.br</email
></address
></affiliation
><contrib
>Tradução</contrib
></othercredit
> 
</chapterinfo>

<title
>Dicionários</title>

<para
>O &kbabel; possui 3 modos que podem ser usados para procurar por strings de mensagens <acronym
>PO</acronym
> traduzidos:</para>

<itemizedlist>
     <listitem>
       <para
>Procurar traduções usando um banco de dados de traduções </para>
     </listitem>
      <listitem>
         <para
>Tradução aproximada </para>
      </listitem>
      <listitem>
         <para
>&kbabeldict; </para>
      </listitem>
</itemizedlist>

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

<para
>O banco de dados de traduções lhe permite armazenar traduções num banco de dados baseado no Banco de Dados Berkeley II, &ie; elas são armazenadas num arquivo binário em seu disco. O banco de dados garante um busca rápida num grande número de traduções.</para>

<para
>Este modo é o mais bem integrado ao &kbabel;. Além da busca e tradução aproximada ele também suporta os seguintes recursos:</para>

<itemizedlist>
<listitem>
<para
>Cada nova tradução digitada no editor do &kbabel; pode ser automaticamente armazenada no banco de dados.</para>
</listitem>
<listitem>
<para
>Este banco de dados pode ser usado para <quote
>diferenciar</quote
> <acronym
>msgid</acronym
>.</para>
</listitem>
</itemizedlist>

<para
>É claro, quanto mais traduções são armazenadas no banco de dados, mais produtivo você pode ser. Para preencher o banco de dados, você pode usar a aba <guilabel
>Banco de Dados</guilabel
> no diálogo de preferências ou você pode habilitar a adição automática de cada mensagem traduzida nessa mesma aba.</para>

<sect2 id="database-settings">
<title
>Configurações</title>
<para
>Você pode configurar este modo de busca e como ele deverá ser usado selecionando <menuchoice
> <guisubmenu
>Configurações</guisubmenu
> <guisubmenu
>Configurar Dicionário</guisubmenu
> <guimenuitem
>Banco de Dados de Traduções</guimenuitem
> </menuchoice
> no menu do &kbabel;. </para>
<para
>A aba <guilabel
>Genérico</guilabel
> contém configurações gerais para busca no banco de dados. </para>
<variablelist>
  <varlistentry>
    <term
><guilabel
>Procurar em todo o banco de dados (lento)</guilabel
></term>
    <listitem>
    <para
>Não usa <quote
>boas chaves</quote
>, busca em todo o banco de dados. Isto é lento, mas retornará os resultados mais precisos. </para>
    </listitem>
  </varlistentry>
  <varlistentry>
    <term
><guilabel
>Procurar na lista de "boas chaves" (melhor)</guilabel
></term>
    <listitem>
    <para
>Usa a estratégia de <quote
>boas chaves</quote
>. Esta opção lhe fornecerá o melhor desempenho entre velocidade e correspondência exata. </para>
    </listitem>
  </varlistentry>
  <varlistentry>
    <term
><guilabel
>Retorna a lista de "boas chaves" (rápido)</guilabel
></term>
    <listitem>
    <para
>Apenas retorna <quote
>boas chaves</quote
>, não tenta eliminar qualquer texto a mais. Este é o método mais rápido, mas pode fornecer um grande número de correspondências imprecisas. </para>
    </listitem>
  </varlistentry>
<varlistentry>
    <term
><guibutton
>Sensível à caixa</guibutton
></term>
    <listitem>
    <para
>Distingue a caixa das letras na busca de texto. </para>
    </listitem>
  </varlistentry>
<varlistentry>
    <term
><guibutton
>Normaliza espaços em branco</guibutton
></term>
    <listitem>
    <para
>Pula espaços em branco desnecessários nos textos, de modo que a busca ignore pequenas diferenças de espaço em branco, &eg; número de espaços no texto. </para>
    </listitem>
  </varlistentry>
<varlistentry>
    <term
><guibutton
>Remover comentário de contexto</guibutton
></term>
    <listitem>
    <para
>Não inclui comentário de contexto na busca. Você desejará que isto esteja habilitado. </para>
    </listitem>
  </varlistentry>
  <varlistentry>
    <term
><guilabel
>Caracter a ser ignorado</guilabel
></term>
    <listitem>
    <para
>Aqui você pode inserir caracteres que devem ser ignorados durante a busca. Um exemplo típico pode ser a marca de acelerador &ie; &amp; para textos &kde;. </para>
    </listitem>
  </varlistentry>
  </variablelist>
<para
>A aba <guilabel
>Procurar</guilabel
> contém especificações detalhadas para procura de texto. Você pode definir como procurar e também permitir o uso de outro modo especial de procura chamado <emphasis
><guilabel
>Substituição de palavra</guilabel
></emphasis
>. Substituindo uma ou duas palavras o texto aproximado pode ser encontrado. Por exemplo, imagine que você está tentando encontrar o texto <userinput
>Meu nome é Andréia</userinput
>. </para>
<variablelist>
  <varlistentry>
    <term
><guilabel
>Igual</guilabel
></term>
    <listitem>
    <para
>O texto do banco de dados corresponde se ele for o mesmo de string procurado. Em nosso exemplo, ele pode ser <emphasis
>Meu nome é &amp;Andréia</emphasis
> (se &amp; tiver sido configurado como caracter ignorado em <guilabel
>Caracteres a serem ignorados</guilabel
> na aba <guilabel
>Genérico</guilabel
>). </para>
    </listitem>
  </varlistentry>
  <varlistentry>
    <term
><guilabel
>Consulta está contida</guilabel
></term>
    <listitem>
    <para
>O texto do banco de dados corresponde se o string procurado estiver contido nele. Para o nosso exemplo ele pode ser <emphasis
>Meu nome é Andréia, você sabia?</emphasis
>. </para>
    </listitem>
  </varlistentry>
  <varlistentry>
    <term
><guilabel
>Consulta contém</guilabel
></term>
    <listitem>
    <para
>O texto do banco de dados corresponde se o string procurado o contém. Para o nosso exemplo ele pode ser <emphasis
>Andréia</emphasis
>. Você pode usar isto para enumerar as possibilidades a serem encontradas. </para>
    </listitem>
  </varlistentry>
<varlistentry>
    <term
><guibutton
>Expressão Regular</guibutton
></term>
    <listitem>
    <para
>Considere o texto procurado como uma expressão regular. Isto é principalmente usado para o &kbabeldict;. Você pode procurar com base em expressões regulares nos arquivos PO. </para>
    </listitem>
  </varlistentry>
<varlistentry>
    <term
><guibutton
>Use uma substituição de palavra</guibutton
></term>
    <listitem>
    <para
>Se o texto de consulta contém menos palavras que as especificadas abaixo, ele também tenta substituir uma das palavras na consulta. Em nosso exemplo ele procurará por <emphasis
>Seu nome é Andréia</emphasis
> também. </para>
    </listitem>
  </varlistentry>
<varlistentry>
    <term
><guibutton
>Máximo número de palavras na consulta</guibutton
></term>
    <listitem>
    <para
>Número máximo de palavras numa consulta para habilitar a substituição de uma palavra. </para>
    </listitem>
  </varlistentry>
  <varlistentry>
    <term
><guilabel
>Caracteres locais para expressões regulares</guilabel
></term>
    <listitem>
    <para
>Caracteres a serem considerados parte de expressões regulares. </para>
    </listitem>
  </varlistentry>
  </variablelist>
<note>
<para
>Substituição de duas palavras ainda não foi implementada. </para>
</note>
</sect2>

<sect2 id="database-fill">
<title
>Preenchendo o banco de dados</title>
<para
>A aba <guilabel
>Banco de Dados</guilabel
> permite definir onde está armazenado o banco de dados no disco (<guilabel
>Pasta do Banco de Dados</guilabel
>) e se ele deve ser usado para armazenamento automático de novas traduções (<guibutton
>Auto-adicionar entrada ao banco de dados</guibutton
>). Neste caso você deve especificar o autor da nova tradução em <guilabel
>Autor da entrada adicionada automaticamente</guilabel
>. </para>
<para
>O resto da aba permite preencher o banco de dados a partir de arquivos PO já existentes. Use um dos botões do meio da caixa de diálogo. O progresso do carregamento de arquivos será mostrado através de barra de progresso abaixo dos botões. O botão <guilabel
>Strings repetidos</guilabel
> deve ser usado no caso especial de um string traduzido estiver repetido muitas vezes, caso você não queira armazenar muitos deles. Aqui você pode limitar os strings armazenados. </para>
<screenshot>
<screeninfo
>Preenchendo o banco de dados</screeninfo>
<mediaobject>
<imageobject>
<imagedata fileref="dbcan.png" format="PNG"/>
</imageobject>
<textobject
><phrase
>Preenchendo o banco de dados com arquivos PO existentes</phrase
></textobject>
</mediaobject>
</screenshot
></sect2>

<sect2 id="database-goodkeys">
<title
>Definindo boas chaves</title>
<para
>Na aba <guilabel
>Boas chaves</guilabel
> estão as regras para especificar como preencher a lista de chaves boas. <guilabel
>Número mínimo de palavras da consulta na chave (%)</guilabel
> especifique exatamente que o texto precisará conter somente este percentual de palavras para se qualificar como uma boa chave. O oposto pode ser especificado via <guilabel
>Número mínimo de palavras da chave também na consulta (%)</guilabel
>. O tamanho das palavras pode ser configurado na caixa de número <guilabel
>Tamanho máximo</guilabel
>. </para>
<para
>O texto procurado tipicamente contém diversas palavras genéricas, &eg; artigos. Você pode eliminar as palavras baseado na freqüência. Você pode descartá-las com <guilabel
>Discartar palavras mais freqüentes que</guilabel
> ou considerar com sempre presente com <guilabel
>palavras freqüentes são consideradas em toda chave</guilabel
>. Deste modo as palavras freqüentes serão invisíveis para as consultas. </para>
</sect2>
</sect1>


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

<para
>Este modo de busca é baseado na correspondência do mesmo string original em Inglês (o msgid) traduzido para outro idioma num arquivo auxiliar <acronym
>PO</acronym
>. Isto é muito comum para idiomas romanos que possuem palavras similares, como por exemplo o anglosaxão e o eslavo.</para>

<para
>Por exemplo, digamos que eu queira traduzir a palavra <quote
>on</quote
>, do <filename
>kdelibs.po</filename
>, para o Romeno mas eu não tenho nenhuma referência. Eu olho no mesmo arquivos para o Francês e encontro <quote
>actif</quote
>, e em Espanhol encontro <quote
>activado</quote
>. Logo, eu concluo que o melhor em Romeno será <quote
>active</quote
>. O &kbabel; automatiza esta tarefa. Atualmente você pode definir somente um arquivo auxiliar para procurar.</para>

<sect2 id="auxiliary-settings">
<title
>Configurações</title>
<para
>Você pode configurar este modo de procura selecionando <menuchoice
> <guisubmenu
>Configurações</guisubmenu
> <guisubmenu
>Configurar Dicionário</guisubmenu
> <guimenuitem
>PO Auxiliar</guimenuitem
> </menuchoice
> no menu do &kbabel;.</para>

<para
>No diálogo <guilabel
>Configurar Dicionário PO Auxiliar</guilabel
> você pode selecionar o caminho para o arquivo <acronym
>PO</acronym
> auxiliar. Para automatizar alternância do arquivo <acronym
>PO</acronym
>-quando você muda o arquivo atualmente editado existem muitas variáveis delimitadas pelo caracter <literal
>@</literal
> que serão substituídas pelos valores apropriados.</para>

<variablelist>
  <varlistentry>
    <term
>@PACKAGE@</term>
    <listitem
><para
>O nome do aplicativo ou pacote atualmente sendo traduzido. Por exemplo, ele pode expandir para kbabel,. kdelibs, konqueror e assim por diante. </para
></listitem>
  </varlistentry>
  <varlistentry>
    <term
>@LANG@</term>
    <listitem
><para
>O código do idioma. Por exemplo pode ser expandido para: de, ro, fr, etc. </para
></listitem>
  </varlistentry>
  <varlistentry>
    <term
>@DIRn@</term>
    <listitem
><para
>onde <quote
>n</quote
> é um inteiro positivo. Isto expande para a <quote
>enésima</quote
> pasta contada a partir do nome do arquivo (direita para esquerda). </para
></listitem>
  </varlistentry>
</variablelist>

<para
>A linha de edição exibe o caminho atual para o arquivo auxiliar <acronym
>PO</acronym
> . Apesar de ser preferível usar a variável fornecida no caminho é possível escolher um caminho absoluto para um arquivo <acronym
>PO</acronym
> existente. Vejamos um exemplo.</para>

<para
>Eu sou Romeno e eu tenho algum conhecimento do idioma Francês e eu trabalho na tradução do &kde;.</para>

<para
>O primeiro passo é baixar o mais recente <filename
>kde-i18n-fr.tar.bz2</filename
> no <ulink url="ftp://ftp.kde.org/pub/kde/snapshots/kde-i18n"
>&FTP; do &kde;</ulink
> ou usar o sistema <acronym
>CVS</acronym
> para colocar em meu disco rígido uma árvore de tradução do idioma Francês. Eu faço isso em <filename
>/home/clau/cvs-cvs.kde.org/kde-i18n/fr</filename
>.</para>

<para
>Minha pasta de fontes <acronym
>PO</acronym
> está em <filename
>/home/clau/cvs-cvs.kde.org/kde-i18n/ro</filename
>. Não se esqueça de selecionar o <guilabel
>PO Auxiliar</guilabel
> como dicionário padrão e habilitar <guilabel
>Iniciar busca automaticamente</guilabel
> na aba <guilabel
>Procurar</guilabel
> do diálogo 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 arquivo contendo uma coleção de todas as mensagens traduzidas (pares de <acronym
>msgid</acronym
> e <acronym
>msgstr</acronym
>) num projeto, &eg; em &kde;. Tipicamente, um compêndio para um idioma determinado é criado pela concatenação de todos os arquivos <acronym
>PO</acronym
> do projeto para o idioma. O compêndio pode conter mensagens traduzidas, não traduzidas e aproximadas. Mensagens não traduzidas são ignoradas por este módulo. </para>

<para
>Semelhante ao <acronym
>PO</acronym
> Auxiliar, este modo de busca é baseado na correspondência do <quote
>mesmo</quote
> string original (<acronym
>msgid</acronym
>) num compêndio. Atualmente você pode definir somente um arquivo de compêndio para pesquisar. </para>

<para
>Este modo é muito útil se você não está usando o banco de dados de traduções e você deseja obter uma tradução consistente com outras traduções. Deste modo, arquivos compêndio são mais fáceis para compartilhar com outros tradutores e outros projetos de tradução porque eles podem ser gerados por todos. </para>

<sect2 id="compendium-settings">
<title
>Configurações</title>

<para
>Você pode configurar este modo de busca selecionando <menuchoice
> <guisubmenu
>Configurações</guisubmenu
> <guisubmenu
>Configurar Dicionário</guisubmenu
> <guimenuitem
>Compêndio PO</guimenuitem
> </menuchoice
> no menu do &kbabel;. </para>

<para
>No diálogo <guilabel
>Configurar Dicionário Compêndio PO</guilabel
> você pode selecionar o caminho para um arquivo de compêndio. Para automatizar a alternância do arquivo de compêndio quando você muda o idioma de tradução, existe uma variável delimitada por caracteres <literal
>@</literal
> que será substituída pelo valor apropriado.</para>

<variablelist>
  <varlistentry>
    <term
>@LANG@</term>
    <listitem
><para
>O código do idioma. Por exemplo pode ser expandido para: de, ro, fr, etc. </para
></listitem>
  </varlistentry>
</variablelist>

<para
>Na linha de edição é exibido o caminho atual para o arquivo <acronym
>PO</acronym
>. Apesar de ser melhor usar a variável fornecida no caminho, é possível escolher um caminho absoluto para um arquivo <acronym
>PO</acronym
> a ser usado como um compêndio.</para>

<para
>O compêndio mais recente para traduções &kde; para o &eg; Francês pode ser baixado de <filename
>fr.messages.bz2</filename
> do <ulink url="ftp://ftp.kde.org/pub/kde/snapshots/kde-i18n"
>&FTP; do &kde;</ulink
>.                                         </para>

<para
>Você pode definir como procurar no compêndio usando as opções abaixo do caminho. Elas estão divididas em dois grupos: opções de correspondência de texto, onde você pode especificar como o texto é comparado e se deve ignorar traduções aproximadas, e opções de correspondência de mensagens, que determina se a tradução do compêndio pode ser um sub-string da mensagem procurada ou vice-versa.</para>

<variablelist>
  <varlistentry>
    <term
><guilabel
>Sensível à caixa</guilabel
></term>
    <listitem>
    <para
>Se a correspondência de mensagem no compêndio deve distinguir entre letras maiúsculas e minúsculas. </para>
    </listitem>
  </varlistentry>
  <varlistentry>
    <term
><guilabel
>Ignorar string aproximado</guilabel
></term>
    <listitem>
    <para
>Se as mensagens aproximadas no compêndio devem ser ignoradas na procura. O compêndio pode conter mensagens aproximadas, uma vez que elas são tipicamente criadas pela concatenação de arquivos <acronym
>PO</acronym
> do projeto que podem incluir mensagens aproximadas. Mensagens não traduzidas são sempre ignoradas (Você não pode procurar por um tradução em mensagens não traduzidas, certo?).</para>
    </listitem>
  </varlistentry>
  <varlistentry>
    <term
><guilabel
>Somente palavras inteiras</guilabel
></term>
    <listitem>
    <para
>Se o texto correspondente deve iniciar e terminar com as palavras originais. </para>
    </listitem>
  </varlistentry>
  <varlistentry>
    <term
>Um texto corresponde se ele <guilabel
>é igual ao texto procurado</guilabel
></term
> 
    <listitem>
    <para
>Um texto no compêndio correspode ao texto procurado somente se ele é exatamente o mesmo (claro usando as opções acima). </para>
    </listitem>
  </varlistentry>
  <varlistentry>
    <term
>Um texto corresponde se ele <guilabel
>é parecido com o texto procurado</guilabel
></term>
    <listitem>
    <para
>Um texto no compêndio corresponde ao texto procurando se ele é <quote
>parecido</quote
>. Ambos os textos são comparados por pequenos pedaços de letras (<quote
>3-grams</quote
>) e pelo menos metade de todos os pedaços são iguais. </para>
    </listitem>
  </varlistentry>
  <varlistentry>
    <term
>Um texto corresponde se ele <guilabel
>contém o texto procurado</guilabel
></term>
    <listitem>
    <para
>Um texto no compêndio corresponde se ele contém o texto procurado.</para>
    </listitem>
  </varlistentry>
  <varlistentry>
    <term
>Um texto corresponde se ele <guilabel
>está contido no texto procurado</guilabel
></term>
    <listitem>
    <para
>Um texto no compêndio corresponde se ele está contido no texto procurado. </para>
    </listitem>
  </varlistentry>
  <varlistentry>
    <term
>Um texto corresponde se ele <guilabel
>contém uma palavra do texto procurado</guilabel
></term>
    <listitem>
    <para
>Os textos são divididos em palavras e um texto no compêndio corresponde ao texto procurado somente se ele contém algumas palavras do texto procurado. </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 
-->

