一般に、変換メソッドはキー>値マッピングを使用し、そのキーを値に変換するためにキーを使用します。今私は、あなたの翻訳キーの名前を付けるための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
のようなキーを使用することで解決されますが、フレーズは完全にコンテキスト外です。抽象的な変換キーのリストは膨大なものになります。その使用方法を説明するすべてのキーのメタデータが必要であり、衝突がより簡単に発生する可能性があります。
どちらの世界でも最高の方法がありますか?あなたのアプリケーションでどのように翻訳キーを使用しますか?私たちの場合、それはPHPベースのWebアプリケーションですが、上記の問題は一般的にi18nについて話すには十分一般的だと思います。
興味深い質問です。私は#1も好む傾向がありますが、状況がそれを正当化するとハイブリッドになります。 –
私はもちろん、英語(または元の言語)の項目が常に存在することを要件として#2を好む。各レコードには、変更されたメッセージや更新された翻訳の必要性を示すために最後に更新された日時も含まれていなければなりません。それとは別に、元の言語が何であるかを示すレコードを格納する必要があります。 –