diff --git a/docs/i18n/detail/demo.md b/docs/i18n/detail/demo.md index 07811360..63ccf7ce 100644 --- a/docs/i18n/detail/demo.md +++ b/docs/i18n/detail/demo.md @@ -3,970 +3,784 @@ i18n 演示 - Layui - - -
{{! - !}} - - - + + + - + + // 渲染页面模板 + const template = $('#template').html(); + const html = laytpl(template, { tagStyle: 'modern' }).render(); + $('#root').html(html); + + + /** + * 组件示例 + */ + + // code + layui.code({ + elem: "#demo-code", + preview: true, + tools: ['copy', 'full', 'window'], + header: true, + lang: 'html', + langMarker: true, + }); + + // colorpicker + colorpicker.render({ + elem: "#demo-colorpicker", + }); + + // dropdown + dropdown.render({ + elem: "#demo-dropdown", + }); + + // flow + flow.load({ + elem: '#demo-flow', + scrollElem: '#demo-flow', + done: function (page, next) { + // 模拟数据插入 + setTimeout(function () { + var lis = []; + for (var i = 0; i < 3; i++) { + lis.push('
  • ' + ((page - 1) * 3 + i + 1) + '
  • ') + } + next(lis.join(''), page < 2); + }, 200); + } + }); + + // form + form.on('submit(demo1)', function (data) { + var field = data.field; + // 显示填写结果,仅作演示用 + layer.alert(JSON.stringify(field)); + return false; + }); + + // laydate + laydate.render({ + elem: "#demo-laydate", + type: "datetime", + calendar: true + }); + + // layer + util.on({ + alert: function () { + layer.alert("Hello world"); + }, + prompt: function () { + layer.prompt({ formType: 1, maxlength: 3 }, function (value, index) { + layer.close(index); + }); + }, + photos: function () { + layer.photos({ + photos: { + "title": "Photos Demo", + "start": 0, + "data": [ + { + "alt": "layer", + "pid": 1, + "src": "https://unpkg.com/outeres@0.1.1/demo/layer.png", + }, + { + "alt": "error", + "pid": 3, + "src": "", + }, + { + "alt": "universe", + "pid": 5, + "src": "https://unpkg.com/outeres@0.1.1/demo/outer-space.jpg", + } + ] + } + }); + } + }) + + // laypage + laypage.render({ + elem: "demo-laypage-all", + count: 100, + layout: ["count", "prev", "page", "next", "limit", "refresh", "skip"], + }); + + // table + table.render({ + elem: '#demo-table', + cols: [[{ field: 'test', title: '1', sort: true }, { field: 'test2', title: '2', sort: true }]], + data: new Array(0), + toolbar: 'default', + defaultToolbar: ['filter', 'exports', 'print'], + height: 'full', + page: true, + text: { + // none: 'none' + } + }); + + // transfer + transfer.render({ + elem: '#demo-transfer', + data: [ + { "value": "1", "title": "Item 1" }, + { "value": "2", "title": "Item 2" }, + { "value": "3", "title": "Item 3" }, + ], + showSearch: true + }); + + // tree + tree.render({ + elem: '#demo-tree', + data: [{ title: 'Item 1', id: 1, children: [{ title: 'Item 1-1', id: 2 }] }], + edit: ['add', 'update', 'del'] + }); + + // upload + upload.render({ + elem: '#demo-upload', + url: '', // 实际使用时改成您自己的上传接口即可。 + multiple: true, + accept: 'file', + number: 1 + }); + + // util + $('#demo-time-ago-picker').on('change', function(){ + $('#demo-time-ago-display').html( + util.timeAgo(this.value) + ); + }) + + $('#demo-toDateString').html( + util.toDateString('2023-01-01 11:35:25', 'yyyy-MM-dd HH:mm:ss A') + + '
    ' + + util.toDateString('2023-01-01 18:35:25', 'yyyy-MM-dd HH:mm:ss A') + ) + + // 演示:切换语言 + $("#change-locale").val(i18n.config.locale); + form.render('select').on("select(change-locale)", function (elem) { + // 记录语言,并重载页面(推荐) + localStorage.setItem('layui-i18n-local-test', elem.value); + window.location.reload(); + }); + + $("body").css("opacity", 1); + console.log(i18n.config) + }); + + diff --git a/docs/i18n/detail/options.md b/docs/i18n/detail/options.md index c6a23379..763a674a 100644 --- a/docs/i18n/detail/options.md +++ b/docs/i18n/detail/options.md @@ -104,7 +104,7 @@ i18n.set({ asc: '升序', desc: '降序' }, - noData: '无数据', + noData: '暂无数据', tools:{ filter: { title: '筛选列' @@ -124,14 +124,14 @@ i18n.set({ xhrError: '请求异常,错误提示:{msg}' }, transfer: { - noData: '无数据', + noData: '暂无数据', noMatch: '无匹配数据', title: ['列表一', '列表二'], searchPlaceholder: '关键词搜索' }, tree: { defaultNodeName: '未命名', - noData: '无数据', + noData: '暂无数据', deleteNodePrompt: '确认删除"{name}"节点吗?' }, upload: { @@ -144,7 +144,7 @@ i18n.set({ validateMessages: { fileExtensionError: '选择的{fileType}中包含不支持的格式', filesOverLengthLimit: '同时最多只能上传: {length} 个文件', - currentFilesLength: '您当前已经选择了: {length} 个文件', + currentFilesLength: '当前已经选择了: {length} 个文件', fileOverSizeLimit: '文件大小不能超过 {size}' }, chooseText: '{length} 个文件' @@ -158,6 +158,7 @@ i18n.set({ justNow: '刚刚' }, toDateString: { + // https://www.unicode.org/cldr/charts/47/supplemental/day_periods.html meridiem: function(hours, minutes){ var hm = hours * 100 + minutes; if (hm < 500) { diff --git a/docs/i18n/index.md b/docs/i18n/index.md index 31f3072e..1ee2fdb3 100644 --- a/docs/i18n/index.md +++ b/docs/i18n/index.md @@ -5,13 +5,15 @@ toc: true # 国际化 2.12+ -> `i18n` 是 2.12 版本新增的国际化模块,用于实现各组件消息文本的多语言支持。 +> `i18n` 是 2.12 版本新增的国际化模块,用于为 Layui 各组件实现多语言支持。 -

    示例

    +

    完整演示

    + +为了避免语言包冗长而影响示例源代码的查看,此处仅演示「简体中文 / English / 繁體中文」三种语言环境,您可以点击该示例头部的「切换语言」选择框查看不同语言环境中的 Layui 组件显示效果。
    -
    +
       
    @@ -22,8 +24,7 @@ toc: true
     | API | 描述 |
     | --- | --- |
     | var i18n = layui.i18n | 获得 `i18n` 模块。|
    -| [i18n.set(options)](#set) | 设置语言包及默认语言。|
    -| [i18n.$t(options)](#translation) | 从国际化消息中获取翻译后的内容。 |
    +| [i18n.set(options)](#set) | 设置语言环境及语言包。|
     
     

    配置方式

    @@ -52,15 +53,15 @@ layui.use(function() { 🔔 请注意:如果您的页面有用到 Layui 组件的自动渲染(如 table 模板配置渲染方式),因为执行顺序的问题,组件在自动渲染时可能无法读取到 `i18n.set()` 的配置信息,此时建议采用下述 `LAYUI_GLOBAL.i18n` 全局配置。 -#### 2. 通过 `LAYUI_GLOBAL.i18n` 全局配置 +#### 2. 通过 `LAYUI_GLOBAL.i18n` 全局配置(推荐) 由于 i18n 配置与组件渲染存在执行顺序问题,为了确保 i18n 配置始终在组件渲染之前生效,更推荐采用该全局配置方式。 ```html