chore: initialize qiming workspace repository

This commit is contained in:
Codex
2026-05-29 14:22:48 +08:00
commit bfd67a0f2c
10750 changed files with 1885711 additions and 0 deletions

View File

@@ -0,0 +1,25 @@
import { API_BASE_URL } from './config';
import { COMMON_HEADERS ,TEMP_CONVERSATION_CONNECTION_URL,CONVERSATION_CONNECTION_URL} from './common.constants';
// 聊天相关API
export const CHAT_API = {
// 流式聊天
STREAM: CONVERSATION_CONNECTION_URL,
// 临时会话流式聊天
TEMP_STREAM: TEMP_CONVERSATION_CONNECTION_URL,
}
// 请求头配置
export const API_HEADERS = {
...COMMON_HEADERS,
'Accept': 'application/json, text/plain, */*'
}
// 超时配置
export const API_TIMEOUT = 30000 // 30秒
// 重试配置
export const API_RETRY = {
MAX_RETRIES: 3,
RETRY_DELAY: 1000 // 1秒
}

View File

@@ -0,0 +1,7 @@
export const SUCCESS_CODE = '0000';
// 用户未登录
export const USER_NO_LOGIN = '4010';
// 重定向登录
export const REDIRECT_LOGIN = '4011';
// 智能体不存在或已下架
export const AGENT_NOT_EXIST = '0001';

View File

@@ -0,0 +1,49 @@
import { API_BASE_URL } from './config';
// 文件上传地址
export const UPLOAD_FILE_ACTION = `${API_BASE_URL}/api/file/upload`;
// 会话 Connection地址
export const CONVERSATION_CONNECTION_URL = `${API_BASE_URL}/api/agent/conversation/chat`;
// 临时会话 Connection地址
export const TEMP_CONVERSATION_CONNECTION_URL = `${API_BASE_URL}/api/temp/chat/completions`;
// 文档地址
export const DOCUMENT_URL = 'https://nlp-book.swufenlp.group';
// 平台文档地址
export const SITE_DOCUMENT_URL = 'https://qiming.com/user-manual.html';
// 可上传文件后缀类型doc docx pdf md json txt
export const UPLOAD_FILE_SUFFIX = ['doc', 'docx', 'pdf', 'md', 'json', 'txt'];
// 验证码长度
export const VERIFICATION_CODE_LEN = 6;
// 倒计时
export const COUNT_DOWN_LEN = 60;
// 默认图片数量
export const DEFAULT_IMAGE_COUNT = 9;
// 默认文件数量
export const DEFAULT_FILE_COUNT = 9;
// 临时会话的uid, 用于区分临时会话和普通会话, 缓存在sessionStorage中key为TEMP_CONVERSATION_UID, value为uid
export const TEMP_CONVERSATION_UID = 'TEMP_CONVERSATION_UID';
// 临时会话的key
export const TEMP_CHAT_KEY = 'TEMP_CHAT_KEY';
// 全部
export const CONST_ALL = 'All';
// 聊天输入方式
export const CHAT_INPUT_METHOD = 'CHAT_INPUT_METHOD';
// 公共 header 配置
export const COMMON_HEADERS = {
'Content-Type': 'application/json',
// #ifdef MP-WEIXIN
'X-Client-Type': 'mp-weixin',
// #endif
}

View File

@@ -0,0 +1,36 @@
// 环境配置
// 使用uni-app的条件编译来处理不同环境
let API_BASE_URL = "";
// uEnvProd
if (process.env.NODE_ENV === "production") {
// #ifdef MP-WEIXIN
API_BASE_URL = "https://agent.qiming.com";
// #endif
}
// uEnvDev
if (process.env.NODE_ENV === "development") {
API_BASE_URL = "https://testagent.xspaceagi.com";
}
// 允许外部链接跳转的域名
export const ALLOW_EXTERNAL_LINK_DOMAIN = [API_BASE_URL, "https://qiming.com"];
// 不需要登录检查的地址
export const NO_LOGIN_CHECK_URL = [
"https://qiming.com/user-agreement.html",
"https://qiming.com/privacy.html",
];
// 版本号
export const VERSION = "v1.0.3";
// 登录白名单地址
export const LOGIN_WHITELIST_URL = [
"/api/user/getLoginInfo",
];
// API_BASE_URL 为 let 声明,单独导出;其余常量已在声明处直接导出
export { API_BASE_URL };

View File

@@ -0,0 +1,14 @@
/**
* 事件常量
* 用于事件订阅和发布时的类型安全引用
*
* 与 PC 端 @/constants/event.constants.tsx 保持一致
*/
import { EventTypeEnum } from '@/types/enums/event';
export const EVENT_TYPE = {
NewNotifyMessage: EventTypeEnum.NewNotifyMessage, // 新消息
RefreshChatMessage: EventTypeEnum.RefreshChatMessage, // 刷新会话
RefreshFileList: EventTypeEnum.RefreshFileList, // 刷新文件列表
ChatFinished: EventTypeEnum.ChatFinished, // 会话结束
};

View File

@@ -0,0 +1,10 @@
export const ACCESS_TOKEN = 'ACCESS_TOKEN';
export const USER_INFO = 'USER_INFO';
// expireDate
export const EXPIRE_DATE = 'EXPIRE_DATE';
export const PHONE = 'PHONE';
export const SPACE_ID = 'SPACE_ID';
export const SPACE_URL = 'SPACE_URL';
// 租户配置信息
export const TENANT_CONFIG_INFO = 'TENANT_CONFIG_INFO';

View File

@@ -0,0 +1,380 @@
export const I18N_EN_US: Record<string, string> = {
"Mobile.Nav.home": "Home",
"Mobile.Nav.unionRecord": "Directory",
"Mobile.Nav.agent": "Agent",
"Mobile.Nav.app": "App",
"Mobile.App.pressAgainToExit": "Press again to exit the app",
"Mobile.Common.loginRegister": "Sign In / Sign Up",
"Mobile.Common.noticeExperience": "You are viewing demo data. Sign in to access all features.",
"Mobile.Common.recentUsed": "Recently Used",
"Mobile.Common.conversationHistory": "Conversation History",
"Mobile.Common.menu": "Menu",
"Mobile.Common.tip": "Tip",
"Mobile.Common.confirm": "Confirm",
"Mobile.Common.cancel": "Cancel",
"Mobile.Common.agree": "Agree",
"Mobile.Common.disagree": "Disagree",
"Mobile.Common.switching": "Switching...",
"Mobile.Common.switchSuccess": "Language updated",
"Mobile.Common.switchFailed": "Failed to switch language",
"Mobile.Common.noData": "No data",
"Mobile.Common.noMoreData": "No more data",
"Mobile.Common.all": "All",
"Mobile.Common.appName": "Qiming",
"Mobile.Common.coverImageAlt": "Cover image",
"Mobile.Common.avatarAlt": "Avatar",
"Mobile.Common.noDataImageAlt": "No data illustration",
"Mobile.Common.agentIconAlt": "Agent icon",
"Mobile.Common.skillIconAlt": "Skill icon",
"Mobile.Common.appLogoAlt": "App logo",
"Mobile.Common.deleteIconAlt": "Delete",
"Mobile.Auth.agreementPrefix": "I have read and agree to the Terms:",
"Mobile.Auth.agreementSeparator": ", ",
"Mobile.Auth.serviceAgreement": "Terms of Service",
"Mobile.Auth.userAgreementLink": "https://qiming.com/user-agreement.html",
"Mobile.Auth.privacyAgreement": "Privacy Policy",
"Mobile.Auth.privacyAgreementLink": "https://qiming.com/privacy.html",
"Mobile.Auth.loginSuccess": "Sign in successful",
"Mobile.Auth.loginFailed": "Sign in failed",
"Mobile.Auth.passwordLogin": "Sign In with Password",
"Mobile.Auth.codeLoginRegister": "Sign In / Sign Up with Code",
"Mobile.Auth.nextStep": "Next",
"Mobile.Auth.login": "Sign In",
"Mobile.Auth.inputPhone": "Please enter your phone number",
"Mobile.Auth.defaultAreaCode": "+86",
"Mobile.Auth.inputEmail": "Please enter your email",
"Mobile.Auth.inputPassword": "Please enter your password",
"Mobile.Auth.invalidPhoneFormat": "Please enter a valid phone number",
"Mobile.Auth.invalidEmailFormat": "Please enter a valid email address",
"Mobile.Auth.codeSentSuccess": "Verification code sent",
"Mobile.Auth.inputEmailCode": "Enter email verification code",
"Mobile.Auth.inputSmsCode": "Enter SMS verification code",
"Mobile.Auth.codeSentToPrefix": "Verification code sent to",
"Mobile.Auth.codeSentToEmailTarget": "your email",
"Mobile.Auth.codeSentToPhoneTarget": "phone number",
"Mobile.Auth.inputVerifyCode": "Please enter the verification code",
"Mobile.Auth.resend": "Resend",
"Mobile.Auth.resendSuccess": "Code resent successfully",
"Mobile.Auth.sending": "Sending...",
"Mobile.Auth.clipboardReadFailed": "Failed to read clipboard",
"Mobile.Auth.clipboardGetFailed": "Failed to get clipboard",
"Mobile.Auth.codeAutoFilled": "Code auto-filled",
"Mobile.Auth.pasteSixDigits": "Please paste a 6-digit code",
"Mobile.Auth.clipboardNotSixDigits": "Clipboard content is not a 6-digit code",
"Mobile.Auth.clipboardEmpty": "Clipboard is empty",
"Mobile.Auth.setPasswordTitle": "Set Password",
"Mobile.Auth.setPasswordDesc": "Use at least 6 characters. Do not use passwords from other websites or easily guessed passwords.",
"Mobile.Auth.inputPasswordAgain": "Please re-enter your password",
"Mobile.Auth.setting": "Setting up...",
"Mobile.Common.ok": "OK",
"Mobile.Auth.passwordMinLength": "Password must be at least 6 characters",
"Mobile.Auth.confirmPassword": "Please confirm password",
"Mobile.Auth.passwordMismatch": "Passwords do not match",
"Mobile.Auth.passwordSetSuccess": "Password set successfully",
"Mobile.Auth.passwordSetFailed": "Failed to set password. Please try again.",
"Mobile.Common.networkRetry": "Network error. Please try again.",
"Mobile.Auth.pleaseAgreeProtocol": "Please agree to the Terms and Privacy Policy.",
"Mobile.Auth.userCancelAuthorize": "Authorization canceled",
"Mobile.Auth.oneClickLogin": "Quick Sign In",
"Mobile.Auth.phoneLoginRegister": "Phone Sign In / Sign Up",
"Mobile.Auth.welcomeUse": "Welcome to {siteName}",
"Mobile.Header.mySubscriptions": "My Subscriptions",
"Mobile.Header.profile": "Profile",
"Mobile.Header.logout": "Sign Out",
"Mobile.Header.logoutSuccess": "Signed out",
"Mobile.Header.logoutFailed": "Sign out failed",
"Mobile.MySubscriptions.title": "My Subscriptions",
"Mobile.MySubscriptions.notEnabled": "Subscription is not enabled yet",
"Mobile.MySubscriptions.empty": "No subscriptions yet",
"Mobile.MySubscriptions.totalCredits": "Total Credits",
"Mobile.MySubscriptions.subscriptionCredits": "Subscription Credits",
"Mobile.MySubscriptions.purchaseCredits": "Purchase Credits",
"Mobile.MySubscriptions.activityCredits": "Activity Credits",
"Mobile.MySubscriptions.addPurchase": "+ Add",
"Mobile.MySubscriptions.detail": "Detail",
"Mobile.MySubscriptions.planGrid": "Subscription Plans",
"Mobile.MySubscriptions.currentPlan": "In Use",
"Mobile.MySubscriptions.statusActive": "Active",
"Mobile.MySubscriptions.statusHot": "Hot",
"Mobile.MySubscriptions.feeMonth": "Monthly Fee",
"Mobile.MySubscriptions.feeQuarter": "Quarterly Fee",
"Mobile.MySubscriptions.feeYear": "Yearly Fee",
"Mobile.MySubscriptions.perMonth": "/Month",
"Mobile.MySubscriptions.perQuarter": "/Quarter",
"Mobile.MySubscriptions.perYear": "/Year",
"Mobile.MySubscriptions.perForever": "/Forever",
"Mobile.MySubscriptions.renewNow": "Renew",
"Mobile.MySubscriptions.upgradeNow": "Upgrade",
"Mobile.MySubscriptions.subscribeNow": "Subscribe",
"Mobile.MySubscriptions.currentPlanButton": "Current Plan",
"Mobile.MySubscriptions.continuousMonthly": "Continuous Monthly",
"Mobile.MySubscriptions.continuousQuarterly": "Continuous Quarterly",
"Mobile.MySubscriptions.continuousYearly": "Continuous Yearly",
"Mobile.MySubscriptions.nextRenewal": "Next renewal: {time}",
"Mobile.MySubscriptions.subscribedContent": "Subscribed Content",
"Mobile.MySubscriptions.tabAgents": "Agents",
"Mobile.MySubscriptions.tabSkills": "Skills",
"Mobile.MySubscriptions.tabCredits": "Purchase Credits",
"Mobile.MySubscriptions.subAmount": "Sub Amount",
"Mobile.MySubscriptions.usedAmount": "Used",
"Mobile.MySubscriptions.purchaseAmount": "Purchase Amount",
"Mobile.MySubscriptions.remaining": "Remaining",
"Mobile.MySubscriptions.creditUnit": "Credits",
"Mobile.MySubscriptions.expireTime": "Expire Time",
"Mobile.MySubscriptions.subscribing": "Active",
"Mobile.MySubscriptions.expired": "Expired",
"Mobile.MySubscriptions.aboutToUseUp": "Running Low",
"Mobile.MySubscriptions.fullyUsed": "Used Up",
"Mobile.MySubscriptions.normalUsage": "Sufficient",
"Mobile.MySubscriptions.validityForever": "Permanent",
"Mobile.MySubscriptions.boughtOut": "Bought Out",
"Mobile.MySubscriptions.permanentUse": "Permanent",
"Mobile.MySubscriptions.buyoutPriceLabel": "Buyout Price",
"Mobile.MySubscriptions.monthlyPayment": "Monthly",
"Mobile.MySubscriptions.quarterlyPayment": "Quarterly",
"Mobile.MySubscriptions.yearlyPayment": "Yearly",
"Mobile.MySubscriptions.purchaseTitle": "Purchase Credits",
"Mobile.MySubscriptions.purchaseSubtitle": "Select a credit package for instant delivery",
"Mobile.MySubscriptions.orderIdNotFound": "Order ID not found",
"Mobile.MySubscriptions.creditPackageCredit": "Credits",
"Mobile.MySubscriptions.loadFailed": "Load failed",
"Mobile.MySubscriptions.paySuccess": "Payment successful",
"Mobile.MySubscriptions.payFailed": "Payment failed",
"Mobile.MySubscriptions.payPending": "Payment pending",
"Mobile.MySubscriptions.stateActive": "Active",
"Mobile.MySubscriptions.stateExpired": "Expired",
"Mobile.MySubscriptions.stateCancelled": "Cancelled",
"Mobile.Profile.title": "Profile",
"Mobile.Profile.userName": "Username",
"Mobile.Profile.phone": "Phone",
"Mobile.Profile.email": "Email",
"Mobile.Profile.pendingBind": "Pending",
"Mobile.Profile.dynamicCodeExpire": "Dynamic verification code (expires {expire})",
"Mobile.Profile.version": "Version",
"Mobile.Profile.language": "Language",
"Mobile.Profile.languagePlaceholder": "Select language",
"Mobile.Profile.default": "Default",
"Mobile.Profile.selectLanguage": "Select language",
"Mobile.Link.invalidConfig": "Link configuration is invalid",
"Mobile.Link.copyAndOpen": "Link copied. Please paste it manually to open",
"Mobile.Link.openFailed": "Failed to open link",
"Mobile.Link.copied": "Link copied",
"Mobile.Page.loading": "Loading",
"Mobile.Page.inputRequired": "Please enter content",
"Mobile.Page.loadingMore": "Loading...",
"Mobile.AgentList.fetchCategoryFailed": "Failed to load categories",
"Mobile.AgentList.fetchAgentFailed": "Failed to load agent list",
"Mobile.AgentList.unCollectFailed": "Failed to remove favorite",
"Mobile.AgentList.collectFailed": "Failed to add to favorites",
"Mobile.AgentList.confirmDeleteAgent": "Are you sure you want to delete this agent?",
"Mobile.AgentList.deleteFailed": "Delete failed",
"Mobile.AgentList.paymentRequiredTag": "Paid",
"Mobile.AgentList.subscribedTag": "Subscribed",
"Mobile.Conversation.unnamed": "Untitled conversation",
"Mobile.Conversation.unknownAgent": "Unknown agent",
"Mobile.Conversation.executing": "Running",
"Mobile.AgentUnion.searchPlaceholder": "Search Directory",
"Mobile.AgentUnion.fetchHomeAgentListFailed": "Failed to load agents",
"Mobile.TempSession.defaultDesc": "I'm your AI assistant. How can I help you?",
"Mobile.TempSession.inputPlaceholder": "Enter a command",
"Mobile.Auth.resendAfterSeconds": "{seconds}s",
"Mobile.AgentSearch.placeholder": "Search agents",
"Mobile.AgentSearch.pageAppPlaceholder": "Search App",
"Mobile.AgentSearch.emptyResult": "No results",
"Mobile.AgentSearch.fetchAgentFailed": "Failed to load agents",
"Mobile.AgentSearch.fetchRecentUsedFailed": "Failed to load recently used agents",
"Mobile.Chat.noAgentPermission": "You do not have permission to access this agent",
"Mobile.Chat.subscriptionRequiredTip": "Please subscribe or upgrade your plan to use",
"Mobile.Conversation.mySubscription": "My Subscription",
"Mobile.Chat.subscriptionModalTitle": "Subscription Plans",
"Mobile.Common.loading": "Loading...",
"Mobile.Chat.callLimitLabel": "Call Limit",
"Mobile.Chat.unlimited": "Unlimited",
"Mobile.Chat.timesPerMonth": " times/month",
"Mobile.Chat.takePhoto": "Take Photo",
"Mobile.Chat.album": "Album",
"Mobile.Chat.file": "File",
"Mobile.Chat.skill": "Skill",
"Mobile.Chat.aiGeneratedDisclaimer": "AI-generated content, please verify carefully",
"Mobile.Chat.fileLimitReached": "You already have {count} files. Please delete some and reselect",
"Mobile.Chat.fileMaxSelect": "You can select up to {count} files.",
"Mobile.Chat.imageLimitReached": "You already have {count} images. Please delete some and reselect",
"Mobile.Chat.imageMaxSelect": "You can select up to {count} images.",
"Mobile.Chat.fillRequiredParams": "Please fill in required fields",
"Mobile.Chat.removeUploadFailed": "Please remove any images or files that failed to upload before proceeding",
"Mobile.Chat.previewTypeUnsupported": "This file type cannot be previewed",
"Mobile.Chat.chooseImageFailed": "Failed to select image: {reason}",
"Mobile.Chat.uploadImageAlt": "Upload image",
"Mobile.Chat.uploadFileAlt": "Upload file",
"Mobile.Chat.modelSelect": "Model Selection",
"Mobile.Chat.thinking": "Thinking",
"Mobile.Chat.thought": "Thought",
"Mobile.Common.retry": "Retry",
"Mobile.Common.copySuccess": "Copied",
"Mobile.Common.copyFailed": "Copy failed",
"Mobile.Common.from": "From",
"Mobile.Common.loadMore": "Load more",
"Mobile.Common.open": "Open",
"Mobile.Common.pageHome": "Home",
"Mobile.Common.workspace": "Workspace",
"Mobile.Common.pleaseInput": "Please enter",
"Mobile.Common.pleaseSelect": "Please select",
"Mobile.Common.requiredMark": "*",
"Mobile.Common.optionSeparator": "/",
"Mobile.Conversation.newConversation": "New conversation",
"Mobile.Conversation.moreInfo": "More info",
"Mobile.Conversation.favorite": "Favorite",
"Mobile.Conversation.more": "More",
"Mobile.Conversation.share": "Share",
"Mobile.Conversation.allConversations": "All conversations",
"Mobile.Conversation.relatedTitle": "Related conversations",
"Mobile.Conversation.viewAll": "View all",
"Mobile.ThirdParty.UniAiX.invalidMessageContent": "Message content is not a string",
"Mobile.ThirdParty.MpHtml.copyCode": "Copy code",
"Mobile.ThirdParty.MpHtml.saveSuccess": "Saved successfully",
"Mobile.ThirdParty.MpHtml.executionPlan": "Execution plan",
"Mobile.ThirdParty.MpHtml.callArguments": "Call arguments",
"Mobile.ThirdParty.MpHtml.callResult": "Call result",
"Mobile.ThirdParty.MpHtml.emptyResult": "Result is empty",
"Mobile.ThirdParty.MpHtml.toolCall": "Tool Calls",
"Mobile.ThirdParty.MpHtml.itemCount": "items",
"Mobile.ThirdParty.UniCaptcha.defaultTitle": "Enter verification code",
"Mobile.ThirdParty.UniCaptcha.fillCaptcha": "Please enter the verification code",
"Mobile.ThirdParty.UniCaptcha.sceneRequired": "Scene is required",
"Mobile.ThirdParty.XTools.saveSuccess": "Saved successfully",
"Mobile.ThirdParty.XTools.saveFailed": "Save failed",
"Mobile.ThirdParty.XTools.wechatUnsupported": "WeChat operation is not supported in the current environment",
"Mobile.ThirdParty.XTools.getServiceFailed": "Failed to get service. This action is not supported",
"Mobile.Conversation.loadingHistory": "Loading conversation history",
"Mobile.Conversation.settingsTitle": "Conversation Settings",
"Mobile.Conversation.settingsLocked": "Conversation settings cannot be changed after the conversation starts.",
"Mobile.Conversation.startWithAgent": "Start chatting with {name}",
"Mobile.Conversation.chatKeyRequired": "Chat link key cannot be empty",
"Mobile.Conversation.idRequired": "Conversation ID cannot be empty",
"Mobile.Conversation.agentIdMissing": "Agent ID is missing",
"Mobile.Conversation.unfavoriteSuccess": "Unfavorited",
"Mobile.Conversation.favoriteSuccess": "Added to favorites",
"Mobile.FilePreview.getShareKeyFailed": "Failed to get share link",
"Mobile.FilePreview.shareDomainMissing": "Share failed: current domain is unavailable",
"Mobile.FilePreview.shareSuccess": "Shared successfully. Link copied.",
"Mobile.FilePreview.shareFailed": "Share failed",
"Mobile.FilePreview.invalidParams": "Conversation ID or file name cannot be empty",
"Mobile.FilePreview.previewPageLoadFailed": "Preview page failed to load",
"Mobile.FilePreview.documentRenderFailed": "Document render failed",
"Mobile.PagePreview.defaultTitle": "Page preview",
"Mobile.FileTree.noFiles": "No files yet",
"Mobile.FileTree.invalidConversationId": "Conversation ID is invalid. Cannot export.",
"Mobile.FileTree.preparingDownload": "Preparing download...",
"Mobile.FileTree.exportSuccess": "Export successful!",
"Mobile.FileTree.exportUnknownError": "An unknown error occurred during export",
"Mobile.FileTree.exportFailed": "Export failed: {message}",
"Mobile.FileTree.linkFileNotSupported": "This link file cannot be previewed",
"Mobile.FileTree.downloading": "Downloading...",
"Mobile.FileTree.downloadServerError": "Download failed: server returned an error",
"Mobile.FileTree.serverError": "Server error",
"Mobile.FileTree.saveFailed": "Failed to save file",
"Mobile.FileTree.downloadComplete": "Download complete",
"Mobile.FileTree.zipSavedContent": 'ZIP file saved successfully!\n\nFile name: {fileName}\nFile path:\n{filePath}\n\nTip: The file is stored in mini-program storage. You can check it in WeChat settings, or tap "Open" to view it.',
"Mobile.FileTree.openFailed": "Unable to open file. Please view it in WeChat settings",
"Mobile.FileTree.fileValidateFailed": "File validation failed",
"Mobile.FileTree.downloadFailedWithCode": "Download failed: {code}",
"Mobile.FileTree.downloadNetworkFailed": "Download failed. Please check your network.",
"Mobile.AgentDev.downloadFailedWithCode": "Download failed: {code}",
"Mobile.PageCard.noPreviewImage": "No preview image available",
"Mobile.PageCard.createdAt": "Created on {date}",
"Mobile.ButtonWrapper.pagePathParamConfigError": "Invalid page path parameter configuration",
"Mobile.ButtonWrapper.pagePathConfigError": "Invalid page path configuration",
"Mobile.Sandbox.selectorTitle": "Agent computer selection",
"Mobile.Sandbox.unavailable": "Computer unavailable",
"Mobile.Sandbox.noneAvailable": "No available computer",
"Mobile.Sandbox.switchFailed": "Switch failed",
"Mobile.Skill.searchSkillName": "Search skill name",
"Mobile.Skill.empty": "No skills yet",
"Mobile.Skill.recentUsed": "Recently Used",
"Mobile.Skill.myFavorites": "My Favorites",
"Mobile.Voice.holdToTalk": "Hold to talk",
"Mobile.Voice.recognizing": "Recognizing speech...",
"Mobile.Voice.connecting": "Connecting...",
"Mobile.Voice.conversationActiveError": "Conversation is active. Pause the current session first.",
"Mobile.Voice.noSpeechDetected": "No speech detected",
"Mobile.Voice.serviceNotReady": "Audio upload service not initialized",
"Mobile.Voice.permissionRequired": "Recording permission required",
"Mobile.Voice.permissionContent": "Recording needs microphone access. Allow permission in settings.",
"Mobile.Voice.goToSettings": "Go to settings",
"Mobile.Voice.recordFailed": "Recording failed",
"Mobile.Webview.defaultTitle": "Extension Page",
"Mobile.Webview.loadFailed": "Failed to load page",
"Mobile.Webview.aiReading": "AI is reading the webpage...",
"Mobile.Common.invalidInputString": "Input is empty or not a string",
"Mobile.Common.invalidJsonFormat": "Invalid JSON format",
"Mobile.Common.missingPathParam": "Missing path parameter: {key}",
"Mobile.Time.yearsAgo": "{count} years ago",
"Mobile.Time.lastYear": "Last year",
"Mobile.Time.monthsAgo": "{count} months ago",
"Mobile.Time.daysAgo": "{count} days ago",
"Mobile.Time.dayBeforeYesterday": "The day before yesterday",
"Mobile.Time.yesterday": "Yesterday",
"Mobile.Time.hoursAgo": "{count} hours ago",
"Mobile.Time.minutesAgo": "{count} minutes ago",
"Mobile.Time.justNow": "Just now",
"Mobile.Permission.microphoneTitle": "Microphone permission required",
"Mobile.Permission.microphoneDescription": "Recording requires microphone access. Please allow microphone permission in browser settings and try again.",
"Mobile.Permission.cameraTitle": "Camera permission required",
"Mobile.Permission.cameraDescription": "Taking photos requires camera access. Please allow camera permission in browser settings and try again.",
"Mobile.Permission.stepClickLock": "Click the lock icon on the left side of the browser address bar",
"Mobile.Permission.stepAllowMicrophone": 'Find "Microphone" and choose "Allow"',
"Mobile.Permission.stepRefreshRetryRecord": "Refresh the page and try recording again",
"Mobile.Permission.stepAllowCamera": 'Find "Camera" and choose "Allow"',
"Mobile.Permission.stepRefreshRetryPhoto": "Refresh the page and try taking photos again",
"Mobile.Permission.guideContent": "{description}\n\nSteps:\n{steps}",
"Mobile.Permission.gotIt": "Got it",
"Mobile.Stream.timeoutDisconnected": "Request timed out and was disconnected",
"Mobile.Stream.httpErrorWithCode": "Request failed with status code: {code}",
"Mobile.AudioUploader.pathRequired": "Audio file path is required",
"Mobile.AudioUploader.fileEmpty": "Audio file is empty",
"Mobile.AudioUploader.fileTooLarge": "File is too large. Please keep it under 10MB.",
"Mobile.AudioUploader.durationTooLong": "Audio duration is too long. Maximum is 10 minutes.",
"Mobile.AudioUploader.noTextRecognized": "No text recognized",
"Mobile.AudioUploader.responseParseFailed": "Failed to parse response data",
"Mobile.AudioUploader.networkFailed": "Network request failed",
"Mobile.AudioUploader.uploadFailed": "Upload failed",
"Mobile.AudioUploader.requestFailedWithCode": "Request failed with status code: {code}",
"Mobile.AudioUploader.networkTimeout": "Network connection timed out. Please check your network settings",
"Mobile.AudioUploader.networkException": "Network connection error. Please check your network settings.",
"Mobile.AudioUploader.serverError": "Internal server error. Please try again later",
"Mobile.AudioUploader.fileTooLargeDuration": "File is too large. Please shorten the recording duration",
"Mobile.AudioUploader.formatNotSupported": "Audio format is not supported",
"Mobile.AudioUploader.fileReadFailed": "File read failed: {reason}",
"Mobile.Common.restarting": "Restarting...",
"Mobile.Sandbox.restartAgent": "Restart agent",
"Mobile.Sandbox.restartAgentSuccess": "Agent restarted successfully!",
"Mobile.Sandbox.restartAgentFailed": "Failed to restart agent",
"Mobile.Sandbox.restartCloudComp": "Restart agent computer",
"Mobile.Sandbox.restartCloudCompSuccess": "Agent computer restarted successfully!",
"Mobile.Sandbox.restartClient": "Restart client",
"Mobile.Sandbox.restartClientSuccess": "Client restarted successfully!",
"Mobile.Common.operationFailed": "Operation failed",
"Mobile.Components.HistoryConversationList.rename": "Rename",
"Mobile.Components.HistoryConversationList.delete": "Delete",
"Mobile.Components.HistoryConversationList.renameModalTitle": "Rename",
"Mobile.Components.HistoryConversationList.renamePlaceholder": "Please enter a new name",
"Mobile.Components.HistoryConversationList.renameSuccess": "Renamed successfully",
"Mobile.Components.HistoryConversationList.renameTitleEmpty": "Title cannot be empty",
"Mobile.Components.HistoryConversationList.renameTitleTooLong": "Title cannot exceed 50 characters",
"Mobile.Components.HistoryConversationList.deleteModalTitle": "Delete Conversation",
"Mobile.Components.HistoryConversationList.deleteModalContent": "This conversation will be permanently deleted and cannot be recovered. Are you sure you want to delete it?",
"Mobile.Components.HistoryConversationList.deleteSuccess": "Deleted successfully",
"Mobile.CreditRecords.pageTitle": "Credit Details",
"Mobile.CreditRecords.empty": "No credit records",
"Mobile.CreditRecords.remaining": "Remaining",
"Mobile.CreditRecords.badgeIncrease": "+ Increase",
"Mobile.CreditRecords.badgeDecrease": "- Decrease",
"Mobile.CreditRecords.typeSubscription": "Subscription Grant",
"Mobile.CreditRecords.typePurchase": "Purchase",
"Mobile.CreditRecords.typeActivity": "Activity Grant",
"Mobile.CreditRecords.typeManual": "System Grant",
"Mobile.CreditRecords.typeModelCall": "Token Consumption",
"Mobile.CreditRecords.typeAgentCall": "Agent Call",
"Mobile.CreditRecords.typeToolCall": "Tool Call",
"Mobile.CreditRecords.typeManualDeduct": "System Deduct",
};

