1826 lines
87 KiB
JSON
1826 lines
87 KiB
JSON
{
|
|
"common": {
|
|
"you": "나",
|
|
"confirm": "확인",
|
|
"cancel": "취소",
|
|
"loading": "로딩 중..."
|
|
},
|
|
"home": {
|
|
"slogan": "멀티 에이전트 인터랙티브 교실에서 펼치는 생성형 학습"
|
|
},
|
|
"toolbar": {
|
|
"pdfParser": "파서",
|
|
"pdfUpload": "PDF 업로드",
|
|
"removePdf": "파일 제거",
|
|
"documentExtractor": "추출기",
|
|
"courseMaterialUpload": "강의 자료 업로드",
|
|
"courseMaterialsSelected": "강의 자료 {{n}}개 선택됨",
|
|
"courseMaterialMergeOrder": "강의 자료는 아래 표시된 순서대로 병합됩니다.",
|
|
"removeCourseMaterial": "파일 제거",
|
|
"webSearchOn": "사용 중",
|
|
"webSearchOff": "클릭하여 사용",
|
|
"webSearchDesc": "생성 전 최신 정보를 웹에서 검색합니다",
|
|
"webSearchProvider": "검색 엔진",
|
|
"webSearchNoProvider": "설정에서 검색 API 키를 구성하세요",
|
|
"selectProvider": "제공업체 선택",
|
|
"configureProvider": "모델 설정",
|
|
"configureProviderHint": "강좌를 생성하려면 모델 제공업체를 하나 이상 설정하세요",
|
|
"enterClassroom": "교실 입장",
|
|
"advancedSettings": "고급 설정",
|
|
"thinking": "추론",
|
|
"thinkingBudget": "예산",
|
|
"default": "기본",
|
|
"on": "켜기",
|
|
"off": "끄기",
|
|
"auto": "자동",
|
|
"dynamic": "동적",
|
|
"ttsTitle": "텍스트 음성 변환",
|
|
"ttsHint": "AI 선생님의 음성을 선택하세요",
|
|
"ttsPreview": "미리 듣기",
|
|
"ttsPreviewing": "재생 중...",
|
|
"interactiveModeHint": "체험 중심 콘텐츠를 위해 인터랙티브 우선 모드를 사용하세요",
|
|
"interactiveModeLabel": "인터랙티브 모드"
|
|
},
|
|
"export": {
|
|
"pptx": "PPTX 내보내기",
|
|
"resourcePack": "리소스 팩 내보내기",
|
|
"resourcePackDesc": "PPTX + 인터랙티브 페이지",
|
|
"exporting": "내보내는 중...",
|
|
"exportSuccess": "내보내기 완료",
|
|
"exportFailed": "내보내기 실패",
|
|
"classroomZip": "교실 ZIP 내보내기",
|
|
"classroomZipDesc": "강좌 구조 + 미디어 파일",
|
|
"inlinePartial": "{{count}}개의 외부 에셋을 번들에 포함할 수 없어 오프라인에서 강좌가 올바르게 표시되지 않을 수 있습니다.",
|
|
"video": "동영상 내보내기",
|
|
"videoDesc": "독립형 Hyperframes 프로젝트(MP4로 렌더링 가능)",
|
|
"videoNoScenes": "내보낼 장면이 없습니다.",
|
|
"videoCompiling": "동영상 타임라인 컴파일 중...",
|
|
"videoRendering": "슬라이드 렌더링 및 에셋 수집 중...",
|
|
"videoPackaging": "동영상 프로젝트 패키징 중...",
|
|
"videoSuccess": "동영상 프로젝트를 내보냈습니다",
|
|
"videoFailed": "동영상 내보내기 실패",
|
|
"videoWarnings": "{{assets}}개의 에셋이 누락되었고 내보내기 보고서에 {{diagnostics}}개의 문제가 있습니다.",
|
|
"videoMp4Success": "동영상이 렌더링되었습니다",
|
|
"videoServiceUnavailable": "렌더 서비스가 구성되지 않았습니다 — 로컬 렌더링용 프로젝트 ZIP을 다운로드했습니다.",
|
|
"videoResolution": "해상도",
|
|
"videoFps": "프레임 속도",
|
|
"videoQuality": "품질",
|
|
"videoQuality_draft": "초안",
|
|
"videoQuality_standard": "표준",
|
|
"videoQuality_high": "고품질",
|
|
"videoProgress": "{{percent}}%",
|
|
"videoProgressWithEta": "{{percent}}% · 약 {{remaining}} 남음",
|
|
"videoEtaMinSec": "{{min}}분 {{sec}}초",
|
|
"videoEtaSec": "{{sec}}초",
|
|
"videoRenderMp4": "MP4 렌더링",
|
|
"videoDownloadZip": "프로젝트 ZIP 다운로드",
|
|
"videoServiceHint": "MP4 렌더링에는 렌더 서비스가 필요합니다. ZIP을 다운로드하여 로컬에서 렌더링하세요.",
|
|
"videoBurnSubtitles": "자막 굽기",
|
|
"videoBurnSubtitlesDesc": "끄면 자막 없는 깨끗한 영상을 내보내고, 자막 파일은 편집 프로그램에서 추가합니다.",
|
|
"videoQuizCtaPrompt": "인터랙티브 퀴즈를 직접 체험해 보세요",
|
|
"videoPblCtaPrompt": "프로젝트 기반 학습을 직접 체험해 보세요",
|
|
"videoCtaVisit": "방문",
|
|
"videoDownloadSubtitles": "자막 다운로드 (.srt)",
|
|
"subtitlesCompiling": "자막 생성 중…",
|
|
"subtitlesSuccess": "자막을 다운로드했습니다",
|
|
"subtitlesEmpty": "자막으로 만들 내레이션이 없습니다",
|
|
"subtitlesFailed": "자막 다운로드 실패",
|
|
"noSlides": "내보낼 슬라이드가 없습니다",
|
|
"noSlidesSkipped": "이 코스에 슬라이드가 없어 PPTX를 건너뛰었습니다",
|
|
"nothingToExport": "내보낼 항목이 없습니다"
|
|
},
|
|
"import": {
|
|
"classroom": "교실 가져오기",
|
|
"pptx": "PPTX 가져오기",
|
|
"parsing": "ZIP 파싱 중...",
|
|
"parsingPptx": "PPTX 파싱 중...",
|
|
"validating": "데이터 검증 중...",
|
|
"writingMedia": "미디어 파일 저장 중...",
|
|
"writingCourse": "강좌 데이터 저장 중...",
|
|
"success": "교실을 성공적으로 가져왔습니다",
|
|
"pptxSuccess": "PPTX 파싱 완료 (슬라이드 {{count}}개, 결과는 콘솔에서 확인)",
|
|
"error": {
|
|
"invalidZip": "유효하지 않은 파일입니다. 올바른 .maic.zip 파일을 선택하세요.",
|
|
"invalidPptx": "PPTX 파싱에 실패했습니다. 파일이 유효한지 확인하세요.",
|
|
"parserUnavailable": "PPTX 가져오기를 사용할 수 없습니다: 파서 번들이 배포되지 않았습니다. install/sync를 다시 실행하세요.",
|
|
"invalidManifest": "유효하지 않은 교실 파일: manifest.json이 없거나 손상되었습니다.",
|
|
"missingData": "유효하지 않은 교실 파일: 필수 강좌 데이터가 없습니다.",
|
|
"storageFull": "가져오기 실패: 브라우저 저장 공간이 가득 찼습니다. 오래된 교실을 삭제해 보세요."
|
|
}
|
|
},
|
|
"chat": {
|
|
"lecture": "강의",
|
|
"noConversations": "대화 없음",
|
|
"startConversation": "아래에 메시지를 입력하여 채팅을 시작하세요",
|
|
"noMessages": "아직 메시지가 없습니다",
|
|
"ended": "종료됨",
|
|
"unknown": "알 수 없음",
|
|
"stopDiscussion": "토론 중단",
|
|
"endQA": "Q&A 종료",
|
|
"softClosing": "토론 계속하기",
|
|
"error": {
|
|
"emptyAgentResponses": "에이전트가 빈 응답을 반환하여 토론이 중단되었습니다. 다시 시도하거나 모델 설정을 확인하세요.",
|
|
"streamInterrupted": "스트림이 예기치 않게 종료되어 토론이 완료되지 않았습니다. 다시 시도해 주세요."
|
|
},
|
|
"tabs": {
|
|
"lecture": "노트",
|
|
"chat": "채팅"
|
|
},
|
|
"lectureNotes": {
|
|
"empty": "강의 재생 후 여기에 노트가 표시됩니다",
|
|
"emptyHint": "재생 버튼을 눌러 강의를 시작하세요",
|
|
"pageLabel": "{{n}}페이지",
|
|
"currentPage": "현재",
|
|
"jumpToLine": "Jump to this line",
|
|
"jumpUnavailable": "Jump unavailable for this line"
|
|
},
|
|
"badge": {
|
|
"qa": "Q&A",
|
|
"discussion": "토론",
|
|
"lecture": "강의"
|
|
}
|
|
},
|
|
"actions": {
|
|
"names": {
|
|
"spotlight": "스포트라이트",
|
|
"laser": "레이저",
|
|
"wb_open": "화이트보드 열기",
|
|
"wb_draw_text": "화이트보드 텍스트",
|
|
"wb_draw_shape": "화이트보드 도형",
|
|
"wb_draw_chart": "화이트보드 차트",
|
|
"wb_draw_latex": "화이트보드 수식",
|
|
"wb_draw_table": "화이트보드 표",
|
|
"wb_draw_line": "화이트보드 선",
|
|
"wb_clear": "화이트보드 지우기",
|
|
"wb_delete": "요소 삭제",
|
|
"wb_close": "화이트보드 닫기",
|
|
"discussion": "토론"
|
|
},
|
|
"status": {
|
|
"inputStreaming": "대기 중",
|
|
"inputAvailable": "실행 중",
|
|
"outputAvailable": "완료",
|
|
"outputError": "오류",
|
|
"outputDenied": "거부됨",
|
|
"running": "실행 중",
|
|
"result": "완료",
|
|
"error": "오류"
|
|
}
|
|
},
|
|
"agentBar": {
|
|
"readyToLearn": "함께 학습할 준비가 되셨나요?",
|
|
"expandedTitle": "교실 역할 설정",
|
|
"configTooltip": "클릭하여 교실 역할을 설정하세요",
|
|
"voiceLabel": "음성",
|
|
"voiceLoading": "로딩 중...",
|
|
"voiceAutoAssign": "음성이 자동으로 배정됩니다",
|
|
"searchVoice": "음성 검색",
|
|
"noMatchingVoices": "일치하는 음성 없음",
|
|
"noVoice": "음성 없음"
|
|
},
|
|
"proactiveCard": {
|
|
"discussion": "토론",
|
|
"join": "참여",
|
|
"skip": "건너뛰기",
|
|
"pause": "일시정지",
|
|
"resume": "재개"
|
|
},
|
|
"voice": {
|
|
"startListening": "음성 입력",
|
|
"stopListening": "녹음 중단"
|
|
},
|
|
"stage": {
|
|
"currentScene": "현재 장면",
|
|
"generating": "생성 중...",
|
|
"paused": "일시정지됨",
|
|
"generationFailed": "생성 실패",
|
|
"confirmSwitchTitle": "장면 전환",
|
|
"confirmSwitchMessage": "현재 진행 중인 주제가 있습니다. 장면을 전환하면 현재 주제가 종료됩니다. 계속하시겠습니까?",
|
|
"generatingNextPage": "장면을 생성 중입니다. 잠시 기다려 주세요...",
|
|
"courseComplete": "강좌 완료",
|
|
"fullscreen": "전체화면",
|
|
"exitFullscreen": "전체화면 종료",
|
|
"editCourse": "강좌 편집",
|
|
"doneEditing": "편집 완료",
|
|
"proModeDisabledHint": "이 페이지에서는 편집할 수 없습니다 — 코스 슬라이드를 열면 Pro 모드로 편집할 수 있습니다."
|
|
},
|
|
"edit": {
|
|
"proMode": "프로 모드",
|
|
"undo": "실행 취소",
|
|
"redo": "다시 실행",
|
|
"delete": "삭제",
|
|
"title": "편집 중 · {{type}}",
|
|
"unsupportedScene": "{{type}}은(는) 아직 편집할 수 없습니다",
|
|
"readOnlyBadge": "{{type}} · 보기 전용",
|
|
"sceneType": {
|
|
"slide": "슬라이드",
|
|
"quiz": "퀴즈",
|
|
"interactive": "인터랙티브",
|
|
"pbl": "PBL"
|
|
},
|
|
"multiTab": {
|
|
"conflict": {
|
|
"title": "다른 탭에서 이 강좌를 편집 중입니다",
|
|
"body": "충돌 방지를 위해 편집은 하나의 탭에서만 가능합니다. 다른 탭을 닫거나(또는 세션이 만료될 때까지 기다린 후) 여기서 편집 모드로 진입하세요.",
|
|
"actionDismiss": "확인했습니다"
|
|
}
|
|
},
|
|
"text": {
|
|
"toolbar": "텍스트 도구 모음",
|
|
"label": "텍스트",
|
|
"font": "글꼴",
|
|
"fontDefault": "기본",
|
|
"sizeUp": "크기 늘리기",
|
|
"sizeDown": "크기 줄이기",
|
|
"fontSize": "글꼴 크기",
|
|
"bold": "굵게",
|
|
"italic": "기울임꼴",
|
|
"underline": "밑줄",
|
|
"color": "텍스트 색상",
|
|
"alignLeft": "왼쪽 정렬",
|
|
"alignCenter": "가운데 정렬",
|
|
"alignRight": "오른쪽 정렬",
|
|
"bullet": "글머리 기호 목록",
|
|
"colorHex": "색상 코드"
|
|
},
|
|
"line": {
|
|
"toolbar": "선 도구 모음",
|
|
"kind": "선 유형",
|
|
"color": "선 색상",
|
|
"width": "선 두께",
|
|
"style": "선 스타일",
|
|
"start": "시작점 스타일",
|
|
"end": "끝점 스타일",
|
|
"straight": "직선",
|
|
"broken": "꺾은선",
|
|
"broken2": "이중 꺾은선",
|
|
"curve": "곡선",
|
|
"cubic": "3차 곡선",
|
|
"solid": "실선",
|
|
"dashed": "파선",
|
|
"dotted": "점선",
|
|
"none": "없음",
|
|
"arrow": "화살표",
|
|
"dot": "점"
|
|
},
|
|
"insert": {
|
|
"toolbar": "삽입 도구 모음",
|
|
"textBox": "텍스트 상자",
|
|
"line": "선",
|
|
"linePresets": {
|
|
"straight": "직선",
|
|
"dashed": "점선",
|
|
"arrow": "화살표 선",
|
|
"dashedArrow": "점선 화살표",
|
|
"dottedEnd": "끝점 원 선",
|
|
"broken": "꺾은선",
|
|
"doubleBroken": "이중 꺾은선",
|
|
"curve": "곡선",
|
|
"cubic": "3차 곡선"
|
|
},
|
|
"table": "표",
|
|
"formula": "수식",
|
|
"chart": "차트",
|
|
"chartBar": "막대 차트",
|
|
"chartLine": "꺾은선 차트",
|
|
"chartPie": "원형 차트",
|
|
"tableDimensions": "{{rows}} x {{columns}} 표",
|
|
"dragToolbar": "삽입 도구 이동",
|
|
"dragToolbarKeyboard": "삽입 도구 이동: Enter 또는 Space를 누른 다음 방향키로 이동",
|
|
"image": "이미지",
|
|
"imageDrop": "이미지를 끌어다 놓거나 클릭하여 파일을 선택하세요",
|
|
"imageOr": "또는 이미지 URL 붙여넣기",
|
|
"imageUrlPlaceholder": "https://…",
|
|
"imageInsert": "삽입",
|
|
"video": "비디오",
|
|
"videoDrop": "비디오를 끌어다 놓거나 클릭하여 파일을 선택하세요",
|
|
"videoOr": "또는 비디오 URL 붙여넣기",
|
|
"videoUrlPlaceholder": "https://…",
|
|
"videoInsert": "삽입",
|
|
"audio": "오디오",
|
|
"audioDrop": "오디오를 끌어다 놓거나 클릭하여 파일을 선택하세요",
|
|
"audioOr": "또는 오디오 URL 붙여넣기",
|
|
"audioUrlPlaceholder": "https://…",
|
|
"audioInsert": "삽입"
|
|
},
|
|
"asset": {
|
|
"drop": "파일을 끌어다 놓거나 클릭하여 선택",
|
|
"orUrl": "또는 파일 URL 붙여넣기",
|
|
"urlPlaceholder": "https://…",
|
|
"insert": "삽입",
|
|
"invalidType": "지원하지 않는 파일 형식",
|
|
"readFailed": "파일을 읽을 수 없습니다"
|
|
},
|
|
"latex": {
|
|
"toolbar": "수식 도구 모음",
|
|
"editFormula": "수식 편집",
|
|
"dialog": "수식 편집기",
|
|
"source": "LaTeX 소스",
|
|
"preview": "미리 보기",
|
|
"symbols": "기호",
|
|
"presets": "미리 정의된 수식",
|
|
"invalidSource": "LaTeX 소스가 올바르지 않습니다."
|
|
},
|
|
"video": {
|
|
"toolbar": "비디오 도구 모음",
|
|
"poster": "포스터 설정"
|
|
},
|
|
"audio": {
|
|
"toolbar": "오디오 도구 모음",
|
|
"preview": "오디오 미리 듣기",
|
|
"pause": "미리 듣기 일시 중지",
|
|
"loop": "반복 재생"
|
|
},
|
|
"table": {
|
|
"doubleClickToEdit": "두 번 클릭하여 편집"
|
|
},
|
|
"nav": {
|
|
"addSlide": "슬라이드 추가",
|
|
"duplicate": "복제",
|
|
"delete": "삭제",
|
|
"deleted": "삭제됨",
|
|
"undo": "실행 취소",
|
|
"copySuffix": "(사본)",
|
|
"untitledSlide": "제목 없는 슬라이드",
|
|
"collapse": "패널 접기",
|
|
"expand": "패널 펼치기",
|
|
"dragHandle": "드래그하여 순서 변경",
|
|
"deckLabel": "장면",
|
|
"moreActions": "더 보기",
|
|
"rename": "이름 바꾸기",
|
|
"sceneIncomplete": "이 페이지의 내용이 미완성입니다"
|
|
},
|
|
"cue": {
|
|
"speech": "내레이션",
|
|
"spotlight": "스포트라이트",
|
|
"laser": "레이저",
|
|
"whiteboardOpen": "화이트보드",
|
|
"whiteboardText": "판서",
|
|
"whiteboardShape": "도형",
|
|
"whiteboardLatex": "수식",
|
|
"whiteboardTable": "표",
|
|
"action": "동작",
|
|
"discussion": "토론"
|
|
},
|
|
"element": {
|
|
"toolbar": "요소 도구 모음",
|
|
"text": "텍스트",
|
|
"image": "이미지",
|
|
"shape": "도형",
|
|
"line": "선",
|
|
"chart": "차트",
|
|
"table": "표",
|
|
"latex": "수식",
|
|
"video": "비디오",
|
|
"audio": "오디오",
|
|
"code": "코드"
|
|
},
|
|
"agent": {
|
|
"expand": "AI 어시스턴트 펼치기",
|
|
"collapse": "접기",
|
|
"stopped": "중지됨",
|
|
"emptyTitle": "무엇을 바꿀까요?",
|
|
"emptyHint": "캔버스에서 이 슬라이드를 편집한 뒤, 내용에 맞는 내레이션을 AI가 다시 생성하도록 하세요.",
|
|
"placeholder": "이 슬라이드에 대한 변경 사항을 설명하세요…",
|
|
"stop": "생성 중지",
|
|
"empty": {
|
|
"lead": "이 페이지를 어떻게 바꿀지 알려주세요. 내용을 다시 만들고 내레이션도 맞춥니다.",
|
|
"boundary": "세부 편집은 에디터에서, 슬라이드 추가 / 삭제 / 정렬은 왼쪽 내비에서.",
|
|
"comingSoon": "더 많은 기능이 곧 추가됩니다."
|
|
},
|
|
"cap": {
|
|
"content": {
|
|
"label": "슬라이드 다시 생성",
|
|
"examples": "“핵심 3가지로” “실생활 예시 추가”"
|
|
},
|
|
"narration": {
|
|
"label": "내레이션 스크립트 다시 생성",
|
|
"examples": "“좀 더 구어체로” “편집한 내용에 맞춰”"
|
|
},
|
|
"fixHtml": {
|
|
"examples": "\"시작 버튼을 눌러도 반응이 없음\", \"모바일에서 패널이 겹침\"",
|
|
"label": "페이지 버그 수정"
|
|
},
|
|
"elements": {
|
|
"label": "요소 미세 조정",
|
|
"examples": "“제목을 파란색으로 바꾸고 위로”, “이 그림을 작게”"
|
|
}
|
|
},
|
|
"newConversation": "새 대화",
|
|
"sessionHistory": "기록",
|
|
"sessionUntitled": "제목 없는 대화",
|
|
"sessionDelete": "삭제",
|
|
"sessionEmpty": "대화 기록 없음",
|
|
"reasoning": "추론 과정",
|
|
"thought": "생각한 시간",
|
|
"interactive": {
|
|
"boundary": "페이지를 부분적으로만 수정하며, 페이지 전체를 다시 만들지 않습니다. 장면 전환은 왼쪽 내비게이션을 사용하세요.",
|
|
"emptyTitle": "이 페이지에서 무엇을 수정할까요?",
|
|
"lead": "이 인터랙티브 페이지의 버그(예: 눌러도 반응 없는 버튼)를 설명해 주세요. 해당 부분만 수정하고 나머지는 그대로 둡니다.",
|
|
"placeholder": "이 인터랙티브 페이지의 버그를 설명하세요…"
|
|
},
|
|
"thinking": "생각 중…",
|
|
"title": "AI로 편집"
|
|
},
|
|
"timeline": {
|
|
"title": "내레이션 스크립트",
|
|
"regenAllTts": "전체 음성 다시 생성",
|
|
"voiceAll": "전체 음성",
|
|
"counts": "내레이션 {{speech}}개 · 동작 {{cue}}개",
|
|
"panLeft": "왼쪽으로 이동",
|
|
"panRight": "오른쪽으로 이동",
|
|
"collapseAxis": "축으로 접기",
|
|
"expandTrack": "트랙 펼치기",
|
|
"emptyHint": "위의 동작을 축으로 끌어 시작하거나, MAIC Agent가 내레이션을 생성하도록 하세요.",
|
|
"speechPlaceholder": "이 내레이션을 입력하세요…",
|
|
"reorder": "끌어서 순서 변경",
|
|
"moveLeft": "왼쪽으로",
|
|
"moveRight": "오른쪽으로",
|
|
"pickElement": "요소 선택",
|
|
"bound": "연결됨",
|
|
"fieldAction": "동작",
|
|
"fieldElement": "요소",
|
|
"fieldContent": "내용",
|
|
"addDiscussionExists": "장면당 토론은 하나만 가능합니다",
|
|
"discussionTerminal": "끝",
|
|
"discussionTerminalHint": "토론은 장면의 끝에 고정되며 장면당 하나만 허용됩니다",
|
|
"discussionTopicPlaceholder": "토론 주제(필수)",
|
|
"discussionPromptPlaceholder": "안내 프롬프트(선택)",
|
|
"discussionAgent": "시작자",
|
|
"discussionAgentUnset": "지정 안 함",
|
|
"addAction": "동작 추가"
|
|
},
|
|
"picker": {
|
|
"title": "동작 삽입",
|
|
"speechDesc": "내레이션 말하기 (자동 음성 지원)",
|
|
"spotlightDesc": "캔버스의 요소를 강조",
|
|
"laserDesc": "레이저로 요소를 가리키기",
|
|
"discussionDesc": "질문을 던지고 발표자를 지정"
|
|
},
|
|
"tts": {
|
|
"preview": "미리듣기",
|
|
"regenerate": "음성 다시 생성",
|
|
"statusReady": "음성 있음",
|
|
"statusNone": "음성 없음",
|
|
"statusGenerating": "생성 중",
|
|
"statusError": "실패"
|
|
},
|
|
"pick": {
|
|
"pickFor": "「{{label}}」에 사용할 요소 선택",
|
|
"pickHint": "강조된 요소 또는 아래 목록을 클릭 · Esc 취소",
|
|
"pageElements": "페이지 요소 · {{count}}",
|
|
"expand": "펼치기",
|
|
"collapse": "접기",
|
|
"noElements": "이 슬라이드에는 지정할 수 있는 요소가 없습니다.",
|
|
"bindHint": "캔버스에서 강조된 요소를 클릭하여 연결"
|
|
},
|
|
"regen": {
|
|
"title": "내레이션 다시 생성",
|
|
"running": "생성 중…",
|
|
"noActions": "동작이 생성되지 않음",
|
|
"actionsCount": "동작 {{count}}개",
|
|
"generating": "생성 중",
|
|
"notGenerated": "생성 안 됨",
|
|
"updated": "업데이트됨"
|
|
},
|
|
"regenScene": {
|
|
"title": "슬라이드 다시 생성",
|
|
"generating": "생성 중",
|
|
"updated": "업데이트됨",
|
|
"notGenerated": "생성 안 됨",
|
|
"elementsCount": "요소 {{count}}개",
|
|
"restore": "이전 상태로 복원",
|
|
"restored": "복원됨",
|
|
"resume": "다시 적용"
|
|
},
|
|
"contextMenu": {
|
|
"horizontalAlignment": "가로 정렬",
|
|
"verticalAlignment": "세로 정렬",
|
|
"selectAll": "모두 선택",
|
|
"copy": "복사",
|
|
"cut": "잘라내기",
|
|
"paste": "붙여넣기",
|
|
"unlock": "잠금 해제",
|
|
"lock": "잠금",
|
|
"group": "그룹화",
|
|
"ungroup": "그룹 해제",
|
|
"bringForward": "앞으로 가져오기",
|
|
"sendBackward": "뒤로 보내기",
|
|
"alignTop": "위쪽 정렬",
|
|
"alignMiddle": "세로 가운데 정렬",
|
|
"alignBottom": "아래쪽 정렬"
|
|
},
|
|
"background": {
|
|
"image": "이미지",
|
|
"label": "배경",
|
|
"solid": "단색",
|
|
"color": "색상"
|
|
},
|
|
"image": {
|
|
"toolbar": "이미지 도구 모음",
|
|
"flipH": "좌우 반전",
|
|
"flipV": "상하 반전",
|
|
"replace": "이미지 교체",
|
|
"crop": "이미지 자르기"
|
|
},
|
|
"common": {
|
|
"cancel": "취소",
|
|
"confirm": "확인"
|
|
},
|
|
"quiz": {
|
|
"addOption": "선택지 추가",
|
|
"addQuestion": "문항 추가",
|
|
"analysisLabel": "해설",
|
|
"analysisPlaceholder": "문항이 채점된 후 표시됩니다…",
|
|
"commentPromptLabel": "채점 기준",
|
|
"commentPromptPlaceholder": "이 주관식 답안을 어떻게 채점해야 하나요?",
|
|
"deleteOption": "선택지 삭제",
|
|
"deleteQuestion": "문항 삭제",
|
|
"empty": "아직 문항이 없습니다",
|
|
"emptyHint": "“문항 추가” 버튼으로 첫 문항을 만드세요.",
|
|
"markCorrect": "정답으로 표시",
|
|
"moveDown": "아래로 이동",
|
|
"moveUp": "위로 이동",
|
|
"optionPlaceholder": "선택지 내용",
|
|
"optionsLabel": "선택지",
|
|
"pointsLabel": "배점",
|
|
"questionLabel": "문항",
|
|
"questionPlaceholder": "문항을 입력하세요…",
|
|
"reorder": "끌어서 순서 변경",
|
|
"shortAnswerGradingNote": "주관식은 아래 기준에 따라 항상 AI가 채점합니다.",
|
|
"typeLabel": "유형",
|
|
"untitledQuestion": "제목 없는 문항",
|
|
"hint": {
|
|
"emptyOption": "문항 {{n}}: 선택지 내용이 비어 있습니다",
|
|
"emptyText": "문항 {{n}}: 문항 내용을 입력하세요",
|
|
"fewOptions": "문항 {{n}}: 선택지를 두 개 이상 추가하세요",
|
|
"noCorrect": "문항 {{n}}: 정답을 표시하세요"
|
|
},
|
|
"type": {
|
|
"multiple": "복수 선택",
|
|
"short_answer": "주관식",
|
|
"single": "단일 선택"
|
|
}
|
|
},
|
|
"zorder": {
|
|
"toFront": "맨 앞으로 가져오기",
|
|
"toBack": "맨 뒤로 보내기"
|
|
},
|
|
"readCard": {
|
|
"title": "페이지 내용 읽기",
|
|
"reading": "읽는 중",
|
|
"done": "읽음",
|
|
"failed": "읽지 못함"
|
|
},
|
|
"fixHtml": {
|
|
"editsCount": "수정 {{count}}건",
|
|
"fixed": "수정됨",
|
|
"fixing": "수정 중",
|
|
"notFixed": "수정 안 됨",
|
|
"title": "인터랙티브 페이지 수정"
|
|
},
|
|
"editElements": {
|
|
"title": "요소 편집",
|
|
"editing": "편집 중",
|
|
"applied": "적용됨",
|
|
"notApplied": "미적용",
|
|
"applyFailed": "편집기에서 요소 편집을 적용하지 못했습니다. 변경된 내용이 없습니다.",
|
|
"applyPartiallyFailed": "하나 이상의 요소 편집을 적용하지 못했습니다. 다른 편집은 적용되었을 수 있습니다."
|
|
},
|
|
"roster": {
|
|
"title": "수업 구성원",
|
|
"count": "{{count}}명",
|
|
"editHint": "구성원을 클릭해 편집",
|
|
"personaLabel": "페르소나",
|
|
"personaPlaceholder": "역할의 성격, 수업 스타일, 과제를 설명하세요…",
|
|
"noPersona": "페르소나 없음",
|
|
"unnamed": "제목 없음",
|
|
"teacherBadge": "주강사",
|
|
"moveUp": "위로 이동",
|
|
"moveDown": "아래로 이동",
|
|
"removeFromClass": "수업에서 제거",
|
|
"aiClassmates": "AI 반 친구 · {{count}}",
|
|
"addRole": "역할 추가"
|
|
}
|
|
},
|
|
"classroomComplete": {
|
|
"title": "강좌 완료",
|
|
"trailLabels": {
|
|
"slide": "페이지",
|
|
"quiz": "퀴즈",
|
|
"interactive": "인터랙티브",
|
|
"pbl": "프로젝트"
|
|
},
|
|
"quizScoreLabel": "{{total}}문제 중 {{correct}}개 정답",
|
|
"encouragement": {
|
|
"high": "훌륭합니다 — 완벽하게 해내셨어요!",
|
|
"mid": "잘하셨어요 — 계속 이대로 나아가세요.",
|
|
"low": "좋은 시작입니다 — 복습하고 다시 도전해 보세요."
|
|
}
|
|
},
|
|
"whiteboard": {
|
|
"title": "인터랙티브 화이트보드",
|
|
"open": "화이트보드 열기",
|
|
"clear": "화이트보드 지우기",
|
|
"minimize": "화이트보드 최소화",
|
|
"ready": "화이트보드가 준비되었습니다",
|
|
"readyHint": "AI가 요소를 추가하면 여기에 표시됩니다",
|
|
"clearSuccess": "화이트보드를 성공적으로 지웠습니다",
|
|
"clearError": "화이트보드 지우기 실패: ",
|
|
"resetView": "보기 초기화",
|
|
"restoreError": "화이트보드 복원 실패: ",
|
|
"history": "기록",
|
|
"restore": "복원",
|
|
"noHistory": "아직 기록이 없습니다",
|
|
"restored": "화이트보드가 복원되었습니다",
|
|
"elementCount": "요소 {{count}}개"
|
|
},
|
|
"quiz": {
|
|
"title": "퀴즈",
|
|
"subtitle": "실력을 확인해 보세요",
|
|
"questionsCount": "문제",
|
|
"totalPrefix": "",
|
|
"pointsSuffix": "점",
|
|
"startQuiz": "퀴즈 시작",
|
|
"multipleChoiceHint": "(복수 선택 — 정답을 모두 고르세요)",
|
|
"inputPlaceholder": "여기에 답을 입력하세요...",
|
|
"charCount": "자",
|
|
"yourAnswer": "내 답변:",
|
|
"notAnswered": "미응답",
|
|
"aiComment": "AI 피드백",
|
|
"singleChoice": "단일 선택",
|
|
"multipleChoice": "복수 선택",
|
|
"shortAnswer": "단답형",
|
|
"analysis": "분석: ",
|
|
"excellent": "훌륭해요!",
|
|
"keepGoing": "계속 해보세요!",
|
|
"needsReview": "복습이 필요해요",
|
|
"correct": "정답",
|
|
"incorrect": "오답",
|
|
"answering": "진행 중",
|
|
"submitAnswers": "답변 제출",
|
|
"aiGrading": "AI가 채점 중...",
|
|
"aiGradingWait": "잠시만 기다려주세요, 답변을 분석하고 있어요",
|
|
"quizReport": "퀴즈 결과",
|
|
"retry": "다시 풀기"
|
|
},
|
|
"roundtable": {
|
|
"teacher": "선생님",
|
|
"you": "나",
|
|
"inputPlaceholder": "메시지를 입력하세요...",
|
|
"listening": "듣는 중...",
|
|
"processing": "처리 중...",
|
|
"noSpeechDetected": "음성이 감지되지 않았습니다. 다시 시도해주세요",
|
|
"discussionEnded": "토론이 종료되었습니다",
|
|
"qaEnded": "Q&A가 종료되었습니다",
|
|
"softClosing": "토론 계속하기",
|
|
"thinking": "생각 중",
|
|
"yourTurn": "내 차례",
|
|
"stopDiscussion": "토론 중단",
|
|
"autoPlay": "자동 재생",
|
|
"autoPlayOff": "자동 재생 끄기",
|
|
"speed": "속도",
|
|
"previousLine": "Previous line",
|
|
"nextLine": "Next line",
|
|
"lineProgress": "Line {{current}} / {{total}}",
|
|
"voiceInput": "음성 입력",
|
|
"voiceInputDisabled": "음성 입력 비활성화됨",
|
|
"textInput": "텍스트 입력",
|
|
"stopRecording": "녹음 중지",
|
|
"startRecording": "녹음 시작"
|
|
},
|
|
"pbl": {
|
|
"emptyProject": "PBL 프로젝트가 아직 생성되지 않았습니다. 강좌 생성을 통해 만들어주세요.",
|
|
"v2": {
|
|
"hero": {
|
|
"title": "Project-Based Learning",
|
|
"stage": "Stages",
|
|
"task": "Tasks",
|
|
"tutor": "Tutor",
|
|
"greetingBanner": "Your tutor is saying hello…",
|
|
"startProject": "Start Project",
|
|
"continueProject": "Continue Project",
|
|
"resetProgress": "Reset learning progress",
|
|
"resetConfirmTitle": "Reset learning progress?",
|
|
"resetConfirmDescription": "This clears all progress for this project — chat history, submissions, and stage status — and you'll start over from the beginning. This can't be undone.",
|
|
"resetConfirmConfirm": "Reset",
|
|
"resetConfirmCancel": "Cancel",
|
|
"startHint": "Click to enter the workspace. {{name}} will guide you through each stage.",
|
|
"startError": "Unable to start: {{error}}",
|
|
"youWillLearn": "What you'll gain",
|
|
"instructorTagline": "Guides you through the whole project",
|
|
"scenarioCharacter": "Role-play character",
|
|
"scenarioCharacterTagline": "The character you'll interact with in the scenario",
|
|
"scenarioFlow": "Flow",
|
|
"close": "Close"
|
|
},
|
|
"sidebar": {
|
|
"title": "Project Roadmap",
|
|
"summary": "{{completed}} / {{total}} tasks · {{stages}} stages",
|
|
"enterScenario": "Enter the scene",
|
|
"advanceScene": "Advance the scene",
|
|
"continueScene": "Next stage",
|
|
"stagePrep": "Prep",
|
|
"stageRoleplay": "Simulation",
|
|
"stageWrapup": "Debrief",
|
|
"completeAct": "Finish this act",
|
|
"completeTask": "Done"
|
|
},
|
|
"workspace": {
|
|
"progressLabel": "Progress",
|
|
"resizeSidebar": "Resize sidebar and chat",
|
|
"resizeSubmission": "Resize chat and submission panel",
|
|
"enterFullscreen": "Expand to fullscreen workspace",
|
|
"exitFullscreen": "Exit fullscreen workspace",
|
|
"exitNativeFullscreen": "Exit fullscreen",
|
|
"returnToHero": "Back to project overview",
|
|
"breadcrumbOverview": "Overview",
|
|
"breadcrumbCurrent": "Workspace"
|
|
},
|
|
"chat": {
|
|
"placeholder": "Chat with {{name}} about your progress...",
|
|
"placeholderCompleted": "Project complete. Check out your report.",
|
|
"send": "Send",
|
|
"voiceInput": "Voice input",
|
|
"keyboardHint": "Enter to send · Shift+Enter for newline",
|
|
"readingSubmission": "Reading submission…",
|
|
"generatingMilestoneFeedback": "Generating milestone feedback…",
|
|
"generatingFinalEval": "Generating final evaluation…",
|
|
"readingSubmissionWithTitle": "Reading latest submission for \"{{title}}\"…",
|
|
"evaluatingTask": "{{name}} · Reviewing task",
|
|
"evaluatingFinal": "{{name}} · Final evaluation",
|
|
"narrating": "Setting the scene…",
|
|
"choosePrompt": "Pick an option",
|
|
"choiceOrType": "Pick one, or type your own…",
|
|
"suggestionsToggle": "Need ideas? See some ways to respond",
|
|
"guidancePointer": "Stuck? Check this act's goal and tips in the panel on the right.",
|
|
"roleplayHistoryTitle": "Role-play history",
|
|
"coachHint": "Coach tip",
|
|
"thinking": "{{name}} · Thinking",
|
|
"typing": "{{name}} · Typing…",
|
|
"submitted": "Work submitted",
|
|
"evaluatingSubmission": "Evaluating your submission…",
|
|
"evaluatingSubmissionDetail": "Task: \"{{title}}\". Feedback on this submission will appear here once evaluation is complete.",
|
|
"milestoneFeedbackPending": "The milestone feedback will appear once ready.",
|
|
"emptyChat": "No messages yet.",
|
|
"emptyChatHint": "Your project walkthrough with {{name}} will start here.",
|
|
"continueError": "Unable to continue: {{error}}",
|
|
"stillTyping": "Still typing",
|
|
"handoverHint": "Click \"Continue to Next Stage\" to keep going."
|
|
},
|
|
"scene": {
|
|
"expand": "Expand",
|
|
"collapse": "Collapse",
|
|
"greetHint": "Tap to say hi",
|
|
"label": "The scene"
|
|
},
|
|
"milestoneCard": {
|
|
"title": "Milestone Review",
|
|
"youLearned": "What you learned",
|
|
"nextStage": "Next stage:",
|
|
"continueHint": "Click Continue to enter the next stage.",
|
|
"alreadyEntered": "Next stage entered",
|
|
"continueToNext": "Continue to Next Stage",
|
|
"projectAlmostDone": "🎉 Project almost done — awaiting completion report"
|
|
},
|
|
"taskEvalCard": {
|
|
"title": "Submission Feedback",
|
|
"strengths": "What went well",
|
|
"improvements": "Next steps"
|
|
},
|
|
"briefing": {
|
|
"intro": "The premise introduced during prep — kept here so you can revisit it anytime in the scene.",
|
|
"tablistLabel": "Right panel tabs",
|
|
"submissionTab": "Submit",
|
|
"briefingTab": "Briefing",
|
|
"setting": "Setting",
|
|
"learnerRole": "Your role",
|
|
"goal": "Goal",
|
|
"rules": "Rules",
|
|
"cast": "Cast",
|
|
"identity": "Identity",
|
|
"situation": "Situation"
|
|
},
|
|
"submission": {
|
|
"textSubmission": "Text submission",
|
|
"fileTooLarge": "File exceeds 5 MB limit. Try splitting or compressing.",
|
|
"contentRequired": "Content cannot be empty",
|
|
"readFileFailed": "Failed to read file: {{error}}",
|
|
"parsingPdf": "Parsing PDF…",
|
|
"parsePdfFailed": "Failed to parse PDF: {{error}}",
|
|
"pdfNoText": "No extractable text found in this PDF.",
|
|
"imageUploadFailed": "Failed to upload image: {{error}}",
|
|
"imageTooLargeNoStorage": "Image too large to attach without storage configured (max 2 MB locally).",
|
|
"imageNeedsCaptionNoVision": "The current model can't read images. Add a text description of the image before submitting, or switch to a vision-capable model in Settings.",
|
|
"unsupportedFileType": "Unsupported file type. Only text files (.txt, .md, .csv, .json, .py, …) and PDF are accepted.",
|
|
"pasteTab": "Paste text / image",
|
|
"uploadTab": "Upload file",
|
|
"pastePlaceholder": "Paste your code, document, answer — or an image / screenshot — here…",
|
|
"uploadPlaceholder": "Uploaded content will appear here. Edit before submitting…",
|
|
"imageCaptionPlaceholder": "Add an optional caption for this image…",
|
|
"imageSelectedReplace": "Image selected · click to replace",
|
|
"removeImage": "Remove image",
|
|
"processing": "Processing…",
|
|
"cancelProcessingConfirm": "A file is still being processed. Cancel and discard this upload?",
|
|
"currentTask": "Current Task",
|
|
"hints": "Hints",
|
|
"submitOutput": "Submit",
|
|
"evaluating": "Evaluating submission…",
|
|
"lockedWhileStreaming": "The instructor is replying — please wait before submitting.",
|
|
"evalFailed": "Evaluation failed: {{error}}",
|
|
"submittedCount": "{{count}} submitted",
|
|
"submissionHistory": "Submission History",
|
|
"fromTask": "Task: {{title}}",
|
|
"download": "Download",
|
|
"viewSubmission": "View submission",
|
|
"noActiveTask": "No active task.",
|
|
"canceling": "Cancel",
|
|
"submitting": "Submitting…",
|
|
"selectFileHint": "Choose a file · Max 5 MB · Text, PDF or image",
|
|
"modalTitle": "Submit your work",
|
|
"modalTaskLabel": "Task: {{title}}",
|
|
"fileRead": "Read: {{filename}} · {{size}} KB",
|
|
"submittedBadge": "Submitted ({{count}})",
|
|
"receiptFile": "File: {{filename}}",
|
|
"receiptTemplate": "Submitted work for this task ({{label}})."
|
|
},
|
|
"agentTabs": {
|
|
"noAgent": "No AI agent configured for this project."
|
|
},
|
|
"completion": {
|
|
"noWhatsNext": "The final evaluation hasn't been written yet.",
|
|
"backToWorkspace": "Back to Workspace",
|
|
"completionCta": "View Report",
|
|
"title": "Completion Report",
|
|
"whatYouBuilt": "What you built",
|
|
"whatYouLearned": "What you learned",
|
|
"whatsNext": "What's next",
|
|
"noDataFallback": "Not yet written",
|
|
"stageReview": "Stage Reviews",
|
|
"summary": "You completed {{completed}} of {{total}} tasks across {{stages}} stages.",
|
|
"statConcepts": "Concepts mastered",
|
|
"statTurns": "Messages exchanged",
|
|
"statScope": "Stages · Tasks",
|
|
"statDuration": "Time spent",
|
|
"statSubmissions": "Work submitted",
|
|
"coreStageBadge": "Core",
|
|
"conceptsInStageLabel": "Concepts:",
|
|
"submissionsInStage": "Submitted {{count}} piece(s) of work",
|
|
"coreConceptGrasp": "Core concept \"{{concept}}\" — {{quality}}",
|
|
"stageNoData": "No recorded output in this stage.",
|
|
"scenario": {
|
|
"summary": "You completed all {{acts}} acts of this scenario. Here's how the role-play went.",
|
|
"whatYouDidWell": "What you did well",
|
|
"skillsPracticed": "Skills you practised",
|
|
"statGoals": "Goals met",
|
|
"statActs": "Acts completed",
|
|
"goalReviewTitle": "Act-by-act review",
|
|
"goalReviewHint": "This scenario set a few key goals for each act. Here's a look back at how your conversation actually went — you met {{achieved}} of {{total}} this time.",
|
|
"goalListTitle": "What each act asked of you",
|
|
"goalListHint": "This scenario set a few key goals for each act. Here's a look back at what each act asked you to do.",
|
|
"goalAchieved": "achieved",
|
|
"goalPartial": "partly done",
|
|
"goalMissed": "not done",
|
|
"statGoodDecisions": "Strong choices",
|
|
"statScore": "Decision score",
|
|
"statBeats": "Acts completed",
|
|
"decisionReviewTitle": "Decision review",
|
|
"good": "strong",
|
|
"ok": "okay",
|
|
"poor": "to improve",
|
|
"decisionScore": "Decision score {{score}}",
|
|
"castLabel": "You interacted with: {{names}}"
|
|
},
|
|
"highlightsTitle": "Highlights",
|
|
"highlight": {
|
|
"independence": "You demonstrated {{unlocks}}/{{total}} concepts on your own — no prompting needed. Solid understanding.",
|
|
"resilience": "In \"{{title}}\" you overcame {{errors}} errors, tackling each one — real grit.",
|
|
"resilienceGeneral": "You overcame {{errors}} errors, tackling each one — real grit.",
|
|
"completion": "You completed every task. Steady progress all the way through."
|
|
},
|
|
"synthesisQuality": {
|
|
"strong": "Strong understanding ✅",
|
|
"ok": "Good grasp 👍",
|
|
"weak": "Room to grow 💪"
|
|
},
|
|
"durationMinutes": "{{m}} min",
|
|
"durationHours": "{{h}} hr",
|
|
"durationHoursMinutes": "{{h}} hr {{m}} min"
|
|
},
|
|
"completionCard": {
|
|
"title": "Project Complete · Completion",
|
|
"subtitle": "Congratulations! You finished the entire project.",
|
|
"description": "Based on your performance data (time spent, conversations, error recovery, concepts unlocked…), we have generated a completion report showing what you built, what you learned, and where to go next."
|
|
}
|
|
}
|
|
},
|
|
"share": {
|
|
"notReady": "생성이 완료된 후 이용 가능합니다"
|
|
},
|
|
"classroom": {
|
|
"recentClassrooms": "최근",
|
|
"today": "오늘",
|
|
"yesterday": "어제",
|
|
"daysAgo": "일 전",
|
|
"slides": "슬라이드",
|
|
"nameCopied": "이름이 복사되었습니다",
|
|
"deleteConfirmTitle": "삭제 확인",
|
|
"delete": "삭제",
|
|
"rename": "이름 변경",
|
|
"renamePlaceholder": "교실 이름을 입력하세요",
|
|
"renameFailed": "교실 이름 변경에 실패했습니다",
|
|
"searchPlaceholder": "강좌 검색...",
|
|
"searchAriaLabel": "강좌 검색",
|
|
"clearSearch": "지우기",
|
|
"searchEmpty": "검색 결과에 해당하는 강좌가 없습니다",
|
|
"newFolderTitle": "새 폴더",
|
|
"newFolderDesc": "주제별로 강의를 정리하여 접근성을 높입니다.",
|
|
"newFolderInline": "새 폴더",
|
|
"folderNameLabel": "폴더 이름",
|
|
"folderNamePlaceholder": "예: 수학, 영어, 전공 과목",
|
|
"folderNameHint": "전각/반각 모두 가능. 공백도 포함됩니다.",
|
|
"folderNameExists": "같은 이름의 폴더가 이미 있습니다.",
|
|
"folderCountLimit": "폴더 수 한도에 도달했습니다.",
|
|
"folderWidth": "너비 {{width}}/{{max}}",
|
|
"folderCreate": "만들기",
|
|
"folderBadge": "폴더",
|
|
"folderCourseCountUnit": "개 강의",
|
|
"deleteFolderTitle": "폴더 \"{{name}}\" 삭제",
|
|
"deleteFolderEmptyDesc": "이 폴더는 비어 있습니다. 삭제 후 복구할 수 없습니다.",
|
|
"deleteFolderUngroupDesc": "강의는 «내 강의»에 유지되며, 미분류로 변경됩니다.",
|
|
"moveToFolder": "폴더로 이동",
|
|
"moveToFolderLabel": "폴더로 이동",
|
|
"ungrouped": "미분류",
|
|
"searchResults": "검색 결과",
|
|
"folderCreateFailed": "폴더 만들기에 실패했습니다",
|
|
"folderRenameFailed": "폴더 이름 변경에 실패했습니다",
|
|
"folderDeleteFailed": "폴더 삭제에 실패했습니다",
|
|
"moveFailed": "강의 이동에 실패했습니다",
|
|
"emptyFolderHint": "이 폴더가 비어 있습니다",
|
|
"emptyLibraryHint": "아직 강의가 없습니다. 위에서 만들거나 강의를 가져오세요.",
|
|
"folderNameEmpty": "폴더 이름은 비워둘 수 없습니다",
|
|
"deleteFolderOnly": "폴더만 삭제",
|
|
"deleteFolderAndCourses": "폴더와 강의 {{count}}개 삭제",
|
|
"deleteFolderConfirmRemove": "폴더와 강의(채팅 기록 포함)가 삭제됩니다.",
|
|
"deleteFolderAndCourses_other": "폴더와 강의 {{count}}개 삭제"
|
|
},
|
|
"upload": {
|
|
"pdfSizeLimit": "최대 50MB PDF 파일을 지원합니다",
|
|
"courseMaterialSizeLimit": "문서, 슬라이드, 스프레드시트, 이미지, 텍스트 — 최대 50MB (지원 형식은 선택한 파서에 따라 다름)",
|
|
"generateFailed": "교실 생성에 실패했습니다. 다시 시도해주세요",
|
|
"requirementPlaceholder": "학습하고 싶은 내용을 자유롭게 입력하세요, 예:\n\"파이썬을 30분 만에 처음부터 가르쳐주세요\"\n\"칠판에 푸리에 변환을 설명해주세요\"\n\"보드게임 Avalon 하는 방법\"",
|
|
"requirementRequired": "강좌 요구사항을 입력해주세요",
|
|
"fileTooLarge": "파일이 너무 큽니다. 50MB 미만의 파일을 선택해주세요",
|
|
"courseMaterialCountLimit": "강의 자료 파일은 최대 5개까지 업로드할 수 있습니다",
|
|
"courseMaterialTotalSizeLimit": "강의 자료 전체 크기는 150MB 미만이어야 합니다",
|
|
"unsupportedCourseMaterial": "현재 파서가 이 형식을 지원하지 않습니다. 파서를 변경하거나 다른 파일을 선택하세요."
|
|
},
|
|
"generation": {
|
|
"modeLabel": "생성 모드",
|
|
"normalMode": "일반 생성",
|
|
"largeMode": "대형 작업",
|
|
"pdfLoadFailed": "PDF 파일 불러오기에 실패했습니다. 다시 시도해주세요",
|
|
"pdfParseFailed": "PDF 파싱에 실패했습니다",
|
|
"analyzingCourseMaterial": "문서 분석 중",
|
|
"analyzingCourseMaterialDesc": "문서 구조와 내용을 추출하고 있어요...",
|
|
"courseMaterialLoadFailed": "강의 자료를 불러오지 못했습니다. 다시 시도해주세요",
|
|
"courseMaterialParseFailed": "강의 자료 파싱에 실패했습니다",
|
|
"streamNotReadable": "생성 스트림을 읽을 수 없습니다",
|
|
"generatingOutlines": "강좌 개요 작성 중",
|
|
"generatingOutlinesDesc": "학습 경로를 구성하고 있어요...",
|
|
"generatingSlideContent": "페이지 내용 생성 중",
|
|
"generatingSlideContentDesc": "슬라이드, 퀴즈, 인터랙티브 콘텐츠를 만들고 있어요...",
|
|
"generatingActions": "수업 액션 생성 중",
|
|
"generatingActionsDesc": "내레이션, 하이라이트, 인터랙션을 구성하고 있어요...",
|
|
"generationComplete": "생성 완료!",
|
|
"generationFailed": "생성에 실패했습니다",
|
|
"speechFailed": "음성 생성에 실패했습니다",
|
|
"retryScene": "다시 시도",
|
|
"retryingScene": "재생성 중...",
|
|
"backToHome": "홈으로 돌아가기",
|
|
"sessionNotFound": "세션을 찾을 수 없습니다",
|
|
"sessionNotFoundDesc": "생성 프로세스를 시작하려면 강좌 요구사항을 입력해주세요.",
|
|
"goBackAndRetry": "돌아가서 다시 시도",
|
|
"classroomReady": "맞춤형 AI 학습 환경이 성공적으로 생성되었습니다.",
|
|
"aiWorking": "AI 에이전트 작동 중...",
|
|
"textTruncated": "문서 텍스트가 길어 처음 {{n}}자만 사용하여 생성합니다",
|
|
"imageTruncated": "{{total}}개의 이미지가 발견되었으나 {{max}}개 제한을 초과했습니다. 초과 이미지는 텍스트 설명으로 대체됩니다",
|
|
"agentRevealTitle": "교실 역할 소개",
|
|
"viewAgents": "역할 보기",
|
|
"continue": "계속",
|
|
"outlineRetrying": "개요 생성에 문제가 발생하여 재시도 중...",
|
|
"outlineEmptyResponse": "모델이 유효한 개요를 반환하지 않았습니다. 모델 설정을 확인하고 다시 시도해주세요",
|
|
"outlineGenerateFailed": "개요 생성에 실패했습니다. 잠시 후 다시 시도해주세요",
|
|
"sceneGenerateFailed": "장면 생성에 실패했습니다. 잠시 후 다시 시도해주세요",
|
|
"sceneGenerateAuthFailed": "모델 제공자가 현재 인증 정보를 거부해 장면 생성에 실패했습니다. 모델 설정을 확인해주세요.",
|
|
"sceneGenerateRateLimited": "장면 생성 요청이 속도 제한에 걸렸습니다. 잠시 후 다시 시도해주세요.",
|
|
"sceneGenerateProviderUnavailable": "모델 제공자를 일시적으로 사용할 수 없습니다. 잠시 후 다시 시도해주세요.",
|
|
"sceneGenerateInvalidResponse": "모델이 유효한 장면 콘텐츠를 반환하지 않았습니다. 다른 모델을 사용하거나 강좌 요구사항을 조정해주세요.",
|
|
"reviewOutlineTitle": "개요 검토",
|
|
"reviewOutlineDesc": "내용 생성 전에 장면을 편집, 순서 변경, 삭제 또는 추가할 수 있습니다.",
|
|
"reviewOutlineAutoContinue": "개요를 검토하지 않으면 생성이 자동으로 계속됩니다.",
|
|
"outlineEditorTitle": "장면 개요",
|
|
"outlineEditorSummary": "총 {{count}}개 장면. 생성 시작 전에 편집, 추가, 삭제 또는 순서 변경이 가능합니다.",
|
|
"addFirstScene": "첫 번째 장면 추가",
|
|
"noOutlines": "아직 장면 개요가 없습니다",
|
|
"sceneTitlePlaceholder": "장면 제목",
|
|
"sceneTypeSlide": "슬라이드",
|
|
"sceneTypeQuiz": "퀴즈",
|
|
"sceneTypeInteractive": "인터랙티브",
|
|
"sceneTypePbl": "PBL",
|
|
"sceneDescriptionPlaceholder": "이 장면의 목적과 내용을 간략히 설명하세요",
|
|
"quizQuestionCount": "문제 수",
|
|
"quizDifficulty": "난이도",
|
|
"quizType": "문제 유형",
|
|
"quizDifficultyEasy": "쉬움",
|
|
"quizDifficultyMedium": "보통",
|
|
"quizDifficultyHard": "어려움",
|
|
"quizTypeSingle": "단일 선택",
|
|
"quizTypeMultiple": "복수 선택",
|
|
"quizTypeText": "단답형",
|
|
"alwaysReviewOutlines": "생성 전 항상 개요 검토",
|
|
"outlineEditorEyebrow": "AI 생성 개요",
|
|
"outlineEditorStreamingProgress": "스트리밍 중 · {{count}}개 장면 준비됨",
|
|
"outlineEditorStreamingWaiting": "첫 번째 장면을 기다리는 중…",
|
|
"outlineEditorWaitingConfirm": "개요를 기다리는 중…",
|
|
"outlineExpandHint": "탭하여 검토",
|
|
"reviewOutlineStreamingDesc": "개요가 아직 스트리밍 중입니다. 완료되면 편집할 수 있습니다.",
|
|
"addKeyPoint": "핵심 포인트 추가",
|
|
"removeKeyPoint": "핵심 포인트 삭제",
|
|
"insertSceneHere": "여기에 장면 삽입",
|
|
"deleteSceneConfirm": "이 장면을 삭제할까요?",
|
|
"deleteSceneConfirmDesc": "이 장면과 핵심 포인트가 개요에서 삭제됩니다.",
|
|
"deleteSceneConfirmAction": "삭제",
|
|
"collapseEditor": "접기",
|
|
"quizConfigSummary": "{{count}}문제",
|
|
"interactiveWidgetKind": "위젯 종류",
|
|
"widgetSimulation": "시뮬레이션",
|
|
"widgetDiagram": "다이어그램",
|
|
"widgetCode": "코드",
|
|
"widgetGame": "게임",
|
|
"widgetVisualization3d": "3D",
|
|
"interactiveConcept": "개념",
|
|
"interactiveConceptPlaceholder": "탐구할 개념",
|
|
"pblConfigSummary": "프로젝트",
|
|
"pblSubtype": "PBL 유형",
|
|
"pblSubtypeProject": "프로젝트",
|
|
"pblSubtypeScenario": "상황 시뮬레이션",
|
|
"pblProjectTopic": "프로젝트 주제",
|
|
"pblProjectTopicPlaceholder": "프로젝트 주제",
|
|
"pblProjectDescription": "설명",
|
|
"pblProjectDescriptionPlaceholder": "학생이 만들 결과물",
|
|
"pblScenarioBrief": "상황 개요",
|
|
"pblScenarioBriefPlaceholder": "상황, 인물, 연습 목표",
|
|
"pblTargetSkills": "목표 역량",
|
|
"pblAddSkill": "역량 추가",
|
|
"widgetProceduralSkill": "절차 기술",
|
|
"removeSkill": "역량 제거",
|
|
"dragSceneHint": "드래그하여 순서 변경, 또는 포커스 후 Ctrl/⌘ + ↑ / ↓ 키 사용",
|
|
"deleteScene": "장면 삭제",
|
|
"backToRequirements": "요구사항으로 돌아가기",
|
|
"confirmAndGenerateCourse": "확인 및 강좌 생성",
|
|
"generatingInProgress": "생성 중...",
|
|
"webSearching": "웹 검색",
|
|
"webSearchingDesc": "최신 정보를 웹에서 검색하고 있어요",
|
|
"webSearchFailed": "웹 검색에 실패했습니다",
|
|
"outlinesReadyCount": "{{ready}} / {{total}}개 섹션 준비됨",
|
|
"jumpToBlankTitle": "제목이 필요한 섹션으로 이동",
|
|
"analyzingMediaMaterial": "오디오/비디오 분석 중"
|
|
},
|
|
"settings": {
|
|
"title": "설정",
|
|
"description": "앱 설정 구성",
|
|
"language": "언어",
|
|
"languageDesc": "인터페이스 언어 선택",
|
|
"theme": "테마",
|
|
"themeDesc": "테마 모드 선택 (라이트/다크/시스템)",
|
|
"themeOptions": {
|
|
"light": "라이트",
|
|
"dark": "다크",
|
|
"system": "시스템"
|
|
},
|
|
"apiKey": "API 키",
|
|
"apiKeyDesc": "API 키를 설정하세요",
|
|
"apiBaseUrl": "API 엔드포인트 URL",
|
|
"apiBaseUrlDesc": "API 엔드포인트 URL을 설정하세요",
|
|
"apiKeyRequired": "API 키는 비워둘 수 없습니다",
|
|
"model": "모델 설정",
|
|
"modelDesc": "AI 모델을 설정하세요",
|
|
"modelPlaceholder": "모델 이름을 입력하거나 선택하세요",
|
|
"ttsModel": "TTS 모델",
|
|
"ttsModelDesc": "TTS 모델을 설정하세요",
|
|
"ttsModelPlaceholder": "TTS 모델 이름을 입력하거나 선택하세요",
|
|
"ttsModelOptions": {
|
|
"openaiTts": "OpenAI TTS",
|
|
"azureTts": "Azure TTS"
|
|
},
|
|
"availableModels": "사용 가능한 모델",
|
|
"modelSelectedViaVoice": "모델은 음성 선택으로 결정됩니다",
|
|
"testConnection": "연결 테스트",
|
|
"testConnectionDesc": "현재 API 설정이 사용 가능한지 테스트합니다",
|
|
"testing": "테스트 중...",
|
|
"agentSettings": "에이전트 설정",
|
|
"agentSettingsDesc": "대화에 참여할 에이전트를 선택하세요. 1개 선택 시 단일 에이전트 모드, 여러 개 선택 시 멀티 에이전트 협업 모드로 동작합니다.",
|
|
"agentMode": "에이전트 모드",
|
|
"agentModePreset": "프리셋",
|
|
"agentModeAuto": "자동 생성",
|
|
"agentModeAutoDesc": "AI가 적절한 역할을 자동으로 생성합니다",
|
|
"autoAgentCount": "에이전트 수",
|
|
"autoAgentCountDesc": "자동 생성할 에이전트 수 (선생님 포함)",
|
|
"atLeastOneAgent": "에이전트를 최소 1개 이상 선택하세요",
|
|
"singleAgentMode": "단일 에이전트 모드",
|
|
"directAnswer": "직접 답변",
|
|
"multiAgentMode": "멀티 에이전트 모드",
|
|
"agentsCollaborating": "협업 토론",
|
|
"agentsCollaboratingCount": "{{count}}개 에이전트가 협업 토론에 참여 중입니다",
|
|
"priority": "우선순위",
|
|
"actions": "액션",
|
|
"actionCount": "{{count}}개 액션",
|
|
"selectedAgent": "선택된 에이전트",
|
|
"selectedAgents": "선택된 에이전트",
|
|
"required": "필수",
|
|
"agentNames": {
|
|
"default-1": "AI 선생님",
|
|
"default-2": "AI 보조 선생님",
|
|
"default-3": "분위기 메이커",
|
|
"default-4": "호기심 왕",
|
|
"default-5": "노트 필기왕",
|
|
"default-6": "깊은 생각가"
|
|
},
|
|
"agentRoles": {
|
|
"teacher": "선생님",
|
|
"assistant": "보조 선생님",
|
|
"student": "학생"
|
|
},
|
|
"agentDescriptions": {
|
|
"default-1": "명확하고 체계적인 설명으로 수업을 이끄는 주 선생님",
|
|
"default-2": "학습을 돕고 핵심 내용을 명확히 정리해 드립니다",
|
|
"default-3": "교실에 유머와 활기를 불어넣습니다",
|
|
"default-4": "항상 왜, 어떻게를 묻는 호기심 가득한 학생",
|
|
"default-5": "수업 내용을 성실하게 기록하고 정리합니다",
|
|
"default-6": "주제의 본질을 깊이 탐구하고 사고합니다"
|
|
},
|
|
"close": "닫기",
|
|
"save": "저장",
|
|
"providers": "LLM",
|
|
"addProviderDescription": "사용 가능한 AI 모델을 확장하기 위해 사용자 지정 모델 제공업체를 추가하세요",
|
|
"providerNames": {
|
|
"openai": "OpenAI",
|
|
"azure": "Azure OpenAI",
|
|
"anthropic": "Claude",
|
|
"google": "Gemini",
|
|
"bedrock": "Amazon Bedrock",
|
|
"deepseek": "DeepSeek",
|
|
"qwen": "Qwen",
|
|
"kimi": "Kimi",
|
|
"minimax": "MiniMax",
|
|
"glm": "GLM",
|
|
"siliconflow": "SiliconFlow",
|
|
"doubao": "Doubao",
|
|
"openrouter": "OpenRouter",
|
|
"grok": "Grok",
|
|
"tencent-hunyuan": "Tencent Hunyuan",
|
|
"xiaomi": "Xiaomi MiMo",
|
|
"lemonade": "Lemonade (로컬)",
|
|
"ollama": "Ollama (로컬)",
|
|
"tavily": "Tavily",
|
|
"bocha": "Bocha",
|
|
"brave": "Brave Search",
|
|
"baidu": "Baidu",
|
|
"claude": "Claude",
|
|
"searxng": "SearXNG"
|
|
},
|
|
"providerTypes": {
|
|
"openai": "OpenAI 프로토콜",
|
|
"azure": "Azure OpenAI",
|
|
"anthropic": "Claude 프로토콜",
|
|
"google": "Gemini 프로토콜",
|
|
"bedrock": "Amazon Bedrock"
|
|
},
|
|
"modelCount": "개 모델",
|
|
"modelSingular": "개 모델",
|
|
"defaultModel": "기본 모델",
|
|
"webSearch": "웹 검색",
|
|
"mcp": "MCP",
|
|
"knowledgeBase": "지식 베이스",
|
|
"documentParser": "문서 파서",
|
|
"conversationSettings": "대화",
|
|
"keyboardShortcuts": "단축키",
|
|
"generalSettings": "일반",
|
|
"systemSettings": "시스템",
|
|
"addProvider": "추가",
|
|
"importFromClipboard": "클립보드에서 가져오기",
|
|
"apiSecret": "API 키",
|
|
"apiHost": "기본 URL",
|
|
"azureDeploymentHint": "위에 Azure OpenAI 엔드포인트를 입력한 다음 각 Azure 배포 이름을 모델로 추가하세요.",
|
|
"baseUrlRegion": {
|
|
"china": "중국",
|
|
"international": "국제",
|
|
"xiaomiPayg": "종량제",
|
|
"xiaomiTokenPlanCN": "토큰 플랜 CN",
|
|
"xiaomiTokenPlanSGP": "토큰 플랜 SG",
|
|
"xiaomiTokenPlanEU": "토큰 플랜 EU"
|
|
},
|
|
"requestUrl": "요청 URL",
|
|
"models": "모델",
|
|
"comfyuiWorkflows": "워크플로",
|
|
"comfyuiRefresh": "새로고침",
|
|
"comfyuiNoWorkflowsFoundPrefix": "다음 위치에서 워크플로 JSON 파일을 찾을 수 없습니다:",
|
|
"comfyuiAddWorkflowPrefix": "다음 파일을 추가하여 시작하세요:",
|
|
"comfyuiAddWorkflowSuffix": "",
|
|
"comfyuiFolderHintPrefix": "워크플로 JSON 파일을",
|
|
"comfyuiFolderHintMiddle": "폴더에 넣으세요. 파일 이름이 표시 이름이 됩니다. 예:",
|
|
"comfyuiLoadError": "워크플로를 불러오지 못했습니다: {error}",
|
|
"addModel": "추가",
|
|
"reset": "초기화",
|
|
"fetch": "불러오기",
|
|
"connectionSuccess": "연결 성공",
|
|
"connectionFailed": "연결 실패",
|
|
"capabilities": {
|
|
"vision": "비전",
|
|
"tools": "도구",
|
|
"streaming": "스트리밍"
|
|
},
|
|
"contextWindow": "컨텍스트",
|
|
"contextShort": "ctx",
|
|
"outputWindow": "출력",
|
|
"addProviderButton": "추가",
|
|
"addProviderDialog": "모델 제공업체 추가",
|
|
"providerName": "이름",
|
|
"providerNamePlaceholder": "예: 나의 OpenAI 프록시",
|
|
"providerNameRequired": "제공업체 이름을 입력하세요",
|
|
"providerApiMode": "API 모드",
|
|
"apiModeOpenAI": "OpenAI 프로토콜",
|
|
"apiModeAnthropic": "Claude 프로토콜",
|
|
"apiModeGoogle": "Gemini 프로토콜",
|
|
"defaultBaseUrl": "기본 Base URL",
|
|
"providerIcon": "제공업체 아이콘 URL",
|
|
"requiresApiKey": "API 키 필요",
|
|
"deleteProvider": "제공업체 삭제",
|
|
"deleteProviderConfirm": "이 제공업체를 삭제하시겠습니까?",
|
|
"addCustomTTSProvider": "사용자 지정 TTS 제공업체 추가",
|
|
"addCustomASRProvider": "사용자 지정 ASR 제공업체 추가",
|
|
"addCustomAudioProviderDescription": "OpenAI 호환 사용자 지정 오디오 제공업체를 추가하세요",
|
|
"customVoices": "음성",
|
|
"voiceIdPlaceholder": "음성 ID (예: alloy)",
|
|
"voiceNamePlaceholder": "표시 이름",
|
|
"addVoice": "추가",
|
|
"modelNamePlaceholder": "선택 사항",
|
|
"defaultModelHint": "API 요청 시 전송되는 모델 이름 (예: kokoro, tts-1)",
|
|
"noVoicesAdded": "아직 추가된 음성이 없습니다. 에이전트별 음성 선택을 위해 아래에서 음성을 추가하세요.",
|
|
"noModelsAdded": "아직 추가된 모델이 없습니다. 모델 선택을 활성화하려면 아래에 모델을 추가하세요.",
|
|
"noModelsWarning": "이 제공업체를 사용하기 전에 아래에 최소 하나의 모델을 추가하세요.",
|
|
"asrNoTranscription": "변환된 텍스트가 없습니다. 더 크게 또는 더 길게 말씀해 보세요.",
|
|
"cannotDeleteBuiltIn": "기본 제공업체는 삭제할 수 없습니다",
|
|
"resetToDefault": "기본값으로 초기화",
|
|
"resetToDefaultDescription": "모델 목록을 기본 설정으로 복원합니다 (API 키 및 Base URL은 유지됩니다)",
|
|
"resetConfirmDescription": "이 작업은 모든 사용자 지정 모델을 제거하고 기본 내장 모델 목록을 복원합니다. API 키 및 Base URL은 유지됩니다.",
|
|
"confirmReset": "초기화 확인",
|
|
"resetSuccess": "기본 설정으로 초기화되었습니다",
|
|
"saveSuccess": "설정이 저장되었습니다",
|
|
"saveFailed": "설정 저장에 실패했습니다. 다시 시도해 주세요",
|
|
"cannotDeleteBuiltInModel": "기본 내장 모델은 삭제할 수 없습니다",
|
|
"cannotEditBuiltInModel": "기본 내장 모델은 수정할 수 없습니다",
|
|
"modelIdRequired": "모델 ID를 입력하세요",
|
|
"noModelsAvailable": "테스트할 수 있는 모델이 없습니다",
|
|
"providerMetadata": "제공업체 메타데이터",
|
|
"editModel": "모델 수정",
|
|
"editModelDescription": "모델 설정 및 기능을 수정합니다",
|
|
"addNewModel": "새 모델",
|
|
"modelsManagementDescription": "이 제공업체에서 사용 가능한 모델과 기능을 관리하세요.",
|
|
"addNewModelDescription": "새 모델 설정을 추가합니다",
|
|
"modelId": "모델 ID",
|
|
"modelIdPlaceholder": "예: gpt-4o",
|
|
"modelName": "표시 이름",
|
|
"modelCapabilities": "기능",
|
|
"advancedSettings": "고급 설정",
|
|
"contextWindowLabel": "컨텍스트 윈도우",
|
|
"contextWindowPlaceholder": "예: 128000",
|
|
"outputWindowLabel": "최대 출력 토큰",
|
|
"outputWindowPlaceholder": "예: 4096",
|
|
"testModel": "모델 테스트",
|
|
"deleteModel": "삭제",
|
|
"cancelEdit": "취소",
|
|
"saveModel": "저장",
|
|
"howToUse": "사용 방법",
|
|
"step1ConfigureProvider": "\"모델 제공업체\"로 이동하여 제공업체를 선택하거나 추가하고 연결 설정(API 키, Base URL 등)을 구성하세요",
|
|
"step2SelectModel": "아래 \"활성 모델\"에서 사용할 모델을 선택하세요",
|
|
"step3StartUsing": "저장 후 시스템이 선택한 모델을 사용합니다",
|
|
"activeModel": "활성 모델",
|
|
"activeModelDescription": "AI 대화 및 콘텐츠 생성에 사용할 모델을 선택하세요",
|
|
"searchModels": "모델 검색",
|
|
"noModelsFound": "일치하는 모델을 찾을 수 없습니다",
|
|
"noConfiguredProviders": "설정된 제공업체가 없습니다",
|
|
"configureProvidersFirst": "왼쪽 \"모델 제공업체\"에서 제공업체 연결 설정을 먼저 구성하세요",
|
|
"currentlyUsing": "현재 사용 중",
|
|
"ttsSettings": "텍스트 음성 변환",
|
|
"asrSettings": "음성 인식",
|
|
"audioSettings": "오디오 설정",
|
|
"ttsSection": "텍스트 음성 변환 (TTS)",
|
|
"asrSection": "자동 음성 인식 (ASR)",
|
|
"ttsDescription": "TTS (Text-to-Speech) - 텍스트를 음성으로 변환합니다",
|
|
"asrDescription": "ASR (Automatic Speech Recognition) - 음성을 텍스트로 변환합니다",
|
|
"enableTTS": "텍스트 음성 변환 활성화",
|
|
"ttsEnabledDescription": "활성화 시 강좌 생성 중 음성 오디오가 생성됩니다",
|
|
"ttsVoiceConfigHint": "에이전트별 음성은 홈페이지의 \"교실 역할 설정\"에서 구성할 수 있습니다",
|
|
"enableASR": "음성 인식 활성화",
|
|
"asrEnabledDescription": "활성화 시 학생이 마이크를 사용하여 음성으로 입력할 수 있습니다",
|
|
"ttsProvider": "TTS 제공업체",
|
|
"ttsLanguageFilter": "언어 필터",
|
|
"allLanguages": "모든 언어",
|
|
"ttsVoice": "음성",
|
|
"ttsSpeed": "속도",
|
|
"ttsBaseUrl": "기본 URL",
|
|
"ttsApiKey": "API 키",
|
|
"doubaoAppId": "앱 ID",
|
|
"doubaoAccessKey": "액세스 키",
|
|
"asrProvider": "ASR 제공업체",
|
|
"asrLanguage": "인식 언어",
|
|
"asrBaseUrl": "기본 URL",
|
|
"asrApiKey": "API 키",
|
|
"enterApiKey": "API 키 입력",
|
|
"enterCustomBaseUrl": "사용자 지정 Base URL 입력",
|
|
"browserNativeNote": "브라우저 기본 ASR은 별도 설정이 필요 없으며 완전히 무료입니다",
|
|
"providerOpenAITTS": "OpenAI TTS (gpt-4o-mini-tts)",
|
|
"providerAzureTTS": "Azure TTS",
|
|
"providerGLMTTS": "GLM TTS",
|
|
"providerQwenTTS": "Qwen TTS (Alibaba Cloud Bailian)",
|
|
"providerVoxCPMTTS": "VoxCPM2",
|
|
"providerDoubaoTTS": "Doubao TTS 2.0 (Volcengine)",
|
|
"providerElevenLabsTTS": "ElevenLabs TTS",
|
|
"providerMiniMaxTTS": "MiniMax TTS",
|
|
"providerLemonadeTTS": "Lemonade TTS (로컬)",
|
|
"providerBrowserNativeTTS": "브라우저 기본 TTS",
|
|
"voxcpmBackend": "백엔드",
|
|
"voxcpmBaseUrlPending": "요청 URL을 생성하려면 Base URL을 입력하세요",
|
|
"voxcpmAutoVoiceNoPreview": "자동 음성은 에이전트 컨텍스트에서 생성되며 직접 미리 듣기가 불가합니다",
|
|
"voxcpmVoicesTitle": "VoxCPM 음성",
|
|
"voxcpmVoicesDescription": "이 브라우저에 저장되어 공유 에이전트 바 음성 풀에 추가됩니다.",
|
|
"voxcpmAutoVoicePrivacyNote": "자동 음성은 에이전트 페르소나를 설정된 VoxCPM 백엔드에 음성 프롬프트로 전송합니다.",
|
|
"voxcpmPromptCount": "프롬프트 {{count}}",
|
|
"voxcpmCloneCount": "클론 {{count}}",
|
|
"voxcpmCloneUnsupported": "현재 백엔드는 클론을 지원하지 않습니다",
|
|
"voxcpmVoicePool": "음성 풀",
|
|
"voxcpmVoiceCount": "음성 {{count}}개",
|
|
"voxcpmAutoVoice": "자동 음성",
|
|
"voxcpmAutoVoiceDescription": "에이전트 페르소나를 음성 프롬프트로 사용",
|
|
"voxcpmUnavailable": "사용 불가",
|
|
"voxcpmClone": "클론",
|
|
"voxcpmCloneUnsupportedDetail": "현재 백엔드는 클론을 지원하지 않습니다",
|
|
"voxcpmNoCustomVoices": "아직 커스텀 음성이 없습니다",
|
|
"voxcpmCloneSaveOnly": "이 백엔드에만 저장됩니다",
|
|
"voxcpmVoiceNamePlaceholder": "음성 이름",
|
|
"voxcpmPromptPlaceholder": "예: 적당한 속도의 명확하고 자연스러운 선생님 목소리",
|
|
"voxcpmAddVoice": "음성 추가",
|
|
"voxcpmCloneVoiceNamePlaceholder": "클론 음성 이름",
|
|
"voxcpmUploadReferenceAudio": "참조 오디오 업로드",
|
|
"voxcpmRecord": "녹음",
|
|
"voxcpmReferenceAudioLimitHint": "참조 오디오는 10MB / 60초 이하여야 하며 저장 전 WAV로 변환됩니다.",
|
|
"voxcpmReferenceTextPlaceholder": "참조 오디오 전사본 (선택 사항)",
|
|
"voxcpmVoiceDescriptionPlaceholder": "음성 설명 (선택 사항)",
|
|
"voxcpmAddClone": "클론 추가",
|
|
"voxcpmRecordingUnsupported": "이 브라우저는 녹음을 지원하지 않습니다",
|
|
"voxcpmRecordedVoiceName": "녹음된 음성",
|
|
"voxcpmRecordingFailed": "녹음 변환에 실패했습니다",
|
|
"voxcpmRecordingStartFailed": "녹음을 시작할 수 없습니다",
|
|
"voxcpmBaseUrlRequired": "먼저 VoxCPM Base URL을 입력하세요",
|
|
"voxcpmPreviewFailed": "미리 듣기에 실패했습니다",
|
|
"voxcpmVoiceSaved": "VoxCPM 음성이 저장되었습니다",
|
|
"voxcpmVoiceSaveFailed": "음성 저장에 실패했습니다",
|
|
"voxcpmReferenceAudioInvalid": "유효하지 않은 참조 오디오입니다",
|
|
"voxcpmCloneSaved": "VoxCPM 클론 음성이 저장되었습니다",
|
|
"voxcpmCloneSaveFailed": "클론 음성 저장에 실패했습니다",
|
|
"voxcpmStopPreview": "미리 듣기 중지",
|
|
"voxcpmPreviewVoice": "음성 미리 듣기",
|
|
"voxcpmDeleteVoice": "음성 삭제",
|
|
"providerOpenAIWhisper": "OpenAI ASR (gpt-4o-mini-transcribe)",
|
|
"providerBrowserNative": "브라우저 기본 ASR",
|
|
"providerQwenASR": "Qwen ASR (Alibaba Cloud Bailian)",
|
|
"providerFunASRASR": "FunASR (로컬)",
|
|
"providerLemonadeASR": "Lemonade ASR (로컬)",
|
|
"providerAzureASR": "Azure STT",
|
|
"providerUnpdf": "unpdf (내장)",
|
|
"providerMinerU": "MinerU",
|
|
"providerMinerUCloud": "MinerU (클라우드)",
|
|
"browserNativeTTSNote": "브라우저 기본 TTS는 별도 설정 없이 완전 무료로 사용할 수 있으며, 시스템 내장 음성을 사용합니다",
|
|
"testTTS": "TTS 테스트",
|
|
"testASR": "ASR 테스트",
|
|
"testSuccess": "테스트 성공",
|
|
"testFailed": "테스트 실패",
|
|
"ttsTestText": "TTS 테스트 텍스트",
|
|
"ttsTestSuccess": "TTS 테스트 성공, 오디오가 재생되었습니다",
|
|
"ttsTestFailed": "TTS 테스트에 실패했습니다",
|
|
"asrTestSuccess": "음성 인식에 성공했습니다",
|
|
"asrTestFailed": "음성 인식에 실패했습니다",
|
|
"asrProcessing": "처리 중...",
|
|
"asrResult": "인식 결과",
|
|
"asrNotSupported": "브라우저가 Speech Recognition API를 지원하지 않습니다",
|
|
"browserTTSNotSupported": "브라우저가 Speech Synthesis API를 지원하지 않습니다",
|
|
"browserTTSNoVoices": "현재 브라우저에 사용 가능한 TTS 음성이 없습니다",
|
|
"microphoneAccessDenied": "마이크 접근이 거부되었습니다",
|
|
"microphoneAccessFailed": "마이크 접근에 실패했습니다",
|
|
"asrResultPlaceholder": "녹음 후 인식 결과가 표시됩니다",
|
|
"useThisProvider": "이 제공업체 사용",
|
|
"fetchVoices": "음성 목록 가져오기",
|
|
"fetchingVoices": "가져오는 중...",
|
|
"voicesFetched": "음성 목록을 가져왔습니다",
|
|
"fetchVoicesFailed": "음성 목록 가져오기에 실패했습니다",
|
|
"voiceApiKeyRequired": "API 키가 필요합니다",
|
|
"voiceBaseUrlRequired": "Base URL이 필요합니다",
|
|
"ttsTestTextPlaceholder": "변환할 텍스트를 입력하세요",
|
|
"ttsTestTextDefault": "안녕하세요, 테스트 음성입니다.",
|
|
"startRecording": "녹음 시작",
|
|
"stopRecording": "녹음 중지",
|
|
"recording": "녹음 중...",
|
|
"transcribing": "변환 중...",
|
|
"transcriptionResult": "변환 결과",
|
|
"noTranscriptionResult": "변환 결과가 없습니다",
|
|
"baseUrlOptional": "Base URL (선택 사항)",
|
|
"defaultValue": "기본값",
|
|
"voiceMarin": "추천 - 최고 품질",
|
|
"voiceCedar": "추천 - 최고 품질",
|
|
"voiceAlloy": "중립적, 균형 잡힌",
|
|
"voiceAsh": "안정적, 전문적",
|
|
"voiceBallad": "우아하고 서정적인",
|
|
"voiceCoral": "따뜻하고 친근한",
|
|
"voiceEcho": "남성, 명료한",
|
|
"voiceFable": "서사적, 생동감 있는",
|
|
"voiceNova": "여성, 밝은",
|
|
"voiceOnyx": "남성, 깊은",
|
|
"voiceSage": "지혜롭고 차분한",
|
|
"voiceShimmer": "여성, 부드러운",
|
|
"voiceVerse": "자연스럽고 매끄러운",
|
|
"glmVoiceTongtong": "기본 음성",
|
|
"glmVoiceChuichui": "Chuichui 음성",
|
|
"glmVoiceXiaochen": "Xiaochen 음성",
|
|
"glmVoiceJam": "Jam 음성",
|
|
"glmVoiceKazi": "Kazi 음성",
|
|
"glmVoiceDouji": "Douji 음성",
|
|
"glmVoiceLuodo": "Luodo 음성",
|
|
"qwenVoiceCherry": "밝고 따뜻하며 자연스러운",
|
|
"qwenVoiceSerena": "부드럽고 온화한",
|
|
"qwenVoiceEthan": "활기차고 생동감 있는",
|
|
"qwenVoiceChelsie": "애니메이션 버추얼 여자친구",
|
|
"qwenVoiceMomo": "장난스럽고 발랄한",
|
|
"qwenVoiceVivian": "귀엽고 톡톡 튀는",
|
|
"qwenVoiceMoon": "시원하고 멋진",
|
|
"qwenVoiceMaia": "지적이고 온화한",
|
|
"qwenVoiceKai": "귀를 위한 힐링 스파",
|
|
"qwenVoiceNofish": "권설음을 못 하는 디자이너",
|
|
"qwenVoiceBella": "취하지 않는 꼬마 아가씨",
|
|
"qwenVoiceJennifer": "브랜드급 시네마틱 미국 여성 목소리",
|
|
"qwenVoiceRyan": "빠르고 드라마틱한 퍼포먼스",
|
|
"qwenVoiceKaterina": "기억에 남는 리듬의 성숙한 여성",
|
|
"qwenVoiceAiden": "요리에 능통한 미국 소년",
|
|
"qwenVoiceEldricSage": "차분하고 지혜로운 어른",
|
|
"qwenVoiceMia": "봄물처럼 부드럽고 눈처럼 단정한",
|
|
"qwenVoiceMochi": "동심을 간직한 똑똑한 어른아이",
|
|
"qwenVoiceBellona": "우렁찬 목소리, 명확한 발음, 생생한 캐릭터",
|
|
"qwenVoiceVincent": "전쟁과 명예의 이야기를 전하는 독특한 허스키 보이스",
|
|
"qwenVoiceBunny": "초귀여운 꼬마 아가씨",
|
|
"qwenVoiceNeil": "전문 뉴스 앵커",
|
|
"qwenVoiceElias": "전문 강사",
|
|
"qwenVoiceArthur": "세월과 건초 냄새가 밴 투박한 목소리",
|
|
"qwenVoiceNini": "찹쌀떡처럼 부드럽고 찐득한 목소리",
|
|
"qwenVoiceEbona": "녹슨 열쇠 같은 속삭임",
|
|
"qwenVoiceSeren": "편안한 잠을 돕는 부드럽고 안정적인 목소리",
|
|
"qwenVoicePip": "장난꾸러기지만 동심 가득한",
|
|
"qwenVoiceStella": "달콤하고 엉뚱한 소녀 목소리",
|
|
"qwenVoiceBodega": "열정적인 스페인 아저씨",
|
|
"qwenVoiceSonrisa": "열정적인 라틴 아메리카 여성",
|
|
"qwenVoiceAlek": "전쟁의 나라 차가운 기운, 울 코트 속 따뜻한 마음",
|
|
"qwenVoiceDolce": "느긋한 이탈리아 아저씨",
|
|
"qwenVoiceSohee": "상냥하고 명랑한 한국 언니",
|
|
"qwenVoiceOnoAnna": "장난기 많은 소꿉친구",
|
|
"qwenVoiceLenn": "정장 입고 포스트펑크 듣는 이성적인 독일 청년",
|
|
"qwenVoiceEmilien": "낭만적인 프랑스 오빠",
|
|
"qwenVoiceAndre": "매력적이고 자연스러우며 차분한 남성 목소리",
|
|
"qwenVoiceRadioGol": "축구 시인 Rádio Gol!",
|
|
"qwenVoiceJada": "활발한 상하이 아가씨",
|
|
"qwenVoiceDylan": "베이징 소년",
|
|
"qwenVoiceLi": "다정한 요가 선생님",
|
|
"qwenVoiceMarcus": "넓은 얼굴, 과묵한 말투, 단단한 심지 — 옛 산시 사나이",
|
|
"qwenVoiceRoy": "유머러스하고 솔직한 대만 소년",
|
|
"qwenVoicePeter": "천진 만담 전문 진행자",
|
|
"qwenVoiceSunny": "달콤한 쓰촨 아가씨",
|
|
"qwenVoiceEric": "청두 신사",
|
|
"qwenVoiceRocky": "유머러스한 홍콩 남자",
|
|
"qwenVoiceKiki": "달콤한 홍콩 아가씨",
|
|
"lang_auto": "자동 감지",
|
|
"lang_zh": "中文",
|
|
"lang_yue": "粤語",
|
|
"lang_en": "English",
|
|
"lang_ja": "日本語",
|
|
"lang_ko": "한국어",
|
|
"lang_es": "Español",
|
|
"lang_fr": "Français",
|
|
"lang_de": "Deutsch",
|
|
"lang_ru": "Русский",
|
|
"lang_ar": "العربية",
|
|
"lang_pt": "Português",
|
|
"lang_it": "Italiano",
|
|
"lang_af": "Afrikaans",
|
|
"lang_hy": "Հայերեն",
|
|
"lang_az": "Azərbaycan",
|
|
"lang_be": "Беларуская",
|
|
"lang_bs": "Bosanski",
|
|
"lang_bg": "Български",
|
|
"lang_ca": "Català",
|
|
"lang_hr": "Hrvatski",
|
|
"lang_cs": "Čeština",
|
|
"lang_da": "Dansk",
|
|
"lang_nl": "Nederlands",
|
|
"lang_et": "Eesti",
|
|
"lang_fi": "Suomi",
|
|
"lang_gl": "Galego",
|
|
"lang_el": "Ελληνικά",
|
|
"lang_he": "עברית",
|
|
"lang_hi": "हिन्दी",
|
|
"lang_hu": "Magyar",
|
|
"lang_is": "Íslenska",
|
|
"lang_id": "Bahasa Indonesia",
|
|
"lang_kn": "ಕನ್ನಡ",
|
|
"lang_kk": "Қазақша",
|
|
"lang_lv": "Latviešu",
|
|
"lang_lt": "Lietuvių",
|
|
"lang_mk": "Македонски",
|
|
"lang_ms": "Bahasa Melayu",
|
|
"lang_mr": "मराठी",
|
|
"lang_mi": "Te Reo Māori",
|
|
"lang_ne": "नेपाली",
|
|
"lang_no": "Norsk",
|
|
"lang_fa": "فارسی",
|
|
"lang_pl": "Polski",
|
|
"lang_ro": "Română",
|
|
"lang_sr": "Српски",
|
|
"lang_sk": "Slovenčina",
|
|
"lang_sl": "Slovenščina",
|
|
"lang_sw": "Kiswahili",
|
|
"lang_sv": "Svenska",
|
|
"lang_tl": "Tagalog",
|
|
"lang_fil": "Filipino",
|
|
"lang_ta": "தமிழ்",
|
|
"lang_th": "ไทย",
|
|
"lang_tr": "Türkçe",
|
|
"lang_uk": "Українська",
|
|
"lang_ur": "اردو",
|
|
"lang_vi": "Tiếng Việt",
|
|
"lang_cy": "Cymraeg",
|
|
"lang_zh-CN": "中文(简体,中国)",
|
|
"lang_zh-TW": "中文(繁體,台灣)",
|
|
"lang_zh-HK": "粵語(香港)",
|
|
"lang_yue-Hant-HK": "粵語(繁體)",
|
|
"lang_en-US": "English (United States)",
|
|
"lang_en-GB": "English (United Kingdom)",
|
|
"lang_en-AU": "English (Australia)",
|
|
"lang_en-CA": "English (Canada)",
|
|
"lang_en-IN": "English (India)",
|
|
"lang_en-NZ": "English (New Zealand)",
|
|
"lang_en-ZA": "English (South Africa)",
|
|
"lang_ja-JP": "日本語(日本)",
|
|
"lang_ko-KR": "한국어(대한민국)",
|
|
"lang_de-DE": "Deutsch (Deutschland)",
|
|
"lang_fr-FR": "Français (France)",
|
|
"lang_es-ES": "Español (España)",
|
|
"lang_es-MX": "Español (México)",
|
|
"lang_es-AR": "Español (Argentina)",
|
|
"lang_es-CO": "Español (Colombia)",
|
|
"lang_it-IT": "Italiano (Italia)",
|
|
"lang_pt-BR": "Português (Brasil)",
|
|
"lang_pt-PT": "Português (Portugal)",
|
|
"lang_ru-RU": "Русский (Россия)",
|
|
"lang_nl-NL": "Nederlands (Nederland)",
|
|
"lang_pl-PL": "Polski (Polska)",
|
|
"lang_cs-CZ": "Čeština (Česko)",
|
|
"lang_da-DK": "Dansk (Danmark)",
|
|
"lang_fi-FI": "Suomi (Suomi)",
|
|
"lang_sv-SE": "Svenska (Sverige)",
|
|
"lang_no-NO": "Norsk (Norge)",
|
|
"lang_tr-TR": "Türkçe (Türkiye)",
|
|
"lang_el-GR": "Ελληνικά (Ελλάδα)",
|
|
"lang_hu-HU": "Magyar (Magyarország)",
|
|
"lang_ro-RO": "Română (România)",
|
|
"lang_sk-SK": "Slovenčina (Slovensko)",
|
|
"lang_bg-BG": "Български (България)",
|
|
"lang_hr-HR": "Hrvatski (Hrvatska)",
|
|
"lang_ca-ES": "Català (Espanya)",
|
|
"lang_ar-SA": "العربية (السعودية)",
|
|
"lang_ar-EG": "العربية (مصر)",
|
|
"lang_he-IL": "עברית (ישראל)",
|
|
"lang_hi-IN": "हिन्दी (भारत)",
|
|
"lang_th-TH": "ไทย (ประเทศไทย)",
|
|
"lang_vi-VN": "Tiếng Việt (Việt Nam)",
|
|
"lang_id-ID": "Bahasa Indonesia (Indonesia)",
|
|
"lang_ms-MY": "Bahasa Melayu (Malaysia)",
|
|
"lang_fil-PH": "Filipino (Pilipinas)",
|
|
"lang_af-ZA": "Afrikaans (Suid-Afrika)",
|
|
"lang_uk-UA": "Українська (Україна)",
|
|
"pdfSettings": "PDF 파싱",
|
|
"documentParsingSettings": "문서 파싱",
|
|
"supportedFormats": "지원 형식",
|
|
"mineruSelfHostFormatsNote": "PDF 및 이미지 파싱에는 MinerU 서버에 mineru[pipeline] 또는 mineru[core] 추가 종속성이 필요합니다. 경량 mineru-api 설치에서는 Office 문서만 처리할 수 있습니다.",
|
|
"pdfParsingSettings": "PDF 파싱 설정",
|
|
"pdfDescription": "텍스트 추출, 이미지 처리, 표 인식을 지원하는 PDF 파싱 엔진을 선택하세요",
|
|
"pdfProvider": "PDF 파서",
|
|
"pdfFeatures": "지원 기능",
|
|
"pdfApiKey": "API 키",
|
|
"pdfBaseUrl": "기본 URL",
|
|
"mineruDescription": "MinerU는 표 추출, 수식 인식, 레이아웃 분석 등 고급 기능을 지원하는 상용 PDF 파싱 서비스입니다.",
|
|
"mineruApiKeyRequired": "사용 전 MinerU 웹사이트에서 API 키를 신청해야 합니다.",
|
|
"mineruWarning": "주의",
|
|
"mineruCostWarning": "MinerU는 상용 서비스로 요금이 발생할 수 있습니다. MinerU 웹사이트에서 요금 정보를 확인하세요.",
|
|
"enterMinerUApiKey": "MinerU API 키 입력",
|
|
"mineruLocalDescription": "MinerU는 고급 PDF 파싱(표, 수식, 레이아웃 분석)을 지원하는 로컬 배포가 가능합니다. MinerU 서비스를 먼저 배포해야 합니다.",
|
|
"mineruServerAddress": "로컬 MinerU 서버 주소 (예: http://localhost:8080)",
|
|
"mineruApiKeyOptional": "서버에 인증이 설정된 경우에만 필요합니다",
|
|
"mineruCloudApiKeyPlaceholder": "MinerU 클라우드 API 키 입력",
|
|
"optionalApiKey": "선택적 API 키",
|
|
"featureText": "텍스트 추출",
|
|
"featureImages": "이미지 추출",
|
|
"featureTables": "표 추출",
|
|
"featureFormulas": "수식 인식",
|
|
"featureLayoutAnalysis": "레이아웃 분석",
|
|
"featureMetadata": "메타데이터",
|
|
"enableImageGeneration": "AI 이미지 생성 활성화",
|
|
"imageGenerationDisabledHint": "활성화하면 강좌 생성 시 이미지가 자동으로 생성됩니다",
|
|
"imageSettings": "이미지 생성",
|
|
"imageSection": "텍스트에서 이미지로",
|
|
"imageProvider": "이미지 생성 제공업체",
|
|
"imageModel": "이미지 생성 모델",
|
|
"providerSeedream": "Seedream (ByteDance)",
|
|
"providerOpenAIImage": "OpenAI Image",
|
|
"providerQwenImage": "Qwen Image (Alibaba)",
|
|
"providerNanoBanana": "Nano Banana (Gemini)",
|
|
"providerMiniMaxImage": "MiniMax Image",
|
|
"providerGrokImage": "Grok Image (xAI)",
|
|
"providerComfyUIImage": "ComfyUI Image",
|
|
"providerLemonadeImage": "Lemonade Image (로컬)",
|
|
"testImageGeneration": "이미지 생성 테스트",
|
|
"testImageConnectivity": "연결 테스트",
|
|
"imageConnectivitySuccess": "이미지 서비스에 성공적으로 연결되었습니다",
|
|
"imageConnectivityFailed": "이미지 서비스 연결에 실패했습니다",
|
|
"imageTestSuccess": "이미지 생성 테스트에 성공했습니다",
|
|
"imageTestFailed": "이미지 생성 테스트에 실패했습니다",
|
|
"imageTestPromptPlaceholder": "테스트할 이미지 설명을 입력하세요",
|
|
"imageTestPromptDefault": "책상 위에 앉아 있는 귀여운 고양이",
|
|
"imageGenerating": "이미지 생성 중...",
|
|
"imageGenerationFailed": "이미지 생성에 실패했습니다",
|
|
"enableVideoGeneration": "AI 동영상 생성 활성화",
|
|
"videoGenerationDisabledHint": "활성화하면 강좌 생성 시 동영상이 자동으로 생성됩니다",
|
|
"videoSettings": "동영상 생성",
|
|
"videoSection": "텍스트에서 동영상으로",
|
|
"videoProvider": "동영상 생성 제공업체",
|
|
"videoModel": "동영상 생성 모델",
|
|
"providerSeedance": "Seedance (ByteDance)",
|
|
"providerKling": "Kling (Kuaishou)",
|
|
"providerVeo": "Veo (Google)",
|
|
"providerSora": "Sora (OpenAI)",
|
|
"providerMiniMaxVideo": "MiniMax Video",
|
|
"providerGrokVideo": "Grok Video (xAI)",
|
|
"providerHappyHorse": "HappyHorse (Alibaba Cloud)",
|
|
"testVideoGeneration": "동영상 생성 테스트",
|
|
"testVideoConnectivity": "연결 테스트",
|
|
"videoConnectivitySuccess": "동영상 서비스에 성공적으로 연결되었습니다",
|
|
"videoConnectivityFailed": "동영상 서비스 연결에 실패했습니다",
|
|
"testingConnection": "테스트 중...",
|
|
"videoTestSuccess": "동영상 생성 테스트에 성공했습니다",
|
|
"videoTestFailed": "동영상 생성 테스트에 실패했습니다",
|
|
"videoTestPromptDefault": "책상 위를 걷고 있는 귀여운 고양이",
|
|
"videoGenerating": "동영상 생성 중 (약 1~2분 소요)...",
|
|
"videoGenerationWarning": "동영상 생성은 보통 1~2분이 소요됩니다. 잠시 기다려 주세요",
|
|
"mediaRetry": "재시도",
|
|
"mediaContentSensitive": "죄송합니다. 이 콘텐츠가 안전 검사를 통과하지 못했습니다.",
|
|
"mediaGenerationDisabled": "설정에서 생성이 비활성화되어 있습니다",
|
|
"singleAgent": "단일 에이전트",
|
|
"multiAgent": "멀티 에이전트",
|
|
"selectAgents": "에이전트 선택",
|
|
"noVisionWarning": "현재 모델은 비전을 지원하지 않습니다. 슬라이드에 이미지를 삽입할 수 있지만, 모델이 이미지 내용을 이해하여 선택 및 레이아웃을 최적화할 수 없습니다",
|
|
"serverConfigured": "서버",
|
|
"serverConfiguredNotice": "이 제공업체는 서버에서 관리되므로 여기서 편집할 수 없습니다. 본인 자격 증명을 사용하려면 별도의 제공업체를 추가하세요.",
|
|
"ttsProviderEnabledLabel": "이 제공업체 활성화",
|
|
"ttsProviderEnabledHint": "비활성화하면 이 제공업체가 음성 선택기에서 숨겨지고 자동으로 지정되지 않습니다.",
|
|
"ttsProviderUnavailableHint": "활성화하기 전에 이 제공업체를 설정하세요.",
|
|
"ttsProviderDisabledByAdmin": "이 제공업체는 서버 관리자에 의해 비활성화되어 있으며 활성화할 수 없습니다.",
|
|
"optionalOverride": "선택 사항 — 비워두면 서버 설정이 사용됩니다",
|
|
"setupNeeded": "설정 필요",
|
|
"modelNotConfigured": "시작하려면 모델을 선택하세요",
|
|
"dangerZone": "위험 구역",
|
|
"clearCache": "로컬 캐시 지우기",
|
|
"clearCacheDescription": "교실 기록, 채팅 내역, 오디오 캐시, 앱 설정 등 로컬에 저장된 모든 데이터를 삭제합니다. 이 작업은 취소할 수 없습니다.",
|
|
"clearCacheConfirmTitle": "모든 캐시를 지우시겠습니까?",
|
|
"clearCacheConfirmDescription": "다음 데이터가 영구적으로 삭제되며 복구할 수 없습니다:",
|
|
"clearCacheConfirmItems": "교실 및 장면, 채팅 내역, 오디오 및 이미지 캐시, 앱 설정 및 환경설정",
|
|
"clearCacheConfirmInput": "계속하려면 \"DELETE\"를 입력하세요",
|
|
"clearCacheConfirmPhrase": "DELETE",
|
|
"clearCacheButton": "모든 데이터 영구 삭제",
|
|
"clearCacheSuccess": "캐시가 지워졌습니다. 잠시 후 페이지가 새로 고침됩니다",
|
|
"clearCacheFailed": "캐시 삭제에 실패했습니다. 다시 시도해 주세요",
|
|
"clearCacheBlockedByOtherTabs": "앱을 연 다른 탭을 닫고 다시 시도해 주세요.",
|
|
"persistUnavailable": "변경 사항이 저장되지 않고 있습니다. 앱이 저장된 데이터에 접근할 수 없습니다. 새로 고쳐도 해결되지 않으면 설정에서 로컬 캐시를 삭제하세요.",
|
|
"persistChangesLost": "저장소가 복구되었지만 사용할 수 없는 동안 변경한 내용은 저장되지 못하고 마지막으로 저장된 버전으로 대체되었습니다.",
|
|
"webSearchSettings": "웹 검색",
|
|
"webSearchApiKey": "검색 API 키",
|
|
"webSearchApiKeyPlaceholder": "검색 API 키를 입력하세요",
|
|
"webSearchApiKeyPlaceholderServer": "서버 키가 설정되어 있습니다. 선택적으로 재정의할 수 있습니다",
|
|
"webSearchApiKeyHint": "선택한 검색 제공업체에서 API 키를 발급받으세요",
|
|
"claudeSearchModel": "검색 모델",
|
|
"claudeSearchModelHint": "웹 검색을 수행하고 결과를 요약하는 Claude 모델입니다.",
|
|
"webSearchApiKeyOptional": "API 키는 선택 사항입니다. 키가 없으면 공개 페이지 스크래핑이 대체 수단으로 사용됩니다.",
|
|
"searxngServerOnlyNotice": "SearXNG는 서버에서 구성해야 합니다. SEARXNG_BASE_URL 환경 변수(또는 server-providers.yml의 web-search 섹션)를 설정하세요. 클라이언트가 제공한 인스턴스 URL은 허용되지 않습니다.",
|
|
"baiduSubSources": "바이두 검색 소스",
|
|
"baiduSubSourcesDescription": "쿼리할 바이두 소스를 하나 이상 선택하세요.",
|
|
"baiduSubSourceWeb": "웹 검색",
|
|
"baiduSubSourceWebDescription": "바이두 AI 검색의 일반 웹 페이지입니다.",
|
|
"baiduSubSourceBaike": "바이두 바이커",
|
|
"baiduSubSourceBaikeDescription": "바이두 바이커의 백과사전 항목입니다.",
|
|
"baiduSubSourceScholar": "바이두 스칼라",
|
|
"baiduSubSourceScholarDescription": "바이두 스칼라의 학술 논문입니다.",
|
|
"viewDocs": "API 문서",
|
|
"webSearchBaseUrl": "기본 URL",
|
|
"webSearchServerConfigured": "서버 측 검색 API 키가 설정되어 있습니다",
|
|
"optional": "선택 사항",
|
|
"selectProvider": "Select Provider",
|
|
"customProvider": "Custom",
|
|
"presetPickHint": "Picking a provider auto-fills its base URL and protocol; enter your key then click \"Fetch Models\". Not listed? Use \"Custom\".",
|
|
"presetCategory": {
|
|
"tokenPlan": "Token Plans",
|
|
"aggregator": "Aggregators",
|
|
"thirdParty": "Vendors",
|
|
"official": "Official"
|
|
},
|
|
"fetchModels": "Fetch Models",
|
|
"fetchModelsResult": "Fetched {total} models, added {added}",
|
|
"fetchModelsNoEndpoint": "This provider has no model list endpoint — add models manually",
|
|
"fetchModelsAuthError": "API key is invalid or expired",
|
|
"fetchModelsFailed": "Failed to fetch models",
|
|
"usage": {
|
|
"title": "Usage",
|
|
"refresh": "Refresh",
|
|
"disclaimer": "Usage is system-tracked; only server-side calls are counted.",
|
|
"totalRequests": "Requests",
|
|
"totalTokens": "LLM Tokens",
|
|
"dailyTrend": "Daily Token Trend",
|
|
"tokens": "Tokens",
|
|
"byModel": "By Model",
|
|
"model": "Model",
|
|
"type": "Type",
|
|
"reqs": "Reqs",
|
|
"usage": "Usage",
|
|
"empty": "No usage data yet",
|
|
"kindLlm": "LLM",
|
|
"kindImage": "Image",
|
|
"kindVideo": "Video",
|
|
"kindTts": "Speech",
|
|
"kindAsr": "ASR",
|
|
"unitToken": "tokens",
|
|
"unitImage": "images",
|
|
"unitSecond": "sec",
|
|
"unitCharacter": "chars"
|
|
},
|
|
"tokenPlan": {
|
|
"nav": "Token Plan",
|
|
"title": "Token Plan Setup",
|
|
"desc": "Pick your token plan provider and enter the key — it auto-configures every adapted modality (LLM/image/video/speech/web search).",
|
|
"selectPlan": "Select Provider",
|
|
"apiKey": "API Key",
|
|
"enable": "Enable",
|
|
"updateKey": "Update key",
|
|
"modelsCount": "{{n}} models",
|
|
"capabilities": "Capabilities offered",
|
|
"offeredNote": "Models offered by this plan. Pick the ones you want on the generation bar — availability depends on your plan tier, and unsupported models will error at generation time."
|
|
},
|
|
"ttsBrowserNativeTimelineNotice": "브라우저 내장 TTS는 편집기 타임라인의 오디오 기능(미리듣기·다시 생성·전체 음성 생성)을 지원하지 않습니다. 관리형 TTS 공급자로 전환하면 줄별 오디오를 생성·관리할 수 있습니다.",
|
|
"alidocmindAccessKeyId": "AccessKey ID",
|
|
"alidocmindAccessKeySecret": "AccessKey Secret"
|
|
},
|
|
"profile": {
|
|
"title": "프로필",
|
|
"defaultNickname": "학습자"
|
|
},
|
|
"media": {
|
|
"imageCapability": "이미지 생성",
|
|
"imageShort": "이미지",
|
|
"imageHint": "슬라이드에 이미지를 생성합니다",
|
|
"videoCapability": "동영상 생성",
|
|
"videoShort": "영상",
|
|
"videoHint": "슬라이드에 동영상을 생성합니다",
|
|
"ttsCapability": "텍스트 음성 변환",
|
|
"ttsShort": "음성",
|
|
"ttsHint": "AI 선생님이 소리 내어 읽습니다",
|
|
"asrCapability": "음성 인식",
|
|
"asrShort": "마이크",
|
|
"asrHint": "토론을 위한 음성 입력",
|
|
"webSearchShort": "검색",
|
|
"provider": "제공업체",
|
|
"model": "모델",
|
|
"voice": "음성",
|
|
"speed": "속도",
|
|
"language": "언어"
|
|
},
|
|
"accessCode": {
|
|
"title": "접근 코드 입력",
|
|
"placeholder": "접근 코드",
|
|
"error": "유효하지 않은 접근 코드입니다. 다시 시도해 주세요."
|
|
}
|
|
}
|