|
Dokumentace
Rezervovat demoPlatforma
PlatformaMCPCLIAPI
Workflows
NávodyChangelog

Vítejte

  • Přehled
  • Autentizace
  • Chyby a stavové kódy
  • Podpisy webhooků

Lokalizace

  • Přehled
  • Vytvořit úlohy
  • Uzamčení nepřekládaných klíčů
  • Sledování skupiny úloh
  • Získání jednoho jobu
  • Seznam úloh
  • Doručování webhooků
  • Průběh v reálném čase (WebSocket)

Pipeline

  • Přehled
  • AI úprava před lokalizací
  • Lidská kontrola
  • AI hodnocení (post-edit)
  • Úprava do přirozeného znění
  • Kontrola zpětného překladu
  • Nastavení pipeline
  • Sledujte běhy pipeline

Provisioning

  • Přehled
  • Vytvoření provisioning jobu
  • Typy zdrojů
  • Co AI extrahuje
  • Doručování webhooků
  • Průběh v reálném čase (WebSocket)

Synchronní

  • Localize
  • Rozpoznání

Správa engine

  • Návrhy engine

Localize

Máte řetězec nebo malý objekt s řetězci, který potřebujete hned teď v jiném jazyce – popisek formuláře, notifikace, krátký blok UI textu, na který uživatel čeká. Nechcete kvůli jednomu překladu rozjíždět webhook endpoint ani dotazovat job. Chcete text odeslat a rovnou dostat překlad zpět.

Právě k tomu slouží synchronní endpoint Localize: jeden požadavek, zpátky přeložená data ve stejné struktuře. Pošlete obsah klíč–hodnota metodou POST se zdrojovým a cílovým jazykem, volání po dobu překladu blokuje a odpověď vrátí stejný objekt s přeloženými hodnotami a nezměněnou strukturou. Není tu žádný job ke sledování ani druhé volání navíc.

Nejde o žádné generické volání modelu. Všechno běží přes lokalizační engine, který jste nastavili – jeho glosář, hlas značky, instrukce a výběr modelu pro jednotlivé jazyky – tedy stejný engine, který používá i async API. Rozdíl je jen ve formě: async rozprostře jeden požadavek do více jazyků a výsledky vrací průběžně, zatímco toto volání zpracuje jeden jazykový pár a vrátí ho inline.

Stačí vám jeden jazyk a nevadí vám blokující volání? Jste na správné stránce.

Po tomto endpointu sáhněte, když potřebujete jeden jazykový pár a můžete počkat na jedno volání tam a zpět. Pokud máte více cílových jazyků, delší obsah nebo chcete mít chyby izolované pro každý jazyk zvlášť, async Localization API přijme jeden požadavek, okamžitě vrátí 202 a každý jazyk zpracuje jako samostatný odolný workflow na pozadí. Je tu ještě jeden rozdíl vedle latence: lokalizační pipeline – pre-edit, human review, back-translation a další nepovinné fáze – běží jen u async jobů. Toto synchronní volání konfiguraci pipeline ignoruje.

Na této stránce

  • Požadavek
  • Odpověď
  • Příklady
  • Co se děje při lokalizaci
  • Další kroky

Požadavek#

text
POST /process/localize

Ověřte se pomocí hlavičky X-API-Key. Klíče jsou vázané na organizaci a mají přístup ke každému engine ve vaší organizaci – kde je vygenerovat, najdete v části Authentication, a úplný model chyb v části Errors and status codes.

ParametrTypPopis
engineIdstring (nepovinné)ID lokalizačního engine (eng_...). Pokud ho neuvedete, použije se výchozí engine vaší organizace.
sourceLocalestringZdrojový jazyk BCP-47 (např. en).
targetLocalestringCílový jazyk BCP-47 (např. de).
dataobjectObsah klíč–hodnota k překladu. Podporované jsou i vnořené objekty a pole; odpověď zrcadlí přesně tu strukturu, kterou odešlete.
contextstring (nepovinné)Širší kontext pro tento překladový payload, například část produktu, publikum nebo účel. Platí pro celý požadavek.
hintsobject (nepovinné)Kontextové nápovědy pro jednotlivé klíče. Klíče odpovídají klíčům data; hodnoty jsou pole breadcrumb řetězců (např. { "nav.home": ["Navbar", "Home link"] }), která engine říkají, kde daný řetězec žije, aby správně rozlišil krátké nebo víceznačné texty.
json
{
  "engineId": "eng_abc123",
  "sourceLocale": "en",
  "targetLocale": "de",
  "data": {
    "greeting": "Hello, world!",
    "cta": "Get started"
  },
  "hints": {
    "cta": ["Landing page", "Primary button"]
  }
}

Odpověď#

Odpověď vrací přeložený obsah ve stejné struktuře, jakou jste poslali, plus model, který ho vytvořil, a cenu za daný požadavek. Vrátí se stejné klíče, ve stejném vnoření – váš kód si tak může překlad vyčíst ze struktury, kterou už zná.

PoleTypPopis
sourceLocalestringZdrojový jazyk BCP-47 převzatý z požadavku.
targetLocalestringCílový jazyk BCP-47 převzatý z požadavku.
dataobjectPřeložený obsah klíč–hodnota odpovídající vstupní struktuře.
modelstring (nepovinné)LLM model, který tento překlad vytvořil, ve formátu provider/model (např. anthropic/claude-sonnet-4.5). Díky tomu víte, který model z vašeho fallback řetězce se skutečně spustil. Chybí, pokud neproběhlo žádné LLM volání – viz callout níže.
usageobject (nepovinné)Počty tokenů a cena za požadavek v USD. Chybí, pokud neproběhlo žádné LLM volání.

