Skip to main content
Glama

i1n

Deine App in jeder Sprache. Ein Befehl.

npm license MCP

demo

Lokalisierung als Code. Pushe deine Übersetzungsschlüssel, die KI übersetzt in 182 Sprachen, pulle typsichere TypeScript-Definitionen. Entwickelt für Entwickler, KI-Agenten und Produktteams.

Für immer kostenlos · Keine Kreditkarte · i1n.ai


Warum i1n?

Traditionelle i18n bedeutet Dutzende von JSON-Dateien, keine Typsicherheit, stundenlanges Copy-Paste und Deployments, die um 2 Uhr morgens fehlschlagen. Bestehende Tools kosten über 120 $/Monat und erfordern browserbasierte Workflows.

i1n ist anders:

  • Ein Befehli1n push --translate es,fr,ja und fertig

  • Typsicher — automatisch generierte i1n.d.ts mit vollständiger IDE-Autovervollständigung

  • KI-nativ — MCP-Server für Cursor, Claude Code, Windsurf. Dein Agent erledigt i18n für dich

  • Keine Migration — Der Bridge-Modus umschließt dein bestehendes i18next/next-intl/vue-i18n

  • 6x günstiger — Kostenloser Tarif enthalten. Pro für 19 $/Monat statt Lokalise für 120 $/Monat


📦 Installation

# To use the CLI (global)
npm install -g i1n

# To use the SDK + types (in your app)
npm install i1n

# Local CLI usage (optional)
npm install -D i1n

Unterstützt npm, pnpm, yarn und bun.


🏁 Schnellstart

# 1. Initialize (auth + auto-detect setup)
i1n init

# 2. Push your translation keys
i1n push

# 3. Pull translations + auto-generated TypeScript types
i1n pull

✨ Hauptfunktionen & Befehle

🛠️ i1n init

Interaktives Setup, das deinen Arbeitsbereich vorbereitet.

  • Authentifizierung per API-Key.

  • Neu? Wenn du noch keinen Key hast, bietet das CLI klare Anleitungen für den Einstieg.

  • Erkennt Frameworks automatisch (Next.js, Vite, Expo, Flutter, Rails, etc.).

  • Speichert die Konfiguration in i1n.config.json (wird automatisch über .gitignore ignoriert).

  • KI-Orchestrierung: Richtet optional Regeln für deine KI-Coding-Tools ein.

⬆️ i1n push

Synchronisiert deine lokalen Übersetzungen mit i1n.

  • Erkennt neue Schlüssel und Quellcode-Änderungen.

  • Smart Translate: Bietet an, fehlende Schlüssel mit einer Kostenschätzung zu übersetzen, bevor fortgefahren wird.

  • Effiziente Caching-Ebene — wiederholte Übersetzungen kosten nur einen Bruchteil von neuen.

⬇️ i1n pull

Lädt Übersetzungen herunter und generiert typsichere IDs.

  • Aktualisiert lokale Locale-Dateien in deinem konfigurierten Format.

  • Generiert i1n.d.ts für vollständige IDE-Autovervollständigung.

📊 i1n limits

Echtzeit-Nutzungsverfolgung.

  • Sieh dir deinen aktuellen Plan und die Kreditnutzung an.

  • Überwache aktive Sprach-Slots und verfügbare Kapazität.

🧠 i1n setup-ai

Macht deine IDE zum Lokalisierungsexperten.

  • Generiert projektspezifische Regeln für Cursor (.mdc), Claude Code (CLAUDE.md), Windsurf und mehr.

  • Stellt sicher, dass KI-Agenten deinen Namenskonventionen, deiner Dateistruktur und deiner Markenstimme folgen.

🔌 i1n mcp

MCP-Server für KI-Coding-Assistenten.

Startet einen Model Context Protocol-Server, mit dem Cursor, Claude Code, Windsurf und andere KI-Assistenten i1n-Befehle direkt aus deiner IDE ausführen können.

# Add to Claude Code
claude mcp add i1n -- npx i1n mcp

# Or add to .mcp.json / cursor config
{
  "mcpServers": {
    "i1n": {
      "command": "npx",
      "args": ["i1n", "mcp"]
    }
  }
}

7 Tools verfügbar:

Tool

Beschreibung

i1n_status

Projektstatus, Plan, Limits und aktive Sprachen abrufen

