系统如何实现支持多国语言!!!

时间:2022-12-23 17:58:20
公司系统使用的开发语言为ASP.NET+SQL SERVER。
目前由于公司的业务发展,国内、香港、海外均有业务发展,使用的生产系统完全为公司内部开发。这就要求我们系统需要支持多语言,目前暂定支持的语言为英语,繁体中文(为港资企业),以及本地语言。
页面上的字体支持多语言暂时是想使用资源文件的方式实现,不同区域使用的站点是不同的(内部网络原因),资源文件会单独配置,本地语言这部分可以实现差异化。
但目前比较头疼的是数据库存储的资料如何实现多语言的支持,数据库中存储的资料很多都只有繁体中文,还没找到很好的方法支持多语言转换,各位大神赶紧支下招啊,万谢!!!

18 个解决方案

#1


存储的资料你还想自动翻译?你页面都要用资源文件,事先定义好多套资源文件。后台存储的数据怎么能一套就实现多语言呢。。。要不就准备多套表/数据库人工翻译之后相应语言读取相应数据。

#2


假如存进去的是简体,还要能自动翻译成英语和繁体??

#3


给力。。。。。。。。。。。。。。。。。。。。

#4


.net 自带国际化

#5


数据库里面直接存英文~~~,不懂的英文百度去 系统如何实现支持多国语言!!!

#6


引用 楼主 yaojie8610 的回复:
但目前比较头疼的是数据库存储的资料如何实现多语言的支持,数据库中存储的资料很多都只有繁体中文,还没找到很好的方法支持多语言转换


这要什么“多语言支持”?你们把“多语言”看做什么?难道说vs开发工具还给你把代码中的注释都瞬间翻译为各国语言?

#7


引用 4 楼 nitaiyoucala 的回复:
.net 自带国际化


lz这种问题,就是asp.net有的功能就抄一点,而需要自己在运行界面上的纯业务设计的部分就没有办法抄了,没有办法抄的业务的东西就自己也不会设计了。就是这么回事。

#8


两套吧。。。。。。

#9


    参考

#10


界面上写死的一些 Label 中的文字,你可以参考 asp.net 的方法。那么你自己的业务设计中的所谓用户录入的信息,这还要系统支持“多国语言即时翻译”那可就真的是太牛叉的需求了。

有这个东西,google公司可以不卖搜索了,卖翻译就够了。

#11


界面上写死的一些 Label 中的文字,你可以参考 asp.net 的方法。那么你自己的业务设计中的所谓用户录入的信息(例如用书输入的零件编号、零件维修备注、订货合同内容,等等),这还要系统支持“多国语言即时翻译”那可就真的是太牛叉的需求了。

有这个东西,google公司可以不卖搜索了,卖翻译就够了。

#12


引用 8 楼 az6161311 的回复:
两套吧。。。。。。


lz 要的是“系统实现”,也就是asp.net给实现。

#13


数据库里的数据如果是业务数据,这个有必要翻译吗?用户录入的是啥就是啥啊

#14


呵呵了
我随便写进去个绕口令,有什么软件能给我翻译成印第安语,我就把脑袋拧下来

目前很多手游里支持所谓"各国语言即时翻译",翻译出来的东西根本都不像人话,看原文都比看翻译容易懂

#15


引用 7 楼 sp1234 的回复:
Quote: 引用 4 楼 nitaiyoucala 的回复:

.net 自带国际化


lz这种问题,就是asp.net有的功能就抄一点,而需要自己在运行界面上的纯业务设计的部分就没有办法抄了,没有办法抄的业务的东西就自己也不会设计了。就是这么回事。


大神,说话的口气确实很大。

也怪是我没表述清楚,多语言数据库的设计上肯定是会分开多个栏位进行存储的。
我想了解的是我数据库上是分开多栏位进行存储了,但多语言的表涉及数百个,有没比较好的方法能实现页面选择了不同语言数据库查询也能找到对应语言的栏位。如果我只是几个表,我大可以根据选择的不同语言写不同数据库脚本。
设计的表多,以后也很大机会新增表,想了解下是否有更通用简便的方法。

#16


引用 11 楼 sp1234 的回复:
界面上写死的一些 Label 中的文字,你可以参考 asp.net 的方法。那么你自己的业务设计中的所谓用户录入的信息(例如用书输入的零件编号、零件维修备注、订货合同内容,等等),这还要系统支持“多国语言即时翻译”那可就真的是太牛叉的需求了。

有这个东西,google公司可以不卖搜索了,卖翻译就够了。



谢谢大神指导,不知道这帖子哪惹到你了。
不过让你失望了,我.NET的程序就没抄过,因为几乎没写过。我只是负责下数据库方面的设计,系统实现的同事目前也没太好的办法所以让我来发帖咨询下。没想到遇到真大神了,谢谢您宝贵意见了。

#17


看了这些所谓大神的回复我也是醉了,根本就没分析清楚人家想什么就在那里乱喷

#18