Objekt usage rozepisuje cenu volání po položkách, takže můžete náklady přiřadit bez samostatného dotazu do billing systému:

PoleTypPopis
inputTokensnumberCelkový počet vstupních tokenů spotřebovaných napříč všemi chunky.
outputTokensnumberCelkový počet výstupních tokenů vygenerovaných napříč všemi chunky.
cacheReadTokensnumberVstupní tokeny obsloužené z providerovy cache promptů, pokud je model vykazuje.
cacheWriteTokensnumberVstupní tokeny zapsané do providerovy cache promptů, pokud je model vykazuje.
llmCostnumberNáklady upstream providera LLM v USD. 0, pokud žádné náklady nebyly nahlášeny.
localizationCostnumberCena Lingo.dev za token v USD, vypočtená z outputTokens.
costnumberCelková cena požadavku v USD (llmCost + localizationCost).
json
{
  "sourceLocale": "en",
  "targetLocale": "de",
  "data": {
    "greeting": "Hallo, Welt!",
    "cta": "Jetzt starten"
  },
  "model": "anthropic/claude-sonnet-4.5",
  "usage": {
    "inputTokens": 2789,
    "outputTokens": 861,
    "cacheReadTokens": 0,
    "cacheWriteTokens": 0,
    "llmCost": 0.02129,
    "localizationCost": 0.001722,
    "cost": 0.023012
  }
}

Když `model` a `usage` chybí

Pokud je data prázdné – tedy nejsou žádné klíče k překladu – endpoint se ukončí předčasně bez volání LLM a v odpovědi vynechá model i usage. Je to jediný případ, kdy pole s cenou chybí, a důvod je jednoduchý: nevznikly žádné náklady, protože se nic nepřekládalo. Každý požadavek, který skutečně spustí překlad, obsahuje obě pole. Ve svém parseru s nimi proto pracujte jako s nepovinnými a prázdný vstup vás nepřekvapí.

Příklady#

Stejné volání v pěti jazycích. Kvůli přehlednosti každý příklad posílá plochý objekt; data ale přijímá i vnořené objekty a pole a odpověď se vrátí v přesně té struktuře, kterou odešlete.

javascript
const response = await fetch(
  "https://api.lingo.dev/process/localize",
  {
    method: "POST",
    headers: {
      "X-API-Key": "your_api_key",
      "Content-Type": "application/json",
    },
    body: JSON.stringify({
      engineId: "eng_abc123",
      sourceLocale: "en",
      targetLocale: "de",
      data: {
        greeting: "Hello, world!",
        cta: "Get started",
      },
    }),
  }
);

const { data } = await response.json();
// { greeting: "Hallo, Welt!", cta: "Jetzt starten" }

Co se děje při lokalizaci#

Jediný POST v sobě skrývá sérii kroků a stojí za to vědět, jakých – právě díky nim je výstup konzistentní se zbytkem vašeho lokalizovaného obsahu, místo aby šlo jen o jednorázový odhad modelu. Když požadavek dorazí na endpoint, engine postupně použije celou svou konfiguraci:

  1. Výběr modelu – Vybere LLM model s nejvyšší prioritou, který odpovídá danému jazykovému páru. Modely specifické pro konkrétní jazyk mají přednost před wildcard modely (*). Pokud primární model selže, engine automaticky přejde na další model v pořadí.

  2. Hlas značky – Načte hlas značky pro cílový jazyk, a pokud pro něj neexistuje specifická varianta, použije wildcard hlas značky.

  3. Instrukce – Načte všechny instrukce odpovídající cílovému jazyku, včetně wildcard instrukcí.

  4. Vyhledání v glosáři – Rozdělí vstupní hodnoty na prohledávatelné chunky, vygeneruje embeddingy a provede vyhledávání podle vektorové podobnosti v glosáři engine. Nalezené termíny vynutí přesné překlady nebo je označí jako nepřeložitelné, takže projdou beze změny.

  5. Generování – Odešle sestavený prompt vybranému modelu a potom zparsuje a ověří JSON odpověď.

Jde o stejnou pipeline kroků engine, kterou async API spouští pro každý job. Když místo async použijete sync, mění se způsob doručení, ne to, jak se překlad vytváří – takže řetězec přeložený tady i tentýž řetězec přeložený v async jobu skončí na stejných termínech v glosáři a se stejným hlasem.

Fallback modelu je automatický a odpověď vám prozradí, který model běžel

Pokud primární model selže, engine zkusí další model podle pořadí priority. Děje se to transparentně – struktura odpovědi je stejná bez ohledu na to, který model překlad vytvořil. Jediným signálem fallbacku je pole model v odpovědi: podívejte se na něj, když potřebujete přesně vědět, který model z vašeho řetězce daný požadavek zpracoval.

Další kroky#

Recognize
Rozpoznejte jazyk libovolného textu a získejte strukturovaná metadata o jazyku.
Async Localization API
Jeden požadavek, mnoho jazyků, výsledky průběžně – když jedno volání tam a zpět nestačí.
LLM Models
Nastavte výběr modelu pro jednotlivé jazyky a fallback řetězce seřazené podle priority.
Glosáře
Mapujte zdrojové termíny na přesné překlady pro jednotlivé jazyky.
Brand Voices
Definujte, jak váš produkt mluví v každém jazyce.

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

Max PrilutskiyMax Prilutskiy·Aktualizováno před 10 dny·7 min čtení