Подтвердить что ты не робот

Как использовать разрешить псевдоязычность в Windows для тестирования?

Windows Vista представила концепцию трех псевдо-локалей:

Pseudo Locale        Locale Name  LCID           
===================  ===========  ======
Base                 qps-ploc     0x0501
Mirrored             qps-mirr     0x09ff
East Asian-language  qps-asia     0x05fe

Включение языка База полезно, потому что вы можете проверить, использует ли ваше приложение текущую локаль для форматирования таких элементов, как даты, время, числа, деньги.

Например, если текущая локаль установлена ​​на База, дата будет отформатирована как:

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

Сборка Windows на самом деле выполняется в псевдо, а затем локализована на английском языке:

enter image description here

Другое значение в использовании этих локалей: он проверяет, что ваше приложение не предполагает, что 16-разрядный PRIMARYLANGID состоит из:

  • 8-разрядный идентификатор первичного языка
  • 8-битный подъязычный идентификатор

когда в действительности PRIMARYLANGID::

  • 10-битный идентификатор первичного языка
  • 6-битный подъязычный идентификатор

или графически:

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

Эти три псевдо-локали, наконец, уходят с конца 8-го бита (что-то из-за того, что Microsoft устала делать для взлома багги-приложений).

Как включить псевдоязычность в Windows?

См. также

4b9b3361

Ответ 1

Как включить псевдо-локаль в Windows?

Первоначально три псевдо-локали не видны на панели управления:

Обратите внимание, что 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:

enter image description here

Затем вы можете перейти к региональным и языковым параметрам на панели управления:

enter image description here

и выберите псевдо-локаль:

enter image description here

Три различных псевдо-локали предназначены для тестирования 3 видов локалей:

База qps-ploc используется для псевдокализаций, подобных английскому. Его строки - более длинные версии английских строк, использующие нелатинские и акцентированные символы вместо обычного сценария. Кроме того, простые латинские строки должны сортироваться в обратном порядке с этим языком.

Зеркальный qpa-mirr используется для qpa-mirr справа налево, что является еще одной областью интереса для тестирования.

Восточноазиатская qps-asia предназначена для использования большого репертуара символов CJK, что также полезно для тестирования.


Предупреждение: Не пытайтесь изменить "System Locale":

enter image description here

в новую псевдо-локаль:

enter image description here

В противном случае после перезагрузки:

enter image description here

Windows не запустится:

enter image description here

И единственным исправлением будет ручное редактирование реестра из консоли восстановления; восстановление старой en-US локали.


Предупреждение

Использование псевдо-локалей используется для поиска ошибок локализации в программном обеспечении. К сожалению, это также позволит вам находить ошибки в программном обеспечении других людей; в том числе Microsoft:

  • SQL Server Management Studio 1 аварийно завершает работу при отображении в других локалях (Microsoft Connect):

    enter image description here
    enter image description hereenter image description here

  • Microsoft Excel больше не позволяет вводить функции (запятая, используемая для разделения параметров, больше не работает)

  • Visual Studio больше не позволяет редактировать свойства, разделенные запятыми

  • Конструктор диаграмм SQL Server Management Studio сообщает об ошибке

  • В .NET есть ошибка в форматировании даты и времени, показывающая 22////11////2011 4::42::53 P̰̃M]

  • Средство просмотра событий Windows:

    enter image description here

  • Диспетчер задач:

    enter image description here

  • SQL Server Management Studio:

    enter image description here

Удачи в том, чтобы заставить Microsoft готовить свой собственный продукт.

1 10.50.1617.0


Обновление 4//10/2012:

Попытка редактировать 200 верхних строк таблицы в SQL Server Management Studio:

enter image description here

Выполнено SQL-выражение SELECT TOP (200)...
Источник ошибки: Microsoft.SqlServer.Management.DataTools
Сообщение об ошибке: ссылка на объект не установлена на экземпляр объекта

Исправлено путем изменения символа отрицательного знака с -- на -.

Ответ 2

Вы также можете изменить Internet Explorer Accept-Languages, чтобы запросить язык qps-ploc:

enter image description here

Вы можете использовать это, чтобы проверить, поддерживает ли ваш сайт psuedo-locale и проверяет отсутствующие локализации:

введите описание изображения здесь

Вы можете видеть, что я пропустил два бита текста на этом веб-сайте.

Ответ 3

Скорее всего, вместо исправления ошибок локализации в .NET, SQL Server, Excel и т.д. Microsoft изменила псевдоязычность в Windows 10, чтобы замаскировать ошибки:

| Item                  | Windows 7                | Windows 10            |
|-----------------------|--------------------------|-----------------------|
| Locale Identifier     | 0x0501 (1281)            | 0x0501 (1281)         |
| Locale Name           | qps-ploc                 | qps-ploc              |
| Example Number        | --123,,4567,,8901        | -123,,4567,,8901      |
| Example Currency      | --$$123,,4567,,8901..00  | -$123,,4567,,8901.000 |
| Example Float         | --123,,4567,,8901..00    | -123,,4567,,8901.000  |
| Example Date          | 9//08//2015              | 9/8/2015              |
| Example Time          | 9::51::17 АΜ             | 9:45:09               |
| Example DateTime      | 9//08//2015 9::51::17 АΜ | 9/8/2015 9:45         |
| LOCALE_SLANGUAGE      | Pseudo Language (Pseudo) | Pseudo (Pseudo)       |
| LOCALE_SENGLANGUAGE   | Pseudo Language          | Pseudo                |
| LOCALE_SDECIMAL       | ..                       | .                     |
| LOCALE_SCURRENCY      | $$                       | $                     |
| LOCALE_SMONDECIMALSEP | ..                       | .                     |
| LOCALE_SDATE          | //                       | /                     |
| LOCALE_STIME          | ::                       | :                     |
| LOCALE_SSHORTDATE     | d//MM//yyyy              | d/MM/yy               |
| LOCALE_STIMEFORMAT    | h::mm::ss tt             | H:mm:ss               |
| LOCALE_ITIME          | 0                        | 1                     |
| LOCALE_ICENTURY       | 1                        | 0                     |
| LOCALE_SNEGATIVESIGN  | --                       | -                     |

Я понимаю, что не хочу исправлять свои ошибки, потому что ты слишком ленив. Но вы должны были быть вынуждены носить свой позор, чтобы все могли видеть.

Вместо этого вы удаляетесь и пытаетесь скрыть свой сбой. Это просто плохо.