Skip to main content
Glama

i1n

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

npm license MCP Listed on MCP Servers Security: DeepSec

demo

コードとしてのローカリゼーション。翻訳キーをプッシュし、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 i1n

npmpnpmyarnbun をサポートしています。


🏁 クイックスタート

# 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つのツールが利用可能:

ツール

説明

i1n_status

プロジェクトのステータス、プラン、制限、アクティブな言語を取得

i1n_push

自動差分検出機能付きでローカル翻訳ファイルをプッシュ

i1n_pull

翻訳をプルし、型安全なTypeScript定義を生成

i1n_translate

AIを使用して指定した言語にキーを翻訳

i1n_add_language

オプションの自動翻訳付きで新しい言語を追加

i1n_extract_and_translate

コードから文字列を抽出し、キーとしてプッシュし、全言語に翻訳

i1n_search

名前または値で既存の翻訳キーを検索

i1n_setup_bridge

i18nライブラリ(i18next, vue-i18n, next-intlなど)を検出し、i1nブリッジモードを接続

キラーワークフロー — AIエージェントに「このコンポーネントを国際化して」と伝えるだけ:

  1. エージェントがファイルを読み取り、ハードコードされた文字列を特定

  2. 抽出された文字列で i1n_extract_and_translate を呼び出し

  3. i1nがキーをプッシュし、全アクティブ言語に翻訳し、型を生成

  4. エージェントが t('key') 呼び出しを使用してコンポーネントを書き換え

60分の作業が30秒で完了します。


📁 サポートされている形式

形式

フレームワーク

ファイルサンプル

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の使用方法

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 パッケージを自動的に拡張します。

  1. プルi1n pull を実行します。CLIは locales/i1n.d.ts を生成し、IDEが即座に認識できるように tsconfig.json自動更新します。

  2. 使用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

Maintenance

ActivityMaintained
ResponsivenessSyncing

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

Related MCP Servers

  • A
    license
    Not graded
    quality
    D
    maintenance
    AI-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.
    13
    MIT
  • A
    license
    A
    quality
    A
    maintenance
    MCP server for managing i18n translation files — gives your AI agent full control over your app's translations without dumping entire locale files into context.
    18
    251
    11
    MIT

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