thymeleafとspring 4で書かれている既存のアプリケーションをローカライズする必要があります。 静的コンテンツの場合、messages_FR.propertiesおよびmessages_ES.propertiesの作成と従来のSpring i18n戦略がうまく機能します。spring/thymeleaf i18nデータベースコンテンツ
この問題は、動的コンテンツ(データベースレコードに格納されています)に起因します。 コンテンツの以前のバージョンはth:text="${product.title}"
で表示されています。今
データベースの内容
は、私は2つの追加の行を持っているテーブル 製品と行 タイトルためので、LANGの接尾辞を持つフィールドを複製してローカライズされています title_ESと title_FR、今このディスプレイを作成する必要があります、すなわちフランス語のローカルの場合はth:text="${product.title_FR}"
などを使用する必要があります。th:text=${@beans.i18n(product.title)}
このようなロジックを実装するために推奨される方法は何ですか?
何か助けていただければ幸いです。
あなたはどういう意味だったのですか?以前のバージョンのコンテンツはth:text = "$ {product.title}"で表示されていましたが、このディスプレイをローカルにする必要があります。それがデータベースにある場合は、どのようなローカリゼーションを話していますか? – sanluck
申し訳ありませんが、あまり正確ではありません。私は投稿を更新しました。はい、**ローカル固有の**データがDBに格納されていて、** i18n **関連のロジックを既存の**ビュー**に実装する方法を尋ねていました。 – Yev
この洗練された決定のために、あなた自身の方言でThymeleafを拡張する必要があると思います。データベースに追加の列 'ローカリゼーション'を作成し、より高いレベルでローカライズを聞く方がよいとします。 – sanluck