2013-04-06 125 views
0

我需要在Grails的国际化(英语和阿拉伯语)应用程序,但我面临的一些问题,比如我有一个域为学生得到了以下字段: 视图plaincopy到clipboardprint?场国际

注:在码块文本内容是自动字包裹

class Students 
{ 
    String firstName 
    String lastName 
} 

在欲根据该用户在欢迎页面中选择的语言来显示的以上字段的意见。

我已经作出选择语言的一部分,但如何才能实现另一部分?

回答

0

他们是几种不同的方式来处理国际化。

例如通过创建子类来包装你的领域:

class StudentFields 
{ 
    String firstName 
    String lastName 
} 

,然后加入2个引用(每个区域):

class Students 
{ 
    StudentFields english 
    StudentFields arabic 
} 

然后你就可以访问使用两种语言:

StudentsInstance.english.firstname 

StudentsInstance.arabic.firstname 

您可以创建自定义标签处理逻辑(英语/阿拉伯语取决于当前区域之间切换)为您的GSP。

+0

这意味着将有2列在DB一个名字英文,另一个是第一个名字阿拉伯语吗?有推荐的插件来处理字段国际化? – SShehab 2013-04-08 06:22:57

+0

它将被存储在2个不同的表格中。如果你想在同一个表中有两列,使用GORM组合特征'static embedded = ['english','arabic']。 '如果你愿意,你可以使用像这样的插件http://grails.org/plugin/i18n-fields。 – 2013-04-08 12:55:57

+0

我发现了一个有用的链接我认为这将解决我的问题http://tedvinke.wordpress.com/2012/08/22/grails-scaffolding-enums-and-i18n/ – SShehab 2013-04-13 07:34:01