Files
LinedanceAfspiller/linedance-app/translations/en.py
2026-04-12 10:25:41 +02:00

202 lines
9.5 KiB
Python

"""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",
}