我试图让我的程序以不同的语言使用。我有一个名为 language_en 的资源文件。
在运行时,我想更改 language_en 中每个字符串的值。
我创建了 .ini 文件,其中包含 language_en 中的所有字符串以及表单上的控件。在加载过程中使用该文件,我可以轻松更改控件的文本。如:Button1 的文本从“是”到“Ja”。
我不能对资源文件做同样的事情,因为它是只读的。我知道我可以做的一种方法是为每种语言创建多个资源文件。但是,我希望能够在 .ini 文件中完成所有操作。
我正在尝试这样的事情:
ResourceSet RSet = English.ResourceManager.GetResourceSet(
CultureInfo.CurrentCulture, true, true);
foreach (DictionaryEntry Entry in RSet)
{
Entry.Value = ?
}
但显然它不起作用,不仅因为我试图在迭代期间修改集合,而且因为该值是只读的。
有人知道我可以采取什么方法吗?
PS 我应该在哪里定义我的 Application.CultureInfo?在初始化组件()之前?