Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add Chinese language #1

Open
wants to merge 2 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
19 changes: 19 additions & 0 deletions README_zh.md
Original file line number Diff line number Diff line change
@@ -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 |
16 changes: 16 additions & 0 deletions SECURITY_zh.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
# 报告安全问题

如果您发现安全漏洞,请发送报告至 [[email protected]](mailto:[email protected])。

此邮箱地址适用于 Axelor 的所有产品。请勿通过此渠道报告非安全影响的错误。

在报告中提供一个描述性的标题,并在描述中包含以下信息:

- 重现漏洞的详细步骤(POC 脚本、截图和日志等都有助于说明问题)。
- 漏洞的影响描述。
- 漏洞如何影响项目使用。
- 受影响的版本。

提交时,请移除或混淆任何私有数据。

提交后,安全团队将调查该漏洞,确定其影响和严重性,并通知报告人。
83 changes: 83 additions & 0 deletions changelogs/README_zh.md
Original file line number Diff line number Diff line change
@@ -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/)
5 changes: 5 additions & 0 deletions changelogs/unreleased/add-chinese-language.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
title: Add Chinese language
type: feature
description: |
Add Chinese language to README.md, *.csv, and other files.
130 changes: 130 additions & 0 deletions src/main/resources/i18n/messages_zh.csv
Original file line number Diff line number Diff line change
@@ -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.","您的目标收件人无效。请检查。",,
"[email protected]","用户@域名.com",,