PowerShell: как настроить культуру? - PullRequest
4 голосов
/ 17 февраля 2020

Я пытался Set-Culture -CultureInfo vi-VN, но Powershell не был изменен на мою установленную Культуру.

Я тестировал с помощью открытого Powershell ISE и видел, что моя установленная Культура была успешно изменена.

Как сделать Powershell изменения в моей установленной культуре?

Ответы [ 2 ]

4 голосов
/ 17 февраля 2020

Если вы начали новый сеанс (см. Ниже):

Возможно, вы столкнулись с ошибкой Windows PowerShell , начиная с версии 5 .1.18362.628):

Изменение на культура vi-VN (Vietnamese (Vietnam), LCID 1066), в частности [1] , не Кажется, что не работает в Windows PowerShell (v5.1-) в консоли windows [2] (тогда как это работает в устаревшем ISE PowerShell, как вы заявляете).

Примечание: изменение действительно вступает в силу для текущей учетной записи пользователя в общем, но не в Windows Консоль PowerShell windows.

PowerShell [Core] 6+ работает не .


Что касается возможного исправления: Windows PowerShell больше не находится в активной разработке, поэтому внедряются только критические исправления. Вы можете сообщить о Windows ошибках PowerShell в соответствующем форуме UserVoice .


Обычно говоря:

  • Set-Culture постоянно изменяет культуру текущего пользователя для всей системы.

    • Этот действует только в будущие сеансы PowerShell (процессы), поэтому вам придется открыть, например, новое консольное окно PowerShell, чтобы изменения вступили в силу.
      Начиная с в этом письме Set-Culture help topi c не упоминается это требование; исправление, которое предлагается в этой проблеме GitHub .

      • Однако область уведомлений панели задач будет мгновенно отражать новая культура в ее отображении даты и времени , и уделение внимания этому обеспечивает мгновенную обратную связь относительно того, был ли вызов в принципе успешным; например, если вы запустите Set-Culture fr-FR (французский), дата и время изменятся примерно так ("четверг" по-французски означает "четверг"):

        • taskbar date/time display in French
      • Чтобы начать новый сеанс , выполните одно из следующих действий:

        • Откройте новое окно консоли PowerShell.
        • В Windows Терминал , откройте новую вкладку PowerShell.
        • В Код Visual Studio с расширением PowerShell установите, завершите работу интегрированной консоли PowerShell, как показано ниже, и при необходимости предложите перезапустить ее (в качестве альтернативы запустите новый обычный (неинтегрированный) экземпляр PowerShell в интегрированном терминале).

        • В - устарел - ISE, откройте новую вкладку PowerShell (File > New PowerShell Tab, Ctrl-T ).

    • Пока изменение составляет в ожидании , то есть до вас начался новый сеанс, Get-Culture сообщает все еще действующее (старое) значение, а не в ожидании .

  • Вам необходимо передать имя предопределенной специфика c культура как (подразумеваемое) -CultureInfo аргумент.

    • A speci c культура имеет такое имя, как fr-FR, где fr обозначает язык (Французский) и FR местоположение (регион или страна); в отличие от этого, язык только для языка, такой как fr, не поддерживается и тихо игнорируется .

    • To get список предопределенных спецификаций c культур , выполните следующую команду или, только для Windows, обратитесь к этой документации :

      • [cultureinfo]::GetCultures('SpecificCultures')

[1] Не уверен, что затронуты и другие культуры.

[ 2] Запуск в Windows Терминал тоже не помогает. Это говорит о том, что ошибка находится внутри хоста ConsoleHost PowerShell, внутри которого выполняются консольные сеансы PowerShell (в то время как ISE реализует свой собственный хост Windows PowerShell ISE Host), что отражено в $HOST.

1 голос
/ 17 февраля 2020

Для установки культур вы правы в том, что вы должны использовать

Set-Culture -CultureInfo vi-vn

Глядя на список культур здесь , как предложено mklement0, вы найдете полный список кодов.

edit: при тестировании я вижу, что это работает для текущего пользователя, однако, как показал mklement0 в своем ответе, существует ошибка, которая на самом деле не работает.

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...