asp.net-mvc – Visual Studio 2013 SP2中未生成特定于文化的资源文件

我在VS2013中创建了一个MVC 5项目(使用Update 2).如果我将一个资源文件添加到App_GlobalResources文件夹,它会在我保存时正确生成相应的.designer.cs文件.

但是,如果我制作资源文件的副本并在名称中包含文化,例如Resource.fr-FR.resx,设计器文件始终为空.

复制步骤:

>创建App_GlobalResources文件夹(右键单击项目>添加ASP.NET文件夹> …)
>右键单击此文件夹>添加>资源文件
>接受默认名称(Resource1)
>制作副本(你应该有Resource1 – Copy.resx)
>将副本重命名为Resource1.fr-FR.resx
>检查.designer.cs文件 – 它是空的

也许这与自定义工具(GlobalResourceProxyGenerator)和带点/句点的文件名有关?我对本地化很新,所以我可能做错了!

最佳答案 更改线程的UICulture时,检查它是否仍然解析为正确的资源.我打赌它确实如此.翻译数据包含在resx文件中.我看起来Resources类只为main / default回退语言生成(如果在name工具中包含dot,则不会生成Resources类). Resources类不包含任何特定于文化的值,因此一个就足够了.对于特定于文化的resx文件,您可以设置无代码生成.

点赞