私は Play Framework 1.2.4 を使用していますが、同じコントローラー/アクション (特に SEO) を指す言語ごとに異なるルートを持つ方法があるかどうかを知りたいと思っていました。
たとえば、私は欲しい:
GET /en/how-it-works myController.howItWorks
GET /fr/comment-ca-marche myController.howItWorks
問題は、逆ルーティングがルート ファイルの先頭から始まることです。そのため /fr、ウェブサイトの一部にいる場合、リンク@{myController.howItWorks}は次のようになります。/en/how-it-works
私の場合を完了するために、パラメーターlangを routeArgs として使用しています。これが私のルート ファイルです。
GET /{lang}/how-it-works myController.howItWorks
myControllerrouteArgs@Beforeを設定するメソッドがあります。langこのコードは機能してい/en/how-it-worksます。言語を fr に変更すると、/fr/how-it-works
ルートファイルでこれを試しましたが、うまくいきません
%{if (lang == 'fr') { }%
GET /{lang}/comment-ca-marche myController.howItWorks
%{ } else { }%
GET /{lang}/how-it-work myController.howItWorks
%{ } }%
langパラメータはのようですnullので、正しいルートを動的に選択することはできません。同じ悩みを持っている人がいたら知りたいのですが、
ご協力ありがとうございました
(そして私の英語でごめんなさい...)