37、WPF 资源管理与本地化实践

WPF 资源管理与本地化实践

1. 本地化翻译流程

当完成应用程序本地化所需的基础准备后,接下来要创建包含窗口替代版本(以 BAML 形式)的卫星程序集,并将这些程序集放置在正确的文件夹中。手动完成这些工作会很繁琐,且通常需要第三方翻译服务参与,而翻译人员不一定是熟练的程序员,也不太可能让他们接触代码。因此,需要一种管理本地化流程的方法。当前 WPF 提供了部分解决方案,基本流程如下:
1. 标记应用程序中需要本地化的元素,还可添加额外注释帮助翻译人员。
2. 将可本地化的细节提取到 .csv 文件(逗号分隔的文本文件)中,然后发送给翻译服务方。
3. 收到翻译后的文件后,再次运行 locbaml 生成所需的卫星程序集。

2. 准备用于本地化的标记元素

首先,要为所有需要本地化的元素添加专门的 Uid 属性。例如:

<Button x:Uid="Button_1" Margin="10" Padding="3">A button</Button>

Uid 属性和 Name 属性作用类似,能在单个 XAML 文档中唯一标识一个按钮,这样就能为该按钮指定本地化文本。WPF 使用 Uid 而非直接复用 Name 值,原因包括名称可能未分配、按不同约定设置且在代码中使用等,实际上 Name 属性本身也是可本地化的信息。

除了文本,还需考虑字体、字号、边距、填充等对齐相关细节。在 WPF 中,每个可能需要本地化的属性都用 System.Windows.LocalizabilityAttr

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值