HoloLens로 현지화 해 보았습니다.

11066 단어 UWPHoloLensMRUnity
HoloLens에서 지역화하는 장면이 나왔기 때문에,
가능한지 시도해 보았습니다.

HoloLens는 아직 언어 설정이 영어로만 지원됩니다. (2017년 09월 시점)
스토어에 릴리스하고 설명문을 앱 내에서 표시할 때 역시 현지화는 필수입니다.

결론으로서는 타임 존을 취득해 그 설정이 일본인지 어떤지로 판별하도록 했습니다.
더 좋은 방법이있을 수 있습니다. . .

환경


  • Unity 2017.1.0f3
  • MixedRealityToolkit-Unity for Unity 2017.1.0f3

  • 샘플 코드



    구현 이미지



    HoloLens로 현지화 해 보았다. #HoloLens


    프로젝트 만들기



    새 프로젝트를 만들고 MixedRealityToolkit-Unity를 소개합니다.
    Hierarchy는 이런 식으로 만들었습니다.
  • HoloLensCamera
  • 3D Text
  • 빈 개체

  • #HoloLensJP

    3D 텍스트 설정



    #MR

    스크립팅



    GSUtil.cs라는 새 파일을 만들고 빈 개체에 연결합니다.
    파일의 내용은 이런 느낌으로 했습니다.
    구체적으로는 TimeZoneInfo 의 ID 를 취득해 내용이 Tokyo Standard Time 인가 어떤가로 판별하고 있습니다.

    GSUtil.cs
    using System;
    using System.Collections;
    using System.Collections.Generic;
    using UnityEngine;
    
    public class GSUtil : MonoBehaviour {
    
        private static GSUtil _Instance;
    
        public bool isJapan = false;
        public TextMesh helloText;
    
        public static GSUtil Instance
        {
            get
            {
                if (_Instance == null)
                {
                    _Instance = FindObjectOfType<GSUtil>();
                }
                return _Instance;
            }
        }
    
        private void Awake()
        {
            // タイムゾーン取得Tokyo Standard Timeなら日本とする
    
    #if UNITY_UWP
            TimeZoneInfo timezone = TimeZoneInfo.Local;
            if (timezone.Id.Equals("Tokyo Standard Time"))
            {
                isJapan = true;
            }
            else
            {
                isJapan = false;
            }
    #endif
            // ローカライズファイル初期化
            TextLocalizer.Init(isJapan);
    
        }
    
        // Use this for initialization
        void Start () {
            // Helloキーの値を取得する
            helloText.text = TextLocalizer.Get("Hello");
        }
    
        // Update is called once per frame
        void Update () {
    
        }
    }
    

    피 c. 라고 r. 코 m / Ks 코 WpfWqs

    현지화된 파일 읽기 프로그램



    그런 다음 현지화된 파일을 로드할 수 있도록 프로그램을 만듭니다.Resources 폴더에 각각 현지화된 파일을 만듭니다.
    2017년 9월 15일

    파일의 내용은 이런 느낌입니다.
    ※Hello 사이에는 탭 문자(¥t)를 넣어 주세요

    english.csv
    Hello Hello World!!
    

    japanese.csv
    Hello こんにちは世界!
    

    TextLocalizer.cs
    using System.Collections.Generic;
    using System.IO;
    using UnityEngine;
    
    public static class TextLocalizer {
    
        // 文字列格納、検索用ディクショナリー
        private static Dictionary<string, string> sDictionary = new Dictionary<string, string>();
    
        /// <summary>
        /// 文字列初期化
        /// </summary>
        /// <param name="isJapan">日本語かどうか</param>
        public static void Init(bool isJapan)
        {
            // リソースファイルパス決定
            string filePath;
            if (isJapan)
            {
                filePath = "Text/japanese";
            }
            else
            {
                filePath = "Text/english";
            }
    
            // ディクショナリー初期化
            sDictionary.Clear();
            TextAsset csv = Resources.Load<TextAsset>(filePath);
            StringReader reader = new StringReader(csv.text);
            while (reader.Peek() > -1)
            {
                string[] values = reader.ReadLine().Split('\t');
                sDictionary.Add(values[0], values[1].Replace("\\n", "\n"));
            }
        }
    
        /// <summary>
        /// 文字列取得
        /// </summary>
        /// <param name="key">文字列取得キー</param>
        /// <returns>キーに該当する文字列</returns>
        public static string Get(string key)
        {
            return sDictionary[key];
        }
    
    }
    
    

    요약



    꽤 강인한 방식으로 현지화 해 보았습니다.
    빨리 일본어가 지원되기를 바랍니다.

    좋은 웹페이지 즐겨찾기