我正在構建一個可以支持多種語言的c#windows窗體應用程序。爲了存儲所有字符串資源,我爲每種文化使用了.resx
文件。我設法讓應用程序可以工作,但是我前段時間在某處讀取資源字符串也可以存儲在文本文件中。你會如此善意地向我解釋如何將字符串寫入文本文件中,以及如何爲每種文化加載每個文本文件?謝謝。c#國際化文本資源
PS:我是初學者,所以請耐心等待。
我正在構建一個可以支持多種語言的c#windows窗體應用程序。爲了存儲所有字符串資源,我爲每種文化使用了.resx
文件。我設法讓應用程序可以工作,但是我前段時間在某處讀取資源字符串也可以存儲在文本文件中。你會如此善意地向我解釋如何將字符串寫入文本文件中,以及如何爲每種文化加載每個文本文件?謝謝。c#國際化文本資源
PS:我是初學者,所以請耐心等待。
在resx文件中,您將獲得添加文件的選項(從左上方的菜單),您可以在解決方案中添加文本文件,這將在構建期間添加到resx中,現在您可以更改解決方案中的文本文件和構建這些變化將成爲resx的一部分。
我在每文化過去一個文件中使用相同的resx並儘快應用來了解文化我是加載從RESX相應的文本文件。
在文本文件中我有「鍵:值」,從我準備的字典,並緩存它,所以較容易在我的簡單/小特定的文化文本的要求進行工作。
看到http://msdn.microsoft.com/en-us/library/7k989cfy(v=vs.90).aspx
可以使用文本文件資源的消息Win8的應用程序。不知道是否適合其他plattforms太:
找到了!
http://www.cnblogs.com/anorthwolf/archive/2010/08/23/1806686.html
static public string GetStringRegistryValue(string key, string defaultValue)
{
RegistryKey rkCompany;
RegistryKey rkApplication;
rkCompany = Registry.CurrentUser.OpenSubKey(SOFTWARE_KEY,
false).OpenSubKey(COMPANY_NAME, false);
if(rkCompany != null)
{
rkApplication = rkCompany.OpenSubKey(APPLICATION_NAME, true);
if(rkApplication != null)
{
foreach(string sKey in rkApplication.GetValueNames())
{
if(sKey == key)
{
return (string)rkApplication.GetValue(sKey);
}
}
}
}
return defaultValue;
}
我覺得他不看文本文件添加到資源,而是利用文本文件,而不是資源,不是嗎? – Remy