grails视图中的多语言
我正在使用多语言grails应用程序(英语和阿拉伯语),我希望当用户选择阿拉伯语时,视图的标签将位于页面的右侧,而英语标签将位于左侧,如何实现这一点grails视图中的多语言,grails,internationalization,Grails,Internationalization,我正在使用多语言grails应用程序(英语和阿拉伯语),我希望当用户选择阿拉伯语时,视图的标签将位于页面的右侧,而英语标签将位于左侧,如何实现这一点 谢谢您可以通过messages.properties文件在grails中使用国际化,您可以在文件中定义消息签名,并且可以通过URL上的?lang=es访问这些文件,您可能需要两个文件,一个是英语文件,另一个是阿拉伯语文件 例如,在messages.properties中定义: vendor.link.dashboardLink = Vendor D
谢谢您可以通过messages.properties文件在grails中使用国际化,您可以在文件中定义消息签名,并且可以通过URL上的?lang=es访问这些文件,您可能需要两个文件,一个是英语文件,另一个是阿拉伯语文件 例如,在messages.properties中定义:
vendor.link.dashboardLink = Vendor Dashboard
在GSP页面上,您可以通过以下方式访问:
<g:message code="vendor.link.dashboardLink" />
您可以在grails doc上找到更多关于内部化的信息,请查看如果视图之间的差异超出了简单的字符串替换,我建议根据区域设置使用不同的视图集: 控制器代码示例:
import org.springframework.web.servlet.support.RequestContextUtils as RCU
class ExampleController {
final static String englishLanguageCode = new Locale('en').getLanguage()
final static String arabicLanguageCode = new Locale('ar').getLanguage()
def differentViews() {
def currentLocale = RCU.getLocale(request)
switch(currentLocale.language) {
case englishLanguageCode:
render view: 'englishView'
break
case arabicLanguageCode:
render view: 'arabicView'
break
default:
// pick a default view or error page, etc.
}
}
}