Integração do GitHub

A integração do GitHub permite sincronizar arquivos entre seu repositório GitHub e o projeto Crowdin.

Note: You will need to install the GitHub integration in your Crowdin account before you can set it up and use it.

There are two possible GitHub integration modes you can choose from:

  • Modo de arquivos de origem e tradução – sincronize arquivos de origem e tradução entre seu repositório GitHub e o projeto Crowdin.
  • Modo de pacotes de arquivos de destino – gere e envie arquivos de tradução para seu repositório GitHub do projeto Crowdin no formato selecionado. In this mode, integration pushes translation files and doesn’t sync sources from your repo. Nos casos em que você realiza uma revisão de texto de origem em seu projeto Crowdin e deseja obter textos de origem atualizados em seu repositório, você pode adicionar um idioma de origem como idioma de destino, que será enviado para seu repositório junto com as traduções.

All translated and approved files will be automatically pushed as a merge request to the l10n branch in the GitHub repository in either of the above modes.

Conectando o GitHub com Crowdin

Existem duas opções possíveis que você pode escolher. Você pode usar sua conta GitHub ou a conta GitHub Enterprise.

Conectando a Conta do GitHub

  1. Abra seu projeto e vá para a guia Integrações.
  2. Clique em GitHub na lista de Integrações.
  3. Click Set Up Integration and select Source and translation files mode or Target file bundles mode from the drop-down list to integrate via your GitHub account. Integração do GitHub Conectando o GitHub
  4. Em seguida, autorize a conexão com o Crowdin no lado do GitHub: GitHub Integration Authorization

Caso o repositório que você precisa seja privado e você tenha acesso limitado ou nenhum acesso a ele, peça ao proprietário do repositório para fornecer a você o Token de Acesso. Em seguida, clique em Usar token de acesso pessoal e insira o token no campo Token e clique em Configurar Integração.

Conectando a Conta GitHub Enterprise

  1. Para integrar via conta do GitHub Enterprise, você deve criar um token de acesso. Certifique-se de selecionar os escopos necessários:

    • repo – Controle total de repositórios privados
    • admin:repo_hook – Full control of repository hooks

      Observação: Ao configurar uma integração com um token de acesso, verifique se você tem permissão de nível de administrador para o repositório necessário.
  2. Clique em GitHub Enterprise na lista de integrações.
  3. Em seguida, insira seu token de acesso e a URL base nos campos correspondentes.
  4. Click Set Up Integration and select Source and translation files mode or Target file bundles mode from the drop-down list to proceed. Integração do GitHub Conectando o GitHub Enterprise

Selecionando Repositório

Na caixa de diálogo exibida, selecione seu repositório e branches que devem ser traduzidas. É recomendável alternar Strings Duplicadas para Mostrar em um branch de versão, para que strings idênticas sejam ocultadas entre os branches. Se seus arquivos de origem contiverem strings com identificadores aparentes (chaves), é melhor usar uma versão estrita desta opção. Em outros casos, sinta-se à vontade para usar um regular.

Leia mais sobre Strings Duplicadas.

Integração do GitHub Não Configurada

Ao trabalhar com a integração do GitHub no Modo de Pacotes de Arquivos de Destino, a integração enviará as traduções concluídas do seu projeto Crowdin sem extrair as fontes do seu repositório. So when selecting a repository and branches that should be translated, you specify where the integration should put the generated bundles with translations.

Leia mais sobre como configurar pacotes de arquivos de destino para integração com VCS.

Ao trabalhar com integrações privadas (por exemplo, integrações com VCS auto-hospedado), você precisa adicionar endereços IP Crowdin dedicados à lista de permissões para garantir que ela funcione corretamente enquanto permanece seguro.

Leia mais sobre Endereços IP.

Branches de Atendimento

