さて皆さん。
お久しぶりです。
今回は、久しぶりの投稿テストを兼ねて、私の「多言語プラグイン」の紹介を少しだけ。
このプラグインでは、オプション等から言語の切替ができるようになります。
↓ダウンロードはGitHub↓
以下は、「くろうどゲッターパターン」と勝手に呼んでいる処理の記述方法です。
ゲッターを含むオブジェクトを戻り値にしています。
車輪の再発明なのかどうかは分かりませんが、この処理のおかげで、他のプラグインとの競合が減っているはずです。
Game_System.prototype.resetDatabase = function(database) { database.forEach(data => { if (data) { data.name_0 = data.name_0 ? data.name_0 : data.name; data.desc_0 = data.desc_0 ? data.desc_0 : data.description; Object.defineProperties(data, { name: { get: function() { return KRD_MULTILINGUAL.getData(data).name; }, configurable: true }, description: { get: function() { return KRD_MULTILINGUAL.getData(data).description; }, configurable: true } }); } }); };
KRD_MULTILINGUAL.getData = function(data) {
return {
get name() {
return KRD_MULTILINGUAL.getReturnData(data, "name_", "name");
},
get nickname() {
return KRD_MULTILINGUAL.getReturnData(data, "nickname_", "nickname");
},
get profile() {
return KRD_MULTILINGUAL.getReturnData(data, "profile_", "profile_1st", "profile_2nd");
},
get description() {
return KRD_MULTILINGUAL.getReturnData(data, "desc_", "desc_1st", "desc_2nd");
},
get message1() {
return KRD_MULTILINGUAL.getReturnData(data, "message1_", "message1");
},
get message2() {
return KRD_MULTILINGUAL.getReturnData(data, "message2_", "message2");
},
get message3() {
return KRD_MULTILINGUAL.getReturnData(data, "message3_", "message3");
},
get message4() {
return KRD_MULTILINGUAL.getReturnData(data, "message4_", "message4");
},
get iconIndex() {
return data.iconIndex;
},
get id() {
return data.id;
}
};
};
それでは今回はこの辺で。
ごきげんよう。