const CateoryObj = { 'Common': '常用命令', 'System': '系统资源', 'Event': '事件', 'Show': '显示', 'Wifi': 'Wi-Fi', 'IoT': '物联网', 'IoT_OneNet_WeChat': '微信小程序', 'IoT_OneNet': 'OneNet', 'IoT_Blynk': 'Blynk', 'IoT_TinyWebIO': 'TinyWebIO', 'IoT_MQTT': 'MQTT', 'Music': '音乐', 'Pin': '引脚', 'Extend': '扩展', 'Neopixel': 'Neopixel', 'Bluebit': 'Bluebit', 'Sensor': '通用传感器', 'Weather': '天气', 'Logic': '逻辑', 'Loop': '循环', 'Math': '数学', 'Text': '文本', 'Tuple': '元组', 'Dictionary': '字典', 'List': '列表', 'Variables': '变量', 'Functions': '函数', 'Advanced': '高级', 'Set': '集合', 'File': '文件', 'IoTMessage': '开', 'Network': '网络', 'UART': '串口', 'Audio': '音频', 'Radio': '无线广播', 'Bluetooth': '蓝牙', 'Box': 'AI交互实验箱', 'Accelerometer': '加速度计', 'Button': '按键', 'Compass': '指南针', 'Image': '图形', 'Light': '彩灯', 'LCD': 'OLCD屏', 'AI_camera': '摄像头', 'AI_LCD': 'LCD屏', 'AI': 'AI应用', 'AI_face': '人脸检测', 'AI_20classid': '20类识别', 'AI_number': '数字识别', 'AI_color': '颜色追踪' }; const LanguageObj = { 'new': '新建', 'save': '保存', 'open': '打开', 'file':'文件', 'newFile':'新建文件', 'save':'保存', 'openLocal':'打开本地', 'tutorial':'教程', 'teachVideo':'教学视频', 'helpText':'帮助文档', 'discuss':'在线论坛', 'examples':'示例程序', 'connect':'连接', 'fileSystem':'文件系统', 'readOut':'读出', 'burn':'刷入', 'debug':'调试', 'fileInputPlaceholder':'请输入文件名', 'graph':'图形', 'python':'python', 'system':'系统', 'checkUpdate':'检查更新', 'restorFirmware':'烧录固件', 'language':'语言', 'login':'登录', 'cancel':'取消', 'download':'下载', 'confirm':'确定', 'logout':'登出', 'customFirmware':'自定义固件', 'selectFile':'选择文件', 'noFilesWereSelected':'未选择任何文件', 'discoveryOfNewVersions':'发现新版本', 'logout':'登出', 'selectAFixedFile':'选择一个固件文件', 'this_action_will_clear_all_modules_in_the_programming_area_and_continue':'该操作将清除编程区内所有模組,是否继续', 'CocoRoboFirmware': '教科板官方固件(' + OFFICE_HARDWARD_DATE + ')', 'simulationPicoBoardFirmware':'模拟PicoBoard固件', 'customFirmware':'自定义固件', 'select_the_format_you_want_to_save':'请选择需要保存的格式', 'console':'控制台', 'handPyManage':'管理教科板', 'onboardFile':'板载文件', 'setUp':'设置' }; const TOOLBOX = { 'new': { 'title': '新建', 'description': '新建空白项目' }, 'savePyCode': { 'title': '保存代码', 'description': '保存Python代码到本地计算机' }, 'save': { 'title': '保存图形', 'description': '保存图形化代码到本地计算机' }, 'load': { 'title': '打开项目', 'description': '从本地计算机读取项目' }, 'example': { 'title': '示例程序', 'description': '打开软件自带示例' }, 'blockly': { 'title': '代码模式', 'description': '在图形模式和代码模式之间切换' }, 'restore': { 'title': '烧录固件', 'description': '清除所有数据,烧录新的固件' }, 'updateMicrobit': { 'title': '更新固件', 'description': '更新 micro:bit 固件' }, 'read': { 'title': '读出代码', 'description': '从教科板读出上一次刷入的代码' }, 'run': { 'title': '调试代码', 'description': '实时调试代码,不向教科板写入任何内容' }, 'flash': { 'title': '刷入运行', 'description': '将Python代码与图形化代码同时下载到教科板,并触发教科板重启' }, 'flashOnlyCode': { 'title': '只刷代码', 'description': '只下载Python代码,不下载图形化代码' }, 'flashCustom': { 'title': '刷入并重命名', 'description': '下载Python代码,并以自定义文件名来命名' }, 'chart': { 'title': '图表', 'description': '打开图表窗体' }, 'filemanager': { 'title': '文件管理', 'description': '打开板载文件系统' }, 'extend': { 'title': '插件管理', 'description': '添加自定义插件' }, 'login': { 'login': '登录', 'logout': '注销' }, 'help': { 'title': '帮助' }, 'update': { 'title': '检查更新', 'description': '检查是否存在新的软件版本' }, 'helpDoc': { 'title': '帮助文档', 'description': '在新窗口打开软件帮助文档', 'lib': '查看库文件', 'libdesc': '查看CocoRobo.py源码说明' }, 'downloadHex': { 'title': '下载Hex', 'description': '下载Hex文件,再拷贝到micro:bit板' }, 'sim': { 'title': '仿真', 'description': '在micro:bit仿真界面上运行程序' }, 'microbitDriver': { 'title': 'micro:bit USB 驱动' }, 'connect': '连接串口', 'connect-span': '自动连接', 'term-break': '中断', 'term-reboot': '重启', 'term-reset': '重置', 'CocoRobo': '教科板', 'CocoRobobox': 'AI交互实验箱', 'microbit': 'micro:bit' }; const CONFIG = { 'translate': { 'code_snippets': { 'title': '代码片段', 'description': "代码片段是在自己的程序中重用的一小段代码。是micropython程序中最为常用的小段代码。", 'instructions': "选择下面的代码片段,或者输入代码片段的触发器,然后点击TAB键。", 'trigger_heading': '名称', 'description_heading': '描述', 'docs': '创建注释来描述代码', 'wh': '需要创建循环代码', 'with': '使用想要使用的对象来执行一些操作。', 'cl': '创建一个新类,可以定义新对象以及其属性。', 'def': '定义一个函数,可设置需要的参数,并可选地添加一个描述。', 'if': '判定某些条件是真的,那就执行代码。', 'ei': '判定其他条件是真的,那就执行代码。', 'el': '如果是其他的情况,那就执行这里的代码。', 'for': '遍历所有的内容,当然可以对相应的内容做些操作。', 'try': '尝试执行代码,并捕获代码发生的异常或错误。' }, 'share': { 'title': '分享代码', 'instructions': '使用密码和可选提示(帮助您记住密码),以安全地创建一个链接,以便与他人共享代码。', 'passphrase': '密码: ', 'hint': '密码提示: ', 'button': '创建链接', 'description': '这个URL指向您的代码:', 'shortener': '这是您的短链接:' }, 'decrypt': { 'title': '解密源代码', 'instructions': '输入密码来解密源代码。', 'passphrase': '密码: ', 'button': '解密' }, 'alerts': { 'download': '建议使用使用Firefox或Chrome,Safari中将被下载为一个未命名的文件。请将其重命名为以.hex结尾的文件', 'save': '建议使用使用Firefox或Chrome,Safari中将被下载为一个未命名的文件。请将其重命名为以.py结尾的文件', 'length': '代码长度过长,已超过内存限制', 'snippets': '当启用了"可视化编辑"时,"代码片段"就会被禁用' }, 'confirms': { 'quit': "有未保存的代码,确定要退出?", 'blocks': "有未保存的代码,使用“可视化编辑”会改变代码,可能会造成代码丢失。你想继续吗?" }, 'code': { 'start': "" }, 'drop': { 'python': '从Python文件中提取', 'cloud': '从云端项目文件中提取', 'xml': '从xml文件中提取' }, 'messagebar': { 'title': '这个编辑器已经过时', 'link': '点击这里', 'instructions': '打开最新版本', 'close': '关闭' }, 'load': { 'title': '加载脚本', 'titleXml': '加载脚本或xml文件', 'titleblockXml': '加载项目:模块(*.xml) / 代码(*.py)', 'instructions': '拖拽并打开py文件', 'blockXml': '打开xml文件', 'submit': '加载', 'toggle-drop': '或拖拽一个文件', 'toggle-file': '或选择一个文件' }, 'restore': { 'title': '烧录固件:选择一个固件文件(*.bin)', 'firmware_1': '教科板官方固件(' + OFFICE_HARDWARD_DATE + ', ' + OFFICE_HARDWARD_VERSION + ')', 'firmware_box': '人工智能交互实验箱固件(' + CocoRoboBOX_HARDWARD_DATE + ', ' + CocoRoboBOX_HARDWARD_VERSION + ')', 'firmware_m4s': '模拟 micro:bit 连 Scratch 3 协议固件(测试版)', 'firmware_2': '模拟 PicoBoard 连 Scratch 协议固件', 'firmware_3': '自定义固件', 'button': '开始烧录', 'erase': '擦除固件', 'erase_title': '如果多次烧录不成功,可以尝试先擦除固件再烧录', 'suggest_restore': '检测到板载固件版本过低,建议更新到官方最新固件,是否立即更新?', 'suggest_esp32': '未检测到MicroPython运行环境,建议更新到官方最新固件,是否立即更新?' }, 'update_microbit': { 'title': '更新 Micro:bit 固件', 'step_1': '将 hex文件 下载到您的计算机。', 'step_2': '然后,在卸下电池组、并将USB导线连接到计算机的情况下,按住micro:bit背面的重置按钮,然后将USB导线插入设备。您应该看到一个名为 MAINTENANCE 的驱动器出现在文件管理器中。', 'step_3': '将您从本页下载的 hex文件 拖放到 micro:bit 上,然后等待设备背面的黄色LED停止闪烁。升级完成后,micro:bit将自动重置,从计算机中弹出并以正常 MICROBIT 驱动器模式重新出现。', 'download': '点击下载最新 micro:bit 固件' }, 'chart': { 'title': '图表', 'viewFullscreen': '全屏', 'printChart': '退出 全屏', 'downloadPNG': '下载 PNG 图片', 'downloadJPEG': '下载 JPEG 图片', 'downloadPDF': '下载 PDF 文档', 'downloadSVG': '下载 SVG 矢量图', 'downloadCSV': '下载 CSV 文件', 'downloadXLS': '下载 XLS 文件', 'viewData': '', 'openInCloud': '' }, 'filemanager': { 'title': '板载文件管理', 'download-file': '下载到电脑', 'rename-file': '重命名文件', 'delete-file': '删除文件', 'upload-file': '上传到板', 'load-file': '打开文件', 'run-file': '运行文件', 'run_file_limit': '只能运行 *.py 文件', 'new-folder': '新建文件夹', 'delete-folder': '删除文件夹' }, 'example': { 'title': '示例程序' }, 'extend': { 'title': '插件管理' }, 'login': { 'title': '用户登录', 'pass-login': '密码登录', 'code-login': '短信登录', 'ok': '确定', 'cancel': '取消', 'mobile': '手机号:', 'pass': ' 密码:', 'code': '验证码:', 'getcode': '获取验证码', 'alert_mobile': '请输入正确的手机号码。目前仅支持中国大陆以+86开头的11位手机号,或者香港地区以+852开头的8位手机号。', 'alert_pass': '密码不能为空', 'alert_code': '验证码不能为空', 'send_code_ok': '验证码发送成功' }, 'update': { 'message': '发现新版本 {}', 'download': '下载最新版本' }, 'interface': { 'clear_all': '本操作将清除编程区内所有模块,是否继续?', 'code_mode': '代码模式', 'block_mode': '图形模式', 'on_code_mode': '在代码模式下,不能保存模块代码。', 'on_block_mode': '在图形化编程状态下,代码编辑器是只读的。', 'custom_bin': '请选择自定义固件', 'no_board': '未检测到教科板串口连接', 'empty_code': '刷入空代码,替代原有的代码吗?', 'xml_too_big': '图形化代码大小已超过100KB,无法写入;只能写入Python代码部分,是否继续?', 'no_connect': '未连接到互联网!', 'no_update': '当前软件已是最新版本!', 'enter_filename': '请输入文件名:', 'filename_err': '文件名非法,请重新输入' }, 'serial': { 'start_debug': '调试中', 'start_flash': '开始刷入', 'programmer_success': '烧写固件成功', 'programmer_failure': '烧写固件失败', 'programmer_prepare': '准备烧写{}',//,请按下A键一秒,然后松开', 'erase_success': '擦除固件成功', 'erase_failure': '擦除固件失败', 'erase_prepare': '准备擦除固件,请先按住A键不放,然后按下rst键(在板背面),之后依次松开rst键与A键', 'antivirus_blocking': '烧录程序可能被杀毒软件阻止,请关闭杀毒软件再试', 'alert_select_file': '请选择一个文件。', 'prompt_rename': '将 [{}] 改名为:', 'alert_extname': '新文件名必须有扩展名。', 'confirm_delete': '删除后不能恢复,确定要删除文件 [{}] 吗?', 'alert_upload_limit': '最大只允许上传 100KB 的文件。', 'confirm_upload': '准备将文件 [{1}] 上传到教科板的 [{2}] 目录下', 'prompt_new_folder': '在当前路径下创建文件夹,请输入新文件夹名称:', 'alert_invalid_folder': '文件夹命名非法。', 'alert_root': '根文件夹不可删除。', 'confirm_delete_folder': '确定要删除文件夹 [{}] 吗?注意:非空文件夹无法删除。', 'alert_load_file': '只能打开 *.py 或 *.xml 文件', 'file_onboard': '板载程序', 'file_onboard_block': '从教科板内读取的图形化代码', 'file_onboard_code': '从教科板内读取的Python代码', 'alert_try_again': '板载程序未提取成功,再试一次?', 'oserror_261': '定时器冲突,请按下硬件背面的rst键,然后再试。', 'disconnect': '断开连接', 'connect': '连接串口', 'no_port': '未检测到教科板串口连接', 'flash_success': '刷入成功', 'flash_failure': '刷入过程存在错误,请检查程序,或者再试一次。', 'debug_failure': '调试代码存在错误,请检查程序,或者再试一次。', 'read_file_error': '读取文件失败,可能的原因是运行时内存不足,请按下硬件背面的rst键,然后再试。如果仍然不成功,建议暂时将 \'main.py\' 改名,之后重启,以获得最大可用内存,再尝试下载。', 'MemoryError': '内存分配失败,请按下硬件背面的rst键,然后再试。', 'serial_error': '无法接收回传数据,请尝试按下硬件背面的rst键。', 'serial_occupied': '串口可能被其他程序占用,请先解除占用。', 'NoMuVisionSensor': '未能正确引用小MU库文件,请尝试“下载Hex”功能。' }, 'oserror': { '1': '不允许操作', '2': '文件或目录不存在', '3': '没有此类进程', '4': '中断的系统调用', '5': 'I/O错误', '6': '没有此类设备或地址', '7': '参数列表太长', '8': '执行格式错误', '9': '错误的文件编号', '10': '没有子进程', '11': '再试一次', '12': '内存不足', '13': '权限被拒绝', '14': '错误的地址', '15': '需要阻止设备', '16': '设备或资源繁忙', '17': '文件已存在', '18': '跨设备链接', '19': '没有此类设备', '20': '不是目录', '21': '是一个目录', '22': '参数无效', '23': '文件表溢出', '24': '打开太多文件', '25': '不是打字机', '26': '文本文件繁忙', '27': '文件太大', '28': '设备上没有剩余空间', '29': '非法搜寻', '30': '只读文件系统', '31': '链接太多', '32': 'Broken pipe', '33': '数学参数超出函数域', '34': '数学结果无法表示', '97': '协议不支持的地址族', '104': '连接超时', '110': '连接超时', '115': '正在进行中的操作', '261': '定时器冲突,请按下硬件背面的rst键,然后再试。' } }, 'flags': { 'blocks': true, 'snippets': true, 'share': true } };