Reworked profiles to support proper socket connection

This commit is contained in:
Martin Wagner 2021-09-13 17:08:05 +02:00
parent 4245b40b3d
commit 99ea046d08
5 changed files with 537 additions and 460 deletions

View File

@ -46,6 +46,8 @@ else:
VERSION="1.3.0" # sync with setup.py
COVER_REGEX=r"^\.?(album|cover|folder|front).*\.(gif|jpeg|jpg|png)$"
FALLBACK_COVER=Gtk.IconTheme.get_default().lookup_icon("media-optical", 128, Gtk.IconLookupFlags.FORCE_SVG).get_filename()
FALLBACK_SOCKET=os.path.join(GLib.get_user_runtime_dir(), "mpd/socket")
FALLBACK_LIB=GLib.get_user_special_dir(GLib.UserDirectory.DIRECTORY_MUSIC)
##############
# Decorators #
@ -417,8 +419,9 @@ class MPRISInterface: # TODO emit Seeked if needed
if "://" in song_file: # remote file
self._metadata["xesam:url"]=GLib.Variant("s", song_file)
else:
lib_path=self._settings.get_lib_path()
self._metadata["xesam:url"]=GLib.Variant("s", f"file://{os.path.join(lib_path, song_file)}")
song_path=self._client.get_absolute_path(song_file)
if song_path is not None:
self._metadata["xesam:url"]=GLib.Variant("s", f"file://{song_path}")
cover_path=self._client.get_cover_path(song)
if cover_path is not None:
self._metadata["mpris:artUrl"]=GLib.Variant("s", f"file://{cover_path}")
@ -620,6 +623,7 @@ class Client(MPDClient):
self._last_status={}
self._refresh_interval=self._settings.get_int("refresh-interval")
self._main_timeout_id=None
self.lib_path=None
# connect
self._settings.connect("changed::active-profile", self._on_active_profile_changed)
@ -641,14 +645,27 @@ class Client(MPDClient):
def start(self):
self.emitter.emit("disconnected") # bring player in defined state
profile=self._settings.get_active_profile()
if profile.get_boolean("socket-connection"):
socket=profile.get_string("socket")
if not socket:
socket=FALLBACK_SOCKET
args=(socket, None)
else:
args=(profile.get_string("host"), profile.get_int("port"))
try:
self.connect(profile.get_string("host"), profile.get_int("port"))
self.connect(*args)
if profile.get_string("password"):
self.password(profile.get_string("password"))
except ConnectionRefusedError:
except:
self.emitter.emit("connection_error")
return False
# connect successful
if profile.get_boolean("socket-connection"):
self.lib_path=self.config()
else:
self.lib_path=self._settings.get_active_profile().get_string("path")
if not self.lib_path:
self.lib_path=FALLBACK_LIB
if "status" in self.commands():
self._main_timeout_id=GLib.timeout_add(self._refresh_interval, self._main_loop)
self.emitter.emit("reconnected")
@ -776,8 +793,7 @@ class Client(MPDClient):
path=None
song_file=song["file"]
profile=self._settings.get_active_profile()
lib_path=self._settings.get_lib_path()
if lib_path is not None:
if self.lib_path is not None:
regex_str=profile.get_string("regex")
if regex_str:
regex_str=regex_str.replace("%AlbumArtist%", re.escape(song["albumartist"][0]))
@ -789,7 +805,7 @@ class Client(MPDClient):
return None
else:
regex=re.compile(COVER_REGEX, flags=re.IGNORECASE)
song_dir=os.path.join(lib_path, os.path.dirname(song_file))
song_dir=os.path.join(self.lib_path, os.path.dirname(song_file))
if song_dir.endswith(".cue"):
song_dir=os.path.dirname(song_dir) # get actual directory of .cue file
if os.path.exists(song_dir):
@ -822,9 +838,8 @@ class Client(MPDClient):
return cover
def get_absolute_path(self, uri):
lib_path=self._settings.get_lib_path()
if lib_path is not None:
path=os.path.join(lib_path, uri)
if self.lib_path is not None:
path=os.path.join(self.lib_path, uri)
if os.path.isfile(path):
return path
else:
@ -953,12 +968,6 @@ class Settings(Gio.Settings):
else:
return "artist"
def get_lib_path(self):
lib_path=self.get_active_profile().get_string("path")
if not lib_path:
lib_path=GLib.get_user_special_dir(GLib.UserDirectory.DIRECTORY_MUSIC)
return lib_path
def get_profile(self, num):
return self._profiles[num]
@ -1075,7 +1084,7 @@ class PasswordEntry(Gtk.Entry):
class LibPathEntry(Gtk.Entry):
def __init__(self, parent, **kwargs):
super().__init__(placeholder_text=GLib.get_user_special_dir(GLib.UserDirectory.DIRECTORY_MUSIC), **kwargs)
super().__init__(placeholder_text=FALLBACK_LIB, **kwargs)
self.set_icon_from_icon_name(Gtk.EntryIconPosition.SECONDARY, "folder-open-symbolic")
self.connect("icon-release", self._on_icon_release, parent)
@ -1092,18 +1101,24 @@ class LibPathEntry(Gtk.Entry):
class ProfileEntryMask(Gtk.Grid):
def __init__(self, profile, parent):
super().__init__(row_spacing=6, column_spacing=12, border_width=18)
host_entry=Gtk.Entry(hexpand=True)
super().__init__(row_spacing=6, column_spacing=6, border_width=18)
socket_button=Gtk.CheckButton(label=_("Connect via Unix domain socket"))
profile.bind("socket-connection", socket_button, "active", Gio.SettingsBindFlags.DEFAULT)
socket_entry=Gtk.Entry(placeholder_text=FALLBACK_SOCKET, hexpand=True, no_show_all=True)
profile.bind("socket", socket_entry, "text", Gio.SettingsBindFlags.DEFAULT)
profile.bind("socket-connection", socket_entry, "visible", Gio.SettingsBindFlags.GET)
host_entry=Gtk.Entry(hexpand=True, no_show_all=True)
profile.bind("host", host_entry, "text", Gio.SettingsBindFlags.DEFAULT)
profile.bind("socket-connection", host_entry, "visible", Gio.SettingsBindFlags.INVERT_BOOLEAN|Gio.SettingsBindFlags.GET)
port_entry=Gtk.SpinButton.new_with_range(0, 65535, 1)
port_entry.set_property("no-show-all", True)
profile.bind("port", port_entry, "value", Gio.SettingsBindFlags.DEFAULT)
address_entry=Gtk.Box(spacing=6)
address_entry.pack_start(host_entry, True, True, 0)
address_entry.pack_start(port_entry, False, False, 0)
profile.bind("socket-connection", port_entry, "visible", Gio.SettingsBindFlags.INVERT_BOOLEAN|Gio.SettingsBindFlags.GET)
password_entry=PasswordEntry(hexpand=True)
profile.bind("password", password_entry, "text", Gio.SettingsBindFlags.DEFAULT)
path_entry=LibPathEntry(parent, hexpand=True)
path_entry=LibPathEntry(parent, hexpand=True, no_show_all=True)
profile.bind("path", path_entry, "text", Gio.SettingsBindFlags.DEFAULT)
profile.bind("socket-connection", path_entry, "visible", Gio.SettingsBindFlags.INVERT_BOOLEAN|Gio.SettingsBindFlags.GET)
regex_entry=Gtk.Entry(hexpand=True, placeholder_text=COVER_REGEX)
regex_entry.set_tooltip_text(
_("The first image in the same directory as the song file "\
@ -1111,17 +1126,25 @@ class ProfileEntryMask(Gtk.Grid):
"%Album% will be replaced by the corresponding tags of the song.")
)
profile.bind("regex", regex_entry, "text", Gio.SettingsBindFlags.DEFAULT)
host_label=Gtk.Label(label=_("Host:"), xalign=1)
password_label=Gtk.Label(label=_("Password:"), xalign=1)
path_label=Gtk.Label(label=_("Music lib:"), xalign=1)
regex_label=Gtk.Label(label=_("Cover regex:"), xalign=1)
socket_label=Gtk.Label(label=_("Socket:"), xalign=1, margin_end=6, no_show_all=True)
profile.bind("socket-connection", socket_label, "visible", Gio.SettingsBindFlags.GET)
host_label=Gtk.Label(label=_("Host:"), xalign=1, margin_end=6, no_show_all=True)
profile.bind("socket-connection", host_label, "visible", Gio.SettingsBindFlags.INVERT_BOOLEAN|Gio.SettingsBindFlags.GET)
password_label=Gtk.Label(label=_("Password:"), xalign=1, margin_end=6)
path_label=Gtk.Label(label=_("Music lib:"), xalign=1, no_show_all=True)
profile.bind("socket-connection", path_label, "visible", Gio.SettingsBindFlags.INVERT_BOOLEAN|Gio.SettingsBindFlags.GET)
regex_label=Gtk.Label(label=_("Cover regex:"), xalign=1, margin_end=6)
# packing
self.add(host_label)
self.attach(socket_button, 0, 0, 3, 1)
self.attach(socket_label, 0, 1, 1, 1)
self.attach_next_to(host_label, socket_label, Gtk.PositionType.BOTTOM, 1, 1)
self.attach_next_to(password_label, host_label, Gtk.PositionType.BOTTOM, 1, 1)
self.attach_next_to(path_label, password_label, Gtk.PositionType.BOTTOM, 1, 1)
self.attach_next_to(regex_label, path_label, Gtk.PositionType.BOTTOM, 1, 1)
self.attach_next_to(address_entry, host_label, Gtk.PositionType.RIGHT, 2, 1)
self.attach_next_to(socket_entry, socket_label, Gtk.PositionType.RIGHT, 2, 1)
self.attach_next_to(host_entry, host_label, Gtk.PositionType.RIGHT, 1, 1)
self.attach_next_to(port_entry, host_entry, Gtk.PositionType.RIGHT, 1, 1)
self.attach_next_to(password_entry, password_label, Gtk.PositionType.RIGHT, 2, 1)
self.attach_next_to(path_entry, path_label, Gtk.PositionType.RIGHT, 2, 1)
self.attach_next_to(regex_entry, regex_label, Gtk.PositionType.RIGHT, 2, 1)
@ -3723,7 +3746,14 @@ class ConnectionNotify(Gtk.Revealer):
def _on_connection_error(self, *args):
profile=self._settings.get_active_profile()
self._label.set_text(_("Connection to “{host}:{port}” failed").format(host=profile.get_string("host"), port=profile.get_int("port")))
if profile.get_boolean("socket-connection"):
socket=profile.get_string("socket")
if not socket:
socket=FALLBACK_SOCKET
text=_("Connection to “{socket}” failed").format(socket=socket)
else:
text=_("Connection to “{host}:{port}” failed").format(host=profile.get_string("host"), port=profile.get_int("port"))
self._label.set_text(text)
self.set_reveal_child(True)
def _on_reconnected(self, *args):

