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
	}
};
