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

7.7 KiB
Raw Blame History

目录

简介

本规范文件旨在确保项目中的多语言文本一致性和格式规范。请遵循以下内容以保持代码库中的多语言资源的统一性。

文件位置

请将语言文件放置在 /locales 目录中,并以语言代码命名为 JSON 文件。

根路径下的目录用于放置全局字符串,模块下的目录用于放置对应专用的模块字符串。

原则上,模块字符串和对应模块须对应,若模块之间存在关联则可以例外,否则请考虑转为全局字符串。

语言文件格式

请确保键名与字符串一一对应,不得嵌套。

全局字符串的命名方式字符串类别.用途

模块字符串的命名方式模块名称.字符串类别.(命令名称.)用途

使用 ${变量名} 可表示变量,变量名须使用英文,不建议使用 Python 语句,禁止使用空格和特殊符号,如需分隔则请使用下划线代替。

使用例

在模块帮助中调用多语言字符串的示例:

from core.component import module

test = module('test', desc='{test.help.desc}')

@test.command('say <word> {{test.help.say}}')
...

在代码中调用多语言字符串的示例:

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

排版规范

本文部分参照中文文案排版指北,内容可能有出入。

太长不看:半角符号和全角符号(标点除外)之间用空格隔开,正确使用对应语言的标点符号 和用词习惯。

空格

中英文之间需要增加空格

正确:

在 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 报告。

简体中文以外的所有语言由机器人 @Hldbot 维护,相关问题请移步 Crowdin 报告。