Build lightweight AI agent admin

This commit is contained in:
Codex
2026-06-08 18:14:59 +08:00
commit e164840f43
2530 changed files with 435693 additions and 0 deletions
@@ -0,0 +1,15 @@
{
"title": "About Project",
"basicInfo": "Basic Information",
"productionDependencies": "Production Dependencies",
"devDependencies": "Development Dependencies",
"version": "Version",
"license": "License",
"buildTime": "Build Time",
"homepage": "Homepage",
"docUrl": "Documentation",
"previewUrl": "Preview",
"github": "Github",
"author": "Author",
"viewDetails": "View Details"
}
@@ -0,0 +1,3 @@
{
"passwordLengthHint": "Password length must be 6-20 characters"
}
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,73 @@
{
"title": "Title",
"status": "Status",
"priority": "Priority",
"targetType": "Target Type",
"readCount": "Read Count",
"publisher": "Publisher",
"publishTime": "Publish Time",
"actions": "Actions",
"keyword": "Keyword",
"keywordPlaceholder": "Enter title keyword",
"statusAll": "All",
"statusDraft": "Draft",
"statusPublished": "Published",
"statusExpired": "Expired",
"priorityNormal": "Normal",
"priorityImportant": "Important",
"priorityUrgent": "Urgent",
"targetTypeAll": "All",
"targetTypeDept": "Specified Department",
"targetTypeRole": "Specified Role",
"targetTypeUser": "Specified User",
"topTag": "Top",
"createButton": "Create Announcement",
"editButton": "Edit",
"deleteButton": "Delete",
"publishButton": "Publish",
"statsButton": "Read Statistics",
"moreButton": "More",
"createTitle": "Create Announcement",
"editTitle": "Edit Announcement",
"deleteConfirm": "Are you sure you want to delete the announcement \"{title}\"?",
"deleteConfirmTitle": "Delete Confirmation",
"publishConfirm": "Are you sure you want to publish this announcement? Relevant users will be notified after publishing.",
"publishConfirmTitle": "Publish Confirmation",
"deleteSuccess": "Deleted successfully",
"publishSuccess": "Published successfully",
"updateSuccess": "Updated successfully",
"createSuccess": "Created successfully",
"formTitleLabel": "Title",
"formTitlePlaceholder": "Enter announcement title",
"formSummaryLabel": "Summary",
"formSummaryPlaceholder": "Enter summary (optional)",
"formContentLabel": "Content",
"formContentPlaceholder": "Enter announcement content",
"formTitleRequired": "Please enter announcement title",
"formContentRequired": "Please enter announcement content",
"formPriorityLabel": "Priority",
"formTopLabel": "Top",
"formTargetTypeLabel": "Target Type",
"formExpireTimeLabel": "Expire Time",
"formExpireTimePlaceholder": "Select expire time (optional)",
"formCancelButton": "Cancel",
"formSaveButton": "Save",
"statsTitle": "Read Statistics",
"statsReadCount": "Read: {count} people",
"statsUserLabel": "User",
"statsReadTimeLabel": "Read Time",
"unreadOnly": "Unread Only",
"unreadOnlyAll": "All",
"unreadOnlyUnread": "Unread",
"unreadCount": "{count} unread",
"viewButton": "View",
"publisherLabel": "Publisher",
"publishTimeLabel": "Publish Time",
"emptyList": "No announcements",
"loadingMore": "Loading...",
"noMore": "No more data",
"detailTitle": "Announcement Detail",
"selectHint": "Please select an announcement to view",
"unreadLabel": "Unread",
"summary": "Summary"
}
@@ -0,0 +1,37 @@
{
"title": "API Token",
"deviceManagement": "Device Management",
"description": "API Tokens can be used to access system resources via API. Please keep your tokens secure.",
"createToken": "Create Token",
"tokenName": "Token Name",
"tokenNamePlaceholder": "Enter token name, e.g., CI/CD Deployment",
"expirationDate": "Expiration Date",
"neverExpiresHint": "Leave empty for no expiration",
"tokenDescription": "Description",
"tokenDescriptionPlaceholder": "Optional, describe the purpose of this token",
"neverExpires": "Never expires",
"expired": "Expired",
"expiresSoon": "Expires in {0} days",
"createdAt": "Created",
"lastUsed": "Last used",
"revokeToken": "Revoke Token",
"revokeTitle": "Revoke Token",
"revokeConfirm": "Are you sure you want to revoke token \"{0}\"? This action cannot be undone.",
"confirmRevoke": "Confirm Revoke",
"revokeSuccess": "Token revoked",
"tokenCreated": "Token Created Successfully",
"tokenWarning": "Please copy your token now. You won't be able to see it again after closing this dialog.",
"copy": "Copy",
"copied": "Copied",
"copySuccess": "Token copied to clipboard",
"copyError": "Copy failed, please copy manually",
"empty": "No API Tokens yet. Click \"Create Token\" to generate your first token.",
"nameRequired": "Please enter a token name",
"loadError": "Failed to load token list",
"createError": "Failed to create token",
"days7": "7 days",
"days30": "30 days",
"days60": "60 days",
"days90": "90 days",
"days365": "1 year"
}
@@ -0,0 +1,75 @@
{
"title": "Application Management",
"createApp": "Create App",
"editApp": "Edit App",
"search": "Search",
"searchPlaceholder": "Search app name or code",
"noApps": "No applications",
"appName": "App Name",
"appNamePlaceholder": "Please enter app name",
"appCode": "App Code",
"appCodePlaceholder": "Please enter app code (for URL routing)",
"appType": "App Type",
"appTypePlaceholder": "Please select app type",
"appDescription": "Description",
"appDescriptionPlaceholder": "Please enter app description",
"appIcon": "App Icon",
"systemMenu": "System Menu",
"systemMenuPlaceholder": "Select system menus for dev mode (leave empty for all)",
"selectSystemMenu": "Select System Menu",
"save": "Save",
"create": "Create",
"cancel": "Cancel",
"develop": "Develop",
"edit": "Edit",
"publish": "Publish",
"enable": "Enable",
"disable": "Disable",
"delete": "Delete",
"publishApp": "Publish App",
"enableApp": "Enable App",
"disableApp": "Disable App",
"confirmPublish": "Confirm Publish",
"confirmEnable": "Confirm Enable",
"confirmDisable": "Confirm Disable",
"publishConfirmMsg": "Are you sure to publish app \"{name}\"?",
"enableConfirmMsg": "Are you sure you want to re-enable app \"{name}\"?",
"publishSuccessMsg": "After publishing, users can access this app via the following link:",
"enableSuccessMsg": "After enabling, users can access this app via the following link:",
"disableConfirmMsg": "Are you sure to disable app \"{name}\"?",
"appLink": "App Link:",
"deleteConfirm": "Delete Confirm",
"deleteConfirmMsg": "Are you sure to delete app \"{name}\"?",
"confirm": "Confirm",
"loadFailed": "Failed to load applications",
"publishSuccess": "Published successfully",
"publishFailed": "Failed to publish",
"enableSuccess": "Enabled successfully",
"enableFailed": "Failed to enable",
"disableSuccess": "Disabled successfully",
"disableFailed": "Failed to disable",
"deleteSuccess": "Deleted successfully",
"copySuccess": "Link copied to clipboard",
"copyFailed": "Failed to copy",
"appTypes": {
"mixed": "Mixed App",
"form": "Form App",
"workflow": "Workflow App",
"ai": "AI App",
"dashboard": "Dashboard App",
"screen": "Screen App"
},
"appStatus": {
"draft": "Draft",
"published": "Published",
"disabled": "Disabled"
},
"validation": {
"nameRequired": "Please enter app name",
"nameLength": "Length should be 2 to 100 characters",
"codeRequired": "Please enter app code",
"codePattern": "Code must start with a letter and contain only letters, numbers, underscores and hyphens",
"codeLength": "Length should be 2 to 100 characters",
"typeRequired": "Please select app type"
}
}
@@ -0,0 +1,62 @@
{
"title": "Process Title",
"type": "Process Type",
"currentNode": "Current Node",
"processNode": "Process Node",
"initiator": "Initiator",
"receiveTime": "Receive Time",
"processTime": "Process Time",
"copyTime": "Copy Time",
"startTime": "Start Time",
"actions": "Actions",
"processResult": "Process Result",
"status": "Status",
"approved": "Approved",
"rejected": "Rejected",
"transferred": "Transferred",
"pending": "Pending",
"cancelled": "Cancelled",
"unread": "Unread",
"read": "Read",
"tabPending": "My Pending",
"tabHandled": "My Handled",
"tabInitiated": "My Initiated",
"tabCopy": "Copied to Me",
"approveButton": "Approve",
"detailButton": "Details",
"urgeButton": "Urge",
"cancelButton": "Cancel",
"markReadButton": "Mark as Read",
"emptyPending": "No pending tasks",
"emptyHandled": "No handled tasks",
"emptyInitiated": "No initiated processes",
"emptyCopy": "No copies",
"urgeConfirm": "Are you sure you want to urge this process?",
"cancelConfirm": "Are you sure you want to cancel this process?",
"urgeSuccess": "Urged successfully",
"cancelSuccess": "Cancelled successfully",
"markReadSuccess": "Marked as read",
"operationFailed": "Operation failed",
"dialogTitle": "Approval",
"initiatorLabel": "Initiator",
"startTimeLabel": "Start Time",
"currentNodeLabel": "Current Node",
"formDataTitle": "Form Data",
"approvalLogsTitle": "Approval Logs",
"approvalActionTitle": "Approval Action",
"approvalResultLabel": "Approval Result",
"approvalOpinionLabel": "Approval Opinion",
"approvalOpinionPlaceholder": "Enter approval opinion (optional)",
"approveAction": "Approve",
"rejectAction": "Reject",
"cancelButton2": "Cancel",
"submitButton": "Submit",
"approveSuccess": "Approved successfully",
"rejectSuccess": "Rejected",
"loadDataFailed": "Failed to load data",
"startAction": "Start Process",
"approveActionLabel": "Approve",
"rejectActionLabel": "Reject",
"transferAction": "Transfer",
"cancelAction": "Cancel"
}
@@ -0,0 +1,41 @@
{
"username": "Username",
"usernameTip": "Please enter username",
"password": "Password",
"passwordTip": "Please enter password",
"confirmPassword": "Confirm Password",
"confirmPasswordTip": "Passwords do not match",
"passwordStrength": "Password Strength",
"selectAccount": "Select Account",
"verifyRequiredTip": "Please complete the slider verification",
"mobile": "Phone Number",
"mobileTip": "Please enter phone number",
"mobileErrortip": "Please enter a valid phone number",
"code": "Verification Code",
"codeTip": "Verification code length is {0} digits",
"sendCode": "Send Code",
"sendText": "Resend({0}s)",
"email": "Email",
"emailTip": "Please enter email",
"emailValidErrorTip": "Please enter a valid email format",
"agree": "I agree to",
"privacyPolicy": "Privacy Policy",
"terms": "Terms of Service",
"agreeTip": "Please agree to Privacy Policy and Terms of Service",
"thirdPartyLogin": "Third-party Login",
"getAuthUrlFailed": "Failed to get authorization link",
"giteeLoginFailed": "Gitee login failed, please try again later",
"githubLoginFailed": "GitHub login failed, please try again later",
"qqLoginFailed": "QQ login failed, please try again later",
"googleLoginFailed": "Google login failed, please try again later",
"wechatLoginFailed": "WeChat login failed, please try again later",
"microsoftLoginFailed": "Microsoft login failed, please try again later",
"dingtalkLoginFailed": "DingTalk login failed, please try again later",
"feishuLoginFailed": "Feishu login failed, please try again later",
"wechat": "WeChat",
"wecom": "WeCom",
"dingtalk": "DingTalk",
"feishu": "Feishu",
"wecomLoginFailed": "WeCom login failed, please try again later",
"dingtalkAutoRedirect": "DingTalk detected, redirecting to login..."
}
@@ -0,0 +1,91 @@
{
"title": "Chat",
"search": "Search contacts or groups",
"noConversations": "No conversations",
"selectHint": "Select a conversation to start chatting",
"newChat": "New Chat",
"newGroup": "New Group",
"private": "Private",
"group": "Group",
"members": "Members",
"memberCount": "{count} members",
"owner": "Owner",
"admin": "Admin",
"member": "Member",
"groupName": "Group Name",
"groupNamePlaceholder": "Enter group name",
"selectMembers": "Select Members",
"selectMembersPlaceholder": "Select group members",
"createGroupSuccess": "Group created successfully",
"inputPlaceholder": "Type a message...",
"send": "Send",
"sendImage": "Send Image",
"sendFile": "Send File",
"recall": "Recall",
"recallSuccess": "Message recalled",
"recallFailed": "Recall failed",
"recallTimeout": "Cannot recall after 2 minutes",
"messageRecalled": "Message recalled",
"typing": "Typing...",
"yesterday": "Yesterday",
"pin": "Pin",
"unpin": "Unpin",
"mute": "Mute",
"unmute": "Unmute",
"conversationInfo": "Conversation Info",
"addMember": "Add Member",
"addMemberSuccess": "Members added successfully",
"allMembersExist": "Selected members are already in the group",
"removeMember": "Remove Member",
"removeMemberConfirm": "Are you sure to remove this member?",
"dissolveGroup": "Dissolve Group",
"dissolveGroupConfirm": "Are you sure to dissolve this group? This action cannot be undone.",
"dissolveSuccess": "Group dissolved",
"leaveGroup": "Leave Group",
"noMessages": "No messages",
"loadMore": "Load more",
"loading": "Loading...",
"image": "Image",
"file": "File",
"replyTo": "Reply",
"groupNameRequired": "Please enter group name",
"membersRequired": "Please select at least one member",
"recentChats": "Chats",
"contacts": "Contacts",
"searchContacts": "Search contacts",
"noContacts": "No contacts",
"startChat": "Start Chat",
"online": "Online",
"offline": "Offline",
"sending": "Sending...",
"contactDetail": "Contact Detail",
"contactDept": "Department",
"contactPost": "Position",
"contactManager": "Manager",
"contactEmail": "Email",
"contactMobile": "Mobile",
"contactCity": "City",
"contactType": "User Type",
"contactOrg": "Organization",
"contactOrgInfo": "Organization",
"contactInfo": "Contact",
"selectContactHint": "Select a contact to view details",
"copy": "Copy",
"copySuccess": "Copied to clipboard",
"replyingTo": "Reply to {name}",
"markUnread": "Mark as Unread",
"deleteConversation": "Delete",
"deleteConversationConfirm": "Are you sure to delete this conversation?",
"deleteSuccess": "Deleted",
"orgStructure": "Organization",
"emoji": "Emoji",
"voiceMessage": "Voice Message",
"voiceTooShort": "Recording too short",
"voiceUploading": "Sending voice...",
"micPermissionDenied": "Cannot access microphone, please check browser permissions",
"voice": "Voice",
"dropToUpload": "Drop to send file",
"newMessage": "New Message",
"systemNotification": "System Notification",
"viewDetail": "View Detail"
}
@@ -0,0 +1,188 @@
{
"all": "All",
"mainApp": "Main App",
"close": "Close",
"operation": "Operation",
"next": "Next",
"prev": "Previous",
"cancel": "Cancel",
"cancelEdit": "Cancel Edit",
"ok": "OK",
"confirm": "Confirm",
"confirmAndContinue": "Confirm and Continue",
"save": "Save",
"add": "Add",
"delete": "Delete",
"edit": "Edit",
"update": "Update",
"reset": "Reset",
"status": "Status",
"enabled": "Enabled",
"disabled": "Disabled",
"selected": "Selected",
"noData": "No Data",
"loading": "Loading",
"loadMore": "Load More",
"noMore": "No more data",
"noMoreData": "No more data",
"justNow": "Just now",
"minutesAgo": "minutes ago",
"hoursAgo": "hours ago",
"yesterday": "Yesterday",
"daysAgo": "days ago",
"tips": "Tips",
"warning": "Warning",
"success": "Success",
"info": "Info",
"error": "Error",
"primary": "Primary",
"search": "Search",
"clear": "Clear",
"replace": "Replace",
"copy": "Copy",
"format": "Format",
"compress": "Compress",
"redo": "Redo",
"jsonEditor": {
"placeholder": "Enter or paste JSON",
"valid": "✓ Valid",
"invalid": "✗ Invalid",
"format": "Format",
"compress": "Compress",
"copy": "Copy",
"clear": "Clear",
"copiedSuccess": "Copied to clipboard",
"copyFailed": "Copy failed",
"noContent": "No content to copy",
"formatSuccess": "Format successful",
"formatFailed": "Format failed: {0}",
"compressSuccess": "Compress successful",
"compressFailed": "Compress failed: {0}",
"invalidJson": "Invalid JSON format",
"emptyContent": "Please enter JSON content",
"stats": "Lines: {0} | Characters: {1}"
},
"ui": {
"placeholder": {
"select": "Please select",
"selectAll": "Select All",
"search": "Please enter search content"
},
"actionTitle": {
"create": "Create {0}",
"add": "Add {0}",
"edit": "Edit {0}",
"view": "View {0}",
"delete": "Delete {0}"
},
"actionMessage": {
"createSuccess": "Created successfully",
"createError": "Create failed",
"updateSuccess": "Updated successfully",
"updateError": "Update failed",
"deleteSuccess": "Deleted successfully",
"deleteConfirm": "Are you sure you want to delete {0}?",
"deleteError": "Delete failed",
"loadError": "Failed to load"
},
"submit": "Submit",
"formRules": {
"required": "{0} is required",
"minLength": "{0} must be at least {1} characters",
"maxLength": "{0} must be at most {1} characters",
"alreadyExists": "{0} {1} already exists",
"startWith": "{0} must start with {1}",
"invalidURL": "Please enter a valid URL"
}
},
"male": "Male",
"female": "Female",
"yes": "Yes",
"no": "No",
"fullscreen": "Fullscreen",
"exitFullscreen": "Exit Fullscreen",
"setting": "Settings",
"columnSetting": "Column Settings",
"sort": "Sort",
"batchDelete": "Batch Delete",
"export": "Export",
"import": "Import",
"downloadTemplate": "Download Template",
"view": "View",
"summarySum": "Sum",
"summaryAvg": "Average",
"summaryCount": "Count",
"summaryMax": "Max",
"summaryMin": "Min",
"startDate": "Start Date",
"endDate": "End Date",
"selectDate": "Select Date",
"table": "Table",
"action": "Action",
"placeholder": "Please enter",
"selectPlaceholder": "Please select",
"back": "Back",
"createSuccess": "Created successfully",
"updateSuccess": "Updated successfully",
"saveFailed": "Save failed",
"noDescription": "No description",
"applicationName": "Application",
"more": "More",
"copied": "Copied",
"deleted": "Deleted",
"duplicate": "Duplicate",
"description": "Description",
"download": "Download",
"downloadFailed": "Download failed",
"loadError": "Load failed",
"loadFailed": "Load failed",
"loadingMenu": "Loading menu",
"moveDown": "Move Down",
"moveUp": "Move Up",
"none": "None",
"operationFailed": "Operation failed",
"operationSuccess": "Operation successful",
"pasted": "Pasted",
"preview": "Preview",
"prompt": "Prompt",
"redone": "Redone",
"refresh": "Refresh",
"row": "Row",
"saveSuccess": "Saved successfully",
"select": "Select",
"selectAll": "Select All",
"unselectAll": "Unselect All",
"submit": "Submit",
"tip": "Tip",
"undo": "Undo",
"undone": "Undone",
"video": "Video",
"exportData": "Export Data",
"exportSuccess": "Export successful",
"exportFailed": "Export failed",
"exportCompleted": "Export completed, {0} records in total",
"exportPreparing": "Preparing export...",
"exportReady": "Ready to export...",
"exportQuerying": "Querying data {0} / {1} records...",
"exportGeneratingExcel": "Generating Excel file...",
"exportGeneratingExcelShort": "Generating Excel...",
"querying": "Querying...",
"retryExport": "Retry Export",
"fileDownloadFailed": "File download failed, please retry",
"records": "records",
"importFailed": "Import failed",
"importPreparing": "Preparing import...",
"importParsing": "Parsing Excel data {0} / {1} rows...",
"importImporting": "Importing data {0} / {1} records...",
"importValidating": "Validating data {0} / {1} rows...",
"validatePreparing": "Preparing validation...",
"importValidatingData": "Checking data uniqueness...",
"willInsert": "Will insert {0} records",
"willUpdate": "Will update {0} records",
"willOverwrite": "Will overwrite {0} records",
"comma": ", ",
"closeConfirmTitle": "Confirm Close",
"closeConfirmMessage": "An operation is in progress. Closing will interrupt it. Are you sure?",
"maxImportRows": "Server supports importing up to {0}0,000 rows",
"maxExportRows": "Server supports exporting up to {0}0,000 rows"
}
@@ -0,0 +1,205 @@
{
"elementPanel": "Element",
"templatePanel": "Template",
"variablePanel": "Variable",
"selectElement": "Please select an element",
"titleContent": "Title Content",
"titleLevel": "Title Level",
"alignment": "Alignment",
"fontSize": "Font Size",
"fontWeight": "Font Weight",
"normal": "Normal",
"bold": "Bold",
"paragraphContent": "Paragraph Content",
"lineHeight": "Line Height",
"indent": "First Line Indent (Characters)",
"selectVariable": "Select Variable",
"variableInfo": "Variable Information",
"required": "Required",
"optional": "Optional",
"placeholderText": "Placeholder Text",
"notFilledText": "Text displayed when not filled",
"minWidth": "Minimum Width",
"showUnderline": "Show Underline",
"usageInstructions": "Usage Instructions",
"variableUsageDesc": "After selecting a variable, it will be automatically added to the template's variable list. Users need to fill in the values of these variables during signing.",
"showBorder": "Show Border",
"headerBgColor": "Header Background Color",
"tableColumns": "Table Columns",
"column": "Column",
"delete": "Delete",
"columnTitle": "Column Title",
"width": "Width",
"left": "Left",
"center": "Center",
"right": "Right",
"addColumn": "Add Column",
"addRow": "Add Row",
"signatory": "Signatory",
"labelText": "Label Text",
"alignLeft": "Align Left",
"alignCenter": "Align Center",
"alignRight": "Align Right",
"height": "Height",
"showLabel": "Show Label",
"showDate": "Show Date",
"mustSign": "Must Sign",
"label": "Label",
"dateFormat": "Date Format",
"lineStyle": "Line Style",
"solid": "Solid",
"dashed": "Dashed",
"dotted": "Dotted",
"lineColor": "Line Color",
"marginVertical": "Vertical Margin",
"imageUrl": "Image URL",
"enterImageUrl": "Please enter image URL",
"minHeight": "Minimum Height",
"padding": "Padding",
"borderColor": "Border Color",
"backgroundColor": "Background Color",
"editTip": "Edit Tip",
"richTextEditDesc": "Double-click the rich text element to edit content directly on the canvas, supporting:",
"boldItalicUnderline": "Bold, Italic, Underline",
"headingListQuote": "Heading, List, Quote",
"insertContent": "Insert Link, Image, Table",
"templateName": "Template Name",
"templateCode": "Template Code",
"templateCategory": "Template Category",
"templateDescription": "Template Description",
"pageSettings": "Page Settings",
"pageSize": "Page Size",
"pageMargin": "Page Margin (px)",
"top": "Top",
"bottom": "Bottom",
"variableDescription": "Variable Description",
"noVariablesText": "No variables, please add variable placeholders in the canvas",
"clickToFill": "Click to fill",
"signature": "Signature",
"signed": "Signed",
"clickToSign": "Click to sign",
"sealArea": "Seal area",
"sealed": "Sealed",
"clickToSeal": "Click to seal",
"noContent": "No content",
"dateLabel": "Date",
"fillVariable": "Fill variable",
"enterVariableValue": "Please enter variable value",
"cancel": "Cancel",
"confirm": "Confirm",
"signHere": "Please sign here",
"undo": "Undo",
"clear": "Clear",
"contractTemplate": "Contract Template",
"elements": "elements",
"redo": "Redo",
"preview": "Preview",
"viewJSON": "View JSON",
"import": "Import",
"export": "Export",
"save": "Save",
"dragOrClickToAdd": "Drag or click left elements to add to canvas",
"releaseToAdd": "Release mouse to add elements",
"pageBreakLabel": "End of page {page1} / Start of page {page2}",
"margin": "Margin",
"uploadImageFileOnly": "Please upload image file",
"imageSizeExceeded": "Image size cannot exceed 2MB",
"pleaseSignFirst": "Please sign first",
"pleaseUploadSignatureImage": "Please upload signature image first",
"drawSignature": "Draw Signature",
"uploadSignature": "Upload Signature",
"signaturePreview": "Signature Preview",
"clickOrDragToUpload": "Click or drag to upload signature image",
"supportedFormatsAndSize": "Supports JPG, PNG formats, maximum 2MB",
"confirmSignature": "Confirm Signature",
"contract": "Contract",
"exportSuccess": "PDF exported successfully",
"contractPreview": "Contract Preview",
"totalPages": "Total {count} pages",
"pageLabel": "Page {current} / {total}",
"close": "Close",
"exportPdf": "Export PDF",
"exporting": "Exporting...",
"signer": "Signer",
"pleaseCompleteMandatoryFields": "Please complete mandatory fields: {fields}",
"signedSuccessfully": "Signed successfully",
"contractSigning": "Contract Signing",
"fillInformation": "Fill Information",
"previewContract": "Preview Contract",
"signatureConfirmation": "Signature Confirmation",
"pleaseEnter": "Please enter {field}",
"pleaseSelect": "Please select {field}",
"pleaseSignInArea": "Please sign in the area below",
"previousStep": "Previous Step",
"nextStep": "Next Step",
"confirmSigning": "Confirm Signing",
"signingTime": "Signing Time",
"textElements": "Text Elements",
"variableElements": "Variable Elements",
"signatureElements": "Signature Elements",
"layoutElements": "Layout Elements",
"searchElements": "Search elements...",
"dragOrClickAddElements": "Drag or click to add elements",
"sampleTemplates": "Sample Templates",
"selectTemplateToStart": "Select a template to get started. Clicking will replace the current canvas content",
"templateLoaded": "Template loaded: {name}",
"contractElements": "Contract Elements",
"partyAInfo": "Party A Information",
"partyBInfo": "Party B Information",
"contractInfo": "Contract Information",
"otherInfo": "Other Information",
"contractTitle": "Contract Title",
"paragraphText": "Paragraph Text",
"richText": "Rich Text",
"variablePlaceholder": "Variable Placeholder",
"table": "Table",
"signatureZone": "Signature Zone",
"sealZone": "Seal Zone",
"dateZone": "Date Zone",
"divider": "Divider",
"pageBreak": "Page Break",
"image": "Image",
"pleaseAddContractElements": "Please add contract elements first",
"saveSuccess": "Save successful",
"clearCanvasConfirm": "Are you sure you want to clear the canvas? This action cannot be undone.",
"tip": "Tip",
"confirm": "Confirm",
"cancel": "Cancel",
"cleared": "Cleared",
"exportSuccess": "Export successful",
"pleaseEnterConfig": "Please enter configuration content",
"importSuccess": "Import successful",
"configFormatError": "Configuration format error",
"copiedToClipboard": "Copied to clipboard",
"copyFailed": "Copy failed",
"undone": "Undone",
"redone": "Redone",
"copied": "Copied",
"pasted": "Pasted",
"deleted": "Deleted",
"jsonPreview": "JSON Preview",
"copyCode": "Copy Code",
"close": "Close",
"importConfig": "Import Configuration",
"pasteJsonConfig": "Please paste JSON configuration content...",
"import": "Import",
"variableDescText": "After adding a \"Variable Placeholder\" on the canvas and selecting a variable, it will be automatically added to this list. Users need to fill in the values of these variables during signing.",
"usedVariables": "Used Variables",
"remove": "Remove",
"availableVariables": "Available Variables List",
"partyA": "Party A",
"partyB": "Party B",
"partyC": "Party C",
"witness": "Witness",
"typeTitle": "Title",
"typeParagraph": "Paragraph",
"typeRichText": "Rich Text",
"typeVariable": "Variable",
"typeTable": "Table",
"typeSignatureZone": "Signature Zone",
"typeSealZone": "Seal Zone",
"typeDateZone": "Date Zone",
"typeDivider": "Divider",
"typePageBreak": "Page Break",
"typeImage": "Image"
}
@@ -0,0 +1,150 @@
{
"contractNo": "Contract No.",
"contractTitle": "Contract Title",
"templateNameUsed": "Template Used",
"statusLabel": "Status",
"creatorName": "Creator",
"createdTimeInstance": "Created Time",
"completedTimeInstance": "Completed Time",
"actions": "Actions",
"statusDraft": "Draft",
"statusPending": "Pending Signature",
"statusSigning": "Signing",
"statusCompleted": "Completed",
"statusCanceled": "Canceled",
"statusExpired": "Expired",
"createContract": "Create Contract",
"view": "View",
"edit": "Edit",
"copy": "Copy",
"mobileSignButton": "Mobile Sign",
"submit": "Submit",
"complete": "Complete",
"cancel": "Cancel",
"delete": "Delete",
"submitConfirm": "Are you sure you want to submit this contract? It will enter pending signature status after submission.",
"submitConfirmTitle": "Submit Confirmation",
"submitSuccess": "Submitted successfully",
"completeConfirm": "Are you sure you want to complete this contract?",
"completeConfirmTitle": "Complete Confirmation",
"completeSuccess": "Contract completed",
"cancelConfirm": "Are you sure you want to cancel this contract?",
"cancelConfirmTitle": "Cancel Confirmation",
"cancelSuccess": "Canceled",
"deleteConfirm": "Are you sure you want to delete this contract?",
"deleteConfirmTitle": "Delete Confirmation",
"deleteSuccess": "Deleted successfully",
"templateNameLabel": "Template Name",
"templateCodeLabel": "Template Code",
"categoryLabel2": "Category",
"version": "Version",
"createTimeTemplate": "Create Time",
"categoryName": "Category",
"categorySales": "Sales Contract",
"categoryPurchase": "Purchase Contract",
"categoryLabor": "Labor Contract",
"categoryLease": "Lease Contract",
"categoryService": "Service Contract",
"categoryOther": "Other",
"statusPublished": "Published",
"statusDisabled": "Disabled",
"addTemplate": "Add Template",
"batchDelete": "Batch Delete",
"batchDeleteConfirm": "Are you sure you want to delete the selected {count} templates?",
"batchDeleteConfirmTitle": "Batch Delete Confirmation",
"publish": "Publish",
"publishConfirm": "Are you sure you want to publish this template? It can be used to create contracts after publishing.",
"publishConfirmTitle": "Publish Confirmation",
"publishSuccess": "Published successfully",
"disable": "Disable",
"disableConfirm": "Are you sure you want to disable this template? New contracts cannot be created after disabling.",
"disableConfirmTitle": "Disable Confirmation",
"disableSuccess": "Disabled successfully",
"copyTemplate": "Copy Template",
"copyPrompt": "Please enter the code for the new template",
"copyConfirm": "Confirm",
"copyCancel": "Cancel",
"copyCodePattern": "Code must start with a letter and can only contain letters, numbers and underscores",
"copiedSuccess": "Copied successfully",
"pleaseSelectTemplate": "Please select a contract template",
"pleaseInputTitle": "Please enter contract title",
"pleaseInputContractNo": "Please enter contract number",
"contractNoInvalid": "Invalid contract number",
"contractNoDuplicate": "Contract number already exists",
"basicInfo": "Basic Info",
"variableFill": "Variable Fill",
"createDialog": "Create Contract",
"editDialog": "Edit Contract",
"copyDialog": "Copy Contract",
"basicInfoConfig": "Basic Info Configuration",
"contractTemplate": "Contract Template",
"selectTemplate": "Please select a contract template",
"contractNoLabel": "Contract No.",
"inputContractNo": "Please enter contract number",
"regenerate": "Regenerate",
"contractTitleLabel": "Contract Title",
"inputContractTitle": "Please enter contract title",
"contractPreview": "Contract Preview",
"variableRealtime": "Variables will be replaced in real-time",
"variableFillForm": "Variable Fill",
"noVariables": "No variables need to be filled for this template",
"previousStep": "Previous",
"nextStep": "Next",
"save": "Save",
"close": "Close",
"saveSuccess": "Saved successfully",
"createSuccess": "Created successfully",
"loadTemplateFailed": "Failed to load template details",
"loadContractFailed": "Failed to load contract data",
"saveFailed": "Save failed",
"noTemplatesAvailable": "No templates available, please publish contract templates first",
"selectNothing": "Please select templates to delete first",
"selectNothingWarning": "Please select templates to delete first",
"contractDetail": "Contract Details",
"pageNumber": "Page {page} / {total}",
"noContent": "No Content",
"mobileSign": "Mobile Signature",
"contract": "Contract",
"partyType": "Party Type:",
"signerName": "Signer Name:",
"signerNamePlaceholder": "Optional, enter signer name",
"signQrCode": "Signature QR Code",
"generatingQrCode": "Generating QR code...",
"scanQrCodeToSign": "Please scan the QR code with your mobile phone to sign",
"qrCodeExpiredAt": "QR code expires at {time}",
"refreshQrCode": "Refresh QR Code",
"invalidSignUrl": "Invalid signature link",
"pleaseSign": "Please sign first",
"loading": "Loading...",
"checkSignUrl": "Please check if the signature link is correct, or contact the contract initiator",
"signComplete": "Signature Complete",
"signCompleteMsg": "You have successfully completed the signature, you can close this page",
"pleaseSignArea": "Please sign in the following area",
"signed": "Signed",
"sign": "Sign",
"noSignArea": "No signature area required for you",
"contractCompleted": "Contract signature completed",
"handwriteSign": "Handwritten Signature",
"signInArea": "Please write your signature in the area below",
"confirmSign": "Confirm Signature",
"editTemplate": "Edit Contract Template",
"viewTemplate": "View Contract Template",
"addTemplate": "Add Contract Template",
"templateName": "Template Name",
"inputTemplateName": "Please enter template name",
"templateCode": "Template Code",
"inputTemplateCode": "Please enter template code",
"selectCategory": "Please select category",
"templateDescription": "Template Description",
"inputTemplateDescription": "Please enter template description",
"contractNumber": "Contract Number",
"usedTemplate": "Used Template",
"status": "Status",
"creator": "Creator",
"createdTime": "Created Time",
"completedTime": "Completed Time",
"completeSign": "Complete Signing",
"exportPdf": "Export PDF",
"operationLog": "Operation Log",
"noOperationLog": "No operation logs"
}
@@ -0,0 +1,55 @@
{
"user": {
"name": "User",
"title": "User Management",
"list": "User List",
"userName": "User Name",
"account": "Account",
"mobile": "Mobile",
"mobileFormatError": "Please enter a valid mobile phone format",
"email": "Email",
"emailFormatError": "Please enter a valid email format",
"gender": "Gender",
"unknown": "Unknown",
"male": "Male",
"female": "Female",
"locked": "Locked",
"status": "Status",
"role": "Role",
"post": "Post",
"dept": "Department",
"selectRole": "Please select role",
"selectPost": "Please select post",
"selectDept": "Please select department",
"createTime": "Create Time",
"operation": "Operation",
"batchDelete": "Batch Delete",
"resetPassword": "Reset Password",
"resetPasswordTitle": "Reset Password",
"resetPasswordConfirm": "Are you sure you want to reset the password for {0}?",
"resetPasswordSuccess": "Successfully reset the password for {0}",
"resetPasswordError": "Failed to reset password",
"cannotDeleteAdmin": "Cannot delete administrator account",
"cannotResetAdminPassword": "Cannot reset administrator password",
"selectUsersToDelete": "Please select users to delete first",
"batchDeleteTitle": "Batch Delete Users",
"batchDeleteConfirm": "Are you sure you want to delete the selected {0} users? {1}",
"deleteSuccess": "Successfully deleted {0} users",
"deleteError": "Failed to delete users",
"avatar": "Avatar",
"selectAvatar": "Select Avatar",
"avatarHelp": "Recommended to upload a square image, maximum 2MB",
"birthday": "Birthday",
"selectBirthday": "Select Birthday",
"city": "City",
"address": "Address",
"bio": "Bio",
"bioPlaceholder": "Please enter bio",
"manager": "Manager",
"selectManager": "Please select manager",
"userType": "User Type",
"systemUser": "System User",
"normalUser": "Normal User",
"externalUser": "External User"
}
}
@@ -0,0 +1,283 @@
{
"basicInfo": "Basic Info",
"codePlaceholder": "Enter unique code, e.g. user_list",
"dataSourceConfig": "Data Source Configuration",
"dataSourceName": "Data Source Name",
"inputDataSourceName": "Please enter data source name",
"dataSourceType": "Data Source Type",
"selectDataSourceType": "Please select data source type",
"dataSourceDescription": "Data Source Description",
"inputDataSourceDescription": "Please enter data source description",
"testConnection": "Test Connection",
"testConnectionSuccess": "Connection successful",
"testConnectionFailed": "Connection failed",
"testing": "Testing...",
"save": "Save",
"cancel": "Cancel",
"create": "Create",
"edit": "Edit",
"delete": "Delete",
"query": "Query",
"sqlEditor": "SQL Editor",
"executeSql": "Execute SQL",
"executing": "Executing...",
"queryResult": "Query Result",
"noData": "No data",
"error": "Error",
"confirm": "Confirm",
"close": "Close",
"dbSchema": "Database",
"tables": "Tables",
"columns": "Columns",
"dataType": "Data Type",
"nullable": "Nullable",
"primaryKey": "Primary Key",
"loading": "Loading...",
"paramType": "Parameter Type",
"resultType": "Result Type",
"httpMethod": "HTTP Method",
"requestUrl": "Request URL",
"inputRequestUrl": "Please enter request URL",
"requestHeaders": "Request Headers",
"requestBody": "Request Body",
"responseMapping": "Response Mapping",
"addParam": "Add Parameter",
"paramName": "Parameter Name",
"paramValue": "Parameter Value",
"paramLabel": "Display Name",
"deleteParam": "Delete Parameter",
"total": "Total",
"limited": "Limited",
"dataSourceList": "Data Source List",
"createDataSource": "Create Data Source",
"editDataSource": "Edit Data Source",
"deleteDataSourceConfirm": "Are you sure you want to delete this data source?",
"deleteDataSourceSuccess": "Deleted successfully",
"createDataSourceSuccess": "Created successfully",
"updateDataSourceSuccess": "Updated successfully",
"loadDataSourceFailed": "Failed to load data source",
"testDataSourceFailed": "Failed to test data source",
"previousStep": "Previous",
"nextStep": "Next",
"basicInfoConfig": "Basic Information Configuration",
"status": "Status",
"enable": "Enable",
"disable": "Disable",
"selectDbSchema": "Please select database on the left",
"tip": "Tip",
"useParamPlaceholder": "Use",
"onlySelectQuery": "as parameter placeholder, only SELECT queries are allowed",
"paramDefinition": "Parameter Definition",
"defineDataSourceParams": "Define parameters that the data source can receive",
"required": "Required",
"action": "Action",
"resultProcessing": "Result Processing",
"resultTypeListDesc": "Return array data directly, suitable for tables, dropdown selections and other components.",
"resultTypeTreeDesc": "Convert flat list to tree structure, suitable for tree selection, cascade selection and other components.",
"resultTypeObjectDesc": "Return the first record as an object, suitable for detail display, form backfill and other scenarios.",
"resultTypeValueDesc": "Return the first field value of the first record, suitable for statistics, titles and other scenarios.",
"resultTypeChartAxisDesc": "Convert to xAxisData, seriesData format, suitable for line charts, bar charts, area charts.",
"resultTypeChartPieDesc": "Convert to seriesData: [name, value] format, suitable for pie charts, funnel charts.",
"resultTypeChartGaugeDesc": "Convert to value, name, max format, suitable for gauges, progress charts.",
"resultTypeChartRadarDesc": "Convert to indicator, seriesData format, suitable for radar charts, multi-dimensional comparison.",
"resultTypeChartScatterDesc": "Convert to seriesData: [x, y] format, suitable for scatter plots, bubble charts.",
"resultTypeChartHeatmapDesc": "Convert to xAxisData, yAxisData, seriesData format, suitable for heatmaps.",
"treeConversionConfig": "Tree Conversion Configuration",
"refresh": "Refresh",
"fieldPreview": "Field Preview",
"clickTableToView": "Click table name to view",
"selectTable": "Please select a table",
"noFieldInfo": "No field information",
"clickFieldToInsert": "Click field name to insert into editor",
"testDataSource": "Test Data Source",
"dataSourceInfo": "Data Source Information",
"code": "Code",
"type": "Type",
"name": "Name",
"inputCode": "Please enter code",
"all": "All",
"staticData": "Static Data",
"staticLabel": "Static",
"batchDelete": "Batch Delete",
"more": "More",
"copy": "Copy",
"deleteConfirmMessage": "Are you sure you want to delete data source \"{name}\"?",
"deleteConfirmTitle": "Delete Confirmation",
"deleteSuccess": "Data source deleted: {name}",
"batchDeleteConfirmMessage": "Are you sure you want to delete {count} selected data sources?",
"batchDeleteConfirmTitle": "Batch Delete Confirmation",
"batchDeleteSuccess": "Deleted {count} data sources",
"inputNewCode": "Please enter new data source code",
"copyDataSource": "Copy Data Source",
"codeFormatError": "Code must start with a letter and contain only letters, numbers and underscores",
"copySuccess": "Copied successfully",
"importExport": {
"export": "Export",
"import": "Import Config",
"exportSuccess": "Data source config exported",
"exportFailed": "Export failed",
"importTitle": "Import Data Source Config",
"dragOrClick": "Drag a JSON file here or click to upload",
"onlyJson": "Only .json files are supported",
"fileParseError": "Failed to parse file. Please check the format",
"checking": "Checking...",
"codeConflictTip": "Data source code already exists. Please change the code before importing",
"codeAvailable": "Data source code is available",
"newCodePlaceholder": "Enter a new data source code",
"importSuccess": "Data source config imported successfully",
"importFailed": "Import failed",
"confirmImport": "Confirm Import",
"reselect": "Reselect",
"dataSourceInfo": "Data Source Info",
"appTip": "Imported data source will belong to the current application",
"dbConnectionTip": "For SQL sources, db_connection is a connection name — ensure it exists in the target environment"
},
"saveSuccess": "Saved successfully",
"createTime": "Creation Time",
"apiInterface": "API Interface",
"sqlQuery": "SQL Query",
"resultTypeList": "List",
"resultTypeTree": "Tree",
"resultTypeSingleObject": "Single Object",
"resultTypeSingleValue": "Single Value",
"resultTypeAxisChart": "Axis Chart",
"resultTypePieChart": "Pie Chart Data",
"resultTypeGauge": "Gauge",
"resultTypeRadarChart": "Radar Chart",
"resultTypeScatterChart": "Scatter Chart",
"resultTypeHeatmap": "Heatmap",
"paramTypeString": "String",
"paramTypeInteger": "Integer",
"paramTypeFloat": "Float",
"paramTypeBoolean": "Boolean",
"paramTypeDate": "Date",
"paramTypeDatetime": "Datetime",
"axisChartConfig": "Axis Chart Configuration",
"xAxisField": "X Axis Field",
"seriesField": "Series Field",
"seriesName": "Series Name",
"pieChartConfig": "Pie Chart Configuration",
"nameField": "Name Field",
"valueField": "Value Field",
"gaugeChartConfig": "Gauge Chart Configuration",
"maxField": "Max Field",
"radarChartConfig": "Radar Chart Configuration",
"indicatorNameField": "Indicator Name Field",
"scatterChartConfig": "Scatter Chart Configuration",
"xCoordinateField": "X Coordinate Field",
"yCoordinateField": "Y Coordinate Field",
"sizeField": "Size Field",
"heatmapChartConfig": "Heatmap Configuration",
"fieldMapping": "Field Mapping",
"addMapping": "Add Mapping",
"originalField": "Original Field",
"mappedField": "Mapped Field",
"deleteMapping": "Delete",
"multipleFieldsComma": "Multiple fields separated by commas, e.g.: {example}",
"multipleNamesComma": "Multiple names separated by commas, e.g.: {example}",
"dataFieldsForChart": "Data fields used to draw charts",
"optionalLegendNames": "Optional, the name displayed in the legend, leave blank to use field name",
"oneFieldPerSeries": "One field per series",
"optionalBubbleChart": "e.g.: size (optional, for bubble chart)",
"optionalName": "e.g.: name (optional)",
"optionalMax": "e.g.: max (optional)",
"fieldNameMapping": "Map original field names to new field names, e.g. id -> value",
"cacheConfig": "Cache Configuration",
"enableCache": "Enable Cache",
"cacheTime": "Cache Time",
"cacheTimeUnit": "seconds (0 means no cache)",
"test": "Test",
"testParams": "Test Parameters",
"executeTest": "Execute Test",
"testResult": "Test Result",
"success": "Success",
"failed": "Failed",
"returnedData": "Returned {count} records",
"reachedLimit": "Reached limit {limit} records",
"aiAssistant": "AI Assistant",
"aiSqlAssistant": "AI SQL Assistant",
"aiSqlAssistantTip": "AI will automatically generate SQL queries based on your requirements and database structure",
"sqlWritingTip": "SQL runs against the connection default database. Use schema.table for PostgreSQL/SQL Server/Oracle; `db`.`table` or table for MySQL; bind params as :name. For external connections, pick tables in the tree or AI dialog so db_connection matches the connection code.",
"describeYourQuery": "Describe your query requirements",
"queryPlaceholder": "e.g.: Query the number of new users and active users per day in the last 30 days",
"quickExamples": "Quick Examples",
"selectDataTable": "Select Data Tables",
"modifySelection": "Modify Selection",
"selectedTables": "Selected {count} tables",
"clear": "Clear",
"pleaseSelectTableFirst": "Please select data tables first",
"tableRelationsCount": "Configured {count} table relations",
"includeTableRelations": "Include table relations (improves multi-table JOIN query accuracy)",
"aiModel": "AI Model",
"selectModel": "Select Model",
"generating": "Generating...",
"generateSql": "Generate SQL",
"generationThought": "Generation Thought",
"generatedSql": "Generated SQL",
"paramSuggestions": "Parameter Suggestions",
"default": "Default",
"insertToEditor": "Insert to Editor",
"sqlGenerateSuccess": "SQL generated successfully",
"sqlGenerateFailed": "SQL generation failed",
"sqlInserted": "Inserted to editor",
"copied": "Copied to clipboard",
"pleaseInputQuestion": "Please input query requirements",
"pleaseSelectModel": "Please select AI model",
"pleaseSelectTable": "Please select data tables first",
"aiSqlInsertSuccess": "SQL inserted, parameters auto-configured",
"manualMode": "Manual",
"aiMode": "AI",
"aiConfig": "AI Config",
"aiSqlPlaceholder": "AI generated SQL will be displayed here...",
"querying": "Querying...",
"dataView": "Data",
"chartView": "Chart",
"clickTestToExecute": "Click button above to execute test",
"rawData": "Raw Data",
"selectChartTypeToPreview": "Please select a chart type in Result Processing to preview",
"apiConfig": "API Configuration",
"urlPlaceholder": "https://api.example.com/data",
"apiTabBasic": "Basic",
"apiTabAuth": "Auth",
"apiTabQueryParams": "Query Params",
"apiTabBody": "Body",
"apiTabAdvanced": "Advanced",
"timeout": "Timeout",
"second": "s",
"dataPath": "Data Path",
"dataPathPlaceholder": "e.g. data.list",
"description": "Description",
"authType": "Auth Type",
"authNone": "No Auth",
"bearerTokenPlaceholder": "Enter Token, supports {param} placeholder",
"username": "Username",
"usernamePlaceholder": "Enter username",
"password": "Password",
"passwordPlaceholder": "Enter password",
"keyPosition": "Key Position",
"keyName": "Key Name",
"keyValue": "Key Value",
"bodyType": "Type",
"bodyTypeNone": "None",
"contentType": "Content-Type",
"retryCount": "Retry Count",
"retryInterval": "Retry Interval",
"proxy": "Proxy",
"followRedirects": "Follow Redirects",
"verifySSL": "Verify SSL",
"successCondition": "Success Condition",
"successStatusCodes": "Status Codes",
"successStatusCodesPlaceholder": "e.g. 200, 201 (empty checks 2xx)",
"successFieldPath": "Field Path",
"successFieldPathPlaceholder": "e.g. code",
"successFieldValue": "Expected Value",
"apiTabHeaders": "Headers",
"viewRequest": "View Request",
"queryParamsHint": "Parameters will auto-sync to URL",
"headersHint": "Custom HTTP request headers",
"addHeader": "Add Header",
"headerName": "Name",
"headerValue": "Value",
"noQueryParams": "No query parameters",
"noHeaders": "No headers"
}
@@ -0,0 +1,52 @@
{
"title": "Database Connections",
"createConnection": "New Connection",
"editConnection": "Edit Connection",
"searchPlaceholder": "Search by name or code",
"code": "Connection Code",
"codePlaceholder": "e.g. erp_mysql",
"codeTip": "Must start with a letter; letters, numbers, underscore, hyphen only; 'default' is reserved",
"name": "Connection Name",
"namePlaceholder": "Enter connection name",
"dbType": "Database Type",
"host": "Host",
"hostPlaceholder": "e.g. 192.168.1.100",
"port": "Port",
"user": "Username",
"userPlaceholder": "Database username",
"password": "Password",
"passwordPlaceholder": "Enter password",
"passwordKeepHint": "Leave blank to keep existing password",
"defaultDatabase": "Default Database",
"defaultDatabasePlaceholder": "Default database after connect (Oracle: Service Name)",
"dbTypePostgresql": "PostgreSQL",
"dbTypeMysql": "MySQL",
"dbTypeSqlserver": "SQL Server",
"dbTypeOracle": "Oracle",
"description": "Description",
"descriptionPlaceholder": "Optional description",
"status": "Enabled",
"enabled": "Enabled",
"disabled": "Disabled",
"systemConnection": "System",
"systemConnectionTip": "System default connection comes from DATABASE_URL and cannot be edited or deleted",
"testConnection": "Test Connection",
"testSuccess": "Connection successful",
"testFailed": "Connection failed",
"confirm": "Confirm",
"cancel": "Cancel",
"deleteConfirmTitle": "Delete Connection",
"deleteConfirmMessage": "Delete connection \"{name}\"?",
"deleteSuccess": "Connection \"{name}\" deleted",
"createSuccess": "Connection created",
"updateSuccess": "Connection updated",
"empty": "No database connections yet. Click the button above to add one.",
"codeExists": "Connection code already exists",
"codeAvailable": "Connection code is available",
"filterAll": "All",
"noDescription": "No description",
"requiredFields": "Please fill in connection code, name and host",
"browseDatabase": "Browse Database",
"backToConnectionList": "Back to Connections",
"connectionNotFoundForBrowse": "Connection not found or disabled, cannot browse"
}
@@ -0,0 +1,394 @@
{
"connectionInfo": "Connection Information",
"testConnection": "Test Connection",
"connectionName": "Connection Name",
"databaseType": "Database Type",
"connectionIdentifier": "Connection Identifier",
"connectionStatus": "Connection Status",
"connectionSuccessful": "✓ Connection Successful",
"connectionFailed": "✗ Connection Failed",
"notTested": "Not Tested",
"testResult": "Test Result:",
"testConnectionSuccess": "Connection test successful",
"testConnectionFailed": "Connection test failed",
"connectionError": "Connection failed",
"usageInstructions": "Usage Instructions",
"expandConnection": "· Expand Connection - View all databases under this connection",
"selectDatabase": "· Select Database - View database details",
"selectTable": "· Select Table - View table structure, query data, execute SQL",
"searchFunction": "· Search Function - Quickly find databases or tables in the left tree",
"quickActions": "Quick Actions",
"testDatabaseConnection": "Test Database Connection",
"tip": "Tip: Click on the left tree node to expand and view more content",
"constraintList": "Constraint List",
"addConstraint": "Add Constraint",
"constraintName": "Constraint Name",
"constraintNameTip": "A unique name to identify and manage this constraint",
"constraintType": "Constraint Type",
"constraintTypeTip": "Primary Key: unique row identifier; Foreign Key: links to another table; Unique: no duplicate values; Check: custom validation rule",
"field": "Local Field",
"constraintFieldTip": "Select the column(s) in this table used by the constraint",
"definition": "Check Rule",
"constraintDefinitionTip": "Required for CHECK constraints only, e.g. age > 0",
"referencedTable": "Related Table",
"referencedTableTip": "Select the target table to link to, usually the parent table",
"referencedTablePlaceholder": "Enter referenced table name",
"selectReferencedTable": "Select related table",
"onDelete": "On Delete",
"onDeleteTip": "What happens in this table when a related row is deleted",
"onUpdate": "On Update",
"onUpdateTip": "What happens in this table when the related column is updated",
"fkActionDefault": "Default",
"fkActionDefaultLabel": "Default rule",
"fkActionDefaultTip": "Use the database default behavior",
"fkActionNoActionLabel": "No action",
"fkActionNoActionTip": "Block delete/update when related data exists",
"fkActionRestrictLabel": "Restrict",
"fkActionRestrictTip": "Immediately reject delete/update when related data exists",
"fkActionCascadeLabel": "Cascade",
"fkActionCascadeTip": "Also delete or update related rows in this table",
"fkActionSetNullLabel": "Set null",
"fkActionSetNullTip": "Set the foreign key column in this table to NULL",
"fkActionSetDefaultLabel": "Set default",
"fkActionSetDefaultTip": "Set the foreign key column in this table to its default value",
"referencedColumns": "Related Column",
"referencedColumnsTip": "Select the matching column in the related table, usually primary key id",
"referencedColumnsPlaceholder": "Select related columns",
"constraintNameRequired": "Please enter constraint name",
"constraintColumnsRequired": "Please select constraint columns",
"constraintCheckDefinitionRequired": "Please enter CHECK constraint definition",
"constraintReferencedTableRequired": "Please enter referenced table for foreign key",
"constraintReferencedColumnsRequired": "Please enter referenced columns for foreign key",
"constraintReferencedColumnsMismatch": "Foreign key column count must match referenced column count",
"constraintValidationFailed": "Constraint validation failed",
"selectField": "Select Field",
"constraintDefinition": "Constraint Definition (e.g.: age > 0)",
"constraintDeleted": "Constraint deleted",
"noConstraints": "No constraints, click \"Add Constraint\" to start creating",
"foreignKey": "FOREIGN KEY",
"foreignKeyLabel": "Foreign Key",
"check": "CHECK",
"checkLabel": "Check Rule",
"database": "Database",
"schema": "Schema",
"tableName": "Table Name",
"enterTableName": "Please enter table name",
"tableComment": "Table Comment",
"enterTableComment": "Please enter table comment (optional)",
"fieldManagement": "Field Management",
"indexManagement": "Index Management",
"constraintManagement": "Constraint Management",
"previewSQL": "Preview SQL",
"createTable": "Create Table",
"createTableSQLPreview": "CREATE TABLE SQL Preview",
"executeCreate": "Execute Create",
"fillTableNameAndFields": "Please fill in the table name and add at least one field",
"createTableSuccess": "Table created successfully",
"createTableFailed": "Failed to create table",
"primaryKeyUUID": "Primary Key ID (UUID)",
"databaseInfo": "Database Information",
"databaseName": "Database Name",
"owner": "Owner",
"encoding": "Encoding",
"collation": "Collation",
"tableCount": "Table Count",
"databaseSize": "Database Size",
"description": "Description",
"noDatabaseInfo": "No database information found",
"viewTableList": "View Table List",
"expandLeftTreeNode": "Expand the left tree node to view all tables in this database",
"searchTable": "Search Table",
"useSearchBox": "Use the search box on the left to quickly find table names",
"switchToSqlTab": "Select any table and switch to the \"SQL Execution\" tab",
"statistics": "Statistics",
"loadDatabaseInfoFailed": "Failed to load database information",
"tables": "Tables",
"loading": "Loading...",
"loadDatabaseConfigsFailed": "Failed to load database configurations",
"loadDatabaseListFailed": "Failed to load database list",
"loadSchemaListFailed": "Failed to load schema list",
"loadTableListFailed": "Failed to load table list",
"loadViewListFailed": "Failed to load view list",
"cannotFindNode": "Cannot find node",
"refreshSuccess": "Refresh successful",
"refreshFailed": "Refresh failed",
"expandNodeToViewLatestData": "Refresh successful, expand the node to view the latest data",
"copiedToClipboard": "Copied to clipboard",
"enterSchemaName": "Please enter schema name",
"createSchema": "Create Schema",
"schemaNamePattern": "Schema name can only contain letters, numbers and underscores, and must start with a letter or underscore",
"schemaCreatedSuccess": "Schema \"{schemaName}\" created successfully",
"createSchemaFailed": "Failed to create schema",
"refreshConnection": "Refresh Connection",
"viewInfo": "View Information",
"copyConnectionName": "Copy Connection Name",
"refreshDatabase": "Refresh Database",
"copyDatabaseName": "Copy Database Name",
"refreshSchema": "Refresh Schema",
"copySchemaName": "Copy Schema Name",
"refreshTableList": "Refresh Table List",
"createNewTable": "Create New Table",
"viewStatistics": "View Statistics",
"refreshViewList": "Refresh View List",
"createNewView": "Create New View",
"refreshAllMaterializedViews": "Refresh All Materialized Views",
"viewTableStructure": "View Table Structure",
"queryData": "Query Data",
"executeSql": "Execute SQL",
"copyTableName": "Copy Table Name",
"refresh": "Refresh",
"viewViewStructure": "View View Structure",
"viewDefinitionSQL": "View Definition SQL",
"refreshView": "Refresh View",
"copyViewName": "Copy View Name",
"confirmTruncateTable": "Are you sure you want to clear all data in table \"{tableName}\"? This operation cannot be undone!",
"deleteTable": "Delete Table",
"confirmDeleteTable": "Are you sure you want to delete table \"{tableName}\"? This operation cannot be undone!",
"deleteTableSuccess": "Table deleted successfully",
"deleteTableFailed": "Failed to delete table",
"warning": "Warning",
"confirm": "Confirm",
"cancel": "Cancel",
"confirmRefreshMaterializedView": "Are you sure you want to refresh the materialized view \"{viewName}\"?",
"onlyMaterializedViewNeedsRefresh": "Only materialized views need manual refresh",
"confirmExportAllTables": "Are you sure you want to export all tables in the current Schema/Database?",
"confirmExportAllViews": "Are you sure you want to export all views in the current Schema/Database?",
"confirmRefreshAllMaterializedViews": "Are you sure you want to refresh all materialized views in the current Schema/Database? This may take some time.",
"exportFeatureDevelopment": "Export feature is under development...",
"importFeatureDevelopment": "Import feature is under development...",
"editFeatureDevelopment": "Edit feature is under development...",
"deleteFeatureDevelopment": "Delete feature is under development...",
"truncateTableFeatureDevelopment": "Truncate table feature is under development...",
"createViewFeatureDevelopment": "Create view feature is under development...",
"exportAllTablesFeatureDevelopment": "Export all tables feature is under development...",
"exportAllViewsFeatureDevelopment": "Export all views feature is under development...",
"refreshAllMaterializedViewsFeatureDevelopment": "Refresh all materialized views feature is under development...",
"selectItemFromLeft": "Please select an item from the left",
"tableStructure": "Table Structure",
"dataQuery": "Data Query",
"sqlExecution": "SQL Execution",
"objectEditor": "Object Editor",
"viewStructure": "View Structure",
"fieldList": "Field List",
"fields": "Fields",
"indexes": "Indexes",
"constraints": "Constraints",
"columns": "Columns",
"addField": "Add Field",
"serialNumber": "Serial Number",
"fieldName": "Field Name",
"dataType": "Data Type",
"lengthPrecision": "Length/Precision",
"decimalPlaces": "Decimal Places",
"nullable": "Nullable",
"defaultValue": "Default Value",
"primaryKey": "Primary Key",
"unique": "Unique",
"comment": "Comment",
"operation": "Operation",
"fieldDeleted": "Field deleted",
"noFields": "No fields, click \"Add Field\" to start creating",
"type": "Type",
"fieldNamePlaceholder": "e.g. product_name",
"defaultValuePlaceholder": "Default value",
"fieldCommentPlaceholder": "Field comment",
"indexList": "Index List",
"addIndex": "Add Index",
"indexName": "Index Name",
"indexType": "Index Type",
"selectFields": "Select Fields",
"indexDeleted": "Index deleted",
"noIndexes": "No indexes, click \"Add Index\" to start creating",
"indexNamePlaceholder": "Index name",
"typePlaceholder": "Type",
"schemaInfo": "Schema Information",
"copyName": "Copy Name",
"schemaName": "Schema Name",
"objectStatistics": "Object Statistics",
"databaseObjects": "Database Objects",
"noTablesInSchema": "No tables in this Schema",
"noViewsInSchema": "No views in this Schema",
"materializedView": "Materialized View",
"updatable": "Updatable",
"readOnly": "Read-only",
"loadSchemaInfoFailed": "Failed to load Schema information",
"sqlEditor": "SQL Editor",
"loadExample": "Load Example",
"clearSQL": "Clear",
"execute": "Execute",
"executionResult": "Execution Result",
"executionTime": "Execution Time",
"affectedRows": "Affected Rows",
"returned": "Returned",
"records": "records",
"querySuccessNoData": "Query successful, but no data returned",
"enterSQL": "Enter SQL statement above and click \"Execute\" button",
"sqlWarning": "Please be careful when executing UPDATE, DELETE and other data modification statements",
"enterSQLStatement": "Enter SQL statement...",
"sqlPlaceholder": "Enter SQL statement...\\n\\nExample:\\nSELECT * FROM users WHERE id > 100;\\nUPDATE users SET status = 'active' WHERE id = 1;\\nDELETE FROM users WHERE id = 999;",
"invalidDatabaseConnection": "Invalid database connection",
"executeSQLFailed": "SQL execution failed",
"pleaseEnterSQL": "Please enter SQL statement",
"whereCondition": "WHERE condition (e.g: id > 100 AND status = 'active')",
"orderBy": "ORDER BY (e.g: id DESC)",
"query": "Query",
"noData": "No data",
"totalRecords": "{count} records in total",
"designTable": "Design Table - {tableName}",
"designTableAction": "Design Table",
"databaseLabel": "Database",
"schemaLabel": "Schema",
"tableNameLabel": "Table Name",
"tableNamePlaceholder": "Table name",
"commentLabel": "Comment",
"tableCommentPlaceholder": "Table comment",
"unsavedChanges": "Unsaved changes",
"noChanges": "No changes",
"reset": "Reset",
"saveChanges": "Save Changes",
"sqlPreview": "SQL Preview",
"close": "Close",
"confirmSave": "Are you sure you want to save these changes?",
"confirmSaveTitle": "Confirm Save",
"confirmClose": "There are unsaved changes, are you sure you want to close?",
"confirmCloseTitle": "Tip",
"noChangesDetected": "No changes detected",
"noSQLGenerated": "No SQL statement generated",
"saveSuccess": "Save successful",
"saveFailed": "Save failed",
"loadTableStructureFailed": "Failed to load table structure",
"loadTableDataFailed": "Failed to load table data",
"tableInfo": "Table Information",
"tableType": "Type",
"rowCount": "Row Count",
"tableSize": "Size",
"ddlStatement": "DDL Statement",
"copy": "Copy",
"basicInfo": "Basic Information",
"confirmReset": "Are you sure you want to reset all changes?",
"confirmResetTitle": "Tip",
"resetSuccess": "Reset successful",
"missingDatabaseConfig": "Missing database configuration information",
"loadDDLFailed": "Failed to load DDL statement",
"loadDDLFailedMsg": "-- Failed to load DDL, please check database connection",
"viewInfo": "View Information",
"viewName": "View Name",
"viewType": "View Type",
"materializedView": "Materialized View",
"normalView": "Normal View",
"isUpdatable": "Is Updatable",
"yes": "Yes",
"no": "No",
"checkOption": "CHECK OPTION",
"columnInfo": "Column Information",
"columnName": "Column Name",
"dataType": "Data Type",
"nullable": "Nullable",
"position": "Position",
"dependentTables": "Dependent Tables",
"noDependentTables": "No Dependent Tables",
"viewDefinition": "View Definition",
"noDefinition": "No Definition",
"description": "Description",
"viewExplanation": "A View is a virtual table based on one or more tables and does not store actual data.",
"viewBenefit1": "Views can simplify complex queries and improve data security",
"viewBenefit2": "Updatable views allow modifying underlying table data through the view",
"viewBenefit3": "When tables that the view depends on are modified, the view structure is automatically updated",
"viewBenefit4": "Deleting a view does not affect the data in the underlying tables",
"searchPlaceholder": "Search databases, tables, views...",
"loadViewStructureFailed": "Failed to load view structure",
"noData": "No data",
"noColumnInfo": "No column information",
"dataTypes": {
"varchar": "Text",
"char": "Fixed Text",
"text": "Long Text",
"integer": "Integer",
"int": "Integer",
"bigint": "Big Integer",
"smallint": "Small Integer",
"numeric": "Exact Decimal",
"decimal": "Exact Decimal",
"doublePrecision": "Decimal",
"double": "Decimal",
"float": "Decimal",
"json": "JSON",
"date": "Date",
"time": "Time",
"datetime": "DateTime",
"timestamp": "Timestamp",
"datetime2": "Timestamp",
"boolean": "Boolean",
"bit": "Boolean",
"nvarchar": "Unicode Text",
"nvarcharMax": "JSON"
},
"fieldNameRequired": "Field name is required",
"fieldNameInvalidFormat": "Field name must start with a letter or underscore and contain only letters, numbers, and underscores",
"fieldNameDuplicate": "Duplicate field name \"{name}\"",
"tablesFolder": "Tables",
"viewsFolder": "Views",
"refreshSuccess": "Refreshed successfully",
"refreshFailed": "Refresh failed",
"executeShortcutHint": "Ctrl/Cmd + Enter to execute",
"createDatabase": "Create Database",
"dropDatabase": "Drop Database",
"dropSchema": "Drop Schema",
"renameSchema": "Rename Schema",
"renameDatabase": "Rename Database",
"editTableStructure": "Edit Table Structure",
"enterNameToConfirm": "This action cannot be undone. Type the object name below to confirm:",
"nameMismatch": "The name you entered does not match",
"systemConnectionForbidden": "Write operations are not allowed on the system connection",
"systemDatabase": "System Database",
"systemDatabaseForbidden": "This system database cannot be modified",
"databaseCreated": "Database \"{name}\" created successfully",
"databaseDropped": "Database \"{name}\" dropped successfully",
"schemaDropped": "Schema \"{name}\" dropped successfully",
"schemaRenamed": "Schema renamed to \"{name}\"",
"createDatabaseFailed": "Failed to create database",
"dropDatabaseFailed": "Failed to drop database",
"dropSchemaFailed": "Failed to drop schema",
"renameSchemaFailed": "Failed to rename schema",
"renameDatabaseFailed": "Failed to rename database",
"databaseRenamed": "Database renamed to \"{name}\"",
"enterNewDatabaseName": "Enter new database name",
"databaseNameRequired": "Please enter a database name",
"databaseNamePattern": "Database name must start with a letter or underscore and contain only letters, numbers, and underscores",
"enterDatabaseName": "Enter database name",
"databaseName": "Database Name",
"encoding": "Encoding",
"charset": "Charset",
"collation": "Collation",
"enterNewSchemaName": "Enter new schema name",
"objectTypeDatabase": "database",
"objectTypeSchema": "schema",
"objectTypeTable": "table",
"dangerousActionDefaultWarning": "Are you sure you want to drop {objectType} \"{objectName}\"? This cannot be undone.",
"typeObjectNamePlaceholder": "Type \"{objectName}\" to confirm",
"objectOverview": "Overview",
"objectName": "Object Name",
"objectTypeConnection": "Connection",
"objectTypeView": "View",
"databaseCount": "Database Count",
"databasesUnderConnection": "Databases under this connection",
"connectionHint": "Hint",
"connectionBrowseHint": "Expand the connection in the left tree to browse databases and objects",
"schemaList": "Schema List",
"mysqlSchemaHint": "MySQL does not use schema layers; the database is the top-level container. Expand the left tree to view tables and views.",
"schemaDescriptionHint": "A schema is a logical container for database objects such as tables and views.",
"searchObjectPlaceholder": "Search object name...",
"loadObjectListFailed": "Failed to load object list",
"size": "Size",
"indexTypes": {
"btree": "B-Tree",
"hash": "Hash",
"gin": "GIN",
"gist": "GiST",
"brin": "BRIN",
"nonclustered": "Nonclustered",
"clustered": "Clustered",
"normal": "Normal",
"bitmap": "Bitmap"
}
}
@@ -0,0 +1,138 @@
{
"overview": "Overview",
"connectionInfo": "Connection Information",
"performanceStats": "Performance Statistics",
"tableStats": "Table Statistics",
"loadConfigFailed": "Failed to load database configuration",
"loading": "Loading {name}...",
"loadSuccess": "{name} loaded successfully",
"loadFailed": "Failed to load {name}",
"selectDatabase": "Please select a database",
"selectConnection": "Please select a database connection",
"systemConnection": "System",
"autoRefreshing": "Auto-refreshing",
"paused": "Paused",
"connected": "Connected",
"disconnected": "Disconnected",
"featureDeveloping": "Feature under development...",
"connectionUsageRate": "Connection Usage Rate",
"databaseSize": "Database Size",
"cacheHitRatio": "Cache Hit Ratio",
"activeConnections": "Active Connections",
"currentActiveConnections": "Current active connections",
"basicInfo": "Basic Information",
"databaseType": "Database Type",
"hostAddress": "Host Address",
"databaseName": "Database Name",
"version": "Version",
"uptime": "Uptime",
"timezone": "Timezone",
"charset": "Charset",
"totalConnections": "Total Connections",
"maxConnections": "Max Connections",
"idleConnections": "Idle Connections",
"storageInfo": "Storage Information",
"databaseSizeGb": "Database Size (GB)",
"databaseSizeMb": "Database Size (MB)",
"databaseSizeBytes": "Database Size (Bytes)",
"transactionsCommit": "Transactions Commit",
"transactionsRollback": "Transactions Rollback",
"tuplesReturned": "Tuples Returned",
"totalQueries": "Total Queries",
"slowQueries": "Slow Queries",
"bytesReceived": "Bytes Received",
"batchRequestsPerSec": "Batch Requests/sec",
"pageLifeExpectancy": "Page Life Expectancy",
"bufferCacheHitRatio": "Buffer Cache Hit Ratio",
"realtimeActiveConnections": "Real-time Active Connections",
"currentIdleConnections": "Current Idle Connections",
"connectionPoolStatus": "Connection Pool Status",
"congested": "Congested",
"busy": "Busy",
"normal": "Normal",
"idle": "Idle",
"connectionDistribution": "Connection Distribution",
"connectionPoolCapacity": "Connection Pool Capacity",
"usedMaxConnections": "Used / Max Connections",
"connectionDetailInfo": "Connection Detail Information",
"usedConnections": "Used Connections",
"availableConnections": "Available Connections",
"connectionExplanation": "Connection Explanation",
"totalConnectionsDesc": "Total number of connections currently established by the database",
"maxConnectionsDesc": "Maximum allowed number of connections configured for the database",
"activeConnectionsDesc": "Number of connections currently executing queries or transactions",
"idleConnectionsDesc": "Number of connections established but not currently in use",
"usageRateDesc": "Percentage of current connections relative to the maximum number of connections",
"connectionStatus": "Connection Status",
"connectionStatusDesc": "Idle (<50%) / Normal (50-70%) / Busy (70-90%) / Congested (≥90%)",
"corePerformanceMetrics": "Core Performance Metrics",
"totalCommittedTransactions": "Total Committed Transactions",
"totalRollbackTransactions": "Total Rollback Transactions",
"totalQueriesCount": "Total Queries Count",
"queriesNeedOptimization": "Queries Needing Optimization",
"batchRequestsPerSecDesc": "Batch requests per second",
"transactionStats": "Transaction Statistics",
"commitRate": "Commit Rate",
"tuplesFetched": "Tuples Fetched",
"tuplesInserted": "Tuples Inserted",
"tuplesUpdated": "Tuples Updated",
"tuplesDeleted": "Tuples Deleted",
"needOptimization": "Need Optimization",
"queryStats": "Query Statistics",
"batchStats": "Batch Statistics",
"cacheStats": "Cache Statistics",
"networkTraffic": "Network Traffic",
"bytesSent": "Bytes Sent",
"totalTraffic": "Total Traffic",
"performanceMetricExplanation": "Performance Metric Explanation",
"cacheHitRatioDesc": "The proportion of data read from the cache; higher is better",
"transactionsCommitDesc": "Total number of successfully committed transactions",
"transactionsRollbackDesc": "Total number of rollback transactions; too high may indicate issues",
"tupleOperations": "Tuple Operations",
"tupleOperationsDesc": "Statistics for insert, update, delete, and select operations on data rows",
"totalQueriesDesc": "Total number of all queries executed by the database",
"slowQueriesDesc": "Queries with execution time exceeding the threshold, needing optimization",
"networkTrafficDesc": "Number of bytes received and sent by the database",
"batchRequests": "Batch Requests",
"batchRequestsDesc": "Number of batch requests processed per second",
"pageLifeExpectancyDesc": "Average number of seconds a page stays in the buffer pool",
"bufferCacheHitRatioDesc": "Proportion of pages read from the buffer cache",
"statisticalOverview": "Statistical Overview",
"totalTables": "Total Tables",
"totalRows": "Total Rows",
"totalSize": "Total Size",
"searchTable": "Search Table",
"searchTablePlaceholder": "Enter table name to search...",
"top10LargestTables": "Top 10 Largest Tables",
"noTableData": "No table data",
"rank": "Rank",
"schema": "Schema",
"tableName": "Table Name",
"rows": "Rows",
"size": "Size",
"dataSize": "Data Size",
"indexSize": "Index Size",
"inserts": "Inserts",
"updates": "Updates",
"deletes": "Deletes",
"deadTuples": "Dead Tuples",
"autoIncrement": "Auto Increment",
"usedSize": "Used Size",
"tableStatsExplanation": "Table Statistics Explanation",
"tableSizeDesc": "Disk space occupied by the table, including data and indexes",
"tableRowsDesc": "Total number of data rows in the table",
"deadTuplesDesc": "Deleted rows not yet cleaned up, requiring VACUUM",
"insertUpdateDelete": "Insert/Update/Delete",
"tableOpsDesc": "Statistics for insert, update, and delete operations on the table",
"tableDataSizeDesc": "Space occupied by table data",
"tableIndexSizeDesc": "Space occupied by table indexes",
"autoIncrementDesc": "Current value of the auto-increment primary key",
"tableUsedSizeDesc": "Actual space used by the table",
"yes": "Yes",
"no": "No",
"realtime": "Real-time",
"noMatchingTables": "No matching tables found",
"allTablesList": "All Tables List",
"tableCount": "{count} tables",
"tableSize": "Table Size"
}
@@ -0,0 +1,48 @@
{
"title": "Demos",
"elementPlus": "Element Plus",
"form": "Form",
"vben": {
"title": "Project",
"about": "About",
"document": "Document",
"antdv": "Ant Design Vue Version",
"naive-ui": "Naive UI Version",
"element-plus": "Element Plus Version"
},
"demo": {
"name": "Demo",
"list": "Demo List",
"create": "Create Demo",
"edit": "Edit Demo",
"delete": "Delete Demo",
"detail": "Demo Detail",
"title": "Title",
"content": "Content",
"status": "Status",
"priority": "Priority",
"isActive": "Is Active",
"createTime": "Create Time",
"updateTime": "Update Time",
"creator": "Creator",
"dept": "Department",
"statusDraft": "Draft",
"statusPublished": "Published",
"statusArchived": "Archived",
"priorityLow": "Low",
"priorityMedium": "Medium",
"priorityHigh": "High",
"titlePlaceholder": "Please enter title",
"contentPlaceholder": "Please enter content",
"searchPlaceholder": "Search by title",
"createSuccess": "Created successfully",
"updateSuccess": "Updated successfully",
"deleteSuccess": "Deleted successfully",
"deleteConfirm": "Are you sure to delete this Demo?",
"exportExcel": "Export Excel",
"importExcel": "Import Excel",
"downloadTemplate": "Download Template",
"importSuccess": "Imported successfully",
"selectFile": "Select File"
}
}
@@ -0,0 +1,41 @@
{
"name": "Department",
"title": "Department Management",
"deptName": "Department Name",
"parentDept": "Parent Department",
"deptCode": "Department Code",
"deptCodeHelp": "Optional, unique code to identify the department",
"deptCodeFormatError": "Department code can only contain letters, numbers, underscores and hyphens",
"deptType": "Department Type",
"deptTypeOptions": {
"company": "Company",
"department": "Department",
"team": "Team",
"other": "Other"
},
"lead": "Department Leader",
"phone": "Department Phone",
"phoneHelp": "Optional, department contact phone number",
"phoneFormatError": "Invalid phone number format",
"email": "Department Email",
"emailHelp": "Optional, department contact email",
"emailFormatError": "Please enter a valid email address",
"status": "Status",
"sort": "Sort",
"description": "Department Description",
"descriptionPlaceholder": "Please enter department description",
"descriptionHelp": "Optional, detailed description of the department",
"operation": "Operation",
"addChildDept": "Add Sub-Department",
"edit": "Edit",
"delete": "Delete",
"updateSuccess": "Department updated successfully",
"updateFailed": "Failed to update department data",
"searchFailed": "Failed to search departments",
"selectDeptFirst": "Please select a department first",
"selectUsersFirst": "Please select users first",
"addUsersSuccess": "Added successfully",
"removeUsersConfirm": "Are you sure you want to delete {0} selected users?",
"removeUsersSuccess": "Deleted successfully",
"removeUsersFailed": "Delete failed"
}
@@ -0,0 +1,22 @@
{
"name": "Dictionary",
"title": "Dictionary Management",
"dictName": "Dictionary Name",
"dictCode": "Dictionary Code",
"remark": "Remark",
"remarkPlaceholder": "Please enter remark",
"status": "Status",
"operation": "Operation",
"edit": "Edit",
"codeFormatError": "Dictionary code can only contain letters, numbers and underscores",
"selectDictFirst": "Please select dictionary first",
"noData": "No data",
"itemName": "Dictionary Item",
"itemLabel": "Label",
"itemValue": "Value",
"itemIcon": "Icon",
"sort": "Sort",
"isGlobal": "Global Visible",
"globalTag": "Global",
"mainApp": "Main App"
}
@@ -0,0 +1,106 @@
{
"title": "DingTalk Sync Configuration",
"corpId": "Corp ID",
"corpIdPlaceholder": "Enter AgentId",
"appKey": "App Key",
"appKeyPlaceholder": "Enter AppKey",
"appSecret": "App Secret",
"appSecretPlaceholder": "Enter AppSecret",
"testConnection": "Test Connection",
"testSuccess": "Connection Successful",
"testFail": "Connection Failed",
"testing": "Testing...",
"syncScope": "Sync Scope",
"syncScopePlaceholder": "Please select",
"syncScopeTip": "Select an organization as the top-level for data synchronization. Once synced, this organization cannot be changed.",
"syncScopeLocked": "Initial sync completed. Sync scope is now locked. Contact admin to change.",
"syncStats": "Sync Statistics",
"syncType": "Sync Type",
"totalCount": "Total",
"successCount": "Synced",
"failCount": "Failed",
"notSynced": "Not Synced",
"syncTime": "Sync Time",
"syncStatus": "Status",
"statusRunning": "Syncing",
"statusSuccess": "Success",
"statusPartial": "Partial",
"statusFailed": "Failed",
"operation": "Operation",
"sync": "Sync",
"syncing": "Syncing...",
"syncDept": "Organization",
"syncUser": "User",
"syncDeptSuccess": "Organization sync completed",
"syncUserSuccess": "User sync completed",
"syncFail": "Sync failed",
"triggerEvents": "Trigger Events",
"triggerEvent": "Trigger Event",
"description": "Description",
"enableSyncDept": "Enable Sync Organization",
"enableSyncDeptDesc": "Trigger organization sync on add, delete, or modify organization info",
"enableSyncUser": "Enable Sync User",
"enableSyncUserDesc": "Trigger user sync on add, delete, or modify user info",
"save": "Save",
"saving": "Saving...",
"saveSuccess": "Saved successfully",
"saveFail": "Save failed",
"corpName": "Corp Name",
"loadingDeptTree": "Loading department tree...",
"callbackConfig": "Event Callback Configuration",
"callbackConfigTip": "After configuring the callback URL, DingTalk contacts changes will be pushed to this system in real-time for incremental sync.",
"callbackUrl": "Callback URL",
"callbackUrlPlaceholder": "Enter callback URL, e.g. https://example.com/api/core/dingtalk-sync/callback",
"callbackToken": "Callback Token",
"callbackTokenPlaceholder": "Enter callback token",
"callbackAesKey": "Callback AES Key",
"callbackAesKeyPlaceholder": "Enter callback AES Key (43 characters)",
"callbackStatus": "Callback Status",
"callbackRegistered": "Registered",
"callbackNotRegistered": "Not Registered",
"registerCallback": "Register Callback",
"deleteCallback": "Delete Callback",
"registerSuccess": "Callback registered successfully",
"registerFail": "Failed to register callback",
"deleteCallbackSuccess": "Callback deleted successfully",
"deleteCallbackFail": "Failed to delete callback",
"registering": "Registering...",
"subscribedEvents": "Subscribed Events",
"generateRandom": "Generate",
"streamConfig": "Stream Mode (Real-time Sync)",
"streamConfigTip": "Receive DingTalk contacts change events in real-time via WebSocket connection. No public callback URL required.",
"streamStatus": "Connection Status",
"streamConnected": "Connected",
"streamDisconnected": "Disconnected",
"streamTotalEvents": "Events Received",
"streamLastEvent": "Last Event",
"streamLastEventTime": "Last Event Time",
"streamEventNone": "None",
"streamEventLog": "Incremental Sync Log",
"refresh": "Refresh",
"eventType": "Event Type",
"targetType": "Target Type",
"targetName": "Target Name",
"eventStatus": "Status",
"eventTime": "Time",
"eventCreate": "Create Org",
"eventModify": "Modify Org",
"eventRemove": "Remove Org",
"eventAddUser": "Add User",
"eventModifyUser": "Modify User",
"eventLeaveUser": "User Left",
"eventActiveUser": "User Activated",
"guideTitle": "DingTalk Sync Setup Guide",
"guideStep1Title": "Create a DingTalk Internal App",
"guideStep1Desc": "Log in to DingTalk Open Platform (open.dingtalk.com), navigate to \"App Development\" -> \"Internal Development\", create an H5 mini-app, and obtain the AppKey and AppSecret.",
"guideStep2Title": "Configure App Permissions",
"guideStep2Desc": "In the app management page, go to \"Permission Management\" and enable the following permissions: \"Contact Department Info Read\", \"Member Info Read\", \"Contact Department Members Read\", \"Employee Phone Number Info\", etc.",
"guideStep3Title": "Enter Credentials",
"guideStep3Desc": "Fill in the CorpId, AppKey, and AppSecret into the corresponding fields on this page, then click \"Test Connection\" to verify the credentials.",
"guideStep4Title": "Set Sync Scope & Run Full Sync",
"guideStep4Desc": "After a successful connection, select the root department in \"Sync Scope\", then click \"Sync\" in the statistics table — sync organizations first, then users.",
"guideStep5Title": "Enable Stream Mode on DingTalk Platform",
"guideStep5Desc": "Log in to DingTalk Open Platform, go to app -> \"Events & Callbacks\", select \"Stream Mode\" for push method, and save. No callback URL, Token, or AES Key needed.",
"guideStep6Title": "Enable Trigger Events",
"guideStep6Desc": "In the \"Trigger Events\" section, check the event types to auto-sync (organizations, users) and save. DingTalk contacts changes will then be pushed to the system for incremental sync automatically."
}
@@ -0,0 +1,527 @@
{
"documentGenerator": {
"title": "Document Generator",
"templateManagement": "Template Management",
"sealManagement": "Seal Management",
"documentList": "Document List",
"addTemplate": "Add Template",
"editTemplate": "Edit Template",
"copyTemplate": "Copy Template",
"previewTemplate": "Preview Template",
"templateName": "Template Name",
"templateCode": "Template Code",
"category": "Category",
"formCode": "Form Code",
"workflowCode": "Workflow Code",
"bindingType": "Binding Type",
"bindToWorkflow": "Bind to Workflow",
"bindToForm": "Bind to Form",
"workflowLinkedForm": "Workflow linked form",
"basicInfo": "Basic Info",
"pageSettings": "Page Settings",
"autoGenerate": "Auto Generate",
"watermark": "Watermark",
"templateDesign": "Template Design",
"pageSize": "Page Size",
"pageSizeCustom": "Custom",
"customPageWidth": "Page Width",
"customPageHeight": "Page Height",
"pageOrientation": "Orientation",
"pageMargin": "Page Margin",
"top": "Top",
"right": "Right",
"bottom": "Bottom",
"left": "Left",
"showPageNumber": "Show Page Number",
"pageNumberSettings": "Page Number",
"pageNumberPosition": "Position",
"pageNumberPositionFooter": "Footer",
"pageNumberPositionHeader": "Header",
"pageNumberAlign": "Alignment",
"pageNumberFormat": "Format",
"pageNumberFormatChinese": "第 1 页 / 共 10 页",
"pageNumberFormatFraction": "1 / 10",
"pageNumberFormatEnglish": "Page 1 of 10",
"pageNumberFontSize": "Font Size",
"pageNumberColor": "Color",
"enableAutoGenerate": "Enable Auto Generate",
"generateTrigger": "Trigger",
"enableWatermark": "Enable Watermark",
"watermarkText": "Watermark Text",
"watermarkOpacity": "Opacity",
"watermarkAngle": "Angle",
"elementLibrary": "Element Library",
"canvas": "Canvas",
"properties": "Properties",
"dragElementHere": "Click elements on the left to add to canvas",
"selectElementToEdit": "Select an element to edit properties",
"basicProperties": "Basic Properties",
"elementType": "Element Type",
"content": "Content",
"fieldName": "Field Name",
"fieldLabel": "Label",
"format": "Format",
"dataSource": "Data Source",
"columns": "Columns",
"sealType": "Seal Type",
"position": "Position",
"width": "Width",
"height": "Height",
"style": "Style",
"fontSize": "Font Size",
"fontWeight": "Font Weight",
"textAlign": "Text Align",
"alignLeft": "Left",
"alignCenter": "Center",
"alignRight": "Right",
"color": "Color",
"publish": "Publish",
"unpublish": "Unpublish",
"builtin": "Built-in",
"confirmDelete": "Are you sure to delete this template?",
"confirmUnpublish": "Are you sure to unpublish this template?",
"builtinCannotDelete": "Built-in templates cannot be deleted",
"publishSuccess": "Published successfully",
"unpublishSuccess": "Unpublished successfully",
"pleaseInputName": "Please input template name",
"pleaseInputCode": "Please input template code",
"codeFormatError": "Code must start with a letter and contain only letters, numbers and underscores",
"pleaseInputNameAndCode": "Please input template name and code",
"pleaseInputFormCode": "Please input form code",
"pleaseInputWorkflowCode": "Please input workflow code",
"pleaseSelectWorkflow": "Please select workflow (optional)",
"pleaseSelectForm": "Please select form",
"pleaseInputWatermarkText": "Please input watermark text",
"newCode": "New Code",
"newName": "New Name",
"previewFailed": "Preview failed",
"generateDocument": "Generate Document",
"regenerate": "Regenerate",
"downloadDocument": "Download Document",
"documentName": "Document Name",
"documentNo": "Document No.",
"generateTime": "Generate Time",
"generator": "Generator",
"downloadCount": "Download Count",
"sealName": "Seal Name",
"sealImage": "Seal Image",
"uploadSeal": "Upload Seal",
"sealOwner": "Owner",
"sealScope": "Scope",
"noDocuments": "No documents",
"selectTemplate": "Select Template",
"pleaseSelectTemplate": "Please select a template",
"generate": "Generate",
"generateSuccess": "Generated successfully",
"generateFailed": "Generate failed",
"regenerateSuccess": "Regenerated successfully",
"regenerateFailed": "Regenerate failed",
"pageCount": "Pages",
"fileSize": "File Size",
"generateType": "Type",
"auto": "Auto",
"manual": "Manual",
"elementText": "Text",
"elementField": "Field",
"elementTable": "Table",
"elementImage": "Image",
"selectImage": "Select Image",
"elementSignature": "Signature",
"elementSeal": "Seal",
"elementQrcode": "QR Code",
"elementDivider": "Divider",
"noDataSource": "(No data source)",
"signatureDefault": "Signature",
"fieldNamePlaceholder": "e.g. applicant_name",
"fieldLabelPlaceholder": "e.g. Applicant:",
"dataSourcePlaceholder": "e.g. expense_items",
"columnFieldPlaceholder": "Field",
"columnLabelPlaceholder": "Title",
"columnWidthPlaceholder": "Width",
"signatureFieldPlaceholder": "Signature field name",
"formatNone": "None",
"formatDate": "Date",
"formatDatetime": "Datetime",
"formatMoney": "Money",
"formatNumber": "Number",
"sealCompany": "Company Seal",
"sealDepartment": "Department Seal",
"sealPersonal": "Personal Seal",
"sealFinance": "Finance Seal",
"sealContract": "Contract Seal",
"selectedSeal": "Selected Seal",
"selectSeal": "Select Seal",
"noSealSelected": "No seal selected",
"noSealImage": "No image",
"noAvailableSeals": "No available seals",
"clearSeal": "Clear Seal",
"sealLabel": "Seal Label",
"sealLabelPlaceholder": "Enter seal label (e.g., Seal Here)",
"allTypes": "All Types",
"noSealsOfType": "No seals of this type",
"pleaseInputText": "Please input text",
"fieldPrefix": "Field: ",
"column": "Column",
"addColumn": "Add Column",
"fontNormal": "Normal",
"fontBold": "Bold",
"alignLeft": "Left",
"alignCenter": "Center",
"alignRight": "Right",
"notSet": "Not set",
"notSetDataSource": "Data source not set",
"documents": "Documents",
"categoryLeave": "Leave",
"categoryExpense": "Expense",
"categoryPurchase": "Purchase",
"categoryContract": "Contract",
"categoryCertificate": "Certificate",
"categoryOther": "Other",
"statusPublished": "Published",
"statusDraft": "Draft",
"orientationPortrait": "Portrait",
"orientationLandscape": "Landscape",
"triggerOnApprove": "On Approval",
"triggerOnSubmit": "On Submit",
"triggerOnComplete": "On Complete",
"deleteConfirmTitle": "Delete Confirmation",
"deleteSuccess": "Template {name} deleted",
"unpublishConfirmTitle": "Unpublish Confirmation",
"copyTitle": "Copy Template",
"copyCodePlaceholder": "Enter the new template code",
"copyCodeRule": "Code can only contain letters, numbers, underscores and hyphens",
"copy": "Copy",
"copySuccess": "Copied successfully",
"importExport": {
"export": "Export Config",
"import": "Import Config",
"exportSuccess": "Template config exported",
"exportFailed": "Export failed",
"importTitle": "Import Document Template",
"dragOrClick": "Drag JSON file here or click to upload",
"onlyJson": "Only .json files are supported",
"fileParseError": "Failed to parse file. Please check the format",
"checking": "Checking...",
"codeConflictTip": "Template code already exists. Enter a new code to import",
"codeAvailable": "Template code is available",
"newCodePlaceholder": "Enter a new template code",
"importSuccess": "Template imported successfully",
"importFailed": "Import failed",
"confirmImport": "Confirm Import",
"reselect": "Reselect",
"templateInfo": "Template Info",
"appTip": "Imported template belongs to the current app (draft status)",
"bindingTip": "Ensure linked form/workflow codes exist in the target environment"
},
"design": "Design",
"editInfo": "Edit Info",
"createSuccess": "Created successfully",
"saveSuccess": "Saved successfully",
"autoSave": {
"saving": "Saving...",
"saved": "Saved",
"unsaved": "Unsaved"
},
"layoutElements": "Layout",
"headerElements": "Header Area",
"infoElements": "Info Area",
"tableElements": "Table Area",
"contentElements": "Content",
"approvalElements": "Approval Area",
"otherElements": "Other Elements",
"footerElements": "Footer Area",
"rowContainer": "Row Container",
"columnCount": "Column Count",
"columnWidths": "Column Widths",
"columnGap": "Column Gap",
"addRowColumn": "Add Column",
"removeRowColumn": "Remove Column",
"dropElementHere": "Drop element here",
"documentHeader": "Document Header",
"documentTitle": "Document Title",
"documentInfo": "Document Info",
"infoRow": "Info Row",
"infoTable": "Info Table",
"smartTable": "Smart Table",
"smartText": "Smart Text",
"smartTextPlaceholder": "Type text here...",
"smartTextItalic": "Italic",
"smartTextUnderline": "Underline",
"smartTextStrikethrough": "Strikethrough",
"smartTextUnorderedList": "Unordered List",
"smartTextOrderedList": "Ordered List",
"smartTextLineHeight": "Line Height",
"smartTextHeading": "Heading",
"smartTextParagraph": "Paragraph",
"smartTextH1": "Heading 1",
"smartTextH2": "Heading 2",
"smartTextH3": "Heading 3",
"smartTextInsertTable": "Insert Table",
"smartTextRemoveTable": "Remove Table",
"smartTableRows": "Rows",
"smartTableCols": "Columns",
"smartTableAddRow": "Add Row",
"smartTableAddCol": "Add Column",
"smartTableDeleteRow": "Delete Row",
"smartTableDeleteCol": "Delete Column",
"smartTableMergeCells": "Merge Cells",
"smartTableSplitCell": "Split Cell",
"smartTableCellContent": "Cell Content",
"smartTableSelectCells": "Please select cells first",
"smartTableInsertText": "Enter text or insert variable",
"smartTableInsertRowAbove": "Insert Row Above",
"smartTableInsertRowBelow": "Insert Row Below",
"smartTableInsertColLeft": "Insert Column Left",
"smartTableInsertColRight": "Insert Column Right",
"smartTableClearContent": "Clear Content",
"smartTableBold": "Bold",
"smartTableFontSize": "Font Size",
"smartTableFontColor": "Font Color",
"smartTableBgColor": "Background Color",
"smartTableToggleBorder": "Border Settings",
"borderAll": "All Borders",
"borderOuter": "Outer Border",
"borderInner": "Inner Border",
"borderHorizontal": "Horizontal Border",
"borderVertical": "Vertical Border",
"borderColorLabel": "Border Color",
"customColor": "Custom",
"smartTableColumnWidths": "Column Widths",
"labelField": "Label Field",
"detailTable": "Detail Table",
"amountField": "Amount Field",
"paragraph": "Paragraph",
"richText": "Rich Text",
"approvalArea": "Approval Area",
"barcode": "Barcode",
"spacer": "Spacer",
"documentFooter": "Document Footer",
"searchElements": "Search elements",
"elementTitle": "Title",
"elementParagraph": "Paragraph",
"documentTemplate": "Document Template",
"elements": "elements",
"viewJSON": "View JSON",
"jsonPreview": "JSON Preview",
"copyCode": "Copy Code",
"importConfig": "Import Config",
"pasteJsonConfig": "Paste JSON configuration",
"importSuccess": "Imported successfully",
"exportSuccess": "Exported successfully",
"configFormatError": "Configuration format error",
"copiedToClipboard": "Copied to clipboard",
"copyFailed": "Copy failed",
"pleaseEnterConfig": "Please enter configuration",
"pleaseAddElements": "Please add elements first",
"previewNotImplemented": "Preview not implemented yet",
"pdfPreview": "PDF Preview",
"generatingPreview": "Generating preview...",
"noPreviewContent": "No preview content",
"saveBeforePreview": "Please save the template before preview",
"viewHTML": "View HTML",
"htmlPreview": "HTML Preview",
"htmlPreviewFailed": "HTML preview failed",
"clearCanvasConfirm": "Are you sure to clear the canvas? This action cannot be undone.",
"cleared": "Cleared",
"releaseToAdd": "Release to add element",
"elementProperties": "Element Properties",
"templateSettings": "Template Settings",
"signatureZone": "Signature Zone",
"sealZone": "Seal Zone",
"qrcodeContent": "QR Code Content",
"qrcodeContentPlaceholder": "Enter QR code content or field name",
"qrcodeType": "QR Code Type",
"qrcodeTypeText": "Text",
"qrcodeTypeUrl": "URL Link",
"qrcodeTypePhone": "Phone Number",
"qrcodeTypeEmail": "Email",
"signatureFieldName": "Signature field name",
"dividerLine": "Divider Line",
"sourceCode": "Source",
"pagePreview": "Preview",
"fontFamily": "Font Family",
"defaultFont": "Default Font",
"lineHeight": "Line Height",
"fontWeightNormal": "Normal",
"fontWeightBold": "Bold",
"alignJustify": "Justify",
"titlePlaceholder": "Enter title",
"contentPlaceholder": "Enter content, use {{variable}} to insert variables",
"imageUrl": "Image URL",
"imageUrlPlaceholder": "Enter image URL or field name",
"imageLabelPlaceholder": "e.g. Signature, Approver",
"labelPosition": "Label Position",
"labelPositionTop": "Top",
"labelPositionBottom": "Bottom",
"labelPositionLeft": "Left",
"labelPositionRight": "Right",
"labelFontSize": "Label Font Size",
"showUnderline": "Show Underline",
"lineStyle": "Line Style",
"lineSolid": "Solid",
"lineDashed": "Dashed",
"lineDotted": "Dotted",
"lineWidth": "Line Width",
"lineColor": "Line Color",
"showPrintDate": "Show Print Date",
"footerContentPlaceholder": "Enter footer content",
"yes": "Yes",
"no": "No",
"fieldsConfig": "Fields Configuration",
"rowsConfig": "Rows Configuration",
"field": "Field",
"row": "Row",
"addField": "Add Field",
"addRow": "Add Row",
"newField": "New Field",
"label": "Label",
"value": "Value",
"labelWidth": "Label Width",
"labelBgColor": "Label Background",
"labelColor": "Label Font Color",
"fieldFontSize": "Field Font Size",
"fieldColor": "Field Font Color",
"valueFontSize": "Value Font Size",
"valueColor": "Value Font Color",
"fontSettings": "Font Settings",
"fontColor": "Font Color",
"labelFontWeight": "Label Bold",
"headerBgColor": "Header Background",
"headerFontSize": "Header Font Size",
"headerColor": "Header Font Color",
"headerFontWeight": "Header Bold",
"labelSettings": "Label Settings",
"contentFontSize": "Content Font Size",
"contentColor": "Content Font Color",
"columnWidth": "Width",
"showIndex": "Show Index",
"indexWidth": "Index Width",
"noBackground": "No Background",
"borderStyle": "Border Style",
"borderNone": "No Border",
"insertVariable": "Insert Variable",
"searchVariable": "Search variables...",
"noVariables": "No variables",
"otherVariables": "Other",
"varApplicant": "Applicant",
"varDepartment": "Department",
"varPosition": "Position",
"varApplyDate": "Apply Date",
"varDocNo": "Document No",
"varCreateDate": "Create Date",
"varPhone": "Phone",
"varEmail": "Email",
"varTotalAmount": "Total Amount",
"varRemark": "Remark",
"placeholder": {
"name": "Search template name"
},
"groupFormFields": "Form Fields",
"groupCalculationFields": "Calculation Fields",
"groupSubTablePrefix": "Sub Table: ",
"subTableDataSourceSuffix": " (Data Source)",
"subTableFirstRowSuffix": " (First Row)",
"nameSuffix": " (Name)",
"companyName": "Company Name",
"headerType": "Header Type",
"noImage": "No Image",
"positionMode": "Position Mode",
"positionInline": "Inline",
"positionFloat": "Float"
},
"calculation": {
"title": "Calculation Config",
"enableCalculation": "Enable Calculation",
"enableCalculationHint": "Enable to define calculation and aggregation fields in the calculation config step",
"calculationFields": "Calculation Fields",
"aggregationFields": "Aggregation Fields",
"calculationField": "Calculation Field",
"aggregationField": "Aggregation Field",
"noCalculationFields": "No calculation fields, click add button to create",
"noAggregationFields": "No aggregation fields, click add button to create",
"fieldName": "Field Name",
"fieldLabel": "Field Label",
"fieldNamePlaceholder": "e.g. total_amount",
"fieldLabelPlaceholder": "e.g. Total Amount",
"formula": "Formula",
"formulaPlaceholder": "e.g. quantity * unit_price * (1 - discount_rate)",
"formulaHint": "Operators: +, -, *, /, %, ** | Functions: round, abs, numberToChinese | Can reference other fields and aggregation results",
"format": "Format",
"formatNumber": "Number",
"formatMoney": "Money",
"formatPercent": "Percent",
"formatChinese": "Chinese Amount",
"decimalPlaces": "Decimal Places",
"dataSource": "Data Source",
"selectSubTable": "Select sub table",
"aggregateField": "Aggregate Field",
"selectField": "Select field",
"aggregateFunction": "Aggregate Function",
"funcSum": "Sum",
"funcAvg": "Average",
"funcMax": "Maximum",
"funcMin": "Minimum",
"funcCount": "Count",
"usageTitle": "Usage Guide",
"usageHint1": "Aggregation fields are used to summarize sub-table data (e.g. total amount of order items)",
"usageHint2": "Calculation fields are used for formula calculations based on form fields or aggregation results",
"usageHint3": "Calculation results can be referenced in document templates by variable name (wrap with double curly braces)",
"usageHint4": "Chinese format will automatically convert numbers to Chinese amount format",
"positionMode": "Position Mode",
"positionInline": "Inline",
"positionFloat": "Float",
"floatX": "X",
"floatY": "Y",
"floatZIndex": "Z-Index",
"editorModeComponent": "Component",
"editorModeWysiwyg": "Document",
"wysiwygInsertImage": "Insert Image",
"wysiwygInsertSeal": "Insert Seal",
"wysiwygPageCount": "{count} pages",
"hideAttributePanel": "Hide Properties",
"showAttributePanel": "Show Properties"
}
}
@@ -0,0 +1,164 @@
{
"tool": {
"selection": "Selection",
"hand": "Hand",
"rectangle": "Rectangle",
"ellipse": "Ellipse",
"diamond": "Diamond",
"line": "Line",
"arrow": "Arrow",
"freedraw": "Free Draw",
"text": "Text",
"image": "Image",
"eraser": "Eraser",
"frame": "Frame",
"laser": "Laser"
},
"action": {
"undo": "Undo",
"redo": "Redo",
"copy": "Copy",
"cut": "Cut",
"paste": "Paste",
"duplicate": "Duplicate",
"delete": "Delete",
"selectAll": "Select All",
"zoomIn": "Zoom In",
"zoomOut": "Zoom Out",
"zoomToFit": "Zoom to Fit",
"zoomToFitSelection": "Zoom to Fit Selection",
"resetZoom": "Reset Zoom",
"exportPng": "Export as PNG",
"exportSvg": "Export as SVG",
"exportJson": "Export as JSON",
"save": "Save",
"toggleGrid": "Toggle Grid",
"toggleDarkMode": "Toggle Dark Mode",
"toggleSnap": "Toggle Snap",
"toggleStats": "Toggle Stats Panel",
"toggleZenMode": "Toggle Zen Mode"
},
"property": {
"strokeColor": "Stroke Color",
"backgroundColor": "Background Color",
"fillStyle": "Fill Style",
"strokeWidth": "Stroke Width",
"strokeStyle": "Stroke Style",
"roughness": "Roughness",
"opacity": "Opacity",
"fontSize": "Font Size",
"fontFamily": "Font Family",
"textAlign": "Text Align",
"verticalAlign": "Vertical Align",
"arrowheadStart": "Start Arrowhead",
"arrowheadEnd": "End Arrowhead",
"arrowType": "Arrow Type",
"arrowTypeStraight": "Straight",
"arrowTypeRound": "Curved",
"arrowTypeElbow": "Elbow",
"arrowTypeSharp": "Sharp",
"roundness": "Roundness",
"edges": "Edges",
"edgesSharp": "Sharp",
"edgesRound": "Round",
"sloppiness": "Sloppiness",
"link": "Hyperlink",
"linkPlaceholder": "Enter link URL...",
"mixed": "Mixed values",
"alignDistribute": "Align & Distribute",
"customColor": "Custom Color",
"layers": "Layers",
"actions": "Actions"
},
"fillStyle": {
"hachure": "Hachure",
"crossHatch": "Cross Hatch",
"solid": "Solid",
"zigzag": "Zigzag",
"dots": "Dots",
"dashed": "Dashed",
"zigzagLine": "Zigzag Line"
},
"strokeStyle": {
"solid": "Solid",
"dashed": "Dashed",
"dotted": "Dotted"
},
"arrowhead": {
"none": "None",
"arrow": "Arrow",
"bar": "Bar",
"circle": "Circle",
"triangle": "Triangle",
"diamond": "Diamond"
},
"menu": {
"copy": "Copy",
"cut": "Cut",
"paste": "Paste",
"duplicate": "Duplicate",
"delete": "Delete",
"selectAll": "Select All",
"layer": "Layer",
"bringToFront": "Bring to Front",
"sendToBack": "Send to Back",
"bringForward": "Bring Forward",
"sendBackward": "Send Backward",
"flip": "Flip",
"flipH": "Flip Horizontal",
"flipV": "Flip Vertical",
"align": "Align",
"alignLeft": "Align Left",
"alignCenter": "Align Center",
"alignRight": "Align Right",
"alignTop": "Align Top",
"alignMiddle": "Align Middle",
"alignBottom": "Align Bottom",
"distributeH": "Distribute Horizontally",
"distributeV": "Distribute Vertically",
"group": "Group",
"ungroup": "Ungroup",
"lock": "Lock",
"unlock": "Unlock",
"addLink": "Add Hyperlink",
"editLink": "Edit Hyperlink",
"removeLink": "Remove Hyperlink",
"openLink": "Open Link",
"toggleGrid": "Toggle Grid",
"copyStyle": "Copy Style",
"pasteStyle": "Paste Style",
"openFile": "Open",
"saveTo": "Save to...",
"export": "Export",
"exportPng": "Export as PNG",
"exportSvg": "Export as SVG",
"exportJson": "Export as JSON",
"exportCopyPng": "Copy as PNG",
"exportCopySvg": "Copy as SVG"
},
"label": {
"thin": "Thin",
"bold": "Bold",
"extraBold": "Extra Bold",
"architect": "Architect",
"artist": "Artist",
"cartoonist": "Cartoonist"
},
"font": {
"handDrawn": "Hand-drawn",
"normal": "Normal",
"code": "Code",
"assistant": "Assistant"
},
"verticalAlign": {
"top": "Top",
"middle": "Middle",
"bottom": "Bottom"
},
"stats": {
"title": "Statistics",
"elements": "Elements",
"sceneSize": "Scene Size",
"multiSelected": "{count} elements selected"
}
}
@@ -0,0 +1,60 @@
{
"title": "Electronic Seal Management",
"create": "Create Seal",
"createSeal": "Create Seal",
"editSeal": "Edit Seal",
"name": "Seal Name",
"sealTypeLabel": "Seal Type",
"ownerTypeLabel": "Owner Type",
"scopeLabel": "Scope",
"sealImage": "Seal Image",
"description": "Description",
"width": "Width",
"height": "Height",
"enable": "Enable",
"disable": "Disable",
"sealType": {
"company": "Company Seal",
"department": "Department Seal",
"personal": "Personal Seal",
"contract": "Contract Seal",
"finance": "Finance Seal"
},
"status": {
"active": "Active",
"disabled": "Disabled"
},
"ownerType": {
"all": "Everyone",
"dept": "Specific Department",
"role": "Specific Role",
"user": "Specific User"
},
"scope": {
"all": "All Templates",
"specific": "Specific Templates"
},
"placeholder": {
"name": "Please enter seal name",
"sealType": "Please select seal type",
"ownerType": "Please select owner type",
"scope": "Please select scope",
"sealImage": "Please upload seal image",
"description": "Please enter description",
"selectDept": "Please select department",
"selectRole": "Please select role",
"selectUser": "Please select user",
"selectTemplate": "Please select template"
},
"deleteConfirm": "Are you sure you want to delete seal \"{name}\"?",
"deleteConfirmTitle": "Delete Confirmation",
"deleteSuccess": "Deleted successfully",
"disableConfirm": "Are you sure you want to disable this seal? It will not be available after disabled.",
"disableConfirmTitle": "Disable Confirmation",
"disableSuccess": "Disabled successfully",
"enableSuccess": "Enabled successfully",
"selectDept": "Select Department",
"selectRole": "Select Role",
"selectUser": "Select User",
"selectTemplate": "Select Template"
}
@@ -0,0 +1,65 @@
{
"title": "Feishu Sync Configuration",
"appId": "App ID",
"appIdPlaceholder": "Enter Feishu App ID",
"appSecret": "App Secret",
"appSecretPlaceholder": "Enter Feishu App Secret",
"testConnection": "Test Connection",
"testSuccess": "Connection Successful",
"testFail": "Connection Failed",
"testing": "Testing...",
"syncScope": "Sync Scope",
"syncScopePlaceholder": "Please select",
"syncScopeTip": "Select an organization as the top-level for data synchronization. Once synced, this organization cannot be changed.",
"syncScopeLocked": "Initial sync completed. Sync scope is now locked. Contact admin to change.",
"syncStats": "Sync Statistics",
"syncType": "Sync Type",
"totalCount": "Total",
"successCount": "Synced",
"failCount": "Failed",
"notSynced": "Not Synced",
"syncTime": "Sync Time",
"operation": "Operation",
"sync": "Sync",
"syncing": "Syncing...",
"syncDept": "Organization",
"syncUser": "User",
"syncDeptSuccess": "Organization sync completed",
"syncUserSuccess": "User sync completed",
"syncFail": "Sync failed",
"triggerEvents": "Trigger Events",
"triggerEvent": "Trigger Event",
"description": "Description",
"enableSyncDept": "Enable Sync Organization",
"enableSyncDeptDesc": "Trigger organization sync on add, delete, or modify organization info",
"enableSyncUser": "Enable Sync User",
"enableSyncUserDesc": "Trigger user sync on add, delete, or modify user info",
"save": "Save",
"saving": "Saving...",
"saveSuccess": "Saved successfully",
"saveFail": "Save failed",
"callbackConfig": "Event Callback Configuration",
"callbackConfigTip": "After configuring the callback URL, Feishu contacts changes will be pushed to this system in real-time for incremental sync. Feishu callbacks must be manually configured in the Feishu Open Platform console.",
"callbackUrl": "Request URL",
"callbackUrlPlaceholder": "Enter request URL, e.g. https://example.com/api/core/feishu-sync/callback",
"encryptKey": "Encrypt Key",
"encryptKeyPlaceholder": "Enter Encrypt Key",
"verificationToken": "Verification Token",
"verificationTokenPlaceholder": "Enter Verification Token",
"callbackStatus": "Callback Status",
"callbackConfigured": "Configured",
"callbackNotConfigured": "Not Configured",
"subscribedEvents": "Subscribed Events",
"generateRandom": "Generate",
"guideTitle": "Feishu Sync Setup Guide",
"guideStep1Title": "Create a Feishu Custom App",
"guideStep1Desc": "Log in to Feishu Open Platform (open.feishu.cn), go to \"Developer Console\", create a custom app, and obtain the App ID and App Secret.",
"guideStep2Title": "Configure App Permissions",
"guideStep2Desc": "In the app management page, go to \"Permission Management\" and enable contact-related permissions: \"Get Department Basic Info\", \"Get Department Organization Info\", \"Get User Basic Info\", \"Get User Phone Number\", etc.",
"guideStep3Title": "Enter Credentials & Run Full Sync",
"guideStep3Desc": "Fill in App ID and App Secret, click \"Test Connection\" to verify. After success, select the sync scope and sync organizations first, then users.",
"guideStep4Title": "Configure Event Subscription (Real-time Sync)",
"guideStep4Desc": "In the Feishu Open Platform app's \"Event Subscription\" page, set the request URL (format: https://your-domain/api/core/feishu-sync/callback), enter the Encrypt Key and Verification Token generated on this page into Feishu console, and subscribe to contact events.",
"guideStep5Title": "Enable Trigger Events",
"guideStep5Desc": "In the \"Trigger Events\" section, check the event types to auto-sync (organizations, users) and save. Feishu contacts changes will then be pushed to the system for incremental sync automatically."
}
@@ -0,0 +1,42 @@
{
"myFiles": "My Files",
"fileManagement": "File Management",
"folderName": "Folder Name",
"newFolder": "New Folder",
"rename": "Rename",
"name": "Name",
"size": "Size",
"modifiedTime": "Modified Time",
"actions": "Actions",
"search": "Search...",
"listView": "List View",
"gridView": "Grid View",
"batchDelete": "Batch Delete",
"upload": "Upload",
"uploadFile": "Upload File",
"uploadFolder": "Upload Folder",
"open": "Open",
"download": "Download",
"delete": "Delete",
"selectAll": "Select All",
"noFiles": "No Files",
"pleaseEnterName": "Please enter name",
"pleaseEnterFolderName": "Please enter folder name",
"renameSuccess": "Rename successful",
"createSuccess": "Create successful",
"deleteSuccess": "Delete successful",
"deleteConfirm": "Are you sure you want to delete {name}?",
"batchDeleteConfirm": "Are you sure you want to delete the selected {count} items?",
"uploadSuccess": "Successfully uploaded {count} files",
"uploadFailed": "{count} files failed to upload",
"uploadError": "Upload error",
"folderDownloadNotSupported": "Folder download is not supported currently",
"downloadFailed": "Download failed",
"previewFailed": "Preview failed",
"previewNotSupported": "This file type is not supported for preview",
"previewRenderError": "File rendering failed",
"filePreview": "File Preview",
"tip": "Tip",
"cancel": "Cancel",
"confirm": "Confirm"
}
@@ -0,0 +1,803 @@
{
"form": "Form",
"name": "Form Name",
"code": "Form Code",
"application": "Application",
"type": "Form Type",
"status": "Status",
"description": "Description",
"createTime": "Create Time",
"updateTime": "Update Time",
"actions": "Actions",
"showInMobile": "Show in Mobile",
"showInMobileTip": "When enabled, this form will be displayed in the mobile workbench",
"icon": "Form Icon",
"iconBgColor": "Icon Background Color",
"iconPreview": "Preview",
"iconBgColorPlaceholder": "Enter custom color or gradient",
"iconPlaceholder": "Select form icon",
"placeholder": {
"name": "Please enter form name",
"code": "Please enter form code",
"type": "Please select form type",
"status": "Please select status"
},
"typeMap": {
"all": "All",
"normal": "Normal Form",
"workflow": "Workflow Form"
},
"statusMap": {
"all": "All",
"published": "Published",
"draft": "Draft"
},
"create": "New Form",
"batchDelete": "Batch Delete",
"batchDeleteWithCount": "Batch Delete ({count})",
"deleteConfirm": "Are you sure you want to delete form \"{name}\"?",
"deleteConfirmTitle": "Delete Confirmation",
"deleteConfirmMessage": "The following actions will be performed when deleting the form:<br/><br/>1. Delete the form menu<br/>2. Delete the form API permissions<br/>3. Delete the form field permissions<br/>4. Delete the form data permissions<br/>5. Permanently delete form metadata and design config<br/><br/>Are you sure you want to delete form \"{name}\"?",
"deleteSuccess": "Form deleted: {name}",
"batchDeleteConfirm": "Are you sure you want to delete {count} selected forms?",
"batchDeleteConfirmTitle": "Batch Delete Confirmation",
"batchDeleteSuccess": "{count} forms deleted",
"unpublishSuccess": "Form \"{name}\" unpublished",
"unpublishFailed": "Unpublish failed",
"unpublishConfirmTitle": "Unpublish Confirmation",
"unpublishConfirmMessage": "The following actions will be performed after unpublishing:<br/><br/>1. Delete the form menu<br/>2. Delete the form API permissions<br/>3. Delete the form field permissions<br/>4. Delete the form data permissions<br/><br/>Are you sure you want to unpublish?",
"copyCodePlaceholder": "Please enter new form code",
"copyTitle": "Copy Form",
"copyCodeRule": "Code can only contain letters, numbers, underscores, and dashes",
"codeFormatError": "Code must start with a letter and contain only letters, numbers and underscores",
"copySuccess": "Copied successfully",
"preview": "Preview",
"publish": "Publish",
"unpublish": "Unpublish",
"copy": "Copy",
"visit": "Visit Form",
"setAsHome": "Set as Home",
"setAsHomeTitle": "Set as Default Home",
"setAsHomeConfirm": "Are you sure you want to set form \"{name}\" as the default home page?",
"setAsHomePath": "Home Path",
"setAsHomeTip": "After setting, users will be redirected to this form page by default after login.",
"setAsHomeAppTip": "This form belongs to app \"{app}\". The home page config of that app will be updated.",
"setHomeSuccess": "Set as default home page successfully",
"setHomeFailed": "Failed to set as home page",
"more": "More",
"design": "Design",
"editInfo": "Edit Info",
"saveSuccess": "Form saved successfully",
"previewDialog": {
"title": "Form Preview",
"loadFailed": "Failed to load form configuration",
"verifySuccess": "Validation passed",
"realtimeData": "Realtime Data (v-model):",
"noConfig": "No form configuration",
"close": "Close",
"verifySubmit": "Verify Submit",
"verifyFailed": "Form validation failed"
},
"editor": {
"title": "Online Development",
"create": "Create Form",
"edit": "Edit Form",
"steps": {
"basic": "Basic Info",
"database": "Database Design",
"form": "Form Design",
"list": "List Design",
"publish": "Publish Form"
},
"placeholder": {
"remark": "Please enter form description"
},
"validate": {
"title": "Form validation failed",
"warningTitle": "Form validation warnings",
"repairTip": "Please fix the following issues before continuing",
"warningTip": "The following issues won't block saving, but please review and confirm",
"continueAnyway": "Continue anyway",
"basic": "Validation failed: Name and Code are required",
"database": "Validation failed: Main table must be configured",
"incomplete": "Incomplete form configuration",
"perfectDesign": "Please complete form design"
},
"loadFailed": "Failed to load data",
"createSuccess": "Created successfully",
"save": "Save",
"saveSuccess": "Saved successfully",
"autoSave": {
"saving": "Saving...",
"saved": "Saved",
"unsaved": "Unsaved"
}
},
"dataSource": {
"refresh": "Refresh",
"refreshSuccess": "Refresh successful",
"loading": "Loading...",
"mainTable": "Main Table",
"subTable": "Sub Table",
"added": "Added",
"fieldPreview": "Field Preview",
"noFields": "No field information",
"relationConfig": "Table Relation Config",
"selectMainTip": "Please select main table first",
"selectMainDesc": "Expand to table node in database tree, click [Main Table] button to set.",
"addDatabase": "Add Database",
"refreshConn": "Refresh Connection",
"copyConnName": "Copy Connection Name",
"addSchema": "Add Schema",
"addTable": "Add Table",
"editDatabase": "Edit Database",
"refreshDatabase": "Refresh Database",
"copyDatabaseName": "Copy Database Name",
"editSchema": "Edit Schema",
"refreshSchema": "Refresh Schema",
"copySchemaName": "Copy Schema Name",
"viewFields": "View Fields",
"designTable": "Design Table",
"setMainTable": "Set as Main",
"addSubTable": "Add as Sub",
"copyTableName": "Copy Table Name",
"deleteTable": "Delete Table",
"deleteTableConfirmTitle": "Delete Confirmation",
"confirmDeleteTable": "Are you sure you want to delete table \"{tableName}\"? This operation cannot be undone!",
"deleteTableSuccess": "Table deleted successfully",
"deleteTableFailed": "Failed to delete table",
"inputDatabaseName": "Please enter database name",
"databaseNameRule": "Name can only contain letters, numbers, and underscores, starting with letter/underscore",
"databaseCreateSuccess": "Database \"{name}\" created successfully",
"databaseCreateFailed": "Failed to create database",
"inputNewDatabaseName": "Please enter new database name",
"nameNotChanged": "Name not changed",
"renameNotSupported": "Database renaming not supported yet, please do it manually",
"inputSchemaName": "Please enter Schema name",
"createSchema": "Create Schema",
"schemaNameRule": "Name can only contain letters, numbers, and underscores, starting with letter/underscore",
"schemaCreateSuccess": "Schema \"{name}\" created successfully",
"schemaCreateFailed": "Failed to create Schema",
"inputNewSchemaName": "Please enter new Schema name",
"schemaRenameSuccess": "Schema renamed to \"{name}\"",
"schemaRenameFailed": "Failed to rename Schema",
"sqlServerRenameSchemaNotSupported": "SQL Server does not support renaming Schema directly",
"loadConfigFailed": "Failed to load database configuration",
"loadDatabaseFailed": "Failed to load databases",
"loadSchemaFailed": "Failed to load schemas",
"loadTableFailed": "Failed to load tables",
"loadNodeFailed": "Failed to load node data",
"nodeNotFound": "Node not found",
"refreshNodeSuccess": "Refresh successful, expand node to see latest data",
"refreshNodeFailed": "Failed to refresh node",
"refreshFailed": "Refresh failed",
"copyToClipboard": "Copied to clipboard",
"tableAlreadyAdded": "Table already added",
"setMainSuccess": "{name} set as main table",
"addSubSuccess": "Sub table {name} added",
"tableFieldsRefreshed": "Table {name} fields updated",
"removeMainConfirm": "Are you sure you want to remove the main table?",
"removeSubConfirm": "Are you sure you want to remove this sub table?",
"removeMain": "Remove Main Table",
"subTableCount": "{count} sub tables in total",
"tableName": "Table Name",
"tableNamePlaceholder": "Please enter table name",
"alias": "Alias",
"aliasPlaceholder": "For SQL query",
"fieldList": "Field List ({count})",
"fieldName": "Field Name",
"fieldNamePlaceholder": "Please enter field name",
"fieldType": "Type",
"fieldLength": "Length",
"fieldScale": "Scale",
"fieldComment": "Comment",
"fieldCommentPlaceholder": "Please enter field comment",
"schemaName": "Schema",
"schemaNamePlaceholder": "Please enter schema name",
"nullable": "Nullable",
"isPrimaryKey": "Primary Key",
"uniqueCheck": "Unique",
"addField": "Add Field",
"relationType": "Relation Type",
"oneToMany": "One-to-Many",
"oneToOne": "One-to-One",
"foreignKeyField": "Foreign Key (Sub)",
"relatedFieldMain": "Related Field (Main)",
"selectForeignKey": "Select foreign key",
"selectRelatedField": "Select related field",
"viewFieldList": "View field list ({count} fields)",
"noSubTables": "No sub tables",
"addSubTip": "Click + button in database tree to add sub table",
"missingSystemFieldsTitle": "Missing System Fields",
"missingSystemFieldsMessage": "This table is missing system fields required for data permissions:<br/><br/><strong>{fields}</strong><br/><br/>Data permissions will not work properly without these fields.<br/><br/>Click 【Auto Add】 to automatically add the missing fields;<br/>Click 【Ignore and Continue】 to skip this check.",
"autoAddFields": "Auto Add",
"ignoreAndContinue": "Ignore and Continue",
"addSystemFieldsSuccess": "System fields added successfully",
"addSystemFieldsFailed": "Failed to add system fields",
"mainTableRequired": "Please configure a main table first",
"connectionUnavailable": "Database connection is unavailable; check connection settings",
"mainTableNotFound": "Main table {table} was not found on the target connection",
"subTableNotFound": "Sub table {table} was not found on the target connection",
"currentConnection": "Connection",
"externalConnectionTip": "Form data is stored on the external connection; ensure tables exist on the target database"
},
"listDesign": {
"containerPage": "Page",
"title": "List Design",
"queryTab": "Query Fields",
"listTab": "List Fields",
"propertyTab": "List Properties",
"querySelectionTip": "Select fields to add to query criteria",
"listSelectionTip": "Select fields to add to list display",
"selectAll": "Select All",
"noAvailableFields": "No available fields, please add fields in form design first",
"tableProperties": "Table Properties",
"showPagination": "Show Pagination",
"pageSize": "Page Size",
"itemsPerPage": "{count} items/page",
"showIndex": "Show Index Column",
"showSelection": "Show Selection Box",
"stripe": "Stripe",
"border": "Border",
"size": "Size",
"sizeLarge": "Large",
"sizeDefault": "Medium",
"sizeSmall": "Small",
"tableHeight": "Table Height",
"adaptive": "Adaptive",
"dialogProperties": "Dialog Properties",
"dialogWidth": "Dialog Width",
"widthSmall": "Small (600px)",
"widthMedium": "Medium (800px)",
"widthLarge": "Large (1000px)",
"widthExtraLarge": "Extra Large (1200px)",
"fullscreen": "Fullscreen",
"draggable": "Draggable",
"closeOnClickModal": "Close on Mask Click",
"closeOnPressEscape": "Close on ESC",
"pageProperties": "Page Properties",
"showBackButton": "Show Back Button",
"showBackButtonTip": "Control whether to display the back to list button in the upper left corner of the page",
"layoutRenderMode": "Render Mode",
"conditionRender": "Conditional Render",
"routeRender": "Route Render",
"conditionRenderTip": "Switch form display via v-if within the current page without creating a new route",
"routeRenderTip": "Navigate to a separate route page to display the form without showing tabs",
"openInNewTab": "Open in New Tab",
"openInNewTabTip": "Whether to open the form page in a new tab when clicking add, edit, or view buttons",
"buttonDisplay": "Button Display",
"toolbarButtons": "Toolbar Buttons",
"rowActionButtons": "Row Action Buttons",
"addBtn": "Add Button",
"editBtn": "Edit Button",
"deleteBtn": "Delete Button",
"viewBtn": "View Button",
"exportBtn": "Export Button",
"importBtn": "Import Button",
"batchDeleteBtn": "Batch Delete",
"startWorkflow": "Start Workflow",
"noWorkflowBound": "No workflow bound to this form",
"startWorkflowSuccess": "Workflow started successfully",
"startWorkflowFailed": "Failed to start workflow",
"workflowTitleLabel": "Workflow Title",
"workflowTitlePlaceholder": "Please enter workflow title",
"workflowTitleRequired": "Workflow title is required",
"formActionSettings": "Form Action Settings",
"showConfirmButton": "Show Confirm Button",
"showConfirmButtonTip": "When disabled, the confirm button will not be shown when adding/editing data",
"afterSaveAction": "After Save Action",
"afterSaveClose": "Close and return to list",
"afterSaveEditMode": "Switch to edit mode",
"afterSaveContinueAdd": "Clear form and continue adding",
"afterSaveActionTip": "Only applies when adding: close and return, stay on current record to edit, or clear form to add another",
"enableStartWorkflowOnAdd": "Enable Start Workflow on Add",
"enableStartWorkflowOnAddTip": "When enabled, a 'Start Workflow' button will be shown when adding new data",
"queryConfigTitle": "Query Field Config",
"listConfigTitle": "List Field Config",
"sort": "Sort",
"displayName": "Display Name",
"fieldKey": "Field Key",
"queryType": "Query Type",
"componentType": "Component Type",
"width": "Width",
"defaultValue": "Default Value",
"hidden": "Hidden",
"showTime": "Time",
"multiple": "Multiple",
"caseSensitive": "Case Sensitive",
"actions": "Actions",
"matchLike": "Like",
"matchEq": "Equals",
"matchRange": "Range",
"matchIn": "In",
"matchSpaceLikeAnd": "Space Fuzzy AND",
"matchSpaceLikeOr": "Space Fuzzy OR",
"matchSpaceEqAnd": "Space Exact AND",
"matchSpaceEqOr": "Space Exact OR",
"compInput": "Input",
"compSelect": "Select",
"compDate": "Date",
"compTime": "Time",
"compUser-select": "User Selector",
"compDept-select": "Department Selector",
"compRole-select": "Role Selector",
"compPost-select": "Post Selector",
"compForm-select": "Form Selector",
"compTable-select": "Table Selector",
"compFile-select": "File Selector",
"compImage-select": "Image Selector",
"compRegion-select": "Region Selector",
"compMoney-input": "Money Input",
"compRich-text": "Rich Text Editor",
"compCode-editor": "Code Editor",
"compFormula-input": "Formula Input",
"compCron-selector": "Cron Expression",
"compCurrent-user": "Current User",
"compCurrent-datetime": "Current Datetime",
"compCode-generator": "Code Generator",
"compAi-image-ocr": "AI Image OCR",
"width18": "1/8 (3)",
"width16": "1/6 (4)",
"width14": "1/4 (6)",
"width13": "1/3 (8)",
"width12": "1/2 (12)",
"widthFull": "Full (24)",
"none": "None",
"noQueryFields": "No query fields",
"selectQueryTip": "Please select fields to query on the right",
"columnName": "Column Name",
"left": "Left",
"center": "Center",
"right": "Right",
"minWidth": "Min Width",
"min": "Min",
"noFixed": "Not Fixed",
"fixedLeft": "Left Side",
"fixedRight": "Right Side",
"sortable": "Sortable",
"resizable": "Resizable",
"overflowTooltip": "Overflow Tooltip",
"ellipsis": "Ellipsis",
"fileImageDisplayHint": "Image/signature fields display as thumbnails automatically; text options do not apply",
"showAsTag": "Show as Tag",
"tagType": "Tag Type:",
"tagDefault": "Default",
"tagSuccess": "Success",
"tagWarning": "Warning",
"tagInfo": "Info",
"tagDanger": "Danger",
"formatter": "Formatter",
"formatDate": "Date",
"formatDateTime": "DateTime",
"formatMoney": "Money",
"formatPercent": "Percent",
"formatNumber": "Number",
"formatPattern": "Pattern",
"prefix": "Prefix",
"suffix": "Suffix",
"custom": "Custom",
"unitYuan": "Yuan",
"unitGe": "Unit",
"unitCi": "Times",
"unitDay": "Days",
"unitHour": "Hours",
"noListFields": "No list fields",
"selectListTip": "Please select fields to display on the right",
"defaultSortField": "Default Sort Field",
"selectSortField": "Select sort field",
"sortOrder": "Sort Order",
"ascending": "Ascending",
"descending": "Descending",
"addSortField": "Add Sort Field",
"defaultFilterConditions": "Default Filter Conditions",
"selectFilterField": "Select field",
"selectFilterOperator": "Operator",
"filterValue": "Value",
"filterValuePlaceholder": "Enter filter value",
"addFilterCondition": "Add Filter Condition",
"filterOperatorEq": "Equals",
"filterOperatorNe": "Not equals",
"filterOperatorGt": "Greater than",
"filterOperatorGte": "Greater or equal",
"filterOperatorLt": "Less than",
"filterOperatorLte": "Less or equal",
"filterOperatorLike": "Contains",
"filterOperatorIn": "In list",
"filterOperatorNull": "Is null",
"filterOperatorNotNull": "Not null",
"tableSummary": "Table Summary",
"showSummary": "Show Summary Row",
"summaryText": "Summary Row Label",
"summaryTextPlaceholder": "Total",
"summaryColumnTip": "Enable summary for numeric fields in list field config",
"treeConfig": "Tree Table",
"enableTree": "Enable Tree Table",
"parentField": "Parent Field",
"lazyLoad": "Lazy Load",
"lazyLoadOnTip": "Load children on demand",
"lazyLoadOffTip": "Load all data at once",
"defaultExpandAll": "Expand All by Default",
"indent": "Indent",
"checkStrictly": "Check Strictly",
"enableSummary": "Summary",
"summaryType": "Type",
"summarySum": "Sum",
"summaryAvg": "Average",
"summaryCount": "Count",
"summaryMax": "Max",
"summaryMin": "Min",
"summaryPrecision": "Precision",
"sortFrontend": "Frontend",
"sortBackend": "Backend",
"filterable": "Filter",
"filterInput": "Input",
"filterSelect": "Select",
"filterDateRange": "Date Range",
"filterMultiple": "Multiple",
"dialogFilter": "Dialog Select",
"subTableButtons": "Sub Table Buttons",
"subTableButtonsTip": "Configure sub table form buttons, click to manage sub table data in dialog/drawer/page",
"addSubTableButton": "Add Sub Table Button",
"noSubTableButtons": "No sub table buttons",
"subTableButtonText": "Button Text",
"selectSubTable": "Select Sub Table",
"selectSubTablePlaceholder": "Select the sub table to associate",
"selectSubForm": "Select Sub Form",
"selectSubFormPlaceholder": "Select the independent form for sub table",
"foreignKeyField": "Foreign Key Field",
"foreignKeyFieldPlaceholder": "Auto-filled from sub table config",
"buttonStyle": "Button Style",
"subFormContainerType": "Container Type",
"drawerSize": "Drawer Size",
"drawerDirection": "Open Direction",
"customButtons": "Custom Buttons",
"addCustomButton": "Add Custom Button",
"noCustomButtons": "No custom buttons",
"defaultButtonName": "Custom Button",
"buttonName": "Button Name",
"buttonType": "Button Type",
"buttonPosition": "Button Position",
"toolbar": "Toolbar",
"tools": "Toolbar Right",
"row": "Row Action",
"iconAndDisplay": "Icon & Display",
"iconOnly": "Icon Only",
"actionType": "Action Type",
"actionLink": "Open Link",
"actionApi": "Call API",
"actionEvent": "Trigger Event",
"actionPage": "Open Page",
"actionGenerateDocument": "Generate Document",
"bindDocumentTemplates": "Bind Document Templates",
"bindDocumentTemplatesPlaceholder": "Select templates to generate (multiple)",
"bindDocumentTemplatesHint": "Leave empty to generate all published templates for this form; otherwise only selected templates",
"pageCode": "Page Code",
"pageCodePlaceholder": "Select page to open",
"pageCodeRequired": "Please select a page",
"dialogTitle": "Dialog Title",
"dialogTitlePlaceholder": "Supports variables: {id}, {name}, etc.",
"pageDialogWidth": "Dialog Width",
"pageDialogFullscreen": "Fullscreen",
"pageView": "Page View",
"pageLoadFailed": "Failed to load page",
"pageNoConfig": "No page configuration",
"linkUrl": "Link URL",
"linkUrlPlaceholder": "Supports variables: {id}, {field}, etc.",
"apiUrl": "API URL",
"apiUrlPlaceholder": "/api/xxx, supports variables: {id}",
"apiMethod": "Request Method",
"confirmMessage": "Confirm Message",
"confirmMessagePlaceholder": "Confirmation message before execution",
"eventName": "Event Name",
"eventNamePlaceholder": "Custom event name",
"buttonIcon": "Button Icon",
"buttonIconPlaceholder": "lucide:icon-name",
"showCondition": "Show Condition",
"showConditionPlaceholder": "row.status === 'active'",
"permissionCode": "Permission Code",
"permissionCodePlaceholder": "Optional, for permission control",
"styleOptions": "Style Options",
"plain": "Plain",
"round": "Round",
"circle": "Circle",
"textBtn": "Text",
"linkBtn": "Link",
"buttonSize": "Button Size",
"stateControl": "State Control",
"disabled": "Disabled",
"disabledCondition": "Disabled Condition",
"disabledConditionPlaceholder": "row.status === 'completed'",
"tooltip": "Tooltip",
"tooltipPlaceholder": "Tooltip text on hover",
"badge": "Badge",
"badgePlaceholder": "Number or text, supports variables",
"badgeType": "Badge Type",
"confirmDialog": "Confirm Dialog",
"confirmTitle": "Confirm Title",
"confirmTitlePlaceholder": "Confirm Operation",
"messageConfig": "Message Config",
"successMessage": "Success Message",
"successMessagePlaceholder": "Operation successful",
"errorMessage": "Error Message",
"errorMessagePlaceholder": "Operation failed",
"reloadAfterSuccess": "Reload after success",
"actionAgent": "Agent Chat",
"agentId": "Agent ID",
"agentIdPlaceholder": "Unique identifier of the agent",
"agentCode": "Agent Code",
"agentCodePlaceholder": "Agent code (alternative)",
"initialMessage": "Initial Message",
"initialMessagePlaceholder": "Initial message when opening chat, supports variables like {name}",
"includeRowData": "Include Row Data",
"autoSend": "Auto Send Initial Message",
"listType": "List Type",
"cardProperties": "Card Properties",
"cardColumns": "Columns Per Row",
"cardColumnsOption": "{count} Columns",
"cardGap": "Card Gap (px)",
"cardShadow": "Card Shadow",
"shadowAlways": "Always",
"shadowHover": "On Hover",
"shadowNever": "Never",
"cardFieldsConfig": "Card Fields Config",
"cardFieldsTip": "Drag fields to card areas",
"cardPreview": "Card Preview",
"cardFieldProperties": "Field Properties",
"fieldProperties": "Field Properties",
"showDisplayName": "Show Name",
"showRelationField": "Show Relation Field",
"selectDisplayField": "Select Display Field",
"selectDisplayFieldPlaceholder": "Select field to display",
"loadingFields": "Loading fields...",
"showAvatar": "Show Avatar",
"showVirtualValue": "Show Linked Value",
"cardAreaIcon": "Icon",
"cardAreaTitle": "Title",
"cardAreaSubtitle": "Subtitle",
"cardAreaDescription": "Description",
"cardAreaTags": "Tags",
"cardAreaFooterLeft": "Footer Left",
"cardAreaFooterRight": "Footer Right",
"useCursorPagination": "Cursor Pagination",
"useCursorPaginationTip": "Suitable for large datasets. When enabled, total count is hidden and only prev/next navigation is available",
"prevPage": "Previous",
"nextPage": "Next",
"noMoreData": "No more data"
},
"formRender": {
"subTableData": "Sub Table Data",
"loadSubFormFailed": "Failed to load sub form",
"loadDataFailed": "Failed to load data",
"validateFailed": "Please check the form input"
},
"publishDialog": {
"title": "Form Publish",
"settings": "Publish Settings",
"allowGuest": "Allow Guest Access",
"success": "Published successfully",
"failed": "Publish failed",
"menuConfig": "Menu Config",
"menuName": "Menu Name",
"parentMenu": "Parent Menu",
"parentMenuPlaceholder": "Please select parent menu (top level if empty)",
"menuIcon": "Menu Icon",
"routeInfo": "Route Info",
"accessPath": "Access Path",
"confirmPublish": "Confirm Publish"
},
"validator": {
"required": "is required",
"formatInvalid": "Format is invalid",
"tooLong": "Length exceeds limit",
"notBound": "Not bound to any data field",
"duplicateSubField": "Field name \"{field}\" is duplicated in sub table \"{table}\"",
"duplicateField": "Field name \"{field}\" is duplicated",
"invalidSubTable": "Invalid sub table \"{table}\"",
"fieldNotInSubTable": "Field \"{field}\" does not exist in sub table \"{table}\"",
"fieldNotInMainTable": "Field \"{field}\" does not exist in main table",
"fileMultipleRequiresJson": "Field \"{field}\" is configured for multiple file/image selection, database type must be JSON, current type is {currentType}",
"fileSingleRequiresVarchar": "Field \"{field}\" is configured for single file/image selection, database type must be VARCHAR, current type is {currentType}",
"regionRequiresJson": "Field \"{field}\" uses region selector component, database type must be JSON, current type is {currentType}",
"numericFieldRequiresNumericComponent": "Field \"{field}\" has database type {fieldType} (numeric), cannot use {componentType} component. Please use numeric components like input-number, money-input, slider, rate, or formula-input",
"stringFieldCannotUseDateComponent": "Field \"{field}\" has database type {fieldType} (string), cannot use {componentType} component. Date/time components require corresponding date/time type fields",
"dateTimeFieldRequiresDateComponent": "Field \"{field}\" has database type {fieldType} (date/time), cannot use {componentType} component. Please use date picker, time picker, or current-datetime components",
"booleanFieldRequiresSwitchComponent": "Field \"{field}\" has database type {fieldType} (boolean), cannot use {componentType} component. Please use switch, radio, or select components",
"jsonFieldRequiresJsonComponent": "Field \"{field}\" has database type {fieldType} (JSON), cannot use {componentType} component. Please use checkbox, cascader, tree-select, file-selector, or other JSON-compatible components",
"reverseAutoFillRequiresMultiple": "Field \"{field}\" has reverse auto-fill enabled and must use multiple selection",
"reverseAutoFillNoFormCode": "Field \"{field}\" has reverse auto-fill enabled but no linked form is configured",
"reverseAutoFillNoSourceField": "Field \"{field}\" has reverse auto-fill enabled but no source field is configured",
"reverseAutoFillNoTargetField": "Field \"{field}\" has reverse auto-fill enabled but no linked form filter field is configured",
"reverseAutoFillSelfSource": "Field \"{field}\" reverse auto-fill source field cannot be itself",
"reverseAutoFillConflictsValueLink": "Field \"{field}\" has reverse auto-fill enabled and cannot also use value link",
"unknown": "Unknown",
"columnNoField": "Column is not bound to any field",
"unknownColumn": "Unknown column",
"columnFieldNotExist": "Column bound field \"{field}\" does not exist in form or database",
"queryFieldNoField": "Query field is not bound to any field",
"unknownQueryField": "Unknown query field",
"queryFieldNotExist": "Query field \"{field}\" does not exist in form or database",
"subTableButton": "Sub-table button",
"subTableButtonNoText": "Sub-table button has no button text",
"subTableButtonNoFormCode": "Sub-table button has no sub-form code",
"subTableButtonNoForeignKey": "Sub-table button has no foreign key field",
"customButton": "Custom button",
"customButtonNoName": "Custom button has no name",
"customButtonLinkNoUrl": "Link type button has no URL",
"customButtonApiNoUrl": "API type button has no API URL",
"customButtonEventNoName": "Event type button has no event name"
},
"generateDocument": {
"title": "Generate Document",
"template": "Document Template",
"selectTemplate": "Please select a document template",
"selectTemplatePlaceholder": "Select the document template to generate",
"description": "Template Description",
"noTemplates": "No published document templates bound to this form",
"generatedDocuments": "Generated Documents",
"generate": "Generate",
"generateSuccess": "Document generated successfully",
"generateFailed": "Failed to generate document",
"preview": "Preview",
"download": "Download",
"buttonLabel": "Generate Document",
"buttonTooltip": "Generate document from this data",
"positionHint": "Generate document button can only be placed in row actions, as it requires specific form data",
"autoRefresh": "Auto Refresh",
"autoRefreshHint": "When enabled, each click regenerates documents from the latest form data; when disabled, existing documents are shown first"
},
"apiInfo": {
"title": "API Information",
"description": "This form provides the following API endpoints. All endpoints require authentication.",
"formCode": "Form Code",
"basePrefix": "Base Prefix",
"authRequired": "Auth Required",
"permissions": "Permissions",
"getPermissions": "Get Permissions",
"getPermissionsDesc": "Get current user's operation permissions for this form (view/add/edit/delete/export/import)",
"getFieldPermissions": "Get Field Permissions",
"getFieldPermissionsDesc": "Get current user's field-level read/write permissions for this form",
"dataOperations": "Data Operations",
"getList": "List Data",
"getListDesc": "Paginated query of form data with sorting, search, and filtering support",
"getDetail": "Get Detail",
"getDetailDesc": "Get single record detail including sub-table data",
"createData": "Create Data",
"createDataDesc": "Create a new form record with optional sub-table data",
"updateData": "Update Data",
"updateDataDesc": "Update a specific record with optional sub-table data",
"deleteData": "Delete Data",
"deleteDataDesc": "Delete a specific record and its associated sub-table data",
"batchDelete": "Batch Delete",
"batchDeleteDesc": "Delete multiple records and their associated sub-table data",
"auxiliary": "Auxiliary",
"getTreeChildren": "Get Tree Children",
"getTreeChildrenDesc": "Get child nodes for tree table lazy loading",
"getFieldValues": "Get Field Values",
"getFieldValuesDesc": "Get unique values for a specific field, used for filter options",
"checkUnique": "Check Unique",
"checkUniqueDesc": "Check if a field value is unique",
"importExport": "Import & Export",
"exportExcel": "Export Excel",
"exportExcelDesc": "Export form data to Excel file with field selection and sub-table support",
"importTemplate": "Download Import Template",
"importTemplateDesc": "Download Excel import template",
"importExcel": "Import Excel",
"importExcelDesc": "Import data from Excel file with append or overwrite mode",
"request": "Request",
"response": "Response",
"pathParams": "Path Params",
"queryParams": "Query Params",
"requestBody": "Request Body",
"noParams": "No params",
"copyPath": "Copy Path",
"copiedSuccess": "Copied to clipboard",
"formFields": "Form Fields Reference"
},
"formData": {
"import": {
"title": "Import Data",
"modeTitle": "Select Import Mode",
"appendMode": "Append Mode",
"appendModeDesc": "Keep existing data and append new data",
"overwriteMode": "Overwrite Mode",
"overwriteModeDesc": "Clear existing data and import all new data",
"overwriteWarning": "Overwrite mode will delete all existing data in the table. This action cannot be undone!",
"dataHandling": "Data Handling",
"insertOnly": "Insert Only",
"insertOnlyDesc": "All data from Excel will be added as new records",
"updateOnly": "Update Only",
"updateOnlyDesc": "Find existing records by the specified field and update them with Excel data. No new records will be added",
"upsert": "Update & Insert",
"upsertDesc": "Update existing records found by the specified field. When no match is found, insert as new records",
"matchField": "Match Field",
"matchFieldPlaceholder": "Select the field to match existing data",
"matchFieldRequired": "A match field is required for update mode",
"updatedCount": "updated successfully",
"insertedCount": "inserted successfully",
"skippedCount": "skipped",
"selectFile": "Select File",
"dragOrClick": "Drag file here or click to upload",
"onlyXlsx": "Only .xlsx format is supported",
"downloadTemplate": "Download Import Template",
"validateAndUpload": "Validate & Upload",
"validating": "Validating data...",
"importing": "Importing data...",
"passCount": "passed validation",
"failCount": "failed validation",
"importedCount": "imported successfully",
"errorList": "Error Details",
"rowNumber": "Row",
"errorMsg": "Error Message",
"allPassed": "All data passed validation, ready to import",
"importSuccess": "Data import completed",
"reselect": "Reselect",
"confirmImport": "Confirm Import"
}
},
"importExport": {
"export": "Export Config",
"import": "Import Config",
"batchExport": "Batch Export",
"exportSuccess": "Form config exported",
"exportFailed": "Export failed",
"importTitle": "Import Form Config",
"selectFile": "Select File",
"dragOrClick": "Drag a JSON file here or click to upload",
"dragOrClickMulti": "Supports selecting multiple files for batch import",
"onlyJson": "Only .json files are supported",
"fileParseError": "Failed to parse file, please check the format",
"checking": "Checking...",
"checkResult": "Check Result",
"codeConflict": "Form code already exists",
"codeConflictTip": "Please change the code before importing",
"newCode": "New Code",
"newCodePlaceholder": "Enter a new form code",
"tableStatus": "Database Table Status",
"mainTable": "Main Table",
"subTable": "Sub Table",
"schema": "Schema",
"tableExists": "Exists",
"tableNotExists": "Not Exists",
"hasDdl": "Has DDL",
"noDdl": "No DDL",
"autoCreateTables": "Auto create missing tables",
"autoCreateTablesTip": "Missing tables will be created from exported DDL during import",
"createSchemaIfNotExists": "Create schema if missing",
"createSchemaIfNotExistsTip": "Create target schemas from config before import (PostgreSQL / SQL Server only)",
"cannotAutoCreate": "Some tables are missing and have no DDL, cannot auto create",
"crossDialectAutoCreate": "Export database type ({source}) differs from target connection ({target}). Auto-create is not supported; use the same engine or create tables manually.",
"importSuccess": "Form config imported successfully",
"importFailed": "Import failed",
"confirmImport": "Confirm Import",
"formInfo": "Form Info",
"formName": "Form Name",
"formCode": "Form Code",
"formType": "Form Type",
"dbConfig": "Database Config",
"mainTableName": "Main Table",
"fieldCount": "Fields",
"subTableCount": "Sub Tables",
"appTip": "Imported form will belong to the current application",
"tableExistsRename": "Table exists, you can create with a new name and schema",
"newTableName": "New Table Name",
"newTableNamePlaceholder": "Enter a new table name",
"selectSchema": "Select Schema",
"selectSchemaPlaceholder": "Select target schema",
"batchImportTitle": "Batch Import Form Config",
"batchImportCount": "{count} forms total",
"batchImportProgress": "Importing {current}/{total}...",
"batchImportSuccess": "Batch import done, {success} succeeded, {fail} failed",
"batchImportItem": "Item {index}",
"batchNext": "Next",
"batchSkip": "Skip",
"batchSkipped": "Skipped",
"batchConfirmAndNext": "Confirm & Next",
"batchImportAll": "Import All",
"batchImporting": "Importing...",
"checkFailed": "Check failed",
"noSelection": "Please select forms to export first",
"batchExportProgress": "Exporting {current}/{total}...",
"batchExportDone": "Batch export done, {success} succeeded, {fail} failed",
"reselect": "Reselect"
}
}
@@ -0,0 +1,60 @@
{
"name": "Login Log",
"title": "Login Log",
"username": "Username",
"userId": "User ID",
"status": "Login Status",
"statusSuccess": "Success",
"statusFailed": "Failed",
"failureReason": "Failure Reason",
"failureReasonUnknown": "Unknown Error",
"failureReasonUserNotExist": "User Not Exist",
"failureReasonPasswordError": "Password Error",
"failureReasonUserDisabled": "User Disabled",
"failureReasonUserLocked": "User Locked",
"failureReasonUserInactive": "User Inactive",
"failureReasonAccountAbnormal": "Account Abnormal",
"failureReasonOther": "Other Error",
"failureMessage": "Failure Message",
"loginIp": "Login IP",
"ipLocation": "IP Location",
"userAgent": "User Agent",
"browserType": "Browser",
"osType": "Operating System",
"deviceType": "Device Type",
"deviceTypeDesktop": "Desktop",
"deviceTypeMobile": "Mobile",
"deviceTypeTablet": "Tablet",
"deviceTypeOther": "Other",
"duration": "Session Duration",
"durationSeconds": "Session Duration (seconds)",
"sessionId": "Session ID",
"remark": "Remark",
"loginTime": "Login Time",
"createTime": "Create Time",
"operation": "Operation",
"detail": "Detail",
"detailTitle": "Login Log Detail",
"batchDelete": "Batch Delete",
"batchDeleteTitle": "Batch Delete Login Logs",
"batchDeleteConfirm": "Are you sure to delete {0} login logs? Users: {1}",
"deleteConfirm": "Are you sure to delete this login log of user {0}?",
"deleteSuccess": "Delete Success",
"deleteError": "Delete Failed",
"selectLogsToDelete": "Please select logs to delete",
"getDetailError": "Failed to get login log detail",
"noData": "No Data",
"searchPlaceholder": "Please enter {0}",
"selectPlaceholder": "Please select {0}",
"selectStatus": "Please select login status",
"selectFailureReason": "Please select failure reason",
"selectDeviceType": "Please select device type",
"startTime": "Start Time",
"endTime": "End Time",
"selectStartTime": "Please select start time",
"selectEndTime": "Please select end time",
"formatHours": "{0} hours",
"formatMinutes": "{0} minutes",
"formatSeconds": "{0} seconds",
"formatZeroSeconds": "0 seconds"
}
@@ -0,0 +1,60 @@
{
"overview": "Overview",
"analytics": "Analytics",
"workspace": "Workspace",
"home": "Home",
"systemManagement": "System Management",
"userManagement": "User Management",
"departmentManagement": "Department Management",
"permissionManagement": "API Management",
"menuManagement": "Menu Management",
"positionManagement": "Position Management",
"roleManagement": "Role Permission",
"userCenter": "User Center",
"loginLog": "Login Log",
"accountSettings": "Account Settings",
"databaseManagement": "Database Management",
"dbManagement": "DB Management",
"databaseConnection": "Database Connections",
"redisManagement": "Redis Management",
"dataSource": "Data Source",
"systemTools": "System Tools",
"fileManagement": "File Management",
"dictionaryManagement": "Dictionary Management",
"scheduledTasks": "Scheduled Tasks",
"systemMonitoring": "System Monitoring",
"redisMonitoring": "Redis Monitoring",
"serverMonitoring": "Server Monitoring",
"databaseMonitoring": "Database Monitoring",
"contractManagement": "Contract Management",
"contractList": "Contract List",
"templateManagement": "Template Management",
"crowdUsers": "Crowd Users",
"onlineDevelopment": "Online Development",
"workflowManagement": "Workflow Management",
"workflowInstanceManagement": "Workflow Instances",
"formManagement": "Form Management",
"pageManagement": "Page Management",
"reportManagement": "Report Management",
"approvalProcess": "Approval Process",
"myTasks": "My Tasks",
"initiatedProcesses": "Initiate Process",
"myPending": "My Pending",
"myInitiated": "My Initiated",
"ccToMe": "CC to Me",
"messageCenter": "Message Center",
"announcementList": "Announcement List",
"announcementManagement": "Announcement Management",
"messageList": "Message List",
"dataScreen": "Data Screen",
"screenManagement": "Screen Management",
"aiPlatform": "ZQ-AI Platform",
"workflowOrchestration": "Workflow Orchestration",
"workflowRunHistory": "Run History",
"aiAgent": "AI Agent",
"knowledgeBase": "Knowledge Base",
"controlCenter": "Control Center",
"applicationManagement": "App Management",
"startChat": "Start Chat",
"uiConfig": "UI Config"
}
@@ -0,0 +1,63 @@
{
"selectMenu": "Please select a menu",
"addChildMenu": "Add Sub-Menu",
"deleteMenu": "Delete",
"searchFailed": "Failed to search menus",
"refreshFailed": "Failed to refresh node",
"menuDetail": "Menu Details",
"title": "Menu Management",
"name": "Menu Management",
"menuName": "Menu Name",
"menuTitle": "Menu Title",
"parent": "Parent Menu",
"path": "Menu Path",
"activePath": "Active Path",
"activePathHelp": "The path to highlight the menu, used to solve the problem of inconsistency between routing paths and menu highlighting",
"activePathMustExist": "The active path must be an existing menu path",
"type": "Menu Type",
"typeCatalog": "Catalog",
"typeMenu": "Menu",
"typeButton": "Button",
"typeEmbedded": "Embedded",
"typeLink": "Link",
"typeOnlineForm": "Online Form",
"typeOnlinePage": "Online Page",
"typeOnlineReport": "Online Report",
"reportCode": "Report Code",
"typeAgent": "Agent",
"formCode": "Form Code",
"agentCode": "Agent Code",
"pageCode": "Page Code",
"component": "Component",
"componentPath": "Component Path",
"icon": "Menu Icon",
"activeIcon": "Active Icon",
"status": "Status",
"authCode": "Permission Code",
"linkSrc": "Link URL",
"operation": "Operation",
"advancedSettings": "Advanced Settings",
"keepAlive": "KeepAlive Cache",
"affixTab": "Affix Tab",
"hideInMenu": "Hide in Menu",
"hideChildrenInMenu": "Hide Children in Menu",
"hideInBreadcrumb": "Hide in Breadcrumb",
"hideInTab": "Hide in Tab",
"noBasicLayout": "No Basic Layout (Fullscreen)",
"badgeType": {
"title": "Badge Type",
"dot": "Dot",
"normal": "Number"
},
"badge": "Badge Content",
"badgeVariants": "Badge Variant",
"order": "Order",
"applicationId": "Application",
"applicationIdHelp": "Select the application that the menu belongs to, leave empty for main application menu",
"fullPathKey": "Full Path as Key",
"fullPathKeyHelp": "When set to 'No', path parameter changes won't refresh the component (for pages with dynamic parameters)",
"isSystem": "System Menu",
"isSystemHelp": "System menus are visible in all applications (main and sub-applications)",
"appMenu": "App Menu",
"systemMenu": "System Menu"
}
@@ -0,0 +1,90 @@
{
"title": "Message Center",
"type": "Type",
"msgTitle": "Title",
"content": "Content",
"time": "Time",
"actions": "Actions",
"status": "Status",
"typeMap": {
"all": "All",
"system": "System Notification",
"workflow": "Workflow",
"todo": "To-do",
"announcement": "Announcement"
},
"statusMap": {
"all": "All",
"unread": "Unread",
"read": "Read"
},
"unreadCount": "{count} unread",
"markAllRead": "Mark All as Read",
"clearRead": "Clear Read",
"markRead": "Mark as Read",
"delete": "Delete",
"markReadSuccess": "Marked as read",
"markAllReadSuccess": "All marked as read",
"markReadFailed": "Failed to mark as read",
"markAllReadConfirm": "Are you sure you want to mark all messages as read?",
"markAllReadConfirmTitle": "Mark All Read",
"deleteConfirm": "Are you sure you want to delete this message?",
"deleteConfirmTitle": "Delete Confirmation",
"deleteSuccess": "Deleted successfully",
"clearReadConfirm": "Are you sure you want to clear all read messages?",
"clearReadConfirmTitle": "Clear Confirmation",
"clearReadSuccess": "Cleared successfully",
"loadUnreadFailed": "Failed to load unread count",
"keywordPlaceholder": "Search messages",
"selectHint": "Select a message to view",
"detailTitle": "Message Detail",
"emptyList": "No messages",
"loadingMore": "Loading...",
"noMore": "No more",
"noContent": "No content",
"noData": "No data",
"sender": "Sender: ",
"send": {
"button": "Send Message",
"title": "Send Message",
"recipient": "Recipient",
"recipientPlaceholder": "Select recipients",
"msgTitle": "Title",
"msgTitlePlaceholder": "Enter message title",
"msgType": "Type",
"content": "Content",
"contentPlaceholder": "Enter message content",
"channels": "Channels",
"channelSite": "Site Message",
"channelEmail": "Email",
"channelDingtalk": "DingTalk",
"channelFeishu": "Feishu",
"channelWechat": "WeCom",
"channelWechatMp": "WeChat MP",
"channelDingtalkTodo": "DingTalk Todo",
"recipientRequired": "Please select recipients",
"titleRequired": "Please enter message title",
"contentRequired": "Please enter message content",
"success": "Message sent successfully",
"failed": "Failed to send message"
},
"drawer": {
"title": "Message Center",
"messageTab": "Messages",
"announcementTab": "Announcements",
"markAllRead": "Mark All Read",
"clearRead": "Clear Read",
"noMessages": "No messages",
"noAnnouncements": "No announcements",
"pinned": "Pinned",
"urgent": "Urgent",
"important": "Important",
"justNow": "Just now",
"minutesAgo": "{count} min ago",
"hoursAgo": "{count} hr ago",
"daysAgo": "{count} days ago",
"chatTab": "Chat",
"noChats": "No unread chats",
"unreadMessages": "{count} unread"
}
}
@@ -0,0 +1,10 @@
{
"orgChart": {
"title": "Organization Chart",
"description": "Click on a node to expand or collapse subordinates",
"empty": "No organization data available",
"focusMode": "Switch to Focus Mode",
"expandMode": "Switch to Expand Mode",
"showAll": "Show all siblings"
}
}
@@ -0,0 +1,126 @@
{
"applicationName": "Application",
"name": "Page Name",
"code": "Page Code",
"status": "Status",
"description": "Description",
"createTime": "Create Time",
"updateTime": "Update Time",
"actions": "Actions",
"placeholder": {
"name": "Please enter page name",
"remark": "Please enter form description",
"category": "Please select category",
"code": "Please enter page code",
"status": "Please select status",
"description": "Please enter page description"
},
"categoryMap": {
"dashboard": "Dashboard",
"portal": "Portal Page",
"databoard": "Data Board",
"other": "Other"
},
"statusMap": {
"all": "All",
"published": "Published",
"draft": "Draft"
},
"create": "New Page",
"batchDelete": "Batch Delete",
"batchDeleteWithCount": "Batch Delete ({count})",
"deleteConfirm": "Are you sure you want to delete page \"{name}\"?",
"deleteConfirmTitle": "Delete Confirmation",
"deleteSuccess": "Page deleted: {name}",
"batchDeleteConfirm": "Are you sure you want to delete {count} selected pages?",
"batchDeleteConfirmTitle": "Batch Delete Confirmation",
"batchDeleteSuccess": "{count} pages deleted",
"unpublishSuccess": "Page \"{name}\" unpublished",
"unpublishFailed": "Unpublish failed",
"copyCodePlaceholder": "Please enter new page code",
"copyTitle": "Copy Page",
"copyCodeRule": "Code can only contain letters, numbers, underscores, and dashes",
"codeFormatError": "Code must start with a letter and contain only letters, numbers and underscores",
"copySuccess": "Copied successfully",
"design": "Design",
"editInfo": "Edit Info",
"saveSuccess": "Page saved successfully",
"preview": "Preview",
"publish": "Publish",
"unpublish": "Unpublish",
"copy": "Copy",
"setAsHome": "Set as Home",
"setAsHomeTitle": "Set as Default Home",
"setAsHomeConfirm": "Are you sure you want to set page \"{name}\" as the default home page?",
"setAsHomePath": "Home Path",
"setAsHomeTip": "After setting, users will be redirected to this page by default after login.",
"setAsHomeAppTip": "This page belongs to app \"{app}\". The home page config of that app will be updated.",
"setHomeSuccess": "Set as default home page successfully",
"setHomeFailed": "Failed to set as home page",
"more": "More",
"category": "Page Category",
"editor": {
"title": "Online Development",
"create": "Create Page",
"edit": "Edit Page",
"createSuccess": "Created successfully",
"steps": {
"basic": "Basic Info",
"design": "Page Design",
"preview": "Page Preview"
},
"loadFailed": "Failed to load page data",
"validate": {
"basic": "Validation failed: Name and Code are required",
"perfectDesign": "Please complete page design"
},
"autoSave": {
"saving": "Saving...",
"saved": "Saved",
"unsaved": "Unsaved"
}
},
"previewDialog": {
"title": "Page Preview",
"loadFailed": "Failed to load page configuration",
"verifySuccess": "Validation passed",
"realtimeData": "Realtime Data (v-model):",
"noConfig": "No page configuration",
"close": "Close",
"verifySubmit": "Verify Submit",
"verifyFailed": "Page validation failed"
},
"importExport": {
"export": "Export Config",
"import": "Import Config",
"exportSuccess": "Page config exported",
"exportFailed": "Export failed",
"importTitle": "Import Page Config",
"dragOrClick": "Drag JSON file here or click to upload",
"onlyJson": "Only .json files are supported",
"fileParseError": "Failed to parse file. Please check the format",
"checking": "Checking...",
"codeConflictTip": "Page code already exists. Enter a new code to import",
"codeAvailable": "Page code is available",
"newCodePlaceholder": "Enter a new page code",
"importSuccess": "Page config imported successfully",
"importFailed": "Import failed",
"confirmImport": "Confirm Import",
"reselect": "Reselect",
"pageInfo": "Page Info",
"appTip": "Imported page will belong to the current application"
},
"publishDialog": {
"title": "Page Publish",
"success": "Published successfully",
"failed": "Publish failed",
"menuConfig": "Menu Config",
"menuName": "Menu Name",
"parentMenu": "Parent Menu",
"parentMenuPlaceholder": "Please select parent menu (top level if empty)",
"menuIcon": "Menu Icon",
"routeInfo": "Route Info",
"accessPath": "Access Path",
"confirmPublish": "Confirm Publish"
}
}
@@ -0,0 +1,14 @@
{
"auth": {
"login": "Login",
"register": "Register",
"codeLogin": "Code Login",
"qrcodeLogin": "Qr Code Login",
"forgetPassword": "Forget Password"
},
"dashboard": {
"title": "Dashboard",
"analytics": "Analytics",
"workspace": "Workspace"
}
}
@@ -0,0 +1,74 @@
{
"name": "Permission",
"title": "Permission Management",
"permissionName": "Permission Name",
"permissionCode": "Permission Code",
"permissionType": "Permission Type",
"httpMethod": "HTTP Method",
"apiPath": "API Path",
"dataScope": "Data Scope",
"dataScopes": {
"all": "All Data",
"self": "Self Only",
"dept": "Department",
"deptAndSub": "Dept & Subordinates",
"custom": "Custom"
},
"description": "Description",
"operation": "Operation",
"add": "Add Permission",
"edit": "Edit Permission",
"selectMenuFirst": "Please select a menu first",
"searchMenu": "Search Menu",
"loadMenuFailed": "Failed to load menu",
"loadSubMenuFailed": "Failed to load sub-menu",
"searchMenuFailed": "Failed to search menu",
"deleteConfirm": "Are you sure you want to delete permission \"{0}\"?",
"batchDelete": "Batch Delete",
"batchDeleteConfirm": "Are you sure you want to delete {0} permissions?\n{1}",
"batchDeleteSuccess": "Successfully deleted {0} permissions",
"batchDeleteFailed": "Batch delete failed",
"selectToDelete": "Please select permissions to delete",
"selectAtLeastOneRoute": "Please select at least one route",
"createSuccess": "Successfully created {created} permissions{skipped}",
"skipped": ", skipped {count}",
"createFailed": "{failed} permissions failed to create: {errors}",
"createError": "Failed to create permissions",
"getRoutesFailed": "Failed to get routes list",
"autoGenerateApi": "Auto Generate API Permissions",
"quickAddApiPermission": "Quick Add API Permission",
"permissionTypes": {
"button": "Button Permission",
"api": "API Permission",
"data": "Data Permission",
"other": "Other Permission",
"buttonDesc": "Used to control the display and hiding of buttons, menu items, and other elements on the page",
"apiDesc": "Used to control API interfaces that users can access",
"dataDesc": "Used to control the data range that users can access",
"otherDesc": "Other types of permissions"
},
"typeLabels": {
"button": "Button",
"api": "API",
"data": "Data",
"other": "Other",
"unknown": "Unknown"
},
"helpText": {
"code": "Permission code should follow the \"module:action\" format, using letters, numbers, underscores and colons",
"apiPath": "Complete API path, e.g. /api/user/create or /api/user/:id/update",
"httpMethod": "The HTTP request method corresponding to this permission"
},
"placeholder": {
"name": "e.g.: Create User, View Report, etc.",
"code": "e.g.: user:create, report:view, etc.",
"apiPath": "/api/user/create"
},
"validationErrors": {
"nameRequired": "Permission name is required",
"nameMaxLength": "Permission name can be at most 64 characters",
"codeRequired": "Permission code is required",
"codeMaxLength": "Permission code can be at most 64 characters",
"codeFormat": "Permission code can only contain letters, numbers, underscores and colons"
}
}
@@ -0,0 +1,34 @@
{
"name": "Post",
"title": "Post Management",
"postName": "Post Name",
"postCode": "Post Code",
"postType": "Post Type",
"postLevel": "Post Level",
"department": "Department",
"description": "Post Description",
"status": "Status",
"operation": "Operation",
"edit": "Edit",
"codeFormatError": "Post code can only contain letters, numbers, underscores and hyphens",
"selectDepartment": "Please select department",
"descriptionPlaceholder": "Please enter post description/responsibilities",
"selectUsersFirst": "Please select users first",
"addUsersSuccess": "Added successfully",
"removeUsersConfirm": "Are you sure you want to delete {0} selected users?",
"removeUsersSuccess": "Deleted successfully",
"removeUsersFailed": "Delete failed",
"types": {
"management": "Management",
"technical": "Technical",
"business": "Business",
"functional": "Functional",
"other": "Other"
},
"levels": {
"senior": "Senior",
"middle": "Middle",
"basic": "Basic",
"staff": "Staff"
}
}
@@ -0,0 +1,73 @@
{
"databases": "Database List",
"database": "Database",
"allTypes": "All Types",
"refresh": "Refresh",
"expires": "Expires",
"avgTTL": "Avg TTL",
"keyList": "Key List",
"keyDetail": "Key Detail",
"keysCount": "{count} Keys",
"searchKeyPlaceholder": "Search keys (supports * and ?)",
"type": "Type",
"addKey": "Add Key",
"editKey": "Edit Key",
"renameKey": "Rename Key",
"deleteKey": "Delete Key",
"keyName": "Key Name",
"value": "Value",
"ttl": "Expiration",
"size": "Size",
"encoding": "Encoding",
"bytes": "Bytes",
"loading": "Loading...",
"selectKeyPrompt": "Please select a key from the left",
"keyNotExist": "Key does not exist or has expired",
"copy": "Copy",
"copySuccess": "Copied to clipboard",
"deleteConfirm": "Are you sure you want to delete key \"{key}\"?",
"confirmDelete": "Confirm Delete",
"deleteSuccess": "Deleted successfully",
"deleteFailed": "Delete failed",
"renamePrompt": "Please enter a new key name",
"renameSuccess": "Renamed successfully",
"renameFailed": "Rename failed",
"setExpirePrompt": "Please enter expiration time (seconds), -1 for permanent",
"setExpire": "Set Expiration",
"setSuccess": "Set successfully",
"setFailed": "Set failed",
"createSuccess": "Created successfully",
"createFailed": "Create failed",
"updateSuccess": "Updated successfully",
"updateFailed": "Update failed",
"keyRequired": "Key name is required",
"typeRequired": "Please select a type",
"valueRequired": "Please enter a value",
"invalidNumber": "Please enter a valid number",
"permanent": "Permanent",
"expired": "Expired",
"seconds": "s",
"minutes": "mins",
"hours": "hrs",
"days": "days",
"listItem": "List Item",
"setMember": "Set Member",
"zsetMember": "ZSet",
"hashField": "Hash Field",
"add": "Add",
"addItem": "Add Item",
"addMember": "Add Member",
"addField": "Add Field",
"fieldName": "Field Name",
"fieldValue": "Field Value",
"member": "Member",
"score": "Score",
"ttlDesc": "-1 for permanent",
"cancel": "Cancel",
"confirm": "Confirm",
"create": "Create",
"update": "Update",
"loadDatabasesFailed": "Failed to load database list",
"loadKeyDetailFailed": "Failed to load key detail",
"searchKeysFailed": "Failed to search keys"
}
@@ -0,0 +1,181 @@
{
"overview": "Overview Info",
"memory": "Memory Info",
"clients": "Clients",
"keyspace": "Keyspace",
"stats": "Stats Info",
"slowlog": "Slow Log",
"loadFailed": "Failed to load monitor data",
"loadRealtimeStatsFailed": "Failed to load realtime stats",
"refreshSuccess": "Refresh successful",
"autoRefreshing": "Auto-refreshing",
"paused": "Paused",
"featureDeveloping": "Developing...",
"seconds": "s",
"minutes": "mins",
"hours": "hrs",
"days": "days",
"master": "Master",
"slave": "Slave",
"blocked": "Blocked",
"normal": "Normal",
"active": "Active",
"connectedClients": "Connected Clients",
"blockedClients": "Blocked Clients",
"totalConnections": "Total Connections",
"clientList": "Client List",
"totalClientsCount": "Total {count} clients",
"noClientConnections": "No client connections",
"clientId": "Client ID",
"address": "Address",
"name": "Name",
"database": "Database",
"status": "Status",
"age": "Age",
"idle": "Idle",
"outputBuffer": "Output Buffer",
"lastCommand": "Last Command",
"used": "Used",
"queue": "Queue",
"fieldDescription": "Field Description",
"clientIdDesc": "Unique client identifier assigned by Redis",
"addressDesc": "IP address and port of the client",
"nameDesc": "Client name set via CLIENT SETNAME",
"ageDesc": "Total duration of the client connection",
"idleDesc": "Duration the client has been idle (no commands sent)",
"outputBufferDesc": "Memory used by output buffer and queue length",
"permanent": "Permanent",
"milliseconds": "ms",
"totalKeys": "Total Keys",
"expiresKeys": "Expires Keys",
"proportion": "Proportion",
"avgTTL": "Avg TTL",
"databaseList": "Database List",
"totalDatabasesCount": "Total {count} databases",
"noDatabaseInfo": "No database info",
"keyCount": "Key Count",
"expires": "Expires",
"expireRate": "Expire Rate",
"noExpireTime": "No expire time",
"keyCountDesc": "Total number of keys stored in the database",
"expiresDesc": "Number of keys with an expiration set",
"avgTTLDesc": "Average time to live for all expiring keys (ms)",
"expireRateDesc": "Percentage of keys that have an expiration set",
"dbId": "DB ID",
"dbIdDesc": "Redis database index (0-15)",
"usageRateDesc": "Ratio of database keys relative to maximum capacity",
"insufficientMemory": "Insufficient Memory",
"moreFragmentation": "High Fragmentation",
"memoryUsage": "Memory Usage",
"memoryPeak": "Memory Peak",
"memoryPeakDesc": "Historical peak memory usage",
"fragmentationRatio": "Mem Fragmentation Ratio",
"memoryUsageDetail": "Memory Usage Detail",
"usedMemory": "Used Memory",
"rssMemory": "Used Memory RSS",
"physicalMemory": "Physical Memory",
"totalSystemMemory": "Total System Memory",
"system": "System",
"datasetMemory": "Used Memory Dataset",
"allocatorAllocated": "Allocator Allocated",
"allocatorActive": "Allocator Active",
"memoryPolicyConfig": "Memory Policy Config",
"maxMemoryLimit": "Max Memory Limit",
"noLimit": "No Limit",
"set": "Set",
"notLimited": "Not Limited",
"evictionPolicy": "Eviction Policy",
"evictionPolicyDesc": "💡 Eviction Policy Description",
"noevictionDesc": "noeviction: return errors when memory limit is reached",
"allkeysLruDesc": "allkeys-lru: evict any key using approximated LRU",
"volatileLruDesc": "volatile-lru: evict keys with an expire set using approximated LRU",
"allkeysRandomDesc": "allkeys-random: evict any key randomly",
"volatileRandomDesc": "volatile-random: evict keys with an expire set randomly",
"volatileTtlDesc": "volatile-ttl: evict keys with an expire set and shortest TTL",
"memoryUsageTrend": "Memory Usage Trend",
"recentDataPoints": "Recent {count} data points",
"waitingForData": "Waiting for data...",
"collectingMemoryData": "Collecting memory usage data...",
"currentUsage": "Current Usage",
"average": "Average",
"highest": "Highest",
"currentConnections": "Current Connections",
"opsPerSec": "Ops Per Sec",
"hitRate": "Hit Rate",
"redisBasicInfo": "Redis Basic Info",
"redisVersion": "Redis Version",
"redisMode": "Redis Mode",
"role": "Role",
"architecture": "Architecture",
"bits": "bits",
"tcpPort": "TCP Port",
"uptime": "Uptime",
"uptimeInDays": "Uptime In Days",
"connectionStatus": "Connection Status",
"connected": "Connected",
"disconnected": "Disconnected",
"memoryInfo": "Memory Info",
"memoryPolicy": "Memory Policy",
"connectionStats": "Connection Stats",
"rejectedConnections": "Rejected Connections",
"commandStats": "Command Stats",
"totalCommands": "Total Commands",
"keyspaceHits": "Keyspace Hits",
"keyspaceMisses": "Keyspace Misses",
"keyspaceInfo": "Keyspace Info",
"keys": "Keys",
"networkInput": "Network Input",
"totalNetInput": "Total Net Input Bytes",
"inputKbps": "Instantaneous Input Rate",
"networkOutput": "Network Output",
"totalNetOutput": "Total Net Output Bytes",
"outputKbps": "Instantaneous Output Rate",
"totalSlowLogs": "Total Slow Logs",
"avgDuration": "Avg Duration",
"maxDuration": "Max Duration",
"slowLogList": "Slow Log List",
"recentLogsCount": "Recent {count} logs",
"noSlowLogs": "No slow logs found",
"command": "Command",
"clientInfo": "Client Info",
"unnamed": "Unnamed",
"durationProportion": "Duration Proportion",
"relativeToMax": "Relative To Max",
"slowLogDesc": "Slow Log Description",
"slowLogThreshold": "Slow Log Threshold",
"slowLogThresholdDesc": "Commands exceeding the threshold are logged",
"executionTime": "Execution Time",
"executionTimeDesc": "Total time taken to execute the command (μs)",
"clientInfoDesc": "IP and name of the client that executed the command",
"performanceOptimization": "Performance Optimization",
"performanceOptimizationDesc": "Analyzing slow logs helps optimize Redis performance",
"timeUnit": "Time Unit",
"colorIndicator": "Color Indicator",
"excellent": "Excellent",
"good": "Good",
"lower": "Lower",
"veryLow": "Very Low",
"keyPerformanceIndicators": "Key Performance Indicators",
"cacheHitRate": "Cache Hit Rate",
"detailedStats": "Detailed Statistics",
"totalInputTraffic": "Total Input Traffic",
"totalOutputTraffic": "Total Output Traffic",
"instantaneousInputRate": "Instantaneous Input Rate",
"instantaneousOutputRate": "Instantaneous Output Rate",
"keyOperationStats": "Key Operation Stats",
"evictedKeys": "Evicted Keys",
"syncStats": "Sync Stats",
"syncFull": "Sync Full",
"syncPartialOk": "Sync Partial OK",
"syncPartialErr": "Sync Partial Err",
"pubsubChannels": "Pubsub Channels",
"pubsubPatterns": "Pubsub Patterns",
"latestForkUsec": "Latest Fork Usec",
"indicatorDesc": "Indicator Description",
"opsPerSecDesc": "Commands processed per second",
"hitRateDesc": "Keyspace hits as a percentage of total lookups",
"evictedKeysDesc": "Keys evicted due to memory limit",
"rejectedConnectionsDesc": "Connections rejected due to maxclients limit",
"syncFullDesc": "Full resynchronizations with replicas",
"latestForkUsecDesc": "Duration of the latest fork operation (μs)"
}
@@ -0,0 +1,437 @@
{
"name": "Report Name",
"reportCode": "Report Code",
"category": "Category",
"status": "Status",
"description": "Description",
"createTime": "Created At",
"actions": "Actions",
"create": "New Report",
"design": "Design",
"editInfo": "Edit Info",
"deleteConfirm": "Delete report \"{name}\"?",
"deleteConfirmTitle": "Confirm Delete",
"deleteSuccess": "Deleted: {name}",
"saveSuccess": "Report saved",
"copyTitle": "Copy Report",
"copyCodePlaceholder": "Enter new report code",
"copySuccess": "Copied",
"statusMap": {
"draft": "Draft",
"published": "Published"
},
"placeholder": {
"name": "Report name",
"code": "Report code",
"category": "Category",
"description": "Description"
},
"editor": {
"create": "New Report",
"edit": "Edit Report",
"createSuccess": "Report created",
"loadFailed": "Failed to load report",
"back": "Back",
"save": "Save",
"publish": "Publish",
"publishSuccess": "Published. A new draft version was created.",
"copyVersion": "Copy Version",
"copyVersionSuccess": "Copied as a new design version",
"copyVersionFailed": "Failed to copy version"
},
"leftPanel": {
"dataSource": "Data Source",
"reportProperties": "Report Settings",
"clickToConfigure": "Click to edit",
"configuredCount": "{count} configured",
"queryEmpty": "No query conditions yet",
"sortEmpty": "No sort rules yet",
"columnEmpty": "Column layout not enabled",
"convertEmpty": "No data transforms yet",
"columnEnabled": "Column layout enabled"
},
"dataset": {
"title": "Datasets",
"selectSource": "Select data source",
"empty": "No datasets. Add one above.",
"fieldMapping": "Field mapping",
"loadingFields": "Loading fields...",
"loadFieldsFailed": "Failed to load fields",
"noFields": "No fields"
},
"column": {
"config": "Column layout",
"title": "Column layout settings",
"enable": "Enable column layout",
"style": "Layout style",
"styleCol": "Row-based columns",
"styleRow": "Column-based rows",
"type": "Layout type",
"overRows": "After",
"splitCols": "rows, split to columns",
"overCols": "After",
"splitRows": "columns, split to rows",
"splitInto": "Split into",
"colsUnit": "columns",
"rowsUnit": "rows",
"dataRange": "Data range",
"dataRangePlaceholder": "e.g. A2:D10",
"copyColNo": "Copy row numbers",
"copyRowNo": "Copy column numbers",
"rangeHint": "e.g. 1,2-3,6",
"fillEmpty": "Fill empty rows",
"previewNote": "Preview: row-split→N columns, or column-split→N rows. Set range (e.g. A2:D10) and count ≥ 2."
},
"sort": {
"config": "Sort settings",
"title": "Dataset sorting",
"hint": "Sort by dataset alias.field (e.g. sales.amount)",
"add": "Add rule",
"field": "Sort field",
"fieldPlaceholder": "e.g. sales.createTime",
"order": "Order",
"asc": "Ascending",
"desc": "Descending",
"datasetHint": "Configured datasets"
},
"query": {
"title": "Query Parameters",
"config": "Configure queries",
"add": "Add field",
"field": "Field",
"fieldPlaceholder": "Select or enter parameter field",
"label": "Label",
"component": "Component",
"defaultValue": "Default",
"required": "This field is required",
"requiredLabel": "Required",
"input": "Input",
"select": "Select",
"date": "Date",
"dateRange": "Date range",
"showTime": "With time",
"options": "Options",
"optionsPlaceholder": "Label:value,Label2:value2",
"search": "Search",
"reset": "Reset",
"startDate": "Start date",
"endDate": "End date"
},
"convert": {
"config": "Data transform",
"title": "Transform rules",
"hint": "Field format: datasetAlias.fieldName",
"add": "Add rule",
"field": "Field",
"fieldPlaceholder": "e.g. order.status",
"type": "Type",
"configCol": "Settings",
"extraTitle": "Transform settings",
"addOption": "Add option",
"option": "Option",
"optionId": "Value",
"optionLabel": "Label",
"dateFormat": "Date format",
"precision": "Decimal places",
"thousands": "Thousands separator",
"types": {
"select": "Select",
"date": "Date",
"number": "Number",
"user": "User",
"department": "Department",
"organize": "Organization",
"role": "Role",
"dictionary": "Dictionary"
},
"namesMap": "Name mapping",
"namesPlaceholder": "ID:Label,ID2:Label2",
"dictionaryType": "Dictionary type",
"dictionaryTypePlaceholder": "Dictionary code"
},
"preview": {
"title": "Preview",
"search": "Search",
"expressionCycle": "Circular references detected between expression cells; results may be incorrect",
"snapshotLarge": "Preview contains a large number of cells and may be slow",
"datasetRowWarn": "Dataset \"{alias}\" has many rows; preview may be slow",
"datasetRowLimit": "Dataset \"{alias}\" reached the row limit; results may be truncated"
},
"importExport": {
"export": "Export config",
"import": "Import config",
"exportSuccess": "Report config exported",
"exportFailed": "Export failed",
"importTitle": "Import report config",
"dragOrClick": "Drag JSON here or click to upload",
"onlyJson": "Only .json files",
"fileParseError": "Failed to parse file",
"checking": "Checking...",
"codeConflictTip": "Report code exists, enter a new code",
"codeAvailable": "Code is available",
"newCodePlaceholder": "New report code",
"importSuccess": "Report imported",
"importFailed": "Import failed",
"confirmImport": "Import",
"reselect": "Reselect file",
"reportInfo": "Report info",
"appTip": "Report will belong to the current app; datasets match by data source code"
},
"publishMenu": "Publish to menu",
"updateMenu": "Update menu",
"unpublishMenu": "Unpublish menu",
"unpublishSuccess": "Unpublished: {name}",
"unpublishFailed": "Failed to unpublish",
"publishDialog": {
"title": "Publish report to menu",
"success": "Published to menu",
"failed": "Publish failed",
"confirm": "Publish"
},
"print": {
"title": "Print",
"notAllowed": "Printing is not allowed for this report",
"browserPrint": "Print",
"previewTitle": "Print preview",
"imageWarn": "This report contains {count} images. Printing may be slow. Continue?",
"failed": "Failed to open print preview. Please try again."
},
"printForm": {
"printArea": "Print area",
"paperType": "Paper",
"padding": "Margins",
"direction": "Orientation",
"scale": "Scale",
"hAlign": "Horizontal align",
"vAlign": "Vertical align",
"gridlines": "Gridlines",
"workbookTitle": "Workbook title",
"worksheetTitle": "Sheet title",
"printDate": "Date",
"printTime": "Time",
"pageNumber": "Page number",
"yFreeze": "Repeat frozen rows",
"xFreeze": "Repeat frozen columns",
"options": {
"currentSheet": "Current sheet",
"portrait": "Portrait",
"landscape": "Landscape",
"a4": "A4",
"a3": "A3",
"a5": "A5",
"b4": "B4",
"b5": "B5",
"executive": "Executive",
"statement": "Statement",
"letter": "Letter",
"origin": "Original scale",
"fitWidth": "Fit width",
"fitHeight": "Fit height",
"fitPage": "Fit page",
"normal": "Normal",
"narrow": "Narrow margin",
"wide": "Wide margin",
"hAlign": {
"start": "Left",
"middle": "Center",
"end": "Right"
},
"vAlign": {
"start": "Top",
"middle": "Middle",
"end": "Bottom"
}
}
},
"image": {
"empty": "Select a floating image",
"source": "Image source",
"sourceLocal": "Upload",
"sourceUrl": "URL",
"url": "Image URL",
"urlPlaceholder": "Must start with http:// or https://",
"upload": "Upload image",
"selectFile": "Choose file",
"uploadSuccess": "Image uploaded",
"uploadFailed": "Upload failed"
},
"settings": {
"title": "Report settings",
"allowExport": "Allow export",
"allowPrint": "Allow print",
"allowWatermark": "Show watermark",
"allowExportTip": "When enabled, Excel/PDF export is allowed in preview and runtime",
"allowPrintTip": "When enabled, printing is allowed in preview and runtime",
"allowWatermarkTip": "When enabled, watermark is shown in preview and runtime",
"watermarkText": "Watermark text",
"watermarkPlaceholder": "Watermark text",
"watermarkShowTime": "Show time in watermark",
"watermarkTimeFormat": "Time format",
"loadFailed": "Failed to load report settings"
},
"pdfExport": {
"title": "Export PDF",
"success": "PDF exported",
"failed": "PDF export failed"
},
"version": {
"title": "Versions",
"hint": "Switch, copy, or delete historical versions",
"switch": "Switch",
"loadFailed": "Failed to load versions",
"deleteConfirm": "Delete version v{version}?",
"deleteSuccess": "Version deleted",
"deleteFailed": "Failed to delete version",
"cannotDeleteActive": "Cannot delete the active version",
"state": {
"0": "Designing",
"1": "Active",
"2": "Archived"
}
},
"fieldMapping": {
"title": "Field mapping",
"hint": "Map data source fields to dataset aliases",
"add": "Add mapping",
"sourceField": "Source field",
"targetField": "Target field",
"sourcePlaceholder": "Source field name",
"targetPlaceholder": "Mapped field name"
},
"releaseMenu": {
"existingTitle": "Published menu",
"existingHint": "Current menu: {title} ({path}). Republishing will update the menu."
},
"export": {
"title": "Export Excel",
"success": "Exported",
"failed": "Export failed",
"notAllowed": "Export is not allowed for this report"
},
"chart": {
"empty": "Select a floating chart to configure",
"cellEmpty": "Select an in-cell chart to configure",
"cellTitle": "In-cell chart",
"type": "Chart type",
"title": "Chart title",
"datasetHint": "Dataset aliases",
"dataSet": "Dataset",
"classifyField": "Category field",
"maxField": "Radar max field",
"legendShow": "Show legend",
"legendOrient": "Legend layout",
"legendOrientHorizontal": "Horizontal",
"legendOrientVertical": "Vertical",
"legendFontSize": "Legend font size",
"styleType": "Chart style",
"lineArea": "Area fill",
"pieRose": "Rose chart",
"pieShowZero": "Hide zero values",
"layoutSection": "Layout & colors",
"gridTop": "Grid top",
"gridLeft": "Grid left",
"gridRight": "Grid right",
"gridBottom": "Grid bottom",
"legendLeft": "Legend left (%)",
"legendTop": "Legend top (%)",
"colorList": "Series colors",
"addColor": "Add color",
"colorListPlaceholder": "e.g. #5470c6,#91cc75,#fac858",
"seriesCenterLeft": "Pie center X (%)",
"seriesCenterTop": "Pie center Y (%)",
"seriesNameField": "Series name field",
"seriesDataField": "Series value field",
"summaryType": "Aggregation",
"fieldPlaceholder": "e.g. sales.month or month",
"types": {
"bar": "Bar",
"line": "Line",
"pie": "Pie",
"radar": "Radar"
},
"styleTypes": {
"barDefault": "Default bar",
"barStack": "Stacked bar",
"lineDefault": "Default line",
"lineSmooth": "Smooth line",
"lineStack": "Stacked line",
"pieDefault": "Solid pie",
"pieRing": "Donut pie",
"radarPolygon": "Polygon radar",
"radarCircle": "Circle radar"
},
"summary": {
"none": "Raw",
"sum": "Sum",
"avg": "Average",
"max": "Max",
"min": "Min",
"count": "Count"
}
},
"properties": {
"title": "Cell Properties",
"empty": "Select a cell in the spreadsheet",
"position": "Row {row}, Column {col}",
"cellType": "Cell type",
"typeText": "Text",
"textParamHint": "Use #'{'paramName'}' in text cells; replaced on preview",
"typeDataSource": "Data source",
"typeParameter": "Parameter",
"typeQrCode": "QR code",
"typeBarcode": "Barcode",
"typeExpression": "Expression",
"expressionFormula": "Formula",
"expressionPlaceholder": "e.g. =A1+sum(sales.amount) or =sum(A1:B2)",
"expressionHint": "Supports A1/B2 refs, sum(A1:B2), sum(alias.field), #'{'param'}', + - * /",
"dataset": "Dataset alias",
"field": "Field",
"fieldPlaceholder": "e.g. name or user.name",
"displayType": "Display type",
"displayDefault": "Default",
"expand": "Expand",
"expandNone": "None",
"expandDown": "List down",
"expandRight": "List right",
"polymerizationType": "Aggregation",
"polyList": "List",
"polyGroup": "Group",
"polySummary": "Summary",
"summaryType": "Summary type",
"groupType": "Group mode",
"groupDefault": "Default",
"groupAdjacent": "Adjacent",
"mergeCell": "Merge cells",
"fillEmptyRows": "Pad empty rows after list",
"fillEmptyNum": "Empty row count",
"leftParent": "Left parent",
"topParent": "Top parent",
"leftParentCustom": "Left parent (col+row)",
"topParentCustom": "Top parent (col+row)",
"leftParentHint": "When expanding or summarizing, find the nearest data-source cell to the left on the same row to scope the data group. Plain text cells do not need this.",
"topParentHint": "When expanding or summarizing, find the nearest data-source cell above in the same column to scope the data level. Use None for grand totals; use Custom for group subtotals.",
"parentType": {
"none": "None",
"default": "Default",
"custom": "Custom"
},
"paramField": "Parameter field",
"apply": "Apply to cell"
},
"code": {
"content": "Code content",
"contentPlaceholder": "Static text or #'{'paramName'}'",
"paramHint": "Use #'{'field'}' for query params; replaced on preview",
"qrLevel": "Error correction",
"barcodeFormat": "Barcode format"
},
"render": {
"codeRequired": "Report code is required",
"loadFailed": "Failed to load report",
"empty": "No preview data"
},
"univerPlaceholder": {
"title": "Univer Report Designer",
"desc": "Phase 1 skeleton is ready. Full @univerjs spreadsheet engine will be integrated next."
}
}
@@ -0,0 +1,134 @@
{
"name": "Role",
"title": "Role Management",
"roleName": "Role Name",
"roleCode": "Role Code",
"roleType": "Role Type",
"dataScope": "Data Scope",
"priority": "Role Priority",
"priorityHelp": "Higher value means higher priority",
"description": "Role Description",
"descriptionPlaceholder": "Please enter role description",
"remark": "Remark",
"remarkPlaceholder": "Please enter remark",
"status": "Status",
"operation": "Operation",
"edit": "Edit",
"users": "Users",
"addUsersSuccess": "Users added successfully",
"removeUsersConfirm": "Are you sure you want to remove the selected {0} users?",
"removeUsersSuccess": "Users removed successfully",
"removeUsersFailed": "Failed to remove users",
"codeFormatError": "Role code can only contain letters, numbers and underscores",
"types": {
"system": "System Role",
"custom": "Custom Role"
},
"dataScopes": {
"self": "Own Data Only",
"dept": "Department Data",
"deptAndSub": "Department and Sub-departments Data",
"deptAndSubShort": "Dept & Sub",
"all": "All Data",
"custom": "Custom Data",
"unknown": "Unknown"
},
"permissions": {
"title": "Permission Assignment",
"save": "Save",
"selectRoleFirst": "Please select a role first",
"noRoleSelected": "No role selected",
"appList": "App List",
"allApps": "All Apps",
"loadAppsFailed": "Failed to load application list",
"menuList": "Menu List",
"selectAll": "Select All",
"unselectAll": "Unselect All",
"selectMenuPrompt": "Please select a menu from the left to view permissions",
"noPermissionData": "No permission data",
"loading": "Loading...",
"noPermissions": "No permissions",
"permissionCount": "permissions",
"loadMenuFailed": "Failed to load menu list",
"loadPermissionsFailed": "Failed to load permissions",
"saveSuccess": "Menu and permissions assigned successfully",
"saveFailed": "Failed to save menu and permission assignments",
"getRoleDetailFailed": "Failed to get role details",
"types": {
"button": "Button Permission",
"api": "API Permission",
"data": "Data Permission",
"other": "Other Permission"
},
"steps": {
"menuApi": "Menu & API Permissions",
"fieldData": "Field & Data Permissions"
}
},
"resourceScope": {
"title": "Data Permission",
"helpTip": "Only effective after backend implementation, refer to zq-demo",
"addResource": "Add Resource",
"saveConfig": "Save Configuration",
"deleteConfirm": "Are you sure to delete this configuration?",
"selectRole": "Please select a role first",
"noConfig": "No configuration, click [Add Resource] to start",
"resourceType": "Resource Type",
"selectResourceType": "Select Resource Type",
"dataPermission": "Data Permission Scope",
"selectDataPermission": "Select Data Permission",
"customDept": "Custom Department",
"selectDept": "Select Department",
"operation": "Operation",
"delete": "Delete",
"saveSuccess": "Resource data permission configuration saved successfully",
"saveFailed": "Failed to save resource data permission configuration",
"loadFailed": "Failed to load resource data permission configuration",
"loadResourceTypesFailed": "Failed to load resource types",
"loadDeptsFailed": "Failed to load department list",
"allTypesConfigured": "All resource types have been configured",
"noResourceTypes": "No resource types available",
"customDeptRequired": "Custom data permission must select departments"
},
"fieldPermission": {
"title": "Field Permission",
"helpTip": "Only effective after backend implementation, refer to zq-demo",
"config": "Config",
"resourceType": "Resource Type",
"selectResourceType": "Select Resource Type",
"selectRoleFirst": "Please select a role first",
"selectRoleAndResource": "Please select a role and resource type first",
"fieldName": "Field Name",
"displayName": "Display Name",
"sensitive": "Sensitive",
"permissionType": "Permission Type",
"maskRule": "Mask Rule",
"description": "Description",
"noConfig": "No field configuration",
"saveConfig": "Save Configuration",
"saveSuccess": "Field permission configuration saved successfully",
"saveFailed": "Failed to save field permission configuration",
"loadFailed": "Failed to load field permission configuration",
"loadMetadataFailed": "Failed to load resource field metadata",
"maskRuleRequired": "Mask rule is required",
"permissionTypes": {
"read": "Read",
"write": "Write",
"hidden": "Hidden",
"masked": "Masked"
},
"maskRules": {
"phone": "Phone",
"email": "Email",
"id_card": "ID Card",
"name": "Name",
"default": "Default"
},
"permissionDesc": {
"read": "Can view this field",
"write": "Can view and modify this field",
"hidden": "Completely invisible",
"masked": "Partially visible (masked display)"
}
}
}
@@ -0,0 +1,130 @@
{
"scheduler": "Scheduler",
"jobList": "Job List",
"jobDetail": "Job Detail",
"executionLogs": "Execution Logs",
"runStatus": "Run Status",
"running": "Running",
"stopped": "Stopped",
"totalJobs": "Total Jobs",
"enabledJobs": "Enabled Jobs",
"totalExecutions": "Total Executions",
"successRate": "Success Rate",
"executionCount": "Execution Count",
"failureCount": "Failure Count",
"successCount": "Success Count",
"allJobs": "All Jobs",
"runningJobs": "Running Jobs",
"executionRecords": "Execution Records",
"jobSuccessRate": "Job Success Rate",
"totalRunCount": "Total Run Count",
"executionFailed": "Failed",
"executionSuccess": "Success",
"fetchStatusFailed": "Failed to fetch scheduler status",
"fetchDetailFailed": "Failed to fetch job detail",
"cardView": "Card View",
"listView": "List View",
"refresh": "Refresh",
"loading": "Loading...",
"noLogs": "No logs found",
"allLogsLoaded": "All logs loaded",
"retryCount": "Retry Count",
"retryTimes": "Retry {count} times",
"startTime": "Start Time",
"endTime": "End Time",
"duration": "Duration",
"executionDuration": "Duration (s)",
"executionResult": "Result",
"exceptionInfo": "Exception",
"stackTrace": "Stack Trace",
"jobName": "Job Name",
"jobCode": "Job Code",
"jobGroup": "Job Group",
"triggerType": "Trigger Type",
"cronExpression": "Cron Expression",
"intervalTime": "Interval Time",
"jobStatus": "Job Status",
"priority": "Priority",
"maxInstances": "Max Instances",
"maxRetries": "Max Retries",
"timeout": "Timeout",
"timeoutSeconds": "Timeout (s)",
"coalesce": "Coalesce",
"allowConcurrent": "Allow Concurrent",
"remark": "Remark",
"remarkPlaceholder": "Remark information",
"taskMode": "Task Type",
"modeFunction": "Execute Function",
"modeWorkflow": "Execute Workflow",
"taskFunc": "Task Function",
"taskFuncPlaceholder": "Enter task function path (e.g. scheduler.tasks.test_task)",
"taskFuncs": {
"testTask": "Test Task",
"cleanupTask": "Cleanup Logs",
"workflowTask": "Execute Workflow"
},
"workflowCode": "Target Workflow",
"workflowCodePlaceholder": "Select workflow to execute",
"taskArgs": "Task Args",
"taskKwargs": "Task Kwargs",
"cronPlaceholder": "e.g., 0 0 * * * (Every day at midnight)",
"intervalPlaceholder": "Interval time",
"datePlaceholder": "Run date",
"groupPlaceholder": "Job group, default is 'default'",
"argsPlaceholder": "JSON array, e.g., [\"param1\", \"param2\"]",
"kwargsPlaceholder": "JSON object, e.g., {'{'}'key': 'value'{'}'}",
"required": "{field} is required",
"deleteJob": "Delete Job",
"maxLength": "{field} length cannot exceed {max} characters",
"codeInvalid": "Job code can only contain letters, numbers, and underscores",
"createJob": "Create Job",
"editJob": "Edit Job",
"deleteJobConfirm": "Are you sure you want to delete job \"{name}\"?",
"operationSuccess": "Operation successful",
"lastRunTime": "Last Run",
"nextRunTime": "Next Run",
"description": "Description",
"triggerCron": "Cron",
"triggerInterval": "Interval",
"triggerDate": "One-time",
"status": {
"enabled": "Enabled",
"disabled": "Disabled",
"paused": "Paused",
"pending": "Pending",
"running": "Running",
"success": "Success",
"failed": "Failed",
"timeout": "Timeout",
"skipped": "Skipped",
"waiting": "Waiting",
"unknown": "Unknown"
},
"unit": {
"seconds": "s",
"minutes": "mins",
"hours": "hrs",
"days": "days"
},
"paramType": {
"string": "String",
"number": "Number",
"boolean": "Boolean"
},
"paramKey": "Key",
"paramValue": "Value",
"argValue": "Value",
"addParam": "Add Parameter",
"addArg": "Add Argument",
"noParams": "No parameters, click button below to add",
"noArgs": "No arguments, click button below to add",
"executeNow": "Execute Now",
"executeSuccess": "Job {name} has started execution",
"executeFailed": "Failed to execute job",
"executionProgress": "Execution Progress",
"streaming": "Streaming",
"streamComplete": "Completed",
"noStreamLogs": "No execution logs",
"waitingForLogs": "Waiting for logs...",
"viewLiveLogs": "View Live Logs"
}
@@ -0,0 +1,160 @@
{
"systemInfo": "System Info",
"cpuInfo": "CPU Info",
"memoryInfo": "Memory Info",
"diskInfo": "Disk Info",
"networkInfo": "Network Info",
"processInfo": "Process Info",
"loadFailed": "Failed to load server monitor data",
"refreshSuccess": "Refresh successful",
"autoRefreshOn": "Auto-refresh enabled",
"autoRefreshOff": "Auto-refresh disabled",
"autoRefreshing": "Auto-refreshing",
"paused": "Paused",
"featureDeveloping": "Feature under development...",
"serverMonitor": "Server Monitor",
"uptime": "Uptime",
"days": "days",
"hours": "hours",
"minutes": "minutes",
"justStarted": "Just started",
"cpuUsage": "CPU Usage",
"core": "Core",
"memoryUsage": "Memory Usage",
"diskUsage": "Disk Usage",
"totalDiskCapacity": "Total Disk Capacity",
"networkTraffic3Min": "Network Traffic (Last 3 mins)",
"upload": "Upload",
"download": "Download",
"peakUpload": "Peak Upload",
"peakDownload": "Peak Download",
"top10Processes": "Top 10 Processes",
"topProcessesCpu": "Top Processes (by CPU usage)",
"processName": "Process Name",
"status": "Status",
"createTime": "Create Time",
"overallUsage": "Overall Usage",
"physicalCores": "Physical Cores",
"coreCount": "Core Count",
"logicalProcessors": "Logical Processors",
"threadCount": "Thread Count",
"basicInfo": "Basic Information",
"processorModel": "Processor Model",
"architecture": "Architecture",
"physicalCoreCount": "Physical Core Count",
"logicalProcessorCount": "Logical Processor Count",
"currentUsage": "Current Usage",
"frequencyInfo": "Frequency Information",
"currentFrequency": "Current Frequency",
"maxFrequency": "Max Frequency",
"minFrequency": "Min Frequency",
"coreUsage": "Usage per Core",
"cpuTimeStats": "CPU Time Statistics",
"cpuStatsInfo": "CPU Statistics",
"systemLoad": "System Load",
"load1min": "1-min Average Load",
"load5min": "5-min Average Load",
"load15min": "15-min Average Load",
"cpuCoreCount": "CPU Cores",
"totalMemory": "Total Memory",
"physicalMemoryTotal": "Total Physical Memory",
"used": "Used",
"diskIo": "Disk IO",
"read": "Read",
"write": "Write",
"totalRead": "Total Read",
"totalWrite": "Total Write",
"networkIo": "Network IO",
"totalSent": "Total Sent",
"totalReceived": "Total Received",
"hostname": "Hostname",
"ipAddress": "IP Address",
"os": "OS",
"processor": "Processor",
"pythonVersion": "Python Version",
"systemStatus": "System Status",
"startTime": "Start Time",
"processCount": "Process Count",
"onlineUsers": "Online Users",
"unitUser": "",
"updateTime": "Update Time",
"networkUsageTrend": "Network Usage Trend",
"recentDataPoints": "Recent {count} data points",
"waitingForData": "Waiting for data...",
"collectingNetworkData": "Collecting network usage data...",
"availableMemory": "Available Memory",
"immediatelyAvailable": "Immediately Available",
"virtualMemoryRam": "Virtual Memory (RAM)",
"memoryUsageStatus": "Memory Usage Status",
"kernelMemory": "Kernel Memory",
"usedMemory": "Used Memory",
"swapPartition": "Swap Partition",
"swapUsageStatus": "Swap Usage Status",
"swapTotal": "Total Swap",
"swapAvailable": "Available Swap",
"swapUsed": "Used Swap",
"memoryDistribution": "Memory Distribution",
"cache": "Cache",
"buffer": "Buffer",
"activeMemory": "Active Memory",
"inactiveMemory": "Inactive Memory",
"freeMemory": "Free Memory",
"realtimeMemoryDetails": "Real-time Memory Details",
"readSpeed": "Read Speed",
"currentReadRate": "Current Read Rate",
"writeSpeed": "Write Speed",
"currentWriteRate": "Current Write Rate",
"diskPartitionList": "Disk Partition List",
"device": "Device",
"fileSystem": "File System",
"totalCapacity": "Total Capacity",
"available": "Available",
"diskIoStats": "Disk IO Statistics",
"readStats": "Read Statistics",
"totalReadAmount": "Total Read Amount",
"readCount": "Read Count",
"readTime": "Read Time",
"seconds": "seconds",
"writeStats": "Write Statistics",
"totalWriteAmount": "Total Write Amount",
"writeCount": "Write Count",
"writeTime": "Write Time",
"realtimeDiskIo": "Real-time Disk IO",
"uploadSpeed": "Upload Speed",
"currentUploadRate": "Current Upload Rate",
"downloadSpeed": "Download Speed",
"currentDownloadRate": "Current Download Rate",
"accumulatedSentData": "Accumulated Sent Data",
"accumulatedReceivedData": "Accumulated Received Data",
"networkInterfaceList": "Network Interface List",
"online": "Online",
"offline": "Offline",
"interfaceName": "Interface Name",
"speed": "Speed",
"mtu": "MTU",
"mountPoint": "Mount Point",
"usageRate": "Usage Rate",
"availableSpace": "Available Space",
"remainingSpace": "Remaining Space",
"currentSpeed": "Current Speed",
"sentBytes": "Sent Bytes",
"receivedBytes": "Received Bytes",
"networkTrafficStats": "Network Traffic Statistics",
"sentStats": "Sent Statistics",
"totalSentAmount": "Total Sent Amount",
"receivedStats": "Received Statistics",
"totalReceivedAmount": "Total Received Amount",
"realtimeNetworkIo": "Real-time Network IO",
"totalProcesses": "Total Processes",
"totalSystemProcesses": "Total System Processes",
"running": "Running",
"runningProcesses": "Running Processes",
"sleeping": "Sleeping",
"sleepingProcesses": "Sleeping Processes",
"otherStatus": "Other Status",
"stoppedZombieStatus": "Stopped/Zombie etc.",
"processDistribution": "Process Distribution",
"total": "Total",
"resourceUsageRanking": "Resource Usage Ranking",
"noProcessData": "No process data"
}
@@ -0,0 +1,75 @@
{
"title": "System Config",
"ssoConfig": "SSO Config",
"notifyConfig": "Notification Config",
"modelConfig": "Model Config",
"syncConfig": "Sync Config",
"save": "Save",
"reset": "Reset to Default",
"resetConfirm": "Are you sure to reset this group to default? This will delete custom configs from database and restore to environment variable defaults.",
"saveSuccess": "Saved successfully",
"saveError": "Save failed",
"resetSuccess": "Restored to default config",
"resetError": "Reset failed",
"warmupSuccess": "Cache warmup completed",
"clearCacheSuccess": "Cache cleared",
"secretTip": "Sensitive field, displayed as masked value. Leave empty or keep masked value to preserve original.",
"groups": {
"oauth_gitee": "Gitee",
"oauth_github": "GitHub",
"oauth_qq": "QQ",
"oauth_google": "Google",
"oauth_wechat": "WeChat",
"oauth_microsoft": "Microsoft",
"oauth_dingtalk": "DingTalk",
"oauth_feishu": "Feishu",
"oauth_wecom": "WeCom",
"notify_email": "Email",
"notify_dingtalk": "DingTalk",
"notify_feishu": "Feishu",
"notify_wecom": "WeCom",
"notify_sms": "SMS",
"notify_wechat_mp": "WeChat MP",
"sync_dingtalk": "DingTalk",
"sync_wecom": "WeCom",
"sync_feishu": "Feishu"
},
"fields": {
"client_id": "Client ID",
"client_secret": "Client Secret",
"redirect_uri": "Web Redirect URI",
"h5_redirect_uri": "H5 Redirect URI",
"app_id": "App ID",
"app_key": "App Key",
"app_secret": "App Secret",
"corp_id": "Corp ID",
"agent_id": "Agent ID",
"smtp_host": "SMTP Host",
"smtp_port": "SMTP Port",
"smtp_user": "SMTP User",
"smtp_password": "SMTP Password",
"smtp_use_tls": "Use TLS",
"smtp_from_name": "From Name",
"smtp_from_email": "From Email",
"webhook_url": "Webhook URL",
"webhook_secret": "Webhook Secret",
"template_id": "Template ID",
"url": "Redirect URL",
"mini_appid": "Mini Program AppID",
"mini_page": "Mini Program Page",
"provider": "Provider",
"providerAliyun": "Alibaba Cloud",
"providerTencent": "Tencent Cloud",
"aliyun_access_key_id": "Aliyun AccessKey ID",
"aliyun_access_key_secret": "Aliyun AccessKey Secret",
"aliyun_sign_name": "Aliyun SMS Sign Name",
"aliyun_template_code": "Aliyun SMS Template Code",
"tencent_secret_id": "Tencent SecretId",
"tencent_secret_key": "Tencent SecretKey",
"tencent_sdk_app_id": "Tencent SDKAppID",
"tencent_sign_name": "Tencent SMS Sign Name",
"tencent_template_id": "Tencent SMS Template ID",
"todo_pc_url": "Todo PC Redirect URL",
"todo_app_url": "Todo Mobile Redirect URL"
}
}
@@ -0,0 +1,10 @@
{
"title": "System Management",
"tool": "System Tool",
"user": {
"selectPost": "Select Post",
"selectDept": "Select Department",
"selectRole": "Select Role",
"allDept": "All Departments"
}
}
@@ -0,0 +1,172 @@
{
"title": "UI Config Management",
"name": "UI Config",
"styleConfig": "Style Config",
"configKey": "Config Key",
"configKeyPlaceholder": "Please enter config key",
"configValue": "Config Value",
"configValuePlaceholder": "Please enter config value (JSON format)",
"configType": "Config Type",
"configTypePlaceholder": "Please select config type",
"description": "Description",
"descriptionPlaceholder": "Please enter description",
"status": "Status",
"sort": "Sort",
"operation": "Operation",
"edit": "Edit",
"keyFormatError": "Config key can only contain letters, numbers, underscores and hyphens",
"appConfig": "App Config",
"themeConfig": "Theme Config",
"logoConfig": "Logo Config",
"copyrightConfig": "Copyright Config",
"otherConfig": "Other Config",
"configList": "Config List",
"configTypes": {
"preferences": "Preferences",
"theme": "Theme",
"logo": "Logo",
"copyright": "Copyright",
"other": "Other"
},
"jsonFormatError": "JSON format error",
"save": "Save",
"saveSuccess": "Save success",
"saveError": "Save failed",
"loadSuccess": "Load success",
"loadError": "Load failed",
"previewConfig": "Preview Config",
"applyConfig": "Apply Config",
"app": {
"title": "App Config",
"name": "App Name",
"namePlaceholder": "Please enter app name",
"defaultHomePath": "Default Home Path",
"defaultHomePathPlaceholder": "Please enter default home path",
"locale": "Default Language",
"dynamicTitle": "Dynamic Title",
"dynamicTitleTip": "When enabled, page title will change dynamically based on current route",
"watermark": "Watermark",
"watermarkTip": "When enabled, watermark will be displayed on the page",
"watermarkContent": "Watermark Content",
"watermarkContentPlaceholder": "Please enter watermark content",
"enablePreferences": "Enable Preferences",
"enablePreferencesTip": "When enabled, users can modify preferences in the interface",
"layout": "Layout Mode",
"layoutOptions": {
"sidebar-nav": "Sidebar Navigation",
"header-nav": "Header Navigation",
"mixed-nav": "Mixed Navigation",
"header-sidebar-nav": "Header + Sidebar Navigation"
}
},
"theme": {
"mode": "Theme Mode",
"modeOptions": {
"light": "Light",
"dark": "Dark",
"auto": "Follow System"
},
"colorPrimary": "Primary Color",
"radius": "Border Radius",
"builtinType": "Built-in Theme",
"semiDarkSidebar": "Semi Dark Sidebar",
"semiDarkHeader": "Semi Dark Header"
},
"logo": {
"enable": "Enable Logo",
"source": "Logo Image",
"sourcePlaceholder": "Please enter logo image URL or upload",
"fit": "Fit Mode",
"fitOptions": {
"contain": "Contain",
"cover": "Cover",
"fill": "Fill",
"none": "None",
"scale-down": "Scale Down"
}
},
"copyright": {
"enable": "Enable Copyright",
"companyName": "Company Name",
"companyNamePlaceholder": "Please enter company name",
"companySiteLink": "Company Website",
"companySiteLinkPlaceholder": "Please enter company website link",
"date": "Copyright Year",
"datePlaceholder": "Please enter copyright year",
"icp": "ICP License",
"icpPlaceholder": "Please enter ICP license number",
"icpLink": "ICP Link",
"icpLinkPlaceholder": "Please enter ICP link",
"policeIcp": "Police ICP Number",
"policeIcpPlaceholder": "Please enter police ICP number",
"policeIcpLink": "Police ICP Link",
"policeIcpLinkPlaceholder": "Please enter police ICP link",
"loginOnly": "Login Page Only",
"loginOnlyTip": "When enabled, copyright info will only be displayed on the login page"
},
"loginConfig": {
"title": "Login Config",
"enableThirdPartyLogin": "Enable Third-party Login",
"enableThirdPartyLoginTip": "When enabled, the login page will display third-party login options",
"enabledProviders": "Enabled Login Methods",
"enabledProvidersTip": "Select which third-party login methods to display on the login page",
"providers": {
"gitee": "Gitee",
"github": "GitHub",
"google": "Google",
"microsoft": "Microsoft",
"qq": "QQ",
"wechat": "WeChat",
"wecom": "WeCom",
"dingtalk": "DingTalk",
"feishu": "Feishu"
}
},
"modelConfig": "Model Config",
"model": {
"title": "Model Config",
"providerManagement": "Provider Management",
"modelManagement": "Model Management",
"addProvider": "Add Provider",
"editProvider": "Edit Provider",
"addModel": "Add Model",
"editModel": "Edit Model",
"addDefaultModels": "Add Default Models",
"providerName": "Name",
"providerType": "Type",
"providerDescription": "Description",
"apiKey": "API Key",
"apiBase": "API Base URL",
"ollamaHost": "Ollama Host",
"modelName": "Model Name",
"displayName": "Display Name",
"modelType": "Model Type",
"maxTokens": "Max Tokens",
"supportsVision": "Supports Vision",
"supportsFunction": "Supports Function",
"enabled": "Enabled",
"status": "Status",
"operation": "Operation",
"test": "Test",
"selectProvider": "Select Provider",
"chatModel": "Chat Model",
"embeddingModel": "Embedding Model",
"completionModel": "Completion Model",
"rerankModel": "Rerank Model",
"chat": "Chat",
"embedding": "Embedding",
"rerank": "Rerank",
"addSelected": "Add Selected",
"noDefaultModels": "No default models",
"addedModels": "Added Models",
"availableModels": "Available Models",
"addAll": "Add All",
"added": "Added",
"refreshModels": "Refresh",
"sourceApi": "Live",
"sourceDefault": "Default",
"fetchFromApiSuccess": "Fetched latest models from provider API",
"fetchFromApiFallback": "Online fetch failed, using default model list",
"searchModel": "Search models"
}
}
@@ -0,0 +1,15 @@
{
"layout": {
"poweredBy": "Powered by ZQ-Platform"
},
"actionMessage": {
"createSuccess": "Created successfully",
"createError": "Failed to create",
"updateSuccess": "Updated successfully",
"updateError": "Failed to update",
"deleteSuccess": "Deleted successfully",
"deleteConfirm": "Are you sure to delete {0}?",
"deleteError": "Failed to delete",
"loadError": "Failed to load"
}
}
@@ -0,0 +1,13 @@
{
"profile": {
"overview": "Overview",
"organization": "Organization",
"email": "Email",
"mobile": "Mobile",
"department": "Department",
"position": "Position",
"manager": "Manager",
"city": "City",
"type": "Type"
}
}
@@ -0,0 +1,69 @@
{
"name": "User",
"title": "User Management",
"userName": "User Name",
"account": "Account",
"avatar": "Avatar",
"avatarHelp": "Support jpg, png format, size no more than 2MB",
"selectAvatar": "Select Avatar",
"email": "Email",
"emailFormatError": "Please enter a valid email address",
"mobile": "Mobile",
"mobileFormatError": "Please enter a valid mobile number",
"gender": "Gender",
"unknown": "Unknown",
"male": "Male",
"female": "Female",
"birthday": "Birthday",
"selectBirthday": "Select Birthday",
"city": "City",
"address": "Address",
"bio": "Bio",
"bioPlaceholder": "Please enter bio",
"dept": "Department",
"selectDept": "Please select department",
"manager": "Manager",
"selectManager": "Please select manager",
"post": "Post",
"selectPost": "Please select post",
"role": "Role",
"selectRole": "Please select role",
"selectUser": "Select User",
"userList": "User List",
"userType": "User Type",
"systemUser": "System User",
"normalUser": "Normal User",
"externalUser": "External User",
"status": "Status",
"locked": "Locked",
"createTime": "Create Time",
"operation": "Operation",
"resetPassword": "Reset Password",
"cannotDeleteAdmin": "Cannot delete administrator account",
"selectUsersToDelete": "Please select users to delete",
"batchDeleteTitle": "Batch Delete Users",
"batchDeleteConfirm": "Are you sure to delete {0} users?\n{1}",
"batchDelete": "Batch Delete",
"deleteSuccess": "Successfully deleted {0} users",
"deleteError": "Failed to delete user",
"cannotResetAdminPassword": "Cannot reset administrator password",
"resetPasswordTitle": "Reset Password",
"resetPasswordConfirm": "Are you sure to reset password for user \"{0}\"?\nThe password will be reset to: admin123",
"resetPasswordSuccess": "Password reset successfully for user \"{0}\"",
"resetPasswordError": "Failed to reset password",
"accountSettings": "Account Settings",
"basicInfo": "Basic Information",
"changePassword": "Change Password",
"oldPassword": "Current Password",
"newPassword": "New Password",
"confirmPassword": "Confirm Password",
"oldPasswordPlaceholder": "Please enter current password",
"newPasswordPlaceholder": "Please enter new password",
"confirmPasswordPlaceholder": "Please enter new password again",
"passwordNotMatch": "Passwords do not match",
"changePasswordSuccess": "Password changed successfully",
"changePasswordError": "Failed to change password",
"updateProfileSuccess": "Profile updated successfully",
"updateProfileError": "Failed to update profile",
"loadProfileError": "Failed to load profile"
}
@@ -0,0 +1,67 @@
{
"title": "WeCom Sync Configuration",
"corpId": "Corp ID",
"corpIdPlaceholder": "Enter Corp ID",
"corpSecret": "Contacts Secret",
"corpSecretPlaceholder": "Enter Contacts Management Secret",
"testConnection": "Test Connection",
"testSuccess": "Connection Successful",
"testFail": "Connection Failed",
"testing": "Testing...",
"syncScope": "Sync Scope",
"syncScopePlaceholder": "Please select",
"syncScopeTip": "Select an organization as the top-level for data synchronization. Once synced, this organization cannot be changed.",
"syncScopeLocked": "Initial sync completed. Sync scope is now locked. Contact admin to change.",
"syncStats": "Sync Statistics",
"syncType": "Sync Type",
"totalCount": "Total",
"successCount": "Synced",
"failCount": "Failed",
"notSynced": "Not Synced",
"syncTime": "Sync Time",
"operation": "Operation",
"sync": "Sync",
"syncing": "Syncing...",
"syncDept": "Organization",
"syncUser": "User",
"syncDeptSuccess": "Organization sync completed",
"syncUserSuccess": "User sync completed",
"syncFail": "Sync failed",
"triggerEvents": "Trigger Events",
"triggerEvent": "Trigger Event",
"description": "Description",
"enableSyncDept": "Enable Sync Organization",
"enableSyncDeptDesc": "Trigger organization sync on add, delete, or modify organization info",
"enableSyncUser": "Enable Sync User",
"enableSyncUserDesc": "Trigger user sync on add, delete, or modify user info",
"save": "Save",
"saving": "Saving...",
"saveSuccess": "Saved successfully",
"saveFail": "Save failed",
"corpName": "Corp Name",
"loadingDeptTree": "Loading department tree...",
"callbackConfig": "Event Callback Configuration",
"callbackConfigTip": "After configuring the callback URL in WeCom admin console, contacts changes will be pushed to this system in real-time for incremental sync.",
"callbackUrl": "Callback URL",
"callbackUrlPlaceholder": "Enter callback URL, e.g. https://example.com/api/core/wecom-sync/callback",
"callbackToken": "Callback Token",
"callbackTokenPlaceholder": "Enter callback token",
"callbackAesKey": "EncodingAESKey",
"callbackAesKeyPlaceholder": "Enter EncodingAESKey (43 characters)",
"callbackStatus": "Callback Status",
"callbackRegistered": "Configured",
"callbackNotRegistered": "Not Configured",
"subscribedEvents": "Subscribed Events",
"generateRandom": "Generate",
"guideTitle": "WeCom Sync Setup Guide",
"guideStep1Title": "Get WeCom Contacts Secret",
"guideStep1Desc": "Log in to WeCom admin console (work.weixin.qq.com), go to \"Management Tools\" -> \"Contacts Sync\", enable API sync, and get the Contacts Secret. Also get the Corp ID from the \"My Enterprise\" page.",
"guideStep2Title": "Enter Credentials",
"guideStep2Desc": "Fill in the Corp ID and Contacts Secret into the corresponding fields on this page, then click \"Test Connection\" to verify.",
"guideStep3Title": "Set Sync Scope & Run Full Sync",
"guideStep3Desc": "After a successful connection, select the root department in \"Sync Scope\", then click \"Sync\" in the statistics table — sync organizations first, then users.",
"guideStep4Title": "Configure Event Callback (Real-time Sync)",
"guideStep4Desc": "In WeCom admin console under \"Management Tools\" -> \"Contacts Sync\", set up the event receiver server. Enter the Token and EncodingAESKey generated on this page into WeCom admin. The callback URL format is: https://your-domain/api/core/wecom-sync/callback. Enter the same values on this page and save.",
"guideStep5Title": "Enable Trigger Events",
"guideStep5Desc": "In the \"Trigger Events\" section, check the event types to auto-sync (organizations, users) and save. WeCom contacts changes will then be pushed to the system for incremental sync automatically."
}
@@ -0,0 +1,124 @@
{
"tool": {
"select": "Select",
"hand": "Pan",
"pen": "Pen",
"highlighter": "Highlighter",
"eraser": "Eraser",
"shape": "Shape",
"line": "Line",
"arrow": "Arrow",
"connector": "Connector",
"text": "Text",
"stickyNote": "Sticky Note",
"image": "Image",
"frame": "Frame",
"laser": "Laser"
},
"shape": {
"rect": "Rectangle",
"roundedRect": "Rounded Rect",
"circle": "Circle",
"ellipse": "Ellipse",
"diamond": "Diamond",
"triangle": "Triangle",
"star": "Star",
"hexagon": "Hexagon",
"pentagon": "Pentagon",
"octagon": "Octagon",
"parallelogram": "Parallelogram",
"cylinder": "Ellipse",
"arrowRight": "Arrow Right",
"arrowUp": "Arrow Up",
"heart": "Heart",
"cloud": "Cloud",
"chatBubble": "Chat Bubble"
},
"action": {
"undo": "Undo",
"redo": "Redo",
"zoomIn": "Zoom In",
"zoomOut": "Zoom Out",
"zoomToFit": "Zoom to Fit",
"resetZoom": "Reset Zoom",
"background": "Background",
"exportPng": "Export PNG",
"exportSvg": "Export SVG",
"exportJson": "Export JSON",
"save": "Save",
"menu": "Menu"
},
"background": {
"none": "None",
"dots": "Dots",
"grid": "Grid",
"lines": "Lines"
},
"property": {
"title": "Properties",
"fill": "Fill",
"stroke": "Stroke",
"opacity": "Opacity",
"fontSize": "Font Size",
"multiHint": "With multiple items selected, only opacity can be adjusted here. Edit fill and stroke on a single selection."
},
"menu": {
"copy": "Copy",
"cut": "Cut",
"paste": "Paste",
"duplicate": "Duplicate",
"delete": "Delete",
"selectAll": "Select All",
"bringToFront": "Bring to Front",
"sendToBack": "Send to Back",
"bringForward": "Bring Forward",
"sendBackward": "Send Backward",
"layer": "Layer",
"copyStyle": "Copy Style",
"pasteStyle": "Paste Style",
"lock": "Lock",
"unlock": "Unlock",
"group": "Group",
"ungroup": "Ungroup",
"copyAsImage": "Copy as Image",
"copiedToClipboard": "Copied to clipboard",
"copyFailed": "Copy failed, please check browser permissions",
"flipH": "Flip Horizontal",
"flipV": "Flip Vertical",
"rotate": "Rotate",
"rotateCW": "Rotate 90° CW",
"rotateCCW": "Rotate 90° CCW",
"rotate180": "Rotate 180°",
"align": "Align",
"alignLeft": "Align Left",
"alignCenter": "Align Center",
"alignRight": "Align Right",
"alignTop": "Align Top",
"alignMiddle": "Align Middle",
"alignBottom": "Align Bottom",
"distributeH": "Distribute Horizontally",
"distributeV": "Distribute Vertically"
},
"toolbar": {
"changeShape": "Change Shape",
"borderStyle": "Border Style",
"textStyle": "Text Style",
"textColor": "Text Color",
"bgColor": "Background Color"
},
"connector": {
"startStyle": "Start Style",
"endStyle": "End Style",
"swapDirection": "Swap Direction",
"lineStyle": "Line Style",
"endNone": "None",
"endArrow": "Arrow",
"orthogonal": "Orthogonal",
"straight": "Straight",
"straightLine": "Straight Line",
"straightArrow": "Arrow",
"elbowConnector": "Elbow Connector"
},
"penWidth": "Pen Width",
"penColor": "Pen Color"
}
@@ -0,0 +1,56 @@
{
"title": "Wiki",
"description": "Team knowledge management and document collaboration",
"createSpace": "New Wiki Space",
"spaceName": "Space Name",
"spaceNamePlaceholder": "Enter space name",
"spaceDescription": "Description",
"spaceDescriptionPlaceholder": "Briefly describe the purpose of this space",
"category": "Category",
"categoryDefault": "Default",
"categoryTech": "Technology",
"categoryProduct": "Product",
"categoryDesign": "Design",
"categoryBusiness": "Business",
"categoryOther": "Other",
"visibility": "Visibility",
"private": "Private",
"team": "Team",
"public": "Public",
"emptySpaces": "No wiki spaces yet",
"emptySpacesHint": "Create a wiki space to organize team knowledge",
"emptyDocuments": "No documents yet",
"emptyDocumentsHint": "Click the button above to create your first document",
"addDocument": "New Document",
"addSubPage": "New Sub Page",
"spaceSettings": "Space Settings",
"deleteSpace": "Delete Space",
"deleteSpaceConfirm": "Are you sure you want to delete wiki space \"{name}\"? All documents will be moved to trash.",
"deleteDocument": "Delete Document",
"deleteDocumentConfirm": "Are you sure you want to delete document \"{name}\"?",
"documentCount": "{count} documents",
"createdBy": "Created by",
"updatedAt": "Updated at",
"untitled": "Untitled Document",
"backToList": "Back to Wiki Spaces",
"rename": "Rename",
"searchPlaceholder": "Search wiki spaces...",
"searchDocPlaceholder": "Search documents...",
"saving": "Saving...",
"autoSaved": "Auto saved",
"allSpaces": "All Spaces",
"mySpaces": "My Spaces",
"icon": "Icon",
"cover": "Cover",
"avatar": "Avatar",
"avatarHint": "Choose an avatar for the wiki space",
"noResults": "No results found",
"myDocuments": "My Documents",
"wikiSpaces": "Wiki Spaces",
"emptyMyDocs": "No personal documents yet",
"emptyMyDocsHint": "Create personal documents that don't belong to any wiki space",
"newBlankDoc": "Blank Document",
"newFromTemplate": "From Template",
"editSpace": "Edit Wiki Space",
"editSpaceSuccess": "Wiki space updated"
}
@@ -0,0 +1,738 @@
{
"designer": {
"title": "Workflow Designer",
"flowName": "Workflow Name",
"flowNamePlaceholder": "Enter workflow name",
"save": "Save",
"preview": "Preview",
"publish": "Publish",
"undo": "Undo",
"redo": "Redo",
"saveFirst": "Please save the workflow first",
"isDirty": "You have unsaved changes",
"saveSuccess": "Saved successfully",
"publishSuccess": "Published successfully",
"previewInfo": "Preview feature is under development",
"deleteNodeConfirm": "Are you sure you want to delete this node?",
"deleteBranchConfirm": "Are you sure you want to delete this condition branch?",
"tips": "Tips",
"readonlyTip": "Read-only mode, cannot be edited",
"embeddedTip": "Embedded mode",
"minimap": "Minimap"
},
"preview": {
"title": "Workflow Preview",
"unnamedFlow": "Unnamed Workflow",
"relatedForm": "Related Form",
"nodeDetail": "Node Details",
"statistics": {
"approval": " approval(s)",
"copy": " CC(s)",
"branch": " branch(es)"
},
"assigneeTypes": {
"user": "Specified Members",
"role": "Specified Roles",
"department": "Specified Departments",
"formField": "From Form",
"initiator": "Initiator",
"manager": "Direct Manager",
"superior": "Superior"
},
"multiApproval": {
"sequential": "Sequential",
"parallel": "Countersign (All approve)",
"any": "Any (One approves)"
},
"multiHandle": {
"sequential": "Sequential",
"all": "All",
"any": "Any"
},
"sections": {
"approvalSettings": "Approver Settings",
"handleSettings": "Handler Settings",
"copySettings": "CC Settings",
"delaySettings": "Delay Settings",
"notifySettings": "Notification Settings",
"serviceSettings": "Service Settings",
"subflowSettings": "Subflow Settings",
"dataUpdateSettings": "Field Update Settings",
"formPermissions": "Form Field Permissions",
"conditionBranches": "Condition Branches",
"parallelBranches": "Parallel Branches"
},
"labels": {
"approverType": "Approver Type",
"approvers": "Approvers",
"handlerType": "Handler Type",
"handlers": "Handlers",
"copyType": "CC Type",
"copyRecipients": "CC Recipients",
"specifiedRole": "Specified Roles",
"specifiedDept": "Specified Departments",
"superiorLevel": "Superior Level",
"level": "Level ",
"levelSuffix": "",
"superior": " Superior",
"manager": " Manager",
"multiApproval": "Multi-Approval",
"multiHandle": "Multi-Handle Mode",
"timeoutSettings": "Timeout Settings",
"hoursLater": " hours later",
"autoApprove": "Auto Approve",
"autoReject": "Auto Reject",
"waitDuration": "Wait Duration",
"notifyRecipient": "Recipients",
"notifyChannel": "Channels",
"notifyTitle": "Title",
"notSet": "Not Set",
"serviceName": "Service Name",
"requestMethod": "Method",
"requestUrl": "URL",
"timeoutDuration": "Timeout",
"seconds": " seconds",
"subflow": "Subflow",
"executionMode": "Execution Mode",
"syncExecution": "Synchronous",
"asyncExecution": "Asynchronous",
"variablePass": "Variable Passing",
"passAllVariables": "Pass all variables",
"passSelectedVariables": "Pass selected",
"noVariablePass": "No pass",
"branchCount": "Branch Count",
"nodeType": "Node Type",
"description": "Description"
},
"permissions": {
"editable": "Editable",
"readonly": "Read-only",
"hidden": "Hidden"
},
"descriptions": {
"delay": "The workflow will pause at this node and continue automatically after the specified time",
"notify": "Notifications will be sent automatically when the workflow reaches this node",
"service": "The configured service will be called automatically when the workflow reaches this node",
"subflow": "The subflow will be invoked when the workflow reaches this node",
"data_update": "Form field values will be updated automatically when the workflow reaches this node"
},
"conditionConfigured": "{count} condition group(s) configured",
"conditionNotConfigured": "Condition not configured",
"branchCountValue": "{count} branch(es)",
"parallelExecutionDesc": "All branches execute simultaneously and continue after all are completed",
"branch": "Branch ",
"startNodeDesc": "Everyone can initiate the workflow",
"endNodeDesc": "Workflow ends"
},
"nodes": {
"start": {
"name": "Initiator",
"title": "Initiator",
"desc": "Workflow initiator",
"placeholder": "Everyone"
},
"approval": {
"name": "Approver",
"title": "Approver",
"desc": "Add approver node",
"placeholder": "Please set approver",
"multiApproval": {
"sequential": "Sequential",
"parallel": "Countersign",
"any": "Any"
},
"summary": {
"department": " dept(s)",
"formField": "From Form",
"initiator": "Initiator",
"manager": " level manager",
"role": " role(s)",
"superior": " level superior",
"user": " member(s)",
"prefix": "Level "
}
},
"handle": {
"name": "Handler",
"title": "Handler",
"desc": "Add handler node",
"placeholder": "Please set handler",
"multiHandle": {
"sequential": "Sequential",
"all": "All",
"any": "Any"
},
"summary": {
"department": " dept(s)",
"formField": "From Form",
"initiator": "Initiator",
"manager": " level manager",
"role": " role(s)",
"superior": " level superior",
"user": " member(s)",
"prefix": "Level "
}
},
"copy": {
"name": "CC",
"title": "CC",
"desc": "Add CC node",
"placeholder": "Please set CC recipients",
"summary": {
"department": " dept(s)",
"formField": "From Form",
"initiator": "Initiator",
"role": " role(s)",
"user": " member(s)"
}
},
"delay": {
"name": "Delay",
"title": "Delay",
"desc": "Wait for specified time",
"placeholder": "Please set delay duration",
"summary": {
"minute": " minute(s)",
"hour": " hour(s)",
"day": " day(s)",
"workday": " workday(s)",
"wait": "Wait "
}
},
"notify": {
"name": "Notify",
"title": "Notify",
"desc": "Send notification",
"placeholder": "Please set notification recipients",
"summary": {
"department": " dept(s)",
"formField": "From Form",
"initiator": "Initiator",
"role": " role(s)",
"user": " member(s)",
"channels": "Channels"
}
},
"service": {
"name": "Service",
"title": "Service",
"desc": "Call external service or API",
"placeholder": "Please configure service call",
"summary": {
"url": "URL",
"notConfigured": "Not configured"
}
},
"subflow": {
"name": "Subflow",
"title": "Subflow",
"desc": "Call another workflow",
"placeholder": "Please select subflow",
"summary": {
"notSelected": "Not selected",
"sync": "Sync",
"async": "Async"
}
},
"data_update": {
"name": "Field Update",
"title": "Field Update",
"desc": "Auto update form field values",
"placeholder": "Please add update rules",
"summary": {
"ruleCount": "{count} update rule(s) configured",
"crossForm": "Cross-form update"
}
},
"condition": {
"name": "Condition",
"title": "Condition",
"desc": "Add condition branch",
"priority": "Priority ",
"conditionBranch": "Condition {num}",
"defaultBranch": "Default",
"defaultBranchDesc": "Other conditions enter this branch",
"pleaseSetCondition": "Please set condition",
"addCondition": "Add Condition"
},
"parallel": {
"name": "Parallel",
"title": "Parallel",
"desc": "Add parallel branches",
"branchFallback": "Branch {num}"
},
"end": {
"name": "End",
"title": "End",
"desc": "Workflow end"
}
},
"property": {
"title": {
"condition": "Condition Settings",
"start": "Initiator Settings",
"approval": "Approver Settings",
"handle": "Handler Settings",
"copy": "CC Settings",
"delay": "Delay Settings",
"notify": "Notification Settings",
"service": "Service Settings",
"subflow": "Subflow Settings",
"dataUpdate": "Field Update Settings",
"conditionBranch": "Branch Settings",
"parallelBranch": "Parallel Branch Settings",
"end": "End Settings",
"node": "Node Settings"
},
"base": {
"nodeName": "Node Name",
"nodeNamePlaceholder": "Please enter node name",
"nodeNameHint": "Custom names appear in the designer, flowchart, approval path, and records. Leave empty to use the default type label."
},
"assignee": {
"type": "Approver Type",
"handleType": "Handler Type",
"copyType": "CC Type",
"selectUser": "Select Members",
"selectRole": "Select Roles",
"selectDept": "Select Departments",
"userPlaceholder": "Please select approvers",
"rolePlaceholder": "Please select roles",
"deptPlaceholder": "Please select departments",
"superiorLevel": "Superior Level",
"superiorHint": "1 = Direct supervisor, 2 = Supervisor's supervisor, etc.",
"superiorLevelHint": "Superior level (1 for direct supervisor)",
"managerHint": "1 = Direct manager, 2 = Manager's manager, etc.",
"initiatorHint": "The approver is the workflow initiator",
"copyInitiatorHint": "CC to the workflow initiator",
"handleInitiatorHint": "The handler is the workflow initiator",
"selectField": "Select Field",
"fieldPlaceholder": "Please select a user-type form field",
"noUserField": "No user-type fields found in the current form",
"fieldSingle": "Single",
"fieldMultiple": "Multiple",
"fieldTypeUser": "User",
"fieldTypeForm": "Form",
"noSourceField": "No user selector or form selector fields found in the current form",
"formFieldHint": "At runtime, user IDs will be collected from the selected fields, supports multiple fields, merged and deduplicated",
"userFieldMapping": "User Field Mapping",
"userFieldPlaceholder": "Select a user field from the referenced form",
"userFieldHint": "Form selector stores linked record IDs. Specify which user field from the linked record to use as assignee",
"types": {
"user": "Members",
"role": "Roles",
"department": "Departments",
"superior": "Supervisor",
"manager": "Manager",
"initiator": "Initiator",
"form_field": "From Form Field"
}
},
"multiApproval": {
"label": "Multi-person Approval",
"any": "Or-sign (Any one approves)",
"parallel": "And-sign (Everyone approves)",
"sequential": "Sequential"
},
"multiHandle": {
"label": "Multi-person Handling",
"any": "Any (Any one completes)",
"all": "All (Everyone completes)",
"sequential": "Sequential"
},
"timeout": {
"label": "Timeout Settings",
"enable": "Enable Timeout Handling",
"time": "Timeout Duration",
"action": "Timeout Action",
"notifyType": "Notification Type",
"unit": {
"minute": "Minutes",
"hour": "Hours",
"day": "Days",
"workday": "Workdays"
},
"actions": {
"notify": "Notify only",
"auto_approve": "Auto Approve",
"auto_reject": "Auto Reject"
}
},
"notify": {
"label": "Notification Settings",
"approver": "Notify Approver",
"initiator": "Notify Initiator",
"recipient": "Recipient",
"recipientType": "Recipient Type",
"whenTaskCreated": "When task is created",
"onApprove": "When approved",
"onReject": "When rejected",
"onHandleComplete": "When completed",
"channels": "Channels",
"channelPlaceholder": "Select channels",
"title": "Title",
"titlePlaceholder": "Please enter title",
"content": "Content",
"contentPlaceholder": "Please enter content, use {'${field}'} to reference form fields",
"variableDesc": "Variable Guide",
"initiatorVar": "{'${Initiator}'} - Initiator Name",
"flowNameVar": "{'${Workflow}'} - Workflow Name",
"fieldVar": "{'${Field}'} - Field Value",
"channelTypes": {
"site": "In-site",
"chat": "Chat",
"email": "Email",
"sms": "SMS",
"wechat": "WeChat",
"dingtalk": "DingTalk",
"feishu": "Feishu",
"dingtalkTodo": "DingTalk Todo"
}
},
"signature": {
"label": "Signature Settings",
"required": "Require Signature",
"hint": "When enabled, approvers must sign when approving"
},
"action": {
"label": "Actions",
"hint": "Set available actions for approvers at this node",
"descriptions": {
"approve": "Approve, workflow continues",
"reject": "Reject, terminate workflow",
"return": "Return to previous node or initiator",
"delegate": "Delegate to others, return to self after completion",
"transfer": "Transfer to others, self no longer involved",
"add_sign": "Add approvers",
"reduce_sign": "Remove approvers (And-sign mode only)"
},
"tips": {
"title": "Action Guide",
"approveReject": "Approve/Reject: Basic actions, at least one is recommended",
"return": "Return: Can return to previous node or initiator",
"delegate": "Delegate: Temporary delegation, returns to delegatee",
"transfer": "Transfer: Permanent transfer, self no longer handles",
"addSign": "Add Sign: Add approvers at the current node",
"reduceSign": "Reduce Sign: Only available in And-sign mode"
},
"types": {
"approve": "Approve",
"reject": "Reject",
"return": "Return",
"delegate": "Delegate",
"transfer": "Transfer",
"add_sign": "Add Sign",
"reduce_sign": "Reduce Sign"
}
},
"permission": {
"label": "Field Permissions",
"hint": "Set form fields that can be viewed or edited at this node"
},
"segment": {
"approver": "Approver",
"actions": "Actions",
"permissions": "Permissions",
"handler": "Handler"
},
"delay": {
"title": "Delay Settings",
"duration": "Duration",
"hint": "Set the time to wait, and the process will automatically continue when the specified time is reached",
"minuteTip": "Calculated by natural minutes",
"hourTip": "Calculated by natural hours",
"dayTip": "Calculated by natural days (24 hours)",
"workdayTip": "Only workdays are calculated, skipping weekends and holidays"
},
"conditionBranch": {
"title": "Branch Settings",
"name": "Condition Name",
"namePlaceholder": "Please enter condition name",
"hint": "Set conditions to enter this branch",
"hintSub": "Condition groups are linked by 'OR', while conditions within a group are linked by 'AND'",
"noFormHint": "Please link a form first to configure conditions",
"defaultTitle": "Default Branch",
"defaultHint": "This branch is taken when no other conditions are met"
},
"parallelBranch": {
"name": "Branch Name",
"namePlaceholder": "Please enter branch name",
"addBranch": "Add Branch"
},
"startNode": {
"title": "Initiator Node",
"hint": "All authorized users can initiate this process",
"permissionHint": "Set field permissions (editable/readonly/hidden) for the initiator when filling in the form"
},
"service": {
"title": "Service Settings",
"baseSettings": "Base Settings",
"name": "Service Name",
"namePlaceholder": "Please enter service name (optional)",
"url": "URL",
"urlPlaceholder": "https://api.example.com/endpoint",
"method": "Method",
"headers": "Headers",
"headerName": "Header Name",
"headerValue": "Header Value",
"addHeader": "Add Header",
"params": "Params",
"body": "Body",
"advancedSettings": "Advanced Settings",
"timeout": "Timeout (s)",
"retry": "Retries",
"failAction": "On Failure",
"resultVar": "Result Variable",
"resultVarPlaceholder": "Variable name to store response (optional)",
"resultVarHint": "Response result will be stored in this variable for later use",
"variableDesc": "Variable Guide",
"paramFieldVar": "Use {'${field}'} to reference form fields in parameters",
"resultVarUsage": "Response results can be used in branches via variable name",
"failActions": {
"continue": "Continue",
"stop": "Terminate",
"retry": "Auto Retry"
}
},
"subflow": {
"title": "Subflow Settings",
"select": "Select Subflow",
"selectPlaceholder": "Please select a subflow",
"selectWarning": "Please select a subflow",
"flowId": "Flow ID",
"flowName": "Flow Name",
"unnamed": "Unnamed",
"varPass": "Variable Pass",
"varPassHint": "Configure variables passed to the subflow",
"varPassMode": "Pass Mode",
"selectVars": "Select Variables",
"selectVarsPlaceholder": "Please select variables to pass",
"selectVarsHint": "Select form fields to be passed to the subflow",
"varMapping": "Variable Mapping",
"mappingRule1": "Workflow variables will be mapped automatically by name",
"mappingRule2": "Same name variables will be overwritten, others ignored",
"executionSettings": "Execution Settings",
"executionMode": "Execution Mode",
"sync": "Sync",
"syncDesc": "Wait for completion",
"async": "Async",
"asyncDesc": "Continue immediately",
"resultMode": "Result Handling",
"ignoreResult": "Ignore result",
"saveResult": "Save result",
"resultVarName": "Result Variable Name",
"resultVarPlaceholder": "e.g., subflowResult",
"resultVarHint": "Approval result will be stored in this variable",
"asyncWarning": "Async Execution Notes",
"asyncWarning1": "Process won't wait for subflow",
"asyncWarning2": "Result cannot be obtained",
"asyncWarning3": "Subflow failure won't affect main flow",
"skipSubflow": "Skip subflow (treated as passed)",
"rejectSubflow": "Reject subflow",
"usageTips": "Usage Tips",
"usageTip1": "Subflow will inherit main flow initiator information",
"usageTip2": "Subflow has independent approval records and status",
"usageTip3": "Subsequent processing can be based on subflow results via branches",
"varPassModes": {
"all": "Pass All",
"selected": "Pass Selected",
"none": "Pass None"
}
},
"dataUpdate": {
"title": "Field Update Settings",
"description": "When the workflow reaches this node, form field values will be updated automatically based on the configured rules.",
"targetForm": "Target Form",
"targetFormPlaceholder": "Select a form to update",
"currentForm": "Current Form",
"matchCondition": "Match Condition",
"matchConditionHint": "Specify the field mapping between the current form and the target form to locate the target records.",
"sourceField": "Source Field",
"sourceFieldPlaceholder": "Select a field from current form",
"targetMatchField": "Target Field",
"targetMatchFieldPlaceholder": "Select a field from target form",
"updateScope": "Update Scope",
"updateScopeFirst": "First match only",
"updateScopeAll": "All matched records",
"rulesTitle": "Update Rules",
"targetField": "Target Field",
"targetFieldPlaceholder": "Select a field to update",
"valueType": "Value Type",
"value": "Value",
"constantPlaceholder": "Enter a constant value",
"fieldPlaceholder": "Select a source field",
"formulaPlaceholder": "Enter expression, e.g.: {{price}} * {{quantity}}",
"formulaHint": "Use {{field_name}} to reference form fields. Supports arithmetic (+, -, *, /)",
"systemPlaceholder": "Select a system variable",
"addRule": "Add Update Rule",
"noRulesHint": "No update rules yet. Click the button above to add one.",
"valueTypes": {
"constant": "Constant",
"field": "Field Reference",
"formula": "Expression",
"system": "System Variable"
},
"systemVars": {
"currentTime": "Current Time",
"currentDate": "Current Date",
"currentUser": "Current User",
"initiator": "Initiator",
"instanceNo": "Instance No.",
"instanceTitle": "Instance Title"
}
}
},
"condition": {
"title": "Condition Group",
"and": "AND",
"or": "OR",
"andHint": "Conditions within group are linked with AND",
"addCondition": "Add Condition",
"addGroup": "Add Group",
"emptyHint": "No conditions yet, click below to add",
"selectField": "Select Field",
"selectOperator": "Select Operator",
"inputValue": "Value",
"inputNumber": "Value",
"selectDate": "Select Date",
"selectValue": "Select Value",
"operators": {
"eq": "Equals",
"ne": "Not Equals",
"gt": "Greater Than",
"gte": "Greater Than or Equal",
"lt": "Less Than",
"lte": "Less Than or Equal",
"contains": "Contains",
"not_contains": "Not Contains",
"in": "In",
"not_in": "Not In",
"empty": "Is Empty",
"not_empty": "Is Not Empty"
}
},
"detail": {
"title": "Process Details",
"tabs": {
"progress": "Progress",
"form": "Form Content",
"flowchart": "Flowchart",
"flowProgress": "Approval Path"
},
"currentPending": "Current Pending",
"flowInfo": "Process Info",
"approvalRecord": "Approval Record",
"flowTitle": "Title",
"flowType": "Type",
"flowStatus": "Status",
"flowNo": "Process No.",
"initiator": "Initiator",
"currentNode": "Current Node",
"startTime": "Start Time",
"completeTime": "Complete Time",
"duration": "Duration",
"unknownNode": "Unknown Node",
"start": "Start",
"noData": "No Data",
"noApprovalRecord": "No Approval Record",
"noFormContent": "No Form Content",
"loadDataFailed": "Failed to load data",
"loadFormDataFailed": "Failed to load form data",
"systemAuto": "System Auto",
"person": "person(s)",
"timeout": "Timeout",
"waiting": "Waiting",
"daysLater": " days",
"hoursLater": " hours",
"minutesLater": " minutes",
"days": " days ",
"hours": " hours ",
"minutes": " minutes",
"status": {
"pending": "Pending",
"approved": "Approved",
"rejected": "Rejected",
"cancelled": "Cancelled"
},
"actions": {
"start": "Start Process",
"approve": "Approved",
"reject": "Rejected",
"return": "Returned",
"transfer": "Transferred",
"delegate": "Delegated",
"add_sign": "Add Sign",
"revise": "Resubmit",
"cancel": "Cancelled",
"copy": "Copied",
"handle": "Handled",
"urge": "Urged",
"task_timeout": "Task Timeout",
"task_timeout_notify": "Timeout Notify",
"task_auto_approve": "Auto Approved",
"task_auto_reject": "Auto Rejected",
"delay_start": "Delay Start",
"delay_complete": "Delay Complete",
"delay_skip": "Delay Skipped",
"notify": "Notified",
"parallel_start": "Parallel Start",
"parallel_complete": "Parallel Complete",
"subflow_start": "Subflow Start",
"subflow_complete": "Subflow Complete",
"data_update": "Field Update",
"condition": "Condition Branch"
},
"flowProgress": {
"returnRecords": "Return Records",
"noData": "No progress data",
"loadFailed": "Failed to load progress",
"delayWaiting": "Delay waiting, expected resume at: ",
"pending": "Pending",
"waiting": "Waiting",
"skipped": "Skipped",
"copied": "Copied",
"nodeTypes": {
"start": "Start",
"end": "End",
"approval": "Approval",
"handle": "Handle",
"copy": "Copy",
"condition": "Condition",
"parallel": "Parallel",
"delay": "Delay",
"notify": "Notify",
"service": "Service",
"subflow": "Subflow",
"data_update": "Field Update"
},
"nodeStatus": {
"completed": "Completed",
"active": "In Progress",
"pending": "Pending",
"skipped": "Skipped",
"rejected": "Rejected"
},
"actions": {
"approve": "Approved",
"reject": "Rejected",
"return": "Returned",
"transfer": "Transferred",
"delegate": "Delegated",
"handle": "Handled",
"add_sign": "Add Sign"
},
"signTypes": {
"before": "Before Sign",
"after": "After Sign",
"parallel": "Parallel Sign"
},
"extraActions": {
"add_sign": "Add Sign",
"reduce_sign": "Reduce Sign",
"transfer": "Transfer",
"delegate": "Delegate",
"return": "Return"
}
}
}
}
@@ -0,0 +1,310 @@
{
"workflow": "Workflow",
"title": "Process Title",
"type": "Process Type",
"status": "Status",
"currentNode": "Current Node",
"startTime": "Start Time",
"endTime": "End Time",
"actions": "Actions",
"details": "Details",
"recall": "Recall",
"recallConfirm": "Recall Confirmation",
"recallConfirmMsg": "Are you sure you want to recall this process? This action cannot be undone.",
"recallSuccess": "Recall successful",
"recallFailed": "Recall failed",
"statusMap": {
"pending": "Pending",
"approved": "Approved",
"rejected": "Rejected",
"canceled": "Canceled",
"transferred": "Transferred"
},
"nodeName": "Node Name",
"result": "Result",
"initiator": "Initiator",
"handleTime": "Handle Time",
"workflowType": {
"label": "Workflow Type",
"approval": "Approval",
"application": "Application",
"business": "Business",
"hr": "HR",
"finance": "Finance",
"admin": "Admin",
"other": "Other"
},
"manager": {
"title": "Workflow Management",
"add": "Add Workflow",
"edit": "Edit Workflow",
"view": "View Workflow",
"basicInfo": "Basic Information",
"design": "Workflow Design",
"editInfo": "Edit Info",
"name": "Process Name",
"code": "Process Code",
"workflowType": "Workflow Type",
"icon": "Process Icon",
"iconBgColor": "Icon Background Color",
"preview": "Preview",
"form": "Related Form",
"category": "Category",
"version": "Version",
"updatedAt": "Updated At",
"remark": "Process Description",
"sort": "Sort Order",
"addProcess": "Add Process",
"batchDelete": "Batch Delete",
"batchDeleteWithCount": "Batch Delete ({count})",
"publish": "Publish",
"disable": "Disable",
"copy": "Copy",
"status": {
"draft": "Draft",
"published": "Published",
"disabled": "Disabled"
},
"placeholder": {
"title": "Please enter process title",
"workflowType": "Please select workflow type",
"icon": "Please select process icon",
"iconBgColor": "Enter custom color or gradient",
"status": "Please select status",
"name": "Please enter process name",
"code": "Please enter process code",
"form": "Please select related form",
"remark": "Please enter process description",
"sort": "Smaller values appear first, default is 0",
"copyCode": "Please enter new process code"
},
"validate": {
"name": "Please enter process name",
"code": "Please enter process code",
"codeFormat": "Code must start with a letter and contain only letters, numbers, and underscores",
"form": "Please select related form",
"design": "Workflow design is incomplete"
},
"message": {
"deleteConfirm": "Are you sure you want to delete this process?",
"deleteConfirmTitle": "Delete Confirmation",
"deleteSuccess": "Deleted successfully",
"selectToDelete": "Please select processes to delete first",
"batchDeleteConfirm": "Are you sure you want to delete {count} selected processes?",
"batchDeleteConfirmTitle": "Batch Delete Confirmation",
"publishConfirm": "Are you sure you want to publish this process? It can be used after publishing.",
"publishConfirmTitle": "Publish Confirmation",
"publishSuccess": "Published successfully",
"disableConfirm": "Are you sure you want to disable this process? New processes cannot be started after disabling.",
"disableConfirmTitle": "Disable Confirmation",
"disableSuccess": "Disabled successfully",
"copyConfirmTitle": "Copy Process",
"copySuccess": "Copied successfully",
"copySuffix": "Copy",
"loadFailed": "Failed to load data",
"saveSuccess": "Saved successfully",
"createSuccess": "Created successfully"
},
"autoSave": {
"saving": "Saving...",
"saved": "Saved",
"unsaved": "Unsaved"
},
"steps": {
"basic": "Basic Information",
"design": "Workflow Design"
},
"importExport": {
"export": "Export Config",
"import": "Import Config",
"exportSuccess": "Workflow config exported",
"exportFailed": "Export failed",
"importTitle": "Import Workflow Config",
"dragOrClick": "Drag JSON file here or click to upload",
"onlyJson": "Only .json files are supported",
"fileParseError": "Invalid file. Required fields: name, code, form_code",
"checking": "Checking...",
"codeConflictTip": "Workflow code already exists. Enter a new code to import",
"codeAvailable": "Workflow code is available",
"newCodePlaceholder": "Enter a new workflow code",
"importSuccess": "Workflow imported successfully",
"importFailed": "Import failed",
"confirmImport": "Confirm Import",
"reselect": "Reselect",
"workflowInfo": "Workflow Info",
"appTip": "Imported workflow belongs to the current app (draft status)",
"bindingTip": "Ensure linked form and document template codes exist and are published in the target environment"
}
},
"pending": {
"title": "Pending Approval",
"approval": "Approval",
"approve": "Approve",
"reject": "Reject",
"submit": "Submit",
"comment": "Comment",
"commentPlaceholder": "Please enter approval comment",
"result": "Approval Result",
"success": "Process successful",
"taskType": "Task Type",
"timeoutStatus": "Timeout Status",
"arriveTime": "Arrive Time",
"isTimeout": "Timed Out",
"aboutToTimeout": "About to Timeout",
"deadline": "Deadline",
"daysAfter": "{count} days later",
"hoursAfter": "{count} hours later",
"minutesAfter": "{count} mins later",
"view": "View",
"handle": "Handle",
"modify": "Modify",
"cc": "CC",
"copyDetail": "CC Details",
"reviseSubmit": "Modify and Resubmit",
"copyAction": "CC Action",
"handleAction": "Handle Action",
"reviseAction": "Modify Action",
"approvalAction": "Approval Action",
"signComment": "Sign Comment",
"delegateComment": "Delegate Comment",
"rejectReason": "Reject Reason",
"returnReason": "Return Reason",
"transferComment": "Transfer Comment",
"signPlaceholder": "Optional, enter sign description",
"approvalPlaceholder": "Optional, enter approval comment",
"delegatePlaceholder": "Optional, enter delegate description",
"rejectPlaceholder": "Please enter reject reason",
"returnPlaceholder": "Please enter return reason",
"transferPlaceholder": "Optional, enter transfer description",
"fetchDetailFailed": "Failed to load task details",
"markReadSuccess": "Marked as read",
"handleSuccess": "Handle completed",
"actionFailed": "Action failed",
"selectSignUser": "Please select sign user",
"signSuccess": "Sign successful",
"approveSuccess": "Approval passed",
"signature": "Signature",
"signaturePlaceholder": "Please sign here",
"signatureRequired": "This approval node requires a signature, please sign first",
"selectDelegateUser": "Please select delegate user",
"delegateSuccess": "Delegated",
"rejectCommentRequired": "Approval comment is required when rejecting",
"rejectSuccess": "Rejected",
"returnCommentRequired": "Approval comment is required when returning",
"returnSuccess": "Returned",
"selectTransferUser": "Please select transfer user",
"transferSuccess": "Transferred",
"unsupportedAction": "Unsupported action",
"continueHandle": "Continue Handling",
"actionSuccess": "Action successful",
"viewHandled": "View Handled",
"reviseSuccess": "Resubmitted",
"markRead": "Read",
"formContent": "Form Content",
"emptyForm": "No form content",
"processInfo": "Process Info",
"returnTo": "Return To",
"initiator": "Initiator",
"previousNode": "Previous Node",
"transferTo": "Transfer To",
"delegateTo": "Delegate To",
"signType": "Sign Type",
"beforeSign": "Before Sign",
"afterSign": "After Sign",
"parallelSign": "Parallel Sign",
"beforeSignTip": "Signer approves first, then returns to you",
"afterSignTip": "You approve first, then signer approves",
"parallelSignTip": "You and signer approve simultaneously",
"signUser": "Signer",
"selectSignUserPlaceholder": "Please select signer (Multiple choice)",
"handleTip": "Please view the form content and click \"Submit\" to complete handling",
"handleComment": "Handle Comment",
"handleCommentPlaceholder": "Optional, enter handle comment",
"copyTip": "This is a CC task for reference only. Click \"Read\" to confirm.",
"reviseTip": "Please modify the form content and click \"Submit\" to resubmit for approval.",
"modifyComment": "Modify Description",
"modifyCommentPlaceholder": "Optional, enter modify description",
"selectTask": "Please select a task from the left",
"approvalInfo": "Approval Info"
},
"handled": {
"title": "Handled Tasks"
},
"initiated": {
"title": "Initiated by Me",
"selectInstance": "Please select a process from the left"
},
"copy": {
"title": "CC to Me",
"ccNode": "CC Node",
"ccTime": "CC Time"
},
"start": {
"title": "Start Process",
"select": "Select Process",
"form": "Process Form",
"searchPlaceholder": "Search by name, code or category",
"fetchFailed": "Failed to load process list",
"startSuccess": "Process started successfully, check progress in Approval Center",
"start": "Start",
"submit": "Submit",
"allWorkflows": "All Processes",
"noWorkflows": "No processes available to start",
"workflowTitle": "Process Title",
"titlePlaceholder": "Please enter process title, e.g., John's Leave Application",
"titleHint": "Recommended format: Applicant + Process Type, for easier identification",
"formInfo": "Form Information",
"loadConfigFailed": "Failed to load form configuration",
"titleRequired": "Please enter process title",
"formInvalid": "Please check if the form is filled correctly",
"startFailed": "Failed to start process",
"submitSuccess": "Process Started Successfully",
"submitSuccessHint": "Your application has been submitted, please wait for approval",
"workflowName": "Process Name",
"instanceNo": "Process No.",
"viewDetail": "View Details",
"continueStart": "Start Another",
"backToList": "Back to List",
"approvalPath": "Approval Path",
"showFlow": "Show Flow",
"hideFlow": "Hide Flow",
"loadingUsers": "Loading..."
},
"validation": {
"title": "Workflow Validation",
"passed": "Passed",
"failed": "Failed",
"warning": "Warning",
"errorCount": "{count} errors",
"warningCount": "{count} warnings",
"validating": "Validating workflow configuration...",
"failedMsg": "Validation failed, please fix and retry",
"passedMsg": "Validation passed, you can save the workflow",
"ready": "Ready to validate",
"checkCount": "{count} checks in total",
"confirmSave": "Confirm Save"
},
"documents": "Documents",
"viewDocuments": "View Documents",
"noDocuments": "No documents",
"pages": "pages",
"documentTemplates": "Document Templates",
"selectDocumentTemplates": "Select Document Templates",
"generateDocuments": "Generate Documents",
"generateDocumentsSuccess": "Documents generated successfully",
"generateDocumentsFailed": "Failed to generate documents",
"regenerateDocuments": "Regenerate",
"regenerateDocumentsSuccess": "Documents regenerated successfully",
"regenerateDocumentsFailed": "Failed to regenerate documents",
"instanceManager": {
"title": "Workflow Instances",
"detailTitle": "Instance Details",
"instanceNo": "Instance No.",
"application": "Application",
"searchTitle": "Search by title",
"searchInstanceNo": "Search by instance no.",
"searchWorkflowName": "Search by workflow name",
"searchInitiator": "Search by initiator",
"searchStatus": "Select status"
}
}
@@ -0,0 +1,251 @@
{
"placeholder": "Type / to open command menu...",
"slash": {
"noResult": "No matching commands found",
"category": {
"text": "Text",
"list": "List",
"media": "Media",
"advanced": "Advanced",
"diagram": "Diagram"
},
"text": "Text",
"textDesc": "Plain paragraph text",
"heading1": "Heading 1",
"heading1Desc": "Large heading",
"heading2": "Heading 2",
"heading2Desc": "Medium heading",
"heading3": "Heading 3",
"heading3Desc": "Small heading",
"bulletList": "Bullet List",
"bulletListDesc": "Create a bulleted list",
"orderedList": "Numbered List",
"orderedListDesc": "Create a numbered list",
"taskList": "Task List",
"taskListDesc": "Create a task list with checkboxes",
"blockquote": "Quote",
"blockquoteDesc": "Create a quote block",
"codeBlock": "Code Block",
"codeBlockDesc": "Create a code block",
"divider": "Divider",
"dividerDesc": "Insert a horizontal divider",
"table": "Table",
"tableDesc": "Insert a table",
"image": "Image",
"imageDesc": "Upload or embed an image",
"callout": "Callout",
"calloutDesc": "Insert a highlighted callout",
"toggle": "Toggle",
"toggleDesc": "Create a collapsible content block",
"columns": "Columns",
"columnsDesc": "Insert a two-column layout",
"toc": "Table of Contents",
"tocDesc": "Auto-generate a table of contents from headings",
"inlineMath": "Inline Math",
"inlineMathDesc": "Insert an inline math formula",
"video": "Video",
"videoDesc": "Upload a video file",
"attachment": "Attachment",
"attachmentDesc": "Upload any type of file",
"embed": "Embed Link",
"embedDesc": "Insert a URL preview card",
"emoji": "Emoji",
"emojiDesc": "Insert an emoji",
"whiteboard": "Whiteboard",
"whiteboardDesc": "Create a drawable whiteboard",
"draw": "Draw",
"drawDesc": "Create a hand-drawn style drawing board"
},
"whiteboard": {
"title": "Whiteboard",
"edit": "Edit",
"close": "Close",
"delete": "Delete",
"saveAndClose": "Save & Close",
"clickToCreate": "Click to create whiteboard"
},
"draw": {
"title": "Drawing Board",
"edit": "Edit",
"close": "Close",
"delete": "Delete",
"saveAndClose": "Save & Close",
"clickToCreate": "Click to create drawing board",
"dblclickToEdit": "Double-click to edit"
},
"bubble": {
"turnInto": "Turn into",
"bold": "Bold",
"italic": "Italic",
"underline": "Underline",
"strikethrough": "Strikethrough",
"code": "Inline Code",
"highlight": "Highlight",
"link": "Link",
"alignLeft": "Align Left",
"alignCenter": "Align Center",
"alignRight": "Align Right",
"fontSize": "Font Size",
"fontSizeDefault": "Default",
"emoji": "Emoji"
},
"turnInto": {
"text": "Text",
"heading1": "Heading 1",
"heading2": "Heading 2",
"heading3": "Heading 3",
"bulletList": "Bullet List",
"orderedList": "Numbered List",
"taskList": "Task List",
"blockquote": "Quote",
"codeBlock": "Code Block"
},
"color": {
"textColor": "Text Color",
"highlightColor": "Highlight Color",
"default": "Default",
"gray": "Gray",
"brown": "Brown",
"orange": "Orange",
"yellow": "Yellow",
"green": "Green",
"blue": "Blue",
"purple": "Purple",
"pink": "Pink",
"red": "Red",
"none": "None",
"cyan": "Cyan"
},
"link": {
"placeholder": "Enter link URL...",
"confirm": "Confirm",
"cancel": "Cancel"
},
"table": {
"moveUp": "Move Row Up",
"moveDown": "Move Row Down",
"moveLeft": "Move Column Left",
"moveRight": "Move Column Right",
"insertRowAbove": "Insert Row Above",
"insertRowBelow": "Insert Row Below",
"insertColumnLeft": "Insert Column Left",
"insertColumnRight": "Insert Column Right",
"color": "Color",
"clearColumn": "Clear Column",
"duplicateRow": "Insert Row Below",
"duplicateColumn": "Insert Column Right",
"deleteRow": "Delete Row",
"deleteColumn": "Delete Column",
"defaultColor": "Default",
"lightGray": "Light Gray",
"lightRed": "Light Red",
"lightOrange": "Light Orange",
"lightYellow": "Light Yellow",
"lightGreen": "Light Green",
"lightBlue": "Light Blue",
"lightPurple": "Light Purple",
"lightPink": "Light Pink",
"mergeCells": "Merge Cells",
"splitCell": "Split Cell",
"toggleHeaderRow": "Toggle Header Row",
"toggleHeaderColumn": "Toggle Header Column",
"deleteTable": "Delete Table",
"cellAlign": "Cell Alignment",
"cellAlignLeft": "Align Left",
"cellAlignCenter": "Align Center",
"cellAlignRight": "Align Right",
"fullWidth": "Full Width",
"stripedRows": "Striped Rows",
"sortAsc": "Sort Ascending",
"sortDesc": "Sort Descending",
"clearCell": "Clear Cell",
"sizePicker": "Choose Table Size",
"sizePickerHint": "{rows} × {cols} table"
},
"callout": {
"info": "Info",
"warning": "Warning",
"success": "Success",
"error": "Error"
},
"toggle": {
"placeholder": "Toggle heading...",
"empty": "Empty content, expand to edit"
},
"toc": {
"title": "Table of Contents",
"empty": "Add headings and the table of contents will be generated automatically",
"untitled": "Untitled"
},
"image": {
"alignment": "Alignment",
"alignLeft": "Align Left",
"alignCenter": "Center",
"alignRight": "Align Right",
"size": "Size",
"small": "Small",
"medium": "Medium",
"large": "Large",
"reset": "Reset Size",
"delete": "Delete",
"caption": "Add a caption...",
"uploading": "Uploading...",
"uploadFailed": "Upload failed",
"loadFailed": "Failed to load image",
"retry": "Retry"
},
"video": {
"delete": "Delete",
"uploading": "Uploading..."
},
"attachment": {
"download": "Download",
"delete": "Delete",
"untitled": "Untitled File"
},
"upload": {
"fileSizeExceeds": "File size exceeds the limit",
"uploadFailed": "Upload failed, please try again",
"imageUploadFailed": "Image upload failed",
"videoUploadFailed": "Video upload failed",
"attachmentUploadFailed": "Attachment upload failed"
},
"mention": {
"noResults": "No matching users found",
"loading": "Searching..."
},
"embed": {
"placeholder": "Enter URL...",
"submit": "Embed",
"loading": "Loading...",
"open": "Open link",
"delete": "Delete"
},
"codeBlock": {
"copyCode": "Copy Code",
"copied": "Copied",
"searchLanguage": "Search language...",
"noLanguage": "No matching language"
},
"blockMenu": {
"delete": "Delete",
"duplicate": "Duplicate",
"moveUp": "Move Up",
"moveDown": "Move Down",
"turnInto": "Turn Into"
},
"search": {
"find": "Find",
"findPlaceholder": "Find...",
"replace": "Replace",
"replaceAll": "Replace All",
"replacePlaceholder": "Replace with...",
"noResults": "No results",
"caseSensitive": "Case Sensitive",
"previousMatch": "Previous",
"nextMatch": "Next",
"close": "Close",
"showReplace": "Show Replace",
"hideReplace": "Hide Replace"
}
}
@@ -0,0 +1,550 @@
{
"common": {
"confirm": "Confirm",
"cancel": "Cancel",
"delete": "Delete",
"edit": "Edit",
"save": "Save",
"add": "Add",
"search": "Search",
"reset": "Reset",
"newLine": "new line",
"loading": "Loading...",
"noData": "No data",
"more": "More",
"close": "Close",
"rename": "Rename",
"duplicate": "Duplicate",
"export": "Export",
"import": "Import",
"deleteSuccess": "Deleted successfully",
"deleteFailed": "Delete failed"
},
"app": {
"title": "ZQ Workspace",
"description": "Tables & Documents collaboration platform"
},
"theme": {
"light": "Light Mode",
"dark": "Dark Mode",
"system": "Follow System"
},
"language": {
"zhCN": "简体中文",
"zhTW": "繁體中文",
"en": "English"
},
"sidebar": {
"allItems": "All Items",
"allTables": "All Tables",
"newTable": "New Table",
"newDocument": "New Document",
"newDocumentTitle": "New Document",
"dashboard": "Dashboard",
"deleteTable": "Delete",
"deleteTableConfirm": "Are you sure you want to delete \"{name}\"? This action cannot be undone.",
"renameTable": "Rename",
"newTableTitle": "New Table",
"searchPlaceholder": "Search items...",
"tables": "Tables",
"documents": "Documents",
"collapse": "Collapse sidebar",
"expand": "Expand sidebar",
"noResults": "No matching items",
"emptyTables": "No tables yet",
"emptyDocuments": "No documents yet",
"newSubPage": "New Sub Page",
"moveToRoot": "Move to Root"
},
"document": {
"placeholder": "Type / to open command menu...",
"untitled": "Untitled Document",
"titlePlaceholder": "Enter title",
"autoSaved": "Auto-saved",
"saving": "Saving...",
"modifiedToday": "Modified today",
"modifiedYesterday": "Modified yesterday",
"modified": " modified",
"unknownUser": "Unknown User",
"toc": "Table of Contents",
"export": "Export",
"exporting": "Exporting, please wait...",
"exportMarkdown": "Export Markdown",
"exportPdf": "Export PDF",
"exportWord": "Export Word",
"exportSuccess": "Export successful",
"exportFailed": "Export failed",
"moreActions": "More actions"
},
"table": {
"addRecord": "Add Record",
"addField": "Add Field",
"deleteRecord": "Delete Record",
"deleteField": "Delete Field",
"fieldName": "Field Name",
"fieldType": "Field Type",
"rowCount": "{count} records",
"selectedCount": "{count} selected",
"emptyTable": "Table is empty. Click to add the first record.",
"configField": "Configure Field",
"hideField": "Hide Field",
"sortAsc": "Sort Ascending",
"sortDesc": "Sort Descending",
"insertLeft": "Insert Left",
"insertRight": "Insert Right",
"expandRecord": "Expand Record",
"recordDetail": "Record Detail",
"batchDelete": "Batch Delete",
"selectAll": "Select All",
"noTitle": "(Untitled)",
"renameField": "Rename Field",
"duplicateField": "Duplicate Field",
"editField": "Edit Field",
"filterByField": "Filter by This Field",
"clearSort": "Clear Sort",
"fieldDescription": "Field Description",
"fieldOptions": "Options",
"maxRating": "Max Rating",
"numberFormat": "Number Format",
"numberFormatNumber": "Number",
"numberFormatCurrency": "Currency (¥)",
"numberFormatPercent": "Percent (%)",
"numberFormatYuan": "Yuan",
"precision": "Decimal Places",
"includeTime": "Include Time",
"currencySymbol": "Currency Symbol",
"formulaExpression": "Formula Expression",
"formulaResultType": "Result Type",
"fieldGroupBasic": "Basic Fields",
"fieldGroupAdvanced": "Advanced Fields",
"fieldGroupSystem": "System Fields",
"copyRecord": "Copy Record",
"insertAbove": "Insert Above",
"insertBelow": "Insert Below",
"deleteRecordConfirm": "Are you sure to delete this record?",
"copiedToClipboard": "Copied to clipboard",
"frozenField": "Freeze Up to This Field",
"unfreezeField": "Unfreeze",
"multipleSelect": "Allow Multiple",
"regionLevel": "Region Level",
"regionProvince": "Province",
"regionCity": "Province/City",
"regionDistrict": "Province/City/District",
"maxImageCount": "Max Image Count",
"currencyCNY": "¥ CNY",
"currencyUSD": "$ USD",
"currencyEUR": "€ EUR",
"currencyGBP": "£ GBP",
"currencyKRW": "₩ KRW",
"formulaPlaceholder": "e.g. {field1} + {field2}",
"keyboardShortcuts": "Keyboard Shortcuts",
"paste": "Paste",
"redo": "Redo",
"clearCell": "Clear Cell",
"editCell": "Edit Cell",
"cancelEdit": "Cancel Edit",
"navigate": "Navigate Cells",
"nextCell": "Next / Previous Cell",
"clearFilter": "Clear Filter for This Field"
},
"field": {
"text": "Text",
"number": "Number",
"singleSelect": "Single Select",
"multiSelect": "Multi Select",
"date": "Date",
"checkbox": "Checkbox",
"person": "Person",
"attachment": "Attachment",
"url": "URL",
"email": "Email",
"phone": "Phone",
"rating": "Rating",
"progress": "Progress",
"currency": "Currency",
"autoNumber": "Auto Number",
"location": "Location",
"createdTime": "Created Time",
"modifiedTime": "Modified Time",
"createdBy": "Created By",
"modifiedBy": "Modified By",
"formula": "Formula",
"richText": "Rich Text",
"user": "User",
"department": "Department",
"region": "Region",
"image": "Image",
"link": "Link",
"lookup": "Lookup",
"rollup": "Rollup"
},
"view": {
"grid": "Grid View",
"kanban": "Kanban View",
"gallery": "Gallery View",
"form": "Form View",
"addView": "Add View",
"deleteView": "Delete View",
"renameView": "Rename View",
"duplicateView": "Duplicate View",
"deleteViewConfirm": "Are you sure to delete view \"{name}\"?",
"calendar": "Calendar View",
"gantt": "Gantt View"
},
"toolbar": {
"filter": "Filter",
"sort": "Sort",
"group": "Group",
"hideFields": "Hide Fields",
"rowHeight": "Row Height",
"rowHeightShort": "Short",
"rowHeightMedium": "Medium",
"rowHeightTall": "Tall",
"rowHeightExtraTall": "Extra Tall",
"fieldVisibility": "Field Visibility",
"showAll": "Show All",
"hideAll": "Hide All",
"search": "Search",
"addFilter": "Add Filter",
"addSort": "Add Sort",
"addGroup": "Add Group",
"fields": "fields",
"undo": "Undo",
"copy": "Copy",
"zebra": "Zebra",
"export": "Export",
"exportCSV": "Export CSV",
"exportFailed": "Export failed",
"import": "Import",
"importCSV": "Import CSV",
"importSuccess": "Import succeeded",
"importFailed": "Import failed",
"conditionalFormat": "Conditional Format",
"noConditionalFormats": "No conditional format rules",
"addRule": "Add Rule",
"rule": "Rule",
"applyToRow": "Entire Row",
"bgColor": "Background",
"textColor": "Text Color",
"preview": "Preview",
"addRecord": "Add Record",
"resetData": "Reset Data",
"resetDataConfirm": "Are you sure you want to reset all data? This action cannot be undone.",
"confirmReset": "Confirm Reset",
"resetSampleData": "Reset Sample Data",
"exportExcel": "Export Excel",
"copiedRowCol": "Copied {rows} rows × {cols} columns",
"pastedRowCol": "Pasted {rows} rows × {cols} columns",
"collapseAll": "Collapse All",
"expandAll": "Expand All"
},
"filter": {
"equals": "Equals",
"notEquals": "Not Equals",
"contains": "Contains",
"notContains": "Not Contains",
"isEmpty": "Is Empty",
"isNotEmpty": "Is Not Empty",
"greaterThan": "Greater Than",
"lessThan": "Less Than",
"where": "Where",
"and": "And",
"or": "Or",
"noFilters": "No filters yet"
},
"kanban": {
"uncategorized": "Uncategorized",
"addCard": "Add Card",
"noGroupField": "Please select a group field",
"groupBy": "Group By",
"cardFields": "Card Fields",
"showFields": "Show Fields"
},
"gantt": {
"startField": "Start Date",
"endField": "End Date",
"taskName": "Task Name",
"noDateField": "Please add a date field first",
"zoomDay": "Day",
"zoomWeek": "Week",
"zoomMonth": "Month",
"durationDays": "{days} days",
"noDateCount": "{count} without date",
"todayMark": "Today",
"milestoneField": "Milestone Field",
"autoDetect": "Auto Detect",
"milestone": "Milestone",
"toggleDependencies": "Toggle Dependencies",
"toggleCriticalPath": "Toggle Critical Path",
"depType": "Dependency Type",
"depDesc_FS": "Finish-to-Start",
"depDesc_FF": "Finish-to-Finish",
"depDesc_SS": "Start-to-Start",
"depDesc_SF": "Start-to-Finish",
"deleteDep": "Delete Dependency",
"dragToMove": "Drag to move task",
"dragToResize": "Drag to resize duration"
},
"calendar": {
"today": "Today",
"dateField": "Start Date",
"endDateField": "End Date",
"noDateField": "Please add a date field first",
"none": "None",
"more": "more",
"allDay": "All Day",
"modeMonth": "Month",
"modeWeek": "Week",
"modeDay": "Day",
"weekSun": "Sun",
"weekMon": "Mon",
"weekTue": "Tue",
"weekWed": "Wed",
"weekThu": "Thu",
"weekFri": "Fri",
"weekSat": "Sat"
},
"gallery": {
"title": "Gallery View",
"coverField": "Cover Field",
"noCover": "No Cover",
"yes": "Yes",
"no": "No"
},
"form": {
"title": "Form View",
"formTitle": "Data Collection Form",
"formDescription": "Please fill in the following information",
"submit": "Submit",
"submitSuccess": "Submitted successfully!",
"required": "Required",
"fieldRequired": "{name} is required",
"invalidEmail": "Please enter a valid email address",
"invalidPhone": "Please enter a valid phone number",
"invalidUrl": "Please enter a valid URL",
"checkFormErrors": "Please check the form for errors"
},
"permission": {
"title": "Permissions",
"tabCollaborators": "Collaborators",
"tabFieldPerm": "Field Permissions",
"tabRowPerm": "Row Permissions",
"searchUser": "Search users",
"invite": "Invite",
"addSuccess": "Added successfully",
"addFailed": "Failed to add",
"updateFailed": "Failed to update",
"removeConfirm": "Are you sure you want to remove {name}?",
"removeCollaborator": "Remove Collaborator",
"removed": "Removed",
"roleOwner": "Owner",
"roleManager": "Manager",
"roleEditor": "Editor",
"roleViewer": "Viewer",
"roleCustom": "Custom",
"accessWrite": "Editable",
"accessRead": "Visible",
"accessHidden": "Hidden",
"fieldPermSaved": "Field permissions saved",
"saveFailed": "Failed to save",
"rowPermUpdated": "Row permissions updated",
"fieldPermTip": "Click field permission labels to cycle access levels (Editable / Visible / Hidden). Click \"Save\" to apply.",
"rowPermTip": "Row permissions control which records each role can view and edit.",
"viewRecords": "Can view records:",
"editRecords": "Can edit records:",
"allRecords": "All records",
"creatorOnly": "Own records only",
"noCollaborators": "No collaborators yet",
"noFieldPerm": "Not configured. Click \"Save\" to initialize.",
"subjectUser": "User",
"subjectDept": "Department",
"subjectRole": "Role",
"documentScopeHint": "Documents have no column or row dimension. Access is controlled by collaborator roles and capabilities (e.g. edit content, export). Field and row permissions do not apply."
},
"cellRenderer": {
"today": "Today",
"yesterday": "Yesterday",
"tomorrow": "Tomorrow",
"yuan": "Yuan"
},
"link": {
"targetTable": "Target Table",
"selectTable": "Select target table",
"linkField": "Link Field",
"selectLinkField": "Select link field",
"lookupField": "Lookup Field",
"rollupField": "Rollup Field",
"selectField": "Select field",
"aggregation": "Aggregation",
"aggCount": "Count (COUNT)",
"aggCounta": "Non-empty Count (COUNTA)",
"aggSum": "Sum (SUM)",
"aggAvg": "Average (AVG)",
"aggMin": "Minimum (MIN)",
"aggMax": "Maximum (MAX)",
"searchPlaceholder": "Search records..."
},
"dashboard": {
"title": "Dashboard",
"addChart": "Add Chart",
"barChart": "Bar Chart",
"lineChart": "Line Chart",
"pieChart": "Pie Chart",
"statNumber": "Stat Number",
"totalRecords": "Total Records",
"sum": "Sum",
"average": "Average",
"max": "Max",
"min": "Min",
"empty": "Empty",
"filled": "Filled",
"percentEmpty": "% Empty",
"percentFilled": "% Filled",
"completed": "Completed",
"completionRate": "Completion Rate",
"statusDist": "Status Distribution",
"priorityDist": "Priority Distribution",
"progressDist": "Progress Distribution",
"distribution": "Distribution",
"noSelectField": "Add a single-select field first",
"noNumberField": "Add a number / progress / rating field first",
"noCheckbox": "Add a checkbox field first"
},
"summary": {
"sum": "Sum",
"avg": "Average",
"min": "Min",
"max": "Max",
"count": "Count",
"counta": "Count Non-empty",
"countEmpty": "Count Empty",
"percentEmpty": "% Empty",
"percentFilled": "% Filled",
"clickToAdd": "Summary",
"none": "None",
"groupSubtotal": "Subtotal"
},
"formula": {
"availableFields": "Available Fields (click to insert)",
"placeholder": "Enter formula, e.g. IF({Status}=\"Done\", {Amount} * 1.1, {Amount})",
"functionReference": "Function Reference",
"resultText": "Text",
"resultNumber": "Number",
"resultDate": "Date",
"resultBoolean": "Boolean"
},
"validation": {
"title": "Validation",
"min": "Min Value",
"max": "Max Value",
"minLength": "Min Length",
"maxLength": "Max Length",
"pattern": "Regex Pattern",
"patternPlaceholder": "e.g. ^[A-Z]{2}\\d{4}$",
"unique": "Must be unique",
"customMessage": "Custom Error Message",
"customMessagePlaceholder": "Message shown on validation failure",
"noLimit": "No limit",
"required": "\"{name}\" is required",
"minError": "\"{name}\" must be at least {min}",
"maxError": "\"{name}\" must be at most {max}",
"minLengthError": "\"{name}\" must be at least {min} characters",
"maxLengthError": "\"{name}\" must be at most {max} characters",
"patternError": "\"{name}\" format is invalid",
"uniqueError": "\"{name}\" value already exists"
},
"comment": {
"title": "Comments",
"placeholder": "Write a comment, @ to mention...",
"send": "Send",
"reply": "Reply",
"edit": "Edit",
"delete": "Delete",
"deleteConfirm": "Delete this comment?",
"noComments": "No comments yet",
"mentionHint": "Type @ to search users",
"justNow": "Just now",
"minutesAgo": "{n} min ago",
"hoursAgo": "{n} hr ago",
"daysAgo": "{n} days ago",
"editComment": "Edit comment",
"cancelEdit": "Cancel",
"saveEdit": "Save",
"replyTo": "Reply to {name}",
"commentCount": "{count} comments",
"postFailed": "Failed to post comment",
"updateFailed": "Failed to update comment",
"deleteFailed": "Failed to delete comment"
},
"mention": {
"noResults": "No matching users found",
"navigate": "navigate",
"select": "select",
"close": "close"
},
"trash": {
"title": "Trash",
"empty": "Trash is empty",
"restore": "Restore",
"permanentDelete": "Permanently Delete",
"permanentDeleteConfirm": "Are you sure you want to permanently delete this record? This action cannot be undone.",
"emptyTrash": "Empty Trash",
"emptyTrashConfirm": "Are you sure you want to empty the trash? This action cannot be undone.",
"restoreSuccess": "Restored successfully",
"deleteSuccess": "Permanently deleted",
"emptySuccess": "Trash emptied",
"deletedAt": "Deleted at",
"recordCount": "{count} records",
"batchRestore": "Batch Restore",
"selectedCount": "{count} selected"
},
"version": {
"title": "Version History",
"empty": "No version records",
"createSnapshot": "Save Snapshot",
"manualSnapshot": "Manual save",
"createSuccess": "Version snapshot saved",
"createFailed": "Failed to save version snapshot",
"preview": "Preview Version",
"restore": "Restore This Version",
"restoreConfirm": "Restore Version",
"restoreConfirmMsg": "Are you sure you want to restore to version v{version}? Current content will be saved as a new version.",
"restoreSuccess": "Version restored",
"restoreFailed": "Failed to restore version",
"deleteConfirm": "Delete Version",
"deleteConfirmMsg": "Are you sure you want to delete this version? This action cannot be undone.",
"loadMore": "Load More"
},
"template": {
"selectTitle": "Select Document Template",
"blankDocument": "Blank Document",
"fromTemplate": "From Template",
"searchPlaceholder": "Search templates...",
"allCategories": "All",
"system": "System",
"empty": "No templates",
"loadFailed": "Failed to load template",
"usedCount": "Used {count} times",
"saveAsTemplate": "Save as Template",
"templateSuffix": "Template",
"name": "Template Name",
"namePlaceholder": "Enter template name",
"nameRequired": "Please enter a template name",
"description": "Description",
"descriptionPlaceholder": "Enter template description (optional)",
"categoryLabel": "Category",
"categoryPlaceholder": "Enter category",
"save": "Save",
"saveSuccess": "Template saved successfully",
"saveFailed": "Failed to save template",
"creating": "Creating, please wait...",
"category": {
"custom": "Custom",
"system": "System Templates",
"meeting": "Meeting",
"report": "Report",
"plan": "Plan",
"note": "Note"
}
}
}