【问题标题】:Internationalization of user data用户数据国际化
【发布时间】:2011-04-26 21:21:46
【问题描述】:

我有一个客户想要将数据存储在具有多种语言(英语、法语等)的 MySQL 数据库中,并能够检索数据(使用相同的指定语言)。即:我们有一个产品的英文描述(varchar),我们打算用法语重写,然后在服务器端找到我们需要的语言环境中的描述。

我想过用语言标签将数据包装在 XML 中,然后解析数据吗?

从用户数据的角度来看,满足多种语言的最佳方式是什么?有框架吗?

J

【问题讨论】:

    标签: java gwt frameworks internationalization


    【解决方案1】:

    我认为您可以使用 Master - Detail 表模型来解决问题:

    TABLE Product 
    --------------------
    ID
    ID_MANUFACTURER   
    EAN13    
    WHATEVER
    
    TABLE Product_I18n
    ---------------------
    ID_PRODUCT
    ID_LOCALE
    DESC
    

    当你必须访问某个 Locale 中的数据时,你必须将 Locale String 传递给查询,但你不需要对抗本地化的 XML 结构......

    【讨论】:

    • +1。这是动态数据的最佳想法,对于静态数据,最好使用资源。该解决方案的唯一问题是需要 JOIN(尽管它可以通过某些视图从用户的角度隐藏)。
    【解决方案2】:

    这就是ResourceBundle 的意义所在;大多数人使用基于属性的实现,但您可以轻松编写由数据库支持的实现。

    【讨论】:

      【解决方案3】:

      我不太清楚,是否存在这种机制,但如果不存在,我会将数据存储为 encoding$encoded_text 格式,例如 UTF-8$#####。

      【讨论】:

      • UTF 并不是所有问题的解决方案,但您是对的,在这种情况下,需要使用一些 Unicode 转换格式(无论是 UTF-8 还是 UTF-16)来存储和交换数据。
      • 嗯,其实我的意思是在字段的开头指定编码,并使用它解码所有剩余的文本。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-03-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多