fix: 更新英文语言包

This commit is contained in:
Anyon 2025-11-19 16:55:46 +08:00
parent 20ea82f77e
commit d00ad29f7b
9 changed files with 305 additions and 112 deletions

View File

@ -19,6 +19,7 @@ $extra['开发人员或在功能调试时使用,系统异常时会显示详细
$extra['项目正式部署上线后使用,系统异常时统一显示 “%s”只记录重要的异常日志信息强烈推荐上线后使用此模式。'] = 'After the project is officially deployed and launched, it will be used. When there are system exceptions, " %s " will be displayed uniformly, and only important exception log information will be recorded. It is strongly recommended to use this mode after launch.';
$extra['旧版本编辑器,对浏览器兼容较好,但内容编辑体验稍有不足。'] = 'The old version of the editor is compatible with browsers, but the content editing experience is slightly insufficient.';
$extra['新版本编辑器,只支持新特性浏览器,对内容编辑体验较好,推荐使用。'] = 'The new version of the editor only supports the new feature browser and has a good experience in content editing. It is recommended to use it.';
$extra['国产优质富文本编辑器对于小程序及App内容支持会更友好推荐使用。'] = 'A high-quality Chinese rich text editor that provides better support for mini-programs and App content. Recommended for use.';
$extra['优先使用新版本编辑器,若浏览器不支持新版本时自动降级为旧版本编辑器。'] = 'Priority should be given to using the new version of the editor. If the browser does not support the new version, it will automatically be downgraded to the old version of the editor.';
$extra['文件上传到本地服务器的 `static/upload` 目录,不支持大文件上传,占用服务器磁盘空间,访问时消耗服务器带宽流量。'] = 'Uploading files to the `static/upload` directory of the local server does not support uploading large files, occupying server disk space, and consuming server bandwidth traffic during access.';
$extra['文件上传到 Alist 存储的服务器或云存储空间,根据服务配置可支持大文件上传,不占用本身服务器空间及服务器带宽流量。'] = 'Files can be uploaded to the Alist storage server or Cloud storage space. According to the service configuration, large file upload can be supported without occupying the server space and server bandwidth traffic.';
@ -197,4 +198,196 @@ return array_merge($extra, [
'系统用户' => 'System User',
'密 码' => 'Password',
'系统用户管理' => 'Users',
// 通用操作
'回 收 站' => 'Recycle Bin',
'排序权重' => 'Sort Weight',
'使用状态' => 'Status',
'操作面板' => 'Actions',
'已激活' => 'Activated',
'已禁用' => 'Disabled',
'已启用' => 'Enabled',
'添 加' => 'Add',
'编 辑' => 'Edit',
'删 除' => 'Delete',
'全部' => 'All',
'搜 索' => 'Search',
'导 出' => 'Export',
'保存数据' => 'Save Data',
'取消编辑' => 'Cancel Edit',
'操作日志' => 'Operation Log',
'创建时间' => 'Create Time',
// 用户管理
'批量禁用' => 'Batch Disable',
'批量恢复' => 'Batch Restore',
'编辑用户' => 'Edit User',
'设置密码' => 'Set Password',
'角色身份' => 'Role Identity',
'全部菜单' => 'All Menus',
// 权限管理
'确定要批量删除权限吗?' => 'Are you sure you want to batch delete permissions?',
'确定要删除权限吗?' => 'Are you sure you want to delete the permission?',
'功能节点' => 'Function Node',
'访问权限名称需要保持不重复,在给用户授权时需要根据名称选择!' => 'Access permission names must be unique. When authorizing users, select based on the name!',
'已禁用记录' => 'Disabled Records',
'已激活记录' => 'Activated Records',
// 菜单管理
'确定要删除菜单吗?' => 'Are you sure you want to delete the menu?',
'添加系统菜单' => 'Add System Menu',
'编辑系统菜单' => 'Edit System Menu',
// 文件管理
'确定删除这些记录吗?' => 'Are you sure you want to delete these records?',
'播放视频' => 'Play Video',
'播放音频' => 'Play Audio',
'查看下载' => 'View/Download',
'编辑文件信息' => 'Edit File Info',
// 任务管理
'确定批量删除记录吗?' => 'Are you sure you want to batch delete records?',
'确定要重置该任务吗?' => 'Are you sure you want to reset this task?',
'确定要删除该记录吗?' => 'Are you sure you want to delete this record?',
'请选择计划时间' => 'Please select scheduled time',
'请输入名称或编号' => 'Please enter name or code',
'请输入任务指令' => 'Please enter task command',
// 确认提示
'确定要永久删除吗?' => 'Are you sure you want to permanently delete?',
'确定要取消编辑吗?' => 'Are you sure you want to cancel editing?',
'确定要取消修改吗?' => 'Are you sure you want to cancel the modification?',
'确定要禁用这些用户吗?' => 'Are you sure you want to disable these users?',
'确定要恢复这些账号吗?' => 'Are you sure you want to restore these accounts?',
'确定永久删除这些账号吗?' => 'Are you sure you want to permanently delete these accounts?',
// 系统提示
'新增类型' => 'New Type',
'只有超级管理员才能操作!' => 'Only super administrators can operate!',
'日志清理失败,%s' => 'Log cleanup failed, %s',
'已存在 %s 应用!' => 'Application %s already exists!',
// 演示环境提示
'演示环境禁止修改用户密码!' => 'Demo environment prohibits modifying user passwords!',
'演示环境禁止修改系统配置!' => 'Demo environment prohibits modifying system configuration!',
'演示环境禁止给菜单排序!' => 'Demo environment prohibits menu sorting!',
'演示环境禁止添加菜单!' => 'Demo environment prohibits adding menus!',
'演示环境禁止编辑菜单!' => 'Demo environment prohibits editing menus!',
'演示环境禁止禁用菜单!' => 'Demo environment prohibits disabling menus!',
'演示环境禁止删除菜单!' => 'Demo environment prohibits deleting menus!',
'演示环境禁止修改密码!' => 'Demo environment prohibits modifying passwords!',
// 表单字段
'用户账号' => 'User Account',
'用户权限' => 'User Permissions',
'用户资料' => 'User Profile',
'登录账号' => 'Login Account',
'用户名称' => 'User Name',
'角色身份' => 'Role Identity',
'访问权限' => 'Access Permissions',
'联系邮箱' => 'Contact Email',
'联系手机' => 'Contact Mobile',
'联系QQ' => 'Contact QQ',
'用户描述' => 'User Description',
'登录用户账号' => 'Login Username',
'旧的登录密码' => 'Old Password',
'新的登录密码' => 'New Password',
'重复登录密码' => 'Repeat Password',
'验证密码' => 'Verify Password',
'登录密码' => 'Login Password',
'重复密码' => 'Repeat Password',
// 表单提示
'登录账号不能少于4位字符创建后不能再次修改.' => 'Login account must be at least 4 characters and cannot be modified after creation.',
'用于区分用户数据的用户名称,请尽量不要重复.' => 'User name used to distinguish user data, please try not to duplicate.',
'超级用户拥所有访问权限,不需要配置权限。' => 'Super users have all access permissions and do not need to configure permissions.',
'可选,请填写用户常用的电子邮箱' => 'Optional, please fill in the user\'s commonly used email address',
'可选,请填写用户常用的联系手机号' => 'Optional, please fill in the user\'s commonly used mobile phone number',
'可选,请填写用户常用的联系QQ号' => 'Optional, please fill in the user\'s commonly used QQ number',
'请输入用户描述' => 'Please enter user description',
'登录用户账号创建后,不允许再次修改。' => 'Login username cannot be modified after creation.',
'请输入旧密码来验证修改权限,旧密码不限制格式。' => 'Please enter the old password to verify modification permission. The old password format is not restricted.',
'密码必须包含大小写字母、数字、符号的任意两者组合。' => 'Password must contain any combination of uppercase letters, lowercase letters, numbers, and symbols.',
'请重复输入登录密码' => 'Please repeat the login password',
// 系统配置表单
'登录表单标题' => 'Login Form Title',
'后台登录入口' => 'Backend Login Entry',
'后台默认配色' => 'Backend Default Theme',
'登录背景图片' => 'Login Background Image',
'JWT 接口密钥' => 'JWT API Key',
'浏览器小图标' => 'Browser Icon',
'后台程序名称' => 'Backend Program Name',
'后台程序版本' => 'Backend Program Version',
'公安安备号' => 'Public Security Registration Number',
'保存配置' => 'Save Configuration',
'取消修改' => 'Cancel Modification',
'登录标题' => 'Login Title',
'登录入口' => 'Login Entry',
'接口密钥' => 'API Key',
'图标文件' => 'Icon File',
'程序名称' => 'Program Name',
'版权信息' => 'Copyright Information',
// 菜单表单提示
'必选' => 'Required',
'可选' => 'Optional',
'请选择上级菜单或顶级菜单 ( 目前最多支持三级菜单 )' => 'Please select parent menu or top-level menu (currently supports up to 3 levels)',
'请填写菜单名称 ( 如:系统管理 ),建议字符不要太长,一般 4-6 个汉字' => 'Please fill in the menu name (e.g., System Management), it is recommended not to be too long, generally 4-6 Chinese characters',
'请填写链接地址或选择系统节点 ( 如https://domain.com/admin/user/index.html 或 admin/user/index )' => 'Please fill in the link address or select a system node (e.g., https://domain.com/admin/user/index.html or admin/user/index)',
'当填写链接地址时,以下面的 "权限节点" 来判断菜单自动隐藏或显示,注意未填写 "权限节点" 时将不会隐藏该菜单哦' => 'When filling in the link address, use the "Permission Node" below to determine whether the menu is automatically hidden or displayed. Note that if the "Permission Node" is not filled in, the menu will not be hidden',
'设置菜单链接的 GET 访问参数 ( 如name=1&age=3 )' => 'Set GET access parameters for menu links (e.g., name=1&age=3)',
'请填写系统权限节点 ( 如admin/user/index ),未填写时默认解释"菜单链接"判断是否拥有访问权限;' => 'Please fill in the system permission node (e.g., admin/user/index). If not filled in, the "Menu Link" will be used by default to determine access permissions',
'设置菜单选项前置图标,目前支持 layui 字体图标及 iconfont 定制字体图标。' => 'Set the prefix icon for menu options. Currently supports layui font icons and iconfont custom font icons.',
'请输入或选择图标' => 'Please enter or select an icon',
'请输入菜单名称' => 'Please enter menu name',
'请输入菜单链接' => 'Please enter menu link',
'请输入链接参数' => 'Please enter link parameters',
'请输入权限节点' => 'Please enter permission node',
'请输入登录账号' => 'Please enter login account',
'请输入用户名称' => 'Please enter user name',
'请输入联系电子邮箱' => 'Please enter contact email',
'请输入用户联系手机' => 'Please enter user contact mobile',
'请输入常用的联系QQ' => 'Please enter commonly used contact QQ',
'请输入旧的登录密码' => 'Please enter old login password',
'请输入新的登录密码' => 'Please enter new login password',
// 系统配置表单提示
'请输入登录页面的表单标题' => 'Please enter login form title',
'后台登录入口是由英文字母开头,且不能有相同名称的模块,设置之后原地址不能继续访问,请谨慎配置 ~' => 'Backend login entry must start with English letters and cannot have modules with the same name. After setting, the original address cannot be accessed. Please configure carefully.',
'请输入32位JWT接口密钥' => 'Please enter 32-bit JWT API key',
'请输入 32 位 JWT 接口密钥,在使用 JWT 接口时需要使用此密钥进行加密及签名!' => 'Please enter a 32-bit JWT API key. This key is required for encryption and signing when using JWT interfaces!',
'请上传浏览器图标' => 'Please upload browser icon',
'建议上传 128x128 或 256x256 的 JPG,PNG,JPEG 图片,保存后会自动生成 48x48 的 ICO 文件 ~' => 'It is recommended to upload JPG, PNG, or JPEG images of 128x128 or 256x256. After saving, a 48x48 ICO file will be automatically generated.',
'请输入网站名称' => 'Please enter site name',
'网站名称将显示在浏览器的标签上 ~' => 'Site name will be displayed on the browser tab.',
'请输入程序名称' => 'Please enter program name',
'管理程序名称显示在后台左上标题处 ~' => 'Management program name is displayed in the top left title of the backend.',
'请输入程序版本' => 'Please enter program version',
'管理程序版本显示在后台左上标题处 ~' => 'Management program version is displayed in the top left title of the backend.',
'请输入公安安备号' => 'Please enter public security registration number',
'请输入网站备案号' => 'Please enter website registration number',
'请输入版权信息' => 'Please enter copyright information',
'网站备案号和公安备案号可以在<a target="_blank" href="https://beian.miit.gov.cn">备案管理中心</a>查询并获取,网站上线时必需配置备案号,备案号会链接到信息备案管理系统 ~' => 'Website registration number and public security registration number can be queried and obtained at the <a target="_blank" href="https://beian.miit.gov.cn">Registration Management Center</a>. Registration numbers must be configured when the website goes online, and will be linked to the information registration management system.',
// 数据字典表单提示
'数据类型' => 'Data Type',
'请选择数据类型,数据创建后不能再次修改哦 ~' => 'Please select data type. Data type cannot be modified after creation.',
'请输入数据类型' => 'Please enter data type',
'请输入新的数据类型,数据创建后不能再次修改哦 ~' => 'Please enter new data type. Data type cannot be modified after creation.',
'数据编码' => 'Data Code',
'请输入新的数据编码,数据创建后不能再次修改,同种数据类型的数据编码不能出现重复 ~' => 'Please enter new data code. Data code cannot be modified after creation, and duplicate codes are not allowed for the same data type.',
'数据名称' => 'Data Name',
'请输入当前数据名称,请尽量保持名称的唯一性,数据名称尽量不要出现重复 ~' => 'Please enter data name. Try to keep the name unique and avoid duplicates.',
'数据内容' => 'Data Content',
'请输入数据内容' => 'Please enter data content',
// 数据字典列表
'添加数据' => 'Add Data',
'确定要批量删除数据吗?' => 'Are you sure you want to batch delete data?',
'数据状态' => 'Data Status',
'数据操作' => 'Actions',
'编辑数据' => 'Edit Data',
'确定要删除数据吗?' => 'Are you sure you want to delete data?',
]);

View File

@ -3,7 +3,7 @@
<div class="layui-card-body padding-left-40">
<div class="layui-form-item label-required-prev">
<div class="help-label"><b>数据类型</b>Data Type</div>
<div class="help-label"><b>{:lang('数据类型')}</b>Data Type</div>
{if isset($vo.type)}
<label><input readonly value="{$vo.type|default=''}" class="layui-input think-bg-gray"></label>
{else}
@ -27,32 +27,32 @@
});
</script>
{/if}
<p class="help-block">请选择数据类型,数据创建后不能再次修改哦 ~</p>
<p class="help-block">{:lang('请选择数据类型,数据创建后不能再次修改哦 ~')}</p>
<div id="DataTypeInput" class="layui-hide relative">
<input class="layui-input" maxlength="20" name="type" required vali-name="数据类型" placeholder="请输入数据类型" value="{$vo.type|default=''}">
<p class="help-block">请输入新的数据类型,数据创建后不能再次修改哦 ~</p>
<input class="layui-input" maxlength="20" name="type" required vali-name="{:lang('数据类型')}" placeholder="{:lang('请输入数据类型')}" value="{$vo.type|default=''}">
<p class="help-block">{:lang('请输入新的数据类型,数据创建后不能再次修改哦 ~')}</p>
</div>
</div>
<label class="layui-form-item relative block">
<span class="help-label"><b>数据编码</b>Data Code</span>
<span class="help-label"><b>{:lang('数据编码')}</b>Data Code</span>
{if isset($vo.code)}
<input readonly maxlength="100" class="layui-input think-bg-gray" name="code" value='{$vo.code|default=""}' required placeholder="请输入数据编码">
<input readonly maxlength="100" class="layui-input think-bg-gray" name="code" value='{$vo.code|default=""}' required placeholder="{:lang('请输入数据编码')}">
{else}
<input maxlength="100" class="layui-input" name="code" value='{$vo.code|default=""}' required vali-name="数据编码" placeholder="请输入数据编码">
<input maxlength="100" class="layui-input" name="code" value='{$vo.code|default=""}' required vali-name="{:lang('数据编码')}" placeholder="{:lang('请输入数据编码')}">
{/if}
<span class="help-block">请输入新的数据编码,数据创建后不能再次修改,同种数据类型的数据编码不能出现重复 ~</span>
<span class="help-block">{:lang('请输入新的数据编码,数据创建后不能再次修改,同种数据类型的数据编码不能出现重复 ~')}</span>
</label>
<label class="layui-form-item relative block">
<span class="help-label"><b>数据名称</b>Data Name</span>
<input maxlength="500" class="layui-input" name="name" value='{$vo.name|default=""}' required vali-name="数据名称" placeholder="请输入数据名称">
<span class="help-block">请输入当前数据名称,请尽量保持名称的唯一性,数据名称尽量不要出现重复 ~</span>
<span class="help-label"><b>{:lang('数据名称')}</b>Data Name</span>
<input maxlength="500" class="layui-input" name="name" value='{$vo.name|default=""}' required vali-name="{:lang('数据名称')}" placeholder="{:lang('请输入数据名称')}">
<span class="help-block">{:lang('请输入当前数据名称,请尽量保持名称的唯一性,数据名称尽量不要出现重复 ~')}</span>
</label>
<label class="layui-form-item relative block">
<span class="help-label"><b>数据内容</b>Data Content</span>
<textarea name="content" class="layui-textarea" placeholder="请输入数据内容">{$vo.content|default=''}</textarea>
<span class="help-label"><b>{:lang('数据内容')}</b>Data Content</span>
<textarea name="content" class="layui-textarea" placeholder="{:lang('请输入数据内容')}">{$vo.content|default=''}</textarea>
</label>
</div>
@ -61,8 +61,8 @@
{notempty name='vo.id'}<input type='hidden' value='{$vo.id}' name='id'>{/notempty}
<div class="layui-form-item text-center">
<button class="layui-btn" type='submit'>保存数据</button>
<button class="layui-btn layui-btn-danger" type='button' data-confirm="确定要取消编辑吗?" data-close>取消编辑</button>
<button class="layui-btn" type='submit'>{:lang('保存数据')}</button>
<button class="layui-btn layui-btn-danger" type='button' data-confirm="{:lang('确定要取消编辑吗?')}" data-close>{:lang('取消编辑')}</button>
</div>
</form>

