【Unity】Excel使ってローカライズ試してみたんだが・・・・どうなんでしょかねorz
おはようございます。坂内です。
だいぶ涼しくなってまいりました。
過ごしやすい季節ですがな!
現在あっぷるさんに申請だしているアプリは、ipadの時に広告がスゲー画面のど真ん中にでちゃうんでふざけんなってリジェクトされてます。
ええ、ipadなんてありませんから、試しようがないんですよね テヘ
ちくしょーーーー!!!!
とりあえず10月入ったらipadの1を知り合いからもらう予定・・・・
ちなみに今は、育成ゲーム作ってます。
いくつか絵ができ次第、予約TOP10に出そうかなとは思ってます。
で、今日の話題は、Excelファイルを使ってローカライズしてみよう?ってこと。
ちなみにUnity4.6ベータ使い続けてます。
色々と文字が多いアプリを作る際にめんどくさい(管理しやすいよう)にExcelファイルにて文字を管理しちゃいたいんですが、ローカライズはどうするの?って思った一瞬があったんですよね。
で、色々考えたんですが、ここにたどり着きました。ってお話です。
まずは、Excelが使えるように以下を落としてプロジェクトに入れちゃってください。
http://tsubakit1.hateblo.jp/entry/20131010/1381411760
こちら、テラシュールウェアさんのブログからです。テラさんスゲーよなーなんでも作っちゃうしー
で、上記の準備ができたら、適当なローカライズ用クラスを作ります。
んで、↓こんなエクセルをつくります。シートは「ENシート」と「JAシート」を作りました。
ENシートには英語の文言、JAシートには日本語の文言が入ってます。
エクセルのファイル名は「test.xls」にしました

test.xlsをインポートします。
インポートするときに、クラス名を決めます。
今回はクラス名を「LocalizeData」とかにしときました。

で、できあがったのがこちら。

ScriptableObjectなるものが出来上がるらしいです。
さてさて、お次はこいつを実際に使ってみます。

とりあえずTextおいておきます。
で、以下のLocalizeTestクラスを作ります。
ここでは、実際にローカライズしたデータを使用するコードを書いときます。
localizeData.sheets[Localize.localize]
のところで、先ほどのLocalizeで日本語なのか英語なのかのシート分けを行っています。
今回は適当に、CanvasにこのLocalizeTestをつけました。

んで、public LocalizeData localizeData;に当たるものには、先ほど作ったScriptableObjectをつけます。
そのまま実行すると

のように日本語が出ます。
これ、Androidとかで英語にして実行するとちゃんと英語がでます。
と、こんな感じでローカライズできるんですかね?
でも、この方法だと1個1個のオブジェクトに対して無駄なコードを書いているような・・・・
もっと簡単な方法ないんですかね!?
ってところで、アデュ~ノシ
だいぶ涼しくなってまいりました。
過ごしやすい季節ですがな!
現在あっぷるさんに申請だしているアプリは、ipadの時に広告がスゲー画面のど真ん中にでちゃうんでふざけんなってリジェクトされてます。
ええ、ipadなんてありませんから、試しようがないんですよね テヘ
ちくしょーーーー!!!!
とりあえず10月入ったらipadの1を知り合いからもらう予定・・・・
ちなみに今は、育成ゲーム作ってます。
いくつか絵ができ次第、予約TOP10に出そうかなとは思ってます。
で、今日の話題は、Excelファイルを使ってローカライズしてみよう?ってこと。
ちなみにUnity4.6ベータ使い続けてます。
色々と文字が多いアプリを作る際にめんどくさい(管理しやすいよう)にExcelファイルにて文字を管理しちゃいたいんですが、ローカライズはどうするの?って思った一瞬があったんですよね。
で、色々考えたんですが、ここにたどり着きました。ってお話です。
まずは、Excelが使えるように以下を落としてプロジェクトに入れちゃってください。
http://tsubakit1.hateblo.jp/entry/20131010/1381411760
こちら、テラシュールウェアさんのブログからです。テラさんスゲーよなーなんでも作っちゃうしー
で、上記の準備ができたら、適当なローカライズ用クラスを作ります。
using UnityEngine; |
んで、↓こんなエクセルをつくります。シートは「ENシート」と「JAシート」を作りました。
ENシートには英語の文言、JAシートには日本語の文言が入ってます。
エクセルのファイル名は「test.xls」にしました

test.xlsをインポートします。
インポートするときに、クラス名を決めます。
今回はクラス名を「LocalizeData」とかにしときました。

で、できあがったのがこちら。

ScriptableObjectなるものが出来上がるらしいです。
さてさて、お次はこいつを実際に使ってみます。

とりあえずTextおいておきます。
で、以下のLocalizeTestクラスを作ります。
using UnityEngine; |
ここでは、実際にローカライズしたデータを使用するコードを書いときます。
localizeData.sheets[Localize.localize]
のところで、先ほどのLocalizeで日本語なのか英語なのかのシート分けを行っています。
今回は適当に、CanvasにこのLocalizeTestをつけました。

んで、public LocalizeData localizeData;に当たるものには、先ほど作ったScriptableObjectをつけます。
そのまま実行すると

のように日本語が出ます。
これ、Androidとかで英語にして実行するとちゃんと英語がでます。
と、こんな感じでローカライズできるんですかね?
でも、この方法だと1個1個のオブジェクトに対して無駄なコードを書いているような・・・・
もっと簡単な方法ないんですかね!?
ってところで、アデュ~ノシ
« 【iOS】手動リジェクト時のメモ | 【Unity】Androidでもアプリ名のローカライズ・・・ »
コメント
| h o m e |