--- description: globs: alwaysApply: true --- # 语言规范 -- 对于用户端输出和前端响应看到的文字内容部分,尽量使用中文 ## 中文化规则 ### 1. 面向用户的内容 - 所有面向用户的响应消息必须使用中文 - HTTP API 响应中的消息字段(`message`)必须使用中文 - 错误提示信息必须使用中文 - 用户界面上的所有文本必须使用中文 ### 2. 错误和验证信息 - 所有验证错误提示必须使用中文 - 字段验证规则的错误消息必须使用中文 - 业务逻辑错误提示必须使用中文 - HTTP状态码对应的消息必须使用中文 ### 3. 日志信息 - 业务操作相关的日志消息应使用中文 - 系统状态和生命周期相关的日志应使用中文 - 错误和警告日志消息应使用中文 - 日志中的上下文信息(字段名)可使用英文 ### 4. 代码规范 - 代码注释可以使用中文,提高可读性 - 变量名、函数名、类名等标识符仍使用英文 - 中文字符串应使用双引号,不使用反引号 - 避免在代码中使用特殊中文标点符号 ### 5. 中文规范示例 #### HTTP 响应示例: ```go // 成功响应 h.response.Success(c, data, "操作成功") h.response.Created(c, user, "用户创建成功") // 错误响应 h.response.BadRequest(c, "请求参数错误") h.response.Unauthorized(c, "用户未认证或登录已过期") h.response.NotFound(c, "请求的资源不存在") h.response.TooManyRequests(c, "请求过于频繁,请稍后再试") ``` #### 验证错误示例: ```go // 字段验证错误 "手机号格式不正确" "密码强度不足,必须包含大小写字母和数字" "两次输入的密码不一致" // 注册自定义验证器 v.RegisterTranslation("phone", trans, func(ut ut.Translator) error { return ut.Add("phone", "{0}必须是有效的手机号", true) }) ``` #### 日志消息示例: ```go // 成功日志 logger.Info("用户注册成功", zap.String("user_id", user.ID)) logger.Info("支付订单已完成", zap.String("order_id", order.ID)) // 错误日志 logger.Error("创建用户失败", zap.Error(err)) logger.Error("数据库连接失败", zap.Error(err)) // 警告日志 logger.Warn("用户多次登录失败", zap.String("phone", phone)) logger.Warn("接口调用频率异常", zap.String("client_ip", clientIP)) ```