如何获取正确的ResourceManager对象
我正在制作一个 asp.net(2.0) 网站。
我在App_GlobalResources文件夹中定义了两个资源文件 1) 网站.ar.resx 2)Website.en.resx
我试图以编程方式获取ResourceManager。
现在,如果我只定义了 Website.resx,VisualStudio 会自动开始向我显示一个带有“Website”类的“Resouces”命名空间,我可以使用它直接访问资源对象,并且还为我提供一个 ResourceManager 属性。
但当我将文件重命名为 Website.ar.resx 时,这种情况就停止了。
我的问题是如何以编程方式获取 ResourceManager 对象以获得所需的文化?
Im making a asp.net(2.0) website.
I have defined two resource files in the App_GlobalResources folder
1) Website.ar.resx
2) Website.en.resx
Im trying to obtain the ResourceManager programatically.
Now, if I would have only defined Website.resx, VisualStudio automatically starts showing me a 'Resouces' namespace with the Class 'Website' that I can use to either directly access the resource objects and also gives me a ResourceManager property.
But when I renamed the file to Website.ar.resx that stopped happening.
My question is how can I obtain the ResourceManager object programatically for a desired culure?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您的程序集中必须有默认(中性)资源表。这是名称中没有文化标识符的一个。有一个 [程序集:NeutralResourcesLanguageAttribute(culture-identifier)] 属性,但我不知道它是否会对您有帮助。
要获取所需区域性的 ResourceManager,必须在获取 ResourceManager 之前将 Thread.CurrentThread.CurrentUICulture 设置为所需区域性。
要获取
You must have default(neutral) resource table in your assembly. This is the one without culture identifier in the name. There is an [assembly: NeutralResourcesLanguageAttribute(culture-identifier)] attribute but i do not know if it will help you.
To get ResourceManager for desired culture, you must set Thread.CurrentThread.CurrentUICulture to desired culture before getting the ResourceManager.