- 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
822 B
Plaintext
32 lines
822 B
Plaintext
"play_pause" = "Play/Pause";
|
|
"prev" = "Previous";
|
|
"next" = "Next";
|
|
"fullscreen" = "Fullscreen";
|
|
"vol_up" = "Volume+";
|
|
"vol_down" = "Volume-";
|
|
"repeat_mode" = "Repeat Mode";
|
|
"open_file" = "Open File...";
|
|
"add_url" = "Add URL...";
|
|
"menu_playback" = "Playback";
|
|
"menu_file" = "File";
|
|
"playlist" = "Playlist";
|
|
"add_file" = "📂 Add File";
|
|
"add_url_btn" = "🔗 Add URL";
|
|
"items_count" = "items";
|
|
"no_media" = "No media";
|
|
"add_media_url" = "Add Media URL";
|
|
"cancel" = "Cancel";
|
|
"add" = "Add";
|
|
"select_track" = "Select Track";
|
|
"track" = "Track";
|
|
"audio_track" = "🎵 Audio Track";
|
|
"close" = "Close";
|
|
"repeat_none" = "No Repeat";
|
|
"repeat_single" = "Repeat One";
|
|
"repeat_all" = "Repeat All";
|
|
"now_playing" = "Now Playing: %@";
|
|
"repeat_mode_label" = "Repeat: %@";
|
|
"invalid_url" = "Invalid URL";
|
|
"open" = "Open";
|
|
"list" = "List";
|