<?xml version="1.0" ?>
<!DOCTYPE book PUBLIC "-//KDE//DTD DocBook XML V4.2-Based Variant V1.1//EN"
"dtd/kdex.dtd" [
<!ENTITY lokalize "Lokalize">
<!ENTITY kaider "Lokalize">
<!ENTITY kappname "Lokalize">
<!ENTITY package "kdesdk">
<!ENTITY % addindex "IGNORE">
<!ENTITY % Portuguese "INCLUDE">
]>
<book id="lokalize" lang="&language;">
<bookinfo>
<title
>O Manual do &lokalize;</title>
<authorgroup>
<author
><firstname
>Nick</firstname
> <surname
>Shaforostoff</surname
> <affiliation
><address
><email
>shaforostoff@kde.ru</email
></address
></affiliation>
</author>
<othercredit role="translator"
><firstname
>José</firstname
><surname
>Pires</surname
><affiliation
><address
><email
>zepires@gmail.com</email
></address
></affiliation
><contrib
>Tradução</contrib
></othercredit
> 
</authorgroup>

<copyright>
<year
>2007-2009</year
><holder
>Nick Shaforostoff</holder>
</copyright>

<legalnotice
>&FDLNotice;</legalnotice>

<date
>2009-05-09</date>
<releaseinfo
>1.0</releaseinfo>

<abstract>
<para
>&lokalize; is a computer-aided translation system that focuses on productivity and quality assurance. It has components usual for CAT tools: translation memory, glossary, and also a unique translation merging (synchronization) capability. It is targeted for software translation and also integrates external conversion tools for freelance office document translation. </para>
</abstract>

<keywordset>
<keyword
>&lokalize;</keyword>
<keyword
>localização</keyword>
<keyword
>l10n</keyword>
<keyword
>internacionalização</keyword>
<keyword
>i18n</keyword>
<keyword
>tradução</keyword>
<keyword
>globalização</keyword>
<keyword
>g11n</keyword>
<keyword
>XLIFF</keyword>
<keyword
>gettext</keyword>
<keyword
>OpenDocument</keyword>
<keyword
>KBabel</keyword>
</keywordset>

</bookinfo>

<chapter id="introduction">
<title
>Introdução</title>

<para
>When you start &lokalize; first time, you will see an empty <guilabel
>Project Overview</guilabel
> tab. Lokalize workflow implies that you start with creating/opening a project. </para>
<para
>If you are working along, chances are you are going to translate OpenDocument file. To do this select <menuchoice
><guimenu
>Project</guimenu
><guimenuitem
>Create new project</guimenuitem
></menuchoice
>. The wizard will ask you about your source document, convert it to &lokalize; internal format, XLIFF, and create project for it. After you finish translating choose <menuchoice
><guimenu
>Tools</guimenu
><guimenuitem
>Merge into ODF</guimenuitem
></menuchoice
> to integrate your translation into a copy of source document. </para>

<para
>If you are doing translations for KDE, then either you will already have &lokalize; project file in your languages folder (usually named <filename
>index.lokalize</filename
>), or you can select <menuchoice
><guimenu
>Project</guimenu
><guimenuitem
>Create new project</guimenuitem
></menuchoice
> and the wizard will download translation files for your language and will create project for you. </para>

<para
>Translation files are opened in separate tab, with two big multi-line edits as well as a bunch of <emphasis
>toolviews</emphasis
>. These views can be stacked (similar to tabs), shown separately, or hidden. Translation files consist of many English-target pairs called <emphasis
>units</emphasis
>. A <emphasis
>unit</emphasis
> typically correspond to a single string in the user interface, or one paragraph in the documentation. The purpose of the first multi-line edit is to display the original part of the pair. The purpose of the second multi-line edit is to display the translation. You can navigate through the <emphasis
>units</emphasis
> via the <guilabel
>Translation Units</guilabel
> view or by using <keycap
>Page Down</keycap
> and <keycap
>Page Up</keycap
>. </para>