View File

@ -123,26 +123,34 @@
</key>
</schema>
<schema id="org.mpdevil.mpdevil.profile">
<key type="b" name="socket-connection">
<default>false</default>
<summary>Connect via Unix domain socket</summary>
</key>
<key type="s" name="socket">
<default>""</default>
<summary>Unix domain socket</summary>
</key>
<key type="s" name="host">
<default>"localhost"</default>
<summary>List of hosts</summary>
<summary>Hostname or IP address</summary>
</key>
<key type="i" name="port">
<range min="0" max="65535"/>
<default>6600</default>
<summary>List of ports</summary>
<summary>Network port</summary>
</key>
<key type="s" name="password">
<default>""</default>
<summary>List of passwords</summary>
<summary>Password</summary>
</key>
<key type="s" name="path">
<default>""</default>
<summary>List of library paths</summary>
<summary>Music library path</summary>
</key>
<key type="s" name="regex">
<default>""</default>
<summary>List of cover regex</summary>
<summary>Cover regex</summary>
</key>
</schema>
</schemalist>

297
po/de.po
View File

@ -7,8 +7,8 @@ msgid ""
msgstr ""
"Project-Id-Version: \n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2021-08-21 00:29+0200\n"
"PO-Revision-Date: 2021-08-21 00:30+0200\n"
"POT-Creation-Date: 2021-09-13 17:04+0200\n"
"PO-Revision-Date: 2021-09-13 17:06+0200\n"
"Last-Translator: \n"
"Language-Team: \n"
"Language: de\n"
@ -18,89 +18,93 @@ msgstr ""
"X-Generator: Poedit 2.3.1\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#: mpdevil:465
#: mpdevil:492
#, python-brace-format
msgid "{days} day"
msgid_plural "{days} days"
msgstr[0] "{days} Tag"
msgstr[1] "{days} Tage"
#: mpdevil:502
#: mpdevil:529
#, python-brace-format
msgid "{channels} channel"
msgid_plural "{channels} channels"
msgstr[0] "{channels} Kanal"
msgstr[1] "{channels} Kanäle"
#: mpdevil:980
#: mpdevil:991
msgid "(restart required)"
msgstr "(Neustart erforderlich)"
#: mpdevil:1026
#: mpdevil:1037
msgid "Use Client-side decoration"
msgstr "„Client-side decoration“ benutzen"
#: mpdevil:1027
#: mpdevil:1038
msgid "Show stop button"
msgstr "Stopp-Knopf anzeigen"
#: mpdevil:1028
#: mpdevil:1039
msgid "Show audio format"
msgstr "Audioformat anzeigen"
#: mpdevil:1029
#: mpdevil:1040
msgid "Show lyrics button"
msgstr "Liedtext-Knopf anzeigen"
#: mpdevil:1030
#: mpdevil:1041
msgid "Place playlist at the side"
msgstr "Wiedergabeliste seitlich anzeigen"
#: mpdevil:1036
#: mpdevil:1047
msgid "Main cover size"
msgstr "Größe des Hauptcovers"
#: mpdevil:1037
#: mpdevil:1048
msgid "Album view cover size"
msgstr "Covergröße in Albumliste"
#: mpdevil:1038
#: mpdevil:1049
msgid "Action bar icon size"
msgstr "Symbolgröße Aktionsleiste"
#: mpdevil:1048
#: mpdevil:1059
msgid "Support “MPRIS”"
msgstr "„MPRIS“ unterstützen"
#: mpdevil:1049
#: mpdevil:1060
msgid "Use “Album Artist” tag"
msgstr "„Album Artist“ Tag benutzen"
#: mpdevil:1050
#: mpdevil:1061
msgid "Sort albums by year"
msgstr "Alben nach Jahr sortieren"
#: mpdevil:1051
#: mpdevil:1062
msgid "Send notification on title change"
msgstr "Über Titelwechsel benachrichtigen"
#: mpdevil:1052
#: mpdevil:1063
msgid "Play selected albums and titles immediately"
msgstr "Ausgewählte Alben und Titel sofort abspielen"
#: mpdevil:1053
#: mpdevil:1064
msgid "Rewind via previous button"
msgstr "Klassischer Rück­spul­knopf"
#: mpdevil:1054
#: mpdevil:1065
msgid "Stop playback on quit"
msgstr "Wiedergabe beim Beenden stoppen"
#: mpdevil:1081
#: mpdevil:1092
msgid "Choose directory"
msgstr "Verzeichnis wählen"
#: mpdevil:1107
#: mpdevil:1105
msgid "Connect via Unix domain socket"
msgstr "Über „Unix domain socket“ verbinden"
#: mpdevil:1124
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 "
@ -110,182 +114,186 @@ msgstr ""
"regulären Ausdruck entspricht, wird angezeigt. %AlbumArtist% und %Album% "
"werden durch die entsprechenden Tags des Liedes ersetzt."
#: mpdevil:1112
#: mpdevil:1129
msgid "Socket:"
msgstr "Socket:"
#: mpdevil:1131
msgid "Host:"
msgstr "Host:"
#: mpdevil:1113
#: mpdevil:1133
msgid "Password:"
msgstr "Passwort:"
#: mpdevil:1114
#: mpdevil:1134
msgid "Music lib:"
msgstr "Musikverzeichnis:"
#: mpdevil:1115
#: mpdevil:1136
msgid "Cover regex:"
msgstr "Cover-Regex:"
#: mpdevil:1135 mpdevil:3752
#: mpdevil:1160 mpdevil:3830
msgid "Profile 1"
msgstr "Profil 1"
#: mpdevil:1136 mpdevil:3752
#: mpdevil:1161 mpdevil:3830
msgid "Profile 2"
msgstr "Profil 2"
#: mpdevil:1137 mpdevil:3752
#: mpdevil:1162 mpdevil:3830
msgid "Profile 3"
msgstr "Profil 3"
#: mpdevil:1141 mpdevil:3656
#: mpdevil:1166 mpdevil:3728
msgid "Connect"
msgstr "Verbinden"
#: mpdevil:1167
#: mpdevil:1192
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:1184 mpdevil:1676 mpdevil:1801 mpdevil:2760
#: mpdevil:1209 mpdevil:1700 mpdevil:1832 mpdevil:2832
msgid "No"
msgstr "Nr."
#: mpdevil:1184 mpdevil:2761
#: mpdevil:1209 mpdevil:2833
msgid "Disc"
msgstr "CD"
#: mpdevil:1184 mpdevil:1679 mpdevil:1806 mpdevil:2762 mpdevil:2876
#: mpdevil:2878
#: mpdevil:1209 mpdevil:1703 mpdevil:1734 mpdevil:1837 mpdevil:2834
#: mpdevil:2948 mpdevil:2950
msgid "Title"
msgstr "Titel"
#: mpdevil:1184 mpdevil:1812 mpdevil:2763
#: mpdevil:1209 mpdevil:1843 mpdevil:2835
msgid "Artist"
msgstr "Interpret"
#: mpdevil:1184 mpdevil:1818 mpdevil:2764
#: mpdevil:1209 mpdevil:1849 mpdevil:2836
msgid "Album"
msgstr "Album"
#: mpdevil:1184 mpdevil:1682 mpdevil:1824 mpdevil:2765
#: mpdevil:1209 mpdevil:1707 mpdevil:1855 mpdevil:2837
msgid "Length"
msgstr "Länge"
#: mpdevil:1184 mpdevil:2766
#: mpdevil:1209 mpdevil:2838
msgid "Year"
msgstr "Jahr"
#: mpdevil:1184 mpdevil:2767
#: mpdevil:1209 mpdevil:2839
msgid "Genre"
msgstr "Genre"
#: mpdevil:1274 mpdevil:1276 mpdevil:3657 mpdevil:3743
#: mpdevil:1299 mpdevil:1301 mpdevil:3729 mpdevil:3821
msgid "Settings"
msgstr "Einstellungen"
#: mpdevil:1290 mpdevil:1301
#: mpdevil:1315 mpdevil:1326
msgid "View"
msgstr "Ansicht"
#: mpdevil:1291 mpdevil:1302
#: mpdevil:1316 mpdevil:1327
msgid "Behavior"
msgstr "Verhalten"
#: mpdevil:1292 mpdevil:1303
#: mpdevil:1317 mpdevil:1328
msgid "Profiles"
msgstr "Profile"
#: mpdevil:1293 mpdevil:1304 mpdevil:3598
#: mpdevil:1318 mpdevil:1329 mpdevil:3670
msgid "Playlist"
msgstr "Wiedergabeliste"
#: mpdevil:1321
#: mpdevil:1346
msgid "Stats"
msgstr "Statistik"
#: mpdevil:1331
#: mpdevil:1356
msgid "<b>Protocol:</b>"
msgstr "<b>Protokoll:</b>"
#: mpdevil:1332
#: mpdevil:1357
msgid "<b>Uptime:</b>"
msgstr "<b>Uptime:</b>"
#: mpdevil:1333
#: mpdevil:1358
msgid "<b>Playtime:</b>"
msgstr "<b>Wiedergabezeit:</b>"
#: mpdevil:1334
#: mpdevil:1359
msgid "<b>Artists:</b>"
msgstr "<b>Künstler:</b>"
#: mpdevil:1335
#: mpdevil:1360
msgid "<b>Albums:</b>"
msgstr "<b>Alben:</b>"
#: mpdevil:1336
#: mpdevil:1361
msgid "<b>Songs:</b>"
msgstr "<b>Titel:</b>"
#: mpdevil:1337
#: mpdevil:1362
msgid "<b>Total Playtime:</b>"
msgstr "<b>Gesamtwiedergabezeit:</b>"
#: mpdevil:1338
#: mpdevil:1363
msgid "<b>Database Update:</b>"
msgstr "<b>Datenbankaktualisierung:</b>"
#: mpdevil:1362
#: mpdevil:1387
msgid "A simple music browser for MPD"
msgstr "Ein einfacher Musikbrowser für MPD"
#: mpdevil:1426
#: mpdevil:1451
msgid "Open with…"
msgstr "Öffnen mit…"
#: mpdevil:1441 mpdevil:1735
#: mpdevil:1466 mpdevil:1766
msgid "Append"
msgstr "Anhängen"
#: mpdevil:1442 mpdevil:1736
#: mpdevil:1467 mpdevil:1767
msgid "Play"
msgstr "Abspielen"
#: mpdevil:1443 mpdevil:1737
#: mpdevil:1468 mpdevil:1768
msgid "Enqueue"
msgstr "Einreihen"
#: mpdevil:1461
#: mpdevil:1486
msgid "MPD-Tag"
msgstr "MPD-Tag"
#: mpdevil:1464
#: mpdevil:1489
msgid "Value"
msgstr "Wert"
#: mpdevil:1611
#: mpdevil:1636
msgid "_Append"
msgstr "_Anhängen"
#: mpdevil:1611
#: mpdevil:1636
msgid "Add all titles to playlist"
msgstr "Alle Titel der Wiedergabeliste anhängen"
#: mpdevil:1612
#: mpdevil:1637
msgid "_Play"
msgstr "Ab_spielen"
#: mpdevil:1612
#: mpdevil:1637
msgid "Directly play all titles"
msgstr "Alle Titel sofort abspielen"
#: mpdevil:1613
#: mpdevil:1638
msgid "_Enqueue"
msgstr "_Einreihen"
#: mpdevil:1613
#: mpdevil:1638
msgid ""
"Append all titles after the currently playing track and clear the playlist "
"from all other songs"
@ -293,253 +301,258 @@ msgstr ""
"Alle Titel hinter dem aktuellen Stück einreihen und die weitere "
"Wiedergabeliste leeren"
#: mpdevil:1876
msgid "all tags"
msgstr "Alle Tags"
#: mpdevil:1926
#, python-brace-format
msgid "{hits} hit"
msgid_plural "{hits} hits"
msgstr[0] "{hits} Treffer"
msgstr[1] "{hits} Treffer"
#: mpdevil:2057
msgid "all genres"
msgstr "Alle Genres"
#: mpdevil:2082
msgid "all artists"
msgstr "Alle Interpreten"
#: mpdevil:2300 mpdevil:2979
#: mpdevil:1733 mpdevil:3051
#, python-brace-format
msgid "{number} song ({duration})"
msgid_plural "{number} songs ({duration})"
msgstr[0] "{number} Stück ({duration})"
msgstr[1] "{number} Stücke ({duration})"
#: mpdevil:2430 mpdevil:3617
#: mpdevil:1907
msgid "all tags"
msgstr "Alle Tags"
#: mpdevil:1957
#, python-brace-format
msgid "{hits} hit"
msgid_plural "{hits} hits"
msgstr[0] "{hits} Treffer"
msgstr[1] "{hits} Treffer"
#: mpdevil:2088
msgid "all genres"
msgstr "Alle Genres"
#: mpdevil:2113
msgid "all artists"
msgstr "Alle Interpreten"
#: mpdevil:2502 mpdevil:3689
msgid "Back to current album"
msgstr "Zurück zu aktuellem Album"
#: mpdevil:2432
#: mpdevil:2504
msgid "Search"
msgstr "Suche"
#: mpdevil:2435
#: mpdevil:2507
msgid "Filter by genre"
msgstr "Nach Genre filtern"
#: mpdevil:2623
#: mpdevil:2695
msgid "searching…"
msgstr "suche…"
#: mpdevil:2628
#: mpdevil:2700
msgid "connection error"
msgstr "Verbindungsfehler"
#: mpdevil:2630
#: mpdevil:2702
msgid "lyrics not found"
msgstr "Liedtext nicht gefunden"
#: mpdevil:2738
#: mpdevil:2810
msgid "Scroll to current song"
msgstr "Gehe zu aktuellem Lied"
#: mpdevil:3040
#: mpdevil:3112
msgid "Show lyrics"
msgstr "Zeige Liedtext"
#: mpdevil:3142 mpdevil:3143
#: mpdevil:3214 mpdevil:3215
#, python-brace-format
msgid "{number} song"
msgid_plural "{number} songs"
msgstr[0] "{number} Stück"
msgstr[1] "{number} Stücke"
#: mpdevil:3370
#: mpdevil:3442
msgid "Repeat mode"
msgstr "Dauerschleife"
#: mpdevil:3371
#: mpdevil:3443
msgid "Random mode"
msgstr "Zufallsmodus"
#: mpdevil:3372
#: mpdevil:3444
msgid "Single mode"
msgstr "Einzelstückmodus"
#: mpdevil:3373
#: mpdevil:3445
msgid "Consume mode"
msgstr "Wiedergabeliste verbrauchen"
#: mpdevil:3594
#: mpdevil:3666
msgid "General"
msgstr "Allgemein"
#: mpdevil:3595
#: mpdevil:3667
msgid "Window"
msgstr "Fenster"
#: mpdevil:3596
#: mpdevil:3668
msgid "Playback"
msgstr "Wiedergabe"
#: mpdevil:3597
#: mpdevil:3669
msgid "Search, Album Dialog, Album List and Artist List"
msgstr "Suche, Albumdialog, Albumliste und Interpretenliste"
#: mpdevil:3607
#: mpdevil:3679
msgid "Open online help"
msgstr "Onlinehilfe öffnen"
#: mpdevil:3608
#: mpdevil:3680
msgid "Open shortcuts window"
msgstr "Tastenkürzelfenster öffnen"
#: mpdevil:3609
#: mpdevil:3681
msgid "Open menu"
msgstr "Menü öffnen"
#: mpdevil:3610 mpdevil:3749
#: mpdevil:3682 mpdevil:3827
msgid "Update database"
msgstr "Datenbank aktualisieren"
#: mpdevil:3611 mpdevil:3747
#: mpdevil:3683 mpdevil:3825
msgid "Quit"
msgstr "Beenden"
#: mpdevil:3612
#: mpdevil:3684
msgid "Cycle through profiles"
msgstr "Profile durchschalten"
#: mpdevil:3613
#: mpdevil:3685
msgid "Cycle through profiles in reversed order"
msgstr "Profile rückwärts durchschalten"
#: mpdevil:3614
#: mpdevil:3686
msgid "Toggle mini player"
msgstr "Miniplayer ein-/ausschalten"
#: mpdevil:3615
#: mpdevil:3687
msgid "Toggle lyrics"
msgstr "Liedtext ein-/ausblenden"
#: mpdevil:3616
#: mpdevil:3688
msgid "Toggle search"
msgstr "Suche ein-/ausblenden"
#: mpdevil:3618
#: mpdevil:3690
msgid "Play/Pause"
msgstr "Wiedergabe/Pause"
#: mpdevil:3619
#: mpdevil:3691
msgid "Stop"
msgstr "Stopp"
#: mpdevil:3620
#: mpdevil:3692
msgid "Next title"
msgstr "Nächster Titel"
#: mpdevil:3621
#: mpdevil:3693
msgid "Previous title"
msgstr "Vorheriger Titel"
#: mpdevil:3622
#: mpdevil:3694
msgid "Seek forward"
msgstr "Vorspulen"
#: mpdevil:3623
#: mpdevil:3695
msgid "Seek backward"
msgstr "Zurückspulen"
#: mpdevil:3624
#: mpdevil:3696
msgid "Toggle repeat mode"
msgstr "Dauerschleife ein-/ausschalten"
#: mpdevil:3625
#: mpdevil:3697
msgid "Toggle random mode"
msgstr "Zufallsmodus ein-/ausschalten"
#: mpdevil:3626
#: mpdevil:3698
msgid "Toggle single mode"
msgstr "Einzelstückmodus ein-/ausschalten"
#: mpdevil:3627
#: mpdevil:3699
msgid "Toggle consume mode"
msgstr "Wiedergabeliste verbrauchen ein-/ausschalten"
#: mpdevil:3628
#: mpdevil:3700
msgid "Enqueue selected item"
msgstr "Ausgewähltes Element einreihen"
#: mpdevil:3629
#: mpdevil:3701
msgid "Append selected item"
msgstr "Ausgewähltes Element anhängen"
#: mpdevil:3629 mpdevil:3632
#: mpdevil:3701 mpdevil:3704
msgid "Middle-click"
msgstr "Mittelklick"
#: mpdevil:3630
#: mpdevil:3702
msgid "Play selected item immediately"
msgstr "Ausgewähltes Element sofort abspielen"
#: mpdevil:3630
#: mpdevil:3702
msgid "Double-click"
msgstr "Doppelklick"
#: mpdevil:3631 mpdevil:3634
#: mpdevil:3703 mpdevil:3706
msgid "Show additional information"
msgstr "Zeige weitere Informationen"
#: mpdevil:3631 mpdevil:3634
#: mpdevil:3703 mpdevil:3706
msgid "Right-click"
msgstr "Rechtsklick"
#: mpdevil:3632
#: mpdevil:3704
msgid "Remove selected song"
msgstr "Ausgewählten Titel entfernen"
#: mpdevil:3633
#: mpdevil:3705
msgid "Clear playlist"
msgstr "Wiedergabeliste leeren"
#: mpdevil:3677
#: mpdevil:3753
#, python-brace-format
msgid "Connection to “{socket}” failed"
msgstr "Verbindung zu „{socket}“ fehlgeschlagen"
#: mpdevil:3755
#, python-brace-format
msgid "Connection to “{host}:{port}” failed"
msgstr "Verbindung zu „{host}:{port}“ fehlgeschlagen"
#: mpdevil:3744
#: mpdevil:3822
msgid "Keyboard shortcuts"
msgstr "Tastenkürzel"
#: mpdevil:3745
#: mpdevil:3823
msgid "Help"
msgstr "Hilfe"
#: mpdevil:3746
#: mpdevil:3824
msgid "About"
msgstr "Über"
#: mpdevil:3750
#: mpdevil:3828
msgid "Server stats"
msgstr "Serverstatistik"
#: mpdevil:3757
#: mpdevil:3835
msgid "Mini player"
msgstr "Miniplayer"
#: mpdevil:3763
#: mpdevil:3841
msgid "Menu"
msgstr "Menü"
#: mpdevil:3812 mpdevil:3814
#: mpdevil:3890 mpdevil:3892
msgid "connecting…"
msgstr "verbinden…"
#: mpdevil:3959
#: mpdevil:4037
msgid "Debug mode"
msgstr "Debugmodus"

