# Manual do &lokalize;

Nick
Shaforostoff

    shaforostoff@kde.ru

Marcus
Gama

    marcus.gama@gmail.com

Tradução
2007-2009
Nick Shaforostoff
&FDLNotice;
20/02/2012
1.5

&lokalize; é um sistema de traduções auxiliado pelo computador, que se concentra na produtividade e garantia de qualidade. Ele possui os componentes normalmente incluídos neste tipo de ferramentas, tais como memórias de traduções, glossários e uma capacidade de mesclagem de traduções exclusiva (a sincronização). Destina-se à tradução de aplicativos e também integra as ferramentas de conversão externa para tradução de documentos de escritório de forma independente.

&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. Usando uma plataforma composta por um conjunto de ferramentas e bibliotecas, é possível ter os seus aplicativos favoritos falando o seu idioma nativo, caso não seja o inglês. Este processo de adaptação de um aplicativo para um determinado idioma é denominado localização. O processo de localização inclui a tradução das interfaces e da documentação do programa para os vários idiomas usados pelos usuários e, em alguns países e regiões, fazem com que os dados inseridos e apresentados obedeçam a determinadas convenções. O &lokalize; é uma ferramenta que irá ajudá-lo no processo de localização para que a interface de um determinada aplicativo fale vários idiomas.

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

Arquivos '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 o idioma desejado. O arquivo que contém o texto traduzido é conhecido como o arquivo PO (Portable Object - Objeto Portável).

## Editor

### Janela principal

Por padrão, a janela principal contém seis partes. A área superior direita é apenas para leitura e contém o 'msgid' atual (texto original) do arquivo 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á inserir ou editar o texto traduzido.

A janela principal padrão do &lokalize;
Isto mostra a janela padrão quando um arquivo é aberto.

A parte superior esquerda da janela principal mostra as Unidades de tradução. Abaixo, existe a seção Metadados da unidade, que contém comentários relevantes para o texto original apresentado. Na parte inferior esquerda, existe a seção de Memória de tradução, 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 seção do glossário.

Os arquivos de tradução são abertos em abas separadas, com dois grandes editores multi-linhas, assim como um conjunto de áreas de ferramentas. Estas áreas poderão ser empilhadas (como se fossem páginas), mostradas separadamente ou ocultas. Os arquivos de traduções consistem em diversos pares inglês-alvo chamadas unidades. As unidades correspondem tipicamente a um texto simples na interface do usuário 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 usuário 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 poderá estar pronta ou não-pronta (também chamada de aproximada). Se a unidade não estiver pronta, a sua tradução aparece em itálico. O &lokalize; permite-lhe navegar facilmente pelo estado da sua tradução. Veja o menu Ir para saber os atalhos. A barra de estado no fundo da janela mostra o número do texto atual, o número total de textos, os textos não-prontos (aproximados), os textos não traduzidos e o estado do texto atual, respectivamente. Ao navegar, as unidades não-traduzidas são tratadas como não-prontas. Você pode também usar o recurso de filtragem da ferramenta Unidades de Tradução. Pressionar Page Down de fato o conduz a próxima unidade na lista filtrados/ordenados da ferramenta.

Na janela principal, um usuário poderá adicionar mais seçõ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ções Áreas de ferramentas do menu principal.

### Barras de ferramentas

Você pode adicionar ou remover ações na barra de ferramentas usando o Configurações Configurar barras de ferramentas... no menu principal.

Configurar barras de ferramentas
Aqui você pode configurar a barra de ferramentas.

Para mais informações, leia a seção sobre Barras de ferramentas nos Fundamentos do &kde;.

### Teclas de atalho

Você poderá economizar algum tempo usando as teclas de atalho durante a tradução. Para configurar as teclas de atalho, use a opção do menu Configurações Configurar atalhos... do menu principal.

Configurar atalhos
Aqui você pode configurar as teclas de atalho.

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

### Dicas gerais

Se você está fazendo traduções para o &kde;, então você já tem o arquivo de projeto do &lokalize; na pasta do seu idioma (geralmente chamado `index.lokalize`), ou você pode selecionaProjeto Criar novo projeto e o assistente irá baixar os arquivos de tradução para o seu idioma e irá criar o projeto para você.

É recomendável que você se habitue aos atalhos de teclado, em vez dos menus e das barras de ferramentas, para aumentar a produtividade. Por exemplo, use a combinação de teclas &Ctrl;L para focalizar, a linha de entrada Pesquisa rápida para filtrar a lista de unidades na visualização Unidades de Tradução. Uma vez que você esteja pronto, pressione Page Down para começar a mover-se na lista filtrada.

