wip(i18n): 移除国际化消息中的 `lay` 命名空间

pull/2695/head
sight 2025-05-25 14:51:47 +08:00
parent 383baf471a
commit aaa4d85750
14 changed files with 267 additions and 268 deletions

View File

@ -14,195 +14,193 @@
// 中文国际化消息对象 // 中文国际化消息对象
var zhCN = { var zhCN = {
locale: 'zh-cn', locale: 'zh-cn',
lay: { code: {
code: { copy: '复制代码',
copy: '复制代码', copied: '已复制',
copied: '已复制', copyError: '复制失败',
copyError: '复制失败', maximize: '最大化显示',
maximize: '最大化显示', restore: '还原显示',
restore: '还原显示', preview: '在新窗口预览'
preview: '在新窗口预览' },
}, colorpicker: {
colorpicker: { clear: '清除',
clear: '清除', confirm: '确定'
confirm: '确定' },
}, dropdown: {
dropdown: { noData: '暂无数据'
noData: '暂无数据' },
}, flow: {
flow: { loadMore: '加载更多',
loadMore: '加载更多', noMore: '没有更多了'
noMore: '没有更多了' },
}, form: {
form: { select: {
select: { noData: '暂无数据',
noData: '暂无数据',
noMatch: '无匹配数据',
placeholder: '请选择'
},
validateMessages: {
required: '必填项不能为空',
phone: '手机号格式不正确',
email: '邮箱格式不正确',
url: '链接格式不正确',
number: '只能填写数字',
date: '日期格式不正确',
identity: '身份证号格式不正确'
},
verifyErrorPromptTitle: '提示'
},
// 未使用的字段为保留字段,将来可能会使用
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: '当前选中的结果',
// IE11- Date.prototype.toLocaleDateString 不支持第二个参数,所以此处用函数实现
panelHeaderFormat: {
year: function (y) { return y + ' 年' },
month: function (m) { return m + ' 月' },
monthBeforeYear: false
},
// 面板中某些字符串拼接使用
view: {
year: '年',
month: '月',
week: '周',
day: '天'
}
},
layer: {
confirm: '确定',
cancel: '取消',
defaultTitle: '信息',
prompt: {
InputLengthPrompt: '最多输入 {length} 个字符'
},
photos: {
noData: '没有图片',
tools:{
rotate: '旋转',
scaleX: '水平变换',
zoomIn: '放大',
zoomOut: '缩小',
reset: '还原',
close: '关闭'
},
viewPicture: '查看原图',
urlError: {
prompt: '当前图片地址异常,<br>是否继续查看下一张?',
confirm: '下一张',
cancel: '不看了'
}
}
},
laypage: {
prev: '上一页',
next: '下一页',
first: '首页',
last: '尾页',
total: '共 {total} 条',
pagesize: '条/页',
goto: '到第',
page: '页',
confirm: '确定'
},
table: {
sort: {
asc: '升序',
desc: '降序'
},
noData: '无数据',
tools:{
filter: {
title: '筛选列'
},
export: {
title: '导出',
noDataPrompt: '当前表格无数据',
compatPrompt: '导出功能不支持 IE请用 Chrome 等高级浏览器导出',
csvText : '导出 CSV 文件'
},
print: {
title: '打印',
noDataPrompt: '当前表格无数据'
}
},
dataFormatError: '返回的数据不符合规范,正确的成功状态码应为:"{statusName}": {statusCode}',
xhrError: '请求异常,错误提示:{msg}'
},
transfer: {
noData: '无数据',
noMatch: '无匹配数据', noMatch: '无匹配数据',
title: ['列表一', '列表二'], placeholder: '请选择'
searchPlaceholder: '关键词搜索'
}, },
tree: { validateMessages: {
defaultNodeName: '未命名', required: '必填项不能为空',
noData: '无数据', phone: '手机号格式不正确',
deleteNodePrompt: '确认删除"{name}"节点吗?' email: '邮箱格式不正确',
url: '链接格式不正确',
number: '只能填写数字',
date: '日期格式不正确',
identity: '身份证号格式不正确'
}, },
upload: { verifyErrorPromptTitle: '提示'
fileType: { },
file: '文件', laydate: {
image: '图片', // 未使用的字段为保留字段,将来可能会使用
video: '视频', month: {
audio: '音频' long: ['一月', '二月', '三月', '四月', '五月', '六月', '七月', '八月', '九月', '十月', '十一月', '十二月'],
}, short: ['一', '二', '三', '四', '五', '六', '七', '八', '九', '十', '十一', '十二']
validateMessages: {
fileExtensionError: '选择的{fileType}中包含不支持的格式',
filesOverLengthLimit: '同时最多只能上传: {length} 个文件',
currentFilesLength: '您当前已经选择了: {length} 个文件',
fileOverSizeLimit: '文件大小不能超过 {size}'
},
chooseText: '{length} 个文件'
}, },
util: { week: {
timeAgo: { long: ['周日', '周一', '周二', '周三', '周四', '周五', '周六'],
days: '{days} 天前', short: ['日', '一', '二', '三', '四', '五', '六']
hours: '{hours} 小时前', },
minutes: '{minutes} 分钟前', time: ['时', '分', '秒'],
future: '未来', selectTime: '选择时间',
justNow: '刚刚' startTime: '开始时间',
endTime: '结束时间',
selectDate: '选择日期',
tools: {
confirm: '确定',
clear: '清空',
now: '现在',
reset: '重置'
},
timeout: {
date: '结束日期不能早于开始日期<br>请重新选择',
time: '结束时间不能早于开始时间<br>请重新选择'
},
invalidDate: '不在有效日期或时间范围内',
formatError: ['日期格式不合法<br>必须遵循下述格式:<br>', '<br>已为你重置'],
preview: '当前选中的结果',
// IE11- Date.prototype.toLocaleDateString 不支持第二个参数,所以此处用函数实现
panelHeaderFormat: {
year: function (y) { return y + ' 年' },
month: function (m) { return m + ' 月' },
monthBeforeYear: false
},
// 面板中某些字符串拼接使用
view: {
year: '年',
month: '月',
week: '周',
day: '天'
}
},
layer: {
confirm: '确定',
cancel: '取消',
defaultTitle: '信息',
prompt: {
InputLengthPrompt: '最多输入 {length} 个字符'
},
photos: {
noData: '没有图片',
tools:{
rotate: '旋转',
scaleX: '水平变换',
zoomIn: '放大',
zoomOut: '缩小',
reset: '还原',
close: '关闭'
}, },
toDateString: { viewPicture: '查看原图',
meridiem: function(hours, minutes){ urlError: {
var hm = hours * 100 + minutes; prompt: '当前图片地址异常,<br>是否继续查看下一张?',
if (hm < 600) { confirm: '下一张',
return '凌晨'; cancel: '不看了'
} else if (hm < 900) { }
return '早上'; }
} else if (hm < 1100) { },
return '上午'; laypage: {
} else if (hm < 1300) { prev: '上一页',
return '中午'; next: '下一页',
} else if (hm < 1800) { first: '首页',
return '下午'; last: '尾页',
} total: '共 {total} 条',
return '晚上'; pagesize: '条/页',
goto: '到第',
page: '页',
confirm: '确定'
},
table: {
sort: {
asc: '升序',
desc: '降序'
},
noData: '无数据',
tools:{
filter: {
title: '筛选列'
},
export: {
title: '导出',
noDataPrompt: '当前表格无数据',
compatPrompt: '导出功能不支持 IE请用 Chrome 等高级浏览器导出',
csvText : '导出 CSV 文件'
},
print: {
title: '打印',
noDataPrompt: '当前表格无数据'
}
},
dataFormatError: '返回的数据不符合规范,正确的成功状态码应为:"{statusName}": {statusCode}',
xhrError: '请求异常,错误提示:{msg}'
},
transfer: {
noData: '无数据',
noMatch: '无匹配数据',
title: ['列表一', '列表二'],
searchPlaceholder: '关键词搜索'
},
tree: {
defaultNodeName: '未命名',
noData: '无数据',
deleteNodePrompt: '确认删除"{name}"节点吗?'
},
upload: {
fileType: {
file: '文件',
image: '图片',
video: '视频',
audio: '音频'
},
validateMessages: {
fileExtensionError: '选择的{fileType}中包含不支持的格式',
filesOverLengthLimit: '同时最多只能上传: {length} 个文件',
currentFilesLength: '您当前已经选择了: {length} 个文件',
fileOverSizeLimit: '文件大小不能超过 {size}'
},
chooseText: '{length} 个文件'
},
util: {
timeAgo: {
days: '{days} 天前',
hours: '{hours} 小时前',
minutes: '{minutes} 分钟前',
future: '未来',
justNow: '刚刚'
},
toDateString: {
meridiem: function(hours, minutes){
var hm = hours * 100 + minutes;
if (hm < 600) {
return '凌晨';
} else if (hm < 900) {
return '早上';
} else if (hm < 1100) {
return '上午';
} else if (hm < 1300) {
return '中午';
} else if (hm < 1800) {
return '下午';
} }
return '晚上';
} }
} }
} }
@ -215,7 +213,7 @@
version: false, // 是否在模块请求时加入版本号参数(以更新模块缓存) version: false, // 是否在模块请求时加入版本号参数(以更新模块缓存)
i18n:{ i18n:{
locale: 'zh-cn', // 全局内置语言 locale: 'zh-cn', // 全局内置语言
messages: { // 全局国际化消息对象,格式为:{locale: {namespace:{component:{...}}}} messages: { // 全局国际化消息对象
'zh-cn': zhCN 'zh-cn': zhCN
} }
} }

