在运行时在嵌入式/链接资源之间添加/切换
本文关键字:添加 切换 之间 链接 运行时 嵌入式 资源 | 更新日期: 2023-09-27 17:56:53
我的 c# 代码中有resources.resx
,并填充了一些字符串:
Text1,"Some Text"
我可以在运行期间通过以下方式调用它
Properties.Resources.Text1
这导致
"Some Text"
现在我想让 Text1 有一个不同的输出(例如另一种语言或其他语言)这样Properties.Resources.Text1
会导致"Different Text"
.
我怎样才能做到这一点?
编辑1:我发现了这个,但我正在寻找一种不同的资源文件方法。
如果要
使用不同的资源文件,可以使用资源管理器:
ResourceManager rm;
if (Configuration.Default.Culture == "en-US")
rm = new ResourceManager(typeof(Resource1));
else
// ...
String label = rm.GetString("Text1");
在"用户设置"中保存区域性,添加配置文件并定义用户变量。
Configuration.Default.Culture= "en-US";
Configuration.Default.Save();
根据信息更新问题
恐怕您必须为其他区域性添加另一个资源文件。 只需查看此线程如何在 C# 中使用本地化
参考评论:获取当前区域性信息并加载资源,如下所示:
Thread.CurrentThread.CurrentCulture.ClearCachedData();
CultureInfo currentCulture = Thread.CurrentThread.CurrentCulture;
if(currentCulture.Name == "en-US")
Console.WriteLine(resources.Text1);
else if if(currentCulture.Name == "ja-JP")
Console.WriteLine(resourcesJapan.Text1);