Asp.net 类库中的本地化/资源文件
我试图在Asp.net 类库中的本地化/资源文件,asp.net,c#-4.0,web,localization,Asp.net,C# 4.0,Web,Localization,我试图在.NET类库中实现全球化。在.NETweb应用程序中,这似乎可以正常工作。我可以在App\u GlobalResources下添加多个资源文件 e、 g 但是,资源文件在类库中的处理方式不同。我通过 1) 打开类库的属性 2) 单击资源选项卡 3) 单击链接创建“默认资源文件” 在这个模型中,它似乎只允许一个默认的资源文件。我可以重命名文件,似乎可以绕过“一个文件”的限制,但如果我生成的资源文件与上述名称相同,则似乎没有为“LocalizedText.fr.resx”文件生成代码。如果我
.NET
类库中实现全球化。在.NET
web应用程序中,这似乎可以正常工作。我可以在App\u GlobalResources
下添加多个资源文件
e、 g
但是,资源文件在类库中的处理方式不同。我通过1) 打开类库的属性
2) 单击资源选项卡
3) 单击链接创建“默认资源文件” 在这个模型中,它似乎只允许一个默认的资源文件。我可以重命名文件,似乎可以绕过“一个文件”的限制,但如果我生成的资源文件与上述名称相同,则似乎没有为“LocalizedText.fr.resx”文件生成代码。如果我在这样的代码中引用字符串
myControl.Text = Properties.LocalizedText.MyLocalizedText;
它引用LocalizedText.resx文件作为值(忽略将区域性设置为法语的事实)。我猜想,无论自动为设计器文件生成代码的是什么,都会看到已经有了一个“LocalizedText”类,并且不会生成必要的代码
是否有一种方法(相当于web应用程序项目)可以使用类库中的多个资源文件,为每个区域性命名不同,并且能够轻松地在代码中访问这些资源文件(信任.NET
根据区域性信息进行适当切换)
非常感谢首先:在项目中创建一个名为“MyFolder”的文件夹 第二:将名为“MyResourceFile”的资源文件添加到文件夹中 第三:在要访问资源值的位置,导入:
using System.Reflection;
using System.Resources;
using MyProject.MyFolder.MyResourceFile;
并创建一个可以访问您的资源的属性。像这样:
public static ResourceManager oResourceManager = new ResourceManager("MyProject.MyFolder.MyResourceFile", typeof(MyResourceFile).Assembly);
第四:从您的财产中获取数据:
oResourceManager.GetString("ResourceKey", System.Globalization.CultureInfo.CurrentCulture);
感谢编辑sunbabaphu。。。好多了!
oResourceManager.GetString("ResourceKey", System.Globalization.CultureInfo.CurrentCulture);