在下是新人,最近在做“综合资源国际化”的工作,整个国际化分为3部分: 
1.GUI国际化 
2.程序中写死的部分,如:MessageBox.Show(“提示信息”) 
3.数据库的国际化 (GUI中有些数据是从数据库中取出来的,这部分数据也要求 国际化)
其中1和2都已经搞定了,但是3数据库的国际化 对我来说有点困难。 请高人不吝赐教,如果是您来做,您会怎么想 如何去做,请说出您的解决方案 ,越详细越好。 
先谢谢了。备注:这个帖子,我今天是第二次发了,内容和标题都一样,今天早上我把它发在oracle数据库区,但是没人理,无奈只能同样的事情做两遍。我想多给点分可是我等级不够,最多只能给100分,其实我也没有多少分,如果分数多的话,也不会等级不够了,only 298分而已,再去掉这次的100 剩下一百多了,其实可用分多少并不重要,分数是虚的,能向大家学到东西才是实在的。
请大家支持我。
再次谢谢。

解决方案 »

  1.   

    呵呵,数据库国际化?没听说过.数据库的话可以做2个版本,一个存储中文信息一个存储英文信息.不同的地点登陆使用不同的连接字符串,比较方便.呵呵
    一般说的国际化都是xml之类的.呵呵,书上有,好好看吧.
      

  2.   

    1.GUI国际化  
    2.程序中写死的部分,如:MessageBox.Show(“提示信息”)  
    3.数据库的国际化 (GUI中有些数据是从数据库中取出来的,这部分数据也要求 国际化) 
    其中1和2都已经搞定了,但是3数据库的国际化 对我来说有点困难。  不错。数据库国际化我没做过。12都做过。帮你顶下
      

  3.   

    自动翻译不可能,我觉得可行的是,中文,英文都写在同一条记录里,中间用$split$分割
      

  4.   

    首先感谢大家的支持,在大家的启发下,我有了一个办法,不知可行否?
    1.添加一张翻译配置表(且命名为:MLANGCONF),该表中含有两个字段:(被翻译表的)表名(TABLE_NAME),字段名(COLUMN_NAME),假定table1表中的column1字段需要翻译,那就向翻译配置表MLANGCONF中添加一条记录:
           字段:     TABLE_NAME         COLUMN_NAME
          数据:     table1               column1
     这张表中存储的就是需要翻译的表及被翻译的字段。
    2.备份翻译配置表(MLANGCONF)中存储的表,然后重命名为“表名_默认语言”作为副表
     例如1.中MLANGCONF存在一条记录,table1   column1,那就把table1备份一份,命名为“table1_chinese”(假如
     默认语言为中文),这样做的目的在于还原主表。
    3.再把翻译配置表MLANGCONF中有的表备份一份,重命名为“表名_语言”作为副表,
     例如2.中,只不过表名为:“table1_english”(这里假定只翻译为一种外语),把table1_english表中
     相应的数据翻译英文
      (这里相应的数据就是在翻译配置表MLANGCONF中存在的数据)
    4.这样真正从数据库中读取数据时还是从原表中读,当需要切换不同的语言时(如:table1_english),用相应语言表中的数
     据更新主表,注意:步骤3中,只翻译MLANGCONF表中存在的数据。如果主表中增加了一条记录,相应的副表中也应该添加。
    执行效率取决于,翻译配置表中记录的数量、和update语句的效率 。希望大家提出更多建议。
      

  5.   

    “这张表中存储的就是需要翻译的表及被翻译的字段。” 
    ———————————————————————————————— 
    改为“这张表中存储的就是需要翻译的表名及被翻译的数据。” 
    sorry书写有勿。翻译的是表中的数据,不是翻译表的字段。
      

  6.   


    你这个只是双语的,万一以后扩展8国语言呢?
    分析一下聚友吧.
    我昨天刚刚下了个myspaceIM我觉得它在这个方面做的不错.
    我觉得应该有:
    GUI部分:多语言文件,skype那样,一个语言文件就可以解决ui部分的.
    内容-->数据库,本地化信息,提供多语言公共库,比如一个字段是地址,公有选项中定义好公有属性,同时在本地化库表里面根据公有内容进行选择.
    私有内容直接提取,这个不方便翻译,也不方便去修改什么东西,私有的是用户的系统不能改变.
    其实这个和多语言库的思路一样,献丑了... :)