Quando as traduções são concluídas e seus idiomas estão prontos para serem lançados, o Crowdin envia a solicitação pull com as traduções para o seu sistema de controle de versão. Para cada branch que está em localização, o Crowdin cria um branch de serviço adicional com traduções. Não nos comprometemos diretamente com o branch mestre para que você possa verificar as traduções primeiro.

Por padrão, l10n_ é adicionado ao nome do branch de serviço criado. Se necessário, você pode alterá-lo facilmente.

Configurações de Sincronização

To import existing translations from your repo, select one of the following options:

  • One-time translation import after the branch is connected
  • Always import new translations from the repository

By default, the first option is selected to import translations only once. Alternatively, you can clear both options if you don’t want to import translations from your repo.

Opções de Importação de Tradução do GitHub

Por padrão, as fontes não são enviadas para o repositório com as traduções. Embora, se você realizar uma revisão de texto de origem em seu projeto Crowdin e quiser enviar as alterações feitas em seus arquivos de origem no Crowdin de volta ao seu repositório, clique em Editar, selecione Fontes Push nas configurações de integração e clique em Salvar.

Há casos em que é necessário desativar temporariamente as traduções de serem enviadas para o repositório. Nessa situação, clique em Editar, desmarque Agendamento de Sincronização nas configurações de integração e clique em Salvar. Quando estiver pronto para sincronizar as traduções com o repositório, selecione Agendamento de Sincronização e clique em Salvar.

A sincronização é processada a cada hora automaticamente. Se necessário, você pode alterar o intervalo de atualização nas configurações de integração. Para configurar a programação de sincronização – clique em Editar, role para baixo até Agendamento de Sincronização, defina o intervalo preferido e clique em Salvar.

Não dependendo das configurações de sincronização, as alterações dos arquivos de origem no repositório ainda serão sincronizadas com o Crowdin continuamente.

Configurações de Sincronização do GitHub

Branches para Sincronizar Automaticamente

Ao configurar a integração, você seleciona os branch de repositório existentes a serem adicionadas ao projeto Crowdin. Para adicionar branches futuros do GitHub ao Crowdin automaticamente, crie um padrão para os nomes dos branches nas configurações de integração.

Por exemplo, você adiciona um *recurso padrão nas configurações de integração do GitHub. Neste caso, serão adicionados ao projeto os branches futuros que contenham esta palavra no final do título.

Para adicionar um padrão para nomes de branches, siga estas etapas:

  1. Clique em Editar na seção de integração do GitHub.
  2. Na caixa de diálogo exibida, role para baixo até Branches para Sincronizar Automaticamente.
  3. No campo Branches para Sincronizar Automaticamente, use seletores curinga como ‘*’, ‘?’, ‘[set]’, ‘' e outros para identificar os branches necessários.
  4. Clique em Salvar. Branches to Sync Automatically

Nome do Arquivo de Configuração Padrão

crowdin.yml é o nome de arquivo padrão usado para branches sincronizados automaticamente. Para alterar as configurações padrão, clique em Editar, especifique o nome preferido no campo Nome do arquivo de configuração padrão nas configurações de integração e clique em Salvar.

Nome do Arquivo de Configuração Padrão

Selecionando Conteúdo para Sincronização

Para que a integração funcione, você deve especificar quais arquivos de origem devem ser traduzidos e como o Crowdin deve estruturar os arquivos traduzidos em seu repositório. Se você vir um ícone vermelho com um ponto de exclamação ao lado do nome do branch do serviço, isso significa que você não selecionou o conteúdo para sincronização.

Existem duas maneiras de fazer isso: configurando online ou manualmente criando um arquivo de configuração.

Configurando Online

Este procedimento é o mesmo para todas as integrações com sistemas de controle de versão (VCS). Verifique Integrações VCS: Configurando Online para saber como selecionar o conteúdo para sincronização online.

Criando Arquivo de Configuração

