Problem
You can set locale of the current thread in PowerShell like below:
[System.Threading.Thread]::CurrentThread.CurrentCulture = [System.Globalization.CultureInfo]("en-US")
But error messages of PowerShell interpreter shows in current locale.
PS > [System.Threading.Thread]::CurrentThread.CurrentCulture = [System.Globalization.CultureInfo]("en-US")
PS > x
x : 用語 'x' は、コマンドレット、関数、スクリプト ファイル、または操作可能なプログラムの名前として認識されません。名前
が正しく記述されていることを確認し、パスが含まれている場合はそのパスが正しいことを確認してから、再試行してください。
発生場所 行:1 文字:1
+ x
+ ~
+ CategoryInfo : ObjectNotFound: (x:String) [], CommandNotFoundException
+ FullyQualifiedErrorId : CommandNotFoundException
Solution
You have to change current codepage and run another PowerShell process to show error messages in the specified locale.
PS > chcp 65001
Active code page: 65001
PS > powershell.exe
Windows PowerShell
Copyright (C) Microsoft Corporation. All rights reserved.
PS > x
x : The term 'x' is not recognized as the name of a cmdlet, function, script file, or operable program. Check the spell
ing of the name, or if a path was included, verify that the path is correct and try again.
At line:1 char:1
+ x
+ ~
+ CategoryInfo : ObjectNotFound: (x:String) [], CommandNotFoundException
+ FullyQualifiedErrorId : CommandNotFoundException