unified shortcuts in borwser

This commit is contained in:
Martin Wagner
2021-03-26 16:39:21 +01:00
parent 2b9475efe7
commit 046dfa4ff7
4 changed files with 517 additions and 461 deletions

View File

@ -502,7 +502,7 @@ class ClientHelper():
length=length+float(song.get("duration", 0.0)) length=length+float(song.get("duration", 0.0))
return ClientHelper.seconds_to_display_time(int(length)) return ClientHelper.seconds_to_display_time(int(length))
class MpdEventEmitter(GObject.Object): class EventEmitter(GObject.Object):
__gsignals__={ __gsignals__={
"update": (GObject.SignalFlags.RUN_FIRST, None, ()), "update": (GObject.SignalFlags.RUN_FIRST, None, ()),
"disconnected": (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,)), "single": (GObject.SignalFlags.RUN_FIRST, None, (str,)),
"consume": (GObject.SignalFlags.RUN_FIRST, None, (bool,)), "consume": (GObject.SignalFlags.RUN_FIRST, None, (bool,)),
"audio": (GObject.SignalFlags.RUN_FIRST, None, (str,str,str,)), "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): def __init__(self):
@ -530,7 +532,7 @@ class Client(MPDClient):
# adding vars # adding vars
self._settings=settings self._settings=settings
self.emitter=MpdEventEmitter() self.emitter=EventEmitter()
self._last_status={} self._last_status={}
self._refresh_interval=self._settings.get_int("refresh-interval") self._refresh_interval=self._settings.get_int("refresh-interval")
self._main_timeout_id=None 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) songs=self.find("album", album, "date", year, self._settings.get_artist_type(), artist)
self.files_to_playlist([song["file"] for song in songs], mode) self.files_to_playlist([song["file"] for song in songs], mode)
def artist_to_playlist(self, artist, genre, mode="default"): #TODO use mode def artist_to_playlist(self, artist, genre, mode):
if self._settings.get_boolean("sort-albums-by-year"): def append():
sort_tag="date" if self._settings.get_boolean("sort-albums-by-year"):
else: sort_tag="date"
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: else:
self.findadd("genre", genre, "sort", sort_tag) sort_tag="album"
else: if artist is None: # treat 'None' as 'all artists'
artist_type=self._settings.get_artist_type() if genre is None: # treat 'None' as 'all genres'
if genre is None: # treat 'None' as 'all genres' self.searchadd("any", "", "sort", sort_tag)
self.findadd(artist_type, artist, "sort", sort_tag) else:
self.findadd("genre", genre, "sort", sort_tag)
else: 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 def comp_list(self, *args): # simulates listing behavior of python-mpd2 1.0
native_list=self.list(*args) native_list=self.list(*args)
@ -1516,7 +1543,7 @@ class SongPopover(Gtk.Popover):
class SongsView(Gtk.TreeView): class SongsView(Gtk.TreeView):
def __init__(self, client, store, file_column_id): 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() self.columns_autosize()
# adding vars # adding vars
@ -1535,7 +1562,8 @@ class SongsView(Gtk.TreeView):
self.connect("row-activated", self._on_row_activated) self.connect("row-activated", self._on_row_activated)
self.connect("button-press-event", self._on_button_press_event) self.connect("button-press-event", self._on_button_press_event)
self.connect("button-release-event", self._on_button_release_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): def clear(self):
self._store.clear() self._store.clear()
@ -1550,7 +1578,7 @@ class SongsView(Gtk.TreeView):
return return_list return return_list
def _on_row_activated(self, widget, path, view_column): 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): def _on_button_press_event(self, widget, event):
path_re=widget.get_path_at_pos(int(event.x), int(event.y)) 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: if path_re is not None:
path=path_re[0] path=path_re[0]
if self._button_event == (event.button, path): if self._button_event == (event.button, path):
if event.button == 1 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]])
elif event.button == 2 and event.type == Gdk.EventType.BUTTON_RELEASE:
self._client.files_to_playlist([self._store[path][self._file_column_id]], "append") self._client.files_to_playlist([self._store[path][self._file_column_id]], "append")
elif event.button == 3 and event.type == Gdk.EventType.BUTTON_RELEASE: elif event.button == 3 and event.type == Gdk.EventType.BUTTON_RELEASE:
uri=self._store[path][self._file_column_id] 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._song_popover.open(uri, widget, int(event.x), int(event.y), offset=0)
self._button_event=(None, None) self._button_event=(None, None)
def _on_key_release_event(self, widget, event): def _on_show_info(self, *args):
treeview, treeiter=self._selection.get_selected() if self.has_focus():
if treeiter is not None: treeview, treeiter=self._selection.get_selected()
if event.keyval == Gdk.keyval_from_name("p"): path=self._store.get_path(treeiter)
self._client.files_to_playlist([self._store.get_value(treeiter, self._file_column_id)]) cell=self.get_cell_area(path, None)
elif event.keyval == Gdk.keyval_from_name("a"): self._song_popover.open(self._store[path][self._file_column_id], self, cell.x, cell.y)
self._client.files_to_playlist([self._store.get_value(treeiter, self._file_column_id)], "append")
elif event.keyval == Gdk.keyval_from_name("Menu"): def _on_add_to_playlist(self, emitter, mode):
path=self._store.get_path(treeiter) if self.has_focus():
cell=self.get_cell_area(path, None) treeview, treeiter=self._selection.get_selected()
self._song_popover.open(self._store[path][self._file_column_id], widget, cell.x, cell.y) if treeiter is not None:
self._client.files_to_playlist([self._store.get_value(treeiter, self._file_column_id)], mode)
class SongsWindow(Gtk.Box): class SongsWindow(Gtk.Box):
def __init__(self, client, store, file_column_id, focus_indicator=True): def __init__(self, client, store, file_column_id, focus_indicator=True):
@ -1666,8 +1693,8 @@ class AlbumPopover(Gtk.Popover):
self._rect=Gdk.Rectangle() self._rect=Gdk.Rectangle()
# songs window # songs window
# (track, title (artist), duration, file) # (track, title (artist), duration, file, search text)
self._store=Gtk.ListStore(str, str, str, str) self._store=Gtk.ListStore(str, str, str, str, str)
songs_window=SongsWindow(self._client, self._store, 3, focus_indicator=False) songs_window=SongsWindow(self._client, self._store, 3, focus_indicator=False)
# scroll # scroll
@ -1680,7 +1707,8 @@ class AlbumPopover(Gtk.Popover):
# songs view # songs view
self._songs_view=songs_window.get_treeview() 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 # columns
renderer_text=Gtk.CellRendererText(width_chars=80, ellipsize=Pango.EllipsizeMode.END, ellipsize_set=True) 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_pointing_to(self._rect)
self.set_relative_to(widget) self.set_relative_to(widget)
self._scroll.set_max_content_height(4*widget.get_allocated_height()//7) 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() self._store.clear()
songs=self._client.find("album", album, "date", date, self._settings.get_artist_type(), album_artist) songs=self._client.find("album", album, "date", date, self._settings.get_artist_type(), album_artist)
for s in songs: for s in songs:
@ -1722,7 +1751,8 @@ class AlbumPopover(Gtk.Popover):
else: else:
title_artist="<b>{}</b> - {}".format(title, artist) title_artist="<b>{}</b> - {}".format(title, artist)
title_artist=title_artist.replace("&", "&amp;") title_artist=title_artist.replace("&", "&amp;")
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.popup()
self._songs_view.columns_autosize() self._songs_view.columns_autosize()
@ -2038,6 +2068,7 @@ class ArtistWindow(FocusFrame):
self._client.emitter.connect("disconnected", self._on_disconnected) self._client.emitter.connect("disconnected", self._on_disconnected)
self._client.emitter.connect("reconnected", self._on_reconnected) self._client.emitter.connect("reconnected", self._on_reconnected)
self._client.emitter.connect("update", self._refresh) 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._genre_select.connect("genre_changed", self._refresh)
self.set_widget(self._treeview) self.set_widget(self._treeview)
@ -2114,6 +2145,18 @@ class ArtistWindow(FocusFrame):
self._store[path][1]=Pango.Weight.BOLD self._store[path][1]=Pango.Weight.BOLD
self.emit("artists_changed") 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): def _on_disconnected(self, *args):
self.set_sensitive(False) self.set_sensitive(False)
self._clear() self._clear()
@ -2144,7 +2187,9 @@ class AlbumWindow(FocusFrame):
self._sort_settings() self._sort_settings()
# iconview # 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
scroll=Gtk.ScrolledWindow() scroll=Gtk.ScrolledWindow()
@ -2163,9 +2208,10 @@ class AlbumWindow(FocusFrame):
self._iconview.connect("item-activated", self._on_item_activated) self._iconview.connect("item-activated", self._on_item_activated)
self._iconview.connect("button-press-event", self._on_button_press_event) 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("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("disconnected", self._on_disconnected)
self._client.emitter.connect("reconnected", self._on_reconnected) 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::sort-albums-by-year", self._sort_settings)
self._settings.connect("changed::album-cover", self._on_cover_size_changed) self._settings.connect("changed::album-cover", self._on_cover_size_changed)
self._artist_window.connect("artists_changed", self._refresh) 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)) path=widget.get_path_at_pos(int(event.x), int(event.y))
if path is not None: if path is not None:
if self._button_event == (event.button, path): if self._button_event == (event.button, path):
if event.button == 1 and event.type == Gdk.EventType.BUTTON_RELEASE: if event.button == 2 and event.type == Gdk.EventType.BUTTON_RELEASE:
self._path_to_playlist(path)
elif event.button == 2 and event.type == Gdk.EventType.BUTTON_RELEASE:
self._path_to_playlist(path, "append") self._path_to_playlist(path, "append")
elif event.button == 3 and event.type == Gdk.EventType.BUTTON_RELEASE: elif event.button == 3 and event.type == Gdk.EventType.BUTTON_RELEASE:
album=self._store[path][4] 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._album_popover.open(album, artist, year, widget, event.x-h, event.y-v)
self._button_event=(None, None) 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): def _on_item_activated(self, widget, path):
treeiter=self._store.get_iter(path) treeiter=self._store.get_iter(path)
selected_album=self._store.get_value(treeiter, 4) selected_album=self._store.get_value(treeiter, 4)
selected_album_year=self._store.get_value(treeiter, 5) selected_album_year=self._store.get_value(treeiter, 5)
selected_artist=self._store.get_value(treeiter, 6) 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): def _on_disconnected(self, *args):
self._iconview.set_sensitive(False) self._iconview.set_sensitive(False)
@ -2377,6 +2405,23 @@ class AlbumWindow(FocusFrame):
def _on_reconnected(self, *args): def _on_reconnected(self, *args):
self._iconview.set_sensitive(True) 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 _on_cover_size_changed(self, *args):
def callback(): def callback():
self._refresh() 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("current_song_changed", self._on_song_changed)
self._client.emitter.connect("disconnected", self._on_disconnected) self._client.emitter.connect("disconnected", self._on_disconnected)
self._client.emitter.connect("reconnected", self._on_reconnected) 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("notify::mini-player", self._on_mini_player)
self._settings.connect("changed::column-visibilities", self._load_settings) self._settings.connect("changed::column-visibilities", self._load_settings)
@ -2942,12 +2988,6 @@ class PlaylistWindow(Gtk.Box):
self._store.remove(treeiter) self._store.remove(treeiter)
except: except:
pass 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 def _on_row_deleted(self, model, path): # sync treeview to mpd
try: try:
@ -3046,6 +3086,14 @@ class PlaylistWindow(Gtk.Box):
self._clear_button.set_sensitive(True) self._clear_button.set_sensitive(True)
self._treeview.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): def _on_mini_player(self, obj, typestring):
if obj.get_property("mini-player"): if obj.get_property("mini-player"):
self.set_property("no-show-all", True) self.set_property("no-show-all", True)
@ -3642,13 +3690,13 @@ class ShortcutsWindow(Gtk.ShortcutsWindow):
("<Control>s", _("Toggle random mode"), None, playback_group), ("<Control>s", _("Toggle random mode"), None, playback_group),
("<Control>1", _("Toggle single mode"), None, playback_group), ("<Control>1", _("Toggle single mode"), None, playback_group),
("<Control>o", _("Toggle consume mode"), None, playback_group), ("<Control>o", _("Toggle consume mode"), None, playback_group),
("p", _("Play selected item (next)"), _("Left-click"), items_group), ("<Control>e", _("Enqueue selected item"), None, items_group),
("a", _("Append selected item"), _("Middle-click"), items_group), ("<Control>plus", _("Append selected item"), _("Middle-click"), items_group),
("Return", _("Play selected item immediately"), _("Double-click"), items_group), ("<Control>Return", _("Play selected item immediately"), None, items_group),
("Menu", _("Show additional information"), _("Right-click"), items_group), ("<Control>i", _("Show additional information"), _("Right-click"), items_group),
("Delete", _("Remove selected song"), _("Middle-click"), playlist_group), ("Delete", _("Remove selected song"), _("Middle-click"), playlist_group),
("<Shift>Delete", _("Clear playlist"), None, playlist_group), ("<Shift>Delete", _("Clear playlist"), None, playlist_group),
("Menu", _("Show additional information"), _("Right-click"), playlist_group) ("<Control>i", _("Show additional information"), _("Right-click"), playlist_group)
) )
for accel, title, subtitle, group in shortcut_data: for accel, title, subtitle, group in shortcut_data:
shortcut=Gtk.ShortcutsShortcut(visible=True, accelerator=accel, title=title, subtitle=subtitle) shortcut=Gtk.ShortcutsShortcut(visible=True, accelerator=accel, title=title, subtitle=subtitle)
@ -3732,7 +3780,7 @@ class MainWindow(Gtk.ApplicationWindow):
simple_actions_data=( simple_actions_data=(
"settings","stats","help","menu", "settings","stats","help","menu",
"toggle-lyrics","back-to-current-album","toggle-search", "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: for name in simple_actions_data:
action=Gio.SimpleAction.new(name, None) action=Gio.SimpleAction.new(name, None)
@ -3885,6 +3933,18 @@ class MainWindow(Gtk.ApplicationWindow):
current_profile=self._settings.get_int("active-profile") current_profile=self._settings.get_int("active-profile")
self._settings.set_int("active-profile", (current_profile-1)%total_profiles) 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): def _on_profiles(self, action, param):
self._settings.set_int("active-profile", param.unpack()) self._settings.set_int("active-profile", param.unpack())
action.set_state(param) action.set_state(param)
@ -3998,7 +4058,9 @@ class mpdevil(Gtk.Application):
("mpd.stop", ["<Control>space"]),("mpd.next", ["KP_Add"]),("mpd.prev", ["KP_Subtract"]), ("mpd.stop", ["<Control>space"]),("mpd.next", ["KP_Add"]),("mpd.prev", ["KP_Subtract"]),
("mpd.repeat", ["<Control>r"]),("mpd.random", ["<Control>s"]),("mpd.single", ["<Control>1"]), ("mpd.repeat", ["<Control>r"]),("mpd.random", ["<Control>s"]),("mpd.single", ["<Control>1"]),
("mpd.consume", ["<Control>o"]),("mpd.seek-forward", ["KP_Multiply"]),("mpd.seek-backward", ["KP_Divide"]), ("mpd.consume", ["<Control>o"]),("mpd.seek-forward", ["KP_Multiply"]),("mpd.seek-backward", ["KP_Divide"]),
("win.profile-next", ["<Control>p"]),("win.profile-prev", ["<Shift><Control>p"]) ("win.profile-next", ["<Control>p"]),("win.profile-prev", ["<Shift><Control>p"]),
("win.show-info", ["<Control>i"]),("win.append", ["<Control>plus"]),
("win.play", ["<Control>Return"]),("win.enqueue", ["<Control>e"])
) )
for action, accels in action_accels: for action, accels in action_accels:
self.set_accels_for_action(action, accels) self.set_accels_for_action(action, accels)