View File

@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2021-08-21 00:29+0200\n"
"POT-Creation-Date: 2021-09-13 17:04+0200\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@ -18,520 +18,533 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\n"
#: mpdevil:465
#: mpdevil:492
#, python-brace-format
msgid "{days} day"
msgid_plural "{days} days"
msgstr[0] ""
msgstr[1] ""
#: mpdevil:502
#: mpdevil:529
#, python-brace-format
msgid "{channels} channel"
msgid_plural "{channels} channels"
msgstr[0] ""
msgstr[1] ""
#: mpdevil:980
#: mpdevil:991
msgid "(restart required)"
msgstr ""
#: mpdevil:1026
#: mpdevil:1037
msgid "Use Client-side decoration"
msgstr ""
#: mpdevil:1027
#: mpdevil:1038
msgid "Show stop button"
msgstr ""
#: mpdevil:1028
#: mpdevil:1039
msgid "Show audio format"
msgstr ""
#: mpdevil:1029
#: mpdevil:1040
msgid "Show lyrics button"
msgstr ""
#: mpdevil:1030
#: mpdevil:1041
msgid "Place playlist at the side"
msgstr ""
#: mpdevil:1036
#: mpdevil:1047
msgid "Main cover size"
msgstr ""
#: mpdevil:1037
#: mpdevil:1048
msgid "Album view cover size"
msgstr ""
#: mpdevil:1038
#: mpdevil:1049
msgid "Action bar icon size"
msgstr ""
#: mpdevil:1048
#: mpdevil:1059
msgid "Support “MPRIS”"
msgstr ""
#: mpdevil:1049
#: mpdevil:1060
msgid "Use “Album Artist” tag"
msgstr ""
#: mpdevil:1050
#: mpdevil:1061
msgid "Sort albums by year"
msgstr ""
#: mpdevil:1051
#: mpdevil:1062
msgid "Send notification on title change"
msgstr ""
#: mpdevil:1052
#: mpdevil:1063
msgid "Play selected albums and titles immediately"
msgstr ""
#: mpdevil:1053
#: mpdevil:1064
msgid "Rewind via previous button"
msgstr ""
#: mpdevil:1054
#: mpdevil:1065
msgid "Stop playback on quit"
msgstr ""
#: mpdevil:1081
#: mpdevil:1092
msgid "Choose directory"
msgstr ""
#: mpdevil:1107
#: mpdevil:1105
msgid "Connect via Unix domain socket"
msgstr ""
#: mpdevil:1124
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:1112
#: mpdevil:1129
msgid "Socket:"
msgstr ""
#: mpdevil:1131
msgid "Host:"
msgstr ""
#: mpdevil:1113
#: mpdevil:1133
msgid "Password:"
msgstr ""
#: mpdevil:1114
#: mpdevil:1134
msgid "Music lib:"
msgstr ""
#: mpdevil:1115
#: mpdevil:1136
msgid "Cover regex:"
msgstr ""
#: mpdevil:1135 mpdevil:3752
#: mpdevil:1160 mpdevil:3830
msgid "Profile 1"
msgstr ""
#: mpdevil:1136 mpdevil:3752
#: mpdevil:1161 mpdevil:3830
msgid "Profile 2"
msgstr ""
#: mpdevil:1137 mpdevil:3752
#: mpdevil:1162 mpdevil:3830
msgid "Profile 3"
msgstr ""
#: mpdevil:1141 mpdevil:3656
#: mpdevil:1166 mpdevil:3728
msgid "Connect"
msgstr ""
#: mpdevil:1167
#: mpdevil:1192
msgid "Choose the order of information to appear in the playlist:"
msgstr ""
#: mpdevil:1184 mpdevil:1676 mpdevil:1801 mpdevil:2760
#: mpdevil:1209 mpdevil:1700 mpdevil:1832 mpdevil:2832
msgid "No"
msgstr ""
#: mpdevil:1184 mpdevil:2761
#: mpdevil:1209 mpdevil:2833
msgid "Disc"
msgstr ""
#: mpdevil:1184 mpdevil:1679 mpdevil:1806 mpdevil:2762 mpdevil:2876
#: mpdevil:2878
#: mpdevil:1209 mpdevil:1703 mpdevil:1734 mpdevil:1837 mpdevil:2834
#: mpdevil:2948 mpdevil:2950
msgid "Title"
msgstr ""
#: mpdevil:1184 mpdevil:1812 mpdevil:2763
#: mpdevil:1209 mpdevil:1843 mpdevil:2835
msgid "Artist"
msgstr ""
#: mpdevil:1184 mpdevil:1818 mpdevil:2764
#: mpdevil:1209 mpdevil:1849 mpdevil:2836
msgid "Album"
msgstr ""
#: mpdevil:1184 mpdevil:1682 mpdevil:1824 mpdevil:2765
#: mpdevil:1209 mpdevil:1707 mpdevil:1855 mpdevil:2837
msgid "Length"
msgstr ""
#: mpdevil:1184 mpdevil:2766
#: mpdevil:1209 mpdevil:2838
msgid "Year"
msgstr ""
#: mpdevil:1184 mpdevil:2767
#: mpdevil:1209 mpdevil:2839
msgid "Genre"
msgstr ""
#: mpdevil:1274 mpdevil:1276 mpdevil:3657 mpdevil:3743
#: mpdevil:1299 mpdevil:1301 mpdevil:3729 mpdevil:3821
msgid "Settings"
msgstr ""
#: mpdevil:1290 mpdevil:1301
#: mpdevil:1315 mpdevil:1326
msgid "View"
msgstr ""
#: mpdevil:1291 mpdevil:1302
#: mpdevil:1316 mpdevil:1327
msgid "Behavior"
msgstr ""
#: mpdevil:1292 mpdevil:1303
#: mpdevil:1317 mpdevil:1328
msgid "Profiles"
msgstr ""
#: mpdevil:1293 mpdevil:1304 mpdevil:3598
#: mpdevil:1318 mpdevil:1329 mpdevil:3670
msgid "Playlist"
msgstr ""
#: mpdevil:1321
#: mpdevil:1346
msgid "Stats"
msgstr ""
#: mpdevil:1331
#: mpdevil:1356
msgid "<b>Protocol:</b>"
msgstr ""
#: mpdevil:1332
#: mpdevil:1357
msgid "<b>Uptime:</b>"
msgstr ""
#: mpdevil:1333
#: mpdevil:1358
msgid "<b>Playtime:</b>"
msgstr ""
#: mpdevil:1334
#: mpdevil:1359
msgid "<b>Artists:</b>"
msgstr ""
#: mpdevil:1335
#: mpdevil:1360
msgid "<b>Albums:</b>"
msgstr ""
#: mpdevil:1336
#: mpdevil:1361
msgid "<b>Songs:</b>"
msgstr ""
#: mpdevil:1337
#: mpdevil:1362
msgid "<b>Total Playtime:</b>"
msgstr ""
#: mpdevil:1338
#: mpdevil:1363
msgid "<b>Database Update:</b>"
msgstr ""
#: mpdevil:1362
#: mpdevil:1387
msgid "A simple music browser for MPD"
msgstr ""
#: mpdevil:1426
#: mpdevil:1451
msgid "Open with…"
msgstr ""
#: mpdevil:1441 mpdevil:1735
#: mpdevil:1466 mpdevil:1766
msgid "Append"
msgstr ""
#: mpdevil:1442 mpdevil:1736
#: mpdevil:1467 mpdevil:1767
msgid "Play"
msgstr ""
#: mpdevil:1443 mpdevil:1737
#: mpdevil:1468 mpdevil:1768
msgid "Enqueue"
msgstr ""
#: mpdevil:1461
#: mpdevil:1486
msgid "MPD-Tag"
msgstr ""
#: mpdevil:1464
#: mpdevil:1489
msgid "Value"
msgstr ""
#: mpdevil:1611
#: mpdevil:1636
msgid "_Append"
msgstr ""
#: mpdevil:1611
#: mpdevil:1636
msgid "Add all titles to playlist"
msgstr ""
#: mpdevil:1612
#: mpdevil:1637
msgid "_Play"
msgstr ""
#: mpdevil:1612
#: mpdevil:1637
msgid "Directly play all titles"
msgstr ""
#: mpdevil:1613
#: mpdevil:1638
msgid "_Enqueue"
msgstr ""
#: mpdevil:1613
#: mpdevil:1638
msgid ""
"Append all titles after the currently playing track and clear the playlist "
"from all other songs"
msgstr ""
#: mpdevil:1876
msgid "all tags"
msgstr ""
#: mpdevil:1926
#, python-brace-format
msgid "{hits} hit"
msgid_plural "{hits} hits"
msgstr[0] ""
msgstr[1] ""
#: mpdevil:2057
msgid "all genres"
msgstr ""
#: mpdevil:2082
msgid "all artists"
msgstr ""
#: mpdevil:2300 mpdevil:2979
#: mpdevil:1733 mpdevil:3051
#, python-brace-format
msgid "{number} song ({duration})"
msgid_plural "{number} songs ({duration})"
msgstr[0] ""
msgstr[1] ""
#: mpdevil:2430 mpdevil:3617
#: mpdevil:1907
msgid "all tags"
msgstr ""
#: mpdevil:1957
#, python-brace-format
msgid "{hits} hit"
msgid_plural "{hits} hits"
msgstr[0] ""
msgstr[1] ""
#: mpdevil:2088
msgid "all genres"
msgstr ""
#: mpdevil:2113
msgid "all artists"
msgstr ""
#: mpdevil:2502 mpdevil:3689
msgid "Back to current album"
msgstr ""
#: mpdevil:2432
#: mpdevil:2504
msgid "Search"
msgstr ""
#: mpdevil:2435
#: mpdevil:2507
msgid "Filter by genre"
msgstr ""
#: mpdevil:2623
#: mpdevil:2695
msgid "searching…"
msgstr ""
#: mpdevil:2628
#: mpdevil:2700
msgid "connection error"
msgstr ""
#: mpdevil:2630
#: mpdevil:2702
msgid "lyrics not found"
msgstr ""
#: mpdevil:2738
#: mpdevil:2810
msgid "Scroll to current song"
msgstr ""
#: mpdevil:3040
#: mpdevil:3112
msgid "Show lyrics"
msgstr ""
#: mpdevil:3142 mpdevil:3143
#: mpdevil:3214 mpdevil:3215
#, python-brace-format
msgid "{number} song"
msgid_plural "{number} songs"
msgstr[0] ""
msgstr[1] ""
#: mpdevil:3370
#: mpdevil:3442
msgid "Repeat mode"
msgstr ""
#: mpdevil:3371
#: mpdevil:3443
msgid "Random mode"
msgstr ""
#: mpdevil:3372
#: mpdevil:3444
msgid "Single mode"
msgstr ""
#: mpdevil:3373
#: mpdevil:3445
msgid "Consume mode"
msgstr ""
#: mpdevil:3594
#: mpdevil:3666
msgid "General"
msgstr ""
#: mpdevil:3595
#: mpdevil:3667
msgid "Window"
msgstr ""
#: mpdevil:3596
#: mpdevil:3668
msgid "Playback"
msgstr ""
#: mpdevil:3597
#: mpdevil:3669
msgid "Search, Album Dialog, Album List and Artist List"
msgstr ""
#: mpdevil:3607
#: mpdevil:3679
msgid "Open online help"
msgstr ""
#: mpdevil:3608
#: mpdevil:3680
msgid "Open shortcuts window"
msgstr ""
#: mpdevil:3609
#: mpdevil:3681
msgid "Open menu"
msgstr ""
#: mpdevil:3610 mpdevil:3749
#: mpdevil:3682 mpdevil:3827
msgid "Update database"
msgstr ""
#: mpdevil:3611 mpdevil:3747
#: mpdevil:3683 mpdevil:3825
msgid "Quit"
msgstr ""
#: mpdevil:3612
#: mpdevil:3684
msgid "Cycle through profiles"
msgstr ""
#: mpdevil:3613
#: mpdevil:3685
msgid "Cycle through profiles in reversed order"
msgstr ""
#: mpdevil:3614
#: mpdevil:3686
msgid "Toggle mini player"
msgstr ""
#: mpdevil:3615
#: mpdevil:3687
msgid "Toggle lyrics"
msgstr ""
#: mpdevil:3616
#: mpdevil:3688
msgid "Toggle search"
msgstr ""
#: mpdevil:3618
#: mpdevil:3690
msgid "Play/Pause"
msgstr ""
#: mpdevil:3619
#: mpdevil:3691
msgid "Stop"
msgstr ""
#: mpdevil:3620
#: mpdevil:3692
msgid "Next title"
msgstr ""
#: mpdevil:3621
#: mpdevil:3693
msgid "Previous title"
msgstr ""
#: mpdevil:3622
#: mpdevil:3694
msgid "Seek forward"
msgstr ""
#: mpdevil:3623
#: mpdevil:3695
msgid "Seek backward"
msgstr ""
#: mpdevil:3624
#: mpdevil:3696
msgid "Toggle repeat mode"
msgstr ""
#: mpdevil:3625
#: mpdevil:3697
msgid "Toggle random mode"
msgstr ""
#: mpdevil:3626
#: mpdevil:3698
msgid "Toggle single mode"
msgstr ""
#: mpdevil:3627
#: mpdevil:3699
msgid "Toggle consume mode"
msgstr ""
#: mpdevil:3628
#: mpdevil:3700
msgid "Enqueue selected item"
msgstr ""
#: mpdevil:3629
#: mpdevil:3701
msgid "Append selected item"
msgstr ""
#: mpdevil:3629 mpdevil:3632
#: mpdevil:3701 mpdevil:3704
msgid "Middle-click"
msgstr ""
#: mpdevil:3630
#: mpdevil:3702
msgid "Play selected item immediately"
msgstr ""
#: mpdevil:3630
#: mpdevil:3702
msgid "Double-click"
msgstr ""
#: mpdevil:3631 mpdevil:3634
#: mpdevil:3703 mpdevil:3706
msgid "Show additional information"
msgstr ""
#: mpdevil:3631 mpdevil:3634
#: mpdevil:3703 mpdevil:3706
msgid "Right-click"
msgstr ""
#: mpdevil:3632
#: mpdevil:3704
msgid "Remove selected song"
msgstr ""
#: mpdevil:3633
#: mpdevil:3705
msgid "Clear playlist"
msgstr ""
#: mpdevil:3677
#: mpdevil:3753
#, python-brace-format
msgid "Connection to “{socket}” failed"
msgstr ""
#: mpdevil:3755
#, python-brace-format
msgid "Connection to “{host}:{port}” failed"
msgstr ""
#: mpdevil:3744
#: mpdevil:3822
msgid "Keyboard shortcuts"
msgstr ""
#: mpdevil:3745
#: mpdevil:3823
msgid "Help"
msgstr ""
#: mpdevil:3746
#: mpdevil:3824
msgid "About"
msgstr ""
#: mpdevil:3750
#: mpdevil:3828
msgid "Server stats"
msgstr ""
#: mpdevil:3757
#: mpdevil:3835
msgid "Mini player"
msgstr ""
#: mpdevil:3763
#: mpdevil:3841
msgid "Menu"
msgstr ""
#: mpdevil:3812 mpdevil:3814
#: mpdevil:3890 mpdevil:3892
msgid "connecting…"
msgstr ""
#: mpdevil:3959
#: mpdevil:4037
msgid "Debug mode"
msgstr ""

