- Add QR generation of the currently playing URL (macOS window / iOS sheet) - Encode channel metadata (name/type/group/logo) in the QR payload as compact JSON; fall back to a plain URL when the payload is too long for a reliably scannable QR - Scanning saves the entry into the local library with its channel metadata and starts playback; legacy plain-URL QR codes still work - Add iOS QR scanner sheet (AVCaptureMetadataOutput) so scanning is no longer macOS-only; both scanners share handleScannedCode - Add optional channel name / group fields to the Add URL dialog and thread group/logo through addURL/addItem into the library - Restore session (queue + position) on launch and save on quit for macOS, not just iOS - Bundle app icons: generate AppIcon.icns from the macOS iconset when missing, and compile Assets.xcassets into the iOS app
43 lines
1.2 KiB
Plaintext
43 lines
1.2 KiB
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";
|
|
"scan_qr_code" = "Scan QR Code";
|
|
"scan_hint" = "Point camera at a QR code containing a media URL";
|
|
"detected_code" = "Detected:";
|
|
"show_qr_code" = "QR Code";
|
|
"qr_gen_failed" = "Could not generate QR code";
|
|
"copy_url" = "Copy URL";
|
|
"copied" = "Copied";
|
|
"done" = "Done";
|
|
"no_current_url" = "No video is currently playing";
|
|
"channel_name_field" = "Channel name (optional)";
|
|
"channel_group_field" = "Group (optional)";
|