261
po/de.po
View File

@ -7,8 +7,8 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: \n" "Project-Id-Version: \n"
"Report-Msgid-Bugs-To: \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: 2021-02-12 16:58+0100\n" "PO-Revision-Date: 2021-03-26 16:19+0100\n"
"Last-Translator: \n" "Last-Translator: \n"
"Language-Team: \n" "Language-Team: \n"
"Language: de\n" "Language: de\n"
@ -18,90 +18,90 @@ msgstr ""
"X-Generator: Poedit 2.3.1\n" "X-Generator: Poedit 2.3.1\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n"
#: mpdevil:438 #: mpdevil:443
#, python-brace-format #, python-brace-format
msgid "{days} day" msgid "{days} day"
msgid_plural "{days} days" msgid_plural "{days} days"
msgstr[0] "{days} Tag" msgstr[0] "{days} Tag"
msgstr[1] "{days} Tage" msgstr[1] "{days} Tage"
#: mpdevil:473 #: mpdevil:478
msgid "Unknown Title" msgid "Unknown Title"
msgstr "Unbekannter Titel" msgstr "Unbekannter Titel"
#: mpdevil:802 #: mpdevil:861
msgid "Main cover size:" msgid "Main cover size:"
msgstr "Größe des Haupt-Covers:" msgstr "Größe des Haupt-Covers:"
#: mpdevil:803 #: mpdevil:862
msgid "Album view cover size:" msgid "Album view cover size:"
msgstr "Covergröße in Albumliste:" msgstr "Covergröße in Albumliste:"
#: mpdevil:804 #: mpdevil:863
msgid "Action bar icon size:" msgid "Action bar icon size:"
msgstr "Symbolgröße Aktionsleiste:" msgstr "Symbolgröße Aktionsleiste:"
#: mpdevil:805 #: mpdevil:864
msgid "Secondary icon size:" msgid "Secondary icon size:"
msgstr "Sekundäre Symbolgröße:" msgstr "Sekundäre Symbolgröße:"
#: mpdevil:818 #: mpdevil:877
msgid "Use Client-side decoration" msgid "Use Client-side decoration"
msgstr "„Client-side decoration“ benutzen" msgstr "„Client-side decoration“ benutzen"
#: mpdevil:819 #: mpdevil:878
msgid "Show stop button" msgid "Show stop button"
msgstr "Stopp-Knopf anzeigen" msgstr "Stopp-Knopf anzeigen"
#: mpdevil:820 #: mpdevil:879
msgid "Show lyrics button" msgid "Show lyrics button"
msgstr "Liedtext-Knopf anzeigen" msgstr "Liedtext-Knopf anzeigen"
#: mpdevil:821 #: mpdevil:880
msgid "Show initials in artist view" msgid "Show initials in artist view"
msgstr "Anfangsbuchstaben in Interpretenliste anzeigen" msgstr "Anfangsbuchstaben in Interpretenliste anzeigen"
#: mpdevil:822 #: mpdevil:881
msgid "Place playlist at the side" msgid "Place playlist at the side"
msgstr "Wiedergabeliste seitlich anzeigen" msgstr "Wiedergabeliste seitlich anzeigen"
#: mpdevil:823 #: mpdevil:882
msgid "Use “Album Artist” tag" msgid "Use “Album Artist” tag"
msgstr "„Album Artist“ Tag benutzen" msgstr "„Album Artist“ Tag benutzen"
#: mpdevil:824 #: mpdevil:883
msgid "Send notification on title change" msgid "Send notification on title change"
msgstr "Über Titelwechsel benachrichtigen" msgstr "Über Titelwechsel benachrichtigen"
#: mpdevil:825 #: mpdevil:884
msgid "Stop playback on quit" msgid "Stop playback on quit"
msgstr "Wiedergabe beim Beenden stoppen" msgstr "Wiedergabe beim Beenden stoppen"
#: mpdevil:826 #: mpdevil:885
msgid "Play selected albums and titles immediately" msgid "Play selected albums and titles immediately"
msgstr "Ausgewählte Alben und Titel sofort abspielen" msgstr "Ausgewählte Alben und Titel sofort abspielen"
#: mpdevil:827 #: mpdevil:886
msgid "Sort albums by year" msgid "Sort albums by year"
msgstr "Alben nach Jahr sortieren" msgstr "Alben nach Jahr sortieren"
#: mpdevil:839 #: mpdevil:898
msgid "<b>View</b>" msgid "<b>View</b>"
msgstr "<b>Ansicht</b>" msgstr "<b>Ansicht</b>"
#: mpdevil:840 #: mpdevil:899
msgid "<b>Behavior</b>" msgid "<b>Behavior</b>"
msgstr "<b>Verhalten</b>" msgstr "<b>Verhalten</b>"
#: mpdevil:860 #: mpdevil:919
msgid "(restart required)" msgid "(restart required)"
msgstr "(Neustart erforderlich)" msgstr "(Neustart erforderlich)"
#: mpdevil:909 #: mpdevil:968
msgid "_Connect" msgid "_Connect"
msgstr "_Verbinden" msgstr "_Verbinden"
#: mpdevil:925 #: mpdevil:984
msgid "" msgid ""
"The first image in the same directory as the song file matching this regex " "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 " "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% " "regulären Ausdruck entspricht, wird angezeigt. %AlbumArtist% und %Album% "
"werden durch die entsprechenden Tags des Liedes ersetzt." "werden durch die entsprechenden Tags des Liedes ersetzt."
#: mpdevil:930 #: mpdevil:989
msgid "Profile:" msgid "Profile:"
msgstr "Profil:" msgstr "Profil:"
#: mpdevil:931 #: mpdevil:990
msgid "Name:" msgid "Name:"
msgstr "Name:" msgstr "Name:"
#: mpdevil:932 #: mpdevil:991
msgid "Host:" msgid "Host:"
msgstr "Host:" msgstr "Host:"
#: mpdevil:933 #: mpdevil:992
msgid "Password:" msgid "Password:"
msgstr "Passwort:" msgstr "Passwort:"
#: mpdevil:934 #: mpdevil:993
msgid "Music lib:" msgid "Music lib:"
msgstr "Musikverzeichnis:" msgstr "Musikverzeichnis:"
#: mpdevil:935 #: mpdevil:994
msgid "Cover regex:" msgid "Cover regex:"
msgstr "Cover-Regex:" msgstr "Cover-Regex:"
#: mpdevil:1070 #: mpdevil:1129
msgid "Choose directory" msgid "Choose directory"
msgstr "Verzeichnis wählen" msgstr "Verzeichnis wählen"
#: mpdevil:1101 #: mpdevil:1160
msgid "Choose the order of information to appear in the playlist:" msgid "Choose the order of information to appear in the playlist:"
msgstr "" msgstr ""
"Lege die Reihenfolge fest, in der Informationen in der Wiedergabeliste " "Lege die Reihenfolge fest, in der Informationen in der Wiedergabeliste "
"angezeigt werden sollen:" "angezeigt werden sollen:"
#: mpdevil:1118 mpdevil:1671 mpdevil:1766 mpdevil:2706 #: mpdevil:1177 mpdevil:1716 mpdevil:1842 mpdevil:2842
msgid "No" msgid "No"
msgstr "Nr." msgstr "Nr."
#: mpdevil:1118 mpdevil:2707 #: mpdevil:1177 mpdevil:2843
msgid "Disc" msgid "Disc"
msgstr "CD" msgstr "CD"
#: mpdevil:1118 mpdevil:1674 mpdevil:1771 mpdevil:2708 #: mpdevil:1177 mpdevil:1719 mpdevil:1847 mpdevil:2844
msgid "Title" msgid "Title"
msgstr "Titel" msgstr "Titel"
#: mpdevil:1118 mpdevil:1777 mpdevil:2709 #: mpdevil:1177 mpdevil:1853 mpdevil:2845
msgid "Artist" msgid "Artist"
msgstr "Interpret" msgstr "Interpret"
#: mpdevil:1118 mpdevil:1783 mpdevil:2710 #: mpdevil:1177 mpdevil:1859 mpdevil:2846
msgid "Album" msgid "Album"
msgstr "Album" msgstr "Album"
#: mpdevil:1118 mpdevil:1678 mpdevil:1789 mpdevil:2711 #: mpdevil:1177 mpdevil:1722 mpdevil:1865 mpdevil:2847
msgid "Length" msgid "Length"
msgstr "Länge" msgstr "Länge"
#: mpdevil:1118 mpdevil:2712 #: mpdevil:1177 mpdevil:2848
msgid "Year" msgid "Year"
msgstr "Jahr" msgstr "Jahr"
#: mpdevil:1118 mpdevil:2713 #: mpdevil:1177 mpdevil:2849
msgid "Genre" msgid "Genre"
msgstr "Genre" msgstr "Genre"
#: mpdevil:1234 mpdevil:1236 mpdevil:3666 #: mpdevil:1293 mpdevil:1295 mpdevil:3813
msgid "Settings" msgid "Settings"
msgstr "Einstellungen" msgstr "Einstellungen"
#: mpdevil:1249 mpdevil:1258 mpdevil:3513 #: mpdevil:1308 mpdevil:1317 mpdevil:3659
msgid "General" msgid "General"
msgstr "Allgemein" msgstr "Allgemein"
#: mpdevil:1250 mpdevil:1259 mpdevil:3677 #: mpdevil:1309 mpdevil:1318 mpdevil:3824
msgid "Profiles" msgid "Profiles"
msgstr "Profile" msgstr "Profile"
#: mpdevil:1251 mpdevil:1260 mpdevil:3517 #: mpdevil:1310 mpdevil:1319 mpdevil:3663
msgid "Playlist" msgid "Playlist"
msgstr "Wiedergabeliste" msgstr "Wiedergabeliste"
#: mpdevil:1273 #: mpdevil:1332
msgid "Stats" msgid "Stats"
msgstr "Statistik" msgstr "Statistik"
#: mpdevil:1283 #: mpdevil:1342
msgid "<b>Protocol:</b>" msgid "<b>Protocol:</b>"
msgstr "<b>Protokoll:</b>" msgstr "<b>Protokoll:</b>"
#: mpdevil:1284 #: mpdevil:1343
msgid "<b>Uptime:</b>" msgid "<b>Uptime:</b>"
msgstr "<b>Uptime:</b>" msgstr "<b>Uptime:</b>"
#: mpdevil:1285 #: mpdevil:1344
msgid "<b>Playtime:</b>" msgid "<b>Playtime:</b>"
msgstr "<b>Wiedergabezeit:</b>" msgstr "<b>Wiedergabezeit:</b>"
#: mpdevil:1286 #: mpdevil:1345
msgid "<b>Artists:</b>" msgid "<b>Artists:</b>"
msgstr "<b>Künstler:</b>" msgstr "<b>Künstler:</b>"
#: mpdevil:1287 #: mpdevil:1346
msgid "<b>Albums:</b>" msgid "<b>Albums:</b>"
msgstr "<b>Alben:</b>" msgstr "<b>Alben:</b>"
#: mpdevil:1288 #: mpdevil:1347
msgid "<b>Songs:</b>" msgid "<b>Songs:</b>"
msgstr "<b>Titel:</b>" msgstr "<b>Titel:</b>"
#: mpdevil:1289 #: mpdevil:1348
msgid "<b>Total Playtime:</b>" msgid "<b>Total Playtime:</b>"
msgstr "<b>Gesamtwiedergabezeit:</b>" msgstr "<b>Gesamtwiedergabezeit:</b>"
#: mpdevil:1290 #: mpdevil:1349
msgid "<b>Database Update:</b>" msgid "<b>Database Update:</b>"
msgstr "<b>Datenbankaktualisierung:</b>" msgstr "<b>Datenbankaktualisierung:</b>"
#: mpdevil:1314 #: mpdevil:1373
msgid "A simple music browser for MPD" msgid "A simple music browser for MPD"
msgstr "Ein einfacher Musikbrowser für MPD" msgstr "Ein einfacher Musikbrowser für MPD"
#: mpdevil:1412 #: mpdevil:1462
msgid "Open with…" msgid "Open with…"
msgstr "Öffnen mit…" msgstr "Öffnen mit…"
#: mpdevil:1430 #: mpdevil:1482
msgid "MPD-Tag" msgid "MPD-Tag"
msgstr "MPD-Tag" msgstr "MPD-Tag"
#: mpdevil:1433 #: mpdevil:1485
msgid "Value" msgid "Value"
msgstr "Wert" msgstr "Wert"
#: mpdevil:1564 #: mpdevil:1633
msgid "_Append" msgid "_Append"
msgstr "_Anhängen" msgstr "_Anhängen"
#: mpdevil:1566 #: mpdevil:1635
msgid "Add all titles to playlist" msgid "Add all titles to playlist"
msgstr "Alle Titel der Wiedergabeliste anhängen" msgstr "Alle Titel der Wiedergabeliste anhängen"
#: mpdevil:1567 #: mpdevil:1636
msgid "_Play" msgid "_Play"
msgstr "Ab_spielen" msgstr "Ab_spielen"
#: mpdevil:1569 #: mpdevil:1638
msgid "Directly play all titles" msgid "Directly play all titles"
msgstr "Alle Titel sofort abspielen" msgstr "Alle Titel sofort abspielen"
#: mpdevil:1570 #: mpdevil:1639
msgid "_Enqueue" msgid "_Enqueue"
msgstr "_Einreihen" msgstr "_Einreihen"
#: mpdevil:1572 #: mpdevil:1641
msgid "" msgid ""
"Append all titles after the currently playing track and clear the playlist " "Append all titles after the currently playing track and clear the playlist "
"from all other songs" "from all other songs"
@ -273,257 +273,258 @@ msgstr ""
"Alle Titel hinter dem aktuellen Stück einreihen und die weitere " "Alle Titel hinter dem aktuellen Stück einreihen und die weitere "
"Wiedergabeliste leeren" "Wiedergabeliste leeren"
#: mpdevil:1827 #: mpdevil:1913
msgid "all tags" msgid "all tags"
msgstr "Alle Tags" msgstr "Alle Tags"
#: mpdevil:1856 #: mpdevil:1937
#, python-brace-format #, python-brace-format
msgid "{hits} hit" msgid "{hits} hit"
msgid_plural "{hits} hits" msgid_plural "{hits} hits"
msgstr[0] "{hits} Treffer" msgstr[0] "{hits} Treffer"
msgstr[1] "{hits} Treffer" msgstr[1] "{hits} Treffer"
#: mpdevil:1894 #: mpdevil:2009
msgid "all genres" msgid "all genres"
msgstr "Alle Genres" msgstr "Alle Genres"
#: mpdevil:1996 #: mpdevil:2113
msgid "all artists" msgid "all artists"
msgstr "Alle Interpreten" msgstr "Alle Interpreten"
#: mpdevil:2180 mpdevil:2805 mpdevil:3091 mpdevil:3092 #: mpdevil:2313 mpdevil:2945 mpdevil:3232 mpdevil:3233
#, python-brace-format #, python-brace-format
msgid "{titles} title" msgid "{titles} title"
msgid_plural "{titles} titles" msgid_plural "{titles} titles"
msgstr[0] "{titles} Titel" msgstr[0] "{titles} Titel"
msgstr[1] "{titles} Titel" msgstr[1] "{titles} Titel"
#: mpdevil:2182 #: mpdevil:2315
#, python-brace-format #, python-brace-format
msgid "on {discs} discs" msgid "on {discs} discs"
msgstr "auf {discs} CDs" msgstr "auf {discs} CDs"
#: mpdevil:2322 mpdevil:3536 #: mpdevil:2452 mpdevil:3682
msgid "Back to current album" msgid "Back to current album"
msgstr "Zurück zu aktuellem Album" msgstr "Zurück zu aktuellem Album"
#: mpdevil:2324 #: mpdevil:2454
msgid "Search" msgid "Search"
msgstr "Suche" msgstr "Suche"
#: mpdevil:2500 #: mpdevil:2630
msgid "searching..." msgid "searching..."
msgstr "suche..." msgstr "suche..."
#: mpdevil:2505 #: mpdevil:2635
msgid "connection error" msgid "connection error"
msgstr "Verbindungsfehler" msgstr "Verbindungsfehler"
#: mpdevil:2507 #: mpdevil:2637
msgid "lyrics not found" msgid "lyrics not found"
msgstr "Liedtext nicht gefunden" msgstr "Liedtext nicht gefunden"
#: mpdevil:2552 #: mpdevil:2682
#, python-brace-format #, python-brace-format
msgid "{channels} channel" msgid "{channels} channel"
msgid_plural "{channels} channels" msgid_plural "{channels} channels"
msgstr[0] "{channels} Kanal" msgstr[0] "{channels} Kanal"
msgstr[1] "{channels} Kanäle" msgstr[1] "{channels} Kanäle"
#: mpdevil:2680 #: mpdevil:2816
msgid "Scroll to current song" msgid "Scroll to current song"
msgstr "Gehe zu aktuellem Lied" msgstr "Gehe zu aktuellem Lied"
#: mpdevil:2688 mpdevil:3552 #: mpdevil:2824 mpdevil:3698
msgid "Clear playlist" msgid "Clear playlist"
msgstr "Wiedergabeliste leeren" msgstr "Wiedergabeliste leeren"
#: mpdevil:2982 #: mpdevil:3123
msgid "Show lyrics" msgid "Show lyrics"
msgstr "Zeige Liedtext" msgstr "Zeige Liedtext"
#: mpdevil:3300 #: mpdevil:3442
msgid "Random mode" msgid "Random mode"
msgstr "Zufallsmodus" msgstr "Zufallsmodus"
#: mpdevil:3302 #: mpdevil:3444
msgid "Repeat mode" msgid "Repeat mode"
msgstr "Dauerschleife" msgstr "Dauerschleife"
#: mpdevil:3304 #: mpdevil:3446
msgid "Single mode" msgid "Single mode"
msgstr "Einzelstückmodus" msgstr "Einzelstückmodus"
#: mpdevil:3306 #: mpdevil:3448
msgid "Consume mode" msgid "Consume mode"
msgstr "Wiedergabeliste verbrauchen" msgstr "Wiedergabeliste verbrauchen"
#: mpdevil:3514 #: mpdevil:3660
msgid "Window" msgid "Window"
msgstr "Fenster" msgstr "Fenster"
#: mpdevil:3515 #: mpdevil:3661
msgid "Playback" msgid "Playback"
msgstr "Wiedergabe" msgstr "Wiedergabe"
#: mpdevil:3516 #: mpdevil:3662
msgid "Search, Album Dialog and Album List" msgid "Search, Album Dialog and Album List"
msgstr "Suche, Albumdialog und Albumliste" msgstr "Suche, Albumdialog und Albumliste"
#: mpdevil:3526 #: mpdevil:3672
msgid "Open online help" msgid "Open online help"
msgstr "Onlinehilfe öffnen" msgstr "Onlinehilfe öffnen"
#: mpdevil:3527 #: mpdevil:3673
msgid "Open shortcuts window" msgid "Open shortcuts window"
msgstr "Tastenkürzelfenster öffnen" msgstr "Tastenkürzelfenster öffnen"
#: mpdevil:3528 #: mpdevil:3674
msgid "Open menu" msgid "Open menu"
msgstr "Menü öffnen" msgstr "Menü öffnen"
#: mpdevil:3529 mpdevil:3672 #: mpdevil:3675 mpdevil:3819
msgid "Update database" msgid "Update database"
msgstr "Datenbank aktualisieren" msgstr "Datenbank aktualisieren"
#: mpdevil:3530 mpdevil:3670 #: mpdevil:3676 mpdevil:3817
msgid "Quit" msgid "Quit"
msgstr "Beenden" msgstr "Beenden"
#: mpdevil:3531 #: mpdevil:3677
msgid "Cycle through profiles" msgid "Cycle through profiles"
msgstr "Profile durchschalten" msgstr "Profile durchschalten"
#: mpdevil:3532 #: mpdevil:3678
msgid "Cycle through profiles in reversed order" msgid "Cycle through profiles in reversed order"
msgstr "Profile rückwärts durchschalten" msgstr "Profile rückwärts durchschalten"
#: mpdevil:3533 #: mpdevil:3679
msgid "Toggle mini player" msgid "Toggle mini player"
msgstr "Miniplayer ein-/ausschalten" msgstr "Miniplayer ein-/ausschalten"
#: mpdevil:3534 #: mpdevil:3680
msgid "Toggle lyrics" msgid "Toggle lyrics"
msgstr "Liedtext ein-/ausblenden" msgstr "Liedtext ein-/ausblenden"
#: mpdevil:3535 #: mpdevil:3681
msgid "Toggle search" msgid "Toggle search"
msgstr "Suche ein-/ausblenden" msgstr "Suche ein-/ausblenden"
#: mpdevil:3537 #: mpdevil:3683
msgid "Play/Pause" msgid "Play/Pause"
msgstr "Wiedergabe/Pause" msgstr "Wiedergabe/Pause"
#: mpdevil:3538 #: mpdevil:3684
msgid "Stop" msgid "Stop"
msgstr "Stopp" msgstr "Stopp"
#: mpdevil:3539 #: mpdevil:3685
msgid "Next title" msgid "Next title"
msgstr "Nächster Titel" msgstr "Nächster Titel"
#: mpdevil:3540 #: mpdevil:3686
msgid "Previous title" msgid "Previous title"
msgstr "Vorheriger Titel" msgstr "Vorheriger Titel"
#: mpdevil:3541 #: mpdevil:3687
msgid "Seek forward" msgid "Seek forward"
msgstr "Vorspulen" msgstr "Vorspulen"
#: mpdevil:3542 #: mpdevil:3688
msgid "Seek backward" msgid "Seek backward"
msgstr "Zurückspulen" msgstr "Zurückspulen"
#: mpdevil:3543 #: mpdevil:3689
msgid "Toggle repeat mode" msgid "Toggle repeat mode"
msgstr "Dauerschleife ein-/ausschalten" msgstr "Dauerschleife ein-/ausschalten"
#: mpdevil:3544 #: mpdevil:3690
msgid "Toggle random mode" msgid "Toggle random mode"
msgstr "Zufallsmodus ein-/ausschalten" msgstr "Zufallsmodus ein-/ausschalten"
#: mpdevil:3545 #: mpdevil:3691
msgid "Toggle single mode" msgid "Toggle single mode"
msgstr "Einzelstückmodus ein-/ausschalten" msgstr "Einzelstückmodus ein-/ausschalten"
#: mpdevil:3546 #: mpdevil:3692
msgid "Toggle consume mode" msgid "Toggle consume mode"
msgstr "Wiedergabeliste verbrauchen ein-/ausschalten" msgstr "Wiedergabeliste verbrauchen ein-/ausschalten"
#: mpdevil:3547 #: mpdevil:3693
msgid "Play selected item (next)" msgid "Enqueue selected item"
msgstr "Ausgewähltes Element (als Nächstes) abspielen" msgstr "Ausgewähltes Element einreihen"
#: mpdevil:3547 #: mpdevil:3694
msgid "Left-click"
msgstr "Linksklick"
#: mpdevil:3548
msgid "Append selected item" msgid "Append selected item"
msgstr "Ausgewähltes Element anhängen" msgstr "Ausgewähltes Element anhängen"
#: mpdevil:3548 mpdevil:3551 #: mpdevil:3694 mpdevil:3697
msgid "Middle-click" msgid "Middle-click"
msgstr "Mittelklick" msgstr "Mittelklick"
#: mpdevil:3549 #: mpdevil:3695
msgid "Play selected item immediately" msgid "Play selected item immediately"
msgstr "Ausgewähltes Element sofort abspielen" msgstr "Ausgewähltes Element sofort abspielen"
#: mpdevil:3549 #: mpdevil:3696 mpdevil:3699
msgid "Double-click"
msgstr "Doppelklick"
#: mpdevil:3550 mpdevil:3553
msgid "Show additional information" msgid "Show additional information"
msgstr "Zeige weitere Informationen" msgstr "Zeige weitere Informationen"
#: mpdevil:3550 mpdevil:3553 #: mpdevil:3696 mpdevil:3699
msgid "Right-click" msgid "Right-click"
msgstr "Rechtsklick" msgstr "Rechtsklick"
#: mpdevil:3551 #: mpdevil:3697
msgid "Remove selected song" msgid "Remove selected song"
msgstr "Ausgewählten Titel entfernen" msgstr "Ausgewählten Titel entfernen"
#: mpdevil:3577 #: mpdevil:3723
msgid "Connect" msgid "Connect"
msgstr "Verbinden" msgstr "Verbinden"
#: mpdevil:3595 #: mpdevil:3741
#, python-brace-format #, python-brace-format
msgid "Connection to “{profile}” ({host}:{port}) failed" msgid "Connection to “{profile}” ({host}:{port}) failed"
msgstr "Verbindung zu „{profile}“ ({host}:{port}) fehlgeschlagen" msgstr "Verbindung zu „{profile}“ ({host}:{port}) fehlgeschlagen"
#: mpdevil:3667 #: mpdevil:3814
msgid "Keyboard shortcuts" msgid "Keyboard shortcuts"
msgstr "Tastenkürzel" msgstr "Tastenkürzel"
#: mpdevil:3668 #: mpdevil:3815
msgid "Help" msgid "Help"
msgstr "Hilfe" msgstr "Hilfe"
#: mpdevil:3669 #: mpdevil:3816
msgid "About" msgid "About"
msgstr "Über" msgstr "Über"
#: mpdevil:3673 #: mpdevil:3820
msgid "Server stats" msgid "Server stats"
msgstr "Serverstatistik" msgstr "Serverstatistik"
#: mpdevil:3678 #: mpdevil:3825
msgid "Mini player" msgid "Mini player"
msgstr "Miniplayer" msgstr "Miniplayer"
#: mpdevil:3683 #: mpdevil:3830
msgid "Menu" msgid "Menu"
msgstr "Menü" msgstr "Menü"
#: mpdevil:3734 mpdevil:3736 #: mpdevil:3880 mpdevil:3882
msgid "connecting…" msgid "connecting…"
msgstr "verbinden…" 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" #~ msgid "Sort albums in chronological order"
#~ msgstr "Alben chronologisch sortieren" #~ msgstr "Alben chronologisch sortieren"

