Selbstgehostet

Schmerzfreie i18n, erweitert auf Ihre eigenen Horizonte ohne Tausende von Dollar auszugeben.

Vollständig kostenlos. Unbegrenzte Projekte, alle 48 Sprachen, kein Ablaufdatum, kein Lizenzschlüssel erforderlich.

Kostenlos für immer
€0für immer

Unbegrenzte Projekte. Alle 48 Sprachen. Kein Ablaufdatum.

  • Alle 48 Sprachen, unbegrenzte Übersetzungen
  • Das Dashboard, der MCP-Server, jedes SDK
  • Nichts zu kaufen, nichts einzugeben außer deinem AI-Schlüssel
Installieren Sie es kostenlos
Gib mir Trinkgeld
Gefällt es dir?

i18n ist jetzt mühelos, du kannst es ausprobieren. Ich habe nichts dagegen, dafür ein Trinkgeld zu bekommen.

  • Wenn du es fühlst
  • Wenn du Lust hast
  • Von 1 bis 1 Million Dollar, nicht mehr

Sichere Zahlung über Stripe. Ein Lizenzschlüssel landet in Ihrem Postfach — er unterdrückt die Spendenaufforderung im Dashboard.

Was du bekommst

  • Unbegrenzte Projekte, alle 48 Sprachen, kein Ablaufdatum
  • Unbegrenzte Übersetzungen, keine Nutzungsbeschränkung
  • Das Dashboard, der MCP-Server für Ihre Agents, jedes SDK
  • Ein Container, eine SQLite-Datei zur Sicherung
  • Eine Lizenz offline überprüft: Ihr Server ruft nie zu Hause an
  • Jedes Update, fürs Leben: docker compose pull

Was du bringst

  • Eine Maschine mit Docker: ein VPS für 4 € reicht völlig
  • Ein KI-API-Schlüssel (Mistral, OpenAI, Anthropic, Google oder jeder OpenAI-kompatible Anbieter). Übersetzungen laufen auf Ihrem eigenen Konto, für wenige Cent pro App
  • Fünf Minuten

Support erfolgt per E-Mail mit bestem Einsatz. Brauchen Sie jemanden für den Bereitschaftsdienst? Die gehosteten Pläne sind für Sie.

Wie es läuft

Installieren Sie, erstellen Sie den Administrator, fügen Sie Ihren AI-Schlüssel ein. Jedes Projekt ist kostenlos, für immer.

Mit ONCE — ein frischer Server, eine Domain, fünf Minuten

curl -fsSL https://get.once.com | sh
once   # add an app: ghcr.io/ambroselli-io/i18n-keyless:latest, pick a host name
# then open it: create the admin, paste your AI key on Settings
# fully free, unlimited projects — donate if you want
# ONCE does the domain, the TLS, the updates and the backups

Mit Docker Compose — jede Maschine, auf der Docker läuft

mkdir i18n-keyless && cd i18n-keyless
curl -fsSL https://i18n-keyless.com/self-hosted/docker-compose.yml -o docker-compose.yml
docker compose up -d
# → http://localhost:1800: create the admin, paste your AI key on Settings
# fully free, unlimited projects — donate if you want

Richten Sie dann Ihr SDK auf Ihren Server aus:

I18nKeyless.init({
  API_KEY: "your-project-key",
  API_URL: "https://i18n.example.com",
  // …
});

Der vollständige Leitfaden: https://docs.i18n-keyless.com/docs/guides/self-hosting

Warum eine Spende?

Weil du den VPS und den KI-API-Schlüssel selbst verwaltest. Es gibt keinen Grund, warum ich dir für ein Abo etwas berechnen sollte. Ich hasse Abos selbst. Also stattdessen: Du bestimmst, was die Software für dich wert ist, und ich baue sie weiter aus.

Das Bild wird kostenlos installiert und führt unbegrenzte Projekte aus, in jeder Sprache und ohne Ablaufdatum.

Fragen vor dem Kauf? Schreiben Sie uns

Setup i18n, halten Sie Ihren Code sauber und liefern Sie schnell

Es gibt mehrere PITA mit den aktuellen i18n-Lösungen. Die Schmerzen sind so groß, dass Sie die i18n so lange wie möglich verzögern.

