Send As SMS

2005-08-22

应用程序中的多语言支持

Java提供了对多语言的支持,一般的,是通过采用 ResourceBundle的技术,把字符串资源化。但是,对于Web网站来说,则存在一些特变之处。

1、页面。如果把一个页面中的文字常量采用ResourceBundle来管理的话,那么随便一个中等规模的页面,都会有上百个的字符串常量,但为其提供 一个惟一的名字,就非常的头痛了,更别提对这么多的字符串进行管理了。而且,页面的源文件也基本上不再具有可读性,可维护性了。
2、数据资源。很多时候,一些存储在数据库中的数据项也是具有多语言的,比如说:地址,中文的地址、英文的地址,这些数据根本不是在程序中指定的,而是运行中的一些动态资源。

解决方案:
1、页面以整个的Page为单位,对每一个语言直接进行翻译重写,但尽量将一些可以数据化的字符串以资源的形式保存,这样,既可以让每一个页面都可读性高。
2、在数据库中引入这样的一种字段: LocalizedString,可以使用 VARCHAR、甚至Text等类型,映射到Java时,则生成这样的一个字段,但这个字段并不直接面向客户,而是建立一个访问别名,在get方法中,根据当前的Locale返回指定的值。

中文字符串
English String
繁體中文

0 Comments:

张贴评论

<< Home