View File

@ -8,7 +8,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: PACKAGE VERSION\n" "Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \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" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n" "Language-Team: LANGUAGE <LL@li.org>\n"
@ -18,501 +18,493 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\n" "Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\n"
#: mpdevil:438 #: mpdevil:443
#, python-brace-format #, python-brace-format
msgid "{days} day" msgid "{days} day"
msgid_plural "{days} days" msgid_plural "{days} days"
msgstr[0] "" msgstr[0] ""
msgstr[1] "" msgstr[1] ""
#: mpdevil:473 #: mpdevil:478
msgid "Unknown Title" msgid "Unknown Title"
msgstr "" msgstr ""
#: mpdevil:802 #: mpdevil:861
msgid "Main cover size:" msgid "Main cover size:"
msgstr "" msgstr ""
#: mpdevil:803 #: mpdevil:862
msgid "Album view cover size:" msgid "Album view cover size:"
msgstr "" msgstr ""
#: mpdevil:804 #: mpdevil:863
msgid "Action bar icon size:" msgid "Action bar icon size:"
msgstr "" msgstr ""
#: mpdevil:805 #: mpdevil:864
msgid "Secondary icon size:" msgid "Secondary icon size:"
msgstr "" msgstr ""
#: mpdevil:818 #: mpdevil:877
msgid "Use Client-side decoration" msgid "Use Client-side decoration"
msgstr "" msgstr ""
#: mpdevil:819 #: mpdevil:878
msgid "Show stop button" msgid "Show stop button"
msgstr "" msgstr ""
#: mpdevil:820 #: mpdevil:879
msgid "Show lyrics button" msgid "Show lyrics button"
msgstr "" msgstr ""
#: mpdevil:821 #: mpdevil:880
msgid "Show initials in artist view" msgid "Show initials in artist view"
msgstr "" msgstr ""
#: mpdevil:822 #: mpdevil:881
msgid "Place playlist at the side" msgid "Place playlist at the side"
msgstr "" msgstr ""
#: mpdevil:823 #: mpdevil:882
msgid "Use “Album Artist” tag" msgid "Use “Album Artist” tag"
msgstr "" msgstr ""
#: mpdevil:824 #: mpdevil:883
msgid "Send notification on title change" msgid "Send notification on title change"
msgstr "" msgstr ""
#: mpdevil:825 #: mpdevil:884
msgid "Stop playback on quit" msgid "Stop playback on quit"
msgstr "" msgstr ""
#: mpdevil:826 #: mpdevil:885
msgid "Play selected albums and titles immediately" msgid "Play selected albums and titles immediately"
msgstr "" msgstr ""
#: mpdevil:827 #: mpdevil:886
msgid "Sort albums by year" msgid "Sort albums by year"
msgstr "" msgstr ""
#: mpdevil:839 #: mpdevil:898
msgid "<b>View</b>" msgid "<b>View</b>"
msgstr "" msgstr ""
#: mpdevil:840 #: mpdevil:899
msgid "<b>Behavior</b>" msgid "<b>Behavior</b>"
msgstr "" msgstr ""
#: mpdevil:860 #: mpdevil:919
msgid "(restart required)" msgid "(restart required)"
msgstr "" msgstr ""
#: mpdevil:909 #: mpdevil:968
msgid "_Connect" msgid "_Connect"
msgstr "" msgstr ""
#: mpdevil:925 #: mpdevil:984
msgid "" msgid ""
"The first image in the same directory as the song file matching this regex " "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 " "will be displayed. %AlbumArtist% and %Album% will be replaced by the "
"corresponding tags of the song." "corresponding tags of the song."
msgstr "" msgstr ""
#: mpdevil:930 #: mpdevil:989
msgid "Profile:" msgid "Profile:"
msgstr "" msgstr ""
#: mpdevil:931 #: mpdevil:990
msgid "Name:" msgid "Name:"
msgstr "" msgstr ""
#: mpdevil:932 #: mpdevil:991
msgid "Host:" msgid "Host:"
msgstr "" msgstr ""
#: mpdevil:933 #: mpdevil:992
msgid "Password:" msgid "Password:"
msgstr "" msgstr ""
#: mpdevil:934 #: mpdevil:993
msgid "Music lib:" msgid "Music lib:"
msgstr "" msgstr ""
#: mpdevil:935 #: mpdevil:994
msgid "Cover regex:" msgid "Cover regex:"
msgstr "" msgstr ""
#: mpdevil:1070 #: mpdevil:1129
msgid "Choose directory" msgid "Choose directory"
msgstr "" msgstr ""
#: mpdevil:1101 #: mpdevil:1160
msgid "Choose the order of information to appear in the playlist:" msgid "Choose the order of information to appear in the playlist:"
msgstr "" msgstr ""
#: mpdevil:1118 mpdevil:1671 mpdevil:1766 mpdevil:2706 #: mpdevil:1177 mpdevil:1716 mpdevil:1842 mpdevil:2842
msgid "No" msgid "No"
msgstr "" msgstr ""
#: mpdevil:1118 mpdevil:2707 #: mpdevil:1177 mpdevil:2843
msgid "Disc" msgid "Disc"
msgstr "" msgstr ""
#: mpdevil:1118 mpdevil:1674 mpdevil:1771 mpdevil:2708 #: mpdevil:1177 mpdevil:1719 mpdevil:1847 mpdevil:2844
msgid "Title" msgid "Title"
msgstr "" msgstr ""
#: mpdevil:1118 mpdevil:1777 mpdevil:2709 #: mpdevil:1177 mpdevil:1853 mpdevil:2845
msgid "Artist" msgid "Artist"
msgstr "" msgstr ""
#: mpdevil:1118 mpdevil:1783 mpdevil:2710 #: mpdevil:1177 mpdevil:1859 mpdevil:2846
msgid "Album" msgid "Album"
msgstr "" msgstr ""
#: mpdevil:1118 mpdevil:1678 mpdevil:1789 mpdevil:2711 #: mpdevil:1177 mpdevil:1722 mpdevil:1865 mpdevil:2847
msgid "Length" msgid "Length"
msgstr "" msgstr ""
#: mpdevil:1118 mpdevil:2712 #: mpdevil:1177 mpdevil:2848
msgid "Year" msgid "Year"
msgstr "" msgstr ""
#: mpdevil:1118 mpdevil:2713 #: mpdevil:1177 mpdevil:2849
msgid "Genre" msgid "Genre"
msgstr "" msgstr ""
#: mpdevil:1234 mpdevil:1236 mpdevil:3666 #: mpdevil:1293 mpdevil:1295 mpdevil:3813
msgid "Settings" msgid "Settings"
msgstr "" msgstr ""
#: mpdevil:1249 mpdevil:1258 mpdevil:3513 #: mpdevil:1308 mpdevil:1317 mpdevil:3659
msgid "General" msgid "General"
msgstr "" msgstr ""
#: mpdevil:1250 mpdevil:1259 mpdevil:3677 #: mpdevil:1309 mpdevil:1318 mpdevil:3824
msgid "Profiles" msgid "Profiles"
msgstr "" msgstr ""
#: mpdevil:1251 mpdevil:1260 mpdevil:3517 #: mpdevil:1310 mpdevil:1319 mpdevil:3663
msgid "Playlist" msgid "Playlist"
msgstr "" msgstr ""
#: mpdevil:1273 #: mpdevil:1332
msgid "Stats" msgid "Stats"
msgstr "" msgstr ""
#: mpdevil:1283 #: mpdevil:1342
msgid "<b>Protocol:</b>" msgid "<b>Protocol:</b>"
msgstr "" msgstr ""
#: mpdevil:1284 #: mpdevil:1343
msgid "<b>Uptime:</b>" msgid "<b>Uptime:</b>"
msgstr "" msgstr ""
#: mpdevil:1285 #: mpdevil:1344
msgid "<b>Playtime:</b>" msgid "<b>Playtime:</b>"
msgstr "" msgstr ""
#: mpdevil:1286 #: mpdevil:1345
msgid "<b>Artists:</b>" msgid "<b>Artists:</b>"
msgstr "" msgstr ""
#: mpdevil:1287 #: mpdevil:1346
msgid "<b>Albums:</b>" msgid "<b>Albums:</b>"
msgstr "" msgstr ""
#: mpdevil:1288 #: mpdevil:1347
msgid "<b>Songs:</b>" msgid "<b>Songs:</b>"
msgstr "" msgstr ""
#: mpdevil:1289 #: mpdevil:1348
msgid "<b>Total Playtime:</b>" msgid "<b>Total Playtime:</b>"
msgstr "" msgstr ""
#: mpdevil:1290 #: mpdevil:1349
msgid "<b>Database Update:</b>" msgid "<b>Database Update:</b>"
msgstr "" msgstr ""
#: mpdevil:1314 #: mpdevil:1373
msgid "A simple music browser for MPD" msgid "A simple music browser for MPD"
msgstr "" msgstr ""
#: mpdevil:1412 #: mpdevil:1462
msgid "Open with…" msgid "Open with…"
msgstr "" msgstr ""
#: mpdevil:1430 #: mpdevil:1482
msgid "MPD-Tag" msgid "MPD-Tag"
msgstr "" msgstr ""
#: mpdevil:1433 #: mpdevil:1485
msgid "Value" msgid "Value"
msgstr "" msgstr ""
#: mpdevil:1564 #: mpdevil:1633
msgid "_Append" msgid "_Append"
msgstr "" msgstr ""
#: mpdevil:1566 #: mpdevil:1635
msgid "Add all titles to playlist" msgid "Add all titles to playlist"
msgstr "" msgstr ""
#: mpdevil:1567 #: mpdevil:1636
msgid "_Play" msgid "_Play"
msgstr "" msgstr ""
#: mpdevil:1569 #: mpdevil:1638
msgid "Directly play all titles" msgid "Directly play all titles"
msgstr "" msgstr ""
#: mpdevil:1570 #: mpdevil:1639
msgid "_Enqueue" msgid "_Enqueue"
msgstr "" msgstr ""
#: mpdevil:1572 #: mpdevil:1641
msgid "" msgid ""
"Append all titles after the currently playing track and clear the playlist " "Append all titles after the currently playing track and clear the playlist "
"from all other songs" "from all other songs"
msgstr "" msgstr ""
#: mpdevil:1827 #: mpdevil:1913
msgid "all tags" msgid "all tags"
msgstr "" msgstr ""
#: mpdevil:1856 #: mpdevil:1937
#, python-brace-format #, python-brace-format
msgid "{hits} hit" msgid "{hits} hit"
msgid_plural "{hits} hits" msgid_plural "{hits} hits"
msgstr[0] "" msgstr[0] ""
msgstr[1] "" msgstr[1] ""
#: mpdevil:1894 #: mpdevil:2009
msgid "all genres" msgid "all genres"
msgstr "" msgstr ""
#: mpdevil:1996 #: mpdevil:2113
msgid "all artists" msgid "all artists"
msgstr "" msgstr ""
#: mpdevil:2180 mpdevil:2805 mpdevil:3091 mpdevil:3092 #: mpdevil:2313 mpdevil:2945 mpdevil:3232 mpdevil:3233
#, python-brace-format #, python-brace-format
msgid "{titles} title" msgid "{titles} title"
msgid_plural "{titles} titles" msgid_plural "{titles} titles"
msgstr[0] "" msgstr[0] ""
msgstr[1] "" msgstr[1] ""
#: mpdevil:2182 #: mpdevil:2315
#, python-brace-format #, python-brace-format
msgid "on {discs} discs" msgid "on {discs} discs"
msgstr "" msgstr ""
#: mpdevil:2322 mpdevil:3536 #: mpdevil:2452 mpdevil:3682
msgid "Back to current album" msgid "Back to current album"
msgstr "" msgstr ""
#: mpdevil:2324 #: mpdevil:2454
msgid "Search" msgid "Search"
msgstr "" msgstr ""
#: mpdevil:2500 #: mpdevil:2630
msgid "searching..." msgid "searching..."
msgstr "" msgstr ""
#: mpdevil:2505 #: mpdevil:2635
msgid "connection error" msgid "connection error"
msgstr "" msgstr ""
#: mpdevil:2507 #: mpdevil:2637
msgid "lyrics not found" msgid "lyrics not found"
msgstr "" msgstr ""
#: mpdevil:2552 #: mpdevil:2682
#, python-brace-format #, python-brace-format
msgid "{channels} channel" msgid "{channels} channel"
msgid_plural "{channels} channels" msgid_plural "{channels} channels"
msgstr[0] "" msgstr[0] ""
msgstr[1] "" msgstr[1] ""
#: mpdevil:2680 #: mpdevil:2816
msgid "Scroll to current song" msgid "Scroll to current song"
msgstr "" msgstr ""
#: mpdevil:2688 mpdevil:3552 #: mpdevil:2824 mpdevil:3698
msgid "Clear playlist" msgid "Clear playlist"
msgstr "" msgstr ""
#: mpdevil:2982 #: mpdevil:3123
msgid "Show lyrics" msgid "Show lyrics"
msgstr "" msgstr ""
#: mpdevil:3300 #: mpdevil:3442
msgid "Random mode" msgid "Random mode"
msgstr "" msgstr ""
#: mpdevil:3302 #: mpdevil:3444
msgid "Repeat mode" msgid "Repeat mode"
msgstr "" msgstr ""
#: mpdevil:3304 #: mpdevil:3446
msgid "Single mode" msgid "Single mode"
msgstr "" msgstr ""
#: mpdevil:3306 #: mpdevil:3448
msgid "Consume mode" msgid "Consume mode"
msgstr "" msgstr ""
#: mpdevil:3514 #: mpdevil:3660
msgid "Window" msgid "Window"
msgstr "" msgstr ""
#: mpdevil:3515 #: mpdevil:3661
msgid "Playback" msgid "Playback"
msgstr "" msgstr ""
#: mpdevil:3516 #: mpdevil:3662
msgid "Search, Album Dialog and Album List" msgid "Search, Album Dialog and Album List"
msgstr "" msgstr ""
#: mpdevil:3526 #: mpdevil:3672
msgid "Open online help" msgid "Open online help"
msgstr "" msgstr ""
#: mpdevil:3527 #: mpdevil:3673
msgid "Open shortcuts window" msgid "Open shortcuts window"
msgstr "" msgstr ""
#: mpdevil:3528 #: mpdevil:3674
msgid "Open menu" msgid "Open menu"
msgstr "" msgstr ""
#: mpdevil:3529 mpdevil:3672 #: mpdevil:3675 mpdevil:3819
msgid "Update database" msgid "Update database"
msgstr "" msgstr ""
#: mpdevil:3530 mpdevil:3670 #: mpdevil:3676 mpdevil:3817
msgid "Quit" msgid "Quit"
msgstr "" msgstr ""
#: mpdevil:3531 #: mpdevil:3677
msgid "Cycle through profiles" msgid "Cycle through profiles"
msgstr "" msgstr ""
#: mpdevil:3532 #: mpdevil:3678
msgid "Cycle through profiles in reversed order" msgid "Cycle through profiles in reversed order"
msgstr "" msgstr ""
#: mpdevil:3533 #: mpdevil:3679
msgid "Toggle mini player" msgid "Toggle mini player"
msgstr "" msgstr ""
#: mpdevil:3534 #: mpdevil:3680
msgid "Toggle lyrics" msgid "Toggle lyrics"
msgstr "" msgstr ""
#: mpdevil:3535 #: mpdevil:3681
msgid "Toggle search" msgid "Toggle search"
msgstr "" msgstr ""
#: mpdevil:3537 #: mpdevil:3683
msgid "Play/Pause" msgid "Play/Pause"
msgstr "" msgstr ""
#: mpdevil:3538 #: mpdevil:3684
msgid "Stop" msgid "Stop"
msgstr "" msgstr ""
#: mpdevil:3539 #: mpdevil:3685
msgid "Next title" msgid "Next title"
msgstr "" msgstr ""
#: mpdevil:3540 #: mpdevil:3686
msgid "Previous title" msgid "Previous title"
msgstr "" msgstr ""
#: mpdevil:3541 #: mpdevil:3687
msgid "Seek forward" msgid "Seek forward"
msgstr "" msgstr ""
#: mpdevil:3542 #: mpdevil:3688
msgid "Seek backward" msgid "Seek backward"
msgstr "" msgstr ""
#: mpdevil:3543 #: mpdevil:3689
msgid "Toggle repeat mode" msgid "Toggle repeat mode"
msgstr "" msgstr ""
#: mpdevil:3544 #: mpdevil:3690
msgid "Toggle random mode" msgid "Toggle random mode"
msgstr "" msgstr ""
#: mpdevil:3545 #: mpdevil:3691
msgid "Toggle single mode" msgid "Toggle single mode"
msgstr "" msgstr ""
#: mpdevil:3546 #: mpdevil:3692
msgid "Toggle consume mode" msgid "Toggle consume mode"
msgstr "" msgstr ""
#: mpdevil:3547 #: mpdevil:3693
msgid "Play selected item (next)" msgid "Enqueue selected item"
msgstr "" msgstr ""
#: mpdevil:3547 #: mpdevil:3694
msgid "Left-click"
msgstr ""
#: mpdevil:3548
msgid "Append selected item" msgid "Append selected item"
msgstr "" msgstr ""
#: mpdevil:3548 mpdevil:3551 #: mpdevil:3694 mpdevil:3697
msgid "Middle-click" msgid "Middle-click"
msgstr "" msgstr ""
#: mpdevil:3549 #: mpdevil:3695
msgid "Play selected item immediately" msgid "Play selected item immediately"
msgstr "" msgstr ""
#: mpdevil:3549 #: mpdevil:3696 mpdevil:3699
msgid "Double-click"
msgstr ""
#: mpdevil:3550 mpdevil:3553
msgid "Show additional information" msgid "Show additional information"
msgstr "" msgstr ""
#: mpdevil:3550 mpdevil:3553 #: mpdevil:3696 mpdevil:3699
msgid "Right-click" msgid "Right-click"
msgstr "" msgstr ""
#: mpdevil:3551 #: mpdevil:3697
msgid "Remove selected song" msgid "Remove selected song"
msgstr "" msgstr ""
#: mpdevil:3577 #: mpdevil:3723
msgid "Connect" msgid "Connect"
msgstr "" msgstr ""
#: mpdevil:3595 #: mpdevil:3741
#, python-brace-format #, python-brace-format
msgid "Connection to “{profile}” ({host}:{port}) failed" msgid "Connection to “{profile}” ({host}:{port}) failed"
msgstr "" msgstr ""
#: mpdevil:3667 #: mpdevil:3814
msgid "Keyboard shortcuts" msgid "Keyboard shortcuts"
msgstr "" msgstr ""
#: mpdevil:3668 #: mpdevil:3815
msgid "Help" msgid "Help"
msgstr "" msgstr ""
#: mpdevil:3669 #: mpdevil:3816
msgid "About" msgid "About"
msgstr "" msgstr ""
#: mpdevil:3673 #: mpdevil:3820
msgid "Server stats" msgid "Server stats"
msgstr "" msgstr ""
#: mpdevil:3678 #: mpdevil:3825
msgid "Mini player" msgid "Mini player"
msgstr "" msgstr ""
#: mpdevil:3683 #: mpdevil:3830
msgid "Menu" msgid "Menu"
msgstr "" msgstr ""
#: mpdevil:3734 mpdevil:3736 #: mpdevil:3880 mpdevil:3882
msgid "connecting…" msgid "connecting…"
msgstr "" msgstr ""

