メインコンテンツへスキップ

UI 文字列と i18n

UI 文字列は 製品コンテンツ の翻訳とは別です。製品コンテンツは、ツアー、タイル、イベントなどの作成されたレコードと共に存在します。ボタン、ナビゲーション、エラーを含むアプリケーションのクロム(外枠部分)は、実行時に解決される キー付き翻訳 として提供されます。

ランタイム読み込み

ロケール JSON ファイルは 名前空間 (例:共有クロム、ダッシュボード専用文字列、ゲストアプリ文字列)ごとにグループ化されます。ローダーは、アクティブなロケールに関連するバンドルを取得し、デプロイメントが古いロケールコードを引き続きマッピングしている場合は、レガシーエイリアスをマージします。

バンドルが読み込めなかった場合、UI はキーを可視的に表示してフォールバックするため、ページがクラッシュするのではなく、QA 中に欠落している翻訳が表面化します。

名前空間

名前空間はペイロードを小さく保ちます。

  • どこでも再利用される共有の基本。
  • ダッシュボード固有のコピー。
  • ゲストアプリ固有のコピー。
  • 分割パッケージングがパフォーマンスに役立つ場合の、マーケティングまたはランディング固有のバンドル。

コピーの追加

安定したキーを宣言し、ローカライズされた React アプリの t("settings.section.label") のように、サーフェスの翻訳ヘルパーを通じて解決します。動的なキー構築を避けることで、静的抽出が文字列を見つけられるようになります。

ガイドラインチームが内部的に従うこと:

  • 動的にキーを構築しないでください—静的解析ではリテラルキーを確認する必要があります。
  • 翻訳されたフラグメントを連結するのではなく、補間プレースホルダーを優先してください。
  • 性別ニュートラルな言葉遣いを維持してください。
  • ドイツ語のコピーでは、インフォーマルな直接的な呼びかけを避けて、オーディエンス全体でトーンをニュートラルに保ちます。

ワークスペースの自動化はリポジトリをスキャンし、不足しているキーを提案し、ロケールバンドルを同期します—詳細はエンジニアリングのオンボーディングに属し、この公開参照には属しません。

UI コピーと製品コンテンツの比較

  • 公開ページでゲストが読むオペレーター作成の値 → 製品翻訳 ワークフロー。
  • アプリケーション自体に属するラベル → 明示的なキーを持つ UI 文字列 ワークフロー。
  • 混合文は、UI 翻訳で固定された文法を維持し、作成された名前または数値を変数として渡す必要があります。

関連概念: 翻訳の仕組み自動翻訳言語とローカライゼーション