海外版RPGツクール2000製ゲームを翻訳する

##概要
海外版RPGツクール2000製ゲームを翻訳する方法です。
　1.ゲームプロジェクトを「Translator++」で取り込み→翻訳
　2.「EasyRPG_Player」でゲームを起動する
という流れになります。製品版ツクールは必要ありません。

本記事では【Shibuya Marble Texture RPG】というゲーム翻訳します。
ヒプノシスマイクの二次創作RPGです。
https://ecorust9.itch.io/shibuya-marble-texture

作成者：ecorust9様
https://ecorust9.itch.io/

プレイ画面です。ラムダちゃんかわいいですね。
<img width="70%"  src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1777922/2517631c-f721-cef1-91ec-4fe4ea860254.png">

今回ご紹介する手順で、別言語に翻訳したプレイ画面です。
<img width="70%"  src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1777922/9f4cc235-688c-1e25-e284-fad23f4187ee.png">
<img width="70%"  src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1777922/6b5a8da5-2ee7-aaf1-5192-94d538a5fb69.png">

今回は下記フォルダにゲームを解凍しました。適宜、ご自身のフォルダパスに読み替えてください。
”C:\Users\User\Saved Games\Shibuya Marble Texture RPG en\Shibuya Marble Texture RPG (Eng)”
<img width="100%"  src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1777922/3b3446b9-30a5-792a-0dad-ce69df15f697.png">

##0.前提知識 海外版RPGツクール2000製のゲームについて
「翻訳なんてなんかテキストファイル的なのを書き換えればいけるっしょ」という気持ちで始めたのですが、そんな簡単な話ではありませんでした。
ツクール2000製のゲームは、ストーリーやセリフがテキストファイルとしてが独立していません。
すべてプログラム内に直書きされていますので、プログラムの中から翻訳したい箇所を探し、ひとつずつ書き換えていく必要があります。

こちらは、ゲームプログラムの一部をスクリーンショットしたものです。
ゲームを海外版RPGツクール2000で取り込むと、このような画面からプログラムの書き換えが可能になります。
「@>Text:      」の部分がセリフですので、ここを書き換えていく必要があります。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1777922/475197cd-71f7-ef38-f802-9182d055c247.png)

ただそもそも海外版RPGツクール2000はASCII文字にしか対応しておらず、
この画面からでは英数字記号しか入力することができません・・・。
日本版RPGツクール2000で取り込みすれば、日本語入力自体自体は可能なのですが、
結局プレイ画面で文字化けしてしまいます。
なので別なソフトを使ってうまく修正していく必要があります。

##1.「Translator++」をダウンロードする
■Translator++
http://dreamsavior.net/download/

少しスクロールして[Public Version」をダウンロードします。Ver.3.1.30以降のバージョンであれば問題ありません。
（画面トップの「Latest version」は有料になりますが、[Public Version」は無料です。）
<img width="100%"  src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1777922/cfc50de3-e81c-74c7-b969-ce6428f65af8.png">
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1777922/ffc71ab9-9cca-2244-7747-e3da3904ea86.png)


ダウンロードしたファイルを任意のフォルダに解凍してください。
解凍したフォルダからTranslator++.exeを起動します。
（解凍ソフトは7-Zipを使用しました。いつも使用しているLhaplusだとなぜかうまくいかなかったため。）
<img width="100%"  src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1777922/2d52329f-0608-aec0-cd9f-6dbf4f33acd4.png">

初回起動ですと下記画面がでます。「Do not show this message again!」にチェックしてCloseを押します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1777922/a212fed9-9454-7cc3-4dc2-0b04a383f064.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1777922/3d797979-0a10-a706-593f-ddc337b55aa9.png)

※起動時「Unable to run PHP interpreter!」というエラーが出る場合があります。
visual c++ 2015がインストールされていなかったり、
Translator++.exeの格納パスに英字以外が含まれている場合このエラーになることがあるそうです。
私もこのエラーがでてしまい、いろいろ試したのですが結局解消できませんでした・・・。
試しに別のPCで試したところエラーなく実行できました。解消方法は結局わからずじまいです。

##2.「Translator++」で翻訳する
「Start a New Project」をクリック。
<img width="100%"  src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1777922/a8c35251-5a44-a070-825a-eb01832c0820.png">

