Gerenciamento de versões

Localização que não atrasa os lançamentos

O maior problema de localização ágil é provavelmente o fato de que você deve aguentar o lançamento até que os textos recentemente adicionados sejam traduzidos. O recurso de gerenciamento da versão em Crowdin reduz drasticamente os atrasos. Esse recurso também é crucial para os projetos que mantêm mais de uma versão.

Fluxo de trabalho comum da localização da aplicação

A abordagem comum para localização dos aplicativos parece ser a seguinte:

  • Os desenvolvedores estão trabalhando nas mudanças em seu próprio ramo de código
  • O ramo é unido ao master ou outro ramo de pré-lançamento semelhante a master e permanece lá até que todos os textos recém-adicionados sejam traduzidos

Problema principal

Na maioria dos casos, o aplicativo é desenvolvido simultaneamente por poucos desenvolvedores. Eles trabalham em ramos de versões separadas, dentro de um sistema de controle de versão (GIT). Um processo clássico de localização é o seguinte: novos textos são carregados do ramo mestre para o servidor de tradução.

Todos os textos de Branch 1 and Branch 2 irão ao servidor de tradução somente depois de serem incorporados ao master, em vez de estar disponível para tradução instantaneamente.

Solução

Com a nova abordagem, a tradução pode começar imediatamente após novos textos aparecerem em qualquer um dos ramos do código. Quando o recurso de ramo está sendo fundido para o pré-lançamento ou ramo master, as traduções para novos textos estarão prontas para implantação.

Implementação no Crowdin

Quando seus tradutores trabalham no projeto com todos os ramos carregados para Crowdin, a plataforma irá destacar apenas os ramos diferentes para eles. Isso significa que os tradutores não traduzem as duplicatas.

Comece a usar

Para ativar o recurso de tradução de agências em seu projeto, altere a configuração a seguir por meio das Configurações do projeto, Geral tab.

Qualquer texto fonte é considerado como duplicado se houver o mesmo texto na versão diferente do arquivo (ramo diferente) e não será exibido para um tradutor. Estando traduzido uma vez, os textos duplicados em outros ramos são preenchidos com essa tradução automaticamente.

Criação de ramo de versão

Em geral, um ramo em Crowdin é um diretório regular marcado com um ícone especial e comportamento com strings duplicados. Ramos podem ser criados através das Configurações do projeto, aba Arquivos or via [API]/[Ferramenta de Sincronização] (recomendado).

Se você usar o GitHub, o Bitbucket ou outra integração do VCS, os ramos de localização selecionados serão criados no Crowdin automaticamente.

O exemplo de uma estrutura de arquivos no sistema de controle de versão e Crowdin:

Importante! O diretório raiz do projeto também se comporta com as duplicatas como um ramo de versão separado. Você pode armazenar, por exemplo, arquivos de mestrado diretamente na raiz do projeto, sem colocá-los em um diretório separado marcado como um ramo de versão.

Criando Ramos via API

Para criar um ramo via API, use o Adicionar diretório método com is_branch=1 parâmetro:

POST https://api.crowdin.com/api/project/{project-identifier}/add-directory?key={project-key}&name={branch_name}&is_branch=1

Adicionar arquivo, Atualizar arquivo, Carregar Traduções e outros métodos que manipulam arquivos e pastas funcionam com parâmetro branch={branch_name}.

Gerenciando ramos com ferramenta de sincronização

Não é necessário executar um comando específico para criar ramos de versão se a ferramenta de sincronização for usada. O ramo da versão seria criado automaticamente enquanto o upload de arquivos. Exemplo dos arquivos de origem / upload de traduções para o ramo de versão especificado:

$ crowdin upload sources -b branch_name

$ crowdin upload translations -b branch_name

Exportar Traduções

As traduções de todos os ramos da versão são colocadas em um arquivo ZIP se forem baixadas através da interface web. Use a ferramenta de sincronização ou a API para baixar a versão das traduções de ramificações individualmente.

Exportar traduções por API

Exportar traduções do ramo da versão especificada:

GET https://api.crowdin.com/api/project/{project-identifier}/export?key={project-key}&branch={branch_name}

Download traduções do ramo da versão especificada:

GET https://api.crowdin.com/api/project/{project-identifier}/download/{package}.zip?key={project-key}&branch={branch_name}

Ferramenta de exportação de traduções por sincronização

Download traduções do ramo da versão especificada:

$ crowdin download -b branch_name

Mesclando Ramos

Quando o desenvolvimento do recurso é concluído, um engenheiro mescla o ramo da versão com um ramo masterno VCS. Consequentemente, o ramo master conterá novos textos do recurso ramos. Enquanto sincroniza com Crowdin, todos os textos no ramo master são preenchidos com traduções feitas anteriormente no ramo apropriado.

Depois de uma sincronização da atualização master com Crowdin, o feature ramo pode ser removido do Crowdin - traduções armazenadas no ramo master permanecerá.

Fluxo de trabalho recomendado

O novo fluxo de trabalho que Crowdin recomenda implementar:

É importante repensar e discutir o novo fluxo de trabalho com a equipe de desenvolvimento. O importante para implementar dentro da equipe é o acordo de não cometer textos que provavelmente não irão para a produção.

GitHub Workflow e Crowdin

Você pode implantar suas mudanças na função de ramo para verificar a produção.

Este artigo foi útil?