簡體   English   中英

ASP.NET CORE(.NET Framework)和本地化

[英]ASP.NET CORE (.NET Framework) and Localization

人。 行?

有人能幫我嗎? ASP.NET核心與.Net Framework

主題:本地化

我根據文檔做了所有設置。

我用的時候:

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 CORE中引用此ClassLibrary,則返回是標准語言,這是錯誤的。

如果我在Asp.Net中引用它,它可以完美地工作和翻譯。

這將是一個已知的錯誤?

在asp.net核心中使用的設計中的類庫的一些特定配置?

我想相同的代碼應該在asp.net中作為帶有.NET框架的核心asp.net。

有人有過類似的問題嗎?

問題解決了。

確定資源DLL未復制到ASP.NET Core項目。

只需在構建完成后手動復制即可解決所有問題。 這是目前唯一的解決方案。

詳情請訪問: https//github.com/aspnet/Mvc/issues/5219

暫無
暫無

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

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