设为首页 收藏本站
查看: 783|回复: 0

Windows Phone 8初学者开发—第7部分:本地化应用程序

[复制链接]

尚未签到

发表于 2015-5-10 11:08:35 | 显示全部楼层 |阅读模式
第7部分:本地化应用程序
  原文地址:
  http://channel9.msdn.com/Series/Windows-Phone-8-Development-for-Absolute-Beginners/Part-7-Localizing-the-App
  系列地址:http://channel9.msdn.com/Series/Windows-Phone-8-Development-for-Absolute-Beginners
  源代码: http://aka.ms/absbeginnerdevwp8
PDF文件: http://aka.ms/absbeginnerdevwp8pdf
  在本课中我将解释如何本地化您的应用,也就是说我们可以在您的应用程序中呈现不同语言的文本。例如,我需要同时支持英语和西班牙语的用户以开辟潜在的销售应用程序的市场。现在在不同的市场有了更多的销售而不是局限在本地市场,这是朝着正确方向迈出的一大步。
  本课的计划是:


  • 我们将学习在AppResources.resx文件中存储名称/值对以及在声明式的XAML代码(或命令式的C#代码)中访问它们。
  • 我们将看到在Visual Studio中如何创建针对特定语言和区域的文件。
  • 我们将学习Windows Phone 8操作系统如何基于用户的语言和区域来选择正确版本的AppResouces.resx文件。

1. 修改AppResources.resx设置并绑定到它的值
  如果您展开PetSounds项目的Resource文件夹,您将会看到一个称为AppResources.resx的文件:
DSC0000.png
  如果您双击并打开它,它将会在一个特别的设计器的主区域中被打开:
DSC0001.png
  该文件是一系列的名称/值对。左侧是我们将要绑定的设置名称。右侧是给定语言的设置。哪种语言?请查看最后的属性。
  资源语言(ResourceLanguage)
  被设置为:
  en-US
  "en" 的意思是"English"。"US"是指区域,在这里的意思是”USA”。因此,这些设置用于讲英语的美国用户。它也是默认的AppResources文件(您将很快会看到默认和我们支持的其他语言/区域之间的区别)。
  名称/值对主要是我们在应用程序中使用的文本片段。但是“资源流动方向(ResourceFlowDirection)”是有关字符应该往哪个方向呈现的设置。正如您所知道的,一些语言的阅读习惯是从右向做,该设置在应用程序中被用于这个目的。
  正如您所看到的,ApplictionTitle设置被设为"MY APPLICATION"。如果我想把MainPage.xaml中的TextBlock转换为使用AppResources中的设置应该怎么做?我将使用如下的绑定表达式:
DSC0002.png
  正如您所看到的,我将硬编码的文本替换为以下的绑定表达式:



Text="{Binding Path=LocalizedResources.ApplicationTitle,Source={StaticResource LocalizedStrings}}"
  
  接下来需要进行一些背景方面的解释。现在只要知道我们正在使用绑定表达式将数据绑定到属性(文本)。绑定表达式中的Path属性是指项目中的LocalizedStrings.cs文件。它创建了一个AppResources对象的实例,这个实例为我们提供了对基于区域和手机用户首选语言的AppResource文件的访问。我们马上就会看到他们是如何一起工作的。.ApplicationTitle指向AppResources.resx文件中的特定名称入口。Source属性绑定到LocalizedStrings,编译器通过LocalizedStrings可以找到LocalizedResources属性,该属性是LocalizedStrings.cs文件中LocalizedStrings类的一部分。
  为了获取这些内容是如何相互关联的更加深入的讨论,您可以参考MSDN上的这篇文章:
  http://msdn.microsoft.com/en-us/library/windowsphone/develop/ff637520(v=vs.105).aspx
DSC0003.png

2. 添加对第二语言的支持
  现在我们只支持英语(美国)。无论用户在世界的哪个区域,我都想支持西班牙语。要做到只一点:
DSC0004.png


  • 在解决方案资源管理器中,右键单击项目标题PetSounds
  • 在上下文菜单中选择”属性(Properties)”
  项目属性设计器将会出现,并且左侧的应用程序(Application)选项卡已被选中(如果未选中则选中它)
DSC0005.png
  在“支持的区域性(Supported Cultures)”下,选择“西班牙语(Spanish)”。
  然后保存项目并关闭项目属性选项卡。根据当前加载到Visual Studio主要区域的内容,您有可能将会看到以下消息:
DSC0006.png
  如果看到它,您可以单击"是"按钮。
  现在在Resources文件夹中将会出现一个新的文件:
  AppResources.es.resx
DSC0007.png
  AppResources文件的.es后缀表示西班牙语(es表示”Espanol”)。双击这个文件并打开它:
DSC0008.png
  默认情况下它是英文。在我儿子的帮助下,我将值(Value)从英语翻译为西班牙语。请注意:名称(Name)在英语版本和西班牙语版本的文件中必须相同。不要翻译名称,仅需要翻译值。名称是编程的标识,名称对应的值将显示给最终用户。
DSC0009.png

3. 测试应用程序的不同语言版本
  完成翻译后按F5运行应用程序,使用手机模拟器的启动按钮,然后从右向左轻扫以进入按字母顺序排列的应用程序列表,并向下滚动到设置应用程序,点击并打开它:
DSC00010.png
  在设置应用程序的“系统”页面,向下滚动至“语言+区域”并点击该选项:
DSC00011.png
  在“语言+区域”页面,点击手机语言并将“英语(美国)”编辑为:
DSC00012.png
  在语言和区域列表中我选择"espanol (Espana)":
DSC00013.png
  然后滚动到页面底部,您将看到“重新启动手机”按钮。注意消息中的“需要重新启动”提示:
DSC00014.png
  当重新启动后我看到消息“hasta luego”:
DSC00015.png
  此时Visual Studio会断开连接。没关系,您不需要处在Visual Studio中的调试模式,现在仅需要关注手机模拟器。手机模拟器将使用最近一次部署的应用程序版本。
  一旦应用程序模拟器启动完毕,您可以轻扫以进入应用程序列表,您会发现他们都是西班牙语了。
  点击"PetSounds"应用程序:
DSC00016.png
  当应用程序打开时,您将会发现标题被替换为我们在AppResources.es.resx文件中的输入。
DSC00017.png
  非常棒!现在我只需要重复这些步骤,尤其是在整个应用程序中创建名称/值对并使用绑定表达式以完全本地化应用程序的用户界面。
  除非您使用双语,您可能想回溯以上步骤并重置手机模拟器以重新使用英语。或者您可以完全关闭手机模拟器(在Windows任务栏,右键单击并选择关闭),Visual Studio将以缺省值重启手机模拟器。

回顾
  综上所述,本课的重点是如何使用AppResources文件、项目属性和一些绑定语法来本地化您的应用程序。我们同时学习了如何设置手机的语言和区域以测试我们的本地化自定义。

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-65435-1-1.html 上篇帖子: Windows 7+Code::Blocks+wxWidgets实录(一) 下篇帖子: Windows Phone 7 XDE 介绍
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表