Discourse 한국어 번역과 Gitea 배포 구성 완료

일반 화면과 관리자 화면 및 활성 플러그인의 최종 한국어 번역을 반영했다.

기능별 검수 원본과 보드 화면 패치 원본을 저장소에 포함했다. yarn test와 yarn deploy 및 yarn verify:deployment 명령을 추가했다.

활성 플러그인 29개의 번역 키 6,005개에서 누락 0개를 확인했다. PC와 390픽셀 모바일 화면을 확인했다. 운영 app 컨테이너에 재배포하고 HTTP 200 응답을 확인했다.

데이터베이스 구조 변경과 데이터 이전은 없다. 사용자 요청이 없어 백업은 만들지 않았다.
This commit is contained in:
2026-09-27 03:28:42 +00:00
parent cc5042a0a6
commit e0cd349f58
24 changed files with 16518 additions and 25 deletions
+28
View File
@@ -0,0 +1,28 @@
#!/usr/bin/env bash
set -euo pipefail
root_dir="$(CDPATH= cd -- "$(dirname -- "$0")/.." && pwd)"
container="${DISCOURSE_CONTAINER:-app}"
plugin_path="/var/www/discourse/plugins/itosm-admin-korean"
cd "$root_dir"
corepack yarn test
docker inspect "$container" >/dev/null
docker exec "$container" mkdir -p "$plugin_path/config/locales" "$plugin_path/assets"
docker cp plugin.rb "$container:$plugin_path/plugin.rb"
docker cp config/locales/client.ko.yml "$container:$plugin_path/config/locales/client.ko.yml"
docker cp config/locales/server.ko.yml "$container:$plugin_path/config/locales/server.ko.yml"
docker cp assets/. "$container:$plugin_path/assets/"
docker restart "$container" >/dev/null
for attempt in 1 2 3 4 5 6 7 8 9 10; do
if DISCOURSE_CONTAINER="$container" bash scripts/verify_deployment.sh; then
echo "Discourse 한국어 보완 배포 완료"
exit 0
fi
sleep 2
done
echo "컨테이너 재시작 뒤 서비스가 정상 상태로 돌아오지 않았습니다." >&2
exit 1
+13
View File
@@ -0,0 +1,13 @@
# frozen_string_literal: true
require "yaml"
paths = Dir.glob(File.expand_path("../config/locales/*.yml", __dir__)).sort
abort "검사할 한국어 번역 파일이 없습니다." if paths.empty?
paths.each do |path|
data = YAML.safe_load_file(path, aliases: true)
abort "한국어 최상위 키가 없습니다: #{path}" unless data.is_a?(Hash) && data.key?("ko")
end
puts "한국어 YAML #{paths.length}개 검사 통과"
+20
View File
@@ -0,0 +1,20 @@
#!/usr/bin/env bash
set -euo pipefail
container="${DISCOURSE_CONTAINER:-app}"
site_url="${DISCOURSE_URL:-https://forum.itosm.co.kr}"
plugin_path="/var/www/discourse/plugins/itosm-admin-korean"
docker inspect "$container" >/dev/null
docker exec "$container" test -f "$plugin_path/plugin.rb"
docker exec "$container" test -f "$plugin_path/config/locales/client.ko.yml"
docker exec "$container" test -f "$plugin_path/config/locales/server.ko.yml"
status="$(curl --silent --show-error --output /dev/null --write-out '%{http_code}' "$site_url")"
if [[ "$status" != "200" ]]; then
echo "포럼 응답 확인 실패: HTTP $status" >&2
exit 1
fi
echo "운영 플러그인 파일 확인 완료"
echo "포럼 응답 확인 완료: HTTP 200"