- Chapter navigation with auto-scroll to current chapter and end-of-chapter sleep timer - Opt-in listening history (local-only) with XML export and per-item quick menu - Bookmarks with server sync via Audiobookshelf API - Live MB counter during downloads via URLSessionDownloadTask delegate - In-progress downloads shown in "Heruntergeladen" with dimmed cover + ring overlay - Cover image cache (50 MB memory / 500 MB disk URLCache) - German/English localization (de.lproj, en.lproj) - Loading spinner now triggers immediately on view switch instead of waiting for the network Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
153 lines
5.9 KiB
Plaintext
153 lines
5.9 KiB
Plaintext
/* English translations */
|
||
|
||
/* Navigation / Tabs */
|
||
"nav.libraries" = "Libraries";
|
||
"nav.offline" = "Offline";
|
||
"nav.downloaded" = "Downloaded";
|
||
"nav.history" = "History";
|
||
"nav.library" = "Library";
|
||
|
||
/* Player */
|
||
"player.preparing" = "Preparing playback …";
|
||
"player.stop" = "Stop playback";
|
||
"player.sleep_timer" = "Sleep Timer";
|
||
"player.speed" = "Speed";
|
||
"player.chapters_bookmarks" = "Chapters & Bookmarks";
|
||
"player.history_recent" = "Recent History";
|
||
"player.history_all" = "Full History";
|
||
|
||
/* Sleep Timer */
|
||
"sleep.off" = "Off";
|
||
"sleep.10min" = "10 minutes";
|
||
"sleep.20min" = "20 minutes";
|
||
"sleep.30min" = "30 minutes";
|
||
"sleep.1h" = "1 hour";
|
||
"sleep.end_of_book" = "Until end of book";
|
||
"sleep.end_of_episode" = "Until end of episode";
|
||
"sleep.end_of_chapter" = "Until end of chapter";
|
||
|
||
/* Settings */
|
||
"settings.title" = "Settings";
|
||
"settings.done" = "Done";
|
||
"settings.connection" = "Connection";
|
||
"settings.server" = "Server";
|
||
"settings.user" = "User";
|
||
"settings.online" = "Online";
|
||
"settings.offline" = "Offline";
|
||
"settings.queued" = "%lld pending";
|
||
"settings.logout" = "Sign out / Switch server";
|
||
"settings.logout_confirm_title" = "Sign out of server?";
|
||
"settings.logout_confirm_action" = "Sign out";
|
||
"settings.logout_confirm_message" = "You will be taken back to the login screen. Downloaded content will remain.";
|
||
"settings.logout_confirm_message_mac" = "You will be returned to the login screen. Downloaded audiobooks will remain.";
|
||
"settings.cancel" = "Cancel";
|
||
"settings.connection_footer" = "Signing out resets the stored credentials. Downloaded content remains.";
|
||
|
||
"settings.playback" = "Playback";
|
||
"settings.skip_duration" = "Skip Duration";
|
||
"settings.skip_footer" = "Applies to skip buttons in the player bar and on the lock screen.";
|
||
"settings.skip_footer_mac" = "Applies to skip buttons in the player bar and media keys.";
|
||
|
||
"settings.history_section" = "Listening History";
|
||
"settings.history_enable" = "Enable listening history";
|
||
"settings.history_entries" = "Entries";
|
||
"settings.history_export" = "Export history as XML";
|
||
"settings.history_footer_on" = "Positions are recorded before every seek (max. 200 entries). Data stays local on this device.";
|
||
"settings.history_footer_off" = "Records where you were before a seek so you can navigate back. Disabled by default.";
|
||
"settings.history_disable_title" = "Disable listening history?";
|
||
"settings.history_disable_action" = "Delete history & disable";
|
||
"settings.history_disable_message" = "The entire recorded listening history will be permanently deleted.";
|
||
"settings.history_footer_on_mac" = "Positions are recorded before every seek (max. 200 entries).";
|
||
"settings.history_footer_off_mac" = "Records positions before seeks so you can navigate back.";
|
||
|
||
"settings.appearance" = "Appearance";
|
||
"settings.library_view" = "Library View";
|
||
"settings.auto_refresh" = "Refresh automatically on launch";
|
||
|
||
"settings.downloads" = "Downloads";
|
||
"settings.downloaded_count" = "%lld items";
|
||
"settings.downloads_footer" = "Downloaded audiobooks and episodes can be deleted individually via the context menu.";
|
||
|
||
"settings.about" = "About";
|
||
"settings.version" = "Version";
|
||
|
||
"settings.language" = "Language";
|
||
"settings.language_de" = "German";
|
||
"settings.language_en" = "English";
|
||
|
||
/* Playback Details Sheet */
|
||
"details.chapters" = "Chapters";
|
||
"details.history" = "History";
|
||
"details.bookmarks" = "Bookmarks";
|
||
"details.chapter_start" = "Chapter start";
|
||
"details.chapter_prev" = "Previous chapter";
|
||
"details.chapter_next" = "Next chapter";
|
||
"details.chapter_end" = "Chapter end";
|
||
"details.no_chapters" = "No Chapters";
|
||
"details.no_chapters_desc" = "This audiobook contains no chapter information.";
|
||
"details.no_history" = "No History";
|
||
"details.no_history_desc" = "Positions are recorded when you seek.";
|
||
"details.clear_history" = "Clear history";
|
||
"details.no_bookmarks" = "No Bookmarks";
|
||
"details.no_bookmarks_desc" = "Tap \"+\" to mark the current position.";
|
||
"details.add_bookmark" = "Add bookmark";
|
||
"details.bookmark_name_title" = "Add Bookmark";
|
||
"details.bookmark_name_placeholder" = "Name";
|
||
"details.bookmark_name_message" = "Enter a name for this bookmark.";
|
||
"details.bookmark_add" = "Add";
|
||
|
||
/* Full History View */
|
||
"history.title" = "Full History";
|
||
"history.empty" = "No History";
|
||
"history.empty_desc" = "Listening history can be enabled in Settings.";
|
||
"history.clear" = "Clear history";
|
||
"history.just_now" = "Just now";
|
||
"history.minutes_ago" = "%lld min. ago";
|
||
"history.hours_ago" = "%lld hr. ago";
|
||
"history.days_ago" = "%lld day(s) ago";
|
||
"history.not_playing" = "No active audiobook";
|
||
"history.other_item" = "(different audiobook)";
|
||
|
||
/* Download context menu */
|
||
"download.select_episodes" = "Select episodes for download in podcast view";
|
||
"download.save_offline" = "Save for offline";
|
||
"download.cancel" = "Cancel download";
|
||
"download.delete" = "Delete downloaded files";
|
||
|
||
/* Library / Main */
|
||
"library.loading" = "Loading library …";
|
||
"library.error" = "Error";
|
||
"library.empty" = "No Audiobooks";
|
||
"library.empty_desc" = "This selection does not contain any audiobooks yet.";
|
||
"library.refresh" = "Reload library, covers and progress";
|
||
"library.view_toggle" = "Switch between grid and list view";
|
||
"library.view_label" = "View";
|
||
"library.settings" = "Settings";
|
||
|
||
/* Login */
|
||
"login.title" = "ABS Client";
|
||
"login.server_placeholder" = "https://my-server.com";
|
||
"login.username" = "Username";
|
||
"login.password" = "Password";
|
||
"login.connect" = "Connect";
|
||
|
||
/* Podcast */
|
||
"podcast.episodes" = "Episodes";
|
||
"podcast.loading" = "Loading episodes …";
|
||
"podcast.no_date" = "No date";
|
||
|
||
/* Sidebar / macOS */
|
||
"sidebar.libraries" = "Libraries";
|
||
"sidebar.offline" = "Offline";
|
||
"sidebar.history" = "History";
|
||
"sidebar.logout" = "Sign out";
|
||
"sidebar.app_title" = "ABS Client";
|
||
"sidebar.status_online" = "Online";
|
||
"sidebar.status_offline" = "Offline";
|
||
|
||
/* Status */
|
||
"status.online" = "Online – progress is being synced";
|
||
"status.offline_queued" = "Offline – %lld item(s) pending";
|
||
"status.syncing" = "%lld syncs pending";
|
||
"status.logged_in_as" = "Signed in as %@";
|