2013-09-01 87 views
0

我正在構建一個可以支持多種語言的c#windows窗體應用程序。爲了存儲所有字符串資源,我爲每種文化使用了.resx文件。我設法讓應用程序可以工作,但是我前段時間在某處讀取資源字符串也可以存儲在文本文件中。你會如此善意地向我解釋如何將字符串寫入文本文件中,以及如何爲每種文化加載每個文本文件?謝謝。c#國際化文本資源

PS:我是初學者,所以請耐心等待。

回答

0

在resx文件中,您將獲得添加文件的選項(從左上方的菜單),您可以在解決方案中添加文本文件,這將在構建期間添加到resx中,現在您可以更改解決方案中的文本文件和構建這些變化將成爲resx的一部分。

我在每文化過去一個文件中使用相同的resx並儘快應用來了解文化我是加載從RESX相應的文本文件。

在文本文件中我有「鍵:值」,從我準備的字典,並緩存它,所以較容易在我的簡單/小特定的文化文本的要求進行工作。

看到http://msdn.microsoft.com/en-us/library/7k989cfy(v=vs.90).aspx

+1

我覺得他不看文本文件添加到資源,而是利用文本文件,而不是資源,不是嗎? – Remy

0

找到了!

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; 
}