[英]Localization does not work on some projects
我正在尝试使我的项目多语言。 为此,我为英语和其他语言创建了资源文件,例如:
langu.resx langu.uk-UA.resx
在我的一些项目中,一切正常。 但是有些项目不想改变语言。
使用此System.Threading.Thread.CurrentThread.CurrentUICulture
返回正确的区域性
我尝试使用以下代码更改程序中的语言:
ResourceManager RM = new ResourceManager("PasteCurb.Properties.Lang.langu", Assembly.GetExecutingAssembly());
string day = RM.GetString("btnApplyText");
CultureInfo ci = new CultureInfo("uk-UA");
string dayrr = RM.GetString("btnApplyText",ci);
但是在变量 dayrr 中,我得到的是英语而不是乌克兰语的值。
有人有想法么?
如下设置文化信息,然后您可以通过名称访问文本字符串:
Thread.CurrentThread.CurrentUICulture = CultureInfo.GetCultureInfo("uk-UA");
var text = Properties.Resources.btnApplyText;
当您使用ResourceManager
直接访问资源时,请确保正确定义了资源文件的根名称。 默认情况下,根名称不包括语言标识符。
它应该如下所示:
var rm = new ResourceManager("PasteCurb.Properties.Resources", Assembly.GetExecutingAssembly());
string dayrr = rm.GetString("btnApplyText", new CultureInfo("uk-UA"));
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.