Files
Gnuboard7/plugins/_bundled/sirsoft-message_bizppurio/lang/ko/messages.php
T
HeuJung e7fa1b5535 feat(message_bizppurio): 알림 템플릿 편집 통합·검수 의견·관리탭 개선 및 언어팩 번역 보존 결함군 수정
비즈뿌리오 알림톡 UX 개편 후속:
- 코어/게시판/이커머스 알림 템플릿 [편집] 모달에 확장 채널 편집 영역
 (extension_point 2종 + hidden_template_editor 채널 메타)을 신설하고,
 알림톡 템플릿·문자(SMS)·수신자 규칙을 한 창에서 통합 저장하도록 개정
 (행 하단은 상태 요약 전용, 승인 여부 2단 배지)
- 검수 신청에 검수자 전달 의견(comment) 동봉 — kapi request 로만 전달,
 행에는 저장하지 않음 (FormRequest 신설 + API 문서 백필)
- 관리 탭 모바일 카드뷰·도구줄 코어 관례 통일, 사이트맵 알림 정의
 다국어 라벨 결측 수정 + 코어 정의 라벨 패리티 테스트 신설

언어팩 번역 소실·보존 결함군 (보완 실측 → 커밋 전 점검에서 연쇄 확정,
전부 실패 테스트 선행 후 수정):
- [기본값 복원]이 활성 언어팩 번역(ja)을 영구 소실 → 복원 기본값에
 시딩과 같은 주입기(SSoT)로 팩 로케일 병합 (notification·identity)
- 코어 알림/본인인증 시더의 언어팩 주입 전면 불능 → 주입기가 연관/리스트
 양형태 수용 + identity 시더의 config 복합 키 보존
- 실패한 언어팩 업데이트가 active 팩을 installed 로 방치 → 상태 복원 확장
- 병합·제거의 사용자 수정 보존 판정 사문(연관 전제 isset) → dot-path 판정
 교정, 팩 주입 저장의 user_overrides 오염 차단(시딩 바인딩), 템플릿
 2모델 translatableTrackableFields 선언(beta.4 설계 누락), 같은 프로세스
 활성화 시 시더 번역 필터 stale(캡처 인스턴스 캐시) 교정
- 7.0.9 업그레이드 스텝 신설 — 활성 팩 seed 재동기화로 기설치본의 소실
 번역 자동 복구 (멱등·운영자 수정 보존·팩별 실패 격리)
2026-08-24 14:51:37 +09:00