261
po/nl.po
View File

@ -7,8 +7,8 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: \n" "Project-Id-Version: \n"
"Report-Msgid-Bugs-To: \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: 2021-02-12 16:59+0100\n" "PO-Revision-Date: 2021-03-26 16:31+0100\n"
"Last-Translator: \n" "Last-Translator: \n"
"Language-Team: \n" "Language-Team: \n"
"Language: nl\n" "Language: nl\n"
@ -18,90 +18,90 @@ msgstr ""
"X-Generator: Poedit 2.3.1\n" "X-Generator: Poedit 2.3.1\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n"
#: mpdevil:438 #: mpdevil:443
#, python-brace-format #, python-brace-format
msgid "{days} day" msgid "{days} day"
msgid_plural "{days} days" msgid_plural "{days} days"
msgstr[0] "{days} dag" msgstr[0] "{days} dag"
msgstr[1] "{days} dagen" msgstr[1] "{days} dagen"
#: mpdevil:473 #: mpdevil:478
msgid "Unknown Title" msgid "Unknown Title"
msgstr "Onbekende titel" msgstr "Onbekende titel"
#: mpdevil:802 #: mpdevil:861
msgid "Main cover size:" msgid "Main cover size:"
msgstr "Grootte albumhoes:" msgstr "Grootte albumhoes:"
#: mpdevil:803 #: mpdevil:862
msgid "Album view cover size:" msgid "Album view cover size:"
msgstr "Hoesgrootte in albumlijst:" msgstr "Hoesgrootte in albumlijst:"
#: mpdevil:804 #: mpdevil:863
msgid "Action bar icon size:" msgid "Action bar icon size:"
msgstr "Grootte iconen werkbalk:" msgstr "Grootte iconen werkbalk:"
#: mpdevil:805 #: mpdevil:864
msgid "Secondary icon size:" msgid "Secondary icon size:"
msgstr "Grootte overige iconen:" msgstr "Grootte overige iconen:"
#: mpdevil:818 #: mpdevil:877
msgid "Use Client-side decoration" msgid "Use Client-side decoration"
msgstr "Gebruik vensterdecoratie van mpdevil" msgstr "Gebruik vensterdecoratie van mpdevil"
#: mpdevil:819 #: mpdevil:878
msgid "Show stop button" msgid "Show stop button"
msgstr "Toon stopknop" msgstr "Toon stopknop"
#: mpdevil:820 #: mpdevil:879
msgid "Show lyrics button" msgid "Show lyrics button"
msgstr "Toon songtekstknop" msgstr "Toon songtekstknop"
#: mpdevil:821 #: mpdevil:880
msgid "Show initials in artist view" msgid "Show initials in artist view"
msgstr "Toon beginletters in artiestenlijst" msgstr "Toon beginletters in artiestenlijst"
#: mpdevil:822 #: mpdevil:881
msgid "Place playlist at the side" msgid "Place playlist at the side"
msgstr "Plaats afspeellijst aan de zijkant" msgstr "Plaats afspeellijst aan de zijkant"
#: mpdevil:823 #: mpdevil:882
msgid "Use “Album Artist” tag" msgid "Use “Album Artist” tag"
msgstr "Gebruik tag \"Album Artist\"" msgstr "Gebruik tag \"Album Artist\""
#: mpdevil:824 #: mpdevil:883
msgid "Send notification on title change" msgid "Send notification on title change"
msgstr "Verstuur een melding bij titelwisseling" msgstr "Verstuur een melding bij titelwisseling"
#: mpdevil:825 #: mpdevil:884
msgid "Stop playback on quit" msgid "Stop playback on quit"
msgstr "Stop afspelen bij afsluiten" msgstr "Stop afspelen bij afsluiten"
#: mpdevil:826 #: mpdevil:885
msgid "Play selected albums and titles immediately" msgid "Play selected albums and titles immediately"
msgstr "Geselecteerde albums en titels direct afspelen" msgstr "Geselecteerde albums en titels direct afspelen"
#: mpdevil:827 #: mpdevil:886
msgid "Sort albums by year" msgid "Sort albums by year"
msgstr "Sorteer albums op jaar" msgstr "Sorteer albums op jaar"
#: mpdevil:839 #: mpdevil:898
msgid "<b>View</b>" msgid "<b>View</b>"
msgstr "<b>Beeld</b>" msgstr "<b>Beeld</b>"
#: mpdevil:840 #: mpdevil:899
msgid "<b>Behavior</b>" msgid "<b>Behavior</b>"
msgstr "<b>Gedrag</b>" msgstr "<b>Gedrag</b>"
#: mpdevil:860 #: mpdevil:919
msgid "(restart required)" msgid "(restart required)"
msgstr "(herstart vereist)" msgstr "(herstart vereist)"
#: mpdevil:909 #: mpdevil:968
msgid "_Connect" msgid "_Connect"
msgstr "_Verbinden" msgstr "_Verbinden"
#: mpdevil:925 #: mpdevil:984
msgid "" msgid ""
"The first image in the same directory as the song file matching this regex " "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 " "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 " "met deze regex wordt getoond. %AlbumArtist% en %Album% worden vervangen door "
"de bijbehorende tags van het muziekbestand." "de bijbehorende tags van het muziekbestand."
#: mpdevil:930 #: mpdevil:989
msgid "Profile:" msgid "Profile:"
msgstr "Profiel:" msgstr "Profiel:"
#: mpdevil:931 #: mpdevil:990
msgid "Name:" msgid "Name:"
msgstr "Naam:" msgstr "Naam:"
#: mpdevil:932 #: mpdevil:991
msgid "Host:" msgid "Host:"
msgstr "Host:" msgstr "Host:"
#: mpdevil:933 #: mpdevil:992
msgid "Password:" msgid "Password:"
msgstr "Wachtwoord:" msgstr "Wachtwoord:"
#: mpdevil:934 #: mpdevil:993
msgid "Music lib:" msgid "Music lib:"
msgstr "Muziekmap:" msgstr "Muziekmap:"
#: mpdevil:935 #: mpdevil:994
msgid "Cover regex:" msgid "Cover regex:"
msgstr "Regex albumhoes:" msgstr "Regex albumhoes:"
#: mpdevil:1070 #: mpdevil:1129
msgid "Choose directory" msgid "Choose directory"
msgstr "Kies een map" msgstr "Kies een map"
#: mpdevil:1101 #: mpdevil:1160
msgid "Choose the order of information to appear in the playlist:" msgid "Choose the order of information to appear in the playlist:"
msgstr "Kies de volgorde van de informatie getoond in de afspeellijst:" 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" msgid "No"
msgstr "Nr" msgstr "Nr"
#: mpdevil:1118 mpdevil:2707 #: mpdevil:1177 mpdevil:2843
msgid "Disc" msgid "Disc"
msgstr "Disc" msgstr "Disc"
#: mpdevil:1118 mpdevil:1674 mpdevil:1771 mpdevil:2708 #: mpdevil:1177 mpdevil:1719 mpdevil:1847 mpdevil:2844
msgid "Title" msgid "Title"
msgstr "Titel" msgstr "Titel"
#: mpdevil:1118 mpdevil:1777 mpdevil:2709 #: mpdevil:1177 mpdevil:1853 mpdevil:2845
msgid "Artist" msgid "Artist"
msgstr "Artiest" msgstr "Artiest"
#: mpdevil:1118 mpdevil:1783 mpdevil:2710 #: mpdevil:1177 mpdevil:1859 mpdevil:2846
msgid "Album" msgid "Album"
msgstr "Album" msgstr "Album"
#: mpdevil:1118 mpdevil:1678 mpdevil:1789 mpdevil:2711 #: mpdevil:1177 mpdevil:1722 mpdevil:1865 mpdevil:2847
msgid "Length" msgid "Length"
msgstr "Lengte" msgstr "Lengte"
#: mpdevil:1118 mpdevil:2712 #: mpdevil:1177 mpdevil:2848
msgid "Year" msgid "Year"
msgstr "Jaar" msgstr "Jaar"
#: mpdevil:1118 mpdevil:2713 #: mpdevil:1177 mpdevil:2849
msgid "Genre" msgid "Genre"
msgstr "Genre" msgstr "Genre"
#: mpdevil:1234 mpdevil:1236 mpdevil:3666 #: mpdevil:1293 mpdevil:1295 mpdevil:3813
msgid "Settings" msgid "Settings"
msgstr "Instellingen" msgstr "Instellingen"
#: mpdevil:1249 mpdevil:1258 mpdevil:3513 #: mpdevil:1308 mpdevil:1317 mpdevil:3659
msgid "General" msgid "General"
msgstr "Algemeen" msgstr "Algemeen"
#: mpdevil:1250 mpdevil:1259 mpdevil:3677 #: mpdevil:1309 mpdevil:1318 mpdevil:3824
msgid "Profiles" msgid "Profiles"
msgstr "Profielen" msgstr "Profielen"
#: mpdevil:1251 mpdevil:1260 mpdevil:3517 #: mpdevil:1310 mpdevil:1319 mpdevil:3663
msgid "Playlist" msgid "Playlist"
msgstr "Afspeellijst" msgstr "Afspeellijst"
#: mpdevil:1273 #: mpdevil:1332
msgid "Stats" msgid "Stats"
msgstr "Statistieken" msgstr "Statistieken"
#: mpdevil:1283 #: mpdevil:1342
msgid "<b>Protocol:</b>" msgid "<b>Protocol:</b>"
msgstr "<b>Protocol:</b>" msgstr "<b>Protocol:</b>"
#: mpdevil:1284 #: mpdevil:1343
msgid "<b>Uptime:</b>" msgid "<b>Uptime:</b>"
msgstr "<b>Uptime:</b>" msgstr "<b>Uptime:</b>"
#: mpdevil:1285 #: mpdevil:1344
msgid "<b>Playtime:</b>" msgid "<b>Playtime:</b>"
msgstr "<b>Afspeeltijd:</b>" msgstr "<b>Afspeeltijd:</b>"
#: mpdevil:1286 #: mpdevil:1345
msgid "<b>Artists:</b>" msgid "<b>Artists:</b>"
msgstr "<b>Artiesten:</b>" msgstr "<b>Artiesten:</b>"
#: mpdevil:1287 #: mpdevil:1346
msgid "<b>Albums:</b>" msgid "<b>Albums:</b>"
msgstr "<b>Albums:</b>" msgstr "<b>Albums:</b>"
#: mpdevil:1288 #: mpdevil:1347
msgid "<b>Songs:</b>" msgid "<b>Songs:</b>"
msgstr "<b>Titels:</b>" msgstr "<b>Titels:</b>"
#: mpdevil:1289 #: mpdevil:1348
msgid "<b>Total Playtime:</b>" msgid "<b>Total Playtime:</b>"
msgstr "<b>Totale speelduur:</b>" msgstr "<b>Totale speelduur:</b>"
#: mpdevil:1290 #: mpdevil:1349
msgid "<b>Database Update:</b>" msgid "<b>Database Update:</b>"
msgstr "<b>Database bijgewerkt:</b>" msgstr "<b>Database bijgewerkt:</b>"
#: mpdevil:1314 #: mpdevil:1373
msgid "A simple music browser for MPD" msgid "A simple music browser for MPD"
msgstr "Een simpele muziekspeler voor MPD" msgstr "Een simpele muziekspeler voor MPD"
#: mpdevil:1412 #: mpdevil:1462
msgid "Open with…" msgid "Open with…"
msgstr "Openen met…" msgstr "Openen met…"
#: mpdevil:1430 #: mpdevil:1482
msgid "MPD-Tag" msgid "MPD-Tag"
msgstr "MPD-Tag" msgstr "MPD-Tag"
#: mpdevil:1433 #: mpdevil:1485
msgid "Value" msgid "Value"
msgstr "Waarde" msgstr "Waarde"
#: mpdevil:1564 #: mpdevil:1633
msgid "_Append" msgid "_Append"
msgstr "_Toevoegen" msgstr "_Toevoegen"
#: mpdevil:1566 #: mpdevil:1635
msgid "Add all titles to playlist" msgid "Add all titles to playlist"
msgstr "Voeg alle titels toe aan de afspeellijst" msgstr "Voeg alle titels toe aan de afspeellijst"
#: mpdevil:1567 #: mpdevil:1636
msgid "_Play" msgid "_Play"
msgstr "_Afspelen" msgstr "_Afspelen"
#: mpdevil:1569 #: mpdevil:1638
msgid "Directly play all titles" msgid "Directly play all titles"
msgstr "Alle titels direct afspelen" msgstr "Alle titels direct afspelen"
#: mpdevil:1570 #: mpdevil:1639
msgid "_Enqueue" msgid "_Enqueue"
msgstr "_In wachtrij plaatsen" msgstr "_In wachtrij plaatsen"
#: mpdevil:1572 #: mpdevil:1641
msgid "" msgid ""
"Append all titles after the currently playing track and clear the playlist " "Append all titles after the currently playing track and clear the playlist "
"from all other songs" "from all other songs"
@ -271,257 +271,258 @@ msgstr ""
"Alle titels toevoegen na de nu spelende titel en alle overige titels uit de " "Alle titels toevoegen na de nu spelende titel en alle overige titels uit de "
"afspeellijst verwijderen" "afspeellijst verwijderen"
#: mpdevil:1827 #: mpdevil:1913
msgid "all tags" msgid "all tags"
msgstr "alle tags" msgstr "alle tags"
#: mpdevil:1856 #: mpdevil:1937
#, python-brace-format #, python-brace-format
msgid "{hits} hit" msgid "{hits} hit"
msgid_plural "{hits} hits" msgid_plural "{hits} hits"
msgstr[0] "{hits} hit" msgstr[0] "{hits} hit"
msgstr[1] "{hits} treffers" msgstr[1] "{hits} treffers"
#: mpdevil:1894 #: mpdevil:2009
msgid "all genres" msgid "all genres"
msgstr "alle genres" msgstr "alle genres"
#: mpdevil:1996 #: mpdevil:2113
msgid "all artists" msgid "all artists"
msgstr "alle artiesten" msgstr "alle artiesten"
#: mpdevil:2180 mpdevil:2805 mpdevil:3091 mpdevil:3092 #: mpdevil:2313 mpdevil:2945 mpdevil:3232 mpdevil:3233
#, python-brace-format #, python-brace-format
msgid "{titles} title" msgid "{titles} title"
msgid_plural "{titles} titles" msgid_plural "{titles} titles"
msgstr[0] "{titles} titel" msgstr[0] "{titles} titel"
msgstr[1] "{titles} titels" msgstr[1] "{titles} titels"
#: mpdevil:2182 #: mpdevil:2315
#, python-brace-format #, python-brace-format
msgid "on {discs} discs" msgid "on {discs} discs"
msgstr "op {discs} discs" msgstr "op {discs} discs"
#: mpdevil:2322 mpdevil:3536 #: mpdevil:2452 mpdevil:3682
msgid "Back to current album" msgid "Back to current album"
msgstr "Terug naar huidige album" msgstr "Terug naar huidige album"
#: mpdevil:2324 #: mpdevil:2454
msgid "Search" msgid "Search"
msgstr "Zoeken" msgstr "Zoeken"
#: mpdevil:2500 #: mpdevil:2630
msgid "searching..." msgid "searching..."
msgstr "bezig met zoeken..." msgstr "bezig met zoeken..."
#: mpdevil:2505 #: mpdevil:2635
msgid "connection error" msgid "connection error"
msgstr "verbindingsfout" msgstr "verbindingsfout"
#: mpdevil:2507 #: mpdevil:2637
msgid "lyrics not found" msgid "lyrics not found"
msgstr "geen songtekst gevonden" msgstr "geen songtekst gevonden"
#: mpdevil:2552 #: mpdevil:2682
#, python-brace-format #, python-brace-format
msgid "{channels} channel" msgid "{channels} channel"
msgid_plural "{channels} channels" msgid_plural "{channels} channels"
msgstr[0] "{channels} kanaal" msgstr[0] "{channels} kanaal"
msgstr[1] "{channels} kanalen" msgstr[1] "{channels} kanalen"
#: mpdevil:2680 #: mpdevil:2816
msgid "Scroll to current song" msgid "Scroll to current song"
msgstr "Naar de huidige titel scrollen" msgstr "Naar de huidige titel scrollen"
#: mpdevil:2688 mpdevil:3552 #: mpdevil:2824 mpdevil:3698
msgid "Clear playlist" msgid "Clear playlist"
msgstr "Afspeellijst legen" msgstr "Afspeellijst legen"
#: mpdevil:2982 #: mpdevil:3123
msgid "Show lyrics" msgid "Show lyrics"
msgstr "Toon songtekst" msgstr "Toon songtekst"
#: mpdevil:3300 #: mpdevil:3442
msgid "Random mode" msgid "Random mode"
msgstr "Willekeurige modus" msgstr "Willekeurige modus"
#: mpdevil:3302 #: mpdevil:3444
msgid "Repeat mode" msgid "Repeat mode"
msgstr "Herhaalmodus" msgstr "Herhaalmodus"
#: mpdevil:3304 #: mpdevil:3446
msgid "Single mode" msgid "Single mode"
msgstr "Enkele modus" msgstr "Enkele modus"
#: mpdevil:3306 #: mpdevil:3448
msgid "Consume mode" msgid "Consume mode"
msgstr "Verbruiksmodus" msgstr "Verbruiksmodus"
#: mpdevil:3514 #: mpdevil:3660
msgid "Window" msgid "Window"
msgstr "Venster" msgstr "Venster"
#: mpdevil:3515 #: mpdevil:3661
msgid "Playback" msgid "Playback"
msgstr "Afspelen" msgstr "Afspelen"
#: mpdevil:3516 #: mpdevil:3662
msgid "Search, Album Dialog and Album List" msgid "Search, Album Dialog and Album List"
msgstr "Zoeken, Albumdialoog en Albumlijst" msgstr "Zoeken, Albumdialoog en Albumlijst"
#: mpdevil:3526 #: mpdevil:3672
msgid "Open online help" msgid "Open online help"
msgstr "Online hulp openen" msgstr "Online hulp openen"
#: mpdevil:3527 #: mpdevil:3673
msgid "Open shortcuts window" msgid "Open shortcuts window"
msgstr "Venster met sneltoetsen openen" msgstr "Venster met sneltoetsen openen"
#: mpdevil:3528 #: mpdevil:3674
msgid "Open menu" msgid "Open menu"
msgstr "Menu openen" msgstr "Menu openen"
#: mpdevil:3529 mpdevil:3672 #: mpdevil:3675 mpdevil:3819
msgid "Update database" msgid "Update database"
msgstr "Database bijwerken" msgstr "Database bijwerken"
#: mpdevil:3530 mpdevil:3670 #: mpdevil:3676 mpdevil:3817
msgid "Quit" msgid "Quit"
msgstr "Stoppen" msgstr "Stoppen"
#: mpdevil:3531 #: mpdevil:3677
msgid "Cycle through profiles" msgid "Cycle through profiles"
msgstr "Profielen doorlopen" msgstr "Profielen doorlopen"
#: mpdevil:3532 #: mpdevil:3678
msgid "Cycle through profiles in reversed order" msgid "Cycle through profiles in reversed order"
msgstr "Profielen doorlopen in omgekeerde volgorde" msgstr "Profielen doorlopen in omgekeerde volgorde"
#: mpdevil:3533 #: mpdevil:3679
msgid "Toggle mini player" msgid "Toggle mini player"
msgstr "Omschakelen naar minispeler" msgstr "Omschakelen naar minispeler"
#: mpdevil:3534 #: mpdevil:3680
msgid "Toggle lyrics" msgid "Toggle lyrics"
msgstr "Omschakelen naar songtekst" msgstr "Omschakelen naar songtekst"
#: mpdevil:3535 #: mpdevil:3681
msgid "Toggle search" msgid "Toggle search"
msgstr "Omschakelen naar zoeken" msgstr "Omschakelen naar zoeken"
#: mpdevil:3537 #: mpdevil:3683
msgid "Play/Pause" msgid "Play/Pause"
msgstr "Afspelen/Pauzeren" msgstr "Afspelen/Pauzeren"
#: mpdevil:3538 #: mpdevil:3684
msgid "Stop" msgid "Stop"
msgstr "Stoppen" msgstr "Stoppen"
#: mpdevil:3539 #: mpdevil:3685
msgid "Next title" msgid "Next title"
msgstr "Volgende titel" msgstr "Volgende titel"
#: mpdevil:3540 #: mpdevil:3686
msgid "Previous title" msgid "Previous title"
msgstr "Vorige titel" msgstr "Vorige titel"
#: mpdevil:3541 #: mpdevil:3687
msgid "Seek forward" msgid "Seek forward"
msgstr "Vooruit spoelen" msgstr "Vooruit spoelen"
#: mpdevil:3542 #: mpdevil:3688
msgid "Seek backward" msgid "Seek backward"
msgstr "Achteruit spoelen" msgstr "Achteruit spoelen"
#: mpdevil:3543 #: mpdevil:3689
msgid "Toggle repeat mode" msgid "Toggle repeat mode"
msgstr "Omschakelen naar herhaalmodus" msgstr "Omschakelen naar herhaalmodus"
#: mpdevil:3544 #: mpdevil:3690
msgid "Toggle random mode" msgid "Toggle random mode"
msgstr "Omschakelen naar willekeurige modus" msgstr "Omschakelen naar willekeurige modus"
#: mpdevil:3545 #: mpdevil:3691
msgid "Toggle single mode" msgid "Toggle single mode"
msgstr "Omschakelen naar enkele modus" msgstr "Omschakelen naar enkele modus"
#: mpdevil:3546 #: mpdevil:3692
msgid "Toggle consume mode" msgid "Toggle consume mode"
msgstr "Omschakelen naar verbruiksmodus" msgstr "Omschakelen naar verbruiksmodus"
#: mpdevil:3547 #: mpdevil:3693
msgid "Play selected item (next)" msgid "Enqueue selected item"
msgstr "Geselecteerde item afspelen (volgende)" msgstr "Geselecteerde item in wachtrij plaatsen"
#: mpdevil:3547 #: mpdevil:3694
msgid "Left-click"
msgstr "Linksklik"
#: mpdevil:3548
msgid "Append selected item" msgid "Append selected item"
msgstr "Geselecteerde item toevoegen" msgstr "Geselecteerde item toevoegen"
#: mpdevil:3548 mpdevil:3551 #: mpdevil:3694 mpdevil:3697
msgid "Middle-click" msgid "Middle-click"
msgstr "Middelklik" msgstr "Middelklik"
#: mpdevil:3549 #: mpdevil:3695
msgid "Play selected item immediately" msgid "Play selected item immediately"
msgstr "Geselecteerde item direct afspelen" msgstr "Geselecteerde item direct afspelen"
#: mpdevil:3549 #: mpdevil:3696 mpdevil:3699
msgid "Double-click"
msgstr "Dubbelklik"
#: mpdevil:3550 mpdevil:3553
msgid "Show additional information" msgid "Show additional information"
msgstr "Toon extra informatie" msgstr "Toon extra informatie"
#: mpdevil:3550 mpdevil:3553 #: mpdevil:3696 mpdevil:3699
msgid "Right-click" msgid "Right-click"
msgstr "Rechtsklik" msgstr "Rechtsklik"
#: mpdevil:3551 #: mpdevil:3697
msgid "Remove selected song" msgid "Remove selected song"
msgstr "Geselecteerde titel verwijderen" msgstr "Geselecteerde titel verwijderen"
#: mpdevil:3577 #: mpdevil:3723
msgid "Connect" msgid "Connect"
msgstr "Verbinden" msgstr "Verbinden"
#: mpdevil:3595 #: mpdevil:3741
#, python-brace-format #, python-brace-format
msgid "Connection to “{profile}” ({host}:{port}) failed" msgid "Connection to “{profile}” ({host}:{port}) failed"
msgstr "Verbinding met “{profile}” ({host}:{port}) mislukt" msgstr "Verbinding met “{profile}” ({host}:{port}) mislukt"
#: mpdevil:3667 #: mpdevil:3814
msgid "Keyboard shortcuts" msgid "Keyboard shortcuts"
msgstr "Sneltoetsen" msgstr "Sneltoetsen"
#: mpdevil:3668 #: mpdevil:3815
msgid "Help" msgid "Help"
msgstr "Hulp" msgstr "Hulp"
#: mpdevil:3669 #: mpdevil:3816
msgid "About" msgid "About"
msgstr "Over" msgstr "Over"
#: mpdevil:3673 #: mpdevil:3820
msgid "Server stats" msgid "Server stats"
msgstr "Serverstatistieken" msgstr "Serverstatistieken"
#: mpdevil:3678 #: mpdevil:3825
msgid "Mini player" msgid "Mini player"
msgstr "Minispeler" msgstr "Minispeler"
#: mpdevil:3683 #: mpdevil:3830
msgid "Menu" msgid "Menu"
msgstr "Menu" msgstr "Menu"
#: mpdevil:3734 mpdevil:3736 #: mpdevil:3880 mpdevil:3882
msgid "connecting…" msgid "connecting…"
msgstr "verbinding maken…" 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" #~ msgid "Sort albums in chronological order"
#~ msgstr "Sorteer albums in chronologische volgorde" #~ msgstr "Sorteer albums in chronologische volgorde"