<tip>
<para
>It is recommended that you get used to the keyboard shortcuts instead of the menus and toolbars for increased productivity. For example, use the <keycombo
>&Ctrl;<keycap
>L</keycap
></keycombo
> to focus <guilabel
>Quick search</guilabel
> input line to filter unit list in <guilabel
>Translation Units</guilabel
> view. Once you are done, press <keycap
>Page Down</keycap
> to start moving along the filtered list. </para>
</tip>

<para
>A unit may be <emphasis
>translated</emphasis
> or <emphasis
>untranslated</emphasis
>. A translation of a translated unit may be <emphasis
>ready</emphasis
> or <emphasis
>not ready</emphasis
> (also called <emphasis
>fuzzy</emphasis
> sometimes). If the unit is not ready, its translation is rendered in italics. &lokalize; allows you to easily navigate through the file according to the state of their translation. See <guilabel
>Go</guilabel
> menu for the shortcuts. When navigating, untranslated units are treated as not ready. Also you may use filtering feature of <guilabel
>Translation Units</guilabel
> toolview. Pressing <keycap
>Page Down</keycap
> actually takes you to the next unit in filtered/sorted list of that toolview. </para>

<para
>Se estiver a trabalhar com ficheiros de traduções no formato XLIFF (que será de facto o caso ao traduzir de ficheiros OpenDocument), então poderá ter outros estados possíveis (<emphasis
>novo</emphasis
>, <emphasis
>necessita de revisão</emphasis
>, <emphasis
>aprovado</emphasis
>, &etc;). A classificação do estado como estando <emphasis
>pronto</emphasis
> ou <emphasis
>não-pronto</emphasis
> depende da <emphasis
>fase actual do fluxo</emphasis
> (<emphasis
>tradução</emphasis
>, <emphasis
>revisão</emphasis
>, <emphasis
>aprovação</emphasis
>). Uma fase predefinida para si depende do seu <emphasis
>papel</emphasis
> no projecto (definido na configuração do mesmo). Cada unidade normalmente contém informações acerca da fase em que foi alterado da última vez, sendo também registado o dono de cada fase no ficheiro. </para>

</chapter>

<chapter id="projects">
<title
>Projectos</title>

<para
>Os projectos são um dos conceitos principais no &lokalize;. Um projecto é representado por um ficheiro que contém as pastas com as traduções, os modelos e outros ficheiros: o ficheiro do glossário, os programas de automação e as memórias de tradução. Sempre que o &lokalize; abre um ficheiro sem nenhum projecto carregado, irá procurar por um ficheiro de projecto nas pastas-mãe (até quatro níveis). Em alternativa, poderá indicar o ficheiro do projecto com a opção <userinput
>--project</userinput
> ao iniciar o &lokalize; a partir da linha de comandos. </para>

<para
>For each project you select your role in it (<emphasis
>translator</emphasis
>, <emphasis
>reviewer</emphasis
>, <emphasis
>approver</emphasis
>), which in turn affects a workflow phase &lokalize; automatically picks up for files you edit. </para>

<note>
<para
>As memórias de traduções (ao contrário dos ficheiros do projecto, o glossário e os programas) não são partilhadas entre os membros da equipa de tradução, dado que são criados e guardados na pasta pessoal do utilizador, o que significa que as memórias de tradução para todas as pessoas do projecto são guardadas na mesma pasta, pelo que poderão ser usadas quando abrir outros projectos. </para>
</note>

<sect1 id="project-view">
<title
>Página da Visão Geral do Projecto</title>

<para
>The <guilabel
>Project Overview</guilabel
> tab displays a file tree with statistics for a current project, such as the percentage of translated units completed and the last translator. It allows you to open a selected file in new tab of the current &lokalize;, window. </para>

</sect1>

</chapter>

<chapter id="glossary">
<title
>Glossário</title>

