3604 lines
230 KiB
Dart
3604 lines
230 KiB
Dart
///
|
|
/// Generated file. Do not edit.
|
|
///
|
|
// coverage:ignore-file
|
|
// ignore_for_file: type=lint, unused_import
|
|
// dart format off
|
|
|
|
import 'package:flutter/widgets.dart';
|
|
import 'package:intl/intl.dart';
|
|
import 'package:slang/generated.dart';
|
|
import 'strings.g.dart';
|
|
|
|
// Path: <root>
|
|
class TranslationsKo extends Translations with BaseTranslations<AppLocale, Translations> {
|
|
/// You can call this constructor and build your own translation instance of this locale.
|
|
/// Constructing via the enum [AppLocale.build] is preferred.
|
|
TranslationsKo({Map<String, Node>? overrides, PluralResolver? cardinalResolver, PluralResolver? ordinalResolver, TranslationMetadata<AppLocale, Translations>? meta})
|
|
: assert(overrides == null, 'Set "translation_overrides: true" in order to enable this feature.'),
|
|
$meta = meta ?? TranslationMetadata(
|
|
locale: AppLocale.ko,
|
|
overrides: overrides ?? {},
|
|
cardinalResolver: cardinalResolver,
|
|
ordinalResolver: ordinalResolver,
|
|
),
|
|
super(cardinalResolver: cardinalResolver, ordinalResolver: ordinalResolver) {
|
|
super.$meta.setFlatMapFunction($meta.getTranslation); // copy base translations to super.$meta
|
|
$meta.setFlatMapFunction(_flatMapFunction);
|
|
}
|
|
|
|
/// Metadata for the translations of <ko>.
|
|
@override final TranslationMetadata<AppLocale, Translations> $meta;
|
|
|
|
/// Access flat map
|
|
@override dynamic operator[](String key) => $meta.getTranslation(key) ?? super.$meta.getTranslation(key);
|
|
|
|
late final TranslationsKo _root = this; // ignore: unused_field
|
|
|
|
@override
|
|
TranslationsKo $copyWith({TranslationMetadata<AppLocale, Translations>? meta}) => TranslationsKo(meta: meta ?? this.$meta);
|
|
|
|
// Translations
|
|
@override late final _Translations$app$ko app = _Translations$app$ko._(_root);
|
|
@override late final _Translations$auth$ko auth = _Translations$auth$ko._(_root);
|
|
@override late final _Translations$common$ko common = _Translations$common$ko._(_root);
|
|
@override late final _Translations$screens$ko screens = _Translations$screens$ko._(_root);
|
|
@override late final _Translations$update$ko update = _Translations$update$ko._(_root);
|
|
@override late final _Translations$settings$ko settings = _Translations$settings$ko._(_root);
|
|
@override late final _Translations$search$ko search = _Translations$search$ko._(_root);
|
|
@override late final _Translations$hotkeys$ko hotkeys = _Translations$hotkeys$ko._(_root);
|
|
@override late final _Translations$fileInfo$ko fileInfo = _Translations$fileInfo$ko._(_root);
|
|
@override late final _Translations$mediaMenu$ko mediaMenu = _Translations$mediaMenu$ko._(_root);
|
|
@override late final _Translations$rateSheet$ko rateSheet = _Translations$rateSheet$ko._(_root);
|
|
@override late final _Translations$accessibility$ko accessibility = _Translations$accessibility$ko._(_root);
|
|
@override late final _Translations$tooltips$ko tooltips = _Translations$tooltips$ko._(_root);
|
|
@override late final _Translations$audioTracks$ko audioTracks = _Translations$audioTracks$ko._(_root);
|
|
@override late final _Translations$videoControls$ko videoControls = _Translations$videoControls$ko._(_root);
|
|
@override late final _Translations$messages$ko messages = _Translations$messages$ko._(_root);
|
|
@override late final _Translations$subtitlingStyling$ko subtitlingStyling = _Translations$subtitlingStyling$ko._(_root);
|
|
@override late final _Translations$mpvConfig$ko mpvConfig = _Translations$mpvConfig$ko._(_root);
|
|
@override late final _Translations$dialog$ko dialog = _Translations$dialog$ko._(_root);
|
|
@override late final _Translations$profiles$ko profiles = _Translations$profiles$ko._(_root);
|
|
@override late final _Translations$connections$ko connections = _Translations$connections$ko._(_root);
|
|
@override late final _Translations$discover$ko discover = _Translations$discover$ko._(_root);
|
|
@override late final _Translations$errors$ko errors = _Translations$errors$ko._(_root);
|
|
@override late final _Translations$libraries$ko libraries = _Translations$libraries$ko._(_root);
|
|
@override late final _Translations$about$ko about = _Translations$about$ko._(_root);
|
|
@override late final _Translations$serverSelection$ko serverSelection = _Translations$serverSelection$ko._(_root);
|
|
@override late final _Translations$hubDetail$ko hubDetail = _Translations$hubDetail$ko._(_root);
|
|
@override late final _Translations$logs$ko logs = _Translations$logs$ko._(_root);
|
|
@override late final _Translations$licenses$ko licenses = _Translations$licenses$ko._(_root);
|
|
@override late final _Translations$navigation$ko navigation = _Translations$navigation$ko._(_root);
|
|
@override late final _Translations$explore$ko explore = _Translations$explore$ko._(_root);
|
|
@override late final _Translations$liveTv$ko liveTv = _Translations$liveTv$ko._(_root);
|
|
@override late final _Translations$collections$ko collections = _Translations$collections$ko._(_root);
|
|
@override late final _Translations$playlists$ko playlists = _Translations$playlists$ko._(_root);
|
|
@override late final _Translations$music$ko music = _Translations$music$ko._(_root);
|
|
@override late final _Translations$watchTogether$ko watchTogether = _Translations$watchTogether$ko._(_root);
|
|
@override late final _Translations$downloads$ko downloads = _Translations$downloads$ko._(_root);
|
|
@override late final _Translations$shaders$ko shaders = _Translations$shaders$ko._(_root);
|
|
@override late final _Translations$companionRemote$ko companionRemote = _Translations$companionRemote$ko._(_root);
|
|
@override late final _Translations$videoSettings$ko videoSettings = _Translations$videoSettings$ko._(_root);
|
|
@override late final _Translations$performanceOverlay$ko performanceOverlay = _Translations$performanceOverlay$ko._(_root);
|
|
@override late final _Translations$externalPlayer$ko externalPlayer = _Translations$externalPlayer$ko._(_root);
|
|
@override late final _Translations$metadataEdit$ko metadataEdit = _Translations$metadataEdit$ko._(_root);
|
|
@override late final _Translations$matchScreen$ko matchScreen = _Translations$matchScreen$ko._(_root);
|
|
@override late final _Translations$serverTasks$ko serverTasks = _Translations$serverTasks$ko._(_root);
|
|
@override late final _Translations$trakt$ko trakt = _Translations$trakt$ko._(_root);
|
|
@override late final _Translations$seerr$ko seerr = _Translations$seerr$ko._(_root);
|
|
@override late final _Translations$services$ko services = _Translations$services$ko._(_root);
|
|
@override late final _Translations$addServer$ko addServer = _Translations$addServer$ko._(_root);
|
|
}
|
|
|
|
// Path: app
|
|
class _Translations$app$ko extends Translations$app$en {
|
|
_Translations$app$ko._(TranslationsKo root) : this._root = root, super.internal(root);
|
|
|
|
final TranslationsKo _root; // ignore: unused_field
|
|
|
|
// Translations
|
|
@override String get title => 'Plezy';
|
|
}
|
|
|
|
// Path: auth
|
|
class _Translations$auth$ko extends Translations$auth$en {
|
|
_Translations$auth$ko._(TranslationsKo root) : this._root = root, super.internal(root);
|
|
|
|
final TranslationsKo _root; // ignore: unused_field
|
|
|
|
// Translations
|
|
@override String get signInWithPlex => 'Plex 계정으로 로그인';
|
|
@override String get showQRCode => 'QR 코드 표시';
|
|
@override String get authenticate => '인증';
|
|
@override String get authenticationTimeout => '인증 시간이 초과되었습니다. 다시 시도해 주세요.';
|
|
@override String get scanQRToSignIn => '로그인하려면 이 QR 코드를 스캔하세요';
|
|
@override String get waitingForAuth => '인증 대기 중...\n브라우저에서 로그인하세요.';
|
|
@override String get useBrowser => '브라우저 사용';
|
|
@override String get or => '또는';
|
|
@override String get connectToJellyfin => 'Jellyfin에 연결';
|
|
@override String get useQuickConnect => 'Quick Connect 사용';
|
|
@override String get quickConnectInstructions => 'Jellyfin에서 Quick Connect를 열고 이 코드를 입력하세요.';
|
|
@override String get quickConnectWaiting => '승인 대기 중…';
|
|
@override String get quickConnectCancel => '취소';
|
|
@override String get quickConnectExpired => 'Quick Connect가 만료되었습니다. 다시 시도하세요.';
|
|
@override String get localDataRecoveryRequired => 'Plezy에서 로컬 로그인 정보와 대기 중인 재생 데이터를 안전하게 복구하지 못했습니다. 다시 로그인해 주세요.';
|
|
}
|
|
|
|
// Path: common
|
|
class _Translations$common$ko extends Translations$common$en {
|
|
_Translations$common$ko._(TranslationsKo root) : this._root = root, super.internal(root);
|
|
|
|
final TranslationsKo _root; // ignore: unused_field
|
|
|
|
// Translations
|
|
@override String get cancel => '취소';
|
|
@override String get save => '저장';
|
|
@override String get close => '닫기';
|
|
@override String get clear => '지우기';
|
|
@override String get reset => '초기화';
|
|
@override String get later => '나중에';
|
|
@override String get submit => '제출';
|
|
@override String get confirm => '확인';
|
|
@override String get retry => '재시도';
|
|
@override String get logout => '로그아웃';
|
|
@override String get unknown => '알 수 없는';
|
|
@override String get refresh => '새로고침';
|
|
@override String get yes => '예';
|
|
@override String get no => '아니오';
|
|
@override String get delete => '삭제';
|
|
@override String get edit => '편집';
|
|
@override String get shuffle => '무작위 재생';
|
|
@override String get addTo => '추가하기...';
|
|
@override String get createNew => '새로 만들기';
|
|
@override String get connect => '연결';
|
|
@override String get disconnect => '연결 해제';
|
|
@override String get play => '재생';
|
|
@override String get pause => '일시정지';
|
|
@override String get resume => '재개';
|
|
@override String get error => '오류';
|
|
@override String get search => '검색';
|
|
@override String get home => '홈';
|
|
@override String get back => '뒤로';
|
|
@override String get settings => '설정';
|
|
@override String get mute => '음소거';
|
|
@override String get ok => '확인';
|
|
@override String get off => '꺼짐';
|
|
@override String seasonNumber({required Object number}) => '시즌 ${number}';
|
|
@override String episodeNumberTitle({required Object number, required Object title}) => '${number}화 - ${title}';
|
|
@override String chapterNumber({required Object number}) => '챕터 ${number}';
|
|
@override String get reconnect => '다시 연결';
|
|
@override String get viewAll => '모두 보기';
|
|
@override String get checkingNetwork => '네트워크 확인 중...';
|
|
@override String get loadingServers => '서버 로딩 중...';
|
|
@override String get connectingToServers => '서버 연결 중...';
|
|
@override String get startingOfflineMode => '오프라인 모드 시작 중...';
|
|
@override String get loading => '로딩 중...';
|
|
@override String get fullscreen => '전체 화면';
|
|
@override String get exitFullscreen => '전체 화면 종료';
|
|
@override String get pressBackAgainToExit => '한 번 더 누르면 종료됩니다';
|
|
}
|
|
|
|
// Path: screens
|
|
class _Translations$screens$ko extends Translations$screens$en {
|
|
_Translations$screens$ko._(TranslationsKo root) : this._root = root, super.internal(root);
|
|
|
|
final TranslationsKo _root; // ignore: unused_field
|
|
|
|
// Translations
|
|
@override String get licenses => '라이선스';
|
|
@override String get switchProfile => '프로필 전환';
|
|
@override String get subtitleStyling => '자막 스타일 설정';
|
|
@override String get mpvConfig => 'mpv.conf';
|
|
@override String get logs => '로그';
|
|
}
|
|
|
|
// Path: update
|
|
class _Translations$update$ko extends Translations$update$en {
|
|
_Translations$update$ko._(TranslationsKo root) : this._root = root, super.internal(root);
|
|
|
|
final TranslationsKo _root; // ignore: unused_field
|
|
|
|
// Translations
|
|
@override String get available => '업데이트 있음';
|
|
@override String versionAvailable({required Object version}) => '${version} 버전을 사용할 수 있습니다';
|
|
@override String currentVersion({required Object version}) => '현재 버전: ${version}';
|
|
@override String get skipVersion => '이 버전 건너뛰기';
|
|
@override String get viewRelease => '릴리스 정보 보기';
|
|
@override String get latestVersion => '최신 버전을 사용 중입니다';
|
|
@override String get checkFailed => '업데이트 확인 실패';
|
|
}
|
|
|
|
// Path: settings
|
|
class _Translations$settings$ko extends Translations$settings$en {
|
|
_Translations$settings$ko._(TranslationsKo root) : this._root = root, super.internal(root);
|
|
|
|
final TranslationsKo _root; // ignore: unused_field
|
|
|
|
// Translations
|
|
@override String get title => '설정';
|
|
@override String get supportDeveloper => 'Plezy 후원하기';
|
|
@override String get supportDeveloperDescription => 'Liberapay로 후원하여 개발 지원';
|
|
@override String get language => '언어';
|
|
@override String get theme => '테마';
|
|
@override String get appearance => '디자인';
|
|
@override String get videoPlayback => '비디오 재생';
|
|
@override String get videoPlaybackDescription => '재생 동작 설정';
|
|
@override String get advanced => '고급';
|
|
@override String get episodePosterMode => '에피소드 포스터 스타일';
|
|
@override String get seriesPoster => '시리즈 포스터';
|
|
@override String get seasonPoster => '시즌 포스터';
|
|
@override String get episodeThumbnail => '썸네일';
|
|
@override String get showHeroSectionDescription => '홈 화면에 주요 콘텐츠 캐러셀(슬라이드) 표시';
|
|
@override String get secondsLabel => '초';
|
|
@override String get minutesLabel => '분';
|
|
@override String get secondsShort => '초';
|
|
@override String get minutesShort => '분';
|
|
@override String durationHint({required Object min, required Object max}) => '기간 입력 (${min}-${max})';
|
|
@override String get systemTheme => '시스템';
|
|
@override String get lightTheme => '라이트';
|
|
@override String get darkTheme => '다크';
|
|
@override String get oledTheme => 'OLED';
|
|
@override String get libraryDensity => '라이브러리 표시 밀도';
|
|
@override String get compact => '조밀하게';
|
|
@override String get comfortable => '여유롭게';
|
|
@override String get tvCornerSpotlightBackdrop => '모서리 스포트라이트 배경';
|
|
@override String get tvCornerSpotlightBackdropDescription => '화면 전체를 채우는 대신 오른쪽 상단에 스포트라이트 아트워크를 표시합니다';
|
|
@override String get viewMode => '보기 모드';
|
|
@override String get gridView => '그리드 보기';
|
|
@override String get listView => '목록 보기';
|
|
@override String get showHeroSection => '주요 추천 영역 표시';
|
|
@override String get continueWatchingAction => '계속 보기 동작';
|
|
@override String get continueWatchingPlay => '재생';
|
|
@override String get continueWatchingDetails => '상세 정보 열기';
|
|
@override String get episodeAction => '에피소드 동작';
|
|
@override String get episodePlay => '재생';
|
|
@override String get episodeDetails => '상세 정보 열기';
|
|
@override String get useGlobalHubs => '홈 레이아웃 사용';
|
|
@override String get useGlobalHubsDescription => '통합 홈 허브를 표시합니다. 끄면 라이브러리 추천을 사용합니다.';
|
|
@override String get showServerNameOnHubs => '허브에 서버 이름 표시';
|
|
@override String get showServerNameOnHubsDescription => '허브 제목에 항상 서버 이름을 표시합니다.';
|
|
@override String get groupLibrariesByServer => '서버별로 라이브러리 그룹화';
|
|
@override String get groupLibrariesByServerDescription => '사이드바 라이브러리를 미디어 서버별로 그룹화합니다.';
|
|
@override String get alwaysKeepSidebarOpen => '사이드바 항상 열어두기';
|
|
@override String get alwaysKeepSidebarOpenDescription => '사이드바가 확장된 상태로 유지되고 콘텐츠 영역이 맞춰집니다';
|
|
@override String get showUnwatchedCount => '미시청 수 표시';
|
|
@override String get showUnwatchedCountDescription => '시리즈 및 시즌에 미시청 에피소드 수 표시';
|
|
@override String get showEpisodeNumberOnCards => '카드에 에피소드 번호 표시';
|
|
@override String get showEpisodeNumberOnCardsDescription => '에피소드 카드에 시즌 및 에피소드 번호 표시';
|
|
@override String get showSeasonPostersOnTabs => '탭에 시즌 포스터 표시';
|
|
@override String get showSeasonPostersOnTabsDescription => '각 시즌 포스터를 탭 위에 표시';
|
|
@override String get tvFullCardLayout => '전체 TV 카드';
|
|
@override String get tvFullCardLayoutDescription => 'TV 카드에 이미지만 표시하고 배우 이름을 오버레이로 표시';
|
|
@override String get focusGlow => '포커스 글로우';
|
|
@override String get focusGlowDescription => '포커스된 카드 주위에 은은한 빛 효과를 표시';
|
|
@override String get visualEffects => '시각 효과';
|
|
@override String get visualEffectsAuto => '자동';
|
|
@override String get visualEffectsAutoDescription => '저전력 기기에서 효과를 자동으로 줄입니다';
|
|
@override String get visualEffectsFull => '전체';
|
|
@override String get visualEffectsReduced => '축소';
|
|
@override String get visualEffectsReducedDescription => '애니메이션을 줄이고 아트워크 해상도를 낮춥니다';
|
|
@override String get hideSpoilers => '미시청 에피소드 스포일러 숨기기';
|
|
@override String get hideSpoilersDescription => '시청하지 않은 에피소드의 썸네일과 설명을 흐리게 처리';
|
|
@override String get playerBackend => '플레이어 백엔드';
|
|
@override String get exoPlayer => 'ExoPlayer';
|
|
@override String get mpv => 'mpv';
|
|
@override String get hardwareDecoding => '하드웨어 디코딩';
|
|
@override String get hardwareDecodingDescription => '가능한 경우 하드웨어 가속을 사용합니다';
|
|
@override String get bufferSize => '버퍼 크기';
|
|
@override String bufferSizeMB({required Object size}) => '${size}MB';
|
|
@override String get bufferSizeAuto => '자동 (권장)';
|
|
@override String bufferSizeWarning({required Object heap, required Object size}) => '${heap}MB 메모리를 사용할 수 있습니다. ${size}MB 버퍼는 재생에 영향을 줄 수 있습니다.';
|
|
@override String get defaultQualityTitle => '기본 화질';
|
|
@override String get musicQualityTitle => '음악 음질';
|
|
@override String get subtitleStyling => '자막 스타일';
|
|
@override String get subtitleStylingDescription => '자막 모양을 사용자 지정합니다';
|
|
@override String get smallSkipDuration => '짧은 건너뛰기 시간';
|
|
@override String get largeSkipDuration => '긴 건너뛰기 시간';
|
|
@override String get rewindOnResume => '재개 시 되감기';
|
|
@override String secondsUnit({required Object seconds}) => '${seconds}초';
|
|
@override String get defaultSleepTimer => '기본 취침 타이머';
|
|
@override String minutesUnit({required Object minutes}) => '${minutes}분';
|
|
@override String get rememberTrackSelections => '시리즈/영화별 트랙 선택 기억';
|
|
@override String get rememberTrackSelectionsDescription => '작품별 오디오 및 자막 선택 기억';
|
|
@override String get showChapterMarkersOnTimeline => '탐색 막대에 챕터 마커 표시';
|
|
@override String get showChapterMarkersOnTimelineDescription => '챕터 경계에서 탐색 막대 구분';
|
|
@override String get clickVideoTogglesPlayback => '동영상 클릭으로 재생/일시정지 전환';
|
|
@override String get clickVideoTogglesPlaybackDescription => '컨트롤을 표시하는 대신 동영상을 클릭하여 재생하거나 일시정지합니다.';
|
|
@override String get videoPlayerControls => '비디오 플레이어 컨트롤';
|
|
@override String get keyboardShortcuts => '키보드 단축키';
|
|
@override String get keyboardShortcutsDescription => '키보드 단축키를 사용자 지정합니다';
|
|
@override String get videoPlayerNavigation => '비디오 플레이어 탐색';
|
|
@override String get videoPlayerNavigationDescription => '방향 키로 비디오 플레이어 컨트롤을 탐색합니다';
|
|
@override String get watchTogetherRelay => '함께 보기 릴레이';
|
|
@override String get watchTogetherRelayDescription => '사용자 지정 릴레이를 설정합니다. 모두 같은 서버를 사용해야 합니다.';
|
|
@override String get watchTogetherRelayHint => 'https://my-relay.example.com';
|
|
@override String get watchTogetherRelayInvalid => '올바른 HTTP 또는 HTTPS 릴레이 기본 URL을 입력하세요.';
|
|
@override String get crashReporting => '충돌 보고';
|
|
@override String get crashReportingDescription => '앱 개선을 위해 충돌 보고서 전송';
|
|
@override String get debugLogging => '디버그 로깅';
|
|
@override String get debugLoggingDescription => '문제 해결을 위해 상세 로깅 활성화';
|
|
@override String get viewLogs => '로그 보기';
|
|
@override String get viewLogsDescription => '애플리케이션 로그 확인';
|
|
@override String get clearCache => '캐시 삭제';
|
|
@override String get clearCacheDescription => '캐시된 이미지와 데이터를 지웁니다. 콘텐츠 로드가 느려질 수 있습니다.';
|
|
@override String get clearCacheSuccess => '캐시 삭제 성공';
|
|
@override String get resetSettings => '설정 재설정';
|
|
@override String get resetSettingsDescription => '기본 설정으로 복원합니다. 되돌릴 수 없습니다.';
|
|
@override String get resetSettingsSuccess => '설정 재설정 성공';
|
|
@override String get backup => '백업';
|
|
@override String get exportSettings => '설정 내보내기';
|
|
@override String get exportSettingsDescription => '기본 설정을 파일로 저장';
|
|
@override String get exportSettingsSuccess => '설정 내보내기 완료';
|
|
@override String get importSettings => '설정 가져오기';
|
|
@override String get importSettingsDescription => '파일에서 기본 설정 복원';
|
|
@override String get importSettingsConfirm => '현재 설정을 대체합니다. 계속하시겠습니까?';
|
|
@override String get importSettingsSuccess => '설정 가져오기 완료';
|
|
@override String get importSettingsInvalidFile => '유효한 Plezy 설정 내보내기 파일이 아닙니다';
|
|
@override String get importSettingsNoUser => '설정을 가져오기 전에 로그인하세요';
|
|
@override String get shortcutsReset => '단축키가 기본값으로 재설정되었습니다';
|
|
@override String get about => '정보';
|
|
@override String get aboutDescription => '앱 정보 및 라이선스';
|
|
@override String get updates => '업데이트';
|
|
@override String get updateAvailable => '사용 가능한 업데이트 있음';
|
|
@override String get checkForUpdates => '업데이트 확인';
|
|
@override String get autoCheckUpdatesOnStartup => '시작 시 자동으로 업데이트 확인';
|
|
@override String get autoCheckUpdatesOnStartupDescription => '실행 시 업데이트가 있으면 알림';
|
|
@override String get validationErrorEnterNumber => '유효한 숫자를 입력하세요';
|
|
@override String validationErrorDuration({required Object min, required Object max, required Object unit}) => '기간은 ${min}과 ${max} ${unit} 사이여야 합니다';
|
|
@override String shortcutAlreadyAssigned({required Object action}) => '단축키가 이미 ${action}에 할당되었습니다';
|
|
@override String shortcutUpdated({required Object action}) => '${action} 단축키가 업데이트되었습니다';
|
|
@override String get saveFailed => '변경 사항을 저장하지 못했습니다. 다시 시도하세요.';
|
|
@override String get autoSkip => '자동 건너뛰기';
|
|
@override String get autoSkipIntro => '자동으로 오프닝 건너뛰기';
|
|
@override String get autoSkipIntroDescription => '몇 초 후 오프닝을 자동으로 건너뛰기';
|
|
@override String get autoSkipCredits => '자동으로 엔딩 건너뛰기';
|
|
@override String get autoSkipCreditsDescription => '엔딩 크레딧 자동 건너뛰기 후 다음 에피소드 재생';
|
|
@override String get forceSkipMarkerFallback => '대체 마커 강제 사용';
|
|
@override String get forceSkipMarkerFallbackDescription => 'Plex에 마커가 있어도 챕터 제목 패턴 사용';
|
|
@override String get autoSkipDelay => '자동 건너뛰기 지연';
|
|
@override String autoSkipDelayDescription({required Object seconds}) => '자동으로 건너뛰기 전 ${seconds}초 대기';
|
|
@override String get introPattern => '인트로 마커 패턴';
|
|
@override String get introPatternDescription => '챕터 제목에서 인트로 마커를 인식하는 정규식 패턴';
|
|
@override String get creditsPattern => '크레딧 마커 패턴';
|
|
@override String get creditsPatternDescription => '챕터 제목에서 크레딧 마커를 인식하는 정규식 패턴';
|
|
@override String get invalidRegex => '잘못된 정규식';
|
|
@override String get regex => '정규식';
|
|
@override String get downloads => '다운로드';
|
|
@override String get downloadLocationDescription => '다운로드 콘텐츠 저장 위치 선택';
|
|
@override String get downloadLocationDefault => '기본값 (앱 저장소)';
|
|
@override String get downloadLocationCustom => '사용자 지정 위치';
|
|
@override String get selectFolder => '폴더 선택';
|
|
@override String get resetToDefault => '기본값으로 재설정';
|
|
@override String currentPath({required Object path}) => '현재: ${path}';
|
|
@override String get downloadLocationChanged => '다운로드 위치가 변경되었습니다';
|
|
@override String get downloadLocationReset => '다운로드 위치가 기본값으로 재설정되었습니다';
|
|
@override String get downloadLocationInvalid => '선택한 폴더에 쓰기 권한이 없습니다';
|
|
@override String get downloadLocationPickerUnavailable => '이 기기에서는 폴더를 선택할 수 없습니다';
|
|
@override String get downloadOnWifiOnly => 'Wi-Fi 연결 시에만 다운로드';
|
|
@override String get downloadOnWifiOnlyDescription => '셀룰러 데이터 사용 중에는 다운로드하지 않습니다';
|
|
@override String get autoRemoveWatchedDownloads => '시청한 다운로드 항목 자동 삭제';
|
|
@override String get autoRemoveWatchedDownloadsDescription => '시청한 다운로드 항목을 자동으로 삭제합니다';
|
|
@override String get cellularDownloadBlocked => '셀룰러에서는 다운로드가 차단됩니다. Wi-Fi를 사용하거나 설정을 변경하세요.';
|
|
@override String get maxVolume => '최대 볼륨';
|
|
@override String get maxVolumeDescription => '음량이 작은 콘텐츠를 위해 100% 이상의 볼륨을 허용합니다';
|
|
@override String maxVolumePercent({required Object percent}) => '${percent}%';
|
|
@override String get discordRichPresence => 'Discord Rich Presence';
|
|
@override String get discordRichPresenceDescription => 'Discord에서 시청 중인 콘텐츠 표시';
|
|
@override String get services => '서비스';
|
|
@override String get servicesDescription => 'Trakt, MyAnimeList, Seerr 등 연결';
|
|
@override String get manageLibrariesDescription => '라이브러리 순서를 변경하거나 숨깁니다';
|
|
@override String get companionRemoteServer => '컴패니언 리모트 서버';
|
|
@override String get companionRemoteServerDescription => '네트워크의 모바일 기기가 이 앱을 제어할 수 있도록 허용';
|
|
@override String get autoPip => '자동 PIP 모드';
|
|
@override String get autoPipDescription => '재생 중 앱을 떠나면 자동으로 화면 속 화면 모드로 전환합니다';
|
|
@override String get matchContentFrameRate => '콘텐츠 프레임 레이트 맞춤';
|
|
@override String get matchContentFrameRateDescription => '디스플레이 새로 고침 빈도를 동영상 콘텐츠에 맞춤';
|
|
@override String get matchRefreshRate => '주사율 맞춤';
|
|
@override String get matchRefreshRateDescription => '전체 화면에서 디스플레이 새로 고침 빈도 맞춤';
|
|
@override String get matchDynamicRange => '다이나믹 레인지 맞춤';
|
|
@override String get matchDynamicRangeDescription => 'HDR 콘텐츠에서는 HDR로 전환한 뒤 SDR로 되돌림';
|
|
@override String get displaySwitchDelay => '디스플레이 전환 지연';
|
|
@override String get tunneledPlayback => '터널 재생';
|
|
@override String get tunneledPlaybackDescription => '비디오 터널링을 사용합니다. HDR 재생 시 검은 화면이 보이면 비활성화하세요.';
|
|
@override String get audioPassthrough => '오디오 패스스루';
|
|
@override String get audioPassthroughDescription => 'Dolby/DTS 오디오를 재인코딩 없이 리시버나 TV로 전송하여 서라운드 사운드를 유지합니다. 소리가 나지 않으면 비활성화하세요.';
|
|
@override String get audioPassthroughDescriptionAppleTv => 'Dolby Digital Plus(Atmos 포함)에 Apple의 기본 Dolby 디코더를 사용합니다. DTS와 TrueHD는 계속 멀티채널 PCM으로 재생됩니다. 소리가 나지 않으면 비활성화하세요.';
|
|
@override String get audioDownmix => '스테레오로 다운믹스';
|
|
@override String get audioDownmixDescription => '서라운드 오디오를 스테레오 스피커나 헤드폰용 2채널로 믹스합니다';
|
|
@override String get downmixCenterBoost => '센터 채널 부스트';
|
|
@override String downmixCenterBoostValue({required Object db}) => '${db} dB';
|
|
@override String get downmixCenterBoostLabel => '부스트 (dB)';
|
|
@override String get downmixCenterBoostShort => 'dB';
|
|
@override String get audioDownmixNormalize => '다운믹스 시 음량 정규화';
|
|
@override String get audioDownmixNormalizeDescription => '클리핑을 방지하기 위해 믹스 음량을 낮춥니다. 원래 음량을 유지하려면 끄세요(큰 소리 장면에서 왜곡될 수 있음).';
|
|
@override String get atmosDiagnostics => 'Atmos 출력 테스트';
|
|
@override String get atmosDiagnosticsDescription => '시스템 플레이어로 테스트 신호를 재생하여 Dolby Atmos 출력을 진단합니다';
|
|
@override String get atmosTestHlsAtmos => 'Apple Atmos 스트림';
|
|
@override String get atmosTestHlsAtmosDescription => '검증된 Dolby Atmos 스트림입니다. 리시버에 Dolby Atmos가 표시되어야 합니다.';
|
|
@override String get atmosTestHlsControl => 'Apple 서라운드 스트림';
|
|
@override String get atmosTestHlsControlDescription => 'Atmos 없는 대조용 스트림입니다. 리시버에 Atmos 없는 서라운드가 표시되어야 합니다.';
|
|
@override String get atmosTestRawStream => '원시 EAC3 스트림';
|
|
@override String get atmosTestRawStreamDescription => '플레이어 내 Atmos 재생과 동일한 방식으로 테스트 파일을 스트리밍합니다. 테스트 파일 URL이 필요합니다.';
|
|
@override String get atmosTestRawFile => '원시 EAC3 파일';
|
|
@override String get atmosTestRawFileDescription => '길이가 알려진 테스트 파일을 재생합니다. 테스트 파일 URL이 필요합니다.';
|
|
@override String get atmosTestStop => '테스트 중지';
|
|
@override String get atmosTestUrl => '테스트 파일 URL';
|
|
@override String get atmosTestUrlDescription => '원시 .ec3 Dolby Atmos 파일의 HTTP URL(예: ffmpeg로 추출)';
|
|
@override String get atmosTestUrlMissing => '먼저 테스트 파일 URL을 설정하세요';
|
|
@override String get atmosTestStatus => '상태';
|
|
@override String get dvConversionMode => 'Dolby Vision 변환';
|
|
@override String get dvConversionModeDescription => 'ExoPlayer가 Dolby Vision Profile 7 파일을 처리하는 방식을 선택합니다.';
|
|
@override String get dvConversionAuto => '자동';
|
|
@override String get dvConversionNative => '네이티브 / 비활성화';
|
|
@override String get dvConversionDv81 => 'P7 → P8.1';
|
|
@override String get dvConversionHevcStrip => 'P7 → HEVC';
|
|
@override String get dvConversionAutoDescription => '기기 기능 감지와 일반 폴백 동작을 사용합니다';
|
|
@override String get dvConversionNativeDescription => '네이티브 DV7을 강제하고 DV 변환 재시도를 억제합니다';
|
|
@override String get dvConversionDv81Description => 'Dolby Vision 프로필 8.1로 인라인 RPU 변환을 강제합니다';
|
|
@override String get dvConversionHevcStripDescription => 'Dolby Vision RPU/EL 레이어를 제거하고 일반 HEVC로 제공합니다';
|
|
@override String get requireProfileSelectionOnOpen => '앱 실행 시 프로필 선택';
|
|
@override String get requireProfileSelectionOnOpenDescription => '앱을 열 때마다 프로필 선택 화면을 표시합니다';
|
|
@override String get forceTvMode => 'TV 모드 강제 사용';
|
|
@override String get forceTvModeDescription => 'TV 레이아웃을 강제합니다. 자동 감지되지 않는 기기용입니다. 재시작이 필요합니다.';
|
|
@override String get startInFullscreen => '전체 화면으로 시작';
|
|
@override String get startInFullscreenDescription => '실행 시 Plezy를 전체 화면 모드로 엽니다';
|
|
@override String get exitFullscreenOnPlayerClose => '플레이어를 닫을 때 전체 화면 종료';
|
|
@override String get exitFullscreenOnPlayerCloseDescription => '비디오 플레이어를 닫을 때 자동으로 전체 화면을 종료합니다';
|
|
@override String get autoHidePerformanceOverlay => '성능 오버레이 자동 숨기기';
|
|
@override String get autoHidePerformanceOverlayDescription => '재생 컨트롤과 함께 성능 오버레이를 페이드 처리';
|
|
@override String get showNavBarLabels => '내비게이션 바 라벨 표시';
|
|
@override String get showNavBarLabelsDescription => '내비게이션 바 아이콘 아래에 텍스트 라벨을 표시합니다';
|
|
@override String get startupSection => '시작 섹션';
|
|
@override String get liveTvDefaultFavorites => '즐겨찾기 채널 기본 설정';
|
|
@override String get liveTvDefaultFavoritesDescription => '라이브 TV를 열 때 즐겨찾기 채널만 표시';
|
|
@override String get display => '디스플레이';
|
|
@override String get homeScreen => '홈 화면';
|
|
@override String get navigation => '탐색';
|
|
@override String get window => '창';
|
|
@override String get content => '콘텐츠';
|
|
@override String get player => '플레이어';
|
|
@override String get subtitlesAndConfig => '자막 및 구성';
|
|
@override String get seekAndTiming => '탐색 및 타이밍';
|
|
@override String get behavior => '동작';
|
|
}
|
|
|
|
// Path: search
|
|
class _Translations$search$ko extends Translations$search$en {
|
|
_Translations$search$ko._(TranslationsKo root) : this._root = root, super.internal(root);
|
|
|
|
final TranslationsKo _root; // ignore: unused_field
|
|
|
|
// Translations
|
|
@override String get hint => '영화, 시리즈, 음악 등을 검색하세요...';
|
|
@override String get tryDifferentTerm => '다른 검색어를 시도해 보세요';
|
|
@override String get searchYourMedia => '미디어 검색';
|
|
@override String get enterTitleActorOrKeyword => '제목, 배우 또는 키워드를 입력하세요';
|
|
}
|
|
|
|
// Path: hotkeys
|
|
class _Translations$hotkeys$ko extends Translations$hotkeys$en {
|
|
_Translations$hotkeys$ko._(TranslationsKo root) : this._root = root, super.internal(root);
|
|
|
|
final TranslationsKo _root; // ignore: unused_field
|
|
|
|
// Translations
|
|
@override String setShortcutFor({required Object actionName}) => '${actionName}에 대한 단축키 설정';
|
|
@override String get clearShortcut => '단축키 삭제';
|
|
@override String get noShortcutSet => '설정된 단축키 없음';
|
|
@override String get currentShortcut => '현재 단축키:';
|
|
@override String get pressToRecord => '단축키를 기록하려면 선택';
|
|
@override String get recordingShortcut => '지금 단축키를 누르세요';
|
|
@override late final _Translations$hotkeys$actions$ko actions = _Translations$hotkeys$actions$ko._(_root);
|
|
}
|
|
|
|
// Path: fileInfo
|
|
class _Translations$fileInfo$ko extends Translations$fileInfo$en {
|
|
_Translations$fileInfo$ko._(TranslationsKo root) : this._root = root, super.internal(root);
|
|
|
|
final TranslationsKo _root; // ignore: unused_field
|
|
|
|
// Translations
|
|
@override String get title => '파일 정보';
|
|
@override String get video => '비디오';
|
|
@override String get audio => '오디오';
|
|
@override String get file => '파일';
|
|
@override String get advanced => '고급';
|
|
@override String get codec => '코덱';
|
|
@override String get resolution => '해상도';
|
|
@override String get bitrate => '비트레이트';
|
|
@override String get frameRate => '프레임 속도';
|
|
@override String get aspectRatio => '종횡비';
|
|
@override String get profile => '프로파일';
|
|
@override String get bitDepth => '비트 심도';
|
|
@override String get colorSpace => '색 공간';
|
|
@override String get colorRange => '색 범위';
|
|
@override String get colorPrimaries => '색 원색';
|
|
@override String get chromaSubsampling => '색차 서브샘플링';
|
|
@override String get channels => '채널';
|
|
@override String get subtitles => '자막';
|
|
@override String get overallBitrate => '전체 비트레이트';
|
|
@override String get path => '경로';
|
|
@override String get size => '크기';
|
|
@override String get container => '컨테이너';
|
|
@override String get duration => '재생 시간';
|
|
@override String get optimizedForStreaming => '스트리밍 최적화';
|
|
@override String get has64bitOffsets => '64비트 오프셋';
|
|
}
|
|
|
|
// Path: mediaMenu
|
|
class _Translations$mediaMenu$ko extends Translations$mediaMenu$en {
|
|
_Translations$mediaMenu$ko._(TranslationsKo root) : this._root = root, super.internal(root);
|
|
|
|
final TranslationsKo _root; // ignore: unused_field
|
|
|
|
// Translations
|
|
@override String get markAsWatched => '시청 완료로 표시';
|
|
@override String get markAsUnwatched => '미시청으로 표시';
|
|
@override String get removeFromContinueWatching => '계속 보기에서 제거';
|
|
@override String get viewDetails => '상세 정보 보기';
|
|
@override String get goToSeries => '시리즈로 이동';
|
|
@override String get shufflePlay => '무작위 재생';
|
|
@override String get shuffleNotAvailableOffline => '오프라인에서는 무작위 재생을 사용할 수 없습니다';
|
|
@override String get fileInfo => '파일 정보';
|
|
@override String get deleteFromServer => '서버에서 삭제';
|
|
@override String get confirmDelete => '이 미디어와 해당 파일을 서버에서 삭제할까요?';
|
|
@override String get deleteMultipleWarning => '모든 에피소드와 파일이 포함됩니다.';
|
|
@override String get mediaDeletedSuccessfully => '미디어 항목이 성공적으로 삭제되었습니다';
|
|
@override String get mediaFailedToDelete => '미디어 항목 삭제 실패';
|
|
@override String get rate => '평가';
|
|
@override String get playFromBeginning => '처음부터 재생';
|
|
@override String get playVersion => '버전 재생...';
|
|
}
|
|
|
|
// Path: rateSheet
|
|
class _Translations$rateSheet$ko extends Translations$rateSheet$en {
|
|
_Translations$rateSheet$ko._(TranslationsKo root) : this._root = root, super.internal(root);
|
|
|
|
final TranslationsKo _root; // ignore: unused_field
|
|
|
|
// Translations
|
|
@override String get title => '평가';
|
|
@override String get server => '서버';
|
|
@override String get favorite => '즐겨찾기';
|
|
@override String get favorited => '즐겨찾기됨';
|
|
@override String get saved => '저장됨';
|
|
@override String get notAvailable => '일치 항목 없음';
|
|
@override String get noConnectedServices => '평가하려면 설정에서 서비스를 연결하세요.';
|
|
}
|
|
|
|
// Path: accessibility
|
|
class _Translations$accessibility$ko extends Translations$accessibility$en {
|
|
_Translations$accessibility$ko._(TranslationsKo root) : this._root = root, super.internal(root);
|
|
|
|
final TranslationsKo _root; // ignore: unused_field
|
|
|
|
// Translations
|
|
@override String mediaCardMovie({required Object title}) => '${title}, 영화';
|
|
@override String mediaCardShow({required Object title}) => '${title}, TV 프로그램';
|
|
@override String mediaCardEpisode({required Object title, required Object episodeInfo}) => '${title}, ${episodeInfo}';
|
|
@override String mediaCardSeason({required Object title, required Object seasonInfo}) => '${title}, ${seasonInfo}';
|
|
@override String get mediaCardWatched => '시청 완료';
|
|
@override String mediaCardPartiallyWatched({required Object percent}) => '${percent}% 시청 완료';
|
|
@override String get mediaCardUnwatched => '미시청';
|
|
@override String get tapToPlay => '탭하여 재생';
|
|
@override String get decrease => '낮추기';
|
|
@override String get increase => '높이기';
|
|
@override String decreaseValue({required Object label}) => '${label} 낮추기';
|
|
@override String increaseValue({required Object label}) => '${label} 높이기';
|
|
@override String get hue => '색조';
|
|
@override String get saturation => '채도';
|
|
@override String get brightness => '밝기';
|
|
@override String get hexColor => '16진수 색상';
|
|
@override String get expandText => '텍스트 펼치기';
|
|
@override String get collapseText => '텍스트 접기';
|
|
@override String get alphabetNavigation => '알파벳 탐색';
|
|
@override String get alphabetScrollHint => '위아래로 스와이프하여 글자별로 이동';
|
|
@override String rowColumnPosition({required Object rowCount, required Object row, required Object columnCount, required Object column}) => '${rowCount}행 중 ${row}행, ${columnCount}열 중 ${column}열';
|
|
@override String rowPosition({required Object rowCount, required Object row}) => '${rowCount}행 중 ${row}행';
|
|
}
|
|
|
|
// Path: tooltips
|
|
class _Translations$tooltips$ko extends Translations$tooltips$en {
|
|
_Translations$tooltips$ko._(TranslationsKo root) : this._root = root, super.internal(root);
|
|
|
|
final TranslationsKo _root; // ignore: unused_field
|
|
|
|
// Translations
|
|
@override String get shufflePlay => '무작위 재생';
|
|
@override String get playTrailer => '예고편 재생';
|
|
@override String get markAsWatched => '시청 완료로 표시';
|
|
@override String get markAsUnwatched => '미시청으로 표시';
|
|
}
|
|
|
|
// Path: audioTracks
|
|
class _Translations$audioTracks$ko extends Translations$audioTracks$en {
|
|
_Translations$audioTracks$ko._(TranslationsKo root) : this._root = root, super.internal(root);
|
|
|
|
final TranslationsKo _root; // ignore: unused_field
|
|
|
|
// Translations
|
|
@override String track({required Object n}) => '오디오 트랙 ${n}';
|
|
}
|
|
|
|
// Path: videoControls
|
|
class _Translations$videoControls$ko extends Translations$videoControls$en {
|
|
_Translations$videoControls$ko._(TranslationsKo root) : this._root = root, super.internal(root);
|
|
|
|
final TranslationsKo _root; // ignore: unused_field
|
|
|
|
// Translations
|
|
@override String get audioLabel => '오디오';
|
|
@override String get subtitlesLabel => '자막';
|
|
@override String get resetToZero => '0ms로 재설정';
|
|
@override String addTime({required Object amount, required Object unit}) => '+${amount}${unit}';
|
|
@override String minusTime({required Object amount, required Object unit}) => '-${amount}${unit}';
|
|
@override String playsLater({required Object label}) => '${label} 나중에 재생됨';
|
|
@override String playsEarlier({required Object label}) => '${label} 더 먼저 재생됨';
|
|
@override String get noOffset => '오프셋 없음';
|
|
@override String get letterbox => '레터박스 모드';
|
|
@override String get fillScreen => '화면 채우기';
|
|
@override String get stretch => '확장';
|
|
@override String get lockRotation => '회전 잠금';
|
|
@override String get unlockRotation => '회전 잠금 해제';
|
|
@override String get timerActive => '타이머 활성화됨';
|
|
@override String playbackWillPauseIn({required Object duration}) => '${duration} 후 재생이 일시정지됩니다';
|
|
@override String get sleepTimerEndOfVideo => '현재 비디오의 끝';
|
|
@override String get sleepTimerStopAtHeader => '정지 시점';
|
|
@override String get sleepTimerDurationHeader => '타이머';
|
|
@override String get playbackWillPauseAtEnd => '재생이 이 비디오의 끝에서 일시 중지됩니다';
|
|
@override String get stillWatching => '아직 시청 중이신가요?';
|
|
@override String pausingIn({required Object seconds}) => '${seconds}초 후 일시 정지';
|
|
@override String get continueWatching => '계속';
|
|
@override String get autoPlayNext => '다음 자동 재생';
|
|
@override String get playNext => '다음 재생';
|
|
@override String get playButton => '재생';
|
|
@override String get pauseButton => '일시정지';
|
|
@override String get showPlaybackControls => '재생 컨트롤 표시';
|
|
@override String get hidePlaybackControls => '재생 컨트롤 숨기기';
|
|
@override String seekBackwardButton({required Object seconds}) => '${seconds}초 뒤로 이동';
|
|
@override String seekForwardButton({required Object seconds}) => '${seconds}초 앞으로 이동';
|
|
@override String get previousButton => '이전 에피소드';
|
|
@override String get nextButton => '다음 에피소드';
|
|
@override String get previousChapterButton => '이전 챕터';
|
|
@override String get nextChapterButton => '다음 챕터';
|
|
@override String get muteButton => '음소거';
|
|
@override String get unmuteButton => '음소거 해제';
|
|
@override String get settingsButton => '재생 설정';
|
|
@override String get tracksButton => '오디오 및 자막';
|
|
@override String get chaptersButton => '챕터';
|
|
@override String get versionQualityButton => '버전 및 화질';
|
|
@override String get versionColumnHeader => '버전';
|
|
@override String get qualityColumnHeader => '화질';
|
|
@override String get qualityOriginal => '원본';
|
|
@override String qualityPresetLabel({required Object resolution, required Object bitrate}) => '${resolution}p ${bitrate} Mbps';
|
|
@override String get transcodeUnavailableFallback => '트랜스코딩을 사용할 수 없음 — 원본 화질로 재생';
|
|
@override String get subtitleUnavailableFallback => '선택한 자막을 불러올 수 없어 자막 없이 재생을 계속합니다';
|
|
@override String get pipButton => '픽처 인 픽처 모드';
|
|
@override String get aspectRatioButton => '화면비율';
|
|
@override String get ambientLighting => '주변 조명';
|
|
@override String get fullscreenButton => '전체 화면';
|
|
@override String get exitFullscreenButton => '전체 화면 종료';
|
|
@override String get alwaysOnTopButton => '창 최상위 고정';
|
|
@override String get rotationLockButton => '회전 잠금';
|
|
@override String get lockScreen => '화면 잠금';
|
|
@override String get screenLockButton => '화면 잠금';
|
|
@override String get longPressToUnlock => '길게 눌러 잠금 해제';
|
|
@override String get timelineSlider => '타임라인';
|
|
@override String get volumeSlider => '볼륨 조절';
|
|
@override String endsAt({required Object time}) => '${time}에 종료';
|
|
@override String get pipActive => '화면 속 화면으로 재생 중';
|
|
@override String get pipFailed => '화면 속 화면 모드를 시작할 수 없습니다';
|
|
@override String get screenshotSaved => '스크린샷 저장됨';
|
|
@override String zoomPercent({required Object percent}) => '확대/축소 ${percent}%';
|
|
@override late final _Translations$videoControls$pipErrors$ko pipErrors = _Translations$videoControls$pipErrors$ko._(_root);
|
|
@override String get chapters => '챕터';
|
|
@override String get noChaptersAvailable => '사용 가능한 챕터가 없습니다';
|
|
@override String get queue => '재생 대기열';
|
|
@override String get noQueueItems => '대기열에 항목이 없습니다';
|
|
@override String get searchSubtitles => '자막 검색';
|
|
@override String get language => '언어';
|
|
@override String get noSubtitlesFound => '자막을 찾을 수 없습니다';
|
|
@override String get noSubtitlesAvailable => '사용 가능한 자막 없음';
|
|
@override String get noAudioTracksAvailable => '사용 가능한 오디오 트랙 없음';
|
|
@override String get noTracksAvailable => '사용 가능한 트랙 없음';
|
|
@override String get subtitleDownloaded => '자막이 다운로드되었습니다';
|
|
@override String get subtitleDownloadedNotApplied => '자막을 다운로드했지만 선택할 수 없습니다';
|
|
@override String get subtitleDownloadFailed => '자막 다운로드에 실패했습니다';
|
|
@override String get searchLanguages => '언어 검색...';
|
|
}
|
|
|
|
// Path: messages
|
|
class _Translations$messages$ko extends Translations$messages$en {
|
|
_Translations$messages$ko._(TranslationsKo root) : this._root = root, super.internal(root);
|
|
|
|
final TranslationsKo _root; // ignore: unused_field
|
|
|
|
// Translations
|
|
@override String get markedAsWatched => '시청 완료로 표시됨';
|
|
@override String get markedAsUnwatched => '미시청으로 표시됨';
|
|
@override String get markedAsWatchedOffline => '시청 완료로 표시됨 (연결 시 동기화됨)';
|
|
@override String get markedAsUnwatchedOffline => '미시청으로 표시됨 (연결 시 동기화됨)';
|
|
@override String autoRemovedWatchedDownload({required Object title}) => '자동 삭제됨: ${title}';
|
|
@override String autoRemovedWatchedDownloads({required num n}) => (_root.$meta.cardinalResolver ?? PluralResolvers.cardinal('ko'))(n,
|
|
other: '시청한 다운로드 ${n}개를 자동 삭제했습니다',
|
|
);
|
|
@override String get removedFromContinueWatching => '계속 시청 목록에서 제거됨';
|
|
@override String errorLoading({required Object error}) => '오류: ${error}';
|
|
@override String get streamInterrupted => '스트림이 중단되었습니다. 재생을 누르거나 탐색하여 다시 시도하세요.';
|
|
@override String get liveStreamInterrupted => '라이브 스트림이 중단되었습니다. 재생을 눌러 다시 시도하세요.';
|
|
@override String get fileInfoNotAvailable => '파일 정보가 없습니다';
|
|
@override String get playbackAuthenticationRequired => '이 항목을 재생하려면 미디어 서버에 다시 로그인하세요.';
|
|
@override String get playbackServerUnavailable => '미디어 서버를 사용할 수 없습니다. 나중에 다시 시도하세요.';
|
|
@override String get playbackDataInvalid => '서버에서 잘못된 재생 정보를 반환했습니다.';
|
|
@override String get playbackCancelled => '재생이 취소되었습니다.';
|
|
@override String get playbackFailed => '재생을 시작할 수 없습니다.';
|
|
@override String errorLoadingFileInfo({required Object error}) => '파일 정보 로딩 중 오류: ${error}';
|
|
@override String get errorLoadingSeries => '시리즈 로딩 중 오류';
|
|
@override String get musicNotSupported => '음악 재생 미지원';
|
|
@override String get noDescriptionAvailable => '설명이 없습니다';
|
|
@override String get noProfilesAvailable => '사용 가능한 프로필이 없습니다';
|
|
@override String get contactAdminForProfiles => '프로필을 추가하려면 서버 관리자에게 문의하세요';
|
|
@override String get unableToDetermineLibrarySection => '이 항목의 라이브러리 섹션을 확인할 수 없습니다';
|
|
@override String get logsCleared => '로그가 삭제되었습니다';
|
|
@override String get logsCopied => '로그가 클립보드에 복사되었습니다';
|
|
@override String get noLogsAvailable => '사용 가능한 로그가 없습니다';
|
|
@override String libraryScanning({required Object title}) => '"${title}"을(를) 스캔 중입니다...';
|
|
@override String libraryScanStarted({required Object title}) => '"${title}" 미디어 라이브러리 스캔 시작';
|
|
@override String libraryScanFailed({required Object error}) => '미디어 라이브러리 스캔 실패: ${error}';
|
|
@override String metadataRefreshing({required Object title}) => '"${title}" 메타데이터 새로고침 중...';
|
|
@override String metadataRefreshStarted({required Object title}) => '"${title}" 메타데이터 새로고침 시작됨';
|
|
@override String metadataRefreshFailed({required Object error}) => '메타데이터 새로고침 실패: ${error}';
|
|
@override String get logoutConfirm => '로그아웃하시겠습니까?';
|
|
@override String get noSeasonsFound => '시즌을 찾을 수 없음';
|
|
@override String get seasonsLoadFailed => '시즌을 불러오지 못했습니다';
|
|
@override String get noEpisodesFound => '시즌 1에서 에피소드를 찾을 수 없습니다';
|
|
@override String get noEpisodesFoundGeneral => '에피소드를 찾을 수 없습니다';
|
|
@override String get episodesLoadFailed => '에피소드를 불러오지 못했습니다';
|
|
@override String get noResultsFound => '결과를 찾을 수 없습니다';
|
|
@override String sleepTimerSet({required Object label}) => '취침 타이머가 ${label}(으)로 설정되었습니다';
|
|
@override String get noItemsAvailable => '사용 가능한 항목이 없습니다';
|
|
@override String get failedToCreatePlayQueueNoItems => '재생 대기열을 만들지 못했습니다 — 항목이 없습니다';
|
|
@override String failedPlayback({required Object action, required Object error}) => '${action}을(를) 수행할 수 없습니다: ${error}';
|
|
@override String get switchingToCompatiblePlayer => '호환되는 플레이어로 전환 중...';
|
|
@override String get serverLimitTitle => '재생 실패';
|
|
@override String get serverLimitBody => '서버 오류(HTTP 500). 대역폭/트랜스코딩 제한으로 세션이 거부된 것 같습니다. 소유자에게 조정을 요청하세요.';
|
|
@override String get logsUploaded => '로그 업로드 완료';
|
|
@override String get logsUploadFailed => '로그 업로드 실패';
|
|
@override String get logId => '로그 ID';
|
|
}
|
|
|
|
// Path: subtitlingStyling
|
|
class _Translations$subtitlingStyling$ko extends Translations$subtitlingStyling$en {
|
|
_Translations$subtitlingStyling$ko._(TranslationsKo root) : this._root = root, super.internal(root);
|
|
|
|
final TranslationsKo _root; // ignore: unused_field
|
|
|
|
// Translations
|
|
@override String get text => '텍스트';
|
|
@override String get border => '테두리';
|
|
@override String get background => '배경';
|
|
@override String get fontSize => '글자 크기';
|
|
@override String get textColor => '텍스트 색상';
|
|
@override String get borderSize => '테두리 크기';
|
|
@override String get borderColor => '테두리 색상';
|
|
@override String get backgroundOpacity => '배경 불투명도';
|
|
@override String get backgroundColor => '배경색';
|
|
@override String get position => '위치';
|
|
@override String get assOverride => 'ASS 오버라이드';
|
|
@override String get overrideScale => '크기 조정';
|
|
@override String get overrideForce => '강제 적용';
|
|
@override String get overrideStrip => '스타일 제거';
|
|
@override String get positionTop => '위';
|
|
@override String get positionBottom => '아래';
|
|
@override String get bold => '굵게';
|
|
@override String get italic => '기울임꼴';
|
|
@override String get renderResolution => '렌더링 해상도';
|
|
@override String get renderResolutionScreen => '화면 해상도';
|
|
@override String get renderResolutionVideo => '영상 해상도';
|
|
}
|
|
|
|
// Path: mpvConfig
|
|
class _Translations$mpvConfig$ko extends Translations$mpvConfig$en {
|
|
_Translations$mpvConfig$ko._(TranslationsKo root) : this._root = root, super.internal(root);
|
|
|
|
final TranslationsKo _root; // ignore: unused_field
|
|
|
|
// Translations
|
|
@override String get title => 'mpv.conf';
|
|
@override String get description => '고급 비디오 플레이어 설정';
|
|
@override String get presets => '프리셋';
|
|
@override String get noPresets => '저장된 프리셋이 없습니다';
|
|
@override String get saveAsPreset => '프리셋으로 저장...';
|
|
@override String get presetName => '프리셋 이름';
|
|
@override String get presetNameHint => '이 프리셋의 이름을 입력하세요';
|
|
@override String get loadPreset => '불러오기';
|
|
@override String get deletePreset => '삭제';
|
|
@override String get presetSaved => '프리셋이 저장되었습니다';
|
|
@override String get presetLoaded => '프리셋을 불러왔습니다';
|
|
@override String get presetDeleted => '프리셋이 삭제되었습니다';
|
|
@override String get confirmDeletePreset => '이 프리셋을 삭제하시겠습니까?';
|
|
@override String get configPlaceholder => 'gpu-api=vulkan\nhwdec=auto\n# comment';
|
|
}
|
|
|
|
// Path: dialog
|
|
class _Translations$dialog$ko extends Translations$dialog$en {
|
|
_Translations$dialog$ko._(TranslationsKo root) : this._root = root, super.internal(root);
|
|
|
|
final TranslationsKo _root; // ignore: unused_field
|
|
|
|
// Translations
|
|
@override String get confirmAction => '작업 확인';
|
|
}
|
|
|
|
// Path: profiles
|
|
class _Translations$profiles$ko extends Translations$profiles$en {
|
|
_Translations$profiles$ko._(TranslationsKo root) : this._root = root, super.internal(root);
|
|
|
|
final TranslationsKo _root; // ignore: unused_field
|
|
|
|
// Translations
|
|
@override String get addPlezyProfile => 'Plezy 프로필 추가';
|
|
@override String get switchingProfile => '프로필 전환 중…';
|
|
@override String get deleteThisProfileTitle => '이 프로필을 삭제하시겠습니까?';
|
|
@override String deleteThisProfileMessage({required Object displayName}) => '${displayName}을(를) 제거합니다. 연결에는 영향이 없습니다.';
|
|
@override String get active => '활성';
|
|
@override String get manage => '관리';
|
|
@override String get delete => '삭제';
|
|
@override String get signOut => '로그아웃';
|
|
@override String get signOutPlexTitle => 'Plex에서 로그아웃하시겠습니까?';
|
|
@override String signOutPlexMessage({required Object displayName}) => '${displayName} 및 모든 Plex Home 사용자를 제거할까요? 언제든 다시 로그인할 수 있습니다.';
|
|
@override String get signedOutPlex => 'Plex에서 로그아웃되었습니다.';
|
|
@override String get signOutFailed => '로그아웃에 실패했습니다.';
|
|
@override String get sectionTitle => '프로필';
|
|
@override String get summarySingle => '관리되는 사용자와 로컬 ID를 혼합하려면 프로필을 추가하세요';
|
|
@override String summaryMultipleWithActive({required Object count, required Object activeName}) => '${count}개 프로필 · 활성: ${activeName}';
|
|
@override String summaryMultiple({required Object count}) => '${count}개 프로필';
|
|
@override String get removeConnectionTitle => '연결을 제거하시겠습니까?';
|
|
@override String removeConnectionMessage({required Object displayName, required Object connectionLabel}) => '${displayName}의 ${connectionLabel} 접근 권한을 제거합니다. 다른 프로필에는 유지됩니다.';
|
|
@override String get deleteProfileTitle => '프로필을 삭제하시겠습니까?';
|
|
@override String deleteProfileMessage({required Object displayName}) => '${displayName} 및 해당 연결을 제거합니다. 서버는 계속 사용할 수 있습니다.';
|
|
@override String get profileNameLabel => '프로필 이름';
|
|
@override String get pinProtectionLabel => 'PIN 보호';
|
|
@override String get pinManagedByPlex => 'PIN은 Plex에서 관리됩니다. plex.tv에서 편집하세요.';
|
|
@override String get noPinSetEditOnPlex => '설정된 PIN이 없습니다. 요구하려면 plex.tv에서 Home 사용자를 편집하세요.';
|
|
@override String get setPin => 'PIN 설정';
|
|
@override String get setPinTitle => 'PIN 설정';
|
|
@override String get confirmPinTitle => 'PIN 확인';
|
|
@override String get pinSet => 'PIN 설정됨';
|
|
@override String get changePin => '변경';
|
|
@override String get removePin => '제거';
|
|
@override String get connectionsLabel => '연결';
|
|
@override String get add => '추가';
|
|
@override String get deleteProfileButton => '프로필 삭제';
|
|
@override String get noConnectionsHint => '연결이 없습니다 — 이 프로필을 사용하려면 하나 추가하세요.';
|
|
@override String get noConnections => '연결 없음';
|
|
@override String get plexHomeAccount => 'Plex Home 계정';
|
|
@override String get connectionDefault => '기본값';
|
|
@override String connectionAs({required Object displayName}) => '${displayName}(으)로';
|
|
@override String get makeDefault => '기본값으로 설정';
|
|
@override String get removeConnection => '제거';
|
|
@override String get profileRenamed => '프로필 이름이 변경되었습니다.';
|
|
@override String borrowAddTo({required Object displayName}) => '${displayName}에 추가';
|
|
@override String get borrowExplain => '다른 프로필의 연결을 빌립니다. PIN으로 보호된 프로필에는 PIN이 필요합니다.';
|
|
@override String get borrowEmpty => '아직 빌릴 것이 없습니다.';
|
|
@override String get borrowEmptySubtitle => '먼저 다른 프로필에 Plex 또는 Jellyfin을 연결하세요.';
|
|
@override String get borrowLoadFailed => '사용 가능한 연결을 불러오지 못했습니다. 다시 시도하세요.';
|
|
@override String borrowFromProfile({required Object displayName}) => '${displayName}에서';
|
|
@override String get borrowConnectionBorrowed => '연결을 빌렸습니다.';
|
|
@override String get borrowFailed => '연결을 빌리지 못했습니다.';
|
|
@override String get incorrectPin => 'PIN이 올바르지 않습니다.';
|
|
@override String get incorrectPinTryAgain => 'PIN이 올바르지 않습니다. 다시 시도하세요.';
|
|
@override String get sourceProfileMissingParentAccount => '원본 프로필에 상위 계정이 없습니다.';
|
|
@override String get failedToLoadHomeUsers => 'Plex Home 사용자를 불러올 수 없습니다. 연결을 확인하고 다시 시도하세요.';
|
|
@override String get failedToVerifyPin => 'PIN을 확인하지 못했습니다.';
|
|
@override String get newProfile => '새 프로필';
|
|
@override String get profileNameHint => '예: 손님, 어린이, 가족실';
|
|
@override String get pinProtectionOptional => 'PIN 보호 (선택 사항)';
|
|
@override String get pinExplain => '프로필 전환에는 4자리 PIN이 필요합니다.';
|
|
@override String get continueButton => '계속';
|
|
@override String get pinsDontMatch => 'PIN이 일치하지 않습니다';
|
|
}
|
|
|
|
// Path: connections
|
|
class _Translations$connections$ko extends Translations$connections$en {
|
|
_Translations$connections$ko._(TranslationsKo root) : this._root = root, super.internal(root);
|
|
|
|
final TranslationsKo _root; // ignore: unused_field
|
|
|
|
// Translations
|
|
@override String get sectionTitle => '연결';
|
|
@override String get addConnection => '연결 추가';
|
|
@override String get addConnectionSubtitleNoProfile => 'Plex로 로그인하거나 Jellyfin 서버에 연결';
|
|
@override String addConnectionSubtitleScoped({required Object displayName}) => '${displayName}에 추가: Plex, Jellyfin 또는 다른 프로필 연결';
|
|
@override String sessionExpiredOne({required Object name}) => '${name}의 세션이 만료되었습니다';
|
|
@override String sessionExpiredMany({required Object count}) => '${count}개 서버의 세션이 만료되었습니다';
|
|
@override String get signInAgain => '다시 로그인';
|
|
@override String get editJellyfinTitle => 'Jellyfin 연결 편집';
|
|
@override String editJellyfinIntro({required Object serverName}) => '${serverName}의 URL을 추가하거나 제거하세요. Plezy는 연결 가능한 URL 중 지연 시간이 가장 낮은 URL을 사용합니다.';
|
|
}
|
|
|
|
// Path: discover
|
|
class _Translations$discover$ko extends Translations$discover$en {
|
|
_Translations$discover$ko._(TranslationsKo root) : this._root = root, super.internal(root);
|
|
|
|
final TranslationsKo _root; // ignore: unused_field
|
|
|
|
// Translations
|
|
@override String get title => '둘러보기';
|
|
@override String get noContentAvailable => '사용 가능한 콘텐츠가 없습니다';
|
|
@override String get addMediaToLibraries => '미디어 라이브러리에 미디어를 추가해 주세요';
|
|
@override String get continueWatching => '계속 시청';
|
|
@override String continueWatchingIn({required Object library}) => '${library}에서 계속 시청';
|
|
@override String get nextUp => '다음 에피소드';
|
|
@override String nextUpIn({required Object library}) => '${library}의 다음 에피소드';
|
|
@override String get recentlyAdded => '최근에 추가됨';
|
|
@override String recentlyAddedIn({required Object library}) => '${library}에 최근에 추가됨';
|
|
@override String latestAlbumsIn({required Object library}) => '${library}의 최신 앨범';
|
|
@override String recentlyPlayedIn({required Object library}) => '${library}에서 최근 재생';
|
|
@override String mostPlayedIn({required Object library}) => '${library}에서 가장 많이 재생';
|
|
@override String playEpisode({required Object season, required Object episode}) => 'S${season}E${episode}';
|
|
@override String get overview => '개요';
|
|
@override String get cast => '출연진';
|
|
@override String get extras => '예고편 및 부가영상';
|
|
@override String get studio => '제작사';
|
|
@override String get rating => '연령 등급';
|
|
@override String get movie => '영화';
|
|
@override String get tvShow => 'TV 시리즈';
|
|
@override String minutesLeft({required Object minutes}) => '${minutes}분 남음';
|
|
@override String get moreLikeThis => '비슷한 콘텐츠';
|
|
}
|
|
|
|
// Path: errors
|
|
class _Translations$errors$ko extends Translations$errors$en {
|
|
_Translations$errors$ko._(TranslationsKo root) : this._root = root, super.internal(root);
|
|
|
|
final TranslationsKo _root; // ignore: unused_field
|
|
|
|
// Translations
|
|
@override String searchFailed({required Object error}) => '검색 실패: ${error}';
|
|
@override String connectionTimeout({required Object context}) => '${context} 로드 중 연결 시간 초과';
|
|
@override String get connectionFailed => '미디어 서버에 연결할 수 없습니다';
|
|
@override String unableToLoad({required Object context}) => '${context}을(를) 불러올 수 없습니다. 다시 시도하세요.';
|
|
@override String get noClientAvailable => '사용 가능한 클라이언트가 없습니다';
|
|
@override String get pleaseEnterToken => '토큰을 입력해 주세요';
|
|
@override String get invalidToken => '토큰이 유효하지 않습니다';
|
|
@override String failedToVerifyToken({required Object error}) => '토큰을 확인할 수 없습니다: ${error}';
|
|
@override String failedToSwitchProfile({required Object displayName}) => '${displayName}으로 전환할 수 없습니다';
|
|
@override String failedToDeleteProfile({required Object displayName}) => '${displayName}을(를) 삭제할 수 없습니다';
|
|
@override String get failedToRate => '평점을 업데이트하지 못했습니다';
|
|
}
|
|
|
|
// Path: libraries
|
|
class _Translations$libraries$ko extends Translations$libraries$en {
|
|
_Translations$libraries$ko._(TranslationsKo root) : this._root = root, super.internal(root);
|
|
|
|
final TranslationsKo _root; // ignore: unused_field
|
|
|
|
// Translations
|
|
@override String get title => '미디어 라이브러리';
|
|
@override String get fallbackTitle => '라이브러리';
|
|
@override String get scanLibraryFiles => '미디어 라이브러리 파일 스캔';
|
|
@override String get scanLibrary => '미디어 라이브러리 스캔';
|
|
@override String get analyze => '분석';
|
|
@override String get analyzeLibrary => '미디어 라이브러리 분석';
|
|
@override String get refreshMetadata => '메타데이터 새로 고침';
|
|
@override String get emptyTrash => '휴지통 비우기';
|
|
@override String emptyingTrash({required Object title}) => '「${title}」의 휴지통을 비우고 있습니다...';
|
|
@override String trashEmptied({required Object title}) => '「${title}」의 휴지통을 비웠습니다';
|
|
@override String failedToEmptyTrash({required Object error}) => '휴지통 비우기 실패: ${error}';
|
|
@override String analyzing({required Object title}) => '"${title}" 분석 중...';
|
|
@override String analysisStarted({required Object title}) => '"${title}" 분석 시작됨';
|
|
@override String failedToAnalyze({required Object error}) => '미디어 라이브러리 분석 실패: ${error}';
|
|
@override String get noLibrariesFound => '미디어 라이브러리 없음';
|
|
@override String get allLibrariesHidden => '모든 라이브러리가 숨겨졌습니다';
|
|
@override String hiddenLibrariesCount({required Object count}) => '숨겨진 라이브러리 (${count})';
|
|
@override String get thisLibraryIsEmpty => '이 미디어 라이브러리는 비어 있습니다';
|
|
@override String get noItemsMatchFilters => '활성화된 필터와 일치하는 항목이 없습니다';
|
|
@override String get resetFilters => '필터 초기화';
|
|
@override String get all => '전체';
|
|
@override String get clearAll => '모두 삭제';
|
|
@override String scanLibraryConfirm({required Object title}) => '「${title}」을(를) 스캔하시겠습니까?';
|
|
@override String analyzeLibraryConfirm({required Object title}) => '「${title}」을(를) 분석하시겠습니까?';
|
|
@override String refreshMetadataConfirm({required Object title}) => '「${title}」의 메타데이터를 새로고침하시겠습니까?';
|
|
@override String emptyTrashConfirm({required Object title}) => '${title}의 휴지통을 비우시겠습니까?';
|
|
@override String get manageLibraries => '미디어 라이브러리 관리';
|
|
@override String get sort => '정렬';
|
|
@override String get sortBy => '정렬 기준';
|
|
@override String get filters => '필터';
|
|
@override String get confirmActionMessage => '이 작업을 실행하시겠습니까?';
|
|
@override String get showLibrary => '미디어 라이브러리 표시';
|
|
@override String get hideLibrary => '미디어 라이브러리 숨기기';
|
|
@override String get libraryOptions => '미디어 라이브러리 옵션';
|
|
@override String get content => '미디어 라이브러리 콘텐츠';
|
|
@override String get selectLibrary => '미디어 라이브러리 선택';
|
|
@override String filtersWithCount({required Object count}) => '필터 (${count})';
|
|
@override String get noRecommendations => '추천 없음';
|
|
@override String get noCollections => '이 미디어 라이브러리에는 컬렉션이 없습니다';
|
|
@override String get noFoldersFound => '폴더를 찾을 수 없습니다';
|
|
@override String get folders => '폴더';
|
|
@override late final _Translations$libraries$tabs$ko tabs = _Translations$libraries$tabs$ko._(_root);
|
|
@override late final _Translations$libraries$groupings$ko groupings = _Translations$libraries$groupings$ko._(_root);
|
|
@override late final _Translations$libraries$filterCategories$ko filterCategories = _Translations$libraries$filterCategories$ko._(_root);
|
|
@override late final _Translations$libraries$sortLabels$ko sortLabels = _Translations$libraries$sortLabels$ko._(_root);
|
|
}
|
|
|
|
// Path: about
|
|
class _Translations$about$ko extends Translations$about$en {
|
|
_Translations$about$ko._(TranslationsKo root) : this._root = root, super.internal(root);
|
|
|
|
final TranslationsKo _root; // ignore: unused_field
|
|
|
|
// Translations
|
|
@override String get title => '소개';
|
|
@override String get openSourceLicenses => '오픈소스 라이선스';
|
|
@override String versionLabel({required Object version}) => '버전 ${version}';
|
|
@override String get appDescription => 'Flutter로 만든 아름다운 Plex 및 Jellyfin 클라이언트';
|
|
@override String get viewLicensesDescription => '타사 라이브러리 라이선스 보기';
|
|
}
|
|
|
|
// Path: serverSelection
|
|
class _Translations$serverSelection$ko extends Translations$serverSelection$en {
|
|
_Translations$serverSelection$ko._(TranslationsKo root) : this._root = root, super.internal(root);
|
|
|
|
final TranslationsKo _root; // ignore: unused_field
|
|
|
|
// Translations
|
|
@override String noServersFoundForAccount({required Object username, required Object email}) => '${username} (${email})의 서버를 찾을 수 없습니다.';
|
|
@override String failedToLoadServers({required Object error}) => '서버를 로드할 수 없습니다: ${error}';
|
|
}
|
|
|
|
// Path: hubDetail
|
|
class _Translations$hubDetail$ko extends Translations$hubDetail$en {
|
|
_Translations$hubDetail$ko._(TranslationsKo root) : this._root = root, super.internal(root);
|
|
|
|
final TranslationsKo _root; // ignore: unused_field
|
|
|
|
// Translations
|
|
@override String get title => '제목';
|
|
@override String get releaseYear => '출시 연도';
|
|
@override String get dateAdded => '추가 날짜';
|
|
@override String get rating => '평점';
|
|
@override String get noItemsFound => '항목이 없습니다';
|
|
}
|
|
|
|
// Path: logs
|
|
class _Translations$logs$ko extends Translations$logs$en {
|
|
_Translations$logs$ko._(TranslationsKo root) : this._root = root, super.internal(root);
|
|
|
|
final TranslationsKo _root; // ignore: unused_field
|
|
|
|
// Translations
|
|
@override String get clearLogs => '로그 지우기';
|
|
@override String get copyLogs => '로그 복사';
|
|
@override String get uploadLogs => '로그 업로드';
|
|
}
|
|
|
|
// Path: licenses
|
|
class _Translations$licenses$ko extends Translations$licenses$en {
|
|
_Translations$licenses$ko._(TranslationsKo root) : this._root = root, super.internal(root);
|
|
|
|
final TranslationsKo _root; // ignore: unused_field
|
|
|
|
// Translations
|
|
@override String get relatedPackages => '관련 소프트웨어 패키지';
|
|
@override String get license => '라이선스';
|
|
@override String licenseNumber({required Object number}) => '라이선스 ${number}';
|
|
@override String licensesCount({required Object count}) => '${count}개의 라이선스';
|
|
}
|
|
|
|
// Path: navigation
|
|
class _Translations$navigation$ko extends Translations$navigation$en {
|
|
_Translations$navigation$ko._(TranslationsKo root) : this._root = root, super.internal(root);
|
|
|
|
final TranslationsKo _root; // ignore: unused_field
|
|
|
|
// Translations
|
|
@override String get libraries => '미디어 라이브러리';
|
|
@override String get downloads => '다운로드';
|
|
@override String get liveTv => '실시간 TV';
|
|
@override String get explore => '탐색';
|
|
}
|
|
|
|
// Path: explore
|
|
class _Translations$explore$ko extends Translations$explore$en {
|
|
_Translations$explore$ko._(TranslationsKo root) : this._root = root, super.internal(root);
|
|
|
|
final TranslationsKo _root; // ignore: unused_field
|
|
|
|
// Translations
|
|
@override String get title => '탐색';
|
|
@override String get selectSource => '소스 선택';
|
|
@override late final _Translations$explore$rows$ko rows = _Translations$explore$rows$ko._(_root);
|
|
@override late final _Translations$explore$status$ko status = _Translations$explore$status$ko._(_root);
|
|
@override String episodeCount({required num n}) => (_root.$meta.cardinalResolver ?? PluralResolvers.cardinal('ko'))(n,
|
|
other: '${n}화',
|
|
);
|
|
@override String get cast => '출연진';
|
|
@override String get characters => '캐릭터';
|
|
@override String get addToWatchlist => '관심 목록에 추가';
|
|
@override String get removeFromWatchlist => '관심 목록에서 제거';
|
|
@override String get watchlistUpdateFailed => '관심 목록을 업데이트하지 못했습니다';
|
|
@override String get notInLibrary => '라이브러리에 없음';
|
|
@override String get inTheseLibraries => '이 라이브러리에 있음';
|
|
@override String get checkingLibrary => '라이브러리 확인 중...';
|
|
@override String get emptyTitle => '아직 아무것도 없습니다';
|
|
@override String emptyMessage({required Object source}) => '${source}에 콘텐츠가 추가되면 여기에 표시됩니다.';
|
|
@override String searchHint({required Object source}) => '${source}에서 검색';
|
|
@override String searchEmpty({required Object query}) => '「${query}」에 대한 결과가 없습니다';
|
|
@override String searchPrompt({required Object source}) => '${source}에서 영화와 TV 프로그램을 검색하세요.';
|
|
@override String get searchFailed => '검색에 실패했습니다. 연결을 확인하고 다시 시도하세요.';
|
|
}
|
|
|
|
// Path: liveTv
|
|
class _Translations$liveTv$ko extends Translations$liveTv$en {
|
|
_Translations$liveTv$ko._(TranslationsKo root) : this._root = root, super.internal(root);
|
|
|
|
final TranslationsKo _root; // ignore: unused_field
|
|
|
|
// Translations
|
|
@override String get title => '실시간 TV';
|
|
@override String get guide => '편성표';
|
|
@override String get noChannels => '사용 가능한 채널이 없습니다';
|
|
@override String get noDvr => '서버에 DVR이 구성되어 있지 않습니다';
|
|
@override String get serverUnavailable => '라이브 TV 서버를 사용할 수 없습니다.';
|
|
@override String get serverNotConnected => '라이브 TV 서버에 연결되어 있지 않습니다.';
|
|
@override String get noPrograms => '프로그램 데이터가 없습니다';
|
|
@override String get liveStreamFailed => '라이브 스트림 실패';
|
|
@override String get unknownProgram => '알 수 없는 프로그램';
|
|
@override String get unknownHub => '알 수 없음';
|
|
@override String get unknownError => '알 수 없는 오류';
|
|
@override String channelNumber({required Object number}) => '채널 ${number}';
|
|
@override String get unknownChannel => '알 수 없는 채널';
|
|
@override String get live => '실시간';
|
|
@override String get reloadGuide => '편성표 새로고침';
|
|
@override String get now => '지금';
|
|
@override String get today => '오늘';
|
|
@override String get tomorrow => '내일';
|
|
@override String get midnight => '자정';
|
|
@override String get overnight => '심야';
|
|
@override String get morning => '아침';
|
|
@override String get daytime => '낮';
|
|
@override String get evening => '저녁';
|
|
@override String get lateNight => '심야 방송';
|
|
@override String get whatsOn => '지금 방송 중';
|
|
@override String get watchChannel => '채널 시청';
|
|
@override String get favorites => '즐겨찾기';
|
|
@override String get reorderFavorites => '즐겨찾기 순서 변경';
|
|
@override String get favoritesLoadFailed => '즐겨찾기를 불러올 수 없습니다. 연결을 확인하고 다시 시도하세요.';
|
|
@override String get favoritesUpdateFailed => '즐겨찾기를 업데이트할 수 없습니다. 연결을 확인하고 다시 시도하세요.';
|
|
@override String get joinSession => '진행 중인 세션 참여';
|
|
@override String watchFromStart({required Object minutes}) => '처음부터 시청 (${minutes}분 전 시작)';
|
|
@override String get watchLive => '실시간 시청';
|
|
@override String get goToLive => '실시간으로 이동';
|
|
@override String get record => '녹화';
|
|
@override String get recordEpisode => '에피소드 녹화';
|
|
@override String get recordSeries => '시리즈 녹화';
|
|
@override String get recordOptions => '녹화 옵션';
|
|
@override String get saveTo => '저장 위치';
|
|
@override String get recordings => '녹화';
|
|
@override String get scheduledRecordings => '예약됨';
|
|
@override String get recordingRules => '녹화 규칙';
|
|
@override String get noScheduledRecordings => '예약된 녹화 없음';
|
|
@override String get manageRecording => '녹화 관리';
|
|
@override String get cancelRecording => '녹화 취소';
|
|
@override String get cancelRecordingTitle => '이 녹화를 취소할까요?';
|
|
@override String cancelRecordingMessage({required Object title}) => '${title}이(가) 더 이상 녹화되지 않습니다.';
|
|
@override String get deleteRule => '규칙 삭제';
|
|
@override String get deleteRuleTitle => '녹화 규칙을 삭제할까요?';
|
|
@override String deleteRuleMessage({required Object title}) => '${title}의 향후 에피소드는 녹화되지 않습니다.';
|
|
@override String get recordingScheduled => '녹화 예약됨';
|
|
@override String get alreadyScheduled => '이 프로그램은 이미 예약되어 있습니다';
|
|
@override String get dvrAdminRequired => 'DVR 설정은 관리자 계정이 필요합니다';
|
|
@override String get recordingFailed => '녹화를 예약할 수 없습니다';
|
|
@override String get recordingTargetMissing => '녹화 라이브러리를 확인할 수 없습니다';
|
|
@override String get recordNotAvailable => '이 프로그램은 녹화할 수 없습니다';
|
|
@override String get recordingCancelled => '녹화 취소됨';
|
|
@override String get recordingRuleDeleted => '녹화 규칙 삭제됨';
|
|
@override String get processRecordingRules => '규칙 재평가';
|
|
@override String get recordingInProgress => '녹화 중';
|
|
@override String recordingsCount({required Object count}) => '${count}개 예약됨';
|
|
@override String get editRule => '규칙 편집';
|
|
@override String get editRuleAction => '편집';
|
|
@override String get recordingRuleUpdated => '녹화 규칙 업데이트됨';
|
|
@override String get guideReloadRequested => '가이드 새로고침 요청됨';
|
|
@override String get rulesProcessRequested => '규칙 재평가 요청됨';
|
|
@override String get recordShow => '프로그램 녹화';
|
|
}
|
|
|
|
// Path: collections
|
|
class _Translations$collections$ko extends Translations$collections$en {
|
|
_Translations$collections$ko._(TranslationsKo root) : this._root = root, super.internal(root);
|
|
|
|
final TranslationsKo _root; // ignore: unused_field
|
|
|
|
// Translations
|
|
@override String get title => '컬렉션';
|
|
@override String get collection => '컬렉션';
|
|
@override String get empty => '컬렉션이 비어 있습니다';
|
|
@override String get deleteCollection => '컬렉션 삭제';
|
|
@override String deleteConfirm({required Object title}) => '"${title}"을(를) 삭제할까요? 되돌릴 수 없습니다.';
|
|
@override String get deleted => '컬렉션 삭제됨';
|
|
@override String get deleteFailed => '컬렉션 삭제 실패';
|
|
@override String deleteFailedWithError({required Object error}) => '컬렉션 삭제 실패: ${error}';
|
|
@override String get selectCollection => '컬렉션 선택';
|
|
@override String get collectionName => '컬렉션 이름';
|
|
@override String get enterCollectionName => '컬렉션 이름 입력';
|
|
@override String get addedToCollection => '컬렉션에 추가됨';
|
|
@override String get errorAddingToCollection => '컬렉션에 추가 실패';
|
|
@override String get created => '컬렉션 생성됨';
|
|
@override String get removeFromCollection => '컬렉션에서 제거';
|
|
@override String removeFromCollectionConfirm({required Object title}) => '${title}을(를) 이 컬렉션에서 제거하시겠습니까?';
|
|
@override String get removedFromCollection => '컬렉션에서 제거됨';
|
|
@override String get removeFromCollectionFailed => '컬렉션에서 제거 실패';
|
|
@override String removeFromCollectionError({required Object error}) => '컬렉션에서 제거 중 오류 발생: ${error}';
|
|
@override String get searchCollections => '컬렉션 검색...';
|
|
}
|
|
|
|
// Path: playlists
|
|
class _Translations$playlists$ko extends Translations$playlists$en {
|
|
_Translations$playlists$ko._(TranslationsKo root) : this._root = root, super.internal(root);
|
|
|
|
final TranslationsKo _root; // ignore: unused_field
|
|
|
|
// Translations
|
|
@override String get title => '플레이리스트';
|
|
@override String get playlist => '재생 목록';
|
|
@override String get noPlaylists => '재생 목록을 찾을 수 없습니다';
|
|
@override String get create => '재생 목록 생성';
|
|
@override String get playlistName => '재생 목록 이름';
|
|
@override String get enterPlaylistName => '재생 목록 이름 입력';
|
|
@override String get delete => '재생 목록 삭제';
|
|
@override String get removeItem => '재생 목록에서 항목 제거';
|
|
@override String get smartPlaylist => '스마트 재생 목록';
|
|
@override String itemCount({required Object count}) => '${count}개 항목';
|
|
@override String get oneItem => '1개 항목';
|
|
@override String get emptyPlaylist => '이 재생 목록은 비어 있습니다';
|
|
@override String get deleteConfirm => '재생 목록을 삭제하시겠습니까?';
|
|
@override String deleteMessage({required Object name}) => '"${name}"을(를) 삭제하시겠습니까?';
|
|
@override String get created => '재생 목록이 생성되었습니다';
|
|
@override String get deleted => '재생 목록이 삭제되었습니다';
|
|
@override String get itemAdded => '재생 목록에 추가되었습니다';
|
|
@override String get itemRemoved => '재생 목록에서 제거됨';
|
|
@override String get selectPlaylist => '재생 목록 선택';
|
|
@override String get searchPlaylists => '재생 목록 검색...';
|
|
@override String get errorCreating => '재생 목록 생성 실패';
|
|
@override String get errorDeleting => '재생 목록 삭제 실패';
|
|
@override String get errorLoading => '재생 목록 로드 실패';
|
|
@override String get errorAdding => '재생 목록에 추가 실패';
|
|
@override String get errorReordering => '재생 목록 항목 재정렬 실패';
|
|
@override String get errorRemoving => '재생 목록에서 제거 실패';
|
|
}
|
|
|
|
// Path: music
|
|
class _Translations$music$ko extends Translations$music$en {
|
|
_Translations$music$ko._(TranslationsKo root) : this._root = root, super.internal(root);
|
|
|
|
final TranslationsKo _root; // ignore: unused_field
|
|
|
|
// Translations
|
|
@override String get goToAlbum => '앨범으로 이동';
|
|
@override String get goToArtist => '아티스트로 이동';
|
|
@override String get instantMix => '인스턴트 믹스';
|
|
@override String get playNext => '다음에 재생';
|
|
@override String get addToQueue => '대기열에 추가';
|
|
@override String discNumber({required Object n}) => '디스크 ${n}';
|
|
@override String trackCount({required num n}) => (_root.$meta.cardinalResolver ?? PluralResolvers.cardinal('ko'))(n,
|
|
other: '${n}곡',
|
|
);
|
|
@override String get nowPlaying => '재생 중';
|
|
@override String playingFrom({required Object title}) => '${title}에서 재생 중';
|
|
@override String get queue => '재생 대기열';
|
|
@override String get clearQueue => '대기열 비우기';
|
|
@override String get lyrics => '가사';
|
|
@override String get noLyrics => '가사 없음';
|
|
@override String get sleepTimer => '취침 타이머';
|
|
@override String get sleepTimerEndOfTrack => '곡 종료 시';
|
|
@override String sleepTimerMinutes({required Object n}) => '${n}분';
|
|
@override String get stopPlayback => '재생 중지';
|
|
@override String get previousTrack => '이전 곡';
|
|
@override String get nextTrack => '다음 곡';
|
|
@override String get repeat => '반복';
|
|
@override String get repeatAll => '전체 반복';
|
|
@override String get repeatOne => '한 곡 반복';
|
|
}
|
|
|
|
// Path: watchTogether
|
|
class _Translations$watchTogether$ko extends Translations$watchTogether$en {
|
|
_Translations$watchTogether$ko._(TranslationsKo root) : this._root = root, super.internal(root);
|
|
|
|
final TranslationsKo _root; // ignore: unused_field
|
|
|
|
// Translations
|
|
@override String get title => '함께 보기';
|
|
@override String get description => '친구 및 가족과 콘텐츠를 동시에 시청하세요';
|
|
@override String get createSession => '세션 생성';
|
|
@override String get creating => '생성 중...';
|
|
@override String get joinSession => '세션 참여';
|
|
@override String get joining => '참가 중...';
|
|
@override String get controlMode => '제어 모드';
|
|
@override String get controlModeQuestion => '누가 재생을 제어할 수 있나요?';
|
|
@override String get hostOnly => '호스트만';
|
|
@override String get anyone => '누구나';
|
|
@override String get hostingSession => '세션 호스팅 중';
|
|
@override String get inSession => '세션 중';
|
|
@override String get sessionCode => '세션 코드';
|
|
@override String get openSessionControls => '함께 보기 세션 제어 열기';
|
|
@override String get copySessionCode => '세션 코드 복사';
|
|
@override String get hostControlsPlayback => '호스트 재생 제어';
|
|
@override String get anyoneCanControl => '누구나 재생 제어 가능';
|
|
@override String get hostControls => '호스트 제어';
|
|
@override String get anyoneControls => '누구나 제어';
|
|
@override String get participants => '참가자';
|
|
@override String get host => '호스트';
|
|
@override String get hostBadge => '호스트';
|
|
@override String get youAreHost => '호스트입니다';
|
|
@override String get watchingWithOthers => '다른 사람과 함께 시청 중';
|
|
@override String get endSession => '세션 종료';
|
|
@override String get leaveSession => '세션 나가기';
|
|
@override String get endSessionQuestion => '세션을 종료하시겠습니까?';
|
|
@override String get leaveSessionQuestion => '세션에서 나가시겠습니까?';
|
|
@override String get endSessionConfirm => '모든 참가자의 세션이 종료됩니다.';
|
|
@override String get leaveSessionConfirm => '세션에서 나가게 됩니다.';
|
|
@override String get endSessionConfirmOverlay => '모든 참가자의 함께 보기 세션이 종료됩니다.';
|
|
@override String get leaveSessionConfirmOverlay => '함께 보기 세션의 연결이 끊어집니다.';
|
|
@override String get end => '종료';
|
|
@override String get leave => '나가기';
|
|
@override String get syncing => '동기화 중...';
|
|
@override String get joinWatchSession => '시청 세션에 참여';
|
|
@override String get enterCodeHint => '5자리 코드 입력';
|
|
@override String get pasteFromClipboard => '클립보드에서 붙여넣기';
|
|
@override String get pleaseEnterCode => '세션 코드를 입력하세요';
|
|
@override String get codeMustBe5Chars => '세션 코드는 반드시 5자리여야 합니다';
|
|
@override String get joinInstructions => '참여하려면 호스트의 세션 코드를 입력하세요.';
|
|
@override String get failedToCreate => '세션 생성 실패';
|
|
@override String get failedToJoin => '세션 참여 실패';
|
|
@override String get sessionCodeCopied => '세션 코드가 클립보드에 복사되었습니다';
|
|
@override String get relayUnreachable => '릴레이 서버에 연결할 수 없습니다. ISP 차단으로 함께 보기를 사용하지 못할 수 있습니다.';
|
|
@override String get reconnectingToHost => '호스트에 재연결 중...';
|
|
@override String get currentPlayback => '현재 재생';
|
|
@override String get joinCurrentPlayback => '현재 재생 참여';
|
|
@override String get joinCurrentPlaybackDescription => '호스트가 현재 시청 중인 콘텐츠로 이동합니다';
|
|
@override String get failedToOpenCurrentPlayback => '현재 재생을 열 수 없습니다';
|
|
@override String participantJoined({required Object name}) => '${name}님이 참여했습니다';
|
|
@override String participantLeft({required Object name}) => '${name}님이 나갔습니다';
|
|
@override String participantPaused({required Object name}) => '${name}님이 일시정지했습니다';
|
|
@override String participantResumed({required Object name}) => '${name}님이 재생했습니다';
|
|
@override String participantSeeked({required Object name}) => '${name}님이 재생 위치를 변경했습니다';
|
|
@override String participantBuffering({required Object name}) => '${name}님이 버퍼링 중입니다';
|
|
@override String participantNeedsUpdate({required Object name}) => '${name}님이 이전 버전의 앱을 사용 중입니다 — 동기화를 사용할 수 없습니다';
|
|
@override String resumingWithout({required Object name}) => '${name}님 없이 재생을 재개합니다';
|
|
@override String get waitingForParticipants => '다른 참가자의 로딩을 기다리는 중...';
|
|
@override String waitingForName({required Object name}) => '${name}님을 기다리는 중...';
|
|
@override String get recentRooms => '최근 참여한 방';
|
|
@override String get renameRoom => '방 이름 변경';
|
|
@override String get removeRoom => '제거';
|
|
@override String get guestSwitchUnavailable => '전환할 수 없음 — 동기화 서버를 사용할 수 없습니다';
|
|
@override String get guestSwitchFailed => '전환할 수 없음 — 이 서버에서 콘텐츠를 찾을 수 없습니다';
|
|
}
|
|
|
|
// Path: downloads
|
|
class _Translations$downloads$ko extends Translations$downloads$en {
|
|
_Translations$downloads$ko._(TranslationsKo root) : this._root = root, super.internal(root);
|
|
|
|
final TranslationsKo _root; // ignore: unused_field
|
|
|
|
// Translations
|
|
@override String get title => '다운로드';
|
|
@override String get manage => '관리';
|
|
@override String get tvShows => 'TV 프로그램';
|
|
@override String get movies => '영화';
|
|
@override String get music => '음악';
|
|
@override String tracksQueued({required Object count}) => '${count}곡 다운로드 대기 중';
|
|
@override String get noDownloads => '다운로드 없음';
|
|
@override String get noDownloadsDescription => '다운로드한 콘텐츠는 오프라인 시청을 위해 여기에 표시됩니다';
|
|
@override String get downloadNow => '다운로드';
|
|
@override String get deleteDownload => '다운로드 삭제';
|
|
@override String get retryDownload => '다운로드 재시도';
|
|
@override String get downloadQueued => '다운로드 대기 중';
|
|
@override String get downloadResumed => '다운로드를 재개했습니다';
|
|
@override String get serverErrorBitrate => '서버 오류: 파일이 원격 비트레이트 제한을 초과할 수 있습니다';
|
|
@override String get storageFull => '기기 저장 공간이 가득 차서 다운로드를 중지했습니다. 공간을 확보한 후 다시 시도하세요.';
|
|
@override String episodesQueued({required Object count}) => '에피소드 ${count}개가 다운로드 대기열에 추가되었습니다';
|
|
@override String get downloadDeleted => '다운로드 삭제됨';
|
|
@override String deleteConfirm({required Object title}) => '이 기기에서 "${title}"을(를) 삭제할까요?';
|
|
@override String get cancelledDownloadTitle => '취소된 다운로드';
|
|
@override String get cancelledDownloadMessage => '이 다운로드가 취소되었습니다. 어떻게 하시겠습니까?';
|
|
@override String get allEpisodesAlreadyDownloaded => '모든 에피소드가 이미 다운로드되었습니다';
|
|
@override String get resumeDownload => '다운로드 재개';
|
|
@override String get cancelledDownload => '취소된 다운로드';
|
|
@override String syncingFile({required Object file, required Object status}) => '${file} (${status} 동기화 중)';
|
|
@override String downloadedFileClickToComplete({required Object file}) => '${file} 다운로드됨 — 클릭하여 완료';
|
|
@override String get partialDownloadClickToComplete => '부분 다운로드됨 — 클릭하여 완료';
|
|
@override String get deleting => '삭제 중...';
|
|
@override String deletingWithProgress({required Object title, required Object current, required Object total}) => '${title} 삭제 중... (${current}/${total})';
|
|
@override String get queuedTooltip => '대기 중';
|
|
@override String queuedFilesTooltip({required Object files}) => '대기 중: ${files}';
|
|
@override String get downloadingTooltip => '다운로드 중...';
|
|
@override String downloadingFilesTooltip({required Object files}) => '${files} 다운로드 중';
|
|
@override String get noDownloadsTree => '다운로드 없음';
|
|
@override String get pauseAll => '모두 일시정지';
|
|
@override String get resumeAll => '모두 재개';
|
|
@override String get deleteAll => '모두 삭제';
|
|
@override String get selectVersion => '버전 선택';
|
|
@override String get allEpisodes => '모든 에피소드';
|
|
@override String get unwatchedOnly => '시청하지 않은 것만';
|
|
@override String nextNUnwatched({required Object count}) => '다음 ${count}개 미시청';
|
|
@override String get customAmount => '직접 입력...';
|
|
@override String get includeSpecials => '스페셜 포함';
|
|
@override String get howManyEpisodes => '몇 개의 에피소드?';
|
|
@override String get invalidEpisodeCount => '올바른 에피소드 수를 입력하세요.';
|
|
@override String get keepSynced => '동기화 유지';
|
|
@override String get downloadOnce => '한 번만 다운로드';
|
|
@override String keepNUnwatched({required Object count}) => '미시청 ${count}개 유지';
|
|
@override String get editSyncRule => '동기화 규칙 편집';
|
|
@override String get removeSyncRule => '동기화 규칙 제거';
|
|
@override String removeSyncRuleConfirm({required Object title}) => '"${title}" 동기화를 중단하시겠습니까? 다운로드된 에피소드는 유지됩니다.';
|
|
@override String syncRuleCreated({required Object count}) => '동기화 규칙 생성됨 — 미시청 에피소드 ${count}개 유지';
|
|
@override String get syncRuleUpdated => '동기화 규칙 업데이트됨';
|
|
@override String get syncRuleRemoved => '동기화 규칙 제거됨';
|
|
@override String syncedNewEpisodes({required Object title, required Object count}) => '${title}의 새 에피소드 ${count}개 동기화됨';
|
|
@override String get activeSyncRules => '동기화 규칙';
|
|
@override String get noSyncRules => '동기화 규칙 없음';
|
|
@override String get manageSyncRule => '동기화 관리';
|
|
@override String get editEpisodeCount => '에피소드 수';
|
|
@override String get editSyncFilter => '동기화 필터';
|
|
@override String get syncAllItems => '모든 항목 동기화 중';
|
|
@override String get syncUnwatchedItems => '시청하지 않은 항목 동기화 중';
|
|
@override String syncRuleServerContext({required Object server, required Object status}) => '서버: ${server} • ${status}';
|
|
@override String get syncRuleAvailable => '사용 가능';
|
|
@override String get syncRuleOffline => '오프라인';
|
|
@override String get syncRuleSignInRequired => '로그인 필요';
|
|
@override String get syncRuleNotAvailableForProfile => '현재 프로필에서 사용할 수 없음';
|
|
@override String get syncRuleUnknownServer => '알 수 없는 서버';
|
|
@override String get syncRuleListCreated => '동기화 규칙이 생성되었습니다';
|
|
}
|
|
|
|
// Path: shaders
|
|
class _Translations$shaders$ko extends Translations$shaders$en {
|
|
_Translations$shaders$ko._(TranslationsKo root) : this._root = root, super.internal(root);
|
|
|
|
final TranslationsKo _root; // ignore: unused_field
|
|
|
|
// Translations
|
|
@override String get title => '셰이더';
|
|
@override String get noShaderDescription => '비디오 향상 없음';
|
|
@override String get nvscalerDescription => '더 선명한 비디오를 위한 NVIDIA 이미지 스케일링';
|
|
@override String get artcnnVariantNeutral => '중립';
|
|
@override String get artcnnVariantDenoise => '노이즈 제거';
|
|
@override String get artcnnVariantDenoiseSharpen => '노이즈 제거 + 선명화';
|
|
@override String get qualityFast => '빠름';
|
|
@override String get qualityHQ => '고품질';
|
|
@override String get mode => '모드';
|
|
@override String get importShader => '셰이더 가져오기';
|
|
@override String get customShaderDescription => '사용자 정의 GLSL 셰이더';
|
|
@override String get shaderImported => '셰이더를 가져왔습니다';
|
|
@override String get shaderImportFailed => '셰이더 가져오기 실패';
|
|
@override String get deleteShader => '셰이더 삭제';
|
|
@override String deleteShaderConfirm({required Object name}) => '"${name}"을(를) 삭제하시겠습니까?';
|
|
}
|
|
|
|
// Path: companionRemote
|
|
class _Translations$companionRemote$ko extends Translations$companionRemote$en {
|
|
_Translations$companionRemote$ko._(TranslationsKo root) : this._root = root, super.internal(root);
|
|
|
|
final TranslationsKo _root; // ignore: unused_field
|
|
|
|
// Translations
|
|
@override String get title => '컴패니언 리모컨';
|
|
@override String connectedTo({required Object name}) => '${name}에 연결됨';
|
|
@override String get unknownDevice => '알 수 없는 기기';
|
|
@override late final _Translations$companionRemote$session$ko session = _Translations$companionRemote$session$ko._(_root);
|
|
@override late final _Translations$companionRemote$pairing$ko pairing = _Translations$companionRemote$pairing$ko._(_root);
|
|
@override late final _Translations$companionRemote$remote$ko remote = _Translations$companionRemote$remote$ko._(_root);
|
|
@override late final _Translations$companionRemote$errors$ko errors = _Translations$companionRemote$errors$ko._(_root);
|
|
}
|
|
|
|
// Path: videoSettings
|
|
class _Translations$videoSettings$ko extends Translations$videoSettings$en {
|
|
_Translations$videoSettings$ko._(TranslationsKo root) : this._root = root, super.internal(root);
|
|
|
|
final TranslationsKo _root; // ignore: unused_field
|
|
|
|
// Translations
|
|
@override String get playbackSpeed => '재생 속도';
|
|
@override String get normalSpeed => '보통';
|
|
@override String sleepTimerActive({required Object duration}) => '활성 (${duration})';
|
|
@override String get zoom => '확대/축소';
|
|
@override String get sleepTimer => '취침 타이머';
|
|
@override String get audioSync => '오디오 동기화';
|
|
@override String get subtitleSync => '자막 동기화';
|
|
@override String get hdr => 'HDR';
|
|
@override String get audioOutput => '오디오 출력';
|
|
@override String get performanceOverlay => '성능 오버레이';
|
|
@override String get audioPassthrough => '오디오 패스스루';
|
|
@override String get audioNormalization => '음량 정규화';
|
|
@override String get audioDownmix => '스테레오로 다운믹스';
|
|
}
|
|
|
|
// Path: performanceOverlay
|
|
class _Translations$performanceOverlay$ko extends Translations$performanceOverlay$en {
|
|
_Translations$performanceOverlay$ko._(TranslationsKo root) : this._root = root, super.internal(root);
|
|
|
|
final TranslationsKo _root; // ignore: unused_field
|
|
|
|
// Translations
|
|
@override String get color => '색상';
|
|
@override String get performance => '성능';
|
|
@override String get buffer => '버퍼';
|
|
@override String get app => '앱';
|
|
@override String get decoder => '디코더';
|
|
@override String get rawDecoder => '원본 디코더';
|
|
@override String get tunneling => '터널링';
|
|
@override String get aspect => '화면비';
|
|
@override String get rotation => '회전';
|
|
@override String get dvSource => 'DV 소스';
|
|
@override String get dvPath => 'DV 경로';
|
|
@override String get p7Conversion => 'P7 변환';
|
|
@override String get sampleRate => '샘플 레이트';
|
|
@override String get pixelFormat => '픽셀 형식';
|
|
@override String get hwFormat => 'HW 형식';
|
|
@override String get matrix => '매트릭스';
|
|
@override String get primaries => '원색';
|
|
@override String get transfer => '전송';
|
|
@override String get renderFps => '렌더 FPS';
|
|
@override String get displayFps => '디스플레이 FPS';
|
|
@override String get avSync => 'A/V 동기화';
|
|
@override String get dropped => '드롭됨';
|
|
@override String get dvRpus => 'DV RPU';
|
|
@override String get dvRpuAverage => 'DV RPU 평균';
|
|
@override String get dvSampleAverage => 'DV 샘플 평균';
|
|
@override String get maxLuma => '최대 휘도';
|
|
@override String get minLuma => '최소 휘도';
|
|
@override String get maxCll => 'MaxCLL';
|
|
@override String get maxFall => 'MaxFALL';
|
|
@override String get cacheUsed => '사용 캐시';
|
|
@override String get cacheLimit => '캐시 제한';
|
|
@override String get speed => '속도';
|
|
@override String get player => '플레이어';
|
|
@override String get memory => '메모리';
|
|
@override String get uiFps => 'UI FPS';
|
|
}
|
|
|
|
// Path: externalPlayer
|
|
class _Translations$externalPlayer$ko extends Translations$externalPlayer$en {
|
|
_Translations$externalPlayer$ko._(TranslationsKo root) : this._root = root, super.internal(root);
|
|
|
|
final TranslationsKo _root; // ignore: unused_field
|
|
|
|
// Translations
|
|
@override String get title => '외부 플레이어';
|
|
@override String get useExternalPlayer => '외부 플레이어 사용';
|
|
@override String get useExternalPlayerDescription => '동영상을 다른 앱에서 열기';
|
|
@override String get selectPlayer => '플레이어 선택';
|
|
@override String get customPlayers => '사용자 정의 플레이어';
|
|
@override String get systemDefault => '시스템 기본값';
|
|
@override String get addCustomPlayer => '사용자 정의 플레이어 추가';
|
|
@override String get playerName => '플레이어 이름';
|
|
@override String get playerNameHint => '내 플레이어';
|
|
@override String get playerCommand => '명령어';
|
|
@override String get playerPackage => '패키지 이름';
|
|
@override String get playerUrlScheme => 'URL 스킴';
|
|
@override String get off => '꺼짐';
|
|
@override String get launchFailed => '외부 플레이어를 열 수 없습니다';
|
|
@override String appNotInstalled({required Object name}) => '${name}이(가) 설치되어 있지 않습니다';
|
|
@override String get playInExternalPlayer => '외부 플레이어에서 재생';
|
|
}
|
|
|
|
// Path: metadataEdit
|
|
class _Translations$metadataEdit$ko extends Translations$metadataEdit$en {
|
|
_Translations$metadataEdit$ko._(TranslationsKo root) : this._root = root, super.internal(root);
|
|
|
|
final TranslationsKo _root; // ignore: unused_field
|
|
|
|
// Translations
|
|
@override String get editMetadata => '편집...';
|
|
@override String get screenTitle => '메타데이터 편집';
|
|
@override String get basicInfo => '기본 정보';
|
|
@override String get artwork => '아트워크';
|
|
@override String get advancedSettings => '고급 설정';
|
|
@override String get title => '제목';
|
|
@override String get sortTitle => '정렬 제목';
|
|
@override String get originalTitle => '원제';
|
|
@override String get releaseDate => '출시일';
|
|
@override String get contentRating => '콘텐츠 등급';
|
|
@override String get studio => '스튜디오';
|
|
@override String get tagline => '태그라인';
|
|
@override String get summary => '줄거리';
|
|
@override String get poster => '포스터';
|
|
@override String get background => '배경';
|
|
@override String get logo => '로고';
|
|
@override String get squareArt => '정사각형 아트';
|
|
@override String get selectPoster => '포스터 선택';
|
|
@override String get selectBackground => '배경 선택';
|
|
@override String get selectLogo => '로고 선택';
|
|
@override String get selectSquareArt => '정사각형 아트 선택';
|
|
@override String get fromUrl => 'URL에서';
|
|
@override String get uploadFile => '파일 업로드';
|
|
@override String get enterImageUrl => '이미지 URL 입력';
|
|
@override String get imageUrl => '이미지 URL';
|
|
@override String get metadataUpdated => '메타데이터가 업데이트되었습니다';
|
|
@override String get metadataUpdateFailed => '메타데이터 업데이트 실패';
|
|
@override String get artworkUpdated => '아트워크가 업데이트되었습니다';
|
|
@override String get artworkUpdateFailed => '아트워크 업데이트 실패';
|
|
@override String get noArtworkAvailable => '사용 가능한 아트워크 없음';
|
|
@override String artworkOption({required Object index}) => '아트워크 옵션 ${index}';
|
|
@override String selectedArtworkOption({required Object index}) => '아트워크 옵션 ${index}, 선택됨';
|
|
@override String get notSet => '설정되지 않음';
|
|
@override String get libraryDefault => '라이브러리 기본값';
|
|
@override String get accountDefault => '계정 기본값';
|
|
@override String get seriesDefault => '시리즈 기본값';
|
|
@override String get episodeSorting => '에피소드 정렬';
|
|
@override String get oldestFirst => '오래된 순';
|
|
@override String get newestFirst => '최신 순';
|
|
@override String get keep => '유지';
|
|
@override String get allEpisodes => '모든 에피소드';
|
|
@override String latestEpisodes({required Object count}) => '최신 에피소드 ${count}개';
|
|
@override String get latestEpisode => '최신 에피소드';
|
|
@override String episodesAddedPastDays({required Object count}) => '최근 ${count}일 내 추가된 에피소드';
|
|
@override String get deleteAfterPlaying => '재생 후 에피소드 삭제';
|
|
@override String get never => '안 함';
|
|
@override String get afterADay => '하루 후';
|
|
@override String get afterAWeek => '일주일 후';
|
|
@override String get afterAMonth => '한 달 후';
|
|
@override String get onNextRefresh => '다음 새로고침 시';
|
|
@override String get seasons => '시즌';
|
|
@override String get show => '표시';
|
|
@override String get hide => '숨기기';
|
|
@override String get episodeOrdering => '에피소드 순서';
|
|
@override String get tmdbAiring => 'The Movie Database (방영순)';
|
|
@override String get tvdbAiring => 'TheTVDB (방영순)';
|
|
@override String get tvdbAbsolute => 'TheTVDB (절대순)';
|
|
@override String get metadataLanguage => '메타데이터 언어';
|
|
@override String get useOriginalTitle => '원제 사용';
|
|
@override String get preferredAudioLanguage => '선호 오디오 언어';
|
|
@override String get preferredSubtitleLanguage => '선호 자막 언어';
|
|
@override String get subtitleMode => '자막 자동 선택 모드';
|
|
@override String get manuallySelected => '수동 선택';
|
|
@override String get shownWithForeignAudio => '외국어 오디오 시 표시';
|
|
@override String get alwaysEnabled => '항상 활성화';
|
|
@override String get tags => '태그';
|
|
@override String get addTag => '태그 추가';
|
|
@override String get genre => '장르';
|
|
@override String get director => '감독';
|
|
@override String get writer => '작가';
|
|
@override String get producer => '프로듀서';
|
|
@override String get country => '국가';
|
|
@override String get collection => '컬렉션';
|
|
@override String get label => '라벨';
|
|
@override String get style => '스타일';
|
|
@override String get mood => '분위기';
|
|
}
|
|
|
|
// Path: matchScreen
|
|
class _Translations$matchScreen$ko extends Translations$matchScreen$en {
|
|
_Translations$matchScreen$ko._(TranslationsKo root) : this._root = root, super.internal(root);
|
|
|
|
final TranslationsKo _root; // ignore: unused_field
|
|
|
|
// Translations
|
|
@override String get match => '일치...';
|
|
@override String get fixMatch => '일치 수정...';
|
|
@override String get unmatch => '일치 해제';
|
|
@override String get unmatchConfirm => '이 매칭을 지울까요? 다시 매칭될 때까지 Plex에서는 미매칭으로 처리됩니다.';
|
|
@override String get unmatchSuccess => '일치 해제됨';
|
|
@override String get unmatchFailed => '일치 해제에 실패했습니다';
|
|
@override String get matchApplied => '일치 적용됨';
|
|
@override String get matchFailed => '일치 적용에 실패했습니다';
|
|
@override String get titleHint => '제목';
|
|
@override String get yearHint => '연도';
|
|
@override String get search => '검색';
|
|
@override String get noMatchesFound => '일치하는 항목이 없습니다';
|
|
}
|
|
|
|
// Path: serverTasks
|
|
class _Translations$serverTasks$ko extends Translations$serverTasks$en {
|
|
_Translations$serverTasks$ko._(TranslationsKo root) : this._root = root, super.internal(root);
|
|
|
|
final TranslationsKo _root; // ignore: unused_field
|
|
|
|
// Translations
|
|
@override String get title => '서버 작업';
|
|
@override String get failedToLoad => '작업을 불러올 수 없습니다';
|
|
@override String get noTasks => '실행 중인 작업 없음';
|
|
}
|
|
|
|
// Path: trakt
|
|
class _Translations$trakt$ko extends Translations$trakt$en {
|
|
_Translations$trakt$ko._(TranslationsKo root) : this._root = root, super.internal(root);
|
|
|
|
final TranslationsKo _root; // ignore: unused_field
|
|
|
|
// Translations
|
|
@override String get title => 'Trakt';
|
|
@override String get connected => '연결됨';
|
|
@override String connectedAs({required Object username}) => '@${username}(으)로 연결됨';
|
|
@override String get disconnectConfirm => 'Trakt 계정 연결을 끊으시겠습니까?';
|
|
@override String get disconnectConfirmBody => 'Plezy가 Trakt로 이벤트 전송을 중지합니다. 언제든 다시 연결할 수 있습니다.';
|
|
@override String get scrobble => '실시간 스크로블';
|
|
@override String get scrobbleDescription => '재생 중 재생, 일시정지, 정지 이벤트를 Trakt로 전송합니다.';
|
|
@override String get watchedSync => '시청 상태 동기화';
|
|
@override String get watchedSyncDescription => 'Plezy에서 시청 완료로 표시한 항목이 Trakt에도 시청 완료로 표시됩니다.';
|
|
}
|
|
|
|
// Path: seerr
|
|
class _Translations$seerr$ko extends Translations$seerr$en {
|
|
_Translations$seerr$ko._(TranslationsKo root) : this._root = root, super.internal(root);
|
|
|
|
final TranslationsKo _root; // ignore: unused_field
|
|
|
|
// Translations
|
|
@override String get title => 'Seerr';
|
|
@override String get connectTitle => 'Seerr에 연결';
|
|
@override String get serverUrl => '서버 URL';
|
|
@override String get serverUrlHelper => 'Seerr 인스턴스의 주소';
|
|
@override String get checkServer => '계속';
|
|
@override String get signInWithJellyfin => 'Jellyfin으로 로그인';
|
|
@override String get signInWithEmby => 'Emby로 로그인';
|
|
@override String get signInWithLocal => '로컬 계정 사용';
|
|
@override String get email => '이메일';
|
|
@override String get noSignInMethods => '이 Seerr 인스턴스에는 Plezy가 지원하는 로그인 방법이 없습니다.';
|
|
@override String get instance => '인스턴스';
|
|
@override String get disconnectConfirm => 'Seerr 연결을 해제하시겠습니까?';
|
|
@override String get disconnectConfirmBody => 'Plezy가 이 Seerr 인스턴스를 삭제합니다. 언제든 다시 연결할 수 있습니다.';
|
|
@override String get request => '요청';
|
|
@override String get request4k => '4K로 요청';
|
|
@override String get seasons => '시즌';
|
|
@override String get allSeasons => '모든 시즌';
|
|
@override String get advancedOptions => '고급';
|
|
@override String get destinationServer => '대상 서버';
|
|
@override String get qualityProfile => '화질 프로파일';
|
|
@override String get rootFolder => '루트 폴더';
|
|
@override String get languageProfile => '언어 프로파일';
|
|
@override String get requestSubmitted => '요청을 제출했습니다';
|
|
@override String requestFailed({required Object error}) => '요청 실패: ${error}';
|
|
@override String get requestsLoadFailed => '요청 옵션을 불러올 수 없습니다';
|
|
@override String get nothingToRequest => '모두 이미 사용 가능하거나 요청되었습니다.';
|
|
@override String get statusAvailable => '사용 가능';
|
|
@override String get statusPartiallyAvailable => '일부 사용 가능';
|
|
@override String get statusRequested => '요청됨';
|
|
@override String get statusProcessing => '처리 중';
|
|
}
|
|
|
|
// Path: services
|
|
class _Translations$services$ko extends Translations$services$en {
|
|
_Translations$services$ko._(TranslationsKo root) : this._root = root, super.internal(root);
|
|
|
|
final TranslationsKo _root; // ignore: unused_field
|
|
|
|
// Translations
|
|
@override String get title => '서비스';
|
|
@override String get hubSubtitle => '시청 진행률을 동기화하고 새 작품을 요청하세요.';
|
|
@override String get notConnected => '연결되지 않음';
|
|
@override String connectedAs({required Object username}) => '@${username}(으)로 연결됨';
|
|
@override String get scrobble => '진행률 자동 추적';
|
|
@override String get scrobbleDescription => '에피소드나 영화를 시청하면 목록을 업데이트합니다.';
|
|
@override String disconnectConfirm({required Object service}) => '${service} 연결을 해제하시겠습니까?';
|
|
@override String disconnectConfirmBody({required Object service}) => 'Plezy가 ${service} 업데이트를 중지합니다. 언제든 다시 연결할 수 있습니다.';
|
|
@override String connectFailed({required Object service}) => '${service}에 연결할 수 없습니다. 다시 시도하세요.';
|
|
@override late final _Translations$services$names$ko names = _Translations$services$names$ko._(_root);
|
|
@override late final _Translations$services$deviceCode$ko deviceCode = _Translations$services$deviceCode$ko._(_root);
|
|
@override late final _Translations$services$oauthProxy$ko oauthProxy = _Translations$services$oauthProxy$ko._(_root);
|
|
@override late final _Translations$services$libraryFilter$ko libraryFilter = _Translations$services$libraryFilter$ko._(_root);
|
|
}
|
|
|
|
// Path: addServer
|
|
class _Translations$addServer$ko extends Translations$addServer$en {
|
|
_Translations$addServer$ko._(TranslationsKo root) : this._root = root, super.internal(root);
|
|
|
|
final TranslationsKo _root; // ignore: unused_field
|
|
|
|
// Translations
|
|
@override String get addJellyfinTitle => 'Jellyfin 서버 추가';
|
|
@override String get serverUrls => '서버 URL';
|
|
@override String get serverUrlsHelper => '쉼표로 구분하여 여러 URL을 입력할 수 있습니다.';
|
|
@override String get findServer => '서버 찾기';
|
|
@override String get searchingLocalServers => '로컬 Jellyfin 서버 검색 중...';
|
|
@override String get localServers => '로컬 Jellyfin 서버';
|
|
@override String get username => '사용자 이름';
|
|
@override String get password => '비밀번호';
|
|
@override String get signIn => '로그인';
|
|
@override String get change => '변경';
|
|
@override String get required => '필수';
|
|
@override String couldNotReachServer({required Object error}) => '서버에 연결할 수 없습니다: ${error}';
|
|
@override String signInFailed({required Object error}) => '로그인 실패: ${error}';
|
|
@override String quickConnectFailed({required Object error}) => 'Quick Connect 실패: ${error}';
|
|
@override String get addPlexTitle => 'Plex로 로그인';
|
|
@override String get pinExpired => '로그인 전에 PIN이 만료되었습니다. 다시 시도하세요.';
|
|
@override String failedToRegisterAccount({required Object error}) => '계정 등록 실패: ${error}';
|
|
@override String get enterJellyfinUrlError => 'Jellyfin 서버 URL을 입력하세요';
|
|
@override String get addConnectionTitle => '연결 추가';
|
|
@override String addConnectionTitleScoped({required Object name}) => '${name}에 추가';
|
|
@override String get signInWithPlexCard => 'Plex로 로그인';
|
|
@override String get signInWithPlexCardSubtitle => '이 기기를 승인합니다. 공유 서버가 추가됩니다.';
|
|
@override String get signInWithPlexCardSubtitleScoped => 'Plex 계정을 승인합니다. Home 사용자는 프로필이 됩니다.';
|
|
@override String get connectToJellyfinCard => 'Jellyfin에 연결';
|
|
@override String get connectToJellyfinCardSubtitle => '서버 URL, 사용자 이름, 비밀번호를 입력하세요.';
|
|
@override String connectToJellyfinCardSubtitleScoped({required Object name}) => 'Jellyfin 서버에 로그인합니다. ${name}에 연결됩니다.';
|
|
@override String get borrowFromAnotherProfile => '다른 프로필에서 빌리기';
|
|
@override String get borrowFromAnotherProfileSubtitle => '다른 프로필의 연결을 재사용합니다. PIN으로 보호된 프로필에는 PIN이 필요합니다.';
|
|
}
|
|
|
|
// Path: hotkeys.actions
|
|
class _Translations$hotkeys$actions$ko extends Translations$hotkeys$actions$en {
|
|
_Translations$hotkeys$actions$ko._(TranslationsKo root) : this._root = root, super.internal(root);
|
|
|
|
final TranslationsKo _root; // ignore: unused_field
|
|
|
|
// Translations
|
|
@override String get playPause => '재생/일시정지';
|
|
@override String get volumeUp => '볼륨 높이기';
|
|
@override String get volumeDown => '볼륨 낮추기';
|
|
@override String seekForward({required Object seconds}) => '앞으로 이동 (${seconds}초)';
|
|
@override String seekBackward({required Object seconds}) => '뒤로 이동 (${seconds}초)';
|
|
@override String get fullscreenToggle => '전체 화면 전환';
|
|
@override String get muteToggle => '음소거 전환';
|
|
@override String get subtitleToggle => '자막 전환';
|
|
@override String get audioTrackNext => '다음 오디오 트랙';
|
|
@override String get subtitleTrackNext => '다음 자막 트랙';
|
|
@override String get chapterNext => '다음 챕터';
|
|
@override String get chapterPrevious => '이전 챕터';
|
|
@override String get episodeNext => '다음 에피소드';
|
|
@override String get episodePrevious => '이전 에피소드';
|
|
@override String get speedIncrease => '속도 높이기';
|
|
@override String get speedDecrease => '속도 낮추기';
|
|
@override String get speedReset => '속도 초기화';
|
|
@override String get zoomIn => '확대';
|
|
@override String get zoomOut => '축소';
|
|
@override String get zoomReset => '확대/축소 초기화';
|
|
@override String get subSeekNext => '다음 자막으로 이동';
|
|
@override String get subSeekPrev => '이전 자막으로 이동';
|
|
@override String get shaderToggle => '셰이더 전환';
|
|
@override String get skipMarker => '인트로/크레딧 건너뛰기';
|
|
@override String get screenshot => '스크린샷 찍기';
|
|
}
|
|
|
|
// Path: videoControls.pipErrors
|
|
class _Translations$videoControls$pipErrors$ko extends Translations$videoControls$pipErrors$en {
|
|
_Translations$videoControls$pipErrors$ko._(TranslationsKo root) : this._root = root, super.internal(root);
|
|
|
|
final TranslationsKo _root; // ignore: unused_field
|
|
|
|
// Translations
|
|
@override String get androidVersion => 'Android 8.0 이상이 필요합니다';
|
|
@override String get iosVersion => 'iOS 15.0 이상이 필요합니다';
|
|
@override String get permissionDisabled => '화면 속 화면이 비활성화되어 있습니다. 시스템 설정에서 활성화하세요.';
|
|
@override String get notSupported => '이 기기는 화면 속 화면 모드를 지원하지 않습니다';
|
|
@override String get voSwitchFailed => '화면 속 화면을 위한 비디오 출력 전환에 실패했습니다';
|
|
@override String get failed => '화면 속 화면 모드를 시작할 수 없습니다';
|
|
@override String unknown({required Object error}) => '오류가 발생했습니다: ${error}';
|
|
}
|
|
|
|
// Path: libraries.tabs
|
|
class _Translations$libraries$tabs$ko extends Translations$libraries$tabs$en {
|
|
_Translations$libraries$tabs$ko._(TranslationsKo root) : this._root = root, super.internal(root);
|
|
|
|
final TranslationsKo _root; // ignore: unused_field
|
|
|
|
// Translations
|
|
@override String get recommended => '추천';
|
|
@override String get browse => '찾아보기';
|
|
@override String get collections => '컬렉션';
|
|
@override String get playlists => '재생 목록';
|
|
}
|
|
|
|
// Path: libraries.groupings
|
|
class _Translations$libraries$groupings$ko extends Translations$libraries$groupings$en {
|
|
_Translations$libraries$groupings$ko._(TranslationsKo root) : this._root = root, super.internal(root);
|
|
|
|
final TranslationsKo _root; // ignore: unused_field
|
|
|
|
// Translations
|
|
@override String get title => '그룹';
|
|
@override String get all => '전체';
|
|
@override String get movies => '영화';
|
|
@override String get shows => 'TV 프로그램';
|
|
@override String get seasons => '시즌';
|
|
@override String get episodes => '화';
|
|
@override String get artists => '아티스트';
|
|
@override String get albums => '앨범';
|
|
@override String get tracks => '트랙';
|
|
@override String get folders => '폴더';
|
|
}
|
|
|
|
// Path: libraries.filterCategories
|
|
class _Translations$libraries$filterCategories$ko extends Translations$libraries$filterCategories$en {
|
|
_Translations$libraries$filterCategories$ko._(TranslationsKo root) : this._root = root, super.internal(root);
|
|
|
|
final TranslationsKo _root; // ignore: unused_field
|
|
|
|
// Translations
|
|
@override String get genre => '장르';
|
|
@override String get year => '연도';
|
|
@override String get contentRating => '시청 등급';
|
|
@override String get tag => '태그';
|
|
@override String get unwatched => '미시청';
|
|
@override String get unplayed => '재생하지 않음';
|
|
@override String get favorites => '즐겨찾기';
|
|
}
|
|
|
|
// Path: libraries.sortLabels
|
|
class _Translations$libraries$sortLabels$ko extends Translations$libraries$sortLabels$en {
|
|
_Translations$libraries$sortLabels$ko._(TranslationsKo root) : this._root = root, super.internal(root);
|
|
|
|
final TranslationsKo _root; // ignore: unused_field
|
|
|
|
// Translations
|
|
@override String get title => '제목';
|
|
@override String get dateAdded => '추가된 날짜';
|
|
@override String get releaseDate => '출시일';
|
|
@override String get rating => '평점';
|
|
@override String get communityRating => '커뮤니티 평점';
|
|
@override String get criticRating => '평론가 평점';
|
|
@override String get userRating => '사용자 평점';
|
|
@override String get datePlayed => '재생일';
|
|
@override String get playCount => '재생 횟수';
|
|
@override String get productionYear => '제작 연도';
|
|
@override String get runtime => '재생 시간';
|
|
@override String get officialRating => '공식 등급';
|
|
@override String get premiereDate => '최초 공개일';
|
|
@override String get startDate => '시작일';
|
|
@override String get airTime => '방영 시간';
|
|
@override String get studio => '스튜디오';
|
|
@override String get random => '무작위';
|
|
@override String get dateShared => '공유된 날짜';
|
|
@override String get latestEpisodeAirDate => '최신 에피소드 방영일';
|
|
@override String get lastEpisodeDateAdded => '최신 에피소드 추가일';
|
|
}
|
|
|
|
// Path: explore.rows
|
|
class _Translations$explore$rows$ko extends Translations$explore$rows$en {
|
|
_Translations$explore$rows$ko._(TranslationsKo root) : this._root = root, super.internal(root);
|
|
|
|
final TranslationsKo _root; // ignore: unused_field
|
|
|
|
// Translations
|
|
@override String get watchlist => '관심 목록';
|
|
@override String get recommendedMovies => '추천 영화';
|
|
@override String get recommendedShows => '추천 TV 프로그램';
|
|
@override String get trendingMovies => '지금 뜨는 영화';
|
|
@override String get trendingShows => '지금 뜨는 TV 프로그램';
|
|
@override String get popularMovies => '인기 영화';
|
|
@override String get popularShows => '인기 TV 프로그램';
|
|
@override String get trendingAnime => '지금 뜨는 애니메이션';
|
|
@override String get suggestedAnime => '추천 애니메이션';
|
|
@override String get airingAnime => '방영 중인 인기 애니메이션';
|
|
@override String get popularAnime => '가장 인기 있는 애니메이션';
|
|
@override String get trending => '지금 뜨는 콘텐츠';
|
|
@override String get upcomingMovies => '개봉 예정 영화';
|
|
@override String get upcomingShows => '방영 예정 TV 프로그램';
|
|
}
|
|
|
|
// Path: explore.status
|
|
class _Translations$explore$status$ko extends Translations$explore$status$en {
|
|
_Translations$explore$status$ko._(TranslationsKo root) : this._root = root, super.internal(root);
|
|
|
|
final TranslationsKo _root; // ignore: unused_field
|
|
|
|
// Translations
|
|
@override String get airing => '방영 중';
|
|
@override String get ended => '종영';
|
|
@override String get canceled => '취소됨';
|
|
@override String get upcoming => '방영 예정';
|
|
}
|
|
|
|
// Path: companionRemote.session
|
|
class _Translations$companionRemote$session$ko extends Translations$companionRemote$session$en {
|
|
_Translations$companionRemote$session$ko._(TranslationsKo root) : this._root = root, super.internal(root);
|
|
|
|
final TranslationsKo _root; // ignore: unused_field
|
|
|
|
// Translations
|
|
@override String get startingServer => '원격 서버 시작 중...';
|
|
@override String get hostAddress => '호스트 주소';
|
|
@override String get connected => '연결됨';
|
|
@override String get serverRunning => '원격 서버 활성';
|
|
@override String get serverStopped => '원격 서버 중지됨';
|
|
@override String get serverRunningDescription => '네트워크의 모바일 기기가 이 앱에 연결할 수 있습니다';
|
|
@override String get serverStoppedDescription => '모바일 기기의 연결을 허용하려면 서버를 시작하세요';
|
|
@override String get usePhoneToControl => '모바일 기기로 이 앱을 제어하세요';
|
|
@override String get startServer => '서버 시작';
|
|
@override String get stopServer => '서버 중지';
|
|
@override String get minimize => '최소화';
|
|
}
|
|
|
|
// Path: companionRemote.pairing
|
|
class _Translations$companionRemote$pairing$ko extends Translations$companionRemote$pairing$en {
|
|
_Translations$companionRemote$pairing$ko._(TranslationsKo root) : this._root = root, super.internal(root);
|
|
|
|
final TranslationsKo _root; // ignore: unused_field
|
|
|
|
// Translations
|
|
@override String get discoveryDescription => '같은 Plex 계정의 Plezy 기기가 여기에 표시됩니다';
|
|
@override String get hostAddressHint => '192.168.1.100:48632';
|
|
@override String get connecting => '연결 중...';
|
|
@override String get searchingForDevices => '기기 검색 중...';
|
|
@override String get noDevicesFound => '네트워크에서 기기를 찾을 수 없습니다';
|
|
@override String get noDevicesHint => '데스크톱에서 Plezy를 열고 같은 Wi-Fi를 사용하세요';
|
|
@override String get availableDevices => '사용 가능한 기기';
|
|
@override String get manualConnection => '수동 연결';
|
|
@override String get cryptoInitFailed => '보안 연결을 시작할 수 없습니다. 먼저 Plex에 로그인하세요.';
|
|
@override String get validationHostRequired => '호스트 주소를 입력하세요';
|
|
@override String get validationHostFormat => '형식은 IP:포트여야 합니다 (예: 192.168.1.100:48632)';
|
|
@override String get connectionTimedOut => '연결 시간이 초과되었습니다. 두 기기에서 같은 네트워크를 사용하세요.';
|
|
@override String get sessionNotFound => '기기를 찾을 수 없습니다. 호스트에서 Plezy가 실행 중인지 확인하세요.';
|
|
@override String get authFailed => '인증에 실패했습니다. 두 기기 모두 같은 Plex 계정이 필요합니다.';
|
|
@override String failedToConnect({required Object error}) => '연결 실패: ${error}';
|
|
}
|
|
|
|
// Path: companionRemote.remote
|
|
class _Translations$companionRemote$remote$ko extends Translations$companionRemote$remote$en {
|
|
_Translations$companionRemote$remote$ko._(TranslationsKo root) : this._root = root, super.internal(root);
|
|
|
|
final TranslationsKo _root; // ignore: unused_field
|
|
|
|
// Translations
|
|
@override String get disconnectConfirm => '원격 세션 연결을 해제하시겠습니까?';
|
|
@override String get reconnecting => '재연결 중...';
|
|
@override String attemptOf({required Object current}) => '${current}/5 시도 중';
|
|
@override String get retryNow => '지금 재시도';
|
|
@override String get tabRemote => '리모컨';
|
|
@override String get tabPlay => '재생';
|
|
@override String get tabMore => '더 보기';
|
|
@override String get menu => '메뉴';
|
|
@override String get tabNavigation => '탭 탐색';
|
|
@override String get tabDiscover => '둘러보기';
|
|
@override String get tabLibraries => '미디어 라이브러리';
|
|
@override String get tabSearch => '검색';
|
|
@override String get tabDownloads => '다운로드';
|
|
@override String get tabSettings => '설정';
|
|
@override String get previous => '이전';
|
|
@override String get playPause => '재생/일시정지';
|
|
@override String get next => '다음';
|
|
@override String get seekBack => '되감기';
|
|
@override String get stop => '정지';
|
|
@override String get seekForward => '빨리감기';
|
|
@override String get volume => '볼륨';
|
|
@override String get volumeDown => '줄이기';
|
|
@override String get volumeUp => '높이기';
|
|
@override String get fullscreen => '전체 화면';
|
|
@override String get subtitles => '자막';
|
|
@override String get audio => '오디오';
|
|
@override String get searchHint => '데스크톱에서 검색...';
|
|
}
|
|
|
|
// Path: companionRemote.errors
|
|
class _Translations$companionRemote$errors$ko extends Translations$companionRemote$errors$en {
|
|
_Translations$companionRemote$errors$ko._(TranslationsKo root) : this._root = root, super.internal(root);
|
|
|
|
final TranslationsKo _root; // ignore: unused_field
|
|
|
|
// Translations
|
|
@override String get noNetworkInterface => '네트워크 인터페이스를 찾을 수 없습니다';
|
|
@override String get authenticationFailed => '인증 실패';
|
|
@override String serverStartFailed({required Object error}) => '원격 서버를 시작하지 못했습니다: ${error}';
|
|
@override String commandFailed({required Object error}) => '원격 명령을 보내지 못했습니다: ${error}';
|
|
@override String get joinTimedOut => '세션 참가 시간이 초과되었습니다';
|
|
@override String get failedToConnectAnyAddress => '어떤 주소에도 연결하지 못했습니다';
|
|
@override String connectionLostAfterAttempts({required Object attempts}) => '${attempts}회 시도 후 연결이 끊어졌습니다';
|
|
@override String get connectionLost => '연결이 끊어졌습니다';
|
|
}
|
|
|
|
// Path: services.names
|
|
class _Translations$services$names$ko extends Translations$services$names$en {
|
|
_Translations$services$names$ko._(TranslationsKo root) : this._root = root, super.internal(root);
|
|
|
|
final TranslationsKo _root; // ignore: unused_field
|
|
|
|
// Translations
|
|
@override String get mal => 'MyAnimeList';
|
|
@override String get anilist => 'AniList';
|
|
@override String get simkl => 'Simkl';
|
|
@override String get seerr => 'Seerr';
|
|
}
|
|
|
|
// Path: services.deviceCode
|
|
class _Translations$services$deviceCode$ko extends Translations$services$deviceCode$en {
|
|
_Translations$services$deviceCode$ko._(TranslationsKo root) : this._root = root, super.internal(root);
|
|
|
|
final TranslationsKo _root; // ignore: unused_field
|
|
|
|
// Translations
|
|
@override String title({required Object service}) => '${service}에서 Plezy 활성화';
|
|
@override String body({required Object url}) => '${url}을 방문하여 이 코드를 입력하세요:';
|
|
@override String openToActivate({required Object service}) => '활성화하려면 ${service} 열기';
|
|
@override String get copyCode => '활성화 코드 복사';
|
|
@override String get waitingForAuthorization => '인증을 기다리는 중…';
|
|
@override String get codeCopied => '코드가 복사되었습니다';
|
|
}
|
|
|
|
// Path: services.oauthProxy
|
|
class _Translations$services$oauthProxy$ko extends Translations$services$oauthProxy$en {
|
|
_Translations$services$oauthProxy$ko._(TranslationsKo root) : this._root = root, super.internal(root);
|
|
|
|
final TranslationsKo _root; // ignore: unused_field
|
|
|
|
// Translations
|
|
@override String title({required Object service}) => '${service}에 로그인';
|
|
@override String get body => '이 QR 코드를 스캔하거나 아무 기기에서 URL을 여세요.';
|
|
@override String openToSignIn({required Object service}) => '로그인하려면 ${service} 열기';
|
|
@override String get copyUrl => '로그인 URL 복사';
|
|
@override String get urlCopied => 'URL이 복사되었습니다';
|
|
}
|
|
|
|
// Path: services.libraryFilter
|
|
class _Translations$services$libraryFilter$ko extends Translations$services$libraryFilter$en {
|
|
_Translations$services$libraryFilter$ko._(TranslationsKo root) : this._root = root, super.internal(root);
|
|
|
|
final TranslationsKo _root; // ignore: unused_field
|
|
|
|
// Translations
|
|
@override String get title => '라이브러리 필터';
|
|
@override String get subtitleAllSyncing => '모든 라이브러리 동기화 중';
|
|
@override String get subtitleNoneSyncing => '동기화 안 함';
|
|
@override String subtitleBlocked({required Object count}) => '${count}개 차단됨';
|
|
@override String subtitleAllowed({required Object count}) => '${count}개 허용됨';
|
|
@override String get mode => '필터 모드';
|
|
@override String get modeBlacklist => '차단 목록';
|
|
@override String get modeWhitelist => '허용 목록';
|
|
@override String get modeHintBlacklist => '아래에 선택한 라이브러리를 제외한 모든 라이브러리를 동기화합니다.';
|
|
@override String get modeHintWhitelist => '아래에 선택한 라이브러리만 동기화합니다.';
|
|
@override String get libraries => '라이브러리';
|
|
@override String get noLibraries => '사용 가능한 라이브러리가 없습니다';
|
|
}
|
|
|
|
/// The flat map containing all translations for locale <ko>.
|
|
/// Only for edge cases! For simple maps, use the map function of this library.
|
|
///
|
|
/// The Dart AOT compiler has issues with very large switch statements,
|
|
/// so the map is split into smaller functions (512 entries each).
|
|
extension on TranslationsKo {
|
|
dynamic _flatMapFunction(String path) {
|
|
return switch (path) {
|
|
'app.title' => 'Plezy',
|
|
'auth.signInWithPlex' => 'Plex 계정으로 로그인',
|
|
'auth.showQRCode' => 'QR 코드 표시',
|
|
'auth.authenticate' => '인증',
|
|
'auth.authenticationTimeout' => '인증 시간이 초과되었습니다. 다시 시도해 주세요.',
|
|
'auth.scanQRToSignIn' => '로그인하려면 이 QR 코드를 스캔하세요',
|
|
'auth.waitingForAuth' => '인증 대기 중...\n브라우저에서 로그인하세요.',
|
|
'auth.useBrowser' => '브라우저 사용',
|
|
'auth.or' => '또는',
|
|
'auth.connectToJellyfin' => 'Jellyfin에 연결',
|
|
'auth.useQuickConnect' => 'Quick Connect 사용',
|
|
'auth.quickConnectInstructions' => 'Jellyfin에서 Quick Connect를 열고 이 코드를 입력하세요.',
|
|
'auth.quickConnectWaiting' => '승인 대기 중…',
|
|
'auth.quickConnectCancel' => '취소',
|
|
'auth.quickConnectExpired' => 'Quick Connect가 만료되었습니다. 다시 시도하세요.',
|
|
'auth.localDataRecoveryRequired' => 'Plezy에서 로컬 로그인 정보와 대기 중인 재생 데이터를 안전하게 복구하지 못했습니다. 다시 로그인해 주세요.',
|
|
'common.cancel' => '취소',
|
|
'common.save' => '저장',
|
|
'common.close' => '닫기',
|
|
'common.clear' => '지우기',
|
|
'common.reset' => '초기화',
|
|
'common.later' => '나중에',
|
|
'common.submit' => '제출',
|
|
'common.confirm' => '확인',
|
|
'common.retry' => '재시도',
|
|
'common.logout' => '로그아웃',
|
|
'common.unknown' => '알 수 없는',
|
|
'common.refresh' => '새로고침',
|
|
'common.yes' => '예',
|
|
'common.no' => '아니오',
|
|
'common.delete' => '삭제',
|
|
'common.edit' => '편집',
|
|
'common.shuffle' => '무작위 재생',
|
|
'common.addTo' => '추가하기...',
|
|
'common.createNew' => '새로 만들기',
|
|
'common.connect' => '연결',
|
|
'common.disconnect' => '연결 해제',
|
|
'common.play' => '재생',
|
|
'common.pause' => '일시정지',
|
|
'common.resume' => '재개',
|
|
'common.error' => '오류',
|
|
'common.search' => '검색',
|
|
'common.home' => '홈',
|
|
'common.back' => '뒤로',
|
|
'common.settings' => '설정',
|
|
'common.mute' => '음소거',
|
|
'common.ok' => '확인',
|
|
'common.off' => '꺼짐',
|
|
'common.seasonNumber' => ({required Object number}) => '시즌 ${number}',
|
|
'common.episodeNumberTitle' => ({required Object number, required Object title}) => '${number}화 - ${title}',
|
|
'common.chapterNumber' => ({required Object number}) => '챕터 ${number}',
|
|
'common.reconnect' => '다시 연결',
|
|
'common.viewAll' => '모두 보기',
|
|
'common.checkingNetwork' => '네트워크 확인 중...',
|
|
'common.loadingServers' => '서버 로딩 중...',
|
|
'common.connectingToServers' => '서버 연결 중...',
|
|
'common.startingOfflineMode' => '오프라인 모드 시작 중...',
|
|
'common.loading' => '로딩 중...',
|
|
'common.fullscreen' => '전체 화면',
|
|
'common.exitFullscreen' => '전체 화면 종료',
|
|
'common.pressBackAgainToExit' => '한 번 더 누르면 종료됩니다',
|
|
'screens.licenses' => '라이선스',
|
|
'screens.switchProfile' => '프로필 전환',
|
|
'screens.subtitleStyling' => '자막 스타일 설정',
|
|
'screens.mpvConfig' => 'mpv.conf',
|
|
'screens.logs' => '로그',
|
|
'update.available' => '업데이트 있음',
|
|
'update.versionAvailable' => ({required Object version}) => '${version} 버전을 사용할 수 있습니다',
|
|
'update.currentVersion' => ({required Object version}) => '현재 버전: ${version}',
|
|
'update.skipVersion' => '이 버전 건너뛰기',
|
|
'update.viewRelease' => '릴리스 정보 보기',
|
|
'update.latestVersion' => '최신 버전을 사용 중입니다',
|
|
'update.checkFailed' => '업데이트 확인 실패',
|
|
'settings.title' => '설정',
|
|
'settings.supportDeveloper' => 'Plezy 후원하기',
|
|
'settings.supportDeveloperDescription' => 'Liberapay로 후원하여 개발 지원',
|
|
'settings.language' => '언어',
|
|
'settings.theme' => '테마',
|
|
'settings.appearance' => '디자인',
|
|
'settings.videoPlayback' => '비디오 재생',
|
|
'settings.videoPlaybackDescription' => '재생 동작 설정',
|
|
'settings.advanced' => '고급',
|
|
'settings.episodePosterMode' => '에피소드 포스터 스타일',
|
|
'settings.seriesPoster' => '시리즈 포스터',
|
|
'settings.seasonPoster' => '시즌 포스터',
|
|
'settings.episodeThumbnail' => '썸네일',
|
|
'settings.showHeroSectionDescription' => '홈 화면에 주요 콘텐츠 캐러셀(슬라이드) 표시',
|
|
'settings.secondsLabel' => '초',
|
|
'settings.minutesLabel' => '분',
|
|
'settings.secondsShort' => '초',
|
|
'settings.minutesShort' => '분',
|
|
'settings.durationHint' => ({required Object min, required Object max}) => '기간 입력 (${min}-${max})',
|
|
'settings.systemTheme' => '시스템',
|
|
'settings.lightTheme' => '라이트',
|
|
'settings.darkTheme' => '다크',
|
|
'settings.oledTheme' => 'OLED',
|
|
'settings.libraryDensity' => '라이브러리 표시 밀도',
|
|
'settings.compact' => '조밀하게',
|
|
'settings.comfortable' => '여유롭게',
|
|
'settings.tvCornerSpotlightBackdrop' => '모서리 스포트라이트 배경',
|
|
'settings.tvCornerSpotlightBackdropDescription' => '화면 전체를 채우는 대신 오른쪽 상단에 스포트라이트 아트워크를 표시합니다',
|
|
'settings.viewMode' => '보기 모드',
|
|
'settings.gridView' => '그리드 보기',
|
|
'settings.listView' => '목록 보기',
|
|
'settings.showHeroSection' => '주요 추천 영역 표시',
|
|
'settings.continueWatchingAction' => '계속 보기 동작',
|
|
'settings.continueWatchingPlay' => '재생',
|
|
'settings.continueWatchingDetails' => '상세 정보 열기',
|
|
'settings.episodeAction' => '에피소드 동작',
|
|
'settings.episodePlay' => '재생',
|
|
'settings.episodeDetails' => '상세 정보 열기',
|
|
'settings.useGlobalHubs' => '홈 레이아웃 사용',
|
|
'settings.useGlobalHubsDescription' => '통합 홈 허브를 표시합니다. 끄면 라이브러리 추천을 사용합니다.',
|
|
'settings.showServerNameOnHubs' => '허브에 서버 이름 표시',
|
|
'settings.showServerNameOnHubsDescription' => '허브 제목에 항상 서버 이름을 표시합니다.',
|
|
'settings.groupLibrariesByServer' => '서버별로 라이브러리 그룹화',
|
|
'settings.groupLibrariesByServerDescription' => '사이드바 라이브러리를 미디어 서버별로 그룹화합니다.',
|
|
'settings.alwaysKeepSidebarOpen' => '사이드바 항상 열어두기',
|
|
'settings.alwaysKeepSidebarOpenDescription' => '사이드바가 확장된 상태로 유지되고 콘텐츠 영역이 맞춰집니다',
|
|
'settings.showUnwatchedCount' => '미시청 수 표시',
|
|
'settings.showUnwatchedCountDescription' => '시리즈 및 시즌에 미시청 에피소드 수 표시',
|
|
'settings.showEpisodeNumberOnCards' => '카드에 에피소드 번호 표시',
|
|
'settings.showEpisodeNumberOnCardsDescription' => '에피소드 카드에 시즌 및 에피소드 번호 표시',
|
|
'settings.showSeasonPostersOnTabs' => '탭에 시즌 포스터 표시',
|
|
'settings.showSeasonPostersOnTabsDescription' => '각 시즌 포스터를 탭 위에 표시',
|
|
'settings.tvFullCardLayout' => '전체 TV 카드',
|
|
'settings.tvFullCardLayoutDescription' => 'TV 카드에 이미지만 표시하고 배우 이름을 오버레이로 표시',
|
|
'settings.focusGlow' => '포커스 글로우',
|
|
'settings.focusGlowDescription' => '포커스된 카드 주위에 은은한 빛 효과를 표시',
|
|
'settings.visualEffects' => '시각 효과',
|
|
'settings.visualEffectsAuto' => '자동',
|
|
'settings.visualEffectsAutoDescription' => '저전력 기기에서 효과를 자동으로 줄입니다',
|
|
'settings.visualEffectsFull' => '전체',
|
|
'settings.visualEffectsReduced' => '축소',
|
|
'settings.visualEffectsReducedDescription' => '애니메이션을 줄이고 아트워크 해상도를 낮춥니다',
|
|
'settings.hideSpoilers' => '미시청 에피소드 스포일러 숨기기',
|
|
'settings.hideSpoilersDescription' => '시청하지 않은 에피소드의 썸네일과 설명을 흐리게 처리',
|
|
'settings.playerBackend' => '플레이어 백엔드',
|
|
'settings.exoPlayer' => 'ExoPlayer',
|
|
'settings.mpv' => 'mpv',
|
|
'settings.hardwareDecoding' => '하드웨어 디코딩',
|
|
'settings.hardwareDecodingDescription' => '가능한 경우 하드웨어 가속을 사용합니다',
|
|
'settings.bufferSize' => '버퍼 크기',
|
|
'settings.bufferSizeMB' => ({required Object size}) => '${size}MB',
|
|
'settings.bufferSizeAuto' => '자동 (권장)',
|
|
'settings.bufferSizeWarning' => ({required Object heap, required Object size}) => '${heap}MB 메모리를 사용할 수 있습니다. ${size}MB 버퍼는 재생에 영향을 줄 수 있습니다.',
|
|
'settings.defaultQualityTitle' => '기본 화질',
|
|
'settings.musicQualityTitle' => '음악 음질',
|
|
'settings.subtitleStyling' => '자막 스타일',
|
|
'settings.subtitleStylingDescription' => '자막 모양을 사용자 지정합니다',
|
|
'settings.smallSkipDuration' => '짧은 건너뛰기 시간',
|
|
'settings.largeSkipDuration' => '긴 건너뛰기 시간',
|
|
'settings.rewindOnResume' => '재개 시 되감기',
|
|
'settings.secondsUnit' => ({required Object seconds}) => '${seconds}초',
|
|
'settings.defaultSleepTimer' => '기본 취침 타이머',
|
|
'settings.minutesUnit' => ({required Object minutes}) => '${minutes}분',
|
|
'settings.rememberTrackSelections' => '시리즈/영화별 트랙 선택 기억',
|
|
'settings.rememberTrackSelectionsDescription' => '작품별 오디오 및 자막 선택 기억',
|
|
'settings.showChapterMarkersOnTimeline' => '탐색 막대에 챕터 마커 표시',
|
|
'settings.showChapterMarkersOnTimelineDescription' => '챕터 경계에서 탐색 막대 구분',
|
|
'settings.clickVideoTogglesPlayback' => '동영상 클릭으로 재생/일시정지 전환',
|
|
'settings.clickVideoTogglesPlaybackDescription' => '컨트롤을 표시하는 대신 동영상을 클릭하여 재생하거나 일시정지합니다.',
|
|
'settings.videoPlayerControls' => '비디오 플레이어 컨트롤',
|
|
'settings.keyboardShortcuts' => '키보드 단축키',
|
|
'settings.keyboardShortcutsDescription' => '키보드 단축키를 사용자 지정합니다',
|
|
'settings.videoPlayerNavigation' => '비디오 플레이어 탐색',
|
|
'settings.videoPlayerNavigationDescription' => '방향 키로 비디오 플레이어 컨트롤을 탐색합니다',
|
|
'settings.watchTogetherRelay' => '함께 보기 릴레이',
|
|
'settings.watchTogetherRelayDescription' => '사용자 지정 릴레이를 설정합니다. 모두 같은 서버를 사용해야 합니다.',
|
|
'settings.watchTogetherRelayHint' => 'https://my-relay.example.com',
|
|
'settings.watchTogetherRelayInvalid' => '올바른 HTTP 또는 HTTPS 릴레이 기본 URL을 입력하세요.',
|
|
'settings.crashReporting' => '충돌 보고',
|
|
'settings.crashReportingDescription' => '앱 개선을 위해 충돌 보고서 전송',
|
|
'settings.debugLogging' => '디버그 로깅',
|
|
'settings.debugLoggingDescription' => '문제 해결을 위해 상세 로깅 활성화',
|
|
'settings.viewLogs' => '로그 보기',
|
|
'settings.viewLogsDescription' => '애플리케이션 로그 확인',
|
|
'settings.clearCache' => '캐시 삭제',
|
|
'settings.clearCacheDescription' => '캐시된 이미지와 데이터를 지웁니다. 콘텐츠 로드가 느려질 수 있습니다.',
|
|
'settings.clearCacheSuccess' => '캐시 삭제 성공',
|
|
'settings.resetSettings' => '설정 재설정',
|
|
'settings.resetSettingsDescription' => '기본 설정으로 복원합니다. 되돌릴 수 없습니다.',
|
|
'settings.resetSettingsSuccess' => '설정 재설정 성공',
|
|
'settings.backup' => '백업',
|
|
'settings.exportSettings' => '설정 내보내기',
|
|
'settings.exportSettingsDescription' => '기본 설정을 파일로 저장',
|
|
'settings.exportSettingsSuccess' => '설정 내보내기 완료',
|
|
'settings.importSettings' => '설정 가져오기',
|
|
'settings.importSettingsDescription' => '파일에서 기본 설정 복원',
|
|
'settings.importSettingsConfirm' => '현재 설정을 대체합니다. 계속하시겠습니까?',
|
|
'settings.importSettingsSuccess' => '설정 가져오기 완료',
|
|
'settings.importSettingsInvalidFile' => '유효한 Plezy 설정 내보내기 파일이 아닙니다',
|
|
'settings.importSettingsNoUser' => '설정을 가져오기 전에 로그인하세요',
|
|
'settings.shortcutsReset' => '단축키가 기본값으로 재설정되었습니다',
|
|
'settings.about' => '정보',
|
|
'settings.aboutDescription' => '앱 정보 및 라이선스',
|
|
'settings.updates' => '업데이트',
|
|
'settings.updateAvailable' => '사용 가능한 업데이트 있음',
|
|
'settings.checkForUpdates' => '업데이트 확인',
|
|
'settings.autoCheckUpdatesOnStartup' => '시작 시 자동으로 업데이트 확인',
|
|
'settings.autoCheckUpdatesOnStartupDescription' => '실행 시 업데이트가 있으면 알림',
|
|
'settings.validationErrorEnterNumber' => '유효한 숫자를 입력하세요',
|
|
'settings.validationErrorDuration' => ({required Object min, required Object max, required Object unit}) => '기간은 ${min}과 ${max} ${unit} 사이여야 합니다',
|
|
'settings.shortcutAlreadyAssigned' => ({required Object action}) => '단축키가 이미 ${action}에 할당되었습니다',
|
|
'settings.shortcutUpdated' => ({required Object action}) => '${action} 단축키가 업데이트되었습니다',
|
|
'settings.saveFailed' => '변경 사항을 저장하지 못했습니다. 다시 시도하세요.',
|
|
'settings.autoSkip' => '자동 건너뛰기',
|
|
'settings.autoSkipIntro' => '자동으로 오프닝 건너뛰기',
|
|
'settings.autoSkipIntroDescription' => '몇 초 후 오프닝을 자동으로 건너뛰기',
|
|
'settings.autoSkipCredits' => '자동으로 엔딩 건너뛰기',
|
|
'settings.autoSkipCreditsDescription' => '엔딩 크레딧 자동 건너뛰기 후 다음 에피소드 재생',
|
|
'settings.forceSkipMarkerFallback' => '대체 마커 강제 사용',
|
|
'settings.forceSkipMarkerFallbackDescription' => 'Plex에 마커가 있어도 챕터 제목 패턴 사용',
|
|
'settings.autoSkipDelay' => '자동 건너뛰기 지연',
|
|
'settings.autoSkipDelayDescription' => ({required Object seconds}) => '자동으로 건너뛰기 전 ${seconds}초 대기',
|
|
'settings.introPattern' => '인트로 마커 패턴',
|
|
'settings.introPatternDescription' => '챕터 제목에서 인트로 마커를 인식하는 정규식 패턴',
|
|
'settings.creditsPattern' => '크레딧 마커 패턴',
|
|
'settings.creditsPatternDescription' => '챕터 제목에서 크레딧 마커를 인식하는 정규식 패턴',
|
|
'settings.invalidRegex' => '잘못된 정규식',
|
|
'settings.regex' => '정규식',
|
|
'settings.downloads' => '다운로드',
|
|
'settings.downloadLocationDescription' => '다운로드 콘텐츠 저장 위치 선택',
|
|
'settings.downloadLocationDefault' => '기본값 (앱 저장소)',
|
|
'settings.downloadLocationCustom' => '사용자 지정 위치',
|
|
'settings.selectFolder' => '폴더 선택',
|
|
'settings.resetToDefault' => '기본값으로 재설정',
|
|
'settings.currentPath' => ({required Object path}) => '현재: ${path}',
|
|
'settings.downloadLocationChanged' => '다운로드 위치가 변경되었습니다',
|
|
'settings.downloadLocationReset' => '다운로드 위치가 기본값으로 재설정되었습니다',
|
|
'settings.downloadLocationInvalid' => '선택한 폴더에 쓰기 권한이 없습니다',
|
|
'settings.downloadLocationPickerUnavailable' => '이 기기에서는 폴더를 선택할 수 없습니다',
|
|
'settings.downloadOnWifiOnly' => 'Wi-Fi 연결 시에만 다운로드',
|
|
'settings.downloadOnWifiOnlyDescription' => '셀룰러 데이터 사용 중에는 다운로드하지 않습니다',
|
|
'settings.autoRemoveWatchedDownloads' => '시청한 다운로드 항목 자동 삭제',
|
|
'settings.autoRemoveWatchedDownloadsDescription' => '시청한 다운로드 항목을 자동으로 삭제합니다',
|
|
'settings.cellularDownloadBlocked' => '셀룰러에서는 다운로드가 차단됩니다. Wi-Fi를 사용하거나 설정을 변경하세요.',
|
|
'settings.maxVolume' => '최대 볼륨',
|
|
'settings.maxVolumeDescription' => '음량이 작은 콘텐츠를 위해 100% 이상의 볼륨을 허용합니다',
|
|
'settings.maxVolumePercent' => ({required Object percent}) => '${percent}%',
|
|
'settings.discordRichPresence' => 'Discord Rich Presence',
|
|
'settings.discordRichPresenceDescription' => 'Discord에서 시청 중인 콘텐츠 표시',
|
|
'settings.services' => '서비스',
|
|
'settings.servicesDescription' => 'Trakt, MyAnimeList, Seerr 등 연결',
|
|
'settings.manageLibrariesDescription' => '라이브러리 순서를 변경하거나 숨깁니다',
|
|
'settings.companionRemoteServer' => '컴패니언 리모트 서버',
|
|
'settings.companionRemoteServerDescription' => '네트워크의 모바일 기기가 이 앱을 제어할 수 있도록 허용',
|
|
'settings.autoPip' => '자동 PIP 모드',
|
|
'settings.autoPipDescription' => '재생 중 앱을 떠나면 자동으로 화면 속 화면 모드로 전환합니다',
|
|
'settings.matchContentFrameRate' => '콘텐츠 프레임 레이트 맞춤',
|
|
'settings.matchContentFrameRateDescription' => '디스플레이 새로 고침 빈도를 동영상 콘텐츠에 맞춤',
|
|
'settings.matchRefreshRate' => '주사율 맞춤',
|
|
'settings.matchRefreshRateDescription' => '전체 화면에서 디스플레이 새로 고침 빈도 맞춤',
|
|
'settings.matchDynamicRange' => '다이나믹 레인지 맞춤',
|
|
'settings.matchDynamicRangeDescription' => 'HDR 콘텐츠에서는 HDR로 전환한 뒤 SDR로 되돌림',
|
|
'settings.displaySwitchDelay' => '디스플레이 전환 지연',
|
|
'settings.tunneledPlayback' => '터널 재생',
|
|
'settings.tunneledPlaybackDescription' => '비디오 터널링을 사용합니다. HDR 재생 시 검은 화면이 보이면 비활성화하세요.',
|
|
'settings.audioPassthrough' => '오디오 패스스루',
|
|
'settings.audioPassthroughDescription' => 'Dolby/DTS 오디오를 재인코딩 없이 리시버나 TV로 전송하여 서라운드 사운드를 유지합니다. 소리가 나지 않으면 비활성화하세요.',
|
|
'settings.audioPassthroughDescriptionAppleTv' => 'Dolby Digital Plus(Atmos 포함)에 Apple의 기본 Dolby 디코더를 사용합니다. DTS와 TrueHD는 계속 멀티채널 PCM으로 재생됩니다. 소리가 나지 않으면 비활성화하세요.',
|
|
'settings.audioDownmix' => '스테레오로 다운믹스',
|
|
'settings.audioDownmixDescription' => '서라운드 오디오를 스테레오 스피커나 헤드폰용 2채널로 믹스합니다',
|
|
'settings.downmixCenterBoost' => '센터 채널 부스트',
|
|
'settings.downmixCenterBoostValue' => ({required Object db}) => '${db} dB',
|
|
'settings.downmixCenterBoostLabel' => '부스트 (dB)',
|
|
'settings.downmixCenterBoostShort' => 'dB',
|
|
'settings.audioDownmixNormalize' => '다운믹스 시 음량 정규화',
|
|
'settings.audioDownmixNormalizeDescription' => '클리핑을 방지하기 위해 믹스 음량을 낮춥니다. 원래 음량을 유지하려면 끄세요(큰 소리 장면에서 왜곡될 수 있음).',
|
|
'settings.atmosDiagnostics' => 'Atmos 출력 테스트',
|
|
'settings.atmosDiagnosticsDescription' => '시스템 플레이어로 테스트 신호를 재생하여 Dolby Atmos 출력을 진단합니다',
|
|
'settings.atmosTestHlsAtmos' => 'Apple Atmos 스트림',
|
|
'settings.atmosTestHlsAtmosDescription' => '검증된 Dolby Atmos 스트림입니다. 리시버에 Dolby Atmos가 표시되어야 합니다.',
|
|
'settings.atmosTestHlsControl' => 'Apple 서라운드 스트림',
|
|
'settings.atmosTestHlsControlDescription' => 'Atmos 없는 대조용 스트림입니다. 리시버에 Atmos 없는 서라운드가 표시되어야 합니다.',
|
|
'settings.atmosTestRawStream' => '원시 EAC3 스트림',
|
|
'settings.atmosTestRawStreamDescription' => '플레이어 내 Atmos 재생과 동일한 방식으로 테스트 파일을 스트리밍합니다. 테스트 파일 URL이 필요합니다.',
|
|
'settings.atmosTestRawFile' => '원시 EAC3 파일',
|
|
'settings.atmosTestRawFileDescription' => '길이가 알려진 테스트 파일을 재생합니다. 테스트 파일 URL이 필요합니다.',
|
|
'settings.atmosTestStop' => '테스트 중지',
|
|
'settings.atmosTestUrl' => '테스트 파일 URL',
|
|
'settings.atmosTestUrlDescription' => '원시 .ec3 Dolby Atmos 파일의 HTTP URL(예: ffmpeg로 추출)',
|
|
'settings.atmosTestUrlMissing' => '먼저 테스트 파일 URL을 설정하세요',
|
|
'settings.atmosTestStatus' => '상태',
|
|
'settings.dvConversionMode' => 'Dolby Vision 변환',
|
|
'settings.dvConversionModeDescription' => 'ExoPlayer가 Dolby Vision Profile 7 파일을 처리하는 방식을 선택합니다.',
|
|
'settings.dvConversionAuto' => '자동',
|
|
'settings.dvConversionNative' => '네이티브 / 비활성화',
|
|
'settings.dvConversionDv81' => 'P7 → P8.1',
|
|
'settings.dvConversionHevcStrip' => 'P7 → HEVC',
|
|
'settings.dvConversionAutoDescription' => '기기 기능 감지와 일반 폴백 동작을 사용합니다',
|
|
'settings.dvConversionNativeDescription' => '네이티브 DV7을 강제하고 DV 변환 재시도를 억제합니다',
|
|
'settings.dvConversionDv81Description' => 'Dolby Vision 프로필 8.1로 인라인 RPU 변환을 강제합니다',
|
|
'settings.dvConversionHevcStripDescription' => 'Dolby Vision RPU/EL 레이어를 제거하고 일반 HEVC로 제공합니다',
|
|
'settings.requireProfileSelectionOnOpen' => '앱 실행 시 프로필 선택',
|
|
'settings.requireProfileSelectionOnOpenDescription' => '앱을 열 때마다 프로필 선택 화면을 표시합니다',
|
|
'settings.forceTvMode' => 'TV 모드 강제 사용',
|
|
'settings.forceTvModeDescription' => 'TV 레이아웃을 강제합니다. 자동 감지되지 않는 기기용입니다. 재시작이 필요합니다.',
|
|
'settings.startInFullscreen' => '전체 화면으로 시작',
|
|
'settings.startInFullscreenDescription' => '실행 시 Plezy를 전체 화면 모드로 엽니다',
|
|
'settings.exitFullscreenOnPlayerClose' => '플레이어를 닫을 때 전체 화면 종료',
|
|
'settings.exitFullscreenOnPlayerCloseDescription' => '비디오 플레이어를 닫을 때 자동으로 전체 화면을 종료합니다',
|
|
'settings.autoHidePerformanceOverlay' => '성능 오버레이 자동 숨기기',
|
|
'settings.autoHidePerformanceOverlayDescription' => '재생 컨트롤과 함께 성능 오버레이를 페이드 처리',
|
|
'settings.showNavBarLabels' => '내비게이션 바 라벨 표시',
|
|
'settings.showNavBarLabelsDescription' => '내비게이션 바 아이콘 아래에 텍스트 라벨을 표시합니다',
|
|
'settings.startupSection' => '시작 섹션',
|
|
'settings.liveTvDefaultFavorites' => '즐겨찾기 채널 기본 설정',
|
|
'settings.liveTvDefaultFavoritesDescription' => '라이브 TV를 열 때 즐겨찾기 채널만 표시',
|
|
'settings.display' => '디스플레이',
|
|
'settings.homeScreen' => '홈 화면',
|
|
'settings.navigation' => '탐색',
|
|
'settings.window' => '창',
|
|
'settings.content' => '콘텐츠',
|
|
'settings.player' => '플레이어',
|
|
'settings.subtitlesAndConfig' => '자막 및 구성',
|
|
'settings.seekAndTiming' => '탐색 및 타이밍',
|
|
'settings.behavior' => '동작',
|
|
'search.hint' => '영화, 시리즈, 음악 등을 검색하세요...',
|
|
'search.tryDifferentTerm' => '다른 검색어를 시도해 보세요',
|
|
'search.searchYourMedia' => '미디어 검색',
|
|
'search.enterTitleActorOrKeyword' => '제목, 배우 또는 키워드를 입력하세요',
|
|
'hotkeys.setShortcutFor' => ({required Object actionName}) => '${actionName}에 대한 단축키 설정',
|
|
'hotkeys.clearShortcut' => '단축키 삭제',
|
|
'hotkeys.noShortcutSet' => '설정된 단축키 없음',
|
|
'hotkeys.currentShortcut' => '현재 단축키:',
|
|
'hotkeys.pressToRecord' => '단축키를 기록하려면 선택',
|
|
'hotkeys.recordingShortcut' => '지금 단축키를 누르세요',
|
|
'hotkeys.actions.playPause' => '재생/일시정지',
|
|
'hotkeys.actions.volumeUp' => '볼륨 높이기',
|
|
'hotkeys.actions.volumeDown' => '볼륨 낮추기',
|
|
'hotkeys.actions.seekForward' => ({required Object seconds}) => '앞으로 이동 (${seconds}초)',
|
|
'hotkeys.actions.seekBackward' => ({required Object seconds}) => '뒤로 이동 (${seconds}초)',
|
|
'hotkeys.actions.fullscreenToggle' => '전체 화면 전환',
|
|
'hotkeys.actions.muteToggle' => '음소거 전환',
|
|
'hotkeys.actions.subtitleToggle' => '자막 전환',
|
|
'hotkeys.actions.audioTrackNext' => '다음 오디오 트랙',
|
|
'hotkeys.actions.subtitleTrackNext' => '다음 자막 트랙',
|
|
'hotkeys.actions.chapterNext' => '다음 챕터',
|
|
'hotkeys.actions.chapterPrevious' => '이전 챕터',
|
|
'hotkeys.actions.episodeNext' => '다음 에피소드',
|
|
'hotkeys.actions.episodePrevious' => '이전 에피소드',
|
|
'hotkeys.actions.speedIncrease' => '속도 높이기',
|
|
'hotkeys.actions.speedDecrease' => '속도 낮추기',
|
|
'hotkeys.actions.speedReset' => '속도 초기화',
|
|
'hotkeys.actions.zoomIn' => '확대',
|
|
'hotkeys.actions.zoomOut' => '축소',
|
|
'hotkeys.actions.zoomReset' => '확대/축소 초기화',
|
|
'hotkeys.actions.subSeekNext' => '다음 자막으로 이동',
|
|
'hotkeys.actions.subSeekPrev' => '이전 자막으로 이동',
|
|
'hotkeys.actions.shaderToggle' => '셰이더 전환',
|
|
'hotkeys.actions.skipMarker' => '인트로/크레딧 건너뛰기',
|
|
'hotkeys.actions.screenshot' => '스크린샷 찍기',
|
|
'fileInfo.title' => '파일 정보',
|
|
'fileInfo.video' => '비디오',
|
|
'fileInfo.audio' => '오디오',
|
|
'fileInfo.file' => '파일',
|
|
'fileInfo.advanced' => '고급',
|
|
'fileInfo.codec' => '코덱',
|
|
'fileInfo.resolution' => '해상도',
|
|
'fileInfo.bitrate' => '비트레이트',
|
|
'fileInfo.frameRate' => '프레임 속도',
|
|
'fileInfo.aspectRatio' => '종횡비',
|
|
'fileInfo.profile' => '프로파일',
|
|
'fileInfo.bitDepth' => '비트 심도',
|
|
'fileInfo.colorSpace' => '색 공간',
|
|
'fileInfo.colorRange' => '색 범위',
|
|
'fileInfo.colorPrimaries' => '색 원색',
|
|
'fileInfo.chromaSubsampling' => '색차 서브샘플링',
|
|
'fileInfo.channels' => '채널',
|
|
'fileInfo.subtitles' => '자막',
|
|
'fileInfo.overallBitrate' => '전체 비트레이트',
|
|
'fileInfo.path' => '경로',
|
|
'fileInfo.size' => '크기',
|
|
'fileInfo.container' => '컨테이너',
|
|
'fileInfo.duration' => '재생 시간',
|
|
'fileInfo.optimizedForStreaming' => '스트리밍 최적화',
|
|
'fileInfo.has64bitOffsets' => '64비트 오프셋',
|
|
'mediaMenu.markAsWatched' => '시청 완료로 표시',
|
|
'mediaMenu.markAsUnwatched' => '미시청으로 표시',
|
|
'mediaMenu.removeFromContinueWatching' => '계속 보기에서 제거',
|
|
'mediaMenu.viewDetails' => '상세 정보 보기',
|
|
'mediaMenu.goToSeries' => '시리즈로 이동',
|
|
'mediaMenu.shufflePlay' => '무작위 재생',
|
|
'mediaMenu.shuffleNotAvailableOffline' => '오프라인에서는 무작위 재생을 사용할 수 없습니다',
|
|
'mediaMenu.fileInfo' => '파일 정보',
|
|
'mediaMenu.deleteFromServer' => '서버에서 삭제',
|
|
'mediaMenu.confirmDelete' => '이 미디어와 해당 파일을 서버에서 삭제할까요?',
|
|
'mediaMenu.deleteMultipleWarning' => '모든 에피소드와 파일이 포함됩니다.',
|
|
'mediaMenu.mediaDeletedSuccessfully' => '미디어 항목이 성공적으로 삭제되었습니다',
|
|
'mediaMenu.mediaFailedToDelete' => '미디어 항목 삭제 실패',
|
|
'mediaMenu.rate' => '평가',
|
|
'mediaMenu.playFromBeginning' => '처음부터 재생',
|
|
'mediaMenu.playVersion' => '버전 재생...',
|
|
'rateSheet.title' => '평가',
|
|
'rateSheet.server' => '서버',
|
|
'rateSheet.favorite' => '즐겨찾기',
|
|
'rateSheet.favorited' => '즐겨찾기됨',
|
|
'rateSheet.saved' => '저장됨',
|
|
'rateSheet.notAvailable' => '일치 항목 없음',
|
|
'rateSheet.noConnectedServices' => '평가하려면 설정에서 서비스를 연결하세요.',
|
|
'accessibility.mediaCardMovie' => ({required Object title}) => '${title}, 영화',
|
|
'accessibility.mediaCardShow' => ({required Object title}) => '${title}, TV 프로그램',
|
|
'accessibility.mediaCardEpisode' => ({required Object title, required Object episodeInfo}) => '${title}, ${episodeInfo}',
|
|
'accessibility.mediaCardSeason' => ({required Object title, required Object seasonInfo}) => '${title}, ${seasonInfo}',
|
|
'accessibility.mediaCardWatched' => '시청 완료',
|
|
'accessibility.mediaCardPartiallyWatched' => ({required Object percent}) => '${percent}% 시청 완료',
|
|
'accessibility.mediaCardUnwatched' => '미시청',
|
|
'accessibility.tapToPlay' => '탭하여 재생',
|
|
'accessibility.decrease' => '낮추기',
|
|
'accessibility.increase' => '높이기',
|
|
'accessibility.decreaseValue' => ({required Object label}) => '${label} 낮추기',
|
|
'accessibility.increaseValue' => ({required Object label}) => '${label} 높이기',
|
|
'accessibility.hue' => '색조',
|
|
'accessibility.saturation' => '채도',
|
|
'accessibility.brightness' => '밝기',
|
|
'accessibility.hexColor' => '16진수 색상',
|
|
'accessibility.expandText' => '텍스트 펼치기',
|
|
'accessibility.collapseText' => '텍스트 접기',
|
|
'accessibility.alphabetNavigation' => '알파벳 탐색',
|
|
'accessibility.alphabetScrollHint' => '위아래로 스와이프하여 글자별로 이동',
|
|
'accessibility.rowColumnPosition' => ({required Object rowCount, required Object row, required Object columnCount, required Object column}) => '${rowCount}행 중 ${row}행, ${columnCount}열 중 ${column}열',
|
|
'accessibility.rowPosition' => ({required Object rowCount, required Object row}) => '${rowCount}행 중 ${row}행',
|
|
'tooltips.shufflePlay' => '무작위 재생',
|
|
'tooltips.playTrailer' => '예고편 재생',
|
|
'tooltips.markAsWatched' => '시청 완료로 표시',
|
|
'tooltips.markAsUnwatched' => '미시청으로 표시',
|
|
'audioTracks.track' => ({required Object n}) => '오디오 트랙 ${n}',
|
|
'videoControls.audioLabel' => '오디오',
|
|
'videoControls.subtitlesLabel' => '자막',
|
|
'videoControls.resetToZero' => '0ms로 재설정',
|
|
'videoControls.addTime' => ({required Object amount, required Object unit}) => '+${amount}${unit}',
|
|
'videoControls.minusTime' => ({required Object amount, required Object unit}) => '-${amount}${unit}',
|
|
'videoControls.playsLater' => ({required Object label}) => '${label} 나중에 재생됨',
|
|
'videoControls.playsEarlier' => ({required Object label}) => '${label} 더 먼저 재생됨',
|
|
'videoControls.noOffset' => '오프셋 없음',
|
|
'videoControls.letterbox' => '레터박스 모드',
|
|
'videoControls.fillScreen' => '화면 채우기',
|
|
'videoControls.stretch' => '확장',
|
|
'videoControls.lockRotation' => '회전 잠금',
|
|
'videoControls.unlockRotation' => '회전 잠금 해제',
|
|
'videoControls.timerActive' => '타이머 활성화됨',
|
|
'videoControls.playbackWillPauseIn' => ({required Object duration}) => '${duration} 후 재생이 일시정지됩니다',
|
|
'videoControls.sleepTimerEndOfVideo' => '현재 비디오의 끝',
|
|
'videoControls.sleepTimerStopAtHeader' => '정지 시점',
|
|
'videoControls.sleepTimerDurationHeader' => '타이머',
|
|
'videoControls.playbackWillPauseAtEnd' => '재생이 이 비디오의 끝에서 일시 중지됩니다',
|
|
'videoControls.stillWatching' => '아직 시청 중이신가요?',
|
|
'videoControls.pausingIn' => ({required Object seconds}) => '${seconds}초 후 일시 정지',
|
|
'videoControls.continueWatching' => '계속',
|
|
'videoControls.autoPlayNext' => '다음 자동 재생',
|
|
'videoControls.playNext' => '다음 재생',
|
|
'videoControls.playButton' => '재생',
|
|
'videoControls.pauseButton' => '일시정지',
|
|
'videoControls.showPlaybackControls' => '재생 컨트롤 표시',
|
|
'videoControls.hidePlaybackControls' => '재생 컨트롤 숨기기',
|
|
'videoControls.seekBackwardButton' => ({required Object seconds}) => '${seconds}초 뒤로 이동',
|
|
'videoControls.seekForwardButton' => ({required Object seconds}) => '${seconds}초 앞으로 이동',
|
|
'videoControls.previousButton' => '이전 에피소드',
|
|
'videoControls.nextButton' => '다음 에피소드',
|
|
'videoControls.previousChapterButton' => '이전 챕터',
|
|
'videoControls.nextChapterButton' => '다음 챕터',
|
|
'videoControls.muteButton' => '음소거',
|
|
'videoControls.unmuteButton' => '음소거 해제',
|
|
'videoControls.settingsButton' => '재생 설정',
|
|
'videoControls.tracksButton' => '오디오 및 자막',
|
|
'videoControls.chaptersButton' => '챕터',
|
|
'videoControls.versionQualityButton' => '버전 및 화질',
|
|
'videoControls.versionColumnHeader' => '버전',
|
|
'videoControls.qualityColumnHeader' => '화질',
|
|
'videoControls.qualityOriginal' => '원본',
|
|
'videoControls.qualityPresetLabel' => ({required Object resolution, required Object bitrate}) => '${resolution}p ${bitrate} Mbps',
|
|
'videoControls.transcodeUnavailableFallback' => '트랜스코딩을 사용할 수 없음 — 원본 화질로 재생',
|
|
'videoControls.subtitleUnavailableFallback' => '선택한 자막을 불러올 수 없어 자막 없이 재생을 계속합니다',
|
|
'videoControls.pipButton' => '픽처 인 픽처 모드',
|
|
'videoControls.aspectRatioButton' => '화면비율',
|
|
'videoControls.ambientLighting' => '주변 조명',
|
|
'videoControls.fullscreenButton' => '전체 화면',
|
|
'videoControls.exitFullscreenButton' => '전체 화면 종료',
|
|
'videoControls.alwaysOnTopButton' => '창 최상위 고정',
|
|
'videoControls.rotationLockButton' => '회전 잠금',
|
|
'videoControls.lockScreen' => '화면 잠금',
|
|
'videoControls.screenLockButton' => '화면 잠금',
|
|
'videoControls.longPressToUnlock' => '길게 눌러 잠금 해제',
|
|
'videoControls.timelineSlider' => '타임라인',
|
|
'videoControls.volumeSlider' => '볼륨 조절',
|
|
'videoControls.endsAt' => ({required Object time}) => '${time}에 종료',
|
|
'videoControls.pipActive' => '화면 속 화면으로 재생 중',
|
|
'videoControls.pipFailed' => '화면 속 화면 모드를 시작할 수 없습니다',
|
|
'videoControls.screenshotSaved' => '스크린샷 저장됨',
|
|
'videoControls.zoomPercent' => ({required Object percent}) => '확대/축소 ${percent}%',
|
|
'videoControls.pipErrors.androidVersion' => 'Android 8.0 이상이 필요합니다',
|
|
'videoControls.pipErrors.iosVersion' => 'iOS 15.0 이상이 필요합니다',
|
|
'videoControls.pipErrors.permissionDisabled' => '화면 속 화면이 비활성화되어 있습니다. 시스템 설정에서 활성화하세요.',
|
|
'videoControls.pipErrors.notSupported' => '이 기기는 화면 속 화면 모드를 지원하지 않습니다',
|
|
'videoControls.pipErrors.voSwitchFailed' => '화면 속 화면을 위한 비디오 출력 전환에 실패했습니다',
|
|
'videoControls.pipErrors.failed' => '화면 속 화면 모드를 시작할 수 없습니다',
|
|
'videoControls.pipErrors.unknown' => ({required Object error}) => '오류가 발생했습니다: ${error}',
|
|
'videoControls.chapters' => '챕터',
|
|
'videoControls.noChaptersAvailable' => '사용 가능한 챕터가 없습니다',
|
|
'videoControls.queue' => '재생 대기열',
|
|
'videoControls.noQueueItems' => '대기열에 항목이 없습니다',
|
|
'videoControls.searchSubtitles' => '자막 검색',
|
|
'videoControls.language' => '언어',
|
|
'videoControls.noSubtitlesFound' => '자막을 찾을 수 없습니다',
|
|
'videoControls.noSubtitlesAvailable' => '사용 가능한 자막 없음',
|
|
'videoControls.noAudioTracksAvailable' => '사용 가능한 오디오 트랙 없음',
|
|
'videoControls.noTracksAvailable' => '사용 가능한 트랙 없음',
|
|
'videoControls.subtitleDownloaded' => '자막이 다운로드되었습니다',
|
|
'videoControls.subtitleDownloadedNotApplied' => '자막을 다운로드했지만 선택할 수 없습니다',
|
|
'videoControls.subtitleDownloadFailed' => '자막 다운로드에 실패했습니다',
|
|
'videoControls.searchLanguages' => '언어 검색...',
|
|
_ => null,
|
|
} ?? switch (path) {
|
|
'messages.markedAsWatched' => '시청 완료로 표시됨',
|
|
'messages.markedAsUnwatched' => '미시청으로 표시됨',
|
|
'messages.markedAsWatchedOffline' => '시청 완료로 표시됨 (연결 시 동기화됨)',
|
|
'messages.markedAsUnwatchedOffline' => '미시청으로 표시됨 (연결 시 동기화됨)',
|
|
'messages.autoRemovedWatchedDownload' => ({required Object title}) => '자동 삭제됨: ${title}',
|
|
'messages.autoRemovedWatchedDownloads' => ({required num n}) => (_root.$meta.cardinalResolver ?? PluralResolvers.cardinal('ko'))(n, other: '시청한 다운로드 ${n}개를 자동 삭제했습니다', ),
|
|
'messages.removedFromContinueWatching' => '계속 시청 목록에서 제거됨',
|
|
'messages.errorLoading' => ({required Object error}) => '오류: ${error}',
|
|
'messages.streamInterrupted' => '스트림이 중단되었습니다. 재생을 누르거나 탐색하여 다시 시도하세요.',
|
|
'messages.liveStreamInterrupted' => '라이브 스트림이 중단되었습니다. 재생을 눌러 다시 시도하세요.',
|
|
'messages.fileInfoNotAvailable' => '파일 정보가 없습니다',
|
|
'messages.playbackAuthenticationRequired' => '이 항목을 재생하려면 미디어 서버에 다시 로그인하세요.',
|
|
'messages.playbackServerUnavailable' => '미디어 서버를 사용할 수 없습니다. 나중에 다시 시도하세요.',
|
|
'messages.playbackDataInvalid' => '서버에서 잘못된 재생 정보를 반환했습니다.',
|
|
'messages.playbackCancelled' => '재생이 취소되었습니다.',
|
|
'messages.playbackFailed' => '재생을 시작할 수 없습니다.',
|
|
'messages.errorLoadingFileInfo' => ({required Object error}) => '파일 정보 로딩 중 오류: ${error}',
|
|
'messages.errorLoadingSeries' => '시리즈 로딩 중 오류',
|
|
'messages.musicNotSupported' => '음악 재생 미지원',
|
|
'messages.noDescriptionAvailable' => '설명이 없습니다',
|
|
'messages.noProfilesAvailable' => '사용 가능한 프로필이 없습니다',
|
|
'messages.contactAdminForProfiles' => '프로필을 추가하려면 서버 관리자에게 문의하세요',
|
|
'messages.unableToDetermineLibrarySection' => '이 항목의 라이브러리 섹션을 확인할 수 없습니다',
|
|
'messages.logsCleared' => '로그가 삭제되었습니다',
|
|
'messages.logsCopied' => '로그가 클립보드에 복사되었습니다',
|
|
'messages.noLogsAvailable' => '사용 가능한 로그가 없습니다',
|
|
'messages.libraryScanning' => ({required Object title}) => '"${title}"을(를) 스캔 중입니다...',
|
|
'messages.libraryScanStarted' => ({required Object title}) => '"${title}" 미디어 라이브러리 스캔 시작',
|
|
'messages.libraryScanFailed' => ({required Object error}) => '미디어 라이브러리 스캔 실패: ${error}',
|
|
'messages.metadataRefreshing' => ({required Object title}) => '"${title}" 메타데이터 새로고침 중...',
|
|
'messages.metadataRefreshStarted' => ({required Object title}) => '"${title}" 메타데이터 새로고침 시작됨',
|
|
'messages.metadataRefreshFailed' => ({required Object error}) => '메타데이터 새로고침 실패: ${error}',
|
|
'messages.logoutConfirm' => '로그아웃하시겠습니까?',
|
|
'messages.noSeasonsFound' => '시즌을 찾을 수 없음',
|
|
'messages.seasonsLoadFailed' => '시즌을 불러오지 못했습니다',
|
|
'messages.noEpisodesFound' => '시즌 1에서 에피소드를 찾을 수 없습니다',
|
|
'messages.noEpisodesFoundGeneral' => '에피소드를 찾을 수 없습니다',
|
|
'messages.episodesLoadFailed' => '에피소드를 불러오지 못했습니다',
|
|
'messages.noResultsFound' => '결과를 찾을 수 없습니다',
|
|
'messages.sleepTimerSet' => ({required Object label}) => '취침 타이머가 ${label}(으)로 설정되었습니다',
|
|
'messages.noItemsAvailable' => '사용 가능한 항목이 없습니다',
|
|
'messages.failedToCreatePlayQueueNoItems' => '재생 대기열을 만들지 못했습니다 — 항목이 없습니다',
|
|
'messages.failedPlayback' => ({required Object action, required Object error}) => '${action}을(를) 수행할 수 없습니다: ${error}',
|
|
'messages.switchingToCompatiblePlayer' => '호환되는 플레이어로 전환 중...',
|
|
'messages.serverLimitTitle' => '재생 실패',
|
|
'messages.serverLimitBody' => '서버 오류(HTTP 500). 대역폭/트랜스코딩 제한으로 세션이 거부된 것 같습니다. 소유자에게 조정을 요청하세요.',
|
|
'messages.logsUploaded' => '로그 업로드 완료',
|
|
'messages.logsUploadFailed' => '로그 업로드 실패',
|
|
'messages.logId' => '로그 ID',
|
|
'subtitlingStyling.text' => '텍스트',
|
|
'subtitlingStyling.border' => '테두리',
|
|
'subtitlingStyling.background' => '배경',
|
|
'subtitlingStyling.fontSize' => '글자 크기',
|
|
'subtitlingStyling.textColor' => '텍스트 색상',
|
|
'subtitlingStyling.borderSize' => '테두리 크기',
|
|
'subtitlingStyling.borderColor' => '테두리 색상',
|
|
'subtitlingStyling.backgroundOpacity' => '배경 불투명도',
|
|
'subtitlingStyling.backgroundColor' => '배경색',
|
|
'subtitlingStyling.position' => '위치',
|
|
'subtitlingStyling.assOverride' => 'ASS 오버라이드',
|
|
'subtitlingStyling.overrideScale' => '크기 조정',
|
|
'subtitlingStyling.overrideForce' => '강제 적용',
|
|
'subtitlingStyling.overrideStrip' => '스타일 제거',
|
|
'subtitlingStyling.positionTop' => '위',
|
|
'subtitlingStyling.positionBottom' => '아래',
|
|
'subtitlingStyling.bold' => '굵게',
|
|
'subtitlingStyling.italic' => '기울임꼴',
|
|
'subtitlingStyling.renderResolution' => '렌더링 해상도',
|
|
'subtitlingStyling.renderResolutionScreen' => '화면 해상도',
|
|
'subtitlingStyling.renderResolutionVideo' => '영상 해상도',
|
|
'mpvConfig.title' => 'mpv.conf',
|
|
'mpvConfig.description' => '고급 비디오 플레이어 설정',
|
|
'mpvConfig.presets' => '프리셋',
|
|
'mpvConfig.noPresets' => '저장된 프리셋이 없습니다',
|
|
'mpvConfig.saveAsPreset' => '프리셋으로 저장...',
|
|
'mpvConfig.presetName' => '프리셋 이름',
|
|
'mpvConfig.presetNameHint' => '이 프리셋의 이름을 입력하세요',
|
|
'mpvConfig.loadPreset' => '불러오기',
|
|
'mpvConfig.deletePreset' => '삭제',
|
|
'mpvConfig.presetSaved' => '프리셋이 저장되었습니다',
|
|
'mpvConfig.presetLoaded' => '프리셋을 불러왔습니다',
|
|
'mpvConfig.presetDeleted' => '프리셋이 삭제되었습니다',
|
|
'mpvConfig.confirmDeletePreset' => '이 프리셋을 삭제하시겠습니까?',
|
|
'mpvConfig.configPlaceholder' => 'gpu-api=vulkan\nhwdec=auto\n# comment',
|
|
'dialog.confirmAction' => '작업 확인',
|
|
'profiles.addPlezyProfile' => 'Plezy 프로필 추가',
|
|
'profiles.switchingProfile' => '프로필 전환 중…',
|
|
'profiles.deleteThisProfileTitle' => '이 프로필을 삭제하시겠습니까?',
|
|
'profiles.deleteThisProfileMessage' => ({required Object displayName}) => '${displayName}을(를) 제거합니다. 연결에는 영향이 없습니다.',
|
|
'profiles.active' => '활성',
|
|
'profiles.manage' => '관리',
|
|
'profiles.delete' => '삭제',
|
|
'profiles.signOut' => '로그아웃',
|
|
'profiles.signOutPlexTitle' => 'Plex에서 로그아웃하시겠습니까?',
|
|
'profiles.signOutPlexMessage' => ({required Object displayName}) => '${displayName} 및 모든 Plex Home 사용자를 제거할까요? 언제든 다시 로그인할 수 있습니다.',
|
|
'profiles.signedOutPlex' => 'Plex에서 로그아웃되었습니다.',
|
|
'profiles.signOutFailed' => '로그아웃에 실패했습니다.',
|
|
'profiles.sectionTitle' => '프로필',
|
|
'profiles.summarySingle' => '관리되는 사용자와 로컬 ID를 혼합하려면 프로필을 추가하세요',
|
|
'profiles.summaryMultipleWithActive' => ({required Object count, required Object activeName}) => '${count}개 프로필 · 활성: ${activeName}',
|
|
'profiles.summaryMultiple' => ({required Object count}) => '${count}개 프로필',
|
|
'profiles.removeConnectionTitle' => '연결을 제거하시겠습니까?',
|
|
'profiles.removeConnectionMessage' => ({required Object displayName, required Object connectionLabel}) => '${displayName}의 ${connectionLabel} 접근 권한을 제거합니다. 다른 프로필에는 유지됩니다.',
|
|
'profiles.deleteProfileTitle' => '프로필을 삭제하시겠습니까?',
|
|
'profiles.deleteProfileMessage' => ({required Object displayName}) => '${displayName} 및 해당 연결을 제거합니다. 서버는 계속 사용할 수 있습니다.',
|
|
'profiles.profileNameLabel' => '프로필 이름',
|
|
'profiles.pinProtectionLabel' => 'PIN 보호',
|
|
'profiles.pinManagedByPlex' => 'PIN은 Plex에서 관리됩니다. plex.tv에서 편집하세요.',
|
|
'profiles.noPinSetEditOnPlex' => '설정된 PIN이 없습니다. 요구하려면 plex.tv에서 Home 사용자를 편집하세요.',
|
|
'profiles.setPin' => 'PIN 설정',
|
|
'profiles.setPinTitle' => 'PIN 설정',
|
|
'profiles.confirmPinTitle' => 'PIN 확인',
|
|
'profiles.pinSet' => 'PIN 설정됨',
|
|
'profiles.changePin' => '변경',
|
|
'profiles.removePin' => '제거',
|
|
'profiles.connectionsLabel' => '연결',
|
|
'profiles.add' => '추가',
|
|
'profiles.deleteProfileButton' => '프로필 삭제',
|
|
'profiles.noConnectionsHint' => '연결이 없습니다 — 이 프로필을 사용하려면 하나 추가하세요.',
|
|
'profiles.noConnections' => '연결 없음',
|
|
'profiles.plexHomeAccount' => 'Plex Home 계정',
|
|
'profiles.connectionDefault' => '기본값',
|
|
'profiles.connectionAs' => ({required Object displayName}) => '${displayName}(으)로',
|
|
'profiles.makeDefault' => '기본값으로 설정',
|
|
'profiles.removeConnection' => '제거',
|
|
'profiles.profileRenamed' => '프로필 이름이 변경되었습니다.',
|
|
'profiles.borrowAddTo' => ({required Object displayName}) => '${displayName}에 추가',
|
|
'profiles.borrowExplain' => '다른 프로필의 연결을 빌립니다. PIN으로 보호된 프로필에는 PIN이 필요합니다.',
|
|
'profiles.borrowEmpty' => '아직 빌릴 것이 없습니다.',
|
|
'profiles.borrowEmptySubtitle' => '먼저 다른 프로필에 Plex 또는 Jellyfin을 연결하세요.',
|
|
'profiles.borrowLoadFailed' => '사용 가능한 연결을 불러오지 못했습니다. 다시 시도하세요.',
|
|
'profiles.borrowFromProfile' => ({required Object displayName}) => '${displayName}에서',
|
|
'profiles.borrowConnectionBorrowed' => '연결을 빌렸습니다.',
|
|
'profiles.borrowFailed' => '연결을 빌리지 못했습니다.',
|
|
'profiles.incorrectPin' => 'PIN이 올바르지 않습니다.',
|
|
'profiles.incorrectPinTryAgain' => 'PIN이 올바르지 않습니다. 다시 시도하세요.',
|
|
'profiles.sourceProfileMissingParentAccount' => '원본 프로필에 상위 계정이 없습니다.',
|
|
'profiles.failedToLoadHomeUsers' => 'Plex Home 사용자를 불러올 수 없습니다. 연결을 확인하고 다시 시도하세요.',
|
|
'profiles.failedToVerifyPin' => 'PIN을 확인하지 못했습니다.',
|
|
'profiles.newProfile' => '새 프로필',
|
|
'profiles.profileNameHint' => '예: 손님, 어린이, 가족실',
|
|
'profiles.pinProtectionOptional' => 'PIN 보호 (선택 사항)',
|
|
'profiles.pinExplain' => '프로필 전환에는 4자리 PIN이 필요합니다.',
|
|
'profiles.continueButton' => '계속',
|
|
'profiles.pinsDontMatch' => 'PIN이 일치하지 않습니다',
|
|
'connections.sectionTitle' => '연결',
|
|
'connections.addConnection' => '연결 추가',
|
|
'connections.addConnectionSubtitleNoProfile' => 'Plex로 로그인하거나 Jellyfin 서버에 연결',
|
|
'connections.addConnectionSubtitleScoped' => ({required Object displayName}) => '${displayName}에 추가: Plex, Jellyfin 또는 다른 프로필 연결',
|
|
'connections.sessionExpiredOne' => ({required Object name}) => '${name}의 세션이 만료되었습니다',
|
|
'connections.sessionExpiredMany' => ({required Object count}) => '${count}개 서버의 세션이 만료되었습니다',
|
|
'connections.signInAgain' => '다시 로그인',
|
|
'connections.editJellyfinTitle' => 'Jellyfin 연결 편집',
|
|
'connections.editJellyfinIntro' => ({required Object serverName}) => '${serverName}의 URL을 추가하거나 제거하세요. Plezy는 연결 가능한 URL 중 지연 시간이 가장 낮은 URL을 사용합니다.',
|
|
'discover.title' => '둘러보기',
|
|
'discover.noContentAvailable' => '사용 가능한 콘텐츠가 없습니다',
|
|
'discover.addMediaToLibraries' => '미디어 라이브러리에 미디어를 추가해 주세요',
|
|
'discover.continueWatching' => '계속 시청',
|
|
'discover.continueWatchingIn' => ({required Object library}) => '${library}에서 계속 시청',
|
|
'discover.nextUp' => '다음 에피소드',
|
|
'discover.nextUpIn' => ({required Object library}) => '${library}의 다음 에피소드',
|
|
'discover.recentlyAdded' => '최근에 추가됨',
|
|
'discover.recentlyAddedIn' => ({required Object library}) => '${library}에 최근에 추가됨',
|
|
'discover.latestAlbumsIn' => ({required Object library}) => '${library}의 최신 앨범',
|
|
'discover.recentlyPlayedIn' => ({required Object library}) => '${library}에서 최근 재생',
|
|
'discover.mostPlayedIn' => ({required Object library}) => '${library}에서 가장 많이 재생',
|
|
'discover.playEpisode' => ({required Object season, required Object episode}) => 'S${season}E${episode}',
|
|
'discover.overview' => '개요',
|
|
'discover.cast' => '출연진',
|
|
'discover.extras' => '예고편 및 부가영상',
|
|
'discover.studio' => '제작사',
|
|
'discover.rating' => '연령 등급',
|
|
'discover.movie' => '영화',
|
|
'discover.tvShow' => 'TV 시리즈',
|
|
'discover.minutesLeft' => ({required Object minutes}) => '${minutes}분 남음',
|
|
'discover.moreLikeThis' => '비슷한 콘텐츠',
|
|
'errors.searchFailed' => ({required Object error}) => '검색 실패: ${error}',
|
|
'errors.connectionTimeout' => ({required Object context}) => '${context} 로드 중 연결 시간 초과',
|
|
'errors.connectionFailed' => '미디어 서버에 연결할 수 없습니다',
|
|
'errors.unableToLoad' => ({required Object context}) => '${context}을(를) 불러올 수 없습니다. 다시 시도하세요.',
|
|
'errors.noClientAvailable' => '사용 가능한 클라이언트가 없습니다',
|
|
'errors.pleaseEnterToken' => '토큰을 입력해 주세요',
|
|
'errors.invalidToken' => '토큰이 유효하지 않습니다',
|
|
'errors.failedToVerifyToken' => ({required Object error}) => '토큰을 확인할 수 없습니다: ${error}',
|
|
'errors.failedToSwitchProfile' => ({required Object displayName}) => '${displayName}으로 전환할 수 없습니다',
|
|
'errors.failedToDeleteProfile' => ({required Object displayName}) => '${displayName}을(를) 삭제할 수 없습니다',
|
|
'errors.failedToRate' => '평점을 업데이트하지 못했습니다',
|
|
'libraries.title' => '미디어 라이브러리',
|
|
'libraries.fallbackTitle' => '라이브러리',
|
|
'libraries.scanLibraryFiles' => '미디어 라이브러리 파일 스캔',
|
|
'libraries.scanLibrary' => '미디어 라이브러리 스캔',
|
|
'libraries.analyze' => '분석',
|
|
'libraries.analyzeLibrary' => '미디어 라이브러리 분석',
|
|
'libraries.refreshMetadata' => '메타데이터 새로 고침',
|
|
'libraries.emptyTrash' => '휴지통 비우기',
|
|
'libraries.emptyingTrash' => ({required Object title}) => '「${title}」의 휴지통을 비우고 있습니다...',
|
|
'libraries.trashEmptied' => ({required Object title}) => '「${title}」의 휴지통을 비웠습니다',
|
|
'libraries.failedToEmptyTrash' => ({required Object error}) => '휴지통 비우기 실패: ${error}',
|
|
'libraries.analyzing' => ({required Object title}) => '"${title}" 분석 중...',
|
|
'libraries.analysisStarted' => ({required Object title}) => '"${title}" 분석 시작됨',
|
|
'libraries.failedToAnalyze' => ({required Object error}) => '미디어 라이브러리 분석 실패: ${error}',
|
|
'libraries.noLibrariesFound' => '미디어 라이브러리 없음',
|
|
'libraries.allLibrariesHidden' => '모든 라이브러리가 숨겨졌습니다',
|
|
'libraries.hiddenLibrariesCount' => ({required Object count}) => '숨겨진 라이브러리 (${count})',
|
|
'libraries.thisLibraryIsEmpty' => '이 미디어 라이브러리는 비어 있습니다',
|
|
'libraries.noItemsMatchFilters' => '활성화된 필터와 일치하는 항목이 없습니다',
|
|
'libraries.resetFilters' => '필터 초기화',
|
|
'libraries.all' => '전체',
|
|
'libraries.clearAll' => '모두 삭제',
|
|
'libraries.scanLibraryConfirm' => ({required Object title}) => '「${title}」을(를) 스캔하시겠습니까?',
|
|
'libraries.analyzeLibraryConfirm' => ({required Object title}) => '「${title}」을(를) 분석하시겠습니까?',
|
|
'libraries.refreshMetadataConfirm' => ({required Object title}) => '「${title}」의 메타데이터를 새로고침하시겠습니까?',
|
|
'libraries.emptyTrashConfirm' => ({required Object title}) => '${title}의 휴지통을 비우시겠습니까?',
|
|
'libraries.manageLibraries' => '미디어 라이브러리 관리',
|
|
'libraries.sort' => '정렬',
|
|
'libraries.sortBy' => '정렬 기준',
|
|
'libraries.filters' => '필터',
|
|
'libraries.confirmActionMessage' => '이 작업을 실행하시겠습니까?',
|
|
'libraries.showLibrary' => '미디어 라이브러리 표시',
|
|
'libraries.hideLibrary' => '미디어 라이브러리 숨기기',
|
|
'libraries.libraryOptions' => '미디어 라이브러리 옵션',
|
|
'libraries.content' => '미디어 라이브러리 콘텐츠',
|
|
'libraries.selectLibrary' => '미디어 라이브러리 선택',
|
|
'libraries.filtersWithCount' => ({required Object count}) => '필터 (${count})',
|
|
'libraries.noRecommendations' => '추천 없음',
|
|
'libraries.noCollections' => '이 미디어 라이브러리에는 컬렉션이 없습니다',
|
|
'libraries.noFoldersFound' => '폴더를 찾을 수 없습니다',
|
|
'libraries.folders' => '폴더',
|
|
'libraries.tabs.recommended' => '추천',
|
|
'libraries.tabs.browse' => '찾아보기',
|
|
'libraries.tabs.collections' => '컬렉션',
|
|
'libraries.tabs.playlists' => '재생 목록',
|
|
'libraries.groupings.title' => '그룹',
|
|
'libraries.groupings.all' => '전체',
|
|
'libraries.groupings.movies' => '영화',
|
|
'libraries.groupings.shows' => 'TV 프로그램',
|
|
'libraries.groupings.seasons' => '시즌',
|
|
'libraries.groupings.episodes' => '화',
|
|
'libraries.groupings.artists' => '아티스트',
|
|
'libraries.groupings.albums' => '앨범',
|
|
'libraries.groupings.tracks' => '트랙',
|
|
'libraries.groupings.folders' => '폴더',
|
|
'libraries.filterCategories.genre' => '장르',
|
|
'libraries.filterCategories.year' => '연도',
|
|
'libraries.filterCategories.contentRating' => '시청 등급',
|
|
'libraries.filterCategories.tag' => '태그',
|
|
'libraries.filterCategories.unwatched' => '미시청',
|
|
'libraries.filterCategories.unplayed' => '재생하지 않음',
|
|
'libraries.filterCategories.favorites' => '즐겨찾기',
|
|
'libraries.sortLabels.title' => '제목',
|
|
'libraries.sortLabels.dateAdded' => '추가된 날짜',
|
|
'libraries.sortLabels.releaseDate' => '출시일',
|
|
'libraries.sortLabels.rating' => '평점',
|
|
'libraries.sortLabels.communityRating' => '커뮤니티 평점',
|
|
'libraries.sortLabels.criticRating' => '평론가 평점',
|
|
'libraries.sortLabels.userRating' => '사용자 평점',
|
|
'libraries.sortLabels.datePlayed' => '재생일',
|
|
'libraries.sortLabels.playCount' => '재생 횟수',
|
|
'libraries.sortLabels.productionYear' => '제작 연도',
|
|
'libraries.sortLabels.runtime' => '재생 시간',
|
|
'libraries.sortLabels.officialRating' => '공식 등급',
|
|
'libraries.sortLabels.premiereDate' => '최초 공개일',
|
|
'libraries.sortLabels.startDate' => '시작일',
|
|
'libraries.sortLabels.airTime' => '방영 시간',
|
|
'libraries.sortLabels.studio' => '스튜디오',
|
|
'libraries.sortLabels.random' => '무작위',
|
|
'libraries.sortLabels.dateShared' => '공유된 날짜',
|
|
'libraries.sortLabels.latestEpisodeAirDate' => '최신 에피소드 방영일',
|
|
'libraries.sortLabels.lastEpisodeDateAdded' => '최신 에피소드 추가일',
|
|
'about.title' => '소개',
|
|
'about.openSourceLicenses' => '오픈소스 라이선스',
|
|
'about.versionLabel' => ({required Object version}) => '버전 ${version}',
|
|
'about.appDescription' => 'Flutter로 만든 아름다운 Plex 및 Jellyfin 클라이언트',
|
|
'about.viewLicensesDescription' => '타사 라이브러리 라이선스 보기',
|
|
'serverSelection.noServersFoundForAccount' => ({required Object username, required Object email}) => '${username} (${email})의 서버를 찾을 수 없습니다.',
|
|
'serverSelection.failedToLoadServers' => ({required Object error}) => '서버를 로드할 수 없습니다: ${error}',
|
|
'hubDetail.title' => '제목',
|
|
'hubDetail.releaseYear' => '출시 연도',
|
|
'hubDetail.dateAdded' => '추가 날짜',
|
|
'hubDetail.rating' => '평점',
|
|
'hubDetail.noItemsFound' => '항목이 없습니다',
|
|
'logs.clearLogs' => '로그 지우기',
|
|
'logs.copyLogs' => '로그 복사',
|
|
'logs.uploadLogs' => '로그 업로드',
|
|
'licenses.relatedPackages' => '관련 소프트웨어 패키지',
|
|
'licenses.license' => '라이선스',
|
|
'licenses.licenseNumber' => ({required Object number}) => '라이선스 ${number}',
|
|
'licenses.licensesCount' => ({required Object count}) => '${count}개의 라이선스',
|
|
'navigation.libraries' => '미디어 라이브러리',
|
|
'navigation.downloads' => '다운로드',
|
|
'navigation.liveTv' => '실시간 TV',
|
|
'navigation.explore' => '탐색',
|
|
'explore.title' => '탐색',
|
|
'explore.selectSource' => '소스 선택',
|
|
'explore.rows.watchlist' => '관심 목록',
|
|
'explore.rows.recommendedMovies' => '추천 영화',
|
|
'explore.rows.recommendedShows' => '추천 TV 프로그램',
|
|
'explore.rows.trendingMovies' => '지금 뜨는 영화',
|
|
'explore.rows.trendingShows' => '지금 뜨는 TV 프로그램',
|
|
'explore.rows.popularMovies' => '인기 영화',
|
|
'explore.rows.popularShows' => '인기 TV 프로그램',
|
|
'explore.rows.trendingAnime' => '지금 뜨는 애니메이션',
|
|
'explore.rows.suggestedAnime' => '추천 애니메이션',
|
|
'explore.rows.airingAnime' => '방영 중인 인기 애니메이션',
|
|
'explore.rows.popularAnime' => '가장 인기 있는 애니메이션',
|
|
'explore.rows.trending' => '지금 뜨는 콘텐츠',
|
|
'explore.rows.upcomingMovies' => '개봉 예정 영화',
|
|
'explore.rows.upcomingShows' => '방영 예정 TV 프로그램',
|
|
'explore.status.airing' => '방영 중',
|
|
'explore.status.ended' => '종영',
|
|
'explore.status.canceled' => '취소됨',
|
|
'explore.status.upcoming' => '방영 예정',
|
|
'explore.episodeCount' => ({required num n}) => (_root.$meta.cardinalResolver ?? PluralResolvers.cardinal('ko'))(n, other: '${n}화', ),
|
|
'explore.cast' => '출연진',
|
|
'explore.characters' => '캐릭터',
|
|
'explore.addToWatchlist' => '관심 목록에 추가',
|
|
'explore.removeFromWatchlist' => '관심 목록에서 제거',
|
|
'explore.watchlistUpdateFailed' => '관심 목록을 업데이트하지 못했습니다',
|
|
'explore.notInLibrary' => '라이브러리에 없음',
|
|
'explore.inTheseLibraries' => '이 라이브러리에 있음',
|
|
'explore.checkingLibrary' => '라이브러리 확인 중...',
|
|
'explore.emptyTitle' => '아직 아무것도 없습니다',
|
|
'explore.emptyMessage' => ({required Object source}) => '${source}에 콘텐츠가 추가되면 여기에 표시됩니다.',
|
|
'explore.searchHint' => ({required Object source}) => '${source}에서 검색',
|
|
'explore.searchEmpty' => ({required Object query}) => '「${query}」에 대한 결과가 없습니다',
|
|
'explore.searchPrompt' => ({required Object source}) => '${source}에서 영화와 TV 프로그램을 검색하세요.',
|
|
'explore.searchFailed' => '검색에 실패했습니다. 연결을 확인하고 다시 시도하세요.',
|
|
'liveTv.title' => '실시간 TV',
|
|
'liveTv.guide' => '편성표',
|
|
'liveTv.noChannels' => '사용 가능한 채널이 없습니다',
|
|
'liveTv.noDvr' => '서버에 DVR이 구성되어 있지 않습니다',
|
|
'liveTv.serverUnavailable' => '라이브 TV 서버를 사용할 수 없습니다.',
|
|
'liveTv.serverNotConnected' => '라이브 TV 서버에 연결되어 있지 않습니다.',
|
|
'liveTv.noPrograms' => '프로그램 데이터가 없습니다',
|
|
'liveTv.liveStreamFailed' => '라이브 스트림 실패',
|
|
'liveTv.unknownProgram' => '알 수 없는 프로그램',
|
|
'liveTv.unknownHub' => '알 수 없음',
|
|
'liveTv.unknownError' => '알 수 없는 오류',
|
|
'liveTv.channelNumber' => ({required Object number}) => '채널 ${number}',
|
|
'liveTv.unknownChannel' => '알 수 없는 채널',
|
|
'liveTv.live' => '실시간',
|
|
'liveTv.reloadGuide' => '편성표 새로고침',
|
|
'liveTv.now' => '지금',
|
|
'liveTv.today' => '오늘',
|
|
'liveTv.tomorrow' => '내일',
|
|
'liveTv.midnight' => '자정',
|
|
'liveTv.overnight' => '심야',
|
|
'liveTv.morning' => '아침',
|
|
'liveTv.daytime' => '낮',
|
|
'liveTv.evening' => '저녁',
|
|
'liveTv.lateNight' => '심야 방송',
|
|
'liveTv.whatsOn' => '지금 방송 중',
|
|
'liveTv.watchChannel' => '채널 시청',
|
|
'liveTv.favorites' => '즐겨찾기',
|
|
'liveTv.reorderFavorites' => '즐겨찾기 순서 변경',
|
|
'liveTv.favoritesLoadFailed' => '즐겨찾기를 불러올 수 없습니다. 연결을 확인하고 다시 시도하세요.',
|
|
'liveTv.favoritesUpdateFailed' => '즐겨찾기를 업데이트할 수 없습니다. 연결을 확인하고 다시 시도하세요.',
|
|
'liveTv.joinSession' => '진행 중인 세션 참여',
|
|
'liveTv.watchFromStart' => ({required Object minutes}) => '처음부터 시청 (${minutes}분 전 시작)',
|
|
'liveTv.watchLive' => '실시간 시청',
|
|
'liveTv.goToLive' => '실시간으로 이동',
|
|
'liveTv.record' => '녹화',
|
|
'liveTv.recordEpisode' => '에피소드 녹화',
|
|
'liveTv.recordSeries' => '시리즈 녹화',
|
|
'liveTv.recordOptions' => '녹화 옵션',
|
|
'liveTv.saveTo' => '저장 위치',
|
|
'liveTv.recordings' => '녹화',
|
|
'liveTv.scheduledRecordings' => '예약됨',
|
|
'liveTv.recordingRules' => '녹화 규칙',
|
|
'liveTv.noScheduledRecordings' => '예약된 녹화 없음',
|
|
'liveTv.manageRecording' => '녹화 관리',
|
|
'liveTv.cancelRecording' => '녹화 취소',
|
|
'liveTv.cancelRecordingTitle' => '이 녹화를 취소할까요?',
|
|
'liveTv.cancelRecordingMessage' => ({required Object title}) => '${title}이(가) 더 이상 녹화되지 않습니다.',
|
|
'liveTv.deleteRule' => '규칙 삭제',
|
|
'liveTv.deleteRuleTitle' => '녹화 규칙을 삭제할까요?',
|
|
'liveTv.deleteRuleMessage' => ({required Object title}) => '${title}의 향후 에피소드는 녹화되지 않습니다.',
|
|
'liveTv.recordingScheduled' => '녹화 예약됨',
|
|
'liveTv.alreadyScheduled' => '이 프로그램은 이미 예약되어 있습니다',
|
|
'liveTv.dvrAdminRequired' => 'DVR 설정은 관리자 계정이 필요합니다',
|
|
'liveTv.recordingFailed' => '녹화를 예약할 수 없습니다',
|
|
'liveTv.recordingTargetMissing' => '녹화 라이브러리를 확인할 수 없습니다',
|
|
'liveTv.recordNotAvailable' => '이 프로그램은 녹화할 수 없습니다',
|
|
'liveTv.recordingCancelled' => '녹화 취소됨',
|
|
'liveTv.recordingRuleDeleted' => '녹화 규칙 삭제됨',
|
|
'liveTv.processRecordingRules' => '규칙 재평가',
|
|
'liveTv.recordingInProgress' => '녹화 중',
|
|
'liveTv.recordingsCount' => ({required Object count}) => '${count}개 예약됨',
|
|
'liveTv.editRule' => '규칙 편집',
|
|
'liveTv.editRuleAction' => '편집',
|
|
'liveTv.recordingRuleUpdated' => '녹화 규칙 업데이트됨',
|
|
'liveTv.guideReloadRequested' => '가이드 새로고침 요청됨',
|
|
'liveTv.rulesProcessRequested' => '규칙 재평가 요청됨',
|
|
'liveTv.recordShow' => '프로그램 녹화',
|
|
'collections.title' => '컬렉션',
|
|
'collections.collection' => '컬렉션',
|
|
'collections.empty' => '컬렉션이 비어 있습니다',
|
|
'collections.deleteCollection' => '컬렉션 삭제',
|
|
'collections.deleteConfirm' => ({required Object title}) => '"${title}"을(를) 삭제할까요? 되돌릴 수 없습니다.',
|
|
'collections.deleted' => '컬렉션 삭제됨',
|
|
'collections.deleteFailed' => '컬렉션 삭제 실패',
|
|
'collections.deleteFailedWithError' => ({required Object error}) => '컬렉션 삭제 실패: ${error}',
|
|
'collections.selectCollection' => '컬렉션 선택',
|
|
'collections.collectionName' => '컬렉션 이름',
|
|
'collections.enterCollectionName' => '컬렉션 이름 입력',
|
|
'collections.addedToCollection' => '컬렉션에 추가됨',
|
|
'collections.errorAddingToCollection' => '컬렉션에 추가 실패',
|
|
'collections.created' => '컬렉션 생성됨',
|
|
'collections.removeFromCollection' => '컬렉션에서 제거',
|
|
'collections.removeFromCollectionConfirm' => ({required Object title}) => '${title}을(를) 이 컬렉션에서 제거하시겠습니까?',
|
|
'collections.removedFromCollection' => '컬렉션에서 제거됨',
|
|
'collections.removeFromCollectionFailed' => '컬렉션에서 제거 실패',
|
|
'collections.removeFromCollectionError' => ({required Object error}) => '컬렉션에서 제거 중 오류 발생: ${error}',
|
|
'collections.searchCollections' => '컬렉션 검색...',
|
|
'playlists.title' => '플레이리스트',
|
|
'playlists.playlist' => '재생 목록',
|
|
'playlists.noPlaylists' => '재생 목록을 찾을 수 없습니다',
|
|
'playlists.create' => '재생 목록 생성',
|
|
'playlists.playlistName' => '재생 목록 이름',
|
|
'playlists.enterPlaylistName' => '재생 목록 이름 입력',
|
|
'playlists.delete' => '재생 목록 삭제',
|
|
'playlists.removeItem' => '재생 목록에서 항목 제거',
|
|
'playlists.smartPlaylist' => '스마트 재생 목록',
|
|
'playlists.itemCount' => ({required Object count}) => '${count}개 항목',
|
|
'playlists.oneItem' => '1개 항목',
|
|
'playlists.emptyPlaylist' => '이 재생 목록은 비어 있습니다',
|
|
'playlists.deleteConfirm' => '재생 목록을 삭제하시겠습니까?',
|
|
'playlists.deleteMessage' => ({required Object name}) => '"${name}"을(를) 삭제하시겠습니까?',
|
|
'playlists.created' => '재생 목록이 생성되었습니다',
|
|
'playlists.deleted' => '재생 목록이 삭제되었습니다',
|
|
'playlists.itemAdded' => '재생 목록에 추가되었습니다',
|
|
'playlists.itemRemoved' => '재생 목록에서 제거됨',
|
|
'playlists.selectPlaylist' => '재생 목록 선택',
|
|
'playlists.searchPlaylists' => '재생 목록 검색...',
|
|
'playlists.errorCreating' => '재생 목록 생성 실패',
|
|
'playlists.errorDeleting' => '재생 목록 삭제 실패',
|
|
'playlists.errorLoading' => '재생 목록 로드 실패',
|
|
'playlists.errorAdding' => '재생 목록에 추가 실패',
|
|
'playlists.errorReordering' => '재생 목록 항목 재정렬 실패',
|
|
'playlists.errorRemoving' => '재생 목록에서 제거 실패',
|
|
'music.goToAlbum' => '앨범으로 이동',
|
|
'music.goToArtist' => '아티스트로 이동',
|
|
'music.instantMix' => '인스턴트 믹스',
|
|
'music.playNext' => '다음에 재생',
|
|
'music.addToQueue' => '대기열에 추가',
|
|
'music.discNumber' => ({required Object n}) => '디스크 ${n}',
|
|
'music.trackCount' => ({required num n}) => (_root.$meta.cardinalResolver ?? PluralResolvers.cardinal('ko'))(n, other: '${n}곡', ),
|
|
'music.nowPlaying' => '재생 중',
|
|
'music.playingFrom' => ({required Object title}) => '${title}에서 재생 중',
|
|
'music.queue' => '재생 대기열',
|
|
'music.clearQueue' => '대기열 비우기',
|
|
'music.lyrics' => '가사',
|
|
'music.noLyrics' => '가사 없음',
|
|
'music.sleepTimer' => '취침 타이머',
|
|
'music.sleepTimerEndOfTrack' => '곡 종료 시',
|
|
'music.sleepTimerMinutes' => ({required Object n}) => '${n}분',
|
|
'music.stopPlayback' => '재생 중지',
|
|
'music.previousTrack' => '이전 곡',
|
|
'music.nextTrack' => '다음 곡',
|
|
'music.repeat' => '반복',
|
|
'music.repeatAll' => '전체 반복',
|
|
'music.repeatOne' => '한 곡 반복',
|
|
'watchTogether.title' => '함께 보기',
|
|
'watchTogether.description' => '친구 및 가족과 콘텐츠를 동시에 시청하세요',
|
|
'watchTogether.createSession' => '세션 생성',
|
|
'watchTogether.creating' => '생성 중...',
|
|
'watchTogether.joinSession' => '세션 참여',
|
|
'watchTogether.joining' => '참가 중...',
|
|
'watchTogether.controlMode' => '제어 모드',
|
|
'watchTogether.controlModeQuestion' => '누가 재생을 제어할 수 있나요?',
|
|
'watchTogether.hostOnly' => '호스트만',
|
|
'watchTogether.anyone' => '누구나',
|
|
'watchTogether.hostingSession' => '세션 호스팅 중',
|
|
'watchTogether.inSession' => '세션 중',
|
|
'watchTogether.sessionCode' => '세션 코드',
|
|
'watchTogether.openSessionControls' => '함께 보기 세션 제어 열기',
|
|
'watchTogether.copySessionCode' => '세션 코드 복사',
|
|
'watchTogether.hostControlsPlayback' => '호스트 재생 제어',
|
|
'watchTogether.anyoneCanControl' => '누구나 재생 제어 가능',
|
|
'watchTogether.hostControls' => '호스트 제어',
|
|
'watchTogether.anyoneControls' => '누구나 제어',
|
|
'watchTogether.participants' => '참가자',
|
|
'watchTogether.host' => '호스트',
|
|
'watchTogether.hostBadge' => '호스트',
|
|
'watchTogether.youAreHost' => '호스트입니다',
|
|
'watchTogether.watchingWithOthers' => '다른 사람과 함께 시청 중',
|
|
'watchTogether.endSession' => '세션 종료',
|
|
'watchTogether.leaveSession' => '세션 나가기',
|
|
'watchTogether.endSessionQuestion' => '세션을 종료하시겠습니까?',
|
|
'watchTogether.leaveSessionQuestion' => '세션에서 나가시겠습니까?',
|
|
'watchTogether.endSessionConfirm' => '모든 참가자의 세션이 종료됩니다.',
|
|
'watchTogether.leaveSessionConfirm' => '세션에서 나가게 됩니다.',
|
|
'watchTogether.endSessionConfirmOverlay' => '모든 참가자의 함께 보기 세션이 종료됩니다.',
|
|
'watchTogether.leaveSessionConfirmOverlay' => '함께 보기 세션의 연결이 끊어집니다.',
|
|
'watchTogether.end' => '종료',
|
|
'watchTogether.leave' => '나가기',
|
|
'watchTogether.syncing' => '동기화 중...',
|
|
'watchTogether.joinWatchSession' => '시청 세션에 참여',
|
|
'watchTogether.enterCodeHint' => '5자리 코드 입력',
|
|
'watchTogether.pasteFromClipboard' => '클립보드에서 붙여넣기',
|
|
'watchTogether.pleaseEnterCode' => '세션 코드를 입력하세요',
|
|
'watchTogether.codeMustBe5Chars' => '세션 코드는 반드시 5자리여야 합니다',
|
|
'watchTogether.joinInstructions' => '참여하려면 호스트의 세션 코드를 입력하세요.',
|
|
'watchTogether.failedToCreate' => '세션 생성 실패',
|
|
'watchTogether.failedToJoin' => '세션 참여 실패',
|
|
'watchTogether.sessionCodeCopied' => '세션 코드가 클립보드에 복사되었습니다',
|
|
'watchTogether.relayUnreachable' => '릴레이 서버에 연결할 수 없습니다. ISP 차단으로 함께 보기를 사용하지 못할 수 있습니다.',
|
|
'watchTogether.reconnectingToHost' => '호스트에 재연결 중...',
|
|
'watchTogether.currentPlayback' => '현재 재생',
|
|
'watchTogether.joinCurrentPlayback' => '현재 재생 참여',
|
|
'watchTogether.joinCurrentPlaybackDescription' => '호스트가 현재 시청 중인 콘텐츠로 이동합니다',
|
|
'watchTogether.failedToOpenCurrentPlayback' => '현재 재생을 열 수 없습니다',
|
|
_ => null,
|
|
} ?? switch (path) {
|
|
'watchTogether.participantJoined' => ({required Object name}) => '${name}님이 참여했습니다',
|
|
'watchTogether.participantLeft' => ({required Object name}) => '${name}님이 나갔습니다',
|
|
'watchTogether.participantPaused' => ({required Object name}) => '${name}님이 일시정지했습니다',
|
|
'watchTogether.participantResumed' => ({required Object name}) => '${name}님이 재생했습니다',
|
|
'watchTogether.participantSeeked' => ({required Object name}) => '${name}님이 재생 위치를 변경했습니다',
|
|
'watchTogether.participantBuffering' => ({required Object name}) => '${name}님이 버퍼링 중입니다',
|
|
'watchTogether.participantNeedsUpdate' => ({required Object name}) => '${name}님이 이전 버전의 앱을 사용 중입니다 — 동기화를 사용할 수 없습니다',
|
|
'watchTogether.resumingWithout' => ({required Object name}) => '${name}님 없이 재생을 재개합니다',
|
|
'watchTogether.waitingForParticipants' => '다른 참가자의 로딩을 기다리는 중...',
|
|
'watchTogether.waitingForName' => ({required Object name}) => '${name}님을 기다리는 중...',
|
|
'watchTogether.recentRooms' => '최근 참여한 방',
|
|
'watchTogether.renameRoom' => '방 이름 변경',
|
|
'watchTogether.removeRoom' => '제거',
|
|
'watchTogether.guestSwitchUnavailable' => '전환할 수 없음 — 동기화 서버를 사용할 수 없습니다',
|
|
'watchTogether.guestSwitchFailed' => '전환할 수 없음 — 이 서버에서 콘텐츠를 찾을 수 없습니다',
|
|
'downloads.title' => '다운로드',
|
|
'downloads.manage' => '관리',
|
|
'downloads.tvShows' => 'TV 프로그램',
|
|
'downloads.movies' => '영화',
|
|
'downloads.music' => '음악',
|
|
'downloads.tracksQueued' => ({required Object count}) => '${count}곡 다운로드 대기 중',
|
|
'downloads.noDownloads' => '다운로드 없음',
|
|
'downloads.noDownloadsDescription' => '다운로드한 콘텐츠는 오프라인 시청을 위해 여기에 표시됩니다',
|
|
'downloads.downloadNow' => '다운로드',
|
|
'downloads.deleteDownload' => '다운로드 삭제',
|
|
'downloads.retryDownload' => '다운로드 재시도',
|
|
'downloads.downloadQueued' => '다운로드 대기 중',
|
|
'downloads.downloadResumed' => '다운로드를 재개했습니다',
|
|
'downloads.serverErrorBitrate' => '서버 오류: 파일이 원격 비트레이트 제한을 초과할 수 있습니다',
|
|
'downloads.storageFull' => '기기 저장 공간이 가득 차서 다운로드를 중지했습니다. 공간을 확보한 후 다시 시도하세요.',
|
|
'downloads.episodesQueued' => ({required Object count}) => '에피소드 ${count}개가 다운로드 대기열에 추가되었습니다',
|
|
'downloads.downloadDeleted' => '다운로드 삭제됨',
|
|
'downloads.deleteConfirm' => ({required Object title}) => '이 기기에서 "${title}"을(를) 삭제할까요?',
|
|
'downloads.cancelledDownloadTitle' => '취소된 다운로드',
|
|
'downloads.cancelledDownloadMessage' => '이 다운로드가 취소되었습니다. 어떻게 하시겠습니까?',
|
|
'downloads.allEpisodesAlreadyDownloaded' => '모든 에피소드가 이미 다운로드되었습니다',
|
|
'downloads.resumeDownload' => '다운로드 재개',
|
|
'downloads.cancelledDownload' => '취소된 다운로드',
|
|
'downloads.syncingFile' => ({required Object file, required Object status}) => '${file} (${status} 동기화 중)',
|
|
'downloads.downloadedFileClickToComplete' => ({required Object file}) => '${file} 다운로드됨 — 클릭하여 완료',
|
|
'downloads.partialDownloadClickToComplete' => '부분 다운로드됨 — 클릭하여 완료',
|
|
'downloads.deleting' => '삭제 중...',
|
|
'downloads.deletingWithProgress' => ({required Object title, required Object current, required Object total}) => '${title} 삭제 중... (${current}/${total})',
|
|
'downloads.queuedTooltip' => '대기 중',
|
|
'downloads.queuedFilesTooltip' => ({required Object files}) => '대기 중: ${files}',
|
|
'downloads.downloadingTooltip' => '다운로드 중...',
|
|
'downloads.downloadingFilesTooltip' => ({required Object files}) => '${files} 다운로드 중',
|
|
'downloads.noDownloadsTree' => '다운로드 없음',
|
|
'downloads.pauseAll' => '모두 일시정지',
|
|
'downloads.resumeAll' => '모두 재개',
|
|
'downloads.deleteAll' => '모두 삭제',
|
|
'downloads.selectVersion' => '버전 선택',
|
|
'downloads.allEpisodes' => '모든 에피소드',
|
|
'downloads.unwatchedOnly' => '시청하지 않은 것만',
|
|
'downloads.nextNUnwatched' => ({required Object count}) => '다음 ${count}개 미시청',
|
|
'downloads.customAmount' => '직접 입력...',
|
|
'downloads.includeSpecials' => '스페셜 포함',
|
|
'downloads.howManyEpisodes' => '몇 개의 에피소드?',
|
|
'downloads.invalidEpisodeCount' => '올바른 에피소드 수를 입력하세요.',
|
|
'downloads.keepSynced' => '동기화 유지',
|
|
'downloads.downloadOnce' => '한 번만 다운로드',
|
|
'downloads.keepNUnwatched' => ({required Object count}) => '미시청 ${count}개 유지',
|
|
'downloads.editSyncRule' => '동기화 규칙 편집',
|
|
'downloads.removeSyncRule' => '동기화 규칙 제거',
|
|
'downloads.removeSyncRuleConfirm' => ({required Object title}) => '"${title}" 동기화를 중단하시겠습니까? 다운로드된 에피소드는 유지됩니다.',
|
|
'downloads.syncRuleCreated' => ({required Object count}) => '동기화 규칙 생성됨 — 미시청 에피소드 ${count}개 유지',
|
|
'downloads.syncRuleUpdated' => '동기화 규칙 업데이트됨',
|
|
'downloads.syncRuleRemoved' => '동기화 규칙 제거됨',
|
|
'downloads.syncedNewEpisodes' => ({required Object title, required Object count}) => '${title}의 새 에피소드 ${count}개 동기화됨',
|
|
'downloads.activeSyncRules' => '동기화 규칙',
|
|
'downloads.noSyncRules' => '동기화 규칙 없음',
|
|
'downloads.manageSyncRule' => '동기화 관리',
|
|
'downloads.editEpisodeCount' => '에피소드 수',
|
|
'downloads.editSyncFilter' => '동기화 필터',
|
|
'downloads.syncAllItems' => '모든 항목 동기화 중',
|
|
'downloads.syncUnwatchedItems' => '시청하지 않은 항목 동기화 중',
|
|
'downloads.syncRuleServerContext' => ({required Object server, required Object status}) => '서버: ${server} • ${status}',
|
|
'downloads.syncRuleAvailable' => '사용 가능',
|
|
'downloads.syncRuleOffline' => '오프라인',
|
|
'downloads.syncRuleSignInRequired' => '로그인 필요',
|
|
'downloads.syncRuleNotAvailableForProfile' => '현재 프로필에서 사용할 수 없음',
|
|
'downloads.syncRuleUnknownServer' => '알 수 없는 서버',
|
|
'downloads.syncRuleListCreated' => '동기화 규칙이 생성되었습니다',
|
|
'shaders.title' => '셰이더',
|
|
'shaders.noShaderDescription' => '비디오 향상 없음',
|
|
'shaders.nvscalerDescription' => '더 선명한 비디오를 위한 NVIDIA 이미지 스케일링',
|
|
'shaders.artcnnVariantNeutral' => '중립',
|
|
'shaders.artcnnVariantDenoise' => '노이즈 제거',
|
|
'shaders.artcnnVariantDenoiseSharpen' => '노이즈 제거 + 선명화',
|
|
'shaders.qualityFast' => '빠름',
|
|
'shaders.qualityHQ' => '고품질',
|
|
'shaders.mode' => '모드',
|
|
'shaders.importShader' => '셰이더 가져오기',
|
|
'shaders.customShaderDescription' => '사용자 정의 GLSL 셰이더',
|
|
'shaders.shaderImported' => '셰이더를 가져왔습니다',
|
|
'shaders.shaderImportFailed' => '셰이더 가져오기 실패',
|
|
'shaders.deleteShader' => '셰이더 삭제',
|
|
'shaders.deleteShaderConfirm' => ({required Object name}) => '"${name}"을(를) 삭제하시겠습니까?',
|
|
'companionRemote.title' => '컴패니언 리모컨',
|
|
'companionRemote.connectedTo' => ({required Object name}) => '${name}에 연결됨',
|
|
'companionRemote.unknownDevice' => '알 수 없는 기기',
|
|
'companionRemote.session.startingServer' => '원격 서버 시작 중...',
|
|
'companionRemote.session.hostAddress' => '호스트 주소',
|
|
'companionRemote.session.connected' => '연결됨',
|
|
'companionRemote.session.serverRunning' => '원격 서버 활성',
|
|
'companionRemote.session.serverStopped' => '원격 서버 중지됨',
|
|
'companionRemote.session.serverRunningDescription' => '네트워크의 모바일 기기가 이 앱에 연결할 수 있습니다',
|
|
'companionRemote.session.serverStoppedDescription' => '모바일 기기의 연결을 허용하려면 서버를 시작하세요',
|
|
'companionRemote.session.usePhoneToControl' => '모바일 기기로 이 앱을 제어하세요',
|
|
'companionRemote.session.startServer' => '서버 시작',
|
|
'companionRemote.session.stopServer' => '서버 중지',
|
|
'companionRemote.session.minimize' => '최소화',
|
|
'companionRemote.pairing.discoveryDescription' => '같은 Plex 계정의 Plezy 기기가 여기에 표시됩니다',
|
|
'companionRemote.pairing.hostAddressHint' => '192.168.1.100:48632',
|
|
'companionRemote.pairing.connecting' => '연결 중...',
|
|
'companionRemote.pairing.searchingForDevices' => '기기 검색 중...',
|
|
'companionRemote.pairing.noDevicesFound' => '네트워크에서 기기를 찾을 수 없습니다',
|
|
'companionRemote.pairing.noDevicesHint' => '데스크톱에서 Plezy를 열고 같은 Wi-Fi를 사용하세요',
|
|
'companionRemote.pairing.availableDevices' => '사용 가능한 기기',
|
|
'companionRemote.pairing.manualConnection' => '수동 연결',
|
|
'companionRemote.pairing.cryptoInitFailed' => '보안 연결을 시작할 수 없습니다. 먼저 Plex에 로그인하세요.',
|
|
'companionRemote.pairing.validationHostRequired' => '호스트 주소를 입력하세요',
|
|
'companionRemote.pairing.validationHostFormat' => '형식은 IP:포트여야 합니다 (예: 192.168.1.100:48632)',
|
|
'companionRemote.pairing.connectionTimedOut' => '연결 시간이 초과되었습니다. 두 기기에서 같은 네트워크를 사용하세요.',
|
|
'companionRemote.pairing.sessionNotFound' => '기기를 찾을 수 없습니다. 호스트에서 Plezy가 실행 중인지 확인하세요.',
|
|
'companionRemote.pairing.authFailed' => '인증에 실패했습니다. 두 기기 모두 같은 Plex 계정이 필요합니다.',
|
|
'companionRemote.pairing.failedToConnect' => ({required Object error}) => '연결 실패: ${error}',
|
|
'companionRemote.remote.disconnectConfirm' => '원격 세션 연결을 해제하시겠습니까?',
|
|
'companionRemote.remote.reconnecting' => '재연결 중...',
|
|
'companionRemote.remote.attemptOf' => ({required Object current}) => '${current}/5 시도 중',
|
|
'companionRemote.remote.retryNow' => '지금 재시도',
|
|
'companionRemote.remote.tabRemote' => '리모컨',
|
|
'companionRemote.remote.tabPlay' => '재생',
|
|
'companionRemote.remote.tabMore' => '더 보기',
|
|
'companionRemote.remote.menu' => '메뉴',
|
|
'companionRemote.remote.tabNavigation' => '탭 탐색',
|
|
'companionRemote.remote.tabDiscover' => '둘러보기',
|
|
'companionRemote.remote.tabLibraries' => '미디어 라이브러리',
|
|
'companionRemote.remote.tabSearch' => '검색',
|
|
'companionRemote.remote.tabDownloads' => '다운로드',
|
|
'companionRemote.remote.tabSettings' => '설정',
|
|
'companionRemote.remote.previous' => '이전',
|
|
'companionRemote.remote.playPause' => '재생/일시정지',
|
|
'companionRemote.remote.next' => '다음',
|
|
'companionRemote.remote.seekBack' => '되감기',
|
|
'companionRemote.remote.stop' => '정지',
|
|
'companionRemote.remote.seekForward' => '빨리감기',
|
|
'companionRemote.remote.volume' => '볼륨',
|
|
'companionRemote.remote.volumeDown' => '줄이기',
|
|
'companionRemote.remote.volumeUp' => '높이기',
|
|
'companionRemote.remote.fullscreen' => '전체 화면',
|
|
'companionRemote.remote.subtitles' => '자막',
|
|
'companionRemote.remote.audio' => '오디오',
|
|
'companionRemote.remote.searchHint' => '데스크톱에서 검색...',
|
|
'companionRemote.errors.noNetworkInterface' => '네트워크 인터페이스를 찾을 수 없습니다',
|
|
'companionRemote.errors.authenticationFailed' => '인증 실패',
|
|
'companionRemote.errors.serverStartFailed' => ({required Object error}) => '원격 서버를 시작하지 못했습니다: ${error}',
|
|
'companionRemote.errors.commandFailed' => ({required Object error}) => '원격 명령을 보내지 못했습니다: ${error}',
|
|
'companionRemote.errors.joinTimedOut' => '세션 참가 시간이 초과되었습니다',
|
|
'companionRemote.errors.failedToConnectAnyAddress' => '어떤 주소에도 연결하지 못했습니다',
|
|
'companionRemote.errors.connectionLostAfterAttempts' => ({required Object attempts}) => '${attempts}회 시도 후 연결이 끊어졌습니다',
|
|
'companionRemote.errors.connectionLost' => '연결이 끊어졌습니다',
|
|
'videoSettings.playbackSpeed' => '재생 속도',
|
|
'videoSettings.normalSpeed' => '보통',
|
|
'videoSettings.sleepTimerActive' => ({required Object duration}) => '활성 (${duration})',
|
|
'videoSettings.zoom' => '확대/축소',
|
|
'videoSettings.sleepTimer' => '취침 타이머',
|
|
'videoSettings.audioSync' => '오디오 동기화',
|
|
'videoSettings.subtitleSync' => '자막 동기화',
|
|
'videoSettings.hdr' => 'HDR',
|
|
'videoSettings.audioOutput' => '오디오 출력',
|
|
'videoSettings.performanceOverlay' => '성능 오버레이',
|
|
'videoSettings.audioPassthrough' => '오디오 패스스루',
|
|
'videoSettings.audioNormalization' => '음량 정규화',
|
|
'videoSettings.audioDownmix' => '스테레오로 다운믹스',
|
|
'performanceOverlay.color' => '색상',
|
|
'performanceOverlay.performance' => '성능',
|
|
'performanceOverlay.buffer' => '버퍼',
|
|
'performanceOverlay.app' => '앱',
|
|
'performanceOverlay.decoder' => '디코더',
|
|
'performanceOverlay.rawDecoder' => '원본 디코더',
|
|
'performanceOverlay.tunneling' => '터널링',
|
|
'performanceOverlay.aspect' => '화면비',
|
|
'performanceOverlay.rotation' => '회전',
|
|
'performanceOverlay.dvSource' => 'DV 소스',
|
|
'performanceOverlay.dvPath' => 'DV 경로',
|
|
'performanceOverlay.p7Conversion' => 'P7 변환',
|
|
'performanceOverlay.sampleRate' => '샘플 레이트',
|
|
'performanceOverlay.pixelFormat' => '픽셀 형식',
|
|
'performanceOverlay.hwFormat' => 'HW 형식',
|
|
'performanceOverlay.matrix' => '매트릭스',
|
|
'performanceOverlay.primaries' => '원색',
|
|
'performanceOverlay.transfer' => '전송',
|
|
'performanceOverlay.renderFps' => '렌더 FPS',
|
|
'performanceOverlay.displayFps' => '디스플레이 FPS',
|
|
'performanceOverlay.avSync' => 'A/V 동기화',
|
|
'performanceOverlay.dropped' => '드롭됨',
|
|
'performanceOverlay.dvRpus' => 'DV RPU',
|
|
'performanceOverlay.dvRpuAverage' => 'DV RPU 평균',
|
|
'performanceOverlay.dvSampleAverage' => 'DV 샘플 평균',
|
|
'performanceOverlay.maxLuma' => '최대 휘도',
|
|
'performanceOverlay.minLuma' => '최소 휘도',
|
|
'performanceOverlay.maxCll' => 'MaxCLL',
|
|
'performanceOverlay.maxFall' => 'MaxFALL',
|
|
'performanceOverlay.cacheUsed' => '사용 캐시',
|
|
'performanceOverlay.cacheLimit' => '캐시 제한',
|
|
'performanceOverlay.speed' => '속도',
|
|
'performanceOverlay.player' => '플레이어',
|
|
'performanceOverlay.memory' => '메모리',
|
|
'performanceOverlay.uiFps' => 'UI FPS',
|
|
'externalPlayer.title' => '외부 플레이어',
|
|
'externalPlayer.useExternalPlayer' => '외부 플레이어 사용',
|
|
'externalPlayer.useExternalPlayerDescription' => '동영상을 다른 앱에서 열기',
|
|
'externalPlayer.selectPlayer' => '플레이어 선택',
|
|
'externalPlayer.customPlayers' => '사용자 정의 플레이어',
|
|
'externalPlayer.systemDefault' => '시스템 기본값',
|
|
'externalPlayer.addCustomPlayer' => '사용자 정의 플레이어 추가',
|
|
'externalPlayer.playerName' => '플레이어 이름',
|
|
'externalPlayer.playerNameHint' => '내 플레이어',
|
|
'externalPlayer.playerCommand' => '명령어',
|
|
'externalPlayer.playerPackage' => '패키지 이름',
|
|
'externalPlayer.playerUrlScheme' => 'URL 스킴',
|
|
'externalPlayer.off' => '꺼짐',
|
|
'externalPlayer.launchFailed' => '외부 플레이어를 열 수 없습니다',
|
|
'externalPlayer.appNotInstalled' => ({required Object name}) => '${name}이(가) 설치되어 있지 않습니다',
|
|
'externalPlayer.playInExternalPlayer' => '외부 플레이어에서 재생',
|
|
'metadataEdit.editMetadata' => '편집...',
|
|
'metadataEdit.screenTitle' => '메타데이터 편집',
|
|
'metadataEdit.basicInfo' => '기본 정보',
|
|
'metadataEdit.artwork' => '아트워크',
|
|
'metadataEdit.advancedSettings' => '고급 설정',
|
|
'metadataEdit.title' => '제목',
|
|
'metadataEdit.sortTitle' => '정렬 제목',
|
|
'metadataEdit.originalTitle' => '원제',
|
|
'metadataEdit.releaseDate' => '출시일',
|
|
'metadataEdit.contentRating' => '콘텐츠 등급',
|
|
'metadataEdit.studio' => '스튜디오',
|
|
'metadataEdit.tagline' => '태그라인',
|
|
'metadataEdit.summary' => '줄거리',
|
|
'metadataEdit.poster' => '포스터',
|
|
'metadataEdit.background' => '배경',
|
|
'metadataEdit.logo' => '로고',
|
|
'metadataEdit.squareArt' => '정사각형 아트',
|
|
'metadataEdit.selectPoster' => '포스터 선택',
|
|
'metadataEdit.selectBackground' => '배경 선택',
|
|
'metadataEdit.selectLogo' => '로고 선택',
|
|
'metadataEdit.selectSquareArt' => '정사각형 아트 선택',
|
|
'metadataEdit.fromUrl' => 'URL에서',
|
|
'metadataEdit.uploadFile' => '파일 업로드',
|
|
'metadataEdit.enterImageUrl' => '이미지 URL 입력',
|
|
'metadataEdit.imageUrl' => '이미지 URL',
|
|
'metadataEdit.metadataUpdated' => '메타데이터가 업데이트되었습니다',
|
|
'metadataEdit.metadataUpdateFailed' => '메타데이터 업데이트 실패',
|
|
'metadataEdit.artworkUpdated' => '아트워크가 업데이트되었습니다',
|
|
'metadataEdit.artworkUpdateFailed' => '아트워크 업데이트 실패',
|
|
'metadataEdit.noArtworkAvailable' => '사용 가능한 아트워크 없음',
|
|
'metadataEdit.artworkOption' => ({required Object index}) => '아트워크 옵션 ${index}',
|
|
'metadataEdit.selectedArtworkOption' => ({required Object index}) => '아트워크 옵션 ${index}, 선택됨',
|
|
'metadataEdit.notSet' => '설정되지 않음',
|
|
'metadataEdit.libraryDefault' => '라이브러리 기본값',
|
|
'metadataEdit.accountDefault' => '계정 기본값',
|
|
'metadataEdit.seriesDefault' => '시리즈 기본값',
|
|
'metadataEdit.episodeSorting' => '에피소드 정렬',
|
|
'metadataEdit.oldestFirst' => '오래된 순',
|
|
'metadataEdit.newestFirst' => '최신 순',
|
|
'metadataEdit.keep' => '유지',
|
|
'metadataEdit.allEpisodes' => '모든 에피소드',
|
|
'metadataEdit.latestEpisodes' => ({required Object count}) => '최신 에피소드 ${count}개',
|
|
'metadataEdit.latestEpisode' => '최신 에피소드',
|
|
'metadataEdit.episodesAddedPastDays' => ({required Object count}) => '최근 ${count}일 내 추가된 에피소드',
|
|
'metadataEdit.deleteAfterPlaying' => '재생 후 에피소드 삭제',
|
|
'metadataEdit.never' => '안 함',
|
|
'metadataEdit.afterADay' => '하루 후',
|
|
'metadataEdit.afterAWeek' => '일주일 후',
|
|
'metadataEdit.afterAMonth' => '한 달 후',
|
|
'metadataEdit.onNextRefresh' => '다음 새로고침 시',
|
|
'metadataEdit.seasons' => '시즌',
|
|
'metadataEdit.show' => '표시',
|
|
'metadataEdit.hide' => '숨기기',
|
|
'metadataEdit.episodeOrdering' => '에피소드 순서',
|
|
'metadataEdit.tmdbAiring' => 'The Movie Database (방영순)',
|
|
'metadataEdit.tvdbAiring' => 'TheTVDB (방영순)',
|
|
'metadataEdit.tvdbAbsolute' => 'TheTVDB (절대순)',
|
|
'metadataEdit.metadataLanguage' => '메타데이터 언어',
|
|
'metadataEdit.useOriginalTitle' => '원제 사용',
|
|
'metadataEdit.preferredAudioLanguage' => '선호 오디오 언어',
|
|
'metadataEdit.preferredSubtitleLanguage' => '선호 자막 언어',
|
|
'metadataEdit.subtitleMode' => '자막 자동 선택 모드',
|
|
'metadataEdit.manuallySelected' => '수동 선택',
|
|
'metadataEdit.shownWithForeignAudio' => '외국어 오디오 시 표시',
|
|
'metadataEdit.alwaysEnabled' => '항상 활성화',
|
|
'metadataEdit.tags' => '태그',
|
|
'metadataEdit.addTag' => '태그 추가',
|
|
'metadataEdit.genre' => '장르',
|
|
'metadataEdit.director' => '감독',
|
|
'metadataEdit.writer' => '작가',
|
|
'metadataEdit.producer' => '프로듀서',
|
|
'metadataEdit.country' => '국가',
|
|
'metadataEdit.collection' => '컬렉션',
|
|
'metadataEdit.label' => '라벨',
|
|
'metadataEdit.style' => '스타일',
|
|
'metadataEdit.mood' => '분위기',
|
|
'matchScreen.match' => '일치...',
|
|
'matchScreen.fixMatch' => '일치 수정...',
|
|
'matchScreen.unmatch' => '일치 해제',
|
|
'matchScreen.unmatchConfirm' => '이 매칭을 지울까요? 다시 매칭될 때까지 Plex에서는 미매칭으로 처리됩니다.',
|
|
'matchScreen.unmatchSuccess' => '일치 해제됨',
|
|
'matchScreen.unmatchFailed' => '일치 해제에 실패했습니다',
|
|
'matchScreen.matchApplied' => '일치 적용됨',
|
|
'matchScreen.matchFailed' => '일치 적용에 실패했습니다',
|
|
'matchScreen.titleHint' => '제목',
|
|
'matchScreen.yearHint' => '연도',
|
|
'matchScreen.search' => '검색',
|
|
'matchScreen.noMatchesFound' => '일치하는 항목이 없습니다',
|
|
'serverTasks.title' => '서버 작업',
|
|
'serverTasks.failedToLoad' => '작업을 불러올 수 없습니다',
|
|
'serverTasks.noTasks' => '실행 중인 작업 없음',
|
|
'trakt.title' => 'Trakt',
|
|
'trakt.connected' => '연결됨',
|
|
'trakt.connectedAs' => ({required Object username}) => '@${username}(으)로 연결됨',
|
|
'trakt.disconnectConfirm' => 'Trakt 계정 연결을 끊으시겠습니까?',
|
|
'trakt.disconnectConfirmBody' => 'Plezy가 Trakt로 이벤트 전송을 중지합니다. 언제든 다시 연결할 수 있습니다.',
|
|
'trakt.scrobble' => '실시간 스크로블',
|
|
'trakt.scrobbleDescription' => '재생 중 재생, 일시정지, 정지 이벤트를 Trakt로 전송합니다.',
|
|
'trakt.watchedSync' => '시청 상태 동기화',
|
|
'trakt.watchedSyncDescription' => 'Plezy에서 시청 완료로 표시한 항목이 Trakt에도 시청 완료로 표시됩니다.',
|
|
'seerr.title' => 'Seerr',
|
|
'seerr.connectTitle' => 'Seerr에 연결',
|
|
'seerr.serverUrl' => '서버 URL',
|
|
'seerr.serverUrlHelper' => 'Seerr 인스턴스의 주소',
|
|
'seerr.checkServer' => '계속',
|
|
'seerr.signInWithJellyfin' => 'Jellyfin으로 로그인',
|
|
'seerr.signInWithEmby' => 'Emby로 로그인',
|
|
'seerr.signInWithLocal' => '로컬 계정 사용',
|
|
'seerr.email' => '이메일',
|
|
'seerr.noSignInMethods' => '이 Seerr 인스턴스에는 Plezy가 지원하는 로그인 방법이 없습니다.',
|
|
'seerr.instance' => '인스턴스',
|
|
'seerr.disconnectConfirm' => 'Seerr 연결을 해제하시겠습니까?',
|
|
'seerr.disconnectConfirmBody' => 'Plezy가 이 Seerr 인스턴스를 삭제합니다. 언제든 다시 연결할 수 있습니다.',
|
|
'seerr.request' => '요청',
|
|
'seerr.request4k' => '4K로 요청',
|
|
'seerr.seasons' => '시즌',
|
|
'seerr.allSeasons' => '모든 시즌',
|
|
'seerr.advancedOptions' => '고급',
|
|
'seerr.destinationServer' => '대상 서버',
|
|
'seerr.qualityProfile' => '화질 프로파일',
|
|
'seerr.rootFolder' => '루트 폴더',
|
|
'seerr.languageProfile' => '언어 프로파일',
|
|
'seerr.requestSubmitted' => '요청을 제출했습니다',
|
|
'seerr.requestFailed' => ({required Object error}) => '요청 실패: ${error}',
|
|
'seerr.requestsLoadFailed' => '요청 옵션을 불러올 수 없습니다',
|
|
'seerr.nothingToRequest' => '모두 이미 사용 가능하거나 요청되었습니다.',
|
|
'seerr.statusAvailable' => '사용 가능',
|
|
'seerr.statusPartiallyAvailable' => '일부 사용 가능',
|
|
'seerr.statusRequested' => '요청됨',
|
|
'seerr.statusProcessing' => '처리 중',
|
|
'services.title' => '서비스',
|
|
'services.hubSubtitle' => '시청 진행률을 동기화하고 새 작품을 요청하세요.',
|
|
'services.notConnected' => '연결되지 않음',
|
|
'services.connectedAs' => ({required Object username}) => '@${username}(으)로 연결됨',
|
|
'services.scrobble' => '진행률 자동 추적',
|
|
'services.scrobbleDescription' => '에피소드나 영화를 시청하면 목록을 업데이트합니다.',
|
|
'services.disconnectConfirm' => ({required Object service}) => '${service} 연결을 해제하시겠습니까?',
|
|
'services.disconnectConfirmBody' => ({required Object service}) => 'Plezy가 ${service} 업데이트를 중지합니다. 언제든 다시 연결할 수 있습니다.',
|
|
'services.connectFailed' => ({required Object service}) => '${service}에 연결할 수 없습니다. 다시 시도하세요.',
|
|
'services.names.mal' => 'MyAnimeList',
|
|
'services.names.anilist' => 'AniList',
|
|
'services.names.simkl' => 'Simkl',
|
|
'services.names.seerr' => 'Seerr',
|
|
'services.deviceCode.title' => ({required Object service}) => '${service}에서 Plezy 활성화',
|
|
'services.deviceCode.body' => ({required Object url}) => '${url}을 방문하여 이 코드를 입력하세요:',
|
|
'services.deviceCode.openToActivate' => ({required Object service}) => '활성화하려면 ${service} 열기',
|
|
'services.deviceCode.copyCode' => '활성화 코드 복사',
|
|
'services.deviceCode.waitingForAuthorization' => '인증을 기다리는 중…',
|
|
'services.deviceCode.codeCopied' => '코드가 복사되었습니다',
|
|
'services.oauthProxy.title' => ({required Object service}) => '${service}에 로그인',
|
|
'services.oauthProxy.body' => '이 QR 코드를 스캔하거나 아무 기기에서 URL을 여세요.',
|
|
'services.oauthProxy.openToSignIn' => ({required Object service}) => '로그인하려면 ${service} 열기',
|
|
'services.oauthProxy.copyUrl' => '로그인 URL 복사',
|
|
'services.oauthProxy.urlCopied' => 'URL이 복사되었습니다',
|
|
'services.libraryFilter.title' => '라이브러리 필터',
|
|
'services.libraryFilter.subtitleAllSyncing' => '모든 라이브러리 동기화 중',
|
|
'services.libraryFilter.subtitleNoneSyncing' => '동기화 안 함',
|
|
'services.libraryFilter.subtitleBlocked' => ({required Object count}) => '${count}개 차단됨',
|
|
'services.libraryFilter.subtitleAllowed' => ({required Object count}) => '${count}개 허용됨',
|
|
'services.libraryFilter.mode' => '필터 모드',
|
|
'services.libraryFilter.modeBlacklist' => '차단 목록',
|
|
'services.libraryFilter.modeWhitelist' => '허용 목록',
|
|
'services.libraryFilter.modeHintBlacklist' => '아래에 선택한 라이브러리를 제외한 모든 라이브러리를 동기화합니다.',
|
|
'services.libraryFilter.modeHintWhitelist' => '아래에 선택한 라이브러리만 동기화합니다.',
|
|
'services.libraryFilter.libraries' => '라이브러리',
|
|
'services.libraryFilter.noLibraries' => '사용 가능한 라이브러리가 없습니다',
|
|
'addServer.addJellyfinTitle' => 'Jellyfin 서버 추가',
|
|
'addServer.serverUrls' => '서버 URL',
|
|
'addServer.serverUrlsHelper' => '쉼표로 구분하여 여러 URL을 입력할 수 있습니다.',
|
|
'addServer.findServer' => '서버 찾기',
|
|
'addServer.searchingLocalServers' => '로컬 Jellyfin 서버 검색 중...',
|
|
'addServer.localServers' => '로컬 Jellyfin 서버',
|
|
'addServer.username' => '사용자 이름',
|
|
'addServer.password' => '비밀번호',
|
|
'addServer.signIn' => '로그인',
|
|
'addServer.change' => '변경',
|
|
'addServer.required' => '필수',
|
|
'addServer.couldNotReachServer' => ({required Object error}) => '서버에 연결할 수 없습니다: ${error}',
|
|
'addServer.signInFailed' => ({required Object error}) => '로그인 실패: ${error}',
|
|
'addServer.quickConnectFailed' => ({required Object error}) => 'Quick Connect 실패: ${error}',
|
|
'addServer.addPlexTitle' => 'Plex로 로그인',
|
|
'addServer.pinExpired' => '로그인 전에 PIN이 만료되었습니다. 다시 시도하세요.',
|
|
'addServer.failedToRegisterAccount' => ({required Object error}) => '계정 등록 실패: ${error}',
|
|
'addServer.enterJellyfinUrlError' => 'Jellyfin 서버 URL을 입력하세요',
|
|
'addServer.addConnectionTitle' => '연결 추가',
|
|
'addServer.addConnectionTitleScoped' => ({required Object name}) => '${name}에 추가',
|
|
'addServer.signInWithPlexCard' => 'Plex로 로그인',
|
|
'addServer.signInWithPlexCardSubtitle' => '이 기기를 승인합니다. 공유 서버가 추가됩니다.',
|
|
'addServer.signInWithPlexCardSubtitleScoped' => 'Plex 계정을 승인합니다. Home 사용자는 프로필이 됩니다.',
|
|
'addServer.connectToJellyfinCard' => 'Jellyfin에 연결',
|
|
'addServer.connectToJellyfinCardSubtitle' => '서버 URL, 사용자 이름, 비밀번호를 입력하세요.',
|
|
'addServer.connectToJellyfinCardSubtitleScoped' => ({required Object name}) => 'Jellyfin 서버에 로그인합니다. ${name}에 연결됩니다.',
|
|
'addServer.borrowFromAnotherProfile' => '다른 프로필에서 빌리기',
|
|
'addServer.borrowFromAnotherProfileSubtitle' => '다른 프로필의 연결을 재사용합니다. PIN으로 보호된 프로필에는 PIN이 필요합니다.',
|
|
_ => null,
|
|
};
|
|
}
|
|
}
|