diff --git a/README.fr.md b/README.fr.md index 6b4d0cebafee..622e5bc45a67 100644 --- a/README.fr.md +++ b/README.fr.md @@ -11,7 +11,8 @@ 繁體中文 | English | Français | - 日本語 + 日本語 | + 한국어

diff --git a/README.ja.md b/README.ja.md index 2b35bdfe9b93..eb15af3bf796 100644 --- a/README.ja.md +++ b/README.ja.md @@ -11,7 +11,8 @@ 繁體中文 | English | Français | - 日本語 + 日本語 | + 한국어

diff --git a/README.ko.md b/README.ko.md new file mode 100644 index 000000000000..41e3ee6c7bba --- /dev/null +++ b/README.ko.md @@ -0,0 +1,475 @@ +

+ +![new-api](/web/public/logo.png) + +# New API + +🍥 **차세대 대규모 모델 게이트웨이 및 AI 자산 관리 시스템** + +

+ 简体中文 | + 繁體中文 | + English | + Français | + 日本語 | + 한국어 +

+ +

+ + license + + release + + docker + + GoReportCard + +

+ +

+ + QuantumNous%2Fnew-api | Trendshift + +
+ + Featured|HelloGitHub + + New API - All-in-one AI asset management gateway. | Product Hunt + +

+ +

+ 빠른 시작 • + 주요 기능 • + 배포 • + 문서 • + 도움말 +

+ +
+ +## 📝 프로젝트 설명 + +> [!IMPORTANT] +> - 본 프로젝트는 개인 학습용으로만 사용하며, 안정성 보장이나 기술 지원은 제공하지 않습니다. +> - 사용자는 OpenAI의 [이용 약관](https://openai.com/policies/terms-of-use) 및 **관계 법령**을 준수해야 하며, 불법적인 목적으로 사용해서는 안 됩니다. +> - [《생성형 인공지능 서비스 관리 잠정 조치》](http://www.cac.gov.cn/2023-07/13/c_1690898327029107.htm)에 따라 중국 지역에서 미등록 생성형 AI 서비스를 대중에게 제공하지 마십시오. + +--- + +## 🤝 신뢰할 수 있는 파트너 + +

+ 순서 없음 +

+ +

+ + Cherry Studio + + Aion UI + + 베이징 대학 + + UCloud + + Alibaba Cloud + + IO.NET + +

+ +--- + +## 🙏 특별 감사 + +

+ + JetBrains Logo + +

+ +

+ JetBrains가 본 프로젝트에 무료 오픈소스 개발 라이선스를 제공해 주셔서 감사합니다 +

