diff --git a/buildLanguagePacks.bat b/buildLanguagePacks.bat index 41817e14..b9f370a9 100644 --- a/buildLanguagePacks.bat +++ b/buildLanguagePacks.bat @@ -37,6 +37,9 @@ copy index.html.gz languages\tr mkdir languages\zh_CN cmd.exe /c gulp package --lang zh_CN copy index.html.gz languages\zh_CN +mkdir languages\zh_TW +cmd.exe /c gulp package --lang zh_TW +copy index.html.gz languages\zh_TW mkdir languages\uk cmd.exe /c gulp package --lang uk copy index.html.gz languages\uk diff --git a/gulpfile.js b/gulpfile.js index 805d5ebc..94eabdeb 100644 --- a/gulpfile.js +++ b/gulpfile.js @@ -28,6 +28,7 @@ var uk_lang = false; var zh_cn_lang = false; var hu_lang = false; var tr_lang = false; +var zh_tw_lang = false; function clean() { return del(['dist']); @@ -161,6 +162,7 @@ function clearlang() { tr_lang = true; uk_lang = true; zh_cn_lang = true; + zh_tw_lang = true; } if (arg.lang == 'en'){ en_lang = true; @@ -240,6 +242,12 @@ function clearlang() { if(zh_cn_lang){ console.log("zh_CN"); } + if (arg.lang == 'zh_TW'){ + zh_tw_lang = true; + } + if(zh_tw_lang){ + console.log("zh_TW"); + } return gulp.src('dist/js/app.js') .pipe(removeCode({de_lang_disabled: !de_lang})) .pipe(removeCode({en_lang_disabled: !en_lang})) @@ -254,6 +262,7 @@ function clearlang() { .pipe(removeCode({tr_lang_disabled: !tr_lang})) .pipe(removeCode({uk_lang_disabled: !uk_lang})) .pipe(removeCode({zh_cn_lang_disabled: !zh_cn_lang})) + .pipe(removeCode({zh_tw_lang_disabled: !zh_tw_lang})) .pipe(gulp.dest('./dist/js/')) } diff --git a/languages/zh_TW/index.html.gz b/languages/zh_TW/index.html.gz new file mode 100644 index 00000000..c149ba70 Binary files /dev/null and b/languages/zh_TW/index.html.gz differ diff --git a/www/js/language/zh_TW.js b/www/js/language/zh_TW.js new file mode 100644 index 00000000..c9c8c49b --- /dev/null +++ b/www/js/language/zh_TW.js @@ -0,0 +1,422 @@ +//zh_TW +//removeIf(zh_tw_lang_disabled) +//use https://www.mobilefish.com/services/unicode_converter/unicode_converter.php +var zh_TW_trans = { + "zh_tw":"繁體中文", + "ESP3D for":"ESP3D for", + "Value of auto-check must be between 0s and 99s !!":"自動檢查的值必須在0s到99s之間!!", + "Value of extruder velocity must be between 1 mm/min and 9999 mm/min !":"擠出機速度值必須在1 毫米/分鐘至9999 毫米/分鐘之間!", + "Value of filament length must be between 0.001 mm and 9999 mm !":"燈絲長度的值必須在0.001 毫米和9999 毫米之間!", + "cannot have '-', '#' char or be empty":"不能含有 '-', '#' 或 空字元", + "cannot have '-', 'e' char or be empty":"不能含有 '-', 'e' 或 空字元", + "Failed:":"失敗:", + "File config / config.txt not found!":"找不到檔案 config / config.txt!", + "File name cannot be empty!":"檔名不能為空!", + "Value must be ":"值必須為 ", + "Value must be between 0 degres and 999 degres !":"值必須在 0 到 999 之間 !", + "Value must be between 0% and 100% !":"值必須在 0% 到 100% 之間 !", + "Value must be between 25% and 150% !":"值必須在 25% 到 150% 之間 !", + "Value must be between 50% and 300% !":"值必須在 50% 到 300% 之間 !", + "XY feedrate value must be between 1 mm/min and 9999 mm/min !":"XY進給率值必須在 1 毫米/分鐘 and 9999 毫米/分鐘 之間!", + "Z feedrate value must be between 1 mm/min and 999 mm/min !":"Z進給率值必須在 1 毫米/分鐘 and 999 毫米/分鐘 之間!", + " seconds":" 秒", + "Abort":"終止", + "auto-check every:":"自動檢查每隔:", + "auto-check position every:":"自動檢查位置每隔:", + "Autoscroll":"自動滾動", + "Max travel":"最大行程", + "Feed rate":"進給率", + "Touch plate thickness":"Touch plate thickness", + "Bed":"熱床", + "Board":"主機板", + "Busy...":"忙...", + "Camera":"攝像機", + "Cancel":"取消", + "Cannot get EEPROM content!":"無法獲取EEPROM內容!", + "Clear":"清除", + "Close":"關閉", + "Color":"顏色", + "Commands":"命令", + "Communication locked by another process, retry later.":"通訊被另一個程序鎖定,請稍後重試.", + "Communication locked!":"通訊已鎖定!", + "Communications are currently locked, please wait and retry.":"通訊當前處於鎖定狀態,請稍後重試.", + "Confirm deletion of directory: ":"確認刪除目錄: ", + "Confirm deletion of file: ":"確認刪除檔案: ", + "Connecting ESP3D...":"正在連線 ESP3D...", + "Connection failed! is your FW correct?":"連線失敗!您的韌體正確嗎?", + "Controls":"控制", + "Credits":"Credits", + "Dashboard":"儀表盤", + "Data mofified":"資料已修改", + "Do you want to save?":"您要儲存嗎?", + "Enable second extruder controls":"啟用第二擠出機", + "Error":"錯誤", + "ESP3D Filesystem":"ESP3D 檔案系統", + "ESP3D Settings":"ESP3D 設定", + "ESP3D Status":"ESP3D 狀態", + "ESP3D Update":"ESP3D 更新", + "Extrude":"進料", + "Extruder T0":"擠出機 T0", + "Extruder T1":"擠出機 T1", + "Extruders":"擠出機", + "Fan (0-100%)":"風扇速度 (0-100%)", + "Feed (25-150%)":"送料 (25-150%)", + "Feedrate :":"送料速度 :", + "Filename":"檔名", + "Filename/URI":"Filename/URI", + "Verbose mode":"詳細模式", + "Firmware":"韌體", + "Flow (50-300%)":"流量 (50-300%)", + "Heater T0":"加熱頭 T0", + "Heater T1":"加熱頭 T1", + "Help":"幫助", + "Icon":"圖示", + "Interface":"介面", + "Join":"加入", + "Label":"標籤", + "List of available Access Points":"可用AP列表", + "Macro Editor":"巨集命令編輯器", + "mm":"毫米", + "mm/min":"毫米/分鐘", + "Motors off":"關閉電機", + "Name":"名稱", + "Name:":"名稱:", + "Network":"網路", + "No SD card detected":"未檢測到SD卡", + "No":"No", + "Occupation:":"Occupation:", + "Ok":"Ok", + "Options":"選項", + "Out of range":"超出範圍", + "Please Confirm":"請確認", + "Please enter directory name":"請輸入目錄名稱", + "Please wait...":"請稍候...", + "Printer configuration":"印表機配置", + "GRBL configuration":"GRBL 配置", + "Printer":"印表機", + "Progress":"進度", + "Protected":"受保護", + "Refresh":"重新整理", + "Restart ESP3D":"重啟 ESP3D", + "Restarting ESP3D":"正在重啟 ESP3D", + "Restarting":"正在重啟", + "Restarting, please wait....":"正在重新啟動,請稍候....", + "Retry":"重試", + "Reverse":"回抽", + "Save macro list failed!":"儲存巨集列表失敗!", + "Save":"儲存", + "Saving":"正在儲存", + "Scanning":"正在掃描", + "SD Files":"SD檔案", + "sec":"秒", + "Send Command...":"傳送命令...", + "Send":"傳送", + "Set failed":"設定失敗", + "Set":"設定", + "Signal":"訊號", + "Size":"尺寸", + "SSID":"SSID", + "Target":"目標", + "Temperatures":"溫度", + "Total:":"總計:", + "Type":"型別", + "Update Firmware ?":"更新韌體嗎 ?", + "Update is ongoing, please wait and retry.":"更新正在進行,請稍後重試.", + "Update":"更新", + "Upload failed : ":"上傳失敗 : ", + "Upload failed":"上傳失敗", + "Upload":"上傳", + "Uploading ":"正在上傳 ", + "Upload done":"上傳完成", + "Used:":"使用:", + "Value | Target":"當前值 | 預設值", + "Value":"值", + "Wrong data":"錯誤的資料", + "Yes":"Yes", + "Light":"燈", + "None":"無", + "Modem":"調變解調器", + "STA":"客戶端模式", + "AP":"AP模式", + "BT":"藍芽", + "Baud Rate":"波特率", + "Sleep Mode":"睡眠模式", + "Web Port":"Web埠", + "Data Port":"資料埠", + "Hostname":"主機名", + "Wifi mode":"Wifi模式", + "Station SSID":"網路名稱", + "Station Password":"密碼", + "Station Network Mode":"客戶端網路模式", + "Station IP Mode":"客戶端IP模式", + "DHCP":"DHCP", + "Static":"靜態", + "Station Static IP":"客戶端靜態IP", + "Station Static Mask":"Station Static Mask", + "Station Static Gateway":"Station Static Gateway", + "AP SSID":"AP SSID", + "AP Password":"AP密碼", + "AP Network Mode":"AP Network Mode", + "SSID Visible":"SSID可見", + "AP Channel":"AP頻道", + "Open":"Open", + "Authentication":"身份驗證", + "AP IP Mode":"AP IP Mode", + "AP Static IP":"AP Static IP", + "AP Static Mask":"AP Static Mask", + "AP Static Gateway":"AP Static Gateway", + "Time Zone":"Time Zone", + "Day Saving Time":"Day Saving Time", + "Time Server 1":"Time Server 1", + "Time Server 2":"Time Server 2", + "Time Server 3":"Time Server 3", + "Target FW":"Target FW", + "Direct SD access":"直接SD訪問", + "Direct SD Boot Check":"直接SD引導檢查", + "Primary SD":"Primary SD", + "Secondary SD":"Secondary SD", + "Temperature Refresh Time":"溫度重新整理時間", + "Position Refresh Time":"位置重新整理時間", + "Status Refresh Time":"狀態重新整理時間", + "XY feedrate":"XY進給率", + "Z feedrate":"Z進給率", + "E feedrate":"E進給率", + "Camera address":"攝像機地址", + "Setup":"設定", + "Start setup":"開始設定", + "This wizard will help you to configure the basic settings.":"此嚮導將幫助您配置基本設定.", + "Press start to proceed.":"按開始進行.", + "Save your printer's firmware base:":"儲存印表機的韌體庫:", + "This is mandatory to get ESP working properly.":"這是正常執行ESP所必需的.", + "Save your printer's board current baud rate:":"儲存印表機主機板的當前波特率:", + "Printer and ESP board must use same baud rate to communicate properly.":"印表機和ESP板必須使用相同的波特率才能正確通訊.", + "Continue":"繼續", + "WiFi Configuration":"WiFi配置", + "Define ESP role:":"Define ESP role:", + "AP define access point / STA allows to join existing network":"AP模式自定義接入點 / STA模式加入現有網路", + "What access point ESP need to be connected to:":"What access point ESP need to be connected to:", + "You can use scan button, to list available access points.":"您可以使用掃描按鈕列出可用的網路.", + "Password to join access point:":"Password to join access point:", + "Define ESP name:":"Define ESP name:", + "What is ESP access point SSID:":"What is ESP access point SSID:", + "Password for access point:":"AP訪問密碼:", + "Define security:":"定義安全性:", + "SD Card Configuration":"SD卡配置", + "Is ESP connected to SD card:":"ESP是否連線到SD卡:", + "Check update using direct SD access:":"使用直接SD訪問檢查更新:", + "SD card connected to ESP":"SD卡連線到ESP", + "SD card connected to printer":"SD卡連線到印表機", + "Setup is finished.":"設定完成.", + "After closing, you will still be able to change or to fine tune your settings in main interface anytime.":"關閉後,您仍然可以隨時在主介面中更改或微調設定.", + "You may need to restart the board to apply the new settings and connect again.":"您可能需要重新啟動主機板來應用新的設定並重新連線.", + "Identification requested":"Identification requested", + "admin":"admin", + "user":"user", + "guest":"guest", + "Identification invalid!":"Identification invalid!", + "Passwords do not matches!":"密碼不匹配!", + "Password must be >1 and <16 without space!":"密碼須為2-15位且沒有空格!", + "User:":"User:", + "Password:":"Password:", + "Submit":"提交", + "Change Password":"更改密碼", + "Current Password:":"當前密碼:", + "New Password:":"新密碼:", + "Confirm New Password:":"確認新密碼:", + "Error : Incorrect User":"錯誤: 不正確的使用者名稱", + "Error: Incorrect password":"錯誤: 不正確的密碼", + "Error: Missing data":"錯誤: 缺少資料", + "Error: Cannot apply changes":"錯誤: 無法應用更改", + "Error: Too many connections":"錯誤: 連線過多", + "Authentication failed!":"驗證失敗!", + "Serial is busy, retry later!":"序列口忙,請稍後重試!", + "Login":"登入", + "Log out":"登出", + "Password":"密碼", + "No SD Card":"沒有SD卡", + "Check for Update":"檢查更新", + "Please use 8.3 filename only.":"只能使用8.3檔名.", + "Preferences":"偏好", + "Feature":"功能", + "Show camera panel":"顯示攝像機面板", + "Auto load camera":"自動載入攝像機", + "Enable bed controls":"啟用熱床控制元件", + "Enable fan controls":"啟用風扇控制元件", + "Enable Z controls":"啟用Z軸控制元件", + "Panels":"面板", + "Show control panel":"顯示控制面板", + "Show temperatures panel":"顯示溫度面板", + "Show extruder panel":"顯示擠出機面板", + "Show files panel":"顯示檔案面板", + "Show GRBL panel":"顯示GRBL面板", + "Show commands panel":"顯示命令面板", + "Select files":"選擇檔案", + "Select file":"選擇檔案", + "$n files":"$n 檔案", + "No file chosen":"未選擇檔案", + "Length":"Length", + "Output msg":"Output msg", + "Enable":"啟用", + "Disable":"禁用", + "Serial":"序列口", + "Chip ID":"晶片ID", + "CPU Frequency":"CPU頻率", + "CPU Temperature":"CPU溫度", + "Free memory":"可用記憶體", + "Flash Size":"快閃記憶體容量", + "Available Size for update":"可用的更新大小", + "Available Size for SPIFFS":"可用的SPIFFS大小", + "Baud rate":"波特率", + "Sleep mode":"睡眠模式", + "Channel":"頻道", + "Phy Mode":"Phy Mode", + "Web port":"Web埠", + "Data port":"資料埠", + "Active Mode":"活動模式", + "Connected to":"已連線到", + "IP Mode":"IP模式", + "Gateway":"Gateway", + "Mask":"掩碼", + "DNS":"DNS", + "Disabled Mode":"禁用模式", + "Captive portal":"Captive portal", + "Enabled":"啟用", + "Web Update":"Web升級", + "Pin Recovery":"Pin Recovery", + "Disabled":"禁用", + "Target Firmware":"目標韌體", + "SD Card Support":"SD卡支援", + "Time Support":"時間支援", + "M117 output":"M117輸出", + "Oled output":"Oled輸出", + "Serial output":"序列輸出", + "Web socket output":"Web socket輸出", + "TCP output":"TCP輸出", + "FW version":"FW版本", + "Show DHT output":"Show DHT輸出", + "DHT Type":"DHT型別", + "DHT check (seconds)":"DHT檢查(秒)", + "SD speed divider":"SD speed divider", + "Number of extruders":"擠出機數量", + "Mixed extruders":"混合擠出機", + "Extruder":"擠出機", + "Enable lock interface":"啟用鎖定介面", + "Lock interface":"鎖定介面", + "Unlock interface":"解鎖介面", + "You are disconnected":"您已斷開連線", + "Looks like you are connected from another place, so this page is now disconnected":"您已從另一個位置連線,因此本頁面現在已斷開連線", + "Please reconnect me":"請重新連線", + "Mist":"冷卻噴霧", + "Flood":"冷卻液", + "Spindle":"主軸", + "Connection monitoring":"連線監視", + "XY Feedrate value must be at least 1 mm/min!":"XY Feedrate value must be at least 1 毫米/分鐘!", + "Z Feedrate value must be at least 1 mm/min!":"Z Feedrate value must be at least 1 毫米/分鐘!", + "Hold:0":"已完成。準備恢復。", + "Hold:1":"進行中。重置將發出警報。", + "Door:0":"門已關閉。準備恢復。", + "Door:1":"機器停止了。門仍然開著。直到關門後才能恢復。", + "Door:2":"門開啟。保持(或停車縮回)進行中。復位將發出警報。", + "Door:3":"門已關閉並正在恢復。從停車處恢復(如果適用)。重置將引發警報。", + "ALARM:1":"已觸發硬極限。由於突然停止,機器位置可能丟失。強烈建議重新回原點。", + "ALARM:2":"軟限位警報。G程式碼運動目標超出了機器行程。保留了機器位置。可以安全地解除警報,請單擊復位按鈕。", + "ALARM:3":"運動時復位。由於突然停止,機器位置可能會丟失。強烈建議重新回原點。", + "ALARM:4":"探測失敗。在開始探測迴圈之前,探測未處於預期的初始狀態。", + "ALARM:5":"探測失敗。在G38.2和G38.4的程式設計行程內,測頭未與工件接觸。", + "ALARM:6":"回原點失敗。復位了有效的回原點週期。", + "ALARM:7":"回原點失敗。在回原點週期中安全門開啟。", + "ALARM:8":"回原點失敗。拉出行程未能清除限位開關。嘗試增加拉出設定或檢查接線。", + "ALARM:9":"回原點失敗。無法在搜尋距離內找到限位開關。請嘗試增加最大行程,減小下拉距離或檢查接線。", + "error:1":"G碼字由一個字母和一個值組成。找不到字母。", + "error:2":"缺少預期的G程式碼字值或數值格式無效。", + "error:3":"未識別或不支援Grbl'$'系統命令。", + "error:4":"接收到的負值為期望的正值。", + "error:5":"回原點迴圈失敗。未通過設定啟用回原點。", + "error:6":"最小步進脈衝時間必須大於3usec。", + "error:7":"EEPROM讀取失敗。將受影響的EEPROM自動恢復為預設值。", + "error:8":"除非Grbl為IDLE,否則無法使用Grbl'$'命令。確保作業期間的平穩操作。", + "error:9":"在報警或慢進狀態期間,G程式碼命令被鎖定。", + "error:10":"在未啟用回原點的情況下也無法啟用軟限制。", + "error:11":"每行超出最大字元。未執行接收到的命令列。", + "error:12":"Grbl'$'設定值導致步速超過支援的最大值。", + "error:13":"檢測到安全門已開啟並且門狀態已啟動。", + "error:14":"構建資訊或啟動行超出EEPROM行長度限制。行未儲存。", + "error:15":"點動目標超出了機器行程。點動命令已被忽略。", + "error:16":"點動命令沒有'='或包含禁止的g程式碼。", + "error:17":"鐳射模式需要PWM輸出。", + "error:20":"在塊中發現不支援或無效的g程式碼命令。", + "error:21":"在塊中找到的同一模態組中有多個g程式碼命令。", + "error:22":"進紙速度尚未設定或未定義。", + "error:23":"塊中的G程式碼命令需要一個整數值。", + "error:24":"有多個g程式碼命令,需要在塊中找到軸字。", + "error:25":"在塊中找到重複的g碼字。", + "error:26":"在g程式碼命令或需要它們的當前模態下,在程式段中找不到軸字。", + "error:27":"行號值無效。", + "error:28":"G程式碼命令缺少必需的值字。", + "error:29":"不支援G59.x工作座標系。", + "error:30":"G53僅在G0和G1運動模式下允許。", + "error:31":"當沒有命令或當前模態使用它們時,在塊中找到軸字。", + "error:32":"G2和G3圓弧至少需要一個平面內軸字。", + "error:33":"運動命令目標無效。", + "error:34":"圓弧半徑值無效。", + "error:35":"G2和G3圓弧至少需要一個平面內偏移字。", + "error:36":"在塊中找到未使用的價值詞。", + "error:37":"G43.1動態刀具長度補償未分配給已組態的刀具長度軸。", + "error:38":"刀具編號大於最大支援值。", + "error:60":"SD無法掛載", + "error:61":"SD卡無法開啟檔案進行讀取", + "error:62":"SD卡無法開啟目錄", + "error:63":"找不到SD卡目錄", + "error:64":"SD卡檔案為空", + "error:70":"藍芽無法啟動", + "Max travel":"最大行程", + "Plate thickness":"探針資料修正", + "Show probe panel":"顯示探針面板", + "Probe":"探針", + "Start Probe":"啟動探針", + "Touch status":"對刀狀態", + "Value of maximum probe travel must be between 1 mm and 9999 mm !":"最大探頭行程值必須在 1 毫米 至 9999 毫米之間!", + "Value of probe touch plate thickness must be between 0 mm and 9999 mm !":"探針資料修正值必須在 0 毫米 至 9999 毫米之間!", + "Value of probe feedrate must be between 1 mm/min and 9999 mm/min !":"探針進給率值必須在 1 毫米/分鐘 至 9999 毫米/分鐘之間!", + "Probe failed !":"探測失敗 !", + "Probe result saved.":"探測結果已儲存.", + "Browser:":"瀏覽:", + "Probing...":"正在探測...", + "Step pulse, microseconds":"步進脈衝, 微秒", + "Step idle delay, milliseconds":"步進電機空閒時釋放力矩時間,255是一直保持", + "Step port invert, mask":"步進脈衝翻轉介面, mask", + "Direction port invert, mask":"方向翻轉介面, mask", + "Step enable invert, boolean":"步進使能翻轉, boolean", + "Limit pins invert, boolean":"限位引腳翻轉, boolean", + "Probe pin invert, boolean":"探測引腳翻轉, boolean", + "Status report, mask":"狀態報告, mask", + "Junction deviation, mm":"結偏差, mm", + "Arc tolerance, mm":"圓弧公差, mm", + "Report inches, boolean":"報告英寸, boolean", + "Soft limits, boolean":"是否啟用軟體最大行程限制, boolean", + "Hard limits, boolean":"是否啟用硬體限位, boolean", + "Homing cycle, boolean":"是否啟用$H回限位操作, boolean", + "Homing dir invert, mask":"復位方向翻轉", + "Homing feed, mm/min":"復位尋找速度, 毫米/分鐘", + "Homing seek, mm/min":"復位給進速度, 毫米/分鐘", + "Homing debounce, milliseconds":"位消抖, 毫秒", + "Homing pull-off, mm":"復位返回行程, 毫米", + "Max spindle speed, RPM":"最大主軸轉速, RPM", + "Min spindle speed, RPM":"最小主軸轉速, RPM", + "Laser mode, boolean":"鐳射模式, boolean", + "X steps/mm":"X軸電機 步數/毫米,走1mm脈衝數", + "Y steps/mm":"Y軸電機 步數/毫米,走1mm脈衝數", + "Z steps/mm":"Z軸電機 步數/毫米,走1mm脈衝數", + "X Max rate, mm/min":"X軸最大速率, 毫米/分鐘", + "Y Max rate, mm/min":"Y軸最大速率, 毫米/分鐘", + "Z Max rate, mm/min":"Z軸最大速率, 毫米/分鐘", + "X Acceleration, mm/sec^2":"X軸加速度,毫米/秒^2", + "Y Acceleration, mm/sec^2":"Y軸加速度,毫米/秒^2", + "Z Acceleration, mm/sec^2":"Z軸加速度,毫米/秒^2", + "X Max travel, mm":"X軸最大行程,毫米", + "Y Max travel, mm":"Y軸最大行程,毫米", + "Z Max travel, mm":"Z軸最大行程,毫米", + "File extensions (use ; to separate):":"副檔名 (使用 ; 分隔):", + +}; +//endRemoveIf(zh_tw_lang_disabled) diff --git a/www/js/translate.js b/www/js/translate.js index 17c6652c..7a31e212 100644 --- a/www/js/translate.js +++ b/www/js/translate.js @@ -41,6 +41,9 @@ var language_list = [ //removeIf(zh_cn_lang_disabled) ['zh_CN', '简体中文', 'zh_CN_trans'], //endRemoveIf(zh_cn_lang_disabled) +//removeIf(zh_tw_lang_disabled) + ['zh_TW', '繁體中文;', 'zh_TW_trans'], +//endRemoveIf(zh_tw_lang_disabled) ]; //removeIf(production)