|
Dokumentace
Rezervovat demoPlatforma
PlatformaMCPCLIAPIWorkflows
Návody
Changelog

Lokalizace

  • Přehled
  • Translation API
  • Lokalizace webových aplikací
  • Lokalizace mobilních aplikací
  • iOS se String Catalogs
  • Android a strings.xml
  • Lokalizace e-mailů
  • Statický obsah (např. .md, .json)
  • Next.js s Markdoc
  • Rails s i18n

Workflowy

  • Nastavení engine pomocí MCP
  • Jira Triage
  • CI/CD

Lokalizační workflowy pro CI/CD

Lingo.dev automatizuje lokalizaci přímo v CI/CD. Máte dvě možnosti: GitHub App, která serverově reaguje na push a pull requesty, nebo CLI spuštěné ve vaší vlastní pipeline. Obě varianty udržují překlady synchronizované při každé změně a zpracovávají jen řetězce, které se skutečně změnily – takže lokalizace zůstává rychlá a nákladově efektivní i s růstem projektu.

Používáte GitHub? Začněte s App

GitHub App je na GitHubu doporučená volba. Stačí ji jednou nainstalovat a bude lokalizovat při každém pushi a pull requestu – bez runneru, bez CI secretu a bez lockfilu, o který byste se museli starat. Pokud GitHub nepoužíváte nebo chcete překlady spouštět společně s ostatními kroky CI, spusťte místo toho CLI ve vlastní pipeline.

Možnost 1: GitHub App (doporučeno)#

GitHub App je nejjednodušší způsob, jak spustit Průběžná lokalizace. Sleduje váš repozitář a překládá serverově, takže do pipeline nemusíte nic instalovat ani ukládat API klíč jako CI secret.

Nastavení je jednorázové:

  1. Nainstalujte Lingo.dev GitHub App do svého repozitáře.
  2. Commitněte .lingo/config.json s vaším orgId, engineId, zdrojovým jazykem, cílovými jazyky a soubory k překladu. Lokálně ho vygenerujte pomocí lingo init a lingo link a pak commitněte výsledek.
  3. Pushněte změny.

Od té chvíle App za vás obslouží oba styly workflow:

  • Při pushi do výchozí větve commitne překlady zpět do větve.
  • U pull requestu přidá překlady do daného PR, abyste je mohli před sloučením zkontrolovat.

Protože App sleduje stav překladů serverově, ve vašem repozitáři nevznikají konflikty kvůli lockfilu a nemusíte zapojovat žádný ověřovací krok – jednoduše udržuje cílové jazyky synchronizované se zdrojem.

Možnost 2: CLI ve vlastní pipeline#

Pokud nejste na GitHubu nebo chcete lokalizaci spouštět jako samostatný krok vedle build a test jobů, spusťte CLI sami. Funguje v jakémkoli CI prostředí s Node.js 22 nebo novějším – GitHub Actions, GitLab CI, Bitbucket Pipelines i kdekoli jinde.

Postup je vždy stejný:

  1. Nainstalujte @lingo.dev/cli.
  2. Ověřte se pomocí API klíče přes proměnnou prostředí LINGO_API_KEY.
  3. Spusťte lingo push pro překlad změněných řetězců.
  4. Commitněte výsledky nebo ze svého jobu otevřete pull request.

Uložte API klíč Lingo.dev jako CI secret a zpřístupněte ho jako LINGO_API_KEY. Commitnutý .lingo/config.json říká CLI, co má překládat, a commitnutý .lingo/lock.json (znovu vygenerovaný pomocí lingo push) sleduje stav, takže se zpracovávají jen změněné řetězce.

Minimální příklad pro GitHub Actions#

Tento workflow nainstaluje CLI, překládá při každém pushi do main a commitne výsledky zpět:

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
      - run: npm install -g @lingo.dev/cli
      - run: lingo push
        env:
          LINGO_API_KEY: ${{ secrets.LINGO_API_KEY }}
      - name: Commit translations
        run: |
          git config user.name "github-actions[bot]"
          git config user.email "github-actions[bot]@users.noreply.github.com"
          git add .
          git commit -m "chore: update translations" || echo "No changes"
          git push

Stejné dva řádky – npm install -g @lingo.dev/cli a potom lingo push – můžete vložit do bloku script: v GitLab CI nebo do kroku v Bitbucket Pipelines. Na těchto platformách nastavte LINGO_API_KEY jako maskovanou/chráněnou CI proměnnou.

První spuštění a nové jazyky

Při prvním spuštění v CI nebo kdykoli přidáte nový cílový jazyk použijte lingo push --backfill-missing, aby se všechny existující řetězce přeložily do nového jazyka. Potom už běžné lingo push překládá jen rozdíl.

Commit, nebo pull request?#

Ať zvolíte jakoukoli cestu, pořád máte pod kontrolou, jak se překlady dostanou do repozitáře:

PřístupJak fungujeIdeální proNevýhoda
Commit přímoPřeklady se commitnou do větve, ve které došlo ke změněMalé týmy, bez zbytečného třeníBez kroku pro kontrolu překladů
Pull requestPřeklady se dostanou do PR ke kontrole před sloučenímTýmy, které překlady kontrolujíVyžaduje schválení PR

GitHub App vám obojí zajistí automaticky – při pushích do výchozí větve commituje a do otevřených PR přidává překlady. Ve vlastní pipeline je volba na vás: commitněte výsledky, jak je ukázáno výše, nebo nechte job místo pushnutí do větve otevřít pull request.

Ověření překladů před nasazením#

Abyste měli jistotu, že se nenasadí žádný nepřeložený obsah, přidejte lingo check jako kontrolní krok před nasazením. Vrátí nenulový stavový kód, pokud některé řetězce stále čekají na překlad:

yaml
- name: Verify translations
  run: lingo check

GitHub App udržuje jazyky průběžně synchronizované, takže samostatný ověřovací krok dává smysl hlavně tehdy, když CLI spouštíte sami.

Monorepozitáře#

U monorepozitářů, kde má každý balíček vlastní .lingo/config.json, můžete běh omezit na konkrétní balíček předáním globu nebo spustit CLI z adresáře daného balíčku:

bash
lingo push "apps/web/**"

Další kroky#

GitHub App
Spravovaná průběžná lokalizace na GitHubu – bez runneru, secretu a lockfile
Přehled CLI
Nainstalujte, ověřte se a spusťte CLI Lingo.dev
Rychlý start
Od nuly k prvnímu pushi během pár minut
Konfigurace
Vše, co patří do .lingo/config.json
Stav běhu
Jak lockfile sleduje, co už bylo přeloženo

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

Max PrilutskiyMax Prilutskiy·Aktualizováno před 24 dny·4 min čtení