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

Lingo.dev CLI

  • Jak to funguje
  • Nastavení
  • Rychlý start
  • Monorepa

Konfigurace

  • Podporované formáty
  • i18n.json
  • i18n.lock
  • Podporované jazyky

Funkce

  • Stávající překlady
  • Přidání jazyků
  • Přepsání
  • Poznámky pro překladatele
  • Překladové klíče
  • Přejmenování klíčů
  • Uzamykání klíčů
  • Ignorování klíčů
  • Zachování klíčů
  • Extrakce klíčů pomocí AI

Výkon

  • Velké projekty
  • Paralelní zpracování
  • Odhad nákladů

Opětovný překlad

  • Automatický opětovný překlad
  • Opětovný překlad
  • Odstranění překladů

Tato dokumentace se týká legacy CLI (v0) a je zastaralá. Aktuální CLI je v1. Zobrazit dokumentaci k aktuálnímu CLI

Konfigurace i18n.json

i18n.json je konfigurační soubor, který řídí Lingo.dev CLI a CI/CD integrace. Určuje, které jazyky se mají překládat, kde se nachází přeložitelný obsah a který překladový backend se použije.

Minimální příklad#

json
{
  "$schema": "https://lingo.dev/schema/i18n.json",
  "version": "1.15",
  "locale": {
    "source": "en",
    "targets": ["es", "fr", "ja"]
  },
  "buckets": {
    "json": {
      "include": ["locales/[locale].json"]
    }
  }
}

Pole $schema umožňuje automatické doplňování a validaci v IDE. Pole version sleduje verzi schématu kvůli kompatibilitě s automatickými migracemi.

Jazyk#

Sekce locale definuje zdrojový a cílové jazyky:

json
{
  "locale": {
    "source": "en",
    "targets": ["es", "fr", "de", "ja"]
  }
}
PolePopis
locale.sourceJazyk, ve kterém je napsaný váš zdrojový obsah. Všechny překlady vycházejí z tohoto jazyka.
locale.targetsPole cílových jazyků. Pro každý cílový jazyk vznikne samostatný soubor (nebo sekce) podle formátu bucketu.

Kódy jazyků se řídí standardem BCP 47 — podporované jsou en, en-US, es-ES, zh-Hans i platformně specifické formáty, jako je Android en-rUS.

Dostupné kódy jazyků vypíšete takto:

bash
npx lingo.dev@latest show locale sources   # Available source languages
npx lingo.dev@latest show locale targets   # Available target languages

Buckety#

Buckety určují vzory pro vyhledávání souborů i pravidla jejich zpracování. Každý klíč bucketu určuje formát souboru a jeho hodnota nastavuje, které soubory zahrnout nebo vynechat:

json
{
  "buckets": {
    "json": {
      "include": ["locales/[locale].json"],
      "exclude": ["locales/[locale]/internal.json"]
    },
    "markdown": {
      "include": ["docs/[locale]/*.md"]
    }
  }
}
PolePopis
includePole vzorů souborů se zástupným symbolem [locale]. Podporuje glob zástupné znaky (*).
excludenepovinné. Pole vzorů, které se mají při zpracování přeskočit.
lockedKeysnepovinné. Klíče, jejichž hodnoty se zkopírují ze zdroje bez překladu. Viz Key Locking.
ignoredKeysnepovinné. Klíče zcela vyloučené z překladu — v cílových souborech se vůbec neobjeví. Viz Key Ignoring.
preservedKeysnepovinné. Klíče inicializované jednou ze zdroje a potom chráněné před automatickými aktualizacemi. Viz Key Preserving.
injectLocalenepovinné. Klíče, do kterých se automaticky vkládá kód cílového jazyka.

Vzory zahrnutí#

Vzory zahrnutí používají zástupný symbol [locale], který se za běhu vyhodnotí podle nakonfigurovaných kódů jazyků:

  • locales/[locale].json → locales/en.json, locales/es.json
  • docs/[locale]/*.md → docs/en/*.md, docs/es/*.md

Rekurzivní glob vzory (**/*.json) nejsou podporované. Místo nich použijte explicitní cesty k adresářům.

