インテグレーション:better-i18nを開発スタックに接続する
コード同期にはGitHub、AIアシスタントにはMCP、CI/CDにはCLI、カスタムワークフローにはREST APIを。チームがすでに使用しているツールにbetter-i18nを統合しましょう。
インテグレーション:better-i18nを開発スタックに接続する
better-i18nはAPIファーストで構築されています。すべての機能にプログラムからアクセスでき、プラットフォームは開発者が日常的に使用するツールと直接統合されます。コードにはGitHub、生産性にはAIアシスタント、自動化にはCI/CD、ランタイムにはフレームワークSDKです。
GitHub
リポジトリとbetter-i18n間の双方向同期:
- インバウンド同期 — プッシュイベントがWebhook経由で翻訳ファイルの自動インポートをトリガーします
- アウトバウンド同期 — 公開された翻訳がプルリクエストとしてリポジトリに送られます
- ファイルパターン — 同期するパスを設定します(例:
locales/**/*.json) - 最小限の権限 — 翻訳ファイルの読み取り/書き込みのみ、プッシュイベント用Webhookのみ
GitHub統合により、クラウドプロジェクトとリポジトリを手動操作なしで同期させることができます。翻訳PRのマージコントロールは完全に維持されます。
AIアシスタント(MCP)
2つのMCPサーバーがAIツールを翻訳ワークスペースに直接接続します:
| パッケージ | ツール数 | 目的 |
|---|---|---|
@better-i18n/mcp | 11ツール | 翻訳管理 — キー、翻訳、公開 |
@better-i18n/mcp-content | 17ツール | コンテンツ管理 — モデル、エントリ、ローカライズされたコンテンツ |
対応AIツール
| ツール | 接続方法 |
|---|---|
| Claude (claude.ai) | Remote MCP URL: https://mcp.better-i18n.com/mcp |
| ChatGPT | Remote MCP URL: https://mcp.better-i18n.com/mcp |
| Gemini | Remote MCP URL: https://mcp.better-i18n.com/mcp |
| Cursor | ローカル: npx @better-i18n/mcp |
| Claude Code | ローカル: npx @better-i18n/mcp |
| Windsurf | ローカル: npx @better-i18n/mcp |
| Zed | ローカル: npx @better-i18n/mcp |
AIアシスタントはキーの作成、コンテンツの翻訳、用語集の管理、保留中の変更のプレビュー、公開を自然言語ですべて行えます。
CLI
@better-i18n/cliは開発ワークフローに統合されます:
スキャン:ハードコードされた文字列の検出
npx @better-i18n/cli scan --ci
React/Next.jsコード内の未翻訳テキストを見つけます。useTranslations()、getTranslations()、JSXテキスト、属性に対応しています。
同期:ローカルとクラウドの比較
npx @better-i18n/cli sync --format json
コードには存在するがクラウドにないキー(不足)と、クラウドにあるがコードで使われていないキー(未使用)を表示します。
CI/CD統合
# GitHub Actions
- run: npx @better-i18n/cli scan --ci # ハードコード文字列のあるPRをブロック
- run: npx @better-i18n/cli sync --format json # 翻訳カバレッジを監査
# pre-commitフック
npx husky init
echo "npx @better-i18n/cli scan --staged --ci" > .husky/pre-commit
REST API
すべての翻訳管理操作へのフルプログラマティックアクセス:
Base URL: https://dash.better-i18n.com/api
Auth: Authorization: Bearer your-api-key
| エンドポイント | 説明 |
|---|---|
listProjects | 組織内のすべてのプロジェクトを一覧表示 |
getProject | プロジェクト詳細、言語、ネームスペースを取得 |
listKeys | 検索、ネームスペース、ステータスフィルターでキーを検索 |
createKeys | ソーステキストと翻訳付きでキーを作成 |
updateKeys | 既存キーの翻訳を更新 |
deleteKeys | 未使用キーをソフト削除 |
addLanguage | プロジェクトにターゲット言語を追加 |
APIキーはダッシュボードで作成し、特定のプロジェクトにスコープし、即座に失効させることができます。
コンテンツSDK
ローカライズされたコンテンツを取得するためのSupabaseスタイルのクエリビルダー:
import { createClient } from "@better-i18n/sdk";
const client = createClient({
project: "your-org/your-project",
apiKey: process.env.BETTER_I18N_CONTENT_API_KEY,
});
const { data, total } = await client
.from("blog-posts")
.eq("status", "published")
.language("fr")
.order("publishedAt", { ascending: false })
.limit(20);
依存関係なし、TypeScriptで完全に型付け、あらゆるJavaScriptランタイムで動作します。
フレームワークSDK
| フレームワーク | パッケージ | ランタイム |
|---|---|---|
| Next.js (App Router & Pages) | @better-i18n/next | サーバー + クライアント |
| TanStack Start | @better-i18n/use-intl | SSR + クライアント |
| Vite + React | @better-i18n/use-intl | クライアント |
| Expo (React Native) | @better-i18n/expo | クライアント + オフライン |
すべてのSDKは同じCDNエンドポイントとネームスペース構造を使用しています。WebアプリとモバイルアプリはTranslationの唯一の真実のソースを共有します。
CDN
翻訳はCloudflareのエッジネットワークから配信されます:
https://cdn.better-i18n.com/{org}/{project}/{locale}/{namespace}.json
- 世界中で100ms未満の配信(300以上のエッジロケーション)
- 更新は公開後数秒以内に伝播します
- 翻訳変更のためのアプリ再デプロイ不要
- 言語ディスカバリーのためのマニフェストエンドポイント
カスタム統合
REST APIとコンテンツSDKにより、あらゆるシステムとのカスタム統合が可能です:
- 内部ツール — 管理パネルに翻訳管理を組み込む
- 自動化ワークフロー — イベントパイプラインから翻訳をトリガー
- カスタムダッシュボード — 翻訳メトリクスをアナリティクスに取り込む
- コンテンツパイプライン — ローカライズされたコンテンツをCMSに統合
ダッシュボードで利用可能なすべての操作はAPIからも利用できます。HTTPリクエストを送れれば、better-i18nと統合できます。
はじめに
- GitHub — プロジェクト設定でリポジトリを接続します
- MCP — AIツールの設定に
npx @better-i18n/mcpを追加します - CLI —
npm install -D @better-i18n/cli - API — dash.better-i18n.com/settings/api-keysでAPIキーを生成します
すべての統合は無料プランを含むすべてのプランで利用可能です。