2015年12月21日月曜日

Shadowrun: Dragonfall - Director's Cut 日本語表示可能


Engine: Unity 4.3.4f1
UI周りのテキストはresources.assets内のcode.*。
拡張子をmoにしてPoeditに付属するmsgunfmt.exeでpoファイルに変換する。
例:msgunfmt.exe "編集元moファイルパス" -o "poファイル保存先パス"

DragonfallのダイアログはDragonfall_Data\StreamingAssets\ContentPacks\DragonfallExtended\data以下のbytesファイル。
このゲームはContentの翻訳に対応しており、DragonfallもContent扱いなので以下の手順で翻訳できる。
ShadowrunEditorでproject.cpack.bytesを開いてTools→Extract Content Pack Localizationでpotファイルを出力。
potから翻訳プロジェクトを作成し、翻訳した後DragonfallExtended.moにコンパイルする。
後はこれをDragonfallExtended\data\loc\(UIの言語コード)\に配置すれば反映される。

…はずなのだが、UIを英語にしていると反映されない。どうやらContentの翻訳はゲームをES、FR、DE、IT、RU、CNのどれかに設定している時のみ反映されるようだ。
そこで上記のフォントModではフランス語UIのテキストを英語のものに差し替えた。
ゲームをFRに設定し、Dragonfall\loc\fr\にDragonfallExtended.moを置けばUIとダイアログの両方で日本語表示できる。

ただ英語以外に設定すると時々ニューゲームできなくなったりと動作が怪しくなる…
英語でもmoを読んでくれるようにAssembly-CSharp.dllを改変できればいいんだけど、自分には無理だった。
まず英語でニューゲームし、言語を変更後ロードすればプレイに支障は無いと思う。
いちいちレジストリ値を変更するのは面倒なので言語変更ツールをフォントModに同梱した。ロシアフォーラムにあったもののパクリだけど

追記:
Autumbra SagaもDragonfallと同じ手順で日本語表示できた。他のModも翻訳できると思う。

0 件のコメント:

コメントを投稿