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

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

承前

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

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

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

Langscore_ObserverBridge.jsが先頭に読み込まれていることが条件です。

サンプル

//Langscoreがアンインストールされることを考慮し、変数が未定義かのチェックを行う。
if (typeof _registerLangscoreObserver === 'function') {
    _registerLangscoreObserver(function(changed_language) {
        console.log("言語が " + changed_language + " に変更されました");
    });
}

備考

パラメータがconstの場合は再代入できません。let等に変更してください。

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

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

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

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

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

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

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

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