diff --git a/packages/i18n/src/locales/ko/base.yaml b/packages/i18n/src/locales/ko/base.yaml index 2aaea39149..d71a900afd 100644 --- a/packages/i18n/src/locales/ko/base.yaml +++ b/packages/i18n/src/locales/ko/base.yaml @@ -1,5 +1,5 @@ edition: - desktop: 데스크탑 버전. + desktop: 데스크톱 버전. mobile: 모바일 버전. web: 웹 버전. prompt: diff --git a/packages/i18n/src/locales/ko/settings.yaml b/packages/i18n/src/locales/ko/settings.yaml index 8b70ae5bf3..a540073359 100644 --- a/packages/i18n/src/locales/ko/settings.yaml +++ b/packages/i18n/src/locales/ko/settings.yaml @@ -10,7 +10,7 @@ animations: dialogs: onboarding: official: - title: AIRI 공식 제공업체 + title: AIRI 공식 제공자 title: AIRI에 오신 것을 환영합니다! description: 시작하기 위해 당신의 첫 번째 AI 제공자를 설정해 보겠습니다. selectProvider: AI 제공자를 선택해주세요 @@ -35,15 +35,15 @@ dialogs: retry: 다시 시도 credentialsSafeLabel: API 키와 인증 정보를 안전하게 보관하세요! credentialsSafeLocal: >- - AIRI는 PC에서 온전히 로컬에서 실행되며 AI / LLM 제공 업체에 대한 자격 증명을 절대 훔치지 않아요. 당신의 API 키는 민감한 정보라는 점을 명심해주세요. 보안에 신경써주시고 절대 누구와도 공유하지 마세요. + AIRI는 PC에서 온전히 로컬에서 실행되며 AI / LLM 제공자에 대한 자격 증명을 절대 훔치지 않아요. 당신의 API 키는 민감한 정보라는 점을 명심해주세요. 보안에 신경써주시고 절대 누구와도 공유하지 마세요. credentialsSafeOpenSource: >- AIRI는 {github}에서 오픈 소스입니다. 당신의 자격 증명을 처리하는 방법을 확인하려면 언제든지 코드를 검사하실 수 있어요. enableChatCheck: >- Airi가 첫 모델에게 "Ping" 메시지를 보낼 수 있도록 허용하기 start: 그럼 시작합시다! - loginPrompt: 최고의 경험을 위해 공식 AIRI 제공업체를 이용하려면 로그인하세요. + loginPrompt: 최고의 경험을 위해 공식 AIRI 제공자를 이용하려면 로그인하세요. loginAction: 로그인 - setupWithoutSigningIn: 당신의 제공업자로 설정하기 + setupWithoutSigningIn: 당신의 제공자로 설정하기 pricingLink: 요금 termsLink: 서비스 약관 flux: 플럭스 @@ -86,8 +86,8 @@ language: UI 언어에요. 캐릭터의 언어는 나중에 바꿀 수 있어요. controls-island: icon-size: - title: 아일랜드 아이콘 크기 조정 - description: 컨트롤 아일랜드 아이콘 크기 조정 + title: 조작 버튼 아이콘 크기 + description: 조작 버튼 아이콘 크기 조정 auto: 자동 (능동적) large: 크게 (기본값) small: 작게 @@ -118,6 +118,17 @@ model-select: select: 선택 import: 가져오기 remove: 제거 + sync: + upload: 클라우드에 업로드 + delete-cloud: 클라우드에서 삭제 + status: + local-only: 이 기기에만 있음 + queued: 업로드 대기 중 + uploading: 업로드 중 + synced: 클라우드와 동기화됨 + cloud-only: 클라우드에 있음, 다운로드되지 않음 + downloading: 다운로드 중 + failed: 동기화 실패 confirm: 확인 live2d-report: title: 가져오기 전 확인 @@ -241,11 +252,18 @@ live2d: clear-model-cache: 모델 캐시 지우기 expressions: title: 표정 + description: 표정을 잠시 활성화하거나 AIRI가 사용할 수 있게 할지 선택하세요. override-toggle: 표정 시스템 sdk-preset-preserved-notice: > 비활성화해도 SDK 표정 관리자와 눈 깜박임은 유지됩니다. no-expression: 이 모델에는 사용 가능한 표정이 없습니다. reset: 모든 표정 초기화 + parameter-count: 매개변수 {count}개 + actions: + activate: '{name} 활성화' + deactivate: '{name} 비활성화' + show-to-airi: '{name}을(를) AIRI가 사용할 수 있게 하기' + hide-from-airi: '{name}을(를) AIRI에게 숨기기' microphone: 마이크 models: 모델 pages: @@ -393,7 +411,7 @@ pages: agents: 에이전트 consciousness: 의식 모델 vision: 시각 모델 - speech: 음성 모델 + speech: 발성 모델 vrm: VRM 모델 live2d: Live2D 모델 displayModelId: 외형 모델 @@ -432,8 +450,8 @@ pages: consciousness: model: 의식 / 모델 vision: - provider: 비전 / 제공자 - model: 비전 / 모델 + provider: 시각 / 제공자 + model: 시각 / 모델 created_by: 만든이 creator_notes: 제작자 노트 delete: 삭제 @@ -472,11 +490,12 @@ pages: sections: chat: 채팅 vision: 시각 - speech: 음성 + speech: 발성 body: 몸 use_default: 기본값 사용 use_default_not_configured: 기본값 사용 (구성 안됨) inherit_global_settings: 전역 설정 상속 + no_model: 외형 모델 없음 fields_info: subtitle: >- 여기에 당신이 만들고 있는 캐릭터에 대한 몇 가지 세부 사항을 입력하고, 그의 역사와 맥락을 설명하며, 당신의 상호작용에 어떻게 답해야 하는지 설명할 수 있습니다. @@ -494,9 +513,9 @@ pages: version: >- 카드 버전, 이전 카드에서 변경하는 경우 이를 늘려야 합니다. consciousness_model: 이 캐릭터에 대한 의식 모델(AI 모델)을 선택합니다. - speech_model: 이 캐릭터의 음성 합성 모델과 음성을 선택합니다. + speech_model: 이 캐릭터의 발성 모델과 음성을 선택합니다. errors: - model_required: 명시적으로 설정한 제공업체마다 모델을 선택하세요. 다른 제공업체의 모델을 상속할 수 없습니다. + model_required: 명시적으로 설정한 제공자마다 모델을 선택하세요. 다른 제공자의 모델을 상속할 수 없습니다. name: 이름은 유효하거나 비어 있지 않아야 합니다. version: '오류: 잘못된 버전 번호입니다!' description: '오류: 이 카드에 대한 설명을 제공해야 합니다.' @@ -504,7 +523,7 @@ pages: scenario: '오류: 시나리오가 필요합니다.' systemprompt: '오류: 시스템 프롬프트를 제공해 주세요.' posthistoryinstructions: '오류: 기록 게시 후 프롬프트가 필요합니다.' - invalid_artistry_json: '오류: 이미지 생성 제공업체 옵션의 JSON이 유효하지 않습니다.' + invalid_artistry_json: '오류: 이미지 생성 제공자 옵션의 JSON이 유효하지 않습니다.' none: 없음 none_disabled: 없음 (비활성화) modules: 모듈 @@ -519,10 +538,24 @@ pages: search: 카드 검색... sort_by: 정렬 body-model: 몸 / 외형 모델 + view-card: 카드 보기 + model_not_bound: 선택한 외형 모델 없음 + gallery: 갤러리 + pinned_background: 고정된 배경 + pinned_background_description: 이 캐릭터가 활성 상태일 때 표시할 이미지를 선택하세요. + select_background: 배경 선택 + refresh_gallery: 갤러리 새로고침 + gallery_empty: 아직 이미지가 없습니다. 캐릭터가 채팅에서 만든 이미지가 여기에 표시됩니다. + gallery_delete_confirm: 갤러리에서 이 이미지를 삭제하시겠습니까? + active_background: 현재 배경 + set_as_background: 배경으로 설정 + download: 다운로드 + show_less: 간략히 보기 + view_all_history: 버전 {count}개 모두 보기 speech: - provider: 음성 합성 / 제공자 - model: 음성 합성 / 모델 - voice: 음성 합성 / 음성 + provider: 발성 / 제공자 + model: 발성 / 모델 + voice: 발성 / 음성 systemprompt: 시스템 프롬프트 title: AIRI 카드 try_different_search: 다른 검색어를 시도해보세요 @@ -536,7 +569,7 @@ pages: upload_desc: AIRI 카드 패키지를 클릭하거나 끌어다 놓아 가져오세요 memory: description: 기억이 저장되고 정리된 곳 - title: 메모리 + title: 기억 data: title: 데이터 description: 저장된 AIRI 데이터, 내보낸 항목, 초기화된 항목 관리 @@ -556,6 +589,7 @@ pages: description: 이 기기에 저장된 Sherpaw 모델 파일입니다. empty: 다운로드한 음성 모델이 없습니다. wake-word-model: 호출어 모델 + voiceprint-model: 음성 지문 모델 refresh: 새로고침 modules: title: 모듈 @@ -577,10 +611,10 @@ pages: description: 파일 관리자에서 AIRI의 데이터 폴더를 엽니다. open: 폴더 열기 desktop: - title: 데스크탑 설정 및 상태 초기화 - description: AIRI 데스크탑 설정 및 런타임 상태를 전부 지웁니다. + title: 데스크톱 설정 및 상태 초기화 + description: AIRI 데스크톱 설정 및 런타임 상태를 전부 지웁니다. center: 데스크톱 창을 화면 중앙으로 이동 - reset: 데스크탑 데이터 지우기 + reset: 데스크톱 데이터 지우기 confirmations: tooltip: 정말 진행하실 건가요? 'yes': '네' @@ -596,7 +630,7 @@ pages: providers_reset: 제공자 설정이 초기화되었습니다. all_deleted: 로컬 데이터가 초기화되었습니다. desktop_window_centered: 데스크톱 창을 화면 중앙으로 이동했습니다. - desktop_reset: 데스크탑 데이터가 초기화되었습니다. + desktop_reset: 데스크톱 데이터가 초기화되었습니다. models: description: Live2D, VRM, Spine, 기타 등등. title: 모델 @@ -608,6 +642,8 @@ pages: description: 3D VRM 모델 및 설정 구성 scene: 장면 modules: + availability: + none: 없음 beat_sync: description: 오디오 소스의 비트가 있는 바이브 title: 비트 동기화 @@ -659,8 +695,8 @@ pages: title: 이미지 생성 description: 이미지 생성, 장면 배경 및 그림 그리기입니다. page: - title: 이미지 생성 제공업체 설정 - description: 이미지 생성에 사용할 제공업체를 선택하세요. 캐릭터 카드 설정에서 이 값을 개별적으로 바꿀 수 있습니다. + title: 이미지 생성 제공자 설정 + description: 이미지 생성에 사용할 제공자를 선택하세요. 캐릭터 카드 설정에서 이 값을 개별적으로 바꿀 수 있습니다. providers: none: name: 없음 @@ -684,7 +720,7 @@ pages: description: '{workflowName} 워크플로에 맞는 프롬프트가 준비되었습니다. 적용하면 현재 위젯 지침을 덮어써 AI가 이 템플릿을 사용하는 방법을 알게 됩니다.' apply: 권장 프롬프트 적용 keep: 기존 지침 유지 - provider: 이미지 생성 제공업체 + provider: 이미지 생성 제공자 spawn_mode: label: 표시 모드 (생성 모드) description: 인터페이스에 이미지를 표시하는 방식을 선택하세요. @@ -702,14 +738,14 @@ pages: threshold_max: 엄격 (100%) model: label: 이미지 생성 모델 (선택적 재정의) - description: 제공업체가 요구하는 경우 모델 식별자를 입력하세요 + description: 제공자가 요구하는 경우 모델 식별자를 입력하세요 placeholder: '예: black-forest-labs/flux-schnell' prompt-prefix: label: 이미지 생성 프롬프트 기본 접두사 description: 이미지 생성기로 보내는 모든 프롬프트 앞에 추가됩니다. placeholder: '예: Masterpiece, high quality, 1girl, anime,' options: - label: 이미지 생성 제공업체 옵션 (JSON) + label: 이미지 생성 제공자 옵션 (JSON) widget-instructions: label: 위젯 시스템 프롬프트 description: AI에 생성 기능의 사용 방법을 알려 주는 사용자 지정 지침입니다. @@ -729,12 +765,12 @@ pages: description: 의식에 적합한 LLM 제공자를 선택합니다. error: 모델 목록을 불러오는데 오류가 발생했습니다. health_check_failed: 상태 점검 실패 - no_providers_configured_title: 구성된 공급자 없음 + no_providers_configured_title: 구성된 제공자 없음 no_providers_configured_description: LLM 제공자를 설정하려면 여기를 클릭하세요 expand: 확장 loading: 사용 가능한 모델 불러오는 중... manual_model_name: 모델 이름 - manual_model_placeholder: 이 공급자와 함께 사용할 모델 이름 입력 + manual_model_placeholder: 이 제공자와 함께 사용할 모델 이름 입력 no_models: 사용 가능한 모델 없음 no_models_description: 이 제공자에 대한 모델을 찾을 수 없습니다 no_search_results: 일치하는 모델 없음 @@ -751,7 +787,7 @@ pages: sampling_override_description: 기본적으로 꺼져 있습니다. 모델이 이 매개변수를 지원할 때만 켜세요. 일부 모델은 한 번에 하나의 샘플링 매개변수만 허용합니다. temperature_description: 모델 출력의 무작위성을 조절합니다. 0.2처럼 낮은 값은 더 일관되고 정확하며 분석적인 출력을 만듭니다. 1.0처럼 높은 값은 창의성과 다양성을 높입니다. top_p_description: 핵 샘플링으로 모델 출력의 다양성을 조절합니다. 0.2처럼 낮은 값은 확률이 높은 토큰으로 출력을 제한합니다. 1.0처럼 높은 값은 더 많은 가능성을 포함합니다. - subtitle: 공급자에서 기본 모델 선택 + subtitle: 제공자에서 기본 모델 선택 title: 모델 model-options: title: 모델 옵션 @@ -760,7 +796,7 @@ pages: required-description: 이 모델은 Thinking이 필요합니다. provider-default-description: AIRI에서 이 모델의 Thinking 정보를 찾지 못했습니다. OpenRouter 기본 설정을 적용합니다. title: 의식 - description: 사고, 시각, 음성 합성, 게임 등. + description: 사고, 시각, 발성, 게임 등. gaming-factorio: description: Factorio 플레이 중! enable: Factorio 통합 사용 @@ -806,10 +842,10 @@ pages: last-context-stale: '마지막 봇 컨텍스트: 오래됨' hearing: description: 음성 인식 작동 방식 구성 - title: 청력 + title: 청각 transcriber: title: 음성 인식 - description: 음성 인식 제공업체와 모델을 선택하고 마이크를 확인하세요. + description: 음성 인식 제공자와 모델을 선택하고 마이크를 확인하세요. wake-words: title: 호출어 description: 각 캐릭터의 호출어를 확인하고 공유 발음에 응답할 캐릭터를 선택하세요. @@ -826,6 +862,36 @@ pages: choose-label: 응답할 캐릭터 answered-by: '{name}이(가) 응답합니다' unresolved: 이 발음에 응답하는 캐릭터가 없습니다. + voiceprint: + title: 음성 지문 + description: AIRI가 알아볼 수 있도록 목소리를 등록하세요. + intro: 음성 지문은 음성 지문 모델이 사용자의 말에서 계산한 숫자 목록입니다. 오디오는 들어 있지 않지만 사용자를 식별할 수 있습니다. + privacy: AIRI는 음성 지문을 이 기기에만 저장합니다. AIRI 카드를 내보낼 때도 음성 지문은 포함되지 않고, AIRI는 음성 지문을 업로드하지 않습니다. 삭제하려면 이 페이지에서 음성 지문 삭제를 누르거나 데이터 설정에서 모든 데이터 삭제를 누르세요. + download: 처음 등록할 때 음성 지문 모델(약 28 MB)을 다운로드합니다. + speaker-recognition: + label: 화자 인식 + description: 말이나 호출어로 시작된 음성 입력을 사용자의 음성 지문과 하나씩 비교하고, 점수를 해당 입력의 입출력 추적에 기록합니다. 눌러서 말하기 입력에는 점수가 없습니다. 어떤 목소리로도 입력을 시작할 수 있으며, 채팅 모델은 점수를 받지 않습니다. AIRI가 듣는 동안에는 음성 지문 모델이 메모리에 유지됩니다. + needs-voiceprint: 화자 인식을 켜려면 목소리를 등록하세요. + status: + none: 등록된 음성 지문이 없습니다. + enrolled: '{date}에 등록했습니다. 말한 시간은 {seconds}초입니다.' + outdated: 음성 지문 모델이 바뀌었습니다. 음성 지문을 사용하려면 다시 등록하세요. + instructions: 마이크 가까이에 혼자 계세요. 녹음 시작을 누른 다음 평소 목소리로 다음 문장을 소리 내어 읽으세요. + sentence-1: 오늘은 날씨를 확인하고, 메시지를 읽고, 남은 하루를 계획하려고 해요. + sentence-2: 저는 보통 방이 조용하고 시간이 나는 저녁에 AIRI와 이야기해요. + sentence-3: 제 목소리를 기억해 주세요. 그래야 말하는 사람이 저인지 알 수 있어요. + progress: 말한 시간 {seconds}초. 등록하려면 최소 {min}초가 필요합니다. + start: 녹음 시작 + again: 다시 등록 + finish: 완료 + cancel: 취소 + delete: 음성 지문 삭제 + enrolling: 음성 지문을 계산하는 중… + result: + enrolled: 음성 지문을 저장했습니다. + cancelled: 등록을 취소했습니다. + too-short: 녹음에 담긴 말은 {seconds}초였습니다. 등록하려면 최소 {min}초가 필요합니다. 다시 녹음하세요. + error: '등록하지 못했습니다: {error}' sections: section: provider-selection: @@ -838,8 +904,16 @@ pages: input-device: label: 입력 장치 description: AIRI가 사용할 마이크를 선택하세요. - playground-description: 청력 모듈과 테스트 화면에서 이 마이크를 사용합니다. + playground-description: 청각 모듈과 테스트 화면에서 이 마이크를 사용합니다. placeholder: 마이크 선택 + system-default: 시스템 기본값 + allow: 마이크 접근 허용 + allow-description: 접근을 허용하면 AIRI가 마이크 목록을 표시합니다. + allow-action: 허용 + blocked: 브라우저가 마이크를 차단했습니다 + blocked-description: 브라우저의 사이트 설정에서 이 사이트의 마이크를 허용한 다음 다시 시도하세요. + retry: 다시 시도 + missing: 마이크를 찾을 수 없습니다. 마이크를 연결한 다음 이 페이지를 다시 여세요. auto-send: title: 인식된 텍스트 description: 음성을 텍스트로 변환한 뒤 AIRI가 수행할 작업을 선택하세요. @@ -884,7 +958,7 @@ pages: model-placeholder: 모델 선택 playground: current: 현재 인식된 텍스트 - description: 활성 청력 처리 흐름으로 듣고 완료된 음성 구간을 아래에 보관합니다. + description: 활성 청각 처리 흐름으로 듣고 완료된 음성 구간을 아래에 보관합니다. empty: 모니터링을 시작하고 선택한 마이크에 대고 말하세요. error-title: 음성 인식 오류 listening: 음성을 듣는 중… @@ -892,24 +966,108 @@ pages: segment: '음성 구간 {number}' start: 모니터링 시작 stop: 모니터링 중지 - title: 청력 테스트 화면 + title: 청각 테스트 화면 transcribing: 음성 인식 중… transcription-failed: 음성을 텍스트로 변환하지 못했습니다. confidence-threshold: title: 신뢰도 임계값 description: >- - 신뢰도가 낮은 인식 결과를 걸러 Whisper의 환각을 줄입니다. 값이 0에 가까울수록 엄격하며, 맨 왼쪽으로 끌면 비활성화됩니다. OpenAI나 Groq처럼 Whisper API를 지원하는 제공업체에서만 작동합니다. + 신뢰도가 낮은 인식 결과를 걸러 Whisper의 환각을 줄입니다. 값이 0에 가까울수록 엄격하며, 맨 왼쪽으로 끌면 비활성화됩니다. OpenAI나 Groq처럼 Whisper API를 지원하는 제공자에서만 작동합니다. disabled: 사용 안 함 verbose-json-note: >- - 참고: 제공업체가 verbose_json 응답을 지원하지 않으면 이 설정은 적용되지 않습니다. + 참고: 제공자가 verbose_json 응답을 지원하지 않으면 이 설정은 적용되지 않습니다. verbose-json-unsupported: >- - 제공업체가 verbose_json 구간을 반환하지 않아 마지막 인식 결과에 신뢰도 필터가 적용되지 않았습니다. + 제공자가 verbose_json 구간을 반환하지 않아 마지막 인식 결과에 신뢰도 필터가 적용되지 않았습니다. memory-long-term: - description: 장기 메모리 관련 설정 및 관리 - title: 장기 메모리 + description: 장기 기억 관련 설정 및 관리 + enable: 장기 기억 사용 + enable-description: 캐릭터가 나눈 대화를 기억합니다. 끄면 아무것도 기억하지 않습니다. + memories: + title: 기억 + description: 캐릭터마다 자신만의 비밀을 기억해 두며, 다른 캐릭터는 그 비밀을 볼 수 없습니다. 비밀을 공유하면 모든 캐릭터가 알게 되고, 되돌릴 수 없습니다. 비밀은 삭제할 수 있지만 수정할 수는 없습니다. + empty: 아직 기억이 없습니다. + forget: '{name} 잊기' + make_general: 모든 캐릭터에게 {name} 공유 + general: 공유한 비밀 + entry: + title: 기억 + description: 캐릭터별 비밀과 공유한 비밀입니다. + recipes: + title: 레시피 + empty: 아직 레시피가 없습니다. + sources: + user: 내가 만듦 + model: 캐릭터가 제안함 + pending: 승인을 기다리고 있습니다. 한 번 승인하면 다시 묻지 않습니다. + approve: 승인 + remove: 제거 + add: + name: 이름 + description: 사용 시점 + instructions: 수행할 내용 + keywords: + label: 키워드 + description: 키워드를 말하면 캐릭터가 이 레시피를 사용합니다. + submit: 추가 + decision: + question: 질문 + type: + label: 답하는 방식 + noul: 예 또는 아니요 + choice: 선택지 중 하나 고르기 + yes_means: '"예"의 뜻' + no_means: '"아니요"의 뜻' + option: 이 선택지의 뜻 + add_option: 선택지 추가 + remove_option: 제거 + action: + label: 그다음 + reply: 평소처럼 응답 + stay_quiet: 읽고 응답하지 않음 + hint: 메모를 염두에 두고 응답 + recipe: 이어서 다른 레시피 사용 + hint_text: 염두에 둘 메모 + target_recipe: 레시피 + keywords: 키워드를 말한 뒤에만 캐릭터가 판단합니다. + note: 키워드가 나오면 캐릭터가 대화를 읽고 답 하나를 골라 그에 따라 행동합니다. + entry: + title: 레시피 + description: 캐릭터가 쓰는 능력, 그 능력을 실행하는 신호, 승인을 기다리는 제안입니다. + add_button: 레시피 추가 + types: + title: 레시피 유형을 선택하세요 + instructions: + title: 지침 + description: 상황에 맞을 때나 키워드를 말할 때 캐릭터가 따르는 절차입니다. + decision: + title: 판단 + description: 키워드를 말하면 캐릭터가 응답하기 전에 질문 하나에 답합니다. 답마다 실행할 동작이 다릅니다. + styles: + instructions: 지침 + decision: 판단 + cancel: 취소 + edit: 편집 + save: 저장 + enabled: '{name} 사용' + keywords_summary: '키워드: {words}' + tabs: + conversation: 대화 중 + auto_run: 자동 실행 + conversation_description: 대화에 쓰는 레시피입니다. 메시지를 보낼 때만 작동합니다. + auto_run_description: 신호가 오면 스스로 시작하는 레시피입니다. 실행할 때마다 모델을 한 번 호출합니다. + background: + label: 백그라운드에서 실행 + description: 조사처럼 시간이 걸리는 작업에 알맞습니다. 백그라운드에서 작업하고 결과를 가져옵니다. + tag: 백그라운드 + grants: '승인하면 할 수 있는 일: {what}' + proposals: + label: 캐릭터가 레시피를 제안하도록 허용 + description: 요청한 레시피는 제안으로 저장됩니다. 승인한 뒤에만 작동합니다. + model_flow: 실행할 때마다 캐릭터가 할 일을 정함 + title: 장기 기억 memory-short-term: - description: 단기 메모리 관련 설정 및 관리 - title: 단기 메모리 + description: 단기 기억 관련 설정 및 관리 + title: 단기 기억 messaging-discord: description: Discord를 통한 채팅 및 음성 채팅 enable: Discord 통합 사용 @@ -938,7 +1096,7 @@ pages: provider-voice-selection: custom_model_placeholder: 사용자 지정 모델 이름 입력... custom_voice_placeholder: 사용자 지정 음성 ID 입력... - description: 적절한 음성 제공자 선택 + description: 적절한 발성 제공자 선택 no_models: 사용 가능한 모델 없음 no_models_description: 이 제공자에 대한 모델을 찾을 수 없습니다 no_voices: 사용 가능한 음성이 없습니다 @@ -962,14 +1120,14 @@ pages: use-ssml: description: 일반 텍스트 대신 원시 SSML을 입력할 수 있습니다 label: 사용자 지정 SSML 사용 - title: 음성 + title: 발성 title: 모듈 vision: description: 시각 title: 시각 tool-images: label: 도구 이미지에 시각 모델 사용 - description: 채팅 모델이 응답하기 전에 시각 모델이 컴퓨터 사용 도구의 스크린샷 등 도구에서 반환된 이미지를 읽습니다. 채팅 모델의 제공업체가 이미지 입력 지원을 알리면 이미지를 직접 전달합니다. 설명에는 픽셀 위치가 없습니다. + description: 채팅 모델이 응답하기 전에 시각 모델이 컴퓨터 사용 도구의 스크린샷 등 도구에서 반환된 이미지를 읽습니다. 채팅 모델의 제공자가 이미지 입력 지원을 알리면 이미지를 직접 전달합니다. 설명에는 픽셀 위치가 없습니다. capture: title: 시각 캡처 주기 description: 시각 처리기가 프레임을 캡처하는 빈도를 조절하세요. @@ -988,8 +1146,8 @@ pages: since-start: 앱 시작 이후 never: 없음 ollama: - title: 제공업체 요청 옵션 - description: 시각 추론에 사용할 제공업체별 요청 플래그를 설정하세요. + title: 제공자 요청 옵션 + description: 시각 추론에 사용할 제공자별 요청 플래그를 설정하세요. thinking: label: 추론 (Ollama) description: '켜면 Ollama 시각 요청에 `think: true`를 포함합니다. 끄면 `think: false`를 포함합니다.' @@ -1257,11 +1415,32 @@ pages: water_heater: 온수기 weather: 날씨 zone: 구역 + tool-cards: + title: 도구 카드 + description: 채팅 모델이 도구와 응답을 위해 만드는 카드 + enable: 도구 결과용 카드 만들기 + enable-description: 위젯이 없는 도구의 호출이 끝났고 그 도구에 아직 카드가 없으면, 채팅 모델이 그 결과를 보여 줄 카드를 만듭니다. 이전 메시지의 호출은 펼칠 때 카드가 만들어집니다. 새 카드마다 채팅 모델을 사용합니다. + reply-cards: 응답에 카드 만들기 + reply-cards-description: 환산이나 비교처럼 텍스트보다 카드가 더 나은 답이 될 때, 채팅 모델이 응답 안에 카드를 만듭니다. 이 카드는 그 응답에만 속하며 저장되지 않습니다. + page-description: 채팅 모델이 위젯이 없는 도구를 위해 만든 카드 템플릿입니다. 템플릿을 삭제하면 다음에 그 도구를 호출하거나 호출 항목을 펼칠 때 채팅이 새 템플릿을 만듭니다. + empty: 아직 도구 카드가 없습니다. 위젯이 없는 도구의 호출이 끝나면 여기에 카드가 나타납니다. + source-tool: '출처: 앱 도구' + source-mcp: '출처: MCP 서버 {server}' + used: '마지막 사용: {date}' + show-template: 템플릿 보기 + hide-template: 템플릿 숨기기 + delete: 삭제 + deleted: '{name}의 템플릿을 삭제했습니다. 다음에 그 도구를 호출하거나 호출 항목을 펼칠 때 채팅이 새 템플릿을 만듭니다.' web-search: title: 웹 검색 description: AIRI가 웹에서 최신 정보를 검색하도록 허용합니다 enable: 웹 검색 활성화 enable-description: 채팅 중 AIRI의 웹 검색 허용 + provider: 검색 제공자 + deepseek: + api-key: DeepSeek API 키 + api-key-description: 웹 검색에 사용할 DeepSeek API 키를 입력하세요. 이 키는 채팅 제공자 설정과 별개입니다. + api-key-placeholder: DeepSeek API 키를 입력하세요 api-key: Tavily API 키 api-key-description: 웹 검색은 Tavily를 사용합니다. tavily.com에서 무료 API 키를 받으세요. api-key-placeholder: Tavily API 키를 입력하세요 @@ -1332,6 +1511,7 @@ pages: env: label: 환경 description: 자식 프로세스에 전달할 변수입니다. + key-placeholder: 키 value-placeholder: 값 enabled: label: 활성화됨 @@ -1397,9 +1577,15 @@ pages: packagesError: Capacitor 목록을 불러오지 못했습니다. 나중에 다시 시도하세요. preferenceError: 환경설정을 저장하지 못했습니다. 나중에 다시 시도하세요. remaining: '{percent} 남음' + ofQuota: 총 {quota} Flux rechargesAt: '{date}에 충전' renewsAt: '{date}에 갱신' expiresAt: '{date}에 만료' + change: Capacitor 변경 + quota: + day: 매일 {quota} Flux + week: 매주 {quota} Flux + month: 매월 {quota} Flux perMonth: / 월 currentPackage: 현재 install: 설치 @@ -1428,9 +1614,9 @@ pages: 계속 진행하려면 현재 구성을 저장할 수 있습니다. action: 무시하고 저장 config: - loading: 제공업체 설정 불러오는 중… - load-error: 제공업체 설정을 불러오지 못했습니다. - save-error: 제공업체 설정을 저장하지 못했습니다. + loading: 제공자 설정 불러오는 중… + load-error: 제공자 설정을 불러오지 못했습니다. + save-error: 제공자 설정을 저장하지 못했습니다. retry: 다시 시도 common: fields: @@ -1440,7 +1626,7 @@ pages: description: 지원하는 OpenAI 모델이 필요할 때 검색하도록 허용합니다. API 키를 사용하며 검색 요금이 발생할 수 있습니다. Responses API가 필요합니다. api-protocol: label: API 프로토콜 - description: 이 제공업체와 모델이 지원하는 API를 선택하세요. + description: 이 제공자와 모델이 지원하는 API를 선택하세요. api-key: label: API 키 description: 이 제공자에 대한 요청을 승인하는 데 사용되는 API 키 @@ -1532,7 +1718,7 @@ pages: sync: synced: 동기화됨 pending: 업로드 대기 중 - not-uploaded: 업로드되지 않았습니다. 이 기기에서 제공업체 설정을 완료하세요. + not-uploaded: 업로드되지 않았습니다. 이 기기에서 제공자 설정을 완료하세요. filters: pricing: 요금 deployment: 배포 @@ -1548,17 +1734,17 @@ pages: description: '텍스트 생성 모델 제공자를 구성합니다. (예시: OpenRouter, OpenAI, Ollama)' vision: title: 시각 - description: 이미지 이해를 위한 시각 모델 제공업체입니다. + description: 이미지 이해를 위한 시각 모델 제공자입니다. speech: - title: 음성 - description: '음성(TTS) 모델 제공자를 구성합니다. (예시: ElevenLabs, Azure Speech)' + title: 발성 + description: '발성(TTS) 모델 제공자를 구성합니다. (예시: ElevenLabs, Azure Speech)' transcription: title: 음성 인식 description: >- - 전사(음성에서 텍스트로) 모델 제공자를 구성합니다. (예시: Whisper.cpp, OpenAI, Azure Speech) + 음성 인식(STT) 모델 제공자를 구성합니다. (예시: Whisper.cpp, OpenAI, Azure Speech) artistry: title: 이미지 생성 - description: '이미지 생성 및 디자인 모델 제공업체입니다. 예: ComfyUI, Replicate.' + description: '이미지 생성 및 디자인 모델 제공자입니다. 예: ComfyUI, Replicate.' items: comfyui: description: 로컬 이미지 생성 실행기입니다. @@ -1572,10 +1758,10 @@ pages: AIRI는 적어도 하나의 {chat} 제공자가 올바르게 생각하고 행동하도록 구성되어야 합니다. AIRI 시스템에 거주하는 캐릭터의 두뇌라고 생각할 수 있습니다. explained: chat: '텍스트 생성 모델 제공자를 구성합니다. (예시: OpenRouter, OpenAI, Ollama)' - Speech: '음성(TTS) 모델 제공자를 구성합니다. (예시: ElevenLabs, Azure Speech)' + Speech: '발성(TTS) 모델 제공자를 구성합니다. (예시: ElevenLabs, Azure Speech)' Transcription: >- - 전사(speech에서 텍스트로) 모델 제공자를 구성합니다. (예시: Whisper.cpp, OpenAI, Azure Speech) - description: LLM, 음성 합성 제공자 등. + 음성 인식(STT) 모델 제공자를 구성합니다. (예시: Whisper.cpp, OpenAI, Azure Speech) + description: LLM, 발성 제공자 등. provider: sherpaw-transcription: description: 내장 모델 또는 필요할 때 다운로드하는 모델로 로컬 음성 인식을 수행합니다. API 키가 필요하지 않습니다. @@ -1634,7 +1820,7 @@ pages: part4: >- OpenAI SDK와 일치하지 않는 제한 사항으로 인해 현재 브라우저에서 이 제공자를 사용할 수 없습니다. part5: >- - 이 공급자를 사용해야 하는 경우 서버리스 기능과 같은 전용 프록시 백엔드가 필요합니다 + 이 제공자를 사용해야 하는 경우 서버리스 기능과 같은 전용 프록시 백엔드가 필요합니다 part6: 또는 일부 CORS 우회 서비스를 통해 CORS 제한을 우회할 수 있습니다. cloudflare-workers-ai: fields: @@ -1842,7 +2028,7 @@ pages: title: MiniMax 글로벌 minimax-speech: errors: - provider-initialization-failed: MiniMax 음성 공급자를 초기화하지 못했습니다. + provider-initialization-failed: MiniMax 발성 제공자를 초기화하지 못했습니다. fields: field: model: @@ -1877,17 +2063,17 @@ pages: prompt-api: description: 프롬프트 API를 사용하면 Chrome의 기본 모델에 자연어 요청을 보낼 수 있습니다. official: - title: 공식 제공업체 - description: AIRI에서 제공하는 공식 AI 제공업체입니다. - speech-title: 공식 음성 제공업체 - speech-description: AIRI에서 제공하는 공식 텍스트 음성 변환 제공업체입니다. - speech-streaming-title: 공식 스트리밍 음성 제공업체 - speech-streaming-description: AIRI에서 제공하는 공식 저지연 텍스트 음성 변환 제공업체입니다. 양방향 WebSocket을 사용합니다. - transcription-title: 공식 음성 인식 제공업체 - transcription-description: AIRI에서 제공하는 공식 음성 텍스트 변환 제공업체입니다. + title: 공식 제공자 + description: AIRI에서 제공하는 공식 AI 제공자입니다. + speech-title: 공식 발성 제공자 + speech-description: AIRI에서 제공하는 공식 발성 제공자입니다. + speech-streaming-title: 공식 스트리밍 발성 제공자 + speech-streaming-description: AIRI에서 제공하는 공식 저지연 발성 제공자입니다. 양방향 WebSocket을 사용합니다. + transcription-title: 공식 음성 인식 제공자 + transcription-description: AIRI에서 제공하는 공식 음성 텍스트 변환 제공자입니다. transcriptions: playground: - title: 전사 놀이터 + title: 음성 인식 놀이터 aihubmix: description: https://aihubmix.com (10% 할인) title: 제공자 @@ -1947,6 +2133,17 @@ pages: character_card_sync: title: 캐릭터 카드 클라우드 동기화 description: 로그인한 동안 캐릭터 카드를 계정과 동기화하여 다른 기기에서도 사용할 수 있게 합니다. 기본적으로 꺼져 있습니다. 삭제한 카드는 계정 기록에 30일 동안 남습니다. + display_model_sync: + title: 모델 클라우드 동기화 + description: 가져온 Live2D, VRM 모델을 로그인한 동안 계정에 업로드하여 다른 기기에서도 사용할 수 있게 합니다. 기본적으로 꺼져 있습니다. + fullscreen_workspace: + title: 전체 화면 작업 공간 + description: 설정과 채팅을 화면 전체를 덮는 작업 공간에서 열고, 캐릭터를 왼쪽에 둡니다. 기본적으로 꺼져 있습니다. + window_mode: + title: 창 모드 + description: 작업 공간을 어디에서 열지 선택하세요. + single_window: '단일 창: 캐릭터가 작업 공간으로 커집니다' + multi_window: '별도 창: 캐릭터는 바탕 화면에 그대로 있습니다' color-scheme: description: 장면의 색상 구성표를 변경합니다. title: 색상 구성표 @@ -1980,6 +2177,62 @@ pages: markdown-stress: title: 마크다운 스트레스 description: 스트레스 마크다운 구문 분석 및 대량 채팅 페이로드 렌더링 + needs-attention: + title: 조치 필요 + description: 설정 첫 화면의 조치 필요 목록을 시험합니다. 제공자 검증 결과와 캐릭터별 발성 상태를 확인하고, 일부러 문제를 일으켜 볼 수 있습니다. + timing-label: 검증 시점 + timing-signed-in: '로그인한 상태: 로그인할 때, 그리고 {minutes}분마다 동기화를 마친 뒤에 추가한 제공자를 검증합니다' + timing-signed-out: '로그인하지 않은 상태: 자동으로 검증하지 않습니다. 일부 제공자 설정 페이지에서, 또는 아래 버튼을 누를 때만 검증합니다.' + timing-periodic: '{names}: {seconds}초마다 추가로 검증합니다' + check-all: 지금 모두 검증 + restore-all: 다시 보지 않기로 한 항목 모두 표시({count}) + empty: 아직 검증한 제공자가 없습니다. + not-checked: 아직 검증하지 않음 + checked-ago: '{seconds}초 전' + every: '{seconds}초마다' + measured: 최근 {count}회 검증, 평균 {seconds}초 간격 + dismissed: 다시 보지 않음 + restore-one: 다시 보지 않기 취소 + simulate: 일부러 실패시키기 + simulated-reason: 개발자 도구에서 시뮬레이션한 실패입니다. + speech-title: 캐릭터 발성 + speech-off: 발성이 꺼져 있습니다 + speech-ready: 말할 수 있습니다 + speech-missing-model: 발성 모델이 없습니다 + speech-missing-voice: 음성이 없습니다 + speech-missing-model-voice: 발성 모델과 음성이 없습니다 + speech-provider-unusable: 발성 모듈이 지금 이 제공자를 사용할 수 없어 목록에는 대신 제공자 항목이 표시됩니다 + speech-pending: 모델 또는 음성 목록을 불러오는 중입니다 + items-title: 목록에 있는 항목 + items-empty: 지금은 조치가 필요한 항목이 없습니다. + selections-title: 모듈 제공자 + selection-usable: 사용할 수 있습니다 + selection-provider-item: 제공자 항목이 보고합니다 + selection-awaiting-check: 추가했으며 검증을 기다리는 중입니다 + selection-unusable: 모듈에서 사용할 수 없습니다 + simulate-unusable: 사용할 수 없는 것으로 처리 + voice-input-title: 음성 입력 + voice-input-mic-on: 마이크가 켜져 있습니다 + voice-input-mic-off: 마이크가 꺼져 있습니다 + voice-input-ready: 청각이 음성을 인식할 수 있습니다 + voice-input-not-ready: 청각에 음성 인식 제공자 또는 모델이 없습니다 + simulate-voice-input: 음성 인식 없이 켜진 것으로 처리 + simulate-speech: 음성이 없는 것으로 처리 + kinds: + chat: 채팅 + vision: 시각 + speech: 발성 + transcription: 음성 인식 + other: 기타 + status: + unconfigured: 설정되지 않음 + validating: 검증 중 + configured: 통과 + invalid: 실패 + bypassed: 검증하지 않음 + tool-payloads-as-json: + title: 도구 데이터를 JSON으로 표시 + description: 채팅의 도구 호출 인수와 결과를 서식이 적용된 필드 대신 JSON 트리로 표시합니다. 응답 속 카드에서도 원본 데이터를 볼 수 있습니다. plugin-host: actions: enable-and-load: 활성화 및 로드 @@ -2022,7 +2275,7 @@ pages: title: 채팅 description: 채팅 gesture-circle: - title: 제스처 서클(데스크탑 전용) + title: 제스처 서클(데스크톱 전용) description: 제스처 인식 테스트 image: title: 이미지 @@ -2040,7 +2293,7 @@ pages: title: 색상 추출 description: 색상 추출 테스트 providers-transcription-realtime-aliyun-nls: - title: Aliyun 실시간 전사자 + title: Aliyun 실시간 음성 인식기 description: >- Aliyun NLS로 마이크 오디오 스트리밍 및 라이브 녹취록 검사 performance-playground: @@ -2145,6 +2398,29 @@ pages: tip: label: 팁! description: 정사각형 이미지는 세로 모드에서 cover 방식으로 잘리며 장면 중앙을 중심으로 표시됩니다. +search: + placeholder: 설정 검색 + empty: '"{query}"에 해당하는 설정이 없습니다.' + not-shown: '"{name}" 항목은 이 페이지의 다른 상태에서만 표시됩니다. 예를 들어 스위치를 켜거나 다른 모델 유형을 선택하면 나타납니다.' +needs-attention: + title-one: '{name}의 마지막 검증에 실패했습니다' + title-unconfigured: '{name}의 설정이 끝나지 않았습니다' + title-many: '{count}개 항목에 조치가 필요합니다' + speech-no-model: '{name}에 발성 모델이 없습니다' + speech-no-voice: '{name}에 음성이 없습니다' + speech-no-model-voice: '{name}에 발성 모델과 음성이 없습니다' + text-only: 텍스트로만 응답합니다 + simulated: 개발자 도구에서 시뮬레이션함 + character-provider-unavailable: '{name}의 {module} 제공자를 사용할 수 없습니다' + module-provider-unavailable: '{module} 제공자를 사용할 수 없습니다' + provider-not-listed: 제공자 목록에 {provider} 항목이 없습니다 + hearing-no-provider: 음성 입력이 켜져 있지만 음성 인식 제공자가 선택되지 않았습니다 + hearing-no-model: 음성 입력이 켜져 있지만 음성 인식 모델이 선택되지 않았습니다 + not-transcribed: 말을 글로 바꾸지 않습니다 + affects: '{modules}에 영향을 줍니다' + used-by: '{modules}에서 사용 중' + fix: 수정 + dismiss: 다시 보지 않기 sections: section: general: diff --git a/packages/i18n/src/locales/ko/stage.yaml b/packages/i18n/src/locales/ko/stage.yaml index 2561ac6346..8c6112529a 100644 --- a/packages/i18n/src/locales/ko/stage.yaml +++ b/packages/i18n/src/locales/ko/stage.yaml @@ -17,12 +17,16 @@ mobile-tools: about: 정보 view: 보기 close-view: 보기 설정을 저장하고 닫기 - hearing: 청력 + hearing: 청각 + menu: 메뉴 + menu-unread: 메뉴, 읽지 않은 알림 {count}개 chat: + audio: + hearing-disabled: '[오디오 녹음: 음성 인식이 꺼져 있습니다.]' provider-configuration: - title: 채팅 제공업체가 설정되지 않았습니다 - description: 메시지를 보내기 전에 설정에서 제공업체를 선택하고 확인하세요. - action: 제공업체 설정 열기 + title: 채팅 제공자가 설정되지 않았습니다 + description: 메시지를 보내기 전에 설정에서 제공자를 선택하고 확인하세요. + action: 제공자 설정 열기 voice-message: recording: 녹음 중 starting: 마이크 시작 중 @@ -44,18 +48,18 @@ chat: retry: 음성 메시지 다시 보내기 discard: 음성 메시지 버리기 failed: 음성 입력 실패 - configure-title: 청력 설정 - configure-description: 받아쓰기를 사용하려면 청력에서 전사 제공자와 모델을 선택하세요. - configure-action: 청력 열기 + configure-title: 청각 설정 + configure-description: 받아쓰기를 사용하려면 청각에서 음성 인식 제공자와 모델을 선택하세요. + configure-action: 청각 열기 mode: 음성 입력 auto-send: 녹음이 끝나면 보내기 input-device: 마이크 system-default: 시스템 기본값 listen: 계속 듣기 push-to-talk: 눌러서 말하기 - push-to-talk-unavailable: 이 기기에는 눌러서 말하기 키가 없어 AIRI가 듣지 않습니다. 청력 설정에서 입력 모드를 변경하세요. + push-to-talk-unavailable: 이 기기에는 눌러서 말하기 키가 없어 AIRI가 듣지 않습니다. 청각 설정에서 입력 모드를 변경하세요. wake-word: 호출어 듣기 - hearing-settings: 청력 설정 더 보기… + hearing-settings: 청각 설정 더 보기… options-hint: 마우스를 올리거나 오른쪽 클릭하여 옵션 보기 recording: 녹음 중 stop: 녹음 중지 @@ -63,7 +67,7 @@ chat: play: 녹음 재생 pause: 일시 중지 voice-preview: - processing: 전사 마무리 중 + processing: 음성 인식 마무리 중 device: 오디오 입력 장치 device-description: 이 녹음에 사용할 마이크를 선택하세요. device-placeholder: 마이크 선택 @@ -84,6 +88,84 @@ chat: finalizing: 마무리 중… sent: 전송됨 voice-input: 음성 입력 + notice: + label: '{name}의 백그라운드 보고' + background-tasks: + label: 백그라운드 작업 + stop: '{name} 중지' + dismiss: '{name} 닫기' + status: + running: 진행 중 + done: 완료 + failed: 완료하지 못함 + interrupted: 중지됨 + judgment: + running: '{name} 판단 중' + judged: '{name} 판단함' + invalid: '{name} 판단하지 못함' + judgment-tool-call: + answer: 답 + next: 그다음 + reply: 평소처럼 응답 + stay-quiet: 응답하지 않음 + hint: '염두에 두고 응답: {text}' + recipe-steps: '{name} 레시피 사용' + recipe-decision: '{name} 판단' + recipe-background: '{name} 레시피에 맡기기' + recipe: + using: '{name} 레시피 사용 중' + loaded: '{name} 레시피 사용함' + started: '{name} 레시피에 맡김' + pending: '{name} 레시피 승인 대기 중' + disabled: '{name} 레시피 꺼짐' + unknown: '{name} 레시피를 찾을 수 없음' + refused: '{name} 레시피를 시작하지 못함' + failed: '{name} 레시피를 시작하지 못함' + recipe-tool-call: + task: 작업 + usable: 지금 사용할 수 있는 레시피 + pending: 이 레시피는 승인을 기다리는 중입니다. + disabled: 이 레시피는 꺼져 있습니다. + unknown: 이 이름의 레시피가 없습니다. + refused: 레시피를 시작하지 못했습니다. + invoked-skill: + steps: '{name} 레시피 사용함' + background: '{name} 레시피에 맡김' + decision: '{name} 레시피 사용함' + question: 질문 + yes: 예 + no: 아니요 + home-assistant-tool-call: + shown: 기기 {total}개 중 {count}개 표시 + web-search-tool-call: + results: '"{query}" 검색 결과 · {count}개' + tool-calls: + running-one: '{name} 사용 중' + failed-one: '{name} 완료되지 않음' + combo-running: 콤보 ×{count} + combo: '{count}히트 콤보' + combo-failed: '{count}히트 콤보, {failed}회 빗나감' + arguments: 인수 + result: 결과 + copy: 원본 데이터 복사 + copied: 복사됨 + raw: 원본 데이터 + other: 기타 데이터 + widget: 위젯 + rerun: 다시 실행 + card-making: 이 도구의 카드를 만드는 중… + card-remaking: 새 카드를 만드는 중… + card-regenerate: 새 카드 만들기 + card-failed: 이 도구의 카드를 만들지 못했습니다 + card-retry: 다시 시도 + state: + executing: 실행 중 + done: 완료 + error: 실패 + reply-card: + drawing: 카드를 만드는 중… + raw: 원본 데이터 + card: 카드 error-details: show: 상세 정보 보기 hide: 상세 정보 숨기기 @@ -134,6 +216,11 @@ chat: cloud-badge: 클라우드에 동기화됨 new-chat-fallback: 새 채팅 delete: 대화 삭제 +avatar-model-missing: + title: 아직 모델을 선택하지 않았습니다 + unavailable-title: 이 모델은 이 기기에 없습니다 + description: 스테이지에 {name} 캐릭터를 표시하려면 모델을 선택하세요. + select: 모델 선택 render-error: title: '{renderer}에서 이 모델을 렌더링할 수 없습니다' description: 모델이 선택되었지만 스테이지에 표시할 수 없습니다. @@ -226,11 +313,11 @@ promo-banner: cta: 작업 보기 spring: watermark: 봄 - fallbackLabel: 봄 추첨 + fallbackLabel: 봄 뽑기 title: 캡슐 카니발 - eventName: 봄 추첨에 참여해 말풍선, 장식, 테마 가구를 잠금 해제하세요. - reward: 첫 추첨 반값 + 희귀 장식 - cta: 지금 추첨하기 + eventName: 봄 뽑기에 참여해 말풍선, 장식, 테마 가구를 잠금 해제하세요. + reward: 첫 뽑기 반값 + 희귀 장식 + cta: 지금 뽑기 coupon: watermark: 대화 fallbackLabel: 쿠폰 @@ -243,7 +330,7 @@ promo-banner: fallbackLabel: 방 테마 title: 봄 테마 업데이트 eventName: ........ - reward: 출석 시 무료 테마 추첨권 + reward: 출석 시 무료 테마 뽑기권 cta: 테마 보기 waiting: 대기 중 websocket-status: @@ -257,8 +344,8 @@ status: preparing: 마이크 준비 중 listening: 듣는 중 paused: AIRI가 말하는 동안 듣기 일시 중지 - transcribing: 전사 중 - hearing-error: 오디오를 전사할 수 없습니다 + transcribing: 음성 인식 중 + hearing-error: 오디오에서 음성을 인식할 수 없습니다 no-transcript: 인식된 음성이 여기에 표시됩니다. signing-in: 브라우저에서 로그인을 완료하세요 confirming: 로그인 확인 중 @@ -266,4 +353,25 @@ status: sign-in-error: 로그인 실패 sign-in-unconfirmed: 세션을 확인할 수 없습니다. 다시 로그인하세요. dismiss: 무시 - configure-hearing: 설정에서 청력 제공자를 선택하고 구성하세요. + configure-hearing: 설정에서 청각 제공자를 선택하고 구성하세요. +notifications: + title: 알림 + open: 알림 열기 + open-unread: 알림 열기, 읽지 않은 알림 {count}개 + mark-all-read: 모두 읽음으로 표시 + empty: 아직 알림이 없습니다 + loading: 알림 불러오는 중 + back: 뒤로 + error: 알림을 불러오지 못했습니다. + retry: 다시 시도 + just-now: 방금 + kinds: + flux-granted: + title: '{amount} Flux를 받았습니다' + subscription-renewed: + title: '{plan} 구독이 갱신되었습니다' + body: '{periodEnd}까지 이용할 수 있습니다.' + subscription-payment-failed: + title: 갱신 결제에 실패했습니다 + body: '{retryAt}에 다시 시도합니다. {plan} 구독을 계속 이용하려면 결제 수단을 업데이트하세요.' + body-no-retry: '{plan} 구독을 계속 이용하려면 결제 수단을 업데이트하세요.' diff --git a/packages/i18n/src/locales/ko/tamagotchi/settings.yaml b/packages/i18n/src/locales/ko/tamagotchi/settings.yaml index 43050dfe45..03eacf57eb 100644 --- a/packages/i18n/src/locales/ko/tamagotchi/settings.yaml +++ b/packages/i18n/src/locales/ko/tamagotchi/settings.yaml @@ -4,7 +4,7 @@ allow-visible-on-all-workspaces: microphone-permission: prompt: title: 마이크 접근을 허용할까요? - description: AIRI는 음성 입력과 전사에 마이크를 사용합니다. 설정에서 초기화할 때까지 이 선택이 유지됩니다. + description: AIRI는 음성 입력과 음성 인식에 마이크를 사용합니다. 설정에서 초기화할 때까지 이 선택이 유지됩니다. allow: 허용 deny: 거부 states: @@ -47,7 +47,7 @@ pages: push-to-talk: title: 눌러서 말하기 단축키 description: 어느 앱에서든 이 단축키를 누른 채 AIRI에게 말하세요. 단축키를 클릭한 다음 새 단축키를 누르세요. Esc를 누르면 취소됩니다. - inactive: 청력 입력 모드가 눌러서 말하기이고 마이크가 켜져 있을 때만 이 단축키가 작동합니다. + inactive: 청각 입력 모드가 눌러서 말하기이고 마이크가 켜져 있을 때만 이 단축키가 작동합니다. actions: recording: 키를 누르세요 reset: 재설정 @@ -539,6 +539,9 @@ devtools: description: 스트레스 마크다운 구문 분석 및 대량 채팅 페이로드 렌더링 io-tracer: title: 입출력 추적기 + collection: + title: 최근 입출력 추적을 메모리에 보관 + description: 입출력 추적기가 열리기 전의 상황도 보여 줄 수 있도록, 최근 30분 동안의 입출력 스팬을 최대 5000개까지 보관합니다. recording: title: 입출력 추적 자동 기록 description: 완료된 입출력 스팬을 앱 데이터 폴더에 JSON Lines로 저장하여 코딩 에이전트가 분석할 수 있게 합니다. 7일이 지난 파일은 삭제됩니다. diff --git a/packages/i18n/src/locales/ko/tamagotchi/stage.yaml b/packages/i18n/src/locales/ko/tamagotchi/stage.yaml index a558301f0b..9f28f7ddc6 100644 --- a/packages/i18n/src/locales/ko/tamagotchi/stage.yaml +++ b/packages/i18n/src/locales/ko/tamagotchi/stage.yaml @@ -13,6 +13,15 @@ docs: navbar: appearance: title: 스타일 및 모양 +fullscreen-island: + settings: 설정 + chat: 채팅 + switch-to-dark-mode: 다크 모드로 전환 + switch-to-system-mode: 시스템 테마 따르기 + switch-to-light-mode: 라이트 모드로 전환 + exit: 전체 화면 종료 +fullscreen-surface: + resize: 드래그하여 패널 너비 조절 'controls-island': 'fade-on-hover': enable: 자동 숨기기 @@ -22,7 +31,7 @@ docs: 'hide-chat': 채팅 숨기기 'refresh': 새로고침 'center-main-window': 화면 중앙으로 이동 - 'open-hearing-controls': 듣기 제어 열기 + 'open-hearing-controls': 청각 제어 열기 'enable-microphone': 마이크 켜기 'disable-microphone': 마이크 끄기 'drag-to-move-window': 드레그하여 창 이동 @@ -45,7 +54,17 @@ docs: style: title: 채팅 창 스타일 legacy: 클래식 창 + floating: 플로팅 + fullscreen: 전체 화면, 캐릭터 옆 + attached: 캐릭터 옆 move: 드래그하여 채팅 이동 + resize-corner: + ne: 우측 상단 모서리에서 크기 조절 + nw: 좌측 상단 모서리에서 크기 조절 + se: 우측 하단 모서리에서 크기 조절 + sw: 좌측 하단 모서리에서 크기 조절 + danmaku: 메시지 피드 + pin: 맨 위에 고정 fold: 채팅 숨기기 composer: show: 메시지 입력창 표시 @@ -54,6 +73,7 @@ docs: title: 메시지 표시 시간 hide-read: 읽은 메시지 숨기기 hide-read-description: 메시지는 읽은 뒤 사라집니다. 음성 응답은 발화가 끝나면 사라집니다. + options-hint: 마우스를 올리거나 오른쪽 클릭하여 옵션 보기 reading-speed: 읽기 속도 reading-speed-value: '초당 {count}자' minimum-time: 최소 시간 @@ -73,7 +93,7 @@ notice: intro: 커서가 근처를 돌아다니면 캐릭터가 자동으로 페이드됩니다. 캐릭터가 눈에 띄게 유지되면서 방해 요소를 줄이는 데 도움이 됩니다. opacity: 전원을 켜면 커서가 가까이 있을 때 두 {targets} 모두에 대해 불투명도가 {value}으로 떨어집니다. toggle: '{controls}에서 마우스를 누른 후 {icon}을 다시 클릭하여 끌 수 있습니다.' - controls-label: 제어 섬 + controls-label: 조작 버튼 icon-label: eye-slash 아이콘 targets: 캐릭터 및 UI confirm: 확인 @@ -82,8 +102,9 @@ notice: read-more: 더 보기 preview-title: 이게 뭐죠? about: - subtitle: 데스크탑 버전 + subtitle: 데스크톱 버전 current-version: 현재 버전 + build-origin: "{branch}{'@'}{commit}에서 {time}에 빌드됨" common: cancel: 취소 links: @@ -92,6 +113,9 @@ about: documentation: 문서 github: Github update: + auto-download: + label: 업데이트 자동 다운로드 + description: 이 기능을 끄면 "업데이트 다운로드"를 선택할 때만 업데이트를 다운로드합니다. lane: label: 업데이트 라인 description: 따라갈 릴리즈 채널을 선택하세요 @@ -103,7 +127,9 @@ about: beta: 베타 canary: 카나리아 nightly: 실험적 + dev: 개발 status: + manual-install-required: v{version} 버전은 새로 설치해야 합니다. 다운로드한 뒤 직접 설치하세요. downloading: 업데이트 다운로드 중... error-prefix: 에러 latest: 최신 버전 (v{version}). @@ -111,6 +137,7 @@ about: windows: 조용히 설치할 준비가 되었어요 (v{version}). restart: 재시작시 업데이트를 설치할 준비가 되었어요 (v{version}). actions: + open-download-page: 다운로드 페이지 열기 download: 업데이트 다운로드 download-short: 다운로드 confirm-download: 다운로드 확인 @@ -127,3 +154,135 @@ about: title: 업데이트 사용 가능 description: 새로운 버전 (v{version})이 이용 가능해요. no-release-notes-markdown: _릴리스 노트가 제공되지 않았습니다._ +computer-use-tool-call: + help: 도움말 + status: + completed: 완료 + failed: 실패 + display: 디스플레이 + built-in: 내장 + primary: 주 디스플레이 + logical-size: 논리 크기 + pixel-size: 픽셀 크기 + backend: 캡처 백엔드 + fallback: 대체 방식 사용 이유 + file: 파일 + window: 창 + region: 영역 + main: 메인 창 + hidden: 숨김 + displays: 디스플레이 1개 | 디스플레이 {count}개 + windows: 창 1개 | 창 {count}개 + found: '"{query}" 찾음' + matches: 일치 1건 | 일치 {count}건 + not-found: '"{query}" 찾지 못함' + clicked-text: '"{query}" 클릭함' + options: 옵션 + typed: 입력함 + pasted: 붙여넣음 + pressed: 누름 + interval: '{ms} ms마다' + hold: '{ms} ms 동안 누름' + steps: 단계 1개를 순서대로 실행함 | 단계 {count}개를 순서대로 실행함 + focused: '"{query}"에 포커스를 맞춤' + app: 앱 + process: 프로세스 + control: 컨트롤 + title: 제목 + value: 내용 + ax-path: 손쉬운 사용 경로 + moved: 포인터를 이동함 + clicked: 클릭함 + dragged: 드래그함 + requested: 요청한 위치 + on-screen: 화면상 위치 + start: 시작점 + end: 끝점 + final: 최종 위치 + normalized: 정규화된 좌표 + relative: + screen: 화면 기준 + window: 창 기준 + display: 디스플레이 기준 + buttons: + left: 왼쪽 버튼 + right: 오른쪽 버튼 + middle: 가운데 버튼 + clicks: + single: 한 번 클릭 + double: 두 번 클릭 + delivery: + path: 전달 방식 + verified: 효과 확인됨 + not-verified: 효과 확인 안 됨 + disturbance: 방해 + mouse: 마우스 + focus: 포커스 + clipboard: 클립보드 + attempt: '{index}번째 시도' + attempt-succeeded: 성공 + attempt-failed: 실패 + paths: + foreground_system_events: 포그라운드 시스템 이벤트 + window_targeted_keyboard: 창으로 보낸 키보드 이벤트 + ax_focus: 손쉬운 사용 포커스 + disturbances: + none: 없음 + temporary: 일시적 + foreground: 맨 앞으로 가져옴 + unknown: 알 수 없음 + activated: '{app} 앱으로 전환함' + in-front: 이제 맨 앞에 있음 + front-is: '맨 앞에 있는 앱: {app}' + front-unknown: 맨 앞에 있는 앱을 확인하지 못함 + permissions: + title: 시스템 권한 + names: + screen_recording: 화면 녹화 + accessibility: 손쉬운 사용 + automation_to_system_events: 자동화 (System Events) + states: + granted: 허용됨 + missing: 허용되지 않음 + denied: 거부됨 + unknown: 알 수 없음 + media: + commands: + play: 재생 + pause: 일시 중지 + toggle: 재생 또는 일시 중지 + next: 다음 곡 + previous: 이전 곡 + verified: 확인됨 + not-verified: 확인 안 됨 + playing: 재생 중 + paused: 일시 중지됨 + nothing: 재생 중인 항목 없음 + liked: 좋아요 표시됨 + rate: '{rate}배속' +computer-use-read-image-tool-call: + description: 시각 모델의 설명 + failed: 시각 모델이 이 이미지를 읽지 못했습니다 +tool-call-screenshot: + view-full: 원본 크기로 보기 +weather-tool-call: + feels-like: 체감 + humidity: 습도 + wind: 바람 + precipitation: 강수 확률 + high: 최고 + low: 최저 + conditions: + clear-day: 맑음 + clear-night: 맑음 + partly-cloudy-day: 구름 조금 + partly-cloudy-night: 구름 조금 + overcast: 흐림 + fog: 안개 + drizzle: 이슬비 + sleet: 진눈깨비 + rain: 비 + extreme-rain: 폭우 + snow: 눈 + extreme-snow: 폭설 + thunderstorm: 뇌우