View File

@ -2,11 +2,11 @@
{block name="button"}
<!--{if auth("add")}-->
<button data-table-id="BaseTable" data-modal='{:url("add")}?type={$type|default=""}' class='layui-btn layui-btn-sm layui-btn-primary'>添加数据</button>
<button data-table-id="BaseTable" data-modal='{:url("add")}?type={$type|default=""}' class='layui-btn layui-btn-sm layui-btn-primary'>{:lang('添加数据')}</button>
<!--{/if}-->
<!--{if auth("remove")}-->
<button data-table-id="BaseTable" data-action='{:url("remove")}' data-rule="id#{id}" data-confirm="确定要批量删除数据吗?" class='layui-btn layui-btn-sm layui-btn-primary'>批量删除</button>
<button data-table-id="BaseTable" data-action='{:url("remove")}' data-rule="id#{id}" data-confirm="{:lang('确定要批量删除数据吗?')}" class='layui-btn layui-btn-sm layui-btn-primary'>{:lang('批量删除')}</button>
<!--{/if}-->
{/block}
@ -38,11 +38,11 @@
{checkbox: true, fixed: true},
{field: 'sort', title: '{:lang("排序权重")}', width: 100, align: 'center', sort: true, templet: '#SortInputTpl'},
// {field: 'type', title: '数据类型', minWidth: 140, align: 'center'},
{field: 'code', title: '数据编码', width: '20%', align: 'left'},
{field: 'name', title: '数据名称', width: '30%', align: 'left'},
{field: 'status', title: '数据状态', minWidth: 110, align: 'center', templet: '#StatusSwitchTpl'},
{field: 'create_at', title: '创建时间', minWidth: 170, align: 'center', sort: true},
{toolbar: '#toolbar', align: 'center', minWidth: 150, title: '数据操作', fixed: 'right'},
{field: 'code', title: '{:lang("数据编码")}', width: '20%', align: 'left'},
{field: 'name', title: '{:lang("数据名称")}', width: '30%', align: 'left'},
{field: 'status', title: '{:lang("数据状态")}', minWidth: 110, align: 'center', templet: '#StatusSwitchTpl'},
{field: 'create_at', title: '{:lang("创建时间")}', minWidth: 170, align: 'center', sort: true},
{toolbar: '#toolbar', align: 'center', minWidth: 150, title: '{:lang("数据操作")}', fixed: 'right'},
]]
});
@ -67,20 +67,20 @@
<!-- 数据状态切换模板 -->
<script type="text/html" id="StatusSwitchTpl">
<!--{if auth("state")}-->
<input type="checkbox" value="{{d.id}}" lay-skin="switch" lay-text="已激活|已禁用" lay-filter="StatusSwitch" {{-d.status>0?'checked':''}}>
<input type="checkbox" value="{{d.id}}" lay-skin="switch" lay-text="{:lang('已激活')}|{:lang('已禁用')}" lay-filter="StatusSwitch" {{-d.status>0?'checked':''}}>
<!--{else}-->
{{-d.status ? '<b class="color-green">已启用</b>' : '<b class="color-red">已禁用</b>'}}
{{-d.status ? '<b class="color-green">{:lang("已启用")}</b>' : '<b class="color-red">{:lang("已禁用")}</b>'}}
<!--{/if}-->
</script>
<!-- 数据操作工具条模板 -->
<script type="text/html" id="toolbar">
<!--{if auth('edit')}-->
<a class="layui-btn layui-btn-primary layui-btn-sm" data-event-dbclick data-title="编辑数据" data-modal='{:url("edit")}?id={{d.id}}'> </a>
<a class="layui-btn layui-btn-primary layui-btn-sm" data-event-dbclick data-title="{:lang('编辑数据')}" data-modal='{:url("edit")}?id={{d.id}}'>{:lang('编 辑')}</a>
<!--{/if}-->
<!--{if auth("remove")}-->
<a class="layui-btn layui-btn-danger layui-btn-sm" data-confirm="确定要删除数据吗?" data-action="{:url('remove')}" data-value="id#{{d.id}}"> </a>
<a class="layui-btn layui-btn-danger layui-btn-sm" data-confirm="{:lang('确定要删除数据吗?')}" data-action="{:url('remove')}" data-value="id#{{d.id}}">{:lang('删 除')}</a>
<!--{/if}-->
</script>
{/block}

