비어 있던 운영 플러그인 경로를 전용 서비스 원본으로 복구했다. 음성 입장 안내와 주변 메뉴 및 관리자 번역을 실제 화면에서 확인했다. 관리자 주소용 내부 이름을 보존하고 보드 메뉴 두 곳의 제목을 복구했다. 검사: Ruby 문법과 YAML 11개 통과. 활성 번역 6004개와 음성 번역 561개 누락 0개. 일반 화면과 관리자 번역 및 보드 자산의 제공 해시를 확인했다. PC와 390픽셀 모바일 안내창 및 관리자 메뉴 주소를 확인했다. 운영: app 컨테이너만 갱신. DB 구조 변경과 데이터 이전 없음. 백업: /var/discourse/shared/standalone/backups/forum-korean-20261015-1150 설정 백업은 별도 비밀 디렉터리의 권한 600 파일로 보관했다. 제한: DB 복원 시험과 다음 컨테이너 재생성은 이번 검사에 포함하지 않았다. Trilium: Ubuntu 서버 운영 아래 Discourse 한국어 배포에 기록했다.
21 lines
960 B
Ruby
21 lines
960 B
Ruby
# frozen_string_literal: true
|
|
|
|
# 번역 키를 그대로 출력하는 보드 메뉴 제목 두 곳만 바꿉니다.
|
|
# 원본 구조가 바뀌면 전체 파일을 덮어쓰지 않고 중단해 다른 수정 사항을 보존합니다.
|
|
root = ENV.fetch("DISCOURSE_ROOT", "/var/www/discourse")
|
|
targets = {
|
|
"boards-board-viewer.gjs" => ["boards.board.controls", "보드 메뉴"],
|
|
"boards-column.gjs" => ["boards.board.column_controls", "열 메뉴"],
|
|
}
|
|
targets.each do |file, (key, title)|
|
|
path = File.join(root, "plugins/boards/assets/javascripts/discourse/components", file)
|
|
next unless File.exist?(path)
|
|
original = File.read(path)
|
|
needle = "@title=\"#{key}\""
|
|
replacement = "@title=\"#{title}\""
|
|
next if original.include?(replacement)
|
|
abort "보드 원본 구조가 달라졌습니다: #{file}" unless original.scan(needle).size == 1
|
|
File.write(path, original.sub(needle, replacement))
|
|
end
|
|
puts "보드 메뉴 한국어 제목 확인 완료"
|