楼主的需求我们公司目前做的一个外国客户就有遇到过,老板是中国人,厂是在越南,系统也是在越南上线,所以里面的数据需要两个国家的人都看得懂,我们能想到的解决方法就是,每个基础资料的定义都由id+显示名称来定义,显示名称用一个子表关联,可以设置多个国家语言.然后业务单据只保存id值,再根据不同国家语言登录自动切换显示名称.如果是类似备注字段的录入就把该字段定义长一些,然后把两个国家语言都打一起.

#1


存储的资料你还想自动翻译?你页面都要用资源文件,事先定义好多套资源文件。后台存储的数据怎么能一套就实现多语言呢。。。要不就准备多套表/数据库人工翻译之后相应语言读取相应数据。

#2


假如存进去的是简体,还要能自动翻译成英语和繁体??

#3


给力。。。。。。。。。。。。。。。。。。。。

#4


.net 自带国际化

#5


数据库里面直接存英文~~~,不懂的英文百度去 系统如何实现支持多国语言!!!

#6


引用 楼主 yaojie8610 的回复:
但目前比较头疼的是数据库存储的资料如何实现多语言的支持,数据库中存储的资料很多都只有繁体中文,还没找到很好的方法支持多语言转换


这要什么“多语言支持”?你们把“多语言”看做什么?难道说vs开发工具还给你把代码中的注释都瞬间翻译为各国语言?

#7


引用 4 楼 nitaiyoucala 的回复:
.net 自带国际化


lz这种问题,就是asp.net有的功能就抄一点,而需要自己在运行界面上的纯业务设计的部分就没有办法抄了,没有办法抄的业务的东西就自己也不会设计了。就是这么回事。

#8


两套吧。。。。。。

#9


    参考

#10


界面上写死的一些 Label 中的文字,你可以参考 asp.net 的方法。那么你自己的业务设计中的所谓用户录入的信息,这还要系统支持“多国语言即时翻译”那可就真的是太牛叉的需求了。

有这个东西,google公司可以不卖搜索了,卖翻译就够了。

#11


界面上写死的一些 Label 中的文字,你可以参考 asp.net 的方法。那么你自己的业务设计中的所谓用户录入的信息(例如用书输入的零件编号、零件维修备注、订货合同内容,等等),这还要系统支持“多国语言即时翻译”那可就真的是太牛叉的需求了。

有这个东西,google公司可以不卖搜索了,卖翻译就够了。

#12


引用 8 楼 az6161311 的回复:
两套吧。。。。。。


lz 要的是“系统实现”,也就是asp.net给实现。

#13


数据库里的数据如果是业务数据,这个有必要翻译吗?用户录入的是啥就是啥啊

#14


呵呵了
我随便写进去个绕口令,有什么软件能给我翻译成印第安语,我就把脑袋拧下来

目前很多手游里支持所谓"各国语言即时翻译",翻译出来的东西根本都不像人话,看原文都比看翻译容易懂

#15


引用 7 楼 sp1234 的回复:
Quote: 引用 4 楼 nitaiyoucala 的回复:

.net 自带国际化


lz这种问题,就是asp.net有的功能就抄一点,而需要自己在运行界面上的纯业务设计的部分就没有办法抄了,没有办法抄的业务的东西就自己也不会设计了。就是这么回事。


大神,说话的口气确实很大。

也怪是我没表述清楚,多语言数据库的设计上肯定是会分开多个栏位进行存储的。
我想了解的是我数据库上是分开多栏位进行存储了,但多语言的表涉及数百个,有没比较好的方法能实现页面选择了不同语言数据库查询也能找到对应语言的栏位。如果我只是几个表,我大可以根据选择的不同语言写不同数据库脚本。
设计的表多,以后也很大机会新增表,想了解下是否有更通用简便的方法。

#16


引用 11 楼 sp1234 的回复:
界面上写死的一些 Label 中的文字,你可以参考 asp.net 的方法。那么你自己的业务设计中的所谓用户录入的信息(例如用书输入的零件编号、零件维修备注、订货合同内容,等等),这还要系统支持“多国语言即时翻译”那可就真的是太牛叉的需求了。

有这个东西,google公司可以不卖搜索了,卖翻译就够了。



谢谢大神指导,不知道这帖子哪惹到你了。
不过让你失望了,我.NET的程序就没抄过,因为几乎没写过。我只是负责下数据库方面的设计,系统实现的同事目前也没太好的办法所以让我来发帖咨询下。没想到遇到真大神了,谢谢您宝贵意见了。

#17


看了这些所谓大神的回复我也是醉了,根本就没分析清楚人家想什么就在那里乱喷

#18


楼主的需求我们公司目前做的一个外国客户就有遇到过,老板是中国人,厂是在越南,系统也是在越南上线,所以里面的数据需要两个国家的人都看得懂,我们能想到的解决方法就是,每个基础资料的定义都由id+显示名称来定义,显示名称用一个子表关联,可以设置多个国家语言.然后业务单据只保存id值,再根据不同国家语言登录自动切换显示名称.如果是类似备注字段的录入就把该字段定义长一些,然后把两个国家语言都打一起.