2012-07-09 87 views
3

我正在嘗試爲多種語言本地化託管的C++ .NET DLL。這些表單很容易,因爲它們像其他語言一樣操作並創建多個.resx文件。C++/CLI .NET可以使用資源.resx文件進行本地化嗎?

我找不到在託管C++中本地化嵌入字符串的任何示例,而不是以傳統C++方式使用.RC字符串表。有什麼方法可以使用.resx資源文件來方便使用像Zeta等資源編輯器?

回答

7

創建託管C單獨的資源文件++包含應用程序的所有錯誤消息。爲此,請在解決方案資源管理器中右鍵單擊託管的C++項目,然後右鍵單擊Assembly Resource File(.resx)類型的Add/New Item。例如,給它命名爲MyMessages.resx。

在此添加字符串,例如名稱爲「Error」的消息。

在您的代碼中,您可以按如下方式檢索字符串,前提是您的根名稱空間名稱爲「MyApp」。

Resources::ResourceManager^ rm = gcnew Resources::ResourceManager(L"MyApp.MyMessages", this->GetType()->Assembly); 

MessageBox::Show(rm->GetString(L"Error")); 

您可以稍後本地化的錯誤消息在法國例如,通過創建另一個程序集資源的名稱MyMessages.fr.resx文件。