i1n_push

Lokale Übersetzungsdateien mit automatischer Diff-Erkennung pushen

i1n_pull

Übersetzungen pullen und typsichere TypeScript-Definitionen generieren

i1n_translate

Schlüssel mit KI in angegebene Sprachen übersetzen

i1n_add_language

Neue Sprachen mit optionaler automatischer Übersetzung hinzufügen

i1n_extract_and_translate

Strings aus dem Code extrahieren, als Schlüssel pushen, in alle Sprachen übersetzen

i1n_search

Bestehende Übersetzungsschlüssel nach Name oder Wert durchsuchen

Der Killer-Workflow — sag deinem KI-Agenten "internationalisiere diese Komponente":

  1. Der Agent liest deine Datei und identifiziert hartcodierte Strings

  2. Er ruft i1n_extract_and_translate mit den extrahierten Strings auf

  3. i1n pusht die Schlüssel, übersetzt in alle aktiven Sprachen, generiert Typen

  4. Der Agent schreibt deine Komponente mit t('key')-Aufrufen um

Eine 60-Minuten-Aufgabe in 30 Sekunden.


📁 Unterstützte Formate

Format

Frameworks

Dateibeispiel

Nested JSON

i18next, next-intl, vue-i18n

en/common.json

Flat JSON

React Native, Generic

locales/en.json

ARB

Flutter / Dart

app_en.arb

YAML

Ruby on Rails

en.yml

Android XML

Native Android

strings.xml

Apple Strings

iOS / macOS

Localizable.strings

TypeScript

Type-safe JSON

locales/en.ts


🧩 SDK-Nutzung

Das i1n-Paket enthält ein Runtime-SDK für Web- und Mobile-JS/TS-Projekte. Du kannst es auf zwei Arten verwenden:

Standalone-Modus — Ersetze deine i18n-Bibliothek

Verwende die native i1n-Engine direkt. Keine externen Abhängigkeiten erforderlich.

import { init, t, setLocale } from "i1n";

// Load your translation resources
init({
  locale: "en_us",
  resources: {
    en_us: {
      auth: { login: "Login", title: "Welcome back, {user}" },
      items_one: "One item",
      items_other: "{count} items",
    },
    es_es: {
      auth: { login: "Entrar", title: "Bienvenido de nuevo, {user}" },
      items_one: "Un elemento",
      items_other: "{count} elementos",
    },
  },
});

// Autocomplete and type-safety work out of the box after 'i1n pull'
t("auth.login"); // "Login"

// Support for default values (useful during development)
t("new.key", { defaultValue: "Coming soon..." }); // "Coming soon..."

// Variables & Plurals
t("auth.title", { user: "Fran" }); // "Welcome back, Fran"
t("items", { count: 5 }); // "5 items"

// Switch language at runtime
setLocale("es_es");
t("auth.login"); // "Entrar"

Die Schlüsselauflösung funktioniert automatisch sowohl mit verschachtelten als auch mit flachen Strukturen — verwende das Format, das dein Projekt bevorzugt.

Bridge-Modus — Behalte deine Bibliothek, füge Typsicherheit hinzu

Verwendest du bereits i18next, vue-i18n oder react-intl? Verbinde es mit einer Zeile mit i1n und erhalte vollständige Autovervollständigung.

import i18next from "i18next";
import { registerI1n, t } from "i1n";

// Set up i18next as usual
await i18next.init({
  lng: "en",
  resources: {
    /* ... */
  },
});

// Connect to i1n — one line
registerI1n((key, params) => i18next.t(key, params));

// Now t() uses i18next under the hood, but with strict type checking
t("common.greeting", { name: "World" }); // Powered by i18next, typed by i1n

Funktioniert mit jeder Bibliothek:

  • vue-i18n: registerI1n((key, params) => i18n.global.t(key, params))

  • react-intl: registerI1n((key, params) => intl.formatMessage({ id: key }, params))

  • Custom: registerI1n((key) => myLookup(key))

Pluralisierung

Definiere Pluralvarianten mit _zero, _one, _other-Suffixen:

// In your translation files:
// "items_zero": "No items"
// "items_one": "One item"
// "items_other": "{count} items"

t("items", { count: 0 }); // "No items"
t("items", { count: 1 }); // "One item"
t("items", { count: 5 }); // "5 items"

Interpolation

