♻️ refactor(view): System and Auth Control

This commit is contained in:
web
2025-08-04 08:58:57 -07:00
committed by speakeloudest
parent 9ba3ec40d6
commit 97aa24ba8e
333 changed files with 13905 additions and 9399 deletions
-16
View File
@@ -1,16 +0,0 @@
{
"clientId": "서비스 ID",
"clientIdDescription": "Apple 서비스 ID, Apple 개발자 포털에서 얻을 수 있습니다",
"clientSecret": "비밀 키",
"clientSecretDescription": "Apple과의 인증에 사용되는 비공개 키 내용(.p8 파일)",
"enable": "활성화",
"enableDescription": "활성화 후 사용자는 Apple ID로 로그인할 수 있습니다",
"keyId": "키 ID",
"keyIdDescription": "Apple 개발자 포털에서의 개인 키 ID",
"redirectUri": "리다이렉트 URL",
"redirectUriDescription": "Apple 인증을 성공적으로 통과한 후 리디렉션된 URL의 API 주소를 입력해 주세요. 끝에 /를 사용하지 마세요.",
"saveFailed": "저장 실패",
"saveSuccess": "저장 성공",
"teamId": "팀 ID",
"teamIdDescription": "Apple 개발자 팀 ID"
}
+188 -56
View File
@@ -1,14 +1,149 @@
{
"invite": {
"commissionFirstTimeOnly": "첫 구매에 대한 수수료만",
"commissionFirstTimeOnlyDescription": "활성화 시, 초대자의 첫 결제에서만 수수료가 발생합니다; 사용자 관리에서 개별 사용자를 구성할 수 있습니다.",
"enableForcedInvite": "강제 초대 활성화",
"enableForcedInviteDescription": "활성화 시, 초대된 사용자만 등록할 수 있습니다.",
"inputPlaceholder": "입력",
"inviteCommissionPercentage": "초대 수수료 비율",
"inviteCommissionPercentageDescription": "기본 글로벌 수수료 분배 비율; 사용자 관리에서 개별 비율을 구성할 수 있습니다.",
"inviteSettings": "초대 설정",
"saveSuccess": "저장 성공"
"apple": {
"clientId": "서비스 ID",
"clientIdDescription": "Apple 서비스 ID, Apple 개발자 포털에서 얻을 수 있습니다",
"clientSecret": "비밀 키",
"clientSecretDescription": "Apple과의 인증에 사용되는 비공개 키 내용(.p8 파일)",
"description": "애플 계정으로 사용자 인증",
"enable": "활성화",
"enableDescription": "활성화 후 사용자는 Apple ID로 로그인할 수 있습니다",
"keyId": "키 ID",
"keyIdDescription": "Apple 개발자 포털에서의 개인 키 ID",
"redirectUri": "리다이렉트 URL",
"redirectUriDescription": "Apple 인증을 성공적으로 통과한 후 리디렉션된 URL의 API 주소를 입력해 주세요. 끝에 /를 사용하지 마세요.",
"teamId": "팀 ID",
"teamIdDescription": "Apple 개발자 팀 ID",
"title": "애플 로그인"
},
"common": {
"cancel": "취소",
"save": "저장",
"saveFailed": "저장에 실패했습니다",
"saveSuccess": "성공적으로 저장되었습니다"
},
"communicationMethods": "Communication Methods",
"device": {
"blockVirtualMachine": "가상 머신 차단",
"blockVirtualMachineDescription": "활성화되면, 장치가 가상 머신이나 에뮬레이터에서 실행되는 것을 방지합니다.",
"communicationKey": "통신 키",
"communicationKeyDescription": "통신 키는 장치와 서버 간의 안전한 통신을 위해 사용됩니다.",
"description": "장치 식별자로 사용자 인증",
"enable": "활성화",
"enableDescription": "활성화 후 IMEI/IDFA/IDFV/AndroidID/Mac 주소와 같은 여러 장치 식별자를 사용하여 로그인 및 등록할 수 있습니다.",
"enableSecurity": "통신 암호화 활성화",
"enableSecurityDescription": "활성화되면, 장치와 서버 간의 통신이 암호화됩니다.",
"showAds": "광고 표시",
"showAdsDescription": "활성화되면, 장치에 광고가 표시됩니다.",
"title": "장치 인증"
},
"deviceAuthMethods": "Device Authentication Methods",
"email": {
"basicSettings": "기본 설정",
"description": "이메일 주소로 사용자 인증",
"emailSuffixWhitelist": "이메일 접미사 허용 목록",
"emailSuffixWhitelistDescription": "활성화되면, 목록에 있는 접미사를 가진 이메일만 등록할 수 있습니다.",
"emailVerification": "이메일 인증",
"emailVerificationDescription": "활성화되면 사용자는 이메일을 인증해야 합니다",
"enable": "사용",
"enableDescription": "활성화하면 이메일 등록, 로그인, 바인딩 및 바인딩 해제 기능이 활성화됩니다.",
"expirationEmailTemplate": "만료 통지 템플릿",
"expirationTemplate": "만료 통지",
"inputPlaceholder": "값을 입력하세요...",
"logs": "로그",
"logsDescription": "전송된 이메일의 이력 및 상태 보기",
"maintenanceEmailTemplate": "유지보수 통지 템플릿",
"maintenanceTemplate": "유지보수 통지",
"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 서버에 연결하는 데 사용되는 포트를 지정하십시오.",
"smtpSettings": "SMTP 설정",
"templateVariables": {
"code": {
"description": "6자리 인증 코드",
"title": "인증 코드"
},
"expire": {
"description": "인증 코드 유효 시간(분)",
"title": "유효 기간"
},
"expireDate": {
"description": "서비스 만료 날짜, 서비스 만료 시 사용자에게 알림",
"title": "만료 날짜"
},
"maintenanceDate": {
"description": "시스템 유지보수 날짜, 유지보수 시작 날짜 표시",
"title": "유지보수 날짜"
},
"maintenanceTime": {
"description": "예상 유지보수 시간, 유지보수 시간 또는 기간 표시",
"title": "유지보수 기간"
},
"siteLogo": {
"description": "웹사이트 로고 이미지 URL",
"title": "사이트 로고"
},
"siteName": {
"description": "현재 웹사이트 이름",
"title": "사이트 이름"
},
"title": "이메일 템플릿 변수",
"type": {
"conditionalSyntax": "유형에 따라 내용을 전환하는 조건부 구문 지원",
"description": "이메일 유형 식별자, 1은 등록 인증 코드, 기타는 비밀번호 재설정 인증 코드",
"title": "이메일 유형"
}
},
"title": "이메일 인증",
"trafficExceedEmailTemplate": "트래픽 한도 통지 템플릿",
"trafficTemplate": "트래픽 한도",
"verifyEmailTemplate": "인증 이메일 템플릿",
"verifyTemplate": "인증 이메일",
"whitelistSuffixes": "허용 목록 접미사",
"whitelistSuffixesDescription": "등록 시 이메일 확인에 사용됩니다. 한 줄에 하나씩 입력하세요.",
"whitelistSuffixesPlaceholder": "이메일 접미사를 입력하세요. 한 줄에 하나씩"
},
"facebook": {
"clientId": "클라이언트 ID",
"clientIdDescription": "Facebook 개발자 콘솔에서 제공하는 Facebook 앱 ID",
"clientSecret": "클라이언트 비밀",
"clientSecretDescription": "Facebook 개발자 콘솔에서 가져온 Facebook 앱 비밀키",
"description": "페이스북 계정으로 사용자 인증",
"enable": "활성화",
"enableDescription": "활성화 후 사용자는 Facebook 계정으로 로그인할 수 있습니다",
"title": "페이스북 로그인"
},
"github": {
"clientId": "GitHub 클라이언트 ID",
"clientIdDescription": "GitHub OAuth 애플리케이션 설정에서의 클라이언트 ID",
"clientSecret": "GitHub 클라이언트 비밀",
"clientSecretDescription": "GitHub OAuth 애플리케이션 설정에서 가져온 클라이언트 비밀",
"description": "깃허브 계정으로 사용자 인증",
"enable": "GitHub 인증 활성화",
"enableDescription": "사용자가 GitHub 계정으로 로그인할 수 있도록 허용",
"title": "깃허브 로그인"
},
"google": {
"clientId": "클라이언트 ID",
"clientIdDescription": "Google Cloud Console에서 가져온 Google OAuth 2.0 클라이언트 ID",
"clientSecret": "클라이언트 비밀",
"clientSecretDescription": "Google Cloud Console에서 가져온 Google OAuth 2.0 클라이언트 비밀",
"description": "구글 계정으로 사용자 인증",
"enable": "활성화",
"enableDescription": "활성화 후 사용자는 Google 계정으로 로그인할 수 있습니다",
"title": "구글 로그인"
},
"log": {
"content": "내용",
@@ -23,52 +158,49 @@
"to": "수신자",
"updatedAt": "수정일"
},
"register": {
"day": "",
"hour": "시간",
"ipRegistrationLimit": "IP 등록 제한",
"ipRegistrationLimitDescription": "활성화 시, 규칙 요구 사항을 충족하는 IP는 등록이 제한됩니다; CDN 또는 프론트엔드 프록시로 인해 IP 결정에 문제가 발생할 수 있습니다.",
"minute": "분",
"month": "",
"noLimit": "제한 없음",
"penaltyTime": "패널티 시간(분)",
"penaltyTimeDescription": "사용자는 다시 등록하기 전에 패널티 시간이 만료될 때까지 기다려야 합니다.",
"registerSettings": "등록 설정",
"registrationLimitCount": "등록 제한 수",
"registrationLimitCountDescription": "등록 제한에 도달하면 패널티를 활성화합니다.",
"saveSuccess": "저장 성공",
"stopNewUserRegistration": "신규 사용자 등록 중지",
"stopNewUserRegistrationDescription": "활성화 시, 누구도 등록할 수 없습니다.",
"trialDuration": "체험 기간",
"trialRegistration": "체험 등록",
"trialRegistrationDescription": "체험 등록을 활성화합니다; 먼저 체험 패키지와 기간을 수정하세요.",
"trialSubscribePlan": "체험 구독 계획",
"trialSubscribePlanDescription": "체험 구독 계획 선택",
"year": "년"
"phone": {
"accessLabel": "접근",
"applyPlatform": "플랫폼 적용",
"description": "전화번호로 사용자 인증",
"enable": "활성화",
"enableTip": "활성화 후, 휴대폰 등록, 로그인, 연결 및 연결 해제 기능이 활성화됩니다",
"endpointLabel": "엔드포인트",
"logs": "로그",
"logsDescription": "전송된 SMS 메시지의 이력 및 상태 보기",
"phoneNumberLabel": "전화번호",
"placeholders": {
"template": "귀하의 인증 코드는 {code}이며, 5분 동안 유효합니다"
},
"platform": "SMS 플랫폼",
"platformConfigTip": "제공된 {key} 설정을 입력해 주세요",
"platformTip": "SMS 플랫폼을 선택하세요",
"secretLabel": "비밀",
"sendFailed": "전송 실패",
"sendSuccess": "전송 성공",
"settings": "설정",
"signNameLabel": "서명 이름",
"template": "SMS 템플릿",
"templateCodeLabel": "템플릿 코드",
"templateTip": "SMS 템플릿을 작성해 주세요. 중간에 {code}를 유지해야 SMS 기능이 작동합니다.",
"testSms": "테스트 SMS 보내기",
"testSmsPhone": "전화번호를 입력하세요",
"testSmsTip": "구성을 확인하기 위해 테스트 SMS를 전송하세요",
"title": "전화 인증",
"updateSuccess": "업데이트 성공",
"whitelistAreaCode": "허용된 지역 코드",
"whitelistAreaCodeTip": "허용된 지역 코드를 입력하세요. 예: 1, 852, 886, 888",
"whitelistValidation": "허용 목록 검증",
"whitelistValidationTip": "활성화되면, 허용 목록에 있는 지역 코드만 SMS를 보낼 수 있습니다."
},
"verify": {
"inputPlaceholder": "입력",
"loginVerificationCode": "로그인 검증 코드",
"loginVerificationCodeDescription": "로그인 시 인간 검증",
"registrationVerificationCode": "등록 검증 코드",
"registrationVerificationCodeDescription": "등록 시 인간 검증",
"resetPasswordVerificationCode": "비밀번호 재설정 검증 코드",
"resetPasswordVerificationCodeDescription": "비밀번호 재설정 시 인간 검증",
"saveSuccess": "저장 성공",
"turnstileSecretDescription": "Cloudflare에서 제공하는 턴스타일 비밀 키",
"turnstileSiteKeyDescription": "Cloudflare에서 제공하는 턴스타일 사이트 키",
"verifySettings": "검증 설정"
},
"verify-code": {
"dailyLimit": "일일 한도",
"dailyLimitDescription": "하루에 보낼 수 있는 인증 코드의 최대 수",
"expireTime": "만료 시간",
"expireTimeDescription": "인증 코드 만료 시간(초)",
"interval": "전송 간격",
"intervalDescription": "인증 코드 전송 간의 최소 간격(초)",
"saveSuccess": "저장 성공",
"second": "초",
"times": "회",
"verifyCodeSettings": "인증 코드 설정"
"socialAuthMethods": "Social Authentication Methods",
"telegram": {
"clientId": "봇 ID",
"clientIdDescription": "텔레그램 봇 ID, @BotFather에서 얻을 수 있습니다.",
"clientSecret": "봇 토큰",
"clientSecretDescription": "텔레그램 봇 토큰, @BotFather에서 받을 수 있습니다.",
"description": "텔레그램 계정으로 사용자 인증",
"enable": "사용",
"enableDescription": "활성화 후, 휴대폰 등록, 로그인, 연결 및 연결 해제 기능이 활성화됩니다",
"title": "텔레그램 로그인"
}
}
-14
View File
@@ -1,14 +0,0 @@
{
"blockVirtualMachine": "가상 머신 차단",
"blockVirtualMachineDescription": "활성화되면, 장치가 가상 머신이나 에뮬레이터에서 실행되는 것을 방지합니다.",
"communicationKey": "통신 키",
"communicationKeyDescription": "통신 키는 장치와 서버 간의 안전한 통신을 위해 사용됩니다.",
"enable": "활성화",
"enableDescription": "활성화 후 IMEI/IDFA/IDFV/AndroidID/Mac 주소와 같은 여러 장치 식별자를 사용하여 로그인 및 등록할 수 있습니다.",
"enableSecurity": "통신 암호화 활성화",
"enableSecurityDescription": "활성화되면, 장치와 서버 간의 통신이 암호화됩니다.",
"saveFailed": "저장 실패",
"saveSuccess": "저장 성공",
"showAds": "광고 표시",
"showAdsDescription": "활성화되면, 장치에 광고가 표시됩니다."
}
-49
View File
@@ -1,49 +0,0 @@
{
"emailBasicConfigDescription": "SMTP 서버 설정 및 이메일 인증 옵션을 구성합니다",
"emailLogsDescription": "보낸 이메일의 기록과 상태를 확인하세요",
"emailSuffixWhitelist": "이메일 접미사 허용 목록",
"emailSuffixWhitelistDescription": "활성화되면, 목록에 있는 접미사를 가진 이메일만 등록할 수 있습니다.",
"emailVerification": "이메일 인증",
"emailVerificationDescription": "활성화되면 사용자는 이메일을 인증해야 합니다",
"enable": "사용",
"enableDescription": "활성화하면 이메일 등록, 로그인, 바인딩 및 바인딩 해제 기능이 활성화됩니다.",
"expiration_email_template": "만료 알림 템플릿",
"expiration_email_templateDescription": "{after}.variable{before} 자리표시는 실제 데이터로 대체됩니다. 이 변수를 반드시 유지하십시오.",
"failed": "실패",
"inputPlaceholder": "값을 입력하세요...",
"logs": "로그",
"maintenance_email_template": "유지보수 공지 템플릿",
"maintenance_email_templateDescription": "{after}.variable{before} 자리표시자는 실제 데이터로 대체됩니다. 이 변수를 반드시 유지하십시오.",
"recipient": "수신자",
"saveFailed": "구성 저장에 실패했습니다",
"saveSuccess": "구성이 성공적으로 저장되었습니다.",
"sendFailure": "테스트 이메일 전송에 실패했습니다. 설정을 확인해 주세요.",
"sendSuccess": "테스트 이메일이 성공적으로 전송되었습니다.",
"sendTestEmail": "테스트 이메일 보내기",
"sendTestEmailDescription": "구성을 확인하기 위해 테스트 이메일을 보냅니다.",
"senderAddress": "발신자 주소",
"senderAddressDescription": "이메일을 보낼 때 사용하는 기본 이메일 주소입니다.",
"sent": "보냄",
"sentAt": "보낸 시간",
"settings": "설정",
"smtpAccount": "SMTP 계정",
"smtpAccountDescription": "인증에 사용되는 이메일 계정입니다.",
"smtpEncryptionMethod": "SMTP 암호화 방법",
"smtpEncryptionMethodDescription": "SSL/TLS 암호화를 활성화할지 선택하세요.",
"smtpPassword": "SMTP 비밀번호",
"smtpPasswordDescription": "SMTP 계정의 비밀번호입니다.",
"smtpServerAddress": "SMTP 서버 주소",
"smtpServerAddressDescription": "이메일 전송에 사용되는 서버 주소를 지정하세요.",
"smtpServerPort": "SMTP 서버 포트",
"smtpServerPortDescription": "SMTP 서버에 연결하는 데 사용되는 포트를 지정하십시오.",
"status": "상태",
"subject": "제목",
"template": "템플릿",
"traffic_exceed_email_template": "트래픽 초과 알림 템플릿",
"traffic_exceed_email_templateDescription": "{after}.variable{before} 자리표시는 실제 데이터로 대체됩니다. 이러한 변수를 유지해야 합니다.",
"verify_email_template": "이메일 인증 템플릿",
"verify_email_templateDescription": "{after}.variable{before} 자리표시는 실제 데이터로 대체됩니다. 이 변수를 반드시 유지하십시오.",
"whitelistSuffixes": "허용 목록 접미사",
"whitelistSuffixesDescription": "등록 시 이메일 확인에 사용됩니다. 한 줄에 하나씩 입력하세요.",
"whitelistSuffixesPlaceholder": "이메일 접미사를 입력하세요. 한 줄에 하나씩"
}
-10
View File
@@ -1,10 +0,0 @@
{
"clientId": "클라이언트 ID",
"clientIdDescription": "Facebook 개발자 콘솔에서 제공하는 Facebook 앱 ID",
"clientSecret": "클라이언트 비밀",
"clientSecretDescription": "Facebook 개발자 콘솔에서 가져온 Facebook 앱 비밀키",
"enable": "활성화",
"enableDescription": "활성화 후 사용자는 Facebook 계정으로 로그인할 수 있습니다",
"saveFailed": "저장 실패",
"saveSuccess": "저장 성공"
}
-10
View File
@@ -1,10 +0,0 @@
{
"clientId": "GitHub 클라이언트 ID",
"clientIdDescription": "GitHub OAuth 애플리케이션 설정에서의 클라이언트 ID",
"clientSecret": "GitHub 클라이언트 비밀",
"clientSecretDescription": "GitHub OAuth 애플리케이션 설정에서 가져온 클라이언트 비밀",
"enable": "GitHub 인증 활성화",
"enableDescription": "사용자가 GitHub 계정으로 로그인할 수 있도록 허용",
"saveFailed": "GitHub 설정 저장에 실패했습니다",
"saveSuccess": "GitHub 설정이 성공적으로 저장되었습니다"
}
-10
View File
@@ -1,10 +0,0 @@
{
"clientId": "클라이언트 ID",
"clientIdDescription": "Google Cloud Console에서 가져온 Google OAuth 2.0 클라이언트 ID",
"clientSecret": "클라이언트 비밀",
"clientSecretDescription": "Google Cloud Console에서 가져온 Google OAuth 2.0 클라이언트 비밀",
"enable": "활성화",
"enableDescription": "활성화 후 사용자는 Google 계정으로 로그인할 수 있습니다",
"saveFailed": "저장 실패",
"saveSuccess": "저장 성공"
}
-32
View File
@@ -1,32 +0,0 @@
{
"accessLabel": "접근",
"applyPlatform": "플랫폼 적용",
"enable": "활성화",
"enableTip": "활성화 후, 휴대폰 등록, 로그인, 연결 및 연결 해제 기능이 활성화됩니다",
"endpointLabel": "엔드포인트",
"logs": "로그",
"phoneNumberLabel": "전화번호",
"placeholders": {
"template": "귀하의 인증 코드는 {code}이며, 5분 동안 유효합니다",
"templateCode": "템플릿 코드를 입력하세요"
},
"platform": "SMS 플랫폼",
"platformConfigTip": "제공된 {key} 설정을 입력해 주세요",
"platformTip": "SMS 플랫폼을 선택하세요",
"secretLabel": "비밀",
"sendFailed": "전송 실패",
"sendSuccess": "전송 성공",
"settings": "설정",
"signNameLabel": "서명 이름",
"template": "SMS 템플릿",
"templateCodeLabel": "템플릿 코드",
"templateTip": "SMS 템플릿을 작성해 주세요. 중간에 {code}를 유지해야 SMS 기능이 작동합니다.",
"testSms": "테스트 SMS 보내기",
"testSmsPhone": "전화번호를 입력하세요",
"testSmsTip": "구성을 확인하기 위해 테스트 SMS를 전송하세요",
"updateSuccess": "업데이트 성공",
"whitelistAreaCode": "허용된 지역 코드",
"whitelistAreaCodeTip": "허용된 지역 코드를 입력하세요. 예: 1, 852, 886, 888",
"whitelistValidation": "허용 목록 검증",
"whitelistValidationTip": "활성화되면, 허용 목록에 있는 지역 코드만 SMS를 보낼 수 있습니다."
}
+6
View File
@@ -8,9 +8,12 @@
"createRule": "규칙 추가",
"createSuccess": "규칙이 성공적으로 생성되었습니다",
"createdAt": "생성일",
"default": "기본값",
"defaultRule": "기본 규칙",
"delete": "삭제",
"deleteSuccess": "규칙이 성공적으로 삭제되었습니다",
"deleteWarning": "이 규칙을 삭제하시겠습니까? 이 작업은 취소할 수 없습니다.",
"direct": "직접",
"downloadTemplate": "템플릿 다운로드",
"edit": "편집",
"editRule": "규칙 편집",
@@ -29,11 +32,14 @@
"noValidRules": "유효한 규칙이 없습니다",
"pleaseUploadFile": "YAML 파일을 업로드해 주세요",
"preview": "미리보기",
"reject": "거부",
"rulesFormat": "규칙 형식: 규칙 유형, 일치하는 내용, [정책], 여기서 정책은 선택 사항입니다.\n정책이 지정되지 않으면 현재 규칙 그룹 이름이 자동으로 사용됩니다. 예시:",
"rulesLabel": "규칙 내용",
"searchRule": "규칙 이름 검색",
"selectTags": "노드 태그 선택",
"selectType": "규칙 유형 선택",
"tags": "노드 태그",
"tagsLabel": "노드 태그",
"type": "규칙 유형",
"updateSuccess": "규칙이 성공적으로 업데이트되었습니다"
}
+100 -75
View File
@@ -33,21 +33,22 @@
"description": "설명",
"edit": "편집",
"editNodeGroup": "노드 그룹 편집",
"form": {
"cancel": "취소",
"confirm": "확인",
"description": "설명",
"name": "이름"
},
"name": "이름",
"title": "노드 그룹 목록",
"updatedAt": "업데이트 시간"
},
"groupForm": {
"cancel": "취소",
"confirm": "확인",
"description": "설명",
"name": "이름"
},
"node": {
"abnormal": "비정상",
"actions": "작업",
"address": "주소",
"all": "전체",
"basicInfo": "기본 정보",
"cancel": "취소",
"confirm": "확인",
"confirmDelete": "삭제하시겠습니까?",
@@ -59,96 +60,120 @@
"delete": "삭제",
"deleteSuccess": "삭제 성공",
"deleteWarning": "삭제 후 데이터는 복구할 수 없습니다. 신중히 진행하세요.",
"detail": "상세 정보",
"disabled": "비활성화",
"disk": "디스크",
"edit": "편집",
"editNode": "노드 편집",
"enable": "활성화",
"form": {
"allowInsecure": "비보안 허용",
"cancel": "취소",
"city": "도시",
"confirm": "확인",
"country": "국가",
"edit": "편집",
"editSecurity": "보안 설정 편집",
"enableTLS": "TLS 활성화",
"encryptionMethod": "암호화 방법",
"flow": "흐름 제어 알고리즘",
"groupId": "노드 그룹",
"hopInterval": "홉 간격",
"hopPorts": "홉 포트",
"hopPortsPlaceholder": "여러 포트는 쉼표로 구분",
"name": "이름",
"obfsPassword": "난독화 비밀번호",
"obfsPasswordPlaceholder": "비워두면 난독화 안 함",
"path": "경로",
"pleaseSelect": "선택하세요",
"port": "서비스 포트",
"protocol": "프로토콜",
"relayHost": "중계 주소",
"relayMode": "릴레이 모드",
"relayModeOptions": {
"all": "모두",
"none": "없음",
"random": "무작위"
},
"relayPort": "중계 포트",
"relayPrefix": "릴레이 접두사",
"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": "프로토콜 선택",
"selectRelayMode": "릴레이 모드 선택",
"serverAddr": "서버 주소",
"serverKey": "서버 키",
"serverName": "서비스 이름",
"speedLimit": "속도 제한",
"speedLimitPlaceholder": "제한 없음",
"tags": "태그",
"tagsPlaceholder": "여러 태그를 입력하려면 Enter 또는 쉼표(,)를 사용하세요",
"trafficRatio": "트래픽 비율",
"transport": "전송 프로토콜",
"transportConfig": "전송 프로토콜 설정",
"transportHost": "전송 서비스 주소",
"transportPath": "전송 경로",
"transportServerName": "전송 서비스 이름"
},
"enabled": "활성화",
"expireTime": "만료 시간",
"hide": "숨기기",
"id": "ID",
"ipAddresses": "IP 주소",
"lastUpdated": "마지막 업데이트",
"location": "위치",
"memory": "메모리",
"name": "이름",
"noData": "--",
"node": "노드",
"nodeDetail": "노드 상세 정보",
"nodeGroup": "노드 그룹",
"nodeStatus": "노드 상태",
"normal": "정상",
"onlineCount": "온라인 인원",
"onlineUsers": "온라인 사용자",
"protocol": "프로토콜",
"rate": "비율",
"relay": "중계",
"serverAddr": "서버 주소",
"speedLimit": "속도 제한",
"status": "상태",
"subscribeId": "구독 ID",
"subscribeName": "구독 이름",
"subscription": "구독",
"tags": "태그",
"trafficRatio": "트래픽 비율",
"trafficUsage": "트래픽 사용량",
"type": "유형",
"updateSuccess": "업데이트 성공",
"updatedAt": "업데이트 시간"
"updatedAt": "업데이트 시간",
"userAccount": "사용자 계정",
"userDetail": "사용자 상세 정보",
"userId": "사용자 ID"
},
"nodeForm": {
"allowInsecure": "불안전 허용",
"cancel": "취소",
"city": "도시",
"confirm": "확인",
"congestionController": "혼잡 제어기",
"country": "국가",
"disableSni": "SNI 비활성화",
"edit": "편집",
"editSecurity": "보안 구성 편집",
"enableTLS": "TLS 활성화",
"encryptionMethod": "암호화 방법",
"fingerprint": "지문",
"flow": "흐름 제어 알고리즘",
"groupId": "노드 그룹",
"hopInterval": "홉 간격",
"hopPorts": "홉 포트",
"hopPortsPlaceholder": "여러 포트를 쉼표로 구분",
"name": "이름",
"obfsPassword": "난독화 비밀번호",
"obfsPasswordPlaceholder": "난독화 없음은 비워두세요",
"path": "경로",
"pleaseSelect": "선택하세요",
"port": "서버 포트",
"protocol": "프로토콜",
"reduceRtt": "RTT 줄이기",
"relayHost": "릴레이 호스트",
"relayMode": "릴레이 모드",
"relayPort": "릴레이 포트",
"relayPrefix": "릴레이 접두사",
"remarks": "비고",
"security": "보안",
"securityConfig": "보안 구성",
"selectEncryptionMethod": "암호화 방법 선택",
"selectNodeGroup": "노드 그룹 선택",
"selectProtocol": "프로토콜 선택",
"selectRelayMode": "릴레이 모드 선택",
"serverAddr": "서버 주소",
"serverKey": "서버 키",
"serverName": "서비스 이름",
"speedLimit": "속도 제한",
"speedLimitPlaceholder": "무제한",
"tags": "태그",
"tagsPlaceholder": "여러 태그 입력은 Enter 또는 쉼표(,) 사용",
"trafficRatio": "트래픽 비율",
"transport": "전송 프로토콜 구성",
"transportConfig": "전송 프로토콜 구성",
"transportHost": "전송 서버 주소",
"transportPath": "전송 경로",
"transportServerName": "전송 서버 이름",
"udpRelayMode": "UDP 릴레이 모드"
},
"relayModeOptions": {
"all": "모두",
"none": "없음",
"random": "무작위"
},
"securityConfig": {
"fingerprint": "지문",
"privateKey": "개인 키",
"privateKeyPlaceholder": "자동 생성은 비워두세요",
"publicKey": "공개 키",
"publicKeyPlaceholder": "자동 생성은 비워두세요",
"serverAddress": "서버 주소",
"serverAddressPlaceholder": "REALITY 대상 주소, 기본 SNI 사용",
"serverName": "서버 이름 (SNI)",
"serverNamePlaceholder": "REALITY 필수, 백엔드와 일치",
"serverPort": "서버 포트",
"serverPortPlaceholder": "REALITY 대상 포트, 기본 443",
"shortId": "짧은 ID",
"shortIdPlaceholder": "자동 생성은 비워두세요",
"sni": "서버 이름 표시 (SNI)"
},
"tabs": {
"node": "노드",
+97 -16
View File
@@ -1,28 +1,77 @@
{
"currency": {
"accessKey": "액세스 키",
"accessKeyDescription": "https://exchangerate.host에서 무료로 제공하는 환율 API 키",
"currencySymbol": "통화 기호",
"currencySymbolDescription": "표시용으로만 사용되며, 변경 시 시스템 내 모든 통화 단위가 변경됩니다",
"currencyUnit": "통화 단위",
"currencyUnitDescription": "표시용으로만 사용되며, 변경 시 시스템 내 모든 통화 단위가 변경됩니다",
"authSettings": "인증 설정",
"basicSettings": "기본 설정",
"common": {
"cancel": "취소",
"save": "설정 저장",
"saveFailed": "저장 실패",
"saveSuccess": "저장 성공"
},
"privacy-policy": {
"currency": {
"accessKey": "액세스 키",
"accessKeyDescription": "{url}에서 무료로 제공하는 환율 API 키",
"accessKeyPlaceholder": "API 키 입력",
"currencySymbol": "통화 기호",
"currencySymbolDescription": "표시용으로만 사용되며, 변경 시 시스템 내 모든 통화 단위가 변경됩니다",
"currencySymbolPlaceholder": "₩",
"currencyUnit": "통화 단위",
"currencyUnitDescription": "표시용으로만 사용되며, 변경 시 시스템 내 모든 통화 단위가 변경됩니다",
"currencyUnitPlaceholder": "KRW",
"description": "통화 단위, 기호 및 환율 API 설정 구성",
"title": "통화 설정"
},
"invite": {
"description": "사용자 초대 및 추천 보상 설정 구성",
"forcedInvite": "등록을 위한 초대 필수",
"forcedInviteDescription": "활성화 시, 사용자는 초대 링크를 통해 등록해야 합니다.",
"inputPlaceholder": "입력해 주세요",
"onlyFirstPurchase": "첫 구매 보상만",
"onlyFirstPurchaseDescription": "활성화 시, 추천인은 추천된 사용자의 첫 구매에 대해서만 보상을 받습니다.",
"referralPercentage": "추천 보상 비율",
"referralPercentageDescription": "추천인에게 지급되는 보상의 비율",
"saveFailed": "저장 실패",
"saveSuccess": "저장 성공",
"title": "초대 설정"
},
"privacyPolicy": {
"description": "개인정보 처리방침 내용 편집 및 관리",
"title": "개인정보 처리방침"
},
"register": {
"day": "일",
"defaultSubscribe": "기본 구독",
"defaultSubscribeDescription": "신규 사용자를 위한 기본 구독 계획",
"description": "사용자 등록 관련 설정 구성",
"inputPlaceholder": "입력해 주세요",
"ipRegistrationLimit": "IP 등록 제한",
"ipRegistrationLimitDescription": "단일 IP 주소에서의 등록 수 제한",
"registrationLimitCount": "등록 제한 수",
"registrationLimitCountDescription": "제한 기간 내 허용되는 등록 수",
"registrationLimitExpire": "제한 기간",
"registrationLimitExpireDescription": "IP 등록 제한의 기간",
"saveFailed": "저장 실패",
"saveSuccess": "저장 성공",
"selectPlaceholder": "선택해 주세요",
"stopNewUserRegistration": "신규 사용자 등록 중지",
"stopNewUserRegistrationDescription": "활성화 시, 신규 사용자 등록이 비활성화됩니다.",
"title": "등록 설정",
"trialDay": "체험 일수",
"trialDayDescription": "신규 사용자 등록 시 제공되는 체험 일수",
"trialFlow": "체험 트래픽",
"trialFlowDescription": "신규 사용자 등록 시 제공되는 체험 트래픽"
},
"site": {
"customData": "사용자 정의 데이터",
"customDataDescription": "사이트의 사용자 정의 데이터에 사용되는 사용자 정의 데이터",
"customHtml": "사용자 정의 HTML",
"customHtmlDescription": "사이트의 body그 하단에 삽입될 사용자 정의 HTML 코드입니다.",
"description": "기본 사이트 정보, 로고, 도메인 및 기타 설정 구성",
"keywords": "키워드",
"keywordsDescription": "SEO 목적으로 사용됨",
"keywordsPlaceholder": "키워드1, 키워드2, 키워드3",
"logo": "LOGO",
"logoDescription": "LOGO를 표시해야 하는 위치에 사용됩니다",
"logoPlaceholder": "LOGO의 URL 주소를 입력하세요. '/'로 끝나지 않도록 하세요",
"saveSuccess": "저장 성공",
"siteDesc": "사이트 설명",
"siteDescDescription": "사이트 설명을 표시해야 하는 위치에 사용됩니다",
"siteDescPlaceholder": "사이트 설명을 입력하세요",
@@ -31,15 +80,47 @@
"siteDomainPlaceholder": "도메인 주소를 입력하세요. 여러 도메인은 각 줄에 하나씩 입력하세요",
"siteName": "사이트 이름",
"siteNameDescription": "사이트 이름을 표시해야 하는 위치에 사용됩니다",
"siteNamePlaceholder": "사이트 이름을 입력하세요"
},
"tabs": {
"currency": "통화",
"site": "사이트",
"tos": "서비스 약관"
"siteNamePlaceholder": "사이트 이름을 입력하세요",
"title": "사이트 설정"
},
"siteSettings": "사이트 설정",
"tos": {
"saveSuccess": "저장 성공",
"description": "서비스 약관 내용 편집 및 관리",
"title": "서비스 약관"
},
"userSecuritySettings": "사용자 및 보안",
"verify": {
"description": "턴스타일 CAPTCHA 및 인증 설정 구성",
"enableLoginVerify": "로그인 시 인증 활성화",
"enableLoginVerifyDescription": "활성화 시, 사용자는 로그인 시 인간 인증을 통과해야 합니다.",
"enablePasswordVerify": "비밀번호 재설정 시 인증 활성화",
"enablePasswordVerifyDescription": "활성화 시, 사용자는 비밀번호 재설정 시 인간 인증을 통과해야 합니다.",
"enableRegisterVerify": "등록 시 인증 활성화",
"enableRegisterVerifyDescription": "활성화 시, 사용자는 등록 시 인간 인증을 통과해야 합니다.",
"inputPlaceholder": "입력해 주세요",
"saveFailed": "저장 실패",
"saveSuccess": "저장 성공",
"title": "보안 인증",
"turnstileSecret": "턴스타일 비밀 키",
"turnstileSecretDescription": "백엔드 인증을 위한 Cloudflare Turnstile 비밀 키",
"turnstileSecretPlaceholder": "턴스타일 비밀 키 입력",
"turnstileSiteKey": "턴스타일 사이트 키",
"turnstileSiteKeyDescription": "프론트엔드 인증을 위한 Cloudflare Turnstile 사이트 키",
"turnstileSiteKeyPlaceholder": "턴스타일 사이트 키 입력"
},
"verifyCode": {
"dailyLimit": "일일 전송 제한",
"dailyLimitDescription": "각 사용자가 하루에 보낼 수 있는 인증 코드의 최대 수",
"description": "이메일 인증 코드 전송 규칙 및 제한 구성",
"expireTime": "인증 코드 유효성",
"expireTimeDescription": "인증 코드의 유효 기간 (초)",
"inputPlaceholder": "입력해 주세요",
"interval": "전송 간격",
"intervalDescription": "두 인증 코드 전송 간 최소 간격 (초)",
"saveFailed": "저장 실패",
"saveSuccess": "저장 성공",
"seconds": "초",
"times": "회",
"title": "인증 코드 설정"
}
}
-10
View File
@@ -1,10 +0,0 @@
{
"clientId": "봇 ID",
"clientIdDescription": "텔레그램 봇 ID, @BotFather에서 얻을 수 있습니다.",
"clientSecret": "봇 토큰",
"clientSecretDescription": "텔레그램 봇 토큰, @BotFather에서 받을 수 있습니다.",
"enable": "사용",
"enableDescription": "활성화 후, 휴대폰 등록, 로그인, 연결 및 연결 해제 기능이 활성화됩니다",
"saveFailed": "저장 실패",
"saveSuccess": "저장 성공"
}