View File

@ -4,19 +4,19 @@
<div class="layui-row layui-col-space15 margin-bottom-5">
<div class="layui-col-xs4 padding-bottom-0">
<label class="relative block">
<span class="help-label"><b>登录表单标题</b>Login Name</span>
<input name="login_name" required placeholder="请输入登录页面的表单标题" vali-name="登录标题" value="{:sysconf('login_name')?:'系统管理'}" class="layui-input">
<span class="help-label"><b>{:lang('登录表单标题')}</b>Login Name</span>
<input name="login_name" required placeholder="{:lang('请输入登录页面的表单标题')}" vali-name="{:lang('登录标题')}" value="{:sysconf('login_name')?:'系统管理'}" class="layui-input">
</label>
</div>
<div class="layui-col-xs4 padding-bottom-0">
<div class="help-label label-required-prev"><b>后台登录入口</b>Login Entry</div>
<div class="help-label label-required-prev"><b>{:lang('后台登录入口')}</b>Login Entry</div>
<label class="layui-input relative block nowrap label-required-null">
<span>{:sysuri('@',[],false,true)}</span>
<input autofocus required pattern="[a-zA-Z_][a-zA-Z0-9_]*" vali-name="登录入口" placeholder="请输入后台登录入口" class="layui-input inline-block padding-0 border-0" style="width:100px;background:none" value="{:substr(sysuri('admin/index/index',[],false), strlen(sysuri('@')))}" name="xpath">
<input autofocus required pattern="[a-zA-Z_][a-zA-Z0-9_]*" vali-name="{:lang('登录入口')}" placeholder="{:lang('请输入后台登录入口')}" class="layui-input inline-block padding-0 border-0" style="width:100px;background:none" value="{:substr(sysuri('admin/index/index',[],false), strlen(sysuri('@')))}" name="xpath">
</label>
</div>
<div class="layui-col-xs4 padding-bottom-0">
<div class="help-label label-required-prev"><b>后台默认配色</b>Theme Style</div>
<div class="help-label label-required-prev"><b>{:lang('后台默认配色')}</b>Theme Style</div>
<select class="layui-select" name="site_theme" lay-filter="SiteTheme">
{foreach $themes as $k=>$v}{if sysconf('base.site_theme') eq $k}
<option selected value="{$k}">{$v}</option>
@ -26,89 +26,89 @@
</select>
</div>
<div class="layui-col-xs12 padding-top-0 padding-bottom-0">
<span class="help-block">后台登录入口是由英文字母开头,且不能有相同名称的模块,设置之后原地址不能继续访问,请谨慎配置 ~</span>
<span class="help-block">{:lang('后台登录入口是由英文字母开头,且不能有相同名称的模块,设置之后原地址不能继续访问,请谨慎配置 ~')}</span>
</div>
</div>
<div class="layui-form-item margin-bottom-5">
<div class="help-label"><b>登录背景图片</b>Background Image</div>
<div class="help-label"><b>{:lang('登录背景图片')}</b>Background Image</div>
<div class="layui-textarea help-images">
<input type="hidden" value="{:sysconf('login_image')}" name="login_image">
</div>
</div>
<div class="layui-form-item margin-bottom-5">
<div class="help-label label-required-prev"><b>JWT 接口密钥</b>Jwt Key</div>
<div class="help-label label-required-prev"><b>{:lang('JWT 接口密钥')}</b>Jwt Key</div>
<label class="relative block label-required-null">
<input class="layui-input" pattern=".{32}" maxlength="32" required vali-name="接口密钥" placeholder="请输入32位JWT接口密钥" name="data.jwtkey" value="{:sysconf('data.jwtkey')?:md5(uniqid(strval(rand(1000,9999)),true))}">
<input class="layui-input" pattern=".{32}" maxlength="32" required vali-name="{:lang('接口密钥')}" placeholder="{:lang('请输入32位JWT接口密钥')}" name="data.jwtkey" value="{:sysconf('data.jwtkey')?:md5(uniqid(strval(rand(1000,9999)),true))}">
<a class="input-right-icon layui-icon layui-icon-refresh" id="RefreshJwtKey"></a>
</label>
<div class="help-block sub-span-blue">
请输入 <span>32</span> <span>JWT</span> 接口密钥,在使用 <span>JWT</span> 接口时需要使用此密钥进行加密及签名!
{:lang('请输入 32 位 JWT 接口密钥,在使用 JWT 接口时需要使用此密钥进行加密及签名!')}
</div>
</div>
<div class="layui-form-item margin-bottom-5">
<div class="help-label label-required-prev"><b>浏览器小图标</b>Browser Icon</div>
<div class="help-label label-required-prev"><b>{:lang('浏览器小图标')}</b>Browser Icon</div>
<div class="relative block label-required-null">
<input class="layui-input" required pattern="url" vali-name="图标文件" data-tips-image data-tips-hover placeholder="请上传浏览器图标" value="{:sysconf('site_icon')}" name="site_icon">
<input class="layui-input" required pattern="url" vali-name="{:lang('图标文件')}" data-tips-image data-tips-hover placeholder="{:lang('请上传浏览器图标')}" value="{:sysconf('site_icon')}" name="site_icon">
<a class="input-right-icon layui-icon layui-icon-upload-drag" data-file="btn" data-type="png,jpg,jpeg" data-field="site_icon"></a>
</div>
<div class="help-block sub-span-blue">
建议上传 <span>128x128</span> <span>256x256</span> <span>JPG</span>,<span>PNG</span>,<span>JPEG</span> 图片,保存后会自动生成 <span>48x48</span> <span>ICO</span> 文件 ~
{:lang('建议上传 128x128 或 256x256 的 JPG,PNG,JPEG 图片,保存后会自动生成 48x48 的 ICO 文件 ~')}
</div>
</div>
<div class="layui-row layui-col-space15 margin-bottom-5">
<div class="layui-col-xs4 padding-bottom-0">
<label class="layui-form-item margin-bottom-5 relative block">
<span class="help-label"><b>网站名称</b>Site Name</span>
<input name="site_name" required placeholder="请输入网站名称" vali-name="网站名称" value="{:sysconf('site_name')}" class="layui-input">
<span class="help-block">网站名称将显示在浏览器的标签上 ~</span>
<span class="help-label"><b>{:lang('网站名称')}</b>Site Name</span>
<input name="site_name" required placeholder="{:lang('请输入网站名称')}" vali-name="{:lang('网站名称')}" value="{:sysconf('site_name')}" class="layui-input">
<span class="help-block">{:lang('网站名称将显示在浏览器的标签上 ~')}</span>
</label>
</div>
<div class="layui-col-xs4 padding-bottom-0">
<label class="layui-form-item margin-bottom-5 relative block">
<span class="help-label"><b>后台程序名称</b>App Name</span>
<input name="app_name" required placeholder="请输入程序名称" vali-name="程序名称" value="{:sysconf('app_name')}" class="layui-input">
<span class="help-block">管理程序名称显示在后台左上标题处 ~</span>
<span class="help-label"><b>{:lang('后台程序名称')}</b>App Name</span>
<input name="app_name" required placeholder="{:lang('请输入程序名称')}" vali-name="{:lang('程序名称')}" value="{:sysconf('app_name')}" class="layui-input">
<span class="help-block">{:lang('管理程序名称显示在后台左上标题处 ~')}</span>
</label>
</div>
<div class="layui-col-xs4 padding-bottom-0">
<label class="layui-form-item margin-bottom-5 relative block">
<span class="help-label"><b>后台程序版本</b>App Version</span>
<input name="app_version" placeholder="请输入程序版本" value="{:sysconf('app_version')}" class="layui-input">
<span class="help-block">管理程序版本显示在后台左上标题处 ~</span>
<span class="help-label"><b>{:lang('后台程序版本')}</b>App Version</span>
<input name="app_version" placeholder="{:lang('请输入程序版本')}" value="{:sysconf('app_version')}" class="layui-input">
<span class="help-block">{:lang('管理程序版本显示在后台左上标题处 ~')}</span>
</label>
</div>
<div class="layui-col-xs4 padding-top-0 padding-bottom-0">
<label class="relative block">
<span class="help-label"><b>公安安备号</b>Beian</span>
<input name="beian" placeholder="请输入公安安备号" value="{:sysconf('beian')}" class="layui-input">
<span class="help-label"><b>{:lang('公安安备号')}</b>Beian</span>
<input name="beian" placeholder="{:lang('请输入公安安备号')}" value="{:sysconf('beian')}" class="layui-input">
</label>
</div>
<div class="layui-col-xs4 padding-top-0 padding-bottom-0">
<label class="relative block">
<span class="help-label"><b>网站备案号</b>Miitbeian</span>
<input name="miitbeian" placeholder="请输入网站备案号" value="{:sysconf('miitbeian')}" class="layui-input">
<span class="help-label"><b>{:lang('网站备案号')}</b>Miitbeian</span>
<input name="miitbeian" placeholder="{:lang('请输入网站备案号')}" value="{:sysconf('miitbeian')}" class="layui-input">
</label>
</div>
<div class="layui-col-xs4 padding-top-0 padding-bottom-0">
<label class="relative block">
<span class="help-label"><b>网站版权信息</b>Copyright</span>
<input name="site_copy" required placeholder="请输入版权信息" vali-name="版权信息" value="{:sysconf('site_copy')}" class="layui-input">
<span class="help-label"><b>{:lang('网站版权信息')}</b>Copyright</span>
<input name="site_copy" required placeholder="{:lang('请输入版权信息')}" vali-name="{:lang('版权信息')}" value="{:sysconf('site_copy')}" class="layui-input">
</label>
</div>
<div class="layui-col-xs12 help-block padding-top-0">
网站备案号和公安备案号可以在<a target="_blank" href="https://beian.miit.gov.cn">备案管理中心</a>查询并获取,网站上线时必需配置备案号,备案号会链接到信息备案管理系统 ~
{:lang('网站备案号和公安备案号可以在<a target="_blank" href="https://beian.miit.gov.cn">备案管理中心</a>查询并获取,网站上线时必需配置备案号,备案号会链接到信息备案管理系统 ~')}
</div>
</div>
</div>
<div class="hr-line-dashed"></div>
<div class="layui-form-item text-center">
<button class="layui-btn" type="submit">保存配置</button>
<button class="layui-btn layui-btn-danger" type='button' data-confirm="确定要取消修改吗?" data-close>取消修改</button>
<button class="layui-btn" type="submit">{:lang('保存配置')}</button>
<button class="layui-btn layui-btn-danger" type='button' data-confirm="{:lang('确定要取消修改吗?')}" data-close>{:lang('取消修改')}</button>
</div>
</form>

