|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

Configuration Reference

Alpha

Lingo.dev Compiler je ve fázi alpha. Je nestabilní, nedoporučuje se pro produkční nasazení a API se mohou mezi verzemi měnit.

Konfigurační objekt Lingo.dev Compileru určuje, jak se vaše React aplikace překládá při buildu. Na této stránce najdete přehled všech dostupných možností včetně typů, výchozích hodnot a příkladů použití.

Základní možnosti#

MožnostTypVýchozí hodnotaPopis
sourceRootstring"src"Adresář obsahující přeložitelné komponenty. Relativně ke kořenovému adresáři projektu.
lingoDirstring".lingo"Adresář pro metadata překladu a soubory cache.
sourceLocalestringpovinnéKód jazyka zdrojového obsahu (např. "en").
targetLocalesstring[]povinnéPole kódů cílových jazyků (např. ["es", "de", "fr"]).
useDirectivebooleanfalseKdyž je nastaveno na true, překládají se jen soubory s direktivou 'use i18n'. Když je nastaveno na false, překládají se všechny soubory v sourceRoot.
modelsstring | object"lingo.dev"Konfigurace poskytovatele překladu. Řetězec nastaví výchozího poskytovatele pro všechny páry jazyků. Objekt mapuje páry jazyků na konkrétní poskytovatele.
promptstringundefinedVlastní systémový prompt pro překladové LLM. Podporuje zástupné symboly {SOURCE_LOCALE} a {TARGET_LOCALE}.
buildMode"translate" | "cache-only""translate"Určuje, zda Compiler vytváří nové překlady, nebo používá pouze překlady z cache.

Vývojářské možnosti#

Možnosti pod klíčem dev řídí chování během vývoje:

MožnostTypVýchozí hodnotaPopis
dev.usePseudotranslatorbooleanfalseGeneruje okamžité testovací překlady (např. [!!! Welcome !!!]) místo volání LLM. API klíč není potřeba.
dev.translationServerStartPortnumber60000Výchozí port pro lokální překladový server. Compiler automaticky najde volný port v rozsahu 60000-60099.
dev.translationServerUrlstringundefinedPřepíše URL překladového serveru. Hodí se pro vlastní nastavení nebo vzdálené překladové servery.

Perzistence jazyka#

Možnosti pod localePersistence určují, jak se ukládá a načítá jazyk vybraný uživatelem:

MožnostTypVýchozí hodnotaPopis
localePersistence.typestring"cookie"Mechanismus perzistence. Aktuálně podporuje "cookie".
localePersistence.config.namestring"locale"Název cookie používané k uložení jazyka.
localePersistence.config.maxAgenumber31536000Max-age cookie v sekundách (výchozí hodnota je 1 rok).

Pro vlastní logiku perzistence (localStorage, řešení založené na URL, hlavičky) viz Vlastní resolvery jazyků.

Pluralizace#

Možnosti pod pluralization řídí automatickou detekci a generování tvarů množného čísla:

MožnostTypVýchozí hodnotaPopis
pluralization.enabledbooleantrueZapíná nebo vypíná automatickou detekci pluralizace.
pluralization.modelstring"groq:llama-3.1-8b-instant"LLM model používaný k detekci tvarů množného čísla ve zdrojovém textu. Doporučuje se menší a rychlejší model, protože detekce je jednodušší úloha než samotný překlad.

Podrobnosti o tom, jak detekce plurálů funguje, najdete v části Automatická pluralizace.

Proměnné prostředí#

Proměnné prostředí konfiguraci přepisují nebo doplňují:

ProměnnáKdy je povinnáPopis
LINGO_BUILD_MODEnepovinnéPřepisuje konfigurační možnost buildMode. Nastavte na "translate" nebo "cache-only".
LINGODOTDEV_API_KEYPři použití modelů "lingo.dev"API klíč pro lokalizační engine Lingo.dev. Získáte přes npx lingo.dev@latest login.
OPENAI_API_KEYPři použití modelů "openai:*"API klíč OpenAI.
ANTHROPIC_API_KEYPři použití modelů "anthropic:*"API klíč Anthropic.
GOOGLE_API_KEYPři použití modelů "google:*"API klíč Google AI.
GROQ_API_KEYPři použití modelů "groq:*"API klíč Groq.
MISTRAL_API_KEYPři použití modelů "mistral:*"API klíč Mistral.
OPENROUTER_API_KEYPři použití modelů "openrouter:*"API klíč OpenRouter.

Kompletní příklad#

ts
// next.config.ts
import type { NextConfig } from "next";
import { withLingo } from "@lingo.dev/compiler/next";

const nextConfig: NextConfig = {};

export default async function (): Promise<NextConfig> {
  return await withLingo(nextConfig, {
    sourceRoot: "./app",
    lingoDir: ".lingo",
    sourceLocale: "en",
    targetLocales: ["es", "de", "fr", "ja"],
    useDirective: false,
    models: {
      "*:*": "lingo.dev",
      "*:ja": "anthropic:claude-3-5-sonnet",
    },
    prompt: "Translate UI text from {SOURCE_LOCALE} to {TARGET_LOCALE}. Keep it concise.",
    buildMode: "translate",
    dev: {
      usePseudotranslator: true,
      translationServerStartPort: 60000,
    },
    localePersistence: {
      type: "cookie",
      config: {
        name: "locale",
        maxAge: 31536000,
      },
    },
    pluralization: {
      enabled: true,
      model: "groq:llama-3.1-8b-instant",
    },
  });
}

Další kroky#

Poskytovatelé překladu
Přehled všech podporovaných poskytovatelů LLM a mapování párů jazyků
Build režimy
Vývojové, CI a produkční workflows
Vlastní resolvery jazyků
Implementace vlastního rozpoznávání jazyka
Osvědčené postupy
Doporučené postupy pro produkční nasazení

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

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