1. トップ
  2. 新着ニュース
  3. IT
  4. IT総合

Windowsにおける言語設定とは

ASCII.jp / 2023年11月19日 10時0分

 Windowsは、表示などに使う「言語」を切り替えることが可能になっている。基本的にはWindowsに「言語パック」を組み込む。これによりメニューなどをローカライズすることができる。言語パックは複数組み込むことが可能だが、表示用に選択できるのは1つだけだ。

 Windowsの設定関係で「言語」といえば「言語パック」のことを指している。なお、Windows 10 Ver.1803から言語パックの名称を「ローカルエクスペリエンスパック」(LXP、Local Experience Pack)として、Microsoftストアからのインストールが可能になった。なお、OEM向けなどには、言語パックファイルがCAB形式で提供されており、「言語パック」も存在する。

Windowsにおける言語設定
Microsoftストアでは、「言語パック」は、「ローカルエクスペリエンスパック」として表示される。同じものが設定ページでは言語パックと表記されている

 このため、Microsoftのサイトやドキュメントでは、「言語パック」の表記が大量に残っている。Windows 11の設定で言語を追加するときには言語パックと表記され、これをインストールしても、Microsoftストアアプリにはローカルエクスペリエンスパックがインストールされたという記録になる。2つの名前は面倒なので、ここでは、以前からの名称である「言語パック」を使う。

Windowsにおける言語設定
Windowsの言語設定は、設定の「時刻と言語」→「言語と地域」でできる。ここにある「言語」が言語パックや表示言語の設定、「地域」がカルチャに対応する

 言語パックは、Windowsで言語を扱うためのリソース(フォントなど)や機能モジュール(OCRや手書き文字認識)などから構成される。この中には、「基本」「フォント」「OCR(光学式文字認識)」「手書き文字認識」「テキスト読み上げ」「音声認識」といった機能が含まれる。ただし、1つの言語パックには「基本」は含まれるが、それ以外は、「オンデマンド機能」として別になっていることもある。言語のオンデマンド機能は、あとから個別にインストールできる。

 Windows上で動作するアプリケーションに対しては、表示用言語はロケール(Win32)あるいはカルチャ(.NET)として提示される。どちらもロケールの基本形式である言語名と地域名を組み合わせたBCP47(RFC5646、RFC4647)による名称を持つ。これは、ロケールに対する数値などの表示形式を含む情報である。カルチャは言語にも依存するが、地域により強く依存する。

言語のGUIでの設定

 Windowsの言語設定は、Windows 11設定アプリの「時刻と言語」→「言語と地域」から可能。ここにある「言語」が言語パックのインストール関連の設定(設定項目としては言語の追加ボタン)と、「Windowsの表示言語」の設定である。

 これに対して「地域」は、カルチャの設定に相当する。基本的には「国または地域」を選択することで、日付や数値、金額の表示方法などが決まる(ただし、必ずしも1つとは限らない)。「地域設定」では、同一カルチャ内での変種を選択する、あるいはカスタムカルチャとしてユーザーが指定する。

言語パックのインストール、アンインストール

 言語パックのインストールやアンインストールは、Windows 11 Ver.22H2からは、PowerShellを使いコマンドラインからも可能になった(要管理者権限)。以下の表はPowerShell/Windows PowerShellで利用できる言語パック関連のコマンドである。これらのコマンドは、LanguagePackManagementモジュールに含まれる。

Windowsにおける言語設定

 このコマンドでは、言語パックのインストール(Install-Language)、アンインストール(Uninstall-Language)が可能。そのほか、インストールされている言語パックのリスト(Get-InstalledLanguage)、表示言語の取得(Get-SystemPreferredUILanguage)と設定(Set-SystemPreferredUILanguage)もできる。Windows 11の設定にある言語パック関連の機能をカバーする。

 このコマンドでは、「言語」をBCP47形式のロケールで指定する。たとえば、日本語の言語パックをインストールするには、

Install-Language -Language ja-JP

とする。利用できるロケールに関しては、以下にリストがある。ここにある「言語/地域タグ」を-Languageオプションの引数として使う。

●Windows で利用可能な言語パック  https://learn.microsoft.com/ja-jp/windows-hardware/manufacture/desktop/available-language-packs-for-windows?view=windows-11

 詳細なオプションなどに関しては、以下のページに記述がある。

●LanguagePackManagement Module(英語)  https://learn.microsoft.com/ja-jp/powershell/module/languagepackmanagement/?view=windowsserver2022-ps

 これは、Windows PowerShellのものだが、PowerShell Ver.7.xでも同様だ。

一方のカルチャとは何か

 「カルチャ」は、.NET/.NET Frameworkの言語に関連したリソースである。なお、Win32APIでは同じものをロケールと呼ぶ。カルチャの指定はBCP47形式の「言語-地域」のロケール形式でする。各言語/地域タグのカルチャのデフォルトデータは、Windows内で定義されている。

 カルチャは、言語、地域ごとの文字列や日付や時間、数値などの書式を含む。文字列には、カルチャ(ロケール)のネイティブ言語による表現が含まれる。たとえば、カルチャ設定(地域設定)がjaであるとき、en-USのカルチャの表示名は「英語(米国)」となるが、カルチャがen-USならば、「English(USA)」となる。

 カルチャには、表示言語などに使われるUICultureと、.NET/.NET Frameworkの内部動作時に使われるCultureの2つがあり、これを個別に指定できる。UICultureは、Windowsの表示言語に対応し、Cultureが地域設定に対応する。

 これらを取得する「Get-Culture」「Get-UICulture」は、標準モジュールである「Microsoft.PowerShell.Utility」に含まれている。

 カルチャの切り替えは、管理者権限でSet-Cultureコマンドでできる。これにより「設定」→「時刻と言語」→「言語と地域」→「地域」→「地域設定」が切り替わる。ただし、有効になるのは、コマンド実行後に新規に起動されるセッションからである。

 また、UICultureは、Set-WinUILanguageOverrideコマンドで変更できるが、有効になるのは、再起動、再ログインの後になる。これは、Windowsの表示言語切り替えと同じだ。

 カルチャは言語パックと関連するが、カルチャ自体の利用(切り替え)には、必ずしも該当する言語パックのインストールを必要としない。ただし、言語固有の文字表示などには特定のフォントが必要になることがある。

そのほかの言語関連コマンド

 そのほかの言語関係の設定は、Internationalモジュール(https://learn.microsoft.com/ja-jp/powershell/module/international/?view=windowsserver2019-ps)に属するコマンドを使う。前述のSet-Cultureコマンド、Set-WinUILanguageOverrideコマンドは、このモジュールに属する。

 Internationalモジュールのコマンドでは、現在の地域やシステムロケールなどを設定、表示させられる。

Windowsにおける言語設定

 Microsoftアカウントでは、Windowsの主要な設定をバックアップして、リストアをする「Windowsバックアップ」が用意されている。これは新規マシンにも適用できる。しかし、ローカルアカウントでは、こうした仕組みが利用できない。このようなとき、GUIによる設定は面倒だが、WingetやPowerShellの言語関連設定などを使うことでコマンドライン(スクリプト)で設定が可能になる。

この記事に関連するニュース

トピックスRSS

ランキング

記事ミッション中・・・

10秒滞在

記事にリアクションする

記事ミッション中・・・

10秒滞在

記事にリアクションする

デイリー: 参加する
ウィークリー: 参加する
マンスリー: 参加する
10秒滞在

記事にリアクションする

次の記事を探す

エラーが発生しました

ページを再読み込みして
ください