fix(core,admin_basic): 정적 게시 재게시 누락 3건 수정 + 관리자 수동 복구 UI + sudo core:update 소유권 정합
- 템플릿 update 는 레이아웃 변경 여부와 무관하게 캐시 버전을 올리고(실패 복원 뒤에도), 자산 주소 방식 전환 3경로도 bump 한다 - config:cache 가 컨테이너 인스턴스를 덮어 이후 terminating 재게시가 사라지던 결함을 복원 헬퍼로 차단 - custom/ 변경 감지와 게시가 같은 열거자(재귀·크기 포함)를 쓰고, 서명은 호스트별로 저장 - 캐시 버전·서명 키를 만료시키지 않는다(기본 TTL 24h 로 매일 전체 재생성되던 문제) - 관리자 > 환경설정 > 일반 「초기 화면 정적 파일」 카드: 상태 조회 + 지금 다시 만들기(확인 모달), 대시보드 알림 버튼 연결, CLI 와 같은 statusReport 소비 - sudo core:update 경로의 root 소유 잔존(설정 디렉토리·임시 폴더·로그·업그레이드 마이그레이션 산출물) 상속·정합화, ext-static 명령 root 경고와 sudo -u 힌트 - 안내·문서·트러블슈팅 4건·audit 룰 ext-cache-version-raw-read·ja 언어팩 동기
This commit is contained in:
@@ -17,6 +17,9 @@
|
||||
- 리버스 프록시 뒤에서 신뢰 프록시가 지정되지 않았을 때 관리자 대시보드에 표시되는 안내의 일본어 번역을 추가했습니다.
|
||||
- 사이트 설정 문제로 화면 구성 파일이 차단됐을 때 표시되는 안내 문구의 일본어 번역을 추가했습니다 — 방문자 쪽 문제가 아니라는 안내가 일본어 로케일에서 표시됩니다.
|
||||
- 확장 프로그램의 스타일 묶음을 끝내 불러오지 못했을 때 안내에 표시되는 항목명의 일본어 번역을 추가했습니다 — 종전에는 그 자리에 내부 구분 이름이 그대로 보였고, 이제 「모듈 스타일」·「플러그인 스타일」에 해당하는 일본어가 표시됩니다.
|
||||
- 관리자 환경설정 > 일반의 「초기 화면 정적 파일」 상태·재작성 결과 안내 문구의 일본어 번역을 추가했습니다.
|
||||
- 초기 화면 파일 생성 실패 알림의 [다시 만들기] 버튼 라벨과 복구 완료 안내의 일본어 번역을 추가했습니다.
|
||||
- 운영자 추가 파일을 둘 폴더를 만들지 못했을 때 표시되는 실패 사유(같은 이름의 파일이 있음·상위 폴더에 쓸 수 없음 등)와 조치 안내의 일본어 번역을 추가했습니다.
|
||||
|
||||
## [1.0.8] - 2026-08-24
|
||||
|
||||
|
||||
@@ -13,6 +13,13 @@ return [
|
||||
'invalid_extension_target' => 'ターゲット拡張が見つかりません: :identifier',
|
||||
'extension_not_allowed' => '許可されていないファイル形式です: :extension',
|
||||
'upload_too_large' => 'アップロードファイルが大きすぎます。(最大 :limit バイト)',
|
||||
'directory_failed_hint' => 'サーバーで `sudo chown -R {ウェブアカウント}:{ウェブアカウント} :path` を実行してウェブアカウントに所有者を変更するか、グループ書き込み権限(`chmod -R g+w :path`)を付与してから再度お試しください。',
|
||||
'reason' => [
|
||||
'occupied_by_file' => '同じ名前のファイルが既に存在します',
|
||||
'ancestor_not_writable' => '親ディレクトリへの書き込みができません',
|
||||
'create_failed' => 'ディレクトリの作成に失敗しました',
|
||||
'not_writable' => 'ディレクトリは存在しますが、書き込みができません',
|
||||
],
|
||||
],
|
||||
'validation' => [
|
||||
'path_required' => 'ファイルパスを指定してください。',
|
||||
|
||||
@@ -37,6 +37,8 @@ return [
|
||||
'static_publish_failed_parent_not_writable' => '初期画面ファイルを保存するフォルダに書き込めず、:count 回連続で失敗しました。サイトは正常に動作しますが、最初の画面の表示が遅くなります。サーバーで `php artisan ext-static:status` を実行して原因を確認してください。',
|
||||
'static_publish_failed_write_failed' => '初期画面ファイルの生成が :count 回連続で失敗しました。ディスクの空き容量を確認してください。サイトは正常に動作しますが、最初の画面の表示が遅くなります。',
|
||||
'static_publish_failed_lock_unavailable' => '初期画面ファイルの生成が :count 回連続でスキップされました。キャッシュストアの状態を確認してください。サイトは正常に動作しますが、最初の画面の表示が遅くなります。',
|
||||
'static_publish_recover_label' => '再作成',
|
||||
'static_publish_recovered' => '初期画面ファイルを再作成しました。',
|
||||
],
|
||||
'badges' => [
|
||||
'incompatible' => 'コアアップグレード必要',
|
||||
|
||||
@@ -76,8 +76,6 @@ return [
|
||||
'driver_test_partial' => '一部のドライバ接続テストが失敗しました。',
|
||||
'driver_test_error' => 'ドライバ接続テスト中にエラーが発生しました。',
|
||||
'unknown_driver' => '不明なドライバです。',
|
||||
|
||||
// アウトバウンドプロキシ接続テストメッセージ
|
||||
'outbound_proxy_test_success' => 'プロキシ接続に成功しました。外部サービスにはこの IP アドレスとして見えます。',
|
||||
'outbound_proxy_test_failed' => 'プロキシ経由で接続できませんでした。アドレスとプロキシサーバーの状態を確認してください。',
|
||||
'outbound_proxy_test_invalid_url' => 'プロキシアドレスの形式が正しくありません。',
|
||||
@@ -174,10 +172,11 @@ return [
|
||||
'source_vendor_missing' => 'ソースディレクトリに vendor がありません。composer install が実行されていない可能性があります。',
|
||||
'composer_failed_with_output' => 'composer install 実行に失敗しました。:output',
|
||||
],
|
||||
|
||||
'trusted_proxy' => [
|
||||
'alert_title' => '信頼するプロキシが設定されていません',
|
||||
'alert_message' => 'プロキシヘッダー(:headers)を受信していますが、信頼するプロキシが設定されていないため、すべての訪問者が同じアドレス(:ip)として記録されています。.env に TRUSTED_PROXIES を指定してください。詳細: https://github.com/gnuboard/g7/blob/main/docs/backend/reverse-proxy.md',
|
||||
],
|
||||
|
||||
'static_cache_status_loaded' => 'ホーム画面の静的ファイルの状態を読み込みました。',
|
||||
'static_cache_republished' => 'ホーム画面の静的ファイルを再作成しました。',
|
||||
'static_cache_republish_failed' => 'ホーム画面の静的ファイルを再作成できませんでした。サイトは正常に動作しています。',
|
||||
];
|
||||
|
||||
@@ -14,6 +14,8 @@
|
||||
- 레이아웃 편집기 「필터 보이기/숨기기」·「필터 표시 초기화」 동작의 저장 키·필터 ID 입력 항목 이름을 일본어로 추가했습니다.
|
||||
- 사이드바 하위 메뉴 펼치기/접기 버튼의 화면 낭독기 라벨을 일본어로 추가했습니다.
|
||||
- 환경설정 화면의 `.env` 우선 모드 안내와 「`.env` 고정」 배지 문구의 일본어 번역을 추가했습니다.
|
||||
- 환경설정 > 일반의 「초기 화면 정적 파일」 카드 전체(제목·설명, 게시됨·미게시·비활성·개발 모드 상태 배지, 버전·파일 수·마지막 게시 시각·실행 계정·실패 사유 행, 「지금 다시 만들기」 버튼과 확인 모달)의 일본어 번역을 추가했습니다.
|
||||
- 레이아웃 편집기의 「초기 화면 정적 파일 상태」 데이터 항목 이름을 일본어로 추가했습니다.
|
||||
|
||||
### Changed
|
||||
|
||||
|
||||
@@ -1352,7 +1352,34 @@
|
||||
"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": "検出に失敗しました。サーバーが応答しないため、方式を判定できません。"
|
||||
"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設定",
|
||||
@@ -2791,7 +2818,8 @@
|
||||
"settings_password_confirm_modal": "アプリキー再生成パスワード確認",
|
||||
"core_changelog_modal": "コア変更履歴",
|
||||
"core_update_guide_modal": "コアアップデートお知らせ",
|
||||
"core_update_result_modal": "コアアップデート確認結果"
|
||||
"core_update_result_modal": "コアアップデート確認結果",
|
||||
"settings_static_cache_republish_modal": "初期画面静的ファイルの再作成確認"
|
||||
},
|
||||
"admin_template_list": {
|
||||
"template_activate_modal": "テンプレート有効化確認",
|
||||
|
||||
@@ -1579,7 +1579,8 @@
|
||||
"users": "ユーザーリスト",
|
||||
"dashboard_recent_notifications": "ダッシュボード最近の通知",
|
||||
"sitemap_status": "サイトマップ生成ステータス",
|
||||
"sitemap_progress_ws": "サイトマップ生成進行中(リアルタイム)"
|
||||
"sitemap_progress_ws": "サイトマップ生成進行中(リアルタイム)",
|
||||
"staticCacheStatus": "初期画面静的ファイル状態"
|
||||
},
|
||||
"array_group": {
|
||||
"chart_labels": "項目ラベル",
|
||||
|
||||
Reference in New Issue
Block a user