用途:面向需要专业翻译流程的企业级 WPF 多语言应用,使用 BAML 本地化,通过 x:Uid 属性与 LocBaml 工具生成附属程序集(satellite assembly),可在不重新编译的情况下完成本地化。
主要能力与流程:1) 在 XAML 元素上添加 x:Uid(如 SaveButton、TitleText,需在文件内唯一);2) 在 .csproj 中设置 <UICulture>en-US</UICulture>;3) 构建生成默认资源;4) 用 LocBaml /parse 提取为 CSV;5) 翻译 CSV;6) 用 LocBaml /generate 生成各语言附属程序集。
必要命令:LocBaml /parse MyApp.resources.dll /out:en-US.csv;LocBaml /generate MyApp.resources.dll /trans:ko-KR.csv /cul:ko-KR /out:.\ko-KR。
运行时可在 App.xaml.cs 的 OnStartup 中于创建 UI 前设置 Thread.CurrentThread.CurrentCulture 与 CurrentUICulture。可本地化属性包括 Window.Title、TextBlock.Text、Button.Content/ToolTip、Label.Content、MenuItem.Header、ToolTip.Content 等。资料还给出 PowerShell 自动化脚本示例,遍历语言批量生成附属程序集。
适用场景:企业应用、专业翻译工作流、复杂 UI 多属性本地化、需免重编译更新语言。
限制:资料未提供 LocBaml 的获取与安装方式、版本兼容性、性能与收费信息,也未说明具体平台限制,这些暂未提供。