HoloLens로 현지화 해 보았습니다.
가능한지 시도해 보았습니다.
HoloLens는 아직 언어 설정이 영어로만 지원됩니다. (2017년 09월 시점)
스토어에 릴리스하고 설명문을 앱 내에서 표시할 때 역시 현지화는 필수입니다.
결론으로서는 타임 존을 취득해 그 설정이 일본인지 어떤지로 판별하도록 했습니다.
더 좋은 방법이있을 수 있습니다. . .
환경
샘플 코드
구현 이미지
HoloLens로 현지화 해 보았다. #HoloLens
프로젝트 만들기
새 프로젝트를 만들고 MixedRealityToolkit-Unity를 소개합니다.
Hierarchy는 이런 식으로 만들었습니다.
HoloLens로 현지화 해 보았다. #HoloLens
프로젝트 만들기
새 프로젝트를 만들고 MixedRealityToolkit-Unity를 소개합니다.
Hierarchy는 이런 식으로 만들었습니다.
#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];
}
}
요약
꽤 강인한 방식으로 현지화 해 보았습니다.
빨리 일본어가 지원되기를 바랍니다.
Reference
이 문제에 관하여(HoloLens로 현지화 해 보았습니다.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/h-takauma/items/7c335a3232843532cab8
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
Reference
이 문제에 관하여(HoloLens로 현지화 해 보았습니다.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/h-takauma/items/7c335a3232843532cab8텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)