add chinese subtitles
This commit is contained in:
@@ -4,6 +4,8 @@ import SwiftUI
|
||||
struct FullscreenPlayerView: View {
|
||||
@ObservedObject var controller: PlayerController
|
||||
var showsLessonTitle: Bool = true
|
||||
var showChineseSubtitles: Bool = false
|
||||
var chineseSubtitlePlaceholder: String = "正在翻译中文字幕…"
|
||||
let onExit: () -> Void
|
||||
|
||||
@State private var subtitleVisible = true
|
||||
@@ -66,10 +68,18 @@ struct FullscreenPlayerView: View {
|
||||
.font(.system(size: 13))
|
||||
.foregroundColor(Theme.textOverlay)
|
||||
HStack(alignment: .center, spacing: 8) {
|
||||
Text(sentenceTextText)
|
||||
.font(.system(size: 15))
|
||||
.foregroundColor(.white)
|
||||
.lineLimit(2)
|
||||
VStack(alignment: .leading, spacing: 4) {
|
||||
Text(sentenceTextText)
|
||||
.font(.system(size: 15))
|
||||
.foregroundColor(.white)
|
||||
.lineLimit(2)
|
||||
if let chineseSubtitleText = chineseSubtitleText {
|
||||
Text(chineseSubtitleText)
|
||||
.font(.system(size: 14))
|
||||
.foregroundColor(Theme.textOverlay)
|
||||
.lineLimit(2)
|
||||
}
|
||||
}
|
||||
Spacer()
|
||||
Button {
|
||||
guard let sentence = controller.currentSentence,
|
||||
@@ -203,6 +213,20 @@ struct FullscreenPlayerView: View {
|
||||
}
|
||||
}
|
||||
|
||||
private var chineseSubtitleText: String? {
|
||||
guard showChineseSubtitles else {
|
||||
return nil
|
||||
}
|
||||
if let zh = controller.currentSentence?.zhText?.trimmingCharacters(in: .whitespacesAndNewlines),
|
||||
!zh.isEmpty {
|
||||
return zh
|
||||
}
|
||||
if (controller.currentSentence?.text ?? "").trimmingCharacters(in: .whitespacesAndNewlines).isEmpty {
|
||||
return nil
|
||||
}
|
||||
return chineseSubtitlePlaceholder
|
||||
}
|
||||
|
||||
private var statusText: String {
|
||||
if let message = controller.cacheState.statusMessage {
|
||||
return message
|
||||
|
||||
Reference in New Issue
Block a user