Русский язык вывода. Powershell v.7 vs Powershell v. 5

Анонимные
2024-06-27T13:37:46+00:00

Мой вопрос в том, почему вывод Powershell v.5 (который идет с Windows в комплекте) на русском языке (подробности обработки команды, ошибки, предупреждения и т.п.), а в новом PS версии 7 - такого нет? Внизу прилагаю скриншоты, для наглядной ясности. И можно ли это как-то исправить? У меня не получилось.

Я пробовал:

  • Исправить добавлением строк в $PROFILE:

$env:LC_ALL = 'ru-RU'

$env:LANG = 'ru-RU'

  • Проверял и устанавливал командами:

Get-InstalledLanguage

Get-SystemPreferredUILanguage

Install-Language

Set-SystemPreferredUILanguage

Uninstall-Language

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

***moved from Windows / Windows 11 / Настройки***

Windows для бизнеса Windows Server User Experience PowerShell

Заблокированный вопрос. Этот вопрос был перенесен из сообщества службы поддержки Майкрософт. Вы можете проголосовать о его полезности, но не можете добавлять комментарии или ответы, а также подписаться на этот вопрос. Для защиты конфиденциальности профили пользователей для перенесенных вопросов анонимизированы.

Комментариев: 0 Без комментариев
Голосов: {count}

Ответы: 18

Сортировать по: Наиболее полезные
  1. Анонимные
    2024-06-27T14:51:19+00:00

    Мы используем службу перевода для оказания содействия нашим пользователям. Просим прощения за грамматические ошибки.

    Привет как дела?
    Меня зовут Гильерме, я независимый консультант и потребитель продуктов Microsoft. Буду рада помочь Вам сегодня!

    Чтобы изменить язык выходных данных в PowerShell, можно попробовать задать свойство CurrentUICulture класса CultureInfo. Это можно сделать во время сеанса (без сохранения) для команд PowerShell и типов .NET, которые поддерживают язык и региональные параметры и поставляются с локализованными строками. Вот как это можно сделать

    [cultureinfo]::CurrentUICulture = 'ru-RU'

    Вы также можете задать свойство CurrentCulture, которое определяет число, дату и другое форматирование, зависящее от языка и региональных параметров:
    [cultureinfo]::CurrentCulture = 'ru-RU'

    Обратите внимание, что эти изменения повлияют только на текущий сеанс PowerShell и не будут сохраняться между сеансами1. Если вы хотите, чтобы эти параметры применялись каждый раз при запуске нового сеанса PowerShell, вы можете добавить эти строки в свой профиль PowerShell.

    Однако для внешних программ, таких как netstat.exe, к сожалению, нет возможности изменить язык пользовательского интерфейса во время сеанса

    Комментариев: 0 Без комментариев
  2. Анонимные
    2024-06-27T15:25:24+00:00

    Привет, Гильерме!

    Жаль, но твоё решение не помогло.

    [cultureinfo]::CurrentUICulture = 'ru-RU' - я выполнил это как команду, и добавил в профиль - но вывод по прежнему на Английском языке.

    Прилагаю скриншот с параметрами, касающиеся языка, прописанные в моем профиле. ![Изображение](https://filestore.community.support.microsoft.com/api/images/edc9a7a8-6266-4e4e-b1a9-0ffa6cc48d5b?upload=true&fud_access=wJJIheezUklbAN2ppeDns8cDNpYs3nCYjgitr%2BfFBh2dqlqMuW7np3F6Utp%2FKMltnRRYFtVjOMO5tpbpW9UyRAwvLeec5emAPixgq9ta07Dgnp2aq5eJbnfd%2FU3qhn54sR8g5K8QBu1lP8gN9gq7pQ7lp0qRpLSxRDRawJdEi3UPn%2FsWbkgPADTEGB%2FOLf0tX1t3aqnfo8YrZQUOC%2F5LtB9nTZ9jacVEDaJrOvrcfUiYGzTXVKzyJeLOBt0RX8ngJqQr4WlqINDsRxzxuCVVSRAMiZ2DEv6sElJfztRVBTGVXCpSQGyqeU8ZF5XPzUTKZhqQh6bG0JQ2iZtqui84pu2ahqWgTv8rUvBT2G4bh5CEFV93c39AKOz7Kn%2BCvQJcTXJBA92E7MLNP0oKQ74uM3rSQ45NC5ibDBphYqyqChY%3D)

    P.S. после изменения настроек перезапускал терминал, перезагружал ПК.

    Комментариев: 0 Без комментариев
  3. Анонимные
    2024-06-27T15:32:28+00:00

    Мы используем службу перевода для оказания содействия нашим пользователям. Просим прощения за грамматические ошибки.

    Привет

    Извините, что у вас возникла эта проблема с PowerShell!

    Похоже, вы не получили ответа, который решил бы вашу проблему. Я считаю, что это поможет:

    Действия по устранению языковой проблемы в PowerShell 7
    Установите переменные окружения глобально:
    Убедитесь, что переменные среды применяются глобально. Откройте PowerShell от имени администратора и выполните:

    [System.Environment]::SetEnvironmentVariable('LC_ALL', 'ru-RU', [System.EnvironmentVariableTarget]::Машина)
    [System.Environment]::SetEnvironmentVariable('LANG', 'ru-RU', [System.EnvironmentVariableTarget]::Машина)

    Перезапустите PowerShell после установки этих переменных.

    Настройка PowerShell 7:
    Добавьте следующие строки в сценарий профиля PowerShell 7 ($PROFILE), чтобы убедиться, что языковые параметры применены правильно:

    $env:LC_ALL = 'ru-RU'
    $env:LANG = 'ru-RU'
    [System.Globalization.CultureInfo]::CurrentCulture = [System.Globalization.CultureInfo]::CreateSpecificCulture('ru-RU')
    [System.Globalization.CultureInfo]::CurrentUICulture = [System.Globalization.CultureInfo]::CreateSpecificCulture('ru-RU')

    Проверьте установленные языки:
    Убедитесь, что русский языковой пакет установлен и настроен правильно:

    Get-InstalledLanguage (Get-InstalledLanguage)
    Get-SystemPreferredUILanguage

    Если он не установлен, вы можете добавить его с помощью:

    install-language -язык 'ru-RU'
    Set-SystemPreferredUILanguage -язык 'ru-RU'

    Обновление PowerShell 7:
    Убедитесь, что вы используете последнюю версию PowerShell 7.

    winget upgrade --id Microsoft.Powershell --source winget

    Проверьте конфигурацию:
    Проверьте конфигурацию, выполнив команду, которая генерирует предупреждения или ошибки:

    Write-Warning "Это тестовое предупреждение".

    Пожалуйста, дайте мне знать, если это не работает или вы уже пробовали это. У меня есть еще одно возможное решение, которое я могу попробовать после этого.

    Всего хорошего
    Дьюла

    Комментариев: 0 Без комментариев
  4. Анонимные
    2024-06-27T15:58:02+00:00

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

    Комментариев: 0 Без комментариев
  5. Deleted

    Этот ответ был удален из-за нарушения правил поведения. Ответ был отправлен вручную или идентифицирован с помощью автоматического обнаружения до выполнения действия. Дополнительные сведения см. в разделе правила поведения.


    Комментарии отключены. Подробнее