私は 20 人以上の開発者がいるチームの一員です。各開発者は個別のモジュール (10 モジュール近く) で作業します。各モジュールには、少なくとも 50 個の CRUD フォームがある可能性があります。これは、現在、500 個近くの追加ボタン、保存ボタン、編集ボタンなどがあることを意味します。
ただし、アプリケーションをグローバル化する必要があるため、アプリケーションでテキストを翻訳できる必要があります。たとえば、フランスのユーザーにとってはどこでもaddという単語がajouterになるはずです。
これまでに行ったことは、UI またはプレゼンテーション層の各ビューに対して、翻訳のキーと値のペアのディクショナリがあることです。次に、ビューをレンダリングしながら、この辞書を使用して必要なテキストと文字列を翻訳します。しかし、このアプローチでは、500 個の辞書に 500 個近くの辞書が追加されるようになりました。これは、DRY プリンシパルに違反したことを意味します。
一方、addを 1 か所に配置するなど、共通の文字列を集中化して、開発者にどこでも使用するように依頼すると、集中化された辞書に文字列が既に定義されているかどうかわからないという問題が発生します。
もう 1 つのオプションは、翻訳辞書を持たず、Google 翻訳や Bing Translator などのオンライン翻訳サービスを使用することです。
私たちが遭遇したもう 1 つの問題は、プロジェクトを予定どおりに納品するというストレスにさらされている一部の開発者が、翻訳キーを覚えていないということです。たとえば、追加ボタンのテキストについて、ある開発者はaddを使用し、別の開発者はnewなどを使用しました。
アプリケーションの文字列リソースのグローバリゼーションとローカリゼーションのベスト プラクティス、または最もよく知られている方法は何ですか?