Polyglot
Řetězce vaší aplikace a webu ve 43 jazycích, přeložené vaším vlastním modelem a zkontrolované řádek po řádku.
- Linux or macOS
- Python 3.9+
- Local LLM
- 6 file formats

Co to dělá
Polyglot převezme anglické řetězce, které vaše aplikace a web už mají, a přepíše je až do 42 dalších jazyků do souborů a složek, které daná platforma očekává, pomocí modelu, který spouštíte sami. Každý řetězec se vrací zkontrolovaný: pokud zmizí zástupný symbol, tag nebo název, který zachováváte, nebo odpověď není ve správném písmu jazyka, řetězec se vyžádá znovu a řetězec, který stále selhává, se vynechá a nahlásí místo toho, aby se dodal poškozený.
- Formáty, které používáte. JSON soubory zpráv (i18next, vue-i18n, next-intl, react-intl), Flutter ARB, Android strings.xml, Apple .strings, gettext .po a dokumenty Markdown, zapsané do values-de, de.lproj, app_de.arb nebo locale/de.
- Kontrola řetězec po řetězci. %1$s, {name}, {{count}}, HTML tagy, zalomení řádků, URL a vaše zachovávané názvy se musí vrátit přesně; správné písmo, žádné prázdné nebo utíkané odpovědi, nic nenechané v angličtině.
- Skutečné množné tvary. Ruština má jeden, málo, mnoho a ostatní, arabština šest tvarů, japonština jediný tvar: množná čísla Androidu a ICU zprávy se řídí pravidly každého jazyka.
- Pouze to, co se změnilo. Každý dobrý překlad se zapamatuje, takže úprava jednoho anglického řetězce odešle jeden řetězec, ne celý soubor.
- Váš tón a vaše pojmy. Popis produktu, tón, názvy, které se nikdy nepřekládají, a slovník se přidávají do každého požadavku a vaše komentáře cestují spolu jako poznámky.
- Váš model, váš stroj. Jakýkoli OpenAI-compatible server: vLLM, llama.cpp, Ollama nebo LM Studio, nebo hostované API, pokud si vyberete. Žádná fakturace za slovo.
Otestováno na skutečném modelu
- Skutečný model, šest formátů, pět písem: ukázková aplikace se 70 řetězci v JSON, Flutter ARB, Android, Apple .strings, gettext a Markdown, do němčiny, ruštiny, japonštiny, arabštiny a španělštiny, s otevřeným modelem o 27 miliardách parametrů na našem vlastním stroji: 346 z 350 řetězců prošlo kontrolami při vstupu za 7,5 minuty na vytíženém sdíleném serveru.
- Čtyři, které neprošly, byly chyby v našich kontrolách, ne modelu: německé přejaté slovo, e-mailová adresa a japonská množná zpráva. Opravili jsme kontroly; další běh poslal pouze tyto čtyři řetězce a zapsal všech 350 za 45 sekund.
- Množná čísla správně na první pokus: jeden, málo, mnoho a ostatní pro ruštinu, šest tvarů pro arabštinu, jediný pro japonštinu.
- Všech 42 jazyků: 22 řetězců z ukázky do každého jazyka, který Polyglot zná, od amharštiny po čínštinu (tradiční): 924 z 924 řetězců přeloženo za 15 minut.
- A to, co kontroly nevidí: v khmérštině se „Jste offline“ vrátilo jako „jste online“. Je to bezchybná khmérština, takže to prošlo. Proto dokumentace vyžaduje rodilého mluvčího u nejdůležitějších řetězců.
Co je uvnitř
Překladač
Dávky pro váš model, kontroly, opakované pokusy s uvedením problému, paměť překladů, jazyky paralelně.
Šest formátů
Čtečky a zapisovače, které zachovávají escapování, složky a pravidla množného čísla každé platformy.
Kontroly
Použitelné samostatně: zkontrolujte překlad, který už máte, oproti anglickému zdroji.
Ukázková aplikace
Jedna malá aplikace ve všech šesti formátech s konfigurací, abyste si to vyzkoušeli před vlastními projekty.
Požadavky
- Linux nebo macOS s Pythonem 3.9 nebo novějším; nic k instalaci z pip.
- Server s modelem kompatibilním s OpenAI a vícejazyčným instrukčním modelem; náš je otevřený model s 27 miliardami parametrů.
Dobré vědět
- Kontroly zachytí to, co rozbije aplikaci, ne špatný význam: nechte rodilého mluvčího přečíst váš popis produktu, platební zeď a právní texty.
- Položky množného čísla pro gettext zůstávají v této verzi v angličtině.
- Rychlost závisí na vašem modelu.
- Kontroly jsou zdarma a open source: translation-checks na GitHubu. Balíček přidává překladač, šest formátů, tvary množného čísla, paměť a rok aktualizací.
From our field notes
Otázky
Které jazyky?
Arabština, amharština, bulharština, čeština, němčina, řečtina, španělština, perština, finština, filipínština, francouzština, skotská gaelština, hebrejština, haitská kreolština, maďarština, arménština, indonéština, italština, japonština, khmérština, kannadština, korejština, makedonština, malajština, nizozemština, norština, oromština, paňdžábština, polština, portugalština (Brazílie), rumunština, ruština, slovenština, slovinština, srbština, švédština, thajština, turečtina, ukrajinština, vietnamština a čínština, zjednodušená a tradiční, z angličtiny.
Potřebuje GPU?
Samotný Polyglot ne; rozhoduje váš server s modelem. Malý model běží na CPU, pomalu; GPU z velké souboru ve více jazycích udělá záležitost minut.
Co se stane s řetězcem, který model nezvládne?
Je znovu vyžádán samostatně s uvedením problému. Pokud stále selže, je z souboru vynechán, takže vaše aplikace u tohoto řetězce zobrazí angličtinu a běh jej uvede s důvodem. Nic poškozeného se nezapisuje.
Mohu místo toho použít hostovanou API?
Ano: jakoukoli službu s koncovým bodem chatu kompatibilním s OpenAI. Její základní URL a název modelu zadejte do polyglot.json a klíč do souboru.
Aktualizováno: