一般に、変換メソッドはキー > 値のマッピングを取り、キーを使用してそれを値に変換します。現在、翻訳キーに名前を付ける 2 つの異なる方法を認識していますが、私のチーム内では、どの方法が最善と思われるかについて合意に達していません。
方法 1: 完全な英語の単語または文を使用します。
Name => Name
Please enter your email address => Please enter your email address
方法 2: 状況を説明するキーワードを使用します。
NAME => Name
ENTER_EMAIL => Please enter your email address
個人的には、メッセージの意味を直接示す方法 1 を好みます。翻訳が存在しない場合は、キーにフォールバックできますが、これは問題を引き起こしません。ただし、翻訳が頻繁に変更される場合、すべてのファイルを更新する必要があるため、この方法は面倒です。また、テキストが長い場合、これらのキーは非常に大きくなります。これは のようなキーを使用することで解決されますENTER_EMAIL
が、言い回しは完全に文脈から外れています。抽象変換キーのリストは膨大になります。すべてのキーの使用方法を説明するメタデータが必要であり、衝突がはるかに簡単に発生する可能性があります。
両方の長所または 3 番目の方法はありますか? アプリケーションで翻訳キーをどのように使用しますか? 私たちの場合、それはphpベースのWebアプリケーションですが、上記の問題はi18n全般について話すのに十分一般的だと思います.