// Korean (ko).
export default {
  'brand': 'WebBrain',

  'sp.status.disconnected': '연결 안 됨',
  'sp.status.connected': '연결됨 ({model})',
  'sp.status.error': '오류: {msg}',
  'sp.status.failed': '연결 실패',
  'sp.btn.verbose': '상세 도구 로그 전환',
  'sp.btn.language': '언어',
  'sp.btn.settings': '설정',
  'sp.btn.clear': '새 대화 (기록 지우기)',
  'sp.btn.send': '보내기',
  'sp.btn.stop.title': '에이전트 중지',
  'sp.btn.stop.label': '중지',

  'sp.inspection': 'WebBrain이 이 페이지 분석을 시작했습니다',

  'sp.greeting.html': '안녕하세요! 저는 <strong>WebBrain</strong>입니다. 이 페이지를 읽고, 질문에 답하고, 버튼을 누르고, 양식을 채우며, 여러 단계의 작업을 자동화할 수 있습니다.',
  'sp.greeting.hint': '예: "이 페이지를 요약해 줘" 또는 "가격과 관련된 모든 링크를 찾아 줘"',
  'sp.help_message': '이 페이지에서 무엇을 도와드릴까요?',
  'sp.cleared_message': '대화가 지워졌습니다. 무엇을 도와드릴까요?',

  'sp.mode.ask': '질문',
  'sp.mode.ask.title': '페이지에 대해 질문 — 변경은 하지 않습니다',
  'sp.mode.act': '실행',
  'sp.mode.act.title': 'WebBrain이 클릭, 입력, 이동을 대신합니다',
  'sp.mode.act.warning': '실행 모드: WebBrain이 사용자를 대신해 페이지와 상호작용합니다. 위험을 감수하고 사용하세요.',
  'sp.mode.act.confirm': '실행 모드에서는 WebBrain이 사용자를 대신해 클릭, 입력, 스크롤, 이동을 수행합니다.\n\n로그인된 브라우저 세션 안에서 동작하므로, 로그인되어 있는 모든 사이트에서 사용자와 동일한 권한을 갖습니다.\n\n동작을 잘 살피시고, ◼ 버튼으로 언제든지 중지할 수 있습니다.\n\n계속하시겠어요?',

  'sp.input.ask_placeholder': '이 페이지에 대해 무엇이든 물어보세요...',
  'sp.input.act_placeholder': '이 페이지에서 무엇을 할지 알려 주세요...',

  'sp.activity.thinking': '생각 중...',
  'sp.activity.thinking_step': '생각 중 (단계 {step})...',
  'sp.activity.continuing': '계속 진행 중...',
  'sp.activity.stopping': '중지 중...',

  'sp.copy': '복사',
  'sp.copied': '복사됨!',
  'sp.copy.code.title': '코드 복사',

  'sp.error_prefix': '오류: {msg}',
  'sp.stopped_by_user': '[사용자가 중지함]',
  'sp.stopped_by_user_html': '<em>사용자가 중지했습니다.</em>',

  'sp.continue_bar': '단계 한도에 도달했습니다 ({steps} 단계). 계속할까요?',
  'sp.continue_btn': '계속',

  'sp.step.details': '세부 정보',
  'sp.step.input_label': '입력',
  'sp.step.result_label': '결과',

  'sp.api.enabled_html': '🔓 이 대화에서 <strong>API 변경이 허용</strong>되었습니다. 에이전트는 이제 UI보다 API가 더 안정적이라고 판단할 때 fetch_url과 execute_js를 통해 POST/PUT/PATCH/DELETE를 사용할 수 있습니다. 기본적으로는 UI 우선 방침을 유지합니다. 이 플래그는 대화를 초기화하면 해제됩니다.',
  'sp.api.badge_html': '<span>🔓 API 변경 허용됨</span>',

  'tool.read_page': '페이지 읽는 중',
  'tool.get_interactive_elements': '인터랙티브 요소 스캔 중',
  'tool.click': '클릭',
  'tool.type_text': '입력',
  'tool.scroll': '스크롤',
  'tool.navigate': '이동',
  'tool.extract_data': '데이터 추출',
  'tool.wait_for_element': '요소 대기',
  'tool.get_selection': '선택 영역 읽는 중',
  'tool.execute_js': '스크립트 실행',
  'tool.new_tab': '새 탭 열기',
  'tool.screenshot': '스크린샷 캡처',
  'tool.done': '마무리 중',
  'tool.click.selector': '"{selector}" 클릭',
  'tool.click.index': '{index}번 요소 클릭',
  'tool.type_text.text': '"{text}" 입력',
  'tool.navigate.url': '{url}(으)로 이동',
  'tool.new_tab.url': '{url} 열기',
  'tool.scroll.direction': '{direction}(으)로 스크롤',
  'tool.extract_data.type': '{type} 추출',
  'tool.wait_for_element.selector': '"{selector}" 대기',

  'st.title': 'WebBrain 설정',
  'st.subtitle': 'LLM 제공자와 표시 설정을 구성합니다 · v{version}',
  'st.tab.display': '표시',
  'st.tab.providers': '제공자',
  'st.tab.vision': '비전',
  'st.tab.profile': '프로필',
  'st.tab.account': '계정',

  'st.account.not_signed_in': '로그인되어 있지 않습니다',
  'st.account.sign_in': '로그인 / 가입',
  'st.account.sign_out': '로그아웃',
  'st.account.provider_name': 'WebBrain Cloud',

  'st.display.language.label': '언어',
  'st.display.language.desc': 'WebBrain 플러그인의 인터페이스 언어입니다.',
  'st.display.verbose.label': '상세 모드',
  'st.display.verbose.desc': '도구 호출의 상세 내용, 인수, 원본 JSON 결과를 모두 표시합니다. 기본적으로는 끔으로 깔끔한 채팅 환경을 제공합니다.',
  'st.display.screenshot.label': '스크린샷 폴백',
  'st.display.screenshot.desc': 'DOM 읽기에 실패하거나 내용이 부족할 때 페이지의 스크린샷을 캡처합니다. 비전 지원 모델이 필요합니다.',
  'st.display.site_adapters.label': '사이트 어댑터',
  'st.display.site_adapters.desc': '잘 알려진 고트래픽 사이트(GitHub, Gmail, Stripe, AWS 등)를 위한 짧은 사람 작성 가이드를 에이전트의 첫 메시지에 주입합니다. 흔한 막다른 길을 피하는 데 도움이 됩니다. 매칭된 사이트에서 대화의 첫 턴에 약간의 토큰 비용이 더해집니다.',
  'st.display.auto_screenshot.label': '자동 스크린샷',
  'st.display.auto_screenshot.desc': '에이전트가 페이지에서 동작한 뒤 뷰포트 스크린샷을 자동으로 캡처해, 비전 지원 모델이 변화 상황을 볼 수 있게 합니다. 토큰을 더 많이 소모합니다. 활성 모델이 이미지를 지원하지 않으면 조용히 비활성화됩니다.',
  'st.display.auto_screenshot.off': '끔',
  'st.display.auto_screenshot.navigation': '이동 시',
  'st.display.auto_screenshot.state_change': '상태 변경 시 (기본값)',
  'st.display.auto_screenshot.every_step': '매 단계',
  'st.display.tracing.label': '트레이스 기록 (모델 비교용)',
  'st.display.tracing.desc_html': '모든 실행(LLM 요청, 응답, 도구 호출, 스크린샷)을 로컬 IndexedDB에 보관하여 모델을 나란히 검사하고 비교할 수 있게 합니다. 별도의 트레이스 탭에서 열립니다. 매 단계마다 디스크 쓰기가 늘어나므로 기본값은 꺼짐입니다. <a href="traces.html" target="_blank" style="color:var(--accent);">트레이스 페이지 열기 →</a>',
  'st.display.allow_local_network.label': '에이전트의 로컬 네트워크 접근 허용',
  'st.display.allow_local_network.desc': '에이전트의 fetch_url 도구가 루프백(127.0.0.1, localhost)과 사설/RFC1918 주소(10.x, 192.168.x, 172.16–31.x)에 접근할 수 있게 합니다. 로컬 개발 서버, 인트라넷 도구, 자체 호스팅 API에 유용합니다. 기본값은 끔 — 꺼져 있으면 prompt 주입된 페이지가 에이전트로 하여금 로컬 네트워크를 탐색하게 만들 수 없습니다. 클라우드 메타데이터 주소(169.254.169.254)와 *.internal/*.local 호스트명은 켜진 상태에서도 차단됩니다.',
  'st.display.notify_sound.label': '완료 알림음',
  'st.display.notify_sound.desc': '에이전트가 작업을 마치면 사이드 패널에서 짧은 알림음을 재생합니다. 실행을 취소한 경우에는 재생되지 않습니다.',
  'st.display.max_steps.label': '에이전트 최대 단계 수',
  'st.display.max_steps.desc': '한 메시지당 에이전트가 사용할 수 있는 도구 호출 단계의 최대 수입니다. 값이 클수록 더 복잡한 다단계 작업이 가능하지만 토큰을 더 소비할 수 있습니다.',
  'st.display.traces_link.label': '트레이스',
  'st.display.traces_link.desc': '기록된 실행을 나란히 검사할 수 있습니다. 트레이스가 켜져 있을 때만 사용할 수 있습니다.',
  'st.display.traces_link.open': '트레이스 열기 →',

  'st.providers.info.html': '<strong>llama.cpp 시작하기:</strong><br><code>llama-server -m your-model.gguf --port 8080</code>을 실행해 로컬 서버를 띄우세요.<br>API 키가 필요 없습니다 — 전부 사용자 머신에서 실행됩니다.',
  'st.providers.save': '저장',
  'st.providers.test': '연결 테스트',
  'st.providers.set_active': '활성으로 설정',
  'st.providers.active': '활성',
  'st.providers.saved': '저장되었습니다!',
  'st.providers.testing': '테스트 중...',
  'st.providers.connected': '연결됨! 모델: {model}',
  'st.providers.unknown_model': '알 수 없음',
  'st.providers.failed': '실패: {error}',
  'st.providers.load_models': '모델 불러오기',
  'st.providers.loading': '불러오는 중…',
  'st.providers.models_loaded': '모델 {count}개를 불러왔습니다',

  'st.provider.field.server_url': '서버 URL',
  'st.provider.field.api_base_url': 'API 기본 URL',
  'st.provider.field.api_key': 'API 키',
  'st.provider.field.model': '모델',
  'st.provider.field.model_optional': '모델 (선택)',
  'st.provider.field.supports_vision': '모델이 비전(멀티모달)을 지원합니다',
  'st.provider.field.compact_prompt': '간결한 prompt (작은 모델에 권장, 기본 켜짐)',
  'st.provider.field.model_loaded_hint': '비워 두면 이미 로드된 모델을 사용',

  'st.vision.desc': '설정하면 페이지 읽기용 스크린샷은 이 모델로 전송되고, 활성 제공자는 계획 수립과 도구 호출을 담당합니다. 비워 두면 비전에도 활성 제공자가 사용됩니다. OpenAI 호환 엔드포인트만 지원합니다.',
  'st.vision.save': '저장',
  'st.vision.test': '연결 테스트',
  'st.vision.clear': '지우기',
  'st.vision.cleared': '지워졌습니다.',
  'st.vision.saved': '저장되었습니다!',
  'st.vision.testing': '테스트 중...',
  'st.vision.connected': '연결됨! 모델: {model}',
  'st.vision.failed': '실패: {error}',
  'st.vision.fill_required': '먼저 기본 URL과 모델을 입력하세요.',

  'st.profile.desc_html': '이름, 업무 이메일, 회사, 그리고 저위험 가입용 <em>일회용</em> 비밀번호처럼 에이전트가 매번 묻지 않고 가입 양식을 채울 수 있도록 짧은 자기소개를 저장하세요. 활성화하면 아래 텍스트가 매 대화에서 에이전트의 시스템 prompt에 추가됩니다.',
  'st.profile.enabled.label': '프로필 자동 입력 활성화',
  'st.profile.enabled.desc': '프로필 텍스트를 에이전트의 시스템 prompt에 주입합니다. 비활성화하면 에이전트는 이 텍스트를 전혀 보지 못합니다.',
  'st.profile.text.label': '프로필 텍스트',
  'st.profile.text.placeholder': '저는 Jane Doe입니다. 이메일은 jane@example.com이고 Acme Inc.에서 일합니다. 저위험 가입용 기본 비밀번호는 SomePhrase-42! 입니다. 베를린에 거주합니다.',
  'st.profile.save': '저장',
  'st.profile.clear': '지우기',
  'st.profile.saved': '저장되었습니다.',
  'st.profile.cleared': '지워졌습니다.',
  'st.profile.security_html': '<strong>보안 — 반드시 읽어주세요:</strong><br><ul style="margin:6px 0 0 18px;padding:0;line-height:1.55;"><li>여기에 입력한 텍스트는 브라우저 로컬 저장소에 <strong>평문</strong>으로 저장됩니다. WebBrain 프로젝트로는 <strong>전송되지 않지만</strong>, 설정한 LLM 제공자에게는 시스템 prompt의 일부로 매 턴 <strong>전송됩니다</strong>.</li><li>중요한 계정(Google, Apple, iCloud, 은행, 회사 SSO, 주 이메일)의 비밀번호는 <strong>여기에 넣지 마세요</strong>. 이런 계정은 2FA를 사용해야 하며 애초에 에이전트에게 넘길 일이 없어야 합니다.</li><li>의도된 사용 사례는 저위험 사이트 가입(뉴스레터, 무료 체험, 포럼 계정)에 재사용하는 <strong>일회용 비밀번호</strong>입니다.</li><li>이 브라우저 프로필이 침해되면 디스크에 접근할 수 있는 공격자가 이 텍스트를 읽을 수 있습니다. 최소한으로 유지하세요.</li></ul>',

  'tr.title': 'WebBrain 트레이스',
  'tr.runs': '실행 {n}건',
  'tr.run': '실행 {n}건',
  'tr.btn.refresh': '↻ 새로고침',
  'tr.btn.refresh.title': '실행 목록 다시 불러오기',
  'tr.btn.compare': '⇔ 비교',
  'tr.btn.compare.title': '비교 모드 시작 (2건 선택)',
  'tr.btn.compare.picking': '⇔ 비교 (2건 선택)',
  'tr.btn.export': '⇩ JSON 내보내기',
  'tr.btn.export.title': '선택한 실행을 JSON으로 내보내기',
  'tr.btn.delete': '✕ 삭제',
  'tr.btn.delete.title': '선택한 실행 삭제',
  'tr.btn.clear_all': '모두 지우기',
  'tr.btn.clear_all.title': '저장된 모든 실행 삭제',

  'tr.filter.placeholder': '작업 / 모델 / URL로 필터링',
  'tr.filter.all_models': '모든 모델',
  'tr.no_match': '일치하는 실행이 없습니다.',
  'tr.no_task': '(작업 없음)',

  'tr.conversation.label': '대화',
  'tr.conversation.turn_of': '{total}턴 중 {n}턴',
  'tr.conversation.tooltip': '{n}턴 대화의 일부입니다 ({id}). 실행을 열어 턴 사이를 이동할 수 있습니다.',

  'tr.cost.label': '비용:',
  'tr.cost.tooltip': '제공자가 보고한 LLM 총비용(USD). 최종 답변이 없고 $0.50 이상일 때 주황색으로 강조 — 낭비된 실행일 가능성이 큽니다.',

  'tr.empty.title': '선택된 실행이 없습니다.',
  'tr.empty.hint_html': '왼쪽에서 실행을 선택해 단계별 타임라인을 확인하세요. <b>비교</b>를 클릭해 두 실행을 골라 나란히 볼 수 있습니다.',

  'tr.compare_mode.title': '비교 모드',
  'tr.compare_mode.picked': '{n}/2 선택됨. 다른 실행을 클릭해 비교를 완료하세요.',
  'tr.compare_mode.hint': '목록에서 두 실행을 클릭해 나란히 비교하세요.',

  'tr.status.label': '상태',
  'tr.steps.label': '단계',
  'tr.step': '{n} 단계',
  'tr.steps_plural': '{n} 단계',
  'tr.duration.label': '소요 시간',
  'tr.intokens.label': '입력 토큰',
  'tr.outtokens.label': '출력 토큰',
  'tr.tokens_short': '{n} tok',
  'tr.unknown_model': '알 수 없음',
  'tr.final_label': '최종:',

  'tr.deleted': '삭제되었습니다.',
  'tr.all_deleted': '모든 실행이 삭제되었습니다.',
  'tr.select_first': '먼저 실행을 선택하세요.',
  'tr.confirm_delete': '이 실행을 삭제할까요?',
  'tr.confirm_delete_all': '기록된 모든 실행을 삭제할까요? 이 작업은 되돌릴 수 없습니다.',

  'tr.event.llm_request': '→ LLM 요청',
  'tr.event.llm_response': '← LLM 응답',
  'tr.event.vision_sub_call': '👁 비전 보조 호출',
  'tr.event.error_kind': '⚠ 오류',
  'tr.event.messages_tools': '메시지 {m}개, 도구 {t}개 · {model}',
  'tr.event.screenshot_caption': '스크린샷',
  'tr.event.screenshot_missing': '(스크린샷 blob 누락)',
  'tr.event.description_truncated': '... [비교 보기에서 잘림]',
  'tr.event.vision_failed': '비전 보조 호출 실패: {error}',
  'tr.event.description': '설명',
  'tr.event.args': '인수',
  'tr.event.result': '결과',
  'tr.event.step': '{step} 단계',
};