+ +--- + +## 🚀 빠른 시작 + +### Docker Compose 사용 (권장) + +```bash +# 프로젝트 클론 +git clone https://github.com/QuantumNous/new-api.git +cd new-api + +# docker-compose.yml 설정 편집 +nano docker-compose.yml + +# 서비스 시작 +docker-compose up -d +``` + +
+Docker 명령어 사용 + +```bash +# 최신 이미지 풀 +docker pull calciumion/new-api:latest + +# SQLite 사용 (기본값) +docker run --name new-api -d --restart always \ + -p 3000:3000 \ + -e TZ=Asia/Shanghai \ + -v ./data:/data \ + calciumion/new-api:latest + +# MySQL 사용 +docker run --name new-api -d --restart always \ + -p 3000:3000 \ + -e SQL_DSN="root:123456@tcp(localhost:3306)/oneapi" \ + -e TZ=Asia/Shanghai \ + -v ./data:/data \ + calciumion/new-api:latest +``` + +> **💡 팁:** `-v ./data:/data`는 현재 디렉토리의 `data` 폴더에 데이터를 저장합니다. 절대 경로로 변경할 수도 있습니다: `-v /your/custom/path:/data` + +
+ +--- + +🎉 배포가 완료되면 `http://localhost:3000`에 접속하여 사용을 시작하세요! + +📖 다른 배포 방법은 [배포 가이드](https://docs.newapi.pro/kr/docs/installation)를 참조하세요. + +--- + +## 📚 문서 + +
+ +### 📖 [공식 문서](https://docs.newapi.pro/kr/docs) | [![Ask DeepWiki](https://deepwiki.com/badge.svg)](https://deepwiki.com/QuantumNous/new-api) + +
+ +**빠른 탐색:** + +| 카테고리 | 링크 | +|------|------| +| 🚀 배포 가이드 | [설치 문서](https://docs.newapi.pro/kr/docs/installation) | +| ⚙️ 환경 설정 | [환경 변수](https://docs.newapi.pro/kr/docs/installation/config-maintenance/environment-variables) | +| 📡 API 문서 | [API 문서](https://docs.newapi.pro/kr/docs/api) | +| ❓ 자주 묻는 질문 | [FAQ](https://docs.newapi.pro/kr/docs/support/faq) | +| 💬 커뮤니티 | [소통 채널](https://docs.newapi.pro/kr/docs/support/community-interaction) | + +--- + +## ✨ 주요 기능 + +> 자세한 기능은 [기능 소개](https://docs.newapi.pro/kr/docs/guide/wiki/basic-concepts/features-introduction)를 참조하세요. + +### 🎨 핵심 기능 + +| 기능 | 설명 | +|------|------| +| 🎨 새로운 UI | 현대적인 사용자 인터페이스 디자인 | +| 🌍 다국어 | 중국어 간체, 중국어 번체, 영어, 프랑스어, 일본어, 한국어 지원 | +| 🔄 데이터 호환성 | 기존 One API 데이터베이스와 완전 호환 | +| 📈 데이터 대시보드 | 시각화 콘솔 및 통계 분석 | +| 🔒 권한 관리 | 토큰 그룹화, 모델 제한, 사용자 관리 | + +### 💰 결제 및 과금 + +- ✅ 온라인 충전 (EPay, Stripe) +- ✅ 모델 종량제 과금 +- ✅ 캐시 과금 지원 (OpenAI, Azure, DeepSeek, Claude, Qwen 등 모든 지원 모델) +- ✅ 유연한 과금 정책 설정 + +### 🔐 인증 및 보안 + +- 😈 Discord 인증 로그인 +- 🤖 LinuxDO 인증 로그인 +- 📱 Telegram 인증 로그인 +- 🔑 OIDC 통합 인증 +- 🔍 키 사용량 쿼터 조회 ([neko-api-key-tool](https://github.com/Calcium-Ion/neko-api-key-tool) 사용) + +### 🚀 고급 기능 + +**API 포맷 지원:** +- ⚡ [OpenAI Responses](https://docs.newapi.pro/kr/docs/api/ai-model/chat/openai/create-response) +- ⚡ [OpenAI Realtime API](https://docs.newapi.pro/kr/docs/api/ai-model/realtime/create-realtime-session) (Azure 포함) +- ⚡ [Claude Messages](https://docs.newapi.pro/kr/docs/api/ai-model/chat/create-message) +- ⚡ [Google Gemini](https://doc.newapi.pro/kr/api/google-gemini-chat) +- 🔄 [Rerank 모델](https://docs.newapi.pro/kr/docs/api/ai-model/rerank/create-rerank) (Cohere, Jina) + +**지능형 라우팅:** +- ⚖️ 채널 가중치 랜덤 +- 🔄 실패 시 자동 재시도 +- 🚦 사용자 수준 모델 속도 제한 + +**포맷 변환:** +- 🔄 **OpenAI Compatible ⇄ Claude Messages** +- 🔄 **OpenAI Compatible → Google Gemini** +- 🔄 **Google Gemini → OpenAI Compatible** - 텍스트만 지원, 함수 호출은 아직 미지원 +- 🚧 **OpenAI Compatible ⇄ OpenAI Responses** - 개발 중 +- 🔄 **사고-콘텐츠 변환 기능** + +**Reasoning Effort 지원:** + +
+상세 설정 보기 + +**OpenAI 시리즈 모델:** +- `o3-mini-high` - 높은 추론 강도 +- `o3-mini-medium` - 중간 추론 강도 +- `o3-mini-low` - 낮은 추론 강도 +- `gpt-5-high` - 높은 추론 강도 +- `gpt-5-medium` - 중간 추론 강도 +- `gpt-5-low` - 낮은 추론 강도 + +**Claude 사고 모델:** +- `claude-3-7-sonnet-20250219-thinking` - 사고 모드 활성화 + +**Google Gemini 시리즈 모델:** +- `gemini-2.5-flash-thinking` - 사고 모드 활성화 +- `gemini-2.5-flash-nothinking` - 사고 모드 비활성화 +- `gemini-2.5-pro-thinking` - 사고 모드 활성화 +- `gemini-2.5-pro-thinking-128` - 사고 모드 활성화, 사고 예산 128 토큰 +- Gemini 모델 이름 끝에 `-low` / `-medium` / `-high`를 추가하여 추론 강도를 직접 지정할 수 있습니다 (추가 사고 예산 접미사 불필요). + +
+ +--- + +## 🤖 모델 지원 + +> 자세한 내용은 [API 문서 - 릴레이 인터페이스](https://docs.newapi.pro/kr/docs/api) 참조 + +| 모델 타입 | 설명 | 문서 | +|---------|------|------| +| 🤖 OpenAI-Compatible | OpenAI 호환 모델 | [문서](https://docs.newapi.pro/kr/docs/api/ai-model/chat/openai/createchatcompletion) | +| 🤖 OpenAI Responses | OpenAI Responses 포맷 | [문서](https://docs.newapi.pro/kr/docs/api/ai-model/chat/openai/createresponse) | +| 🎨 Midjourney-Proxy | [Midjourney-Proxy(Plus)](https://github.com/novicezk/midjourney-proxy) | [문서](https://doc.newapi.pro/api/midjourney-proxy-image) | +| 🎵 Suno-API | [Suno API](https://github.com/Suno-API/Suno-API) | [문서](https://doc.newapi.pro/api/suno-music) | +| 🔄 Rerank | Cohere, Jina | [문서](https://docs.newapi.pro/kr/docs/api/ai-model/rerank/creatererank) | +| 💬 Claude | Messages 포맷 | [문서](https://docs.newapi.pro/kr/docs/api/ai-model/chat/createmessage) | +| 🌐 Gemini | Google Gemini 포맷 | [문서](https://docs.newapi.pro/kr/docs/api/ai-model/chat/gemini/geminirelayv1beta) | +| 🔧 Dify | ChatFlow 모드 | - | +| 🎯 커스텀 | 완전한 호출 주소 입력 지원 | - | + +### 📡 지원 인터페이스 + +
+전체 인터페이스 목록 보기 + +- [채팅 인터페이스 (Chat Completions)](https://docs.newapi.pro/kr/docs/api/ai-model/chat/openai/createchatcompletion) +- [응답 인터페이스 (Responses)](https://docs.newapi.pro/kr/docs/api/ai-model/chat/openai/createresponse) +- [이미지 인터페이스 (Image)](https://docs.newapi.pro/kr/docs/api/ai-model/images/openai/post-v1-images-generations) +- [오디오 인터페이스 (Audio)](https://docs.newapi.pro/kr/docs/api/ai-model/audio/openai/create-transcription) +- [비디오 인터페이스 (Video)](https://docs.newapi.pro/kr/docs/api/ai-model/videos) +- [임베딩 인터페이스 (Embeddings)](https://docs.newapi.pro/kr/docs/api/ai-model/embeddings/createembedding) +- [재순위 인터페이스 (Rerank)](https://docs.newapi.pro/kr/docs/api/ai-model/rerank/creatererank) +- [실시간 대화 인터페이스 (Realtime)](https://docs.newapi.pro/kr/docs/api/ai-model/realtime/createrealtimesession) +- [Claude 채팅](https://docs.newapi.pro/kr/docs/api/ai-model/chat/createmessage) +- [Google Gemini 채팅](https://docs.newapi.pro/kr/docs/api/ai-model/chat/gemini/geminirelayv1beta) + +
+ +--- + +## 🚢 배포 + +> [!TIP] +> **최신 Docker 이미지:** `calciumion/new-api:latest` + +### 📋 배포 요구사항 + +| 구성 요소 | 요구사항 | +|------|------| +| **로컬 데이터베이스** | SQLite (Docker는 `/data` 디렉토리 마운트 필수)| +| **원격 데이터베이스** | MySQL ≥ 5.7.8 또는 PostgreSQL ≥ 9.6 | +| **컨테이너 엔진** | Docker / Docker Compose | + +### ⚙️ 환경 변수 설정 + +
+일반적인 환경 변수 설정 + +| 변수명 | 설명 | 기본값 | +|--------|------|--------| +| `SESSION_SECRET` | 세션 시크릿 (다중 머신 배포 시 필수) | - | +| `CRYPTO_SECRET` | 암호화 시크릿 (Redis 사용 시 필수) | - | +| `SQL_DSN` | 데이터베이스 연결 문자열 | - | +| `REDIS_CONN_STRING` | Redis 연결 문자열 | - | +| `STREAMING_TIMEOUT` | 스트리밍 응답 타임아웃 (초) | `300` | +| `STREAM_SCANNER_MAX_BUFFER_MB` | 스트림 스캐너의 라인당 버퍼 상한 (MB). 4K 이미지 등 큰 base64 페이로드 처리 시 증가 권장 | `64` | +| `MAX_REQUEST_BODY_MB` | 요청 본문 최대 크기 (MB, **압축 해제 후** 측정. 대용량 요청/zip bomb으로 인한 메모리 고갈 방지). 초과 시 `413` 반환 | `32` | +| `AZURE_DEFAULT_API_VERSION` | Azure API 버전 | `2025-04-01-preview` | +| `ERROR_LOG_ENABLED` | 에러 로그 스위치 | `false` | +| `PYROSCOPE_URL` | Pyroscope 서버 주소 | - | +| `PYROSCOPE_APP_NAME` | Pyroscope 앱 이름 | `new-api` | +| `PYROSCOPE_BASIC_AUTH_USER` | Pyroscope Basic Auth 사용자 | - | +| `PYROSCOPE_BASIC_AUTH_PASSWORD` | Pyroscope Basic Auth 비밀번호 | - | +| `PYROSCOPE_MUTEX_RATE` | Pyroscope mutex 샘플링 비율 | `5` | +| `PYROSCOPE_BLOCK_RATE` | Pyroscope block 샘플링 비율 | `5` | +| `HOSTNAME` | Pyroscope용 호스트명 태그 | `new-api` | + +📖 **전체 설정:** [환경 변수 문서](https://docs.newapi.pro/kr/docs/installation/config-maintenance/environment-variables) + +
+ +### 🔧 배포 방법 + +
+방법 1: Docker Compose (권장) + +```bash +# 프로젝트 클론 +git clone https://github.com/QuantumNous/new-api.git +cd new-api + +# 설정 편집 +nano docker-compose.yml + +# 서비스 시작 +docker-compose up -d +``` + +
+ +
+방법 2: Docker 명령어 + +**SQLite 사용:** +```bash +docker run --name new-api -d --restart always \ + -p 3000:3000 \ + -e TZ=Asia/Shanghai \ + -v ./data:/data \ + calciumion/new-api:latest +``` + +**MySQL 사용:** +```bash +docker run --name new-api -d --restart always \ + -p 3000:3000 \ + -e SQL_DSN="root:123456@tcp(localhost:3306)/oneapi" \ + -e TZ=Asia/Shanghai \ + -v ./data:/data \ + calciumion/new-api:latest +``` + +> **💡 경로 설명:** +> - `./data:/data` - 상대 경로, 데이터는 현재 디렉토리의 data 폴더에 저장됨 +> - 절대 경로 사용 가능: `/your/custom/path:/data` + +
+ +
+방법 3: 바오따 패널 + +1. 바오따 패널(**9.2.0 버전** 이상) 설치 후, 애플리케이션 스토어에서 **New-API** 검색하여 설치 + +📖 [이미지 포함 튜토리얼](./docs/BT.md) + +
+ +### ⚠️ 다중 머신 배포 주의사항 + +> [!WARNING] +> - **반드시 설정 필요** `SESSION_SECRET` - 그렇지 않으면 다중 머신 배포 시 로그인 상태 불일치 발생 +> - **공유 Redis는 반드시 설정 필요** `CRYPTO_SECRET` - 그렇지 않으면 데이터 복호화 불가 + +### 🔄 채널 재시도 및 캐시 + +**재시도 설정:** `설정 → 운영 설정 → 일반 설정 → 실패 재시도 횟수` + +**캐시 설정:** +- `REDIS_CONN_STRING`: Redis 캐시 (권장) +- `MEMORY_CACHE_ENABLED`: 메모리 캐시 + +--- + +## 🔗 관련 프로젝트 + +### 업스트림 프로젝트 + +| 프로젝트 | 설명 | +|------|------| +| [One API](https://github.com/songquanpeng/one-api) | 원본 프로젝트 베이스 | +| [Midjourney-Proxy](https://github.com/novicezk/midjourney-proxy) | Midjourney 인터페이스 지원 | + +### 보조 도구 + +| 프로젝트 | 설명 | +|------|------| +| [neko-api-key-tool](https://github.com/Calcium-Ion/neko-api-key-tool) | 키 사용량 쿼터 조회 도구 | +| [new-api-horizon](https://github.com/Calcium-Ion/new-api-horizon) | New API 고성능 최적화 버전 | + +--- + +## 💬 도움말 및 지원 + +### 📖 문서 리소스 + +| 리소스 | 링크 | +|------|------| +| 📘 자주 묻는 질문 | [FAQ](https://docs.newapi.pro/kr/docs/support/faq) | +| 💬 커뮤니티 | [소통 채널](https://docs.newapi.pro/kr/docs/support/community-interaction) | +| 🐛 문제 피드백 | [이슈 피드백](https://docs.newapi.pro/kr/docs/support/feedback-issues) | +| 📚 전체 문서 | [공식 문서](https://docs.newapi.pro/kr/docs) | + +### 🤝 기여 가이드 + +모든 형태의 기여를 환영합니다! + +- 🐛 버그 리포트 +- 💡 새로운 기능 제안 +- 📝 문서 개선 +- 🔧 코드 제출 + +--- + +## 📜 라이선스 + +본 프로젝트는 [GNU Affero General Public License v3.0 (AGPLv3)](./LICENSE) 라이선스 하에 배포됩니다. + +본 프로젝트는 [One API](https://github.com/songquanpeng/one-api) (MIT 라이선스)를 기반으로 개발된 오픈소스 프로젝트입니다. + +귀하의 조직 정책상 AGPLv3 라이선스 소프트웨어 사용이 허용되지 않거나, AGPLv3의 오픈소스 의무를 회피하고 싶은 경우 문의해 주세요: [support@quantumnous.com](mailto:support@quantumnous.com) + +--- + +## 🌟 스타 히스토리 + +
+ +[![스타 히스토리 차트](https://api.star-history.com/svg?repos=Calcium-Ion/new-api&type=Date)](https://star-history.com/#Calcium-Ion/new-api&Date) + +
+ +--- + +
+ +### 💖 New API를 사용해 주셔서 감사합니다 + +이 프로젝트가 도움이 되셨다면 ⭐️ 스타를 눌러주세요! + +**[공식 문서](https://docs.newapi.pro/kr/docs)** • **[이슈 피드백](https://github.com/Calcium-Ion/new-api/issues)** • **[최신 릴리스](https://github.com/Calcium-Ion/new-api/releases)** + +❤️로 제작된 QuantumNous + +
diff --git a/README.md b/README.md index 8f23d5dcd380..f56b1955009b 100644 --- a/README.md +++ b/README.md @@ -11,7 +11,8 @@ 繁體中文 | English | Français | - 日本語 + 日本語 | + 한국어

diff --git a/README.zh_CN.md b/README.zh_CN.md index fd3204950170..bde3a6a9caca 100644 --- a/README.zh_CN.md +++ b/README.zh_CN.md @@ -11,7 +11,8 @@ 繁體中文 | English | Français | - 日本語 + 日本語 | + 한국어

diff --git a/README.zh_TW.md b/README.zh_TW.md index 9264bc722d42..166fc0d54179 100644 --- a/README.zh_TW.md +++ b/README.zh_TW.md @@ -11,7 +11,8 @@ 简体中文 | English | Français | - 日本語 + 日本語 | + 한국어

diff --git a/web/src/components/auth/LoginForm.jsx b/web/src/components/auth/LoginForm.jsx index 7e8c0ce017f1..0381f6e973ce 100644 --- a/web/src/components/auth/LoginForm.jsx +++ b/web/src/components/auth/LoginForm.jsx @@ -184,7 +184,7 @@ const LoginForm = () => { const onSubmitWeChatVerificationCode = async () => { if (turnstileEnabled && turnstileToken === '') { - showInfo('请稍后几秒重试,Turnstile 正在检查用户环境!'); + showInfo(t('请稍后几秒重试,Turnstile 正在检查用户环境!')); return; } setWechatCodeSubmitLoading(true); @@ -199,13 +199,13 @@ const LoginForm = () => { setUserData(data); updateAPI(); navigate('/'); - showSuccess('登录成功!'); + showSuccess(t('登录成功!')); setShowWeChatLoginModal(false); } else { showError(message); } } catch (error) { - showError('登录失败,请重试'); + showError(t('登录失败,请重试')); } finally { setWechatCodeSubmitLoading(false); } @@ -221,7 +221,7 @@ const LoginForm = () => { return; } if (turnstileEnabled && turnstileToken === '') { - showInfo('请稍后几秒重试,Turnstile 正在检查用户环境!'); + showInfo(t('请稍后几秒重试,Turnstile 正在检查用户环境!')); return; } setSubmitted(true); @@ -247,7 +247,7 @@ const LoginForm = () => { userDispatch({ type: 'login', payload: data }); setUserData(data); updateAPI(); - showSuccess('登录成功!'); + showSuccess(t('登录成功!')); if (username === 'root' && password === '123456') { Modal.error({ title: '您正在使用默认密码!', @@ -260,10 +260,10 @@ const LoginForm = () => { showError(message); } } else { - showError('请输入用户名和密码!'); + showError(t('请输入用户名和密码!')); } } catch (error) { - showError('登录失败,请重试'); + showError(t('登录失败,请重试')); } finally { setLoginLoading(false); } @@ -297,7 +297,7 @@ const LoginForm = () => { if (success) { userDispatch({ type: 'login', payload: data }); localStorage.setItem('user', JSON.stringify(data)); - showSuccess('登录成功!'); + showSuccess(t('登录成功!')); setUserData(data); updateAPI(); navigate('/'); @@ -305,7 +305,7 @@ const LoginForm = () => { showError(message); } } catch (error) { - showError('登录失败,请重试'); + showError(t('登录失败,请重试')); } }; @@ -417,11 +417,11 @@ const LoginForm = () => { return; } if (!passkeySupported) { - showInfo('当前环境无法使用 Passkey 登录'); + showInfo(t('当前环境无法使用 Passkey 登录')); return; } if (!window.PublicKeyCredential) { - showInfo('当前浏览器不支持 Passkey'); + showInfo(t('当前浏览器不支持 Passkey')); return; } @@ -442,7 +442,7 @@ const LoginForm = () => { }); const payload = buildAssertionResult(assertion); if (!payload) { - showError('Passkey 验证失败,请重试'); + showError(t('Passkey 验证失败,请重试')); return; } @@ -455,16 +455,16 @@ const LoginForm = () => { userDispatch({ type: 'login', payload: finish.data }); setUserData(finish.data); updateAPI(); - showSuccess('登录成功!'); + showSuccess(t('登录成功!')); navigate('/console'); } else { showError(finish.message || 'Passkey 登录失败,请重试'); } } catch (error) { if (error?.name === 'AbortError') { - showInfo('已取消 Passkey 登录'); + showInfo(t('已取消 Passkey 登录')); } else { - showError('Passkey 登录失败,请重试'); + showError(t('Passkey 登录失败,请重试')); } } finally { setPasskeyLoading(false); @@ -490,7 +490,7 @@ const LoginForm = () => { userDispatch({ type: 'login', payload: data }); setUserData(data); updateAPI(); - showSuccess('登录成功!'); + showSuccess(t('登录成功!')); navigate('/console'); }; diff --git a/web/src/components/auth/RegisterForm.jsx b/web/src/components/auth/RegisterForm.jsx index 0a755b194431..720a75617841 100644 --- a/web/src/components/auth/RegisterForm.jsx +++ b/web/src/components/auth/RegisterForm.jsx @@ -184,7 +184,7 @@ const RegisterForm = () => { const onSubmitWeChatVerificationCode = async () => { if (turnstileEnabled && turnstileToken === '') { - showInfo('请稍后几秒重试,Turnstile 正在检查用户环境!'); + showInfo(t('请稍后几秒重试,Turnstile 正在检查用户环境!')); return; } setWechatCodeSubmitLoading(true); @@ -199,13 +199,13 @@ const RegisterForm = () => { setUserData(data); updateAPI(); navigate('/'); - showSuccess('登录成功!'); + showSuccess(t('登录成功!')); setShowWeChatLoginModal(false); } else { showError(message); } } catch (error) { - showError('登录失败,请重试'); + showError(t('登录失败,请重试')); } finally { setWechatCodeSubmitLoading(false); } @@ -217,16 +217,16 @@ const RegisterForm = () => { async function handleSubmit(e) { if (password.length < 8) { - showInfo('密码长度不得小于 8 位!'); + showInfo(t('密码长度不得小于 8 位!')); return; } if (password !== password2) { - showInfo('两次输入的密码不一致'); + showInfo(t('两次输入的密码不一致')); return; } if (username && password) { if (turnstileEnabled && turnstileToken === '') { - showInfo('请稍后几秒重试,Turnstile 正在检查用户环境!'); + showInfo(t('请稍后几秒重试,Turnstile 正在检查用户环境!')); return; } setRegisterLoading(true); @@ -242,12 +242,12 @@ const RegisterForm = () => { const { success, message } = res.data; if (success) { navigate('/login'); - showSuccess('注册成功!'); + showSuccess(t('注册成功!')); } else { showError(message); } } catch (error) { - showError('注册失败,请重试'); + showError(t('注册失败,请重试')); } finally { setRegisterLoading(false); } @@ -257,7 +257,7 @@ const RegisterForm = () => { const sendVerificationCode = async () => { if (inputs.email === '') return; if (turnstileEnabled && turnstileToken === '') { - showInfo('请稍后几秒重试,Turnstile 正在检查用户环境!'); + showInfo(t('请稍后几秒重试,Turnstile 正在检查用户环境!')); return; } setVerificationCodeLoading(true); @@ -267,13 +267,13 @@ const RegisterForm = () => { ); const { success, message } = res.data; if (success) { - showSuccess('验证码发送成功,请检查你的邮箱!'); + showSuccess(t('验证码发送成功,请检查你的邮箱!')); setDisableButton(true); // 发送成功后禁用按钮,开始倒计时 } else { showError(message); } } catch (error) { - showError('发送验证码失败,请重试'); + showError(t('发送验证码失败,请重试')); } finally { setVerificationCodeLoading(false); } @@ -379,7 +379,7 @@ const RegisterForm = () => { if (success) { userDispatch({ type: 'login', payload: data }); localStorage.setItem('user', JSON.stringify(data)); - showSuccess('登录成功!'); + showSuccess(t('登录成功!')); setUserData(data); updateAPI(); navigate('/'); @@ -387,7 +387,7 @@ const RegisterForm = () => { showError(message); } } catch (error) { - showError('登录失败,请重试'); + showError(t('登录失败,请重试')); } }; diff --git a/web/src/components/auth/TwoFAVerification.jsx b/web/src/components/auth/TwoFAVerification.jsx index 626de74363be..abe20b1b26eb 100644 --- a/web/src/components/auth/TwoFAVerification.jsx +++ b/web/src/components/auth/TwoFAVerification.jsx @@ -55,7 +55,7 @@ const TwoFAVerification = ({ onSuccess, onBack, isModal = false }) => { }); if (res.data.success) { - showSuccess('登录成功'); + showSuccess(t('登录成功')); // 保存用户信息到本地存储 localStorage.setItem('user', JSON.stringify(res.data.data)); if (onSuccess) { diff --git a/web/src/components/layout/headerbar/LanguageSelector.jsx b/web/src/components/layout/headerbar/LanguageSelector.jsx index ede8b5a4aa42..96caec3cf5cc 100644 --- a/web/src/components/layout/headerbar/LanguageSelector.jsx +++ b/web/src/components/layout/headerbar/LanguageSelector.jsx @@ -27,7 +27,7 @@ const LanguageSelector = ({ currentLang, onLanguageChange, t }) => { position='bottomRight' render={ - {/* Language sorting: Order by English name (Chinese, English, French, Japanese, Russian) */} + {/* Language sorting: Order by English name (Chinese, English, French, Japanese, Korean, Russian, Vietnamese) */} onLanguageChange('zh-CN')} className={`!px-3 !py-1.5 !text-sm !text-semi-color-text-0 dark:!text-gray-200 ${currentLang === 'zh-CN' ? '!bg-semi-color-primary-light-default dark:!bg-blue-600 !font-semibold' : 'hover:!bg-semi-color-fill-1 dark:hover:!bg-gray-600'}`} @@ -38,8 +38,9 @@ const LanguageSelector = ({ currentLang, onLanguageChange, t }) => { onClick={() => onLanguageChange('zh-TW')} className={`!px-3 !py-1.5 !text-sm !text-semi-color-text-0 dark:!text-gray-200 ${currentLang === 'zh-TW' ? '!bg-semi-color-primary-light-default dark:!bg-blue-600 !font-semibold' : 'hover:!bg-semi-color-fill-1 dark:hover:!bg-gray-600'}`} > - 繁體中文 - {' '} + onLanguageChange('en')} className={`!px-3 !py-1.5 !text-sm !text-semi-color-text-0 dark:!text-gray-200 ${currentLang === 'en' ? '!bg-semi-color-primary-light-default dark:!bg-blue-600 !font-semibold' : 'hover:!bg-semi-color-fill-1 dark:hover:!bg-gray-600'}`} > @@ -57,6 +58,12 @@ const LanguageSelector = ({ currentLang, onLanguageChange, t }) => { > 日本語 + onLanguageChange('ko')} + className={`!px-3 !py-1.5 !text-sm !text-semi-color-text-0 dark:!text-gray-200 ${currentLang === 'ko' ? '!bg-semi-color-primary-light-default dark:!bg-blue-600 !font-semibold' : 'hover:!bg-semi-color-fill-1 dark:hover:!bg-gray-600'}`} + > + 한국어 + onLanguageChange('ru')} className={`!px-3 !py-1.5 !text-sm !text-semi-color-text-0 dark:!text-gray-200 ${currentLang === 'ru' ? '!bg-semi-color-primary-light-default dark:!bg-blue-600 !font-semibold' : 'hover:!bg-semi-color-fill-1 dark:hover:!bg-gray-600'}`} diff --git a/web/src/components/settings/OtherSetting.jsx b/web/src/components/settings/OtherSetting.jsx index f8e0b53756a1..f25c66e8f47f 100644 --- a/web/src/components/settings/OtherSetting.jsx +++ b/web/src/components/settings/OtherSetting.jsx @@ -174,10 +174,10 @@ const OtherSetting = () => { try { setLoadingInput((loadingInput) => ({ ...loadingInput, Logo: true })); await updateOption('Logo', inputs.Logo); - showSuccess('Logo 已更新'); + showSuccess(t('Logo 已更新')); } catch (error) { console.error('Logo 更新失败', error); - showError('Logo 更新失败'); + showError(t('Logo 更新失败')); } finally { setLoadingInput((loadingInput) => ({ ...loadingInput, Logo: false })); } @@ -190,10 +190,10 @@ const OtherSetting = () => { HomePageContent: true, })); await updateOption(key, inputs[key]); - showSuccess('首页内容已更新'); + showSuccess(t('首页内容已更新')); } catch (error) { console.error('首页内容更新失败', error); - showError('首页内容更新失败'); + showError(t('首页内容更新失败')); } finally { setLoadingInput((loadingInput) => ({ ...loadingInput, @@ -206,10 +206,10 @@ const OtherSetting = () => { try { setLoadingInput((loadingInput) => ({ ...loadingInput, About: true })); await updateOption('About', inputs.About); - showSuccess('关于内容已更新'); + showSuccess(t('关于内容已更新')); } catch (error) { console.error('关于内容更新失败', error); - showError('关于内容更新失败'); + showError(t('关于内容更新失败')); } finally { setLoadingInput((loadingInput) => ({ ...loadingInput, About: false })); } @@ -219,10 +219,10 @@ const OtherSetting = () => { try { setLoadingInput((loadingInput) => ({ ...loadingInput, Footer: true })); await updateOption('Footer', inputs.Footer); - showSuccess('页脚内容已更新'); + showSuccess(t('页脚内容已更新')); } catch (error) { console.error('页脚内容更新失败', error); - showError('页脚内容更新失败'); + showError(t('页脚内容更新失败')); } finally { setLoadingInput((loadingInput) => ({ ...loadingInput, Footer: false })); } @@ -260,7 +260,7 @@ const OtherSetting = () => { const { tag_name, body } = res; if (tag_name === statusState?.status?.version) { - showSuccess(`已是最新版本:${tag_name}`); + showSuccess(t('已是最新版本:{{version}}', { version: tag_name })); } else { setUpdateData({ tag_name: tag_name, @@ -270,7 +270,7 @@ const OtherSetting = () => { } } catch (error) { console.error('Failed to check for updates:', error); - showError('检查更新失败,请稍后再试'); + showError(t('检查更新失败,请稍后再试')); } finally { setLoadingInput((loadingInput) => ({ ...loadingInput, diff --git a/web/src/components/settings/SystemSetting.jsx b/web/src/components/settings/SystemSetting.jsx index 8334c01db04b..92a1cb21191c 100644 --- a/web/src/components/settings/SystemSetting.jsx +++ b/web/src/components/settings/SystemSetting.jsx @@ -760,14 +760,14 @@ const SystemSetting = () => { @@ -1322,7 +1322,7 @@ const SystemSetting = () => { field='SMTPToken' label={t('SMTP 访问凭证')} type='password' - placeholder='敏感信息不会发送到前端显示' + placeholder={t('敏感信息不会发送到前端显示')} /> @@ -1524,8 +1524,8 @@ const SystemSetting = () => { diff --git a/web/src/components/settings/personal/cards/PreferencesSettings.jsx b/web/src/components/settings/personal/cards/PreferencesSettings.jsx index b30550bec2f3..ab9afee096c4 100644 --- a/web/src/components/settings/personal/cards/PreferencesSettings.jsx +++ b/web/src/components/settings/personal/cards/PreferencesSettings.jsx @@ -31,8 +31,9 @@ const languageOptions = [ { value: "zh-TW", label: "繁體中文" }, { value: "en", label: "English" }, { value: 'fr', label: 'Français'}, - { value: 'ru', label: 'Русский'}, { value: 'ja', label: '日本語'}, + { value: 'ko', label: '한국어'}, + { value: 'ru', label: 'Русский'}, { value: "vi", label: "Tiếng Việt" }, ]; diff --git a/web/src/components/table/channels/modals/EditTagModal.jsx b/web/src/components/table/channels/modals/EditTagModal.jsx index fbb00be583be..7d00cbad0ba7 100644 --- a/web/src/components/table/channels/modals/EditTagModal.jsx +++ b/web/src/components/table/channels/modals/EditTagModal.jsx @@ -268,7 +268,7 @@ const EditTagModal = (props) => { try { const res = await API.put('/api/channel/tag', data); if (res?.data?.success) { - showSuccess('标签更新成功!'); + showSuccess(t('标签更新成功!')); refresh(); handleClose(); } diff --git a/web/src/helpers/api.js b/web/src/helpers/api.js index 9381968e3711..5f26fc4d9daa 100644 --- a/web/src/helpers/api.js +++ b/web/src/helpers/api.js @@ -25,6 +25,7 @@ import { } from './utils'; import axios from 'axios'; import { MESSAGE_ROLES } from '../constants/playground.constants'; +import i18n from '../i18n/i18n'; export let API = axios.create({ baseURL: import.meta.env.VITE_REACT_APP_SERVER_URL @@ -36,20 +37,6 @@ export let API = axios.create({ }, }); - -function redirectToOAuthUrl(url, options = {}) { - const { openInNewTab = false } = options; - const targetUrl = typeof url === 'string' ? url : url.toString(); - - if (openInNewTab) { - window.open(targetUrl, '_blank'); - return; - } - - window.location.assign(targetUrl); -} - - function patchAPIInstance(instance) { const originalGet = instance.get.bind(instance); const inFlightGetRequests = new Map(); @@ -263,7 +250,7 @@ export async function onDiscordOAuthClicked(client_id, options = {}) { const redirect_uri = `${window.location.origin}/oauth/discord`; const response_type = 'code'; const scope = 'identify+openid'; - redirectToOAuthUrl( + window.open( `https://discord.com/oauth2/authorize?client_id=${client_id}&redirect_uri=${redirect_uri}&response_type=${response_type}&scope=${scope}&state=${state}`, ); } @@ -282,13 +269,17 @@ export async function onOIDCClicked( url.searchParams.set('response_type', 'code'); url.searchParams.set('scope', 'openid profile email'); url.searchParams.set('state', state); - redirectToOAuthUrl(url, { openInNewTab }); + if (openInNewTab) { + window.open(url.toString(), '_blank'); + } else { + window.location.href = url.toString(); + } } export async function onGitHubOAuthClicked(github_client_id, options = {}) { const state = await prepareOAuthState(options); if (!state) return; - redirectToOAuthUrl( + window.open( `https://github.com/login/oauth/authorize?client_id=${github_client_id}&state=${state}&scope=user:email`, ); } @@ -299,7 +290,7 @@ export async function onLinuxDOOAuthClicked( ) { const state = await prepareOAuthState(options); if (!state) return; - redirectToOAuthUrl( + window.open( `https://connect.linux.do/oauth2/authorize?response_type=code&client_id=${linuxdo_client_id}&state=${state}`, ); } @@ -317,42 +308,32 @@ export async function onLinuxDOOAuthClicked( export async function onCustomOAuthClicked(provider, options = {}) { const state = await prepareOAuthState(options); if (!state) return; - + try { const redirect_uri = `${window.location.origin}/oauth/${provider.slug}`; - + // Check if authorization_endpoint is a full URL or relative path let authUrl; - if ( - provider.authorization_endpoint.startsWith('http://') || - provider.authorization_endpoint.startsWith('https://') - ) { + if (provider.authorization_endpoint.startsWith('http://') || + provider.authorization_endpoint.startsWith('https://')) { authUrl = new URL(provider.authorization_endpoint); } else { // Relative path - this is a configuration error, show error message - console.error( - 'Custom OAuth authorization_endpoint must be a full URL:', - provider.authorization_endpoint, - ); - showError( - 'OAuth 配置错误:授权端点必须是完整的 URL(以 http:// 或 https:// 开头)', - ); + console.error('Custom OAuth authorization_endpoint must be a full URL:', provider.authorization_endpoint); + showError(i18n.t('OAuth 配置错误:授权端点必须是完整的 URL(以 http:// 或 https:// 开头)')); return; } - + authUrl.searchParams.set('client_id', provider.client_id); authUrl.searchParams.set('redirect_uri', redirect_uri); authUrl.searchParams.set('response_type', 'code'); - authUrl.searchParams.set( - 'scope', - provider.scopes || 'openid profile email', - ); + authUrl.searchParams.set('scope', provider.scopes || 'openid profile email'); authUrl.searchParams.set('state', state); - - redirectToOAuthUrl(authUrl); + + window.open(authUrl.toString()); } catch (error) { console.error('Failed to initiate custom OAuth:', error); - showError('OAuth 登录失败:' + (error.message || '未知错误')); + showError(i18n.t('OAuth 登录失败:') + (error.message || i18n.t('未知错误'))); } } diff --git a/web/src/helpers/utils.jsx b/web/src/helpers/utils.jsx index 435a11ed3d18..cc5e688d6594 100644 --- a/web/src/helpers/utils.jsx +++ b/web/src/helpers/utils.jsx @@ -21,6 +21,7 @@ import { Toast, Pagination } from '@douyinfe/semi-ui'; import { toastConstants } from '../constants'; import React from 'react'; import { toast } from 'react-toastify'; +import i18n from '../i18n/i18n'; import { THINK_TAG_REGEX, MESSAGE_ROLES, @@ -131,22 +132,22 @@ export function showError(error) { window.location.href = '/login?expired=true'; break; case 429: - Toast.error('错误:请求次数过多,请稍后再试!'); + Toast.error(i18n.t('错误:请求次数过多,请稍后再试!')); break; case 500: - Toast.error('错误:服务器内部错误,请联系管理员!'); + Toast.error(i18n.t('错误:服务器内部错误,请联系管理员!')); break; case 405: - Toast.info('本站仅作演示之用,无服务端!'); + Toast.info(i18n.t('本站仅作演示之用,无服务端!')); break; default: - Toast.error('错误:' + error.message); + Toast.error(i18n.t('错误:') + error.message); } return; } - Toast.error('错误:' + error.message); + Toast.error(i18n.t('错误:') + error.message); } else { - Toast.error('错误:' + error); + Toast.error(i18n.t('错误:') + error); } } diff --git a/web/src/hooks/channels/useChannelsData.jsx b/web/src/hooks/channels/useChannelsData.jsx index 37ee5010b201..cd7e6b612453 100644 --- a/web/src/hooks/channels/useChannelsData.jsx +++ b/web/src/hooks/channels/useChannelsData.jsx @@ -641,7 +641,7 @@ export const useChannelsData = () => { try { const res = await API.put('/api/channel/tag', data); if (res?.data?.success) { - showSuccess('更新成功!'); + showSuccess(t('更新成功')); await refresh(); } } catch (error) { diff --git a/web/src/i18n/i18n.js b/web/src/i18n/i18n.js index 904e65a5b6a7..c307ce2bd4f1 100644 --- a/web/src/i18n/i18n.js +++ b/web/src/i18n/i18n.js @@ -23,15 +23,21 @@ import LanguageDetector from 'i18next-browser-languagedetector'; import enTranslation from './locales/en.json'; import frTranslation from './locales/fr.json'; +import koTranslation from './locales/ko.json'; import zhCNTranslation from './locales/zh-CN.json'; import zhTWTranslation from './locales/zh-TW.json'; import ruTranslation from './locales/ru.json'; import jaTranslation from './locales/ja.json'; import viTranslation from './locales/vi.json'; -import { supportedLanguages } from './language'; +import { normalizeLanguage, supportedLanguages } from './language'; + +// Create custom language detector that normalizes detected language codes +const languageDetector = new LanguageDetector(); +const originalDetect = languageDetector.detect.bind(languageDetector); +languageDetector.detect = () => normalizeLanguage(originalDetect()); i18n - .use(LanguageDetector) + .use(languageDetector) .use(initReactI18next) .init({ load: 'currentOnly', @@ -41,6 +47,7 @@ i18n 'zh-CN': zhCNTranslation, 'zh-TW': zhTWTranslation, fr: frTranslation, + ko: koTranslation, ru: ruTranslation, ja: jaTranslation, vi: viTranslation, diff --git a/web/src/i18n/language.js b/web/src/i18n/language.js index 088da53283cd..1e4d9aa45816 100644 --- a/web/src/i18n/language.js +++ b/web/src/i18n/language.js @@ -24,11 +24,12 @@ export const supportedLanguages = [ 'fr', 'ru', 'ja', + 'ko', 'vi', ]; export const normalizeLanguage = (language) => { - if (!language) { + if (!language || typeof language !== 'string') { return language; } diff --git a/web/src/i18n/locales/ko.json b/web/src/i18n/locales/ko.json new file mode 100644 index 000000000000..a106b14f5ba8 --- /dev/null +++ b/web/src/i18n/locales/ko.json @@ -0,0 +1,3386 @@ +{ + "translation": { + " + Web搜索 {{count}}次 / 1K 次 * {{symbol}}{{price}} * {{ratioType}} {{ratio}}_one": " + 웹 검색 {{count}}회 / 1K 회 * {{symbol}}{{price}} * {{ratioType}} {{ratio}}", + " + Web搜索 {{count}}次 / 1K 次 * {{symbol}}{{price}} * {{ratioType}} {{ratio}}_other": " + 웹 검색 {{count}}회 / 1K 회 * {{symbol}}{{price}} * {{ratioType}} {{ratio}}", + " + 图片生成调用 {{symbol}}{{price}} / 1次 * {{ratioType}} {{ratio}}": " + 이미지 생성 호출 {{symbol}}{{price}} / 1회 * {{ratioType}} {{ratio}}", + " + 文件搜索 {{count}}次 / 1K 次 * {{symbol}}{{price}} * {{ratioType}} {{ratio}}_one": " + 파일 검색 {{count}}회 / 1K 회 * {{symbol}}{{price}} * {{ratioType}} {{ratio}}", + " + 文件搜索 {{count}}次 / 1K 次 * {{symbol}}{{price}} * {{ratioType}} {{ratio}}_other": " + 파일 검색 {{count}}회 / 1K 회 * {{symbol}}{{price}} * {{ratioType}} {{ratio}}", + " 个模型设置相同的值": "개 모델에 동일한 값 설정", + " 吗?": "입니까?", + " 秒": "초", + " 秒。": " 초", + ",当前无生效订阅,将自动使用钱包": ", 현재 활성 구독이 없습니다. 지갑이 자동으로 사용됩니다.", + ",时间:": ", 시간:", + ",点击更新": ", 업데이트 클릭", + "(当前仅支持易支付接口,默认使用上方服务器地址作为回调地址!)": "(현재 Epay 인터페이스만 지원하며, 기본 콜백 주소는 위의 서버 주소를 사용합니다!)", + "(筛选后显示 {{count}} 条)_one": "(필터링 후 {{count}}개 표시)", + "(筛选后显示 {{count}} 条)_other": "(필터링 후 {{count}}개 표시)", + "(输入 {{input}} tokens / 1M tokens * {{symbol}}{{price}}": "(입력 {{input}} 토큰 / 1M 토큰 * {{symbol}}{{price}}", + "(输入 {{nonAudioInput}} tokens / 1M tokens * {{symbol}}{{price}} + 音频输入 {{audioInput}} tokens / 1M tokens * {{symbol}}{{audioPrice}}": "(입력 {{nonAudioInput}} 토큰 / 1M 토큰 * {{symbol}}{{price}} + 오디오 입력 {{audioInput}} 토큰 / 1M 토큰 * {{symbol}}{{audioPrice}}", + "(输入 {{nonCacheInput}} tokens / 1M tokens * {{symbol}}{{price}} + 缓存 {{cacheInput}} tokens / 1M tokens * {{symbol}}{{cachePrice}}": "(입력 {{nonCacheInput}} 토큰 / 1M 토큰 * {{symbol}}{{price}} + 캐시 {{cacheInput}} 토큰 / 1M 토큰 * {{symbol}}{{cachePrice}}", + "(输入 {{nonImageInput}} tokens + 图片输入 {{imageInput}} tokens * {{imageRatio}} / 1M tokens * {{symbol}}{{price}}": "(입력 {{nonImageInput}} 토큰 + 이미지 입력 {{imageInput}} 토큰 * {{imageRatio}} / 1M 토큰 * {{symbol}}{{price}}", + "[最多请求次数]和[最多请求完成次数]的最大值为2147483647。": "[최대 요청 횟수]와 [최대 요청 완료 횟수]의 최대값은 2147483647입니다.", + "[最多请求次数]必须大于等于0,[最多请求完成次数]必须大于等于1。": "[최대 요청 횟수]는 0 이상이어야 하며, [최대 요청 완료 횟수]는 1 이상이어야 합니다.", + "{\n \"default\": [200, 100],\n \"vip\": [0, 1000]\n}": "{\n \"default\": [200, 100],\n \"vip\": [0, 1000]\n}", + "{{breakdown}} * {{ratioType}} {{ratio}} = {{symbol}}{{total}}": "{{breakdown}} * {{ratioType}} {{ratio}} = {{symbol}}{{total}}", + "{{inputDesc}} + {{outputDesc}}{{extraServices}} = {{symbol}}{{total}}": "{{inputDesc}} + {{outputDesc}}{{extraServices}} = {{symbol}}{{total}}", + "{{name}} ID": "{{name}} ID", + "{{ratioType}} {{ratio}}": "{{ratioType}} {{ratio}}", + "• 视频服务商的跨域限制": "• 동영상 제공자의 크로스 오리진 제한", + "• 防盗链保护机制": "• 핫링크 방지 메커니즘", + "• 需要特定的请求头或认证": "• 특정 헤더 또는 인증이 필요합니다", + "© {{currentYear}}": "© {{currentYear}}", + "| 基于": " | 기반 ", + "$/1M tokens": "$/1M 토큰", + "0 - 最低": "0 - 최저", + "0 表示不限": "0은 무제한을 의미합니다", + "0.002-1之间的小数": "0.002-1 사이의 소수", + "0.1以上的小数": "0.1 이상의 소수", + "1) 点击「打开授权页面」完成登录;2) 浏览器会跳转到 localhost(页面打不开也没关系);3) 复制地址栏完整 URL 粘贴到下方;4) 点击「生成并填入」。": "1) 「인증 페이지 열기」를 클릭하여 로그인 완료; 2) 브라우저가 localhost로 리다이렉션됩니다 (페이지가 열리지 않아도 괜찮습니다); 3) 주소 표시줄의 전체 URL을 복사하여 아래에 붙여넣기; 4) 「생성 및 입력」을 클릭하세요.", + "10 - 最高": "10 - 최고", + "1h缓存创建 {{tokens}} tokens / 1M tokens * {{symbol}}{{price}} (倍率: {{ratio}})": "1h 캐시 생성 {{tokens}} 토큰 / 1M 토큰 * {{symbol}}{{price}} (비율: {{ratio}})", + "1h缓存创建价格:{{symbol}}{{price}} * {{ratio}} = {{symbol}}{{total}} / 1M tokens (1h缓存创建倍率: {{cacheCreationRatio1h}})": "1h 캐시 생성 가격: {{symbol}}{{price}} * {{ratio}} = {{symbol}}{{total}} / 1M 토큰 (1h 캐시 생성 비율: {{cacheCreationRatio1h}})", + "2 - 低": "2 - 낮음", + "2025年5月10日后添加的渠道,不需要再在部署的时候移除模型名称中的\".\"": "2025년 5월 10일 이후 추가된 채널은 배포 시 모델 이름에서 마침표를 제거할 필요가 없습니다", + "360智脑": "360 AI Brain", + "5 - 正常(默认)": "5 - 보통 (기본값)", + "5m缓存创建 {{tokens}} tokens / 1M tokens * {{symbol}}{{price}} (倍率: {{ratio}})": "5m 캐시 생성 {{tokens}} 토큰 / 1M 토큰 * {{symbol}}{{price}} (비율: {{ratio}})", + "5m缓存创建价格:{{symbol}}{{price}} * {{ratio}} = {{symbol}}{{total}} / 1M tokens (5m缓存创建倍率: {{cacheCreationRatio5m}})": "5m 캐시 생성 가격: {{symbol}}{{price}} * {{ratio}} = {{symbol}}{{total}} / 1M 토큰 (5m 캐시 생성 비율: {{cacheCreationRatio5m}})", + "8 - 高": "8 - 높음", + "AGPL v3.0协议": "AGPL v3.0 라이선스", + "AI 对话": "AI 채팅", + "AI模型测试环境": "AI 모델 테스트 환경", + "AI模型配置": "AI 모델 설정", + "AK/SK 模式:使用 AccessKey 和 SecretAccessKey;API Key 模式:使用 API Key": "AK/SK 모드: AccessKey와 SecretAccessKey 사용; API Key 모드: API Key 사용", + "API Key": "API 키", + "API Key 模式下不支持批量创建": "API Key 모드에서는 일괄 생성이 지원되지 않습니다", + "API Key 验证失败": "API Key 검증 실패", + "API Key 验证成功!连接到 io.net 服务正常": "API Key 검증 성공! io.net 서비스 연결이 정상입니다", + "API 地址和相关配置": "API URL 및 관련 설정", + "API 密钥": "API 키", + "API 文档": "API 문서", + "API 配置": "API 설정", + "API信息已更新": "API 정보가 업데이트되었습니다", + "API信息更新失败": "API 정보 업데이트 실패", + "API信息已删除,请及时点击\u201d保存设置\u201d进行保存": "API 정보가 삭제되었습니다. \u201d설정 저장\u201d을 클릭하여 저장하세요.", + "请填写完整的API信息": "API 정보를 모두 입력해주세요", + "API信息已更新,请及时点击\u201d保存设置\u201d进行保存": "API 정보가 업데이트되었습니다. \u201d설정 저장\u201d을 클릭하여 저장하세요.", + "API信息已添加,请及时点击\u201d保存设置\u201d进行保存": "API 정보가 추가되었습니다. \u201d설정 저장\u201d을 클릭하여 저장하세요.", + "请先选择要删除的API信息": "삭제할 API 정보를 먼저 선택해주세요", + "已删除 {{count}} 个API信息,请及时点击\u201d保存设置\u201d进行保存": "{{count}}개의 API 정보가 삭제되었습니다. \u201d설정 저장\u201d을 클릭하여 저장하세요.", + "确定要删除此API信息吗?": "이 API 정보를 삭제하시겠습니까?", + "API令牌管理": "API 토큰 관리", + "API使用记录": "API 사용 기록", + "API信息": "API 정보", + "常见问答已更新": "FAQ가 업데이트되었습니다", + "常见问答更新失败": "FAQ 업데이트 실패", + "问答已删除,请及时点击\u201c保存设置\u201d进行保存": "Q&A가 삭제되었습니다. \u201c설정 저장\u201d을 클릭하여 저장하세요.", + "请填写完整的问答信息": "Q&A 정보를 모두 입력해주세요", + "问答已更新,请及时点击\u201c保存设置\u201d进行保存": "Q&A가 업데이트되었습니다. \u201c설정 저장\u201d을 클릭하여 저장하세요.", + "问答已添加,请及时点击\u201c保存设置\u201d进行保存": "Q&A가 추가되었습니다. \u201c설정 저장\u201d을 클릭하여 저장하세요.", + "已删除 {{count}} 个常见问答,请及时点击\u201c保存设置\u201d进行保存": "{{count}}개의 FAQ가 삭제되었습니다. \u201c설정 저장\u201d을 클릭하여 저장하세요.", + "请先选择要删除的常见问答": "삭제할 FAQ를 먼저 선택해주세요", + "Uptime Kuma配置已更新": "Uptime Kuma 설정이 업데이트되었습니다", + "Uptime Kuma配置更新失败": "Uptime Kuma 설정 업데이트 실패", + "监控分类已删除,请及时点击\u201c保存设置\u201d进行保存": "모니터링 카테고리가 삭제되었습니다. \u201c설정 저장\u201d을 클릭하여 저장하세요.", + "请填写完整的分类信息": "카테고리 정보를 모두 입력해주세요", + "请输入有效的URL地址": "유효한 URL 주소를 입력하세요", + "Slug只能包含字母、数字、下划线和连字符": "Slug는 영문, 숫자, 밑줄(_), 하이픈(-)만 포함할 수 있습니다", + "分类已更新,请及时点击\u201c保存设置\u201d进行保存": "카테고리가 업데이트되었습니다. \u201c설정 저장\u201d을 클릭하여 저장하세요.", + "分类已添加,请及时点击\u201c保存设置\u201d进行保存": "카테고리가 추가되었습니다. \u201c설정 저장\u201d을 클릭하여 저장하세요.", + "已删除 {{count}} 个监控分类,请及时点击\u201c保存设置\u201d进行保存": "{{count}}개의 모니터링 카테고리가 삭제되었습니다. \u201c설정 저장\u201d을 클릭하여 저장하세요.", + "请先选择要删除的分类": "삭제할 카테고리를 먼저 선택해주세요", + "API信息管理,可以配置多个API地址用于状态展示和负载均衡(最多50个)": "API 정보 관리, 상태 표시 및 로드 밸런싱을 위해 여러 API 주소를 설정할 수 있습니다 (최대 50개)", + "API地址": "기본 URL", + "API渠道配置": "API 채널 설정", + "API端点": "API 엔드포인트", + "Authorization callback URL 填": "Authorization callback URL 입력", + "Authorization Endpoint": "인증 엔드포인트", + "auto分组调用链路": "자동 그룹 호출 체인", + "Available": "사용 가능", + "Bark推送URL": "Bark 푸시 URL", + "Bark推送URL必须以http://或https://开头": "Bark 푸시 URL은 http:// 또는 https://로 시작해야 합니다", + "Bark通知": "Bark 알림", + "Basic Auth 头": "Basic Auth 헤더", + "Cache Directory": "캐시 디렉토리", + "Cached tokens": "캐시된 토큰", + "Cached tokens 占比口径由后端返回:Claude 语义按 cached/(prompt+cached),其余按 cached/prompt。": "캐시된 토큰 비율은 서버에서 반환됩니다: Claude는 cached/(prompt+cached), 나머지는 cached/prompt 기준.", + "Changing batch type to:": "배치 유형 변경:", + "ChatCompletions→Responses 兼容配置": "ChatCompletions→Responses 호환 설정", + "ChatCompletions→Responses 兼容配置(Beta)": "ChatCompletions→Responses 호환성 (베타)", + "Claude 强制 beta=true": "Claude 강제 beta=true", + "Claude思考适配 BudgetTokens = MaxTokens * BudgetTokens 百分比": "Claude 사고 적용 BudgetTokens = MaxTokens * BudgetTokens 비율", + "Claude设置": "Claude 설정", + "Claude请求头覆盖": "Claude 요청 헤더 덮어쓰기", + "Client ID": "클라이언트 ID", + "Client Secret": "클라이언트 시크릿", + "Codex 授权": "Codex 인증", + "Codex 渠道不支持批量创建": "Codex 채널은 일괄 생성을 지원하지 않습니다", + "common.changeLanguage": "언어 변경", + "Completion tokens": "완료 토큰", + "Configuration": "설정", + "context_int/context_string 从请求上下文读取;gjson 从入口请求的 JSON body 按 gjson path 读取。": "context_int/context_string은 요청 컨텍스트에서 읽기; gjson은 요청 JSON 본문에서 gjson path로 읽기", + "CPU 使用率超过此值时拒绝请求": "CPU 사용률 초과 시 요청 거부", + "CPU 阈值 (%)": "CPU 임계값 (%)", + "Creem API 密钥,敏感信息不显示": "Creem API 키, 민감한 정보는 표시되지 않습니다", + "Creem Setting Tips": "Creem은 사전 설정된 고정 금액 상품만 지원합니다. 이러한 상품과 가격은 Creem 웹사이트에서 미리 생성하고 설정해야 하므로, 사용자 지정 동적 금액 충전은 지원되지 않습니다. Creem에서 상품 이름과 가격을 설정하고 Product Id를 얻은 다음 아래 상품에 입력하세요. new API에서 이 상품의 충전 금액과 표시 가격을 설정하세요.", + "Creem 介绍": "Creem은 항상 필요했던 결제 파트너입니다. 우리는 API의 단순성과 명확성을 추구합니다.", + "Creem 充值": "Creem 충전", + "Creem 设置": "Creem 설정", + "default为默认设置,可单独设置每个分类的安全等级": "\"default\"는 기본 설정이며, 각 카테고리의 보안 등급을 개별적으로 설정할 수 있습니다", + "default为默认设置,可单独设置每个模型的版本": "\"default\"는 기본 설정이며, 각 모델의 버전을 개별적으로 설정할 수 있습니다", + "Dify渠道只适配chatflow和agent,并且agent不支持图片!": "Dify 채널은 chatflow와 agent만 지원하며, agent는 이미지를 지원하지 않습니다!", + "Discord": "Discord", + "Discord Client ID": "Discord 클라이언트 ID", + "Discord Client Secret": "Discord 클라이언트 시크릿", + "Discord ID": "Discord ID", + "Discovery claims": "Discovery 클레임", + "Discovery scopes": "Discovery 스코프", + "Discovery 建议 scopes:": "Discovery 권장 스코프:", + "EUR (欧元)": "EUR (유로)", + "false": "false", + "GC execution failed": "GC 실행 실패", + "GC 已执行": "GC 실행 완료", + "GC 执行失败": "GC 실행 실패", + "GC 次数": "GC 횟수", + "Gemini安全设置": "Gemini 보안 설정", + "Gemini思考适配 BudgetTokens = MaxTokens * BudgetTokens 百分比": "Gemini 사고 적용 BudgetTokens = MaxTokens * BudgetTokens 비율", + "Gemini思考适配设置": "Gemini 사고 적용 설정", + "Gemini版本设置": "Gemini 버전 설정", + "Gemini设置": "Gemini 설정", + "GitHub": "GitHub", + "GitHub Client ID": "GitHub 클라이언트 ID", + "GitHub Client Secret": "GitHub 클라이언트 시크릿", + "GitHub ID": "GitHub ID", + "Goroutine 数": "Goroutine 수", + "Gotify应用令牌": "Gotify 애플리케이션 토큰", + "Gotify服务器地址": "Gotify 서버 주소", + "Gotify服务器地址必须以http://或https://开头": "Gotify 서버 주소는 http:// 또는 https://로 시작해야 합니다", + "Gotify通知": "Gotify 알림", + "GPU/容器": "GPU/컨테이너", + "GPU数量": "GPU 수량", + "Grok设置": "Grok 설정", + "Haiku 模型": "Haiku 모델", + "Homepage URL 填": "Homepage URL 입력", + "ID": "ID", + "include_obfuscation 用于控制 Responses 流混淆字段。默认关闭以避免客户端关闭该安全保护": "Responses 스트림 난독화 필드 제어용. 기본 비활성화", + "inference_geo 字段用于控制 Claude 数据驻留推理区域。默认关闭以避免未经授权透传地域信息": "Claude 데이터 지역 추론 제어용. 기본 비활성화", + "IP": "IP", + "IP白名单": "IP 허용 목록", + "IP白名单(支持CIDR表达式)": "IP 허용 목록 (CIDR 표현식 지원)", + "IP限制": "IP 제한", + "IP黑名单": "IP 차단 목록", + "JSON": "JSON", + "JSON 已格式化": "JSON 포맷 완료", + "JSON 文本": "JSON 텍스트", + "JSON 无效": "유효하지 않은 JSON", + "JSON 模式": "JSON 모드", + "JSON 模式支持手动输入或上传服务账号 JSON": "JSON 모드는 수동 입력 또는 서비스 계정 JSON 업로드를 지원합니다", + "JSON格式密钥,请确保格式正确": "JSON 형식 키, 형식이 올바른지 확인하세요", + "JSON格式错误": "JSON 형식 오류", + "JSON编辑": "JSON 편집기", + "JSON解析错误:": "JSON 파싱 오류:", + "Key": "키", + "Key 或 Path": "Key 또는 Path", + "Key 指纹": "Key 지문", + "Key 摘要": "Key 다이제스트", + "Key 来源": "Key 출처", + "Key 来源类型": "Key 출처 유형", + "Linux DO Client ID": "Linux DO 클라이언트 ID", + "Linux DO Client Secret": "Linux DO 클라이언트 시크릿", + "LinuxDO": "LinuxDO", + "LinuxDO ID": "LinuxDO ID", + "Logo 图片地址": "로고 이미지 주소", + "Midjourney 任务记录": "Midjourney 작업 기록", + "MIT许可证": "MIT 라이선스하에 배포되며, ", + "New API项目仓库地址:": "New API 프로젝트 저장소 주소: ", + "NewAPI 默认不会将入口请求的 User-Agent 透传到上游渠道;该条件仅用于识别访问本站点的客户端。": "NewAPI는 기본적으로 입구 요청의 User-Agent를 업스트림 채널로 전달하지 않습니다.", + "OAuth Client ID": "OAuth 클라이언트 ID", + "OAuth Client Secret": "OAuth 클라이언트 시크릿", + "OAuth 登录失败:": "OAuth 로그인 실패: ", + "OAuth 端点": "OAuth 엔드포인트", + "OAuth 配置错误:授权端点必须是完整的 URL(以 http:// 或 https:// 开头)": "OAuth 설정 오류: 인증 엔드포인트는 전체 URL이어야 합니다 (http:// 또는 https://로 시작)", + "OIDC": "OIDC", + "OIDC ID": "OIDC ID", + "Ollama 模型管理": "Ollama 모델 관리", + "Ollama 版本信息": "Ollama 버전 정보", + "Opus 模型": "Opus 모델", + "Passkey": "패스키", + "Passkey 已解绑": "패스키가 해제되었습니다", + "Passkey 已重置": "패스키가 재설정되었습니다", + "Passkey 是基于 WebAuthn 标准的无密码身份验证方法,支持指纹、面容、硬件密钥等认证方式": "패스키는 WebAuthn 표준을 기반으로 한 비밀번호 없는 인증 방법으로, 지문, 얼굴 인식, 하드웨어 키 등의 인증 방식을 지원합니다", + "Passkey 注册失败,请重试": "패스키 등록 실패, 다시 시도해 주세요", + "Passkey 注册成功": "패스키 등록 성공", + "Passkey 登录": "패스키 로그인", + "Ping间隔(秒)": "Ping 간격 (초)", + "POST 参数": "POST 파라미터", + "price_xxx 의商品价格 ID,新建产品后可获得": "price_xxx 상품 가격 ID. 신규 상품 생성 후 취득 가능", + "Prompt cache hit tokens": "프롬프트 캐시 적중 토큰", + "Prompt tokens": "프롬프트 토큰", + "Reasoning Effort": "추론 노력", + "Recharge Quota": "충전 할당량", + "Request ID": "요청 ID", + "safety_identifier 字段用于帮助 OpenAI 识别可能违反使用政策的应用程序用户。默认关闭以保护用户隐私": "safety_identifier 필드는 OpenAI가 사용 정책을 위반할 수 있는 애플리케이션 사용자를 식별하는 데 도움이 됩니다. 사용자 프라이버시 보호를 위해 기본적으로 비활성화됩니다", + "Scopes(可选)": "Scopes (선택)", + "service_tier 字段用于指定服务层级,允许透传可能导致实际计费高于预期。默认关闭以避免额外费用": "service_tier 필드는 서비스 등급을 지정하는 데 사용됩니다. 전달을 허용하면 실제 청구액이 예상보다 높을 수 있습니다. 추가 비용을 방지하기 위해 기본적으로 비활성화됩니다", + "sk_xxx 或 rk_xxx 的 Stripe 密钥,敏感信息不显示": "sk_xxx 또는 rk_xxx의 Stripe 키, 민감한 정보는 표시되지 않습니다", + "SMTP 发送者邮箱": "SMTP 발신자 이메일", + "SMTP 服务器地址": "SMTP 서버 주소", + "SMTP 端口": "SMTP 포트", + "SMTP 访问凭证": "SMTP 액세스 자격 증명", + "SMTP 账户": "SMTP 계정", + "Sonnet 模型": "Sonnet 모델", + "SSE 事件": "SSE 이벤트", + "SSE数据流": "SSE 스트림", + "SSRF防护开关详细说明": "SSRF 보호 활성화 여부를 제어하는 마스터 스위치입니다. 비활성화하면 모든 SSRF 검사가 무시됩니다.", + "SSRF防护设置": "SSRF 보호 설정", + "SSRF防护详细说明": "SSRF 보호는 악의적인 사용자가 서버를 사용하여 내부 네트워크 리소스에 액세스하는 것을 방지합니다. 신뢰할 수 있는 도메인/IP에 대한 허용 목록을 설정하고 허용된 포트를 제한하세요. 파일 다운로드, 웹훅 및 알림에 적용됩니다.", + "store 字段用于授权 OpenAI 存储请求数据以评估和优化产品。默认关闭,开启后可能导致 Codex 无法正常使用": "store 필드는 OpenAI가 제품 평가 및 최적화를 위해 요청 데이터를 저장하도록 승인합니다. 기본적으로 비활성화됩니다. 활성화하면 Codex가 정상적으로 작동하지 않을 수 있습니다", + "Stripe 设置": "Stripe 설정", + "Stripe/Creem 商品ID(可选)": "Stripe/Creem 상품 ID (선택)", + "Stripe/Creem 需在第三方平台创建商品并填入 ID": "Stripe/Creem 상품은 타사 플랫폼에서 생성하고 ID를 입력해야 합니다", + "Telegram": "Telegram", + "Telegram Bot Token": "Telegram 봇 토큰", + "Telegram Bot 名称": "Telegram 봇 이름", + "Telegram ID": "Telegram ID", + "Token Endpoint": "토큰 엔드포인트", + "token 会按倍率换算成“额度/次数”,请求结束后再做差额结算(补扣/返还)。": "토큰은 비율에 따라 할당량/횟수로 변환되며 요청 완료 후 차액 정산됩니다.", + "Total tokens": "총 토큰", + "true": "true", + "TTL(秒,0 表示默认)": "TTL (초, 0은 기본값)", + "TTL(秒)": "TTL (초)", + "Turnstile Secret Key": "Turnstile 시크릿 키", + "Turnstile Site Key": "Turnstile 사이트 키", + "Unix时间戳": "Unix 타임스탬프", + "Uptime Kuma地址": "Uptime Kuma 주소", + "Uptime Kuma监控分类管理,可以配置多个监控分类用于服务状态展示(最多20个)": "Uptime Kuma 모니터링 카테고리 관리, 서비스 상태 표시를 위해 여러 모니터링 카테고리를 설정할 수 있습니다 (최대 20개)", + "URL 标识,只能包含小写字母、数字和连字符": "URL 식별자, 소문자, 숫자 및 하이픈만 포함 가능", + "URL链接": "URL 링크", + "USD (美元)": "USD (미국 달러)", + "User Info Endpoint": "사용자 정보 엔드포인트", + "User-Agent include(每行一个,可不写)": "User-Agent include (한 줄에 하나씩, 선택 사항)", + "Value 正则": "값 정규식", + "Vertex AI 不支持 functionResponse.id 字段,开启后将自动移除该字段": "Vertex AI는 functionResponse.id 필드를 지원하지 않습니다. 활성화하면 이 필드가 자동으로 제거됩니다", + "Webhook 密钥": "웹훅 시크릿", + "Webhook 签名密钥": "웹훅 서명 키", + "Webhook地址": "웹훅 URL", + "Webhook地址必须以https://开头": "Webhook URL은 https://로 시작해야 합니다", + "Webhook请求结构说明": "웹훅 요청 구조 설명", + "Webhook通知": "웹훅 알림", + "Web搜索价格:{{symbol}}{{price}} / 1K 次": "웹 검색 가격: {{symbol}}{{price}} / 1K 회", + "WeChat Server 服务器地址": "WeChat 서버 주소", + "WeChat Server 访问凭证": "WeChat 서버 액세스 자격 증명", + "Well-Known URL": "Well-Known URL", + "Well-Known URL 必须以 http:// 或 https:// 开头": "Well-Known URL은 http:// 또는 https://로 시작해야 합니다", + "whsec_xxx 的 Webhook 签名密钥,敏感信息不显示": "whsec_xxx의 웹훅 서명 키, 민감한 정보는 표시되지 않습니다", + "Worker地址": "Worker 주소", + "Worker密钥": "Worker 키", + "一个月": "한 달", + "一天": "하루", + "一小时": "한 시간", + "一次调用消耗多少刀,优先级大于模型倍率": "한 번의 호출에 소비되는 달러 금액, 모델 비율보다 우선순위가 높습니다", + "一行一个,不区分大小写": "한 줄에 하나, 대소문자 구분 없습니다", + "一行一个屏蔽词,不需要符号分割": "한 줄에 하나의 민감 단어, 기호 구분 불필요", + "一键填充到 FluentRead": "FluentRead에 원클릭 채우기", + "上一个表单块": "이전 폼 블록", + "上一步": "이전", + "上次保存: ": "마지막 저장: ", + "上游倍率同步": "업스트림 비율 동기화", + "上游返回": "업스트림 응답", + "下一个表单块": "다음 폼 블록", + "下一步": "다음", + "下午好": "좋은 오후예요", + "下载日志": "로그 다운로드", + "不再提醒": "다시 알리지 않기", + "不升级": "업그레이드 안 합니다", + "不同用户分组的价格信息": "다른 사용자 그룹의 가격 정보", + "不填则为模型列表第一个": "비워두면 모델 목록의 첫 번째가 사용됩니다", + "不建议使用": "사용 권장하지 않음", + "不支持": "지원하지 않음", + "不是合法的 JSON 字符串": "유효한 JSON 문자열이 아닙니다", + "不更改": "변경하지 않음", + "不重置": "재설정 안 합니다", + "不限": "제한 없습니다", + "不限制": "제한 없습니다", + "与本地相同": "로컬과 동일", + "专属倍率": "전용 그룹 비율", + "两次输入的密码不一致": "입력한 두 비밀번호가 일치하지 않습니다", + "两次输入的密码不一致!": "입력한 두 비밀번호가 일치하지 않습니다!", + "两步验证": "2단계 인증", + "两步验证(2FA)为您的账户提供额外的安全保护。启用后,登录时需要输入密码和验证器应用生成的验证码。": "2단계 인증(2FA)은 계정에 추가적인 보안 보호를 제공합니다. 활성화하면 로그인 시 비밀번호와 인증기 앱에서 생성된 인증 코드를 입력해야 합니다.", + "两步验证启用成功!": "2단계 인증이 성공적으로 활성화되었습니다!", + "两步验证已禁用": "2단계 인증이 비활성화되었습니다", + "两步验证设置": "2단계 인증 설정", + "个": "개", + "个GPU": "개 GPU", + "个人中心": "개인 센터", + "个人中心区域": "개인 센터 영역", + "个人信息设置": "개인 정보 설정", + "个人设置": "개인 설정", + "个字段": "개 필드", + "个实例": "개 인스턴스", + "个已过期": "개 만료되었습니다", + "个性化设置": "개인화 설정", + "个性化设置左侧边栏的显示内容": "왼쪽 사이드바 표시 내용 개인화", + "个月": "개월", + "个未配置模型": "개 미설정 모델", + "个模型": "개 모델", + "个生效中": "개 활성화되었습니다", + "个部署吗?此操作不可逆。": "개 배포하시겠습니까? 이 작업은 되돌릴 수 없습니다.", + "中午好": "좋은 오후예요", + "为一个 JSON 对象,例如:{\"100\": 0.95, \"200\": 0.9, \"500\": 0.85}": "JSON 객체입니다. 예: {\"100\": 0.95, \"200\": 0.9, \"500\": 0.85}", + "为一个 JSON 数组,例如:[10, 20, 50, 100, 200, 500]": "JSON 배열입니다. 예: [10, 20, 50, 100, 200, 500]", + "为一个 JSON 文本": "JSON 텍스트입니다", + "为一个 JSON 文本,例如:": "JSON 텍스트입니다. 예:", + "为一个 JSON 文本,键为分组名称,值为倍率": "그룹 이름을 키로, 비율을 값으로 하는 JSON 텍스트입니다", + "为一个 JSON 文本,键为分组名称,值为分组描述": "그룹 이름을 키로, 그룹 설명을 값으로 하는 JSON 텍스트입니다", + "为一个 JSON 文本,键为模型名称,值为一次调用消耗多少刀,比如 \"gpt-4-gizmo-*\": 0.1,一次消耗0.1刀": "모델 이름을 키로, 호출당 비용을 값으로 하는 JSON 텍스트입니다. 예: \"gpt-4-gizmo-*\": 0.1, 호출당 $0.1 비용", + "为一个 JSON 文本,键为模型名称,值为倍率": "모델 이름을 키로, 비율을 값으로 하는 JSON 텍스트입니다", + "为一个 JSON 文本,键为模型名称,值为倍率,例如:{\"gpt-4o-audio-preview\": 16}": "모델 이름을 키로, 비율을 값으로 하는 JSON 텍스트입니다. 예: {\"gpt-4o-audio-preview\": 16}", + "为一个 JSON 文本,键为模型名称,值为倍率,例如:{\"gpt-4o-realtime\": 2}": "모델 이름을 키로, 비율을 값으로 하는 JSON 텍스트입니다. 예: {\"gpt-4o-realtime\": 2}", + "为一个 JSON 文本,键为模型名称,值为倍率,例如:{\"gpt-image-1\": 2}": "모델 이름을 키로, 비율을 값으로 하는 JSON 텍스트입니다. 예: {\"gpt-image-1\": 2}", + "为一个 JSON 文本,键为组名称,值为倍率": "그룹 이름을 키로, 비율을 값으로 하는 JSON 텍스트입니다", + "为了保护账户安全,请验证您的两步验证码。": "계정 보안을 위해 2단계 인증 코드를 확인해 주세요.", + "为了保护账户安全,请验证您的身份。": "계정 보안을 위해 신원을 확인해 주세요.", + "为保证匹配准确,请确保客户端直连本站点(避免反向代理/网关改写 User-Agent)。": "정확한 매칭을 위해 클라이언트가 이 사이트에 직접 연결되도록 하세요(리버스 프록시/게이트웨이를 통해 User-Agent를 변경하지 마세요)", + "为空则默认使用服务器地址,多个 Origin 用逗号分隔,例如 https://newapi.pro,https://newapi.com ,注意不能携带[],需使用https": "비워두면 서버 주소가 기본값입니다. 여러 Origin은 쉼표로 구분하세요. 예: https://newapi.pro,https://newapi.com. 참고: []를 포함할 수 없으며, https를 사용해야 합니다", + "主模型": "기본 모델", + "主页链接填": "홈페이지 링크 입력", + "之前的所有日志": "이전 모든 로그", + "二步验证已重置": "2단계 인증이 재설정되었습니다", + "产品ID": "상품 ID", + "产品ID已存在": "상품 ID가 이미 존재합니다", + "产品名称": "상품 이름", + "产品配置": "상품 설정", + "产品配置错误,请联系管理员": "상품 설정 오류, 관리자에게 문의하세요", + "仅为使用OpenAI格式的Gemini/Vertex渠道填充thoughtSignature": "OpenAI 형식을 사용하는 Gemini/Vertex 채널에만 thoughtSignature를 입력하세요", + "仅会覆盖你勾选的字段,未勾选的字段保持本地不变。": "선택한 필드만 덮어쓰기되며, 선택하지 않은 필드는 변경되지 않습니다.", + "仅供参考,以实际扣费为准": "참고용이며, 실제 차감 기준", + "仅保存": "저장만", + "仅修改展示粒度,统计精确到小时": "표시 단위만 수정, 통계는 시간 단위로 정확", + "仅密钥": "키만", + "仅对自定义模型有效": "사용자 정의 모델에만 적용", + "仅当前层": "현재 계층만", + "仅当自动禁用开启时有效,关闭后不会自动禁用该渠道": "자동 비활성화 기능이 활성화된 경우에만 유효하며, 채널을 닫은 후에는 자동으로 비활성화되지 않습니다.", + "仅支持": "다음만 지원", + "仅支持 JSON 对象,必须包含 access_token 与 account_id": "JSON 객체만 지원 (access_token, account_id 필수)", + "仅支持 JSON 文件": "JSON 파일만 지원됩니다", + "仅支持 JSON 文件,支持多文件": "JSON 파일만 지원되며, 여러 파일이 지원됩니다", + "仅支持 OpenAI 接口格式": "OpenAI 인터페이스 형식만 지원됩니다", + "仅显示已绑定": "연결된 항목만 표시", + "仅显示矛盾倍率": "충돌하는 비율만 표시", + "仅用于开发环境,生产环境应使用 HTTPS": "개발용으로만 사용, 프로덕션에서는 HTTPS 사용", + "仅用于换算,实际保存的是额度": "변환용이며, 할당량이 저장되는 값입니다", + "仅用订阅": "구독만", + "仅用钱包": "지갑만", + "仅重置配置": "설정 초기화만", + "今日关闭": "오늘 하루 보지 않기", + "今日已签到": "이미 출석하였습니다", + "今日已签到,累计签到": "오늘 출석함, 총 출석", + "从官方模型库同步": "공식 모델 라이브러리에서 동기화", + "从认证器应用中获取验证码,或使用备用码": "인증 앱에서 인증 코드를 받거나 백업 코드를 사용하세요", + "从配置文件同步": "설정 파일에서 동기화", + "代理地址": "프록시 주소", + "代理设置": "프록시 설정", + "代码已复制到剪贴板": "코드가 클립보드에 복사되었습니다", + "令牌": "토큰", + "令牌分组": "토큰 그룹", + "令牌分组,默认为用户的分组": "토큰 그룹, 기본값은 사용자의 그룹", + "令牌创建成功,请在列表页面点击复制获取令牌!": "토큰이 생성되었습니다. 목록 페이지에서 복사를 클릭하여 토큰을 가져오세요!", + "令牌名称": "토큰 이름", + "令牌已重置并已复制到剪贴板": "토큰이 초기화되고 클립보드에 복사되었습니다", + "令牌更新成功!": "토큰이 업데이트되었습니다!", + "令牌的额度仅用于限制令牌本身的最大额度使用量,实际的使用受到账户的剩余额度限制": "토큰의 할당량은 토큰 자체의 최대 할당량 사용을 제한하는 데만 사용되며, 실제 사용량은 계정의 남은 할당량에 의해 제한됩니다", + "令牌端点": "토큰 엔드포인트", + "令牌管理": "토큰 관리", + "以下上游数据可能不可信:": "다음 업스트림 데이터는 신뢰할 수 없을 수 있습니다: ", + "以下文件解析失败,已忽略:{{list}}": "다음 파일은 파싱에 실패하여 무시되었습니다: {{list}}", + "以及": "및", + "仪表盘设置": "대시보드 설정", + "价格": "가격 책정", + "价格:{{symbol}}{{price}} * {{ratioType}}:{{ratio}}": "가격: {{symbol}}{{price}} * {{ratioType}}: {{ratio}}", + "价格:${{price}} * {{ratioType}}:{{ratio}}": "가격: ${{price}} * {{ratioType}}: {{ratio}}", + "价格暂时不可用,请稍后重试": "가격을 일시적으로 사용할 수 없습니다. 나중에 다시 시도하세요", + "价格计算中...": "가격 계산 중...", + "价格计算失败": "가격 계산 실패", + "价格计算失败: ": "가격 계산 실패: ", + "价格设置": "가격 설정", + "价格设置方式": "가격 설정 방법", + "价格重新计算中...": "가격 재계산 중...", + "价格预估": "가격 예상", + "任一满足(OR)": "임의 충족 (OR)", + "任务 ID": "작업 ID", + "任务ID": "작업 ID", + "任务日志": "작업 로그", + "任务状态": "상태", + "任务记录": "작업 기록", + "企业账户为特殊返回格式,需要特殊处理,如果非企业账户,请勿勾选": "기업 계정은 특수한 반환 형식이 있어 특별 처리가 필요합니다. 기업 계정이 아니라면 이 옵션을 선택하지 마세요", + "优先级": "우선순위", + "优先订阅": "구독 우선", + "优先钱包": "지갑 우선", + "优惠": "할인", + "低于此额度时将发送邮件提醒用户": "할당량이 이 값 아래로 떨어지면 이메일 알림이 발송됩니다", + "余额": "잔액", + "余额充值管理": "잔액 충전 관리", + "作废": "무효화", + "作废于": "무효화 시각", + "作废后该订阅将立即失效,历史记录不受影响。是否继续?": "무효화 후 구독이 즉시 무효화됩니다. 기록은 영향받지 않습니다. 계속하시겠습니까?", + "作用域": "스코프", + "作用域:包含分组": "스코프: 그룹 포함", + "作用域:包含规则名称": "스코프: 규칙명 포함", + "你似乎并没有修改什么": "수정된 내용이 없습니다", + "你可以在“自定义模型名称”处手动添加它们,然后点击填入后再提交,或者直接使用下方操作自动处理。": "\"사용자 정의 모델 이름\" 아래에 수동으로 추가한 후 채우기를 클릭하여 제출하거나, 아래 작업을 사용할 수 있습니다.", + "使用 {{name}} 继续": "{{name}}으로 계속", + "使用 Discord 继续": "Discord로 계속", + "使用 GitHub 继续": "GitHub로 계속", + "使用 JSON 对象格式,格式为:{\"组名\": [最多请求次数, 最多请求完成次数]}": "JSON 객체 형식을 사용하세요. 형식: {\"group_name\": [max_requests, max_completions]}", + "使用 LinuxDO 继续": "LinuxDO로 계속", + "使用 OIDC 继续": "OIDC로 계속", + "使用 Passkey 实现免密且更安全的登录体验": "Passkey를 사용하여 비밀번호 없이 더 안전한 로그인 경험을 하세요", + "使用 Passkey 登录": "패스키로 로그인", + "使用 Passkey 验证": "패스키로 인증", + "使用 微信 继续": "WeChat으로 계속", + "使用 用户名 注册": "사용자 이름으로 가입", + "使用 邮箱或用户名 登录": "이메일 또는 사용자 이름으로 로그인", + "使用ID排序": "ID로 정렬", + "使用日志": "사용 로그", + "使用模式": "사용 모드", + "使用统计": "사용 통계", + "使用认证器应用(如 Google Authenticator、Microsoft Authenticator)扫描下方二维码:": "인증기 앱(예: Google Authenticator, Microsoft Authenticator)을 사용하여 아래 QR 코드를 스캔하세요:", + "使用认证器应用扫描二维码": "인증기 앱으로 QR 코드 스캔", + "例如": "예:", + "例如 /var/cache/new-api": "예: /var/cache/new-api", + "例如 €, £, Rp, ₩, ₹...": "예: €, £, Rp, ₩, ₹...", + "例如 https://docs.newapi.pro": "예: https://docs.newapi.pro", + "例如:": "예시:", + "例如: /bin/bash -c \"python app.py\"": "예: /bin/bash -c \"python app.py\"", + "例如: nginx:latest": "예: nginx:latest", + "例如: socks5://user:pass@host:port": "예: socks5://user:pass@host:port", + "例如:-c": "예: -c", + "例如:/bin/bash": "예: /bin/bash", + "例如:0001": "예: 0001", + "例如:1000": "예: 1000", + "例如:100000": "예: 100000", + "例如:2,就是最低充值2$": "예: 2, 최소 충전 $2 의미", + "例如:2000": "예: 2000", + "例如:4.99": "예: 4.99", + "例如:401, 403, 429, 500-599": "예: 401,403,429,500-599", + "例如:7,就是7元/美金": "예: 7, 1달러당 7위안 의미", + "例如:email": "예: 이메일", + "例如:example.com": "예: example.com", + "例如:github / si:google / https://example.com/logo.png / 🐱": "예: github / si:google / https://example.com/logo.png / 🐱", + "例如:GitHub Enterprise": "예: GitHub Enterprise", + "例如:github-enterprise": "예: github-enterprise", + "例如:https://example.com/.well-known/openid-configuration": "예: https://example.com/.well-known/openid-configuration", + "例如:https://gitea.example.com": "예: https://gitea.example.com", + "例如:https://yourdomain.com": "예: https://yourdomain.com", + "例如:name、full_name": "예: name, full_name", + "例如:nginx:latest": "예: nginx:latest", + "例如:preferred_username、login": "예: preferred_username, login", + "例如:preview": "예: preview", + "例如:prod_6I8rBerHpPxyoiU9WK4kot": "예: prod_6I8rBerHpPxyoiU9WK4kot", + "例如:sub、id、data.user.id": "예: sub, id, data.user.id", + "例如:基础套餐": "예: 기본 패키지", + "例如:该请求不满足准入策略": "예: 요청이 접근 정책 미충족", + "例如:适合轻度使用": "예: 가벼운 사용에 적합", + "例如:需要等级 {{required}},你当前等级 {{current}}": "예: 레벨 {{required}} 필요, 현재 {{current}}", + "例如(全渠道):": "예 (전체 채널):", + "例如(指定渠道):": "예 (지정 채널):", + "例如发卡网站的购买链接": "예: 카드 발급 웹사이트의 구매 링크", + "供应商": "제공자", + "供应商介绍": "제공자 소개", + "供应商信息:": "제공자 정보:", + "供应商创建成功!": "제공자 생성 성공하였습니다", + "供应商删除成功": "제공자 삭제 성공하였습니다", + "供应商名称": "제공자 이름", + "供应商图标": "제공자 아이콘", + "供应商更新成功!": "제공자 업데이트 성공하였습니다", + "侧边栏管理(全局控制)": "사이드바 관리 (전역 제어)", + "侧边栏设置保存成功": "사이드바 설정 저장 성공하였습니다", + "保存": "저장", + "保存 Discord OAuth 设置": "Discord OAuth 설정 저장", + "保存 GitHub OAuth 设置": "GitHub OAuth 설정 저장", + "保存 Linux DO OAuth 设置": "Linux DO OAuth 설정 저장", + "保存 OIDC 设置": "OIDC 설정 저장", + "保存 Passkey 设置": "패스키 설정 저장", + "保存 SMTP 设置": "SMTP 설정 저장", + "保存 Telegram 登录设置": "Telegram 로그인 설정 저장", + "保存 Turnstile 设置": "Turnstile 설정 저장", + "保存 WeChat Server 设置": "WeChat 서버 설정 저장", + "保存分组倍率设置": "그룹 비율 설정 저장", + "保存备用码": "백업 코드 저장", + "保存备用码以备不时之需": "긴급 상황을 위해 백업 코드 저장", + "保存失败": "저장 실패", + "保存失败,请重试": "저장 실패, 다시 시도하세요", + "保存失败:": "저장 실패:", + "保存屏蔽词过滤设置": "민감 단어 필터링 설정 저장", + "保存性能设置": "성능 설정 저장", + "保存成功": "저장 되었습니다", + "保存数据看板设置": "데이터 대시보드 설정 저장", + "保存日志设置": "로그 설정 저장", + "保存模型倍率设置": "모델 비율 설정 저장", + "保存模型速率限制": "모델 속도 제한 설정 저장", + "保存监控设置": "모니터링 설정 저장", + "保存签到设置": "출석 설정 저장", + "保存绘图设置": "그리기 설정 저장", + "保存聊天设置": "채팅 설정 저장", + "保存设置": "설정 저장", + "保存通用设置": "일반 설정 저장", + "保存邮箱域名白名单设置": "이메일 도메인 허용 목록 설정 저장", + "保存额度设置": "할당량 설정 저장", + "保留原值(目标已有值时不覆盖)": "원래 값 유지", + "修复数据库一致性": "데이터베이스 일관성 수정", + "修改为": "다음으로 수정", + "修改子渠道优先级": "하위 채널 우선순위 수정", + "修改子渠道权重": "하위 채널 가중치 수정", + "修改密码": "비밀번호 변경", + "修改绑定": "연결 수정", + "修改部署名称": "배포 이름 변경", + "倍率": "비율", + "倍率信息": "비율 정보", + "倍率是为了方便换算不同价格的模型": "배율은 다른 가격의 모델 간 변환을 용이하게 하기 위한 것입니다.", + "倍率模式": "비율 모드", + "倍率类型": "비율 유형", + "偏好设置": "환경설정", + "停止测试": "테스트 중지하였습니다", + "停止重试": "재시도 중지하였습니다", + "停用": "비활성화", + "允许 AccountFilter 参数": "AccountFilter 매개변수 허용", + "允许 HTTP 协议图片请求(适用于自部署代理)": "HTTP 프로토콜 이미지 요청 허용 (자체 배포 프록시용)", + "允许 inference_geo 透传": "inference_geo 패스스루 허용", + "允许 safety_identifier 透传": "safety_identifier 전달 허용", + "允许 service_tier 透传": "service_tier 전달 허용", + "允许 stream_options.include_obfuscation 透传": "stream_options.include_obfuscation 패스스루 허용", + "允许 Turnstile 用户校验": "Turnstile 사용자 인증 허용", + "允许不安全的 Origin(HTTP)": "안전하지 않은 Origin (HTTP) 허용", + "允许回调(会泄露服务器 IP 地址)": "콜백 허용 (서버 IP 주소 노출됨)", + "允许在 Stripe 支付中输入促销码": "Stripe 결제 시 프로모션 코드 입력 허용", + "允许新用户注册": "신규 사용자 등록 허용", + "允许的 Origins": "허용된 Origin", + "允许的IP,一行一个,不填写则不限制": "허용된 IP, 한 줄에 하나, 비워두면 제한 없습니다", + "允许的端口": "허용된 포트", + "允许访问私有IP地址(127.0.0.1、192.168.x.x等内网地址)": "사설 IP 주소 접근 허용 (127.0.0.1, 192.168.x.x 및 기타 내부 주소)", + "允许通过 Discord 账户登录 & 注册": "Discord 계정으로 로그인 및 등록 허용", + "允许通过 GitHub 账户登录 & 注册": "GitHub 계정으로 로그인 및 등록 허용", + "允许通过 Linux DO 账户登录 & 注册": "Linux DO 계정으로 로그인 및 등록 허용", + "允许通过 OIDC 进行登录": "OIDC로 로그인 허용", + "允许通过 Passkey 登录 & 认证": "Passkey로 로그인 및 인증 허용", + "允许通过 Telegram 进行登录": "Telegram으로 로그인 허용", + "允许通过密码进行注册": "비밀번호로 등록 허용", + "允许通过密码进行登录": "비밀번호로 로그인 허용", + "允许通过微信登录 & 注册": "WeChat으로 로그인 및 등록 허용", + "允许重试": "재시도 허용", + "元": "CNY", + "充值": "충전", + "充值价格(x元/美金)": "충전 가격 (x 위안/달러)", + "充值价格显示": "충전 가격", + "充值分组倍率": "충전 그룹 비율", + "充值分组倍率不是合法的 JSON 字符串": "충전 그룹 비율이 유효한 JSON 문자열이 아닙니다", + "充值数量": "충전 수량", + "充值数量,最低 ": "충전 수량, 최소", + "充值数量不能小于": "충전 금액은 다음보다 작을 수 없습니다", + "充值方式设置": "충전 방법 설정", + "充值方式设置不是合法的 JSON 字符串": "충전 방법 설정이 유효한 JSON 문자열이 아닙니다", + "充值确认": "충전 확인", + "充值账单": "충전 내역", + "充值金额折扣配置": "충전 할당량 할인 설정", + "充值金额折扣配置不是合法的 JSON 对象": "충전 할당량 할인 구성이 유효한 JSON 객체가 아닙니다", + "充值链接": "충전 링크", + "充值额度": "충전 할당량", + "先填写配置,再自动填充 OAuth 端点,能显著减少手工输入": "먼저 설정을 입력한 다음 OAuth 엔드포인트를 자동으로 채웁니다", + "先搜索,再一键复制字段名或填入当前规则。字段名为系统内部路径,可直接用于路径 / 来源 / 目标。": "먼저 검색한 다음 필드 이름을 복사하거나 현재 규칙에 입력합니다.", + "免责声明:仅限个人使用,请勿分发或共享任何凭证。该渠道存在前置条件与使用门槛,请在充分了解流程与风险后使用,并遵守 OpenAI 的相关条款与政策。相关凭证与配置仅限接入 Codex CLI 使用,不适用于其他客户端、平台或渠道。": "면책 조항: 개인용으로만 사용하십시오. 자격 증명을 배포하거나 공유하지 마십시오. 이 채널에는 전제 조건이 있으므로 채널 설명을 확인하십시오.", + "兑换人ID": "사용자 ID", + "兑换成功!": "교환 성공!", + "兑换码充值": "교환 코드 충전", + "兑换码创建成功": "교환 코드 생성되었습니다", + "兑换码创建成功,是否下载兑换码?": "교환 코드가 생성되었습니다. 다운로드하시겠습니까?", + "兑换码创建成功!": "교환 코드가 생성되었습니다!", + "兑换码将以文本文件的形式下载,文件名为兑换码的名称。": "교환 코드는 텍스트 파일로 다운로드되며, 파일명은 교환 코드 이름입니다.", + "兑换码更新成功!": "교환 코드가 업데이트되었습니다!", + "兑换码生成管理": "교환 코드 생성 관리", + "兑换码管理": "교환 코드 관리", + "兑换额度": "교환", + "全局控制侧边栏区域和功能显示,管理员隐藏的功能用户无法启用": "사이드바 영역 및 기능의 전역 제어, 관리자가 숨긴 기능은 사용자가 활성화할 수 없습니다", + "全局设置": "전역 설정", + "全选": "전체 선택", + "全部": "전체", + "全部供应商": "모든 공급업체", + "全部分组": "모든 그룹", + "全部地区总可用资源": "모든 지역의 총 사용 가능 리소스", + "全部填入": "모두 채우기", + "全部容器": "모든 컨테이너", + "全部展开": "모두 확장", + "全部收起": "모두 축소", + "全部标签": "모든 태그", + "全部模型": "모든 모델", + "全部满足(AND)": "모두 만족 (AND)", + "全部状态": "모든 상태", + "全部硬件总可用资源": "총 사용 가능 하드웨어 리소스", + "全部端点": "모든 엔드포인트", + "全部类型": "모든 유형", + "公告": "공지사항", + "公告内容": "공지 내용", + "公告已更新": "공지 업데이트되었습니다", + "公告已更新,请及时点击\u201d保存设置\u201d进行保存": "공지가 업데이트되었습니다. \u201d설정 저장\u201d을 클릭하여 저장하세요.", + "公告已添加,请及时点击\u201d保存设置\u201d进行保存": "공지가 추가되었습니다. \u201d설정 저장\u201d을 클릭하여 저장하세요.", + "公告已删除,请及时点击\u201d保存设置\u201d进行保存": "공지가 삭제되었습니다. \u201d설정 저장\u201d을 클릭하여 저장하세요.", + "已删除 {{count}} 个系统公告,请及时点击\u201d保存设置\u201d进行保存": "{{count}}개의 시스템 공지가 삭제되었습니다. \u201d설정 저장\u201d을 클릭하여 저장하세요.", + "公告更新失败": "공지 업데이트 실패", + "系统公告已更新": "시스템 공지가 업데이트되었습니다", + "系统公告更新失败": "시스템 공지 업데이트 실패", + "请填写完整的公告信息": "공지 정보를 모두 입력해주세요", + "请先选择要删除的系统公告": "삭제할 시스템 공지를 먼저 선택해주세요", + "公告类型": "알림 유형", + "共": "전체", + "共 {{count}} 个密钥_one": "{{count}}개 키", + "共 {{count}} 个密钥_other": "{{count}}개 키", + "共 {{count}} 个模型": "{{count}}개 모델", + "共 {{count}} 个模型_one": "{{count}}개 모델", + "共 {{count}} 个模型_other": "{{count}}개 모델", + "共 {{count}} 条日志_one": "{{count}}개 로그 항목", + "共 {{count}} 条日志_other": "{{count}}개 로그 항목", + "共 {{total}} 项,当前显示 {{start}}-{{end}} 项": "총 {{total}}개 항목, {{start}}-{{end}}개 표시", + "关": "끔", + "关于": "정보", + "关于我们": "회사 소개", + "关于系统的详细信息": "시스템에 대한 상세 정보", + "关于项目": "프로젝트 정보", + "关键字(id或者名称)": "키워드 (ID 또는 이름)", + "关闭": "닫기", + "关闭侧边栏": "사이드바 닫기", + "关闭公告": "알림 닫기", + "关闭后,此模型将不会被“同步官方”自动覆盖或创建": "닫으면 이 모델은 \"공식 동기화\"에 의해 자동으로 덮어쓰거나 생성되지 않습니다", + "关闭后将不再显示此提示(仅对当前浏览器生效)。确定要关闭吗?": "닫으면 이 공지가 더 이상 표시되지 않습니다 (이 브라우저에만 해당). 닫으시겠습니까?", + "关闭弹窗,已停止批量测试": "대화상자가 닫혔습니다. 일괄 테스트가 중지되었습니다", + "关闭提示": "알림 닫기", + "其他": "기타", + "其他注册选项": "다른 가입 옵션", + "其他登录选项": "다른 로그인 옵션", + "其他设置": "기타 설정", + "其他详情": "기타 세부 정보", + "内存 阈值 (%)": "메모리 임계값 (%)", + "内存使用率超过此值时拒绝请求": "메모리 사용량이 이 값을 초과하면 요청을 거부합니다", + "内存命中": "메모리 적중", + "内存缓存最大条目数。0 表示使用后端默认容量:100000。": "메모리 캐시 최대 항목 수. 0은 기본값 100000 사용", + "内容": "콘텐츠", + "内容较大,已启用性能优化模式": "콘텐츠가 큽니다. 성능 최적화 모드가 활성화되었습니다", + "内容较大,部分功能可能受限": "콘텐츠가 큽니다. 일부 기능이 제한될 수 있습니다", + "内置": "내장", + "内置 Ollama 镜像": "내장 Ollama 이미지", + "再次输入部署名称": "배포 이름을 다시 입력하세요", + "最低": "최저", + "最低充值美元数量": "최소 충전 달러 금액", + "最后使用时间": "마지막 사용 시간", + "最后更新": "마지막 업데이트", + "最后请求": "마지막 요청", + "最大GPU数量": "최대 GPU 수", + "最大可用": "최대 사용 가능", + "最大条目数": "최대 항목 수", + "最终抵扣": "최종 차감", + "最近一次": "가장 최근", + "最近事件": "최근 이벤트", + "写": "쓰기", + "准入策略": "진입 정책", + "准入策略 JSON(可选)": "진입 정책 JSON (선택 사항)", + "准备中...": "준비 중...", + "准备完成初始化": "초기화 완료 준비되었습니다", + "凭证已刷新": "자격 증명 새로고침되었습니다", + "分类名称": "카테고리 이름", + "分组": "그룹", + "分组与模型定价设置": "그룹 및 모델 가격 설정", + "分组价格": "그룹 가격", + "分组倍率": "그룹 비율", + "分组倍率设置": "그룹 비율 설정", + "分组倍率设置,可以在此处新增分组或修改现有分组的倍率,格式为 JSON 字符串,例如:{\"vip\": 0.5, \"test\": 1},表示 vip 分组的倍率为 0.5,test 分组的倍率为 1": "그룹 비율 설정, 여기서 새 그룹을 추가하거나 기존 그룹 비율을 수정할 수 있습니다. JSON 문자열 형식, 예: {\"vip\": 0.5, \"test\": 1}, vip 그룹 비율은 0.5, test 그룹 비율은 1", + "分组特殊倍率": "그룹 특별 비율", + "分组特殊可用分组": "사용 가능한 특별 그룹", + "分组设置": "그룹 설정", + "分组速率配置优先级高于全局速率限制。": "그룹 속도 설정은 전역 속도 제한보다 우선순위가 높습니다.", + "分组速率限制": "그룹 속도 제한", + "分钟": "분", + "切换为Assistant角色": "어시스턴트 역할로 전환", + "切换为System角色": "시스템 역할로 전환", + "切换为单密钥模式": "단일 키 모드로 전환", + "切换主题": "테마 전환", + "划转到余额": "잔액으로 이체", + "划转邀请额度": "초대 할당량 이체", + "划转金额最低为": "최소 이체 금액은", + "划转额度": "이체 금액", + "列出的模型将不会自动添加或移除-thinking/-nothinking 后缀": "이 목록의 모델은 -thinking/-nothinking 접미사를 자동으로 추가하거나 제거하지 않습니다.", + "列设置": "컬럼 설정", + "创建": "생성", + "创建令牌默认选择auto分组,初始令牌也将设为auto(否则留空,为用户默认分组)": "기본적으로 자동 그룹으로 토큰 생성, 초기 토큰도 자동으로 설정됨 (그렇지 않으면 사용자 기본 그룹으로 공백 유지)", + "创建失败": "생성 실패", + "创建成功": "생성 성공", + "创建或选择密钥时,将 Project 设置为 io.cloud": "키를 생성하거나 선택할 때 Project를 io.cloud로 설정", + "创建新用户账户": "새 사용자 계정 생성", + "创建新的令牌": "새 토큰 생성", + "创建新的兑换码": "새 교환 코드 생성", + "创建新的模型": "새 모델 생성", + "创建新的渠道": "새 채널 생성", + "创建新的订阅套餐": "새 구독 플랜 생성", + "创建新的预填组": "새 사전 채워진 그룹 생성", + "创建时间": "생성 시각", + "创建用户": "사용자 생성", + "初始化失败,请重试": "초기화 실패, 다시 시도하세요", + "初始化系统": "시스템 초기화", + "删除": "삭제", + "删除 Key 来源": "키 소스 삭제", + "删除会彻底移除该订阅记录(含权益明细)。是否继续?": "삭제하면 이 구독 기록이 영구적으로 제거됩니다 (혜택 세부 정보 포함). 계속하시겠습니까?", + "删除后无法恢复,确定要删除模型 \"{{name}}\" 吗?": "삭제 후 복구할 수 없습니다. 모델 \"{{name}}\"을(를) 삭제하시겠습니까?", + "删除失败": "삭제 실패", + "删除密钥失败": "키 삭제 실패", + "删除成功": "삭제 성공", + "删除所选": "선택 삭제", + "删除所选令牌": "선택한 토큰 삭제", + "删除所选通道": "선택한 채널 삭제", + "删除条件": "조건 삭제", + "删除禁用密钥失败": "비활성화된 키 삭제 실패", + "删除禁用通道": "비활성화된 채널 삭제", + "删除自动禁用密钥": "자동 비활성화된 키 삭제", + "删除规则": "규칙 삭제", + "删除账户": "계정 삭제", + "删除账户确认": "계정 삭제 확인", + "删除部署失败": "배포 삭제 실패", + "刷新": "새로고침", + "刷新凭证": "자격 증명 새로고침", + "刷新失败": "새로고침 실패", + "刷新容器信息": "컨테이너 정보 새로고침", + "刷新日志": "로그 새로고침", + "刷新统计": "통계 새로고침", + "刷新缓存统计": "캐시 통계 새로고침", + "刷新缓存统计失败": "캐시 통계 새로고침 실패", + "前往 io.net API Keys": "io.net API 키로 이동", + "前往设置": "설정으로 이동", + "前往设置页面": "설정 페이지로 이동", + "前缀": "접두사", + "副本数量": "복제본 수", + "剩余": "남음", + "剩余备用码:": "남은 백업 코드: ", + "剩余时间": "남은 시간", + "剩余额度": "남은 할당량", + "剩余额度/总额度": "남은/전체", + "剩余额度$": "남은 할당량 $", + "功能特性": "기능", + "加入渠道": "채널 참여", + "加入预填组": "사전 채워진 그룹 참여", + "加密存储": "암호화 저장", + "加载中...": "로딩 중...", + "加载供应商信息失败": "공급업체 정보 로드 실패", + "加载关于内容失败...": "정보 콘텐츠 로드 실패...", + "加载分组失败": "그룹 로드 실패", + "加载失败": "로드 실패", + "加载容器信息中...": "컨테이너 정보 로딩 중...", + "加载容器详情中...": "컨테이너 세부 정보 로딩 중...", + "加载日志中...": "로그 로딩 중...", + "加载模型信息失败": "모델 정보 로드 실패", + "加载模型列表失败": "모델 목록 로드 실패", + "加载模型失败": "모델 로드 실패", + "加载用户协议内容失败...": "사용자 약관 콘텐츠 로드 실패...", + "加载设置中...": "설정 로딩 중...", + "加载详情中...": "세부 정보 로딩 중...", + "加载账单失败": "청구서 로드 실패", + "加载隐私政策内容失败...": "개인정보 처리방침 콘텐츠 로드 실패...", + "包含": "포함", + "包含来自未知或未标明供应商的AI模型,这些模型可能来自小型供应商或开源项目。": "알 수 없거나 표시되지 않은 공급업체의 AI 모델이 포함되어 있으며, 소규모 공급업체 또는 오픈소스 프로젝트에서 제공될 수 있습니다.", + "包括失败请求的次数,0代表不限制": "실패한 요청 횟수 포함, 0은 제한 없습니다", + "匹配值": "일치 값", + "匹配值(可选)": "일치 값 (선택 사항)", + "匹配方式": "일치 방식", + "匹配类型": "일치 유형", + "区域": "지역", + "升级分组": "그룹 업그레이드", + "单GPU小时费率": "GPU 시간당 요금", + "历史消耗": "소비", + "原价": "원래 가격", + "原因:": "이유: ", + "原密码": "현재 비밀번호", + "原生格式": "기본 형식", + "原生额度": "원시 할당량", + "去重完成:去重前 {{before}} 个密钥,去重后 {{after}} 个密钥": "중복 제거 완료: 중복 제거 전 {{before}}개 키, 중복 제거 후 {{after}}개 키", + "参与官方同步": "공식 동기화 참여", + "参数": "매개변수", + "参数传递": "입력 매개변수", + "参数值": "매개변수 값", + "参数覆盖": "매개변수 재정의", + "参数覆盖 JSON 已复制": "매개변수 재정의 JSON 복사되었습니다", + "参数覆盖必须是合法的 JSON 对象": "매개변수 재정의는 유효한 JSON 객체여야 합니다", + "参数覆盖必须是合法的 JSON 格式!": "매개변수 재정의는 유효한 JSON 형식이어야 합니다", + "参数覆盖模板": "매개변수 재정의 템플릿", + "参数覆盖模板 JSON 格式不正确": "매개변수 재정의 템플릿 JSON 형식 오류", + "参数覆盖模板预览": "매개변수 재정의 템플릿 미리보기", + "参数配置": "매개변수 설정", + "参数配置有误": "매개변수 설정 오류", + "参数错误": "매개변수 오류", + "参照生视频": "참조 비디오 생성", + "友情链接": "친선 링크", + "发布日期": "게시 날짜", + "发布时间": "게시 시각", + "发现文档地址(Discovery URL,可选)": "Discovery URL (선택 사항)", + "发行者 URL(Issuer URL)": "발급자 URL (Issuer URL)", + "取消": "취소", + "取消全选": "전체 선택 해제", + "取消选择": "선택 해제", + "变换": "변환", + "变焦": "확대/축소", + "变量值": "변수 값", + "变量名": "변수 이름", + "只包括请求成功的次数": "성공한 요청 시간만 포함", + "只支持HTTPS,系统将以POST方式发送通知,请确保地址可以接收POST请求": "HTTPS만 지원되며, 시스템은 POST를 통해 알림을 보냅니다. 주소가 POST 요청을 받을 수 있는지 확인하세요", + "只有当用户设置开启IP记录时,才会进行请求和错误类型日志的IP记录": "사용자가 IP 기록을 설정한 경우에만 요청 및 오류 유형 로그의 IP 기록이 수행됩니다", + "可信": "신뢰할 수 있음", + "可在设置页面设置关于内容,支持 HTML & Markdown": "이 정보 서비스의 콘텐츠는 설정 페이지에서 설정할 수 있으며 HTML & Markdown을 지원합니다.", + "可手动填写,多个 scope 用空格分隔": "수동 입력 가능, 여러 scope는 공백으로 구분", + "可用": "사용 가능", + "可用令牌分组": "사용 가능한 토큰 그룹", + "可用分组": "사용 가능한 그룹", + "可用变量:{{provider}} {{field}} {{op}} {{required}} {{current}} 以及 {{current.path}}": "사용 가능한 변수: {{provider}} {{field}} {{op}} {{required}} {{current}} 및 {{current.path}}", + "可用数量": "사용 가능한 수량", + "可用模型": "사용 가능한 모델", + "可用空间: {{free}} / 总空间: {{total}}": "사용 가능: {{free}} / 전체: {{total}}", + "可用端点类型": "사용 가능한 엔드포인트 유형", + "可用邀请额度": "사용 가능한 초대 할당량", + "可留空;留空时会尝试使用 Issuer URL + /.well-known/openid-configuration": "비워두기 가능, 비울 경우 Issuer URL + /.well-known/openid-configuration 시도", + "可视化": "시각화", + "可视化倍率设置": "시각적 모델 비율 설정", + "可视化编辑": "시각적 편집", + "可选,公告的补充说明": "선택 사항, 알림에 대한 추가 정보", + "可选,用于复现结果": "선택 사항, 재현 가능성을 위해", + "可选:基于用户信息 JSON 做组合条件准入,条件不满足时返回自定义提示": "선택 사항: 사용자 정보 JSON 기반 조건 진입", + "可选:用于自动生成端点或 Discovery URL": "선택 사항: 엔드포인트 또는 Discovery URL 자동 생성", + "可选。匹配入口请求的 User-Agent;任意一行作为子串匹配(忽略大小写)即命中。": "선택 사항. User-Agent 일치.", + "可选。对提取到的亲和 Key 做正则校验;不填表示不校验。": "선택 사항. 친화성 키 정규식 검증.", + "可选。对请求路径进行匹配;不填表示匹配所有路径。": "선택 사항. 요청 경로 일치.", + "可选值": "선택 값", + "同时重置消息": "메시지 동시 재설정", + "同步": "동기화", + "同步到渠道": "채널로 동기화", + "同步向导": "동기화 마법사", + "同步失败": "동기화 실패", + "同步成功": "동기화 성공", + "同步接口": "동기화 인터페이스", + "同步渠道失败": "채널 동기화 실패", + "同步渠道失败:缺少部署信息": "채널 동기화 실패: 배포 정보 누락", + "同步端点": "엔드포인트 동기화", + "名称": "이름", + "名称+密钥": "이름 + 키", + "名称不能为空": "이름은 비워둘 수 없습니다", + "名称匹配类型": "이름 일치 유형", + "精确名称匹配": "정확한 이름 일치", + "前缀名称匹配": "접두사 이름 일치", + "包含名称匹配": "포함 이름 일치", + "后缀名称匹配": "접미사 이름 일치", + "后端请求失败": "서버 요청 실패", + "后缀": "접미사", + "否": "아니요", + "启动": "시작", + "启动参数 (Args)": "시작 인자", + "启动命令": "시작 명령어", + "启动命令 (Entrypoint)": "진입점", + "启动授权失败": "인증 시작 실패", + "启动时间": "시작 시간", + "启动部署失败": "배포 시작 실패", + "启动配置": "시작 설정", + "启用": "활성화", + "启用 io.net 部署": "io.net 배포 활성화", + "启用 io.net 部署开关": "io.net 배포 스위치 활성화", + "启用 io.net 部署时必须填写 API Key": "io.net 배포를 활성화할 때 API Key가 필요합니다", + "启用 Prompt 检查": "프롬프트 검사 활성화", + "启用2FA失败": "2단계 인증 활성화 실패", + "启用Claude思考适配(-thinking后缀)": "Claude 사고 적용 활성화 (-thinking 접미사)", + "启用FunctionCall思维签名填充": "FunctionCall thoughtSignature 채우기 활성화", + "启用Gemini思考后缀适配": "Gemini 사고 접미사 적용 활성화", + "启用Ping间隔": "Ping 간격 활성화", + "启用SMTP SSL": "SMTP SSL 활성화", + "启用SSRF防护(推荐开启以保护服务器安全)": "SSRF 보호 활성화 (서버 보안을 위해 권장)", + "启用供应商": "공급업체 활성화", + "启用全部": "전체 활성화", + "启用后可接入 io.net GPU 资源": "활성화하면 io.net GPU 리소스에 액세스할 수 있습니다", + "启用后可添加图片URL进行多模态对话": "활성화하면 멀티모달 대화를 위해 이미지 URL을 추가할 수 있습니다", + "启用后套餐将在用户端展示。是否继续?": "활성화하면 플랜이 사용자에게 표시됩니다. 계속하시겠습니까?", + "启用后将优先复用上一次成功的渠道(粘滞选路)。": "활성화하면 마지막으로 성공한 채널을 우선 재사용합니다.", + "启用后将使用 Creem Test Mode": "활성화 후 Creem 테스트 모드 사용", + "启用密钥失败": "키 활성화 실패", + "启用屏蔽词过滤功能": "민감 단어 필터링 기능 활성화", + "启用性能监控": "성능 모니터링 활성화", + "启用性能监控后,当系统资源使用率超过设定阈值时,将拒绝新的 Relay 请求 (/v1, /v1beta 等),以保护系统稳定性。": "성능 모니터링이 활성화되고 시스템 리소스 사용량이 설정된 임계값을 초과하면 시스템 안정성을 보호하기 위해 새로운 Relay 요청이 거부됩니다.", + "启用所有密钥失败": "모든 키 활성화 실패", + "启用数据看板(实验性)": "데이터 대시보드 활성화 (실험적)", + "启用此模式后,将使用您自定义的请求体发送API请求,模型配置面板的参数设置将被忽略。": "이 모드를 활성화하면 사용자 지정 요청 본문이 API 요청 전송에 사용되며, 모델 설정 패널의 매개변수 설정은 무시됩니다.", + "启用状态": "활성화 상태", + "启用用户模型请求速率限制(可能会影响高并发性能)": "사용자 모델 요청 속도 제한 활성화 (높은 동시성 성능에 영향을 줄 수 있음)", + "启用磁盘缓存": "디스크 캐시 활성화", + "启用磁盘缓存后,大请求体将临时存储到磁盘而非内存,可显著降低内存占用,适用于处理包含大量图片/文件的请求。建议在 SSD 环境下使用。": "활성화하면 큰 요청 본문이 메모리 대신 디스크에 임시 저장되어 메모리 사용량이 크게 줄어듭니다. 큰 이미지/파일이 있는 요청에 적합합니다. SSD 권장.", + "启用签到功能": "출석 기능 활성화", + "启用绘图功能": "그리기 기능 활성화", + "启用请求体透传功能": "요청 본문 전달 기능 활성화", + "启用请求透传": "요청 전달 활성화", + "启用违规扣费": "위반 차감 활성화", + "启用额度消费日志记录": "할당량 소비 로깅 활성화", + "启用验证": "인증 활성화", + "周": "주", + "命中判定:usage 中存在 cached tokens(例如 cached_tokens/prompt_cache_hit_tokens)即视为命中。": "적중 판정: 캐시된 토큰이 있으면 적중으로 간주.", + "命中率": "적중률", + "命中该亲和规则后,会把此模板合并到渠道参数覆盖中(同名键由模板覆盖)。": "이 규칙에 적중하면 템플릿이 매개변수 재정의에 병합됩니다.", + "和": "및", + "和Claude不同,默认情况下Gemini的思考模型会自动决定要不要思考,就算不开启适配模型也可以正常使用,如果您需要计费,推荐设置无后缀模型价格按思考价格设置。支持使用 gemini-2.5-pro-preview-06-05-thinking-128 格式来精确传递思考预算。": "Claude와 달리 Gemini thinking 모델은 기본적으로 생각할지 여부를 자동으로 결정합니다. 어댑터가 활성화되지 않아도 정상적으로 작동합니다. 청구가 필요한 경우 접미사가 없는 모델의 가격을 thinking 가격으로 설정하세요.", + "响应": "응답", + "响应时间": "응답 시간", + "响应缺少凭据": "응답에 자격 증명 없습니다", + "响应缺少授权链接": "응답에 인증 링크 없습니다", + "商品价格 ID": "상품 가격 ID", + "回答内容": "답변 내용", + "回调 URL 填": "콜백 URL 입력", + "回调 URL 格式": "콜백 URL 형식", + "回调地址": "콜백 주소", + "固定价格": "고정 가격", + "固定价格(每次)": "고정 가격 (사용당)", + "固定价格值": "고정 가격 값", + "图像生成": "이미지 생성", + "图标": "아이콘", + "图标使用 react-icons(Simple Icons)或 URL/emoji,例如:github、gitlab、si:google": "아이콘은 react-icons 또는 URL/emoji 사용", + "图标使用@lobehub/icons库,如:OpenAI、Claude.Color,支持链式参数:OpenAI.Avatar.type={'platform'}、OpenRouter.Avatar.shape={'square'},查询所有可用图标请 ": "아이콘은 @lobehub/icons 라이브러리를 사용합니다. 예: OpenAI, Claude.Color", + "图混合": "블렌드", + "图片功能在自定义请求体模式下不可用": "사용자 지정 요청 본문 모드에서는 이미지 기능을 사용할 수 없습니다", + "图片地址": "이미지 URL", + "图片已添加": "이미지 추가되었습니다", + "图片生成调用:{{symbol}}{{price}} / 1次": "이미지 생성 호출: {{symbol}}{{price}} / 1회", + "图片输入: {{imageRatio}}": "이미지 입력: {{imageRatio}}", + "图片输入价格:{{symbol}}{{price}} * {{ratio}} = {{symbol}}{{total}} / 1M tokens (图片倍率: {{imageRatio}})": "이미지 입력 가격: {{symbol}}{{price}} * {{ratio}} = {{symbol}}{{total}} / 1M 토큰 (이미지 비율: {{imageRatio}})", + "图片输入倍率(仅部分模型支持该计费)": "이미지 입력 비율 (일부 모델에서만 청구 지원)", + "图片输入相关的倍率设置,键为模型名称,值为倍率,仅部分模型支持该计费": "이미지 입력 관련 비율 설정, 키는 모델 이름, 값은 비율", + "图生文": "설명", + "图生视频": "이미지를 비디오로", + "在Gotify服务器创建应用后获得的令牌,用于发送通知": "Gotify 서버에서 애플리케이션 생성 후 얻은 토큰, 알림 전송에 사용", + "在Gotify服务器的应用管理中创建新应用": "Gotify 서버의 애플리케이션 관리에서 새 애플리케이션 생성", + "在找兑换码?": "교환 코드를 찾고 계신가요? ", + "在新标签页中打开": "새 탭에서 열기", + "在模型广场向用户展示的端点": "모델 마켓플레이스에서 사용자에게 표시되는 엔드포인트", + "在此输入 Logo 图片地址": "여기에 로고 이미지 URL을 입력하세요", + "在此输入新的公告内容,支持 Markdown & HTML 代码": "여기에 새 공지 내용을 입력하세요. Markdown 및 HTML 코드 지원", + "在此输入新的关于内容,支持 Markdown & HTML 代码。如果输入的是一个链接,则会使用该链接作为 iframe 的 src 属性,这允许你设置任意网页作为关于页面": "여기에 새 소개 내용을 입력하세요. Markdown 지원", + "在此输入新的页脚,留空则使用默认页脚,支持 HTML 代码": "여기에 새 푸터를 입력하세요. 비워두면 기본 푸터가 사용됩니다. HTML 코드 지원.", + "在此输入用户协议内容,支持 Markdown & HTML 代码": "여기에 사용자 약관 내용을 입력하세요. Markdown 및 HTML 코드 지원", + "在此输入系统名称": "여기에 시스템 이름을 입력하세요", + "在此输入隐私政策内容,支持 Markdown & HTML 代码": "여기에 개인정보 처리방침 내용을 입력하세요. Markdown 및 HTML 코드 지원", + "在此输入首页内容,支持 Markdown & HTML 代码,设置后首页的状态信息将不再显示。如果输入的是一个链接,则会使用该链接作为 iframe 的 src 属性,这允许你设置任意网页作为首页": "여기에 홈페이지 내용을 입력하세요. Markdown 지원", + "域名IP过滤详细说明": "⚠️ 실험적 옵션입니다. 도메인은 여러 IPv4/IPv6 주소로 확인될 수 있습니다. 활성화하면 모든 확인된 IP가 SSRF 검사를 통과해야 합니다.", + "域名白名单": "도메인 허용 목록", + "域名黑名单": "도메인 차단 목록", + "基本信息": "기본 정보", + "填充 Codex CLI / Claude CLI 模版": "Codex CLI / Claude CLI 템플릿 채우기", + "填充新模板": "새 템플릿 채우기", + "填充旧模板": "이전 템플릿 채우기", + "填充模板": "템플릿 채우기", + "填充模板:等级+激活": "템플릿 채우기: 등급+활성화", + "填充模板:等级提示": "템플릿 채우기: 등급 프롬프트", + "填充模板:组织或角色": "템플릿 채우기: 조직 또는 역할", + "填充模板:组织提示": "템플릿 채우기: 조직 프롬프트", + "填充模板(全渠道)": "템플릿 채우기 (모든 채널)", + "填充模板(指定渠道)": "템플릿 채우기 (선택한 채널)", + "填入": "채우기", + "填入 CC Switch": "CC 스위치 입력", + "填入所有模型": "모든 모델 입력", + "填入来源": "소스 입력", + "填入模板": "템플릿 채우기", + "填入目标": "대상 입력", + "填入相关模型": "관련 모델 입력", + "填入路径": "경로 입력", + "填入透传完整模版": "전체 전달 템플릿 채우기", + "填入透传模版": "전달 템플릿 채우기", + "填写 Issuer URL 后自动生成:": "Issuer URL 입력 후 자동 생성:", + "填写Gotify服务器的完整URL地址": "Gotify 서버의 전체 URL 주소를 입력하세요", + "填写后会自动拼接预设端点": "입력 후 프리셋 엔드포인트가 자동으로 연결되었습니다", + "填写带https的域名,逗号分隔": "https로 도메인을 입력하고, 쉼표로 구분하세요", + "填写服务器地址后自动生成:": "서버 주소 입력 후 자동 생성: ", + "填写用户协议内容后,用户注册时将被要求勾选已阅读用户协议": "사용자 약관 내용을 입력하면 등록 시 사용자가 약관을 읽었는지 확인해야 합니다", + "填写隐私政策内容后,用户注册时将被要求勾选已阅读隐私政策": "개인정보 처리방침 내용을 입력하면 등록 시 사용자가 방침을 읽었는지 확인해야 합니다", + "处理中": "처리 중", + "备份支持": "백업 지원", + "备份状态": "백업 상태", + "备注": "비고", + "备用恢复代码": "백업 복구 코드", + "备用码已复制到剪贴板": "백업 코드가 클립보드에 복사되었습니다", + "备用码重新生成成功": "백업 코드가 재생성되었습니다", + "复制": "복사", + "复制代码": "코드 복사", + "复制令牌": "토큰 복사", + "复制全部": "전체 복사", + "复制名称": "이름 복사", + "复制失败": "복사 실패", + "复制失败,请手动复制": "복사 실패, 수동으로 복사하세요", + "复制失败,请手动选择文本复制": "복사 실패, 텍스트를 선택하여 수동으로 복사하세요", + "复制已选": "선택 복사", + "复制应用的令牌(Token)并填写到上方的应用令牌字段": "애플리케이션 토큰을 복사하여 위의 애플리케이션 토큰 필드에 입력하세요", + "复制成功": "복사 성공", + "复制所有代码": "모든 코드 복사", + "复制所有模型": "모든 모델 복사", + "复制所选令牌": "선택한 토큰 복사", + "复制所选兑换码到剪贴板": "선택한 교환 코드를 클립보드에 복사", + "复制授权链接": "인증 링크 복사", + "复制日志": "로그 복사", + "复制渠道的所有信息": "채널의 모든 정보 복사", + "复制版本号": "버전 복사", + "复制生成的密钥并粘贴到此处": "생성된 키를 복사하여 여기에 붙여넣으세요", + "复制链接": "링크 복사", + "外接设备": "외부 장치", + "多个命令用空格分隔": "여러 명령은 공백으로 구분", + "多密钥渠道操作项目组": "다중 키 채널 운영 프로젝트 그룹", + "多密钥管理": "다중 키 관리", + "多种充值方式,安全便捷": "다양한 충전 방법, 안전하고 편리", + "大模型接口网关": "LLM API 게이트웨이", + "天": "일", + "天前": "일 전", + "刚刚": "방금", + "{{count}} 分钟前": "{{count}}분 전", + "{{count}} 分钟前_one": "{{count}}분 전", + "{{count}} 分钟前_other": "{{count}}분 전", + "{{count}} 小时前": "{{count}}시간 전", + "{{count}} 小时前_one": "{{count}}시간 전", + "{{count}} 小时前_other": "{{count}}시간 전", + "{{count}} 天前": "{{count}}일 전", + "{{count}} 天前_one": "{{count}}일 전", + "{{count}} 天前_other": "{{count}}일 전", + "{{count}} 周前": "{{count}}주 전", + "{{count}} 周前_one": "{{count}}주 전", + "{{count}} 周前_other": "{{count}}주 전", + "{{count}} 个月前": "{{count}}개월 전", + "{{count}} 个月前_one": "{{count}}개월 전", + "{{count}} 个月前_other": "{{count}}개월 전", + "1 年前": "1년 전", + "失败": "실패", + "失败原因": "실패 사유", + "失败后不重试": "실패 후 재시도 안 합니다", + "失败时自动禁用通道": "실패 시 채널 자동 비활성화", + "失败重试次数": "실패 재시도 횟수", + "奖励说明": "보상 설명", + "套餐": "플랜", + "套餐副标题": "플랜 부제목", + "套餐名称": "플랜 이름", + "套餐标题": "플랜 제목", + "套餐标题不能为空": "플랜 제목은 비워둘 수 없습니다", + "套餐的基本信息和定价": "기본 플랜 정보 및 가격", + "如:大带宽批量分析图片推荐": "예: 대역폭이 큰 이미지 추천 일괄 분석", + "如:香港线路": "예: 홍콩 라인", + "如果亲和到的渠道失败,重试到其他渠道成功后,将亲和更新到成功的渠道。": "실패 후 다른 채널로 성공하면 친화성이 업데이트됩니다.", + "如果你对接的是上游One API或者New API等转发项目,请使用OpenAI类型,不要使用此类型,除非你知道你在做什么。": "업스트림 One API 또는 New API 전달 프로젝트에 연결하는 경우 OpenAI 유형을 사용하십시오. 비 OpenAI 형식 채널에는 OpenAI 유형을 사용하지 마십시오.", + "如果用户请求中包含系统提示词,则使用此设置拼接到用户的系统提示词前面": "사용자 요청에 시스템 프롬프트가 포함된 경우, 이 설정이 사용자의 시스템 프롬프트에 추가됩니다", + "如果镜像为私有,请填写密码或Token": "이미지가 비공개인 경우 비밀번호 또는 토큰을 입력하세요", + "如果镜像为私有,请填写用户名": "이미지가 비공개인 경우 사용자 이름을 입력하세요", + "始终使用浅色主题": "라이트 모드를 사용 합니다.", + "始终使用深色主题": "다크 모드를 사용 합니다.", + "字段映射": "필드 매핑", + "字段缺失视为命中": "필드 누락 시 적중으로 간주", + "字段路径": "필드 경로", + "字段透传控制": "필드 전달 제어", + "字段速查": "필드 빠른 참조", + "存在惩罚,鼓励讨论新话题": "프레젠스 페널티, 새로운 주제 논의 장려", + "存在重复的键名:": "중복된 키 이름이 존재합니다:", + "安全提醒": "보안 알림", + "安全设置": "보안 설정", + "安全验证": "보안 인증", + "安全验证级别": "보안 인증 수준", + "安装指南": "설치 가이드", + "完成": "완료", + "完成初始化": "초기화 완료", + "完成硬件类型、部署位置、副本数量等配置后,将自动计算价格": "하드웨어 유형, 배포 위치, GPU 수를 완료하면 가격이 자동으로 계산됩니다", + "完成设置并启用两步验证": "설정 완료 및 이중 인증 활성화", + "完成进度": "완료 진행률", + "完整的 Base URL,支持变量{model}": "전체 기본 URL, 변수 {model} 지원", + "官方": "공식", + "官方文档": "공식 문서", + "官方模型同步": "공식 모델 동기화", + "官方说明": "공식 문서", + "定价模式": "가격 모드", + "定时测试所有通道": "모든 채널 주기적 테스트", + "定期更改密码可以提高账户安全性": "정기적으로 비밀번호를 변경하면 계정 보안을 강화할 수 있습니다", + "实付": "실제 결제", + "实付金额": "실제 결제 금액", + "实付金额:": "실제 결제 금액: ", + "实际模型": "실제 모델", + "实际请求体": "실제 요청 본문", + "容器": "컨테이너", + "容器ID": "컨테이너 ID", + "容器创建失败: ": "컨테이너 생성 실패: ", + "容器创建成功": "컨테이너 생성 성공하였습니다", + "容器名称": "컨테이너 이름", + "容器名称更新成功": "컨테이너 이름 업데이트 성공하였습니다", + "容器启动后执行的命令": "컨테이너 시작 후 실행할 명령", + "容器启动配置": "컨테이너 시작 설정", + "容器实例": "컨테이너 인스턴스", + "容器对外暴露的端口": "컨테이너 노출 포트", + "容器对外服务的端口号,可选": "외부 서비스 포트 번호, 선택사항", + "容器总数": "전체 컨테이너", + "容器数量": "컨테이너 수", + "容器日志": "컨테이너 로그", + "容器时长延长成功": "컨테이너 기간 연장 성공하였습니다", + "容器访问地址无效": "잘못된 컨테이너 접근 주소", + "容器详情": "컨테이너 세부 정보", + "容器配置": "컨테이너 설정", + "容器配置更新成功": "컨테이너 설정 업데이트 성공하였습니다", + "容器销毁请求已提交": "컨테이너 삭제 요청 제출되었습니다", + "密码": "비밀번호", + "密码长度不得小于 8 位!": "비밀번호는 8자 이상이어야 합니다!", + "密码修改成功!": "비밀번호가 변경되었습니다!", + "密码已复制到剪贴板:": "비밀번호가 클립보드에 복사됨: ", + "密码已重置并已复制到剪贴板:": "비밀번호가 초기화되고 클립보드에 복사됨: ", + "密码管理": "비밀번호 관리", + "密码重置": "비밀번호 초기화", + "密码重置完成": "비밀번호 초기화 완료", + "密码重置确认": "비밀번호 초기화 확인", + "密码长度至少为8个字符": "비밀번호는 최소 8자 이상이어야 합니다", + "密钥": "키", + "密钥 JSON 必须包含 access_token": "키 JSON에 access_token이 포함 되어야 합니다.", + "密钥 JSON 必须包含 account_id": "키 JSON에 account_id가 포함 되어야 합니다.", + "密钥(编辑模式下,保存的密钥不会显示)": "키 (편집 모드에서 저장된 키는 표시되지 않음)", + "密钥去重": "키 중복 제거", + "密钥将以Bearer方式添加到请求头中,用于验证webhook请求的合法性": "웹훅 요청의 정당성을 확인하기 위해 키가 Bearer로 요청 헤더에 추가됩니다", + "密钥已删除": "키가 삭제되었습니다", + "密钥已启用": "키가 활성화되었습니다", + "密钥已复制到剪贴板": "키가 클립보드에 복사되었습니다", + "密钥已禁用": "키가 비활성화되었습니다", + "密钥必须是 JSON 对象": "키는 JSON 객체여야 합니다.", + "密钥必须是合法的 JSON 格式!": "키는 유효한 JSON 형식이어야 합니다.", + "密钥文件 (.json)": "키 파일 (.json)", + "密钥更新模式": "키 업데이트 모드", + "密钥格式": "키 형식", + "密钥格式无效,请输入有效的 JSON 格式密钥": "잘못된 키 형식입니다. 유효한 JSON 형식 키를 입력하세요", + "密钥环境变量": "보안 환경 변수", + "密钥聚合模式": "키 집계 모드", + "密钥获取成功": "키 획득 성공", + "密钥输入方式": "키 입력 방법", + "密钥预览": "키 미리보기", + "对于官方渠道,new-api已经内置地址,除非是第三方代理站点或者Azure的特殊接入地址,否则不需要填写": "공식 채널의 경우 new-api에 기본 제공 주소가 있습니다. 타사 프록시 사이트이거나 공식 채널을 해당 지역에서 사용할 수 없는 경우가 아니면 수정할 필요가 없습니다.", + "对免费模型启用预消耗": "무료 모델에 대해 사전 소비 활성화", + "对域名启用 IP 过滤(实验性)": "도메인에 대한 IP 필터링 활성화 (실험적)", + "对外运营模式": "기본 모드", + "对象清理规则": "객체 정리 규칙", + "导入": "가져오기", + "导入的配置将覆盖当前设置,是否继续?": "가져온 설정이 현재 설정을 덮어씁니다. 계속하시겠습니까?", + "导入配置": "설정 가져오기", + "导入配置失败: ": "설정 가져오기 실패: ", + "导出": "내보내기", + "导出日志失败": "로그 내보내기 실패", + "导出配置": "설정 내보내기", + "导出配置失败: ": "설정 내보내기 실패: ", + "将 reasoning_content 转换为 标签拼接到内容中": "reasoning_content를 태그로 변환하여 콘텐츠에 추가", + "将为选中的 ": "선택한 항목에 설정됩니다 ", + "将仅保留第一个密钥文件,其余文件将被移除,是否继续?": "첫 번째 키 파일만 유지되고 나머지 파일은 제거됩니다. 계속하시겠습니까?", + "将删除": "삭제 중", + "将删除已使用、已禁用及过期的兑换码,此操作不可撤销。": "사용됨, 비활성화됨 및 만료된 모든 교환 코드가 삭제되며, 이 작업은 취소할 수 없습니다.", + "将删除所有仍在内存中的渠道亲和性缓存条目。": "메모리의 모든 채널 친화성 캐시가 삭제됩니다.", + "将大请求体临时存储到磁盘": "큰 요청 본문을 디스크에 임시 저장", + "将清除所有保存的配置并恢复默认设置,此操作不可撤销。是否继续?": "저장된 모든 설정이 지워지고 기본 설정으로 복원되며, 이 작업은 취소할 수 없습니다.", + "将清除选定时间之前的所有日志": "선택한 시간 이전의 모든 로그가 지워집니다", + "将追加 2 条规则到现有规则列表。": "기존 규칙 목록에 2개 규칙이 추가됩니다.", + "小时": "시간", + "小时费率": "시간당 요금", + "尚未使用": "아직 사용 안 되었습니다", + "局部重绘-提交": "지역 변경", + "屏蔽词列表": "민감 단어 목록", + "屏蔽词过滤设置": "민감 단어 필터링 설정", + "展开": "펼치기", + "展开更多": "더 확장", + "展示价格": "가격 표시", + "左侧边栏个人设置": "왼쪽 사이드바의 개인 설정", + "已为 {{count}} 个模型设置{{type}}_one": "{{count}}개 모델에 {{type}} 설정", + "已为 {{count}} 个模型设置{{type}}_other": "{{count}}개 모델에 {{type}} 설정", + "已为 ${count} 个渠道设置标签!": "${count}개 채널에 태그 설정!", + "已从 Discovery 自动填充配置": "Discovery에서 설정 자동 채워짐", + "已从 Discovery 获取配置,可继续手动修改所有字段。": "Discovery에서 설정 가져옴, 수동 수정 가능", + "已作废": "무효화되었습니다", + "已保存偏好为": "저장된 환경설정: ", + "已修复 ${success} 个通道,失败 ${fails} 个通道。": "${success}개 채널 수정됨, ${fails}개 채널 실패.", + "已停止": "중지되었습니다", + "已停止批量测试": "일괄 테스트 중지되었습니다", + "已关闭后续提醒": "후속 알림 꺼짐", + "已分配内存": "할당된 메모리", + "已切换为Assistant角色": "어시스턴트 역할로 전환되었습니다", + "已切换为System角色": "시스템 역할로 전환되었습니다", + "已切换至最优倍率视图,每个模型使用其最低倍率分组": "최적 비율 보기로 전환됨, 각 모델은 가장 낮은 비율 그룹을 사용", + "已初始化": "초기화되었습니다", + "已删除": "삭제되었습니다", + "已删除 {{count}} 个令牌!": "{{count}}개 토큰 삭제됨!", + "已删除 {{count}} 个令牌!_one": "{{count}}개 토큰 삭제됨!", + "已删除 {{count}} 个令牌!_other": "{{count}}개 토큰 삭제됨!", + "已删除 {{count}} 条失效兑换码_one": "{{count}}개 만료된 교환 코드 삭제되었습니다", + "已删除 {{count}} 条失效兑换码_other": "{{count}}개 만료된 교환 코드 삭제되었습니다", + "已删除 ${data} 个通道!": "${data}개 채널 삭제됨!", + "已删除所有禁用渠道,共计 ${data} 个": "모든 비활성화된 채널 삭제됨, 총 ${data}개", + "已删除消息及其回复": "메시지와 그 답글 삭제되었습니다", + "已发起支付": "결제 시작되었습니다", + "已发送到 Fluent": "Fluent로 전송되었습니다", + "已取消 Passkey 注册": "Passkey 등록 취소되었습니다", + "已同步到渠道": "채널에 동기화되었습니다", + "已启用": "활성화되었습니다", + "已启用 Passkey,无需密码即可登录": "Passkey 활성화됨, 비밀번호 없이 로그인", + "已启用所有密钥": "모든 키가 활성화되었습니다", + "已在自定义模式中忽略": "사용자 지정 모드에서 무시되었습니다", + "已填充提示模板": "프롬프트 템플릿 채워짐", + "已填充模版": "템플릿 채워짐", + "已填充策略模板": "정책 템플릿 채워짐", + "已备份": "백업되었습니다", + "已复制": "복사되었습니다", + "已复制 ${count} 个模型": "${count}개 모델 복사되었습니다", + "已复制 ID 到剪贴板": "ID가 클립보드에 복사되었습니다", + "已复制:": "복사됨:", + "已复制:{{name}}": "복사됨: {{name}}", + "已复制全部数据": "모든 데이터 복사되었습니다", + "已复制到剪切板": "클립보드에 복사되었습니다", + "已复制到剪贴板": "클립보드에 복사되었습니다", + "已复制到剪贴板!": "클립보드에 복사됨!", + "已复制字段:{{name}}": "필드 복사됨: {{name}}", + "已复制模型名称": "모델 이름 복사되었습니다", + "已复制版本号": "버전 복사되었습니다", + "已复制自动生成的 API Key": "자동 생성된 API Key 복사되었습니다", + "已完成": "완료되었습니다", + "已开启全局请求透传:参数覆写、模型重定向、渠道适配等 NewAPI 内置功能将失效,非最佳实践;如因此产生问题,请勿提交 issue 反馈。": "글로벌 요청 패스스루가 활성화되어 있습니다. 매개변수 재정의, 모델 매핑 및 청구와 같은 기본 제공 NewAPI 기능이 건너뜁니다.", + "已成功开始测试所有已启用通道,请刷新页面查看结果。": "모든 활성화된 채널 테스트가 시작되었습니다. 결과를 보려면 페이지를 새로고침하세요.", + "已打开授权页面": "인증 페이지 열림", + "已打开支付页面": "결제 페이지 열림", + "已提交": "제출되었습니다", + "已支付金额": "결제 금액", + "已新增 {{count}} 个模型:{{list}}_one": "{{count}}개 모델 추가됨: {{list}}", + "已新增 {{count}} 个模型:{{list}}_other": "{{count}}개 모델 추가됨: {{list}}", + "已更新完毕所有已启用通道余额!": "모든 활성화된 채널의 할당량이 업데이트되었습니다", + "已有保存的配置": "저장된 설정이 있습니다", + "已有模型": "기존 모델", + "已有的模型": "기존 모델", + "已有账户?": "이미 계정이 있으신가요?", + "已服务": "제공되었습니다", + "已注销": "로그아웃되었습니다", + "已添加": "추가되었습니다", + "已添加 {{count}} 个模板_one": "{{count}}개 템플릿 추가되었습니다", + "已添加 {{count}} 个模板_other": "{{count}}개 템플릿 추가되었습니다", + "已添加到白名单": "허용 목록에 추가되었습니다", + "已清空": "지워짐", + "已清空测试结果": "테스트 결과 지워짐", + "已生成授权凭据": "인증 자격 증명 생성되었습니다", + "已用": "사용되었습니다", + "已用/剩余": "사용됨/남음", + "已用额度": "할당량 사용되었습니다", + "已禁用": "비활성화되었습니다", + "已禁用所有密钥": "모든 키 비활성화되었습니다", + "已绑定": "연결되었습니다", + "已绑定渠道": "연결된 채널", + "已结束": "종료되었습니다", + "已耗尽": "소진되었습니다", + "已解锁豆包自定义 API 地址编辑": "사용자 지정 Doubao API 주소 편집 잠금 해제되었습니다", + "已设置": "설정되었습니다", + "已达上限": "한도 도달", + "已达到购买上限": "구매 한도 도달", + "已过期": "만료되었습니다", + "已运行时间": "가동 시간", + "已选择 {{count}} 个模型_one": "{{count}}개 모델 선택되었습니다", + "已选择 {{count}} 个模型_other": "{{count}}개 모델 선택되었습니다", + "已选择 {{selected}} / {{total}}": "{{selected}} / {{total}} 선택되었습니다", + "已选择 ${count} 个渠道": "${count}개 채널 선택되었습니다", + "已重置为默认配置": "기본 설정으로 재설정", + "已销毁": "삭제되었습니다", + "币种": "통화", + "常用上下文 Key(用于 context_*)": "자주 사용하는 컨텍스트 키", + "常见问答": "자주 묻는 질문", + "常见问答管理,为用户提供常见问题的答案(最多50个,前端显示最新20条)": "FAQ 관리, 사용자를 위한 일반적인 질문에 대한 답변 제공 (최대 50개, 프론트엔드에 최신 20개 표시)", + "平台": "플랫폼", + "平均RPM": "평균 RPM", + "平均TPM": "평균 TPM", + "平移": "이동", + "年": "년", + "应付金额": "청구 금액", + "应用": "적용", + "应用同步": "동기화 적용", + "应用更改": "변경 사항 적용", + "应用覆盖": "덮어쓰기 적용", + "延长后总时长": "연장 후 총 기간", + "延长容器时长": "컨테이너 기간 연장", + "延长容器时长将会产生额外费用,请确认您有足够的账户余额。": "컨테이너 기간 연장 시 추가 요금이 부과되므로 계정에 충분한 잔액이 있는지 확인하십시오.", + "延长操作一旦确认无法撤销,费用将立即扣除。": "확인 후 연장 작업은 취소할 수 없으며 요금이 즉시 차감됩니다.", + "延长时长": "연장 기간", + "延长时长(小时)": "연장 기간 (시간)", + "延长时长不能超过720小时(30天)": "연장 기간은 720시간(30일)을 초과할 수 없습니다", + "延长时长失败": "기간 연장 실패", + "延长时长至少为1小时": "연장 기간은 최소 1시간이어야 합니다", + "建立连接时发生错误": "연결 설정 중 오류 발생", + "建议在生产环境中使用 MySQL 或 PostgreSQL 数据库,或确保 SQLite 数据库文件已映射到宿主机的持久化存储。": "프로덕션 환경에서는 MySQL 또는 PostgreSQL 데이터베이스를 사용하거나 SQLite 데이터베이스를 정기적으로 백업하는 것이 좋습니다.", + "开": "켜짐", + "开启之后会清除用户提示词中的": "활성화 후 사용자 프롬프트가 지워집니다", + "开启之后将上游地址替换为服务器地址": "활성화 후 업스트림 주소가 서버 주소로 대체됩니다", + "开启后,using_group 会参与 cache key(不同分组隔离)。": "활성화하면 using_group이 캐시 키에 참여 합니다.", + "开启后,仅\"消费\"和\"错误\"日志将记录您的客户端IP地址": "활성화 후 \"소비\" 및 \"오류\" 로그만 클라이언트 IP 주소를 기록합니다", + "开启后,对免费模型(倍率为0,或者价格为0)的模型也会预消耗额度": "활성화 후 무료 모델(비율 0 또는 가격 0)도 할당량을 사전 소비합니다", + "开启后,将定期发送ping数据保持连接活跃": "활성화 후 연결을 활성 상태로 유지하기 위해 주기적으로 ping 데이터가 전송됩니다", + "开启后,当前分组渠道失败时会按顺序尝试下一个分组的渠道": "활성화하면 현재 그룹 채널이 실패할 때 다음 그룹의 채널을 순서대로 시도합니다", + "开启后,所有请求将直接透传给上游,不会进行任何处理(重定向和渠道适配也将失效),请谨慎开启": "활성화하면 모든 요청이 처리 없이 업스트림으로 직접 전달됩니다 (리다이렉션 채널만 해당)", + "开启后,若该规则命中且请求失败,将不会切换渠道重试。": "활성화하면 실패 시 채널 전환 안 합니다", + "开启后,规则名称会参与 cache key(不同规则隔离)。": "활성화하면 규칙 이름이 캐시 키에 참여 합니다.", + "开启后,该渠道请求 Claude 时将强制追加 ?beta=true(无需客户端手动传参)": "활성화하면 Claude 요청에 ?beta=true 추가", + "开启后,违规请求将额外扣费。": "활성화되면 위반 요청에 대해 추가 요금이 부과됩니다.", + "开启后不限制:必须设置模型倍率": "활성화 후 무제한: 모델 비율을 설정해야 합니다", + "开启后未登录用户无法访问模型广场": "활성화되면 인증되지 않은 사용자는 모델 마켓플레이스에 액세스할 수 없습니다", + "开启批量操作": "일괄 선택 활성화", + "开始": "시작", + "开始同步": "동기화 시작", + "开始批量测试 ${count} 个模型,已清空上次结果...": "${count}개 모델 일괄 테스트 시작, 이전 결과 지워짐...", + "开始时间": "시작 시점", + "异步任务退款": "비동기 작업 환불", + "张图片": " 이미지", + "弱变换": "높은 변화", + "强制将响应格式化为 OpenAI 标准格式(只适用于OpenAI渠道类型)": "응답을 OpenAI 표준 형식으로 강제 변환 (OpenAI 채널 유형만 해당)", + "强制格式化": "강제 형식", + "强制要求": "필수 요구사항", + "强变换": "낮은 변화", + "当上游通道返回错误中包含这些关键词时(不区分大小写),自动禁用通道": "업스트림 채널이 이러한 키워드가 포함된 오류를 반환하면 (대소문자 구분 안 함) 자동 재시도가 트리거됩니다.", + "当前 API 密钥已过期,请在设置中更新。": "현재 API 키가 만료되었습니다. 설정에서 업데이트하세요.", + "当前 Ollama 版本为 ${version}": "현재 Ollama 버전은 ${version}입니다", + "当前仅 OpenAI / Claude 语义支持缓存 token 统计,其他通道将隐藏 token 相关字段。": "OpenAI/Claude만 캐시 토큰 통계 지원", + "当前余额": "현재 잔액", + "当前值": "현재 값", + "当前值不是合法 JSON,无法格式化": "유효한 JSON이 아님", + "当前分组为 auto,会自动选择最优分组,当一个组不可用时自动降级到下一个组(熔断机制)": "현재 그룹이 auto이며, 최적의 그룹을 자동으로 선택하고 그룹이 실패하면 자동으로 다운그레이드됩니다", + "当前剩余": "현재 남음", + "当前参数覆盖不是合法的 JSON": "매개변수 재정의가 유효한 JSON이 아님", + "当前旧格式 JSON 不合法,无法追加模板": "이전 형식 JSON이 유효하지 않음", + "当前旧格式不是 JSON 对象,无法追加模板": "이전 형식이 JSON 객체가 아님", + "当前时间": "현재 시간", + "当前未开启Midjourney回调,部分项目可能无法获得绘图结果,可在运营设置中开启。": "현재 Midjourney 콜백이 활성화되어 있지 않습니다. 일부 프로젝트에서 그림 결과를 얻지 못할 수 있습니다. 시스템 설정에서 활성화하십시오.", + "当前查看的分组为:{{group}},倍率为:{{ratio}}": "현재 그룹: {{group}}, 비율: {{ratio}}", + "当前模型列表为该标签下所有渠道模型列表最长的一个,并非所有渠道的并集,请注意可能导致某些渠道模型丢失。": "현재 모델 목록은 이 태그 아래의 모든 채널 모델 목록 중 가장 긴 것이며, 모든 모델 목록의 합집합이 아닙니다.", + "当前版本": "현재 버전", + "当前状态": "현재 상태", + "当前缓存大小": "현재 캐시 크기", + "当前规则不支持写入到该位置": "해당 위치 쓰기 미지원", + "当前规则未设置参数覆盖模板": "매개변수 재정의 템플릿 없습니다", + "当前计费": "현재 청구", + "当前设备不支持 Passkey": "이 장치에서는 Passkey가 지원되지 않습니다", + "当前设置类型: ": "현재 설정 유형: ", + "当前跟随系统": "시스템 설정 테마", + "当前配置无法连接到 io.net。": "현재 설정으로 io.net에 연결할 수 없습니다.", + "当模型没有设置价格时仍接受调用,仅当您信任该网站时使用,可能会产生高额费用": "모델에 가격 설정이 없어도 호출을 허용합니다. 웹사이트를 신뢰하는 경우에만 사용하십시오. 무료 사용 또는 할당량 소진이 발생할 수 있습니다.", + "当运行通道全部测试时,超过此时间将自动禁用通道": "모든 채널 테스트를 실행할 때 이 시간이 초과되면 채널이 자동으로 비활성화됩니다.", + "当钱包或订阅剩余额度低于此数值时,系统将通过选择的方式发送通知": "지갑 또는 구독 남은 할당량이 설정 값 아래로 떨어지면 시스템에서 알림 이메일을 보냅니다.", + "待使用收益": "사용할 수익", + "待部署": "배포 대기 중", + "微信": "WeChat", + "微信公众号二维码图片链接": "WeChat 공식 계정 QR 코드 이미지 링크", + "微信扫码关注公众号,输入「验证码」获取验证码(三分钟内有效)": "WeChat QR 코드를 스캔하여 공식 계정을 팔로우하고, \"인증 코드\"를 입력하여 코드를 받으십시오 (3분 유효, 1회 사용 가능)", + "微信扫码登录": "WeChat 코드 스캔 로그인", + "微信账户绑定成功!": "WeChat 계정이 연결되었습니다!", + "必填:请输入服务器地址以自动生成完整端点 URL": "필수: 서버 주소를 입력하여 전체 엔드포인트 URL 자동 생성", + "必填。对请求的 model 名称进行匹配,任意一条匹配即命中该规则。": "필수. model 이름 일치 시 규칙 적중", + "必须全部满足(AND)": "모두 만족해야 함 (AND)", + "必须是有效的 JSON 字符串数组,例如:[\"g1\",\"g2\"]": "유효한 JSON 문자열 배열이어야 합니다. 예: [\"g1\",\"g2\"]", + "忘记密码?": "비밀번호를 잊으셨나요?", + "快速开始": "빠른 시작", + "快速选择": "빠른 선택", + "思考中...": "생각 중...", + "思考内容转换": "생각 내용 변환", + "思考过程": "생각 과정", + "思考适配 BudgetTokens 百分比": "생각 적용 BudgetTokens 비율", + "思考预算占比": "생각 예산 비율", + "性能指标": "성능 지표", + "性能监控": "성능 모니터", + "性能设置": "성능 설정", + "总 GPU 小时": "총 GPU 시간", + "总价:文字价格 {{textPrice}} + 音频价格 {{audioPrice}} = {{symbol}}{{total}}": "총 가격: 텍스트 가격 {{textPrice}} + 오디오 가격 {{audioPrice}} = {{symbol}}{{total}}", + "总分配内存": "총 할당된 메모리", + "总密钥数": "총 키 수", + "总收益": "총 수익", + "总计": "전체", + "总额度": "총 할당량", + "您可以个性化设置侧边栏的要显示功能": "표시할 사이드바 기능을 사용자 지정할 수 있습니다", + "您可以在上方拉取需要的模型": "위에서 필요한 모델을 가져올 수 있습니다", + "您无权访问此页面,请联系管理员": "이 페이지에 액세스할 권한이 없습니다. 관리자에게 문의하세요.", + "您正在使用 MySQL 数据库。MySQL 是一个可靠的关系型数据库管理系统,适合生产环境使用。": "MySQL 데이터베이스를 사용하고 있습니다. MySQL은 중대규모 애플리케이션에 적합한 신뢰할 수 있는 관계형 데이터베이스 관리 시스템입니다.", + "您正在使用 PostgreSQL 数据库。PostgreSQL 是一个功能强大的开源关系型数据库系统,提供了出色的可靠性和数据完整性,适合生产环境使用。": "PostgreSQL 데이터베이스를 사용하고 있습니다. PostgreSQL은 복잡한 애플리케이션에 적합한 강력한 오픈 소스 관계형 데이터베이스 시스템입니다.", + "您正在使用 SQLite 数据库。如果您在容器环境中运行,请确保已正确设置数据库文件的持久化映射,否则容器重启后所有数据将丢失!": "SQLite 데이터베이스를 사용하고 있습니다. 컨테이너 환경에서 실행 중인 경우 데이터 손실을 방지하기 위해 데이터베이스 파일이 올바르게 마운트되었는지 확인하십시오.", + "您正在删除自己的帐户,将清空所有数据且不可恢复": "계정을 삭제하고 있습니다. 모든 데이터가 지워지며 복구할 수 없습니다.", + "您的数据将安全地存储在本地计算机上。所有配置、用户信息和使用记录都会自动保存,关闭应用后不会丢失。": "데이터는 로컬 컴퓨터에 안전하게 저장됩니다. 모든 설정, 사용자 정보 및 사용 데이터는 로컬 데이터베이스에 저장됩니다.", + "您确定要取消密码登录功能吗?这可能会影响用户的登录方式。": "비밀번호 로그인 기능을 비활성화하시겠습니까? 사용자의 로그인 방식에 영향을 줄 수 있습니다.", + "您需要先启用两步验证或 Passkey 才能执行此操作": "이 작업을 수행하려면 이중 인증 또는 Passkey를 활성화해야 합니다", + "您需要先启用两步验证或 Passkey 才能查看敏感信息。": "민감한 정보를 보려면 먼저 2단계 인증 또는 패스키를 활성화해야 합니다.", + "想起来了?": "기억하시나요?", + "成功": "성공", + "成功兑换额度:": "성공적으로 교환된 금액:", + "成功后切换亲和": "성공 후 친화성 전환", + "成功时自动启用通道": "성공 시 채널 활성화", + "我已了解禁用两步验证将永久删除所有相关设置和备用码,此操作不可撤销": "2단계 인증을 비활성화하면 관련된 모든 설정이 영구적으로 삭제되며 필요한 경우 다시 설정해야 함을 이해했습니다.", + "我已阅读并同意": "다음을 읽고 동의합니다", + "我的订阅": "내 구독", + "我确认开启高危重试": "고위험 재시도 활성화를 확인합니다", + "或": "또는", + "或其兼容new-api-worker格式的其他版本": "또는 new-api-worker 형식과 호환되는 다른 버전", + "或手动输入密钥:": "또는 비밀 키를 수동으로 입력:", + "所有上游数据均可信": "모든 업스트림 데이터가 신뢰할 수 있습니다", + "所有密钥已复制到剪贴板": "모든 키가 클립보드에 복사되었습니다", + "所有编辑均为覆盖操作,留空则不更改": "모든 편집은 덮어쓰기 작업이며, 비워두면 변경되지 않습니다", + "所选模板已存在": "선택한 템플릿이 이미 존재함", + "手动禁用": "수동 비활성화되었습니다", + "手动编辑": "수동 편집", + "手动输入": "수동 입력", + "打开 CC Switch": "CC 스위치 열기", + "打开侧边栏": "사이드바 열기", + "打开授权页面": "인증 페이지 열기", + "扣费": "요금 차감", + "执行 GC": "GC 실행", + "执行中": "처리 중", + "扫描二维码": "QR 코드 스캔", + "批量创建": "일괄 생성", + "批量创建时会在名称后自动添加随机后缀": "일괄 생성 시 이름에 임의의 접미사가 자동으로 추가됩니다", + "批量创建模式下仅支持文件上传,不支持手动输入": "일괄 생성 모드는 파일 업로드만 지원하며 수동 입력은 지원되지 않습니다", + "批量删除": "일괄 삭제", + "批量删除令牌": "일괄 토큰 삭제", + "批量删除失败": "일괄 삭제 실패", + "批量删除成功": "일괄 삭제 성공", + "批量删除模型": "일괄 모델 삭제", + "批量操作": "일괄 작업", + "批量操作失败": "일괄 작업 실패", + "批量操作完成: {{success}}个成功, {{failed}}个失败": "일괄 작업 완료: {{success}}개 성공, {{failed}}개 실패", + "批量测试${count}个模型": "${count}개 모델 일괄 테스트", + "批量测试完成!成功: ${success}, 失败: ${fail}, 总计: ${total}": "일괄 테스트 완료! 성공: ${success}, 실패: ${fail}, 총: ${total}", + "批量测试已停止": "일괄 테스트 중지되었습니다", + "批量测试过程中发生错误: ": "일괄 테스트 중 오류 발생: ", + "批量设置": "일괄 설정", + "批量设置成功": "일괄 설정 성공", + "批量设置标签": "일괄 태그 설정", + "批量设置模型参数": "일괄 모델 매개변수 설정", + "折": "% 할인", + "拉取中...": "가져오는 중...", + "拉取新模型": "새 모델 가져오기", + "拉取模型": "모델 가져오기", + "拉取进度": "가져오기 진행률", + "拒绝提示模板(可选)": "거부 프롬프트 템플릿 (선택 사항)", + "拦截原因": "차단 사유", + "按K显示单位": "K로 표시", + "按价格设置": "가격으로 설정", + "按倍率类型筛选": "비율 유형으로 필터", + "按倍率设置": "비율로 설정", + "按次计费": "건당 과금", + "按次": "건당", + "额外价格项": "추가 가격 항목", + "后端固定": "서버 고정", + "输入每次调用价格": "호출당 가격 입력", + "适合 MJ / 任务类等按次收费模型。": "MJ / 작업 유형 등 건당 과금 모델에 적합합니다.", + "补全价格已锁定": "가격 완성 모델", + "该模型补全倍率由后端固定为 {{ratio}}。补全价格不能在这里修改。": "이 모델의 완성 비율은 서버에서 {{ratio}}로 고정되어 있습니다. 완성 가격은 여기서 수정할 수 없습니다.", + "后端固定倍率:{{ratio}}。该字段仅展示换算后的价格。": "서버 고정 비율: {{ratio}}. 이 필드는 변환된 가격만 표시합니다.", + "按照如下格式输入:AccessKey|SecretAccessKey|Region": "다음 형식으로 입력: AccessKey|SecretAccessKey|Region", + "按照如下格式输入:APIKey|SecretKey": "다음 형식으로 입력: APIKey|SecretKey", + "按照如下格式输入:APPID|APISecret|APIKey": "다음 형식으로 입력: APPID|APISecret|APIKey", + "按照如下格式输入:APIKey-AppId,例如:fastgpt-0sp2gtvfdgyi4k30jwlgwf1i-64f335d84283f05518e9e041": "다음 형식으로 입력: APIKey-AppId, 예: fastgpt-0sp2gtvfdgyi4k30jwlgwf1i-64f335d84283f05518e9e041", + "按照如下格式输入:AppId|SecretId|SecretKey": "다음 형식으로 입력: AppId|SecretId|SecretKey", + "按照如下格式输入:Ak|Sk|Region": "다음 형식으로 입력: Ak|Sk|Region", + "请输入渠道对应的鉴权密钥, 豆包语音输入:AppId|AccessToken": "채널에 해당하는 인증 키를 입력하세요. 두바오 음성 입력: AppId|AccessToken", + "按照如下格式输入: AccessKey|SecretKey, 如果上游是New API,则直接输ApiKey": "다음 형식으로 입력: AccessKey|SecretKey, 상위가 New API인 경우 ApiKey를 직접 입력", + "按照如下格式输入: AccessKey|SecretAccessKey": "다음 형식으로 입력: AccessKey|SecretAccessKey", + "请输入 JSON 格式的 OAuth 凭据(必须包含 access_token 和 account_id)": "JSON 형식의 OAuth 자격 증명을 입력하세요 (access_token과 account_id 필수)", + "请输入渠道对应的鉴权密钥": "채널에 해당하는 인증 키를 입력하세요", + "按量计费": "종량제", + "按顺序替换content中的变量占位符": "내용의 변수 자리표시자를 순서대로 교체", + "换脸": "얼굴 교체", + "授权,需在遵守": " 다음 조건에 따라 ", + "授权失败": "인증 실패", + "授权端点": "인증 엔드포인트", + "授权范围 (Scopes)": "범위", + "排序": "정렬 순서", + "排队中": "대기 중", + "接受未设置价格模型": "가격 설정 없는 모델 허용", + "接口凭证": "인터페이스 자격 증명", + "接口密钥已过期": "API 키가 만료되었습니다", + "控制台": "콘솔", + "控制台区域": "콘솔 영역", + "控制输出的随机性和创造性": "높을수록 창의적, 낮을수록 일관적", + "控制顶栏模块显示状态,全局生效": "헤더 모듈 표시 상태 제어, 전역 효과", + "推荐": "권장", + "推荐:用户可以选择是否使用指纹等验证": "권장: 사용자가 지문 인증 사용 여부를 선택할 수 있습니다", + "推荐使用(用户可选)": "권장 (사용자 선택)", + "描述": "설명", + "提交": "제출", + "提交时间": "제출 시간", + "提交结果": "결과", + "提供商名称": "공급업체 이름", + "提升": "승격", + "提示": "프롬프트", + "提示 {{input}} tokens / 1M tokens * {{symbol}}{{price}}": "프롬프트 {{input}} 토큰 / 1M 토큰 * {{symbol}}{{price}}", + "提示 {{input}} tokens / 1M tokens * {{symbol}}{{price}} + 补全 {{completion}} tokens / 1M tokens * {{symbol}}{{compPrice}} * {{ratioType}} {{ratio}} = {{symbol}}{{total}}": "프롬프트 {{input}} 토큰 / 1M 토큰 * {{symbol}}{{price}} + 완성 {{completion}} 토큰 / 1M 토큰 * {{symbol}}{{price}} = {{symbol}}{{total}}", + "提示 {{nonCacheInput}} tokens / 1M tokens * {{symbol}}{{price}} + 缓存 {{cacheInput}} tokens / 1M tokens * {{symbol}}{{cachePrice}} + 缓存创建 {{cacheCreationInput}} tokens / 1M tokens * {{symbol}}{{cacheCreationPrice}} + 补全 {{completion}} tokens / 1M tokens * {{symbol}}{{compPrice}} * {{ratioType}} {{ratio}} = {{symbol}}{{total}}": "프롬프트 {{nonCacheInput}} 토큰 / 1M 토큰 * {{symbol}}{{price}} + 캐시 {{cacheInput}} 토큰 / 1M 토큰 * {{symbol}}{{cachePrice}} + 완성 {{completion}} 토큰 / 1M 토큰 * {{symbol}}{{price}} = {{symbol}}{{total}}", + "提示:如需备份数据,只需复制上述目录即可": "팁: 데이터를 백업하려면 위의 디렉토리를 복사하세요", + "提示:此处配置仅用于控制「模型广场」对用户的展示效果,不会影响模型的实际调用与路由。若需配置真实调用行为,请前往「渠道管理」进行设置。": "참고: 이 설정은 모델 마켓플레이스에 모델이 표시되는 방식에만 영향을 미치며 실제 모델 호출에는 영향을 주지 않습니다.", + "提示:该功能为测试版,未来配置结构与功能行为可能发生变更,请勿在生产环境使用。": "참고: 이 기능은 베타 버전입니다. 구조 및 동작이 향후 변경될 수 있습니다. 프로덕션에서 사용하지 마십시오.", + "提示:语言偏好会同步到您登录的所有设备,并影响API返回的错误消息语言。": "참고: 언어 기본 설정은 로그인한 모든 기기에서 동기화되며 API 오류 메시지의 언어에 영향을 줍니다.", + "提示:链接中的{key}将被替换为API密钥,{address}将被替换为服务器地址": "팁: 링크의 {key}는 API 키로, {address}는 서버 주소로 교체됩니다", + "提示价格:{{symbol}}{{price}} / 1M tokens": "프롬프트 가격: {{symbol}}{{price}} / 1M 토큰", + "提示缓存倍率": "프롬프트 캐시 비율", + "搜索供应商": "공급업체 검색", + "搜索关键字": "키워드 검색", + "搜索失败": "검색 실패", + "搜索字段名 / 中文说明": "필드 이름 검색", + "搜索无结果": "검색 결과 없습니다", + "搜索日志内容": "로그 내용 검색", + "搜索条件": "검색 조건", + "搜索模型": "모델 검색", + "搜索模型...": "모델 검색...", + "搜索模型名称": "모델 이름 검색", + "搜索模型失败": "모델 검색 실패", + "搜索渠道名称或地址": "채널 이름 또는 주소 검색", + "搜索聊天应用名称": "채팅 앱 이름 검색", + "搜索规则(类型 / 路径 / 来源 / 目标)": "규칙 검색", + "搜索部署名称": "배포 이름 검색", + "操作": "작업", + "操作失败": "작업 실패", + "操作失败,请重试": "작업 실패, 다시 시도하세요", + "操作成功完成!": "작업이 완료되었습니다!", + "操作暂时被禁用": "작업 일시 비활성화되었습니다", + "操作确认": "작업 확인", + "操作类型": "작업 유형", + "操练场": "플레이그라운드", + "操练场和聊天功能": "플레이그라운드 및 채팅 기능", + "支付": "결제", + "支付地址": "결제 주소", + "支付失败": "결제 실패", + "支付宝": "알리페이", + "支付方式": "결제 방법", + "支付渠道": "결제 채널", + "支付设置": "결제 설정", + "支付请求失败": "결제 요청 실패", + "支付金额": "결제 금액", + "支持 Ctrl+V 粘贴图片": "Ctrl+V로 이미지 붙여넣기 지원", + "支持 JSONPath,如 email, data.user.email": "JSONPath 지원, 예: 이메일, data.user.이메일", + "支持 JSONPath,如 name, display_name, data.user.name": "JSONPath 지원, 예: name, display_name, data.user.name", + "支持 JSONPath,如 preferred_username, login, data.user.username": "JSONPath 지원, 예: preferred_username, login, data.user.username", + "支持 JSONPath,如 sub, id, data.user.id": "JSONPath 지원, 예: sub, id, data.user.id", + "支持6位TOTP验证码或8位备用码,可到`个人设置-安全设置-两步验证设置`配置或查看。": "6자리 TOTP 인증 코드 또는 8자리 백업 코드를 지원하며, `개인 설정 - 2단계 인증`에서 설정하거나 볼 수 있습니다", + "支持CIDR格式,如:8.8.8.8, 192.168.1.0/24": "CIDR 형식 지원, 예: 8.8.8.8, 192.168.1.0/24", + "支持HTTP和HTTPS,填写Gotify服务器的完整URL地址": "HTTP 및 HTTPS 지원, Gotify 서버의 전체 URL 입력", + "支持HTTP和HTTPS,模板变量: {{title}} (通知标题), {{content}} (通知内容)": "HTTP 및 HTTPS 지원, 템플릿 변수: {{title}} (알림 제목), {{content}} (알림 내용)", + "支持众多的大模型供应商": "다양한 대규모 언어 모델 제공업체를 지원합니다.", + "支持单个端口和端口范围,如:80, 443, 8000-8999": "단일 포트 및 포트 범위 지원, 예: 80, 443, 8000-8999", + "支持变量:": "지원되는 변수:", + "支持周期性重置套餐权益额度": "플랜 할당량 주기적 재설정 지원", + "支持填写单个状态码或范围(含首尾),使用逗号分隔": "단일 상태 코드 또는 포함 범위 지원, 쉼표로 구분", + "支持填写单个状态码或范围(含首尾),使用逗号分隔;504 和 524 始终不重试,不受此处配置影响": "단일 상태 코드 또는 포함 범위를 지원하며 쉼표로 구분합니다. 504와 524는 재시도되지 않습니다.", + "支持备份": "지원되었습니다", + "支持拉取 Ollama 官方模型库中的所有模型,拉取过程可能需要几分钟时间": "Ollama 공식 모델 라이브러리에서 모든 모델 가져오기를 지원하며, 가져오기 과정은 몇 분 정도 걸릴 수 있습니다.", + "支持搜索用户的 ID、用户名、显示名称和邮箱地址": "사용자 ID, 사용자 이름, 표시 이름, 이메일 주소 검색 지원", + "支持的图像模型": "지원되는 이미지 모델", + "支持通配符格式,如:example.com, *.api.example.com": "와일드카드 형식 지원, 예: example.com, *.api.example.com", + "支持逻辑 and/or 与嵌套 groups;操作符支持 eq/ne/gt/gte/lt/lte/in/not_in/contains/exists": "논리 and/or 및 중첩 groups 지원, 연산자: eq/ne/gt/gte/lt/lte/in/not_in/contains/exists", + "收益": "수익", + "收益统计": "수입 통계", + "收起": "접기", + "收起侧边栏": "사이드바 축소", + "收起内容": "내용 축소", + "放大": "업스케일러", + "放大编辑": "편집기 확장", + "敏感信息不会发送到前端显示": "민감한 정보는 보안상 표시되지 않습니다", + "数据传输中断": "데이터 전송 중단되었습니다", + "数据存储位置:": "데이터 저장 위치:", + "数据库信息": "데이터베이스 정보", + "数据库检查": "데이터베이스 확인", + "数据库类型": "데이터베이스 유형", + "数据库警告": "데이터베이스 경고", + "数据格式错误": "데이터 형식 오류", + "数据看板": "대시보드", + "数据看板更新间隔": "데이터 대시보드 업데이트 간격", + "数据看板设置": "데이터 대시보드 설정", + "数据看板默认时间粒度": "데이터 대시보드 기본 시간 단위", + "数据管理和日志查看": "데이터 관리 및 로그 보기", + "文件上传": "파일 업로드", + "文件搜索价格:{{symbol}}{{price}} / 1K 次": "파일 검색 가격: {{symbol}}{{price}} / 1K회", + "文字提示 {{input}} tokens / 1M tokens * {{symbol}}{{price}} + 文字补全 {{completion}} tokens / 1M tokens * {{symbol}}{{compPrice}} = {{symbol}}{{total}}": "텍스트 프롬프트 {{input}} 토큰 / 1M 토큰 * {{symbol}}{{price}} + 텍스트 완성 {{completion}} 토큰 / 1M 토큰 * {{symbol}}{{price}} = {{symbol}}{{total}}", + "文字提示 {{nonCacheInput}} tokens / 1M tokens * {{symbol}}{{price}} + 缓存 {{cacheInput}} tokens / 1M tokens * {{symbol}}{{cachePrice}} + 文字补全 {{completion}} tokens / 1M tokens * {{symbol}}{{compPrice}} = {{symbol}}{{total}}": "텍스트 프롬프트 {{nonCacheInput}} 토큰 / 1M 토큰 * {{symbol}}{{price}} + 캐시 {{cacheInput}} 토큰 / 1M 토큰 * {{symbol}}{{cachePrice}} + 텍스트 완성 {{completion}} 토큰 / 1M 토큰 * {{symbol}}{{price}} = {{symbol}}{{total}}", + "文字输入": "텍스트 입력", + "文字输出": "텍스트 출력", + "文心一言": "ERNIE Bot", + "文档": "문서", + "文档地址": "문서 링크", + "文生视频": "텍스트를 비디오로", + "新增 Key 来源": "키 소스 추가", + "新增供应商": "공급업체 추가", + "新增失败": "추가 실패하였습니다", + "新增成功": "추가 되었습니다", + "新增条件": "조건 추가", + "新增规则": "규칙 추가", + "新增订阅": "구독 추가", + "新密码": "새 비밀번호", + "新密码需要和原密码不一致!": "새 비밀번호는 이전 비밀번호와 달라야 합니다!", + "新建": "생성", + "新建套餐": "플랜 생성", + "新建容器": "컨테이너 생성", + "新建容器部署": "컨테이너 배포 생성", + "新建数量": "새 수량", + "新建组": "새 그룹", + "新格式(支持条件判断与json自定义):": "새 형식 (조건부 판단 및 JSON 사용자 지정 지원):", + "新格式(规则 + 条件)": "새 형식 (규칙 + 조건)", + "新格式模板": "새 형식 템플릿", + "新版本": "새 버전", + "新用户使用邀请码奖励额度": "신규 사용자 초대 코드 보너스 할당량", + "新用户初始额度": "신규 사용자 초기 할당량", + "新的备用恢复代码": "새 백업 복구 코드", + "新的备用码已生成": "새 백업 코드가 생성되었습니다", + "新获取的模型": "새 모델", + "新额度:": "새 할당량: ", + "无": "없습니다", + "无GPU": "GPU 없습니다", + "无冲突项": "충돌 항목 없습니다", + "无效的部署信息": "잘못된 배포 정보", + "无效的重置链接,请重新发起密码重置请求": "잘못된 재설정 링크입니다. 새 비밀번호 재설정 요청을 시작하세요", + "无法发起 Passkey 注册": "Passkey 등록을 시작할 수 없습니다", + "无法复制到剪贴板,请手动复制": "클립보드에 복사할 수 없습니다. 수동으로 복사하세요", + "无法添加图片": "이미지를 추가할 수 없습니다", + "无法获取容器详情": "컨테이너 세부 정보를 가져올 수 없습니다", + "无法连接 io.net": "io.net에 연결할 수 없습니다", + "无生效": "활성 없습니다", + "无邀请人": "초대자 없습니다", + "无限制": "제한 없습니다", + "无限额度": "무제한 할당량", + "日": "일", + "日志导出成功": "로그 내보내기 성공", + "日志已下载": "로그 다운로드되었습니다", + "日志已加载": "로그 로드되었습니다", + "日志已复制到剪贴板": "로그가 클립보드에 복사되었습니다", + "日志流": "로그 스트림", + "日志清理失败:": "로그 정리 실패:", + "日志类型": "로그 유형", + "日志设置": "로그 설정", + "日志详情": "로그 세부 정보", + "旧格式(JSON 对象)": "이전 형식 (JSON 객체)", + "旧格式(直接覆盖):": "이전 형식 (직접 덮어쓰기):", + "旧格式必须是 JSON 对象": "이전 형식은 JSON 객체여야 합니다", + "旧格式模板": "이전 형식 템플릿", + "旧的备用码已失效,请保存新的备用码": "이전 백업 코드가 무효화되었습니다. 새 백업 코드를 저장하세요", + "早上好": "좋은 아침이에요", + "时间": "시간", + "时间信息": "시간 정보", + "时间粒度": "시간 단위", + "易支付": "이지페이", + "易支付商户ID": "Epay 상점 ID", + "易支付商户密钥": "Epay 상점 키", + "是": "예", + "是否为企业账户": "기업 계정입니까?", + "是否同时重置对话消息?选择\"是\"将清空所有对话记录并恢复默认示例;选择\"否\"将保留当前对话记录。": "대화 메시지도 함께 초기화하시겠습니까? \"예\"를 선택하면 모든 대화 기록이 삭제되며 취소할 수 없습니다.", + "是否将该订单标记为成功并为用户入账?": "이 주문을 성공으로 표시하고 사용자에게 크레딧을 지급하시겠습니까?", + "是否确认充值?": "충전을 확인하시겠습니까?", + "是否自动禁用": "자동 비활성화 여부", + "是否要求指纹/面容等生物识别": "지문/얼굴 인식 요구 여부", + "显示倍率": "비율 표시", + "显示最新20条": "최신 20개 표시", + "显示名称": "표시 이름", + "显示名称字段": "표시 이름 필드", + "显示名称字段(可选)": "표시 이름 필드 (선택 사항)", + "显示完整内容": "전체 내용 표시", + "显示操作项": "작업 표시", + "显示更多": "더 보기", + "显示第": "표시 중", + "显示设置": "표시 설정", + "显示调试": "디버깅 보기", + "晚上好": "좋은 저녁이에요", + "普通环境变量": "일반 환경 변수", + "普通用户": "일반 사용자", + "智能体ID": "에이전트 ID", + "智能熔断": "스마트 폴백", + "智谱": "Zhipu AI", + "暂存错误": "임시 저장 오류", + "暂无": "없습니다", + "暂无API信息": "API 정보 없습니다", + "暂无SSE响应数据": "SSE 응답 데이터 없습니다", + "暂无产品配置": "제품 설정 없습니다", + "暂无保存的配置": "저장된 설정 없습니다", + "暂无充值记录": "충전 기록 없습니다", + "暂无公告": "알림이 없습니다.", + "暂无匹配模型": "일치하는 모델 없습니다", + "暂无可复制 JSON": "복사할 JSON 없습니다", + "暂无可复制的版本信息": "복사할 버전 정보 없습니다", + "暂无可展示数据": "표시할 데이터 없습니다", + "暂无可用的支付方式,请联系管理员配置": "사용 가능한 결제 수단이 없습니다. 구성을 위해 관리자에게 문의하세요", + "暂无可购买套餐": "구매 가능한 플랜 없습니다", + "暂无响应数据": "응답 데이터 없습니다", + "暂无容器信息": "컨테이너 정보 없습니다", + "暂无容器详情": "컨테이너 세부 정보 없습니다", + "暂无密钥数据": "키 데이터 없습니다", + "暂无差异化倍率显示": "차등 비율 표시 없습니다", + "暂无已绑定项": "연결된 항목 없습니다", + "暂无常见问答": "FAQ 없습니다", + "暂无成功模型": "성공한 모델 없습니다", + "暂无数据": "데이터 없습니다", + "暂无数据,点击下方按钮添加键值对": "데이터 없음, 아래 버튼을 클릭하여 키-값 쌍 추가", + "暂无日志": "로그 없습니다", + "暂无日志可下载": "다운로드할 로그 없습니다", + "暂无日志可复制": "복사할 로그 없습니다", + "暂无机密环境变量": "보안 환경 변수 없습니다", + "暂无模型": "모델 없습니다", + "暂无模型描述": "모델 설명 없습니다", + "暂无环境变量": "환경 변수 없습니다", + "暂无监控数据": "모니터링 데이터 없습니다", + "暂无系统公告": "시스템 알림이 없습니다.", + "暂无缺失模型": "누락된 모델 없습니다", + "暂无自定义 OAuth 提供商": "사용자 지정 OAuth 제공업체 없습니다", + "暂无订阅套餐": "구독 플랜 없습니다", + "暂无订阅记录": "구독 기록 없습니다", + "暂无请求数据": "요청 데이터 없습니다", + "暂无项目": "프로젝트 없습니다", + "暂无预填组": "사전 채워진 그룹 없습니다", + "暴露倍率接口": "비율 API 노출", + "更多": "더 확장", + "更多信息请参考": "자세한 내용은 다음을 참조하세요", + "更多参数请参考": "더 많은 매개변수는 다음을 참조하세요", + "更好的价格,更好的稳定性,只需要将模型基址替换为:": "보다 저렴한 가격, 더욱 향상된 안정성.\n모델의 기본 URL을 다음으로 바꾸면 바로 사용할 수 있습니다.", + "更新": "업데이트", + "更新 Creem 设置": "Creem 설정 업데이트", + "更新 Stripe 设置": "Stripe 설정 업데이트", + "更新SSRF防护设置": "SSRF 보호 설정 업데이트", + "更新Worker设置": "Worker 설정 업데이트", + "更新令牌信息": "토큰 정보 업데이트", + "更新兑换码信息": "교환 코드 정보 업데이트", + "更新名称失败": "이름 업데이트 실패", + "更新失败": "업데이트 실패", + "更新失败,请检查输入信息": "업데이트 실패, 입력 정보를 확인하세요", + "更新套餐信息": "플랜 정보 업데이트", + "更新容器配置": "컨테이너 설정 업데이트", + "更新容器配置可能会导致容器重启,请确保在合适的时间进行此操作。": "컨테이너 설정 업데이트로 인해 컨테이너가 재시작될 수 있으므로 트래픽이 적은 시간에 이 작업을 수행하십시오.", + "更新成功": "업데이트되었습니다", + "更新成功!": "업데이트 성공하였습니다", + "更新所有已启用通道余额": "모든 활성화된 채널의 잔액 업데이트", + "更新支付设置": "결제 설정 업데이트", + "更新时间": "업데이트 시간", + "更新服务器地址": "서버 주소 업데이트", + "更新模型信息": "모델 정보 업데이트", + "更新渠道信息": "채널 정보 업데이트", + "更新部署名称失败": "배포 이름 업데이트 실패", + "更新配置": "설정 업데이트", + "更新配置后,容器可能需要重启以应用新的设置。请确保您了解这些更改的影响。": "설정 업데이트 후 새 설정을 적용하기 위해 컨테이너를 재시작해야 할 수 있습니다. 잠시 기다려 주십시오.", + "更新配置失败": "설정 업데이트 실패", + "更新预填组": "사전 채워진 그룹 업데이트", + "月": "월", + "有 Reasoning": "추론 있음", + "有效期": "유효성", + "有效期单位": "유효성 단위", + "有效期数值": "유효성 값", + "有效期设置": "유효성 설정", + "服务可用性": "서비스 상태", + "服务商": "서비스 제공업체", + "服务器地址": "서버 주소", + "服务显示名称": "서비스 표시 이름", + "未匹配到模型,按回车键可将「{{name}}」作为自定义模型名添加": "일치하는 모델이 없습니다. Enter를 눌러 \"{{name}}\"을(를) 사용자 지정 모델 이름으로 추가하세요.", + "未发现新增模型": "새 모델이 추가되지 않음", + "未发现重复密钥": "중복 키 없습니다", + "未启动": "시작 없습니다", + "未启用": "비활성화되었습니다", + "未命名": "이름 없습니다", + "未在 Discovery 响应中找到可用的 OAuth 端点": "Discovery 응답에서 OAuth 엔드포인트 없습니다", + "未备份": "백업되지 않음", + "未开始": "시작되지 않음", + "未找到匹配的模型": "일치하는 모델을 찾을 수 없습니다", + "未找到可用的容器访问地址": "사용 가능한 컨테이너 접근 주소를 찾을 수 없습니다", + "未找到差异化倍率,无需同步": "차등 비율을 찾을 수 없어 동기화가 필요하지 않습니다", + "未授权": "인증되지 않음", + "未提交": "제출되지 않음", + "未检测到 Fluent 容器": "Fluent 컨테이너가 감지되지 않음", + "未检测到 FluentRead(流畅阅读),请确认扩展已启用": "FluentRead(원활한 읽기)가 감지되지 않았습니다. 확장 프로그램이 활성화되어 있는지 확인하세요", + "未测试": "테스트되지 않음", + "未添加附加条件时,仅使用上方 type 进行清理。": "추가 조건 없으면 위의 type만 사용", + "未登录或登录已过期,请重新登录": "로그인되지 않았거나 로그인이 만료되었습니다. 다시 로그인하세요", + "未知": "알 수 없습니다", + "未知供应商": "알 수 없습니다", + "未知品牌": "알 수 없는 브랜드", + "未知模型": "알 수 없는 모델", + "未知渠道": "알 수 없는 채널", + "未知状态": "알 수 없는 상태", + "未知类型": "알 수 없는 유형", + "未知身份": "알 수 없는 신원", + "未知部署": "알 수 없는 배포", + "未知错误": "알 수 없는 오류", + "未绑定": "연결되지 않음", + "未获取到授权码": "인증 코드를 얻지 못함", + "未设置": "설정되지 않음", + "未设置倍率模型": "비율 설정이 없는 모델", + "未设置路径": "경로 설정되지 않음", + "未配置模型": "설정된 모델 없습니다", + "未配置的模型列表": "모델이 설정되지 않음", + "本地": "로컬", + "本地数据存储": "로컬 데이터 저장소", + "本地计费": "로컬 청구", + "本月获得": "이번 달", + "本设备:手机指纹/面容,外接:USB安全密钥": "내장: 휴대폰 지문/얼굴, 외부: USB 보안 키", + "本设备内置": "내장 장치", + "本项目根据": "이 프로젝트는 ", + "机密环境变量": "보안 환경 변수", + "机密环境变量将被加密存储,适用于存储密码、API密钥等敏感信息。": "보안 환경 변수는 암호화되어 저장되며, 비밀번호, API 키 등 민감한 정보를 저장하는 데 적합합니다.", + "机密环境变量说明": "보안 환경 변수 설명", + "权重": "가중치", + "权限设置": "권한 설정", + "条": "항목", + "条 - 第": "까지", + "条,共": "의", + "条件取反": "조건 부정", + "条件数": "조건 수", + "条件规则": "조건 규칙", + "条件项设置": "조건 항목 설정", + "条日志已清理!": "로그가 지워졌습니다!", + "来源": "소스", + "来源于 IO.NET 部署": "IO.NET 배포에서", + "来源端点": "소스 엔드포인트", + "来自模型重定向,尚未加入模型列表": "모델 리다이렉션에서 가져옴, 아직 모델 목록에 추가되지 않음", + "某些配置更改可能需要几分钟才能生效。": "일부 설정 변경 사항이 적용되는 데 몇 분 정도 걸릴 수 있습니다.", + "查看": "확인", + "查看关联部署": "연결된 배포 보기", + "查看图片": "사진 보기", + "查看密钥": "키 보기", + "查看当前可用的所有模型": "사용 가능한 모든 모델 보기", + "查看所有可用的AI模型供应商,包括众多知名供应商的模型。": "유명한 AI 모델을 포함한 모든 AI 모델 목록을 확인하실 수 있습니다.", + "查看日志": "로그 보기", + "查看渠道密钥": "채널 키 보기", + "查看详情": "세부 정보 보기", + "查询": "쿼리", + "标签": "태그", + "标签更新成功!": "태그가 업데이트되었습니다!", + "标签不能为空!": "레이블은 비워둘 수 없습니다!", + "标签信息": "태그 정보", + "标签名称": "태그 이름", + "标签的基本配置": "태그 기본 설정", + "标签组": "태그 그룹", + "标签聚合": "태그 집계", + "标签聚合模式": "태그 모드 활성화", + "标识符 (Slug)": "슬러그", + "标识颜色": "식별자 색상", + "核采样,控制词汇选择的多样性": "핵 샘플링, 어휘 선택 다양성 제어", + "根据 Anthropic 协定,/v1/messages 的输入 tokens 仅统计非缓存输入,不包含缓存读取与缓存写入 tokens。": "Anthropic 규칙에 따라 /v1/messages 입력 토큰은 캐시되지 않은 입력만 계산하며 캐시 읽기를 제외합니다.", + "根据模型名称和匹配规则查找模型元数据,优先级:精确 > 前缀 > 后缀 > 包含": "모델 이름과 일치 규칙을 기반으로 모델 메타데이터 찾기, 우선순위: 정확 > 접두사 > 접미사 > 포함", + "格式化": "형식", + "格式化 JSON": "JSON 형식화", + "格式正确": "형식 올바름", + "格式示例:": "형식 예시:", + "格式错误": "형식 오류", + "检查更新": "업데이트 확인", + "检测到 FluentRead(流畅阅读)": "FluentRead(원활한 읽기) 감지되었습니다", + "检测到以下高危状态码重定向规则": "고위험 상태 코드 리다이렉션 규칙이 감지되었습니다", + "检测到多个密钥,您可以单独复制每个密钥,或点击复制全部获取完整内容。": "여러 키가 감지되었습니다. 각 키를 개별적으로 복사하거나 모두 복사를 클릭하여 전체 내용을 가져올 수 있습니다.", + "检测到该消息后有AI回复,是否删除后续回复并重新生成?": "이 메시지 뒤에 AI 응답이 감지되었습니다. 후속 응답을 삭제하고 다시 생성하시겠습니까?", + "检测必须等待绘图成功才能进行放大等操作": "감지는 확대 및 기타 작업을 수행하기 전에 그리기가 성공할 때까지 기다려야 합니다", + "模型": "모델", + "模型: {{ratio}}": "모델: {{ratio}}", + "模型专用区域": "모델별 영역", + "模型价格": "모델 가격", + "模型价格 {{symbol}}{{price}},{{ratioType}} {{ratio}}": "모델 가격 {{symbol}}{{price}}, {{ratioType}} {{ratio}}", + "模型价格:{{symbol}}{{price}} * {{ratioType}}:{{ratio}} = {{symbol}}{{total}}": "모델 가격: {{symbol}}{{price}} * {{ratioType}}: {{ratio}} = {{symbol}}{{total}}", + "模型倍率": "모델 비율", + "模型倍率 {{modelRatio}}": "모델 비율 {{modelRatio}}", + "模型倍率 {{modelRatio}},缓存倍率 {{cacheRatio}},输出倍率 {{completionRatio}},{{ratioType}} {{ratio}}": "모델 비율 {{modelRatio}}, 캐시 비율 {{cacheRatio}}, 완성 비율 {{completionRatio}}, {{ratioType}} {{ratio}} = {{symbol}}{{total}}", + "模型倍率 {{modelRatio}},缓存倍率 {{cacheRatio}},输出倍率 {{completionRatio}},{{ratioType}} {{ratio}},Web 搜索调用 {{webSearchCallCount}} 次": "모델 비율 {{modelRatio}}, 캐시 비율 {{cacheRatio}}, 완성 비율 {{completionRatio}}, {{ratioType}} {{ratio}} = {{symbol}}{{total}}", + "模型倍率 {{modelRatio}},缓存倍率 {{cacheRatio}},输出倍率 {{completionRatio}},图片输入倍率 {{imageRatio}},{{ratioType}} {{ratio}}": "모델 비율 {{modelRatio}}, 캐시 비율 {{cacheRatio}}, 완성 비율 {{completionRatio}}, 이미지 {{imageCount}} = {{symbol}}{{total}}", + "模型倍率 {{modelRatio}},输出倍率 {{completionRatio}},缓存倍率 {{cacheRatio}},缓存创建倍率 {{cacheCreationRatio}},{{ratioType}} {{ratio}}": "모델 비율 {{modelRatio}}, 완성 비율 {{completionRatio}}, 캐시 비율 {{cacheRatio}}, 캐시 읽기 비율 {{cacheReadRatio}}, 캐시 생성 비율 {{cacheCreationRatio}}, {{ratioType}} {{ratio}} = {{symbol}}{{total}}", + "模型倍率值": "모델 비율 값", + "模型倍率和补全倍率": "모델 비율 및 완성 비율", + "模型倍率和补全倍率同时设置": "모델 비율과 완성 비율이 모두 설정되어 있습니다", + "模型倍率设置": "모델 비율 설정", + "模型关键字": "모델 키워드", + "模型列表已复制到剪贴板": "모델 목록이 클립보드에 복사되었습니다", + "模型列表已更新": "모델 목록이 업데이트되었습니다", + "模型列表已追加更新": "모델 목록이 업데이트되었습니다", + "模型创建成功!": "모델이 생성되었습니다", + "模型删除失败": "모델 삭제 실패", + "模型删除失败: {{error}}": "모델 삭제 실패: {{error}}", + "模型删除成功": "모델이 삭제되었습니다", + "模型名称": "모델 이름", + "模型名称已存在": "이미 존재하는 모델 이름입니다.", + "模型固定价格": "호출당 모델 가격", + "模型图标": "모델 아이콘", + "模型定价,需要登录访问": "모델 가격, 로그인 필요", + "模型广场": "모델 마켓플레이스", + "模型拉取失败: {{error}}": "모델 가져오기 실패: {{error}}", + "模型支持的接口端点信息": "모델 지원 API 엔드포인트 정보", + "模型数据分析": "모델 데이터 분석", + "模型映射必须是合法的 JSON 格式!": "모델 매핑은 유효한 JSON 형식이어야 합니다!", + "模型更新成功!": "모델이 업데이트되었습니다!", + "模型未加入列表,可能无法调用": "모델이 목록에 없습니다. 요청이 실패할 수 있습니다", + "模型正则": "모델 정규식", + "模型正则(每行一个)": "모델 정규식 (한 줄에 하나씩)", + "模型正则不能为空": "모델 정규식은 비워둘 수 없습니다", + "模型消耗分布": "모델 소비 분포", + "模型消耗趋势": "모델 소비 추세", + "模型版本": "모델 버전", + "模型的详细描述和基本特性": "모델의 상세 설명 및 기본 특성", + "模型相关设置": "모델 관련 설정", + "模型社区需要大家的共同维护,如发现数据有误或想贡献新的模型数据,请访问:": "모델 커뮤니티는 모두의 기여가 필요합니다. 잘못된 데이터를 발견하거나 더 많은 모델 정보를 기여하려면 GitHub에서 PR을 제출하십시오.", + "模型管理": "모델 관리", + "模型组": "모델 그룹", + "模型补全倍率(仅对自定义模型有效)": "모델 완성 비율 (사용자 지정 모델에만 적용)", + "模型请求速率限制": "모델 요청 속도 제한", + "模型调用次数占比": "모델 호출 비율", + "模型调用次数排行": "모델 호출 순위", + "模型选择和映射设置": "모델 선택 및 매핑 설정", + "模型部署": "모델 배포", + "模型部署服务未启用": "모델 배포 서비스가 활성화되지 않음", + "模型部署管理": "모델 배포 관리", + "模型部署设置": "모델 배포 설정", + "模型配置": "모델 설정", + "模型重定向": "모델 매핑", + "模型重定向里的下列模型尚未添加到“模型”列表,调用时会因为缺少可用模型而失败:": "리다이렉션의 다음 모델이 \"모델\" 목록에 추가되지 않아 요청이 실패합니다. 목록에 추가하거나 리다이렉션을 업데이트할 수 있습니다.", + "模型限制列表": "모델 제한 목록", + "模式": "모드", + "模板": "템플릿", + "模板应用失败": "템플릿 적용 실패", + "模板示例": "템플릿 예시", + "模糊搜索模型名称": "모델 이름 검색", + "次": "회", + "欢迎使用,请完成以下设置以开始使用系统": "환영합니다! 시스템을 사용하려면 다음 설정을 완료하세요", + "欧元": "EUR", + "正在加载可用部署位置...": "사용 가능한 배포 위치 로딩 중...", + "正在加载签到状态...": "출석 상태 로딩 중...", + "正在处理大内容...": "큰 콘텐츠 처리 중...", + "正在提交": "제출 중", + "正在构造请求体预览...": "요청 본문 미리보기 설정 중...", + "正在检查 io.net 连接...": "io.net 연결 확인 중...", + "正在测试第 ${current} - ${end} 个模型 (共 ${total} 个)": "모델 테스트 중 ${current} - ${end} (총 ${total})", + "正在跟随最新日志": "최신 로그 팔로우 중", + "正在跳转 GitHub...": "GitHub으로 리다이렉션 중...", + "正在跳转...": "리다이렉션 중...", + "此代理仅用于图片请求转发,Webhook通知发送等,AI API请求仍然由服务器直接发出,可在渠道设置中单独配置代理": "이 프록시는 이미지 요청 전달, 웹훅 알림 전송 등에만 사용됩니다. AI API 요청은 이 프록시를 통과하지 않습니다.", + "此修改将不可逆": "이 수정은 되돌릴 수 없습니다", + "此操作不可恢复,请仔细确认时间后再操作!": "이 작업은 복구할 수 없습니다. 진행하기 전에 시간을 신중하게 확인하십시오!", + "此操作不可撤销,将永久删除已自动禁用的密钥": "이 작업은 취소할 수 없으며 자동으로 비활성화된 모든 키가 영구적으로 삭제됩니다.", + "此操作不可撤销,将永久删除该密钥": "이 작업은 취소할 수 없으며, 키가 영구적으로 삭제됩니다.", + "此操作不可逆,所有数据将被永久删除": "이 작업은 되돌릴 수 없으며, 모든 데이터가 영구적으로 삭제됩니다", + "此操作具有风险,请确认要继续执行": "이 작업은 위험합니다. 계속하려면 확인하세요", + "此操作将启用用户账户": "이 작업은 사용자 계정을 활성화합니다", + "此操作将提升用户的权限级别": "이 작업은 사용자의 권한 수준을 높입니다", + "此操作将禁用用户账户": "이 작업은 사용자 계정을 비활성화합니다", + "此操作将禁用该用户当前的两步验证配置,下次登录将不再强制输入验证码,直到用户重新启用。": "사용자의 현재 2단계 인증 설정이 비활성화됩니다. 다시 설정할 때까지 인증 코드가 필요하지 않습니다.", + "此操作将解绑用户当前的 Passkey,下次登录需要重新注册。": "사용자의 현재 패스키가 분리됩니다. 다음 로그인 시 다시 등록해야 합니다.", + "此操作将降低用户的权限级别": "이 작업은 사용자의 권한 수준을 낮춥니다", + "此支付方式最低充值金额为": "이 결제 수단의 최소 충전 금액은", + "此渠道由 IO.NET 自动同步,类型、密钥和 API 地址已锁定。": "이 채널은 IO.NET에 의해 자동으로 동기화되며 유형, 키 및 API 주소가 잠겨 있습니다.", + "此设置用于系统内部计算,默认值500000是为了精确到6位小数点设计,不推荐修改。": "이 설정은 내부 시스템 계산에 사용됩니다. 기본값 500000은 6자리 TOTP 코드용으로 설계되었습니다.", + "此页面仅显示未设置价格或倍率的模型,设置后将自动从列表中移除": "이 페이지는 가격 또는 비율 설정이 없는 모델만 표시합니다. 설정 후 이 페이지에서 자동으로 제거됩니다.", + "此项只读,需要用户通过个人设置页面的相关绑定按钮进行绑定,不可直接修改": "읽기 전용, 사용자의 개인 설정이며 직접 수정할 수 없습니다", + "此项可选,用于修改请求体中的模型名称,为一个 JSON 字符串,键为请求中模型名称,值为要替换的模型名称,例如:": "선택 사항, 요청 본문에서 모델 이름을 수정하는 데 사용됩니다. JSON 문자열이며 키는 원래 모델 이름이고 값은 새 모델 이름입니다.", + "此项可选,用于修改请求体中的模型名称,为一个 JSON 字符串,键为请求中模型名称,值为要替换的模型名称,留空则不更改": "선택 사항, 요청 본문에서 모델 이름을 수정하는 데 사용됩니다. JSON 문자열이며 키는 원래 모델 이름이고 값은 새 모델 이름입니다.", + "此项可选,用于复写返回的状态码,仅影响本地判断,不修改返回到上游的状态码,比如将claude渠道的400错误复写为500(用于重试),请勿滥用该功能,例如:": "선택 사항, 반환된 상태 코드를 재정의하는 데 사용됩니다. 로컬 판단에만 영향을 미치며 클라이언트에 반환되는 상태 코드는 수정하지 않습니다.", + "此项可选,用于覆盖请求参数。不支持覆盖 stream 参数": "선택 사항, 요청 매개변수를 재정의하는 데 사용됩니다. 스트림 매개변수 재정의는 지원되지 않습니다.", + "此项可选,用于覆盖请求头参数": "선택 사항, 요청 헤더 매개변수를 재정의하는 데 사용됩니다.", + "此项可选,用于通过自定义API地址来进行 API 调用,末尾不要带/v1和/": "사용자 정의 API 주소를 통한 API 호출의 경우 선택 사항, 끝에 /v1 및 /를 추가하지 마십시오", + "每个用户最多可创建的令牌数量,默认 1000,设置过大可能会影响性能": "사용자당 최대 토큰 수, 기본값 1000", + "每周": "매주", + "每天": "매일", + "每容器GPU数": "컨테이너당 GPU", + "每日仅可签到一次,请勿重复签到": "하루에 한 번만 출석할 수 있습니다. 반복 출석하지 마세요", + "每日签到": "일일 출석", + "每日签到可获得随机额度奖励": "일일 출석 시 무작위 할당량 보상", + "每月": "매월", + "每隔多少分钟测试一次所有通道": "모든 채널 테스트 간격(분)", + "永不过期": "만료되지 않음", + "永久删除您的两步验证设置": "이중 인증 설정 영구 삭제", + "永久删除所有备用码(包括未使用的)": "모든 백업 코드 영구 삭제 (미사용 코드 포함)", + "没有匹配的字段": "일치하는 필드 없습니다", + "没有匹配的日志条目": "일치하는 로그 항목 없습니다", + "没有匹配的规则": "일치하는 규칙 없습니다", + "没有可用令牌用于填充": "채우기에 사용 가능한 토큰 없습니다", + "没有可用模型": "사용 가능한 모델 없습니다", + "没有找到匹配的模型": "일치하는 모델을 찾을 수 없습니다", + "没有未设置的模型": "설정되지 않은 모델 없습니다", + "没有条件时,默认总是执行该操作。": "조건 없으면 항상 실행", + "没有模型可以复制": "복사할 모델 없습니다", + "没有账户?": "계정이 없으신가요? ", + "注 册": "가입하기", + "注册": "회원가입", + "注册成功!": "회원가입 성공!", + "注册失败,请重试": "회원가입 실패, 다시 시도하세요", + "注册 Passkey": "Passkey 등록", + "注意": "참고", + "注意:JSON中重复的键只会保留最后一个同名键的值": "참고: JSON에서 중복 키는 동일한 이름의 마지막 키 값만 유지합니다", + "注意非Chat API,请务必填写正确的API地址,否则可能导致无法使用": "참고: 비 Chat API의 경우 올바른 API 주소를 입력했는지 확인하십시오. 그렇지 않으면 제대로 작동하지 않을 수 있습니다.", + "注销": "로그아웃", + "注销成功!": "로그아웃 성공!", + "活跃文件": "활성 파일", + "活跃缓存数": "활성 캐시 수", + "流": "스트림", + "流式": "스트리밍", + "流式响应完成": "스트리밍 응답 완료", + "流式输出": "스트리밍 출력", + "流量端口": "트래픽 포트", + "浅色": "라이트", + "浅色模式": "라이트 모드", + "测活": "상태 확인", + "测试": "테스트", + "测试中": "테스트 중", + "测试中...": "테스트 중...", + "测试单个渠道操作项目组": "단일 채널 작업 프로젝트 그룹 테스트", + "测试失败": "테스트 실패", + "测试失败:": "테스트 실패: ", + "测试所有未手动禁用渠道": "수동으로 비활성화된 채널을 제외한 모든 채널 테스트", + "测试所有渠道的最长响应时间": "모든 채널 테스트 최대 응답 시간", + "测试所有通道": "모든 채널 테스트", + "测试模式": "테스트 모드", + "测试连接": "연결 테스트", + "测速": "속도 테스트", + "消息优先级": "메시지 우선순위", + "消息优先级,范围0-10,默认为5": "메시지 우선순위, 범위 0-10, 기본값 5", + "消息已删除": "메시지 삭제되었습니다", + "消息已复制到剪贴板": "메시지가 클립보드에 복사되었습니다", + "消息已更新": "메시지 업데이트되었습니다", + "消息已编辑": "메시지 편집되었습니다", + "消耗分布": "소비 분포", + "消耗趋势": "소비 추세", + "消耗额度": "사용된 할당량", + "消费": "소비", + "深色": "다크", + "深色模式": "다크 모드", + "添加": "추가", + "添加 OAuth 提供商": "OAuth 제공자 추가", + "添加API": "API 추가", + "添加产品": "제품 추가", + "添加令牌": "토큰 생성", + "添加兑换码": "교환 코드 추가", + "添加公告": "공지 추가", + "添加分类": "카테고리 추가", + "添加后提交": "추가 후 제출", + "添加启动参数": "시작 인수 추가", + "添加启动命令": "시작 명령 추가", + "添加密钥环境变量": "보안 환경 변수 추가", + "添加成功": "추가 성공", + "添加提供商": "제공자 추가", + "添加模型": "모델 추가", + "添加模型区域": "모델 지역 추가", + "添加渠道": "채널 추가", + "添加环境变量": "환경 변수 추가", + "添加用户": "사용자 추가", + "添加聊天配置": "채팅 구성 추가", + "添加键值对": "키-값 쌍 추가", + "添加问答": "FAQ 추가", + "添加额度": "할당량 추가", + "清理不活跃缓存": "비활성 캐시 정리", + "清理失败": "정리 실패", + "清空": "지우기", + "清空全部缓存": "모든 캐시 지우기", + "清空该规则缓存": "이 규칙 캐시 지우기", + "清空重定向": "리다이렉션 지우기", + "清除历史日志": "과거 로그 지우기", + "清除失效兑换码": "유효하지 않은 교환 코드 지우기", + "清除所有模型": "모든 모델 지우기", + "渠道": "채널", + "渠道 ID": "채널 ID", + "渠道ID,名称,密钥,API地址": "채널 ID, 이름, 키, Base URL", + "渠道亲和性": "채널 친화성", + "渠道亲和性:上游缓存命中": "채널 친화성: 업스트림 캐시 적중", + "渠道亲和性会基于从请求上下文或 JSON Body 提取的 Key,优先复用上一次成功的渠道。": "마지막으로 성공한 채널을 우선 재사용", + "渠道优先级": "채널 우선순위", + "渠道信息": "채널 정보", + "渠道创建成功!": "채널이 성공적으로 생성되었습니다!", + "渠道复制失败": "채널 복사 실패", + "渠道复制失败: ": "채널 복사 실패:", + "渠道复制成功": "채널 복사 성공", + "渠道密钥": "채널 키", + "渠道密钥信息": "채널 키 정보", + "渠道密钥列表": "채널 키 목록", + "渠道更新成功!": "채널이 성공적으로 업데이트되었습니다!", + "渠道权重": "채널 가중치", + "渠道标签": "채널 태그", + "渠道模型信息不完整": "채널 모델 정보가 불완전합니다", + "渠道的基本配置信息": "채널 기본 설정 정보", + "渠道的模型测试": "채널 모델 테스트", + "渠道的高级配置选项": "고급 채널 설정 옵션", + "渠道管理": "채널 관리", + "渠道额外设置": "채널 추가 설정", + "源地址": "소스 주소", + "满足任一条件(OR)": "하나의 조건 만족 (OR)", + "演示站点": "데모 사이트", + "演示站点模式": "데모 사이트 모드", + "点击 + 按钮添加图片URL进行多模态对话": "+ 버튼을 클릭하여 멀티모달 대화용 이미지 URL을 추가하십시오", + "点击\"确认延长\"后将立即扣除费用并延长容器运行时间": "\"연장 확인\"을 클릭하면 요금이 즉시 차감되고 컨테이너 런타임이 연장됩니다.", + "点击上传文件或拖拽文件到这里": "파일을 클릭하여 업로드하거나 여기에 드래그 앤 드롭하십시오", + "点击下方按钮通过 Telegram 完成绑定": "아래 버튼을 클릭하여 Telegram을 통해 연결을 완료하십시오", + "点击复制ID": "클릭하여 ID 복사", + "点击复制模型名称": "클릭하여 모델 이름 복사", + "点击查看差异": "클릭하여 차이점 보기", + "点击此处": "여기를 클릭하세요", + "点击预览视频": "클릭하여 비디오 미리보기", + "点击预览音乐": "클릭하여 음악 미리보기", + "点击验证按钮,使用您的生物特征或安全密钥": "확인 버튼을 클릭하고 생체 인식 또는 보안 키를 사용하세요", + "版权所有": "All rights reserved", + "状态": "상태", + "状态码": "상태 코드", + "状态码复写": "상태 코드 재정의", + "状态码复写包含无效的状态码": "상태 코드 재정의에 유효하지 않은 상태 코드가 포함되어 있습니다", + "状态筛选": "상태 필터", + "状态页面Slug": "상태 페이지 슬러그", + "环境变量": "환경 변수", + "生成令牌": "토큰 생성", + "生成并填入": "생성 및 입력", + "生成数量": "생성 수량", + "生成数量必须大于0": "생성 수량은 0보다 커야 합니다", + "生成新的备用码": "새 백업 코드 생성", + "生成歌词": "가사 생성", + "生成音乐": "음악 생성", + "生效": "활성", + "用于API调用的身份验证令牌,请妥善保管": "API 호출용 인증 토큰입니다. 안전하게 보관하세요", + "用于唯一标识用户的字段路径": "사용자 식별 필드 경로", + "用于配置网络代理,支持 socks5 协议": "네트워크 프록시 설정에 사용됩니다. socks5 프로토콜을 지원합니다", + "用于验证回调 new-api 的 webhook 请求的密钥,敏感信息不显示": "콜백 new-api의 웹훅 요청을 검증하는 데 사용되는 키입니다. 민감한 정보는 표시되지 않습니다.", + "用以支持基于 WebAuthn 的无密码登录注册": "WebAuthn 기반 비밀번호 없는 로그인 및 등록 지원", + "用以支持用户校验": "사용자 인증 지원", + "用以支持系统的邮件发送": "시스템 이메일 발송 지원", + "用以支持通过 Discord 进行登录注册": "Discord를 통한 로그인 및 등록 지원에 사용됩니다", + "用以支持通过 GitHub 进行登录注册": "GitHub을 통한 로그인 및 등록 지원", + "用以支持通过 Linux DO 进行登录注册": "Linux DO를 통한 로그인 및 등록 지원", + "用以支持通过 OIDC 登录,例如 Okta、Auth0 等兼容 OIDC 协议的 IdP": "Okta, Auth0 및 기타 OIDC 프로토콜 호환 IdP를 통한 로그인 지원", + "用以支持通过 Telegram 进行登录注册": "Telegram을 통한 로그인 및 등록 지원", + "用以支持通过微信进行登录注册": "WeChat을 통한 로그인 및 등록 지원", + "用以防止恶意用户利用临时邮箱批量注册": "악의적인 사용자가 임시 이메일 주소를 사용하여 대량 등록하는 것을 방지합니다", + "用户": "사용자", + "用户 ID 字段": "사용자 ID 필드", + "用户 ID 字段(可选)": "사용자 ID 필드 (선택 사항)", + "用户个人功能": "사용자 개인 기능", + "用户主页,展示系统信息": "사용자 홈페이지, 시스템 정보 표시", + "用户优先:如果用户在请求中指定了系统提示词,将优先使用用户的设置": "사용자 우선순위: 사용자가 요청에서 시스템 프롬프트를 지정하면 사용자의 설정이 먼저 사용됩니다", + "用户信息": "사용자 정보", + "用户信息更新成功!": "사용자 정보가 성공적으로 업데이트되었습니다!", + "用户信息端点": "사용자 정보 엔드포인트", + "用户信息缺失": "사용자 정보 누락", + "用户最大令牌数量": "사용자 최대 토큰 수", + "用户分组": "기본 그룹", + "用户分组和额度管理": "사용자 그룹 및 할당량 관리", + "用户分组配置": "사용자 그룹 설정", + "用户协议": "사용자 약관", + "用户协议已更新": "사용자 약관 업데이트되었습니다", + "用户协议更新失败": "사용자 약관 업데이트 실패", + "用户可选分组": "사용자 선택 가능 그룹", + "用户名": "사용자 이름", + "用户名字段": "사용자 이름 필드", + "用户名字段(可选)": "사용자 이름 필드 (선택 사항)", + "用户名或邮箱": "사용자 이름 또는 이메일", + "用户名称": "사용자 이름", + "用户控制面板,管理账户": "계정 관리용 사용자 제어판", + "用户新建令牌时可选的分组,格式为 JSON 字符串,例如:{\"vip\": \"VIP 用户\", \"test\": \"测试\"},表示用户可以选择 vip 分组和 test 分组": "토큰 생성 시 사용자가 선택할 수 있는 그룹, JSON 문자열 형식, 예: {\"vip\": \"VIP 사용자\", \"pro\": \"프로 사용자\"}", + "用户每周期最多请求完成次数": "기간당 사용자 최대 성공 요청 횟수", + "用户每周期最多请求次数": "기간당 사용자 최대 요청 횟수", + "用户注册时看到的网站名称,比如'我的网站'": "등록 시 사용자가 보는 웹사이트 이름, 예: '내 웹사이트'", + "用户的基本账户信息": "사용자 기본 계정 정보", + "用户管理": "사용자 관리", + "用户组": "사용자 그룹", + "用户订阅管理": "사용자 구독 관리", + "用户账户创建成功!": "사용자 계정이 성공적으로 생성되었습니다!", + "用户账户管理": "사용자 계정 관리", + "用时/首字": "시간/첫 번째 단어", + "由全站货币展示设置统一控制": "사이트 전체 통화 표시 설정에 의해 제어되었습니다", + "由订阅抵扣": "구독으로 차감", + "界面语言和其他个人偏好": "인터페이스 언어 및 기타 개인 설정", + "留空使用系统临时目录": "비워두면 시스템 임시 디렉토리가 사용됩니다", + "留空则使用账号绑定的邮箱": "비워두면 계정에 연결된 이메일 주소가 사용됩니다", + "留空则使用默认端点;支持 {path, method}": "비워두면 기본 엔드포인트가 사용됩니다. {path, method} 지원", + "留空则保持原有密钥": "비워두면 원래 키 유지", + "留空则默认使用服务器地址,注意不能携带http://或者https://": "비워두면 기본적으로 서버 주소가 사용됩니다. http:// 또는 https://를 포함하면 안 됩니다.", + "登 录": "로그인", + "登录": "로그인", + "登录成功!": "로그인 성공!", + "登录成功": "로그인 성공", + "登录过期,请重新登录!": "로그인이 만료되었습니다. 다시 로그인하세요!", + "白名单": "허용 목록", + "的前提下使用。": "를 준수하여 사용해야 합니다.", + "监控设置": "모니터링 설정", + "目录总大小": "디렉토리 총 크기", + "目录文件数": "디렉토리 파일 수", + "目标用户:{{username}}": "대상 사용자: {{username}}", + "目标端点": "대상 엔드포인트", + "目标路径(可选)": "대상 경로 (선택 사항)", + "直接提交": "직접 제출", + "直接编辑 JSON 文本,保存时会校验格式。": "JSON 텍스트 직접 편집", + "相关项目": "관련 프로젝트", + "相当于删除用户,此修改将不可逆": "사용자 삭제와 동일하며, 이 수정은 되돌릴 수 없습니다", + "矛盾": "충돌", + "知识库 ID": "지식 베이스 ID", + "硬件": "하드웨어", + "硬件与性能": "하드웨어 및 성능", + "硬件类型": "하드웨어 유형", + "硬件配置": "하드웨어 설정", + "确定": "확인", + "确定?": "확실합니까?", + "确定删除此组?": "이 그룹을 삭제하시겠습니까?", + "确定导入": "가져오기 확인", + "确定是否要修复数据库一致性?": "데이터베이스 일관성을 복구하시겠습니까?", + "确定是否要删除所选通道?": "선택한 채널을 삭제하시겠습니까?", + "确定是否要删除此令牌?": "이 토큰을 삭제하시겠습니까?", + "确定是否要删除此兑换码?": "이 교환 코드를 삭제하시겠습니까?", + "确定是否要删除此模型?": "이 모델을 삭제하시겠습니까?", + "确定是否要删除此渠道?": "이 채널을 삭제하시겠습니까?", + "确定是否要删除禁用通道?": "비활성화된 채널을 삭제하시겠습니까?", + "确定是否要复制此渠道?": "이 채널을 복사하시겠습니까?", + "确定是否要注销此用户?": "이 사용자를 비활성화하시겠습니까?", + "确定清除所有失效兑换码?": "모든 유효하지 않은 교환 코드를 지우시겠습니까?", + "确定要修改所有子渠道优先级为 ": "모든 하위 채널 우선순위를 다음으로 수정 확인: ", + "确定要修改所有子渠道权重为 ": "모든 하위 채널 가중치를 다음으로 수정 확인: ", + "确定要充值 $": "$ 충전 확인", + "确定要删除供应商 \"{{name}}\" 吗?此操作不可撤销。": "공급업체 \"{{name}}\"을(를) 삭제하시겠습니까? 이 작업은 되돌릴 수 없습니다.", + "确定要删除所有已自动禁用的密钥吗?": "자동으로 비활성화된 모든 키를 삭제하시겠습니까?", + "确定要删除所选的 {{count}} 个令牌吗?_one": "선택한 {{count}}개의 토큰을 삭제하시겠습니까?", + "确定要删除所选的 {{count}} 个令牌吗?_other": "선택한 {{count}}개의 토큰을 삭제하시겠습니까?", + "确定要删除所选的 {{count}} 个模型吗?_one": "선택한 {{count}}개의 모델을 삭제하시겠습니까?", + "确定要删除所选的 {{count}} 个模型吗?_other": "선택한 {{count}}개의 모델을 삭제하시겠습니까?", + "确定要删除此 OAuth 提供商吗?": "이 OAuth 제공자를 삭제하시겠습니까?", + "确定要删除此API信息吗?": "이 API 정보를 삭제하시겠습니까?", + "确定要删除此公告吗?": "이 공지를 삭제하시겠습니까?", + "确定要删除此分类吗?": "이 카테고리를 삭제하시겠습니까?", + "确定要删除此密钥吗?": "이 키를 삭제하시겠습니까?", + "确定要删除此问答吗?": "이 FAQ를 삭제하시겠습니까?", + "确定要删除该提供商吗?": "이 제공자를 삭제하시겠습니까?", + "确定要删除这条消息吗?": "이 메시지를 삭제하시겠습니까?", + "确定要删除选中的": "선택한 항목을 삭제하시겠습니까", + "确定要启用所有密钥吗?": "모든 키를 활성화하시겠습니까?", + "确定要启用此用户吗?": "이 사용자를 활성화하시겠습니까?", + "确定要提升此用户吗?": "이 사용자를 승격하시겠습니까?", + "确定要更新所有已启用通道余额吗?": "활성화된 모든 채널의 잔액을 업데이트하시겠습니까?", + "确定要测试所有未手动禁用渠道吗?": "수동으로 비활성화된 채널을 제외한 모든 채널을 테스트하시겠습니까?", + "确定要测试所有通道吗?": "모든 채널을 테스트하시겠습니까?", + "确定要禁用所有的密钥吗?": "모든 키를 비활성화하시겠습니까?", + "确定要禁用此用户吗?": "이 사용자를 비활성화하시겠습니까?", + "确定要解绑 {{name}} 吗?": "{{name}} 연결을 해제하시겠습니까?", + "确定要降级此用户吗?": "이 사용자를 강등하시겠습니까?", + "确定重置": "초기화 확인", + "确定重置模型倍率吗?": "모델 비율을 초기화하시겠습니까?", + "确认": "확인", + "确认作废": "무효화 확인", + "确认关闭提示": "닫기 확인", + "确认冲突项修改": "충돌 항목 수정 확인", + "确认删除": "삭제 확인", + "确认删除模型": "모델 삭제 확인", + "确认取消密码登录": "비밀번호 로그인 취소 확인", + "确认启用": "활성화 확인", + "确认密码": "비밀번호 확인", + "确认导入配置": "설정 가져오기 확인", + "确认延长": "연장 확인", + "确认延长容器时长": "컨테이너 기간 연장 확인", + "确认操作": "작업 확인", + "确认新密码": "새 비밀번호 확인", + "确认清理不活跃的磁盘缓存?": "비활성 디스크 캐시 정리를 확인하시겠습니까?", + "确认清空全部渠道亲和性缓存": "모든 채널 친화성 캐시 지우기 확인", + "确认清空该规则缓存": "이 규칙 캐시 지우기 확인", + "确认清除历史日志": "과거 로그 지우기 확인", + "确认禁用": "비활성화 확인", + "确认补单": "주문 완료 확인", + "确认解绑": "연결 해제 확인", + "确认解绑 Passkey": "패스키 연결 해제 확인", + "确认设置并完成初始化": "설정 확인 및 초기화 완료", + "确认重置 Passkey": "패스키 초기화 확인", + "确认重置两步验证": "2단계 인증 초기화 확인", + "确认重置密码": "비밀번호 초기화 확인", + "磁盘 阈值 (%)": "디스크 임계값 (%)", + "磁盘使用率超过此值时拒绝请求": "디스크 사용량이 이 값을 초과하면 요청 거부", + "磁盘可用空间小于缓存最大总量设置": "디스크 여유 공간이 최대 캐시 크기 설정보다 작습니다", + "磁盘命中": "디스크 적중", + "磁盘缓存最大总量 (MB)": "최대 디스크 캐시 크기 (MB)", + "磁盘缓存占用的最大空间": "디스크 캐시가 차지하는 최대 공간", + "磁盘缓存已清理": "디스크 캐시 지워짐", + "磁盘缓存设置(磁盘换内存)": "디스크 캐시 설정 (디스크 스왑 메모리)", + "磁盘缓存阈值 (MB)": "디스크 캐시 임계값 (MB)", + "示例": "예시", + "示例:{\"default\": [200, 100], \"vip\": [0, 1000]}。": "예: {\"default\": [200, 100], \"vip\": [0, 1000]}.", + "视频": "비디오", + "视频Remix": "비디오 리믹스", + "视频无法在当前浏览器中播放,这可能是由于:": "이 브라우저에서 비디오를 재생할 수 없습니다. 가능한 이유:", + "禁用": "비활성화", + "禁用 store 透传": "스토어 패스스루 비활성화", + "禁用2FA失败": "2단계 인증 비활성화 실패", + "禁用两步验证": "2단계 인증 비활성화", + "禁用全部": "전체 비활성화", + "禁用原因": "비활성화 사유", + "禁用后用户端不再展示,但历史订单不受影响。是否继续?": "비활성화 후 사용자에게 더 이상 표시되지 않지만 과거 주문은 영향을 받지 않습니다. 계속하시겠습니까?", + "禁用后的影响:": "비활성화 후 영향:", + "禁用密钥失败": "키 비활성화 실패", + "禁用思考处理的模型列表": "생각 처리를 건너뛰는 모델", + "禁用所有密钥失败": "모든 키 비활성화 실패", + "禁用时间": "비활성화 시간", + "私有IP访问详细说明": "⚠️ 보안 경고: 이 기능을 활성화하면 내부 네트워크 리소스(localhost, 사설 네트워크 등)에 액세스할 수 있어 보안 위험이 있을 수 있습니다.", + "私有部署地址": "개인 배포 주소", + "私有镜像仓库的密码": "개인 이미지 레지스트리 비밀번호", + "私有镜像仓库的用户名": "개인 이미지 레지스트리 사용자 이름", + "秒": "초", + "移除 functionResponse.id 字段": "functionResponse.id 필드 제거", + "移除 One API 的版权标识必须首先获得授权,项目维护需要花费大量精力,如果本项目对你有意义,请主动支持本项目": "One API 저작권 표시 제거는 먼저 승인을 받아야 합니다. 프로젝트 유지 관리에는 많은 노력이 필요하므로 정품을 지원해 주세요!", + "窗口处理": "창 처리", + "窗口等待": "창 대기", + "立即签到": "지금 출석 체크", + "立即订阅": "지금 구독", + "站点额度展示类型及汇率": "사이트 할당량 표시 유형 및 환율", + "端口号必须在1-65535之间": "포트 번호는 1-65535 사이여야 합니다", + "端口配置详细说明": "외부 요청을 특정 포트로 제한합니다. 단일 포트(80, 443) 또는 범위(8000-8999)를 사용하세요. 비워두면 모든 포트가 허용됩니다.", + "端点": "엔드포인트", + "端点 URL 必须以 http:// 或 https:// 开头:": "엔드포인트 URL은 http:// 또는 https://로 시작해야 합니다: ", + "端点 URL 必须是完整地址(以 http:// 或 https:// 开头)": "엔드포인트 URL은 전체 주소(http:// 또는 https://로 시작)여야 합니다", + "端点映射": "엔드포인트 매핑", + "端点类型": "엔드포인트 유형", + "端点组": "엔드포인트 그룹", + "第 {{line}} 条 prune_objects 缺少条件": "{{line}}번째 prune_objects에 조건 없습니다", + "第 {{line}} 条 prune_objects 需要至少一个匹配条件": "{{line}}번째 prune_objects에 조건 필요", + "第 {{line}} 条 return_error 需要 message 字段": "{{line}}번째 return_error에 message 필요", + "第 {{line}} 条操作缺少值": "{{line}}번째 작업에 값 없습니다", + "第 {{line}} 条操作缺少来源字段": "{{line}}번째 작업에 소스 필드 없습니다", + "第 {{line}} 条操作缺少目标字段": "{{line}}번째 작업에 대상 필드 없습니다", + "第 {{line}} 条操作缺少目标路径": "{{line}}번째 작업에 대상 경로 없습니다", + "第 {{line}} 条请求头透传格式无效": "{{line}}번째 요청 헤더 패스스루 형식 오류", + "第 {{line}} 条请求头透传缺少请求头名称": "{{line}}번째 요청 헤더 이름 없습니다", + "第三方支付配置": "타사 결제 설정", + "第三方账户绑定状态(只读)": "타사 계정 연결 상태 (읽기 전용)", + "等价金额:": "동등한 금액: ", + "等待中": "대기 중", + "等待获取邮箱信息...": "이메일 정보를 가져오는 중...", + "筛选": "필터", + "签到最大额度": "최대 출석 체크 할당량", + "签到最小额度": "최소 출석 체크 할당량", + "签到功能允许用户每日签到获取随机额度奖励": "출석 체크 기능을 사용하면 사용자가 매일 출석 체크하여 무작위 할당량 보상을 받을 수 있습니다", + "签到失败": "출석 체크 실패", + "签到奖励将直接添加到您的账户余额": "출석 체크 보상은 계정 잔액에 직접 추가됩니다", + "签到奖励的最大额度": "출석 체크 보상 최대 할당량", + "签到奖励的最小额度": "출석 체크 보상 최소 할당량", + "签到成功!获得": "출석 체크 성공! 받음", + "签到设置": "출석 체크 설정", + "简洁": "간결", + "简洁模式:按 type 全量清理对象,例如 redacted_thinking。": "간결 모드: type별 객체 정리", + "简洁模式仅返回 message;状态码和错误类型将使用系统默认值。": "간결 모드는 message만 반환", + "管理": "관리", + "管理 Ollama 模型的拉取和删除": "Ollama 모델 가져오기 및 삭제 관리", + "管理你的 LinuxDO OAuth App": "LinuxDO OAuth 앱 관리", + "管理员": "관리자", + "管理员区域": "관리자 영역", + "管理员暂时未设置任何关于内容": "관리자가 아직 사용자 지정 콘텐츠를 설정하지 않았습니다.", + "管理员未开启 Creem 充值!": "관리자가 Creem 충전을 활성화하지 않았습니다!", + "管理员未开启Stripe充值!": "관리자가 Stripe 충전을 활성화하지 않았습니다!", + "管理员未开启在线充值!": "관리자가 온라인 충전을 활성화하지 않았습니다!", + "管理员未开启在线充值功能,请联系管理员开启或使用兑换码充值。": "관리자가 온라인 충전 기능을 활성화하지 않았습니다. 충전하려면 관리자에게 문의하세요.", + "管理员未开启在线支付功能,请联系管理员配置。": "관리자가 온라인 결제를 활성화하지 않았습니다. 관리자에게 문의하세요.", + "管理员未设置用户可选分组": "관리자가 사용자 선택 가능 그룹을 설정하지 않았습니다", + "管理员设置了外部链接,点击下方按钮访问": "관리자가 외부 링크를 설정했습니다. 아래 버튼을 클릭하여 액세스하세요", + "管理员账号": "관리자 계정", + "管理员账号已经初始化过,请继续设置其他参数": "관리자 계정이 이미 초기화되었습니다. 다른 매개변수를 계속 설정하세요", + "管理模型、标签、端点等预填组": "모델, 태그, 엔드포인트 등 사전 채워진 그룹 관리", + "管理用户已绑定的第三方账户,支持筛选与解绑": "타사 계정 관리", + "管理绑定": "연결 관리", + "类型": "유형", + "类型(常用)": "유형 (자주 사용)", + "粘贴图片失败": "이미지 붙여넣기 실패", + "精确": "정확히", + "系统": "시스템", + "系统令牌已复制到剪切板": "시스템 토큰이 클립보드에 복사되었습니다", + "系统任务记录": "시스템 작업 기록", + "系统信息": "시스템 정보", + "系统公告": "시스템 알림", + "系统公告管理,可以发布系统通知和重要消息(最多100个,前端显示最新20条)": "시스템 공지 관리, 시스템 공지 및 중요 메시지를 게시할 수 있습니다 (최대 100자, 최신 10개 표시)", + "系统内存": "시스템 메모리", + "系统初始化": "시스템 초기화", + "系统初始化失败,请重试": "시스템 초기화 실패, 다시 시도하세요", + "系统初始化成功,正在跳转...": "시스템 초기화 성공, 리다이렉션 중...", + "系统参数配置": "시스템 매개변수 설정", + "系统名称": "시스템 이름", + "系统名称已更新": "시스템 이름 업데이트되었습니다", + "系统名称更新失败": "시스템 이름 업데이트 실패", + "系统已为该部署准备 Ollama 镜像与随机 API Key": "시스템이 이 배포를 위해 Ollama 이미지와 무작위 API 키를 준비했습니다", + "系统性能监控": "시스템 성능 모니터링", + "系统提示覆盖": "시스템 프롬프트 재정의", + "系统提示词": "시스템 프롬프트", + "系统提示词拼接": "시스템 프롬프트 추가", + "系统数据统计": "시스템 데이터 통계", + "系统文档和帮助信息": "시스템 문서 및 도움말 정보", + "系统消息": "시스템 메시지", + "系统管理功能": "시스템 관리 기능", + "系统设置": "시스템 설정", + "系统访问令牌": "시스템 액세스 토큰", + "约": "약", + "索引": "인덱스", + "紧凑列表": "간결한 목록", + "累计签到": "총 출석 체크", + "累计获得": "총 받음", + "线路描述": "경로 설명", + "组列表": "그룹 목록", + "组名": "그룹 이름", + "组织": "조직", + "组织,不填则为默认组织": "조직, 비어있으면 기본값", + "终止中": "종료 중", + "终止请求中": "요청 종료 중", + "绑定": "연결", + "绑定 Telegram": "Telegram 연결", + "绑定信息": "연결 정보", + "绑定后会立即生成用户订阅(无需支付),有效期按套餐配置计算。": "연결 후 사용자 구독이 즉시 생성됩니다 (결제 불필요). 유효 기간은 플랜 설정을 따릅니다.", + "绑定微信账户": "WeChat 계정 연결", + "绑定成功!": "연결 성공!", + "绑定订阅套餐": "구독 플랜 연결", + "绑定邮箱地址": "이메일 주소 연결", + "结束": "끝", + "结束时间": "종료 시점", + "结果图片": "결과", + "结算差额": "차액 정산", + "绘图": "그림 그리기", + "绘图任务记录": "그림 작업 기록", + "绘图日志": "이미지 생성 로그", + "绘图设置": "그림 설정", + "统一的": "통합형", + "统计Tokens": "통계 토큰", + "统计已重置": "통계 초기화", + "统计次数": "요청 수 통계", + "统计额度": "통계 할당량", + "继续": "계속", + "缓存 {{tokens}} tokens / 1M tokens * {{symbol}}{{price}} (倍率: {{ratio}})": "캐시 {{tokens}} 토큰 / 1M 토큰 * {{symbol}}{{price}} (비율: {{ratio}})", + "缓存 Tokens": "캐시 토큰", + "缓存: {{cacheRatio}}": "캐시: {{cacheRatio}}", + "缓存价格:{{symbol}}{{price}} * {{cacheRatio}} = {{symbol}}{{total}} / 1M tokens (缓存倍率: {{cacheRatio}})": "캐시 가격: {{symbol}}{{price}} * {{cacheRatio}} = {{symbol}}{{total}} / 1M 토큰 (캐시 비율: {{cacheRatio}})", + "缓存价格:{{symbol}}{{price}} * {{ratio}} = {{symbol}}{{total}} / 1M tokens (缓存倍率: {{cacheRatio}})": "캐시 가격: {{symbol}}{{price}} * {{ratio}} = {{symbol}}{{total}} / 1M 토큰 (캐시 비율: {{cacheRatio}})", + "缓存倍率": "캐시 비율", + "缓存倍率 {{cacheRatio}}": "캐시 비율 {{cacheRatio}}", + "缓存写": "캐시 쓰기", + "缓存创建 {{tokens}} tokens / 1M tokens * {{symbol}}{{price}} (倍率: {{ratio}})": "캐시 생성 {{tokens}} 토큰 / 1M 토큰 * {{symbol}}{{price}} (비율: {{ratio}})", + "缓存创建 Tokens": "캐시 생성 토큰", + "缓存创建: {{cacheCreationRatio}}": "캐시 생성: {{cacheCreationRatio}}", + "缓存创建: 1h {{cacheCreationRatio1h}}": "캐시 생성: 1시간 {{cacheCreationRatio1h}}", + "缓存创建: 5m {{cacheCreationRatio5m}}": "캐시 생성: 5분 {{cacheCreationRatio5m}}", + "缓存创建: 5m {{cacheCreationRatio5m}} / 1h {{cacheCreationRatio1h}}": "캐시 생성: 5분 {{cacheCreationRatio5m}} / 1시간 {{cacheCreationRatio1h}}", + "缓存创建价格:{{symbol}}{{price}} * {{ratio}} = {{symbol}}{{total}} / 1M tokens (缓存创建倍率: {{cacheCreationRatio}})": "캐시 생성 가격: {{symbol}}{{price}} * {{ratio}} = {{symbol}}{{total}} / 1M 토큰 (캐시 생성 비율: {{ratio}})", + "缓存创建价格合计:5m {{symbol}}{{five}} + 1h {{symbol}}{{one}} = {{symbol}}{{total}} / 1M tokens": "캐시 생성 총 가격: 5분 {{symbol}}{{five}} + 1시간 {{symbol}}{{one}} = {{symbol}}{{total}} / 1M 토큰", + "缓存创建倍率": "캐시 생성 비율", + "缓存创建倍率 {{cacheCreationRatio}}": "캐시 생성 비율 {{cacheCreationRatio}}", + "缓存创建倍率 1h {{cacheCreationRatio1h}}": "캐시 생성 승수 1시간 {{cacheCreationRatio1h}}", + "缓存创建倍率 5m {{cacheCreationRatio5m}}": "캐시 생성 승수 5분 {{cacheCreationRatio5m}}", + "缓存创建倍率 5m {{cacheCreationRatio5m}} / 1h {{cacheCreationRatio1h}}": "캐시 생성 비율 5분 {{cacheCreationRatio5m}} / 1시간 {{cacheCreationRatio1h}}", + "缓存条目数": "캐시 항목 수", + "缓存目录": "캐시 디렉토리", + "缓存目录磁盘空间": "캐시 디렉토리 디스크 공간", + "缓存读": "캐시 읽기", + "编辑": "편집", + "编辑 OAuth 提供商": "OAuth 제공자 편집", + "编辑API": "API 편집", + "编辑产品": "제품 편집", + "编辑供应商": "제공자 편집", + "编辑公告": "공지 편집", + "编辑公告内容": "공지 내용 편집", + "编辑分类": "카테고리 편집", + "编辑成功": "편집 성공", + "编辑提供商": "제공자 편집", + "编辑方式": "편집 방식", + "编辑标签": "태그 편집", + "编辑模型": "모델 편집", + "编辑模式": "편집 모드", + "编辑用户": "사용자 편집", + "编辑聊天配置": "채팅 설정 편집", + "编辑规则": "규칙 편집", + "编辑问答": "FAQ 편집", + "缩词": "단축", + "缺省 MaxTokens": "기본 MaxTokens", + "网站地址": "웹사이트 주소", + "网站域名标识": "웹사이트 도메인 ID", + "网络连接失败,请检查网络设置或稍后重试": "네트워크 연결 실패, 네트워크 설정을 확인하거나 나중에 다시 시도하세요", + "网络配置": "네트워크 설정", + "网络错误": "네트워크 오류", + "置信度": "신뢰도", + "美元": "미국 달러", + "聊天": "채팅", + "聊天会话管理": "채팅 세션 관리", + "聊天区域": "채팅 영역", + "聊天应用名称": "채팅 애플리케이션 이름", + "聊天应用名称已存在,请使用其他名称": "채팅 애플리케이션 이름이 이미 존재합니다. 다른 이름을 사용하세요", + "聊天设置": "채팅 설정", + "聊天配置": "채팅 설정", + "聊天链接配置错误,请联系管理员": "채팅 링크 설정 오류, 관리자에게 문의하세요", + "联系我们": "문의하기", + "腾讯混元": "Hunyuan", + "自动分组auto,从第一个开始选择": "자동 그룹화 auto, 첫 번째부터 선택", + "自动刷新": "자동 새로고침", + "自动刷新中": "자동 새로고침 중", + "自动填充字段": "필드 자동 채우기", + "自动检测": "자동 감지", + "自动模式": "자동 모드", + "自动测试所有通道间隔时间": "모든 채널 자동 테스트 간격", + "自动生成:": "자동 생성됨: ", + "自动禁用": "자동 비활성화되었습니다", + "自动禁用关键词": "자동 비활성화 키워드", + "自动禁用状态码": "자동 비활성화 상태 코드", + "自动禁用状态码格式不正确": "유효하지 않은 자동 비활성화 상태 코드 형식", + "自动选择": "자동 선택", + "自动重试状态码": "자동 재시도 상태 코드", + "自动重试状态码格式不正确": "유효하지 않은 자동 재시도 상태 코드 형식", + "自定义": "사용자 정의", + "自定义 JSON": "사용자 정의 JSON", + "自定义 OAuth 提供商": "사용자 정의 OAuth 제공자", + "自定义充值数量选项": "사용자 정의 충전 금액 옵션", + "自定义充值数量选项不是合法的 JSON 数组": "사용자 정의 충전 금액 옵션이 유효한 JSON 배열이 아닙니다", + "自定义变焦-提交": "사용자 정의 확대/제출", + "自定义模型名称": "사용자 정의 모델 이름", + "自定义模式下不可用": "사용자 정의 모드에서 사용할 수 없습니다", + "自定义秒数": "사용자 정의 초", + "自定义请求体模式": "사용자 정의 요청 본문 모드", + "自定义货币": "사용자 지정 통화", + "自定义货币符号": "사용자 지정 통화 기호", + "自定义错误响应": "사용자 정의 오류 응답", + "自定义镜像": "사용자 정의 이미지", + "自用模式": "자체 사용 모드", + "自适应列表": "적응형 목록", + "至": "까지", + "节省": "저장", + "花费": "지출", + "花费时间": "소요 시간", + "若你的 OIDC Provider 支持 Discovery Endpoint,你可以仅填写 OIDC Well-Known URL,系统会自动获取 OIDC 配置": "OIDC 제공자가 Discovery Endpoint를 지원하는 경우 OIDC Well-Known URL만 입력하면 되며, 다른 설정은 자동으로 가져옵니다.", + "获取 Discovery 配置": "Discovery 설정 가져오기", + "获取 Discovery 配置失败:": "Discovery 설정 가져오기 실패:", + "获取 io.net API Key": "io.net API 키 얻기", + "获取 OIDC 配置失败,请检查网络状况和 Well-Known URL 是否正确": "OIDC 설정을 가져오지 못했습니다. 네트워크 상태와 Well-Known URL이 올바른지 확인하세요", + "获取 OIDC 配置成功!": "OIDC 설정을 성공적으로 가져왔습니다!", + "获取 Ollama 版本失败": "Ollama 버전을 가져오지 못했습니다", + "获取2FA状态失败": "2단계 인증 상태를 가져오지 못했습니다", + "获取初始化状态失败": "초기화 상태를 가져오지 못했습니다", + "获取可用资源失败: ": "사용 가능한 리소스를 가져오지 못했습니다: ", + "获取启用模型失败": "활성화된 모델을 가져오지 못했습니다", + "获取启用模型失败:": "활성화된 모델을 가져오지 못했습니다:", + "获取容器信息失败": "컨테이너 정보를 가져오지 못했습니다", + "获取容器列表失败": "컨테이너 목록을 가져오지 못했습니다", + "获取容器详情失败": "컨테이너 세부 정보를 가져오지 못했습니다", + "获取密钥": "API 키 가져오기", + "获取密钥失败": "키를 가져오지 못했습니다", + "获取密钥状态失败": "키 상태를 가져오지 못했습니다", + "获取日志失败": "로그를 가져오지 못했습니다", + "获取未配置模型失败": "설정되지 않은 모델을 가져오지 못했습니다", + "获取模型列表": "모델 목록 가져오기", + "获取模型列表失败": "모델 목록을 가져오지 못했습니다", + "获取渠道失败:": "채널을 가져오지 못했습니다: ", + "获取硬件类型失败: ": "하드웨어 유형을 가져오지 못했습니다: ", + "获取签到状态失败": "출석 체크 상태를 가져오지 못했습니다", + "获取组列表失败": "그룹 목록을 가져오지 못했습니다", + "获取绑定信息失败": "연결 정보 가져오기 실패", + "获取自定义 OAuth 提供商列表失败": "OAuth 제공자 목록 가져오기 실패", + "获取详情失败": "세부 정보를 가져오지 못했습니다", + "获取部署列表失败": "배포 목록을 가져오지 못했습니다", + "获取金额失败": "금액을 가져오지 못했습니다", + "获取验证码": "인증 코드 받기", + "获得": "받음", + "补全": "완료", + "补全 {{completion}} tokens / 1M tokens * {{symbol}}{{price}}": "완성 {{completion}} 토큰 / 1M 토큰 * {{symbol}}{{price}}", + "补全价格:{{symbol}}{{price}} * {{completionRatio}} = {{symbol}}{{total}} / 1M tokens (补全倍率: {{completionRatio}})": "완성 가격: {{symbol}}{{price}} * {{completionRatio}} = {{symbol}}{{total}} / 1M 토큰 (완성 비율: {{completionRatio}})", + "补全价格:{{symbol}}{{price}} * {{ratio}} = {{symbol}}{{total}} / 1M tokens": "완성 가격: {{symbol}}{{price}} * {{ratio}} = {{symbol}}{{total}} / 1M 토큰", + "补全倍率": "완성 비율", + "补全倍率值": "완성 비율 값", + "补单": "주문 완료", + "补单失败": "주문을 완료하지 못했습니다", + "补单成功": "주문이 성공적으로 완료되었습니다", + "表单引用错误,请刷新页面重试": "양식 참조 오류입니다. 페이지를 새로고침하고 다시 시도하세요", + "表格视图": "테이블 보기", + "覆盖模式:将完全替换现有的所有密钥": "덮어쓰기 모드: 기존의 모든 키를 완전히 교체합니다", + "覆盖模板": "템플릿 덮어쓰기", + "覆盖现有密钥": "기존 키 덮어쓰기", + "规则": "규칙", + "规则 JSON": "규칙 JSON", + "规则 JSON 格式不正确": "규칙 JSON 형식 오류", + "规则 ttl_seconds 为 0 时使用。0 表示使用后端默认 TTL:3600 秒。": "ttl_seconds가 0일 때 기본 TTL: 3600초", + "规则为 JSON 数组;可视化与 JSON 模式共用同一份数据。": "규칙은 JSON 배열", + "规则名称(可读性更好,也会出现在管理侧日志中)。": "규칙 이름 (가독성 향상)", + "规则导航": "규칙 탐색", + "规则未找到,请刷新后重试": "규칙을 찾을 수 없습니다", + "角色": "역할", + "解析响应数据时发生错误": "응답 데이터를 구문 분석하는 중 오류가 발생했습니다", + "解析密钥文件失败: {{msg}}": "키 파일 구문 분석 실패: {{msg}}", + "解析错误": "구문 분석 오류", + "解绑": "연결 해제", + "解绑 Passkey": "패스키 제거", + "解绑后将无法使用 Passkey 登录,确定要继续吗?": "연결을 해제하면 패스키로 로그인할 수 없습니다. 계속하시겠습니까?", + "解绑成功": "연결 해제 성공", + "计价币种": "가격 책정 통화", + "计算中": "계산 중", + "计算成本": "비용 계산", + "计算费用中...": "요금 계산 중...", + "计费开始": "청구 시작", + "计费模式": "청구 모드", + "计费类型": "과금 유형", + "计费过程": "청구 프로세스", + "订单号": "주문 번호", + "订阅": "구독", + "订阅剩余": "구독 남음", + "订阅套餐": "구독 플랜", + "订阅套餐管理": "구독 플랜 관리", + "订阅实例": "구독 인스턴스", + "订阅抵扣": "구독 차감", + "订阅管理": "구독 관리", + "订阅结算": "구독 정산", + "订阅说明": "구독 설명", + "认证方式": "인증 스타일", + "讯飞星火": "Spark Desk", + "记录请求与错误日志IP": "요청 및 오류 로그 IP 기록", + "设备": "기기", + "设备类型偏好": "장치 유형 기본 설정", + "设置 Logo": "로고 설정", + "设置2FA失败": "2단계 인증 설정 실패", + "设置不同充值金额对应的折扣,键为充值金额,值为折扣率,例如:{\"100\": 0.95, \"200\": 0.9, \"500\": 0.85}": "다양한 충전 금액에 대한 할인을 설정합니다. 키는 충전 금액이고 값은 할인 금액입니다.", + "设置两步验证": "2단계 인증 설정", + "设置令牌可用额度和数量": "토큰 사용 가능 할당량 및 수량 설정", + "设置令牌的基本信息": "토큰 기본 정보 설정", + "设置令牌的访问限制": "토큰 액세스 제한 설정", + "设置保存失败": "설정 저장 실패", + "设置保存成功": "설정이 성공적으로 저장되었습니다", + "设置兑换码的基本信息": "교환 코드 기본 정보 설정", + "设置兑换码的额度和数量": "교환 코드 할당량 및 수량 설정", + "设置公告": "공지 설정", + "设置关于": "소개 설정", + "设置已保存": "설정 저장되었습니다", + "设置模型的基本信息": "모델의 기본 정보 설정", + "设置用于接收额度预警的邮箱地址,不填则使用账号绑定的邮箱": "할당량 경고 알림을 받을 이메일 주소를 설정합니다. 설정하지 않으면 계정에 연결된 이메일 주소가 사용됩니다", + "设置用户协议": "사용자 약관 설정", + "设置用户可选择的充值数量选项,例如:[10, 20, 50, 100, 200, 500]": "사용자가 선택할 수 있는 충전 금액 옵션을 설정합니다, 예: [10, 20, 50, 100, 200, 500]", + "设置管理员登录信息": "관리자 로그인 정보 설정", + "设置类型": "설정 유형", + "设置系统名称": "시스템 이름 설정", + "设置过短会影响数据库性能": "설정이 너무 짧으면 데이터베이스 성능에 영향을 줍니다", + "设置隐私政策": "개인정보 처리방침 설정", + "设置页脚": "푸터 설정", + "设置预填组的基本信息": "사전 채워진 그룹의 기본 정보 설정", + "设置首页内容": "홈페이지 콘텐츠 설정", + "设置默认地区和特定模型的专用地区": "기본 지역 및 특정 모델용 전용 지역 설정", + "设计与开发由": "Designed & Developed by: ", + "设计版本": "b80c3466cb6feafeb3990c7820e10e50", + "访问 io.net 控制台的 API Keys 页面": "io.net 콘솔의 API 키 페이지 방문", + "访问容器": "컨테이너 액세스", + "访问模型部署功能需要先启用 io.net 部署服务": "모델 배포 기능에 액세스하려면 먼저 io.net 배포 서비스를 활성화해야 합니다", + "访问限制": "액세스 제한", + "该供应商提供多种AI模型,适用于不同的应用场景。": "이 공급업체는 다양한 애플리케이션 시나리오에 적합한 여러 AI 모델을 제공합니다.", + "该分类下没有可用模型": "이 카테고리에 사용 가능한 모델이 없습니다", + "该域名已存在于白名单中": "도메인이 이미 허용 목록에 있습니다", + "该套餐未配置 Creem": "이 플랜은 Creem용으로 설정되지 않았습니다", + "该套餐未配置 Stripe": "이 플랜은 Stripe용으로 설정되지 않았습니다", + "该数据可能不可信,请谨慎使用": "이 데이터는 신뢰할 수 없을 수 있습니다. 주의해서 사용하세요", + "该服务器地址将影响支付回调地址以及默认首页展示的地址,请确保正确配置": "이 서버 주소는 결제 콜백 주소와 프론트엔드에 표시되는 주소에 영향을 줍니다.", + "该模型存在固定价格与倍率计费方式冲突,请确认选择": "모델에 고정 가격과 비율 청구 방식 충돌이 있습니다. 선택을 확인하세요", + "该渠道已开启请求透传,参数覆写、模型重定向等 NewAPI 内置功能将失效,非最佳实践。": "이 채널에 대해 요청 패스스루가 활성화되어 있습니다. 매개변수 재정의, 모델 매핑 및 청구와 같은 기본 제공 NewAPI 기능이 건너뜁니다.", + "该渠道已开启请求透传:参数覆写、模型重定向、渠道适配等 NewAPI 内置功能将失效,非最佳实践;如因此产生问题,请勿提交 issue 反馈。": "이 채널에 대해 요청 패스스루가 활성화되어 있습니다. 매개변수 재정의, 모델 매핑 및 청구와 같은 기본 제공 NewAPI 기능이 건너뜁니다.", + "该规则未启用“作用域:包含规则名称”,无法按规则清空缓存。": "규칙 이름 범위가 비활성화되어 규칙별 캐시 지우기 불가", + "该规则未设置参数覆盖模板": "매개변수 재정의 템플릿 없습니다", + "该规则的缓存保留时长;0 表示使用默认 TTL:": "캐시 보존 기간. 0은 기본 TTL:", + "该记录不包含可用的 token 统计口径。": "토큰 통계 기준 없습니다", + "详情": "세부 정보", + "语言偏好": "언어 기본 설정", + "语言偏好已保存": "언어 기본 설정 저장되었습니다", + "语音输入": "음성 입력", + "语音输出": "음성 출력", + "说明": "설명", + "说明:": "지침:", + "说明:本页测试为非流式请求;若渠道仅支持流式返回,可能出现测试失败,请以实际使用为准。": "참고: 이 페이지의 테스트는 비스트리밍 요청을 사용합니다. 채널이 스트리밍 출력만 지원하는 경우 작동하지 않을 수 있습니다.", + "说明:生成结果是可直接粘贴到渠道密钥里的 JSON(包含 access_token / refresh_token / account_id)。": "생성 결과는 채널 키에 직접 붙여넣을 수 있는 JSON입니다 (access_token/refresh_token/account_id 포함).", + "说明信息": "설명", + "请上传密钥文件": "키 파일을 업로드하세요", + "请上传密钥文件!": "키 파일을 업로드하세요!", + "请为渠道命名": "채널 이름을 지정하세요", + "请使用 Project 为 io.cloud 的密钥": "Project가 io.cloud로 설정된 키를 사용하세요", + "请先在设置中启用图片功能": "먼저 설정에서 이미지 기능을 활성화하세요", + "请先填写 API Key": "먼저 API 키를 입력하세요", + "请先填写 Discovery URL 或 Issuer URL": "Discovery URL 또는 Issuer URL 입력", + "请先填写 Issuer URL,以自动生成完整的端点 URL": "Issuer URL 입력", + "请先填写 Ollama API 地址": "먼저 Ollama API 주소를 입력하세요", + "请先填写服务器地址": "먼저 서버 주소를 입력하세요", + "请先填写服务器地址,以自动生成完整的端点 URL": "전체 엔드포인트 URL을 자동 생성하려면 먼저 서버 주소를 입력하세요", + "请先粘贴回调 URL": "콜백 URL 붙여넣기", + "请先输入密钥": "먼저 키를 입력하세요", + "请先选择一条规则": "규칙을 선택하세요", + "请先选择同步渠道": "먼저 동기화 채널을 선택하세요", + "请先选择模型!": "먼저 모델을 선택하세요!", + "请先选择硬件类型": "먼저 하드웨어 유형을 선택하세요", + "请先选择要删除的令牌!": "삭제할 토큰을 선택하세요!", + "请先选择要删除的通道!": "삭제할 채널을 먼저 선택하세요!", + "请先选择要设置标签的渠道!": "태그를 설정할 채널을 먼저 선택하세요!", + "请先选择需要批量设置的模型": "일괄 설정할 모델을 먼저 선택하세요", + "请先阅读并同意用户协议和隐私政策": "먼저 사용자 약관 및 개인정보 처리방침을 읽고 동의하세요", + "请再次输入新密码": "새 비밀번호를 다시 입력하세요", + "请前往个人设置 → 安全设置进行配置。": "개인 설정 → 보안 설정으로 이동하여 설정하세요.", + "请勿过度信任此功能,IP可能被伪造,请配合nginx和cdn等网关使用": "이 기능을 과신하지 마세요. IP는 스푸핑될 수 있습니다. 게이트웨이 보안과 함께 사용하세요.", + "请在系统设置页面编辑分组倍率以添加新的分组:": "새 그룹을 추가하려면 시스템 설정에서 그룹 비율을 편집하세요:", + "请填写完整的产品信息": "완전한 제품 정보를 입력하세요", + "请填写完整的管理员账号信息": "완전한 관리자 계정 정보를 입력하세요", + "请填写密钥": "키를 입력하세요", + "请填写渠道名称和渠道密钥!": "채널 이름과 키를 입력하세요!", + "请填写部署地区": "배포 지역을 입력하세요", + "请妥善保管密钥信息,不要泄露给他人。如有安全疑虑,请及时更换密钥。": "키 정보를 안전하게 보관하고 다른 사람에게 공개하지 마세요. 보안 우려가 있으면 즉시 재설정하세요.", + "请尝试其他搜索关键词": "다른 검색 키워드를 사용해 보세요", + "请检查渠道配置或刷新重试": "채널 설정을 확인하거나 새로고침 후 다시 시도하세요", + "请检查表单填写是否正确": "양식이 올바르게 작성되었는지 확인하세요", + "请检查输入": "입력을 확인하세요", + "请求体 JSON": "요청 본문 JSON", + "请求体内存缓存": "요청 본문 메모리 캐시", + "请求体磁盘缓存": "요청 본문 디스크 캐시", + "请求体超过此大小时使用磁盘缓存": "요청 본문이 이 크기를 초과하면 디스크 캐시 사용", + "请求参数无效": "유효하지 않은 요청 매개변수", + "请求发生错误": "요청 중 오류가 발생했습니다", + "请求发生错误: ": "요청 중 오류가 발생했습니다: ", + "请求后端接口失败:": "서버 인터페이스 요청 실패: ", + "请求失败": "요청 실패", + "请求头覆盖": "요청 헤더 재정의", + "请求并计费模型": "요청 및 요금 모델", + "请求时长: ${time}s": "요청 시간: ${time}초", + "请求次数": "요청 수", + "请求结束后多退少补": "요청 완료 후 조정", + "请求超时,请刷新页面后重新发起 GitHub 登录": "요청 시간 초과, 페이지를 새로고침하고 GitHub 로그인을 다시 시작하세요", + "请求路径": "요청 경로", + "请求转换": "요청 변환", + "请求预扣费额度": "요청 사전 차감 할당량", + "请点击我": "여기를 클릭하세요", + "请确认以下设置信息,点击\"初始化系统\"开始配置": "다음 설정 정보를 확인하고 \"시스템 초기화\"를 클릭하여 설정을 시작하세요", + "请确认您已了解禁用两步验证的后果": "2단계 인증 비활성화의 결과를 이해했는지 확인하세요", + "请确认管理员密码": "관리자 비밀번호를 확인하세요", + "请稍后几秒重试,Turnstile 正在检查用户环境!": "잠시 후 다시 시도하세요. Turnstile이 사용자 환경을 확인 중입니다!", + "请粘贴完整回调 URL(包含 code 与 state)": "전체 콜백 URL 붙여넣기", + "请联系管理员在系统设置中配置API信息": "시스템 설정에서 API 정보를 설정하려면 관리자에게 문의하세요.", + "请联系管理员在系统设置中配置Uptime": "시스템 설정에서 Uptime을 설정하려면 관리자에게 문의하세요.", + "请联系管理员在系统设置中配置公告信息": "시스템 설정에서 공지 정보를 설정하려면 관리자에게 문의하세요.", + "请联系管理员在系统设置中配置常见问答": "시스템 설정에서 FAQ 정보를 설정하려면 관리자에게 문의하세요.", + "请联系管理员配置聊天链接": "채팅 링크를 설정하려면 관리자에게 문의하세요", + "请至少选择一个令牌!": "하나 이상의 토큰을 선택하세요!", + "请至少选择一个兑换码!": "하나 이상의 교환 코드를 선택하세요!", + "请至少选择一个模型": "하나 이상의 모델을 선택하세요", + "请至少选择一个模型!": "하나 이상의 모델을 선택하세요!", + "请至少选择一个渠道": "하나 이상의 채널을 선택하세요", + "请输入 API Key,一行一个,格式:APIKey|Region": "API 키를 입력하세요. 한 줄에 하나씩, 형식: APIKey|Region", + "请输入 API Key,格式:APIKey|Region": "API 키를 입력하세요, 형식: APIKey|Region", + "请输入 Authorization Endpoint": "인증 엔드포인트를 입력하세요", + "请输入 AZURE_OPENAI_ENDPOINT,例如:https://docs-test-001.openai.azure.com": "AZURE_OPENAI_ENDPOINT를 입력하세요, 예: https://docs-test-001.openai.azure.com", + "请输入 Client ID": "클라이언트 ID를 입력하세요", + "请输入 Client Secret": "클라이언트 시크릿을 입력하세요", + "请输入 io.net API Key": "io.net API 키를 입력하세요", + "请输入 io.net API Key(敏感信息不显示)": "io.net API 키를 입력하세요 (민감한 정보는 표시되지 않음)", + "请输入 JSON 格式的 OAuth 凭据,例如:\n{\n \"access_token\": \"...\",\n \"account_id\": \"...\" \n}": "JSON 형식의 OAuth 자격 증명을 입력하세요. 예: access_token, account_id 포함", + "请输入 JSON 格式的密钥内容,例如:\n{\n \"type\": \"service_account\",\n \"project_id\": \"your-project-id\",\n \"private_key_id\": \"...\",\n \"private_key\": \"...\",\n \"client_email\": \"...\",\n \"client_id\": \"...\",\n \"auth_uri\": \"...\",\n \"token_uri\": \"...\",\n \"auth_provider_x509_cert_url\": \"...\",\n \"client_x509_cert_url\": \"...\"\n}": "JSON 형식으로 키 내용을 입력하세요, 예: { \"type\": \"service_account\", ...}", + "请输入 OIDC 的 Well-Known URL": "OIDC의 Well-Known URL을 입력하세요", + "请输入 Slug": "슬러그를 입력하세요", + "请输入 Token Endpoint": "토큰 엔드포인트를 입력하세요", + "请输入 User Info Endpoint": "사용자 정보 엔드포인트를 입력하세요", + "请输入6位验证码或8位备用码": "6자리 인증 코드 또는 8자리 백업 코드를 입력하세요", + "请输入API地址": "API 주소를 입력하세요", + "请输入API地址!": "API 주소를 입력하세요!", + "请输入Bark推送URL": "Bark 푸시 URL을 입력하세요", + "请输入Bark推送URL,例如: https://api.day.app/yourkey/{{title}}/{{content}}": "Bark 푸시 URL을 입력하세요, 예: https://api.day.app/yourkey/{{title}}/{{content}}", + "请输入Gotify应用令牌": "Gotify 애플리케이션 토큰을 입력하세요", + "请输入Gotify服务器地址": "Gotify 서버 주소를 입력하세요", + "请输入Gotify服务器地址,例如: https://gotify.example.com": "Gotify 서버 주소를 입력하세요, 예: https://gotify.example.com", + "请输入JSON数组,如 [\"model-a\",\"model-b\"]": "JSON 배열을 입력하세요, 예: [\"model-a\",\"model-b\"]", + "请输入Uptime Kuma地址": "Uptime Kuma 주소를 입력하세요", + "请输入Uptime Kuma服务地址,如:https://status.example.com": "Uptime Kuma 서비스 주소를 입력하세요, 예: https://status.example.com", + "请输入URL链接": "URL 링크를 입력하세요", + "请输入Webhook地址": "웹훅 주소를 입력하세요", + "请输入Webhook地址,例如: https://example.com/webhook": "웹훅 URL을 입력하세요, 예: https://example.com/webhook", + "请输入你的账户名以确认删除!": "삭제를 확인하려면 계정 이름을 입력하세요!", + "请输入供应商名称": "공급업체 이름을 입력하세요", + "请输入供应商名称,如:OpenAI": "공급업체 이름을 입력하세요, 예: OpenAI", + "请输入供应商描述": "공급업체 설명을 입력하세요", + "请输入兑换码": "교환 코드를 입력하세요", + "请输入兑换码!": "교환 코드를 입력하세요!", + "请输入公告内容": "공지 내용을 입력하세요", + "请输入公告内容(支持 Markdown/HTML)": "공지 내용을 입력하세요 (Markdown/HTML 지원)", + "请输入分类名称": "카테고리 이름을 입력하세요", + "请输入分类名称,如:OpenAI、Claude等": "카테고리 이름을 입력하세요, 예: OpenAI, Claude 등", + "请输入到 /suno 前的路径,通常就是域名,例如:https://api.example.com": "/suno 이전의 경로를 입력하세요. 보통 도메인입니다, 예: https://api.example.com", + "请输入副本数量": "복제본 수를 입력하세요", + "请输入原密码": "원래 비밀번호를 입력하세요", + "请输入原密码!": "원래 비밀번호를 입력하세요!", + "请输入名称": "이름을 입력하세요", + "请输入回答内容": "답변 내용을 입력하세요", + "请输入回答内容(支持 Markdown/HTML)": "답변 내용을 입력하세요 (Markdown/HTML 지원)", + "请输入图标名称": "아이콘 이름을 입력하세요", + "请输入填充值": "값을 입력하세요", + "请输入备注(仅管理员可见)": "메모를 입력하세요 (관리자에게만 표시)", + "请输入套餐标题": "플랜 제목을 입력하세요", + "请输入完整的 JSON 格式密钥内容": "완전한 JSON 형식 키 내용을 입력하세요", + "请输入完整的URL,例如:https://api.openai.com/v1/chat/completions": "완전한 URL을 입력하세요, 예: https://api.openai.com/v1/chat/completions", + "请输入完整的URL链接": "완전한 URL 링크를 입력하세요", + "请输入容器名称": "컨테이너 이름을 입력하세요", + "请输入密码": "비밀번호를 입력하세요", + "请输入密钥": "키를 입력하세요", + "请输入密钥,一行一个": "키를 입력하세요. 한 줄에 하나씩", + "请输入密钥,一行一个,格式:AccessKey|SecretAccessKey|Region": "키를 한 줄에 하나씩 입력하세요. 형식: AccessKey|SecretAccessKey|Region", + "请输入密钥!": "키를 입력하세요!", + "请输入延长时长": "연장 기간을 입력하세요", + "请输入总额度": "총 할당량을 입력하세요", + "请输入您的密码": "비밀번호를 입력하세요", + "请输入您的用户名以确认删除": "삭제를 확인하려면 사용자 이름을 입력하세요", + "请输入您的用户名或邮箱地址": "사용자 이름 또는 이메일 주소를 입력하세요", + "请输入您的邮箱地址": "이메일 주소를 입력하세요", + "请输入您的问题...": "질문을 입력하세요...", + "请输入数值": "값 입력", + "请输入数字": "숫자를 입력하세요", + "请输入新密码": "새 비밀번호를 입력하세요", + "请输入新密码!": "새 비밀번호를 입력하세요!", + "请输入新建数量": "생성할 수량을 입력하세요", + "请输入新标签,留空则解散标签": "새 태그를 입력하세요. 비워두면 태그가 해제됩니다", + "请输入新的剩余额度": "새 남은 할당량을 입력하세요", + "请输入新的密码,最短 8 位": "새 비밀번호를 입력하세요. 최소 8자", + "请输入新的显示名称": "새 표시 이름을 입력하세요", + "请输入新的用户名": "새 사용자 이름을 입력하세요", + "请输入新的部署名称": "새 배포 이름을 입력하세요", + "请输入显示名称": "표시 이름을 입력하세요", + "请输入有效的JSON格式的请求体。您可以参考预览面板中的默认请求体格式。": "유효한 JSON 형식 요청 본문을 입력하세요. 아래의 기본 요청 본문을 참조할 수 있습니다.", + "请输入有效的数字": "유효한 숫자를 입력하세요", + "请输入有效的镜像地址": "유효한 이미지 주소를 입력하세요", + "请输入标签名称": "태그 이름을 입력하세요", + "请输入模型倍率": "모델 비율 입력", + "请输入模型倍率和补全倍率": "모델 비율과 완성 비율을 입력하세요", + "请输入模型名称": "모델 이름을 입력하세요", + "请输入模型名称,例如: llama3.2, qwen2.5:7b": "모델 이름을 입력하세요, 예: llama3.2, qwen2.5:7b", + "请输入模型名称,如:gpt-4": "모델 이름을 입력하세요, 예: gpt-4", + "请输入模型描述": "모델 설명을 입력하세요", + "请输入消息内容...": "메시지 내용을 입력하세요...", + "请输入状态页面Slug": "상태 페이지 슬러그를 입력하세요", + "请输入状态页面的Slug,如:my-status": "상태 페이지의 슬러그를 입력하세요, 예: my-status", + "请输入生成数量": "생성할 수량을 입력하세요", + "请输入用户名": "사용자 이름을 입력하세요", + "请输入私有部署地址,格式为:https://fastgpt.run/api/openapi": "개인 배포 주소를 입력하세요, 형식: https://fastgpt.run/api/openapi", + "请输入秒数": "초를 입력하세요", + "请输入管理员密码": "관리자 비밀번호를 입력하세요", + "请输入管理员用户名": "관리자 이름을 입력하세요", + "请输入线路描述": "경로 설명을 입력하세요", + "请输入组名": "그룹 이름을 입력하세요", + "请输入组描述": "그룹 설명을 입력하세요", + "请输入组织org-xxx": "조직 org-xxx를 입력하세요", + "请输入聊天应用名称": "채팅 애플리케이션 이름을 입력하세요", + "请输入补全倍率": "완성 비율 입력", + "请输入要延长的小时数": "연장할 시간 수를 입력하세요", + "请输入要设置的标签名称": "설정할 태그 이름을 입력하세요", + "请输入认证器验证码": "인증 앱 인증 코드를 입력하세요", + "请输入认证器验证码或备用码": "인증 앱 인증 코드 또는 백업 코드를 입력하세요", + "请输入说明": "설명을 입력하세요", + "请输入运行时长": "런타임 기간을 입력하세요", + "请输入邮箱!": "이메일을 입력하세요!", + "请输入邮箱地址": "이메일 주소를 입력하세요", + "请输入邮箱验证码!": "이메일 인증 코드를 입력하세요!", + "请输入部署名称": "배포 이름을 입력하세요", + "请输入部署名称以完成二次确认": "배포 이름을 입력하여 2차 확인을 완료하세요", + "请输入部署地区,例如:us-central1\n支持使用模型映射格式\n{\n \"default\": \"us-central1\",\n \"claude-3-5-sonnet-20240620\": \"europe-west1\"\n}": "배포 지역을 입력하세요, 예: us-central1. 모델 매핑을 사용하여 재정의할 수 있습니다", + "请输入金额": "금액을 입력하세요", + "请输入镜像地址": "이미지 주소를 입력하세요", + "请输入问题标题": "질문 제목을 입력하세요", + "请输入预警阈值": "알림 임계값을 입력하세요", + "请输入预警额度": "알림 할당량을 입력하세요", + "请输入额度": "할당량을 입력하세요", + "请输入验证码": "인증 코드를 입력하세요", + "请输入验证码或备用码": "인증 코드 또는 백업 코드를 입력하세요", + "请输入默认 API 版本,例如:2025-04-01-preview": "기본 API 버전을 입력하세요, 예: 2025-04-01-preview.", + "请选择API地址": "API 주소를 선택하세요", + "请选择一条规则进行编辑。": "편집할 규칙을 선택하세요", + "请选择主模型": "기본 모델을 선택하세요", + "请选择产品": "제품을 선택하세요", + "请选择你的复制方式": "복사 방법을 선택하세요", + "请选择使用模式": "사용 모드를 선택하세요", + "请选择分组": "그룹을 선택하세요", + "请选择发布日期": "게시 날짜를 선택하세요", + "请选择可以使用该渠道的分组": "이 채널을 사용할 수 있는 그룹을 선택하세요", + "请选择可以使用该渠道的分组,留空则不更改": "이 채널을 사용할 수 있는 그룹을 선택하세요. 비워두면 변경되지 않습니다", + "请选择同步语言": "동기화 언어를 선택하세요", + "请选择名称匹配类型": "이름 일치 유형을 선택하세요", + "请选择多密钥使用策略": "다중 키 사용 정책을 선택하세요", + "请选择密钥更新模式": "키 업데이트 모드를 선택하세요", + "请选择密钥格式": "키 형식을 선택하세요", + "请选择支付方式": "결제 방법을 선택하세요", + "请选择日志记录时间": "로그 기록 시간을 선택하세요", + "请选择模型": "모델을 선택하세요", + "请选择模型。": "모델을 선택하세요.", + "请选择消息优先级": "메시지 우선순위를 선택하세요", + "请选择渠道类型": "채널 유형을 선택하세요", + "请输入知识库 ID,例如:123456": "지식 베이스 ID를 입력하세요. 예: 123456", + "请输入Account ID,例如:d6b5da8hk1awo8nap34ube6gh": "계정 ID를 입력하세요. 예: d6b5da8hk1awo8nap34ube6gh", + "请输入智能体ID,例如:7342866812345": "에이전트 ID를 입력하세요. 예: 7342866812345", + "请选择硬件类型": "하드웨어 유형을 선택하세요", + "请选择组类型": "그룹 유형을 선택하세요", + "请选择至少一个部署位置": "하나 이상의 배포 위치를 선택하세요", + "请选择订阅套餐": "구독 플랜을 선택하세요", + "请选择该令牌支持的模型,留空支持所有模型": "토큰이 지원하는 모델을 선택하세요. 비워두면 모든 모델을 지원합니다", + "请选择该渠道所支持的模型": "이 채널이 지원하는 모델을 선택하세요", + "请选择该渠道所支持的模型,留空则不更改": "채널이 지원하는 모델을 선택하세요. 비워두면 변경되지 않습니다", + "请选择过期时间": "만료 시간을 선택하세요", + "请选择通知方式": "알림 방법을 선택하세요", + "调用次数": "호출 수", + "调用次数分布": "모델 호출 분포", + "调用次数排行": "모델 호출 순위", + "调试信息": "디버그 정보", + "谨慎": "신중", + "警告": "경고", + "警告:启用保活后,如果已经写入保活数据后渠道出错,系统无法重试,如果必须开启,推荐设置尽可能大的Ping间隔": "경고: 연결 유지를 활성화한 후 연결 유지 데이터가 기록된 후 채널이 실패하면 청구 오류가 발생할 수 있습니다.", + "警告:禁用两步验证将永久删除您的验证设置和所有备用码,此操作不可撤销!": "경고: 2단계 인증을 비활성화하면 인증 설정 및 백업 코드가 영구적으로 삭제됩니다.", + "豆包": "Doubao", + "账单": "청구서", + "账户充值": "계정 충전", + "账户已删除!": "계정이 삭제되었습니다!", + "账户已锁定": "계정 잠김", + "账户数据": "지갑", + "账户管理": "계정 관리", + "账户绑定": "계정 연결", + "账户绑定、安全设置和身份验证": "계정 연결, 보안 설정 및 신원 확인", + "账户绑定管理": "계정 연결 관리", + "账户统计": "계정 통계", + "货币": "통화", + "货币单位": "통화 단위", + "购买上限": "구매 한도", + "购买兑换码": "교환 코드 구매", + "购买套餐后即可享受模型权益": "플랜 구매 후 모델 혜택을 누리세요", + "购买或手动新增订阅会升级到该分组;当套餐失效/过期或手动作废/删除后,将回退到升级前分组。回退不会立即生效,通常会有几分钟延迟。": "구독을 구매하거나 수동으로 추가하면 이 그룹으로 업그레이드됩니다. 플랜이 만료되면 원래 그룹으로 다운그레이드됩니다.", + "购买订阅套餐": "구독 플랜 구매", + "费用信息": "비용 정보", + "费用预估": "비용 추정", + "资源消耗": "리소스 소비", + "起始时间": "시작 시점", + "超级管理员": "슈퍼 관리자", + "超级管理员未设置充值链接!": "슈퍼 관리자가 충전 링크를 설정하지 않았습니다!", + "超过阈值时拒绝新请求": "임계값 초과 시 새 요청 거부", + "跟随日志": "로그 팔로우", + "跟随系统主题设置": "시스템 테마를 사용합니다.", + "跨分组": "그룹 간", + "跨分组重试": "그룹 간 재시도", + "路径正则": "경로 정규식", + "路径正则(每行一个)": "경로 정규식 (한 줄에 하나씩)", + "跳转": "이동", + "转换": "변환", + "轮询": "폴링", + "轮询模式": "폴링 모드", + "轮询模式必须搭配Redis和内存缓存功能使用,否则性能将大幅降低,并且无法实现轮询功能": "폴링 모드는 Redis 및 메모리 캐시 기능과 함께 사용해야 합니다. 그렇지 않으면 성능이 저하됩니다", + "输入": "입력", + "输入 OIDC 的 Authorization Endpoint": "OIDC 인증 엔드포인트 입력", + "输入 OIDC 的 Client ID": "OIDC 클라이언트 ID 입력", + "输入 OIDC 的 Token Endpoint": "OIDC 토큰 엔드포인트 입력", + "输入 OIDC 的 Userinfo Endpoint": "OIDC 사용자 정보 엔드포인트 입력", + "输入IP地址后回车,如:8.8.8.8": "IP 주소를 입력하고 Enter를 누르세요, 예: 8.8.8.8", + "输入JSON对象": "JSON 객체 입력", + "输入价格": "가격 입력", + "输入价格:{{symbol}}{{price}} / 1M tokens{{audioPrice}}": "가격 입력: {{symbol}}{{price}} / 1M 토큰{{audioPrice}}", + "输入你注册的 LinuxDO OAuth APP 的 ID": "등록된 LinuxDO OAuth 앱의 ID를 입력하세요", + "输入你的账户名{{username}}以确认删除": "삭제를 확인하려면 계정 이름{{username}}을 입력하세요", + "输入域名后回车": "도메인을 입력하고 Enter를 누르세요", + "输入域名后回车,如:example.com": "도메인을 입력하고 Enter를 누르세요, 예: example.com", + "输入基础 URL": "기본 URL 입력", + "输入密码,最短 8 位,最长 20 位": "비밀번호를 입력하세요. 최소 8자, 최대 20자", + "输入数字": "숫자 입력", + "输入标签或使用\",\"分隔多个标签": "태그를 입력하거나 \",\"를 사용하여 여러 태그를 구분하세요", + "输入模型倍率": "모델 비율 입력", + "输入每次价格": "사용당 가격 입력", + "输入端口后回车,如:80 或 8000-8999": "포트를 입력하고 Enter를 누르세요, 예: 80 또는 8000-8999", + "输入系统提示词,用户的系统提示词将优先于此设置": "시스템 프롬프트를 입력하세요. 사용자의 시스템 프롬프트가 이 설정보다 우선합니다", + "输入自定义模型名称": "사용자 정의 모델 이름 입력", + "输入补全价格": "완성 가격 입력", + "输入补全倍率": "완성 비율 입력", + "输入要添加的邮箱域名": "추가할 이메일 도메인을 입력하세요", + "输入认证器应用显示的6位数字验证码": "인증 앱에 표시된 6자리 인증 코드를 입력하세요", + "输入邮箱地址": "이메일 주소 입력", + "输入金额": "금액 입력", + "输入项目名称,按回车添加": "항목 이름을 입력하고 Enter를 눌러 추가하세요", + "输入额度": "할당량 입력", + "输入验证码": "인증 코드 입력", + "输入验证码完成设置": "설정을 완료하려면 인증 코드를 입력하세요", + "输出": "출력", + "输出 {{completion}} tokens / 1M tokens * {{symbol}}{{compPrice}}) * {{ratioType}} {{ratio}}": "출력 {{completion}} 토큰 / 1M 토큰 * {{symbol}}{{compPrice}} * {{ratioType}} {{ratio}} = {{symbol}}{{total}}", + "输出价格": "출력 가격", + "输出价格:{{symbol}}{{price}} * {{completionRatio}} = {{symbol}}{{total}} / 1M tokens (补全倍率: {{completionRatio}})": "출력 가격: {{symbol}}{{price}} * {{completionRatio}} = {{symbol}}{{total}} / 1M 토큰", + "输出倍率 {{completionRatio}}": "출력 비율 {{completionRatio}}", + "边栏设置": "사이드바 설정", + "过期于": "만료일", + "过期时间": "만료 시간", + "过期时间不能早于当前时间!": "만료 시간은 현재 시간보다 빠를 수 없습니다!", + "过期时间快捷设置": "만료 시간 빠른 설정", + "过期时间格式错误!": "만료 시간 형식 오류!", + "运营设置": "작업 설정", + "运行中": "실행 중", + "运行命令 (Command)": "명령", + "运行时长": "런타임 기간", + "运行时长(小时)": "런타임 기간 (시간)", + "返回修改": "돌아가서 편집", + "返回登录": "로그인으로 돌아가기", + "这将删除超过 10 分钟未使用的临时缓存文件": "10분 이상 사용되지 않은 임시 캐시 파일이 삭제됩니다", + "这是基础金额,实际扣费 = 基础金额 x 系统分组倍率。": "이것은 기본 금액입니다. 실제 차감 = 기본 금액 × 시스템 그룹 비율.", + "这是重复键中的最后一个,其值将被使用": "이것은 중복 키 중 마지막 것이며 해당 값이 사용됩니다", + "这里直接编辑 JSON 对象。适合简单覆盖参数的场景。": "JSON 객체 직접 편집", + "进度": "진행률", + "进行中": "진행 중", + "进行该操作时,可能导致渠道访问错误,请仅在数据库出现问题时使用": "이 작업을 수행하면 채널 액세스 오류가 발생할 수 있습니다. 채널에 데이터가 없거나 재구축할 때만 사용하세요.", + "违规扣费": "위반 요금 차감", + "违规扣费金额": "위반 차감 금액", + "连接保活设置": "연결 유지 설정", + "连接已断开": "연결 끊김", + "连接测试中...": "연결 테스트 중...", + "追加到现有密钥": "기존 키에 추가", + "追加模式:将新密钥添加到现有密钥列表末尾": "추가 모드: 기존 키 목록 끝에 새 키 추가", + "追加模式:新密钥将添加到现有密钥列表的末尾": "추가 모드: 새 키가 기존 키 목록 끝에 추가됩니다", + "追加模板": "템플릿 추가", + "退出": "로그아웃", + "退款": "환불", + "适用于个人使用的场景,不需要设置模型价格": "개인용으로 적합하며 모델 가격을 설정할 필요가 없습니다.", + "适用于为多个用户提供服务的场景": "여러 사용자에게 제공하는 경우에 적합합니다.", + "适用于展示系统功能的场景,提供基础功能演示": "시스템 기능이 표시되는 경우에 적합하며 기본 기능 데모를 제공합니다.", + "适配 -thinking、-thinking-预算数字 和 -nothinking 后缀": "-thinking, -thinking-budget 숫자, -nothinking 및 -low/-medium/-high 접미사에 적응", + "选择充值套餐": "충전 패키지 선택", + "选择充值额度": "충전 할당량 선택", + "选择分组": "그룹 선택", + "选择同步来源": "동기화 소스 선택", + "选择同步渠道": "동기화 채널 선택", + "选择同步语言": "동기화 언어 선택", + "选择容器": "컨테이너 선택", + "选择您的首选界面语言,设置将自动保存并同步到所有设备": "선호하는 인터페이스 언어를 선택하세요. 설정은 자동으로 저장되고 기기 간에 동기화됩니다.", + "选择成功": "선택 성공", + "选择支付方式": "결제 방법 선택", + "选择支持的认证设备类型": "지원되는 인증 장치 유형 선택", + "选择方式": "방법 선택", + "选择时间": "시간 선택", + "选择模型": "모델 선택", + "选择模型供应商": "모델 공급업체 선택", + "选择模型后可一键填充当前选中令牌(或本页第一个令牌)。": "모델을 선택한 후 현재 선택한 토큰(또는 페이지의 첫 번째 토큰)을 모델로 채울 수 있습니다", + "选择模型开始对话": "대화를 시작할 모델을 선택하세요", + "选择状态": "상태 선택", + "选择硬件类型": "하드웨어 유형 선택", + "选择端点类型": "엔드포인트 유형 선택", + "选择系统运行模式": "시스템 실행 모드 선택", + "选择组类型": "그룹 유형을 선택하세요", + "选择要覆盖的冲突项": "덮어쓸 충돌 항목 선택", + "选择订阅套餐": "구독 플랜 선택", + "选择语言": "언어 선택", + "选择过期时间(可选,留空为永久)": "만료 시간 선택 (선택 사항, 비워두면 영구)", + "选择部署位置(可多选)": "배포 위치 선택 (여러 개 선택 가능)", + "选择预设...": "프리셋 선택...", + "选择预设模板(可选)": "프리셋 템플릿 선택 (선택 사항)", + "透传请求体": "본문 패스스루", + "递归": "재귀", + "递归策略": "재귀 정책", + "通义千问": "Qwen", + "通用设置": "일반 설정", + "通知": "알림", + "通知、价格和隐私相关设置": "알림, 가격 및 개인정보 관련 설정", + "通知内容": "알림 내용", + "通知内容,支持 {{value}} 变量占位符": "알림 내용, {{value}} 변수 플레이스홀더 지원", + "通知方式": "알림 방법", + "通知标题": "알림 제목", + "通知类型 (quota_exceed: 额度预警)": "알림 유형 (quota_exceed: 할당량 경고)", + "通知邮箱": "알림 이메일", + "通知配置": "알림 설정", + "通过划转功能将奖励额度转入到您的账户余额中": "전송 기능을 통해 보상 금액을 계정 잔액으로 이체하세요", + "通过密码注册时需要进行邮箱验证": "비밀번호로 등록할 때 이메일 인증이 필요합니다", + "通道 ${name} 余额更新成功!": "채널 ${name} 할당량이 성공적으로 업데이트되었습니다!", + "通道 ${name} 测试成功,模型 ${model} 耗时 ${time.toFixed(2)} 秒。": "채널 ${name} 테스트 성공, 모델 ${model}이 ${time.toFixed(2)}초 소요.", + "通道 ${name} 测试成功,耗时 ${time.toFixed(2)} 秒。": "채널 ${name} 테스트 성공, ${time.toFixed(2)}초 소요.", + "速率限制设置": "속도 제한 설정", + "逻辑": "논리", + "邀请": "초대", + "邀请人": "초대자", + "邀请人数": "초대된 사람 수", + "邀请信息": "초대 정보", + "邀请奖励": "초대 보상", + "邀请好友注册,好友充值后您可获得相应奖励": "친구를 초대하여 등록하면 친구가 충전한 후 해당 보상을 받을 수 있습니다", + "邀请好友获得额外奖励": "친구를 초대하여 추가 보상 받기", + "邀请新用户奖励额度": "추천 보너스 할당량", + "邀请的好友越多,获得的奖励越多": "더 많은 친구를 초대할수록 더 많은 보상을 받을 수 있습니다", + "邀请码": "초대 코드", + "邀请获得额度": "초대 할당량", + "邀请链接": "초대 링크", + "邀请链接已复制到剪切板": "초대 링크가 클립보드에 복사되었습니다", + "邮件通知": "이메일 알림", + "邮箱": "이메일", + "邮箱地址": "이메일 주소", + "邮箱域名格式不正确,请输入有效的域名,如 gmail.com": "이메일 도메인 형식이 올바르지 않습니다. gmail.com과 같은 유효한 도메인을 입력하세요", + "邮箱域名白名单格式不正确": "이메일 도메인 허용 목록 형식이 올바르지 않습니다", + "邮箱字段": "이메일 필드", + "邮箱字段(可选)": "이메일 필드 (선택 사항)", + "邮箱账户绑定成功!": "이메일 계정이 성공적으로 연결되었습니다!", + "部分保存失败": "일부 설정을 저장하지 못했습니다", + "部分保存失败,请重试": "일부 저장 실패, 다시 시도하세요", + "部分渠道测试失败:": "일부 채널 테스트 실패: ", + "部署 ID": "배포 ID", + "部署ID": "배포 ID", + "部署中": "배포 중", + "部署位置": "배포 위치", + "部署位置加载中...": "배포 위치 로드 중...", + "部署删除成功": "배포가 성공적으로 삭제되었습니다", + "部署名称": "배포 이름", + "部署名称不匹配,请检查后重新输入": "배포 이름이 일치하지 않습니다. 확인하고 다시 입력하세요", + "部署名称只能包含字母、数字、横线、下划线和中文": "배포 이름은 문자, 숫자, 하이픈, 밑줄 및 한글만 포함할 수 있습니다", + "部署名称更新成功": "배포 이름이 성공적으로 업데이트되었습니다", + "部署启动成功": "배포가 성공적으로 시작되었습니다", + "部署地区": "배포 지역", + "部署请求中": "배포 요청 중", + "部署配置": "배포 설정", + "部署重启成功": "배포가 성공적으로 재시작되었습니다", + "配置": "설정", + "配置 Discord OAuth": "Discord OAuth 설정", + "配置 GitHub OAuth App": "GitHub OAuth 앱 설정", + "配置 Linux DO OAuth": "Linux DO OAuth 설정", + "配置 OIDC": "OIDC 설정", + "配置 Passkey": "패스키 설정", + "配置 SMTP": "SMTP 설정", + "配置 Telegram 登录": "Telegram 로그인 설정", + "配置 Turnstile": "Turnstile 설정", + "配置 WeChat Server": "WeChat 서버 설정", + "配置和消息已全部重置": "설정 및 메시지가 완전히 초기화되었습니다", + "配置套餐的有效时长": "플랜 유효 기간 설정", + "配置如何从用户信息 API 响应中提取用户数据,支持 JSONPath 语法": "사용자 정보 API에서 데이터 추출 방법", + "配置完成后刷新页面即可使用模型部署功能": "설정이 완료되면 페이지를 새로고침하여 모델 배포 기능을 사용하세요", + "配置导入成功": "설정이 성공적으로 가져와졌습니다", + "配置已导出到下载文件夹": "설정이 다운로드 폴더로 내보내졌습니다", + "配置已重置,对话消息已保留": "설정이 초기화되었으며 대화 메시지가 유지되었습니다", + "配置文件同步": "설정 파일 동기화", + "配置更新确认": "설정 업데이트 확인", + "配置有效的 io.net API Key": "유효한 io.net API 키 설정", + "配置服务器端请求伪造(SSRF)防护,用于保护内网资源安全": "서버 측 요청 위조(SSRF) 보호를 설정하여 내부 네트워크 리소스를 보호하세요", + "配置模型部署服务提供商的API密钥和启用状态": "모델 배포 서비스 제공자의 API 키 및 활성화 상태 설정", + "配置登录注册": "로그인/등록 설정", + "配置自定义 OAuth 提供商,支持 GitHub Enterprise、GitLab、Gitea、Nextcloud、Keycloak、ORY 等兼容 OAuth 2.0 协议的身份提供商": "사용자 정의 OAuth 제공자 설정, GitHub Enterprise, GitLab, Gitea, Nextcloud, Keycloak 등을 지원합니다.", + "配置说明": "설정 지침", + "配置邮箱域名白名单": "이메일 도메인 허용 목록 설정", + "重启部署失败": "배포 재시작 실패", + "重命名部署": "배포 이름 변경", + "重复提交": "중복 제출", + "重复的键名": "중복 키 이름", + "重复的键名,此值将被后面的同名键覆盖": "중복 키 이름, 이 값은 동일한 이름의 후속 키로 재정의됩니다", + "重定向 URL 填": "리다이렉션 URL 채우기", + "重新发送": "재전송", + "重新生成": "재생성", + "重新生成备用码": "백업 코드 재생성", + "重新生成备用码失败": "백업 코드 재생성 실패", + "重新生成备用码将使现有的备用码失效,请确保您已保存了当前的备用码。": "백업 코드를 재생성하면 기존 백업 코드가 무효화됩니다. 이 페이지를 떠나기 전에 새 코드를 저장했는지 확인하세요.", + "重绘": "다양합니다", + "重置": "재설정", + "重置 2FA": "2단계 인증 초기화", + "重置 Passkey": "패스키 초기화", + "重置为默认": "기본값으로 초기화", + "重置周期": "초기화 기간", + "重置失败": "초기화 실패", + "重置模型倍率": "모델 비율 초기화", + "重置统计": "통계 초기화", + "重置选项": "초기화 옵션", + "重置邮件发送成功,请检查邮箱!": "초기화 이메일이 성공적으로 전송되었습니다. 이메일을 확인하세요!", + "重置配置": "설정 초기화", + "重要提醒": "중요 공지", + "重试": "재시도", + "重试建议": "재시도 제안", + "重试连接": "연결 재시도", + "金额": "금액", + "钱包管理": "지갑 관리", + "链接中的{key}将自动替换为sk-xxxx,{address}将自动替换为系统设置的服务器地址,末尾不带/和/v1": "링크의 {key}는 sk-xxxx로 자동 교체되며, {address}는 서버 주소로 자동 교체됩니다", + "销毁容器": "컨테이너 삭제", + "销毁容器失败": "컨테이너 삭제 실패", + "错误": "오류", + "错误代码(可选)": "오류 코드 (선택 사항)", + "错误消息(必填)": "오류 메시지 (필수)", + "错误类型(可选)": "오류 유형 (선택 사항)", + "错误详情": "오류 세부 정보", + "键为分组名称,值为另一个 JSON 对象,键为分组名称,值为该分组的用户的特殊分组倍率,例如:{\"vip\": {\"default\": 0.5, \"test\": 1}},表示 vip 分组的用户在使用default分组的令牌时倍率为0.5,使用test分组时倍率为1": "키는 그룹 이름이고 값은 다른 JSON 객체입니다. 키는 그룹 이름이고 값은 비율입니다", + "键为原状态码,值为要复写的状态码,仅影响本地判断": "키는 원래 상태 코드이고 값은 재정의할 상태 코드이며 로컬 판단에만 영향을 미칩니다", + "键为用户分组名称,值为操作映射对象。内层键以\"+:\"开头表示添加指定分组(键值为分组名称,值为描述),以\"-:\"开头表示移除指定分组(键值为分组名称),不带前缀的键直接添加该分组。例如:{\"vip\": {\"+:premium\": \"高级分组\", \"special\": \"特殊分组\", \"-:default\": \"默认分组\"}},表示 vip 分组的用户可以使用 premium 和 special 分组,同时移除 default 分组的访问权限": "키는 사용자 그룹 이름이고 값은 작업 매핑입니다. \"+:\"로 시작하는 내부 키는 허용된 작업이고 \"-:\"는 거부된 작업입니다.", + "键为端点类型,值为路径和方法对象": "키는 엔드포인트 유형이고 값은 경로 및 메서드 객체입니다", + "键为请求中的模型名称,值为要替换的模型名称": "키는 요청의 모델 이름이고 값은 교체할 모델 이름입니다", + "键名": "키 이름", + "镜像仓库密码": "이미지 레지스트리 비밀번호", + "镜像仓库用户名": "이미지 레지스트리 사용자 이름", + "镜像仓库配置": "이미지 레지스트리 설정", + "镜像地址": "이미지 주소", + "镜像选择": "이미지 선택", + "镜像配置": "이미지 설정", + "问题标题": "질문 제목", + "队列中": "대기열에 있음", + "附加条件": "추가 조건", + "降低您账户的安全性": "계정 보안 감소", + "降级": "강등", + "限制周期": "제한 기간", + "限制周期统一使用上方配置的“限制周期”值。": "제한 기간은 위에서 설정한 \"제한 기간\" 값을 통합하여 사용합니다.", + "限流": "속도 제한", + "限购": "제한", + "隐私政策": "개인정보 처리방침", + "隐私政策已更新": "개인정보 처리방침 업데이트되었습니다", + "隐私政策更新失败": "개인정보 처리방침 업데이트 실패", + "隐私设置": "개인정보 설정", + "隐藏操作项": "작업 숨기기", + "隐藏调试": "디버깅 닫기", + "随机": "무작위", + "随机模式": "무작위 모드", + "随机种子 (留空为随机)": "시드 값 (공백 시 무작위)", + "零一万物": "Yi", + "需要安全验证": "보안 인증 필요", + "需要添加的额度(支持负数)": "추가할 할당량 (음수 지원)", + "需要登录访问": "로그인 필요", + "需要配置的项目": "설정할 항목", + "需要重新完整设置才能再次启用": "다시 활성화하려면 다시 설정해야 합니다", + "非必要,不建议启用模型限制": "필요하지 않음, 모델 제한은 권장되지 않음", + "非流": "비스트리밍", + "音乐预览": "음악 미리보기", + "音频倍率(仅部分模型支持该计费)": "오디오 비율 (일부 모델에서만 청구 지원)", + "音频提示 {{input}} tokens / 1M tokens * {{symbol}}{{audioInputPrice}} + 音频补全 {{completion}} tokens / 1M tokens * {{symbol}}{{audioCompPrice}} = {{symbol}}{{total}}": "오디오 프롬프트 {{input}} 토큰 / 1M 토큰 * {{symbol}}{{audioInputPrice}} + 오디오 완성 {{completion}} 토큰 / 1M 토큰 * {{symbol}}{{audioCompPrice}} = {{symbol}}{{total}}", + "音频提示价格:{{symbol}}{{price}} * {{audioRatio}} = {{symbol}}{{total}} / 1M tokens (音频倍率: {{audioRatio}})": "오디오 프롬프트 가격: {{symbol}}{{price}} * {{audioRatio}} = {{symbol}}{{total}} / 1M 토큰", + "音频无法播放": "오디오를 재생할 수 없습니다", + "音频补全价格:{{symbol}}{{price}} * {{audioRatio}} * {{audioCompRatio}} = {{symbol}}{{total}} / 1M tokens (音频补全倍率: {{audioCompRatio}})": "오디오 완성 가격: {{symbol}}{{price}} * {{audioRatio}} * {{audioCompRatio}} = {{symbol}}{{total}} / 1M 토큰", + "音频补全倍率(仅部分模型支持该计费)": "오디오 완성 비율 (일부 모델에서만 이 청구 방식 지원)", + "音频输入相关的倍率设置,键为模型名称,值为倍率": "오디오 입력 관련 비율 설정, 키는 모델 이름, 값은 비율", + "音频输出补全相关的倍率设置,键为模型名称,值为倍率": "오디오 출력 완성 관련 비율 설정, 키는 모델 이름, 값은 비율", + "页脚": "푸터", + "页面未找到,请检查您的浏览器地址是否正确": "페이지를 찾을 수 없습니다. 브라우저 주소가 올바른지 확인하세요", + "顶栏管理": "헤더 관리", + "项": "항목", + "项目": "프로젝트", + "项目内容": "프로젝트 콘텐츠", + "项目操作按钮组": "프로젝트 작업 버튼 그룹", + "预估总费用": "예상 총 비용", + "预估费用仅供参考,实际费用可能略有差异": "예상 비용은 참고용이며 실제 비용은 약간 다를 수 있습니다", + "预填组管理": "사전 채워진 그룹", + "预扣": "사전 차감", + "预览失败": "미리보기 실패", + "预览更新": "미리보기 업데이트", + "预览模板": "템플릿 미리보기", + "预览请求体": "요청 본문 미리보기", + "预计结束": "예상 종료", + "预设模板": "프리셋 템플릿", + "预警阈值必须为正数": "경고 임계값은 양수여야 합니다", + "频率惩罚,减少重复词汇的出现": "빈도 페널티, 반복 어휘 감소", + "频率限制的周期(分钟)": "속도 제한 기간 (분)", + "颜色": "색상", + "额度": "할당량", + "额度充值": "할당량 충전", + "额度必须大于0": "할당량은 0보다 커야 합니다", + "额度提醒阈值": "할당량 알림 임계값", + "额度查询接口返回令牌额度而非用户额度": "사용자 할당량 대신 토큰 할당량 표시", + "额度设置": "할당량 설정", + "额度重置": "할당량 초기화", + "额度预警阈值": "할당량 경고 임계값", + "首尾生视频": "머리-꼬리 생성 비디오", + "首页": "홈", + "首页内容": "홈페이지 콘텐츠", + "验证": "인증", + "验证 Passkey": "패스키 확인", + "验证失败,请重试": "인증 실패, 다시 시도하세요", + "验证成功": "인증 성공", + "验证数据库连接状态": "데이터베이스 연결 상태 확인", + "验证码": "인증 코드", + "验证码发送成功,请检查邮箱!": "인증 코드가 성공적으로 전송되었습니다. 이메일을 확인하세요!", + "验证码发送成功,请检查你的邮箱!": "인증 코드가 성공적으로 전송되었습니다. 이메일을 확인하세요!", + "发送验证码失败,请重试": "인증 코드 전송 실패, 다시 시도하세요", + "验证设置": "설정 확인", + "验证身份": "신원 확인", + "验证配置错误": "인증 설정 오류", + "高危操作确认": "고위험 작업 확인", + "高危状态码重试风险告知与免责声明Markdown": "### ⚠️ 고위험 작업: 504/524 재시도 위험 공지 및 면책 조항. 기본적으로 이 시스템은 504 게이트웨이 시간 초과 및 524 시간 초과 오류를 재시도하지 않습니다.", + "高危状态码重试风险确认输入文本": "중복 청구 및 충돌 위험을 이해하며 활성화를 확인합니다.", + "高危状态码重试风险确认项1": "위험을 완전히 읽고 이해했으며 작업의 파괴적인 결과를 완전히 이해했습니다", + "高危状态码重试风险确认项2": "업스트림 제공자와 소통했으며 시간 초과 문제가 인프라 버그임을 확인했습니다", + "高危状态码重试风险确认项3": "모든 중복/다중 청구 위험을 자발적으로 수락하며 이에 대한 문제나 불만을 제기하지 않겠습니다.", + "高危状态码重试风险确认项4": "심각한 클라이언트 시간 초과 및 가능한 서비스 중단을 포함한 시스템 안정성 위험을 자발적으로 수락합니다.", + "高危状态码重试风险输入不匹配提示": "입력이 필요한 텍스트와 일치하지 않습니다", + "高危状态码重试风险输入框占位文案": "위의 정확한 텍스트를 입력하세요", + "高级": "고급", + "高级文本编辑": "고급 텍스트 편집", + "高级设置": "고급 설정", + "高级选项": "고급 옵션", + "高级配置": "고급 설정", + "黑名单": "블랙리스트", + "默认": "기본값", + "默认 API 版本": "기본 API 버전", + "默认 Responses API 版本,为空则使用上方版本": "기본 Responses API 버전, 비어있으면 위의 버전을 사용합니다", + "默认 TTL(秒)": "기본 TTL (초)", + "默认为 5m 缓存创建倍率;1h 缓存创建倍率按固定乘法自动计算(当前为 1.6x)": "기본적으로 5분 캐시 생성 비율을 사용합니다. 1시간 캐시 생성 비율은 고정 곱셈으로 계산됩니다", + "默认使用系统名称": "기본적으로 시스템 이름 사용", + "默认助手消息": "기본 어시스턴트 메시지", + "默认区域": "기본 지역", + "默认区域,如: us-central1": "기본 지역, 예: us-central1", + "默认折叠侧边栏": "기본 사이드바 접기", + "默认测试模型": "기본 테스트 모델", + "默认用户消息": "기본 사용자 메시지", + "默认补全倍率": "기본 완성 비율", + "当前没有可用的启用令牌,请确认是否有令牌处于启用状态!": "사용 가능한 활성화된 토큰이 없습니다. 활성화된 토큰이 있는지 확인하세요!", + "错误:": "오류: ", + "错误:请求次数过多,请稍后再试!": "오류: 요청 횟수가 너무 많습니다. 잠시 후 다시 시도하세요!", + "错误:服务器内部错误,请联系管理员!": "오류: 서버 내부 오류입니다. 관리자에게 문의하세요!", + "本站仅作演示之用,无服务端!": "이 사이트는 데모용이며 서버가 없습니다!", + "无数据": "데이터 없습니다", + "异常": "오류", + "有异常": "오류 있음", + "正常": "정상", + "高延迟": "높은 지연", + "维护中": "유지보수 중", + "Temperature": "온도", + "Top P": "핵 샘플링", + "Frequency Penalty": "빈도 페널티", + "Presence Penalty": "존재 페널티", + "Max Tokens": "최대 토큰", + "Seed": "시드", + "提示词": "프롬프트", + "提示词(英文)": "프롬프트(영문)", + "管理员未启用 Passkey 登录": "관리자가 Passkey 로그인을 활성화하지 않았습니다", + "登录失败,请重试": "로그인 실패, 다시 시도하세요", + "请输入用户名和密码!": "사용자 이름과 비밀번호를 입력하세요!", + "当前环境无法使用 Passkey 登录": "현재 환경에서는 Passkey 로그인을 사용할 수 없습니다", + "当前浏览器不支持 Passkey": "현재 브라우저는 Passkey를 지원하지 않습니다", + "无法发起 Passkey 登录": "Passkey 로그인을 시작할 수 없습니다", + "Passkey 验证失败,请重试": "Passkey 인증 실패, 다시 시도하세요", + "Passkey 登录失败,请重试": "Passkey 로그인 실패, 다시 시도하세요", + "已取消 Passkey 登录": "Passkey 로그인이 취소되었습니다", + "今天": "오늘", + "近 7 天": "최근 7일", + "本周": "이번 주", + "近 30 天": "최근 30일", + "本月": "이번 달", + "开始设置两步验证": "2단계 인증 설정 시작", + "您正在使用默认密码!": "기본 비밀번호를 사용하고 있습니다!", + "请立刻修改默认密码!": "지금 바로 기본 비밀번호를 변경하세요!", + "旧配置迁移完成": "이전 설정 마이그레이션 완료", + "迁移失败": "마이그레이션 실패", + "Logo 已更新": "로고가 업데이트되었습니다", + "Logo 更新失败": "로고 업데이트 실패", + "OAuth 登录失败": "OAuth 로그인 실패", + "管理员用户名": "관리자 이름", + "加载首页内容失败...": "콘텐츠 로드 실패...", + "Failed to load status": "상태 로드 실패", + "接收上游模型更新通知": "업스트림 모델 업데이트 알림 받기", + "仅管理员可用。开启后,当系统定时检测全部渠道发现上游模型变更或检测异常时,将按你选择的通知方式发送汇总通知;渠道或模型过多时会自动省略部分明细。": "관리자 전용. 활성화하면 시스템이 정기적으로 모든 채널을 검사하여 업스트림 모델 변경 또는 이상을 발견할 때 선택한 알림 방식으로 요약 알림을 보냅니다. 채널이나 모델이 너무 많으면 일부 세부 정보가 자동으로 생략됩니다.", + "ko": "한국어", + "Stripe 密钥、Webhook 等设置请点击此处进行设置,最好先在测试环境进行测试。": "Stripe 키, Webhook 등의 설정은 여기를 클릭하여 설정하세요. 테스트 환경에서 먼저 테스트하는 것이 좋습니다.", + "Stripe 密钥、Webhook 等设置请": "Stripe 키, Webhook 등의 설정은", + "进行设置,最好先在": "설정하려면 여기를 클릭하고, 먼저", + "测试环境": "테스트 환경", + "进行测试。": "에서 테스트하세요.", + "Webhook 填": "Webhook 입력", + "需要包含事件:checkout.session.completed 和 checkout.session.expired": "포함해야 할 이벤트: checkout.session.completed 및 checkout.session.expired", + "需要包含事件": "포함해야 할 이벤트", + "Webhook 填:网站地址/api/stripe/webhook": "Webhook 입력: 웹사이트 주소/api/stripe/webhook", + "price_xxx 的商品价格 ID,新建产品后可获得": "price_xxx 상품 가격 ID, 신규 상품 생성 후 취득 가능", + "计费方式": "청구 방식", + "价格摘要": "가격 요약", + "当前模型存在未显式设置输入倍率的扩展倍率;填写输入价格后会自动换算为价格字段。": "현재 모델에 입력 비율이 명시적으로 설정되지 않은 확장 비율이 있습니다. 입력 가격을 입력하면 가격 필드로 자동 변환됩니다.", + "这个界面默认按价格填写,保存时会自动换算回后端需要的倍率 JSON。": "이 인터페이스는 기본적으로 가격으로 입력되며, 저장 시 서버에 필요한 비율 JSON으로 자동 변환됩니다.", + "基础价格": "기본 가격", + "补全价格": "완성 가격", + "当前未启用,需要时再打开即可。": "현재 비활성화되어 있습니다. 필요할 때 활성화하세요.", + "缓存读取价格": "캐시 읽기 가격", + "缓存创建价格": "캐시 생성 가격", + "扩展价格": "확장 가격", + "这些价格都是可选项,不填也可以。": "이 가격들은 모두 선택 사항이며, 입력하지 않아도 됩니다.", + "图片输入价格": "이미지 입력 가격", + "音频输入价格": "오디오 입력 가격", + "音频补全价格": "오디오 완성 가격", + "请先开启并填写音频输入价格。": "먼저 오디오 입력 가격을 활성화하고 입력하세요.", + "保存预览": "저장 미리보기", + "下面展示这个模型保存后会写入哪些后端字段,便于和原始 JSON 编辑框保持一致。": "아래는 이 모델이 저장된 후 작성될 서버 필드를 보여주며, 원본 JSON 편집 상자와 일치하도록 합니다.", + "ModelRatio": "모델 비율", + "CompletionRatio": "완성 비율", + "CacheRatio": "캐시 비율", + "CreateCacheRatio": "캐시 생성 비율", + "ImageRatio": "이미지 비율", + "AudioRatio": "오디오 비율", + "AudioCompletionRatio": "오디오 완성 비율", + "空": "비어있음", + "分组相关设置": "그룹 관련 설정", + "未设置价格模型": "가격 미설정 모델", + "未设置价格": "가격 미설정", + "此页面仅显示未设置价格或基础倍率的模型,设置后会自动从列表中移出": "이 페이지는 가격 또는 기본 비율이 설정되지 않은 모델만 표시합니다. 설정 후 목록에서 자동으로 제거됩니다.", + "批量应用当前模型价格": "현재 모델 가격 일괄 적용", + "保存分组相关设置": "그룹 관련 설정 저장", + "例如:https://workername.yourdomain.workers.dev": "예: https://workername.yourdomain.workers.dev", + "允许注册的最低信任等级": "등록 허용 최소 신뢰 등급", + "首页内容已更新": "홈페이지 내용이 업데이트되었습니다", + "首页内容更新失败": "홈페이지 내용 업데이트에 실패했습니다", + "关于内容已更新": "소개 내용이 업데이트되었습니다", + "关于内容更新失败": "소개 내용 업데이트에 실패했습니다", + "页脚内容已更新": "푸터 내용이 업데이트되었습니다", + "页脚内容更新失败": "푸터 내용 업데이트에 실패했습니다", + "已是最新版本:{{version}}": "이미 최신 버전입니다: {{version}}", + "检查更新失败,请稍后再试": "업데이트 확인에 실패했습니다. 나중에 다시 시도하세요.", + "当前提示": "현재 힌트", + "输入 $/1M tokens": "입력 $/1M tokens", + "请先新增模型或从左侧列表选择一个模型": "먼저 모델을 추가하거나 왼쪽 목록에서 모델을 선택하세요", + "备用码必须是8位": "백업 코드는 8자리여야 합니다", + "验证码必须是6位数字": "인증 코드는 6자리 숫자여야 합니다", + "请输入8位备用码": "8자리 백업 코드를 입력하세요", + "请输入6位验证码": "6자리 인증 코드를 입력하세요", + "请输入认证器应用显示的验证码完成登录": "인증기 앱에 표시된 인증 코드를 입력하여 로그인을 완료하세요", + "验证并登录": "인증 및 로그인", + "使用备用码": "백업 코드 사용", + "使用认证器验证码": "인증기 코드 사용", + "验证码每30秒更新一次": "인증 코드는 30초마다 업데이됩니다, 백업 코드를 사용하세요", + "如果无法获取验证码,请使用备用码": "인증 코드를 얻을 수 없는 경우 백업 코드를 사용하세요", + "每个备用码只能使用一次": "백업 코드는 한 번만 사용할 수 있습니다", + "提示:": "팁:" + } +} diff --git a/web/src/pages/Setting/Operation/SettingsChannelAffinity.jsx b/web/src/pages/Setting/Operation/SettingsChannelAffinity.jsx index dcc8686f3b31..6cdc76a17165 100644 --- a/web/src/pages/Setting/Operation/SettingsChannelAffinity.jsx +++ b/web/src/pages/Setting/Operation/SettingsChannelAffinity.jsx @@ -364,6 +364,8 @@ export default function SettingsChannelAffinity(props) { {t('将删除所有仍在内存中的渠道亲和性缓存条目。')} ), + okText: t('确认'), + cancelText: t('取消'), onOk: async () => { const res = await API.delete('/api/option/channel_affinity_cache', { params: { all: true }, @@ -395,6 +397,8 @@ export default function SettingsChannelAffinity(props) { {t('规则')}: {name} ), + okText: t('确认'), + cancelText: t('取消'), onOk: async () => { const res = await API.delete('/api/option/channel_affinity_cache', { params: { rule_name: name }, @@ -483,6 +487,8 @@ export default function SettingsChannelAffinity(props) { {t('将追加 2 条规则到现有规则列表。')} ), + okText: t('确认'), + cancelText: t('取消'), onOk: doAppend, }); };