|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

Automatická pluralizace

Alfa

Lingo.dev Compiler je ve fázi alfa. Je nestabilní, nedoporučujeme ho pro produkční nasazení a API se mohou mezi jednotlivými verzemi měnit.

Lingo.dev Compiler rozpozná tvary množného čísla v textu JSX a automaticky je převede do ICU MessageFormat. Místo ručního psaní pravidel pro množné číslo pro každý jazyk stačí psát přirozený text s číselnými hodnotami a Compiler pomocí LLM vygeneruje správné tvary.

Jak to funguje#

1

Compiler rozpozná číselné vzory

Při analýze AST Compiler identifikuje textové uzly, které obsahují interpolovaná čísla spolu se slovy závislými na počtu. Například You have {count} items obsahuje číselnou proměnnou vedle slova, jehož tvar se mění podle množství.

2

LLM určí tvary množného čísla

Malý a rychlý LLM (konfigurovatelný přes pluralization.model) analyzuje text a určí, která slova je potřeba skloňovat podle množného čísla. Pro každý cílový jazyk pak vygeneruje odpovídající kategorie množného čísla CLDR.

3

Vygeneruje se ICU MessageFormat

Compiler vytvoří řetězec ICU MessageFormat, který pokrývá všechny kategorie množného čísla vyžadované cílovým jazykem.

Příklad#

Zdrojové JSX:

tsx
<p>You have {count} items in your cart</p>

Vygenerovaný výstup pro angličtinu:

text
{count, plural, one {You have 1 item in your cart} other {You have # items in your cart}}

Vygenerovaný výstup pro ruštinu (která má čtyři kategorie množného čísla):

text
{count, plural, one {У вас # товар в корзине} few {У вас # товара в корзине} many {У вас # товаров в корзине} other {У вас # товаров в корзине}}

Kategorie množného čísla CLDR#

Různé jazyky používají různé podmnožiny šesti kategorií množného čísla CLDR. Compiler generuje jen ty kategorie, které jsou pro každý cílový jazyk potřeba:

KategoriePopisPříklady jazyků
zeroNulové množstvíArabština, lotyština
oneJednotné čísloAngličtina, francouzština, němčina, španělština
twoDuálArabština, hebrejština, slovinština
fewPaukal / malé množstvíRuština, čeština, polština
manyVelké množstvíRuština, arabština, polština
otherObecná / výchozí (vždy povinná)Všechny jazyky

Angličtina používá one a other. Ruština používá one, few, many a other. Arabština používá všech šest kategorií. Compiler to automaticky řeší podle jazyka.

Konfigurace#

Pluralizace je ve výchozím nastavení aktivní. Nastavíte ji v možnostech Compileru:

ts
{
  pluralization: {
    enabled: true,
    model: "groq:llama-3.1-8b-instant",
  },
}
MožnostTypVýchozí hodnotaPopis
pluralization.enabledbooleantrueZapne nebo vypne automatické rozpoznávání množného čísla.
pluralization.modelstring"groq:llama-3.1-8b-instant"LLM model pro rozpoznávání tvarů množného čísla. Menší model stačí, protože rozpoznávání je jednodušší než překlad.

Jak pluralizaci úplně vypnout:

ts
{
  pluralization: {
    enabled: false,
  },
}

Když pluralizaci vypnete, Compiler bude texty obsahující čísla překládat jako obyčejné řetězce. V jazycích se složitými pravidly pro množné číslo pak nemusí být přeložený výstup pro všechny hodnoty gramaticky správně.

Kdy se pluralizace použije#

Compiler rozpozná vzory pro množné číslo v těchto případech:

  • Text s interpolovanými číselnými proměnnými: {count} items, {n} messages
  • Text s číselnými literály: You have 5 items (méně běžné v dynamickém UI)

Compiler nepluralizuje:

  • Text bez číselného odkazu: Items in cart (není podle čeho větvit)
  • Text, kde číslo přímo nesouvisí se slovem závislým na počtu

Pište v JSX přirozený text. Compiler a jeho LLM se postarají o rozpoznání množného čísla i formátování do ICU — syntaxi ICU MessageFormat se učit nemusíte.

Další kroky#

Configuration Reference
Všechny možnosti pluralizace
Poskytovatelé překladu
Nastavte LLM používaný pro překlad
Ruční přepsání
V případě potřeby přepište konkrétní překlady
Osvědčené postupy
Kdy pluralizaci zapnout nebo vypnout

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

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