{ "sidebar": { "no_accessible_menus": "접근 가능한 메뉴가 없습니다", "view_site": "사이트 보기" }, "profile_settings": "프로필 설정", "logout": "로그아웃", "language": "언어", "notifications": "알림", "no_notifications": "알림이 없습니다", "notifications_mark_all_read": "모두 읽기", "notifications_delete_all": "모두 삭제", "notifications_delete_all_title": "전체 알림 삭제", "notifications_delete_all_confirm": "모든 알림을 삭제하시겠습니까? 이 작업은 되돌릴 수 없습니다.", "notifications_delete_all_success": "모든 알림이 삭제되었습니다.", "notifications_delete_all_failed": "전체 알림 삭제에 실패했습니다.", "notifications_unread_only": "안 읽은 알림만", "new_notification_received": "새 알림이 도착했습니다", "base_layout_description": "그누보드7 관리자", "mobile_menu": "모바일 메뉴", "close_menu": "메뉴 닫기", "theme": { "auto": "시스템 설정", "light": "라이트 모드", "dark": "다크 모드" }, "dashboard": { "title": "대시보드", "description": "그누보드7 관리자 대시보드", "refresh": "새로고침", "stats": { "total_users": "전체회원수", "new_posts": "새게시물", "new_orders": "새주문", "new_reviews": "새리뷰", "monthly_change": "전월 대비 {{percent}}", "today": "오늘", "installed_modules": "활성 모듈", "active_count": "활성화: {{count}}개", "active_plugins": "활성 플러그인", "active_templates": "활성 템플릿", "active_language_packs": "활성 언어팩", "total_installed": "총 {{count}}개 설치됨", "system_status": "시스템 상태", "status_normal": "정상", "all_services_running": "모든 서비스 운영 중" }, "today_badges": { "pending_payment": "입금대기 {{count}}건", "payment_complete": "결제완료 {{count}}건", "preparing": "상품준비중 {{count}}건", "shipping_ready": "배송준비중 {{count}}건", "shipping": "배송중 {{count}}건", "cancellations": "취소 {{count}}건", "returns": "반품 {{count}}건" }, "quick_menu": { "users": "회원", "products": "상품", "orders": "주문", "reviews": "리뷰", "coupons": "쿠폰", "shipping": "배송", "settings": "설정", "modules": "모듈" }, "system_resources": { "title": "시스템 상태", "subtitle": "서버 리소스 사용량", "cpu_usage": "CPU 사용률", "memory_usage": "메모리 사용률", "disk_usage": "디스크 사용률" }, "recent_notifications": { "title": "최근 알림", "subtitle": "최근 발송된 알림 이력", "empty": "발송된 알림이 없습니다" }, "recent_activity": { "title": "최근 활동", "subtitle": "시스템에서 발생한 최근 활동들", "new_user_registered": "새 사용자 등록", "module_updated": "모듈 업데이트", "plugin_installed": "플러그인 설치", "template_modified": "템플릿 수정", "sample_user_1": "김철수", "sample_module_1": "게시판 모듈 v2.1", "sample_plugin_1": "SEO 최적화", "sample_template_1": "메인 페이지" }, "activities": { "user_registered": "{{name}}님이 가입했습니다" }, "refreshed": "대시보드가 새로고침되었습니다.", "extension_status": { "more": "더보기" }, "module_status": { "title": "모듈 상태", "subtitle": "설치된 모듈들의 현재 상태", "board_module": "게시판 모듈", "ecommerce_module": "이커머스 모듈", "community_module": "커뮤니티 모듈", "homepage_module": "홈페이지 모듈", "active": "활성화", "inactive": "비활성화" }, "plugin_status": { "title": "플러그인 상태", "subtitle": "설치된 플러그인들의 현재 상태", "active": "활성화", "inactive": "비활성화" }, "template_status": { "title": "템플릿 상태", "subtitle": "설치된 템플릿들의 현재 상태", "active": "활성화", "inactive": "비활성화" }, "system_alerts": { "title": "시스템 알림", "subtitle": "확인이 필요한 시스템 알림", "new_module_update": "새로운 모듈 업데이트가 있습니다.", "disk_usage_warning": "디스크 용량이 70% 이상 사용 중입니다.", "security_patch_applied": "보안 패치가 적용되었습니다." }, "time": { "minutes_ago": "{{count}}분 전", "hours_ago": "{{count}}시간 전" }, "charts": { "product_sales": "상품 판매 현황", "sales": "건수", "earning": "판매액", "total_sales": "총판매건수", "total_earning": "총판매액", "sales_by_traffic": "트래픽 소스별 매출", "total": "합계", "unanswered_inquiries": "미답변 문의", "unanswered_inquiries_with_count": "미답변문의(3)", "latest_reviews": "최신 리뷰" }, "asset_url_mode_drift_title": "에셋 파일 서빙 방식이 서버 환경과 다릅니다", "asset_url_mode_drift_description": "저장된 방식으로는 일부 주소가 서버에 가로채여 화면이 뜨지 않을 수 있습니다. 방문자 화면은 브라우저가 자동으로 보정하지만 검색엔진 봇에는 보정이 적용되지 않으므로, 환경설정에서 감지 결과를 저장해 주세요.", "asset_url_mode_drift_action": "환경설정 > 일반에서 확인하기" }, "users": { "page_title": "사용자 관리", "page_description": "시스템 사용자를 관리합니다.", "title": "사용자 관리", "description": "시스템에 등록된 사용자 목록을 조회하고 관리합니다.", "add_user": "사용자 추가", "search": "검색", "search_placeholder": "검색어를 입력하세요...", "search_fields": { "all": "전체", "name": "이름", "email": "이메일", "nickname": "닉네임" }, "columns": { "id": "ID", "name": "이름", "role": "역할", "email": "이메일", "country": "국가", "language": "언어", "status": "상태", "created_at": "가입일", "last_login_at": "마지막 로그인" }, "status": { "active": "활성", "inactive": "비활성" }, "actions": { "view": "상세보기", "edit": "수정", "delete": "삭제" }, "selected_count": "{count}개 선택됨", "bulk_activate": "활성화", "bulk_deactivate": "비활성화", "bulk_block": "차단", "bulk_withdraw": "탈퇴 처리", "bulk_action_select": "일괄 작업 선택", "bulk_status_change": "상태 변경", "pagination_info": "총 {{total}}명 중 {{from}}-{{to}}명 표시", "total_count": "총 {{count}}개", "per_page": "{{count}}개", "sort": { "created_at_desc": "가입일시 최근순", "created_at_asc": "가입일시 오래된순", "last_login_at_desc": "마지막로그인 최근순", "last_login_at_asc": "마지막로그인 오래된순" }, "modals": { "delete_title": "사용자 삭제", "delete_confirm": "정말로 이 사용자를 삭제하시겠습니까? 이 작업은 되돌릴 수 없습니다.", "delete_success": "사용자가 성공적으로 삭제되었습니다.", "bulk_activate_title": "사용자 활성화", "bulk_activate_confirm": "{{count}}명의 사용자를 활성 상태로 변경합니다.", "bulk_activate_success": "사용자가 활성화되었습니다.", "bulk_deactivate_title": "사용자 비활성화", "bulk_deactivate_confirm": "{{count}}명의 사용자를 비활성 상태로 변경합니다.", "bulk_deactivate_success": "사용자가 비활성화되었습니다.", "bulk_block_title": "사용자 차단", "bulk_block_confirm": "{{count}}명의 사용자를 차단합니다. 차단된 사용자는 로그인할 수 없습니다.", "bulk_block_success": "사용자가 차단되었습니다.", "bulk_withdraw_title": "사용자 탈퇴 처리", "bulk_withdraw_confirm": "{{count}}명의 사용자를 탈퇴 처리합니다. 이 작업은 되돌리기 어려울 수 있습니다.", "bulk_withdraw_success": "사용자가 탈퇴 처리되었습니다.", "bulk_withdraw_partial": "{updated}명을 탈퇴 처리했습니다. {failed}명은 처리하지 못했습니다 — {reason}", "bulk_withdraw_all_failed": "탈퇴 처리하지 못했습니다 — {reason}", "withdraw_confirm_title": "탈퇴 처리 확인", "withdraw_confirm_lead": "상태를 '탈퇴'로 저장하면 이 회원은 실제로 탈퇴 처리됩니다. 되돌릴 수 없습니다.", "withdraw_confirm_effects_title": "함께 처리되는 항목", "withdraw_confirm_effect_anonymize": "이메일·이름·닉네임이 익명화됩니다.", "withdraw_confirm_effect_sessions": "이 회원의 모든 로그인 세션이 해제됩니다.", "withdraw_confirm_effect_linked": "약관 동의 이력·프로필 이미지가 삭제되고, 마일리지·본인인증 기록 등 연계 데이터가 정리됩니다.", "withdraw_confirm_submit": "탈퇴 처리" }, "form": { "page_title_create": "사용자 등록", "page_title_edit": "사용자 정보 수정", "page_description_create": "새로운 사용자를 등록합니다.", "page_description_edit": "{{name}}({{email}})의 정보를 수정합니다.", "sections": { "basic_info": "기본 정보", "contact_info": "연락처 정보", "location_info": "위치 정보", "verification_info": "본인 인증 정보", "marketing_consent": "마케팅 및 동의", "notification_settings": "알림 설정", "profile_memo": "프로필 및 메모", "activity_info": "활동 정보" }, "fields": { "id": "ID", "name": "이름", "nickname": "닉네임", "role": "역할", "role_placeholder": "역할을 선택하세요", "role_no_options": "선택 가능한 역할이 없습니다", "status": "상태", "current_status": "현재 상태", "email": "이메일", "email_verified": "인증됨", "email_verify_btn": "인증", "mobile": "휴대폰번호", "phone": "전화번호", "homepage": "홈페이지", "address": "주소", "zipcode": "우편번호", "address_detail": "상세 주소", "country": "국가", "language": "언어", "timezone": "시간대", "password": "비밀번호", "password_confirmation": "비밀번호 확인", "password_hint": "수정 시 빈 값이면 기존 비밀번호 유지", "signature": "서명", "bio": "자기소개", "admin_memo": "관리자 메모", "created_at": "가입일", "last_login_at": "마지막 로그인", "ip_address": "IP", "country_select": "국가 선택", "country_search": "국가 검색...", "lock_status": "계정 잠금 상태" }, "verification": { "method": "본인확인방법", "method_mobile": "휴대폰", "method_ipin": "아이핀", "method_none": "미인증", "identity_verified": "본인확인 완료", "adult_verified": "성인인증 완료", "verification_history": "인증 이력", "verification_plugin": "본인 인증 플러그인" }, "marketing": { "email_subscription": "광고성 이메일 수신", "marketing_consent": "마케팅 동의", "third_party_consent": "제3자 제공 동의", "info_disclosure": "정보 공개", "ecommerce_module": "이커머스 모듈" }, "notifications": { "post_complete": "게시글 작성 완료 알림", "post_reply": "게시글 답변 알림", "comment": "댓글 알림", "reply_comment": "대댓글 알림", "board_module": "게시판 모듈" }, "status_options": { "active": "활성", "inactive": "비활성", "blocked": "차단", "withdrawn": "탈퇴" }, "timezone_options": { "Asia/Seoul": "아시아/서울 (UTC+9)", "Asia/Tokyo": "아시아/도쿄 (UTC+9)", "America/New_York": "미국/뉴욕 (UTC-5)", "America/Los_Angeles": "미국/로스앤젤레스 (UTC-8)", "Europe/London": "유럽/런던 (UTC+0)", "Europe/Paris": "유럽/파리 (UTC+1)", "UTC": "UTC" }, "create_success": "사용자가 성공적으로 등록되었습니다.", "update_success": "사용자 정보가 성공적으로 수정되었습니다.", "validation_error": "입력 정보를 확인해주세요.", "error_loading_user": "사용자 정보를 불러오는 중 오류가 발생했습니다.", "no_edit_permission": "이 사용자의 정보를 수정할 권한이 없습니다.", "go_to_detail": "상세보기로 이동" }, "detail": { "page_title": "사용자 정보 상세", "page_description": "사용자의 상세 정보를 확인합니다.", "page_description_with_info": "{{name}}({{email}})의 상세 정보입니다.", "back_to_list": "목록으로", "edit": "수정", "error_loading_user": "사용자 정보를 불러오는 중 오류가 발생했습니다.", "email_verification": "이메일 인증", "identity_verification": "본인확인여부", "adult_verification": "성인인증", "verified": "확인됨", "not_verified": "미인증", "subscribed": "수신", "not_subscribed": "수신 거부", "agreed": "동의", "not_agreed": "미동의", "info_public": "공개", "info_private": "비공개", "consent_history": "약관 동의 이력", "enabled": "활성", "disabled": "비활성", "withdrawn_at": "탈퇴일", "blocked_at": "차단일", "consent_type": { "terms": "이용약관", "privacy": "개인정보처리방침" }, "tabs": { "basic_info": "기본정보", "contact_info": "연락처", "location_info": "위치정보", "profile_memo": "프로필/메모", "activity_info": "활동정보", "consent_info": "동의이력" }, "unlock": "잠금 해제", "unlock_success": "계정 잠금이 해제되었습니다.", "lock_status": "계정 잠금 상태", "locked_permanently_value": "잠김 (무기한 — 관리자 해제 필요)", "locked_until_value": "잠김 ({{until}} 까지)", "not_locked_value": "정상" } }, "language_packs": { "page_title": "언어팩 관리", "page_description": "코어 및 확장의 언어팩을 통합 관리합니다.", "title": "언어팩 관리", "description": "ZIP 업로드 또는 GitHub URL로 언어팩을 자유롭게 추가/제거할 수 있습니다.", "columns": { "locale": "로케일", "scope": "스코프", "target": "대상", "vendor": "벤더", "version": "버전", "status": "상태", "actions": "작업" }, "scope": { "core": "코어", "module": "모듈", "plugin": "플러그인", "template": "템플릿" }, "origin": { "built_in": "빌트인", "bundled": "번들", "user_installed": "사용자 설치" }, "status": { "active": "활성", "installed": "설치됨", "inactive": "비활성", "updating": "업데이트 중", "uninstalled": "미설치 (번들)", "error": "오류", "bundled": "내장", "version_mismatch": "버전 불일치" }, "filter": { "all_scopes": "전체 스코프", "all_locales": "전체 로케일", "all_statuses": "전체 상태", "reset": "초기화", "exclude_protected": "보호된 언어팩 제외" }, "actions": { "install": "설치", "activate": "활성화", "deactivate": "비활성화", "uninstall": "제거", "manage": "언어 관리", "check_updates": "업데이트 확인", "refresh_cache": "캐시 갱신", "refresh_cache_now": "캐시 갱신", "update": "업데이트", "update_now": "지금 업데이트", "detail": "상세 보기", "cancel": "취소", "close": "닫기", "reinstall": "재설치", "preview_manifest": "manifest 미리보기" }, "search_placeholder": "식별자/벤더/언어로 검색", "badge": { "update_available": "업데이트 가능", "files_missing": "파일 없음" }, "banner": { "scoped": "{{scope}} \"{{target}}\"의 언어팩만 보고 있습니다.", "see_all": "전체 언어팩 보기", "back_to_modules": "모듈 관리로 돌아가기", "back_to_plugins": "플러그인 관리로 돌아가기", "back_to_templates": "템플릿 관리로 돌아가기" }, "pagination": { "info": "{{current}} / {{last}} 페이지 (총 {{total}}건)", "prev": "이전", "next": "다음", "per_page_label": "페이지당", "summary": "총 {{total}}개 · {{from}}-{{to}} 표시" }, "vendor_label": "벤더: {{vendor}}", "source_label": "출처: {{source}}", "dependency_label": "의존성:", "modal": { "detail": { "title": "언어팩 상세", "loading": "불러오는 중...", "built_in_title": "코어/번들 확장에 내장된 번역", "built_in_description": "이 항목은 코어 또는 번들 확장에 직접 포함된 번역으로, 별도의 언어팩 메타데이터가 없습니다. 항상 활성 상태이며 수정/제거할 수 없습니다.", "basic_info": "기본 정보", "identifier": "식별자", "name": "이름", "vendor": "벤더", "locale": "로케일", "version": "버전", "scope": "스코프 / 대상", "github_url": "GitHub 저장소", "license": "라이선스", "text_direction": "쓰기 방향", "description": "설명", "status": "상태", "protected": "보호됨", "compatibility": "호환성", "target_version_constraint": "대상 확장 버전 제약", "core_version_constraint": "코어 요구 버전", "depends_on_core_locale": "코어 언어팩 의존", "depends_on_core_locale_yes": "이 언어팩은 동일 로케일의 코어 언어팩이 활성 상태일 때만 사용 가능합니다.", "depends_on_core_locale_no": "이 언어팩은 코어 언어팩과 독립적으로 동작합니다.", "yes": "예", "no": "아니오", "target_version_mismatch_label": "대상 버전 일치", "match": "일치", "mismatch": "불일치", "target_version_mismatch": "대상 확장 버전과 호환 제약이 일치하지 않습니다.", "source": "소스 정보", "source_type": "설치 출처", "source_url": "소스 URL/경로", "installed_at": "설치 시각", "activated_at": "활성화 시각", "changelog_title": "변경로그 (CHANGELOG.md)", "load_changelog": "변경로그 불러오기", "no_changelog": "이 언어팩에는 CHANGELOG.md 파일이 없습니다.", "changelog_failed": "변경로그를 불러오지 못했습니다." }, "update": { "title": "언어팩 업데이트", "body": "현재 버전 {{current}} → 최신 버전 {{latest}}로 업데이트합니다.", "user_overrides_notice": "사용자가 수정한 번역은 그대로 유지됩니다." }, "uninstall": { "title": "언어팩 제거", "body": "{{scope}} / {{target}} / {{locale}} 언어팩을 제거합니다. 되돌릴 수 없습니다.", "cascade_label": "이 로케일의 모든 하위 확장 언어팩을 함께 비활성화", "warning": "이 작업은 되돌릴 수 없습니다. 사용자가 직접 수정한 다국어 키도 함께 제거됩니다.", "cascade_hint": "활성화된 의존 모듈/플러그인/템플릿 언어팩이 함께 비활성화됩니다." }, "refresh_cache": { "title": "캐시 갱신", "body": "번역/레지스트리/템플릿 언어 캐시를 무효화합니다." }, "preview": { "title": "manifest 미리보기", "description": "ZIP 파일을 업로드하면 설치 전에 manifest 정보와 검증 결과를 확인할 수 있습니다.", "run": "미리보기 실행", "valid": "manifest 검증 통과 — 설치 가능합니다.", "already_installed": "이미 설치됨: 현재 버전 {{version}}" } }, "install_modal": { "title": "언어팩 설치", "description": "ZIP 파일 또는 GitHub URL로 언어팩을 설치합니다.", "tabs": { "zip": "ZIP 파일", "github": "GitHub" }, "file_label": "ZIP 파일", "no_file_selected": "선택된 파일이 없습니다.", "file_requirements": "다음 manifest 파일이 ZIP 루트에 포함되어 있어야 합니다.", "github_url_label": "GitHub URL", "github_requirements": "Public 저장소만 지원합니다. 다음 manifest 파일이 저장소 루트에 있어야 합니다." }, "installing": "설치 중...", "messages": { "install_success": "언어팩이 설치되었습니다.", "install_failed": "언어팩 설치에 실패했습니다.", "uninstall_success": "언어팩이 제거되었습니다.", "uninstall_failed": "언어팩 제거에 실패했습니다.", "cascade_warning": "코어 언어팩 제거 시 관련 하위 언어팩이 비활성화됩니다.", "empty": "설치된 언어팩이 없습니다.", "protected_badge": "🔒 보호됨", "check_updates_done": "업데이트 확인을 완료했습니다 ({{count}}건 가능).", "check_updates_none": "모든 언어팩이 최신 상태입니다.", "check_updates_failed": "업데이트 확인에 실패했습니다.", "activate_success": "언어팩을 활성화했습니다.", "deactivate_success": "언어팩을 비활성화했습니다.", "toggle_failed": "활성 상태 변경에 실패했습니다.", "update_success": "언어팩을 업데이트했습니다.", "update_failed": "언어팩 업데이트에 실패했습니다.", "refresh_cache_done": "언어팩 캐시를 갱신했습니다.", "refresh_cache_failed": "캐시 갱신에 실패했습니다." }, "modals": { "install_bundled_title": "언어팩 설치", "install_bundled_confirm": "번들 언어팩 \"{{identifier}}\" 을(를) 설치하시겠습니까?", "install_bundled_core_required": "코어 언어팩(locale={{locale}}) 이 먼저 활성화되어 있어야 합니다.", "install_blocked_target_not_installed": "대상 {{scope}} \"{{target}}\" 이(가) 설치되어 있지 않습니다.", "install_blocked_target_inactive": "대상 {{scope}} \"{{target}}\" 이(가) 비활성 상태입니다. 먼저 활성화하세요.", "install_blocked_target_version_too_old": "대상 {{scope}} \"{{target}}\" 의 버전이 요구 조건을 충족하지 않습니다." }, "slot_conflict_modal": { "title": "언어팩 교체 확인", "description": "같은 슬롯에 이미 활성화된 언어팩이 있습니다. 교체하면 기존 언어팩은 비활성화됩니다.", "current_label": "현재 활성", "target_label": "교체 대상", "warning": "교체 직후 프론트엔드 캐시 버전이 갱신되어 다국어 데이터가 새로 적재됩니다.", "cancel": "취소", "confirm": "교체" }, "uninstalling": "제거 중...", "updating": "업데이트 중...", "errors": { "manifest_invalid": "language-pack.json 검증에 실패했습니다.", "core_locale_missing": "코어 언어팩이 먼저 활성화되어야 합니다." } }, "modules": { "page_title": "모듈 관리", "page_description": "시스템에 설치된 모듈을 관리하고 새로운 모듈을 설치할 수 있습니다.", "title": "모듈 관리", "description": "시스템에 설치된 모듈을 관리하고 새로운 모듈을 설치할 수 있습니다.", "search_placeholder": "모듈 검색...", "search": "검색", "include_hidden": "숨김 항목 포함", "manual_install": "수동 설치", "marketplace": "마켓플레이스", "vendor": "작성자: {{vendor}}", "dependencies": "의존성: {{deps}}", "dependencies_label": "의존성:", "no_dependencies": "의존성: 없음", "no_modules": "설치된 모듈이 없습니다.", "pagination_info": "총 {{total}}개 중 {{from}}-{{to}}개 표시", "update_available": "업데이트 필요", "version_available": "(v{{version}} 사용 가능)", "installing": "설치 중...", "uninstalling": "제거 중...", "deactivating": "비활성화 중...", "activating": "활성화 중...", "install_success": "모듈이 성공적으로 설치되었습니다.", "activate_success": "모듈이 활성화되었습니다.", "deactivate_success": "모듈이 비활성화되었습니다.", "uninstall_success": "모듈이 제거되었습니다.", "refresh_layouts_success": "모듈 레이아웃이 갱신되었습니다.", "refreshing_layouts": "레이아웃 갱신 중...", "updating": "업데이트 중...", "update_success": "모듈이 성공적으로 업데이트되었습니다.", "update_failed": "모듈 업데이트에 실패했습니다.", "check_updates_success": "업데이트 확인 완료 ({{count}}개 업데이트 가능)", "check_updates_no_updates": "모든 모듈이 최신 상태입니다.", "status": { "active": "활성화", "inactive": "비활성화", "not_installed": "미설치", "installing": "설치 중", "uninstalling": "제거 중", "updating": "업데이트 중", "active_label": "활성화" }, "actions": { "install": "설치", "uninstall": "제거", "activate": "활성화", "deactivate": "비활성화", "update": "업데이트", "check_updates": "업데이트 확인", "view_detail": "상세정보", "refresh_layouts": "레이아웃 갱신", "preview_manifest": "manifest 미리보기" }, "modal": { "preview": { "title": "모듈 manifest 미리보기", "description": "ZIP 파일을 업로드하면 설치 전에 module.json 정보와 검증 결과를 확인할 수 있습니다.", "run": "미리보기 실행", "valid": "module.json 검증 통과 — 설치 가능합니다.", "already_installed": "이미 설치됨: 현재 버전 {{version}}", "failed": "manifest 미리보기에 실패했습니다." } }, "modals": { "detail_title": "모듈 정보", "basic_info": "기본 정보", "field_name": "이름", "field_version": "버전", "field_description": "설명", "field_vendor": "개발자", "field_update_source": "업데이트 소스", "field_release_date": "출시일자", "field_status": "상태", "field_license": "라이센스", "admin_menus": "관리자 메뉴", "admin_menus_count": "{{count}}개의 메뉴가 등록됩니다.", "no_admin_menus": "등록되는 관리자 메뉴가 없습니다.", "dependencies": "의존성", "required_core_version": "코어 요구 버전", "required_modules": "의존 모듈", "required_plugins": "의존 플러그인", "no_required_core_version": "지정되지 않음", "no_dependencies_required": "의존하는 확장이 없습니다.", "dependency_required_version": "요구: {{version}}", "dependency_installed_version": "설치: {{version}}", "dependency_not_installed": "미설치", "dependency_met": "충족", "dependency_unmet_version": "버전 불일치", "dependency_inactive": "비활성", "permissions": "권한", "permissions_count": "{{count}}개의 권한이 등록됩니다.", "no_permissions": "등록되는 권한이 없습니다.", "roles": "역할", "roles_count": "{{count}}개의 역할이 등록됩니다.", "no_roles": "등록되는 역할이 없습니다.", "layouts": "레이아웃", "layouts_count": "{{count}}개의 레이아웃이 등록됩니다.", "no_layouts": "등록되는 레이아웃이 없습니다.", "supported_languages": "지원 언어", "no_supported_languages": "지원 언어 정보가 없습니다.", "cascade_dependencies_title": "함께 설치할 의존 확장", "cascade_dependencies_hint": "본 확장이 의존하는 미설치 항목입니다. 체크 해제 시 해당 확장은 설치되지 않으며, 종속된 언어팩도 자동 비활성화됩니다.", "cascade_language_packs_title": "함께 설치할 언어팩", "cascade_language_packs_hint": "번들로 제공되는 언어팩 후보입니다. 체크된 항목만 본 설치와 함께 자동 설치됩니다.", "cascade_lp_depends_on": "종속: {{target}}", "install_title": "모듈 설치 확인", "install_confirm": "{{name}} 모듈을 설치하시겠습니까?", "install_description": "설치 후 모듈을 활성화하면 기능을 사용할 수 있습니다.", "vendor_mode_label": "Vendor 설치 방식", "vendor_mode_hint": "Composer 사용 불가 환경에서는 '번들'을 선택하세요.", "vendor_mode_auto": "자동 (권장)", "vendor_mode_composer": "Composer 실행", "vendor_mode_bundled": "번들 Vendor 사용", "uninstall_title": "모듈 제거 확인", "uninstall_done_title": "모듈 제거 완료", "uninstall_confirm": "{{name}} 모듈을 제거하시겠습니까?", "uninstall_warning": "이 작업은 되돌릴 수 없습니다.", "delete_data_option": "모듈 데이터도 함께 삭제", "delete_data_warning": "모듈이 생성한 모든 데이터(게시물, 설정 등)가 함께 삭제되며, 삭제된 데이터는 복구할 수 없습니다.", "delete_data_info_title": "삭제될 데이터", "tables_section": "데이터베이스 테이블", "tables_total": "총 {{size}}", "storage_section": "스토리지 디렉토리", "storage_total": "총 {{size}}", "vendor_section": "Composer 의존성", "extension_directory_title": "삭제될 확장 디렉토리", "extension_directory_section": "확장 디렉토리", "preserved_title": "운영자 파일 사본 보관", "preserved_desc": "제거하기 전에 custom/ 디렉토리의 사본을 아래 경로에 보관했습니다. 확장을 다시 설치한 뒤 custom/ 으로 옮기면 그대로 다시 쓸 수 있습니다.", "shared_records_section": "공유 테이블 데이터", "shared_records_count": "{{count}}건", "shared": { "permissions": "권한", "menus": "관리자 메뉴", "notification_definitions": "알림 정의", "identity_policies": "본인인증 정책", "identity_message_definitions": "본인인증 메시지 정의" }, "no_tables": "삭제할 테이블이 없습니다.", "no_storage": "삭제할 스토리지가 없습니다.", "size_unknown": "알 수 없음", "manual_install_title": "모듈 수동 설치", "manual_install_description": "파일 업로드 또는 GitHub 저장소에서 모듈을 설치할 수 있습니다.", "refresh_layouts_title": "레이아웃 갱신", "refresh_layouts_confirm": "{{name}} 모듈의 레이아웃을 갱신하시겠습니까?", "refresh_layouts_warning": "기존 레이아웃이 삭제되고 파일에서 다시 등록됩니다.", "refresh_layouts_description": "모듈 파일에 포함된 레이아웃으로 데이터베이스의 레이아웃이 교체됩니다. 기존에 수정한 레이아웃 내용은 모두 삭제됩니다.", "deactivate_warning_title": "모듈 비활성화 경고", "deactivate_warning_message": "이 모듈에 의존하는 활성 확장(템플릿, 모듈, 플러그인)이 있습니다.", "affected_templates": "다음 템플릿이 영향을 받습니다:", "dependent_templates": "의존하는 템플릿", "dependent_modules": "의존하는 모듈", "dependent_plugins": "의존하는 플러그인", "force_deactivate_description": "강제로 비활성화하면 해당 확장들이 정상적으로 동작하지 않을 수 있습니다.", "confirm_deactivate": "그래도 비활성화", "activate_warning_title": "모듈 활성화 경고", "activate_warning_message": "이 모듈을 활성화하려면 필요한 의존성이 충족되어야 합니다.", "missing_modules": "필요한 모듈", "missing_plugins": "필요한 플러그인", "force_activate_description": "강제로 활성화하면 모듈이 정상적으로 동작하지 않을 수 있습니다.", "confirm_activate": "그래도 활성화", "update_title": "모듈 업데이트 확인", "update_confirm": "{{name}} 모듈을 업데이트하시겠습니까?", "update_version_info": "{{from}} → {{to}}", "update_source_github": "GitHub에서 다운로드", "update_source_pending": "대기 중인 패키지에서 설치", "update_source_bundled": "선탑재 패키지에서 설치", "view_changelog": "변경사항 보기", "changelog": "변경 내역", "no_changelog": "변경 내역 정보가 없습니다.", "update_changelog_title": "이 업데이트의 변경사항", "layout_strategy_title": "레이아웃 처리 방식", "layout_strategy_overwrite": "모두 교체", "layout_strategy_overwrite_desc": "모든 레이아웃을 새 버전으로 교체합니다.", "layout_strategy_keep": "수정 유지", "layout_strategy_keep_desc": "사용자가 수정한 레이아웃을 유지합니다.", "modified_layouts_warning": "수정된 레이아웃이 {{count}}개 있습니다. '모두 교체'를 선택하면 수정 내용이 삭제됩니다.", "no_modified_layouts": "수정된 레이아웃이 없습니다.", "modified_layouts_check_failed": "수정 여부를 확인하지 못했습니다. 네트워크 상태를 확인한 뒤 다시 시도하거나, 안전하게 '수정 유지'를 선택하세요.", "modified_layouts_list_title": "유지될 수정 레이아웃 ({{count}}개)", "modified_layouts_keep_notice": "위 레이아웃은 업데이트 후에도 현재 내용이 유지됩니다." }, "tabs": { "file_upload": "파일 업로드", "github": "GitHub", "file_label": "모듈 파일 (.zip)", "no_file_selected": "파일이 선택되지 않음", "selected_file": "선택된 파일: {{filename}}", "file_requirements": "모듈 패키지는 반드시", "file_structure_hint": "파일을 포함해야 하며, 그누보드7 모듈 표준 구조를 따라야 합니다.", "github_url_label": "GitHub 저장소 URL", "github_url_hint": "GitHub 저장소의 기본 브랜치에서 모듈을 다운로드합니다.", "github_requirements": "루트 디렉토리에", "github_public_only": "파일이 있어야 합니다." }, "errors": { "install_failed": "모듈 설치에 실패했습니다.", "already_installed": "이미 설치된 모듈입니다. 기존 모듈을 제거한 후 다시 시도하세요.", "invalid_file": "유효하지 않은 모듈 파일입니다.", "github_url_invalid": "유효하지 않은 GitHub URL입니다." } }, "plugins": { "page_title": "플러그인 관리", "page_description": "시스템에 설치된 플러그인을 관리하고 새로운 플러그인을 설치할 수 있습니다.", "title": "플러그인 관리", "description": "시스템에 설치된 플러그인을 관리하고 새로운 플러그인을 설치할 수 있습니다.", "search_placeholder": "플러그인 검색...", "search": "검색", "include_hidden": "숨김 항목 포함", "manual_install": "수동 설치", "marketplace": "마켓플레이스", "vendor": "작성자: {{vendor}}", "dependencies": "의존성: {{deps}}", "dependencies_label": "의존성:", "no_dependencies": "의존성: 없음", "no_plugins": "설치된 플러그인이 없습니다.", "pagination_info": "총 {{total}}개 중 {{from}}-{{to}}개 표시", "update_available": "업데이트 필요", "version_available": "(v{{version}} 사용 가능)", "installing": "설치 중...", "uninstalling": "제거 중...", "activating": "활성화 중...", "deactivating": "비활성화 중...", "install_success": "플러그인이 성공적으로 설치되었습니다.", "activate_success": "플러그인이 활성화되었습니다.", "deactivate_success": "플러그인이 비활성화되었습니다.", "uninstall_success": "플러그인이 제거되었습니다.", "refresh_layouts_success": "플러그인 레이아웃이 갱신되었습니다.", "refreshing_layouts": "갱신 중...", "updating": "업데이트 중...", "update_success": "플러그인이 성공적으로 업데이트되었습니다.", "update_failed": "플러그인 업데이트에 실패했습니다.", "check_updates_success": "업데이트 확인 완료 ({{count}}개 업데이트 가능)", "check_updates_no_updates": "모든 플러그인이 최신 상태입니다.", "status": { "active": "활성화", "inactive": "비활성화", "not_installed": "미설치", "installing": "설치 중", "uninstalling": "제거 중", "updating": "업데이트 중" }, "actions": { "install": "설치", "uninstall": "제거", "activate": "활성화", "deactivate": "비활성화", "update": "업데이트", "check_updates": "업데이트 확인", "view_detail": "상세정보", "settings": "설정", "refresh_layouts": "레이아웃 갱신", "preview_manifest": "manifest 미리보기" }, "modal": { "preview": { "title": "플러그인 manifest 미리보기", "description": "ZIP 파일을 업로드하면 설치 전에 plugin.json 정보와 검증 결과를 확인할 수 있습니다.", "run": "미리보기 실행", "valid": "plugin.json 검증 통과 — 설치 가능합니다.", "already_installed": "이미 설치됨: 현재 버전 {{version}}", "failed": "manifest 미리보기에 실패했습니다." } }, "settings": { "page_title": "플러그인 설정", "page_description": "플러그인의 설정을 구성합니다.", "validation_error": "입력값을 확인해주세요.", "save_success": "설정이 저장되었습니다.", "save_error": "설정 저장에 실패했습니다." }, "back_to_list": "플러그인 목록으로", "modals": { "detail_title": "플러그인 정보", "detail_subtitle": "{{name}}의 상세 정보를 확인할 수 있습니다.", "basic_info": "기본 정보", "field_name": "이름", "field_version": "버전", "field_description": "설명", "field_vendor": "개발자", "field_update_source": "업데이트 소스", "field_license": "라이센스", "field_status": "상태", "dependencies": "의존성", "required_core_version": "코어 요구 버전", "required_modules": "의존 모듈", "required_plugins": "의존 플러그인", "no_required_core_version": "지정되지 않음", "no_dependencies_required": "의존하는 확장이 없습니다.", "dependency_required_version": "요구: {{version}}", "dependency_installed_version": "설치: {{version}}", "dependency_not_installed": "미설치", "dependency_met": "충족", "dependency_unmet_version": "버전 불일치", "dependency_inactive": "비활성", "permissions": "권한", "permissions_description": "이 플러그인에서 등록하는 권한 목록입니다.", "no_permissions": "등록되는 권한이 없습니다.", "roles": "역할", "roles_description": "이 플러그인에서 등록하는 역할 목록입니다.", "no_roles": "등록되는 역할이 없습니다.", "hooks": "훅", "hooks_description": "이 플러그인에서 참조하는 훅의 목록입니다.", "no_hooks": "참조하는 훅이 없습니다.", "filters": "필터", "filters_description": "이 플러그인에서 사용하는 필터의 목록입니다.", "no_filters": "사용하는 필터가 없습니다.", "supported_languages": "지원 언어", "no_supported_languages": "지원 언어 정보가 없습니다.", "cascade_dependencies_title": "함께 설치할 의존 확장", "cascade_dependencies_hint": "본 확장이 의존하는 미설치 항목입니다. 체크 해제 시 해당 확장은 설치되지 않으며, 종속된 언어팩도 자동 비활성화됩니다.", "cascade_language_packs_title": "함께 설치할 언어팩", "cascade_language_packs_hint": "번들로 제공되는 언어팩 후보입니다. 체크된 항목만 본 설치와 함께 자동 설치됩니다.", "cascade_lp_depends_on": "종속: {{target}}", "install_title": "플러그인 설치 확인", "install_confirm": "{{name}} 플러그인을 설치하시겠습니까?", "install_description": "설치 후 플러그인을 활성화하면 기능을 사용할 수 있습니다.", "vendor_mode_label": "Vendor 설치 방식", "vendor_mode_hint": "Composer 사용 불가 환경에서는 '번들'을 선택하세요.", "vendor_mode_auto": "자동 (권장)", "vendor_mode_composer": "Composer 실행", "vendor_mode_bundled": "번들 Vendor 사용", "uninstall_title": "플러그인 제거 확인", "uninstall_done_title": "플러그인 제거 완료", "uninstall_confirm": "{{name}} 플러그인을 제거하시겠습니까?", "uninstall_warning": "이 작업은 되돌릴 수 없습니다.", "delete_data_option": "플러그인 데이터도 함께 삭제", "delete_data_warning": "플러그인이 생성한 모든 데이터(설정, 로그 등)가 함께 삭제되며, 삭제된 데이터는 복구할 수 없습니다.", "delete_data_info_title": "삭제될 데이터", "tables_section": "데이터베이스 테이블", "tables_total": "총 {{size}}", "storage_section": "스토리지 디렉토리", "storage_total": "총 {{size}}", "vendor_section": "Composer 의존성", "extension_directory_title": "삭제될 확장 디렉토리", "extension_directory_section": "확장 디렉토리", "preserved_title": "운영자 파일 사본 보관", "preserved_desc": "제거하기 전에 custom/ 디렉토리의 사본을 아래 경로에 보관했습니다. 확장을 다시 설치한 뒤 custom/ 으로 옮기면 그대로 다시 쓸 수 있습니다.", "shared_records_section": "공유 테이블 데이터", "shared_records_count": "{{count}}건", "shared": { "permissions": "권한", "menus": "관리자 메뉴", "notification_definitions": "알림 정의", "identity_policies": "본인인증 정책", "identity_message_definitions": "본인인증 메시지 정의" }, "no_tables": "삭제할 테이블이 없습니다.", "no_storage": "삭제할 스토리지가 없습니다.", "size_unknown": "알 수 없음", "manual_install_title": "플러그인 수동 설치", "manual_install_description": "파일 업로드 또는 GitHub 저장소에서 플러그인을 설치할 수 있습니다.", "refresh_layouts_title": "레이아웃 갱신 확인", "refresh_layouts_confirm": "{{name}} 플러그인의 레이아웃을 갱신하시겠습니까?", "refresh_layouts_description": "플러그인의 레이아웃 파일을 다시 읽어 데이터베이스에 동기화합니다.", "refresh_layouts_warning": "변경된 레이아웃은 업데이트되고, 삭제된 레이아웃은 데이터베이스에서도 삭제됩니다.", "deactivate_warning_title": "플러그인 비활성화 경고", "deactivate_warning_message": "이 플러그인에 의존하는 활성 확장(템플릿, 모듈, 플러그인)이 있습니다.", "dependent_templates": "의존하는 템플릿", "dependent_modules": "의존하는 모듈", "dependent_plugins": "의존하는 플러그인", "force_deactivate_description": "강제로 비활성화하면 해당 확장들이 정상적으로 동작하지 않을 수 있습니다.", "confirm_deactivate": "그래도 비활성화", "activate_warning_title": "플러그인 활성화 경고", "activate_warning_message": "이 플러그인을 활성화하려면 필요한 의존성이 충족되어야 합니다.", "missing_modules": "필요한 모듈", "missing_plugins": "필요한 플러그인", "force_activate_description": "강제로 활성화하면 플러그인이 정상적으로 동작하지 않을 수 있습니다.", "confirm_activate": "그래도 활성화", "update_title": "플러그인 업데이트 확인", "update_confirm": "{{name}} 플러그인을 업데이트하시겠습니까?", "update_version_info": "{{from}} → {{to}}", "update_source_github": "GitHub에서 다운로드", "update_source_pending": "대기 중인 패키지에서 설치", "update_source_bundled": "선탑재 패키지에서 설치", "view_changelog": "변경사항 보기", "changelog": "변경 내역", "no_changelog": "변경 내역 정보가 없습니다.", "update_changelog_title": "이 업데이트의 변경사항", "layout_strategy_title": "레이아웃 처리 방식", "layout_strategy_overwrite": "모두 교체", "layout_strategy_overwrite_desc": "모든 레이아웃을 새 버전으로 교체합니다.", "layout_strategy_keep": "수정 유지", "layout_strategy_keep_desc": "사용자가 수정한 레이아웃을 유지합니다.", "modified_layouts_warning": "수정된 레이아웃이 {{count}}개 있습니다. '모두 교체'를 선택하면 수정 내용이 삭제됩니다.", "no_modified_layouts": "수정된 레이아웃이 없습니다.", "modified_layouts_check_failed": "수정 여부를 확인하지 못했습니다. 네트워크 상태를 확인한 뒤 다시 시도하거나, 안전하게 '수정 유지'를 선택하세요.", "modified_layouts_list_title": "유지될 수정 레이아웃 ({{count}}개)", "modified_layouts_keep_notice": "위 레이아웃은 업데이트 후에도 현재 내용이 유지됩니다." }, "tabs": { "file_upload": "파일 업로드", "github": "GitHub", "file_label": "플러그인 파일 (.zip)", "no_file_selected": "파일이 선택되지 않음", "selected_file": "선택된 파일: {{filename}}", "file_requirements": "플러그인 패키지는 반드시", "file_structure_hint": "파일을 포함해야 하며, 그누보드7 플러그인 표준 구조를 따라야 합니다.", "github_url_label": "GitHub 저장소 URL", "github_url_hint": "GitHub 저장소의 기본 브랜치에서 플러그인을 다운로드합니다.", "github_requirements": "루트 디렉토리에", "github_public_only": "파일이 있어야 합니다." }, "errors": { "install_failed": "플러그인 설치에 실패했습니다.", "already_installed": "이미 설치된 플러그인입니다. 기존 플러그인을 제거한 후 다시 시도하세요.", "invalid_file": "유효하지 않은 플러그인 파일입니다.", "github_url_invalid": "유효하지 않은 GitHub URL입니다." } }, "menus": { "page_title": "메뉴 관리", "page_description": "관리자 사이드바 메뉴를 관리합니다.", "title": "메뉴 관리", "description": "관리자 사이드바 메뉴 구조를 관리하고 순서를 변경할 수 있습니다.", "add_menu": "메뉴 추가", "select_menu_hint": "왼쪽 목록에서 메뉴를 선택하세요", "menu_list_title": "관리자 메뉴 목록", "menu_info_title": "메뉴 정보", "new_menu_title": "새 메뉴 추가", "edit_menu_title": "메뉴 편집", "info": { "basic": "기본 정보", "name": "메뉴명", "slug": "슬러그", "path": "경로", "icon": "아이콘", "order": "순서", "status": "상태", "active": "활성", "inactive": "비활성", "affiliation": "소속 정보", "module": "모듈 정보", "plugin": "플러그인 정보", "hierarchy": "계층 정보", "parent_menu": "부모 메뉴", "child_menus": "자식 메뉴", "no_children": "없음", "children_count": "{{count}}개", "top_level": "최상위 메뉴", "none": "없음", "access": "접근 권한", "access_permission": "접근 권한", "permission": "접근 권한", "admin_only": "관리자", "all_roles": "모든 역할", "creator": "생성자", "creator_info": "생성자 정보", "created_by": "생성자", "created_at": "생성일", "updated_at": "수정일", "meta": "메타 정보" }, "form": { "name": "메뉴명", "name_placeholder": "메뉴명을 입력하세요", "slug": "슬러그", "slug_hint": "menu-slug", "url": "경로", "url_placeholder": "/admin/example", "url_hint": "메뉴 클릭 시 이동할 경로를 입력하세요", "icon": "아이콘", "icon_placeholder": "아이콘 선택", "icon_search_placeholder": "아이콘 검색...", "icon_no_results": "검색 결과가 없습니다", "parent": "부모 메뉴", "parent_top_level": "최상위 메뉴", "module": "모듈", "module_readonly_hint": "모듈 기본 메뉴의 모듈은 변경할 수 없습니다.", "custom_menu": "사용자 정의 메뉴", "custom_menu_none": "선택 안 함", "status": "상태", "is_active": "활성화", "validation_error": "입력 정보를 확인해주세요.", "roles": "접근 역할", "roles_placeholder": "역할을 선택하세요...", "roles_no_options": "선택 가능한 역할이 없습니다", "roles_hint": "이 메뉴에 접근할 수 있는 역할을 선택합니다. 선택하지 않으면 모든 역할이 접근할 수 있습니다." }, "modals": { "delete_title": "메뉴 삭제", "delete_confirm": "이 메뉴를 삭제하시겠습니까?", "delete_core_warning": "코어 메뉴는 삭제할 수 없습니다.", "module_menu_notice": "모듈 기본 메뉴의 모듈은 변경할 수 없습니다." }, "messages": { "order_updated": "메뉴 순서가 변경되었습니다.", "order_update_failed": "메뉴 순서 변경에 실패했습니다.", "created": "메뉴가 생성되었습니다.", "updated": "메뉴가 수정되었습니다.", "deleted": "메뉴가 삭제되었습니다.", "status_changed": "메뉴 상태가 변경되었습니다." } }, "roles": { "page_title": "권한 관리", "page_description": "역할(Role)과 권한(Permission)을 관리합니다.", "title": "권한 관리", "description": "역할(Role)과 권한(Permission)을 관리합니다.", "refresh": "새로고침", "add_role": "역할 추가", "search_placeholder": "역할 검색...", "pagination_info": "총 {{total}}개 중 {{from}}-{{to}}개 표시", "columns": { "name": "역할명", "description": "설명", "users_count": "사용자 수", "permissions_count": "권한 수", "status": "상태", "created_at": "생성일" }, "status": { "active": "활성", "inactive": "비활성" }, "badges": { "system": "시스템", "core": "시스템", "module": "모듈", "plugin": "플러그인" }, "actions": { "clone": "복제" }, "activate_success": "역할이 활성화되었습니다.", "deactivate_success": "역할이 비활성화되었습니다.", "toggle_status_failed": "역할 상태 변경에 실패했습니다.", "form": { "create_title": "역할 추가", "create_description": "새로운 역할을 생성하고 권한을 설정합니다.", "edit_title": "역할 수정", "edit_description": "역할 정보와 권한을 수정합니다.", "basic_info": "기본 정보", "name": "역할명", "name_placeholder": "예: 콘텐츠 관리자", "identifier": "식별자", "identifier_placeholder": "예: content_manager", "identifier_hint": "소문자로 시작하며, 소문자, 숫자, 밑줄(_)만 사용 가능합니다.", "identifier_readonly_hint": "식별자는 생성 후 변경할 수 없습니다.", "description": "설명", "description_placeholder": "역할에 대한 설명을 입력하세요", "is_active": "역할 활성화", "is_active_hint": "비활성화된 역할은 새로운 사용자에게 할당할 수 없습니다", "permissions_section": "권한 설정", "permissions_selected_suffix": "개 선택됨", "permissions_hint": "이 역할에 부여할 권한을 선택하세요. 그룹을 클릭하여 펼치거나 접을 수 있습니다.", "no_permissions_in_type": "등록된 권한이 없습니다." }, "modals": { "delete_title": "역할 삭제", "delete_confirm": "이 역할을 삭제하시겠습니까? 이 역할이 할당된 사용자들은 해당 권한을 잃게 됩니다.", "delete_success": "역할이 삭제되었습니다.", "create_success": "역할이 생성되었습니다.", "update_success": "역할이 수정되었습니다." }, "errors": { "system_role_delete": "시스템 역할은 삭제할 수 없습니다.", "delete_failed": "역할 삭제에 실패했습니다." } }, "schedules": { "page_title": "스케줄 관리", "page_description": "시스템 예약 작업을 관리합니다.", "title": "스케줄 관리", "description": "시스템에 등록된 스케줄(크론탭, Job)을 관리합니다.", "add_schedule": "스케줄 추가", "register_schedule": "스케줄 등록", "search_placeholder": "스케줄 이름으로 검색...", "search_input_placeholder": "검색어를 입력하세요...", "pagination_info": "총 {{total}}개 중 {{from}}-{{to}}개 표시", "advanced_search": "상세검색", "apply_filters": "필터 적용", "reset_filters": "초기화", "column_select": "컬럼 선택({{count}})", "total_count": "총 {{count}}개", "selected_count": "{{count}}개 선택됨", "duration_display": "{{duration}} 소요", "tabs": { "schedules": "스케줄 작업", "queue": "큐 모니터링" }, "stats": { "total": "전체", "active": "활성화", "success": "성공", "failed": "실패" }, "search_fields": { "all": "전체", "name": "작업명", "command": "명령어", "description": "설명" }, "filters": { "type": "작업유형", "status": "상태", "result": "실행 결과", "last_result": "마지막 실행결과", "all_types": "모든 유형", "all_status": "모든 상태", "all_results": "모든 결과", "all": "전체", "frequency": "실행주기", "created_at": "등록일", "start_date": "시작일", "end_date": "종료일", "without_overlapping": "중복실행 방지", "run_in_maintenance": "점검모드 실행", "module": "소속 모듈", "yes": "예", "no": "아니오", "use": "사용", "not_use": "미사용", "allow": "허용", "disallow": "비허용", "preset": { "today": "오늘", "week": "일주일", "month": "1개월", "3months": "3개월", "6months": "6개월", "year": "1년" } }, "bulk": { "status_change": "상태 변경", "action_run": "작업 실행", "apply": "일괄변경" }, "sort": { "created_at_desc": "등록일시 최근순", "created_at_asc": "등록일시 오래된순", "name_asc": "작업명 오름차순", "name_desc": "작업명 내림차순", "next_run_at_asc": "다음실행 빠른순", "next_run_at_desc": "다음실행 늦은순" }, "per_page": { "10": "10개", "20": "20개", "50": "50개", "100": "100개" }, "columns": { "name": "작업명", "type": "작업유형", "command": "명령", "frequency": "실행주기", "last_result": "마지막 실행결과", "last_run": "마지막 실행", "next_run": "다음 실행 예정", "status": "상태" }, "type": { "artisan": "Artisan", "shell": "Shell", "url": "URL" }, "frequency": { "everyMinute": "매분", "hourly": "매시간", "daily": "매일", "weekly": "매주", "monthly": "매월", "custom": "사용자 정의" }, "result": { "success": "성공", "failed": "실패", "running": "실행 중", "never": "실행 안됨" }, "status": { "active": "활성화", "inactive": "비활성화" }, "trigger_type": { "scheduled": "예약 실행", "manual": "수동 실행" }, "actions": { "run": "즉시 실행", "history": "실행 이력", "duplicate": "복제" }, "form": { "name": "이름", "name_placeholder": "스케줄 이름을 입력하세요", "description": "설명", "description_placeholder": "스케줄에 대한 설명을 입력하세요", "type": "작업 유형", "command": "명령", "command_placeholder": "실행할 명령을 입력하세요", "command_help": "Artisan 커맨드, 쉘 명령 또는 URL을 입력하세요", "frequency": "실행 주기", "expression": "Cron 표현식", "expression_help": "예: * * * * * (매분), 0 0 * * * (매일 자정)", "timeout": "타임아웃 (초)", "timeout_help": "최대 실행 시간 (1-86400초)", "without_overlapping": "중복 실행 방지", "without_overlapping_help": "이전 작업이 실행 중일 때 새 작업을 건너뜁니다", "run_in_maintenance": "점검 모드에서 실행", "run_in_maintenance_help": "시스템 점검 모드에서도 작업을 실행합니다", "is_active": "활성화", "is_active_help": "비활성화하면 예약 실행되지 않습니다" }, "modals": { "create_title": "스케줄 추가", "edit_title": "스케줄 수정", "delete_title": "스케줄 삭제", "delete_confirm": "이 스케줄을 삭제하시겠습니까? 관련된 실행 이력도 함께 삭제됩니다.", "run_title": "스케줄 즉시 실행", "run_confirm": "이 스케줄을 지금 실행하시겠습니까?", "run_duration": "실행 시간: {{duration}}", "output": "출력", "running": "실행 중...", "history_title": "실행 이력", "no_history": "실행 이력이 없습니다.", "duplicate_title": "스케줄 복제", "duplicate_confirm": "이 스케줄을 복제하시겠습니까?", "duplicate_note": "복제된 스케줄은 비활성화 상태로 생성됩니다.", "duplicating": "복제 중..." }, "history": { "duration": "소요 시간: {{duration}}", "memory": "메모리: {{memory}}", "triggered_by": "실행자: {{user}}" }, "messages": { "create_success": "스케줄이 생성되었습니다.", "update_success": "스케줄이 수정되었습니다.", "delete_success": "스케줄이 삭제되었습니다.", "duplicate_success": "스케줄이 복제되었습니다.", "status_updated": "스케줄 상태가 변경되었습니다.", "bulk_status_updated": "선택한 스케줄의 상태가 일괄 변경되었습니다." }, "errors": { "save_failed": "스케줄 저장에 실패했습니다.", "delete_failed": "스케줄 삭제에 실패했습니다.", "run_failed": "스케줄 실행에 실패했습니다.", "duplicate_failed": "스케줄 복제에 실패했습니다.", "status_update_failed": "상태 변경에 실패했습니다.", "bulk_status_failed": "일괄 상태 변경에 실패했습니다." } }, "settings": { "page_title": "환경설정", "page_description": "시스템 환경을 설정합니다.", "readonly_notice": "이 설정은 읽기 전용입니다. 수정 권한이 필요한 경우 관리자에게 문의하세요.", "env_locked_badge": ".env 고정", "env_locked_notice": "이 사이트는 .env 우선 모드로 운영됩니다. .env 에 값이 지정된 항목은 여기서 변경할 수 없으며, 화면에는 실제로 적용 중인 값이 표시됩니다. 변경하려면 서버의 .env 를 수정한 뒤 설정 캐시를 다시 만드세요.", "tabs": { "general": "일반", "mail": "메일", "upload": "업로드", "seo": "SEO", "security": "보안", "drivers": "드라이버", "advanced": "고급", "notification_definitions": "알림 설정", "language_packs": "언어팩", "identity": "본인인증", "info": "정보" }, "general": { "site_info": "사이트 정보", "site_info_desc": "기본 사이트 정보를 설정합니다.", "site_name": "사이트 이름", "site_url": "사이트 URL", "site_description": "사이트 설명", "site_description_placeholder": "사이트에 대한 간단한 설명을 입력하세요.", "admin_email": "관리자 이메일", "site_logo": "사이트 타이틀 이미지", "site_logo_desc": "헤더에 표시될 로고 이미지입니다.", "upload_drag_drop": "클릭하거나 파일을 드래그하여 업로드", "max_size": "최대", "localization": "지역화", "localization_desc": "언어 및 시간대를 설정합니다.", "default_language": "기본 언어", "select_language": "언어를 선택하세요", "timezone": "시간대", "select_timezone": "시간대를 선택하세요", "asset_url_mode": "에셋 파일 서빙 방식", "asset_url_mode_help": "서버 설정에 따라 자동으로 선택됩니다. 화면이 정상적으로 보인다면 바꾸지 마세요.", "asset_url_mode_extension": "확장자 사용 (권장)", "asset_url_mode_extensionless": "확장자 미사용", "asset_url_mode_detect": "자동 감지", "asset_url_mode_detecting": "에셋 파일 서빙 방식을 감지하는 중입니다...", "asset_url_mode_detect_extension": "확장자를 사용할 수 있는 환경입니다.", "asset_url_mode_detect_extensionless": "정적 파일 최적화 규칙(nginx의 location ~* \\.(js|css|json|png|jpg|jpeg|gif|ico|svg|woff2?)$ 블록 등)이 확장자 주소를 가로채고 있습니다. '확장자 미사용'으로 바꾼 뒤 저장하세요.", "asset_url_mode_detect_unavailable": "감지에 실패했습니다. 서버가 응답하지 않아 방식을 판정할 수 없습니다.", "static_cache_title": "초기 화면 정적 파일", "static_cache_description": "첫 화면을 빠르게 띄우기 위해 다국어·라우트·컴포넌트·확장 번들을 정적 파일로 미리 만들어 둡니다. 확장 설치·업데이트나 설정 변경 뒤 자동으로 다시 만들어지며, 화면이 옛 내용을 보이면 여기서 즉시 다시 만들 수 있습니다.", "static_cache_status": "상태", "static_cache_status_published": "게시됨", "static_cache_status_unpublished": "미게시", "static_cache_status_disabled": "비활성", "static_cache_status_dev_mode": "개발 모드", "static_cache_version": "현재 버전", "static_cache_files": "파일 수", "static_cache_published_at": "마지막 게시 시각", "static_cache_never": "아직 없음", "static_cache_process_user": "실행 계정", "static_cache_failure": "최근 {{count}}회 연속 실패 —", "static_cache_failure_parent_not_writable": "저장 폴더에 쓸 수 없습니다. 서버에서 폴더 소유자·권한을 확인하세요.", "static_cache_failure_write_failed": "파일을 쓰는 중 실패했습니다. 디스크 여유 공간을 확인하세요.", "static_cache_failure_lock_unavailable": "캐시 저장소에서 잠금을 얻지 못했습니다. 캐시 저장소 상태를 확인하세요.", "static_cache_hint_disabled": "G7_STATIC_CACHE=false 로 꺼져 있어 정적 파일을 만들지 않습니다. 모든 화면이 API 로 동작합니다.", "static_cache_hint_dev_mode": "운영 모드(APP_ENV=production)에서만 정적 파일을 만듭니다. 지금은 모든 화면이 API 로 동작합니다.", "static_cache_republish_now": "지금 다시 만들기", "static_cache_republish": "다시 만들기", "static_cache_republishing": "다시 만드는 중...", "static_cache_republish_confirm_title": "초기 화면 정적 파일 다시 만들기", "static_cache_republish_confirm_body": "정적 파일을 새 버전으로 다시 만듭니다. 모든 방문자가 자산을 다시 내려받습니다.", "static_cache_republish_confirm_warning": "완료까지 잠시 걸릴 수 있습니다. 그동안 사이트는 정상 동작합니다.", "static_cache_republished": "초기 화면 정적 파일을 다시 만들었습니다.", "static_cache_republish_not_publishable": "지금 환경에서는 정적 파일을 만들지 않습니다 (운영 모드가 아니거나 꺼져 있음).", "static_cache_republish_failed": "초기 화면 정적 파일을 다시 만들지 못했습니다. 아래 실패 사유를 확인하세요. 사이트는 정상 동작합니다." }, "mail": { "smtp_settings": "SMTP 설정", "smtp_settings_desc": "이메일 발송을 위한 SMTP 서버를 설정합니다.", "mailer": "메일러", "select_mailer": "메일러를 선택하세요", "host": "SMTP 호스트", "port": "포트", "username": "사용자명", "password": "비밀번호", "encryption": "암호화", "select_encryption": "암호화 방식을 선택하세요", "none": "없음", "from_address": "발신자 이메일", "from_name": "발신자 이름", "test_mail": "테스트 메일", "test_mail_desc": "설정이 올바른지 확인하기 위해 테스트 메일을 발송합니다.", "test_email_placeholder": "테스트 메일을 받을 이메일 주소", "send_test": "테스트 발송", "test_mail_success": "테스트 메일이 발송되었습니다.", "test_mail_failed": "테스트 메일 발송에 실패했습니다.", "test_mail_subject_label": "제목: ", "test_mail_body_label": "내용: ", "mailgun_settings": "Mailgun 설정", "mailgun_settings_desc": "Mailgun API를 통해 이메일을 발송합니다.", "ses_settings": "SES (Amazon) 설정", "ses_settings_desc": "Amazon SES를 통해 이메일을 발송합니다.", "mailgun_domain": "Mailgun 도메인", "mailgun_secret": "Mailgun API 키", "mailgun_endpoint": "Mailgun 엔드포인트", "mailgun_endpoint_placeholder": "api.mailgun.net", "ses_key": "AWS 액세스 키", "ses_secret": "AWS 시크릿 키", "ses_region": "AWS 리전", "select_ses_region": "AWS 리전을 선택하세요" }, "upload": { "file_settings": "파일 업로드 설정", "file_settings_desc": "파일 업로드에 관련된 기본 설정을 관리합니다.", "max_file_size": "최대 파일 크기", "allowed_extensions": "허용 확장자", "allowed_extensions_hint": "허용할 파일 확장자를 쉼표로 구분하여 입력하세요.", "image_settings": "이미지 설정", "image_settings_desc": "업로드되는 이미지의 자동 리사이즈 및 품질 설정입니다.", "image_max_width": "최대 너비", "image_max_height": "최대 높이", "image_quality": "이미지 품질", "image_quality_hint": "1~100 사이의 값을 입력하세요. 높을수록 품질이 좋습니다.", "orphan_cleanup": "고아 첨부 정리", "orphan_cleanup_desc": "폼을 저장하지 않고 나가서 소유자 없이 남은 첨부파일을 정리합니다.", "orphan_cleanup_enabled": "고아 첨부 자동 정리", "orphan_cleanup_enabled_hint": "기본 꺼짐 — 운영자가 직접 켜야 동작합니다. 켜면 보존기간이 지난 고아 첨부의 파일과 기록을 매일 삭제합니다. 사이트 로고처럼 현재 사용 중인 첨부는 삭제하지 않습니다.", "orphan_retention_days": "고아 첨부 보존기간 (일)", "orphan_retention_days_hint": "업로드 후 이 기간이 지난 고아 첨부만 정리 대상이 됩니다. 폼 작성 중 이탈을 감안해 넉넉히 잡으세요. (1 ~ 3650 일)" }, "seo": { "meta_settings": "메타 태그 설정", "meta_settings_desc": "검색엔진 최적화를 위한 메타 태그를 설정합니다.", "meta_title_suffix": "타이틀 접미사", "meta_title_suffix_hint": "모든 페이지 타이틀 뒤에 붙는 문구입니다. (예: ' | 그누보드7')", "meta_description": "기본 메타 설명", "meta_description_placeholder": "사이트의 기본 메타 설명을 입력하세요.", "meta_description_hint": "검색 결과에 표시되는 설명입니다. 최대 160자를 권장합니다.", "meta_keywords": "메타 키워드", "meta_keywords_hint": "쉼표로 구분하여 입력하세요.", "generator_settings": "Generator 메타 태그", "generator_settings_desc": "CMS 식별을 위한 generator 메타 태그입니다. W3Techs 등 통계 도구가 이 값으로 사이트를 그누보드7로 분류합니다.", "generator_enabled": "Generator 태그 표시", "generator_enabled_desc": "비활성화 시 메타 태그 자체를 출력하지 않습니다.", "generator_content": "Generator 내용", "generator_content_hint": "비워두면 \"GnuBoard7 {버전}\" 이 자동 적용됩니다. 버전 노출을 원치 않으면 \"GnuBoard7\" 만 입력하세요.", "og_twitter_settings": "OG / Twitter 카드 기본값", "og_twitter_settings_desc": "페이스북·슬랙·트위터 등 링크 미리보기에 사용할 기본 메타 정보입니다. 레이아웃이 페이지별로 명시한 값이 있으면 그것이 우선합니다.", "og_default_site_name": "OG 사이트 이름 (선택 재정의)", "og_default_site_name_hint": "기본값은 일반 설정의 사이트 이름입니다. 공유 미리보기(og:site_name)에 다른 이름을 노출하려는 경우에만 입력하세요. 비워두면 일반 설정의 사이트 이름을 그대로 따릅니다.", "og_image_default_width": "OG 이미지 기본 가로 (px)", "og_image_default_height": "OG 이미지 기본 세로 (px)", "og_image_default_size_hint": "썸네일 실제 크기를 모르는 경우의 기본값입니다. 페이스북은 권장 1200×630, 최소 200×200.", "og_image_default": "기본 공유 이미지", "og_image_default_desc": "화면별 공유 이미지가 없을 때 사용할 사이트 기본 이미지입니다. 링크 공유 시 미리보기 카드에 표시됩니다.", "twitter_default_card": "Twitter 카드 기본 타입", "twitter_default_card_hint": "이미지가 큰 카드는 summary_large_image, 작은 카드는 summary 권장.", "twitter_default_site": "Twitter 사이트 핸들", "twitter_default_site_hint": "사이트의 트위터 계정 핸들 (예: @gnuboard). 미입력 시 출력 생략.", "analytics_settings": "애널리틱스 설정", "analytics_settings_desc": "웹사이트 분석 도구를 연동합니다.", "google_analytics_id": "Google Analytics ID", "google_analytics_id_hint": "GA4 측정 ID (G-XXXXXXXXXX) 또는 UA 추적 ID (UA-XXXXX-X)", "verification_settings": "사이트 소유권 확인", "verification_settings_desc": "검색엔진의 사이트 소유권 확인 코드를 입력합니다.", "google_site_verification": "Google 사이트 확인", "naver_site_verification": "네이버 사이트 확인", "bot_settings": "봇 감지 설정", "bot_settings_desc": "검색 봇 감지 및 SEO 페이지 생성 관련 설정입니다.", "bot_detection_enabled": "봇 감지 활성화", "bot_detection_enabled_desc": "검색 봇을 감지하여 SEO 최적화된 HTML을 제공합니다.", "bot_detection_library_enabled": "봇 감지 라이브러리 사용", "bot_detection_library_enabled_desc": "비활성 시 아래 \"추가 봇 패턴\" 목록만으로 봇을 감지합니다.", "bot_library_notice_title": "검색 로봇 자동 감지 활성화", "bot_library_notice_body": "검색엔진·링크 미리보기·AI 봇 등 약 1,000종을 자동으로 감지합니다. 슬랙·카카오톡·페이스북 등에 링크를 붙여넣으면 제목·설명·이미지 미리보기가 즉시 표시됩니다. 아래 \"추가 봇 패턴\" 필드에는 자동 감지 목록에 없는 봇이 있을 때만 추가하세요.", "bot_user_agents": "추가 봇 패턴", "bot_user_agents_hint": "User-Agent 부분 문자열(대소문자 무시) — 라이브러리 기본 감지에 추가로 봇으로 처리할 패턴을 입력합니다.", "bot_user_agents_placeholder": "User-Agent 입력 후 Enter", "seo_cache_settings": "SEO 캐시 설정", "seo_cache_settings_desc": "SEO 페이지 캐시 관련 설정입니다.", "cache_enabled": "SEO 캐시 활성화", "cache_enabled_desc": "SEO 페이지를 캐시하여 응답 속도를 향상시킵니다. 지정하지 않으면 고급 설정의 값을 따릅니다.", "cache_ttl": "캐시 유지 시간 (초)", "cache_ttl_hint": "비워두면 고급 설정의 SEO 캐시 시간을 따릅니다. 값을 넣으면 이 화면의 값이 우선합니다 — 최소 60초, 최대 86400초 (24시간)", "sitemap_settings": "Sitemap 설정", "sitemap_settings_desc": "sitemap.xml 자동 생성 관련 설정입니다.", "sitemap_enabled": "Sitemap 생성 활성화", "sitemap_enabled_desc": "sitemap.xml을 자동으로 생성하여 검색엔진에 제공합니다.", "sitemap_schedule": "생성 주기", "sitemap_schedule_hourly": "매시간", "sitemap_schedule_daily": "매일", "sitemap_schedule_weekly": "매주", "sitemap_schedule_time": "생성 시각", "sitemap_schedule_time_hint": "HH:mm 형식으로 입력하세요. (예: 02:00)", "sitemap_cache_ttl": "Sitemap 캐시 유지 시간 (초)", "sitemap_cache_ttl_hint": "비워두면 고급 설정의 Sitemap 캐시 시간을 따릅니다. 값을 넣으면 이 화면의 값이 우선합니다 — 최소 3600초 (1시간), 최대 604800초 (7일)", "sitemap_last_updated_at": "마지막 생성", "sitemap_manual_update": "지금 생성", "sitemap_updating": "시작하는 중...", "sitemap_update_success": "Sitemap 재생성을 시작했습니다. 완료까지 시간이 걸릴 수 있습니다.", "sitemap_update_failed": "Sitemap 재생성을 시작하지 못했습니다.", "sitemap_urls_per_file": "Sitemap 파일당 URL 수", "sitemap_urls_per_file_hint": "URL 이 이 수를 넘으면 sitemap 파일이 여러 개로 나뉘고 색인 파일이 함께 만들어집니다 — 최소 1000개, 최대 50000개 (검색엔진 규격 상한)", "sitemap_gzip": "Sitemap 압축 (gzip)", "sitemap_gzip_desc": "나뉜 sitemap 파일을 압축해 전송량을 줄입니다. 색인 파일은 압축하지 않습니다.", "sitemap_hreflang_enabled": "다국어 대체 링크 (hreflang)", "sitemap_hreflang_enabled_desc": "다국어 사이트에서 URL 마다 각 언어 버전을 가리키는 hreflang 대체 링크를 넣습니다. 끄면 링크를 생략해 sitemap 크기를 줄입니다.", "sitemap_regenerating": "생성 중…", "sitemap_progress": "생성 진행 상황", "sitemap_status_queued": "대기 중", "sitemap_status_running": "생성 중", "sitemap_status_writing": "파일 작성 중", "sitemap_status_completed": "완료", "sitemap_status_failed": "실패", "sitemap_progress_phase": "현재 처리 중: {{phase}}", "sitemap_progress_urls": "누적 URL: {{count}}개", "sitemap_realtime_connected": "실시간으로 연결되어 있습니다.", "sitemap_polling": "진행 상황을 주기적으로 확인하고 있습니다." }, "security": { "title": "보안 설정", "desc": "사이트 보안 관련 설정을 관리합니다.", "force_https": "HTTPS 강제 적용", "force_https_desc": "모든 연결을 HTTPS로 강제합니다.", "allow_internal_outbound_urls": "내부 네트워크 주소 호출 허용", "allow_internal_outbound_urls_desc": "외부 API 연동·스케줄 URL 호출 등에서 사설 IP나 localhost 같은 내부 주소를 사용할 수 있게 합니다. 사내 서버를 호출해야 할 때만 켜세요. 켜면 서버가 내부망으로 요청을 보낼 수 있게 되므로 기본값은 꺼짐입니다.", "login_attempt_limit": "로그인 시도 제한", "login_attempt_limit_desc": "일정 횟수 이상 로그인 실패 시 계정을 잠급니다.", "auth_token_lifetime": "인증 토큰 유지시간 (분)", "max_login_attempts": "최대 로그인 시도 횟수", "login_lockout_time_full": "로그인 시도 횟수 초과시 차단 시간 (분)", "zero_means_unlimited": "0을 입력하면 무한대로 설정됩니다.", "app_key": "어플리케이션 키 관리", "app_key_desc": "암호화에 사용되는 어플리케이션 키를 관리합니다.", "current_app_key": "현재 키", "regenerate_key": "키 재생성", "app_key_warning": "키를 변경하면 기존 암호화된 데이터에 접근할 수 없게 될 수 있습니다.", "password_min_length": "비밀번호 최소 길이", "password_min_length_hint": "회원가입·비밀번호 변경·재설정에 적용됩니다. 로그인에는 적용되지 않습니다(기존 비밀번호로 로그인할 수 없게 되는 것을 막기 위함).", "require_password_special_char": "특수문자 필수", "require_password_special_char_label": "비밀번호에 특수문자를 반드시 포함", "require_password_special_char_hint": "켜면 새로 설정하는 비밀번호에 특수문자가 최소 1개 필요합니다.", "two_factor_auth": "2단계 인증", "two_factor_auth_label": "로그인 시 인증번호를 한 번 더 확인", "two_factor_auth_hint": "켜면 비밀번호 확인 뒤 가입 메일로 인증번호를 보내고, 그 번호를 입력해야 로그인이 완료됩니다.", "ip_throttle_floor_hint": "IP 단위 요청 제한은 이 값의 6배로 적용되며, 분당 최소 30회는 항상 보장됩니다." }, "identity": { "sub_tabs": { "basic": "기본", "providers": "프로바이더", "policies": "정책 관리", "messages": "메시지 템플릿" }, "messages": { "title": "본인인증 메시지 템플릿", "intro": "본인인증 메일에 사용할 제목과 본문을 직접 편집합니다. 한국어/영어를 모두 입력할 수 있고, 언제든 기본값으로 되돌릴 수 있습니다. 운영자가 추가한 정책에는 별도 메시지를 묶어 등록할 수 있습니다.", "empty": "등록된 메시지 정의가 없습니다.", "edit": "편집", "btn_add_definition": "정의 추가", "btn_reset": "기본값 복원", "btn_delete": "삭제", "status_active": "활성", "status_inactive": "비활성", "default_badge": "기본", "body_preview": "본문 미리보기", "total_count": "총 {count}건", "per_page_label": "페이지당", "channels": { "mail": "메일" }, "toggle_success": "메시지 정의 활성 상태가 변경되었습니다.", "toggle_failed": "활성 상태 변경에 실패했습니다.", "badges": { "default": "기본값", "customized": "사용자 수정" }, "add_modal": { "title": "메시지 정의 추가", "errors_title": "입력 오류", "provider": "프로바이더", "scope_type": "범위 유형", "policy_key": "정책 키", "policy_key_placeholder": "운영자 정책을 선택하세요", "policy_empty": "운영자 정책이 없습니다. 정책 탭에서 먼저 등록해 주세요.", "name": "이름", "subject": "제목", "body": "본문", "variables_title": "사용 가능한 변수", "save_success": "메시지 정의가 추가되었습니다.", "save_failed": "메시지 정의 추가에 실패했습니다." }, "delete_modal": { "title": "메시지 정의 삭제", "target_label": "대상", "confirm_message": "이 메시지 정의를 삭제하시겠습니까?", "warning_message": "삭제하면 연결된 모든 채널 템플릿이 함께 제거됩니다. 이 작업은 되돌릴 수 없습니다.", "btn_confirm": "삭제", "btn_confirming": "삭제 중...", "delete_success": "메시지 정의가 삭제되었습니다.", "delete_failed": "메시지 정의 삭제에 실패했습니다." }, "reset_modal": { "title": "기본값 복원", "target_label": "대상", "confirm_message": "이 메시지 정의의 모든 채널 템플릿을 시드 기본값으로 복원하시겠습니까?", "warning_message": "운영자 수정 내용이 모두 사라지며, 이 작업은 되돌릴 수 없습니다.", "btn_confirm": "복원", "btn_confirming": "복원 중...", "reset_success": "메시지 정의가 기본값으로 복원되었습니다.", "reset_failed": "기본값 복원에 실패했습니다." }, "modal": { "title": "메시지 템플릿 편집", "errors_title": "입력 오류", "variables_title": "사용 가능한 변수", "subject": "제목", "body": "본문", "reset": "기본값으로 복원", "reset_confirm": "운영자가 수정한 내용이 모두 시드 기본값으로 복원됩니다. 계속하시겠습니까?", "reset_success": "기본값으로 복원되었습니다.", "reset_failed": "복원에 실패했습니다.", "save_success": "메시지 템플릿이 저장되었습니다.", "save_failed": "저장에 실패했습니다.", "preview": "미리보기", "preview_failed": "미리보기를 불러오지 못했습니다.", "subject_label": "제목", "body_label": "본문" } }, "basic": { "title": "기본 설정", "desc": "본인인증 인프라의 기본 동작을 설정합니다. 정책별 활성화·강제 시점은 정책 관리 탭에서 설정합니다.", "default_provider": "기본 프로바이더", "default_provider_desc": "Purpose별로 지정되지 않은 경우 사용할 기본 프로바이더입니다.", "challenge_ttl_minutes": "Challenge 만료 시간 (분)", "challenge_ttl_desc": "발급된 인증 코드/링크의 유효시간입니다.", "max_attempts": "최대 시도 횟수", "max_attempts_desc": "연속 실패 시 해당 challenge 가 잠깁니다. 재전송이 필요합니다." }, "purposes": { "title": "목적별 프로바이더", "desc": "본인인증 목적(Purpose)별로 사용할 프로바이더를 개별 지정할 수 있습니다. 미지정 시 기본 프로바이더가 사용됩니다.", "use_default": "(기본 프로바이더 사용)", "empty": "등록된 Purpose가 없습니다." }, "providers": { "title": "프로바이더 상세", "desc": "현재 등록된 프로바이더 목록입니다. 플러그인으로 확장 가능합니다.", "available": "사용 가능", "unavailable": "사용 불가", "empty": "등록된 프로바이더가 없습니다." }, "policy_link": { "title": "정책 관리", "desc": "라우트/훅 단위로 IDV 강제 정책을 관리합니다.", "button": "정책 관리 이동" }, "logs_link": { "title": "인증 이력", "desc": "challenge 요청·검증·만료 이력을 조회합니다.", "button": "이력 보기" } }, "drivers": { "common": { "optional": "선택사항", "unavailable_saved_value_prefix": "저장된 값 ", "unavailable_saved_value_suffix": " 은(는) 현재 사용할 수 없습니다. 사용 가능한 값을 선택해 저장하세요." }, "storage": { "title": "파일 스토리지", "desc": "파일 저장소 드라이버를 설정합니다.", "driver": "스토리지 드라이버", "options": { "local": "로컬 파일시스템", "s3": "Amazon S3" }, "s3_bucket": "S3 버킷", "s3_region": "S3 리전", "s3_region_desc": "AWS 리전 코드 또는 S3 호환 스토리지의 리전 값을 입력하세요. (예: ap-northeast-2, Cloudflare R2 는 auto)", "s3_access_key": "Access Key", "s3_secret_key": "Secret Key", "s3_endpoint": "엔드포인트 URL", "s3_endpoint_desc": "S3 호환 스토리지(Cloudflare R2, MinIO 등)의 API 주소입니다. AWS S3 는 비워 둡니다.", "s3_use_path_style": "Path-style 주소 사용", "s3_use_path_style_desc": "MinIO 등 path-style 주소 전용 스토리지에서 켭니다.", "s3_url": "S3 URL (공개 URL)", "s3_url_desc": "파일 공개 URL 생성에 쓰는 CDN/커스텀 도메인입니다. API 요청 주소는 엔드포인트 URL에 입력하세요." }, "public_asset": { "title": "공개 자산 스토리지", "desc": "완전 공개 자산(상품·카테고리·리뷰·에디터 이미지, 레이아웃 배경 이미지 등)의 직접 URL 서빙 디스크를 설정합니다. 사용 안 함이면 기존 스트리밍 방식으로 동작합니다. 켠 뒤 업로드한 파일만 직접 URL 로 발급되며, 그 주소는 저장된 레이아웃에 그대로 남습니다.", "disk": "디스크", "s3_help": "S3 선택 시 위 파일 스토리지 카드의 S3 URL(CDN 도메인) 설정이 필요합니다. 미설정 시 스트리밍으로 동작합니다." }, "cache": { "title": "캐시", "desc": "애플리케이션 캐시 드라이버를 설정합니다.", "driver": "캐시 드라이버", "options": { "file": "파일", "redis": "Redis", "memcached": "Memcached" }, "redis_host": "Redis 호스트", "redis_port": "Redis 포트", "redis_password": "Redis 비밀번호", "redis_database": "Redis 데이터베이스", "memcached_host": "Memcached 호스트", "memcached_port": "Memcached 포트" }, "session": { "title": "세션", "desc": "사용자 세션 저장 방식을 설정합니다.", "driver": "세션 드라이버", "options": { "file": "파일", "database": "데이터베이스", "redis": "Redis" }, "lifetime": "세션 유효시간", "minutes": "분", "redis_shared_notice": "Redis 선택 시 캐시의 Redis 설정을 공유합니다." }, "queue": { "title": "큐", "desc": "백그라운드 작업 처리 방식을 설정합니다.", "driver": "큐 드라이버", "options": { "sync": "동기 처리 (즉시 실행)", "database": "데이터베이스", "redis": "Redis" }, "worker_notice": "database 또는 redis 사용 시 큐 워커를 실행해야 합니다.", "redis_shared_notice": "Redis 선택 시 캐시의 Redis 설정을 공유합니다." }, "log": { "title": "로그", "desc": "애플리케이션 로그 저장 방식을 설정합니다.", "driver": "로그 드라이버", "options": { "single": "단일 파일 (laravel.log)", "daily": "일별 파일 (laravel-YYYY-MM-DD.log)" }, "level": "로그 레벨", "level_desc": "설정한 레벨 이상의 로그만 기록됩니다.", "levels": { "debug": "Debug (디버그)", "info": "Info (정보)", "notice": "Notice (알림)", "warning": "Warning (경고)", "error": "Error (오류)", "critical": "Critical (심각)", "alert": "Alert (알림)", "emergency": "Emergency (긴급)" }, "retention_days": "로그 보관 일수", "days": "일", "retention_desc": "설정된 기간이 지난 로그 파일은 자동으로 삭제됩니다.", "path_info": "로그 파일 위치: /storage/logs/" }, "websocket": { "title": "웹소켓 (Reverb)", "desc": "실시간 통신을 위한 웹소켓 서버를 설정합니다.", "enabled": "웹소켓 사용", "enabled_desc": "Laravel Reverb를 통한 실시간 기능을 활성화합니다.", "app_id": "앱 ID", "app_key": "앱 키", "app_secret": "앱 시크릿", "host": "호스트", "port": "포트", "scheme": "프로토콜", "reverb_notice": "웹소켓 사용 시 Reverb 서버를 실행해야 합니다.", "verify_ssl": "SSL 인증서 검증", "verify_ssl_desc": "자체 서명 인증서 사용 시 비활성화하세요. 프로덕션 환경에서는 반드시 활성화해야 합니다.", "server_endpoint_title": "서버 엔드포인트 (백엔드 → Reverb)", "server_endpoint_desc": "백엔드가 broadcast 이벤트를 Reverb 서버에 전달할 때 사용하는 내부 주소입니다. 위 호스트/포트는 브라우저 접속용이고, 이 값은 백엔드 → Reverb 내부 통신용입니다. 비워두면 위 클라이언트 값과 동일하게 사용됩니다.", "server_host": "서버 호스트 (내부)", "server_port": "서버 포트 (내부)", "server_scheme": "서버 프로토콜 (내부)" }, "search_engine": { "title": "검색엔진", "desc": "통합검색 및 관리자 검색에 사용할 검색엔진 드라이버를 설정합니다.", "driver": "검색엔진 드라이버", "driver_desc": "기본 제공되는 MySQL FULLTEXT(ngram) 엔진은 별도 설정 없이 한국어 검색을 지원합니다.", "plugin_notice": "검색엔진 플러그인(Meilisearch, Elasticsearch 등)을 설치하면 추가 드라이버가 표시됩니다." }, "test_connection": "연결 테스트", "testing": "테스트 중...", "test_success": "연결 성공", "test_failed": "연결 실패", "test_required": "저장하기 전에 연결 테스트가 필요합니다", "test_before_save": "외부 서비스 사용 시 연결 테스트를 먼저 수행해주세요" }, "advanced": { "cache": "캐시 설정", "cache_desc": "시스템 캐시를 관리합니다.", "cache_enabled": "전체 캐시 활성화", "cache_enabled_desc": "시스템 전체 캐시를 활성화합니다.", "cache_detail_settings": "상세 캐시 설정", "layout_cache": "레이아웃 캐시", "layout_cache_desc": "레이아웃 데이터를 캐시합니다.", "stats_cache": "통계 캐시", "stats_cache_desc": "대시보드 통계를 캐시합니다.", "seo_cache": "SEO 캐시", "seo_cache_desc": "SEO 메타데이터를 캐시합니다.", "cache_ttl": "만료 시간 (초)", "cache_ttl_zero_hint": "만료 시간을 0으로 설정하면 캐시가 만료되지 않습니다 (무한대).", "clear_all_cache": "캐시 모두 삭제", "debug": "디버그 설정", "debug_desc": "개발 및 디버깅 관련 설정입니다.", "debug_mode": "디버그 모드", "debug_mode_desc": "상세한 오류 메시지를 표시합니다. 프로덕션에서는 비활성화하세요.", "dev_dashboard": "개발 대시보드", "sql_query_log": "SQL 쿼리 로그", "sql_query_log_desc": "실행된 SQL 쿼리를 로그에 기록합니다. 로그 파일 위치: /storage/logs/query.log", "outbound_proxy": "아웃바운드 프록시 주소", "outbound_proxy_desc": "사이트가 외부로 보내는 모든 요청(결제 승인, 코어 업데이트 확인, 알림 발송 등)이 이 서버를 거쳐 나갑니다. 접속 IP를 제한하는 외부 서비스를 연동할 때 사용합니다. 비워 두면 사용하지 않습니다.", "outbound_proxy_placeholder": "socks5h://127.0.0.1:1080", "outbound_proxy_bypass": "프록시 예외 목록", "outbound_proxy_bypass_desc": "이 목록에 있는 주소로 보내는 요청은 프록시를 거치지 않고 바로 나갑니다. 내부망 주소를 넣어두면 불필요한 우회를 줄일 수 있습니다.", "outbound_proxy_bypass_placeholder": "주소 입력 후 Enter", "outbound_proxy_test": "연결 테스트", "pagination": "목록 한계값", "pagination_desc": "대용량 목록에서 총 건수를 세는 범위와 직접 요청 가능한 페이지 번호의 상한입니다. 상한을 넘으면 총 건수를 \"N건 이상\" 으로 표시하고 마지막 페이지 점프만 감춥니다 — 다음 페이지 이동은 그대로 열려 있습니다.", "pagination_result_cap": "총 건수 집계 상한", "pagination_result_cap_desc": "이 건수까지만 정확히 셉니다. 0 이면 항상 전부 셉니다(대용량에서 목록이 느려질 수 있습니다).", "pagination_max_page": "페이지 번호 상한", "pagination_max_page_desc": "주소로 직접 요청할 수 있는 최대 페이지 번호입니다. 0 이면 제한하지 않습니다. 정상적인 다음 페이지 이동은 이 값과 무관하게 계속 가능합니다.", "core_update": "업데이트 설정", "core_update_desc": "코어 및 확장(모듈/플러그인/템플릿) 업데이트에 사용할 GitHub 인증 정보를 설정합니다.", "core_update_github_url": "GitHub 저장소 URL", "core_update_github_url_desc": "코어 업데이트를 확인할 GitHub 저장소 URL입니다. (코어 전용)", "core_update_github_token": "GitHub 액세스 토큰", "core_update_github_token_desc": "프라이빗 저장소의 코어 및 확장 업데이트에 사용됩니다. Fine-grained PAT 권한: Contents (Read-only). 공개 저장소는 비워둘 수 있습니다.", "geoip_section": "IP 기반 타임존 감지 (MaxMind GeoLite2)", "geoip_section_desc": "로그인하지 않은 사용자의 IP 주소로부터 타임존을 자동으로 감지합니다. MaxMind 무료 라이선스 키가 필요합니다.", "geoip_enabled": "IP 기반 타임존 감지 사용", "geoip_enabled_desc": "토글을 켜면 라이선스 키 입력과 주기적 DB 업데이트가 활성화됩니다.", "geoip_license_key": "MaxMind 라이선스 키", "geoip_license_key_desc": "MaxMind 무료 계정에서 발급받은 라이선스 키를 입력하세요. https://www.maxmind.com/en/geolite2/signup 에서 무료로 발급 가능합니다.", "geoip_auto_update_enabled": "GeoIP DB 자동 업데이트", "geoip_auto_update_enabled_desc": "주 1회(수요일 03:00) MaxMind GeoLite2-City DB를 자동으로 재다운로드합니다.", "geoip_last_updated_at": "마지막 업데이트", "geoip_manual_update": "지금 업데이트", "geoip_updating": "업데이트 중...", "geoip_update_success": "GeoIP DB 업데이트가 완료되었습니다.", "geoip_update_failed": "GeoIP DB 업데이트에 실패했습니다.", "seo_sitemap_cache": "Sitemap 캐시", "seo_sitemap_cache_desc": "sitemap.xml 을 캐시합니다.", "trusted_proxy": "리버스 프록시 (신뢰 프록시)", "trusted_proxy_desc": "HTTPS 를 앞단에서 처리하는 구성(AWS ALB, CloudFront, Cloudflare, nginx)에서 접속 주소와 방문자 IP 를 올바르게 인식하기 위한 설정입니다. 값은 .env 의 TRUSTED_PROXIES 로만 변경할 수 있습니다.", "trusted_proxy_status": "진단 결과", "trusted_proxy_status_ok": "정상", "trusted_proxy_status_warning": "조치 필요", "trusted_proxy_status_not_applicable": "판정 불가", "trusted_proxy_configured": "TRUSTED_PROXIES 설정값", "trusted_proxy_not_configured": "미설정 (아무 프록시도 신뢰하지 않음)", "trusted_proxy_forwarded_headers": "수신 중인 프록시 헤더", "trusted_proxy_forwarded_headers_none": "없음", "trusted_proxy_is_secure": "HTTPS 인식", "trusted_proxy_is_secure_yes": "HTTPS 로 인식", "trusted_proxy_is_secure_no": "HTTP 로 인식", "trusted_proxy_client_ip": "방문자 IP 로 인식된 값", "trusted_proxy_remote_addr": "직전 호출 IP (REMOTE_ADDR)", "trusted_proxy_same_ip_hint": "두 값이 같으면서 프록시 헤더를 받고 있습니다 — 모든 방문자가 한 사람으로 기록되고 있는 상태입니다.", "trusted_proxy_doc_hint": "설정 방법과 도입 시 후속 조치:" }, "notification_definitions": { "title": "알림 설정", "description": "채널별 알림 템플릿을 관리합니다.", "channel_management": "알림 채널 관리", "active": "활성", "inactive": "비활성", "default_badge": "기본", "btn_edit": "편집", "btn_activate": "활성화", "btn_deactivate": "비활성화", "btn_reset": "기본값 복원", "btn_search": "검색", "btn_reset_filter": "초기화", "search_placeholder": "검색어를 입력하세요", "search_type_all": "전체", "search_type_subject": "제목", "search_type_body": "본문", "total_count": "총 {{count}}건", "per_page_label": "페이지당", "empty_message": "등록된 알림 설정이 없습니다.", "empty_no_results": "검색 결과가 없습니다.", "toggle_success": "알림 활성 상태가 변경되었습니다.", "reset_success": "알림 설정이 기본값으로 복원되었습니다.", "reset_failed": "알림 설정 복원에 실패했습니다.", "reset_modal": { "title": "기본값으로 복원", "confirm_message": "이 알림의 모든 채널 템플릿을 기본값으로 복원합니다.", "warning_message": "저장된 제목/본문/수신자 설정이 모두 사라지며 복구할 수 없습니다.", "target_label": "복원 대상:", "btn_confirm": "복원", "btn_confirming": "복원 중..." }, "no_template_for_channel": "이 채널에 대한 템플릿이 없습니다.", "body_preview": "본문 미리보기", "save_success": "알림 설정이 저장되었습니다.", "save_error": "알림 설정 저장에 실패했습니다.", "types": { "welcome": "회원가입 환영", "reset_password": "비밀번호 재설정", "password_changed": "비밀번호 변경 알림", "sitemap_regenerated": "사이트맵 재생성 완료", "sitemap_regenerate_failed": "사이트맵 재생성 실패" }, "channels_label": "채널:", "edit_modal": { "title": "알림 템플릿 편집", "type_label": "유형:", "subject": "제목", "body": "본문", "click_url": "클릭 시 이동 URL", "click_url_hint": "알림 클릭 시 이동할 경로입니다. {변수명} 형식으로 동적 값을 사용할 수 있습니다. (예: /mypage/orders/{order_number})", "channel_label": "채널:", "variables_title": "사용 가능한 변수", "btn_preview": "미리보기", "validation_error": "입력 정보를 확인해주세요.", "is_active_label": "활성화" }, "recipients_label": "수신자:", "recipients": { "title": "수신자 설정", "add_rule": "+ 수신자 규칙 추가", "rule_label": "수신자 규칙 {{index}}", "type_label": "타입", "role_label": "역할", "relation_label": "관계", "users_label": "사용자", "exclude_trigger_user": "이벤트 유발자 제외", "types": { "trigger_user": "이벤트 유발자", "related_user": "관련 사용자", "role": "역할 기반", "specific_users": "특정 사용자" }, "badge": { "trigger_user": "이벤트 유발자", "related_user": "관련 사용자 ({{relation}})", "role": "{{role}} 역할", "specific_users": "지정 사용자 ({{count}}명)", "exclude_self": "(본인 제외)" }, "no_recipients": "수신자 미설정", "role_search_placeholder": "역할을 검색하세요", "users_placeholder": "사용자를 검색하세요", "users_no_options": "검색 결과가 없습니다" }, "preview_modal": { "title": "알림 미리보기", "subject_label": "제목", "body_label": "본문" } }, "info": { "system_info": "시스템 정보", "system_info_desc": "서버 및 소프트웨어 정보입니다.", "os": "운영체제", "web_server": "웹서버", "php_version": "PHP 버전", "mysql_version": "MySQL 버전", "g7_version": "그누보드7 버전", "laravel_version": "Laravel 버전", "system_specs": "시스템 사양", "system_specs_desc": "하드웨어 및 리소스 정보입니다.", "cpu": "CPU", "memory": "메모리", "disk": "디스크", "php_memory": "PHP 메모리 제한", "opcache": "OPcache", "opcache_enabled": "활성화됨", "opcache_disabled": "비활성화됨 — 페이지가 몇 배 느려집니다", "opcache_unknown": "확인 불가", "opcache_disabled_warning": "OPcache가 비활성화되어 있습니다. 이 상태에서는 방문자가 페이지를 열 때마다 사이트의 모든 PHP 코드를 처음부터 다시 해석합니다. 같은 서버, 같은 사양에서도 응답 속도가 몇 배까지 느려지며 방문자가 많을수록 격차가 커집니다. php.ini에서 opcache.enable=1 을 켠 뒤 웹서버를 재시작하시기를 강력히 권장합니다. 설정을 바꾼 뒤에도 이 화면에 반영되기까지 최대 1시간이 걸릴 수 있으며, 캐시 비우기를 실행하면 즉시 반영됩니다.", "max_execution_time": "최대 실행 시간", "upload_size": "업로드 크기 제한", "install_paths": "설치 경로", "install_paths_desc": "그누보드7 시스템 설치 경로입니다.", "install_path": "설치 경로", "config_file": "설정 파일", "log_path": "로그 경로", "upload_path": "업로드 경로", "database_config": "데이터베이스 구성", "database_config_desc": "MySQL 연결 구성 정보입니다.", "config_type": "구성 타입:", "write_only": "Write Only", "read_write_split": "Read-Write 분리", "write_db": "Write DB", "read_db": "Read DB", "db_host": "호스트", "db_port": "포트", "db_name": "데이터베이스", "db_user": "사용자", "no_read_db": "Read DB가 설정되지 않았습니다", "php_extensions": "PHP 확장 모듈", "php_extensions_desc": "설치된 PHP 확장 모듈 상태입니다.", "required_modules": "필수 모듈", "optional_modules": "선택 모듈", "check_update": "업데이트 확인", "update_check_failed": "업데이트 확인에 실패했습니다.", "update_result_title": "업데이트 확인 결과", "current_version": "현재 버전", "latest_version": "최신 버전", "update_available_message": "새로운 버전이 출시되었습니다. 변경사항을 확인하고 터미널에서 업데이트할 수 있습니다.", "no_update_message": "현재 최신 버전을 사용 중입니다.", "view_changelog": "변경사항 보기", "how_to_update": "업데이트 방법", "changelog_title": "변경사항", "no_changelog": "변경사항 정보가 없습니다.", "changelog_load_failed": "변경사항을 불러오는데 실패했습니다.", "update_guide_title": "터미널에서 업데이트", "update_guide_warning": "코어 업데이트는 터미널에서만 실행할 수 있습니다. 업데이트 전 반드시 데이터베이스를 백업하세요.", "update_guide_desc": "서버 터미널에 접속하여 그누보드7 설치 디렉토리에서 아래 명령어를 실행하세요.", "update_guide_note": "업데이트 중 자동으로 유지보수 모드가 활성화됩니다. 업데이트 완료 후 자동으로 해제됩니다.", "manual_update_title": "수동 업데이트 (ZIP 확장 미설치 환경)", "manual_update_desc": "서버에 PHP zip 확장이나 unzip 명령어가 없는 경우, GitHub에서 릴리스 ZIP을 직접 다운로드하여 업데이트할 수 있습니다.", "manual_update_step1": "# 1. GitHub 릴리스 페이지에서 ZIP 다운로드 후 서버에 압축 해제", "manual_update_step2": "# 2. 압축 해제된 경로를 지정하여 업데이트 실행", "update_guide_cmd_comment": "# 관리자 권한으로 실행 권장 (Linux/macOS)", "update_guide_cmd": "$ sudo php artisan core:update", "manual_update_cmd": "$ sudo php artisan core:update --source=/path/to/extracted", "upgrade_guide_link_desc": "운영 환경별 권한/사용자군별 자세한 절차는 업그레이드 가이드를 참고하세요.", "upgrade_guide_link_label": "전체 업그레이드 가이드 보기" }, "modals": { "password_confirm_title": "비밀번호 확인", "app_key_warning": "키를 변경하면 모든 세션이 무효화되고, 기존 암호화된 데이터에 접근할 수 없게 될 수 있습니다. 신중하게 진행하세요.", "enter_password": "최고 관리자 비밀번호", "password_placeholder": "비밀번호를 입력하세요", "regenerate": "키 재생성", "regenerating": "재생성 중...", "cache_delete_title": "캐시 삭제 확인", "cache_delete_confirm": "모든 캐시를 삭제하시겠습니까?", "cache_delete_warning": "캐시 삭제 후 일시적으로 사이트 응답 속도가 느려질 수 있습니다.", "delete_cache": "캐시 삭제", "deleting": "삭제 중..." }, "save_success": "설정이 저장되었습니다.", "save_error": "설정 저장에 실패했습니다.", "unsaved_changes": "저장되지 않은 변경사항이 있습니다.", "validation_error": "입력 정보를 확인해주세요", "app_key_regenerated": "어플리케이션 키가 재생성되었습니다.", "cache_cleared": "모든 캐시가 삭제되었습니다." }, "templates": { "page_title": "템플릿 관리", "page_description": "템플릿과 레이아웃을 관리하여 웹사이트의 디자인을 구성할 수 있습니다.", "title": "템플릿 관리", "description": "템플릿과 레이아웃을 관리하여 웹사이트의 디자인을 구성할 수 있습니다.", "search_placeholder": "템플릿 검색...", "search": "검색", "include_hidden": "숨김 항목 포함", "manual_install": "수동 설치", "marketplace": "마켓플레이스", "vendor": "작성자: {{vendor}}", "dependencies": "의존성: {{deps}}", "dependencies_label": "의존성:", "no_dependencies": "의존성: 없음", "available": "사용 가능", "no_templates": "설치된 템플릿이 없습니다.", "pagination_info": "총 {{total}}개 중 {{from}}-{{to}}개 표시", "update_available": "업데이트 필요", "version_available": "(v{{version}} 사용 가능)", "installing": "설치 중...", "uninstalling": "제거 중...", "activating": "활성화 중...", "deactivating": "비활성화 중...", "install_success": "템플릿이 성공적으로 설치되었습니다.", "activate_success": "템플릿이 활성화되었습니다.", "deactivate_success": "템플릿이 비활성화되었습니다.", "uninstall_success": "템플릿이 제거되었습니다.", "update_success": "템플릿이 업데이트되었습니다.", "update_failed": "템플릿 업데이트에 실패했습니다.", "updating": "업데이트 중...", "check_updates_success": "업데이트 확인 완료 ({{count}}개 업데이트 가능)", "check_updates_no_updates": "모든 템플릿이 최신 상태입니다.", "refresh_layouts_success": "템플릿 레이아웃이 갱신되었습니다.", "refreshing_layouts": "레이아웃 갱신 중...", "type": { "user": "유저", "admin": "관리자" }, "tabs": { "user": "유저 템플릿", "admin": "관리자 템플릿", "file_upload": "파일 업로드", "github": "GitHub", "file_label": "템플릿 파일 (.zip)", "no_file_selected": "파일이 선택되지 않음", "selected_file": "선택된 파일: {{filename}}", "file_requirements": "템플릿 패키지는 반드시", "file_structure_hint": "파일을 포함해야 하며, 그누보드7 템플릿 표준 구조를 따라야 합니다.", "github_url_label": "GitHub 저장소 URL", "github_url_hint": "GitHub 저장소의 기본 브랜치에서 템플릿을 다운로드합니다.", "github_requirements": "루트 디렉토리에", "github_public_only": "파일이 있어야 합니다." }, "admin_section": { "page_title": "관리자 템플릿 관리", "page_description": "관리자 인터페이스에 사용되는 템플릿을 관리합니다.", "title": "관리자 템플릿", "description": "관리자 인터페이스의 디자인을 변경할 수 있습니다.\n코드 편집 및 레이아웃 편집을 모두 지원합니다." }, "status": { "active": "현재 활성", "inactive": "비활성화", "uninstalled": "미설치", "not_installed": "미설치", "installing": "설치 중", "uninstalling": "제거 중", "updating": "업데이트 중", "update_available": "업데이트 필요" }, "actions": { "install": "설치", "uninstall": "제거", "activate": "활성화", "deactivate": "비활성화", "update": "업데이트", "check_updates": "업데이트 확인", "view_detail": "상세정보", "refresh_layouts": "레이아웃 갱신", "edit_layouts": "레이아웃 편집", "edit_code": "코드 편집", "edit_layout_visual": "레이아웃 편집", "preview_manifest": "manifest 미리보기" }, "modal": { "preview": { "title": "템플릿 manifest 미리보기", "description": "ZIP 파일을 업로드하면 설치 전에 template.json 정보와 검증 결과를 확인할 수 있습니다.", "run": "미리보기 실행", "valid": "template.json 검증 통과 — 설치 가능합니다.", "already_installed": "이미 설치됨: 현재 버전 {{version}}", "failed": "manifest 미리보기에 실패했습니다." } }, "modals": { "detail_title": "템플릿 정보", "detail_subtitle": "{{name}}의 상세 정보를 확인할 수 있습니다.", "basic_info": "기본 정보", "field_name": "이름", "field_version": "버전", "field_description": "설명", "field_vendor": "개발자", "field_update_source": "업데이트 소스", "field_release_date": "출시일자", "field_status": "상태", "basic_components": "기본 컴포넌트", "basic_components_description": "HTML 태그 수준의 기초적인 UI 컴포넌트입니다.", "composite_components": "집합 컴포넌트", "composite_components_description": "기본 컴포넌트를 조합하여 만들어진 복합 UI 컴포넌트입니다.", "no_components": "컴포넌트가 없습니다.", "external_resources": "외부 리소스", "external_resources_description": "이 템플릿이 사용하는 외부 스타일·웹폰트·스크립트입니다.", "no_external_resources": "외부 리소스가 없습니다.", "supported_languages": "지원 언어", "no_supported_languages": "지원 언어 정보가 없습니다.", "cascade_dependencies_title": "함께 설치할 의존 확장", "cascade_dependencies_hint": "본 확장이 의존하는 미설치 항목입니다. 체크 해제 시 해당 확장은 설치되지 않으며, 종속된 언어팩도 자동 비활성화됩니다.", "cascade_language_packs_title": "함께 설치할 언어팩", "cascade_language_packs_hint": "번들로 제공되는 언어팩 후보입니다. 체크된 항목만 본 설치와 함께 자동 설치됩니다.", "cascade_lp_depends_on": "종속: {{target}}", "install_title": "템플릿 설치 확인", "install_confirm": "{{name}} 템플릿을 설치하시겠습니까?", "install_description": "설치 후 활성화하면 관리자 인터페이스의 디자인이 변경됩니다.", "uninstall_title": "템플릿 제거 확인", "uninstall_done_title": "템플릿 제거 완료", "uninstall_confirm": "{{name}} 템플릿을 제거하시겠습니까?", "uninstall_warning": "이 작업은 되돌릴 수 없습니다.", "delete_data_option": "템플릿 데이터도 함께 삭제", "delete_data_warning": "템플릿이 생성한 모든 데이터(사용자 정의 스타일, 설정 등)가 함께 삭제되며, 삭제된 데이터는 복구할 수 없습니다.", "extension_directory_title": "삭제될 확장 디렉토리", "extension_directory_section": "확장 디렉토리", "preserved_title": "운영자 파일 사본 보관", "preserved_desc": "제거하기 전에 custom/ 디렉토리의 사본을 아래 경로에 보관했습니다. 확장을 다시 설치한 뒤 custom/ 으로 옮기면 그대로 다시 쓸 수 있습니다.", "tables_total": "총 {{size}}", "activate_title": "템플릿 변경 확인", "activate_confirm": "{{name}} 템플릿을 활성화하시겠습니까?", "activate_description": "현재 사용 중인 템플릿의 레이아웃 설정은 자동으로 저장됩니다. 나중에 다시 활성화하면 저장된 레이아웃을 그대로 사용할 수 있습니다.", "deactivate_title": "템플릿 비활성화 확인", "deactivate_confirm": "{{name}} 템플릿을 비활성화하시겠습니까?", "manual_install_title": "템플릿 수동 설치", "manual_install_description": "파일 업로드 또는 GitHub 저장소에서 템플릿을 설치할 수 있습니다.", "refresh_layouts_title": "레이아웃 갱신", "refresh_layouts_confirm": "{{name}} 템플릿의 레이아웃을 갱신하시겠습니까?", "refresh_layouts_warning": "기존 레이아웃이 삭제되고 파일에서 다시 등록됩니다.", "refresh_layouts_description": "템플릿 파일에 포함된 레이아웃으로 데이터베이스의 레이아웃이 교체됩니다. 기존에 수정한 레이아웃 내용은 모두 삭제됩니다.", "update_title": "템플릿 업데이트 확인", "update_confirm": "{{name}} 템플릿을 업데이트하시겠습니까?", "update_version_info": "{{from}} → {{to}}", "update_source_github": "GitHub에서 다운로드", "update_source_pending": "대기 중인 패키지에서 설치", "update_source_bundled": "선탑재 패키지에서 설치", "view_changelog": "변경사항 보기", "changelog": "변경 내역", "no_changelog": "변경 내역 정보가 없습니다.", "update_changelog_title": "이 업데이트의 변경사항", "layout_strategy_title": "레이아웃 처리 방식", "layout_strategy_overwrite": "모두 교체", "layout_strategy_overwrite_desc": "모든 레이아웃을 새 버전으로 교체합니다.", "layout_strategy_keep": "수정 유지", "layout_strategy_keep_desc": "사용자가 수정한 레이아웃을 유지합니다.", "modified_layouts_warning": "수정된 레이아웃이 {{count}}개 있습니다. '모두 교체'를 선택하면 수정 내용이 삭제됩니다.", "no_modified_layouts": "수정된 레이아웃이 없습니다.", "modified_layouts_check_failed": "수정 여부를 확인하지 못했습니다. 네트워크 상태를 확인한 뒤 다시 시도하거나, 안전하게 '수정 유지'를 선택하세요.", "modified_layouts_list_title": "유지될 수정 레이아웃 ({{count}}개)", "modified_layouts_keep_notice": "위 레이아웃은 업데이트 후에도 현재 내용이 유지됩니다.", "activate_warning_title": "템플릿 활성화 경고", "activate_warning_message": "이 템플릿을 활성화하려면 필요한 의존성이 충족되어야 합니다.", "missing_modules": "필요한 모듈", "missing_plugins": "필요한 플러그인", "force_activate_description": "강제로 활성화하면 템플릿이 정상적으로 동작하지 않을 수 있습니다.", "confirm_activate": "그래도 활성화", "dependencies": "의존성", "required_core_version": "코어 요구 버전", "no_required_core_version": "지정되지 않음", "no_dependencies_required": "의존하는 확장이 없습니다.", "dependency_required_version": "요구: {{version}}", "dependency_installed_version": "설치: {{version}}", "dependency_not_installed": "미설치", "dependency_unmet_version": "버전 불일치", "dependency_inactive": "비활성", "required_modules": "필수 모듈", "required_plugins": "필수 플러그인", "dependency_met": "충족", "dependency_unmet": "미충족", "version_history": { "title": "버전 히스토리", "description": "{{layout_name}}의 저장된 버전 목록입니다. 원하는 버전으로 복구할 수 있습니다.", "latest": "최신", "restore": "복구", "restoring": "복구중...", "restore_success": "버전이 성공적으로 복원되었습니다.", "restore_note": "복구 후에는 반드시 저장 버튼을 눌러야 변경사항이 적용됩니다.", "saved_by": "저장자: {{name}}", "lines": "라인", "modified": "수정", "chars": "자", "load_more": "이전 버전 더 보기", "limit_reached": "표시할 수 있는 최대 개수에 도달했습니다." }, "extension_version_history": { "title": "확장 버전 히스토리", "description": "{{target_name}} ({{source_label}})의 저장된 버전 목록입니다. 원하는 버전으로 복구할 수 있습니다.", "latest": "최신", "restore": "복구", "restoring": "복구중...", "restore_success": "확장 버전이 성공적으로 복원되었습니다.", "restore_note": "복구 후에는 반드시 저장 버튼을 눌러야 변경사항이 적용됩니다.", "lines": "라인", "chars": "자" }, "wysiwyg_select_layout_title": "위지윅 편집 - 레이아웃 선택", "wysiwyg_select_layout_description": "편집할 레이아웃을 선택하세요. 선택한 레이아웃이 새 탭에서 위지윅 편집 모드로 열립니다.", "wysiwyg_no_layouts": "등록된 레이아웃이 없습니다.", "wysiwyg_note": "위지윅 편집 모드에서는 실제 화면 위에 편집 도구가 표시됩니다. 변경사항은 저장 버튼을 클릭해야 적용됩니다." }, "tabs_install": { "file_upload": "파일 업로드", "github": "GitHub", "file_label": "템플릿 파일 (.zip)", "no_file_selected": "파일이 선택되지 않음", "selected_file": "선택된 파일: {{filename}}", "file_requirements": "템플릿 패키지는 반드시", "file_structure_hint": "파일을 포함해야 하며, 그누보드7 템플릿 표준 구조를 따라야 합니다.", "github_url_label": "GitHub 저장소 URL", "github_url_hint": "GitHub 저장소의 기본 브랜치에서 템플릿을 다운로드합니다.", "github_requirements": "루트 디렉토리에", "github_public_only": "파일이 있어야 합니다." }, "info": { "title": "관리자 템플릿 안내:", "description": "관리자 템플릿은 관리자 인터페이스의 디자인만 변경하며, 사용자 웹사이트에는 영향을 주지 않습니다. 사용자 템플릿과 동일하게 코드 편집과 레이아웃 편집을 모두 지원합니다." }, "dependencies_warning": "필수 의존성 미충족", "errors": { "install_failed": "템플릿 설치에 실패했습니다.", "already_installed": "이미 설치된 템플릿입니다. 기존 템플릿을 제거한 후 다시 시도하세요.", "invalid_file": "유효하지 않은 템플릿 파일입니다.", "github_url_invalid": "유효하지 않은 GitHub URL입니다.", "cannot_deactivate_last": "최소 하나의 활성 템플릿이 필요합니다." }, "user_section": { "title": "사용자 템플릿", "description": "사용자 화면에 적용되는 템플릿을 관리합니다." }, "user_info": { "title": "사용자 템플릿 안내:", "description": "사용자 템플릿은 웹사이트 전면부의 디자인을 변경합니다. 레이아웃 편집 기능을 통해 페이지 구조를 직접 수정할 수 있습니다." }, "layout_edit": { "title": "레이아웃 편집", "description": "JSON 파일을 편집하여 페이지 레이아웃을 구성합니다", "page_title": "레이아웃 편집", "page_description": "JSON 파일을 편집하여 페이지 레이아웃을 구성합니다", "preview": "미리보기", "save": "저장", "saving": "저장 중...", "save_success": "레이아웃이 저장되었습니다.", "save_creates_view": "크롤러 방문 시 레이아웃을 자동 파싱하여 SEO용 페이지를 보여줍니다.", "layout_files": "레이아웃 파일", "select_file": "파일을 선택하세요", "select_file_prompt": "편집할 파일을 선택하세요", "updated_badge": "업데이트", "layout_updated_badge": "레이아웃 업데이트됨", "version_history_button": "버전 히스토리", "modified_at": "수정일: {{date}}", "preview_error": "미리보기 생성에 실패했습니다.", "section_layouts": "일반 레이아웃", "section_extensions": "확장 주입 레이아웃", "extension_type_point": "확장점", "extension_type_overlay": "오버레이", "extension_modified_badge": "수정됨", "extension_inactive_badge": "비활성", "extension_override_badge": "오버라이드", "extension_priority": "우선순위 {{priority}}", "no_extensions": "주입된 레이아웃 확장이 없습니다.", "extension_save_success": "레이아웃 확장이 저장되었습니다.", "select_extension_prompt": "편집할 레이아웃 확장을 선택하세요", "preview_layout_select_title": "미리보기 레이아웃 선택", "preview_layout_select_description": "이 확장점은 여러 레이아웃에서 사용됩니다. 미리볼 레이아웃을 선택하세요.", "preview_layout_select_placeholder": "레이아웃을 선택하세요", "preview_layout_confirm": "미리보기" } }, "activity_log": { "page_title": "활동 로그", "page_description": "시스템 활동 이력을 조회합니다.", "filter": { "search_placeholder": "검색어를 입력하세요...", "search_button": "검색", "reset_button": "초기화", "search_type_all": "전체", "search_type_action": "액션", "search_type_description": "설명", "search_type_ip_address": "IP주소", "log_type_label": "로그 타입", "log_type_all": "전체", "log_type_admin": "관리자", "log_type_user": "사용자", "log_type_system": "시스템", "actor_label": "행위자", "actor_select": "행위자 선택", "actor_search_placeholder": "이름 또는 이메일로 검색", "actor_search_initial": "행위자를 검색하세요", "date_range_label": "기간", "date_from_label": "시작일", "date_to_label": "종료일", "date_quick": { "today": "오늘", "week": "1주일", "month": "1개월", "three_months": "3개월", "six_months": "6개월", "one_year": "1년" } }, "sort": { "created_at_desc": "최신순", "created_at_asc": "오래된순" }, "table": { "column": { "number": "#", "log_type": "타입", "action": "액션", "description": "설명", "target": "대상", "actor": "행위자", "ip_address": "IP주소", "created_at": "일시" } }, "detail": { "ip_address_label": "IP 주소", "target_label": "대상", "changes_title": "변경 내역", "bulk_changes_title": "일괄 변경 내역", "column_field": "항목명", "column_old": "변경 전", "column_new": "변경 후", "no_value": "-" }, "pagination": { "total": "총 {{count}}건", "total_at_least": "총 {{count}}건 이상" }, "empty": { "title": "활동 로그가 없습니다", "message": "시스템 활동이 발생하면 이곳에 이력이 표시됩니다.", "no_results": "검색 결과가 없습니다", "no_results_message": "다른 검색 조건을 시도해보세요.", "reset_filter": "필터 초기화" }, "delete": { "selected_count": "{{count}}건 선택됨", "button": "삭제", "bulk_button": "선택 삭제", "confirm_title": "활동 로그 삭제", "confirm_message": "이 활동 로그를 삭제하시겠습니까?", "bulk_confirm_title": "선택 항목 삭제", "bulk_confirm_message": "선택한 항목을 삭제하시겠습니까?", "success": "활동 로그가 삭제되었습니다.", "bulk_success": "선택한 활동 로그가 삭제되었습니다." }, "action": { "view_member": "회원 정보 보기", "search_by_actor": "이 행위자로 검색" } }, "mail_send_log": { "page_title": "메일 발송 이력", "page_description": "시스템에서 발송한 이메일의 이력을 확인합니다.", "filter": { "search_type_all": "전체", "search_type_recipient_email": "수신자 이메일", "search_type_recipient_name": "수신자 이름", "search_type_subject": "제목", "search_placeholder": "검색어를 입력하세요...", "search_button": "검색", "reset_button": "초기화", "extension_type_label": "확장 타입", "extension_type_all": "전체", "extension_type_core": "코어", "extension_type_module": "모듈", "extension_type_plugin": "플러그인", "status_label": "상태", "status_all": "전체", "status_sent": "성공", "status_failed": "실패", "status_skipped": "건너뜀" }, "sort": { "sent_at_desc": "최신순", "sent_at_asc": "오래된순", "recipient_email_asc": "수신자순", "subject_asc": "제목순" }, "table": { "column": { "sender": "발송자", "recipient": "수신자", "subject": "제목", "template_type": "템플릿", "extension_type": "확장 타입", "extension_identifier": "확장 식별자", "status": "상태", "sent_at": "발송일시" } }, "detail": { "body_label": "본문", "error_label": "에러 메시지", "source_label": "발송 출처", "no_body": "본문 없음" }, "status": { "sent": "성공", "failed": "실패", "skipped": "건너뜀" }, "pagination": { "total": "총 {{count}}건" }, "empty": { "title": "발송 이력이 없습니다", "message": "시스템에서 메일을 발송하면 이곳에 이력이 표시됩니다.", "no_results": "검색 결과가 없습니다", "no_results_message": "다른 검색 조건을 시도해보세요.", "reset_filter": "필터 초기화" }, "delete": { "selected_count": "{{count}}건 선택됨", "button": "삭제", "bulk_button": "선택 삭제", "confirm_title": "발송 이력 삭제", "confirm_message": "이 발송 이력을 삭제하시겠습니까?", "bulk_confirm_title": "선택 항목 삭제", "bulk_confirm_message": "선택한 항목을 삭제하시겠습니까?", "success": "발송 이력이 삭제되었습니다.", "bulk_success": "선택한 발송 이력이 삭제되었습니다." } }, "license": { "modal_title": "라이선스", "license_text": "라이선스", "view_license": "라이선스 보기" }, "notification_log": { "page_title": "알림 발송 이력", "page_description": "시스템에서 발송한 알림의 이력을 확인합니다.", "tab_all": "전체", "extension_core": "코어", "extension_module": "모듈", "extension_plugin": "플러그인", "status_sent": "성공", "status_failed": "실패", "status_skipped": "건너뜀", "search_placeholder": "수신자, 제목 검색", "total_count": "총 {{count}}건", "col_channel": "채널", "col_recipient": "수신자", "col_sender": "발송자", "col_type": "알림 타입", "col_subject": "제목", "col_status": "상태", "col_sent_at": "발송일시", "col_extension": "확장", "system_sender": "시스템", "empty_message": "발송 이력이 없습니다.", "detail_title": "발송 상세", "detail_body": "본문", "detail_error": "에러 메시지", "filter": { "search_type_all": "전체", "search_type_recipient": "수신자", "search_type_subject": "제목", "status_label": "상태", "status_all": "전체", "extension_type_label": "확장 타입", "extension_type_all": "전체", "search_button": "검색", "reset_button": "초기화" }, "sort": { "sent_at_desc": "최신순", "sent_at_asc": "오래된순", "recipient_name_asc": "수신자순", "subject_asc": "제목순" }, "detail": { "error_label": "에러:", "source_label": "소스:", "notification_type_label": "알림 타입:", "body_label": "본문", "no_body": "본문 내용이 없습니다." }, "action": { "view_member": "회원 정보 보기", "search_by_sender": "이 발송자로 검색", "search_by_recipient": "이 수신자로 검색" }, "delete": { "button": "삭제", "selected_count": "{{count}}건 선택", "bulk_button": "일괄 삭제", "confirm_title": "발송 이력 삭제", "confirm_message": "선택한 발송 이력을 삭제하시겠습니까? 이 작업은 되돌릴 수 없습니다.", "success": "발송 이력이 삭제되었습니다.", "bulk_confirm_title": "일괄 삭제 확인", "bulk_confirm_message": "선택한 발송 이력을 모두 삭제하시겠습니까? 이 작업은 되돌릴 수 없습니다.", "bulk_success": "선택한 발송 이력이 모두 삭제되었습니다." } }, "identity": { "challenge": { "title": "본인 확인", "code_title": "인증 코드 입력", "code_subtitle": "전송된 6자리 코드를 입력해주세요.", "code_placeholder": "인증 코드", "verify": "확인", "resend": "코드 재전송", "resend_link": "이메일 재전송", "resend_cooldown": "재전송 ({{seconds}}초 후)", "resend_success": "인증 코드를 재전송했습니다.", "remaining_time": "남은 시간: {{minutes}}:{{seconds}}", "remaining_attempts": "남은 시도: {{count}}회", "expired": "시간이 만료되었습니다. 재전송을 눌러주세요.", "link_title": "이메일 확인이 필요합니다", "link_subtitle": "메일로 전송된 링크를 클릭해 본인 확인을 완료해주세요.", "check_spam": "메일이 도착하지 않으면 스팸함을 확인해주세요.", "external_title": "외부 본인인증으로 이동 중", "external_subtitle": "잠시 후 본인인증 서비스로 자동 이동됩니다.", "manual_redirect": "수동으로 이동하기", "error_generic": "인증에 실패했습니다. 다시 시도해주세요." }, "policies": { "page_title": "본인인증 정책 관리", "page_description": "회원가입·비밀번호 재설정·민감 작업 등 어떤 시점에 본인인증을 요구할지 정책으로 관리합니다. 코어/모듈/플러그인이 제공한 기본 정책은 일부 필드만 편집 가능하며, 운영자가 직접 추가한 정책은 자유롭게 편집·삭제할 수 있습니다.", "purposes_section_title": "코어가 제공하는 본인인증 목적", "purposes_section_description": "코어가 기본으로 제공하는 본인인증 목적입니다. 정책의 \"인증 목적\" 컬럼에서 선택할 수 있으며, 모듈/플러그인이 추가 목적을 선언하면 해당 모듈/플러그인 환경설정 화면에 표시됩니다.", "purposes_empty": "코어가 제공하는 본인인증 목적이 없습니다.", "all_scopes": "전체 강제 시점", "all_sources": "전체 출처", "search_placeholder": "정책 키 또는 강제 위치로 검색", "reset_filters": "검색 초기화", "empty": "등록된 정책이 없습니다.", "add_button": "+ 정책 추가", "create_title": "정책 추가", "edit_title": "정책 편집", "save_success": "정책을 저장했습니다.", "delete_title": "정책 삭제", "delete_confirm": "이 정책을 삭제하시겠습니까? (운영자 추가 정책만 삭제할 수 있습니다)", "delete_success": "정책을 삭제했습니다.", "delete_failed": "정책 삭제에 실패했습니다.", "enable_success": "정책을 활성화했습니다.", "disable_success": "정책을 비활성화했습니다.", "toggle_failed": "정책 활성 상태 변경에 실패했습니다.", "pagination_summary": "총 {{total}}건 · {{page}}/{{last}} 페이지", "page_indicator": "{{page}} / {{last}}", "col": { "key": "정책 키", "scope": "강제 시점", "target": "강제 위치", "purpose": "인증 목적", "grace_minutes": "재요구 주기 (분)", "priority": "우선순위", "enabled": "활성", "source_type": "출처" }, "scope": { "route": "API 호출 시", "hook": "이벤트 발생 시", "custom": "사용자 정의" }, "scope_desc": { "route": "사용자가 특정 API 라우트를 호출할 때 (예: 회원가입, 비밀번호 재설정)", "hook": "내부 이벤트 발생 시 (예: 회원가입 완료 직후, 사용자 정보 변경 직전)", "custom": "플러그인이 정의한 사용자 정의 시점" }, "purpose": { "signup": "회원가입", "password_reset": "비밀번호 재설정", "self_update": "프로필 변경", "sensitive_action": "민감 작업" }, "source": { "core": "코어", "module": "모듈", "plugin": "플러그인", "admin": "운영자" }, "fail_mode": { "block": "요청 차단", "log_only": "감사 로그만 (요청 통과)" }, "applies_to": { "self": "본인 (관리자 제외)", "admin": "관리자만", "both": "전체" }, "form": { "key": "정책 키", "scope": "강제 시점", "scope_help": "어떤 종류의 요청에서 본인인증을 강제할지 선택합니다.", "target": "강제 위치", "target_help": "강제 시점 종류에 따라 라우트 이름(예: api.auth.register) 또는 이벤트 이름(예: core.auth.after_register) 을 입력합니다.", "purpose": "인증 목적", "purpose_help": "이 정책이 어떤 종류의 본인인증을 요구하는지 선택합니다.", "provider_id": "인증 수단", "use_default_provider": "(기본 인증 수단 사용)", "grace_minutes": "재요구 주기 (분) — 0: 매번 요구", "grace_minutes_help": "이 시간 안에 본인인증을 마쳤다면 다시 요구하지 않습니다. 0 으로 두면 매번 본인인증을 요구합니다.", "applies_to": "적용 대상", "fail_mode": "실패 시 처리", "priority": "우선순위", "priority_desc": "같은 위치에 정책이 여러 개일 때 숫자가 클수록 먼저 적용됩니다. 같은 위치에 같은 숫자를 두면 어느 정책이 먼저 적용될지 정해지지 않으므로 저장이 거부됩니다.", "enabled": "정책 활성화", "conditions": "추가 조건 (JSON)", "signup_stage": "회원가입 단계", "signup_stage_unset": "(미지정)", "signup_stage_before_submit": "가입 제출 전 — 가입 폼 제출과 함께 인증 코드 동봉 필수", "signup_stage_after_create": "가입 후 활성화 전 — 가입 직후 인증 안내 발송, 인증 완료 후 활성화", "signup_stage_desc": "회원가입 정책에서 어느 단계에 본인인증을 요구할지 지정합니다.", "declared_policy_notice": "코어/모듈/플러그인이 제공한 기본 정책입니다. 정책 키 · 강제 시점 · 강제 위치는 변경할 수 없고, 그 외 항목(인증 목적 · 적용 대상 · 인증 수단 · 재요구 주기 · 실패 처리 · 활성화 등)은 자유롭게 편집할 수 있으며, 운영자가 수정한 값은 업데이트 후에도 그대로 유지됩니다.", "reset_to_default": "기본값으로 되돌리기", "reset_success": "기본값으로 복원했습니다." } }, "logs": { "page_title": "본인인증 이력", "page_description": "본인인증 요청/검증/만료 이력을 조회합니다. 기본 보관주기는 180일입니다.", "detail_title": "인증 이력 상세", "search_placeholder": "사용자 ID 또는 대상 식별자 검색", "all_providers": "모든 인증 수단", "all_purposes": "모든 인증 목적", "all_statuses": "모든 상태", "empty": "이력이 없습니다.", "purge_button": "오래된 로그 일괄 파기", "purge_confirm": "180일이 지난 로그를 모두 삭제합니다. 진행하시겠습니까?", "purge_success": "오래된 로그를 삭제했습니다.", "tab_all": "전체 인증 수단", "refresh": "새로고침", "total_count": "총 {{count}}건", "search_type": { "auto": "자동", "user_id": "사용자 ID", "target_hash": "대상 식별자", "ip_address": "IP 주소", "policy_key": "정책 키" }, "filter": { "status_label": "상태", "purpose_label": "인증 목적", "channel_label": "채널", "date_range_label": "기간", "origin_type_label": "발생 유형", "source_type_label": "출처", "source_type_any": "전체", "source_identifier_label": "출처 식별자", "source_identifier_placeholder": "예: sirsoft-ecommerce", "advanced_search_toggle": "고급 검색", "search_button": "검색", "reset_button": "초기화", "status_all": "전체", "purpose_all": "전체" }, "origin_type": { "route": "라우트", "hook": "훅", "policy": "정책", "middleware": "미들웨어", "api": "API 직접 호출", "custom": "커스텀", "system": "시스템" }, "sort": { "created_at_desc": "최신순", "created_at_asc": "오래된순", "attempts_desc": "시도 많은 순" }, "detail": { "expanded": { "target_hash_label": "대상 식별자", "origin_label": "발생 위치", "origin_policy_key_label": "정책 키", "properties_label": "추가 속성", "metadata_label": "부가 정보", "no_properties": "추가 속성이 없습니다.", "no_metadata": "부가 정보가 없습니다." } }, "col": { "created_at": "생성일시", "provider_id": "인증 수단", "purpose": "인증 목적", "channel": "채널", "status": "상태", "user_id": "사용자", "ip_address": "IP", "verified_at": "검증시각", "expires_at": "만료시각", "attempts": "시도", "origin_type": "발생 유형", "origin_identifier": "발생 지점" }, "status": { "requested": "요청됨", "sent": "발송됨", "verified": "검증됨", "failed": "실패", "expired": "만료됨", "cancelled": "취소됨", "policy_violation_logged": "정책 위반 기록" } } }, "modal_label": { "activity_log_list": { "delete_confirm_modal": "활동 로그 삭제 확인", "bulk_delete_confirm_modal": "활동 로그 일괄 삭제 확인" }, "admin_module_list": { "extension_license_modal": "확장 라이선스 전문", "module_force_activate_modal": "모듈 강제 활성화", "module_force_deactivate_modal": "모듈 강제 비활성화", "module_install_modal": "모듈 설치", "module_manual_install_modal": "모듈 수동 설치", "module_reactivate_language_packs_modal": "언어팩 일괄 활성화", "module_refresh_layouts_modal": "모듈 레이아웃 갱신", "module_uninstall_modal": "모듈 삭제", "module_update_modal": "모듈 업데이트", "module_deactivate_warning_modal": "모듈 비활성화 경고", "module_detail_modal": "모듈 상세", "module_manifest_preview_drawer": "모듈 매니페스트 미리보기" }, "admin_plugin_list": { "plugin_manual_install_modal": "플러그인 수동 설치", "plugin_reactivate_language_packs_modal": "언어팩 재활성화", "plugin_refresh_layouts_modal": "플러그인 레이아웃 갱신", "plugin_uninstall_modal": "플러그인 삭제", "plugin_update_modal": "플러그인 업데이트", "plugin_detail_modal": "플러그인 상세", "plugin_extension_license_modal": "플러그인 라이선스 전문", "plugin_force_activate_modal": "플러그인 강제 활성화", "plugin_force_deactivate_modal": "플러그인 강제 비활성화", "plugin_install_modal": "플러그인 설치 확인", "plugin_manifest_preview_drawer": "플러그인 매니페스트 미리보기" }, "admin_settings": { "modal_identity_message_definition_add": "본인인증 메시지 정의 추가", "modal_identity_message_definition_delete": "본인인증 메시지 정의 삭제", "modal_identity_message_definition_reset": "본인인증 메시지 기본값 복원", "modal_identity_message_template_form": "본인인증 메시지 템플릿 편집", "modal_identity_message_template_preview": "본인인증 메시지 템플릿 미리보기", "identity_policy_delete_modal": "본인인증 정책 삭제 확인", "identity_policy_form_modal": "본인인증 정책 편집", "modal_mail_template_form": "메일 템플릿 편집", "modal_notification_definition_reset": "알림 정의 기본값 복원", "modal_notification_template_form": "알림 템플릿 편집", "modal_notification_template_preview": "알림 템플릿 미리보기", "settings_cache_delete_modal": "캐시 삭제 확인", "settings_static_cache_republish_modal": "초기 화면 정적 파일 다시 만들기 확인", "settings_password_confirm_modal": "앱 키 재생성 비밀번호 확인", "core_changelog_modal": "코어 변경 이력", "core_update_guide_modal": "코어 업데이트 안내", "core_update_result_modal": "코어 업데이트 확인 결과" }, "admin_template_list": { "template_activate_modal": "템플릿 활성화 확인", "template_deactivate_modal": "템플릿 비활성화", "template_detail_modal": "템플릿 상세 정보", "template_extension_license_modal": "템플릿 라이선스 전문", "template_force_activate_modal": "템플릿 강제 활성화", "template_install_modal": "템플릿 설치 확인", "template_manual_install_modal": "템플릿 수동 설치", "template_reactivate_language_packs_modal": "언어팩 일괄 활성화", "template_refresh_layouts_modal": "템플릿 레이아웃 갱신", "template_uninstall_modal": "템플릿 제거 확인", "template_update_modal": "템플릿 업데이트", "template_manifest_preview_drawer": "템플릿 매니페스트 미리보기" }, "notification_log_list": { "delete_confirm_modal": "알림 로그 삭제 확인", "bulk_delete_confirm_modal": "알림 로그 일괄 삭제 확인" }, "user_list": { "bulk_activate_confirm_modal": "회원 일괄 활성화", "bulk_deactivate_confirm_modal": "회원 일괄 비활성화", "delete_confirm_modal": "회원 삭제 확인", "error_modal": "오류 안내", "bulk_block_confirm_modal": "회원 일괄 차단", "bulk_withdraw_confirm_modal": "회원 일괄 탈퇴" }, "admin_identity_logs": { "identity_log_detail_modal": "본인인증 로그 상세", "identity_log_purge_confirm_modal": "본인인증 로그 정리" }, "admin_language_pack_list": { "language_pack_detail_modal": "언어팩 상세", "language_pack_install_modal": "언어팩 설치", "language_pack_install_bundled_modal": "번들 언어팩 설치", "language_pack_refresh_cache_modal": "언어팩 캐시 갱신", "language_pack_slot_conflict_modal": "언어팩 슬롯 교체 확인", "language_pack_uninstall_modal": "언어팩 제거", "language_pack_update_modal": "언어팩 업데이트", "language_pack_manifest_preview_drawer": "언어팩 매니페스트 미리보기" }, "admin_role_list": { "delete_confirm_modal": "역할 삭제 확인" }, "admin_schedule_list": { "schedule_delete_modal": "스케줄 삭제", "schedule_duplicate_modal": "스케줄 복제", "schedule_form_modal": "스케줄 등록/수정", "schedule_history_modal": "스케줄 실행 이력", "schedule_run_modal": "스케줄 즉시 실행" }, "admin_notification_log_list": { "modal_notification_log_detail": "알림 발송 이력 상세" }, "identity_challenge_modal": "본인인증", "admin_menu_list": { "delete_confirm_modal": "메뉴 삭제 확인" }, "admin_template_layout_edit": { "extension_preview_layout_modal": "미리보기 레이아웃 선택", "extension_version_history_modal": "확장 버전 이력", "version_history_modal": "레이아웃 버전 이력" }, "changelog_modal": "코어 변경 이력", "license_modal": "코어 라이선스", "notification_delete_all_confirm_modal": "알림 전체 삭제 확인" } }