<para
>Já alguma vez se cansou de escrever a mesma sequência longa de texto várias vezes, simplesmente porque levaria mais tempo a procurar a sua tradução para a copiar e colar? Agora só terá de encontrar a sequência (frequente) de palavras na <guilabel
>Área do Glossário</guilabel
> e depois inseri-la com uma combinação de teclas. </para>

<para
>Obviamente, o glossário já deverá estar preenchido primeiro com as tais sequências de palavras. O &lokalize; tem um editor de glossários útil que permite uma pesquisa explícita por todo o glossário. </para>

<screenshot>
<screeninfo
>A área do glossário, no canto inferior direito, mostra os itens do glossário adequados para a unidade actual</screeninfo>
  <mediaobject>
    <imageobject>
      <imagedata fileref="glossary.png" format="PNG"/>
    </imageobject>
    <textobject>
      <phrase
>A área do glossário, no canto inferior direito, mostra os itens do glossário adequados para a unidade actual</phrase>
    </textobject>
  </mediaobject>
</screenshot>

</chapter>

<chapter id="tm">
<title
>Memória de Traduções</title>

<para
>The <guilabel
>Translation Memory</guilabel
> view allows you to drag and drop a folder with translation files from say Dolphin into the view, and then, within few minutes, translation suggestions will be shown automatically on the unit switch. To insert the translation suggestions into the file, use <keycombo
>&Ctrl;<keycap
>1</keycap
></keycombo
>, <keycombo
>&Ctrl;<keycap
>2</keycap
></keycombo
> and so on, depending on the number of suggestion. </para>

<para
>Pressing <keycombo
><keycap
>F7</keycap
></keycombo
> will open <guilabel
>Translation Memory</guilabel
> tab, which allows free querying TM. Clicking a search result will open corresponding file on corresponding unit. If you want to quickly open some file in the project (and it is added to TM), then instead of browsing <guilabel
>Project Overview</guilabel
> you just type its name into <guilabel
>File mask</guilabel
> field accompanied by '*'. </para>

<para
>TM engine indexes all entries, including non-ready and untranslated ones. This allows it to completely replace Search-in-Files feature which required scanning every file in the project each time a search is done. </para>

<screenshot>
<screeninfo
>O &lokalize; com o resultado das pesquisa na memória de traduções para a unidade actual</screeninfo>
  <mediaobject>
    <imageobject>
      <imagedata fileref="tmview.png" format="PNG"/>
    </imageobject>
    <textobject>
      <phrase
>O &lokalize; com o resultado das pesquisa na memória de traduções para a unidade actual</phrase>
    </textobject>
  </mediaobject>
</screenshot>

</chapter>


<chapter id="sync">
<title
>Capacidades de Sincronização das Traduções</title>

<para
>O <guilabel
>Modo de Sincronização</guilabel
> (anteriormente conhecido como <guilabel
>Modo de Reunião</guilabel
>) poupa bastante tempo para os editores e para os casos em que dois ou mais tradutores estão a trabalhar em simultâneo no mesmo ficheiro ou a manter traduções ramificadas em várias versões. </para>

<para
>O &lokalize; permite a navegação rápida pelas unidades que diferem, mostrando as diferenças palavra por palavra. Do mesmo modo, o &lokalize; tem duas áreas de Sincronização - <guilabel
>Sincronização Primária</guilabel
> e <guilabel
>Sincronização Secundária</guilabel
>. São idênticas, mas a primeira é normalmente usada para reunir as traduções e a segunda para sincronizar as traduções entre duas ramificações do 'software'. </para>

<para
>Depois de ter copiado a tradução do ficheiro auxiliar (a ter <emphasis
>sincronizado</emphasis
>), todas as alterações subsequentes nesta unidade replicar-se-ão no ficheiro auxiliar. </para>

