C# WPF程序引用WPFLocalizeExtension第三方庫實現全球化

 1     public static class LangHelper
 2     {
 3         /// <summary>
 4         /// 根據關鍵字獲取當前語言環境下的提示信息
 5         /// </summary>
 6         /// <param name="key"></param>
 7         /// <param name="resourceFileName"></param>
 8         /// <param name="addSpaceAfter"></param>
 9         /// <returns></returns>
10         public static string GetLocalizedString(string key, string resourceFileName = "Langs", bool addSpaceAfter = false)
11         {
12             var localizedString = String.Empty;
13 
14             // Build up the fully-qualified name of the key
15             var assemblyName = System.Reflection.Assembly.GetExecutingAssembly().GetName().Name;
16             var fullKey = assemblyName + ":" + resourceFileName + ":" + key;
17             var locExtension = new LocExtension(fullKey);
18             locExtension.ResolveLocalizedValue(out localizedString);
19 
20             // Add a space to the end, if requested
21             if (addSpaceAfter)
22             {
23                 localizedString += " ";
24             }
25 
26             return localizedString;
27         }
28     }
View Code

 1 <Window
 2     ...
 3     xmlns:lex="http://wpflocalizeextension.codeplex.com"
 4     lex:LocalizeDictionary.DesignCulture="en-US"
 5     lex:ResxLocalizationProvider.DefaultAssembly="AppSample"
 6     lex:ResxLocalizationProvider.DefaultDictionary="Langs">
 7     <!-- 解釋一下 -->
 8     <!--
 9     lex:LocalizeDictionary.DesignCulture="en-US" 默認en-US英文,zh-CN中文,這裏採用英文
10     lex:ResxLocalizationProvider.DefaultAssembly="AppSample" AppSample爲程序集名稱
11     lex:ResxLocalizationProvider.DefaultDictionary="Langs"  找不到時,去找Langs資源下
12     -->
13     <!-- 其他代碼 -->
14 </Window>  
View Code

4 GitHub

4.1 LocalizeExtension開源地址

https://github.com/XAMLMarkupExtensions/WPFLocalizationExtension

4.2 測試Demo地址

https://github.com/JeremyWu917/DynamicChangeLanguageSample

  作者:Jeremy.Wu
  出處:https://www.cnblogs.com/jeremywucnblog/
  本文版權歸作者和博客園共有,歡迎轉載,但未經作者同意必須保留此段聲明,且在文章頁面明顯位置給出原文連接,否則保留追究法律責任的權利。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章