|Labs
Rezervovat demoPlatforma
React (Lingo Compiler)
Alpha
React (MCP)React (i18n)Legacy CLI (v0)
Zastaralé

Lingo.dev Compiler

  • Jak to funguje
  • Nastavení
  • Compiler: rychlý start

Frameworky

  • Integrace s Next.js
  • Vite + React

Průvodci

  • Přepínání jazyků
  • Automatická pluralizace
  • Ruční přepsání
  • Režimy sestavení
  • Struktura projektu
  • Poskytovatelé překladu
  • Vlastní resolvery jazyka
  • Vývojové nástroje

Reference

  • Osvědčené postupy
  • Configuration Reference
  • Řešení problémů
  • Průvodce migrací
  • Optimalizace
  • Výstupní formáty

Režimy sestavení

Alfa

Compiler Lingo.dev je v alfaverzi. Je nestabilní, nedoporučuje se pro produkční nasazení a API se může mezi jednotlivými vydáními měnit.

Compiler Lingo.dev funguje ve dvou režimech sestavení, které určují, zda se během buildu generují nové překlady. Pochopení těchto režimů je zásadní pro nastavení spolehlivého development, CI i produkční pipeline.

Dva režimy#

RežimChováníKdy ho použít
"translate"Generuje chybějící překlady voláním nakonfigurovaného LLM providera. Překlady z cache znovu využívá.Development a CI – když je potřeba přeložit nový nebo upravený text.
"cache-only"Používá pouze překlady z .lingo/metadata.json. Pokud některý překlad chybí, build selže.Produkční buildy – deterministický výstup bez externích volání API.

Jak funguje režim translate#

V režimu translate Compiler kontroluje každý přeložitelný řetězec vůči .lingo/metadata.json. Pokud překlad v cache existuje a zdrojový text se nezměnil, použije se verze z cache. Pokud je řetězec nový nebo upravený, Compiler zavolá nakonfigurovaného poskytovatele překladu, vygeneruje překlad a aktualizuje cache.

ts
{
  buildMode: "translate",
}

Tento režim je výchozí. Funguje jak s pseudopřekladačem (pro okamžité testovací překlady), tak se skutečnými LLM providery.

Jak funguje režim cache-only#

V režimu cache-only Compiler načítá překlady výhradně z .lingo/metadata.json. Neprobíhají žádná volání LLM. Pokud v cache chybí jakýkoli přeložitelný řetězec, build skončí chybou se seznamem chybějících řetězců.

.lingo/metadata.json musí být commitnutý do správy verzí. Produkční buildy v režimu cache-only závisejí na tom, že je tento soubor přítomný v repozitáři – nestačí ho mít vygenerovaný jen lokálně.

ts
{
  buildMode: "cache-only",
}

Tento režim vytváří deterministické buildy – stejný zdrojový kód a stejná cache vždy povedou ke stejnému výstupu. Zároveň eliminuje závislost na externích API během produkčních buildů.

Doporučený workflow#

1

Development – pseudopřekladač

Zapněte pseudopřekladač pro okamžitou zpětnou vazbu bez volání API:

ts
{
  buildMode: "translate",
  dev: {
    usePseudotranslator: true,
  },
}

Pseudopřeklady se zobrazují jako [!!! Welcome !!!], takže snadno odhalíte nepřeložené řetězce a otestujete rozložení při různých délkách textu.

2

CI – režim translate

Spusťte ho s buildMode: "translate" a skutečným LLM providerem. CI job vygeneruje překlady pro všechny nové nebo upravené řetězce a commitne aktualizované .lingo/metadata.json zpět do repozitáře.

bash
# CI environment
LINGO_BUILD_MODE=translate npm run build
3

Produkce – režim cache-only

Nasazujte s buildMode: "cache-only", aby se používaly pouze předem vygenerované překlady. V produkčním prostředí nejsou potřeba žádné API klíče.

bash
# Production environment
LINGO_BUILD_MODE=cache-only npm run build

Přepsání pomocí proměnné prostředí#

Proměnná prostředí LINGO_BUILD_MODE přepíše konfigurační volbu buildMode. Díky tomu můžete používat stejný konfigurační soubor napříč prostředími:

bash
# Override in any environment
LINGO_BUILD_MODE=cache-only npm run build

Proměnná prostředí má přednost před hodnotou v konfiguračním souboru.

Příklady pro CI#

yaml
# .github/workflows/translate.yml
name: Generate Translations
on:
  push:
    branches: [main]

jobs:
  translate:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4

      - uses: actions/setup-node@v4
        with:
          node-version: 20

      - run: npm ci

      - run: npm run build
        env:
          LINGO_BUILD_MODE: translate
          LINGODOTDEV_API_KEY: ${{ secrets.LINGODOTDEV_API_KEY }}

      - uses: stefanzweifel/git-auto-commit-action@v5
        with:
          commit_message: "chore: update translations"
          file_pattern: ".lingo/metadata.json"

Soubor .lingo/metadata.json vždy commitujte do správy verzí. Produkční buildy v režimu cache-only jsou na tomto souboru závislé. Pokud chybí nebo není kompletní, build selže.

Další kroky#

Poskytovatelé překladu
Nakonfigurujte LLM providery pro režim translate
Vývojové nástroje
Pseudopřekladač a překladový server
Struktura projektu
Adresář .lingo/ a metadata
Řešení problémů
Běžné problémy s režimy sestavení

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

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