View File

@ -201,7 +201,7 @@ layui.define(['lay', 'util', 'element', 'tabs', 'form'], function(exports){
var tools = { var tools = {
copy: { copy: {
className: 'file-b', className: 'file-b',
title: [layui.$t('lay.code.copy')], title: [layui.$t('code.copy')],
event: function(obj){ event: function(obj){
var code = util.unescape(finalCode(options.code)); var code = util.unescape(finalCode(options.code));
var hasOnCopy = typeof options.onCopy === 'function'; var hasOnCopy = typeof options.onCopy === 'function';
@ -215,14 +215,14 @@ layui.define(['lay', 'util', 'element', 'tabs', 'form'], function(exports){
if(ret === false) return; if(ret === false) return;
} }
layer.msg(layui.$t('lay.code.copied'), {icon: 1}); layer.msg(layui.$t('code.copied'), {icon: 1});
}, },
error: function() { error: function() {
if(hasOnCopy){ if(hasOnCopy){
var ret = options.onCopy(code, false); var ret = options.onCopy(code, false);
if(ret === false) return; if(ret === false) return;
} }
layer.msg(layui.$t('lay.code.copyError'), {icon: 2}); layer.msg(layui.$t('code.copyError'), {icon: 2});
} }
}); });
} }
@ -277,7 +277,7 @@ layui.define(['lay', 'util', 'element', 'tabs', 'form'], function(exports){
$.extend(tools, { $.extend(tools, {
'full': { 'full': {
className: 'screen-full', className: 'screen-full',
title: [layui.$t('lay.code.maximize'), layui.$t('lay.code.restore')], title: [layui.$t('code.maximize'), layui.$t('code.restore')],
event: function(obj){ event: function(obj){
var el = obj.elem; var el = obj.elem;
var elemView = el.closest('.'+ CONST.ELEM_PREVIEW); var elemView = el.closest('.'+ CONST.ELEM_PREVIEW);
@ -302,7 +302,7 @@ layui.define(['lay', 'util', 'element', 'tabs', 'form'], function(exports){
}, },
'window': { 'window': {
className: 'release', className: 'release',
title: [layui.$t('lay.code.preview')], title: [layui.$t('code.preview')],
event: function(obj){ event: function(obj){
util.openWin({ util.openWin({
content: finalCode(options.code) content: finalCode(options.code)
@ -563,7 +563,7 @@ layui.define(['lay', 'util', 'element', 'tabs', 'form'], function(exports){
if(options.copy && !options.preview){ if(options.copy && !options.preview){
var copyElem = $([ var copyElem = $([
'<span class="layui-code-copy">', '<span class="layui-code-copy">',
'<i class="layui-icon layui-icon-file-b" title="' + layui.$t('lay.code.copy') + '"></i>', '<i class="layui-icon layui-icon-file-b" title="' + layui.$t('code.copy') + '"></i>',
'</span>' '</span>'
].join('')); ].join(''));

View File

@ -285,8 +285,8 @@ layui.define(['jquery', 'lay'], function(exports) {
,'<input type="text" class="layui-input">' ,'<input type="text" class="layui-input">'
,'</div>' ,'</div>'
,'<div class="layui-btn-group">' ,'<div class="layui-btn-group">'
,'<button style="border-radius: 0" class="layui-btn layui-btn-primary layui-btn-sm" colorpicker-events="clear">' + layui.$t('lay.colorpicker.clear') + '</button>' ,'<button style="border-radius: 0" class="layui-btn layui-btn-primary layui-btn-sm" colorpicker-events="clear">' + layui.$t('colorpicker.clear') + '</button>'
,'<button style="border-radius: 0; border-left: 0" class="layui-btn layui-btn-primary layui-btn-sm" colorpicker-events="confirm">' + layui.$t('lay.colorpicker.confirm') + '</button>' ,'<button style="border-radius: 0; border-left: 0" class="layui-btn layui-btn-primary layui-btn-sm" colorpicker-events="confirm">' + layui.$t('colorpicker.confirm') + '</button>'
,'</div' ,'</div'
,'</div>' ,'</div>'
,'</div>'].join('')) ,'</div>'].join(''))

View File

@ -181,7 +181,7 @@ layui.define(['jquery', 'laytpl', 'lay', 'util'], function(exports) {
if(options.data.length > 0 ){ if(options.data.length > 0 ){
eachItemView(elemUl, options.data) eachItemView(elemUl, options.data)
} else { } else {
elemUl.html('<li class="layui-menu-item-none">' + layui.$t('lay.dropdown.noData') + '</li>'); elemUl.html('<li class="layui-menu-item-none">' + layui.$t('dropdown.noData') + '</li>');
} }
return elemUl; return elemUl;
}; };

View File

@ -20,8 +20,8 @@ layui.define('jquery', function(exports) {
var scrollElem = $(options.scrollElem || document); // 滚动条所在元素 var scrollElem = $(options.scrollElem || document); // 滚动条所在元素
var threshold = 'mb' in options ? options.mb : 50; // 临界距离 var threshold = 'mb' in options ? options.mb : 50; // 临界距离
var isAuto = 'isAuto' in options ? options.isAuto : true; // 否自动滚动加载 var isAuto = 'isAuto' in options ? options.isAuto : true; // 否自动滚动加载
var moreText = options.moreText || layui.$t('lay.flow.loadMore'); // 手动加载时,加载更多按钮文案 var moreText = options.moreText || layui.$t('flow.loadMore'); // 手动加载时,加载更多按钮文案
var end = options.end || layui.$t('lay.flow.noMore'); // “末页”显示文案 var end = options.end || layui.$t('flow.noMore'); // “末页”显示文案
var direction = options.direction || 'bottom'; var direction = options.direction || 'bottom';
var isTop = direction === 'top'; var isTop = direction === 'top';

View File

@ -31,42 +31,42 @@ layui.define(['lay', 'layer', 'util'], function(exports){
verify: { verify: {
required: function(value) { required: function(value) {
if (!/[\S]+/.test(value) || value === undefined || value === null) { if (!/[\S]+/.test(value) || value === undefined || value === null) {
return layui.$t('lay.form.validateMessages.required'); return layui.$t('form.validateMessages.required');
} }
}, },
phone: function(value) { phone: function(value) {
var EXP = /^1\d{10}$/; var EXP = /^1\d{10}$/;
if (value && !EXP.test(value)) { if (value && !EXP.test(value)) {
return layui.$t('lay.form.validateMessages.phone'); return layui.$t('form.validateMessages.phone');
} }
}, },
email: function(value) { email: function(value) {
var EXP = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/; var EXP = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
if (value && !EXP.test(value)) { if (value && !EXP.test(value)) {
return layui.$t('lay.form.validateMessages.email'); return layui.$t('form.validateMessages.email');
} }
}, },
url: function(value) { url: function(value) {
var EXP = /^(#|(http(s?)):\/\/|\/\/)[^\s]+\.[^\s]+$/; var EXP = /^(#|(http(s?)):\/\/|\/\/)[^\s]+\.[^\s]+$/;
if (value && !EXP.test(value)) { if (value && !EXP.test(value)) {
return layui.$t('lay.form.validateMessages.url'); return layui.$t('form.validateMessages.url');
} }
}, },
number: function(value){ number: function(value){
if (value && isNaN(value)) { if (value && isNaN(value)) {
return layui.$t('lay.form.validateMessages.number'); return layui.$t('form.validateMessages.number');
} }
}, },
date: function(value){ 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]))*$/; 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)) { if (value && !EXP.test(value)) {
return layui.$t('lay.form.validateMessages.date'); return layui.$t('form.validateMessages.date');
} }
}, },
identity: function(value) { identity: function(value) {
var EXP = /(^\d{15}$)|(^\d{17}(x|X|\d)$)/; var EXP = /(^\d{15}$)|(^\d{17}(x|X|\d)$)/;
if (value && !EXP.test(value)) { if (value && !EXP.test(value)) {
return layui.$t('lay.form.validateMessages.identity'); return layui.$t('form.validateMessages.identity');
} }
} }
}, },
@ -466,7 +466,7 @@ layui.define(['lay', 'layer', 'util'], function(exports){
// 下拉选择框 // 下拉选择框
,select: function(elem){ ,select: function(elem){
var TIPS = layui.$t('lay.form.select.placeholder'); var TIPS = layui.$t('form.select.placeholder');
var CLASS = 'layui-form-select'; var CLASS = 'layui-form-select';
var TITLE = 'layui-select-title'; var TITLE = 'layui-select-title';
var NONE = 'layui-select-none'; var NONE = 'layui-select-none';
@ -765,7 +765,7 @@ layui.define(['lay', 'layer', 'util'], function(exports){
} }
}else{ }else{
if(none){ if(none){
dl.find('.'+NONE)[0] || dl.append('<p class="'+ NONE + '">' + layui.$t('lay.form.select.noMatch') + '</p>'); dl.find('.'+NONE)[0] || dl.append('<p class="'+ NONE + '">' + layui.$t('form.select.noMatch') + '</p>');
} else { } else {
dl.find('.'+NONE).remove(); dl.find('.'+NONE).remove();
} }
@ -956,7 +956,7 @@ layui.define(['lay', 'layer', 'util'], function(exports){
} }
}); });
if (arr.length === 0) { if (arr.length === 0) {
arr.push('<dd lay-value="" class="'+ DISABLED + '">' + layui.$t('lay.form.select.noData') + '</dd>'); arr.push('<dd lay-value="" class="'+ DISABLED + '">' + layui.$t('form.select.noData') + '</dd>');
} }
return arr.join(''); return arr.join('');
}(); }();
@ -1367,7 +1367,7 @@ layui.define(['lay', 'layer', 'util'], function(exports){
return othis; return othis;
}(), {tips: 1}); }(), {tips: 1});
} else if(verType === 'alert') { } else if(verType === 'alert') {
layer.alert(errorText, {title: layui.$t('lay.form.verifyErrorPromptTitle'), shadeClose: true}); layer.alert(errorText, {title: layui.$t('form.verifyErrorPromptTitle'), shadeClose: true});
} }
// 若返回的为字符或数字,则自动弹出默认提示框;否则由 verify 方法中处理提示 // 若返回的为字符或数字,则自动弹出默认提示框;否则由 verify 方法中处理提示
else if(/\b(string|number)\b/.test(typeof errorText)) { else if(/\b(string|number)\b/.test(typeof errorText)) {

View File

@ -282,7 +282,7 @@
var i18n = layui.cache.i18n; var i18n = layui.cache.i18n;
var message = i18n.messages[i18n.locale]; var message = i18n.messages[i18n.locale];
if(message){ if(message){
text[i18n.locale] = message.lay.laydate; text[i18n.locale] = message.laydate;
}else{ }else{
window.console && console.log && console.log('layui[laydate]: Locale "' + i18n.locale + '" not found. Please add i18n messages for this locale first.'); window.console && console.log && console.log('layui[laydate]: Locale "' + i18n.locale + '" not found. Please add i18n messages for this locale first.');
} }

View File

@ -9,6 +9,7 @@
var isLayui = window.layui && layui.define; var isLayui = window.layui && layui.define;
var $; var $;
var win; var win;
var OBJECT_REPLACE_REGEX = /\{(\w+)\}/g;
var ready = { var ready = {
getPath: function(){ getPath: function(){
@ -150,11 +151,11 @@ var $t = isLayui
: function(key){ : function(key){
// 非 layui 环境去除命名空间前缀,从 config.lang 中取值 // 非 layui 环境去除命名空间前缀,从 config.lang 中取值
// TODO 简化版,暂不文档化,不支持配置多个 locale // TODO 简化版,暂不文档化,不支持配置多个 locale
key = key.replace(/^lay\.layer\./, ''); key = key.replace(/^layer\./, '');
var result = get(ready.config.lang, key, key); var result = get(ready.config.lang, key, key);
if(typeof result === 'string' && arguments.length > 1) { if(typeof result === 'string' && arguments.length > 1) {
var opts = arguments[1]; var opts = arguments[1];
return result.replace(/\{(\w+)\}/g, function(match, key) { return result.replace(OBJECT_REPLACE_REGEX, function(match, key) {
return opts[key] !== undefined ? opts[key] : match; return opts[key] !== undefined ? opts[key] : match;
}) })
} }
@ -226,7 +227,7 @@ var layer = {
} }
return layer.open($.extend({ return layer.open($.extend({
content: content, content: content,
btn: [$t('lay.layer.confirm'), $t('lay.layer.cancel')], btn: [$t('layer.confirm'), $t('layer.cancel')],
yes: yes, yes: yes,
btn2: cancel btn2: cancel
}, type ? {} : options)); }, type ? {} : options));
@ -290,7 +291,7 @@ var Class = function(setings){
that.creat(); that.creat();
}; };
// TODO 临时的同步方案 // TODO 临时的同步方案
ready.config.title = $t('lay.layer.defaultTitle'); ready.config.title = $t('layer.defaultTitle');
that.index = ++layer.index; that.index = ++layer.index;
that.config.maxWidth = $(win).width() - 15*2; // 初始最大宽度:当前屏幕宽,左右留 15px 边距 that.config.maxWidth = $(win).width() - 15*2; // 初始最大宽度:当前屏幕宽,左右留 15px 边距
that.config = $.extend({}, that.config, ready.config, setings); that.config = $.extend({}, that.config, ready.config, setings);
@ -334,7 +335,7 @@ Class.pt.config = {
shade: 0.3, shade: 0.3,
fixed: true, fixed: true,
move: doms[1], move: doms[1],
title: $t('lay.layer.defaultTitle'), title: $t('layer.defaultTitle'),
offset: 'auto', offset: 'auto',
area: 'auto', area: 'auto',
closeBtn: 1, closeBtn: 1,
@ -522,7 +523,7 @@ Class.pt.creat = function(){
switch(config.type){ switch(config.type){
case 0: case 0:
config.btn = ('btn' in config) ? config.btn : $t('lay.layer.confirm'); config.btn = ('btn' in config) ? config.btn : $t('layer.confirm');
layer.closeAll('dialog'); layer.closeAll('dialog');
break; break;
case 2: case 2:
@ -1510,7 +1511,7 @@ layer.prompt = function(options, yes){
return layer.open($.extend({ return layer.open($.extend({
type: 1, type: 1,
btn: [$t('lay.layer.confirm'),$t('lay.layer.cancel')], btn: [$t('layer.confirm'),$t('layer.cancel')],
content: content, content: content,
skin: 'layui-layer-prompt' + skin('prompt'), skin: 'layui-layer-prompt' + skin('prompt'),
maxWidth: win.width(), maxWidth: win.width(),
@ -1523,7 +1524,7 @@ layer.prompt = function(options, yes){
yes: function(index){ yes: function(index){
var value = prompt.val(); var value = prompt.val();
if(value.length > (options.maxlength||500)) { if(value.length > (options.maxlength||500)) {
layer.tips($t('lay.layer.prompt.InputLengthPrompt', {length: (options.maxlength || 500)}), prompt, {tips: 1}); layer.tips($t('layer.prompt.InputLengthPrompt', {length: (options.maxlength || 500)}), prompt, {tips: 1});
} else { } else {
yes && yes(value, index, prompt); yes && yes(value, index, prompt);
} }
@ -1637,7 +1638,7 @@ layer.photos = function(options, loop, key){
// 不直接弹出 // 不直接弹出
if (!loop) return; if (!loop) return;
} else if (data.length === 0){ } else if (data.length === 0){
return layer.msg($t('lay.layer.photos.noData')); return layer.msg($t('layer.photos.noData'));
} }
// 上一张 // 上一张
@ -1885,12 +1886,12 @@ layer.photos = function(options, loop, key){
if (options.toolbar) { if (options.toolbar) {
arr.push([ arr.push([
'<div class="layui-layer-photos-toolbar layui-layer-photos-header">', '<div class="layui-layer-photos-toolbar layui-layer-photos-header">',
'<span toolbar-event="rotate" data-option="90" title="'+ $t('lay.layer.photos.tools.rotate') +'"><i class="layui-icon layui-icon-refresh"></i></span>', '<span toolbar-event="rotate" data-option="90" title="'+ $t('layer.photos.tools.rotate') +'"><i class="layui-icon layui-icon-refresh"></i></span>',
'<span toolbar-event="scalex" title="'+ $t('lay.layer.photos.tools.scaleX') +'"><i class="layui-icon layui-icon-slider"></i></span>', '<span toolbar-event="scalex" title="'+ $t('layer.photos.tools.scaleX') +'"><i class="layui-icon layui-icon-slider"></i></span>',
'<span toolbar-event="zoom" data-option="0.1" title="'+ $t('lay.layer.photos.tools.zoomIn') +'"><i class="layui-icon layui-icon-add-circle"></i></span>', '<span toolbar-event="zoom" data-option="0.1" title="'+ $t('layer.photos.tools.zoomIn') +'"><i class="layui-icon layui-icon-add-circle"></i></span>',
'<span toolbar-event="zoom" data-option="-0.1" title="'+ $t('lay.layer.photos.tools.zoomOut') +'"><i class="layui-icon layui-icon-reduce-circle"></i></span>', '<span toolbar-event="zoom" data-option="-0.1" title="'+ $t('layer.photos.tools.zoomOut') +'"><i class="layui-icon layui-icon-reduce-circle"></i></span>',
'<span toolbar-event="reset" title="'+ $t('lay.layer.photos.tools.reset') +'"><i class="layui-icon layui-icon-refresh-1"></i></span>', '<span toolbar-event="reset" title="'+ $t('layer.photos.tools.reset') +'"><i class="layui-icon layui-icon-refresh-1"></i></span>',
'<span toolbar-event="close" title="'+ $t('lay.layer.photos.tools.close') +'"><i class="layui-icon layui-icon-close"></i></span>', '<span toolbar-event="close" title="'+ $t('layer.photos.tools.close') +'"><i class="layui-icon layui-icon-close"></i></span>',
'</div>' '</div>'
].join('')); ].join(''));
} }
@ -1900,7 +1901,7 @@ layer.photos = function(options, loop, key){
arr.push(['<div class="layui-layer-photos-toolbar layui-layer-photos-footer">', arr.push(['<div class="layui-layer-photos-toolbar layui-layer-photos-footer">',
'<h3>'+ alt +'</h3>', '<h3>'+ alt +'</h3>',
'<em>'+ dict.imgIndex +' / '+ data.length +'</em>', '<em>'+ dict.imgIndex +' / '+ data.length +'</em>',
'<a href="'+ data[start].src + '" target="_blank">'+ $t('lay.layer.photos.viewPicture') +'</a>', '<a href="'+ data[start].src + '" target="_blank">'+ $t('layer.photos.viewPicture') +'</a>',
'</div>'].join('')); '</div>'].join(''));
} }
@ -1922,9 +1923,9 @@ layer.photos = function(options, loop, key){
}, options)); }, options));
}, function(){ }, function(){
layer.close(dict.loadi); layer.close(dict.loadi);
layer.msg($t('lay.layer.photos.urlError.prompt'), { layer.msg($t('layer.photos.urlError.prompt'), {
time: 30000, time: 30000,
btn: [$t('lay.layer.photos.urlError.confirm'), $t('lay.layer.photos.urlError.cancel')], btn: [$t('layer.photos.urlError.confirm'), $t('layer.photos.urlError.cancel')],
yes: function(){ yes: function(){
data.length > 1 && dict.imgnext(true,true); data.length > 1 && dict.imgnext(true,true);
} }

View File

@ -72,8 +72,8 @@ layui.define(function(exports) {
groups = config.pages; groups = config.pages;
} }
config.prev = 'prev' in config ? config.prev : layui.$t('lay.laypage.prev'); // 上一页文本 config.prev = 'prev' in config ? config.prev : layui.$t('laypage.prev'); // 上一页文本
config.next = 'next' in config ? config.next : layui.$t('lay.laypage.next'); // 下一页文本 config.next = 'next' in config ? config.next : layui.$t('laypage.next'); // 下一页文本
// 计算当前组 // 计算当前组
var index = config.pages > groups var index = config.pages > groups
@ -100,7 +100,7 @@ layui.define(function(exports) {
// 首页 // 首页
if(index > 1 && config.first !== false && groups !== 0){ if(index > 1 && config.first !== false && groups !== 0){
pager.push('<a class="layui-laypage-first" data-page="1" title="' + layui.$t('lay.laypage.first') + '">' + (config.first || 1) +'</a>'); pager.push('<a class="layui-laypage-first" data-page="1" title="' + layui.$t('laypage.first') + '">' + (config.first || 1) +'</a>');
} }
// 计算当前页码组的起始页 // 计算当前页码组的起始页
@ -137,7 +137,7 @@ layui.define(function(exports) {
pager.push('<span class="layui-laypage-spr">...</span>'); pager.push('<span class="layui-laypage-spr">...</span>');
} }
if(groups !== 0){ if(groups !== 0){
pager.push('<a class="layui-laypage-last" title="' + layui.$t('lay.laypage.last') + '" data-page="'+ config.pages +'">'+ (config.last || config.pages) +'</a>'); pager.push('<a class="layui-laypage-last" title="' + layui.$t('laypage.last') + '" data-page="'+ config.pages +'">'+ (config.last || config.pages) +'</a>');
} }
} }
@ -155,7 +155,7 @@ layui.define(function(exports) {
count: function(){ count: function(){
var countText = typeof config.countText === 'object' var countText = typeof config.countText === 'object'
? countText[0] + config.count + countText[1] ? countText[0] + config.count + countText[1]
: layui.$t('lay.laypage.total', {total: config.count}); : layui.$t('laypage.total', {total: config.count});
return '<span class="layui-laypage-count">'+ countText +'</span>' return '<span class="layui-laypage-count">'+ countText +'</span>'
}(), }(),
@ -164,7 +164,7 @@ layui.define(function(exports) {
limit: function(){ limit: function(){
var elemArr = ['<span class="layui-laypage-limits"><select lay-ignore>']; var elemArr = ['<span class="layui-laypage-limits"><select lay-ignore>'];
var template = function(item) { var template = function(item) {
var def = item + ' ' + layui.$t('lay.laypage.pagesize'); var def = item + ' ' + layui.$t('laypage.pagesize');
return typeof config.limitTemplet === 'function' return typeof config.limitTemplet === 'function'
? (config.limitTemplet(item) || def) ? (config.limitTemplet(item) || def)
: def; : def;
@ -192,9 +192,9 @@ layui.define(function(exports) {
// 跳页区域 // 跳页区域
skip: function(){ skip: function(){
var skipText = typeof config.skipText === 'object' ? config.skipText : [ var skipText = typeof config.skipText === 'object' ? config.skipText : [
layui.$t('lay.laypage.goto'), layui.$t('laypage.goto'),
layui.$t('lay.laypage.page'), layui.$t('laypage.page'),
layui.$t('lay.laypage.confirm') layui.$t('laypage.confirm')
]; ];
return [ return [
'<span class="layui-laypage-skip">'+ skipText[0], '<span class="layui-laypage-skip">'+ skipText[0],

View File

@ -192,7 +192,7 @@ layui.define(['lay', 'laytpl', 'laypage', 'form', 'util'], function(exports) {
,'{{# } else { }}' ,'{{# } else { }}'
,'<span>{{-item2.title||""}}</span>' ,'<span>{{-item2.title||""}}</span>'
,'{{# if(isSort){ }}' ,'{{# if(isSort){ }}'
,'<span class="layui-table-sort layui-inline"><i class="layui-edge layui-table-sort-asc" title="' + layui.$t('lay.table.sort.asc') + '"></i><i class="layui-edge layui-table-sort-desc" title="' + layui.$t('lay.table.sort.desc') + '"></i></span>' ,'<span class="layui-table-sort layui-inline"><i class="layui-edge layui-table-sort-asc" title="' + layui.$t('table.sort.asc') + '"></i><i class="layui-edge layui-table-sort-desc" title="' + layui.$t('table.sort.desc') + '"></i></span>'
,'{{# } }}' ,'{{# } }}'
,'{{# } }}' ,'{{# } }}'
,'</div>' ,'</div>'
@ -302,7 +302,7 @@ layui.define(['lay', 'laytpl', 'laypage', 'form', 'util'], function(exports) {
defaultContextmenu: true, // 显示默认上下文菜单 defaultContextmenu: true, // 显示默认上下文菜单
autoSort: true, // 是否前端自动排序。如果否,则需自主排序(通常为服务端处理好排序) autoSort: true, // 是否前端自动排序。如果否,则需自主排序(通常为服务端处理好排序)
text: { text: {
none: layui.$t('lay.table.noData') none: layui.$t('table.noData')
}, },
cols: [] cols: []
}; };
@ -650,7 +650,7 @@ layui.define(['lay', 'laytpl', 'laypage', 'form', 'util'], function(exports) {
// 头部工具栏右上角默认工具 // 头部工具栏右上角默认工具
var defaultConfig = { var defaultConfig = {
filter: { filter: {
title: layui.$t('lay.table.tools.filter.title'), title: layui.$t('table.tools.filter.title'),
layEvent: 'LAYTABLE_COLS', layEvent: 'LAYTABLE_COLS',
icon: 'layui-icon-cols', icon: 'layui-icon-cols',
onClick: function(obj) { onClick: function(obj) {
@ -703,7 +703,7 @@ layui.define(['lay', 'laytpl', 'laypage', 'form', 'util'], function(exports) {
} }
}, },
exports: { exports: {
title: layui.$t('lay.table.tools.export.title'), title: layui.$t('table.tools.export.title'),
layEvent: 'LAYTABLE_EXPORT', layEvent: 'LAYTABLE_EXPORT',
icon: 'layui-icon-export', icon: 'layui-icon-export',
onClick: function(obj) { // 自带导出 onClick: function(obj) { // 自带导出
@ -712,16 +712,16 @@ layui.define(['lay', 'laytpl', 'laypage', 'form', 'util'], function(exports) {
var openPanel = obj.openPanel; var openPanel = obj.openPanel;
var elem = obj.elem; var elem = obj.elem;
if (!data.length) return layer.tips(layui.$t('lay.table.tools.export.noDataPrompt'), elem, {tips: 3}); if (!data.length) return layer.tips(layui.$t('table.tools.export.noDataPrompt'), elem, {tips: 3});
if(device.ie){ if(device.ie){
layer.tips(layui.$t('lay.table.tools.export.compatPrompt'), elem, { layer.tips(layui.$t('table.tools.export.compatPrompt'), elem, {
tips: 3 tips: 3
}); });
} else { } else {
openPanel({ openPanel({
list: function(){ list: function(){
return [ return [
'<li data-type="csv">'+ layui.$t('lay.table.tools.export.csvText') +'</li>' '<li data-type="csv">'+ layui.$t('table.tools.export.csvText') +'</li>'
].join('') ].join('')
}(), }(),
done: function(panel, list){ done: function(panel, list){
@ -735,7 +735,7 @@ layui.define(['lay', 'laytpl', 'laypage', 'form', 'util'], function(exports) {
} }
}, },
print: { print: {
title: layui.$t('lay.table.tools.print.title'), title: layui.$t('table.tools.print.title'),
layEvent: 'LAYTABLE_PRINT', layEvent: 'LAYTABLE_PRINT',
icon: 'layui-icon-print', icon: 'layui-icon-print',
onClick: function(obj) { onClick: function(obj) {
@ -743,7 +743,7 @@ layui.define(['lay', 'laytpl', 'laypage', 'form', 'util'], function(exports) {
var options = obj.config; var options = obj.config;
var elem = obj.elem; var elem = obj.elem;
if (!data.length) return layer.tips(layui.$t('lay.table.tools.print.noDataPrompt'), elem, {tips: 3}); if (!data.length) return layer.tips(layui.$t('table.tools.print.noDataPrompt'), elem, {tips: 3});
var printWin = window.open('about:blank', '_blank'); var printWin = window.open('about:blank', '_blank');
var style = ['<style>', var style = ['<style>',
'body{font-size: 12px; color: #5F5F5F;}', '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){ if(res[response.statusName] != response.statusCode){
that.errorView( that.errorView(
res[response.msgName] || res[response.msgName] ||
layui.$t('lay.table.dataFormatError', { layui.$t('table.dataFormatError', {
statusName: response.statusName, statusName: response.statusName,
statusCode: response.statusCode statusCode: response.statusCode
}) })
@ -1249,7 +1249,7 @@ layui.define(['lay', 'laytpl', 'laypage', 'form', 'util'], function(exports) {
that._xhrAbort = false; that._xhrAbort = false;
return; return;
} }
that.errorView(layui.$t('lay.table.xhrError', {msg: msg})); that.errorView(layui.$t('table.xhrError', {msg: msg}));
typeof options.error === 'function' && options.error(e, msg); typeof options.error === 'function' && options.error(e, msg);
} }
}); });

View File

@ -80,7 +80,7 @@ layui.define(['laytpl', 'form'], function(exports) {
'{{# if(d.data.showSearch){ }}', '{{# if(d.data.showSearch){ }}',
'<div class="layui-transfer-search">', '<div class="layui-transfer-search">',
'<i class="layui-icon layui-icon-search"></i>', '<i class="layui-icon layui-icon-search"></i>',
'<input type="text" class="layui-input" placeholder="'+ layui.$t('lay.transfer.searchPlaceholder') +'">', '<input type="text" class="layui-input" placeholder="'+ layui.$t('transfer.searchPlaceholder') +'">',
'</div>', '</div>',
'{{# } }}', '{{# } }}',
'<ul class="layui-transfer-data"></ul>', '<ul class="layui-transfer-data"></ul>',
@ -117,7 +117,7 @@ layui.define(['laytpl', 'form'], function(exports) {
// 默认配置 // 默认配置
Class.prototype.config = { Class.prototype.config = {
title: layui.$t('lay.transfer.title'), title: layui.$t('transfer.title'),
width: 200, width: 200,
height: 360, height: 360,
data: [], // 数据源 data: [], // 数据源
@ -125,8 +125,8 @@ layui.define(['laytpl', 'form'], function(exports) {
showSearch: false, // 是否开启搜索 showSearch: false, // 是否开启搜索
id: '', // 唯一索引,默认自增 index id: '', // 唯一索引,默认自增 index
text: { text: {
none: layui.$t('lay.transfer.noData'), none: layui.$t('transfer.noData'),
searchNone: layui.$t('lay.transfer.noMatch') searchNone: layui.$t('transfer.noMatch')
} }
}; };

View File

@ -108,8 +108,8 @@ layui.define(['form','util'], function(exports) {
edit: false, // 是否开启节点的操作图标 edit: false, // 是否开启节点的操作图标
text: { text: {
defaultNodeName: layui.$t('lay.tree.defaultNodeName'), // 节点默认名称 defaultNodeName: layui.$t('tree.defaultNodeName'), // 节点默认名称
none: layui.$t('lay.tree.noData') // 数据为空时的文本提示 none: layui.$t('tree.noData') // 数据为空时的文本提示
} }
}; };
@ -577,7 +577,7 @@ layui.define(['form','util'], function(exports) {
// 删除 // 删除
} else { } else {
// 兼容性,手动替换括号为 html // 兼容性,手动替换括号为 html
var i18nText = layui.$t('lay.tree.deleteNodePrompt', { var i18nText = layui.$t('tree.deleteNodePrompt', {
name: item[customName.title] || '' name: item[customName.title] || ''
}); });
layer.confirm(i18nText, function(index){ layer.confirm(i18nText, function(index){

View File

@ -524,11 +524,11 @@ layui.define(['lay', 'layer'], function(exports) {
// 文件类型名称 // 文件类型名称
var typeName = ({ var typeName = ({
file: layui.$t('lay.upload.fileType.file'), file: layui.$t('upload.fileType.file'),
images: layui.$t('lay.upload.fileType.image'), images: layui.$t('upload.fileType.image'),
video: layui.$t('lay.upload.fileType.video'), video: layui.$t('upload.fileType.video'),
audio: layui.$t('lay.upload.fileType.audio') audio: layui.$t('upload.fileType.audio')
})[options.accept] || layui.$t('lay.upload.fileType.file'); })[options.accept] || layui.$t('upload.fileType.file');
// 校验文件格式 // 校验文件格式
value = value.length === 0 value = value.length === 0
@ -572,7 +572,7 @@ layui.define(['lay', 'layer'], function(exports) {
// 校验失败提示 // 校验失败提示
if(check){ if(check){
that.msg(text['check-error'] || layui.$t('lay.upload.validateMessages.fileExtensionError', {fileType: typeName})); that.msg(text['check-error'] || layui.$t('upload.validateMessages.fileExtensionError', {fileType: typeName}));
return elemFile.value = ''; return elemFile.value = '';
} }
@ -598,9 +598,9 @@ layui.define(['lay', 'layer'], function(exports) {
return that.msg(typeof text['limit-number'] === 'function' return that.msg(typeof text['limit-number'] === 'function'
? text['limit-number'](options, that.fileLength) ? text['limit-number'](options, that.fileLength)
: ( : (
layui.$t('lay.upload.validateMessages.filesOverLengthLimit', {length: options.number}) layui.$t('upload.validateMessages.filesOverLengthLimit', {length: options.number})
+ '<br/>' + '<br/>'
+ layui.$t('lay.upload.validateMessages.currentFilesLength', {length: that.fileLength}) + layui.$t('upload.validateMessages.currentFilesLength', {length: that.fileLength})
)); ));
} }
@ -619,7 +619,7 @@ layui.define(['lay', 'layer'], function(exports) {
if(limitSize) return that.msg( if(limitSize) return that.msg(
typeof text['limit-size'] === 'function' typeof text['limit-size'] === 'function'
? text['limit-size'](options, limitSize) ? text['limit-size'](options, limitSize)
: layui.$t('lay.upload.validateMessages.fileOverSizeLimit', {size: limitSize})); : layui.$t('upload.validateMessages.fileOverSizeLimit', {size: limitSize}));
} }
send(); send();
@ -644,7 +644,7 @@ layui.define(['lay', 'layer'], function(exports) {
var elemFile = that.elemFile; var elemFile = that.elemFile;
var item = options.item ? options.item : options.elem; var item = options.item ? options.item : options.elem;
var value = files.length > 1 var value = files.length > 1
? layui.$t('lay.upload.chooseText', {length: files.length}) ? layui.$t('upload.chooseText', {length: files.length})
: ((files[0] || {}).name || (elemFile[0].value.match(/[^\/\\]+\..+/g)||[]) || ''); : ((files[0] || {}).name || (elemFile[0].value.match(/[^\/\\]+\..+/g)||[]) || '');
if(elemFile.next().hasClass(ELEM_CHOOSE)){ if(elemFile.next().hasClass(ELEM_CHOOSE)){

View File

@ -230,15 +230,15 @@ layui.define('jquery', function(exports) {
// 30 天以内,返回「多久前」 // 30 天以内,返回「多久前」
if(stamp >= 1000*60*60*24){ if(stamp >= 1000*60*60*24){
return layui.$t('lay.util.timeAgo.days', {days: (stamp/1000/60/60/24)|0}); return layui.$t('util.timeAgo.days', {days: (stamp/1000/60/60/24)|0});
} else if(stamp >= 1000*60*60){ } else if(stamp >= 1000*60*60){
return layui.$t('lay.util.timeAgo.hours', {hours: (stamp/1000/60/60)|0}); return layui.$t('util.timeAgo.hours', {hours: (stamp/1000/60/60)|0});
} else if(stamp >= 1000*60*3){ // 3 分钟以内为:刚刚 } else if(stamp >= 1000*60*3){ // 3 分钟以内为:刚刚
return layui.$t('lay.util.timeAgo.minutes', {minutes: (stamp/1000/60)|0}); return layui.$t('util.timeAgo.minutes', {minutes: (stamp/1000/60)|0});
} else if(stamp < 0){ } else if(stamp < 0){
return layui.$t('lay.util.timeAgo.future'); return layui.$t('util.timeAgo.future');
} else { } else {
return layui.$t('lay.util.timeAgo.justNow'); return layui.$t('util.timeAgo.justNow');
} }
}, },
@ -318,7 +318,7 @@ layui.define('jquery', function(exports) {
return '晚上'; return '晚上';
}; };
var meridiem = (options && options.customMeridiem) || layui.$t('lay.util.toDateString.meridiem') || defaultMeridiem; var meridiem = (options && options.customMeridiem) || layui.$t('util.toDateString.meridiem') || defaultMeridiem;
var matches = { var matches = {
yy: function(){return String(years).slice(-2);}, yy: function(){return String(years).slice(-2);},