创建本地化.resx文件会使.Designer.cs文件为空



我正在尝试将本地化添加到我的.NETMVC项目中。据我所见(这里,这里,这里(,我应该能够创建总共三个文件(如果我有两种语言(。

Resources.resx
Resources.en-us.resx
Resources.da-dk.resx

当我打开.resx文件时,我可以向它们添加条目。一旦我完成了这个操作(并将"Access Modifier"设置为Internal或Public(,它就会生成一个Resources.*.Designer.cs文件(应该是这样(。然而,对于en-usda-dk,它们是空的。没有任何错误。

就我所能读到的(这里,这里,这里(而言,文件名和.resx扩展名之间不能有句点。令我惊讶的是,这是真的。如果我将这些en-us/da-dk文件中的任何一个重命名为Whatever.resx,则将创建Whatever.Designer.cs文件。

我读了很多答案,尝试过T4模板,以及其他一些东西,但我根本无法用它来创建一个有效的Designer.cs文件。

我做错了吗?我觉得我现在什么都试过了。我只想能够做Resources.TestText,并让我的应用程序根据文化进行翻译。

它是经过设计的。

Resources.EN-US.resx文件类型没有设计器,因为实际的设计器在它的"父"文件Resources.EN-US.resx中。en-us文件仅保存关键字/值XML

如果你正在调用你的资源,你可能会像这样使用它:

var someVar = Resources.SomeLocalizedString;

您不必区分EN-US类型。

如果你查看设计师的代码,你可以看到发生了什么(等一下,我来举个例子(

因此,您不需要这些设计器,如果设置了UI线程的区域性信息,它应该可以开箱即用。

Thread.CurrentThread.CurrentUICulture = new CultureInfo("EN-US");

最新更新