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/docs/LOCALES.md
2024-01-28 18:03:05 +08:00

12 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万辆。

中文与半角符号之间需要增加空格

正确:

很多人都在学习 C++ 这门语言。

错误:

很多人都在学习C++这门语言。

数字与单位之间不加空格

正确:

我家的光纤入户宽带有 10GbpsSSD 一共有 10TB。

这个城市每年平均降雨量为 1200mm。

角度为 90° 的角,就是直角。

错误:

我家的光纤入户宽带有 10 GbpsSSD 一共有 20 TB。

这个城市每年平均降雨量为 1200 mm。

角度为 90 ° 的角,就是直角。

变量与中文之间需要增加空格

变量的输入一般为英文或数字,故变量与中文之间须加入空格。

正确:

你扔了一块石头,漂了 ${count} 下。

错误:

你扔了一块石头,漂了${count}下。

例外:如果变量的输入确保为中文,则可以不加空格。

全角标点与其他字符之间不加空格

正确:

刚刚买了一部 iPhone好开心

错误:

刚刚买了一部 iPhone ,好开心!

半角标点相关的空格

在半角标点(左引号、左括号等引用标点除外)之后如果有其他字符,请增加空格隔开。

左引号、左括号等引用标点如果其之前有其他字符,请增加空格隔开。

撇号和连接号hyphen前后不加空格。破折号dash前后需增加空格。

多个半角标点连在一起需看成一个标点,不要用空格将它们分开。

正确:

The sun set over the horizon, casting a warm glow on the city. As night fell, the lights began to twinkle, creating a captivating skyline.

The storm — with its strong winds, torrential rain, and relentless thunder — lasted for hours, leaving behind a trail of destruction.

The mysterious treasure was said to be hidden deep within the ancient cavern... guarded by mythical creatures and protected by an ancient spell.

"Life is what happens when you're busy making other plans." people always said.

I went to the bookstore yesterday and bought a new novel (the one I've been wanting to read for months).

错误:

The sun set over the horizon,casting a warm glow on the city.As night fell,the lights began to twinkle,creating a captivating skyline.

The storm—with its strong winds,torrential rain,and relentless thunder—lasted for hours,leaving behind a trail of destruction.

The mysterious treasure was said to be hidden deep within the ancient cavern . . . guarded by mythical creatures and protected by an ancient spell.

" Life is what happens when you' re busy making other plans. " people always said.

I went to the bookstore yesterday and bought a new novel( the one I' ve been wanting to read for months) .

字符串开头和结尾不应出现空白字符

正确:

这是一行文字。

错误:

·这是一行文字。·

(使用“·”代替空格)

例外:英文句子的结尾可不遵守此标准。(在字符串需要拼接的情况下,英文句号后的空格是必要的。)

除特殊情况外,不应有多个空格连续出现

正确:

我喜欢 GitHub。

错误:

我喜欢 GitHub。

标点符号

不要连用标点符号

虽然连用标点符号在规范中是被允许的行为,但是这样会破坏句子的规范性和美观性,请不要这样做。

正确:

德国队竟然战胜了巴西队!

错误:

德国队竟然战胜了巴西队!!!

例外:在表达同时包含疑惑和感叹的语气时,可连用“?!”。

中文使用全角中文标点

正确:

嗨!你知道嘛?今天前台的小妹跟我说“喵”了哎!

错误:

嗨! 你知道嘛? 今天前台的小妹跟我说 "喵" 了哎!

嗨!你知道嘛?今天前台的小妹跟我说"喵"了哎!

例外:数学运算符必须使用半角。

简体中文不要使用直角引号

直角引号并不符合简体中文使用者的使用习惯。

正确:

“老师,‘有条不紊’的‘紊’是什么意思?”

错误:

「老师,『有条不紊』的『紊』是什么意思?」

数字和英文使用半角字符

正确:

这件蛋糕只卖 200 元。

错误:

这件蛋糕只卖 元。

引用句内的标点按照其语境使用

引用符号本身仍然需要按照其外部语境决定。

正确:

乔布斯那句话是怎么说的“Stay hungry, stay foolish.”

错误:

乔布斯那句话是怎么说的“Stay hungrystay foolish。”

英文不要使用弯引号

中文弯引号和英文弯引号属于同一个字符,如果使用弯引号反而会造成阅读问题。请使用直引号 "

正确:

"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…

语句

使用“你”而不是“你”

机器人、用户、开发者与维护者之间互为平级关系,无需使用“你”。

正确使用“的”“地”“得”

示例:

他是一个很高的人。

他总能很快地解决问题。

他跑得很快。

避免使用“我”“我们”

为了保持机器人的适用性,请尽可能不要使用第一人称代词,以避免涉及个人主观观点或情感。

专有名词使用正确的书写格式

正确:

使用 GitHub 登录

错误:

使用 Github 登录

使用 gitHub 登录

使用 github 登录

使用 GITHUB 登录

不要使用非正式的缩写

正确:

我们需要一位熟悉 JavaScript、HTML5至少理解一种框架如 Backbone.js、AngularJS、React 等)的前端开发者。

错误:

我们需要一位熟悉 Js、h5至少理解一种框架如 backbone、angular、RJS 等)的 FED。

不同地区的中文使用对应的地区词

不要在繁体中文中使用“视频”等错误的地区词,这不是玩笑。

正确:

輸入影片編號取得對應資訊。

错误:

輸入視頻編號獲得相應信息。

例外:专有名词、商品名等词语,按照约定俗成的格式书写。

慎用“发生错误”

当命令出现可能的预料之外的情况下,输出的字符串可以使用“发生错误”前缀,刻意引起的意外(如输入不合要求)不宜使用。

报告问题

与简体中文相关的问题可直接使用 Issue 报告。

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