|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

Průvodce migrací

Alpha

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

Tato příručka popisuje migraci z původního balíčku Compiler lingo.dev na aktuální balíček @lingo.dev/compiler. Nový balíček přináší npm název se scope, zjednodušené API, integraci s Vite přes plugin a nový adresář .lingo/ pro metadata.

Přehled změn#

OblastDříve (lingo.dev)Nyní (@lingo.dev/compiler)
Název balíčkulingo.dev@lingo.dev/compiler
Integrace s Next.jsPřímá úprava konfiguraceAsynchronní wrapper withLingo()
Integrace s ViteRuční nastavenílingoCompilerPlugin
LingoProviderPovinná prop loadDictionaryBez nutnosti props
Adresář s metadatylingo/.lingo/
Opt-in direktiva'use i18n' povinnénepovinné (výchozí: překládat vše)
Importyfrom "lingo.dev/react"from "@lingo.dev/compiler/react"

Migrace krok za krokem#

1

Nahraďte balíček

Odeberte původní balíček a nainstalujte nový:

bash
npm uninstall lingo.dev
npm install @lingo.dev/compiler
2

Aktualizujte importy

Nahraďte všechny cesty v importech:

ts
// Before
import { LingoProvider, useLingoContext } from "lingo.dev/react";

// After
import { LingoProvider, useLingoContext } from "@lingo.dev/compiler/react";
3

Aktualizujte konfiguraci Next.js (pokud se vás to týká)

Konfigurace Next.js teď musí být asynchronní funkce:

ts
// Before
import { withLingo } from "lingo.dev/next";
const nextConfig = {};
export default withLingo(nextConfig, { /* options */ });

// After
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",
    sourceLocale: "en",
    targetLocales: ["es", "de", "fr"],
    models: "lingo.dev",
  });
}

Asynchronní wrapper je povinný. Synchronní export způsobí selhání buildu. Podrobnosti najdete v části Integrace s Next.js.

4

Aktualizujte konfiguraci Vite (pokud se vás to týká)

Nahraďte veškeré ruční nastavení pomocí lingoCompilerPlugin:

ts
// vite.config.ts
import { defineConfig } from "vite";
import react from "@vitejs/plugin-react";
import { lingoCompilerPlugin } from "@lingo.dev/compiler/vite";

export default defineConfig({
  plugins: [
    lingoCompilerPlugin({
      sourceRoot: "src",
      sourceLocale: "en",
      targetLocales: ["es", "de", "fr"],
      models: "lingo.dev",
    }),
    react(), // Must come AFTER lingoCompilerPlugin
  ],
});
5

Zjednodušte LingoProvider

Prop loadDictionary už není potřeba. Compiler načítání slovníků zajistí automaticky:

tsx
// Before
import { LingoProvider } from "lingo.dev/react";

<LingoProvider loadDictionary={loadDictionary}>
  <App />
</LingoProvider>

// After
import { LingoProvider } from "@lingo.dev/compiler/react";

<LingoProvider>
  <App />
</LingoProvider>
6

Přesuňte adresář s metadaty

Přejmenujte adresář s metadaty z lingo/ na .lingo/:

bash
mv lingo/ .lingo/

Pokud váš .gitignore odkazuje na původní název adresáře, aktualizujte ho. Adresář .lingo/ by měl být commitnutý do správy verzí.

7

Aktualizujte direktivy „use i18n“ (nepovinné)

V novém balíčku je 'use i18n' nepovinné. Ve výchozím nastavení se překládají všechny soubory v sourceRoot. Pokud chcete zachovat opt-in chování, nastavte v konfiguraci useDirective: true:

ts
{
  useDirective: true, // Keep requiring 'use i18n' in each file
}

Pokud odstraníte useDirective (nebo ho nastavíte na false), můžete ze souborů odstranit i direktivy 'use i18n' — všechny soubory v sourceRoot se budou překládat automaticky.

8

Znovu sestavte a ověřte

Spusťte vývojový server a ověřte, že se překlady zobrazují:

bash
npm run dev

Zkontrolujte, že:

  • Pseudopřekladač vytváří značky [!!! ... !!!] (pokud je aktivní)
  • Všechny dříve přeložené řetězce stále fungují
  • Soubor .lingo/metadata.json se vytvoří nebo aktualizuje

Další kroky#

Nastavení
Kompletní průvodce nastavením
Reference konfigurace
Přehled všech nových možností konfigurace
Integrace s Next.js
Podrobnosti migrace pro Next.js
Vite + React
Podrobnosti migrace pro Vite

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

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