Lokalizace webových aplikací

Aktualizováno: minulý měsíc · 5 min čtení

CLI od Lingo.dev překládá resource soubory vaší webové aplikace – JSON, YAML, XLIFF, PO nebo PHP – přes nakonfigurovaný lokalizační engine. Nastavte ve svém frameworku i18n, nasměrujte CLI na překladové soubory a spusťte ho.

Jak to funguje#

Každý webový framework má i18n knihovnu, která načítá překlady z resource souborů – JSON pro React, XLIFF pro Angular, PO pro Django a tak dál. CLI tyto soubory překládá přímo, takže framework překlady převezme bez jakýchkoli změn v kódu.

1

Nastavte i18n ve svém frameworku

Pomocí oficiální i18n knihovny pro svůj framework přidejte routování podle jazyka, překladovou funkci a resource soubory ve zdrojovém jazyce. U každého frameworku níže najdete odkaz na oficiální návod k nastavení.

2

Nakonfigurujte CLI

Spusťte lingo init a vytvořte .lingo/config.json se zdrojovým a cílovými jazyky i vzory souborů k překladu, potom spusťte lingo link a připojte svou organizaci a engine. CLI automaticky rozpozná formát každého souboru podle přípony, takže není potřeba zadávat typ bucketu. Commitněte .lingo/config.json.

3

Spusťte překlady

Spusťte lingo push a CLI přeloží vaše resource soubory přes lokalizační engine – pravidla glosáře, hlas značky a výběr modelu se použijí automaticky.

Předpoklady#

Nainstalujte CLI a přihlaste se:

bash
npm install -g @lingo.dev/cli
lingo login

CLI vyžaduje Node.js 22+. V CI přeskočte interaktivní přihlášení a předejte klíč pomocí --api-key nebo proměnné prostředí LINGO_API_KEY.

Při každém spuštění CLI prochází obsah přes lokalizační engine — konfiguraci, která určuje, jaký model LLM, glosář, hlas značky a pravidla se použijí. Vytvořte ho v dashboardu Lingo.dev a vygenerujte API key. lingo link zapíše orgId a engineId enginu do .lingo/config.json.

Nastavení s pomocí AI

i18n MCP umí automaticky vygenerovat celou i18n infrastrukturu vašeho frameworku. Připojte ho ke Claude Code, Cursor nebo GitHub Copilot a zadejte prompt „Set up i18n“ – agent projde 13krokový checklist a nastaví routování, překladové soubory i přepínač jazyka.

JavaScriptové frameworky#

Segment jazyka v každém pattern se nahrazuje podle cílového jazyka — public/locales/en/translation.json se změní na public/locales/de/translation.json a tak dále. Zdrojová cesta musí obsahovat kód zdrojového jazyka.

react-i18next načítá překlady ze souborů JSON a poskytuje hook useTranslation, který za běhu mapuje klíče na přeložené řetězce.

json
{
  "orgId": "org_...",
  "engineId": "eng_...",
  "sourceLocale": "en",
  "targetLocales": ["es", "fr", "de", "ja"],
  "files": [{ "pattern": "public/locales/en/translation.json" }]
}

Server-side frameworky#

Laravel má vestavěnou lokalizaci, která načítá překlady ze souborů PHP uspořádaných podle adresářů jazyků.

json
{
  "orgId": "org_...",
  "engineId": "eng_...",
  "sourceLocale": "en",
  "targetLocales": ["es", "fr", "de", "ja"],
  "files": [{ "pattern": "lang/en/messages.php" }]
}

Spouštění překladů#

Jakmile máte .lingo/config.json nastavené, přeložíte všechny resource soubory jediným příkazem:

bash
lingo push

CLI načte soubory zdrojového jazyka, pomocí lockfile (.lingo/lock.json, commitovaného spolu s konfigurací) spočítá, co se od posledního spuštění změnilo, přeloží jen rozdíl a zapíše výsledky do souborů cílového jazyka. Stávající překlady zůstanou zachované — CLI pouze doplní chybějící nebo aktualizované řetězce.

Při prvním spuštění nebo po přidání nového cílového jazyka přeložte vše od začátku:

bash
lingo push --backfill-missing

Spuštění můžete omezit jen na část souborů předáním globu:

bash
lingo push "messages/**"

Pokud chcete jinde získat nejnovější překlady (například na jiném počítači nebo v kroku buildu) bez překládání, spusťte lingo pull. Pomocí lingo check můžete v nasazení ověřit, že jsou překlady aktuální.

Další kroky#