Files
syskiller 5bad207526 포럼 한국어 번역 플러그인을 복구하고 배포 검사를 보강
비어 있던 운영 플러그인 경로를 전용 서비스 원본으로 복구했다.
음성 입장 안내와 주변 메뉴 및 관리자 번역을 실제 화면에서 확인했다.
관리자 주소용 내부 이름을 보존하고 보드 메뉴 두 곳의 제목을 복구했다.

검사: Ruby 문법과 YAML 11개 통과. 활성 번역 6004개와 음성 번역 561개 누락 0개.
일반 화면과 관리자 번역 및 보드 자산의 제공 해시를 확인했다.
PC와 390픽셀 모바일 안내창 및 관리자 메뉴 주소를 확인했다.
운영: app 컨테이너만 갱신. DB 구조 변경과 데이터 이전 없음.
백업: /var/discourse/shared/standalone/backups/forum-korean-20261015-1150
설정 백업은 별도 비밀 디렉터리의 권한 600 파일로 보관했다.
제한: DB 복원 시험과 다음 컨테이너 재생성은 이번 검사에 포함하지 않았다.
Trilium: Ubuntu 서버 운영 아래 Discourse 한국어 배포에 기록했다.
2026-10-14 22:44:52 +00:00

82 lines
8.7 KiB
Markdown