Drei Syntaxen werden universell unterstützt: {var}, {{var}}, %{var}

JavaScript (ohne TypeScript)

Das SDK funktioniert in reinem JS — du erhältst nur keine Autovervollständigung:

import { init, t } from "i1n";
init({ locale: "en_us", resources: { en_us: { greeting: "Hello {name}" } } });
t("greeting", { name: "World" }); // "Hello World"

⚛️ React / Preact-Integration

Für eine "Plug and Play"-Erfahrung verwende dieses minimalistische Provider-Muster.

import { createContext, useContext, useState, useEffect } from "react";
import { init, t, getLocale, setLocale as sdkSetLocale } from "i1n";

// 1. Initialize with wordings
// (In a real app, you'd probably import these from your locales folder)
init({
  locale: "en_us",
  resources: {
    /* ... */
  },
});

const STORAGE_KEY = "i1n-locale";
const I1nContext = createContext({
  locale: "en_us",
  setLocale: (l: string) => {},
});

// 2. Persistent Provider
export function I1nProvider({ children, defaultLocale = "en_us" }) {
  const [locale, setLocaleState] = useState(() => {
    return localStorage.getItem(STORAGE_KEY) || defaultLocale;
  });

  // Keep SDK in sync
  useEffect(() => {
    sdkSetLocale(locale);
  }, [locale]);

  const setLocale = (newLocale: string) => {
    localStorage.setItem(STORAGE_KEY, newLocale);
    setLocaleState(newLocale);
  };

  return (
    <I1nContext.Provider value={{ locale, setLocale }}>
      {children}
    </I1nContext.Provider>
  );
}

// 3. Simple Hook
export const useI1n = () => ({ t, ...useContext(I1nContext) });

Nutzung:

const { t, setLocale } = useI1n();

return (
  <div>
    <h1>{t("auth.title", { user: "Fran" })}</h1>
    <button onClick={() => setLocale("es_es")}>Español</button>
  </div>
);

Nicht-JS-Plattformen

Flutter-, Android- und iOS-Projekte verwenden das SDK nicht. Sie nutzen die von i1n pull generierten Übersetzungsdateien (.arb, .xml, .strings) mit ihren nativen Lokalisierungssystemen.


🛡️ Entwicklererfahrung

🔒 Datenschutz & Sicherheit

  • Auto-Ignore: i1n init fügt sensible Konfigurationsdateien automatisch zu deiner .gitignore hinzu.

  • Secret Management: API-Keys werden nur lokal gespeichert und niemals in die Versionskontrolle eingecheckt.

  • Verschlüsselte Übertragung: Alle Synchronisationsvorgänge erfolgen über sichere HTTPS-Kanäle.

🔒 Zero-Config Typsicherheit (TypeScript)

Das CLI generiert eine leichtgewichtige Deklarationsdatei (i1n.d.ts), die das i1n-Paket automatisch um die spezifischen Schlüssel deines Projekts erweitert.

  1. Pull: Führe i1n pull aus. Das CLI generiert locales/i1n.d.ts und aktualisiert automatisch deine tsconfig.json, damit deine IDE sie sofort findet.

  2. Nutzung: Importiere t aus i1n und erhalte vollständige Autovervollständigung + Compile-Time-Prüfung. Kein manuelles Pfad-Mapping erforderlich.

import { t } from "i1n";

// Full autocomplete & compile-time checking
t("auth.login.title");

// ERROR: Argument of type '"auth.login.titlse"' is not assignable...
t("auth.login.titlse");

💳 Preise

Plan

Preis

Schlüssel

Sprachen

KI-Übersetzungen/Monat

Starter

0 $

600

2

2.000

Pro

19 $/Monat

5.000

5

10.000

Business

49 $/Monat

15.000

12

20.000

Enterprise

Benutzerdefiniert

Benutzerdefiniert

182

Benutzerdefiniert

CLI, SDK und MCP-Server sind in jedem Plan kostenlos. Für Starter ist keine Kreditkarte erforderlich.

Pro lebenslang ab 99 $ — nur für die ersten 200 Nutzer.


📄 Lizenz

MIT — © 2026 i1n.ai

-
security - not tested
A
license - permissive license
-
quality - not tested

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/Pakvothe/i1n-cli'

If you have feedback or need assistance with the MCP directory API, please join our Discord server