Unity:UniLang - Unity 上で Google 翻訳を使う -
初めに
Unity 上で Google 翻訳を使うためのパッケージである「UniLang」を紹介します。
ダウンロード・インポート
上記リンク先からダウンロード、インポートできます。
インポートの仕方
- Code→Download ZIP をクリックし、ZIPファイルをダウンロード
- ZIPファイルを展開
- フォルダを Unity プロジェクトの Assets 内に入れる
UniLang について
UniLang は Google Translation API を使用して言語間の翻訳をします。 Google サービスでサポートされているすべての言語は、UniLang でもサポートされています。
使い方
クラス・関数
次の3つのクラスがあります。
- Translator
- TranslatedTextPair
- Language
Translator 内には次の関数が定義されています。
(Translator 内の関数)
//翻訳前の言語(source language)と翻訳後の言語(target language)を指定する Translator.Create(source language, target language) //翻訳 Translator.Run(original string, translated string)
TranslatedTextPair は Translator 内の関数 Translator.Run の返り値で使われます。自分で記述することはあまりないでしょう。
Language には次の言語が書かれています。
public class Language { public const string Auto = "auto"; public const string English = "en"; public const string French = "fr"; public const string German = "de"; public const string Dutch = "nl"; public const string Greek = "el"; public const string Hebrew = "iw"; public const string Hindi = "hi"; public const string Indonesian = "id"; public const string Italian = "it"; public const string Japanese = "ja"; public const string Korean = "ko"; public const string Latin = "la"; public const string Polish = "pl"; public const string Portuguese = "pt"; public const string Russian = "ru"; public const string Spanish = "sv"; public const string Urdu = "ur"; }
使ってみた
次のスクリプトをゲームオブジェクトに付けて、実行してみます。
using System.Collections; using System.Collections.Generic; using UnityEngine; namespace UniLang { public class MyExample : MonoBehaviour { void Start () { var myText = "むかしむかし浦島は助けた亀に連れられて、竜宮城へ行ったとさ"; Translator translator = Translator.Create(Language.Auto, Language.English); translator.Run(myText, results => { foreach (var result in results) Debug.Log(result.original + " => " + result.translated); }); } } }
(実行結果)