<sect1 id="file-merge">
<title
>Reunião</title>
<para
>Uma utilização do <guilabel
>Modo de Sincronização</guilabel
> é a revisão das alterações feitas pelos (novos) contribuintes, na altura em que não se pode certificar da qualidade do trabalho feito. </para>
<para
>Abra um ficheiro de base, depois largue a sua versão alterada na área <guilabel
>Sincronização Primária</guilabel
>, seguida de <keycombo
>&Alt;<keycap
>Baixo</keycap
></keycombo
> ou <keycombo
>&Alt; <keycap
>Cima</keycap
></keycombo
> (lembre-se que as combinações de teclas podem ser, como acontece nas outras aplicações do &kde;, alteradas a seu gosto) para navegar pelos itens que são diferentes. </para>
<screenshot>
<screeninfo
>O &lokalize; usado para reunir as alterações na tradução</screeninfo>
  <mediaobject>
    <imageobject>
      <imagedata fileref="sync.png" format="PNG"/>
    </imageobject>
    <textobject>
      <phrase
>O &lokalize; usado para reunir as alterações na tradução</phrase>
    </textobject>
  </mediaobject>
</screenshot>

</sect1>

<sect1 id="file-sync">
<title
>Replicação</title>
<para
>O <guilabel
>Modo de Sincronização</guilabel
> também pode ser usado para efectuar alterações nas traduções de duas ramificações em simultâneo. Defina a <guilabel
>Pasta da Ramificação</guilabel
> nas suas opções de projecto como sendo a pasta de base da ramificação, para que a área de <guilabel
>Sincronização Secundária</guilabel
> abra automaticamente os ficheiros da ramificação. A partir daí, sempre que alterar os ficheiros na sua ramificação principal, estes serão automaticamente replicados na ramificação (obviamente, se esta conter o mesmo texto em Inglês). </para>
<para
>For example, if you work on KDE translation, you can checkout trunk to <filename class="directory"
>/home/xx/hacking/kde/trunk/l10n-kde4/YOUR_LANG</filename
> and branch to <filename class="directory"
>/home/xx/hacking/kde/branches/stable/l10n-kde4/YOUR_LANG</filename
>. Create &lokalize; project: <filename
>/home/xx/hacking/kde/trunk/l10n-kde4/YOUR_LANG/project.lokalize</filename
> and set <filename class="directory"
>BranchDir=../../../branches/stable/l10n-kde4/YOUR_LANG</filename
>, then work via this project, and commit changes in both trunk and branch folders. </para>
</sect1>


<sect1 id="alt-trans">
<title
>Traduções Alternativas</title>

<para
>Cada unidade poderá ter várias <emphasis
>traduções alternativas</emphasis
> associadas a ele. Essas traduções poderão aparecer durante a actualização dos ficheiros, quando o texto original é ligeiramente alterado. Nesse caso, a tradução antiga, em conjunto com o seu texto original (antigo) passará para a lista de traduções alternativas, para que estas não se percam. </para>
<para
>When translating software, usually gettext tools are used to prepare translation files. When original text changes, gettext tools update translation files and mark entries with changed original text as <emphasis
>fuzzy</emphasis
> (or <emphasis
>non-ready</emphasis
> in other terminology). They store previous original text so that translators could see what changes exactly were made. &lokalize; simplifies life of translator and highlights parts of original text that were changed in <guilabel
>Alternate Translations</guilabel
> view. </para>

<screenshot>
<screeninfo
>O &lokalize; a realçar as partes do texto original que foram alteradas desde que a tradução foi revista da última vez</screeninfo>
  <mediaobject>
    <imageobject>
      <imagedata fileref="original-diff.png" format="PNG"/>
    </imageobject>
    <textobject>
      <phrase
>O &lokalize; a realçar as partes do texto original que foram alteradas desde que a tradução foi revista da última vez</phrase>
    </textobject>
  </mediaobject>
</screenshot>


</sect1>

</chapter>

<chapter id="scripting">
<title
>Programar o &lokalize;</title>

