博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
国际化编程中Locale相关概念的一些解释
阅读量:4188 次
发布时间:2019-05-26

本文共 990 字,大约阅读时间需要 3 分钟。

Locales

一般常用的并且容易造成混淆的Locale3种:System Locale, User Locale, Thread Locale

1.     System Locale:系统区域设置。决定了非Unicode程序所使用的代码页,如下:

System Locale对应的Code Page可以用GetACPGetOEMCP来获得。System Locale无法被API修改 ,但是可以用GetSystemDefaultLCIDGetSystemDefaultLangID获得。LCIDLangID后面会解释。

2.     User Locale:用户区域设置,决定了各种标准和格式的定义,如数字,日期等,如下:

User Locale是不能被API修改的,只能由用户设置。可以通过GetUserDefaultLCIDGetUserDefaultLangID获得。同样的,区别后面会提到。

3.     Thread Locale:线程相关的区域。初始值为当前的User Locale,可以使用GetThreadLocaleSetThreadLocale获取和修改。

 

LANGID & LCID

 

1.     LANGIDLanguage ID,也就是语言ID。代表不同的语言,比如EnglishChinese,等等。Lang ID (16 bit)=Primary Language ID(10 bit) + Sub Language ID(6 bit),如下:

Sub Language ID:6

Primary Language ID:10

 

PrimaryLanguage代表主语言,比如英语

Sub Language代表子语言,也就是语言的亚种,如美式英语 (en-us),或者英式英语(en-gb),对应的子语言为us/gb

2.     LCIDLocale Identifier,代表Locale信息,等价于LANGID (16 bit) + Sort ID (4bit) + Reserved (12),如下:

Reserved : 16

Sort ID : 4

LANG ID: 16

 

作者
:      ATField
Blog:     
转载请注明出处

Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=1564059

你可能感兴趣的文章
java中的异常机制
查看>>
商务智能-基本方法-数据钻取
查看>>
openstack-instance-high-availability-Evacuate
查看>>
evacuate-instance-automatically
查看>>
pycharm常用设置(keymap设置及eclipse常用快捷键总结)
查看>>
关于在openstack的环境变量.bashrc自定自己简化命令
查看>>
Openstack Heat Project介绍(转)
查看>>
How to Perform an Upgrade from Icehouse to Juno(ice升级到juno)
查看>>
高扩展性网站的50条原则(转)-思维导图
查看>>
解决openstack novnc一段时间后自动挂断登录不上问题,novncproxy dead but pid file exists
查看>>
构建OpenStack的云基础架构:ManageIQ(转)
查看>>
云管理软件 ManageIQ(转)
查看>>
CentOS 7.0,启用iptables防火墙(转)
查看>>
DISCUZ浅析之COOKIE篇
查看>>
实战DDD(Domain-Driven Design领域驱动设计:Evans DDD)
查看>>
SSH中各个框架的作用以及Spring AOP,IOC,DI详解
查看>>
openstack juno 配置vmware(vcenter、vsphere)
查看>>
远程debug调试(eclipse)之openstack windows
查看>>
PAAS平台对比:OpenShift VS CloudFoundry【51CTO调研报告】
查看>>
JAX-RS(java restful实现讲解)(转)
查看>>