mirror of
https://github.com/SoongNoonien/mpdevil.git
synced 2023-08-10 21:12:44 +03:00
Compare commits
8 Commits
Author | SHA1 | Date | |
---|---|---|---|
![]() |
13d7c2d36f | ||
![]() |
b6c5718a02 | ||
![]() |
596adc9ca8 | ||
![]() |
050f453496 | ||
![]() |
eb4b8adfb1 | ||
![]() |
e644655bf7 | ||
![]() |
660ec71865 | ||
![]() |
ad1fd2339c |
1
AUTHORS
1
AUTHORS
@@ -3,6 +3,7 @@ Maintainer:
|
||||
|
||||
Translators:
|
||||
Martin Wagner <martin.wagner.dev@gmail.com> (German)
|
||||
Martin de Reuver <martin@reuf.nl> (Dutch)
|
||||
|
||||
Gentoo ebuild:
|
||||
Martin Wagner <martin.wagner.dev@gmail.com>
|
||||
|
@@ -74,5 +74,5 @@ sudo update-desktop-database
|
||||
Translation
|
||||
-----------
|
||||
|
||||
mpdevil is currently available in English and German. If you speek another language you can easily translate mpdevil by using `poedit`. Just import `po/mpdevil.pot` from this repo into `poedit`. To test your translation copy the new `.po` file into the `po` directory of your cloned mpdevil repo and proceed as described in the Building section. To get your translation integrated into mpdevil just send me an e-mail or create a pull request. Link to `poedit`: https://poedit.net/
|
||||
mpdevil is currently available in English, German and Dutch. If you speek another language you can easily translate mpdevil by using `poedit`. Just import `po/mpdevil.pot` from this repo into `poedit`. To test your translation copy the new `.po` file into the `po` directory of your cloned mpdevil repo and proceed as described in the Building section. To get your translation integrated into mpdevil just send me an e-mail or create a pull request. Link to `poedit`: https://poedit.net/
|
||||
|
||||
|
90
bin/mpdevil
90
bin/mpdevil
@@ -40,7 +40,7 @@ import dbus.service
|
||||
from dbus.mainloop.glib import DBusGMainLoop
|
||||
DBusGMainLoop(set_as_default=True)
|
||||
|
||||
VERSION="0.9.5" # sync with setup.py
|
||||
VERSION="0.9.6" # sync with setup.py
|
||||
COVER_REGEX=r"^\.?(album|cover|folder|front).*\.(gif|jpeg|jpg|png)$"
|
||||
|
||||
|
||||
@@ -456,7 +456,7 @@ class MpdEventEmitter(GObject.Object):
|
||||
"playlist_changed": (GObject.SignalFlags.RUN_FIRST, None, (int,)),
|
||||
"repeat": (GObject.SignalFlags.RUN_FIRST, None, (bool,)),
|
||||
"random": (GObject.SignalFlags.RUN_FIRST, None, (bool,)),
|
||||
"single": (GObject.SignalFlags.RUN_FIRST, None, (bool,)),
|
||||
"single": (GObject.SignalFlags.RUN_FIRST, None, (str,)),
|
||||
"consume": (GObject.SignalFlags.RUN_FIRST, None, (bool,)),
|
||||
"audio": (GObject.SignalFlags.RUN_FIRST, None, (str,str,str,)),
|
||||
"bitrate": (GObject.SignalFlags.RUN_FIRST, None, (float,))
|
||||
@@ -590,7 +590,10 @@ class Client(MPDClient):
|
||||
pass
|
||||
|
||||
def toggle_option(self, option): # repeat, random, single, consume
|
||||
new_state=(int(self.status()[option])+1)%2 # toggle 0,1
|
||||
state=self.status()[option]
|
||||
if state != "1" and state != "0": # support single oneshot
|
||||
state="1"
|
||||
new_state=(int(state)+1)%2 # toggle 0,1
|
||||
func=getattr(self, option)
|
||||
func(new_state)
|
||||
|
||||
@@ -605,8 +608,8 @@ class Client(MPDClient):
|
||||
self.emitter.emit("bitrate", float(val))
|
||||
elif key == "songid":
|
||||
self.emitter.emit("current_song_changed")
|
||||
elif key == "state":
|
||||
self.emitter.emit("state", val)
|
||||
elif key in ["state", "single"]:
|
||||
self.emitter.emit(key, val)
|
||||
elif key == "audio":
|
||||
# see: https://www.musicpd.org/doc/html/user.html#audio-output-format
|
||||
samplerate, bits, channels=val.split(":")
|
||||
@@ -617,7 +620,7 @@ class Client(MPDClient):
|
||||
self.emitter.emit("volume_changed", float(val))
|
||||
elif key == "playlist":
|
||||
self.emitter.emit("playlist_changed", int(val))
|
||||
elif key in ["repeat", "random", "single", "consume"]:
|
||||
elif key in ["repeat", "random", "consume"]:
|
||||
if val == "1":
|
||||
self.emitter.emit(key, True)
|
||||
else:
|
||||
@@ -1279,6 +1282,7 @@ class AboutDialog(Gtk.AboutDialog):
|
||||
self.set_version(VERSION)
|
||||
self.set_comments(_("A simple music browser for MPD"))
|
||||
self.set_authors(["Martin Wagner"])
|
||||
self.set_translator_credits("Martin de Reuver\nMartin Wagner")
|
||||
self.set_website("https://github.com/SoongNoonien/mpdevil")
|
||||
self.set_copyright("\xa9 2020 Martin Wagner")
|
||||
self.set_logo_icon_name("mpdevil")
|
||||
@@ -1474,7 +1478,6 @@ class SongsView(Gtk.TreeView):
|
||||
file_name=self._store[path][self._file_column_id]
|
||||
pop=SongPopover(self._client.wrapped_call("get_metadata", file_name), widget, int(event.x), int(event.y))
|
||||
pop.popup()
|
||||
pop.show_all()
|
||||
except:
|
||||
pass
|
||||
|
||||
@@ -1496,7 +1499,6 @@ class SongsView(Gtk.TreeView):
|
||||
file_name=self._store[path][self._file_column_id]
|
||||
pop=SongPopover(self._client.wrapped_call("get_metadata", file_name), widget, int(cell.x), int(cell.y))
|
||||
pop.popup()
|
||||
pop.show_all()
|
||||
self.handler_unblock(self._key_press_event)
|
||||
|
||||
class SongsWindow(Gtk.Box):
|
||||
@@ -2765,7 +2767,6 @@ class PlaylistWindow(Gtk.Box):
|
||||
file_name=self._store[path][8]
|
||||
pop=SongPopover(self._client.wrapped_call("get_metadata", file_name), widget, int(cell.x), int(cell.y))
|
||||
pop.popup()
|
||||
pop.show_all()
|
||||
self._treeview.handler_unblock(self._key_press_event)
|
||||
|
||||
def _on_button_press_event(self, widget, event):
|
||||
@@ -3119,7 +3120,7 @@ class SeekBar(Gtk.Box):
|
||||
if event.button == 1 and event.type == Gdk.EventType.BUTTON_PRESS:
|
||||
self._update=False
|
||||
self._scale.set_has_origin(False)
|
||||
if event.button == 3 and event.type == Gdk.EventType.BUTTON_PRESS:
|
||||
elif event.button == 3 and event.type == Gdk.EventType.BUTTON_PRESS:
|
||||
self._jumped=False
|
||||
|
||||
def _on_scale_button_release_event(self, widget, event):
|
||||
@@ -3163,6 +3164,34 @@ class SeekBar(Gtk.Box):
|
||||
if state == "stop":
|
||||
self._disable()
|
||||
|
||||
class OutputPopover(Gtk.Popover):
|
||||
def __init__(self, client, relative):
|
||||
super().__init__()
|
||||
self.set_relative_to(relative)
|
||||
|
||||
# adding vars
|
||||
self._client=client
|
||||
|
||||
# widgets
|
||||
box=Gtk.Box(orientation=Gtk.Orientation.VERTICAL, spacing=6, border_width=6)
|
||||
for output in self._client.wrapped_call("outputs"):
|
||||
button=Gtk.CheckButton(label="{} ({})".format(output["outputname"], output["plugin"]))
|
||||
if output["outputenabled"] == "1":
|
||||
button.set_active(True)
|
||||
button.connect("toggled", self._on_button_toggled, output["outputid"])
|
||||
box.pack_start(button, False, False, 0)
|
||||
|
||||
# packing
|
||||
self.add(box)
|
||||
|
||||
box.show_all()
|
||||
|
||||
def _on_button_toggled(self, button, out_id):
|
||||
if button.get_active():
|
||||
self._client.wrapped_call("enableoutput", out_id)
|
||||
else:
|
||||
self._client.wrapped_call("disableoutput", out_id)
|
||||
|
||||
class PlaybackOptions(Gtk.Box):
|
||||
def __init__(self, client, settings):
|
||||
super().__init__(spacing=6)
|
||||
@@ -3185,10 +3214,10 @@ class PlaybackOptions(Gtk.Box):
|
||||
self._consume_button.set_can_focus(False)
|
||||
self._volume_button=Gtk.VolumeButton(use_symbolic=True, size=self._settings.get_gtk_icon_size("icon-size"))
|
||||
self._volume_button.set_can_focus(False)
|
||||
self._volume_button.set_sensitive(False) # do not allow volume change by user when MPD has not yet reported volume
|
||||
adj=self._volume_button.get_adjustment()
|
||||
adj.set_step_increment(0.05)
|
||||
adj.set_page_increment(0.1)
|
||||
self._adj=self._volume_button.get_adjustment()
|
||||
self._adj.set_step_increment(0.05)
|
||||
self._adj.set_page_increment(0.1)
|
||||
self._adj.set_upper(0) # do not allow volume change by user when MPD has not yet reported volume (no output enabled/avail)
|
||||
|
||||
# connect
|
||||
self._random_button_toggled=self._random_button.connect("toggled", self._set_option, "random")
|
||||
@@ -3201,6 +3230,8 @@ class PlaybackOptions(Gtk.Box):
|
||||
self._single_changed=self._client.emitter.connect("single", self._single_refresh)
|
||||
self._consume_changed=self._client.emitter.connect("consume", self._consume_refresh)
|
||||
self._volume_changed=self._client.emitter.connect("volume_changed", self._volume_refresh)
|
||||
self._single_button.connect("button-press-event", self._on_single_button_press_event)
|
||||
self._volume_button.connect("button-press-event", self._on_volume_button_press_event)
|
||||
self._client.emitter.connect("disconnected", self._on_disconnected)
|
||||
self._client.emitter.connect("reconnected", self._on_reconnected)
|
||||
self._settings.connect("notify::mini-player", self._on_mini_player)
|
||||
@@ -3236,7 +3267,15 @@ class PlaybackOptions(Gtk.Box):
|
||||
|
||||
def _single_refresh(self, emitter, val):
|
||||
self._single_button.handler_block(self._single_button_toggled)
|
||||
self._single_button.set_active(val)
|
||||
if val == "1":
|
||||
self._single_button.get_style_context().remove_class("destructive-action")
|
||||
self._single_button.set_active(True)
|
||||
elif val == "oneshot":
|
||||
self._single_button.get_style_context().add_class("destructive-action")
|
||||
self._single_button.set_active(False)
|
||||
else:
|
||||
self._single_button.get_style_context().remove_class("destructive-action")
|
||||
self._single_button.set_active(False)
|
||||
self._single_button.handler_unblock(self._single_button_toggled)
|
||||
|
||||
def _consume_refresh(self, emitter, val):
|
||||
@@ -3247,27 +3286,42 @@ class PlaybackOptions(Gtk.Box):
|
||||
def _volume_refresh(self, emitter, volume):
|
||||
self._volume_button.handler_block(self._volume_button_changed)
|
||||
if volume < 0:
|
||||
self._volume_button.set_sensitive(False)
|
||||
self._volume_button.set_value(0)
|
||||
self._adj.set_upper(0)
|
||||
else:
|
||||
self._adj.set_upper(1)
|
||||
self._volume_button.set_value(volume/100)
|
||||
self._volume_button.set_sensitive(True)
|
||||
self._volume_button.handler_unblock(self._volume_button_changed)
|
||||
|
||||
def _on_volume_button_press_event(self, widget, event):
|
||||
if event.button == 3 and event.type == Gdk.EventType.BUTTON_PRESS:
|
||||
pop=OutputPopover(self._client, self._volume_button)
|
||||
pop.popup()
|
||||
|
||||
def _on_single_button_press_event(self, widget, event):
|
||||
if event.button == 3 and event.type == Gdk.EventType.BUTTON_PRESS:
|
||||
state=self._client.wrapped_call("status")["single"]
|
||||
if state == "oneshot":
|
||||
self._client.wrapped_call("single", "0")
|
||||
else:
|
||||
self._client.wrapped_call("single", "oneshot")
|
||||
|
||||
def _on_reconnected(self, *args):
|
||||
self._repeat_button.set_sensitive(True)
|
||||
self._random_button.set_sensitive(True)
|
||||
self._single_button.set_sensitive(True)
|
||||
self._consume_button.set_sensitive(True)
|
||||
self._volume_button.set_sensitive(True)
|
||||
|
||||
def _on_disconnected(self, *args):
|
||||
self._repeat_button.set_sensitive(False)
|
||||
self._random_button.set_sensitive(False)
|
||||
self._single_button.set_sensitive(False)
|
||||
self._consume_button.set_sensitive(False)
|
||||
self._volume_button.set_sensitive(False)
|
||||
self._repeat_refresh(None, False)
|
||||
self._random_refresh(None, False)
|
||||
self._single_refresh(None, False)
|
||||
self._single_refresh(None, "0")
|
||||
self._consume_refresh(None, False)
|
||||
self._volume_refresh(None, -1)
|
||||
|
||||
|
534
po/nl.po
Normal file
534
po/nl.po
Normal file
@@ -0,0 +1,534 @@
|
||||
# SOME DESCRIPTIVE TITLE.
|
||||
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
|
||||
# This file is distributed under the same license as the PACKAGE package.
|
||||
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: \n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2020-10-20 18:10+0200\n"
|
||||
"PO-Revision-Date: 2020-11-03 16:53+0100\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: \n"
|
||||
"Language: nl\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Generator: Poedit 2.3.1\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
|
||||
#: mpdevil:419
|
||||
msgid "Unknown Title"
|
||||
msgstr "Onbekende titel"
|
||||
|
||||
#: mpdevil:719
|
||||
msgid "Main cover size:"
|
||||
msgstr "Grootte albumhoes:"
|
||||
|
||||
#: mpdevil:720
|
||||
msgid "Album view cover size:"
|
||||
msgstr "Hoesgrootte in albumlijst:"
|
||||
|
||||
#: mpdevil:721
|
||||
msgid "Action bar icon size:"
|
||||
msgstr "Grootte iconen werkbalk:"
|
||||
|
||||
#: mpdevil:722
|
||||
msgid "Secondary icon size:"
|
||||
msgstr "Grootte overige iconen:"
|
||||
|
||||
#: mpdevil:735
|
||||
msgid "Sort albums by:"
|
||||
msgstr "Albums sorteren op:"
|
||||
|
||||
#: mpdevil:735
|
||||
msgid "name"
|
||||
msgstr "naam"
|
||||
|
||||
#: mpdevil:735
|
||||
msgid "year"
|
||||
msgstr "jaar"
|
||||
|
||||
#: mpdevil:736
|
||||
msgid "Position of playlist:"
|
||||
msgstr "Positie afspeellijst:"
|
||||
|
||||
#: mpdevil:736
|
||||
msgid "bottom"
|
||||
msgstr "onder"
|
||||
|
||||
#: mpdevil:736
|
||||
msgid "right"
|
||||
msgstr "rechts"
|
||||
|
||||
#: mpdevil:754
|
||||
msgid "Use Client-side decoration"
|
||||
msgstr "Gebruik vensterdecoratie van mpdevil"
|
||||
|
||||
#: mpdevil:755
|
||||
msgid "Show stop button"
|
||||
msgstr "Toon stopknop"
|
||||
|
||||
#: mpdevil:756
|
||||
msgid "Show lyrics button"
|
||||
msgstr "Toon songtekstknop"
|
||||
|
||||
#: mpdevil:757
|
||||
msgid "Show initials in artist view"
|
||||
msgstr "Toon beginletters in artiestenlijst"
|
||||
|
||||
#: mpdevil:758
|
||||
msgid "Show tooltips in album view"
|
||||
msgstr "Toon tooltip in albumlijst"
|
||||
|
||||
#: mpdevil:759
|
||||
msgid "Use “Album Artist” tag"
|
||||
msgstr "Gebruik tag \"Album Artist\""
|
||||
|
||||
#: mpdevil:760
|
||||
msgid "Send notification on title change"
|
||||
msgstr "Verstuur een melding bij titelwisseling"
|
||||
|
||||
#: mpdevil:761
|
||||
msgid "Stop playback on quit"
|
||||
msgstr "Stop afspelen bij afsluiten"
|
||||
|
||||
#: mpdevil:762
|
||||
msgid "Play selected albums and titles immediately"
|
||||
msgstr "Geselecteerde albums en titels direct afspelen"
|
||||
|
||||
#: mpdevil:775
|
||||
msgid "<b>View</b>"
|
||||
msgstr "<b>Beeld</b>"
|
||||
|
||||
#: mpdevil:776
|
||||
msgid "<b>Behavior</b>"
|
||||
msgstr "<b>Gedrag</b>"
|
||||
|
||||
#: mpdevil:808
|
||||
msgid "(restart required)"
|
||||
msgstr "(herstart vereist)"
|
||||
|
||||
#: mpdevil:870 mpdevil:3409
|
||||
msgid "Connect"
|
||||
msgstr "Verbinden"
|
||||
|
||||
#: mpdevil:886
|
||||
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 ""
|
||||
"De eerste afbeelding in dezelfde map als het muziekbestand die overeenkomt "
|
||||
"met deze regex wordt getoond. %AlbumArtist% en %Album% worden vervangen door "
|
||||
"de bijbehorende tags van het muziekbestand."
|
||||
|
||||
#: mpdevil:891
|
||||
msgid "Profile:"
|
||||
msgstr "Profiel:"
|
||||
|
||||
#: mpdevil:892
|
||||
msgid "Name:"
|
||||
msgstr "Naam:"
|
||||
|
||||
#: mpdevil:893
|
||||
msgid "Host:"
|
||||
msgstr "Host:"
|
||||
|
||||
#: mpdevil:894
|
||||
msgid "Password:"
|
||||
msgstr "Wachtwoord:"
|
||||
|
||||
#: mpdevil:895
|
||||
msgid "Music lib:"
|
||||
msgstr "Muziekmap:"
|
||||
|
||||
#: mpdevil:896
|
||||
msgid "Cover regex:"
|
||||
msgstr "Regex albumhoes:"
|
||||
|
||||
#: mpdevil:1029
|
||||
msgid "Choose directory"
|
||||
msgstr "Kies een map"
|
||||
|
||||
#: mpdevil:1065
|
||||
msgid "Choose the order of information to appear in the playlist:"
|
||||
msgstr "Kies de volgorde van de informatie getoond in de afspeellijst:"
|
||||
|
||||
#: mpdevil:1082 mpdevil:1604 mpdevil:1930 mpdevil:2633
|
||||
msgid "No"
|
||||
msgstr "Nr"
|
||||
|
||||
#: mpdevil:1082 mpdevil:2634
|
||||
msgid "Disc"
|
||||
msgstr "Disc"
|
||||
|
||||
#: mpdevil:1082 mpdevil:1609 mpdevil:1933 mpdevil:2635
|
||||
msgid "Title"
|
||||
msgstr "Titel"
|
||||
|
||||
#: mpdevil:1082 mpdevil:1615 mpdevil:2636
|
||||
msgid "Artist"
|
||||
msgstr "Artiest"
|
||||
|
||||
#: mpdevil:1082 mpdevil:1621 mpdevil:2637
|
||||
msgid "Album"
|
||||
msgstr "Album"
|
||||
|
||||
#: mpdevil:1082 mpdevil:1627 mpdevil:1937 mpdevil:2638
|
||||
msgid "Length"
|
||||
msgstr "Lengte"
|
||||
|
||||
#: mpdevil:1082 mpdevil:2639
|
||||
msgid "Year"
|
||||
msgstr "Jaar"
|
||||
|
||||
#: mpdevil:1082 mpdevil:2640
|
||||
msgid "Genre"
|
||||
msgstr "Genre"
|
||||
|
||||
#: mpdevil:1198 mpdevil:1200 mpdevil:3498
|
||||
msgid "Settings"
|
||||
msgstr "Instellingen"
|
||||
|
||||
#: mpdevil:1213 mpdevil:1222 mpdevil:3345
|
||||
msgid "General"
|
||||
msgstr "Algemeen"
|
||||
|
||||
#: mpdevil:1214 mpdevil:1223 mpdevil:3509
|
||||
msgid "Profiles"
|
||||
msgstr "Profielen"
|
||||
|
||||
#: mpdevil:1215 mpdevil:1224 mpdevil:3349
|
||||
msgid "Playlist"
|
||||
msgstr "Afspeellijst"
|
||||
|
||||
#: mpdevil:1238
|
||||
msgid "Stats"
|
||||
msgstr "Statistieken"
|
||||
|
||||
#: mpdevil:1248
|
||||
msgid "<b>Protocol:</b>"
|
||||
msgstr "<b>Protocol:</b>"
|
||||
|
||||
#: mpdevil:1249
|
||||
msgid "<b>Uptime:</b>"
|
||||
msgstr "<b>Uptime:</b>"
|
||||
|
||||
#: mpdevil:1250
|
||||
msgid "<b>Playtime:</b>"
|
||||
msgstr "<b>Afspeeltijd:</b>"
|
||||
|
||||
#: mpdevil:1251
|
||||
msgid "<b>Artists:</b>"
|
||||
msgstr "<b>Artiesten:</b>"
|
||||
|
||||
#: mpdevil:1252
|
||||
msgid "<b>Albums:</b>"
|
||||
msgstr "<b>Albums:</b>"
|
||||
|
||||
#: mpdevil:1253
|
||||
msgid "<b>Songs:</b>"
|
||||
msgstr "<b>Titels:</b>"
|
||||
|
||||
#: mpdevil:1254
|
||||
msgid "<b>Total Playtime:</b>"
|
||||
msgstr "<b>Totale speelduur:</b>"
|
||||
|
||||
#: mpdevil:1255
|
||||
msgid "<b>Database Update:</b>"
|
||||
msgstr "<b>Database bijgewerkt:</b>"
|
||||
|
||||
#: mpdevil:1280
|
||||
msgid "A simple music browser for MPD"
|
||||
msgstr "Een simpele muziekspeler voor MPD"
|
||||
|
||||
#: mpdevil:1360
|
||||
msgid "MPD-Tag"
|
||||
msgstr "MPD-Tag"
|
||||
|
||||
#: mpdevil:1363
|
||||
msgid "Value"
|
||||
msgstr "Waarde"
|
||||
|
||||
#: mpdevil:1522
|
||||
msgid "_Append"
|
||||
msgstr "_Toevoegen"
|
||||
|
||||
#: mpdevil:1524
|
||||
msgid "Add all titles to playlist"
|
||||
msgstr "Voeg alle titels toe aan de afspeellijst"
|
||||
|
||||
#: mpdevil:1525
|
||||
msgid "_Play"
|
||||
msgstr "_Afspelen"
|
||||
|
||||
#: mpdevil:1527
|
||||
msgid "Directly play all titles"
|
||||
msgstr "Alle titels direct afspelen"
|
||||
|
||||
#: mpdevil:1528
|
||||
msgid "_Enqueue"
|
||||
msgstr "_In wachtrij plaatsen"
|
||||
|
||||
#: mpdevil:1530
|
||||
msgid ""
|
||||
"Append all titles after the currently playing track and clear the playlist "
|
||||
"from all other songs"
|
||||
msgstr ""
|
||||
"Alle titels toevoegen na de nu spelende titel en alle overige titels uit de "
|
||||
"afspeellijst verwijderen"
|
||||
|
||||
#: mpdevil:1665
|
||||
msgid "all tags"
|
||||
msgstr "alle tags"
|
||||
|
||||
#: mpdevil:1689
|
||||
#, python-brace-format
|
||||
msgid "{num} hits"
|
||||
msgstr "{num} hits"
|
||||
|
||||
#: mpdevil:1727
|
||||
msgid "all genres"
|
||||
msgstr "alle genres"
|
||||
|
||||
#: mpdevil:1830
|
||||
msgid "all artists"
|
||||
msgstr "alle artiesten"
|
||||
|
||||
#: mpdevil:1942
|
||||
msgid "Close"
|
||||
msgstr "Afsluiten"
|
||||
|
||||
#: mpdevil:2113
|
||||
#, python-brace-format
|
||||
msgid "{titles} titles on {discs} discs ({length})"
|
||||
msgstr "{titles} titels op {discs} discs ({length})"
|
||||
|
||||
#: mpdevil:2116 mpdevil:2728
|
||||
#, python-brace-format
|
||||
msgid "{titles} titles ({length})"
|
||||
msgstr "{titles} titels ({length})"
|
||||
|
||||
#: mpdevil:2242 mpdevil:3368
|
||||
msgid "Back to current album"
|
||||
msgstr "Terug naar huidige album"
|
||||
|
||||
#: mpdevil:2244
|
||||
msgid "Search"
|
||||
msgstr "Zoeken"
|
||||
|
||||
#: mpdevil:2421
|
||||
msgid "searching..."
|
||||
msgstr "bezig met zoeken..."
|
||||
|
||||
#: mpdevil:2426
|
||||
msgid "connection error"
|
||||
msgstr "verbindingsfout"
|
||||
|
||||
#: mpdevil:2428
|
||||
msgid "lyrics not found"
|
||||
msgstr "geen songtekst gevonden"
|
||||
|
||||
#: mpdevil:2476
|
||||
#, python-brace-format
|
||||
msgid ""
|
||||
"{bitrate} kb/s, {frequency} kHz, {resolution} bit, {channels} channels, "
|
||||
"{file_type}"
|
||||
msgstr ""
|
||||
"{bitrate} kb/s, {frequency} kHz, {resolution} bit, {channels} kanalen, "
|
||||
"{file_type}"
|
||||
|
||||
#: mpdevil:2606
|
||||
msgid "Scroll to current song"
|
||||
msgstr "Naar de huidige titel scrollen"
|
||||
|
||||
#: mpdevil:2614 mpdevil:3384
|
||||
msgid "Clear playlist"
|
||||
msgstr "Afspeellijst legen"
|
||||
|
||||
#: mpdevil:2883
|
||||
msgid "Show lyrics"
|
||||
msgstr "Toon songtekst"
|
||||
|
||||
#: mpdevil:3161
|
||||
msgid "Random mode"
|
||||
msgstr "Willekeurige modus"
|
||||
|
||||
#: mpdevil:3163
|
||||
msgid "Repeat mode"
|
||||
msgstr "Herhaalmodus"
|
||||
|
||||
#: mpdevil:3165
|
||||
msgid "Single mode"
|
||||
msgstr "Enkele modus"
|
||||
|
||||
#: mpdevil:3167
|
||||
msgid "Consume mode"
|
||||
msgstr "Verbruiksmodus"
|
||||
|
||||
#: mpdevil:3346
|
||||
msgid "Window"
|
||||
msgstr "Venster"
|
||||
|
||||
#: mpdevil:3347
|
||||
msgid "Playback"
|
||||
msgstr "Afspelen"
|
||||
|
||||
#: mpdevil:3348
|
||||
msgid "Search, Album Dialog and Album List"
|
||||
msgstr "Zoeken, Albumdialoog en Albumlijst"
|
||||
|
||||
#: mpdevil:3358
|
||||
msgid "Open online help"
|
||||
msgstr "Online hulp openen"
|
||||
|
||||
#: mpdevil:3359
|
||||
msgid "Open shortcuts window"
|
||||
msgstr "Venster met sneltoetsen openen"
|
||||
|
||||
#: mpdevil:3360
|
||||
msgid "Open menu"
|
||||
msgstr "Menu openen"
|
||||
|
||||
#: mpdevil:3361 mpdevil:3504
|
||||
msgid "Update database"
|
||||
msgstr "Database bijwerken"
|
||||
|
||||
#: mpdevil:3362 mpdevil:3502
|
||||
msgid "Quit"
|
||||
msgstr "Stoppen"
|
||||
|
||||
#: mpdevil:3363
|
||||
msgid "Cycle through profiles"
|
||||
msgstr "Profielen doorlopen"
|
||||
|
||||
#: mpdevil:3364
|
||||
msgid "Cycle through profiles in reversed order"
|
||||
msgstr "Profielen doorlopen in omgekeerde volgorde"
|
||||
|
||||
#: mpdevil:3365
|
||||
msgid "Toggle mini player"
|
||||
msgstr "Omschakelen naar minispeler"
|
||||
|
||||
#: mpdevil:3366
|
||||
msgid "Toggle lyrics"
|
||||
msgstr "Omschakelen naar songtekst"
|
||||
|
||||
#: mpdevil:3367
|
||||
msgid "Toggle search"
|
||||
msgstr "Omschakelen naar zoeken"
|
||||
|
||||
#: mpdevil:3369
|
||||
msgid "Play/Pause"
|
||||
msgstr "Afspelen/Pauzeren"
|
||||
|
||||
#: mpdevil:3370
|
||||
msgid "Stop"
|
||||
msgstr "Stoppen"
|
||||
|
||||
#: mpdevil:3371
|
||||
msgid "Next title"
|
||||
msgstr "Volgende titel"
|
||||
|
||||
#: mpdevil:3372
|
||||
msgid "Previous title"
|
||||
msgstr "Vorige titel"
|
||||
|
||||
#: mpdevil:3373
|
||||
msgid "Seek forward"
|
||||
msgstr "Vooruit spoelen"
|
||||
|
||||
#: mpdevil:3374
|
||||
msgid "Seek backward"
|
||||
msgstr "Achteruit spoelen"
|
||||
|
||||
#: mpdevil:3375
|
||||
msgid "Toggle repeat mode"
|
||||
msgstr "Omschakelen naar herhaalmodus"
|
||||
|
||||
#: mpdevil:3376
|
||||
msgid "Toggle random mode"
|
||||
msgstr "Omschakelen naar willekeurige modus"
|
||||
|
||||
#: mpdevil:3377
|
||||
msgid "Toggle single mode"
|
||||
msgstr "Omschakelen naar enkele modus"
|
||||
|
||||
#: mpdevil:3378
|
||||
msgid "Toggle consume mode"
|
||||
msgstr "Omschakelen naar verbruiksmodus"
|
||||
|
||||
#: mpdevil:3379
|
||||
msgid "Play selected item (next)"
|
||||
msgstr "Geselecteerde item afspelen (volgende)"
|
||||
|
||||
#: mpdevil:3379
|
||||
msgid "Left-click"
|
||||
msgstr "Linksklik"
|
||||
|
||||
#: mpdevil:3380
|
||||
msgid "Append selected item"
|
||||
msgstr "Geselecteerde item toevoegen"
|
||||
|
||||
#: mpdevil:3380 mpdevil:3383
|
||||
msgid "Middle-click"
|
||||
msgstr "Middelklik"
|
||||
|
||||
#: mpdevil:3381
|
||||
msgid "Play selected item immediately"
|
||||
msgstr "Geselecteerde item direct afspelen"
|
||||
|
||||
#: mpdevil:3381
|
||||
msgid "Double-click"
|
||||
msgstr "Dubbelklik"
|
||||
|
||||
#: mpdevil:3382 mpdevil:3385
|
||||
msgid "Show additional information"
|
||||
msgstr "Toon extra informatie"
|
||||
|
||||
#: mpdevil:3382 mpdevil:3385
|
||||
msgid "Right-click"
|
||||
msgstr "Rechtsklik"
|
||||
|
||||
#: mpdevil:3383
|
||||
msgid "Remove selected song"
|
||||
msgstr "Geselecteerde titel verwijderen"
|
||||
|
||||
#: mpdevil:3427
|
||||
#, python-brace-format
|
||||
msgid "Connection to “{profile}” ({host}:{port}) failed"
|
||||
msgstr "Verbinding met “{profile}” ({host}:{port}) mislukt"
|
||||
|
||||
#: mpdevil:3499
|
||||
msgid "Keyboard shortcuts"
|
||||
msgstr "Sneltoetsen"
|
||||
|
||||
#: mpdevil:3500
|
||||
msgid "Help"
|
||||
msgstr "Hulp"
|
||||
|
||||
#: mpdevil:3501
|
||||
msgid "About"
|
||||
msgstr "Over"
|
||||
|
||||
#: mpdevil:3505
|
||||
msgid "Server stats"
|
||||
msgstr "Serverstatistieken"
|
||||
|
||||
#: mpdevil:3510
|
||||
msgid "Mini player"
|
||||
msgstr "Minispeler"
|
||||
|
||||
#: mpdevil:3511
|
||||
msgid "Save window layout"
|
||||
msgstr "Vensterindeling opslaan"
|
||||
|
||||
#: mpdevil:3516
|
||||
msgid "Menu"
|
||||
msgstr "Menu"
|
||||
|
||||
#: mpdevil:3566 mpdevil:3568
|
||||
msgid "connecting…"
|
||||
msgstr "verbinding maken…"
|
2
setup.py
2
setup.py
@@ -4,7 +4,7 @@ import DistUtilsExtra.auto
|
||||
|
||||
DistUtilsExtra.auto.setup(
|
||||
name='mpdevil',
|
||||
version='0.9.5', # sync with bin/mpdevil
|
||||
version='0.9.6', # sync with bin/mpdevil
|
||||
author="Martin Wagner",
|
||||
author_email="martin.wagner.dev@gmail.com",
|
||||
description=('A simple music browser for MPD'),
|
||||
|
Reference in New Issue
Block a user