diff --git a/www/admin/inner.js b/www/admin/inner.js index a4762bf50..597f8a7f3 100644 --- a/www/admin/inner.js +++ b/www/admin/inner.js @@ -196,7 +196,7 @@ define([ waitFor.abort(); return void UI.warn(Messages.admin_archiveInval); } - })); + }), true); }).nThen(function () { sFrameChan.query('Q_ADMIN_RPC', { cmd: archive ? 'ARCHIVE_DOCUMENT' : 'RESTORE_ARCHIVED_DOCUMENT', diff --git a/www/common/drive-ui.js b/www/common/drive-ui.js index 4918269a8..3cec98027 100644 --- a/www/common/drive-ui.js +++ b/www/common/drive-ui.js @@ -50,6 +50,7 @@ define([ isMac: navigator.platform === "MacIntel", allowFolderUpload: File.prototype.hasOwnProperty("webkitRelativePath"), }; + var onConnectEvt = Util.mkEvent(true); var stringify = function (obj) { return JSONSortify(obj); @@ -280,6 +281,7 @@ define([ } state = APP.online && !APP.history && state; APP.editable = !APP.readOnly && state; + if (APP.editable) { onConnectEvt.fire(); } if (!state) { APP.$content.addClass('cp-app-drive-readonly'); @@ -4857,22 +4859,24 @@ define([ onClose: cb }); }; - var deprecated = files.sharedFoldersTemp; - if (typeof (deprecated) === "object" && APP.editable && Object.keys(deprecated).length) { - Object.keys(deprecated).forEach(function (fId) { - var data = deprecated[fId]; - var sfId = manager.user.userObject.getSFIdFromHref(data.href); - if (folders[fId] || sfId) { // This shared folder is already stored in the drive... - return void manager.delete([['sharedFoldersTemp', fId]], function () { }); - } - nt = nt(function (waitFor) { - UI.openCustomModal(passwordModal(fId, data, waitFor())); - }).nThen; - }); - nt(function () { - refresh(); - }); - } + onConnectEvt.reg(function () { + var deprecated = files.sharedFoldersTemp; + if (typeof (deprecated) === "object" && Object.keys(deprecated).length) { + Object.keys(deprecated).forEach(function (fId) { + var data = deprecated[fId]; + var sfId = manager.user.userObject.getSFIdFromHref(data.href); + if (folders[fId] || sfId) { // This shared folder is already stored in the drive... + return void manager.delete([['sharedFoldersTemp', fId]], function () { }); + } + nt = nt(function (waitFor) { + UI.openCustomModal(passwordModal(fId, data, waitFor())); + }).nThen; + }); + nt(function () { + refresh(); + }); + } + }); return { refresh: refresh, diff --git a/www/common/inner/properties.js b/www/common/inner/properties.js index da527c8e4..f5780d4c2 100644 --- a/www/common/inner/properties.js +++ b/www/common/inner/properties.js @@ -91,7 +91,7 @@ define([ console.error(e); } bytes += _bytes; - })); + }), true); }); if (!owned) { return; } diff --git a/www/common/sframe-common.js b/www/common/sframe-common.js index 34d95fad0..6fecd26f0 100644 --- a/www/common/sframe-common.js +++ b/www/common/sframe-common.js @@ -185,8 +185,9 @@ define([ }); }; - funcs.getFileSize = function (channelId, cb) { + funcs.getFileSize = function (channelId, cb, noCache) { nThen(function (waitFor) { + if (channelId.length < 48 || noCache) { return; } ctx.cache.getBlobCache(channelId, waitFor(function(err, blob) { if (err) { return; } waitFor.abort(); diff --git a/www/common/translations/messages.fr.json b/www/common/translations/messages.fr.json index 6f7961daf..7ceefbaa6 100644 --- a/www/common/translations/messages.fr.json +++ b/www/common/translations/messages.fr.json @@ -1498,5 +1498,13 @@ "history_trimPrompt": "Ce document a accumulé {0} d'historique qui peut ralentir le temps de chargement. Envisagez de supprimer l'historique s'il n'est pas nécessaire.", "contacts_confirmCancel": "Êtes-vous sûr de vouloir annuler votre demande de contact avec {0} ?", "share_noContactsOffline": "Vous êtes déconnecté. Les contacts ne sont pas disponibles.", - "access_offline": "Vous êtes déconnecté. La gestion de l'accès n'est pas disponible." + "access_offline": "Vous êtes déconnecté. La gestion de l'accès n'est pas disponible.", + "admin_support_last": "Mis à jour le : ", + "admin_support_collapse": "Réduire", + "admin_support_first": "Créé le : ", + "admin_support_open": "Montrer", + "admin_support_closed": "Tickets fermé :", + "admin_support_answered": "Tickets traité :", + "admin_support_normal": "Tickets sans réponse :", + "admin_support_premium": "Tickets prime  :" } diff --git a/www/common/translations/messages.zh.json b/www/common/translations/messages.zh.json index 8e51e44ef..16c97ceee 100644 --- a/www/common/translations/messages.zh.json +++ b/www/common/translations/messages.zh.json @@ -110,11 +110,11 @@ "cancel": "取消", "cancelButton": "取消 (esc)", "historyButton": "顯示文件歷史", - "history_next": "到下一個版本", - "history_prev": "到之前的版本", + "history_next": "下个版本", + "history_prev": "先前版本", "history_closeTitle": "關閉歷史記錄", "history_restoreTitle": "將此文件重建到所挑選的版本", - "history_restorePrompt": "確定要將這個展現的版本來取代現有版本嗎?", + "history_restorePrompt": "您确定要用显示的版本替换文档的当前版本吗?", "history_restoreDone": "文件已重建", "history_version": "版本:", "poll_title": "零知識日期挑選", @@ -173,8 +173,8 @@ "fm_openParent": "顯示在目錄夾中", "fm_noname": "無標題文件", "fm_emptyTrashDialog": "確定要清理垃圾筒嗎?", - "fm_removeSeveralPermanentlyDialog": "確定要將這些 {0} 東西永自垃圾筒移除嗎?", - "fm_removePermanentlyDialog": "你確定要永久地移除這些項目嗎?", + "fm_removeSeveralPermanentlyDialog": "您确定要从您的驱动器中删除这些{0}项目吗? 它们将留在已存储它们的其他用户的驱动器中。", + "fm_removePermanentlyDialog": "您确定要从驱动器中删除此项目吗?它将保留在已存储它的其他用户的驱动器中。", "fm_removeSeveralDialog": "確定要將這些 {0} 東西移至垃圾筒嗎?", "fm_removeDialog": "確定要將移動 {0} 至垃圾筒嗎?", "fm_restoreDialog": "確定要重置 {0} 到它之前的位置嗎?", @@ -187,7 +187,7 @@ "fm_info_template": "包含所有工作檔案已存成模版,便於讓你在建立新工作檔案時套用。", "fm_info_trash": "清空垃圾筒好讓 CryptDrive 多出一些空間", "fm_info_allFiles": "包含在 \"根目錄\", \"未整理的\" 和 \"垃圾筒\" 裏的所有檔案。這裏你無法移動或移除檔案。", - "fm_info_anonymous": "你尚未登入,因此這些工作檔案可能會被刪除。 (了解原因). 註冊登入以便保留它們。", + "fm_info_anonymous": "您没有登录,所以您的文档将在{0}天后过期。清除你的浏览器历史记录可能会使它们消失。
注册 (无需个人信息) 或登录以无限期地把它们储存在你的硬盘里。 阅读更多关于注册帐户。", "fm_alert_backupUrl": "這個雲端硬碟的備份連結
高度建議把自己的 IP 資訊保留成只有自己知道
萬一瀏覽器記憶被消除,你可以用它來接收所有的檔案。
任何知道此連結的人可以編輯或移除你檔案管理底下的所有檔案。
", "fm_alert_anonymous": "嗨你好, 你目前正以匿名方式在使用 CryptPad , 這也沒問題,不過你的東西過一段時間沒動靜後,就會自動被刪除。 匿名的用戶我們也取消其進階功能,因為我們要明確地讓用戶知道,這裏 不是一個安全存放東西的地方。你可以 進一步了解 關於 為何我們這樣作,以及為何你最好能夠註冊 以及 登錄使用。", "fm_backup_title": "備份連結", @@ -199,7 +199,7 @@ "fc_open_ro": "打開 (唯讀)", "fc_delete": "刪除", "fc_restore": "重置", - "fc_remove": "永久刪除", + "fc_remove": "刪除", "fc_empty": "清理垃圾筒", "fc_prop": "Properties", "fc_sizeInKilobytes": "容量大小 (Kilobytes)", @@ -263,14 +263,14 @@ "settings_pinningNotAvailable": "工作檔案置頂功能只開放給已註冊用戶", "settings_pinningError": "有點不對勁", "settings_usageAmount": "你置頂的工作檔案佔了 {0}MB", - "settings_logoutEverywhereTitle": "自所有地點登出", + "settings_logoutEverywhereTitle": "关闭远程会话", "settings_logoutEverywhere": "自所有其它的網頁期間登出", "settings_logoutEverywhereConfirm": "你確定嗎?你將需要登入到所有用到設置。", "upload_serverError": "伺服器出錯:本次無法上傳你的檔案", "upload_uploadPending": "你欲上傳檔案正在傳輸中,要取消並上傳新檔案嗎?", "upload_success": "你的檔案 ({0}) 已成功地上傳並放入到你的網路磁碟中。", "upload_notEnoughSpace": "你的 CryptDrive 無足夠空間來存放這個檔案。", - "upload_tooLarge": "此檔案超過了上傳單一檔案可允許的容量上限。", + "upload_tooLarge": "该文件超过了您的帐户允许的最大上传大小。", "upload_choose": "選擇一個檔案", "upload_pending": "待處理", "upload_cancelled": "已取消的", @@ -313,7 +313,7 @@ "header_logoTitle": "回到主頁", "driveReadmeTitle": "什麼是 CryptPad?", "readme_welcome": "歡迎來到 CryptPad !", - "readme_p1": "歡迎來到 CryptPad, 這裏你可以獨自作個人筆記或是和別人共享協作。", + "readme_p1": "欢迎来到 CryptPad,在这里你可以单独或和联系人一起记录事情。", "readme_p2": "這個工作檔案可以讓你快速地了解如何使用 CryptPad 作筆記,有效地整理管理文件工作檔案。", "readme_cat1": "認識如何使用 CryptDrive", "readme_cat1_l1": "建立一個工作檔案: 在 CryptDrive 底下, 點擊 {0} 然後 {1} 這樣就可以建立一個新的工作檔案。", @@ -353,7 +353,7 @@ "exportButton": "导出", "importButton": "导入", "forgotten": "移到垃圾箱", - "initializing": "初始化中", + "initializing": "初始化中…", "typing": "编辑中", "profile_editDescription": "编辑描述", "profile_addDescription": "添加描述",