비어 있던 운영 플러그인 경로를 전용 서비스 원본으로 복구했다. 음성 입장 안내와 주변 메뉴 및 관리자 번역을 실제 화면에서 확인했다. 관리자 주소용 내부 이름을 보존하고 보드 메뉴 두 곳의 제목을 복구했다. 검사: Ruby 문법과 YAML 11개 통과. 활성 번역 6004개와 음성 번역 561개 누락 0개. 일반 화면과 관리자 번역 및 보드 자산의 제공 해시를 확인했다. PC와 390픽셀 모바일 안내창 및 관리자 메뉴 주소를 확인했다. 운영: app 컨테이너만 갱신. DB 구조 변경과 데이터 이전 없음. 백업: /var/discourse/shared/standalone/backups/forum-korean-20261015-1150 설정 백업은 별도 비밀 디렉터리의 권한 600 파일로 보관했다. 제한: DB 복원 시험과 다음 컨테이너 재생성은 이번 검사에 포함하지 않았다. Trilium: Ubuntu 서버 운영 아래 Discourse 한국어 배포에 기록했다.
2.7 KiB
Discourse 한국어 보완
forum.itosm.co.kr에서 사용하는 Discourse 한국어 번역과 관리자 설정 이름 보완 플러그인이다. 일반 화면과 관리자 화면 및 활성 플러그인의 한국어 누락을 보완한다.
구성
plugin.rb: 관리자 설정 이름과 플러그인 표시 문구 보완config/locales/client.ko.yml: 브라우저 화면 번역config/locales/server.ko.yml: 서버 문구와 설정 설명 번역config/locales/*-quality.ko.yml: 기능별 검수 원본patches/: 별도 플러그인에 반영한 화면 수정 원본docs/: 작업 기록과 Trilium 대응 문서
작성자
이창현 (Lee Chang Hyun) syskiller@naver.com
검사
저장소 루트에서 다음 명령을 실행한다.
yarn test
Ruby 문법과 모든 한국어 YAML 파일의 구조를 검사한다.
운영 배포
Ubuntu 서버에서 저장소를 최신 상태로 만든 뒤 다음 명령을 실행한다.
yarn deploy
기본 배포 대상은 app 컨테이너와 https://forum.itosm.co.kr이다. 다른 환경에서는 아래처럼 지정한다.
DISCOURSE_CONTAINER=app DISCOURSE_URL=https://forum.itosm.co.kr yarn deploy
배포는 영구 원본인 /home/syskiller/discourse-korean-localization에서 실행한다. 다른 설치 위치를 사용하는 경우 DISCOURSE_PLUGIN_SOURCE를 지정한다. 컨테이너 생성 설정에도 같은 원본을 /var/www/discourse/plugins/itosm-korean-localization로 연결해야 한다. 이전 itosm-admin-korean 플러그인과 중복 설치하지 않는다.
배포 명령은 검사 통과 후 실행 파일을 복사한다. 별도 Rails 부팅에서 플러그인 로딩과 음성 대화 안내 및 활성 플러그인의 번역 누락을 검사한 뒤 app만 재시작한다. 마지막으로 사용자 화면과 관리자 화면에서 실제 제공하는 번역 묶음의 해시까지 대조한다. HTTP 200만으로 성공 처리하지 않는다. 원본과 설정 및 필요한 데이터는 배포 전에 작업별로 백업한다.
배포하지 않고 운영 상태만 확인하려면 다음 명령을 사용한다.
yarn verify:deployment
Gitea에서 새 서버로 설치
서버의 Git 인증 설정을 사용해 저장소를 받은 뒤 검사와 배포를 실행한다. 인증 정보는 저장소나 명령에 넣지 않는다.
git clone https://gitea.itosm.co.kr/syskiller/discourse-korean-localization.git
cd discourse-korean-localization
corepack yarn test
corepack yarn deploy
기록
PROJECT_MEMORY.md: 운영 결정과 적용 범위수정기록.txt: 날짜별 변경과 검사 결과docs/: Trilium 대응 문서와 상세 운영 기록