Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/svg/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Playframework 在play框架中在RTL和LTR之间切换_Playframework_Internationalization_Playframework 2.3_Scala Template - Fatal编程技术网

Playframework 在play框架中在RTL和LTR之间切换

Playframework 在play框架中在RTL和LTR之间切换,playframework,internationalization,playframework-2.3,scala-template,Playframework,Internationalization,Playframework 2.3,Scala Template,我们正在开发一个网站,我们需要支持LTR和RTL。我们发现最好的方法是改变CSSsi.e。CSS用于LTR,另一个用于RTL。这很好,问题是如何决定语言需要LTR还是RTL。我知道一个解决方案,我们从控制器获得accept语言,然后决定它是LTR还是RTL,然后将这个变量发送到scala模板,模板将有一个if,else语句来决定它将加载哪个CSS,但我们将在每个控制器中这样做,做这种事情的最佳实践是什么,有没有办法从scala模板而不是控制器中了解accept语言? 提前感谢我发现的最接近的事情

我们正在开发一个网站,我们需要支持LTR和RTL。我们发现最好的方法是改变CSSsi.e。CSS用于LTR,另一个用于RTL。这很好,问题是如何决定语言需要LTR还是RTL。我知道一个解决方案,我们从控制器获得accept语言,然后决定它是LTR还是RTL,然后将这个变量发送到scala模板,模板将有一个if,else语句来决定它将加载哪个CSS,但我们将在每个控制器中这样做,做这种事情的最佳实践是什么,有没有办法从scala模板而不是控制器中了解accept语言?
提前感谢

我发现的最接近的事情是,我在一个控制器中放了一个方法,获取lang,然后获取它的RTL或LTR,然后根据我的main.scala.html加载CSS和JSs。因此,我不必担心从每个控制器方法传递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"))">
}