- Remove Combine import and cancellables - Use NSKeyValueObservation for timeControlStatus (controlled teardown) - Invalidate itemStatusObserver before replacing playerItem - Store endObserver token for proper removal - Add cleanup() method called on view disappear - Proper deinit with direct property cleanup (nonisolated-safe)
32 lines
860 B
Plaintext
32 lines
860 B
Plaintext
"play_pause" = "播放/暂停";
|
|
"prev" = "上一首";
|
|
"next" = "下一首";
|
|
"fullscreen" = "全屏";
|
|
"vol_up" = "音量+";
|
|
"vol_down" = "音量-";
|
|
"repeat_mode" = "循环模式";
|
|
"open_file" = "打开文件...";
|
|
"add_url" = "添加URL...";
|
|
"menu_playback" = "播放";
|
|
"menu_file" = "文件";
|
|
"playlist" = "播放列表";
|
|
"add_file" = "📂 添加文件";
|
|
"add_url_btn" = "🔗 添加URL";
|
|
"items_count" = "项";
|
|
"no_media" = "暂无媒体";
|
|
"add_media_url" = "添加媒体URL";
|
|
"cancel" = "取消";
|
|
"add" = "添加";
|
|
"select_track" = "选择音轨";
|
|
"track" = "音轨";
|
|
"audio_track" = "🎵 音轨";
|
|
"close" = "关闭";
|
|
"repeat_none" = "不循环";
|
|
"repeat_single" = "单曲循环";
|
|
"repeat_all" = "列表循环";
|
|
"now_playing" = "正在播放: %@";
|
|
"repeat_mode_label" = "循环模式: %@";
|
|
"invalid_url" = "无效URL";
|
|
"open" = "打开";
|
|
"list" = "列表";
|