ChatGPT-Next-Web/app/locales/cn.ts
2023-05-22 00:59:36 +08:00

267 lines
7.6 KiB
TypeScript
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

import { SubmitKey } from "../store/config";
const cn = {
WIP: "该功能仍在开发中……",
Error: {
Unauthorized:
"访问密码不正确或为空,请前往[设置](/#/settings)页输入正确的访问密码,或者填入你自己的 OpenAI API Key。",
},
ChatItem: {
ChatItemCount: (count: number) => `${count} 条对话`,
},
Chat: {
SubTitle: (count: number) => `与 ChatGPT 的 ${count} 条对话`,
Actions: {
ChatList: "查看消息列表",
CompressedHistory: "查看压缩后的历史 Prompt",
Export: "导出聊天记录",
Copy: "复制",
Stop: "停止",
Retry: "重试",
Delete: "删除",
},
Rename: "重命名对话",
Typing: "正在输入…",
Input: (submitKey: string) => {
var inputHints = `${submitKey} 发送`;
if (submitKey === String(SubmitKey.Enter)) {
inputHints += "Shift + Enter 换行";
}
return inputHints + "/ 触发补全";
},
Send: "发送",
Config: {
Reset: "清除记忆",
SaveAs: "存为面具",
},
},
Export: {
Title: "分享聊天记录",
Copy: "全部复制",
Download: "下载文件",
Share: "分享到 ShareGPT",
MessageFromYou: "来自你的消息",
MessageFromChatGPT: "来自 ChatGPT 的消息",
Format: {
Title: "导出格式",
SubTitle: "可以导出 Markdown 文本或者 PNG 图片",
},
IncludeContext: {
Title: "包含面具上下文",
SubTitle: "是否在消息中展示面具上下文",
},
Steps: {
Select: "选取",
Preview: "预览",
},
},
Select: {
Search: "搜索消息",
All: "选取全部",
Latest: "最近十条",
Clear: "清除选中",
},
Memory: {
Title: "历史摘要",
EmptyContent: "对话内容过短,无需总结",
Send: "自动压缩聊天记录并作为上下文发送",
Copy: "复制摘要",
Reset: "[unused]",
ResetConfirm: "确认清空历史摘要?",
},
Home: {
NewChat: "新的聊天",
DeleteChat: "确认删除选中的对话?",
DeleteToast: "已删除会话",
Revert: "撤销",
},
Settings: {
Title: "设置",
SubTitle: "设置选项",
Actions: {
ClearAll: "清除所有数据",
ResetAll: "重置所有选项",
Close: "关闭",
ConfirmResetAll: "确认重置所有配置?",
ConfirmClearAll: "确认清除所有数据?",
},
Lang: {
Name: "Language", // ATTENTION: if you wanna add a new translation, please do not translate this value, leave it as `Language`
All: "所有语言",
},
Avatar: "头像",
FontSize: {
Title: "字体大小",
SubTitle: "聊天内容的字体大小",
},
Update: {
Version: (x: string) => `当前版本:${x}`,
IsLatest: "已是最新版本",
CheckUpdate: "检查更新",
IsChecking: "正在检查更新...",
FoundUpdate: (x: string) => `发现新版本:${x}`,
GoToUpdate: "前往更新",
},
SendKey: "发送键",
Theme: "主题",
TightBorder: "无边框模式",
SendPreviewBubble: {
Title: "预览气泡",
SubTitle: "在预览气泡中预览 Markdown 内容",
},
Mask: {
Title: "",
SubTitle: "",
},
Prompt: {
Disable: {
Title: "",
SubTitle: " / ",
},
List: "",
ListCount: (builtin: number, custom: number) =>
`内置 ${builtin} 条,用户定义 ${custom} 条`,
Edit: "",
Modal: {
Title: "",
Add: "",
Search: "",
},
EditModal: {
Title: "",
},
},
HistoryCount: {
Title: "",
SubTitle: "",
},
CompressThreshold: {
Title: "",
SubTitle: "",
},
Token: {
Title: "API Key",
SubTitle: "使 Key 访",
Placeholder: "OpenAI API Key",
},
Usage: {
Title: "",
SubTitle(used: any, total: any) {
return `本月已使用 $${used},订阅总额 $${total}`;
},
IsChecking: "",
Check: "",
NoAccess: " API Key 访",
},
AccessCode: {
Title: "访",
SubTitle: "访",
Placeholder: "访",
},
Model: " (model)",
Temperature: {
Title: " (temperature)",
SubTitle: "",
},
MaxTokens: {
Title: " (max_tokens)",
SubTitle: " Token ",
},
PresencePenalty: {
Title: " (presence_penalty)",
SubTitle: "",
},
},
Store: {
DefaultTopic: "",
BotHello: "",
Error: "",
Prompt: {
History: (content: string) => "" + content,
Topic:
"使",
Summarize:
" prompt 200 ",
},
},
Copy: {
Success: "",
Failed: "",
},
Context: {
Toast: (x: any) => `包含 ${x} 条预设提示词`,
Edit: "",
Add: "",
Clear: "",
Revert: "",
},
Plugin: {
Name: "",
},
Mask: {
Name: "",
Page: {
Title: "",
SubTitle: (count: number) => `${count} 个预设角色定义`,
Search: "",
Create: "",
},
Item: {
Info: (count: number) => `包含 ${count} 条预设对话`,
Chat: "",
View: "",
Edit: "",
Delete: "",
DeleteConfirm: "",
},
EditModal: {
Title: (readonly: boolean) =>
`编辑预设面具 ${readonly ? "" : ""}`,
Download: "",
Clone: "",
},
Config: {
Avatar: "",
Name: "",
Sync: {
Title: "使",
SubTitle: "使",
Confirm: "",
},
HideContext: {
Title: "",
SubTitle: "",
},
},
},
NewChat: {
Return: "",
Skip: "",
NotShow: "",
ConfirmNoShow: "",
Title: "",
SubTitle: "",
More: "",
},
UI: {
Confirm: "",
Cancel: "",
Close: "",
Create: "",
Edit: "",
},
};
type DeepPartial<T> = T extends object
? {
[P in keyof T]?: DeepPartial<T[P]>;
}
: T;
export type LocaleType = DeepPartial<typeof cn>;
export type RequiredLocaleType = typeof cn;
export default cn;