如何在 Windows 中启用伪区域设置?
最初四个伪语言环境在控制面板中不可见 http://msdn.microsoft.com/en-us/library/dd374118%28v=vs.85%29.aspx: (Archive.org https://web.archive.org/web/20120121193858/http://msdn.microsoft.com/en-us/library/dd374118(v=vs.85).aspx)
请注意,NLS 不会自动枚举伪区域设置或在控制面板的区域和语言选项部分中公开它们。仅当在注册表中设置了值时,它们才是可枚举的。
您可以通过添加一些注册表项来启用它们:
[HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Nls\Locale]
"00000501"="1" // qps-ploc (Windows Vista and later)
"000005fe"="7" // qps-ploca (Windows Vista and later)
"00000901"="1" // qps-Latn-x-sh (Windows 10 and later)
"000009ff"="d" // qps-plocm (Windows Vista and later)
这可以在 RegEdit 中完成:
然后你可以去区域和语言选项在控制面板中:
并选择伪区域设置:
三种不同的伪语言环境用于测试 3 种语言环境:
Base The qps-ploc
locale 用于类似英语的伪本地化。它的字符串是英语字符串的较长版本,使用非拉丁字符和重音字符而不是正常的脚本。此外,简单的拉丁字符串应与此语言环境按相反的顺序排序。
Mirrored qpa-mirr
用于从右到左的伪数据,这是测试的另一个感兴趣的领域。
东亚 qps-asia
旨在利用大型 CJK 字符库,这对于测试也很有用。
Warning: Do not尝试改变“系统区域设置”:
到一个新的伪语言环境:
否则重启后:
Windows 将无法启动:
唯一的解决方法是从故障恢复控制台手动编辑注册表 https://superuser.com/questions/110210/how-to-edit-registry-from-vista-recovery-tool;恢复旧的en-US
locale.
Warning
使用伪语言环境可用于查找软件中的本地化错误。不幸的是,这也会让你发现错误别人的软件;包括微软的:
-
SQL Server Management Studio1 crashes when presented with other locales (Microsoft Connect http://connect.microsoft.com/SQLServer/feedback/details/683992/error-from-ssms-table-designer-when-current-locale-doesnt-use-single-hyphen-as-negative-symbol):
-
Microsoft Excel 将不再让您输入函数(comma用于分隔参数不再起作用)
-
Visual Studio 将不再允许您编辑逗号分隔的属性
-
SQL Server Management Studio 图表设计器报告错误
-
.NET 在日期和时间格式方面存在错误,显示22////11////2011 4::::42::::53 P̰̃M]
-
Windows 事件查看器:
-
任务调度程序:
-
SQL Server 管理工作室:
祝你好运,让微软测试他们自己的产品。
110.50.1617.0
2012 年 4 月 10 日更新:
尝试去编辑前 200 行SQL Server Management Studio 中的表的:
执行的 SQL 语句 SELECT TOP (200) ...
错误源:Microsoft.SqlServer.Management.DataTools
错误消息:未将对象引用设置为对象的实例
通过改变固定负号符号 from --
to -
.
奖励阅读
-
Windows Vista Beta 2 中的伪区域设置 https://blogs.msdn.microsoft.com/shawnste/2006/06/27/pseudo-locales-in-windows-vista-beta-2/ (档案库.is https://archive.fo/PMUum)
- 如何测试您的应用程序的 Iñtërnâtiônàlizætiøn? (国际化?) https://stackoverflow.com/q/3054942/12597
- 迈克尔·卡普兰:我的一位同事是“伪人”(谈话中双关语的丰富来源!) http://archives.miloush.net/michkap/archive/2011/04/11/10152035.html (RIP) (档案库.is https://archive.fo/bRY7E)
- https://en.wikipedia.org/wiki/Pseudolocalization https://en.wikipedia.org/wiki/Pseudolocalization
- MSDN: Using pseudo-locales for localizability testing https://learn.microsoft.com/en-us/windows/win32/intl/using-pseudo-locales-for-localization-testing#:%7E:text=The%20names%20of%20the%20pseudo-locales%20are%20%22qps-ploc%22%2C%20%22qps-ploca%22%2C,use%20GetLocaleInfoEx%20to%20retrieve%20information%20about%20a%20pseudo-locale. archive https://archive.vn/GjlSM