エラーメッセージとバリデーションのi18nキー命名

エラーメッセージ、フォームバリデーション、APIエラー、ユーザー向け警告のi18n翻訳キー構造化規則。補間を使った動的エラーメッセージのパターンを含みます。

Key Types

詳細な説明

エラーメッセージのi18nキー命名

エラーメッセージは動的な値(フィールド名、制限値、カウント)を含むことが多く、開発者と翻訳者の両方にとって明確である必要があるため、慎重なキー命名が求められます。

エラーキー構造

推奨構造はエラーをカテゴリ別に分離します:

{
  "errors": {
    "validation": {
      "required": "{{field}}は必須です。",
      "min_length": "{{field}}は{{min}}文字以上である必要があります。",
      "email_format": "有効なメールアドレスを入力してください。"
    },
    "api": {
      "network_error": "接続できません。インターネット接続を確認してください。",
      "server_error": "問題が発生しました。後でもう一度お試しください。",
      "unauthorized": "セッションが期限切れです。再度ログインしてください。"
    }
  }
}

動的補間

ほとんどのi18nライブラリは補間プレースホルダーをサポートしています:

  • react-i18next: {{variable}}
  • vue-i18n: {variable}
  • next-intl: {variable}
  • Rails I18n: %{variable}
  • Django gettext: %(variable)s

ユーザーフレンドリーなエラーメッセージ

  1. 何が起きたかを説明 -- 単なる「エラー」ではなく、何が失敗したか
  2. 修正方法を提案 -- 次に何をすべきかをユーザーに伝える
  3. 技術的な専門用語を避ける
  4. 文法的に完全な文にする -- 翻訳者はすべての言語で正しい文法が必要

ユースケース

エラーメッセージキーは、新しいバリデーションルールやAPIエンドポイントが追加されるたびに更新される、最も頻繁に更新される翻訳の一つです。適切に構造化されたエラーキー階層により、既存の翻訳を壊すことなくエラーメッセージの検索、更新、追加が容易になります。

試してみる — i18n Key Generator

フルツールを開く