2022-01-28に投稿

OSの設定をPowershellで変える(言語編)

はじめに

多国語の対応とかしてると確認のためにいちいちシステム言語を切り替えて云々が発生してうっとおしいのでバッチにしてしまえ、たぶんPowerShellでできるはずだ、ということで調べた結果を垂れ流す。
なお、システム設定いじくるので管理者として実行してあげる必要がある。
それも面倒なので権限昇格するようにバッチで行う。(そのうち別記事で書く)

サポート言語の追加

[Windows設定]→[時刻と言語]→[言語]のページの下の方の[言語の追加]。

Get-WinUserLanguageList/Set-WinUserLanguageList

Get~で現在のサポート言語のリストをとってくる
Set~でサポート言語リストをセットする
ので
1.Getする
2.追加する(言語コードをAdd)
3.Setする
でいける

例えばドイツ語なら

$CurrList = Get-WinUserLanguageList
$CurrList.Add("de-DE")
Set-WinUserLanguageList $CurrList -Force

-Forceは自動化したいから。ないと確認メッセージが出ます。

地域設定(形式)

[Windows設定]→[時刻と言語]→[地域]のページの2こめくらい。

Get-Culture/Set-Culture

ただ言語デフォルトに変更したいだけなら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-WinSystemLocale/Set-WinSystemLocale

確認したいならGetで。Setで言語コードを入れれば終わり。

Set-WinSystemLocale "de-DE"

再起動は必須なのでお好みに合わせて
Restart-System
をスクリプトに含めるなり、そこは手でやるなりご自由に。

カンタン!

ツイッターでシェア
みんなに共有、忘れないようにメモ

RedCol

医療モダリティの開発に携わる底辺PG。主にDICOM周りをやるも毎度英語の壁にぶち当たり、泣きそうになりながら調べ続けて10年、いい加減アウトプットしときたいなと思ってようやく書き始める。飽き性なのでいつまで続くか心配。 スクリプト言語が好き、同じことを5回以上やるならスクリプト書こうとする。但し、書いたスクリプト保存しようとすると似たようなスクリプトが既に保存先にあることが多々あって困る。

Crieitは誰でも投稿できるサービスです。 是非記事の投稿をお願いします。どんな軽い内容でも投稿できます。

また、「こんな記事が読みたいけど見つからない!」という方は是非記事投稿リクエストボードへ!

有料記事を販売できるようになりました!

こじんまりと作業ログやメモ、進捗を書き残しておきたい方はボード機能をご利用ください。
ボードとは?

コメント