如何在Windows中启用伪语言环境进行测试?

Windows Vista引入了三款 pseudo-locales的概念:
Pseudo Locale        Locale Name  LCID           
===================  ===========  ======
Base                 qps-ploc     0x0501
Mirrored             qps-mirr     0x09ff
East Asian-language  qps-asia     0x05fe

启用基本区域设置是有用的,因为您可以检查您的应用程序是否使用当前的区域设置来格式化日期,时间,数字,金额等项。

例如,当当前区域设置设置为Base时,日期将被格式化为:

[Шěđлеśđαỳ !!!],8 ōf [Μäŕςћ !!] ōf 2006

建成Windows are actually done in pseudo,然后本地化成英文:

使用这些语言环境的另一个价值:它测试您的应用程序不认为16位PRIMARYLANGID由以下组成:

> 8位主要语言ID
> 8位子语言ID

in reality a PRIMARYLANGID is

> 10位主要的语言ID
> 6位子语言ID

或图形:

+-----------------------+-------------------------+
|     Sublanguage ID    |   Primary Language ID   |
+-----------------------+-------------------------+
 15                   10 9                       0   bit

这三个伪局域网终于走出了第八位的末尾(微软一直在疲于应对错误的应用程序)。

如何在Windows中启用伪语言环境?

也可以看看

> MSDN: Pseudo-Locales
> MSDN: Using Pseudo-Locales for Localization Testing
> MSDN Blogs: Pseudo Locales in Windows Vista Beta 2
> MSDN Blogs: One of my colleagues is the “Pseudo Man” (a rich source of puns in conversation!)
> MSDN Blogs: Walking off the end of the eighth bit

How do i enable pseudo-locale’s in Windows?

最初the three pseudo-locale’s are not visible in the Control Panel

Note that NLS does not automatically enumerate the pseudo-locales or expose them in the regional and language options portion of the Control Panel. They are only enumerable if values are set in the registry.

您可以通过添加一些注册表项来启用它们:

[HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Nls\Locale]
"00000501"="1"
"000009ff"="d"
"000005fe"="7"

哪些可以在RegEdit中完成:

然后,您可以在控制面板中进入区域和语言选项:

并选择伪语言环境:

三种不同的虚拟场所用于测试3种语言环境:

Base qps-ploc语言环境用于类似英语的伪本地化。它的字符串是较长版本的英文字符串,使用非拉丁字母和重音字符而不是普通脚本。此外,简单的拉丁字符串应按照与本地区相反的顺序进行排序。

镜像qpa-mirr用于从右到左的伪数据,这是另一个测试领域。

东亚qps-asia旨在利用大型CJK角色曲目,也可用于测试。

警告:请勿尝试更改“系统区域设置”:

一个新的伪地区:

否则重启后:

Windows将无法启动:

而唯一的修复将是manually edit the registry from the Recovery Console;恢复旧的美国地区。

警告

使用伪语言环境用于在软件中查找本地化错误。不幸的是,这也将让你在其他人的软件中找到错误;包括微软的:

> sql Server Management Studio1与其他语言环境(Microsoft Connect)呈现时崩溃:


> Microsoft Excel将不再让您输入函数(用于分隔参数的逗号不再有效)
> Visual Studio将不再让您编辑逗号分隔的属性
> sql Server Management Studio图设计器报告错误
> .NET在日期和时间格式上有错误显示22 //// 11 //// 2011 4 :::: 42 :::: 53P̰M]
> Windows事件查看器

>任务计划程序:

> sql Server Management Studio

祝你好运,让微软宠爱自己的产品。

110.50.1617.0

更新4 // 10/2012:

尝试在sql Server Management Studio中编辑表的前200行:

Executed sql statement SELECT TOP (200) …
Error Source: Microsoft.sqlServer.Management.DataTools
Error Message: Object reference not set to an instance of an object

通过从 – 更改为负号符号来修复。

相关文章

Windows2012R2备用域控搭建 前置操作 域控主域控的主dns:自...
主域控角色迁移和夺取(转载) 转载自:http://yupeizhi.blo...
Windows2012R2 NTP时间同步 Windows2012R2里没有了internet时...
Windows注册表操作基础代码 Windows下对注册表进行操作使用的...
黑客常用WinAPI函数整理之前的博客写了很多关于Windows编程的...
一个简单的Windows Socket可复用框架说起网络编程,无非是建...