複数形ルールの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 | すべての言語(必須) |
複数形キーのベストプラクティス
- 常に
other形を含める -- すべての言語で必須のフォールバック - 数値をハードコードしない --
{{count}}補間を使用 - 空の状態に特別なテキストがある場合は
zeroを含める - 複雑な複数形ルールの言語でテスト -- アラビア語、ポーランド語、ロシア語
- 新規プロジェクトにはICU MessageFormatを使用 -- すべてのカテゴリを処理
ユースケース
複数形のバグはi18nで最も目に見える問題の一つです。不足する複数形により、本番環境で「1 items」や「0 item」のような文字列が表示されます。適切に構造化された複数形キーにより、翻訳者が言語に必要なすべての形を提供し、i18nライブラリが実行時に正しい形を選択することが保証されます。