「RM2K＆RM23K」をクリック。
<img width="100%"  src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1777922/8a828cb5-63f7-5555-6bfa-c3083bd8e633.png">

「Select executable file from your the game」をクリック。
<img width="100%"  src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1777922/e172c317-521f-bed2-9277-c3d457876e02.png">

翻訳対象のゲームが入っているフォルダから「RPG_RT.exe」を選択します。
<img width="100%"  src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1777922/d269c879-f15e-1cde-67b1-a54c34d03e7d.png">

ゲームの取り込みが始まります。（結構時間がかかります。）
「Done」が表示されたら完了です。「close」をクリックします。
<img width="100%"  src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1777922/b8141f84-ef88-fe0f-c8bc-72093356de12.png">

取り込み完了すると下記画面になります。
赤枠のファイル一つ一つが、ゲームを構成するプログラムファイルになります。
<img width="100%"  src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1777922/ce29d676-e4e7-7bdd-5159-64cf806905ed.png">

ゲームから抽出されたプログラム文がOriginal Textに出力されます。
「Map0013.emu」は本記事最初に貼ったスクリーンショットのシーンなのですが、
赤枠内にラムダちゃんのセリフが記載されていることを確認できます。
<img width="100%"  src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1777922/fa5072a2-a1db-c5ea-7f03-e734bbe38992.png">


ここからストーリーやセリフっぽところ・・・つまり翻訳したい文章探し、ひとつひとつ書き換えしていきます。
ストーリー・セリフ以外を書き換えてしまうとゲームがうまく動作しなくなってしまうので注意してください！！

##3.「Translator++」の機械翻訳機能を使う
Translator++にはゲームプログラムをまるごと機械翻訳する機能があります。

歯車をクリック。
<img width="100%"  src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1777922/9b562bb0-4b8e-2f6d-8ac7-4f7af0f6bb10.png">

Languageで、下記のとおり設定して「close」をクリックします。
・Translator：google
・Translate From：翻訳元の言語を選択（画像ではenglishを選択）
・Translate Into：翻訳後の言語を選択（画像ではjapaneseを選択）
<img width="100%"  src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1777922/110f03ad-9783-824a-6b23-77a0da312278.png">

翻訳したいファイルにチェックをいれて、【文/A】をクリックします。
<img width="100%"  src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1777922/f5b3d7ae-5666-cfae-09c1-4595aba47405.png">

「translate Now」をクリックします。
<img width="100%"  src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1777922/9ef8c87e-640a-79ea-d8d0-afe247468e0f.png">

100％になったら完了ですので「×close」をクリックします。
<img width="100%"  src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1777922/43e75b09-6845-7e5f-18c3-815dc6de856b.png">

「Initial」列に、「Original Text」を翻訳したテキストが出力されました。
「Initial」列の内容で、ゲームプログラムを上書きしていく、、、という仕組みになっています。
<img width="100%"  src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1777922/b2ea7e75-1475-15ac-f03c-247b648cd597.png">

ただしこれだとセリフ・ストーリーに関係ないプログラム部分もすべて機械翻訳語で上書きされてしまいます。
このままではゲームがうまく動作しなくなるので、セリフ・ストーリーっぽくない箇所は、すべてDelキーで削除してください。
一か所でも消し忘れると即アウトなので、判断に迷ったらなるべく「Initial」列以降はブランクにしたほういいと思います。
<img width="100%"  src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1777922/8c5e30c4-02a1-d5cd-511b-5eb221bc98f1.png">

ここで一旦プレイ画面を確認します。注射マークをクリックしてください。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1777922/3dd3aa5c-f1c9-3bf4-f77b-725b7bf86fb3.png)

下記のとおり入力し、「Apply translation」をクリックしてください。
・Select the source material to be translated：翻訳元ゲームが入っているフォルダ
・Target Directory：翻訳後のゲームを出力するフォルダ（どこでもOKですが、日本語を含まないパスのほうがいいかも。）
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1777922/d8f6a12f-3156-9d82-3d9a-f5e9424208b8.png)

「Finished」がでれば完成です。（結構時間がかかります。）
「Play!」をクリックします。
<img width="100%"  src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1777922/195e4b76-43b6-5a89-d6db-600db4d9b875.png">

セリフが「Initial」列のとおり書き換わりました。問題なければウィンドウを×閉じしてください。
<img width="100%"  src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1777922/f5cb2ed8-0f66-88b1-02d1-dcf73724617e.png">
<img width="100%"  src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1777922/26e5e23e-67d2-2d8b-cf64-7b7310a3c364.png">

機械翻訳したままの文章だと少々不自然なので（機械翻訳語をしゃべるラムダちゃんも"良"なのですが…）自然な文章に書きかえていきます。
「Machin translation」「Better Translation」「Best translation」に記載してください。どの列をつかってもOKです。
「Initial」＜「Machin translation」＜「Better Translation」＜「Best translation」の優先順位で、出力されます。
<img width="100%"  src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1777922/b9031dda-eec5-adcf-c697-e3aa73061063.png">

この場合の出力結果は下記のとおりです。
<img width="100%"  src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1777922/99a783d8-dfc4-ca90-bece-b3c5cd924167.png">
<img width="100%"  src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1777922/6c336a7e-dbd2-0460-9f09-bc3a224121b1.png">
<img width="100%"  src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1777922/cbb34433-7e98-9531-87e3-058f13b94594.png">

なお軽く確認しただけですが日本語以外にも対応可能そうです。
<img width="100%"  src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1777922/5a18856c-69f7-68b5-6f9d-921076ccb2a5.png">

【日本語】
<img width="100%"  src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1777922/9f4cc235-688c-1e25-e284-fad23f4187ee.png">

【한국（韓国語）】
<img width="100%"  src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1777922/6b5a8da5-2ee7-aaf1-5192-94d538a5fb69.png">

【简体中文（中国語簡体）】
<img width="100%"  src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1777922/bd2c8680-cce6-6670-f1d3-0deb251ae9ea.png">

【繁體中文（中国語繁体）】
<img width="100%"  src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1777922/e7094f22-4d14-e32a-5ca3-61de202f081f.png">

【ไทย(タイ語)】
<img width="100%"  src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1777922/abbd5b3a-4c5e-616c-9770-9c50a9844ceb.png">

##4.「EasyRPG_Player」でゲームを起動する
この時点で、「Target Directory」フォルダ（注射アイコンをクリックしたときに指定したフォルダ）には、
いま翻訳したゲームの実行ファイルが出来上がっています。
ただこれを単純に起動しても文字化けするので「EasyRPG_Player」経由で起動する必要があります。

■EasyRPG_Player(Windows)
https://easyrpg.org/player/downloads/
こちらから「Windows 32 bit executable」または「Windows 64 bit executable」をダウンロードしてください。
<img width="100%"  src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1777922/d0a7ec32-bc75-b069-cff9-f179c4c9bfdb.png">

ダウンロードしたzipを解凍すると「Player.exe」がでてきますので、
これを「Target Directory」で指定したフォルダ（注射アイコンをクリックしたときに指定したフォルダ。RPG_RT.exeが入っている。）につっこんでください。
<img width="100%"  src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1777922/56e0d144-ef4f-0699-82c9-5a5de422ec49.png">

フォルダにつっこんだ「Player.exe」をダブルクリックすると、（RPG_RT.exeのほうではありません！！）翻訳後版のゲームが起動します。
<font color="Red">**！！ゲームから戻れなくなった場合は【Win＋D】同時押しでデスクトップに戻ってください！！**</font>

##おまけ
・試していませんが、Steam版RPGツクール2003製ゲームも同じ方法で翻訳できるると思います。
・日本語への翻訳に限りますが、以下手順でもいけました。
 　1.steam版RPGMaker2003を購入
 　2.日本語パッチ（Maniac Patch）をRPGMaker2003&ゲームプロジェットに適用
 　3.RPGMaker2003でゲームプロジェットを開く
 　4.ツール→データベース→システム→システムグ
ラフィックのとこの「設定」→フォントをゴシックか明朝に→OK

##追記(2021/07/31)
テキスト1行目がブランクだと、エラーになるみたいです。
解決策としては、RPGツクール2000スチーム版を購入→プロジェクトに取り込んでブランク行に適当な文字を入力→ゲームを出力してtranslator++に再取り込み
しかなさそうです。
![test.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1777922/306d64ff-b843-5ce9-5f19-6b68423fb4f5.png)

なおこのエラーがあったとしても、それ以外のシーンは問題なくプレイできます。
なので代案としては、エラーが発生するシーンだけyoutubeで字幕つけて配信、とかしかないのかなあ・・・と思います。

以上