WP8开发日志(1):工具包的本地化

  

其实此篇博客本不是这时候发表的,但由于爱恨纠缠,还是将此备忘先写下来罢,免得到时又忘记,只要自己还在弄WP的东西估计不会那么快就是啦.WP8的开发,其实跟WinRT的开发大同小异而已,满眼都是c#跟xaml,我真是恨透了xaml,可是,用惯了其实还挺上心的,新学一门技术,最困难的永远是入门。


WP8的开发环境我用的VS2013,本身支持的控件不多,如日历等就没有啦,若想从基础控件搭起恐怕有难度,WP工具包是微软自身开发的第三方控件库,像常用的DatePicker跟TimePicker用起来就相当方便(具体怎么加载稍后附上,自己百度的话也可以完全弄明白),不过问题在于工具包的本地化出现了问题,如下图所示,星期跟月份的显示就很正,常可标题跟任务栏的文字却只显示英文,因为这个问题,我几乎用了整整一天的时间去各种搜索,搜到一篇相关的帖子可还是弄不到头绪,下载了源码来看,两者应用加载时,源码的工程是会加载Microsoft.Phone.Controls.Toolkit.resources。dll的,自己新建的工程却没有这一项,可以基本判断自己的工程加载工具包的语言包出了问题。


 WP8开发日志(1):工具包的本地化


经过一番挣扎,最终的问题原因归结为:新建工程的默认语言必须为en - us(万恶的美帝)。所以一般使用WP表达2012英文版来开发是不会有这个问题的,顶多在工程属性里添加一项支持语言为中文(简体)就可以了。以下是具体的解决方法:


<强>(1)修改工程的默认语言

(1 - 1)修改工程的AssemblyInfo。cs文件,将最后一行的默认语言改为en - us,如下。

[组装:AssemblyVersion (“1.0.0.0”)]
  [组装:AssemblyFileVersion (“1.0.0.0”)]
  [组装:NeutralResourcesLanguageAttribute (“en - us”)] 

(1 - 2)为了保险起见,打开WMAppManifest.xml文件,将“打”包选项的默认语言也改为“英语(美国)”

(1 - 3)自然还有工程属性,将默认语言也为英语。

 WP8开发日志(1):工具包的本地化

(1 - 4)保存工程,再关闭工程,当你再次打开工程时,其默认语言为英语。


<强>(2)添加中文语言的支持

重新打开刚刚修改后的工程,打开项目的属性窗口,在(1 - 3)图示的地方勾选”中文(简体,中国)”,如下图所示。

 WP8开发日志(1):工具包的本地化

保存工程,你会发现在工程的资源目录下添加了一项AppResources.zh-CN。resx,这个就是工具包的本地化语言包。


<强>(3)编译运行

然后就完美支持中文啦,如下图所示:

 WP8开发日志(1):工具包的本地化


个人觉得,这样的本地化设置的确是有点恶心,稍后附工具箱上的源码(现在好像上传需要等一段时间的),有兴趣的朋友可以自己研究。

WP8开发日志(1):工具包的本地化