Build lightweight AI agent admin
This commit is contained in:
@@ -0,0 +1,203 @@
|
||||
import type { Language } from 'element-plus/es/locale';
|
||||
|
||||
import type { App } from 'vue';
|
||||
|
||||
import type { LocaleSetupOptions, SupportedLanguagesType } from '@vben/locales';
|
||||
|
||||
import { ref } from 'vue';
|
||||
|
||||
import {
|
||||
$t,
|
||||
setupI18n as coreSetup,
|
||||
getSystemLanguage,
|
||||
loadLocalesMapFromDir,
|
||||
} from '@vben/locales';
|
||||
import { preferences } from '@vben/preferences';
|
||||
|
||||
import dayjs from 'dayjs';
|
||||
import enLocale from 'element-plus/es/locale/lang/en';
|
||||
import defaultLocale from 'element-plus/es/locale/lang/zh-cn';
|
||||
import zhTwLocale from 'element-plus/es/locale/lang/zh-tw';
|
||||
|
||||
const elementLocale = ref<Language>(defaultLocale);
|
||||
|
||||
const modules = import.meta.glob([
|
||||
'./langs/*/about.json',
|
||||
'./langs/*/account-settings.json',
|
||||
'./langs/*/ai-platform.json',
|
||||
'./langs/*/announcement.json',
|
||||
'./langs/*/apiToken.json',
|
||||
'./langs/*/authentication.json',
|
||||
'./langs/*/chat.json',
|
||||
'./langs/*/common.json',
|
||||
'./langs/*/database-connection.json',
|
||||
'./langs/*/data-source.json',
|
||||
'./langs/*/dept.json',
|
||||
'./langs/*/dict.json',
|
||||
'./langs/*/file-manager.json',
|
||||
'./langs/*/loginLog.json',
|
||||
'./langs/*/menu.json',
|
||||
'./langs/*/menu-title.json',
|
||||
'./langs/*/message.json',
|
||||
'./langs/*/org-chart.json',
|
||||
'./langs/*/permission.json',
|
||||
'./langs/*/post.json',
|
||||
'./langs/*/role.json',
|
||||
'./langs/*/server-monitor.json',
|
||||
'./langs/*/system-config.json',
|
||||
'./langs/*/system.json',
|
||||
'./langs/*/ui-config.json',
|
||||
'./langs/*/ui.json',
|
||||
'./langs/*/user-avatar.json',
|
||||
'./langs/*/user.json',
|
||||
'./langs/*/wiki.json',
|
||||
'./langs/*/workflow.json',
|
||||
'./langs/*/zq-smart-table.json',
|
||||
]);
|
||||
|
||||
const localesMap = loadLocalesMapFromDir(
|
||||
/\.\/langs\/([^/]+)\/(.*)\.json$/,
|
||||
modules,
|
||||
);
|
||||
/** zq-table 需要提升到根级的命名空间,以便 t('table.xxx') 等能正确解析 */
|
||||
const ZQ_TABLE_ROOT_KEYS = [
|
||||
'common',
|
||||
'table',
|
||||
'toolbar',
|
||||
'filter',
|
||||
'field',
|
||||
'view',
|
||||
'kanban',
|
||||
'gantt',
|
||||
'calendar',
|
||||
'gallery',
|
||||
'form',
|
||||
'dashboard',
|
||||
'sidebar',
|
||||
'app',
|
||||
'theme',
|
||||
'language',
|
||||
'link',
|
||||
'cellRenderer',
|
||||
'permission',
|
||||
'summary',
|
||||
'formula',
|
||||
'validation',
|
||||
'comment',
|
||||
'mention',
|
||||
'document',
|
||||
'trash',
|
||||
'version',
|
||||
'template',
|
||||
] as const;
|
||||
|
||||
/**
|
||||
* 加载应用特有的语言包
|
||||
* 这里也可以改造为从服务端获取翻译数据
|
||||
* @param lang
|
||||
*/
|
||||
async function loadMessages(lang: SupportedLanguagesType) {
|
||||
const [appLocaleMessages] = await Promise.all([
|
||||
localesMap[lang]?.(),
|
||||
loadThirdPartyMessage(lang),
|
||||
]);
|
||||
const messages = appLocaleMessages?.default || {};
|
||||
// 将 zq-table / zq-smart-table 的 table/toolbar/filter 等命名空间提升到根级
|
||||
// 使用浅合并:zq-table 的子键补充到已有命名空间,app 级别的同名 key 优先保留
|
||||
const merged = { ...messages };
|
||||
for (const ns of ['zq-table', 'zq-smart-table'] as const) {
|
||||
const src = messages[ns];
|
||||
if (src && typeof src === 'object') {
|
||||
for (const key of ZQ_TABLE_ROOT_KEYS) {
|
||||
if (key in src && src[key] != null) {
|
||||
const existing = merged[key];
|
||||
if (
|
||||
existing &&
|
||||
typeof existing === 'object' &&
|
||||
typeof src[key] === 'object'
|
||||
) {
|
||||
merged[key] = { ...src[key], ...existing };
|
||||
} else {
|
||||
merged[key] = src[key];
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
return merged;
|
||||
}
|
||||
|
||||
/**
|
||||
* 加载第三方组件库的语言包
|
||||
* @param lang
|
||||
*/
|
||||
async function loadThirdPartyMessage(lang: SupportedLanguagesType) {
|
||||
await Promise.all([loadElementLocale(lang), loadDayjsLocale(lang)]);
|
||||
}
|
||||
|
||||
/**
|
||||
* 加载dayjs的语言包
|
||||
* @param lang
|
||||
*/
|
||||
async function loadDayjsLocale(lang: SupportedLanguagesType) {
|
||||
let locale;
|
||||
switch (lang) {
|
||||
case 'en-US': {
|
||||
locale = await import('dayjs/locale/en');
|
||||
break;
|
||||
}
|
||||
case 'zh-CN': {
|
||||
locale = await import('dayjs/locale/zh-cn');
|
||||
break;
|
||||
}
|
||||
case 'zh-TW': {
|
||||
locale = await import('dayjs/locale/zh-tw');
|
||||
break;
|
||||
}
|
||||
// 默认使用英语
|
||||
default: {
|
||||
locale = await import('dayjs/locale/en');
|
||||
}
|
||||
}
|
||||
if (locale) {
|
||||
dayjs.locale(locale);
|
||||
} else {
|
||||
console.error(`Failed to load dayjs locale for ${lang}`);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 加载element-plus的语言包
|
||||
* @param lang
|
||||
*/
|
||||
async function loadElementLocale(lang: SupportedLanguagesType) {
|
||||
switch (lang) {
|
||||
case 'en-US': {
|
||||
elementLocale.value = enLocale;
|
||||
break;
|
||||
}
|
||||
case 'zh-CN': {
|
||||
elementLocale.value = defaultLocale;
|
||||
break;
|
||||
}
|
||||
case 'zh-TW': {
|
||||
elementLocale.value = zhTwLocale;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
async function setupI18n(app: App, options: LocaleSetupOptions = {}) {
|
||||
// 如果是跟随系统,获取系统语言
|
||||
const locale = preferences.app.locale;
|
||||
const actualLocale = locale === 'auto' ? getSystemLanguage() : locale;
|
||||
|
||||
await coreSetup(app, {
|
||||
defaultLocale: actualLocale,
|
||||
loadMessages,
|
||||
missingWarn: !import.meta.env.PROD,
|
||||
...options,
|
||||
});
|
||||
}
|
||||
|
||||
export { $t, elementLocale, setupI18n };
|
||||
@@ -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"
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,15 @@
|
||||
{
|
||||
"title": "关于项目",
|
||||
"basicInfo": "基本信息",
|
||||
"productionDependencies": "生产环境依赖",
|
||||
"devDependencies": "开发环境依赖",
|
||||
"version": "版本号",
|
||||
"license": "开源许可协议",
|
||||
"buildTime": "最后构建时间",
|
||||
"homepage": "主页",
|
||||
"docUrl": "文档地址",
|
||||
"previewUrl": "预览地址",
|
||||
"github": "Github",
|
||||
"author": "作者",
|
||||
"viewDetails": "点击查看"
|
||||
}
|
||||
@@ -0,0 +1,3 @@
|
||||
{
|
||||
"passwordLengthHint": "密码长度为 6-20 个字符"
|
||||
}
|
||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,73 @@
|
||||
{
|
||||
"title": "标题",
|
||||
"status": "状态",
|
||||
"priority": "优先级",
|
||||
"targetType": "接收范围",
|
||||
"readCount": "阅读数",
|
||||
"publisher": "发布人",
|
||||
"publishTime": "发布时间",
|
||||
"actions": "操作",
|
||||
"keyword": "关键词",
|
||||
"keywordPlaceholder": "请输入标题关键词",
|
||||
"statusAll": "全部",
|
||||
"statusDraft": "草稿",
|
||||
"statusPublished": "已发布",
|
||||
"statusExpired": "已过期",
|
||||
"priorityNormal": "普通",
|
||||
"priorityImportant": "重要",
|
||||
"priorityUrgent": "紧急",
|
||||
"targetTypeAll": "全员",
|
||||
"targetTypeDept": "指定部门",
|
||||
"targetTypeRole": "指定角色",
|
||||
"targetTypeUser": "指定用户",
|
||||
"topTag": "置顶",
|
||||
"createButton": "新增公告",
|
||||
"editButton": "编辑",
|
||||
"deleteButton": "删除",
|
||||
"publishButton": "发布",
|
||||
"statsButton": "阅读统计",
|
||||
"moreButton": "更多",
|
||||
"createTitle": "新增公告",
|
||||
"editTitle": "编辑公告",
|
||||
"deleteConfirm": "确定要删除公告 \"{title}\" 吗?",
|
||||
"deleteConfirmTitle": "删除确认",
|
||||
"publishConfirm": "确定发布该公告吗?发布后将通知相关用户。",
|
||||
"publishConfirmTitle": "发布确认",
|
||||
"deleteSuccess": "删除成功",
|
||||
"publishSuccess": "发布成功",
|
||||
"updateSuccess": "更新成功",
|
||||
"createSuccess": "创建成功",
|
||||
"formTitleLabel": "标题",
|
||||
"formTitlePlaceholder": "请输入公告标题",
|
||||
"formSummaryLabel": "摘要",
|
||||
"formSummaryPlaceholder": "请输入摘要(可选)",
|
||||
"formContentLabel": "内容",
|
||||
"formContentPlaceholder": "请输入公告内容",
|
||||
"formTitleRequired": "请输入公告标题",
|
||||
"formContentRequired": "请输入公告内容",
|
||||
"formPriorityLabel": "优先级",
|
||||
"formTopLabel": "置顶",
|
||||
"formTargetTypeLabel": "接收范围",
|
||||
"formExpireTimeLabel": "过期时间",
|
||||
"formExpireTimePlaceholder": "选择过期时间(可选)",
|
||||
"formCancelButton": "取消",
|
||||
"formSaveButton": "保存",
|
||||
"statsTitle": "阅读统计",
|
||||
"statsReadCount": "已阅读: {count} 人",
|
||||
"statsUserLabel": "用户",
|
||||
"statsReadTimeLabel": "阅读时间",
|
||||
"unreadOnly": "只看未读",
|
||||
"unreadOnlyAll": "全部",
|
||||
"unreadOnlyUnread": "未读",
|
||||
"unreadCount": "{count} 条未读",
|
||||
"viewButton": "查看",
|
||||
"publisherLabel": "发布人",
|
||||
"publishTimeLabel": "发布时间",
|
||||
"emptyList": "暂无公告",
|
||||
"loadingMore": "加载中...",
|
||||
"noMore": "没有更多了",
|
||||
"detailTitle": "公告详情",
|
||||
"selectHint": "请选择一条公告查看",
|
||||
"unreadLabel": "未读",
|
||||
"summary": "摘要"
|
||||
}
|
||||
@@ -0,0 +1,37 @@
|
||||
{
|
||||
"title": "API Token",
|
||||
"deviceManagement": "设备管理",
|
||||
"description": "API Token 可用于通过 API 访问系统资源,请妥善保管你的令牌。",
|
||||
"createToken": "创建令牌",
|
||||
"tokenName": "令牌名称",
|
||||
"tokenNamePlaceholder": "请输入令牌名称,例如:CI/CD 部署",
|
||||
"expirationDate": "过期时间",
|
||||
"neverExpiresHint": "不选择则永不过期",
|
||||
"tokenDescription": "描述",
|
||||
"tokenDescriptionPlaceholder": "可选,描述该令牌的用途",
|
||||
"neverExpires": "永不过期",
|
||||
"expired": "已过期",
|
||||
"expiresSoon": "{0} 天后过期",
|
||||
"createdAt": "创建时间",
|
||||
"lastUsed": "最后使用",
|
||||
"revokeToken": "撤销令牌",
|
||||
"revokeTitle": "撤销令牌",
|
||||
"revokeConfirm": "确定要撤销令牌「{0}」吗?撤销后将无法恢复。",
|
||||
"confirmRevoke": "确定撤销",
|
||||
"revokeSuccess": "令牌已撤销",
|
||||
"tokenCreated": "令牌创建成功",
|
||||
"tokenWarning": "请立即复制你的令牌,此令牌仅显示一次,关闭后将无法再次查看。",
|
||||
"copy": "复制",
|
||||
"copied": "已复制",
|
||||
"copySuccess": "令牌已复制到剪贴板",
|
||||
"copyError": "复制失败,请手动复制",
|
||||
"empty": "暂无 API Token,点击「创建令牌」生成你的第一个令牌",
|
||||
"nameRequired": "请输入令牌名称",
|
||||
"loadError": "加载令牌列表失败",
|
||||
"createError": "创建令牌失败",
|
||||
"days7": "7 天",
|
||||
"days30": "30 天",
|
||||
"days60": "60 天",
|
||||
"days90": "90 天",
|
||||
"days365": "1 年"
|
||||
}
|
||||
@@ -0,0 +1,75 @@
|
||||
{
|
||||
"title": "应用管理",
|
||||
"createApp": "创建应用",
|
||||
"editApp": "编辑应用",
|
||||
"search": "搜索",
|
||||
"searchPlaceholder": "搜索应用名称或编码",
|
||||
"noApps": "暂无应用",
|
||||
"appName": "应用名称",
|
||||
"appNamePlaceholder": "请输入应用名称",
|
||||
"appCode": "应用编码",
|
||||
"appCodePlaceholder": "请输入应用编码(用于URL路由)",
|
||||
"appType": "应用类型",
|
||||
"appTypePlaceholder": "请选择应用类型",
|
||||
"appDescription": "应用描述",
|
||||
"appDescriptionPlaceholder": "请输入应用描述",
|
||||
"appIcon": "应用图标",
|
||||
"systemMenu": "系统菜单",
|
||||
"systemMenuPlaceholder": "选择开发模式下显示的系统菜单(留空则显示全部)",
|
||||
"selectSystemMenu": "选择系统菜单",
|
||||
"save": "保存",
|
||||
"create": "创建",
|
||||
"cancel": "取消",
|
||||
"develop": "设置开发",
|
||||
"edit": "编辑",
|
||||
"publish": "发布",
|
||||
"enable": "启用",
|
||||
"disable": "停用",
|
||||
"delete": "删除",
|
||||
"publishApp": "发布应用",
|
||||
"enableApp": "启用应用",
|
||||
"disableApp": "停用应用",
|
||||
"confirmPublish": "确认发布",
|
||||
"confirmEnable": "确认启用",
|
||||
"confirmDisable": "确认停用",
|
||||
"publishConfirmMsg": "确定要发布应用「{name}」吗?",
|
||||
"enableConfirmMsg": "确定要重新启用应用「{name}」吗?",
|
||||
"publishSuccessMsg": "发布后,用户可以通过以下链接访问该应用:",
|
||||
"enableSuccessMsg": "启用后,用户可以通过以下链接访问该应用:",
|
||||
"disableConfirmMsg": "确定要停用应用「{name}」吗?",
|
||||
"appLink": "应用链接:",
|
||||
"deleteConfirm": "删除确认",
|
||||
"deleteConfirmMsg": "确定要删除应用「{name}」吗?",
|
||||
"confirm": "确定",
|
||||
"loadFailed": "加载应用列表失败",
|
||||
"publishSuccess": "发布成功",
|
||||
"publishFailed": "发布失败",
|
||||
"enableSuccess": "启用成功",
|
||||
"enableFailed": "启用失败",
|
||||
"disableSuccess": "停用成功",
|
||||
"disableFailed": "停用失败",
|
||||
"deleteSuccess": "删除成功",
|
||||
"copySuccess": "链接已复制到剪贴板",
|
||||
"copyFailed": "复制失败",
|
||||
"appTypes": {
|
||||
"mixed": "混合应用",
|
||||
"form": "表单应用",
|
||||
"workflow": "流程应用",
|
||||
"ai": "AI应用",
|
||||
"dashboard": "数据应用",
|
||||
"screen": "大屏应用"
|
||||
},
|
||||
"appStatus": {
|
||||
"draft": "开发中",
|
||||
"published": "已发布",
|
||||
"disabled": "已停用"
|
||||
},
|
||||
"validation": {
|
||||
"nameRequired": "请输入应用名称",
|
||||
"nameLength": "长度在 2 到 100 个字符",
|
||||
"codeRequired": "请输入应用编码",
|
||||
"codePattern": "编码必须以字母开头,只能包含字母、数字、下划线和短横线",
|
||||
"codeLength": "长度在 2 到 100 个字符",
|
||||
"typeRequired": "请选择应用类型"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,62 @@
|
||||
{
|
||||
"title": "流程标题",
|
||||
"type": "流程类型",
|
||||
"currentNode": "当前节点",
|
||||
"processNode": "处理节点",
|
||||
"initiator": "发起人",
|
||||
"receiveTime": "接收时间",
|
||||
"processTime": "处理时间",
|
||||
"copyTime": "抄送时间",
|
||||
"startTime": "发起时间",
|
||||
"actions": "操作",
|
||||
"processResult": "处理结果",
|
||||
"status": "状态",
|
||||
"approved": "已通过",
|
||||
"rejected": "已拒绝",
|
||||
"transferred": "已转交",
|
||||
"pending": "审批中",
|
||||
"cancelled": "已撤回",
|
||||
"unread": "未读",
|
||||
"read": "已读",
|
||||
"tabPending": "我的待办",
|
||||
"tabHandled": "我的已办",
|
||||
"tabInitiated": "我发起的",
|
||||
"tabCopy": "抄送我的",
|
||||
"approveButton": "审批",
|
||||
"detailButton": "详情",
|
||||
"urgeButton": "催办",
|
||||
"cancelButton": "撤回",
|
||||
"markReadButton": "标记已读",
|
||||
"emptyPending": "暂无待办任务",
|
||||
"emptyHandled": "暂无已办任务",
|
||||
"emptyInitiated": "暂无发起的流程",
|
||||
"emptyCopy": "暂无抄送",
|
||||
"urgeConfirm": "确定要催办此流程吗?",
|
||||
"cancelConfirm": "确定要撤回此流程吗?",
|
||||
"urgeSuccess": "催办成功",
|
||||
"cancelSuccess": "撤回成功",
|
||||
"markReadSuccess": "已标记为已读",
|
||||
"operationFailed": "操作失败",
|
||||
"dialogTitle": "审批",
|
||||
"initiatorLabel": "发起人",
|
||||
"startTimeLabel": "发起时间",
|
||||
"currentNodeLabel": "当前节点",
|
||||
"formDataTitle": "表单数据",
|
||||
"approvalLogsTitle": "审批记录",
|
||||
"approvalActionTitle": "审批操作",
|
||||
"approvalResultLabel": "审批结果",
|
||||
"approvalOpinionLabel": "审批意见",
|
||||
"approvalOpinionPlaceholder": "请输入审批意见(可选)",
|
||||
"approveAction": "通过",
|
||||
"rejectAction": "拒绝",
|
||||
"cancelButton2": "取消",
|
||||
"submitButton": "确认提交",
|
||||
"approveSuccess": "审批通过",
|
||||
"rejectSuccess": "已拒绝",
|
||||
"loadDataFailed": "加载数据失败",
|
||||
"startAction": "发起流程",
|
||||
"approveActionLabel": "通过",
|
||||
"rejectActionLabel": "拒绝",
|
||||
"transferAction": "转交",
|
||||
"cancelAction": "撤回"
|
||||
}
|
||||
@@ -0,0 +1,41 @@
|
||||
{
|
||||
"username": "用户名",
|
||||
"usernameTip": "请输入用户名",
|
||||
"password": "密码",
|
||||
"passwordTip": "请输入密码",
|
||||
"confirmPassword": "确认密码",
|
||||
"confirmPasswordTip": "两次输入密码不一致",
|
||||
"passwordStrength": "密码强度",
|
||||
"selectAccount": "选择账户",
|
||||
"verifyRequiredTip": "请完成滑块验证",
|
||||
"mobile": "手机号",
|
||||
"mobileTip": "请输入手机号",
|
||||
"mobileErrortip": "请输入正确的手机号",
|
||||
"code": "验证码",
|
||||
"codeTip": "验证码长度为 {0} 位",
|
||||
"sendCode": "发送验证码",
|
||||
"sendText": "重新发送({0}s)",
|
||||
"email": "邮箱",
|
||||
"emailTip": "请输入邮箱",
|
||||
"emailValidErrorTip": "请输入正确的邮箱格式",
|
||||
"agree": "我同意",
|
||||
"privacyPolicy": "隐私政策",
|
||||
"terms": "服务条款",
|
||||
"agreeTip": "请同意隐私政策和服务条款",
|
||||
"thirdPartyLogin": "第三方登录",
|
||||
"getAuthUrlFailed": "获取授权链接失败",
|
||||
"giteeLoginFailed": "Gitee 登录失败,请稍后重试",
|
||||
"githubLoginFailed": "GitHub 登录失败,请稍后重试",
|
||||
"qqLoginFailed": "QQ 登录失败,请稍后重试",
|
||||
"googleLoginFailed": "Google 登录失败,请稍后重试",
|
||||
"wechatLoginFailed": "微信登录失败,请稍后重试",
|
||||
"microsoftLoginFailed": "微软登录失败,请稍后重试",
|
||||
"dingtalkLoginFailed": "钉钉登录失败,请稍后重试",
|
||||
"feishuLoginFailed": "飞书登录失败,请稍后重试",
|
||||
"wechat": "微信",
|
||||
"wecom": "企业微信",
|
||||
"dingtalk": "钉钉",
|
||||
"feishu": "飞书",
|
||||
"wecomLoginFailed": "企业微信登录失败,请稍后重试",
|
||||
"dingtalkAutoRedirect": "检测到钉钉环境,正在跳转登录..."
|
||||
}
|
||||
@@ -0,0 +1,91 @@
|
||||
{
|
||||
"title": "聊天",
|
||||
"search": "搜索联系人或群聊",
|
||||
"noConversations": "暂无会话",
|
||||
"selectHint": "选择一个会话开始聊天",
|
||||
"newChat": "发起聊天",
|
||||
"newGroup": "创建群聊",
|
||||
"private": "单聊",
|
||||
"group": "群聊",
|
||||
"members": "成员",
|
||||
"memberCount": "{count} 人",
|
||||
"owner": "群主",
|
||||
"admin": "管理员",
|
||||
"member": "成员",
|
||||
"groupName": "群聊名称",
|
||||
"groupNamePlaceholder": "请输入群聊名称",
|
||||
"selectMembers": "选择成员",
|
||||
"selectMembersPlaceholder": "请选择群成员",
|
||||
"createGroupSuccess": "群聊创建成功",
|
||||
"inputPlaceholder": "输入消息...",
|
||||
"send": "发送",
|
||||
"sendImage": "发送图片",
|
||||
"sendFile": "发送文件",
|
||||
"recall": "撤回",
|
||||
"recallSuccess": "消息已撤回",
|
||||
"recallFailed": "撤回失败",
|
||||
"recallTimeout": "超过2分钟无法撤回",
|
||||
"messageRecalled": "消息已撤回",
|
||||
"typing": "正在输入...",
|
||||
"yesterday": "昨天",
|
||||
"pin": "置顶",
|
||||
"unpin": "取消置顶",
|
||||
"mute": "免打扰",
|
||||
"unmute": "取消免打扰",
|
||||
"conversationInfo": "会话信息",
|
||||
"addMember": "添加成员",
|
||||
"addMemberSuccess": "成员添加成功",
|
||||
"allMembersExist": "所选成员已在群聊中",
|
||||
"removeMember": "移除成员",
|
||||
"removeMemberConfirm": "确定移除该成员吗?",
|
||||
"dissolveGroup": "解散群聊",
|
||||
"dissolveGroupConfirm": "确定解散该群聊吗?解散后不可恢复。",
|
||||
"dissolveSuccess": "群聊已解散",
|
||||
"leaveGroup": "退出群聊",
|
||||
"noMessages": "暂无消息",
|
||||
"loadMore": "加载更多",
|
||||
"loading": "加载中...",
|
||||
"image": "图片",
|
||||
"file": "文件",
|
||||
"replyTo": "回复",
|
||||
"groupNameRequired": "请输入群聊名称",
|
||||
"membersRequired": "请至少选择一个成员",
|
||||
"recentChats": "最近聊天",
|
||||
"contacts": "联系人",
|
||||
"searchContacts": "搜索联系人",
|
||||
"noContacts": "暂无联系人",
|
||||
"startChat": "发起聊天",
|
||||
"online": "在线",
|
||||
"offline": "离线",
|
||||
"sending": "发送中...",
|
||||
"contactDetail": "联系人详情",
|
||||
"contactDept": "部门",
|
||||
"contactPost": "岗位",
|
||||
"contactManager": "直属上级",
|
||||
"contactEmail": "邮箱",
|
||||
"contactMobile": "手机",
|
||||
"contactCity": "城市",
|
||||
"contactType": "用户类型",
|
||||
"contactOrg": "组织架构",
|
||||
"contactOrgInfo": "组织信息",
|
||||
"contactInfo": "联系方式",
|
||||
"selectContactHint": "选择一个联系人查看详情",
|
||||
"copy": "复制",
|
||||
"copySuccess": "已复制到剪贴板",
|
||||
"replyingTo": "回复 {name}",
|
||||
"markUnread": "标记未读",
|
||||
"deleteConversation": "删除记录",
|
||||
"deleteConversationConfirm": "确定删除该会话记录吗?",
|
||||
"deleteSuccess": "已删除",
|
||||
"orgStructure": "组织架构",
|
||||
"emoji": "表情",
|
||||
"voiceMessage": "语音消息",
|
||||
"voiceTooShort": "录音时间太短",
|
||||
"voiceUploading": "语音发送中...",
|
||||
"micPermissionDenied": "无法访问麦克风,请检查浏览器权限",
|
||||
"voice": "语音",
|
||||
"dropToUpload": "松开发送文件",
|
||||
"newMessage": "新消息",
|
||||
"systemNotification": "系统通知",
|
||||
"viewDetail": "查看详情"
|
||||
}
|
||||
@@ -0,0 +1,188 @@
|
||||
{
|
||||
"all": "全部",
|
||||
"mainApp": "主应用",
|
||||
"close": "关闭",
|
||||
"operation": "操作",
|
||||
"next": "下一步",
|
||||
"prev": "上一步",
|
||||
"cancel": "取消",
|
||||
"cancelEdit": "取消编辑",
|
||||
"ok": "确定",
|
||||
"confirm": "确认",
|
||||
"confirmAndContinue": "确认并继续",
|
||||
"save": "保存",
|
||||
"add": "新增",
|
||||
"delete": "删除",
|
||||
"edit": "编辑",
|
||||
"update": "更新",
|
||||
"reset": "重置",
|
||||
"status": "状态",
|
||||
"enabled": "启用",
|
||||
"disabled": "禁用",
|
||||
"selected": "已选择",
|
||||
"noData": "暂无数据",
|
||||
"loading": "加载中",
|
||||
"loadMore": "加载更多",
|
||||
"noMore": "没有更多数据了",
|
||||
"noMoreData": "没有更多数据",
|
||||
"justNow": "刚刚",
|
||||
"minutesAgo": "分钟前",
|
||||
"hoursAgo": "小时前",
|
||||
"yesterday": "昨天",
|
||||
"daysAgo": "天前",
|
||||
"tips": "提示",
|
||||
"warning": "警告",
|
||||
"success": "成功",
|
||||
"info": "信息",
|
||||
"error": "错误",
|
||||
"primary": "主要",
|
||||
"search": "搜索",
|
||||
"clear": "清空",
|
||||
"replace": "替换",
|
||||
"copy": "复制",
|
||||
"format": "格式化",
|
||||
"compress": "压缩",
|
||||
"redo": "重做",
|
||||
"jsonEditor": {
|
||||
"placeholder": "输入或粘贴 JSON",
|
||||
"valid": "✓ 有效",
|
||||
"invalid": "✗ 无效",
|
||||
"format": "格式化",
|
||||
"compress": "压缩",
|
||||
"copy": "复制",
|
||||
"clear": "清空",
|
||||
"copiedSuccess": "已复制到剪贴板",
|
||||
"copyFailed": "复制失败",
|
||||
"noContent": "没有内容可复制",
|
||||
"formatSuccess": "格式化成功",
|
||||
"formatFailed": "格式化失败: {0}",
|
||||
"compressSuccess": "压缩成功",
|
||||
"compressFailed": "压缩失败: {0}",
|
||||
"invalidJson": "JSON 格式错误",
|
||||
"emptyContent": "请输入 JSON 内容",
|
||||
"stats": "行: {0} | 字符: {1}"
|
||||
},
|
||||
"ui": {
|
||||
"placeholder": {
|
||||
"select": "选择",
|
||||
"selectAll": "全选",
|
||||
"search": "请输入搜索内容"
|
||||
},
|
||||
"actionTitle": {
|
||||
"create": "新建{0}",
|
||||
"add": "添加{0}",
|
||||
"edit": "编辑{0}",
|
||||
"view": "查看{0}",
|
||||
"delete": "删除{0}"
|
||||
},
|
||||
"actionMessage": {
|
||||
"createSuccess": "创建成功",
|
||||
"createError": "创建失败",
|
||||
"updateSuccess": "更新成功",
|
||||
"updateError": "更新失败",
|
||||
"deleteSuccess": "删除成功",
|
||||
"deleteConfirm": "确定要删除 {0} 吗?",
|
||||
"deleteError": "删除失败",
|
||||
"loadError": "加载失败"
|
||||
},
|
||||
"submit": "提交",
|
||||
"formRules": {
|
||||
"required": "{0}不能为空",
|
||||
"minLength": "{0}最少{1}个字符",
|
||||
"maxLength": "{0}最多{1}个字符",
|
||||
"alreadyExists": "{0} {1} 已存在",
|
||||
"startWith": "{0}必须以{1}开头",
|
||||
"invalidURL": "请输入有效的 URL"
|
||||
}
|
||||
},
|
||||
"yes": "是",
|
||||
"no": "否",
|
||||
"male": "男",
|
||||
"female": "女",
|
||||
"fullscreen": "全屏",
|
||||
"exitFullscreen": "退出全屏",
|
||||
"setting": "设置",
|
||||
"columnSetting": "列设置",
|
||||
"sort": "排序",
|
||||
"batchDelete": "批量删除",
|
||||
"export": "导出",
|
||||
"import": "导入",
|
||||
"downloadTemplate": "下载模板",
|
||||
"view": "查看",
|
||||
"summarySum": "合计",
|
||||
"summaryAvg": "平均",
|
||||
"summaryCount": "计数",
|
||||
"summaryMax": "最大",
|
||||
"summaryMin": "最小",
|
||||
"startDate": "开始日期",
|
||||
"endDate": "结束日期",
|
||||
"selectDate": "选择日期",
|
||||
"table": "表格",
|
||||
"action": "操作",
|
||||
"placeholder": "请输入",
|
||||
"selectPlaceholder": "请选择",
|
||||
"back": "返回",
|
||||
"createSuccess": "创建成功",
|
||||
"updateSuccess": "更新成功",
|
||||
"saveFailed": "保存失败",
|
||||
"noDescription": "暂无描述",
|
||||
"applicationName": "所属应用",
|
||||
"more": "更多",
|
||||
"copied": "已复制",
|
||||
"deleted": "已删除",
|
||||
"duplicate": "复制",
|
||||
"description": "描述",
|
||||
"download": "下载",
|
||||
"downloadFailed": "下载失败",
|
||||
"loadError": "加载失败",
|
||||
"loadFailed": "加载失败",
|
||||
"loadingMenu": "加载菜单中",
|
||||
"moveDown": "下移",
|
||||
"moveUp": "上移",
|
||||
"none": "无",
|
||||
"operationFailed": "操作失败",
|
||||
"operationSuccess": "操作成功",
|
||||
"pasted": "已粘贴",
|
||||
"preview": "预览",
|
||||
"prompt": "提示",
|
||||
"redone": "已重做",
|
||||
"refresh": "刷新",
|
||||
"row": "行",
|
||||
"saveSuccess": "保存成功",
|
||||
"select": "选择",
|
||||
"selectAll": "全选",
|
||||
"unselectAll": "取消全选",
|
||||
"submit": "提交",
|
||||
"tip": "提示",
|
||||
"undo": "撤销",
|
||||
"undone": "已撤销",
|
||||
"video": "视频",
|
||||
"exportData": "导出数据",
|
||||
"exportSuccess": "导出成功",
|
||||
"exportFailed": "导出失败",
|
||||
"exportCompleted": "导出完成,共 {0} 条数据",
|
||||
"exportPreparing": "正在准备导出...",
|
||||
"exportReady": "准备导出...",
|
||||
"exportQuerying": "正在查询数据 {0} / {1} 条...",
|
||||
"exportGeneratingExcel": "正在生成 Excel 文件...",
|
||||
"exportGeneratingExcelShort": "生成 Excel 中...",
|
||||
"querying": "查询中...",
|
||||
"retryExport": "重新导出",
|
||||
"fileDownloadFailed": "文件下载失败,请重试",
|
||||
"records": "条",
|
||||
"importFailed": "导入失败",
|
||||
"importPreparing": "正在准备导入...",
|
||||
"importParsing": "正在解析 Excel 数据 {0} / {1} 行...",
|
||||
"importImporting": "正在导入数据 {0} / {1} 条...",
|
||||
"importValidating": "正在验证数据 {0} / {1} 行...",
|
||||
"validatePreparing": "正在准备验证...",
|
||||
"importValidatingData": "正在校验数据唯一性...",
|
||||
"willInsert": "将新增 {0} 条",
|
||||
"willUpdate": "将更新 {0} 条",
|
||||
"willOverwrite": "将覆盖导入 {0} 条",
|
||||
"comma": ",",
|
||||
"closeConfirmTitle": "确认关闭",
|
||||
"closeConfirmMessage": "操作正在进行中,关闭将中断当前操作。确定要关闭吗?",
|
||||
"maxImportRows": "当前服务器最大支持导入 {0} 万行数据",
|
||||
"maxExportRows": "当前服务器最大支持导出 {0} 万行数据"
|
||||
}
|
||||
@@ -0,0 +1,216 @@
|
||||
{
|
||||
"attributePanel": "属性配置",
|
||||
"elementPanel": "元素",
|
||||
"templatePanel": "模板",
|
||||
"variablePanel": "变量",
|
||||
"selectElement": "请选择一个元素",
|
||||
"titleContent": "标题内容",
|
||||
"titleLevel": "标题级别",
|
||||
"alignment": "对齐方式",
|
||||
"fontSize": "字体大小",
|
||||
"fontWeight": "字体粗细",
|
||||
"normal": "正常",
|
||||
"bold": "粗体",
|
||||
"paragraphContent": "段落内容",
|
||||
"lineHeight": "行高",
|
||||
"indent": "首行缩进(字符)",
|
||||
"selectVariable": "选择变量",
|
||||
"placeholderVariable": "请选择变量",
|
||||
"variableInfo": "变量信息",
|
||||
"required": "必填",
|
||||
"optional": "选填",
|
||||
"placeholderText": "占位符文本",
|
||||
"notFilledText": "未填写时显示的文本",
|
||||
"minWidth": "最小宽度",
|
||||
"showUnderline": "显示下划线",
|
||||
"usageInstructions": "使用说明",
|
||||
"variableUsageDesc": "选择变量后,该变量会自动添加到模板的变量列表中。签署时用户需要填写这些变量的值。",
|
||||
"showBorder": "显示边框",
|
||||
"headerBgColor": "表头背景色",
|
||||
"tableColumns": "表格列",
|
||||
"column": "列",
|
||||
"delete": "删除",
|
||||
"columnTitle": "列标题",
|
||||
"width": "宽度",
|
||||
"left": "左",
|
||||
"center": "中",
|
||||
"right": "右",
|
||||
"justify": "两端",
|
||||
"addColumn": "添加列",
|
||||
"addRow": "添加行",
|
||||
"signatory": "签署方",
|
||||
"labelText": "标签文字",
|
||||
"alignLeft": "靠左",
|
||||
"alignCenter": "居中",
|
||||
"alignRight": "靠右",
|
||||
"height": "高度",
|
||||
"showLabel": "显示标签",
|
||||
"showDate": "显示日期",
|
||||
"mustSign": "必须签署",
|
||||
"label": "标签",
|
||||
"dateFormat": "日期格式",
|
||||
"lineStyle": "线条样式",
|
||||
"solid": "实线",
|
||||
"dashed": "虚线",
|
||||
"dotted": "点线",
|
||||
"lineColor": "线条颜色",
|
||||
"marginVertical": "上下边距",
|
||||
"imageUrl": "图片地址",
|
||||
"enterImageUrl": "请输入图片URL",
|
||||
"minHeight": "最小高度",
|
||||
"padding": "内边距",
|
||||
"borderColor": "边框颜色",
|
||||
"backgroundColor": "背景色",
|
||||
"editTip": "编辑提示",
|
||||
"richTextEditDesc": "双击富文本元素可直接在画布中编辑内容,支持:",
|
||||
"boldItalicUnderline": "加粗、斜体、下划线",
|
||||
"headingListQuote": "标题、列表、引用",
|
||||
"insertContent": "插入链接、图片、表格",
|
||||
"templateName": "模板名称",
|
||||
"templateCode": "模板编码",
|
||||
"templateCategory": "模板分类",
|
||||
"templateDescription": "模板描述",
|
||||
"pageSettings": "页面设置",
|
||||
"pageSize": "页面尺寸",
|
||||
"pageMargin": "页边距 (px)",
|
||||
"top": "上",
|
||||
"bottom": "下",
|
||||
"variableDescription": "变量说明",
|
||||
"variableDescText": "在画布中添加\"变量占位符\"并选择变量后,变量会自动添加到此列表。签署时用户需要填写这些变量的值。",
|
||||
"usedVariables": "已使用的变量",
|
||||
"remove": "移除",
|
||||
"availableVariables": "可用变量列表",
|
||||
"partyA": "甲方",
|
||||
"partyB": "乙方",
|
||||
"partyC": "丙方",
|
||||
"witness": "见证方",
|
||||
"typeTitle": "标题",
|
||||
"typeParagraph": "段落",
|
||||
"typeRichText": "富文本",
|
||||
"typeVariable": "变量",
|
||||
"typeTable": "表格",
|
||||
"typeSignatureZone": "签名区",
|
||||
"typeSealZone": "盖章区",
|
||||
"typeDateZone": "日期区",
|
||||
"typeDivider": "分割线",
|
||||
"typePageBreak": "分页符",
|
||||
"typeImage": "图片",
|
||||
"text": "文本",
|
||||
"number": "数字",
|
||||
"date": "日期",
|
||||
"money": "金额",
|
||||
"select": "选择",
|
||||
"noVariablesText": "暂无变量,请在画布中添加变量占位符",
|
||||
"clickToFill": "点击填写",
|
||||
"signature": "签名",
|
||||
"signed": "已签署",
|
||||
"clickToSign": "点击签名",
|
||||
"sealArea": "盖章处",
|
||||
"sealed": "已盖章",
|
||||
"clickToSeal": "点击盖章",
|
||||
"noContent": "暂无内容",
|
||||
"dateLabel": "日期",
|
||||
"fillVariable": "填写变量",
|
||||
"enterVariableValue": "请输入变量值",
|
||||
"cancel": "取消",
|
||||
"confirm": "确定",
|
||||
"signHere": "请在此处签名",
|
||||
"undo": "撤销",
|
||||
"clear": "清空",
|
||||
"contractTemplate": "合同模板",
|
||||
"elements": "个元素",
|
||||
"redo": "重做",
|
||||
"preview": "预览",
|
||||
"viewJSON": "查看JSON",
|
||||
"import": "导入",
|
||||
"export": "导出",
|
||||
"save": "保存",
|
||||
"dragOrClickToAdd": "拖拽或点击左侧元素添加到画布",
|
||||
"releaseToAdd": "释放鼠标添加元素",
|
||||
"pageBreakLabel": "第 {page1} 页结束 / 第 {page2} 页开始",
|
||||
"margin": "边距",
|
||||
"uploadImageFileOnly": "请上传图片文件",
|
||||
"imageSizeExceeded": "图片大小不能超过 2MB",
|
||||
"pleaseSignFirst": "请先签名",
|
||||
"pleaseUploadSignatureImage": "请先上传签名图片",
|
||||
"drawSignature": "手写签名",
|
||||
"uploadSignature": "上传签名",
|
||||
"signaturePreview": "签名预览",
|
||||
"clickOrDragToUpload": "点击或拖拽上传签名图片",
|
||||
"supportedFormatsAndSize": "支持 JPG、PNG 格式,最大 2MB",
|
||||
"confirmSignature": "确认签名",
|
||||
"contract": "合同",
|
||||
"exportSuccess": "PDF 导出成功",
|
||||
"contractPreview": "合同预览",
|
||||
"totalPages": "共 {count} 页",
|
||||
"pageLabel": "第 {current} / {total} 页",
|
||||
"close": "关闭",
|
||||
"exportPdf": "导出PDF",
|
||||
"exporting": "导出中...",
|
||||
"signer": "签署方",
|
||||
"pleaseCompleteMandatoryFields": "请填写必填项:{fields}",
|
||||
"signedSuccessfully": "签署成功",
|
||||
"contractSigning": "合同签署",
|
||||
"fillInformation": "填写信息",
|
||||
"previewContract": "预览合同",
|
||||
"signatureConfirmation": "签名确认",
|
||||
"pleaseEnter": "请输入{field}",
|
||||
"pleaseSelect": "请选择{field}",
|
||||
"pleaseSignInArea": "请在下方区域签名",
|
||||
"previousStep": "上一步",
|
||||
"nextStep": "下一步",
|
||||
"confirmSigning": "确认签署",
|
||||
"signingTime": "签署时间",
|
||||
"textElements": "文本元素",
|
||||
"variableElements": "变量元素",
|
||||
"signatureElements": "签署元素",
|
||||
"layoutElements": "布局元素",
|
||||
"searchElements": "搜索元素...",
|
||||
"dragOrClickAddElements": "拖拽或点击添加元素",
|
||||
"sampleTemplates": "示例模板",
|
||||
"selectTemplateToStart": "选择模板快速开始,点击后将替换当前画布内容",
|
||||
"commonContracts": "常用合同",
|
||||
"hrContracts": "人事合同",
|
||||
"businessContracts": "商务合同",
|
||||
"templateLoaded": "已加载模板:{name}",
|
||||
"contractElements": "合同元素",
|
||||
"partyAInfo": "甲方信息",
|
||||
"partyBInfo": "乙方信息",
|
||||
"contractInfo": "合同信息",
|
||||
"otherInfo": "其他信息",
|
||||
"contractTitle": "合同标题",
|
||||
"paragraphText": "段落文本",
|
||||
"richText": "富文本",
|
||||
"variablePlaceholder": "变量占位符",
|
||||
"table": "表格",
|
||||
"signatureZone": "签名区",
|
||||
"sealZone": "盖章区",
|
||||
"dateZone": "日期区",
|
||||
"divider": "分割线",
|
||||
"pageBreak": "分页符",
|
||||
"image": "图片",
|
||||
"pleaseAddContractElements": "请先添加合同元素",
|
||||
"saveSuccess": "保存成功",
|
||||
"clearCanvasConfirm": "确定要清空画布吗?此操作不可撤销。",
|
||||
"tip": "提示",
|
||||
"confirm": "确定",
|
||||
"cancel": "取消",
|
||||
"cleared": "已清空",
|
||||
"exportSuccess": "导出成功",
|
||||
"pleaseEnterConfig": "请输入配置内容",
|
||||
"importSuccess": "导入成功",
|
||||
"configFormatError": "配置格式错误",
|
||||
"copiedToClipboard": "已复制到剪贴板",
|
||||
"copyFailed": "复制失败",
|
||||
"undone": "已撤销",
|
||||
"redone": "已重做",
|
||||
"copied": "已复制",
|
||||
"pasted": "已粘贴",
|
||||
"deleted": "已删除",
|
||||
"jsonPreview": "JSON预览",
|
||||
"copyCode": "复制代码",
|
||||
"close": "关闭",
|
||||
"importConfig": "导入配置",
|
||||
"pasteJsonConfig": "请粘贴 JSON 配置内容...",
|
||||
"import": "导入"
|
||||
}
|
||||
@@ -0,0 +1,150 @@
|
||||
{
|
||||
"contractNo": "合同编号",
|
||||
"contractTitle": "合同标题",
|
||||
"templateNameUsed": "使用模板",
|
||||
"statusLabel": "状态",
|
||||
"creatorName": "创建人",
|
||||
"createdTimeInstance": "创建时间",
|
||||
"completedTimeInstance": "完成时间",
|
||||
"actions": "操作",
|
||||
"statusDraft": "草稿",
|
||||
"statusPending": "待签署",
|
||||
"statusSigning": "签署中",
|
||||
"statusCompleted": "已完成",
|
||||
"statusCanceled": "已取消",
|
||||
"statusExpired": "已过期",
|
||||
"createContract": "创建合同",
|
||||
"view": "查看",
|
||||
"edit": "编辑",
|
||||
"copy": "复制",
|
||||
"mobileSignButton": "手机签",
|
||||
"submit": "提交",
|
||||
"complete": "完成",
|
||||
"cancel": "取消",
|
||||
"delete": "删除",
|
||||
"submitConfirm": "确定要提交这个合同吗?提交后将进入待签署状态。",
|
||||
"submitConfirmTitle": "提交确认",
|
||||
"submitSuccess": "提交成功",
|
||||
"completeConfirm": "确定要完成这个合同吗?",
|
||||
"completeConfirmTitle": "完成确认",
|
||||
"completeSuccess": "合同已完成",
|
||||
"cancelConfirm": "确定要取消这个合同吗?",
|
||||
"cancelConfirmTitle": "取消确认",
|
||||
"cancelSuccess": "已取消",
|
||||
"deleteConfirm": "确定要删除这个合同吗?",
|
||||
"deleteConfirmTitle": "删除确认",
|
||||
"deleteSuccess": "删除成功",
|
||||
"templateNameLabel": "模板名称",
|
||||
"templateCodeLabel": "模板编码",
|
||||
"categoryLabel2": "分类",
|
||||
"version": "版本",
|
||||
"createTimeTemplate": "创建时间",
|
||||
"categoryName": "分类",
|
||||
"categorySales": "销售合同",
|
||||
"categoryPurchase": "采购合同",
|
||||
"categoryLabor": "劳动合同",
|
||||
"categoryLease": "租赁合同",
|
||||
"categoryService": "服务合同",
|
||||
"categoryOther": "其他",
|
||||
"statusPublished": "已发布",
|
||||
"statusDisabled": "已停用",
|
||||
"addTemplateButton": "新增模板",
|
||||
"batchDelete": "批量删除",
|
||||
"batchDeleteConfirm": "确定要删除选中的 {count} 个模板吗?",
|
||||
"batchDeleteConfirmTitle": "批量删除确认",
|
||||
"publish": "发布",
|
||||
"publishConfirm": "确定要发布这个模板吗?发布后可用于创建合同。",
|
||||
"publishConfirmTitle": "发布确认",
|
||||
"publishSuccess": "发布成功",
|
||||
"disable": "停用",
|
||||
"disableConfirm": "确定要停用这个模板吗?停用后将无法创建新合同。",
|
||||
"disableConfirmTitle": "停用确认",
|
||||
"disableSuccess": "停用成功",
|
||||
"copyTemplate": "复制模板",
|
||||
"copyPrompt": "请输入新模板的编码",
|
||||
"copyConfirm": "确定",
|
||||
"copyCancel": "取消",
|
||||
"copyCodePattern": "编码必须以字母开头,只能包含字母、数字和下划线",
|
||||
"copiedSuccess": "复制成功",
|
||||
"pleaseSelectTemplate": "请选择合同模板",
|
||||
"pleaseInputTitle": "请输入合同标题",
|
||||
"pleaseInputContractNo": "请输入合同编号",
|
||||
"contractNoInvalid": "合同编号无效",
|
||||
"contractNoDuplicate": "合同编号已存在",
|
||||
"basicInfo": "基础信息",
|
||||
"variableFill": "变量填写",
|
||||
"createDialog": "创建合同",
|
||||
"editDialog": "编辑合同",
|
||||
"copyDialog": "复制合同",
|
||||
"basicInfoConfig": "基础信息配置",
|
||||
"contractTemplate": "合同模板",
|
||||
"selectTemplate": "请选择合同模板",
|
||||
"contractNoLabel": "合同编号",
|
||||
"inputContractNo": "请输入合同编号",
|
||||
"regenerate": "重新生成",
|
||||
"contractTitleLabel": "合同标题",
|
||||
"inputContractTitle": "请输入合同标题",
|
||||
"contractPreview": "合同预览",
|
||||
"variableRealtime": "变量将实时替换显示",
|
||||
"variableFillForm": "变量填写",
|
||||
"noVariables": "此模板没有需要填写的变量",
|
||||
"previousStep": "上一步",
|
||||
"nextStep": "下一步",
|
||||
"save": "保存",
|
||||
"close": "关闭",
|
||||
"saveSuccess": "保存成功",
|
||||
"createSuccess": "创建成功",
|
||||
"loadTemplateFailed": "加载模板详情失败",
|
||||
"loadContractFailed": "加载合同数据失败",
|
||||
"saveFailed": "保存失败",
|
||||
"noTemplatesAvailable": "暂无可用模板,请先发布合同模板",
|
||||
"selectNothing": "请先选择要删除的模板",
|
||||
"selectNothingWarning": "请先选择要删除的模板",
|
||||
"contractDetail": "合同详情",
|
||||
"pageNumber": "第 {page} / {total} 页",
|
||||
"noContent": "暂无内容",
|
||||
"mobileSign": "手机签署",
|
||||
"contract": "合同",
|
||||
"partyType": "签署方:",
|
||||
"signerName": "签署人:",
|
||||
"signerNamePlaceholder": "可选,填写签署人姓名",
|
||||
"signQrCode": "签署二维码",
|
||||
"generatingQrCode": "正在生成二维码...",
|
||||
"scanQrCodeToSign": "请使用手机扫描二维码进行签署",
|
||||
"qrCodeExpiredAt": "二维码有效期至 {time}",
|
||||
"refreshQrCode": "刷新二维码",
|
||||
"invalidSignUrl": "无效的签署链接",
|
||||
"pleaseSign": "请先签名",
|
||||
"loading": "加载中...",
|
||||
"checkSignUrl": "请检查签署链接是否正确,或联系合同发起人",
|
||||
"signComplete": "签署完成",
|
||||
"signCompleteMsg": "您已成功完成签署,可以关闭此页面",
|
||||
"pleaseSignArea": "请在以下区域签署",
|
||||
"signed": "已签署",
|
||||
"sign": "签署",
|
||||
"noSignArea": "暂无需要您签署的区域",
|
||||
"contractCompleted": "合同已完成签署",
|
||||
"handwriteSign": "手写签名",
|
||||
"signInArea": "请在下方区域手写签名",
|
||||
"confirmSign": "确认签署",
|
||||
"editTemplate": "编辑合同模板",
|
||||
"viewTemplate": "查看合同模板",
|
||||
"addTemplate": "新增合同模板",
|
||||
"templateName": "模板名称",
|
||||
"inputTemplateName": "请输入模板名称",
|
||||
"templateCode": "模板编码",
|
||||
"inputTemplateCode": "请输入模板编码",
|
||||
"selectCategory": "请选择分类",
|
||||
"templateDescription": "模板说明",
|
||||
"inputTemplateDescription": "请输入模板说明",
|
||||
"contractNumber": "合同编号",
|
||||
"usedTemplate": "使用模板",
|
||||
"status": "状态",
|
||||
"creator": "创建人",
|
||||
"createdTime": "创建时间",
|
||||
"completedTime": "完成时间",
|
||||
"completeSign": "完成签署",
|
||||
"exportPdf": "导出 PDF",
|
||||
"operationLog": "操作日志",
|
||||
"noOperationLog": "暂无操作日志"
|
||||
}
|
||||
@@ -0,0 +1,283 @@
|
||||
{
|
||||
"basicInfo": "基础信息",
|
||||
"codePlaceholder": "请输入唯一编码,如 user_list",
|
||||
"dataSourceConfig": "数据源配置",
|
||||
"dataSourceName": "数据源名称",
|
||||
"inputDataSourceName": "请输入数据源名称",
|
||||
"dataSourceType": "数据源类型",
|
||||
"selectDataSourceType": "请选择数据源类型",
|
||||
"dataSourceDescription": "数据源描述",
|
||||
"inputDataSourceDescription": "请输入数据源描述",
|
||||
"testConnection": "测试连接",
|
||||
"testConnectionSuccess": "连接成功",
|
||||
"testConnectionFailed": "连接失败",
|
||||
"testing": "测试中...",
|
||||
"save": "保存",
|
||||
"create": "创建",
|
||||
"query": "查询",
|
||||
"sqlEditor": "SQL编辑器",
|
||||
"executeSql": "执行SQL",
|
||||
"executing": "执行中...",
|
||||
"queryResult": "查询结果",
|
||||
"noData": "暂无数据",
|
||||
"error": "错误",
|
||||
"confirm": "确定",
|
||||
"close": "关闭",
|
||||
"dbSchema": "数据库",
|
||||
"tables": "表",
|
||||
"columns": "列",
|
||||
"dataType": "数据类型",
|
||||
"nullable": "可空",
|
||||
"primaryKey": "主键",
|
||||
"loading": "加载中...",
|
||||
"paramType": "参数类型",
|
||||
"resultType": "结果类型",
|
||||
"httpMethod": "HTTP方法",
|
||||
"requestUrl": "请求URL",
|
||||
"inputRequestUrl": "请输入请求URL",
|
||||
"requestHeaders": "请求头",
|
||||
"requestBody": "请求体",
|
||||
"responseMapping": "响应映射",
|
||||
"addParam": "添加参数",
|
||||
"paramName": "参数名",
|
||||
"paramValue": "参数值",
|
||||
"paramLabel": "显示名",
|
||||
"deleteParam": "删除参数",
|
||||
"total": "总数",
|
||||
"limited": "限制",
|
||||
"dataSourceList": "数据源列表",
|
||||
"createDataSource": "创建数据源",
|
||||
"editDataSource": "编辑数据源",
|
||||
"deleteDataSourceConfirm": "确定要删除此数据源吗?",
|
||||
"deleteDataSourceSuccess": "删除成功",
|
||||
"createDataSourceSuccess": "创建成功",
|
||||
"updateDataSourceSuccess": "更新成功",
|
||||
"loadDataSourceFailed": "加载数据源失败",
|
||||
"testDataSourceFailed": "测试数据源失败",
|
||||
"previousStep": "上一步",
|
||||
"nextStep": "下一步",
|
||||
"basicInfoConfig": "基础信息配置",
|
||||
"status": "状态",
|
||||
"enable": "启用",
|
||||
"disable": "禁用",
|
||||
"selectDbSchema": "请在左侧选择数据库",
|
||||
"tip": "提示",
|
||||
"useParamPlaceholder": "使用",
|
||||
"onlySelectQuery": "作为参数占位符,只允许 SELECT 查询",
|
||||
"paramDefinition": "参数定义",
|
||||
"defineDataSourceParams": "定义数据源可接收的参数",
|
||||
"required": "必填",
|
||||
"action": "操作",
|
||||
"resultProcessing": "结果处理",
|
||||
"resultTypeListDesc": "直接返回数组数据,适用于表格、下拉选择等组件。",
|
||||
"resultTypeTreeDesc": "将平铺列表转换为树形结构,适用于树形选择、级联选择等组件。",
|
||||
"resultTypeObjectDesc": "返回第一条记录作为对象,适用于详情展示、表单回填等场景。",
|
||||
"resultTypeValueDesc": "返回第一条记录的第一个字段值,适用于统计数字、标题等场景。",
|
||||
"resultTypeChartAxisDesc": "转换为 xAxisData, seriesData 格式,适用于折线图、柱状图、面积图。",
|
||||
"resultTypeChartPieDesc": "转换为 seriesData: [name, value] 格式,适用于饼图、漏斗图。",
|
||||
"resultTypeChartGaugeDesc": "转换为 value, name, max 格式,适用于仪表盘、进度图。",
|
||||
"resultTypeChartRadarDesc": "转换为 indicator, seriesData 格式,适用于雷达图、多维对比。",
|
||||
"resultTypeChartScatterDesc": "转换为 seriesData: [x, y] 格式,适用于散点图、气泡图。",
|
||||
"resultTypeChartHeatmapDesc": "转换为 xAxisData, yAxisData, seriesData 格式,适用于热力图。",
|
||||
"treeConversionConfig": "树形转换配置",
|
||||
"refresh": "刷新",
|
||||
"fieldPreview": "字段预览",
|
||||
"clickTableToView": "点击表名查看",
|
||||
"selectTable": "请选择一个表",
|
||||
"noFieldInfo": "暂无字段信息",
|
||||
"clickFieldToInsert": "点击字段名插入到编辑器",
|
||||
"testDataSource": "测试数据源",
|
||||
"dataSourceInfo": "数据源信息",
|
||||
"code": "编码",
|
||||
"type": "类型",
|
||||
"name": "名称",
|
||||
"inputCode": "请输入编码",
|
||||
"all": "全部",
|
||||
"staticData": "静态数据",
|
||||
"staticLabel": "静态",
|
||||
"batchDelete": "批量删除",
|
||||
"edit": "编辑",
|
||||
"delete": "删除",
|
||||
"more": "更多",
|
||||
"copy": "复制",
|
||||
"deleteConfirmMessage": "确定要删除数据源 \"{name}\" 吗?",
|
||||
"deleteConfirmTitle": "删除确认",
|
||||
"deleteSuccess": "已删除数据源: {name}",
|
||||
"batchDeleteConfirmMessage": "确定要删除选中的 {count} 个数据源吗?",
|
||||
"batchDeleteConfirmTitle": "批量删除确认",
|
||||
"batchDeleteSuccess": "已删除 {count} 个数据源",
|
||||
"inputNewCode": "请输入新数据源编码",
|
||||
"copyDataSource": "复制数据源",
|
||||
"codeFormatError": "编码必须以字母开头,只能包含字母、数字和下划线",
|
||||
"copySuccess": "复制成功",
|
||||
"importExport": {
|
||||
"export": "导出",
|
||||
"import": "导入配置",
|
||||
"exportSuccess": "数据源配置已导出",
|
||||
"exportFailed": "导出失败",
|
||||
"importTitle": "导入数据源配置",
|
||||
"dragOrClick": "拖拽 JSON 文件到此处或点击上传",
|
||||
"onlyJson": "仅支持 .json 格式文件",
|
||||
"fileParseError": "文件解析失败,请确认文件格式正确",
|
||||
"checking": "正在检查...",
|
||||
"codeConflictTip": "数据源编码已存在,请修改编码后再导入",
|
||||
"codeAvailable": "数据源编码可用,可以导入",
|
||||
"newCodePlaceholder": "请输入新的数据源编码",
|
||||
"importSuccess": "数据源配置导入成功",
|
||||
"importFailed": "导入失败",
|
||||
"confirmImport": "确认导入",
|
||||
"reselect": "重新选择",
|
||||
"dataSourceInfo": "数据源信息",
|
||||
"appTip": "导入的数据源将归属到当前应用",
|
||||
"dbConnectionTip": "SQL 类型数据源的 db_connection 为连接名称,请确认目标环境已配置同名数据库连接"
|
||||
},
|
||||
"saveSuccess": "保存成功",
|
||||
"createTime": "创建时间",
|
||||
"cancel": "取消",
|
||||
"apiInterface": "API接口",
|
||||
"sqlQuery": "SQL查询",
|
||||
"resultTypeList": "列表",
|
||||
"resultTypeTree": "树形",
|
||||
"resultTypeSingleObject": "单对象",
|
||||
"resultTypeSingleValue": "单值",
|
||||
"resultTypeAxisChart": "轴向图表",
|
||||
"resultTypePieChart": "饼图数据",
|
||||
"resultTypeGauge": "仪表盘",
|
||||
"resultTypeRadarChart": "雷达图",
|
||||
"resultTypeScatterChart": "散点图",
|
||||
"resultTypeHeatmap": "热力图",
|
||||
"paramTypeString": "字符串",
|
||||
"paramTypeInteger": "整数",
|
||||
"paramTypeFloat": "浮点数",
|
||||
"paramTypeBoolean": "布尔值",
|
||||
"paramTypeDate": "日期",
|
||||
"paramTypeDatetime": "日期时间",
|
||||
"axisChartConfig": "轴向图表配置",
|
||||
"xAxisField": "X轴字段",
|
||||
"seriesField": "系列字段",
|
||||
"seriesName": "系列名称",
|
||||
"pieChartConfig": "饼图配置",
|
||||
"nameField": "名称字段",
|
||||
"valueField": "数值字段",
|
||||
"gaugeChartConfig": "仪表盘配置",
|
||||
"maxField": "最大值字段",
|
||||
"radarChartConfig": "雷达图配置",
|
||||
"indicatorNameField": "指标名称字段",
|
||||
"scatterChartConfig": "散点图配置",
|
||||
"xCoordinateField": "X坐标字段",
|
||||
"yCoordinateField": "Y坐标字段",
|
||||
"sizeField": "大小字段",
|
||||
"heatmapChartConfig": "热力图配置",
|
||||
"fieldMapping": "字段映射",
|
||||
"addMapping": "添加映射",
|
||||
"originalField": "原字段",
|
||||
"mappedField": "映射字段",
|
||||
"deleteMapping": "删除",
|
||||
"multipleFieldsComma": "多个字段用逗号分隔,如:{example}",
|
||||
"multipleNamesComma": "多个名称用逗号分隔,如:{example}",
|
||||
"dataFieldsForChart": "数据中用于绘制图表的数值字段",
|
||||
"optionalLegendNames": "可选,图例显示的名称,留空则使用字段名",
|
||||
"oneFieldPerSeries": "每个字段对应一个系列",
|
||||
"optionalBubbleChart": "如:size(可选,气泡图)",
|
||||
"optionalName": "如:name(可选)",
|
||||
"optionalMax": "如:max(可选)",
|
||||
"fieldNameMapping": "将原字段名映射为新字段名,如 id -> value",
|
||||
"cacheConfig": "缓存配置",
|
||||
"enableCache": "启用缓存",
|
||||
"cacheTime": "缓存时间",
|
||||
"cacheTimeUnit": "秒(0表示不缓存)",
|
||||
"test": "测试",
|
||||
"testParams": "测试参数",
|
||||
"executeTest": "执行测试",
|
||||
"testResult": "测试结果",
|
||||
"success": "成功",
|
||||
"failed": "失败",
|
||||
"returnedData": "返回 {count} 条数据",
|
||||
"reachedLimit": "已达上限 {limit} 条",
|
||||
"aiAssistant": "AI 助手",
|
||||
"aiSqlAssistant": "AI SQL 助手",
|
||||
"aiSqlAssistantTip": "AI 将根据你的需求和数据库结构自动生成 SQL 查询语句",
|
||||
"sqlWritingTip": "SQL 在「数据库连接」配置的默认库上执行。PostgreSQL/SQL Server/Oracle 请写 schema.table;MySQL 写 `库名`.`表名` 或表名;参数用 :name。第三方连接请在左侧树或 AI 选表后确认 db_connection 为连接 code。",
|
||||
"describeYourQuery": "描述你的查询需求",
|
||||
"queryPlaceholder": "例如:查询最近30天内,每天的新增用户数量和活跃用户数量",
|
||||
"quickExamples": "快速示例",
|
||||
"selectDataTable": "选择数据表",
|
||||
"modifySelection": "修改选择",
|
||||
"selectedTables": "已选 {count} 张表",
|
||||
"clear": "清空",
|
||||
"pleaseSelectTableFirst": "请先选择数据表",
|
||||
"tableRelationsCount": "已配置 {count} 个表关系",
|
||||
"includeTableRelations": "包含表关系信息(提高多表 JOIN 查询准确度)",
|
||||
"aiModel": "AI 模型",
|
||||
"selectModel": "选择模型",
|
||||
"generating": "生成中...",
|
||||
"generateSql": "生成 SQL",
|
||||
"generationThought": "生成思路",
|
||||
"generatedSql": "生成的 SQL",
|
||||
"paramSuggestions": "参数建议",
|
||||
"default": "默认",
|
||||
"insertToEditor": "插入到编辑器",
|
||||
"sqlGenerateSuccess": "SQL 生成成功",
|
||||
"sqlGenerateFailed": "SQL 生成失败",
|
||||
"sqlInserted": "已插入到编辑器",
|
||||
"copied": "已复制到剪贴板",
|
||||
"pleaseInputQuestion": "请输入查询需求",
|
||||
"pleaseSelectModel": "请选择 AI 模型",
|
||||
"pleaseSelectTable": "请先选择数据表",
|
||||
"aiSqlInsertSuccess": "SQL 已插入,参数已自动配置",
|
||||
"manualMode": "手动",
|
||||
"aiMode": "AI",
|
||||
"aiConfig": "AI 配置",
|
||||
"aiSqlPlaceholder": "AI 生成的 SQL 将显示在此处...",
|
||||
"querying": "正在查询...",
|
||||
"dataView": "数据",
|
||||
"chartView": "图表",
|
||||
"clickTestToExecute": "点击上方按钮执行测试",
|
||||
"rawData": "原始数据",
|
||||
"selectChartTypeToPreview": "请在结果处理中选择图表类型以预览",
|
||||
"apiConfig": "API 配置",
|
||||
"urlPlaceholder": "https://api.example.com/data",
|
||||
"apiTabBasic": "基本",
|
||||
"apiTabAuth": "认证",
|
||||
"apiTabQueryParams": "Query参数",
|
||||
"apiTabBody": "请求体",
|
||||
"apiTabAdvanced": "高级",
|
||||
"timeout": "超时时间",
|
||||
"second": "秒",
|
||||
"dataPath": "数据路径",
|
||||
"dataPathPlaceholder": "如 data.list",
|
||||
"description": "描述",
|
||||
"authType": "认证类型",
|
||||
"authNone": "无认证",
|
||||
"bearerTokenPlaceholder": "输入 Token,支持 {param} 占位符",
|
||||
"username": "用户名",
|
||||
"usernamePlaceholder": "请输入用户名",
|
||||
"password": "密码",
|
||||
"passwordPlaceholder": "请输入密码",
|
||||
"keyPosition": "Key 位置",
|
||||
"keyName": "Key 名称",
|
||||
"keyValue": "Key 值",
|
||||
"bodyType": "类型",
|
||||
"bodyTypeNone": "无",
|
||||
"contentType": "Content-Type",
|
||||
"retryCount": "重试次数",
|
||||
"retryInterval": "重试间隔",
|
||||
"proxy": "代理地址",
|
||||
"followRedirects": "跟随重定向",
|
||||
"verifySSL": "验证SSL",
|
||||
"successCondition": "成功条件",
|
||||
"successStatusCodes": "状态码",
|
||||
"successStatusCodesPlaceholder": "如 200, 201(留空则检查 2xx)",
|
||||
"successFieldPath": "字段路径",
|
||||
"successFieldPathPlaceholder": "如 code",
|
||||
"successFieldValue": "期望值",
|
||||
"apiTabHeaders": "请求头",
|
||||
"viewRequest": "查看请求",
|
||||
"queryParamsHint": "参数会自动同步到 URL",
|
||||
"headersHint": "自定义 HTTP 请求头",
|
||||
"addHeader": "添加请求头",
|
||||
"headerName": "名称",
|
||||
"headerValue": "值",
|
||||
"noQueryParams": "暂无 Query 参数",
|
||||
"noHeaders": "暂无请求头"
|
||||
}
|
||||
@@ -0,0 +1,52 @@
|
||||
{
|
||||
"title": "数据库连接",
|
||||
"createConnection": "新建连接",
|
||||
"editConnection": "编辑连接",
|
||||
"searchPlaceholder": "搜索连接名称或编码",
|
||||
"code": "连接编码",
|
||||
"codePlaceholder": "如 erp_mysql",
|
||||
"codeTip": "字母开头,仅含字母、数字、下划线、连字符;default 为系统保留",
|
||||
"name": "连接名称",
|
||||
"namePlaceholder": "请输入连接名称",
|
||||
"dbType": "数据库类型",
|
||||
"host": "主机地址",
|
||||
"hostPlaceholder": "如 192.168.1.100",
|
||||
"port": "端口",
|
||||
"user": "用户名",
|
||||
"userPlaceholder": "数据库用户名",
|
||||
"password": "密码",
|
||||
"passwordPlaceholder": "请输入密码",
|
||||
"passwordKeepHint": "留空表示不修改原密码",
|
||||
"defaultDatabase": "默认数据库",
|
||||
"defaultDatabasePlaceholder": "连接后默认使用的数据库名(Oracle 填 Service Name)",
|
||||
"dbTypePostgresql": "PostgreSQL",
|
||||
"dbTypeMysql": "MySQL",
|
||||
"dbTypeSqlserver": "SQL Server",
|
||||
"dbTypeOracle": "Oracle",
|
||||
"description": "描述",
|
||||
"descriptionPlaceholder": "可选描述",
|
||||
"status": "启用",
|
||||
"enabled": "已启用",
|
||||
"disabled": "已禁用",
|
||||
"systemConnection": "系统",
|
||||
"systemConnectionTip": "系统默认连接来自环境变量 DATABASE_URL,不可编辑或删除",
|
||||
"testConnection": "测试连接",
|
||||
"testSuccess": "连接成功",
|
||||
"testFailed": "连接失败",
|
||||
"confirm": "确定",
|
||||
"cancel": "取消",
|
||||
"deleteConfirmTitle": "删除连接",
|
||||
"deleteConfirmMessage": "确定删除连接「{name}」吗?",
|
||||
"deleteSuccess": "已删除连接「{name}」",
|
||||
"createSuccess": "连接创建成功",
|
||||
"updateSuccess": "连接更新成功",
|
||||
"empty": "暂无数据库连接,点击上方按钮添加",
|
||||
"codeExists": "连接编码已存在",
|
||||
"codeAvailable": "连接编码可用",
|
||||
"filterAll": "全部",
|
||||
"noDescription": "暂无描述",
|
||||
"requiredFields": "请填写连接编码、名称和主机地址",
|
||||
"browseDatabase": "浏览数据库",
|
||||
"backToConnectionList": "返回连接列表",
|
||||
"connectionNotFoundForBrowse": "该连接不存在或未启用,无法浏览"
|
||||
}
|
||||
@@ -0,0 +1,396 @@
|
||||
{
|
||||
"connectionInfo": "连接信息",
|
||||
"testConnection": "测试连接",
|
||||
"connectionName": "连接名称",
|
||||
"databaseType": "数据库类型",
|
||||
"connectionIdentifier": "连接标识",
|
||||
"connectionStatus": "连接状态",
|
||||
"connectionSuccessful": "✓ 连接成功",
|
||||
"connectionFailed": "✗ 连接失败",
|
||||
"notTested": "未测试",
|
||||
"testResult": "测试结果:",
|
||||
"testConnectionSuccess": "连接测试成功",
|
||||
"testConnectionFailed": "连接测试失败",
|
||||
"connectionError": "连接失败",
|
||||
"usageInstructions": "使用说明",
|
||||
"expandConnection": "· 展开连接 - 查看该连接下的所有数据库",
|
||||
"selectDatabase": "· 选择数据库 - 查看数据库详细信息",
|
||||
"selectTable": "· 选择表 - 查看表结构、查询数据、执行SQL",
|
||||
"searchFunction": "· 搜索功能 - 在左侧树中快速查找数据库或表",
|
||||
"testDatabaseConnection": "测试数据库连接",
|
||||
"constraintList": "约束列表",
|
||||
"addConstraint": "添加约束",
|
||||
"constraintName": "约束名",
|
||||
"constraintNameTip": "给约束起一个唯一名称,便于识别和管理",
|
||||
"constraintType": "约束类型",
|
||||
"constraintTypeTip": "主键:唯一标识记录;外键:关联其他表;唯一:字段值不能重复;检查:自定义校验规则",
|
||||
"field": "本表字段",
|
||||
"constraintFieldTip": "选择当前表中参与此约束的字段",
|
||||
"definition": "检查规则",
|
||||
"constraintDefinitionTip": "仅检查约束需要填写,例如 age > 0",
|
||||
"referencedTable": "关联表",
|
||||
"referencedTableTip": "选择要关联的目标表,通常是被引用的主表",
|
||||
"referencedTablePlaceholder": "请输入引用表名",
|
||||
"selectReferencedTable": "请选择关联表",
|
||||
"onDelete": "删除时",
|
||||
"onDeleteTip": "当关联表中的记录被删除时,本表如何处理",
|
||||
"onUpdate": "更新时",
|
||||
"onUpdateTip": "当关联表中的关联字段被修改时,本表如何处理",
|
||||
"fkActionDefault": "默认",
|
||||
"fkActionDefaultLabel": "默认规则",
|
||||
"fkActionDefaultTip": "不额外指定,使用数据库默认行为",
|
||||
"fkActionNoActionLabel": "无动作",
|
||||
"fkActionNoActionTip": "有关联数据时不允许删除或更新",
|
||||
"fkActionRestrictLabel": "限制操作",
|
||||
"fkActionRestrictTip": "有关联数据时立即阻止删除或更新",
|
||||
"fkActionCascadeLabel": "级联同步",
|
||||
"fkActionCascadeTip": "同步删除或更新本表中的关联数据",
|
||||
"fkActionSetNullLabel": "置空",
|
||||
"fkActionSetNullTip": "将本表外键字段设为 NULL",
|
||||
"fkActionSetDefaultLabel": "设默认值",
|
||||
"fkActionSetDefaultTip": "将本表外键字段设为默认值",
|
||||
"referencedColumns": "关联字段",
|
||||
"referencedColumnsTip": "选择关联表中对应的字段,通常为主键 id",
|
||||
"referencedColumnsPlaceholder": "请选择关联字段",
|
||||
"constraintNameRequired": "请填写约束名",
|
||||
"constraintColumnsRequired": "请选择约束字段",
|
||||
"constraintCheckDefinitionRequired": "请填写 CHECK 约束定义",
|
||||
"constraintReferencedTableRequired": "请填写外键引用表",
|
||||
"constraintReferencedColumnsRequired": "请填写外键引用字段",
|
||||
"constraintReferencedColumnsMismatch": "外键字段数量需与引用字段数量一致",
|
||||
"constraintValidationFailed": "约束配置校验失败",
|
||||
"selectField": "选择字段",
|
||||
"constraintDefinition": "约束定义 (如: age > 0)",
|
||||
"constraintDeleted": "约束已删除",
|
||||
"noConstraints": "暂无约束,点击\"添加约束\"开始创建",
|
||||
"foreignKey": "FOREIGN KEY",
|
||||
"foreignKeyLabel": "外键",
|
||||
"check": "CHECK",
|
||||
"checkLabel": "检查规则",
|
||||
"database": "数据库",
|
||||
"schema": "Schema",
|
||||
"tableName": "表名",
|
||||
"enterTableName": "请输入表名",
|
||||
"tableComment": "表注释",
|
||||
"enterTableComment": "请输入表注释(可选)",
|
||||
"previewSQL": "预览SQL",
|
||||
"createTable": "创建表",
|
||||
"createTableSQLPreview": "CREATE TABLE SQL预览",
|
||||
"executeCreate": "执行创建",
|
||||
"fillTableNameAndFields": "请填写表名并至少添加一个字段",
|
||||
"createTableSuccess": "表创建成功",
|
||||
"createTableFailed": "创建表失败",
|
||||
"primaryKeyUUID": "主键ID (UUID)",
|
||||
"databaseInfo": "数据库信息",
|
||||
"databaseName": "数据库名称",
|
||||
"owner": "所有者",
|
||||
"encoding": "字符编码",
|
||||
"collation": "排序规则",
|
||||
"tableCount": "表数量",
|
||||
"databaseSize": "数据库大小",
|
||||
"description": "说明",
|
||||
"noDatabaseInfo": "未找到数据库信息",
|
||||
"viewTableList": "查看表列表",
|
||||
"expandLeftTreeNode": "展开左侧树节点查看该数据库下的所有表",
|
||||
"searchTable": "搜索表",
|
||||
"useSearchBox": "使用左侧搜索框快速查找表名",
|
||||
"switchToSqlTab": "选择任意表后切换到\"SQL执行\"标签页",
|
||||
"statistics": "统计信息",
|
||||
"loadDatabaseInfoFailed": "加载数据库信息失败",
|
||||
"tables": "表",
|
||||
"loading": "加载中...",
|
||||
"loadDatabaseConfigsFailed": "加载数据库配置失败",
|
||||
"loadDatabaseListFailed": "加载数据库列表失败",
|
||||
"loadSchemaListFailed": "加载Schema列表失败",
|
||||
"loadTableListFailed": "加载表列表失败",
|
||||
"loadViewListFailed": "加载视图列表失败",
|
||||
"cannotFindNode": "无法找到节点",
|
||||
"refreshSuccess": "刷新成功",
|
||||
"refreshFailed": "刷新失败",
|
||||
"expandNodeToViewLatestData": "刷新成功,展开节点查看最新数据",
|
||||
"copiedToClipboard": "已复制到剪贴板",
|
||||
"enterSchemaName": "请输入Schema名称",
|
||||
"createSchema": "创建Schema",
|
||||
"schemaNamePattern": "Schema名称只能包含字母、数字和下划线,且必须以字母或下划线开头",
|
||||
"schemaCreatedSuccess": "Schema \"{schemaName}\" 创建成功",
|
||||
"createSchemaFailed": "创建Schema失败",
|
||||
"refreshConnection": "刷新连接",
|
||||
"viewInfo": "查看信息",
|
||||
"copyConnectionName": "复制连接名",
|
||||
"refreshDatabase": "刷新数据库",
|
||||
"copyDatabaseName": "复制数据库名",
|
||||
"refreshSchema": "刷新Schema",
|
||||
"copySchemaName": "复制Schema名",
|
||||
"refreshTableList": "刷新表列表",
|
||||
"createNewTable": "创建新表",
|
||||
"viewStatistics": "查看统计",
|
||||
"refreshViewList": "刷新视图列表",
|
||||
"createNewView": "创建新视图",
|
||||
"refreshAllMaterializedViews": "刷新所有物化视图",
|
||||
"viewTableStructure": "查看表结构",
|
||||
"queryData": "查询数据",
|
||||
"executeSql": "执行SQL",
|
||||
"copyTableName": "复制表名",
|
||||
"refresh": "刷新",
|
||||
"viewViewStructure": "查看视图结构",
|
||||
"viewDefinitionSQL": "查看定义SQL",
|
||||
"refreshView": "刷新视图",
|
||||
"copyViewName": "复制视图名",
|
||||
"confirmTruncateTable": "确定要清空表 \"{tableName}\" 的所有数据吗?此操作不可恢复!",
|
||||
"deleteTable": "删除表",
|
||||
"confirmDeleteTable": "确定要删除表 \"{tableName}\" 吗?此操作不可恢复!",
|
||||
"deleteTableSuccess": "表删除成功",
|
||||
"deleteTableFailed": "删除表失败",
|
||||
"warning": "警告",
|
||||
"confirm": "确定",
|
||||
"cancel": "取消",
|
||||
"confirmRefreshMaterializedView": "确定要刷新物化视图 \"{viewName}\" 吗?",
|
||||
"onlyMaterializedViewNeedsRefresh": "只有物化视图才需要手动刷新",
|
||||
"confirmExportAllTables": "确定要导出当前Schema/Database下的所有表吗?",
|
||||
"confirmExportAllViews": "确定要导出当前Schema/Database下的所有视图吗?",
|
||||
"confirmRefreshAllMaterializedViews": "确定要刷新当前Schema/Database下的所有物化视图吗?这可能需要一些时间。",
|
||||
"exportFeatureDevelopment": "导出功能开发中...",
|
||||
"importFeatureDevelopment": "导入功能开发中...",
|
||||
"editFeatureDevelopment": "编辑功能开发中...",
|
||||
"deleteFeatureDevelopment": "删除功能开发中...",
|
||||
"truncateTableFeatureDevelopment": "清空表功能开发中...",
|
||||
"createViewFeatureDevelopment": "创建视图功能开发中...",
|
||||
"exportAllTablesFeatureDevelopment": "导出所有表功能开发中...",
|
||||
"exportAllViewsFeatureDevelopment": "导出所有视图功能开发中...",
|
||||
"refreshAllMaterializedViewsFeatureDevelopment": "刷新所有物化视图功能开发中...",
|
||||
"selectItemFromLeft": "请从左侧选择一个项目",
|
||||
"tableStructure": "表结构",
|
||||
"dataQuery": "数据查询",
|
||||
"sqlExecution": "SQL执行",
|
||||
"objectEditor": "对象编辑",
|
||||
"viewStructure": "视图结构",
|
||||
"fieldList": "字段列表",
|
||||
"fields": "字段",
|
||||
"indexes": "索引",
|
||||
"constraints": "约束",
|
||||
"columns": "列",
|
||||
"addField": "添加字段",
|
||||
"serialNumber": "序号",
|
||||
"fieldName": "字段名",
|
||||
"dataType": "数据类型",
|
||||
"lengthPrecision": "长度/精度",
|
||||
"decimalPlaces": "小数位",
|
||||
"nullable": "可空",
|
||||
"defaultValue": "默认值",
|
||||
"primaryKey": "主键",
|
||||
"unique": "唯一",
|
||||
"comment": "注释",
|
||||
"operation": "操作",
|
||||
"fieldDeleted": "字段已删除",
|
||||
"noFields": "暂无字段,点击\"添加字段\"开始创建",
|
||||
"type": "类型",
|
||||
"fieldNamePlaceholder": "如: product_name",
|
||||
"defaultValuePlaceholder": "默认值",
|
||||
"fieldCommentPlaceholder": "字段注释",
|
||||
"indexList": "索引列表",
|
||||
"addIndex": "添加索引",
|
||||
"indexName": "索引名",
|
||||
"indexType": "索引类型",
|
||||
"selectFields": "选择字段",
|
||||
"indexDeleted": "索引已删除",
|
||||
"noIndexes": "暂无索引,点击\"添加索引\"开始创建",
|
||||
"indexNamePlaceholder": "索引名",
|
||||
"typePlaceholder": "类型",
|
||||
"schemaInfo": "Schema 信息",
|
||||
"copyName": "复制名称",
|
||||
"schemaName": "Schema名称",
|
||||
"objectStatistics": "对象统计",
|
||||
"databaseObjects": "数据库对象",
|
||||
"noTablesInSchema": "该Schema下暂无表",
|
||||
"noViewsInSchema": "该Schema下暂无视图",
|
||||
"materializedView": "物化视图",
|
||||
"updatable": "可更新",
|
||||
"readOnly": "只读",
|
||||
"loadSchemaInfoFailed": "加载Schema信息失败",
|
||||
"sqlEditor": "SQL编辑器",
|
||||
"loadExample": "加载示例",
|
||||
"clearSQL": "清空",
|
||||
"execute": "执行",
|
||||
"executionResult": "执行结果",
|
||||
"executionTime": "执行时间",
|
||||
"affectedRows": "影响行数",
|
||||
"returned": "返回",
|
||||
"records": "行记录",
|
||||
"querySuccessNoData": "查询成功,但没有返回数据",
|
||||
"enterSQL": "在上方输入SQL语句并点击\"执行\"按钮",
|
||||
"sqlWarning": "请谨慎执行UPDATE、DELETE等修改数据的语句",
|
||||
"enterSQLStatement": "输入SQL语句...",
|
||||
"sqlPlaceholder": "输入SQL语句...\\n\\n示例:\\nSELECT * FROM users WHERE id > 100;\\nUPDATE users SET status = 'active' WHERE id = 1;\\nDELETE FROM users WHERE id = 999;",
|
||||
"invalidDatabaseConnection": "无效的数据库连接",
|
||||
"executeSQLFailed": "SQL执行失败",
|
||||
"pleaseEnterSQL": "请输入SQL语句",
|
||||
"whereCondition": "WHERE 条件 (例: id > 100 AND status = 'active')",
|
||||
"orderBy": "ORDER BY (例: id DESC)",
|
||||
"query": "查询",
|
||||
"noData": "暂无数据",
|
||||
"totalRecords": "共 {count} 条记录",
|
||||
"designTable": "设计表 - {tableName}",
|
||||
"designTableAction": "设计表",
|
||||
"databaseLabel": "数据库",
|
||||
"schemaLabel": "Schema",
|
||||
"tableNameLabel": "表名",
|
||||
"tableNamePlaceholder": "表名",
|
||||
"commentLabel": "注释",
|
||||
"tableCommentPlaceholder": "表注释",
|
||||
"fieldManagement": "字段管理",
|
||||
"indexManagement": "索引管理",
|
||||
"constraintManagement": "约束管理",
|
||||
"unsavedChanges": "有未保存的修改",
|
||||
"noChanges": "无修改",
|
||||
"cancel": "取消",
|
||||
"reset": "重置",
|
||||
"previewSQL": "预览SQL",
|
||||
"saveChanges": "保存更改",
|
||||
"sqlPreview": "SQL预览",
|
||||
"close": "关闭",
|
||||
"executeSql": "执行SQL",
|
||||
"confirmSave": "确定要保存这些修改吗?",
|
||||
"confirmSaveTitle": "确认保存",
|
||||
"confirmClose": "有未保存的修改,确定要关闭吗?",
|
||||
"confirmCloseTitle": "提示",
|
||||
"confirm": "确定",
|
||||
"noChangesDetected": "没有检测到任何修改",
|
||||
"noSQLGenerated": "没有生成任何SQL语句",
|
||||
"saveSuccess": "保存成功",
|
||||
"saveFailed": "保存失败",
|
||||
"loadTableStructureFailed": "加载表结构失败",
|
||||
"loadTableDataFailed": "加载表数据失败",
|
||||
"tableInfo": "表信息",
|
||||
"tableType": "类型",
|
||||
"rowCount": "行数",
|
||||
"tableSize": "大小",
|
||||
"ddlStatement": "DDL语句",
|
||||
"copy": "复制",
|
||||
"basicInfo": "基本信息",
|
||||
"confirmReset": "确定要重置所有修改吗?",
|
||||
"confirmResetTitle": "提示",
|
||||
"resetSuccess": "已重置",
|
||||
"missingDatabaseConfig": "缺少数据库配置信息",
|
||||
"loadDDLFailed": "加载DDL语句失败",
|
||||
"loadDDLFailedMsg": "-- 加载DDL失败,请检查数据库连接",
|
||||
"viewInfo": "视图信息",
|
||||
"viewName": "视图名称",
|
||||
"viewType": "视图类型",
|
||||
"materializedView": "物化视图",
|
||||
"normalView": "普通视图",
|
||||
"isUpdatable": "是否可更新",
|
||||
"yes": "是",
|
||||
"no": "否",
|
||||
"checkOption": "CHECK OPTION",
|
||||
"columnInfo": "列信息",
|
||||
"columnName": "列名",
|
||||
"dataType": "数据类型",
|
||||
"nullable": "可空",
|
||||
"position": "位置",
|
||||
"dependentTables": "依赖的表",
|
||||
"noDependentTables": "无依赖表",
|
||||
"viewDefinition": "视图定义",
|
||||
"noDefinition": "暂无定义",
|
||||
"description": "说明",
|
||||
"viewExplanation": "视图(View)是基于一个或多个表的虚拟表,不存储实际数据。",
|
||||
"viewBenefit1": "视图可以简化复杂查询,提高数据安全性",
|
||||
"viewBenefit2": "可更新视图允许通过视图修改基础表数据",
|
||||
"viewBenefit3": "视图依赖的表被修改时,视图结构会自动更新",
|
||||
"viewBenefit4": "删除视图不会影响基础表的数据",
|
||||
"searchPlaceholder": "搜索数据库、表、视图...",
|
||||
"loadViewStructureFailed": "加载视图结构失败",
|
||||
"noData": "暂无数据",
|
||||
"noColumnInfo": "暂无列信息",
|
||||
"dataTypes": {
|
||||
"varchar": "文本",
|
||||
"char": "定长文本",
|
||||
"text": "长文本",
|
||||
"integer": "整数",
|
||||
"int": "整数",
|
||||
"bigint": "长整数",
|
||||
"smallint": "短整数",
|
||||
"numeric": "精确小数",
|
||||
"decimal": "精确小数",
|
||||
"doublePrecision": "小数",
|
||||
"double": "小数",
|
||||
"float": "小数",
|
||||
"json": "JSON",
|
||||
"date": "日期",
|
||||
"time": "时间",
|
||||
"datetime": "日期时间",
|
||||
"timestamp": "时间戳",
|
||||
"datetime2": "时间戳",
|
||||
"boolean": "布尔",
|
||||
"bit": "布尔",
|
||||
"nvarchar": "Unicode文本",
|
||||
"nvarcharMax": "JSON"
|
||||
},
|
||||
"fieldNameRequired": "字段名不能为空",
|
||||
"fieldNameInvalidFormat": "字段名只能包含字母、数字和下划线,且必须以字母或下划线开头",
|
||||
"fieldNameDuplicate": "字段名 \"{name}\" 重复",
|
||||
"tablesFolder": "表",
|
||||
"viewsFolder": "视图",
|
||||
"refreshSuccess": "刷新成功",
|
||||
"refreshFailed": "刷新失败",
|
||||
"executeShortcutHint": "Ctrl/Cmd + Enter 执行",
|
||||
"createDatabase": "创建数据库",
|
||||
"dropDatabase": "删除数据库",
|
||||
"dropSchema": "删除 Schema",
|
||||
"renameSchema": "重命名 Schema",
|
||||
"renameDatabase": "重命名数据库",
|
||||
"editTableStructure": "编辑表结构",
|
||||
"enterNameToConfirm": "此操作不可恢复。请在下方输入对象名称以确认:",
|
||||
"nameMismatch": "输入的名称与对象名称不一致",
|
||||
"systemConnectionForbidden": "系统连接不允许执行写操作",
|
||||
"systemDatabase": "系统数据库",
|
||||
"systemDatabaseForbidden": "系统数据库不允许此操作",
|
||||
"databaseCreated": "数据库 \"{name}\" 创建成功",
|
||||
"databaseDropped": "数据库 \"{name}\" 删除成功",
|
||||
"schemaDropped": "Schema \"{name}\" 删除成功",
|
||||
"schemaRenamed": "Schema 已重命名为 \"{name}\"",
|
||||
"createDatabaseFailed": "创建数据库失败",
|
||||
"dropDatabaseFailed": "删除数据库失败",
|
||||
"dropSchemaFailed": "删除 Schema 失败",
|
||||
"renameSchemaFailed": "重命名 Schema 失败",
|
||||
"renameDatabaseFailed": "重命名数据库失败",
|
||||
"databaseRenamed": "数据库已重命名为 \"{name}\"",
|
||||
"enterNewDatabaseName": "请输入新的数据库名称",
|
||||
"databaseNameRequired": "请输入数据库名称",
|
||||
"databaseNamePattern": "数据库名只能包含字母、数字和下划线,且必须以字母或下划线开头",
|
||||
"enterDatabaseName": "请输入数据库名称",
|
||||
"databaseName": "数据库名称",
|
||||
"encoding": "编码",
|
||||
"charset": "字符集",
|
||||
"collation": "排序规则",
|
||||
"enterNewSchemaName": "请输入新的 Schema 名称",
|
||||
"objectTypeDatabase": "数据库",
|
||||
"objectTypeSchema": "Schema",
|
||||
"objectTypeTable": "表",
|
||||
"dangerousActionDefaultWarning": "确定要删除{objectType} \"{objectName}\" 吗?此操作不可恢复。",
|
||||
"typeObjectNamePlaceholder": "请输入 \"{objectName}\" 以确认",
|
||||
"objectOverview": "概览",
|
||||
"objectName": "对象名称",
|
||||
"objectTypeConnection": "连接",
|
||||
"objectTypeView": "视图",
|
||||
"databaseCount": "数据库数量",
|
||||
"databasesUnderConnection": "该连接下的数据库",
|
||||
"connectionHint": "提示",
|
||||
"connectionBrowseHint": "在左侧树中展开连接,浏览数据库与对象",
|
||||
"schemaList": "Schema 列表",
|
||||
"mysqlSchemaHint": "MySQL 不使用 Schema 层级,数据库即为顶层容器。请展开左侧树查看表与视图。",
|
||||
"schemaDescriptionHint": "Schema 是数据库对象的逻辑容器,用于组织表、视图等对象。",
|
||||
"searchObjectPlaceholder": "搜索对象名称...",
|
||||
"loadObjectListFailed": "加载对象列表失败",
|
||||
"size": "大小",
|
||||
"indexTypes": {
|
||||
"btree": "B-Tree",
|
||||
"hash": "Hash",
|
||||
"gin": "GIN",
|
||||
"gist": "GiST",
|
||||
"brin": "BRIN",
|
||||
"nonclustered": "非聚集",
|
||||
"clustered": "聚集",
|
||||
"normal": "普通",
|
||||
"bitmap": "位图"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,138 @@
|
||||
{
|
||||
"overview": "概览信息",
|
||||
"connectionInfo": "连接信息",
|
||||
"performanceStats": "性能统计",
|
||||
"tableStats": "表统计",
|
||||
"loadConfigFailed": "加载数据库配置失败",
|
||||
"loading": "正在加载 {name}...",
|
||||
"loadSuccess": "{name} 加载成功",
|
||||
"loadFailed": "加载 {name} 失败",
|
||||
"selectDatabase": "请选择数据库",
|
||||
"selectConnection": "请选择数据库连接",
|
||||
"systemConnection": "系统",
|
||||
"autoRefreshing": "自动刷新中",
|
||||
"paused": "已暂停",
|
||||
"connected": "已连接",
|
||||
"disconnected": "未连接",
|
||||
"featureDeveloping": "功能开发中...",
|
||||
"connectionUsageRate": "连接使用率",
|
||||
"databaseSize": "数据库大小",
|
||||
"cacheHitRatio": "缓存命中率",
|
||||
"activeConnections": "活动连接",
|
||||
"currentActiveConnections": "当前活动连接数",
|
||||
"basicInfo": "基本信息",
|
||||
"databaseType": "数据库类型",
|
||||
"hostAddress": "主机地址",
|
||||
"databaseName": "数据库名",
|
||||
"version": "版本",
|
||||
"uptime": "运行时间",
|
||||
"timezone": "时区",
|
||||
"charset": "字符集",
|
||||
"totalConnections": "总连接数",
|
||||
"maxConnections": "最大连接数",
|
||||
"idleConnections": "空闲连接",
|
||||
"storageInfo": "存储信息",
|
||||
"databaseSizeGb": "数据库大小(GB)",
|
||||
"databaseSizeMb": "数据库大小(MB)",
|
||||
"databaseSizeBytes": "数据库大小(字节)",
|
||||
"transactionsCommit": "事务提交",
|
||||
"transactionsRollback": "事务回滚",
|
||||
"tuplesReturned": "元组返回",
|
||||
"totalQueries": "总查询数",
|
||||
"slowQueries": "慢查询",
|
||||
"bytesReceived": "接收字节",
|
||||
"batchRequestsPerSec": "批处理请求/秒",
|
||||
"pageLifeExpectancy": "页面生命期望",
|
||||
"bufferCacheHitRatio": "缓冲区命中率",
|
||||
"realtimeActiveConnections": "实时活动连接数",
|
||||
"currentIdleConnections": "当前空闲连接数",
|
||||
"connectionPoolStatus": "连接 pool 状态",
|
||||
"congested": "拥挤",
|
||||
"busy": "繁忙",
|
||||
"normal": "正常",
|
||||
"idle": "空闲",
|
||||
"connectionDistribution": "连接分布",
|
||||
"connectionPoolCapacity": "连接 pool 容量",
|
||||
"usedMaxConnections": "已使用 / 最大连接数",
|
||||
"connectionDetailInfo": "连接详细信息",
|
||||
"usedConnections": "已使用连接",
|
||||
"availableConnections": "可用连接",
|
||||
"connectionExplanation": "连接说明",
|
||||
"totalConnectionsDesc": "数据库当前建立的所有连接总数",
|
||||
"maxConnectionsDesc": "数据库配置的最大允许连接数",
|
||||
"activeConnectionsDesc": "正在执行查询或事务的连接数",
|
||||
"idleConnectionsDesc": "已建立但未在使用的连接数",
|
||||
"usageRateDesc": "当前连接数占最大连接数的百分比",
|
||||
"connectionStatus": "连接状态",
|
||||
"connectionStatusDesc": "空闲(<50%) / 正常(50-70%) / 繁忙(70-90%) / 拥挤(≥90%)",
|
||||
"corePerformanceMetrics": "核心性能指标",
|
||||
"totalCommittedTransactions": "累计提交事务数",
|
||||
"totalRollbackTransactions": "累计回滚事务数",
|
||||
"totalQueriesCount": "累计查询次数",
|
||||
"queriesNeedOptimization": "需要优化的查询",
|
||||
"batchRequestsPerSecDesc": "每秒批处理请求数",
|
||||
"transactionStats": "事务统计",
|
||||
"commitRate": "提交率",
|
||||
"tuplesFetched": "元组获取",
|
||||
"tuplesInserted": "元组插入",
|
||||
"tuplesUpdated": "元组更新",
|
||||
"tuplesDeleted": "元组删除",
|
||||
"needOptimization": "需优化",
|
||||
"queryStats": "查询统计",
|
||||
"batchStats": "批处理统计",
|
||||
"cacheStats": "缓存统计",
|
||||
"networkTraffic": "网络流量",
|
||||
"bytesSent": "发送字节",
|
||||
"totalTraffic": "总流量",
|
||||
"performanceMetricExplanation": "性能指标说明",
|
||||
"cacheHitRatioDesc": "从缓存中读取数据的比例,越高性能越好",
|
||||
"transactionsCommitDesc": "成功提交的事务总数",
|
||||
"transactionsRollbackDesc": "回滚的事务总数,过高可能表示有问题",
|
||||
"tupleOperations": "元组操作",
|
||||
"tupleOperationsDesc": "数据行的增删改查操作统计",
|
||||
"totalQueriesDesc": "数据库执行的所有查询总数",
|
||||
"slowQueriesDesc": "执行时间超过阈值的查询,需要优化",
|
||||
"networkTrafficDesc": "数据库接收和发送的字节数",
|
||||
"batchRequests": "批处理请求",
|
||||
"batchRequestsDesc": "每秒处理的批处理请求数",
|
||||
"pageLifeExpectancyDesc": "页面在缓冲池中停留的平均秒数",
|
||||
"bufferCacheHitRatioDesc": "从缓冲区读取页面的比例",
|
||||
"statisticalOverview": "统计概览",
|
||||
"totalTables": "总表数",
|
||||
"totalRows": "总行数",
|
||||
"totalSize": "总大小",
|
||||
"searchTable": "搜索表",
|
||||
"searchTablePlaceholder": "输入表名搜索...",
|
||||
"top10LargestTables": "Top 10 最大的表",
|
||||
"noTableData": "暂无表数据",
|
||||
"rank": "排名",
|
||||
"schema": "模式",
|
||||
"tableName": "表名",
|
||||
"rows": "行数",
|
||||
"size": "大小",
|
||||
"dataSize": "数据大小",
|
||||
"indexSize": "索引大小",
|
||||
"inserts": "插入",
|
||||
"updates": "更新",
|
||||
"deletes": "删除",
|
||||
"deadTuples": "死元组",
|
||||
"autoIncrement": "自增值",
|
||||
"usedSize": "已用大小",
|
||||
"tableStatsExplanation": "表统计说明",
|
||||
"tableSizeDesc": "表占用的磁盘空间,包括数据和索引",
|
||||
"tableRowsDesc": "表中的数据行总数",
|
||||
"deadTuplesDesc": "已删除但未清理的行,需要VACUUM清理",
|
||||
"insertUpdateDelete": "插入/更新/删除",
|
||||
"tableOpsDesc": "表的增删改操作统计",
|
||||
"tableDataSizeDesc": "表数据占用的空间",
|
||||
"tableIndexSizeDesc": "表索引占用的空间",
|
||||
"autoIncrementDesc": "自增主键的当前值",
|
||||
"tableUsedSizeDesc": "表实际使用的空间",
|
||||
"yes": "是",
|
||||
"no": "否",
|
||||
"realtime": "实时",
|
||||
"noMatchingTables": "未找到匹配的表",
|
||||
"allTablesList": "所有表列表",
|
||||
"tableCount": "{count} 个表",
|
||||
"tableSize": "表大小"
|
||||
}
|
||||
@@ -0,0 +1,48 @@
|
||||
{
|
||||
"title": "演示",
|
||||
"elementPlus": "Element Plus",
|
||||
"form": "表单演示",
|
||||
"vben": {
|
||||
"title": "项目",
|
||||
"about": "关于",
|
||||
"document": "文档",
|
||||
"antdv": "Ant Design Vue 版本",
|
||||
"naive-ui": "Naive UI 版本",
|
||||
"element-plus": "Element Plus 版本"
|
||||
},
|
||||
"demo": {
|
||||
"name": "Demo",
|
||||
"list": "Demo列表",
|
||||
"create": "创建Demo",
|
||||
"edit": "编辑Demo",
|
||||
"delete": "删除Demo",
|
||||
"detail": "Demo详情",
|
||||
"title": "标题",
|
||||
"content": "内容",
|
||||
"status": "状态",
|
||||
"priority": "优先级",
|
||||
"isActive": "是否激活",
|
||||
"createTime": "创建时间",
|
||||
"updateTime": "更新时间",
|
||||
"creator": "创建人",
|
||||
"dept": "部门",
|
||||
"statusDraft": "草稿",
|
||||
"statusPublished": "发布",
|
||||
"statusArchived": "归档",
|
||||
"priorityLow": "低",
|
||||
"priorityMedium": "中",
|
||||
"priorityHigh": "高",
|
||||
"titlePlaceholder": "请输入标题",
|
||||
"contentPlaceholder": "请输入内容",
|
||||
"searchPlaceholder": "请输入标题搜索",
|
||||
"createSuccess": "创建成功",
|
||||
"updateSuccess": "更新成功",
|
||||
"deleteSuccess": "删除成功",
|
||||
"deleteConfirm": "确定要删除该Demo吗?",
|
||||
"exportExcel": "导出Excel",
|
||||
"importExcel": "导入Excel",
|
||||
"downloadTemplate": "下载模板",
|
||||
"importSuccess": "导入成功",
|
||||
"selectFile": "选择文件"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,41 @@
|
||||
{
|
||||
"name": "部门",
|
||||
"title": "部门管理",
|
||||
"deptName": "部门名称",
|
||||
"parentDept": "上级部门",
|
||||
"deptCode": "部门编码",
|
||||
"deptCodeHelp": "可选,用于标识部门的唯一编码",
|
||||
"deptCodeFormatError": "部门编码只能包含字母、数字、下划线和横线",
|
||||
"deptType": "部门类型",
|
||||
"deptTypeOptions": {
|
||||
"company": "公司",
|
||||
"department": "部门",
|
||||
"team": "小组",
|
||||
"other": "其他"
|
||||
},
|
||||
"lead": "部门领导",
|
||||
"phone": "部门电话",
|
||||
"phoneHelp": "可选,部门联系电话",
|
||||
"phoneFormatError": "电话号码格式不正确",
|
||||
"email": "部门邮箱",
|
||||
"emailHelp": "可选,部门联系邮箱",
|
||||
"emailFormatError": "请输入有效的邮箱地址",
|
||||
"status": "状态",
|
||||
"sort": "排序",
|
||||
"description": "部门描述",
|
||||
"descriptionPlaceholder": "请输入部门描述",
|
||||
"descriptionHelp": "可选,部门的详细描述信息",
|
||||
"operation": "操作",
|
||||
"addChildDept": "新建子部门",
|
||||
"edit": "编辑",
|
||||
"delete": "删除",
|
||||
"updateSuccess": "部门更新成功",
|
||||
"updateFailed": "更新部门数据失败",
|
||||
"searchFailed": "搜索部门失败",
|
||||
"selectDeptFirst": "请先选择部门",
|
||||
"selectUsersFirst": "请先选择用户",
|
||||
"addUsersSuccess": "添加成功",
|
||||
"removeUsersConfirm": "确定要删除选中的 {0} 个用户吗?",
|
||||
"removeUsersSuccess": "删除成功",
|
||||
"removeUsersFailed": "删除失败"
|
||||
}
|
||||
@@ -0,0 +1,22 @@
|
||||
{
|
||||
"name": "字典",
|
||||
"title": "字典管理",
|
||||
"dictName": "字典名称",
|
||||
"dictCode": "字典编码",
|
||||
"remark": "备注",
|
||||
"remarkPlaceholder": "请输入备注",
|
||||
"status": "状态",
|
||||
"operation": "操作",
|
||||
"edit": "编辑",
|
||||
"codeFormatError": "字典编码只能包含字母、数字和下划线",
|
||||
"selectDictFirst": "请先选择字典",
|
||||
"noData": "暂无数据",
|
||||
"itemName": "字典项",
|
||||
"itemLabel": "标签",
|
||||
"itemValue": "值",
|
||||
"itemIcon": "图标",
|
||||
"sort": "排序",
|
||||
"isGlobal": "全局可见",
|
||||
"globalTag": "全局",
|
||||
"mainApp": "主应用"
|
||||
}
|
||||
@@ -0,0 +1,86 @@
|
||||
{
|
||||
"title": "钉钉同步配置",
|
||||
"corpId": "企业号Id",
|
||||
"corpIdPlaceholder": "请输入AgentId",
|
||||
"appKey": "应用凭证",
|
||||
"appKeyPlaceholder": "请输入AppKey",
|
||||
"appSecret": "凭证密钥",
|
||||
"appSecretPlaceholder": "请输入AppSecret",
|
||||
"testConnection": "连接测试",
|
||||
"testSuccess": "连接成功",
|
||||
"testFail": "连接失败",
|
||||
"testing": "测试中...",
|
||||
"syncScope": "同步范围",
|
||||
"syncScopePlaceholder": "请选择",
|
||||
"syncScopeTip": "选择一个组织作为最高级组织进行数据同步,同步成功后该组织不可修改。",
|
||||
"syncScopeLocked": "已完成首次同步,同步范围不可修改。如需变更请联系管理员。",
|
||||
"syncStats": "同步统计",
|
||||
"syncType": "同步类型",
|
||||
"totalCount": "总数",
|
||||
"successCount": "同步成功数",
|
||||
"failCount": "同步失败数",
|
||||
"notSynced": "未同步数",
|
||||
"syncTime": "同步时间",
|
||||
"syncStatus": "状态",
|
||||
"statusRunning": "同步中",
|
||||
"statusSuccess": "成功",
|
||||
"statusPartial": "部分成功",
|
||||
"statusFailed": "失败",
|
||||
"operation": "操作",
|
||||
"sync": "同步",
|
||||
"syncing": "同步中...",
|
||||
"syncDept": "组织",
|
||||
"syncUser": "用户",
|
||||
"syncDeptSuccess": "组织架构同步完成",
|
||||
"syncUserSuccess": "用户同步完成",
|
||||
"syncFail": "同步失败",
|
||||
"triggerEvents": "触发事件",
|
||||
"triggerEvent": "触发事件",
|
||||
"description": "描述",
|
||||
"enableSyncDept": "启用同步组织",
|
||||
"enableSyncDeptDesc": "新增、删除、修改组织信息触发同步组织事件",
|
||||
"enableSyncUser": "启用同步用户",
|
||||
"enableSyncUserDesc": "新增、删除、修改用户信息触发同步用户事件",
|
||||
"save": "保存",
|
||||
"saving": "保存中...",
|
||||
"saveSuccess": "保存成功",
|
||||
"saveFail": "保存失败",
|
||||
"corpName": "企业名称",
|
||||
"loadingDeptTree": "加载部门树中...",
|
||||
"streamConfig": "Stream 模式(实时同步)",
|
||||
"streamConfigTip": "通过 WebSocket 长连接实时接收钉钉通讯录变更事件,无需配置公网回调地址。",
|
||||
"streamStatus": "连接状态",
|
||||
"streamConnected": "已连接",
|
||||
"streamDisconnected": "未连接",
|
||||
"streamTotalEvents": "已接收事件",
|
||||
"streamLastEvent": "最后事件",
|
||||
"streamLastEventTime": "最后事件时间",
|
||||
"streamEventNone": "暂无",
|
||||
"streamEventLog": "增量同步日志",
|
||||
"refresh": "刷新",
|
||||
"eventType": "事件类型",
|
||||
"targetType": "目标类型",
|
||||
"targetName": "目标名称",
|
||||
"eventStatus": "状态",
|
||||
"eventTime": "时间",
|
||||
"eventCreate": "新增组织",
|
||||
"eventModify": "修改组织",
|
||||
"eventRemove": "删除组织",
|
||||
"eventAddUser": "新增用户",
|
||||
"eventModifyUser": "修改用户",
|
||||
"eventLeaveUser": "用户离职",
|
||||
"eventActiveUser": "用户激活",
|
||||
"guideTitle": "钉钉同步配置指南",
|
||||
"guideStep1Title": "创建钉钉企业内部应用",
|
||||
"guideStep1Desc": "登录钉钉开放平台(open.dingtalk.com),进入「应用开发」->「企业内部开发」,创建一个 H5 微应用,获取 AppKey 和 AppSecret。",
|
||||
"guideStep2Title": "配置应用权限",
|
||||
"guideStep2Desc": "在应用管理页面,点击「权限管理」,搜索并开通以下权限:「通讯录部门信息读权限」、「成员信息读权限」、「通讯录部门成员读权限」、「企业员工手机号信息」等。",
|
||||
"guideStep3Title": "填写凭证信息",
|
||||
"guideStep3Desc": "将获取到的企业 CorpId、AppKey、AppSecret 填入本页面对应的输入框中,点击「连接测试」验证凭证是否正确。",
|
||||
"guideStep4Title": "选择同步范围并执行全量同步",
|
||||
"guideStep4Desc": "连接成功后,在「同步范围」中选择需要同步的根部门,然后在同步统计表中依次点击「同步」按钮,先同步组织架构,再同步用户。",
|
||||
"guideStep5Title": "在钉钉开放平台开启 Stream 模式",
|
||||
"guideStep5Desc": "登录钉钉开放平台,进入应用 -> 「事件与回调」,推送方式选择「Stream 模式」,保存即可。无需填写回调地址、Token、AES Key。",
|
||||
"guideStep6Title": "启用触发事件",
|
||||
"guideStep6Desc": "在「触发事件」区域勾选需要自动同步的事件类型(同步组织、同步用户),保存配置。之后钉钉通讯录发生变更时将自动推送到系统进行增量同步。"
|
||||
}
|
||||
@@ -0,0 +1,521 @@
|
||||
{
|
||||
"documentGenerator": {
|
||||
"title": "文档生成",
|
||||
"templateManagement": "模板管理",
|
||||
"sealManagement": "签章管理",
|
||||
"documentList": "文档列表",
|
||||
|
||||
"addTemplate": "新建模板",
|
||||
"editTemplate": "编辑模板",
|
||||
"copyTemplate": "复制模板",
|
||||
"previewTemplate": "预览模板",
|
||||
|
||||
"templateName": "模板名称",
|
||||
"templateCode": "模板编码",
|
||||
"category": "分类",
|
||||
"formCode": "表单编码",
|
||||
"workflowCode": "流程编码",
|
||||
"bindingType": "绑定类型",
|
||||
"bindToWorkflow": "绑定到流程",
|
||||
"bindToForm": "绑定到表单",
|
||||
"workflowLinkedForm": "流程已关联表单",
|
||||
"pleaseSelectForm": "请选择关联表单",
|
||||
|
||||
"basicInfo": "基本信息",
|
||||
"pageSettings": "页面设置",
|
||||
"autoGenerate": "自动生成",
|
||||
"watermark": "水印设置",
|
||||
"templateDesign": "模板设计",
|
||||
|
||||
"pageSize": "页面大小",
|
||||
"pageSizeCustom": "自定义",
|
||||
"customPageWidth": "页面宽度",
|
||||
"customPageHeight": "页面高度",
|
||||
"pageOrientation": "页面方向",
|
||||
"pageMargin": "页边距",
|
||||
"top": "上",
|
||||
"right": "右",
|
||||
"bottom": "下",
|
||||
"left": "左",
|
||||
"showPageNumber": "显示页码",
|
||||
"pageNumberSettings": "页码设置",
|
||||
"pageNumberPosition": "页码位置",
|
||||
"pageNumberPositionFooter": "页脚",
|
||||
"pageNumberPositionHeader": "页眉",
|
||||
"pageNumberAlign": "对齐方式",
|
||||
"pageNumberFormat": "显示格式",
|
||||
"pageNumberFormatChinese": "第 1 页 / 共 10 页",
|
||||
"pageNumberFormatFraction": "1 / 10",
|
||||
"pageNumberFormatEnglish": "Page 1 of 10",
|
||||
"pageNumberFontSize": "字号",
|
||||
"pageNumberColor": "颜色",
|
||||
|
||||
"enableAutoGenerate": "启用自动生成",
|
||||
"generateTrigger": "触发时机",
|
||||
|
||||
"enableWatermark": "启用水印",
|
||||
"watermarkText": "水印文字",
|
||||
"watermarkOpacity": "透明度",
|
||||
"watermarkAngle": "角度",
|
||||
|
||||
"elementLibrary": "元素库",
|
||||
"canvas": "画布",
|
||||
"properties": "属性",
|
||||
"dragElementHere": "点击左侧元素添加到画布",
|
||||
"selectElementToEdit": "选择元素以编辑属性",
|
||||
|
||||
"basicProperties": "基本属性",
|
||||
"elementType": "元素类型",
|
||||
"content": "内容",
|
||||
"fieldName": "字段名",
|
||||
"fieldLabel": "标签",
|
||||
"format": "格式",
|
||||
"dataSource": "数据源",
|
||||
"columns": "列配置",
|
||||
"sealType": "签章类型",
|
||||
|
||||
"position": "位置",
|
||||
"width": "宽度",
|
||||
"height": "高度",
|
||||
|
||||
"style": "样式",
|
||||
"fontSize": "字号",
|
||||
"fontWeight": "字重",
|
||||
"textAlign": "对齐",
|
||||
"alignLeft": "左对齐",
|
||||
"alignCenter": "居中",
|
||||
"alignRight": "右对齐",
|
||||
"color": "颜色",
|
||||
|
||||
"publish": "发布",
|
||||
"unpublish": "取消发布",
|
||||
"builtin": "内置",
|
||||
|
||||
"confirmDelete": "确定要删除此模板吗?",
|
||||
"confirmUnpublish": "确定要取消发布此模板吗?",
|
||||
"builtinCannotDelete": "内置模板不能删除",
|
||||
"publishSuccess": "发布成功",
|
||||
"unpublishSuccess": "取消发布成功",
|
||||
|
||||
"pleaseInputName": "请输入模板名称",
|
||||
"pleaseInputCode": "请输入模板编码",
|
||||
"codeFormatError": "编码必须以字母开头,只能包含字母、数字和下划线",
|
||||
"pleaseInputNameAndCode": "请输入模板名称和编码",
|
||||
"pleaseInputFormCode": "请输入关联表单编码",
|
||||
"pleaseInputWorkflowCode": "请输入关联流程编码",
|
||||
"pleaseSelectWorkflow": "请选择关联工作流(可选)",
|
||||
"pleaseInputWatermarkText": "请输入水印文字",
|
||||
|
||||
"newCode": "新编码",
|
||||
"newName": "新名称",
|
||||
|
||||
"previewFailed": "预览失败",
|
||||
|
||||
"generateDocument": "生成文档",
|
||||
"regenerate": "重新生成",
|
||||
"downloadDocument": "下载文档",
|
||||
"documentName": "文档名称",
|
||||
"documentNo": "文档编号",
|
||||
"generateTime": "生成时间",
|
||||
"generator": "生成人",
|
||||
"downloadCount": "下载次数",
|
||||
|
||||
"sealName": "签章名称",
|
||||
"sealImage": "签章图片",
|
||||
"uploadSeal": "上传签章",
|
||||
"sealOwner": "使用权限",
|
||||
"sealScope": "使用范围",
|
||||
|
||||
"noDocuments": "暂无文档",
|
||||
"selectTemplate": "选择模板",
|
||||
"pleaseSelectTemplate": "请选择模板",
|
||||
"generate": "生成",
|
||||
"generateSuccess": "生成成功",
|
||||
"generateFailed": "生成失败",
|
||||
"regenerateSuccess": "重新生成成功",
|
||||
"regenerateFailed": "重新生成失败",
|
||||
"pageCount": "页数",
|
||||
"fileSize": "文件大小",
|
||||
"generateType": "生成方式",
|
||||
"auto": "自动",
|
||||
"manual": "手动",
|
||||
|
||||
"elementText": "文本",
|
||||
"elementField": "字段",
|
||||
"elementTable": "表格",
|
||||
"elementImage": "图片",
|
||||
"selectImage": "选择图片",
|
||||
"elementSignature": "签名",
|
||||
"elementSeal": "签章",
|
||||
"elementQrcode": "二维码",
|
||||
"elementDivider": "分割线",
|
||||
|
||||
"noDataSource": "(未设置数据源)",
|
||||
"signatureDefault": "签名",
|
||||
"fieldNamePlaceholder": "如: applicant_name",
|
||||
"fieldLabelPlaceholder": "如: 申请人:",
|
||||
"dataSourcePlaceholder": "如: expense_items",
|
||||
"columnFieldPlaceholder": "字段",
|
||||
"columnLabelPlaceholder": "标题",
|
||||
"columnWidthPlaceholder": "宽度",
|
||||
"signatureFieldPlaceholder": "签名字段名",
|
||||
|
||||
"formatNone": "无",
|
||||
"formatDate": "日期",
|
||||
"formatDatetime": "日期时间",
|
||||
"formatMoney": "金额",
|
||||
"formatNumber": "数字",
|
||||
|
||||
"sealCompany": "公司公章",
|
||||
"sealDepartment": "部门章",
|
||||
"sealPersonal": "个人章",
|
||||
"sealFinance": "财务章",
|
||||
"sealContract": "合同章",
|
||||
|
||||
"selectedSeal": "已选签章",
|
||||
"selectSeal": "选择签章",
|
||||
"noSealSelected": "未选择签章",
|
||||
"noSealImage": "无图片",
|
||||
"noAvailableSeals": "暂无可用签章",
|
||||
"clearSeal": "清除签章",
|
||||
"sealLabel": "签章标签",
|
||||
"sealLabelPlaceholder": "请输入签章标签(如:盖章处)",
|
||||
"allTypes": "全部类型",
|
||||
"noSealsOfType": "该类型下暂无签章",
|
||||
|
||||
"pleaseInputText": "请输入文本",
|
||||
"fieldPrefix": "字段:",
|
||||
"column": "列",
|
||||
"addColumn": "添加列",
|
||||
|
||||
"notSet": "未设置",
|
||||
"notSetDataSource": "未设置数据源",
|
||||
|
||||
"documents": "文档",
|
||||
|
||||
"categoryLeave": "请假",
|
||||
"categoryExpense": "报销",
|
||||
"categoryPurchase": "采购",
|
||||
"categoryContract": "合同",
|
||||
"categoryCertificate": "证明",
|
||||
"categoryOther": "其他",
|
||||
|
||||
"statusPublished": "已发布",
|
||||
"statusDraft": "草稿",
|
||||
|
||||
"orientationPortrait": "纵向",
|
||||
"orientationLandscape": "横向",
|
||||
|
||||
"triggerOnApprove": "审批通过时",
|
||||
"triggerOnSubmit": "提交时",
|
||||
"triggerOnComplete": "流程结束时",
|
||||
|
||||
"deleteConfirmTitle": "删除确认",
|
||||
"deleteSuccess": "模板 {name} 已删除",
|
||||
"unpublishConfirmTitle": "取消发布确认",
|
||||
|
||||
"copyTitle": "复制模板",
|
||||
"copyCodePlaceholder": "请输入新模板的编码",
|
||||
"copyCodeRule": "编码只能包含字母、数字、下划线和短横线",
|
||||
"copy": "复制",
|
||||
"copySuccess": "复制成功",
|
||||
"importExport": {
|
||||
"export": "导出",
|
||||
"import": "导入配置",
|
||||
"exportSuccess": "单据模板配置已导出",
|
||||
"exportFailed": "导出失败",
|
||||
"importTitle": "导入单据模板",
|
||||
"dragOrClick": "拖拽 JSON 文件到此处或点击上传",
|
||||
"onlyJson": "仅支持 .json 格式文件",
|
||||
"fileParseError": "文件解析失败,请确认文件格式正确",
|
||||
"checking": "正在检查...",
|
||||
"codeConflictTip": "模板编码已存在,请修改编码后再导入",
|
||||
"codeAvailable": "模板编码可用,可以导入",
|
||||
"newCodePlaceholder": "请输入新的模板编码",
|
||||
"importSuccess": "单据模板导入成功",
|
||||
"importFailed": "导入失败",
|
||||
"confirmImport": "确认导入",
|
||||
"reselect": "重新选择",
|
||||
"templateInfo": "模板信息",
|
||||
"appTip": "导入的模板将归属到当前应用,状态为草稿",
|
||||
"bindingTip": "请确认关联的表单/流程编码在目标环境中存在,否则生成单据时可能异常"
|
||||
},
|
||||
|
||||
"design": "设计",
|
||||
"editInfo": "编辑信息",
|
||||
"createSuccess": "创建成功",
|
||||
"saveSuccess": "保存成功",
|
||||
"autoSave": {
|
||||
"saving": "保存中...",
|
||||
"saved": "已保存",
|
||||
"unsaved": "未保存"
|
||||
},
|
||||
|
||||
"layoutElements": "布局容器",
|
||||
"headerElements": "表头区域",
|
||||
"infoElements": "信息区域",
|
||||
"tableElements": "表格区域",
|
||||
"contentElements": "文本内容",
|
||||
"approvalElements": "审批区域",
|
||||
"otherElements": "其他元素",
|
||||
"footerElements": "页脚区域",
|
||||
|
||||
"rowContainer": "行容器",
|
||||
"columnCount": "列数",
|
||||
"columnWidths": "列宽设置",
|
||||
"columnGap": "列间距",
|
||||
"addRowColumn": "添加列",
|
||||
"removeRowColumn": "删除列",
|
||||
"dropElementHere": "拖拽元素到此处",
|
||||
|
||||
"documentHeader": "文档页眉",
|
||||
"documentTitle": "文档标题",
|
||||
"documentInfo": "单据信息",
|
||||
"infoRow": "信息行",
|
||||
"infoTable": "信息表格",
|
||||
"smartTable": "智能表格",
|
||||
"smartText": "智能文本",
|
||||
"smartTextPlaceholder": "输入文本内容...",
|
||||
"smartTextItalic": "斜体",
|
||||
"smartTextUnderline": "下划线",
|
||||
"smartTextStrikethrough": "删除线",
|
||||
"smartTextUnorderedList": "无序列表",
|
||||
"smartTextOrderedList": "有序列表",
|
||||
"smartTextLineHeight": "行高",
|
||||
"smartTextHeading": "标题",
|
||||
"smartTextParagraph": "正文",
|
||||
"smartTextH1": "标题 1",
|
||||
"smartTextH2": "标题 2",
|
||||
"smartTextH3": "标题 3",
|
||||
"smartTextInsertTable": "插入表格",
|
||||
"smartTextRemoveTable": "移除表格",
|
||||
"smartTableRows": "行数",
|
||||
"smartTableCols": "列数",
|
||||
"smartTableAddRow": "添加行",
|
||||
"smartTableAddCol": "添加列",
|
||||
"smartTableDeleteRow": "删除行",
|
||||
"smartTableDeleteCol": "删除列",
|
||||
"smartTableMergeCells": "合并单元格",
|
||||
"smartTableSplitCell": "拆分单元格",
|
||||
"smartTableCellContent": "单元格内容",
|
||||
"smartTableSelectCells": "请先选中要操作的单元格",
|
||||
"smartTableInsertText": "输入文本或插入变量",
|
||||
"smartTableInsertRowAbove": "在上方插入行",
|
||||
"smartTableInsertRowBelow": "在下方插入行",
|
||||
"smartTableInsertColLeft": "在左侧插入列",
|
||||
"smartTableInsertColRight": "在右侧插入列",
|
||||
"smartTableClearContent": "清除内容",
|
||||
"smartTableBold": "加粗",
|
||||
"smartTableFontSize": "字号",
|
||||
"smartTableFontColor": "字体颜色",
|
||||
"smartTableBgColor": "背景颜色",
|
||||
"smartTableToggleBorder": "边框设置",
|
||||
"borderAll": "所有边框",
|
||||
"borderOuter": "外边框",
|
||||
"borderInner": "内边框",
|
||||
"borderHorizontal": "水平边框",
|
||||
"borderVertical": "垂直边框",
|
||||
"borderColorLabel": "边框颜色",
|
||||
"customColor": "自定义",
|
||||
"smartTableColumnWidths": "列宽设置",
|
||||
"labelField": "标签字段",
|
||||
"detailTable": "明细表格",
|
||||
"amountField": "金额字段",
|
||||
"paragraph": "段落文本",
|
||||
"richText": "富文本",
|
||||
"approvalArea": "审批区域",
|
||||
"barcode": "条形码",
|
||||
"spacer": "空白间距",
|
||||
"documentFooter": "文档页脚",
|
||||
|
||||
"searchElements": "搜索元素",
|
||||
"elementTitle": "标题",
|
||||
"elementParagraph": "段落",
|
||||
|
||||
"documentTemplate": "文档模板",
|
||||
"elements": "个元素",
|
||||
|
||||
"viewJSON": "查看JSON",
|
||||
"jsonPreview": "JSON预览",
|
||||
"copyCode": "复制代码",
|
||||
"importConfig": "导入配置",
|
||||
"pasteJsonConfig": "请粘贴JSON配置",
|
||||
"importSuccess": "导入成功",
|
||||
"exportSuccess": "导出成功",
|
||||
"configFormatError": "配置格式错误",
|
||||
"copiedToClipboard": "已复制到剪贴板",
|
||||
"copyFailed": "复制失败",
|
||||
"pleaseEnterConfig": "请输入配置",
|
||||
"pleaseAddElements": "请先添加元素",
|
||||
"previewNotImplemented": "预览功能暂未实现",
|
||||
"pdfPreview": "PDF预览",
|
||||
"generatingPreview": "正在生成预览...",
|
||||
"noPreviewContent": "暂无预览内容",
|
||||
"saveBeforePreview": "请先保存模板后再预览",
|
||||
"viewHTML": "查看HTML",
|
||||
"htmlPreview": "HTML预览",
|
||||
"htmlPreviewFailed": "HTML预览失败",
|
||||
"clearCanvasConfirm": "确定要清空画布吗?此操作不可撤销。",
|
||||
"cleared": "已清空",
|
||||
"releaseToAdd": "释放以添加元素",
|
||||
|
||||
"elementProperties": "元素属性",
|
||||
"templateSettings": "模板设置",
|
||||
|
||||
"signatureZone": "签名区域",
|
||||
"sealZone": "签章区域",
|
||||
"qrcodeContent": "二维码内容",
|
||||
"qrcodeContentPlaceholder": "请输入二维码内容或字段名",
|
||||
"qrcodeType": "二维码类型",
|
||||
"qrcodeTypeText": "文本",
|
||||
"qrcodeTypeUrl": "网址链接",
|
||||
"qrcodeTypePhone": "电话号码",
|
||||
"qrcodeTypeEmail": "电子邮件",
|
||||
"signatureFieldName": "签名字段名",
|
||||
"dividerLine": "分割线",
|
||||
"sourceCode": "源码",
|
||||
"pagePreview": "页面",
|
||||
"fontFamily": "字体",
|
||||
"defaultFont": "默认字体",
|
||||
"lineHeight": "行高",
|
||||
"fontWeightNormal": "正常",
|
||||
"fontWeightBold": "粗体",
|
||||
"alignJustify": "两端对齐",
|
||||
"titlePlaceholder": "请输入标题",
|
||||
"contentPlaceholder": "请输入内容,支持使用 {{变量名}} 插入变量",
|
||||
"imageUrl": "图片地址",
|
||||
"imageUrlPlaceholder": "请输入图片URL或字段名",
|
||||
"imageLabelPlaceholder": "如:签名、审批人等",
|
||||
"labelPosition": "标签位置",
|
||||
"labelPositionTop": "上方",
|
||||
"labelPositionBottom": "下方",
|
||||
"labelPositionLeft": "左侧",
|
||||
"labelPositionRight": "右侧",
|
||||
"labelFontSize": "标签字体大小",
|
||||
"showUnderline": "显示下划线",
|
||||
"lineStyle": "线条样式",
|
||||
"lineSolid": "实线",
|
||||
"lineDashed": "虚线",
|
||||
"lineDotted": "点线",
|
||||
"lineWidth": "线条宽度",
|
||||
"lineColor": "线条颜色",
|
||||
"showPrintDate": "显示打印日期",
|
||||
"footerContentPlaceholder": "请输入页脚内容",
|
||||
"yes": "是",
|
||||
"no": "否",
|
||||
"fieldsConfig": "字段配置",
|
||||
"rowsConfig": "行配置",
|
||||
"field": "字段",
|
||||
"row": "行",
|
||||
"addField": "添加字段",
|
||||
"addRow": "添加行",
|
||||
"newField": "新字段",
|
||||
"label": "标签",
|
||||
"value": "值",
|
||||
"labelWidth": "标签宽度",
|
||||
"labelBgColor": "标签背景色",
|
||||
"labelColor": "标签字体颜色",
|
||||
"fieldFontSize": "字段字体大小",
|
||||
"fieldColor": "字段字体颜色",
|
||||
"valueFontSize": "值字体大小",
|
||||
"valueColor": "值字体颜色",
|
||||
"fontSettings": "字体设置",
|
||||
"fontColor": "字体颜色",
|
||||
"labelFontWeight": "标签加粗",
|
||||
"headerBgColor": "表头背景色",
|
||||
"headerFontSize": "表头字体大小",
|
||||
"headerColor": "表头字体颜色",
|
||||
"headerFontWeight": "表头加粗",
|
||||
"labelSettings": "标签设置",
|
||||
"contentFontSize": "内容字体大小",
|
||||
"contentColor": "内容字体颜色",
|
||||
"columnWidth": "列宽",
|
||||
"showIndex": "显示序号",
|
||||
"indexWidth": "序号宽度",
|
||||
"noBackground": "无背景色",
|
||||
"borderStyle": "边框样式",
|
||||
"borderNone": "无边框",
|
||||
"insertVariable": "插入变量",
|
||||
"searchVariable": "搜索变量...",
|
||||
"noVariables": "暂无变量",
|
||||
"otherVariables": "其他",
|
||||
"varApplicant": "申请人",
|
||||
"varDepartment": "部门",
|
||||
"varPosition": "职位",
|
||||
"varApplyDate": "申请日期",
|
||||
"varDocNo": "单据编号",
|
||||
"varCreateDate": "创建日期",
|
||||
"varPhone": "电话",
|
||||
"varEmail": "邮箱",
|
||||
"varTotalAmount": "合计金额",
|
||||
"varRemark": "备注",
|
||||
|
||||
"placeholder": {
|
||||
"name": "搜索模板名称"
|
||||
},
|
||||
"groupFormFields": "表单字段",
|
||||
"groupCalculationFields": "计算字段",
|
||||
"groupSubTablePrefix": "子表: ",
|
||||
"subTableDataSourceSuffix": "(数据源)",
|
||||
"subTableFirstRowSuffix": "(首行)",
|
||||
"nameSuffix": "(名称)",
|
||||
"companyName": "公司名称",
|
||||
"headerType": "页眉类型",
|
||||
"noImage": "暂无图片",
|
||||
"positionMode": "定位模式",
|
||||
"positionInline": "文档流",
|
||||
"positionFloat": "悬浮"
|
||||
},
|
||||
"calculation": {
|
||||
"title": "计算配置",
|
||||
"enableCalculation": "启用计算配置",
|
||||
"enableCalculationHint": "开启后可在计算配置步骤中定义计算字段和聚合字段",
|
||||
"calculationFields": "计算字段",
|
||||
"aggregationFields": "聚合字段",
|
||||
"calculationField": "计算字段",
|
||||
"aggregationField": "聚合字段",
|
||||
"noCalculationFields": "暂无计算字段,点击添加按钮创建",
|
||||
"noAggregationFields": "暂无聚合字段,点击添加按钮创建",
|
||||
"fieldName": "字段名",
|
||||
"fieldLabel": "字段标签",
|
||||
"fieldNamePlaceholder": "如: total_amount",
|
||||
"fieldLabelPlaceholder": "如: 合计金额",
|
||||
"formula": "计算公式",
|
||||
"formulaPlaceholder": "如: quantity * unit_price * (1 - discount_rate)",
|
||||
"formulaHint": "支持运算符: +, -, *, /, %, ** | 函数: round, abs, numberToChinese | 可引用其他字段和聚合结果",
|
||||
"format": "格式化",
|
||||
"formatNumber": "数字",
|
||||
"formatMoney": "金额",
|
||||
"formatPercent": "百分比",
|
||||
"formatChinese": "中文大写",
|
||||
"decimalPlaces": "小数位数",
|
||||
"dataSource": "数据源",
|
||||
"selectSubTable": "请选择子表",
|
||||
"aggregateField": "聚合字段",
|
||||
"selectField": "请选择字段",
|
||||
"aggregateFunction": "聚合函数",
|
||||
"funcSum": "求和",
|
||||
"funcAvg": "平均值",
|
||||
"funcMax": "最大值",
|
||||
"funcMin": "最小值",
|
||||
"funcCount": "计数",
|
||||
"usageTitle": "使用说明",
|
||||
"usageHint1": "聚合字段用于对子表数据进行汇总计算(如订单明细的金额合计)",
|
||||
"usageHint2": "计算字段用于基于表单字段或聚合结果进行公式计算",
|
||||
"usageHint3": "计算结果可在单据模板中通过变量名引用(用双花括号包裹变量名)",
|
||||
"usageHint4": "中文大写格式会自动将数字转换为大写金额(如:壹仟贰佰叁拾肆元伍角陆分)",
|
||||
"positionMode": "定位模式",
|
||||
"positionInline": "文档流",
|
||||
"positionFloat": "悬浮",
|
||||
"floatX": "X 坐标",
|
||||
"floatY": "Y 坐标",
|
||||
"floatZIndex": "层级",
|
||||
"editorModeComponent": "组件模式",
|
||||
"editorModeWysiwyg": "文档模式",
|
||||
"wysiwygInsertImage": "插入图片",
|
||||
"wysiwygInsertSeal": "插入签章",
|
||||
"wysiwygPageCount": "共 {count} 页",
|
||||
"hideAttributePanel": "隐藏属性面板",
|
||||
"showAttributePanel": "显示属性面板"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,164 @@
|
||||
{
|
||||
"tool": {
|
||||
"selection": "选择",
|
||||
"hand": "手形工具",
|
||||
"rectangle": "矩形",
|
||||
"ellipse": "椭圆",
|
||||
"diamond": "菱形",
|
||||
"line": "直线",
|
||||
"arrow": "箭头",
|
||||
"freedraw": "自由绘制",
|
||||
"text": "文本",
|
||||
"image": "图片",
|
||||
"eraser": "橡皮擦",
|
||||
"frame": "框架",
|
||||
"laser": "激光笔"
|
||||
},
|
||||
"action": {
|
||||
"undo": "撤销",
|
||||
"redo": "重做",
|
||||
"copy": "复制",
|
||||
"cut": "剪切",
|
||||
"paste": "粘贴",
|
||||
"duplicate": "复制元素",
|
||||
"delete": "删除",
|
||||
"selectAll": "全选",
|
||||
"zoomIn": "放大",
|
||||
"zoomOut": "缩小",
|
||||
"zoomToFit": "适应画布",
|
||||
"zoomToFitSelection": "适应选中元素",
|
||||
"resetZoom": "重置缩放",
|
||||
"exportPng": "导出为 PNG",
|
||||
"exportSvg": "导出为 SVG",
|
||||
"exportJson": "导出为 JSON",
|
||||
"save": "保存",
|
||||
"toggleGrid": "切换网格",
|
||||
"toggleDarkMode": "切换深色模式",
|
||||
"toggleSnap": "切换对齐吸附",
|
||||
"toggleStats": "切换统计面板",
|
||||
"toggleZenMode": "切换专注模式"
|
||||
},
|
||||
"property": {
|
||||
"strokeColor": "描边颜色",
|
||||
"backgroundColor": "背景颜色",
|
||||
"fillStyle": "填充样式",
|
||||
"strokeWidth": "描边宽度",
|
||||
"strokeStyle": "描边样式",
|
||||
"roughness": "粗糙度",
|
||||
"opacity": "透明度",
|
||||
"fontSize": "字体大小",
|
||||
"fontFamily": "字体",
|
||||
"textAlign": "文本对齐",
|
||||
"verticalAlign": "垂直对齐",
|
||||
"arrowheadStart": "起点箭头",
|
||||
"arrowheadEnd": "终点箭头",
|
||||
"arrowType": "箭头类型",
|
||||
"arrowTypeStraight": "直线",
|
||||
"arrowTypeRound": "曲线",
|
||||
"arrowTypeElbow": "肘形",
|
||||
"arrowTypeSharp": "折线",
|
||||
"roundness": "圆角",
|
||||
"edges": "边角",
|
||||
"edgesSharp": "直角",
|
||||
"edgesRound": "圆角",
|
||||
"sloppiness": "笔触风格",
|
||||
"link": "超链接",
|
||||
"linkPlaceholder": "输入链接地址...",
|
||||
"mixed": "多选时属性值不同",
|
||||
"alignDistribute": "对齐与分布",
|
||||
"customColor": "自定义颜色",
|
||||
"layers": "图层",
|
||||
"actions": "操作"
|
||||
},
|
||||
"fillStyle": {
|
||||
"hachure": "线条填充",
|
||||
"crossHatch": "交叉填充",
|
||||
"solid": "实心填充",
|
||||
"zigzag": "锯齿填充",
|
||||
"dots": "点状填充",
|
||||
"dashed": "虚线填充",
|
||||
"zigzagLine": "锯齿线填充"
|
||||
},
|
||||
"strokeStyle": {
|
||||
"solid": "实线",
|
||||
"dashed": "虚线",
|
||||
"dotted": "点线"
|
||||
},
|
||||
"arrowhead": {
|
||||
"none": "无",
|
||||
"arrow": "箭头",
|
||||
"bar": "竖线",
|
||||
"circle": "圆点",
|
||||
"triangle": "三角形",
|
||||
"diamond": "菱形"
|
||||
},
|
||||
"menu": {
|
||||
"copy": "复制",
|
||||
"cut": "剪切",
|
||||
"paste": "粘贴",
|
||||
"duplicate": "创建副本",
|
||||
"delete": "删除",
|
||||
"selectAll": "全选",
|
||||
"layer": "层级",
|
||||
"bringToFront": "移到最前",
|
||||
"sendToBack": "移到最后",
|
||||
"bringForward": "上移一层",
|
||||
"sendBackward": "下移一层",
|
||||
"flip": "翻转",
|
||||
"flipH": "水平翻转",
|
||||
"flipV": "垂直翻转",
|
||||
"align": "对齐",
|
||||
"alignLeft": "左对齐",
|
||||
"alignCenter": "水平居中",
|
||||
"alignRight": "右对齐",
|
||||
"alignTop": "顶部对齐",
|
||||
"alignMiddle": "垂直居中",
|
||||
"alignBottom": "底部对齐",
|
||||
"distributeH": "水平等距分布",
|
||||
"distributeV": "垂直等距分布",
|
||||
"group": "编组",
|
||||
"ungroup": "取消编组",
|
||||
"lock": "锁定",
|
||||
"unlock": "解锁",
|
||||
"addLink": "添加超链接",
|
||||
"editLink": "编辑超链接",
|
||||
"removeLink": "移除超链接",
|
||||
"openLink": "打开链接",
|
||||
"toggleGrid": "切换网格",
|
||||
"copyStyle": "复制样式",
|
||||
"pasteStyle": "粘贴样式",
|
||||
"openFile": "打开",
|
||||
"saveTo": "保存到...",
|
||||
"export": "导出",
|
||||
"exportPng": "导出为 PNG",
|
||||
"exportSvg": "导出为 SVG",
|
||||
"exportJson": "导出为 JSON",
|
||||
"exportCopyPng": "复制为 PNG",
|
||||
"exportCopySvg": "复制为 SVG"
|
||||
},
|
||||
"label": {
|
||||
"thin": "细",
|
||||
"bold": "粗",
|
||||
"extraBold": "特粗",
|
||||
"architect": "建筑师",
|
||||
"artist": "艺术家",
|
||||
"cartoonist": "漫画家"
|
||||
},
|
||||
"font": {
|
||||
"handDrawn": "手绘",
|
||||
"normal": "常规",
|
||||
"code": "代码",
|
||||
"assistant": "辅助"
|
||||
},
|
||||
"verticalAlign": {
|
||||
"top": "顶部",
|
||||
"middle": "居中",
|
||||
"bottom": "底部"
|
||||
},
|
||||
"stats": {
|
||||
"title": "统计信息",
|
||||
"elements": "元素数量",
|
||||
"sceneSize": "画布尺寸",
|
||||
"multiSelected": "已选中 {count} 个元素"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,60 @@
|
||||
{
|
||||
"title": "电子签章管理",
|
||||
"create": "新建签章",
|
||||
"createSeal": "新建签章",
|
||||
"editSeal": "编辑签章",
|
||||
"name": "签章名称",
|
||||
"sealTypeLabel": "签章类型",
|
||||
"ownerTypeLabel": "所有者类型",
|
||||
"scopeLabel": "使用范围",
|
||||
"sealImage": "签章图片",
|
||||
"description": "描述",
|
||||
"width": "宽度",
|
||||
"height": "高度",
|
||||
"enable": "启用",
|
||||
"disable": "禁用",
|
||||
"sealType": {
|
||||
"company": "公司章",
|
||||
"department": "部门章",
|
||||
"personal": "个人章",
|
||||
"contract": "合同章",
|
||||
"finance": "财务章"
|
||||
},
|
||||
"status": {
|
||||
"active": "已启用",
|
||||
"disabled": "已禁用"
|
||||
},
|
||||
"ownerType": {
|
||||
"all": "所有人",
|
||||
"dept": "指定部门",
|
||||
"role": "指定角色",
|
||||
"user": "指定用户"
|
||||
},
|
||||
"scope": {
|
||||
"all": "所有模板",
|
||||
"specific": "指定模板"
|
||||
},
|
||||
"placeholder": {
|
||||
"name": "请输入签章名称",
|
||||
"sealType": "请选择签章类型",
|
||||
"ownerType": "请选择所有者类型",
|
||||
"scope": "请选择使用范围",
|
||||
"sealImage": "请上传签章图片",
|
||||
"description": "请输入描述",
|
||||
"selectDept": "请选择部门",
|
||||
"selectRole": "请选择角色",
|
||||
"selectUser": "请选择用户",
|
||||
"selectTemplate": "请选择模板"
|
||||
},
|
||||
"deleteConfirm": "确定要删除签章 \"{name}\" 吗?",
|
||||
"deleteConfirmTitle": "删除确认",
|
||||
"deleteSuccess": "删除成功",
|
||||
"disableConfirm": "确定要禁用此签章吗?禁用后将无法使用。",
|
||||
"disableConfirmTitle": "禁用确认",
|
||||
"disableSuccess": "禁用成功",
|
||||
"enableSuccess": "启用成功",
|
||||
"selectDept": "选择部门",
|
||||
"selectRole": "选择角色",
|
||||
"selectUser": "选择用户",
|
||||
"selectTemplate": "选择模板"
|
||||
}
|
||||
@@ -0,0 +1,125 @@
|
||||
{
|
||||
"email": {
|
||||
"title": "邮箱管理",
|
||||
"composeBtn": "撰写邮件",
|
||||
"refresh": "同步",
|
||||
"syncing": "同步中...",
|
||||
"search": "搜索邮件...",
|
||||
"selectAccount": "选择账号",
|
||||
"addAccount": "添加账号",
|
||||
"manageAccount": "管理账号",
|
||||
"folders": {
|
||||
"inbox": "收件箱",
|
||||
"sent": "已发送",
|
||||
"drafts": "草稿箱",
|
||||
"trash": "垃圾箱",
|
||||
"spam": "垃圾邮件",
|
||||
"archive": "归档"
|
||||
},
|
||||
"list": {
|
||||
"noEmails": "暂无邮件",
|
||||
"noSubject": "(无主题)",
|
||||
"emails": "封邮件"
|
||||
},
|
||||
"detail": {
|
||||
"selectEmail": "选择一封邮件查看详情",
|
||||
"from": "发件人",
|
||||
"to": "收件人",
|
||||
"reply": "回复",
|
||||
"forward": "转发",
|
||||
"delete": "删除",
|
||||
"deleteConfirm": "确认删除这封邮件吗?",
|
||||
"deleteSuccess": "删除成功",
|
||||
"deleteFailed": "删除失败",
|
||||
"attachments": "附件",
|
||||
"loadFailed": "加载邮件详情失败"
|
||||
},
|
||||
"composeModal": {
|
||||
"new": "撰写邮件",
|
||||
"reply": "回复邮件",
|
||||
"forward": "转发邮件",
|
||||
"to": "收件人",
|
||||
"cc": "抄送",
|
||||
"subject": "主题",
|
||||
"content": "内容",
|
||||
"attachments": "附件",
|
||||
"addAttachment": "添加附件",
|
||||
"cancel": "取消",
|
||||
"saveDraft": "保存草稿",
|
||||
"send": "发送",
|
||||
"sendSuccess": "发送成功",
|
||||
"sendFailed": "发送失败",
|
||||
"fillRequired": "请填写收件人、主题和内容",
|
||||
"toPlaceholder": "多个收件人用逗号分隔",
|
||||
"ccPlaceholder": "多个抄送人用逗号分隔",
|
||||
"subjectPlaceholder": "邮件主题",
|
||||
"contentPlaceholder": "邮件正文(富文本编辑器待集成)",
|
||||
"draftSaved": "草稿保存功能待实现"
|
||||
},
|
||||
"account": {
|
||||
"add": "添加邮箱账号",
|
||||
"edit": "编辑邮箱账号",
|
||||
"name": "账号名称",
|
||||
"namePlaceholder": "如:工作邮箱",
|
||||
"provider": "邮件服务商",
|
||||
"providerSelect": "选择邮件服务商",
|
||||
"email": "邮箱地址",
|
||||
"emailPlaceholder": "your@email.com",
|
||||
"password": "密码/授权码",
|
||||
"passwordPlaceholder": "输入邮箱密码或授权码",
|
||||
"advancedSettings": "高级设置",
|
||||
"imapServer": "IMAP服务器",
|
||||
"imapServerPlaceholder": "imap.example.com",
|
||||
"imapPort": "IMAP端口",
|
||||
"smtpServer": "SMTP服务器",
|
||||
"smtpServerPlaceholder": "smtp.example.com",
|
||||
"smtpPort": "SMTP端口",
|
||||
"autoSync": "自动同步",
|
||||
"syncInterval": "同步间隔",
|
||||
"cancel": "取消",
|
||||
"test": "测试连接",
|
||||
"save": "保存",
|
||||
"testSuccess": "连接测试成功!",
|
||||
"testFailed": "连接测试失败",
|
||||
"saveSuccess": "保存成功",
|
||||
"updateSuccess": "更新成功",
|
||||
"saveFailed": "保存失败",
|
||||
"validation": {
|
||||
"nameRequired": "请输入账号名称",
|
||||
"providerRequired": "请选择邮件服务商",
|
||||
"emailRequired": "请输入邮箱地址",
|
||||
"emailInvalid": "请输入正确的邮箱地址",
|
||||
"passwordRequired": "请输入密码或授权码"
|
||||
}
|
||||
},
|
||||
"sync": {
|
||||
"notSynced": "未同步",
|
||||
"syncing": "同步中",
|
||||
"success": "同步成功",
|
||||
"failed": "同步失败",
|
||||
"justNow": "刚刚",
|
||||
"minutesAgo": "分钟前",
|
||||
"hoursAgo": "小时前",
|
||||
"daysAgo": "天前",
|
||||
"syncSuccess": "同步成功,收到 {count} 封新邮件",
|
||||
"syncFailed": "同步失败",
|
||||
"selectAccountFirst": "请先选择邮箱账号"
|
||||
},
|
||||
"stats": {
|
||||
"loadFailed": "加载统计失败"
|
||||
},
|
||||
"providers": {
|
||||
"outlook": "Microsoft Outlook",
|
||||
"163": "网易163邮箱",
|
||||
"qq": "QQ邮箱",
|
||||
"gmail": "Gmail",
|
||||
"enterprise": "企业邮箱",
|
||||
"notes": {
|
||||
"163": "需要使用授权码,不是登录密码",
|
||||
"qq": "需要使用授权码,不是QQ密码",
|
||||
"gmail": "需要开启允许不够安全的应用或使用应用专用密码",
|
||||
"enterprise": "请联系IT管理员获取邮件服务器配置"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,65 @@
|
||||
{
|
||||
"title": "飞书同步配置",
|
||||
"appId": "App ID",
|
||||
"appIdPlaceholder": "请输入飞书应用 App ID",
|
||||
"appSecret": "App Secret",
|
||||
"appSecretPlaceholder": "请输入飞书应用 App Secret",
|
||||
"testConnection": "连接测试",
|
||||
"testSuccess": "连接成功",
|
||||
"testFail": "连接失败",
|
||||
"testing": "测试中...",
|
||||
"syncScope": "同步范围",
|
||||
"syncScopePlaceholder": "请选择",
|
||||
"syncScopeTip": "选择一个组织作为最高级组织进行数据同步,同步成功后该组织不可修改。",
|
||||
"syncScopeLocked": "已完成首次同步,同步范围不可修改。如需变更请联系管理员。",
|
||||
"syncStats": "同步统计",
|
||||
"syncType": "同步类型",
|
||||
"totalCount": "总数",
|
||||
"successCount": "同步成功数",
|
||||
"failCount": "同步失败数",
|
||||
"notSynced": "未同步数",
|
||||
"syncTime": "同步时间",
|
||||
"operation": "操作",
|
||||
"sync": "同步",
|
||||
"syncing": "同步中...",
|
||||
"syncDept": "组织",
|
||||
"syncUser": "用户",
|
||||
"syncDeptSuccess": "组织架构同步完成",
|
||||
"syncUserSuccess": "用户同步完成",
|
||||
"syncFail": "同步失败",
|
||||
"triggerEvents": "触发事件",
|
||||
"triggerEvent": "触发事件",
|
||||
"description": "描述",
|
||||
"enableSyncDept": "启用同步组织",
|
||||
"enableSyncDeptDesc": "新增、删除、修改组织信息触发同步组织事件",
|
||||
"enableSyncUser": "启用同步用户",
|
||||
"enableSyncUserDesc": "新增、删除、修改用户信息触发同步用户事件",
|
||||
"save": "保存",
|
||||
"saving": "保存中...",
|
||||
"saveSuccess": "保存成功",
|
||||
"saveFail": "保存失败",
|
||||
"callbackConfig": "事件回调配置",
|
||||
"callbackConfigTip": "配置回调地址后,飞书通讯录变更将实时推送到本系统进行增量同步。飞书回调需在飞书开放平台管理后台手动配置。",
|
||||
"callbackUrl": "请求地址",
|
||||
"callbackUrlPlaceholder": "请输入请求地址,如 https://example.com/api/core/feishu-sync/callback",
|
||||
"encryptKey": "Encrypt Key",
|
||||
"encryptKeyPlaceholder": "请输入 Encrypt Key",
|
||||
"verificationToken": "Verification Token",
|
||||
"verificationTokenPlaceholder": "请输入 Verification Token",
|
||||
"callbackStatus": "回调状态",
|
||||
"callbackConfigured": "已配置",
|
||||
"callbackNotConfigured": "未配置",
|
||||
"subscribedEvents": "已订阅事件",
|
||||
"generateRandom": "随机生成",
|
||||
"guideTitle": "飞书同步配置指南",
|
||||
"guideStep1Title": "创建飞书企业自建应用",
|
||||
"guideStep1Desc": "登录飞书开放平台(open.feishu.cn),进入「开发者后台」,创建一个企业自建应用,获取 App ID 和 App Secret。",
|
||||
"guideStep2Title": "配置应用权限",
|
||||
"guideStep2Desc": "在应用管理页面,点击「权限管理」,搜索并开通以下权限:「获取部门基础信息」、「获取部门组织架构信息」、「获取用户基本信息」、「获取用户手机号」等通讯录相关权限。",
|
||||
"guideStep3Title": "填写凭证并执行全量同步",
|
||||
"guideStep3Desc": "将 App ID 和 App Secret 填入对应输入框,点击「连接测试」验证凭证。成功后选择同步范围,在统计表中依次同步组织架构和用户。",
|
||||
"guideStep4Title": "配置事件订阅(实时同步)",
|
||||
"guideStep4Desc": "在飞书开放平台应用的「事件订阅」页面,设置请求地址(格式:https://你的域名/api/core/feishu-sync/callback),将此页面生成的 Encrypt Key 和 Verification Token 填入飞书后台,订阅通讯录相关事件。",
|
||||
"guideStep5Title": "启用触发事件",
|
||||
"guideStep5Desc": "在「触发事件」区域勾选需要自动同步的事件类型(同步组织、同步用户),保存配置。之后飞书通讯录发生变更时将自动推送到系统进行增量同步。"
|
||||
}
|
||||
@@ -0,0 +1,42 @@
|
||||
{
|
||||
"myFiles": "我的文件",
|
||||
"fileManagement": "文件管理",
|
||||
"folderName": "文件夹名称",
|
||||
"newFolder": "新建文件夹",
|
||||
"rename": "重命名",
|
||||
"name": "名称",
|
||||
"size": "大小",
|
||||
"modifiedTime": "修改时间",
|
||||
"actions": "操作",
|
||||
"search": "搜索...",
|
||||
"listView": "列表视图",
|
||||
"gridView": "网格视图",
|
||||
"batchDelete": "批量删除",
|
||||
"upload": "上传",
|
||||
"uploadFile": "上传文件",
|
||||
"uploadFolder": "上传文件夹",
|
||||
"open": "打开",
|
||||
"download": "下载",
|
||||
"delete": "删除",
|
||||
"selectAll": "全选",
|
||||
"noFiles": "暂无文件",
|
||||
"pleaseEnterName": "请输入名称",
|
||||
"pleaseEnterFolderName": "请输入文件夹名称",
|
||||
"renameSuccess": "重命名成功",
|
||||
"createSuccess": "创建成功",
|
||||
"deleteSuccess": "删除成功",
|
||||
"deleteConfirm": "确定要删除 {name} 吗?",
|
||||
"batchDeleteConfirm": "确定要删除选中的 {count} 个项目吗?",
|
||||
"uploadSuccess": "成功上传 {count} 个文件",
|
||||
"uploadFailed": "{count} 个文件上传失败",
|
||||
"uploadError": "上传出错",
|
||||
"folderDownloadNotSupported": "暂不支持下载文件夹",
|
||||
"downloadFailed": "下载失败",
|
||||
"previewFailed": "预览失败",
|
||||
"previewNotSupported": "该文件类型暂不支持预览",
|
||||
"previewRenderError": "文件渲染失败",
|
||||
"filePreview": "文件预览",
|
||||
"tip": "提示",
|
||||
"cancel": "取消",
|
||||
"confirm": "确定"
|
||||
}
|
||||
@@ -0,0 +1,810 @@
|
||||
{
|
||||
"form": "表单",
|
||||
"name": "表单名称",
|
||||
"code": "表单编码",
|
||||
"application": "所属应用",
|
||||
"type": "表单类型",
|
||||
"status": "状态",
|
||||
"description": "描述",
|
||||
"createTime": "创建时间",
|
||||
"updateTime": "更新时间",
|
||||
"actions": "操作",
|
||||
"showInMobile": "移动端显示",
|
||||
"showInMobileTip": "开启后,该表单将在移动端工作台中显示",
|
||||
"icon": "表单图标",
|
||||
"iconBgColor": "图标背景色",
|
||||
"iconPreview": "预览",
|
||||
"iconBgColorPlaceholder": "输入自定义颜色或渐变色",
|
||||
"iconPlaceholder": "请选择表单图标",
|
||||
"placeholder": {
|
||||
"name": "请输入表单名称",
|
||||
"code": "请输入表单编码",
|
||||
"type": "请选择表单类型",
|
||||
"status": "请选择状态"
|
||||
},
|
||||
"typeMap": {
|
||||
"all": "全部",
|
||||
"normal": "普通表单",
|
||||
"workflow": "流程表单"
|
||||
},
|
||||
"statusMap": {
|
||||
"all": "全部",
|
||||
"published": "已发布",
|
||||
"draft": "草稿"
|
||||
},
|
||||
"create": "新建表单",
|
||||
"batchDelete": "批量删除",
|
||||
"batchDeleteWithCount": "批量删除 ({count})",
|
||||
"deleteConfirm": "确定要删除表单 \"{name}\" 吗?",
|
||||
"deleteConfirmTitle": "删除确认",
|
||||
"deleteConfirmMessage": "删除表单后将执行以下操作:<br/><br/>1. 删除表单对应的菜单<br/>2. 删除表单的API权限配置<br/>3. 删除表单的字段权限配置<br/>4. 删除表单的数据权限配置<br/>5. 永久删除表单元数据及设计配置<br/><br/>确定要删除表单 \"{name}\" 吗?",
|
||||
"deleteSuccess": "已删除表单: {name}",
|
||||
"batchDeleteConfirm": "确定要删除选中的 {count} 个表单吗?",
|
||||
"batchDeleteConfirmTitle": "批量删除确认",
|
||||
"batchDeleteSuccess": "已删除 {count} 个表单",
|
||||
"unpublishSuccess": "表单 \"{name}\" 已取消发布",
|
||||
"unpublishFailed": "取消发布失败",
|
||||
"unpublishConfirmTitle": "取消发布确认",
|
||||
"unpublishConfirmMessage": "取消发布后将执行以下操作:<br/><br/>1. 删除表单对应的菜单<br/>2. 删除表单的API权限配置<br/>3. 删除表单的字段权限配置<br/>4. 删除表单的数据权限配置<br/><br/>确定要取消发布吗?",
|
||||
"copyCodePlaceholder": "请输入新表单编码",
|
||||
"copyTitle": "复制表单",
|
||||
"copyCodeRule": "编码只能包含字母、数字、下划线和横线",
|
||||
"codeFormatError": "编码必须以字母开头,只能包含字母、数字和下划线",
|
||||
"copySuccess": "复制成功",
|
||||
"preview": "预览",
|
||||
"publish": "发布",
|
||||
"unpublish": "取消发布",
|
||||
"copy": "复制",
|
||||
"visit": "访问表单",
|
||||
"setAsHome": "设为首页",
|
||||
"setAsHomeTitle": "设为默认首页",
|
||||
"setAsHomeConfirm": "确定要将表单「{name}」设为默认首页吗?",
|
||||
"setAsHomePath": "首页路径",
|
||||
"setAsHomeTip": "设置后,用户登录系统将默认跳转到此表单页面。",
|
||||
"setAsHomeAppTip": "此表单属于应用「{app}」,将更新该应用的首页配置。",
|
||||
"setHomeSuccess": "已设为默认首页",
|
||||
"setHomeFailed": "设置首页失败",
|
||||
"more": "更多",
|
||||
"design": "设计",
|
||||
"editInfo": "编辑信息",
|
||||
"saveSuccess": "表单保存成功",
|
||||
"previewDialog": {
|
||||
"title": "表单预览",
|
||||
"loadFailed": "加载表单配置失败",
|
||||
"verifySuccess": "验证通过",
|
||||
"realtimeData": "实时数据 (v-model):",
|
||||
"noConfig": "暂无表单配置",
|
||||
"close": "关闭",
|
||||
"verifySubmit": "验证提交",
|
||||
"verifyFailed": "表单验证失败"
|
||||
},
|
||||
"editor": {
|
||||
"title": "在线开发",
|
||||
"create": "创建表单",
|
||||
"edit": "编辑表单",
|
||||
"steps": {
|
||||
"basic": "基础信息",
|
||||
"database": "数据库设计",
|
||||
"form": "表单设计",
|
||||
"list": "列表设计",
|
||||
"publish": "发布表单"
|
||||
},
|
||||
"placeholder": {
|
||||
"remark": "请输入表单说明"
|
||||
},
|
||||
"validate": {
|
||||
"title": "表单校验未通过",
|
||||
"warningTitle": "表单校验警告",
|
||||
"repairTip": "请修复以下问题后再继续",
|
||||
"warningTip": "以下问题不会阻止保存,但建议检查确认",
|
||||
"continueAnyway": "继续操作",
|
||||
"basic": "基础信息验证:名称、编码必填",
|
||||
"database": "数据库配置验证:必须配置主表",
|
||||
"incomplete": "表单配置不完整",
|
||||
"perfectDesign": "请完善表单设计"
|
||||
},
|
||||
"loadFailed": "加载数据失败",
|
||||
"createSuccess": "创建成功",
|
||||
"save": "保存",
|
||||
"saveSuccess": "保存成功",
|
||||
"autoSave": {
|
||||
"saving": "保存中...",
|
||||
"saved": "已保存",
|
||||
"unsaved": "未保存"
|
||||
}
|
||||
},
|
||||
"dataSource": {
|
||||
"database": "数据库",
|
||||
"refresh": "刷新",
|
||||
"refreshSuccess": "刷新成功",
|
||||
"loading": "加载中...",
|
||||
"mainTable": "主表",
|
||||
"subTable": "从表",
|
||||
"added": "已添加",
|
||||
"fieldPreview": "字段预览",
|
||||
"noFields": "暂无字段信息",
|
||||
"relationConfig": "表关联配置",
|
||||
"selectMainTip": "请先选择主表",
|
||||
"selectMainDesc": "在左侧数据库树中展开到表节点,点击【主表】按钮设置主表。",
|
||||
"addDatabase": "新增数据库",
|
||||
"refreshConn": "刷新连接",
|
||||
"copyConnName": "复制连接名",
|
||||
"addSchema": "新增Schema",
|
||||
"addTable": "新增表",
|
||||
"editDatabase": "编辑数据库",
|
||||
"refreshDatabase": "刷新数据库",
|
||||
"copyDatabaseName": "复制数据库名",
|
||||
"editSchema": "编辑Schema",
|
||||
"refreshSchema": "刷新Schema",
|
||||
"copySchemaName": "复制Schema名",
|
||||
"viewFields": "查看字段",
|
||||
"designTable": "设计表",
|
||||
"setMainTable": "设为主表",
|
||||
"addSubTable": "添加为从表",
|
||||
"copyTableName": "复制表名",
|
||||
"deleteTable": "删除表",
|
||||
"deleteTableConfirmTitle": "删除确认",
|
||||
"confirmDeleteTable": "确定要删除表 \"{tableName}\" 吗?此操作不可恢复!",
|
||||
"deleteTableSuccess": "表删除成功",
|
||||
"deleteTableFailed": "删除表失败",
|
||||
"inputDatabaseName": "请输入数据库名称",
|
||||
"databaseNameRule": "数据库名称只能包含字母、数字和下划线,且必须以字母或下划线开头",
|
||||
"databaseCreateSuccess": "数据库 \"{name}\" 创建成功",
|
||||
"databaseCreateFailed": "创建数据库失败",
|
||||
"inputNewDatabaseName": "请输入新的数据库名称",
|
||||
"nameNotChanged": "名称未变更",
|
||||
"renameNotSupported": "数据库重命名功能暂不支持,请手动操作",
|
||||
"inputSchemaName": "请输入Schema名称",
|
||||
"createSchema": "创建Schema",
|
||||
"schemaNameRule": "Schema名称只能包含字母、数字和下划线,且必须以字母或下划线开头",
|
||||
"schemaCreateSuccess": "Schema \"{name}\" 创建成功",
|
||||
"schemaCreateFailed": "创建Schema失败",
|
||||
"inputNewSchemaName": "请输入新的Schema名称",
|
||||
"schemaRenameSuccess": "Schema 已重命名为 \"{name}\"",
|
||||
"schemaRenameFailed": "重命名Schema失败",
|
||||
"sqlServerRenameSchemaNotSupported": "SQL Server 不支持直接重命名Schema",
|
||||
"loadConfigFailed": "加载数据库配置失败",
|
||||
"loadDatabaseFailed": "加载数据库失败",
|
||||
"loadSchemaFailed": "加载Schema失败",
|
||||
"loadTableFailed": "加载表列表失败",
|
||||
"loadNodeFailed": "加载节点数据失败",
|
||||
"nodeNotFound": "无法找到节点",
|
||||
"refreshNodeSuccess": "刷新成功,展开节点查看最新数据",
|
||||
"refreshNodeFailed": "刷新节点失败",
|
||||
"refreshFailed": "刷新失败",
|
||||
"copyToClipboard": "已复制到剪贴板",
|
||||
"tableAlreadyAdded": "该表已添加",
|
||||
"setMainSuccess": "已设置 {name} 为主表",
|
||||
"addSubSuccess": "已添加从表 {name}",
|
||||
"tableFieldsRefreshed": "表 {name} 的字段信息已更新",
|
||||
"removeMainConfirm": "确定移除主表吗?",
|
||||
"removeSubConfirm": "确定移除此从表吗?",
|
||||
"removeMain": "移除主表",
|
||||
"subTableCount": "共 {count} 个从表",
|
||||
"tableName": "表名",
|
||||
"tableNamePlaceholder": "请输入表名",
|
||||
"alias": "别名",
|
||||
"aliasPlaceholder": "用于SQL查询",
|
||||
"fieldList": "字段列表 ({count})",
|
||||
"fieldName": "字段名",
|
||||
"fieldNamePlaceholder": "请输入字段名",
|
||||
"fieldType": "类型",
|
||||
"fieldLength": "长度",
|
||||
"fieldScale": "小数位",
|
||||
"fieldComment": "注释",
|
||||
"fieldCommentPlaceholder": "请输入字段注释",
|
||||
"schemaName": "Schema",
|
||||
"schemaNamePlaceholder": "请输入Schema名",
|
||||
"nullable": "可空",
|
||||
"isPrimaryKey": "主键",
|
||||
"uniqueCheck": "唯一",
|
||||
"addField": "添加字段",
|
||||
"relationType": "关联类型",
|
||||
"oneToMany": "一对多",
|
||||
"oneToOne": "一对一",
|
||||
"foreignKeyField": "外键字段(从表)",
|
||||
"relatedFieldMain": "关联字段(主表)",
|
||||
"selectForeignKey": "选择外键字段",
|
||||
"selectRelatedField": "选择关联字段",
|
||||
"viewFieldList": "查看字段列表 ({count} 个字段)",
|
||||
"noSubTables": "暂无从表",
|
||||
"addSubTip": "在左侧数据库树中点击 + 按钮添加从表",
|
||||
"missingSystemFieldsTitle": "缺少系统字段",
|
||||
"missingSystemFieldsMessage": "该表缺少数据权限所需的系统字段:<br/><br/><strong>{fields}</strong><br/><br/>如果不添加这些字段,数据权限功能将无法正常工作。<br/><br/>点击【自动添加】将自动为表添加缺少的字段;<br/>点击【忽略并继续】将跳过此检查。",
|
||||
"autoAddFields": "自动添加",
|
||||
"ignoreAndContinue": "忽略并继续",
|
||||
"addSystemFieldsSuccess": "系统字段添加成功",
|
||||
"addSystemFieldsFailed": "系统字段添加失败",
|
||||
"mainTableRequired": "请先配置主表",
|
||||
"connectionUnavailable": "数据库连接不可用,请检查连接配置",
|
||||
"mainTableNotFound": "主表 {table} 在目标连接中不存在",
|
||||
"subTableNotFound": "从表 {table} 在目标连接中不存在",
|
||||
"currentConnection": "当前连接",
|
||||
"externalConnectionTip": "表单数据将写入第三方数据库连接,请确保表已在目标库创建"
|
||||
},
|
||||
"listDesign": {
|
||||
"containerPage": "独立页面",
|
||||
"title": "列表设计",
|
||||
"queryTab": "查询字段",
|
||||
"listTab": "列表字段",
|
||||
"propertyTab": "列表属性",
|
||||
"querySelectionTip": "勾选字段添加到查询条件",
|
||||
"listSelectionTip": "勾选字段添加到列表显示",
|
||||
"selectAll": "全选",
|
||||
"noAvailableFields": "暂无可用字段,请先在表单设计中添加字段",
|
||||
"tableProperties": "Table 属性",
|
||||
"showPagination": "显示分页",
|
||||
"pageSize": "每页条数",
|
||||
"itemsPerPage": "{count} 条/页",
|
||||
"showIndex": "显示序号列",
|
||||
"showSelection": "显示多选框",
|
||||
"stripe": "斑马纹",
|
||||
"border": "边框",
|
||||
"size": "尺寸",
|
||||
"sizeLarge": "大",
|
||||
"sizeDefault": "中",
|
||||
"sizeSmall": "小",
|
||||
"tableHeight": "表格高度",
|
||||
"adaptive": "自适应",
|
||||
"dialogProperties": "Dialog 属性",
|
||||
"dialogWidth": "弹窗宽度",
|
||||
"widthSmall": "小 (600px)",
|
||||
"widthMedium": "中 (800px)",
|
||||
"widthLarge": "大 (1000px)",
|
||||
"widthExtraLarge": "超大 (1200px)",
|
||||
"fullscreen": "全屏显示",
|
||||
"draggable": "可拖拽",
|
||||
"closeOnClickModal": "点击遮罩关闭",
|
||||
"closeOnPressEscape": "ESC 关闭",
|
||||
"pageProperties": "Page 属性",
|
||||
"showBackButton": "显示返回按钮",
|
||||
"showBackButtonTip": "控制页面左上角是否显示返回列表按钮",
|
||||
"layoutRenderMode": "渲染模式",
|
||||
"conditionRender": "条件渲染",
|
||||
"routeRender": "路由渲染",
|
||||
"conditionRenderTip": "在当前页面内通过 v-if 切换显示表单,不产生新路由",
|
||||
"routeRenderTip": "跳转到独立路由页面显示表单,不显示标签页",
|
||||
"openInNewTab": "新开标签页",
|
||||
"openInNewTabTip": "点击新增、编辑、查看按钮时是否在新标签页中打开表单页面",
|
||||
"buttonDisplay": "按钮显示",
|
||||
"toolbarButtons": "列表头部按钮",
|
||||
"rowActionButtons": "列表项操作按钮",
|
||||
"addBtn": "新增按钮",
|
||||
"editBtn": "编辑按钮",
|
||||
"deleteBtn": "删除按钮",
|
||||
"viewBtn": "查看按钮",
|
||||
"exportBtn": "导出按钮",
|
||||
"importBtn": "导入按钮",
|
||||
"batchDeleteBtn": "批量删除",
|
||||
"startWorkflow": "发起流程",
|
||||
"noWorkflowBound": "该表单未绑定任何流程",
|
||||
"startWorkflowSuccess": "流程发起成功",
|
||||
"startWorkflowFailed": "流程发起失败",
|
||||
"workflowTitleLabel": "流程标题",
|
||||
"workflowTitlePlaceholder": "请输入流程标题",
|
||||
"workflowTitleRequired": "流程标题不能为空",
|
||||
"formActionSettings": "表单操作设置",
|
||||
"showConfirmButton": "显示确认按钮",
|
||||
"showConfirmButtonTip": "关闭后,新增/编辑时不显示确认按钮",
|
||||
"afterSaveAction": "新增保存后行为",
|
||||
"afterSaveClose": "关闭并返回列表",
|
||||
"afterSaveEditMode": "切换为编辑模式",
|
||||
"afterSaveContinueAdd": "清空表单继续新增",
|
||||
"afterSaveActionTip": "仅在新增时生效:关闭返回列表、保持当前记录进入编辑、或清空表单继续录入下一条",
|
||||
"enableStartWorkflowOnAdd": "新增时可发起流程",
|
||||
"enableStartWorkflowOnAddTip": "开启后,在新增数据时会显示「发起流程」按钮",
|
||||
"queryConfigTitle": "查询字段配置",
|
||||
"listConfigTitle": "列表字段配置",
|
||||
"sort": "排序",
|
||||
"displayName": "显示名称",
|
||||
"fieldKey": "字段键值",
|
||||
"queryType": "查询类型",
|
||||
"componentType": "组件类型",
|
||||
"width": "宽度",
|
||||
"defaultValue": "默认值",
|
||||
"hidden": "隐藏",
|
||||
"showTime": "时间",
|
||||
"multiple": "多选",
|
||||
"caseSensitive": "大小写敏感",
|
||||
"actions": "操作",
|
||||
"matchLike": "模糊匹配",
|
||||
"matchEq": "精确匹配",
|
||||
"matchRange": "范围查询",
|
||||
"matchIn": "包含匹配",
|
||||
"matchSpaceLikeAnd": "空格模糊且",
|
||||
"matchSpaceLikeOr": "空格模糊或",
|
||||
"matchSpaceEqAnd": "空格精确且",
|
||||
"matchSpaceEqOr": "空格精确或",
|
||||
"compInput": "输入框",
|
||||
"compSelect": "下拉框",
|
||||
"compDate": "日期",
|
||||
"compTime": "时间",
|
||||
"compUser-select": "用户选择",
|
||||
"compDept-select": "部门选择",
|
||||
"compRole-select": "角色选择",
|
||||
"compPost-select": "岗位选择",
|
||||
"compForm-select": "表单选择",
|
||||
"compTable-select": "表格选择",
|
||||
"compFile-select": "文件选择",
|
||||
"compImage-select": "图片选择",
|
||||
"compRegion-select": "省市区选择",
|
||||
"compMoney-input": "金额输入",
|
||||
"compRich-text": "富文本编辑器",
|
||||
"compCode-editor": "代码编辑器",
|
||||
"compFormula-input": "公式输入",
|
||||
"compCron-selector": "Cron表达式",
|
||||
"compCurrent-user": "当前用户",
|
||||
"compCurrent-datetime": "当前时间",
|
||||
"compCode-generator": "编码生成器",
|
||||
"compAi-image-ocr": "AI图片识别",
|
||||
"width18": "1/8 (3)",
|
||||
"width16": "1/6 (4)",
|
||||
"width14": "1/4 (6)",
|
||||
"width13": "1/3 (8)",
|
||||
"width12": "1/2 (12)",
|
||||
"widthFull": "整行 (24)",
|
||||
"none": "无",
|
||||
"noQueryFields": "暂无查询字段",
|
||||
"selectQueryTip": "请在右侧勾选需要查询的字段",
|
||||
"columnName": "列名",
|
||||
"left": "居左",
|
||||
"center": "居中",
|
||||
"right": "居右",
|
||||
"minWidth": "最小宽度",
|
||||
"min": "最小",
|
||||
"noFixed": "不冻结",
|
||||
"fixedLeft": "左侧",
|
||||
"fixedRight": "右侧",
|
||||
"sortable": "可排序",
|
||||
"resizable": "可调宽",
|
||||
"overflowTooltip": "溢出提示",
|
||||
"ellipsis": "省略号",
|
||||
"fileImageDisplayHint": "图片/签名字段自动以缩略图显示,无需文本类配置",
|
||||
"showAsTag": "Tag显示",
|
||||
"tagType": "Tag类型:",
|
||||
"tagDefault": "默认",
|
||||
"tagSuccess": "成功",
|
||||
"tagWarning": "警告",
|
||||
"tagInfo": "信息",
|
||||
"tagDanger": "危险",
|
||||
"formatter": "格式化",
|
||||
"formatDate": "日期",
|
||||
"formatDateTime": "日期时间",
|
||||
"formatMoney": "金额",
|
||||
"formatPercent": "百分比",
|
||||
"formatNumber": "数字",
|
||||
"formatPattern": "模式",
|
||||
"prefix": "前缀",
|
||||
"suffix": "后缀",
|
||||
"custom": "自定义",
|
||||
"unitYuan": "元",
|
||||
"unitGe": "个",
|
||||
"unitCi": "次",
|
||||
"unitDay": "天",
|
||||
"unitHour": "小时",
|
||||
"noListFields": "暂无列表字段",
|
||||
"selectListTip": "请在右侧勾选需要显示的字段",
|
||||
"defaultSortField": "默认排序字段",
|
||||
"selectSortField": "请选择排序字段",
|
||||
"sortOrder": "排序方向",
|
||||
"ascending": "升序",
|
||||
"descending": "降序",
|
||||
"addSortField": "添加排序字段",
|
||||
"defaultFilterConditions": "默认过滤条件",
|
||||
"selectFilterField": "请选择字段",
|
||||
"selectFilterOperator": "操作符",
|
||||
"filterValue": "值",
|
||||
"filterValuePlaceholder": "请输入过滤值",
|
||||
"addFilterCondition": "添加过滤条件",
|
||||
"filterOperatorEq": "等于",
|
||||
"filterOperatorNe": "不等于",
|
||||
"filterOperatorGt": "大于",
|
||||
"filterOperatorGte": "大于等于",
|
||||
"filterOperatorLt": "小于",
|
||||
"filterOperatorLte": "小于等于",
|
||||
"filterOperatorLike": "包含",
|
||||
"filterOperatorIn": "在列表中",
|
||||
"filterOperatorNull": "为空",
|
||||
"filterOperatorNotNull": "不为空",
|
||||
"tableSummary": "表尾统计",
|
||||
"showSummary": "显示统计行",
|
||||
"summaryText": "统计行首列文字",
|
||||
"summaryTextPlaceholder": "合计",
|
||||
"summaryColumnTip": "在列表字段配置中为数值类型字段开启统计",
|
||||
"treeConfig": "树形表格",
|
||||
"enableTree": "启用树形表格",
|
||||
"parentField": "父节点字段",
|
||||
"lazyLoad": "懒加载",
|
||||
"lazyLoadOnTip": "按需加载子节点",
|
||||
"lazyLoadOffTip": "一次加载全部数据",
|
||||
"defaultExpandAll": "默认展开所有",
|
||||
"indent": "缩进",
|
||||
"checkStrictly": "父子不关联",
|
||||
"enableSummary": "统计",
|
||||
"summaryType": "类型",
|
||||
"summarySum": "求和",
|
||||
"summaryAvg": "平均",
|
||||
"summaryCount": "计数",
|
||||
"summaryMax": "最大",
|
||||
"summaryMin": "最小",
|
||||
"summaryPrecision": "精度",
|
||||
"sortFrontend": "前端",
|
||||
"sortBackend": "后端",
|
||||
"filterable": "过滤",
|
||||
"filterInput": "输入",
|
||||
"filterSelect": "选择",
|
||||
"filterDateRange": "日期范围",
|
||||
"filterMultiple": "多选",
|
||||
"dialogFilter": "弹窗选择",
|
||||
"subTableButtons": "子表操作按钮",
|
||||
"subTableButtonsTip": "配置子表独立表单的操作按钮,点击后可在弹窗/抽屉/页面中管理子表数据",
|
||||
"addSubTableButton": "添加子表按钮",
|
||||
"noSubTableButtons": "暂无子表操作按钮",
|
||||
"subTableButtonText": "按钮文本",
|
||||
"selectSubTable": "选择子表",
|
||||
"selectSubTablePlaceholder": "请选择要关联的子表",
|
||||
"selectSubForm": "选择子表单",
|
||||
"selectSubFormPlaceholder": "请选择子表对应的独立表单",
|
||||
"foreignKeyField": "外键字段",
|
||||
"foreignKeyFieldPlaceholder": "自动从子表配置获取",
|
||||
"buttonStyle": "按钮样式",
|
||||
"subFormContainerType": "容器类型",
|
||||
"drawerSize": "抽屉尺寸",
|
||||
"drawerDirection": "打开方向",
|
||||
"customButtons": "自定义按钮",
|
||||
"addCustomButton": "添加自定义按钮",
|
||||
"noCustomButtons": "暂无自定义按钮",
|
||||
"defaultButtonName": "自定义按钮",
|
||||
"buttonName": "按钮名称",
|
||||
"buttonType": "按钮类型",
|
||||
"buttonPosition": "按钮位置",
|
||||
"toolbar": "工具栏",
|
||||
"tools": "工具栏右侧",
|
||||
"row": "行操作",
|
||||
"iconAndDisplay": "图标和显示",
|
||||
"iconOnly": "只显示图标",
|
||||
"actionType": "操作类型",
|
||||
"actionLink": "打开链接",
|
||||
"actionApi": "调用接口",
|
||||
"actionEvent": "触发事件",
|
||||
"actionPage": "打开页面",
|
||||
"actionGenerateDocument": "生成单据",
|
||||
"bindDocumentTemplates": "绑定单据模板",
|
||||
"bindDocumentTemplatesPlaceholder": "选择要生成的单据模板(可多选)",
|
||||
"bindDocumentTemplatesHint": "不选择则生成该表单下全部已发布单据模板;选择后仅生成所选模板",
|
||||
"pageCode": "页面编码",
|
||||
"pageCodePlaceholder": "选择要打开的页面",
|
||||
"pageCodeRequired": "请选择页面",
|
||||
"dialogTitle": "弹窗标题",
|
||||
"dialogTitlePlaceholder": "支持变量:{id}、{name}等",
|
||||
"pageDialogWidth": "弹窗宽度",
|
||||
"pageDialogFullscreen": "全屏显示",
|
||||
"pageView": "页面查看",
|
||||
"pageLoadFailed": "加载页面失败",
|
||||
"pageNoConfig": "暂无页面配置",
|
||||
"linkUrl": "链接地址",
|
||||
"linkUrlPlaceholder": "支持变量:{id}、{field}等",
|
||||
"apiUrl": "接口地址",
|
||||
"apiUrlPlaceholder": "/api/xxx,支持变量:{id}",
|
||||
"apiMethod": "请求方法",
|
||||
"confirmMessage": "确认提示",
|
||||
"confirmMessagePlaceholder": "执行前显示的确认消息",
|
||||
"eventName": "事件名称",
|
||||
"eventNamePlaceholder": "自定义事件名称",
|
||||
"buttonIcon": "按钮图标",
|
||||
"buttonIconPlaceholder": "lucide:icon-name",
|
||||
"showCondition": "显示条件",
|
||||
"showConditionPlaceholder": "row.status === 'active'",
|
||||
"permissionCode": "权限编码",
|
||||
"permissionCodePlaceholder": "可选,用于权限控制",
|
||||
"styleOptions": "样式选项",
|
||||
"plain": "朴素按钮",
|
||||
"round": "圆角按钮",
|
||||
"circle": "圆形按钮",
|
||||
"textBtn": "文本按钮",
|
||||
"linkBtn": "链接按钮",
|
||||
"buttonSize": "按钮尺寸",
|
||||
"stateControl": "状态控制",
|
||||
"disabled": "禁用",
|
||||
"disabledCondition": "禁用条件",
|
||||
"disabledConditionPlaceholder": "row.status === 'completed'",
|
||||
"tooltip": "提示文本",
|
||||
"tooltipPlaceholder": "鼠标悬停时显示的提示",
|
||||
"badge": "徽标",
|
||||
"badgePlaceholder": "数字或文本,支持变量",
|
||||
"badgeType": "徽标类型",
|
||||
"confirmDialog": "确认对话框",
|
||||
"confirmTitle": "确认标题",
|
||||
"confirmTitlePlaceholder": "确认操作",
|
||||
"messageConfig": "消息配置",
|
||||
"successMessage": "成功消息",
|
||||
"successMessagePlaceholder": "操作成功",
|
||||
"errorMessage": "失败消息",
|
||||
"errorMessagePlaceholder": "操作失败",
|
||||
"reloadAfterSuccess": "成功后刷新列表",
|
||||
"actionAgent": "Agent对话",
|
||||
"agentId": "Agent ID",
|
||||
"agentIdPlaceholder": "Agent的唯一标识",
|
||||
"agentCode": "Agent编码",
|
||||
"agentCodePlaceholder": "Agent的编码(备选)",
|
||||
"initialMessage": "初始消息",
|
||||
"initialMessagePlaceholder": "打开对话时的初始消息,支持变量如{name}",
|
||||
"includeRowData": "包含行数据",
|
||||
"autoSend": "自动发送初始消息",
|
||||
"listType": "列表类型",
|
||||
"cardProperties": "Card 属性",
|
||||
"cardColumns": "每行显示数量",
|
||||
"cardColumnsOption": "{count} 列",
|
||||
"cardGap": "卡片间距 (px)",
|
||||
"cardShadow": "卡片阴影",
|
||||
"shadowAlways": "始终显示",
|
||||
"shadowHover": "悬停显示",
|
||||
"shadowNever": "不显示",
|
||||
"cardFieldsConfig": "卡片字段配置",
|
||||
"cardFieldsTip": "将字段拖拽到卡片对应区域",
|
||||
"cardPreview": "卡片预览",
|
||||
"cardFieldProperties": "字段属性",
|
||||
"fieldProperties": "字段属性",
|
||||
"showDisplayName": "显示名称",
|
||||
"showRelationField": "显示关联字段",
|
||||
"selectDisplayField": "选择显示字段",
|
||||
"selectDisplayFieldPlaceholder": "请选择要显示的字段",
|
||||
"loadingFields": "加载字段中...",
|
||||
"showAvatar": "显示头像",
|
||||
"showVirtualValue": "显示关联值",
|
||||
"cardAreaIcon": "图标",
|
||||
"cardAreaTitle": "标题",
|
||||
"cardAreaSubtitle": "副标题",
|
||||
"cardAreaDescription": "描述",
|
||||
"cardAreaTags": "标签",
|
||||
"cardAreaFooterLeft": "底部左侧",
|
||||
"cardAreaFooterRight": "底部右侧",
|
||||
"cardAreaEmpty": "拖入字段",
|
||||
"cardAreaRequired": "必填",
|
||||
"cardAreaMaxTags": "最多 {count} 个",
|
||||
"cardQueryLimit": "卡片模式下查询字段最多 {count} 个",
|
||||
"noCardFields": "暂无卡片字段配置",
|
||||
"selectCardFieldTip": "点击卡片区域或从右侧拖入字段",
|
||||
"useCursorPagination": "游标分页",
|
||||
"useCursorPaginationTip": "适用于大数据量场景,开启后不显示总条数,仅支持上一页/下一页翻页",
|
||||
"prevPage": "上一页",
|
||||
"nextPage": "下一页",
|
||||
"noMoreData": "没有更多数据"
|
||||
},
|
||||
"formRender": {
|
||||
"subTableData": "子表数据",
|
||||
"loadSubFormFailed": "加载子表单失败",
|
||||
"loadDataFailed": "加载数据失败",
|
||||
"validateFailed": "请检查表单填写是否正确"
|
||||
},
|
||||
"publishDialog": {
|
||||
"title": "表单发布",
|
||||
"settings": "发布设置",
|
||||
"allowGuest": "允许访客填写",
|
||||
"success": "发布成功",
|
||||
"failed": "发布失败",
|
||||
"menuConfig": "菜单配置",
|
||||
"menuName": "菜单名称",
|
||||
"parentMenu": "上级菜单",
|
||||
"parentMenuPlaceholder": "请选择上级菜单(不选则为顶级)",
|
||||
"menuIcon": "菜单图标",
|
||||
"routeInfo": "路由信息",
|
||||
"accessPath": "访问路径",
|
||||
"confirmPublish": "确认发布"
|
||||
},
|
||||
"validator": {
|
||||
"required": "不能为空",
|
||||
"formatInvalid": "格式不正确",
|
||||
"tooLong": "长度超出限制",
|
||||
"notBound": "未绑定数据字段",
|
||||
"duplicateSubField": "从表 \"{table}\" 中字段名 \"{field}\" 重复使用",
|
||||
"duplicateField": "字段名 \"{field}\" 重复使用",
|
||||
"invalidSubTable": "无效的从表 \"{table}\"",
|
||||
"fieldNotInSubTable": "字段 \"{field}\" 不存在于从表 \"{table}\" 中",
|
||||
"fieldNotInMainTable": "字段 \"{field}\" 不存在于主表中",
|
||||
"fileMultipleRequiresJson": "字段 \"{field}\" 配置为多选文件/图片,数据库类型必须为 JSON,当前类型为 {currentType}",
|
||||
"fileSingleRequiresVarchar": "字段 \"{field}\" 配置为单选文件/图片,数据库类型必须为 VARCHAR,当前类型为 {currentType}",
|
||||
"regionRequiresJson": "字段 \"{field}\" 使用省市区组件,数据库类型必须为 JSON,当前类型为 {currentType}",
|
||||
"numericFieldRequiresNumericComponent": "字段 \"{field}\" 的数据库类型为 {fieldType}(数字类型),不能使用 {componentType} 组件,请使用数字输入、金额输入、滑块、评分或公式计算等数字类型组件",
|
||||
"stringFieldCannotUseDateComponent": "字段 \"{field}\" 的数据库类型为 {fieldType}(字符串类型),不能使用 {componentType} 组件,日期时间组件需要对应的日期时间类型字段",
|
||||
"dateTimeFieldRequiresDateComponent": "字段 \"{field}\" 的数据库类型为 {fieldType}(日期时间类型),不能使用 {componentType} 组件,请使用日期选择、时间选择或创建时间等日期时间组件",
|
||||
"booleanFieldRequiresSwitchComponent": "字段 \"{field}\" 的数据库类型为 {fieldType}(布尔类型),不能使用 {componentType} 组件,请使用开关、单选框或下拉选择等组件",
|
||||
"jsonFieldRequiresJsonComponent": "字段 \"{field}\" 的数据库类型为 {fieldType}(JSON类型),不能使用 {componentType} 组件,请使用多选框、级联选择、树形选择、文件选择等支持JSON的组件",
|
||||
"reverseAutoFillRequiresMultiple": "字段 \"{field}\" 启用了关联自动填充,必须开启多选",
|
||||
"reverseAutoFillNoFormCode": "字段 \"{field}\" 启用了关联自动填充,但未配置关联表单",
|
||||
"reverseAutoFillNoSourceField": "字段 \"{field}\" 启用了关联自动填充,但未配置源字段",
|
||||
"reverseAutoFillNoTargetField": "字段 \"{field}\" 启用了关联自动填充,但未配置关联表单过滤字段",
|
||||
"reverseAutoFillSelfSource": "字段 \"{field}\" 关联自动填充的源字段不能是自身",
|
||||
"reverseAutoFillConflictsValueLink": "字段 \"{field}\" 已启用关联自动填充,不能同时启用值关联",
|
||||
"unknown": "未知",
|
||||
"columnNoField": "列未绑定字段",
|
||||
"unknownColumn": "未知列",
|
||||
"columnFieldNotExist": "列绑定的字段 \"{field}\" 不存在于表单或数据库中",
|
||||
"queryFieldNoField": "查询字段未绑定字段",
|
||||
"unknownQueryField": "未知查询字段",
|
||||
"queryFieldNotExist": "查询字段 \"{field}\" 不存在于表单或数据库中",
|
||||
"subTableButton": "子表按钮",
|
||||
"subTableButtonNoText": "子表按钮未设置按钮文本",
|
||||
"subTableButtonNoFormCode": "子表按钮未设置子表单编码",
|
||||
"subTableButtonNoForeignKey": "子表按钮未设置外键字段",
|
||||
"customButton": "自定义按钮",
|
||||
"customButtonNoName": "自定义按钮未设置名称",
|
||||
"customButtonLinkNoUrl": "链接类型按钮未设置跳转地址",
|
||||
"customButtonApiNoUrl": "API类型按钮未设置接口地址",
|
||||
"customButtonEventNoName": "事件类型按钮未设置事件名称"
|
||||
},
|
||||
"generateDocument": {
|
||||
"title": "生成单据",
|
||||
"template": "单据模板",
|
||||
"selectTemplate": "请选择单据模板",
|
||||
"selectTemplatePlaceholder": "请选择要生成的单据模板",
|
||||
"description": "模板说明",
|
||||
"noTemplates": "该表单未绑定任何已发布的单据模板",
|
||||
"generatedDocuments": "已生成单据",
|
||||
"generate": "生成",
|
||||
"generateSuccess": "单据生成成功",
|
||||
"generateFailed": "单据生成失败",
|
||||
"preview": "预览",
|
||||
"download": "下载",
|
||||
"buttonLabel": "生成单据",
|
||||
"buttonTooltip": "根据此数据生成单据",
|
||||
"positionHint": "生成单据按钮只能放在行操作位置,因为需要基于具体的表单数据生成",
|
||||
"autoRefresh": "自动刷新",
|
||||
"autoRefreshHint": "开启后,每次点击按钮都会按最新表单数据重新生成单据;关闭则优先展示已生成的单据"
|
||||
},
|
||||
"apiInfo": {
|
||||
"title": "API 接口信息",
|
||||
"description": "当前表单提供以下 API 接口,所有接口均需要认证令牌。",
|
||||
"formCode": "表单编码",
|
||||
"basePrefix": "基础前缀",
|
||||
"authRequired": "需要认证",
|
||||
"permissions": "权限查询",
|
||||
"getPermissions": "获取操作权限",
|
||||
"getPermissionsDesc": "获取当前用户对该表单的操作权限(查看/新增/编辑/删除/导出/导入)",
|
||||
"getFieldPermissions": "获取字段权限",
|
||||
"getFieldPermissionsDesc": "获取当前用户对该表单各字段的读写权限",
|
||||
"dataOperations": "数据操作",
|
||||
"getList": "查询数据列表",
|
||||
"getListDesc": "分页查询表单数据,支持排序、搜索和过滤",
|
||||
"getDetail": "获取数据详情",
|
||||
"getDetailDesc": "获取单条数据详情,包含子表数据",
|
||||
"createData": "新增数据",
|
||||
"createDataDesc": "新增一条表单数据,支持同时写入子表",
|
||||
"updateData": "更新数据",
|
||||
"updateDataDesc": "更新指定记录,支持同时更新子表",
|
||||
"deleteData": "删除数据",
|
||||
"deleteDataDesc": "删除指定记录及其关联子表数据",
|
||||
"batchDelete": "批量删除",
|
||||
"batchDeleteDesc": "批量删除多条记录及其关联子表数据",
|
||||
"auxiliary": "辅助接口",
|
||||
"getTreeChildren": "获取树形子节点",
|
||||
"getTreeChildrenDesc": "树形表格懒加载时获取子节点数据",
|
||||
"getFieldValues": "获取字段唯一值",
|
||||
"getFieldValuesDesc": "获取指定字段的唯一值列表,用于过滤选项",
|
||||
"checkUnique": "唯一性检查",
|
||||
"checkUniqueDesc": "检查指定字段值是否唯一",
|
||||
"importExport": "导入导出",
|
||||
"exportExcel": "导出 Excel",
|
||||
"exportExcelDesc": "导出表单数据为 Excel 文件,支持字段选择和子表导出",
|
||||
"importTemplate": "下载导入模板",
|
||||
"importTemplateDesc": "下载 Excel 导入模板",
|
||||
"importExcel": "导入 Excel",
|
||||
"importExcelDesc": "从 Excel 文件导入数据,支持追加和覆盖模式",
|
||||
"request": "请求",
|
||||
"response": "响应",
|
||||
"pathParams": "路径参数",
|
||||
"queryParams": "查询参数",
|
||||
"requestBody": "请求体",
|
||||
"noParams": "无参数",
|
||||
"copyPath": "复制路径",
|
||||
"copiedSuccess": "已复制到剪贴板",
|
||||
"formFields": "表单字段参考"
|
||||
},
|
||||
"formData": {
|
||||
"import": {
|
||||
"title": "导入数据",
|
||||
"modeTitle": "选择导入模式",
|
||||
"appendMode": "追加模式",
|
||||
"appendModeDesc": "保留现有数据,追加导入新数据",
|
||||
"overwriteMode": "覆盖模式",
|
||||
"overwriteModeDesc": "清空现有数据,重新导入全部数据",
|
||||
"overwriteWarning": "覆盖模式将删除表中所有现有数据,此操作不可恢复!",
|
||||
"dataHandling": "数据处理方式",
|
||||
"insertOnly": "仅新增数据",
|
||||
"insertOnlyDesc": "将Excel中的数据全部追加为表格的新数据",
|
||||
"updateOnly": "仅更新数据",
|
||||
"updateOnlyDesc": "通过指定字段找到表格的所有已有数据,用Excel中的数据更新对应数据,不会新增任何数据",
|
||||
"upsert": "更新和新增数据",
|
||||
"upsertDesc": "更新和新增数据用Excel中的数据更新表格的所有已有数据,当通过指定字段找不到已有数据时,会新增数据",
|
||||
"matchField": "匹配字段",
|
||||
"matchFieldPlaceholder": "选择用于匹配已有数据的字段",
|
||||
"matchFieldRequired": "更新模式下需要选择匹配字段",
|
||||
"updatedCount": "条更新成功",
|
||||
"insertedCount": "条新增成功",
|
||||
"skippedCount": "条已跳过",
|
||||
"selectFile": "选择文件",
|
||||
"dragOrClick": "拖拽文件到此处或点击上传",
|
||||
"onlyXlsx": "仅支持 .xlsx 格式文件",
|
||||
"downloadTemplate": "下载导入模板",
|
||||
"validateAndUpload": "验证并上传",
|
||||
"validating": "正在验证数据...",
|
||||
"importing": "正在导入数据...",
|
||||
"passCount": "条验证通过",
|
||||
"failCount": "条验证失败",
|
||||
"importedCount": "条导入成功",
|
||||
"errorList": "错误详情",
|
||||
"rowNumber": "行号",
|
||||
"errorMsg": "错误信息",
|
||||
"allPassed": "所有数据验证通过,可以开始导入",
|
||||
"importSuccess": "数据导入完成",
|
||||
"reselect": "重新选择",
|
||||
"confirmImport": "确认导入"
|
||||
}
|
||||
},
|
||||
"importExport": {
|
||||
"export": "导出",
|
||||
"import": "导入配置",
|
||||
"batchExport": "批量导出",
|
||||
"exportSuccess": "表单配置已导出",
|
||||
"exportFailed": "导出失败",
|
||||
"importTitle": "导入表单配置",
|
||||
"selectFile": "选择文件",
|
||||
"dragOrClick": "拖拽 JSON 文件到此处或点击上传",
|
||||
"dragOrClickMulti": "支持选择多个文件批量导入",
|
||||
"onlyJson": "仅支持 .json 格式文件",
|
||||
"fileParseError": "文件解析失败,请确认文件格式正确",
|
||||
"checking": "正在检查...",
|
||||
"checkResult": "检查结果",
|
||||
"codeConflict": "表单编码已存在",
|
||||
"codeConflictTip": "表单编码已存在, 请修改编码后再导入",
|
||||
"newCode": "新编码",
|
||||
"newCodePlaceholder": "请输入新的表单编码",
|
||||
"tableStatus": "数据库表状态",
|
||||
"mainTable": "主表",
|
||||
"subTable": "子表",
|
||||
"schema": "Schema",
|
||||
"tableExists": "已存在",
|
||||
"tableNotExists": "不存在",
|
||||
"hasDdl": "有 DDL",
|
||||
"noDdl": "无 DDL",
|
||||
"autoCreateTables": "自动创建不存在的表",
|
||||
"autoCreateTablesTip": "导入时将根据导出的 DDL 自动创建不存在的数据库表",
|
||||
"createSchemaIfNotExists": "新建 Schema(不存在时)",
|
||||
"createSchemaIfNotExistsTip": "导入前自动创建配置中的目标 Schema(仅 PostgreSQL / SQL Server)",
|
||||
"cannotAutoCreate": "部分表不存在且无 DDL,无法自动创建",
|
||||
"crossDialectAutoCreate": "导出库类型({source})与目标连接({target})不一致,无法自动建表,请使用相同引擎或手工建表",
|
||||
"importSuccess": "表单配置导入成功",
|
||||
"importFailed": "导入失败",
|
||||
"confirmImport": "确认导入",
|
||||
"formInfo": "表单信息",
|
||||
"formName": "表单名称",
|
||||
"formCode": "表单编码",
|
||||
"formType": "表单类型",
|
||||
"dbConfig": "数据库配置",
|
||||
"mainTableName": "主表名",
|
||||
"fieldCount": "字段数",
|
||||
"subTableCount": "子表数",
|
||||
"appTip": "导入的表单将归属到当前应用",
|
||||
"tableExistsRename": "表已存在,可使用新表名和Schema建表",
|
||||
"newTableName": "新表名",
|
||||
"newTableNamePlaceholder": "请输入新的表名",
|
||||
"selectSchema": "选择 Schema",
|
||||
"selectSchemaPlaceholder": "请选择目标 Schema",
|
||||
"batchImportTitle": "批量导入表单配置",
|
||||
"batchImportCount": "共 {count} 个表单",
|
||||
"batchImportProgress": "正在导入 {current}/{total}...",
|
||||
"batchImportSuccess": "批量导入完成,成功 {success} 个,失败 {fail} 个",
|
||||
"batchImportItem": "第 {index} 个",
|
||||
"batchNext": "下一个",
|
||||
"batchSkip": "跳过",
|
||||
"batchSkipped": "已跳过",
|
||||
"batchConfirmAndNext": "确认导入并下一个",
|
||||
"batchImportAll": "导入全部",
|
||||
"batchImporting": "正在导入...",
|
||||
"checkFailed": "检查失败",
|
||||
"noSelection": "请先选择要导出的表单",
|
||||
"batchExportProgress": "正在导出第 {current}/{total} 个...",
|
||||
"batchExportDone": "批量导出完成,成功 {success} 个,失败 {fail} 个",
|
||||
"reselect": "重新选择"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,60 @@
|
||||
{
|
||||
"name": "登录日志",
|
||||
"title": "登录日志",
|
||||
"username": "用户名",
|
||||
"userId": "用户ID",
|
||||
"status": "登录状态",
|
||||
"statusSuccess": "成功",
|
||||
"statusFailed": "失败",
|
||||
"failureReason": "失败原因",
|
||||
"failureReasonUnknown": "未知错误",
|
||||
"failureReasonUserNotExist": "用户不存在",
|
||||
"failureReasonPasswordError": "密码错误",
|
||||
"failureReasonUserDisabled": "用户已禁用",
|
||||
"failureReasonUserLocked": "用户已锁定",
|
||||
"failureReasonUserInactive": "用户不激活",
|
||||
"failureReasonAccountAbnormal": "账户异常",
|
||||
"failureReasonOther": "其他错误",
|
||||
"failureMessage": "失败信息",
|
||||
"loginIp": "登录IP",
|
||||
"ipLocation": "IP属地",
|
||||
"userAgent": "用户代理",
|
||||
"browserType": "浏览器",
|
||||
"osType": "操作系统",
|
||||
"deviceType": "设备类型",
|
||||
"deviceTypeDesktop": "桌面设备",
|
||||
"deviceTypeMobile": "移动设备",
|
||||
"deviceTypeTablet": "平板设备",
|
||||
"deviceTypeOther": "其他设备",
|
||||
"duration": "登录时长",
|
||||
"durationSeconds": "登录时长(秒)",
|
||||
"sessionId": "会话ID",
|
||||
"remark": "备注",
|
||||
"loginTime": "登录时间",
|
||||
"createTime": "创建时间",
|
||||
"operation": "操作",
|
||||
"detail": "详情",
|
||||
"detailTitle": "登录日志详情",
|
||||
"batchDelete": "批量删除",
|
||||
"batchDeleteTitle": "批量删除登录日志",
|
||||
"batchDeleteConfirm": "确定要删除选中的 {0} 条登录日志吗?涉及用户:{1}",
|
||||
"deleteConfirm": "确定要删除用户 {0} 的这条登录日志吗?",
|
||||
"deleteSuccess": "删除成功",
|
||||
"deleteError": "删除失败",
|
||||
"selectLogsToDelete": "请选择要删除的日志",
|
||||
"getDetailError": "获取登录日志详情失败",
|
||||
"noData": "暂无数据",
|
||||
"searchPlaceholder": "请输入{0}",
|
||||
"selectPlaceholder": "请选择{0}",
|
||||
"selectStatus": "请选择登录状态",
|
||||
"selectFailureReason": "请选择失败原因",
|
||||
"selectDeviceType": "请选择设备类型",
|
||||
"startTime": "开始时间",
|
||||
"endTime": "结束时间",
|
||||
"selectStartTime": "请选择开始时间",
|
||||
"selectEndTime": "请选择结束时间",
|
||||
"formatHours": "{0}小时",
|
||||
"formatMinutes": "{0}分钟",
|
||||
"formatSeconds": "{0}秒",
|
||||
"formatZeroSeconds": "0秒"
|
||||
}
|
||||
@@ -0,0 +1,60 @@
|
||||
{
|
||||
"overview": "概览",
|
||||
"analytics": "分析页",
|
||||
"workspace": "工作台",
|
||||
"home": "首页",
|
||||
"systemManagement": "系统管理",
|
||||
"userManagement": "用户管理",
|
||||
"departmentManagement": "部门管理",
|
||||
"permissionManagement": "API管理",
|
||||
"menuManagement": "菜单管理",
|
||||
"positionManagement": "岗位管理",
|
||||
"roleManagement": "角色权限",
|
||||
"userCenter": "用户中心",
|
||||
"loginLog": "登录日志",
|
||||
"accountSettings": "账号设置",
|
||||
"databaseManagement": "数据库管理",
|
||||
"dbManagement": "DB管理",
|
||||
"databaseConnection": "数据库连接",
|
||||
"redisManagement": "Redis管理",
|
||||
"dataSource": "数据源",
|
||||
"systemTools": "系统工具",
|
||||
"fileManagement": "文件管理",
|
||||
"dictionaryManagement": "字典管理",
|
||||
"scheduledTasks": "定时任务",
|
||||
"systemMonitoring": "系统监控",
|
||||
"redisMonitoring": "Redis监控",
|
||||
"serverMonitoring": "Server监控",
|
||||
"databaseMonitoring": "数据库监控",
|
||||
"contractManagement": "合同管理",
|
||||
"contractList": "合同列表",
|
||||
"templateManagement": "模板管理",
|
||||
"crowdUsers": "众筹用户",
|
||||
"onlineDevelopment": "在线开发",
|
||||
"workflowManagement": "流程管理",
|
||||
"workflowInstanceManagement": "流程实例管理",
|
||||
"formManagement": "表单管理",
|
||||
"pageManagement": "页面管理",
|
||||
"reportManagement": "报表管理",
|
||||
"approvalProcess": "审批流程",
|
||||
"myTasks": "我的已办",
|
||||
"initiatedProcesses": "发起流程",
|
||||
"myPending": "我的待办",
|
||||
"myInitiated": "我发起的",
|
||||
"ccToMe": "抄送我的",
|
||||
"messageCenter": "消息中心",
|
||||
"announcementList": "公告列表",
|
||||
"announcementManagement": "公告管理",
|
||||
"messageList": "消息列表",
|
||||
"dataScreen": "数据大屏",
|
||||
"screenManagement": "大屏管理",
|
||||
"aiPlatform": "ZQ-AI 平台",
|
||||
"workflowOrchestration": "流程编排",
|
||||
"workflowRunHistory": "执行历史",
|
||||
"aiAgent": "智能体",
|
||||
"knowledgeBase": "知识库",
|
||||
"controlCenter": "控制中心",
|
||||
"applicationManagement": "应用管理",
|
||||
"startChat": "开始聊天",
|
||||
"uiConfig": "样式配置"
|
||||
}
|
||||
@@ -0,0 +1,63 @@
|
||||
{
|
||||
"selectMenu": "请选择一个菜单",
|
||||
"addChildMenu": "新建子菜单",
|
||||
"deleteMenu": "删除",
|
||||
"searchFailed": "搜索菜单失败",
|
||||
"refreshFailed": "刷新节点失败",
|
||||
"menuDetail": "菜单详情",
|
||||
"title": "菜单管理",
|
||||
"name": "菜单管理",
|
||||
"menuName": "菜单名称",
|
||||
"menuTitle": "菜单标题",
|
||||
"parent": "父级菜单",
|
||||
"path": "菜单路径",
|
||||
"activePath": "活跃路径",
|
||||
"activePathHelp": "高亮菜单的路径,用于解决路由路径和菜单高亮不一致的问题",
|
||||
"activePathMustExist": "活跃路径必须是一个存在的菜单路径",
|
||||
"type": "菜单类型",
|
||||
"typeCatalog": "目录",
|
||||
"typeMenu": "菜单",
|
||||
"typeButton": "按钮",
|
||||
"typeEmbedded": "内嵌",
|
||||
"typeLink": "外链",
|
||||
"typeOnlineForm": "在线表单",
|
||||
"typeOnlinePage": "在线页面",
|
||||
"typeOnlineReport": "在线报表",
|
||||
"reportCode": "报表编码",
|
||||
"typeAgent": "智能体",
|
||||
"formCode": "表单编码",
|
||||
"agentCode": "智能体编码",
|
||||
"pageCode": "页面编码",
|
||||
"component": "组件",
|
||||
"componentPath": "组件路径",
|
||||
"icon": "菜单图标",
|
||||
"activeIcon": "活跃图标",
|
||||
"status": "状态",
|
||||
"authCode": "权限编码",
|
||||
"linkSrc": "链接地址",
|
||||
"operation": "操作",
|
||||
"advancedSettings": "高级设置",
|
||||
"keepAlive": "KeepAlive 缓存",
|
||||
"affixTab": "固定标签页",
|
||||
"hideInMenu": "隐藏菜单",
|
||||
"hideChildrenInMenu": "隐藏子菜单",
|
||||
"hideInBreadcrumb": "隐藏面包屑",
|
||||
"hideInTab": "隐藏标签页",
|
||||
"noBasicLayout": "无基础布局(全屏显示)",
|
||||
"badgeType": {
|
||||
"title": "Badge 类型",
|
||||
"dot": "点",
|
||||
"normal": "数字"
|
||||
},
|
||||
"badge": "Badge 内容",
|
||||
"badgeVariants": "Badge 样式",
|
||||
"order": "排序",
|
||||
"applicationId": "所属应用",
|
||||
"applicationIdHelp": "选择菜单所属的应用,留空表示主应用菜单",
|
||||
"fullPathKey": "完整路径作为Key",
|
||||
"fullPathKeyHelp": "设为“否”时,路径参数变化不会刷新组件(适用于带动态参数的页面)",
|
||||
"isSystem": "系统菜单",
|
||||
"isSystemHelp": "系统菜单在所有应用(主应用和子应用)中都可见",
|
||||
"appMenu": "应用菜单",
|
||||
"systemMenu": "系统菜单"
|
||||
}
|
||||
@@ -0,0 +1,92 @@
|
||||
{
|
||||
"title": "消息中心",
|
||||
"type": "类型",
|
||||
"msgTitle": "标题",
|
||||
"content": "内容",
|
||||
"time": "时间",
|
||||
"actions": "操作",
|
||||
"status": "状态",
|
||||
"typeMap": {
|
||||
"all": "全部",
|
||||
"system": "系统通知",
|
||||
"workflow": "工作流",
|
||||
"todo": "待办",
|
||||
"announcement": "公告"
|
||||
},
|
||||
"statusMap": {
|
||||
"all": "全部",
|
||||
"unread": "未读",
|
||||
"read": "已读"
|
||||
},
|
||||
"unreadCount": "{count} 条未读",
|
||||
"markAllRead": "全部已读",
|
||||
"clearRead": "清空已读",
|
||||
"markRead": "已读",
|
||||
"delete": "删除",
|
||||
"markReadSuccess": "已标记为已读",
|
||||
"markAllReadSuccess": "已全部标记为已读",
|
||||
"markReadFailed": "标记已读失败",
|
||||
"markAllReadConfirm": "确定将所有消息标记为已读吗?",
|
||||
"markAllReadConfirmTitle": "全部已读",
|
||||
"deleteConfirm": "确定删除该消息吗?",
|
||||
"deleteConfirmTitle": "删除确认",
|
||||
"deleteSuccess": "删除成功",
|
||||
"clearReadConfirm": "确定清空所有已读消息吗?",
|
||||
"clearReadConfirmTitle": "清空确认",
|
||||
"clearReadSuccess": "清空成功",
|
||||
"loadUnreadFailed": "加载未读数量失败",
|
||||
"keywordPlaceholder": "搜索消息",
|
||||
"selectHint": "请选择一条消息查看",
|
||||
"detailTitle": "消息详情",
|
||||
"emptyList": "暂无消息",
|
||||
"loadingMore": "加载中...",
|
||||
"noMore": "没有更多了",
|
||||
"noContent": "暂无内容",
|
||||
"noData": "暂无数据",
|
||||
"sender": "发送者:",
|
||||
"markAllReadSuccess2": "已全部标记为已读",
|
||||
"clearReadSuccess2": "已清空已读消息",
|
||||
"send": {
|
||||
"button": "发送消息",
|
||||
"title": "发送消息",
|
||||
"recipient": "接收人",
|
||||
"recipientPlaceholder": "请选择接收人",
|
||||
"msgTitle": "消息标题",
|
||||
"msgTitlePlaceholder": "请输入消息标题",
|
||||
"msgType": "消息类型",
|
||||
"content": "消息内容",
|
||||
"contentPlaceholder": "请输入消息内容",
|
||||
"channels": "发送渠道",
|
||||
"channelSite": "站内信",
|
||||
"channelEmail": "邮件",
|
||||
"channelDingtalk": "钉钉",
|
||||
"channelFeishu": "飞书",
|
||||
"channelWechat": "企微",
|
||||
"channelWechatMp": "微信公众号",
|
||||
"channelDingtalkTodo": "钉钉待办",
|
||||
"recipientRequired": "请选择接收人",
|
||||
"titleRequired": "请输入消息标题",
|
||||
"contentRequired": "请输入消息内容",
|
||||
"success": "消息发送成功",
|
||||
"failed": "消息发送失败"
|
||||
},
|
||||
"drawer": {
|
||||
"title": "消息中心",
|
||||
"messageTab": "消息",
|
||||
"announcementTab": "公告",
|
||||
"markAllRead": "全部已读",
|
||||
"clearRead": "清空已读",
|
||||
"noMessages": "暂无消息",
|
||||
"noAnnouncements": "暂无公告",
|
||||
"pinned": "置顶",
|
||||
"urgent": "紧急",
|
||||
"important": "重要",
|
||||
"justNow": "刚刚",
|
||||
"minutesAgo": "{count}分钟前",
|
||||
"hoursAgo": "{count}小时前",
|
||||
"daysAgo": "{count}天前",
|
||||
"chatTab": "聊天",
|
||||
"noChats": "暂无未读聊天",
|
||||
"unreadMessages": "{count} 条未读"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,10 @@
|
||||
{
|
||||
"orgChart": {
|
||||
"title": "组织架构",
|
||||
"description": "点击节点展开或收起下属成员",
|
||||
"empty": "暂无组织架构数据",
|
||||
"focusMode": "切换聚焦模式",
|
||||
"expandMode": "切换展开模式",
|
||||
"showAll": "显示全部同级"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,126 @@
|
||||
{
|
||||
"applicationName": "所属应用",
|
||||
"name": "页面名称",
|
||||
"code": "页面编码",
|
||||
"status": "状态",
|
||||
"description": "描述",
|
||||
"createTime": "创建时间",
|
||||
"updateTime": "更新时间",
|
||||
"actions": "操作",
|
||||
"placeholder": {
|
||||
"name": "请输入页面名称",
|
||||
"code": "请输入页面编码",
|
||||
"status": "请选择状态",
|
||||
"remark": "请输入表单说明",
|
||||
"category": "请选择分类",
|
||||
"description": "请输入页面说明"
|
||||
},
|
||||
"categoryMap": {
|
||||
"dashboard": "仪表盘",
|
||||
"portal": "门户页面",
|
||||
"databoard": "数据看板",
|
||||
"other": "其他"
|
||||
},
|
||||
"statusMap": {
|
||||
"all": "全部",
|
||||
"published": "已发布",
|
||||
"draft": "草稿"
|
||||
},
|
||||
"create": "新建页面",
|
||||
"batchDelete": "批量删除",
|
||||
"batchDeleteWithCount": "批量删除 ({count})",
|
||||
"deleteConfirm": "确定要删除页面 \"{name}\" 吗?",
|
||||
"deleteConfirmTitle": "删除确认",
|
||||
"deleteSuccess": "已删除页面: {name}",
|
||||
"batchDeleteConfirm": "确定要删除选中的 {count} 个页面吗?",
|
||||
"batchDeleteConfirmTitle": "批量删除确认",
|
||||
"batchDeleteSuccess": "已删除 {count} 个页面",
|
||||
"unpublishSuccess": "页面 \"{name}\" 已取消发布",
|
||||
"unpublishFailed": "取消发布失败",
|
||||
"copyCodePlaceholder": "请输入新页面编码",
|
||||
"copyTitle": "复制页面",
|
||||
"copyCodeRule": "编码只能包含字母、数字、下划线和横线",
|
||||
"codeFormatError": "编码必须以字母开头,只能包含字母、数字和下划线",
|
||||
"copySuccess": "复制成功",
|
||||
"design": "设计",
|
||||
"editInfo": "编辑信息",
|
||||
"saveSuccess": "页面保存成功",
|
||||
"preview": "预览",
|
||||
"publish": "发布",
|
||||
"unpublish": "取消发布",
|
||||
"copy": "复制",
|
||||
"setAsHome": "设为首页",
|
||||
"setAsHomeTitle": "设为默认首页",
|
||||
"setAsHomeConfirm": "确定要将页面「{name}」设为默认首页吗?",
|
||||
"setAsHomePath": "首页路径",
|
||||
"setAsHomeTip": "设置后,用户登录系统将默认跳转到此页面。",
|
||||
"setAsHomeAppTip": "此页面属于应用「{app}」,将更新该应用的首页配置。",
|
||||
"setHomeSuccess": "已设为默认首页",
|
||||
"setHomeFailed": "设置首页失败",
|
||||
"more": "更多",
|
||||
"category": "页面分类",
|
||||
"editor": {
|
||||
"title": "在线开发",
|
||||
"create": "创建页面",
|
||||
"edit": "编辑页面",
|
||||
"createSuccess": "创建成功",
|
||||
"steps": {
|
||||
"basic": "基础信息",
|
||||
"design": "页面设计",
|
||||
"preview": "页面预览"
|
||||
},
|
||||
"loadFailed": "加载页面数据失败",
|
||||
"validate": {
|
||||
"basic": "基础信息验证:名称、编码必填",
|
||||
"perfectDesign": "请完善页面设计"
|
||||
},
|
||||
"autoSave": {
|
||||
"saving": "保存中...",
|
||||
"saved": "已保存",
|
||||
"unsaved": "未保存"
|
||||
}
|
||||
},
|
||||
"previewDialog": {
|
||||
"title": "页面预览",
|
||||
"loadFailed": "加载页面配置失败",
|
||||
"verifySuccess": "验证通过",
|
||||
"realtimeData": "实时数据 (v-model):",
|
||||
"noConfig": "暂无页面配置",
|
||||
"close": "关闭",
|
||||
"verifySubmit": "验证提交",
|
||||
"verifyFailed": "页面验证失败"
|
||||
},
|
||||
"importExport": {
|
||||
"export": "导出",
|
||||
"import": "导入配置",
|
||||
"exportSuccess": "页面配置已导出",
|
||||
"exportFailed": "导出失败",
|
||||
"importTitle": "导入页面配置",
|
||||
"dragOrClick": "拖拽 JSON 文件到此处或点击上传",
|
||||
"onlyJson": "仅支持 .json 格式文件",
|
||||
"fileParseError": "文件解析失败,请确认文件格式正确",
|
||||
"checking": "正在检查...",
|
||||
"codeConflictTip": "页面编码已存在,请修改编码后再导入",
|
||||
"codeAvailable": "页面编码可用,可以导入",
|
||||
"newCodePlaceholder": "请输入新的页面编码",
|
||||
"importSuccess": "页面配置导入成功",
|
||||
"importFailed": "导入失败",
|
||||
"confirmImport": "确认导入",
|
||||
"reselect": "重新选择",
|
||||
"pageInfo": "页面信息",
|
||||
"appTip": "导入的页面将归属到当前应用"
|
||||
},
|
||||
"publishDialog": {
|
||||
"title": "页面发布",
|
||||
"success": "发布成功",
|
||||
"failed": "发布失败",
|
||||
"menuConfig": "菜单配置",
|
||||
"menuName": "菜单名称",
|
||||
"parentMenu": "上级菜单",
|
||||
"parentMenuPlaceholder": "请选择上级菜单(不选则为顶级)",
|
||||
"menuIcon": "菜单图标",
|
||||
"routeInfo": "路由信息",
|
||||
"accessPath": "访问路径",
|
||||
"confirmPublish": "确认发布"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,14 @@
|
||||
{
|
||||
"auth": {
|
||||
"login": "登录",
|
||||
"register": "注册",
|
||||
"codeLogin": "验证码登录",
|
||||
"qrcodeLogin": "二维码登录",
|
||||
"forgetPassword": "忘记密码"
|
||||
},
|
||||
"dashboard": {
|
||||
"title": "概览",
|
||||
"analytics": "分析页",
|
||||
"workspace": "工作台"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,74 @@
|
||||
{
|
||||
"name": "权限",
|
||||
"title": "权限管理",
|
||||
"permissionName": "权限名称",
|
||||
"permissionCode": "权限编码",
|
||||
"permissionType": "权限类型",
|
||||
"httpMethod": "HTTP 方法",
|
||||
"apiPath": "API 路径",
|
||||
"dataScope": "数据范围",
|
||||
"dataScopes": {
|
||||
"all": "全部数据",
|
||||
"self": "仅本人",
|
||||
"dept": "本部门",
|
||||
"deptAndSub": "本部门及下级",
|
||||
"custom": "自定义"
|
||||
},
|
||||
"description": "描述",
|
||||
"operation": "操作",
|
||||
"add": "新建权限",
|
||||
"edit": "编辑权限",
|
||||
"selectMenuFirst": "请先选择菜单",
|
||||
"searchMenu": "搜索菜单",
|
||||
"loadMenuFailed": "加载菜单失败",
|
||||
"loadSubMenuFailed": "加载子菜单失败",
|
||||
"searchMenuFailed": "搜索菜单失败",
|
||||
"deleteConfirm": "确定删除权限{0}吗?",
|
||||
"batchDelete": "批量删除",
|
||||
"batchDeleteConfirm": "确定删除 {0} 个权限吗?\n{1}",
|
||||
"batchDeleteSuccess": "成功删除 {0} 个权限",
|
||||
"batchDeleteFailed": "批量删除失败",
|
||||
"selectToDelete": "请选择要删除的权限",
|
||||
"selectAtLeastOneRoute": "请选择至少一个路由",
|
||||
"createSuccess": "成功创建 {created} 个权限{skipped}",
|
||||
"skipped": ",跳过 {count} 个",
|
||||
"createFailed": "{failed} 个权限创建失败:{errors}",
|
||||
"createError": "创建权限失败",
|
||||
"getRoutesFailed": "获取路由列表失败",
|
||||
"autoGenerateApi": "自动生成API权限",
|
||||
"quickAddApiPermission": "快速添加API权限",
|
||||
"permissionTypes": {
|
||||
"button": "按钮权限",
|
||||
"api": "API权限",
|
||||
"data": "数据权限",
|
||||
"other": "其他权限",
|
||||
"buttonDesc": "用于控制页面中的按钮、菜单项等元素的显示隐藏",
|
||||
"apiDesc": "用于控制用户可以访问的 API 接口",
|
||||
"dataDesc": "用于控制用户可以访问的数据范围",
|
||||
"otherDesc": "其他类型的权限"
|
||||
},
|
||||
"typeLabels": {
|
||||
"button": "按钮",
|
||||
"api": "API",
|
||||
"data": "数据",
|
||||
"other": "其他",
|
||||
"unknown": "未知"
|
||||
},
|
||||
"helpText": {
|
||||
"code": "权限编码应遵循 \"module:action\" 的格式,使用字母、数字、下划线和冒号",
|
||||
"apiPath": "完整的 API 路径,如 /api/user/create 或 /api/user/:id/update",
|
||||
"httpMethod": "该权限对应的 HTTP 请求方法"
|
||||
},
|
||||
"placeholder": {
|
||||
"name": "如:新建用户、查看报表等",
|
||||
"code": "如:user:create、report:view等",
|
||||
"apiPath": "/api/user/create"
|
||||
},
|
||||
"validationErrors": {
|
||||
"nameRequired": "权限名称不能为空",
|
||||
"nameMaxLength": "权限名称最长64个字符",
|
||||
"codeRequired": "权限编码不能为空",
|
||||
"codeMaxLength": "权限编码最长64个字符",
|
||||
"codeFormat": "权限编码只能包含字母、数字、下划线和冒号"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,34 @@
|
||||
{
|
||||
"name": "岗位",
|
||||
"title": "岗位管理",
|
||||
"postName": "岗位名称",
|
||||
"postCode": "岗位编码",
|
||||
"postType": "岗位类型",
|
||||
"postLevel": "岗位级别",
|
||||
"department": "所属部门",
|
||||
"description": "岗位描述",
|
||||
"status": "状态",
|
||||
"operation": "操作",
|
||||
"edit": "编辑",
|
||||
"codeFormatError": "岗位编码只能包含字母、数字、下划线和横线",
|
||||
"selectDepartment": "请选择所属部门",
|
||||
"descriptionPlaceholder": "请输入岗位描述/职责",
|
||||
"selectUsersFirst": "请先选择用户",
|
||||
"addUsersSuccess": "添加成功",
|
||||
"removeUsersConfirm": "确定要删除选中的 {0} 个用户吗?",
|
||||
"removeUsersSuccess": "删除成功",
|
||||
"removeUsersFailed": "删除失败",
|
||||
"types": {
|
||||
"management": "管理岗",
|
||||
"technical": "技术岗",
|
||||
"business": "业务岗",
|
||||
"functional": "职能岗",
|
||||
"other": "其他"
|
||||
},
|
||||
"levels": {
|
||||
"senior": "高层",
|
||||
"middle": "中层",
|
||||
"basic": "基层",
|
||||
"staff": "一般员工"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,73 @@
|
||||
{
|
||||
"databases": "数据库列表",
|
||||
"database": "数据库",
|
||||
"allTypes": "全部类型",
|
||||
"refresh": "刷新",
|
||||
"expires": "过期",
|
||||
"avgTTL": "平均TTL",
|
||||
"keyList": "键列表",
|
||||
"keyDetail": "键详情",
|
||||
"keysCount": "{count} 个键",
|
||||
"searchKeyPlaceholder": "搜索键(支持通配符 *、?)",
|
||||
"type": "类型",
|
||||
"addKey": "新增键",
|
||||
"editKey": "编辑键",
|
||||
"renameKey": "重命名键",
|
||||
"deleteKey": "删除键",
|
||||
"keyName": "键名",
|
||||
"value": "值",
|
||||
"ttl": "过期时间",
|
||||
"size": "大小",
|
||||
"encoding": "编码",
|
||||
"bytes": "字节",
|
||||
"loading": "加载中...",
|
||||
"selectKeyPrompt": "请从左侧选择一个键",
|
||||
"keyNotExist": "键不存在或已过期",
|
||||
"copy": "复制",
|
||||
"copySuccess": "已复制到剪贴板",
|
||||
"deleteConfirm": "确定要删除键 \"{key}\" 吗?",
|
||||
"confirmDelete": "确认删除",
|
||||
"deleteSuccess": "删除成功",
|
||||
"deleteFailed": "删除失败",
|
||||
"renamePrompt": "请输入新的键名",
|
||||
"renameSuccess": "重命名成功",
|
||||
"renameFailed": "重命名失败",
|
||||
"setExpirePrompt": "请输入过期时间(秒),-1表示永不过期",
|
||||
"setExpire": "设置过期时间",
|
||||
"setSuccess": "设置成功",
|
||||
"setFailed": "设置失败",
|
||||
"createSuccess": "创建成功",
|
||||
"createFailed": "创建失败",
|
||||
"updateSuccess": "更新成功",
|
||||
"updateFailed": "更新失败",
|
||||
"keyRequired": "键名不能为空",
|
||||
"typeRequired": "请选择类型",
|
||||
"valueRequired": "请输入值",
|
||||
"invalidNumber": "请输入有效的数字",
|
||||
"permanent": "永不过期",
|
||||
"expired": "已过期",
|
||||
"seconds": "秒",
|
||||
"minutes": "分钟",
|
||||
"hours": "小时",
|
||||
"days": "天",
|
||||
"listItem": "列表项",
|
||||
"setMember": "集合成员",
|
||||
"zsetMember": "有序集合",
|
||||
"hashField": "哈希字段",
|
||||
"add": "添加",
|
||||
"addItem": "添加项",
|
||||
"addMember": "添加成员",
|
||||
"addField": "添加字段",
|
||||
"fieldName": "字段名",
|
||||
"fieldValue": "字段值",
|
||||
"member": "成员",
|
||||
"score": "分数",
|
||||
"ttlDesc": "-1表示永不过期",
|
||||
"cancel": "取消",
|
||||
"confirm": "确定",
|
||||
"create": "创建",
|
||||
"update": "更新",
|
||||
"loadDatabasesFailed": "加载数据库列表失败",
|
||||
"loadKeyDetailFailed": "加载键详情失败",
|
||||
"searchKeysFailed": "搜索键失败"
|
||||
}
|
||||
@@ -0,0 +1,181 @@
|
||||
{
|
||||
"overview": "概览信息",
|
||||
"memory": "内存信息",
|
||||
"clients": "客户端",
|
||||
"keyspace": "键空间",
|
||||
"stats": "统计信息",
|
||||
"slowlog": "慢日志",
|
||||
"loadFailed": "加载监控数据失败",
|
||||
"loadRealtimeStatsFailed": "加载实时统计失败",
|
||||
"refreshSuccess": "刷新成功",
|
||||
"autoRefreshing": "自动刷新中",
|
||||
"paused": "已暂停",
|
||||
"featureDeveloping": "功能开发中...",
|
||||
"seconds": "秒",
|
||||
"minutes": "分钟",
|
||||
"hours": "小时",
|
||||
"days": "天",
|
||||
"master": "主节点",
|
||||
"slave": "从节点",
|
||||
"blocked": "阻塞中",
|
||||
"normal": "普通",
|
||||
"active": "活跃",
|
||||
"connectedClients": "连接客户端",
|
||||
"blockedClients": "阻塞客户端",
|
||||
"totalConnections": "总连接数",
|
||||
"clientList": "客户端列表",
|
||||
"totalClientsCount": "共 {count} 个客户端",
|
||||
"noClientConnections": "暂无客户端连接",
|
||||
"clientId": "客户端ID",
|
||||
"address": "地址",
|
||||
"name": "名称",
|
||||
"database": "数据库",
|
||||
"status": "状态",
|
||||
"age": "连接时长",
|
||||
"idle": "空闲时长",
|
||||
"outputBuffer": "输出缓冲",
|
||||
"lastCommand": "最后命令",
|
||||
"used": "使用",
|
||||
"queue": "队列",
|
||||
"fieldDescription": "字段说明",
|
||||
"clientIdDesc": "Redis分配的唯一客户端标识符",
|
||||
"addressDesc": "客户端的IP地址和端口号",
|
||||
"nameDesc": "通过CLIENT SETNAME设置的客户端名称",
|
||||
"ageDesc": "客户端连接的总时长",
|
||||
"idleDesc": "客户端空闲的时长(未发送命令)",
|
||||
"outputBufferDesc": "输出缓冲区使用的内存和队列长度",
|
||||
"permanent": "永久",
|
||||
"milliseconds": "毫秒",
|
||||
"totalKeys": "总键数",
|
||||
"expiresKeys": "过期键数",
|
||||
"proportion": "占比",
|
||||
"avgTTL": "平均TTL",
|
||||
"databaseList": "数据库列表",
|
||||
"totalDatabasesCount": "共 {count} 个数据库",
|
||||
"noDatabaseInfo": "暂无数据库信息",
|
||||
"keyCount": "键数量",
|
||||
"expires": "过期键",
|
||||
"expireRate": "过期率",
|
||||
"noExpireTime": "无过期时间",
|
||||
"keyCountDesc": "数据库中存储的键的总数量",
|
||||
"expiresDesc": "设置了过期时间的键的数量",
|
||||
"avgTTLDesc": "所有过期键的平均存活时间(毫秒)",
|
||||
"expireRateDesc": "过期键占总键数的百分比",
|
||||
"dbId": "数据库编号",
|
||||
"dbIdDesc": "Redis数据库编号(0-15)",
|
||||
"usageRateDesc": "数据库键数量相对于最大容量的占比",
|
||||
"insufficientMemory": "内存不足",
|
||||
"moreFragmentation": "碎片较多",
|
||||
"memoryUsage": "内存使用率",
|
||||
"memoryPeak": "内存峰值",
|
||||
"memoryPeakDesc": "历史最高使用量",
|
||||
"fragmentationRatio": "内存碎片率",
|
||||
"memoryUsageDetail": "内存使用详情",
|
||||
"usedMemory": "已使用内存",
|
||||
"rssMemory": "RSS内存",
|
||||
"physicalMemory": "物理内存",
|
||||
"totalSystemMemory": "系统总内存",
|
||||
"system": "系统",
|
||||
"datasetMemory": "数据集内存",
|
||||
"allocatorAllocated": "分配器已分配",
|
||||
"allocatorActive": "分配器活跃",
|
||||
"memoryPolicyConfig": "内存策略配置",
|
||||
"maxMemoryLimit": "最大内存限制",
|
||||
"noLimit": "无限制",
|
||||
"set": "已设置",
|
||||
"notLimited": "未限制",
|
||||
"evictionPolicy": "内存淘汰策略",
|
||||
"evictionPolicyDesc": "💡 内存淘汰策略说明",
|
||||
"noevictionDesc": "noeviction: 不淘汰,内存满时返回错误",
|
||||
"allkeysLruDesc": "allkeys-lru: 从所有键中淘汰最近最少使用的键",
|
||||
"volatileLruDesc": "volatile-lru: 从设置了过期时间的键中淘汰最近最少使用的键",
|
||||
"allkeysRandomDesc": "allkeys-random: 从所有键中随机淘汰",
|
||||
"volatileRandomDesc": "volatile-random: 从设置了过期时间的键中随机淘汰",
|
||||
"volatileTtlDesc": "volatile-ttl: 淘汰即将过期的键(TTL最小)",
|
||||
"memoryUsageTrend": "内存使用趋势",
|
||||
"recentDataPoints": "最近 {count} 个数据点",
|
||||
"waitingForData": "等待数据中...",
|
||||
"collectingMemoryData": "正在收集内存使用数据",
|
||||
"currentUsage": "当前使用率",
|
||||
"average": "平均",
|
||||
"highest": "最高",
|
||||
"currentConnections": "当前连接数",
|
||||
"opsPerSec": "每秒操作数",
|
||||
"hitRate": "命中率",
|
||||
"redisBasicInfo": "Redis基础信息",
|
||||
"redisVersion": "Redis版本",
|
||||
"redisMode": "运行模式",
|
||||
"role": "角色",
|
||||
"architecture": "架构",
|
||||
"bits": "位",
|
||||
"tcpPort": "TCP端口",
|
||||
"uptime": "运行时间",
|
||||
"uptimeInDays": "运行天数",
|
||||
"connectionStatus": "连接状态",
|
||||
"connected": "已连接",
|
||||
"disconnected": "未连接",
|
||||
"memoryInfo": "内存信息",
|
||||
"memoryPolicy": "内存策略",
|
||||
"connectionStats": "连接统计",
|
||||
"rejectedConnections": "拒绝连接数",
|
||||
"commandStats": "命令统计",
|
||||
"totalCommands": "总命令数",
|
||||
"keyspaceHits": "键空间命中",
|
||||
"keyspaceMisses": "键空间未命中",
|
||||
"keyspaceInfo": "键空间信息",
|
||||
"keys": "键",
|
||||
"networkInput": "网络输入",
|
||||
"totalNetInput": "总输入字节",
|
||||
"inputKbps": "每秒输入",
|
||||
"networkOutput": "网络输出",
|
||||
"totalNetOutput": "总输出字节",
|
||||
"outputKbps": "每秒输出",
|
||||
"totalSlowLogs": "慢日志总数",
|
||||
"avgDuration": "平均耗时",
|
||||
"maxDuration": "最大耗时",
|
||||
"slowLogList": "慢日志列表",
|
||||
"recentLogsCount": "最近 {count} 条记录",
|
||||
"noSlowLogs": "暂无慢日志记录",
|
||||
"command": "命令",
|
||||
"clientInfo": "客户端信息",
|
||||
"unnamed": "未命名",
|
||||
"durationProportion": "耗时占比",
|
||||
"relativeToMax": "相对最大值",
|
||||
"slowLogDesc": "慢日志说明",
|
||||
"slowLogThreshold": "慢日志阈值",
|
||||
"slowLogThresholdDesc": "超过配置阈值的命令会被记录到慢日志",
|
||||
"executionTime": "执行时间",
|
||||
"executionTimeDesc": "命令从开始到结束的总耗时(微秒)",
|
||||
"clientInfoDesc": "执行命令的客户端IP和名称",
|
||||
"performanceOptimization": "性能优化",
|
||||
"performanceOptimizationDesc": "分析慢日志可以帮助优化Redis性能",
|
||||
"timeUnit": "时间单位",
|
||||
"colorIndicator": "颜色标识",
|
||||
"excellent": "优秀",
|
||||
"good": "良好",
|
||||
"lower": "较低",
|
||||
"veryLow": "很低",
|
||||
"keyPerformanceIndicators": "关键性能指标",
|
||||
"cacheHitRate": "缓存命中率",
|
||||
"detailedStats": "详细统计信息",
|
||||
"totalInputTraffic": "总输入流量",
|
||||
"totalOutputTraffic": "总输出流量",
|
||||
"instantaneousInputRate": "瞬时输入速率",
|
||||
"instantaneousOutputRate": "瞬时输出速率",
|
||||
"keyOperationStats": "键操作统计",
|
||||
"evictedKeys": "驱逐键数",
|
||||
"syncStats": "同步统计",
|
||||
"syncFull": "完全同步",
|
||||
"syncPartialOk": "部分同步成功",
|
||||
"syncPartialErr": "部分同步失败",
|
||||
"pubsubChannels": "发布订阅频道",
|
||||
"pubsubPatterns": "发布订阅模式",
|
||||
"latestForkUsec": "最近Fork耗时",
|
||||
"indicatorDesc": "指标说明",
|
||||
"opsPerSecDesc": "Redis每秒处理的命令数量,反映系统负载",
|
||||
"hitRateDesc": "键空间命中次数占总查询次数的百分比",
|
||||
"evictedKeysDesc": "因内存不足而被驱逐的键数量",
|
||||
"rejectedConnectionsDesc": "因达到最大连接数而被拒绝的连接",
|
||||
"syncFullDesc": "主从复制时的完全同步次数",
|
||||
"latestForkUsecDesc": "最近一次Fork操作的耗时(微秒)"
|
||||
}
|
||||
@@ -0,0 +1,437 @@
|
||||
{
|
||||
"name": "报表名称",
|
||||
"reportCode": "报表编码",
|
||||
"category": "分类",
|
||||
"status": "状态",
|
||||
"description": "描述",
|
||||
"createTime": "创建时间",
|
||||
"actions": "操作",
|
||||
"create": "新建报表",
|
||||
"design": "设计",
|
||||
"editInfo": "编辑信息",
|
||||
"deleteConfirm": "确定要删除报表 \"{name}\" 吗?",
|
||||
"deleteConfirmTitle": "删除确认",
|
||||
"deleteSuccess": "已删除报表: {name}",
|
||||
"saveSuccess": "报表保存成功",
|
||||
"copyTitle": "复制报表",
|
||||
"copyCodePlaceholder": "请输入新报表编码",
|
||||
"copySuccess": "复制成功",
|
||||
"statusMap": {
|
||||
"draft": "草稿",
|
||||
"published": "已发布"
|
||||
},
|
||||
"placeholder": {
|
||||
"name": "请输入报表名称",
|
||||
"code": "请输入报表编码",
|
||||
"category": "请输入分类",
|
||||
"description": "请输入报表说明"
|
||||
},
|
||||
"editor": {
|
||||
"create": "新建报表",
|
||||
"edit": "编辑报表",
|
||||
"createSuccess": "报表创建成功",
|
||||
"loadFailed": "加载报表失败",
|
||||
"back": "返回",
|
||||
"save": "保存",
|
||||
"publish": "发布",
|
||||
"publishSuccess": "发布成功,已创建新的设计版本",
|
||||
"copyVersion": "复制版本",
|
||||
"copyVersionSuccess": "已复制为新设计版本",
|
||||
"copyVersionFailed": "复制版本失败"
|
||||
},
|
||||
"leftPanel": {
|
||||
"dataSource": "数据源",
|
||||
"reportProperties": "报表设置",
|
||||
"clickToConfigure": "点击编辑配置",
|
||||
"configuredCount": "已配置 {count} 项",
|
||||
"queryEmpty": "暂未配置查询条件",
|
||||
"sortEmpty": "暂未配置排序规则",
|
||||
"columnEmpty": "暂未启用分栏布局",
|
||||
"convertEmpty": "暂未配置数据转换",
|
||||
"columnEnabled": "已启用分栏"
|
||||
},
|
||||
"dataset": {
|
||||
"title": "数据集",
|
||||
"selectSource": "选择数据源",
|
||||
"empty": "暂无数据集,请从上方添加",
|
||||
"fieldMapping": "字段映射",
|
||||
"loadingFields": "加载字段中...",
|
||||
"loadFieldsFailed": "加载字段失败",
|
||||
"noFields": "暂无字段"
|
||||
},
|
||||
"column": {
|
||||
"config": "分栏配置",
|
||||
"title": "分栏设置",
|
||||
"enable": "启用分栏",
|
||||
"style": "分栏样式",
|
||||
"styleCol": "行分栏",
|
||||
"styleRow": "列分栏",
|
||||
"type": "分栏类型",
|
||||
"overRows": "超过",
|
||||
"splitCols": "行后分栏",
|
||||
"overCols": "超过",
|
||||
"splitRows": "列后分栏",
|
||||
"splitInto": "分栏成",
|
||||
"colsUnit": "列",
|
||||
"rowsUnit": "行",
|
||||
"dataRange": "分栏数据区域",
|
||||
"dataRangePlaceholder": "如 A2:D10",
|
||||
"copyColNo": "复制行号",
|
||||
"copyRowNo": "复制列号",
|
||||
"rangeHint": "如 1,2-3,6",
|
||||
"fillEmpty": "补充空白行",
|
||||
"previewNote": "预览支持:行分栏→分栏成 N 列;列分栏→分栏成 N 行。请填写区域(如 A2:D10)并设置列/行数≥2。"
|
||||
},
|
||||
"sort": {
|
||||
"config": "排序配置",
|
||||
"title": "数据集排序",
|
||||
"hint": "按数据集别名字段排序,格式:别名.字段名(如 sales.amount)",
|
||||
"add": "添加排序",
|
||||
"field": "排序字段",
|
||||
"fieldPlaceholder": "如 sales.createTime",
|
||||
"order": "顺序",
|
||||
"asc": "升序",
|
||||
"desc": "降序",
|
||||
"datasetHint": "已配置数据集"
|
||||
},
|
||||
"query": {
|
||||
"title": "查询条件",
|
||||
"config": "配置查询条件",
|
||||
"add": "添加条件",
|
||||
"field": "字段名",
|
||||
"fieldPlaceholder": "选择或输入参数字段名",
|
||||
"label": "显示名",
|
||||
"component": "组件",
|
||||
"defaultValue": "默认值",
|
||||
"required": "请填写此项",
|
||||
"requiredLabel": "必填",
|
||||
"input": "输入框",
|
||||
"select": "下拉",
|
||||
"date": "日期",
|
||||
"dateRange": "日期范围",
|
||||
"showTime": "含时间",
|
||||
"options": "选项",
|
||||
"optionsPlaceholder": "显示名:值,显示名2:值2",
|
||||
"search": "查询",
|
||||
"reset": "重置",
|
||||
"startDate": "开始日期",
|
||||
"endDate": "结束日期"
|
||||
},
|
||||
"convert": {
|
||||
"config": "数据转换",
|
||||
"title": "数据转换配置",
|
||||
"hint": "字段格式:数据集别名.字段名",
|
||||
"add": "添加规则",
|
||||
"field": "字段",
|
||||
"fieldPlaceholder": "如 order.status",
|
||||
"type": "转换类型",
|
||||
"configCol": "设置",
|
||||
"extraTitle": "转换设置",
|
||||
"addOption": "添加选项",
|
||||
"option": "选项",
|
||||
"optionId": "值",
|
||||
"optionLabel": "显示名",
|
||||
"dateFormat": "日期格式",
|
||||
"precision": "小数位数",
|
||||
"thousands": "千分位",
|
||||
"types": {
|
||||
"select": "枚举",
|
||||
"date": "日期",
|
||||
"number": "数字",
|
||||
"user": "用户",
|
||||
"department": "部门",
|
||||
"organize": "组织",
|
||||
"role": "角色",
|
||||
"dictionary": "字典"
|
||||
},
|
||||
"namesMap": "名称映射",
|
||||
"namesPlaceholder": "ID:显示名,ID2:显示名2",
|
||||
"dictionaryType": "字典类型",
|
||||
"dictionaryTypePlaceholder": "请输入字典编码"
|
||||
},
|
||||
"preview": {
|
||||
"title": "预览",
|
||||
"search": "查询",
|
||||
"expressionCycle": "检测到表达式单元格存在循环引用,计算结果可能不正确",
|
||||
"snapshotLarge": "预览结果单元格数量较大,可能影响性能",
|
||||
"datasetRowWarn": "数据集「{alias}」行数较多,预览可能较慢",
|
||||
"datasetRowLimit": "数据集「{alias}」已达到行数上限,结果可能被截断"
|
||||
},
|
||||
"importExport": {
|
||||
"export": "导出配置",
|
||||
"import": "导入配置",
|
||||
"exportSuccess": "报表配置已导出",
|
||||
"exportFailed": "导出失败",
|
||||
"importTitle": "导入报表配置",
|
||||
"dragOrClick": "拖拽 JSON 文件到此处或点击上传",
|
||||
"onlyJson": "仅支持 .json 格式文件",
|
||||
"fileParseError": "文件解析失败,请确认文件格式正确",
|
||||
"checking": "正在检查...",
|
||||
"codeConflictTip": "报表编码已存在,请修改编码后再导入",
|
||||
"codeAvailable": "报表编码可用,可以导入",
|
||||
"newCodePlaceholder": "请输入新的报表编码",
|
||||
"importSuccess": "报表配置导入成功",
|
||||
"importFailed": "导入失败",
|
||||
"confirmImport": "确认导入",
|
||||
"reselect": "重新选择",
|
||||
"reportInfo": "报表信息",
|
||||
"appTip": "导入的报表将归属到当前应用;数据集按数据源编码匹配,未匹配的将跳过"
|
||||
},
|
||||
"publishMenu": "发布到菜单",
|
||||
"updateMenu": "更新菜单",
|
||||
"unpublishMenu": "取消发布菜单",
|
||||
"unpublishSuccess": "已取消发布: {name}",
|
||||
"unpublishFailed": "取消发布失败",
|
||||
"publishDialog": {
|
||||
"title": "发布报表到菜单",
|
||||
"success": "已发布到菜单",
|
||||
"failed": "发布失败",
|
||||
"confirm": "确认发布"
|
||||
},
|
||||
"print": {
|
||||
"title": "打印",
|
||||
"notAllowed": "该报表不允许打印",
|
||||
"browserPrint": "打印",
|
||||
"previewTitle": "打印预览",
|
||||
"imageWarn": "报表包含 {count} 张图片,打印可能较慢,是否继续?",
|
||||
"failed": "打开打印预览失败,请重试"
|
||||
},
|
||||
"printForm": {
|
||||
"printArea": "打印范围",
|
||||
"paperType": "纸张类型",
|
||||
"padding": "纸张边距",
|
||||
"direction": "纸张方向",
|
||||
"scale": "页面缩放",
|
||||
"hAlign": "左右对齐",
|
||||
"vAlign": "上下对齐",
|
||||
"gridlines": "网格线",
|
||||
"workbookTitle": "报表名称",
|
||||
"worksheetTitle": "工作表名称",
|
||||
"printDate": "当前日期",
|
||||
"printTime": "当前时间",
|
||||
"pageNumber": "页码",
|
||||
"yFreeze": "重复冻结行",
|
||||
"xFreeze": "重复冻结列",
|
||||
"options": {
|
||||
"currentSheet": "当前工作表",
|
||||
"portrait": "纵向",
|
||||
"landscape": "横向",
|
||||
"a4": "A4",
|
||||
"a3": "A3",
|
||||
"a5": "A5(14.8厘米 x 21.0厘米)",
|
||||
"b4": "B4(25.0厘米 x 35.3厘米)",
|
||||
"b5": "B5(17.6厘米 x 25.0厘米)",
|
||||
"executive": "行政公文纸(18.4厘米 x 26.7厘米)",
|
||||
"statement": "报表(14.0厘米 x 21.6厘米)",
|
||||
"letter": "信纸",
|
||||
"origin": "原始比例",
|
||||
"fitWidth": "适应宽度",
|
||||
"fitHeight": "适应高度",
|
||||
"fitPage": "适应页面",
|
||||
"normal": "正常",
|
||||
"narrow": "窄边距",
|
||||
"wide": "宽边距",
|
||||
"hAlign": {
|
||||
"start": "左对齐",
|
||||
"middle": "水平居中",
|
||||
"end": "右对齐"
|
||||
},
|
||||
"vAlign": {
|
||||
"start": "顶部对齐",
|
||||
"middle": "垂直居中",
|
||||
"end": "底部对齐"
|
||||
}
|
||||
}
|
||||
},
|
||||
"image": {
|
||||
"empty": "选中悬浮图片后可配置",
|
||||
"source": "图片来源",
|
||||
"sourceLocal": "本地上传",
|
||||
"sourceUrl": "URL 地址",
|
||||
"url": "图片地址",
|
||||
"urlPlaceholder": "以 http:// 或 https:// 开头",
|
||||
"upload": "上传图片",
|
||||
"selectFile": "选择图片",
|
||||
"uploadSuccess": "图片上传成功",
|
||||
"uploadFailed": "图片上传失败"
|
||||
},
|
||||
"settings": {
|
||||
"title": "报表设置",
|
||||
"allowExport": "允许导出",
|
||||
"allowPrint": "允许打印",
|
||||
"allowWatermark": "显示水印",
|
||||
"allowExportTip": "开启后,预览和运行时允许导出 Excel/PDF",
|
||||
"allowPrintTip": "开启后,预览和运行时允许打印",
|
||||
"allowWatermarkTip": "开启后,预览和运行时显示水印",
|
||||
"watermarkText": "水印文字",
|
||||
"watermarkPlaceholder": "请输入水印文字",
|
||||
"watermarkShowTime": "水印显示时间",
|
||||
"watermarkTimeFormat": "时间格式",
|
||||
"loadFailed": "加载报表设置失败"
|
||||
},
|
||||
"pdfExport": {
|
||||
"title": "导出 PDF",
|
||||
"success": "PDF 导出成功",
|
||||
"failed": "PDF 导出失败"
|
||||
},
|
||||
"version": {
|
||||
"title": "版本管理",
|
||||
"hint": "切换、复制或删除历史版本",
|
||||
"switch": "切换",
|
||||
"loadFailed": "加载版本列表失败",
|
||||
"deleteConfirm": "确定删除版本 v{version} 吗?",
|
||||
"deleteSuccess": "版本已删除",
|
||||
"deleteFailed": "删除版本失败",
|
||||
"cannotDeleteActive": "不能删除启用中的版本",
|
||||
"state": {
|
||||
"0": "设计中",
|
||||
"1": "启用中",
|
||||
"2": "已归档"
|
||||
}
|
||||
},
|
||||
"fieldMapping": {
|
||||
"title": "字段映射",
|
||||
"hint": "配置数据源字段到数据集别名的映射",
|
||||
"add": "添加映射",
|
||||
"sourceField": "源字段",
|
||||
"targetField": "目标字段",
|
||||
"sourcePlaceholder": "数据源字段名",
|
||||
"targetPlaceholder": "映射后的字段名"
|
||||
},
|
||||
"releaseMenu": {
|
||||
"existingTitle": "已发布菜单",
|
||||
"existingHint": "当前菜单:{title}({path}),重新发布将更新菜单配置"
|
||||
},
|
||||
"export": {
|
||||
"title": "导出 Excel",
|
||||
"success": "导出成功",
|
||||
"failed": "导出失败",
|
||||
"notAllowed": "该报表不允许导出"
|
||||
},
|
||||
"chart": {
|
||||
"empty": "选中悬浮图表后可配置",
|
||||
"cellEmpty": "选中单元格内嵌图表后可配置",
|
||||
"cellTitle": "单元格图表",
|
||||
"type": "图表类型",
|
||||
"title": "图表标题",
|
||||
"datasetHint": "数据集别名",
|
||||
"dataSet": "绑定数据集",
|
||||
"classifyField": "分类字段",
|
||||
"maxField": "雷达最大值字段",
|
||||
"legendShow": "显示图例",
|
||||
"legendOrient": "图例布局",
|
||||
"legendOrientHorizontal": "横排",
|
||||
"legendOrientVertical": "竖排",
|
||||
"legendFontSize": "图例字体大小",
|
||||
"styleType": "图表样式",
|
||||
"lineArea": "面积填充",
|
||||
"pieRose": "玫瑰图",
|
||||
"pieShowZero": "隐藏零值",
|
||||
"layoutSection": "布局与配色",
|
||||
"gridTop": "上边距",
|
||||
"gridLeft": "左边距",
|
||||
"gridRight": "右边距",
|
||||
"gridBottom": "下边距",
|
||||
"legendLeft": "图例水平(%)",
|
||||
"legendTop": "图例垂直(%)",
|
||||
"colorList": "系列配色",
|
||||
"addColor": "添加颜色",
|
||||
"colorListPlaceholder": "如 #5470c6,#91cc75,#fac858",
|
||||
"seriesCenterLeft": "饼图中心水平(%)",
|
||||
"seriesCenterTop": "饼图中心垂直(%)",
|
||||
"seriesNameField": "系列名称字段",
|
||||
"seriesDataField": "系列数值字段",
|
||||
"summaryType": "汇总方式",
|
||||
"fieldPlaceholder": "如 sales.month 或 month",
|
||||
"types": {
|
||||
"bar": "柱状图",
|
||||
"line": "折线图",
|
||||
"pie": "饼图",
|
||||
"radar": "雷达图"
|
||||
},
|
||||
"styleTypes": {
|
||||
"barDefault": "默认柱状",
|
||||
"barStack": "堆叠柱状",
|
||||
"lineDefault": "默认折线",
|
||||
"lineSmooth": "平滑曲线",
|
||||
"lineStack": "堆叠折线",
|
||||
"pieDefault": "实心饼图",
|
||||
"pieRing": "环形饼图",
|
||||
"radarPolygon": "多边形雷达",
|
||||
"radarCircle": "圆形雷达"
|
||||
},
|
||||
"summary": {
|
||||
"none": "原值",
|
||||
"sum": "求和",
|
||||
"avg": "平均",
|
||||
"max": "最大",
|
||||
"min": "最小",
|
||||
"count": "计数"
|
||||
}
|
||||
},
|
||||
"properties": {
|
||||
"title": "单元格属性",
|
||||
"empty": "请在表格中选中单元格",
|
||||
"position": "位置:第 {row} 行,第 {col} 列",
|
||||
"cellType": "单元格类型",
|
||||
"typeText": "文本",
|
||||
"textParamHint": "文本单元格可直接写 #'{'参数名'}',预览时自动替换",
|
||||
"typeDataSource": "数据源",
|
||||
"typeParameter": "参数",
|
||||
"typeQrCode": "二维码",
|
||||
"typeBarcode": "条形码",
|
||||
"typeExpression": "表达式",
|
||||
"expressionFormula": "表达式",
|
||||
"expressionPlaceholder": "如 =A1+sum(sales.amount) 或 =sum(A1:B2)",
|
||||
"expressionHint": "支持 A1/B2 引用、sum(A1:B2)、sum(别名.字段)、#'{'参数'}'、+ - * /",
|
||||
"dataset": "数据集别名",
|
||||
"field": "绑定字段",
|
||||
"fieldPlaceholder": "如 name 或 user.name",
|
||||
"displayType": "显示类型",
|
||||
"displayDefault": "默认",
|
||||
"expand": "扩展方向",
|
||||
"expandNone": "不扩展",
|
||||
"expandDown": "向下列表",
|
||||
"expandRight": "向右列表",
|
||||
"polymerizationType": "聚合方式",
|
||||
"polyList": "列表",
|
||||
"polyGroup": "分组",
|
||||
"polySummary": "汇总",
|
||||
"summaryType": "汇总类型",
|
||||
"groupType": "分组方式",
|
||||
"groupDefault": "默认分组",
|
||||
"groupAdjacent": "相邻连续分组",
|
||||
"mergeCell": "合并单元格",
|
||||
"fillEmptyRows": "列表后补空行",
|
||||
"fillEmptyNum": "补空行数",
|
||||
"leftParent": "左父格",
|
||||
"topParent": "上父格",
|
||||
"leftParentCustom": "左父格位置(列名+行号)",
|
||||
"topParentCustom": "上父格位置(列名+行号)",
|
||||
"leftParentHint": "扩展或汇总时,从本格同一行向左找最近的数据源单元格,用于限定数据分组范围。纯文本单元格无需配置。",
|
||||
"topParentHint": "扩展或汇总时,从本格同一列向上找最近的数据源单元格,用于限定数据层级。合计行通常选「无」;分组小计可选「自定义」指向分组格。",
|
||||
"parentType": {
|
||||
"none": "无",
|
||||
"default": "默认",
|
||||
"custom": "自定义"
|
||||
},
|
||||
"paramField": "参数字段名",
|
||||
"apply": "应用到单元格"
|
||||
},
|
||||
"code": {
|
||||
"content": "编码内容",
|
||||
"contentPlaceholder": "静态文本或 #'{'参数名'}'",
|
||||
"paramHint": "支持 #'{'field'}' 引用查询参数,预览时自动替换",
|
||||
"qrLevel": "纠错级别",
|
||||
"barcodeFormat": "条形码格式"
|
||||
},
|
||||
"render": {
|
||||
"codeRequired": "报表编码不能为空",
|
||||
"loadFailed": "加载报表失败",
|
||||
"empty": "暂无预览数据"
|
||||
},
|
||||
"univerPlaceholder": {
|
||||
"title": "Univer 报表设计器",
|
||||
"desc": "Phase 1 骨架已就绪,完整 @univerjs 表格引擎将在下一阶段接入。"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,135 @@
|
||||
{
|
||||
"name": "角色",
|
||||
"title": "角色管理",
|
||||
"roleName": "角色名称",
|
||||
"roleCode": "角色编码",
|
||||
"roleType": "角色类型",
|
||||
"dataScope": "数据范围",
|
||||
"priority": "角色优先级",
|
||||
"priorityHelp": "数字越大优先级越高",
|
||||
"description": "角色描述",
|
||||
"descriptionPlaceholder": "请输入角色描述",
|
||||
"remark": "备注",
|
||||
"remarkPlaceholder": "请输入备注信息",
|
||||
"status": "状态",
|
||||
"operation": "操作",
|
||||
"edit": "编辑",
|
||||
"users": "用户",
|
||||
"addUsersSuccess": "添加用户成功",
|
||||
"removeUsersConfirm": "确定要移除选中的 {0} 个用户吗?",
|
||||
"removeUsersSuccess": "移除用户成功",
|
||||
"removeUsersFailed": "移除用户失败",
|
||||
"codeFormatError": "角色编码只能包含字母、数字和下划线",
|
||||
"types": {
|
||||
"system": "系统角色",
|
||||
"custom": "自定义角色"
|
||||
},
|
||||
"dataScopes": {
|
||||
"self": "仅本人数据",
|
||||
"dept": "本部门数据",
|
||||
"deptAndSub": "本部门及下级部门数据",
|
||||
"deptAndSubShort": "本部门及下级",
|
||||
"all": "全部数据",
|
||||
"custom": "自定义数据",
|
||||
"unknown": "未知"
|
||||
},
|
||||
"permissions": {
|
||||
"title": "权限分配",
|
||||
"save": "保存",
|
||||
"selectRoleFirst": "请先选择角色",
|
||||
"noRoleSelected": "未选择角色",
|
||||
"appList": "应用列表",
|
||||
"allApps": "全部应用",
|
||||
"loadAppsFailed": "加载应用列表失败",
|
||||
"menuList": "菜单列表",
|
||||
"selectAll": "全选",
|
||||
"unselectAll": "反选",
|
||||
"selectMenuPrompt": "请从左侧选择菜单查看权限",
|
||||
"noPermissionData": "暂无权限数据",
|
||||
"loading": "加载中...",
|
||||
"noPermissions": "暂无权限",
|
||||
"permissionCount": "项权限",
|
||||
"loadMenuFailed": "加载菜单列表失败",
|
||||
"loadPermissionsFailed": "加载权限失败",
|
||||
"saveSuccess": "菜单和权限分配成功",
|
||||
"saveFailed": "保存菜单和权限分配失败",
|
||||
"getRoleDetailFailed": "获取角色详情失败",
|
||||
"types": {
|
||||
"button": "按钮权限",
|
||||
"api": "API权限",
|
||||
"data": "数据权限",
|
||||
"other": "其他权限"
|
||||
},
|
||||
"helpTip": "必须后端实现了相关的方法后才生效,参考 zq-demo",
|
||||
"steps": {
|
||||
"menuApi": "菜单与API权限",
|
||||
"fieldData": "字段与数据权限"
|
||||
}
|
||||
},
|
||||
"resourceScope": {
|
||||
"title": "数据权限配置",
|
||||
"helpTip": "必须后端实现了相关的方法后才生效,参考 zq-demo",
|
||||
"addResource": "添加资源",
|
||||
"saveConfig": "保存配置",
|
||||
"deleteConfirm": "确定删除此配置吗?",
|
||||
"selectRole": "请先选择角色",
|
||||
"noConfig": "暂无配置,点击【添加资源】开始配置",
|
||||
"resourceType": "资源类型",
|
||||
"selectResourceType": "选择资源类型",
|
||||
"dataPermission": "数据权限范围",
|
||||
"selectDataPermission": "选择数据权限",
|
||||
"customDept": "自定义部门",
|
||||
"selectDept": "选择部门",
|
||||
"operation": "操作",
|
||||
"delete": "删除",
|
||||
"saveSuccess": "资源数据权限配置保存成功",
|
||||
"saveFailed": "保存资源数据权限配置失败",
|
||||
"loadFailed": "加载资源数据权限配置失败",
|
||||
"loadResourceTypesFailed": "加载资源类型失败",
|
||||
"loadDeptsFailed": "加载部门列表失败",
|
||||
"allTypesConfigured": "所有资源类型都已配置",
|
||||
"noResourceTypes": "暂无可用资源类型",
|
||||
"customDeptRequired": "自定义数据权限必须选择部门"
|
||||
},
|
||||
"fieldPermission": {
|
||||
"title": "字段权限配置",
|
||||
"helpTip": "必须后端实现了相关的方法后才生效,参考 zq-demo",
|
||||
"config": "配置",
|
||||
"resourceType": "资源类型",
|
||||
"selectResourceType": "选择资源类型",
|
||||
"selectRoleFirst": "请先选择角色",
|
||||
"selectRoleAndResource": "请先选择角色和资源类型",
|
||||
"fieldName": "字段名",
|
||||
"displayName": "显示名称",
|
||||
"sensitive": "敏感",
|
||||
"permissionType": "权限类型",
|
||||
"maskRule": "脱敏规则",
|
||||
"description": "说明",
|
||||
"noConfig": "暂无字段配置",
|
||||
"saveConfig": "保存配置",
|
||||
"saveSuccess": "字段权限配置保存成功",
|
||||
"saveFailed": "保存字段权限配置失败",
|
||||
"loadFailed": "加载字段权限配置失败",
|
||||
"loadMetadataFailed": "加载资源字段元数据失败",
|
||||
"maskRuleRequired": "脱敏规则不能为空",
|
||||
"permissionTypes": {
|
||||
"read": "可读",
|
||||
"write": "可写",
|
||||
"hidden": "隐藏",
|
||||
"masked": "脱敏"
|
||||
},
|
||||
"maskRules": {
|
||||
"phone": "手机号",
|
||||
"email": "邮箱",
|
||||
"id_card": "身份证",
|
||||
"name": "姓名",
|
||||
"default": "默认"
|
||||
},
|
||||
"permissionDesc": {
|
||||
"read": "可以查看此字段",
|
||||
"write": "可以查看和修改此字段",
|
||||
"hidden": "完全不可见此字段",
|
||||
"masked": "部分可见(脱敏显示)"
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,130 @@
|
||||
{
|
||||
"scheduler": "调度器",
|
||||
"jobList": "任务列表",
|
||||
"jobDetail": "任务详情",
|
||||
"executionLogs": "执行日志",
|
||||
"runStatus": "运行状态",
|
||||
"running": "运行中",
|
||||
"stopped": "已停止",
|
||||
"totalJobs": "总任务数",
|
||||
"enabledJobs": "启用任务",
|
||||
"totalExecutions": "总执行次数",
|
||||
"successRate": "成功率",
|
||||
"executionCount": "执行次数",
|
||||
"failureCount": "失败次数",
|
||||
"successCount": "成功次数",
|
||||
"allJobs": "所有任务",
|
||||
"runningJobs": "运行中的任务",
|
||||
"executionRecords": "执行记录",
|
||||
"jobSuccessRate": "任务成功率",
|
||||
"totalRunCount": "总执行次数",
|
||||
"executionFailed": "执行失败",
|
||||
"executionSuccess": "执行成功",
|
||||
"fetchStatusFailed": "获取调度器状态失败",
|
||||
"fetchDetailFailed": "获取任务详情失败",
|
||||
"cardView": "卡片视图",
|
||||
"listView": "列表视图",
|
||||
"refresh": "刷新",
|
||||
"loading": "加载中...",
|
||||
"noLogs": "暂无日志记录",
|
||||
"allLogsLoaded": "已加载全部日志",
|
||||
"retryCount": "重试次数",
|
||||
"retryTimes": "重试 {count} 次",
|
||||
"startTime": "开始时间",
|
||||
"endTime": "结束时间",
|
||||
"duration": "持续时间",
|
||||
"executionDuration": "执行耗时(秒)",
|
||||
"executionResult": "执行结果",
|
||||
"exceptionInfo": "异常信息",
|
||||
"stackTrace": "堆栈跟踪",
|
||||
"jobName": "任务名称",
|
||||
"jobCode": "任务编码",
|
||||
"jobGroup": "任务分组",
|
||||
"triggerType": "触发器类型",
|
||||
"cronExpression": "Cron表达式",
|
||||
"intervalTime": "间隔时间",
|
||||
"jobStatus": "任务状态",
|
||||
"priority": "优先级",
|
||||
"maxInstances": "最大实例数",
|
||||
"maxRetries": "错误重试次数",
|
||||
"timeout": "超时时间",
|
||||
"timeoutSeconds": "超时时间(秒)",
|
||||
"coalesce": "是否合并执行",
|
||||
"allowConcurrent": "是否允许并发执行",
|
||||
"remark": "备注",
|
||||
"remarkPlaceholder": "备注信息",
|
||||
"taskMode": "任务类型",
|
||||
"modeFunction": "执行函数",
|
||||
"modeWorkflow": "执行流程",
|
||||
"taskFunc": "任务函数",
|
||||
"taskFuncPlaceholder": "请输入任务函数路径(如 scheduler.tasks.test_task)",
|
||||
"taskFuncs": {
|
||||
"testTask": "测试任务",
|
||||
"cleanupTask": "清理过期日志",
|
||||
"workflowTask": "执行工作流"
|
||||
},
|
||||
"workflowCode": "目标工作流",
|
||||
"workflowCodePlaceholder": "选择要执行的工作流",
|
||||
"taskArgs": "任务位置参数",
|
||||
"taskKwargs": "任务关键字参数",
|
||||
"cronPlaceholder": "例如: 0 0 * * *(每天凌晨0点)",
|
||||
"intervalPlaceholder": "间隔时间",
|
||||
"datePlaceholder": "指定执行时间",
|
||||
"groupPlaceholder": "任务分组,默认为default",
|
||||
"argsPlaceholder": "JSON数组格式,例如: [\"param1\", \"param2\"]",
|
||||
"kwargsPlaceholder": "JSON对象格式,例如: {'{'}'key': 'value'{'}'}",
|
||||
"required": "{field}不能为空",
|
||||
"deleteJob": "删除任务",
|
||||
"maxLength": "{field}长度不能超过{max}个字符",
|
||||
"codeInvalid": "任务编码只能包含字母、数字和下划线",
|
||||
"createJob": "创建定时任务",
|
||||
"editJob": "编辑定时任务",
|
||||
"deleteJobConfirm": "确定要删除任务 \"{name}\" 吗?",
|
||||
"operationSuccess": "操作成功",
|
||||
"lastRunTime": "上次执行",
|
||||
"nextRunTime": "下次执行",
|
||||
"description": "描述",
|
||||
"triggerCron": "Cron",
|
||||
"triggerInterval": "间隔",
|
||||
"triggerDate": "一次性",
|
||||
"status": {
|
||||
"enabled": "启用",
|
||||
"disabled": "禁用",
|
||||
"paused": "暂停",
|
||||
"pending": "等待执行",
|
||||
"running": "执行中",
|
||||
"success": "执行成功",
|
||||
"failed": "执行失败",
|
||||
"timeout": "执行超时",
|
||||
"skipped": "跳过执行",
|
||||
"waiting": "等待中",
|
||||
"unknown": "未知"
|
||||
},
|
||||
"unit": {
|
||||
"seconds": "秒",
|
||||
"minutes": "分",
|
||||
"hours": "时",
|
||||
"days": "天"
|
||||
},
|
||||
"paramType": {
|
||||
"string": "字符串",
|
||||
"number": "数字",
|
||||
"boolean": "布尔值"
|
||||
},
|
||||
"paramKey": "参数名",
|
||||
"paramValue": "参数值",
|
||||
"argValue": "参数值",
|
||||
"addParam": "添加参数",
|
||||
"addArg": "添加参数",
|
||||
"noParams": "暂无参数,点击下方按钮添加",
|
||||
"noArgs": "暂无参数,点击下方按钮添加",
|
||||
"executeNow": "立即执行",
|
||||
"executeSuccess": "任务 {name} 已开始执行",
|
||||
"executeFailed": "执行任务失败",
|
||||
"executionProgress": "执行进度",
|
||||
"streaming": "实时推送中",
|
||||
"streamComplete": "已完成",
|
||||
"noStreamLogs": "暂无执行日志",
|
||||
"waitingForLogs": "等待日志...",
|
||||
"viewLiveLogs": "查看实时日志"
|
||||
}
|
||||
@@ -0,0 +1,167 @@
|
||||
{
|
||||
"systemInfo": "系统信息",
|
||||
"cpuInfo": "CPU信息",
|
||||
"memoryInfo": "内存信息",
|
||||
"diskInfo": "磁盘信息",
|
||||
"networkInfo": "网络信息",
|
||||
"processInfo": "进程信息",
|
||||
"loadFailed": "加载服务器监控数据失败",
|
||||
"refreshSuccess": "刷新成功",
|
||||
"autoRefreshOn": "已开启自动刷新",
|
||||
"autoRefreshOff": "已关闭自动刷新",
|
||||
"autoRefreshing": "自动刷新中",
|
||||
"paused": "已暂停",
|
||||
"featureDeveloping": "功能开发中...",
|
||||
"serverMonitor": "服务器监控",
|
||||
"uptime": "运行时间",
|
||||
"days": "天",
|
||||
"hours": "小时",
|
||||
"minutes": "分钟",
|
||||
"justStarted": "刚刚启动",
|
||||
"cpuUsage": "CPU使用率",
|
||||
"core": "核心",
|
||||
"memoryUsage": "内存使用率",
|
||||
"diskUsage": "磁盘使用率",
|
||||
"totalDiskCapacity": "磁盘总容量",
|
||||
"networkTraffic3Min": "网络流量 (近3分钟)",
|
||||
"upload": "上传",
|
||||
"download": "下载",
|
||||
"peakUpload": "峰值上传",
|
||||
"peakDownload": "峰值下载",
|
||||
"top10Processes": "Top 10 进程",
|
||||
"topProcessesCpu": "Top 进程(按CPU使用率排序)",
|
||||
"processName": "进程名",
|
||||
"status": "状态",
|
||||
"createTime": "创建时间",
|
||||
"overallUsage": "总体使用率",
|
||||
"physicalCores": "物理核心",
|
||||
"coreCount": "核心数量",
|
||||
"logicalProcessors": "逻辑处理器",
|
||||
"threadCount": "线程数量",
|
||||
"basicInfo": "基本信息",
|
||||
"processorModel": "处理器型号",
|
||||
"architecture": "架构",
|
||||
"physicalCoreCount": "物理核心数",
|
||||
"logicalProcessorCount": "逻辑处理器数",
|
||||
"currentUsage": "当前使用率",
|
||||
"frequencyInfo": "频率信息",
|
||||
"currentFrequency": "当前频率",
|
||||
"maxFrequency": "最大频率",
|
||||
"minFrequency": "最小频率",
|
||||
"coreUsage": "各核心使用率",
|
||||
"cpuTimeStats": "CPU 时间统计",
|
||||
"cpuStatsInfo": "CPU 统计信息",
|
||||
"systemLoad": "系统负载",
|
||||
"load1min": "1 分钟平均负载",
|
||||
"load5min": "5 分钟平均负载",
|
||||
"load15min": "15 分钟平均负载",
|
||||
"cpuCoreCount": "CPU 核心数",
|
||||
"totalMemory": "总内存",
|
||||
"physicalMemoryTotal": "物理内存总量",
|
||||
"used": "已使用",
|
||||
"diskIo": "磁盘IO",
|
||||
"read": "读取",
|
||||
"write": "写入",
|
||||
"totalRead": "总读取",
|
||||
"totalWrite": "总写入",
|
||||
"networkIo": "网络IO",
|
||||
"totalSent": "总发送",
|
||||
"totalReceived": "总接收",
|
||||
"hostname": "主机名",
|
||||
"ipAddress": "IP地址",
|
||||
"os": "操作系统",
|
||||
"processor": "处理器",
|
||||
"pythonVersion": "Python版本",
|
||||
"systemStatus": "系统状态",
|
||||
"startTime": "启动时间",
|
||||
"processCount": "进程数",
|
||||
"onlineUsers": "在线用户",
|
||||
"unitUser": "个",
|
||||
"updateTime": "更新时间",
|
||||
"networkUsageTrend": "网络使用趋势",
|
||||
"recentDataPoints": "最近 {count} 个数据点",
|
||||
"waitingForData": "等待数据中...",
|
||||
"collectingNetworkData": "正在收集网络使用数据",
|
||||
"availableMemory": "可用内存",
|
||||
"immediatelyAvailable": "可立即使用",
|
||||
"virtualMemoryRam": "虚拟内存(RAM)",
|
||||
"memoryUsageStatus": "内存使用情况",
|
||||
"kernelMemory": "核心内存",
|
||||
"usedMemory": "已使用内存",
|
||||
"swapPartition": "交换分区(Swap)",
|
||||
"swapUsageStatus": "交换分区使用情况",
|
||||
"swapTotal": "交换分区总量",
|
||||
"swapAvailable": "可用交换分区",
|
||||
"swapUsed": "已使用交换分区",
|
||||
"memoryDistribution": "内存分布",
|
||||
"cache": "缓存",
|
||||
"buffer": "缓冲区",
|
||||
"activeMemory": "活跃内存",
|
||||
"inactiveMemory": "非活跃内存",
|
||||
"freeMemory": "空闲内存",
|
||||
"realtimeMemoryDetails": "实时内存详情",
|
||||
"readSpeed": "读取速度",
|
||||
"currentReadRate": "当前读取速率",
|
||||
"writeSpeed": "写入速度",
|
||||
"currentWriteRate": "当前写入速率",
|
||||
"totalReadAmount": "总读取量",
|
||||
"accumulatedReadData": "累计读取数据",
|
||||
"totalWriteAmount": "总写入量",
|
||||
"accumulatedWriteData": "累计写入数据",
|
||||
"diskPartitionList": "磁盘分区列表",
|
||||
"device": "设备",
|
||||
"mountPoint": "挂载点",
|
||||
"fileSystem": "文件系统",
|
||||
"usageRate": "使用率",
|
||||
"totalCapacity": "总容量",
|
||||
"availableSpace": "可用空间",
|
||||
"remainingSpace": "剩余空间",
|
||||
"diskIoStats": "磁盘IO统计",
|
||||
"readStats": "读取统计",
|
||||
"currentSpeed": "当前速度",
|
||||
"readCount": "读取次数",
|
||||
"readTime": "读取时间",
|
||||
"seconds": "秒",
|
||||
"writeStats": "写入统计",
|
||||
"writeCount": "写入次数",
|
||||
"writeTime": "写入时间",
|
||||
"realtimeDiskIo": "实时磁盘IO",
|
||||
"uploadSpeed": "上传速度",
|
||||
"currentUploadRate": "当前上传速率",
|
||||
"downloadSpeed": "下载速度",
|
||||
"currentDownloadRate": "当前下载速率",
|
||||
"accumulatedSentData": "累计发送数据",
|
||||
"accumulatedReceivedData": "累计接收数据",
|
||||
"networkInterfaceList": "网络接口列表",
|
||||
"online": "在线",
|
||||
"offline": "离线",
|
||||
"interfaceName": "接口名称",
|
||||
"speed": "速度",
|
||||
"mtu": "MTU",
|
||||
"sentBytes": "发送字节",
|
||||
"receivedBytes": "接收字节",
|
||||
"sentPackets": "发送包数",
|
||||
"receivedPackets": "接收包数",
|
||||
"sentErrors": "发送错误",
|
||||
"receivedErrors": "接收错误",
|
||||
"sentDropped": "发送丢包",
|
||||
"receivedDropped": "接收丢包",
|
||||
"networkTrafficStats": "网络总计统计",
|
||||
"sentStats": "发送统计",
|
||||
"totalSentAmount": "总发送量",
|
||||
"receivedStats": "接收统计",
|
||||
"totalReceivedAmount": "总接收量",
|
||||
"realtimeNetworkIo": "实时网络IO",
|
||||
"totalProcesses": "总进程数",
|
||||
"totalSystemProcesses": "系统进程总数",
|
||||
"running": "运行中",
|
||||
"runningProcesses": "正在运行的进程",
|
||||
"sleeping": "休眠中",
|
||||
"sleepingProcesses": "休眠状态的进程",
|
||||
"otherStatus": "其他状态",
|
||||
"stoppedZombieStatus": "停止/僵尸等状态",
|
||||
"processDistribution": "进程状态分布",
|
||||
"total": "总计",
|
||||
"resourceUsageRanking": "资源使用排行",
|
||||
"noProcessData": "暂无进程数据"
|
||||
}
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user