From 9ed72fa92f8e9141fded3ee609e395e48b8f7bdd Mon Sep 17 00:00:00 2001 From: Tatiana Lopaeva Date: Fri, 2 Jun 2023 15:03:23 +0300 Subject: [PATCH 01/16] Web: Client: Added destination folder for file operations. --- packages/client/src/HOCs/withFileActions.js | 23 +++++++++++-- .../dialogs/ConflictResolveDialog/index.js | 8 +++-- .../src/pages/Home/MediaViewer/index.js | 2 +- .../client/src/store/FilesActionsStore.js | 21 +++++++++--- packages/client/src/store/FilesStore.js | 33 +++++++++++++------ packages/client/src/store/TreeFoldersStore.js | 4 +++ packages/client/src/store/UploadDataStore.js | 6 ++-- 7 files changed, 74 insertions(+), 23 deletions(-) diff --git a/packages/client/src/HOCs/withFileActions.js b/packages/client/src/HOCs/withFileActions.js index f85fc7df07..d81cf2d127 100644 --- a/packages/client/src/HOCs/withFileActions.js +++ b/packages/client/src/HOCs/withFileActions.js @@ -333,7 +333,7 @@ export default function withFileActions(WrappedFileItem) { withCtrlSelect, withShiftSelect, } = filesStore; - + const { id } = selectedFolderStore; const { startUpload } = uploadDataStore; const selectedItem = selection.find( @@ -344,8 +344,16 @@ export default function withFileActions(WrappedFileItem) { const isFolder = selectedItem ? false : !item.isFolder ? false : true; + const activeFileIndex = activeFiles.findIndex((x) => x.id === item.id); + + const isNeedProgressLoader = + activeFileIndex !== -1 + ? activeFiles[activeFileIndex].destFolderId?.toString() !== + id.toString() + : false; + const inProgress = - activeFiles.findIndex((x) => x === item.id) !== -1 || + isNeedProgressLoader || activeFolders.findIndex( (x) => x === item.id && @@ -354,6 +362,17 @@ export default function withFileActions(WrappedFileItem) { let isActive = false; + // console.log( + // "activeFiles", + // activeFiles, + // item.id, + // activeFiles.some( + // (elem) => + // elem.id === item.id && + // elem.destFolderId?.toString() !== id.toString() + // ) + // ); + if ( bufferSelection && bufferSelection.id === item.id && diff --git a/packages/client/src/components/dialogs/ConflictResolveDialog/index.js b/packages/client/src/components/dialogs/ConflictResolveDialog/index.js index 26537e781f..ac7a2ac3a7 100644 --- a/packages/client/src/components/dialogs/ConflictResolveDialog/index.js +++ b/packages/client/src/components/dialogs/ConflictResolveDialog/index.js @@ -63,6 +63,7 @@ const ConflictResolveDialog = (props) => { itemOperationToFolder, activeFiles, setActiveFiles, + updateActiveFiles, setMoveToPanelVisible, setCopyPanelVisible, setRestoreAllPanelVisible, @@ -121,11 +122,11 @@ const ConflictResolveDialog = (props) => { if (conflictResolveType === ConflictResolveType.Skip) { for (let item of items) { newFileIds = newFileIds.filter((x) => x !== item.id); - newActiveFiles = newActiveFiles.filter((f) => f !== item.id); + newActiveFiles = newActiveFiles.filter((f) => f.id !== item.id); } } - setActiveFiles(newActiveFiles); + updateActiveFiles(newActiveFiles); if (!folderIds.length && !newFileIds.length) return onClosePanels(); const data = { @@ -264,7 +265,7 @@ export default inject(({ auth, dialogsStore, uploadDataStore, filesStore }) => { } = dialogsStore; const { itemOperationToFolder } = uploadDataStore; - const { activeFiles, setActiveFiles } = filesStore; + const { activeFiles, setActiveFiles, updateActiveFiles } = filesStore; const { settingsStore } = auth; const { theme } = settingsStore; return { @@ -276,6 +277,7 @@ export default inject(({ auth, dialogsStore, uploadDataStore, filesStore }) => { itemOperationToFolder, activeFiles, setActiveFiles, + updateActiveFiles, setMoveToPanelVisible, setRestoreAllPanelVisible, setCopyPanelVisible, diff --git a/packages/client/src/pages/Home/MediaViewer/index.js b/packages/client/src/pages/Home/MediaViewer/index.js index 4953b87316..8a35c71170 100644 --- a/packages/client/src/pages/Home/MediaViewer/index.js +++ b/packages/client/src/pages/Home/MediaViewer/index.js @@ -138,7 +138,7 @@ const FilesMediaViewer = (props) => { let file = files.find((file) => file.id === id); if (file) { // try to fix with one check later (see deleteAction) - const isActiveFile = activeFiles.find((id) => id === file.id); + const isActiveFile = activeFiles.find((elem) => elem.id === file.id); const isActiveFolder = activeFolders.find((id) => id === file.id); if (isActiveFile || isActiveFolder) return; diff --git a/packages/client/src/store/FilesActionsStore.js b/packages/client/src/store/FilesActionsStore.js index 6194758a26..dca02295a3 100644 --- a/packages/client/src/store/FilesActionsStore.js +++ b/packages/client/src/store/FilesActionsStore.js @@ -252,7 +252,12 @@ class FilesActionStore { newSelection = null, withoutDialog = false ) => { - const { isRecycleBinFolder, isPrivacyFolder } = this.treeFoldersStore; + console.log("deleteAction"); + const { + isRecycleBinFolder, + isPrivacyFolder, + recycleBinFolderId, + } = this.treeFoldersStore; const { addActiveItems, getIsEmptyTrash, @@ -291,7 +296,9 @@ class FilesActionStore { while (selection.length !== i) { if (selection[i].fileExst || selection[i].contentLength) { // try to fix with one check later (see onDeleteMediaFile) - const isActiveFile = activeFiles.find((id) => id === selection[i].id); + const isActiveFile = activeFiles.find( + (elem) => elem.id === selection[i].id + ); !isActiveFile && fileIds.push(selection[i].id); } else { // try to fix with one check later (see onDeleteMediaFile) @@ -316,7 +323,9 @@ class FilesActionStore { operationId, }); - addActiveItems(fileIds); + const destFolderId = immediately ? null : recycleBinFolderId; + + addActiveItems(fileIds, null, destFolderId); addActiveItems(null, folderIds); if (this.dialogsStore.isFolderActions && withoutDialog) { @@ -778,6 +787,8 @@ class FilesActionStore { this.filesStore.setOperationAction(true); + //debugger; + console.log("deleteItemOperation"); if (isFile) { addActiveItems([itemId]); this.isMediaOpen(); @@ -1092,7 +1103,7 @@ class FilesActionStore { alert: false, operationId, }); - + //debugger; addActiveItems(null, items); switch (action) { @@ -1418,7 +1429,7 @@ class FilesActionStore { }; checkFileConflicts = (destFolderId, folderIds, fileIds) => { - this.filesStore.addActiveItems(fileIds); + this.filesStore.addActiveItems(fileIds, null, destFolderId); this.filesStore.addActiveItems(null, folderIds); return checkFileConflicts(destFolderId, folderIds, fileIds); }; diff --git a/packages/client/src/store/FilesStore.js b/packages/client/src/store/FilesStore.js index 09a6dd84e0..9aad3ad56f 100644 --- a/packages/client/src/store/FilesStore.js +++ b/packages/client/src/store/FilesStore.js @@ -569,7 +569,7 @@ class FilesStore { } }; - addActiveItems = (files, folders) => { + addActiveItems = (files, folders, destFolderId) => { if (folders && folders.length) { if (!this.activeFolders.length) { this.setActiveFolders(folders); @@ -580,15 +580,23 @@ class FilesStore { if (files && files.length) { if (!this.activeFiles.length) { - this.setActiveFiles(files); + this.setActiveFiles(files, destFolderId); } else { - files.map((item) => this.activeFiles.push(item)); + files.map((item) => this.activeFiles.push({ id: item, destFolderId })); } } }; - setActiveFiles = (activeFiles) => { - this.activeFiles = activeFiles; + updateActiveFiles = (items) => { + this.activeFiles = items; + }; + setActiveFiles = (activeFiles, destFolderId) => { + const arrayFormation = activeFiles.map((id) => ({ + id, + destFolderId, + })); + console.log("arrayFormation", arrayFormation); + this.activeFiles = arrayFormation; }; setActiveFolders = (activeFolders) => { @@ -857,7 +865,7 @@ class FilesStore { getFilesChecked = (file, selected) => { if (!file.parentId) { - if (this.activeFiles.includes(file.id)) return false; + if (this.activeFiles.some((elem) => elem.id === file.id)) return false; } else { if (this.activeFolders.includes(file.id)) return false; } @@ -963,7 +971,7 @@ class FilesStore { const isFound = this.selection.findIndex((f) => f.id == id && !f.isFolder) === -1; - if (this.activeFiles.findIndex((f) => f == id) === -1) { + if (this.activeFiles.findIndex((f) => f.id == id) === -1) { isFound && newSelections.push( this.filesList.find((f) => f.id == id && !f.isFolder) @@ -998,7 +1006,7 @@ class FilesStore { const id = splitValue.slice(1, -3).join("_"); if (fileType === "file") { - if (this.activeFiles.findIndex((f) => f == id) === -1) { + if (this.activeFiles.findIndex((f) => f.id == id) === -1) { newSelections = newSelections.filter( (f) => !(f.id == id && !f.isFolder) ); @@ -2240,6 +2248,7 @@ class FilesStore { newFilter.total -= deleteCount; + console.log(" removeFiles files", files, fileIds); runInAction(() => { this.setFilter(newFilter); this.setFiles(files); @@ -2693,8 +2702,12 @@ class FilesStore { } get cbMenuItems() { - const { isDocument, isPresentation, isSpreadsheet, isArchive } = - this.filesSettingsStore; + const { + isDocument, + isPresentation, + isSpreadsheet, + isArchive, + } = this.filesSettingsStore; let cbMenu = ["all"]; const filesItems = [...this.files, ...this.folders]; diff --git a/packages/client/src/store/TreeFoldersStore.js b/packages/client/src/store/TreeFoldersStore.js index 195fe81382..6e41901a1a 100644 --- a/packages/client/src/store/TreeFoldersStore.js +++ b/packages/client/src/store/TreeFoldersStore.js @@ -87,6 +87,10 @@ class TreeFoldersStore { return this.rootFoldersTitles[FolderType.Archive]?.id; } + get recycleBinFolderId() { + return this.rootFoldersTitles[FolderType.TRASH]?.id; + } + get myFolder() { return this.treeFolders.find((x) => x.rootFolderType === FolderType.USER); } diff --git a/packages/client/src/store/UploadDataStore.js b/packages/client/src/store/UploadDataStore.js index cc3554d41b..987b5982f7 100644 --- a/packages/client/src/store/UploadDataStore.js +++ b/packages/client/src/store/UploadDataStore.js @@ -1636,11 +1636,13 @@ class UploadDataStore { setActiveFolders, } = this.filesStore; - const newActiveFiles = activeFiles.filter((el) => !fileIds?.includes(el)); + const newActiveFiles = activeFiles.filter( + (el) => !fileIds?.includes(el.id) + ); const newActiveFolders = activeFolders.filter( (el) => !folderIds.includes(el) ); - + console.log("clearActiveOperations", newActiveFiles); setActiveFiles(newActiveFiles); setActiveFolders(newActiveFolders); }; From fb40d5b5420cdef766fb62800c5f29888f0e4e70 Mon Sep 17 00:00:00 2001 From: Tatiana Lopaeva Date: Fri, 2 Jun 2023 15:55:54 +0300 Subject: [PATCH 02/16] Web: Client: Added destination folder for folder operations. --- packages/client/src/HOCs/withFileActions.js | 40 ++++++++----------- .../src/pages/Home/MediaViewer/index.js | 4 +- .../client/src/store/FilesActionsStore.js | 10 +++-- packages/client/src/store/FilesStore.js | 25 +++++++----- packages/client/src/store/UploadDataStore.js | 9 ++++- 5 files changed, 49 insertions(+), 39 deletions(-) diff --git a/packages/client/src/HOCs/withFileActions.js b/packages/client/src/HOCs/withFileActions.js index d81cf2d127..6343fdd0b5 100644 --- a/packages/client/src/HOCs/withFileActions.js +++ b/packages/client/src/HOCs/withFileActions.js @@ -344,35 +344,29 @@ export default function withFileActions(WrappedFileItem) { const isFolder = selectedItem ? false : !item.isFolder ? false : true; + const isProgress = (index, items) => { + if (index === -1) return false; + const destFolderId = items[index].destFolderId; + + if (!destFolderId) return true; + + return destFolderId.toString() !== id.toString(); + }; + const activeFileIndex = activeFiles.findIndex((x) => x.id === item.id); + const activeFolderIndex = activeFolders.findIndex( + (x) => + x.id === item.id && + (item.isFolder || (!item.fileExst && item.id === -1)) + ); - const isNeedProgressLoader = - activeFileIndex !== -1 - ? activeFiles[activeFileIndex].destFolderId?.toString() !== - id.toString() - : false; + const isFileProgress = isProgress(activeFileIndex, activeFiles); + const isFolderProgress = isProgress(activeFolderIndex, activeFolders); - const inProgress = - isNeedProgressLoader || - activeFolders.findIndex( - (x) => - x === item.id && - (item.isFolder || (!item.fileExst && item.id === -1)) - ) !== -1; + const inProgress = isFileProgress || isFolderProgress; let isActive = false; - // console.log( - // "activeFiles", - // activeFiles, - // item.id, - // activeFiles.some( - // (elem) => - // elem.id === item.id && - // elem.destFolderId?.toString() !== id.toString() - // ) - // ); - if ( bufferSelection && bufferSelection.id === item.id && diff --git a/packages/client/src/pages/Home/MediaViewer/index.js b/packages/client/src/pages/Home/MediaViewer/index.js index 8a35c71170..503591ed9a 100644 --- a/packages/client/src/pages/Home/MediaViewer/index.js +++ b/packages/client/src/pages/Home/MediaViewer/index.js @@ -139,7 +139,9 @@ const FilesMediaViewer = (props) => { if (file) { // try to fix with one check later (see deleteAction) const isActiveFile = activeFiles.find((elem) => elem.id === file.id); - const isActiveFolder = activeFolders.find((id) => id === file.id); + const isActiveFolder = activeFolders.find( + (elem) => elem.id === file.id + ); if (isActiveFile || isActiveFolder) return; diff --git a/packages/client/src/store/FilesActionsStore.js b/packages/client/src/store/FilesActionsStore.js index dca02295a3..1815b0dfaf 100644 --- a/packages/client/src/store/FilesActionsStore.js +++ b/packages/client/src/store/FilesActionsStore.js @@ -303,7 +303,7 @@ class FilesActionStore { } else { // try to fix with one check later (see onDeleteMediaFile) const isActiveFolder = activeFolders.find( - (id) => id === selection[i].id + (elem) => elem.id === selection[i].id ); !isActiveFolder && folderIds.push(selection[i].id); } @@ -326,7 +326,7 @@ class FilesActionStore { const destFolderId = immediately ? null : recycleBinFolderId; addActiveItems(fileIds, null, destFolderId); - addActiveItems(null, folderIds); + addActiveItems(null, folderIds, destFolderId); if (this.dialogsStore.isFolderActions && withoutDialog) { folderIds = []; @@ -1104,7 +1104,9 @@ class FilesActionStore { operationId, }); //debugger; - addActiveItems(null, items); + const destFolder = action === "archive" ? archiveRoomsId : myRoomsId; + + addActiveItems(null, items, destFolder); switch (action) { case "archive": @@ -1430,7 +1432,7 @@ class FilesActionStore { checkFileConflicts = (destFolderId, folderIds, fileIds) => { this.filesStore.addActiveItems(fileIds, null, destFolderId); - this.filesStore.addActiveItems(null, folderIds); + this.filesStore.addActiveItems(null, folderIds, destFolderId); return checkFileConflicts(destFolderId, folderIds, fileIds); }; diff --git a/packages/client/src/store/FilesStore.js b/packages/client/src/store/FilesStore.js index 9aad3ad56f..0d0c1b17e6 100644 --- a/packages/client/src/store/FilesStore.js +++ b/packages/client/src/store/FilesStore.js @@ -572,9 +572,11 @@ class FilesStore { addActiveItems = (files, folders, destFolderId) => { if (folders && folders.length) { if (!this.activeFolders.length) { - this.setActiveFolders(folders); + this.setActiveFolders(folders, destFolderId); } else { - folders.map((item) => this.activeFolders.push(item)); + folders.map((item) => + this.activeFolders.push({ id: item, destFolderId }) + ); } } @@ -595,12 +597,17 @@ class FilesStore { id, destFolderId, })); - console.log("arrayFormation", arrayFormation); + this.activeFiles = arrayFormation; }; - setActiveFolders = (activeFolders) => { - this.activeFolders = activeFolders; + setActiveFolders = (activeFolders, destFolderId) => { + const arrayFormation = activeFolders.map((id) => ({ + id, + destFolderId, + })); + console.log("arrayFormation", arrayFormation); + this.activeFolders = arrayFormation; }; setIsLoaded = (isLoaded) => { @@ -865,9 +872,9 @@ class FilesStore { getFilesChecked = (file, selected) => { if (!file.parentId) { - if (this.activeFiles.some((elem) => elem.id === file.id)) return false; + if (this.activeFiles.find((elem) => elem.id === file.id)) return false; } else { - if (this.activeFolders.includes(file.id)) return false; + if (this.activeFolders.find((elem) => elem.id === file.id)) return false; } const type = file.fileType; @@ -977,7 +984,7 @@ class FilesStore { this.filesList.find((f) => f.id == id && !f.isFolder) ); } - } else if (this.activeFolders.findIndex((f) => f == id) === -1) { + } else if (this.activeFolders.findIndex((f) => f.id == id) === -1) { const isFound = this.selection.findIndex((f) => f.id == id && f.isFolder) === -1; @@ -1011,7 +1018,7 @@ class FilesStore { (f) => !(f.id == id && !f.isFolder) ); } - } else if (this.activeFolders.findIndex((f) => f == id) === -1) { + } else if (this.activeFolders.findIndex((f) => f.id == id) === -1) { newSelections = newSelections.filter( (f) => !(f.id == id && f.isFolder) ); diff --git a/packages/client/src/store/UploadDataStore.js b/packages/client/src/store/UploadDataStore.js index 987b5982f7..2045d3b530 100644 --- a/packages/client/src/store/UploadDataStore.js +++ b/packages/client/src/store/UploadDataStore.js @@ -1640,9 +1640,14 @@ class UploadDataStore { (el) => !fileIds?.includes(el.id) ); const newActiveFolders = activeFolders.filter( - (el) => !folderIds.includes(el) + (el) => !folderIds.includes(el.id) + ); + console.log( + "clearActiveOperations newActiveFiles", + newActiveFiles, + "newActiveFolders", + newActiveFolders ); - console.log("clearActiveOperations", newActiveFiles); setActiveFiles(newActiveFiles); setActiveFolders(newActiveFolders); }; From 08f46aeb5fcb5a02cb40e46204ac69927a60147c Mon Sep 17 00:00:00 2001 From: Tatiana Lopaeva Date: Fri, 2 Jun 2023 16:36:39 +0300 Subject: [PATCH 03/16] Web: Client: Added destination folder if deletion without dialog. --- packages/client/src/store/FilesActionsStore.js | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/packages/client/src/store/FilesActionsStore.js b/packages/client/src/store/FilesActionsStore.js index 1815b0dfaf..275efa7032 100644 --- a/packages/client/src/store/FilesActionsStore.js +++ b/packages/client/src/store/FilesActionsStore.js @@ -778,6 +778,7 @@ class FilesActionStore { deleteItemOperation = (isFile, itemId, translations, isRoom, operationId) => { const { addActiveItems, getIsEmptyTrash } = this.filesStore; const { withPaging } = this.authStore.settingsStore; + const { isRecycleBinFolder, recycleBinFolderId } = this.treeFoldersStore; const pbData = { icon: "trash", @@ -787,10 +788,10 @@ class FilesActionStore { this.filesStore.setOperationAction(true); - //debugger; - console.log("deleteItemOperation"); + const destFolderId = isRecycleBinFolder ? null : recycleBinFolderId; + if (isFile) { - addActiveItems([itemId]); + addActiveItems([itemId], null, destFolderId); this.isMediaOpen(); return deleteFile(itemId) .then(async (res) => { @@ -832,7 +833,7 @@ class FilesActionStore { this.setGroupMenuBlocked(false); }); } else { - addActiveItems(null, [itemId]); + addActiveItems(null, [itemId], destFolderId); return deleteFolder(itemId) .then(async (res) => { if (res[0]?.error) return Promise.reject(res[0].error); @@ -1103,7 +1104,7 @@ class FilesActionStore { alert: false, operationId, }); - //debugger; + const destFolder = action === "archive" ? archiveRoomsId : myRoomsId; addActiveItems(null, items, destFolder); From 91b700c815c00515488a6eb165d8b00f5b824cdb Mon Sep 17 00:00:00 2001 From: Tatiana Lopaeva Date: Fri, 2 Jun 2023 17:35:49 +0300 Subject: [PATCH 04/16] Web: Client: Fixed the problem of overwriting files if you go to the trash during the delete operation. --- .../client/src/store/FilesActionsStore.js | 23 +++++++++++++++---- packages/client/src/store/FilesStore.js | 6 +++-- 2 files changed, 22 insertions(+), 7 deletions(-) diff --git a/packages/client/src/store/FilesActionsStore.js b/packages/client/src/store/FilesActionsStore.js index 275efa7032..15d4dd4772 100644 --- a/packages/client/src/store/FilesActionsStore.js +++ b/packages/client/src/store/FilesActionsStore.js @@ -371,7 +371,14 @@ class FilesActionStore { showToast(); } else { this.updateFilesAfterDelete(operationId); - this.filesStore.removeFiles(fileIds, folderIds, showToast); + + this.filesStore.removeFiles( + fileIds, + folderIds, + showToast, + destFolderId + ); + this.uploadDataStore.removeFiles(fileIds); } @@ -804,8 +811,11 @@ class FilesActionStore { toastr.success(translations.successRemoveFile); } else { this.updateFilesAfterDelete(operationId); - this.filesStore.removeFiles([itemId], null, () => - toastr.success(translations.successRemoveFile) + this.filesStore.removeFiles( + [itemId], + null, + () => toastr.success(translations.successRemoveFile), + destFolderId ); } }) @@ -845,8 +855,11 @@ class FilesActionStore { toastr.success(translations.successRemoveFolder); } else { this.updateFilesAfterDelete(operationId); - this.filesStore.removeFiles(null, [itemId], () => - toastr.success(translations.successRemoveFolder) + this.filesStore.removeFiles( + null, + [itemId], + () => toastr.success(translations.successRemoveFolder), + destFolderId ); } diff --git a/packages/client/src/store/FilesStore.js b/packages/client/src/store/FilesStore.js index 0d0c1b17e6..6ed4962f41 100644 --- a/packages/client/src/store/FilesStore.js +++ b/packages/client/src/store/FilesStore.js @@ -436,6 +436,7 @@ class FilesStore { tempActionFilesIds.push(this.files[foundIndex].id); this.setTempActionFilesIds(tempActionFilesIds); + this.debounceRemoveFiles(); // Hide pagination when deleting files @@ -2241,10 +2242,12 @@ class FilesStore { this.scrollToTop(); }; - removeFiles = (fileIds, folderIds, showToast) => { + removeFiles = (fileIds, folderIds, showToast, destFolderId) => { const newFilter = this.filter.clone(); const deleteCount = (fileIds?.length ?? 0) + (folderIds?.length ?? 0); + if (destFolderId && destFolderId === this.selectedFolderStore.id) return; + if (newFilter.total <= newFilter.pageCount) { const files = fileIds ? this.files.filter((x) => !fileIds.includes(x.id)) @@ -2255,7 +2258,6 @@ class FilesStore { newFilter.total -= deleteCount; - console.log(" removeFiles files", files, fileIds); runInAction(() => { this.setFilter(newFilter); this.setFiles(files); From 9a092c7fbc3af05fa74e49956605bfd918c6aae0 Mon Sep 17 00:00:00 2001 From: Tatiana Lopaeva Date: Fri, 2 Jun 2023 17:50:25 +0300 Subject: [PATCH 05/16] Web: Client: Added error handler. --- packages/client/src/helpers/filesUtils.js | 4 ++++ packages/client/src/store/UploadDataStore.js | 5 +++++ 2 files changed, 9 insertions(+) diff --git a/packages/client/src/helpers/filesUtils.js b/packages/client/src/helpers/filesUtils.js index 38b43c673c..9044844f1e 100644 --- a/packages/client/src/helpers/filesUtils.js +++ b/packages/client/src/helpers/filesUtils.js @@ -95,6 +95,10 @@ export const getDefaultFileName = (format) => { } }; +export const getUnexpectedErrorText = () => { + return i18n.t("Common:UnexpectedError"); +}; + export const addFileToRecent = async (fileId) => { try { await addFileToRecentlyViewed(fileId); diff --git a/packages/client/src/store/UploadDataStore.js b/packages/client/src/store/UploadDataStore.js index 2045d3b530..e53056619d 100644 --- a/packages/client/src/store/UploadDataStore.js +++ b/packages/client/src/store/UploadDataStore.js @@ -23,6 +23,7 @@ import { } from "@docspace/components/utils/device"; import { combineUrl } from "@docspace/common/utils"; import config from "PACKAGE_FILE"; +import { getUnexpectedErrorText } from "SRC_DIR/helpers/filesUtils"; const UPLOAD_LIMIT_AT_ONCE = 5; @@ -1614,6 +1615,10 @@ class UploadDataStore { setTimeout(async () => { try { await getProgress().then((res) => { + if (!res || res.length === 0) { + reject(getUnexpectedErrorText()); + } + const currentItem = res.find((x) => x.id === id); if (currentItem?.error) { reject(currentItem.error); From 978be0a600b0988e83ee8dc7781d983a16f78d5f Mon Sep 17 00:00:00 2001 From: Tatiana Lopaeva Date: Fri, 2 Jun 2023 17:52:32 +0300 Subject: [PATCH 06/16] Web: Client: Deleted useless code. --- packages/client/src/store/FilesActionsStore.js | 1 - packages/client/src/store/UploadDataStore.js | 7 +------ 2 files changed, 1 insertion(+), 7 deletions(-) diff --git a/packages/client/src/store/FilesActionsStore.js b/packages/client/src/store/FilesActionsStore.js index 15d4dd4772..0458f33602 100644 --- a/packages/client/src/store/FilesActionsStore.js +++ b/packages/client/src/store/FilesActionsStore.js @@ -252,7 +252,6 @@ class FilesActionStore { newSelection = null, withoutDialog = false ) => { - console.log("deleteAction"); const { isRecycleBinFolder, isPrivacyFolder, diff --git a/packages/client/src/store/UploadDataStore.js b/packages/client/src/store/UploadDataStore.js index e53056619d..21123866ce 100644 --- a/packages/client/src/store/UploadDataStore.js +++ b/packages/client/src/store/UploadDataStore.js @@ -1647,12 +1647,7 @@ class UploadDataStore { const newActiveFolders = activeFolders.filter( (el) => !folderIds.includes(el.id) ); - console.log( - "clearActiveOperations newActiveFiles", - newActiveFiles, - "newActiveFolders", - newActiveFolders - ); + setActiveFiles(newActiveFiles); setActiveFolders(newActiveFolders); }; From 015490cc44d343268cb085b5423d03c8d430ce0a Mon Sep 17 00:00:00 2001 From: Tatiana Lopaeva Date: Fri, 2 Jun 2023 18:08:53 +0300 Subject: [PATCH 07/16] Web: Client: Deleted useless code. --- packages/client/src/store/FilesStore.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/client/src/store/FilesStore.js b/packages/client/src/store/FilesStore.js index 6ed4962f41..00fe9dc1e6 100644 --- a/packages/client/src/store/FilesStore.js +++ b/packages/client/src/store/FilesStore.js @@ -607,7 +607,7 @@ class FilesStore { id, destFolderId, })); - console.log("arrayFormation", arrayFormation); + this.activeFolders = arrayFormation; }; From f6643996a19c9cf24bab23441bc82c1b75bc9992 Mon Sep 17 00:00:00 2001 From: Tatiana Lopaeva Date: Mon, 5 Jun 2023 08:44:16 +0300 Subject: [PATCH 08/16] Web: Client: Refactoring. --- packages/client/src/HOCs/withFileActions.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/client/src/HOCs/withFileActions.js b/packages/client/src/HOCs/withFileActions.js index 6343fdd0b5..97b0f1be2b 100644 --- a/packages/client/src/HOCs/withFileActions.js +++ b/packages/client/src/HOCs/withFileActions.js @@ -350,7 +350,7 @@ export default function withFileActions(WrappedFileItem) { if (!destFolderId) return true; - return destFolderId.toString() !== id.toString(); + return destFolderId != id; }; const activeFileIndex = activeFiles.findIndex((x) => x.id === item.id); From 71d0dce908fdb5dc53839dd254484193d517ab45 Mon Sep 17 00:00:00 2001 From: pavelbannov Date: Tue, 6 Jun 2023 11:49:37 +0300 Subject: [PATCH 09/16] fix Bug 62879 --- common/ASC.Core.Common/Tenants/TenantQuota.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/common/ASC.Core.Common/Tenants/TenantQuota.cs b/common/ASC.Core.Common/Tenants/TenantQuota.cs index 2e3c05bb8b..b883c2ebc0 100644 --- a/common/ASC.Core.Common/Tenants/TenantQuota.cs +++ b/common/ASC.Core.Common/Tenants/TenantQuota.cs @@ -241,7 +241,7 @@ public class TenantQuota : IMapFrom _autoBackupRestoreFeature = new TenantQuotaFeatureFlag(this) { Name = "restore", Order = 6 }; _oauthFeature = new TenantQuotaFeatureFlag(this) { Name = "oauth", Visible = false }; _contentSearchFeature = new TenantQuotaFeatureFlag(this) { Name = "contentsearch", Visible = false }; - _thirdPartyFeature = new TenantQuotaFeatureFlag(this) { Name = "thirdparty", Visible = false }; + _thirdPartyFeature = new TenantQuotaFeatureFlag(this) { Name = "thirdparty" }; TenantQuotaFeatures = new List { From ae4be04dd8c20ab6130b85e9072122755dd60e06 Mon Sep 17 00:00:00 2001 From: Evgeniy Antonyuk Date: Tue, 6 Jun 2023 15:47:25 +0500 Subject: [PATCH 10/16] Fix elasticsearch crash for servers with minimal RAM --- build/install/OneClickInstall/install-Docker.sh | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/build/install/OneClickInstall/install-Docker.sh b/build/install/OneClickInstall/install-Docker.sh index 637a03daa8..3c8cc4293f 100644 --- a/build/install/OneClickInstall/install-Docker.sh +++ b/build/install/OneClickInstall/install-Docker.sh @@ -1024,6 +1024,12 @@ install_product () { reconfigure DOCKER_TAG ${DOCKER_TAG} [[ -n $EXTERNAL_PORT ]] && sed -i "s/8092:8092/${EXTERNAL_PORT}:8092/g" $BASE_DIR/${PRODUCT}.yml + + if [ ${TOTAL_MEMORY} -gt 12228 ]; then #RAM ~12Gb + sed -i 's/Xms[0-9]g/Xms4g/g; s/Xmx[0-9]g/Xmx4g/g' $BASE_DIR/${PRODUCT}.yml + else + sed -i 's/Xms[0-9]g/Xms1g/g; s/Xmx[0-9]g/Xmx1g/g' $BASE_DIR/${PRODUCT}.yml + fi docker-compose -f $BASE_DIR/migration-runner.yml up -d docker-compose -f $BASE_DIR/${PRODUCT}.yml up -d From 21d36203852c31cd2d96b313a6c55c2893eec3b3 Mon Sep 17 00:00:00 2001 From: Evgeniy Antonyuk Date: Tue, 6 Jun 2023 15:47:46 +0500 Subject: [PATCH 11/16] Optimize docker-compose installation --- .../install/OneClickInstall/install-Docker.sh | 49 +++---------------- 1 file changed, 7 insertions(+), 42 deletions(-) diff --git a/build/install/OneClickInstall/install-Docker.sh b/build/install/OneClickInstall/install-Docker.sh index 3c8cc4293f..3464e31fd2 100644 --- a/build/install/OneClickInstall/install-Docker.sh +++ b/build/install/OneClickInstall/install-Docker.sh @@ -548,31 +548,12 @@ install_service () { } install_docker_compose () { - if ! command_exists python3; then - install_service python3 - fi - - py3_version=$(python3 -c 'import sys; print(sys.version_info.minor)') - if [[ $py3_version -lt 6 ]]; then - curl -O https://bootstrap.pypa.io/pip/3.$py3_version/get-pip.py - else - curl -O https://bootstrap.pypa.io/get-pip.py - fi - python3 get-pip.py - rm get-pip.py - - python3 -m pip install --upgrade pip - python3 -m pip install docker-compose - sudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose - - if ! command_exists docker-compose; then - echo "command docker-compose not found" - exit 1; - fi + curl -L "https://github.com/docker/compose/releases/latest/download/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose + chmod +x /usr/local/bin/docker-compose } check_ports () { - RESERVED_PORTS=(3306 8092); + RESERVED_PORTS=(3306); ARRAY_PORTS=(); USED_PORTS=""; @@ -941,6 +922,10 @@ download_files () { install_service jq fi + if ! command_exists docker-compose; then + install_docker_compose + fi + svn export --force https://github.com/${PACKAGE_SYSNAME}/${PRODUCT}/branches/${GIT_BRANCH}/build/install/docker/ ${BASE_DIR} reconfigure STATUS ${STATUS} @@ -962,10 +947,6 @@ reconfigure () { } install_mysql_server () { - if ! command_exists docker-compose; then - install_docker_compose - fi - reconfigure MYSQL_VERSION ${MYSQL_VERSION} reconfigure DATABASE_MIGRATION ${DATABASE_MIGRATION} @@ -973,10 +954,6 @@ install_mysql_server () { } install_document_server () { - if ! command_exists docker-compose; then - install_docker_compose - fi - reconfigure DOCUMENT_SERVER_IMAGE_NAME "${DOCUMENT_SERVER_IMAGE_NAME}:${DOCUMENT_SERVER_VERSION:-$(get_available_version "$DOCUMENT_SERVER_IMAGE_NAME")}" reconfigure DOCUMENT_SERVER_JWT_HEADER ${DOCUMENT_SERVER_JWT_HEADER} reconfigure DOCUMENT_SERVER_JWT_SECRET ${DOCUMENT_SERVER_JWT_SECRET} @@ -985,26 +962,14 @@ install_document_server () { } install_rabbitmq () { - if ! command_exists docker-compose; then - install_docker_compose - fi - docker-compose -f $BASE_DIR/rabbitmq.yml up -d } install_redis () { - if ! command_exists docker-compose; then - install_docker_compose - fi - docker-compose -f $BASE_DIR/redis.yml up -d } install_product () { - if ! command_exists docker-compose; then - install_docker_compose - fi - DOCKER_TAG="${DOCKER_TAG:-$(get_available_version ${IMAGE_NAME})}" [ "${UPDATE}" = "true" ] && LOCAL_CONTAINER_TAG="$(docker inspect --format='{{index .Config.Image}}' ${CONTAINER_NAME} | awk -F':' '{print $2}')" From d62949de40086b16dd716e49e60777133b79cf8e Mon Sep 17 00:00:00 2001 From: Nikolay Rechkin Date: Tue, 6 Jun 2023 14:26:30 +0300 Subject: [PATCH 12/16] Firebase: added FirebaseDbContext to pool --- common/ASC.Api.Core/Core/BaseWorkerStartup.cs | 1 + 1 file changed, 1 insertion(+) diff --git a/common/ASC.Api.Core/Core/BaseWorkerStartup.cs b/common/ASC.Api.Core/Core/BaseWorkerStartup.cs index 87c0540cb8..2282ef2cfd 100644 --- a/common/ASC.Api.Core/Core/BaseWorkerStartup.cs +++ b/common/ASC.Api.Core/Core/BaseWorkerStartup.cs @@ -50,6 +50,7 @@ public class BaseWorkerStartup services.AddBaseDbContextPool(); services.AddBaseDbContextPool(); services.AddBaseDbContextPool(); + services.AddBaseDbContextPool(); services.AddBaseDbContextPool(); services.AddBaseDbContextPool(); services.AddBaseDbContextPool(); From 75a83f32534ecebffc5d64c6899567b2b1e90503 Mon Sep 17 00:00:00 2001 From: pavelbannov Date: Tue, 6 Jun 2023 18:27:40 +0300 Subject: [PATCH 13/16] Now setting "CanIndexByContent" is always true --- .../ASC.ElasticSearch/Core/SearchSettings.cs | 30 ++++++++++--------- .../Engine/FactoryIndexer.cs | 2 +- config/appsettings.json | 1 - 3 files changed, 17 insertions(+), 16 deletions(-) diff --git a/common/services/ASC.ElasticSearch/Core/SearchSettings.cs b/common/services/ASC.ElasticSearch/Core/SearchSettings.cs index 5917201146..9be0518fe9 100644 --- a/common/services/ASC.ElasticSearch/Core/SearchSettings.cs +++ b/common/services/ASC.ElasticSearch/Core/SearchSettings.cs @@ -136,31 +136,33 @@ public class SearchSettingsHelper _cacheNotify.Publish(action, CacheNotifyAction.Any); } - public bool CanIndexByContent(int tenantId) where T : class, ISearchItem + public bool CanIndexByContent() where T : class, ISearchItem { - return CanIndexByContent(typeof(T), tenantId); + return CanIndexByContent(typeof(T)); } - public bool CanIndexByContent(Type t, int tenantId) + public bool CanIndexByContent(Type t) { if (!typeof(ISearchItemDocument).IsAssignableFrom(t)) { return false; } - if (Convert.ToBoolean(_configuration["core:search-by-content"] ?? "false")) - { - return true; - } + return true; - if (!_coreBaseSettings.Standalone) - { - return true; - } + //if (Convert.ToBoolean(_configuration["core:search-by-content"] ?? "false")) + //{ + // return true; + //} - var settings = _settingsManager.Load(tenantId); + //if (!_coreBaseSettings.Standalone) + //{ + // return true; + //} - return settings.IsEnabled(((ISearchItemDocument)_serviceProvider.GetService(t)).IndexName); + //var settings = _settingsManager.Load(tenantId); + + //return settings.IsEnabled(((ISearchItemDocument)_serviceProvider.GetService(t)).IndexName); } public bool CanSearchByContent() where T : class, ISearchItem @@ -171,7 +173,7 @@ public class SearchSettingsHelper public bool CanSearchByContent(Type t) { var tenantId = _tenantManager.GetCurrentTenant().Id; - if (!CanIndexByContent(t, tenantId)) + if (!CanIndexByContent(t)) { return false; } diff --git a/common/services/ASC.ElasticSearch/Engine/FactoryIndexer.cs b/common/services/ASC.ElasticSearch/Engine/FactoryIndexer.cs index 10a30e24f7..ad229dd10c 100644 --- a/common/services/ASC.ElasticSearch/Engine/FactoryIndexer.cs +++ b/common/services/ASC.ElasticSearch/Engine/FactoryIndexer.cs @@ -167,7 +167,7 @@ public class FactoryIndexer : IFactoryIndexer where T : class, ISearchItem public bool CanIndexByContent(T t) { - return Support(t) && _searchSettingsHelper.CanIndexByContent(_tenantManager.GetCurrentTenant().Id); + return Support(t) && _searchSettingsHelper.CanIndexByContent(); } public async Task Index(T data, bool immediately = true) diff --git a/config/appsettings.json b/config/appsettings.json index f2a8ba416d..f9b9fde73e 100644 --- a/config/appsettings.json +++ b/config/appsettings.json @@ -33,7 +33,6 @@ "folder": "../../products", "subfolder": "Server" }, - "search-by-content": false, "hosting": { "intervalCheckRegisterInstanceInSeconds": "1", "timeUntilUnregisterInSeconds": "15", From 6888fdbd515c090b92062d1e0fa806754112f793 Mon Sep 17 00:00:00 2001 From: Maria-Sukhova Date: Tue, 6 Jun 2023 18:47:15 +0300 Subject: [PATCH 14/16] added translations --- .../Resources/NotifyTemplateResource.cs.resx | 5 + .../AuditReportResource.cs.resx | 21 + i18next/client.babel | 1974 ++++------------- i18next/common.babel | 1624 ++++++++++++++ .../public/locales/cs/PeopleTranslations.json | 1 + .../client/public/locales/cs/Settings.json | 2 + .../client/public/locales/zh-CN/Payments.json | 18 +- .../Resources/FilesCommonResource.cs.resx | 39 + .../Core/Resources/FilesUCResource.cs.resx | 9 + .../CustomModeResource.cs.resx | 107 + .../PublicResources/Resource.Designer.cs | 2 +- .../PublicResources/Resource.cs.resx | 333 ++- .../PublicResources/Resource.resx | 2 +- .../WebstudioNotifyPatternResource.cs.resx | 589 +++++ 14 files changed, 3197 insertions(+), 1529 deletions(-) diff --git a/common/ASC.Notify.Textile/Resources/NotifyTemplateResource.cs.resx b/common/ASC.Notify.Textile/Resources/NotifyTemplateResource.cs.resx index 1579039478..f2f990c594 100644 --- a/common/ASC.Notify.Textile/Resources/NotifyTemplateResource.cs.resx +++ b/common/ASC.Notify.Textile/Resources/NotifyTemplateResource.cs.resx @@ -192,4 +192,9 @@ </td> </tr> + + Tento e-mail je generován automaticky a nemusíte na něj odpovídat.<br />Tento e-mail jste obdrželi, protože jste registrovaným uživatelem <a href="{0}" target="_blank"> DocSpace</a>. +<br /> Kliknutím sem se můžete odhlásit z odběru oznamovacích e-mailů DocSpace: <a href="{1}" target="_blank"> Odhlásit odběr </a> +<br /> + \ No newline at end of file diff --git a/common/services/ASC.AuditTrail/AuditReportResource.cs.resx b/common/services/ASC.AuditTrail/AuditReportResource.cs.resx index b507b9bcbb..39640cdf50 100644 --- a/common/services/ASC.AuditTrail/AuditReportResource.cs.resx +++ b/common/services/ASC.AuditTrail/AuditReportResource.cs.resx @@ -652,4 +652,25 @@ Tagy smazány: {0} + + Nastavení životnosti auditu aktualizováno + + + Vlastní nastavení navigace aktualizováno + + + Nastavení funkce Forcesave aktualizováno + + + Selhání přihlášení. Příliš mnoho pokusů + + + Selhání přihlášení. Recaptcha je neplatná + + + Neúspěšné přihlášení prostřednictvím aplikace API a autentizátoru + + + Přihlášení prostřednictvím aplikace autentizátoru se nezdařilo + \ No newline at end of file diff --git a/i18next/client.babel b/i18next/client.babel index 052de1a139..52d4fc4dea 100644 --- a/i18next/client.babel +++ b/i18next/client.babel @@ -54500,122 +54500,6 @@ - - ActivateLicense - - - - - - az-Latn-AZ - false - - - bg-BG - false - - - cs-CZ - false - - - de-DE - false - - - el-GR - false - - - en-US - false - - - es-ES - false - - - fi-FI - false - - - fr-FR - false - - - hy-AM - false - - - it-IT - false - - - ja-JP - false - - - ko-KR - false - - - lo-LA - false - - - lv-LV - false - - - nl-NL - false - - - pl-PL - false - - - pt-BR - false - - - pt-PT - false - - - ro-RO - false - - - ru-RU - false - - - sk-SK - false - - - sl-SI - false - - - tr-TR - false - - - uk-UA - false - - - vi-VN - false - - - zh-CN - false - - - AdministratorDescription @@ -55660,122 +55544,6 @@ - - BuyLicense - - - - - - az-Latn-AZ - false - - - bg-BG - false - - - cs-CZ - false - - - de-DE - false - - - el-GR - false - - - en-US - false - - - es-ES - false - - - fi-FI - false - - - fr-FR - false - - - hy-AM - false - - - it-IT - false - - - ja-JP - false - - - ko-KR - false - - - lo-LA - false - - - lv-LV - false - - - nl-NL - false - - - pl-PL - false - - - pt-BR - false - - - pt-PT - false - - - ro-RO - false - - - ru-RU - false - - - sk-SK - false - - - sl-SI - false - - - tr-TR - false - - - uk-UA - false - - - vi-VN - false - - - zh-CN - false - - - ChooseNewPayer @@ -56472,354 +56240,6 @@ - - EnterprisePersonalRenewal - - - - - - az-Latn-AZ - false - - - bg-BG - false - - - cs-CZ - false - - - de-DE - false - - - el-GR - false - - - en-US - false - - - es-ES - false - - - fi-FI - false - - - fr-FR - false - - - hy-AM - false - - - it-IT - false - - - ja-JP - false - - - ko-KR - false - - - lo-LA - false - - - lv-LV - false - - - nl-NL - false - - - pl-PL - false - - - pt-BR - false - - - pt-PT - false - - - ro-RO - false - - - ru-RU - false - - - sk-SK - false - - - sl-SI - false - - - tr-TR - false - - - uk-UA - false - - - vi-VN - false - - - zh-CN - false - - - - - EnterpriseRenewal - - - - - - az-Latn-AZ - false - - - bg-BG - false - - - cs-CZ - false - - - de-DE - false - - - el-GR - false - - - en-US - false - - - es-ES - false - - - fi-FI - false - - - fr-FR - false - - - hy-AM - false - - - it-IT - false - - - ja-JP - false - - - ko-KR - false - - - lo-LA - false - - - lv-LV - false - - - nl-NL - false - - - pl-PL - false - - - pt-BR - false - - - pt-PT - false - - - ro-RO - false - - - ru-RU - false - - - sk-SK - false - - - sl-SI - false - - - tr-TR - false - - - uk-UA - false - - - vi-VN - false - - - zh-CN - false - - - - - EnterpriseRenewSubscription - - - - - - az-Latn-AZ - false - - - bg-BG - false - - - cs-CZ - false - - - de-DE - false - - - el-GR - false - - - en-US - false - - - es-ES - false - - - fi-FI - false - - - fr-FR - false - - - hy-AM - false - - - it-IT - false - - - ja-JP - false - - - ko-KR - false - - - lo-LA - false - - - lv-LV - false - - - nl-NL - false - - - pl-PL - false - - - pt-BR - false - - - pt-PT - false - - - ro-RO - false - - - ru-RU - false - - - sk-SK - false - - - sl-SI - false - - - tr-TR - false - - - uk-UA - false - - - vi-VN - false - - - zh-CN - false - - - ErrorNotification @@ -56936,354 +56356,6 @@ - - FreeDaysLeft - - - - - - az-Latn-AZ - false - - - bg-BG - false - - - cs-CZ - false - - - de-DE - false - - - el-GR - false - - - en-US - false - - - es-ES - false - - - fi-FI - false - - - fr-FR - false - - - hy-AM - false - - - it-IT - false - - - ja-JP - false - - - ko-KR - false - - - lo-LA - false - - - lv-LV - false - - - nl-NL - false - - - pl-PL - false - - - pt-BR - false - - - pt-PT - false - - - ro-RO - false - - - ru-RU - false - - - sk-SK - false - - - sl-SI - false - - - tr-TR - false - - - uk-UA - false - - - vi-VN - false - - - zh-CN - false - - - - - FreeProFeatures - - - - - - az-Latn-AZ - false - - - bg-BG - false - - - cs-CZ - false - - - de-DE - false - - - el-GR - false - - - en-US - false - - - es-ES - false - - - fi-FI - false - - - fr-FR - false - - - hy-AM - false - - - it-IT - false - - - ja-JP - false - - - ko-KR - false - - - lo-LA - false - - - lv-LV - false - - - nl-NL - false - - - pl-PL - false - - - pt-BR - false - - - pt-PT - false - - - ro-RO - false - - - ru-RU - false - - - sk-SK - false - - - sl-SI - false - - - tr-TR - false - - - uk-UA - false - - - vi-VN - false - - - zh-CN - false - - - - - FullEnterpriseVersion - - - - - - az-Latn-AZ - false - - - bg-BG - false - - - cs-CZ - false - - - de-DE - false - - - el-GR - false - - - en-US - false - - - es-ES - false - - - fi-FI - false - - - fr-FR - false - - - hy-AM - false - - - it-IT - false - - - ja-JP - false - - - ko-KR - false - - - lo-LA - false - - - lv-LV - false - - - nl-NL - false - - - pl-PL - false - - - pt-BR - false - - - pt-PT - false - - - ro-RO - false - - - ru-RU - false - - - sk-SK - false - - - sl-SI - false - - - tr-TR - false - - - uk-UA - false - - - vi-VN - false - - - zh-CN - false - - - GracePeriodActivatedDescription @@ -58676,122 +57748,6 @@ - - PurchaseQuestions - - - - - - az-Latn-AZ - false - - - bg-BG - false - - - cs-CZ - false - - - de-DE - false - - - el-GR - false - - - en-US - false - - - es-ES - false - - - fi-FI - false - - - fr-FR - false - - - hy-AM - false - - - it-IT - false - - - ja-JP - false - - - ko-KR - false - - - lo-LA - false - - - lv-LV - false - - - nl-NL - false - - - pl-PL - false - - - pt-BR - false - - - pt-PT - false - - - ro-RO - false - - - ru-RU - false - - - sk-SK - false - - - sl-SI - false - - - tr-TR - false - - - uk-UA - false - - - vi-VN - false - - - zh-CN - false - - - QuotaPaidUserLimitError @@ -59604,122 +58560,6 @@ - - TechAssistance - - - - - - az-Latn-AZ - false - - - bg-BG - false - - - cs-CZ - false - - - de-DE - false - - - el-GR - false - - - en-US - false - - - es-ES - false - - - fi-FI - false - - - fr-FR - false - - - hy-AM - false - - - it-IT - false - - - ja-JP - false - - - ko-KR - false - - - lo-LA - false - - - lv-LV - false - - - nl-NL - false - - - pl-PL - false - - - pt-BR - false - - - pt-PT - false - - - ro-RO - false - - - ru-RU - false - - - sk-SK - false - - - sl-SI - false - - - tr-TR - false - - - uk-UA - false - - - vi-VN - false - - - zh-CN - false - - - TotalPricePerMonth @@ -59836,238 +58676,6 @@ - - TrialExpired - - - - - - az-Latn-AZ - false - - - bg-BG - false - - - cs-CZ - false - - - de-DE - false - - - el-GR - false - - - en-US - false - - - es-ES - false - - - fi-FI - false - - - fr-FR - false - - - hy-AM - false - - - it-IT - false - - - ja-JP - false - - - ko-KR - false - - - lo-LA - false - - - lv-LV - false - - - nl-NL - false - - - pl-PL - false - - - pt-BR - false - - - pt-PT - false - - - ro-RO - false - - - ru-RU - false - - - sk-SK - false - - - sl-SI - false - - - tr-TR - false - - - uk-UA - false - - - vi-VN - false - - - zh-CN - false - - - - - TrialExpiresDate - - - - - - az-Latn-AZ - false - - - bg-BG - false - - - cs-CZ - false - - - de-DE - false - - - el-GR - false - - - en-US - false - - - es-ES - false - - - fi-FI - false - - - fr-FR - false - - - hy-AM - false - - - it-IT - false - - - ja-JP - false - - - ko-KR - false - - - lo-LA - false - - - lv-LV - false - - - nl-NL - false - - - pl-PL - false - - - pt-BR - false - - - pt-PT - false - - - ro-RO - false - - - ru-RU - false - - - sk-SK - false - - - sl-SI - false - - - tr-TR - false - - - uk-UA - false - - - vi-VN - false - - - zh-CN - false - - - UpgradeNow @@ -60532,122 +59140,6 @@ - - UploadLicenseFile - - - - - - az-Latn-AZ - false - - - bg-BG - false - - - cs-CZ - false - - - de-DE - false - - - el-GR - false - - - en-US - false - - - es-ES - false - - - fi-FI - false - - - fr-FR - false - - - hy-AM - false - - - it-IT - false - - - ja-JP - false - - - ko-KR - false - - - lo-LA - false - - - lv-LV - false - - - nl-NL - false - - - pl-PL - false - - - pt-BR - false - - - pt-PT - false - - - ro-RO - false - - - ru-RU - false - - - sk-SK - false - - - sl-SI - false - - - tr-TR - false - - - uk-UA - false - - - vi-VN - false - - - zh-CN - false - - - UserNotFound @@ -61001,6 +59493,122 @@ PaymentsEnterprise + + ActivateLicense + + + + + + az-Latn-AZ + false + + + bg-BG + false + + + cs-CZ + false + + + de-DE + false + + + el-GR + false + + + en-US + false + + + es-ES + false + + + fi-FI + false + + + fr-FR + false + + + hy-AM + false + + + it-IT + false + + + ja-JP + false + + + ko-KR + false + + + lo-LA + false + + + lv-LV + false + + + nl-NL + false + + + pl-PL + false + + + pt-BR + false + + + pt-PT + false + + + ro-RO + false + + + ru-RU + false + + + sk-SK + false + + + sl-SI + false + + + tr-TR + false + + + uk-UA + false + + + vi-VN + false + + + zh-CN + false + + + ActivateLicenseActivated @@ -62510,7 +61118,7 @@ - TariffEnterprise + FreeDaysLeft @@ -63553,6 +62161,122 @@ + + UpgradeToProBannerInstructionHeader + + + + + + az-Latn-AZ + false + + + bg-BG + false + + + cs-CZ + false + + + de-DE + false + + + el-GR + false + + + en-US + false + + + es-ES + false + + + fi-FI + false + + + fr-FR + false + + + hy-AM + false + + + it-IT + false + + + ja-JP + false + + + ko-KR + false + + + lo-LA + false + + + lv-LV + false + + + nl-NL + false + + + pl-PL + false + + + pt-BR + false + + + pt-PT + false + + + ro-RO + false + + + ru-RU + false + + + sk-SK + false + + + sl-SI + false + + + tr-TR + false + + + uk-UA + false + + + vi-VN + false + + + zh-CN + false + + + UpgradeToProBannerInstructionItemDocker @@ -64017,6 +62741,122 @@ + + UpgradeToProBannerInstructionReadNow + + + + + + az-Latn-AZ + false + + + bg-BG + false + + + cs-CZ + false + + + de-DE + false + + + el-GR + false + + + en-US + false + + + es-ES + false + + + fi-FI + false + + + fr-FR + false + + + hy-AM + false + + + it-IT + false + + + ja-JP + false + + + ko-KR + false + + + lo-LA + false + + + lv-LV + false + + + nl-NL + false + + + pl-PL + false + + + pt-BR + false + + + pt-PT + false + + + ro-RO + false + + + ru-RU + false + + + sk-SK + false + + + sl-SI + false + + + tr-TR + false + + + uk-UA + false + + + vi-VN + false + + + zh-CN + false + + + UpgradeToProBannerItemLicenseDescr @@ -65177,6 +64017,122 @@ + + UploadLicenseFile + + + + + + az-Latn-AZ + false + + + bg-BG + false + + + cs-CZ + false + + + de-DE + false + + + el-GR + false + + + en-US + false + + + es-ES + false + + + fi-FI + false + + + fr-FR + false + + + hy-AM + false + + + it-IT + false + + + ja-JP + false + + + ko-KR + false + + + lo-LA + false + + + lv-LV + false + + + nl-NL + false + + + pl-PL + false + + + pt-BR + false + + + pt-PT + false + + + ro-RO + false + + + ru-RU + false + + + sk-SK + false + + + sl-SI + false + + + tr-TR + false + + + uk-UA + false + + + vi-VN + false + + + zh-CN + false + + + diff --git a/i18next/common.babel b/i18next/common.babel index b40b4f059b..2a3afb48b8 100644 --- a/i18next/common.babel +++ b/i18next/common.babel @@ -2574,6 +2574,122 @@ + + Bonus + + + + + + az-Latn-AZ + false + + + bg-BG + false + + + cs-CZ + false + + + de-DE + false + + + el-GR + false + + + en-US + false + + + es-ES + false + + + fi-FI + false + + + fr-FR + false + + + hy-AM + false + + + it-IT + false + + + ja-JP + false + + + ko-KR + false + + + lo-LA + false + + + lv-LV + false + + + nl-NL + false + + + pl-PL + false + + + pt-BR + false + + + pt-PT + false + + + ro-RO + false + + + ru-RU + false + + + sk-SK + false + + + sl-SI + false + + + tr-TR + false + + + uk-UA + false + + + vi-VN + false + + + zh-CN + false + + + BookNow @@ -12086,6 +12202,354 @@ + + ErrorReport + + + + + + az-Latn-AZ + false + + + bg-BG + false + + + cs-CZ + false + + + de-DE + false + + + el-GR + false + + + en-US + false + + + es-ES + false + + + fi-FI + false + + + fr-FR + false + + + hy-AM + false + + + it-IT + false + + + ja-JP + false + + + ko-KR + false + + + lo-LA + false + + + lv-LV + false + + + nl-NL + false + + + pl-PL + false + + + pt-BR + false + + + pt-PT + false + + + ro-RO + false + + + ru-RU + false + + + sk-SK + false + + + sl-SI + false + + + tr-TR + false + + + uk-UA + false + + + vi-VN + false + + + zh-CN + false + + + + + ErrorReportDescription + + + + + + az-Latn-AZ + false + + + bg-BG + false + + + cs-CZ + false + + + de-DE + false + + + el-GR + false + + + en-US + false + + + es-ES + false + + + fi-FI + false + + + fr-FR + false + + + hy-AM + false + + + it-IT + false + + + ja-JP + false + + + ko-KR + false + + + lo-LA + false + + + lv-LV + false + + + nl-NL + false + + + pl-PL + false + + + pt-BR + false + + + pt-PT + false + + + ro-RO + false + + + ru-RU + false + + + sk-SK + false + + + sl-SI + false + + + tr-TR + false + + + uk-UA + false + + + vi-VN + false + + + zh-CN + false + + + + + ErrorReportSuccess + + + + + + az-Latn-AZ + false + + + bg-BG + false + + + cs-CZ + false + + + de-DE + false + + + el-GR + false + + + en-US + false + + + es-ES + false + + + fi-FI + false + + + fr-FR + false + + + hy-AM + false + + + it-IT + false + + + ja-JP + false + + + ko-KR + false + + + lo-LA + false + + + lv-LV + false + + + nl-NL + false + + + pl-PL + false + + + pt-BR + false + + + pt-PT + false + + + ro-RO + false + + + ru-RU + false + + + sk-SK + false + + + sl-SI + false + + + tr-TR + false + + + uk-UA + false + + + vi-VN + false + + + zh-CN + false + + + Exabyte @@ -12550,6 +13014,122 @@ + + FreeProFeatures + + + + + + az-Latn-AZ + false + + + bg-BG + false + + + cs-CZ + false + + + de-DE + false + + + el-GR + false + + + en-US + false + + + es-ES + false + + + fi-FI + false + + + fr-FR + false + + + hy-AM + false + + + it-IT + false + + + ja-JP + false + + + ko-KR + false + + + lo-LA + false + + + lv-LV + false + + + nl-NL + false + + + pl-PL + false + + + pt-BR + false + + + pt-PT + false + + + ro-RO + false + + + ru-RU + false + + + sk-SK + false + + + sl-SI + false + + + tr-TR + false + + + uk-UA + false + + + vi-VN + false + + + zh-CN + false + + + FreeStartupPlan @@ -22874,6 +23454,122 @@ + + ReloadPage + + + + + + az-Latn-AZ + false + + + bg-BG + false + + + cs-CZ + false + + + de-DE + false + + + el-GR + false + + + en-US + false + + + es-ES + false + + + fi-FI + false + + + fr-FR + false + + + hy-AM + false + + + it-IT + false + + + ja-JP + false + + + ko-KR + false + + + lo-LA + false + + + lv-LV + false + + + nl-NL + false + + + pl-PL + false + + + pt-BR + false + + + pt-PT + false + + + ro-RO + false + + + ru-RU + false + + + sk-SK + false + + + sl-SI + false + + + tr-TR + false + + + uk-UA + false + + + vi-VN + false + + + zh-CN + false + + + Rename @@ -22990,6 +23686,122 @@ + + RenewSubscription + + + + + + az-Latn-AZ + false + + + bg-BG + false + + + cs-CZ + false + + + de-DE + false + + + el-GR + false + + + en-US + false + + + es-ES + false + + + fi-FI + false + + + fr-FR + false + + + hy-AM + false + + + it-IT + false + + + ja-JP + false + + + ko-KR + false + + + lo-LA + false + + + lv-LV + false + + + nl-NL + false + + + pl-PL + false + + + pt-BR + false + + + pt-PT + false + + + ro-RO + false + + + ru-RU + false + + + sk-SK + false + + + sl-SI + false + + + tr-TR + false + + + uk-UA + false + + + vi-VN + false + + + zh-CN + false + + + RepeatInvitation @@ -25426,6 +26238,122 @@ + + SendReport + + + + + + az-Latn-AZ + false + + + bg-BG + false + + + cs-CZ + false + + + de-DE + false + + + el-GR + false + + + en-US + false + + + es-ES + false + + + fi-FI + false + + + fr-FR + false + + + hy-AM + false + + + it-IT + false + + + ja-JP + false + + + ko-KR + false + + + lo-LA + false + + + lv-LV + false + + + nl-NL + false + + + pl-PL + false + + + pt-BR + false + + + pt-PT + false + + + ro-RO + false + + + ru-RU + false + + + sk-SK + false + + + sl-SI + false + + + tr-TR + false + + + uk-UA + false + + + vi-VN + false + + + zh-CN + false + + + SendRequest @@ -27166,6 +28094,122 @@ + + SomethingWentWrongDescription + + + + + + az-Latn-AZ + false + + + bg-BG + false + + + cs-CZ + false + + + de-DE + false + + + el-GR + false + + + en-US + false + + + es-ES + false + + + fi-FI + false + + + fr-FR + false + + + hy-AM + false + + + it-IT + false + + + ja-JP + false + + + ko-KR + false + + + lo-LA + false + + + lv-LV + false + + + nl-NL + false + + + pl-PL + false + + + pt-BR + false + + + pt-PT + false + + + ro-RO + false + + + ru-RU + false + + + sk-SK + false + + + sl-SI + false + + + tr-TR + false + + + uk-UA + false + + + vi-VN + false + + + zh-CN + false + + + SortBy @@ -27514,6 +28558,238 @@ + + SubscriptionExpired + + + + + + az-Latn-AZ + false + + + bg-BG + false + + + cs-CZ + false + + + de-DE + false + + + el-GR + false + + + en-US + false + + + es-ES + false + + + fi-FI + false + + + fr-FR + false + + + hy-AM + false + + + it-IT + false + + + ja-JP + false + + + ko-KR + false + + + lo-LA + false + + + lv-LV + false + + + nl-NL + false + + + pl-PL + false + + + pt-BR + false + + + pt-PT + false + + + ro-RO + false + + + ru-RU + false + + + sk-SK + false + + + sl-SI + false + + + tr-TR + false + + + uk-UA + false + + + vi-VN + false + + + zh-CN + false + + + + + SubscriptionIsExpiring + + + + + + az-Latn-AZ + false + + + bg-BG + false + + + cs-CZ + false + + + de-DE + false + + + el-GR + false + + + en-US + false + + + es-ES + false + + + fi-FI + false + + + fr-FR + false + + + hy-AM + false + + + it-IT + false + + + ja-JP + false + + + ko-KR + false + + + lo-LA + false + + + lv-LV + false + + + nl-NL + false + + + pl-PL + false + + + pt-BR + false + + + pt-PT + false + + + ro-RO + false + + + ru-RU + false + + + sk-SK + false + + + sl-SI + false + + + tr-TR + false + + + uk-UA + false + + + vi-VN + false + + + zh-CN + false + + + Support @@ -27978,6 +29254,122 @@ + + TariffEnterprise + + + + + + az-Latn-AZ + false + + + bg-BG + false + + + cs-CZ + false + + + de-DE + false + + + el-GR + false + + + en-US + false + + + es-ES + false + + + fi-FI + false + + + fr-FR + false + + + hy-AM + false + + + it-IT + false + + + ja-JP + false + + + ko-KR + false + + + lo-LA + false + + + lv-LV + false + + + nl-NL + false + + + pl-PL + false + + + pt-BR + false + + + pt-PT + false + + + ro-RO + false + + + ru-RU + false + + + sk-SK + false + + + sl-SI + false + + + tr-TR + false + + + uk-UA + false + + + vi-VN + false + + + zh-CN + false + + + Terabyte @@ -28558,6 +29950,238 @@ + + TrialDaysLeft + + + + + + az-Latn-AZ + false + + + bg-BG + false + + + cs-CZ + false + + + de-DE + false + + + el-GR + false + + + en-US + false + + + es-ES + false + + + fi-FI + false + + + fr-FR + false + + + hy-AM + false + + + it-IT + false + + + ja-JP + false + + + ko-KR + false + + + lo-LA + false + + + lv-LV + false + + + nl-NL + false + + + pl-PL + false + + + pt-BR + false + + + pt-PT + false + + + ro-RO + false + + + ru-RU + false + + + sk-SK + false + + + sl-SI + false + + + tr-TR + false + + + uk-UA + false + + + vi-VN + false + + + zh-CN + false + + + + + TrialExpired + + + + + + az-Latn-AZ + false + + + bg-BG + false + + + cs-CZ + false + + + de-DE + false + + + el-GR + false + + + en-US + false + + + es-ES + false + + + fi-FI + false + + + fr-FR + false + + + hy-AM + false + + + it-IT + false + + + ja-JP + false + + + ko-KR + false + + + lo-LA + false + + + lv-LV + false + + + nl-NL + false + + + pl-PL + false + + + pt-BR + false + + + pt-PT + false + + + ro-RO + false + + + ru-RU + false + + + sk-SK + false + + + sl-SI + false + + + tr-TR + false + + + uk-UA + false + + + vi-VN + false + + + zh-CN + false + + + Type diff --git a/packages/client/public/locales/cs/PeopleTranslations.json b/packages/client/public/locales/cs/PeopleTranslations.json index 49cd799d96..070315c5e8 100644 --- a/packages/client/public/locales/cs/PeopleTranslations.json +++ b/packages/client/public/locales/cs/PeopleTranslations.json @@ -12,6 +12,7 @@ "RemoveData": "Odstranit osobní údaje", "ResetAuth": "Obnovení ověřování", "SendInviteAgain": "Odeslat pozvánku ještě jednou", + "StandardLogin": "Standardní přihlášení", "SuccessChangeUserStatus": "Stav uživatele byl úspěšně změněn", "SuccessDeletePersonalData": "Osobní údaje byly úspěšně odstraněny", "SuccessSentInvitation": "Pozvánka byla úspěšně odeslána", diff --git a/packages/client/public/locales/cs/Settings.json b/packages/client/public/locales/cs/Settings.json index 216110df1f..25e795dce7 100644 --- a/packages/client/public/locales/cs/Settings.json +++ b/packages/client/public/locales/cs/Settings.json @@ -39,6 +39,8 @@ "Branding": "Branding", "BrandingSectionDescription": "Zadejte informace o své společnosti, přidejte odkazy na externí zdroje a e-mailové adresy zobrazené v rozhraní DocSpace.", "BrandingSubtitle": "Tuto možnost použijte, abyste uživatelům poskytli zážitek na úrovni značky.", + "BreakpointSmallText": "Vaše okno je příliš malé na zobrazení celého obsahu stránky", + "BreakpointSmallTextPrompt": "Změňte velikost okna nebo zapněte celoobrazovkový režim", "BreakpointWarningText": "Tato část je k dispozici pouze ve verzi pro stolní počítače", "BreakpointWarningTextPrompt": "Pro přístup k nastavení <1>{{sectionName}} použijte prosím desktopovou stránku.", "ButtonsColor": "Tlačítka", diff --git a/packages/client/public/locales/zh-CN/Payments.json b/packages/client/public/locales/zh-CN/Payments.json index 764835ab93..0a4b7c1ab9 100644 --- a/packages/client/public/locales/zh-CN/Payments.json +++ b/packages/client/public/locales/zh-CN/Payments.json @@ -2,17 +2,17 @@ "AccessingProblem": "如果您已是用户且在访问此空间时遇到问题,请与管理员联系。", "AdministratorDescription": "协作空间配置、房间创建和管理、邀请并管理协作空间和虚拟房间中的用户、管理访问权限。", "Benefits": "优势", - "BusinessExpired": "您的 {{planName}} 版本已于 {{date}} 过期", + "BusinessExpired": "您的{{planName}}版本已于{{date}}过期", "BusinessFinalDateInfo": "订阅将于 {{finalDate}} 自动按照更新后的定价和规格续期。您可在 Stripe 客户门户中取消或更改计费信息。", - "BusinessPlanPaymentOverdue": "无法添加新用户并新建房间。{{planName}} 版本付款已逾期。", + "BusinessPlanPaymentOverdue": "无法添加新用户并新建房间。{{planName}}版本付款已逾期。", "BusinessRequestDescription": "具有更多 {{peopleNumber}} 管理员/高级用户数量的定价方案仅应要求提供。", - "BusinessSuggestion": "自定义您的 {{planName}} 版本", - "BusinessTitle": "您正在使用 {{planName}} 版本", - "BusinessUpdated": "{{planName}} 版本已更新", + "BusinessSuggestion": "自定义您的{{planName}}版本", + "BusinessTitle": "您正在使用{{planName}}版本", + "BusinessUpdated": "{{planName}}版本已更新", "ChooseNewPayer": "选择新的付款人", "ChooseNewPlan": "是否选择新的定价版本?", "ContactUs": "如有任何销售问题,可联系我们:", - "DelayedPayment": "{{planName}} 版本延迟付款日期 {{date}}", + "DelayedPayment": "{{planName}}版本延迟付款日期 {{date}}", "DowngradeNow": "立即降级", "ErrorNotification": "更新计费方案失败。请稍后重试或联系销售部门。", "GracePeriodActivatedDescription": "宽限期内管理员无法创建新房间或添加新用户。宽限期后协作空间将不可用,直至完成付款。", @@ -28,10 +28,10 @@ "PaymentOverdue": "无法添加新用户。", "PriceCalculation": "计算价格", "QuotaPaidUserLimitError": "已达到付费用户限制。<1>付款", - "RenewSubscription": "将订阅更新至 {{planName}} 版本", + "RenewSubscription": "将订阅更新至{{planName}}版本", "RoomManagerDescription": "房间管理和归档,用户邀请和管理可为房间指派多名管理员。", - "StartupSuggestion": "升级为 {{planName}} 版获得更多权限", - "StartupTitle": "您正在使用免费 {{planName}} 版本", + "StartupSuggestion": "升级为{{planName}}版获得更多权限", + "StartupTitle": "您正在使用免费{{planName}}版本", "StripeCustomerPortal": "前往 Stripe 客户门户", "TotalPricePerMonth": "<1>{{currencySymbol}}<2>{{price}}<3>/月", "UpgradeNow": "立即升级", diff --git a/products/ASC.Files/Core/Resources/FilesCommonResource.cs.resx b/products/ASC.Files/Core/Resources/FilesCommonResource.cs.resx index bfe92b1e4c..b2c1b3732d 100644 --- a/products/ASC.Files/Core/Resources/FilesCommonResource.cs.resx +++ b/products/ASC.Files/Core/Resources/FilesCommonResource.cs.resx @@ -376,4 +376,43 @@ Vlastní filtr + + Vyplňování formulářů + + + Automaticky uloženo + + + Vytvořeno pro vyplnění formuláře + + + Upraveno pomocí šifrování + + + Šifrováno + + + Uloženo + + + Nemáte dostatečné oprávnění k přesunu souboru + + + Nemáte dostatečné oprávnění k přesunu složky + + + Vyhledávání v obsahu dokumentů + + + Vyplnitelný dokument OFORM je připraven. Je uložen v {0} + + + Kopie OFORM se vytvoří ve složce {0}. Vyplňte formulář a stáhněte si výsledek ve formátu PDF nebo DOCX. + + + Soubor již není návrhem pro vyplnění formuláře. + + + Zobrazení a stažení sdílených dokumentů. Nahrávání souborů do sdílených složek. Zaručena nejvyšší kompatibilita s formáty docx, xlsx, pptx. + \ No newline at end of file diff --git a/products/ASC.Files/Core/Resources/FilesUCResource.cs.resx b/products/ASC.Files/Core/Resources/FilesUCResource.cs.resx index b862f4f468..f65ae56975 100644 --- a/products/ASC.Files/Core/Resources/FilesUCResource.cs.resx +++ b/products/ASC.Files/Core/Resources/FilesUCResource.cs.resx @@ -88,4 +88,13 @@ Oblíbené + + Soubory budou zkomprimovány do souboru {0}.tar.gz{1} + + + Soubory budou zkomprimovány do souboru {0}.zip{1} + + + Soukromá místnost + \ No newline at end of file diff --git a/web/ASC.Web.Core/PublicResources/CustomModeResource.cs.resx b/web/ASC.Web.Core/PublicResources/CustomModeResource.cs.resx index db701fdb42..9fd1d6f730 100644 --- a/web/ASC.Web.Core/PublicResources/CustomModeResource.cs.resx +++ b/web/ASC.Web.Core/PublicResources/CustomModeResource.cs.resx @@ -147,4 +147,111 @@ Odkaz je platný 7 dní. Nechcete měnit heslo? Tuto zprávu ignorujte. + + h1.Vítejte v ONLYOFFICE Personal + +Právě jste si vytvořili osobní kancelář v cloudu. + +h3.Je to virtuální pracovní prostor, v němž můžete upravovat a ukládat dokumenty, pracovat s nimi odkudkoli a udělovat k nim přístup svým přátelům nebo kolegům. + +h3.Nejprve se podívejte, co můžete v ONLYOFFICE dělat: + +- Vytvářet, prohlížet a upravovat textové dokumenty, tabulky a prezentace. + +- Pracovat se všemi oblíbenými formáty. Nejvyšší kompatibilita se soubory MS Office. + +- Vytvářet a spolueditovat "formuláře připravené k vyplnění":"https://www.onlyoffice.com/form-creator.aspx". + +- Sdílet dokumenty a spolupracovat na nich online. + +- Pomocí různých zásuvných modulů můžete používat další funkce. + +- Získat snadný přístup k osobnímu cloudu prostřednictvím "rozšíření Chrome":"https://chrome.google.com/webstore/detail/onlyoffice-personal/ohdlcmpahmacjddiaokoogleflddlahc?hl=en-US". + +Dokumenty můžete také upravovat offline pomocí našich bezplatných "desktopových editorů":"https://www.onlyoffice.com/download-desktop.aspx" nebo si pořiďte mobilní editační sadu pro zařízení se systémem "iOS":"https://apps.apple.com/app/onlyoffice-documents/id944896972" nebo "Android":"https://play.google.com/store/apps/details?id=com.onlyoffice.documents". + +S pozdravem, +tým ONLYOFFICE + + + Chcete změnit e-mail na svém účtu pro cloudovou kancelář? + +Klikněte na tlačítko níže a přihlaste se* do svého cloudu. + +$GreenButton + +Odkaz je platný 7 dní. + +*Pokud nejste v tomto prohlížeči přihlášeni ke své cloudové kanceláři, budete muset pro potvrzení použít svůj starý e-mail. + +Nechcete měnit e-mail? Tuto zprávu ignorujte. + + + Dobrý den, + +právě jste si zaregistrovali účet v řešení ONLYOFFICE pro osobní použití. Kliknutím na "zde":"$InviteLink" potvrďte registraci a vytvořte si heslo. + +Pokud nemůžete odkaz otevřít, zkopírujte následující "$InviteLink":"$InviteLink" a vložte jej do adresního řádku prohlížeče. + +S pozdravem, +tým ONLYOFFICE + + + Požádali jste o ukončení svého účtu na personal.onlyoffice.com. Žádost dokončete pomocí odkazu (odkaz je aktivní po dobu 7 dnů): + +Potvrdit ukončení účtu + +*Poznámka*: Po smazání bude váš účet a všechny údaje s ním spojené trvale vymazány v souladu s naším "Prohlášením o ochraně osobních údajů":"https://help.onlyoffice.com/products/files/doceditor.aspx?fileid=5048502&doc=SXhWMEVzSEYxNlVVaXJJeUVtS0kyYk14YWdXTEFUQmRWL250NllHNUFGbz0_IjUwNDg1MDIi0". + +"Více informací o ukončení účtu":"https://helpcenter.onlyoffice.com/administration/configuration.aspx" + +Pokud nechcete pokračovat, ignorujte tento e-mail. + +V případě dotazů nás prosím kontaktujte na adrese "support@onlyoffice.com":"mailto:support@onlyoffice.com". + +S pozdravem, +tým ONLYOFFICE + + + Vážený/vážená $UserName, + +Proces odebrání dat uživatele "$FromUserName":"$FromUserLink" byl úspěšně dokončen. + +Výmaz osobních údajů povolen: + +# Dokumenty - $DocsSpace +# Mail - $MailSpace +# Talk - $TalkSpace + + + h3.Nový portál byl zaregistrován + +# Url adresa portálu: "${__VirtualRootPath}":"${__VirtualRootPath}" +# Křestní jméno: $UserName +# Příjmení: $UserLastName +# E-mail: $UserEmail +# Telefon: $Phone +# Datum vytvoření: $Date + + + Proveďte totéž jako uživatel|V sekci "Společné" propojte účty Dropbox, Box a další|V sekci "Společné" nastavte přístupová práva k dokumentům a složkám + + + Vytvářejte a upravujte vlastní dokumenty i sdílené dokumenty s příslušnými přístupovými právy|Udělte ostatním uživatelům přístup ke čtení/editaci dokumentů a složek|Propojte Dropbox, Box a další účty v sekci "Moje dokumenty" + + + Vítejte v ONLYOFFICE Personal + + + ONLYOFFICE Personal. Aktivujte prosím svou e-mailovou adresu + + + Ukončení osobního účtu ONLYOFFICE + + + ${LetterLogoText}. Odstranění uživatelských dat je dokončeno + + + Byl zaregistrován nový portál + \ No newline at end of file diff --git a/web/ASC.Web.Core/PublicResources/Resource.Designer.cs b/web/ASC.Web.Core/PublicResources/Resource.Designer.cs index f869149fea..0913af59a3 100644 --- a/web/ASC.Web.Core/PublicResources/Resource.Designer.cs +++ b/web/ASC.Web.Core/PublicResources/Resource.Designer.cs @@ -1996,7 +1996,7 @@ namespace ASC.Web.Core.PublicResources { } /// - /// Looks up a localized string similar to You attempted to take away admin rights from yourself. Your admin rights was unaffected.. + /// Looks up a localized string similar to You attempted to take away admin rights from yourself. Your admin rights were unaffected.. /// public static string LdapSettingsErrorLostRights { get { diff --git a/web/ASC.Web.Core/PublicResources/Resource.cs.resx b/web/ASC.Web.Core/PublicResources/Resource.cs.resx index 670ff9baf2..369b84a579 100644 --- a/web/ASC.Web.Core/PublicResources/Resource.cs.resx +++ b/web/ASC.Web.Core/PublicResources/Resource.cs.resx @@ -443,7 +443,7 @@ Přihlásit se - Připojte Bitly službu pro zkrácení odkazů pozvánek a sdílených odkazů v modulu Dokumenty. + Povolením této aplikace můžete zkracovat odkazy na pozvánky na portál a sdílené odkazy v modulu Dokumenty pomocí služby Bitly. Schránka @@ -485,7 +485,7 @@ Připojte aplikaci ke správě Dropbox souborů a složek. - DropBox ID + ID služby DropBox Facebook ID @@ -530,7 +530,7 @@ Linkedin Klíč - Klientské tajemství + Tajemství klienta Klientské tajemství @@ -542,10 +542,10 @@ Povolte aplikaci pro dvoufaktorové ověřování přes SMS centrum. - Heslo nebo heslo MD5 hash malými písmeny + Heslo nebo hash hesla MD5 malými písmeny - Přidat Twilio, aby bylo možné volat CRM kontakty přímo v prohlížeči. + Povolte této aplikaci volání kontaktů CRM pomocí služby Twilio. Telefonní číslo od společnosti Twilio (vyžadováno pro autorizaci SMS) @@ -554,7 +554,7 @@ Připojte aplikaci k přihlášení do portálu pomocí Twitteru a vyhledejte kontakty. - Povolte aplikaci pro import kontaktů Yahoo. + Povolte aplikaci importovat uživatele ze služby Yahoo. Neznámý typ souboru obrázku @@ -563,7 +563,7 @@ Velikost obrázku překročila povolené parametry - DropBox Klíč + Klíč DropBoxu EasyBib @@ -596,7 +596,7 @@ SMS centrum - Přihlásit se + Přihlášení Telegram @@ -605,7 +605,7 @@ Twilio - Sid Účtu + Účet Sid Klientské tajemství @@ -631,4 +631,319 @@ Startup + + Pole validačního kódu nemůže být prázdné + + + Pomocí SMS + + + Pomocí aplikace authenticator + + + S3 accesskey + + + Rackspace apiKey + + + Apple ID + + + ID klienta aplikace + + + Povolte aplikaci přihlášení k portálu pomocí účtu Apple ID. + + + Povolením této aplikace umožníte uživatelům přihlásit se do ONLYOFFICE pomocí Apple ID. {0}Přejděte na portál Apple Developers Portal a vytvořte novou integraci aplikace ONLYOFFICE. Vložte údaje, které jste obdrželi níže: + + + Desetimístný identifikátor klíče vygenerovaný pro přihlášení pomocí soukromého klíče Apple + + + Soukromý klíč stažený ze stránek Apple Developer + + + 10-znakový vývojářský účet ID týmu + + + Selectel authPwd + + + Selectel authUser + + + Povolením této aplikace zkrátíte odkazy na pozvánky a dokumenty. {0}Níže vložte přihlašovací jméno a klíč API služby Bitly: + + + Povolením této aplikace propojíte svůj účet služby Box s modulem Dokumenty. Budete moci spravovat, upravovat a sdílet soubory ze služby Box s uživateli služby ONLYOFFICE. {0}Přihlaste se ke svému účtu na stránce pro vývojáře aplikace Box a vytvořte novou aplikaci pro integraci s aplikací ONLYOFFICE. Vložte údaje, které jste obdrželi níže: + + + Pomocí této aplikace můžete povolit dvoufázové ověřování pomocí služby Clickatell. {0}Přihlaste se ke svému účtu SMS Platform a vytvořte novou integraci pro ONLYOFFICE. Zkopírujte apiKey a vložte jej níže: + + + Povolením této aplikace můžete digitálně podepisovat dokumenty pomocí služby DocuSign. {0}Přejděte do své konzoly pro správu DocuSign a přidejte integraci ONLYOFFICE. Vložte údaje, které jste obdrželi níže: + + + Povolením této aplikace propojíte svůj účet Dropbox s modulem Dokumenty. Budete moci spravovat, upravovat a sdílet soubory ze služby Dropbox s uživateli aplikace ONLYOFFICE. {0}Přihlaste se ke svému účtu na webu Dropbox Developers a vytvořte novou aplikaci pro integraci s ONLYOFFICE. Vložte údaje, které jste obdrželi níže: + + + Klíč k aplikaci + + + Tato aplikace umožňuje vytvářet bibliografické seznamy v dokumentech s EasyBib. + + + Token aplikace + + + Zapnutím této aplikace umožníte uživatelům přihlásit se do ONLYOFFICE pomocí Facebooku a propojit účty zákazníků na Facebooku s modulem CRM. {0}Přejděte na portál Facebook Developers Portal a vytvořte novou integraci aplikace ONLYOFFICE. Vložte údaje, které jste obdrželi níže: + + + Kbelík + + + Zadejte název kbelíku služby Google Cloud pro ukládání záloh. + + + Připojení služby Google Cloud Storage k zálohování a ukládání dat z portálu. + + + GoogleCloud json + + + Povolením této aplikace připojíte svůj účet Disku Google k modulu Dokumenty. Budete moci spravovat, upravovat a sdílet soubory z Disku Google s uživateli aplikace ONLYOFFICE. {0}Přejděte do konzoly Google API a vytvořte nový projekt pro integraci ONLYOFFICE. Vložte údaje, které jste obdrželi níže: + + + Povolte tuto aplikaci, aby se vaši uživatelé mohli přihlásit do ONLYOFFICE pomocí svých účtů LinkedIn. {0}Přejděte na webové stránky LinkedIn Developers a vytvořte novou integraci aplikace ONLYOFFICE. Vložte údaje, které jste obdrželi níže: + + + ID + + + Tajný klíč + + + Povolte aplikaci přihlášení k portálu pomocí účtu Mail.ru. + + + Po přidání aplikace Mail.ru můžete na stránce svého profilu povolit přihlašování k portálu pomocí účtu Mail.ru. + + + ID klienta aplikace + + + Povolte aplikaci přihlášení k portálu pomocí účtu Microsoft. + + + Povolením této aplikace umožníte uživatelům přihlašovat se do ONLYOFFICE pomocí aplikace Microsoft. {0}Přejděte na Microsoft Azure a vytvořte novou aplikaci ONLYOFFICE integration. Vložte údaje, které jste obdrželi níže: + + + Cloudové úložiště Rackspace Cloud Storage + + + Připojení služby Rackspace Cloud Storage k zálohování a ukládání dat z portálu. + + + Soukromý kontejner + + + Zadejte adresu URL soukromého kontejneru Rackspace pro ukládání záloh. + + + Veřejný kontejner + + + Zadejte adresu URL veřejného kontejneru Rackspace pro ukládání záloh. + + + Region + + + Zadejte oblast, ve které se nacházejí vaše kontejnery Rackspace. + + + Kbelík + + + Zadejte jedinečný název kbelíku Amazon pro ukládání záloh. + + + Připojte Amazon AWS S3 k zálohování a ukládání dat z portálu. + + + Region + + + Zadejte oblast AWS, ve které se nachází váš kbelík Amazon. + + + Tajný přístupový klíč S3 + + + Cloudové úložiště Selectel Cloud Storage + + + Heslo pro přístup k úložišti + + + Auth User + + + Připojte službu Selectel Cloud Storage a zálohujte a ukládejte data z portálu. + + + Soukromý kontejner + + + Zadejte název soukromého kontejneru Selectel pro ukládání záloh. + + + Veřejný kontejner + + + Zadejte název veřejného kontejneru Selectel pro ukládání záloh. + + + ID aplikace + + + Povolením této aplikace připojíte svůj účet OneDrive k modulu Dokumenty. Budete moci spravovat, upravovat a sdílet soubory ze služby OneDrive s uživateli služby ONLYOFFICE. {0}Přihlaste se ke svému účtu Microsoft Azure a vytvořte novou aplikaci pro integraci ONLYOFFICE. Vložte údaje, které jste obdrželi níže: + + + Pomocí této aplikace můžete povolit dvoufázové ověřování pomocí služby Centrum SMS. {0}Vložte přihlašovací jméno k účtu smsc a heslo (nebo hash MD5 hesla) psané malými písmeny: + + + Uživatelské jméno bota + + + Token bota + + + Připojte účet Telegram a přijímejte oznámení portálu prostřednictvím Telegramu. + + + Chcete-li dostávat oznámení portálu prostřednictvím služby Telegram, povolte funkci bota Telegramu- Nového bota můžete vytvořit pomocí nástroje BotFather v aplikaci Telegram Desktop. Pro použití tohoto bota musí uživatelé portálu povolit oznámení Telegram na své profilové stránce. {0}Vložení uživatelského jména bota a tokenu, který jste obdrželi, do polí níže. + + + Ověřovací token + + + Povolením této aplikace umožníte uživatelům volat svým kontaktům z modulu CRM pomocí služby Twilio. {0}Přejděte do konzoly Twilio a vložte následující údaje: + + + ID klienta + + + Zapnutím této aplikace umožníte svým uživatelům přihlásit se do ONLYOFFICE pomocí Twitteru a propojit účty Twitter svých zákazníků s modulem CRM. {0}Přejděte na portál Twitter Developers Portal a vytvořte novou integraci aplikace ONLYOFFICE. Vložte údaje, které jste obdrželi níže: + + + Klíč API + + + Tajný klíč API + + + Uživatelské jméno Rackspace + + + VK + + + ID aplikace + + + Zabezpečený klíč + + + Povolte aplikaci přihlášení k portálu pomocí účtu VK. + + + Po přidání aplikace VK můžete na stránce svého profilu povolit přihlašování k portálu pomocí účtu VK. + + + Povolte aplikaci publikovat dokumenty přímo ve WordPressu. + + + Klíč WordPress + + + Tajemství WordPressu + + + ID klienta + + + Tajemství klienta + + + Povolením této aplikace můžete přidávat nové uživatele portálu ze seznamu kontaktů Yahoo. {0}Přejděte na stránku Vytvořit aplikaci v síti Yahoo Developer Network a vytvořte novou aplikaci pro integraci ONLYOFFICE. Vložte údaje, které jste obdrželi níže: + + + ID + + + Povolte aplikaci přihlášení k portálu pomocí účtu Yandex. + + + Po přidání aplikace Yandex můžete na stránce svého profilu povolit přihlašování k portálu pomocí účtu Yandex. + + + Nesprávné ID instance. + + + Text zprávy je prázdný + + + Nesprávné jméno nebo příjmení + + + bez mezer + + + pouze písmena latinky + + + Limit požadavků je překročen + + + Doména nájemce nesmí být prázdná. + + + Název domény musí být dlouhý od {0} do {1} znaků. + + + Pokusili jste se sami sobě odebrat práva správce. Vaše práva správce nebyla ovlivněna. + + + Váš účet není propojen s adresářem LDAP a vaše heslo LDAP již není aktivní. Změňte nebo nastavte heslo ke svému účtu na stránce nastavení profilu. + + + Nastavení uživatele {0} jako {1} admin + + + Odstranění zastaralých skupin, které byly dříve načteny prostřednictvím LDAP + + + Uložení fotografie + + + Aktualizace přístupových práv uživatelů + + + Aktualizace uživatelských fotografií + + + Cloudový prostor pro vaše kancelářské dokumenty + + + Nesprávný kód + + + Nastavení aplikace TFA není k dispozici + + + Odeslali jste příliš mnoho textových zpráv. Zkuste to prosím později. + \ No newline at end of file diff --git a/web/ASC.Web.Core/PublicResources/Resource.resx b/web/ASC.Web.Core/PublicResources/Resource.resx index 915dde40a0..30d6783ef9 100644 --- a/web/ASC.Web.Core/PublicResources/Resource.resx +++ b/web/ASC.Web.Core/PublicResources/Resource.resx @@ -704,7 +704,7 @@ Invalid User Filter value. - You attempted to take away admin rights from yourself. Your admin rights was unaffected. + You attempted to take away admin rights from yourself. Your admin rights were unaffected. Your account is not linked to the LDAP directory and your LDAP password is no longer active. Please change or set the password to your account at the profile settings page. diff --git a/web/ASC.Web.Core/PublicResources/WebstudioNotifyPatternResource.cs.resx b/web/ASC.Web.Core/PublicResources/WebstudioNotifyPatternResource.cs.resx index 07c0c9d374..b681ccb758 100644 --- a/web/ASC.Web.Core/PublicResources/WebstudioNotifyPatternResource.cs.resx +++ b/web/ASC.Web.Core/PublicResources/WebstudioNotifyPatternResource.cs.resx @@ -1164,4 +1164,593 @@ S přátelským pozdravem, Tým ONLYOFFICE "www.onlyoffice.com":"http://onlyoffice.com/" + + Přijmout + + + PŘIJMOUT + + + Kliknutím zde aktivujete svou e-mailovou adresu + + + Změna e-mailové adresy + + + Změna hesla + + + Změna čísla mobilního telefonu + + + Konfigurace aplikace ověřovatele + + + Spolupráce v DocSpace + + + Potvrdit + + + Potvrzení pozvánky DocSpace + + + POTVRDIT + + + Potvrzení změny adresy portálu + + + Potvrzení aktualizace vlastníka portálu + + + Potvrzení pozvánky do místnosti + + + Potvrzení ukončení účtu + + + Deaktivace portálu + + + Odstranění portálu + + + Klikněte zde a připojte se k portálu + + + Zanechat zpětnou vazbu + + + Odstranění profilu + + + Obnovit nyní + + + Zahájení bezplatné zkušební verze + + + Použijte slevu + + + Navštivte sekci Platby + + + [${__VirtualRootPath}](${__VirtualRootPath}) vytvořena záloha portálu + +Vážený/vážená $OwnerName, + +byl vytvořen záložní soubor obsahující data z vašeho portálu [${__VirtualRootPath}](${__VirtualRootPath}). + +Další informace o postupu zálohování naleznete v naší uživatelské příručce [Zálohování dat](${__HelpLink}/tipstricks/data-backup-restore.aspx). + +Pokud máte jakékoli dotazy nebo potřebujete pomoc, neváhejte nás kontaktovat na adrese [support.onlyoffice.com](http://support.onlyoffice.com). + +S pozdravem, +tým podpory ONLYOFFICE™ +[www.onlyoffice.com](http://onlyoffice.com/) + + + Chcete změnit e-mail na svém účtu ${LetterLogoText}? + +Klikněte na tlačítko níže a přihlaste se* do svého cloudu. + +$GreenButton + +Odkaz je platný 7 dní. + +*Pokud nejste v tomto prohlížeči přihlášeni do ${LetterLogoText}, budete muset pro potvrzení použít svůj starý e-mail. Pokud si jej nepamatujete, obraťte se na správce portálu. + +Nechcete měnit e-mail? Tuto zprávu ignorujte. + + + h1.Bezpečnostní oznámení + +Konfigurace aplikace autentizátoru, kterou používáte pro vstup do portálu ${LetterLogoText}, byla resetována. + +Kliknutím na tlačítko níže přejdete na přihlašovací stránku portálu a nakonfigurujete aplikaci autentizátoru: + +$GreenButton + + + Dobrý den, $UserName! + +jste zváni, abyste se připojili k "${__VirtualRootPath}":"${__VirtualRootPath}" jako hostující uživatel. Přijměte pozvání kliknutím na odkaz: + +$GreenButton + +Odkaz je platný pouze 7 dní. + +Získáte další tipy, jak používat webovou kancelář. Odběry můžete kdykoli zrušit na stránce svého profilu a také je znovu povolit. + + + Dobrý den, $UserName! + +$__AuthorName vás pozval jako hostujícího uživatele na "${__VirtualRootPath}":"${__VirtualRootPath}". Přijměte pozvání kliknutím na odkaz: + +$GreenButton + +Odkaz je platný pouze 7 dní. + +Získáte další tipy, jak používat webovou kancelář. Odběry můžete kdykoli zrušit na stránce svého profilu a také je znovu povolit. + + + Zpráva z portálu [${__VirtualRootPath}](${__VirtualRootPath}) + +E-mail: $UserEmail + +$Body + + + Vážený/vážená $UserName, + + správce pro vás vytvořil novou poštovní schránku <b>$Address</b> na portálu "${__VirtualRootPath}":"${__VirtualRootPath}". + + Pro ostatní e-mailové klienty použijte následující nastavení: + Přihlášení: <b>$Login</b> + Heslo: "<b>set password</b>":"$MyStaffLink" + + Příchozí pošta (IMAP): + Server: <b>$Server</b> + Port: <b>$ImapPort</b> + SSL/TLS: <b>$Encryption</b> + + Odchozí pošta (SMTP): + Server: <b>$Server</b> + Port: <b>$SmtpPort</b> + SSL/TLS: <b>$Encryption</b> + Vyžaduje ověření: <b>Ano</b> + + Pokud jste tento e-mail obdrželi omylem, ignorujte jej nebo kontaktujte správce portálu a zjistěte podrobnosti. + + + Vážený/vážená $UserName, + + Heslo pro poštovní schránku <b>$Address</b> bylo změněno. + + Pokud jste tento e-mail obdrželi omylem, ignorujte jej nebo kontaktujte správce portálu a zjistěte podrobnosti. + + + Vážený/vážená $UserName, + + Správce pro vás vytvořil novou poštovní schránku <b>$Address</b> na portálu "${__VirtualRootPath}":"${__VirtualRootPath}". + + Pokud jste tento e-mail obdrželi omylem, ignorujte jej nebo kontaktujte správce portálu a zjistěte podrobnosti. + + + h1.Portál migrace +h1."$PortalUrl":"$PortalUrl" + +Váš portál byl přesunut na novou doménu. Obnovte prosím svůj přístup k portálu zadáním hesla, které bude použito pro přihlášení. + +Heslo k účtu nastavíte pomocí níže uvedeného odkazu: +$GreenButton + +*Poznámka*: tento odkaz je platný pouze 7 dní. Během této doby dokončete proces obnovení přístupu. + +Pokud jste tento e-mail obdrželi omylem, ignorujte jej nebo kontaktujte správce portálu "$PortalUrl":"$PortalUrl" a zjistěte podrobnosti. + + + Dobrý den! + +Jste zváni, abyste se připojili k "${__VirtualRootPath}":"${__VirtualRootPath}" jako hostující uživatel. Přijměte pozvání kliknutím na odkaz: + +"$ActivateUrl":"$ActivateUrl" + +Odkaz je platný pouze 7 dní. + +Získáte další tipy, jak používat webovou kancelář. Odběry můžete kdykoli zrušit na stránce svého profilu a také je znovu povolit. + + + Dobrý den, $UserName +byl/a jste úspěšně zaregistrován/a v ONLYOFFICE Personal "${__VirtualRootPath}":"${__VirtualRootPath}". + +Připojte své oblíbené cloudové úložiště: Vytvořte si jednotný pracovní prostor pro své dokumenty, který bude přístupný odkudkoli. + +Více informací o ONLYOFFICE Personal se dozvíte na "našem blogu":"$TagBlogLink". + +Jsme rádi, že jste tady. Zůstaňte s námi! + +S pozdravem, +tým ONLYOFFICE + + + h1.Vítejte v ONLYOFFICE Personal + +Právě jste si vytvořili osobní kancelář v cloudu. + +h3.Jedná se o virtuální pracovní prostor, v němž můžete upravovat a ukládat dokumenty, pracovat s nimi odkudkoli a poskytovat k nim přístup svým přátelům nebo kolegům. + +h3.Nejprve se podívejte, co můžete v ONLYOFFICE dělat: + +- Vytvářet, prohlížet a upravovat textové dokumenty, tabulky a prezentace. + +- Podporuje všechny oblíbené formáty. Nejvyšší kompatibilita se soubory MS Office. + +- Vytvářet a spolueditovat "formuláře připravené k vyplnění":"https://www.onlyoffice.com/form-creator.aspx". + +- Sdílet dokumenty a spolupracovat na nich online. + +- Pomocí různých zásuvných modulů můžete používat další funkce. + +- Snadný přístup k osobnímu cloudu prostřednictvím "rozšíření Chrome":"https://chrome.google.com/webstore/detail/onlyoffice-personal/ohdlcmpahmacjddiaokoogleflddlahc?hl=en-US". + +Dokumenty můžete také upravovat offline pomocí našich bezplatných "desktopových editorů":"https://www.onlyoffice.com/download-desktop.aspx" nebo si pořiďte mobilní editační sadu pro zařízení se systémem "iOS":"https://apps.apple.com/app/onlyoffice-documents/id944896972" nebo "Android":"https://play.google.com/store/apps/details?id=com.onlyoffice.documents". + +S pozdravem, +tým ONLYOFFICE + + + Chcete změnit e-mail na svém účtu ONLYOFFICE? + +Klikněte na tlačítko níže a přihlaste se* do svého cloudu. + +$GreenButton + +Odkaz je platný 7 dní. + +*Pokud nejste v tomto prohlížeči přihlášeni do služby ONLYOFFICE, budete muset pro potvrzení použít svůj starý e-mail. + +Nechcete změnit svůj e-mail? Tuto zprávu ignorujte. + + + Dobrý den, + +právě jste si zaregistrovali účet v řešení ONLYOFFICE pro osobní použití. Kliknutím na "zde":"$InviteLink" potvrďte registraci a vytvořte si heslo. + +Pokud nemůžete odkaz otevřít, zkopírujte následující "$InviteLink":"$InviteLink" a vložte jej do adresního řádku prohlížeče. + +S pozdravem, +tým ONLYOFFICE + + + Požádali jste o ukončení svého účtu na personal.onlyoffice.com. Žádost dokončete pomocí odkazu (odkaz je aktivní po dobu 7 dnů): + +$GreenButton + +*Poznámka*: Po smazání bude váš účet a všechny údaje s ním spojené trvale vymazány v souladu s naším "Prohlášením o ochraně osobních údajů":"https://help.onlyoffice.com/products/files/doceditor.aspx?fileid=5048502&doc=SXhWMEVzSEYxNlVVaXJJeUVtS0kyYk14YWdXTEFUQmRWL250NllHNUFGbz0_IjUwNDg1MDIi0". + +"Více informací o ukončení účtu":"https://helpcenter.onlyoffice.com/administration/configuration.aspx" + +Pokud nechcete pokračovat, ignorujte tento e-mail. + +V případě dotazů nás prosím kontaktujte na adrese "support@onlyoffice.com":"mailto:support@onlyoffice.com". + +S pozdravem, +tým ONLYOFFICE + + + Deaktivace portálu [${__VirtualRootPath}](${__VirtualRootPath}) + +Vážený $OwnerName, + +požádali jste o dočasnou deaktivaci svého portálu [${__VirtualRootPath}](${__VirtualRootPath}). Operaci potvrďte na níže uvedeném odkazu: + +$GreenButton + +_Poznámka_: tento odkaz je platný pouze 7 dní. Během této doby dokončete proces deaktivace portálu. + +Svůj portál můžete kdykoli znovu aktivovat kliknutím na následující odkaz: +[Reactivate Portal]($ActivateUrl) (tento odkaz není časově omezen) + +V případě jakýchkoli dotazů nebo potřeby pomoci nás neváhejte kontaktovat na adrese [support@onlyoffice.com](mailto:support@onlyoffice.com). + +S pozdravem, +tým podpory ONLYOFFICE™ +[www.onlyoffice.com](http://onlyoffice.com/) + + + Odstranění portálu [${__VirtualRootPath}](${__VirtualRootPath}) + +Vážený $OwnerName, + +požádali jste o trvalé odstranění portálu [${__VirtualRootPath}](${__VirtualRootPath}). + +_Důležité! Veškerá data uložená na portálu, stejně jako vaše registrační údaje, budou ztracena a nebude možné je obnovit. + +#if($AutoRenew == "True") +Před odstraněním portálu se ujistěte, že je vypnutá automatická fakturace. Stav automatické fakturace můžete zkontrolovat ve svém [účtu Avangate] (https://secure.avangate.com/myaccount/"). +#end + +Pokud přesto chcete svůj portál [${__VirtualRootPath}](${__VirtualRootPath}) odstranit, potvrďte operaci pomocí níže uvedeného odkazu: + +$GreenButton + +_Poznámka_: tento odkaz je platný pouze 7 dní. V této lhůtě dokončete proces odstranění portálu. + +V případě jakýchkoli dotazů nebo potřeby pomoci nás neváhejte kontaktovat na adrese [support@onlyoffice.com](mailto:support@onlyoffice.com). + +S pozdravem, +tým podpory ONLYOFFICE™ +[www.onlyoffice.com](http://onlyoffice.com/) + + + Uživatel "$FromUserName":"$FromUserLink" smazal svůj profil a tento profil je nyní zablokován. Všechny soubory uživatele jsou mu stále přiřazeny a zabírají místo na disku. + +Dokumenty uživatele sdílené s ostatními můžete přiřadit jinému aktivnímu uživateli nebo je odebrat, abyste uvolnili místo na disku portálu. + +Přejděte prosím do profilu uživatele pomocí "tohoto odkazu":"$FromUserLink", abyste dokumenty přiřadili jinému uživateli nebo data odstranili. + + + Váš profil na adrese [${__VirtualRootPath}](${__VirtualRootPath}) byl změněn. + +Vážený/vážená $UserName, + +Údaje vašeho uživatelského profilu na adrese [${__VirtualRootPath}](${__VirtualRootPath}) byly změněny [$__AuthorName]($__AuthorUrl). + +Chcete-li si prohlédnout svůj profil, přejděte na níže uvedený odkaz: +[$UserName]($MyStaffLink) + + + Vážený/vážená $UserName, + +proces přeřazení dat z uživatele "$FromUserName":"$FromUserLink" na uživatele "$ToUserName":"$ToUserLink" selhal. + +Zpráva o výjimce: $Message + + + Vážený/vážená $UserName, + +proces odstranění dat uživatele "$FromUserName":"$FromUserLink" byl úspěšně dokončen. + +Výmaz osobních údajů povolen: + +# Dokumenty - $DocsSpace +# CRM - $CrmSpace +# Mail - $MailSpace +# Talk - $TalkSpace + + + Vážený/vážená $UserName, + +proces odstranění dat pro uživatele "$FromUserName":"$FromUserLink" selhal. + +Zpráva o výjimce: $Message + + + h1.Obnova portálu +h1."${__VirtualRootPath}":"${__VirtualRootPath}" + +Váš portál byl obnoven. Pro přístup k němu je třeba nastavit nové heslo: + +$GreenButton + +*Poznámka*: tento odkaz je platný pouze 7 dní. + +Pokud jste tento e-mail obdrželi omylem, ignorujte jej nebo kontaktujte správce portálu "${__VirtualRootPath}":"${__VirtualRootPath}" a zjistěte podrobnosti. + + + Dobrý den! + +Jste zváni, abyste se připojili k "${__VirtualRootPath}":"${__VirtualRootPath}" jako hostující uživatel. Přijměte pozvání kliknutím na odkaz: + +$GreenButton + +Jednou za čas vám také zašleme užitečné tipy a novinky z ONLYOFFICE. Odběry můžete kdykoli zrušit na stránce svého profilu a také je znovu povolit. + +S pozdravem, +tým ONLYOFFICE +"www.onlyoffice.com":"http://onlyoffice.com/" + + + [${__VirtualRootPath}](${__VirtualRootPath}) oznámení o změně profilu portálu + +[$__AuthorName]($__AuthorUrl) změnil své profilové údaje na portálu [${__VirtualRootPath}](${__VirtualRootPath}). + + + Dobrý den, $UserName! + +Proces dešifrování souboru na vašem portálu "${PortalUrl}":"${PortalUrl}" se nezdařil. + +Některé soubory nebylo možné dešifrovat. Další podrobnosti najdete v "Ovládacím panelu":"${ControlPanelUrl}/storage". + + + Dobrý den, $UserName! + +Proces dešifrování souboru byl zahájen na vašem portálu "${PortalUrl}":"${PortalUrl}". + +Dešifrování může nějakou dobu trvat, takže portál bude dočasně nedostupný. Jakmile dešifrování skončí, budete moci se svými daty opět pracovat. + + + Dobrý den, $UserName! + +Proces dešifrování souboru na vašem portálu "${PortalUrl}":"${PortalUrl}" byl úspěšně dokončen. + +Váš portál je opět k dispozici. + + + Dobrý den, $UserName! + +Proces šifrování souboru na portálu "${PortalUrl}":"${PortalUrl}" se nezdařil. + +Některé soubory nebylo možné zašifrovat. Další podrobnosti najdete v "Ovládacím panelu":"${ControlPanelUrl}/storage". + + + Dobrý den, $UserName! + +Na vašem portálu "${PortalUrl}":"${PortalUrl}" byl zahájen proces šifrování souborů. + +Šifrování může nějakou dobu trvat, takže portál bude dočasně nedostupný. Jakmile šifrování skončí, budete moci se svými daty opět pracovat. + + + Dobrý den, $UserName! + +Proces šifrování souborů na vašem portálu "${PortalUrl}":"${PortalUrl}" byl úspěšně dokončen. + +Váš portál je opět k dispozici. + + + Nový uživatel přidán na portál [${__VirtualRootPath}](${__VirtualRootPath}) +[$__AuthorName]($__AuthorUrl) se připojil k vašemu portálu na adrese [${__VirtualRootPath}](${__VirtualRootPath}). + + + Vážený/vážená $UserName, + +Byli jste pozváni do bezpečné webové kanceláře vaší společnosti, která by zlepšila vaši spolupráci. Její adresa je "${__VirtualRootPath}":"${__VirtualRootPath}". Přidání tohoto odkazu do záložek je dobrý nápad, pravděpodobně jej budete často používat. + +Přijměte pozvánku pomocí níže uvedeného odkazu a přihlaste se pomocí přihlašovacího jména a hesla z firemního účtu. + +$GreenButton + +Odkaz je platný pouze 7 dní. + + + Potvrzení změny e-mailu + + + Vítejte v ONLYOFFICE DocSpace! + + + Vítejte v ONLYOFFICE DocSpace! + + + Vítejte v ONLYOFFICE DocSpace! + + + Získejte bezplatné aplikace ONLYOFFICE + + + Potvrďte změnu hesla + + + Několik tipů pro efektivní práci na dokumentech + + + Získejte bezplatné aplikace ONLYOFFICE + + + Vítejte v ONLYOFFICE DocSpace! + + + Několik tipů pro efektivní práci na dokumentech + + + Připojte se k ONLYOFFICE DocSpace + + + Přihlaste se do svého osobního účtu ONLYOFFICE + + + Několik tipů pro efektivní práci na dokumentech + + + Vítejte v ONLYOFFICE DocSpace! + + + Vítejte v ONLYOFFICE DocSpace! + + + Připojte se k ONLYOFFICE DocSpace + + + Join ${__VirtualRootPath} + + + Join ${__VirtualRootPath} + + + Připojte se k ONLYOFFICE DocSpace + + + Požadavek obchodního oddělení + + + Join ${__VirtualRootPath} + + + Ukončení osobního účtu ONLYOFFICE + + + Vítejte v ONLYOFFICE Personal + + + ONLYOFFICE Personal. Aktivujte prosím svou e-mailovou adresu + + + Uživatel smazal svůj profil + + + Vítejte v ONLYOFFICE DocSpace! + + + Připojte se k ONLYOFFICE DocSpace + + + Připojte se k ONLYOFFICE DocSpace + + + Vítejte v ONLYOFFICE DocSpace! + + + Konfigurujte svůj ONLYOFFICE DocSpace + + + Objevte obchodní předplatné ONLYOFFICE DocSpace + + + Objevte obchodní předplatné ONLYOFFICE DocSpace + + + Objevte obchodní předplatné ONLYOFFICE DocSpace + + + Služba ONLYOFFICE DocSpace byla deaktivována + + + Váš ONLYOFFICE DocSpace bude smazán + + + Získejte bezplatné aplikace ONLYOFFICE + + + Několik tipů pro efektivní práci na dokumentech + + + Objevte obchodní předplatné ONLYOFFICE DocSpace + + + Join ${__VirtualRootPath} + + + Jste zváni k připojení k ${__VirtualRootPath} + + + Odkladná lhůta pro aktivaci služby ONLYOFFICE DocSpace + + + Vaše předplatné služby ONLYOFFICE DocSpace brzy vyprší + + + Doba odkladu pro váš ONLYOFFICE DocSpace vypršela + + + Zítra končí doba odkladu pro váš ONLYOFFICE DocSpace + + + Připojte se k ONLYOFFICE DocSpace + + + Co je nového na vašem portálu pro $Date + \ No newline at end of file From e2358abf639c71c9b1de114ebc7e0c424cc0c644 Mon Sep 17 00:00:00 2001 From: Maria-Sukhova Date: Tue, 6 Jun 2023 18:50:06 +0300 Subject: [PATCH 15/16] added el --- packages/login/public/locales/el-GR/Errors.json | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/packages/login/public/locales/el-GR/Errors.json b/packages/login/public/locales/el-GR/Errors.json index 90602a2453..5f022b04ce 100644 --- a/packages/login/public/locales/el-GR/Errors.json +++ b/packages/login/public/locales/el-GR/Errors.json @@ -1,5 +1,9 @@ { "ErrorConfirmURLError": "Άκυρα email ή ληγμένος σύνδεσμος", + "ErrorExpiredActivationLink": "Ο σύνδεσμος έχει λήξει", + "ErrorInvalidActivationLink": "Μη έγκυρος σύνδεσμος ενεργοποίησης", + "ErrorUserNotFound": "Ο χρήστης δε βρέθηκε", "InvalidUsernameOrPassword": "Άκυρο όνομα χρήστη ή κωδικός πρόσβασης.<", - "LoginWithAccountNotFound": "Δεν μπορείτε να βρείτε συνδεδεμένο λογαριασμό τρίτου" + "LoginWithAccountNotFound": "Δεν μπορείτε να βρείτε συνδεδεμένο λογαριασμό τρίτου", + "SsoAuthFailed": "Η αυθεντικοποίηση απέτυχε" } From 812a570e51d9e37316543c40da0e7d1f6885f224 Mon Sep 17 00:00:00 2001 From: Nikolay Rechkin Date: Wed, 7 Jun 2023 10:27:26 +0300 Subject: [PATCH 16/16] Firebase: added config for mobile application --- common/ASC.Core.Common/Notify/FirebaseApiKey.cs | 12 ++++++------ config/appsettings.json | 13 ++++++++----- 2 files changed, 14 insertions(+), 11 deletions(-) diff --git a/common/ASC.Core.Common/Notify/FirebaseApiKey.cs b/common/ASC.Core.Common/Notify/FirebaseApiKey.cs index c83f0c6e93..29adc15400 100644 --- a/common/ASC.Core.Common/Notify/FirebaseApiKey.cs +++ b/common/ASC.Core.Common/Notify/FirebaseApiKey.cs @@ -49,7 +49,7 @@ class FirebaseApiKey { get { - return _configuration["firebase:projectId"] ?? ""; + return _configuration["firebase-mobile:projectId"] ?? ""; } } [JsonProperty("private_key_id")] @@ -57,7 +57,7 @@ class FirebaseApiKey { get { - return _configuration["firebase:privateKeyId"] ?? ""; + return _configuration["firebase-mobile:privateKeyId"] ?? ""; } } [JsonProperty("private_key")] @@ -65,7 +65,7 @@ class FirebaseApiKey { get { - return _configuration["firebase:privateKey"] ?? ""; + return _configuration["firebase-mobile:privateKey"] ?? ""; } } [JsonProperty("client_email")] @@ -73,7 +73,7 @@ class FirebaseApiKey { get { - return _configuration["firebase:clientEmail"] ?? ""; + return _configuration["firebase-mobile:clientEmail"] ?? ""; } } [JsonProperty("client_id")] @@ -81,7 +81,7 @@ class FirebaseApiKey { get { - return _configuration["firebase:clientId"] ?? ""; + return _configuration["firebase-mobile:clientId"] ?? ""; } } [JsonProperty("auth_uri")] @@ -113,7 +113,7 @@ class FirebaseApiKey { get { - return _configuration["firebase:x509CertUrl"] ?? ""; + return _configuration["firebase-mobile:x509CertUrl"] ?? ""; } } } diff --git a/config/appsettings.json b/config/appsettings.json index f2a8ba416d..b6e8f5e3e8 100644 --- a/config/appsettings.json +++ b/config/appsettings.json @@ -333,11 +333,6 @@ }, "firebase": { "projectId": "", - "privateKeyId": "", - "privateKey": "", - "clientEmail": "", - "clientId": "", - "x509CertUrl": "", "apiKey": "", "authDomain": "", "storageBucket": "", @@ -346,6 +341,14 @@ "measurementId": "", "databaseURL": "" }, + "firebase-mobile": { + "projectId": "", + "privateKeyId": "", + "privateKey": "", + "clientEmail": "", + "clientId": "", + "x509CertUrl": "" + }, "debug-info": { "enabled": "true" },