簡體   English   中英

如何用.NET語言包測試不同語言的.NET資源?

[英]How to test .NET resources in different languages with .NET language packs?

希望實現異常消息翻譯,如英文異常消息中所示? 我想要單元測試,所以這需要能夠用不同的語言生成消息。 但這並不太奏效; 代碼像

Thread.CurrentThread.CurrentUICulture = CultureInfo.GetCultureInfo("de-DE");
Console.WriteLine(DirectoryNotFoundException().Message);

始終生成英文版本“試圖訪問不在磁盤上的路徑。”。

我發現我遺漏了一些東西並按照說明安裝了德語 .NET Framework 4.7.2 語言包,以便在 TargetFrameworkVersion=v4.7.2 Visual Studio 2017 的應用程序中對此進行測試,沒有變化。

想在 Visual Studio 2022 中嘗試同樣的操作,使用相同的應用程序但目標是 v4.8,我還嘗試安裝德語 .NET Framework 4.8 語言包,但該安裝程序未完成。 翻譯后的消息是(幾乎具有諷刺意味的是,安裝程序 UI 完全是德語)“此計算機上已安裝 .NET Framework 4.8 (Deutsch) 或更高版本。”

我在這里做錯了什么嗎? 我的意思是我可以編寫針對不同框架版本的應用程序,所以我假設存在語言包的先決條件? 我是否需要安裝其他東西,或者以不同的方式安裝?

有沒有辦法在代碼中或以其他方式弄清楚為什么GetCultureInfo調用不返回文化,例如 go 在哪里尋找資源文件,也許有辦法糾正這個問題?

看起來要讓它工作,操作系統需要有所需的語言(感謝@PMS 對此的提示):安裝德語( Start->Add a language to this device )解決了它,即使沒有安裝單獨的語言包或任何東西。

有沒有辦法在代碼或其他方面弄清楚為什么 GetCultureInfo 調用不返回文化,例如 go 在哪里尋找資源文件

雖然這仍然沒有得到證實,但我現在不再需要它了。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM