2013-07-17 43 views
0

我正在使用多语言grails应用程序(英语和arbaic),我想当用户选择阿拉伯语时,视图的标签将位于页面的右侧,左侧是英文,如何这可以实现?多语言的grails视图

感谢

回答

0

可以在Grails中使用国际通过messages.properties文件,你可以定义在文件中的消息签名,并和他们可以通过在URL?lang = es编辑访问,你可能需要有两个文件一个是英文,另一个是阿拉伯文。

例如定义在messages.properties:

vendor.link.dashboardLink = Vendor Dashboard 

和GSP页面上,你可以访问它想:

<g:message code="vendor.link.dashboardLink" /> 

你可以在Grails的文档找到更多关于内在看看在http://grails.org/doc/2.2.1/guide/i18n.html

0

如果视图超出简单字符串替换的区别,我会建议使用基于区域设置的一组不同的视图:

实施例控制器的代码:

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. 
     } 
    } 
}