作者Cypresslin (啊哈哈~~)
看板Visual_Basic
标题Re: [.NET] resx索引参照
时间Wed Aug 22 17:32:04 2012
※ 引述《KawasumiMai (モウソウ×ボウソウ)》之铭言:
: 完全了解你说的部份了
: 为了这个还曾经把原本新增的东西重打一次
: 真的是有够血泪的
: 後来就学着把resx独立出来
: 而不要挂在Form的语系resx里面了
发现整个要重打真的很令人崩溃
更惨的是我还不知道要怎麽独立一个resx出来,囧
翻了一下自己之前的发问文发现已经是2010年的文章了...
: 目前已经完成msgbox的语系对应
: 判定方法是Thread.CurrentThread.CurrentUICulture.ToString.Substring(0, 2)
有点好奇为什麽会需要这个判断呢?如果跟着点部落的作法来做的话,只要在
预设语系以及新增语系的资源档中都有一共同名称之变数即可,程式启动时会
自己抓对应的语系下的变数,你会这样做不知道跟你是用独立的resx有没有关系?
还是说你是想要让所有zh开头的语系像是zh-Hant等等都指向使用正体中文这样?
: 希望可以抓出国籍以外的语系就好,而且以使用者介面而非地区为准
: 现在有个很大的问题
: 明明设定localizable了
: 而且设定language之後就分别设定语言
: 但是反而介面的语系判定有很大的问题
: 换句话说,丢给别人的中文Windows却无法正确显示繁体中文台湾的介面
: 有什麽问题作错吗?
怎麽个无法正确显示法?一片空白吗?
你可以在载入表单时让程式印出他所使用的CurrentUICulture看看
我记得程式启动时会抓对应的语言,万一没有找到就会用Default
还有如果程式给别人,记得要附上该语系的资料夹(如debug下的zh-TW资料夹)
: 还是如前面所说,因为实在太难搞了,所以建议直接跟着独立resx宣告?
: 得要一个一个设定text之类的?
: 这样的情况是正确的吗?
这段我看不大懂,不过我遇上的问题就如前文所述,将msgbox的内文加入至资源档
後,只要对该介面有任何的变动那些变数都会被洗掉,最後处理方式是直接在主程
式空白处插入标签,并将其设定为不可见,这样不管新增几种语言,都会有一组对
应的标签可供修改,而且所有要改的东西都在上面,不用另外去检查资源档。
坏处嘛....要找程式空白处来塞这些标签也不大容易,另外开个表单的话应该就好办
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.115.36.229