✨ feat(locales): Add multiple languages
This commit is contained in:
@@ -0,0 +1,30 @@
|
||||
{
|
||||
"actions": "작업",
|
||||
"announcementList": "공지 목록",
|
||||
"cancel": "취소",
|
||||
"confirm": "확인",
|
||||
"confirmDelete": "삭제하시겠습니까?",
|
||||
"content": "내용",
|
||||
"create": "생성",
|
||||
"createAnnouncement": "공지 생성",
|
||||
"createSuccess": "생성 성공",
|
||||
"delete": "삭제",
|
||||
"deleteDescription": "삭제하면 데이터는 복구할 수 없습니다. 신중하게 진행하세요.",
|
||||
"deleteSuccess": "삭제 성공",
|
||||
"edit": "편집",
|
||||
"editAnnouncement": "공지 편집",
|
||||
"enable": "사용",
|
||||
"form": {
|
||||
"cancel": "취소",
|
||||
"confirm": "확인",
|
||||
"content": "내용",
|
||||
"contentPlaceholder": "공지 내용을 입력하세요 (Markdown 지원)",
|
||||
"title": "제목",
|
||||
"titlePlaceholder": "입력하세요"
|
||||
},
|
||||
"hide": "숨기기",
|
||||
"show": "표시",
|
||||
"title": "제목",
|
||||
"updateSuccess": "업데이트 성공",
|
||||
"updatedAt": "업데이트 시간"
|
||||
}
|
||||
@@ -0,0 +1,39 @@
|
||||
{
|
||||
"check": {
|
||||
"checking": "확인 중...",
|
||||
"continue": "계속",
|
||||
"description": "로그인 또는 등록을 계속하려면 이메일을 입력하세요.",
|
||||
"email": "유효한 이메일 주소를 입력하세요.",
|
||||
"title": "로그인/등록",
|
||||
"whitelist": "이메일 도메인이 허용된 화이트리스트에 없습니다."
|
||||
},
|
||||
"login": {
|
||||
"description": "계정 정보를 입력하여 로그인하세요.",
|
||||
"forgotPassword": "비밀번호를 잊으셨나요?",
|
||||
"success": "로그인 성공!",
|
||||
"switchAccount": "가입/계정 전환",
|
||||
"title": "로그인"
|
||||
},
|
||||
"logout": "로그아웃",
|
||||
"orWithEmail": "또는 이메일 사용",
|
||||
"register": {
|
||||
"description": "새 계정을 생성하고 정보를 입력하여 등록하세요.",
|
||||
"existingAccount": "이미 계정이 있으신가요?",
|
||||
"get": "받기",
|
||||
"invite": "초대 코드",
|
||||
"message": "#### 존경하는 사용자님, 안녕하세요!\n\n저희에 대한 관심과 지원에 감사드립니다. 사이트 운영 전략의 조정으로 인해 신규 사용자 등록 기능을 닫았습니다. 이 기간 동안 기존 사용자의 사용에는 아무런 영향이 없습니다.\n\n저희는 더 나은 서비스와 경험을 제공하기 위해 등록이 닫힌 동안 시스템 최적화와 기능 업그레이드를 전면적으로 진행할 것입니다. 앞으로 더 나은 콘텐츠와 서비스로 여러분을 맞이하겠습니다.\n\n저희 웹사이트와 소셜 미디어 플랫폼을 주시하여 최신 동향과 공지를 받아보세요. 이해와 지원에 감사드립니다.\n\n궁금한 점이나 도움이 필요하시면 언제든지 고객 서비스 팀에 문의해 주세요.\n\n**다시 한번 지원과 이해에 감사드립니다.**",
|
||||
"passwordMismatch": "비밀번호가 일치하지 않습니다.",
|
||||
"success": "등록 성공, 자동으로 로그인되었습니다!",
|
||||
"switchToLogin": "로그인/이메일 재설정",
|
||||
"title": "등록"
|
||||
},
|
||||
"reset": {
|
||||
"description": "비밀번호를 재설정하려면 이메일 주소를 입력하세요.",
|
||||
"existingAccount": "이미 계정이 있으신가요?",
|
||||
"get": "받기",
|
||||
"success": "비밀번호 재설정 성공, 자동으로 로그인으로 전환되었습니다!",
|
||||
"switchToLogin": "로그인/회원가입",
|
||||
"title": "비밀번호 재설정"
|
||||
},
|
||||
"tos": "서비스 약관"
|
||||
}
|
||||
@@ -0,0 +1,60 @@
|
||||
{
|
||||
"billing": {
|
||||
"description": "후원은 PPanel이 계속해서 업데이트를 제공하는 데 도움이 됩니다!",
|
||||
"title": "후원자"
|
||||
},
|
||||
"empty": [
|
||||
"여기에 멋진 내용이 가득할 거라고 상상해 보세요! 지금은 상상에 맡겨야겠네요…",
|
||||
"이 영역이 신비롭게 사라졌습니다. 우리는 그것을 다시 불러오고 있습니다!",
|
||||
"아무 일도 일어나지 않았네요… 직접 무언가를 채워보세요!",
|
||||
"마치 콘서트에서 무대에 아무도 없는 것을 발견한 것 같네요… 무대에 올라가서 공연해 보시겠어요?",
|
||||
"빈 땅을 발견하셨군요! 집을 지어보시겠어요?",
|
||||
"여기는 잠시 비어 있지만, 창의력은 여기서 시작됩니다!",
|
||||
"아무것도 없네요… 하지만 걱정 마세요, 이건 시작일 뿐입니다!",
|
||||
"여기에 큰 놀라움을 준비했는데, 놀라움이 도망갔네요!",
|
||||
"지금은 아무것도 없지만, 마치 간식장이 비어 있는 것 같네요.",
|
||||
"이 빈 공간은 주인공의 등장을 기다리고 있습니다!"
|
||||
],
|
||||
"request": {
|
||||
"10001": "조회가 아직 성공하지 않았습니다. 잠시 후 다시 시도하거나 조건을 확인해 주세요.",
|
||||
"10002": "업데이트 작업이 성공하지 않았습니다. 잠시 후 다시 시도해 주세요.",
|
||||
"10003": "삽입 작업을 완료할 수 없습니다. 잠시 후 다시 시도해 주세요.",
|
||||
"10004": "삭제 작업이 완료되지 않았습니다. 잠시 후 다시 시도해 주세요.",
|
||||
"20001": "해당 사용자 정보가 이미 존재합니다. 정보를 변경한 후 다시 시도해 주세요.",
|
||||
"20002": "해당 사용자를 찾을 수 없습니다. 정보를 확인한 후 다시 시도해 주세요.",
|
||||
"20003": "입력하신 비밀번호가 올바르지 않습니다. 다시 입력해 주세요.",
|
||||
"20004": "해당 사용자가 비활성화되었습니다. 문의 사항이 있으면 고객 서비스에 문의해 주세요.",
|
||||
"20005": "잔액이 부족합니다. 충전 후 다시 시도해 주세요.",
|
||||
"20006": "등록 기능을 현재 사용할 수 없습니다. 잠시 후 다시 시도해 주세요.",
|
||||
"30001": "해당 노드가 이미 존재합니다. 중복 추가하지 마세요.",
|
||||
"30002": "관련 노드를 찾을 수 없습니다. 확인 후 다시 시도해 주세요.",
|
||||
"30003": "그룹이 이미 존재합니다. 다른 이름을 사용해 보세요.",
|
||||
"30004": "해당 그룹을 찾을 수 없습니다. 정보를 확인한 후 다시 시도해 주세요.",
|
||||
"30005": "해당 그룹 내에 여전히 내용이 있습니다. 비운 후 다시 시도해 주세요.",
|
||||
"400": "요청 매개변수가 올바르지 않습니다. 확인 후 다시 제출해 주세요.",
|
||||
"40002": "유효한 토큰을 찾을 수 없습니다. 먼저 로그인한 후 다시 시도해 주세요.",
|
||||
"40003": "현재 토큰이 유효하지 않습니다. 다시 획득한 후 시도해 주세요.",
|
||||
"40004": "토큰이 만료되었습니다. 다시 로그인해 주세요.",
|
||||
"40005": "접근 권한이 없습니다. 문의 사항이 있으면 관리자에게 문의해 주세요.",
|
||||
"401": "요청이 너무 빈번합니다. 잠시 후 다시 시도해 주세요.",
|
||||
"500": "서버에 문제가 발생했습니다. 잠시 후 다시 시도해 주세요.",
|
||||
"50001": "해당 쿠폰 정보를 찾을 수 없습니다. 확인 후 다시 시도해 주세요.",
|
||||
"50002": "해당 쿠폰이 이미 사용되었습니다. 반복 사용할 수 없습니다.",
|
||||
"60001": "구독이 만료되었습니다. 갱신 후 사용해 주세요.",
|
||||
"60002": "현재 구독을 사용할 수 없습니다. 잠시 후 다시 시도해 주세요.",
|
||||
"70001": "인증 코드가 잘못되었습니다. 다시 입력해 주세요.",
|
||||
"80001": "작업이 큐에 성공적으로 추가되지 않았습니다. 잠시 후 다시 시도해 주세요.",
|
||||
"90001": "DEBUG 모드를 끈 후 다시 시도해 주세요.",
|
||||
"undefined": "시스템에 오류가 발생했습니다. 잠시 후 다시 시도해 주세요."
|
||||
},
|
||||
"table": {
|
||||
"actions": "작업",
|
||||
"asc": "오름차순",
|
||||
"desc": "내림차순",
|
||||
"hide": "숨기기",
|
||||
"pageInfo": "{current} 페이지, 총 {total} 페이지",
|
||||
"rowsPerPage": "페이지당 행 수",
|
||||
"selectedItems": "{total}개 행 선택됨"
|
||||
},
|
||||
"unlimited": "무제한"
|
||||
}
|
||||
@@ -0,0 +1,50 @@
|
||||
{
|
||||
"actions": "작업",
|
||||
"amount": "금액",
|
||||
"cancel": "취소",
|
||||
"code": "코드",
|
||||
"confirm": "확인",
|
||||
"confirmDelete": "삭제하시겠습니까?",
|
||||
"count": "수량",
|
||||
"couponList": "쿠폰 목록",
|
||||
"create": "생성",
|
||||
"createCoupon": "쿠폰 생성",
|
||||
"createSuccess": "생성 성공",
|
||||
"delete": "삭제",
|
||||
"deleteSuccess": "삭제 성공",
|
||||
"deleteWarning": "삭제하면 데이터는 복구할 수 없습니다. 신중하게 진행하세요.",
|
||||
"discount": "할인",
|
||||
"edit": "편집",
|
||||
"editCoupon": "쿠폰 편집",
|
||||
"enable": "사용",
|
||||
"form": {
|
||||
"amountDiscount": "금액 할인",
|
||||
"cancel": "취소",
|
||||
"confirm": "확인",
|
||||
"count": "최대 사용 횟수",
|
||||
"countPlaceholder": "최대 사용 횟수(비워두면 무제한)",
|
||||
"customCouponCode": "사용자 정의 쿠폰 코드",
|
||||
"customCouponCodePlaceholder": "사용자 정의 쿠폰 코드(비워두면 자동 생성)",
|
||||
"enterCouponName": "쿠폰 이름을 입력하세요",
|
||||
"enterValue": "값을 입력하세요",
|
||||
"expireTime": "만료 시간",
|
||||
"name": "이름",
|
||||
"percentageDiscount": "백분율 할인",
|
||||
"selectServer": "구독을 선택하세요",
|
||||
"selectTime": "시간 선택",
|
||||
"specifiedServer": "지정된 구독",
|
||||
"startTime": "시작 시간",
|
||||
"type": "쿠폰 유형",
|
||||
"userLimit": "사용자당 최대 사용 횟수",
|
||||
"userLimitPlaceholder": "사용자당 최대 사용 횟수(비워두면 무제한)"
|
||||
},
|
||||
"name": "이름",
|
||||
"percentage": "백분율",
|
||||
"remainingTimes": "남은 시간",
|
||||
"subscribe": "구독",
|
||||
"type": "유형",
|
||||
"unlimited": "무제한",
|
||||
"updateSuccess": "업데이트 성공",
|
||||
"usedTimes": "사용 횟수",
|
||||
"validityPeriod": "유효 기간"
|
||||
}
|
||||
@@ -0,0 +1,29 @@
|
||||
{
|
||||
"DocumentList": "문서 목록",
|
||||
"actions": "작업",
|
||||
"cancel": "취소",
|
||||
"confirm": "확인",
|
||||
"confirmDelete": "삭제하시겠습니까?",
|
||||
"create": "생성",
|
||||
"createDocument": "문서 생성",
|
||||
"createSuccess": "생성 성공",
|
||||
"delete": "삭제",
|
||||
"deleteDescription": "삭제하면 데이터는 복구할 수 없습니다. 신중하게 진행하세요.",
|
||||
"deleteSuccess": "삭제 성공",
|
||||
"edit": "편집",
|
||||
"editDocument": "문서 편집",
|
||||
"form": {
|
||||
"cancel": "취소",
|
||||
"confirm": "확인",
|
||||
"content": "내용",
|
||||
"tags": "카테고리",
|
||||
"tagsPlaceholder": "여러 카테고리를 입력하려면 Enter 키 또는 쉼표(,)로 구분하세요",
|
||||
"title": "제목",
|
||||
"titlePlaceholder": "입력하세요"
|
||||
},
|
||||
"show": "표시",
|
||||
"tags": "카테고리",
|
||||
"title": "제목",
|
||||
"updateSuccess": "업데이트 성공",
|
||||
"updatedAt": "업데이트 시간"
|
||||
}
|
||||
@@ -0,0 +1,29 @@
|
||||
{
|
||||
"email": "이메일",
|
||||
"month": "이번 달",
|
||||
"monthDownloadTraffic": "이번 달 다운로드 트래픽",
|
||||
"monthUploadTraffic": "이번 달 업로드 트래픽",
|
||||
"newPurchase": "신규 구매",
|
||||
"nodeTraffic": "노드 트래픽",
|
||||
"nodes": "노드",
|
||||
"offlineNodeCount": "오프라인 노드 수",
|
||||
"onlineIPCount": "온라인 IP 수",
|
||||
"onlineNodeCount": "온라인 노드 수",
|
||||
"pendingTickets": "처리 대기 중인 티켓",
|
||||
"register": "등록",
|
||||
"repurchase": "재구매",
|
||||
"revenueTitle": "수입 통계",
|
||||
"selectTypePlaceholder": "유형 선택",
|
||||
"statisticsTitle": "통계",
|
||||
"today": "오늘",
|
||||
"todayDownloadTraffic": "오늘 다운로드 트래픽",
|
||||
"todayUploadTraffic": "오늘 업로드 트래픽",
|
||||
"total": "총계",
|
||||
"totalIncome": "총수입",
|
||||
"trafficRank": "트래픽 순위",
|
||||
"type": "유형",
|
||||
"userTitle": "사용자 통계",
|
||||
"userTraffic": "사용자 트래픽",
|
||||
"users": "사용자",
|
||||
"yesterday": "어제"
|
||||
}
|
||||
@@ -0,0 +1,24 @@
|
||||
{
|
||||
"cs-CZ": "체코어",
|
||||
"de-DE": "독일어",
|
||||
"en-US": "영어",
|
||||
"es-ES": "스페인어",
|
||||
"es-MX": "스페인어(멕시코)",
|
||||
"fi-FI": "핀란드어",
|
||||
"fr-FR": "프랑스어",
|
||||
"hi-IN": "힌디어",
|
||||
"hu-HU": "헝가리어",
|
||||
"ja-JP": "일본어",
|
||||
"ko-KR": "한국어",
|
||||
"no-NO": "노르웨이어",
|
||||
"pl-PL": "폴란드어",
|
||||
"pt-BR": "포르투갈어(브라질)",
|
||||
"ro-RO": "루마니아어",
|
||||
"ru-RU": "러시아어",
|
||||
"th-TH": "태국어",
|
||||
"tr-TR": "터키어",
|
||||
"uk-UA": "우크라이나어",
|
||||
"vi-VN": "베트남어",
|
||||
"zh-CN": "중국어(간체)",
|
||||
"zh-TW": "중국어(번체)"
|
||||
}
|
||||
@@ -0,0 +1,18 @@
|
||||
{
|
||||
"Announcement Management": "공지 관리",
|
||||
"Coupon Management": "쿠폰 관리",
|
||||
"Dashboard": "대시보드",
|
||||
"Document Management": "문서 관리",
|
||||
"Finance": "재무",
|
||||
"Order Management": "주문 관리",
|
||||
"Payment Config": "결제 구성",
|
||||
"Server": "서버",
|
||||
"Server Management": "서버 관리",
|
||||
"Settings": "설정",
|
||||
"Subscribe Management": "구독 관리",
|
||||
"System Config": "시스템 구성",
|
||||
"System Tool": "시스템 도구",
|
||||
"Ticket Management": "티켓 관리",
|
||||
"User": "사용자",
|
||||
"User Management": "사용자 관리"
|
||||
}
|
||||
@@ -0,0 +1,37 @@
|
||||
{
|
||||
"amount": "금액",
|
||||
"couponDiscount": "쿠폰 할인",
|
||||
"discount": "할인 금액",
|
||||
"failed": "실패",
|
||||
"feeAmount": "수수료",
|
||||
"method": "지불 방법",
|
||||
"methods": {
|
||||
"alipay_f2f": "알리페이(대면)",
|
||||
"balance": "잔액",
|
||||
"epay": "이페이",
|
||||
"stripe_alipay": "Stripe(알리페이)",
|
||||
"stripe_wechat_pay": "Stripe(위챗)"
|
||||
},
|
||||
"orderNumber": "주문 번호",
|
||||
"status": {
|
||||
"0": "상태",
|
||||
"1": "결제 대기 중",
|
||||
"2": "결제 완료",
|
||||
"3": "취소됨",
|
||||
"4": "닫힘",
|
||||
"5": "완료됨"
|
||||
},
|
||||
"subscribe": "구독",
|
||||
"subscribePrice": "구독 가격",
|
||||
"total": "총계",
|
||||
"tradeNo": "거래 번호",
|
||||
"type": {
|
||||
"0": "유형",
|
||||
"1": "신규 구매",
|
||||
"2": "갱신",
|
||||
"3": "데이터 초기화",
|
||||
"4": "충전"
|
||||
},
|
||||
"updateTime": "업데이트 시간",
|
||||
"user": "사용자"
|
||||
}
|
||||
@@ -0,0 +1,44 @@
|
||||
{
|
||||
"aliPay": "알리페이 결제",
|
||||
"alipayf2f": {
|
||||
"appId": "알리페이 애플리케이션 ID",
|
||||
"invoiceName": "사용자 정의 제품 이름",
|
||||
"invoiceNameDescription": "알리페이 청구서에 표시됩니다",
|
||||
"privateKey": "알리페이 개인 키",
|
||||
"publicKey": "알리페이 공개 키",
|
||||
"sandbox": "샌드박스 모드",
|
||||
"sandboxDescription": "결제를 테스트하기 위해 샌드박스 모드를 활성화합니다"
|
||||
},
|
||||
"enable": "사용",
|
||||
"enableDescription": "이 결제 수단을 활성화합니다",
|
||||
"epay": {
|
||||
"key": "키",
|
||||
"pid": "PID",
|
||||
"url": "URL"
|
||||
},
|
||||
"feeMode": "요금 방식",
|
||||
"feeModeDescription": "추가 수수료의 부과 방식",
|
||||
"feeModeItems": ["수수료 없음", "백분율", "고정 금액", "이상 두 가지"],
|
||||
"feePercent": "수수료 비율(선택 사항)",
|
||||
"feePercentDescription": "주문 금액에 추가 요금 부과",
|
||||
"fixedFee": "고정 수수료(선택 사항)",
|
||||
"fixedFeeDescription": "주문 금액에 고정 요금 추가",
|
||||
"iconUrl": "아이콘 URL(선택 사항)",
|
||||
"iconUrlDescription": "프론트엔드 표시용",
|
||||
"inputPlaceholder": "입력하세요",
|
||||
"key": "키",
|
||||
"notifyUrl": "사용자 정의 알림 도메인 (선택 사항)",
|
||||
"notifyUrlDescription": "게이트웨이 알림이 이 도메인으로 전송됩니다",
|
||||
"payForRecommendations": "추천에 대한 지불",
|
||||
"pid": "PID",
|
||||
"saveSuccess": "저장 성공",
|
||||
"showName": "이름 표시",
|
||||
"showNameDescription": "프론트엔드 표시용",
|
||||
"stripe": {
|
||||
"publicKey": "공개 키",
|
||||
"secretKey": "비밀 키",
|
||||
"webhookSecret": "웹훅 비밀 서명"
|
||||
},
|
||||
"url": "URL",
|
||||
"wechatPay": "위챗페이"
|
||||
}
|
||||
@@ -0,0 +1,122 @@
|
||||
{
|
||||
"group": {
|
||||
"actions": "작업",
|
||||
"cancel": "취소",
|
||||
"confirm": "확인",
|
||||
"confirmDelete": "삭제하시겠습니까?",
|
||||
"create": "생성",
|
||||
"createNodeGroup": "노드 그룹 생성",
|
||||
"createdSuccessfully": "성공적으로 생성되었습니다",
|
||||
"delete": "삭제",
|
||||
"deleteWarning": "삭제 후 데이터는 복구할 수 없으니 신중히 진행하세요.",
|
||||
"deletedSuccessfully": "성공적으로 삭제되었습니다",
|
||||
"description": "설명",
|
||||
"edit": "편집",
|
||||
"editNodeGroup": "노드 그룹 편집",
|
||||
"form": {
|
||||
"cancel": "취소",
|
||||
"confirm": "확인",
|
||||
"description": "설명",
|
||||
"name": "이름"
|
||||
},
|
||||
"name": "이름",
|
||||
"title": "노드 그룹 목록",
|
||||
"updatedAt": "업데이트 시간"
|
||||
},
|
||||
"node": {
|
||||
"abnormal": "비정상",
|
||||
"actions": "작업",
|
||||
"address": "주소",
|
||||
"all": "전체",
|
||||
"cancel": "취소",
|
||||
"confirm": "확인",
|
||||
"confirmDelete": "삭제하시겠습니까?",
|
||||
"create": "생성",
|
||||
"createNode": "노드 생성",
|
||||
"createSuccess": "생성 성공",
|
||||
"delete": "삭제",
|
||||
"deleteSuccess": "삭제 성공",
|
||||
"deleteWarning": "삭제 후 데이터는 복구할 수 없습니다. 신중히 진행하세요.",
|
||||
"disk": "디스크",
|
||||
"edit": "편집",
|
||||
"editNode": "노드 편집",
|
||||
"enable": "활성화",
|
||||
"form": {
|
||||
"allowInsecure": "비보안 허용",
|
||||
"cancel": "취소",
|
||||
"confirm": "확인",
|
||||
"edit": "편집",
|
||||
"editSecurity": "보안 설정 편집",
|
||||
"enableRelay": "중계 활성화",
|
||||
"enableTLS": "TLS 활성화",
|
||||
"encryptionMethod": "암호화 방법",
|
||||
"flow": "흐름 제어 알고리즘",
|
||||
"hopInterval": "홉 간격",
|
||||
"hopPorts": "홉 포트",
|
||||
"hopPortsPlaceholder": "여러 포트는 쉼표로 구분",
|
||||
"name": "이름",
|
||||
"nodeGroupId": "노드 그룹 ID",
|
||||
"obfsPassword": "난독화 비밀번호",
|
||||
"obfsPasswordPlaceholder": "비워두면 난독화 안 함",
|
||||
"path": "경로",
|
||||
"pleaseSelect": "선택하세요",
|
||||
"port": "서비스 포트",
|
||||
"protocol": "프로토콜",
|
||||
"relayHost": "중계 주소",
|
||||
"relayPort": "중계 포트",
|
||||
"remarks": "비고",
|
||||
"security": "보안",
|
||||
"securityConfig": "보안 설정",
|
||||
"security_config": {
|
||||
"fingerprint": "지문",
|
||||
"privateKey": "개인 키",
|
||||
"privateKeyPlaceholder": "비워두면 자동 생성",
|
||||
"publicKey": "공개 키",
|
||||
"publicKeyPlaceholder": "비워두면 자동 생성",
|
||||
"serverAddress": "서버 주소",
|
||||
"serverAddressPlaceholder": "REALITY 대상 주소, 기본 SNI 사용",
|
||||
"serverName": "서버 이름(SNI)",
|
||||
"serverNamePlaceholder": "REALITY 필수, 백엔드와 일치",
|
||||
"serverPort": "서버 포트",
|
||||
"serverPortPlaceholder": "REALITY 대상 포트, 기본 443",
|
||||
"shortId": "짧은 ID",
|
||||
"shortIdPlaceholder": "비워두면 자동 생성",
|
||||
"sni": "서버 이름 표시(SNI)"
|
||||
},
|
||||
"selectEncryptionMethod": "암호화 방법 선택",
|
||||
"selectNodeGroup": "노드 그룹 선택",
|
||||
"selectProtocol": "프로토콜 선택",
|
||||
"serverAddr": "서버 주소",
|
||||
"serverName": "서비스 이름",
|
||||
"speedLimit": "속도 제한",
|
||||
"speedLimitPlaceholder": "제한 없음",
|
||||
"trafficRatio": "트래픽 비율",
|
||||
"transport": "전송 프로토콜",
|
||||
"transportConfig": "전송 프로토콜 설정",
|
||||
"transportHost": "전송 서비스 주소",
|
||||
"transportPath": "전송 경로",
|
||||
"transportServerName": "전송 서비스 이름"
|
||||
},
|
||||
"lastUpdated": "마지막 업데이트",
|
||||
"memory": "메모리",
|
||||
"name": "이름",
|
||||
"node": "노드",
|
||||
"nodeGroup": "노드 그룹",
|
||||
"normal": "정상",
|
||||
"onlineCount": "온라인 인원",
|
||||
"onlineUsers": "온라인 사용자",
|
||||
"rate": "비율",
|
||||
"relay": "중계",
|
||||
"serverAddr": "서버 주소",
|
||||
"speedLimit": "속도 제한",
|
||||
"status": "상태",
|
||||
"trafficRatio": "트래픽 비율",
|
||||
"type": "유형",
|
||||
"updateSuccess": "업데이트 성공",
|
||||
"updatedAt": "업데이트 시간"
|
||||
},
|
||||
"tabs": {
|
||||
"node": "노드",
|
||||
"nodeGroup": "노드 그룹"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,79 @@
|
||||
{
|
||||
"actions": "작업",
|
||||
"cancel": "취소",
|
||||
"confirm": "확인",
|
||||
"confirmDelete": "삭제하시겠습니까?",
|
||||
"create": "생성",
|
||||
"createSubscribe": "새 구독 생성",
|
||||
"createSuccess": "생성 성공",
|
||||
"delete": "삭제",
|
||||
"deleteSuccess": "삭제 성공",
|
||||
"deleteWarning": "삭제 후 데이터는 복구할 수 없으니 신중하게 진행하세요.",
|
||||
"deviceLimit": "장치 수/대",
|
||||
"edit": "편집",
|
||||
"editSubscribe": "구독 편집",
|
||||
"form": {
|
||||
"cancel": "취소",
|
||||
"confirm": "확인",
|
||||
"description": "설명",
|
||||
"deviceLimit": "기기 제한",
|
||||
"discount": "할인",
|
||||
"discountDescription": "단가 기준으로 할인 설정",
|
||||
"discountMonths": "개월",
|
||||
"discountPercent": "할인율",
|
||||
"discount_price": "할인가",
|
||||
"duration": "기간 (개월)",
|
||||
"inventory": "재고",
|
||||
"name": "이름",
|
||||
"noLimit": "무제한",
|
||||
"quota": "구매 한도",
|
||||
"replacement": "재설정 가격 (매회)",
|
||||
"selectSubscribeGroup": "구독 그룹을 선택하세요",
|
||||
"server": "서버",
|
||||
"serverGroup": "서버 그룹",
|
||||
"speedLimit": "속도 제한 (Mbps)",
|
||||
"subscribeGroup": "구독 그룹",
|
||||
"traffic": "트래픽",
|
||||
"unit_price": "월 단위 가격"
|
||||
},
|
||||
"group": {
|
||||
"actions": "작업",
|
||||
"cancel": "취소",
|
||||
"confirm": "확인",
|
||||
"confirmDelete": "삭제하시겠습니까?",
|
||||
"create": "생성",
|
||||
"createSubscribeGroup": "새 구독 그룹 생성",
|
||||
"createSuccess": "생성 성공",
|
||||
"delete": "삭제",
|
||||
"deleteSuccess": "삭제 성공",
|
||||
"deleteWarning": "삭제 후 데이터는 복구할 수 없습니다. 신중하게 진행하세요.",
|
||||
"description": "설명",
|
||||
"edit": "편집",
|
||||
"editSubscribeGroup": "구독 그룹 편집",
|
||||
"form": {
|
||||
"cancel": "취소",
|
||||
"confirm": "확인",
|
||||
"description": "설명",
|
||||
"name": "이름"
|
||||
},
|
||||
"name": "이름",
|
||||
"title": "구독 그룹 목록",
|
||||
"updateSuccess": "업데이트 성공",
|
||||
"updatedAt": "업데이트 시간"
|
||||
},
|
||||
"inventory": "재고",
|
||||
"name": "이름",
|
||||
"quota": "구매 제한/회",
|
||||
"replacement": "가격 재설정/회",
|
||||
"sell": "판매",
|
||||
"show": "홈 화면 표시",
|
||||
"subscribe": "구독",
|
||||
"subscribeGroup": "구독 그룹",
|
||||
"tabs": {
|
||||
"subscribe": "구독",
|
||||
"subscribeGroup": "구독 그룹"
|
||||
},
|
||||
"traffic": "트래픽",
|
||||
"unitPrice": "가격/월",
|
||||
"updateSuccess": "업데이트 성공"
|
||||
}
|
||||
@@ -0,0 +1,156 @@
|
||||
{
|
||||
"currency": {
|
||||
"accessKey": "액세스 키",
|
||||
"accessKeyDescription": "https://exchangerate.host에서 무료로 제공하는 환율 API 키",
|
||||
"currencySymbol": "통화 기호",
|
||||
"currencySymbolDescription": "표시용으로만 사용되며, 변경 시 시스템 내 모든 통화 단위가 변경됩니다",
|
||||
"currencyUnit": "통화 단위",
|
||||
"currencyUnitDescription": "표시용으로만 사용되며, 변경 시 시스템 내 모든 통화 단위가 변경됩니다",
|
||||
"saveSuccess": "저장 성공"
|
||||
},
|
||||
"email": {
|
||||
"expiration_email_template": "만료 알림 템플릿",
|
||||
"expiration_email_templateDescription": "템플릿의 {after}.변수명{before}은 실제 데이터로 대체됩니다. 이 변수를 반드시 유지하세요.",
|
||||
"inputPlaceholder": "내용을 입력하세요...",
|
||||
"maintenance_email_template": "유지보수 알림 템플릿",
|
||||
"maintenance_email_templateDescription": "템플릿의 {after}.변수명{before}은 실제 데이터로 대체됩니다. 이 변수를 반드시 유지하세요.",
|
||||
"saveSuccess": "구성이 성공적으로 저장되었습니다.",
|
||||
"sendFailure": "테스트 이메일 전송에 실패했습니다. 구성을 확인하세요.",
|
||||
"sendSuccess": "테스트 이메일이 성공적으로 전송되었습니다.",
|
||||
"sendTestEmail": "테스트 이메일 전송",
|
||||
"sendTestEmailDescription": "구성이 올바른지 확인하기 위해 테스트 이메일을 전송합니다.",
|
||||
"senderAddress": "발신자 주소",
|
||||
"senderAddressDescription": "기본적으로 이메일을 보내는 데 사용되는 이메일 주소입니다.",
|
||||
"smtpAccount": "SMTP 계정",
|
||||
"smtpAccountDescription": "인증에 사용되는 이메일 계정입니다.",
|
||||
"smtpEncryptionMethod": "SMTP 암호화 방식",
|
||||
"smtpEncryptionMethodDescription": "SSL/TLS 암호화 사용 여부를 선택하세요.",
|
||||
"smtpPassword": "SMTP 비밀번호",
|
||||
"smtpPasswordDescription": "이 SMTP 계정의 비밀번호입니다.",
|
||||
"smtpServerAddress": "SMTP 서버 주소",
|
||||
"smtpServerAddressDescription": "이메일 전송에 사용되는 서버 주소를 지정합니다.",
|
||||
"smtpServerPort": "SMTP 서버 포트",
|
||||
"smtpServerPortDescription": "SMTP 서버에 연결하는 데 사용되는 포트 번호를 지정합니다.",
|
||||
"verify_email_template": "인증 이메일 템플릿",
|
||||
"verify_email_templateDescription": "템플릿의 {after}.변수명{before}은 실제 데이터로 대체됩니다. 이 변수를 반드시 유지하세요."
|
||||
},
|
||||
"invite": {
|
||||
"commissionFirstTimeOnly": "최초 구매 시에만 커미션",
|
||||
"commissionFirstTimeOnlyDescription": "활성화하면, 초대받은 사람이 최초 결제 시에만 커미션이 생성됩니다. 사용자 관리에서 개별 사용자를 구성할 수 있습니다.",
|
||||
"enableForcedInvite": "강제 초대 활성화",
|
||||
"enableForcedInviteDescription": "활성화하면, 초대받은 사용자만 등록할 수 있습니다.",
|
||||
"inputPlaceholder": "입력하세요",
|
||||
"inviteCommissionPercentage": "초대 커미션 비율",
|
||||
"inviteCommissionPercentageDescription": "기본 전역 커미션 배분 비율입니다. 사용자 관리에서 개별 비율을 구성할 수 있습니다.",
|
||||
"saveSuccess": "저장 성공"
|
||||
},
|
||||
"node": {
|
||||
"communicationKey": "통신 키",
|
||||
"communicationKeyDescription": "데이터가 다른 사람에게 가로채이지 않도록 보장하는 노드 통신 키",
|
||||
"inputPlaceholder": "입력하세요",
|
||||
"nodePullInterval": "노드 가져오기 간격",
|
||||
"nodePullIntervalDescription": "노드가 패널에서 데이터를 가져오는 빈도(초)",
|
||||
"nodePushInterval": "노드 푸시 간격",
|
||||
"nodePushIntervalDescription": "노드가 데이터를 패널로 푸시하는 빈도",
|
||||
"saveSuccess": "저장 성공"
|
||||
},
|
||||
"register": {
|
||||
"emailSuffixWhitelist": "이메일 접미사 화이트리스트",
|
||||
"emailSuffixWhitelistDescription": "활성화하면, 목록에 있는 접미사의 이메일만 등록할 수 있습니다.",
|
||||
"emailVerification": "이메일 인증",
|
||||
"emailVerificationDescription": "활성화하면, 사용자는 이메일을 인증해야 합니다.",
|
||||
"ipRegistrationLimit": "IP 등록 제한",
|
||||
"ipRegistrationLimitDescription": "활성화하면, 규칙에 맞는 IP는 등록이 제한됩니다. CDN 또는 프론트엔드 프록시로 인해 IP 확인에 문제가 발생할 수 있습니다.",
|
||||
"penaltyTime": "처벌 시간 (분)",
|
||||
"penaltyTimeDescription": "사용자는 처벌 시간이 지나야 다시 등록할 수 있습니다.",
|
||||
"registrationLimitCount": "등록 제한 횟수",
|
||||
"registrationLimitCountDescription": "등록 제한에 도달하면 처벌이 활성화됩니다.",
|
||||
"saveSuccess": "저장 성공",
|
||||
"stopNewUserRegistration": "신규 사용자 등록 중지",
|
||||
"stopNewUserRegistrationDescription": "활성화하면, 아무도 등록할 수 없습니다.",
|
||||
"trialRegistration": "체험 등록",
|
||||
"trialRegistrationDescription": "체험 등록을 활성화하려면, 먼저 체험 패키지와 기간을 수정하세요.",
|
||||
"whitelistSuffixes": "화이트리스트 접미사",
|
||||
"whitelistSuffixesDescription": "이메일 인증 등록에 사용됩니다. 한 줄에 하나씩 입력하세요.",
|
||||
"whitelistSuffixesPlaceholder": "이메일 접미사를 입력하세요. 한 줄에 하나씩"
|
||||
},
|
||||
"site": {
|
||||
"logo": "LOGO",
|
||||
"logoDescription": "LOGO를 표시해야 하는 위치에 사용됩니다",
|
||||
"logoPlaceholder": "LOGO의 URL 주소를 입력하세요. '/'로 끝나지 않도록 하세요",
|
||||
"saveSuccess": "저장 성공",
|
||||
"siteDesc": "사이트 설명",
|
||||
"siteDescDescription": "사이트 설명을 표시해야 하는 위치에 사용됩니다",
|
||||
"siteDescPlaceholder": "사이트 설명을 입력하세요",
|
||||
"siteDomain": "사이트 도메인",
|
||||
"siteDomainDescription": "현재 웹사이트의 도메인 주소로, 예를 들어 이메일에 사용됩니다",
|
||||
"siteDomainPlaceholder": "도메인 주소를 입력하세요. 여러 도메인은 각 줄에 하나씩 입력하세요",
|
||||
"siteName": "사이트 이름",
|
||||
"siteNameDescription": "사이트 이름을 표시해야 하는 위치에 사용됩니다",
|
||||
"siteNamePlaceholder": "사이트 이름을 입력하세요"
|
||||
},
|
||||
"subscription": {
|
||||
"add": "추가",
|
||||
"app": "앱",
|
||||
"appDescription": "앱의 다운로드 주소와 가져오기 규칙을 구성합니다. 수정 후 저장하는 것을 잊지 마세요.",
|
||||
"appDownloadURL": "앱 다운로드 주소",
|
||||
"appIcon": "앱 아이콘",
|
||||
"appName": "앱 이름",
|
||||
"delete": "삭제",
|
||||
"reset": "재설정",
|
||||
"save": "저장",
|
||||
"saveSuccess": "저장 성공",
|
||||
"singleSubscriptionMode": "단일 구독 모드",
|
||||
"singleSubscriptionModeDescription": "활성화하면 모든 사용자의 패키지가 잔액으로 전환됩니다.",
|
||||
"subscriptionDomain": "구독 도메인",
|
||||
"subscriptionDomainDescription": "구독에 사용됩니다. 비워두면 사이트 도메인을 사용합니다.",
|
||||
"subscriptionDomainPlaceholder": "구독 도메인을 입력하세요. 여러 도메인은 각 줄에 하나씩 입력하세요.",
|
||||
"subscriptionPath": "구독 경로",
|
||||
"subscriptionPathDescription": "구독에 사용됩니다. 수정 후 최상의 성능을 위해 시스템을 반드시 재시작하세요.",
|
||||
"subscriptionPathPlaceholder": "입력하세요",
|
||||
"subscriptionProtocol": "구독 프로토콜",
|
||||
"wildcardResolution": "와일드카드 해석",
|
||||
"wildcardResolutionDescription": "구독에 사용됩니다."
|
||||
},
|
||||
"tabs": {
|
||||
"currency": "통화",
|
||||
"email": "이메일",
|
||||
"invite": "초대",
|
||||
"node": "노드",
|
||||
"register": "등록",
|
||||
"site": "사이트",
|
||||
"subscription": "구독",
|
||||
"telegram": "텔레그램",
|
||||
"tos": "서비스 약관",
|
||||
"verify": "검증"
|
||||
},
|
||||
"telegram": {
|
||||
"botToken": "봇 토큰",
|
||||
"botTokenDescription": "Botfather가 제공한 토큰을 입력하세요",
|
||||
"enableBotNotifications": "봇 알림 활성화",
|
||||
"enableBotNotificationsDescription": "활성화하면, 봇이 Telegram에 연결된 관리자와 사용자에게 기본 알림을 보냅니다",
|
||||
"groupURL": "그룹 URL",
|
||||
"groupURLDescription": "입력하면 사용자 인터페이스에 표시되거나 필요한 위치에 사용됩니다",
|
||||
"inputPlaceholderBotToken": "0000000000:xxxxxxxxx_xxxxxxxxxxxxxxx",
|
||||
"inputPlaceholderGroupURL": "https://t.me/xxxxxx",
|
||||
"saveSuccess": "저장 성공"
|
||||
},
|
||||
"tos": {
|
||||
"saveSuccess": "저장 성공",
|
||||
"title": "서비스 약관"
|
||||
},
|
||||
"verify": {
|
||||
"inputPlaceholder": "입력하세요",
|
||||
"loginVerificationCode": "로그인 인증 코드",
|
||||
"loginVerificationCodeDescription": "로그인 시의 인간 확인",
|
||||
"registrationVerificationCode": "등록 인증 코드",
|
||||
"registrationVerificationCodeDescription": "등록 시의 인간 확인",
|
||||
"resetPasswordVerificationCode": "비밀번호 재설정 인증 코드",
|
||||
"resetPasswordVerificationCodeDescription": "비밀번호 재설정 시의 인간 확인",
|
||||
"saveSuccess": "저장 성공",
|
||||
"turnstileSecret": "Turnstile 비밀키",
|
||||
"turnstileSecretDescription": "Cloudflare에서 제공하는 Turnstile 비밀키",
|
||||
"turnstileSiteKey": "Turnstile 사이트 키",
|
||||
"turnstileSiteKeyDescription": "Cloudflare에서 제공하는 Turnstile 사이트 키"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,19 @@
|
||||
{
|
||||
"actions": "작업",
|
||||
"cancel": "취소",
|
||||
"check": "확인",
|
||||
"close": "닫기",
|
||||
"closeSuccess": "닫기 성공",
|
||||
"closeWarning": "일단 닫으면 이 작업 티켓을 조작할 수 없습니다. 신중하게 처리하세요.",
|
||||
"confirm": "확인",
|
||||
"confirmClose": "닫으시겠습니까?",
|
||||
"createdAt": "생성 시간",
|
||||
"inputPlaceholder": "질문을 입력해 주시면 최대한 빨리 답변드리겠습니다.",
|
||||
"open": "열기",
|
||||
"reply": "답장",
|
||||
"status": ["상태", "추적 대기", "답변 대기", "처리 완료", "닫힘"],
|
||||
"ticketList": "티켓 목록",
|
||||
"title": "제목",
|
||||
"updatedAt": "업데이트 시간",
|
||||
"user": "사용자"
|
||||
}
|
||||
@@ -0,0 +1,26 @@
|
||||
{
|
||||
"caller": "발신자",
|
||||
"cancel": "취소",
|
||||
"confirmReboot": "재부팅 확인",
|
||||
"confirmSystemReboot": "시스템 재부팅 확인",
|
||||
"confirmSystemUpgrade": "시스템 업그레이드를 확인",
|
||||
"confirmUpgrade": "업그레이드 확인",
|
||||
"currentVersion": "현재 시스템 버전:",
|
||||
"errors": "오류",
|
||||
"ip": "IP",
|
||||
"lastUpdated": "마지막 업데이트:",
|
||||
"none": "없음",
|
||||
"query": "쿼리",
|
||||
"rebootDescription": "시스템을 재부팅하시겠습니까? 이 작업은 일시적인 서비스 중단을 초래할 수 있습니다.",
|
||||
"rebooting": "시스템을 재부팅 중입니다...",
|
||||
"refreshLogs": "로그 새로고침",
|
||||
"request": "요청",
|
||||
"status": "상태",
|
||||
"systemLogs": "시스템 로그",
|
||||
"systemReboot": "시스템 재부팅",
|
||||
"systemServices": "시스템 서비스",
|
||||
"systemUpgrade": "시스템 업그레이드",
|
||||
"upgradeDescription": "시스템 업그레이드를 수행하시겠습니까? 이 작업은 몇 분이 소요될 수 있으며, 그 동안 시스템이 응답하지 않을 수 있습니다.",
|
||||
"userAgent": "사용자 에이전트",
|
||||
"viewLogsAndManage": "시스템 로그를 보고 시스템 업그레이드 및 재시작 작업을 수행합니다"
|
||||
}
|
||||
@@ -0,0 +1,38 @@
|
||||
{
|
||||
"actions": "작업",
|
||||
"balance": "잔액",
|
||||
"cancel": "취소",
|
||||
"confirm": "확인",
|
||||
"confirmDelete": "삭제하시겠습니까?",
|
||||
"create": "생성",
|
||||
"createSuccess": "생성 성공",
|
||||
"createUser": "사용자 생성",
|
||||
"createdAt": "가입 시간",
|
||||
"delete": "삭제",
|
||||
"deleteDescription": "삭제 후 데이터는 복구할 수 없으니 신중하게 진행하세요.",
|
||||
"deleteSuccess": "삭제 성공",
|
||||
"edit": "편집",
|
||||
"editUser": "사용자 편집",
|
||||
"email": "이메일",
|
||||
"enable": "사용",
|
||||
"form": {
|
||||
"balance": "잔액",
|
||||
"balancePlaceholder": "잔액",
|
||||
"cancel": "취소",
|
||||
"confirm": "확인",
|
||||
"invalidEmailFormat": "유효하지 않은 이메일 형식",
|
||||
"inviteCode": "초대 코드",
|
||||
"inviteCodePlaceholder": "초대 코드를 입력하세요 (비워두면 자동 생성)",
|
||||
"manager": "관리자",
|
||||
"password": "비밀번호",
|
||||
"passwordPlaceholder": "새 비밀번호를 입력하세요 (비워둘 수 있음)",
|
||||
"refererId": "추천인 ID",
|
||||
"refererIdPlaceholder": "추천인 ID를 입력하세요",
|
||||
"userEmail": "사용자 이메일",
|
||||
"userEmailPlaceholder": "사용자 이메일을 입력하세요"
|
||||
},
|
||||
"referer": "추천인",
|
||||
"updateSuccess": "업데이트 성공",
|
||||
"userList": "사용자 목록",
|
||||
"userName": "사용자 이메일"
|
||||
}
|
||||
Reference in New Issue
Block a user