Es verbraucht Zeit, die Sie am Strand verbringen sollten

Richten Sie das Schlüsselsystem ein: mindestens 1 Stunde Senior-Entwicklerzeit

Hin und her für jeden neuen Schlüssel: 1 Minute pro Schlüssel, x500 Schlüssel, x2 Sprachen = 17 Stunden

Mit i18n-keyless müssen Sie sich nicht um das i18n-System kümmern. Sie können an den Strand gehen und einen Mojito bestellen.

Heute verwenden die meisten Systeme Schlüssel, um den Text zu übersetzen

Das tut weh zu erzeugen. Das tut weh zu pflegen.

Wenn Sie einen Text in der App sehen und ihn aktualisieren möchten, müssen Sie den entsprechenden Schlüssel finden.

Mit i18n-keyless müssen Sie sich nicht um das i18n-System kümmern. Nutzen Sie Ihr Gehirn für etwas Interessanteres.

Überlassen Sie die Übersetzungen der KI

Mit dem Schlüsselsystem müssen Sie die Übersetzungen in der App verwalten.

Andernfalls sehen Ihre Benutzer someheader.welcome.title in ihrer App.

Mit i18n-keyless siehst du im schlimmsten Offline-Szenario unübersetzte echte Wörter. In normalem Tempo kümmerst du dich überhaupt nicht um das i18n-System. Schreib einfach gute Überschriften, konzentriere dich auf Marketing und steigere die Verkäufe.

Codebases sind schön... bis zur Infektion der i18n-Schlüssel

Mit dem Schlüsselsystem, wenn Sie den Code und den Inhalt lesen, müssen Sie die Schlüssel lesen, nicht die natürliche Sprache.

Manchmal müssen Sie eine Korrektur vornehmen, weil ein Satz grammatikalisch nicht korrekt ist. Aber Sie wissen das nicht, weil Sie die Schlüssel lesen.

Mit i18n-keyless kümmern Sie sich überhaupt nicht um das i18n-System. Der Code bleibt schön.

Fügen Sie i18n ab dem ersten Tag hinzu, ohne dass dies Auswirkungen auf Ihr Entwicklungstempo hat
Für Code-Agenten entwickelt

MCP-Server, um alle Ihre i18n-Bedürfnisse abzudecken

Sechs weitere Gründe, warum das System so für agentisches Coding optimiert ist.

Keinen Namen zu erfinden

Ein Schlüssel ist eine Namensentscheidung ohne richtige Antwort. Zwei Agenten schreiben login.submit und auth.button.send für denselben Button. Ohne Schlüssel gibt es keine Entscheidung zu treffen.

Eine Datei zum Bearbeiten, nicht zwanzig

Eine schlüsselbasierte Änderung betrifft die Komponente und jede lokale JSON-Datei, und Agenten vergessen Dateien. Hier ist eine Kopieänderung eine Bearbeitung einer einzelnen Datei.

Keine Merge-Konflikte in Agentenflotten

Fünf Agenten auf fünf Branches bearbeiten alle en.json: ein garantierter Konflikt. Es gibt keine gemeinsame Datei, sodass Worktrees und Hintergrundagenten nie kollidieren.

Günstig in Tokens

Um einen Schlüssel wiederzuverwenden, muss ein Agent die Lokalisierungsdateien bei jeder Bearbeitung in den Kontext laden. Schlüsselose Ladevorgänge tun nichts: Der Text ist direkt in der Komponente vorhanden.

Lesbare Unterschiede

Der Pull-Request zeigt echte Sätze. Ein Mensch oder ein Review-Agent kann die Kopie beurteilen, ohne nachzuforschen, wofür ein Schlüssel steht.

Eine Regel in Ihrer CLAUDE.md

Jede i18n-Regel, die du schreibst, ist eine Regel, die der Agent brechen kann. Diese Regel benötigt nur eine Zeile — und die Fallback-Option ist der eigentliche Text, sodass ein Fehler kein a.b.c auf dem Bildschirm anzeigen kann.

Die einzige i18n-Regel, die dein Agent benötigt

# CLAUDE.md
Write the UI copy in English and wrap it in <T>…</T> from i18n-keyless-react.
That is the whole i18n setup.

