diff --git a/app/src/i18n.ts b/app/src/i18n.ts index aac6e914..2cc7b6a9 100644 --- a/app/src/i18n.ts +++ b/app/src/i18n.ts @@ -5,6 +5,7 @@ import cn from "@/resources/i18n/cn.json"; import en from "@/resources/i18n/en.json"; import ru from "@/resources/i18n/ru.json"; import ja from "@/resources/i18n/ja.json"; +import tw from "@/resources/i18n/tw.json"; // the translations // (tip move them in a JSON file and import them, @@ -15,6 +16,7 @@ const resources = { en: { translation: en }, ru: { translation: ru }, ja: { translation: ja }, + tw: { translation: tw }, }; export const langsProps: Record = { @@ -22,6 +24,7 @@ export const langsProps: Record = { en: "English", ru: "Русский", ja: "日本語", + tw: "正體中文", }; export const supportedLanguages = Object.keys(resources); diff --git a/app/src/resources/i18n/tw.json b/app/src/resources/i18n/tw.json new file mode 100644 index 00000000..fc8be1e6 --- /dev/null +++ b/app/src/resources/i18n/tw.json @@ -0,0 +1,817 @@ +{ + "end": "。", + "add": "新增", + "not-found": "找不到頁面", + "home": "首頁", + "login": "登入", + "register": "註冊", + "reset": "重設", + "login-require": "您需要登入才能使用此功能", + "logout": "登出", + "quota": "點數", + "download": "下載", + "offline": "應用程式離線", + "try-again": "再試一次", + "invalid-token": "無效的權杖", + "invalid-token-prompt": "請再試一次。", + "login-failed": "登入失敗", + "login-failed-prompt": "登入失敗!原因:{{reason}}", + "login-success": "登入成功", + "login-success-prompt": "您已成功登入。", + "server-error": "伺服器錯誤", + "server-error-prompt": "登入時發生錯誤,請再試一次。", + "error": "請求失敗", + "request-failed": "請求失敗,請檢查您的網路並再試一次。", + "success": "請求成功", + "request-success": "您的操作已成功執行。", + "close": "關閉", + "edit": "編輯", + "editor": "文字編輯器", + "pricing": "更多計費詳情請參閱模型定價表", + "true": "是", + "false": "否", + "unknown": "未知", + "update": "更新", + "scroll-down": "捲動至最新", + "broadcast": "公告", + "fatal": "應用程式當機", + "download-fatal-log": "下載錯誤日誌", + "fatal-tips": "請先檢查您的網路、瀏覽器相容性,嘗試清除瀏覽器快取並重新整理頁面。若問題仍然存在,請下載日誌並提供完整的重現步驟給開發者,以便我們排查問題。", + "request-error": "請求失敗,原因:{{reason}}", + "delete": "刪除", + "remove": "移除", + "upward": "上移", + "downward": "下移", + "save": "儲存", + "submit": "送出", + "announcement": "網站公告", + "i-know": "我知道了", + "empty": "空空如也", + "exit": "離開", + "model": "模型", + "min-quota": "最低餘額", + "your-quota": "您的餘額", + "title": "標題", + "my-account": "我的帳戶", + "auth": { + "username": "使用者名稱", + "username-placeholder": "請輸入使用者名稱", + "password": "密碼", + "password-placeholder": "請輸入密碼", + "check-password": "確認密碼", + "check-password-placeholder": "請再次輸入密碼", + "email": "電子郵件", + "email-placeholder": "請輸入電子郵件", + "username-or-email": "使用者名稱或電子郵件", + "username-or-email-placeholder": "請輸入使用者名稱或電子郵件", + "code": "驗證碼", + "code-placeholder": "請輸入驗證碼", + "code-disabled-placeholder": "無需進行電子郵件驗證", + "send-code": "傳送", + "incorrect-info": "填錯資訊?", + "fall-back": "回上一步", + "forgot-password": "忘記密碼?", + "reset-password": "重設密碼", + "no-account": "還沒有帳號?", + "register": "註冊一個", + "have-account": "已有帳號?", + "login": "立即登入", + "next-step": "下一步", + "verify": "驗證", + "length-range": "應為 {{min}} ~ {{max}} 位", + "same-rule": "兩次輸入不一致", + "invalid-email": "電子郵件格式錯誤", + "reset-success": "重設成功", + "reset-success-prompt": "您的密碼已重設,請使用新密碼登入。", + "send-code-success": "傳送成功", + "send-code-success-prompt": "驗證碼已傳送至您的電子郵件,請注意查收。", + "send-code-failed": "傳送失敗", + "send-code-failed-prompt": "驗證碼傳送失敗,原因:{{reason}}", + "register-success": "註冊成功", + "register-success-prompt": "您已成功註冊,歡迎加入!", + "disabled-mail": "本站的電子郵件功能已被停用,請聯絡管理員開啟發信功能。" + }, + "tag": { + "free": "免費", + "official": "官方", + "unstable": "不穩定", + "web": "網路", + "high-quality": "高品質", + "high-context": "高上下文", + "high-price": "高定價", + "open-source": "開源", + "image-generation": "影像生成", + "multi-modal": "多模態", + "fast": "快速", + "english-model": "英文模型", + "badges": { + "non-billing": "免費", + "times-billing": "{{price}} / 次", + "token-billing": "輸入 {{input}} / 1k tokens 輸出 {{output}} / 1k tokens" + } + }, + "market": { + "title": "模型市集", + "list": "模型列表", + "model": "探索更多模型", + "go": "前往模型市集", + "explore": "探索", + "search": "搜尋模型名稱或簡介", + "model-api": "API 請求的模型 ID 名稱" + }, + "conversation": { + "title": "對話", + "empty": "空空如也", + "refresh-failed": "重新整理失敗", + "refresh-failed-prompt": "請求出錯,請再試一次。", + "remove-title": "確定要刪除嗎?", + "remove-description": "此操作無法復原。這將永久刪除對話 ", + "remove-all-title": "清除歷史紀錄", + "remove-all-description": "此操作無法復原。這將永久刪除所有對話,是否繼續?", + "cancel": "取消", + "delete": "刪除", + "edit-title": "編輯標題", + "delete-conversation": "刪除對話", + "delete-success": "對話已刪除", + "delete-success-prompt": "對話已刪除。", + "delete-failed": "刪除失敗", + "delete-failed-prompt": "刪除對話失敗,請檢查您的網路並再試一次。" + }, + "chat": { + "web": "網路搜尋", + "web-aria": "切換網路搜尋功能", + "placeholder": "輸入些什麼... (Ctrl+Enter 傳送)", + "placeholder-enter": "輸入些什麼... (Enter 傳送)", + "placeholder-raw": "輸入些什麼...", + "recall": "歷史訊息復原", + "recall-desc": "偵測到您上次有未傳送的訊息,已為您復原。", + "recall-cancel": "取消", + "send-message": "傳送訊息", + "send-message-desc": "您確定要傳送此訊息嗎?", + "actions": { + "upscale": "放大", + "variant": "變化", + "reroll": "重繪" + } + }, + "message": { + "copy": "複製訊息", + "save": "儲存為檔案", + "save-image": "儲存圖片", + "use": "使用訊息", + "edit": "編輯訊息", + "stop": "暫停回覆", + "remove": "刪除訊息", + "restart": "重新回覆", + "copy-area": "複製選取區域", + "saving-image-prompt": "圖片產生中", + "saving-image-prompt-desc": "正在產生圖片,請稍候...", + "saving-image-failed": "圖片產生失敗", + "saving-image-failed-prompt": "圖片產生失敗,原因:{{reason}}", + "saving-image-success": "圖片產生成功", + "saving-image-success-prompt": "圖片已成功儲存。", + "sharing": { + "title": "標題", + "time": "時間", + "message": "訊息" + } + }, + "quota-description": "訊息的點數支出", + "buy": { + "not-config-link": "後台未設定購買連結", + "choose": "選擇一個金額", + "other": "其他", + "other-desc": "需要多少點數?", + "buy": "購買 {{amount}} 點數", + "dalle": "DALL·E AI 繪圖", + "dalle-free": "DALL·E 2 繪圖永久免費", + "flex": "彈性計費", + "input": "輸入", + "output": "輸出", + "learn-more": "了解更多", + "buy-link": "前往購買", + "dialog-title": "購買點數", + "dialog-desc": "您確定要購買 {{amount}} 點數嗎?", + "dialog-cancel": "取消", + "dialog-buy": "購買", + "success": "購買成功", + "success-prompt": "您已成功購買 {{amount}} 點數。", + "redeem": "兌換", + "redeem-placeholder": "請輸入兌換碼", + "deeptrain-tip": "提示:在 Deeptrain 儲值至錢包後,請返回此處,點選購買相應點數", + "exchange-success": "兌換成功", + "exchange-success-prompt": "您已成功兌換 {{amount}} 點數。", + "failed": "購買失敗", + "failed-prompt": "購買點數失敗,請確認您有足夠的餘額。", + "exchange-failed": "兌換失敗", + "exchange-failed-prompt": "兌換失敗,原因:{{reason}}", + "gpt4-tip": "提示:網路搜尋功能可能會導致更多的輸入點數消耗", + "go": "前往" + }, + "pkg": { + "title": "禮包", + "go": "前往實名認證", + "cert": "實名認證禮包", + "cert-desc": "完成實名認證後可獲得 50 點數(價值 5 元)", + "teen": "學生福利", + "teen-desc": "實名認證後未成年人(18 歲及以下)可額外獲得 150 點數(價值 15 元)", + "close": "關閉", + "state": { + "true": "已領取", + "false": "無法領取" + } + }, + "sub": { + "title": "訂閱", + "disable": "本站訂閱功能已被關閉", + "quota-link": "想要彈性計費?購買點數", + "plan-not-support-relay": "站台訂閱額度不涵蓋中繼 API,中繼 API 請使用彈性計費點數", + "subscription-link": "想要固定計費?訂閱方案", + "dialog-title": "訂閱方案", + "free": "免費版", + "free-price": "永久免費", + "basic": "基本版", + "standard": "標準版", + "pro": "專業版", + "plan-price": "{{money}} 元/月", + "include-tax": "含稅", + "plan-usage": "{{name}} 每月使用 {{times}} 次", + "plan-unlimited-usage": "{{name}} 無限次使用", + "plan-tip": "可呼叫模型", + "enterprise": "企業版", + "enterprise-service": "優先技術支援", + "enterprise-sla": "SLA 保障", + "enterprise-speed": "TPM 速率提升", + "enterprise-security": "SOC-2 標準資料安全保障", + "enterprise-data": "異地資料災備", + "enterprise-deploy": "支援私有化部署", + "contact-sale": "聯絡業務", + "current": "目前方案", + "subscribe": "訂閱", + "upgrade": "升級", + "downgrade": "降級", + "renew": "續訂", + "cannot-select": "無法選擇", + "select-time": "選擇訂閱時間", + "migrate-plan": "變更訂閱方案", + "migrate-plan-desc": "變更訂閱後,您的訂閱時間將會根據剩餘天數價格重新計算。(如降級會延長時間,升級則會補足差價)", + "price": "價格 {{price}} 元", + "price-tax": "含稅 {{price}} 元", + "upgrade-price": "升級費用 {{price}} 元 (僅供參考)", + "expired": "訂閱剩餘天數", + "time": { + "1": "1 個月", + "3": "3 個月", + "6": "半年", + "12": "1 年", + "36": "3 年" + }, + "success": "訂閱成功", + "success-prompt": "您已成功訂閱 {{month}} 個月。", + "migrate-success": "變更成功", + "migrate-success-prompt": "您已成功變更訂閱方案。", + "failed": "訂閱失敗", + "failed-prompt": "訂閱失敗,請確認您有足夠的餘額。", + "failed-quota-prompt": "訂閱失敗,您的餘額不足 ({{quota}} 點數)", + "migrate-failed": "變更失敗", + "sub-migrate-failed-prompt": "您的訂閱變更失敗,原因:{{reason}}" + }, + "cancel": "取消", + "confirm": "確認", + "percent": "{{cent}}折", + "file": { + "file": "檔案", + "upload": "上傳檔案", + "type": "支援 PDF、DOCX、PPTX、XLSX、圖片、文字等格式", + "drop": "將檔案拖曳至此處或點選上傳", + "parse-error": "解析失敗", + "parse-error-prompt": "解析失敗:{{reason}}", + "max-length": "內容過長", + "max-length-prompt": "由於上下文長度限制,內容已被截斷", + "over-size": "檔案過大", + "over-size-prompt": "單一附件大小不能超過 {{size}} MB", + "large-file": "大型檔案解析", + "large-file-prompt": "正在上傳並解析大型檔案中,請耐心等候", + "large-file-success": "解析成功", + "large-file-success-prompt": "大型檔案解析成功,共耗時 {{time}} 秒", + "number": "{{number}} 個檔案", + "zipper": "{{filename}} 和其他 {{number}} 個檔案", + "empty-file": "空白檔案", + "empty-file-prompt": "檔案內容為空,已自動忽略" + }, + "generate": { + "title": "AI 專案產生器", + "input-placeholder": "產生一個 Python 小遊戲", + "failed": "產生失敗", + "reason": "原因:", + "success": "產生成功", + "success-prompt": "成功產生專案!請選擇下載格式。", + "empty": "產生中...", + "download": "下載 {{name}} 格式" + }, + "api": { + "title": "API 設定", + "copied": "複製成功", + "copied-description": "API 金鑰已複製到剪貼簿", + "learn-more": "了解更多", + "reset": "重設金鑰", + "reset-description": "是否確定?此操作無法復原。這將永久重設 API 金鑰,已有的 API 金鑰將會失效。" + }, + "service": { + "title": "發現新版本", + "version": "版本", + "description": "發現新版本,是否立即更新?", + "update": "更新", + "offline-title": "離線模式", + "offline": "應用程式目前處於離線狀態。", + "update-success": "更新成功", + "update-success-prompt": "您已更新至最新版本。" + }, + "share": { + "title": "分享", + "share-conversation": "分享對話", + "description": "將此對話與他人分享:", + "copy-link": "複製連結", + "view": "檢視", + "success": "分享成功", + "failed": "分享失敗", + "copied": "複製成功", + "copied-description": "連結已複製到剪貼簿", + "not-found": "找不到對話", + "not-found-description": "找不到對話,請檢查連結是否正確或對話是否已被刪除", + "manage": "分享管理", + "sync-error": "同步失敗", + "name": "對話標題", + "time": "時間", + "action": "操作", + "empty": "還沒有分享紀錄,快來分享吧!", + "share-tip": "前往對話區,點選分享按鈕分享對話" + }, + "docs": { + "title": "開放文件" + }, + "invitation": { + "title": "兌換碼", + "invitation": "禮品碼", + "input-placeholder": "請輸入禮品碼", + "cancel": "取消", + "check": "驗證", + "check-success": "兌換成功", + "check-success-description": "兌換成功!您已獲得 {{amount}} 點數,開始您的 AI 之旅吧!", + "check-failed": "兌換失敗" + }, + "contact": { + "title": "聯絡我們" + }, + "settings": { + "title": "設定", + "description": "偏好設定", + "version": "目前版本", + "language": "顯示語言", + "sender": "傳送鍵", + "context": "保留上下文", + "history": "最大歷史對話數", + "align": "對話方塊置中", + "memory": "記憶體用量", + "max-tokens": "最大回覆 Token 數", + "max-tokens-tip": "最大回覆 Token 數,超過此數值將會被截斷(過高的數值可能會導致超過模型的最大 Token 而請求失敗)", + "temperature": "溫度", + "temperature-tip": "隨機取樣的比例,高溫度會產生更多的隨機性,低溫度會產生較集中和確定性的文字", + "top-p": "核心取樣機率閾值", + "top-p-tip": "(TopP) 機率取值越大,產生的隨機性越高;取值越低,產生的確定性越高", + "top-k": "取樣候選集大小", + "top-k-tip": "(TopK) 候選集大小,越大產生的隨機性越高,越小產生的確定性越高", + "presence-penalty": "出現懲罰", + "presence-penalty-tip": "(PresencePenalty) 存在懲罰,控制模型產生新話題的可能性,提高此值可以增加談論新話題的可能性", + "frequency-penalty": "頻率懲罰", + "frequency-penalty-tip": "(FrequencyPenalty) 頻率懲罰,控制模型產生字詞的重複程度,提高此值可以降低重複字詞出現頻率的可能性", + "repetition-penalty": "重複懲罰", + "repetition-penalty-tip": "(RepetitionPenalty) 控制模型產生的重複程度,提高此值可以減少重複,但可能會導致模型產生不連貫的文字(與 FrequencyPenalty 相似)", + "reset-settings": "重設所有設定", + "reset-settings-description": "是否確定?此操作無法復原。這將永久重設所有設定。" + }, + "article": { + "title": "批次產生文章", + "input-placeholder": "請輸入文章標題(一行一個)", + "prompt-placeholder": "請輸入預設(幫助 AI 產生文章,如:學術論文格式,800 字)", + "web-checkbox": "是否開啟網路搜尋功能", + "generate": "產生", + "progress-title": "產生中(總共 {{total}} 篇,{{current}} 篇已產生)", + "generate-success": "產生成功", + "generate-success-prompt": "文章產生成功!請選擇下載格式。", + "generate-failed": "產生失敗", + "generate-failed-prompt": "文章產生失敗,請檢查您的網路並再試一次。", + "download-format": "下載 {{name}} 格式" + }, + "admin": { + "dashboard": "儀錶板", + "users": "後台管理", + "user": "使用者管理", + "broadcast": "通知管理", + "channel": "管道設定", + "settings": "系統設定", + "prize": "價格設定", + "subscription": "訂閱管理", + "exit": "退出後台", + "billing": "收入", + "billing-today": "今日入帳", + "billing-month": "本月入帳", + "subscription-users": "訂閱使用者", + "seat": "席", + "view": "檢視", + "model-chart": "模型使用統計", + "model-chart-tip": "Token 用量", + "model-usage-chart": "模型使用佔比", + "user-type-chart": "使用者類型佔比", + "user-type-chart-tip": "其他付費使用者:指訂閱過期使用者或點數超過當前初始點數的使用者(使用禮品碼等操作也會被算作點數增加的變更)", + "user-type-chart-info": "總共 {{total}} 位使用者", + "request-chart": "請求量統計", + "billing-chart": "收入統計", + "error-chart": "錯誤統計", + "requests": "請求量", + "times": "異常次數", + "empty": "無資料", + "cancel": "取消", + "confirm": "確認", + "invitation": "兌換碼管理", + "code": "兌換碼", + "invitation-code": "禮品碼", + "invitation-manage": "禮品碼管理", + "invitation-tips": "禮品碼用於兌換點數,每一類禮品碼一位使用者只能使用一次(可作宣傳使用)", + "redeem-tips": "兌換碼用於兌換點數,可用於支付發卡等", + "quota": "點數", + "type": "類型", + "used": "狀態", + "number": "數量", + "username": "使用者名稱", + "email": "電子郵件", + "month": "月數", + "poster": "發布者", + "post-at": "發布時間", + "broadcast-content": "公告內容", + "create-broadcast": "發布公告", + "broadcast-placeholder": "請輸入通知內容 (支援 Markdown / HTML)", + "broadcast-tip": "通知僅會顯示最新一條,並且只會通知一次。系統設定中可設定網站公告,首次接收將會彈窗顯示於首頁並支援後續檢視。", + "post": "發布", + "post-success": "發布成功", + "post-success-prompt": "公告發布成功。", + "post-failed": "發布失敗", + "post-failed-prompt": "發布失敗,原因:{{reason}}", + "level": "等級", + "is-admin": "管理員", + "is-banned": "封鎖", + "used-quota": "已用點數", + "is-subscribed": "是否訂閱", + "is-subscribed-tips": "是否訂閱評判邏輯:有訂閱等級且訂閱時間未過期", + "total-month": "總計訂閱月數", + "expired-at": "訂閱到期時間", + "enterprise": "企業版", + "action": "操作", + "search-username": "搜尋使用者名稱", + "password-action": "變更密碼", + "password-action-desc": "請輸入使用者的新密碼", + "set-admin-action": "設為管理員", + "set-admin-action-desc": "確定將該使用者設為管理員?", + "cancel-admin-action": "取消管理員", + "cancel-admin-action-desc": "確定取消該使用者的管理員權限?", + "ban-action": "封鎖使用者", + "ban-action-desc": "確定要封鎖該使用者?", + "unban-action": "解除封鎖使用者", + "unban-action-desc": "確定要解除封鎖該使用者?", + "email-action": "變更電子郵件", + "email-action-desc": "請輸入使用者的新電子郵件", + "quota-action": "點數變更", + "quota-action-desc": "請輸入點數變更值(正數為增加,負數為減少)", + "quota-set-action": "點數設定", + "quota-set-action-desc": "設定使用者的點數", + "subscription-action": "訂閱時間管理", + "subscription-action-desc": "請設定使用者 {{username}} 的訂閱到期時間", + "release-subscription-action": "釋放訂閱用量", + "release-subscription-action-desc": "是否釋放使用者的訂閱用量?", + "subscription-level": "設定訂閱等級", + "subscription-level-desc": "設定使用者的訂閱等級", + "operate-success": "操作成功", + "operate-success-prompt": "您的操作已成功執行。", + "operate-failed": "操作失敗", + "operate-failed-prompt": "操作失敗,原因:{{reason}}", + "created-at": "建立時間", + "updated-at": "更新時間", + "used-at": "領取時間", + "used-username": "領取使用者", + "used-true": "已使用", + "used-false": "未使用", + "generate": "批次產生", + "generate-result": "產生結果", + "error": "請求失敗", + "default-password": "密碼變更提示", + "default-password-prompt": "您的管理員密碼為預設密碼,為了您的帳戶安全,請盡快變更密碼。(前往後台管理 - 系統設定 - 變更 Root 密碼)", + "chatnio-format-only": "此格式為 Chat Nio 獨有格式", + "identity": { + "normal": "一般使用者", + "api_paid": "其他付費使用者", + "basic_plan": "基本版訂閱使用者", + "standard_plan": "標準版訂閱使用者", + "pro_plan": "專業版訂閱使用者" + }, + "market": { + "title": "模型市場", + "model-name": "模型名稱", + "not-use": "部分模型未使用", + "import-all": "匯入全部", + "new-model": "新增模型", + "model-name-placeholder": "請輸入模型暱稱(如:GPT-4)", + "model-id": "模型 ID", + "model-id-placeholder": "請輸入模型 ID(如:gpt-4-0613)", + "model-description": "模型簡介", + "model-description-placeholder": "請輸入模型簡介", + "model-context": "高上下文", + "model-context-tip": "模型是否為高上下文模型(高上下文模型檔案解析時不會被長內容截斷)", + "model-is-default": "預設模型", + "model-is-default-tip": "模型是否新增至預設模型列表(未新增至預設模型列表的模型預設不會出現在首頁模型列表中)", + "model-tag": "模型標籤", + "model-image": "模型圖片", + "custom-image": "自訂圖片", + "custom-image-placeholder": "請輸入圖片連結", + "update": "更新", + "migrate": "提交", + "sync": "同步上游", + "sync-option": "同步選項", + "sync-site": "上游地址", + "sync-tip": "同步上游模型市場", + "sync-placeholder": "請輸入上游 Chat Nio 的 API 地址,如:https://api.chatnio.net", + "sync-failed": "同步失敗", + "sync-failed-prompt": "地址無法請求或者模型市場模型為空\n(端點:{{endpoint}})", + "sync-success": "同步成功", + "sync-success-prompt": "已從上游同步,新增 {{length}} 個模型,請檢查後點選提交方可生效,否則將不會儲存", + "sync-items": "共發現 {{length}} 個模型,已有模型 {{exist}} 個(不會覆蓋),新增模型 {{new}} 個(同步全部),本站台管道已支援模型 {{support}} 個(同步已支援模型)", + "sync-all": "同步全部 ({{length}} 個)", + "sync-self": "同步已支援模型 ({{length}} 個)", + "update-success": "更新成功", + "update-success-prompt": "模型市場已成功更新(重新整理瀏覽器即可立即套用)", + "update-failed": "更新失敗", + "update-failed-prompt": "更新請求失敗,原因:{{reason}}" + }, + "redeem": { + "quota": "點數", + "used": "已用個數", + "total": "總個數", + "code": "兌換碼" + }, + "plan": { + "enable": "啟用訂閱", + "price": "價格", + "price-tip": "一月訂閱價格(單位:元)", + "item-id": "ID", + "item-id-placeholder": "請輸入實體 ID(Item ID 不能重複使用,如:gpt-4)", + "item-name": "名稱", + "item-name-placeholder": "請輸入實體名稱(Item Name 用於顯示在訂閱列表中的實體名稱,如:GPT-4)", + "item-value": "額度", + "item-value-tip": "每月額度(單位:次)", + "item-icon": "圖示", + "item-icon-tip": "實體圖示(Item Icon 用於顯示在訂閱列表中的圖示)", + "item-models": "模型", + "item-models-tip": "實體涵蓋的模型(Item Models 用於顯示在訂閱列表中的模型)", + "item-models-search-placeholder": "搜尋模型 ID", + "item-models-placeholder": "已選擇 {{length}} 個模型", + "add-item": "新增", + "import-item": "匯入", + "sync": "同步上游", + "sync-option": "同步選項", + "sync-site": "上游地址", + "sync-placeholder": "請輸入上游 Chat Nio 的 API 地址,如:https://api.chatnio.net", + "sync-result": "發現上游訂閱規則數 {{length}} 個,涵蓋模型 {{models}} 個,是否覆蓋本站台訂閱規則?" + }, + "channels": { + "id": "管道 ID", + "name": "名稱", + "name-tip": "管道名稱,用於識別管道", + "name-placeholder": "請輸入管道名稱", + "type": "類型", + "priority": "優先順序", + "priority-tip": "多管道時,根據優先順序請求,數值越大優先順序越高", + "weight": "權重", + "weight-tip": "同優先順序時,根據權重比例進行均衡負載呼叫", + "retry": "最大重試次數", + "retry-tip": "當管道請求失敗時,最多重試的次數", + "model": "模型", + "secret": "金鑰", + "secret-placeholder": "請輸入金鑰,格式:{{format}}(<> 不用填)\n多個金鑰時,一行一個,請求時隨機選取負載", + "endpoint": "接入點", + "endpoint-placeholder": "請輸入接入點(即代理)", + "mapper": "模型對應", + "mapper-tip": "模型名稱轉換,實現非對稱的模型請求", + "mapper-placeholder": "請輸入模型對應,一行一個,格式:model>model\n前者為請求的模型,後者為對應的模型(需要在模型中存在),中間用 > 分隔\n格式前加 ! 表示原模型不包含在此管道的可用範圍內,如:!gpt-4-slow>gpt-4,那麼 gpt-4 將不會被涵蓋在此管道的可請求模型中", + "group": "使用者群組", + "advanced": "進階設定", + "group-tip": "使用者群組,未包含的群組將不包含在此管道的可用範圍內(群組為空時,所有使用者都可以使用此管道)", + "state": "狀態", + "action": "操作", + "edit": "編輯管道", + "enable": "啟用管道", + "disable": "停用管道", + "delete": "刪除管道", + "create": "建立管道", + "joint": "對接上游", + "joint-endpoint": "上游地址", + "joint-endpoint-placeholder": "請輸入上游 Chat Nio 的 API 地址,如:https://api.chatnio.net", + "upstream-endpoint-placeholder": "請輸入上游 OpenAI 地址,如:https://api.openai.com", + "sync-secret-placeholder": "請輸入上游管道的 API 金鑰", + "joint-secret": "API 金鑰", + "joint-secret-placeholder": "請輸入上游 Chat Nio 的 API 金鑰", + "sync-failed": "同步失敗", + "sync-failed-prompt": "地址無法請求或者模型市場模型為空\n(端點:{{endpoint}})", + "sync-success": "同步成功", + "sync-success-prompt": "已從上游同步新增 {{length}} 個模型。", + "search-model": "搜尋模型", + "fill-template-models": "填入範本模型({{number}} 個)", + "add-custom-model": "新增自訂模型(多個模型用空格分隔)", + "add-model": "新增模型", + "clear-models": "清空所有模型", + "group-placeholder": "已選擇 {{length}} 個群組", + "group-desc": "使用者類型群組,未包含的群組將不包含在此管道的可用範圍內(群組為空時,所有使用者都可以使用此管道),非特殊情況無需設定群組", + "groups": { + "anonymous": "匿名使用者", + "normal": "一般使用者", + "basic": "基本版訂閱使用者", + "standard": "標準版訂閱使用者", + "pro": "專業版訂閱使用者", + "admin": "管理員使用者" + }, + "proxy-type": "代理類型", + "proxy-endpoint": "代理地址", + "proxy-endpoint-placeholder": "請輸入正向代理地址,如:socks5://example.com:1080", + "proxy-username": "代理使用者名稱", + "proxy-username-placeholder": "請輸入代理的驗證使用者名稱(可選)", + "proxy-password": "代理密碼", + "proxy-password-placeholder": "請輸入代理的驗證密碼(可選)", + "proxy-desc": "正向代理,支援 HTTP/HTTPS/SOCKS5 代理(反向代理請填寫接入點,非特殊情況無需設定正向代理)" + }, + "charge": { + "id": "ID", + "type": "類型", + "model": "模型", + "quota": "點數", + "action": "操作", + "input": "輸入", + "output": "輸出", + "support-anonymous": "支援匿名", + "non-billing": "不計費", + "times-billing": "按次計費", + "token-billing": "按 Token 計費", + "anonymous": "支援匿名呼叫", + "time-count": "單次請求點數", + "input-count": "輸入點數", + "output-count": "輸出點數", + "add-rule": "新增規則", + "update-rule": "更新規則", + "unused-model": "部分模型計費規則未設定", + "unused-model-tip": "計費規則未設定的模型為避免損失,一般使用者將無法請求", + "sync": "同步上游", + "sync-option": "同步選項", + "sync-site": "上游地址", + "sync-tip": "同步上游計費規則", + "sync-placeholder": "請輸入上游 Chat Nio 的 API 地址,如:https://api.chatnio.net", + "sync-failed": "同步失敗", + "sync-failed-prompt": "地址無法請求或者計費規則為空\n(端點:{{endpoint}})", + "sync-prompt": "已從上游取得 {{length}} 個模型的規則,將影響目前 {{influence}} 個模型的規則,是否繼續?", + "sync-overwrite": "覆蓋現有規則", + "sync-confirm": "確認同步", + "sync-builtin": "套用內建價格", + "usd-currency": "美元兌人民幣匯率" + }, + "system": { + "general": "一般設定", + "search": "網路搜尋", + "site": "網站設定", + "mail": "SMTP 發信設定", + "common": "通用設定", + "save": "儲存", + "updateRoot": "變更 Root 密碼", + "updateRootTip": "請謹慎操作,變更 Root 密碼後,您需要重新登入。", + "updateRootPlaceholder": "請輸入新的 Root 密碼", + "updateRootRepeatPlaceholder": "請再次輸入新的 Root 密碼", + "test": "測試發信", + "title": "網站名稱", + "titleTip": "網站名稱,用於顯示在網站標題,留空為預設值", + "logo": "網站 Logo", + "docs": "文件連結", + "docsTip": "文件連結,留空為預設值 https://docs.chatnio.net", + "logoTip": "網站 Logo 的連結,用於顯示在網站標題,留空為預設值(如 {{logo}})", + "file": "檔案解析服務", + "filePlaceholder": "檔案解析服務,留空為預設值 https://blob.chatnio.net(不保證穩定性)", + "fileTip": "檔案解析服務,請參考 [chatnio-blob-service](https://github.com/Deeptrain-Community/chatnio-blob-service) 專案進行建置", + "backend": "後端網域", + "backendTip": "後端網域(Docker 安裝預設路徑為 /api),用於接收回呼和儲存等,預設為空\n範例:{{backend}}", + "backendPlaceholder": "後端回呼網域,預設為空,接收回呼必填", + "debugMode": "除錯模式", + "debugModeTip": "除錯模式,開啟後日誌將輸出詳細的請求參數等日誌,用於排查問題", + "mailHost": "發信網域", + "mailProtocol": "發信協定", + "mailPort": "SMTP 埠", + "mailUser": "使用者名稱", + "mailPass": "密碼", + "mailFrom": "寄件人", + "mailEnableWhitelist": "啟用網域名稱後綴白名單", + "mailConfNotValid": "SMTP 發信參數未正確設定,已停用電子郵件驗證", + "mailWhitelist": "網域名稱後綴白名單", + "mailWhitelistSelected": "已選擇 {{length}} 個網域電子郵件", + "mailWhitelistSearchPlaceholder": "搜尋網域名稱後綴", + "customWhitelistPlaceholder": "請輸入自訂網域名稱後綴列表(輸入後將出現在選項列表中可供選擇),使用英文逗號分隔,如:example.com,example.net", + "searchEndpoint": "搜尋接入點", + "searchQuery": "最大搜尋結果數", + "searchQueryTip": "最大搜尋結果數,預設為 5", + "searchCrop": "開啟結果截斷", + "searchCropTip": "開啟結果截斷,開啟後搜尋結果內容的字元數如果超過最大結果字元數,則內容後面會被截斷", + "searchCropLen": "最大結果字元數", + "searchEngines": "搜尋引擎設定", + "searchEnginesPlaceholder": "已選擇 {{length}} 個搜尋引擎", + "searchEnginesSearchPlaceholder": "請輸入搜尋引擎名稱,如:Google", + "searchEnginesEmptyTip": "設定搜尋引擎為空時,預設使用 SearXNG 內預設設定的搜尋引擎", + "searchTest": "搜尋測試", + "searchTestTip": "搜尋測試,輸入查詢內容進行搜尋測試", + "searchSafeSearch": "安全搜尋模式", + "searchSafeSearchModes": { + "none": "關閉", + "moderation": "中等", + "strict": "嚴格" + }, + "searchImageProxy": "開啟圖片代理", + "searchImageProxyTip": "圖片代理,開啟後搜尋引擎回傳的圖片將會透過 SearXNG 服務節點代理載入", + "searchTip": "[SearXNG](https://github.com/searxng/searxng) 開源搜尋引擎提供網路搜尋能力。SearXNG Docker 私有化部署範例:[SearXNG Docker](https://github.com/zmh-program/searxng)", + "searchPlaceholder": "SearXNG 服務接入點(例如 http://ip:7980)", + "closeRegistration": "暫停註冊", + "closeRegistrationTip": "暫停註冊,關閉後新使用者將無法註冊", + "closeRelay": "關閉中繼 API", + "closeRelayTip": "關閉中繼 API,關閉後中繼 API 將無法使用", + "relayPlan": "訂閱額度支援中繼 API", + "relayPlanTip": "訂閱額度支援中繼 API,開啟後中繼 API 計費會優先考慮使用使用者訂閱額度\n(提示:訂閱為次數額度,對 Token 計費的模型可能會影響成本)", + "quota": "使用者初始點數", + "quotaTip": "使用者註冊後贈送的點數", + "buyLink": "購買連結", + "buyLinkPlaceholder": "請輸入卡密的購買連結,留空不顯示購買按鈕", + "announcement": "網站公告", + "announcementPlaceholder": "請輸入網站公告(支援 Markdown / HTML 格式)", + "contact": "聯絡資訊", + "contactPlaceholder": "請輸入聯絡資訊(支援 Markdown / HTML 格式)", + "footer": "頁尾資訊", + "footerPlaceholder": "請輸入頁尾資訊(支援 Markdown / HTML 格式)", + "authFooter": "登入後隱藏頁尾", + "article": "批次文章生成功能群組", + "articleTip": "批次文章生成功能群組,勾選後目前使用者組可使用批次文章生成功能", + "generate": "AI 專案產生器群組", + "generateTip": "AI 專案產生器群組,勾選後目前使用者組可使用 AI 專案產生器", + "groupPlaceholder": "已選擇 {{length}} 個群組", + "cache": "可快取的模型", + "cacheTip": "可快取的模型,勾選後目前模型可被快取並命中快取", + "cachePlaceholder": "已選擇 {{length}} 個模型", + "image_store": "圖片儲存", + "image_storeTip": "OpenAI 管道 DALL-E 產生的圖片將儲存於伺服器端以防止圖片失效", + "image_storeNoBackend": "未設定後端網域,無法啟用圖片儲存", + "cacheAll": "設定為全部可快取", + "cacheFree": "設定為免費模型可快取", + "cacheNone": "設定為全部不可快取", + "cacheExpired": "快取過期時間", + "cacheExpiredTip": "快取過期時間(單位:秒),預設 1 小時", + "cacheSize": "最大快取可能性區塊大小", + "cacheSizeTip": "最大快取可能性大小,即同一類型輸入參數的最大快取可能性大小,若參數為 1,則最大快取的內容為 1 個,後請求的內容會被直接命中,若參數為 4,則有 4 種回傳的內容,後請求的內容會被命中其中一個" + }, + "logger": { + "title": "服務日誌", + "console": "控制台", + "consoleLength": "日誌數量" + } + }, + "mask": { + "title": "預設設定", + "search": "搜尋預設名稱", + "system": "系統預設", + "custom": "我的預設", + "edit": "編輯預設", + "create": "新增預設", + "context": "包含 {{length}} 條上下文", + "avatar": "預設頭像", + "conversation": "預設對話", + "name": "預設標題", + "name-placeholder": "請輸入預設標題", + "description": "預設簡介", + "description-placeholder": "請輸入預設簡介", + "search-emoji": "搜尋 Emoji", + "actions": { + "clone": "複製預設", + "use": "使用預設", + "edit": "編輯預設", + "delete": "刪除預設" + } + }, + "date": { + "pick": "選擇日期", + "today": "今天", + "clean": "歸零", + "add-day": "增加一天", + "sub-day": "減少一天", + "add-month": "增加一個月", + "sub-month": "減少一個月", + "add-year": "增加一年", + "sub-year": "減少一年" + } +}