自動翻訳プラグイン – AutoTranslation.js

タイトル
自動翻訳プラグイン
作者名
ヘルプ
ゲーム中のメッセージおよびデータを自働で翻訳します。
機械翻訳のため精度には限界はありますが、手軽に多言語対応できます。
以下が翻訳対象です。
1. 「文章の表示」のメッセージ
2. 「選択肢の表示」の選択肢
3. 「マップ名」
4. 各種データベースの値(用語も含む)

翻訳APIはテストプレー時しか呼ばれません。実際にメッセージを表示すると
言語ごとの辞書ファイル「data/Translations_{言語コード}.json」が作成されます。
リリース後は、この辞書ファイルを元に翻訳します。
翻訳元言語は元の文章から自動判定されます。

パラメータ「リアルタイム翻訳」をONにすると、プレイヤーがゲームをプレーしている
最中にも翻訳APIが呼ばれるようになります。
ただし、RPGアツマールなど外部のAPIを呼び出せない環境下では動作しません。

辞書ファイルは、翻訳前の文章をキー、翻訳後の文章を値とするJSON形式のため
以下のようなJSONエディタ等で簡単に編集できます。
誤訳を調整したり、特定の単語を翻訳しないようにすることもできます。
http://jsoneditoronline.org/

翻訳は「Microsoft Azure」の「Translator Text API」(Web API)を使用しています。
https://docs.microsoft.com/ja-jp/azure/cognitive-services/translator/

言語コードについては、以下を参照してください。
https://docs.microsoft.com/ja-jp/azure/cognitive-services/translator/language-support

・制約事項
1. 「Translator Text API」の無料版は、1ヶ月に200万文字までしか翻訳できません。
これは当プラグインの使用者全員の合計になります。
(多分超えないと思うので)特に翻訳を萎縮して頂く必要はありませんが、
万一超過した場合は翻訳できなくなる点は予めご了承ください。

2. 制御文字を含む文章の翻訳は不完全です。結果がおかしくなる場合
必要に応じて辞書ファイルを修正してください。

3. 翻訳精度に関するご要望にはお応えできません。

4. 「Translator Text API」がサービスを終了した場合、当然このプラグインは
使用できなくなります。(代替案は検討します)

メッセージ翻訳は、表示するタイミングで行われるため、通信発生時(初回のみ)は
ウィンドウにメッセージ表示までに時間が掛かる場合があります。
また、データベース翻訳はバックグラウンドで少しずつ実行されるため完了までには
時間が掛かります。

翻訳を適用するかどうかは任意のスイッチを指定して切り替えることができます。
設定画面等で対象言語を切り替えたい場合に使用してください。

翻訳して欲しくない文章がある場合、先頭に「\NT」と記述すると翻訳対象から
除外されます。

・RTK1_Option_EnJaとの連携
RTK1_Option_EnJaが有効になっている場合、用語の自動翻訳は行いません。
同プラグインのswitchと自動翻訳プラグインの翻訳スイッチIDを同一にした上で
翻訳スイッチ反転を有効にすることで自然な動作になります。

注意!
総合開発支援プラグインを使用中で、データベース翻訳機能を使う場合は
同プラグインのリロード機能を無効にしてください。
翻訳したデータベースが翻訳前のデータで上書きされてしまいます。

このプラグインにはプラグインコマンドはありません。

利用規約:
作者に無断で改変、再配布が可能で、利用形態(商用、18禁利用等)
についても制限はありません。
このプラグインはもうあなたのものです。
パラメータ
param ToLanguage
text 翻訳先言語
desc 翻訳先になる言語コードです。複数指定可能で、パラメータ「翻訳先変数番号」の値で切り替わります。
default ["en"]
type string[]

param TranslateDatabase
text データベース翻訳
desc データベースの各要素を翻訳します。翻訳処理はバックグラウンドで少しずつ行われます。
default false
type boolean

param TranslateMessage
text メッセージ翻訳
desc メッセージ表示と選択肢表示の内容を翻訳します。
default true
type boolean

param RealtimeTranslate
text リアルタイム翻訳
desc テストプレー時以外でも翻訳APIを呼び出します。
default false
type boolean

param TranslationSwitchId
text 翻訳スイッチ番号
desc 翻訳が有効になるスイッチ番号です。0を指定すると無条件で翻訳が有効になります。
default 0
type switch

param LanguageVariableId
text 翻訳先変数番号
desc 翻訳先言語を複数指定した場合に指定する表示言語を決める変数番号です。翻訳先言語で指定した順(0始まり)になります。
default 0
type variable

param InvertTranslationSwitch
text 翻訳スイッチ反転
desc 翻訳スイッチIDの効果を反転させ、OFFのときに翻訳が有効、ONのときに無効になります。
default false
type boolean

param SubscriptionKey
text サブスクリプションキー
desc Microsoft Azureのサブスクリプションキーです。未指定の場合、こちらで用意した共用環境を使用します。
default
param OutLog
text ログ出力
desc リクエストの経過をログ出力します。(ON/TEST/OFF)
TESTはテストプレー時のみ出力
default TEST
type select
option ON
option TEST
option OFF

ライセンス表記
作者に無断で改変、再配布が可能で、利用形態(商用、18禁利用等)
(C)2017 Triacontane
This software is released under the MIT License.
http://opensource.org/licenses/mit-license.php

紹介ページ https://github.com/triacontane/RPGMakerMV/blob/master/AutoTranslation.js