datetimepicker日期控件国际化问题

中文的默认版本

;(function($){
	$.fn.datetimepicker.dates['zh-CN'] = {
				days: ["星期日", "星期一", "星期二", "星期三", "星期四", "星期五", "星期六", "星期日"],
			daysShort: ["周日", "周一", "周二", "周三", "周四", "周五", "周六", "周日"],
			daysMin:  ["日", "一", "二", "三", "四", "五", "六", "日"],
			months: ["一月", "二月", "三月", "四月", "五月", "六月", "七月", "八月", "九月", "十月", "十一月", "十二月"],
			monthsShort: ["一月", "二月", "三月", "四月", "五月", "六月", "七月", "八月", "九月", "十月", "十一月", "十二月"],
			today: "今日",
		suffix: [],
		meridiem: []
	};
}(jQuery));

想修改为国际化版本:

发现jQuery.i18n.prop里面输出的都是javascript.bootstrap-datetimepicker.zh-CN.js.的字符串,根本没参与转换。

;
(function ($) {
  $.fn.datetimepicker.dates['zh-CN'] = {
    days: [jQuery.i18n.prop("javascript.bootstrap-datetimepicker.zh-CN.js.7.xing_qi_ri"), jQuery.i18n.prop("javascript.bootstrap-datetimepicker.zh-CN.js.7.xing_qi_yi"), jQuery.i18n.prop("javascript.bootstrap-datetimepicker.zh-CN.js.7.xing_qi_er"), jQuery.i18n.prop("javascript.bootstrap-datetimepicker.zh-CN.js.7.xing_qi_san"), jQuery.i18n.prop("javascript.bootstrap-datetimepicker.zh-CN.js.7.xing_qi_si"), jQuery.i18n.prop("javascript.bootstrap-datetimepicker.zh-CN.js.7.xing_qi_wu"), jQuery.i18n.prop("javascript.bootstrap-datetimepicker.zh-CN.js.7.xing_qi_liu"), jQuery.i18n.prop("javascript.bootstrap-datetimepicker.zh-CN.js.7.xing_qi_ri")],
    daysShort: [jQuery.i18n.prop("javascript.bootstrap-datetimepicker.zh-CN.js.8.zhou_ri"), jQuery.i18n.prop("javascript.bootstrap-datetimepicker.zh-CN.js.8.zhou_yi"), jQuery.i18n.prop("javascript.bootstrap-datetimepicker.zh-CN.js.8.zhou_er"), jQuery.i18n.prop("javascript.bootstrap-datetimepicker.zh-CN.js.8.zhou_san"), jQuery.i18n.prop("javascript.bootstrap-datetimepicker.zh-CN.js.8.zhou_si"), jQuery.i18n.prop("javascript.bootstrap-datetimepicker.zh-CN.js.8.zhou_wu"), jQuery.i18n.prop("javascript.bootstrap-datetimepicker.zh-CN.js.8.zhou_liu"), jQuery.i18n.prop("javascript.bootstrap-datetimepicker.zh-CN.js.8.zhou_ri")],
    daysMin: [jQuery.i18n.prop("javascript.bootstrap-datetimepicker.zh-CN.js.9.ri"), jQuery.i18n.prop("javascript.bootstrap-datetimepicker.zh-CN.js.9.yi"), jQuery.i18n.prop("javascript.bootstrap-datetimepicker.zh-CN.js.9.er"), jQuery.i18n.prop("javascript.bootstrap-datetimepicker.zh-CN.js.9.san"), jQuery.i18n.prop("javascript.bootstrap-datetimepicker.zh-CN.js.9.si"), jQuery.i18n.prop("javascript.bootstrap-datetimepicker.zh-CN.js.9.wu"), jQuery.i18n.prop("javascript.bootstrap-datetimepicker.zh-CN.js.9.liu"), jQuery.i18n.prop("javascript.bootstrap-datetimepicker.zh-CN.js.9.ri")],
    months: [jQuery.i18n.prop("javascript.bootstrap-datetimepicker.zh-CN.js.10.yi_yue"), jQuery.i18n.prop("javascript.bootstrap-datetimepicker.zh-CN.js.10.er_yue"), jQuery.i18n.prop("javascript.bootstrap-datetimepicker.zh-CN.js.10.san_yue"), jQuery.i18n.prop("javascript.bootstrap-datetimepicker.zh-CN.js.10.si_yue"), jQuery.i18n.prop("javascript.bootstrap-datetimepicker.zh-CN.js.10.wu_yue"), jQuery.i18n.prop("javascript.bootstrap-datetimepicker.zh-CN.js.10.liu_yue"), jQuery.i18n.prop("javascript.bootstrap-datetimepicker.zh-CN.js.10.qi_yue"), jQuery.i18n.prop("javascript.bootstrap-datetimepicker.zh-CN.js.10.ba_yue"), jQuery.i18n.prop("javascript.bootstrap-datetimepicker.zh-CN.js.10.jiu_yue"), jQuery.i18n.prop("javascript.bootstrap-datetimepicker.zh-CN.js.10.shi_yue"), jQuery.i18n.prop("javascript.bootstrap-datetimepicker.zh-CN.js.10.shi_yi_yue"), jQuery.i18n.prop("javascript.bootstrap-datetimepicker.zh-CN.js.10.shi_er_yue")],
    monthsShort: [jQuery.i18n.prop("javascript.bootstrap-datetimepicker.zh-CN.js.11.yi_yue"), jQuery.i18n.prop("javascript.bootstrap-datetimepicker.zh-CN.js.11.er_yue"), jQuery.i18n.prop("javascript.bootstrap-datetimepicker.zh-CN.js.11.san_yue"), jQuery.i18n.prop("javascript.bootstrap-datetimepicker.zh-CN.js.11.si_yue"), jQuery.i18n.prop("javascript.bootstrap-datetimepicker.zh-CN.js.11.wu_yue"), jQuery.i18n.prop("javascript.bootstrap-datetimepicker.zh-CN.js.11.liu_yue"), jQuery.i18n.prop("javascript.bootstrap-datetimepicker.zh-CN.js.11.qi_yue"), jQuery.i18n.prop("javascript.bootstrap-datetimepicker.zh-CN.js.11.ba_yue"), jQuery.i18n.prop("javascript.bootstrap-datetimepicker.zh-CN.js.11.jiu_yue"), jQuery.i18n.prop("javascript.bootstrap-datetimepicker.zh-CN.js.11.shi_yue"), jQuery.i18n.prop("javascript.bootstrap-datetimepicker.zh-CN.js.11.shi_yi_yue"), jQuery.i18n.prop("javascript.bootstrap-datetimepicker.zh-CN.js.11.shi_er_yue")],
    today: jQuery.i18n.prop("javascript.bootstrap-datetimepicker.zh-CN.js.12.jin_ri"),
    suffix: [],
    meridiem: []
  };
})(jQuery);

