在播放框架中在RTL和LTR之间切换

时间:2015-03-04 10:20:41

标签: playframework internationalization playframework-2.3 scala-template

我们正在开发一个我们需要支持LTR和RTL的网站。我们发现最好的方法是改变CSS(即LTR的CSS和RTL的另一种)。这很好,问题是如何决定语言是否需要LTR或RTL。我知道一个解决方案,我们从控制器获取接受语言,然后决定它是LTR还是RTL,然后将此变量发送到scala模板,模板将有一个if,else语句来决定它将加载的CSS ,但是我们会在每个Controller中做到这一点,做这样的事情的最佳做法是什么,有没有办法从scala模板知道接受语言而不是来自控制器? 提前致谢

1 个答案:

答案 0 :(得分:0)

我发现最接近的东西,我把一个方法放在acontroller中获取lang()然后得到它的RTL或LTR然后加载CSSs和JSs来自我的main.scala.html。所以我不应该担心从每个控制器方法传递if语句,main,scala.html中的代码就是这样:

 @if(Language.isRTL()){
    <link rel="stylesheet" media="screen" href="@routes.Assets.at("stylesheets/bootstrap_rtl.min.css")">
}else{
    <link rel="stylesheet" media="screen" href="@routes.WebJarAssets.at(WebJarAssets.locate("bootstrap.min.css"))">
}