View File

@ -12,25 +12,25 @@
<option value='{$menu.id}'>{$menu.spl|raw}{$menu.title}</option>
{/eq}{/foreach}
</select>
<p class="help-block"><b>必选</b>请选择上级菜单或顶级菜单 ( 目前最多支持三级菜单 )</p>
<p class="help-block"><b>{:lang('必选')}</b>{:lang('请选择上级菜单或顶级菜单 ( 目前最多支持三级菜单 )')}</p>
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">{:lang('菜单名称')}</label>
<div class="layui-input-block">
<input name="title" value='{$vo.title|default=""}' required vali-name="菜单名称" placeholder="请输入菜单名称" class="layui-input">
<p class="help-block"><b>必选</b>请填写菜单名称 ( 如:系统管理 ),建议字符不要太长,一般 4-6 个汉字</p>
<input name="title" value='{$vo.title|default=""}' required vali-name="{:lang('菜单名称')}" placeholder="{:lang('请输入菜单名称')}" class="layui-input">
<p class="help-block"><b>{:lang('必选')}</b>{:lang('请填写菜单名称 ( 如:系统管理 ),建议字符不要太长,一般 4-6 个汉字')}</p>
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">{:lang('菜单链接')}</label>
<div class="layui-input-block">
<input onblur="this.value=this.value === ''?'#':this.value" name="url" required vali-name="菜单链接" placeholder="请输入菜单链接" value="{$vo.url|default='#'}" class="layui-input">
<input onblur="this.value=this.value === ''?'#':this.value" name="url" required vali-name="{:lang('菜单链接')}" placeholder="{:lang('请输入菜单链接')}" value="{$vo.url|default='#'}" class="layui-input">
<p class="help-block">
<b>必选</b>请填写链接地址或选择系统节点 ( https://domain.com/admin/user/index.html admin/user/index )
<br>当填写链接地址时,以下面的 “权限节点” 来判断菜单自动隐藏或显示,注意未填写 “权限节点” 时将不会隐藏该菜单哦
<b>{:lang('必选')}</b>{:lang('请填写链接地址或选择系统节点 ( 如https://domain.com/admin/user/index.html 或 admin/user/index )')}
<br>{:lang('当填写链接地址时,以下面的 "权限节点" 来判断菜单自动隐藏或显示,注意未填写 "权限节点" 时将不会隐藏该菜单哦')}
</p>
</div>
</div>
@ -38,16 +38,16 @@
<div class="layui-form-item">
<label class="layui-form-label">{:lang('链接参数')}</label>
<div class="layui-input-block">
<input name="params" placeholder="请输入链接参数" value="{$vo.params|default=''}" class="layui-input">
<p class="help-block"><b>可选</b>设置菜单链接的 GET 访问参数 ( name=1&age=3 )</p>
<input name="params" placeholder="{:lang('请输入链接参数')}" value="{$vo.params|default=''}" class="layui-input">
<p class="help-block"><b>{:lang('可选')}</b>{:lang('设置菜单链接的 GET 访问参数 ( 如name=1&age=3 )')}</p>
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">{:lang('权限节点')}</label>
<div class="layui-input-block">
<input name="node" placeholder="请输入权限节点" value="{$vo.node|default=''}" class="layui-input">
<p class="help-block"><b>可选</b>请填写系统权限节点 ( admin/user/index ),未填写时默认解释"菜单链接"判断是否拥有访问权限;</p>
<input name="node" placeholder="{:lang('请输入权限节点')}" value="{$vo.node|default=''}" class="layui-input">
<p class="help-block"><b>{:lang('可选')}</b>{:lang('请填写系统权限节点 ( 如admin/user/index ),未填写时默认解释"菜单链接"判断是否拥有访问权限;')}</p>
</div>
</div>
@ -55,13 +55,13 @@
<label class="layui-form-label">{:lang('菜单图标')}</label>
<div class="layui-input-block">
<div class="layui-input-inline">
<input placeholder="请输入或选择图标" name="icon" value='{$vo.icon|default=""}' class="layui-input">
<input placeholder="{:lang('请输入或选择图标')}" name="icon" value='{$vo.icon|default=""}' class="layui-input">
</div>
<span style="padding:0 12px;min-width:45px" class='layui-btn layui-btn-primary'>
<i style="font-size:1.2em;margin:0;float:none" class='{$vo.icon|default=""}'></i>
</span>
<button data-icon='icon' type='button' class='layui-btn layui-btn-primary'>{:lang('选择图标')}</button>
<p class="help-block"><b>可选</b>设置菜单选项前置图标,目前支持 layui 字体图标及 iconfont 定制字体图标。</p>
<p class="help-block"><b>{:lang('可选')}</b>{:lang('设置菜单选项前置图标,目前支持 layui 字体图标及 iconfont 定制字体图标。')}</p>
</div>
</div>

View File

@ -108,9 +108,9 @@
<!-- {else} -->
{if auth('remove')}
{{# if( (d.spc<1 || d.status<1)){ }}
<a class="layui-btn layui-btn-sm layui-btn-danger" data-confirm="确定要删除菜单吗?" data-action="{:url('remove')}" data-value="id#{{d.sps}}"> </a>
<a class="layui-btn layui-btn-sm layui-btn-danger" data-confirm="{:lang('确定要删除菜单吗?')}" data-action="{:url('remove')}" data-value="id#{{d.sps}}">{:lang('删 除')}</a>
{{# }else{ }}
<a class="layui-btn layui-btn-disabled layui-btn-sm"> </a>
<a class="layui-btn layui-btn-disabled layui-btn-sm">{:lang('删 除')}</a>
{{# } }}
{/if}
<!-- {/if} -->

View File

@ -2,7 +2,7 @@
<div class="layui-card-body padding-left-40">
<fieldset class="layui-bg-gray">
<legend><b class="layui-badge think-bg-violet">用户账号</b></legend>
<legend><b class="layui-badge think-bg-violet">{:lang('用户账号')}</b></legend>
<div class="layui-row layui-col-space15">
<div class="layui-col-xs2 text-center padding-top-15">
@ -11,20 +11,20 @@
</div>
<div class="layui-col-xs5">
<label class="block relative">
<span class="help-label"><b>登录账号</b>User Name</span>
<span class="help-label"><b>{:lang('登录账号')}</b>User Name</span>
{if isset($vo) and isset($vo.username)}
<input name="username" value='{$vo.username|default=""}' required readonly class="layui-input think-bg-gray">
{else}
<input name="username" value='{$vo.username|default=""}' required pattern="^.{4,}$" vali-name="登录账号" placeholder="请输入登录账号" class="layui-input">
<input name="username" value='{$vo.username|default=""}' required pattern="^.{4,}$" vali-name="{:lang('登录账号')}" placeholder="{:lang('请输入登录账号')}" class="layui-input">
{/if}
<span class="help-block">登录账号不能少于4位字符创建后不能再次修改.</span>
<span class="help-block">{:lang('登录账号不能少于4位字符创建后不能再次修改.')}</span>
</label>
</div>
<div class="layui-col-xs5">
<label class="block relative">
<span class="help-label"><b>用户名称</b>Nick Name</span>
<input name="nickname" value='{$vo.nickname|default=""}' required vali-name="用户名称" placeholder="请输入用户名称" class="layui-input">
<span class="help-block">用于区分用户数据的用户名称,请尽量不要重复.</span>
<span class="help-label"><b>{:lang('用户名称')}</b>Nick Name</span>
<input name="nickname" value='{$vo.nickname|default=""}' required vali-name="{:lang('用户名称')}" placeholder="{:lang('请输入用户名称')}" class="layui-input">
<span class="help-block">{:lang('用于区分用户数据的用户名称,请尽量不要重复.')}</span>
</label>
</div>
</div>
@ -33,10 +33,10 @@
{if !empty($bases) || !empty($auths)}
<fieldset class="layui-bg-gray">
<legend><b class="layui-badge think-bg-violet">用户权限</b></legend>
<legend><b class="layui-badge think-bg-violet">{:lang('用户权限')}</b></legend>
{if !empty($bases)}
<div class="layui-form-item">
<div class="help-label"><b>角色身份</b>Role Identity</div>
<div class="help-label"><b>{:lang('角色身份')}</b>Role Identity</div>
<div class="layui-textarea help-checks">
{foreach $bases as $base}
<label class="think-checkbox">
@ -52,10 +52,10 @@
{/if}
{if !empty($auths)}
<div class="layui-form-item">
<div class="help-label"><b>访问权限</b>Role Permission</div>
<div class="help-label"><b>{:lang('访问权限')}</b>Role Permission</div>
<div class="layui-textarea help-checks">
{if isset($vo.username) and $vo.username eq $super}
<span class="color-desc padding-left-5">超级用户拥所有访问权限,不需要配置权限。</span>
<span class="color-desc padding-left-5">{:lang('超级用户拥所有访问权限,不需要配置权限。')}</span>
{else}{foreach $auths as $authorize}
<label class="think-checkbox">
{if in_array($authorize.id, $vo.authorize)}
@ -72,33 +72,33 @@
{/if}
<fieldset class="layui-bg-gray">
<legend><b class="layui-badge think-bg-violet">用户资料</b></legend>
<legend><b class="layui-badge think-bg-violet">{:lang('用户资料')}</b></legend>
<div class="layui-row layui-col-space15">
<div class="layui-col-xs4">
<label class="relative block">
<span class="help-label"><b>联系邮箱</b>Contact Email</span>
<input name="contact_mail" value='{$vo.contact_mail|default=""}' pattern="email" vali-name="联系邮箱" placeholder="请输入联系电子邮箱" class="layui-input">
<span class="color-desc">可选,请填写用户常用的电子邮箱</span>
<span class="help-label"><b>{:lang('联系邮箱')}</b>Contact Email</span>
<input name="contact_mail" value='{$vo.contact_mail|default=""}' pattern="email" vali-name="{:lang('联系邮箱')}" placeholder="{:lang('请输入联系电子邮箱')}" class="layui-input">
<span class="color-desc">{:lang('可选,请填写用户常用的电子邮箱')}</span>
</label>
</div>
<div class="layui-col-xs4">
<label class="relative block">
<span class="help-label"><b>联系手机</b>Contact Mobile</span>
<input type="tel" maxlength="11" name="contact_phone" value='{$vo.contact_phone|default=""}' pattern="phone" vali-name="联系手机" placeholder="请输入用户联系手机" class="layui-input">
<span class="color-desc">可选,请填写用户常用的联系手机号</span>
<span class="help-label"><b>{:lang('联系手机')}</b>Contact Mobile</span>
<input type="tel" maxlength="11" name="contact_phone" value='{$vo.contact_phone|default=""}' pattern="phone" vali-name="{:lang('联系手机')}" placeholder="{:lang('请输入用户联系手机')}" class="layui-input">
<span class="color-desc">{:lang('可选,请填写用户常用的联系手机号')}</span>
</label>
</div>
<div class="layui-col-xs4">
<label class="relative block">
<span class="help-label"><b>联系QQ</b>Contact QQ</span>
<input name="contact_qq" maxlength="11" value='{$vo.contact_qq|default=""}' pattern="qq" vali-name="联系QQ" placeholder="请输入常用的联系QQ" class="layui-input">
<span class="color-desc">可选,请填写用户常用的联系QQ号</span>
<span class="help-label"><b>{:lang('联系QQ')}</b>Contact QQ</span>
<input name="contact_qq" maxlength="11" value='{$vo.contact_qq|default=""}' pattern="qq" vali-name="{:lang('联系QQ')}" placeholder="{:lang('请输入常用的联系QQ')}" class="layui-input">
<span class="color-desc">{:lang('可选,请填写用户常用的联系QQ号')}</span>
</label>
</div>
</div>
<label class="layui-form-item block relative margin-top-10">
<span class="help-label"><b>用户描述</b>User Remark</span>
<textarea placeholder="请输入用户描述" class="layui-textarea" name="describe">{$vo.describe|default=""}</textarea>
<span class="help-label"><b>{:lang('用户描述')}</b>User Remark</span>
<textarea placeholder="{:lang('请输入用户描述')}" class="layui-textarea" name="describe">{$vo.describe|default=""}</textarea>
</label>
</fieldset>
@ -108,7 +108,7 @@
{notempty name='vo.id'}<input type='hidden' value='{$vo.id}' name='id'>{/notempty}
<div class="layui-form-item text-center">
<button class="layui-btn" type='submit'>保存数据</button>
<button class="layui-btn layui-btn-danger" type='button' data-confirm="确定要取消编辑吗?" data-close>取消编辑</button>
<button class="layui-btn" type='submit'>{:lang('保存数据')}</button>
<button class="layui-btn layui-btn-danger" type='button' data-confirm="{:lang('确定要取消编辑吗?')}" data-close>{:lang('取消编辑')}</button>
</div>
</form>

View File

@ -6,14 +6,14 @@
<button data-modal='{:url("add")}' data-title="{:lang('添加用户')}" class='layui-btn layui-btn-sm layui-btn-primary'>{:lang('添加用户')}</button>
<!--{/if}-->
<!--{if auth("state")}-->
<a data-confirm="确定要禁用这些用户吗?" data-table-id="UserTable" data-action="{:url('state')}" data-rule="id#{id};status#0" class='layui-btn layui-btn-sm layui-btn-primary'>{:lang('批量禁用')}</a>
<a data-confirm="{:lang('确定要禁用这些用户吗?')}" data-table-id="UserTable" data-action="{:url('state')}" data-rule="id#{id};status#0" class='layui-btn layui-btn-sm layui-btn-primary'>{:lang('批量禁用')}</a>
<!--{/if}-->
{else}
<!--{if auth("state")}-->
<a data-confirm="确定要恢复这些账号吗?" data-table-id="UserTable" data-action="{:url('state')}" data-rule="id#{id};status#1" class='layui-btn layui-btn-sm layui-btn-primary'>{:lang('批量恢复')}</a>
<a data-confirm="{:lang('确定要恢复这些账号吗?')}" data-table-id="UserTable" data-action="{:url('state')}" data-rule="id#{id};status#1" class='layui-btn layui-btn-sm layui-btn-primary'>{:lang('批量恢复')}</a>
<!--{/if}-->
<!--{if auth("remove")}-->
<a data-confirm="确定永久删除这些账号吗?" data-table-id="UserTable" data-action='{:url("remove")}' data-rule="id#{id}" class='layui-btn layui-btn-sm layui-btn-primary'>{:lang('批量删除')}</a>
<a data-confirm="{:lang('确定永久删除这些账号吗?')}" data-table-id="UserTable" data-action='{:url("remove")}' data-rule="id#{id}" class='layui-btn layui-btn-sm layui-btn-primary'>{:lang('批量删除')}</a>
<!--{/if}-->
{/if}
{/block}

View File

@ -3,29 +3,29 @@
<label class="layui-form-item relative block">
<span class="help-label"><b>登录用户账号</b>Username</span>
<span class="help-label"><b>{:lang('登录用户账号')}</b>Username</span>
<input disabled value='{$vo.username|default=""}' class="layui-input think-bg-gray">
<span class="help-block">登录用户账号创建后,不允许再次修改。</span>
<span class="help-block">{:lang('登录用户账号创建后,不允许再次修改。')}</span>
</label>
<!--{if $verify}-->
<label class="layui-form-item relative block">
<span class="help-label"><b>旧的登录密码</b>Old Password</span>
<input type="password" autofocus name="oldpassword" value='' pattern="^\S{1,}$" required vali-name="验证密码" placeholder="请输入旧的登录密码" class="layui-input">
<span class="color-desc">请输入旧密码来验证修改权限,旧密码不限制格式。</span>
<span class="help-label"><b>{:lang('旧的登录密码')}</b>Old Password</span>
<input type="password" autofocus name="oldpassword" value='' pattern="^\S{1,}$" required vali-name="{:lang('验证密码')}" placeholder="{:lang('请输入旧的登录密码')}" class="layui-input">
<span class="color-desc">{:lang('请输入旧密码来验证修改权限,旧密码不限制格式。')}</span>
</label>
<!--{/if}-->
<label class="layui-form-item relative block">
<span class="help-label"><b>新的登录密码</b>New Password</span>
<input type="password" name="password" maxlength="32" pattern="^(?![\d]+$)(?![a-zA-Z]+$)(?![^\da-zA-Z]+$).{6,32}$" required vali-name="登录密码" placeholder="请输入新的登录密码" class="layui-input">
<span class="color-desc">密码必须包含大小写字母、数字、符号的任意两者组合。</span>
<span class="help-label"><b>{:lang('新的登录密码')}</b>New Password</span>
<input type="password" name="password" maxlength="32" pattern="^(?![\d]+$)(?![a-zA-Z]+$)(?![^\da-zA-Z]+$).{6,32}$" required vali-name="{:lang('登录密码')}" placeholder="{:lang('请输入新的登录密码')}" class="layui-input">
<span class="color-desc">{:lang('密码必须包含大小写字母、数字、符号的任意两者组合。')}</span>
</label>
<label class="layui-form-item relative block">
<span class="help-label"><b>重复登录密码</b>Repeat Password</span>
<input type="password" name="repassword" maxlength="32" pattern="^(?![\d]+$)(?![a-zA-Z]+$)(?![^\da-zA-Z]+$).{6,32}$" required vali-name="重复密码" placeholder="请重复输入登录密码" class="layui-input">
<span class="color-desc">密码必须包含大小写字母、数字、符号的任意两者组合。</span>
<span class="help-label"><b>{:lang('重复登录密码')}</b>Repeat Password</span>
<input type="password" name="repassword" maxlength="32" pattern="^(?![\d]+$)(?![a-zA-Z]+$)(?![^\da-zA-Z]+$).{6,32}$" required vali-name="{:lang('重复密码')}" placeholder="{:lang('请重复输入登录密码')}" class="layui-input">
<span class="color-desc">{:lang('密码必须包含大小写字母、数字、符号的任意两者组合。')}</span>
</label>
</div>
@ -34,7 +34,7 @@
{notempty name='vo.id'}<input type='hidden' value='{$vo.id}' name='id'>{/notempty}
<div class="layui-form-item text-center">
<button class="layui-btn" type='submit'>保存数据</button>
<button class="layui-btn layui-btn-danger" type='button' data-confirm="确定要取消编辑吗?" data-close>取消编辑</button>
<button class="layui-btn" type='submit'>{:lang('保存数据')}</button>
<button class="layui-btn layui-btn-danger" type='button' data-confirm="{:lang('确定要取消编辑吗?')}" data-close>{:lang('取消编辑')}</button>
</div>
</form>