機能

better-i18n 翻訳 Version Control:完全な履歴と Rollback

すべての変更を追跡し、誰が何を変更したかを確認し、以前のバージョンにすぐに Rollback できます。

better-i18n 翻訳 Version Control:完全な履歴と Rollback

アプリケーションのコードは Git で管理されています。すべての変更が追跡され、すべての行に作成者が記録され、すべてのバージョンを数秒で復元できます。問題のある Commit が本番環境に反映された場合は Rollback し、関数がなぜそのように書かれたかを知りたい場合は Commit 履歴を参照します。

翻訳も同じ扱いを受けるべきです。しかし、ほとんどのローカライゼーションプラットフォームでは、履歴は後付けの機能です。基本的な変更ログがあるだけで、検索機能は限られており、差分ビューもなく、Rollback もできません。本番環境で翻訳に問題が発生すると、チームは何が変わったか・いつ・なぜを把握するために何時間も費やし、さらに以前のバージョンを手動で復元するためにさらに多くの時間を使います。

better-i18n では、翻訳の Version Control を第一級の機能として扱います。すべての文字列に対するすべての変更が、完全な差分・タイムスタンプ・変更を加えたコントリビューターのアイデンティティとともに記録されます。以前のバージョンへの Rollback はワンクリックで完了します。完全な履歴はクエリ可能、検索可能であり、API 経由でもアクセスできます。

仕組み

保存のたびに自動バージョニング

better-i18n で翻訳文字列が変更されるたびに — Web エディター、CLI ツールMCP インテグレーション、または API 経由にかかわらず — 新しいバージョンが自動的に作成されます。バージョンは言語ごとに独立して作成されるため、ドイツ語翻訳を変更しても、フランス語バージョンには影響しません。

バージョンは変更を加えた人物に関係なく作成されます。人間の翻訳者、MCP 接続を通じて動作する AI アシスタント、CLI を使用した自動一括更新スクリプト — これらすべてがバージョン化された履歴を生成します。記録を残さずに翻訳を変更する方法はありません。

各バージョンに記録される内容

各バージョンレコードには以下が含まれます:

  • タイムスタンプ: バージョンが作成された正確な時刻(UTC)。
  • 作成者: 変更を加えたユーザーまたはサービスのアイデンティティ。人間ユーザーの場合は名前とプロフィール、API または CLI 操作の場合は API トークン識別子。
  • 変更前後のコンテンツ: 変更前後の翻訳の全テキスト。完全な差分ビューを可能にします。
  • ステータス遷移: 文字列があるステータスから別のステータスに移行したかどうか(例:「進行中」から「レビュー提出済み」、または「承認済み」から「要修正」)。
  • 変更メモ: 作成者が付けるオプションのメッセージ。Commit メッセージに似ています。コラボレーションワークフローでは、レビュアーのフィードバックに基づいて修正を加える際に変更メモを追加することを推奨しています。
  • QA チェック結果: バージョン作成時の文字列の QA ステータス。品質保証エンジンから取得され、後の参照のためにバージョンとともに保存されます。

履歴の表示

任意の文字列の履歴パネルには、すべてのバージョンが新しい順に表示されます。各エントリには作成者・タイムスタンプ・そのバージョン時のステータス・コンテンツ変更の簡潔な差分(追加された単語は緑、削除された単語は赤でハイライト)が表示されます。

任意のバージョンをクリックすると、その時点での完全なコンテンツが表示されます。差分だけでなく、そのバージョンが作成されたときに存在していた完全な文字列が表示されます。

履歴はプロジェクトレベルでも閲覧できます。プロジェクト内のすべての文字列に対するすべての変更のタイムラインを、言語・作成者・時間範囲・ステータス変更でフィルタリングして表示できます。これは監査、インシデント後のレビュー、翻訳アクティビティ全体のペースとパターンを把握するのに役立ちます。

Rollback

文字列を以前のバージョンに Rollback することはワンアクションで完了します。履歴パネルで任意のエントリの「このバージョンを復元」をクリックします。現在のコンテンツが選択したバージョンのコンテンツに置き換えられます。Rollback を記録する新しいバージョンが作成され、どのバージョンが復元され誰が Rollback を実行したかが記録されます。

