在 play framework 中切换 RTL 和 LTR
switching between RTL and LTR in play framework
我们正在开发一个需要同时支持 LTR 和 RTL 的网站。我们发现最好的方法是更改 CSSs(即 LTR 的 CSS 和 RTL 的另一个)。并且效果很好,问题是如何确定该语言是需要 LTR 还是 RTL。我知道一个解决方案,我们从控制器获得接受语言,然后决定它是 LTR 还是 RTL,然后将这个变量发送到 Scala 模板,模板将有一个 if, else 语句来决定 CSS 它会加载,但我们会在每个控制器中执行此操作,执行此类操作的最佳做法是什么,有没有办法从 scala 模板而不是控制器中了解接受语言?
提前致谢
我发现的最接近的事情是,我在控制器中放置了一个方法,该方法获取 lang()
然后获取其 RTL 或 LTR,然后根据我的 main.scala.html 加载 CSS 和 JS。这样我就不必担心从每个控制器方法传递 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"))">
}
我们正在开发一个需要同时支持 LTR 和 RTL 的网站。我们发现最好的方法是更改 CSSs(即 LTR 的 CSS 和 RTL 的另一个)。并且效果很好,问题是如何确定该语言是需要 LTR 还是 RTL。我知道一个解决方案,我们从控制器获得接受语言,然后决定它是 LTR 还是 RTL,然后将这个变量发送到 Scala 模板,模板将有一个 if, else 语句来决定 CSS 它会加载,但我们会在每个控制器中执行此操作,执行此类操作的最佳做法是什么,有没有办法从 scala 模板而不是控制器中了解接受语言? 提前致谢
我发现的最接近的事情是,我在控制器中放置了一个方法,该方法获取 lang()
然后获取其 RTL 或 LTR,然后根据我的 main.scala.html 加载 CSS 和 JS。这样我就不必担心从每个控制器方法传递 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"))">
}