返回信息流我们知道,在中文的windows下,运行中的程序弹出MessageBox对话框,
一般会有“是/不是”等选项按钮,而在英文的系统下,却变成“Yes/No”,
在德文的windows下,当然,显示的就是德语了。
而我们的软件一般会是全英文的,弹出这样的对话框,就不是太友好,
一个简单的方式是:设置启动程序当前线程的文化为InvariantCulture,如下所示,
Thread.CurrentThread.CurrentCulture = CultureInfo.InvariantCulture;
这样,在不同的系统中,弹出的MessageBox,始终显示的是“Yes/NO”
这是一条镜像帖。来源:北邮人论坛 / dot-net / #2083同步于 2010/7/7
该镜像源已超过 30 天没有更新,可能在源站已被删除。
dotNET机器人发帖
抛砖引玉之 多语言开发messagebox始终显示英文的Yes/NO
ahomer
2010/7/7镜像同步9 回复
订阅后,新回复会通过你的通知中心匿名送达。
9 条回复
I18n和L12n是一项都是很麻烦的问题~
Thread Culture设置为Invariant Culture的话,很多东西都会收到影响,比如数字、日期什么的格式化时(在没有提供Culture的时候)都会有影响~
可能会造成意料之外的Bug~
感觉也不是一个万全的办法~呵呵~
恩,肯定的。一般不要把代码跟语言格式相关就好
【 在 TimNew 的大作中提到: 】
: I18n和L12n是一项都是很麻烦的问题~
: Thread Culture设置为Invariant Culture的话,很多东西都会收到影响,比如数字、日期什么的格式化时(在没有提供Culture的时候)都会有影响~
: 可能会造成意料之外的Bug~
: ...................
【 在 ahomer 的大作中提到: 】
: 恩,肯定的。一般不要把代码跟语言格式相关就好
: 【 在 TimNew 的大作中提到: 】
: : I18n和L12n是一项都是很麻烦的问题~
: ...................
其实我比较习惯用一个Resource Manager,然后把Language File当作Resource去处理~
包括界面上的提示文字,资源图片,异常的提示什么的都是从Resource Manager里去读~
不过这样就是工作量比较大,对于小项目来说会比较吃力~
这样的话MessageBox需要自行开发吧
【 在 TimNew 的大作中提到: 】
: : 恩,肯定的。一般不要把代码跟语言格式相关就好
: : 【 在 TimNew 的大作中提到: 】
: : : I18n和L12n是一项都是很麻烦的问题~
: ...................
直接用resourcemanager去读就行了。。不用另行开发
【 在 snoopyboy 的大作中提到: 】
: 这样的话MessageBox需要自行开发吧
: 【 在 TimNew 的大作中提到: 】
: : : 恩,肯定的。一般不要把代码跟语言格式相关就好
: ...................
【 在 shooter 的大作中提到: 】
: 直接用resourcemanager去读就行了。。不用另行开发
: 【 在 snoopyboy 的大作中提到: 】
: : 这样的话MessageBox需要自行开发吧
: ...................
是需要自己处理一下~
不过在WPF里,我基本不使用原装的MessageBox了~
风格完全不搭~会显得很丑~
在WPF里面用什么?都自己开发?
【 在 TimNew (米良家de粮) 的大作中提到: 】
: 是需要自己处理一下~
: 不过在WPF里,我基本不使用原装的MessageBox了~
: 风格完全不搭~会显得很丑~
: ...................
WPF的界面都是呈现出一种风格嘛~
我一般都会在VS里把框架搭好~
然后去Blend里做效果~和处理资源~
然后再回VS里链接上~
呃~
我现在的GUI设计里很忌讳对话框~感觉不是个用户体验很好的东东~
这种提示性的东东我喜欢角落上滑出一个浮动窗来提示~
如果是Modal性的询问~
我喜欢在主界面上覆盖一个半透的黑色层~然后在上面浮个窗~
实在要用弹窗的话,也是自己新建一个Window来做~为了保证风格的统一~
感觉像WIN7的风格?
【 在 TimNew (米良家de粮) 的大作中提到: 】
: WPF的界面都是呈现出一种风格嘛~
: 我一般都会在VS里把框架搭好~
: 然后去Blend里做效果~和处理资源~
: ...................