Polyglot
Ihre App- und Website-Texte in 43 Sprachen, übersetzt von Ihrem eigenen Modell und zeichenweise geprüft.
- Linux or macOS
- Python 3.9+
- Local LLM
- 6 file formats

Was es kann
Polyglot übernimmt die englischen Strings, die Ihre App und Website bereits haben, und übersetzt sie in bis zu 42 weitere Sprachen – in den Dateien und Ordnern, die jede Plattform erwartet, mit einem Modell, das Sie selbst ausführen. Jeder String wird geprüft zurückgegeben: Geht ein Platzhalter, ein Tag oder ein beizubehaltender Name verloren, oder ist die Antwort nicht im Schriftsystem der Sprache, wird der String erneut angefordert. Ein String, der weiterhin fehlschlägt, wird weggelassen und gemeldet, statt fehlerhaft ausgeliefert zu werden.
- Die Formate, die Sie nutzen. JSON-Nachrichtendateien (i18next, vue-i18n, next-intl, react-intl), Flutter ARB, Android strings.xml, Apple .strings, gettext .po und Markdown-Dokumente, geschrieben nach values-de, de.lproj, app_de.arb oder locale/de.
- String für String geprüft. %1$s, {name}, {{count}}, HTML-Tags, Zeilenumbrüche, URLs und Ihre beizubehaltenden Namen müssen exakt zurückkommen; das richtige Schriftsystem, keine leeren oder ausufernden Antworten, nichts auf Englisch belassen.
- Echte Pluralformen. Russisch erhält one, few, many und other, Arabisch sechs Formen, Japanisch eine einzige Form: Android-Plurale und ICU-Nachrichten folgen den Regeln der jeweiligen Sprache.
- Nur was sich geändert hat. Jede gute Übersetzung wird gespeichert, sodass die Bearbeitung eines englischen Strings einen einzelnen String sendet, nicht die gesamte Datei.
- Ihr Tonfall und Ihre Begriffe. Eine Produktbeschreibung, ein Tonfall, nie zu übersetzende Namen und ein Glossar gehen in jede Anfrage ein, und Ihre Kommentare reisen als Notizen mit.
- Ihr Modell, Ihre Maschine. Jeder OpenAI-kompatible Server: vLLM, llama.cpp, Ollama oder LM Studio, oder eine gehostete API, wenn Sie möchten. Keine Abrechnung pro Wort.
Getestet auf einem echten Modell
- Ein echtes Modell, sechs Formate, fünf Schriftsysteme: eine Beispiel-App mit 70 Strings in JSON, Flutter ARB, Android, Apple .strings, gettext und Markdown, übersetzt ins Deutsche, Russische, Japanische, Arabische und Spanische, mit einem offenen Modell mit 27 Milliarden Parametern auf unserer eigenen Maschine: 346 von 350 Strings bestanden ihre Prüfungen beim Eingang, in 7,5 Minuten auf einem stark ausgelasteten geteilten Server.
- Die vier, die nicht bestanden, waren Fehler in unseren Prüfungen, nicht im Modell: ein deutsches Lehnwort, eine E-Mail-Adresse und eine japanische Pluralnachricht. Wir haben die Prüfungen korrigiert; der nächste Durchlauf sendete nur diese vier Strings und schrieb alle 350 in 45 Sekunden.
- Pluralformen gleich beim ersten Versuch korrekt: one, few, many und other für Russisch, sechs Formen für Arabisch, eine einzige für Japanisch.
- Alle 42 Sprachen: Die 22 Web-Strings des Beispiels in jede Sprache, die Polyglot kennt, von Amharisch bis Vereinfachtes Chinesisch: 924 von 924 Strings geschrieben, in 15 Minuten.
- Und was die Prüfungen nicht sehen: Auf Khmer wurde „Sie sind offline“ als „Sie sind online“ zurückgegeben. Es ist einwandfreies Khmer, also hat es bestanden. Deshalb verlangt die Dokumentation einen Muttersprachler für die wichtigsten Strings.
Was ist enthalten
Der Übersetzer
Stapelweise an Ihr Modell, Prüfungen, Wiederholungen mit benanntem Problem, ein Translation Memory, Sprachen parallel.
Sechs Formate
Reader und Writer, die die Escape-Sequenzen, Ordner und Pluralregeln jeder Plattform beibehalten.
Die Prüfungen
Auch allein nutzbar: Prüfen Sie eine vorhandene Übersetzung gegen ihre englische Quelle.
Eine Beispiel-App
Eine kleine App in allen sechs Formaten mit ihrer Konfiguration, zum Ausprobieren vor der eigenen.
Voraussetzungen
- Linux oder macOS mit Python 3.9 oder neuer; nichts aus pip zu installieren.
- Ein OpenAI-kompatibler Modellserver mit einem mehrsprachigen Instruktionsmodell; unseres ist ein offenes Modell mit 27 Milliarden Parametern.
Gut zu wissen
- Die Prüfungen fangen das, was eine App bricht, nicht die falsche Bedeutung: Lassen Sie einen Muttersprachler Ihre Produktbeschreibung, Paywall und Rechtstexte lesen.
- gettext-Pluraleinträge bleiben in dieser Version auf Englisch.
- Die Geschwindigkeit hängt von Ihrem Modell ab.
- Die Prüfungen sind frei und Open Source: translation-checks auf GitHub. Das Kit ergänzt den Übersetzer, die sechs Formate, Pluralformen, das Memory und ein Jahr Updates.
From our field notes
Häufige Fragen
Welche Sprachen?
Arabisch, Amharisch, Bulgarisch, Tschechisch, Deutsch, Griechisch, Spanisch, Persisch, Finnisch, Filipino, Französisch, Schottisch-Gälisch, Hebräisch, Haitianisch-Kreolisch, Ungarisch, Armenisch, Indonesisch, Italienisch, Japanisch, Khmer, Kannada, Koreanisch, Mazedonisch, Malaiisch, Niederländisch, Norwegisch, Oromo, Punjabi, Polnisch, Portugiesisch (Brasilien), Rumänisch, Russisch, Slowakisch, Slowenisch, Serbisch, Schwedisch, Thai, Türkisch, Ukrainisch, Vietnamesisch und Chinesisch, vereinfacht und traditionell, aus dem Englischen.
Braucht es eine GPU?
Polyglot selbst nicht; Ihr Modellserver entscheidet. Ein kleines Modell läuft langsam auf einer CPU; eine GPU macht eine große Datei in vielen Sprachen zur Sache von Minuten.
Was passiert mit einem String, den das Modell falsch übersetzt?
Er wird einzeln erneut angefragt, mit Benennung des Problems. Scheitert er weiterhin, wird er aus der Datei weggelassen, sodass Ihre App für diesen einen String das Englische anzeigt, und der Durchlauf listet ihn mit dem Grund auf. Nichts Kaputtes wird geschrieben.
Kann ich stattdessen eine gehostete API verwenden?
Ja: jeder Dienst mit einem OpenAI-kompatiblen Chat-Endpunkt. Tragen Sie die Basis-URL und den Modellnamen in polyglot.json ein und den Schlüssel in eine Datei.
Aktualisiert: