mirror of
https://github.com/lobehub/lobe-chat.git
synced 2026-06-13 19:20:04 +00:00
913ee4210d
* feat: support page editor lock Squashed page-lock feature work: - support page editor lock - support agent group / agent / task edit - add edit lock to agent/agentgroup/task - refactor page lock - fix workspaceId for edit objects - align with agent/group/task * fix: collaborative edit lock * chore: update i18n * fix: redis acquire * fix: release lock * fix: test case * chore: complement page lock test cases
232 lines
13 KiB
JSON
232 lines
13 KiB
JSON
{
|
||
"addFolder": "Create Folder",
|
||
"addLibrary": "Add",
|
||
"addPage": "Create Page",
|
||
"detail.basic.createdAt": "Creation Time",
|
||
"detail.basic.filename": "File Name",
|
||
"detail.basic.size": "File Size",
|
||
"detail.basic.title": "Basic Information",
|
||
"detail.basic.type": "Format",
|
||
"detail.basic.updatedAt": "Update Time",
|
||
"detail.data.chunkCount": "Chunks",
|
||
"detail.data.embedding.default": "Not embedding",
|
||
"detail.data.embedding.error": "Failed",
|
||
"detail.data.embedding.pending": "Pending start",
|
||
"detail.data.embedding.processing": "In progress",
|
||
"detail.data.embedding.success": "Completed",
|
||
"detail.data.embeddingStatus": "embedding",
|
||
"detail.data.noChunk": "No chunk",
|
||
"empty": "No files or folders have been uploaded yet.",
|
||
"header.actions.builtInBlockList.filtered": "{{ignored}} files filtered (out of {{total}} total)",
|
||
"header.actions.connect": "Connect...",
|
||
"header.actions.createFolderError": "Failed to create folder",
|
||
"header.actions.creatingFolder": "Creating folder...",
|
||
"header.actions.deleteLibrary": "Delete Library",
|
||
"header.actions.gitignore.apply": "Apply Rules",
|
||
"header.actions.gitignore.cancel": "Ignore Rules",
|
||
"header.actions.gitignore.content": ".gitignore file detected ({{count}} files in total). Would you like to apply the ignore rules?",
|
||
"header.actions.gitignore.filtered": "{{ignored}} files filtered out ({{total}} files in total)",
|
||
"header.actions.gitignore.title": ".gitignore Detected",
|
||
"header.actions.newFolder": "New Folder",
|
||
"header.actions.newPage": "New Page",
|
||
"header.actions.notion.error": "Failed to import Notion files",
|
||
"header.actions.notion.foundFiles": "found {{count}} files",
|
||
"header.actions.notion.importing": "Importing Notion Content...",
|
||
"header.actions.notion.noMarkdownFiles": "No markdown files found in the ZIP archive",
|
||
"header.actions.notion.partial": "Successfully imported {{success}} files, {{failed}} failed",
|
||
"header.actions.notion.success": "Successfully imported {{count}} files",
|
||
"header.actions.notionGuide.cancel": "Not Now",
|
||
"header.actions.notionGuide.desc": "First, export your content from Notion as a Markdown (ZIP) file. Then click Continue to select the ZIP file and import all pages.",
|
||
"header.actions.notionGuide.ok": "Select Notion ZIP",
|
||
"header.actions.notionGuide.title": "Import from Notion",
|
||
"header.actions.uploadFile": "Upload File",
|
||
"header.actions.uploadFolder": "Upload Folder",
|
||
"header.actions.uploadFolder.creatingFolders": "Creating folder structure...",
|
||
"header.newPageButton": "New Page",
|
||
"header.uploadButton": "Upload",
|
||
"home.getStarted": "Get Started",
|
||
"home.greeting": "Get Started",
|
||
"home.quickActions": "Quick Actions",
|
||
"home.recentFiles": "Recent Files",
|
||
"home.recentPages": "Recent Pages",
|
||
"home.uploadEntries.files.title": "Upload Files",
|
||
"home.uploadEntries.folder.title": "Upload Folder",
|
||
"home.uploadEntries.library.title": "Create New Library",
|
||
"home.uploadEntries.newPage.title": "New Page",
|
||
"library.hierarchy.empty.desc": "Add files or create a folder to get started",
|
||
"library.hierarchy.empty.title": "Nothing here yet",
|
||
"library.import.action": "Import to workspace…",
|
||
"library.import.failed": "Failed to import knowledge base.",
|
||
"library.import.success": "Knowledge base imported to {{name}}.",
|
||
"library.import.tooltip": "Fork this knowledge base into a workspace. Files are shared by reference; the original stays in your personal space.",
|
||
"library.list.confirmRemoveLibrary": "You are about to delete this library. The files within it will not be deleted but moved to All Files. This action cannot be undone, so please proceed with caution.",
|
||
"library.list.copyDescription": "Clone this library and all of its contents into another workspace.",
|
||
"library.list.copyFailed": "Failed to copy library",
|
||
"library.list.copySuccess": "Library copied",
|
||
"library.list.copyTitle": "Copy library",
|
||
"library.list.copyTo": "Copy to…",
|
||
"library.list.empty": "Click <1>+</1> to create a new library",
|
||
"library.list.transferDescription": "Move this library and all of its contents to another workspace.",
|
||
"library.list.transferFailed": "Failed to transfer library",
|
||
"library.list.transferSuccess": "Library transferred",
|
||
"library.list.transferTitle": "Transfer library",
|
||
"library.list.transferTo": "Transfer to…",
|
||
"library.new": "New Library",
|
||
"library.title": "Library",
|
||
"loadMore": "Load More",
|
||
"menu.allFiles": "All Files",
|
||
"menu.allPages": "All Pages",
|
||
"networkError": "Failed to retrieve libraries. Please check your network connection and try again.",
|
||
"notSupportGuide.desc": "The current deployment mode does not support file management. Switch to <1>server database deployment mode</1>, or use <3>LobeHub Cloud</3>.",
|
||
"notSupportGuide.features.allKind.desc": "Supports mainstream file types, including common page formats like Word, PPT, Excel, PDF, TXT, as well as popular code files like JS and Python.",
|
||
"notSupportGuide.features.allKind.title": "Multiple File Type Parsing",
|
||
"notSupportGuide.features.embeddings.desc": "Utilizes high-performance vector models to vectorize text chunks, enabling semantic search of file content.",
|
||
"notSupportGuide.features.embeddings.title": "Vector Semantics",
|
||
"notSupportGuide.features.libraries.desc": "Create Libraries and add files to build your own Library.",
|
||
"notSupportGuide.features.libraries.title": "Library",
|
||
"notSupportGuide.title": "The current deployment mode does not support file management",
|
||
"pageEditor.addIcon": "Add Icon",
|
||
"pageEditor.autoSaveMessage": "Your page is saved automatically. No need to save manually.",
|
||
"pageEditor.chooseIcon": "Choose Icon",
|
||
"pageEditor.deleteConfirm.content": "This page will be deleted and cannot be recovered. Please proceed with caution.",
|
||
"pageEditor.deleteConfirm.title": "Delete Page",
|
||
"pageEditor.deleteError": "Failed to delete the page",
|
||
"pageEditor.deleteSuccess": "Page deleted successfully",
|
||
"pageEditor.duplicateError": "Failed to duplicate the page",
|
||
"pageEditor.duplicateSuccess": "Page duplicated successfully",
|
||
"pageEditor.editMode.checking": "Checking edit availability…",
|
||
"pageEditor.editMode.lockedByOther": "{{name}} is editing this document",
|
||
"pageEditor.editMode.lockedBySomeone": "Someone else is editing this document",
|
||
"pageEditor.editedAt": "Last edited on {{time}}",
|
||
"pageEditor.editedBy": "Last edited by {{name}}",
|
||
"pageEditor.editorPlaceholder": "Press \"/\" for AI and commands.",
|
||
"pageEditor.empty.createNewDocument": "Create New Page",
|
||
"pageEditor.empty.importNotion": "Import from Notion",
|
||
"pageEditor.empty.title": "Select a page to get started",
|
||
"pageEditor.empty.uploadFiles": "Upload Files",
|
||
"pageEditor.exportActions.openFile": "Open",
|
||
"pageEditor.exportActions.showInFolder": "Show in Folder",
|
||
"pageEditor.exportDialogTitle": "Export Page",
|
||
"pageEditor.exportError": "Failed to export the page",
|
||
"pageEditor.exportSuccess": "Page exported successfully",
|
||
"pageEditor.history.backToCopilot": "Copilot",
|
||
"pageEditor.history.compare": "Compare",
|
||
"pageEditor.history.compareCurrentLabel": "Current",
|
||
"pageEditor.history.compareDescription": "Comparing the current content with the selected history state",
|
||
"pageEditor.history.compareError": "Failed to load diff preview",
|
||
"pageEditor.history.compareModalTitle": "Compare",
|
||
"pageEditor.history.compareOldLabel": "Restore To",
|
||
"pageEditor.history.compareTitle": "Version Diff",
|
||
"pageEditor.history.current": "Current",
|
||
"pageEditor.history.dayLabel.today": "Today",
|
||
"pageEditor.history.dayLabel.yesterday": "Yesterday",
|
||
"pageEditor.history.empty": "No version history yet",
|
||
"pageEditor.history.restore": "Restore",
|
||
"pageEditor.history.restoreConfirm.content": "Restore the page to how it was at {{savedAt}}? Your current content will be replaced and saved.",
|
||
"pageEditor.history.restoreConfirm.title": "Restore from history",
|
||
"pageEditor.history.restoreError": "Failed to restore from history",
|
||
"pageEditor.history.saveSource.autosave": "Auto Save",
|
||
"pageEditor.history.saveSource.llm_call": "AI Edit",
|
||
"pageEditor.history.saveSource.manual": "Manual Save",
|
||
"pageEditor.history.saveSource.restore": "Restore",
|
||
"pageEditor.history.saveSource.system": "System",
|
||
"pageEditor.history.title": "Version History",
|
||
"pageEditor.history.versionCount_one": "{{count}} version",
|
||
"pageEditor.history.versionCount_other": "{{count}} versions",
|
||
"pageEditor.linkCopied": "Link copied",
|
||
"pageEditor.lock.editingByOther": "{{name}} is editing this page. Your changes can’t be saved right now.",
|
||
"pageEditor.lock.editingBySomeone": "Someone else is editing this page. Your changes can’t be saved right now.",
|
||
"pageEditor.menu.copyLink": "Copy Link",
|
||
"pageEditor.menu.export": "Export",
|
||
"pageEditor.menu.export.markdown": "Markdown",
|
||
"pageEditor.menu.exportDocument": "Export Page",
|
||
"pageEditor.menu.importDocument": "Import Page",
|
||
"pageEditor.menu.pin": "Pin Page",
|
||
"pageEditor.saving": "Saving...",
|
||
"pageEditor.titlePlaceholder": "Untitled",
|
||
"pageEditor.wordCount": "{{wordCount}} words",
|
||
"pageList.actions.openInNewTab": "Open in New Tab",
|
||
"pageList.copyConfirm": "Copy",
|
||
"pageList.copyContent": "Copy Full Text",
|
||
"pageList.copyDescription": "Create a copy of this page in another workspace.",
|
||
"pageList.copyFailed": "Failed to copy page",
|
||
"pageList.copySuccess": "Page copied",
|
||
"pageList.copyTitle": "Copy page",
|
||
"pageList.copyTo": "Copy to…",
|
||
"pageList.duplicate": "Duplicate",
|
||
"pageList.empty": "No pages yet. Click the button above to create your first one.",
|
||
"pageList.filter.all": "All",
|
||
"pageList.filter.onlyInPages": "In Pages Only",
|
||
"pageList.noResults": "No matching pages found",
|
||
"pageList.pageCount": "{{count}} pages in total",
|
||
"pageList.pageSizeItem": "{{count}} items",
|
||
"pageList.title": "Pages",
|
||
"pageList.transferConfirm": "Transfer",
|
||
"pageList.transferDescription": "Move this page (and any folders it contains) to another workspace.",
|
||
"pageList.transferFailed": "Failed to transfer page",
|
||
"pageList.transferSuccess": "Page transferred",
|
||
"pageList.transferTitle": "Transfer page",
|
||
"pageList.transferTo": "Transfer to…",
|
||
"pageList.transferWarning": "This is a one-way move; reverting requires another transfer.",
|
||
"pageList.untitled": "Untitled",
|
||
"portal.openInPageEditor": "Edit in Page",
|
||
"preview.downloadFile": "Download File",
|
||
"preview.unsupportedFileAndContact": "This file format is not currently supported for online preview. If you have a request for previewing, feel free to <1>contact us</1>.",
|
||
"resource": "Resource",
|
||
"resourceList.batchCopyDescription": "Clone selected resources into another workspace.",
|
||
"resourceList.batchCopyTitle": "Copy resources",
|
||
"resourceList.batchTransferDescription": "Move selected resources to another workspace.",
|
||
"resourceList.batchTransferTitle": "Transfer resources",
|
||
"resourceList.copyConfirm": "Copy",
|
||
"resourceList.copyDocumentDescription": "Clone this document into another workspace.",
|
||
"resourceList.copyDocumentTitle": "Copy document",
|
||
"resourceList.copyFailed": "Failed to copy resource",
|
||
"resourceList.copyFileDescription": "Clone this file into another workspace.",
|
||
"resourceList.copyFileTitle": "Copy file",
|
||
"resourceList.copyFolderDescription": "Clone this folder (and its contents) into another workspace.",
|
||
"resourceList.copyFolderTitle": "Copy folder",
|
||
"resourceList.copySuccess": "Resource copied",
|
||
"resourceList.copyTo": "Copy to…",
|
||
"resourceList.transferConfirm": "Transfer",
|
||
"resourceList.transferDocumentDescription": "Move this document to another workspace.",
|
||
"resourceList.transferDocumentTitle": "Transfer document",
|
||
"resourceList.transferFailed": "Failed to transfer resource",
|
||
"resourceList.transferFileDescription": "Move this file to another workspace.",
|
||
"resourceList.transferFileTitle": "Transfer file",
|
||
"resourceList.transferFolderDescription": "Move this folder (and its contents) to another workspace.",
|
||
"resourceList.transferFolderTitle": "Transfer folder",
|
||
"resourceList.transferSuccess": "Resource transferred",
|
||
"resourceList.transferTo": "Transfer to…",
|
||
"resourceList.viewTransferred": "View",
|
||
"searchFilePlaceholder": "Search Files",
|
||
"searchPagePlaceholder": "Search Pages",
|
||
"tab.all": "All",
|
||
"tab.audios": "Audio",
|
||
"tab.documents": "Documents",
|
||
"tab.home": "Home",
|
||
"tab.images": "Images",
|
||
"tab.moreTypes": "More Types",
|
||
"tab.pages": "Pages",
|
||
"tab.videos": "Videos",
|
||
"tab.websites": "Websites",
|
||
"title": "Resources",
|
||
"toggleLeftPanel": "Show/Hide Left Panel",
|
||
"uploadDock.body.collapse": "Collapse",
|
||
"uploadDock.body.item.cancel": "Cancel",
|
||
"uploadDock.body.item.cancelled": "Cancelled",
|
||
"uploadDock.body.item.done": "Uploaded",
|
||
"uploadDock.body.item.error": "Upload failed, please try again",
|
||
"uploadDock.body.item.pending": "Preparing to upload...",
|
||
"uploadDock.body.item.processing": "Processing file...",
|
||
"uploadDock.body.item.restTime": "Remaining {{time}}",
|
||
"uploadDock.fileQueueInfo": "Uploading the first {{count}} files, {{remaining}} remaining in queue",
|
||
"uploadDock.header.cancelAll": "Cancel all",
|
||
"uploadDock.totalCount": "Total {{count}} items",
|
||
"uploadDock.uploadStatus.cancelled": "Upload cancelled",
|
||
"uploadDock.uploadStatus.error": "Upload error",
|
||
"uploadDock.uploadStatus.pending": "Waiting to upload",
|
||
"uploadDock.uploadStatus.processing": "Uploading",
|
||
"uploadDock.uploadStatus.success": "Upload completed",
|
||
"uploadDock.uploadStatus.uploading": "Uploading"
|
||
}
|