複数形ルールのi18nキー命名

言語間の複数形に対応するi18n翻訳キーの構造化方法を学びます。ICU MessageFormat、CLDR複数形カテゴリ、react-i18next、vue-i18n、Railsのライブラリ固有パターンをカバーします。

Key Types

詳細な説明

複数形のi18nキー命名

複数形はi18nの最も複雑な側面の一つです。英語には2つの形(単数と複数)がありますが、アラビア語には6つ、ロシア語には3つ、日本語にはありません。

CLDR複数形カテゴリ

Unicode CLDR(Common Locale Data Repository)は6つの複数形カテゴリを定義しています:

カテゴリ 英語の例 使用言語
zero 0 items アラビア語、ラトビア語、ウェールズ語
one 1 item ほとんどの言語
two 2 items アラビア語、ヘブライ語、スロベニア語
few 3 items チェコ語、ポーランド語、ロシア語
many 5 items アラビア語、ポーランド語、ロシア語
other 10 items すべての言語(必須)

複数形キーのベストプラクティス

  1. 常にother形を含める -- すべての言語で必須のフォールバック
  2. 数値をハードコードしない -- {{count}}補間を使用
  3. 空の状態に特別なテキストがある場合はzeroを含める
  4. 複雑な複数形ルールの言語でテスト -- アラビア語、ポーランド語、ロシア語
  5. 新規プロジェクトにはICU MessageFormatを使用 -- すべてのカテゴリを処理

ユースケース

複数形のバグはi18nで最も目に見える問題の一つです。不足する複数形により、本番環境で「1 items」や「0 item」のような文字列が表示されます。適切に構造化された複数形キーにより、翻訳者が言語に必要なすべての形を提供し、i18nライブラリが実行時に正しい形を選択することが保証されます。

試してみる — i18n Key Generator

フルツールを開く