188 lines
9.6 KiB
PHP
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<?php
return [
// 발송 채널 (DispatchChannel enum)
'channel' => [
'sms' => 'SMS',
'lms' => 'LMS',
'alimtalk' => '알림톡',
],
// 채널 그룹 라벨 (SMS/LMS 를 "문자" 로 묶음 — 잔액부족 알림 등 채널군 표기용)
'channel_group' => [
'text' => '문자',
'alimtalk' => '알림톡',
],
// 발송 상태 (DispatchStatus enum)
'status' => [
'pending' => '대기',
'sent' => '발송중',
'success' => '성공',
'failed' => '실패',
],
// 발송 출처 (DispatchSource enum)
'source' => [
'auto' => '자동',
'manual' => '수동',
'bulk' => '대량',
],
// 결과코드 분류 (ResultCategory enum)
'result_category' => [
'success' => '성공',
'retry' => '재시도',
'permanent_failure' => '영구 실패',
'balance_low' => '잔액 부족',
],
// 알림 채널 메타 (core.notification.filter_available_channels)
'channels' => [
'source_label' => '비즈뿌리오',
'sms' => [
'name' => '비즈뿌리오 문자',
'description' => '비즈뿌리오를 통해 문자(SMS/LMS)로 알림을 발송합니다.',
],
'alimtalk' => [
'name' => '비즈뿌리오 알림톡',
'description' => '비즈뿌리오를 통해 카카오 알림톡으로 알림을 발송합니다.',
],
],
// 채널 준비 상태 사유 (core.notification.channel_readiness)
'readiness' => [
'sms_credentials_missing' => '비즈뿌리오 아이디와 비밀번호를 설정하세요.',
'sms_sender_number_missing' => '발신번호를 설정하세요.',
'alimtalk_api_key_missing' => '카카오 관리 API 키를 설정하세요.',
'alimtalk_sender_key_missing' => '알림톡 발신프로필 키를 설정하세요.',
],
// 설정 검증 — 운영(live) 환경 필수 자격증명 항목 라벨 (validation.attributes 병합용)
'settings' => [
'bizppurio_id_attribute' => '비즈뿌리오 아이디',
'password_attribute' => '비밀번호',
'sender_number_attribute' => '발신번호',
],
// webhook(URL PUSH) 리포트 수신
'webhook' => [
'received' => '리포트를 수신했습니다.',
],
// 발송 엔진 오류 (API 클라이언트·토큰·발송 Job)
'error' => [
'credentials_missing' => '비즈뿌리오 아이디와 비밀번호를 먼저 설정하세요.',
'token_issue_failed' => '비즈뿌리오 인증 토큰 발급에 실패했습니다.',
'token_issue_failed_with_reason' => '비즈뿌리오 인증 토큰 발급에 실패했습니다. (:reason)',
'send_failed' => '메시지 발송 요청에 실패했습니다.',
'send_retryable' => '메시지 발송이 일시적으로 실패했습니다. (코드: :code)',
'invalid_response' => '비즈뿌리오 응답을 해석할 수 없습니다.',
'connection_failed' => '비즈뿌리오 서버에 연결할 수 없습니다. 잠시 후 다시 시도해주세요.',
'kakao_credentials_missing' => '카카오 관리 API 사용을 위해 아이디와 API 키를 먼저 설정하세요.',
'kakao_request_failed' => '카카오 관리 API 요청에 실패했습니다.',
'sender_key_missing' => '알림톡 발신프로필 키를 먼저 설정하세요.',
'image_unreadable' => '업로드한 이미지 파일을 읽을 수 없습니다.',
],
// 발송 건너뜀 (채널 드라이버 send() 사전 조건 미충족 — 코어 발송 이력에 "실패"로 기록됨)
'send_skipped' => [
'alimtalk_template_not_approved' => '승인된 알림톡 템플릿이 없거나 알림톡 발송이 꺼져 있어 발송을 건너뛰었습니다. (알림 유형: :type)',
'sms_template_missing' => 'SMS 본문이 설정되지 않아 발송을 건너뛰었습니다. (알림 유형: :type)',
'recipient_phone_missing' => '수신자 전화번호가 없어 발송을 건너뛰었습니다. (알림 유형: :type)',
'message_body_empty' => '발송 본문이 비어 있어 발송을 건너뛰었습니다. (알림 유형: :type)',
],
// 알림 템플릿 라이프사이클 (#597 — BizppurioTemplateController 응답·상태 가드)
'template' => [
'created' => '알림 템플릿을 저장했습니다.',
'updated' => '알림 템플릿을 수정했습니다.',
'requested' => '검수를 신청했습니다. 승인 결과는 자동 동기화되며 [새로고침]으로 즉시 확인할 수 있습니다.',
'request_cancelled' => '검수 신청을 취소했습니다.',
'approval_cancelled' => '승인을 취소했습니다. 이 알림의 알림톡 발송이 중단되었습니다.',
'released' => '휴면 상태를 해제했습니다.',
'synced' => '카카오 검수 상태를 동기화했습니다.',
'deleted' => '알림 템플릿을 삭제했습니다.',
'image_uploaded' => '이미지를 업로드했습니다.',
'content_locked' => '현재 상태(:status)에서는 알림톡 내용을 수정할 수 없습니다. 검수중이면 신청 취소를, 승인됨이면 승인 취소를 먼저 하세요.',
'content_missing' => '알림톡 템플릿 내용을 먼저 작성하세요.',
'request_not_allowed' => '현재 상태(:status)에서는 검수를 신청할 수 없습니다.',
'cancel_request_not_allowed' => '검수중 상태가 아니어서 신청을 취소할 수 없습니다. (현재: :status)',
'cancel_approval_not_allowed' => '승인 상태가 아니어서 승인을 취소할 수 없습니다. (현재: :status)',
'release_not_allowed' => '휴면 상태가 아니어서 해제할 수 없습니다. (현재: :status)',
'code_generation_failed' => '템플릿 코드를 채번하지 못했습니다. 잠시 후 다시 시도하세요.',
],
// 알림 템플릿 검증 (FormRequest — 문서 수치 명시 제약만, 그 외는 kapi 최종 게이트)
'validation' => [
'link_mo_required' => '웹링크(WL) 버튼은 모바일 링크가 필요합니다.',
'link_and_required' => '앱링크(AL) 버튼은 Android 스킴이 필요합니다.',
'link_ios_required' => '앱링크(AL) 버튼은 iOS 스킴이 필요합니다.',
'tel_number_required' => '전화(TN) 버튼은 전화번호가 필요합니다.',
'plugin_id_required' => '플러그인(P1~P3) 버튼은 플러그인 ID 가 필요합니다.',
'highlight_title_too_long' => '아이템 하이라이트 타이틀은 :max자 이하여야 합니다.',
'highlight_description_too_long' => '아이템 하이라이트 설명은 :max자 이하여야 합니다.',
'image_ratio_invalid' => '이미지는 가로:세로 2:1 비율이어야 합니다. (예: 1000×500px)',
// 검증 오류 문구에 쓰이는 필드 라벨 (FormRequest::attributes)
'attributes' => [
'notification_type' => '알림 유형',
'content' => '알림톡 내용',
'template_name' => '템플릿명',
'message_type' => '메시지 유형',
'emphasize_type' => '강조 유형',
'template_content' => '본문',
'comment' => '검수자 전달 의견',
'preview_message' => '미리보기 문구',
'category_code' => '카테고리',
'security_flag' => '보안 템플릿 여부',
'extra' => '부가정보',
'title' => '강조 타이틀',
'subtitle' => '강조 서브타이틀',
'header' => '헤더',
'image_name' => '이미지 파일명',
'image_url' => '이미지 URL',
'item' => '아이템 리스트',
'item_list' => '아이템 목록',
'item_title' => '아이템 제목',
'item_description' => '아이템 설명',
'summary' => '요약',
'summary_title' => '요약 제목',
'summary_description' => '요약 설명',
'highlight' => '하이라이트',
'highlight_title' => '하이라이트 타이틀',
'highlight_description' => '하이라이트 설명',
'highlight_image_url' => '하이라이트 이미지 URL',
'represent_link' => '대표 링크',
'buttons' => '버튼',
'button_name' => '버튼명',
'button_link_type' => '버튼 링크 유형',
'quick_replies' => '바로연결',
'quick_reply_name' => '바로연결명',
'quick_reply_link_type' => '바로연결 링크 유형',
'link_mo' => '모바일 링크',
'link_pc' => 'PC 링크',
'link_and' => 'Android 스킴',
'link_ios' => 'iOS 스킴',
'tel_number' => '전화번호',
'plugin_id' => '플러그인 ID',
'image' => '이미지 파일',
'sms_body' => 'SMS 본문',
'alimtalk_enabled' => '알림톡 사용',
'fallback_sms_enabled' => '대체 SMS 사용',
'sms_only' => 'SMS 단독 발송',
'is_active' => '활성 여부',
'status' => '상태',
'search' => '검색어',
'page' => '페이지',
'per_page' => '페이지당 건수',
],
],
// 연결 확인 (TokenCheckController 응답)
'token_check' => [
'success' => '인증이 정상적으로 확인되었습니다. 아이디와 비밀번호가 올바릅니다.',
'failed' => '인증 확인에 실패했습니다. 상세 사유를 확인해 주세요.',
],
];