正确设置语言,加速WP应用提交 推荐
2011-09-26 21:10
295 查看
App Hub在7月18日进行了更新。有些用户反馈新增的默认语言选项有点令人费解。本文简单做个介绍,帮助开发者正确设置语言,加速WP应用提交快速。这次的系统更新后,App Hub可以检测到XAP包中的语言设置。使用这个功能,需要开发者更新以前提交的XAP包,重新提交。
语言检测
AppHub现在能够检测到XAP包里的默认语言设置和资源文件里的本地语言设置。这是通过检测XAP包的[NeutralResourcesLanguage]属性做到的。在App Hub的7月18日的更新中,开发者需要指定这一属性。详细操作方式,建议参考MSDN中的“怎样创建本地化WindowsPhone应用”章节。该章节详细描述了如何通过添加资源文件实现应用程序的本地化。
[NeutralResourcesLanguage]属性位于应用程序的Properties\AssemblyInfo.cs文件中,格式如下所示:
[assembly: NeutralResourcesLanguageAttribute("en")]
属性中的参数部分指定了默认的语言名称。属性的设置非常容易,在Visual Studio中依次单击 Properties -> Assembly Information,然后从下拉列表中选择你想要设定的语言即可。
添加多语言支持,通常涉及到相关目录下的*.resource.dll。
典型的应用往往包含下列的资源文件,可以对比你的XAP:
en-us/MyApp.resources.dll
en-GB/MyApp.resources.dll
en-AU/MyApp.resources.dll
de/MyApp.resources.dll
fr/MyApp.resources.dll
以及[NeutralResourcesLanguage(“es”).
据此不难判断AppHub能够支持的应用语言包括US English, British English, Australian English, German and French and Spanish。用户可以用下面的语言描述自己的应用:
支持English ——应用有“en-us”相关资源
支持English (International) ——应用有“en-GB” 或“en-AU” cultures相关资源
支持German——应用有“de”相关资源
支持French——应用有“fr”相关资源
支持Spanish——应用有“es”相关资源
或许你会问“English (International)是什么意思?它与English有什么不同?”。下面内容将为你解答这些疑问。
本地化数据分组
有一些语言,在世界各地有是有细微差别。例如English就分为US English, UK English, Canada English, Australia English等。这使得描述应用支持的语言时非常麻烦。为了解决这一问题,App Hub使用一种叫做本地化语言分组的方式(LocGroups)来处理同一语言的不同分支。现在开发者只需要说明本地化语言分组,那么当应用被发布到分组所在的地区时,应用描述数据将会在这些分组间共享。
几乎所有的本地化语言分组都只有唯一一种语言。唯一的例外是英语,分为English(North America)和English(International)。前者指美国和加拿大应用,后者指其他地区的应用。当提交应用的时候可以查看“tell us about your app”页面的左侧部分,一边区分两个版本应用的详细描述。
为了避免这个问题,只需避免同时使用这两个不同版本的English。
常见问题
7月18日的更新,引起了一些开发者对于设置默认语言感到困惑,尤其是在提交更新的时候。设置错误的默认语言会引起很多问题,常见的问题有:
Error 2003:[NeutralResourcesLanguage]属性无法读取。
这表名你需要为你的XAP包设置一个[NeutralResourcesLanguage]属性,然后重新编译并提交。具体操作方法在上面的段落中已有提及。
Error 1047:新版XAP包比已经提交的XAP包支持的语言少。
Error 1048:新提交的XAP包中支持的语言与已经提交的XAP包中支持的语言有冲突。
这通常是由于在发布更新时选择了错误的语言而引起的。语言的更新需要与之前的语言相匹配。如果之前的语言被设置成“English(International)”,那么你需要使用[NeutralResourcesLanguage(“es”)。如果是“English”,就用[NeutralResourcesLanguage(“en-US”)或[NeutralResourcesLanguage(“en-CA”).
有时你会遇到一个已知的系统问题:系统提醒你输入数据,但是系统没有提供输入数据的空间。这个问题正在解决众。一个临时解决方法是,删掉正在提交的应用,并重新提交。注意,确保你删掉的是正在提交的应用,而不是已经发布的应用。
语言检测
AppHub现在能够检测到XAP包里的默认语言设置和资源文件里的本地语言设置。这是通过检测XAP包的[NeutralResourcesLanguage]属性做到的。在App Hub的7月18日的更新中,开发者需要指定这一属性。详细操作方式,建议参考MSDN中的“怎样创建本地化WindowsPhone应用”章节。该章节详细描述了如何通过添加资源文件实现应用程序的本地化。
[NeutralResourcesLanguage]属性位于应用程序的Properties\AssemblyInfo.cs文件中,格式如下所示:
[assembly: NeutralResourcesLanguageAttribute("en")]
属性中的参数部分指定了默认的语言名称。属性的设置非常容易,在Visual Studio中依次单击 Properties -> Assembly Information,然后从下拉列表中选择你想要设定的语言即可。
添加多语言支持,通常涉及到相关目录下的*.resource.dll。
典型的应用往往包含下列的资源文件,可以对比你的XAP:
en-us/MyApp.resources.dll
en-GB/MyApp.resources.dll
en-AU/MyApp.resources.dll
de/MyApp.resources.dll
fr/MyApp.resources.dll
以及[NeutralResourcesLanguage(“es”).
据此不难判断AppHub能够支持的应用语言包括US English, British English, Australian English, German and French and Spanish。用户可以用下面的语言描述自己的应用:
支持English ——应用有“en-us”相关资源
支持English (International) ——应用有“en-GB” 或“en-AU” cultures相关资源
支持German——应用有“de”相关资源
支持French——应用有“fr”相关资源
支持Spanish——应用有“es”相关资源
或许你会问“English (International)是什么意思?它与English有什么不同?”。下面内容将为你解答这些疑问。
本地化数据分组
有一些语言,在世界各地有是有细微差别。例如English就分为US English, UK English, Canada English, Australia English等。这使得描述应用支持的语言时非常麻烦。为了解决这一问题,App Hub使用一种叫做本地化语言分组的方式(LocGroups)来处理同一语言的不同分支。现在开发者只需要说明本地化语言分组,那么当应用被发布到分组所在的地区时,应用描述数据将会在这些分组间共享。
几乎所有的本地化语言分组都只有唯一一种语言。唯一的例外是英语,分为English(North America)和English(International)。前者指美国和加拿大应用,后者指其他地区的应用。当提交应用的时候可以查看“tell us about your app”页面的左侧部分,一边区分两个版本应用的详细描述。
为了避免这个问题,只需避免同时使用这两个不同版本的English。
常见问题
7月18日的更新,引起了一些开发者对于设置默认语言感到困惑,尤其是在提交更新的时候。设置错误的默认语言会引起很多问题,常见的问题有:
Error 2003:[NeutralResourcesLanguage]属性无法读取。
这表名你需要为你的XAP包设置一个[NeutralResourcesLanguage]属性,然后重新编译并提交。具体操作方法在上面的段落中已有提及。
Error 1047:新版XAP包比已经提交的XAP包支持的语言少。
Error 1048:新提交的XAP包中支持的语言与已经提交的XAP包中支持的语言有冲突。
这通常是由于在发布更新时选择了错误的语言而引起的。语言的更新需要与之前的语言相匹配。如果之前的语言被设置成“English(International)”,那么你需要使用[NeutralResourcesLanguage(“es”)。如果是“English”,就用[NeutralResourcesLanguage(“en-US”)或[NeutralResourcesLanguage(“en-CA”).
有时你会遇到一个已知的系统问题:系统提醒你输入数据,但是系统没有提供输入数据的空间。这个问题正在解决众。一个临时解决方法是,删掉正在提交的应用,并重新提交。注意,确保你删掉的是正在提交的应用,而不是已经发布的应用。
相关文章推荐
- Tomcat与Apache或Nginx的集群负载均衡设置及Sersync同步应用(1) 推荐
- issues:close-Form字段默认值设置,roo创建应用的默认语言设置
- 设置应用内的系统控件语言
- iOS9正确获取用户语言设置
- 设置应用内的系统控件语言
- .Net语言 APP开发平台——Smobiler学习日志:在手机应用开发中如何设置全局样式
- 94个iOS开发资源推荐,帮你加速应用开发
- 【HIMI转载推荐之三】新手教程之如何向APP STORE提交应用
- 利用负载均衡优化和加速HTTP应用 推荐
- 报警监控平台扩展功能url回调的设计及应用[python语言] 推荐
- 设置应用内的系统控件语言
- 设置应用内的系统控件语言
- 设置应用内的系统控件语言
- 设置应用语言
- android app根据系统语言设置应用语言
- 设置应用内的系统控件语言
- Windows Phone - 提交使用非官方支持语言的应用
- MDSF:Web数据应用模型语言【WebML】介绍 推荐
- Android控制自身应用设置实现多语言
- 推荐《可扩展商业报告语言 XBRL - 在资本市场的创新应用》