Rollback は Editor と Admin が利用できます。翻訳者とレビュアーは履歴を表示できますが Rollback はできず、古いコンテンツの誤った・無許可の復元を防ぎます。

特定のタイムスタンプ時点の状態に言語全体を Rollback することもできます。これは、一括操作(用語更新、AI アシスト一括翻訳)が多くの文字列にわたって予期しない結果をもたらした場合に役立ちます。各文字列を個別に Rollback する代わりに、言語全体を操作前の状態に復元し、修正されたパラメーターで操作を再試行できます。

バージョンの比較

better-i18n の差分ビューは、行レベルではなく単語レベルです。翻訳文字列は通常、単一の文または短い段落です。行レベルの差分では、文字列全体が変更されたように見えることが多いです。単語レベルの差分では、追加・削除・並べ替えられた単語が正確に表示され、実際に何が変更されたかを非常に簡単に理解できます。

文字列の任意の 2 つのバージョンを比較できます — 隣接するバージョンだけでなく。履歴の 2 つのポイントを選択すると、間にいくつの中間バージョンがあるかにかかわらず、それらの間の差分が表示されます。

タグ付けとリリーススナップショット

アプリケーションの新しいバージョンをデプロイする際に、翻訳の現在の状態にリリースラベルでタグを付けることができます:

bi18n tag --name v2.5.0 --message "Release 2.5.0 translations"

これにより、現在承認済み状態のすべての翻訳のスナップショットが作成されます。後で任意のリリースタグ時の文字列の状態をクエリしたり、リリース間の翻訳を比較したり、必要に応じて過去のリリース時の状態に個々の文字列を復元したりできます。

リリースタグはアナリティクスダッシュボードで表示され、各タグ付きリリースに紐づいたカバレッジと品質メトリクスが示されます。

監査エクスポート

規制業界やコンプライアンス要件のために、プロジェクトまたは特定の時間範囲の完全な変更履歴を構造化された CSV または JSON ファイルとしてエクスポートできます。エクスポートには、すべての言語のすべての文字列に対するすべてのバージョンレコードが含まれ、変更前後の完全なコンテンツと帰属データが含まれます。

このエクスポートは、コンプライアンスレポートへの添付、外部監査レビュー、またはアーカイブ目的に適しています。

主なメリット

完全な説明責任

チーム翻訳環境では、時として問題が発生します。請負業者が慎重に承認された文字列を上書きする。自動スクリプトが誤った用語変更を適用する。レビュアーが壊れたプレースホルダーを含む文字列を承認する。

すべての変更が帰属情報とタイムスタンプとともに記録されていると、「何が起きたか」という質問に常に答えられます。誰がいつ変更を加え、変更前のコンテンツが何だったかを正確に把握できます。これは Git がコード変更に対して提供する説明責任と同じ意味での説明責任です。

迅速なインシデント復旧

翻訳の問題が本番環境に到達したとき — JavaScript エラーを引き起こす壊れたプレースホルダー、誤訳された法的免責事項、完全に誤った文字列 — 迅速な修正が必要です。Version Control がなければ、問題のある翻訳を修正することは、古いバージョンを見つけ(どこにも存在しない可能性がある)、復元し、再公開し、再デプロイすることを意味します。

better-i18n の Version Control を使えば、復旧は:文字列を見つけ、履歴を開き、「復元」をクリックし、公開し、デプロイをトリガーするだけです。操作全体が 2 分以内に完了します。CLI ツールを使えば、復元された翻訳を即座に取得して迅速なデプロイメントが可能です。

安全な一括操作

一括操作 — 用語更新、AI 一括翻訳、リブランド文字列置換 — は強力ですがリスクがあります。一括操作が誤った結果をもたらした場合、元に戻す方法が必要です。better-i18n の Version Control は、操作によって変更されたすべての文字列の以前の状態が記録され復元可能であることを保証することで、一括操作を安全にします。

大規模な一括操作を実行する前に、現在の状態を安全チェックポイントとしてタグ付けできます。操作が失敗した場合、チェックポイントに復元します。

コード Version Control との統合

