繁体   English   中英

本地化不适用于某些项目

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM