~comcloudway/melon

bc2c1351b80437f976e876409a2c1e6fdfaa7e76 — Jakob Meier 6 months ago 89961db
add metainfo file to comply with https://docs.flathub.org/blog/quality-moderation/

closes #2
M data/icu.ccw.Melon.desktop.in => data/icu.ccw.Melon.desktop.in +2 -2
@@ 1,6 1,6 @@
[Desktop Entry]
Name=@prettyname@
Comment=@description@
Name=Melon
Comment=Video player that aims to be mobile friendly. Stream videos on the go from multiple sources.
Exec=@bindir@/@projectname@ %U
# Translators: Do NOT translate or transliterate this text (this is an icon file name)!
Icon=@appid@

A data/icu.ccw.Melon.metainfo.xml.in.in => data/icu.ccw.Melon.metainfo.xml.in.in +149 -0
@@ 0,0 1,149 @@
<?xml version="1.0" encoding="UTF-8"?>
<component type="desktop-application">
  <id>@app_id@</id>

  <name translate="no">@prettyname@</name>
  <icon type="stock">@app_id@</icon>
  <summary>Video player that aims to be mobile friendly. Stream videos on the go from multiple sources.</summary>

  <!-- developer_name tag deprecated with Appstream 1.0 -->
  <developer_name translate="no">@authorfullname@</developer_name>
  <developer id="codeberg.org">
    <name translate="no">@authorfullname@</name>
  </developer>
  <update_contact translate="no">@authoremail@</update_contact>


  <metadata_license>CC0-1.0</metadata_license>
  <project_license>@license@</project_license>

  <recommends>
    <display_length compare="ge">360</display_length>
    <internet>always</internet>
  </recommends>
  <supports>
    <control>pointing</control>
    <control>keyboard</control>
    <control>touch</control>
  </supports>

  <description>
    <p>
      Melon allows you to watch videos, subscribe to channels and bookmark playlists from multiple services.
    </p>
    <p>
      The following services are currently supported:
    </p>
    <ul>
      <li>Invidious (to access YouTube)</li>
      <li>PeerTube (experimental)</li>
      <li>Nebula (account required to watch videos)</li>
    </ul>
  </description>

  <url type="bugtracker">@gitrepo@/issues</url>
  <url type="homepage">@website@</url>
  <url type="translate">https://translate.codeberg.org/engage/melon/</url>
  <url type="vcs-browser">@gitrepo@</url>

  <launchable type="desktop-id">@app_id@.desktop</launchable>
  <screenshots>
    <screenshot type="default">
      <caption>
        Default Melon home screen showing: crickets chirping; Subscribe to a channel first, to view uploads
      </caption>
      <image>https://codeberg.org/comcloudway/melon/media/branch/main/screenshots/empty_feed.png</image>
    </screenshot>
    <screenshot>
      <caption>
        List of available servers: Invidious, Nebula, Peertube; including server description
      </caption>
      <image>https://codeberg.org/comcloudway/melon/media/branch/main/screenshots/server_list.png</image>
    </screenshot>
    <screenshot>
      <caption>
        Video Screen, with a video player at the top, the video title below, an expandable description, channel information and a bookmark button
      </caption>
      <image>https://codeberg.org/comcloudway/melon/media/branch/main/screenshots/video.png</image>
    </screenshot>
  </screenshots>
  <releases>
    <release version="0.1.2" date="2024-02-29">
      <description translate="no">
        <ul>
          <li>
            experimental peertube support
          </li>
          <li>
            new-uploads-feed speedup by fetching videos on 10 threads
          </li>
          <li>
            faster feed rendering by loading thumbnails on separate thread
          </li>
        </ul>
      </description>
    </release>
    <release version="0.1.1" date="2024-02-29">
      <description translate="no">
        <p>fix what's-new feed duplicate error</p>
      </description>
    </release>
    <release version="0.1.0" date="2024-02-21">
      <description translate="no">
        <p>
          First stable Version
        </p>
        <p>
          Features:
        </p>
        <ul>
          <li>
            Import Subscriptions, Playlists and History from Newpipe (.db file
            inside the .zip)
          </li>
          <li>
            Browse Server feeds and search for channels, playlists and videos
          </li>
          <li>
            Browse uploads and playlists from channels
          </li>
          <li>
            Bookmark playlists and create new ones
          </li>
          <li>
            Add videos to local playlist
          </li>
          <li>
            Follow channels and view new uploads in a home feed
          </li>
          <li>
            Support for invidious and nebula source
          </li>
        </ul>
      </description>
    </release>
  </releases>

  <translation type="gettext">@app_id@</translation>

  <content_rating type="oars-1.1">
    <content_attribute id="violence-cartoon">intense</content_attribute>
    <content_attribute id="violence-fantasy">intense</content_attribute>
    <content_attribute id="violence-realistic">intense</content_attribute>
    <content_attribute id="violence-bloodshed">intense</content_attribute>
    <content_attribute id="violence-sexual">intense</content_attribute>
    <content_attribute id="violence-desecration">intense</content_attribute>
    <content_attribute id="violence-slavery">intense</content_attribute>
    <content_attribute id="drugs-alcohol">moderate</content_attribute>
    <content_attribute id="drugs-narcotics">moderate</content_attribute>
    <content_attribute id="drugs-tobacco">moderate</content_attribute>
    <content_attribute id="sex-nudity">intense</content_attribute>
    <content_attribute id="sex-themes">intense</content_attribute>
    <content_attribute id="language-profanity">intense</content_attribute>
    <content_attribute id="language-humor">intense</content_attribute>
    <content_attribute id="language-discrimination">intense</content_attribute>
    <content_attribute id="money-purchasing">mild</content_attribute>
    <content_attribute id="money-advertising">intense</content_attribute>
  </content_rating>

</component>

M data/meson.build => data/meson.build +34 -0
@@ 50,3 50,37 @@ endif
dependency('glib-2.0')
dependency('gtk4', version: '>=4.12.1')
dependency('libadwaita-1', version: '>=1.4.0')

#
# appdata/metainfo XML file
#
message('Merge translations of appdata XML file')
conf = configuration_data()
conf.set('app_id', app_id)
conf.set('prettyname', prettyname)
conf.set('authorfullname', authorfullname)
conf.set('authoremail', authoremail)
conf.set('license', meson.project_license())
conf.set('website', website)
conf.set('gitrepo', gitrepo)
appdata_file = i18n.merge_file(
  input: configure_file(
    input: '@0@.metainfo.xml.in.in'.format(base_id),
    output: '@0@.metainfo.xml.in'.format(base_id),
    configuration: conf
  ),
  output: '@0@.metainfo.xml'.format(app_id),
  po_dir: '../po',
  install: true,
  install_dir: join_paths(datadir, 'metainfo')
)

appstreamcli = find_program('appstreamcli', required: false)
if appstreamcli.found()
    test (
        'Validate appdata/metainfo file',
        appstreamcli,
        args: ['validate', '--no-net', '--explain', appdata_file],
        workdir: meson.current_build_dir()
    )
endif

M meson.build => meson.build +1 -0
@@ 16,6 16,7 @@ domainname = 'ccw'
domainext = 'icu'

gitrepo = 'https://codeberg.org/' + authornickname + '/' + prettyname
website = gitrepo

python = import('python')
py_installation = python.find_installation('python3')

M po/POTFILES.in => po/POTFILES.in +13 -12
@@ 1,22 1,23 @@
data/icu.ccw.Melon.desktop.in
data/icu.ccw.Melon.metainfo.xml.in.in
melon/browse/__init__.py
melon/browse/channel.py
melon/browse/playlist.py
melon/browse/search.py
melon/browse/server.py
melon/home/history.py
melon/home/new.py
melon/home/playlists.py
melon/home/subs.py
melon/settings/__init__.py
melon/import_providers/newpipe.py
melon/importer.py
melon/player/__init__.py
melon/playlist/__init__.py
melon/playlist/create.py
melon/playlist/pick.py
melon/servers/invidious/__init__.py
melon/servers/nebula/__init__.py
melon/servers/peertube/__init__.py
melon/settings/__init__.py
melon/widgets/preferencerow.py
melon/browse/channel.py
melon/browse/playlist.py
melon/browse/__init__.py
melon/browse/search.py
melon/browse/server.py
melon/player/__init__.py
melon/playlist/create.py
melon/playlist/pick.py
melon/playlist/__init__.py
melon/import_providers/newpipe.py
melon/window.py
melon/importer.py

M po/de.po => po/de.po +423 -369
@@ 7,7 7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Melon 0.1.2\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-03-03 15:39+0100\n"
"POT-Creation-Date: 2024-03-03 17:38+0100\n"
"PO-Revision-Date: 2024-03-01 11:23+0000\n"
"Last-Translator: Anonymous <noreply@weblate.org>\n"
"Language-Team: German <https://translate.codeberg.org/projects/melon/melon-"


@@ 19,14 19,172 @@ msgstr ""
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Generator: Weblate 5.4\n"

#: ../melon/home/history.py:23 ../melon/home/new.py:28
#: ../melon/home/playlists.py:21 ../melon/home/subs.py:20
#: ../data/icu.ccw.Melon.desktop.in:3
msgid "Melon"
msgstr ""

#: ../data/icu.ccw.Melon.desktop.in:4
msgid ""
"Video player that aims to be mobile friendly. Stream videos on the go from "
"multiple sources."
msgstr ""

#: ../data/icu.ccw.Melon.desktop.in:13
msgid "viewer;videos;stream;browse;"
msgstr ""

#: ../data/icu.ccw.Melon.metainfo.xml.in.in:31
msgid ""
"Melon allows you to watch videos, subscribe to channels and bookmark "
"playlists from multiple services."
msgstr ""

#: ../data/icu.ccw.Melon.metainfo.xml.in.in:34
msgid "The following services are currently supported:"
msgstr ""

#: ../data/icu.ccw.Melon.metainfo.xml.in.in:38
msgid "Invidious (to access YouTube)"
msgstr ""

#: ../data/icu.ccw.Melon.metainfo.xml.in.in:39
msgid "PeerTube (experimental)"
msgstr ""

#: ../data/icu.ccw.Melon.metainfo.xml.in.in:40
msgid "Nebula (account required to watch videos)"
msgstr ""

#: ../data/icu.ccw.Melon.metainfo.xml.in.in:52
msgid ""
"Default Melon home screen showing: crickets chirping; Subscribe to a channel "
"first, to view uploads"
msgstr ""

#: ../data/icu.ccw.Melon.metainfo.xml.in.in:58
msgid ""
"List of available servers: Invidious, Nebula, Peertube; including server "
"description"
msgstr ""

#: ../data/icu.ccw.Melon.metainfo.xml.in.in:64
msgid ""
"Video Screen, with a video player at the top, the video title below, an "
"expandable description, channel information and a bookmark button"
msgstr ""

#: ../melon/browse/__init__.py:18 ../melon/browse/search.py:58
#: ../melon/browse/server.py:101 ../melon/browse/server.py:125
#: ../melon/playlist/__init__.py:44 ../melon/importer.py:61
#: ../melon/home/history.py:23 ../melon/home/new.py:28
#: ../melon/home/playlists.py:21 ../melon/home/subs.py:20
#: ../melon/importer.py:61 ../melon/playlist/__init__.py:44
msgid "*crickets chirping*"
msgstr "*Grillen zirpen*"

#: ../melon/browse/__init__.py:19
msgid "There are no available servers"
msgstr "Es sind keine Dienste vorhanden"

#: ../melon/browse/__init__.py:21 ../melon/browse/search.py:61
#: ../melon/importer.py:64
msgid "Enable servers in the settings menu"
msgstr "Aktiviere Dienste im Einstellungsmenü"

#: ../melon/browse/__init__.py:29
msgid "Available Servers"
msgstr "Verfügbare Dienste"

#: ../melon/browse/__init__.py:30
msgid "You can enable/disable and filter servers in the settings menu"
msgstr ""
"Du kannst Dienste in den Einstellungen aktivieren, deaktivieren und filtern"

#: ../melon/browse/__init__.py:48
msgid "Servers"
msgstr "Dienste"

#: ../melon/browse/__init__.py:56 ../melon/browse/search.py:106
msgid "Global Search"
msgstr "Globale Suche"

#: ../melon/browse/channel.py:99
msgid "Subscribe to channel"
msgstr "Kanal abonnieren"

#: ../melon/browse/channel.py:100
msgid "Add latest uploads to home feed"
msgstr "Zeige neue Videos im Home-Feed an"

#: ../melon/browse/channel.py:127
msgid "Channel feed"
msgstr ""

#: ../melon/browse/channel.py:128
msgid "This channel provides multiple feeds, choose which one to view"
msgstr ""

#: ../melon/browse/playlist.py:61 ../melon/player/__init__.py:91
msgid "Bookmark"
msgstr "Merken"

#: ../melon/browse/playlist.py:62
msgid "Add Playlist to your local playlist collection"
msgstr "Wiedergabeliste zur lokalen Sammlung hinzufügen"

#: ../melon/browse/search.py:44
msgid "No results"
msgstr "Keine Ergebnisse"

#: ../melon/browse/search.py:46
#, python-brace-format
msgid "{count} result"
msgid_plural "{count} results"
msgstr[0] "{count} Ergebnis"
msgstr[1] "{count} Ergebnisse"

#: ../melon/browse/search.py:59
msgid "There are no available servers, a search would yield no results"
msgstr ""
"Es gibt keine verfügbaren Dienste, eine Suche würde keine Ergebnisse liefern"

#: ../melon/browse/search.py:83 ../melon/browse/server.py:43
msgid "Any"
msgstr "Alle"

#: ../melon/browse/search.py:85 ../melon/browse/server.py:45
msgid "Channels"
msgstr "Kanäle"

#: ../melon/browse/search.py:88 ../melon/browse/server.py:48
#: ../melon/home/playlists.py:32 ../melon/home/playlists.py:64
#: ../melon/servers/nebula/__init__.py:200
#: ../melon/servers/peertube/__init__.py:205
msgid "Playlists"
msgstr "Wiedergabelisten"

#: ../melon/browse/search.py:91 ../melon/browse/server.py:51
#: ../melon/servers/nebula/__init__.py:194
#: ../melon/servers/peertube/__init__.py:204
#: ../melon/servers/peertube/__init__.py:208
msgid "Videos"
msgstr "Videos"

#: ../melon/browse/server.py:23
msgid "Search"
msgstr "Suchen"

#: ../melon/browse/server.py:102
msgid "Try searching for a term"
msgstr "Suche nach einem Suchbegriff"

#: ../melon/browse/server.py:104
msgid "Try using a different query"
msgstr "Versuche nach einem anderen Begriff zu suchen"

#: ../melon/browse/server.py:126
msgid "This feed is empty"
msgstr ""

#: ../melon/home/history.py:24
msgid "You haven't watched any videos yet"
msgstr "Du hast noch keine Videos geschaut"


@@ 76,13 234,6 @@ msgstr "Du hast noch keine Wiedergabelisten"
msgid "Create a new playlist"
msgstr "Neue Wiedergabeliste erstellen"

#: ../melon/home/playlists.py:32 ../melon/home/playlists.py:64
#: ../melon/servers/nebula/__init__.py:200
#: ../melon/servers/peertube/__init__.py:205 ../melon/browse/search.py:88
#: ../melon/browse/server.py:48
msgid "Playlists"
msgstr "Wiedergabelisten"

#: ../melon/home/playlists.py:33
msgid "Here are playlists you've bookmarked or created yourself"
msgstr ""


@@ 105,96 256,205 @@ msgstr "Kanäle"
msgid "You are subscribed to the following channels"
msgstr "Du folgst den folgenden Kanälen"

#: ../melon/settings/__init__.py:18
msgid "Show Previews when browsing public feeds (incl. search)"
msgstr "Vorschaubilder für externe Inhalte anzeigen"
#: ../melon/import_providers/newpipe.py:28
msgid "Newpipe Database importer"
msgstr "NewPipe Datenbank Import"

#: ../melon/settings/__init__.py:19
#: ../melon/import_providers/newpipe.py:29
msgid ""
"Set to true to show previews when viewing channel contents, public feeds and "
"searching"
"Import the .db file from inside the newpipe .zip export (as invidious "
"content)"
msgstr ""
"Aktiviert Vorschaubilder beim Durchsuchen von Diensten, Ansehen von Kanälen "
"und Wiedergabelisten"
"Importiere die .db Datei aus dem NewPipe .zip Export (als Invidious Inhalte)"

#: ../melon/settings/__init__.py:25
msgid "Show Previews in local feeds"
msgstr "Vorschaubilder für lokale Inhalte anzeigen"
#: ../melon/import_providers/newpipe.py:30
msgid "Select .db file"
msgstr "Wähle eine .db Datei"

#: ../melon/settings/__init__.py:26
msgid ""
"Set to true to show previews in the new feed, for subscribed channels, and "
"saved playlists"
msgstr ""
"Aktiviert Vorschaubilder im Neues Tab, im Kanäle Tab und für selbst "
"erstellte Wiedergabelisten"
#: ../melon/import_providers/newpipe.py:45
msgid "Newpipe Database"
msgstr "NewPipe Datenbank"

#: ../melon/settings/__init__.py:32
#, fuzzy
msgid "Show servers that may contain nsfw content"
msgstr "Dienste anzeigen, die teilweise NSFW Inhalte enthalten"
#: ../melon/importer.py:17 ../melon/importer.py:35
msgid "Import"
msgstr "Importieren"

#: ../melon/settings/__init__.py:33
#: ../melon/importer.py:36
#, fuzzy
msgid ""
"Lists/Delists servers in the browse servers list, if they contain some nsfw "
"content"
msgstr ""
"Zeige Dienste, die vereinzelt NSFW Inhalte beinhalten, beim Durchsuchen an"
msgid "The following import methods have been found"
msgstr "Die folgenden Import-Methoden wurden gefunden"

#: ../melon/settings/__init__.py:38
#: ../melon/importer.py:62
#, fuzzy
msgid "Show servers that only contain nsfw content"
msgstr "Dienste anzeigen, die ausschließlich NSFW Inhalte enthalten"
msgid "There are no available importer methods"
msgstr "Es gibt keine verfügbaren Import-Methoden"

#: ../melon/settings/__init__.py:39
#, fuzzy
msgid ""
"Lists/Delists servers in the browse servers list, if they contain only/"
"mostly nsfw content"
msgstr ""
"Zeige Dienste, die (fast) nur NSFW Inhalte beinhalten, beim Durchsuchen an"
#: ../melon/player/__init__.py:65
msgid "Quality"
msgstr "Auflösung"

#: ../melon/settings/__init__.py:45
msgid "Show servers that require login"
msgstr "Dienste anzeigen, die ein Konto benötigen"
#: ../melon/player/__init__.py:66
msgid "Video quality"
msgstr "Auflösung"

#: ../melon/settings/__init__.py:46
msgid ""
"Lists/Delists servers in the browse servers list, if they require login to "
"function"
msgstr "Zeige Dienste, für die du einen Account brauchst, beim Durchsuchen an"
#: ../melon/player/__init__.py:76
msgid "Description"
msgstr "Beschreibung"

#: ../melon/settings/__init__.py:55
msgid "Settings"
msgstr "Einstellungen"
#: ../melon/player/__init__.py:92
msgid "Add this video to a playlist"
msgstr "Füge dieses Video einer Wiedergabeliste hinzu"

#: ../melon/settings/__init__.py:68
msgid "General"
msgstr "Allgemein"
#: ../melon/playlist/__init__.py:39
msgid "Edit"
msgstr ""

#: ../melon/settings/__init__.py:69
msgid "Global app settings"
msgstr "Globale App Einstellungen"
#: ../melon/playlist/__init__.py:45
msgid "You haven't added any videos to this playlist yet"
msgstr "Du hast noch keine Videos zu dieser Wiedergabeliste hinzugefügt"

#: ../melon/settings/__init__.py:93
msgid "Enable Server"
msgstr "Dienst aktivieren"
#: ../melon/playlist/__init__.py:47
msgid "Start watching"
msgstr "Videos anschauen"

#: ../melon/settings/__init__.py:94
msgid ""
"Disabled servers won't show up in the browser or on the local/home screen"
#: ../melon/playlist/__init__.py:77
msgid "Edit Playlist"
msgstr ""
"Deaktivierte Dienste werden beim Durchsuchen und auf dem Startbildschirm "
"nicht angezeigt"

#: ../melon/servers/invidious/__init__.py:27
msgid "Open source alternative front-end to YouTube"
msgstr "Quelloffenes alternatives Frontend für YouTube"
#: ../melon/playlist/__init__.py:83
msgid "Playlist details"
msgstr ""

#: ../melon/servers/invidious/__init__.py:32
msgid "Instance"
msgstr "Instanz"
#: ../melon/playlist/__init__.py:84
msgid "Change playlist information"
msgstr ""

#: ../melon/playlist/__init__.py:86 ../melon/playlist/create.py:38
msgid "Playlist name"
msgstr ""

#: ../melon/playlist/__init__.py:89 ../melon/playlist/create.py:41
msgid "Playlist description"
msgstr "Beschreibung der Wiedergabeliste"

#: ../melon/playlist/__init__.py:94
msgid "Save details"
msgstr ""

#: ../melon/playlist/__init__.py:95
msgid "Change playlist title and description. (Closes the dialog)"
msgstr ""

#: ../melon/playlist/__init__.py:105 ../melon/playlist/__init__.py:147
msgid "Delete Playlist"
msgstr ""

#: ../melon/playlist/__init__.py:106
msgid "Delete this playlist and it's content. This can NOT be undone."
msgstr ""

#: ../melon/playlist/__init__.py:117
msgid "Close"
msgstr ""

#: ../melon/playlist/__init__.py:117
msgid "Close without chaning anything"
msgstr ""

#: ../melon/playlist/__init__.py:150
msgid "Do you really wan't to delete this playlist?"
msgstr ""

#: ../melon/playlist/__init__.py:151
msgid "This cannot be undone"
msgstr ""

#: ../melon/playlist/__init__.py:155 ../melon/playlist/create.py:48
#: ../melon/playlist/pick.py:86 ../melon/widgets/preferencerow.py:174
#: ../melon/widgets/preferencerow.py:217
msgid "Cancel"
msgstr "Abbruch"

#: ../melon/playlist/__init__.py:155
msgid "Do not delete the playlist"
msgstr ""

#: ../melon/playlist/__init__.py:156 ../melon/widgets/preferencerow.py:206
#: ../melon/widgets/preferencerow.py:218
msgid "Delete"
msgstr "Löschen"

#: ../melon/playlist/__init__.py:156
msgid "Delete this playlist"
msgstr ""

#: ../melon/playlist/create.py:17 ../melon/playlist/create.py:34
msgid "New Playlist"
msgstr "Neue Wiedergabeliste"

#: ../melon/playlist/create.py:24 ../melon/playlist/pick.py:28
msgid "Video"
msgstr "Video"

#: ../melon/playlist/create.py:25
msgid "The following video will be added to the new playlist"
msgstr "Das folgende Video wird zu der neuen Wiedergabeliste hinzugefügt"

#: ../melon/playlist/create.py:35
msgid "Enter more playlist information"
msgstr "Gibt weitere Wiedergabelistendetails an"

#: ../melon/playlist/create.py:39
msgid "Unnamed Playlist"
msgstr "Unbenannte Wiedergabeliste"

#: ../melon/playlist/create.py:48 ../melon/playlist/pick.py:86
msgid "Do not create playlist"
msgstr "Wiedergabeliste nicht erstellen"

#: ../melon/playlist/create.py:49 ../melon/widgets/preferencerow.py:175
msgid "Create"
msgstr "Erstellen"

#: ../melon/playlist/create.py:49
msgid "Create playlist"
msgstr "Wiedergabeliste erstellen"

#: ../melon/playlist/pick.py:23
msgid "Add to Playlist"
msgstr "Zur Wiedergabeliste hinzufügen"

#: ../melon/playlist/pick.py:29
msgid "The following video will be added to the playlist"
msgstr "Das folgende Video wird zur Wiedergabeliste hinzugefügt"

#: ../melon/playlist/pick.py:39
msgid "Add to playlist"
msgstr "Zur Wiedergabeliste hinzufügen"

#: ../melon/playlist/pick.py:40
msgid ""
"Choose a playlist to add the video to. Note that you can only add videos to "
"local playlists, not external bookmarked ones"
msgstr ""
"Wähle die Wiedergabeliste, zu der das Video hinzugefügt werden soll. (Du "
"kannst Videos nur zu lokalen Wiedergabelisten hinzufügen, nicht in gemerkte)"

#: ../melon/playlist/pick.py:42
msgid "Create new playlist"
msgstr "Neue Wiedergabeliste erstellen"

#: ../melon/playlist/pick.py:43
msgid "Create a new playlist and add the video to it"
msgstr "Neue Wiedergabeliste erstellen und Video hinzufügen"

#: ../melon/servers/invidious/__init__.py:27
msgid "Open source alternative front-end to YouTube"
msgstr "Quelloffenes alternatives Frontend für YouTube"

#: ../melon/servers/invidious/__init__.py:32
msgid "Instance"
msgstr "Instanz"

#: ../melon/servers/invidious/__init__.py:33
msgid ""


@@ 246,13 506,6 @@ msgstr ""
"URL von einem web-basiertem .m3u8 Abspielservice. %s wird mit der Stream URL "
"ersetzt"

#: ../melon/servers/nebula/__init__.py:194
#: ../melon/servers/peertube/__init__.py:204
#: ../melon/servers/peertube/__init__.py:208 ../melon/browse/search.py:91
#: ../melon/browse/server.py:51
msgid "Videos"
msgstr "Videos"

#: ../melon/servers/peertube/__init__.py:15
msgid "Decentralized video hosting network, based on free/libre software"
msgstr ""


@@ 291,6 544,89 @@ msgstr ""
msgid "Latest"
msgstr "Neuste"

#: ../melon/settings/__init__.py:18
msgid "Show Previews when browsing public feeds (incl. search)"
msgstr "Vorschaubilder für externe Inhalte anzeigen"

#: ../melon/settings/__init__.py:19
msgid ""
"Set to true to show previews when viewing channel contents, public feeds and "
"searching"
msgstr ""
"Aktiviert Vorschaubilder beim Durchsuchen von Diensten, Ansehen von Kanälen "
"und Wiedergabelisten"

#: ../melon/settings/__init__.py:25
msgid "Show Previews in local feeds"
msgstr "Vorschaubilder für lokale Inhalte anzeigen"

#: ../melon/settings/__init__.py:26
msgid ""
"Set to true to show previews in the new feed, for subscribed channels, and "
"saved playlists"
msgstr ""
"Aktiviert Vorschaubilder im Neues Tab, im Kanäle Tab und für selbst "
"erstellte Wiedergabelisten"

#: ../melon/settings/__init__.py:32
#, fuzzy
msgid "Show servers that may contain nsfw content"
msgstr "Dienste anzeigen, die teilweise NSFW Inhalte enthalten"

#: ../melon/settings/__init__.py:33
#, fuzzy
msgid ""
"Lists/Delists servers in the browse servers list, if they contain some nsfw "
"content"
msgstr ""
"Zeige Dienste, die vereinzelt NSFW Inhalte beinhalten, beim Durchsuchen an"

#: ../melon/settings/__init__.py:38
#, fuzzy
msgid "Show servers that only contain nsfw content"
msgstr "Dienste anzeigen, die ausschließlich NSFW Inhalte enthalten"

#: ../melon/settings/__init__.py:39
#, fuzzy
msgid ""
"Lists/Delists servers in the browse servers list, if they contain only/"
"mostly nsfw content"
msgstr ""
"Zeige Dienste, die (fast) nur NSFW Inhalte beinhalten, beim Durchsuchen an"

#: ../melon/settings/__init__.py:45
msgid "Show servers that require login"
msgstr "Dienste anzeigen, die ein Konto benötigen"

#: ../melon/settings/__init__.py:46
msgid ""
"Lists/Delists servers in the browse servers list, if they require login to "
"function"
msgstr "Zeige Dienste, für die du einen Account brauchst, beim Durchsuchen an"

#: ../melon/settings/__init__.py:55
msgid "Settings"
msgstr "Einstellungen"

#: ../melon/settings/__init__.py:68
msgid "General"
msgstr "Allgemein"

#: ../melon/settings/__init__.py:69
msgid "Global app settings"
msgstr "Globale App Einstellungen"

#: ../melon/settings/__init__.py:93
msgid "Enable Server"
msgstr "Dienst aktivieren"

#: ../melon/settings/__init__.py:94
msgid ""
"Disabled servers won't show up in the browser or on the local/home screen"
msgstr ""
"Deaktivierte Dienste werden beim Durchsuchen und auf dem Startbildschirm "
"nicht angezeigt"

#: ../melon/widgets/preferencerow.py:115
msgid "Add"
msgstr "Hinzufügen"


@@ 323,21 659,6 @@ msgstr "Gibt den neuen Wert hier ein"
msgid "Value"
msgstr "Wert"

#: ../melon/widgets/preferencerow.py:174 ../melon/widgets/preferencerow.py:217
#: ../melon/playlist/create.py:48 ../melon/playlist/pick.py:86
#: ../melon/playlist/__init__.py:155
msgid "Cancel"
msgstr "Abbruch"

#: ../melon/widgets/preferencerow.py:175 ../melon/playlist/create.py:49
msgid "Create"
msgstr "Erstellen"

#: ../melon/widgets/preferencerow.py:206 ../melon/widgets/preferencerow.py:218
#: ../melon/playlist/__init__.py:156
msgid "Delete"
msgstr "Löschen"

#: ../melon/widgets/preferencerow.py:209
msgid "Do you really want to delete this item?"
msgstr "Möchtest du den Eintrag wirklich löschen?"


@@ 354,276 675,9 @@ msgstr "Eintrag nicht entfernen"
msgid "Remove item from list"
msgstr "Eintrag von der Liste entfernen"

#: ../melon/browse/channel.py:99
msgid "Subscribe to channel"
msgstr "Kanal abonnieren"

#: ../melon/browse/channel.py:100
msgid "Add latest uploads to home feed"
msgstr "Zeige neue Videos im Home-Feed an"

#: ../melon/browse/channel.py:127
msgid "Channel feed"
msgstr ""

#: ../melon/browse/channel.py:128
msgid "This channel provides multiple feeds, choose which one to view"
msgstr ""

#: ../melon/browse/playlist.py:61 ../melon/player/__init__.py:91
msgid "Bookmark"
msgstr "Merken"

#: ../melon/browse/playlist.py:62
msgid "Add Playlist to your local playlist collection"
msgstr "Wiedergabeliste zur lokalen Sammlung hinzufügen"

#: ../melon/browse/__init__.py:19
msgid "There are no available servers"
msgstr "Es sind keine Dienste vorhanden"

#: ../melon/browse/__init__.py:21 ../melon/browse/search.py:61
#: ../melon/importer.py:64
msgid "Enable servers in the settings menu"
msgstr "Aktiviere Dienste im Einstellungsmenü"

#: ../melon/browse/__init__.py:29
msgid "Available Servers"
msgstr "Verfügbare Dienste"

#: ../melon/browse/__init__.py:30
msgid "You can enable/disable and filter servers in the settings menu"
msgstr ""
"Du kannst Dienste in den Einstellungen aktivieren, deaktivieren und filtern"

#: ../melon/browse/__init__.py:48
msgid "Servers"
msgstr "Dienste"

#: ../melon/browse/__init__.py:56 ../melon/browse/search.py:106
msgid "Global Search"
msgstr "Globale Suche"

#: ../melon/browse/search.py:44
msgid "No results"
msgstr "Keine Ergebnisse"

#: ../melon/browse/search.py:46
#, python-brace-format
msgid "{count} result"
msgid_plural "{count} results"
msgstr[0] "{count} Ergebnis"
msgstr[1] "{count} Ergebnisse"

#: ../melon/browse/search.py:59
msgid "There are no available servers, a search would yield no results"
msgstr ""
"Es gibt keine verfügbaren Dienste, eine Suche würde keine Ergebnisse liefern"

#: ../melon/browse/search.py:83 ../melon/browse/server.py:43
msgid "Any"
msgstr "Alle"

#: ../melon/browse/search.py:85 ../melon/browse/server.py:45
msgid "Channels"
msgstr "Kanäle"

#: ../melon/browse/server.py:23
msgid "Search"
msgstr "Suchen"

#: ../melon/browse/server.py:102
msgid "Try searching for a term"
msgstr "Suche nach einem Suchbegriff"

#: ../melon/browse/server.py:104
msgid "Try using a different query"
msgstr "Versuche nach einem anderen Begriff zu suchen"

#: ../melon/browse/server.py:126
msgid "This feed is empty"
msgstr ""

#: ../melon/player/__init__.py:65
msgid "Quality"
msgstr "Auflösung"

#: ../melon/player/__init__.py:66
msgid "Video quality"
msgstr "Auflösung"

#: ../melon/player/__init__.py:76
msgid "Description"
msgstr "Beschreibung"

#: ../melon/player/__init__.py:92
msgid "Add this video to a playlist"
msgstr "Füge dieses Video einer Wiedergabeliste hinzu"

#: ../melon/playlist/create.py:17 ../melon/playlist/create.py:34
msgid "New Playlist"
msgstr "Neue Wiedergabeliste"

#: ../melon/playlist/create.py:24 ../melon/playlist/pick.py:28
msgid "Video"
msgstr "Video"

#: ../melon/playlist/create.py:25
msgid "The following video will be added to the new playlist"
msgstr "Das folgende Video wird zu der neuen Wiedergabeliste hinzugefügt"

#: ../melon/playlist/create.py:35
msgid "Enter more playlist information"
msgstr "Gibt weitere Wiedergabelistendetails an"

#: ../melon/playlist/create.py:38 ../melon/playlist/__init__.py:86
msgid "Playlist name"
msgstr ""

#: ../melon/playlist/create.py:39
msgid "Unnamed Playlist"
msgstr "Unbenannte Wiedergabeliste"

#: ../melon/playlist/create.py:41 ../melon/playlist/__init__.py:89
msgid "Playlist description"
msgstr "Beschreibung der Wiedergabeliste"

#: ../melon/playlist/create.py:48 ../melon/playlist/pick.py:86
msgid "Do not create playlist"
msgstr "Wiedergabeliste nicht erstellen"

#: ../melon/playlist/create.py:49
msgid "Create playlist"
msgstr "Wiedergabeliste erstellen"

#: ../melon/playlist/pick.py:23
msgid "Add to Playlist"
msgstr "Zur Wiedergabeliste hinzufügen"

#: ../melon/playlist/pick.py:29
msgid "The following video will be added to the playlist"
msgstr "Das folgende Video wird zur Wiedergabeliste hinzugefügt"

#: ../melon/playlist/pick.py:39
msgid "Add to playlist"
msgstr "Zur Wiedergabeliste hinzufügen"

#: ../melon/playlist/pick.py:40
msgid ""
"Choose a playlist to add the video to. Note that you can only add videos to "
"local playlists, not external bookmarked ones"
msgstr ""
"Wähle die Wiedergabeliste, zu der das Video hinzugefügt werden soll. (Du "
"kannst Videos nur zu lokalen Wiedergabelisten hinzufügen, nicht in gemerkte)"

#: ../melon/playlist/pick.py:42
msgid "Create new playlist"
msgstr "Neue Wiedergabeliste erstellen"

#: ../melon/playlist/pick.py:43
msgid "Create a new playlist and add the video to it"
msgstr "Neue Wiedergabeliste erstellen und Video hinzufügen"

#: ../melon/playlist/__init__.py:39
msgid "Edit"
msgstr ""

#: ../melon/playlist/__init__.py:45
msgid "You haven't added any videos to this playlist yet"
msgstr "Du hast noch keine Videos zu dieser Wiedergabeliste hinzugefügt"

#: ../melon/playlist/__init__.py:47
msgid "Start watching"
msgstr "Videos anschauen"

#: ../melon/playlist/__init__.py:77
msgid "Edit Playlist"
msgstr ""

#: ../melon/playlist/__init__.py:83
msgid "Playlist details"
msgstr ""

#: ../melon/playlist/__init__.py:84
msgid "Change playlist information"
msgstr ""

#: ../melon/playlist/__init__.py:94
msgid "Save details"
msgstr ""

#: ../melon/playlist/__init__.py:95
msgid "Change playlist title and description. (Closes the dialog)"
msgstr ""

#: ../melon/playlist/__init__.py:105 ../melon/playlist/__init__.py:147
msgid "Delete Playlist"
msgstr ""

#: ../melon/playlist/__init__.py:106
msgid "Delete this playlist and it's content. This can NOT be undone."
msgstr ""

#: ../melon/playlist/__init__.py:117
msgid "Close"
msgstr ""

#: ../melon/playlist/__init__.py:117
msgid "Close without chaning anything"
msgstr ""

#: ../melon/playlist/__init__.py:150
msgid "Do you really wan't to delete this playlist?"
msgstr ""

#: ../melon/playlist/__init__.py:151
msgid "This cannot be undone"
msgstr ""

#: ../melon/playlist/__init__.py:155
msgid "Do not delete the playlist"
msgstr ""

#: ../melon/playlist/__init__.py:156
msgid "Delete this playlist"
msgstr ""

#: ../melon/import_providers/newpipe.py:28
msgid "Newpipe Database importer"
msgstr "NewPipe Datenbank Import"

#: ../melon/import_providers/newpipe.py:29
msgid ""
"Import the .db file from inside the newpipe .zip export (as invidious "
"content)"
msgstr ""
"Importiere die .db Datei aus dem NewPipe .zip Export (als Invidious Inhalte)"

#: ../melon/import_providers/newpipe.py:30
msgid "Select .db file"
msgstr "Wähle eine .db Datei"

#: ../melon/import_providers/newpipe.py:45
msgid "Newpipe Database"
msgstr "NewPipe Datenbank"

#: ../melon/window.py:81
msgid "Stream videos on the go"
msgstr "Videos unterwegs streamen"

#: ../melon/importer.py:17 ../melon/importer.py:35
msgid "Import"
msgstr "Importieren"

#: ../melon/importer.py:36
#, fuzzy
msgid "The following import methods have been found"
msgstr "Die folgenden Import-Methoden wurden gefunden"

#: ../melon/importer.py:62
#, fuzzy
msgid "There are no available importer methods"
msgstr "Es gibt keine verfügbaren Import-Methoden"

#~ msgid "Playlist Name"
#~ msgstr "Name der Wiedergabeliste"

M po/melon.pot => po/melon.pot +364 -310
@@ 8,7 8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Melon 0.1.2\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-03-03 15:39+0100\n"
"POT-Creation-Date: 2024-03-03 17:38+0100\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,14 18,170 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\n"

#: ../melon/home/history.py:23 ../melon/home/new.py:28
#: ../melon/home/playlists.py:21 ../melon/home/subs.py:20
#: ../data/icu.ccw.Melon.desktop.in:3
msgid "Melon"
msgstr ""

#: ../data/icu.ccw.Melon.desktop.in:4
msgid ""
"Video player that aims to be mobile friendly. Stream videos on the go from "
"multiple sources."
msgstr ""

#: ../data/icu.ccw.Melon.desktop.in:13
msgid "viewer;videos;stream;browse;"
msgstr ""

#: ../data/icu.ccw.Melon.metainfo.xml.in.in:31
msgid ""
"Melon allows you to watch videos, subscribe to channels and bookmark "
"playlists from multiple services."
msgstr ""

#: ../data/icu.ccw.Melon.metainfo.xml.in.in:34
msgid "The following services are currently supported:"
msgstr ""

#: ../data/icu.ccw.Melon.metainfo.xml.in.in:38
msgid "Invidious (to access YouTube)"
msgstr ""

#: ../data/icu.ccw.Melon.metainfo.xml.in.in:39
msgid "PeerTube (experimental)"
msgstr ""

#: ../data/icu.ccw.Melon.metainfo.xml.in.in:40
msgid "Nebula (account required to watch videos)"
msgstr ""

#: ../data/icu.ccw.Melon.metainfo.xml.in.in:52
msgid ""
"Default Melon home screen showing: crickets chirping; Subscribe to a channel "
"first, to view uploads"
msgstr ""

#: ../data/icu.ccw.Melon.metainfo.xml.in.in:58
msgid ""
"List of available servers: Invidious, Nebula, Peertube; including server "
"description"
msgstr ""

#: ../data/icu.ccw.Melon.metainfo.xml.in.in:64
msgid ""
"Video Screen, with a video player at the top, the video title below, an "
"expandable description, channel information and a bookmark button"
msgstr ""

#: ../melon/browse/__init__.py:18 ../melon/browse/search.py:58
#: ../melon/browse/server.py:101 ../melon/browse/server.py:125
#: ../melon/playlist/__init__.py:44 ../melon/importer.py:61
#: ../melon/home/history.py:23 ../melon/home/new.py:28
#: ../melon/home/playlists.py:21 ../melon/home/subs.py:20
#: ../melon/importer.py:61 ../melon/playlist/__init__.py:44
msgid "*crickets chirping*"
msgstr ""

#: ../melon/browse/__init__.py:19
msgid "There are no available servers"
msgstr ""

#: ../melon/browse/__init__.py:21 ../melon/browse/search.py:61
#: ../melon/importer.py:64
msgid "Enable servers in the settings menu"
msgstr ""

#: ../melon/browse/__init__.py:29
msgid "Available Servers"
msgstr ""

#: ../melon/browse/__init__.py:30
msgid "You can enable/disable and filter servers in the settings menu"
msgstr ""

#: ../melon/browse/__init__.py:48
msgid "Servers"
msgstr ""

#: ../melon/browse/__init__.py:56 ../melon/browse/search.py:106
msgid "Global Search"
msgstr ""

#: ../melon/browse/channel.py:99
msgid "Subscribe to channel"
msgstr ""

#: ../melon/browse/channel.py:100
msgid "Add latest uploads to home feed"
msgstr ""

#: ../melon/browse/channel.py:127
msgid "Channel feed"
msgstr ""

#: ../melon/browse/channel.py:128
msgid "This channel provides multiple feeds, choose which one to view"
msgstr ""

#: ../melon/browse/playlist.py:61 ../melon/player/__init__.py:91
msgid "Bookmark"
msgstr ""

#: ../melon/browse/playlist.py:62
msgid "Add Playlist to your local playlist collection"
msgstr ""

#: ../melon/browse/search.py:44
msgid "No results"
msgstr ""

#: ../melon/browse/search.py:46
#, python-brace-format
msgid "{count} result"
msgid_plural "{count} results"
msgstr[0] ""
msgstr[1] ""

#: ../melon/browse/search.py:59
msgid "There are no available servers, a search would yield no results"
msgstr ""

#: ../melon/browse/search.py:83 ../melon/browse/server.py:43
msgid "Any"
msgstr ""

#: ../melon/browse/search.py:85 ../melon/browse/server.py:45
msgid "Channels"
msgstr ""

#: ../melon/browse/search.py:88 ../melon/browse/server.py:48
#: ../melon/home/playlists.py:32 ../melon/home/playlists.py:64
#: ../melon/servers/nebula/__init__.py:200
#: ../melon/servers/peertube/__init__.py:205
msgid "Playlists"
msgstr ""

#: ../melon/browse/search.py:91 ../melon/browse/server.py:51
#: ../melon/servers/nebula/__init__.py:194
#: ../melon/servers/peertube/__init__.py:204
#: ../melon/servers/peertube/__init__.py:208
msgid "Videos"
msgstr ""

#: ../melon/browse/server.py:23
msgid "Search"
msgstr ""

#: ../melon/browse/server.py:102
msgid "Try searching for a term"
msgstr ""

#: ../melon/browse/server.py:104
msgid "Try using a different query"
msgstr ""

#: ../melon/browse/server.py:126
msgid "This feed is empty"
msgstr ""

#: ../melon/home/history.py:24
msgid "You haven't watched any videos yet"
msgstr ""


@@ 75,13 231,6 @@ msgstr ""
msgid "Create a new playlist"
msgstr ""

#: ../melon/home/playlists.py:32 ../melon/home/playlists.py:64
#: ../melon/servers/nebula/__init__.py:200
#: ../melon/servers/peertube/__init__.py:205 ../melon/browse/search.py:88
#: ../melon/browse/server.py:48
msgid "Playlists"
msgstr ""

#: ../melon/home/playlists.py:33
msgid "Here are playlists you've bookmarked or created yourself"
msgstr ""


@@ 102,493 251,398 @@ msgstr ""
msgid "You are subscribed to the following channels"
msgstr ""

#: ../melon/settings/__init__.py:18
msgid "Show Previews when browsing public feeds (incl. search)"
#: ../melon/import_providers/newpipe.py:28
msgid "Newpipe Database importer"
msgstr ""

#: ../melon/settings/__init__.py:19
#: ../melon/import_providers/newpipe.py:29
msgid ""
"Set to true to show previews when viewing channel contents, public feeds and "
"searching"
"Import the .db file from inside the newpipe .zip export (as invidious "
"content)"
msgstr ""

#: ../melon/settings/__init__.py:25
msgid "Show Previews in local feeds"
#: ../melon/import_providers/newpipe.py:30
msgid "Select .db file"
msgstr ""

#: ../melon/settings/__init__.py:26
msgid ""
"Set to true to show previews in the new feed, for subscribed channels, and "
"saved playlists"
#: ../melon/import_providers/newpipe.py:45
msgid "Newpipe Database"
msgstr ""

#: ../melon/settings/__init__.py:32
msgid "Show servers that may contain nsfw content"
#: ../melon/importer.py:17 ../melon/importer.py:35
msgid "Import"
msgstr ""

#: ../melon/settings/__init__.py:33
msgid ""
"Lists/Delists servers in the browse servers list, if they contain some nsfw "
"content"
#: ../melon/importer.py:36
msgid "The following import methods have been found"
msgstr ""

#: ../melon/settings/__init__.py:38
msgid "Show servers that only contain nsfw content"
#: ../melon/importer.py:62
msgid "There are no available importer methods"
msgstr ""

#: ../melon/settings/__init__.py:39
msgid ""
"Lists/Delists servers in the browse servers list, if they contain only/"
"mostly nsfw content"
#: ../melon/player/__init__.py:65
msgid "Quality"
msgstr ""

#: ../melon/settings/__init__.py:45
msgid "Show servers that require login"
#: ../melon/player/__init__.py:66
msgid "Video quality"
msgstr ""

#: ../melon/settings/__init__.py:46
msgid ""
"Lists/Delists servers in the browse servers list, if they require login to "
"function"
#: ../melon/player/__init__.py:76
msgid "Description"
msgstr ""

#: ../melon/settings/__init__.py:55
msgid "Settings"
#: ../melon/player/__init__.py:92
msgid "Add this video to a playlist"
msgstr ""

#: ../melon/settings/__init__.py:68
msgid "General"
#: ../melon/playlist/__init__.py:39
msgid "Edit"
msgstr ""

#: ../melon/settings/__init__.py:69
msgid "Global app settings"
#: ../melon/playlist/__init__.py:45
msgid "You haven't added any videos to this playlist yet"
msgstr ""

#: ../melon/settings/__init__.py:93
msgid "Enable Server"
#: ../melon/playlist/__init__.py:47
msgid "Start watching"
msgstr ""

#: ../melon/settings/__init__.py:94
msgid ""
"Disabled servers won't show up in the browser or on the local/home screen"
#: ../melon/playlist/__init__.py:77
msgid "Edit Playlist"
msgstr ""

#: ../melon/servers/invidious/__init__.py:27
msgid "Open source alternative front-end to YouTube"
#: ../melon/playlist/__init__.py:83
msgid "Playlist details"
msgstr ""

#: ../melon/servers/invidious/__init__.py:32
msgid "Instance"
#: ../melon/playlist/__init__.py:84
msgid "Change playlist information"
msgstr ""

#: ../melon/servers/invidious/__init__.py:33
msgid ""
"See https://docs.invidious.io/instances/ for a list of available instances"
#: ../melon/playlist/__init__.py:86 ../melon/playlist/create.py:38
msgid "Playlist name"
msgstr ""

#: ../melon/servers/invidious/__init__.py:44
msgid "Trending"
#: ../melon/playlist/__init__.py:89 ../melon/playlist/create.py:41
msgid "Playlist description"
msgstr ""

#: ../melon/servers/invidious/__init__.py:45
msgid "Popular"
#: ../melon/playlist/__init__.py:94
msgid "Save details"
msgstr ""

#: ../melon/servers/nebula/__init__.py:19
msgid ""
"Home of smart, thoughtful videos, podcasts, and classes from your favorite "
"creators"
#: ../melon/playlist/__init__.py:95
msgid "Change playlist title and description. (Closes the dialog)"
msgstr ""

#: ../melon/servers/nebula/__init__.py:24
msgid "Email Address"
#: ../melon/playlist/__init__.py:105 ../melon/playlist/__init__.py:147
msgid "Delete Playlist"
msgstr ""

#: ../melon/servers/nebula/__init__.py:25
msgid "Email Address to login to your account"
#: ../melon/playlist/__init__.py:106
msgid "Delete this playlist and it's content. This can NOT be undone."
msgstr ""

#: ../melon/servers/nebula/__init__.py:31
msgid "Password"
#: ../melon/playlist/__init__.py:117
msgid "Close"
msgstr ""

#: ../melon/servers/nebula/__init__.py:32
msgid "Password associated with your account"
#: ../melon/playlist/__init__.py:117
msgid "Close without chaning anything"
msgstr ""

#: ../melon/servers/nebula/__init__.py:37
msgid ".m3u8 Player"
#: ../melon/playlist/__init__.py:150
msgid "Do you really wan't to delete this playlist?"
msgstr ""

#: ../melon/servers/nebula/__init__.py:38
#, python-format
msgid "valid .m3u8 web-pased player url. %s will be replaced with playlist url"
#: ../melon/playlist/__init__.py:151
msgid "This cannot be undone"
msgstr ""

#: ../melon/servers/nebula/__init__.py:194
#: ../melon/servers/peertube/__init__.py:204
#: ../melon/servers/peertube/__init__.py:208 ../melon/browse/search.py:91
#: ../melon/browse/server.py:51
msgid "Videos"
msgstr ""

#: ../melon/servers/peertube/__init__.py:15
msgid "Decentralized video hosting network, based on free/libre software"
msgstr ""

#: ../melon/servers/peertube/__init__.py:20
msgid "Instances"
msgstr ""

#: ../melon/servers/peertube/__init__.py:21
msgid ""
"List of peertube instances, from which to fetch content. See https://"
"joinpeertube.org/instances"
msgstr ""

#: ../melon/servers/peertube/__init__.py:27
msgid "Show NSFW content"
msgstr ""

#: ../melon/servers/peertube/__init__.py:28
msgid "Passes the nsfw filter to the peertube search API"
msgstr ""

#: ../melon/servers/peertube/__init__.py:33
msgid "Enable Federation"
msgstr ""

#: ../melon/servers/peertube/__init__.py:34
msgid "Returns content from federated instances instead of only local content"
msgstr ""

#: ../melon/servers/peertube/__init__.py:58
msgid "Latest"
msgstr ""

#: ../melon/widgets/preferencerow.py:115
msgid "Add"
msgstr ""

#: ../melon/widgets/preferencerow.py:129
msgid "Move up"
msgstr ""

#: ../melon/widgets/preferencerow.py:140
msgid "Move down"
msgstr ""

#: ../melon/widgets/preferencerow.py:149
msgid "Remove from list"
msgstr ""

#: ../melon/widgets/preferencerow.py:162
msgid "Add Item"
msgstr ""

#: ../melon/widgets/preferencerow.py:165
msgid "Create a new list entry"
msgstr ""

#: ../melon/widgets/preferencerow.py:166
msgid "Enter the new value here"
msgstr ""

#: ../melon/widgets/preferencerow.py:169
msgid "Value"
msgstr ""

#: ../melon/widgets/preferencerow.py:174 ../melon/widgets/preferencerow.py:217
#: ../melon/playlist/create.py:48 ../melon/playlist/pick.py:86
#: ../melon/playlist/__init__.py:155
#: ../melon/playlist/__init__.py:155 ../melon/playlist/create.py:48
#: ../melon/playlist/pick.py:86 ../melon/widgets/preferencerow.py:174
#: ../melon/widgets/preferencerow.py:217
msgid "Cancel"
msgstr ""

#: ../melon/widgets/preferencerow.py:175 ../melon/playlist/create.py:49
msgid "Create"
#: ../melon/playlist/__init__.py:155
msgid "Do not delete the playlist"
msgstr ""

#: ../melon/widgets/preferencerow.py:206 ../melon/widgets/preferencerow.py:218
#: ../melon/playlist/__init__.py:156
#: ../melon/playlist/__init__.py:156 ../melon/widgets/preferencerow.py:206
#: ../melon/widgets/preferencerow.py:218
msgid "Delete"
msgstr ""

#: ../melon/widgets/preferencerow.py:209
msgid "Do you really want to delete this item?"
#: ../melon/playlist/__init__.py:156
msgid "Delete this playlist"
msgstr ""

#: ../melon/widgets/preferencerow.py:210
msgid "You won't be able to restore it afterwards"
#: ../melon/playlist/create.py:17 ../melon/playlist/create.py:34
msgid "New Playlist"
msgstr ""

#: ../melon/widgets/preferencerow.py:217
msgid "Do not remove item"
#: ../melon/playlist/create.py:24 ../melon/playlist/pick.py:28
msgid "Video"
msgstr ""

#: ../melon/widgets/preferencerow.py:218
msgid "Remove item from list"
#: ../melon/playlist/create.py:25
msgid "The following video will be added to the new playlist"
msgstr ""

#: ../melon/browse/channel.py:99
msgid "Subscribe to channel"
#: ../melon/playlist/create.py:35
msgid "Enter more playlist information"
msgstr ""

#: ../melon/browse/channel.py:100
msgid "Add latest uploads to home feed"
#: ../melon/playlist/create.py:39
msgid "Unnamed Playlist"
msgstr ""

#: ../melon/browse/channel.py:127
msgid "Channel feed"
#: ../melon/playlist/create.py:48 ../melon/playlist/pick.py:86
msgid "Do not create playlist"
msgstr ""

#: ../melon/browse/channel.py:128
msgid "This channel provides multiple feeds, choose which one to view"
#: ../melon/playlist/create.py:49 ../melon/widgets/preferencerow.py:175
msgid "Create"
msgstr ""

#: ../melon/browse/playlist.py:61 ../melon/player/__init__.py:91
msgid "Bookmark"
#: ../melon/playlist/create.py:49
msgid "Create playlist"
msgstr ""

#: ../melon/browse/playlist.py:62
msgid "Add Playlist to your local playlist collection"
#: ../melon/playlist/pick.py:23
msgid "Add to Playlist"
msgstr ""

#: ../melon/browse/__init__.py:19
msgid "There are no available servers"
#: ../melon/playlist/pick.py:29
msgid "The following video will be added to the playlist"
msgstr ""

#: ../melon/browse/__init__.py:21 ../melon/browse/search.py:61
#: ../melon/importer.py:64
msgid "Enable servers in the settings menu"
#: ../melon/playlist/pick.py:39
msgid "Add to playlist"
msgstr ""

#: ../melon/browse/__init__.py:29
msgid "Available Servers"
#: ../melon/playlist/pick.py:40
msgid ""
"Choose a playlist to add the video to. Note that you can only add videos to "
"local playlists, not external bookmarked ones"
msgstr ""

#: ../melon/browse/__init__.py:30
msgid "You can enable/disable and filter servers in the settings menu"
#: ../melon/playlist/pick.py:42
msgid "Create new playlist"
msgstr ""

#: ../melon/browse/__init__.py:48
msgid "Servers"
#: ../melon/playlist/pick.py:43
msgid "Create a new playlist and add the video to it"
msgstr ""

#: ../melon/browse/__init__.py:56 ../melon/browse/search.py:106
msgid "Global Search"
#: ../melon/servers/invidious/__init__.py:27
msgid "Open source alternative front-end to YouTube"
msgstr ""

#: ../melon/browse/search.py:44
msgid "No results"
#: ../melon/servers/invidious/__init__.py:32
msgid "Instance"
msgstr ""

#: ../melon/browse/search.py:46
#, python-brace-format
msgid "{count} result"
msgid_plural "{count} results"
msgstr[0] ""
msgstr[1] ""

#: ../melon/browse/search.py:59
msgid "There are no available servers, a search would yield no results"
#: ../melon/servers/invidious/__init__.py:33
msgid ""
"See https://docs.invidious.io/instances/ for a list of available instances"
msgstr ""

#: ../melon/browse/search.py:83 ../melon/browse/server.py:43
msgid "Any"
#: ../melon/servers/invidious/__init__.py:44
msgid "Trending"
msgstr ""

#: ../melon/browse/search.py:85 ../melon/browse/server.py:45
msgid "Channels"
#: ../melon/servers/invidious/__init__.py:45
msgid "Popular"
msgstr ""

#: ../melon/browse/server.py:23
msgid "Search"
#: ../melon/servers/nebula/__init__.py:19
msgid ""
"Home of smart, thoughtful videos, podcasts, and classes from your favorite "
"creators"
msgstr ""

#: ../melon/browse/server.py:102
msgid "Try searching for a term"
#: ../melon/servers/nebula/__init__.py:24
msgid "Email Address"
msgstr ""

#: ../melon/browse/server.py:104
msgid "Try using a different query"
#: ../melon/servers/nebula/__init__.py:25
msgid "Email Address to login to your account"
msgstr ""

#: ../melon/browse/server.py:126
msgid "This feed is empty"
#: ../melon/servers/nebula/__init__.py:31
msgid "Password"
msgstr ""

#: ../melon/player/__init__.py:65
msgid "Quality"
#: ../melon/servers/nebula/__init__.py:32
msgid "Password associated with your account"
msgstr ""

#: ../melon/player/__init__.py:66
msgid "Video quality"
#: ../melon/servers/nebula/__init__.py:37
msgid ".m3u8 Player"
msgstr ""

#: ../melon/player/__init__.py:76
msgid "Description"
#: ../melon/servers/nebula/__init__.py:38
#, python-format
msgid "valid .m3u8 web-pased player url. %s will be replaced with playlist url"
msgstr ""

#: ../melon/player/__init__.py:92
msgid "Add this video to a playlist"
#: ../melon/servers/peertube/__init__.py:15
msgid "Decentralized video hosting network, based on free/libre software"
msgstr ""

#: ../melon/playlist/create.py:17 ../melon/playlist/create.py:34
msgid "New Playlist"
#: ../melon/servers/peertube/__init__.py:20
msgid "Instances"
msgstr ""

