我尝试使用Set-Culture -CultureInfo vi-VN
命令将Powershell语言环境设置为越南文,但未成功更改。
我尝试打开Powershell ISE进行测试,并发现我的语言环境已经成功更改了。
如何使Powershell更改为我设置的语言环境?
我尝试使用Set-Culture -CultureInfo vi-VN
命令将Powershell语言环境设置为越南文,但未成功更改。
我尝试打开Powershell ISE进行测试,并发现我的语言环境已经成功更改了。
如何使Powershell更改为我设置的语言环境?
vi-VN
(越南语(越南),LCID 1066),具体来说[1],在控制台窗口中Windows PowerShell(v5.1-)似乎无法工作(而在即将过时的 PowerShell ISE 中,正如您所述,它可以工作)。一般来说:
Set-Culture
持久地更改了当前用户的区域设置,并影响整个系统。
这仅在未来的 PowerShell 会话(进程)中生效,因此您需要打开一个新的 PowerShell 控制台窗口才能使更改生效。
截至本文编写时,Set-Culture
帮助主题没有提及此要求;GitHub 问题建议修复此问题。
然而,任务栏通知区域将即时反映新区域设置在其日期和时间显示中的变化,并关注这一点可以提供就是否原则上成功调用的即时反馈;例如,如果运行 Set-Culture fr-FR
(法语),则日期和时间更改为以下内容(“jeudi”是法语中星期四的意思):
要启动新会话,请执行以下操作之一:
在安装有 PowerShell 扩展程序 的 Visual Studio Code 中,如下所示终止 PowerShell 综合控制台并选择在提示时重新启动(或者在综合终端中启动一个新的常规(非综合)PowerShell 实例)。
在 - 过时 - ISE 中,打开一个新的 PowerShell 选项卡(File > New PowerShell Tab
,Ctrl-T)。
当更改处于待定状态,即在您启动新会话之前,Get-Culture
报告仍然有效(旧)值,而不是待定值。
您需要将预定义的特定区域设置名称作为(暗示的)-CultureInfo
参数传递。
特定区域设置名称的名称例如fr-FR
,其中fr
指定语言(法语),而FR
指定位置(地区或国家);相比之下,仅针对语言的区域设置名称(例如fr
)不受支持并被静默忽略。
要获取预定义特定区域设置列表,请运行以下命令或仅适用于 Windows,请参阅此文档:
[cultureinfo]::GetCultures('SpecificCultures')
[1] 不确定其他文化是否也受到影响。
[2] 在Windows Terminal中运行也无法解决问题。这表明该错误位于ConsoleHost
PowerShell主机内,控制台基于PowerShell会话在其中运行(而ISE实现了自己的主机,Windows PowerShell ISE Host
),如$HOST
所反映。
要设置区域性,您是正确的,应该使用
Set-Culture -CultureInfo vi-vn
查看由mklement0建议的文化列表此处,您将找到一个完整的代码列表。
编辑:经过测试,我可以看到这适用于当前用户,但是正如mklement0在他的回答中所示,似乎存在一个错误,因此实际上无法正常工作。