From fe41974ed6d7bb5aa85097b675cef8bc2ef94b84 Mon Sep 17 00:00:00 2001 From: nsnail Date: Wed, 13 Dec 2023 12:01:45 +0800 Subject: [PATCH] =?UTF-8?q?chore:=20=F0=9F=94=A8=20=E8=B5=84=E6=BA=90?= =?UTF-8?q?=E6=96=87=E4=BB=B6=E6=8B=86=E5=88=86=20(#73)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitignore | 3 +- NetAdmin.sln | 1 + assets/res/Enums.ln | 86 ++++++ assets/res/Ln.resx | 255 ------------------ assets/res/Nations.ln | 56 ++++ assets/res/{Ln.txt => Statements.ln} | 150 +---------- build/prebuild.targets | 10 +- scripts/clean.ln.csx | 26 ++ scripts/gen.resx.tt | 6 +- .../DataValidation/MobileAttribute.cs | 2 +- .../HttpRequestMessageExtensions.cs | 2 +- .../Subscribers/ApiSynchronizer.cs | 2 +- .../Subscribers/EmailCodeSender.cs | 2 +- .../Subscribers/SmsCodeSender.cs | 2 +- 14 files changed, 190 insertions(+), 413 deletions(-) create mode 100644 assets/res/Enums.ln delete mode 100644 assets/res/Ln.resx create mode 100644 assets/res/Nations.ln rename assets/res/{Ln.txt => Statements.ln} (54%) create mode 100644 scripts/clean.ln.csx diff --git a/.gitignore b/.gitignore index 83f8abf8..af8e87d8 100644 --- a/.gitignore +++ b/.gitignore @@ -402,4 +402,5 @@ FodyWeavers.xsd dist/ *.[Dd]esigner.cs *.db -cache \ No newline at end of file +cache +/assets/res/Ln.resx diff --git a/NetAdmin.sln b/NetAdmin.sln index 0da79da4..ba2149e6 100644 --- a/NetAdmin.sln +++ b/NetAdmin.sln @@ -28,6 +28,7 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "meta", "meta", "{5198A03D-0 EndProject Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "scripts", "scripts", "{BB0B25C9-0901-4923-913F-00F9A6B352A5}" ProjectSection(SolutionItems) = preProject + clean.ln.csx = scripts/clean.ln.csx code.clean.csx = scripts/code.clean.csx code.clean.ps1 = scripts/code.clean.ps1 gen.cs.tt = scripts/gen.cs.tt diff --git a/assets/res/Enums.ln b/assets/res/Enums.ln new file mode 100644 index 00000000..e60b78e5 --- /dev/null +++ b/assets/res/Enums.ln @@ -0,0 +1,86 @@ +不为其中之一 +不以什么开始 +不以什么结束 +不包含 +不等于 +业务模块 +丧偶 +中专 +中共党员 +为其中之一 +以什么开始 +以什么结束 +保密 +信息 +倒序排序 +全部数据 +公告 +共青团员 +出生证 +初中 +删除 +包含 +博士 +博士后 +发送失败 +同步数据库结构 +外国人居留证 +大专 +大于 +大于等于 +女 +宕机 +小于 +小于等于 +小学 +已发送 +已婚 +已校验 +已读 +并且 +意外错误 +成功 +或者 +手机 +护照 +指定部门数据 +按钮 +插入种子数据 +无效操作 +无效输入 +日期范围 +未婚 +未读 +本人数据 +本科 +本部门和下级部门数据 +本部门数据 +框架 +比较数据库结构 +注册 +港澳台通行证 +电子邮箱 +男 +登录 +硕士 +离异 +私信 +等于 +等待发送 +系统模块 +绑定手机号 +结果非预期 +群众 +自定义 +范围 +菜单 +解绑手机号 +警告 +调试 +跟踪 +身份证 +重设密码 +链接 +错误 +顺序排序 +高中 \ No newline at end of file diff --git a/assets/res/Ln.resx b/assets/res/Ln.resx deleted file mode 100644 index 8c976a44..00000000 --- a/assets/res/Ln.resx +++ /dev/null @@ -1,255 +0,0 @@ - - - - - - - - text/microsoft-resx - - - 1.3 - - - System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, - PublicKeyToken=b77a5c561934e089 - - - - System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, - PublicKeyToken=b77a5c561934e089 - - - // ReSharper disable DuplicateResource - 1分钟内只能发送1次 - 6位数字 - 8位以上数字字母组合 - XML注释文件不存在 - 不为其中之一 - 不以什么开始 - 不以什么结束 - 不包含 - 不等于 - 业务模块 - 东乡族 - 丧偶 - 中专 - 中共党员 - 中文姓名 - 为其中之一 - 乌孜别克族 - 事务已回滚 - 事务已提交 - 京族 - 人机校验请求不能为空 - 人机验证未通过 - 仡佬族 - 以什么开始 - 以什么结束 - 仫佬族 - 佤族 - 侗族 - 俄罗斯族 - 保安族 - 保密 - 信息 - 倒序排序 - 傈僳族 - 傣族 - 允许的文件大小 - 允许的文件格式 - 全部数据 - 公告 - 共青团员 - 出生证 - 初中 - 删除 - 包含 - 区号电话号码分机号 - 博士 - 博士后 - 参数格式不正确 - 发送失败 - 同步数据库结构 - 哈尼族 - 哈萨克族 - 唯一编码不能为空 - 回族 - 图标代码不能为空 - 图标名称不能为空 - 土家族 - 土族 - 基诺族 - 塔吉克族 - 塔塔尔族 - 壮族 - 外国人居留证 - 大专 - 大于 - 大于等于 - - 字典名称不能为空 - 字典目录不存在 - 字典目录编号不能为空 - 字典编码不能为空 - 宕机 - 密码不能为空 - 小于 - 小于等于 - 小学 - 已发送 - 已婚 - 已完成 - 已校验 - 已读 - 布依族 - 布朗族 - 并且 - 开始事务 - 彝族 - 德昂族 - 怒族 - 意外错误 - 成功 - 或者 - 手机 - 手机号码 - 手机号码不正确 - 护照 - 拉祜族族 - 指定部门数据 - 按钮 - 插入种子数据 - 撒拉族 - 支付宝账号 - 数据库同步开始 - 数据库服务器时钟偏移 - 数据库结构同步完成 - 数据版本不能为空 - 文件不能为空 - 新密码不能为空 - 新手机号码 - 新手机号码验证码不正确 - 无效操作 - 无效端口号 - 无效证件号码 - 无效输入 - 日志长度超过限制 - 日期范围 - 旧密码不正确 - 旧密码不能为空 - 旧手机号码 - 旧手机号码不正确 - 旧手机号码验证码不正确 - 时间戳缺失或误差过大 - 普米族 - 景颇族 - 朝鲜族 - 未婚 - 未指定部门 - 未读 - 本人数据 - 本科 - 本部门和下级部门数据 - 本部门数据 - 柯尔克孜族 - 框架 - 模块名称不能为空 - 模块说明不能为空 - 比较数据库结构 - 毛南族 - 水族 - 汉族 - 注册 - 消息主题不能为空 - 消息内容不能为空 - 港澳台通行证 - 满族 - 父节点不存在 - 独龙族 - 珞巴族 - 瑶族 - 用户不存在 - 用户名不能为空 - 用户名不能是手机号 - 用户名或密码错误 - 用户名长度4位以上 - 用户头像不能为空 - 用户档案不能为空 - 电子邮箱 - - 畲族 - 登录 - 白族 - 目标设备不能为空 - 短信验证请求不能为空 - 硕士 - 离异 - 私信 - 站内信不存在 - 等于 - 等待发送 - 签名缺失 - 系统模块 - 纳西族 - 绑定手机号 - 结果非预期 - 维吾尔族 - 羌族 - 群众 - 自定义 - 苗族 - 范围 - 菜单 - 菜单名称不能为空 - 菜单标题不能为空 - 菜单编号不能为空 - 蒙古族 - 藏族 - 裕固族 - 角色不存在 - 角色名称不能为空 - 角色编号不能为空 - 角色编号列表不能为空 - 解绑手机号 - 警告 - 设备类型不能为空 - 该角色下存在用户 - 该部门下存在子部门 - 该部门下存在用户 - 请求 - 请求对象不能为空 - 请联系管理员激活账号 - 读取用户令牌出错 - 调试 - 账号不能为空 - 赫哲族 - 跟踪 - 身份证 - 达斡尔族 - 邀请码不正确 - 邮箱验证码不正确 - 部门不存在 - 部门名称不能为空 - 鄂伦春族 - 鄂温克族 - 配置文件初始化完毕 - 重设密码 - 链接 - 错误 - 锡伯族 - 键值不能为空 - 键名称不能为空 - 门巴族 - 阿昌族 - 顺序排序 - 验证数据不能为空 - 验证码不正确 - 验证码不能为空 - 验证码类型不能为空 - 高中 - 高山族 - 黎族 - \ No newline at end of file diff --git a/assets/res/Nations.ln b/assets/res/Nations.ln new file mode 100644 index 00000000..865ccd29 --- /dev/null +++ b/assets/res/Nations.ln @@ -0,0 +1,56 @@ +东乡族 +乌孜别克族 +京族 +仡佬族 +仫佬族 +佤族 +侗族 +俄罗斯族 +保安族 +傈僳族 +傣族 +哈尼族 +哈萨克族 +回族 +土家族 +土族 +基诺族 +塔吉克族 +塔塔尔族 +壮族 +布依族 +布朗族 +彝族 +德昂族 +怒族 +拉祜族族 +撒拉族 +普米族 +景颇族 +朝鲜族 +柯尔克孜族 +毛南族 +水族 +汉族 +满族 +独龙族 +珞巴族 +瑶族 +畲族 +白族 +纳西族 +维吾尔族 +羌族 +苗族 +蒙古族 +藏族 +裕固族 +赫哲族 +达斡尔族 +鄂伦春族 +鄂温克族 +锡伯族 +门巴族 +阿昌族 +高山族 +黎族 \ No newline at end of file diff --git a/assets/res/Ln.txt b/assets/res/Statements.ln similarity index 54% rename from assets/res/Ln.txt rename to assets/res/Statements.ln index 2168768e..ce23cf65 100644 --- a/assets/res/Ln.txt +++ b/assets/res/Statements.ln @@ -2,102 +2,26 @@ 6位数字 8位以上数字字母组合 XML注释文件不存在 -不为其中之一 -不以什么开始 -不以什么结束 -不包含 -不等于 -业务模块 -东乡族 -丧偶 -中专 -中共党员 中文姓名 -为其中之一 -乌孜别克族 事务已回滚 事务已提交 -京族 人机校验请求不能为空 人机验证未通过 -仡佬族 -以什么开始 -以什么结束 -仫佬族 -佤族 -侗族 -俄罗斯族 -保安族 -保密 -信息 -倒序排序 -傈僳族 -傣族 允许的文件大小 允许的文件格式 -全部数据 -公告 -共青团员 -出生证 -初中 -删除 -包含 区号电话号码分机号 -博士 -博士后 参数格式不正确 -发送失败 -同步数据库结构 -哈尼族 -哈萨克族 唯一编码不能为空 -回族 图标代码不能为空 图标名称不能为空 -土家族 -土族 -基诺族 -塔吉克族 -塔塔尔族 -壮族 -外国人居留证 -大专 -大于 -大于等于 -女 字典名称不能为空 字典目录不存在 字典目录编号不能为空 字典编码不能为空 -宕机 密码不能为空 -小于 -小于等于 -小学 -已发送 -已婚 -已完成 -已校验 -已读 -布依族 -布朗族 -并且 +已处理完毕 开始事务 -彝族 -德昂族 -怒族 -意外错误 -成功 -或者 -手机 -手机号码 手机号码不正确 -护照 -拉祜族族 -指定部门数据 -按钮 -插入种子数据 -撒拉族 支付宝账号 数据库同步开始 数据库服务器时钟偏移 @@ -105,47 +29,21 @@ XML注释文件不存在 数据版本不能为空 文件不能为空 新密码不能为空 -新手机号码 新手机号码验证码不正确 -无效操作 无效端口号 无效证件号码 -无效输入 日志长度超过限制 -日期范围 旧密码不正确 旧密码不能为空 -旧手机号码 旧手机号码不正确 旧手机号码验证码不正确 时间戳缺失或误差过大 -普米族 -景颇族 -朝鲜族 -未婚 未指定部门 -未读 -本人数据 -本科 -本部门和下级部门数据 -本部门数据 -柯尔克孜族 -框架 模块名称不能为空 模块说明不能为空 -比较数据库结构 -毛南族 -水族 -汉族 -注册 消息主题不能为空 消息内容不能为空 -港澳台通行证 -满族 父节点不存在 -独龙族 -珞巴族 -瑶族 用户不存在 用户名不能为空 用户名不能是手机号 @@ -153,77 +51,33 @@ XML注释文件不存在 用户名长度4位以上 用户头像不能为空 用户档案不能为空 -电子邮箱 -男 -畲族 -登录 -白族 目标设备不能为空 短信验证请求不能为空 -硕士 -离异 -私信 站内信不存在 -等于 -等待发送 签名缺失 -系统模块 -纳西族 -绑定手机号 -结果非预期 -维吾尔族 -羌族 -群众 -自定义 -苗族 -范围 -菜单 菜单名称不能为空 菜单标题不能为空 菜单编号不能为空 -蒙古族 -藏族 -裕固族 角色不存在 角色名称不能为空 角色编号不能为空 角色编号列表不能为空 -解绑手机号 -警告 设备类型不能为空 该角色下存在用户 该部门下存在子部门 该部门下存在用户 -请求 请求对象不能为空 请联系管理员激活账号 读取用户令牌出错 -调试 账号不能为空 -赫哲族 -跟踪 -身份证 -达斡尔族 邀请码不正确 邮箱验证码不正确 部门不存在 部门名称不能为空 -鄂伦春族 -鄂温克族 配置文件初始化完毕 -重设密码 -链接 -错误 -锡伯族 键值不能为空 键名称不能为空 -门巴族 -阿昌族 -顺序排序 验证数据不能为空 验证码不正确 验证码不能为空 -验证码类型不能为空 -高中 -高山族 -黎族 \ No newline at end of file +验证码类型不能为空 \ No newline at end of file diff --git a/build/prebuild.targets b/build/prebuild.targets index c88b9185..fe986614 100644 --- a/build/prebuild.targets +++ b/build/prebuild.targets @@ -10,8 +10,14 @@ StdOutEncoding="utf-8" /> - - Languages/Ln.txt + + Languages/Statements.ln + + + Languages/Nations.ln + + + Languages/Enums.ln Languages/Ln.resx diff --git a/scripts/clean.ln.csx b/scripts/clean.ln.csx new file mode 100644 index 00000000..f77913d9 --- /dev/null +++ b/scripts/clean.ln.csx @@ -0,0 +1,26 @@ +using System.Text.RegularExpressions; + +var csFiles = Directory.EnumerateFiles(@"../src/backend", $"*.cs", new EnumerationOptions { RecurseSubdirectories = true }); +foreach (var lnFile in Directory.EnumerateFiles("../assets/res", "*.ln")) +{ + var newLines = new List(); + foreach (var line in File.ReadAllLines(lnFile)) + { + var found = false; + foreach (var csFile in csFiles) + { + if (File.ReadAllText(csFile).Contains($"Ln.{(Regex.IsMatch(line, @"^\d") ? "_" : "") + line}")) + { + found = true; + newLines.Add(line); + break; + } + } + + if (!found) + { + Console.WriteLine(line); + } + } + File.WriteAllLines(lnFile, newLines); +} \ No newline at end of file diff --git a/scripts/gen.resx.tt b/scripts/gen.resx.tt index 5c98968f..ba5cf23f 100644 --- a/scripts/gen.resx.tt +++ b/scripts/gen.resx.tt @@ -26,14 +26,16 @@ PublicKeyToken=b77a5c561934e089 -// ReSharper disable DuplicateResource <# var regex = new Regex(@"^\d", RegexOptions.Compiled); - foreach (var line in File.ReadLines("../assets/res/ln.txt")) + foreach (var file in Directory.GetFiles("../assets/res/", "*.ln")) { + foreach (var line in File.ReadLines(file)) + { #> <#= line #>" xml:space="preserve"><#= line #> <# + } } #> \ No newline at end of file diff --git a/src/backend/NetAdmin.Domain/Attributes/DataValidation/MobileAttribute.cs b/src/backend/NetAdmin.Domain/Attributes/DataValidation/MobileAttribute.cs index f37e34bf..80b056d9 100644 --- a/src/backend/NetAdmin.Domain/Attributes/DataValidation/MobileAttribute.cs +++ b/src/backend/NetAdmin.Domain/Attributes/DataValidation/MobileAttribute.cs @@ -12,7 +12,7 @@ public sealed class MobileAttribute : RegexAttribute public MobileAttribute() // : base(Chars.RGX_MOBILE) { - ErrorMessageResourceName = nameof(Ln.手机号码); + ErrorMessageResourceName = nameof(Ln.手机号码不正确); ErrorMessageResourceType = typeof(Ln); } } \ No newline at end of file diff --git a/src/backend/NetAdmin.Infrastructure/Extensions/HttpRequestMessageExtensions.cs b/src/backend/NetAdmin.Infrastructure/Extensions/HttpRequestMessageExtensions.cs index f2c34c56..7a2ab462 100644 --- a/src/backend/NetAdmin.Infrastructure/Extensions/HttpRequestMessageExtensions.cs +++ b/src/backend/NetAdmin.Infrastructure/Extensions/HttpRequestMessageExtensions.cs @@ -19,7 +19,7 @@ public static class HttpRequestMessageExtensions /// public static async Task LogAsync(this HttpRequestMessage me, ILogger logger) { - logger.Info($"{Ln.请求}: {await me.BuildJsonAsync().ConfigureAwait(false)}"); + logger.Info($"HTTP Request: {await me.BuildJsonAsync().ConfigureAwait(false)}"); return me; } } \ No newline at end of file diff --git a/src/backend/NetAdmin.SysComponent.Host/Subscribers/ApiSynchronizer.cs b/src/backend/NetAdmin.SysComponent.Host/Subscribers/ApiSynchronizer.cs index 4009baf8..1cfa6bc6 100644 --- a/src/backend/NetAdmin.SysComponent.Host/Subscribers/ApiSynchronizer.cs +++ b/src/backend/NetAdmin.SysComponent.Host/Subscribers/ApiSynchronizer.cs @@ -16,6 +16,6 @@ public sealed class ApiSynchronizer(ILogger logger) : IEventSub { var logService = App.GetService(); await logService.SyncAsync().ConfigureAwait(false); - logger.Info($"{nameof(IApiService)}.{nameof(IApiService.SyncAsync)} {Ln.已完成}"); + logger.Info($"{nameof(IApiService)}.{nameof(IApiService.SyncAsync)} {Ln.已处理完毕}"); } } \ No newline at end of file diff --git a/src/backend/NetAdmin.SysComponent.Host/Subscribers/EmailCodeSender.cs b/src/backend/NetAdmin.SysComponent.Host/Subscribers/EmailCodeSender.cs index d63f94da..1e598b6c 100644 --- a/src/backend/NetAdmin.SysComponent.Host/Subscribers/EmailCodeSender.cs +++ b/src/backend/NetAdmin.SysComponent.Host/Subscribers/EmailCodeSender.cs @@ -28,6 +28,6 @@ public sealed class EmailCodeSender(ILogger logger) : IEventSub Status = VerifyCodeStatues.Sent }) .ConfigureAwait(false); - logger.Info($"{nameof(IVerifyCodeService)}.{nameof(IVerifyCodeService.UpdateAsync)} {Ln.已完成}"); + logger.Info($"{nameof(IVerifyCodeService)}.{nameof(IVerifyCodeService.UpdateAsync)} {Ln.已处理完毕}"); } } \ No newline at end of file diff --git a/src/backend/NetAdmin.SysComponent.Host/Subscribers/SmsCodeSender.cs b/src/backend/NetAdmin.SysComponent.Host/Subscribers/SmsCodeSender.cs index 6665b580..d0e4903c 100644 --- a/src/backend/NetAdmin.SysComponent.Host/Subscribers/SmsCodeSender.cs +++ b/src/backend/NetAdmin.SysComponent.Host/Subscribers/SmsCodeSender.cs @@ -28,6 +28,6 @@ public sealed class SmsCodeSender(ILogger logger) : IEventSubscri Status = VerifyCodeStatues.Sent }) .ConfigureAwait(false); - logger.Info($"{nameof(IVerifyCodeService)}.{nameof(IVerifyCodeService.UpdateAsync)} {Ln.已完成}"); + logger.Info($"{nameof(IVerifyCodeService)}.{nameof(IVerifyCodeService.UpdateAsync)} {Ln.已处理完毕}"); } } \ No newline at end of file