翻訳ファイルのJSON vs YAML:どちらを選ぶべき?

翻訳ファイル形式としてのJSONとYAMLの詳細比較。可読性、マージコンフリクト、ツールサポート、型安全性、さまざまなプロジェクトタイプへの実践的な推奨事項をカバーします。

File Formats

詳細な説明

翻訳ファイルのJSON vs YAML

JSONとYAMLは、モダンWeb開発におけるi18n翻訳ファイルで最も人気のある2つの形式です。両方ともネスト構造をサポートし、i18nライブラリで広くサポートされていますが、重要な点で異なります。

翻訳用JSON

強み:

  • 厳格な構文で曖昧さを防止 -- 型変換の驚きなし
  • JavaScriptでのネイティブパース(JSON.parse
  • スキーマ検証付きの優れたIDEサポート

弱み:

  • コメントなし(翻訳者がメモを残せない)
  • 末尾のカンマでパースエラー
  • 多くの閉じ括弧で冗長

翻訳用YAML

強み:

  • コンパクト -- シンプルな値に括弧、クォート、カンマ不要
  • #でコメント -- 翻訳者のコンテキストに有用
  • |>演算子で複数行文字列

弱み:

  • 型変換:NOfalseに、1.0が数値に
  • 空白に依存しコピペにリスク

実践的推奨

プロジェクトタイプ 推奨形式 理由
React / Next.js / Vue JSON ネイティブJSサポート、型付きキー
Ruby on Rails YAML Rails規約、組み込みサポート
Python / Django PO(YAMLではない) gettextエコシステム
混合バックエンド + フロントエンド JSON 普遍的互換性

ユースケース

翻訳のJSON vs YAMLの決定は通常一度だけ行われ、プロジェクトのライフサイクル全体に影響します。新規プロジェクトを開始するチームは、選択前に両方の形式でキーを確認することで恩恵を受けます。

試してみる — i18n Key Generator

フルツールを開く