GitHub Crowdin Action

O GitHub Crowdin Actionpermite integrar facilmente a localização do seu projeto Crowdin ao fluxo de trabalho que você configurou no seu repositório com a ajuda do GitHub Actions. Usando o GitHub Crowdin Action, você pode automatizar a sincronização dos recursos de localização com seu projeto Crowdin.

O que essa ação faz?

  • Carregar fontes para Crowdin.
  • Carregar traduções para Crowdin.
  • Transfira as traduções do Crowdin.

Uso

Configurar um fluxo de trabalho em .github/workflows/crowdin.yml (ou adicione um trabalho aos seus fluxos de trabalho existentes).

Leia o artigo Configurando um fluxo de trabalho para obter mais detalhes sobre como criar e configurar fluxos de trabalho personalizados.

name: Crowdin Action

on:
  push:
    branches: [ master ]

jobs:
  synchronize-with-crowdin:
    runs-on: ubuntu-latest

    steps:

    - name: Checkout
      uses: actions/checkout@v2

    - name: crowdin action
      uses: crowdin/github-action@1.0.4
      with:
        upload_translations: true
        download_translations: true
      env:
        GITHUB_TOKEN: $
        CROWDIN_PROJECT_ID: $
        CROWDIN_PERSONAL_TOKEN: $

Opções suportadas

A ação padrão é fazer carregamento de fontes. No entanto, você pode definir ações diferentes através das opções with. Se você não deseja enviar suas fontes para o Crowdin, basta definir a opção upload_sources como false.

Por padrão, fontes e traduções estão sendo carregadas na raiz do seu projeto Crowdin. Ainda assim, se você usar ramificações, poderá definir a ramificação de origem preferida.

Você também pode especificar em qual ramo do GitHub você gostaria de baixar suas traduções (a ramificação de tradução padrão é l10n_crowdin_action).

Caso você não queira baixar traduções do Crowdin a opção (download_translations: false), localization_branch_name e create_pull_request também não são necessários.

- name: crowdin action
  with:
    # upload options
    upload_sources: true
    upload_translations: true

    # opções de download
    download_translations: true
    language: 'uk'
    push_translations: true

    # Esse é o nome do ramo git que o Crowdin criará ao abrir uma solicitação de recebimento. 
    # Essa ramificação NÃO precisa ser criado manualmente. Será criado automaticamente pela ação.
    localization_branch_name: l10n_crowdin_action
    create_pull_request: true

    # opções globais

    # Este é o nome do diretório de nível superior que o Crowdin usará para arquivos.
    # Note que este não é uma "ramificação" no sentido git, mas mais como um diretório de nível superior no seu projeto Crowdin.
    # Essa ramificação NÃO precisa ser criado manualmente. Será criado automaticamente pela ação.
    crowdin_branch_name: l10n_branch
    identity: '/path/to/your/credentials/file'
    config: '/path/to/your/crowdin.yml'
    dryrun_action: true

    # opções de configuração

    # Este é um ID numérico, que não deve ser confundido com o texto de caracteres  de"identificador de projeto" da API Crowdin v1
    # Veja "API v2" no https://br.crowdin.com/project/<your-project>/settings#api
    project_id: $ 

    # Um token de acesso pessoal, que não deve ser confundido com a "chave da API" da API Crowdin v1
    # Veja https://br.crowdin.com/settings#api-key to generate a token
    token: $
    source: '/path/to/your/file'
    translation: 'file/export/pattern'
    base_url: 'https://crowdin.com'
    base_path: '/project-base-path'

Para obter descrições mais detalhadas dessas opções, consulte action.yml.

Arquivo de Configuração do Crowdin

Se o seu arquivo de fluxo de trabalho contiver a propriedade config, você precisará adicionar o seguinte arquivo de configuração do Crowdin (exemplo: crowdin.yml):

project_id_env: ID_DO_PROJETO_CROWDIN
api_token_env: PESSOAL_TOKEN_PESSOAL_DO_CROWDIN

Quando o fluxo de trabalho é executado, os valores reais do seu token e ID do projeto serão injetados na configuração usando os segredos do ambiente.

Este artigo foi útil?