OmegaT 3.1 - Manual do Usuário

# Appendix C. Projetos de equipe no OmegaT

## Controle de versão - introdução

A tradução colaborativa oferecida pelo OmegaT é baseada na funcionalidade de versão ou controle de revisão, bastante usada pela comunidade de software para manter o controle de modificações do código de um programa e permitir a colaboração desimpedida dentro da equipe de desenvolvimento. O OmegaT suporta duas das versões mais populares de sistemas de controle (abreviado como VCS, version control system), Apache Subversion (muitas vezes abreviado como SVN, relacionado ao comando svn) e Git. As vantagens de um sistema VC para uma equipe de tradutores podem ser resumidas da seguinte maneira:

- Vários membros da equipe podem trabalhar no projeto de tradução simultaneamente sem interferir no trabalho dos outros

- Podem compartilhar o material comum, como memória de tradução de projeto e o seu glossário

- A cada três minutos, por padrão, uma versão atualizada dos dados compartilhados estará disponível para o resto da equipe

- O sistema mantém as versões dos dados compartilhados

- Conflitos - por exemplo traduções alternativas do mesmo segmento ou mesma entrada de glossário - podem ser controlados, resolvidos e unidos

Os seguintes termos, que serão usados no texto abaixo, merecem uma explicação curta:

- Servidor VCS - O servidor Git ou SVN é o ambiente onde o material comum é guardado e mantido na rede. O servidor pode existir na rede local mas na maioria dos casos estará disponível na Internet, isto é, via URL. Um membro da equipe, o administrador do projeto, deve saber lidar com o servidor, isto é, configurar o ambiente, importar o projeto do OmegaT, atribuir os direitos de acesso dos membros de equipe, resolver os conflitos, etc.

- Cliente de VCS: Para ter uma interface com o servidor, é necessário instalar um cliente Git ou SVN nos computadores dos "gerentes de projetos" envolvidos no projeto do OmegaT. Alguns clientes muito populares do ambiente de Windows são TortoiseSVN e TortoiseGit. Outros sistemas operacionais (Linux, OS X) oferecem pacotes semelhantes.

- repositório: o lugar onde o material compartilhado é gravado e mantido em uma rede de acesso local ou na Internet. Os membros de projeto conectam-se a ele por meio do seu cliente VCS.

- checkout: a operação que cria uma cópia de trabalho do repositório no seu computador local. O servidor guarda a informação sobre checkouts, para depois fazer o commit (veja abaixo) de uma maneira ordenada.

- commit: uma vez que suas modificações locais estejam prontas, o commit pode ser feito no repositório e assim posto à disposição para o resto da equipe. O servidor garante que qualquer modificação conflitante, devido a dois membros trabalharem no mesmo conteúdo, seja resolvida.

- administrador: a pessoa responsável pela criação e manutenção do repositório, isto é, cuidar do lado do servidor na tarefa. Para evitar qualquer problema, apenas uma pessoa deve ter estes direitos, ao menos inicialmente.

- usuário : um membro da equipe, que colabora no projeto comum.

## Compartilhando um projeto usando SVN

Há duas possibilidades ao usar um servidor SVN: você pode instalar o SVN no seu próprio servidor ou pode usar um serviço hospedado. Ao usar um serviço externo, você estar ciente das implicações possíveis quanto à confidencialidade, já que está carregando o documento original em um servidor fora do seu controle direto. Como alternativa, para evitar este problema, você pode estabelecer um servidor SVN privado, por exemplo, se já tiver um servidor apache que inclui o programa em questão (p. ex. VisualSVN).

Uma vez que o servidor SVN esteja disponível, os gerentes de projeto devem instalar localmente um cliente SVN, para gerenciar os conteúdos de projeto nos seus computadores. Para Windows recomendamos o TortoiseSVN. Para Mac você pode carregar o cliente, por exemplo, do SourceForge, para Linux veja Comandos e Scripts Subversion.

### Criação de um repositório

O procedimento apresentado baseia-se no servidor SVN gratuito (limitado a 2 usuários) oferecido pela ProjectLocker. Observe que o criador do repositório tem implicitamente os direitos de administrador do repositório criado. Registre-se no site primeiro ou - se for a sua primeira vez no site, registre-se nele e guarde o seu nome do usuário e senha para projetos futuros.

1. Crie um novo projeto no ProjectLocker

2. Digite o nome e a descrição do repositório. ( `OmegaT` e `OmegaT SL Localization` no exemplo usado aqui)

3. Escolha SVN.

4. Clique em Criar projeto

Abra o modo de exibição de Projetos para a sua conta. A URL mostrada em Project Services será usada pelo SVN para conectar clientes ao servidor SVN que você acaba de estabelecer. Este também é o lugar para acrescentar membros da equipe ao projeto e atribuir seus respectivos direitos. Observe que os membros da equipe devem primeiramente se registrar, antes que se possa acrescentá-los ao projeto (Nota: na versão gratuita do ProjectLocker são permitidos apenas dois usuários por projeto).

Os projetos podem ser gerenciados de acordo com seu estilo de desenvolvimento e necessidades. Assim como nos projetos do OmegaT, você precisará ter repositórios separados para pares de línguas diferentes. E dentro de um certo par de línguas, é melhor guardar assuntos e/ou clientes diferentes em repositórios separados também. A alternativa é ter um repositório único com subpastas `Projeto1`, `Projeto2`, etc., e compartilhar o material comum mantendo apenas uma pasta `tm`, `glossary` e `dictionary`.

Para o exemplo mostrado aqui decidimos por um projeto de OmegaT - um repositório único por questões de simplicidade.

### Importação do projeto para o repositório SVN - Windows

O repositório está vazio neste momento. Primeiro crie uma pasta cliente vazia no seu disco. Crie uma pasta vazia para guardar o seu projeto e clique com o botão direito nela. Selecione TortoiseSVN > Checkout. O seguinte diálogo aparece:

Insira a URL, fornecida pelo ProjectLocker, no campo URL do repositório . Verifique se o campo Checkout directory está correto, isto é, se especifica a pasta vazia que você criou, e pressione OK . Uma vez que a operação tenha terminado, você pode verificar a pasta citada: ela deve conter agora uma subpasta .svn e um símbolo verde de OK no seu ícone, mostrando que o conteúdo da pasta está atualizado:

No passo seguinte, acrescentaremos os arquivos do OmegaT à pasta local. Os arquivos seguintes devem ser compartilhados entre os membros da equipe e assim devem ser incluídos em qualquer caso:

- o arquivo de projeto do omegat - `omegat.project`

- a memória de tradução - `omegat\project_save.tmx`

- o conteúdo da pasta source

- a definição de filtros específica do projeto - `omegat\filters.xml`

O administrador pode decidir incluir os seguintes arquivos e o seu conteúdo também: `tm`, `glossary` e `dictionary`. É válido compartilhar e manter disponíveis à equipe os arquivos `ignored_words.txt` e `learned_words.txt` na pasta `omegat`. Evite adicionar os arquivos `bak`, `project_stats.txt` e `project_stats_match.txt`, na subpasta `omegat`, pois são desnecessários e somente ocupariam espaço no repositório. Você pode querer aplicar o mesmo à pasta `target` e o seu conteúdo.

Depois de copiar os arquivos necessários no diretório local, você notará que o ícone mudou: o símbolo verde OK virou um sinal de exclamação vermelho, indicando a modificação na cópia local do repositório. Os dois passos seguintes atualizarão a versão do servidor:

- acrescente os arquivos copiados à versão local do repositório: clique com o botão direito na pasta local e escolha TortoiseSVN > Add. No diálogo que se abre, não altere as opções pré-selecionadas e clique OK. A janela Add Finished! aparecerá, de maneira semelhante ao exemplo abaixo:

  Os conteúdos da pasta local serão marcados de acordo:

- confirme as modificações locais no servidor: clique com o botão direito na pasta local e escolha SVN Commit.... A janela Commit abre-se - veja abaixo. Verifique as modificações a fazer - isto é, as pastas e arquivos acrescentados, neste caso.

  Insira a mensagem apropriada na janela de mensagem e pressione OK. A janela Commit abrirá e mostrará o progresso do comando de commit. Primeiro os conteúdos atuais serão enviados ao repositório do servidor e depois a cópia local do repositório será atualizada - isto é, os conteúdos da subpasta .svn - para mantê-los de acordo com a última versão do repositório.

- atualize os arquivos locais a partir da cópia do repositório local - as modificações recebidas do repositório do servidor estão dentro da subpasta .svn mas ainda não nos próprios arquivos e pastas. Para atualizar os arquivos locais, clique com o botão direito na pasta local e escolha SVN Update. Verifique os conteúdos da pasta para confirmar que a cópia local do repositório e os respectivos arquivos e pastas correspondem à última versão do servidor:

## Uso do projeto de equipe no OmegaT

Depois de organizar o projeto de equipe, os membros precisam apenas que o OmegaT acesse o projeto. Em primeiro lugar, eles precisam usar Projeto> Baixar projeto de equipe. Isto na verdade fará um check-out do projeto em uma pasta local. As credenciais são salvas, portanto não é necessário digitá-las a cada vez. No Linux, se o OmegaT ainda estiver pedindo as suas credenciais, marque a caixa Forçar o salvamento da senha como texto simples.

Para o uso subsequente, somente é necessário abrir o projeto, como você o faria com qualquer outro projeto do OmegaT. O OmegaT reconhecerá que é um projeto de equipe e sincronizará tudo automaticamente, como padrão, a cada três minutos.