簡體   English   中英

ASP Net core - 如何實現后台服務本地化?

[英]ASP Net core - How to implement background services localization?

這里發布了一個問題,詢問有關在 ASP NET 核心應用程序中刪除非活動用戶的最佳實現。 Ian Kemp 為此建議了后台服務,我真的很喜歡這個。

現在我想知道如何在后台服務中實現本地化程序(我需要通知他們很快他們的帳戶將被刪除)? 我可以存儲有關用戶在瀏覽我的應用程序時使用的文化的信息。 我看到IStringLocalizer< SomeClass > - WithCulture的 function - WithCulture 返回具有請求文化的新 IStringLocalizer。 但它表明它已被棄用。 有沒有其他方法可以將 Localizer 實現到后台服務(同時在 DB 中使用存儲的用戶文化)?

如果您有語言代碼,則可以設置CultureInfo.CurrentUICulture以通過stringLocalizer獲取本地化字符串。

    public class ResourceProvider
    {
        private readonly IStringLocalizer stringLocalizer;
        public ResourceProvider(IStringLocalizerFactory localizerFactory)
        {
            stringLocalizer = localizerFactory.Create("ResourceStrings", System.Reflection.Assembly.GetExecutingAssembly().GetName().Name);
        }

        public string GetLocalizedString(string resourceKey, string languageCode)
        {
          CultureInfo.CurrentUICulture = new CultureInfo(languageCode);
          var localizedString = stringLocalizer[resourceKey].Value;
          return localizedString;
        }
    }

暫無
暫無

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

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