本日はHoloLens 2の調査枠です。
HoloLens 2では一般的なPC同様使用する言語を変更することができます。
システム言語やMicrosoft Edge、Playgroundなど一部のアプリでは使用している言語に対応した言語が表示されるようになっています。
また、音声認識なども使用言語に対応しています。
今回はこれらのように使用している言語によってアプリケーション内での振る舞いを対応させるため使用しているデバイスの言語を取得します。
〇Application.systemLanguage
Application.systemLanguageはUnityで提供される
取得できる言語は日本語も含んだ42か国語で、それ以外が検出された場合は[Unknown]が出力されます。
今回Unityで次のようなスクリプトを用意しました。
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using TMPro;
public class DeviceInfo : MonoBehaviour
{
[SerializeField] TextMeshPro _text;
void Start()
{
string lang = Application.systemLanguage.ToString();
_text.text = ("your system Language is" + lang);
Debug.Log(lang);
}
}
いたってシンプルでTextMeshProのテキストに「your system Language is」に続き使用している言語が表示される仕組みです。
〇Unityでの実行
筆者のPCでは日本語を使用しているため[Japanese]の表示が出ます。

〇HoloLens 2実機での実行
筆者のHoloLens 2では普段は英語を使用しているため[English]の表示が出ます。

次のデバイスの使用言語を日本語に変更しました。
変更する手順は以下の記事で紹介しています。
今度は[Japanese]が表示されました。

以上でHoloLens 2でデバイスの使用言語を取得できました。