Vlastní oddělovače jazyků#

Ve výchozím nastavení používají kódy jazyků v názvech souborů jako oddělovač pomlčku (-): en-US.json. Pokud chcete místo ní používat podtržítka, předejte objekt s polem delimiter:

json
{
  "include": [
    "standard/[locale].json",
    { "path": "legacy/[locale].json", "delimiter": "_" }
  ]
}

Výsledkem bude legacy/en_US.json místo legacy/en-US.json.

Notace cest ke klíčům#

Pole lockedKeys, ignoredKeys a preservedKeys používají notaci s lomítkem (/) pro vnořené klíče a hvězdičku (*) pro zástupné znaky:

json
{
  "lockedKeys": ["brand/name", "config/*"]
}

Úplný seznam podporovaných typů bucketů najdete v části Supported Formats.

Provider#

Sekce provider konfiguruje přímého LLM providera pro překlad. Tato sekce je nepovinné — pokud chybí, CLI použije lokalizační engine na Lingo.dev.

json
{
  "provider": {
    "id": "openai",
    "model": "gpt-4o-mini",
    "prompt": "Translate the provided text from {source} to {target}."
  }
}
PolePopis
provider.idIdentifikátor provideru: openai, anthropic, google, mistral, openrouter nebo ollama.
provider.modelNázev modelu od provideru (např. gpt-4o-mini, claude-3-haiku).
provider.promptSystémový prompt. {source} a {target} se za běhu nahradí kódy jazyků.
provider.baseUrlnepovinné. Vlastní API endpoint (povinné pro Ollama: http://localhost:11434).

Připojení k engine#

Pokud chcete směrovat překlady přes konkrétní lokalizační engine, přidejte pole engineId:

json
{
  "engineId": "eng_SxjMwMsfOIsvV1wh"
}

Když je nastavené engineId, každý požadavek na překlad automaticky použije hlas značky, glosář, instrukce a konfiguraci modelu vašeho engine. Pokud chybí a je nastavené LINGO_API_KEY, CLI použije výchozí engine ve vaší organizaci.

Kompletní návod k nastavení najdete v části Connect Your Engine.

Proměnné prostředí#

ProměnnápovinnéPopis
LINGO_API_KEYPro Lingo.dev EngineVáš API klíč pro Lingo.dev.
LINGO_API_URLNeVlastní základní URL API (pro self-hosted nebo staging).
OPENAI_API_KEYPro provider OpenAIAPI klíč OpenAI.
ANTHROPIC_API_KEYPro provider AnthropicAPI klíč Anthropic.
GOOGLE_API_KEYPro provider GoogleAPI klíč Google.
MISTRAL_API_KEYPro provider MistralAPI klíč Mistral.
OPENROUTER_API_KEYPro provider OpenRouterAPI klíč OpenRouter.

Kompletní příklad#

json
{
  "$schema": "https://lingo.dev/schema/i18n.json",
  "version": "1.15",
  "locale": {
    "source": "en",
    "targets": ["es", "fr", "de", "ja"]
  },
  "buckets": {
    "json": {
      "include": ["locales/[locale].json"],
      "lockedKeys": ["brand/name", "brand/tagline"],
      "ignoredKeys": ["internal/*"]
    },
    "markdown": {
      "include": ["docs/[locale]/*.md"]
    }
  },
  "engineId": "eng_SxjMwMsfOIsvV1wh"
}

Migrace verzí#

CLI automaticky migruje starší konfigurace i18n.json na nejnovější verzi schématu. Vytvoří zálohu aktuálního souboru, aktualizuje schéma a zachová všechna nastavení. Není potřeba žádný ruční zásah.

Další kroky#

Supported Formats
Všechny typy bucketů a jejich konfigurace
i18n.lock
Jak lockfile sleduje stav překladů
Connect Your Engine
Směrujte překlady přes svůj lokalizační engine
Setup
Nainstalujte CLI a začněte

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

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