エラーメッセージとバリデーションの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
ユーザーフレンドリーなエラーメッセージ
- 何が起きたかを説明 -- 単なる「エラー」ではなく、何が失敗したか
- 修正方法を提案 -- 次に何をすべきかをユーザーに伝える
- 技術的な専門用語を避ける
- 文法的に完全な文にする -- 翻訳者はすべての言語で正しい文法が必要
ユースケース
エラーメッセージキーは、新しいバリデーションルールやAPIエンドポイントが追加されるたびに更新される、最も頻繁に更新される翻訳の一つです。適切に構造化されたエラーキー階層により、既存の翻訳を壊すことなくエラーメッセージの検索、更新、追加が容易になります。