Files
Gnuboard7/lang/ko/extensions.php
T
HeuJung b4ed33aa44 feat(core): 정적 게시 수명주기 보완 — 빌드 파괴·권한·무결성
https://github.com/gnuboard/g7/issues/122 제보자의 추가 지적 2건(빌드가 게시본을
지움 / CLI 최초 게시 후 웹 재생성 불가)에 대응하고, 같은 근본 원인을 공유하는
결함을 전수조사로 함께 고친다.

- 빌드가 자기 산출물만 교체한다: 루트 vite `emptyOutDir: false`
 기본값 true 는 폴백 없는 코어 3번들과 배달된 immutable URL 의 게시본을 함께 지웠다
- 게시 트리 권한을 웹이 이어받는다: 병합 전 프리플라이트 + 부모 그룹 상속·g+w
 종전 소유권 정상화는 root 축만 덮어 비-root CLI 계정은 무방비였다
- 갱신 → 생성 → 완전성 확인을 한 묶음으로: 기록 바이트 대조, .old 원자 스왑,
 rename 일시 거부 재시도, 프론트 JSON 파싱 검증
- 실패를 억제하고 기록한다: 버전 한정 실패 마커 + 사유별 대시보드 알림
 + ext-static:status 점검 커맨드
- 파생: catch-all 제외 목록을 에셋 화이트리스트 합집합에서 파생(mjs·webp·otf 누락),
 번들 디스크 쓰기 fail-soft·빈 번들 503, 활성 디렉토리 prune 회피
2026-08-28 08:02:22 +09:00

69 lines
4.3 KiB
PHP

<?php
return [
'types' => [
'module' => '모듈',
'plugin' => '플러그인',
'template' => '템플릿',
],
'errors' => [
'core_version_mismatch' => ':extension (:type)은(는) 그누보드7 코어 버전 :required 이상을 요구합니다. (현재: :installed)',
'version_check_failed' => '버전 검증에 실패했습니다.',
'operation_in_progress' => '":name"에 대해 진행 중인 작업(:status)이 있어 요청을 처리할 수 없습니다.',
'zip_missing_manifest' => 'ZIP 내부에서 :file 매니페스트를 찾을 수 없습니다: :zip',
'zip_invalid_manifest' => 'ZIP 내부의 :file 매니페스트를 JSON 으로 해석할 수 없습니다.',
'zip_identifier_mismatch' => 'ZIP 매니페스트의 식별자가 대상 확장과 일치하지 않습니다. (기대: :expected, 실제: :actual)',
'zip_missing_version' => 'ZIP 내부의 :file 매니페스트에 version 필드가 없습니다.',
'not_found' => '확장(:identifier) 을 찾을 수 없습니다.',
'cascade_dependency_failed' => '동반 설치할 :type (:identifier) 의 설치에 실패했습니다: :message',
'invalid_type' => '유효하지 않은 확장 타입입니다.',
'not_auto_deactivated' => '이 확장은 코어 버전 호환성 문제로 자동 비활성화된 상태가 아닙니다.',
'hidden_extension' => '내부용(hidden) 확장은 사용자 노출 대상이 아닙니다.',
],
'warnings' => [
'auto_deactivated' => ':type ":identifier"이(가) 코어 버전 호환성 문제로 자동 비활성화되었습니다.',
],
'alerts' => [
'incompatible_deactivated' => ':type ":name" 자동 비활성화됨',
'incompatible_message' => '필요 버전: :required, 현재 설치됨: :installed',
'recovered_title' => ':type ":name" 다시 호환 가능',
'recovered_body' => '코어 업그레이드 후 호환됩니다 (이전 요구: :previously_required). 다시 활성화할 수 있습니다.',
'recovered_success' => '확장이 다시 활성화되었습니다.',
'dismissed' => '알림을 닫았습니다.',
'auto_deactivated_listed' => '자동 비활성화된 확장 목록입니다.',
'recover_action' => '다시 활성화',
'dismiss_action' => '알림 닫기',
'static_publish_failed_title' => '초기 화면 파일 생성 실패',
'static_publish_failed_parent_not_writable' => '초기 화면 파일을 저장할 폴더에 쓸 수 없어 :count회 연속 실패했습니다. 사이트는 정상 동작하지만 첫 화면이 느려집니다. 서버에서 `php artisan ext-static:status` 로 원인을 확인하세요.',
'static_publish_failed_write_failed' => '초기 화면 파일을 만드는 중 :count회 연속 실패했습니다. 디스크 여유 공간을 확인하세요. 사이트는 정상 동작하지만 첫 화면이 느려집니다.',
'static_publish_failed_lock_unavailable' => '초기 화면 파일 생성이 :count회 연속 건너뛰어졌습니다. 캐시 저장소 상태를 확인하세요. 사이트는 정상 동작하지만 첫 화면이 느려집니다.',
],
'badges' => [
'incompatible' => '코어 업그레이드 필요',
'incompatible_tooltip' => '코어 :required 이상 필요 (현재: :installed)',
'incompatible_sr' => ':name 은(는) 코어 :required 이상이 필요하지만 현재 :installed 가 설치되어 있어 업데이트할 수 없습니다.',
],
'banner' => [
'title' => '코어 호환성 문제로 자동 비활성화된 확장이 있습니다',
'item_required' => '필요 버전: :required',
'guide_link' => '코어 업그레이드 가이드',
'dismiss' => '닫기',
],
'update_modal' => [
'compat_warning_title' => '코어 버전 호환성 경고',
'compat_warning_message' => '이 :type 은(는) 코어 :required 이상이 필요합니다. (현재: :installed)',
'compat_guide_link' => '코어 업그레이드 가이드 보기',
'force_label' => '경고를 무시하고 강제 업데이트 (권장하지 않음)',
],
'commands' => [
'clear_cache_success' => '확장 버전 검증 캐시가 삭제되었습니다.',
],
];