{
"cli.bundle.add.adding": "bundle에 pack 추가 중...",
"cli.bundle.add.bundle": " Bundle: {}",
"cli.bundle.add.created_structure": "{}에 bundle 구조가 생성되었습니다",
"cli.bundle.add.dry_run": "[dry-run] bundle에 pack을 추가할 예정입니다",
"cli.bundle.add.env": " Env: {}",
"cli.bundle.add.pack_ref": " Pack 참조: {}",
"cli.bundle.add.resolved": " 해결된 packs: {}",
"cli.bundle.add.success": "pack이 bundle에 성공적으로 추가되었습니다.",
"cli.bundle.add.team": " Team: {}",
"cli.bundle.add.tenant": " Tenant: {}",
"cli.bundle.add.version_warning": "경고: 버전 {} 검증에 실패했습니다: {}",
"cli.bundle.build.building": "이동 가능한 bundle 빌드 중...",
"cli.bundle.build.output": " 출력: {}",
"cli.bundle.build.running_doctor": "doctor 검증 실행 중...",
"cli.bundle.build.success": "bundle이 {}에 성공적으로 빌드되었습니다",
"cli.bundle.init.created": "{}에 bundle이 생성되었습니다",
"cli.bundle.init.creating": "{}에 bundle 생성 중...",
"cli.bundle.init.exists": "{}에 bundle이 이미 존재합니다",
"cli.bundle.init.next_steps": "다음 단계:",
"cli.bundle.init.step_add": " 1. greentic-setup bundle add <pack.gtpack> --bundle {}",
"cli.bundle.init.step_setup": " 2. greentic-setup bundle setup --bundle {} --answers answers.yaml",
"cli.bundle.list.bundle": "Bundle: {}",
"cli.bundle.list.domain": "Domain: {}",
"cli.bundle.list.packs_found": "발견된 Packs: {}",
"cli.bundle.remove.cancelled": "제거가 취소되었습니다 - --force를 사용하여 확인하세요",
"cli.bundle.remove.complete": "provider가 제거되었습니다: {}",
"cli.bundle.remove.confirm": "이 작업은 provider 구성을 제거합니다.",
"cli.bundle.remove.removing": "provider 제거 중...",
"cli.bundle.remove.use_force": "--force를 사용하여 확인하세요.",
"cli.bundle.setup.complete": "provider 설정 완료: {}",
"cli.bundle.setup.domain": " Domain: {}",
"cli.bundle.setup.dry_run": "[dry-run] provider를 설정할 예정입니다: {}",
"cli.bundle.setup.emit_usage": "편집 후 사용하세요: greentic-setup bundle setup --answers {}",
"cli.bundle.setup.emit_written": "응답 템플릿이 작성되었습니다: {}",
"cli.bundle.setup.env_bootstrap_created": "{}에 기본 기능 바인딩으로 `local` 환경을 부트스트랩했습니다.",
"cli.bundle.setup.interactive_not_impl": "대화형 설정이 아직 구현되지 않았습니다.",
"cli.bundle.setup.provider": " Provider: {}",
"cli.bundle.setup.setting_up": "provider 설정 중...",
"cli.bundle.setup.use_answers": "--answers <file>을 사용하여 설정 응답을 제공하세요.",
"cli.bundle.setup.use_emit_answers": "또는 --emit-answers <file>을 사용하여 응답 템플릿을 생성하세요.",
"cli.bundle.status.bundle_label": "Bundle: {}",
"cli.bundle.status.not_found": "bundle을 찾을 수 없습니다: {}",
"cli.bundle.status.packs": "Packs: {} 설치됨",
"cli.bundle.status.tenants": "Tenants: {}",
"cli.bundle.status.valid_no": "아니오 (greentic.demo.yaml 누락)",
"cli.bundle.status.valid_yes": "예",
"cli.bundle.update.complete": "provider 업데이트 완료: {}",
"cli.bundle.update.dry_run": "[dry-run] provider를 업데이트할 예정입니다: {}",
"cli.bundle.update.emit_usage": "편집 후 사용하세요: greentic-setup bundle update --answers {}",
"cli.bundle.update.updating": "provider 구성 업데이트 중...",
"cli.error.answers_required": "비대화형 모드에서는 --answers가 필요합니다",
"cli.error.failed_build_plan": "계획 빌드에 실패했습니다",
"cli.error.failed_create_bundle": "bundle 구조 생성에 실패했습니다",
"cli.error.failed_emit_answers": "응답 템플릿 생성에 실패했습니다",
"cli.error.failed_execute_plan": "계획 실행에 실패했습니다",
"cli.error.failed_read_answers": "응답 파일 읽기에 실패했습니다",
"cli.error.interactive_required": "대화형 설정에는 --answers 파일이 필요합니다",
"cli.error.invalid_bundle": "유효하지 않은 bundle 디렉토리",
"cli.help.for_help": "도움말: greentic-setup --help",
"cli.simple.bundle_required": "bundle 경로가 필요합니다. 사용법: greentic-setup [OPTIONS] <BUNDLE>",
"cli.simple.dry_run": "[dry-run] bundle을 설정할 예정입니다: {}",
"cli.simple.emit_usage": "편집 후 사용하세요: greentic-setup --answers {} {}",
"cli.simple.expected_bundle_format": "디렉토리 또는 .gtbundle 파일이 필요합니다: {}",
"cli.simple.extracted_to": " 추출 위치: {}",
"cli.simple.extracting": ".gtbundle 아카이브 추출 중...",
"cli.simple.header": "Greentic 설정",
"cli.simple.interactive_mode": "대화형 마법사 모드",
"cli.simple.wizard_not_impl": "대화형 마법사가 아직 구현되지 않았습니다 - --answers <file>을 사용하세요",
"env_wizard.basic_mode": "기본 모드 — 고객 ID, 구성 재정의, 라우트 호스트, 환영 플로우, 엔드포인트 시크릿 참조도 설정하려면 --advanced를 전달하세요.",
"env_wizard.dry_run_secrets_note": "참고: --dry-run은 미리보기만 수행합니다 — 입력한 {}개의 붙여넣은 시크릿 값은 저장소에 기록되지 않습니다. 이를 영구 저장하려면 --dry-run 없이 다시 실행하고 계획을 확인하세요.",
"env_wizard.form.desc": "`greentic.env-manifest.v1` 매니페스트를 작성합니다 — 하나의 환경에 대한 지속적이고 다시 적용 가능한 원하는 상태 문서입니다.",
"env_wizard.form.title": "환경 설정",
"env_wizard.list.bundles.item_label": "번들",
"env_wizard.list.messaging_endpoints.item_label": "메시징 엔드포인트",
"env_wizard.list.secrets.item_label": "시크릿",
"env_wizard.manifest_prompt": "매니페스트 파일 [{}]: ",
"env_wizard.q.bundle_id.desc": "자연 키 — 매니페스트 내에서 고유합니다.",
"env_wizard.q.bundle_id.title": "번들 ID",
"env_wizard.q.bundle_path.desc": "로컬 `.gtbundle`. 상대 경로는 매니페스트 파일의 디렉터리를 기준으로 해석됩니다.",
"env_wizard.q.bundle_path.title": "번들 경로",
"env_wizard.q.bundles.desc": "이 환경의 번들 배포입니다.",
"env_wizard.q.bundles.title": "번들",
"env_wizard.q.config_overrides.desc": "JSON 객체 `{\"<pack_id>\": {\"<key>\": <value>}}`. 비어 있으면 그대로 둡니다. `{}` = 명시적 지우기.",
"env_wizard.q.config_overrides.title": "구성 재정의(JSON)",
"env_wizard.q.customer_id.desc": "청구 주체 — `local`이 아닌 환경에 적용할 때 필요합니다.",
"env_wizard.q.customer_id.title": "고객 ID",
"env_wizard.q.environment_id.desc": "적용할 환경입니다. `local`은 기본 env-pack 바인딩으로 부트스트랩됩니다. 다른 모든 ID는 이미 존재해야 합니다(apply가 조정함; 비로컬 환경 생성은 운영자 저장소용으로 예약되어 있음).",
"env_wizard.q.environment_id.title": "환경 ID",
"env_wizard.q.from_env.desc": "시크릿 값을 보유한 변수 이름(예: TELEGRAM_BOT_TOKEN) — 값이 아니라 이름입니다. 소스가 `env`일 때 필요합니다.",
"env_wizard.q.from_env.title": "환경 변수 이름",
"env_wizard.q.links.desc": "이 엔드포인트가 허용하는 쉼표로 구분된 `bundle_id` 목록입니다.",
"env_wizard.q.links.title": "연결된 번들 ID",
"env_wizard.q.messaging_endpoints.desc": "메시징 엔드포인트와 해당 번들 링크입니다.",
"env_wizard.q.messaging_endpoints.title": "메시징 엔드포인트",
"env_wizard.q.name.desc": "매니페스트 로컬 핸들과 표시 이름입니다. 제공자 유형과 함께 upsert 키가 됩니다.",
"env_wizard.q.name.title": "엔드포인트 이름",
"env_wizard.q.path.desc": "`<tenant>/<team>/<pack>/<name>`, 예: default/_/messaging-telegram/telegram_bot_token",
"env_wizard.q.path.title": "시크릿 경로",
"env_wizard.q.provider_type.desc": "제공자 클래스, 예: messaging.telegram.bot.",
"env_wizard.q.provider_type.title": "제공자 유형",
"env_wizard.q.public_base_url.desc": "환경에 저장되는 origin 전용 URL입니다(예: https://bots.example.com). 현재 값을 유지하려면 비워 두세요.",
"env_wizard.q.public_base_url.title": "공개 기본 URL",
"env_wizard.q.route_hosts.desc": "라우트 바인딩을 위한 쉼표로 구분된 호스트 이름입니다.",
"env_wizard.q.route_hosts.title": "라우트 호스트",
"env_wizard.q.route_path_prefixes.desc": "각각 `/`로 시작하는 쉼표로 구분된 HTTP 경로 접두사입니다(예: /legal).",
"env_wizard.q.route_path_prefixes.title": "라우트 경로 접두사",
"env_wizard.q.route_team.desc": "라우트 바인딩의 테넌트 선택기를 위한 팀 — `route_tenant`와 함께 설정합니다.",
"env_wizard.q.route_team.title": "라우트 팀",
"env_wizard.q.route_tenant.desc": "라우트 바인딩의 테넌트 선택기를 위한 테넌트 — `route_team`과 함께 설정합니다.",
"env_wizard.q.route_tenant.title": "라우트 테넌트",
"env_wizard.q.secret_refs.desc": "엔드포인트 생성 시 전달되는 쉼표로 구분된 시크릿 참조입니다.",
"env_wizard.q.secret_refs.title": "시크릿 참조",
"env_wizard.q.secrets.desc": "개발 저장소 시크릿 항목입니다. 각 시크릿의 값은 이름이 지정된 환경 변수 또는 사용자가 붙여넣은 값에서 옵니다 — 값은 매니페스트에 절대 들어가지 않습니다.",
"env_wizard.q.secrets.title": "시크릿",
"env_wizard.q.source.desc": "`env`는 적용 시점에 이름이 지정된 환경 변수에서 값을 읽습니다. `paste`는 값을 대화형으로 입력하게 합니다 — 값은 env의 시크릿 저장소에 저장되며 매니페스트에는 절대 저장되지 않습니다.",
"env_wizard.q.source.title": "시크릿 소스",
"env_wizard.q.trust_root_bootstrap.desc": "로컬 운영자 키로 환경 신뢰 루트를 시드합니다(멱등적이며, 번들을 스테이징하기 전에 한 번 필요함).",
"env_wizard.q.trust_root_bootstrap.title": "신뢰 루트를 부트스트랩하시겠습니까?",
"env_wizard.q.webchat_gui.desc": "내장 웹챗 콘솔을 제공하여 브라우저에서 해당 URL을 열어 이 환경과 채팅할 수 있게 합니다. `local`에서는 기본적으로 켜져 있습니다. 채팅 경로는 루프백 전용이며 인증되지 않으므로, 의도한 경우가 아니라면 공개 URL에 노출된 환경에서는 꺼 두세요.",
"env_wizard.q.webchat_gui.title": "웹챗 GUI를 추가하시겠습니까?",
"env_wizard.q.welcome_bundle_id.desc": "세 개의 welcome_* 필드를 함께 설정하세요(또는 모두 설정하지 마세요).",
"env_wizard.q.welcome_bundle_id.title": "환영 플로우: 번들 id",
"env_wizard.q.welcome_flow_id.desc": "세 개의 welcome_* 필드를 함께 설정하세요(또는 모두 설정하지 마세요).",
"env_wizard.q.welcome_flow_id.title": "환영 플로우: 플로우 id",
"env_wizard.q.welcome_pack_id.desc": "세 개의 welcome_* 필드를 함께 설정하세요(또는 모두 설정하지 마세요).",
"env_wizard.q.welcome_pack_id.title": "환영 플로우: 팩 id",
"env_wizard.secrets.choose": "각 항목에 대해 값의 출처를 선택하세요: 이름이 지정된 환경\n변수에서 가져오거나 지금 붙여넣습니다. 붙여넣은 값은 환경의\n시크릿 저장소에 저장되며 매니페스트에는 절대 기록되지 않습니다.",
"env_wizard.secrets.entry": "{} — {} (번들: {}){}",
"env_wizard.secrets.envvar_prompt": "환경 변수 이름 [{}]: ",
"env_wizard.secrets.envvar_required": "환경 변수 이름은 필수입니다.",
"env_wizard.secrets.keep_env_note": "참고: 기존 시크릿 `{}` 유지 중(번들이 다시 빌드되지 않음)",
"env_wizard.secrets.keep_paste_note": "참고: 기존 붙여넣은 시크릿 `{}` 유지 중(번들이 다시 빌드되지 않음)",
"env_wizard.secrets.need": "시크릿 — 구성된 번들에는 {}개의 시크릿이 필요합니다.",
"env_wizard.secrets.none": "시크릿 — 구성된 번들은 시크릿을 선언하지 않았습니다. 입력할 항목이 없습니다.",
"env_wizard.secrets.optional_suffix": " [선택 사항]",
"env_wizard.secrets.paste_prompt": "값 붙여넣기(숨김, 한 줄): ",
"env_wizard.secrets.paste_prompt_keep": "값 붙여넣기(숨김, 한 줄; 비워 두면 저장된 값 유지): ",
"env_wizard.secrets.paste_required": "값은 필수입니다.",
"env_wizard.secrets.path": "시크릿 경로: {}",
"env_wizard.secrets.source_invalid": "1(환경 변수) 또는 2(붙여넣기)를 입력하세요.",
"env_wizard.secrets.source_prompt": "값 출처: [1] 환경 변수 또는 [2] 지금 붙여넣기? [{}]: ",
"env_wizard.wrote_manifest": "`{}` 작성됨 — 매니페스트는 지속적으로 보관되는 산출물입니다. 버전 관리에 보관하세요.",
"setup.answers.emitted": "응답 템플릿이 {}에 작성되었습니다",
"setup.answers.loaded": "{}에서 응답을 로드했습니다",
"setup.capability.not_found": "'{}' capability를 찾을 수 없습니다",
"setup.capability.resolved": "capability 해결됨: pack_id={} stable_id={}",
"setup.discovering_packs": "bundle에서 packs 검색 중...",
"setup.dry_run.header": "설정 계획 (dry-run):",
"setup.error.bundle_not_found": "bundle을 찾을 수 없습니다: {}",
"setup.error.protocol_not_supported": "아직 지원되지 않는 프로토콜입니다: {}",
"setup.error.version_mismatch": "태그 버전({})이 크레이트 버전({})과 일치하지 않습니다",
"setup.execute.failed": "설정 실패: {}",
"setup.execute.success": "설정 완료: {}",
"setup.found_packs": "{}개의 pack 발견: {}",
"setup.plan.header": "설정 계획:",
"setup.plan.step.collect_answers": "{}에 대한 응답 수집",
"setup.plan.step.discover": "packs 검색",
"setup.plan.step.resolve": "해결된 매니페스트 생성",
"setup.plan.step.run_setup": "{}에 대한 설정 flow 실행",
"setup.plan.step.seed_secrets": "{}에 대한 secrets 시드",
"setup.plan.step.validate": "bundle 검증",
"setup.plan.step.webhooks": "{}에 대한 webhooks 등록",
"setup.plan.step.write_config": "{}에 대한 구성 작성",
"setup.qa.invalid_choice": "유효하지 않은 선택입니다. 옵션: {}",
"setup.qa.list.add_first": "{}을(를) 추가하시겠습니까? [y/N] ",
"setup.qa.list.add_more": "다른 {}을(를) 추가하시겠습니까? [y/N] ",
"setup.qa.list.field_required_row": "이 필드는 필수입니다 — 최소 한 개의 행이 필요합니다.",
"setup.qa.list.max_reached": "(최대 {}개 행에 도달함)",
"setup.qa.list.min_required": "최소 {}개 행이 필요합니다 — 현재 {}개입니다. 하나 더 추가하려면 'y'를 입력하세요.",
"setup.qa.list.row_dropped": "(행이 삭제됨 — 필수 열이 비어 있음)",
"setup.qa.list.row_header": "행 #{}:",
"setup.qa.prompt.configuring": "{} 구성 중: {}",
"setup.qa.prompt.default": "(기본값: {}) ",
"setup.qa.prompt.field_required": "이 필드는 필수입니다.",
"setup.qa.prompt.invalid_choice": "잘못된 선택입니다. 옵션: {}",
"setup.qa.prompt.invalid_format": "잘못된 형식입니다. 예상 패턴: {}",
"setup.qa.prompt.mode_advanced": " (고급)",
"setup.qa.prompt.optional_marker": " (선택 사항)",
"setup.qa.prompt.required_marker": " (필수)",
"setup.qa.question_prompt": "{}",
"setup.qa.required_field": "이 필드는 필수입니다",
"setup.qa.secret_input": "secret 값을 입력하세요 (숨김):",
"setup.secrets.failed": "provider={} tenant={}에 대한 secrets 시드에 실패했습니다: {}",
"setup.secrets.seeded": "{}개의 secret이 시드되었습니다: provider={} tenant={}",
"setup.state_store.fallback": "인메모리 상태 저장소 사용 중 (Redis URL 없음)",
"setup.state_store.upgraded": "상태 저장소가 Redis로 업그레이드되었습니다: {}",
"ui.back": "뒤로",
"ui.close": "닫기",
"ui.configure": "{} 구성",
"ui.continue": "계속",
"ui.dashboard.add_scope": "범위 추가",
"ui.dashboard.back": "대시보드로 돌아가기",
"ui.dashboard.configured": "구성됨",
"ui.dashboard.delete": "삭제",
"ui.dashboard.description": "{}에서 {} 제공자를 구성합니다. 서로 다른 테넌트/환경에 대해 여러 범위를 만드세요.",
"ui.dashboard.executed": "실행됨",
"ui.dashboard.export": "답변 내보내기",
"ui.description": "{}에서 {} 공급자 구성",
"ui.discovering": "공급자 검색 중...",
"ui.discovering_sub": "번들 구성 읽는 중",
"ui.done": "완료",
"ui.execute_setup": "설정 실행",
"ui.executing.sub": "번들에 구성 적용 중",
"ui.executing.title": "설정 실행 중...",
"ui.export.description": "--answers 모드와 호환되는 JSON 답변 파일로 구성을 다운로드합니다.",
"ui.export.download": "answers.json 다운로드",
"ui.export.password": "암호화 비밀번호",
"ui.export.password_help": "설정하면 비밀 값이 AES-256-GCM으로 암호화됩니다. --answers --key 사용 시 이 비밀번호가 필요합니다.",
"ui.export.password_hint": "암호화하지 않으려면 비워 두세요",
"ui.export.title": "답변 내보내기",
"ui.field.required": "{}은(는) 필수입니다.",
"ui.import.decrypt_failed": "복호화 실패",
"ui.import.dropzone": "answers.json을 여기에 놓거나 클릭하여 가져오기",
"ui.import.no_scopes": "파일에서 유효한 범위를 찾을 수 없습니다.",
"ui.import.parse_error": "파일을 구문 분석하지 못했습니다",
"ui.import.password_prompt": "이 파일에는 암호화된 비밀이 포함되어 있습니다. 복호화 비밀번호를 입력하세요:",
"ui.new_setup": "새 설정",
"ui.no_providers": "번들에서 공급자를 찾을 수 없습니다.",
"ui.nothing_to_configure": "구성할 항목이 없습니다.",
"ui.pending": "대기 중",
"ui.provider.configure": "{} 구성",
"ui.q.api_base_url": "API 기본 URL",
"ui.q.base_url": "기본 URL",
"ui.q.channel_id": "채널 ID",
"ui.q.default_channel": "기본 채널",
"ui.q.default_room_id": "기본 룸 ID",
"ui.q.default_to_person_email": "기본 사용자 이메일",
"ui.q.enabled": "공급자 활성화",
"ui.q.jwt_signing_key": "JWT 서명 키",
"ui.q.jwt_signing_key.help": "Direct Line 토큰 서명에 사용되는 비밀 키입니다. 임의의 문자열을 사용하세요(예: openssl rand -hex 32).",
"ui.q.mode": "모드",
"ui.q.ms_bot_app_id": "Bot App ID",
"ui.q.ms_bot_app_id.help": "Azure Bot Service 등록의 Microsoft Bot App ID",
"ui.q.ms_bot_app_password": "Bot App 비밀번호",
"ui.q.oauth_custom_auth_url": "인증 URL",
"ui.q.oauth_custom_client_id": "클라이언트 ID",
"ui.q.oauth_custom_label": "공급자 표시 이름",
"ui.q.oauth_custom_scopes": "범위",
"ui.q.oauth_custom_token_url": "토큰 URL",
"ui.q.oauth_enable_custom": "사용자 지정 OIDC 공급자 활성화",
"ui.q.oauth_enable_github": "GitHub 로그인 활성화",
"ui.q.oauth_enable_google": "Google 로그인 활성화",
"ui.q.oauth_enable_microsoft": "Microsoft 로그인 활성화",
"ui.q.oauth_enabled": "OAuth 로그인 활성화",
"ui.q.oauth_enabled.help": "채팅에 접근하기 전에 사용자가 로그인하도록 요구합니다",
"ui.q.oauth_github_client_id": "GitHub 클라이언트 ID",
"ui.q.oauth_github_client_secret": "GitHub 클라이언트 시크릿",
"ui.q.oauth_google_client_id": "Google 클라이언트 ID",
"ui.q.oauth_google_client_secret": "Google 클라이언트 시크릿",
"ui.q.oauth_microsoft_client_id": "Microsoft 클라이언트 ID",
"ui.q.oauth_microsoft_client_secret": "Microsoft 클라이언트 시크릿",
"ui.q.public_base_url": "공개 기본 URL",
"ui.q.public_base_url.help": "웹훅 콜백용 외부 공개 URL입니다(예: https://xxxx.trycloudflare.com)",
"ui.q.route": "경로",
"ui.q.slack_app_id": "Slack App ID",
"ui.q.slack_bot_token": "Slack 봇 토큰",
"ui.q.slack_configuration_token": "Slack 구성 토큰",
"ui.q.team_id": "팀 ID",
"ui.q.tenant_channel_id": "테넌트 채널 ID",
"ui.q.webex_bot_token": "Webex 봇 토큰",
"ui.questions": "질문",
"ui.result.closed": "설정이 닫혔습니다.",
"ui.result.closed_sub": "이 탭을 닫아도 됩니다.",
"ui.result.fail.description": "설정 중 문제가 발생했습니다.",
"ui.result.fail.title": "설정 실패",
"ui.result.log": "로그",
"ui.result.manual_steps": "수동 단계 필요",
"ui.result.output": "출력",
"ui.result.success.description": "번들이 성공적으로 구성되었습니다.",
"ui.result.success.title": "설정 완료",
"ui.review.description": "번들에 적용하기 전에 구성을 검토하세요.",
"ui.review.no": "아니요",
"ui.review.secret_mask": "********",
"ui.review.title": "검토 및 실행",
"ui.review.yes": "예",
"ui.review_execute": "검토 및 실행",
"ui.scope.description": "이 설정에 대한 대상 테넌트, 환경 및 팀을 구성합니다.",
"ui.scope.detected_tenant": "번들에서 감지됨: {}",
"ui.scope.env": "환경",
"ui.scope.env_help": "런타임에서 사용하는 GREENTIC_ENV와 일치해야 합니다(dev, local, test).",
"ui.scope.hint": "이 값들은 비밀 및 구성이 저장되는 위치를 결정합니다. 런타임 설정과 일치하는지 확인하세요.",
"ui.scope.team": "팀",
"ui.scope.team_help": "기본값을 사용하려면 비워 두세요. 팀별로 비밀 범위를 지정하는 데 사용됩니다.",
"ui.scope.tenant": "테넌트",
"ui.scope.title": "설정 범위",
"ui.select_action": "시작하려면 작업을 선택하세요.",
"ui.shared.description": "이 질문은 모든 공급자에 적용됩니다.",
"ui.shared.title": "공통 구성",
"ui.start_config": "구성 시작",
"ui.title": "Greentic 설정"
}