mirror of
https://github.com/MCSManager/MCSManager.git
synced 2025-11-27 23:10:24 +08:00
4.2 KiB
4.2 KiB
搭建开发环境
此段落面向开发人员,如果你想对 MCSManager 进行开发,或者提交代码贡献,请务必仔细的阅读这些内容:
所需环境
- Node.js v16+
我们使用 Visual Studio Code 开发 MCSManager,我们极力推荐这些插件:
- i18n 文案显示支持(I18n Ally)
- 代码格式化(Prettier)
- Vue - Offcial
- ESLint
开始搭建
1. 下载源代码
git clone https://github.com/MCSManager/MCSManager.git
cd MCSManager
2. 下载二进制依赖文件
你需要前往 PTY 和 Zip-Tools 两个项目下载适用于你的系统的二进制文件,将他们存放到 daemon/lib 目录下(不存在就手动创建),以确保 仿真终端 和 文件解压缩 的正常工作。
下载三个依赖文件,需要根据自己的系统架构来选择,查看 Releases 可以找到适合自己系统和架构的二进制文件。
例如:
# 手动新建二进制依赖库文件夹
mkdir lib && cd lib
# 仿真终端依赖库
wget https://github.com/MCSManager/PTY/releases/download/latest/pty_linux_x64
# wget https://github.com/MCSManager/PTY/releases/download/latest/pty_darwin_arm64 # MacOS Arm 架构
# 解压 & 压缩文件依赖库
wget https://github.com/MCSManager/Zip-Tools/releases/download/latest/file_zip_linux_x64
# 7z 压缩包支持(可选)
wget https://github.com/MCSManager/Zip-Tools/releases/download/latest/7z_linux_x64
# 其他 OS & CPU 架构请前往这里下载:
# PTY: https://github.com/MCSManager/PTY/releases
# Zip-Tools: https://github.com/MCSManager/Zip-Tools/releases
# 7z: https://github.com/MCSManager/Zip-Tools/releases
3. 安装 Node.js 依赖库
# MacOS / Linux
./install-dependents.sh
# Windows
./install-dependents.bat
4. 运行 MCSManager
npm run dev
国际化你的代码
由于项目适配多国语言,所以代码中的所有 字符串,注释 都只接受英文,所以请勿直接硬文本非英语在代码中。
比如你可能写了一行新的字符串,需要适配多国语言。
import { $t } from "../i18n";
if (!checkName) {
const errorMsg = "Hello,这是一个错误!"; // 不要这样做!
const errorMsg = $t("TXT_CODE_MY_ERROR"); // 正确做法
}
// 带参数的使用方式
const errorMsgWithParams = $t("TXT_CODE_INSTANCE_ERROR", {
uuid: instance.instanceUuid,
err: err
});
languages/en_US.json
{
// 所有的翻译文案 Key,不可有重复,所以请可能的取一个较长的名字!
"TXT_CODE_MY_ERROR": "Hello,这是一个错误!",
// 如果需要携带参数,使用两个花括号
"TXT_CODE_INSTANCE_ERROR": "Exception instance {{uuid}}: {{err}}"
}
<script lang="ts" setup>
import { t } from "@/lang/i18n";
// ...
</script>
<template>
<!-- ... -->
<a-menu-item key="toNodesPage" @click="toNodesPage()">
<FormOutlined />
{{ t("TXT_CODE_NODE_INFO") }}
<!-- 如果需要携带参数,前端代码使用一个花括号 -->
<div>{{ t("TEXT_CODE_FILE_ERROR", { name: props.fileName }) }}</div>
</a-menu-item>
</template>
languages/en_US.json
{
"TXT_CODE_NODE_INFO": "Jump to Node Page",
// 如果需要携带参数,前端代码使用一个花括号
"TEXT_CODE_FILE_ERROR": "File {name} error!"
}
请在语言文件中新增这一行,比如:languages/en_US.json
所有语言的文案都在
languages/*.json中,所有翻译以en_US.json为准,所以如果你修改了任何文案,或者新增了任何文件en_US.json是必须修改和新增的,它是所有国家语言的源文案,其他国家的语言可以由我们使用 AI 来自动翻译。
如果你安装了 I18n Ally 插件,你的 $t("TXT_CODE_MY_ERROR") 应该会浮现对应的文案。
构建生产环境版本
./build.bat # Windows
./build.sh # MacOS
构建完成后,你会在 production-code 目录下找到生产环境代码。
最后
更多内容,请移步到官方文档进行翻阅。