Polyglot
Ang mga string ng app at site mo sa 43 wika, isinalin ng sarili mong model at sinuri string by string.
- Linux or macOS
- Python 3.9+
- Local LLM
- 6 file formats

Ano ang ginagawa nito
Ang Polyglot ay kinukuha ang mga English na string na meron na ang app at site mo at isinusulat ang mga ito sa hanggang 42 na karagdagang wika, sa mga file at folder na inaasahan ng bawat platform, gamit ang model na ikaw ang nagpapatakbo. Bawat string ay bumabalik na nasuri: kung ang placeholder, tag o pangalan na iyong pinanatili ay nawala, o kung ang sagot ay hindi nasa script ng wika, hinihiling muli ang string, at ang string na patuloy na nababigo ay iniwan at iniulat sa halip na ipadala na sira.
- Ang mga format na ginagamit mo. JSON message files (i18next, vue-i18n, next-intl, react-intl), Flutter ARB, Android strings.xml, Apple .strings, gettext .po at Markdown documents, na isinusulat sa values-de, de.lproj, app_de.arb o locale/de.
- Nasuri bawat string. Ang %1$s, {name}, {{count}}, HTML tags, line breaks, URLs at ang mga pangalan na iyong pinanatili ay dapat bumalik nang eksakto; tamang script, walang walang laman o lumalabas na sagot, walang naiwan sa English.
- Tunay na plural forms. Ang Russian ay may isa, few, many at other, ang Arabic ay may anim na anyo, ang Japanese ay may isang anyo: ang Android plurals at ICU messages ay sumusunod sa sariling rules ng bawat wika.
- Ang nagbago lamang. Ang bawat mabuting translation ay naaalala, kaya ang pag-edit ng isang English string ay nagpapadala ng isang string, hindi ng buong file.
- Ang tono at termino mo. Ang product description, tono, mga pangalan na hindi kailanman isasalin at glossary ay isinasama sa bawat request, at ang mga komento mo ay sumasabay bilang mga tala.
- Ang model mo, ang makina mo. Anumang OpenAI-compatible server: vLLM, llama.cpp, Ollama o LM Studio, o isang hosted API kung pipiliin mo. Walang bayad bawat salita.
Sinubukan sa tunay na model
- Tunay na modelo, anim na format, limang script: isang halimbawang app na may 70 string sa JSON, Flutter ARB, Android, Apple .strings, gettext at Markdown, papuntang German, Russian, Japanese, Arabic at Spanish, gamit ang isang open na Qwen model (Qwen3.8-Flash-Next, quantised sa 4 bits) na pinapatakbo ng vLLM sa aming sariling machine: 346 sa 350 string ang nakapasa sa kanilang mga tsek bago iproseso, sa loob ng 7.5 minuto sa isang abalang shared server.
- Ang apat na hindi nakapasa ay mga pagkakamali sa aming mga check, hindi ng model: isang German loanword, isang e-mail address at isang Japanese plural message. Inayos namin ang mga check; ang susunod na run ay nagpadala lamang ng apat na string na iyon at nakasulat ng lahat ng 350 sa 45 segundo.
- Tama ang plural forms sa unang pagkakataon: isa, few, many at other para sa Russian, anim na anyo para sa Arabic, isang anyo para sa Japanese.
- Lahat ng 42 wika: ang 22 web strings ng halimbawa sa bawat wikang alam ng Polyglot, mula Amharic hanggang Traditional Chinese: 924 sa 924 strings nasulat, sa loob ng 15 minuto.
- At ang hindi makikita ng mga checks: sa Khmer, ang "You are offline" ay bumalik bilang "you are online". Perpekto ang Khmer nito, kaya pumasa ito. Kaya naman hinihiling ng dokumentasyon ang isang native speaker para sa mga strings na pinakamahalaga.
Ano ang nasa loob
Ang translator
Mga batch sa iyong model, checks, retries na may tinukoy na problema, isang translation memory, mga wika nang sabay-sabay.
Aanim na format
Mga reader at writer na pinapanatili ang escapes, folders at plural rules ng bawat platform.
Ang mga checks
Gagamitin nang hiwalay: i-check ang isang translation na meron ka na laban sa kanyang English source.
Isang halimbawang app
Isang maliit na app sa lahat ng anim na format na may configuration nito, upang subukan bago ang sa iyo.
Mga requirement
- Linux o macOS na may Python 3.9 o mas bago; walang dapat i-install mula sa pip.
- Isang OpenAI-compatible model server na may multilingual instruction model; ang sa amin ay isang open na Qwen model (Qwen3.8-Flash-Next, quantised sa 4 bits).
Mga dapat malaman
- Hahawakin ng mga checks ang mga bagay na masisira ang app, hindi ang maling kahulugan: ipabasa sa isang native speaker ang iyong store listing, paywall at legal text.
- Mananatiling nasa English ang mga gettext plural entries sa bersyong ito.
- Ang bilis ay depende sa iyong model.
- Libre at open source ang mga checks: translation-checks sa GitHub. Idinadagdag ng kit ang translator, ang anim na format, plural forms, ang memory at isang taon ng updates.
Mula sa aming field notes
Mga tanong
Anong mga wika?
Arabe, Amharic, Bulgaro, Tseko, Aleman, Griyego, Espanyol, Persa, Pinlandes, Filipino, Pranses, Scottish Gaelic, Hebreo, Haitian Creole, Unggaro, Armenyo, Indones, Italyano, Hapones, Khmer, Kannada, Koreano, Masedonyo, Malay, Olandes, Noruwego, Oromo, Punjabi, Polako, Portuges (Brazil), Rumano, Ruso, Eslobako, Esloveno, Serbyo, Suweko, Thai, Turko, Ukranyano, Biyetnames at Tsino, Pinasimple at Tradisyonal, mula sa Ingles.
Kailangan ba ng GPU?
Hindi kailangan ng Polyglot mismo; ang iyong model server ang magdedesisyon. Tumatakbo ang isang maliit na model sa CPU, nang mabagal; ang GPU ang gagawing isang tanong ng mga minuto ang isang malaking file sa maraming wika.
Ano ang mangyayari sa string na mali ang hula ng modelo?
Hihilingin itong muli nang hiwalay, kasama ang paglalarawan ng problema. Kung mabigo pa rin, hindi ito isasama sa file, kaya ipapakita ng app mo ang English para sa string na iyon, at ililista ng run ang string kasama ang dahilan. Walang masisirang isusulat.
Maaari ko bang gamitin ang hosted API sa halip?
Oo: anumang serbisyo na may OpenAI-compatible chat endpoint. Ilagay ang base URL at pangalan ng modelo nito sa polyglot.json, at ang key nito sa isang file.
Na-update: