diff --git a/README_zh.md b/README_zh.md new file mode 100644 index 0000000..73eccf4 --- /dev/null +++ b/README_zh.md @@ -0,0 +1,19 @@ +# Axelor Message + +Axelor Message 是 AOP Addons 生态系统中的一个独立模块。 + +## 安装 + +要从源代码编译和运行此模块,您需要将其克隆到类似 [open-platform-demo](https://github.com/axelor/open-platform-demo) 的 Axelor Web 应用程序的 `modules` 目录中。 + +## 版本兼容性 + +建议使用以下版本的 AOP 和 AOS 与该模块配合使用: + +| Message 模块版本 | 兼容的 AOP 版本 | 兼容的 AOS 版本 | +|------------------|-----------------|-----------------| +| 1.x | 6.1 | 7.x | +| 2.0 | 7.0 | 8.0 | +| 3.0 | 7.0 | 8.0 | +| 3.1 | 7.1 | 8.1 | +| 3.2 | 7.2 | 8.2 | diff --git a/SECURITY_zh.md b/SECURITY_zh.md new file mode 100644 index 0000000..3e769d6 --- /dev/null +++ b/SECURITY_zh.md @@ -0,0 +1,16 @@ +# 报告安全问题 + +如果您发现安全漏洞,请发送报告至 [security@axelor.com](mailto:security@axelor.com)。 + +此邮箱地址适用于 Axelor 的所有产品。请勿通过此渠道报告非安全影响的错误。 + +在报告中提供一个描述性的标题,并在描述中包含以下信息: + +- 重现漏洞的详细步骤(POC 脚本、截图和日志等都有助于说明问题)。 +- 漏洞的影响描述。 +- 漏洞如何影响项目使用。 +- 受影响的版本。 + +提交时,请移除或混淆任何私有数据。 + +提交后,安全团队将调查该漏洞,确定其影响和严重性,并通知报告人。 \ No newline at end of file diff --git a/changelogs/README_zh.md b/changelogs/README_zh.md new file mode 100644 index 0000000..940d819 --- /dev/null +++ b/changelogs/README_zh.md @@ -0,0 +1,83 @@ +## 变更内容 + +#### 概述 + +`unreleased` 文件夹包含所有尚未发布的变更内容。 + +在发布时,所有未发布的变更内容将合并到最终的 CHANGELOG.md 文件中。 + +#### 变更条目格式 + +在 `changelogs/unreleased` 下创建一个新文件。 + +该文件应为 YAML 格式,如下所示: + +````yaml +--- +title: 一些文本 +type: feature +description: | + 这里是一些描述 包含更多详细信息。 + + 以及关于破坏性变更 和迁移步骤的说明。 + + ``` + $ find -iregex ".*domains.*.xml" | xargs -l sed -i 's|cachable="|cacheable="|g' + ``` +```` + +`title` 描述条目。 + +`type` 可以是: +* **feature** 表示新功能。 +* **change** 表示现有功能的更改。 +* **deprecate** 表示即将移除的功能。 +* **remove** 表示已移除的功能。 +* **fix** 表示任何 bug 修复。 +* **security** 表示安全漏洞修复。 + +`description` 是可选的,应该提供关于更改的详细描述,包括迁移步骤(如果有)。 + +#### 如何判断是否需要新的变更内容条目 + +**除了少数特殊情况外,您无需为在 wip 分支中修复的问题添加变更内容条目。** + +变更内容需要列出从上一版本到当前版本的更改。当版本处于开发阶段时,新功能可能会引入回归问题。如果我们在版本发布前修复了这些回归问题,那么这些 bug 将不会出现在任何已发布的版本中,因此修复记录不需要出现在变更内容中。但如果我们在修复已发布的版本中的 bug,则必须添加变更内容条目。 + +### 如何选择条目的类型 + +- **如果您在 dev 分支上,大多数情况下类型是 `fix` 或 `change`。** +- **如果您在 wip 分支上,类型可以是 `change` 或 `feature`(参见上文)。** + +`change` 属于当前的“改进”部分:在现有类中添加一个简单字段不是新功能,而是更改。 + +dev分支上的新功能和wip分支上的修复等特殊情况下可能存在,但应仅在少数情况下发生。 + +### 变更内容关注应用程序的使用 + +**不要使用技术字段名称。** 您必须写明更改对应用程序用户的影响。 +任何关于更改的技术信息可以在需要时写入提交消息,但在变更内容中应尽量避免。 + +例如,不要写: + +> 当 statusSelect 等于 `STATUS_CANCELED` 时,将 typeSelect 的 hidden 属性更新为 true。 + +而应写: + +> 在发票表单视图中,隐藏取消的发票类型。 + +#### 生成 CHANGELOG.md + +要使用未发布的条目生成 `CHANGELOG.md`,请运行以下Gradle任务: +``` +./gradlew generateChangeLog +``` + +未发布的条目也将自动从 `changelogs/unreleased` 中删除。 + +可以使用 `--preview` 参数预览生成的变更内容,而不删除或更新文件。 + +#### 参考资料 + +* [Keep a Changelog](https://keepachangelog.com/en/1.0.0/) +* [Gitlab: 如何解决CHANGELOG冲突](https://about.gitlab.com/2018/07/03/solving-gitlabs-changelog-conflict-crisis/) diff --git a/changelogs/unreleased/add-chinese-language.yml b/changelogs/unreleased/add-chinese-language.yml new file mode 100644 index 0000000..4b81750 --- /dev/null +++ b/changelogs/unreleased/add-chinese-language.yml @@ -0,0 +1,5 @@ +--- +title: Add Chinese language +type: feature +description: | + Add Chinese language to README.md, *.csv, and other files. \ No newline at end of file diff --git a/src/main/resources/i18n/messages_zh.csv b/src/main/resources/i18n/messages_zh.csv new file mode 100644 index 0000000..3e702d4 --- /dev/null +++ b/src/main/resources/i18n/messages_zh.csv @@ -0,0 +1,130 @@ +"key","message","comment","context" +"%d messages has been regenerated successfully and %d errors append.","成功重新生成了%d条消息并出现%d个错误。",, +"Add Signature","添加签名",, +"Address","电子邮件地址",, +"Address Block","地址块",, +"All messages","所有消息",, +"Bcc","密送",, +"Brevo API key","Brevo API密钥",, +"Brevo identification","Brevo识别信息",, +"Cannot regenerate message without related model.","无法重新生成没有关联对象的消息。",, +"Cannot regenerate message without template associated to message.","无法重新生成没有关联模板的消息。",, +"Cc","抄送",, +"Chat","内部聊天",, +"Check Duplicate","检查重复项",, +"Configurations","配置",, +"Connection successful","连接成功",, +"Content","内容",, +"Context","上下文",, +"Create message","创建消息",, +"Default","默认",, +"Default account","默认账户",, +"Delete","删除",, +"Deleted","已删除",, +"Draft","草稿",, +"Email","电子邮件",, +"Email Accounts","SMTP账户",, +"Email address","电子邮件地址",, +"Email addresses","电子邮件地址",, +"Email sending is in progress","正在发送电子邮件",, +"Email sending is in progress for %d messages.","正在为%d条消息发送电子邮件。",, +"Emails","电子邮件",, +"Error when sending email: %s","发送电子邮件时出错:%s",, +"Expr. value","表达式值",, +"Fetch emails","获取电子邮件",, +"Forecasted Sent Date","预计发送日期",, +"From","发件人",, +"From :","发件人:",, +"From email address","发件人电子邮件地址",, +"From email name","发件人名称",, +"Generate Message","生成消息",, +"Generate message","生成消息",, +"Groovy Template","Groovy模板",, +"Group","组",, +"Host","主机",, +"IMAP","IMAP",, +"If you leave this field empty or fill it with an incorrect formula, the default email account's signature will be used.\nExamples of a correct formulas:\n$__user__.emailSignature$\n$first(__user__.emailAccountList).signature$","如果您留空此字段或填写不正确的公式,则会使用默认电子邮件帐户的签名。\n正确公式的示例:\n$__user__.emailSignature$\n$first(__user__.emailAccountList).signature$",, +"In progress","进行中",, +"Incorrect login or password","用户名或密码不正确",, +"Information","信息",, +"Json","JSON",, +"Language","语言",, +"Login","登录名",, +"Mail","邮件",, +"Mail account","邮件账户",, +"Mail accounts","邮件账户",, +"Media Type","媒体类型",, +"Message","消息",, +"Message destinated to","发送给的消息",, +"Messages","消息",, +"Messages not sent","未发送的消息",, +"Mobile phone","手机号码",, +"Model","模型",, +"Model empty. Please configure a model.","模型为空。请配置一个模型。",, +"Multi related","多关联",, +"Multi relateds","多关联",, +"NONE","无",, +"Name","名称",, +"No Mail content entered.","未输入邮件内容。",, +"Not sent","未发送",, +"POP","POP",, +"Password","密码",, +"Please configure a template","请配置一个模板",, +"Please fill mobile phone number.","请输入手机号码。",, +"Please select one or more messages.","请选择一条或多条消息。",, +"Please set the email template to send","请设置要发送的电子邮件模板。",, +"Port","端口",, +"Print","打印",, +"Provided settings are wrong, please modify them and try again","提供的设置有误,请修改后重试。",, +"Received","已接收",, +"Recipient","收件人",, +"Recipient address","收件人地址",, +"Recipients","收件人",, +"Reference","参考",, +"Regenerate messages","重新生成消息",, +"Related to","关联到",, +"Related to select","关联选择",, +"Reply to","回复给",, +"Resend messages","重新发送消息",, +"SMS","短信",, +"SMTP","SMTP",, +"SSL","SSL",, +"SSL/STARTTLS","SSL/STARTTLS",, +"STARTTLS","STARTTLS",, +"Select template","选择模板",, +"Send","发送",, +"Sender (User)","发件人(用户)",, +"Sender's email address is null or empty","发件人的电子邮件地址为空或未设置",, +"Sent","已发送",, +"Sent by email","通过电子邮件发送",, +"Sent date","发送日期",, +"Server Type","服务器类型",, +"Signature","签名",, +"Status","状态",, +"String Template","字符串模板",, +"Subject","主题",, +"Successful send","发送成功",, +"System","系统",, +"TO/CC/BCC recipient's email address is empty","TO/CC/BCC收件人电子邮件地址为空",, +"Target receptor","目标收件人",, +"Template","模板",, +"Template Context","模板上下文",, +"Template engine","模板引擎",, +"Templates","模板",, +"Temporary email service only support Email media type.","临时电子邮件服务仅支持电子邮件媒体类型。",, +"Test connection","测试连接",, +"Test template","测试模板",, +"The email template model (%s) is different than the entity generating the email (%s)","电子邮件模板模型(%s)与生成电子邮件的实体(%s)不同",, +"There is already a default account","已经存在一个默认账户",, +"There is no default email account","没有默认电子邮件账户",, +"Thread ID","线程ID",, +"To","收件人",, +"To :","收件人:",, +"Type","类型",, +"Unable to reach server. Please check Host,Port and SSL/TLS","无法连接到服务器。请检查主机、端口和SSL/TLS设置",, +"User","用户",, +"Valid","有效",, +"Validate","验证",, +"Waiting model: %s","等待模型:%s",, +"Your target receptor is not valid. Please check it.","您的目标收件人无效。请检查。",, +"user@mydomain.com","用户@域名.com",, \ No newline at end of file