From 1d09f4792ae3ca23741161ea0c583fd842554014 Mon Sep 17 00:00:00 2001 From: WindowsMEMZ Date: Mon, 12 Feb 2024 02:09:45 +0800 Subject: [PATCH] Optimized iOS & watchOS player --- DarockBili Watch App/Localizable.xcstrings | 4356 ----------------- .../Others/SettingsView.swift | 6 - .../Video/VideoPlayerView.swift | 186 +- DarockBili.xcodeproj/project.pbxproj | 16 +- Localizable.xcstrings | 2 + MeowBili/Video/VideoPlayerView.swift | 17 +- 6 files changed, 145 insertions(+), 4438 deletions(-) delete mode 100644 DarockBili Watch App/Localizable.xcstrings diff --git a/DarockBili Watch App/Localizable.xcstrings b/DarockBili Watch App/Localizable.xcstrings deleted file mode 100644 index 2bb803db0..000000000 --- a/DarockBili Watch App/Localizable.xcstrings +++ /dev/null @@ -1,4356 +0,0 @@ -{ - "sourceLanguage" : "zh-Hans", - "strings" : { - "" : { - "localizations" : { - "en" : { - "stringUnit" : { - "state" : "translated", - "value" : "" - } - }, - "zh-Hans" : { - "stringUnit" : { - "state" : "translated", - "value" : "" - } - } - } - }, - " / %lld" : { - "localizations" : { - "en" : { - "stringUnit" : { - "state" : "translated", - "value" : " / %lld" - } - }, - "zh-Hans" : { - "stringUnit" : { - "state" : "translated", - "value" : " / %lld" - } - } - } - }, - "_uuid_Gen" : { - "localizations" : { - "en" : { - "stringUnit" : { - "state" : "translated", - "value" : "_uuid_Gen" - } - }, - "zh-Hans" : { - "stringUnit" : { - "state" : "translated", - "value" : "_uuid_Gen" - } - } - } - }, - "-- And You --" : { - "localizations" : { - "en" : { - "stringUnit" : { - "state" : "translated", - "value" : "-- And You --" - } - }, - "zh-Hans" : { - "stringUnit" : { - "state" : "translated", - "value" : "-- And You --" - } - } - } - }, - ".%lld" : { - "localizations" : { - "en" : { - "stringUnit" : { - "state" : "translated", - "value" : ".%lld" - } - }, - "zh-Hans" : { - "stringUnit" : { - "state" : "translated", - "value" : ".%lld" - } - } - } - }, - "“屏幕使用时间”会记录您每天使用喵哩喵哩的时间并作出统计" : { - "localizations" : { - "en" : { - "stringUnit" : { - "state" : "translated", - "value" : "The screen time feature will record your usage time on MeowBili every day and provide statistics." - } - } - } - }, - "%@" : { - "localizations" : { - "en" : { - "stringUnit" : { - "state" : "translated", - "value" : "%@" - } - }, - "zh-Hans" : { - "stringUnit" : { - "state" : "translated", - "value" : "%@" - } - } - } - }, - "%@\n%@" : { - "localizations" : { - "en" : { - "stringUnit" : { - "state" : "translated", - "value" : "%1$@\n%2$@" - } - }, - "zh-Hans" : { - "stringUnit" : { - "state" : "new", - "value" : "%1$@\n%2$@" - } - } - } - }, - "%@ · %@" : { - "localizations" : { - "en" : { - "stringUnit" : { - "state" : "translated", - "value" : "%1$@ · %2$@" - } - }, - "zh-Hans" : { - "stringUnit" : { - "state" : "new", - "value" : "%1$@ · %2$@" - } - } - } - }, - "%@ %@" : { - "localizations" : { - "en" : { - "stringUnit" : { - "state" : "translated", - "value" : "%1$@ %2$@" - } - }, - "zh-Hans" : { - "stringUnit" : { - "state" : "new", - "value" : "%1$@ %2$@" - } - } - } - }, - "%@MB / %@MB" : { - "localizations" : { - "en" : { - "stringUnit" : { - "state" : "translated", - "value" : "%1$@MB / %2$@MB" - } - }, - "zh-Hans" : { - "stringUnit" : { - "state" : "new", - "value" : "%1$@MB / %2$@MB" - } - } - } - }, - "%lld / %lld" : { - "localizations" : { - "en" : { - "stringUnit" : { - "state" : "translated", - "value" : "%1$lld / %2$lld" - } - }, - "zh-Hans" : { - "stringUnit" : { - "state" : "new", - "value" : "%1$lld / %2$lld" - } - } - } - }, - "%lld%@" : { - "localizations" : { - "en" : { - "stringUnit" : { - "state" : "translated", - "value" : "%1$lld%2$@" - } - }, - "zh-Hans" : { - "stringUnit" : { - "state" : "new", - "value" : "%1$lld%2$@" - } - } - } - }, - "%lld%%" : { - "localizations" : { - "en" : { - "stringUnit" : { - "state" : "translated", - "value" : "%lld%%" - } - }, - "zh-Hans" : { - "stringUnit" : { - "state" : "translated", - "value" : "%lld%%" - } - } - } - }, - "114" : { - "localizations" : { - "en" : { - "stringUnit" : { - "state" : "translated", - "value" : "114" - } - }, - "zh-Hans" : { - "stringUnit" : { - "state" : "translated", - "value" : "114" - } - } - } - }, - "About" : { - "localizations" : { - "en" : { - "stringUnit" : { - "state" : "translated", - "value" : "About" - } - }, - "zh-Hans" : { - "stringUnit" : { - "state" : "translated", - "value" : "关于" - } - } - - } - }, - "About-me" : { - "localizations" : { - "en" : { - "stringUnit" : { - "state" : "translated", - "value" : "About Me" - } - }, - "zh-Hans" : { - "stringUnit" : { - "state" : "translated", - "value" : "我的" - } - } - } - }, - "About.credits" : { - "localizations" : { - "en" : { - "stringUnit" : { - "state" : "translated", - "value" : "Credits" - } - }, - "zh-Hans" : { - "stringUnit" : { - "state" : "translated", - "value" : "致谢" - } - } - } - }, - "About.meowbili" : { - "localizations" : { - "en" : { - "stringUnit" : { - "state" : "translated", - "value" : "MeowBili" - } - }, - "zh-Hans" : { - "stringUnit" : { - "state" : "translated", - "value" : "喵哩喵哩" - } - } - } - }, - "About.open-source" : { - "localizations" : { - "en" : { - "stringUnit" : { - "state" : "translated", - "value" : "Open Source Agreement License" - } - }, - "zh-Hans" : { - "stringUnit" : { - "state" : "translated", - "value" : "开源协议许可" - } - } - } - }, - "Account.articals.%lld" : { - "localizations" : { - "en" : { - "variations" : { - "plural" : { - "one" : { - "stringUnit" : { - "state" : "translated", - "value" : "%lld article" - } - }, - "other" : { - "stringUnit" : { - "state" : "translated", - "value" : "%lld articles" - } - } - } - } - }, - "zh-Hans" : { - "stringUnit" : { - "state" : "translated", - "value" : "%lld文章" - } - } - } - }, - "Account.certification" : { - "localizations" : { - "en" : { - "stringUnit" : { - "state" : "translated", - "value" : "Certification" - } - }, - "zh-Hans" : { - "stringUnit" : { - "state" : "translated", - "value" : "UP主认证" - } - } - } - }, - "Account.check-articles" : { - "localizations" : { - "en" : { - "stringUnit" : { - "state" : "translated", - "value" : "Check Articles" - } - }, - "zh-Hans" : { - "stringUnit" : { - "state" : "translated", - "value" : "查看文章" - } - } - } - }, - "Account.check-videos" : { - "localizations" : { - "en" : { - "stringUnit" : { - "state" : "translated", - "value" : "Check Videos" - } - }, - "zh-Hans" : { - "stringUnit" : { - "state" : "translated", - "value" : "查看视频" - } - } - } - }, - "Account.direct-message" : { - "localizations" : { - "en" : { - "stringUnit" : { - "state" : "translated", - "value" : "Direct Message" - } - }, - "zh-Hans" : { - "stringUnit" : { - "state" : "translated", - "value" : "私信" - } - } - } - }, - "Account.follow" : { - "localizations" : { - "en" : { - "stringUnit" : { - "state" : "translated", - "value" : "Follow" - } - }, - "zh-Hans" : { - "stringUnit" : { - "state" : "translated", - "value" : "关注" - } - } - } - }, - "Account.followers" : { - "localizations" : { - "en" : { - "stringUnit" : { - "state" : "translated", - "value" : "FANS" - } - }, - "zh-Hans" : { - "stringUnit" : { - "state" : "translated", - "value" : "粉丝" - } - } - } - }, - "Account.info" : { - "localizations" : { - "en" : { - "stringUnit" : { - "state" : "translated", - "value" : "Info" - } - }, - "zh-Hans" : { - "stringUnit" : { - "state" : "translated", - "value" : "个人信息" - } - } - } - }, - "Account.list.destination" : { - "localizations" : { - "en" : { - "stringUnit" : { - "state" : "translated", - "value" : "Destination Page" - } - }, - "zh-Hans" : { - "stringUnit" : { - "state" : "translated", - "value" : "目标页" - } - } - } - }, - "Account.list.go" : { - "localizations" : { - "en" : { - "stringUnit" : { - "state" : "translated", - "value" : "Go" - } - }, - "zh-Hans" : { - "stringUnit" : { - "state" : "translated", - "value" : "前往" - } - } - } - }, - "Account.list.goto" : { - "localizations" : { - "en" : { - "stringUnit" : { - "state" : "translated", - "value" : "Go to..." - } - }, - "zh-Hans" : { - "stringUnit" : { - "state" : "translated", - "value" : "前往…" - } - } - } - }, - "Account.list.last-page" : { - "localizations" : { - "en" : { - "stringUnit" : { - "state" : "translated", - "value" : "Previous" - } - }, - "zh-Hans" : { - "stringUnit" : { - "state" : "translated", - "value" : "上一页" - } - } - } - }, - "Account.list.next-page" : { - "localizations" : { - "en" : { - "stringUnit" : { - "state" : "translated", - "value" : "Next" - } - }, - "zh-Hans" : { - "stringUnit" : { - "state" : "translated", - "value" : "下一页" - } - } - } - }, - "Account.list.no-article" : { - "localizations" : { - "en" : { - "stringUnit" : { - "state" : "translated", - "value" : "This User has No Articles" - } - }, - "zh-Hans" : { - "stringUnit" : { - "state" : "translated", - "value" : "该用户没有文章" - } - } - } - }, - "Account.list.no-video" : { - "localizations" : { - "en" : { - "stringUnit" : { - "state" : "translated", - "value" : "This User has No Video" - } - }, - "zh-Hans" : { - "stringUnit" : { - "state" : "translated", - "value" : "该用户没有视频" - } - } - } - }, - "Account.subscribed" : { - "localizations" : { - "en" : { - "stringUnit" : { - "state" : "translated", - "value" : "FOLLOWS" - } - }, - "zh-Hans" : { - "stringUnit" : { - "state" : "translated", - "value" : "关注" - } - } - } - }, - "Account.tips.followed" : { - "localizations" : { - "en" : { - "stringUnit" : { - "state" : "translated", - "value" : "Followed" - } - }, - "zh-Hans" : { - "stringUnit" : { - "state" : "translated", - "value" : "已关注" - } - } - } - }, - "Account.tips.unfollowed" : { - "localizations" : { - "en" : { - "stringUnit" : { - "state" : "translated", - "value" : "Unfollowed" - } - }, - "zh-Hans" : { - "stringUnit" : { - "state" : "translated", - "value" : "已取消关注" - } - } - } - }, - "Account.unfollow" : { - "localizations" : { - "en" : { - "stringUnit" : { - "state" : "translated", - "value" : "Unfollow" - } - }, - "zh-Hans" : { - "stringUnit" : { - "state" : "translated", - "value" : "取关" - } - } - } - }, - "Account.videos.%lld" : { - "localizations" : { - "en" : { - "variations" : { - "plural" : { - "one" : { - "stringUnit" : { - "state" : "translated", - "value" : "%lld video" - } - }, - "other" : { - "stringUnit" : { - "state" : "translated", - "value" : "%lld videos" - } - } - } - } - }, - "zh-Hans" : { - "stringUnit" : { - "state" : "translated", - "value" : "%lld视频" - } - } - } - }, - "activeBdUrl" : { - "localizations" : { - "en" : { - "stringUnit" : { - "state" : "translated", - "value" : "activeBdUrl" - } - }, - "zh-Hans" : { - "stringUnit" : { - "state" : "translated", - "value" : "activeBdUrl" - } - } - } - }, - "Bangumi.comments.select" : { - "localizations" : { - "en" : { - "stringUnit" : { - "state" : "translated", - "value" : "Select an episode to view its comments" - } - }, - "zh-Hans" : { - "stringUnit" : { - "state" : "translated", - "value" : "选择一集以查看其评论" - } - } - } - }, - "Bangumi.commnets" : { - "localizations" : { - "en" : { - "stringUnit" : { - "state" : "translated", - "value" : "Comments" - } - }, - "zh-Hans" : { - "stringUnit" : { - "state" : "translated", - "value" : "评论" - } - } - } - }, - "Bangumi.score.joined-people.%lld" : { - "localizations" : { - "en" : { - "variations" : { - "plural" : { - "one" : { - "stringUnit" : { - "state" : "translated", - "value" : "%lld person scored" - } - }, - "other" : { - "stringUnit" : { - "state" : "translated", - "value" : "%lld people scored" - } - } - } - } - }, - "zh-Hans" : { - "stringUnit" : { - "state" : "translated", - "value" : "%lld人参与了评分" - } - } - } - }, - "Battery.low-power-mode" : { - "localizations" : { - "en" : { - "stringUnit" : { - "state" : "translated", - "value" : "Low Power Mode" - } - }, - "zh-Hans" : { - "stringUnit" : { - "state" : "translated", - "value" : "低电量模式" - } - } - } - }, - "buvid_fpTest" : { - "localizations" : { - "en" : { - "stringUnit" : { - "state" : "translated", - "value" : "buvid_fpTest" - } - }, - "zh-Hans" : { - "stringUnit" : { - "state" : "translated", - "value" : "buvid_fpTest" - } - } - } - }, - "buvid3_4_actived" : { - "localizations" : { - "en" : { - "stringUnit" : { - "state" : "translated", - "value" : "buvid3_4_actived" - } - }, - "zh-Hans" : { - "stringUnit" : { - "state" : "translated", - "value" : "buvid3_4_actived" - } - } - } - }, - "Close Debug Controls" : { - "localizations" : { - "en" : { - "stringUnit" : { - "state" : "translated", - "value" : "Closed Debug Controls" - } - }, - "zh-Hans" : { - "stringUnit" : { - "state" : "translated", - "value" : "Close Debug Controls" - } - } - } - }, - "Comment.send" : { - "localizations" : { - "en" : { - "stringUnit" : { - "state" : "translated", - "value" : "Send a comment..." - } - }, - "zh-Hans" : { - "stringUnit" : { - "state" : "translated", - "value" : "发送评论…" - } - } - } - }, - "Current Global Buvid3: %@" : { - "localizations" : { - "en" : { - "stringUnit" : { - "state" : "translated", - "value" : "Current Global Buvid3: %@" - } - }, - "zh-Hans" : { - "stringUnit" : { - "state" : "translated", - "value" : "Current Global Buvid3: %@" - } - } - } - }, - "Current Global Buvid4: %@" : { - "localizations" : { - "en" : { - "stringUnit" : { - "state" : "translated", - "value" : "Current Global Buvid4: %@" - } - }, - "zh-Hans" : { - "stringUnit" : { - "state" : "translated", - "value" : "Current Global Buvid4: %@" - } - } - } - }, - "Darock-studio" : { - "localizations" : { - "en" : { - "stringUnit" : { - "state" : "translated", - "value" : "Darock Studio" - } - }, - "zh-Hans" : { - "stringUnit" : { - "state" : "translated", - "value" : "Darock Studio" - } - } - } - }, - "DarockID.account" : { - "localizations" : { - "en" : { - "stringUnit" : { - "state" : "translated", - "value" : "Account" - } - }, - "zh-Hans" : { - "stringUnit" : { - "state" : "translated", - "value" : "帐户" - } - } - } - }, - "DarockID.code.unmatch" : { - "localizations" : { - "en" : { - "stringUnit" : { - "state" : "translated", - "value" : "Verification Code does not match" - } - }, - "zh-Hans" : { - "stringUnit" : { - "state" : "translated", - "value" : "验证码不匹配" - } - } - } - }, - "DarockID.email" : { - "localizations" : { - "en" : { - "stringUnit" : { - "state" : "translated", - "value" : "Email" - } - }, - "zh-Hans" : { - "stringUnit" : { - "state" : "translated", - "value" : "邮箱" - } - } - } - }, - "DarockID.feedback-without-logging-in" : { - "localizations" : { - "en" : { - "stringUnit" : { - "state" : "translated", - "value" : "Report without logging in..." - } - }, - "zh-Hans" : { - "stringUnit" : { - "state" : "translated", - "value" : "在不登录的情况下反馈…" - } - } - } - }, - "DarockID.incorrect" : { - "localizations" : { - "en" : { - "stringUnit" : { - "state" : "translated", - "value" : "Passsword or Account Incorrect" - } - }, - "zh-Hans" : { - "stringUnit" : { - "state" : "translated", - "value" : "帐户或密码不正确" - } - } - } - }, - "DarockID.login" : { - "localizations" : { - "en" : { - "stringUnit" : { - "state" : "translated", - "value" : "Login" - } - }, - "zh-Hans" : { - "stringUnit" : { - "state" : "translated", - "value" : "登录" - } - } - } - }, - "DarockID.login.title" : { - "localizations" : { - "en" : { - "stringUnit" : { - "state" : "translated", - "value" : "Login with Darock ID" - } - }, - "zh-Hans" : { - "stringUnit" : { - "state" : "translated", - "value" : "使用Darock通行证登录" - } - } - } - }, - "DarockID.password" : { - "localizations" : { - "en" : { - "stringUnit" : { - "state" : "translated", - "value" : "Password" - } - }, - "zh-Hans" : { - "stringUnit" : { - "state" : "translated", - "value" : "密码" - } - } - } - }, - "DarockID.password.confirm" : { - "localizations" : { - "en" : { - "stringUnit" : { - "state" : "translated", - "value" : "Confirm Password" - } - }, - "zh-Hans" : { - "stringUnit" : { - "state" : "translated", - "value" : "确认密码" - } - } - } - }, - "DarockID.password.unmatch" : { - "localizations" : { - "en" : { - "stringUnit" : { - "state" : "translated", - "value" : "Password does not match" - } - }, - "zh-Hans" : { - "stringUnit" : { - "state" : "translated", - "value" : "密码不匹配" - } - } - } - }, - "DarockID.register" : { - "localizations" : { - "en" : { - "stringUnit" : { - "state" : "translated", - "value" : "Register" - } - }, - "zh-Hans" : { - "stringUnit" : { - "state" : "translated", - "value" : "注册" - } - } - } - }, - "DarockID.register.success" : { - "localizations" : { - "en" : { - "stringUnit" : { - "state" : "translated", - "value" : "Register Succeed" - } - }, - "zh-Hans" : { - "stringUnit" : { - "state" : "translated", - "value" : "注册成功" - } - } - } - }, - "DarockID.register.title" : { - "localizations" : { - "en" : { - "stringUnit" : { - "state" : "translated", - "value" : "Register Darock ID" - } - }, - "zh-Hans" : { - "stringUnit" : { - "state" : "translated", - "value" : "注册 Darock 通行证" - } - } - } - }, - "DarockID.unable-to-connect" : { - "localizations" : { - "en" : { - "stringUnit" : { - "state" : "translated", - "value" : "Cannot connect to Darock server" - } - }, - "zh-Hans" : { - "stringUnit" : { - "state" : "translated", - "value" : "无法连接至Darock服务器" - } - } - } - }, - "DarockID.verification-code" : { - "localizations" : { - "en" : { - "stringUnit" : { - "state" : "translated", - "value" : "Verification Code" - } - }, - "zh-Hans" : { - "stringUnit" : { - "state" : "translated", - "value" : "验证码" - } - } - } - }, - "DarockID.verification-code.send" : { - "localizations" : { - "en" : { - "stringUnit" : { - "state" : "translated", - "value" : "Send Verification Code" - } - }, - "zh-Hans" : { - "stringUnit" : { - "state" : "translated", - "value" : "发送验证码" - } - } - } - }, - "Direct-message.failed" : { - "localizations" : { - "en" : { - "stringUnit" : { - "state" : "translated", - "value" : "Failed Sending" - } - }, - "zh-Hans" : { - "stringUnit" : { - "state" : "translated", - "value" : "发送失败" - } - } - } - }, - "Download.closing-in-3sec" : { - "extractionState" : "stale", - "localizations" : { - "en" : { - "stringUnit" : { - "state" : "translated", - "value" : "This page will close in 3s" - } - }, - "zh-Hans" : { - "stringUnit" : { - "state" : "translated", - "value" : "页面将于3秒后自动关闭" - } - } - } - }, - "Download.finished.%lld" : { - "localizations" : { - "en" : { - "stringUnit" : { - "state" : "translated", - "value" : "#%lld Finished" - } - }, - "zh-Hans" : { - "stringUnit" : { - "state" : "translated", - "value" : "#%lld 已完成" - } - } - } - }, - "Download.list" : { - "localizations" : { - "en" : { - "stringUnit" : { - "state" : "translated", - "value" : "Download Task List" - } - }, - "zh-Hans" : { - "stringUnit" : { - "state" : "translated", - "value" : "下载任务列表" - } - } - } - }, - "Download.nothing" : { - "localizations" : { - "en" : { - "stringUnit" : { - "state" : "translated", - "value" : "No Download Tasks" - } - }, - "zh-Hans" : { - "stringUnit" : { - "state" : "translated", - "value" : "无下载任务" - } - } - } - }, - "Download.num.%lld" : { - "localizations" : { - "en" : { - "stringUnit" : { - "state" : "translated", - "value" : "#%lld" - } - }, - "zh-Hans" : { - "stringUnit" : { - "state" : "translated", - "value" : "#%lld" - } - } - } - }, - "Download.paused.%lld" : { - "localizations" : { - "en" : { - "stringUnit" : { - "state" : "translated", - "value" : "#%lld Aborted" - } - }, - "zh-Hans" : { - "stringUnit" : { - "state" : "translated", - "value" : "#%lld 中断" - } - } - } - }, - "Download.preloading..." : { - "localizations" : { - "en" : { - "stringUnit" : { - "state" : "translated", - "value" : "Preloading..." - } - }, - "zh-Hans" : { - "stringUnit" : { - "state" : "translated", - "value" : "正在预加载…" - } - } - } - }, - "Download.tap-2-retry" : { - "localizations" : { - "en" : { - "stringUnit" : { - "state" : "translated", - "value" : "Tap to Retry" - } - }, - "zh-Hans" : { - "stringUnit" : { - "state" : "translated", - "value" : "轻点以尝试继续" - } - } - } - }, - "Download.task-created" : { - "localizations" : { - "en" : { - "stringUnit" : { - "state" : "translated", - "value" : "Download Task Created" - } - }, - "zh-Hans" : { - "stringUnit" : { - "state" : "translated", - "value" : "下载任务已创建" - } - } - } - }, - "Error" : { - "localizations" : { - "en" : { - "stringUnit" : { - "state" : "translated", - "value" : "Error" - } - }, - "zh-Hans" : { - "stringUnit" : { - "state" : "translated", - "value" : "Error" - } - } - } - }, - "Error.appriciate" : { - "localizations" : { - "en" : { - "stringUnit" : { - "state" : "translated", - "value" : "Thank You for Your Cooperation" - } - }, - "zh-Hans" : { - "stringUnit" : { - "state" : "translated", - "value" : "感谢您的配合" - } - } - } - }, - "Error.area.%@" : { - "localizations" : { - "en" : { - "stringUnit" : { - "state" : "translated", - "value" : "Area: %@" - } - }, - "zh-Hans" : { - "stringUnit" : { - "state" : "translated", - "value" : "范围:%@" - } - } - } - }, - "Error.before-ranning-into-problem" : { - "localizations" : { - "en" : { - "stringUnit" : { - "state" : "translated", - "value" : "Before Running into the Problem..." - } - }, - "zh-Hans" : { - "stringUnit" : { - "state" : "translated", - "value" : "发生错误前…" - } - } - } - }, - "Error.details" : { - "localizations" : { - "en" : { - "stringUnit" : { - "state" : "translated", - "value" : "Details are as Follow" - } - }, - "zh-Hans" : { - "stringUnit" : { - "state" : "translated", - "value" : "详细信息如下" - } - } - } - }, - "Error.details.%@" : { - "localizations" : { - "en" : { - "stringUnit" : { - "state" : "translated", - "value" : "Details: %@" - } - }, - "zh-Hans" : { - "stringUnit" : { - "state" : "translated", - "value" : "详情:%@" - } - } - } - }, - "Error.do-not-send" : { - "localizations" : { - "en" : { - "stringUnit" : { - "state" : "translated", - "value" : "Don't send" - } - }, - "zh-Hans" : { - "stringUnit" : { - "state" : "translated", - "value" : "不发送" - } - } - } - }, - "Error.exit" : { - "localizations" : { - "en" : { - "stringUnit" : { - "state" : "translated", - "value" : "Exit" - } - }, - "zh-Hans" : { - "stringUnit" : { - "state" : "translated", - "value" : "退出" - } - } - } - }, - "Error.exiting" : { - "localizations" : { - "en" : { - "stringUnit" : { - "state" : "translated", - "value" : "Exiting..." - } - }, - "zh-Hans" : { - "stringUnit" : { - "state" : "translated", - "value" : "正在退出…" - } - } - } - }, - "Error.fatal" : { - "localizations" : { - "en" : { - "stringUnit" : { - "state" : "translated", - "value" : "A fatal error occurred and Meowbili is crashed." - } - }, - "zh-Hans" : { - "stringUnit" : { - "state" : "translated", - "value" : "致命问题导致App崩溃。" - } - } - } - }, - "Error.information" : { - "localizations" : { - "en" : { - "stringUnit" : { - "state" : "translated", - "value" : "Details are as Follow" - } - }, - "zh-Hans" : { - "stringUnit" : { - "state" : "translated", - "value" : "详细信息如下" - } - } - } - }, - "Error.leave" : { - "localizations" : { - "en" : { - "stringUnit" : { - "state" : "translated", - "value" : "Leave" - } - }, - "zh-Hans" : { - "stringUnit" : { - "state" : "translated", - "value" : "离开" - } - } - } - }, - "Error.network-troubleshoot" : { - "localizations" : { - "en" : { - "stringUnit" : { - "state" : "translated", - "value" : "We recommend running Network Troubleshooter" - } - }, - "zh-Hans" : { - "stringUnit" : { - "state" : "translated", - "value" : "建议运行网络疑难解答" - } - } - } - }, - "Error.no-need-to-send" : { - "localizations" : { - "en" : { - "stringUnit" : { - "state" : "translated", - "value" : "This Error doesn't need to send" - } - }, - "zh-Hans" : { - "stringUnit" : { - "state" : "translated", - "value" : "此问题无需发送" - } - } - } - }, - "Error.number.%@" : { - "localizations" : { - "en" : { - "stringUnit" : { - "state" : "translated", - "value" : "Error #%@, can be followed with this number" - } - }, - "zh-Hans" : { - "stringUnit" : { - "state" : "translated", - "value" : "问题#%@,可据此追踪问题" - } - } - } - }, - "Error.oops" : { - "localizations" : { - "en" : { - "stringUnit" : { - "state" : "translated", - "value" : "Oops!" - } - }, - "zh-Hans" : { - "stringUnit" : { - "state" : "translated", - "value" : "呜啊!" - } - } - } - }, - "Error.place.%@" : { - "localizations" : { - "en" : { - "stringUnit" : { - "state" : "translated", - "value" : "Place: %@" - } - }, - "zh-Hans" : { - "stringUnit" : { - "state" : "translated", - "value" : "位置:%@" - } - } - } - }, - "Error.ran-into-a-problem" : { - "localizations" : { - "en" : { - "stringUnit" : { - "state" : "translated", - "value" : "MeowBili Occurred a Problem" - } - }, - "zh-Hans" : { - "stringUnit" : { - "state" : "translated", - "value" : "喵哩喵哩似乎出现了问题" - } - } - } - }, - "Error.send" : { - "localizations" : { - "en" : { - "stringUnit" : { - "state" : "translated", - "value" : "Send" - } - }, - "zh-Hans" : { - "stringUnit" : { - "state" : "translated", - "value" : "发送" - } - } - } - }, - "Error.send-to-Darock-advice" : { - "localizations" : { - "en" : { - "stringUnit" : { - "state" : "translated", - "value" : "Sending error informations to Darock can help us fix the issue and provide better user experience" - } - }, - "zh-Hans" : { - "stringUnit" : { - "state" : "translated", - "value" : "将错误信息发送给Darock有助于我们修复问题并提供更好的体验" - } - } - } - }, - "Error.sending" : { - "localizations" : { - "en" : { - "stringUnit" : { - "state" : "translated", - "value" : "Sending" - } - }, - "zh-Hans" : { - "stringUnit" : { - "state" : "translated", - "value" : "正在发送…" - } - } - } - }, - "Error.sent" : { - "localizations" : { - "en" : { - "stringUnit" : { - "state" : "translated", - "value" : "Sent" - } - }, - "zh-Hans" : { - "stringUnit" : { - "state" : "translated", - "value" : "已发送" - } - } - } - }, - "Error.sorry.%@" : { - "localizations" : { - "en" : { - "stringUnit" : { - "state" : "translated", - "value" : "App crashed at %@." - } - }, - "zh-Hans" : { - "stringUnit" : { - "state" : "translated", - "value" : "App于%@出现问题。" - } - } - } - }, - "Feedback.continue-on-other-device" : { - "localizations" : { - "en" : { - "stringUnit" : { - "state" : "translated", - "value" : "Continue on iPhone" - } - }, - "zh-Hans" : { - "stringUnit" : { - "state" : "translated", - "value" : "在iPhone上继续" - } - } - } - }, - "Feedback.nothing" : { - "localizations" : { - "en" : { - "stringUnit" : { - "state" : "translated", - "value" : "No Feedback" - } - }, - "zh-Hans" : { - "stringUnit" : { - "state" : "translated", - "value" : "没有反馈" - } - } - } - }, - "fp" : { - "localizations" : { - "en" : { - "stringUnit" : { - "state" : "translated", - "value" : "fp" - } - }, - "zh-Hans" : { - "stringUnit" : { - "state" : "translated", - "value" : "fp" - } - } - } - }, - "Gen" : { - "localizations" : { - "en" : { - "stringUnit" : { - "state" : "translated", - "value" : "Gen" - } - }, - "zh-Hans" : { - "stringUnit" : { - "state" : "translated", - "value" : "Gen" - } - } - } - }, - "Gesture.double-tap" : { - "localizations" : { - "en" : { - "stringUnit" : { - "state" : "translated", - "value" : "Double-tap to Play/Pause Video" - } - }, - "zh-Hans" : { - "stringUnit" : { - "state" : "translated", - "value" : "轻点两下以播放/暂停视频" - } - } - } - }, - "Gesture.double-tap.description" : { - "localizations" : { - "en" : { - "stringUnit" : { - "state" : "translated", - "value" : "Use Double-tap (Apple Watch Series 9 or newer) or Quick Actions (other watches) in video player to play/pause video" - } - }, - "zh-Hans" : { - "stringUnit" : { - "state" : "translated", - "value" : "在视频播放器中使用互点两下手势(Apple Watch Series 9 及以上)或快速操作(其他机型)播放/暂停视频" - } - } - } - }, - "Get new & active" : { - "localizations" : { - "en" : { - "stringUnit" : { - "state" : "translated", - "value" : "Get new & active" - } - }, - "zh-Hans" : { - "stringUnit" : { - "state" : "translated", - "value" : "Get new & active" - } - } - } - }, - "Hello, World!" : { - "localizations" : { - "en" : { - "stringUnit" : { - "state" : "translated", - "value" : "Hello, world!" - } - }, - "zh-Hans" : { - "stringUnit" : { - "state" : "translated", - "value" : "Hello, World!" - } - } - } - }, - "Home" : { - "localizations" : { - "en" : { - "stringUnit" : { - "state" : "translated", - "value" : "Home" - } - }, - "zh-Hans" : { - "stringUnit" : { - "state" : "translated", - "value" : "推荐" - } - } - } - }, - "Home.debug" : { - "localizations" : { - "en" : { - "stringUnit" : { - "state" : "translated", - "value" : "Debug" - } - }, - "zh-Hans" : { - "stringUnit" : { - "state" : "translated", - "value" : "Debug" - } - } - } - }, - "Home.more" : { - "localizations" : { - "en" : { - "stringUnit" : { - "state" : "translated", - "value" : "Load More" - } - }, - "zh-Hans" : { - "stringUnit" : { - "state" : "translated", - "value" : "加载更多" - } - } - } - }, - "Home.more.error" : { - "localizations" : { - "en" : { - "stringUnit" : { - "state" : "translated", - "value" : "Tap to Retry" - } - }, - "zh-Hans" : { - "stringUnit" : { - "state" : "translated", - "value" : "轻点以重试" - } - } - } - }, - "Home.no-internet" : { - "localizations" : { - "en" : { - "stringUnit" : { - "state" : "translated", - "value" : "Cannot connect to Internet" - } - }, - "zh-Hans" : { - "stringUnit" : { - "state" : "translated", - "value" : "未能连接到互联网" - } - } - } - }, - "Home.search" : { - "localizations" : { - "en" : { - "stringUnit" : { - "state" : "translated", - "value" : "Search..." - } - }, - "zh-Hans" : { - "stringUnit" : { - "state" : "translated", - "value" : "搜索…" - } - } - } - }, - "Home.understand" : { - "localizations" : { - "en" : { - "stringUnit" : { - "state" : "translated", - "value" : "I Understand" - } - }, - "zh-Hans" : { - "stringUnit" : { - "state" : "translated", - "value" : "我理解" - } - } - } - }, - "Home.update.%@.%@" : { - "localizations" : { - "en" : { - "stringUnit" : { - "state" : "translated", - "value" : "v%1$@ build %2$@ had released" - } - }, - "zh-Hans" : { - "stringUnit" : { - "state" : "translated", - "value" : "v%1$@ Build %2$@已推出" - } - } - } - }, - "Home.update.skip" : { - "localizations" : { - "en" : { - "stringUnit" : { - "state" : "translated", - "value" : "Tap Again to Skip This Update" - } - }, - "zh-Hans" : { - "stringUnit" : { - "state" : "translated", - "value" : "再次轻点以跳过本次更新" - } - } - } - }, - "Lightning-Lion" : { - "localizations" : { - "en" : { - "stringUnit" : { - "state" : "translated", - "value" : "Lightning-Lion" - } - }, - "zh-Hans" : { - "stringUnit" : { - "state" : "translated", - "value" : "Lightning-Lion" - } - } - } - }, - "Linecom" : { - "localizations" : { - "en" : { - "stringUnit" : { - "state" : "translated", - "value" : "Linecom" - } - }, - "zh-Hans" : { - "stringUnit" : { - "state" : "translated", - "value" : "澪空" - } - } - } - }, - "Login.scan" : { - "localizations" : { - "en" : { - "stringUnit" : { - "state" : "translated", - "value" : "Scan to continue" - } - }, - "zh-Hans" : { - "stringUnit" : { - "state" : "translated", - "value" : "扫描以继续" - } - } - } - }, - "Login.scanned" : { - "localizations" : { - "en" : { - "stringUnit" : { - "state" : "translated", - "value" : "Scanned" - } - }, - "zh-Hans" : { - "stringUnit" : { - "state" : "translated", - "value" : "已扫描" - } - } - } - }, - "LongUIDUserTest" : { - "localizations" : { - "en" : { - "stringUnit" : { - "state" : "translated", - "value" : "LongUIDUserTest" - } - }, - "zh-Hans" : { - "stringUnit" : { - "state" : "translated", - "value" : "LongUIDUserTest" - } - } - } - }, - "Lv%lld" : { - "localizations" : { - "en" : { - "stringUnit" : { - "state" : "translated", - "value" : "Lv%lld" - } - }, - "zh-Hans" : { - "stringUnit" : { - "state" : "translated", - "value" : "Lv%lld" - } - } - } - }, - "Memory Usage: %f MB" : { - "localizations" : { - "en" : { - "stringUnit" : { - "state" : "translated", - "value" : "Memory Usage: %fMB" - } - }, - "zh-Hans" : { - "stringUnit" : { - "state" : "translated", - "value" : "内存占用: %fMB" - } - } - } - }, - "Memory.caution" : { - "localizations" : { - "en" : { - "stringUnit" : { - "state" : "translated", - "value" : "Caution" - } - }, - "zh-Hans" : { - "stringUnit" : { - "state" : "translated", - "value" : "注意" - } - } - } - }, - "Memory.display-usage" : { - "localizations" : { - "en" : { - "stringUnit" : { - "state" : "translated", - "value" : "Display Memory Usage Temporarily" - } - }, - "zh-Hans" : { - "stringUnit" : { - "state" : "translated", - "value" : "临时限时内存用量" - } - } - } - }, - "Memory.indicator.%@" : { - "localizations" : { - "en" : { - "stringUnit" : { - "state" : "translated", - "value" : "Memory %@MB/300MB" - } - }, - "zh-Hans" : { - "stringUnit" : { - "state" : "translated", - "value" : "内存 %@MB/300MB" - } - } - } - }, - "Memory.limit" : { - "localizations" : { - "en" : { - "stringUnit" : { - "state" : "translated", - "value" : "App will be killed by system after using 300MB" - } - }, - "zh-Hans" : { - "stringUnit" : { - "state" : "translated", - "value" : "超过 300 MB 后将会系统被终止" - } - } - } - }, - "Memory.too-much-occupied" : { - "localizations" : { - "en" : { - "stringUnit" : { - "state" : "translated", - "value" : "Memory has been used over 240MB" - } - }, - "zh-Hans" : { - "stringUnit" : { - "state" : "translated", - "value" : "内存占用已大于240MB" - } - } - } - }, - "Memory.understand" : { - "localizations" : { - "en" : { - "stringUnit" : { - "state" : "translated", - "value" : "I Understand" - } - }, - "zh-Hans" : { - "stringUnit" : { - "state" : "translated", - "value" : "我了解" - } - } - } - }, - "Moments" : { - "localizations" : { - "en" : { - "stringUnit" : { - "state" : "translated", - "value" : "Moments" - } - }, - "zh-Hans" : { - "stringUnit" : { - "state" : "translated", - "value" : "动态" - } - } - } - }, - "Moments.live" : { - "localizations" : { - "en" : { - "stringUnit" : { - "state" : "translated", - "value" : "started broadcasting" - } - }, - "zh-Hans" : { - "stringUnit" : { - "state" : "translated", - "value" : "直播了" - } - } - } - }, - "Moments.requires-login" : { - "localizations" : { - "en" : { - "stringUnit" : { - "state" : "translated", - "value" : "Login Required" - } - }, - "zh-Hans" : { - "stringUnit" : { - "state" : "translated", - "value" : "需要登录" - } - } - } - }, - "Moments.upload-video" : { - "localizations" : { - "en" : { - "stringUnit" : { - "state" : "translated", - "value" : " · Uploaded Video" - } - }, - "zh-Hans" : { - "stringUnit" : { - "state" : "translated", - "value" : " · 投稿了视频" - } - } - } - }, - "name" : { - "localizations" : { - "en" : { - "stringUnit" : { - "state" : "translated", - "value" : "name" - } - }, - "zh-Hans" : { - "stringUnit" : { - "state" : "translated", - "value" : "name" - } - } - } - }, - "Player.analyzying-source" : { - "localizations" : { - "en" : { - "stringUnit" : { - "state" : "translated", - "value" : "Analysis Source" - } - }, - "zh-Hans" : { - "stringUnit" : { - "state" : "translated", - "value" : "解析源" - } - } - } - }, - "Player.analyzying-source.description" : { - "localizations" : { - "en" : { - "stringUnit" : { - "state" : "translated", - "value" : "Switch analysis source when analysis failed" - } - }, - "zh-Hans" : { - "stringUnit" : { - "state" : "translated", - "value" : "解析失败时考虑切换解析源" - } - } - } - }, - "Player.analyzying-source.offical" : { - "localizations" : { - "en" : { - "stringUnit" : { - "state" : "translated", - "value" : "Offical" - } - }, - "zh-Hans" : { - "stringUnit" : { - "state" : "translated", - "value" : "官方" - } - } - } - }, - "Player.analyzying-source.third-party" : { - "localizations" : { - "en" : { - "stringUnit" : { - "state" : "translated", - "value" : "Third-party" - } - }, - "zh-Hans" : { - "stringUnit" : { - "state" : "translated", - "value" : "第三方" - } - } - } - }, - "Player.pause" : { - "localizations" : { - "en" : { - "stringUnit" : { - "state" : "translated", - "value" : "Pause" - } - }, - "zh-Hans" : { - "stringUnit" : { - "state" : "translated", - "value" : "暂停" - } - } - } - }, - "Player.record-history" : { - "localizations" : { - "en" : { - "stringUnit" : { - "state" : "translated", - "value" : "Record History" - } - }, - "zh-Hans" : { - "stringUnit" : { - "state" : "translated", - "value" : "记录历史" - } - } - } - }, - "Player.record-history.never" : { - "localizations" : { - "en" : { - "stringUnit" : { - "state" : "translated", - "value" : "Never" - } - }, - "zh-Hans" : { - "stringUnit" : { - "state" : "translated", - "value" : "永不" - } - } - } - }, - "Player.record-history.when-entering-page" : { - "localizations" : { - "en" : { - "stringUnit" : { - "state" : "translated", - "value" : "When Entering Detail Page" - } - }, - "zh-Hans" : { - "stringUnit" : { - "state" : "translated", - "value" : "当进入详情页时" - } - } - } - }, - "Player.record-history.when-video-plays" : { - "localizations" : { - "en" : { - "stringUnit" : { - "state" : "translated", - "value" : "When Video Plays" - } - }, - "zh-Hans" : { - "stringUnit" : { - "state" : "translated", - "value" : "当视频开始播放时" - } - } - } - }, - "Player.third-party" : { - "localizations" : { - "en" : { - "stringUnit" : { - "state" : "translated", - "value" : "Third-party Player" - } - }, - "zh-Hans" : { - "stringUnit" : { - "state" : "translated", - "value" : "自定义播放器" - } - } - } - }, - "Player.third-party.description" : { - "localizations" : { - "en" : { - "stringUnit" : { - "state" : "translated", - "value" : "Third-party Player offers more features, but it may shorten battery life" - } - }, - "zh-Hans" : { - "stringUnit" : { - "state" : "translated", - "value" : "自定义播放器拥有更多功能,但续航可能会有所缩短" - } - } - } - }, - "Screen-time.daily-average" : { - "localizations" : { - "en" : { - "stringUnit" : { - "state" : "translated", - "value" : "Daily Average" - } - }, - "zh-Hans" : { - "stringUnit" : { - "state" : "translated", - "value" : "日均" - } - } - } - }, - "Screen-time.minutes.%lld" : { - "localizations" : { - "en" : { - "variations" : { - "plural" : { - "one" : { - "stringUnit" : { - "state" : "translated", - "value" : "%lld minute" - } - }, - "other" : { - "stringUnit" : { - "state" : "translated", - "value" : "%lld minutes" - } - } - } - } - }, - "zh-Hans" : { - "stringUnit" : { - "state" : "translated", - "value" : "%lld分钟" - } - } - } - }, - "Search.%@" : { - "localizations" : { - "en" : { - "stringUnit" : { - "state" : "translated", - "value" : "%@ Search..." - } - }, - "zh-Hans" : { - "stringUnit" : { - "state" : "translated", - "value" : "%@ 搜索…" - } - } - } - }, - "Search.debug" : { - "localizations" : { - "en" : { - "stringUnit" : { - "state" : "translated", - "value" : "Debug Search" - } - }, - "zh-Hans" : { - "stringUnit" : { - "state" : "translated", - "value" : "Debug搜索" - } - } - } - }, - "Search.history" : { - "localizations" : { - "en" : { - "stringUnit" : { - "state" : "translated", - "value" : "Histories" - } - }, - "zh-Hans" : { - "stringUnit" : { - "state" : "translated", - "value" : "历史搜索" - } - } - } - }, - "Search.no-result" : { - "localizations" : { - "en" : { - "stringUnit" : { - "state" : "translated", - "value" : "No Results" - } - }, - "zh-Hans" : { - "stringUnit" : { - "state" : "translated", - "value" : "没有匹配的结果" - } - } - } - }, - "Search.type" : { - "localizations" : { - "en" : { - "stringUnit" : { - "state" : "translated", - "value" : "Search Type" - } - }, - "zh-Hans" : { - "stringUnit" : { - "state" : "translated", - "value" : "搜索类型" - } - } - } - }, - "Search.type.article" : { - "localizations" : { - "en" : { - "stringUnit" : { - "state" : "translated", - "value" : "Articles" - } - }, - "zh-Hans" : { - "stringUnit" : { - "state" : "translated", - "value" : "文章" - } - } - } - }, - "Search.type.bangumi" : { - "localizations" : { - "en" : { - "stringUnit" : { - "state" : "translated", - "value" : "Bangumi" - } - }, - "zh-Hans" : { - "stringUnit" : { - "state" : "translated", - "value" : "番剧" - } - } - } - }, - "Search.type.live" : { - "localizations" : { - "en" : { - "stringUnit" : { - "state" : "translated", - "value" : "Lives" - } - }, - "zh-Hans" : { - "stringUnit" : { - "state" : "translated", - "value" : "直播" - } - } - } - }, - "Search.type.user" : { - "localizations" : { - "en" : { - "stringUnit" : { - "state" : "translated", - "value" : "Users" - } - }, - "zh-Hans" : { - "stringUnit" : { - "state" : "translated", - "value" : "用户" - } - } - } - }, - "Search.type.video" : { - "localizations" : { - "en" : { - "stringUnit" : { - "state" : "translated", - "value" : "Videos" - } - }, - "zh-Hans" : { - "stringUnit" : { - "state" : "translated", - "value" : "视频" - } - } - } - }, - "Settings" : { - "localizations" : { - "en" : { - "stringUnit" : { - "state" : "translated", - "value" : "Settings" - } - }, - "zh-Hans" : { - "stringUnit" : { - "state" : "translated", - "value" : "设置" - } - } - } - }, - "Settings.about" : { - "localizations" : { - "en" : { - "stringUnit" : { - "state" : "translated", - "value" : "About" - } - }, - "zh-Hans" : { - "stringUnit" : { - "state" : "translated", - "value" : "关于" - } - } - } - }, - "Settings.battery" : { - "localizations" : { - "en" : { - "stringUnit" : { - "state" : "translated", - "value" : "Battery" - } - }, - "zh-Hans" : { - "stringUnit" : { - "state" : "translated", - "value" : "电池" - } - } - } - }, - "Settings.debug" : { - "localizations" : { - "en" : { - "stringUnit" : { - "state" : "translated", - "value" : "Debug" - } - }, - "zh-Hans" : { - "stringUnit" : { - "state" : "translated", - "value" : "Debug" - } - } - } - }, - "Settings.developer" : { - "localizations" : { - "en" : { - "stringUnit" : { - "state" : "translated", - "value" : "Developer" - } - }, - "zh-Hans" : { - "stringUnit" : { - "state" : "translated", - "value" : "开发者" - } - } - } - }, - "Settings.feedback" : { - "localizations" : { - "en" : { - "stringUnit" : { - "state" : "translated", - "value" : "Feedback" - } - }, - "zh-Hans" : { - "stringUnit" : { - "state" : "translated", - "value" : "反馈" - } - } - } - }, - "Settings.gesture" : { - "localizations" : { - "en" : { - "stringUnit" : { - "state" : "translated", - "value" : "Gesture" - } - }, - "zh-Hans" : { - "stringUnit" : { - "state" : "translated", - "value" : "手势" - } - } - } - }, - "Settings.internet" : { - "localizations" : { - "en" : { - "stringUnit" : { - "state" : "translated", - "value" : "Internet" - } - }, - "zh-Hans" : { - "stringUnit" : { - "state" : "translated", - "value" : "互联网" - } - } - } - }, - "Settings.log-out" : { - "localizations" : { - "en" : { - "stringUnit" : { - "state" : "translated", - "value" : "Sign Out" - } - }, - "zh-Hans" : { - "stringUnit" : { - "state" : "translated", - "value" : "退出登录" - } - } - } - }, - "Settings.log-out.cancel" : { - "localizations" : { - "en" : { - "stringUnit" : { - "state" : "translated", - "value" : "Cancel" - } - }, - "zh-Hans" : { - "stringUnit" : { - "state" : "translated", - "value" : "取消" - } - } - } - }, - "Settings.log-out.confirm" : { - "localizations" : { - "en" : { - "stringUnit" : { - "state" : "translated", - "value" : "Confirm" - } - }, - "zh-Hans" : { - "stringUnit" : { - "state" : "translated", - "value" : "确认" - } - } - } - }, - "Settings.log-out.message" : { - "localizations" : { - "en" : { - "stringUnit" : { - "state" : "translated", - "value" : "Are you sure to sign out?" - } - }, - "zh-Hans" : { - "stringUnit" : { - "state" : "translated", - "value" : "确认退出登录?" - } - } - } - }, - "Settings.player" : { - "localizations" : { - "en" : { - "stringUnit" : { - "state" : "translated", - "value" : "Player" - } - }, - "zh-Hans" : { - "stringUnit" : { - "state" : "translated", - "value" : "播放器" - } - } - } - }, - "Settings.screen-time" : { - "localizations" : { - "en" : { - "stringUnit" : { - "state" : "translated", - "value" : "Screen Time" - } - }, - "zh-Hans" : { - "stringUnit" : { - "state" : "translated", - "value" : "屏幕使用时间" - } - } - } - }, - "Settings.update" : { - "localizations" : { - "en" : { - "stringUnit" : { - "state" : "translated", - "value" : "Software Update" - } - }, - "zh-Hans" : { - "stringUnit" : { - "state" : "translated", - "value" : "软件更新" - } - } - } - }, - "Show Debug Controls" : { - "localizations" : { - "en" : { - "stringUnit" : { - "state" : "translated", - "value" : "Show Debug Controls" - } - }, - "zh-Hans" : { - "stringUnit" : { - "state" : "translated", - "value" : "Show Debug Controls" - } - } - } - }, - "Skin" : { - "localizations" : { - "en" : { - "stringUnit" : { - "state" : "translated", - "value" : "Skins" - } - }, - "zh-Hans" : { - "stringUnit" : { - "state" : "translated", - "value" : "装扮" - } - } - } - }, - "Skin.add" : { - "localizations" : { - "en" : { - "stringUnit" : { - "state" : "translated", - "value" : "Add a skin" - } - }, - "zh-Hans" : { - "stringUnit" : { - "state" : "translated", - "value" : "添加装扮" - } - } - } - }, - "Skin.downloading" : { - "localizations" : { - "en" : { - "stringUnit" : { - "state" : "translated", - "value" : "Downloading..." - } - }, - "zh-Hans" : { - "stringUnit" : { - "state" : "translated", - "value" : "下载中…" - } - } - } - }, - "Skin.none" : { - "localizations" : { - "en" : { - "stringUnit" : { - "state" : "translated", - "value" : "Don't use any skin" - } - }, - "zh-Hans" : { - "stringUnit" : { - "state" : "translated", - "value" : "不使用装扮" - } - } - } - }, - "Skin.nothing" : { - "localizations" : { - "en" : { - "stringUnit" : { - "state" : "translated", - "value" : "There is currently no skin here" - } - }, - "zh-Hans" : { - "stringUnit" : { - "state" : "translated", - "value" : "这里还没有装扮" - } - } - } - }, - "Skin.unzipping" : { - "localizations" : { - "en" : { - "stringUnit" : { - "state" : "translated", - "value" : "Uncompressing..." - } - }, - "zh-Hans" : { - "stringUnit" : { - "state" : "translated", - "value" : "解压中…" - } - } - } - }, - "ThreeManager785" : { - "localizations" : { - "en" : { - "stringUnit" : { - "state" : "translated", - "value" : "ThreeManager785" - } - }, - "zh-Hans" : { - "stringUnit" : { - "state" : "translated", - "value" : "ThreeManager785" - } - } - } - }, - "time" : { - "localizations" : { - "en" : { - "stringUnit" : { - "state" : "translated", - "value" : "time" - } - }, - "zh-Hans" : { - "stringUnit" : { - "state" : "translated", - "value" : "time" - } - } - } - }, - "Troubleshoot" : { - "localizations" : { - "en" : { - "stringUnit" : { - "state" : "translated", - "value" : "Troubleshoot" - } - }, - "zh-Hans" : { - "stringUnit" : { - "state" : "translated", - "value" : "疑难解答" - } - } - } - }, - "Troubleshoot.auto-pop-up" : { - "localizations" : { - "en" : { - "stringUnit" : { - "state" : "translated", - "value" : "Auto Display" - } - }, - "zh-Hans" : { - "stringUnit" : { - "state" : "translated", - "value" : "自动显示疑难解答" - } - } - } - }, - "Troubleshoot.bilibili-api" : { - "localizations" : { - "en" : { - "stringUnit" : { - "state" : "translated", - "value" : "Bilibili API" - } - }, - "zh-Hans" : { - "stringUnit" : { - "state" : "translated", - "value" : "Bilibili API" - } - } - } - }, - "Troubleshoot.bilibili-api.available" : { - "localizations" : { - "en" : { - "stringUnit" : { - "state" : "translated", - "value" : "Bilibili API: Available" - } - }, - "zh-Hans" : { - "stringUnit" : { - "state" : "translated", - "value" : "Bilibili API:可用" - } - } - } - }, - "Troubleshoot.bilibili-api.checking" : { - "localizations" : { - "en" : { - "stringUnit" : { - "state" : "translated", - "value" : "Bilibili API: Checking" - } - }, - "zh-Hans" : { - "stringUnit" : { - "state" : "translated", - "value" : "Bilibili API:正在检查" - } - } - } - }, - "Troubleshoot.bilibili-api.unavailable" : { - "localizations" : { - "en" : { - "stringUnit" : { - "state" : "translated", - "value" : "Bilibili API: Unavailable" - } - }, - "zh-Hans" : { - "stringUnit" : { - "state" : "translated", - "value" : "Bilibili APi:不可用" - } - } - } - }, - "Troubleshoot.connection-states" : { - "localizations" : { - "en" : { - "stringUnit" : { - "state" : "translated", - "value" : "Connection State" - } - }, - "zh-Hans" : { - "stringUnit" : { - "state" : "translated", - "value" : "连接状态" - } - } - } - }, - "Troubleshoot.darock-api" : { - "localizations" : { - "en" : { - "stringUnit" : { - "state" : "translated", - "value" : "Darock API" - } - }, - "zh-Hans" : { - "stringUnit" : { - "state" : "translated", - "value" : "Darock API" - } - } - } - }, - "Troubleshoot.darock-api.available" : { - "localizations" : { - "en" : { - "stringUnit" : { - "state" : "translated", - "value" : "Darock API: Available" - } - }, - "zh-Hans" : { - "stringUnit" : { - "state" : "translated", - "value" : "Darock API:可用" - } - } - } - }, - "Troubleshoot.darock-api.checking" : { - "localizations" : { - "en" : { - "stringUnit" : { - "state" : "translated", - "value" : "Darock API: Checking" - } - }, - "zh-Hans" : { - "stringUnit" : { - "state" : "translated", - "value" : "Darock API:正在检查" - } - } - } - }, - "Troubleshoot.darock-api.invalid-return" : { - "localizations" : { - "en" : { - "stringUnit" : { - "state" : "translated", - "value" : "Darock API: Invalid Response" - } - }, - "zh-Hans" : { - "stringUnit" : { - "state" : "translated", - "value" : "Darock API:无效返回" - } - } - } - }, - "Troubleshoot.darock-api.unavailable" : { - "localizations" : { - "en" : { - "stringUnit" : { - "state" : "translated", - "value" : "Darock API: Unavailable" - } - }, - "zh-Hans" : { - "stringUnit" : { - "state" : "translated", - "value" : "Darock API:不可用" - } - } - } - }, - "Troubleshoot.feedback" : { - "localizations" : { - "en" : { - "stringUnit" : { - "state" : "translated", - "value" : "Report a Problem..." - } - }, - "zh-Hans" : { - "stringUnit" : { - "state" : "translated", - "value" : "反馈问题" - } - } - } - }, - "Troubleshoot.fine" : { - "localizations" : { - "en" : { - "stringUnit" : { - "state" : "translated", - "value" : "Everything's Fine" - } - }, - "zh-Hans" : { - "stringUnit" : { - "state" : "translated", - "value" : "一切良好" - } - } - } - }, - "Troubleshoot.fine.weird" : { - "localizations" : { - "en" : { - "stringUnit" : { - "state" : "translated", - "value" : "Something's still wrong?" - } - }, - "zh-Hans" : { - "stringUnit" : { - "state" : "translated", - "value" : "仍有问题?" - } - } - } - }, - "Troubleshoot.internet" : { - "localizations" : { - "en" : { - "stringUnit" : { - "state" : "translated", - "value" : "Internet" - } - }, - "zh-Hans" : { - "stringUnit" : { - "state" : "translated", - "value" : "互联网" - } - } - } - }, - "Troubleshoot.internet.checking" : { - "localizations" : { - "en" : { - "stringUnit" : { - "state" : "translated", - "value" : "Internet: Checking" - } - }, - "zh-Hans" : { - "stringUnit" : { - "state" : "translated", - "value" : "互联网:正在检查" - } - } - } - }, - "Troubleshoot.internet.offline" : { - "localizations" : { - "en" : { - "stringUnit" : { - "state" : "translated", - "value" : "Internet: Offline" - } - }, - "zh-Hans" : { - "stringUnit" : { - "state" : "translated", - "value" : "互联网:离线" - } - } - } - }, - "Troubleshoot.internet.online" : { - "localizations" : { - "en" : { - "stringUnit" : { - "state" : "translated", - "value" : "Internet: Online" - } - }, - "zh-Hans" : { - "stringUnit" : { - "state" : "translated", - "value" : "互联网:在线" - } - } - } - }, - "Troubleshoot.problem.bilibili-api" : { - "localizations" : { - "en" : { - "stringUnit" : { - "state" : "translated", - "value" : "Bilibili API Problems" - } - }, - "zh-Hans" : { - "stringUnit" : { - "state" : "translated", - "value" : "Bilibili API 问题" - } - } - } - }, - "Troubleshoot.problem.bilibili-api.meaning" : { - "localizations" : { - "en" : { - "stringUnit" : { - "state" : "translated", - "value" : "Cannot connect to Bilibili server. The bilibili remote server maybe down." - } - }, - "zh-Hans" : { - "stringUnit" : { - "state" : "translated", - "value" : "无法连接至哔哩哔哩服务器,可能是哔哩哔哩服务器崩溃。" - } - } - } - }, - "Troubleshoot.problem.bilibili-api.solution" : { - "localizations" : { - "en" : { - "stringUnit" : { - "state" : "translated", - "value" : "Check your internet connection and try again later." - } - }, - "zh-Hans" : { - "stringUnit" : { - "state" : "translated", - "value" : "检查网络并稍后再试" - } - } - } - }, - "Troubleshoot.problem.darock-api" : { - "localizations" : { - "en" : { - "stringUnit" : { - "state" : "translated", - "value" : "Darock API Problems" - } - }, - "zh-Hans" : { - "stringUnit" : { - "state" : "translated", - "value" : "Darock API 问题" - } - } - } - }, - "Troubleshoot.problem.darock-api.meaning" : { - "localizations" : { - "en" : { - "stringUnit" : { - "state" : "translated", - "value" : "Darock API server ran into a problem" - } - }, - "zh-Hans" : { - "stringUnit" : { - "state" : "translated", - "value" : "Darock API 服务器目前出现了问题" - } - } - } - }, - "Troubleshoot.problem.darock-api.solution" : { - "localizations" : { - "en" : { - "stringUnit" : { - "state" : "translated", - "value" : "Report to Darock and wait" - } - }, - "zh-Hans" : { - "stringUnit" : { - "state" : "translated", - "value" : "向Darock反馈并等待修复" - } - } - } - }, - "Troubleshoot.problem.internet" : { - "localizations" : { - "en" : { - "stringUnit" : { - "state" : "translated", - "value" : "Internet Problems" - } - }, - "zh-Hans" : { - "stringUnit" : { - "state" : "translated", - "value" : "网络问题" - } - } - } - }, - "Troubleshoot.problem.internet.meaning" : { - "localizations" : { - "en" : { - "stringUnit" : { - "state" : "translated", - "value" : "Apple Watch is currently cannot connect to Internet" - } - }, - "zh-Hans" : { - "stringUnit" : { - "state" : "translated", - "value" : "Apple Watch 目前无法连接到互联网" - } - } - } - }, - "Troubleshoot.problem.internet.plan-b" : { - "localizations" : { - "en" : { - "stringUnit" : { - "state" : "translated", - "value" : "Try turn off iPhone's WLAN and Bluetooth" - } - }, - "zh-Hans" : { - "stringUnit" : { - "state" : "translated", - "value" : "尝试在iPhone设置中关闭Wifi与蓝牙" - } - } - } - }, - "Troubleshoot.problem.internet.solution1" : { - "localizations" : { - "en" : { - "stringUnit" : { - "state" : "translated", - "value" : "Ensure your Apple Watch is connected to Internet" - } - }, - "zh-Hans" : { - "stringUnit" : { - "state" : "translated", - "value" : " 确认Apple Watch 已连接到互联网" - } - } - } - }, - "Troubleshoot.problem.internet.solution2" : { - "localizations" : { - "en" : { - "stringUnit" : { - "state" : "translated", - "value" : "Ensure you're granted Internet access to Meowbili" - } - }, - "zh-Hans" : { - "stringUnit" : { - "state" : "translated", - "value" : "确认已在iPhone上同意网络权限" - } - } - } - }, - "Troubleshoot.problem.meaning" : { - "localizations" : { - "en" : { - "stringUnit" : { - "state" : "translated", - "value" : "What does this means?" - } - }, - "zh-Hans" : { - "stringUnit" : { - "state" : "translated", - "value" : "这代表什么?" - } - } - } - }, - "Troubleshoot.problem.plan-b" : { - "localizations" : { - "en" : { - "stringUnit" : { - "state" : "translated", - "value" : "Still unavailable?" - } - }, - "zh-Hans" : { - "stringUnit" : { - "state" : "translated", - "value" : "还是不行?" - } - } - } - }, - "Troubleshoot.problem.solution" : { - "localizations" : { - "en" : { - "stringUnit" : { - "state" : "translated", - "value" : "What should I do?" - } - }, - "zh-Hans" : { - "stringUnit" : { - "state" : "translated", - "value" : "我应当怎么做?" - } - } - } - }, - "Troubleshoot.problem.tips" : { - "localizations" : { - "en" : { - "stringUnit" : { - "state" : "translated", - "value" : "Tap to Learn More" - } - }, - "zh-Hans" : { - "stringUnit" : { - "state" : "translated", - "value" : "轻点以查看详情" - } - } - } - }, - "Troubleshoot.problems-found" : { - "localizations" : { - "en" : { - "stringUnit" : { - "state" : "translated", - "value" : "Possible Problems: " - } - }, - "zh-Hans" : { - "stringUnit" : { - "state" : "translated", - "value" : "可能的问题:" - } - } - } - }, - "Troubleshoot.problems.bilibili-api.unavailable" : { - "localizations" : { - "en" : { - "stringUnit" : { - "state" : "translated", - "value" : "Bilibili API Unavailable" - } - }, - "zh-Hans" : { - "stringUnit" : { - "state" : "translated", - "value" : "Bilibili API不可用" - } - } - } - }, - "Troubleshoot.problems.darock-api.invalid-return" : { - "localizations" : { - "en" : { - "stringUnit" : { - "state" : "translated", - "value" : "Darock API's Response is Invalid" - } - }, - "zh-Hans" : { - "stringUnit" : { - "state" : "translated", - "value" : "Darock API返回无效" - } - } - } - }, - "Troubleshoot.problems.darock-api.unavailable" : { - "localizations" : { - "en" : { - "stringUnit" : { - "state" : "translated", - "value" : "Darock APi Unavailable" - } - }, - "zh-Hans" : { - "stringUnit" : { - "state" : "translated", - "value" : "Darock API不可用" - } - } - } - }, - "Troubleshoot.problems.internet" : { - "localizations" : { - "en" : { - "stringUnit" : { - "state" : "translated", - "value" : "Cannot Connect to Internet" - } - }, - "zh-Hans" : { - "stringUnit" : { - "state" : "translated", - "value" : "无法连接互联网" - } - } - } - }, - "Troubleshoot.re-troubleshoot" : { - "localizations" : { - "en" : { - "stringUnit" : { - "state" : "translated", - "value" : "Re-troubleshoot" - } - }, - "zh-Hans" : { - "stringUnit" : { - "state" : "translated", - "value" : "重新检查" - } - } - } - }, - "Troubleshoot.troubleshooting" : { - "localizations" : { - "en" : { - "stringUnit" : { - "state" : "translated", - "value" : "Troubleshooting..." - } - }, - "zh-Hans" : { - "stringUnit" : { - "state" : "translated", - "value" : "正在检查…" - } - } - } - }, - "Update.checking" : { - "localizations" : { - "en" : { - "stringUnit" : { - "state" : "translated", - "value" : "Checking for Update..." - } - }, - "zh-Hans" : { - "stringUnit" : { - "state" : "translated", - "value" : "正在检查更新…" - } - } - } - }, - "Update.download-and-install" : { - "localizations" : { - "en" : { - "stringUnit" : { - "state" : "translated", - "value" : "Download & Install" - } - }, - "zh-Hans" : { - "stringUnit" : { - "state" : "translated", - "value" : "下载并安装" - } - } - } - }, - "Update.error" : { - "localizations" : { - "en" : { - "stringUnit" : { - "state" : "translated", - "value" : "An error occurred when checking for update" - } - }, - "zh-Hans" : { - "stringUnit" : { - "state" : "translated", - "value" : "在检查更新时出错" - } - } - } - }, - "Update.install-by-testflight" : { - "localizations" : { - "en" : { - "stringUnit" : { - "state" : "translated", - "value" : "Update via iPhone's Testflight" - } - }, - "zh-Hans" : { - "stringUnit" : { - "state" : "translated", - "value" : "通过iPhone的Testflight更新" - } - } - } - }, - "Update.latest" : { - "localizations" : { - "en" : { - "stringUnit" : { - "state" : "translated", - "value" : "You're using the latest version" - } - }, - "zh-Hans" : { - "stringUnit" : { - "state" : "translated", - "value" : "您已在最新版本" - } - } - } - }, - "User.favorites" : { - "localizations" : { - "en" : { - "stringUnit" : { - "state" : "translated", - "value" : "Favorites" - } - }, - "zh-Hans" : { - "stringUnit" : { - "state" : "translated", - "value" : "我的收藏" - } - } - } - }, - "User.histories" : { - "localizations" : { - "en" : { - "stringUnit" : { - "state" : "translated", - "value" : "Histories" - } - }, - "zh-Hans" : { - "stringUnit" : { - "state" : "translated", - "value" : "历史记录" - } - } - } - }, - "User.offline-cache" : { - "localizations" : { - "en" : { - "stringUnit" : { - "state" : "translated", - "value" : "Downloads" - } - }, - "zh-Hans" : { - "stringUnit" : { - "state" : "translated", - "value" : "离线缓存" - } - } - } - }, - "User.subcribed-accounts" : { - "localizations" : { - "en" : { - "stringUnit" : { - "state" : "translated", - "value" : "Follows" - } - }, - "zh-Hans" : { - "stringUnit" : { - "state" : "translated", - "value" : "关注帐户" - } - } - } - }, - "User.tap-to-login" : { - "localizations" : { - "en" : { - "stringUnit" : { - "state" : "translated", - "value" : "Tap to Login" - } - }, - "zh-Hans" : { - "stringUnit" : { - "state" : "translated", - "value" : "轻点以登录" - } - } - } - }, - "User.watch-later" : { - "localizations" : { - "en" : { - "stringUnit" : { - "state" : "translated", - "value" : "Watch Later" - } - }, - "zh-Hans" : { - "stringUnit" : { - "state" : "translated", - "value" : "稍后再看" - } - } - } - }, - "v%@ Build %@" : { - "localizations" : { - "en" : { - "stringUnit" : { - "state" : "translated", - "value" : "v%1$@ Build %2$@" - } - }, - "zh-Hans" : { - "stringUnit" : { - "state" : "new", - "value" : "v%1$@ Build %2$@" - } - } - } - }, - "Video.action.canceled" : { - "localizations" : { - "en" : { - "stringUnit" : { - "state" : "translated", - "value" : "Cancelled" - } - }, - "zh-Hans" : { - "stringUnit" : { - "state" : "translated", - "value" : "已取消" - } - } - } - }, - "Video.action.liked" : { - "localizations" : { - "en" : { - "stringUnit" : { - "state" : "translated", - "value" : "Liked" - } - }, - "zh-Hans" : { - "stringUnit" : { - "state" : "translated", - "value" : "已点赞" - } - } - } - }, - "Video.add-to-favorites" : { - "localizations" : { - "en" : { - "stringUnit" : { - "state" : "translated", - "value" : "Add to Favorites" - } - }, - "zh-Hans" : { - "stringUnit" : { - "state" : "translated", - "value" : "添加至收藏夹" - } - } - } - }, - "Video.added" : { - "localizations" : { - "en" : { - "stringUnit" : { - "state" : "translated", - "value" : "Added" - } - }, - "zh-Hans" : { - "stringUnit" : { - "state" : "translated", - "value" : "已添加" - } - } - } - }, - "Video.analyzing" : { - "localizations" : { - "en" : { - "stringUnit" : { - "state" : "translated", - "value" : "Analyzing..." - } - }, - "zh-Hans" : { - "stringUnit" : { - "state" : "translated", - "value" : "正在解析…" - } - } - } - }, - "Video.coin.throw" : { - "localizations" : { - "en" : { - "stringUnit" : { - "state" : "translated", - "value" : "Throw Coins" - } - }, - "zh-Hans" : { - "stringUnit" : { - "state" : "translated", - "value" : "投币" - } - } - } - }, - "Video.coin.throw.1" : { - "localizations" : { - "en" : { - "stringUnit" : { - "state" : "translated", - "value" : "1 coin" - } - }, - "zh-Hans" : { - "stringUnit" : { - "state" : "translated", - "value" : "1个币" - } - } - } - }, - "Video.coin.throw.2" : { - "localizations" : { - "en" : { - "stringUnit" : { - "state" : "translated", - "value" : "2 coins" - } - }, - "zh-Hans" : { - "stringUnit" : { - "state" : "translated", - "value" : "2个币" - } - } - } - }, - "Video.details.danmaku.%lld" : { - "localizations" : { - "en" : { - "variations" : { - "plural" : { - "one" : { - "stringUnit" : { - "state" : "translated", - "value" : "%lld danmaku" - } - }, - "other" : { - "stringUnit" : { - "state" : "translated", - "value" : "%lld danmakus" - } - } - } - } - }, - "zh-Hans" : { - "stringUnit" : { - "state" : "translated", - "value" : "%lld条弹幕" - } - } - } - }, - "Video.details.publish-time.%@" : { - "localizations" : { - "en" : { - "stringUnit" : { - "state" : "translated", - "value" : "%@" - } - }, - "zh-Hans" : { - "stringUnit" : { - "state" : "translated", - "value" : "发布于%@" - } - } - } - }, - "Video.details.watches.%lld" : { - "localizations" : { - "en" : { - "variations" : { - "plural" : { - "one" : { - "stringUnit" : { - "state" : "translated", - "value" : "%lld view" - } - }, - "other" : { - "stringUnit" : { - "state" : "translated", - "value" : "%lld views" - } - } - } - } - }, - "zh-Hans" : { - "stringUnit" : { - "state" : "translated", - "value" : "%lld播放" - } - } - } - }, - "Video.details.watching-people.%lld" : { - "localizations" : { - "en" : { - "variations" : { - "plural" : { - "one" : { - "stringUnit" : { - "state" : "translated", - "value" : "%lld person watching" - } - }, - "other" : { - "stringUnit" : { - "state" : "translated", - "value" : "%lld people watching" - } - } - } - } - }, - "zh-Hans" : { - "stringUnit" : { - "state" : "translated", - "value" : "%lld人正在观看" - } - } - } - }, - "Video.download" : { - "localizations" : { - "en" : { - "stringUnit" : { - "state" : "translated", - "value" : "Download" - } - }, - "zh-Hans" : { - "stringUnit" : { - "state" : "translated", - "value" : "下载视频" - } - } - } - }, - "Video.fans.%lld" : { - "localizations" : { - "en" : { - "variations" : { - "plural" : { - "one" : { - "stringUnit" : { - "state" : "translated", - "value" : "%lld follower" - } - }, - "other" : { - "stringUnit" : { - "state" : "translated", - "value" : "%lld followers" - } - } - } - } - }, - "zh-Hans" : { - "stringUnit" : { - "state" : "translated", - "value" : "%lld粉丝" - } - } - } - }, - "Video.more" : { - "localizations" : { - "en" : { - "stringUnit" : { - "state" : "translated", - "value" : "More" - } - }, - "zh-Hans" : { - "stringUnit" : { - "state" : "translated", - "value" : "更多" - } - } - } - }, - "Video.play" : { - "localizations" : { - "en" : { - "stringUnit" : { - "state" : "translated", - "value" : "Play" - } - }, - "zh-Hans" : { - "stringUnit" : { - "state" : "translated", - "value" : "播放" - } - } - } - }, - "Video.play-in-audio" : { - "localizations" : { - "en" : { - "stringUnit" : { - "state" : "translated", - "value" : "Play as Audio" - } - }, - "zh-Hans" : { - "stringUnit" : { - "state" : "translated", - "value" : "播放音频" - } - } - } - }, - "Video.trending" : { - "localizations" : { - "en" : { - "stringUnit" : { - "state" : "translated", - "value" : "Trending" - } - }, - "zh-Hans" : { - "stringUnit" : { - "state" : "translated", - "value" : "热门" - } - } - } - }, - "Video.unkonwn-error" : { - "localizations" : { - "en" : { - "stringUnit" : { - "state" : "translated", - "value" : "Unknown Error" - } - }, - "zh-Hans" : { - "stringUnit" : { - "state" : "translated", - "value" : "未知错误" - } - } - } - }, - "Video.watch-later" : { - "localizations" : { - "en" : { - "stringUnit" : { - "state" : "translated", - "value" : "Watch Later" - } - }, - "zh-Hans" : { - "stringUnit" : { - "state" : "translated", - "value" : "稍后再看" - } - } - } - }, - "WindowsMEMZ" : { - "localizations" : { - "en" : { - "stringUnit" : { - "state" : "translated", - "value" : "WindowsMEMZ" - } - }, - "zh-Hans" : { - "stringUnit" : { - "state" : "translated", - "value" : "WindowsMEMZ" - } - } - } - }, - "于 %@ 开始" : { - "localizations" : { - "en" : { - "stringUnit" : { - "state" : "translated", - "value" : "Started at %@" - } - } - } - }, - "令枫" : { - "localizations" : { - "en" : { - "stringUnit" : { - "state" : "translated", - "value" : "Ling Feng" - } - } - } - }, - "关闭“屏幕使用时间”" : { - "localizations" : { - "en" : { - "stringUnit" : { - "state" : "translated", - "value" : "Disable Screen Time" - } - } - } - }, - "原神" : { - "localizations" : { - "en" : { - "stringUnit" : { - "state" : "translated", - "value" : "Genshin" - } - } - } - }, - "在使用本 App 前,您需要先知晓以下信息:\n· 本 App 由第三方开发者以及部分社区用户贡献,与哔哩哔哩无合作关系,哔哩哔哩是上海宽娱数码科技有限公司的商标。\n· 本 App 并不是哔哩哔哩的替代品,我们建议您在能够使用官方客户端时尽量使用官方客户端。\n· 本 App 均使用来源于网络的公开信息进行开发。\n· 本 App 中和B站相关的功能完全免费\n· 本 App 中所呈现的B站内容来自哔哩哔哩官方。\n· 本 App 的开发者、负责人和实际责任人是%@\n 联系QQ:3245146430" : { - "localizations" : { - "en" : { - "stringUnit" : { - "state" : "translated", - "value" : "You should know these before using this App:\n· This App is made by third-party developers and some community contributors. It has no any cooperation relation with Bilibili. Bilibili is 上海宽娱数码科技有限公司's trademark.\n· This App is not a replacement of Bilibili. We recommend you use the official client as long as you can.\n· All development is using public information from the Internet.\n· All contents related with Bilibili are all free.\n· All contents displayed related with Bilibili are all from official Bilibili.\n· The App's developer, person in charge and the actual person responsible is %@.\n· The English version is for reference only. Please refer to the simplified Chinese version.\n Contact QQ:3245146430" - } - }, - "zh-Hans" : { - "stringUnit" : { - "state" : "translated", - "value" : "在使用本 App 前,您需要先知晓以下信息:\n· 本 App 由第三方开发者以及部分社区用户贡献,与哔哩哔哩无合作关系,哔哩哔哩是上海宽娱数码科技有限公司的商标。\n· 本 App 并不是哔哩哔哩的替代品,我们建议您在能够使用官方客户端时尽量使用官方客户端。\n· 本 App 均使用来源于网络的公开信息进行开发。\n· 本 App 中和B站相关的功能完全免费\n· 本 App 中所呈现的B站内容来自哔哩哔哩官方。\n· 本 App 的开发者、负责人和实际责任人是%@\n 联系QQ:3245146430" - } - } - } - }, - "将不再记录您的屏幕使用时间, 已记录的数据不会被删除" : { - "localizations" : { - "en" : { - "stringUnit" : { - "state" : "translated", - "value" : "The screen time tracking will no longer occur, and the recorded data will not be deleted." - } - } - } - }, - "开启屏幕使用时间" : { - "localizations" : { - "en" : { - "stringUnit" : { - "state" : "translated", - "value" : "Enable screen time tracking." - } - } - } - }, - "番剧" : { - "localizations" : { - "en" : { - "stringUnit" : { - "state" : "translated", - "value" : "Animations" - } - } - } - }, - "直播" : { - "localizations" : { - "en" : { - "stringUnit" : { - "state" : "translated", - "value" : "Live broadcast" - } - } - } - }, - "确认" : { - "localizations" : { - "en" : { - "stringUnit" : { - "state" : "translated", - "value" : "Confirm" - } - } - } - }, - "视频" : { - "localizations" : { - "en" : { - "stringUnit" : { - "state" : "translated", - "value" : "Videos" - } - } - } - }, - "视频下载列表" : { - "localizations" : { - "en" : { - "stringUnit" : { - "state" : "translated", - "value" : "Video download list" - } - } - } - }, - "神秘代码" : { - "localizations" : { - "en" : { - "stringUnit" : { - "state" : "translated", - "value" : "Secret code" - } - } - } - }, - "这里空空如也" : { - "localizations" : { - "en" : { - "stringUnit" : { - "state" : "translated", - "value" : "Nothing here." - } - } - } - } - }, - "version" : "1.0" -} \ No newline at end of file diff --git a/DarockBili Watch App/Others/SettingsView.swift b/DarockBili Watch App/Others/SettingsView.swift index c5b17c9d7..89f22b02d 100644 --- a/DarockBili Watch App/Others/SettingsView.swift +++ b/DarockBili Watch App/Others/SettingsView.swift @@ -297,16 +297,10 @@ struct SoftwareUpdateView: View { } struct PlayerSettingsView: View { - @AppStorage("IsUseModifiedPlayer") var isUseModifiedPlayer = true @AppStorage("RecordHistoryTime") var recordHistoryTime = "into" @AppStorage("VideoGetterSource") var videoGetterSource = "official" var body: some View { List { - Section { - Toggle("Player.third-party", isOn: $isUseModifiedPlayer) - } footer: { - Text("Player.third-party.description") - } Section { Picker("Player.record-history", selection: $recordHistoryTime) { Text("Player.record-history.when-entering-page").tag("into") diff --git a/DarockBili Watch App/Video/VideoPlayerView.swift b/DarockBili Watch App/Video/VideoPlayerView.swift index ef50cbe58..eff17ca96 100644 --- a/DarockBili Watch App/Video/VideoPlayerView.swift +++ b/DarockBili Watch App/Video/VideoPlayerView.swift @@ -29,88 +29,96 @@ struct VideoPlayerView: View { @AppStorage("SESSDATA") var sessdata = "" @AppStorage("bili_jct") var biliJct = "" @AppStorage("RecordHistoryTime") var recordHistoryTime = "into" - @AppStorage("IsUseModifiedPlayer") var isUseModifiedPlayer = true + @AppStorage("IsDanmakuEnabled") var isDanmakuEnabled = true @AppStorage("IsVideoPlayerGestureEnabled") var isVideoPlayerGestureEnabled = true @State var currentTime: Double = 0.0 @State var playerTimer: Timer? + @State var danmakuTimer: Timer? @State var showDanmakus = [[String: String]]() - @State var showedDanmakus: [[(danmaku: Int, offset: Double)]?] = [nil, nil, nil, nil] @State var tabviewChoseTab = 1 @State var playerRotate = 0.0 @State var player: AVPlayer! @State var danmakuOffset = 0.0 - @State var lastDanmakuOffset = 0.0 - @State var lastDanmakuLine = 0 - @State var lastDanmakuIndex = 0 var body: some View { -// let asset = AVURLAsset(url: URL(string: VideoDetailView.willPlayVideoLink)!/*, options: ["AVURLAssetHTTPHeaderFieldsKey": [ -// "Referer": "https://www.bilibili.com/video/\(VideoDetailView.willPlayVideoBV)", -// "User-Agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/17.0 Safari/605.1.15", -// "platform": "html5" -// ]]*/, options: [AVURLAssetHTTPUserAgentKey: "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/17.0 Safari/605.1.15"]) -// let item = AVPlayerItem(asset: asset) -// let player = AVPlayer(playerItem: item) - - ZStack { - if #available(watchOS 10, *), isUseModifiedPlayer { - if player != nil { - LSContentView(videoUrl: VideoDetailView.willPlayVideoLink, videoBvid: VideoDetailView.willPlayVideoBV, videoData: .init(enableFlyComment: true, currentCid: Int64(VideoDetailView.willPlayVideoCID) ?? 0), player: player) - } - - } else { - TabView(selection: $tabviewChoseTab) { - ZStack { - VideoPlayer(player: player) - .rotationEffect(.degrees(playerRotate)) - .ignoresSafeArea() - .onAppear { - hideDigitalTime(true) - Timer.scheduledTimer(withTimeInterval: 15, repeats: true) { timer in - playerTimer = timer - debugPrint(player.currentTime()) - let headers: HTTPHeaders = [ - "cookie": "SESSDATA=\(sessdata)" - ] - AF.request("https://api.bilibili.com/x/click-interface/web/heartbeat", method: .post, parameters: ["bvid": VideoDetailView.willPlayVideoBV, "mid": dedeUserID, "played_time": Int(player.currentTime().seconds), "type": 3, "dt": 2, "play_type": 0, "csrf": biliJct], headers: headers).response { response in - debugPrint(response) - } - } - } - .onDisappear { - hideDigitalTime(false) - playerTimer?.invalidate() + TabView(selection: $tabviewChoseTab) { + ZStack { + VideoPlayer(player: player) + .rotationEffect(.degrees(playerRotate)) + .ignoresSafeArea() + .onAppear { + hideDigitalTime(true) + Timer.scheduledTimer(withTimeInterval: 15, repeats: true) { timer in + playerTimer = timer + debugPrint(player.currentTime()) + let headers: HTTPHeaders = [ + "cookie": "SESSDATA=\(sessdata)" + ] + AF.request("https://api.bilibili.com/x/click-interface/web/heartbeat", method: .post, parameters: ["bvid": VideoDetailView.willPlayVideoBV, "mid": dedeUserID, "played_time": Int(player.currentTime().seconds), "type": 3, "dt": 2, "play_type": 0, "csrf": biliJct], headers: headers).response { response in + debugPrint(response) } + } } - .tag(1) - ScrollView { - VStack { - HStack { - Button(action: { - if playerRotate - 90 > 0 { - playerRotate -= 90 - } else { - playerRotate = 270 - } - }, label: { - Image(systemName: "rotate.left") - }) - Button(action: { - if playerRotate + 90 < 360 { - playerRotate += 90 - } else { - playerRotate = 0 + .onDisappear { + hideDigitalTime(false) + } + .overlay { + ZStack { + if isDanmakuEnabled { + VStack { + ForEach(0...3, id: \.self) { i in + ZStack { + ForEach(0.. player.currentTime().seconds { + Text(showDanmakus[j]["Text"]!) + .font(.system(size: 14)) + .foregroundColor(Color(hex: Int(showDanmakus[j]["Color"]!)!)) + .offset(x: Double(showDanmakus[j]["Appear"]!)! * 50) + } + } + } + } + } } - }, label: { - Image(systemName: "rotate.right") - }) + Spacer() + } + .allowsHitTesting(false) + .offset(x: -danmakuOffset) + .animation(.smooth, value: danmakuOffset) } } } - .tag(2) + } + .tag(1) + ScrollView { + VStack { + HStack { + Button(action: { + if playerRotate - 90 > 0 { + playerRotate -= 90 + } else { + playerRotate = 270 + } + }, label: { + Image(systemName: "rotate.left") + }) + Button(action: { + if playerRotate + 90 < 360 { + playerRotate += 90 + } else { + playerRotate = 0 + } + }, label: { + Image(systemName: "rotate.right") + }) + } + Toggle(isOn: $isDanmakuEnabled) { Text("弹幕") } } - .tabViewStyle(.page) } + .tag(2) } + .tabViewStyle(.page) .ignoresSafeArea() .accessibilityQuickAction(style: .prompt) { if isVideoPlayerGestureEnabled { @@ -134,6 +142,56 @@ struct VideoPlayerView: View { debugPrint(response) } } + + AF.request("https://api.bilibili.com/x/v1/dm/list.so?oid=\(VideoDetailView.willPlayVideoCID)").response { response in + let danmakus = String(data: response.data!, encoding: .utf8)! + debugPrint(danmakus) + if danmakus.contains("")[1].split(separator: "")[0] + let danmakuSpd = danmakuOnly.split(separator: "") + for singleDanmaku in danmakuSpd { + let p = singleDanmaku.split(separator: "").count < 2 { + return + } + let danmakuText = String(singleDanmaku.split(separator: "\">")[1].split(separator: "")[0]) + if stredSpdP[5] == "0" { + showDanmakus.append(["Appear": stredSpdP[0], "Type": stredSpdP[1], "Size": stredSpdP[2], "Color": stredSpdP[3], "Text": danmakuText]) + } + } + showDanmakus.sort { dict1, dict2 in + if let time1 = dict1["Appear"], let time2 = dict2["Appear"] { + return Double(time1)! < Double(time2)! + } + return false + } + var removedCount = 0 + for i in 1..")[1].split(separator: "")[0]) if stredSpdP[5] == "0" { showDanmakus.append(["Appear": stredSpdP[0], "Type": stredSpdP[1], "Size": stredSpdP[2], "Color": stredSpdP[3], "Text": danmakuText]) - if showDanmakus.count >= 1000 { - break - } } } showDanmakus.sort { dict1, dict2 in @@ -100,6 +99,16 @@ struct VideoPlayerView: View { } return false } + var removedCount = 0 + for i in 1..