velxio/frontend/src/i18n/locales/zh-cn/docs2.json

377 lines
21 KiB
JSON
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.

{
"docs": {
"riscv": {
"label": "// risc-v",
"heading": "RISC-V 仿真 (ESP32-C3)",
"lead": "ESP32-C3、XIAO ESP32-C3 和 C3 SuperMini 开发板运行在 <strong>RISC-V RV32IMC</strong> 架构上,主频 160 MHz。Velxio 通过与 Xtensa ESP32 系列相同的基于 QEMU 的后端来仿真它们,使用 <code>libqemu-riscv32</code> 和 <code>esp32c3-picsimlab</code> 机器目标。仓库中有一个独立的 TypeScript ISA 实现,用于单元测试 RV32IMC 指令解码,但它不是生产仿真路径。",
"boardsHeading": "支持的开发板",
"boardEsp32C3": "ESP32-C3 DevKit",
"boardXiaoC3": "Seeed XIAO ESP32-C3",
"boardC3Super": "ESP32-C3 SuperMini",
"altEsp32C3": "ESP32-C3 DevKit",
"altXiaoC3": "Seeed XIAO ESP32-C3",
"altC3Super": "ESP32-C3 SuperMini",
"thBoard": "开发板",
"thCpu": "CPU",
"thFlash": "闪存",
"thRam": "RAM",
"boardEsp32C3Name": "ESP32-C3",
"boardXiaoC3Name": "XIAO ESP32-C3",
"boardC3SuperName": "C3 SuperMini",
"cpuValue": "RV32IMC @ 160 MHz",
"flashValue": "4 MB",
"ramValue": "384 KB DRAM",
"memoryHeading": "内存映射",
"thRegion": "区域",
"thBaseAddr": "基地址",
"thSize": "大小",
"thDescription": "描述",
"regIrom": "IROM (闪存)",
"regIromDesc": "存储在闪存中的代码",
"regDrom": "DROM (闪存只读)",
"regDromDesc": "闪存中的只读数据",
"regDram": "DRAM",
"regDramDesc": "数据 RAM (栈 + 堆)",
"regIram": "IRAM",
"regIramDesc": "指令 RAM (从闪存复制)",
"regUart": "UART0",
"regUartDesc": "串口 0 (GPIO 20/21)",
"regGpio": "GPIO",
"regGpioDesc": "GPIO 输出/输入/使能",
"size4mb": "4 MB",
"size384kb": "384 KB",
"size1kb": "1 KB",
"size512b": "512 B",
"isaHeading": "ISA 支持",
"isaRv32i": "<strong>RV32I</strong>: 完整的基础整数指令集 (ALU、加载/存储、分支、JAL/JALR)",
"isaRv32m": "<strong>RV32M</strong>: 乘除法: MUL, MULH, MULHSU, MULHU, DIV, DIVU, REM, REMU",
"isaRv32c": "<strong>RV32C</strong>: 16 位压缩指令: C.LI, C.ADDI, C.LUI, C.J, C.JAL, C.BEQZ, C.BNEZ, C.MV, C.ADD, C.JR, C.JALR, C.LW, C.SW, C.LWSP, C.SWSP, C.SLLI, C.ADDI4SPN",
"compileFlowHeading": "编译流程",
"compileFlowLead": "当您为 ESP32-C3 开发板点击 <strong>编译并运行</strong> 时:",
"compileStep1": "后端使用 <code>arduino-cli</code> 和 <code>esp32:esp32</code> 核心编译您的草图。",
"compileStep2": "生成的二进制文件是一个 <strong>合并的 4 MB 闪存映像</strong>:引导加载程序位于 <code>0x1000</code>,分区表位于 <code>0x8000</code>,应用程序位于 <code>0x10000</code>。",
"compileStep3": "前端的 <code>esp32ImageParser.ts</code> 在偏移量 <code>0x10000</code> 处找到应用程序,读取 24 字节的 ESP32 映像头 (魔术字 <code>0xE9</code>),并提取所有段 (加载地址 + 数据)。",
"compileStep4": "每个段被写入 <code>Esp32C3Simulator</code> 的正确内存区域 (IROM、DROM、DRAM 或 IRAM)。",
"compileStep5": "CPU 从映像头中指定的入口点开始执行。",
"gpioHeading": "GPIO 寄存器",
"thRegister": "寄存器",
"thOffset": "偏移量",
"regOutDesc": "当前输出值",
"regW1tsDesc": "置位位 (写 1 置位)",
"regW1tcDesc": "清零位 (写 1 清零)",
"regEnableDesc": "输出使能",
"regInDesc": "输入引脚状态",
"uart0Heading": "UART0",
"uart0Body": "向 <code>0x60000000</code> (UART0 FIFO) 写入一个字节会触发 <code>onSerialData</code> 回调,该回调将字符流式传输到串口监视器。从同一地址读取会从接收 FIFO 中弹出 (由 <code>Serial.read()</code> 使用)。UART 状态寄存器始终返回 0 (TX 就绪)。",
"sourceFilesHeading": "关键源文件",
"thFile": "文件",
"thRole": "角色",
"fileRiscVCoreDesc": "RV32IMC 解释器 (step, MMIO 钩子)",
"fileEsp32C3SimDesc": "ESP32-C3 外设、内存映射、生命周期",
"fileImageParserDesc": "解析合并的闪存映像,提取段",
"fullDetailsCallout": "<strong>完整详情:</strong> 仓库中的 <a>docs/RISCV_EMULATION.md</a>。"
},
"setup": {
"label": "// 项目状态",
"heading": "项目状态",
"lead": "Velxio 中当前实现的所有功能的全面概述。",
"avrHeading": "AVR 仿真 (avr8js)",
"thFeature": "功能",
"thStatus": "状态",
"statWorking": "工作中",
"featAtmega": "ATmega328p CPU @ 16 MHz",
"featTimers": "Timer0, Timer1, Timer2",
"featUsart": "USART (串口)",
"featAdc": "ADC (<code>analogRead</code>)",
"featGpio": "完整 GPIO (PORTB / PORTC / PORTD)",
"feat60fps": "~60 FPS 循环 (267k 周期/帧)",
"featSpeed": "速度控制 (0.1x - 10x)",
"featPwm": "PWM 监控 (6 通道)",
"featInjection": "外部引脚注入 (输入)",
"compSysHeading": "组件系统 (48+)",
"featAst": "通过 AST 自动发现",
"statAstDetected": "检测到 48 个组件",
"featPicker": "带搜索的 ComponentPickerModal",
"featCategories": "9 个类别,带筛选器",
"featDynRender": "通用 DynamicComponent 渲染器",
"featDnd": "画布上的拖放",
"featRotation": "旋转 (90 度增量)",
"featPropsDialog": "属性对话框 (单击)",
"featPinOverlay": "引脚覆盖层 (可点击的青色圆点)",
"partsHeading": "交互式部件 (16 个已仿真)",
"thPart": "部件",
"thType": "类型",
"partLed": "LED",
"partRgb": "RGB LED",
"partLedBar": "LED 条形图 (10 个 LED)",
"part7Seg": "7 段数码管",
"partPushButton": "按钮",
"partPushButton6": "6mm 按钮",
"partSlide": "滑动开关",
"partDipSwitch": "8 位 DIP 开关",
"partPot": "电位器",
"partSlidePot": "滑动电位器",
"partPhoto": "光敏电阻",
"partJoystick": "模拟摇杆",
"partServo": "舵机",
"partBuzzer": "蜂鸣器",
"partLcd1602": "LCD 1602",
"partLcd2004": "LCD 2004",
"typeOutput": "输出",
"typeOutputDigPwm": "输出 (数字 + PWM)",
"typeInput": "输入",
"typeInputAdc": "输入 (ADC)",
"typeInputAdcDigital": "输入 (ADC + 数字)",
"typeInputOutput": "输入/输出",
"typeOutputAudio": "输出 (Web Audio)",
"typeOutputHd44780": "输出 (完整 HD44780)",
"wireHeading": "导线系统",
"featPinClick": "通过点击创建引脚到引脚连接",
"featPreview": "实时预览 (绿色虚线)",
"featOrtho": "正交布线 (无对角线)",
"featSegEdit": "线段编辑 (垂直拖动)",
"feat8Colors": "8 种颜色,按信号类型区分",
"featAutoUpdate": "移动组件时自动更新",
"featSnap": "网格吸附 (20 像素)",
"featSelDel": "导线选择和删除",
"examplesHeading": "示例项目 (8 个)",
"thExample": "示例",
"thDifficulty": "难度",
"exBlink": "闪烁 LED",
"exTraffic": "交通灯",
"exButton": "按钮控制",
"exFade": "LED 渐亮 (PWM)",
"exSerial": "串口 Hello World",
"exRgbColors": "RGB LED 颜色",
"exSimon": "西蒙游戏",
"exLcd": "LCD 20x4 显示屏",
"catBasics": "基础",
"catComm": "通信",
"catGames": "游戏",
"catDisplaysCat": "显示",
"diffBeginner": "初学者",
"diffIntermediate": "中级",
"diffAdvanced": "高级",
"troubleshootingHeading": "故障排除",
"tsModuleProblem": "<code>Cannot find module '@wokwi/elements'</code> / <code>'avr8js'</code>",
"tsLedProblem": "LED 不闪烁",
"tsLedSolution": "先编译,然后点击运行。检查组件的属性对话框中的引脚分配。",
"tsNewCompProblem": "新组件未出现在选择器中",
"tsNewCompSolution": "请参阅上面的“更新 wokwi-elements 后” - 将 wokwi-elements 克隆到 <code>third-party/</code> 中,然后运行 <code>npm run generate:metadata</code>。",
"fullStatusCallout": "<strong>完整状态:</strong> 请参阅仓库中的 <a>docs/SETUP_COMPLETE.md</a>。"
},
"esp32": {
"label": "// xtensa",
"heading": "ESP32 仿真 (Xtensa)",
"lead": "ESP32 和 ESP32-S3 开发板使用 <strong>Xtensa LX6 / LX7</strong> 架构。由于没有生产质量的纯 JavaScript Xtensa 仿真器Velxio 为这些开发板使用了一个 <strong>基于 QEMU 的后端</strong>,即 lcgamboa 分支,带有 libqemu-xtensa编译为原生二进制文件并由 FastAPI 后端提供服务。",
"noteCallout": "<strong>注意:</strong> 本节适用于 <strong>ESP32</strong>、<strong>ESP32-S3</strong> (Xtensa) 和 <strong>ESP32-C3</strong> (RISC-V) - 它们都共享相同的 QEMU lcgamboa 管道,只是使用不同的 libqemu 二进制文件和机器目标。有关 C3 特定的差异,请参阅 <strong>RISC-V 仿真 (ESP32-C3)</strong>。",
"howHeading": "工作原理",
"how1": "Arduino 草图由 <code>arduino-cli</code> 编译为 ESP32 <code>.bin</code> 闪存映像。",
"how2": "前端通过 WebSocket (<code>Esp32Bridge</code>) 将二进制文件发送到后端。",
"how3": "后端使用 lcgamboa Xtensa 插件启动一个 QEMU 进程,加载映像。",
"how4": "GPIO 和 UART 事件通过 WebSocket 转发回浏览器。",
"how5": "前端实时更新组件状态 (LED、显示屏等)。",
"boardsHeading": "支持的开发板",
"boardEsp32Devkit": "ESP32 DevKit C V4",
"altEsp32Devkit": "ESP32 DevKit C V4",
"boardEsp32S3": "ESP32-S3",
"altEsp32S3": "ESP32-S3",
"boardEsp32Cam": "ESP32-CAM",
"altEsp32Cam": "ESP32-CAM",
"boardXiaoS3": "Seeed XIAO ESP32-S3",
"altXiaoS3": "Seeed XIAO ESP32-S3",
"boardNanoEsp32": "Arduino Nano ESP32",
"altNanoEsp32": "Arduino Nano ESP32",
"thBoard": "开发板",
"thCpu": "CPU",
"thEmulation": "仿真方式",
"boardEsp32": "ESP32",
"boardEsp32S3Name": "ESP32-S3",
"cpuLx6": "Xtensa LX6 双核 @ 240 MHz",
"cpuLx7": "Xtensa LX7 双核 @ 240 MHz",
"emuQemu": "QEMU (lcgamboa)",
"peripheralsHeading": "外设支持",
"perGpio": "<strong>GPIO</strong>: 数字输出/输入, LED 控制",
"perUart": "<strong>UART</strong>: 通过 <code>Serial.print()</code> 的串口监视器",
"perI2cSpi": "<strong>I2C / SPI</strong>: 外设通信",
"perRmt": "<strong>RMT / NeoPixel</strong>: 可寻址 LED 灯带",
"perLedc": "<strong>LEDC / PWM</strong>: 硬件 PWM 通道",
"perWifi": "<strong>WiFi</strong>: 部分支持 (连接事件转发)",
"requirementsHeading": "要求",
"requirementsBody": "基于 QEMU 的仿真需要运行 Velxio 后端。这意味着它适用于 <strong>托管版本</strong> (位于 <a>velxio.dev</a>) 和 <strong>Docker 自托管</strong>,但不适用于纯静态前端部署。",
"fullDetailsCallout": "<strong>完整详情:</strong> 仓库中的 <a>docs/ESP32_EMULATION.md</a>。"
},
"roadmap": {
"label": "// 未来",
"heading": "路线图",
"lead": "Velxio 已实现、正在进行中和计划在未来版本中实现的功能。",
"implementedHeading": "已实现",
"impMonaco": "Monaco 编辑器,支持 C++ 语法高亮、自动补全和缩略图",
"impMultiFile": "多文件工作区,可创建、重命名、删除和切换文件",
"impArduinoCli": "通过 <code>arduino-cli</code> 进行 Arduino 编译 (支持多文件草图)",
"impAvr": "通过 avr8js 实现真实的 ATmega328p / ATmega2560 仿真,主频 16 MHz",
"impPeripherals": "完整的 GPIO、定时器、USART、ADC、SPI、I2C 支持",
"impRp2040": "通过 rp2040js 实现真实的 RP2040 仿真,主频 133 MHz",
"impWokwi": "48 个以上的 wokwi-elements 组件,带组件选择器",
"impWires": "导线创建、正交布线和基于线段的编辑",
"impSerial": "串口监视器,支持自动波特率检测和发送",
"impLibMgr": "库管理器 (浏览和安装 Arduino 库)",
"impAuth": "电子邮件/密码和 Google OAuth 认证",
"impProjects": "项目保存、更新、删除,带永久 URL",
"impExamples": "8 个内置示例项目",
"impDocker": "单容器 Docker 镜像,发布到 GHCR 和 Docker Hub",
"inProgressHeading": "进行中",
"ipWires": "功能性导线连接,电气信号路由和验证",
"ipWireErrors": "导线连接错误处理,检测短路和无效连接",
"nearTermHeading": "计划:近期",
"ntUndoRedo": "代码编辑和画布更改的撤销/重做",
"ntExport": "将项目导出/导入为 <code>.zip</code> 文件",
"ntMoreBoards": "更多开发板ESP32、Arduino Leonardo",
"ntBreadboard": "面包板,放置组件并自动布线",
"midTermHeading": "计划:中期",
"mtTypeDoc": "TypeDoc API 文档,从源代码自动生成",
"mtGhPages": "GitHub Pages 文档站点,推送到 <code>main</code> 时自动部署",
"mtSensors": "更多传感器仿真HC-SR04、DHT22、红外接收器",
"mtEeprom": "EEPROM 仿真,仿真重启后持久化读写",
"mtScope": "示波器组件,绘制模拟引脚电压随时间变化",
"longTermHeading": "计划:长期",
"ltMultiplayer": "多人协作,实时共享和协同编辑仿真",
"ltTutorials": "嵌入式教程系统,编辑器内逐步指导项目",
"ltSdk": "自定义组件 SDK使用 JSON/TypeScript API 定义新组件",
"ltMobile": "移动/平板支持,响应式布局适配触摸设备",
"contributeCallout": "<strong>想要贡献?</strong> 欢迎在 <a>github.com/davidmonterocrespo24/velxio</a> 提交功能请求、错误报告和拉取请求。"
},
"emulator": {
"label": "// 内部机制",
"heading": "仿真器架构",
"lead": "Velxio 使用 <strong>真实的 CPU 仿真</strong>,而不是简化模型。本文档描述了仿真的每一层如何工作。",
"dataFlowHeading": "高级数据流",
"avr8Heading": "AVR8 仿真 (Arduino Uno / Nano / Mega)",
"avr8Body": "AVR 后端使用 <a>avr8js</a>,它实现了一个完整的 ATmega328p / ATmega2560 处理器。",
"execLoopHeading": "执行循环",
"execLoopBody": "每个动画帧执行大约 267,000 个 CPU 周期 (16 MHz / 60 FPS)",
"peripheralsHeading": "支持的外设",
"thPeripheral": "外设",
"thDetails": "详情",
"perGpio": "GPIO",
"perGpioDetail": "PORTB (引脚 8-13), PORTC (A0-A5), PORTD (引脚 0-7)",
"perTimers": "Timer0 / Timer1 / Timer2",
"perTimersDetail": "<code>millis()</code>, <code>delay()</code>, 通过 <code>analogWrite()</code> 的 PWM",
"perUsart": "USART",
"perUsartDetail": "完整的发送和接收,为串口监视器提供支持",
"perAdc": "ADC",
"perAdcDetail": "10 位5 V 参考电压,引脚 A0-A5",
"perSpi": "SPI",
"perSpiDetail": "硬件 SPI (支持 ILI9341、SD 卡等)",
"perI2c": "I2C (TWI)",
"perI2cDetail": "硬件 I2C带虚拟设备总线",
"pinMappingHeading": "引脚映射",
"thArduinoPin": "Arduino 引脚",
"thAvrPort": "AVR 端口",
"thBit": "位",
"rp2040Heading": "RP2040 仿真 (Raspberry Pi Pico)",
"rp2040Body": "RP2040 后端使用 <a>rp2040js</a>。",
"rp2040Bullet1": "真实的 RP2040 仿真,主频 133 MHz",
"rp2040Bullet2": "UART0 串行输出显示在串口监视器中",
"rp2040Bullet3": "GPIO 26-29 (A0-A3) 上的 12 位 ADC参考电压 3.3 V",
"hexHeading": "HEX 文件格式",
"hexBody": "Arduino 编译生成 <strong>Intel HEX</strong> 格式。解析器位于 <code>hexParser.ts</code>",
"hex1": "读取以 <code>:</code> 开头的行",
"hex2": "提取地址、记录类型和数据字节",
"hex3": "返回程序字节的 <code>Uint8Array</code>",
"hex4": "<code>AVRSimulator</code> 将其转换为 <code>Uint16Array</code> (16 位字,小端序)",
"sourceFilesHeading": "关键源文件",
"thFile": "文件",
"thPurpose": "用途",
"fileAvrSimDesc": "AVR8 CPU 仿真器封装",
"filePinManagerDesc": "将 Arduino 引脚映射到 UI 组件",
"fileHexParserDesc": "Intel HEX 解析器",
"fileSimCanvasDesc": "画布渲染",
"fileArduinoCliDesc": "arduino-cli 封装",
"fileCompileRouteDesc": "编译 API 端点"
},
"architecture": {
"label": "// 系统设计",
"heading": "项目架构",
"lead": "Velxio 是一个完全本地的 Arduino 仿真器,使用官方的 Wokwi 仓库以获得最大兼容性。它具有真实的 AVR8 CPU 仿真、48 个以上的交互式电子组件、全面的导线系统以及构建时的组件发现管道。",
"overviewHeading": "高级概述",
"dataFlowsHeading": "数据流",
"compilationHeading": "1. 编译",
"simLoopHeading": "2. 仿真循环",
"inputCompsHeading": "3. 输入组件",
"storesHeading": "关键前端存储 (Zustand)",
"thStore": "存储",
"thKeyState": "关键状态",
"storeEditorState": "files[], activeFileId",
"storeEditorPurpose": "多文件 Monaco 工作区",
"storeSimState": "simulator, components, wires, running",
"storeSimPurpose": "仿真 + 画布状态",
"storeAuthState": "user, token",
"storeAuthPurpose": "认证 (持久化到 localStorage)",
"storeProjectState": "projectId, slug",
"storeProjectPurpose": "当前打开的项目",
"routesHeading": "后端路由",
"thRoute": "路由",
"routeCompileDesc": "编译草图文件 - Intel HEX / UF2",
"routeBoardsDesc": "列出可用开发板",
"routeAuthDesc": "电子邮件/密码 + Google OAuth",
"routeProjectsDesc": "CRUD 项目持久化 (SQLite)",
"routeLibsDesc": "Arduino 库管理器集成",
"routeHealthDesc": "健康检查端点",
"wireSysHeading": "导线系统",
"wireSysLead": "导线存储为对象,其起点/终点端点连接到组件引脚位置:",
"wireBullet1": "正交布线,无对角线线段",
"wireBullet2": "线段拖动,垂直于线段方向拖动",
"wireBullet3": "自动更新,移动组件时重新计算导线位置",
"wireBullet4": "网格吸附,所有导线端点使用 20 像素网格",
"fullDetailsCallout": "<strong>完整详情:</strong> 请参阅仓库中的 <a>docs/ARCHITECTURE.md</a>。"
},
"intro": {
"label": "// 概述",
"heading": "简介",
"lead": "<strong>Velxio</strong> 是一个完全本地、开源的 Arduino 仿真器,完全在浏览器中运行。编写 Arduino C++ 代码,使用真实的 <code>arduino-cli</code> 后端编译,并通过真实的 AVR8 / RP2040 CPU 仿真进行仿真,支持 48 个以上的交互式电子组件,无需在您的机器上安装任何软件。",
"whyHeading": "为什么选择 Velxio",
"whyNoInstall": "<strong>无需安装</strong>:一切都在浏览器中运行。",
"whyRealEmulation": "<strong>真实仿真</strong>:不是简化模型,而是精确的 AVR8 / RP2040 CPU 仿真。",
"whyInteractive": "<strong>交互式组件</strong>LED、按钮、电位器、显示屏、传感器等。",
"whyOpenSource": "<strong>开源</strong>:可以检查、修改和自行托管。",
"boardsHeading": "支持的开发板",
"thBoard": "开发板",
"thCpu": "CPU",
"thEmulator": "仿真器",
"boardArduinoUno": "Arduino Uno",
"boardArduinoNano": "Arduino Nano",
"boardArduinoMega": "Arduino Mega",
"boardPiPico": "Raspberry Pi Pico",
"boardEsp32C3": "ESP32-C3 / XIAO C3 / C3 SuperMini",
"boardEsp32": "ESP32 / ESP32-S3",
"cpuAtmega328p": "ATmega328p @ 16 MHz",
"cpuAtmega2560": "ATmega2560 @ 16 MHz",
"cpuRp2040": "RP2040 @ 133 MHz",
"cpuRv32imc": "RV32IMC @ 160 MHz",
"cpuXtensa": "Xtensa LX6/LX7 @ 240 MHz",
"emuAvr8js": "avr8js",
"emuRp2040js": "rp2040js",
"emuEsp32C3": "Esp32C3Simulator (浏览器)",
"emuQemu": "QEMU (lcgamboa)",
"liveDemoCallout": "<strong>在线演示:</strong> <a>velxio.dev</a>,无需安装,打开编辑器即可立即开始仿真。"
},
"nav": {
"intro": "简介",
"gettingStarted": "快速开始",
"emulator": "仿真器架构",
"riscvEmulation": "RISC-V 仿真 (ESP32-C3)",
"esp32Emulation": "ESP32 仿真 (Xtensa)",
"rp2040Emulation": "RP2040 仿真 (Raspberry Pi Pico)",
"raspberryPi3Emulation": "Raspberry Pi 3 仿真 (QEMU)",
"components": "组件参考",
"architecture": "项目架构",
"thirdParty": "Wokwi 库",
"mcp": "MCP 服务器",
"setup": "项目状态",
"roadmap": "路线图",
"buildQemu": "从源码构建 QEMU"
}
}
}