297
po/nl.po
View File

@ -7,8 +7,8 @@ msgid ""
msgstr ""
"Project-Id-Version: \n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2021-08-21 00:29+0200\n"
"PO-Revision-Date: 2021-08-21 00:31+0200\n"
"POT-Creation-Date: 2021-09-13 17:04+0200\n"
"PO-Revision-Date: 2021-09-13 17:07+0200\n"
"Last-Translator: \n"
"Language-Team: \n"
"Language: nl\n"
@ -18,89 +18,93 @@ msgstr ""
"X-Generator: Poedit 2.3.1\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#: mpdevil:465
#: mpdevil:492
#, python-brace-format
msgid "{days} day"
msgid_plural "{days} days"
msgstr[0] "{days} dag"
msgstr[1] "{days} dagen"
#: mpdevil:502
#: mpdevil:529
#, python-brace-format
msgid "{channels} channel"
msgid_plural "{channels} channels"
msgstr[0] "{channels} kanaal"
msgstr[1] "{channels} kanalen"
#: mpdevil:980
#: mpdevil:991
msgid "(restart required)"
msgstr "(herstart vereist)"
#: mpdevil:1026
#: mpdevil:1037
msgid "Use Client-side decoration"
msgstr "Gebruik vensterdecoratie van mpdevil"
#: mpdevil:1027
#: mpdevil:1038
msgid "Show stop button"
msgstr "Toon stopknop"
#: mpdevil:1028
#: mpdevil:1039
msgid "Show audio format"
msgstr "Toon audioformaat"
#: mpdevil:1029
#: mpdevil:1040
msgid "Show lyrics button"
msgstr "Toon songtekstknop"
#: mpdevil:1030
#: mpdevil:1041
msgid "Place playlist at the side"
msgstr "Plaats afspeellijst aan de zijkant"
#: mpdevil:1036
#: mpdevil:1047
msgid "Main cover size"
msgstr "Grootte albumhoes"
#: mpdevil:1037
#: mpdevil:1048
msgid "Album view cover size"
msgstr "Hoesgrootte in albumlijst"
#: mpdevil:1038
#: mpdevil:1049
msgid "Action bar icon size"
msgstr "Grootte iconen werkbalk"
#: mpdevil:1048
#: mpdevil:1059
msgid "Support “MPRIS”"
msgstr "Ondersteun „MPRIS”"
#: mpdevil:1049
#: mpdevil:1060
msgid "Use “Album Artist” tag"
msgstr "Gebruik tag „Album Artist”"
#: mpdevil:1050
#: mpdevil:1061
msgid "Sort albums by year"
msgstr "Sorteer albums op jaar"
#: mpdevil:1051
#: mpdevil:1062
msgid "Send notification on title change"
msgstr "Verstuur een melding bij titelwisseling"
#: mpdevil:1052
#: mpdevil:1063
msgid "Play selected albums and titles immediately"
msgstr "Geselecteerde albums en titels direct afspelen"
#: mpdevil:1053
#: mpdevil:1064
msgid "Rewind via previous button"
msgstr "Terugspoelen met „vorige” knop"
#: mpdevil:1054
#: mpdevil:1065
msgid "Stop playback on quit"
msgstr "Stop afspelen bij afsluiten"
#: mpdevil:1081
#: mpdevil:1092
msgid "Choose directory"
msgstr "Kies een map"
#: mpdevil:1107
#: mpdevil:1105
msgid "Connect via Unix domain socket"
msgstr ""
#: mpdevil:1124
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 "
@ -110,180 +114,184 @@ msgstr ""
"met deze regex wordt getoond. %AlbumArtist% en %Album% worden vervangen door "
"de bijbehorende tags van het muziekbestand."
#: mpdevil:1112
#: mpdevil:1129
msgid "Socket:"
msgstr "Socket:"
#: mpdevil:1131
msgid "Host:"
msgstr "Host:"
#: mpdevil:1113
#: mpdevil:1133
msgid "Password:"
msgstr "Wachtwoord:"
#: mpdevil:1114
#: mpdevil:1134
msgid "Music lib:"
msgstr "Muziekmap:"
#: mpdevil:1115
#: mpdevil:1136
msgid "Cover regex:"
msgstr "Regex albumhoes:"
#: mpdevil:1135 mpdevil:3752
#: mpdevil:1160 mpdevil:3830
msgid "Profile 1"
msgstr "Profiel 1"
#: mpdevil:1136 mpdevil:3752
#: mpdevil:1161 mpdevil:3830
msgid "Profile 2"
msgstr "Profiel 2"
#: mpdevil:1137 mpdevil:3752
#: mpdevil:1162 mpdevil:3830
msgid "Profile 3"
msgstr "Profiel 3"
#: mpdevil:1141 mpdevil:3656
#: mpdevil:1166 mpdevil:3728
msgid "Connect"
msgstr "Verbinden"
#: mpdevil:1167
#: mpdevil:1192
msgid "Choose the order of information to appear in the playlist:"
msgstr "Kies de volgorde van de informatie getoond in de afspeellijst:"
#: mpdevil:1184 mpdevil:1676 mpdevil:1801 mpdevil:2760
#: mpdevil:1209 mpdevil:1700 mpdevil:1832 mpdevil:2832
msgid "No"
msgstr "Nr"
#: mpdevil:1184 mpdevil:2761
#: mpdevil:1209 mpdevil:2833
msgid "Disc"
msgstr "Disc"
#: mpdevil:1184 mpdevil:1679 mpdevil:1806 mpdevil:2762 mpdevil:2876
#: mpdevil:2878
#: mpdevil:1209 mpdevil:1703 mpdevil:1734 mpdevil:1837 mpdevil:2834
#: mpdevil:2948 mpdevil:2950
msgid "Title"
msgstr "Titel"
#: mpdevil:1184 mpdevil:1812 mpdevil:2763
#: mpdevil:1209 mpdevil:1843 mpdevil:2835
msgid "Artist"
msgstr "Artiest"
#: mpdevil:1184 mpdevil:1818 mpdevil:2764
#: mpdevil:1209 mpdevil:1849 mpdevil:2836
msgid "Album"
msgstr "Album"
#: mpdevil:1184 mpdevil:1682 mpdevil:1824 mpdevil:2765
#: mpdevil:1209 mpdevil:1707 mpdevil:1855 mpdevil:2837
msgid "Length"
msgstr "Lengte"
#: mpdevil:1184 mpdevil:2766
#: mpdevil:1209 mpdevil:2838
msgid "Year"
msgstr "Jaar"
#: mpdevil:1184 mpdevil:2767
#: mpdevil:1209 mpdevil:2839
msgid "Genre"
msgstr "Genre"
#: mpdevil:1274 mpdevil:1276 mpdevil:3657 mpdevil:3743
#: mpdevil:1299 mpdevil:1301 mpdevil:3729 mpdevil:3821
msgid "Settings"
msgstr "Instellingen"
#: mpdevil:1290 mpdevil:1301
#: mpdevil:1315 mpdevil:1326
msgid "View"
msgstr "Beeld"
#: mpdevil:1291 mpdevil:1302
#: mpdevil:1316 mpdevil:1327
msgid "Behavior"
msgstr "Gedrag"
#: mpdevil:1292 mpdevil:1303
#: mpdevil:1317 mpdevil:1328
msgid "Profiles"
msgstr "Profielen"
#: mpdevil:1293 mpdevil:1304 mpdevil:3598
#: mpdevil:1318 mpdevil:1329 mpdevil:3670
msgid "Playlist"
msgstr "Afspeellijst"
#: mpdevil:1321
#: mpdevil:1346
msgid "Stats"
msgstr "Statistieken"
#: mpdevil:1331
#: mpdevil:1356
msgid "<b>Protocol:</b>"
msgstr "<b>Protocol:</b>"
#: mpdevil:1332
#: mpdevil:1357
msgid "<b>Uptime:</b>"
msgstr "<b>Uptime:</b>"
#: mpdevil:1333
#: mpdevil:1358
msgid "<b>Playtime:</b>"
msgstr "<b>Afspeeltijd:</b>"
#: mpdevil:1334
#: mpdevil:1359
msgid "<b>Artists:</b>"
msgstr "<b>Artiesten:</b>"
#: mpdevil:1335
#: mpdevil:1360
msgid "<b>Albums:</b>"
msgstr "<b>Albums:</b>"
#: mpdevil:1336
#: mpdevil:1361
msgid "<b>Songs:</b>"
msgstr "<b>Titels:</b>"
#: mpdevil:1337
#: mpdevil:1362
msgid "<b>Total Playtime:</b>"
msgstr "<b>Totale speelduur:</b>"
#: mpdevil:1338
#: mpdevil:1363
msgid "<b>Database Update:</b>"
msgstr "<b>Database bijgewerkt:</b>"
#: mpdevil:1362
#: mpdevil:1387
msgid "A simple music browser for MPD"
msgstr "Een simpele muziekspeler voor MPD"
#: mpdevil:1426
#: mpdevil:1451
msgid "Open with…"
msgstr "Openen met…"
#: mpdevil:1441 mpdevil:1735
#: mpdevil:1466 mpdevil:1766
msgid "Append"
msgstr "Toevoegen"
#: mpdevil:1442 mpdevil:1736
#: mpdevil:1467 mpdevil:1767
msgid "Play"
msgstr "Afspelen"
#: mpdevil:1443 mpdevil:1737
#: mpdevil:1468 mpdevil:1768
msgid "Enqueue"
msgstr "In wachtrij plaatsen"
#: mpdevil:1461
#: mpdevil:1486
msgid "MPD-Tag"
msgstr "MPD-Tag"
#: mpdevil:1464
#: mpdevil:1489
msgid "Value"
msgstr "Waarde"
#: mpdevil:1611
#: mpdevil:1636
msgid "_Append"
msgstr "_Toevoegen"
#: mpdevil:1611
#: mpdevil:1636
msgid "Add all titles to playlist"
msgstr "Voeg alle titels toe aan de afspeellijst"
#: mpdevil:1612
#: mpdevil:1637
msgid "_Play"
msgstr "_Afspelen"
#: mpdevil:1612
#: mpdevil:1637
msgid "Directly play all titles"
msgstr "Alle titels direct afspelen"
#: mpdevil:1613
#: mpdevil:1638
msgid "_Enqueue"
msgstr "_In wachtrij plaatsen"
#: mpdevil:1613
#: mpdevil:1638
msgid ""
"Append all titles after the currently playing track and clear the playlist "
"from all other songs"
@ -291,253 +299,258 @@ msgstr ""
"Alle titels toevoegen na de nu spelende titel en alle overige titels uit de "
"afspeellijst verwijderen"
#: mpdevil:1876
msgid "all tags"
msgstr "alle tags"
#: mpdevil:1926
#, python-brace-format
msgid "{hits} hit"
msgid_plural "{hits} hits"
msgstr[0] "{hits} hit"
msgstr[1] "{hits} treffers"
#: mpdevil:2057
msgid "all genres"
msgstr "alle genres"
#: mpdevil:2082
msgid "all artists"
msgstr "alle artiesten"
#: mpdevil:2300 mpdevil:2979
#: mpdevil:1733 mpdevil:3051
#, python-brace-format
msgid "{number} song ({duration})"
msgid_plural "{number} songs ({duration})"
msgstr[0] "{number} nummer ({duration})"
msgstr[1] "{number} nummers ({duration})"
#: mpdevil:2430 mpdevil:3617
#: mpdevil:1907
msgid "all tags"
msgstr "alle tags"
#: mpdevil:1957
#, python-brace-format
msgid "{hits} hit"
msgid_plural "{hits} hits"
msgstr[0] "{hits} hit"
msgstr[1] "{hits} treffers"
#: mpdevil:2088
msgid "all genres"
msgstr "alle genres"
#: mpdevil:2113
msgid "all artists"
msgstr "alle artiesten"
#: mpdevil:2502 mpdevil:3689
msgid "Back to current album"
msgstr "Terug naar huidige album"
#: mpdevil:2432
#: mpdevil:2504
msgid "Search"
msgstr "Zoeken"
#: mpdevil:2435
#: mpdevil:2507
msgid "Filter by genre"
msgstr "Filter op genre"
#: mpdevil:2623
#: mpdevil:2695
msgid "searching…"
msgstr "bezig met zoeken…"
#: mpdevil:2628
#: mpdevil:2700
msgid "connection error"
msgstr "verbindingsfout"
#: mpdevil:2630
#: mpdevil:2702
msgid "lyrics not found"
msgstr "geen songtekst gevonden"
#: mpdevil:2738
#: mpdevil:2810
msgid "Scroll to current song"
msgstr "Naar de huidige titel scrollen"
#: mpdevil:3040
#: mpdevil:3112
msgid "Show lyrics"
msgstr "Toon songtekst"
#: mpdevil:3142 mpdevil:3143
#: mpdevil:3214 mpdevil:3215
#, python-brace-format
msgid "{number} song"
msgid_plural "{number} songs"
msgstr[0] "{number} nummer"
msgstr[1] "{number} nummers"
#: mpdevil:3370
#: mpdevil:3442
msgid "Repeat mode"
msgstr "Herhaalmodus"
#: mpdevil:3371
#: mpdevil:3443
msgid "Random mode"
msgstr "Willekeurige modus"
#: mpdevil:3372
#: mpdevil:3444
msgid "Single mode"
msgstr "Enkele modus"
#: mpdevil:3373
#: mpdevil:3445
msgid "Consume mode"
msgstr "Verbruiksmodus"
#: mpdevil:3594
#: mpdevil:3666
msgid "General"
msgstr "Algemeen"
#: mpdevil:3595
#: mpdevil:3667
msgid "Window"
msgstr "Venster"
#: mpdevil:3596
#: mpdevil:3668
msgid "Playback"
msgstr "Afspelen"
#: mpdevil:3597
#: mpdevil:3669
msgid "Search, Album Dialog, Album List and Artist List"
msgstr "Zoeken, Albumdialoog, Albumlijst en Artiestenlijst"
#: mpdevil:3607
#: mpdevil:3679
msgid "Open online help"
msgstr "Online hulp openen"
#: mpdevil:3608
#: mpdevil:3680
msgid "Open shortcuts window"
msgstr "Venster met sneltoetsen openen"
#: mpdevil:3609
#: mpdevil:3681
msgid "Open menu"
msgstr "Menu openen"
#: mpdevil:3610 mpdevil:3749
#: mpdevil:3682 mpdevil:3827
msgid "Update database"
msgstr "Database bijwerken"
#: mpdevil:3611 mpdevil:3747
#: mpdevil:3683 mpdevil:3825
msgid "Quit"
msgstr "Stoppen"
#: mpdevil:3612
#: mpdevil:3684
msgid "Cycle through profiles"
msgstr "Profielen doorlopen"
#: mpdevil:3613
#: mpdevil:3685
msgid "Cycle through profiles in reversed order"
msgstr "Profielen doorlopen in omgekeerde volgorde"
#: mpdevil:3614
#: mpdevil:3686
msgid "Toggle mini player"
msgstr "Omschakelen naar minispeler"
#: mpdevil:3615
#: mpdevil:3687
msgid "Toggle lyrics"
msgstr "Omschakelen naar songtekst"
#: mpdevil:3616
#: mpdevil:3688
msgid "Toggle search"
msgstr "Omschakelen naar zoeken"
#: mpdevil:3618
#: mpdevil:3690
msgid "Play/Pause"
msgstr "Afspelen/Pauzeren"
#: mpdevil:3619
#: mpdevil:3691
msgid "Stop"
msgstr "Stoppen"
#: mpdevil:3620
#: mpdevil:3692
msgid "Next title"
msgstr "Volgende titel"
#: mpdevil:3621
#: mpdevil:3693
msgid "Previous title"
msgstr "Vorige titel"
#: mpdevil:3622
#: mpdevil:3694
msgid "Seek forward"
msgstr "Vooruit spoelen"
#: mpdevil:3623
#: mpdevil:3695
msgid "Seek backward"
msgstr "Achteruit spoelen"
#: mpdevil:3624
#: mpdevil:3696
msgid "Toggle repeat mode"
msgstr "Omschakelen naar herhaalmodus"
#: mpdevil:3625
#: mpdevil:3697
msgid "Toggle random mode"
msgstr "Omschakelen naar willekeurige modus"
#: mpdevil:3626
#: mpdevil:3698
msgid "Toggle single mode"
msgstr "Omschakelen naar enkele modus"
#: mpdevil:3627
#: mpdevil:3699
msgid "Toggle consume mode"
msgstr "Omschakelen naar verbruiksmodus"
#: mpdevil:3628
#: mpdevil:3700
msgid "Enqueue selected item"
msgstr "Geselecteerde item in wachtrij plaatsen"
#: mpdevil:3629
#: mpdevil:3701
msgid "Append selected item"
msgstr "Geselecteerde item toevoegen"
#: mpdevil:3629 mpdevil:3632
#: mpdevil:3701 mpdevil:3704
msgid "Middle-click"
msgstr "Middelklik"
#: mpdevil:3630
#: mpdevil:3702
msgid "Play selected item immediately"
msgstr "Geselecteerde item direct afspelen"
#: mpdevil:3630
#: mpdevil:3702
msgid "Double-click"
msgstr "Dubbelklik"
#: mpdevil:3631 mpdevil:3634
#: mpdevil:3703 mpdevil:3706
msgid "Show additional information"
msgstr "Toon extra informatie"
#: mpdevil:3631 mpdevil:3634
#: mpdevil:3703 mpdevil:3706
msgid "Right-click"
msgstr "Rechtsklik"
#: mpdevil:3632
#: mpdevil:3704
msgid "Remove selected song"
msgstr "Geselecteerde titel verwijderen"
#: mpdevil:3633
#: mpdevil:3705
msgid "Clear playlist"
msgstr "Afspeellijst legen"
#: mpdevil:3677
#: mpdevil:3753
#, python-brace-format
msgid "Connection to “{socket}” failed"
msgstr "Verbinding met „{socket}” mislukt"
#: mpdevil:3755
#, python-brace-format
msgid "Connection to “{host}:{port}” failed"
msgstr "Verbinding met „{host}:{port}” mislukt"
#: mpdevil:3744
#: mpdevil:3822
msgid "Keyboard shortcuts"
msgstr "Sneltoetsen"
#: mpdevil:3745
#: mpdevil:3823
msgid "Help"
msgstr "Hulp"
#: mpdevil:3746
#: mpdevil:3824
msgid "About"
msgstr "Over"
#: mpdevil:3750
#: mpdevil:3828
msgid "Server stats"
msgstr "Serverstatistieken"
#: mpdevil:3757
#: mpdevil:3835
msgid "Mini player"
msgstr "Minispeler"
#: mpdevil:3763
#: mpdevil:3841
msgid "Menu"
msgstr "Menu"
#: mpdevil:3812 mpdevil:3814
#: mpdevil:3890 mpdevil:3892
msgid "connecting…"
msgstr "verbinding maken…"
#: mpdevil:3959
#: mpdevil:4037
msgid "Debug mode"
msgstr "Debugmodus"