#: ../melon/playlist/create.py:24 ../melon/playlist/pick.py:28
msgid "Video"
#: ../melon/servers/peertube/__init__.py:21
msgid ""
"List of peertube instances, from which to fetch content. See https://"
"joinpeertube.org/instances"
msgstr ""

#: ../melon/playlist/create.py:25
msgid "The following video will be added to the new playlist"
#: ../melon/servers/peertube/__init__.py:27
msgid "Show NSFW content"
msgstr ""

#: ../melon/playlist/create.py:35
msgid "Enter more playlist information"
#: ../melon/servers/peertube/__init__.py:28
msgid "Passes the nsfw filter to the peertube search API"
msgstr ""

#: ../melon/playlist/create.py:38 ../melon/playlist/__init__.py:86
msgid "Playlist name"
#: ../melon/servers/peertube/__init__.py:33
msgid "Enable Federation"
msgstr ""

#: ../melon/playlist/create.py:39
msgid "Unnamed Playlist"
#: ../melon/servers/peertube/__init__.py:34
msgid "Returns content from federated instances instead of only local content"
msgstr ""

#: ../melon/playlist/create.py:41 ../melon/playlist/__init__.py:89
msgid "Playlist description"
#: ../melon/servers/peertube/__init__.py:58
msgid "Latest"
msgstr ""

#: ../melon/playlist/create.py:48 ../melon/playlist/pick.py:86
msgid "Do not create playlist"
#: ../melon/settings/__init__.py:18
msgid "Show Previews when browsing public feeds (incl. search)"
msgstr ""

#: ../melon/playlist/create.py:49
msgid "Create playlist"
#: ../melon/settings/__init__.py:19
msgid ""
"Set to true to show previews when viewing channel contents, public feeds and "
"searching"
msgstr ""

#: ../melon/playlist/pick.py:23
msgid "Add to Playlist"
#: ../melon/settings/__init__.py:25
msgid "Show Previews in local feeds"
msgstr ""

#: ../melon/playlist/pick.py:29
msgid "The following video will be added to the playlist"
#: ../melon/settings/__init__.py:26
msgid ""
"Set to true to show previews in the new feed, for subscribed channels, and "
"saved playlists"
msgstr ""

#: ../melon/playlist/pick.py:39
msgid "Add to playlist"
#: ../melon/settings/__init__.py:32
msgid "Show servers that may contain nsfw content"
msgstr ""

#: ../melon/playlist/pick.py:40
#: ../melon/settings/__init__.py:33
msgid ""
"Choose a playlist to add the video to. Note that you can only add videos to "
"local playlists, not external bookmarked ones"
msgstr ""

#: ../melon/playlist/pick.py:42
msgid "Create new playlist"
"Lists/Delists servers in the browse servers list, if they contain some nsfw "
"content"
msgstr ""

#: ../melon/playlist/pick.py:43
msgid "Create a new playlist and add the video to it"
#: ../melon/settings/__init__.py:38
msgid "Show servers that only contain nsfw content"
msgstr ""

#: ../melon/playlist/__init__.py:39
msgid "Edit"
#: ../melon/settings/__init__.py:39
msgid ""
"Lists/Delists servers in the browse servers list, if they contain only/"
"mostly nsfw content"
msgstr ""

#: ../melon/playlist/__init__.py:45
msgid "You haven't added any videos to this playlist yet"
#: ../melon/settings/__init__.py:45
msgid "Show servers that require login"
msgstr ""

#: ../melon/playlist/__init__.py:47
msgid "Start watching"
#: ../melon/settings/__init__.py:46
msgid ""
"Lists/Delists servers in the browse servers list, if they require login to "
"function"
msgstr ""

#: ../melon/playlist/__init__.py:77
msgid "Edit Playlist"
#: ../melon/settings/__init__.py:55
msgid "Settings"
msgstr ""

#: ../melon/playlist/__init__.py:83
msgid "Playlist details"
#: ../melon/settings/__init__.py:68
msgid "General"
msgstr ""

#: ../melon/playlist/__init__.py:84
msgid "Change playlist information"
#: ../melon/settings/__init__.py:69
msgid "Global app settings"
msgstr ""

#: ../melon/playlist/__init__.py:94
msgid "Save details"
#: ../melon/settings/__init__.py:93
msgid "Enable Server"
msgstr ""

#: ../melon/playlist/__init__.py:95
msgid "Change playlist title and description. (Closes the dialog)"
#: ../melon/settings/__init__.py:94
msgid ""
"Disabled servers won't show up in the browser or on the local/home screen"
msgstr ""

#: ../melon/playlist/__init__.py:105 ../melon/playlist/__init__.py:147
msgid "Delete Playlist"
#: ../melon/widgets/preferencerow.py:115
msgid "Add"
msgstr ""

#: ../melon/playlist/__init__.py:106
msgid "Delete this playlist and it's content. This can NOT be undone."
#: ../melon/widgets/preferencerow.py:129
msgid "Move up"
msgstr ""

#: ../melon/playlist/__init__.py:117
msgid "Close"
#: ../melon/widgets/preferencerow.py:140
msgid "Move down"
msgstr ""

#: ../melon/playlist/__init__.py:117
msgid "Close without chaning anything"
#: ../melon/widgets/preferencerow.py:149
msgid "Remove from list"
msgstr ""

#: ../melon/playlist/__init__.py:150
msgid "Do you really wan't to delete this playlist?"
#: ../melon/widgets/preferencerow.py:162
msgid "Add Item"
msgstr ""

#: ../melon/playlist/__init__.py:151
msgid "This cannot be undone"
#: ../melon/widgets/preferencerow.py:165
msgid "Create a new list entry"
msgstr ""

#: ../melon/playlist/__init__.py:155
msgid "Do not delete the playlist"
#: ../melon/widgets/preferencerow.py:166
msgid "Enter the new value here"
msgstr ""

#: ../melon/playlist/__init__.py:156
msgid "Delete this playlist"
#: ../melon/widgets/preferencerow.py:169
msgid "Value"
msgstr ""

#: ../melon/import_providers/newpipe.py:28
msgid "Newpipe Database importer"
#: ../melon/widgets/preferencerow.py:209
msgid "Do you really want to delete this item?"
msgstr ""

#: ../melon/import_providers/newpipe.py:29
msgid ""
"Import the .db file from inside the newpipe .zip export (as invidious "
"content)"
#: ../melon/widgets/preferencerow.py:210
msgid "You won't be able to restore it afterwards"
msgstr ""

#: ../melon/import_providers/newpipe.py:30
msgid "Select .db file"
#: ../melon/widgets/preferencerow.py:217
msgid "Do not remove item"
msgstr ""

#: ../melon/import_providers/newpipe.py:45
msgid "Newpipe Database"
#: ../melon/widgets/preferencerow.py:218
msgid "Remove item from list"
msgstr ""

#: ../melon/window.py:81
msgid "Stream videos on the go"
msgstr ""

#: ../melon/importer.py:17 ../melon/importer.py:35
msgid "Import"
msgstr ""

#: ../melon/importer.py:36
msgid "The following import methods have been found"
msgstr ""

#: ../melon/importer.py:62
msgid "There are no available importer methods"
msgstr ""

M po/update_potfiles.sh => po/update_potfiles.sh +31 -6
@@ 8,13 8,38 @@ find ../melon -iname "*.py" | \
    --package-name=Melon \
    --package-version=$version \
    --from-code=UTF-8 \
    --output=melon.pot
    --output=melon-python.pot

echo data/icu.ccw.Melon.desktop.in > POTFILES.in
find ../melon -iname "*.py" | \
    xargs -n 1 grep -H "import gettext" | \
    cut -d':' -f1 | \
    cut -d'/' -f2- >> POTFILES.in
find ../data/ -iname "*.desktop.in" | \
    xargs xgettext \
    --package-name=Melon \
    --package-version=$version \
    --from-code=UTF-8 \
    --output=melon-desktop.pot \
    -L Desktop
find ../data/ -iname "*.metainfo.xml.in.in" | \
    xargs xgettext \
    --no-wrap \
    --package-name=Melon \
    --package-version=$version \
    --from-code=UTF-8 --output=melon-metainfo.pot

msgcat \
    --sort-by-file \
    --use-first \
    --output-file=melon.pot \
    melon-python.pot \
    melon-desktop.pot \
    melon-metainfo.pot

rm melon-*.pot

cat melon.pot | \
    grep "^#:" | \
    cut -d: -f2 | \
    cut -d'/' -f2- | \
    sort | \
    uniq > POTFILES.in

echo "# Please keep this list alphabetically sorted" > LINGUAS
for l in $(find -iname '*.po'); do basename $l .po >> LINGUAS; done