|
Dokumentace
Rezervovat demoPlatforma
PlatformaMCPCLIAPIWorkflows
NávodyChangelog

Průběžná lokalizace

  • Jak to funguje
  • Nastavení

Platformy

  • GitHub App
  • GitHub
  • GitLab CI/CD
  • Bitbucket Pipelines
  • Pokročilé postupy

GitHub

Lingo.dev nabízí dva způsoby, jak na GitHubu spustit Průběžnou lokalizaci: přes spravovanou GitHub App nebo spuštěním @lingo.dev/cli v jobu GitHub Actions.

Kterou možnost zvolit?

Začněte s GitHub App — běží na serveru, automaticky reaguje na push a pull requesty a nevyžaduje runner, secret s API klíčem ani správu lockfile. Po GitHub Actions sáhněte ve chvíli, kdy chcete lokalizaci spouštět ve vlastní pipeline spolu s dalšími CI kroky.

GitHub App (doporučeno)#

GitHub App je nejjednodušší způsob, jak na GitHubu spustit Průběžnou lokalizaci. Stačí ji jednou nainstalovat, nasměrovat na engine a pak bude reagovat na každý push i pull request.

  1. Nainstalujte aplikaci ze stránky GitHub App a udělte jí přístup k repozitáři.
  2. Commitněte do kořene repozitáře soubor .lingo/config.json, který popisuje vaše buckety a jazyky, včetně engineId engine, který má aplikace používat. Formát souboru najdete v části Configuration.
  3. Proveďte push. Aplikace lokalizuje změněný obsah na serveru a výsledky commitne zpět (nebo otevře pull request), takže .lingo/lock.json zůstává automaticky aktuální.

Protože aplikace běží na serveru, nemusíte spravovat runner, ukládat secret LINGO_API_KEY ani spouštět příkaz pro lockfile.

GitHub Actions#

Pokud chcete lokalizaci spouštět ve vlastní pipeline, nainstalujte CLI v jobu a spusťte lingo push, pak výsledky commitněte nebo otevřete pull request pomocí svých stávajících nástrojů.

Uložte API klíč jako secret repozitáře s názvem LINGO_API_KEY (Settings > Secrets and variables > Actions). CLI si ho načte z prostředí.

Commit do aktuální větve#

Vytvořte .github/workflows/localize.yml:

yaml
name: Localize
on:
  push:
    branches: [main]
permissions:
  contents: write
jobs:
  localize:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - uses: actions/setup-node@v4
        with:
          node-version: 22
      - name: Install Lingo.dev CLI
        run: npm install -g @lingo.dev/cli
      - name: Localize
        run: lingo push
        env:
          LINGO_API_KEY: ${{ secrets.LINGO_API_KEY }}
      - name: Commit translations
        run: |
          git config user.name "Lingo.dev"
          git config user.email "support@lingo.dev"
          git add .
          git diff --staged --quiet || git commit -m "feat: update translations"
          git push

Tím se při každém pushi lokalizuje změněný obsah a výsledky se commitnou přímo do větve.

Otevřít pull request#

Pokud chcete překlady doručovat přes kontrolu místo přímého commitování, pushněte výsledky do větve a otevřete pull request. Tento příklad používá GitHub CLI, které je na GitHub-hosted runnerech předinstalované:

yaml
name: Localize
on:
  push:
    branches: [main]
permissions:
  contents: write
  pull-requests: write
jobs:
  localize:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - uses: actions/setup-node@v4
        with:
          node-version: 22
      - name: Install Lingo.dev CLI
        run: npm install -g @lingo.dev/cli
      - name: Localize
        run: lingo push
        env:
          LINGO_API_KEY: ${{ secrets.LINGO_API_KEY }}
      - name: Open pull request
        env:
          GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
        run: |
          git config user.name "Lingo.dev"
          git config user.email "support@lingo.dev"
          branch="lingo/translations-${{ github.run_id }}"
          git checkout -b "$branch"
          git add .
          git diff --staged --quiet && exit 0
          git commit -m "feat: update translations"
          git push origin "$branch"
          gh pr create --fill --base "${{ github.ref_name }}" --head "$branch"

Pro workflow založené na PR povolte Settings > Actions > General > Allow GitHub Actions to create and approve pull requests.

Stejný job funguje i na feature větvích — změňte filtr on.push.branches (například branches-ignore: [main]) a určete, kde se má lokalizace spouštět.

Další kroky#

GitHub App
Spravovaná alternativa – bez runneru, secretu i lockfilu
CLI Reference
Příkazy, konfigurace a použití v CI
Pokročilé scénáře
Kontroly lokalizace, konflikty při slučování a výběr workflow
GitLab CI/CD
Nastavte integraci s GitLab CI/CD

Byla tato stránka užitečná?

Max PrilutskiyMax Prilutskiy·Aktualizováno před 23 dny·2 min čtení