better-i18n での翻訳 Version Control は、コードベースの Git ベースの Version Control を置き換えるのではなく、補完するように設計されています。Git と同じバージョン番号で better-i18n のリリースにタグを付けると、そのリリース時のコードの状態と翻訳の状態の間に永続的なリンクが作成されます。両方を関連付けられると、リリース後のデバッグが非常にクリーンになります。

CLI ツールはデプロイメントパイプラインの一部としてタグを自動的に作成することをサポートしているため、コードと翻訳バージョン間のリンクは手動の作業なしに維持されます。

コンプライアンスと監査対応

規制業界の製品では、コンテンツ変更の履歴を示すことがコンプライアンス要件であることが多いです。法律技術・フィンテック・医療・政府のソフトウェア製品は、ユーザー向けテキスト(翻訳バージョンを含む)が特定のロールによって特定の時刻にレビューおよび承認されたことを示す必要があることが頻繁にあります。

better-i18n のバージョン履歴は、このエビデンスをすぐに提供します。監査エクスポートは、監査人に提出したりコンプライアンスレポートに組み込んだりできる機械可読なレコードを生成します。

ユースケース

リリース後インシデント対応: ドイツ語ユーザーが、支払い確認メッセージに実際の金額ではなく生の変数名が表示されていると報告します。支払い確認文字列のドイツ語翻訳のバージョン履歴を検索し、昨日自動スクリプトによってプレースホルダーが誤って削除されたことを発見し、最後の既知の良いバージョンに Rollback して、再デプロイをトリガーします。

リブランドレビュー: 会社がリブランドし、すべての翻訳にわたって主要な製品名を変更します。一括更新後、ステークホルダーが新しい名前が不整合に使用されていることに気づきます。履歴ビューを使用して現在の状態とリブランド前のスナップショットを比較し、まだ更新が必要な文字列を特定して修正します。

請負業者監査: 外部翻訳請負業者の契約が終了します。アクセスを失う前に、彼らが管理していた言語の完全な変更履歴をエクスポートします。エクスポートには、彼らが作成または変更したすべての文字列がタイムスタンプと QA ステータスとともに表示され、彼らの貢献の永続的な記録を提供します。

法的保留: 法務チームが、過去 12 ヶ月間に利用規約翻訳文字列に加えられたすべての変更の記録を要求します。文字列カテゴリと時間範囲で履歴をフィルタリングし、結果を PDF 対応レポートとしてエクスポートします。

翻訳メモリの復元: 新しい翻訳者が言語を一括編集中に、承認済みの 40 の文字列を誤って上書きします。言語全体を昨日の午後の状態に復元し、何も再翻訳することなく承認済みの作業をすべて復旧します。

better-i18n が Version Control を実装する方法

better-i18n の翻訳バージョンは不変レコードとして保存されます。一度バージョンが書き込まれると、変更されることはありません。Rollback は過去のレコードを変更しません — 復元されたコンテンツで新しいバージョンを作成します。履歴は追記のみのログです。

差分アルゴリズムは、コードではなく自然言語テキスト向けに適応された Myers diff アルゴリズムに基づく単語レベルの差分です。文の再構成・単語の並べ替え・部分的な単語の変更を、非技術ユーザーにも差分を読みやすくする方法で処理します。

バージョンストレージは効率的です。すべてのバージョンの完全なコンテンツを保存するのではなく、最初のバージョンには完全なコンテンツを、後続のバージョンには差分を保存します。完全なコンテンツは、差分チェーンを適用することで読み取り時に再構築されます。このアプローチにより、長い履歴と多数の言語を持つプロジェクトのストレージ要件が管理可能に保たれます。

バージョン履歴 API はページネーションとフィルタリングをサポートしており、データセット全体を一度に読み込むことなく、大規模プロジェクトの履歴をプログラムで取得することが実用的です。

代替手段との比較

Phrase Version History: Phrase はバージョン履歴を保存しますが、Rollback 機能は限られています。Rollback には、ワンクリック復元ではなく、以前のコンテンツの手動再入力が必要です。better-i18n は完全な差分比較を備えた真のワンクリック Rollback を提供します。

