国际化和本地化一个WPF工程

1. 概述

       该文章介绍了一种国际化和本地化一个WPF工程的方法,并给出了一个Sample。该解决方法是根据SDK Documents以及CodeProject.com网站的文章总结出来的。

      WPF程序会自动根据OS的版本选择资源程序集,如果本地程序集不在,则使用默认程序集资源。可以通过代码的形式让WPF程序使用某一个版本的资源。本文介绍的方法不需要再对工程进行编译,可以直接获得资源集。

      该方法中需要用到的几个工具:

  •    MSBuild.exe ( Microsoft build engine)
  •  LocBaml.exe
  •  Resgen.exe ( Resource File Generator)
  • Al.exe ( Assembly Linker)

2. 国际化

2.1 字符串处理

     在WPF工程中非XAML的Code中,通常有两种类型的字符串:一种是显示给用户的需要本地化的,一种是程序内部使用的不需要本地化的。对于这两种字符串,我们可以采取下述措施进行:

2.2 国际化

国际化是可以在多种语言区域运行的应用程序的设计与开发。

步骤1:创建一个WPF程序

使用Properties/Resources.resx来保存需要本地化的字符串:

使用NonLocalizableString.cs来保存不需要本地化的字符串:

步骤2:创建下图所示的UI

步骤3:创建ShowMsg按钮的点击事件函数

步骤4:生成XAML文件中控件的Uid

打开SDK的命令行工具

使用如下命令生成并检查Uid:

         Msbuild /t:updateuid LocalizationTest.csproj  // generate Uid
Msbuild /t:checkuid LocalizationTest.csproj  // check Uid

步骤5:Build工程,一个可以进行本地化的工程就建立成功了。

3. 本地化

  应用程序要支持某特定的语言,就需要把程序资源翻译成本地版本,这个翻译的过程就是本地化。对于WPF工

程的本地化需要下列工具:

1.           LocBaml.exe

2.           Resgen.exe

3.           Al.exe

另外还需要一些必要的辅助文件:

Table 3-1 Essential files for localization

File name

Location

Comments

LocalizationTest.exe

bin/Release

Main assembly to be used to abstract resource to be localized in XAML.

LocalizationTest.g.resources

obj/Release

Generate binary resource file of XAML by using it.

LocalizationTest.Properties.Resources.resources

 

obj/Release

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值