기능: Discourse 관리자 설정 한국어 번역 기반 추가

관리자 설정 이름 100개와 필수 설명 10개를 한국어로 제공한다.

독립 프로젝트 저장소의 최초 배포 기반과 작업 문서를 함께 정리했다.
This commit is contained in:
2026-09-20 11:19:11 +00:00
commit ced38f3ef7
6 changed files with 233 additions and 0 deletions
+126
View File
@@ -0,0 +1,126 @@
# frozen_string_literal: true
# name: itosm-admin-korean
# about: Discourse 관리자 설정 이름을 자연스러운 한국어로 표시합니다.
# version: 0.1.0
# authors: 이창현
# url: https://gitea.itosm.co.kr/syskiller/ITOSMGames
module ::ItosmAdminKorean
NAMES = {
default_locale: "기본 언어",
title: "사이트 이름",
site_description: "사이트 설명",
short_site_description: "짧은 사이트 설명",
short_title: "짧은 사이트 이름",
contact_email: "연락처 이메일",
contact_url: "연락처 주소",
site_contact_username: "시스템 메시지 발신자",
site_contact_group_name: "시스템 메시지 수신 그룹",
exclude_rel_nofollow_domains: "nofollow 제외 도메인",
company_name: "회사 또는 단체 이름",
company_url: "회사 또는 단체 주소",
governing_law: "준거법",
city_for_disputes: "분쟁 관할 도시",
logo: "기본 로고",
logo_small: "작은 로고",
digest_logo: "요약 메일 로고",
mobile_logo: "모바일 로고",
logo_dark: "어두운 화면용 로고",
logo_small_dark: "어두운 화면용 작은 로고",
mobile_logo_dark: "어두운 화면용 모바일 로고",
large_icon: "큰 아이콘",
manifest_icon: "앱 설치 아이콘",
manifest_screenshots: "앱 설치 화면 이미지",
favicon: "파비콘",
apple_touch_icon: "Apple 터치 아이콘",
opengraph_image: "OpenGraph 이미지",
twitter_summary_large_image: "X 요약 큰 이미지",
display_local_time_in_user_card: "사용자 카드에 현지 시각 표시",
support_mixed_text_direction: "혼합 텍스트 방향 지원",
categories_topics: "카테고리별 주제 수",
suggested_topics: "추천 주제 수",
limit_suggested_to_category: "같은 카테고리의 주제만 추천",
suggested_topics_unread_max_days_old: "읽지 않은 추천 주제 최대 보관 일수",
suggested_topics_max_days_old: "추천 주제 최대 보관 일수",
ga_version: "Google Analytics 버전",
ga_universal_tracking_code: "Google Analytics 추적 코드",
ga_universal_domain_name: "Google Analytics 도메인",
ga_universal_auto_link_domains: "Google Analytics 교차 도메인",
gtm_container_id: "Google Tag Manager 컨테이너 ID",
google_site_verification_token: "Google 사이트 확인 토큰",
top_menu: "상단 메뉴",
default_homepage: "기본 홈페이지",
custom_homepage_crawler_route: "검색 엔진용 홈페이지 경로",
post_menu: "게시물 메뉴",
post_menu_hidden_items: "기본 숨김 게시물 메뉴",
share_links: "공유 링크",
allow_username_in_share_links: "공유 링크에 사용자 이름 포함",
share_quote_visibility: "인용 공유 표시 대상",
share_quote_buttons: "인용 공유 버튼",
desktop_category_page_style: "데스크톱 카테고리 화면 형식",
mobile_category_page_style: "모바일 카테고리 화면 형식",
category_colors: "카테고리 색상",
enable_direct_s3_uploads: "S3 직접 업로드 사용",
relative_date_duration: "상대 날짜 표시 기간",
topics_per_period_in_top_summary: "인기 주제 요약 표시 수",
topics_per_period_in_top_page: "인기 주제 화면 표시 수",
top_page_default_timeframe: "인기 주제 기본 기간",
fixed_category_positions: "카테고리 순서 고정",
fixed_category_positions_on_create: "주제 작성 화면에서 카테고리 순서 고정",
enable_badges: "배지 사용",
show_badges_in_post_header: "게시물 머리글에 배지 표시",
max_favorite_badges: "즐겨찾기 배지 최대 수",
whispers_allowed_groups: "귓속말 허용 그룹",
hidden_post_visible_groups: "숨긴 게시물 조회 그룹",
push_notifications_prompt: "푸시 알림 동의 안내",
push_notifications_icon: "푸시 알림 아이콘",
enable_desktop_push_notifications: "데스크톱 푸시 알림 사용",
push_notification_time_window_mins: "푸시 알림 대기 시간",
base_font: "기본 글꼴",
heading_font: "제목 글꼴",
enable_sitemap: "사이트맵 사용",
sitemap_page_size: "사이트맵 페이지당 주소 수",
enable_user_tips: "사용자 도움말 사용",
page_loading_indicator: "화면 로딩 표시",
show_user_menu_avatars: "사용자 메뉴에 아바타 표시",
about_page_hidden_groups: "소개 화면에서 숨길 그룹",
about_page_extra_groups: "소개 화면에 추가할 그룹",
about_page_extra_groups_initial_members: "소개 화면 그룹별 기본 표시 인원",
about_page_extra_groups_order: "소개 화면 추가 그룹 순서",
about_page_extra_groups_show_description: "소개 화면에 그룹 설명 표시",
adobe_analytics_tags_url: "Adobe Analytics 태그 주소",
interface_color_selector: "화면 색상 선택기",
login_required: "로그인 필수",
must_approve_users: "신규 사용자 승인 필요",
invite_only: "초대 전용",
invite_code: "초대 코드",
enable_local_logins: "아이디와 비밀번호 로그인 사용",
enable_local_logins_via_email: "이메일 로그인 링크 사용",
enable_random_usernames: "임의 사용자 이름 생성",
random_username_adjectives: "임의 사용자 이름 형용사",
random_username_nouns: "임의 사용자 이름 명사",
allow_passkeys_for_2fa: "2단계 인증에 패스키 허용",
allow_new_registrations: "신규 가입 허용",
enable_signup_cta: "가입 권유 안내 사용",
enable_discourse_id: "Discourse ID 로그인 사용",
enable_google_oauth2_logins: "Google 로그인 사용",
google_oauth2_client_id: "Google OAuth2 클라이언트 ID",
google_oauth2_client_secret: "Google OAuth2 클라이언트 비밀 키",
google_oauth2_prompt: "Google OAuth2 요청 방식",
}.freeze
module SiteSettingNames
def humanized_names(name)
if I18n.locale.to_s.start_with?("ko")
localized_name = ItosmAdminKorean::NAMES[name.to_sym]
return localized_name if localized_name
end
super
end
end
end
after_initialize do
SiteSetting.singleton_class.prepend(::ItosmAdminKorean::SiteSettingNames)
end