[英]How to use dynamic localization in an asp .net web application
我已將名為language.resx的資源文件添加到我的App_GlobalResources文件夾中,這使我能夠訪問諸如App_GlobalResoureces.Language.MyString之類的字符串。 如何使它動態化? 因此,如果我有一個名為ResourceID的字符串,如何從資源文件中提取正確的資源?
到目前為止,我嘗試了這個:
string s = "MyString";
System.Resources.ResourceManager = new System.Resources.ResourceManager("App_GlobalResources.Language", System.Reflection.Assembly.GetExecutingAssembly());
string lang = mngr.GetString(s);
但這不起作用(它說找不到命名空間之類的東西)。
已經建議為此使用數據庫,但是我不希望這樣做,因為它只是我要翻譯的幾個枚舉。
怎么樣:
string s = "MyString";
var mngr = new System.Resources.ResourceManager("Resources.Language",
System.Reflection.Assembly.Load("App_GlobalResources"));
string lang = mngr.GetString(s);
這很容易。 為什么這么簡單的東西總是那么難找
正確的代碼是:
App_GlobalResources.Language.ResourceManager.GetString("MyString");
這是Visual Studio生成的代理代碼。 如果您想自己定位文件(我認為動態的含義),可以按照代碼sinnpet aobe進行。 實際上,我是通過復制資源文件所具有的屬性的“獲取”訪問器的內容來獲得此代碼的:)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.