mirror of https://github.com/layui/layui
wip(i18n): laydate 国际化
parent
ac8d5ccc30
commit
908ff7f59f
161
src/layui.js
161
src/layui.js
|
@ -11,11 +11,61 @@
|
|||
var document = window.document;
|
||||
var location = window.location;
|
||||
|
||||
var zhCn = {
|
||||
locale: 'zh-cn',
|
||||
/** 未使用的字段为保留字段,将来可能会使用 */
|
||||
laydate: {
|
||||
month: {
|
||||
long: ['一月', '二月', '三月', '四月', '五月', '六月', '七月', '八月', '九月', '十月', '十一月', '十二月'],
|
||||
short: ['一', '二', '三', '四', '五', '六', '七', '八', '九', '十', '十一', '十二']
|
||||
},
|
||||
week:{
|
||||
long: ['周日', '周一', '周二', '周三', '周四', '周五', '周六'],
|
||||
short: ['日', '一', '二', '三', '四', '五', '六']
|
||||
},
|
||||
time: ['时', '分', '秒'],
|
||||
selectTime: '选择时间',
|
||||
startTime: '开始时间',
|
||||
endTime: '结束时间',
|
||||
selectDate: '选择日期',
|
||||
tools: {
|
||||
confirm: '确定',
|
||||
clear: '清空',
|
||||
now: '现在',
|
||||
reset: '重置'
|
||||
},
|
||||
timeout: {
|
||||
date: '结束日期不能早于开始日期<br>请重新选择',
|
||||
time: '结束时间不能早于开始时间<br>请重新选择'
|
||||
},
|
||||
invalidDate: '不在有效日期或时间范围内',
|
||||
formatError: ['日期格式不合法<br>必须遵循下述格式:<br>', '<br>已为你重置'],
|
||||
preview: '当前选中的结果',
|
||||
panelHeaderFormat: {
|
||||
year: function(y){return y + ' 年'},
|
||||
month: function(m){return m + ' 月'},
|
||||
monthBeforeYear: false
|
||||
},
|
||||
/** 面板中某些字符串拼接使用 */
|
||||
view: {
|
||||
year: '年',
|
||||
month: '月',
|
||||
week: '周',
|
||||
day: '天'
|
||||
}
|
||||
}
|
||||
}
|
||||
// 基础配置
|
||||
var config = {
|
||||
timeout: 10, // 符合规范的模块请求最长等待秒数
|
||||
debug: false, // 是否开启调试模式
|
||||
version: false // 是否在模块请求时加入版本号参数(以更新模块缓存)
|
||||
version: false, // 是否在模块请求时加入版本号参数(以更新模块缓存)
|
||||
locale: 'zh-cn', // 设置全局配置的语言
|
||||
i18nMessages: { // 语言包,格式为:{locale: {namespace:{component:{...}}}}
|
||||
'zh-cn': {
|
||||
lay: zhCn
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
// 模块加载缓存信息
|
||||
|
@ -55,7 +105,13 @@
|
|||
// 异常提示
|
||||
var error = function(msg, type) {
|
||||
type = type || 'log';
|
||||
window.console && console[type] && console[type]('layui error hint: ' + msg);
|
||||
msg = 'layui error hint: ' + msg
|
||||
|
||||
if (window.console && console[type]) {
|
||||
console[type](msg);
|
||||
} else if (window.console && console.log) {
|
||||
console.log(msg);
|
||||
}
|
||||
};
|
||||
|
||||
// 内置模块
|
||||
|
@ -1029,6 +1085,107 @@
|
|||
}
|
||||
};
|
||||
|
||||
/**
|
||||
* 根据给定的键从国际化消息中获取翻译后的内容
|
||||
* @overload
|
||||
* @param {string} key 要翻译的键
|
||||
* @param {Record<string, any>} opts 国际化消息对象,替换 {key} 形式的占位符
|
||||
* @returns {string} 翻译后的文本
|
||||
* @example
|
||||
* ```
|
||||
* message: {
|
||||
* hello: '{msg} world'
|
||||
* }
|
||||
* layui.$t('message.hello', {msg: 'Hello'})
|
||||
* ```
|
||||
*
|
||||
* @overload
|
||||
* @param {string} key 要翻译的键
|
||||
* @param {any[]} opts 国际化消息数组,替换 {0}, {1}... 形式的占位符
|
||||
* @returns {string} 翻译后的文本
|
||||
* @example
|
||||
* ```
|
||||
* message: {
|
||||
* hello: '{0} world'
|
||||
* }
|
||||
* layui.$t('message.hello', ['Hello'])
|
||||
* ```
|
||||
*
|
||||
* @overload
|
||||
* @param {string} key 要翻译的键
|
||||
* @param {...*} args 国际化消息可变参数,替换 {0}, {1}... 形式的占位符
|
||||
* @returns {string} 翻译后的文本
|
||||
* @example
|
||||
* ```
|
||||
* message: {
|
||||
* hello: '{0} world'
|
||||
* }
|
||||
* layui.$t('message.hello', 'Hello')
|
||||
* ```
|
||||
*
|
||||
* @param {string} key
|
||||
* @param {any[]} args
|
||||
*/
|
||||
Class.prototype.i18nTranslation = function(key){
|
||||
var that = this;
|
||||
var args = arguments;
|
||||
var locale = that.cache.locale;
|
||||
var i18nMessage = that.cache.i18nMessages[locale];
|
||||
|
||||
if(!i18nMessage){
|
||||
error('Locale "' + locale + '" not found. Please add i18n messages for this locale first.', 'warn');
|
||||
}
|
||||
|
||||
var result = get(i18nMessage, key, key);
|
||||
|
||||
// 替换占位符
|
||||
if(typeof result === 'string'){
|
||||
if(args.length > 1){
|
||||
var opts = args[1];
|
||||
// 第二个参数为对象或数组,替换占位符 {key} 或 {0}, {1}...
|
||||
if(typeof opts === 'object'){
|
||||
return result.replace(/\{(\w+)\}/g, function(match, key) {
|
||||
return opts[key] !== undefined ? opts[key] : match;
|
||||
});
|
||||
}
|
||||
|
||||
// 处理可变参数,替换占位符 {0}, {1}...
|
||||
return result.replace(/\{(\d+)\}/g, function(match, index) {
|
||||
var arg = args[index + 1];
|
||||
return arg !== undefined ? arg : match;
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
/**
|
||||
* i18nTranslation 的别名
|
||||
*/
|
||||
Class.prototype.$t = Class.prototype.i18nTranslation;
|
||||
|
||||
/**
|
||||
* 获取对象中的值,lodash _.get 简易版
|
||||
* @param {Record<string, any>} obj
|
||||
* @param {string} path
|
||||
* @param {any} defaultValue
|
||||
*/
|
||||
function get(obj, path, defaultValue){
|
||||
// 'a[0].b.c' ==> ['a', '0', 'b', 'c']
|
||||
var casePath = path.replace(/\[(\d+)\]/g, '.$1').split('.');
|
||||
var result = obj;
|
||||
|
||||
for(var i = 0; i < casePath.length; i++) {
|
||||
result = result && result[casePath[i]];
|
||||
if(result === null || result === undefined){
|
||||
return defaultValue;
|
||||
}
|
||||
}
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
// export layui
|
||||
window.layui = new Class();
|
||||
})(window);
|
||||
|
|
|
@ -201,7 +201,7 @@ layui.define(['lay', 'util', 'element', 'tabs', 'form'], function(exports){
|
|||
var tools = {
|
||||
copy: {
|
||||
className: 'file-b',
|
||||
title: ['复制代码'],
|
||||
title: [layui.$t('复制代码')],
|
||||
event: function(obj){
|
||||
var code = util.unescape(finalCode(options.code));
|
||||
var hasOnCopy = typeof options.onCopy === 'function';
|
||||
|
@ -215,14 +215,14 @@ layui.define(['lay', 'util', 'element', 'tabs', 'form'], function(exports){
|
|||
if(ret === false) return;
|
||||
}
|
||||
|
||||
layer.msg('已复制', {icon: 1});
|
||||
layer.msg(layui.$t('已复制'), {icon: 1});
|
||||
},
|
||||
error: function() {
|
||||
if(hasOnCopy){
|
||||
var ret = options.onCopy(code, false);
|
||||
if(ret === false) return;
|
||||
}
|
||||
layer.msg('复制失败', {icon: 2});
|
||||
layer.msg(layui.$t('复制失败'), {icon: 2});
|
||||
}
|
||||
});
|
||||
}
|
||||
|
@ -277,7 +277,7 @@ layui.define(['lay', 'util', 'element', 'tabs', 'form'], function(exports){
|
|||
$.extend(tools, {
|
||||
'full': {
|
||||
className: 'screen-full',
|
||||
title: ['最大化显示', '还原显示'],
|
||||
title: [layui.$t('最大化显示'), layui.$t('还原显示')],
|
||||
event: function(obj){
|
||||
var el = obj.elem;
|
||||
var elemView = el.closest('.'+ CONST.ELEM_PREVIEW);
|
||||
|
@ -302,7 +302,7 @@ layui.define(['lay', 'util', 'element', 'tabs', 'form'], function(exports){
|
|||
},
|
||||
'window': {
|
||||
className: 'release',
|
||||
title: ['在新窗口预览'],
|
||||
title: [layui.$t('在新窗口预览')],
|
||||
event: function(obj){
|
||||
util.openWin({
|
||||
content: finalCode(options.code)
|
||||
|
@ -562,7 +562,7 @@ layui.define(['lay', 'util', 'element', 'tabs', 'form'], function(exports){
|
|||
// 若开启复制,且未开启预览,则单独生成复制图标
|
||||
if(options.copy && !options.preview){
|
||||
var copyElem = $(['<span class="layui-code-copy">',
|
||||
'<i class="layui-icon layui-icon-file-b" title="复制"></i>',
|
||||
layui.$t('<i class="layui-icon layui-icon-file-b" title="复制"></i>'),
|
||||
'</span>'].join(''));
|
||||
|
||||
// 点击复制
|
||||
|
|
|
@ -285,8 +285,8 @@ layui.define(['jquery', 'lay'], function(exports) {
|
|||
,'<input type="text" class="layui-input">'
|
||||
,'</div>'
|
||||
,'<div class="layui-btn-container">'
|
||||
,'<button class="layui-btn layui-btn-primary layui-btn-sm" colorpicker-events="clear">清空</button>'
|
||||
,'<button class="layui-btn layui-btn-sm" colorpicker-events="confirm">确定</button>'
|
||||
,layui.$t('<button class="layui-btn layui-btn-primary layui-btn-sm" colorpicker-events="clear">清空</button>')
|
||||
,layui.$t('<button class="layui-btn layui-btn-sm" colorpicker-events="confirm">确定</button>')
|
||||
,'</div'
|
||||
,'</div>'
|
||||
,'</div>'].join(''))
|
||||
|
|
|
@ -181,7 +181,7 @@ layui.define(['jquery', 'laytpl', 'lay', 'util'], function(exports) {
|
|||
if(options.data.length > 0 ){
|
||||
eachItemView(elemUl, options.data)
|
||||
} else {
|
||||
elemUl.html('<li class="layui-menu-item-none">暂无数据</li>');
|
||||
elemUl.html(layui.$t('<li class="layui-menu-item-none">暂无数据</li>'));
|
||||
}
|
||||
return elemUl;
|
||||
};
|
||||
|
|
|
@ -20,8 +20,8 @@ layui.define('jquery', function(exports) {
|
|||
var scrollElem = $(options.scrollElem || document); // 滚动条所在元素
|
||||
var threshold = 'mb' in options ? options.mb : 50; // 临界距离
|
||||
var isAuto = 'isAuto' in options ? options.isAuto : true; // 否自动滚动加载
|
||||
var moreText = options.moreText || "加载更多"; // 手动加载时,加载更多按钮文案
|
||||
var end = options.end || '没有更多了'; // “末页”显示文案
|
||||
var moreText = options.moreText || layui.$t('加载更多'); // 手动加载时,加载更多按钮文案
|
||||
var end = options.end || layui.$t('没有更多了'); // “末页”显示文案
|
||||
var direction = options.direction || 'bottom';
|
||||
var isTop = direction === 'top';
|
||||
|
||||
|
|
|
@ -31,42 +31,42 @@ layui.define(['lay', 'layer', 'util'], function(exports){
|
|||
verify: {
|
||||
required: function(value) {
|
||||
if (!/[\S]+/.test(value) || value === undefined || value === null) {
|
||||
return '必填项不能为空';
|
||||
return layui.$t('必填项不能为空');
|
||||
}
|
||||
},
|
||||
phone: function(value) {
|
||||
var EXP = /^1\d{10}$/;
|
||||
if (value && !EXP.test(value)) {
|
||||
return '手机号格式不正确';
|
||||
return layui.$t('手机号格式不正确');
|
||||
}
|
||||
},
|
||||
email: function(value) {
|
||||
var EXP = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
|
||||
if (value && !EXP.test(value)) {
|
||||
return '邮箱格式不正确';
|
||||
return layui.$t('邮箱格式不正确');
|
||||
}
|
||||
},
|
||||
url: function(value) {
|
||||
var EXP = /^(#|(http(s?)):\/\/|\/\/)[^\s]+\.[^\s]+$/;
|
||||
if (value && !EXP.test(value)) {
|
||||
return '链接格式不正确';
|
||||
return layui.$t('链接格式不正确');
|
||||
}
|
||||
},
|
||||
number: function(value){
|
||||
if (value && isNaN(value)) {
|
||||
return '只能填写数字';
|
||||
return layui.$t('只能填写数字');
|
||||
}
|
||||
},
|
||||
date: function(value){
|
||||
var EXP = /^(\d{4})[-\/](\d{1}|0\d{1}|1[0-2])([-\/](\d{1}|0\d{1}|[1-2][0-9]|3[0-1]))*$/;
|
||||
if (value && !EXP.test(value)) {
|
||||
return '日期格式不正确';
|
||||
return layui.$t('日期格式不正确');
|
||||
}
|
||||
},
|
||||
identity: function(value) {
|
||||
var EXP = /(^\d{15}$)|(^\d{17}(x|X|\d)$)/;
|
||||
if (value && !EXP.test(value)) {
|
||||
return '身份证号格式不正确';
|
||||
return layui.$t('身份证号格式不正确');
|
||||
}
|
||||
}
|
||||
},
|
||||
|
@ -466,7 +466,7 @@ layui.define(['lay', 'layer', 'util'], function(exports){
|
|||
|
||||
// 下拉选择框
|
||||
,select: function(elem){
|
||||
var TIPS = '请选择';
|
||||
var TIPS = layui.$t('请选择');
|
||||
var CLASS = 'layui-form-select';
|
||||
var TITLE = 'layui-select-title';
|
||||
var NONE = 'layui-select-none';
|
||||
|
@ -765,7 +765,7 @@ layui.define(['lay', 'layer', 'util'], function(exports){
|
|||
}
|
||||
}else{
|
||||
if(none){
|
||||
dl.find('.'+NONE)[0] || dl.append('<p class="'+ NONE +'">无匹配项</p>');
|
||||
dl.find('.'+NONE)[0] || dl.append('<p class="'+ NONE +layui.$t('">无匹配项</p>'));
|
||||
} else {
|
||||
dl.find('.'+NONE).remove();
|
||||
}
|
||||
|
@ -956,7 +956,7 @@ layui.define(['lay', 'layer', 'util'], function(exports){
|
|||
}
|
||||
});
|
||||
if (arr.length === 0) {
|
||||
arr.push('<dd lay-value="" class="'+ DISABLED +'">None</dd>');
|
||||
arr.push('<dd lay-value="" class="'+ DISABLED +layui.$t('">None</dd>'));
|
||||
}
|
||||
return arr.join('');
|
||||
}();
|
||||
|
@ -1241,7 +1241,7 @@ layui.define(['lay', 'layer', 'util'], function(exports){
|
|||
}
|
||||
} else {
|
||||
type ? (
|
||||
items[type] ? items[type]() : hint.error('不支持的 "'+ type + '" 表单渲染')
|
||||
items[type] ? items[type]() : hint.error(layui.$t('不支持的 "')+ type + layui.$t('" 表单渲染'))
|
||||
) : renderItem();
|
||||
}
|
||||
return that;
|
||||
|
@ -1367,7 +1367,7 @@ layui.define(['lay', 'layer', 'util'], function(exports){
|
|||
return othis;
|
||||
}(), {tips: 1});
|
||||
} else if(verType === 'alert') {
|
||||
layer.alert(errorText, {title: '提示', shadeClose: true});
|
||||
layer.alert(errorText, {title: layui.$t('提示'), shadeClose: true});
|
||||
}
|
||||
// 若返回的为字符或数字,则自动弹出默认提示框;否则由 verify 方法中处理提示
|
||||
else if(/\b(string|number)\b/.test(typeof errorText)) {
|
||||
|
|
|
@ -176,7 +176,7 @@
|
|||
,showBottom: true //是否显示底部栏
|
||||
,isPreview: true //是否显示值预览
|
||||
,btns: ['clear', 'now', 'confirm'] //右下角显示的按钮,会按照数组顺序排列
|
||||
,lang: 'cn' //语言,只支持cn/en,即中文和英文
|
||||
,lang: (isLayui && layui.cache.locale) || 'cn' //语言,只支持cn/en,即中文和英文
|
||||
,theme: 'default' //主题
|
||||
,position: null //控件定位方式定位, 默认absolute,支持:fixed/absolute/static
|
||||
,calendar: false //是否开启公历重要节日,仅支持中文版
|
||||
|
@ -191,50 +191,107 @@
|
|||
|
||||
//多语言
|
||||
Class.prototype.lang = function(){
|
||||
var that = this
|
||||
,options = that.config
|
||||
,text = {
|
||||
var that = this;
|
||||
var options = that.config;
|
||||
var enMonthShort = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'];
|
||||
var text = {
|
||||
cn: {
|
||||
weeks: ['日', '一', '二', '三', '四', '五', '六']
|
||||
,time: ['时', '分', '秒']
|
||||
,timeTips: '选择时间'
|
||||
,startTime: '开始时间'
|
||||
,endTime: '结束时间'
|
||||
,dateTips: '返回日期'
|
||||
,month: ['一', '二', '三', '四', '五', '六', '七', '八', '九', '十', '十一', '十二']
|
||||
,tools: {
|
||||
confirm: '确定'
|
||||
,clear: '清空'
|
||||
,now: '现在'
|
||||
month: {
|
||||
long: ['一月', '二月', '三月', '四月', '五月', '六月', '七月', '八月', '九月', '十月', '十一月', '十二月'],
|
||||
short: ['一', '二', '三', '四', '五', '六', '七', '八', '九', '十', '十一', '十二']
|
||||
},
|
||||
week: {
|
||||
long: ['周日', '周一', '周二', '周三', '周四', '周五', '周六'],
|
||||
short: ['日', '一', '二', '三', '四', '五', '六']
|
||||
},
|
||||
time: ['时', '分', '秒'],
|
||||
selectTime: '选择时间',
|
||||
startTime: '开始时间',
|
||||
endTime: '结束时间',
|
||||
selectDate: '选择日期',
|
||||
tools: {
|
||||
confirm: '确定',
|
||||
clear: '清空',
|
||||
now: '现在',
|
||||
reset: '重置'
|
||||
},
|
||||
timeout: {
|
||||
date: '结束日期不能早于开始日期<br>请重新选择',
|
||||
time: '结束时间不能早于开始时间<br>请重新选择'
|
||||
},
|
||||
invalidDate: '不在有效日期或时间范围内',
|
||||
formatError: ['日期格式不合法<br>必须遵循下述格式:<br>', '<br>已为你重置'],
|
||||
preview: '当前选中的结果',
|
||||
panelHeaderFormat: {
|
||||
year: function (y) { return y + ' 年' },
|
||||
month: function (m) { return m + ' 月' },
|
||||
monthBeforeYear: false
|
||||
},
|
||||
/** 面板中某些字符串拼接使用 */
|
||||
view: {
|
||||
year: '年',
|
||||
month: '月',
|
||||
week: '周',
|
||||
day: '天'
|
||||
},
|
||||
},
|
||||
en: {
|
||||
month: {
|
||||
long: ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'],
|
||||
short: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec']
|
||||
},
|
||||
week: {
|
||||
long: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'],
|
||||
short: ['Su', 'Mo', 'Tu', 'We', 'Th', 'Fr', 'Sa']
|
||||
},
|
||||
time: ['Hours', 'Minutes', 'Seconds'],
|
||||
selectTime: 'Select Time',
|
||||
startTime: 'Start Time',
|
||||
endTime: 'End Time',
|
||||
selectDate: 'Select Date',
|
||||
tools: {
|
||||
confirm: 'Confirm',
|
||||
clear: 'Clear',
|
||||
now: 'Now',
|
||||
reset: 'Reset'
|
||||
},
|
||||
timeout: {
|
||||
date: 'End time cannot be less than start Time<br>Please re-select',
|
||||
time: 'End time cannot be less than start Time<br>Please re-select'
|
||||
},
|
||||
invalidDate: 'Invalid date',
|
||||
formatError: ['The date format error<br>Must be followed:<br>', '<br>It has been reset'],
|
||||
preview: 'The selected result',
|
||||
// IE11- Date.prototype.toLocaleDateString 不支持第二个参数,所以这里直接使用英文短格式
|
||||
panelHeaderFormat: {
|
||||
year: function (y) { return y},
|
||||
month: function (m) { return enMonthShort[m - 1]},
|
||||
monthBeforeYear: true
|
||||
},
|
||||
/** 面板中某些字符串拼接使用 */
|
||||
view: {
|
||||
year: '',
|
||||
month: '',
|
||||
week: '',
|
||||
day: ''
|
||||
}
|
||||
,timeout: '结束时间不能早于开始时间<br>请重新选择'
|
||||
,invalidDate: '不在有效日期或时间范围内'
|
||||
,formatError: ['日期格式不合法<br>必须遵循下述格式:<br>', '<br>已为你重置']
|
||||
,preview: '当前选中的结果'
|
||||
}
|
||||
,en: {
|
||||
weeks: ['Su', 'Mo', 'Tu', 'We', 'Th', 'Fr', 'Sa']
|
||||
,time: ['Hours', 'Minutes', 'Seconds']
|
||||
,timeTips: 'Select Time'
|
||||
,startTime: 'Start Time'
|
||||
,endTime: 'End Time'
|
||||
,dateTips: 'Select Date'
|
||||
,month: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec']
|
||||
,tools: {
|
||||
confirm: 'Confirm'
|
||||
,clear: 'Clear'
|
||||
,now: 'Now'
|
||||
}
|
||||
,timeout: 'End time cannot be less than start Time<br>Please re-select'
|
||||
,invalidDate: 'Invalid date'
|
||||
,formatError: ['The date format error<br>Must be followed:<br>', '<br>It has been reset']
|
||||
,preview: 'The selected result'
|
||||
}
|
||||
};
|
||||
|
||||
if(isLayui){
|
||||
var message = layui.cache.i18nMessages[layui.cache.locale];
|
||||
if(message){
|
||||
text[layui.cache.locale] = message.lay.laydate;
|
||||
}else{
|
||||
window.console && console.log && console.log('layui[laydate]: Locale "' + layui.cache.locale + '" not found. Please add i18n messages for this locale first.');
|
||||
}
|
||||
}
|
||||
|
||||
return text[options.lang] || text['cn'];
|
||||
};
|
||||
|
||||
Class.prototype.markerOfChineseFestivals = {
|
||||
// 仅 /(zh|cn)/i 生效,不做国际化
|
||||
'0-1-1': '元旦',
|
||||
'0-2-14': '情人' ,
|
||||
'0-3-8': '妇女',
|
||||
|
@ -328,7 +385,7 @@
|
|||
if (options.weekStart) {
|
||||
if (!/^[0-6]$/.test(options.weekStart)) {
|
||||
var lang = that.lang();
|
||||
options.weekStart = lang.weeks.indexOf(options.weekStart);
|
||||
options.weekStart = lang.week.short.indexOf(options.weekStart);
|
||||
if (options.weekStart === -1) options.weekStart = 0;
|
||||
}
|
||||
}
|
||||
|
@ -551,7 +608,7 @@
|
|||
lay.each(new Array(7), function(j){
|
||||
if(i === 0){
|
||||
var th = lay.elem('th');
|
||||
th.innerHTML = lang.weeks[(j + options.weekStart) % 7];
|
||||
th.innerHTML = lang.week.short[(j + options.weekStart) % 7];
|
||||
theadTr.appendChild(th);
|
||||
}
|
||||
tr.insertCell(j);
|
||||
|
@ -576,7 +633,7 @@
|
|||
lay(divFooter).html(function(){
|
||||
var html = [], btns = [];
|
||||
if(options.type === 'datetime'){
|
||||
html.push('<span lay-type="datetime" class="'+ ELEM_TIME_BTN +'">'+ lang.timeTips +'</span>');
|
||||
html.push('<span lay-type="datetime" class="'+ ELEM_TIME_BTN +'">'+ lang.selectTime +'</span>');
|
||||
}
|
||||
if(!(!options.range && options.type === 'datetime') || options.fullPanel){
|
||||
html.push('<span class="'+ ELEM_PREVIEW +'" title="'+ lang.preview +'"></span>')
|
||||
|
@ -585,7 +642,7 @@
|
|||
lay.each(options.btns, function(i, item){
|
||||
var title = lang.tools[item] || 'btn';
|
||||
if(options.range && item === 'now') return;
|
||||
if(isStatic && item === 'clear') title = options.lang === 'cn' ? '重置' : 'Reset';
|
||||
if(isStatic && item === 'clear') title = lang.tools.reset;
|
||||
btns.push('<span lay-type="'+ item +'" class="laydate-btns-'+ item +'">'+ title +'</span>');
|
||||
});
|
||||
html.push('<div class="laydate-footer-btns">'+ btns.join('') +'</div>');
|
||||
|
@ -1101,7 +1158,7 @@
|
|||
that.markRender(td, YMD, markers);
|
||||
}
|
||||
|
||||
if(options.calendar && options.lang === 'cn'){
|
||||
if(options.calendar && /(zh|cn)/i.test(options.lang)){
|
||||
render(that.markerOfChineseFestivals);
|
||||
}
|
||||
|
||||
|
@ -1499,14 +1556,17 @@
|
|||
if(!that.panelYM) that.panelYM = {};
|
||||
that.panelYM[index] = {year: dateTime.year, month: dateTime.month};
|
||||
|
||||
if(options.lang === 'cn'){
|
||||
lay(elemYM[0]).attr('lay-type', 'year').html(dateTime.year + ' 年')
|
||||
lay(elemYM[1]).attr('lay-type', 'month').html((dateTime.month + 1) + ' 月');
|
||||
} else {
|
||||
lay(elemYM[0]).attr('lay-type', 'month').html(lang.month[dateTime.month]);
|
||||
lay(elemYM[1]).attr('lay-type', 'year').html(dateTime.year);
|
||||
var formatArr = [
|
||||
{type: 'year', value: lang.panelHeaderFormat.year(dateTime.year)},
|
||||
{type: 'month', value: lang.panelHeaderFormat.month(dateTime.month + 1)}
|
||||
];
|
||||
if(lang.panelHeaderFormat.monthBeforeYear){
|
||||
formatArr = formatArr.reverse();
|
||||
}
|
||||
|
||||
lay(elemYM[0]).attr('lay-type', formatArr[0]['type']).html(formatArr[0]['value']);
|
||||
lay(elemYM[1]).attr('lay-type', formatArr[1]['type']).html(formatArr[1]['value']);
|
||||
|
||||
//初始默认选择器
|
||||
if(isAlone){ //年、月等独立选择器
|
||||
if(options.range){
|
||||
|
@ -1518,7 +1578,7 @@
|
|||
that.list(options.type, 0).list(options.type, 1);
|
||||
|
||||
//同步按钮可点状态
|
||||
options.type === 'time' ? that.setBtnStatus('时间'
|
||||
options.type === 'time' ? that.setBtnStatus('isTime'
|
||||
,lay.extend({}, that.systemDate(), that.startTime)
|
||||
,lay.extend({}, that.systemDate(), that.endTime)
|
||||
) : that.setBtnStatus(true);
|
||||
|
@ -1595,8 +1655,8 @@
|
|||
,elemYM = lay(elemHeader[2]).find('span')
|
||||
,elemCont = that.elemCont[index || 0]
|
||||
,haveList = lay(elemCont).find('.'+ ELEM_LIST)[0]
|
||||
,isCN = options.lang === 'cn'
|
||||
,text = isCN ? '年' : ''
|
||||
,isMonthBeforeYear = lang.panelHeaderFormat.monthBeforeYear
|
||||
,text = lang.view.year
|
||||
|
||||
,listYM = that.listYM[index] || {}
|
||||
,hms = ['hours', 'minutes', 'seconds']
|
||||
|
@ -1644,7 +1704,7 @@
|
|||
yearNum++;
|
||||
});
|
||||
|
||||
lay(elemYM[isCN ? 0 : 1]).attr('lay-ym', (yearNum - 8) + '-' + listYM[1])
|
||||
lay(elemYM[!isMonthBeforeYear ? 0 : 1]).attr('lay-ym', (yearNum - 8) + '-' + listYM[1])
|
||||
.html((startY + text) + ' - ' + (yearNum - 1 + text));
|
||||
}
|
||||
|
||||
|
@ -1661,7 +1721,7 @@
|
|||
};
|
||||
|
||||
i + 1 == listYM[1] && lay(li).addClass(THIS);
|
||||
li.innerHTML = lang.month[i] + (isCN ? '月' : '');
|
||||
li.innerHTML = lang.month.short[i] + lang.view.month;
|
||||
ul.appendChild(li);
|
||||
|
||||
/*
|
||||
|
@ -1683,7 +1743,7 @@
|
|||
that.cellRender(li, {year: listYM[0], month: i + 1, date: 1}, 'month');
|
||||
});
|
||||
|
||||
lay(elemYM[isCN ? 0 : 1]).attr('lay-ym', listYM[0] + '-' + listYM[1])
|
||||
lay(elemYM[!isMonthBeforeYear ? 0 : 1]).attr('lay-ym', listYM[0] + '-' + listYM[1])
|
||||
.html(listYM[0] + text);
|
||||
}
|
||||
|
||||
|
@ -1843,7 +1903,7 @@
|
|||
,haveSpan = lay(elemHeader[2]).find('.'+ ELEM_TIME_TEXT);
|
||||
|
||||
scroll();
|
||||
span.innerHTML = options.range ? [lang.startTime,lang.endTime][index] : lang.timeTips;
|
||||
span.innerHTML = options.range ? [lang.startTime,lang.endTime][index] : lang.selectTime;
|
||||
lay(that.elemMain[index]).addClass('laydate-time-show');
|
||||
|
||||
if(haveSpan[0]) haveSpan.remove();
|
||||
|
@ -1930,7 +1990,7 @@
|
|||
|
||||
//是否异常提示
|
||||
if(tips && isOut) that.hint(
|
||||
typeof tips === 'string' ? lang.timeout.replace(/日期/g, tips) : lang.timeout
|
||||
typeof tips === 'string' ? lang.timeout.time : lang.timeout.date
|
||||
);
|
||||
}
|
||||
};
|
||||
|
@ -2320,13 +2380,13 @@
|
|||
if(lay(btn).hasClass(DISABLED)) return;
|
||||
that.list('time', 0);
|
||||
options.range && that.list('time', 1);
|
||||
lay(btn).attr('lay-type', 'date').html(that.lang().dateTips);
|
||||
lay(btn).attr('lay-type', 'date').html(that.lang().selectDate);
|
||||
}
|
||||
|
||||
//选择日期
|
||||
,date: function(){
|
||||
that.closeList();
|
||||
lay(btn).attr('lay-type', 'datetime').html(that.lang().timeTips);
|
||||
lay(btn).attr('lay-type', 'datetime').html(that.lang().selectTime);
|
||||
}
|
||||
|
||||
//清空、重置
|
||||
|
@ -2374,7 +2434,7 @@
|
|||
: that.startDate && that.endDate && that.newDate(lay.extend({},that.startDate, that.startTime || {})) > that.newDate(lay.extend({},that.endDate, that.endTime || {}));
|
||||
|
||||
return isTimeout
|
||||
? that.hint(options.type === 'time' ? lang.timeout.replace(/日期/g, '时间') : lang.timeout)
|
||||
? that.hint(options.type === 'time' ? lang.timeout.time : lang.timeout.date)
|
||||
: that.hint(lang.invalidDate);
|
||||
}
|
||||
} else {
|
||||
|
|
|
@ -34,7 +34,7 @@ var ready = {
|
|||
events: {resize: {}},
|
||||
minStackIndex: 0,
|
||||
minStackArr: [],
|
||||
btn: ['确定', '取消'],
|
||||
btn: [layui.$t('确定'), layui.$t('取消')],
|
||||
|
||||
// 五种原始层模式
|
||||
type: ['dialog', 'page', 'iframe', 'loading', 'tips'],
|
||||
|
@ -268,7 +268,7 @@ Class.pt.config = {
|
|||
shade: 0.3,
|
||||
fixed: true,
|
||||
move: doms[1],
|
||||
title: '信息',
|
||||
title: layui.$t('信息'),
|
||||
offset: 'auto',
|
||||
area: 'auto',
|
||||
closeBtn: 1,
|
||||
|
@ -1444,7 +1444,7 @@ layer.prompt = function(options, yes){
|
|||
|
||||
return layer.open($.extend({
|
||||
type: 1,
|
||||
btn: ['确定','取消'],
|
||||
btn: [layui.$t('确定'),layui.$t('取消')],
|
||||
content: content,
|
||||
skin: 'layui-layer-prompt' + skin('prompt'),
|
||||
maxWidth: win.width(),
|
||||
|
@ -1457,7 +1457,7 @@ layer.prompt = function(options, yes){
|
|||
yes: function(index){
|
||||
var value = prompt.val();
|
||||
if(value.length > (options.maxlength||500)) {
|
||||
layer.tips('最多输入'+ (options.maxlength || 500) +'个字符', prompt, {tips: 1});
|
||||
layer.tips(layui.$t('最多输入')+ (options.maxlength || 500) +layui.$t('个字符'), prompt, {tips: 1});
|
||||
} else {
|
||||
yes && yes(value, index, prompt);
|
||||
}
|
||||
|
@ -1571,7 +1571,7 @@ layer.photos = function(options, loop, key){
|
|||
// 不直接弹出
|
||||
if (!loop) return;
|
||||
} else if (data.length === 0){
|
||||
return layer.msg('没有图片');
|
||||
return layer.msg(layui.$t('没有图片'));
|
||||
}
|
||||
|
||||
// 上一张
|
||||
|
@ -1819,12 +1819,12 @@ layer.photos = function(options, loop, key){
|
|||
if (options.toolbar) {
|
||||
arr.push([
|
||||
'<div class="layui-layer-photos-toolbar layui-layer-photos-header">',
|
||||
'<span toolbar-event="rotate" data-option="90" title="旋转"><i class="layui-icon layui-icon-refresh"></i></span>',
|
||||
'<span toolbar-event="scalex" title="变换"><i class="layui-icon layui-icon-slider"></i></span>',
|
||||
'<span toolbar-event="zoom" data-option="0.1" title="放大"><i class="layui-icon layui-icon-add-circle"></i></span>',
|
||||
'<span toolbar-event="zoom" data-option="-0.1" title="缩小"><i class="layui-icon layui-icon-reduce-circle"></i></span>',
|
||||
'<span toolbar-event="reset" title="还原"><i class="layui-icon layui-icon-refresh-1"></i></span>',
|
||||
'<span toolbar-event="close" title="关闭"><i class="layui-icon layui-icon-close"></i></span>',
|
||||
layui.$t('<span toolbar-event="rotate" data-option="90" title="旋转"><i class="layui-icon layui-icon-refresh"></i></span>'),
|
||||
layui.$t('<span toolbar-event="scalex" title="变换"><i class="layui-icon layui-icon-slider"></i></span>'),
|
||||
layui.$t('<span toolbar-event="zoom" data-option="0.1" title="放大"><i class="layui-icon layui-icon-add-circle"></i></span>'),
|
||||
layui.$t('<span toolbar-event="zoom" data-option="-0.1" title="缩小"><i class="layui-icon layui-icon-reduce-circle"></i></span>'),
|
||||
layui.$t('<span toolbar-event="reset" title="还原"><i class="layui-icon layui-icon-refresh-1"></i></span>'),
|
||||
layui.$t('<span toolbar-event="close" title="关闭"><i class="layui-icon layui-icon-close"></i></span>'),
|
||||
'</div>'
|
||||
].join(''));
|
||||
}
|
||||
|
@ -1834,7 +1834,7 @@ layer.photos = function(options, loop, key){
|
|||
arr.push(['<div class="layui-layer-photos-toolbar layui-layer-photos-footer">',
|
||||
'<h3>'+ alt +'</h3>',
|
||||
'<em>'+ dict.imgIndex +' / '+ data.length +'</em>',
|
||||
'<a href="'+ data[start].src +'" target="_blank">查看原图</a>',
|
||||
'<a href="'+ data[start].src +layui.$t('" target="_blank">查看原图</a>'),
|
||||
'</div>'].join(''));
|
||||
}
|
||||
|
||||
|
@ -1856,9 +1856,9 @@ layer.photos = function(options, loop, key){
|
|||
}, options));
|
||||
}, function(){
|
||||
layer.close(dict.loadi);
|
||||
layer.msg('当前图片地址异常,<br>是否继续查看下一张?', {
|
||||
layer.msg(layui.$t('当前图片地址异常,<br>是否继续查看下一张?'), {
|
||||
time: 30000,
|
||||
btn: ['下一张', '不看了'],
|
||||
btn: [layui.$t('下一张'), layui.$t('不看了')],
|
||||
yes: function(){
|
||||
data.length > 1 && dict.imgnext(true,true);
|
||||
}
|
||||
|
|
|
@ -72,8 +72,8 @@ layui.define(function(exports) {
|
|||
groups = config.pages;
|
||||
}
|
||||
|
||||
config.prev = 'prev' in config ? config.prev : '上一页'; // 上一页文本
|
||||
config.next = 'next' in config ? config.next : '下一页'; // 下一页文本
|
||||
config.prev = 'prev' in config ? config.prev : layui.$t('上一页'); // 上一页文本
|
||||
config.next = 'next' in config ? config.next : layui.$t('下一页'); // 下一页文本
|
||||
|
||||
// 计算当前组
|
||||
var index = config.pages > groups
|
||||
|
@ -100,7 +100,7 @@ layui.define(function(exports) {
|
|||
|
||||
// 首页
|
||||
if(index > 1 && config.first !== false && groups !== 0){
|
||||
pager.push('<a class="layui-laypage-first" data-page="1" title="首页">'+ (config.first || 1) +'</a>');
|
||||
pager.push(layui.$t('<a class="layui-laypage-first" data-page="1" title="首页">')+ (config.first || 1) +'</a>');
|
||||
}
|
||||
|
||||
// 计算当前页码组的起始页
|
||||
|
@ -137,7 +137,7 @@ layui.define(function(exports) {
|
|||
pager.push('<span class="layui-laypage-spr">...</span>');
|
||||
}
|
||||
if(groups !== 0){
|
||||
pager.push('<a class="layui-laypage-last" title="尾页" data-page="'+ config.pages +'">'+ (config.last || config.pages) +'</a>');
|
||||
pager.push(layui.$t('<a class="layui-laypage-last" title="尾页" data-page="')+ config.pages +'">'+ (config.last || config.pages) +'</a>');
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -153,7 +153,7 @@ layui.define(function(exports) {
|
|||
|
||||
// 数据总数
|
||||
count: function(){
|
||||
var countText = typeof config.countText === 'object' ? config.countText : ['共 ', ' 条'];
|
||||
var countText = typeof config.countText === 'object' ? config.countText : [layui.$t('共')+ ' ', ' ' + layui.$t('条')];
|
||||
return '<span class="layui-laypage-count">'+ countText[0] + config.count + countText[1] +'</span>'
|
||||
}(),
|
||||
|
||||
|
@ -161,7 +161,7 @@ layui.define(function(exports) {
|
|||
limit: function(){
|
||||
var elemArr = ['<span class="layui-laypage-limits"><select lay-ignore>'];
|
||||
var template = function(item) {
|
||||
var def = item +' 条/页';
|
||||
var def = item +' ' + layui.$t('条/页');
|
||||
return typeof config.limitTemplet === 'function'
|
||||
? (config.limitTemplet(item) || def)
|
||||
: def;
|
||||
|
@ -189,9 +189,9 @@ layui.define(function(exports) {
|
|||
// 跳页区域
|
||||
skip: function(){
|
||||
var skipText = typeof config.skipText === 'object' ? config.skipText : [
|
||||
'到第',
|
||||
'页',
|
||||
'确定'
|
||||
layui.$t('到第'),
|
||||
layui.$t('页'),
|
||||
layui.$t('确定')
|
||||
];
|
||||
return [
|
||||
'<span class="layui-laypage-skip">'+ skipText[0],
|
||||
|
|
|
@ -192,7 +192,7 @@ layui.define(['lay', 'laytpl', 'laypage', 'form', 'util'], function(exports) {
|
|||
,'{{# } else { }}'
|
||||
,'<span>{{-item2.title||""}}</span>'
|
||||
,'{{# if(isSort){ }}'
|
||||
,'<span class="layui-table-sort layui-inline"><i class="layui-edge layui-table-sort-asc" title="升序"></i><i class="layui-edge layui-table-sort-desc" title="降序"></i></span>'
|
||||
,layui.$t('<span class="layui-table-sort layui-inline"><i class="layui-edge layui-table-sort-asc" title="升序"></i><i class="layui-edge layui-table-sort-desc" title="降序"></i></span>')
|
||||
,'{{# } }}'
|
||||
,'{{# } }}'
|
||||
,'</div>'
|
||||
|
@ -302,7 +302,7 @@ layui.define(['lay', 'laytpl', 'laypage', 'form', 'util'], function(exports) {
|
|||
defaultContextmenu: true, // 显示默认上下文菜单
|
||||
autoSort: true, // 是否前端自动排序。如果否,则需自主排序(通常为服务端处理好排序)
|
||||
text: {
|
||||
none: '无数据'
|
||||
none: layui.$t('无数据')
|
||||
},
|
||||
cols: []
|
||||
};
|
||||
|
@ -650,7 +650,7 @@ layui.define(['lay', 'laytpl', 'laypage', 'form', 'util'], function(exports) {
|
|||
// 头部工具栏右上角默认工具
|
||||
var defaultConfig = {
|
||||
filter: {
|
||||
title: '筛选列',
|
||||
title: layui.$t('筛选列'),
|
||||
layEvent: 'LAYTABLE_COLS',
|
||||
icon: 'layui-icon-cols',
|
||||
onClick: function(obj) {
|
||||
|
@ -703,7 +703,7 @@ layui.define(['lay', 'laytpl', 'laypage', 'form', 'util'], function(exports) {
|
|||
}
|
||||
},
|
||||
exports: {
|
||||
title: '导出',
|
||||
title: layui.$t('导出'),
|
||||
layEvent: 'LAYTABLE_EXPORT',
|
||||
icon: 'layui-icon-export',
|
||||
onClick: function(obj) { // 自带导出
|
||||
|
@ -712,16 +712,16 @@ layui.define(['lay', 'laytpl', 'laypage', 'form', 'util'], function(exports) {
|
|||
var openPanel = obj.openPanel;
|
||||
var elem = obj.elem;
|
||||
|
||||
if (!data.length) return layer.tips('当前表格无数据', elem, {tips: 3});
|
||||
if (!data.length) return layer.tips(layui.$t('当前表格无数据'), elem, {tips: 3});
|
||||
if(device.ie){
|
||||
layer.tips('导出功能不支持 IE,请用 Chrome 等高级浏览器导出', elem, {
|
||||
layer.tips(layui.$t('导出功能不支持 IE,请用 Chrome 等高级浏览器导出'), elem, {
|
||||
tips: 3
|
||||
});
|
||||
} else {
|
||||
openPanel({
|
||||
list: function(){
|
||||
return [
|
||||
'<li data-type="csv">导出 CSV 文件</li>'
|
||||
layui.$t('<li data-type="csv">导出 CSV 文件</li>')
|
||||
].join('')
|
||||
}(),
|
||||
done: function(panel, list){
|
||||
|
@ -735,7 +735,7 @@ layui.define(['lay', 'laytpl', 'laypage', 'form', 'util'], function(exports) {
|
|||
}
|
||||
},
|
||||
print: {
|
||||
title: '打印',
|
||||
title: layui.$t('打印'),
|
||||
layEvent: 'LAYTABLE_PRINT',
|
||||
icon: 'layui-icon-print',
|
||||
onClick: function(obj) {
|
||||
|
@ -743,7 +743,7 @@ layui.define(['lay', 'laytpl', 'laypage', 'form', 'util'], function(exports) {
|
|||
var options = obj.config;
|
||||
var elem = obj.elem;
|
||||
|
||||
if (!data.length) return layer.tips('当前表格无数据', elem, {tips: 3});
|
||||
if (!data.length) return layer.tips(layui.$t('当前表格无数据'), elem, {tips: 3});
|
||||
var printWin = window.open('about:blank', '_blank');
|
||||
var style = ['<style>',
|
||||
'body{font-size: 12px; color: #5F5F5F;}',
|
||||
|
@ -1219,7 +1219,7 @@ layui.define(['lay', 'laytpl', 'laypage', 'form', 'util'], function(exports) {
|
|||
if(res[response.statusName] != response.statusCode){
|
||||
that.errorView(
|
||||
res[response.msgName] ||
|
||||
('返回的数据不符合规范,正确的成功状态码应为:"'+ response.statusName +'": '+ response.statusCode)
|
||||
(layui.$t('返回的数据不符合规范,正确的成功状态码应为:"')+ response.statusName +'": '+ response.statusCode)
|
||||
);
|
||||
} else {
|
||||
// 当前页不能超过总页数
|
||||
|
@ -1246,7 +1246,7 @@ layui.define(['lay', 'laytpl', 'laypage', 'form', 'util'], function(exports) {
|
|||
that._xhrAbort = false;
|
||||
return;
|
||||
}
|
||||
that.errorView('请求异常,错误提示:'+ msg);
|
||||
that.errorView(layui.$t('请求异常,错误提示:')+ msg);
|
||||
typeof options.error === 'function' && options.error(e, msg);
|
||||
}
|
||||
});
|
||||
|
|
|
@ -80,7 +80,7 @@ layui.define(['laytpl', 'form'], function(exports) {
|
|||
'{{# if(d.data.showSearch){ }}',
|
||||
'<div class="layui-transfer-search">',
|
||||
'<i class="layui-icon layui-icon-search"></i>',
|
||||
'<input type="text" class="layui-input" placeholder="关键词搜索">',
|
||||
layui.$t('<input type="text" class="layui-input" placeholder="关键词搜索">'),
|
||||
'</div>',
|
||||
'{{# } }}',
|
||||
'<ul class="layui-transfer-data"></ul>',
|
||||
|
@ -117,7 +117,7 @@ layui.define(['laytpl', 'form'], function(exports) {
|
|||
|
||||
// 默认配置
|
||||
Class.prototype.config = {
|
||||
title: ['列表一', '列表二'],
|
||||
title: [layui.$t('列表一'), layui.$t('列表二')],
|
||||
width: 200,
|
||||
height: 360,
|
||||
data: [], // 数据源
|
||||
|
@ -125,8 +125,8 @@ layui.define(['laytpl', 'form'], function(exports) {
|
|||
showSearch: false, // 是否开启搜索
|
||||
id: '', // 唯一索引,默认自增 index
|
||||
text: {
|
||||
none: '无数据',
|
||||
searchNone: '无匹配数据'
|
||||
none: layui.$t('无数据'),
|
||||
searchNone: layui.$t('无匹配数据')
|
||||
}
|
||||
};
|
||||
|
||||
|
|
|
@ -108,8 +108,8 @@ layui.define(['form','util'], function(exports) {
|
|||
edit: false, // 是否开启节点的操作图标
|
||||
|
||||
text: {
|
||||
defaultNodeName: '未命名', // 节点默认名称
|
||||
none: '无数据' // 数据为空时的文本提示
|
||||
defaultNodeName: layui.$t('未命名'), // 节点默认名称
|
||||
none: layui.$t('无数据') // 数据为空时的文本提示
|
||||
}
|
||||
};
|
||||
|
||||
|
@ -576,7 +576,7 @@ layui.define(['form','util'], function(exports) {
|
|||
|
||||
// 删除
|
||||
} else {
|
||||
layer.confirm('确认删除该节点 "<span style="color: #999;">'+ (item[customName.title] || '') +'</span>" 吗?', function(index){
|
||||
layer.confirm(layui.$t('确认删除该节点 "<span style="color: #999;">')+ (item[customName.title] || '') +layui.$t('</span>" 吗?'), function(index){
|
||||
options.operate && options.operate(returnObj); // 节点删除的回调
|
||||
returnObj.status = 'remove'; // 标注节点删除
|
||||
|
||||
|
|
|
@ -400,7 +400,7 @@ layui.define(['table'], function (exports) {
|
|||
Class.prototype.getTreeNode = function (data) {
|
||||
var that = this;
|
||||
if (!data) {
|
||||
return hint.error('找不到节点数据');
|
||||
return hint.error(layui.$t('找不到节点数据'));
|
||||
}
|
||||
var options = that.getOptions();
|
||||
var treeOptions = options.tree;
|
||||
|
@ -422,7 +422,7 @@ layui.define(['table'], function (exports) {
|
|||
var that = this;
|
||||
var treeNodeData = that.getNodeDataByIndex(index);
|
||||
if (!treeNodeData) {
|
||||
return hint.error('找不到节点数据');
|
||||
return hint.error(layui.$t('找不到节点数据'));
|
||||
}
|
||||
var options = that.getOptions();
|
||||
var treeOptions = options.tree;
|
||||
|
@ -881,7 +881,7 @@ layui.define(['table'], function (exports) {
|
|||
* */
|
||||
treeTable.expandAll = function (id, expandFlag) {
|
||||
if (layui.type(expandFlag) !== 'boolean') {
|
||||
return hint.error('expandAll 的展开状态参数只接收true/false')
|
||||
return hint.error(layui.$t('expandAll 的展开状态参数只接收true/false'))
|
||||
}
|
||||
|
||||
var that = getThisTable(id);
|
||||
|
|
|
@ -524,11 +524,11 @@ layui.define(['lay', 'layer'], function(exports) {
|
|||
|
||||
// 文件类型名称
|
||||
var typeName = ({
|
||||
file: '文件',
|
||||
images: '图片',
|
||||
video: '视频',
|
||||
audio: '音频'
|
||||
})[options.accept] || '文件';
|
||||
file: layui.$t('文件'),
|
||||
images: layui.$t('图片'),
|
||||
video: layui.$t('视频'),
|
||||
audio: layui.$t('音频')
|
||||
})[options.accept] || layui.$t('文件');
|
||||
|
||||
// 校验文件格式
|
||||
value = value.length === 0
|
||||
|
@ -572,7 +572,7 @@ layui.define(['lay', 'layer'], function(exports) {
|
|||
|
||||
// 校验失败提示
|
||||
if(check){
|
||||
that.msg(text['check-error'] || ('选择的'+ typeName +'中包含不支持的格式'));
|
||||
that.msg(text['check-error'] || (layui.$t('选择的')+ typeName +layui.$t('中包含不支持的格式')));
|
||||
return elemFile.value = '';
|
||||
}
|
||||
|
||||
|
@ -598,8 +598,8 @@ layui.define(['lay', 'layer'], function(exports) {
|
|||
return that.msg(typeof text['limit-number'] === 'function'
|
||||
? text['limit-number'](options, that.fileLength)
|
||||
: (
|
||||
'同时最多只能上传: '+ options.number + ' 个文件'
|
||||
+'<br>您当前已经选择了: '+ that.fileLength +' 个文件'
|
||||
layui.$t('同时最多只能上传:')+ ' '+ options.number + ' ' + layui.$t('个文件')
|
||||
+layui.$t('<br>您当前已经选择了:')+ ' '+ that.fileLength +' ' + layui.$t('个文件')
|
||||
));
|
||||
}
|
||||
|
||||
|
@ -617,7 +617,7 @@ layui.define(['lay', 'layer'], function(exports) {
|
|||
});
|
||||
if(limitSize) return that.msg(typeof text['limit-size'] === 'function'
|
||||
? text['limit-size'](options, limitSize)
|
||||
: '文件大小不能超过 '+ limitSize);
|
||||
: layui.$t('文件大小不能超过')+ ' '+ limitSize);
|
||||
}
|
||||
|
||||
send();
|
||||
|
@ -642,7 +642,7 @@ layui.define(['lay', 'layer'], function(exports) {
|
|||
var elemFile = that.elemFile;
|
||||
var item = options.item ? options.item : options.elem;
|
||||
var value = files.length > 1
|
||||
? files.length + '个文件'
|
||||
? files.length + layui.$t('个文件')
|
||||
: ((files[0] || {}).name || (elemFile[0].value.match(/[^\/\\]+\..+/g)||[]) || '');
|
||||
|
||||
if(elemFile.next().hasClass(ELEM_CHOOSE)){
|
||||
|
|
|
@ -230,15 +230,15 @@ layui.define('jquery', function(exports) {
|
|||
|
||||
// 30 天以内,返回「多久前」
|
||||
if(stamp >= 1000*60*60*24){
|
||||
return ((stamp/1000/60/60/24)|0) + ' 天前';
|
||||
return ((stamp/1000/60/60/24)|0) + ' ' + layui.$t('天前');
|
||||
} else if(stamp >= 1000*60*60){
|
||||
return ((stamp/1000/60/60)|0) + ' 小时前';
|
||||
return ((stamp/1000/60/60)|0) + ' ' + layui.$t('小时前');
|
||||
} else if(stamp >= 1000*60*3){ // 3 分钟以内为:刚刚
|
||||
return ((stamp/1000/60)|0) + ' 分钟前';
|
||||
return ((stamp/1000/60)|0) + ' ' + layui.$t('分钟前');
|
||||
} else if(stamp < 0){
|
||||
return '未来';
|
||||
return layui.$t('未来');
|
||||
} else {
|
||||
return '刚刚';
|
||||
return layui.$t('刚刚');
|
||||
}
|
||||
},
|
||||
|
||||
|
@ -305,17 +305,17 @@ layui.define('jquery', function(exports) {
|
|||
var defaultMeridiem = function(hours, minutes){
|
||||
var hm = hours * 100 + minutes;
|
||||
if (hm < 600) {
|
||||
return '凌晨';
|
||||
return layui.$t('凌晨');
|
||||
} else if (hm < 900) {
|
||||
return '早上';
|
||||
return layui.$t('早上');
|
||||
} else if (hm < 1100) {
|
||||
return '上午';
|
||||
return layui.$t('上午');
|
||||
} else if (hm < 1300) {
|
||||
return '中午';
|
||||
return layui.$t('中午');
|
||||
} else if (hm < 1800) {
|
||||
return '下午';
|
||||
return layui.$t('下午');
|
||||
}
|
||||
return '晚上';
|
||||
return layui.$t('晚上');
|
||||
};
|
||||
|
||||
var meridiem = (options && options.customMeridiem) || defaultMeridiem;
|
||||
|
|
Loading…
Reference in New Issue