diff --git a/bin/mpdevil b/bin/mpdevil index b8bec42..b1cf710 100755 --- a/bin/mpdevil +++ b/bin/mpdevil @@ -502,7 +502,7 @@ class ClientHelper(): length=length+float(song.get("duration", 0.0)) return ClientHelper.seconds_to_display_time(int(length)) -class MpdEventEmitter(GObject.Object): +class EventEmitter(GObject.Object): __gsignals__={ "update": (GObject.SignalFlags.RUN_FIRST, None, ()), "disconnected": (GObject.SignalFlags.RUN_FIRST, None, ()), @@ -518,7 +518,9 @@ class MpdEventEmitter(GObject.Object): "single": (GObject.SignalFlags.RUN_FIRST, None, (str,)), "consume": (GObject.SignalFlags.RUN_FIRST, None, (bool,)), "audio": (GObject.SignalFlags.RUN_FIRST, None, (str,str,str,)), - "bitrate": (GObject.SignalFlags.RUN_FIRST, None, (float,)) + "bitrate": (GObject.SignalFlags.RUN_FIRST, None, (float,)), + "add_to_playlist": (GObject.SignalFlags.RUN_FIRST, None, (str,)), + "show_info": (GObject.SignalFlags.RUN_FIRST, None, ()) } def __init__(self): @@ -530,7 +532,7 @@ class Client(MPDClient): # adding vars self._settings=settings - self.emitter=MpdEventEmitter() + self.emitter=EventEmitter() self._last_status={} self._refresh_interval=self._settings.get_int("refresh-interval") self._main_timeout_id=None @@ -616,22 +618,47 @@ class Client(MPDClient): songs=self.find("album", album, "date", year, self._settings.get_artist_type(), artist) self.files_to_playlist([song["file"] for song in songs], mode) - def artist_to_playlist(self, artist, genre, mode="default"): #TODO use mode - if self._settings.get_boolean("sort-albums-by-year"): - sort_tag="date" - else: - sort_tag="album" - if artist is None: # treat 'None' as 'all artists' - if genre is None: # treat 'None' as 'all genres' - self.searchadd("any", "", "sort", sort_tag) + def artist_to_playlist(self, artist, genre, mode): + def append(): + if self._settings.get_boolean("sort-albums-by-year"): + sort_tag="date" else: - self.findadd("genre", genre, "sort", sort_tag) - else: - artist_type=self._settings.get_artist_type() - if genre is None: # treat 'None' as 'all genres' - self.findadd(artist_type, artist, "sort", sort_tag) + sort_tag="album" + if artist is None: # treat 'None' as 'all artists' + if genre is None: # treat 'None' as 'all genres' + self.searchadd("any", "", "sort", sort_tag) + else: + self.findadd("genre", genre, "sort", sort_tag) else: - self.findadd(artist_type, artist, "genre", genre, "sort", sort_tag) + artist_type=self._settings.get_artist_type() + if genre is None: # treat 'None' as 'all genres' + self.findadd(artist_type, artist, "sort", sort_tag) + else: + self.findadd(artist_type, artist, "genre", genre, "sort", sort_tag) + if mode == "append": + append() + elif mode == "play": + self.clear() + append() + self.play() + elif mode == "enqueue": + status=self.status() + if status["state"] == "stop": + self.clear() + append() + self.play() + else: + self.moveid(status["songid"], 0) + current_song_file=self.currentsong()["file"] + try: + self.delete((1,)) # delete all songs, but the first. bad song index possible + except: + pass + append() + duplicates=self.playlistfind("file", current_song_file) + if len(duplicates) > 1: + self.move(0, duplicates[1]["pos"]) + self.delete(int(duplicates[1]["pos"])-1) def comp_list(self, *args): # simulates listing behavior of python-mpd2 1.0 native_list=self.list(*args) @@ -1516,7 +1543,7 @@ class SongPopover(Gtk.Popover): class SongsView(Gtk.TreeView): def __init__(self, client, store, file_column_id): - super().__init__(model=store, search_column=-1) + super().__init__(model=store, search_column=-1, activate_on_single_click=True) self.columns_autosize() # adding vars @@ -1535,7 +1562,8 @@ class SongsView(Gtk.TreeView): self.connect("row-activated", self._on_row_activated) self.connect("button-press-event", self._on_button_press_event) self.connect("button-release-event", self._on_button_release_event) - self.connect("key-release-event", self._on_key_release_event) + self._client.emitter.connect("show-info", self._on_show_info) + self._client.emitter.connect("add-to-playlist", self._on_add_to_playlist) def clear(self): self._store.clear() @@ -1550,7 +1578,7 @@ class SongsView(Gtk.TreeView): return return_list def _on_row_activated(self, widget, path, view_column): - self._client.files_to_playlist([self._store[path][self._file_column_id]], "play") + self._client.files_to_playlist([self._store[path][self._file_column_id]]) def _on_button_press_event(self, widget, event): path_re=widget.get_path_at_pos(int(event.x), int(event.y)) @@ -1563,9 +1591,7 @@ class SongsView(Gtk.TreeView): if path_re is not None: path=path_re[0] if self._button_event == (event.button, path): - if event.button == 1 and event.type == Gdk.EventType.BUTTON_RELEASE: - self._client.files_to_playlist([self._store[path][self._file_column_id]]) - elif event.button == 2 and event.type == Gdk.EventType.BUTTON_RELEASE: + if event.button == 2 and event.type == Gdk.EventType.BUTTON_RELEASE: self._client.files_to_playlist([self._store[path][self._file_column_id]], "append") elif event.button == 3 and event.type == Gdk.EventType.BUTTON_RELEASE: uri=self._store[path][self._file_column_id] @@ -1575,17 +1601,18 @@ class SongsView(Gtk.TreeView): self._song_popover.open(uri, widget, int(event.x), int(event.y), offset=0) self._button_event=(None, None) - def _on_key_release_event(self, widget, event): - treeview, treeiter=self._selection.get_selected() - if treeiter is not None: - if event.keyval == Gdk.keyval_from_name("p"): - self._client.files_to_playlist([self._store.get_value(treeiter, self._file_column_id)]) - elif event.keyval == Gdk.keyval_from_name("a"): - self._client.files_to_playlist([self._store.get_value(treeiter, self._file_column_id)], "append") - elif event.keyval == Gdk.keyval_from_name("Menu"): - path=self._store.get_path(treeiter) - cell=self.get_cell_area(path, None) - self._song_popover.open(self._store[path][self._file_column_id], widget, cell.x, cell.y) + def _on_show_info(self, *args): + if self.has_focus(): + treeview, treeiter=self._selection.get_selected() + path=self._store.get_path(treeiter) + cell=self.get_cell_area(path, None) + self._song_popover.open(self._store[path][self._file_column_id], self, cell.x, cell.y) + + def _on_add_to_playlist(self, emitter, mode): + if self.has_focus(): + treeview, treeiter=self._selection.get_selected() + if treeiter is not None: + self._client.files_to_playlist([self._store.get_value(treeiter, self._file_column_id)], mode) class SongsWindow(Gtk.Box): def __init__(self, client, store, file_column_id, focus_indicator=True): @@ -1666,8 +1693,8 @@ class AlbumPopover(Gtk.Popover): self._rect=Gdk.Rectangle() # songs window - # (track, title (artist), duration, file) - self._store=Gtk.ListStore(str, str, str, str) + # (track, title (artist), duration, file, search text) + self._store=Gtk.ListStore(str, str, str, str, str) songs_window=SongsWindow(self._client, self._store, 3, focus_indicator=False) # scroll @@ -1680,7 +1707,8 @@ class AlbumPopover(Gtk.Popover): # songs view self._songs_view=songs_window.get_treeview() - self._songs_view.set_property("headers_visible", False) + self._songs_view.set_property("headers-visible", False) + self._songs_view.set_property("search-column", 4) # columns renderer_text=Gtk.CellRendererText(width_chars=80, ellipsize=Pango.EllipsizeMode.END, ellipsize_set=True) @@ -1705,6 +1733,7 @@ class AlbumPopover(Gtk.Popover): self.set_pointing_to(self._rect) self.set_relative_to(widget) self._scroll.set_max_content_height(4*widget.get_allocated_height()//7) + self._songs_view.set_model(None) # clear old scroll position self._store.clear() songs=self._client.find("album", album, "date", date, self._settings.get_artist_type(), album_artist) for s in songs: @@ -1722,7 +1751,8 @@ class AlbumPopover(Gtk.Popover): else: title_artist="{} - {}".format(title, artist) title_artist=title_artist.replace("&", "&") - self._store.append([track, title_artist, song["human_duration"][0], song["file"][0]]) + self._store.append([track, title_artist, song["human_duration"][0], song["file"][0], title]) + self._songs_view.set_model(self._store) self.popup() self._songs_view.columns_autosize() @@ -2038,6 +2068,7 @@ class ArtistWindow(FocusFrame): self._client.emitter.connect("disconnected", self._on_disconnected) self._client.emitter.connect("reconnected", self._on_reconnected) self._client.emitter.connect("update", self._refresh) + self._client.emitter.connect("add-to-playlist", self._on_add_to_playlist) self._genre_select.connect("genre_changed", self._refresh) self.set_widget(self._treeview) @@ -2114,6 +2145,18 @@ class ArtistWindow(FocusFrame): self._store[path][1]=Pango.Weight.BOLD self.emit("artists_changed") + def _on_add_to_playlist(self, emitter, mode): + if self._treeview.has_focus(): + treeview, treeiter=self._selection.get_selected() + if treeiter is not None: + path=self._store.get_path(treeiter) + genre=self._genre_select.get_selected_genre() + if path == Gtk.TreePath(0): + self._client.artist_to_playlist(None, genre, mode) + else: + artist=self._store[path][0] + self._client.artist_to_playlist(artist, genre, mode) + def _on_disconnected(self, *args): self.set_sensitive(False) self._clear() @@ -2144,7 +2187,9 @@ class AlbumWindow(FocusFrame): self._sort_settings() # iconview - self._iconview=Gtk.IconView(model=self._store, item_width=0, pixbuf_column=0, markup_column=1, tooltip_column=3) + self._iconview=Gtk.IconView( + model=self._store, item_width=0, pixbuf_column=0, markup_column=1, tooltip_column=3, activate_on_single_click=True + ) # scroll scroll=Gtk.ScrolledWindow() @@ -2163,9 +2208,10 @@ class AlbumWindow(FocusFrame): self._iconview.connect("item-activated", self._on_item_activated) self._iconview.connect("button-press-event", self._on_button_press_event) self._iconview.connect("button-release-event", self._on_button_release_event) - self._iconview.connect("key-release-event", self._on_key_release_event) self._client.emitter.connect("disconnected", self._on_disconnected) self._client.emitter.connect("reconnected", self._on_reconnected) + self._client.emitter.connect("show-info", self._on_show_info) + self._client.emitter.connect("add-to-playlist", self._on_add_to_playlist) self._settings.connect("changed::sort-albums-by-year", self._sort_settings) self._settings.connect("changed::album-cover", self._on_cover_size_changed) self._artist_window.connect("artists_changed", self._refresh) @@ -2334,9 +2380,7 @@ class AlbumWindow(FocusFrame): path=widget.get_path_at_pos(int(event.x), int(event.y)) if path is not None: if self._button_event == (event.button, path): - if event.button == 1 and event.type == Gdk.EventType.BUTTON_RELEASE: - self._path_to_playlist(path) - elif event.button == 2 and event.type == Gdk.EventType.BUTTON_RELEASE: + if event.button == 2 and event.type == Gdk.EventType.BUTTON_RELEASE: self._path_to_playlist(path, "append") elif event.button == 3 and event.type == Gdk.EventType.BUTTON_RELEASE: album=self._store[path][4] @@ -2347,28 +2391,12 @@ class AlbumWindow(FocusFrame): self._album_popover.open(album, artist, year, widget, event.x-h, event.y-v) self._button_event=(None, None) - def _on_key_release_event(self, widget, event): - paths=widget.get_selected_items() - if len(paths) != 0: - if event.keyval == Gdk.keyval_from_name("p"): - self._path_to_playlist(paths[0]) - elif event.keyval == Gdk.keyval_from_name("a"): - self._path_to_playlist(paths[0], "append") - elif event.keyval == Gdk.keyval_from_name("Menu"): - album=self._store[paths[0]][4] - year=self._store[paths[0]][5] - artist=self._store[paths[0]][6] - rect=widget.get_cell_rect(paths[0], None)[1] - x=rect.x+rect.width//2 - y=rect.y+rect.height//2 - self._album_popover.open(album, artist, year, widget, x, y) - def _on_item_activated(self, widget, path): treeiter=self._store.get_iter(path) selected_album=self._store.get_value(treeiter, 4) selected_album_year=self._store.get_value(treeiter, 5) selected_artist=self._store.get_value(treeiter, 6) - self._client.album_to_playlist(selected_album, selected_artist, selected_album_year, "play") + self._client.album_to_playlist(selected_album, selected_artist, selected_album_year) def _on_disconnected(self, *args): self._iconview.set_sensitive(False) @@ -2377,6 +2405,23 @@ class AlbumWindow(FocusFrame): def _on_reconnected(self, *args): self._iconview.set_sensitive(True) + def _on_show_info(self, *args): + if self._iconview.has_focus(): + paths=self._iconview.get_selected_items() + if len(paths) > 0: + rect=self._iconview.get_cell_rect(paths[0], None)[1] + x=rect.x+rect.width//2 + y=rect.y+rect.height//2 + self._album_popover.open( + self._store[paths[0]][4], self._store[paths[0]][6], self._store[paths[0]][5], self._iconview, x, y + ) + + def _on_add_to_playlist(self, emitter, mode): + if self._iconview.has_focus(): + paths=self._iconview.get_selected_items() + if len(paths) != 0: + self._path_to_playlist(paths[0], mode) + def _on_cover_size_changed(self, *args): def callback(): self._refresh() @@ -2857,6 +2902,7 @@ class PlaylistWindow(Gtk.Box): self._client.emitter.connect("current_song_changed", self._on_song_changed) self._client.emitter.connect("disconnected", self._on_disconnected) self._client.emitter.connect("reconnected", self._on_reconnected) + self._client.emitter.connect("show-info", self._on_show_info) self._settings.connect("notify::mini-player", self._on_mini_player) self._settings.connect("changed::column-visibilities", self._load_settings) @@ -2942,12 +2988,6 @@ class PlaylistWindow(Gtk.Box): self._store.remove(treeiter) except: pass - elif event.keyval == Gdk.keyval_from_name("Menu"): - treeview, treeiter=self._selection.get_selected() - if treeiter is not None: - path=self._store.get_path(treeiter) - cell=self._treeview.get_cell_area(path, None) - self._song_popover.open(self._store[path][8], widget, int(cell.x), int(cell.y)) def _on_row_deleted(self, model, path): # sync treeview to mpd try: @@ -3046,6 +3086,14 @@ class PlaylistWindow(Gtk.Box): self._clear_button.set_sensitive(True) self._treeview.set_sensitive(True) + def _on_show_info(self, *args): + if self._treeview.has_focus(): + treeview, treeiter=self._selection.get_selected() + if treeiter is not None: + path=self._store.get_path(treeiter) + cell=self._treeview.get_cell_area(path, None) + self._song_popover.open(self._store[path][8], self._treeview, int(cell.x), int(cell.y)) + def _on_mini_player(self, obj, typestring): if obj.get_property("mini-player"): self.set_property("no-show-all", True) @@ -3642,13 +3690,13 @@ class ShortcutsWindow(Gtk.ShortcutsWindow): ("s", _("Toggle random mode"), None, playback_group), ("1", _("Toggle single mode"), None, playback_group), ("o", _("Toggle consume mode"), None, playback_group), - ("p", _("Play selected item (next)"), _("Left-click"), items_group), - ("a", _("Append selected item"), _("Middle-click"), items_group), - ("Return", _("Play selected item immediately"), _("Double-click"), items_group), - ("Menu", _("Show additional information"), _("Right-click"), items_group), + ("e", _("Enqueue selected item"), None, items_group), + ("plus", _("Append selected item"), _("Middle-click"), items_group), + ("Return", _("Play selected item immediately"), None, items_group), + ("i", _("Show additional information"), _("Right-click"), items_group), ("Delete", _("Remove selected song"), _("Middle-click"), playlist_group), ("Delete", _("Clear playlist"), None, playlist_group), - ("Menu", _("Show additional information"), _("Right-click"), playlist_group) + ("i", _("Show additional information"), _("Right-click"), playlist_group) ) for accel, title, subtitle, group in shortcut_data: shortcut=Gtk.ShortcutsShortcut(visible=True, accelerator=accel, title=title, subtitle=subtitle) @@ -3732,7 +3780,7 @@ class MainWindow(Gtk.ApplicationWindow): simple_actions_data=( "settings","stats","help","menu", "toggle-lyrics","back-to-current-album","toggle-search", - "profile-next","profile-prev" + "profile-next","profile-prev","show-info","append","play","enqueue" ) for name in simple_actions_data: action=Gio.SimpleAction.new(name, None) @@ -3885,6 +3933,18 @@ class MainWindow(Gtk.ApplicationWindow): current_profile=self._settings.get_int("active-profile") self._settings.set_int("active-profile", (current_profile-1)%total_profiles) + def _on_show_info(self, action, param): + self._client.emitter.emit("show-info") + + def _on_append(self, action, param): + self._client.emitter.emit("add-to-playlist", "append") + + def _on_play(self, action, param): + self._client.emitter.emit("add-to-playlist", "play") + + def _on_enqueue(self, action, param): + self._client.emitter.emit("add-to-playlist", "enqueue") + def _on_profiles(self, action, param): self._settings.set_int("active-profile", param.unpack()) action.set_state(param) @@ -3998,7 +4058,9 @@ class mpdevil(Gtk.Application): ("mpd.stop", ["space"]),("mpd.next", ["KP_Add"]),("mpd.prev", ["KP_Subtract"]), ("mpd.repeat", ["r"]),("mpd.random", ["s"]),("mpd.single", ["1"]), ("mpd.consume", ["o"]),("mpd.seek-forward", ["KP_Multiply"]),("mpd.seek-backward", ["KP_Divide"]), - ("win.profile-next", ["p"]),("win.profile-prev", ["p"]) + ("win.profile-next", ["p"]),("win.profile-prev", ["p"]), + ("win.show-info", ["i"]),("win.append", ["plus"]), + ("win.play", ["Return"]),("win.enqueue", ["e"]) ) for action, accels in action_accels: self.set_accels_for_action(action, accels) diff --git a/po/de.po b/po/de.po index 62444fa..c1ddbff 100644 --- a/po/de.po +++ b/po/de.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: \n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-02-12 16:57+0100\n" -"PO-Revision-Date: 2021-02-12 16:58+0100\n" +"POT-Creation-Date: 2021-03-26 16:18+0100\n" +"PO-Revision-Date: 2021-03-26 16:19+0100\n" "Last-Translator: \n" "Language-Team: \n" "Language: de\n" @@ -18,90 +18,90 @@ msgstr "" "X-Generator: Poedit 2.3.1\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: mpdevil:438 +#: mpdevil:443 #, python-brace-format msgid "{days} day" msgid_plural "{days} days" msgstr[0] "{days} Tag" msgstr[1] "{days} Tage" -#: mpdevil:473 +#: mpdevil:478 msgid "Unknown Title" msgstr "Unbekannter Titel" -#: mpdevil:802 +#: mpdevil:861 msgid "Main cover size:" msgstr "Größe des Haupt-Covers:" -#: mpdevil:803 +#: mpdevil:862 msgid "Album view cover size:" msgstr "Covergröße in Albumliste:" -#: mpdevil:804 +#: mpdevil:863 msgid "Action bar icon size:" msgstr "Symbolgröße Aktionsleiste:" -#: mpdevil:805 +#: mpdevil:864 msgid "Secondary icon size:" msgstr "Sekundäre Symbolgröße:" -#: mpdevil:818 +#: mpdevil:877 msgid "Use Client-side decoration" msgstr "„Client-side decoration“ benutzen" -#: mpdevil:819 +#: mpdevil:878 msgid "Show stop button" msgstr "Stopp-Knopf anzeigen" -#: mpdevil:820 +#: mpdevil:879 msgid "Show lyrics button" msgstr "Liedtext-Knopf anzeigen" -#: mpdevil:821 +#: mpdevil:880 msgid "Show initials in artist view" msgstr "Anfangsbuchstaben in Interpretenliste anzeigen" -#: mpdevil:822 +#: mpdevil:881 msgid "Place playlist at the side" msgstr "Wiedergabeliste seitlich anzeigen" -#: mpdevil:823 +#: mpdevil:882 msgid "Use “Album Artist” tag" msgstr "„Album Artist“ Tag benutzen" -#: mpdevil:824 +#: mpdevil:883 msgid "Send notification on title change" msgstr "Über Titelwechsel benachrichtigen" -#: mpdevil:825 +#: mpdevil:884 msgid "Stop playback on quit" msgstr "Wiedergabe beim Beenden stoppen" -#: mpdevil:826 +#: mpdevil:885 msgid "Play selected albums and titles immediately" msgstr "Ausgewählte Alben und Titel sofort abspielen" -#: mpdevil:827 +#: mpdevil:886 msgid "Sort albums by year" msgstr "Alben nach Jahr sortieren" -#: mpdevil:839 +#: mpdevil:898 msgid "View" msgstr "Ansicht" -#: mpdevil:840 +#: mpdevil:899 msgid "Behavior" msgstr "Verhalten" -#: mpdevil:860 +#: mpdevil:919 msgid "(restart required)" msgstr "(Neustart erforderlich)" -#: mpdevil:909 +#: mpdevil:968 msgid "_Connect" msgstr "_Verbinden" -#: mpdevil:925 +#: mpdevil:984 msgid "" "The first image in the same directory as the song file matching this regex " "will be displayed. %AlbumArtist% and %Album% will be replaced by the " @@ -111,161 +111,161 @@ msgstr "" "regulären Ausdruck entspricht, wird angezeigt. %AlbumArtist% und %Album% " "werden durch die entsprechenden Tags des Liedes ersetzt." -#: mpdevil:930 +#: mpdevil:989 msgid "Profile:" msgstr "Profil:" -#: mpdevil:931 +#: mpdevil:990 msgid "Name:" msgstr "Name:" -#: mpdevil:932 +#: mpdevil:991 msgid "Host:" msgstr "Host:" -#: mpdevil:933 +#: mpdevil:992 msgid "Password:" msgstr "Passwort:" -#: mpdevil:934 +#: mpdevil:993 msgid "Music lib:" msgstr "Musikverzeichnis:" -#: mpdevil:935 +#: mpdevil:994 msgid "Cover regex:" msgstr "Cover-Regex:" -#: mpdevil:1070 +#: mpdevil:1129 msgid "Choose directory" msgstr "Verzeichnis wählen" -#: mpdevil:1101 +#: mpdevil:1160 msgid "Choose the order of information to appear in the playlist:" msgstr "" "Lege die Reihenfolge fest, in der Informationen in der Wiedergabeliste " "angezeigt werden sollen:" -#: mpdevil:1118 mpdevil:1671 mpdevil:1766 mpdevil:2706 +#: mpdevil:1177 mpdevil:1716 mpdevil:1842 mpdevil:2842 msgid "No" msgstr "Nr." -#: mpdevil:1118 mpdevil:2707 +#: mpdevil:1177 mpdevil:2843 msgid "Disc" msgstr "CD" -#: mpdevil:1118 mpdevil:1674 mpdevil:1771 mpdevil:2708 +#: mpdevil:1177 mpdevil:1719 mpdevil:1847 mpdevil:2844 msgid "Title" msgstr "Titel" -#: mpdevil:1118 mpdevil:1777 mpdevil:2709 +#: mpdevil:1177 mpdevil:1853 mpdevil:2845 msgid "Artist" msgstr "Interpret" -#: mpdevil:1118 mpdevil:1783 mpdevil:2710 +#: mpdevil:1177 mpdevil:1859 mpdevil:2846 msgid "Album" msgstr "Album" -#: mpdevil:1118 mpdevil:1678 mpdevil:1789 mpdevil:2711 +#: mpdevil:1177 mpdevil:1722 mpdevil:1865 mpdevil:2847 msgid "Length" msgstr "Länge" -#: mpdevil:1118 mpdevil:2712 +#: mpdevil:1177 mpdevil:2848 msgid "Year" msgstr "Jahr" -#: mpdevil:1118 mpdevil:2713 +#: mpdevil:1177 mpdevil:2849 msgid "Genre" msgstr "Genre" -#: mpdevil:1234 mpdevil:1236 mpdevil:3666 +#: mpdevil:1293 mpdevil:1295 mpdevil:3813 msgid "Settings" msgstr "Einstellungen" -#: mpdevil:1249 mpdevil:1258 mpdevil:3513 +#: mpdevil:1308 mpdevil:1317 mpdevil:3659 msgid "General" msgstr "Allgemein" -#: mpdevil:1250 mpdevil:1259 mpdevil:3677 +#: mpdevil:1309 mpdevil:1318 mpdevil:3824 msgid "Profiles" msgstr "Profile" -#: mpdevil:1251 mpdevil:1260 mpdevil:3517 +#: mpdevil:1310 mpdevil:1319 mpdevil:3663 msgid "Playlist" msgstr "Wiedergabeliste" -#: mpdevil:1273 +#: mpdevil:1332 msgid "Stats" msgstr "Statistik" -#: mpdevil:1283 +#: mpdevil:1342 msgid "Protocol:" msgstr "Protokoll:" -#: mpdevil:1284 +#: mpdevil:1343 msgid "Uptime:" msgstr "Uptime:" -#: mpdevil:1285 +#: mpdevil:1344 msgid "Playtime:" msgstr "Wiedergabezeit:" -#: mpdevil:1286 +#: mpdevil:1345 msgid "Artists:" msgstr "Künstler:" -#: mpdevil:1287 +#: mpdevil:1346 msgid "Albums:" msgstr "Alben:" -#: mpdevil:1288 +#: mpdevil:1347 msgid "Songs:" msgstr "Titel:" -#: mpdevil:1289 +#: mpdevil:1348 msgid "Total Playtime:" msgstr "Gesamtwiedergabezeit:" -#: mpdevil:1290 +#: mpdevil:1349 msgid "Database Update:" msgstr "Datenbankaktualisierung:" -#: mpdevil:1314 +#: mpdevil:1373 msgid "A simple music browser for MPD" msgstr "Ein einfacher Musikbrowser für MPD" -#: mpdevil:1412 +#: mpdevil:1462 msgid "Open with…" msgstr "Öffnen mit…" -#: mpdevil:1430 +#: mpdevil:1482 msgid "MPD-Tag" msgstr "MPD-Tag" -#: mpdevil:1433 +#: mpdevil:1485 msgid "Value" msgstr "Wert" -#: mpdevil:1564 +#: mpdevil:1633 msgid "_Append" msgstr "_Anhängen" -#: mpdevil:1566 +#: mpdevil:1635 msgid "Add all titles to playlist" msgstr "Alle Titel der Wiedergabeliste anhängen" -#: mpdevil:1567 +#: mpdevil:1636 msgid "_Play" msgstr "Ab_spielen" -#: mpdevil:1569 +#: mpdevil:1638 msgid "Directly play all titles" msgstr "Alle Titel sofort abspielen" -#: mpdevil:1570 +#: mpdevil:1639 msgid "_Enqueue" msgstr "_Einreihen" -#: mpdevil:1572 +#: mpdevil:1641 msgid "" "Append all titles after the currently playing track and clear the playlist " "from all other songs" @@ -273,257 +273,258 @@ msgstr "" "Alle Titel hinter dem aktuellen Stück einreihen und die weitere " "Wiedergabeliste leeren" -#: mpdevil:1827 +#: mpdevil:1913 msgid "all tags" msgstr "Alle Tags" -#: mpdevil:1856 +#: mpdevil:1937 #, python-brace-format msgid "{hits} hit" msgid_plural "{hits} hits" msgstr[0] "{hits} Treffer" msgstr[1] "{hits} Treffer" -#: mpdevil:1894 +#: mpdevil:2009 msgid "all genres" msgstr "Alle Genres" -#: mpdevil:1996 +#: mpdevil:2113 msgid "all artists" msgstr "Alle Interpreten" -#: mpdevil:2180 mpdevil:2805 mpdevil:3091 mpdevil:3092 +#: mpdevil:2313 mpdevil:2945 mpdevil:3232 mpdevil:3233 #, python-brace-format msgid "{titles} title" msgid_plural "{titles} titles" msgstr[0] "{titles} Titel" msgstr[1] "{titles} Titel" -#: mpdevil:2182 +#: mpdevil:2315 #, python-brace-format msgid "on {discs} discs" msgstr "auf {discs} CDs" -#: mpdevil:2322 mpdevil:3536 +#: mpdevil:2452 mpdevil:3682 msgid "Back to current album" msgstr "Zurück zu aktuellem Album" -#: mpdevil:2324 +#: mpdevil:2454 msgid "Search" msgstr "Suche" -#: mpdevil:2500 +#: mpdevil:2630 msgid "searching..." msgstr "suche..." -#: mpdevil:2505 +#: mpdevil:2635 msgid "connection error" msgstr "Verbindungsfehler" -#: mpdevil:2507 +#: mpdevil:2637 msgid "lyrics not found" msgstr "Liedtext nicht gefunden" -#: mpdevil:2552 +#: mpdevil:2682 #, python-brace-format msgid "{channels} channel" msgid_plural "{channels} channels" msgstr[0] "{channels} Kanal" msgstr[1] "{channels} Kanäle" -#: mpdevil:2680 +#: mpdevil:2816 msgid "Scroll to current song" msgstr "Gehe zu aktuellem Lied" -#: mpdevil:2688 mpdevil:3552 +#: mpdevil:2824 mpdevil:3698 msgid "Clear playlist" msgstr "Wiedergabeliste leeren" -#: mpdevil:2982 +#: mpdevil:3123 msgid "Show lyrics" msgstr "Zeige Liedtext" -#: mpdevil:3300 +#: mpdevil:3442 msgid "Random mode" msgstr "Zufallsmodus" -#: mpdevil:3302 +#: mpdevil:3444 msgid "Repeat mode" msgstr "Dauerschleife" -#: mpdevil:3304 +#: mpdevil:3446 msgid "Single mode" msgstr "Einzelstückmodus" -#: mpdevil:3306 +#: mpdevil:3448 msgid "Consume mode" msgstr "Wiedergabeliste verbrauchen" -#: mpdevil:3514 +#: mpdevil:3660 msgid "Window" msgstr "Fenster" -#: mpdevil:3515 +#: mpdevil:3661 msgid "Playback" msgstr "Wiedergabe" -#: mpdevil:3516 +#: mpdevil:3662 msgid "Search, Album Dialog and Album List" msgstr "Suche, Albumdialog und Albumliste" -#: mpdevil:3526 +#: mpdevil:3672 msgid "Open online help" msgstr "Onlinehilfe öffnen" -#: mpdevil:3527 +#: mpdevil:3673 msgid "Open shortcuts window" msgstr "Tastenkürzelfenster öffnen" -#: mpdevil:3528 +#: mpdevil:3674 msgid "Open menu" msgstr "Menü öffnen" -#: mpdevil:3529 mpdevil:3672 +#: mpdevil:3675 mpdevil:3819 msgid "Update database" msgstr "Datenbank aktualisieren" -#: mpdevil:3530 mpdevil:3670 +#: mpdevil:3676 mpdevil:3817 msgid "Quit" msgstr "Beenden" -#: mpdevil:3531 +#: mpdevil:3677 msgid "Cycle through profiles" msgstr "Profile durchschalten" -#: mpdevil:3532 +#: mpdevil:3678 msgid "Cycle through profiles in reversed order" msgstr "Profile rückwärts durchschalten" -#: mpdevil:3533 +#: mpdevil:3679 msgid "Toggle mini player" msgstr "Miniplayer ein-/ausschalten" -#: mpdevil:3534 +#: mpdevil:3680 msgid "Toggle lyrics" msgstr "Liedtext ein-/ausblenden" -#: mpdevil:3535 +#: mpdevil:3681 msgid "Toggle search" msgstr "Suche ein-/ausblenden" -#: mpdevil:3537 +#: mpdevil:3683 msgid "Play/Pause" msgstr "Wiedergabe/Pause" -#: mpdevil:3538 +#: mpdevil:3684 msgid "Stop" msgstr "Stopp" -#: mpdevil:3539 +#: mpdevil:3685 msgid "Next title" msgstr "Nächster Titel" -#: mpdevil:3540 +#: mpdevil:3686 msgid "Previous title" msgstr "Vorheriger Titel" -#: mpdevil:3541 +#: mpdevil:3687 msgid "Seek forward" msgstr "Vorspulen" -#: mpdevil:3542 +#: mpdevil:3688 msgid "Seek backward" msgstr "Zurückspulen" -#: mpdevil:3543 +#: mpdevil:3689 msgid "Toggle repeat mode" msgstr "Dauerschleife ein-/ausschalten" -#: mpdevil:3544 +#: mpdevil:3690 msgid "Toggle random mode" msgstr "Zufallsmodus ein-/ausschalten" -#: mpdevil:3545 +#: mpdevil:3691 msgid "Toggle single mode" msgstr "Einzelstückmodus ein-/ausschalten" -#: mpdevil:3546 +#: mpdevil:3692 msgid "Toggle consume mode" msgstr "Wiedergabeliste verbrauchen ein-/ausschalten" -#: mpdevil:3547 -msgid "Play selected item (next)" -msgstr "Ausgewähltes Element (als Nächstes) abspielen" +#: mpdevil:3693 +msgid "Enqueue selected item" +msgstr "Ausgewähltes Element einreihen" -#: mpdevil:3547 -msgid "Left-click" -msgstr "Linksklick" - -#: mpdevil:3548 +#: mpdevil:3694 msgid "Append selected item" msgstr "Ausgewähltes Element anhängen" -#: mpdevil:3548 mpdevil:3551 +#: mpdevil:3694 mpdevil:3697 msgid "Middle-click" msgstr "Mittelklick" -#: mpdevil:3549 +#: mpdevil:3695 msgid "Play selected item immediately" msgstr "Ausgewähltes Element sofort abspielen" -#: mpdevil:3549 -msgid "Double-click" -msgstr "Doppelklick" - -#: mpdevil:3550 mpdevil:3553 +#: mpdevil:3696 mpdevil:3699 msgid "Show additional information" msgstr "Zeige weitere Informationen" -#: mpdevil:3550 mpdevil:3553 +#: mpdevil:3696 mpdevil:3699 msgid "Right-click" msgstr "Rechtsklick" -#: mpdevil:3551 +#: mpdevil:3697 msgid "Remove selected song" msgstr "Ausgewählten Titel entfernen" -#: mpdevil:3577 +#: mpdevil:3723 msgid "Connect" msgstr "Verbinden" -#: mpdevil:3595 +#: mpdevil:3741 #, python-brace-format msgid "Connection to “{profile}” ({host}:{port}) failed" msgstr "Verbindung zu „{profile}“ ({host}:{port}) fehlgeschlagen" -#: mpdevil:3667 +#: mpdevil:3814 msgid "Keyboard shortcuts" msgstr "Tastenkürzel" -#: mpdevil:3668 +#: mpdevil:3815 msgid "Help" msgstr "Hilfe" -#: mpdevil:3669 +#: mpdevil:3816 msgid "About" msgstr "Über" -#: mpdevil:3673 +#: mpdevil:3820 msgid "Server stats" msgstr "Serverstatistik" -#: mpdevil:3678 +#: mpdevil:3825 msgid "Mini player" msgstr "Miniplayer" -#: mpdevil:3683 +#: mpdevil:3830 msgid "Menu" msgstr "Menü" -#: mpdevil:3734 mpdevil:3736 +#: mpdevil:3880 mpdevil:3882 msgid "connecting…" msgstr "verbinden…" +#~ msgid "Play selected item (next)" +#~ msgstr "Ausgewähltes Element (als Nächstes) abspielen" + +#~ msgid "Left-click" +#~ msgstr "Linksklick" + +#~ msgid "Double-click" +#~ msgstr "Doppelklick" + #~ msgid "Sort albums in chronological order" #~ msgstr "Alben chronologisch sortieren" diff --git a/po/mpdevil.pot b/po/mpdevil.pot index fcdd90e..ec9a798 100644 --- a/po/mpdevil.pot +++ b/po/mpdevil.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-02-12 16:57+0100\n" +"POT-Creation-Date: 2021-03-26 16:18+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -18,501 +18,493 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\n" -#: mpdevil:438 +#: mpdevil:443 #, python-brace-format msgid "{days} day" msgid_plural "{days} days" msgstr[0] "" msgstr[1] "" -#: mpdevil:473 +#: mpdevil:478 msgid "Unknown Title" msgstr "" -#: mpdevil:802 +#: mpdevil:861 msgid "Main cover size:" msgstr "" -#: mpdevil:803 +#: mpdevil:862 msgid "Album view cover size:" msgstr "" -#: mpdevil:804 +#: mpdevil:863 msgid "Action bar icon size:" msgstr "" -#: mpdevil:805 +#: mpdevil:864 msgid "Secondary icon size:" msgstr "" -#: mpdevil:818 +#: mpdevil:877 msgid "Use Client-side decoration" msgstr "" -#: mpdevil:819 +#: mpdevil:878 msgid "Show stop button" msgstr "" -#: mpdevil:820 +#: mpdevil:879 msgid "Show lyrics button" msgstr "" -#: mpdevil:821 +#: mpdevil:880 msgid "Show initials in artist view" msgstr "" -#: mpdevil:822 +#: mpdevil:881 msgid "Place playlist at the side" msgstr "" -#: mpdevil:823 +#: mpdevil:882 msgid "Use “Album Artist” tag" msgstr "" -#: mpdevil:824 +#: mpdevil:883 msgid "Send notification on title change" msgstr "" -#: mpdevil:825 +#: mpdevil:884 msgid "Stop playback on quit" msgstr "" -#: mpdevil:826 +#: mpdevil:885 msgid "Play selected albums and titles immediately" msgstr "" -#: mpdevil:827 +#: mpdevil:886 msgid "Sort albums by year" msgstr "" -#: mpdevil:839 +#: mpdevil:898 msgid "View" msgstr "" -#: mpdevil:840 +#: mpdevil:899 msgid "Behavior" msgstr "" -#: mpdevil:860 +#: mpdevil:919 msgid "(restart required)" msgstr "" -#: mpdevil:909 +#: mpdevil:968 msgid "_Connect" msgstr "" -#: mpdevil:925 +#: mpdevil:984 msgid "" "The first image in the same directory as the song file matching this regex " "will be displayed. %AlbumArtist% and %Album% will be replaced by the " "corresponding tags of the song." msgstr "" -#: mpdevil:930 +#: mpdevil:989 msgid "Profile:" msgstr "" -#: mpdevil:931 +#: mpdevil:990 msgid "Name:" msgstr "" -#: mpdevil:932 +#: mpdevil:991 msgid "Host:" msgstr "" -#: mpdevil:933 +#: mpdevil:992 msgid "Password:" msgstr "" -#: mpdevil:934 +#: mpdevil:993 msgid "Music lib:" msgstr "" -#: mpdevil:935 +#: mpdevil:994 msgid "Cover regex:" msgstr "" -#: mpdevil:1070 +#: mpdevil:1129 msgid "Choose directory" msgstr "" -#: mpdevil:1101 +#: mpdevil:1160 msgid "Choose the order of information to appear in the playlist:" msgstr "" -#: mpdevil:1118 mpdevil:1671 mpdevil:1766 mpdevil:2706 +#: mpdevil:1177 mpdevil:1716 mpdevil:1842 mpdevil:2842 msgid "No" msgstr "" -#: mpdevil:1118 mpdevil:2707 +#: mpdevil:1177 mpdevil:2843 msgid "Disc" msgstr "" -#: mpdevil:1118 mpdevil:1674 mpdevil:1771 mpdevil:2708 +#: mpdevil:1177 mpdevil:1719 mpdevil:1847 mpdevil:2844 msgid "Title" msgstr "" -#: mpdevil:1118 mpdevil:1777 mpdevil:2709 +#: mpdevil:1177 mpdevil:1853 mpdevil:2845 msgid "Artist" msgstr "" -#: mpdevil:1118 mpdevil:1783 mpdevil:2710 +#: mpdevil:1177 mpdevil:1859 mpdevil:2846 msgid "Album" msgstr "" -#: mpdevil:1118 mpdevil:1678 mpdevil:1789 mpdevil:2711 +#: mpdevil:1177 mpdevil:1722 mpdevil:1865 mpdevil:2847 msgid "Length" msgstr "" -#: mpdevil:1118 mpdevil:2712 +#: mpdevil:1177 mpdevil:2848 msgid "Year" msgstr "" -#: mpdevil:1118 mpdevil:2713 +#: mpdevil:1177 mpdevil:2849 msgid "Genre" msgstr "" -#: mpdevil:1234 mpdevil:1236 mpdevil:3666 +#: mpdevil:1293 mpdevil:1295 mpdevil:3813 msgid "Settings" msgstr "" -#: mpdevil:1249 mpdevil:1258 mpdevil:3513 +#: mpdevil:1308 mpdevil:1317 mpdevil:3659 msgid "General" msgstr "" -#: mpdevil:1250 mpdevil:1259 mpdevil:3677 +#: mpdevil:1309 mpdevil:1318 mpdevil:3824 msgid "Profiles" msgstr "" -#: mpdevil:1251 mpdevil:1260 mpdevil:3517 +#: mpdevil:1310 mpdevil:1319 mpdevil:3663 msgid "Playlist" msgstr "" -#: mpdevil:1273 +#: mpdevil:1332 msgid "Stats" msgstr "" -#: mpdevil:1283 +#: mpdevil:1342 msgid "Protocol:" msgstr "" -#: mpdevil:1284 +#: mpdevil:1343 msgid "Uptime:" msgstr "" -#: mpdevil:1285 +#: mpdevil:1344 msgid "Playtime:" msgstr "" -#: mpdevil:1286 +#: mpdevil:1345 msgid "Artists:" msgstr "" -#: mpdevil:1287 +#: mpdevil:1346 msgid "Albums:" msgstr "" -#: mpdevil:1288 +#: mpdevil:1347 msgid "Songs:" msgstr "" -#: mpdevil:1289 +#: mpdevil:1348 msgid "Total Playtime:" msgstr "" -#: mpdevil:1290 +#: mpdevil:1349 msgid "Database Update:" msgstr "" -#: mpdevil:1314 +#: mpdevil:1373 msgid "A simple music browser for MPD" msgstr "" -#: mpdevil:1412 +#: mpdevil:1462 msgid "Open with…" msgstr "" -#: mpdevil:1430 +#: mpdevil:1482 msgid "MPD-Tag" msgstr "" -#: mpdevil:1433 +#: mpdevil:1485 msgid "Value" msgstr "" -#: mpdevil:1564 +#: mpdevil:1633 msgid "_Append" msgstr "" -#: mpdevil:1566 +#: mpdevil:1635 msgid "Add all titles to playlist" msgstr "" -#: mpdevil:1567 +#: mpdevil:1636 msgid "_Play" msgstr "" -#: mpdevil:1569 +#: mpdevil:1638 msgid "Directly play all titles" msgstr "" -#: mpdevil:1570 +#: mpdevil:1639 msgid "_Enqueue" msgstr "" -#: mpdevil:1572 +#: mpdevil:1641 msgid "" "Append all titles after the currently playing track and clear the playlist " "from all other songs" msgstr "" -#: mpdevil:1827 +#: mpdevil:1913 msgid "all tags" msgstr "" -#: mpdevil:1856 +#: mpdevil:1937 #, python-brace-format msgid "{hits} hit" msgid_plural "{hits} hits" msgstr[0] "" msgstr[1] "" -#: mpdevil:1894 +#: mpdevil:2009 msgid "all genres" msgstr "" -#: mpdevil:1996 +#: mpdevil:2113 msgid "all artists" msgstr "" -#: mpdevil:2180 mpdevil:2805 mpdevil:3091 mpdevil:3092 +#: mpdevil:2313 mpdevil:2945 mpdevil:3232 mpdevil:3233 #, python-brace-format msgid "{titles} title" msgid_plural "{titles} titles" msgstr[0] "" msgstr[1] "" -#: mpdevil:2182 +#: mpdevil:2315 #, python-brace-format msgid "on {discs} discs" msgstr "" -#: mpdevil:2322 mpdevil:3536 +#: mpdevil:2452 mpdevil:3682 msgid "Back to current album" msgstr "" -#: mpdevil:2324 +#: mpdevil:2454 msgid "Search" msgstr "" -#: mpdevil:2500 +#: mpdevil:2630 msgid "searching..." msgstr "" -#: mpdevil:2505 +#: mpdevil:2635 msgid "connection error" msgstr "" -#: mpdevil:2507 +#: mpdevil:2637 msgid "lyrics not found" msgstr "" -#: mpdevil:2552 +#: mpdevil:2682 #, python-brace-format msgid "{channels} channel" msgid_plural "{channels} channels" msgstr[0] "" msgstr[1] "" -#: mpdevil:2680 +#: mpdevil:2816 msgid "Scroll to current song" msgstr "" -#: mpdevil:2688 mpdevil:3552 +#: mpdevil:2824 mpdevil:3698 msgid "Clear playlist" msgstr "" -#: mpdevil:2982 +#: mpdevil:3123 msgid "Show lyrics" msgstr "" -#: mpdevil:3300 +#: mpdevil:3442 msgid "Random mode" msgstr "" -#: mpdevil:3302 +#: mpdevil:3444 msgid "Repeat mode" msgstr "" -#: mpdevil:3304 +#: mpdevil:3446 msgid "Single mode" msgstr "" -#: mpdevil:3306 +#: mpdevil:3448 msgid "Consume mode" msgstr "" -#: mpdevil:3514 +#: mpdevil:3660 msgid "Window" msgstr "" -#: mpdevil:3515 +#: mpdevil:3661 msgid "Playback" msgstr "" -#: mpdevil:3516 +#: mpdevil:3662 msgid "Search, Album Dialog and Album List" msgstr "" -#: mpdevil:3526 +#: mpdevil:3672 msgid "Open online help" msgstr "" -#: mpdevil:3527 +#: mpdevil:3673 msgid "Open shortcuts window" msgstr "" -#: mpdevil:3528 +#: mpdevil:3674 msgid "Open menu" msgstr "" -#: mpdevil:3529 mpdevil:3672 +#: mpdevil:3675 mpdevil:3819 msgid "Update database" msgstr "" -#: mpdevil:3530 mpdevil:3670 +#: mpdevil:3676 mpdevil:3817 msgid "Quit" msgstr "" -#: mpdevil:3531 +#: mpdevil:3677 msgid "Cycle through profiles" msgstr "" -#: mpdevil:3532 +#: mpdevil:3678 msgid "Cycle through profiles in reversed order" msgstr "" -#: mpdevil:3533 +#: mpdevil:3679 msgid "Toggle mini player" msgstr "" -#: mpdevil:3534 +#: mpdevil:3680 msgid "Toggle lyrics" msgstr "" -#: mpdevil:3535 +#: mpdevil:3681 msgid "Toggle search" msgstr "" -#: mpdevil:3537 +#: mpdevil:3683 msgid "Play/Pause" msgstr "" -#: mpdevil:3538 +#: mpdevil:3684 msgid "Stop" msgstr "" -#: mpdevil:3539 +#: mpdevil:3685 msgid "Next title" msgstr "" -#: mpdevil:3540 +#: mpdevil:3686 msgid "Previous title" msgstr "" -#: mpdevil:3541 +#: mpdevil:3687 msgid "Seek forward" msgstr "" -#: mpdevil:3542 +#: mpdevil:3688 msgid "Seek backward" msgstr "" -#: mpdevil:3543 +#: mpdevil:3689 msgid "Toggle repeat mode" msgstr "" -#: mpdevil:3544 +#: mpdevil:3690 msgid "Toggle random mode" msgstr "" -#: mpdevil:3545 +#: mpdevil:3691 msgid "Toggle single mode" msgstr "" -#: mpdevil:3546 +#: mpdevil:3692 msgid "Toggle consume mode" msgstr "" -#: mpdevil:3547 -msgid "Play selected item (next)" +#: mpdevil:3693 +msgid "Enqueue selected item" msgstr "" -#: mpdevil:3547 -msgid "Left-click" -msgstr "" - -#: mpdevil:3548 +#: mpdevil:3694 msgid "Append selected item" msgstr "" -#: mpdevil:3548 mpdevil:3551 +#: mpdevil:3694 mpdevil:3697 msgid "Middle-click" msgstr "" -#: mpdevil:3549 +#: mpdevil:3695 msgid "Play selected item immediately" msgstr "" -#: mpdevil:3549 -msgid "Double-click" -msgstr "" - -#: mpdevil:3550 mpdevil:3553 +#: mpdevil:3696 mpdevil:3699 msgid "Show additional information" msgstr "" -#: mpdevil:3550 mpdevil:3553 +#: mpdevil:3696 mpdevil:3699 msgid "Right-click" msgstr "" -#: mpdevil:3551 +#: mpdevil:3697 msgid "Remove selected song" msgstr "" -#: mpdevil:3577 +#: mpdevil:3723 msgid "Connect" msgstr "" -#: mpdevil:3595 +#: mpdevil:3741 #, python-brace-format msgid "Connection to “{profile}” ({host}:{port}) failed" msgstr "" -#: mpdevil:3667 +#: mpdevil:3814 msgid "Keyboard shortcuts" msgstr "" -#: mpdevil:3668 +#: mpdevil:3815 msgid "Help" msgstr "" -#: mpdevil:3669 +#: mpdevil:3816 msgid "About" msgstr "" -#: mpdevil:3673 +#: mpdevil:3820 msgid "Server stats" msgstr "" -#: mpdevil:3678 +#: mpdevil:3825 msgid "Mini player" msgstr "" -#: mpdevil:3683 +#: mpdevil:3830 msgid "Menu" msgstr "" -#: mpdevil:3734 mpdevil:3736 +#: mpdevil:3880 mpdevil:3882 msgid "connecting…" msgstr "" diff --git a/po/nl.po b/po/nl.po index d017367..c48e576 100644 --- a/po/nl.po +++ b/po/nl.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: \n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-02-12 16:57+0100\n" -"PO-Revision-Date: 2021-02-12 16:59+0100\n" +"POT-Creation-Date: 2021-03-26 16:18+0100\n" +"PO-Revision-Date: 2021-03-26 16:31+0100\n" "Last-Translator: \n" "Language-Team: \n" "Language: nl\n" @@ -18,90 +18,90 @@ msgstr "" "X-Generator: Poedit 2.3.1\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: mpdevil:438 +#: mpdevil:443 #, python-brace-format msgid "{days} day" msgid_plural "{days} days" msgstr[0] "{days} dag" msgstr[1] "{days} dagen" -#: mpdevil:473 +#: mpdevil:478 msgid "Unknown Title" msgstr "Onbekende titel" -#: mpdevil:802 +#: mpdevil:861 msgid "Main cover size:" msgstr "Grootte albumhoes:" -#: mpdevil:803 +#: mpdevil:862 msgid "Album view cover size:" msgstr "Hoesgrootte in albumlijst:" -#: mpdevil:804 +#: mpdevil:863 msgid "Action bar icon size:" msgstr "Grootte iconen werkbalk:" -#: mpdevil:805 +#: mpdevil:864 msgid "Secondary icon size:" msgstr "Grootte overige iconen:" -#: mpdevil:818 +#: mpdevil:877 msgid "Use Client-side decoration" msgstr "Gebruik vensterdecoratie van mpdevil" -#: mpdevil:819 +#: mpdevil:878 msgid "Show stop button" msgstr "Toon stopknop" -#: mpdevil:820 +#: mpdevil:879 msgid "Show lyrics button" msgstr "Toon songtekstknop" -#: mpdevil:821 +#: mpdevil:880 msgid "Show initials in artist view" msgstr "Toon beginletters in artiestenlijst" -#: mpdevil:822 +#: mpdevil:881 msgid "Place playlist at the side" msgstr "Plaats afspeellijst aan de zijkant" -#: mpdevil:823 +#: mpdevil:882 msgid "Use “Album Artist” tag" msgstr "Gebruik tag \"Album Artist\"" -#: mpdevil:824 +#: mpdevil:883 msgid "Send notification on title change" msgstr "Verstuur een melding bij titelwisseling" -#: mpdevil:825 +#: mpdevil:884 msgid "Stop playback on quit" msgstr "Stop afspelen bij afsluiten" -#: mpdevil:826 +#: mpdevil:885 msgid "Play selected albums and titles immediately" msgstr "Geselecteerde albums en titels direct afspelen" -#: mpdevil:827 +#: mpdevil:886 msgid "Sort albums by year" msgstr "Sorteer albums op jaar" -#: mpdevil:839 +#: mpdevil:898 msgid "View" msgstr "Beeld" -#: mpdevil:840 +#: mpdevil:899 msgid "Behavior" msgstr "Gedrag" -#: mpdevil:860 +#: mpdevil:919 msgid "(restart required)" msgstr "(herstart vereist)" -#: mpdevil:909 +#: mpdevil:968 msgid "_Connect" msgstr "_Verbinden" -#: mpdevil:925 +#: mpdevil:984 msgid "" "The first image in the same directory as the song file matching this regex " "will be displayed. %AlbumArtist% and %Album% will be replaced by the " @@ -111,159 +111,159 @@ msgstr "" "met deze regex wordt getoond. %AlbumArtist% en %Album% worden vervangen door " "de bijbehorende tags van het muziekbestand." -#: mpdevil:930 +#: mpdevil:989 msgid "Profile:" msgstr "Profiel:" -#: mpdevil:931 +#: mpdevil:990 msgid "Name:" msgstr "Naam:" -#: mpdevil:932 +#: mpdevil:991 msgid "Host:" msgstr "Host:" -#: mpdevil:933 +#: mpdevil:992 msgid "Password:" msgstr "Wachtwoord:" -#: mpdevil:934 +#: mpdevil:993 msgid "Music lib:" msgstr "Muziekmap:" -#: mpdevil:935 +#: mpdevil:994 msgid "Cover regex:" msgstr "Regex albumhoes:" -#: mpdevil:1070 +#: mpdevil:1129 msgid "Choose directory" msgstr "Kies een map" -#: mpdevil:1101 +#: mpdevil:1160 msgid "Choose the order of information to appear in the playlist:" msgstr "Kies de volgorde van de informatie getoond in de afspeellijst:" -#: mpdevil:1118 mpdevil:1671 mpdevil:1766 mpdevil:2706 +#: mpdevil:1177 mpdevil:1716 mpdevil:1842 mpdevil:2842 msgid "No" msgstr "Nr" -#: mpdevil:1118 mpdevil:2707 +#: mpdevil:1177 mpdevil:2843 msgid "Disc" msgstr "Disc" -#: mpdevil:1118 mpdevil:1674 mpdevil:1771 mpdevil:2708 +#: mpdevil:1177 mpdevil:1719 mpdevil:1847 mpdevil:2844 msgid "Title" msgstr "Titel" -#: mpdevil:1118 mpdevil:1777 mpdevil:2709 +#: mpdevil:1177 mpdevil:1853 mpdevil:2845 msgid "Artist" msgstr "Artiest" -#: mpdevil:1118 mpdevil:1783 mpdevil:2710 +#: mpdevil:1177 mpdevil:1859 mpdevil:2846 msgid "Album" msgstr "Album" -#: mpdevil:1118 mpdevil:1678 mpdevil:1789 mpdevil:2711 +#: mpdevil:1177 mpdevil:1722 mpdevil:1865 mpdevil:2847 msgid "Length" msgstr "Lengte" -#: mpdevil:1118 mpdevil:2712 +#: mpdevil:1177 mpdevil:2848 msgid "Year" msgstr "Jaar" -#: mpdevil:1118 mpdevil:2713 +#: mpdevil:1177 mpdevil:2849 msgid "Genre" msgstr "Genre" -#: mpdevil:1234 mpdevil:1236 mpdevil:3666 +#: mpdevil:1293 mpdevil:1295 mpdevil:3813 msgid "Settings" msgstr "Instellingen" -#: mpdevil:1249 mpdevil:1258 mpdevil:3513 +#: mpdevil:1308 mpdevil:1317 mpdevil:3659 msgid "General" msgstr "Algemeen" -#: mpdevil:1250 mpdevil:1259 mpdevil:3677 +#: mpdevil:1309 mpdevil:1318 mpdevil:3824 msgid "Profiles" msgstr "Profielen" -#: mpdevil:1251 mpdevil:1260 mpdevil:3517 +#: mpdevil:1310 mpdevil:1319 mpdevil:3663 msgid "Playlist" msgstr "Afspeellijst" -#: mpdevil:1273 +#: mpdevil:1332 msgid "Stats" msgstr "Statistieken" -#: mpdevil:1283 +#: mpdevil:1342 msgid "Protocol:" msgstr "Protocol:" -#: mpdevil:1284 +#: mpdevil:1343 msgid "Uptime:" msgstr "Uptime:" -#: mpdevil:1285 +#: mpdevil:1344 msgid "Playtime:" msgstr "Afspeeltijd:" -#: mpdevil:1286 +#: mpdevil:1345 msgid "Artists:" msgstr "Artiesten:" -#: mpdevil:1287 +#: mpdevil:1346 msgid "Albums:" msgstr "Albums:" -#: mpdevil:1288 +#: mpdevil:1347 msgid "Songs:" msgstr "Titels:" -#: mpdevil:1289 +#: mpdevil:1348 msgid "Total Playtime:" msgstr "Totale speelduur:" -#: mpdevil:1290 +#: mpdevil:1349 msgid "Database Update:" msgstr "Database bijgewerkt:" -#: mpdevil:1314 +#: mpdevil:1373 msgid "A simple music browser for MPD" msgstr "Een simpele muziekspeler voor MPD" -#: mpdevil:1412 +#: mpdevil:1462 msgid "Open with…" msgstr "Openen met…" -#: mpdevil:1430 +#: mpdevil:1482 msgid "MPD-Tag" msgstr "MPD-Tag" -#: mpdevil:1433 +#: mpdevil:1485 msgid "Value" msgstr "Waarde" -#: mpdevil:1564 +#: mpdevil:1633 msgid "_Append" msgstr "_Toevoegen" -#: mpdevil:1566 +#: mpdevil:1635 msgid "Add all titles to playlist" msgstr "Voeg alle titels toe aan de afspeellijst" -#: mpdevil:1567 +#: mpdevil:1636 msgid "_Play" msgstr "_Afspelen" -#: mpdevil:1569 +#: mpdevil:1638 msgid "Directly play all titles" msgstr "Alle titels direct afspelen" -#: mpdevil:1570 +#: mpdevil:1639 msgid "_Enqueue" msgstr "_In wachtrij plaatsen" -#: mpdevil:1572 +#: mpdevil:1641 msgid "" "Append all titles after the currently playing track and clear the playlist " "from all other songs" @@ -271,257 +271,258 @@ msgstr "" "Alle titels toevoegen na de nu spelende titel en alle overige titels uit de " "afspeellijst verwijderen" -#: mpdevil:1827 +#: mpdevil:1913 msgid "all tags" msgstr "alle tags" -#: mpdevil:1856 +#: mpdevil:1937 #, python-brace-format msgid "{hits} hit" msgid_plural "{hits} hits" msgstr[0] "{hits} hit" msgstr[1] "{hits} treffers" -#: mpdevil:1894 +#: mpdevil:2009 msgid "all genres" msgstr "alle genres" -#: mpdevil:1996 +#: mpdevil:2113 msgid "all artists" msgstr "alle artiesten" -#: mpdevil:2180 mpdevil:2805 mpdevil:3091 mpdevil:3092 +#: mpdevil:2313 mpdevil:2945 mpdevil:3232 mpdevil:3233 #, python-brace-format msgid "{titles} title" msgid_plural "{titles} titles" msgstr[0] "{titles} titel" msgstr[1] "{titles} titels" -#: mpdevil:2182 +#: mpdevil:2315 #, python-brace-format msgid "on {discs} discs" msgstr "op {discs} discs" -#: mpdevil:2322 mpdevil:3536 +#: mpdevil:2452 mpdevil:3682 msgid "Back to current album" msgstr "Terug naar huidige album" -#: mpdevil:2324 +#: mpdevil:2454 msgid "Search" msgstr "Zoeken" -#: mpdevil:2500 +#: mpdevil:2630 msgid "searching..." msgstr "bezig met zoeken..." -#: mpdevil:2505 +#: mpdevil:2635 msgid "connection error" msgstr "verbindingsfout" -#: mpdevil:2507 +#: mpdevil:2637 msgid "lyrics not found" msgstr "geen songtekst gevonden" -#: mpdevil:2552 +#: mpdevil:2682 #, python-brace-format msgid "{channels} channel" msgid_plural "{channels} channels" msgstr[0] "{channels} kanaal" msgstr[1] "{channels} kanalen" -#: mpdevil:2680 +#: mpdevil:2816 msgid "Scroll to current song" msgstr "Naar de huidige titel scrollen" -#: mpdevil:2688 mpdevil:3552 +#: mpdevil:2824 mpdevil:3698 msgid "Clear playlist" msgstr "Afspeellijst legen" -#: mpdevil:2982 +#: mpdevil:3123 msgid "Show lyrics" msgstr "Toon songtekst" -#: mpdevil:3300 +#: mpdevil:3442 msgid "Random mode" msgstr "Willekeurige modus" -#: mpdevil:3302 +#: mpdevil:3444 msgid "Repeat mode" msgstr "Herhaalmodus" -#: mpdevil:3304 +#: mpdevil:3446 msgid "Single mode" msgstr "Enkele modus" -#: mpdevil:3306 +#: mpdevil:3448 msgid "Consume mode" msgstr "Verbruiksmodus" -#: mpdevil:3514 +#: mpdevil:3660 msgid "Window" msgstr "Venster" -#: mpdevil:3515 +#: mpdevil:3661 msgid "Playback" msgstr "Afspelen" -#: mpdevil:3516 +#: mpdevil:3662 msgid "Search, Album Dialog and Album List" msgstr "Zoeken, Albumdialoog en Albumlijst" -#: mpdevil:3526 +#: mpdevil:3672 msgid "Open online help" msgstr "Online hulp openen" -#: mpdevil:3527 +#: mpdevil:3673 msgid "Open shortcuts window" msgstr "Venster met sneltoetsen openen" -#: mpdevil:3528 +#: mpdevil:3674 msgid "Open menu" msgstr "Menu openen" -#: mpdevil:3529 mpdevil:3672 +#: mpdevil:3675 mpdevil:3819 msgid "Update database" msgstr "Database bijwerken" -#: mpdevil:3530 mpdevil:3670 +#: mpdevil:3676 mpdevil:3817 msgid "Quit" msgstr "Stoppen" -#: mpdevil:3531 +#: mpdevil:3677 msgid "Cycle through profiles" msgstr "Profielen doorlopen" -#: mpdevil:3532 +#: mpdevil:3678 msgid "Cycle through profiles in reversed order" msgstr "Profielen doorlopen in omgekeerde volgorde" -#: mpdevil:3533 +#: mpdevil:3679 msgid "Toggle mini player" msgstr "Omschakelen naar minispeler" -#: mpdevil:3534 +#: mpdevil:3680 msgid "Toggle lyrics" msgstr "Omschakelen naar songtekst" -#: mpdevil:3535 +#: mpdevil:3681 msgid "Toggle search" msgstr "Omschakelen naar zoeken" -#: mpdevil:3537 +#: mpdevil:3683 msgid "Play/Pause" msgstr "Afspelen/Pauzeren" -#: mpdevil:3538 +#: mpdevil:3684 msgid "Stop" msgstr "Stoppen" -#: mpdevil:3539 +#: mpdevil:3685 msgid "Next title" msgstr "Volgende titel" -#: mpdevil:3540 +#: mpdevil:3686 msgid "Previous title" msgstr "Vorige titel" -#: mpdevil:3541 +#: mpdevil:3687 msgid "Seek forward" msgstr "Vooruit spoelen" -#: mpdevil:3542 +#: mpdevil:3688 msgid "Seek backward" msgstr "Achteruit spoelen" -#: mpdevil:3543 +#: mpdevil:3689 msgid "Toggle repeat mode" msgstr "Omschakelen naar herhaalmodus" -#: mpdevil:3544 +#: mpdevil:3690 msgid "Toggle random mode" msgstr "Omschakelen naar willekeurige modus" -#: mpdevil:3545 +#: mpdevil:3691 msgid "Toggle single mode" msgstr "Omschakelen naar enkele modus" -#: mpdevil:3546 +#: mpdevil:3692 msgid "Toggle consume mode" msgstr "Omschakelen naar verbruiksmodus" -#: mpdevil:3547 -msgid "Play selected item (next)" -msgstr "Geselecteerde item afspelen (volgende)" +#: mpdevil:3693 +msgid "Enqueue selected item" +msgstr "Geselecteerde item in wachtrij plaatsen" -#: mpdevil:3547 -msgid "Left-click" -msgstr "Linksklik" - -#: mpdevil:3548 +#: mpdevil:3694 msgid "Append selected item" msgstr "Geselecteerde item toevoegen" -#: mpdevil:3548 mpdevil:3551 +#: mpdevil:3694 mpdevil:3697 msgid "Middle-click" msgstr "Middelklik" -#: mpdevil:3549 +#: mpdevil:3695 msgid "Play selected item immediately" msgstr "Geselecteerde item direct afspelen" -#: mpdevil:3549 -msgid "Double-click" -msgstr "Dubbelklik" - -#: mpdevil:3550 mpdevil:3553 +#: mpdevil:3696 mpdevil:3699 msgid "Show additional information" msgstr "Toon extra informatie" -#: mpdevil:3550 mpdevil:3553 +#: mpdevil:3696 mpdevil:3699 msgid "Right-click" msgstr "Rechtsklik" -#: mpdevil:3551 +#: mpdevil:3697 msgid "Remove selected song" msgstr "Geselecteerde titel verwijderen" -#: mpdevil:3577 +#: mpdevil:3723 msgid "Connect" msgstr "Verbinden" -#: mpdevil:3595 +#: mpdevil:3741 #, python-brace-format msgid "Connection to “{profile}” ({host}:{port}) failed" msgstr "Verbinding met “{profile}” ({host}:{port}) mislukt" -#: mpdevil:3667 +#: mpdevil:3814 msgid "Keyboard shortcuts" msgstr "Sneltoetsen" -#: mpdevil:3668 +#: mpdevil:3815 msgid "Help" msgstr "Hulp" -#: mpdevil:3669 +#: mpdevil:3816 msgid "About" msgstr "Over" -#: mpdevil:3673 +#: mpdevil:3820 msgid "Server stats" msgstr "Serverstatistieken" -#: mpdevil:3678 +#: mpdevil:3825 msgid "Mini player" msgstr "Minispeler" -#: mpdevil:3683 +#: mpdevil:3830 msgid "Menu" msgstr "Menu" -#: mpdevil:3734 mpdevil:3736 +#: mpdevil:3880 mpdevil:3882 msgid "connecting…" msgstr "verbinding maken…" +#~ msgid "Play selected item (next)" +#~ msgstr "Geselecteerde item afspelen (volgende)" + +#~ msgid "Left-click" +#~ msgstr "Linksklik" + +#~ msgid "Double-click" +#~ msgstr "Dubbelklik" + #~ msgid "Sort albums in chronological order" #~ msgstr "Sorteer albums in chronologische volgorde"