i1n
i1n
あらゆる言語でアプリを。コマンド一つで。

コードとしてのローカリゼーション。翻訳キーをプッシュし、AIが182言語に翻訳し、型安全なTypeScript定義をプルします。開発者、AIエージェント、プロダクトチームのために構築されました。
ずっと無料 · クレジットカード不要 · i1n.ai
i1nを選ぶ理由
従来のi18nは、大量のJSONファイル、型安全性の欠如、何時間ものコピー&ペースト、そして深夜2時のデプロイ失敗を意味していました。既存のツールは月額120ドル以上かかり、ブラウザベースのワークフローを強制します。
i1nは違います:
コマンド一つ —
i1n push --translate es,fr,jaで完了型安全 — IDEの完全なオートコンプリートを備えた
i1n.d.tsを自動生成AIネイティブ — Cursor、Claude Code、Windsurf用のMCPサーバー。エージェントがあなたの代わりにi18nを処理します
移行コストゼロ — ブリッジモードで既存の i18next/next-intl/vue-i18n をラップ
6倍安価 — 無料枠あり。Proは月額19ドル(Lokaliseの月額120ドルと比較)
Related MCP server: i18n Agent
📦 インストール
# 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 i1nnpm、pnpm、yarn、bun をサポートしています。
🏁 クイックスタート
# 1. Initialize (auth + auto-detect setup)
i1n init
# 2. Push your translation keys
i1n push
# 3. Pull translations + auto-generated TypeScript types
i1n pull✨ 主な機能とコマンド
🛠️ i1n init
ワークスペースを準備する対話型セットアップ。
APIキーによる認証。
初めての方へ:キーをまだお持ちでない場合、CLIが開始方法を明確に案内します。
フレームワーク(Next.js、Vite、Expo、Flutter、Railsなど)を自動検出。
設定を
i1n.config.jsonに保存(.gitignoreで自動的に除外)。AIオーケストレーション:AIコーディングツール用のルールをオプションで設定。
⬆️ i1n push
ローカルの翻訳をi1nに同期します。
新しいキーとソースの変更を検出。
スマート翻訳:不足しているキーの翻訳を提案し、実行前にコストを見積もります。
効率的なキャッシュレイヤー — 繰り返し翻訳は新規翻訳よりも低コストです。
⬇️ i1n pull
翻訳をダウンロードし、型安全なIDを生成します。
設定した形式でローカルのロケールファイルを更新。
IDEの完全なオートコンプリートのために
i1n.d.tsを生成。
📊 i1n limits
リアルタイムの使用状況追跡。
現在のプランとクレジット使用量を確認。
アクティブな言語スロットと利用可能な容量を監視。
🧠 i1n setup-ai
IDEをローカリゼーションの専門家に変身させます。
Cursor (
.mdc)、Claude Code (CLAUDE.md)、Windsurf などのプロジェクト固有のルールを生成。AIエージェントが命名規則、ファイル構造、ブランドボイスに従うことを保証します。
🔌 i1n mcp
AIコーディングアシスタント用MCPサーバー。
Model Context Protocol サーバーを起動し、Cursor、Claude Code、Windsurf、その他のAIアシスタントがIDEから直接i1nコマンドを実行できるようにします。
# 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つのツールが利用可能:
ツール | 説明 |
| プロジェクトのステータス、プラン、制限、アクティブな言語を取得 |
| 自動差分検出機能付きでローカル翻訳ファイルをプッシュ |
| 翻訳をプルし、型安全なTypeScript定義を生成 |
| AIを使用して指定した言語にキーを翻訳 |
| オプションの自動翻訳付きで新しい言語を追加 |
| コードから文字列を抽出し、キーとしてプッシュし、全言語に翻訳 |
| 名前または値で既存の翻訳キーを検索 |
| i18nライブラリ(i18next, vue-i18n, next-intlなど)を検出し、i1nブリッジモードを接続 |
キラーワークフロー — AIエージェントに「このコンポーネントを国際化して」と伝えるだけ:
エージェントがファイルを読み取り、ハードコードされた文字列を特定
抽出された文字列で
i1n_extract_and_translateを呼び出しi1nがキーをプッシュし、全アクティブ言語に翻訳し、型を生成
エージェントが
t('key')呼び出しを使用してコンポーネントを書き換え
60分の作業が30秒で完了します。
📁 サポートされている形式
形式 | フレームワーク | ファイルサンプル |
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 | Type-safe JSON |
|
🧩 SDKの使用方法
i1n パッケージには、WebおよびモバイルJS/TSプロジェクト用のランタイムSDKが含まれています。以下の2つの方法で使用できます:
スタンドアロンモード — i18nライブラリを置き換える
i1nネイティブエンジンを直接使用します。外部依存関係は不要です。
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"キー解決は、ネストされた構造とフラットな構造の両方で自動的に機能します。プロジェクトが好む形式を使用してください。
ブリッジモード — ライブラリを維持し、型安全性を追加する
すでにi18next、vue-i18n、react-intlを使用していますか?1行でi1nに接続し、完全なオートコンプリートを取得できます。
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あらゆるライブラリで動作します:
vue-i18n:
registerI1n((key, params) => i18n.global.t(key, params))react-intl:
registerI1n((key, params) => intl.formatMessage({ id: key }, params))カスタム:
registerI1n((key) => myLookup(key))
複数形(Pluralization)
_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)
以下の3つの構文が普遍的にサポートされています: {var}, {{var}}, %{var}
JavaScript (TypeScriptなし)
SDKはプレーンなJSでも動作しますが、オートコンプリートは利用できません:
import { init, t } from "i1n";
init({ locale: "en_us", resources: { en_us: { greeting: "Hello {name}" } } });
t("greeting", { name: "World" }); // "Hello World"⚛️ React / Preact 統合
「プラグアンドプレイ」体験のために、このミニマリストなプロバイダーパターンを使用してください。
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) });使用方法:
const { t, setLocale } = useI1n();
return (
<div>
<h1>{t("auth.title", { user: "Fran" })}</h1>
<button onClick={() => setLocale("es_es")}>Español</button>
</div>
);非JSプラットフォーム
Flutter、Android、iOSプロジェクトはSDKを使用しません。i1n pull によって生成された翻訳ファイル (.arb, .xml, .strings) をネイティブのローカリゼーションシステムで使用します。
🛡️ 開発者体験
🔒 プライバシーとセキュリティ
自動除外:
i1n initは機密設定ファイルを自動的に.gitignoreに追加します。シークレット管理:APIキーはローカルにのみ保存され、バージョン管理には決してコミットされません。
暗号化通信:すべての同期操作は安全なHTTPSチャネル経由で行われます。
🔒 ゼロコンフィグ型安全性 (TypeScript)
CLIは軽量な宣言ファイル (i1n.d.ts) を生成し、プロジェクト固有のキーで i1n パッケージを自動的に拡張します。
プル:
i1n pullを実行します。CLIはlocales/i1n.d.tsを生成し、IDEが即座に認識できるようにtsconfig.jsonを自動更新します。使用:
i1nからtをインポートし、完全なオートコンプリートとコンパイル時のチェックを利用します。手動のパスマッピングは不要です。
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);
1.3.0で厳密なリテラルチェックが導入されました:I1nKeysに存在しないハードコードされた文字列を渡すと、TypeScriptエラーになります(実行時に[i1n] Missing translationという警告が黙って表示されることはもうありません)。string型として定義された変数は、キャストなしで引き続き機能します。
💳 料金
プラン | 価格 | キー数 | 言語数 | AI翻訳/月 |
Starter | $0 | 600 | 2 | 2,000 |
Pro | $19/月 | 5,000 | 5 | 10,000 |
Business | $49/月 | 15,000 | 12 | 20,000 |
Enterprise | カスタム | カスタム | 182 | カスタム |
CLI、SDK、MCPサーバーはすべてのプランで無料です。Starterプランではクレジットカードは不要です。
Proのライフタイムプランは99ドルから — 最初の200ユーザー限定。
📄 ライセンス
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