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 }
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>
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/
本文版權歸作者和博客園共有,歡迎轉載,但未經作者同意必須保留此段聲明,且在文章頁面明顯位置給出原文連接,否則保留追究法律責任的權利。