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': '打開' }; 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': "代碼片段是在自己的程序中重用的壹小段代碼。是微小的python程序中最為常用的小段代碼。", '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 } };