windows phone 全球化 多语言开发

全球化和本地化

若要将您的应用程序开发为多种语言版本,您需要将应用程序全球化和本地化。您需要实现的大部分全球化和本地化功能已经生成到 .NET Framework 中,通过使用它您可以和任何国家和地区的客户联系。


区域格式数据

指如何为特定区域性设置数字、货币、时间和日期格式。Windows Phone 支持 CultureInfo 类中所列所有区域性的区域格式数据。CultureInfo 类公开属性以便访问某个特定区域性的区域格式数据。

显示语言

Windows Phone 支持下表中的显示语言。

区域性名称

区域性代码

Windows Phone OS 7.0

Windows Phone OS 7.1

简体中文(中国)

zh-CN

                                                                     

    

繁体中文(台湾)

zh-TW

    

    

捷克语(捷克共和国)

cs-CZ

    

    

丹麦语(丹麦)

da-DK

    

    

荷兰语(荷兰)

nl-NL

    

    

英语(美国)

en-US

    

    

英语(英国)

en-GB

    

    

芬兰语(芬兰)

fi-FI

    

    

法语(法国)

fr-FR

    

    

德语(德国)

de-DE

    

    

希腊语(希腊)

el-GR

    

    

匈牙利语(匈牙利)

hu-HU

    

    

意大利语(意大利)

it-IT

    

    

日语(日本)

ja-JP

    

    

朝鲜语(韩国)

ko-KR

    

    

挪威语(挪威)

nb-NO

    

    

波兰语(波兰)

pl-PL

    

    

葡萄牙语(巴西)

pt-BR

    

    

葡萄牙语(葡萄牙)

pt-PT

    

    

俄语(俄罗斯)

ru-RU

    

    

西班牙语(西班牙)

es-ES

    

    

瑞典语(瑞典)

sv-SE

    

    

更改模拟器的区域语言用于测试UI布局

通过在 Visual Studio 中将 Windows Phone 模拟器指定为目标设备并启动应用程序来启动模拟器。

  1. 在模拟器中,单击“开始”按钮返回至“开始”屏幕。
  2. 单击箭头导航至包含应用程序列表的页面。
  3. 在应用程序列表中选择设置
  4. 系统菜单中选择地区和语言
  5. 显示语言列表中,选择所需的语言。
  6. 单击点按此处以接受更改并重新启动手机接受语言更改并重新启动模拟器。

 

重新启动模拟器时,显示语言将设置为所选语言。若您关闭并重新启动模拟器,则地区和语言设置将设回为其默认值。

字体

Windows Phone 手机上存在两种类型的字体:

  • 阅读字体

所有 Windows Phone 手机上都提供这些字体,可以确保用户可以阅读来自世界各地、以任何受支持语言撰写的内容。

  • UI 字体

每一种 UI 字体都与特定显示语言相关联。每部手机包含的显示语言,取决于该手机在哪一个市场上销售。例如,在日本销售的手机很可能包含日语显示语言,而在美国销售的手机可能不包含日语显示语言。用户可以在手机上手动切换显示语言。

如果未提供相应的 UI 字体,则使用相应的阅读字体来显示手机上的内容,这将取决于设置的显示语言。

例如,假设手机包含日语和英语两种显示语言选项,并且手机上设置的显示语言是英语。如果应用程序或 UI 元素包含日语文本,则将显示日语阅读字体(而不是 UI 字体),因为没有将日语设置为显示语言。

 

Windows Phone 中受支持的 UI 字体


下表列出了 Windows Phone 手机上所有受支持的 UI 字体。每种字体对特定手机是否可用取决于该手机中包含哪些显示语言。

拉丁语、西里尔文和基于希腊语的语言

所有拉丁语、西里尔文和基于希腊语的语言的显示语言使用 UI 字体 Segoe WP。所有手机上都包含此字体,所以即使将不同的语言(如日语)设置为显示语言,任何拉丁语、西里尔文和基于希腊语的语言文本仍以 Segoe WP UI 字体显示。

所有 Windows Phone 手机上都包含以下 Segoe WP 字体的变体:

  • Segoe WP Light
  • Segoe WP SemiLight
  • Segoe WP
  • Segoe WP Semibold
  • Segoe WP Bold
  • Segoe WP Black

东亚语言

语言

字体

常规

加粗

简体中文

DengXian

    

    

繁体中文

Microsoft MHei

    

    

日语

Yu Gothic

    

    

朝鲜语

Microsoft NeoGothic

    

    

全球化常用编程

 

更改当前区域性

决不要对区域性的正确格式进行硬编码。相反,您应该为当前线程的 CurrentCulture 属性分配一个新的 CultureInfo 对象。以下代码示例将对代表新的 en-US 区域性 CultureInfo 对象进行实例化。然后将当前线程中的 CurrentCulture 和 CurrentUICulture 属性设置为新的 CultureInfo 对象。

Thread.CurrentThread.CurrentCulture用于选择一个区域语言 然后显示其对应的区域性信息。

Thread.CurrentThread.CurrentUICulture用于获取当前区域的语言,然后显示。

String cul;

cul = "en-US";

CultureInfo newCulture = new CultureInfo(cul);

Thread.CurrentThread.CurrentCulture = newCulture;

Thread.CurrentThread.CurrentUICulture = newCulture;

以下代码示例分别为变量 cc 和 cuic 分配了新的 CurrentCulture 和 CurrentUICulture 对象。

CultureInfo cc, cuic;

cc = Thread.CurrentThread.CurrentCulture;

cuic = Thread.CurrentThread.CurrentUICulture;

在选定的区域设置语言中显示当前区域性名称

以下代码示例将 regionalFrmt 文本框的文本字段设置为选定的区域设置语言。当前区域性名称将以与当前区域性关联的语言显示。

regionalFrmt.Text = cc.NativeName;

用本地化语言显示当前区域性名称

以下代码示例将 displayLang 文本框的文本字段设置为当前区域性名称的本地化版本。例如,假如本地化语言是法语,那么当前区域性名称将以法语显示。

displayLang.Text = cuic.DisplayName;

显示日期(长格式和短格式)

以下代码示例可以获取当前日期和时间。之后,它将 longDate 和 shortDate 文本框的文本字段设置为包含日期模式和当前日期的字符串。

DateTime curDate = DateTime.Now;

longDate.Text = cc.DateTimeFormat.LongDatePattern.ToString() + " " + curDate.ToString("D");

shortDate.Text = cc.DateTimeFormat.ShortDatePattern.ToString() + "   " + curDate.ToString("d");

显示时间(长格式)

以下代码示例将 longTime 文本框的文本字段设置为包含 LongTimePattern 和当前时间的字符串。此字符串将根据当前区域性的时间格式进行格式化

longTime.Text = cc.DateTimeFormat.LongTimePattern + "   " + curDate.ToString("T");

显示货币格式和货币符号

以下代码示例将 currencyFrmt 文本框的文本字段设置为与变量 money 关联的值。变量的 ToString() 方法将此值转换为根据当前区域性的货币格式编排格式的字符串。

Int64 money = 123456789;

currencyFrmt.Text = money.ToString("C");

posted @ 2012-07-20 11:06  书奎  阅读(618)  评论(0编辑  收藏  举报