解决流程,就是初始化的时候没有拿到i18n的js数据,添加cookie和i18n的依赖

;(function($){
var _i18n_js = "/ops/statics/i18n/jquery.i18n.properties-1.0.9.js?_dc=" + _staticVersion;
var _i18n_config_js ="/ops/statics/i18n/load_i18n_config.js?_dc=" + _staticVersion;
var jquery_url="";
var jquery_i18n_url="";
document.write("<script language=javascript src="+jquery_url+"></script>");
document.write("<script language=javascript src="+jquery_i18n_url+"></script>");

  function getCookie(cookieName) {
                const strCookie = document.cookie
                const cookieList = strCookie.split(';')

                for(let i = 0; i < cookieList.length; i++) {
                    const arr = cookieList[i].split('=')
                    if (cookieName === arr[0].trim()) {
                        console.log(arr[1]);
                        return arr[1]
                    }
                }
                return ''
            }

        jQuery.i18n.properties({
          name: "messages",
          path: "/resources/bdp_i18n/",
          mode: "map",
          language: getCookie('bdp_lang') || "zh",
          debug: true,
          async: true,
          callback: function () {
          console.log("bdp_lang="+getCookie('bdp_lang'));
          }
        });
  $.fn.datetimepicker.dates['zh-CN'] = {
    days: [jQuery.i18n.prop("javascript.bootstrap-datetimepicker.zh-CN.js.7.xing_qi_ri"), jQuery.i18n.prop("javascript.bootstrap-datetimepicker.zh-CN.js.7.xing_qi_yi"), jQuery.i18n.prop("javascript.bootstrap-datetimepicker.zh-CN.js.7.xing_qi_er"), jQuery.i18n.prop("javascript.bootstrap-datetimepicker.zh-CN.js.7.xing_qi_san"), jQuery.i18n.prop("javascript.bootstrap-datetimepicker.zh-CN.js.7.xing_qi_si"), jQuery.i18n.prop("javascript.bootstrap-datetimepicker.zh-CN.js.7.xing_qi_wu"), jQuery.i18n.prop("javascript.bootstrap-datetimepicker.zh-CN.js.7.xing_qi_liu"), jQuery.i18n.prop("javascript.bootstrap-datetimepicker.zh-CN.js.7.xing_qi_ri")],
    daysShort: [jQuery.i18n.prop("javascript.bootstrap-datetimepicker.zh-CN.js.8.zhou_ri"), jQuery.i18n.prop("javascript.bootstrap-datetimepicker.zh-CN.js.8.zhou_yi"), jQuery.i18n.prop("javascript.bootstrap-datetimepicker.zh-CN.js.8.zhou_er"), jQuery.i18n.prop("javascript.bootstrap-datetimepicker.zh-CN.js.8.zhou_san"), jQuery.i18n.prop("javascript.bootstrap-datetimepicker.zh-CN.js.8.zhou_si"), jQuery.i18n.prop("javascript.bootstrap-datetimepicker.zh-CN.js.8.zhou_wu"), jQuery.i18n.prop("javascript.bootstrap-datetimepicker.zh-CN.js.8.zhou_liu"), jQuery.i18n.prop("javascript.bootstrap-datetimepicker.zh-CN.js.8.zhou_ri")],
    daysMin: [jQuery.i18n.prop("javascript.bootstrap-datetimepicker.zh-CN.js.9.ri"), jQuery.i18n.prop("javascript.bootstrap-datetimepicker.zh-CN.js.9.yi"), jQuery.i18n.prop("javascript.bootstrap-datetimepicker.zh-CN.js.9.er"), jQuery.i18n.prop("javascript.bootstrap-datetimepicker.zh-CN.js.9.san"), jQuery.i18n.prop("javascript.bootstrap-datetimepicker.zh-CN.js.9.si"), jQuery.i18n.prop("javascript.bootstrap-datetimepicker.zh-CN.js.9.wu"), jQuery.i18n.prop("javascript.bootstrap-datetimepicker.zh-CN.js.9.liu"), jQuery.i18n.prop("javascript.bootstrap-datetimepicker.zh-CN.js.9.ri")],
    months: [jQuery.i18n.prop("javascript.bootstrap-datetimepicker.zh-CN.js.10.yi_yue"), jQuery.i18n.prop("javascript.bootstrap-datetimepicker.zh-CN.js.10.er_yue"), jQuery.i18n.prop("javascript.bootstrap-datetimepicker.zh-CN.js.10.san_yue"), jQuery.i18n.prop("javascript.bootstrap-datetimepicker.zh-CN.js.10.si_yue"), jQuery.i18n.prop("javascript.bootstrap-datetimepicker.zh-CN.js.10.wu_yue"), jQuery.i18n.prop("javascript.bootstrap-datetimepicker.zh-CN.js.10.liu_yue"), jQuery.i18n.prop("javascript.bootstrap-datetimepicker.zh-CN.js.10.qi_yue"), jQuery.i18n.prop("javascript.bootstrap-datetimepicker.zh-CN.js.10.ba_yue"), jQuery.i18n.prop("javascript.bootstrap-datetimepicker.zh-CN.js.10.jiu_yue"), jQuery.i18n.prop("javascript.bootstrap-datetimepicker.zh-CN.js.10.shi_yue"), jQuery.i18n.prop("javascript.bootstrap-datetimepicker.zh-CN.js.10.shi_yi_yue"), jQuery.i18n.prop("javascript.bootstrap-datetimepicker.zh-CN.js.10.shi_er_yue")],
    monthsShort: [jQuery.i18n.prop("javascript.bootstrap-datetimepicker.zh-CN.js.11.yi_yue"), jQuery.i18n.prop("javascript.bootstrap-datetimepicker.zh-CN.js.11.er_yue"), jQuery.i18n.prop("javascript.bootstrap-datetimepicker.zh-CN.js.11.san_yue"), jQuery.i18n.prop("javascript.bootstrap-datetimepicker.zh-CN.js.11.si_yue"), jQuery.i18n.prop("javascript.bootstrap-datetimepicker.zh-CN.js.11.wu_yue"), jQuery.i18n.prop("javascript.bootstrap-datetimepicker.zh-CN.js.11.liu_yue"), jQuery.i18n.prop("javascript.bootstrap-datetimepicker.zh-CN.js.11.qi_yue"), jQuery.i18n.prop("javascript.bootstrap-datetimepicker.zh-CN.js.11.ba_yue"), jQuery.i18n.prop("javascript.bootstrap-datetimepicker.zh-CN.js.11.jiu_yue"), jQuery.i18n.prop("javascript.bootstrap-datetimepicker.zh-CN.js.11.shi_yue"), jQuery.i18n.prop("javascript.bootstrap-datetimepicker.zh-CN.js.11.shi_yi_yue"), jQuery.i18n.prop("javascript.bootstrap-datetimepicker.zh-CN.js.11.shi_er_yue")],
    today: jQuery.i18n.prop("javascript.bootstrap-datetimepicker.zh-CN.js.12.jin_ri"),
    suffix: [],
    meridiem: []
  };
}(jQuery));
posted @ 2023-03-29 06:59  三号小玩家  阅读(284)  评论(0编辑  收藏  举报
Title
三号小玩家的 Mail: 17612457115@163.com, 联系QQ: 1359720840 微信: QQ1359720840