# Discourse 한국어 보완 프로젝트 기록
이 문서는 포럼과 관리자 화면의 한국어 보완과 공식 기여 준비 기록을 관리한다. 게임과 게임 제작 도구의 기록과 분리한다.
## 2026-09-20 Discourse 한국어 화면 보완과 운영 확인
- `forum.itosm.co.kr`의 최신 글과 관리자 대시보드와 채팅과 음성 대화방과 로그인 화면에서 영어로 남은 사용자 문구를 한국어 재정의로 보완했다.
- Discourse 코어와 Chat 플러그인과 Voice 플러그인의 번역 누락을 구분해 총 182개의 한국어 재정의를 저장했다. 기본 음성 대화방 이름은 `자유 대화방`으로 바꾸고 설명도 한국어로 정리했다.
- 변경 전 업로드 파일을 포함한 Discourse 전체 백업 `itosm-2026-09-20-093718-v20260915204557.tar.gz`을 만들었다. 백업 크기는 7.0 MB다.
- 공식 실행 구성인 `/var/discourse/launcher`와 `/var/discourse/containers/app.yml`은 수정하지 않았다. 컨테이너 재시작도 하지 않았다. aaPanel에서 기존 Docker 컨테이너와 8880 포트 연결과 `forum.itosm.co.kr` 역방향 프록시와 SSL 연결을 유지했다.
- 데스크톱과 390×844 모바일 화면에서 최신 글과 관리자 대시보드가 정상 표시되는지 확인했다. 비로그인 로그인 화면과 비밀번호 재설정 창도 실제 메일 발송이나 비밀번호 변경 없이 확인했다.
- 로그인과 SMTP 설정은 이미 정상인 상태를 보존했다. 계정과 비밀번호와 메일 서버 설정은 변경하지 않았다.
- 일부 기본 안내 글 제목과 Discourse 제품 표기는 번역 대상이 아닌 콘텐츠와 제품 고유 표기로 남아 있다.
## 2026-09-20 Discourse 관리자 한글화 확대와 Yarn 실행 환경 정비
- 사용자 전용 경로에 Node.js 22.23.2와 Corepack 0.34.6을 설치하고 저장소가 지정한 Yarn 4.0.0-rc.40을 활성화했다. 공식 체크섬 검사를 통과했다.
- `/home/syskiller/.local/bin`에서 `node`, `npm`, `npx`, `corepack`, `yarn` 명령을 사용할 수 있다.
- `yarn lint-staged`를 실행해 명령이 정상 동작함을 확인했다.
- 관리자 대시보드와 탐색 메뉴와 플러그인 상단 안내의 누락 번역을 보완했다. 한국어 번역 덮어쓰기는 182개에서 234개로 늘었다.
- 신뢰 레벨 변화와 검색 요약과 릴리스 변경 수와 새 소식 및 고급 메뉴를 실제 관리자 화면에서 확인했다.
- 플러그인 표의 제품명과 설명 중 일부는 번역 키가 아니라 플러그인 코드 메타데이터에 직접 적혀 있어 일반 번역 덮어쓰기로 바뀌지 않는다. 정식 배포판 반영 작업에서 플러그인별 변경으로 분리한다.
- 데이터베이스 구조와 일반 콘텐츠 데이터는 변경하지 않았다. Discourse 한국어 번역 덮어쓰기 레코드만 추가했다.
- 컨테이너와 서비스는 재시작하지 않았다. 기존 전체 백업 `itosm-2026-09-20-093718-v20260915204557.tar.gz`를 복구 기준으로 유지한다.
- Discourse 공식 번역은 Crowdin 기반이며 `translate.discourse.org`에서 기여한 번역이 정기적으로 저장소에 반영된다. 누락 번역을 검증한 뒤 공통 번역과 플러그인 코드 변경을 나눠 공식 기여용으로 정리한다.
## 2026-09-20 공식 기여자 표기 확정
- Discourse 한국어 번역과 관련 코드의 공식 제출자 이름은 `이창현 (Lee Chang Hyun)`으로 사용한다.
- 공식 제출 및 커밋 이메일은 `syskiller@naver.com`으로 사용한다.
- 저장소 로컬 Git 작성자 설정도 같은 정보로 맞췄다.
## 2026-09-25 사용자 화면 한글화 4차 진행과 운영 반영
- Discourse 코어의 일반 화면 및 시스템 번역을 네 차례로 나눠 150개와 150개와 150개와 300개씩 총 750개 보완했다.
- 채팅과 음성 대화 플러그인의 사용자 화면 번역을 보완했다. 신고 창과 검색과 글 작성기와 404 안내와 태그 입력 등 실제 사용 중 발견한 영문 문구도 함께 정리했다.
- 영어로 작성돼 있던 운영 게시물 3건의 제목과 본문을 한국어로 바꿨다. 데이터베이스 구조 변경과 데이터 이전은 없었다.
- 운영 플러그인 `itosm-admin-korean`에 번역 파일을 반영했다. `app` 컨테이너만 다시 시작했으며 포럼의 HTTP 200 응답을 확인했다.
- 활성 번역 기준으로 남은 항목은 총 8,498개다. 일반 화면 및 시스템은 6,385개이며 관리자 화면은 2,113개다.
- 앞선 화면별 검사에서는 신고 창과 검색과 글 작성기와 오류 안내와 태그 입력의 한국어 표시를 확인했다. 4차 300개 묶음은 YAML 구조와 후보 수와 운영 응답을 검사했으나 화면별 문맥 검수는 후속 작업으로 남겼다.
- 현재 SSH 접속 출발지는 Fail2ban의 SSH 차단 제외 목록에 반영했다. 실제 주소는 기록에 남기지 않았다.
- 이번 기록 시점에는 사용자 지시에 따라 새 백업을 만들지 않았다. 다음 작업은 일반 화면 번역을 300개 단위로 이어서 적용하고 화면별 문맥을 확인하는 것이다.
## 2026-09-27 한국어 번역 완료와 Gitea 배포 준비
- 활성 일반 화면과 관리자 화면 및 활성 플러그인의 번역 누락을 모두 정리했다.
- 활성 플러그인 29개의 번역 키 6,005개를 검사했으며 누락은 0개다.
- 전체 활성 번역에서 원문과 값이 같은 216개는 브랜드명과 형식 문자열 및 주소 예시처럼 유지해야 하는 기술 값이다.
- 업무 흐름과 보드와 RSS 가져오기와 외부 채팅 연동 및 GitHub 연동과 자동화 화면을 확인했다.
- PC와 390픽셀 모바일 화면에서 일반 화면과 관리자 화면의 가로 넘침이 없음을 확인했다. 브라우저 오류도 없었다.
- 보드 설정에 노출되던 `Boards enabled`를 `보드 사용`으로 바꿨다.
- `yarn test`와 `yarn deploy` 및 `yarn verify:deployment` 명령을 추가해 Gitea 저장소에서 검사와 운영 배포를 수행할 수 있게 했다.
- 운영 `app` 컨테이너만 갱신했으며 포럼의 HTTP 200 응답을 확인했다.
- 데이터베이스 구조 변경과 데이터 이전은 없다. 사용자 요청이 없어 백업은 진행하지 않았다.
## 2026-10-04 ITOSM 피아노 학습실 포럼 구성
- 정식 서비스 이름을 `ITOSM 피아노 학습실`로 확인하고 `https://learn.itosm.co.kr`에 연결되는 전용 포럼 공간을 만들었다.
- 상위 카테고리와 `시작 안내와 사용법` 및 `곡 공유와 연습 자료`와 `질문과 문제 해결` 및 `오류 신고와 개선 제안` 하위 카테고리를 구성했다.
- 서비스 소개와 처음 시작하는 방법 및 MIDI와 악보 공유 안내와 난이도별 연습 정보와 질문 및 오류 작성 안내를 등록했다.
- 자료 공유 양식에 원본 출처와 저작권 상태 및 이용 허가와 재배포 가능 여부를 필수 확인 항목으로 넣었다.
- 다섯 개 카테고리는 비회원이 볼 수 있다. 회원은 글을 작성할 수 있다. 안내 글 여섯 개도 비회원 공개 상태다.
- 서비스와 포럼 및 안내 글 여섯 개가 모두 HTTP 200으로 응답했다. 390×844 모바일 화면에서는 가로 넘침이 없었다.
- 임시 이름은 제목과 본문 및 글쓰기 양식에서 모두 제거했다. `NoteRain` 표기도 사용하지 않았다.
- 기존 포럼 설정과 게시물은 삭제하지 않았다. 데이터베이스 구조 변경과 데이터 이전도 없다.
- 사용자 요청이 없어 백업을 만들지 않았다. 컨테이너 재시작도 하지 않았다.
- 실제 MIDI 장치를 이용한 서비스 동작 검사는 피아노 학습 서비스 자체의 장치 검증 작업으로 남는다.
## 2026-10-15 운영 서버 한국어 번역 복구
- 이전된 서버의 한국어 보완 플러그인 경로가 비어 있음을 확인했다. 전용 원본을 복구하고 포럼 컨테이너만 재시작했다.
- 음성 대화방 입장 안내와 주변 메뉴 및 관리자 번역을 복구했다. 활성 플러그인 고유 번역 6,004개와 음성 기능 561개를 검사했다. 누락은 0개다.
- 관리자 주소에 쓰이는 내부 플러그인 이름은 보존하도록 수정했다. 보드 메뉴 두 곳의 제목도 복구했다.
- 실제 웹 번역과 보드 자산 해시 대조를 배포 검사에 추가했다. PC와 모바일의 안내창 및 관리자 메뉴 주소를 확인했다.
- DB 구조 변경과 데이터 이전은 없다. 기존 글꼴과 게시물을 보존했다.
- 백업: `/var/discourse/shared/standalone/backups/forum-korean-20261015-1150`
- 상세 범위와 복구 방법: [한국어 복구 기록](docs/2026-10-15-localization-recovery.md)