如果产品的用户是外国人或者港澳台人,可能就需要进行国际化。但在TCSF中要求,在开发的时候就要支持国际化。因为到后期再来修改,这些数据将会分散在程序的各个地方,耗费成本很大。
TCSF中总结需要进行国际化处理的地方包括:页面显示的静态文字,菜单以及其他存储在数据库中的数据国际化。
TCSF中,国际化文件存储在i18n/messages_*.properties中
静态文字国际化比较简单,由于TCSF是基于Spring开发,所以直接使用Spring的jsp标签即可实现。
菜单的国际化,直接通过配置即可实现,在菜单管理中配置每个菜单的i18n字段,系统将自动从国际化文件中获取对应的值。
存储在数据库中的数据国际化,还分为了两种:固定取值和需要格式化的取值
固定取值例如:性别字段,存储在数据库中的是Male和Female取值,使用i18n注解,默认系统从国际化文件查找类名.字段名.取值的键值对。这完全只需要在字段上添加注解即可。
如果需要格式化,则需要编写代码,手动填充每条记录所需要国际化的字段的格式化参数。
这是本系统所内置支持的,业务层面上的还需要开发人员注意国际化的兼容。
在TCSF中,但凡通过QueryApiController、QueryIdEntityApiController的查询接口获取的数据,都将自动对I18n注解的字段进行国际化处理,除控制器之外,还有Entity2VoConvertor的转换,也会自动处理。