Ver código fonte

Merge pull request #6580 from terrydkim/main

Docs: Add & Update korean docs
RiverRay 4 meses atrás
pai
commit
7d8e0f7868
4 arquivos alterados com 778 adições e 14 exclusões
  1. 492 0
      README_KO.md
  2. 284 12
      app/locales/ko.ts
  3. 1 1
      docs/cloudflare-pages-ko.md
  4. 1 1
      docs/vercel-ko.md

+ 492 - 0
README_KO.md

@@ -0,0 +1,492 @@
+<div align="center">
+
+<a href='https://nextchat.club'>
+  <img src="https://github.com/user-attachments/assets/83bdcc07-ae5e-4954-a53a-ac151ba6ccf3" width="1000" alt="icon"/>
+</a>
+
+<h1 align="center">NextChat</h1>
+
+영어 / [简体中文](./README_CN.md)
+
+<a href="https://trendshift.io/repositories/5973" target="_blank">
+  <img src="https://trendshift.io/api/badge/repositories/5973" alt="ChatGPTNextWeb%2FChatGPT-Next-Web | Trendshift" style="width: 250px; height: 55px;" width="250" height="55"/>
+</a>
+
+✨ 빠르고 가벼운 AI 어시스턴트, Claude, DeepSeek, GPT-4, Gemini Pro 지원
+
+[![Saas][Saas-image]][saas-url]
+[![Web][Web-image]][web-url]
+[![Windows][Windows-image]][download-url]
+[![MacOS][MacOS-image]][download-url]
+[![Linux][Linux-image]][download-url]
+
+[NextChatAI 웹사이트](https://nextchat.club?utm_source=readme) / [iOS 앱](https://apps.apple.com/us/app/nextchat-ai/id6743085599) / [웹 데모](https://app.nextchat.club) / [데스크톱 앱](https://github.com/Yidadaa/ChatGPT-Next-Web/releases) / [엔터프라이즈 버전](#enterprise-edition)
+
+[saas-url]: https://nextchat.club?utm_source=readme
+[saas-image]: https://img.shields.io/badge/NextChat-Saas-green?logo=microsoftedge
+[web-url]: https://app.nextchat.club/
+[download-url]: https://github.com/Yidadaa/ChatGPT-Next-Web/releases
+[Web-image]: https://img.shields.io/badge/Web-PWA-orange?logo=microsoftedge
+[Windows-image]: https://img.shields.io/badge/-Windows-blue?logo=windows
+[MacOS-image]: https://img.shields.io/badge/-MacOS-black?logo=apple
+[Linux-image]: https://img.shields.io/badge/-Linux-333?logo=ubuntu
+
+[<img src="https://zeabur.com/button.svg" alt="Deploy on Zeabur" height="30">](https://zeabur.com/templates/ZBUEFA) [<img src="https://vercel.com/button" alt="Deploy on Vercel" height="30">](https://vercel.com/new/clone?repository-url=https%3A%2F%2Fgithub.com%2FChatGPTNextWeb%2FChatGPT-Next-Web&env=OPENAI_API_KEY&env=CODE&project-name=nextchat&repository-name=NextChat) [<img src="https://gitpod.io/button/open-in-gitpod.svg" alt="Open in Gitpod" height="30">](https://gitpod.io/#https://github.com/ChatGPTNextWeb/NextChat)
+
+[<img src="https://github.com/user-attachments/assets/903482d4-3e87-4134-9af1-f2588fa90659" height="50" width="" >](https://monica.im/?utm=nxcrp)
+
+</div>
+
+## ❤️ AI API 후원사
+
+<a href='https://302.ai/'>
+  <img src="https://github.com/user-attachments/assets/a03edf82-2031-4f23-bdb8-bfc0bfd168a4" width="100%" alt="icon"/>
+</a>
+
+[302.AI](https://302.ai/)는 사용한 만큼만 비용을 지불하는 AI 애플리케이션 플랫폼으로, 다양한 AI API 및 온라인 애플리케이션을 제공합니다.
+
+## 🥳 NextChat iOS 버전 출시!
+
+> 👉 [지금 설치하기](https://apps.apple.com/us/app/nextchat-ai/id6743085599)
+
+> ❤️ [소스 코드 곧 공개 예정](https://github.com/ChatGPTNextWeb/NextChat-iOS)
+
+![Github iOS Image](https://github.com/user-attachments/assets/e0aa334f-4c13-4dc9-8310-e3b09fa4b9f3)
+
+## 🫣 NextChat, MCP 지원!
+
+> 빌드 전 환경 변수(env) `ENABLE_MCP=true` 설정 필요
+
+<img src="https://github.com/user-attachments/assets/d8851f40-4e36-4335-b1a4-ec1e11488c7e" />
+
+## 엔터프라이즈 버전
+
+회사 내부 시스템에 맞춘 프라이빗 배포 및 맞춤형 커스터마이징 지원:
+
+- **브랜드 커스터마이징**: 기업 이미지에 맞는 UI/UX 테마 적용
+- **리소스 통합 관리**: 다양한 AI 모델을 통합하여 팀원이 손쉽게 사용 가능
+- **권한 제어**: 관리자 패널을 통한 멤버·리소스·지식 베이스 권한 설정
+- **지식 통합**: 사내 문서 및 데이터와 AI를 결합한 맞춤형 답변 제공
+- **보안 감사**: 민감한 질문 차단 및 모든 기록 추적 가능
+- **프라이빗 배포 지원**: 주요 클라우드 서비스에 맞춘 배포 옵션
+- **지속적 업데이트**: 멀티모달 등 최신 AI 기능 지속 반영
+
+엔터프라이즈 문의: **business@nextchat.dev**
+
+## 🖼️ 스크린샷
+
+![설정](./docs/images/settings.png)
+![기타](./docs/images/more.png)
+
+## 주요 기능 소개
+
+- Vercel에서 원클릭 무료 배포 (1분 내 완성)
+- 모든 OS(Linux/Windows/MacOS)에서 사용 가능한 클라이언트 (~5MB) [지금 다운 받기](https://github.com/Yidadaa/ChatGPT-Next-Web/releases)
+- 자체 LLM 서버와 완벽 호환. [RWKV-Runner](https://github.com/josStorer/RWKV-Runner) 또는 [LocalAI](https://github.com/go-skynet/LocalAI)와 함께 사용하는 것을 추천
+- 개인 정보 보호: 모든 대화 기록은 브라우저에만 저장
+- Markdown 지원: LaTex, Mermaid, 코드 하이라이팅 등
+- 반응형 디자인, 다크 모드, PWA 지원
+- 빠른 초기 로딩 속도 (~100kb), 스트리밍 응답
+- 프롬프트 템플릿 생성/공유/디버깅 지원 (v2)
+- v2: 프롬프트 템플릿 기반 도구 생성, 공유, 디버깅 가능
+- 고급 프롬프트 내장 [awesome-chatgpt-prompts-zh](https://github.com/PlexPt/awesome-chatgpt-prompts-zh) and [awesome-chatgpt-prompts](https://github.com/f/awesome-chatgpt-prompts)
+- 긴 대화 내용 자동 압축 저장으로 토큰 절약
+- I18n: English, 简体中文, 繁体中文, 日本語, Français, Español, Italiano, Türkçe, Deutsch, Tiếng Việt, Русский, Čeština, 한국어, Indonesia
+
+<div align="center">
+   
+![主界面](./docs/images/cover.png)
+
+</div>
+
+## 개발 로드맵
+
+- [x] 시스템 프롬프트: 사용자가 정의한 프롬프트를 시스템 프롬프트로 고정하기 [#138](https://github.com/Yidadaa/ChatGPT-Next-Web/issues/138)
+- [x] 사용자 프롬프트: 사용자 정의 프롬프트를 편집 및 저장하여 리스트로 관리 가능
+- [x] 프롬프트 템플릿: 사전 정의된 인컨텍스트 프롬프트로 새 채팅 생성 [#993](https://github.com/Yidadaa/ChatGPT-Next-Web/issues/993)
+- [x] 이미지로 공유하거나 ShareGPT로 공유 [#1741](https://github.com/Yidadaa/ChatGPT-Next-Web/pull/1741)
+- [x] Tauri 기반 데스크톱 앱
+- [x] 자체 모델 호스팅: [RWKV-Runner](https://github.com/josStorer/RWKV-Runner), [LocalAI](https://github.com/go-skynet/LocalAI) 등 서버 배포 모델들과 완벽 호환 (llama, gpt4all, rwkv, vicuna, koala, gpt4all-j, cerebras, falcon, dolly 등)
+- [x] 아티팩트: 생성된 콘텐츠 및 웹페이지를 별도 창으로 미리보기, 복사, 공유 가능 [#5092](https://github.com/ChatGPTNextWeb/ChatGPT-Next-Web/pull/5092)
+- [x] 플러그인: 웹 검색, 계산기, 기타 외부 API 기능 지원 [#165](https://github.com/Yidadaa/ChatGPT-Next-Web/issues/165) [#5353](https://github.com/ChatGPTNextWeb/ChatGPT-Next-Web/issues/5353)
+- [x] 실시간 채팅 지원 [#5672](https://github.com/ChatGPTNextWeb/ChatGPT-Next-Web/issues/5672)
+- [ ] 로컬 지식 베이스 지원 예정
+
+## 🚀 최근 업데이트
+
+- 🚀 v2.15.8 실시간 채팅 지원 [#5672](https://github.com/ChatGPTNextWeb/ChatGPT-Next-Web/issues/5672)
+- 🚀 v2.15.4 Tauri 기반 LLM API 호출 기능 추가 → 보안 강화 [#5379](https://github.com/ChatGPTNextWeb/ChatGPT-Next-Web/issues/5379)
+- 🚀 v2.15.0 플러그인 기능 추가 → [NextChat-Awesome-Plugins](https://github.com/ChatGPTNextWeb/NextChat-Awesome-Plugins)
+- 🚀 v2.14.0 아티팩트 및 Stable Diffusion 기능 추가
+- 🚀 v2.10.1 Google Gemini Pro 모델 지원
+- 🚀 v2.9.11 Azure Endpoint 사용 가능
+- 🚀 v2.8 모든 플랫폼에서 실행 가능한 클라이언트 출시
+- 🚀 v2.7 대화 내용을 이미지로, 또는 ShareGPT로 공유 가능
+- 🚀 v2.0 릴리즈: 프롬프트 템플릿 생성 및 아이디어 구현 가능! → [ChatGPT Prompt Engineering Tips](https://www.allabtai.com/prompt-engineering-tips-zero-one-and-few-shot-prompting/)
+
+## 시작하기
+
+1. [OpenAI API 키](https://platform.openai.com/account/api-keys)를 발급받습니다.
+2. 
+   [![Deploy with Vercel](https://vercel.com/button)](https://vercel.com/new/clone?repository-url=https%3A%2F%2Fgithub.com%2FYidadaa%2FChatGPT-Next-Web&env=OPENAI_API_KEY&env=CODE&project-name=chatgpt-next-web&repository-name=ChatGPT-Next-Web) 버튼을 클릭해 Vercel에 배포합니다. `CODE`는 페이지 비밀번호라는 점을 기억하세요.
+
+3. Enjoy :)
+
+## FAQ
+
+[FAQ](./docs/faq-ko.md)
+
+## 최신 상태 유지 (Keep Updated)
+
+Vercel로 배포한 경우, "Updates Available" 메시지가 계속 나타날 수 있습니다. 이는 프로젝트를 포크하지 않고 새로 생성했기 때문입니다.
+
+다음 절차에 따라 다시 배포를 권장합니다:
+
+1. 기존 레포 삭제
+2. 우측 상단 "Fork" 버튼 클릭 → 포크 생성
+3. 포크된 프로젝트를 다시 Vercel에 배포  
+   → [자세한 튜토리얼 보기](./docs/vercel-ko.md)
+
+### 자동 업데이트 활성화 (Enable Automatic Updates)
+
+> Upstream Sync 오류 발생 시, [수동으로 코드 업데이트](./README_KO.md#manually-updating-code)하세요.
+
+프로젝트 포크 후에는 GitHub의 제약으로 인해 Actions 페이지에서 아래 항목들을 수동으로 활성화해야 합니다:
+
+- `Workflows`
+- `Upstream Sync Action`
+
+이후 매 시간 자동으로 업데이트됩니다:
+
+![자동 업데이트 활성화](./docs/images/enable-actions.jpg)  
+![업스트림 동기화 활성화](./docs/images/enable-actions-sync.jpg)
+
+### 수동 업데이트 방법 (Manually Updating Code)
+
+즉시 업데이트가 필요한 경우, [깃헙 문서](https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/working-with-forks/syncing-a-fork)를 참고해 포크된 프로젝트를 upstream code와 동기화하세요.
+
+릴리스 알림을 원하시면 star 또는 watch를 눌러주세요.
+
+## 접근 비밀번호 설정 (Access Password)
+
+이 프로젝트는 제한된 접근 제어를 제공합니다.  
+Vercel 환경 변수에 `CODE`를 다음 형식으로 추가하세요. value는 ,를 통해 구분된 비밀번호여야 합니다.:
+
+```
+code1,code2,code3
+```
+
+수정 후 반드시 다시 배포해야 적용됩니다.
+
+## 환경 변수 (Environment Variables)
+
+### `CODE` (선택 사항)
+
+접속 비밀번호. 쉼표로 구분합니다.
+
+### `OPENAI_API_KEY` (필수)
+
+당신의 OpenAI API 키, 여러 개를 사용하려면 쉼표로 연결합니다.
+
+### `BASE_URL` (선택 사항)
+
+> 기본값: `https://api.openai.com`
+
+> 예시: `http://your-openai-proxy.com`
+
+OpenAI API 요청의 기본 URL을 재정의합니다.
+
+### `OPENAI_ORG_ID` (선택 사항)
+
+OpenAI organization ID를 지정합니다.
+
+### `AZURE_URL` (선택 사항)
+
+> 예시: https://{azure-resource-url}/openai
+
+Azure 배포 URL입니다.
+
+### `AZURE_API_KEY` (선택 사항)
+
+Azure API 키입니다.
+
+### `AZURE_API_VERSION` (선택 사항)
+
+Azure API 버전입니다. [Azure 문서](https://learn.microsoft.com/en-us/azure/ai-services/openai/reference#chat-completions)에서 확인할 수 있습니다.
+
+### `GOOGLE_API_KEY` (선택 사항)
+
+Google Gemini Pro API 키입니다.
+
+### `GOOGLE_URL` (선택 사항)
+
+Google Gemini Pro API URL입니다.
+
+### `ANTHROPIC_API_KEY` (선택 사항)
+
+Anthropic Claude API 키입니다.
+
+### `ANTHROPIC_API_VERSION` (선택 사항)
+
+Anthropic Claude API 버전입니다.
+
+### `ANTHROPIC_URL` (선택 사항)
+
+Anthropic Claude API URL입니다.
+
+### `BAIDU_API_KEY` (선택 사항)
+
+Baidu API 키입니다.
+
+### `BAIDU_SECRET_KEY` (선택 사항)
+
+Baidu Secret 키입니다.
+
+### `BAIDU_URL` (선택 사항)
+
+Baidu API URL입니다.
+
+### `BYTEDANCE_API_KEY` (선택 사항)
+
+ByteDance API 키입니다.
+
+### `BYTEDANCE_URL` (선택 사항)
+
+ByteDance API URL입니다.
+
+### `ALIBABA_API_KEY` (선택 사항)
+
+Alibaba Cloud API 키입니다.
+
+### `ALIBABA_URL` (선택 사항)
+
+Alibaba Cloud API URL입니다.
+
+### `IFLYTEK_URL` (선택 사항)
+
+iflytek API URL입니다.
+
+### `IFLYTEK_API_KEY` (선택 사항)
+
+iflytek API 키입니다.
+
+### `IFLYTEK_API_SECRET` (선택 사항)
+
+iflytek API 시크릿입니다.
+
+### `CHATGLM_API_KEY` (선택 사항)
+
+ChatGLM API 키입니다.
+
+### `CHATGLM_URL` (선택 사항)
+
+ChatGLM API URL입니다.
+
+### `DEEPSEEK_API_KEY` (선택 사항)
+
+DeepSeek API 키입니다.
+
+### `DEEPSEEK_URL` (선택 사항)
+
+DeepSeek API URL입니다.
+
+### `HIDE_USER_API_KEY` (선택 사항)
+
+> 기본값: 비어 있음
+
+사용자가 자신의 API 키를 입력하지 못하게 하려면 이 값을 1로 설정하세요.
+
+### `DISABLE_GPT4` (선택 사항)
+
+> 기본값: 비어 있음
+
+사용자가 GPT-4를 사용하지 못하게 하려면 이 값을 1로 설정하세요.
+
+### `ENABLE_BALANCE_QUERY` (선택 사항)
+
+> 기본값: 비어 있음
+
+사용자가 쿼리 잔액을 조회할 수 있도록 하려면 이 값을 1로 설정하세요.
+
+### `DISABLE_FAST_LINK` (선택 사항)
+
+> 기본값: 비어 있음
+
+URL에서 설정을 파싱하는 기능을 비활성화하려면 이 값을 1로 설정하세요.
+
+### `CUSTOM_MODELS` (선택 사항)
+
+> 기본값: 비어 있음  
+> 예시: `+llama,+claude-2,-gpt-3.5-turbo,gpt-4-1106-preview=gpt-4-turbo`  
+이는 `llama`, `claude-2`를 모델 리스트에 추가하고, `gpt-3.5-turbo`를 제거하며, `gpt-4-1106-preview`를 `gpt-4-turbo`로 표시합니다.
+
+사용자 지정 모델 제어 시 `+`는 추가, `-`는 제거, `이름=표시이름`은 모델명 커스터마이징을 의미합니다. 쉼표로 구분하세요.
+
+- `-all`은 기본 모델을 모두 비활성화  
+- `+all`은 기본 모델을 모두 활성화
+
+Azure 용법 예시: `modelName@Azure=deploymentName` → 배포 이름을 커스터마이징 가능  
+> 예시: `+gpt-3.5-turbo@Azure=gpt35` → 리스트에 `gpt35(Azure)` 표시됨  
+> Azure 모델만 사용할 경우: `-all,+gpt-3.5-turbo@Azure=gpt35`
+
+ByteDance 용법 예시: `modelName@bytedance=deploymentName`  
+> 예시: `+Doubao-lite-4k@bytedance=ep-xxxxx-xxx` → `Doubao-lite-4k(ByteDance)`로 표시됨
+
+### `DEFAULT_MODEL` (선택 사항)
+
+기본 모델을 변경합니다.
+
+### `VISION_MODELS` (선택 사항)
+
+> 기본값: 비어 있음  
+> 예시: `gpt-4-vision,claude-3-opus,my-custom-model`  
+위의 모델들에 시각 기능을 부여합니다 (기본적으로 `"vision"`, `"claude-3"`, `"gemini-1.5"` 키워드를 포함한 모델은 자동 인식됨). 기본 모델 외에도 모델을 추가할 수 있습니다. 쉼표로 구분하세요.
+
+### `WHITE_WEBDAV_ENDPOINTS` (선택 사항)
+
+접속 허용할 WebDAV 서비스 주소를 늘리고자 할 때 사용합니다.
+
+- 각 주소는 완전한 endpoint 여야 함: `https://xxxx/yyy`  
+- 여러 주소는 `,`로 구분
+
+### `DEFAULT_INPUT_TEMPLATE` (선택 사항)
+
+설정 메뉴의 사용자 입력 전처리 구성 항목 초기화 시 사용할 기본 템플릿을 설정합니다.
+
+### `STABILITY_API_KEY` (선택 사항)
+
+Stability API 키입니다.
+
+### `STABILITY_URL` (선택 사항)
+
+Stability API URL을 커스터마이징합니다.
+
+### `ENABLE_MCP` (선택 사항)
+
+MCP (Model Context Protocol) 기능을 활성화합니다.
+
+### `SILICONFLOW_API_KEY` (선택 사항)
+
+SiliconFlow API 키입니다.
+
+### `SILICONFLOW_URL` (선택 사항)
+
+SiliconFlow API URL입니다.
+
+### `AI302_API_KEY` (선택 사항)
+
+302.AI API 키입니다.
+
+### `AI302_URL` (선택 사항)
+
+302.AI API URL입니다.
+
+## 요구 사항 (Requirements)
+
+NodeJS >= 18, Docker >= 20
+
+## 개발 (Development)
+
+[![Gitpod에서 열기](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/#https://github.com/Yidadaa/ChatGPT-Next-Web)
+
+개발을 시작하기 전에 프로젝트 루트에 `.env.local` 파일을 만들고, 아래와 같이 API 키를 입력하세요:
+
+```
+OPENAI_API_KEY=<여기에 API 키 입력>
+
+# OpenAI 서비스를 사용할 수 없는 경우 아래 BASE_URL 사용
+BASE_URL=https://chatgpt1.nextweb.fun/api/proxy
+```
+
+### 로컬 개발 실행
+
+```shell
+# 1. Node.js와 Yarn을 먼저 설치
+# 2. `.env.local` 파일에 환경 변수 설정
+# 3. 실행
+yarn install
+yarn dev
+```
+
+## 배포 (Deployment)
+
+### Docker (권장)
+
+```shell
+docker pull yidadaa/chatgpt-next-web
+
+docker run -d -p 3000:3000 \
+   -e OPENAI_API_KEY=sk-xxxx \
+   -e CODE=your-password \
+   yidadaa/chatgpt-next-web
+```
+
+서비스에 프록시를 사용하려면:
+
+```shell
+docker run -d -p 3000:3000 \
+   -e OPENAI_API_KEY=sk-xxxx \
+   -e CODE=your-password \
+   -e PROXY_URL=http://localhost:7890 \
+   yidadaa/chatgpt-next-web
+```
+
+프록시에 인증이 필요한 경우:
+
+```shell
+-e PROXY_URL="http://127.0.0.1:7890 user pass"
+```
+
+MCP를 활성화하려면:
+
+```
+docker run -d -p 3000:3000 \
+   -e OPENAI_API_KEY=sk-xxxx \
+   -e CODE=your-password \
+   -e ENABLE_MCP=true \
+   yidadaa/chatgpt-next-web
+```
+
+### 로컬 배포
+
+콘솔에서 다음 명령을 실행하세요.
+
+```shell
+bash <(curl -s https://raw.githubusercontent.com/Yidadaa/ChatGPT-Next-Web/main/scripts/setup.sh)
+```
+
+⚠️ 참고: 설치 중에 문제가 발생하면 Docker 배포를 사용하세요.
+
+## 채팅 기록 동기화 (UpStash)
+
+| [简体中文](./docs/synchronise-chat-logs-cn.md) | [English](./docs/synchronise-chat-logs-en.md) | [Italiano](./docs/synchronise-chat-logs-es.md) | [日本語](./docs/synchronise-chat-logs-ja.md) | [한국어](./docs/synchronise-chat-logs-ko.md)
+
+## 문서 (Documentation)
+
+> 더 많은 문서는 [docs](./docs) 디렉토리를 참고하세요.
+
+- [Cloudflare 배포 가이드 (폐기됨)](./docs/cloudflare-pages-ko.md)
+- [자주 묻는 질문](./docs/faq-ko.md)
+- [새 번역 추가 방법](./docs/translation.md)
+- [Vercel 사용법 (중문)](./docs/vercel-cn.md)
+- [사용자 매뉴얼 (중문, 작성 중)](./docs/user-manual-cn.md)
+
+## 번역 (Translation)
+
+새로운 번역을 추가하고 싶다면, [이 문서](./docs/translation.md)를 읽어보세요.
+
+## 후원 (Donation)
+
+[Buy Me a Coffee](https://www.buymeacoffee.com/yidadaa)
+
+## 특별 감사 (Special Thanks)
+
+### 기여자 (Contributors)
+
+<a href="https://github.com/ChatGPTNextWeb/ChatGPT-Next-Web/graphs/contributors">
+  <img src="https://contrib.rocks/image?repo=ChatGPTNextWeb/ChatGPT-Next-Web" />
+</a>
+
+## 라이선스 (LICENSE)
+
+[MIT](https://opensource.org/license/mit/)

+ 284 - 12
app/locales/ko.ts

@@ -9,10 +9,10 @@ const ko: PartialLocaleType = {
   Error: {
     Unauthorized: isApp
       ? `😆 대화 중 문제가 발생했습니다, 걱정하지 마세요:
-    \\ 1️⃣ 제로 구성으로 시작하고 싶다면, [여기를 클릭하여 즉시 대화를 시작하세요 🚀](${SAAS_CHAT_UTM_URL})
+    \\ 1️⃣ 세팅 없이 시작하고 싶다면, [여기를 클릭하여 즉시 대화를 시작하세요 🚀](${SAAS_CHAT_UTM_URL})
     \\ 2️⃣ 자신의 OpenAI 리소스를 사용하고 싶다면, [여기를 클릭하여](/#/settings) 설정을 수정하세요 ⚙️`
       : `😆 대화 중 문제가 발생했습니다, 걱정하지 마세요:
-    \ 1️⃣ 제로 구성으로 시작하고 싶다면, [여기를 클릭하여 즉시 대화를 시작하세요 🚀](${SAAS_CHAT_UTM_URL})
+    \ 1️⃣ 세팅 없이 시작하고 싶다면, [여기를 클릭하여 즉시 대화를 시작하세요 🚀](${SAAS_CHAT_UTM_URL})
     \ 2️⃣ 개인 배포 버전을 사용하고 있다면, [여기를 클릭하여](/#/auth) 접근 키를 입력하세요 🔑
     \ 3️⃣ 자신의 OpenAI 리소스를 사용하고 싶다면, [여기를 클릭하여](/#/settings) 설정을 수정하세요 ⚙️
  `,
@@ -27,7 +27,7 @@ const ko: PartialLocaleType = {
     Return: "돌아가기",
     SaasTips: "설정이 너무 복잡합니다. 즉시 사용하고 싶습니다.",
     TopTips:
-      "🥳 NextChat AI 출시 기념 할인, 지금 OpenAI o1, GPT-4o, Claude-3.5 및 최신 대형 모델을 해제하세요",
+      "🥳 NextChat AI 출시 기념 할인: 지금 OpenAI o1, GPT-4o, Claude-3.5 및 최신 대형 모델을 사용해보세요!",
   },
   ChatItem: {
     ChatItemCount: (count: number) => `${count} 개의 대화`,
@@ -53,8 +53,11 @@ const ko: PartialLocaleType = {
       PinToastAction: "보기",
       Delete: "삭제",
       Edit: "편집",
+      FullScreen: "전체 화면",
       RefreshTitle: "제목 새로고침",
       RefreshToast: "제목 새로고침 요청이 전송되었습니다",
+      Speech: "재생",
+      StopSpeech: "정지",
     },
     Commands: {
       new: "새 채팅",
@@ -62,6 +65,7 @@ const ko: PartialLocaleType = {
       next: "다음 채팅",
       prev: "이전 채팅",
       clear: "컨텍스트 지우기",
+      fork: "채팅 복사",
       del: "채팅 삭제",
     },
     InputActions: {
@@ -88,11 +92,22 @@ const ko: PartialLocaleType = {
       return inputHints + ",/ 자동 완성,: 명령어 입력";
     },
     Send: "전송",
+    StartSpeak: "재생 시작",
+    StopSpeak: "재생 정지",
     Config: {
       Reset: "기억 지우기",
       SaveAs: "마스크로 저장",
     },
     IsContext: "프롬프트 설정",
+    ShortcutKey: {
+      Title: "키보드 단축키",
+      newChat: "새 채팅 열기",
+      focusInput: "입력 필드 포커스",
+      copyLastMessage: "마지막 답변 복사",
+      copyLastCode: "마지막 코드 블록 복사",
+      showShortcutKey: "단축키 보기",
+      clearContext: "컨텍스트 지우기",
+    },
   },
   Export: {
     Title: "채팅 기록 공유",
@@ -114,9 +129,13 @@ const ko: PartialLocaleType = {
       Preview: "미리보기",
     },
     Image: {
-      Toast: "스크린샷 생성 중",
+      Toast: "스크린샷 생성 중...",
       Modal: "길게 누르거나 오른쪽 클릭하여 이미지를 저장하십시오.",
     },
+    Artifacts: {
+      Title: "공유 아티팩트",
+      Error: "공유 오류",
+    },
   },
   Select: {
     Search: "메시지 검색",
@@ -141,7 +160,7 @@ const ko: PartialLocaleType = {
   Settings: {
     Title: "설정",
     SubTitle: "모든 설정 옵션",
-
+    ShowPassword: "비밀번호 보기",
     Danger: {
       Reset: {
         Title: "모든 설정 초기화",
@@ -187,8 +206,10 @@ const ko: PartialLocaleType = {
       IsChecking: "업데이트 확인 중...",
       FoundUpdate: (x: string) => `새 버전 발견: ${x}`,
       GoToUpdate: "업데이트로 이동",
+      Success: "업데이트 성공",
+      Failed: "업데이트 실패",
     },
-    SendKey: "전송 키",
+    SendKey: "전송",
     Theme: "테마",
     TightBorder: "테두리 없는 모드",
     SendPreviewBubble: {
@@ -221,7 +242,7 @@ const ko: PartialLocaleType = {
         },
         ProxyUrl: {
           Title: "프록시 주소",
-          SubTitle: "이 프로젝트에서 제공하는 교차 출처 프록시만 해당",
+          SubTitle: "이 프로젝트에서 제공하는 CORS 프록시만 해당",
         },
 
         WebDav: {
@@ -295,7 +316,7 @@ const ko: PartialLocaleType = {
         Title: "NextChat AI 사용하기",
         Label: "(가장 비용 효율적인 솔루션)",
         SubTitle:
-          "NextChat에 의해 공식적으로 유지 관리되며, 제로 구성으로 즉시 사용할 수 있으며, OpenAI o1, GPT-4o, Claude-3.5와 같은 최신 대형 모델을 지원합니다",
+          "NextChat에 의해 공식적으로 유지 관리되며, 설정 없이 즉시 사용할 수 있으며, OpenAI o1, GPT-4o, Claude-3.5와 같은 최신 대형 모델을 지원합니다",
         ChatNow: "지금 채팅하기",
       },
 
@@ -395,6 +416,22 @@ const ko: PartialLocaleType = {
           SubTitle: "커스터마이즈는 .env에서 설정",
         },
       },
+      Tencent: {
+        ApiKey: {
+          Title: "Tencent API 키",
+          SubTitle: "커스텀 Tencent API 키 사용",
+          Placeholder: "Tencent API 키",
+        },
+        SecretKey: {
+          Title: "Tencent Secret 키",
+          SubTitle: "커스텀 Tencent Secret 키 사용",
+          Placeholder: "Tencent Secret 키",
+        },
+        Endpoint: {
+          Title: "엔드포인트 주소",
+          SubTitle: "지원되지 않음, .env에서 설정",
+        },
+      },
       ByteDance: {
         ApiKey: {
           Title: "엔드포인트 키",
@@ -417,6 +454,88 @@ const ko: PartialLocaleType = {
           SubTitle: "예: ",
         },
       },
+      Moonshot: {
+        ApiKey: {
+          Title: "Moonshot API 키",
+          SubTitle: "커스텀 Moonshot API 키 사용",
+          Placeholder: "Moonshot API 키",
+        },
+        Endpoint: {
+          Title: "엔드포인트 주소",
+          SubTitle: "예: ",
+        },
+      },
+      DeepSeek: {
+        ApiKey: {
+          Title: "DeepSeek API 키",
+          SubTitle: "커스텀 DeepSeek API 키 사용",
+          Placeholder: "DeepSeek API 키",
+        },
+        Endpoint: {
+          Title: "엔드포인트 주소",
+          SubTitle: "예: ",
+        },
+      },
+      XAI: {
+        ApiKey: {
+          Title: "XAI API 키",
+          SubTitle: "커스텀 XAI API 키 사용",
+          Placeholder: "XAI API 키",
+        },
+        Endpoint: {
+          Title: "엔드포인트 주소",
+          SubTitle: "예: ",
+        },
+      },
+      ChatGLM: {
+        ApiKey: {
+          Title: "ChatGLM API 키",
+          SubTitle: "커스텀 ChatGLM API 키 사용",
+          Placeholder: "ChatGLM API 키",
+        },
+        Endpoint: {
+          Title: "엔드포인트 주소",
+          SubTitle: "예: ",
+        },
+      },
+      SiliconFlow: {
+        ApiKey: {
+          Title: "SiliconFlow API 키",
+          SubTitle: "커스텀 SiliconFlow API 키 사용",
+          Placeholder: "SiliconFlow API 키",
+        },
+        Endpoint: {
+          Title: "엔드포인트 주소",
+          SubTitle: "예: ",
+        },
+      },
+      Stability: {
+        ApiKey: {
+          Title: "Stability API 키",
+          SubTitle: "커스텀 Stability API 키 사용",
+          Placeholder: "Stability API 키",
+        },
+        Endpoint: {
+          Title: "엔드포인트 주소",
+          SubTitle: "예: ",
+        },
+      },
+      Iflytek: {
+        ApiKey: {
+          Title: "Iflytek API 키",
+          SubTitle: "커스텀 Iflytek API 키 사용",
+          Placeholder: "Iflytek API 키",
+        },
+        ApiSecret: {
+          Title: "Iflytek API Secret",
+          SubTitle: "커스텀 Iflytek API Secret 키 사용",
+          Placeholder: "Iflytek API Secret 키",
+        },
+        Endpoint: {
+          Title: "엔드포인트 주소",
+          SubTitle: "예: ",
+        },
+      },
       CustomModel: {
         Title: "커스텀 모델 이름",
         SubTitle: "커스텀 모델 옵션 추가, 영어 쉼표로 구분",
@@ -459,13 +578,67 @@ const ko: PartialLocaleType = {
       Title: "빈도 벌점 (frequency_penalty)",
       SubTitle: "값이 클수록 중복 단어 감소 가능성 높음",
     },
+    TTS: {
+      Enable: {
+        Title: "TTS 활성화",
+        SubTitle: "TTS 서비스 활성화",
+      },
+      Autoplay: {
+        Title: "자동 재생 활성화",
+        SubTitle:
+          "자동으로 음성을 생성하고 재생, 먼저 TTS 스위치를 활성화해야 함",
+      },
+      Model: "모델",
+      Voice: {
+        Title: "음성",
+        SubTitle: "음성을 생성할 때 사용할 음성",
+      },
+      Speed: {
+        Title: "속도",
+        SubTitle: "생성된 음성의 속도",
+      },
+      Engine: "TTS Engine",
+    },
+    Realtime: {
+      Enable: {
+        Title: "실시간 채팅",
+        SubTitle: "실시간 채팅 기능 활성화",
+      },
+      Provider: {
+        Title: "모델 제공업체",
+        SubTitle: "다른 제공업체 간 전환",
+      },
+      Model: {
+        Title: "모델",
+        SubTitle: "모델 선택",
+      },
+      ApiKey: {
+        Title: "API 키",
+        SubTitle: "API 키",
+        Placeholder: "API 키",
+      },
+      Azure: {
+        Endpoint: {
+          Title: "엔드포인트",
+          SubTitle: "엔드포인트",
+        },
+        Deployment: {
+          Title: "배포 이름",
+          SubTitle: "배포 이름",
+        },
+      },
+      Temperature: {
+        Title: "무작위성 (temperature)",
+        SubTitle: "값이 클수록 응답이 더 무작위적",
+      },
+    },
   },
   Store: {
     DefaultTopic: "새 채팅",
     BotHello: "무엇을 도와드릴까요?",
     Error: "오류가 발생했습니다. 나중에 다시 시도해 주세요.",
     Prompt: {
-      History: (content: string) => "이것은 이전 채팅 요약입니다: " + content,
+      History: (content: string) => "이전 채팅 요약: " + content,
       Topic:
         "네 글자에서 다섯 글자로 이 문장의 간략한 주제를 반환하세요. 설명이나 문장 부호, 어미, 불필요한 텍스트, 굵은 글씨는 필요 없습니다. 주제가 없다면 '잡담'이라고만 반환하세요.",
       Summarize:
@@ -487,8 +660,11 @@ const ko: PartialLocaleType = {
     Clear: "컨텍스트가 지워졌습니다.",
     Revert: "컨텍스트 복원",
   },
-  Plugin: {
-    Name: "플러그인",
+  Discovery: {
+    Name: "디스커버리",
+  },
+  Mcp: {
+    Name: "MCP 플러그인",
   },
   FineTuned: {
     Sysmessage: "당신은 보조자입니다.",
@@ -500,7 +676,7 @@ const ko: PartialLocaleType = {
       Search: "검색어 입력",
       NoResult: "결과를 찾을 수 없습니다",
       NoData: "데이터가 없습니다",
-      Loading: "로딩 중",
+      Loading: "로딩 중...",
 
       SubTitle: (count: number) => `${count}개의 결과를 찾았습니다`,
     },
@@ -508,6 +684,47 @@ const ko: PartialLocaleType = {
       View: "보기",
     },
   },
+  Plugin: {
+    Name: "플러그인",
+    Page: {
+      Title: "플러그인",
+      SubTitle: (count: number) => `${count} 개의 플러그인`,
+      Search: "플러그인 검색",
+      Create: "새로 만들기",
+      Find: "github에서 멋진 플러그인을 찾을 수 있습니다: ",
+    },
+    Item: {
+      Info: (count: number) => `${count} 개의 메서드`,
+      View: "보기",
+      Edit: "편집",
+      Delete: "삭제",
+      DeleteConfirm: "삭제하시겠습니까?",
+    },
+    Auth: {
+      None: "없음",
+      Basic: "기본",
+      Bearer: "Bearer",
+      Custom: "커스텀",
+      CustomHeader: "파라미터 이름",
+      Token: "토큰",
+      Proxy: "프록시 사용",
+      ProxyDescription: "CORS 오류 해결을 위해 프록시 사용",
+      Location: "위치",
+      LocationHeader: "헤더",
+      LocationQuery: "쿼리",
+      LocationBody: "바디",
+    },
+    EditModal: {
+      Title: (readonly: boolean) =>
+        `플러그인 편집 ${readonly ? "(읽기 전용)" : ""}`,
+      Download: "다운로드",
+      Auth: "인증 유형",
+      Content: "OpenAPI Schema",
+      Load: "URL에서 로드",
+      Method: "메서드",
+      Error: "OpenAPI Schema 오류",
+    },
+  },
   Mask: {
     Name: "마스크",
     Page: {
@@ -587,6 +804,61 @@ const ko: PartialLocaleType = {
     Topic: "주제",
     Time: "시간",
   },
+  SdPanel: {
+    Prompt: "프롬프트",
+    NegativePrompt: "부정적 프롬프트",
+    PleaseInput: (name: string) => `${name}을 입력하세요`,
+    AspectRatio: "비율",
+    ImageStyle: "이미지 스타일",
+    OutFormat: "출력 형식",
+    AIModel: "AI 모델",
+    ModelVersion: "모델 버전",
+    Submit: "제출",
+    ParamIsRequired: (name: string) => `${name}은 필수 입력 항목입니다`,
+    Styles: {
+      D3Model: "3d-model",
+      AnalogFilm: "analog-film",
+      Anime: "anime",
+      Cinematic: "cinematic",
+      ComicBook: "comic-book",
+      DigitalArt: "digital-art",
+      Enhance: "enhance",
+      FantasyArt: "fantasy-art",
+      Isometric: "isometric",
+      LineArt: "line-art",
+      LowPoly: "low-poly",
+      ModelingCompound: "modeling-compound",
+      NeonPunk: "neon-punk",
+      Origami: "origami",
+      Photographic: "photographic",
+      PixelArt: "pixel-art",
+      TileTexture: "tile-texture",
+    },
+  },
+  Sd: {
+    SubTitle: (count: number) => `${count} 개의 이미지`,
+    Actions: {
+      Params: "파라미터 보기",
+      Copy: "프롬프트 복사",
+      Delete: "삭제",
+      Retry: "다시 시도",
+      ReturnHome: "홈으로 돌아가기",
+      History: "기록",
+    },
+    EmptyRecord: "아직 이미지가 없습니다",
+    Status: {
+      Name: "상태",
+      Success: "성공",
+      Error: "오류",
+      Wait: "대기",
+      Running: "실행 중",
+    },
+    Danger: {
+      Delete: "삭제하시겠습니까?",
+    },
+    GenerateParams: "파라미터 생성",
+    Detail: "상세",
+  },
 };
 
 export default ko;

+ 1 - 1
docs/cloudflare-pages-ko.md

@@ -34,6 +34,6 @@
 12. "저장 후 배포"를 클릭합니다.
 13. 호환성 플래그를 입력해야 하므로 "배포 취소"를 클릭합니다.
 14. "빌드 설정", "기능"으로 이동하여 "호환성 플래그"를 찾습니다.
-"프로덕션 호환성 플래그 구성" 및 "프리뷰 호환성 플래그 구성"에서 "nodejs_compat"를 입력합니다.
+15. "프로덕션 호환성 플래그 구성" 및 "프리뷰 호환성 플래그 구성"에서 "nodejs_compat"를 입력합니다.
 16. "배포"로 이동하여 "배포 다시 시도"를 클릭합니다.
 17. 즐기세요!

+ 1 - 1
docs/vercel-ko.md

@@ -9,7 +9,7 @@
 3. 프로젝트를 선택합니다.
 
 ![vercel-create-2](./images/vercel/vercel-create-2.jpg)
-1. Git 리포지토리 가져오기에서 chatgpt-next-web을 검색합니다. 2. 새 포크를 선택합니다;
+1. Git 리포지토리 가져오기에서 chatgpt-next-web을 검색합니다.
 2. 새로 포크된 프로젝트를 선택하고 가져오기를 클릭합니다.
 
 ![vercel-create-3](./images/vercel/vercel-create-3.jpg)