|
Dokumentace
Rezervovat demoPlatforma
PlatformaMCPCLIAPIWorkflows
NávodyChangelog

Průběžná lokalizace

  • Jak to funguje
  • Nastavení

Platformy

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

Pokročilé postupy

Pokročilé postupy pro lokalizaci v CI/CD – výběr workflow, kontrola úplnosti překladů a řešení merge konfliktů.

Jak vybrat workflow#

Čtyři workflow pokrývají většinu týmových setupů. Každé z nich přináší jiné kompromisy v oblasti automatizace, nároků na kontrolu a čistoty práce s větvemi.

WorkflowNejvhodnější proNevýhoda
Commit do mainMalé týmy, aktualizace bez zbytečných překážekBez kroku kontroly překladů
PR z mainTýmy, které chtějí překlady kontrolovatVyžaduje ruční schválení PR
Commit do feature brancheDlouho žijící feature brancheCommit y s překlady zůstávají v historii branche
PR z feature brancheMaximální kontrola nad každou featureJe potřeba spravovat více PR pro každou feature

Pokud si nejste jistí, začněte s „Commit do main“. Je to nejjednodušší workflow a úplně eliminuje merge konflikty, protože mezi větvemi nevzniká divergence.

Kontrola úplnosti překladů#

Přepínač --frozen ověří, že je přeložený veškerý obsah, aniž by generoval nové překlady. Pokud něco chybí, vrátí nenulový stavový kód:

bash
npx lingo.dev@latest run --frozen

Použijte ho jako bránu nasazení, která zabrání vydání nepřeloženého obsahu.

yaml
name: Check translations
on: [push, pull_request]
jobs:
  check:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - uses: actions/setup-node@v4
        with:
          node-version: 20
      - run: npx lingo.dev@latest run --frozen

Řešení merge konfliktů#

Merge konflikty vznikají, když se soubor i18n.lock mezi větvemi rozchází – typicky když se překlady aktualizují nezávisle v různých větvích.

Jak jim předejít#

Když budete commity s překlady zapisovat přímo do main (místo používání feature branchí pro překlady), konflikty v lockfile úplně zmizí.

Řešení pomocí merge#

1

Spusťte merge

bash
git merge <branch-name>
2

Smažte konfliktní lockfile

bash
rm i18n.lock
3

Dokončete merge

bash
git add .
git merge --continue
4

Znovu vygenerujte lockfile

bash
npx lingo.dev@latest lockfile --force

Tím znovu sestavíte lockfile z aktuálního stavu zdrojových souborů, aniž by se spustilo generování nových překladů.

Řešení pomocí rebase#

Stejný postup funguje i při rebase – v každém kroku konfliktu smažte i18n.lock, pokračujte v rebase a na konci znovu vygenerujte lockfile:

bash
git rebase <branch-name>
# On each conflict: rm i18n.lock && git add . && git rebase --continue
npx lingo.dev@latest lockfile --force

Další kroky#

GitHub Actions
Nastavte oficiální GitHub Action
i18n.lock
Jak lockfile sleduje stav překladů
Jak to funguje
Lokalizační pipeline v CI/CD
Nastavení
Nakonfigurujte CI/CD pro svůj projekt

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

Max PrilutskiyMax Prilutskiy·Aktualizováno před 4 měsíci·2 min čtení