Available

Polyglot

Your app and site strings in 43 languages, translated by your own model and checked string by string.

  • Linux or macOS
  • Python 3.9+
  • Local LLM
  • 6 file formats
$397one-time

Includes 12 months of updates

What it does

Polyglot takes the English strings your app and site already have and writes them in up to 42 more languages, in the files and folders each platform expects, using a model you run yourself. Every string comes back checked: if a placeholder, a tag or a name you keep is lost, or the answer is not in the language's script, the string is asked for again, and a string that still fails is left out and reported instead of shipping broken.

Tested on a real model

What is inside

The translator

Batches to your model, checks, retries with the problem named, a translation memory, languages in parallel.

Six formats

Readers and writers that keep each platform's escapes, folders and plural rules.

The checks

Usable on their own: check a translation you already have against its English source.

An example app

One small app in all six formats with its configuration, to try before your own.

Requirements

  • Linux or macOS with Python 3.9 or newer; nothing to install from pip.
  • An OpenAI-compatible model server with a multilingual instruction model; ours is a 27-billion-parameter open model.

Good to know

  • The checks catch what breaks an app, not wrong meaning: have a native speaker read your store listing, paywall and legal text.
  • gettext plural entries stay in English in this version.
  • Speed is your model's.
  • The checks are free and open source: translation-checks on GitHub. The kit adds the translator, the six formats, plural forms, the memory and a year of updates.

Questions

Which languages?

Arabic, Amharic, Bulgarian, Czech, German, Greek, Spanish, Persian, Finnish, Filipino, French, Scottish Gaelic, Hebrew, Haitian Creole, Hungarian, Armenian, Indonesian, Italian, Japanese, Khmer, Kannada, Korean, Macedonian, Malay, Dutch, Norwegian, Oromo, Punjabi, Polish, Portuguese (Brazil), Romanian, Russian, Slovak, Slovenian, Serbian, Swedish, Thai, Turkish, Ukrainian, Vietnamese and Chinese, Simplified and Traditional, from English.

Does it need a GPU?

Polyglot itself does not; your model server decides. A small model runs on a CPU, slowly; a GPU makes a large file in many languages a matter of minutes.

What happens to a string the model gets wrong?

It is asked for again on its own, with the problem named. If it still fails, it is left out of the file, so your app shows the English for that one string, and the run lists it with the reason. Nothing broken is written.

Can I use a hosted API instead?

Yes: any service with an OpenAI-compatible chat endpoint. Put its base URL and model name in polyglot.json and its key in a file.

Updated: