多国語の対応とかしてると確認のためにいちいちシステム言語を切り替えて云々が発生してうっとおしいのでバッチにしてしまえ、たぶんPowerShellでできるはずだ、ということで調べた結果を垂れ流す。
なお、システム設定いじくるので管理者として実行してあげる必要がある。
それも面倒なので権限昇格するようにバッチで行う。(そのうち別記事で書く)
[Windows設定]→[時刻と言語]→[言語]のページの下の方の[言語の追加]。
Get~で現在のサポート言語のリストをとってくる
Set~でサポート言語リストをセットする
ので
1.Getする
2.追加する(言語コードをAdd)
3.Setする
でいける
例えばドイツ語なら
$CurrList = Get-WinUserLanguageList
$CurrList.Add("de-DE")
Set-WinUserLanguageList $CurrList -Force
-Forceは自動化したいから。ないと確認メッセージが出ます。
[Windows設定]→[時刻と言語]→[地域]のページの2こめくらい。
ただ言語デフォルトに変更したいだけならSet-Cultureで言語コードを渡せばいい。
だけど言語デフォルトでありがちな罠の小数点(たまにカンマの国がある)を変更したいなら
1.Set 言語デフォルト
2.Get
3.編集
4.Set 編集したの
という手順になるが、どうも1の直後に2を呼ぶと反映されてなかったのでps1ファイルを分けた。
# ChangeCulture_1.ps1
Set-Culture "de-DE"
# ChangeCulture_2.ps1
$Cult = Get-Culture
$Cult.NumberFormat.NumberDecimalSeparator = "."
Set-Culture $Cult
[Windows設定]→[時刻と言語]→[地域]→[関連設定:日付、時刻、地域の追加設定]→[地域]→[管理]タブ→[Unicode対応ではないプログラムの言語]
※遠い、正直コントロールパネル出した方が早く着く
確認したいならGetで。Setで言語コードを入れれば終わり。
Set-WinSystemLocale "de-DE"
再起動は必須なのでお好みに合わせて
Restart-System
をスクリプトに含めるなり、そこは手でやるなりご自由に。
カンタン!
Crieitは誰でも投稿できるサービスです。 是非記事の投稿をお願いします。どんな軽い内容でも投稿できます。
また、「こんな記事が読みたいけど見つからない!」という方は是非記事投稿リクエストボードへ!
こじんまりと作業ログやメモ、進捗を書き残しておきたい方はボード機能をご利用ください。
ボードとは?
コメント