誰か助けてくれませんか。Spring MVC と Webflow アプリをまとめており、すべての画面テキストなどをデータベースに基づくメッセージ リソース バンドルに入れたいと考えています。私はこれを問題なく簡単に実装しました。ただし、テキストのバージョン管理を含め、アプリケーションのホワイト ラベルをサポートする必要があります。
「ホワイト ラベル」とは、コア アプリケーションをさまざまな商用ブランド向けにブランド化する必要があることを意味します。ブランディングの css 要素は簡単です。Spring テーマを使用します。ただし、ブランディングはさまざまな画面テキストにまで及びます。たとえば、brandX は「What is your name」と尋ね、brandY は「Please enter your name」と尋ねる場合があります。
さらに、ブランドごとに画面テキストのバージョン管理をサポートする必要があります。これにより、一貫したユーザー ジャーニーと顧客へのメッセージが提供されます。たとえば、顧客が 1 日目に所定の画面ラベル セットを表示して見積もりを保存した場合、10 日目に見積もりを取得したときに同じ画面ラベル セットが表示されるはずです。 、その間にそのブランドの画面テキストが 5 回繰り返されたとしても。(実際には、変更の頻度はそれほど頻繁ではありませんが、それでもサポートする必要があります)
私はしばらくこれをいじっていましたが、初期の実験では、リソース バンドル内のメッセージ キーにプレフィックスを付けるだけでよいと考えていました。
brandX.firstName = What is your firstname?
brandY.firstName = Please enter your firstname
しかし、これはいくつかの点で間違っているように感じます。
- ブランドごとにビューを持たない限り (そうしなければならない場合があります)、ビューはモデルまたはテーマの何かに基づいて何らかの方法でプレフィックスを適用する必要があります。表示する適切なメッセージを選択するために、ビューがモデルについて知るのは間違っていると感じます
- バージョニングの適用方法がわかりません (複合キーに追加する以外は = brandX.firstname.v2 = あなたの名は?)
全体として、これはメッセージ リソース バンドルの目的ではないという結論に達しています。メッセージ リソース バンドルは、ロケール ベースの国際化に最適です (これが目的です!)。彼ら。解決策としてのメッセージ リソース バンドルは、私の要件には適していないように感じます。
他の誰かがこのようなことをしましたか? どのように解決していきましたか?
乾杯
ネイサン