Archived
1
0
Fork 0
This repository has been archived on 2024-04-26. You can view files and clone it, but cannot push or open issues or pull requests.
akari-bot/LOCALES.md
2024-01-12 00:15:56 +08:00

223 lines
7.7 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 目录
- [简介](#简介)
- [文件位置](#文件位置)
- [语言文件格式](#语言文件格式)
- [使用例](#使用例)
- [排版规范](#排版规范)
- [空格](#空格)
- [中英文之间需要增加空格](#中英文之间需要增加空格)
- [中文与数字之间需要增加空格](#中文与数字之间需要增加空格)
- [数字与单位之间不加空格](#数字与单位之间不加空格)
- [全角标点与其他字符之间不加空格](#全角标点与其他字符之间不加空格)
- [变量与中文之间需要增加空格](#变量与中文之间需要增加空格)
- [标点符号](#标点符号)
- [不要重复使用标点符号](#不要重复使用标点符号)
- [简体中文不要使用直角引号](#简体中文不要使用直角引号)
- [英文不要使用弯引号](#英文不要使用弯引号)
- [英文省略号使用三个点](#英文省略号使用三个点)
- [全角和半角](#全角和半角)
- [使用全角中文标点](#使用全角中文标点)
- [数字和英文使用半角字符](#数字和英文使用半角字符)
- [完整的英文成句内容中使用半角标点](#完整的英文成句内容中使用半角标点)
- [名词](#名词)
- [专有名词使用正确的大小写](#专有名词使用正确的大小写)
- [不要使用非正式的缩写](#不要使用非正式的缩写)
- [不同地区的中文使用对应的地区词](#不同地区的中文使用对应的地区词)
- [报告问题](#报告问题)
# 简介
本规范文件旨在确保项目中的多语言文本一致性和格式规范。请遵循以下内容以保持代码库中的多语言资源的统一性。
# 文件位置
请将语言文件放置在 `/locales` 目录中,并以语言代码命名为 JSON 文件。
根路径下的目录用于放置全局字符串,模块下的目录用于放置对应专用的模块字符串。
原则上,模块字符串和对应模块须对应,若模块之间存在关联则可以例外,否则请考虑转为全局字符串。
# 语言文件格式
请确保键名与字符串一一对应,不得嵌套。
**全局字符串的命名方式**`字符串类别.用途`
**模块字符串的命名方式**`模块名称.字符串类别.(命令名称.)用途`
使用 `${变量名}` 可表示变量,变量名须使用英文,不建议使用 Python 语句,禁止使用空格和特殊符号,如需分隔则请使用下划线代替。
# 使用例
在模块帮助中调用多语言字符串的示例:
```python3
from core.component import module
test = module('test', desc='{test.help.desc}')
@test.command('say <word> {{test.help.say}}')
...
```
在代码中调用多语言字符串的示例:
```python3
from core.builtins import Bot
async def test(msg: Bot.MessageSession):
...
await msg.send_message(msg.locale.t("test.message.say.prompt"))
# 没有变量时可直接输出
await msg.send_message(msg.locale.t("test.message.say.reply", sender=msg.target.sender_id))
# 若存在变量,则须将变量赋值后输出
# 如此处在字符串内的变量为 ${sender},并被赋值为 Bot.MessageSession.target.sender_id
```
# 排版规范
> 本文部分参照[中文文案排版指北](https://github.com/sparanoid/chinese-copywriting-guidelines),内容可能有出入。
太长不看:半角符号和全角符号(标点除外)之间用空格隔开,正确使用对应语言的标点符号
和用词习惯。
## 空格
### 中英文之间需要增加空格
正确:
> 在 IBM 的研究中,他们利用 AI 技术开发了一种先进的语音识别系统。
错误:
> 在IBM的研究中他们利用AI技术开发了一种先进的语音识别系统。
例外:专有名词、商品名等词语,按照约定俗成的格式书写。
### 中文与数字之间需要增加空格
正确:
> 今年的全球汽车销售量达到了 8000 万辆。
错误:
> 今年的全球汽车销售量达到了8000万辆。
### 数字与单位之间不加空格
正确:
> 我家的光纤入户宽带有 10GbpsSSD 一共有 10TB。
> 这个城市每年平均降雨量为 1200mm。
>
> 角度为 90° 的角,就是直角。
错误:
>我家的光纤入户宽带有 10 GbpsSSD 一共有 20 TB。
> 这个城市每年平均降雨量为 1200 mm。
>
> 角度为 90 ° 的角,就是直角。
### 全角标点与其他字符之间不加空格
正确:
> 刚刚买了一部 iPhone好开心
错误:
> 刚刚买了一部 iPhone ,好开心!
### 变量与中文之间需要增加空格
变量的输入一般为英文或数字,故变量与中文之间须加入空格。
正确:
> 你扔了一块石头,漂了 ${count} 下。
错误:
> 你扔了一块石头,漂了${count}下。
例外:如果变量的输入确保为中文,则可以不加空格。
## 标点符号
### 不要重复使用标点符号
虽然重复使用标点符号在规范中是被允许的行为,但是请不要这样做。
正确:
> 德国队竟然战胜了巴西队!
错误:
> 德国队竟然战胜了巴西队!!!
### 简体中文不要使用直角引号
直角引号并不符合简体中文使用者的使用习惯。
正确:
> “老师,‘有条不紊’的‘紊’是什么意思?”
错误:
> 「老师,『有条不紊』的『紊』是什么意思?」
### 英文不要使用弯引号
中文弯引号和英文弯引号属于同一个字符,如果使用弯引号反而会造成阅读问题。请使用直引号 `"`
正确:
> "Success is not final, failure is not fatal: It is the courage to continue that counts."
错误:
> “Success is not final, failure is not fatal: It is the courage to continue that counts.”
### 英文省略号使用三个点
原因同上。请使用三个点 `...`
正确:
> In the serene moonlit night, whispers of ancient tales lingered, echoing through the stillness of time...
错误:
> In the serene moonlit night, whispers of ancient tales lingered, echoing through the stillness of time…
## 全角和半角
### 使用全角中文标点
正确:
> 嗨!你知道嘛?今天前台的小妹跟我说“喵”了哎!
错误:
> 嗨! 你知道嘛? 今天前台的小妹跟我说 "喵" 了哎!
>
> 嗨!你知道嘛?今天前台的小妹跟我说"喵"了哎!
### 数字和英文使用半角字符
正确:
> 这件蛋糕只卖 200 元。
错误:
> 这件蛋糕只卖 元。
### 完整的英文成句内容中使用半角标点
正确:
> 乔布斯那句话是怎么说的“Stay hungry, stay foolish.”
错误:
> 乔布斯那句话是怎么说的“Stay hungrystay foolish。”
## 名词
### 专有名词使用正确的大小写
正确:
> 使用 GitHub 登录
错误:
> 使用 Github 登录
>
> 使用 gitHub 登录
>
> 使用 github 登录
>
> 使用 GITHUB 登录
### 不要使用非正式的缩写
正确:
> 我们需要一位熟悉 JavaScript、HTML5至少理解一种框架如 Backbone.js、AngularJS、React 等)的前端开发者。
错误:
> 我们需要一位熟悉 Js、h5至少理解一种框架如 backbone、angular、RJS 等)的 FED。
### 不同地区的中文使用对应的地区词
不要在繁体中文中使用“视频”等错误的地区词,这不是玩笑。
正确:
> 輸入影片編號取得對應資訊。
错误:
> 輸入視頻編號獲得相應信息。
例外:专有名词、商品名等词语,按照约定俗成的格式书写。
# 报告问题
与简体中文相关的问题可直接使用 [Issue](https://github.com/Teahouse-Studios/akari-bot/issues/new) 报告。
简体中文以外的所有语言由机器人 @Hldbot 维护,相关问题请移步 [Crowdin](https://crowdin.com/project/akari-bot) 报告。