夜風のMixedReality

xRと出会って変わった人生と出会った技術を書き残すためのGeekなHoloRangerの居場所

HoloLens 2でデバイスの使用言語を取得する

本日はHoloLens 2の調査枠です。

HoloLens 2では一般的なPC同様使用する言語を変更することができます。

redhologerbera.hatenablog.com

 システム言語やMicrosoft Edge、Playgroundなど一部のアプリでは使用している言語に対応した言語が表示されるようになっています。

 また、音声認識なども使用言語に対応しています。

 今回はこれらのように使用している言語によってアプリケーション内での振る舞いを対応させるため使用しているデバイスの言語を取得します。

〇Application.systemLanguage

 Application.systemLanguageはUnityで提供される

docs.unity3d.com

docs.unity3d.com

取得できる言語は日本語も含んだ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]の表示が出ます。

f:id:Holomoto-Sumire:20200827100843j:plain

〇HoloLens 2実機での実行

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

f:id:Holomoto-Sumire:20200827104140j:plain

次のデバイスの使用言語を日本語に変更しました。

変更する手順は以下の記事で紹介しています。

redhologerbera.hatenablog.com

今度は[Japanese]が表示されました。

f:id:Holomoto-Sumire:20200827104208j:plain

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