最近にわかにUnityの日本語環境に関する議論が活発な様子。
[Unity][Unity3d]UnityでC#の新規作成ファイルをBOM付きUTF-8にするコマンド(Mac環境向け) - 強火で進め
MonoDevelopが日本語OKになるんなら、いっそのことUnity Editorのメニューやインスペクタも日本語にしたらどうか?と思い立って実験することにしてみた。
また、ターゲットとしてはプログラミングができなくてもロジックが組めるPlaymakerというAssetとした。理由はプログラミングが出来なく、かつ英語が苦手だけどUnityを使って開発をしたい、という層が十分なマーケットとしてあるだろう、と考えたためだ。
なお今回はお遊びのつもりでやる実験なので、開発環境をおかしくするかもしれないため、試す場合は、①必ずバックアップをとり、②最悪の場合Unity環境が立ち上がらない場合も自己責任で直す覚悟でお願いしたい。
実験内容
PlaymakerのUnity Editorを日本語にしてみる
試したOS、Unity、Assetバージョン
Windows環境、Unity3.5.5f3、Playmaker1.3.2
実験手順
- 上のリンク先を参考にC#のテンプレート(雛形)ファイルをBOM付きUTF-8に書き換える
- Playmaker/Editor配下にある2つのスクリプトをデスクトップなどにバックアップした後、以下のファイルの「Language = 日本語」より下の行にある文字列を直したいメニューの文だけ、イコールより後の文字列に置換する
- コンパイルする
[PlayMakerMainMenu.cs] Flag = Flag-JP Language = 日本語 PlayMaker/PlayMaker FSM Editor = PlayMaker/状態遷移ブラウザエディタ PlayMaker/Editor Windows/FSM Browser = PlayMaker/編集ツール/状態遷移ブラウザ PlayMaker/Editor Windows/State Browser = PlayMaker/編集ツール/状態ブラウザ PlayMaker/Editor Windows/Templates Browser = PlayMaker/編集ツール/テンプレートブラウザ PlayMaker/Editor Windows/Edit Tool Window = PlayMaker/編集ツール/編集ツール PlayMaker/Editor Windows/Action Browser = PlayMaker/編集ツール/アクションブラウザ PlayMaker/Editor Windows/Global Variables = PlayMaker/編集ツール/グローバル変数 PlayMaker/Editor Windows/Event Browser = PlayMaker/編集ツール/イベントブラウザ PlayMaker/Editor Windows/Log Window = PlayMaker/編集ツール/ログ PlayMaker/Editor Windows/Console = PlayMaker/編集ツール/コンソール PlayMaker/Components/Add FSM To Selected Objects = PlayMaker/コンポーネント/選択オブジェクトに状態遷移を追加 PlayMaker/Components/Add PlayMakerGUI to Scene = PlayMaker/コンポーネント/PlaymakerGUIをシーンに追加 PlayMaker/Tools/Custom Action Wizard = PlayMaker/ツール/カスタムアクションウィザード PlayMaker/Tools/Load All PlayMaker Prefabs In Project = PlayMaker/ツール/全てのPlaymakerプレハブをロード Loading PlayMaker Prefabs = Playmakerプレハブをロード中 No PlayMaker Prefabs Found! = Playmakerプレハブは見つかりませんでした! Loaded PlayMaker Prefabs = PlayMakerプレハブをロードしました PlayMaker/Online Resources/HutongGames = PlayMaker/関連リンク/HutongGamesサイトへ PlayMaker/Online Resources/Online Manual = PlayMaker/関連リンク/オンラインマニュアル PlayMaker/Online Resources/Video Tutorials = PlayMaker/関連リンク/ビデオチュートリアル PlayMaker/Online Resources/YouTube Channel = PlayMaker/関連リンク/YouTubeチャンネル PlayMaker/Online Resources/PlayMaker Forums = PlayMaker/関連リンク/PlayMakerフォーラム PlayMaker/Online Resources/Release Notes = PlayMaker/関連リンク/リリースノート PlayMaker/Submit Bug Report = PlayMaker/バグを報告 PlayMaker/Welcome Screen = PlayMaker/ようこそ画面 PlayMaker/About PlayMaker... = PlayMaker/Playmakerについて [FsmComponentInspector.cs] Flag = Flag-JP Language = 日本語 States [ = 状態 [ Events [ = イベント [ Variables [ = 変数
注意点
コンパイル時に筆者環境では以下のエラーメッセージが表示された。ここで「Keep changes」を選ぶこと。Convertを選択すると、どうもBOMなしに変換されて文字化けが起きるようだ
実験結果
- メニュー
変更後
- インスペクタ
変更前
変更後
うーん、やっぱり日本語のほうが見やすいね!
まあ課題は山積みなわけで:
- 日本語化をして良い箇所を特定する必要がある。残念ながら私のほうではUnity Editor自体、どこまで日本語を使用することが許容されているか確認する術もない(たとえば、ファイルパスや変数に日本語がNGなのはすでに情報があるが、今回のメニュー、インスペクタのラベルはどうなんだろうか)
- Assetの場合、オリジナル作者で対応する必要がある。(技術的にラベルにあたる部分をローカライズできるようにあらかじめ作者側で行わないといけないし、規約上もソースコードの改変は問題がある)
- Unity Editorの中に日本語化してよい情報がふくまれる場合に限定される。(今回もPlayMaker FSM EditorはUnity Editorのなかになかった。DLLライブラリに入っていたのか、私のほうでは確認する術がない)
http://answers.unity3d.com/questions/57395/how-do-i-localize-strings-in-the-editor.html
http://answers.unity3d.com/questions/38272/how-do-i-display-chinese-in-unity.html
http://answers.unity3d.com/questions/32615/does-unity-3-have-native-resource-localization-sup.html
なお、賢明な読者の方はお気づきかもしれませんが、NGUIで言語切替(Localization)をするデモと同様のフォーマットを踏襲したのでうまくスクリプトを組めばゲームのなかでの多言語化にも生かせるかもしれません。(エディタとゲーム中の用語は別物かもしれませんが・・・)
Playmaker作者は過去に別の質問で回答いただいたことあるので、今回も「どう思う?」って質問だけとりあえず投げてみた。
「動かなくなるかもしれないし、そこまでやる価値はあるの?」って怒られる気もしている(笑)が・・・。奇跡的に良い返事だったらここでまた共有することにする。
開発もたまには息抜きしてリフレッシュしよう!
0 件のコメント:
コメントを投稿