Se você estiver trabalhando com arquivos de traduções no formato XLIFF (que será de fato o caso ao traduzir de arquivos OpenDocument), então estados estendidos estarão disponíveis (novo, necessita de revisão, aprovado, &etc;). Você pode selecioná-los no menu de contexto exibido no do botão Aprovado na barra de ferramentas. A classificação do estado como estando pronto ou não-pronto depende da fase atual do fluxo (tradução, revisão, aprovação). Uma fase padrão para você depende do seu papel no projeto (definido na configuração do mesmo). Cada unidade normalmente contém informações sobre a fase em que foi alterado da última vez, sendo também registrado o dono de cada fase no arquivo.

## Projetos

### Notas gerais

Os projetos são um dos conceitos principais no &lokalize;. Um projeto é representado por um arquivo que define os caminhos, as pastas com as traduções, os modelos e outros arquivos: arquivo de glossário, programas de automação, bem como a memória de traduções. Sempre que o &lokalize; abrir um arquivo sem um projeto carregado, irá procurar por um arquivo de projeto nas pastas-mães (até ao máximo de quatro) ou então você poderá indicar o arquivo do projeto com a opção `--project`, sempre que iniciar o &lokalize; a partir da linha de comando.

Para cada projeto que selecionar a sua função (tradutor, revisor, aprovador), que irá afetar por sua vez uma fase do fluxo, o &lokalize; irá automaticamente obter os arquivos que editar.

As memórias de tradução (ao contrário dos arquivos de projeto, do glossário e dos programas) não são compartilhadas entre os membros da equipe de tradução, sendo criada e armazenada na pasta pessoal do usuário, o que significa que as memórias de tradução de todos os projetos são guardadas na mesma pasta, podendo ser usadas quando abrir outros projetos.

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

Quando iniciar o &lokalize; pela primeira vez, irá ver uma página de Visão Geral do Projeto. Esta é uma área de gerenciamento de arquivos, que o ajuda a ter uma ideia geral dos seus arquivos PO. O pacote do &lokalize; irá 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 projeto. A área de Visão Geral do Projeto mostra uma árvore de arquivos com estatísticas sobre o projeto atual, como a percentagem das unidades traduzidas completas e o último tradutor. Permite-lhe abrir um arquivo selecionado em uma aba da janela atual do &lokalize;.

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

Página da Visão Geral do Projeto Aqui você pode configurar o projeto.

A aba Visão Geral do Projeto mostra uma árvore de arquivos com algumas estatísticas para o projeto atual, como a porcentagem de unidades traduzidas completas e o último tradutor. Ela permite-lhe abrir um arquivo selecionado em uma nova aba da janela do &lokalize;.

## Glossário

Alguma vez você se cansou de digitar a mesma longa sequência de texto várias vezes, simplesmente porque levaria mais tempo para descobrir a sua tradução para um 'copiar e colar'? Agora, você só terá que procurar a sequência de palavras (frequentes) na Janela do Glossário, inserindo-a depois com o respectivo atalho.

Obviamente, o glossário deverá ser preenchido primeiro com as sequências de palavras. O &lokalize; possui um editor de glossários bom que permite procurar explicitamente por todo o glossário.

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

## Memória de tradução

A janela da Memória de Tradução permite-lhe arrastar e soltar uma pasta de mensagens (por exemplo, proveniente do &dolphin;) na janela para que, em poucos minutos, as sugestões de traduções sejam apresentadas automaticamente na opção da unidade. Para inserir as sugestões de traduções no arquivo, pressione &Ctrl;1 ou &Ctrl;2.

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

Pressionar F7, irá abrir a página da Memória de Traduções, que lhe permite pesquisar livremente nesta memória. Clicar em um resultado de uma pesquisa irá abrir o arquivo e unidade correspondentes. Se quiser abrir rapidamente um outro arquivo no projeto (e adicioná-lo à memória de traduções), então em vez de selecionar a Visão Geral do Projeto, você poderá inserir o seu nome no campo Máscara de arquivos, acompanhado por um '*'.

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

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

Tradução em lote:

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

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

O Modo de Sincronização (conhecido anteriormente como Modo de Junção), poupa bastante tempo para os editores ou então quando dois ou mais tradutores estão trabalhando ao mesmo tempo sobre o mesmo arquivo.

