Windows Phone 应用程序的全球化-阿里云开发者社区

开发者社区> 狼人2007> 正文

Windows Phone 应用程序的全球化

简介:   Windows Phone 应用程序的全球化跟Silverlight做法一样,如果大家熟悉Silverlight的全球化,可以不看此文。本文一个具体的Demo介绍wp7应用程序如何实现本地化,并在本地化的一些注意点。
+关注继续查看

  Windows Phone 应用程序的全球化跟Silverlight做法一样,如果大家熟悉Silverlight的全球化,可以不看此文。本文一个具体的Demo介绍wp7应用程序如何实现本地化,并在本地化的一些注意点。

  1. 创建windows phone 7 应用程序,命名为wp7Global。

  2. 右击项目,选择添加新项目,选择Resources File,命名为AppResource,如下图,点击确定。

  3. 假设我们程序的默认语言是英文的,则刚刚添加的资源文件就是我们程序默认的语言资源文件,右击项目wp7Global选择属性,打开属性页,点击Assembly Information按钮,将Neutral Language设置为English (United States),如下图

  4. 添加简体中文、繁体中文的资源文件,注意文件的命名规则,如我们要添加中文的源文件,则该资源文件的命名方式为AppResource.zh-CN.resx,繁体中文为AppResource.zh-TW.resx,关于更多语言的命名可以参考MSDN CultureInfo。 添加后的项目解决方案大致如下图:

  5. 关闭项目,使用文本编辑工具(如UltraEdit,EditPlus,Notepad++等)打开项目文件wp7Global.csproj,找到SupportedCultures标签,在标签中输入zh-CN;zh-TW;表示项目支持的语言。如下图:

  6. 重新打开项目,打开默认语言资源文件AppResource.resx,将Access Modifier修改为public,如下图:

  7. 创建一个用于指向语言资源文件的类,这里我们将其命名为LocalizedStrings,类中提供一个类型为资源文件的属性,具体的代码如下

  8. 将LocalizedStrings定义到项目资源中,即App.xaml中,具体代码如下

   9. 然后我们就可以在我们的程序中,使用如下的代码进行国际化了

Text="{Binding Path=Localizedresources.HelloWorld, Source={StaticResource LocalizedStrings}}"

  10. 为了演示具体的效果,这里创建一个设置语言的页面,命名为Setting,在页面中放置3个RadioButton,分为代表不同的语言,如下图:

  11. 设置它们的Check事件均为SelectLanguage,事件方法体如下:

  12. 上述事件方法中涉及到一个静态帮助类,AppSettingHelper。是一个应用程序配置信息的帮助类。其代码如下:

  13. 在三个资源文件中增加资源,HelloWorld,如下图:

  14. 在App.xaml.cs的构造函数中设置程序的语言,大致代码如下

  15. 运行程序,可以看到默认显示出来的是Hello World。点击Setting按钮,设置语言为zh-CN,然后点击开始键,重新进入程序,发现Hello World变成了“你好,世界”。

 

  ok,国际化的步骤大致如上。下面讲讲在国际化时的一些注意事项:

  1. 在资源文件中不要加入类似这样的字符串<link> 等,Key一般是字符串,并且能够更好的描述其代表的字符串,如AppSetting,就可以代表应用程序设置。

  2. 一门语言一个资源文件。

  3. 将文本框等控件启动multiline ,将WRAP设置为text-wrapping 以允许字符串在不同言语下长度不一致的问题。

  4. 将一个句子本地化,不要把句子拆开来,中间的变量我们可以使用{0}代替

  更多的注意事项参考 http://msdn.microsoft.com/en-us/library/ff967552(v=VS.92).aspx

   本文的示例代码下载地址如下:

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
Android应用程序框架之Home程序(Launcher)
上一篇博客我们讲了PackageManagerService的启动过程以及对于应用程序的注册过程,当系统启动完成后,系统需要开启第一个应用程序,这就是Home程序,也就是我们熟知的桌面程序。本篇博客主要介绍Home的启动过程。 通过上一篇博客介绍,我们知道系统在启动的时候会启动SystemServer,并且在SystemServer中会启动一系列的Service,包括Pac
1320 0
菜鸟学Windows Phone 8开发(4)——设置应用程序样式
原文 菜鸟学Windows Phone 8开发(4)——设置应用程序样式 本系列文章来源MSDN的 面向完全新手的 Windows Phone 8 开发  本文地址:http://channel9.
893 0
iPhone 应用开发的5个贴士
本文作者为来自 Redbytes Software 的开发者 James Richard,主要介绍开发 iPhone 应用过程中大有益处的五个贴士。文章系国内 ITOM 管理平台 OneAPM 编译呈现
1325 0
Visual Studio 2017 - Windows应用程序打包成exe文件(2)- Advanced Installer
原文:Visual Studio 2017 - Windows应用程序打包成exe文件(2)- Advanced Installer Advanced Installer :Free for 30 days.
1540 0
如何发布你的Android应用程序
  本文是从 Some Things To Know About Publishing Android Apps 这篇文章翻译而来。     到目前为止,在Android交易市场(Android Market)里,已经有我的2个应用程序了,所以,我想写出一点关于Android应用程序发布过程的东西,用来告诉那些想发布自己的应用程序的朋友们,在发布过程中会遇到哪些的事情。
963 0
Windows Phone 8初学者开发—第3部分:编写第一个Windows Phone 8应用程序
原文 Windows Phone 8初学者开发—第3部分:编写第一个Windows Phone 8应用程序 原文地址: http://channel9.msdn.com/Series/Windows-Phone-8-Development-for-Absolute-Beginners/P...
920 0
windows下的vs2017新建win32控制台应用程序项目如何调出程序向导选项?
windows下的vs2017新建win32控制台应用程序项目如何调出程序向导选项? 如下图所示: 我的GitHub地址:https://github.com/heizemingjun 我的博客园地址:http://www.
1163 0
+关注
狼人2007
个人对技术的追求:代码少而精捍;思路清晰美观;可扩展好维护;技术驱动商业; 人生格言:只要你有信念,有追求,并且坚持,那你一定比随波逐流,行得远行得正...
3528
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
《2021云上架构与运维峰会演讲合集》
立即下载
《零基础CSS入门教程》
立即下载
《零基础HTML入门教程》
立即下载