Files
pangolin/client/lib/l10n/strings_ko.dart
T
2026-07-12 17:25:30 +08:00

518 lines
17 KiB
Dart
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
// strings_ko.dart — 한국어 문구 리소스 (단일 언어 표시)
//
// 금지어: 검열 우회·민감 표현. 목록은 design/CLAUDE.md §1 규칙 13 참조.
// 포지셔닝: 네트워크 가속 / 경험 최적화 + 프라이버시.
// 요금제 번호는 design/CLAUDE.md §7 을 따름.
import 'app_text.dart';
class StringsKo extends AppText {
const StringsKo();
@override
AppLang get lang => AppLang.ko;
@override
String get brand => 'Pangolin';
@override
String get online => '● 온라인';
@override
String get offline => '○ 오프라인';
@override
String get capOff => '탭하여 연결';
@override
String get capConnecting => '연결 중…';
@override
String get capOn => '연결됨 · 암호화';
@override
String get connectNow => '연결';
@override
String get secure => '보안';
@override
String get tabConnect => '연결';
@override
String get tabServers => '서버';
@override
String get tabStats => '통계';
@override
String get tabMe => '계정';
@override
String get currentNode => '현재 노드';
@override
String get download => '다운';
@override
String get upload => '';
@override
String get latency => '지연';
@override
String get quotaToday => '오늘 남은 시간';
@override
String get minutes => '';
@override
String get quotaFree => '무료 · 하루 10분';
@override
String get planFreeTag => '무료';
@override
String get watchAd => '광고 시청 후 시작';
@override
String get adUnlocked => '오늘 사용 가능';
@override
String get quotaLeftLabel => '남음';
@override
String get quotaUsedUp => '오늘 무료 시간을 모두 사용함';
@override
String get watchAdMore => '광고 시청으로 시간 추가';
@override
String get quotaExhaustedNotice => '오늘 무료 시간을 모두 사용했습니다. 업그레이드하면 계속 연결할 수 있습니다.';
@override
String get adPlaying => '광고 재생 중…';
@override
String adRewarded(int minutes) => '+$minutes분 추가됨';
@override
String get adFailed => '시간 추가에 실패했습니다. 다시 시도하세요';
@override
String get quotaDesktopTitle => '오늘 무료 시간을 모두 사용함';
@override
String get quotaDesktopBody => '모바일 앱에서 광고를 시청해 시간을 추가하거나, 업그레이드하여 무제한으로 이용하세요.';
@override
String get gotIt => '확인';
@override
String get chooseNode => '서버 선택';
@override
String get searchPh => '국가 / 도시 검색';
@override
String get smartSelect => '스마트 선택';
@override
String nodeSwitchTitle(String name) => '$name(으)로 전환할까요?';
@override
String get nodeSwitchBody => '현재 연결을 끊고 이 노드로 다시 연결합니다.';
@override
String get nodeSwitchConfirm => '전환';
@override
String get nodeUnhealthySwitched => '현재 노드에 연결할 수 없어 자동으로 전환했습니다';
@override
String get nodeUnhealthyError => '현재 노드에 연결할 수 없습니다 — 재연결하거나 노드를 전환하세요';
@override
String get nodeReconnecting => '네트워크가 불안정하여 다시 연결 중…';
@override
String get smartSub => '네트워크에 가장 적합한 노드를 선택합니다';
@override
String get recommended => '추천';
@override
String get statsTitle => '통계';
@override
String get trafficMonth => '트래픽';
@override
String get avgPing => '평균 지연';
@override
String get durMonth => '시간';
@override
String get weekTraffic => '이번 주 (GB)';
@override
List<String> get days7 => const ['', '', '', '', '', '', ''];
@override
String get byDevice => '기기별';
@override
String get noDeviceUsage => '아직 기기 사용 기록이 없습니다';
@override
String get periodMonth => '이번 달';
@override
String get periodWeek => '이번 주';
@override
String get periodToday => '오늘';
@override
String get statDown => '다운로드';
@override
String get statUp => '업로드';
@override
String get statDuration => '사용 시간';
@override
String get chartTwoWeeks => '최근 2주';
@override
String get allDevices => '모든 기기';
@override
String get meTitle => '계정';
@override
String get proMember => 'PRO 회원';
@override
String get freePlanName => '무료';
@override
String get expires => '만료일';
@override
String get upgradeBtn => '갱신 / 업그레이드';
@override
String get accInfoTitle => '계정 정보';
@override
String get accEmail => '이메일';
@override
String get accPassword => '비밀번호';
@override
String get accChange => '변경';
@override
String get deviceLimitTitle => '기기 한도에 도달함';
@override
String get deviceLimitDesc => '현재 요금제는 최대 %s대의 기기를 허용합니다. 계속하려면 한 대를 삭제하세요.';
@override
String get deviceLimitRemoveOldest => '가장 오래 사용하지 않은 기기 삭제';
@override
String get myDevices => '내 기기';
@override
String get devicesSub => 'PRO는 최대 3대';
@override
String get thisDevice => '이 기기';
@override
String get remove => '삭제';
@override
String get devOnline => '온라인';
@override
String get devOffline => '오프라인';
@override
String get devLastOnline => '마지막 접속';
@override
String get devNeverLogin => '로그인한 적 없음';
@override
String get devForceLogout => '강제 로그아웃';
@override
String get devClearLogin => '로그인 정보 삭제';
@override
String get devRename => '이름 변경';
@override
String get devRenameHint => '기기 이름';
@override
String get devSave => '저장';
@override
String get devForceLogoutConfirm => '이 기기의 로그인 세션을 무효화합니다 — 오프라인으로 강제 종료되며 다시 로그인해야 합니다. 기기는 목록에 남아 있습니다.';
@override
String get devClearLoginConfirm => '이 기기를 목록에서 완전히 삭제하고 로그인 세션과 데이터 전송 자격 증명을 무효화합니다. 다시 사용하려면 재로그인해야 합니다.';
@override
String get devCancel => '취소';
@override
String get sessionRevokedTitle => '이 기기에서 로그아웃되었습니다';
@override
String get sessionRevokedBody => '다른 기기에서 이 기기를 로그아웃했습니다. 다시 로그인하세요.';
@override
String get sessionRevokedOk => '다시 로그인';
@override
String get redeemEntry => '코드 등록 및 구매';
@override
String get contactEntry => '문의하기';
@override
String get signOut => '로그아웃';
@override
String get language => '언어';
@override
String get darkAppearance => '다크 모드';
@override
String get stateOn => '켜짐';
@override
String get followLight => '꺼짐';
@override
String get protocol => '프로토콜';
@override
String get settingsTitle => '설정';
@override
String get autostart => '시작 시 실행';
@override
String get autostartSub => '시스템 시작 시 자동으로 실행';
@override
String get autoConnect => '자동 연결';
@override
String get autoConnectSub => '실행 시 자동으로 연결';
@override
String autoConnectingTo(String name) => '$name(으)로 자동 연결 중…';
@override
String get smartRoute => '스마트 라우팅';
@override
String get smartRouteSub => '해외는 가속, 국내는 직접 연결';
@override
String get killSwitch => 'Kill Switch';
@override
String get killSwitchSub => '연결이 끊기면 트래픽 차단';
@override
String get checkUpdate => '업데이트 확인';
@override
String get webUserCenter => '사용자 센터 (웹)';
@override
String updateAvailableTitle(String version) => '새 버전 v$version 사용 가능';
@override
String get updateNotesFallback => '이번 업데이트에는 버그 수정과 안정성 개선이 포함되어 있습니다.';
@override
String get updateLater => '나중에';
@override
String get updateDownload => '업데이트 다운로드';
@override
String get updateUpToDate => '최신 버전입니다';
@override
String get updateCheckFailed => '업데이트 확인에 실패했습니다. 잠시 후 다시 시도하세요';
@override
String get choosePlan => '요금제 선택';
@override
String get freePlan => '무료';
@override
String get proPlan => 'Pro';
@override
String get teamPlan => 'Team';
@override
String get perMonth => '/월';
@override
String get current => '현재';
@override
String get upgrade => '업그레이드';
@override
String get choose => '선택';
@override
String get mostPopular => '인기';
@override
List<String> get featsFree => const [
'기본 노드 1개',
'하루 10분',
'광고 시청 후 시작',
'가입 시 7일 무료 체험',
];
@override
List<String> get featsPro =>
const ['80개 이상 지역', '무제한 · 빠른 속도', '기기 5대', '스트리밍 최적화'];
@override
List<String> get featsTeam =>
const ['Pro의 모든 기능', '10인 좌석', '통합 결제', '우선 지원'];
@override
String get redeemTitle => '코드 등록 및 구매';
@override
String get redeemCodeTitle => '코드 등록';
@override
String get redeemPh => '활성화 코드 입력';
@override
String get redeemBtn => '등록';
@override
String get redeemOk => '활성화됨 · PRO 잠금 해제';
@override
String get buyTitle => '구매처';
@override
String get buySub => '앱 내 결제는 지원되지 않습니다. 다음 경로로 코드를 받으세요:';
@override
String get chStore => '셀프 스토어';
@override
String get chEmail => '이메일 지원';
@override
String get contactTitle => '문의하기';
@override
String get contactIntro =>
'도움이 필요하신가요? 아래 채널로 문의하세요 — 보통 몇 분 안에 답변드립니다.';
@override
String get contactEmail => '이메일 지원';
@override
String get contactStore => '셀프 스토어';
@override
String get contactWebsite => '공식 웹사이트';
@override
String get contactHoursTitle => '지원 시간';
@override
String get contactHours => '매일 9:00 24:00 (GMT+8)';
@override
String get authTagline => '빠르게 · 안정적으로 · 손쉽게';
@override
String get tabLogin => '로그인';
@override
String get tabRegister => '회원가입';
@override
String get emailLabel => '이메일';
@override
String get emailPh => 'your@email.com';
@override
String get pwLabel => '비밀번호';
@override
String get pwPh => '비밀번호 입력';
@override
String get setPwPh => '비밀번호 설정 (다중 기기 로그인용)';
@override
String get codeLabel => '인증 코드';
@override
String codeSentTo(String email) => '$email(으)로 코드를 보냈습니다';
@override
String get sendCode => '코드 전송';
@override
String get resend => '재전송';
@override
String get doLogin => '로그인';
@override
String get doNext => '다음';
@override
String get doCreate => '계정 만들기';
@override
String get forgotPw => '비밀번호를 잊으셨나요?';
@override
String get tos => '계속하면 이용약관 및 개인정보 처리방침에 동의하는 것입니다';
@override
String get obSkip => '건너뛰기';
@override
String get obNext => '다음';
@override
String get obAllow => '허용하고 계속';
@override
String get obStart => '시작하기';
@override
String get ob1Title => '전 세계로 연결';
@override
String get ob1Sub => '80개 이상의 지역, 자동 최적 경로, 안정적인 연결.';
@override
String get ob2Title => '네트워크 설정 허용';
@override
String get ob2Sub => '암호화된 터널을 구성하기 위해 시스템이 네트워크 프로필 추가를 요청합니다.';
@override
String get ob3Title => '설계부터 프라이버시';
@override
String get ob3Sub => '종단 간 암호화. 브라우징 기록을 전혀 저장하지 않습니다.';
// ── 购买 / 支付 ──
@override
String get purchaseTitle => '요금제 구매';
@override
String get paymentTitle => '결제';
@override
String get buyNow => '지금 구매';
@override
String get payMethodAlipay => 'Alipay';
@override
String get payMethodCrypto => 'USDT (TRC20)';
@override
String get choosePayMethod => '결제 수단 선택';
@override
String get proMonthly => 'Pro · 월간';
@override
String get proQuarterly => 'Pro · 분기';
@override
String get proYearly => 'Pro · 연간';
@override
String get perQuarter => '/분기';
@override
String get perYear => '/년';
@override
String get payAmountLabel => '송금액';
@override
String get payAddressLabel => '입금 주소';
@override
String get payNetworkLabel => '네트워크';
@override
String get payExactAmountHint => '정확한 금액을 보내주세요. 입금 확인 후 자동으로 활성화됩니다';
@override
String get copied => '복사됨';
@override
String get openAlipay => 'Alipay로 결제';
@override
String get openAlipayHint => '결제 후 돌아오면 이 페이지가 자동으로 새로고침됩니다';
@override
String get openAlipayFailed => 'Alipay를 열 수 없습니다. 설치되어 있는지 확인하거나 다시 시도하세요';
@override
String get awaitingPayment => '결제 대기 중';
@override
String get paySucceeded => '활성화됨';
@override
String get payExpiresAt => '유효기간';
@override
String get payDone => '완료';
@override
String get payFailed => '결제 실패';
@override
String get payRetry => '다시 시도';
@override
String get switchPayMethod => '다른 결제 수단으로 변경';
@override
String get cancelOrder => '주문 취소';
@override
String get qrNotSupported => '내용을 복사해 Alipay에서 여세요';
// ── 支付渠道 switch + 订单 ──
@override
String get payChannel => '결제 채널';
@override
String get payChannelUsdt => 'USDT · 암호화폐';
@override
String get payChannelCny => '위안화 · Alipay';
@override
String get perMonthSuffix => ' /월';
@override
String get ordersTitle => '내 주문';
@override
String get orderDetailTitle => '주문 상세';
@override
String get ordersEmpty => '주문이 없습니다';
@override
String get orderNoLabel => '주문 번호';
@override
String get orderPlanLabel => '플랜';
@override
String get orderMethodLabel => '결제 수단';
@override
String get orderAmountLabel => '금액';
@override
String get orderCreatedLabel => '생성 시각';
@override
String get orderPaidLabel => '결제 시각';
@override
String get orderStatusPaid => '활성화됨';
@override
String get orderStatusCanceled => '취소됨';
@override
String get orderContinuePay => '결제 계속';
@override
String get orderRefresh => '새로고침';
@override
String get orderRebuy => '다시 구매';
@override
String get payMethodNezha => 'Nazhapay';
// ── 邀请 / 通知 / 设置分组 / 订单过期(Spec ②③占位) ──
@override
String get inviteEntry => '친구 초대하고 멤버십 받기';
@override
String get inviteEntrySub => '친구가 가입하면 · 양쪽 모두 회원 일수 획득';
@override
String get inviteTitle => '친구 초대';
@override
String get inviteCodeLabel => '초대 코드';
@override
String get inviteLinkLabel => '초대 링크';
@override
String get inviteCopyCode => '코드 복사';
@override
String get inviteCopyLink => '링크 복사';
@override
String get inviteRewardsTitle => '보상 규칙';
@override
String get inviteRewardRegister => '친구 가입 · 양쪽 각 3일 지급';
@override
String get inviteRewardFirstBuy => '친구 첫 구매 · 양쪽 각 15일 지급';
@override
String get inviteRewardJoinTg => 'TG 채널 가입 · 3일 지급';
@override
String get inviteProgressTitle => '내 보상';
@override
String get notifTitle => '알림';
@override
String get notifEmpty => '알림이 없습니다';
@override
String get notifTypeNews => '소식';
@override
String get notifTypeFeature => '기능';
@override
String get notifTypeImportant => '중요';
@override
String get settingsGroupConn => '연결';
@override
String get settingsGroupAppearance => '화면';
@override
String get settingsGroupAbout => '정보';
@override
String get orderStatusExpired => '만료됨';
}