"""English translation.""" STRINGS = { # App "app.title": "LineDance Player", "app.ready": "Ready", "app.no_song": "— No song loaded —", "app.playlist_done": "— Playlist finished —", "app.no_dance_tagged": "no dance tagged", # Menu "menu.file": "File", "menu.go_online": "Go online...", "menu.go_offline": "Go offline", "menu.settings": "Settings...", "menu.quit": "Quit", # Library "library.title": "LIBRARY", "library.search": "Search title, artist, album, dance...", "library.songs": "{count} songs", "library.song": "{count} song", "library.results": "{count} results for \"{query}\"", "library.result": "{count} result for \"{query}\"", "library.btn_bpm": "♩ BPM all", "library.btn_manage": "⚙ Folders", "library.bpm_scanning": "♩ {done}/{total}...", "library.bpm_all_done": "♩ All have BPM", "library.missing": "⚠ ", "library.no_dance": "no dance tagged", # Folders dialog "folders.title": "Manage music libraries", "folders.active": "Active music libraries:", "folders.note": "When you remove a library, it is removed from monitoring.\nSongs remain in the database but are marked as missing (⚠).", "folders.btn_add": "+ Add folder", "folders.btn_remove": "✕ Remove selected", "folders.btn_scan": "⟳ Scan all", "folders.btn_close": "Close", "folders.never_scanned": "never", "folders.not_found": " ⚠ folder not found", "folders.songs_count": "{count} songs · last scanned: {date}", "folders.confirm_remove": "Remove monitoring of:\n{path}\n\nSongs remain in the database but will be marked as missing.", # Playlist "playlist.title": "PLAYLIST", "playlist.new_title": "PLAYLIST — NEW", "playlist.btn_new": "✚ New", "playlist.btn_save": "💾 Save as...", "playlist.btn_load": "📂 Load...", "playlist.btn_start": "▶ START EVENT", "playlist.progress": "{played} / {total} played", "playlist.not_saved": "● unsaved", "playlist.saved": "✓ saved", "playlist.save_error": "⚠ save error", "playlist.restored": "✓ restored", "playlist.saved_as": "✓ saved as \"{name}\"", "playlist.name_prompt": "Playlist name:", "playlist.name_dialog": "Save playlist", "playlist.load_dialog": "Load playlist", "playlist.load_choose": "Choose a playlist:", "playlist.empty": "The playlist is empty.", "playlist.no_lists": "No saved playlists found.", "playlist.confirm_new": "Clear the current playlist and start over?", "playlist.confirm_event": "This will reset all statuses in the playlist.\nContinue?", "playlist.ready": "Ready: {title} — press ▶ to start", "playlist.done": "Playlist finished", "playlist.event_ready": "Event ready: {title} — press ▶ to start", "playlist.added": "Added to playlist: {title}", # Playlist context menu "playlist.ctx_play": "▶ Play this", "playlist.ctx_skip": "— Skip", "playlist.ctx_unplay": "↺ Mark as not played", "playlist.ctx_played": "✓ Mark as played", "playlist.ctx_remove": "✕ Remove from playlist", # Library context menu "library.ctx_add": "Add to playlist", "library.ctx_play": "Play", "library.ctx_tags": "✎ Edit dance tags...", "library.ctx_bpm": "♩ Analyse BPM", "library.ctx_send": "Send to", "library.ctx_mail": "✉ Send by email", "library.btn_danse": "Dances", # Player "player.no_song": "No song loaded", "player.loaded": "Loaded: {title}", "player.vol": "VOL", "player.demo_btn": "▶\n{sec} SEC", "player.event_resumed": "Event resumed at: {title} — press ▶ to continue", # Transport tooltips "player.btn_prev": "Previous song", "player.btn_play": "Play / Pause", "player.btn_stop": "Stop", "player.btn_next": "Next song", "player.btn_demo": "Play preview", # Settings "settings.title": "Settings", "settings.tab_appearance": "🎨 Appearance", "settings.tab_playback": "▶ Playback", "settings.tab_mail": "✉ Mail", "settings.tab_online": "🌐 Online", "settings.tab_language": "🌍 Language", "settings.btn_save": "💾 Save settings", "settings.btn_cancel": "Cancel", "settings.dark_theme": "Start with dark theme", "settings.theme_note": "You can always switch theme while the program is running.", "settings.demo_group": "Preview (▶ N SEC button)", "settings.demo_length": "Preview length:", "settings.demo_fade": "Fade-out:", "settings.demo_suffix": " seconds", "settings.fade_suffix": " seconds (0 = no fade)", "settings.demo_note": "The preview plays the beginning of the song.\nFade-out is added on top of the preview length.", "settings.mail_group": "Mail client", "settings.mail_label": "Client:", "settings.mail_path": "Path:", "settings.mail_auto": "Auto-detect (Thunderbird → Outlook → mailto:)", "settings.mail_tb": "Thunderbird", "settings.mail_ol": "Outlook (Windows)", "settings.mail_custom": "Custom path", "settings.mail_mailto": "mailto: only (no attachment)", "settings.mail_note": "With Thunderbird and Outlook a new compose window opens with the file attached.", "settings.online_group": "Automatic login at startup", "settings.auto_login": "Log in automatically when the program starts", "settings.username": "Username:", "settings.password": "Password:", "settings.password_warn": "⚠ The password is stored locally on this computer.\nOnly use this on a personal machine.", "settings.lang_group": "Language", "settings.lang_label": "Interface language:", "settings.lang_note": "The language will be applied next time the program starts.", "settings.saved": "Settings saved", # Tag editor "tags.title": "Edit tags — {title}", "tags.can_write": "✓ Dances are written to the file", "tags.cant_write": "⚠ This format does not support file writing", "tags.hint": "Type a dance name — suggestions show as 'Name / Level'. Select from list to set level automatically.", "tags.dances": "Dances", "tags.alts": "Alternative dances", "tags.btn_add": "+ Add", "tags.btn_save": "💾 Save tags", "tags.btn_cancel": "Cancel", "tags.new_dance": "New dance (e.g. Cowboy Cha Cha)...", "tags.new_alt": "Alternative dance...", "tags.note": "note...", "tags.warn_file": "Saved to database, but could not write to file.", "tags.error": "Could not save: {error}", "tags.no_level": "— no level —", # Levels "level.none": "— no level —", "level.beginner": "Beginner", "level.let_ovet": "Easy", "level.easy": "Easy", "level.ovet": "Intermediate", "level.intermediate": "Intermediate", "level.erfaren": "Experienced", "level.experienced": "Experienced", "level.ekspert": "Expert", "level.expert": "Expert", # Online / login "online.logging_in": "Logging in as {username}...", "online.logged_in": "Online as {username}", "online.auto_login_fail": "Auto-login failed — use File → Go online manually", "online.logged_out": "Offline", "online.syncing": "Syncing dance data...", "online.synced": "Synced {levels} levels and {names} dance names", # Scanning "scan.preparing": "Starting library scan...", "scan.scanning": "Scanning: {name}...", "scan.scanning_count": "Scanning: {name} ({count} files)...", "scan.done": "Scan complete — {count} files processed", "scan.error": "Scan error: {error}", "scan.folder_missing": "⚠ Folder not found: {path}", # Errors "error.title": "Error", "error.db_init": "Database error: {error}", "error.folder_remove": "Could not remove: {error}", "error.save_tags": "Could not save tags: {error}", # Mail "mail.thunderbird_ok": "Thunderbird opened with {filename} attached.", "mail.outlook_ok": "Outlook opened with {filename} attached.", "mail.fallback": "No known mail client found — opened mailto: (no attachment)", "mail.file_missing": "File not found — cannot send mail", # General "btn.ok": "OK", "btn.cancel": "Cancel", "btn.close": "Close", "btn.yes": "Yes", "btn.no": "No", "dialog.confirm": "Confirm", }