Lokalise Version Control: Lokalise には文字列ごとの変更履歴が含まれますが、一括言語レベルの Rollback は利用できません。better-i18n は文字列レベルと言語レベルの両方の Rollback をサポートしています。

Git 管理の翻訳ファイル: 翻訳ファイルを Git に保存すると、Git コマンドによる完全な履歴と Rollback が得られますが、非技術チームメンバーがコントリビューションやレビューから除外されます。JSON ファイルのマージコンフリクトはエラーが発生しやすいです。better-i18n は Git の Version Control のメリットを、全員がアクセスできるワークフローで提供します。

Version Control なし: 多くのローカライゼーションプラットフォームとカスタム実装には意味のあるバージョン履歴がありません。何か問題が発生した場合、復旧は手動で時間がかかります。これが better-i18n が置き換えようとしている現状です。

よくある質問

バージョン履歴はどのくらいの期間保持されますか? バージョン履歴はすべてのプランで無期限に保持されます。古いバージョンの自動削除はありません。

非常に古い — 数年前の — バージョンを復元できますか? はい。履歴内の任意のバージョンは、年齢に関係なく復元できます。復元されたコンテンツが現在のバージョンになり、復元を記録する新しいバージョンレコードが作成されます。

Rollback は公開済みの文字列に影響しますか? Rollback は、文字列のコンテンツとステータスを選択したバージョン時の状態に復元します。選択したバージョンが「承認済み」ステータスであった場合、Rollback された文字列は「承認済み」ステータスを持ち、公開できます。「進行中」ステータスであった場合、Rollback された文字列は「進行中」ステータスを持ちます。Rollback は自動的に何も公開しません — 公開ステップは依然として必要です。

監査エクスポートはコンプライアンス目的で有効ですか? 監査エクスポートは、帰属情報を含むすべての変更の完全なタイムスタンプ付きレコードを提供します。これが特定のコンプライアンスフレームワークにとって十分かどうかは、フレームワークの要件によって異なります。必要なドキュメントのレベルについては、コンプライアンスチームに相談することをお勧めします。

削除された文字列の履歴を表示できますか? はい。削除された文字列とその履歴はアーカイブ状態で保持されます。削除された文字列を検索してその完全な履歴を表示できます。削除された文字列は、文字列キーを再作成しないとアクティブステータスに復元できません。

二度と翻訳を失わない

翻訳の Version Control は贅沢品ではありません — ローカライゼーションを真剣に考えるすべてのチームにとって安全要件です。better-i18n はすべての変更を記録し、履歴を可視化・検索可能にし、問題が発生したときに即座の Rollback を可能にします。

無料トライアルを開始して、初日からすべての翻訳の完全な履歴を確認してください。

さらに探す

Translation Sync Engine — better-i18nのローカリゼーションパイプラインのための信頼性の高い非同期処理

ソースコード、翻訳、CDNを完全に同期させる信頼性の高い非同期翻訳パイプライン — 競合検出、Activity Logging、ゼロデータロスを備えています。

better-i18n Doctor:自動化された翻訳品質モニタリング

コードベースの不足した翻訳、オーファンキー、プレースホルダーの不一致をスキャンします。コミットごとに0〜100のヘルススコアを取得できます。

エンタープライズ規模の翻訳管理のための better-i18n Batch Operations

1回の操作で数千件の翻訳を更新・公開・管理できます。better-i18n の Batch ツールは、エンタープライズ規模のボリュームも難なく処理します。

Developer Experience & Platform UX — better-i18nでスピードと喜びのために構築

すべてのインタラクションが意図的に設計されたDeveloper Experience — Command Paletteナビゲーション、Inline Editing、Auto-Sync、そしてすべてのワークフローに組み込まれたAI支援。

better-i18n メディア管理:ローカライズプロジェクト向けコンテンツアセット

翻訳と並行してメディアアセットをアップロード、整理、配信できます — プロフィール写真からコンテンツ画像まで、すべて超高速R2エッジストレージに保存されます。

better-i18n 翻訳チームのためのエンタープライズセキュリティ&コンプライアンス

エンタープライズグレードの認証、暗号化、コンプライアンス — コードから本番環境まで翻訳ワークフローを保護します。