i1n
i1n
Deine App in jeder Sprache. Ein Befehl.

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 · i18n.ai
Warum i1n?
Traditionelle i18n bedeutet Dutzende von JSON-Dateien, null 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 Befehl —
i1n push --translate es,fr,jaund fertigTypsicher — automatisch generierte
i1n.d.tsmit vollständiger IDE-AutovervollständigungKI-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
Related MCP server: i18n Agent
📦 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 i1nUnterstü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-Schlüssel.
Neu? Wenn du noch keinen Schlüssel 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.gitignoreignoriert).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 Quellä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.tsfür vollständige IDE-Autovervollständigung.
📊 i1n limits
Echtzeit-Nutzungsverfolgung.
Zeige 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 deine Namenskonventionen, Dateistruktur und Markenstimme einhalten.
🔌 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"]
}
}
}8 Tools verfügbar:
Tool | Beschreibung |
| Projektstatus, Plan, Limits und aktive Sprachen abrufen |
| Lokale Übersetzungsdateien mit automatischer Diff-Erkennung pushen |
| Übersetzungen pullen und typsichere TypeScript-Definitionen generieren |
| Schlüssel mit KI in angegebene Sprachen übersetzen |
| Neue Sprachen mit optionaler automatischer Übersetzung hinzufügen |
| Strings aus dem Code extrahieren, als Schlüssel pushen, in alle Sprachen übersetzen |
| Bestehende Übersetzungsschlüssel nach Name oder Wert durchsuchen |
| Deine i18n-Bibliothek (i18next, vue-i18n, next-intl, etc.) erkennen und den i1n-Bridge-Modus durchgängig einrichten |
Der Killer-Workflow — sage deinem KI-Agenten "internationalisiere diese Komponente":
Der Agent liest deine Datei und identifiziert hartcodierte Strings
Er ruft
i1n_extract_and_translatemit den extrahierten Strings aufi1n pusht die Schlüssel, übersetzt in alle aktiven Sprachen, generiert Typen
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 |
|
Flat JSON | React Native, Generic |
|
ARB | Flutter / Dart |
|
YAML | Ruby on Rails |
|
Android XML | Native Android |
|
Apple Strings | iOS / macOS |
|
TypeScript | Typsicheres JSON |
|
🧩 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 i1nFunktioniert 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 den Suffixen _zero, _one, _other:
// 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 ein "Plug and Play"-Erlebnis 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 Übersetzungsdateien (.arb, .xml, .strings), die von i1n pull generiert werden, mit ihren nativen Lokalisierungssystemen.
🛡️ Entwicklererfahrung
🔒 Datenschutz & Sicherheit
Auto-Ignore:
i1n initfügt sensible Konfigurationsdateien automatisch zu deiner.gitignorehinzu.Secret Management: API-Schlüssel werden nur lokal gespeichert und niemals in die Versionskontrolle eingecheckt.
Verschlüsselte Übertragung: Alle Synchronisierungsvorgä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.
Pull: Führe
i1n pullaus. Das CLI generiertlocales/i1n.d.tsund aktualisiert automatisch deinetsconfig.json, damit deine IDE sie sofort findet.Nutzung: Importiere
tausi1nund erhalte vollständige Autovervollständigung + Kompilierzeitprü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");
// Dynamic strings still pass through — useful for `t(item.name)`,
// runtime-built keys, etc.
declare const dynamicKey: string;
t(dynamicKey);Strenge Literalprüfung wurde in
1.3.0eingeführt: Die Übergabe eines hartcodierten Strings, der nicht inI1nKeysenthalten ist, führt jetzt zu einem TypeScript-Fehler (keine stillen[i1n] Missing translation-Warnungen mehr zur Laufzeit). Alsstringtypisierte Variablen funktionieren weiterhin ohne Casts.
💳 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
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
AI-native git hosting — repos, PRs, issues, CI gates, and AI code review over MCP (60 tools).
8 AI services via MCP: content, code, image, docs, data extraction, translation, SEO, email.
One MCP endpoint for Claude, GPT & Gemini: 100+ tools + no-code connectors + agent workers.
Build, validate, deploy — HTTP APIs, cron jobs, webhooks and MCP tools — from your AI client.
Related MCP Servers
AlicenseAqualityCmaintenanceAI-powered localization platform. Translate text, search translation memory, and access style guides from any MCP-compatible AI tool.81MIT- AlicenseNot gradedqualityDmaintenanceAI-powered translation management built for AI agents. Automate localization with regional sensitivity and zero TMS overhead. Works with Claude Code, Cursor, VS Code via MCP protocol. Supports JSON, YAML, Markdown, PO and more.13MIT
- AlicenseAqualityBmaintenanceMCP server for AI-powered translation management in i18n projects, enabling automated locale detection, translation status checks, and sync via LangAPI.4391MIT
- AlicenseAqualityAmaintenanceMCP server for managing i18n translation files — gives your AI agent full control over your app's translations without dumping entire locale files into context.1825111MIT
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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