2017年4月10日 星期一

[Bootstrap] Confirm、alert (Bootbox.js) Change Locales (Language)

在Bootbox想更換語系(忽略i18n),但是在設定之後發現 bootbox.alert(""); "OK" 按鈕依然是OK並有像想像中的置換成 "確定",所以打算自己修改但不要更改原本套件的作法。


原本的更換語系做法(在更換之後alert按鈕文字並沒有改變 下圖)
bootbox.setDefaults("locale", "zh_TW");

bootbox.alert("Your message here…")
bootbox.confirm("Are you sure?", function(result){ /* your callback code */ })
bootbox.prompt("What is your name?", function(result){ /* your callback code */ })

bootbox.alert

bootbox.confirm

bootbox.prompt



修改方法:
加一層Message來註冊 bootbox.alert、bootbox.confirm、bootbox.prompt。
   
var Message = {
    Show: function (message, callback) {
        if (callback == null) {
            bootbox.alert({
                title: "訊息",
                message: message,
                buttons: { ok: { label: "確定" } }
            });
            //bootbox.alert(message);
        }
        else {
            bootbox.alert({
                title: "訊息",
                message: message,
                buttons: { ok: { label: "確定", callback: callback } }
            });
            //bootbox.alert(message, callback);
        }
    },
    Confirm: function (message, callback) {
        if (callback == null) {
            console.log("No Callback");
        }
        else {
            bootbox.confirm(message, callback);
        }
    },
    Prompt: function (message, callback) {
        if (callback == null) {
            console.log("No Callback");
        }
        else {
            bootbox.prompt(message, callback);
        }
    }
}



使用方法:
   
Message.Show("Your message here…")
Message.Confirm("Are you sure?", function(result){ /* your callback code */ })
Message.Prompt("What is your name?", function(result){ /* your callback code */ })

完成替換:
"OK" 換成"確定"

沒有留言:

張貼留言