1

Play2 での内部化はMessage.get("home.title")、言語ファイルで行うことができます。特定のヘッダーやリンクだけでなく、テキスト コンテンツでいっぱいのページを内部化するとどうなるでしょうか。

たとえば、製品情報などを表す長いページのMessagefileを実行すると、次のようになります。

_First header_ 
Some paragraphs of text
...
_Tenth header_
Tenth paragraph and more text*

メッセージファイル

a)
product.info = "<many paragraphs of text including headers>"

または1ページをhtml要素に分割する

b)

   product.info.h1 = "<first header>"
   product.info.p1 = "<first para>"
   product.info.p2 = "<2nd para>"

私にとって、両方のソリューションは正しく聞こえません。最初は単一のキーに莫大な値を設定するのは悪い慣例に思えますし、後者では単一のページを数十のキーに分割するのも良くないように思えます。

大規模な Web サイトは、多くの場合、URL に言語を含める規則www.site.com/ en-us /product/1に従います。だから問題は、どうすればこのようにすることができ、この方法でより良い方法をとっているのかということです。数十の言語に翻訳するだけでなく、数十回のレイアウト変更を簡単に行うことができました。

テキストが少なく、頻繁に変更されない要素 (ナビゲーションなど) には、Messagefileを使用してグローバル コードニペットを使用できます/view/global/header/somenavbar.scala.htmlが、最終的には複雑なフォルダー構造しか持たなくなります。

メッセージファイルよりも内部化のためのPlay 2の別の方法、ベストプラクティス?

4

1 に答える 1