天使帝國四 日本語化支援ツール
これは「天使帝國四《Empire of Angels IV》」を日本語化するためのフォントおよび言語ファイルである*.dbfsファイルのアンパック、リパックを行うツールです。ゲームの発売は2016年、評価は賛否両論と古くあまりいい評価を得ていませんが、アニメキャラでストラテジーをプレイしたい方にはお勧めです。
会話用テキストが多く大変ですが、それ以外は機械翻訳を利用してある程度翻訳していますので流用しつつ日本語化をしていただける方が現れるのを期待してツールを公開いたします。
アーカイブ内ファイルについて
- assetbundlesフォルダ(フォントデータ)
- localizationフォルダ(言語ファイル、英語を少し翻訳したものを含む)
- EoA4dbfs_Tool.exe(言語ファイルのアンパック、リパックツール)
- 最初に読む.txt
これらのフォルダやファイルが入っています。UI周りの日本語化を確認されたい方はフォルダ2つをゲームがインストールされているフォルダへ上書きコピーします。これでゲームを起動すればUI周りが日本語化された状態で起動します。
EoA4dbfs_Tool.exeの使い方
EoA4dbfs_Tool.exeはコマンドラインのプログラムとなっています(Powershellやコマンドプロンプトで利用するプログラムという意味です)。とはいえ、ファイルのドロップ&ドラッグ(D&D)にも対応していますので、難しく考える必要はありません。対象である拡張子「*.dbfs」を持つファイルこのツールにD&Dするとテキストファイルが生成され、日本語翻訳した「*.txt」ファイルをD&Dにすると「*.dbfs.new」が生成されます。簡単ですね。
とします。この場合、StringTable2.txtが生成されます。
テキストファイルと翻訳作業について
テキストファイルは「{“GUID”:数値,”Data”:”テキスト“}」のようにGUIDとゲーム内テキストという構造で格納されています。数値はID番号のようなものなので変更してはいけません。また一番の問題はテキストです。このゲームは英語も中国語もすべてUnicodeエスケープシーケンスされた文字列になっています。例えば、StringTable2.dbfsをアンパックしたテキストの1行目は下記のように表現されています。
{“GUID”:78,”Data”:”\u0054\u0048\u0045\u0020\u0045\u004E\u0044″}
この変換はオンライン上で簡単に行えますので特に問題はないと思います。リンク先を開いていただき、アンエスケープになっていることを確認し上のボックスにまるまるコピーしてください。瞬時に変換をしてくれます。
このサイトの便利なところはUnicodeエスケープシーケンスされた場所だけを変換してくれるところと一度に複数行をコピーしても変換してくれるところです。テキスト変換したものを全て入れてもOKですが、改行も変換されるため注意してください。
なぜなら、このゲームは1行ごとにテキストを変換し表示しているようなので改行をそのまま入れることはできません。改行だけはUnicodeエスケープシーケンスしたものを挿入する必要があります。例えば「システムが解除されました。(改行)ラドナの森の狩場が解除されました!」と2行になる場合は「システムが解除されました。\u000aラドナの森の狩場が解除されました!」とします。つまり改行を「\u000a」に置き換える必要があります。
Unicodeエスケープシーケンスで元のような形式にしないといけないのでは?と思われるかもしれませんが、日本語をそのまま入力しても構いません(確認済みですが、もし動作しないようであれば英語のみになっている場所をUnicodeエスケープシーケンスしてみてください)。
{“GUID”:78,”Data”:”\u0054\u0048\u0045\u0020\u0045\u004E\u0044″}であれば、テキストは「THE END」なので、{“GUID”:78,”Data”:”おわり”}と入力すればOKということです。
効率的な翻訳作業
会話以外はそこまでテキスト量はありませんのでテキストエディタでも構わないと思いますが、会話はそこそこあるため、Googleスプレッドシートなどを利用して翻訳することをお勧めします。方法としては「{“GUID”:数値,”Data”:」とその後ろを分けるといいかもしれません。
{“GUID”:数値,”Data”:(TAB)\u0054\u0048\u0045\u0020\u0045\u004E\u0044
上記のように変換するのが理想的です。TAB区切りファイル(TSVファイル)にして、Googleスプレッドシートにアップすれば、テキストのみを翻訳対象にでき、GAS(Google Apps Script)を使ってUnicodeエスケープシーケンス部分をアンエスケープすることも可能です。変換はテキストエディタ(Meryなど無料で使用できるもので十分です)を利用すると簡単にできます。
上記はGoogleスプレッドシートに変換したサンプル画像です。A列がGUIDなど、B列がオリジナルの文字列、C列がGASを使用してアンエスケープしたテキスト、Dが翻訳したテキスト、E列がAとDを結合したものです(ただ結合するだけでは意味がありませんので元の構造と同じ形式になるようにしています。また翻訳が済んでいない場所はオリジナルのB列が反映されるようにもしています。テキストファイルに反映した場合はE列を選択しコピーしてテキストファイルにペーストすればOKです。関数などを利用するようになりますが、難しくありませんので挑戦してみてはいかがでしょうか?
導入はテキスト群をアップしたGoogleスプレッドシートのメニュー「拡張機能→Apps Script」から行います。別に専用ウィンドウが開きますので、そこへ上記サイトからコピーしてきたものをペーストし、保存するだけです。専用ウィンドウを閉じ、後は関数のように使用可能です。
例えば、C1にアンエスケープしたものを表示させようと思えばC1セルに「=unicodeUnescape(B1)」と入力するだけです。GASを利用するので多少時間がかかりますが、変換した文字列が表示されるかと思います。変換が終わったら関数を消した方がよいのでC1を「コピーし、値のみをペースト」をするといいでしょう。
フォントについて
フォントはassetbundles\Font\Font.unity3dに含まれています。置き換えをしなくても表示は可能ですが、中国語の漢字が使用されるため置き換えたものを用意しています。使用しているフォントは「ロゴたいぷゴシック」を利用させていただいています。このフォントが嫌な方は好きなように変更をしてください(このやり方は特に説明しません)。
最期に
チュートリアル内で表示されるキー一覧などは画像になっていますので日本語化する場合は画像編集する必要があります。個人的には無視してもいいと思いますが、自由になさってください。
動画配信での使用、日本語化したゲーム画像の使用について
ゲーム本体の規約に沿ったうえで下記の注意事項を記載をしてください。どのように日本語化したかを記載の上、配信をお願いします(公式で対応していると思われたりしないための処置です)。
注意事項と利用規約
- 日本語化支援ツールの使用は自己責任でお願いいたします。
- ゲームのアップデートでツールが使用できなくなった場合、対応する義務はないものとします。
- ツールを使った日本語化ファイルの配布は自由に行って構いません。ただし、このツールを使った旨を必ず記載してください。