用途:为 WPF 应用实现多语言支持,覆盖资源文件、BAML 本地化与运行时区域性功能。
主要能力:
- 资源文件(.resx)方式:按语言建立 Strings.resx、Strings.ko-KR.resx、Strings.ja-JP.resx、Strings.de-DE.resx 等,支持简单字符串查找与强类型访问。
- BAML 本地化:使用 x:Uid 属性与 LocBaml 工具。
- 运行时特性:FlowDirection(RTL 支持)、区域性感知格式化、动态语言切换。
使用方式:
- 在 XAML 中通过 {x:Static p:Strings.AppTitle} 绑定资源,或在代码中用 Strings.AppTitle、string.Format(Strings.WelcomeMessage, userName)、Strings.ResourceManager.GetString("SaveButton") 访问。
- 在 App.OnStartup 中设置区域性:Thread.CurrentThread.CurrentCulture、CurrentUICulture,以及 CultureInfo.DefaultThreadCurrentCulture、DefaultThreadCurrentUICulture(.NET 4.6+)。
- 动态切换:LocalizationService.ChangeCulture 更新区域性、保存设置并触发 CultureChanged 事件;完整更新 XAML 通常需重启应用。
- 语言选择 UI 可用 ComboBox,通过 Tag 传入 en-US、ko-KR、ja-JP、de-DE 等区域性名称。
适用场景:需要多语言界面、从右到左布局或区域性感知日期/数字/货币格式的 WPF 桌面应用。
限制:资料未提供具体收费、平台版本要求或性能数据;动态切换语言后完整生效通常需要重启应用。