如何在不同国家语言下提示不同的MessageBox.Show("")内容?

pohan2003 2009-04-09 10:38:13
我用这样的方式,将语言切换成英文

this.Controls.Clear();
System.Threading.Thread.CurrentThread.CurrentUICulture = new System.Globalization.CultureInfo("en");
InitializeComponent();


如果我建了两个string:
string ch="请参访我们公司网站";
string en="please visit our website";
我想要在中文环境下程式提示MessageBox.Show(ch),英文环境下变成MessageBox.Show(en)
请问我该怎么做呢?
...全文
412 18 打赏 收藏 转发到动态 举报
写回复
用AI写文章
18 条回复
切换为时间正序
请发表友善的回复…
发表回复
wuyq11 2009-04-11
  • 打赏
  • 举报
回复
通过多语言实现或XML配置资源文件实现

Thread.CurrentThread.CurrentCulture = new System.Globalization.CultureInfo("zh-CN");
Thread.CurrentThread.CurrentCulture = new System.Globalization.CultureInfo("en-us");
Thread.CurrentThread.CurrentCulture = new System.Globalization.CultureInfo("ja-JP");
参考
参考
saisky 2009-04-11
  • 打赏
  • 举报
回复
是了~
还有麻烦点的方法
就是用委托了
走不同的输出语言方法了
十八道胡同 2009-04-11
  • 打赏
  • 举报
回复
学习,
pohan2003 2009-04-10
  • 打赏
  • 举报
回复
一个判断目前系统用的是什么环境的,然后if esle一下。
至于如何判断环境,找出代表环境的标示。
如果环境没法判断,就只能你用一个属性来标示目前系统环境。当启动是给一个默认值,然后每次转环境的时候改变其值
到了要MessageBox.show时候根据这个属性来show出来


-->请问有没有人知道,具体用什么样子的代码,来检查目前程序的语言环境?我目前只知道用两个button执行下列两段代码来切换不同语言环境,但是切换过去之后,程序要怎么样子判断现在的语言环境呢?有什么代码可以来检查现在的语言环境?可以请大家给我更具体的方向或代码嘛?我目前就是卡在这里,请帮忙,谢谢

System.Threading.Thread.CurrentThread.CurrentUICulture = new System.Globalization.CultureInfo("en");//切换到英语环境
System.Threading.Thread.CurrentThread.CurrentUICulture = new System.Globalization.CultureInfo("");//切换到默认环境


jietuan 2009-04-10
  • 打赏
  • 举报
回复
你使用资源文件,不同的语言加载不同的资源文件;很简单的,资源文件是key-value ,同一个key在不同的语言里面使用不同的value.
pohan2003 2009-04-10
  • 打赏
  • 举报
回复
if(CultureInfo.CurrentUICulture.Name=="en")
MessageBox.Show(en)
else if(CultureInfo.CurrentUICulture.Name=="")
MessageBox.Show(ch)
  • 打赏
  • 举报
回复
...
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 liu4545533 的回复:]
使用国际化啦 把项目里面需要使用的所有的比如菜单,标签,按钮等等的名称使用多种语言保存在资源里面,然后根据系统的语言地区选择,而让系统选择不同版本语言
看样子你的公司是大公司啊 还要做国际化啊
[/Quote]


。。。。。
Harvey_He 2009-04-10
  • 打赏
  • 举报
回复
最苯的方法:
把获得的语言状态存到Session里面:
在MessageBox的时候进行一个If判断,如果是中文就ch,反之就en
liu4545533 2009-04-10
  • 打赏
  • 举报
回复
使用国际化啦 把项目里面需要使用的所有的比如菜单,标签,按钮等等的名称使用多种语言保存在资源里面,然后根据系统的语言地区选择,而让系统选择不同版本语言
看样子你的公司是大公司啊 还要做国际化啊
whyabc 2009-04-10
  • 打赏
  • 举报
回复
国际化
panrongzeng 2009-04-10
  • 打赏
  • 举报
回复
一个判断目前系统用的是什么环境的,然后if esle一下。
至于如何判断环境,找出代表环境的标示。
如果环境没法判断,就只能你用一个属性来标示目前系统环境。当启动是给一个默认值,然后每次转环境的时候改变其值
到了要MessageBox.show时候根据这个属性来show出来
mlp1218 2009-04-10
  • 打赏
  • 举报
回复
使用国际化啦 把项目里面需要使用的所有的比如菜单,标签,按钮等等的名称使用多种语言保存在资源里面,然后根据系统的语言地区选择,而让系统选择不同版本语言
moonshineidolon 2009-04-10
  • 打赏
  • 举报
回复
把两种语言的字符串存放到资源文件里,
程序运行判断当前系统的语言环境

在提示时,调用不同资源文件里的这个字符串。给出提示信息。
zgke 2009-04-10
  • 打赏
  • 举报
回复
你应该建立配置类,来管理这些问题.

然后根据你的需要来创建不同的配置类
ztenv 2009-04-10
  • 打赏
  • 举报
回复
看看本地化的知识,.net提供了这项功能,建立资源文件,根据环境的不同会找到不同的资源文件,这次再读取内容予以显示
wts_net 2009-04-10
  • 打赏
  • 举报
回复
不知道,还是顶一下吧
believeken 2009-04-10
  • 打赏
  • 举报
回复
up~~~

111,126

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Creator Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