# MultiLanguageForXAML **Repository Path**: djinjie/MultiLanguageForXAML ## Basic Information - **Project Name**: MultiLanguageForXAML - **Description**: Multi-Language support For XAML. WPF/UWP 动态多语言切换支持 - **Primary Language**: C# - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 1 - **Created**: 2021-09-15 - **Last Updated**: 2021-09-15 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # MultiLanguageForXAML 针对WPF/WPF Core和UWP的通用多语言支持库 ## [Nuget](https://www.nuget.org/packages/MultiLanguageForXAML/) ## 效果预览 * **WPF** ![steup](https://raw.githubusercontent.com/DaZiYuan/MultiLanguageForXAML/master/screenshots/WPF.gif) * **UWP** ![steup](https://github.com/DaZiYuan/MultiLanguageForXAML/blob/master/screenshots/UWP.gif?raw=true) ## 用法 * **定义语言文件** ``` //Languages/zh.json 编译时拷贝到目录 { "txt": "一", "format":"你好 {0} !", "world":"世界" } //Languages/en.json 编译时拷贝到目录 { "txt": "one", "format":"hello {0} !", "world":"world" } ``` * **初始化** ```csharp //WPF //怀疑用Environment.CurrentDirectory开机启动时目录会出错,待验证 string appDir = Path.GetDirectoryName(Assembly.GetEntryAssembly().Location); string path = Path.Combine(appDir, "Res\\Languages"); LanService.Init(new JsonDB(path), true); //UWP string path = Path.Combine(Windows.ApplicationModel.Package.Current.InstalledLocation.Path, "Languages"); LanService.Init(new JsonDB(path), true); ``` * **XAML** ```XAML ``` * **切换语言** ```csharp //WPF Thread.CurrentThread.CurrentUICulture = new System.Globalization.CultureInfo(CultureName); await LanService.UpdateLanguage(); //UWP ApplicationLanguages.PrimaryLanguageOverride = CultureName; await LanService.UpdateLanguage(); ``` ## QQ群交流: C#全栈开发:191034956 全球it互联交友: 665127101 (只允许单身码农和各行业的妹子加入,初衷是给程序员多一种认识异性的渠道)