View File

@@ -0,0 +1,380 @@
export const I18N_ZH_CN: Record<string, string> = {
"Mobile.Nav.home": "首页",
"Mobile.Nav.unionRecord": "智联录",
"Mobile.Nav.agent": "智能体",
"Mobile.Nav.app": "应用",
"Mobile.App.pressAgainToExit": "再按一次退出应用",
"Mobile.Common.loginRegister": "登录 / 注册",
"Mobile.Common.noticeExperience": "当前展示为体验数据,登录后使用完整功能",
"Mobile.Common.recentUsed": "最近使用",
"Mobile.Common.conversationHistory": "会话记录",
"Mobile.Common.menu": "菜单",
"Mobile.Common.tip": "提示",
"Mobile.Common.confirm": "确认",
"Mobile.Common.cancel": "取消",
"Mobile.Common.agree": "同意",
"Mobile.Common.disagree": "不同意",
"Mobile.Common.switching": "切换中...",
"Mobile.Common.switchSuccess": "语言已更新",
"Mobile.Common.switchFailed": "语言切换失败",
"Mobile.Common.noData": "暂无数据",
"Mobile.Common.noMoreData": "没有更多数据了",
"Mobile.Common.all": "全部",
"Mobile.Common.appName": "启明",
"Mobile.Common.coverImageAlt": "封面图",
"Mobile.Common.avatarAlt": "头像",
"Mobile.Common.noDataImageAlt": "暂无数据插图",
"Mobile.Common.agentIconAlt": "智能体图标",
"Mobile.Common.skillIconAlt": "技能图标",
"Mobile.Common.appLogoAlt": "应用 Logo",
"Mobile.Common.deleteIconAlt": "删除",
"Mobile.Auth.agreementPrefix": "已阅读并同意协议:",
"Mobile.Auth.agreementSeparator": "、",
"Mobile.Auth.serviceAgreement": "服务使用协议",
"Mobile.Auth.userAgreementLink": "https://qiming.com/user-agreement.html",
"Mobile.Auth.privacyAgreement": "隐私协议",
"Mobile.Auth.privacyAgreementLink": "https://qiming.com/privacy.html",
"Mobile.Auth.loginSuccess": "登录成功",
"Mobile.Auth.loginFailed": "登录失败",
"Mobile.Auth.passwordLogin": "密码登录",
"Mobile.Auth.codeLoginRegister": "验证码登录/注册",
"Mobile.Auth.nextStep": "下一步",
"Mobile.Auth.login": "登录",
"Mobile.Auth.inputPhone": "请输入手机号",
"Mobile.Auth.defaultAreaCode": "+86",
"Mobile.Auth.inputEmail": "请输入邮箱",
"Mobile.Auth.inputPassword": "请输入密码",
"Mobile.Auth.invalidPhoneFormat": "请输入正确的手机号格式",
"Mobile.Auth.invalidEmailFormat": "请输入正确的邮箱格式",
"Mobile.Auth.codeSentSuccess": "验证码发送成功",
"Mobile.Auth.inputEmailCode": "输入邮箱验证码",
"Mobile.Auth.inputSmsCode": "输入短信验证码",
"Mobile.Auth.codeSentToPrefix": "验证码已发送至",
"Mobile.Auth.codeSentToEmailTarget": "你的邮箱",
"Mobile.Auth.codeSentToPhoneTarget": "手机号",
"Mobile.Auth.inputVerifyCode": "请输入验证码",
"Mobile.Auth.resend": "重新获取",
"Mobile.Auth.resendSuccess": "重新发送成功",
"Mobile.Auth.sending": "正在发送...",
"Mobile.Auth.clipboardReadFailed": "读取剪贴板失败",
"Mobile.Auth.clipboardGetFailed": "获取剪贴板失败",
"Mobile.Auth.codeAutoFilled": "验证码已自动填充",
"Mobile.Auth.pasteSixDigits": "请粘贴6位数字验证码",
"Mobile.Auth.clipboardNotSixDigits": "剪贴板内容不是6位数字验证码",
"Mobile.Auth.clipboardEmpty": "剪贴板为空",
"Mobile.Auth.setPasswordTitle": "密码设置",
"Mobile.Auth.setPasswordDesc": "请至少使用6个字符。请勿使用你登录其他网站的密码或容易被猜到的密码",
"Mobile.Auth.inputPasswordAgain": "请再次输入密码",
"Mobile.Auth.setting": "设置中...",
"Mobile.Common.ok": "确定",
"Mobile.Auth.passwordMinLength": "密码至少需要6个字符",
"Mobile.Auth.confirmPassword": "请确认密码",
"Mobile.Auth.passwordMismatch": "两次输入的密码不一致",
"Mobile.Auth.passwordSetSuccess": "密码设置成功",
"Mobile.Auth.passwordSetFailed": "密码设置失败,请重试",
"Mobile.Common.networkRetry": "网络错误,请重试",
"Mobile.Auth.pleaseAgreeProtocol": "请同意服务协议及隐私保护!",
"Mobile.Auth.userCancelAuthorize": "用户取消授权",
"Mobile.Auth.oneClickLogin": "一键登录",
"Mobile.Auth.phoneLoginRegister": "手机号码登录/注册",
"Mobile.Auth.welcomeUse": "欢迎使用{siteName}",
"Mobile.Header.mySubscriptions": "我的订阅",
"Mobile.Header.profile": "个人资料",
"Mobile.Header.logout": "退出登录",
"Mobile.Header.logoutSuccess": "退出成功",
"Mobile.Header.logoutFailed": "退出失败",
"Mobile.MySubscriptions.title": "我的订阅",
"Mobile.MySubscriptions.notEnabled": "订阅功能暂未开启",
"Mobile.MySubscriptions.empty": "暂无订阅内容",
"Mobile.MySubscriptions.totalCredits": "总积分",
"Mobile.MySubscriptions.subscriptionCredits": "订阅积分",
"Mobile.MySubscriptions.purchaseCredits": "增购积分",
"Mobile.MySubscriptions.activityCredits": "活动积分",
"Mobile.MySubscriptions.addPurchase": "+ 增购",
"Mobile.MySubscriptions.detail": "明细",
"Mobile.MySubscriptions.planGrid": "订阅套餐",
"Mobile.MySubscriptions.currentPlan": "使用中",
"Mobile.MySubscriptions.statusActive": "使用中",
"Mobile.MySubscriptions.statusHot": "热门",
"Mobile.MySubscriptions.feeMonth": "月费",
"Mobile.MySubscriptions.feeQuarter": "季费",
"Mobile.MySubscriptions.feeYear": "年费",
"Mobile.MySubscriptions.perMonth": "/月",
"Mobile.MySubscriptions.perQuarter": "/季",
"Mobile.MySubscriptions.perYear": "/年",
"Mobile.MySubscriptions.perForever": "/永久有效",
"Mobile.MySubscriptions.renewNow": "续订",
"Mobile.MySubscriptions.upgradeNow": "升级",
"Mobile.MySubscriptions.subscribeNow": "订阅",
"Mobile.MySubscriptions.currentPlanButton": "当前套餐",
"Mobile.MySubscriptions.continuousMonthly": "连续包月",
"Mobile.MySubscriptions.continuousQuarterly": "连续包季",
"Mobile.MySubscriptions.continuousYearly": "连续包年",
"Mobile.MySubscriptions.nextRenewal": "下次续费:{time}",
"Mobile.MySubscriptions.subscribedContent": "已订阅内容",
"Mobile.MySubscriptions.tabAgents": "智能体",
"Mobile.MySubscriptions.tabSkills": "技能",
"Mobile.MySubscriptions.tabCredits": "增购积分",
"Mobile.MySubscriptions.subAmount": "订阅金额",
"Mobile.MySubscriptions.usedAmount": "已消耗",
"Mobile.MySubscriptions.purchaseAmount": "增购金额",
"Mobile.MySubscriptions.remaining": "剩余",
"Mobile.MySubscriptions.creditUnit": "积分",
"Mobile.MySubscriptions.expireTime": "到期时间",
"Mobile.MySubscriptions.subscribing": "订阅中",
"Mobile.MySubscriptions.expired": "已到期",
"Mobile.MySubscriptions.aboutToUseUp": "即将用完",
"Mobile.MySubscriptions.fullyUsed": "已用完",
"Mobile.MySubscriptions.normalUsage": "充足",
"Mobile.MySubscriptions.validityForever": "永久有效",
"Mobile.MySubscriptions.boughtOut": "已买断",
"Mobile.MySubscriptions.permanentUse": "永久使用",
"Mobile.MySubscriptions.buyoutPriceLabel": "买断价",
"Mobile.MySubscriptions.monthlyPayment": "月付",
"Mobile.MySubscriptions.quarterlyPayment": "季付",
"Mobile.MySubscriptions.yearlyPayment": "年付",
"Mobile.MySubscriptions.purchaseTitle": "增购积分",
"Mobile.MySubscriptions.purchaseSubtitle": "选择积分套餐,即刻到账",
"Mobile.MySubscriptions.orderIdNotFound": "未获取到订单号",
"Mobile.MySubscriptions.creditPackageCredit": "积分",
"Mobile.MySubscriptions.loadFailed": "加载失败",
"Mobile.MySubscriptions.paySuccess": "支付成功",
"Mobile.MySubscriptions.payFailed": "支付失败",
"Mobile.MySubscriptions.payPending": "支付处理中",
"Mobile.MySubscriptions.stateActive": "使用中",
"Mobile.MySubscriptions.stateExpired": "已过期",
"Mobile.MySubscriptions.stateCancelled": "已取消",
"Mobile.Profile.title": "个人资料",
"Mobile.Profile.userName": "用户名",
"Mobile.Profile.phone": "手机号",
"Mobile.Profile.email": "邮箱",
"Mobile.Profile.pendingBind": "待绑定",
"Mobile.Profile.dynamicCodeExpire": "动态认证码({expire} 过期)",
"Mobile.Profile.version": "版本",
"Mobile.Profile.language": "语言",
"Mobile.Profile.languagePlaceholder": "请选择语言",
"Mobile.Profile.default": "默认",
"Mobile.Profile.selectLanguage": "选择语言",
"Mobile.Link.invalidConfig": "链接地址配置错误",
"Mobile.Link.copyAndOpen": "链接已复制,请手动粘贴打开",
"Mobile.Link.openFailed": "打开链接失败",
"Mobile.Link.copied": "链接已复制",
"Mobile.Page.loading": "加载中",
"Mobile.Page.inputRequired": "请输入内容",
"Mobile.Page.loadingMore": "加载中...",
"Mobile.AgentList.fetchCategoryFailed": "获取分类信息失败",
"Mobile.AgentList.fetchAgentFailed": "获取智能体列表失败",
"Mobile.AgentList.unCollectFailed": "取消收藏失败",
"Mobile.AgentList.collectFailed": "添加收藏失败",
"Mobile.AgentList.confirmDeleteAgent": "你确认要删除该智能体吗?",
"Mobile.AgentList.deleteFailed": "删除失败",
"Mobile.AgentList.paymentRequiredTag": "付费",
"Mobile.AgentList.subscribedTag": "已订阅",
"Mobile.Conversation.unnamed": "未命名会话",
"Mobile.Conversation.unknownAgent": "未知智能体",
"Mobile.Conversation.executing": "执行中",
"Mobile.AgentUnion.searchPlaceholder": "搜索智联录",
"Mobile.AgentUnion.fetchHomeAgentListFailed": "获取主页智能体列表失败",
"Mobile.TempSession.defaultDesc": "我是你的智能助手,有什么需要帮忙的吗?",
"Mobile.TempSession.inputPlaceholder": "请输入指令",
"Mobile.Auth.resendAfterSeconds": "{seconds}s后",
"Mobile.AgentSearch.placeholder": "搜索智能体",
"Mobile.AgentSearch.pageAppPlaceholder": "搜索应用",
"Mobile.AgentSearch.emptyResult": "暂无结果",
"Mobile.AgentSearch.fetchAgentFailed": "获取智能体列表失败",
"Mobile.AgentSearch.fetchRecentUsedFailed": "获取最近使用智能体列表失败",
"Mobile.Chat.noAgentPermission": "您无该智能体权限",
"Mobile.Chat.subscriptionRequiredTip": "请订阅或升级套餐后使用",
"Mobile.Conversation.mySubscription": "我的订阅",
"Mobile.Chat.subscriptionModalTitle": "订阅计划",
"Mobile.Common.loading": "加载中...",
"Mobile.Chat.callLimitLabel": "调用额度",
"Mobile.Chat.unlimited": "不限次",
"Mobile.Chat.timesPerMonth": "次/月",
"Mobile.Chat.takePhoto": "拍照",
"Mobile.Chat.album": "相册",
"Mobile.Chat.file": "文件",
"Mobile.Chat.skill": "技能",
"Mobile.Chat.aiGeneratedDisclaimer": "内容由AI生成请仔细甄别",
"Mobile.Chat.fileLimitReached": "已经有 {count} 个文件了,请删除部分文件之后重新选择",
"Mobile.Chat.fileMaxSelect": "最多只能选择 {count} 个文件",
"Mobile.Chat.imageLimitReached": "已经有 {count} 张图片了,请删除部分图片之后重新选择",
"Mobile.Chat.imageMaxSelect": "最多只能选择 {count} 张图片",
"Mobile.Chat.fillRequiredParams": "请填写必填参数",
"Mobile.Chat.removeUploadFailed": "请先删除上传失败的图片或文件",
"Mobile.Chat.previewTypeUnsupported": "当前不支持预览该类型文件",
"Mobile.Chat.chooseImageFailed": "选择图片失败: {reason}",
"Mobile.Chat.uploadImageAlt": "上传图片",
"Mobile.Chat.uploadFileAlt": "上传文件",
"Mobile.Chat.modelSelect": "模型选择",
"Mobile.Chat.thinking": "正在思考",
"Mobile.Chat.thought": "已思考",
"Mobile.Common.retry": "重试",
"Mobile.Common.copySuccess": "复制成功",
"Mobile.Common.copyFailed": "复制失败",
"Mobile.Common.from": "来自",
"Mobile.Common.loadMore": "加载更多",
"Mobile.Common.open": "打开",
"Mobile.Common.pageHome": "页面首页",
"Mobile.Common.workspace": "工作台",
"Mobile.Common.pleaseInput": "请输入",
"Mobile.Common.pleaseSelect": "请选择",
"Mobile.Common.requiredMark": "*",
"Mobile.Common.optionSeparator": "/",
"Mobile.Conversation.newConversation": "新建会话",
"Mobile.Conversation.moreInfo": "更多信息",
"Mobile.Conversation.favorite": "收藏",
"Mobile.Conversation.more": "更多",
"Mobile.Conversation.share": "分享",
"Mobile.Conversation.allConversations": "全部会话",
"Mobile.Conversation.relatedTitle": "相关会话",
"Mobile.Conversation.viewAll": "查看全部",
"Mobile.ThirdParty.UniAiX.invalidMessageContent": "消息内容不是字符串",
"Mobile.ThirdParty.MpHtml.copyCode": "复制代码",
"Mobile.ThirdParty.MpHtml.saveSuccess": "保存成功",
"Mobile.ThirdParty.MpHtml.executionPlan": "执行计划",
"Mobile.ThirdParty.MpHtml.callArguments": "调用参数",
"Mobile.ThirdParty.MpHtml.callResult": "调用结果",
"Mobile.ThirdParty.MpHtml.emptyResult": "结果为空",
"Mobile.ThirdParty.MpHtml.toolCall": "工具调用",
"Mobile.ThirdParty.MpHtml.itemCount": "项",
"Mobile.ThirdParty.UniCaptcha.defaultTitle": "请输入验证码",
"Mobile.ThirdParty.UniCaptcha.fillCaptcha": "请填写验证码",
"Mobile.ThirdParty.UniCaptcha.sceneRequired": "scene不能为空",
"Mobile.ThirdParty.XTools.saveSuccess": "保存成功",
"Mobile.ThirdParty.XTools.saveFailed": "保存失败",
"Mobile.ThirdParty.XTools.wechatUnsupported": "当前环境不支持微信操作",
"Mobile.ThirdParty.XTools.getServiceFailed": "获取服务失败,不支持该操作",
"Mobile.Conversation.loadingHistory": "正在加载历史会话",
"Mobile.Conversation.settingsTitle": "对话设置",
"Mobile.Conversation.settingsLocked": "对话开始后,对话设置将无法修改。",
"Mobile.Conversation.startWithAgent": "和{name}开始会话",
"Mobile.Conversation.chatKeyRequired": "会话链接Key不能为空",
"Mobile.Conversation.idRequired": "会话ID不能为空",
"Mobile.Conversation.agentIdMissing": "智能体ID不存在",
"Mobile.Conversation.unfavoriteSuccess": "已取消收藏",
"Mobile.Conversation.favoriteSuccess": "已添加到收藏",
"Mobile.FilePreview.getShareKeyFailed": "获取分享链接失败",
"Mobile.FilePreview.shareDomainMissing": "分享失败,无法获取当前域名",
"Mobile.FilePreview.shareSuccess": "分享成功,链接已复制",
"Mobile.FilePreview.shareFailed": "分享失败",
"Mobile.FilePreview.invalidParams": "会话ID或文件名不能为空",
"Mobile.FilePreview.previewPageLoadFailed": "预览页面加载失败",
"Mobile.FilePreview.documentRenderFailed": "文档渲染失败",
"Mobile.PagePreview.defaultTitle": "页面预览",
"Mobile.FileTree.noFiles": "暂无文件",
"Mobile.FileTree.invalidConversationId": "会话ID不存在或无效无法导出",
"Mobile.FileTree.preparingDownload": "准备下载...",
"Mobile.FileTree.exportSuccess": "导出成功!",
"Mobile.FileTree.exportUnknownError": "导出过程中发生未知错误",
"Mobile.FileTree.exportFailed": "导出失败: {message}",
"Mobile.FileTree.linkFileNotSupported": "该文件为链接文件,不支持预览",
"Mobile.FileTree.downloading": "下载中...",
"Mobile.FileTree.downloadServerError": "下载失败:服务器返回错误",
"Mobile.FileTree.serverError": "服务器返回错误",
"Mobile.FileTree.saveFailed": "保存文件失败",
"Mobile.FileTree.downloadComplete": "下载完成",
"Mobile.FileTree.zipSavedContent": 'ZIP文件已保存成功\n\n文件名{fileName}\n文件路径\n{filePath}\n\n提示文件保存在小程序文件目录中可通过微信设置中的小程序存储空间查看或点击"打开"直接查看文件。',
"Mobile.FileTree.openFailed": "无法打开文件,请通过微信设置查看",
"Mobile.FileTree.fileValidateFailed": "文件验证失败",
"Mobile.FileTree.downloadFailedWithCode": "下载失败: {code}",
"Mobile.FileTree.downloadNetworkFailed": "下载失败,请检查网络",
"Mobile.AgentDev.downloadFailedWithCode": "下载失败: {code}",
"Mobile.PageCard.noPreviewImage": "无可用预览图",
"Mobile.PageCard.createdAt": "创建于 {date}",
"Mobile.ButtonWrapper.pagePathParamConfigError": "页面路径参数配置错误",
"Mobile.ButtonWrapper.pagePathConfigError": "页面路径配置错误",
"Mobile.Sandbox.selectorTitle": "智能体电脑选择",
"Mobile.Sandbox.unavailable": "电脑不可用",
"Mobile.Sandbox.noneAvailable": "无可用电脑",
"Mobile.Sandbox.switchFailed": "切换失败",
"Mobile.Skill.searchSkillName": "搜索技能名称",
"Mobile.Skill.empty": "暂无技能",
"Mobile.Skill.recentUsed": "最近使用",
"Mobile.Skill.myFavorites": "我的收藏",
"Mobile.Voice.holdToTalk": "按住说话",
"Mobile.Voice.recognizing": "语音识别中",
"Mobile.Voice.connecting": "正在连接",
"Mobile.Voice.conversationActiveError": "会话正在进行中,请先暂停现有会话",
"Mobile.Voice.noSpeechDetected": "未识别到文字",
"Mobile.Voice.serviceNotReady": "音频上传服务未初始化",
"Mobile.Voice.permissionRequired": "需要录音权限",
"Mobile.Voice.permissionContent": "录音功能需要访问你的麦克风,请在设置中允许录音权限",
"Mobile.Voice.goToSettings": "去设置",
"Mobile.Voice.recordFailed": "录音失败",
"Mobile.Webview.defaultTitle": "扩展页面",
"Mobile.Webview.loadFailed": "页面加载失败",
"Mobile.Webview.aiReading": "AI读取网页内容中...",
"Mobile.Common.invalidInputString": "输入为空或不是字符串",
"Mobile.Common.invalidJsonFormat": "JSON格式错误",
"Mobile.Common.missingPathParam": "缺少路径参数: {key}",
"Mobile.Time.yearsAgo": "{count}年前",
"Mobile.Time.lastYear": "去年",
"Mobile.Time.monthsAgo": "{count}月前",
"Mobile.Time.daysAgo": "{count}天前",
"Mobile.Time.dayBeforeYesterday": "前天",
"Mobile.Time.yesterday": "昨天",
"Mobile.Time.hoursAgo": "{count}小时前",
"Mobile.Time.minutesAgo": "{count}分钟前",
"Mobile.Time.justNow": "刚刚",
"Mobile.Permission.microphoneTitle": "需要麦克风权限",
"Mobile.Permission.microphoneDescription": "录音功能需要访问你的麦克风。请在浏览器设置中允许麦克风权限,然后重新尝试。",
"Mobile.Permission.cameraTitle": "需要摄像头权限",
"Mobile.Permission.cameraDescription": "拍照功能需要访问你的摄像头。请在浏览器设置中允许摄像头权限,然后重新尝试。",
"Mobile.Permission.stepClickLock": "点击浏览器地址栏左侧的锁定图标",
"Mobile.Permission.stepAllowMicrophone": '找到"麦克风"选项,选择"允许"',
"Mobile.Permission.stepRefreshRetryRecord": "刷新页面后重新尝试录音",
"Mobile.Permission.stepAllowCamera": '找到"摄像头"选项,选择"允许"',
"Mobile.Permission.stepRefreshRetryPhoto": "刷新页面后重新尝试拍照",
"Mobile.Permission.guideContent": "{description}\n\n操作步骤\n{steps}",
"Mobile.Permission.gotIt": "知道了",
"Mobile.Stream.timeoutDisconnected": "请求超时,已自动断开",
"Mobile.Stream.httpErrorWithCode": "请求失败,状态码: {code}",
"Mobile.AudioUploader.pathRequired": "音频文件路径不能为空",
"Mobile.AudioUploader.fileEmpty": "音频文件为空",
"Mobile.AudioUploader.fileTooLarge": "音频文件过大请控制在10MB以内",
"Mobile.AudioUploader.durationTooLong": "录音时长过长最多支持10分钟",
"Mobile.AudioUploader.noTextRecognized": "未识别到文字",
"Mobile.AudioUploader.responseParseFailed": "响应数据解析失败",
"Mobile.AudioUploader.networkFailed": "网络请求失败",
"Mobile.AudioUploader.uploadFailed": "上传失败",
"Mobile.AudioUploader.requestFailedWithCode": "请求失败,状态码: {code}",
"Mobile.AudioUploader.networkTimeout": "网络连接超时,请检查网络设置",
"Mobile.AudioUploader.networkException": "网络连接异常,请检查网络设置",
"Mobile.AudioUploader.serverError": "服务器内部错误,请稍后重试",
"Mobile.AudioUploader.fileTooLargeDuration": "文件过大,请控制录音时长",
"Mobile.AudioUploader.formatNotSupported": "音频格式不支持",
"Mobile.AudioUploader.fileReadFailed": "文件读取失败: {reason}",
"Mobile.Common.restarting": "重启中...",
"Mobile.Sandbox.restartAgent": "重启智能体",
"Mobile.Sandbox.restartAgentSuccess": "重启智能体成功!",
"Mobile.Sandbox.restartAgentFailed": "重启智能体失败",
"Mobile.Sandbox.restartCloudComp": "重启智能体电脑",
"Mobile.Sandbox.restartCloudCompSuccess": "重启智能体电脑成功!",
"Mobile.Sandbox.restartClient": "重启客户端",
"Mobile.Sandbox.restartClientSuccess": "重启客户端成功!",
"Mobile.Common.operationFailed": "操作失败",
"Mobile.Components.HistoryConversationList.rename": "重命名",
"Mobile.Components.HistoryConversationList.delete": "删除",
"Mobile.Components.HistoryConversationList.renameModalTitle": "修改名称",
"Mobile.Components.HistoryConversationList.renamePlaceholder": "请输入新名称",
"Mobile.Components.HistoryConversationList.renameSuccess": "修改成功",
"Mobile.Components.HistoryConversationList.renameTitleEmpty": "标题不能为空",
"Mobile.Components.HistoryConversationList.renameTitleTooLong": "标题长度不能超过 50 个字符",
"Mobile.Components.HistoryConversationList.deleteModalTitle": "永久删除会话",
"Mobile.Components.HistoryConversationList.deleteModalContent": "本条会话数据将被永久删除,不可恢复及撤销。确定要删除吗?",
"Mobile.Components.HistoryConversationList.deleteSuccess": "删除成功",
"Mobile.CreditRecords.pageTitle": "积分明细",
"Mobile.CreditRecords.empty": "暂无积分记录",
"Mobile.CreditRecords.remaining": "剩余",
"Mobile.CreditRecords.badgeIncrease": "+ 增加",
"Mobile.CreditRecords.badgeDecrease": "- 扣减",
"Mobile.CreditRecords.typeSubscription": "订阅发放",
"Mobile.CreditRecords.typePurchase": "增购",
"Mobile.CreditRecords.typeActivity": "活动发放",
"Mobile.CreditRecords.typeManual": "系统发放",
"Mobile.CreditRecords.typeModelCall": "TOKEN消耗",
"Mobile.CreditRecords.typeAgentCall": "智能体调用",
"Mobile.CreditRecords.typeToolCall": "工具调用",
"Mobile.CreditRecords.typeManualDeduct": "系统扣减",
};

View File

@@ -0,0 +1,373 @@
export const I18N_ZH_HK: Record<string, string> = {
"Mobile.Nav.home": "首頁",
"Mobile.Nav.unionRecord": "智聯錄",
"Mobile.Nav.agent": "智能體",
"Mobile.Nav.app": "應用程式",
"Mobile.App.pressAgainToExit": "再按一次退出應用程式",
"Mobile.Common.loginRegister": "登入 / 註冊",
"Mobile.Common.noticeExperience": "目前顯示為體驗資料,登入後可使用完整功能",
"Mobile.Common.recentUsed": "最近使用",
"Mobile.Common.conversationHistory": "對話記錄",
"Mobile.Common.menu": "選單",
"Mobile.Common.tip": "提示",
"Mobile.Common.confirm": "確認",
"Mobile.Common.cancel": "取消",
"Mobile.Common.agree": "同意",
"Mobile.Common.disagree": "不同意",
"Mobile.Common.switching": "切換中...",
"Mobile.Common.switchSuccess": "語言已更新",
"Mobile.Common.switchFailed": "語言切換失敗",
"Mobile.Common.noData": "暫無資料",
"Mobile.Common.noMoreData": "沒有更多資料了",
"Mobile.Common.all": "全部",
"Mobile.Common.appName": "啟明",
"Mobile.Common.coverImageAlt": "封面圖",
"Mobile.Common.avatarAlt": "頭像",
"Mobile.Common.noDataImageAlt": "暫無資料插圖",
"Mobile.Common.agentIconAlt": "智能體圖示",
"Mobile.Common.skillIconAlt": "技能圖示",
"Mobile.Common.appLogoAlt": "應用程式 Logo",
"Mobile.Common.deleteIconAlt": "刪除",
"Mobile.Auth.agreementPrefix": "已閱讀並同意協議:",
"Mobile.Auth.agreementSeparator": "、",
"Mobile.Auth.serviceAgreement": "服務使用協議",
"Mobile.Auth.userAgreementLink": "https://qiming.com/user-agreement.html",
"Mobile.Auth.privacyAgreement": "隱私協議",
"Mobile.Auth.privacyAgreementLink": "https://qiming.com/privacy.html",
"Mobile.Auth.loginSuccess": "登入成功",
"Mobile.Auth.loginFailed": "登入失敗",
"Mobile.Auth.passwordLogin": "密碼登入",
"Mobile.Auth.codeLoginRegister": "驗證碼登入/註冊",
"Mobile.Auth.nextStep": "下一步",
"Mobile.Auth.login": "登入",
"Mobile.Auth.inputPhone": "請輸入手機號碼",
"Mobile.Auth.defaultAreaCode": "+86",
"Mobile.Auth.inputEmail": "請輸入電郵",
"Mobile.Auth.inputPassword": "請輸入密碼",
"Mobile.Auth.invalidPhoneFormat": "請輸入正確的手機號碼格式",
"Mobile.Auth.invalidEmailFormat": "請輸入正確的電郵格式",
"Mobile.Auth.codeSentSuccess": "驗證碼發送成功",
"Mobile.Auth.inputEmailCode": "輸入電郵驗證碼",
"Mobile.Auth.inputSmsCode": "輸入短訊驗證碼",
"Mobile.Auth.codeSentToPrefix": "驗證碼已發送至",
"Mobile.Auth.codeSentToEmailTarget": "你的電郵",
"Mobile.Auth.codeSentToPhoneTarget": "手機號碼",
"Mobile.Auth.inputVerifyCode": "請輸入驗證碼",
"Mobile.Auth.resend": "重新獲取",
"Mobile.Auth.resendSuccess": "重新發送成功",
"Mobile.Auth.sending": "正在發送...",
"Mobile.Auth.clipboardReadFailed": "讀取剪貼簿失敗",
"Mobile.Auth.clipboardGetFailed": "取得剪貼簿失敗",
"Mobile.Auth.codeAutoFilled": "驗證碼已自動填充",
"Mobile.Auth.pasteSixDigits": "請貼上 6 位數字驗證碼",
"Mobile.Auth.clipboardNotSixDigits": "剪貼簿內容不是 6 位數字驗證碼",
"Mobile.Auth.clipboardEmpty": "剪貼簿為空",
"Mobile.Auth.setPasswordTitle": "密碼設定",
"Mobile.Auth.setPasswordDesc": "請至少使用 6 個字元。請勿使用你登入其他網站的密碼或容易被猜到的密碼",
"Mobile.Auth.inputPasswordAgain": "請再次輸入密碼",
"Mobile.Auth.setting": "設定中...",
"Mobile.Common.ok": "確定",
"Mobile.Auth.passwordMinLength": "密碼至少需要 6 個字元",
"Mobile.Auth.confirmPassword": "請確認密碼",
"Mobile.Auth.passwordMismatch": "兩次輸入的密碼不一致",
"Mobile.Auth.passwordSetSuccess": "密碼設定成功",
"Mobile.Auth.passwordSetFailed": "密碼設定失敗,請重試",
"Mobile.Common.networkRetry": "網絡錯誤,請重試",
"Mobile.Auth.pleaseAgreeProtocol": "請同意服務協議及私隱保護!",
"Mobile.Auth.userCancelAuthorize": "用戶取消授權",
"Mobile.Auth.oneClickLogin": "一鍵登入",
"Mobile.Auth.phoneLoginRegister": "手機號碼登入/註冊",
"Mobile.Auth.welcomeUse": "歡迎使用{siteName}",
"Mobile.Header.mySubscriptions": "我的訂閱",
"Mobile.Header.profile": "個人資料",
"Mobile.Header.logout": "登出",
"Mobile.Header.logoutSuccess": "退出成功",
"Mobile.Header.logoutFailed": "退出失敗",
"Mobile.MySubscriptions.title": "我的訂閱",
"Mobile.MySubscriptions.notEnabled": "訂閱功能暫未開啟",
"Mobile.MySubscriptions.empty": "暫無訂閱內容",
"Mobile.MySubscriptions.totalCredits": "總積分",
"Mobile.MySubscriptions.subscriptionCredits": "訂閱積分",
"Mobile.MySubscriptions.purchaseCredits": "增購積分",
"Mobile.MySubscriptions.activityCredits": "活動積分",
"Mobile.MySubscriptions.addPurchase": "+ 增購",
"Mobile.MySubscriptions.detail": "明細",
"Mobile.MySubscriptions.planGrid": "訂閱套餐",
"Mobile.MySubscriptions.currentPlan": "當前訂閱",
"Mobile.MySubscriptions.statusActive": "使用中",
"Mobile.MySubscriptions.statusHot": "熱門",
"Mobile.MySubscriptions.feeMonth": "月費",
"Mobile.MySubscriptions.feeQuarter": "季費",
"Mobile.MySubscriptions.feeYear": "年費",
"Mobile.MySubscriptions.perMonth": "/月",
"Mobile.MySubscriptions.perQuarter": "/季",
"Mobile.MySubscriptions.perYear": "/年",
"Mobile.MySubscriptions.perForever": "/永久有效",
"Mobile.MySubscriptions.renewNow": "續訂",
"Mobile.MySubscriptions.upgradeNow": "升級",
"Mobile.MySubscriptions.subscribeNow": "訂閱",
"Mobile.MySubscriptions.nextRenewal": "下次續費:{time}",
"Mobile.MySubscriptions.subscribedContent": "已訂閱內容",
"Mobile.MySubscriptions.tabAgents": "智能體",
"Mobile.MySubscriptions.tabSkills": "技能",
"Mobile.MySubscriptions.tabCredits": "增購積分",
"Mobile.MySubscriptions.subAmount": "訂閱金額",
"Mobile.MySubscriptions.usedAmount": "已消耗",
"Mobile.MySubscriptions.purchaseAmount": "增購金額",
"Mobile.MySubscriptions.remaining": "剩餘",
"Mobile.MySubscriptions.creditUnit": "積分",
"Mobile.MySubscriptions.expireTime": "到期時間",
"Mobile.MySubscriptions.subscribing": "訂閱中",
"Mobile.MySubscriptions.expired": "已到期",
"Mobile.MySubscriptions.aboutToUseUp": "即將用完",
"Mobile.MySubscriptions.fullyUsed": "已用完",
"Mobile.MySubscriptions.normalUsage": "充足",
"Mobile.MySubscriptions.validityForever": "永久有效",
"Mobile.MySubscriptions.boughtOut": "已買斷",
"Mobile.MySubscriptions.permanentUse": "永久使用",
"Mobile.MySubscriptions.buyoutPriceLabel": "買斷價",
"Mobile.MySubscriptions.monthlyPayment": "月付",
"Mobile.MySubscriptions.quarterlyPayment": "季付",
"Mobile.MySubscriptions.yearlyPayment": "年付",
"Mobile.MySubscriptions.purchaseTitle": "增購積分",
"Mobile.MySubscriptions.purchaseSubtitle": "選擇積分套餐,即刻到帳",
"Mobile.MySubscriptions.orderIdNotFound": "未獲取到訂單號",
"Mobile.MySubscriptions.creditPackageCredit": "積分",
"Mobile.MySubscriptions.loadFailed": "載入失敗",
"Mobile.MySubscriptions.stateActive": "使用中",
"Mobile.MySubscriptions.stateExpired": "已過期",
"Mobile.MySubscriptions.stateCancelled": "已取消",
"Mobile.Profile.title": "個人資料",
"Mobile.Profile.userName": "用戶名稱",
"Mobile.Profile.phone": "手機號碼",
"Mobile.Profile.email": "電郵",
"Mobile.Profile.pendingBind": "待綁定",
"Mobile.Profile.dynamicCodeExpire": "動態認證碼({expire} 到期)",
"Mobile.Profile.version": "版本",
"Mobile.Profile.language": "語言",
"Mobile.Profile.languagePlaceholder": "請選擇語言",
"Mobile.Profile.default": "默認",
"Mobile.Profile.selectLanguage": "選擇語言",
"Mobile.Link.invalidConfig": "連結地址配置錯誤",
"Mobile.Link.copyAndOpen": "連結已複製,請手動貼上開啟",
"Mobile.Link.openFailed": "開啟連結失敗",
"Mobile.Link.copied": "連結已複製",
"Mobile.Page.loading": "載入中",
"Mobile.Page.inputRequired": "請輸入內容",
"Mobile.Page.loadingMore": "載入中...",
"Mobile.AgentList.fetchCategoryFailed": "取得分類資料失敗",
"Mobile.AgentList.fetchAgentFailed": "取得智能體列表失敗",
"Mobile.AgentList.unCollectFailed": "取消收藏失敗",
"Mobile.AgentList.collectFailed": "加入收藏失敗",
"Mobile.AgentList.confirmDeleteAgent": "你確認要刪除該智能體嗎?",
"Mobile.AgentList.deleteFailed": "刪除失敗",
"Mobile.AgentList.paymentRequiredTag": "付費",
"Mobile.AgentList.subscribedTag": "已訂閱",
"Mobile.Conversation.unnamed": "未命名對話",
"Mobile.Conversation.unknownAgent": "未知智能體",
"Mobile.Conversation.executing": "執行中",
"Mobile.AgentUnion.searchPlaceholder": "搜尋智聯錄",
"Mobile.AgentUnion.fetchHomeAgentListFailed": "取得主頁智能體列表失敗",
"Mobile.TempSession.defaultDesc": "我是你的智能助手,有什麼需要幫忙嗎?",
"Mobile.TempSession.inputPlaceholder": "請輸入指令",
"Mobile.Auth.resendAfterSeconds": "{seconds}s後",
"Mobile.AgentSearch.placeholder": "搜尋智能體",
"Mobile.AgentSearch.pageAppPlaceholder": "搜尋應用程式",
"Mobile.AgentSearch.emptyResult": "暫無結果",
"Mobile.AgentSearch.fetchAgentFailed": "取得智能體列表失敗",
"Mobile.AgentSearch.fetchRecentUsedFailed": "取得最近使用智能體列表失敗",
"Mobile.Chat.noAgentPermission": "您沒有該智能體權限",
"Mobile.Chat.subscriptionRequiredTip": "請訂閱或升級套餐後使用",
"Mobile.Conversation.mySubscription": "我的訂閱",
"Mobile.Chat.subscriptionModalTitle": "訂閱計劃",
"Mobile.Common.loading": "載入中...",
"Mobile.Chat.callLimitLabel": "調用額度",
"Mobile.Chat.unlimited": "不限次",
"Mobile.Chat.timesPerMonth": "次/月",
"Mobile.Chat.takePhoto": "拍照",
"Mobile.Chat.album": "相簿",
"Mobile.Chat.file": "檔案",
"Mobile.Chat.skill": "技能",
"Mobile.Chat.aiGeneratedDisclaimer": "內容由 AI 生成,請仔細辨別",
"Mobile.Chat.fileLimitReached": "已經有 {count} 個檔案了,請刪除部分檔案後重新選擇",
"Mobile.Chat.fileMaxSelect": "最多只能選擇 {count} 個檔案",
"Mobile.Chat.imageLimitReached": "已經有 {count} 張圖片了,請刪除部分圖片後重新選擇",
"Mobile.Chat.imageMaxSelect": "最多只能選擇 {count} 張圖片",
"Mobile.Chat.fillRequiredParams": "請填寫必填參數",
"Mobile.Chat.removeUploadFailed": "請先刪除上傳失敗的圖片或檔案",
"Mobile.Chat.previewTypeUnsupported": "目前不支援預覽此類型檔案",
"Mobile.Chat.chooseImageFailed": "選擇圖片失敗: {reason}",
"Mobile.Chat.uploadImageAlt": "上傳圖片",
"Mobile.Chat.uploadFileAlt": "上傳檔案",
"Mobile.Chat.modelSelect": "模型選擇",
"Mobile.Chat.thinking": "正在思考",
"Mobile.Chat.thought": "已思考",
"Mobile.Common.retry": "重試",
"Mobile.Common.copySuccess": "複製成功",
"Mobile.Common.copyFailed": "複製失敗",
"Mobile.Common.from": "來自",
"Mobile.Common.loadMore": "載入更多",
"Mobile.Common.open": "開啟",
"Mobile.Common.pageHome": "頁面首頁",
"Mobile.Common.workspace": "工作台",
"Mobile.Common.pleaseInput": "請輸入",
"Mobile.Common.pleaseSelect": "請選擇",
"Mobile.Common.requiredMark": "*",
"Mobile.Common.optionSeparator": "/",
"Mobile.Conversation.newConversation": "新建對話",
"Mobile.Conversation.moreInfo": "更多資訊",
"Mobile.Conversation.favorite": "收藏",
"Mobile.Conversation.more": "更多",
"Mobile.Conversation.share": "分享",
"Mobile.Conversation.allConversations": "全部對話",
"Mobile.Conversation.relatedTitle": "相關對話",
"Mobile.Conversation.viewAll": "查看全部",
"Mobile.ThirdParty.UniAiX.invalidMessageContent": "訊息內容不是字串",
"Mobile.ThirdParty.MpHtml.copyCode": "複製程式碼",
"Mobile.ThirdParty.MpHtml.saveSuccess": "儲存成功",
"Mobile.ThirdParty.MpHtml.executionPlan": "執行計劃",
"Mobile.ThirdParty.MpHtml.callArguments": "調用參數",
"Mobile.ThirdParty.MpHtml.callResult": "調用結果",
"Mobile.ThirdParty.MpHtml.emptyResult": "結果為空",
"Mobile.ThirdParty.MpHtml.toolCall": "工具調用",
"Mobile.ThirdParty.MpHtml.itemCount": "項",
"Mobile.ThirdParty.UniCaptcha.defaultTitle": "請輸入驗證碼",
"Mobile.ThirdParty.UniCaptcha.fillCaptcha": "請填寫驗證碼",
"Mobile.ThirdParty.UniCaptcha.sceneRequired": "scene 不能為空",
"Mobile.ThirdParty.XTools.saveSuccess": "儲存成功",
"Mobile.ThirdParty.XTools.saveFailed": "儲存失敗",
"Mobile.ThirdParty.XTools.wechatUnsupported": "目前環境不支援微信操作",
"Mobile.ThirdParty.XTools.getServiceFailed": "取得服務失敗,不支援此操作",
"Mobile.Conversation.loadingHistory": "正在載入歷史對話",
"Mobile.Conversation.settingsTitle": "對話設定",
"Mobile.Conversation.settingsLocked": "對話開始後,對話設定將無法修改。",
"Mobile.Conversation.startWithAgent": "與{name}開始對話",
"Mobile.Conversation.chatKeyRequired": "對話連結 Key 不能為空",
"Mobile.Conversation.idRequired": "對話 ID 不能為空",
"Mobile.Conversation.agentIdMissing": "智能體 ID 不存在",
"Mobile.Conversation.unfavoriteSuccess": "已取消收藏",
"Mobile.Conversation.favoriteSuccess": "已加入收藏",
"Mobile.FilePreview.getShareKeyFailed": "取得分享連結失敗",
"Mobile.FilePreview.shareDomainMissing": "分享失敗,無法取得目前網域",
"Mobile.FilePreview.shareSuccess": "分享成功,連結已複製",
"Mobile.FilePreview.shareFailed": "分享失敗",
"Mobile.FilePreview.invalidParams": "對話 ID 或檔案名稱不能為空",
"Mobile.FilePreview.previewPageLoadFailed": "預覽頁面載入失敗",
"Mobile.FilePreview.documentRenderFailed": "文件渲染失敗",
"Mobile.PagePreview.defaultTitle": "頁面預覽",
"Mobile.FileTree.noFiles": "暫無檔案",
"Mobile.FileTree.invalidConversationId": "對話 ID 不存在或無效,無法匯出",
"Mobile.FileTree.preparingDownload": "準備下載...",
"Mobile.FileTree.exportSuccess": "匯出成功!",
"Mobile.FileTree.exportUnknownError": "匯出過程中發生未知錯誤",
"Mobile.FileTree.exportFailed": "匯出失敗: {message}",
"Mobile.FileTree.linkFileNotSupported": "該檔案為連結檔案,不支援預覽",
"Mobile.FileTree.downloading": "下載中...",
"Mobile.FileTree.downloadServerError": "下載失敗:伺服器返回錯誤",
"Mobile.FileTree.serverError": "伺服器返回錯誤",
"Mobile.FileTree.saveFailed": "儲存檔案失敗",
"Mobile.FileTree.downloadComplete": "下載完成",
"Mobile.FileTree.zipSavedContent": 'ZIP 檔案已儲存成功!\n\n檔案名稱{fileName}\n檔案路徑\n{filePath}\n\n提示檔案保存在小程式檔案目錄中可透過微信設定中的小程式儲存空間查看或按下"開啟"直接查看檔案。',
"Mobile.FileTree.openFailed": "無法開啟檔案,請透過微信設定查看",
"Mobile.FileTree.fileValidateFailed": "檔案驗證失敗",
"Mobile.FileTree.downloadFailedWithCode": "下載失敗: {code}",
"Mobile.FileTree.downloadNetworkFailed": "下載失敗,請檢查網絡",
"Mobile.AgentDev.downloadFailedWithCode": "下載失敗: {code}",
"Mobile.PageCard.noPreviewImage": "沒有可用預覽圖",
"Mobile.PageCard.createdAt": "建立於 {date}",
"Mobile.ButtonWrapper.pagePathParamConfigError": "頁面路徑參數配置錯誤",
"Mobile.ButtonWrapper.pagePathConfigError": "頁面路徑配置錯誤",
"Mobile.Sandbox.selectorTitle": "智能體電腦選擇",
"Mobile.Sandbox.unavailable": "電腦不可用",
"Mobile.Sandbox.noneAvailable": "沒有可用電腦",
"Mobile.Sandbox.switchFailed": "切換失敗",
"Mobile.Skill.searchSkillName": "搜尋技能名稱",
"Mobile.Skill.empty": "暫無技能",
"Mobile.Skill.recentUsed": "最近使用",
"Mobile.Skill.myFavorites": "我的收藏",
"Mobile.Voice.holdToTalk": "按住說話",
"Mobile.Voice.recognizing": "語音識別中",
"Mobile.Voice.connecting": "正在連接",
"Mobile.Voice.conversationActiveError": "對話正在進行中,請先暫停現有對話",
"Mobile.Voice.noSpeechDetected": "未識別到文字",
"Mobile.Voice.serviceNotReady": "音訊上傳服務未初始化",
"Mobile.Voice.permissionRequired": "需要錄音權限",
"Mobile.Voice.permissionContent": "錄音功能需要存取你的咪高峰,請在設定中允許錄音權限",
"Mobile.Voice.goToSettings": "前往設定",
"Mobile.Voice.recordFailed": "錄音失敗",
"Mobile.Webview.defaultTitle": "擴展頁面",
"Mobile.Webview.loadFailed": "頁面載入失敗",
"Mobile.Webview.aiReading": "AI 正在讀取網頁內容...",
"Mobile.Common.invalidInputString": "輸入為空或不是字串",
"Mobile.Common.invalidJsonFormat": "JSON 格式錯誤",
"Mobile.Common.missingPathParam": "缺少路徑參數: {key}",
"Mobile.Time.yearsAgo": "{count}年前",
"Mobile.Time.lastYear": "去年",
"Mobile.Time.monthsAgo": "{count}個月前",
"Mobile.Time.daysAgo": "{count}天前",
"Mobile.Time.dayBeforeYesterday": "前天",
"Mobile.Time.yesterday": "昨天",
"Mobile.Time.hoursAgo": "{count}小時前",
"Mobile.Time.minutesAgo": "{count}分鐘前",
"Mobile.Time.justNow": "剛剛",
"Mobile.Permission.microphoneTitle": "需要咪高峰權限",
"Mobile.Permission.microphoneDescription": "錄音功能需要存取你的咪高峰。請在瀏覽器設定中允許咪高峰權限,然後再試一次。",
"Mobile.Permission.cameraTitle": "需要相機權限",
"Mobile.Permission.cameraDescription": "拍照功能需要存取你的相機。請在瀏覽器設定中允許相機權限,然後再試一次。",
"Mobile.Permission.stepClickLock": "按一下瀏覽器網址列左側的鎖定圖示",
"Mobile.Permission.stepAllowMicrophone": '找到"咪高峰"選項,選擇"允許"',
"Mobile.Permission.stepRefreshRetryRecord": "重新整理頁面後再次嘗試錄音",
"Mobile.Permission.stepAllowCamera": '找到"相機"選項,選擇"允許"',
"Mobile.Permission.stepRefreshRetryPhoto": "重新整理頁面後再次嘗試拍照",
"Mobile.Permission.guideContent": "{description}\n\n操作步驟\n{steps}",
"Mobile.Permission.gotIt": "知道了",
"Mobile.Stream.timeoutDisconnected": "請求逾時,已自動中斷",
"Mobile.Stream.httpErrorWithCode": "請求失敗,狀態碼: {code}",
"Mobile.AudioUploader.pathRequired": "音訊檔案路徑不能為空",
"Mobile.AudioUploader.fileEmpty": "音訊檔案為空",
"Mobile.AudioUploader.fileTooLarge": "音訊檔案過大,請控制在 10MB 以內",
"Mobile.AudioUploader.durationTooLong": "錄音時間過長,最多支援 10 分鐘",
"Mobile.AudioUploader.noTextRecognized": "未識別到文字",
"Mobile.AudioUploader.responseParseFailed": "回應資料解析失敗",
"Mobile.AudioUploader.networkFailed": "網絡請求失敗",
"Mobile.AudioUploader.uploadFailed": "上傳失敗",
"Mobile.AudioUploader.requestFailedWithCode": "請求失敗,狀態碼: {code}",
"Mobile.AudioUploader.networkTimeout": "網絡連線逾時,請檢查網絡設定",
"Mobile.AudioUploader.networkException": "網絡連線異常,請檢查網絡設定",
"Mobile.AudioUploader.serverError": "伺服器內部錯誤,請稍後再試",
"Mobile.AudioUploader.fileTooLargeDuration": "檔案過大,請控制錄音時長",
"Mobile.AudioUploader.formatNotSupported": "不支援的音訊格式",
"Mobile.AudioUploader.fileReadFailed": "檔案讀取失敗: {reason}",
"Mobile.Common.restarting": "重啟中...",
"Mobile.Sandbox.restartAgent": "重啟智能體",
"Mobile.Sandbox.restartAgentSuccess": "重啟智能體成功!",
"Mobile.Sandbox.restartAgentFailed": "重啟智能體失敗",
"Mobile.Sandbox.restartCloudComp": "重啟智能體電腦",
"Mobile.Sandbox.restartCloudCompSuccess": "重啟智能體電腦成功!",
"Mobile.Sandbox.restartClient": "重啟客戶端",
"Mobile.Sandbox.restartClientSuccess": "重啟客戶端成功!",
"Mobile.Common.operationFailed": "操作失敗",
"Mobile.Components.HistoryConversationList.rename": "重新命名",
"Mobile.Components.HistoryConversationList.delete": "刪除",
"Mobile.Components.HistoryConversationList.renameModalTitle": "修改名稱",
"Mobile.Components.HistoryConversationList.renamePlaceholder": "請輸入新名稱",
"Mobile.Components.HistoryConversationList.renameSuccess": "修改成功",
"Mobile.Components.HistoryConversationList.renameTitleEmpty": "標題不能為空",
"Mobile.Components.HistoryConversationList.renameTitleTooLong": "標題長度不能超過 50 個字元",
"Mobile.Components.HistoryConversationList.deleteModalTitle": "永久刪除會話",
"Mobile.Components.HistoryConversationList.deleteModalContent": "本條會話數據將被永久刪除,不可恢復及撤銷。確定要刪除嗎?",
"Mobile.Components.HistoryConversationList.deleteSuccess": "刪除成功",
"Mobile.CreditRecords.pageTitle": "積分明細",
"Mobile.CreditRecords.empty": "暫無積分記錄",
"Mobile.CreditRecords.remaining": "剩餘",
"Mobile.CreditRecords.badgeIncrease": "+ 增加",
"Mobile.CreditRecords.badgeDecrease": "- 扣減",
"Mobile.CreditRecords.typeSubscription": "訂閱發放",
"Mobile.CreditRecords.typePurchase": "增購",
"Mobile.CreditRecords.typeActivity": "活動發放",
"Mobile.CreditRecords.typeManual": "系統發放",
"Mobile.CreditRecords.typeModelCall": "TOKEN消耗",
"Mobile.CreditRecords.typeAgentCall": "智能體調用",
"Mobile.CreditRecords.typeToolCall": "工具調用",
"Mobile.CreditRecords.typeManualDeduct": "系統扣減",
};

View File

@@ -0,0 +1,373 @@
export const I18N_ZH_TW: Record<string, string> = {
"Mobile.Nav.home": "首頁",
"Mobile.Nav.unionRecord": "智聯錄",
"Mobile.Nav.agent": "智慧體",
"Mobile.Nav.app": "應用",
"Mobile.App.pressAgainToExit": "再按一次退出應用",
"Mobile.Common.loginRegister": "登入 / 註冊",
"Mobile.Common.noticeExperience": "當前展示為體驗資料,登入後使用完整功能",
"Mobile.Common.recentUsed": "最近使用",
"Mobile.Common.conversationHistory": "會話記錄",
"Mobile.Common.menu": "選單",
"Mobile.Common.tip": "提示",
"Mobile.Common.confirm": "確認",
"Mobile.Common.cancel": "取消",
"Mobile.Common.agree": "同意",
"Mobile.Common.disagree": "不同意",
"Mobile.Common.switching": "切換中...",
"Mobile.Common.switchSuccess": "語言已更新",
"Mobile.Common.switchFailed": "語言切換失敗",
"Mobile.Common.noData": "暫無資料",
"Mobile.Common.noMoreData": "沒有更多資料了",
"Mobile.Common.all": "全部",
"Mobile.Common.appName": "啟明",
"Mobile.Common.coverImageAlt": "封面圖",
"Mobile.Common.avatarAlt": "頭像",
"Mobile.Common.noDataImageAlt": "暫無資料插圖",
"Mobile.Common.agentIconAlt": "智慧體圖示",
"Mobile.Common.skillIconAlt": "技能圖示",
"Mobile.Common.appLogoAlt": "應用 Logo",
"Mobile.Common.deleteIconAlt": "刪除",
"Mobile.Auth.agreementPrefix": "已閱讀並同意協議:",
"Mobile.Auth.agreementSeparator": "、",
"Mobile.Auth.serviceAgreement": "服務使用協議",
"Mobile.Auth.userAgreementLink": "https://qiming.com/user-agreement.html",
"Mobile.Auth.privacyAgreement": "隱私協議",
"Mobile.Auth.privacyAgreementLink": "https://qiming.com/privacy.html",
"Mobile.Auth.loginSuccess": "登入成功",
"Mobile.Auth.loginFailed": "登入失敗",
"Mobile.Auth.passwordLogin": "密碼登入",
"Mobile.Auth.codeLoginRegister": "驗證碼登入/註冊",
"Mobile.Auth.nextStep": "下一步",
"Mobile.Auth.login": "登入",
"Mobile.Auth.inputPhone": "請輸入手機號",
"Mobile.Auth.defaultAreaCode": "+86",
"Mobile.Auth.inputEmail": "請輸入郵箱",
"Mobile.Auth.inputPassword": "請輸入密碼",
"Mobile.Auth.invalidPhoneFormat": "請輸入正確的手機號格式",
"Mobile.Auth.invalidEmailFormat": "請輸入正確的郵箱格式",
"Mobile.Auth.codeSentSuccess": "驗證碼發送成功",
"Mobile.Auth.inputEmailCode": "輸入郵箱驗證碼",
"Mobile.Auth.inputSmsCode": "輸入簡訊驗證碼",
"Mobile.Auth.codeSentToPrefix": "驗證碼已發送至",
"Mobile.Auth.codeSentToEmailTarget": "你的郵箱",
"Mobile.Auth.codeSentToPhoneTarget": "手機號",
"Mobile.Auth.inputVerifyCode": "請輸入驗證碼",
"Mobile.Auth.resend": "重新獲取",
"Mobile.Auth.resendSuccess": "重新發送成功",
"Mobile.Auth.sending": "正在發送...",
"Mobile.Auth.clipboardReadFailed": "讀取剪貼簿失敗",
"Mobile.Auth.clipboardGetFailed": "取得剪貼簿失敗",
"Mobile.Auth.codeAutoFilled": "驗證碼已自動填充",
"Mobile.Auth.pasteSixDigits": "請貼上 6 位數字驗證碼",
"Mobile.Auth.clipboardNotSixDigits": "剪貼簿內容不是 6 位數字驗證碼",
"Mobile.Auth.clipboardEmpty": "剪貼簿為空",
"Mobile.Auth.setPasswordTitle": "密碼設定",
"Mobile.Auth.setPasswordDesc": "請至少使用 6 個字元。請勿使用你登入其他網站的密碼或容易被猜到的密碼",
"Mobile.Auth.inputPasswordAgain": "請再次輸入密碼",
"Mobile.Auth.setting": "設定中...",
"Mobile.Common.ok": "確定",
"Mobile.Auth.passwordMinLength": "密碼至少需要 6 個字元",
"Mobile.Auth.confirmPassword": "請確認密碼",
"Mobile.Auth.passwordMismatch": "兩次輸入的密碼不一致",
"Mobile.Auth.passwordSetSuccess": "密碼設定成功",
"Mobile.Auth.passwordSetFailed": "密碼設定失敗,請重試",
"Mobile.Common.networkRetry": "網路錯誤,請重試",
"Mobile.Auth.pleaseAgreeProtocol": "請同意服務協議及隱私保護!",
"Mobile.Auth.userCancelAuthorize": "使用者取消授權",
"Mobile.Auth.oneClickLogin": "一鍵登入",
"Mobile.Auth.phoneLoginRegister": "手機號碼登入/註冊",
"Mobile.Auth.welcomeUse": "歡迎使用{siteName}",
"Mobile.Header.mySubscriptions": "我的訂閱",
"Mobile.Header.profile": "個人資料",
"Mobile.Header.logout": "退出登入",
"Mobile.Header.logoutSuccess": "退出成功",
"Mobile.Header.logoutFailed": "退出失敗",
"Mobile.MySubscriptions.title": "我的訂閱",
"Mobile.MySubscriptions.notEnabled": "訂閱功能暫未開啟",
"Mobile.MySubscriptions.empty": "暫無訂閱內容",
"Mobile.MySubscriptions.totalCredits": "總積分",
"Mobile.MySubscriptions.subscriptionCredits": "訂閱積分",
"Mobile.MySubscriptions.purchaseCredits": "增購積分",
"Mobile.MySubscriptions.activityCredits": "活動積分",
"Mobile.MySubscriptions.addPurchase": "+ 增購",
"Mobile.MySubscriptions.detail": "明細",
"Mobile.MySubscriptions.planGrid": "訂閱套餐",
"Mobile.MySubscriptions.currentPlan": "當前訂閱",
"Mobile.MySubscriptions.statusActive": "使用中",
"Mobile.MySubscriptions.statusHot": "熱門",
"Mobile.MySubscriptions.feeMonth": "月費",
"Mobile.MySubscriptions.feeQuarter": "季費",
"Mobile.MySubscriptions.feeYear": "年費",
"Mobile.MySubscriptions.perMonth": "/月",
"Mobile.MySubscriptions.perQuarter": "/季",
"Mobile.MySubscriptions.perYear": "/年",
"Mobile.MySubscriptions.perForever": "/永久有效",
"Mobile.MySubscriptions.renewNow": "續訂",
"Mobile.MySubscriptions.upgradeNow": "升級",
"Mobile.MySubscriptions.subscribeNow": "訂閱",
"Mobile.MySubscriptions.nextRenewal": "下次續費:{time}",
"Mobile.MySubscriptions.subscribedContent": "已訂閱內容",
"Mobile.MySubscriptions.tabAgents": "智能體",
"Mobile.MySubscriptions.tabSkills": "技能",
"Mobile.MySubscriptions.tabCredits": "增購積分",
"Mobile.MySubscriptions.subAmount": "訂閱金額",
"Mobile.MySubscriptions.usedAmount": "已消耗",
"Mobile.MySubscriptions.purchaseAmount": "增購金額",
"Mobile.MySubscriptions.remaining": "剩餘",
"Mobile.MySubscriptions.creditUnit": "積分",
"Mobile.MySubscriptions.expireTime": "到期時間",
"Mobile.MySubscriptions.subscribing": "訂閱中",
"Mobile.MySubscriptions.expired": "已到期",
"Mobile.MySubscriptions.aboutToUseUp": "即將用完",
"Mobile.MySubscriptions.fullyUsed": "已用完",
"Mobile.MySubscriptions.normalUsage": "充足",
"Mobile.MySubscriptions.validityForever": "永久有效",
"Mobile.MySubscriptions.boughtOut": "已買斷",
"Mobile.MySubscriptions.permanentUse": "永久使用",
"Mobile.MySubscriptions.buyoutPriceLabel": "買斷價",
"Mobile.MySubscriptions.monthlyPayment": "月付",
"Mobile.MySubscriptions.quarterlyPayment": "季付",
"Mobile.MySubscriptions.yearlyPayment": "年付",
"Mobile.MySubscriptions.purchaseTitle": "增購積分",
"Mobile.MySubscriptions.purchaseSubtitle": "選擇積分套餐,即刻到帳",
"Mobile.MySubscriptions.orderIdNotFound": "未獲取到訂單號",
"Mobile.MySubscriptions.creditPackageCredit": "積分",
"Mobile.MySubscriptions.loadFailed": "載入失敗",
"Mobile.MySubscriptions.stateActive": "使用中",
"Mobile.MySubscriptions.stateExpired": "已過期",
"Mobile.MySubscriptions.stateCancelled": "已取消",
"Mobile.Profile.title": "個人資料",
"Mobile.Profile.userName": "使用者名稱",
"Mobile.Profile.phone": "手機號",
"Mobile.Profile.email": "郵箱",
"Mobile.Profile.pendingBind": "待綁定",
"Mobile.Profile.dynamicCodeExpire": "動態認證碼({expire} 過期)",
"Mobile.Profile.version": "版本",
"Mobile.Profile.language": "語言",
"Mobile.Profile.languagePlaceholder": "請選擇語言",
"Mobile.Profile.default": "預設",
"Mobile.Profile.selectLanguage": "選擇語言",
"Mobile.Link.invalidConfig": "連結地址配置錯誤",
"Mobile.Link.copyAndOpen": "連結已複製,請手動貼上開啟",
"Mobile.Link.openFailed": "開啟連結失敗",
"Mobile.Link.copied": "連結已複製",
"Mobile.Page.loading": "載入中",
"Mobile.Page.inputRequired": "請輸入內容",
"Mobile.Page.loadingMore": "載入中...",
"Mobile.AgentList.fetchCategoryFailed": "取得分類資訊失敗",
"Mobile.AgentList.fetchAgentFailed": "取得智慧體列表失敗",
"Mobile.AgentList.unCollectFailed": "取消收藏失敗",
"Mobile.AgentList.collectFailed": "新增收藏失敗",
"Mobile.AgentList.confirmDeleteAgent": "你確認要刪除該智慧體嗎?",
"Mobile.AgentList.deleteFailed": "刪除失敗",
"Mobile.AgentList.paymentRequiredTag": "付費",
"Mobile.AgentList.subscribedTag": "已訂閱",
"Mobile.Conversation.unnamed": "未命名會話",
"Mobile.Conversation.unknownAgent": "未知智慧體",
"Mobile.Conversation.executing": "執行中",
"Mobile.AgentUnion.searchPlaceholder": "搜尋智聯錄",
"Mobile.AgentUnion.fetchHomeAgentListFailed": "取得主頁智慧體列表失敗",
"Mobile.TempSession.defaultDesc": "我是你的智慧助手,有什麼需要幫忙的嗎?",
"Mobile.TempSession.inputPlaceholder": "請輸入指令",
"Mobile.Auth.resendAfterSeconds": "{seconds}s後",
"Mobile.AgentSearch.placeholder": "搜尋智慧體",
"Mobile.AgentSearch.pageAppPlaceholder": "搜尋應用",
"Mobile.AgentSearch.emptyResult": "暫無結果",
"Mobile.AgentSearch.fetchAgentFailed": "取得智慧體列表失敗",
"Mobile.AgentSearch.fetchRecentUsedFailed": "取得最近使用智慧體列表失敗",
"Mobile.Chat.noAgentPermission": "您無該智慧體權限",
"Mobile.Chat.subscriptionRequiredTip": "請訂閱或升級套餐後使用",
"Mobile.Conversation.mySubscription": "我的訂閱",
"Mobile.Chat.subscriptionModalTitle": "訂閱計畫",
"Mobile.Common.loading": "載入中...",
"Mobile.Chat.callLimitLabel": "調用額度",
"Mobile.Chat.unlimited": "不限次",
"Mobile.Chat.timesPerMonth": "次/月",
"Mobile.Chat.takePhoto": "拍照",
"Mobile.Chat.album": "相簿",
"Mobile.Chat.file": "檔案",
"Mobile.Chat.skill": "技能",
"Mobile.Chat.aiGeneratedDisclaimer": "內容由 AI 生成,請仔細甄別",
"Mobile.Chat.fileLimitReached": "已經有 {count} 個檔案了,請刪除部分檔案之後重新選擇",
"Mobile.Chat.fileMaxSelect": "最多只能選擇 {count} 個檔案",
"Mobile.Chat.imageLimitReached": "已經有 {count} 張圖片了,請刪除部分圖片之後重新選擇",
"Mobile.Chat.imageMaxSelect": "最多只能選擇 {count} 張圖片",
"Mobile.Chat.fillRequiredParams": "請填寫必填參數",
"Mobile.Chat.removeUploadFailed": "請先刪除上傳失敗的圖片或檔案",
"Mobile.Chat.previewTypeUnsupported": "目前不支援預覽該類型檔案",
"Mobile.Chat.chooseImageFailed": "選擇圖片失敗: {reason}",
"Mobile.Chat.uploadImageAlt": "上傳圖片",
"Mobile.Chat.uploadFileAlt": "上傳檔案",
"Mobile.Chat.modelSelect": "模型選擇",
"Mobile.Chat.thinking": "正在思考",
"Mobile.Chat.thought": "已思考",
"Mobile.Common.retry": "重試",
"Mobile.Common.copySuccess": "複製成功",
"Mobile.Common.copyFailed": "複製失敗",
"Mobile.Common.from": "來自",
"Mobile.Common.loadMore": "載入更多",
"Mobile.Common.open": "開啟",
"Mobile.Common.pageHome": "頁面首頁",
"Mobile.Common.workspace": "工作台",
"Mobile.Common.pleaseInput": "請輸入",
"Mobile.Common.pleaseSelect": "請選擇",
"Mobile.Common.requiredMark": "*",
"Mobile.Common.optionSeparator": "/",
"Mobile.Conversation.newConversation": "新建會話",
"Mobile.Conversation.moreInfo": "更多資訊",
"Mobile.Conversation.favorite": "收藏",
"Mobile.Conversation.more": "更多",
"Mobile.Conversation.share": "分享",
"Mobile.Conversation.allConversations": "全部會話",
"Mobile.Conversation.relatedTitle": "相關會話",
"Mobile.Conversation.viewAll": "查看全部",
"Mobile.ThirdParty.UniAiX.invalidMessageContent": "訊息內容不是字串",
"Mobile.ThirdParty.MpHtml.copyCode": "複製程式碼",
"Mobile.ThirdParty.MpHtml.saveSuccess": "保存成功",
"Mobile.ThirdParty.MpHtml.executionPlan": "執行計畫",
"Mobile.ThirdParty.MpHtml.callArguments": "呼叫參數",
"Mobile.ThirdParty.MpHtml.callResult": "呼叫結果",
"Mobile.ThirdParty.MpHtml.emptyResult": "結果為空",
"Mobile.ThirdParty.MpHtml.toolCall": "工具調用",
"Mobile.ThirdParty.MpHtml.itemCount": "項",
"Mobile.ThirdParty.UniCaptcha.defaultTitle": "請輸入驗證碼",
"Mobile.ThirdParty.UniCaptcha.fillCaptcha": "請填寫驗證碼",
"Mobile.ThirdParty.UniCaptcha.sceneRequired": "scene 不能為空",
"Mobile.ThirdParty.XTools.saveSuccess": "保存成功",
"Mobile.ThirdParty.XTools.saveFailed": "保存失敗",
"Mobile.ThirdParty.XTools.wechatUnsupported": "當前環境不支援微信操作",
"Mobile.ThirdParty.XTools.getServiceFailed": "取得服務失敗,不支援該操作",
"Mobile.Conversation.loadingHistory": "正在載入歷史會話",
"Mobile.Conversation.settingsTitle": "對話設定",
"Mobile.Conversation.settingsLocked": "對話開始後,對話設定將無法修改。",
"Mobile.Conversation.startWithAgent": "和{name}開始會話",
"Mobile.Conversation.chatKeyRequired": "會話連結 Key 不能為空",
"Mobile.Conversation.idRequired": "會話 ID 不能為空",
"Mobile.Conversation.agentIdMissing": "智慧體 ID 不存在",
"Mobile.Conversation.unfavoriteSuccess": "已取消收藏",
"Mobile.Conversation.favoriteSuccess": "已新增到收藏",
"Mobile.FilePreview.getShareKeyFailed": "取得分享連結失敗",
"Mobile.FilePreview.shareDomainMissing": "分享失敗,無法取得目前網域",
"Mobile.FilePreview.shareSuccess": "分享成功,連結已複製",
"Mobile.FilePreview.shareFailed": "分享失敗",
"Mobile.FilePreview.invalidParams": "會話 ID 或檔案名稱不能為空",
"Mobile.FilePreview.previewPageLoadFailed": "預覽頁面載入失敗",
"Mobile.FilePreview.documentRenderFailed": "文件渲染失敗",
"Mobile.PagePreview.defaultTitle": "頁面預覽",
"Mobile.FileTree.noFiles": "暫無檔案",
"Mobile.FileTree.invalidConversationId": "會話 ID 不存在或無效,無法匯出",
"Mobile.FileTree.preparingDownload": "準備下載...",
"Mobile.FileTree.exportSuccess": "匯出成功!",
"Mobile.FileTree.exportUnknownError": "匯出過程中發生未知錯誤",
"Mobile.FileTree.exportFailed": "匯出失敗: {message}",
"Mobile.FileTree.linkFileNotSupported": "該檔案為連結檔案,不支援預覽",
"Mobile.FileTree.downloading": "下載中...",
"Mobile.FileTree.downloadServerError": "下載失敗:伺服器回傳錯誤",
"Mobile.FileTree.serverError": "伺服器回傳錯誤",
"Mobile.FileTree.saveFailed": "保存檔案失敗",
"Mobile.FileTree.downloadComplete": "下載完成",
"Mobile.FileTree.zipSavedContent": 'ZIP 檔案已保存成功!\n\n檔案名稱{fileName}\n檔案路徑\n{filePath}\n\n提示檔案保存在小程式檔案目錄中可透過微信設定中的小程式儲存空間查看或點擊"開啟"直接查看檔案。',
"Mobile.FileTree.openFailed": "無法開啟檔案,請透過微信設定查看",
"Mobile.FileTree.fileValidateFailed": "檔案驗證失敗",
"Mobile.FileTree.downloadFailedWithCode": "下載失敗: {code}",
"Mobile.FileTree.downloadNetworkFailed": "下載失敗,請檢查網路",
"Mobile.AgentDev.downloadFailedWithCode": "下載失敗: {code}",
"Mobile.PageCard.noPreviewImage": "無可用預覽圖",
"Mobile.PageCard.createdAt": "建立於 {date}",
"Mobile.ButtonWrapper.pagePathParamConfigError": "頁面路徑參數配置錯誤",
"Mobile.ButtonWrapper.pagePathConfigError": "頁面路徑配置錯誤",
"Mobile.Sandbox.selectorTitle": "智慧體電腦選擇",
"Mobile.Sandbox.unavailable": "電腦不可用",
"Mobile.Sandbox.noneAvailable": "無可用電腦",
"Mobile.Sandbox.switchFailed": "切換失敗",
"Mobile.Skill.searchSkillName": "搜尋技能名稱",
"Mobile.Skill.empty": "暫無技能",
"Mobile.Skill.recentUsed": "最近使用",
"Mobile.Skill.myFavorites": "我的收藏",
"Mobile.Voice.holdToTalk": "按住說話",
"Mobile.Voice.recognizing": "語音辨識中",
"Mobile.Voice.connecting": "正在連線",
"Mobile.Voice.conversationActiveError": "會話正在進行中,請先暫停現有會話",
"Mobile.Voice.noSpeechDetected": "未辨識到文字",
"Mobile.Voice.serviceNotReady": "音訊上傳服務未初始化",
"Mobile.Voice.permissionRequired": "需要錄音權限",
"Mobile.Voice.permissionContent": "錄音功能需要存取你的麥克風,請在設定中允許錄音權限",
"Mobile.Voice.goToSettings": "去設定",
"Mobile.Voice.recordFailed": "錄音失敗",
"Mobile.Webview.defaultTitle": "擴展頁面",
"Mobile.Webview.loadFailed": "頁面載入失敗",
"Mobile.Webview.aiReading": "AI 讀取網頁內容中...",
"Mobile.Common.invalidInputString": "輸入為空或不是字串",
"Mobile.Common.invalidJsonFormat": "JSON 格式錯誤",
"Mobile.Common.missingPathParam": "缺少路徑參數: {key}",
"Mobile.Time.yearsAgo": "{count}年前",
"Mobile.Time.lastYear": "去年",
"Mobile.Time.monthsAgo": "{count}月前",
"Mobile.Time.daysAgo": "{count}天前",
"Mobile.Time.dayBeforeYesterday": "前天",
"Mobile.Time.yesterday": "昨天",
"Mobile.Time.hoursAgo": "{count}小時前",
"Mobile.Time.minutesAgo": "{count}分鐘前",
"Mobile.Time.justNow": "剛剛",
"Mobile.Permission.microphoneTitle": "需要麥克風權限",
"Mobile.Permission.microphoneDescription": "錄音功能需要存取你的麥克風。請在瀏覽器設定中允許麥克風權限,然後重新嘗試。",
"Mobile.Permission.cameraTitle": "需要攝影機權限",
"Mobile.Permission.cameraDescription": "拍照功能需要存取你的攝影機。請在瀏覽器設定中允許攝影機權限,然後重新嘗試。",
"Mobile.Permission.stepClickLock": "點擊瀏覽器網址列左側的鎖定圖示",
"Mobile.Permission.stepAllowMicrophone": '找到"麥克風"選項,選擇"允許"',
"Mobile.Permission.stepRefreshRetryRecord": "重新整理頁面後再次嘗試錄音",
"Mobile.Permission.stepAllowCamera": '找到"攝影機"選項,選擇"允許"',
"Mobile.Permission.stepRefreshRetryPhoto": "重新整理頁面後再次嘗試拍照",
"Mobile.Permission.guideContent": "{description}\n\n操作步驟\n{steps}",
"Mobile.Permission.gotIt": "知道了",
"Mobile.Stream.timeoutDisconnected": "請求逾時,已自動斷開",
"Mobile.Stream.httpErrorWithCode": "請求失敗,狀態碼: {code}",
"Mobile.AudioUploader.pathRequired": "音訊檔案路徑不能為空",
"Mobile.AudioUploader.fileEmpty": "音訊檔案為空",
"Mobile.AudioUploader.fileTooLarge": "音訊檔案過大,請控制在 10MB 以內",
"Mobile.AudioUploader.durationTooLong": "錄音時長過長,最多支援 10 分鐘",
"Mobile.AudioUploader.noTextRecognized": "未辨識到文字",
"Mobile.AudioUploader.responseParseFailed": "回應資料解析失敗",
"Mobile.AudioUploader.networkFailed": "網路請求失敗",
"Mobile.AudioUploader.uploadFailed": "上傳失敗",
"Mobile.AudioUploader.requestFailedWithCode": "請求失敗,狀態碼: {code}",
"Mobile.AudioUploader.networkTimeout": "網路連線逾時,請檢查網路設定",
"Mobile.AudioUploader.networkException": "網路連線異常,請檢查網路設定",
"Mobile.AudioUploader.serverError": "伺服器內部錯誤,請稍後重試",
"Mobile.AudioUploader.fileTooLargeDuration": "檔案過大,請控制錄音時長",
"Mobile.AudioUploader.formatNotSupported": "不支援的音訊格式",
"Mobile.AudioUploader.fileReadFailed": "檔案讀取失敗: {reason}",
"Mobile.Common.restarting": "重啟中...",
"Mobile.Sandbox.restartAgent": "重啟智慧體",
"Mobile.Sandbox.restartAgentSuccess": "重啟智慧體成功!",
"Mobile.Sandbox.restartAgentFailed": "重啟智慧體失敗",
"Mobile.Sandbox.restartCloudComp": "重啟智慧體電腦",
"Mobile.Sandbox.restartCloudCompSuccess": "重啟智慧體電腦成功!",
"Mobile.Sandbox.restartClient": "重啟客戶端",
"Mobile.Sandbox.restartClientSuccess": "重啟客戶端成功!",
"Mobile.Common.operationFailed": "操作失敗",
"Mobile.Components.HistoryConversationList.rename": "重新命名",
"Mobile.Components.HistoryConversationList.delete": "刪除",
"Mobile.Components.HistoryConversationList.renameModalTitle": "修改名稱",
"Mobile.Components.HistoryConversationList.renamePlaceholder": "請輸入新名稱",
"Mobile.Components.HistoryConversationList.renameSuccess": "修改成功",
"Mobile.Components.HistoryConversationList.renameTitleEmpty": "標題不能為空",
"Mobile.Components.HistoryConversationList.renameTitleTooLong": "標題長度不能超過 50 個字元",
"Mobile.Components.HistoryConversationList.deleteModalTitle": "永久刪除會話",
"Mobile.Components.HistoryConversationList.deleteModalContent": "本條會話數據將被永久刪除,不可恢復及撤銷。確定要刪除嗎?",
"Mobile.Components.HistoryConversationList.deleteSuccess": "刪除成功",
"Mobile.CreditRecords.pageTitle": "積分明細",
"Mobile.CreditRecords.empty": "暫無積分記錄",
"Mobile.CreditRecords.remaining": "剩餘",
"Mobile.CreditRecords.badgeIncrease": "+ 增加",
"Mobile.CreditRecords.badgeDecrease": "- 扣減",
"Mobile.CreditRecords.typeSubscription": "訂閱發放",
"Mobile.CreditRecords.typePurchase": "增購",
"Mobile.CreditRecords.typeActivity": "活動發放",
"Mobile.CreditRecords.typeManual": "系統發放",
"Mobile.CreditRecords.typeModelCall": "TOKEN消耗",
"Mobile.CreditRecords.typeAgentCall": "智慧體調用",
"Mobile.CreditRecords.typeToolCall": "工具調用",
"Mobile.CreditRecords.typeManualDeduct": "系統扣減",
};

