Browse Source

Finalized File manager update

Toby Chui 2 năm trước cách đây
mục cha
commit
3b970c850b

+ 35 - 9
web/SystemAO/file_system/file_explorer.css

@@ -220,6 +220,10 @@ body.darkTheme .ui.icon.button{
     border-bottom:2px solid var(--navi_theme_multiselect);
 }
 
+.navibar.mobile{
+    padding-top: 0;
+}
+
 .button.standard{
     box-shadow: 0 1px 1px 0px rgb(190, 190, 190);
     border: 0px;
@@ -234,7 +238,7 @@ body.darkTheme .ui.icon.button{
     File operation bar
 */
 
-.fileOprBtn{
+.navibar .fileOprBtn{
     vertical-align: top;
     border: 1px solid transparent;
     cursor: pointer;
@@ -245,28 +249,44 @@ body.darkTheme .ui.icon.button{
     border-radius: 0.4em;
 }
 
-.fileOprBtn:hover{
+.navibar .fileOprBtn:hover{
     border: 1px solid var(--fileopr_btnhover);
     opacity: 0.8;
 }
-.fileOprBtn .opricon{
+.navibar .fileOprBtn .opricon{
     width: 46px;
 }
-.fileOprBtn .oprtxt{
+.navibar .fileOprBtn .oprtxt{
     color:var(--fileopr_oprtxt);
 }
 
-.twolines.fileOprBtn{
+.navibar .twolines.fileOprBtn{
     padding-top: 0.1em;
     padding-bottom: 0.1em;
 }
-.twolines.fileOprBtn .opricon{
+.navibar .twolines.fileOprBtn .opricon{
     width: 40px;
 }
-.twolines.fileOprBtn .oprtxt{
+.navibar .twolines.fileOprBtn .oprtxt{
     font-size: 1em;
 }
 
+.navibar.mobile .fileOprBtn{
+    padding-bottom: 0.4em;
+    padding-top: 0.2em;
+    border-radius: 0.4em;
+}
+.navibar.mobile .fileOprBtn .opricon{
+    width: 36px;
+}
+.navibar.mobile .twolines.fileOprBtn .opricon{
+    width: 28px;
+}
+.navibar .twolines.fileOprBtn .oprtxt{
+    font-size: 0.7em;
+}
+
+
 .fileoprSmallBtn{
     cursor: pointer;
     border: 1px solid transparent;
@@ -283,10 +303,15 @@ body.darkTheme .ui.icon.button{
     border-radius: 0.4em;
 }
 
-.fileoprGroupDivider{
+.navibar .fileoprGroupDivider{
     padding-right: 0.2em;
     margin-right: 0.2em;
     border-right: 1px solid var(--divider);
+    height: 80px;
+}
+
+.navibar.mobile .fileoprGroupDivider{
+    height: 64px;
 }
 
 .ui.selection.dropdown{
@@ -870,7 +895,8 @@ body.darkTheme .ui.icon.button{
     background-color: var(--navi_bgcolor);
     border-top-right-radius: 0.4em;
     border-top-left-radius: 0.4em;
-    border: 1px solid var(--divider);
+    border: 1px solid var(--divider) !important;
+    color: var(--text_color);
 }
 .closeMsgButton{
     position:absolute;

+ 17 - 18
web/SystemAO/file_system/file_explorer.html

@@ -27,19 +27,17 @@
     <body class="whiteTheme">
         <div id="navibar" class="navibar">
             <!-- File Opr Group-->
-            <div class="btnGroup" style="display:inline-block;">
-                <button class="fileOprBtn desktopOnly" title="Open" onclick="openViaButton();"><img class="opricon" src="img/opr/open.svg"><p class="oprtxt" locale="fileopr/Open">Open</p></button>
-                <button class="fileOprBtn desktopOnly" title="Copy" onclick="copy();"><img class="opricon" src="img/opr/copy.svg"><p class="oprtxt" locale="fileopr/Copy">Copy</p></button>
-                <button class="fileOprBtn desktopOnly" title="Paste" onclick="paste();"><img class="opricon" src="img/opr/paste.svg"><p class="oprtxt" locale="fileopr/Paste">Paste</p></button>
-                <div class="fileoprGroupDivider desktopOnly" style="display: inline-block; vertical-align: top;">
-                    <button class="fileoprSmallBtn" title="Open with" onclick="openWith();"><i class="external icon"></i> <span locale="fileopr/Open with">Open With</span></button><br>
-                    <button class="fileoprSmallBtn" title="Cut" onclick="cut();"><i class="blue cut icon"></i> <span locale="fileopr/Cut">Cut</span></button><br>
-                    <button class="fileoprSmallBtn" title="Rename" onclick="rename();"><i class="teal i cursor icon"></i> <span locale="fileopr/Rename">Rename</span></button>
-                </div>
+            <button class="fileOprBtn desktopOnly" title="Open" onclick="openViaButton();"><img class="opricon" src="img/opr/open.svg"><p class="oprtxt" locale="fileopr/Open">Open</p></button>
+            <button class="fileOprBtn desktopOnly" title="Copy" onclick="copy();"><img class="opricon" src="img/opr/copy.svg"><p class="oprtxt" locale="fileopr/Copy">Copy</p></button>
+            <button class="fileOprBtn desktopOnly" title="Paste" onclick="paste();"><img class="opricon" src="img/opr/paste.svg"><p class="oprtxt" locale="fileopr/Paste">Paste</p></button>
+            <div class="fileoprGroupDivider desktopOnly" style="display: inline-block; vertical-align: top;">
+                <button class="fileoprSmallBtn" title="Open with" onclick="openWith();"><i class="external icon"></i> <span locale="fileopr/Open with">Open With</span></button><br>
+                <button class="fileoprSmallBtn" title="Cut" onclick="cut();"><i class="blue cut icon"></i> <span locale="fileopr/Cut">Cut</span></button><br>
+                <button class="fileoprSmallBtn" title="Rename" onclick="rename();"><i class="teal i cursor icon"></i> <span locale="fileopr/Rename">Rename</span></button>
             </div>
             <button class="fileOprBtn" title="Upload" onclick="upload(); exitMultiSelectMode();"><img class="opricon" src="img/opr/upload.svg"><p class="oprtxt" locale="fileopr/Upload">Upload</p></button>
             <button class="fileOprBtn" title="Download" onclick="downloadFile(); exitMultiSelectMode();"><img class="opricon" src="img/opr/download.svg"><p class="oprtxt" locale="fileopr/Download">Download</p></button>
-            <div class="fileoprGroupDivider" style="display: inline-block; vertical-align: top; height: 80px;"></div>
+            <div class="fileoprGroupDivider" style="display: inline-block; vertical-align: top;"></div>
             <button class="twolines fileOprBtn" title="New Folder" onclick="newFolder(); exitMultiSelectMode();"><img class="opricon" src="img/opr/new_folder.svg"><p class="oprtxt" locale="fileopr/New Folder">New<br>Folder</p></button>
             <div class="fileoprGroupDivider desktopOnly" style="display: inline-block; vertical-align: top;">
                 <button class="fileoprSmallBtn" title="New File" onclick="newfile();"><i class="file outline icon"></i> <span locale="fileopr/New File">New File</span></button><br>
@@ -53,7 +51,7 @@
             </div>
             <button class="fileOprBtn desktopOnly" title="Delete" onclick="deleteFile();"><img class="opricon" src="img/opr/delete.svg"><p class="oprtxt" locale="fileopr/Delete">Delete</p></button>
             <button class="fileOprBtn" title="Share File" onclick="shareFile();"><img class="opricon" src="img/opr/share.svg"><p class="oprtxt" locale="fileopr/Share">Share</p></button>
-            <div class="fileoprGroupDivider" style="display: inline-block; vertical-align: top; height: 80px;"></div>
+            <div class="fileoprGroupDivider" style="display: inline-block; vertical-align: top;"></div>
             <button class="mobileOnly mobileFileOprMenu" onclick="toggleMobileSidebar(true);">
                 <i class="ui large bars icon"></i>
             </button>
@@ -94,11 +92,12 @@
                 <div class="fileOprBtnMobile" title="Paste" onclick="paste(); toggleMobileSidebar(false, exitMultiSelectMode);"><img class="opricon" src="img/opr/paste.svg"><p class="oprtxt" locale="fileopr/Paste">Paste</p></div>
                 <div class="fileOprBtnMobile" title="Delete" onclick="deleteFile(); toggleMobileSidebar(false, exitMultiSelectMode);"><img class="opricon" src="img/opr/delete.svg"><p class="oprtxt" locale="fileopr/Delete">Delete</p></div>
                 <button class="fileoprSmallBtnMobile" title="Multi Select" onclick="toggleCtrl(); toggleMobileSidebar(false);"> <i class="mouse pointer icon"></i> <span locale="fileopr/Multi Select">Multi-select</span></button><br>
-                <button class="fileoprSmallBtnMobile" title="Multi Select" onclick="selectAll(); toggleMobileSidebar(false);"> <i class="plus square icon"></i> <span locale="fileopr/Select All">Select All</span></button><br>
-                <button class="fileoprSmallBtnMobile" title="Clear Selection" onclick="clearSelection(); toggleMobileSidebar(false, exitMultiSelectMode);"> <i class="remove icon"></i> <span locale="fileopr/Clear Select">Clear Selection</span></button><br><button class="fileoprSmallBtnMobile" title="New File" onclick="newfile();"><i class="file outline icon"></i> <span locale="fileopr/New File">New File</span></button><br>
-                <button class="fileoprSmallBtnMobile" title="Open with" onclick="openWith();"><i class="external icon"></i> <span locale="fileopr/Open with">Open With</span></button><br>
-                <button class="fileoprSmallBtnMobile" title="Cut" onclick="cut();"><i class="blue cut icon"></i> <span locale="fileopr/Cut">Cut</span></button><br>
-                <button class="fileoprSmallBtnMobile" title="Rename" onclick="rename();"><i class="teal i cursor icon"></i> <span locale="fileopr/Rename">Rename</span></button>
+                <button class="fileoprSmallBtnMobile" title="Select All" onclick="selectAll(); toggleMobileSidebar(false);"> <i class="blue plus square icon"></i> <span locale="fileopr/Select All">Select All</span></button><br>
+                <button class="fileoprSmallBtnMobile" title="Clear Selection" onclick="clearSelection(); toggleMobileSidebar(false, exitMultiSelectMode);"> <i class="remove icon"></i> <span locale="fileopr/Clear Select">Clear Selection</span></button><br>
+                <button class="fileoprSmallBtnMobile" title="New File" onclick="newfile();"><i class="file outline icon"></i> <span locale="fileopr/New File">New File</span></button><br>
+                <button class="fileoprSmallBtnMobile" title="Open with" onclick="openWith(); toggleMobileSidebar(false);"><i class="external icon"></i> <span locale="fileopr/Open with">Open With</span></button><br>
+                <button class="fileoprSmallBtnMobile" title="Cut" onclick="cut(); toggleMobileSidebar(false, exitMultiSelectMode);"><i class="blue cut icon"></i> <span locale="fileopr/Cut">Cut</span></button><br>
+                <button class="fileoprSmallBtnMobile" title="Rename" onclick="rename(); toggleMobileSidebar(false);"><i class="teal i cursor icon"></i> <span locale="fileopr/Rename">Rename</span></button>
                 <button class="fileoprSmallBtnMobile" title="Create Zip" onclick="zipFile(); toggleMobileSidebar(false, exitMultiSelectMode);"><i class="brown zip file icon"></i> <span locale="fileopr/Create Zip">Create Zip</span></button><br>
                 <button class="fileoprSmallBtnMobile" title="Unzip Here" onclick="unzipHere(); toggleMobileSidebar(false, exitMultiSelectMode);"><i class="inbox icon"></i> <span locale="fileopr/Unzip Here">Unzip Here</span></button><br>
                 <button class="fileoprSmallBtnMobile" title="Refresh" onclick="refreshList(); toggleMobileSidebar(false);"><i class="green refresh icon"></i> <span locale="fileopr/Refresh">Refresh</span></button><br>
@@ -625,6 +624,7 @@
                     $("#directorySidebar").hide();
                     $("#directorySidebar").css("width",window.innerWidth + "px");
                     $("body").css("overflow","hidden");
+                    $("#navibar").addClass("mobile");
                     directorySidebarWidth = window.innerWidth;
                     $("#folderView").css({
                         "padding-right":"1em",
@@ -3727,7 +3727,6 @@
             function exitMultiSelectMode(){
                 if (ctrlHold){
                     ctrlHold = false;
-                    $(".fileObject.selected").removeClass("selected");
                     updateCtrlDisplay();
                 }
             }
@@ -3742,7 +3741,7 @@
                 }
 
                 if (callback != undefined){
-                    callback();
+                    setTimeout(callback, 300);
                 }
             }
 

+ 5 - 1
web/SystemAO/file_system/file_operation.html

@@ -697,7 +697,7 @@
                             if (operationConfig.callbackWindowID == "desktop"){
                                 //Special call from desktop
                                 parent.eval(operationConfig.callbackFunction);
-                            }else if (operationConfig.callbackWindowID !== undefined && operationConfig.callbackFunction !== undefined){
+                            }else if (ao_module_virtualDesktop && operationConfig.callbackWindowID !== undefined && operationConfig.callbackFunction !== undefined){
                                 var callbackWindowObject = parent.getFloatWindowByID(operationConfig.callbackWindowID)
                                 var windowObject = $(callbackWindowObject).find("iframe")[0];
                                 if (windowObject == undefined || windowObject == null){
@@ -720,6 +720,10 @@
 
                             if (!enterErrorMode){
                                 ao_module_close();
+                                setTimeout(function(){
+                                    //If ao_module_close is not working for some reason
+                                    open(location, '_self').close();
+                                }, 500);
                             }
                         }, 1000);
                     }else if (opr == "download"){

+ 141 - 5
web/SystemAO/locale/file_explorer.json

@@ -231,7 +231,7 @@
                 "message/Failed to move file to trash":"無法移動到資源回收箱",
                 "message/Incompatible File System Type: Try SHIFT + DELETE to delete file permanently":"檔案系統不支援檔案回收:請使用 SHIFT + DELETE 以永久移除檔案",
                 "message/Recursive copy operation.":"遞歸複製操作",
-                "message/Source and destination paths are identical.":"目的地與來源路徑相同",
+                "message/Source and destination paths are identical.":"檔案來源與目的地相同",
                 "message/Multiple files share is currently not supported":"不支援多個檔案分享",
 
                 "message/noMatchResults":"找不到匹配的檔案",
@@ -241,7 +241,7 @@
                 "message/folderCannotOpen":"無法開啟此資料夾",
                 "message/folderCannotOpen/codedesc":"伺服器端回傳以下錯誤訊息: ",
 
-                "message/destIdentical": "檔案來源目的地相同",
+                "message/destIdentical": "檔案來源目的地相同",
                 "message/decodeFilelistFail": "載案置入失敗:無法讀取檔案列表",
                 "message/uploadFailed": "載案上載失敗:檔案太大或目標儲存裝置已滿",
                 "message/newFilenameIdentical": "重新命名失敗:新舊檔案名稱相同"
@@ -271,6 +271,9 @@
                 "Edit Path": "編輯路徑",
                 "Sorting Method": "檔案排序",
                 "Search": "搜尋",
+                "Multi Select":"切換多選",
+                "Select All": "全選",
+                "Clear Selection":"清除已選",
                 "Block View": "顯示檔案預覽",
                 "List View": "顯示檔案列表",
                 "Detail View": "顯示詳細資料",
@@ -298,6 +301,63 @@
                 "menu/sort/large": "大至小",
                 "menu/sort/mostrecent": "新到舊",
                 "menu/sort/leastrecent": "舊到新",
+                "menu/sort/smart": "自然數字順序",
+                "menu/sort/typeAsc": "副檔名順序",
+                "menu/sort/typeDes": "副檔名倒序",
+
+                "fileopr/Back": "上一頁",
+                "fileopr/Parent Folder": "返回上層目錄",
+                "fileopr/Open": "開啟",
+                "fileopr/Open with": "以…開啟",
+                "fileopr/Share": "分享",
+                "fileopr/Download": "下載",
+                "fileopr/Copy": "複製",
+                "fileopr/Paste": "貼上",
+                "fileopr/Cut": "剪下",
+                "fileopr/Multi Select": "切換多選",
+                "fileopr/Select All": "全選",
+                "fileopr/Clear Select": "取消選擇",
+                "fileopr/New File": "新增檔案",
+                "fileopr/New Folder": "新增<br>資料夾",
+                "fileopr/Upload": "上載",
+                "fileopr/Create Zip": "建立壓縮檔",
+                "fileopr/Unzip Here": "解壓縮至此",
+                "fileopr/Rename": "重新命名",
+                "fileopr/Delete": "刪除",
+                "fileopr/Refresh": "重新整理",
+                "fileopr/Home": "根目錄",
+                "fileopr/File Info": "檔案資訊",
+                "fileopr/Toggle Folder List": "檢視根目錄列表",
+                "fileopr/Dark Theme": "切換主題配色",
+                "fileopr/Edit Path": "編輯路徑",
+                "fileopr/Sorting Method": "檔案排序",
+                "fileopr/Search": "搜尋",
+                "fileopr/Block View": "顯示檔案預覽",
+                "fileopr/List View": "顯示檔案列表",
+                "fileopr/Case Sensitive": "區分大小寫",
+                "fileopr/Clear Search": "清除搜尋結果",
+
+                "view/details/folders": " 個資料夾",
+                "view/details/files": " 個檔案",
+                "view/details/ext": " 副檔名",
+                "view/details/modTime": " 上次儲存日期",
+                "view/details/shared": " 已分享",
+                "view/details/size": " 大小",
+
+                "tooltip/filecount":" 個項目",
+                "tooltip/selectedcount":" 個已選",
+
+                "sidebar/properties/expand": "放大資訊側欄",
+                "sidebar/properties/shrink":"縮小資訊側欄",
+                "sidebar/properties/filesize":"檔案大小",
+                "sidebar/properties/modtime":"最後更改日期",
+                "sidebar/properties/mimetype":"媒體類型",
+                "sidebar/properties/owner":"擁有者",
+                "sidebar/properties/permission":"存取權限",
+                "sidebar/properties/storepath":"儲存位置",
+                "sidebar/properties/vpath":"虛擬化位置",
+                "sidebar/default/nofileselected": "沒有已選擇之檔案",
+                "sidebar/default/instruction": "在檔案列表內選擇一個檔案以瀏覽詳細資料",
 
                 "sidebar/vroot/user": "使用者",
                 "sidebar/vroot/fsh": "虛擬儲存裝置",
@@ -375,6 +435,8 @@
                 "opr/openwith/openWithWebAppInNewWindow": "使用所選的 WebApp 在新視窗開啟",
                 "opr/openwith/openInNewWindow": "直接於新視窗開啟檔案",
                 "opr/openwith/cancel": "取消",
+                "opr/openwith/floatWindow":"浮動視窗",
+                "opr/openwith/embedded":"檔案輸入",
 
                 "opr/shorcut/title": "在桌面建立捷徑",
                 "opr/shorcut/ok": "捷徑建立成功",
@@ -448,17 +510,21 @@
                 "message/Invalid dir given":"資料夾路徑無效",
                 "message/Storage Quota Full":"儲存配額已滿",
                 "message/Unknown file opeartion given":"不支援的檔案動作請求",
+                "message/No file selected": "沒有選擇檔案",
                 "message/Preference value too long. Preference value can only store maximum 1024 characters.":"設定值太長。設定值只能夠少於 1024 字元",
                 "message/User not logged in":"使用者未登入",
                 "message/Folder not exists":"找不到資料夾",
                 "message/Failed to move file to trash":"無法移動到資源回收箱",
                 "message/Incompatible File System Type: Try SHIFT + DELETE to delete file permanently":"檔案系統不支援檔案回收:請使用 SHIFT + DELETE 以永久移除檔案",
+                "message/Recursive copy operation.":"遞歸複製操作",
+                "message/Source and destination paths are identical.":"檔案來源與目的地相同",
+                "message/Multiple files share is currently not supported":"不支援多個檔案分享",
 
                 "message/noMatchResults":"找不到匹配的檔案",
                 "message/noMatchResultsDesc":"伺服器找不到與此關鍵字匹配的檔案",
                 "message/noMatchResultsInst":"請檢查你的關鍵字或通配符是否正確。",
 
-                "message/destIdentical": "檔案來源目的地相同",
+                "message/destIdentical": "檔案來源目的地相同",
                 "message/decodeFilelistFail": "載案置入失敗:無法讀取檔案列表",
                 "message/uploadFailed": "載案上載失敗:檔案太大或目標儲存裝置已滿",
                 "message/newFilenameIdentical": "重新命名失敗:新舊檔案名稱相同"
@@ -488,11 +554,16 @@
                 "Edit Path": "編輯路徑",
                 "Sorting Method": "檔案排序",
                 "Search": "搜尋",
+                "Multi Select":"切換多選",
+                "Select All": "全選",
+                "Clear Selection":"清除已選",
                 "Block View": "顯示檔案預覽",
                 "List View": "顯示檔案列表",
                 "Detail View": "顯示詳細資料",
                 "Case Sensitive": "區分大小寫",
-                "Clear Search": "清除搜尋結果"
+                "Clear Search": "清除搜尋結果",
+                "Expand Properties Sidebar":"放大資訊側欄",
+                "Shrink Properties Sidebar":"縮小資訊側欄"
             },
             "placeholder": {
                 "New Filename": "在此輸入新檔案名稱",
@@ -513,6 +584,63 @@
                 "menu/sort/large": "大至小",
                 "menu/sort/mostrecent": "新到旧",
                 "menu/sort/leastrecent": "旧到新",
+                "menu/sort/smart": "自然数顺序",
+                "menu/sort/typeAsc": "扩展名顺序",
+                "menu/sort/typeDes": "扩展名倒序",
+
+                "fileopr/Back": "上一页",
+                "fileopr/Parent Folder": "返回上层目录",
+                "fileopr/Open": "开启",
+                "fileopr/Open with": "以…开启",
+                "fileopr/Share": "分享",
+                "fileopr/Download": "下载",
+                "fileopr/Copy": "复制",
+                "fileopr/Paste": "贴上",
+                "fileopr/Cut": "剪下",
+                "fileopr/Multi Select": "切换多选",
+                "fileopr/Select All": "全选",
+                "fileopr/Clear Select": "取消选择",
+                "fileopr/New File": "新增文件",
+                "fileopr/New Folder": "新增<br>资料夹",
+                "fileopr/Upload": "上载",
+                "fileopr/Create Zip": "建立压缩档",
+                "fileopr/Unzip Here": "解压缩至此",
+                "fileopr/Rename": "重新命名",
+                "fileopr/Delete": "删除",
+                "fileopr/Refresh": "重新整理",
+                "fileopr/Home": "根目录",
+                "fileopr/File Info": "文件资讯",
+                "fileopr/Toggle Folder List": "检视根目录列表",
+                "fileopr/Dark Theme": "切换主题配色",
+                "fileopr/Edit Path": "编辑路径",
+                "fileopr/Sorting Method": "文件排序",
+                "fileopr/Search": "搜寻",
+                "fileopr/Block View": "显示文件预览",
+                "fileopr/List View": "显示文件列表",
+                "fileopr/Case Sensitive": "区分大小写",
+                "fileopr/Clear Search": "清除搜寻结果",
+
+                "view/details/folders": " 个资料夹",
+                "view/details/files": " 个文件",
+                "view/details/ext": " 副档名",
+                "view/details/modTime": " 上次储存日期",
+                "view/details/shared": " 已分享",
+                "view/details/size": " 大小",
+
+                "tooltip/filecount":" 个项目",
+                "tooltip/selectedcount":" 个已选",
+
+                "sidebar/properties/expand": "放大资讯侧栏",
+                "sidebar/properties/shrink":"缩小资讯侧栏",
+                "sidebar/properties/filesize":"文件大小",
+                "sidebar/properties/modtime":"最后更改日期",
+                "sidebar/properties/mimetype":"媒体类型",
+                "sidebar/properties/owner":"拥有者",
+                "sidebar/properties/permission":"存取权限",
+                "sidebar/properties/storepath":"储存位置",
+                "sidebar/properties/vpath":"虚拟化位置",
+                "sidebar/default/nofileselected": "没有已选择之文件",
+                "sidebar/default/instruction": "在档案列表内选择一个文件以浏览详细资料",
 
                 "sidebar/vroot/user": "使用者",
                 "sidebar/vroot/fsh": "虚拟储存装置",
@@ -668,6 +796,9 @@
                 "message/Folder not exists":"找不到资料夹", 
                 "message/Failed to move file to trash":"无法移动到资源回收箱",
                 "message/Incompatible File System Type: Try SHIFT + DELETE to delete file permanently":"档案系统不支援文件回收:请使用 SHIFT + DELETE 以永久移除文件",
+                "message/Recursive copy operation.":"递归复制操作",
+                "message/Source and destination paths are identical.":"文件来源与目的地相同",
+                "message/Multiple files share is currently not supported":"不支援多个文件分享",
 
                 "message/noMatchResults":"找不到匹配的文件",
                 "message/noMatchResultsDesc":"伺服器找不到与此关键字匹配的文件",
@@ -703,11 +834,16 @@
                 "Edit Path": "编辑路径",
                 "Sorting Method": "文件排序",
                 "Search": "搜索",
+                "Multi Select":"切换多选",
+                "Select All": "全选",
+                "Clear Selection":"清除已选",
                 "Block View": "显示文件预览",
                 "List View": "显示文件列表",
                 "Detail View": "显示详细资料",
                 "Case Sensitive": "区分大小写",
-                "Clear Search": "清除搜索结果"
+                "Clear Search": "清除搜索结果",
+                "Expand Properties Sidebar":"放大资讯侧栏",
+                "Shrink Properties Sidebar":"缩小资讯侧栏"
             },
             "placeholder": {
                 "New Filename": "在此输入新文件名称",