人。 好嗎?ASP.NET CORE(.NET Framework)和本地化
有人可以幫助我嗎? ASP.NET核心與.Net框架
主題:本地化
我根據文檔所做的所有設置。
當我使用:
IStringLocalizer<HomeController>
作品完美的翻譯。
IStringLocalizer<Resources.Views.Shared.Test>
作品完美翻譯。
在查看
@inject IViewLocalizer localizer
作品翻譯正確。
但是,在之前的所有情況下,資源都是在ASP.NET CORE項目中創建的。
如果我創建一個單獨的項目和使用:
IStringLocalizer<ClassLibrary1.Test>
不工作,不翻譯。
它只返回默認語言。
如果我強迫在控制器的ASP.NET核心代碼:
ResourceManager rm = new ResourceManager(typeof(ClassLibrary1.Test));
string test = rm.GetString("Hello", new System.Globalization.CultureInfo("en-US"));
它沒有很好的解讀。 它只返回默認語言。
也就是說,我懷疑這與在一個單獨的項目中有關。
現在奇怪的是,我創造了另一個ClassLibrary,並把代碼:
string test = Test.ResourceManager.GetString("Hello", new System.Globalization.CultureInfo("en-US"));
如果我在一個ASP.NET核心參考此ClassLibrary,返回的是標準的語言,這是不對的。
如果我在Asp.Net中引用,它的工作原理和翻譯完美。
這將是一個已知的錯誤?
在asp.net核心中使用的設計中的類庫的一些特定配置?
我想在asp.net中使用.NET框架的核心asp.net應該可以同時使用相同的代碼。
有沒有人有類似的問題?
燒在這幾個小時。我可以證實這是正確的。不幸的是(微軟的結束)但是正確。只需將包含資源的項目中生成的文化文件夾複製到Core項目的輸出目錄中,ResourceManager將再次正常開始工作。 (例如「en-US」文件夾爲「bin \ net452」... bam ...完成交易)。感謝愛德華將這個分類出來。 – mikeo