论坛首页 Java企业应用论坛

如何构架支持多语言版本的web应用

浏览 5374 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2005-03-02  
利用资源文件可以实现静态内容的国际化,但是更多的内容是存储于后台数据库的;为了多语言,是不是只能开发多个类似应用连接不同的语言内容的数据库才能实现?大家的做法都是怎样的?
   发表时间:2005-03-02  
extends ResourceBundle

public class DatabaseResourceBundle extends ResourceBundle {
    public Object handleGetObject(String key); {
        return queryResourceBundleTable(locale, key);;
    }
}
0 请登录后投票
   发表时间:2005-03-02  
我的意思不是说把语言资源文件的内容存到了数据库里
比如电子商城需要在页面展示商品信息,这些信息都从数据库获得,由管理员录入;这些信息怎么实现国际化?为不同的语言建立不同的数据库(表)?
0 请登录后投票
   发表时间:2005-03-02  
用户输入的时候, 放到不同的表, 或者同一个表, 加不同的locale flag
显示的时候还是用DatabaseResourceBundle
0 请登录后投票
   发表时间:2005-03-02  
public I18Content();
{
     Map items;
     public String getItemContent(Locale locale);
     {
          items.get(locale.toSting(););;
     }

      public String addItem(Locale locale,String itemContent);
     {
          items.put(locale.toString();,itemContent);
     }
      
}


映射I18Content为一个对象,需要两张表。
或者考虑影射为component,可以减少一次表连接,但有些问题,可能每个属性影射都需为一张表,查询也有问题,后来就没采用。

public Person
{
    I18Content name;
}

gaving king也blog过这个东西,使用的是UserType,你可以查查,他的办法有很高的效率,但是不能通过hql语句对text内容进行检索。
0 请登录后投票
论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics