Files
discourse-korean-localization/plugin.rb
T
syskiller ced38f3ef7 기능: Discourse 관리자 설정 한국어 번역 기반 추가
관리자 설정 이름 100개와 필수 설명 10개를 한국어로 제공한다.

독립 프로젝트 저장소의 최초 배포 기반과 작업 문서를 함께 정리했다.
2026-09-20 11:19:11 +00:00

127 lines
6.2 KiB
Ruby

# 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