locli について
locliは、iOS、Android、Web、バックエンドの表示テキストを管理する、コーディングエージェント向けのローカライズ用CLIです。新しいテキストの送信、リリースの承認、承認済み翻訳の取得に対応し、MCPサーバーも備えています。
主な機能
- 01カタログ検出と設定ファイル作成
- 02既存テキストを上書きせず不足分を送信
- 03承認済み翻訳リリースの取得
- 04未翻訳項目と用語の問題を確認
- 05テキスト管理用MCPツールの提供
活用シーン
- 01マルチプラットフォームアプリのローカライズを初期化
- 02翻訳と承認に向けて新しいテキストを送信
- 03承認済み翻訳をプロジェクトファイルに反映
MCP 対応
stdioでMCPサーバーを起動でき、ステータス、テキスト検索・追加、push、pull用のツールを提供します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
npx -y @locli/cliLOCLI_TOKENシークレットlocli API token (CI). Locally, run `npx @locli/cli login` instead.LOCLI_CONFIGPath to locli.json (default: nearest locli.json from the working directory).LOCLI_API_URLlocli server (default: https://locli.dev).ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。
ツール
7掲載時のツール一覧 · 1 日前に更新
このツールにパラメーターはありません。
詳細
@locli/cli
アプリのユーザー向けテキストをlocliに登録できます。新しいテキストを
プッシュし、プロジェクトオーナーがリリースを承認したら、承認済みの翻訳をプルします。コーディングエージェント向けに構築されており、
iOS String Catalogs、Android strings.xml、Web およびバックエンド向けの
JSONなど、あらゆるスタックで動作します。Node 18以降、依存関係はありません。
npx @locli/cli init
initはテキストファイルを検出し、次の内容を書き込みます。
- プロジェクトのスラッグ、ソース言語、各カタログのターゲットを含む
locli.json AGENTS.md内のlocliブロック(既存のCLAUDE.md内には@AGENTS.md).agents/skills/locli/内のlocliエージェントスキル(.claude/skills/locli/からリンク)
ログイン済みの場合、initは言語とプラットフォームを設定してプロジェクトも作成します。
再実行しても安全です。
ログイン
npx @locli/cli login
loginを実行するとブラウザーが開きます。サインインするか、無料アカウントを作成して、CLIを承認します。
トークンはサーバーごとに~/.config/locli/credentials.jsonに保存され、読み取り可能なのは自分だけです。
CIでは、代わりにLOCLI_TOKENを設定してください。whoamiでアカウントを表示し、logoutで
トークンを取り消せます。
ワークフロー
- ソース言語のファイルに、コメントを添えて
receipt_import_titleなどの新しいキーを追加します。 npx @locli/cli pushを実行すると、locliにないものだけがアップロードされます。既存の テキストが上書きされることはありません。Gitのフィーチャーブランチからの新しいキーはフィーチャーとしてまとめられます。- プロジェクトオーナーがlocliのWebアプリでリリースを承認します。
npx @locli/cli pullを実行すると、最新の承認済みリリースがファイルに書き込まれます。
locli.json
{
"project": "example-app",
"sourceLanguage": "en",
"targets": [
{ "platform": "ios", "format": "xcstrings", "path": "App/Localizable.xcstrings" },
{ "platform": "android", "format": "android-xml", "path": "app/src/main/res" },
{ "platform": "web", "format": "json", "path": "messages/{locale}.json" }
]
}
各ターゲットにはplatform(ios、android、webまたはbackend)、format、および
pathがあります。パスはlocli.jsonからの相対パスです。
- Androidターゲットでは
fileを任意で指定できます。デフォルトはstrings.xmlです。 - JSONターゲットではパスに
{locale}が必要で、keyPrefixを任意で指定できます。 apiURLは任意です。デフォルトはhttps://locli.devです。
JSONスキーマは@locli/cli/schema/locli.jsonとして同梱されています。
コマンド
| コマンド | 効果 |
|---|---|
login [--no-browser] / logout / whoami [--json] | ブラウザーでCLIを承認する、トークンを取り消す、アカウントを表示する |
init [--name] [--slug] [--source LANG] [--target platform:format:path]… [--yes] [--no-agent-files] | カタログを検出し、設定とエージェントファイルを書き込み、プロジェクトを作成する |
push [--dry-run] [--branch B] [--target platform] | 不足しているキーと値をアップロードする。上書きはしない |
pull [--draft] [--release NAME] [--target platform] | 最新の承認済みリリース(または指定したリリース)を書き込む |
status [--json] | 言語、不足している翻訳、未完了のフィーチャー、未リリースの変更、用語集の問題を表示する |
areas [--feature NAME] [--json] | フィーチャー領域を一覧表示するか、新しいフィーチャーのテキストが属する領域を検索する |
guide [--json] [--set FILE] | 翻訳ガイド(トーン、用語集)と、それに反するテキストを表示する。--setで置き換える |
mcp | stdioでMCPサーバーを起動する |
すべてのコマンドで--api-url、--config、--helpを指定できます。終了コード:0は成功、1はエラー、
2は使用方法のエラーです。
環境変数:
LOCLI_TOKEN:CIで使用するAPIトークン。LOCLI_API_URL:サーバー。LOCLI_CONFIG:locli.jsonへのパス。LOCLI_BRANCH:検出されたブランチを上書きします。
MCP サーバー
MCP サーバーは7つのツールを提供します。
locli_statuslocli_areaslocli_guidelocli_find_textslocli_add_textslocli_pushlocli_pull
Claude Code:プラグイン(スキルとMCPサーバーをまとめたもの)をインストールするか、MCPサーバーのみを追加します。
/plugin marketplace add mariohahn/locli
/plugin install locli@locli
claude mcp add --scope project locli -- npx -y @locli/cli mcp
Cursor(.cursor/mcp.json)およびmcpServersを使用するその他のクライアント:
{ "mcpServers": { "locli": { "command": "npx", "args": ["-y", "@locli/cli", "mcp"] } } }
Codex(~/.codex/config.toml):
[mcp_servers.locli]
command = "npx"
args = ["-y", "@locli/cli", "mcp"]
既知の制限
- マークアップ(
<b>、<a>など)を含むAndroid文字列は、プッシュ時にスキップされ、プル時もそのまま残ります。 - JSON:
countまたはargNに対するトップレベルのICU複数形のみが複数形キーになります。それ以外の ICUメッセージはプレーンテキストとしてプッシュされます。 - JSON:文字列以外の値は警告とともにスキップされます。
エージェントガイド:https://locli.dev/docs/agents.md · ライセンス:MIT
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。