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