背水一战 Windows 10 (81) - 全球化
作者:webabcd
介绍
背水一战 Windows 10 之 全球化
- Demo
- 格式化数字
示例
1、演示全球化的基本应用
Localization/GlobalizationDemo.xaml
<Page
x:Class="Windows10.Localization.GlobalizationDemo"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:local="using:Windows10.Localization"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
mc:Ignorable="d"> <Grid Background="Transparent">
<StackPanel Margin="10 0 10 10"> <TextBlock Name="lblMsg" /> </StackPanel>
</Grid>
</Page>
Localization/GlobalizationDemo.xaml.cs
/*
* 演示全球化的基本应用
*
*
* 注:本地化和全球化的区别
* 1、全球化的产品应该适用于任何一个本地市场
* 2、本地化通常会有 UI 的调整,语言的翻译,甚至是针对本地开发的一些特殊的功能
* 3、一个全球化的产品做本地化时,一般只做语言翻译
*/ using System;
using Windows.Globalization;
using Windows.System.UserProfile;
using Windows.UI.Xaml.Controls;
using Windows.UI.Xaml.Navigation; namespace Windows10.Localization
{
public sealed partial class GlobalizationDemo : Page
{
public GlobalizationDemo()
{
this.InitializeComponent();
} protected override void OnNavigatedTo(NavigationEventArgs e)
{
// 首选语言
lblMsg.Text = "Current Languages: " + string.Join(", ", GlobalizationPreferences.Languages);
lblMsg.Text += Environment.NewLine;
// 首选日历(比如:GregorianCalendar 提供了世界上大多数国家/地区使用的标准日历系统)
lblMsg.Text += "Current Calendars: " + string.Join(", ", GlobalizationPreferences.Calendars);
lblMsg.Text += Environment.NewLine;
// 时钟显示(比如:24HourClock)
lblMsg.Text += "Current Clocks: " + string.Join(", ", GlobalizationPreferences.Clocks);
lblMsg.Text += Environment.NewLine;
// 区域(比如:CN)
lblMsg.Text += "Current HomeGeographicRegion: " + GlobalizationPreferences.HomeGeographicRegion;
lblMsg.Text += Environment.NewLine;
// 一周的第一天是周几(比如:中国是 Monday)
lblMsg.Text += "Current WeekStartsOn: " + GlobalizationPreferences.WeekStartsOn.ToString();
lblMsg.Text += Environment.NewLine;
lblMsg.Text += Environment.NewLine; // Language - 语言对象,通过指定 BCP-47 语言标记来实例化语言对象
Windows.Globalization.Language language = new Windows.Globalization.Language("zh-Hans-CN");
// 判断指定的 BCP-47 语言标记的格式是否正确
lblMsg.Text += "zh-Hans-CN IsWellFormed: " + Windows.Globalization.Language.IsWellFormed("zh-Hans-CN");
lblMsg.Text += Environment.NewLine;
// 语言的本地化名称
lblMsg.Text += "zh-Hans-CN Language DisplayName: " + language.DisplayName;
lblMsg.Text += Environment.NewLine;
// 语言本身的名称
lblMsg.Text += "zh-Hans-CN Language NativeName: " + language.NativeName;
lblMsg.Text += Environment.NewLine;
// 语言的 BCP-47 语言标记
lblMsg.Text += "zh-Hans-CN Language LanguageTag: " + language.LanguageTag;
lblMsg.Text += Environment.NewLine;
// 语言的 ISO 15924 脚本代码
lblMsg.Text += "zh-Hans-CN Language Script: " + language.Script;
lblMsg.Text += Environment.NewLine;
// 获取当前输入法编辑器 (IME) 的 BCP-47 语言标记
lblMsg.Text += "zh-Hans-CN Language CurrentInputMethodLanguageTag: " + Windows.Globalization.Language.CurrentInputMethodLanguageTag;
lblMsg.Text += Environment.NewLine;
lblMsg.Text += Environment.NewLine; // GeographicRegion - 区域对象(关于 ISO 3166-1 请参见:http://zh.wikipedia.org/zh-cn/ISO_3166-1)
GeographicRegion geographicRegion = new GeographicRegion(); // 获取当前的区域对象。
// 区域的本地化名称
lblMsg.Text += "Current Region DisplayName: " + geographicRegion.DisplayName;
lblMsg.Text += Environment.NewLine;
// 区域本身的名称
lblMsg.Text += "Current Region NativeName: " + geographicRegion.NativeName;
lblMsg.Text += Environment.NewLine;
// 该区域内使用的货币类型
lblMsg.Text += "Current Region CurrenciesInUse: " + string.Join(",", geographicRegion.CurrenciesInUse);
lblMsg.Text += Environment.NewLine;
// 该区域的 ISO 3166-1 二位字母标识
lblMsg.Text += "Current Region CodeTwoLetter: " + geographicRegion.CodeTwoLetter;
lblMsg.Text += Environment.NewLine;
// 该区域的 ISO 3166-1 三位字母标识
lblMsg.Text += "Current Region CodeThreeLetter: " + geographicRegion.CodeThreeLetter;
// 该区域的 ISO 3166-1 数字标识
lblMsg.Text += Environment.NewLine;
lblMsg.Text += "Current Region CodeThreeDigit: " + geographicRegion.CodeThreeDigit;
lblMsg.Text += Environment.NewLine;
lblMsg.Text += Environment.NewLine; // Calendar - 日历对象,默认返回当前系统的默认日历
Calendar calendarDefault = new Calendar();
// 第一个参数:将日历转换为字符串时,优先使用的语言标识列表;第二个参数:指定日历的类型;第三个参数:指定是12小时制还是24小时制
Calendar calendarHebrew = new Calendar(new[] { "zh-CN" }, CalendarIdentifiers.Hebrew, ClockIdentifiers.TwentyFourHour);
lblMsg.Text += "Gregorian Day: " + calendarDefault.DayAsString(); // 公历的日期
lblMsg.Text += Environment.NewLine;
lblMsg.Text += "Hebrew Day: " + calendarHebrew.DayAsString(); // 希伯来历的日期
// Calendar 还有很多属性和方法,不再一一介绍,需要时查 msdn
}
}
}
2、演示不同语言环境下对数字的格式化
Localization/NumberFormatting.xaml
<Page
x:Class="Windows10.Localization.NumberFormatting"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:local="using:Windows10.Localization"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
mc:Ignorable="d"> <Grid Background="Transparent">
<StackPanel Margin="10 0 10 10"> <TextBlock Name="lblMsg" /> </StackPanel>
</Grid>
</Page>
Localization/NumberFormatting.xaml.cs
/*
* 演示不同语言环境下对数字的格式化
*/ using System;
using Windows.Globalization.NumberFormatting;
using Windows.UI.Xaml.Controls;
using Windows.UI.Xaml.Navigation; namespace Windows10.Localization
{
public sealed partial class NumberFormatting : Page
{
public NumberFormatting()
{
this.InitializeComponent();
} protected override void OnNavigatedTo(NavigationEventArgs e)
{
// 百分比格式化
PercentFormatter percentFormatter = new PercentFormatter();
// PercentFormatter percentFormatter = new PercentFormatter(new[] { "zh-Hans-CN" }, "CN");
lblMsg.Text = percentFormatter.Format(3.1415926);
lblMsg.Text += Environment.NewLine; // 千分比格式化
PermilleFormatter permilleFormatter = new PermilleFormatter();
// PermilleFormatter permilleFormatter = new PermilleFormatter(new[] { "zh-Hans-CN" }, "CN");
lblMsg.Text += permilleFormatter.Format(3.1415926);
lblMsg.Text += Environment.NewLine; // 数字格式化
DecimalFormatter decimalFormatter = new DecimalFormatter();
// DecimalFormatter decimalFormatter = new DecimalFormatter(new[] { "zh-Hans-CN" }, "CN");
lblMsg.Text += decimalFormatter.Format(3.1415926);
lblMsg.Text += Environment.NewLine; // 货币格式化
CurrencyFormatter currencyFormatter = new CurrencyFormatter("CNY");
// CurrencyFormatter currencyFormatter = new CurrencyFormatter("CNY", new[] { "zh-Hans-CN" }, "CN");
lblMsg.Text += currencyFormatter.Format(3.1415926);
}
}
}
OK
[源码下载]
背水一战 Windows 10 (81) - 全球化的更多相关文章
- 背水一战 Windows 10 (11) - 资源: CustomResource, ResourceDictionary, 加载外部的 ResourceDictionary 文件
[源码下载] 背水一战 Windows 10 (11) - 资源: CustomResource, ResourceDictionary, 加载外部的 ResourceDictionary 文件 作者 ...
- 背水一战 Windows 10 (13) - 绘图: Stroke, Brush
[源码下载] 背水一战 Windows 10 (13) - 绘图: Stroke, Brush 作者:webabcd 介绍背水一战 Windows 10 之 绘图 Stroke - 笔划 Brush ...
- 背水一战 Windows 10 (12) - 绘图: Shape, Path
[源码下载] 背水一战 Windows 10 (12) - 绘图: Shape, Path 作者:webabcd 介绍背水一战 Windows 10 之 绘图 Shape - 图形 Path - 路径 ...
- 背水一战 Windows 10 (37) - 控件(弹出类): MessageDialog, ContentDialog
[源码下载] 背水一战 Windows 10 (37) - 控件(弹出类): MessageDialog, ContentDialog 作者:webabcd 介绍背水一战 Windows 10 之 控 ...
- 背水一战 Windows 10 (36) - 控件(弹出类): ToolTip, Popup, PopupMenu
[源码下载] 背水一战 Windows 10 (36) - 控件(弹出类): ToolTip, Popup, PopupMenu 作者:webabcd 介绍背水一战 Windows 10 之 控件(弹 ...
- 背水一战 Windows 10 (35) - 控件(弹出类): FlyoutBase, Flyout, MenuFlyout
[源码下载] 背水一战 Windows 10 (35) - 控件(弹出类): FlyoutBase, Flyout, MenuFlyout 作者:webabcd 介绍背水一战 Windows 10 之 ...
- 背水一战 Windows 10 (34) - 控件(进度类): RangeBase, Slider, ProgressBar, ProgressRing
[源码下载] 背水一战 Windows 10 (34) - 控件(进度类): RangeBase, Slider, ProgressBar, ProgressRing 作者:webabcd 介绍背水一 ...
- 背水一战 Windows 10 (33) - 控件(选择类): ListBox, RadioButton, CheckBox, ToggleSwitch
[源码下载] 背水一战 Windows 10 (33) - 控件(选择类): ListBox, RadioButton, CheckBox, ToggleSwitch 作者:webabcd 介绍背水一 ...
- 背水一战 Windows 10 (32) - 控件(选择类): Selector, ComboBox
[源码下载] 背水一战 Windows 10 (32) - 控件(选择类): Selector, ComboBox 作者:webabcd 介绍背水一战 Windows 10 之 控件(选择类) Sel ...
随机推荐
- SpringCloud系列三:SpringSecurity 安全访问(配置安全验证、服务消费端处理、无状态 Session 配置、定义公共安全配置程序类)
1.概念:SpringSecurity 安全访问 2.具体内容 所有的 Rest 服务最终都是暴露在公网上的,也就是说如果你的 Rest 服务属于一些你自己公司的私人业务,这样的结果会直接 导致你信息 ...
- oracle 创建表,删除表,修改表,查询表
1,获取当前用户下的所有表信息 => SELECT * FROM user_tables 1.1,查询某一张表的字段信息:SELECT * FROM user_tab_columns w ...
- Rabbitmq(6) 主题模式
* 匹配1个 # 匹配所有 发送者: package com.aynu.bootamqp.service; import com.aynu.bootamqp.commons.utils.Amqp; i ...
- mongodb mongod 启动参数
我们可以通过mongod --help查看mongod的所有参数说明,以下是各参数的中文解释. 基本配置 –quiet# 安静输出 –port arg# 指定服务端口号,默认端口27017 –bind ...
- 使用rpm-build制作nginx的rpm包
2014-11-27 11:05:49 一.RPM包的分类 RPM有五种基本的操作功能:安装.卸载.升级.查询和验证. linux软件包分为两大类: (1)二进制类包,包括rpm安装包(一般分为i ...
- [Ting's笔记Day4]将Ruby on Rails项目部署到Heroku
今天想笔记的是把自己写的Ruby on Rails项目部署(Deploy)到Heroku! Heroku是Salesforce公司旗下的云端服务商,支持多种程序语言像是Ruby,PHP,Python等 ...
- Codeforces Round #436 A. Fair Game
题意:给你n张卡片,上面写有数字,两个人选择两个数字,把相同数字的卡片都拿走,问能不能拿走所有的卡片并且两个人拿的卡片书相同. Examples Input 411272711 Output YES1 ...
- python深入理解类和对象
1,鸭子类型和多态 当看到一只鸟走起来像鸭子,游泳起来像鸭子,叫起来也像鸭子,那这只鸟就是鸭子 是不是比较混乱,看个例子: # -*- coding:UTF-8 -*- __autor__ = 'zh ...
- 获奖感想和Java学习总结
获奖感想和Java学习总结 一.获奖感想 能成为小黄衫第二批的成员之一,我感到非常荣幸.我在对老师给予我的鼓励与肯定感到欣喜之余,更多的是感受到了一种鞭策与期望.小黄衫不仅仅是对我的一种奖励,更是激励 ...
- RFC
一.简介 二.常用 1)TLSv1.2 Protocol https://tools.ietf.org/html/rfc5246