# O Manual do &lokalize;

Nick
Shaforostoff

    shaforostoff@kde.ru

José
Pires

    zepires@gmail.com

Tradução
2007-2009
Nick Shaforostoff
&FDLNotice;
2015-08-06
2.0 (Aplicações 15.08)

O &lokalize; é um sistema de traduções auxiliadas pelo computador que se foca na produtividade e na garantia de qualidade. Tem os componentes normais neste tipo de ferramentas: memórias de traduções, glossários, assim como uma capacidade de junção de traduções única (a sincronização). Destina-se para a tradução de aplicações e também integra as ferramentas de conversão externa para tradução de documentos de escritório a regime 'freelance'.

&lokalize;
localização
l10n
internacionalização
i18n
tradução
globalização
g11n
XLIFF
gettext
OpenDocument
KBabel

## Introdução

Normalmente as mensagens e documentação dos programas estão escritos em Inglês. Se usar uma plataforma composta por um conjunto de ferramentas e bibliotecas, é possível ter as suas aplicações favoritas a falar a sua língua nativa se não for o Inglês. Este processo de adaptação de uma aplicação para uma dada língua é denominado de localização. O processo de localização inclui a tradução das interfaces e da documentação do programa para as várias línguas que os utilizadores necessitam e, em alguns países e regiões, fazem com que os dados introduzidos e apresentados obedeçam a determinadas convenções. O &lokalize; é uma ferramenta que o irá ajudar no processo de localização para que a interface de uma dada aplicação fale várias línguas.

Todos os programas que suportam a internacionalização disponibilizam para tradução um ou mais ficheiros de catálogos de mensagens. A extensão desses ficheiros é a `.pot`. O POT é um acrónimo para Portable Object Template. O &lokalize; é um editor avançado e simples de usar para ficheiros PO (catálogos de mensagens para o 'gettext' da &GNU;). É um sistema assistido por computador para a tradutores, feito do zero para a plataforma 4 do &kde;. Para além da edição básica de ficheiros PO com alguns detalhes interessantes, integra o suporte para glossários, memórias de tradução, modos de diferenças para QA, gestão de projectos &etc;. Tem muitas funcionalidades como a navegação completa, edição extensiva, funções de pesquisa, verificação sintáctica e funções estatísticas.

Ficheiros 'Portable Object' (.po): Cada tradutor recebe uma cópia de um desses modelos POT e começa a preencher os espaços em branco: cada mensagem é traduzida para a língua desejada. O ficheiro que contém o texto traduzido é conhecido como o ficheiro PO (Portable Object - Objecto Portável).

## Editor

### A Janela Principal

Por omissão, a janela principal contém seis partes. A área superior direita é apenas para leitura e contém o 'msgid' actual (texto original) do ficheiro PO aberto. O campo de edição imediatamente abaixo contém o 'msgstr' (texto de destino) que se relaciona com o 'msgid' apresentado, onde poderá introduzir ou editar o texto traduzido.

A janela principal do &lokalize;
Isto mostra a janela predefinida quando é aberto um ficheiro.

A parte superior esquerda da janela principal mostra as Unidades de Tradução. Por baixo, existe a secção de Meta-Dados Unitários, que contém comentários relevantes para o texto original apresentado. Na parte inferior esquerda, existe a secção de Memória das Traduções, que mostra as traduções sugeridas pela base de dados de traduções para o item do texto de origem. Na parte inferior direita da janela, é apresentada a secção do glossário.

Os ficheiros de traduções são abertos numa página separada, com dois editores multi-linhas grandes, assim como um conjunto de janelas ou áreas de ferramentas. Estas áreas poderão ser empilhadas (como se fossem páginas), mostradas em separado ou escondidas. Os ficheiros de traduções consistem em diversos pares Inglês-alvo chamadas unidades. As unidades correspondem tipicamente a um texto simples na interface do utilizador ou a um parágrafo na documentação. O intuito do primeiro campo multi-linhas é mostrar a parte original do par. O intuito do segundo é mostrar a tradução. O utilizador poderá navegar pelas unidades, através das Unidades de Tradução ou usando as teclas Page Down e Page Up.