<para
>&lokalize; is extensible using scripts in several interpreted languages, including Python and JavaScript. Scripts are usually integrated into &lokalize; UI as menu actions (to which you may assign a keyboard shortcut). The location and name of menu entry for the script is defined in its accompanying .rc file. On each project open &lokalize; scans <filename
>PROJECTDIR/lokalize-scripts</filename
> folder for .rc files and adds them to a <emphasis
>cache</emphasis
> file called <filename
>PROJECTDIR/lokalize-scripts/scripts.rc</filename
> (so you shouldn't generally want to add it project's version control system). RC files also contain script paths, which may be relative to .rc file folder, or to a system scripts folder - they are tried both (actually they <emphasis
>should</emphasis
> be relative if you want to share .rc file with other people in your project). So you for example can specify <filename
>../../scripts/lokalize/opensrc.py</filename
> to load script from <ulink url="http://websvn.kde.org/trunk/l10n-kde4/scripts/lokalize/"
>global kde4-l10n scripts folder</ulink
> (&ie; not specific to your language). </para>
<para
>Examples of .rc files may be found in &lokalize; install folder (usually <filename
>/usr/share/kde4/apps/lokalize/scripts/</filename
>) and in <ulink url="http://websvn.kde.org/trunk/l10n-kde4/scripts/lokalize/"
>KDE repository</ulink
>. <ulink url="http://websvn.kde.org/trunk/l10n-kde4/ru/lokalize-scripts/"
>Here</ulink
> you can find more script examples, including JavaScript-based <filename
>check-gui.js</filename
> that runs automatically on each file save (this is achieved via special option in .rc file). If you're familiar with Python or JavaScript, the code should be self-explanatory. </para>
<para
>Por baixo, estão as referências à API. Tudo o que estiver marcado como <emphasis
>Q_SCRIPTABLE</emphasis
> poderá ser usado a partir dos programas. </para>

<itemizedlist>
<listitem>
<para
>Referência da API do objecto <ulink url="http://api.kde.org/4.x-api/kdesdk-apidocs/lokalize/html/classEditorTab.html"
>Editor</ulink
> </para>
</listitem>
<listitem>
<para
><ulink url="http://api.kde.org/4.x-api/kdesdk-apidocs/lokalize/html/classLokalizeMainWindow.html"
>Lokalize</ulink
> object API reference </para>
</listitem>
<listitem>
<para
>Referência da API do objecto <ulink url="http://api.kde.org/4.x-api/kdesdk-apidocs/lokalize/html/classProjectTab.html"
>Project</ulink
> </para>
</listitem>
</itemizedlist>


</chapter>

<chapter id="credits">
<title
>Créditos e Licença</title>

<para
>&lokalize; </para>

<para
>Programa com 'copyright' &copy; 2007-2009 de Nick Shaforostoff <email
>shaforostoff@kde.ru</email
> </para>

<para
>Algum código foi retirado do &kbabel;, o antecessor do &lokalize;. </para>

<para
>Documentação com 'copyright' &copy; 2007-2009 de Nick Shaforostoff <email
>shaforostoff@kde.ru</email
> </para>

<para
>Autor: <itemizedlist
> <listitem
> <para
>Nick Shaforostoff <email
>shaforostoff AT kde.ru</email
> </para>
</listitem>
</itemizedlist>
</para>

<para
>Veja a <ulink url="http://userbase.kde.org/lokalize"
> página pessoal do &lokalize;</ulink
> para mais detalhes.</para>

<para
>Tradução de José Nuno Pires <email
>zepires@gmail.com</email
></para
> 
&underFDL; &underGPL; </chapter>

&documentation.index;
</book>
<!--
Local Variables:
mode: sgml
sgml-minimize-attributes:nil
sgml-general-insert-case:lower
sgml-indent-step:0
sgml-indent-data:nil
End:

// vim:ts=2:sw=2:tw=78:noet
-->
