1784 lines
37 KiB
Dart
1784 lines
37 KiB
Dart
// ignore: unused_import
|
||
import 'package:intl/intl.dart' as intl;
|
||
import 'app_localizations.dart';
|
||
|
||
// ignore_for_file: type=lint
|
||
|
||
/// The translations for Chinese (`zh`).
|
||
class AppLocalizationsZh extends AppLocalizations {
|
||
AppLocalizationsZh([String locale = 'zh']) : super(locale);
|
||
|
||
@override
|
||
String get appName => 'FruitShorts';
|
||
|
||
@override
|
||
String get demo => '演示';
|
||
|
||
@override
|
||
String get homeHeadline => '即刻观看';
|
||
|
||
@override
|
||
String get homeSubtitle => '免费短剧预览。';
|
||
|
||
@override
|
||
String get mediaNotice => '用户提供的本地演示视频 · 免费观看';
|
||
|
||
@override
|
||
String get featuredDemo => '精选 · 技术演示';
|
||
|
||
@override
|
||
String get demoTitle => '信号';
|
||
|
||
@override
|
||
String get demoSynopsis => '使用本地视频进行播放预览,后续有素材再增加剧集。';
|
||
|
||
@override
|
||
String get homeTab => '首页';
|
||
|
||
@override
|
||
String get theaterTab => '剧场';
|
||
|
||
@override
|
||
String get createTab => '创作';
|
||
|
||
@override
|
||
String get openQuickMenu => '打开快捷菜单';
|
||
|
||
@override
|
||
String get quickAccess => '快捷入口';
|
||
|
||
@override
|
||
String get currentSeries => '当前短剧';
|
||
|
||
@override
|
||
String get discoverTab => '剧场';
|
||
|
||
@override
|
||
String get searchDiscover => '搜索短剧、演员、类型…';
|
||
|
||
@override
|
||
String get searchCancel => '取消';
|
||
|
||
@override
|
||
String get featured => '精选';
|
||
|
||
@override
|
||
String get recommended => '推荐';
|
||
|
||
@override
|
||
String get fruitShortsBrand => '水果短剧';
|
||
|
||
@override
|
||
String get authLandingSubtitle => '登录后同步进度、收藏与金币权益';
|
||
|
||
@override
|
||
String get comingSoon => '即将上线';
|
||
|
||
@override
|
||
String get authLegal => '继续即代表同意《用户协议》与《隐私政策》';
|
||
|
||
@override
|
||
String get authLegalLead => '继续即代表同意';
|
||
|
||
@override
|
||
String get authTerms => '《用户协议》';
|
||
|
||
@override
|
||
String get authLegalJoin => '与';
|
||
|
||
@override
|
||
String get authPrivacy => '《隐私政策》';
|
||
|
||
@override
|
||
String get legalTerms => '服务条款';
|
||
|
||
@override
|
||
String get legalPrivacy => '隐私协议';
|
||
|
||
@override
|
||
String get legalOpenFailed => '暂时无法打开协议页面';
|
||
|
||
@override
|
||
String get authContinueGoogle => '使用 Google 继续';
|
||
|
||
@override
|
||
String get authPhoneSignIn => '手机号登录';
|
||
|
||
@override
|
||
String get authEmailSignIn => '邮箱登录';
|
||
|
||
@override
|
||
String get suspense => '悬疑';
|
||
|
||
@override
|
||
String get romance => '都市爱情';
|
||
|
||
@override
|
||
String get actionGenre => '动作';
|
||
|
||
@override
|
||
String get filter => '筛选';
|
||
|
||
@override
|
||
String get filterGroupCategory => '全部体裁';
|
||
|
||
@override
|
||
String get filterGroupTheme => '全部主题';
|
||
|
||
@override
|
||
String get filterGroupLanguage => '全部语言';
|
||
|
||
@override
|
||
String get filterGroupSort => '全部推荐';
|
||
|
||
@override
|
||
String get sortNewest => '最新上架';
|
||
|
||
@override
|
||
String get sortHottest => '最高热度';
|
||
|
||
@override
|
||
String get expandFilters => '展开';
|
||
|
||
@override
|
||
String get collapseFilters => '收起';
|
||
|
||
@override
|
||
String get filterEmpty => '没有符合条件的短剧';
|
||
|
||
@override
|
||
String get hotBadge => '爆剧';
|
||
|
||
@override
|
||
String get filterAll => '全部';
|
||
|
||
@override
|
||
String seriesMeta(String episodes, String viewers) {
|
||
return '系列剧 · 共$episodes集 | 共$viewers人在追';
|
||
}
|
||
|
||
@override
|
||
String watchFullSeries(String episodes) {
|
||
return '观看完整剧集 · 全$episodes集';
|
||
}
|
||
|
||
@override
|
||
String get feedTabAnime => '漫剧';
|
||
|
||
@override
|
||
String get feedTabReal => '真人剧';
|
||
|
||
@override
|
||
String get feedTabForYou => '推荐';
|
||
|
||
@override
|
||
String get authorNoteLabel => '作者声明';
|
||
|
||
@override
|
||
String get reserve => '预约';
|
||
|
||
@override
|
||
String heatLabel(String count) {
|
||
return '$count热度';
|
||
}
|
||
|
||
@override
|
||
String get topCharts => '热播榜';
|
||
|
||
@override
|
||
String get newReleases => '新剧';
|
||
|
||
@override
|
||
String get newDramas => '新剧';
|
||
|
||
@override
|
||
String get trendingMicroDramas => '热门短剧';
|
||
|
||
@override
|
||
String get seeAll => '查看全部';
|
||
|
||
@override
|
||
String get trendingSubtitle => '本周追看最多';
|
||
|
||
@override
|
||
String get verticalMiniSeries => '竖屏短剧';
|
||
|
||
@override
|
||
String get followSeries => '追剧';
|
||
|
||
@override
|
||
String get seasonOneVerticalCinema => '第 1 季 · 竖屏影院';
|
||
|
||
@override
|
||
String get seasonOneOriginalRelease => '第 1 季 · 原创上线';
|
||
|
||
@override
|
||
String get startWatching => '开始观看';
|
||
|
||
@override
|
||
String get showLess => '收起';
|
||
|
||
@override
|
||
String get expandSynopsis => '展开';
|
||
|
||
@override
|
||
String get views => '次播放';
|
||
|
||
@override
|
||
String episodeOfTotal(int current, int total) {
|
||
return '第 $current 集 / 共 $total 集';
|
||
}
|
||
|
||
@override
|
||
String get clearScreen => '清屏';
|
||
|
||
@override
|
||
String get exitClearScreen => '退出清屏';
|
||
|
||
@override
|
||
String get playbackSpeed => '倍速';
|
||
|
||
@override
|
||
String speedBoosting(String speed) {
|
||
return '$speed 倍速快进中';
|
||
}
|
||
|
||
@override
|
||
String minutesAgo(int count) {
|
||
return '$count 分钟前';
|
||
}
|
||
|
||
@override
|
||
String get justNow => '刚刚';
|
||
|
||
@override
|
||
String hoursAgo(int count) {
|
||
return '$count 小时前';
|
||
}
|
||
|
||
@override
|
||
String get artworkOnly => '海报展示';
|
||
|
||
@override
|
||
String get artworkOnlyNotice => '这张海报仅用于目录展示,暂时没有可播放视频。';
|
||
|
||
@override
|
||
String get videoPending => '视频待提供';
|
||
|
||
@override
|
||
String get watchNow => '免费观看';
|
||
|
||
@override
|
||
String get noSearchResults => '没有匹配的短剧。';
|
||
|
||
@override
|
||
String get emptyHint => '有新内容时会显示在这里。';
|
||
|
||
@override
|
||
String get demoCatalogNotice => '三部演示短剧共用同一条本地视频。';
|
||
|
||
@override
|
||
String get myTab => '我的';
|
||
|
||
@override
|
||
String get localDemoProfile => '本地演示档案';
|
||
|
||
@override
|
||
String get continueWatching => '继续观看';
|
||
|
||
@override
|
||
String episodeRemaining(int episode, int minutes) {
|
||
return '第 $episode 集 · 还剩 $minutes 分钟';
|
||
}
|
||
|
||
@override
|
||
String viewCountLabel(int count) {
|
||
return '$count 次播放';
|
||
}
|
||
|
||
@override
|
||
String allEpisodesBadge(int count) {
|
||
return '全 $count 集';
|
||
}
|
||
|
||
@override
|
||
String lockedEpisodeCount(int count) {
|
||
return '锁 $count';
|
||
}
|
||
|
||
@override
|
||
String watchedPercent(int percent) {
|
||
return '已看 $percent%';
|
||
}
|
||
|
||
@override
|
||
String get resume => '继续播放';
|
||
|
||
@override
|
||
String get history => '历史';
|
||
|
||
@override
|
||
String get likedTab => '喜欢';
|
||
|
||
@override
|
||
String get all => '全部';
|
||
|
||
@override
|
||
String get inProgress => '未看完';
|
||
|
||
@override
|
||
String get completed => '已看完';
|
||
|
||
@override
|
||
String get noSavedShows => '这里还没有剧集。';
|
||
|
||
@override
|
||
String get preferences => '偏好设置';
|
||
|
||
@override
|
||
String get followingTab => '追剧';
|
||
|
||
@override
|
||
String get animatedTab => '漫剧';
|
||
|
||
@override
|
||
String get recommendedTab => '推荐';
|
||
|
||
@override
|
||
String get noCategoryDramas => '这个分类暂时没有剧集。';
|
||
|
||
@override
|
||
String get allDramas => '全部剧目';
|
||
|
||
@override
|
||
String get allLanguages => '全部语言';
|
||
|
||
@override
|
||
String get bahasaMelayu => '马来语';
|
||
|
||
@override
|
||
String get createSubtitle => '让故事成为漫剧';
|
||
|
||
@override
|
||
String get createAiTitle => 'AI 制作';
|
||
|
||
@override
|
||
String get createAiSubtitle => '从故事或想法开始';
|
||
|
||
@override
|
||
String get createUploadTitle => '上传发布';
|
||
|
||
@override
|
||
String get createUploadSubtitle => '发布已完成的漫剧';
|
||
|
||
@override
|
||
String get createMottoPrimary => '你的想象';
|
||
|
||
@override
|
||
String get createMottoSecondary => '可以被更多人看见';
|
||
|
||
@override
|
||
String get newReleasesTitle => '新剧首映';
|
||
|
||
@override
|
||
String newReleasesCount(int count) {
|
||
return '本周上新 $count 部';
|
||
}
|
||
|
||
@override
|
||
String get premiereToday => '今日首映';
|
||
|
||
@override
|
||
String get newBadge => 'NEW';
|
||
|
||
@override
|
||
String get reserveTitle => '档期预约';
|
||
|
||
@override
|
||
String get goNewReleases => '去新剧页看看';
|
||
|
||
@override
|
||
String get reserveStepsTitle => '预约后你会得到';
|
||
|
||
@override
|
||
String get reserveStep1 => '一键预约';
|
||
|
||
@override
|
||
String get reserveStep2 => '开播提醒';
|
||
|
||
@override
|
||
String get reserveStep3 => '立即追剧';
|
||
|
||
@override
|
||
String get reserveWeek => '本周待播';
|
||
|
||
@override
|
||
String get weekdayMon => '周一';
|
||
|
||
@override
|
||
String get weekdayTue => '周二';
|
||
|
||
@override
|
||
String get weekdayWed => '周三';
|
||
|
||
@override
|
||
String get weekdayThu => '周四';
|
||
|
||
@override
|
||
String get weekdayFri => '周五';
|
||
|
||
@override
|
||
String get weekdaySat => '周六';
|
||
|
||
@override
|
||
String get weekdaySun => '周日';
|
||
|
||
@override
|
||
String get trendingTab => '热门';
|
||
|
||
@override
|
||
String get liveActionTab => '真人剧';
|
||
|
||
@override
|
||
String get search => '搜索';
|
||
|
||
@override
|
||
String get free => '免费';
|
||
|
||
@override
|
||
String get mute => '静音';
|
||
|
||
@override
|
||
String get unmute => '取消静音';
|
||
|
||
@override
|
||
String get like => '喜欢';
|
||
|
||
@override
|
||
String get save => '保存';
|
||
|
||
@override
|
||
String get comments => '评论';
|
||
|
||
@override
|
||
String get share => '分享';
|
||
|
||
@override
|
||
String get noComments => '还没有评论。';
|
||
|
||
@override
|
||
String get writeComment => '写评论';
|
||
|
||
@override
|
||
String get commentLoginHint => '登录后参与评论';
|
||
|
||
@override
|
||
String get postComment => '发布';
|
||
|
||
@override
|
||
String get commentPostSuccess => '发表成功';
|
||
|
||
@override
|
||
String get loadMore => '加载更多';
|
||
|
||
@override
|
||
String get noMoreItems => '没有更多了';
|
||
|
||
@override
|
||
String get commentsLoadFailed => '评论加载失败,请重试。';
|
||
|
||
@override
|
||
String get commentPostFailed => '评论发布失败,请重试。';
|
||
|
||
@override
|
||
String get delete => '删除';
|
||
|
||
@override
|
||
String get deleteComment => '删除评论';
|
||
|
||
@override
|
||
String get deleteCommentTitle => '删除这条评论?';
|
||
|
||
@override
|
||
String get deleteCommentMessage => '删除后,这条评论将从评论列表中移除。';
|
||
|
||
@override
|
||
String get commentDeleteFailed => '评论删除失败,请重试。';
|
||
|
||
@override
|
||
String get underReview => '审核中';
|
||
|
||
@override
|
||
String get reply => '回复';
|
||
|
||
@override
|
||
String replyingTo(Object name) {
|
||
return '回复 $name';
|
||
}
|
||
|
||
@override
|
||
String get cancelReply => '取消回复';
|
||
|
||
@override
|
||
String viewReplies(int count) {
|
||
return '查看回复($count)';
|
||
}
|
||
|
||
@override
|
||
String get hideReplies => '收起回复';
|
||
|
||
@override
|
||
String get anonymousUser => '观众';
|
||
|
||
@override
|
||
String get more => '更多';
|
||
|
||
@override
|
||
String get likeFailed => '点赞状态更新失败,请重试。';
|
||
|
||
@override
|
||
String get reportComment => '举报评论';
|
||
|
||
@override
|
||
String get reportDrama => '举报短剧';
|
||
|
||
@override
|
||
String get reportReason => '举报原因';
|
||
|
||
@override
|
||
String get reportReasonSpam => '垃圾广告';
|
||
|
||
@override
|
||
String get reportReasonAbuse => '辱骂骚扰';
|
||
|
||
@override
|
||
String get reportReasonPorn => '色情低俗';
|
||
|
||
@override
|
||
String get reportReasonAd => '引流广告';
|
||
|
||
@override
|
||
String get reportReasonOther => '其他';
|
||
|
||
@override
|
||
String get reportDescriptionHint => '补充说明(选填)';
|
||
|
||
@override
|
||
String get reportSubmit => '提交举报';
|
||
|
||
@override
|
||
String get reportSubmitted => '举报已提交,感谢反馈。';
|
||
|
||
@override
|
||
String get reportFailed => '举报提交失败,请重试。';
|
||
|
||
@override
|
||
String get shareFailed => '无法打开系统分享面板。';
|
||
|
||
@override
|
||
String get nowPlaying => '正在播放';
|
||
|
||
@override
|
||
String get pictureInPicture => '画中画';
|
||
|
||
@override
|
||
String get pipUnavailable => '此设备无法使用画中画';
|
||
|
||
@override
|
||
String get originalTag => '原创';
|
||
|
||
@override
|
||
String get dramaTag => '短剧';
|
||
|
||
@override
|
||
String episodeLabel(int number) {
|
||
return '第 $number 集';
|
||
}
|
||
|
||
@override
|
||
String get exploreSeries => '查看剧集';
|
||
|
||
@override
|
||
String episodeCount(int count) {
|
||
return '$count 集';
|
||
}
|
||
|
||
@override
|
||
String technicalDemoCount(int count) {
|
||
return '免费试看 · $count 集';
|
||
}
|
||
|
||
@override
|
||
String get episodes => '选集';
|
||
|
||
@override
|
||
String get synopsisTitle => '简介';
|
||
|
||
@override
|
||
String get watchEpisodeOne => '观看第 1 集';
|
||
|
||
@override
|
||
String continueEpisode(int number) {
|
||
return '续看第 $number 集';
|
||
}
|
||
|
||
@override
|
||
String get freeTestMedia => '复用同一演示视频 · 免费';
|
||
|
||
@override
|
||
String get lockedStoreUnavailable => '已锁定 · 商店未配置';
|
||
|
||
@override
|
||
String get freeTestClip => '免费测试片';
|
||
|
||
@override
|
||
String get locked => '已锁定';
|
||
|
||
@override
|
||
String get freeSamplesNotice => '前两集免费 · 商店配置待完成';
|
||
|
||
@override
|
||
String get demoTestMedia => '免费 · 同一演示视频';
|
||
|
||
@override
|
||
String episodeProgress(int number, int total) {
|
||
return '第 $number / $total 集';
|
||
}
|
||
|
||
@override
|
||
String get testVideoNotice => '自行生成的技术测试视频';
|
||
|
||
@override
|
||
String lockedTitle(int number) {
|
||
return '第 $number 集已锁定';
|
||
}
|
||
|
||
@override
|
||
String get lockedBody => '完成商店与服务端验单配置后才能解锁。本演示目前不处理付款。';
|
||
|
||
@override
|
||
String get playbackError => '此视频暂时无法播放。';
|
||
|
||
@override
|
||
String get catalogError => '剧目列表加载失败。';
|
||
|
||
@override
|
||
String get categoriesError => '分类加载失败。';
|
||
|
||
@override
|
||
String get detailError => '剧集信息加载失败。';
|
||
|
||
@override
|
||
String get noMediaNotice => '该剧集还没有可播放的片源。';
|
||
|
||
@override
|
||
String get noStories => '暂无剧目。';
|
||
|
||
@override
|
||
String get notices => '通知';
|
||
|
||
@override
|
||
String get noNotices => '暂无通知。';
|
||
|
||
@override
|
||
String get noticesLoadFailed => '通知加载失败,请重试。';
|
||
|
||
@override
|
||
String get noticeDetails => '通知详情';
|
||
|
||
@override
|
||
String get noticeAnnouncement => '公告';
|
||
|
||
@override
|
||
String get close => '关闭';
|
||
|
||
@override
|
||
String carouselSemantics(int current, int total) {
|
||
return '第 $current 张,共 $total 张';
|
||
}
|
||
|
||
@override
|
||
String get retry => '重试';
|
||
|
||
@override
|
||
String get backToSeries => '返回剧集详情';
|
||
|
||
@override
|
||
String get nextEpisode => '下一集';
|
||
|
||
@override
|
||
String get pause => '暂停';
|
||
|
||
@override
|
||
String get play => '播放';
|
||
|
||
@override
|
||
String get seekVideo => '拖动播放进度';
|
||
|
||
@override
|
||
String get seekFailed => '无法调整播放进度。';
|
||
|
||
@override
|
||
String get captions => '字幕';
|
||
|
||
@override
|
||
String get captionsOff => '关闭字幕';
|
||
|
||
@override
|
||
String get englishCaptions => '英文字幕';
|
||
|
||
@override
|
||
String get chineseCaptions => '简体中文字幕';
|
||
|
||
@override
|
||
String get english => 'English';
|
||
|
||
@override
|
||
String get simplifiedChinese => '简体中文';
|
||
|
||
@override
|
||
String get bahasaIndonesia => '印尼语';
|
||
|
||
@override
|
||
String get episodeOneTitle => '初见微光';
|
||
|
||
@override
|
||
String get episodeTwoTitle => '新的频率';
|
||
|
||
@override
|
||
String get episodeThreeTitle => '越过边界';
|
||
|
||
@override
|
||
String get episodeFourTitle => '回声之后';
|
||
|
||
@override
|
||
String get dramaSignalTitle => '信号';
|
||
|
||
@override
|
||
String get dramaSignalSynopsis => '一部竖屏连播的演示短剧,每一集都使用同一段本地视频。';
|
||
|
||
@override
|
||
String get dramaCityTitle => '都市灯火与丝绒夜';
|
||
|
||
@override
|
||
String get dramaCitySynopsis => '一部都市爱情演示短剧,用同一段本地视频体验切换和续看。';
|
||
|
||
@override
|
||
String get dramaVengeanceTitle => '复仇崛起';
|
||
|
||
@override
|
||
String get dramaVengeanceSynopsis => '一部动作演示短剧,用同一段本地视频体验切换和续看。';
|
||
|
||
@override
|
||
String get dramaEchoesTitle => '命运回声';
|
||
|
||
@override
|
||
String get genreSuspenseMystery => '悬疑 · 推理';
|
||
|
||
@override
|
||
String get genreUrbanRomance => '都市爱情';
|
||
|
||
@override
|
||
String get genreActionThriller => '动作 · 惊悚';
|
||
|
||
@override
|
||
String get genreDramaMystery => '剧情 · 悬疑';
|
||
|
||
@override
|
||
String get continueWatchingHeading => '继续观看';
|
||
|
||
@override
|
||
String get preferencesHeading => '偏好设置';
|
||
|
||
@override
|
||
String get brandMark => 'FRUITSHORTS';
|
||
|
||
@override
|
||
String get shareFooter => 'FruitShorts';
|
||
|
||
@override
|
||
String get shortsTab => '短剧';
|
||
|
||
@override
|
||
String get myListTab => '片单';
|
||
|
||
@override
|
||
String get watchFull => '看全集';
|
||
|
||
@override
|
||
String get swipeForNext => '上滑看下一部';
|
||
|
||
@override
|
||
String get logIn => '登录';
|
||
|
||
@override
|
||
String get logInHint => '登录后保存金币和片单';
|
||
|
||
@override
|
||
String get rewards => '奖励';
|
||
|
||
@override
|
||
String get forYou => '为你推荐';
|
||
|
||
@override
|
||
String get hot => '热门';
|
||
|
||
@override
|
||
String get newest => '最新';
|
||
|
||
@override
|
||
String get favorite => '收藏';
|
||
|
||
@override
|
||
String get myAccount => '我的账户';
|
||
|
||
@override
|
||
String get myWorks => '我的作品';
|
||
|
||
@override
|
||
String get creatorCenter => '创作者中心';
|
||
|
||
@override
|
||
String get helpFeedback => '帮助与反馈';
|
||
|
||
@override
|
||
String get vipUnlockMessage => '开通会员,解锁更多精彩内容';
|
||
|
||
@override
|
||
String get coins => '金币';
|
||
|
||
@override
|
||
String get topUpWallet => '充值';
|
||
|
||
@override
|
||
String get vipMembership => '会员';
|
||
|
||
@override
|
||
String get notActive => '未开通';
|
||
|
||
@override
|
||
String get joinVip => '开通会员';
|
||
|
||
@override
|
||
String get earnRewards => '赚奖励';
|
||
|
||
@override
|
||
String get freeBonus => '领免费奖励';
|
||
|
||
@override
|
||
String get watchHistory => '播放历史';
|
||
|
||
@override
|
||
String get settings => '设置';
|
||
|
||
@override
|
||
String get serverAddress => '服务器地址';
|
||
|
||
@override
|
||
String get serverSettings => '服务器设置';
|
||
|
||
@override
|
||
String get serverAddressHint => 'http(s)://主机:端口';
|
||
|
||
@override
|
||
String get saveAddress => '保存地址';
|
||
|
||
@override
|
||
String get restartToApply => '重启 App 生效';
|
||
|
||
@override
|
||
String get restoreDefault => '恢复默认';
|
||
|
||
@override
|
||
String get invalidServerAddress => '请输入有效的 http(s) 服务器地址。';
|
||
|
||
@override
|
||
String get signOut => '退出登录';
|
||
|
||
@override
|
||
String get mockUserName => 'Vicky sheng';
|
||
|
||
@override
|
||
String get mockUserId => 'ID: M1CZWVYE';
|
||
|
||
@override
|
||
String get mockNotice => '当前是示例数据。';
|
||
|
||
@override
|
||
String get topBadge => 'TOP 1';
|
||
|
||
@override
|
||
String get signIn => '登录';
|
||
|
||
@override
|
||
String get signUp => '注册';
|
||
|
||
@override
|
||
String get authSignInTitle => '欢迎回来';
|
||
|
||
@override
|
||
String get authSignUpTitle => '创建账号';
|
||
|
||
@override
|
||
String get authSubtitle => '用邮箱和密码登录。';
|
||
|
||
@override
|
||
String get authSignUpSubtitle => '创建账号,保存你的片单、观看记录和进度。';
|
||
|
||
@override
|
||
String get authBrandTagline => '为印尼市场打造的短剧体验';
|
||
|
||
@override
|
||
String get authEmailLabel => '邮箱';
|
||
|
||
@override
|
||
String get authPasswordLabel => '密码';
|
||
|
||
@override
|
||
String get authPasswordHint => '至少 8 位,需包含字母和数字';
|
||
|
||
@override
|
||
String get authEmailRequired => '请输入邮箱';
|
||
|
||
@override
|
||
String get authEmailInvalid => '邮箱格式不正确';
|
||
|
||
@override
|
||
String get authPasswordRequired => '请输入密码';
|
||
|
||
@override
|
||
String get authPasswordLength => '密码长度需在 8-64 位之间';
|
||
|
||
@override
|
||
String get authPasswordWeak => '密码需同时包含字母和数字';
|
||
|
||
@override
|
||
String get authNetworkError => '网络异常,请稍后重试';
|
||
|
||
@override
|
||
String get authServerError => '服务繁忙,请稍后再试';
|
||
|
||
@override
|
||
String get apiErrorBadRequest => '参数校验失败';
|
||
|
||
@override
|
||
String get apiErrorUnauthorized => '未登录或登录已过期';
|
||
|
||
@override
|
||
String get apiErrorForbidden => '无权限';
|
||
|
||
@override
|
||
String get apiErrorNotFound => '资源不存在';
|
||
|
||
@override
|
||
String get apiErrorTooManyRequests => '请求过于频繁,请稍后再试';
|
||
|
||
@override
|
||
String get apiErrorLoginFailed => '账号或密码错误';
|
||
|
||
@override
|
||
String get apiErrorAccountDisabled => '账号已停用';
|
||
|
||
@override
|
||
String get apiErrorCoinNotEnough => '金币余额不足';
|
||
|
||
@override
|
||
String get apiErrorEpisodeUnavailable => '剧集未发布或不存在';
|
||
|
||
@override
|
||
String get apiErrorEpisodeUnlocked => '剧集已解锁';
|
||
|
||
@override
|
||
String get apiErrorOrderInvalid => '订单已支付或已关闭';
|
||
|
||
@override
|
||
String get apiErrorVipExpired => '会员已过期';
|
||
|
||
@override
|
||
String get apiErrorDataExists => '数据已存在';
|
||
|
||
@override
|
||
String get apiErrorDataNotFound => '数据不存在';
|
||
|
||
@override
|
||
String get apiErrorNotAllowed => '当前状态不允许该操作';
|
||
|
||
@override
|
||
String get authSwitchToSignUp => '还没有账号?去注册';
|
||
|
||
@override
|
||
String get authSwitchToSignIn => '已有账号?去登录';
|
||
|
||
@override
|
||
String get authGateTitle => '登录后可继续';
|
||
|
||
@override
|
||
String get authGateMessage => '观看记录、收藏、评论和下载需要登录。';
|
||
|
||
@override
|
||
String get authGateAction => '去登录';
|
||
|
||
@override
|
||
String get showPassword => '显示密码';
|
||
|
||
@override
|
||
String get hidePassword => '隐藏密码';
|
||
|
||
@override
|
||
String get cancel => '暂不';
|
||
|
||
@override
|
||
String get noEpisodesYet => '还没有可播放的剧集。';
|
||
|
||
@override
|
||
String get networkError => '网络异常,请检查网络后重试。';
|
||
|
||
@override
|
||
String get progressError => '续看进度加载失败。';
|
||
|
||
@override
|
||
String get favoritesError => '收藏列表加载失败。';
|
||
|
||
@override
|
||
String get favoriteToggleFailed => '收藏操作失败,请重试。';
|
||
|
||
@override
|
||
String get myFavorites => '我的收藏';
|
||
|
||
@override
|
||
String get noFavorites => '还没有收藏。';
|
||
|
||
@override
|
||
String get downloads => '下载';
|
||
|
||
@override
|
||
String get downloadsError => '下载设置加载失败。';
|
||
|
||
@override
|
||
String get noDownloads => '还没有下载授权。';
|
||
|
||
@override
|
||
String get downloadedItems => '下载授权';
|
||
|
||
@override
|
||
String downloadQuota(int remaining, int max) {
|
||
return '剩余 $remaining / $max 个授权';
|
||
}
|
||
|
||
@override
|
||
String downloadLicenseDays(int days) {
|
||
return '授权有效期 $days 天';
|
||
}
|
||
|
||
@override
|
||
String get downloadWifiOnly => '仅 Wi-Fi 下载';
|
||
|
||
@override
|
||
String get downloadQuality => '最高清晰度';
|
||
|
||
@override
|
||
String downloadStatus(Object status) {
|
||
return '授权:$status';
|
||
}
|
||
|
||
@override
|
||
String downloadTaskStatus(Object status) {
|
||
return '任务:$status';
|
||
}
|
||
|
||
@override
|
||
String downloadProgress(int progress) {
|
||
return '$progress%';
|
||
}
|
||
|
||
@override
|
||
String downloadExpiresAt(Object time) {
|
||
return '到期时间 $time';
|
||
}
|
||
|
||
@override
|
||
String get clearDownloadsTitle => '清空下载授权?';
|
||
|
||
@override
|
||
String get clearDownloadsMessage => '这会吊销当前设备的全部下载授权。';
|
||
|
||
@override
|
||
String get downloadSettingsFailed => '下载设置更新失败。';
|
||
|
||
@override
|
||
String get downloadDeleteFailed => '删除下载授权失败。';
|
||
|
||
@override
|
||
String get downloadClearFailed => '清空下载授权失败。';
|
||
|
||
@override
|
||
String get downloadGrantFailed => '申请下载失败。';
|
||
|
||
@override
|
||
String get downloadGranted => '下载授权已就绪。';
|
||
|
||
@override
|
||
String get noWatchRecords => '还没有观看记录。';
|
||
|
||
@override
|
||
String get recordDeleteFailed => '删除记录失败,请重试。';
|
||
|
||
@override
|
||
String get recordClearFailed => '清空观看记录失败,请重试。';
|
||
|
||
@override
|
||
String get clearAll => '清空';
|
||
|
||
@override
|
||
String watchRecordsCount(int count) {
|
||
return '共 $count 条';
|
||
}
|
||
|
||
@override
|
||
String favoritesCount(int count) {
|
||
return '共 $count 部';
|
||
}
|
||
|
||
@override
|
||
String get clearWatchHistoryTitle => '清空观看记录?';
|
||
|
||
@override
|
||
String get clearWatchHistoryMessage => '这会从当前账号移除全部观看记录。';
|
||
|
||
@override
|
||
String get confirmClear => '清空';
|
||
|
||
@override
|
||
String get detailLoadFailed => '剧集信息加载失败';
|
||
|
||
@override
|
||
String get retryDetail => '重试';
|
||
|
||
@override
|
||
String get episodeUnavailable => '集数未知';
|
||
|
||
@override
|
||
String updatedAtLabel(Object time) {
|
||
return '更新于 $time';
|
||
}
|
||
|
||
@override
|
||
String get remove => '移除';
|
||
|
||
@override
|
||
String get unlockComingSoon => '金币解锁功能即将开放。';
|
||
|
||
@override
|
||
String resumeProgress(Object position, Object total) {
|
||
return '续看至 $position / $total';
|
||
}
|
||
|
||
@override
|
||
String get accountCenter => '账号';
|
||
|
||
@override
|
||
String get accountProfile => '个人资料';
|
||
|
||
@override
|
||
String get accountDevices => '登录设备';
|
||
|
||
@override
|
||
String get accountDataExport => '数据导出';
|
||
|
||
@override
|
||
String get accountDeactivate => '注销账号';
|
||
|
||
@override
|
||
String get accountProfileLoadFailed => '个人资料加载失败。';
|
||
|
||
@override
|
||
String get accountProfileSaveFailed => '个人资料保存失败。';
|
||
|
||
@override
|
||
String get accountNickname => '昵称';
|
||
|
||
@override
|
||
String get accountNicknameInvalid => '请输入 1 至 30 个字符。';
|
||
|
||
@override
|
||
String get accountGender => '性别';
|
||
|
||
@override
|
||
String get accountMale => '男';
|
||
|
||
@override
|
||
String get accountFemale => '女';
|
||
|
||
@override
|
||
String get accountUnknownGender => '不愿透露';
|
||
|
||
@override
|
||
String get accountSelectBirthday => '设置生日';
|
||
|
||
@override
|
||
String get accountBirthdayHint => '当前版本只能设置生日,不能清空。';
|
||
|
||
@override
|
||
String get accountSaved => '个人资料已保存。';
|
||
|
||
@override
|
||
String get accountReadOnlyInfo => '账号信息';
|
||
|
||
@override
|
||
String get accountUid => 'UID';
|
||
|
||
@override
|
||
String get accountMaskedAccount => '账号';
|
||
|
||
@override
|
||
String get accountCountry => '国家';
|
||
|
||
@override
|
||
String get accountCurrency => '币种';
|
||
|
||
@override
|
||
String get accountStatus => '状态';
|
||
|
||
@override
|
||
String get accountLanguage => '语言';
|
||
|
||
@override
|
||
String get accountTimezone => '时区';
|
||
|
||
@override
|
||
String get accountRegion => '地区';
|
||
|
||
@override
|
||
String get accountVipLevel => 'VIP 等级';
|
||
|
||
@override
|
||
String get accountCreatedAt => '注册时间';
|
||
|
||
@override
|
||
String get accountLastLogin => '最近登录';
|
||
|
||
@override
|
||
String get accountDevicesEmpty => '暂无登录设备。';
|
||
|
||
@override
|
||
String get accountDevicesLoadFailed => '登录设备加载失败。';
|
||
|
||
@override
|
||
String get accountPlatform => '平台';
|
||
|
||
@override
|
||
String get accountDeviceId => '设备号';
|
||
|
||
@override
|
||
String get accountFirstSeen => '首次登录';
|
||
|
||
@override
|
||
String get accountLastActive => '最近活跃';
|
||
|
||
@override
|
||
String get accountDeviceActive => '活跃';
|
||
|
||
@override
|
||
String get accountDeviceInactive => '不活跃';
|
||
|
||
@override
|
||
String get accountExportLoadFailed => '账号数据导出失败。';
|
||
|
||
@override
|
||
String get accountCredentials => '登录凭据';
|
||
|
||
@override
|
||
String get accountConsentRecords => '授权记录';
|
||
|
||
@override
|
||
String get accountDeviceCount => '设备数';
|
||
|
||
@override
|
||
String get accountCopyJson => '复制完整 JSON';
|
||
|
||
@override
|
||
String get accountCopied => '账号数据已复制。';
|
||
|
||
@override
|
||
String get accountVerified => '已验证';
|
||
|
||
@override
|
||
String get accountUnverified => '未验证';
|
||
|
||
@override
|
||
String get accountDeactivateWarning => '提交后进入 15 天冷静期,所有设备会立即退出登录。';
|
||
|
||
@override
|
||
String get accountDeactivateReason => '注销原因(选填)';
|
||
|
||
@override
|
||
String get accountDeactivateReasonHint => '也可以在这里补充说明';
|
||
|
||
@override
|
||
String get accountRequestDeactivate => '申请注销账号';
|
||
|
||
@override
|
||
String get accountConfirmDeactivateTitle => '确认申请注销?';
|
||
|
||
@override
|
||
String get accountConfirmDeactivateMessage =>
|
||
'所有设备会立即退出登录。重新登录后,可在 15 天冷静期内撤销申请。';
|
||
|
||
@override
|
||
String get accountConfirmDeactivate => '确认注销';
|
||
|
||
@override
|
||
String accountScheduledFor(Object time) {
|
||
return '预计注销时间:$time';
|
||
}
|
||
|
||
@override
|
||
String get accountCancelDeactivation => '撤销注销申请';
|
||
|
||
@override
|
||
String get accountCancelSucceeded => '注销申请已撤销。';
|
||
|
||
@override
|
||
String get accountDeactivateFailed => '注销申请提交失败。';
|
||
|
||
@override
|
||
String get accountCancelFailed => '注销申请撤销失败。';
|
||
|
||
@override
|
||
String get authPhoneTitle => '使用手机号继续';
|
||
|
||
@override
|
||
String get authPhoneSignUp => '使用手机号注册';
|
||
|
||
@override
|
||
String get authPhoneLabel => '手机号';
|
||
|
||
@override
|
||
String get authPhoneHint => '0812 3456 7890';
|
||
|
||
@override
|
||
String get authPhoneInvalid => '请输入有效手机号';
|
||
|
||
@override
|
||
String get authCodeLabel => '验证码';
|
||
|
||
@override
|
||
String get authCodeHint => '6 位验证码';
|
||
|
||
@override
|
||
String get authCodeRequired => '请输入验证码';
|
||
|
||
@override
|
||
String get authSendCode => '发送验证码';
|
||
|
||
@override
|
||
String authResendCode(int seconds) {
|
||
return '$seconds 秒后重发';
|
||
}
|
||
|
||
@override
|
||
String get authCodeSent => '验证码已发送。';
|
||
|
||
@override
|
||
String get authPhoneSignInAction => '登录';
|
||
|
||
@override
|
||
String get authPhoneSignUpAction => '注册';
|
||
|
||
@override
|
||
String get unlockWithCoins => '金币解锁';
|
||
|
||
@override
|
||
String get unlockFailed => '解锁失败,请稍后重试。';
|
||
|
||
@override
|
||
String get wallet => '钱包';
|
||
|
||
@override
|
||
String get coinBalance => '金币余额';
|
||
|
||
@override
|
||
String get coinLedger => '金币流水';
|
||
|
||
@override
|
||
String get noCoinLedger => '暂无金币流水。';
|
||
|
||
@override
|
||
String get walletLoadFailed => '钱包加载失败。';
|
||
|
||
@override
|
||
String walletBalanceShort(int coins) {
|
||
return '$coins 金币';
|
||
}
|
||
|
||
@override
|
||
String get insufficientCoins => '金币余额不足。';
|
||
|
||
@override
|
||
String get rechargeUnavailable => '充值暂未开放。';
|
||
|
||
@override
|
||
String get totalRecharged => '累计充值';
|
||
|
||
@override
|
||
String get totalConsumed => '累计消费';
|
||
|
||
@override
|
||
String get ledgerUnlock => '剧集解锁';
|
||
|
||
@override
|
||
String get ledgerRecharge => '金币充值';
|
||
|
||
@override
|
||
String get ledgerRefund => '退款';
|
||
|
||
@override
|
||
String get ledgerAdjustment => '余额调整';
|
||
|
||
@override
|
||
String get rankingTab => '榜单';
|
||
|
||
@override
|
||
String get rankingTitle => '热门榜单';
|
||
|
||
@override
|
||
String get rankingSubtitle => '按播放热度实时排序';
|
||
|
||
@override
|
||
String get rankingHot => '热播';
|
||
|
||
@override
|
||
String get rankingNew => '新剧';
|
||
|
||
@override
|
||
String get newReleasesAll => '全部新剧';
|
||
|
||
@override
|
||
String get newReleasesSubtitle => '最新上架短剧';
|
||
|
||
@override
|
||
String get reserveSubtitle => '上线前预约,开播即通知';
|
||
|
||
@override
|
||
String get reserveEmptyTitle => '暂无预约剧集';
|
||
|
||
@override
|
||
String get reserveEmptyHint => '新剧上线后可在这里预约';
|
||
|
||
@override
|
||
String topLabel(int n) {
|
||
return 'TOP $n';
|
||
}
|
||
|
||
@override
|
||
String get rankingEmptyTitle => '暂无榜单内容';
|
||
|
||
@override
|
||
String get rankingEmptyBody => '新剧上线后会自动进入榜单。';
|
||
|
||
@override
|
||
String get rankingTopPick => '今日榜首';
|
||
|
||
@override
|
||
String get rechargeTitle => '充值金币';
|
||
|
||
@override
|
||
String get vipTitle => 'VIP 会员';
|
||
|
||
@override
|
||
String get buy => '购买';
|
||
|
||
@override
|
||
String bonusCoin(int bonus) {
|
||
return '赠 $bonus';
|
||
}
|
||
|
||
@override
|
||
String vipDuration(int days) {
|
||
return '$days 天会员';
|
||
}
|
||
|
||
@override
|
||
String get noCoinPacks => '暂无可购金币包。';
|
||
|
||
@override
|
||
String get noVipPlans => '暂无可开通会员。';
|
||
|
||
@override
|
||
String get productsLoadFailed => '商品加载失败。';
|
||
|
||
@override
|
||
String orderCreated(String orderNo) {
|
||
return '订单 $orderNo 已创建。';
|
||
}
|
||
|
||
@override
|
||
String get paymentPending => '等待支付。';
|
||
|
||
@override
|
||
String get orderCreateFailed => '订单创建失败。';
|
||
|
||
@override
|
||
String get playbackQuality => '清晰度';
|
||
|
||
@override
|
||
String qualitySwitched(String quality) {
|
||
return '已切换至$quality';
|
||
}
|
||
|
||
@override
|
||
String get qualityAuto => '自动';
|
||
|
||
@override
|
||
String get qualityAutoHint => 'HLS 会根据当前网络自动切换码率。';
|
||
|
||
@override
|
||
String get searchFailed => '搜索失败,请重试。';
|
||
|
||
@override
|
||
String searchResultCount(int count) {
|
||
return '$count 个结果';
|
||
}
|
||
|
||
@override
|
||
String episodeCountLabel(int count) {
|
||
return '共 $count 集';
|
||
}
|
||
|
||
@override
|
||
String commentsWithCount(int count) {
|
||
return '$count 条评论';
|
||
}
|
||
|
||
@override
|
||
String get textSize => '文字大小';
|
||
|
||
@override
|
||
String get textSizeSmall => '小';
|
||
|
||
@override
|
||
String get textSizeStandard => '标准';
|
||
|
||
@override
|
||
String get textSizeLarge => '大';
|
||
|
||
@override
|
||
String get watchAdToUnlock => '看广告解锁';
|
||
|
||
@override
|
||
String get unlockWithVip => '会员解锁';
|
||
|
||
@override
|
||
String get unlockMethodsVary => '具体解锁方式以作品而定。';
|
||
|
||
@override
|
||
String get unlockEpisode => '解锁本集';
|
||
|
||
@override
|
||
String get language => '语言';
|
||
|
||
@override
|
||
String get freeWatch => '免费观看';
|
||
|
||
@override
|
||
String get qualityUnavailable => '暂不可用';
|
||
|
||
@override
|
||
String get notInterested => '不感兴趣';
|
||
|
||
@override
|
||
String get clearPlayback => '清屏播放';
|
||
|
||
@override
|
||
String get danmakuUnavailable => '暂未开放';
|
||
|
||
@override
|
||
String get danmakuSettings => '弹幕设置';
|
||
|
||
@override
|
||
String get offlineCache => '离线缓存';
|
||
|
||
@override
|
||
String get screenCast => '投屏';
|
||
|
||
@override
|
||
String get sleepTimer => '定时关闭';
|
||
|
||
@override
|
||
String get homeSearchHint => '搜索短剧、演员、类型…';
|
||
|
||
@override
|
||
String get homeSectionFeatured => '精选';
|
||
|
||
@override
|
||
String get homeSectionNew => '新剧';
|
||
|
||
@override
|
||
String get homeSectionCategories => '分类';
|
||
|
||
@override
|
||
String get homeSectionRanking => '榜单';
|
||
|
||
@override
|
||
String get homeSectionCostume => '古装';
|
||
|
||
@override
|
||
String get homeSectionCommunity => '社群';
|
||
|
||
@override
|
||
String get homeTagHot => '热门';
|
||
|
||
@override
|
||
String get homeTagUplifting => '爽剧';
|
||
|
||
@override
|
||
String get homeTagSweet => '甜宠';
|
||
|
||
@override
|
||
String get homeTagFaceSlap => '打脸虐渣';
|
||
|
||
@override
|
||
String get homeTagAngst => '虐恋';
|
||
|
||
@override
|
||
String get homeBadgeHot => '热剧';
|
||
|
||
@override
|
||
String get homeBadgeNew => '新剧';
|
||
|
||
@override
|
||
String get homeBadgeAnime => '漫剧';
|
||
|
||
@override
|
||
String get emptyContent => '暂无内容';
|
||
|
||
@override
|
||
String get recommendTopTab => '推荐';
|
||
|
||
@override
|
||
String get playlistTopTab => '剧单';
|
||
|
||
@override
|
||
String get allDramasTopTab => '全部短剧';
|
||
|
||
@override
|
||
String get weeklyHitsTitle => '本週爆款推薦';
|
||
|
||
@override
|
||
String get weeklyHitsSubtitle => '本週話題熱劇,一次追完!';
|
||
|
||
@override
|
||
String get weeklyNewTitle => '本週精選新劇';
|
||
|
||
@override
|
||
String get weeklyNewSubtitle => '新劇來襲!追劇節奏啟動';
|
||
|
||
@override
|
||
String get costumeAwardsTitle => '古裝神劇大賞';
|
||
|
||
@override
|
||
String get costumeAwardsSubtitle => '口碑爆棚!古裝控必收片單';
|
||
|
||
@override
|
||
String get localFilter => '本地';
|
||
|
||
@override
|
||
String get asiaFilter => '亚洲';
|
||
|
||
@override
|
||
String get westernFilter => '欧美';
|
||
|
||
@override
|
||
String get subtitlesOnlyFilter => '仅字幕';
|
||
|
||
@override
|
||
String get dubbedFilter => '配音';
|
||
|
||
@override
|
||
String get reversalFilter => '逆袭';
|
||
|
||
@override
|
||
String get modernFilter => '现代';
|
||
|
||
@override
|
||
String get edit => '编辑';
|
||
|
||
@override
|
||
String get done => '完成';
|
||
|
||
@override
|
||
String get selectAll => '全选';
|
||
|
||
@override
|
||
String get deselectAll => '取消全选';
|
||
|
||
@override
|
||
String get cancelFollowing => '取消追剧';
|
||
|
||
@override
|
||
String get confirmCancelFollowing => '确定取消已选短剧的追剧吗?';
|
||
|
||
@override
|
||
String get visitor => '访客';
|
||
|
||
@override
|
||
String get copyUid => '复制 UID';
|
||
|
||
@override
|
||
String get uidCopied => 'UID 已复制';
|
||
|
||
@override
|
||
String get offlineDownloads => '离线缓存';
|
||
|
||
@override
|
||
String get watchPreferences => '观看偏好';
|
||
|
||
@override
|
||
String get contactSupport => '联系客服';
|
||
|
||
@override
|
||
String get vipBrandName => 'Netshort VIP';
|
||
|
||
@override
|
||
String get mineVipSubtitle => '享受专属权益';
|
||
|
||
@override
|
||
String favoriteEpisodeProgress(int episode, int total) {
|
||
return '第 $episode 集 / 共 $total 集';
|
||
}
|
||
|
||
@override
|
||
String watchedToEpisode(int episode) {
|
||
return '已看至 第 $episode 集';
|
||
}
|
||
|
||
@override
|
||
String get homeWatchAll => '观看全集';
|
||
|
||
@override
|
||
String get confirmRemove => '确定要移除该条观看记录吗?';
|
||
|
||
@override
|
||
String get followingCountLabel => '追剧数';
|
||
|
||
@override
|
||
String get watchRecordsCountLabel => '观看记录';
|
||
|
||
@override
|
||
String get dataUnavailable => '—';
|
||
|
||
@override
|
||
String get commonQuestions => '常见问题';
|
||
|
||
@override
|
||
String get aboutUs => '关于我们';
|
||
|
||
@override
|
||
String get aboutDescription => '专注于短剧观看与沉浸式追剧体验。';
|
||
|
||
@override
|
||
String versionLabel(String version) {
|
||
return '版本 $version';
|
||
}
|
||
}
|