ChatGPT-Next-Web/app/locales/ko.ts
2024-09-25 16:11:57 +08:00

582 lines
19 KiB
TypeScript
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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";
import type { PartialLocaleType } from "./index";
import { getClientConfig } from "../config/client";
import { SAAS_CHAT_UTM_URL } from "@/app/constant";
const isApp = !!getClientConfig()?.isApp;
const ko: PartialLocaleType = {
WIP: "곧 출시 예정...",
Error: {
Unauthorized: isApp
? `😆 대화 중 문제가 발생했습니다, 걱정하지 마세요:
\\ 1⃣ 제로 구성으로 시작하고 싶다면, [여기를 클릭하여 즉시 대화를 시작하세요 🚀](${SAAS_CHAT_UTM_URL})
\\ 2⃣ 자신의 OpenAI 리소스를 사용하고 싶다면, [여기를 클릭하여](/#/settings) 설정을 수정하세요 ⚙️`
: `😆 대화 중 문제가 발생했습니다, 걱정하지 마세요:
\ 1⃣ 제로 구성으로 시작하고 싶다면, [여기를 클릭하여 즉시 대화를 시작하세요 🚀](${SAAS_CHAT_UTM_URL})
\ 2⃣ 개인 배포 버전을 사용하고 있다면, [여기를 클릭하여](/#/auth) 접근 키를 입력하세요 🔑
\ 3⃣ 자신의 OpenAI 리소스를 사용하고 싶다면, [여기를 클릭하여](/#/settings) 설정을 수정하세요 ⚙️
`,
},
Auth: {
Title: "비밀번호 필요",
Tips: "관리자가 비밀번호 인증을 활성화했습니다. 아래에 접근 코드를 입력하십시오.",
SubTips: "또는 OpenAI 또는 Google API 키를 입력하십시오.",
Input: " .",
Confirm: "",
Later: " ",
Return: "",
SaasTips: " . .",
TopTips:
"🥳 NextChat AI , OpenAI o1, GPT-4o, Claude-3.5 ",
},
ChatItem: {
ChatItemCount: (count: number) => `${count} 개의 대화`,
},
Chat: {
SubTitle: (count: number) => `총 ${count} 개의 대화`,
EditMessage: {
Title: " ",
Topic: {
Title: " ",
SubTitle: " ",
},
},
Actions: {
ChatList: " ",
CompressedHistory: " ",
Export: " ",
Copy: "",
Stop: "",
Retry: " ",
Pin: "",
PinToastContent: "1 .",
PinToastAction: "",
Delete: "",
Edit: "",
RefreshTitle: " ",
RefreshToast: " ",
},
Commands: {
new: " ",
newm: " ",
next: " ",
prev: " ",
clear: " ",
del: " ",
},
InputActions: {
Stop: " ",
ToBottom: " ",
Theme: {
auto: " ",
light: " ",
dark: " ",
},
Prompt: " ",
Masks: " ",
Clear: " ",
Settings: " ",
UploadImage: " ",
},
Rename: " ",
Typing: " ",
Input: (submitKey: string) => {
var inputHints = `${submitKey} 전송`;
if (submitKey === String(SubmitKey.Enter)) {
inputHints += "Shift + Enter ";
}
return inputHints + "/ : ";
},
Send: "",
Config: {
Reset: " ",
SaveAs: " ",
},
IsContext: " ",
},
Export: {
Title: " ",
Copy: " ",
Download: " ",
Share: "ShareGPT에 ",
MessageFromYou: "",
MessageFromChatGPT: "ChatGPT",
Format: {
Title: " ",
SubTitle: "Markdown PNG .",
},
IncludeContext: {
Title: " ",
SubTitle: " ",
},
Steps: {
Select: "",
Preview: "",
},
Image: {
Toast: " ",
Modal: " .",
},
},
Select: {
Search: " ",
All: " ",
Latest: " ",
Clear: " ",
},
Memory: {
Title: " ",
EmptyContent: " ",
Send: " ",
Copy: " ",
Reset: "[ ]",
ResetConfirm: " ?",
},
Home: {
NewChat: " ",
DeleteChat: " ?",
DeleteToast: " .",
Revert: "",
},
Settings: {
Title: "",
SubTitle: " ",
Danger: {
Reset: {
Title: " ",
SubTitle: " ",
Action: " ",
Confirm: " ?",
},
Clear: {
Title: " ",
SubTitle: " ",
Action: " ",
Confirm: " ?",
},
},
Lang: {
Name: "Language", // 주의: 새 번역을 추가하려면 이 값을 번역하지 말고 그대로 유지하세요.
All: " ",
},
Avatar: "",
FontSize: {
Title: " ",
SubTitle: " ",
},
FontFamily: {
Title: " ",
SubTitle: " , ",
Placeholder: " ",
},
InjectSystemPrompts: {
Title: " ",
SubTitle:
" ChatGPT ",
},
InputTemplate: {
Title: " ",
SubTitle: " 릿 .",
},
Update: {
Version: (x: string) => `현재 버전: ${x}`,
IsLatest: " .",
CheckUpdate: " ",
IsChecking: " ...",
FoundUpdate: (x: string) => `새 버전 발견: ${x}`,
GoToUpdate: " ",
},
SendKey: " ",
Theme: "",
TightBorder: " ",
SendPreviewBubble: {
Title: " ",
SubTitle: " Markdown ",
},
AutoGenerateTitle: {
Title: " ",
SubTitle: " ",
},
Sync: {
CloudState: " ",
NotSyncYet: " .",
Success: " ",
Fail: " ",
Config: {
Modal: {
Title: " ",
Check: " ",
},
SyncType: {
Title: " ",
SubTitle: " ",
},
Proxy: {
Title: " ",
SubTitle:
" ",
},
ProxyUrl: {
Title: " ",
SubTitle: " ",
},
WebDav: {
Endpoint: "WebDAV ",
UserName: " ",
Password: "",
},
UpStash: {
Endpoint: "UpStash Redis REST URL",
UserName: " ",
Password: "UpStash Redis REST Token",
},
},
LocalState: " ",
Overview: (overview: any) => {
return `${overview.chat} 회의 대화, ${overview.message} 개의 메시지, ${overview.prompt} 개의 프롬프트, ${overview.mask} 개의 마스크`;
},
ImportFailed: " ",
},
Mask: {
Splash: {
Title: " ",
SubTitle: " ",
},
Builtin: {
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: " ",
},
Usage: {
Title: " ",
SubTitle(used: any, total: any) {
return `이번 달 사용된 금액: $${used},총 구독 금액: $${total}`;
},
IsChecking: " ...",
Check: " ",
NoAccess: " API .",
},
Access: {
SaasStart: {
Title: "NextChat AI ",
Label: "( )",
SubTitle:
"NextChat에 , , OpenAI o1, GPT-4o, Claude-3.5 ",
ChatNow: " ",
},
AccessCode: {
Title: " ",
SubTitle: " .",
Placeholder: " .",
},
CustomEndpoint: {
Title: " ",
SubTitle: " Azure OpenAI ",
},
Provider: {
Title: " ",
SubTitle: " ",
},
OpenAI: {
ApiKey: {
Title: "API ",
SubTitle: " OpenAI ",
Placeholder: "OpenAI API ",
},
Endpoint: {
Title: " ",
SubTitle: " http(s)://을 포함해야 함",
},
},
Azure: {
ApiKey: {
Title: "엔드포인트 키",
SubTitle: "커스텀 Azure 키를 사용하여 비밀번호 접근 제한 우회",
Placeholder: "Azure API 키",
},
Endpoint: {
Title: "엔드포인트 주소",
SubTitle: "예: ",
},
ApiVerion: {
Title: "API 버전 (azure api version)",
SubTitle: "특정 부분 버전 선택",
},
},
Anthropic: {
ApiKey: {
Title: "엔드포인트 키",
SubTitle: "커스텀 Anthropic 키를 사용하여 비밀번호 접근 제한 우회",
Placeholder: "Anthropic API 키",
},
Endpoint: {
Title: "엔드포인트 주소",
SubTitle: "예: ",
},
ApiVerion: {
Title: "API 버전 (claude api version)",
SubTitle: "특정 API 버전 입력",
},
},
Google: {
ApiKey: {
Title: "API 키",
SubTitle: "Google AI에서 API 키를 가져오세요.",
Placeholder: "Google AI Studio API 키 입력",
},
Endpoint: {
Title: "엔드포인트 주소",
SubTitle: "예: ",
},
ApiVersion: {
Title: "API 버전 (gemini-pro 전용)",
SubTitle: "특정 API 버전 선택",
},
GoogleSafetySettings: {
Title: "Google 안전 필터링 수준",
SubTitle: "콘텐츠 필터링 수준 설정",
},
},
Baidu: {
ApiKey: {
Title: "API 키",
SubTitle: "커스텀 Baidu API 키 사용",
Placeholder: "Baidu API 키",
},
SecretKey: {
Title: "Secret 키",
SubTitle: "커스텀 Baidu Secret 키 사용",
Placeholder: "Baidu Secret 키",
},
Endpoint: {
Title: "엔드포인트 주소",
SubTitle: "커스터마이즈는 .env에서 설정",
},
},
ByteDance: {
ApiKey: {
Title: "엔드포인트 키",
SubTitle: "커스텀 ByteDance API 키 사용",
Placeholder: "ByteDance API 키",
},
Endpoint: {
Title: "엔드포인트 주소",
SubTitle: "예: ",
},
},
Alibaba: {
ApiKey: {
Title: "엔드포인트 키",
SubTitle: "커스텀 Alibaba Cloud API 키 사용",
Placeholder: "Alibaba Cloud API 키",
},
Endpoint: {
Title: "엔드포인트 주소",
SubTitle: "예: ",
},
},
CustomModel: {
Title: "커스텀 모델 이름",
SubTitle: "커스텀 모델 옵션 추가, 영어 쉼표로 구분",
},
},
Model: "모델 (model)",
CompressModel: {
Title: "압축 모델",
SubTitle: "기록을 압축하는 데 사용되는 모델",
},
Temperature: {
Title: "무작위성 (temperature)",
SubTitle: "값이 클수록 응답이 더 무작위적",
},
TopP: {
Title: "탑 P 샘플링 (top_p)",
SubTitle: "무작위성과 유사하지만, 무작위성과 함께 변경하지 마십시오.",
},
MaxTokens: {
Title: "단일 응답 제한 (max_tokens)",
SubTitle: "단일 상호작용에 사용되는 최대 토큰 수",
},
PresencePenalty: {
Title: "주제 신선도 (presence_penalty)",
SubTitle: "값이 클수록 새로운 주제로 확장할 가능성이 높음",
},
FrequencyPenalty: {
Title: "빈도 벌점 (frequency_penalty)",
SubTitle: "값이 클수록 중복 단어 감소 가능성 높음",
},
},
Store: {
DefaultTopic: "새 채팅",
BotHello: "무엇을 도와드릴까요?",
Error: "오류가 발생했습니다. 나중에 다시 시도해 주세요.",
Prompt: {
History: (content: string) => "이것은 이전 채팅 요약입니다: " + content,
Topic:
"네 글자에서 다섯 글자로 이 문장의 간략한 주제를 반환하세요. 설명이나 문장 부호, 어미, 불필요한 텍스트, 굵은 글씨는 필요 없습니다. 주제가 없다면 '잡담'이라고만 반환하세요.",
Summarize:
"대화 내용을 간략히 요약하여 후속 컨텍스트 프롬프트로 사용하세요. 200자 이내로 작성하세요.",
},
},
Copy: {
Success: "클립보드에 복사되었습니다.",
Failed: "복사 실패, 클립보드 권한을 부여해주세요.",
},
Download: {
Success: "내용이 디렉토리에 다운로드되었습니다.",
Failed: "다운로드 실패.",
},
Context: {
Toast: (x: any) => ` ${x} 개의 프리셋 프롬프트 포함됨`,
Edit: "현재 대화 설정",
Add: "대화 추가",
Clear: "컨텍스트가 지워졌습니다.",
Revert: "컨텍스트 복원",
},
Plugin: {
Name: "플러그인",
},
FineTuned: {
Sysmessage: "당신은 보조자입니다.",
},
SearchChat: {
Name: "검색",
Page: {
Title: "채팅 기록 검색",
Search: "검색어 입력",
NoResult: "결과를 찾을 수 없습니다",
NoData: "데이터가 없습니다",
Loading: "로딩 중",
SubTitle: (count: number) => `${count}개의 결과를 찾았습니다`,
},
Item: {
View: "보기",
},
},
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: "숨기면 프리셋 대화가 채팅 화면에 나타나지 않습니다.",
},
Share: {
Title: "이 마스크 공유하기",
SubTitle: "이 마스크의 직접 링크 생성",
Action: "링크 복사",
},
},
},
NewChat: {
Return: "돌아가기",
Skip: "바로 시작",
NotShow: "다시 보지 않기",
ConfirmNoShow:
"비활성화하시겠습니까? 비활성화 후 언제든지 설정에서 다시 활성화할 수 있습니다.",
Title: "마스크 선택",
SubTitle: "지금 시작하여 마스크 뒤의 사고와 교류해보세요.",
More: "모두 보기",
},
URLCommand: {
Code: "링크에 액세스 코드가 포함되어 있습니다. 자동으로 입력하시겠습니까?",
Settings:
"링크에 프리셋 설정이 포함되어 있습니다. 자동으로 입력하시겠습니까?",
},
UI: {
Confirm: "확인",
Cancel: "취소",
Close: "닫기",
Create: "새로 만들기",
Edit: "편집",
Export: "내보내기",
Import: "가져오기",
Sync: "동기화",
Config: "구성",
},
Exporter: {
Description: {
Title: "컨텍스트가 지워진 후의 메시지만 표시됩니다.",
},
Model: "모델",
Messages: "메시지",
Topic: "주제",
Time: "시간",
},
};
export default ko;