O arquivo de configuração crowdin.yml deve ser armazenado no repositório GitHub junto com cada branch separado que você deseja traduzir, para que o Crowdin saiba exatamente quais arquivos devem ser enviados para traduções.

Ele deve ter a mesma estrutura exigida para CLI, mas as credenciais do seu projeto não devem ser armazenadas no cabeçalho do arquivo por motivos de segurança.

Read more about creating a configuration file.

Trabalhando com Vários Repositórios em Um Projeto

Ao trabalhar com um produto multiplataforma que possui versões para diferentes sistemas operacionais, talvez você queira conectar vários repositórios que contenham arquivos de origem para cada sistema operacional. Nesse caso, os recursos de localização (por exemplo, MTs, Glossários) e traduções poderiam ser utilizados de forma mais eficiente, reduzindo o tempo necessário para a localização do projeto.

Para adicionar outro repositório, siga estas etapas:

  1. Abra seu projeto e vá para a guia Integrações.
  2. Clique em GitHub na lista de Integrações.
  3. Clique em Adicionar Repositório.
  4. Configure a integração com o novo repositório de acordo com suas necessidades e preferências.

Integração GitHub Múltiplos Repositórios

Verificando o Status da Sincronização

Depois que a integração é configurada, todas as informações relacionadas são armazenadas na guia Integrações > seção GitHub.

Depois que a integração é conectada, as configurações podem ser atualizadas apenas pelo membro do projeto que a configurou. Todos os gerentes do projeto, exceto a pessoa que configurou a integração, verão o botão Editar desativado com o seguinte aviso ao passar o mouse sobre ele: A integração foi configurada por {Full Name} ({username}).

Por padrão, a sincronização é processada a cada hora automaticamente. Se você precisar iniciar a sincronização instantaneamente – clique em Sincronizar Agora.

GitHub Sync Now

Como alternativa, se você precisar sincronizar apenas um branch separadamente, clique em no branch necessário e selecione Sincronizar branch.

Branch de Sincronização do GitHub

Carregando Traduções do Repositório

Por padrão, as traduções armazenadas no repositório são carregadas no Crowdin apenas durante a primeira sincronização. Para fazer o envio de traduções para o Crowdin manualmente, clique no botão suspenso no botão Sincronizar Agora e clique em Enviar Traduções. A integração fará o envio das traduções existentes para o seu projeto Crowdin.

Enviar Traduções no GitHub

Pergunta e resposta

P: O que devo fazer se meu repositório se tornar parte da organização GitHub? R: Para continuar usando a integração do GitHub no Crowdin, siga estas etapas:

  1. Acesse Aplicativos OAuth Autorizados em sua conta do GitHub.
  2. Encontre o Aplicativo Crowdin OAuth na lista e revogue seu acesso.
  3. Configure a integração do GitHub em seu projeto Crowdin novamente usando as instruções acima.

P: Eu tenho uma compilação de aplicativo configurada para ser acionada por cada commit. Como o Crowdin envia cada arquivo de tradução em um commit separado, como posso evitar compilações de aplicativos desnecessários acionados por commits do Crowdin? R: Como as integrações VCS no Crowdin usam API para enviar arquivos, mas não o Git, cada arquivo é enviado separadamente.

Aqui estão algumas recomendações que podem ajudar a resolver situações semelhantes:

  • Use a opção export_languages para pular commits de idiomas nos quais você ainda não está interessado. Leia mais sobre o parâmetro Exportar idiomas para integrações VCS.
  • Use a marcação [ci skip] nas mensagens de confirmação para pular compilações desnecessárias. Leia mais sobre o Parâmetro de Mensagem Commit para integrações VCS.
  • Configure o intervalo de sincronização preferido usando Agendamento de Sincronização (por exemplo, defina a sincronização uma vez em 24 horas).
  • O Squash faz commits ao mesclar um branch de localização para manter o histórico do branch mestre limpo e organizado.

Veja Também

Este artigo foi útil?