後でローカライズされるメッセージを永続化する「標準的な」方法を知っているかどうかを尋ねます。これにはメッセージパラメータも含まれることに注意してください。たとえば、リソース バンドルにコード「msg1」と 1 つのパラメーターを含むメッセージがあります。
msg1 = Hello {0}
メッセージをオブジェクトに関連付け、永続化したい。後で、さまざまなクライアントがさまざまな言語設定でオブジェクトを要求します。
obj.setDisplayMsg(msgSource.getMessage("msg1", "World", locale))
私は想像できます:
- メッセージ コードとパラメーターを含む最上位オブジェクトとしてメッセージを格納します。私はパフォーマンスを恐れています - 翻訳なしの単純なエラーメッセージの場合、別のテーブルに別のオブジェクトを持つことは、単一の varchar 列よりもはるかに悪いように思えます。
- メッセージコードとそのパラメーターを文字列表現でエンコードし、休止状態のカスタムタイプマッピングを使用する
- でも、もう(できれば春に)解決してるからやり直さなくていいんじゃない?
ありがとう
更新: 現在、途中でいくつかのことを行っています。メッセージをシリアライズされたメッセージ オブジェクトとして、マップされたテーブル内の単一の列に格納しています。私はまだ完全に満足しています.データベースで直接データを表示することはできません.