Windows11の日本語化でハマった話

# 目的
Windows11のインストール用USBを英語版で作成し、気づかずにセットアップを完了してしまった。
日本語化しようとしたが、設定から言語設定を日本語に設定してもうまく行かなかった際に行った手法をメモする。

# 結論
下記コマンドをWindows PowerShellで実行したとき日本語のLanguage Packsが`LpCab`のみになっている場合はこの方法で改善する可能性が高い。
``` PowerShell
Get-InstalledLanguage
```

下記コマンドを**管理者権限**で立ち上げたWindows PowerShellで実行する。
``` PowerShell
Install-Language ja-jp
```
# 現象
直してしまったので合成画像となるが下記のような状況になる。
(左側が英語右側が日本語･･･)
![3 (3).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/408603/931e760c-80fb-57e9-f24d-7baeae1ebd2e.png)


# GUI部分を含めた日本語化方法
1. `タスクバー`の`Windowsボタン`を右クリック
1. `Settings`を選択し、Settingウインドウを開く
   ![1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/408603/e4a3bb99-fea9-f997-e05b-72c923b8c5ad.png)

1. 左のメニューから`Time & Language`を選択する
1. 右の一覧から`Language & region`を選択する
   ![2.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/408603/026a6b96-500b-c923-58c9-e052e77bbe5f.png)

1. `Preferred languages`の`Add a language`ボタンを押下する
   ![3.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/408603/93b729a5-0fe0-6ec0-a6dd-217032f2674e.png)

1. 日本語を選択肢し、`Next`を押下する
   ![4.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/408603/a260802b-ff2e-0141-7752-2b963445c9c7.png)

1. チェックボックスすべてにチェックを付け`Install`を押下する
   ![5.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/408603/aa6468ff-fde0-e845-be23-68a56e566dd2.png)

1. `Windwos display language`を`日本語`に変更する(なっている場合は問題なし)
   ※必要に応じて言語パック日本語の右の･･･から`Language options`を選択し、`Change layout`からキーボード設定を変更する
1. `Country or region`を`Japan`に変更する
1. `Administrative language settings`を押下する
   ![3 (2).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/408603/82d21273-64c3-474a-5e1e-d597a95d8042.png)

1. `Copy settings...`を押下しチェックボックスをすべてチェックしてOKを押下する
   ![6.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/408603/f50897f0-22b1-4077-17ec-e9e861aeb0b4.png)

1. 再起動を行う
1. ログインする
1. 下記コマンドを**管理者権限**で立ち上げたWindows PowerShellで実行する。
   ``` PowerShell
   Get-InstalledLanguage
   ```
   この結果はおそらく下記のようになっているはず。
   (`ja-JP`の`Language Packs`が`LpCab`のみになっている)
   
   ```
   Language Language Packs  Language Features
   -------- --------------  -----------------
   en-US    LpCab, LXP      BasicTyping, Handwriting, Speech, TextToSpeech, OCR
   ja-JP    LpCab           None
   und-Jpan None            Fonts
   ```
   下記を実行することで`ja-JP`の`LXP`をインストールする。
   ``` PowerShell
   Install-Language ja-jp
   ```
   下記はいらないかも？
   ```PowerShell
   # 言語リストを日本語だけにする
   Set-WinUserLanguageList -LanguageList ja -Force
   # ロケーションを日本にする
   Set-WinHomeLocation -GeoId 122
   # システムロケーションを日本にする
   Set-WinSystemLocale -SystemLocale ja-JP
   Set-TimeZone -Id "Tokyo Standard Time"
   Set-WinUILanguageOverride -Language ja-JP
   Set-Culture ja-JP
   Set-WinCultureFromLanguageListOptOut -OptOut $False
   
   reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\i8042prt\Parameters" /v "LayerDriver JPN" /t "REG_SZ" /d "kbd106.dll" /f
   reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\i8042prt\Parameters" /v "OverrideKeyboardIdentifier" /t "REG_SZ" /d "PCAT_106KEY" /f
   reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\i8042prt\Parameters" /v "OverrideKeyboardSubtype" /t "REG_DWORD" /d "2" /f
   reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\i8042prt\Parameters" /v "OverrideKeyboardType" /t "REG_DWORD" /d "7" /f
   # 再起動
   Restart-Computer
   ```

1. 再起動を行う

# 終わりに
これだけのためにめちゃくちゃハマった......


# 参考資料
* [microsoft - Windowsの表示言語を英語にしても一部が日本語表示のまま](https://answers.microsoft.com/ja-jp/windows/forum/all/windows%E3%81%AE%E8%A1%A8%E7%A4%BA%E8%A8%80/ff7b5cd4-78ee-40a0-bbfa-30c2241b00f1)
* [Microsoft Japan Windows Technology Support Blog - 言語パックの管理に便利な PowerShell コマンドレットのご紹介](https://jpwinsup.github.io/blog/2023/03/06/UserInterfaceAndApps/LanguageSupport_IME/InstallLanguage/)
* [vwnet - 外国語版 Windows 11 を日本語化する](http://www.vwnet.jp/Windows/W11/2021120401/OtherLang2jaJPW11.htm)