O &lokalize; permite a navegação rápida pelas diferentes unidades, mostrando as diferenças palavra-a-palavra. Do mesmo modo, o &lokalize; possui duas áreas de Sincronização - a Sincronização Primária e a Sincronização Secundária. São idênticas, mas a primeira é usada principalmente para mesclar as traduções e a segunda para sincronizar as traduções de duas ramificações diferentes.

Após copiar a tradução a partir do arquivo auxiliar (de tê-lo sincronizado), todas as alterações subsequentes feitas a esta unidade serão replicadas de volta para o arquivo auxiliar.

### Mesclar

Um uso do Modo de Sincronização é a revisão das modificações feitas pelos (novos) contribuintes, quando você não tem certeza sobre a qualidade do trabalho feito.

Abra um arquivo base, e depois solte a sua versão alterada na janela de Sincronização Primária, seguida das teclas &Alt;Baixo ou &Alt; Cima (lembre-se que os atalhos de teclado podem ser modificados, como acontece nos outros aplicativos do &kde;) para navegar pelos diferentes itens.

O &lokalize; usado na reunião de alterações das traduções
O &lokalize; usado na reunião de alterações das traduções

### Replicação

O Modo de sincronização pode também ser usado para fazer alterações às traduções para duas ramificações simultaneamente. Defina a Pasta da ramificação nas suas opções do projeto com o local que corresponde à pasta base da ramificação, para que então a área de Sincronização secundária possa ver automaticamente os arquivos abertos da ramificação. Assim, cada vez que você realizar modificações nos arquivos em sua ramificação principal, elas serão automaticamente replicadas na ramificação (é claro, se ela contiver o mesmo texto em inglês).

Por exemplo, se você estiver trabalhando nas traduções do &kde;, você poderá obter o 'trunk' para colocá-lo em `/home/xx/programas/kde/trunk/l10n-kde4/SEU_IDIOMA` e a ramificação `/home/xx/programas/kde/branches/stable/l10n-kde4/SEU_IDIOMA`. Crie o projeto do &lokalize;: `/home/xx/programas/kde/trunk/l10n-kde4/SEU_IDIOMA/projeto.lokalize` e configure o `BranchDir=../../../branches/stable/l10n-kde4/SEU_IDIOMA`, podendo então trabalhar com este projeto e replicar as alterações tanto na ramificação como no nó principal.

### Traduções alternativas

Cada unidade poderá possuir várias traduções alternativas associadas a ele. Essas traduções poderão aparecer durante a atualização dos arquivos, 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 aplicativos, normalmente as ferramentas do gettext são usadas para preparar os arquivos de tradução. Quando o texto original muda, as ferramentas 'gettext' atualizam os arquivos de traduções e marcam os itens com o texto original alterado como fuzzy (ou não-aprovada em outra terminologia). Elas guardam o texto original anterior para que os tradutores possam ver exatamente as alterações que foram feitas. O &lokalize; simplifica a vida do tradutor e realça as partes do texto original que foram alteradas na área da Traduções Alternativas.

O &lokalize; realçando as partes do texto original que foram alteradas desde a última revisão da tradução
O &lokalize; realçando as partes do texto original que foram alteradas desde a última revisão da tradução

## 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á ser atribuído um atalho do teclado). A localização e o nome do item do menu para o programa é definida no seu arquivo '.rc' associado. Em cada projeto aberto, o &lokalize; analisa a pasta `PROJECTDIR/lokalize-scripts` à procura de arquivos '.rc' e adiciona-os a um arquivo de cache chamado `PROJECTDIR/lokalize-scripts/scripts.rc` (de modo a que não o adicione ao sistema de controle de versões do projeto). Os arquivos RC também contém localizações de programas, que poderão ser relativas à pasta do arquivo '.rc' ou a uma dada pasta de programas do sistema - ambos os casos serão tentados (ainda que eles tenham que ser relativos, se quiser compartilhar o arquivo '.rc' com outras pessoas no seu projeto). Por exemplo, você 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 o seu idioma).

Você poderá encontrar alguns exemplos de arquivos '.rc' na pasta de instalação do &lokalize; (normalmente em `/usr/share/kde4/apps/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 arquivo (isto é obtido através de uma opção especial no arquivo .rc). Se você estiver familiarizado com o Python ou o JavaScript, o código deverá ser intuitivo o suficiente.

Abaixo, 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 objeto Editor

- Referência da API do objeto &lokalize;

- Referência da API do objeto 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 predecessor 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 do &lokalize; para mais detalhes.

Tradução de Marcus Gama marcus.gama@gmail.com

&underFDL; &underGPL;

&documentation.index;