ニズ

i18nTranslator

i18nTranslator は、多言語アプリケーションが生み出す JSON 言語ファイルの山を、進捗が追え、レビューでき、プレースホルダーが壊れないワークフローに変えます。インポートし、AI の支援で翻訳し、JSON・.po・PHP にエクスポート。GitHub のブランチへ直接コミットもできます。

装飾的なグラデーション背景
ライトモードの NIZU i18nTranslator 翻訳エディター

特徴

すべてのパッケージは NIZU のプロジェクト内に置かれるため、ソースファイル・ファイル履歴・権限はすでに使っているものがそのまま使えます。メールでやり取りする必要はなく、ワークスペースの外に出るものもありません。

表計算ではなくパッケージ

1 つのパッケージは 1 つのアプリケーションです。ソース言語、その対象言語、そして元になった JSON ファイル。入れ子のキーはドット区切りに平坦化され、エクスポート時に同じ形へ戻されます。

素早く進む翻訳グリッド

キーごとに 1 行、原文が翻訳欄のすぐ隣に並びます。ステータスで絞り込み、キーと本文をまとめて検索し、ショートカット 1 つで保存して次の未完了行へ移動できます。

主導権はあなたに残る AI 支援

絞り込んだ全体、あるいは選んだ数行だけを、ワークスペースの AI プロバイダーで翻訳できます。AI の結果は必ず下書きとして保存され、人が確認して初めて翻訳済みになります。

壊れないプレースホルダー

保存・AI の書き込み・インポートのたびに原文と照合されます。%1$s や {count}、<b> タグを失った訳文は、出荷されずに差し戻されます。

進捗とズレが一目でわかる

言語ごとに完了率とステータス別の内訳が表示されます。キーの原文が変わると、そのキーの既存訳はすべて自動的に「古い」と印が付きます。

3 つのエクスポート形式

往復用の JSON、翻訳ツールチェーン向けの gettext .po、そして PHP 言語ファイル。未翻訳のキーは既定で除外されるので、アプリはソース言語にフォールバックします。

双方向の GitHub 連携

リポジトリとブランチから言語ファイルを取得することも、変更されたすべての言語を 1 コミットで送ることもできます。リポジトリ側が先に変わっていた場合、プッシュは止まり、上書き前に確認を求めます。

JSON ファイルから翻訳済みリリースまで

4 ステップ。新しい文字列を出すたびに同じ流れを回すだけです。

1

インポート

.json 言語ファイルをプロジェクトの「ファイル」タブにアップロードし、ソース言語をインポートします。プレビューが、書き込む前に何が変わるかを正確に示します。

2

翻訳

対象言語を追加してグリッドを進めます。「未翻訳」タブから始めるか、AI に最初の下書きを任せてください。

3

レビュー

別の担当者が行を「レビュー済み」にします。変更履歴には、旧値・新値・書いた人、そして人・AI・インポート・GitHub のどれによるものかが残ります。

4

エクスポート

必要な言語の JSON・.po・PHP をダウンロードするか、一式をまとめて 1 コミットで GitHub ブランチへプッシュします。

NIZU

接続されたアプリ

プロジェクト

どのように接続されているか: すべてのパッケージはプロジェクトに属します。ソースファイルはプロジェクトの「ファイル」タブにあり、プロジェクトに入れない人は翻訳にも入れません。

アプリ

AI プロバイダー

どのように接続されているか: 翻訳はワークスペース共通の AI 基盤を通るため、OpenAI・Claude・Gemini・DeepSeek・Grok・Ollama が追加設定なしで動き、コストも個別に計測されます。

アプリ

単独で動くアプリはありません

i18nTranslator がつながる先はこちらです:

ライトモードの NIZU i18nTranslator ワークフロー図
  • 唯一の正となるプロジェクトファイル

  • 細かい権限のトークンによる GitHub の取得と送信

  • ワークスペース設定から使う共通 AI プロバイダー

  • 公開イベント向けの NizuEvents Webhook

  • ワークスペース自身の言語ファイルには一切手を触れません

ロールと権限

どのように接続されているか: 標準のロール編集画面に 4 つの権限:閲覧・翻訳・レビュー・管理。外部の翻訳者には翻訳の権限だけを渡せます。

チームメンバー

どのように接続されているか: 翻訳・ステータス変更・インポート・エクスポート・プッシュはすべて、履歴とアクティビティに実行者の名前とともに残ります。