Ihr Agent kann es bedienen, nicht nur schreiben

Über den MCP-Server listet der Agent fehlende Übersetzungen auf, liest eine davon, überschreibt eine schlechte oder importiert die Kopie, die du bereits hast — mit seinem eigenen OAuth-Login, ohne dass ein Schlüssel einzufügen ist.

Lesen Sie den MCP-Leitfaden
Perfekt für MVPs

Globaler Start ab dem ersten Tag

Hören Sie auf, die i18n aufgrund von Komplexität zu verzögern. Implementieren Sie in 5 Minuten, nicht in Tagen. Halten Sie Ihre Entwicklungsgeschwindigkeit aufrecht, als ob die i18n nicht implementiert wäre.

  • 5-Minuten-Implementierung. Kein Scherz.

    Ein einfaches Konfigurationsobjekt und Sie sind fertig.

  • Entwicklungsgeschwindigkeit beibehalten

    Coden Sie so, als wäre i18n überhaupt nicht implementiert.

  • Versand in globale Märkte

    Keine Refaktorisierung erforderlich, wenn Sie auf neue Sprachen skalieren.

  • SSR & SEO bereit

    Funktioniert mit Next.js, Remix, TanStack Start und Astro. Serverseitiges Rendern in jeder Sprache für Suchmaschinen — gleiche Einrichtung in 5 Minuten.

Traditionell i18n

Einrichtung des Schlüsselsystems (1 Stunde)
Erstellen Sie Übersetzungsdateien (2 Stunden)
Komponenten neu strukturieren (4 Stunden)
Teste alle Sprachen (2 Stunden)
Layout-Probleme beheben (3 Stunden)
12+ Stunden Arbeit

i18n-keyless

Paket hinzufügen (1 min)
Konfigurieren mit API-Schlüssel (2 min)
Textkomponenten einwickeln (2 min)
5 Minuten Arbeit
Wie es funktioniert

Es ist kinderleicht einzurichten

Nur das einfachste Konfigurationsobjekt und Sie sind bereit, global zu gehen.
Und noch mehr, Ihr Agent wird es für Sie einrichten.

1. Grundeinrichtung

import * as I18nKeyless from "i18n-keyless-react";

I18nKeyless.init({
  API_KEY: "YOUR_API_KEY",
  storage: window.localStorage,
  languages: {
    primary: "en",
    supported: ["en", "fr"],
  },
});

2. Komponentenverwendung (Hier React; dasselbe in Vue, Angular, Flutter, Swift und Kotlin)

import { I18nKeylessText } from "i18n-keyless-react";
// import { T } from "i18n-keyless-react"; // also works

// Just write in your primary language
<I18nKeylessText>
  Welcome to our website
</I18nKeylessText>

3. Server-seitige Verwendung (hier Node.js; derselbe Aufruf in Laravel, Rails, Python und Go)

import { awaitForTranslationOrFallbackToOriginal, type Lang } from 'i18n-keyless-node';

const title = await awaitForTranslationOrFallbackToOriginal('Come see my app!', user.lang as Lang);
const body = await awaitForTranslationOrFallbackToOriginal('So many new stuff!', user.lang as Lang);

await sendExpoPushNotification({ user, title, body });

4. Für Text außerhalb von Komponenten

import { getTranslation } from "i18n-keyless-react";

export default function Navigation() {
  return (
    <HomeTabs.Navigator>
      <HomeTabs.Screen
        options={{ tabBarLabel: getTranslation("Welcome") }}
        name="WELCOME"
      />
    </HomeTabs.Navigator>
  );
}

5. Wählen Sie Ihr SDK: eine Installationszeile, dieselbe API überall

  • React, React Native, Expo, Next.js, Remix, TanStack Start, Astronpm install i18n-keyless-react
  • Vue, Nuxtnpm install i18n-keyless-vue
  • Angularnpm install i18n-keyless-angular
  • Plain HTML, Svelte, Alpine, htmx, one script tagnpm install i18n-keyless-browser
  • Node.jsnpm install i18n-keyless-node
  • Laravel, PHPcomposer require i18n-keyless/laravel
  • Rails, Rubybundle add i18n-keyless-rails
  • Flutter, Dartflutter pub add i18n_keyless
  • Swift, iOS, macOS, VaporSwiftPM: arnaudambro/i18n-keyless-swift
  • Kotlin, Android, Ktorio.github.arnaudambro:i18n-keyless-kotlin
  • Python, Django, Flask, FastAPIpip install i18n-keyless
  • Gogo get github.com/arnaudambro/i18n-keyless/ports/go/v3

