プラグイン制作者向けの項目(MV/MZ向け)

プラグインにLangscoreを対応して頂く際の説明をまとめたページです。

承前

VX AceではLangscoreスクリプトから他のスクリプトの値が参照できたため、それを利用して翻訳文の変更を行っていました。

MV/MZではプラグインに'use strict'を使用しているケースが多く、この場合は値をLangscoreスクリプトから参照することが出来ません。

そのためMV/MZ版のLangscoreスクリプトでは、言語が変更された際の通知を行う処理を用意しています。

サンプル

Langscoreが読み込まれている場合、スクリプトでは_langscore変数が定義されます。 _langscoreでは registerUpdateMethodAtLanguageUpdate メソッドを用意しています。

このメソッドに登録された関数は、言語が変更された際に呼び出されます。

//Langscoreがアンインストールされることを考慮し、変数が未定義かのチェックを行う。
if(typeof _langscore !== 'undefined'){
    _langscore.registerUpdateMethodAtLanguageUpdate(function(){
        //ここに、言語変更時にテキストを変更したいパラメータの更新を行います。
        //主にプラグインパラメータで設定可能なテキストが該当します。
    });
}

備考

パラメータの取得について

Langscoreではプラグインパラメータ内のテキストの抽出も行っています。

プラグインパラメータへの翻訳適用は言語変更時に行われ、PluginManagerで管理している値を書き換えます。

registerUpdateMethodAtLanguageUpdateに登録した関数が呼び出されるのは言語変更時の処理が一通り終わった後なので、

PluginManagerから読みだしたテキストは翻訳適用済みになります。

対応が必要な場合・必要ない場合

プラグイン起動時にPluginManagerから一度だけパラメータを読み込んでいる場合、対応が必要になります。

対応が必要ない場合は例えばショップ向けプラグインで、ショップウィンドウを開く度にパラメータの取得を行っている場合、対応は必要ありません。