WP8开发日志(1):Toolkit的本地化-创新互联
其实此篇blog本不是这时候发表的,但由于爱恨纠缠,还是将此备忘先写下来罢,免得到时又忘记——只要自己还在弄WP的东西估计不会那么快就是啦。WP8的开发,其实跟WinRT的开发大同小异而已,满眼都是C#跟xaml,我真是恨透了xaml,可是,用惯了其实还挺上心的,新学一门技术,最困难的永远是入门。
创新互联公司长期为上千余家客户提供的网站建设服务,团队从业经验10年,关注不同地域、不同群体,并针对不同对象提供差异化的产品和服务;打造开放共赢平台,与合作伙伴共同营造健康的互联网生态环境。为柳南企业提供专业的网站设计制作、成都网站建设,柳南网站改版等技术服务。拥有十载丰富建站经验和众多成功案例,为您定制开发。WP8的开发环境我用的VS2013,本身支持的控件不多,如日历等就没有啦,若想从基础控件搭起恐怕有难度,WP Toolkit是微软自身开发的第三方控件库,像常用的DatePicker跟TimePicker用起来就相当方便(具体怎么加载稍后附上,自己百度的话也可以完全弄明白),不过问题在于Toolkit的本地化出现了问题,如下图所示,星期跟月份的显示就很正常,可标题跟任务栏的文字却只显示英文。因为这个问题,我几乎用了整整一天的时间去各种搜索,搜到一篇相关的帖子可还是弄不到头绪,下载了源码来看,两者APP加载时,源码的工程是会加载Microsoft.Phone.Controls.Toolkit.resources.dll的,自己新建的工程却没有这一项,可以基本判断自己的工程加载Toolkit的语言包出了问题。
经过一番挣扎,最终的问题原因归结为:新建工程的默认语言必须为en-US(万恶的美帝)。所以一般使用WP Express 2012英文版来开发是不会有这个问题的,顶多在工程属性里添加一项支持语言为中文(简体)就可以了。以下是具体的解决方法:
(1)修改工程的默认语言
(1-1)修改工程的AssemblyInfo.cs文件,将最后一行的默认语言改为en-US,如下。
[assembly: AssemblyVersion("1.0.0.0")] [assembly: AssemblyFileVersion("1.0.0.0")] [assembly: NeutralResourcesLanguageAttribute("en-US")]
(1-2)为了保险起见,打开WMAppManifest.xml文件,将“打包”选项的默认语言也改为“英语(美国)”
(1-3)自然还有工程属性,将默认语言也为英语。
(1-4)保存工程,再关闭工程,当你再次打开工程时,其默认语言为英语。
(2)添加中文语言的支持
重新打开刚刚修改后的工程,打开项目的属性窗口,在(1-3)图示的地方勾选“中文(简体,中国)”,如下图所示。
保存工程,你会发现在工程的Resources目录下添加了一项AppResources.zh-CN.resx,这个就是Toolkit的本地化语言包。
(3)编译运行
然后就完美支持中文啦,如下图所示:
个人觉得,这样的本地化设置的确是有点恶心,稍后附上Toolkit的源码(现在好像上传需要等一段时间的),有兴趣的朋友可以自己研究。
另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。
文章名称:WP8开发日志(1):Toolkit的本地化-创新互联
网页URL:http://azwzsj.com/article/ceojij.html