アプリケーション プロセス用の一連の Web ページ ウィザードを作成しています。ウィザードは 30 ページの長さです。4 種類のユーザーがいます。ユーザーのタイプに応じて、フォームの各ページに異なる静的テキストが表示される場合や、フォームの異なるフィールドが表示される場合があります。これは、4 ユーザー タイプ X 30 ページ = 合計 120 の Web ページです。4 つのウィザード UI の 85% は同じです。違いはページごと、ユーザー タイプごとに異なるため、一般的な 25 のウィザード ページと、各ユーザー タイプに固有の 5 つのウィザード ページを用意できるわけではありません。
30ページが4回重複しないようにコードを書こうとしています。私は grails テンプレートを使用しているので、ユーザー タイプに基づいて違いを引き出す 30 ページしかありません。私が思いついたアイデアの 1 つは、grails に組み込まれている国際化に便乗することでした。たとえば、Role_Finance の役割を持つユーザーがいる場合、そのウィザードは、messages.properties から表示するテキストを取得します。Role_Contractor のロールを持つユーザーがいる場合、別のロケール (スペイン語) を割り当てることができるので、ウィザードは messages_es.properties から別のテキストを取得しました。
これが grails の国際化の意図ではないことは理解していますが、これはクリーンなソリューションのように思えます。これは国際的なアプリケーションではないので、その機能が失われる心配はありません。以前にこのようなことをして、より良い解決策を見つけなければならなかった人はいますか?