Schnelle Einrichtung für jedes der zwölf SDKs

Wie Übersetzungen funktionieren

i18n-keyless ist eine Bibliothek, kombiniert mit einem API-Service, die es Ihnen ermöglicht, Ihren Text zu übersetzen, ohne dass Sie Schlüssel verwenden müssen.

Wenn die Übersetzung nicht gefunden wird, gibt es einen asynchronen Abruf zur I18nKeyless-API, um die Übersetzung durch einen KI-API-Aufruf zu erhalten.

Dieser Vorgang wird normalerweise im Entwicklungsmodus durchgeführt, während Sie codieren. Wenn Sie eine verpasst haben, wird in der Produktion nur der erste Benutzer, dem die Übersetzung fehlt, einen Fehler sehen, dann wird sie sofort für Benutzer auf der ganzen Welt verfügbar sein.

App Store & Google Play

Deine Store-Liste in jeder Sprache, bei jedem Release

Jedes Update bedeutet neue Versionshinweise, eine Beschreibung und Schlüsselwörter — für jede Sprache in beiden Stores. Das ist es, was dich davon abhält, Sprachen hinzuzufügen. Nicht die App.

  • Versionshinweise für jede Sprache in einem Aufruf

    Schreiben Sie die Aktualisierung einmal. awaitForTranslation gibt sie in jeder Sprache zurück, in der Sie verkaufen, und Ihre Store-Konfiguration leitet sie an EAS oder fastlane weiter.

  • 48 Sprachen, den App Store-Slots zugeordnet

    pt-BR und pt-PT sind zwei Listen; en-GB, en-AU und en-CA sind drei. toAppStoreLocale platziert jede Übersetzung an der richtigen Stelle.

  • Behebe eine schlechte Übersetzung ohne Release

    In der App ist ein Override im Dashboard jeweils nur einmal aktiv — kein Hotfix-Build, kein Store-Review. In der Liste führen Sie den Push erneut aus.

  • Nicht pro Wort berechnet

    Ein Übersetzer verlangt etwa 0,10 € pro Wort. 2.000 Zeichenketten mal 10 Sprachen ist ein Budget, das sich ein Einzelentwickler nicht leisten kann. Hier werden Wörter nicht gezählt.

Das vollständige Rezept für eine Expo-App

// store.config.js — EAS Metadata awaits an async config
const { init, awaitForTranslation, toAppStoreLocale } = require("i18n-keyless-node");

const LANGS = ["en", "fr", "de", "ja", "pt-BR"];
const DESCRIPTION = "Bibi translates your app while you sleep…";

module.exports = async () => {
  init({ API_KEY: process.env.I18N_KEYLESS_KEY, languages: { primary: "en", supported: LANGS } });
  const info = {};
  for (const lang of LANGS) {
    info[toAppStoreLocale(lang)] = {
      title: await awaitForTranslation("Bibi", lang, { context: "App Store app name, 30 characters max" }),
      subtitle: await awaitForTranslation("Keyless i18n", lang, { context: "App Store subtitle, 30 characters max" }),
      description: await awaitForTranslation(DESCRIPTION, lang, { context: "App Store description" }),
    };
  }
  return { configVersion: 0, apple: { info } };
};

Der gleiche Anruf schreibt fastlane-Metadaten-Dateien für Google Play. Großbuchstaben sind nur empfehlend: setzen Sie die Grenze im Kontext und überprüfen Sie die Länge, bevor Sie pushen.

Versuchen Sie es selbst

Interaktive Sandbox

Sehen Sie, wie i18n-keyless in Echtzeit funktioniert

Öffnen Sie ein live und editierbares StackBlitz-Projekt, um zu sehen, wie Übersetzungen sich während des Tippens auflösen.

Warum ich das gebaut habe