View File

@@ -0,0 +1,8 @@
export const DEFAULT_LANG = "zh-CN";
export const I18N_LANG_STORAGE_KEY = "I18N_LANG";
export const I18N_LANG_MAP_STORAGE_KEY = "I18N_LANG_MAP";
export const I18N_LANG_LIST_STORAGE_KEY = "I18N_LANG_LIST";
export const I18N_SET_LANG_API = "/api/i18n/lang/set";

View File

@@ -0,0 +1,170 @@
import { DEFAULT_LANG } from "@/constants/i18n.constants";
import { I18N_EN_US } from "@/constants/i18n-locales/en-us";
import { I18N_ZH_HK } from "@/constants/i18n-locales/zh-hk";
import { I18N_ZH_CN } from "@/constants/i18n-locales/zh-cn";
import { I18N_ZH_TW } from "@/constants/i18n-locales/zh-tw";
export const I18N_FALLBACK_BUNDLES: Record<string, Record<string, string>> = {
"zh-cn": I18N_ZH_CN,
"zh-tw": I18N_ZH_TW,
"zh-hk": I18N_ZH_HK,
"en-us": I18N_EN_US,
};
const normalizeBundleLang = (lang: string): string => {
const source = (lang || "").trim();
if (!source) return "zh-cn";
const normalized = source.replaceAll("_", "-");
const lower = normalized.toLowerCase();
// bundle key 统一收敛为本地词包文件名使用的小写语言 key。
if (lower === "zh-cn" || lower === "zh-hans") return "zh-cn";
if (lower === "zh-tw" || lower === "zh-hant") return "zh-tw";
if (lower === "zh-hk") return "zh-hk";
if (lower === "en-us" || lower === "en") return "en-us";
if (lower.startsWith("zh-hans")) return "zh-cn";
if (lower.startsWith("zh-cn")) return "zh-cn";
if (lower.startsWith("zh-hant-hk")) return "zh-hk";
if (lower.startsWith("zh-hk")) return "zh-hk";
if (lower.startsWith("zh-hant")) return "zh-tw";
if (lower.startsWith("zh-tw")) return "zh-tw";
if (lower.startsWith("en-")) return "en-us";
if (lower.startsWith("en-us")) return "en-us";
if (normalized === "zh-CN") return "zh-cn";
if (normalized === "zh-TW") return "zh-tw";
if (normalized === "zh-HK") return "zh-hk";
if (normalized === "en-US") return "en-us";
return lower;
};
export const toBundleKey = (lang: string): string => {
return normalizeBundleLang(lang);
};
const zhFallback = I18N_FALLBACK_BUNDLES[toBundleKey(DEFAULT_LANG)] || {};
/**
* 历史中文字面量到 i18n key 的兼容映射表。
*
* 作用:
* 1. 兼容仍然传入中文字面量的老组件/老页面 props
* 2. 兼容部分第三方组件内部仍会透传旧中文的场景
* 3. 为 `translateText()` 提供迁移过渡期桥接能力
*
* 注意:
* - 这里不是主词典,不应用于新增业务文案
* - 新代码应优先直接传 `Mobile.*` key
* - 只有“历史兼容”或“三方兼容”确有必要时,才允许继续补充映射项
*/
export const I18N_LITERAL_LOOKUP: Record<string, string> = {
// 导航与首页基础文案
首页: "Mobile.Nav.home",
智联录: "Mobile.Nav.unionRecord",
智能体: "Mobile.Nav.agent",
应用: "Mobile.Nav.app",
最近使用: "Mobile.Common.recentUsed",
会话记录: "Mobile.Common.conversationHistory",
菜单: "Mobile.Common.menu",
提示: "Mobile.Common.tip",
全部: "Mobile.Common.all",
暂无数据: "Mobile.Common.noData",
没有更多数据了: "Mobile.Common.noMoreData",
// 登录与认证链路
"登录 / 注册": "Mobile.Common.loginRegister",
"当前展示为体验数据,登录后使用完整功能": "Mobile.Common.noticeExperience",
同意: "Mobile.Common.agree",
不同意: "Mobile.Common.disagree",
// 个人中心与公共状态
语言: "Mobile.Profile.language",
// 协议、链接与通用反馈
"已阅读并同意协议:": "Mobile.Auth.agreementPrefix",
服务使用协议: "Mobile.Auth.serviceAgreement",
隐私协议: "Mobile.Auth.privacyAgreement",
"请同意服务协议及隐私保护!": "Mobile.Auth.pleaseAgreeProtocol",
链接地址配置错误: "Mobile.Link.invalidConfig",
链接已复制: "Mobile.Link.copied",
"链接已复制,请手动粘贴打开": "Mobile.Link.copyAndOpen",
打开链接失败: "Mobile.Link.openFailed",
加载中: "Mobile.Page.loading",
"加载中...": "Mobile.Page.loadingMore",
请输入内容: "Mobile.Page.inputRequired",
重试: "Mobile.Common.retry",
复制成功: "Mobile.Common.copySuccess",
复制失败: "Mobile.Common.copyFailed",
来自: "Mobile.Common.from",
页面首页: "Mobile.Common.pageHome",
工作台: "Mobile.Common.workspace",
// 搜索与列表页
搜索智能体: "Mobile.AgentSearch.placeholder",
暂无结果: "Mobile.AgentSearch.emptyResult",
// 聊天输入与会话主链路
拍照: "Mobile.Chat.takePhoto",
相册: "Mobile.Chat.album",
文件: "Mobile.Chat.file",
技能: "Mobile.Chat.skill",
对话设置: "Mobile.Conversation.settingsTitle",
相关会话: "Mobile.Conversation.relatedTitle",
查看全部: "Mobile.Conversation.viewAll",
消息内容不是字符串: "Mobile.ThirdParty.UniAiX.invalidMessageContent",
复制代码: "Mobile.ThirdParty.MpHtml.copyCode",
保存成功: "Mobile.ThirdParty.MpHtml.saveSuccess",
执行计划: "Mobile.ThirdParty.MpHtml.executionPlan",
调用参数: "Mobile.ThirdParty.MpHtml.callArguments",
调用结果: "Mobile.ThirdParty.MpHtml.callResult",
结果为空: "Mobile.ThirdParty.MpHtml.emptyResult",
请填写验证码: "Mobile.ThirdParty.UniCaptcha.fillCaptcha",
scene不能为空: "Mobile.ThirdParty.UniCaptcha.sceneRequired",
保存失败: "Mobile.ThirdParty.XTools.saveFailed",
当前环境不支持微信操作: "Mobile.ThirdParty.XTools.wechatUnsupported",
"获取服务失败,不支持该操作": "Mobile.ThirdParty.XTools.getServiceFailed",
// 会话、沙盒与业务页遗留文案
全部会话: "Mobile.Conversation.allConversations",
新建会话: "Mobile.Conversation.newConversation",
更多信息: "Mobile.Conversation.moreInfo",
收藏: "Mobile.Conversation.favorite",
分享: "Mobile.Conversation.share",
会话链接Key不能为空: "Mobile.Conversation.chatKeyRequired",
会话ID不能为空: "Mobile.Conversation.idRequired",
智能体电脑选择: "Mobile.Sandbox.selectorTitle",
电脑不可用: "Mobile.Sandbox.unavailable",
无可用电脑: "Mobile.Sandbox.noneAvailable",
搜索智联录: "Mobile.AgentUnion.searchPlaceholder",
获取主页智能体列表失败: "Mobile.AgentUnion.fetchHomeAgentListFailed",
获取分类信息失败: "Mobile.AgentList.fetchCategoryFailed",
获取智能体列表失败: "Mobile.AgentList.fetchAgentFailed",
取消收藏失败: "Mobile.AgentList.unCollectFailed",
添加收藏失败: "Mobile.AgentList.collectFailed",
"你确认要删除该智能体吗?": "Mobile.AgentList.confirmDeleteAgent",
删除失败: "Mobile.AgentList.deleteFailed",
未命名会话: "Mobile.Conversation.unnamed",
未知智能体: "Mobile.Conversation.unknownAgent",
执行中: "Mobile.Conversation.executing",
"我是你的智能助手,有什么需要帮忙的吗?": "Mobile.TempSession.defaultDesc",
请输入指令: "Mobile.TempSession.inputPlaceholder",
};
export const getLocalFallback = (lang: string, key: string): string => {
const bundleKey = toBundleKey(lang);
const defaultBundleKey = toBundleKey(DEFAULT_LANG);
return (
I18N_FALLBACK_BUNDLES[bundleKey]?.[key] ||
I18N_FALLBACK_BUNDLES[defaultBundleKey]?.[key] ||
""
);
};
export const resolveLiteralKey = (value: string): string => {
return I18N_LITERAL_LOOKUP[value] || value;
};
export const getZhFallback = (key: string): string => {
return zhFallback[key] || key;
};