穏やかに人生を楽しむブログ

日々の生活にイライラせず、穏やかに人生を楽しもうと挑戦しているブログ

ツクールmv ローカライズ方法

ローカライズで難しいのはどう翻訳するのかということ、どうやってセリフを抽出するのかという点、どうやってゲームに反映するのかという点です。

ここではどう翻訳するのか、という難しい点は置いておいて、それ以外の部分について触れたいと思います。

まずはタイトル画面などのコマンド文字を英語にしてみる

f:id:sctibacromn:20201116130219p:plain

1.自作プラグインTranslateStrings.js)のダウンロード

2.1をpluginsフォルダに移動する

3.dataフォルダ内に新規でTranslateという名前のフォルダを作成

4.GameStrings.jsonをダウンロード

5.Translateフォルダ内に4を移動する

6.1のプラグインをONにする

7.強制言語の設定を英語に変更する

f:id:sctibacromn:20201116130358p:plain

8.起動して確認する

 

GameStrings.jsonに変換対象の日本語と対応する英語が保存されてます。メニューのコマンドなど、変更したいときは追加してみましょう。

主人公の名前を英語にしてみる

f:id:sctibacromn:20201116131233p:plain

1.dataフォルダ内に新規でenという名前のフォルダを作成

2.1のフォルダ内にdataフォルダ内のActors.jsonをコピー&ペースト

3.enフォルダ内のActors.jsonの主人公の名前を変更する

f:id:sctibacromn:20201116131714p:plain

4.TranslateStringsプラグインの「データベースを言語別に使用する」をtrueにする

5.TranslateStringsプラグインの「言語データベース名」にActorsと入力する

f:id:sctibacromn:20201116132050p:plain

6.起動して確認する

そのほか、例えばアイテム名、アイテムの説明を英語にしたいときは2の手順で、Items.jsonをコピぺし、同じように英語にしてみましょう。

英語の文章を取得してみる

f:id:sctibacromn:20201116134751p:plain

1.言語リスト.xlsmをダウンロードする

2.1をゲームのプロジェクトフォルダ内に移動する

3.1を開き、MapSerifシートを選択する

4.「json出力」ボタンを押して、Translateフォルダ内にMapSerif.jsonを出力する

5.CommonSerifシートを選択する

6.「json出力」ボタンを押して、Translateフォルダ内にCommonSerif.jsonを出力する

7.マップID1番のマップ上で、イベントID1番のイベントを作る。

違うマップID、イベントIDにしたい場合は1を開いてMapSerifシートのmapId、eventIdを変更する。

 

例えば、mapId4、eventId3のイベントなら、以下の図のようにする。

f:id:sctibacromn:20201116140704p:plain

保存し、最後に「json出力」ボタンを押す。

8.7のイベントに以下の文章を入力する

テスト
ああああ

f:id:sctibacromn:20201116135157p:plain

8.イベントのトリガーは自動実行などに設定しておく。

9.TranslateStringsプラグインの「文章を言語別に取得する」をtrueにする

10.起動して確認する

 

言語リストのエクセルを変更したらボタンを押して出力させることを忘れずに!

ツクールmv内の文章を楽に抽出する方法

1.自作プラグインSentenceExtractor.js)のダウンロード

2.1をpluginsフォルダに移動する

3.プラグインをONにする

4.エディター上でツクールmvを起動する

5.ゲームプロジェクトのフォルダ内の「文章出力」フォルダの中身を確認する

 

ONのままだと起動のたびに文章を保存するので、使わないときはOFFにしておいたほうがいいでしょう。

 

現状、文章、選択肢、マップ名を抽出します。そのまま該当ファイルやエクセルに貼りつけることが可能です。ただ単に抽出したいだけであれば、ツクールMV 会話CSV抽出ツールなどのツールを使えば抽出できます。

翻訳について

自分の場合、google翻訳を使って翻訳しましたが、元々英語は苦手できつかったです。文字数はマップのセリフ文章だけで12000文字ほどあり、これがまあ~めんどくさい。セリフが多いRPGとかだと詰んでましたね。間違いなく諦めてました。

 

依頼するのならば、gengoという翻訳サイトがあるようです。自分が試したときは一文字5円でした。素早く翻訳してくれるみたいです。ココナラなら1文字1円が相場のようでした。ただ、翻訳の質は不明です。

 

5円なので、12000文字もあると6万円ということです。ココナラでも12000円。

…高い。なので自分は断念しました。

まとめ

結論、ローカライズ前提ならばセリフは少なくしたほうがいいです。

画像に文字を貼りつけるのも極力やめたほうが後で幸せになれます。

参考

・【RPGツクールMV】GameStrings的なあれを作ってみた - ボアブログ

・javascriptでブラウザの言語設定を取得する - Qiita

・【RPGツクールMV】ゲーム中の文章データをすべて取得して書き出すプラグイン - プログラミングとかブログ