Ich habe die Internationalisierung immer aufgeschoben, bis mein Kunde sie so sehr wollte, dass ich keine andere Wahl hatte. Ich hasse es, Code mit i18n-Schlüsseln darin zu lesen, und ich hasse es genauso, JSON-Dateien zu warten, wie zu sehen, wie teuer i18n-Übersetzungsanbieter sind. Also musste ich meine eigene Lösung bauen, und ICH LIEBE SIE. Alle meine Apps sind jetzt standardmäßig i18n.

AA

Arnaud Ambroselli

Gründer von i18n-keyless

Möchtest du deinen hinzufügen?

Ein Zeugnis gegen ein kostenloses Abo. Fordern Sie Ihr eigenes an!

Sende mein Zeugnis
Bevor du fragst

Häufig gestellte Fragen

Muss ich Übersetzungsdateien verwalten?

Nein. Es gibt keine JSON-Dateien, keinen Schritt zur Schlüsselentnahme und kein Build-Time-Plugin. Sie schreiben Ihre Sätze in Ihrer Quellsprache, der SDK sendet sie bei der ersten Anfrage an die API, die API übersetzt sie mit KI, und jede nachfolgende Anfrage wird aus dem Cache bedient. Ihr Code ist die einzige Quelle der Wahrheit.

Was passiert, wenn ich den Quelltext ändere?

Der Quelltext ist der Schlüssel. Ändern Sie ihn, und Sie erhalten einen neuen Schlüssel mit einer frischen KI-Übersetzung. Der alte Schlüssel wird einfach nicht mehr angefragt, und das Dashboard entfernt ihn nach 30 Tagen ohne Nutzung. Eine Tippfehlerkorrektur funktioniert genauso: Korrigieren Sie sie im Code, deployen Sie, und der neue Text wird bei der ersten Anfrage übersetzt.

Wie viel kostet das?

Selbst gehostet: komplett kostenlos, unbegrenzte Projekte, kein Abo und keine Nutzungsbeschränkung — installiere das Docker-Image, nutze deinen eigenen AI-Schlüssel. Gefällt es dir? Spende mir einen Kaffee! Gehostet: ein fester Preis pro Projekt pro Monat, basierend auf monatlich aktiven Nutzern — 4 € bis 1.000, 9 € bis 5.000, 29 € bis 50.000, 99 € bis 500.000 — monatlich abgerechnet, jederzeit kündbar. Es gibt keine Preisgestaltung pro Sitzplatz, pro Wort oder pro Zeichen in beiden Fällen.

Kann ich meine Übersetzungen exportieren?

Ja. Das Dashboard verfügt über eine Schaltfläche "JSON exportieren", die alle Übersetzungen in Ihrem Projekt als einzelne JSON-Datei herunterlädt. Der Export enthält alle Zeilen, nicht nur die in den letzten 30 Tagen verwendeten, sodass es sich um ein vollständiges Backup handelt. Es gibt keine Bindung: Ihre Daten sind immer nur einen Klick entfernt.

Ein Maintainer: Was passiert, wenn das Projekt stoppt?

Die SDKs sind unter der MIT-Lizenz verfügbar und bleiben auf npm, PyPI, RubyGems und anderen Registries verfügbar. Der Server ist öffentlich unter der Elastic License 2.0 und das Protokoll zwischen ihnen ist dokumentiert, sodass jeder ihn ausführen, forken oder einen Server dagegen schreiben kann. Ihre Übersetzungen bleiben zu jeder Zeit in einer einzigen JSON-Exportdatei erhalten. Falls der gehostete Dienst stoppt: installierte Apps dienen weiterhin ihre zwischengespeicherten Übersetzungen, ein neuer Client fällt auf die Quellsprache zurück, und durch das Ausrichten des SDKs auf Ihre eigene Instanz mit API_URL wird alles wiederhergestellt. Was Sie verlieren würden, ist die KI-Übersetzung neuer Zeichenfolgen auf i18n-keyless.com — nicht Ihre Daten oder Ihre App.

Lesen Sie die vollständige Antwort mit Code
Versuchen Sie es selbst

Schauen Sie sich die Demo an

Schauen Sie sich dieses kurze Video an, um i18n-keyless in Aktion zu sehen