Uma unidade poderá estar traduzida ou não-traduzida. A tradução de uma unidade traduzida poderá estar aprovada ou não-aprovada (também chamada de aproximada ou fuzzy). Se a unidade não estiver aprovada, a sua tradução aparece a itálico. O &lokalize; permite-lhe navegar facilmente pelo estado da sua tradução. Veja o menu Ir para saber os atalhos. Ao navegar, as unidades não-traduzidas são tratadas como não-aprovadas. Do mesmo modo, poderá querer usar a funcionalidade de filtragem da área de ferramentas da Unidades de Tradução. Se carregar em Page Down, irá de facto para a unidade seguinte na lista de filtragens/ordenações dessa área de ferramentas.

Na janela principal, um utilizador poderá adicionar mais secções como as Traduções Alternativas, a Sincronização Primária, a Sincronização Secundária ou as Unidades Binárias, usando a opção Configuração Áreas de Ferramentas do menu principal.

### Barras de Ferramentas

Poderá adicionar ou remover acções nas barras de ferramentas com a opção Configuração Configurar as Barras de Ferramentas... do menu principal.

Configurar as Barras de Ferramentas
Aqui poderá configurar as barras de ferramentas.

Para mais informações, leia a secção sobre as Barras de Ferramentas dos Fundamentos do &kde;.

### Teclas de atalho

Se usar as teclas de atalho durante a tradução, poderá poupar algum tempo. Para configurar as teclas de atalho, use a opção do menu Configuração Configurar os Atalhos... do menu principal.

Configurar os Atalhos
Aqui poderá configurar as teclas de atalho.

Para mais informações, leia a secção sobre os Atalhos nos Fundamentos do &kde;.

### Sugestões Gerais

Se estiver a fazer traduções para o &kde;, então ou terá já um ficheiro de projecto do &lokalize; na sua pasta de línguas (normalmente chamado `index.lokalize`), ou então poderá seleccionar a opção Projecto Criar um projecto novo, para que o assistente comece a transferir os ficheiros de traduções para a sua língua, criando depois um projecto para si.

Recomenda-se que se habitue aos atalhos de teclado, em vez dos menus e das barras de ferramentas, para uma produtividade melhorada. Por exemplo, use a combinação de teclas &Ctrl;L para colocar em primeiro plano a linha de Pesquisa rápida para filtrar a lista de itens na área de Unidades de Tradução. Assim que terminar, poderá carregar em Page Down para começar a percorrer a lista filtrada.

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 (novo, necessita de revisão, aprovado, &etc;). A classificação do estado como estando pronto ou não-pronto depende da fase actual do fluxo (tradução, revisão, aprovação). Uma fase predefinida para si depende do seu papel 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.

## Projectos

### Notas Gerais

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 `--project` ao iniciar o &lokalize; a partir da linha de comandos.

Para cada projecto no qual seleccione o seu papel nele (tradutor, revisor, aprovador), que irá afectar por sua vez uma fase do fluxo, o &lokalize; irá automaticamente recolher os ficheiros que editar.

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.

### Página da Visão Geral do Projecto

Quando iniciar o &lokalize; pela primeira vez, irá ver uma página de Visão Geral do Projecto. Esta é uma área de gestão de ficheiros, que o ajuda a ter uma ideia geral dos seus ficheiros PO. O pacote do &lokalize; ajudá-lo-á a traduzir rapidamente e também a manter as traduções consistentes. O fluxo de trabalho do &lokalize; implica que comece com a criação/abertura de um projecto. A área de Visão Geral do Projecto mostra uma árvore de ficheiros com estatísticas sobre o projecto actual, como a percentagem das unidades traduzidas completas e o último tradutor. Permite-lhe abrir um ficheiro seleccionado numa página da janela actual do &lokalize;.

Para criar um novo projecto, use a opção Projecto Criar um novo projecto. Isto guiá-lo-á pelos passos de criação de um novo projecto. No menu Projecto, poderá também encontrar opções como a Visão geral do projecto, Configurar o projecto, Abrir um projecto, Abrir um projecto recente.

Página da Visão Geral do Projecto Aqui poderá configurar o projecto.

A página de Visão Geral do Projecto mostra uma árvore de ficheiros com estatísticas para o projecto actual, como a percentagem das unidades traduzidas e o último tradutor. Permite-lhe abrir um ficheiro seleccionado numa página nova da janela actual do &lokalize;.

## Glossário

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 Área do Glossário e depois inseri-la com uma combinação de teclas.

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.

A área do glossário, no canto inferior direito, mostra os itens do glossário adequados para a unidade actual
A área do glossário, no canto inferior direito, mostra os itens do glossário adequados para a unidade actual

## Memória de Traduções

A área das Memórias de Traduções permite-lhe arrastar e largar uma pasta com ficheiros de traduções, proveniente por exemplo do Dolphin, sobre a área para que, ao fim de alguns minutos, apareçam as sugestões de traduções automaticamente para cada item de mensagem. Para inserir as sugestões de traduções no ficheiro, use a combinação &Ctrl;1, &Ctrl;2 e assim por diante, dependendo do número da sugestão.

Use a opção Ferramentas Gerir as memórias de traduções para adicionar/gerir projectos na sua Memória de Traduções. Aqui também poderá importar ou exportar dados a partir do formato de ficheiros `tmx`.

Se carregar em F7, irá abrir a página da Memória de Traduções, que lhe permite pesquisar à vontade nesta memória. Se carregar num resultado de uma pesquisa, irá abrir o ficheiro e item correspondentes. Se quiser abrir rapidamente um outro ficheiro no projecto (e o adicionar à memória de traduções), então em vez de seleccionar a Visão Geral do Projecto, poderá escrever o seu nome no campo Máscara de ficheiros, acompanhado por um '*'.

O motor da memória de traduções indexa todos os itens, incluindo os aproximados e não-traduzidos. Isto permite-lhe substituir por completo a funcionalidade de Procurar-nos-Ficheiros, que obrigava a que cada ficheiro fosse analisado no projecto, sempre que fosse feita uma pesquisa.

O &lokalize; com o resultado das pesquisa na memória de traduções para a unidade actual
O &lokalize; com o resultado das pesquisa na memória de traduções para a unidade actual

Tradução em Lote:

  Para inserir a sugestão com correspondência exacta na base de dados da memória de traduções, use a opção Ferramentas Preencher todas as sugestões exactas OU Preencher todas as sugestões exactas e marcar como aproximadas. Isto é funcionalmente semelhante à tradução lata do &kbabel;.

## Capacidades de Sincronização das Traduções

O Modo de Sincronização (anteriormente conhecido como Modo de Reunião) 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.

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 - Sincronização Primária e Sincronização Secundária. 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'.

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

### Reunião

Uma utilização do Modo de Sincronização é a revisão das alterações feitas pelos (novos) contribuintes, na altura em que não se pode certificar da qualidade do trabalho feito.

Abra um ficheiro de base, depois largue a sua versão alterada na área Sincronização Primária, seguida de &Alt;Baixo ou &Alt; Cima (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.

O &lokalize; usado para reunir as alterações na tradução
O &lokalize; usado para reunir as alterações na tradução

### Replicação

O Modo de Sincronização também pode ser usado para efectuar alterações nas traduções de duas ramificações em simultâneo. Defina a Pasta da Ramificação nas suas opções de projecto como sendo a pasta de base da ramificação, para que a área de Sincronização Secundária 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).

Por exemplo, se trabalhar nas traduções do &kde;, poderá transferir o 'trunk' para `/home/ze/trabalho/kde/trunk/l10n-kde4/A_SUA_LÍNGUA` e a ramificação estável 'branch' para `/home/ze/trabalho/kde/branches/stable/l10n-kde4/A_SUA_LÍNGUA`. Crie o projecto do &lokalize;: `/home/ze/trabalho/kde/trunk/l10n-kde4/A_SUA_LÍNGUA/projecto.ktp` e definida a `BranchDir=../../../branches/stable/l10n-kde4/A_SUA_LÍNGUA`, podendo depois trabalhar através deste projecto e efectuar as alterações em ambas as pastas.

### Traduções Alternativas

Cada unidade poderá ter várias traduções alternativas 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.

Ao traduzir das aplicações, normalmente são usadas as ferramentas do 'gettext' para preparar os ficheiros de traduções. Quando o texto original muda, as ferramentas do 'gettext' actualizam os ficheiros das traduções e marcam os seus elementos com o texto original alterado como sendo fuzzy (ou aproximada noutra terminologia). Eles guardam o texto original, para que os tradutores possam ver as alterações que foram exactamente feitas ao certo. O &lokalize; simplifica a vida do tradutor e realça as partes do texto original que foram alteradas na área de Traduções Alternativas.

O &lokalize; a realçar as partes do texto original que foram alteradas desde que a tradução foi revista da última vez
O &lokalize; a realçar as partes do texto original que foram alteradas desde que a tradução foi revista da última vez

## Programar o &lokalize;

O &lokalize; é extensível através de programas feitos em várias linguagens interpretadas, incluindo o Python e o JavaScript. Os programas são normalmente integrados na interface do &lokalize; como itens do menu (para os quais poderá ter atribuído um atalho do teclado). A localização e o nome do item do menu para o programa é definida no seu ficheiro '.rc' associado. Em cada projecto aberto, o &lokalize; analisa a pasta `PROJECTDIR/lokalize-scripts` à procura de ficheiros '.rc' e adiciona-os a um ficheiro de cache chamado `PROJECTDIR/lokalize-scripts/scripts.rc` (de modo a que não o adicione ao sistema de controlo de versões do projecto). Os ficheiros RC também contêm localizações de programas, os quais poderão ser relativos à pasta do ficheiro '.rc' ou a uma dada pasta de programas do sistema - ambos os casos serão tentados (de facto, eles deverão ser relativos, se quiser partilhar o ficheiro '.rc' com outras pessoas no seu projecto). Por exemplo, poderá indicar `../../scripts/lokalize/opensrc.py` para carregar o programa da pasta global de programas do 'kde4-l10n' (&ie;, não sendo específico para a sua língua).

Poderá encontrar alguns exemplos de ficheiros '.rc' na pasta de instalação do &lokalize; (normalmente em `/usr/share/lokalize/scripts/`) e no repositório do KDE. Aqui poderá encontrar mais exemplos de programas, incluindo o programa `check-gui.js`, em JavaScript, que é executado automaticamente na gravação de cada ficheiro. Se estiver à vontade com o Python ou o JavaScript, o código deverá ser intuitivo o suficiente.

Por baixo, estão as referências à API. Tudo o que estiver marcado como Q_SCRIPTABLE poderá ser usado a partir dos programas.

- Referência da API do objecto Editor

- Referência da API do objecto &lokalize;

- Referência da API do objecto Project

## Créditos e Licença

&lokalize;

Programa com 'copyright' © 2007-2009 de Nick Shaforostoff shaforostoff@kde.ru

Algum código foi retirado do &kbabel;, o antecessor do &lokalize;.

Documentação com 'copyright' © 2007-2009 de Nick Shaforostoff shaforostoff@kde.ru

Autor:

- Nick Shaforostoff shaforostoff AT kde.ru; Shankar Prasad svenkate AT redhat.com; Sweta Kothari swkothar AT redhat.com

Veja a página pessoal do &lokalize; para mais detalhes.

Tradução de José Nuno Pires zepires@gmail.com

&underFDL; &underGPL;

&documentation.index;