Projects
Multimedia
gpodder3
Sign Up
Log In
Username
Password
We truncated the diff of some files because they were too big. If you want to see the full diff for every file,
click here
.
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
Expand all
Collapse all
Changes of Revision 25
View file
gpodder3.changes
Changed
@@ -1,4 +1,48 @@ ------------------------------------------------------------------- +Mon Jun 7 06:21:17 UTC 2021 - Fridrich Strba <fridrich.strba@bluewin.ch> + +- Update to 3.10.20 + * Improvements + + #934 add more episode details to shownotes + + #949 allow episodes with youtube-dl compatible URLs + + #983 show channel or episode titles in delete dialog + + #990 never delete locked episodes + + #996 do not attempt to download episodes that lack an URL + + #1001 add funding link on github project page + + #1015 add checkbox to disable connection checking + + #1018 build gPodder bundle from tools/mac-osx and downloaded + generic bundle + + #1028 create config file with group/world permissions revoked + + #1030 improve channel and episode searching + + #1031 allow a narrower podcast directory window + + #1035 make refreshing channel image more discoverable and + easier to do + + #1037 cancel failed download in progress tab when deleting + episode + + #1039 show error icon on episodes that fail to download + + #1040 show section if any of its channels have an update error + + #1044 improve Youtube streaming + + #1047 use latest Youtube-DL for Windows builds (Mac builds did + the same in #1018) + + #1055 subscribe to Youtube channels via video pages + + support dragging HTTPS URLs to image in channel dialog + * Bug fixes + + #991 properly toggle deleted episodes to new + + #1015 fix connection checking for some linux users + + #1034 fix dragging an image URL to image in channel dialog + + #1043 fix internal Youtube support + + #1059 using audio formats with Youtube-DL will show audio icon + and use audio player + + #1060 add tools/requirements.txt (should fix socks proxy in + flatpak) + + fix "Open" item on episode context menu and give it an icon + + skip 'best' Youtube formats when using built-in support + + bump required youtube-dl version to 2021.02.04 + * Translations + + Norwegian Nynorsk + + Dutch + +------------------------------------------------------------------- Mon Apr 19 07:50:18 UTC 2021 - Fridrich Strba <fridrich.strba@bluewin.ch> - Update to 3.10.19
View file
gpodder3.spec
Changed
@@ -18,7 +18,7 @@ Name: gpodder3 -Version: 3.10.19 +Version: 3.10.20 Release: 0 Summary: A free podcast aggregator for Linux License: GPL-3.0-or-later
View file
3.10.19.tar.gz/tools/mac-osx/Info-10.4.plist
Deleted
@@ -1,56 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" - "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> -<plist version="1.0"> - <dict> - <key>CFBundleName</key> - <string>gPodder</string> - <key>CFBundleShortVersionString</key> - <string>__VERSION__</string> - <key>CFBundleGetInfoString</key> - <string>gPodder v__VERSION__</string> - <key>CFBundleAllowMixedLocalizations</key> - <string>false</string> - <key>CFBundleInfoDictionaryVersion</key> - <string>6.0</string> - <key>CFBundleExecutable</key> - <string>gpodder</string> - <key>CFBundleDevelopmentRegion</key> - <string>English</string> - <key>CFBundlePackageType</key> - <string>APPL</string> - <key>CFBundleSignature</key> - <string>GPOD</string> - <key>CFBundleVersion</key> - <string>__VERSION__</string> - <key>CFBundleIconFile</key> - <string>icon.icns</string> - <key>CFBundleIdentifier</key> - <string>org.gpodder.gpodder</string> - <key>LSEnvironment</key> - <dict> - <key>DISPLAY</key> - <string>:0</string> - </dict> - <key>CFBundleDocumentTypes</key> - <array> - <dict> - <key>CFBundleTypeExtensions</key> - <array> - <string>opml</string> - <string>xml</string> - </array> - <key>CFBundleTypeMIMETypes</key> - <array> - <string>text/xml</string> - <string>application/xml</string> - <string>text/x-opml</string> - </array> - <key>CFBundleTypeName</key> - <string>OPML Documents</string> - <key>CFBundleTypeRole</key> - <string>Viewer</string> - </dict> - </array> - </dict> -</plist>
View file
3.10.19.tar.gz/tools/mac-osx/PkgInfo
Deleted
@@ -1,1 +0,0 @@ -APPL????
View file
3.10.19.tar.gz/tools/mac-osx/makefile
Deleted
@@ -1,63 +0,0 @@ -# -# gPodder - A media aggregator and podcast client -# Copyright (c) 2005-2018 The gPodder Team -# -# gPodder is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 3 of the License, or -# (at your option) any later version. -# -# gPodder is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program. If not, see <http://www.gnu.org/licenses/>. -# -# -# the installed path of the gpodder script -GPODDERSCRIPT=/Users/elelay/misc/macports/svnlocal_dports/gnome/gpodder/gpodder/bin/gpodder -# the /Applications directory -APPLICATIONSDIR=/tmp/Applications -APPDIR=$(APPLICATIONSDIR)/gPodder.app -BINDIR=$(APPDIR)/Contents/MacOS -RESOURCESDIR=$(APPDIR)/Contents/Resources -# current version of gPodder -VERSION=2.3 - -# set OSXVERSION to darwin8 to get the Mac OS X Tiger version of the plist. -OSXVERSION=darwin8 -ifeq ($(OSXVERSION),darwin8) -PLIST=Info-10.4.plist -else -PLIST=Info.plist -endif - -all:$(BINDIR)/gpodder\ - $(RESOURCESDIR)/icon.icns\ - $(APPDIR)/Contents/PkgInfo\ - $(APPDIR)/Contents/Info.plist - -$(BINDIR): - mkdir -p $(BINDIR) - -$(RESOURCESDIR): - mkdir -p $(RESOURCESDIR) - -$(BINDIR)/gpodder: ../../bin/gpodder $(BINDIR) - ln -s $(GPODDERSCRIPT) $@ - -$(RESOURCESDIR)/icon.icns: icon.icns $(RESOURCESDIR) - install $< $@ - -$(APPDIR)/Contents/PkgInfo: PkgInfo $(RESOURCESDIR) - install $< $@ - -$(APPDIR)/Contents/Info.plist: $(PLIST) $(APPDIR)/Contents - sed "s|__VERSION__|$(VERSION)|g" $< > $@ - -clean: - rm -rf $(APPDIR) - -.PHONY: all clean dirs
View file
3.10.19.tar.gz/.circleci/config.yml -> 3.10.20.tar.gz/.circleci/config.yml
Changed
@@ -1,28 +1,31 @@ # :noTabs=true:mode=yaml:tabSize=2:indentSize=2: version: 2 jobs: - release-from-linux: - docker: - # important: must be same as mac bundle's python - - image: python:3.8 - environment: - - BUNDLE_TAG: base-5.2.4 + release-from-macos: + macos: + xcode: "9.4.1" shell: /bin/bash --login -o pipefail + environment: + - BUNDLE_TAG: 21.4.27 steps: - checkout - - run: apt-get update && DEBIAN_FRONTEND=noninteractive apt-get install -y intltool unzip xsltproc zip - - run: git clone --depth 1 --branch master https://github.com/gpodder/gpodder-osx-bundle.git - - run: cd gpodder-osx-bundle && mkdir _build && cd _build - - run: cd gpodder-osx-bundle/_build && wget "https://github.com/gpodder/gpodder-osx-bundle/releases/download/$BUNDLE_TAG/gPodder-$BUNDLE_TAG.deps.zip" - - run: cd gpodder-osx-bundle/_build && wget "https://github.com/gpodder/gpodder-osx-bundle/releases/download/$BUNDLE_TAG/gPodder-$BUNDLE_TAG.deps.zip.sha256" - - run: cd gpodder-osx-bundle/_build && sha256sum -c "gPodder-$BUNDLE_TAG.deps.zip.sha256" - - run: cd gpodder-osx-bundle && LANG=C.UTF-8 ./release_on_linux.sh "/root/project/gpodder-osx-bundle/_build/gPodder-$BUNDLE_TAG.deps.zip" "/root/project" - - run: rm -Rf gpodder-osx-bundle/_build/gPodder.app/ gpodder-osx-bundle/_build/*.deps.zip* gpodder-osx-bundle/_build/gPodder.contents + - run: > + curl -L -o "pythonbase-$BUNDLE_TAG.zip" "https://github.com/gpodder/gpodder-osx-bundle/releases/download/$BUNDLE_TAG/pythonbase-$BUNDLE_TAG.zip"; + curl -L -o "pythonbase-$BUNDLE_TAG.zip.sha256" "https://github.com/gpodder/gpodder-osx-bundle/releases/download/$BUNDLE_TAG/pythonbase-$BUNDLE_TAG.zip.sha256"; + saved_hash=$(awk '{print $1;}' < "pythonbase-$BUNDLE_TAG.zip.sha256"); + comp_hash=$(openssl sha256 "pythonbase-$BUNDLE_TAG.zip" | awk '{print $2;}'); + if [ "$saved_hash" != "$comp_hash" ]; then echo "E: $saved_hash != $comp_hash"; exit 1; else echo "valid hash"; fi; + LC_CTYPE=C.UTF-8 LANG=C.UTF-8 tools/mac-osx/release_on_mac.sh "$(pwd)/pythonbase-$BUNDLE_TAG.zip"; + rm -Rf tools/mac-osx/_build/{gPodder.app,*.deps.zip*,gPodder.contents,run-*,gpo,gpodder-migrate2tres} - store_artifacts: - path: /root/project/gpodder-osx-bundle/_build + path: tools/mac-osx/_build/ workflows: version: 2 build-bundle: jobs: - - release-from-linux + - release-from-macos: + filters: + branches: + ignore: + - adaptive
View file
3.10.20.tar.gz/.github
Added
+(directory)
View file
3.10.20.tar.gz/.github/FUNDING.yml
Added
@@ -0,0 +1,12 @@ +# These are supported funding model platforms + +github: # Replace with up to 4 GitHub Sponsors-enabled usernames e.g., [user1, user2] +patreon: # Replace with a single Patreon username +open_collective: # Replace with a single Open Collective username +ko_fi: # Replace with a single Ko-fi username +tidelift: # Replace with a single Tidelift platform-name/package-name e.g., npm/babel +community_bridge: # Replace with a single Community Bridge project-name e.g., cloud-foundry +liberapay: # Replace with a single Liberapay username +issuehunt: # Replace with a single IssueHunt username +otechie: # Replace with a single Otechie username +custom: ['https://gpodder.net/contribute/'] # Replace with up to 4 custom sponsorship URLs e.g., ['link1', 'link2']
View file
3.10.19.tar.gz/README.md -> 3.10.20.tar.gz/README.md
Changed
@@ -219,4 +219,4 @@ - Homepage: http://gpodder.org/ - Bug tracker: https://github.com/gpodder/gpodder/issues - Mailing list: http://freelists.org/list/gpodder -- IRC channel: #gpodder on irc.freenode.net +- IRC channel: #gpodder on irc.libera.chat
View file
3.10.19.tar.gz/bin/gpo -> 3.10.20.tar.gz/bin/gpo
Changed
@@ -828,21 +828,20 @@ line = input(msg) return not line or (line.lower() == _('yes')) - def _delete_episode_list(episodes, confirm=True, skip_locked=True, callback=None): + def _delete_episode_list(episodes, confirm=True, callback=None): if not episodes: return False - if skip_locked: - episodes = [e for e in episodes if not e.archive] + episodes = [e for e in episodes if not e.archive] - if not episodes: - title = _('Episodes are locked') - message = _( - 'The selected episodes are locked. Please unlock the ' - 'episodes that you want to delete before trying ' - 'to delete them.') - _notification(message, title) - return False + if not episodes: + title = _('Episodes are locked') + message = _( + 'The selected episodes are locked. Please unlock the ' + 'episodes that you want to delete before trying ' + 'to delete them.') + _notification(message, title) + return False count = len(episodes) title = N_('Delete %(count)d episode?', 'Delete %(count)d episodes?', @@ -863,7 +862,7 @@ episodes_status_update = [] for idx, episode in enumerate(episodes): - if not episode.archive or not skip_locked: + if not episode.archive: self._start_action(_('Deleting episode: %(episode)s') % { 'episode': episode.title}) episode.delete_from_disk()
View file
3.10.19.tar.gz/po/ca.po -> 3.10.20.tar.gz/po/ca.po
Changed
@@ -7,7 +7,7 @@ msgstr "" "Project-Id-Version: gPodder\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-04-15 02:02-0600\n" +"POT-Creation-Date: 2021-06-06 20:20-0600\n" "PO-Revision-Date: 2013-01-19 12:31+0000\n" "Last-Translator: Thomas Perl <m@thp.io>\n" "Language-Team: Catalan (http://www.transifex.com/projects/p/gpodder/language/" @@ -18,7 +18,7 @@ "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: src/gpodder/config.py:54 +#: src/gpodder/config.py:53 #, python-format msgid "gPodder on %s" msgstr "" @@ -64,59 +64,63 @@ msgid "Imported OPML file" msgstr "" -#: src/gpodder/download.py:538 src/gpodder/sync.py:974 +#: src/gpodder/download.py:541 src/gpodder/sync.py:974 msgid "Added" msgstr "" -#: src/gpodder/download.py:538 src/gpodder/sync.py:974 +#: src/gpodder/download.py:541 src/gpodder/sync.py:974 msgid "Queued" msgstr "" -#: src/gpodder/download.py:538 src/gpodder/gtkui/model.py:381 +#: src/gpodder/download.py:541 src/gpodder/gtkui/model.py:382 msgid "Downloading" msgstr "" -#: src/gpodder/download.py:539 src/gpodder/model.py:758 src/gpodder/sync.py:975 +#: src/gpodder/download.py:542 src/gpodder/model.py:772 src/gpodder/sync.py:975 msgid "Finished" msgstr "" -#: src/gpodder/download.py:539 src/gpodder/sync.py:975 +#: src/gpodder/download.py:542 src/gpodder/sync.py:975 msgid "Failed" msgstr "" -#: src/gpodder/download.py:539 src/gpodder/sync.py:975 +#: src/gpodder/download.py:542 src/gpodder/sync.py:975 msgid "Cancelled" msgstr "" -#: src/gpodder/download.py:539 src/gpodder/sync.py:975 +#: src/gpodder/download.py:542 src/gpodder/sync.py:975 msgid "Paused" msgstr "" -#: src/gpodder/download.py:858 +#: src/gpodder/download.py:864 +msgid "Episode has no URL to download" +msgstr "" + +#: src/gpodder/download.py:867 msgid "Missing content from server" msgstr "" -#: src/gpodder/download.py:864 +#: src/gpodder/download.py:873 #, python-format msgid "Couldn't connect to server %(host)s:%(port)s" msgstr "" -#: src/gpodder/download.py:873 +#: src/gpodder/download.py:882 #, python-format msgid "Request Error: %(error)s" msgstr "" -#: src/gpodder/download.py:879 +#: src/gpodder/download.py:888 #, python-format msgid "I/O Error: %(error)s: %(filename)s" msgstr "" -#: src/gpodder/download.py:886 +#: src/gpodder/download.py:895 #, python-format msgid "HTTP Error %(code)s: %(message)s" msgstr "" -#: src/gpodder/download.py:890 src/gpodder/sync.py:1130 +#: src/gpodder/download.py:899 src/gpodder/sync.py:1130 #, python-format msgid "Error: %s" msgstr "" @@ -133,8 +137,8 @@ msgid "Post download" msgstr "" -#: src/gpodder/extensions.py:59 src/gpodder/model.py:822 -#: src/gpodder/model.py:1236 +#: src/gpodder/extensions.py:59 src/gpodder/model.py:836 +#: src/gpodder/model.py:1250 msgid "Other" msgstr "" @@ -157,41 +161,41 @@ msgid "Python module not found: %(module)s" msgstr "" -#: src/gpodder/model.py:483 src/gpodder/youtube.py:445 +#: src/gpodder/model.py:496 src/gpodder/youtube.py:457 #: src/gpodder/plugins/soundcloud.py:152 -#: share/gpodder/extensions/youtube-dl.py:211 +#: share/gpodder/extensions/youtube-dl.py:215 msgid "No description available" msgstr "" -#: src/gpodder/model.py:716 +#: src/gpodder/model.py:730 msgid "unknown" msgstr "" -#: src/gpodder/model.py:787 +#: src/gpodder/model.py:801 msgid "Default" msgstr "" -#: src/gpodder/model.py:788 +#: src/gpodder/model.py:802 msgid "Only keep latest" msgstr "" -#: src/gpodder/model.py:1219 src/gpodder/model.py:1234 +#: src/gpodder/model.py:1233 src/gpodder/model.py:1248 #: share/gpodder/ui/gtk/gpodderpreferences.ui.h:10 msgid "Video" msgstr "" -#: src/gpodder/model.py:1232 +#: src/gpodder/model.py:1246 msgid "Audio" msgstr "" -#: src/gpodder/model.py:1411 +#: src/gpodder/model.py:1425 #, python-format msgid "" "Warning: path to gPodder home (%(root)s) is very long and can result in " "failure to download files.\n" msgstr "" -#: src/gpodder/model.py:1413 +#: src/gpodder/model.py:1427 msgid "You're advised to set it to a shorter path." msgstr "" @@ -331,8 +335,8 @@ msgstr "" #: src/gpodder/syncui.py:270 src/gpodder/gtkui/main.py:837 -#: src/gpodder/gtkui/main.py:1016 src/gpodder/gtkui/main.py:2896 -#: src/gpodder/gtkui/main.py:3103 +#: src/gpodder/gtkui/main.py:1016 src/gpodder/gtkui/main.py:2917 +#: src/gpodder/gtkui/main.py:3128 #: src/gpodder/gtkui/desktop/episodeselector.py:131 msgid "Episode" msgstr "" @@ -603,7 +607,8 @@ msgid "Feedparser error: %s" msgstr "" -#: src/gpodder/gtkui/main.py:1336 src/gpodder/gtkui/model.py:770 +#: src/gpodder/gtkui/main.py:1336 src/gpodder/gtkui/model.py:454 +#: src/gpodder/gtkui/model.py:783 src/gpodder/gtkui/desktop/channel.py:83 #, python-format msgid "ERROR: %s" msgstr "" @@ -643,14 +648,15 @@ msgid "Start download now" msgstr "" -#: src/gpodder/gtkui/main.py:1637 src/gpodder/gtkui/main.py:1919 +#: src/gpodder/gtkui/main.py:1637 src/gpodder/gtkui/main.py:1924 #: src/gpodder/gtkui/desktop/episodeselector.py:140 -#: src/gpodder/gtkui/desktop/podcastdirectory.py:192 +#: src/gpodder/gtkui/desktop/podcastdirectory.py:193 #: share/gpodder/ui/gtk/gpodder.ui.h:1 share/gpodder/ui/gtk/menus.ui.h:23 msgid "Download" msgstr "" #: src/gpodder/gtkui/main.py:1642 share/gpodder/ui/gtk/gpodder.ui.h:2 +#: share/gpodder/ui/gtk/gpodderpodcastdirectory.ui.h:6 #: share/gpodder/ui/gtk/menus.ui.h:24 msgid "Cancel" msgstr "" @@ -683,472 +689,482 @@ msgid "Mark episodes as old" msgstr ""
View file
3.10.19.tar.gz/po/cs.po -> 3.10.20.tar.gz/po/cs.po
Changed
@@ -7,7 +7,7 @@ msgstr "" "Project-Id-Version: gPodder\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-04-15 02:02-0600\n" +"POT-Creation-Date: 2021-06-06 20:20-0600\n" "PO-Revision-Date: 2013-01-19 12:31+0000\n" "Last-Translator: Thomas Perl <m@thp.io>\n" "Language-Team: Czech (http://www.transifex.com/projects/p/gpodder/language/" @@ -18,7 +18,7 @@ "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n" -#: src/gpodder/config.py:54 +#: src/gpodder/config.py:53 #, fuzzy, python-format msgid "gPodder on %s" msgstr "gPodder nalezl %s" @@ -72,63 +72,68 @@ msgid "Imported OPML file" msgstr "Export do OPML" -#: src/gpodder/download.py:538 src/gpodder/sync.py:974 +#: src/gpodder/download.py:541 src/gpodder/sync.py:974 #, fuzzy msgid "Added" msgstr "Pokročilé" -#: src/gpodder/download.py:538 src/gpodder/sync.py:974 +#: src/gpodder/download.py:541 src/gpodder/sync.py:974 msgid "Queued" msgstr "Zařazeno do fronty" -#: src/gpodder/download.py:538 src/gpodder/gtkui/model.py:381 +#: src/gpodder/download.py:541 src/gpodder/gtkui/model.py:382 #, fuzzy msgid "Downloading" msgstr "stahování" -#: src/gpodder/download.py:539 src/gpodder/model.py:758 src/gpodder/sync.py:975 +#: src/gpodder/download.py:542 src/gpodder/model.py:772 src/gpodder/sync.py:975 msgid "Finished" msgstr "" -#: src/gpodder/download.py:539 src/gpodder/sync.py:975 +#: src/gpodder/download.py:542 src/gpodder/sync.py:975 #, fuzzy msgid "Failed" msgstr "Filtr:" -#: src/gpodder/download.py:539 src/gpodder/sync.py:975 +#: src/gpodder/download.py:542 src/gpodder/sync.py:975 #, fuzzy msgid "Cancelled" msgstr "Zrušit" -#: src/gpodder/download.py:539 src/gpodder/sync.py:975 +#: src/gpodder/download.py:542 src/gpodder/sync.py:975 msgid "Paused" msgstr "" -#: src/gpodder/download.py:858 +#: src/gpodder/download.py:864 +#, fuzzy +msgid "Episode has no URL to download" +msgstr "Označte epizody ke stažení." + +#: src/gpodder/download.py:867 msgid "Missing content from server" msgstr "" -#: src/gpodder/download.py:864 +#: src/gpodder/download.py:873 #, python-format msgid "Couldn't connect to server %(host)s:%(port)s" msgstr "" -#: src/gpodder/download.py:873 +#: src/gpodder/download.py:882 #, python-format msgid "Request Error: %(error)s" msgstr "" -#: src/gpodder/download.py:879 +#: src/gpodder/download.py:888 #, fuzzy, python-format msgid "I/O Error: %(error)s: %(filename)s" msgstr "Chyba otevírání %s: %s" -#: src/gpodder/download.py:886 +#: src/gpodder/download.py:895 #, fuzzy, python-format msgid "HTTP Error %(code)s: %(message)s" msgstr "Chyba otevírání %s: %s" -#: src/gpodder/download.py:890 src/gpodder/sync.py:1130 +#: src/gpodder/download.py:899 src/gpodder/sync.py:1130 #, fuzzy, python-format msgid "Error: %s" msgstr "Chyba otevírání %s: %s" @@ -147,8 +152,8 @@ msgid "Post download" msgstr "_Zrušit stahování" -#: src/gpodder/extensions.py:59 src/gpodder/model.py:822 -#: src/gpodder/model.py:1236 +#: src/gpodder/extensions.py:59 src/gpodder/model.py:836 +#: src/gpodder/model.py:1250 msgid "Other" msgstr "" @@ -172,42 +177,42 @@ msgid "Python module not found: %(module)s" msgstr "" -#: src/gpodder/model.py:483 src/gpodder/youtube.py:445 +#: src/gpodder/model.py:496 src/gpodder/youtube.py:457 #: src/gpodder/plugins/soundcloud.py:152 -#: share/gpodder/extensions/youtube-dl.py:211 +#: share/gpodder/extensions/youtube-dl.py:215 msgid "No description available" msgstr "Popis není dostupný" -#: src/gpodder/model.py:716 +#: src/gpodder/model.py:730 #, fuzzy msgid "unknown" msgstr "(neznámý)" -#: src/gpodder/model.py:787 +#: src/gpodder/model.py:801 msgid "Default" msgstr "" -#: src/gpodder/model.py:788 +#: src/gpodder/model.py:802 msgid "Only keep latest" msgstr "" -#: src/gpodder/model.py:1219 src/gpodder/model.py:1234 +#: src/gpodder/model.py:1233 src/gpodder/model.py:1248 #: share/gpodder/ui/gtk/gpodderpreferences.ui.h:10 msgid "Video" msgstr "" -#: src/gpodder/model.py:1232 +#: src/gpodder/model.py:1246 msgid "Audio" msgstr "" -#: src/gpodder/model.py:1411 +#: src/gpodder/model.py:1425 #, python-format msgid "" "Warning: path to gPodder home (%(root)s) is very long and can result in " "failure to download files.\n" msgstr "" -#: src/gpodder/model.py:1413 +#: src/gpodder/model.py:1427 msgid "You're advised to set it to a shorter path." msgstr "" @@ -358,8 +363,8 @@ msgstr "" #: src/gpodder/syncui.py:270 src/gpodder/gtkui/main.py:837 -#: src/gpodder/gtkui/main.py:1016 src/gpodder/gtkui/main.py:2896 -#: src/gpodder/gtkui/main.py:3103 +#: src/gpodder/gtkui/main.py:1016 src/gpodder/gtkui/main.py:2917 +#: src/gpodder/gtkui/main.py:3128 #: src/gpodder/gtkui/desktop/episodeselector.py:131 msgid "Episode" msgstr "Epizoda" @@ -660,7 +665,8 @@ msgid "Feedparser error: %s" msgstr "" -#: src/gpodder/gtkui/main.py:1336 src/gpodder/gtkui/model.py:770 +#: src/gpodder/gtkui/main.py:1336 src/gpodder/gtkui/model.py:454 +#: src/gpodder/gtkui/model.py:783 src/gpodder/gtkui/desktop/channel.py:83 #, python-format msgid "ERROR: %s" msgstr "" @@ -708,14 +714,15 @@ msgid "Start download now" msgstr "Limit rychlosti stahování na" -#: src/gpodder/gtkui/main.py:1637 src/gpodder/gtkui/main.py:1919 +#: src/gpodder/gtkui/main.py:1637 src/gpodder/gtkui/main.py:1924 #: src/gpodder/gtkui/desktop/episodeselector.py:140 -#: src/gpodder/gtkui/desktop/podcastdirectory.py:192 +#: src/gpodder/gtkui/desktop/podcastdirectory.py:193 #: share/gpodder/ui/gtk/gpodder.ui.h:1 share/gpodder/ui/gtk/menus.ui.h:23 msgid "Download" msgstr "Stáhnout" #: src/gpodder/gtkui/main.py:1642 share/gpodder/ui/gtk/gpodder.ui.h:2 +#: share/gpodder/ui/gtk/gpodderpodcastdirectory.ui.h:6 #: share/gpodder/ui/gtk/menus.ui.h:24
View file
3.10.19.tar.gz/po/cs_CZ.po -> 3.10.20.tar.gz/po/cs_CZ.po
Changed
@@ -12,7 +12,7 @@ msgstr "" "Project-Id-Version: gPodder\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-04-15 02:02-0600\n" +"POT-Creation-Date: 2021-06-06 20:20-0600\n" "PO-Revision-Date: 2013-03-05 15:01+0000\n" "Last-Translator: Thomas Perl <m@thp.io>\n" "Language-Team: Czech (Czech Republic) (http://www.transifex.com/projects/p/" @@ -23,7 +23,7 @@ "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n" -#: src/gpodder/config.py:54 +#: src/gpodder/config.py:53 #, python-format msgid "gPodder on %s" msgstr "gPodder na %s" @@ -77,60 +77,66 @@ msgid "Imported OPML file" msgstr "Importovat z OPML souboru" -#: src/gpodder/download.py:538 src/gpodder/sync.py:974 +#: src/gpodder/download.py:541 src/gpodder/sync.py:974 msgid "Added" msgstr "Přidáno" -#: src/gpodder/download.py:538 src/gpodder/sync.py:974 +#: src/gpodder/download.py:541 src/gpodder/sync.py:974 msgid "Queued" msgstr "Zařazeno do fronty" -#: src/gpodder/download.py:538 src/gpodder/gtkui/model.py:381 +#: src/gpodder/download.py:541 src/gpodder/gtkui/model.py:382 msgid "Downloading" msgstr "Stahování" -#: src/gpodder/download.py:539 src/gpodder/model.py:758 src/gpodder/sync.py:975 +#: src/gpodder/download.py:542 src/gpodder/model.py:772 src/gpodder/sync.py:975 msgid "Finished" msgstr "Dokončeno" -#: src/gpodder/download.py:539 src/gpodder/sync.py:975 +#: src/gpodder/download.py:542 src/gpodder/sync.py:975 msgid "Failed" msgstr "Selhalo" -#: src/gpodder/download.py:539 src/gpodder/sync.py:975 +#: src/gpodder/download.py:542 src/gpodder/sync.py:975 msgid "Cancelled" msgstr "Zrušeno" -#: src/gpodder/download.py:539 src/gpodder/sync.py:975 +#: src/gpodder/download.py:542 src/gpodder/sync.py:975 msgid "Paused" msgstr "Pozastaveno" -#: src/gpodder/download.py:858 +#: src/gpodder/download.py:864 +#, fuzzy +#| msgid "Select the episodes you want to download:" +msgid "Episode has no URL to download" +msgstr "Vyberte episody, které chcete stáhnout:" + +#: src/gpodder/download.py:867 msgid "Missing content from server" msgstr "Poznámky" -#: src/gpodder/download.py:864 +#: src/gpodder/download.py:873 #, python-format msgid "Couldn't connect to server %(host)s:%(port)s" msgstr "" -#: src/gpodder/download.py:873 +#: src/gpodder/download.py:882 #, fuzzy, python-format #| msgid "Syntax error: %(error)s" msgid "Request Error: %(error)s" msgstr "Chyba syntaxe: %(error)s" -#: src/gpodder/download.py:879 +#: src/gpodder/download.py:888 #, python-format msgid "I/O Error: %(error)s: %(filename)s" msgstr "Chyba vstupu/výstupu: %(error)s: %(filename)s" -#: src/gpodder/download.py:886 +#: src/gpodder/download.py:895 #, python-format msgid "HTTP Error %(code)s: %(message)s" msgstr "Chyba HTTP %(code)s: %(message)s" -#: src/gpodder/download.py:890 src/gpodder/sync.py:1130 +#: src/gpodder/download.py:899 src/gpodder/sync.py:1130 #, python-format msgid "Error: %s" msgstr "Chyba: %s" @@ -147,8 +153,8 @@ msgid "Post download" msgstr "Příspěvek ke stažení" -#: src/gpodder/extensions.py:59 src/gpodder/model.py:822 -#: src/gpodder/model.py:1236 +#: src/gpodder/extensions.py:59 src/gpodder/model.py:836 +#: src/gpodder/model.py:1250 msgid "Other" msgstr "Jiný" @@ -171,41 +177,41 @@ msgid "Python module not found: %(module)s" msgstr "Python modul %(module)s nebyl nalezen" -#: src/gpodder/model.py:483 src/gpodder/youtube.py:445 +#: src/gpodder/model.py:496 src/gpodder/youtube.py:457 #: src/gpodder/plugins/soundcloud.py:152 -#: share/gpodder/extensions/youtube-dl.py:211 +#: share/gpodder/extensions/youtube-dl.py:215 msgid "No description available" msgstr "Popis není k dispozici" -#: src/gpodder/model.py:716 +#: src/gpodder/model.py:730 msgid "unknown" msgstr "neznámý" -#: src/gpodder/model.py:787 +#: src/gpodder/model.py:801 msgid "Default" msgstr "Výchozí" -#: src/gpodder/model.py:788 +#: src/gpodder/model.py:802 msgid "Only keep latest" msgstr "Zachovat pouze poslední" -#: src/gpodder/model.py:1219 src/gpodder/model.py:1234 +#: src/gpodder/model.py:1233 src/gpodder/model.py:1248 #: share/gpodder/ui/gtk/gpodderpreferences.ui.h:10 msgid "Video" msgstr "Video" -#: src/gpodder/model.py:1232 +#: src/gpodder/model.py:1246 msgid "Audio" msgstr "Audio" -#: src/gpodder/model.py:1411 +#: src/gpodder/model.py:1425 #, python-format msgid "" "Warning: path to gPodder home (%(root)s) is very long and can result in " "failure to download files.\n" msgstr "" -#: src/gpodder/model.py:1413 +#: src/gpodder/model.py:1427 msgid "You're advised to set it to a shorter path." msgstr "" @@ -350,8 +356,8 @@ msgstr "" #: src/gpodder/syncui.py:270 src/gpodder/gtkui/main.py:837 -#: src/gpodder/gtkui/main.py:1016 src/gpodder/gtkui/main.py:2896 -#: src/gpodder/gtkui/main.py:3103 +#: src/gpodder/gtkui/main.py:1016 src/gpodder/gtkui/main.py:2917 +#: src/gpodder/gtkui/main.py:3128 #: src/gpodder/gtkui/desktop/episodeselector.py:131 msgid "Episode" msgstr "Epizoda" @@ -639,7 +645,8 @@ msgid "Feedparser error: %s" msgstr "Chyba při zpracování zdroje: %s" -#: src/gpodder/gtkui/main.py:1336 src/gpodder/gtkui/model.py:770 +#: src/gpodder/gtkui/main.py:1336 src/gpodder/gtkui/model.py:454 +#: src/gpodder/gtkui/model.py:783 src/gpodder/gtkui/desktop/channel.py:83 #, python-format msgid "ERROR: %s" msgstr "" @@ -680,14 +687,15 @@ msgid "Start download now" msgstr "Zahájit stahování" -#: src/gpodder/gtkui/main.py:1637 src/gpodder/gtkui/main.py:1919 +#: src/gpodder/gtkui/main.py:1637 src/gpodder/gtkui/main.py:1924 #: src/gpodder/gtkui/desktop/episodeselector.py:140 -#: src/gpodder/gtkui/desktop/podcastdirectory.py:192 +#: src/gpodder/gtkui/desktop/podcastdirectory.py:193 #: share/gpodder/ui/gtk/gpodder.ui.h:1 share/gpodder/ui/gtk/menus.ui.h:23 msgid "Download" msgstr "Stahování" #: src/gpodder/gtkui/main.py:1642 share/gpodder/ui/gtk/gpodder.ui.h:2 +#: share/gpodder/ui/gtk/gpodderpodcastdirectory.ui.h:6 #: share/gpodder/ui/gtk/menus.ui.h:24 msgid "Cancel" msgstr "Zrušeno" @@ -720,182 +728,192 @@
View file
3.10.19.tar.gz/po/da.po -> 3.10.20.tar.gz/po/da.po
Changed
@@ -10,7 +10,7 @@ msgstr "" "Project-Id-Version: gPodder\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-04-15 02:02-0600\n" +"POT-Creation-Date: 2021-06-06 20:20-0600\n" "PO-Revision-Date: 2013-01-19 12:30+0000\n" "Last-Translator: Thomas Perl <m@thp.io>\n" "Language-Team: Danish (http://www.transifex.com/projects/p/gpodder/language/" @@ -21,7 +21,7 @@ "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: src/gpodder/config.py:54 +#: src/gpodder/config.py:53 #, python-format msgid "gPodder on %s" msgstr "gPodder på %s" @@ -76,59 +76,65 @@ msgid "Imported OPML file" msgstr "Importér fra OPML-fil" -#: src/gpodder/download.py:538 src/gpodder/sync.py:974 +#: src/gpodder/download.py:541 src/gpodder/sync.py:974 msgid "Added" msgstr "Tilføjet" -#: src/gpodder/download.py:538 src/gpodder/sync.py:974 +#: src/gpodder/download.py:541 src/gpodder/sync.py:974 msgid "Queued" msgstr "Sat i kø" -#: src/gpodder/download.py:538 src/gpodder/gtkui/model.py:381 +#: src/gpodder/download.py:541 src/gpodder/gtkui/model.py:382 msgid "Downloading" msgstr "Downloader" -#: src/gpodder/download.py:539 src/gpodder/model.py:758 src/gpodder/sync.py:975 +#: src/gpodder/download.py:542 src/gpodder/model.py:772 src/gpodder/sync.py:975 msgid "Finished" msgstr "Afsluttet" -#: src/gpodder/download.py:539 src/gpodder/sync.py:975 +#: src/gpodder/download.py:542 src/gpodder/sync.py:975 msgid "Failed" msgstr "Fejlet" -#: src/gpodder/download.py:539 src/gpodder/sync.py:975 +#: src/gpodder/download.py:542 src/gpodder/sync.py:975 msgid "Cancelled" msgstr "Annulleret" -#: src/gpodder/download.py:539 src/gpodder/sync.py:975 +#: src/gpodder/download.py:542 src/gpodder/sync.py:975 msgid "Paused" msgstr "Sat på pause" -#: src/gpodder/download.py:858 +#: src/gpodder/download.py:864 +#, fuzzy +#| msgid "Select the episodes you want to download:" +msgid "Episode has no URL to download" +msgstr "Vælg de episoder, du ønsker at downloade:" + +#: src/gpodder/download.py:867 msgid "Missing content from server" msgstr "Manglende data fra server" -#: src/gpodder/download.py:864 +#: src/gpodder/download.py:873 #, python-format msgid "Couldn't connect to server %(host)s:%(port)s" msgstr "" -#: src/gpodder/download.py:873 +#: src/gpodder/download.py:882 #, python-format msgid "Request Error: %(error)s" msgstr "" -#: src/gpodder/download.py:879 +#: src/gpodder/download.py:888 #, python-format msgid "I/O Error: %(error)s: %(filename)s" msgstr "I/O-fejl: %(error)s: %(filename)s" -#: src/gpodder/download.py:886 +#: src/gpodder/download.py:895 #, python-format msgid "HTTP Error %(code)s: %(message)s" msgstr "HTTP-fejl: %(code)s: %(message)s" -#: src/gpodder/download.py:890 src/gpodder/sync.py:1130 +#: src/gpodder/download.py:899 src/gpodder/sync.py:1130 #, python-format msgid "Error: %s" msgstr "Fejl: %s" @@ -147,8 +153,8 @@ msgid "Post download" msgstr "Sæt download på pause" -#: src/gpodder/extensions.py:59 src/gpodder/model.py:822 -#: src/gpodder/model.py:1236 +#: src/gpodder/extensions.py:59 src/gpodder/model.py:836 +#: src/gpodder/model.py:1250 msgid "Other" msgstr "Andet" @@ -172,41 +178,41 @@ msgid "Python module not found: %(module)s" msgstr "Python-modulet \"%s\" er ikke installeret" -#: src/gpodder/model.py:483 src/gpodder/youtube.py:445 +#: src/gpodder/model.py:496 src/gpodder/youtube.py:457 #: src/gpodder/plugins/soundcloud.py:152 -#: share/gpodder/extensions/youtube-dl.py:211 +#: share/gpodder/extensions/youtube-dl.py:215 msgid "No description available" msgstr "Ingen tilgængelig beskrivelse" -#: src/gpodder/model.py:716 +#: src/gpodder/model.py:730 msgid "unknown" msgstr "ukendt" -#: src/gpodder/model.py:787 +#: src/gpodder/model.py:801 msgid "Default" msgstr "" -#: src/gpodder/model.py:788 +#: src/gpodder/model.py:802 msgid "Only keep latest" msgstr "" -#: src/gpodder/model.py:1219 src/gpodder/model.py:1234 +#: src/gpodder/model.py:1233 src/gpodder/model.py:1248 #: share/gpodder/ui/gtk/gpodderpreferences.ui.h:10 msgid "Video" msgstr "Video" -#: src/gpodder/model.py:1232 +#: src/gpodder/model.py:1246 msgid "Audio" msgstr "Lyd" -#: src/gpodder/model.py:1411 +#: src/gpodder/model.py:1425 #, python-format msgid "" "Warning: path to gPodder home (%(root)s) is very long and can result in " "failure to download files.\n" msgstr "" -#: src/gpodder/model.py:1413 +#: src/gpodder/model.py:1427 msgid "You're advised to set it to a shorter path." msgstr "" @@ -352,8 +358,8 @@ msgstr "" #: src/gpodder/syncui.py:270 src/gpodder/gtkui/main.py:837 -#: src/gpodder/gtkui/main.py:1016 src/gpodder/gtkui/main.py:2896 -#: src/gpodder/gtkui/main.py:3103 +#: src/gpodder/gtkui/main.py:1016 src/gpodder/gtkui/main.py:2917 +#: src/gpodder/gtkui/main.py:3128 #: src/gpodder/gtkui/desktop/episodeselector.py:131 msgid "Episode" msgstr "Episode" @@ -633,7 +639,8 @@ msgid "Feedparser error: %s" msgstr "Fejl i feedparser: %s" -#: src/gpodder/gtkui/main.py:1336 src/gpodder/gtkui/model.py:770 +#: src/gpodder/gtkui/main.py:1336 src/gpodder/gtkui/model.py:454 +#: src/gpodder/gtkui/model.py:783 src/gpodder/gtkui/desktop/channel.py:83 #, python-format msgid "ERROR: %s" msgstr "" @@ -677,14 +684,15 @@ msgid "Start download now" msgstr "Start download nu" -#: src/gpodder/gtkui/main.py:1637 src/gpodder/gtkui/main.py:1919 +#: src/gpodder/gtkui/main.py:1637 src/gpodder/gtkui/main.py:1924 #: src/gpodder/gtkui/desktop/episodeselector.py:140 -#: src/gpodder/gtkui/desktop/podcastdirectory.py:192 +#: src/gpodder/gtkui/desktop/podcastdirectory.py:193 #: share/gpodder/ui/gtk/gpodder.ui.h:1 share/gpodder/ui/gtk/menus.ui.h:23 msgid "Download" msgstr "Download" #: src/gpodder/gtkui/main.py:1642 share/gpodder/ui/gtk/gpodder.ui.h:2 +#: share/gpodder/ui/gtk/gpodderpodcastdirectory.ui.h:6 #: share/gpodder/ui/gtk/menus.ui.h:24 msgid "Cancel" msgstr "Annullér" @@ -717,195 +725,205 @@ msgid "Mark episodes as old"
View file
3.10.19.tar.gz/po/de.po -> 3.10.20.tar.gz/po/de.po
Changed
@@ -8,7 +8,7 @@ msgstr "" "Project-Id-Version: gPodder\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-04-15 02:02-0600\n" +"POT-Creation-Date: 2021-06-06 20:20-0600\n" "PO-Revision-Date: 2021-01-02 02:30+0100\n" "Last-Translator: TZocker\n" "Language-Team: German (http://www.transifex.com/projects/p/gpodder/language/" @@ -20,7 +20,7 @@ "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: Poedit 2.3\n" -#: src/gpodder/config.py:54 +#: src/gpodder/config.py:53 #, python-format msgid "gPodder on %s" msgstr "gPodder auf %s" @@ -66,61 +66,67 @@ msgid "Imported OPML file" msgstr "Importierte OPML-Datei" -#: src/gpodder/download.py:538 src/gpodder/sync.py:974 +#: src/gpodder/download.py:541 src/gpodder/sync.py:974 msgid "Added" msgstr "Hinzugefügt" -#: src/gpodder/download.py:538 src/gpodder/sync.py:974 +#: src/gpodder/download.py:541 src/gpodder/sync.py:974 msgid "Queued" msgstr "Eingereiht" -#: src/gpodder/download.py:538 src/gpodder/gtkui/model.py:381 +#: src/gpodder/download.py:541 src/gpodder/gtkui/model.py:382 msgid "Downloading" msgstr "Herunterladen" -#: src/gpodder/download.py:539 src/gpodder/model.py:758 src/gpodder/sync.py:975 +#: src/gpodder/download.py:542 src/gpodder/model.py:772 src/gpodder/sync.py:975 msgid "Finished" msgstr "Fertig" -#: src/gpodder/download.py:539 src/gpodder/sync.py:975 +#: src/gpodder/download.py:542 src/gpodder/sync.py:975 msgid "Failed" msgstr "Fehlgeschlagen" -#: src/gpodder/download.py:539 src/gpodder/sync.py:975 +#: src/gpodder/download.py:542 src/gpodder/sync.py:975 msgid "Cancelled" msgstr "Abgebrochen" -#: src/gpodder/download.py:539 src/gpodder/sync.py:975 +#: src/gpodder/download.py:542 src/gpodder/sync.py:975 msgid "Paused" msgstr "Pause" -#: src/gpodder/download.py:858 +#: src/gpodder/download.py:864 +#, fuzzy +#| msgid "Select the episodes you want to download:" +msgid "Episode has no URL to download" +msgstr "Wählen Sie die Episoden, die Sie herunterladen möchten:" + +#: src/gpodder/download.py:867 msgid "Missing content from server" msgstr "Fehlender Inhalt vom Server" -#: src/gpodder/download.py:864 +#: src/gpodder/download.py:873 #, python-format msgid "Couldn't connect to server %(host)s:%(port)s" msgstr "" "Es konnte keine Verbindung mit dem Server %(host)s:%(port)s hergestellt " "werden" -#: src/gpodder/download.py:873 +#: src/gpodder/download.py:882 #, python-format msgid "Request Error: %(error)s" msgstr "Anforderungsfehler: %(error)s" -#: src/gpodder/download.py:879 +#: src/gpodder/download.py:888 #, python-format msgid "I/O Error: %(error)s: %(filename)s" msgstr "I/O Fehler: %(error)s: %(filename)s" -#: src/gpodder/download.py:886 +#: src/gpodder/download.py:895 #, python-format msgid "HTTP Error %(code)s: %(message)s" msgstr "HTTP-Fehler %(code)s: %(message)s" -#: src/gpodder/download.py:890 src/gpodder/sync.py:1130 +#: src/gpodder/download.py:899 src/gpodder/sync.py:1130 #, python-format msgid "Error: %s" msgstr "Fehler: %s" @@ -137,8 +143,8 @@ msgid "Post download" msgstr "Nach dem Download" -#: src/gpodder/extensions.py:59 src/gpodder/model.py:822 -#: src/gpodder/model.py:1236 +#: src/gpodder/extensions.py:59 src/gpodder/model.py:836 +#: src/gpodder/model.py:1250 msgid "Other" msgstr "Andere" @@ -161,34 +167,34 @@ msgid "Python module not found: %(module)s" msgstr "Python-Modul nicht gefunden: %(module)s" -#: src/gpodder/model.py:483 src/gpodder/youtube.py:445 +#: src/gpodder/model.py:496 src/gpodder/youtube.py:457 #: src/gpodder/plugins/soundcloud.py:152 -#: share/gpodder/extensions/youtube-dl.py:211 +#: share/gpodder/extensions/youtube-dl.py:215 msgid "No description available" msgstr "Keine Beschreibung verfügbar" -#: src/gpodder/model.py:716 +#: src/gpodder/model.py:730 msgid "unknown" msgstr "unbekannt" -#: src/gpodder/model.py:787 +#: src/gpodder/model.py:801 msgid "Default" msgstr "Standard" -#: src/gpodder/model.py:788 +#: src/gpodder/model.py:802 msgid "Only keep latest" msgstr "Nur aktuellste behalten" -#: src/gpodder/model.py:1219 src/gpodder/model.py:1234 +#: src/gpodder/model.py:1233 src/gpodder/model.py:1248 #: share/gpodder/ui/gtk/gpodderpreferences.ui.h:10 msgid "Video" msgstr "Video" -#: src/gpodder/model.py:1232 +#: src/gpodder/model.py:1246 msgid "Audio" msgstr "Audio" -#: src/gpodder/model.py:1411 +#: src/gpodder/model.py:1425 #, python-format msgid "" "Warning: path to gPodder home (%(root)s) is very long and can result in " @@ -197,7 +203,7 @@ "Warnung: Der Pfad zum gPodder Homeverzeichnis (%(root)s) ist sehr lang und " "kann dazu führen, dass Dateien nicht heruntergeladen werden können.\n" -#: src/gpodder/model.py:1413 +#: src/gpodder/model.py:1427 msgid "You're advised to set it to a shorter path." msgstr "Es wird empfohlen, einen kürzeren Pfad festzulegen." @@ -343,8 +349,8 @@ msgstr "Die Wiedergabeliste auf Ihrem MP3-Player wurde aktualisiert." #: src/gpodder/syncui.py:270 src/gpodder/gtkui/main.py:837 -#: src/gpodder/gtkui/main.py:1016 src/gpodder/gtkui/main.py:2896 -#: src/gpodder/gtkui/main.py:3103 +#: src/gpodder/gtkui/main.py:1016 src/gpodder/gtkui/main.py:2917 +#: src/gpodder/gtkui/main.py:3128 #: src/gpodder/gtkui/desktop/episodeselector.py:131 msgid "Episode" msgstr "Episode" @@ -623,7 +629,8 @@ msgid "Feedparser error: %s" msgstr "Feedparser-Fehler: %s" -#: src/gpodder/gtkui/main.py:1336 src/gpodder/gtkui/model.py:770 +#: src/gpodder/gtkui/main.py:1336 src/gpodder/gtkui/model.py:454 +#: src/gpodder/gtkui/model.py:783 src/gpodder/gtkui/desktop/channel.py:83 #, python-format msgid "ERROR: %s" msgstr "Fehler: %s" @@ -663,14 +670,15 @@ msgid "Start download now" msgstr "Sofort herunterladen" -#: src/gpodder/gtkui/main.py:1637 src/gpodder/gtkui/main.py:1919 +#: src/gpodder/gtkui/main.py:1637 src/gpodder/gtkui/main.py:1924 #: src/gpodder/gtkui/desktop/episodeselector.py:140 -#: src/gpodder/gtkui/desktop/podcastdirectory.py:192 +#: src/gpodder/gtkui/desktop/podcastdirectory.py:193 #: share/gpodder/ui/gtk/gpodder.ui.h:1 share/gpodder/ui/gtk/menus.ui.h:23 msgid "Download" msgstr "Download" #: src/gpodder/gtkui/main.py:1642 share/gpodder/ui/gtk/gpodder.ui.h:2 +#: share/gpodder/ui/gtk/gpodderpodcastdirectory.ui.h:6 #: share/gpodder/ui/gtk/menus.ui.h:24 msgid "Cancel"
View file
3.10.19.tar.gz/po/el.po -> 3.10.20.tar.gz/po/el.po
Changed
@@ -10,7 +10,7 @@ msgstr "" "Project-Id-Version: gPodder\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-04-15 02:02-0600\n" +"POT-Creation-Date: 2021-06-06 20:20-0600\n" "PO-Revision-Date: 2013-01-19 12:30+0000\n" "Last-Translator: Teo <anapospastos@hotmail.com>\n" "Language-Team: Greek (http://www.transifex.com/projects/p/gpodder/language/" @@ -21,7 +21,7 @@ "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: src/gpodder/config.py:54 +#: src/gpodder/config.py:53 #, python-format msgid "gPodder on %s" msgstr "Το gPodder στο %s" @@ -75,60 +75,66 @@ msgid "Imported OPML file" msgstr "Εισαγωγή από αρχείο OPML" -#: src/gpodder/download.py:538 src/gpodder/sync.py:974 +#: src/gpodder/download.py:541 src/gpodder/sync.py:974 msgid "Added" msgstr "Προστέθηκε" -#: src/gpodder/download.py:538 src/gpodder/sync.py:974 +#: src/gpodder/download.py:541 src/gpodder/sync.py:974 msgid "Queued" msgstr "Σε αναμονή" -#: src/gpodder/download.py:538 src/gpodder/gtkui/model.py:381 +#: src/gpodder/download.py:541 src/gpodder/gtkui/model.py:382 msgid "Downloading" msgstr "Λήψη" -#: src/gpodder/download.py:539 src/gpodder/model.py:758 src/gpodder/sync.py:975 +#: src/gpodder/download.py:542 src/gpodder/model.py:772 src/gpodder/sync.py:975 msgid "Finished" msgstr "Τελείωσε" -#: src/gpodder/download.py:539 src/gpodder/sync.py:975 +#: src/gpodder/download.py:542 src/gpodder/sync.py:975 msgid "Failed" msgstr "Απέτυχε" -#: src/gpodder/download.py:539 src/gpodder/sync.py:975 +#: src/gpodder/download.py:542 src/gpodder/sync.py:975 msgid "Cancelled" msgstr "Ακυρώθηκε" -#: src/gpodder/download.py:539 src/gpodder/sync.py:975 +#: src/gpodder/download.py:542 src/gpodder/sync.py:975 msgid "Paused" msgstr "Παύση" -#: src/gpodder/download.py:858 +#: src/gpodder/download.py:864 +#, fuzzy +#| msgid "Select the episodes you want to download:" +msgid "Episode has no URL to download" +msgstr "Επίλεξε τα επεισόδια που θέλεις να κατεβάσεις:" + +#: src/gpodder/download.py:867 msgid "Missing content from server" msgstr "Λείπει περιεχόμενο από τον διακομιστή" -#: src/gpodder/download.py:864 +#: src/gpodder/download.py:873 #, python-format msgid "Couldn't connect to server %(host)s:%(port)s" msgstr "" -#: src/gpodder/download.py:873 +#: src/gpodder/download.py:882 #, fuzzy, python-format #| msgid "Syntax error: %(error)s" msgid "Request Error: %(error)s" msgstr "Συντακτικό λάθος: %(error)s" -#: src/gpodder/download.py:879 +#: src/gpodder/download.py:888 #, python-format msgid "I/O Error: %(error)s: %(filename)s" msgstr "Σφάλμα I/O: %(error)s: %(filename)s" -#: src/gpodder/download.py:886 +#: src/gpodder/download.py:895 #, python-format msgid "HTTP Error %(code)s: %(message)s" msgstr "Σφάλμα HTTP %(code)s: %(message)s" -#: src/gpodder/download.py:890 src/gpodder/sync.py:1130 +#: src/gpodder/download.py:899 src/gpodder/sync.py:1130 #, python-format msgid "Error: %s" msgstr "Σφάλμα: %s" @@ -147,8 +153,8 @@ msgid "Post download" msgstr "Παύση λήψης" -#: src/gpodder/extensions.py:59 src/gpodder/model.py:822 -#: src/gpodder/model.py:1236 +#: src/gpodder/extensions.py:59 src/gpodder/model.py:836 +#: src/gpodder/model.py:1250 msgid "Other" msgstr "Άλλο" @@ -171,41 +177,41 @@ msgid "Python module not found: %(module)s" msgstr "Το python module \"%s\" δεν είναι εγκατεστημένο" -#: src/gpodder/model.py:483 src/gpodder/youtube.py:445 +#: src/gpodder/model.py:496 src/gpodder/youtube.py:457 #: src/gpodder/plugins/soundcloud.py:152 -#: share/gpodder/extensions/youtube-dl.py:211 +#: share/gpodder/extensions/youtube-dl.py:215 msgid "No description available" msgstr "Δεν υπάρχει διαθέσιμη περιγραφή" -#: src/gpodder/model.py:716 +#: src/gpodder/model.py:730 msgid "unknown" msgstr "άγνωστο" -#: src/gpodder/model.py:787 +#: src/gpodder/model.py:801 msgid "Default" msgstr "" -#: src/gpodder/model.py:788 +#: src/gpodder/model.py:802 msgid "Only keep latest" msgstr "" -#: src/gpodder/model.py:1219 src/gpodder/model.py:1234 +#: src/gpodder/model.py:1233 src/gpodder/model.py:1248 #: share/gpodder/ui/gtk/gpodderpreferences.ui.h:10 msgid "Video" msgstr "Βίντεο" -#: src/gpodder/model.py:1232 +#: src/gpodder/model.py:1246 msgid "Audio" msgstr "Ήχος" -#: src/gpodder/model.py:1411 +#: src/gpodder/model.py:1425 #, python-format msgid "" "Warning: path to gPodder home (%(root)s) is very long and can result in " "failure to download files.\n" msgstr "" -#: src/gpodder/model.py:1413 +#: src/gpodder/model.py:1427 msgid "You're advised to set it to a shorter path." msgstr "" @@ -353,8 +359,8 @@ msgstr "" #: src/gpodder/syncui.py:270 src/gpodder/gtkui/main.py:837 -#: src/gpodder/gtkui/main.py:1016 src/gpodder/gtkui/main.py:2896 -#: src/gpodder/gtkui/main.py:3103 +#: src/gpodder/gtkui/main.py:1016 src/gpodder/gtkui/main.py:2917 +#: src/gpodder/gtkui/main.py:3128 #: src/gpodder/gtkui/desktop/episodeselector.py:131 msgid "Episode" msgstr "Επεισόδιο" @@ -632,7 +638,8 @@ msgid "Feedparser error: %s" msgstr "Σφάλμα στην ανάλυση της ροής: %s" -#: src/gpodder/gtkui/main.py:1336 src/gpodder/gtkui/model.py:770 +#: src/gpodder/gtkui/main.py:1336 src/gpodder/gtkui/model.py:454 +#: src/gpodder/gtkui/model.py:783 src/gpodder/gtkui/desktop/channel.py:83 #, python-format msgid "ERROR: %s" msgstr "" @@ -672,14 +679,15 @@ msgid "Start download now" msgstr "Εκκίνηση λήψης τώρα" -#: src/gpodder/gtkui/main.py:1637 src/gpodder/gtkui/main.py:1919 +#: src/gpodder/gtkui/main.py:1637 src/gpodder/gtkui/main.py:1924 #: src/gpodder/gtkui/desktop/episodeselector.py:140 -#: src/gpodder/gtkui/desktop/podcastdirectory.py:192 +#: src/gpodder/gtkui/desktop/podcastdirectory.py:193 #: share/gpodder/ui/gtk/gpodder.ui.h:1 share/gpodder/ui/gtk/menus.ui.h:23 msgid "Download" msgstr "Λήψη" #: src/gpodder/gtkui/main.py:1642 share/gpodder/ui/gtk/gpodder.ui.h:2 +#: share/gpodder/ui/gtk/gpodderpodcastdirectory.ui.h:6 #: share/gpodder/ui/gtk/menus.ui.h:24 msgid "Cancel" msgstr "Ακύρωση" @@ -712,197 +720,207 @@
View file
3.10.19.tar.gz/po/es.po -> 3.10.20.tar.gz/po/es.po
Changed
@@ -9,7 +9,7 @@ msgstr "" "Project-Id-Version: gPodder\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-04-15 02:02-0600\n" +"POT-Creation-Date: 2021-06-06 20:20-0600\n" "PO-Revision-Date: 2013-01-19 12:31+0000\n" "Last-Translator: Thomas Perl <m@thp.io>\n" "Language-Team: Spanish (http://www.transifex.com/projects/p/gpodder/language/" @@ -20,7 +20,7 @@ "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: src/gpodder/config.py:54 +#: src/gpodder/config.py:53 #, python-format msgid "gPodder on %s" msgstr "gPodder en %s" @@ -75,60 +75,66 @@ msgid "Imported OPML file" msgstr "Importar de OPML" -#: src/gpodder/download.py:538 src/gpodder/sync.py:974 +#: src/gpodder/download.py:541 src/gpodder/sync.py:974 msgid "Added" msgstr "Agregado" -#: src/gpodder/download.py:538 src/gpodder/sync.py:974 +#: src/gpodder/download.py:541 src/gpodder/sync.py:974 msgid "Queued" msgstr "Puesto en cola" -#: src/gpodder/download.py:538 src/gpodder/gtkui/model.py:381 +#: src/gpodder/download.py:541 src/gpodder/gtkui/model.py:382 msgid "Downloading" msgstr "Descargando" -#: src/gpodder/download.py:539 src/gpodder/model.py:758 src/gpodder/sync.py:975 +#: src/gpodder/download.py:542 src/gpodder/model.py:772 src/gpodder/sync.py:975 msgid "Finished" msgstr "Terminado" -#: src/gpodder/download.py:539 src/gpodder/sync.py:975 +#: src/gpodder/download.py:542 src/gpodder/sync.py:975 msgid "Failed" msgstr "Fallado" -#: src/gpodder/download.py:539 src/gpodder/sync.py:975 +#: src/gpodder/download.py:542 src/gpodder/sync.py:975 msgid "Cancelled" msgstr "Cancelado" -#: src/gpodder/download.py:539 src/gpodder/sync.py:975 +#: src/gpodder/download.py:542 src/gpodder/sync.py:975 msgid "Paused" msgstr "Pausado" -#: src/gpodder/download.py:858 +#: src/gpodder/download.py:864 +#, fuzzy +#| msgid "Select the episodes you want to download:" +msgid "Episode has no URL to download" +msgstr "Seleccione los capítulos que desea descargar:" + +#: src/gpodder/download.py:867 msgid "Missing content from server" msgstr "Falta contenido en el servidor" -#: src/gpodder/download.py:864 +#: src/gpodder/download.py:873 #, python-format msgid "Couldn't connect to server %(host)s:%(port)s" msgstr "" -#: src/gpodder/download.py:873 +#: src/gpodder/download.py:882 #, fuzzy, python-format #| msgid "Syntax error: %(error)s" msgid "Request Error: %(error)s" msgstr "Error de sintaxis: %(error)s" -#: src/gpodder/download.py:879 +#: src/gpodder/download.py:888 #, python-format msgid "I/O Error: %(error)s: %(filename)s" msgstr "Error de Entrada/Salida: %(error)s: %(filename)s" -#: src/gpodder/download.py:886 +#: src/gpodder/download.py:895 #, python-format msgid "HTTP Error %(code)s: %(message)s" msgstr "Error HTTP %(code)s: %(message)s" -#: src/gpodder/download.py:890 src/gpodder/sync.py:1130 +#: src/gpodder/download.py:899 src/gpodder/sync.py:1130 #, python-format msgid "Error: %s" msgstr "Error: %s" @@ -148,8 +154,8 @@ msgid "Post download" msgstr "Cancelar descarga" -#: src/gpodder/extensions.py:59 src/gpodder/model.py:822 -#: src/gpodder/model.py:1236 +#: src/gpodder/extensions.py:59 src/gpodder/model.py:836 +#: src/gpodder/model.py:1250 msgid "Other" msgstr "Otro" @@ -172,42 +178,42 @@ msgid "Python module not found: %(module)s" msgstr "Módulo python \"%s\" no instalado" -#: src/gpodder/model.py:483 src/gpodder/youtube.py:445 +#: src/gpodder/model.py:496 src/gpodder/youtube.py:457 #: src/gpodder/plugins/soundcloud.py:152 -#: share/gpodder/extensions/youtube-dl.py:211 +#: share/gpodder/extensions/youtube-dl.py:215 msgid "No description available" msgstr "No hay una descripción disponible" -#: src/gpodder/model.py:716 +#: src/gpodder/model.py:730 msgid "unknown" msgstr "desconocido" -#: src/gpodder/model.py:787 +#: src/gpodder/model.py:801 #, fuzzy msgid "Default" msgstr "Color predeterminado" -#: src/gpodder/model.py:788 +#: src/gpodder/model.py:802 msgid "Only keep latest" msgstr "" -#: src/gpodder/model.py:1219 src/gpodder/model.py:1234 +#: src/gpodder/model.py:1233 src/gpodder/model.py:1248 #: share/gpodder/ui/gtk/gpodderpreferences.ui.h:10 msgid "Video" msgstr "Vídeo" -#: src/gpodder/model.py:1232 +#: src/gpodder/model.py:1246 msgid "Audio" msgstr "Audio" -#: src/gpodder/model.py:1411 +#: src/gpodder/model.py:1425 #, python-format msgid "" "Warning: path to gPodder home (%(root)s) is very long and can result in " "failure to download files.\n" msgstr "" -#: src/gpodder/model.py:1413 +#: src/gpodder/model.py:1427 msgid "You're advised to set it to a shorter path." msgstr "" @@ -354,8 +360,8 @@ msgstr "" #: src/gpodder/syncui.py:270 src/gpodder/gtkui/main.py:837 -#: src/gpodder/gtkui/main.py:1016 src/gpodder/gtkui/main.py:2896 -#: src/gpodder/gtkui/main.py:3103 +#: src/gpodder/gtkui/main.py:1016 src/gpodder/gtkui/main.py:2917 +#: src/gpodder/gtkui/main.py:3128 #: src/gpodder/gtkui/desktop/episodeselector.py:131 msgid "Episode" msgstr "Capítulo" @@ -634,7 +640,8 @@ msgid "Feedparser error: %s" msgstr "Error al procesar feeds RSS: %s" -#: src/gpodder/gtkui/main.py:1336 src/gpodder/gtkui/model.py:770 +#: src/gpodder/gtkui/main.py:1336 src/gpodder/gtkui/model.py:454 +#: src/gpodder/gtkui/model.py:783 src/gpodder/gtkui/desktop/channel.py:83 #, python-format msgid "ERROR: %s" msgstr "" @@ -678,14 +685,15 @@ msgid "Start download now" msgstr "Comenzar descargas ahora" -#: src/gpodder/gtkui/main.py:1637 src/gpodder/gtkui/main.py:1919 +#: src/gpodder/gtkui/main.py:1637 src/gpodder/gtkui/main.py:1924 #: src/gpodder/gtkui/desktop/episodeselector.py:140 -#: src/gpodder/gtkui/desktop/podcastdirectory.py:192 +#: src/gpodder/gtkui/desktop/podcastdirectory.py:193 #: share/gpodder/ui/gtk/gpodder.ui.h:1 share/gpodder/ui/gtk/menus.ui.h:23 msgid "Download" msgstr "Descarga" #: src/gpodder/gtkui/main.py:1642 share/gpodder/ui/gtk/gpodder.ui.h:2 +#: share/gpodder/ui/gtk/gpodderpodcastdirectory.ui.h:6 #: share/gpodder/ui/gtk/menus.ui.h:24 msgid "Cancel" msgstr "Cancelar"
View file
3.10.19.tar.gz/po/es_ES.po -> 3.10.20.tar.gz/po/es_ES.po
Changed
@@ -10,7 +10,7 @@ msgstr "" "Project-Id-Version: gPodder\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-04-15 02:02-0600\n" +"POT-Creation-Date: 2021-06-06 20:20-0600\n" "PO-Revision-Date: 2013-03-05 15:01+0000\n" "Last-Translator: Thomas Perl <m@thp.io>\n" "Language-Team: Spanish (Spain) (http://www.transifex.com/projects/p/gpodder/" @@ -21,7 +21,7 @@ "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: src/gpodder/config.py:54 +#: src/gpodder/config.py:53 #, python-format msgid "gPodder on %s" msgstr "gPodder en %s" @@ -75,60 +75,66 @@ msgid "Imported OPML file" msgstr "Importar desde archivo OPML" -#: src/gpodder/download.py:538 src/gpodder/sync.py:974 +#: src/gpodder/download.py:541 src/gpodder/sync.py:974 msgid "Added" msgstr "Añadido" -#: src/gpodder/download.py:538 src/gpodder/sync.py:974 +#: src/gpodder/download.py:541 src/gpodder/sync.py:974 msgid "Queued" msgstr "En cola" -#: src/gpodder/download.py:538 src/gpodder/gtkui/model.py:381 +#: src/gpodder/download.py:541 src/gpodder/gtkui/model.py:382 msgid "Downloading" msgstr "Descargando" -#: src/gpodder/download.py:539 src/gpodder/model.py:758 src/gpodder/sync.py:975 +#: src/gpodder/download.py:542 src/gpodder/model.py:772 src/gpodder/sync.py:975 msgid "Finished" msgstr "Finalizado" -#: src/gpodder/download.py:539 src/gpodder/sync.py:975 +#: src/gpodder/download.py:542 src/gpodder/sync.py:975 msgid "Failed" msgstr "Fallido" -#: src/gpodder/download.py:539 src/gpodder/sync.py:975 +#: src/gpodder/download.py:542 src/gpodder/sync.py:975 msgid "Cancelled" msgstr "Cancelado" -#: src/gpodder/download.py:539 src/gpodder/sync.py:975 +#: src/gpodder/download.py:542 src/gpodder/sync.py:975 msgid "Paused" msgstr "En pausa" -#: src/gpodder/download.py:858 +#: src/gpodder/download.py:864 +#, fuzzy +#| msgid "Select the episodes you want to download:" +msgid "Episode has no URL to download" +msgstr "Seleccione los episodios que quiere descargar:" + +#: src/gpodder/download.py:867 msgid "Missing content from server" msgstr "Falta el contenido del servidor" -#: src/gpodder/download.py:864 +#: src/gpodder/download.py:873 #, python-format msgid "Couldn't connect to server %(host)s:%(port)s" msgstr "" -#: src/gpodder/download.py:873 +#: src/gpodder/download.py:882 #, fuzzy, python-format #| msgid "Syntax error: %(error)s" msgid "Request Error: %(error)s" msgstr "Error de sintaxis: %(error)s" -#: src/gpodder/download.py:879 +#: src/gpodder/download.py:888 #, python-format msgid "I/O Error: %(error)s: %(filename)s" msgstr "Error de E/S: %(error)s: %(filename)s" -#: src/gpodder/download.py:886 +#: src/gpodder/download.py:895 #, python-format msgid "HTTP Error %(code)s: %(message)s" msgstr "Error HTTP %(code)s: %(message)s" -#: src/gpodder/download.py:890 src/gpodder/sync.py:1130 +#: src/gpodder/download.py:899 src/gpodder/sync.py:1130 #, python-format msgid "Error: %s" msgstr "Error: %s" @@ -145,8 +151,8 @@ msgid "Post download" msgstr "Después de la descarga" -#: src/gpodder/extensions.py:59 src/gpodder/model.py:822 -#: src/gpodder/model.py:1236 +#: src/gpodder/extensions.py:59 src/gpodder/model.py:836 +#: src/gpodder/model.py:1250 msgid "Other" msgstr "Otros" @@ -169,41 +175,41 @@ msgid "Python module not found: %(module)s" msgstr "Módulo Python no encontrado: %(module)s" -#: src/gpodder/model.py:483 src/gpodder/youtube.py:445 +#: src/gpodder/model.py:496 src/gpodder/youtube.py:457 #: src/gpodder/plugins/soundcloud.py:152 -#: share/gpodder/extensions/youtube-dl.py:211 +#: share/gpodder/extensions/youtube-dl.py:215 msgid "No description available" msgstr "Sin descripción disponible" -#: src/gpodder/model.py:716 +#: src/gpodder/model.py:730 msgid "unknown" msgstr "desconocido" -#: src/gpodder/model.py:787 +#: src/gpodder/model.py:801 msgid "Default" msgstr "Predeterminado" -#: src/gpodder/model.py:788 +#: src/gpodder/model.py:802 msgid "Only keep latest" msgstr "Solo mantener los últimos" -#: src/gpodder/model.py:1219 src/gpodder/model.py:1234 +#: src/gpodder/model.py:1233 src/gpodder/model.py:1248 #: share/gpodder/ui/gtk/gpodderpreferences.ui.h:10 msgid "Video" msgstr "Vídeo" -#: src/gpodder/model.py:1232 +#: src/gpodder/model.py:1246 msgid "Audio" msgstr "Audio" -#: src/gpodder/model.py:1411 +#: src/gpodder/model.py:1425 #, python-format msgid "" "Warning: path to gPodder home (%(root)s) is very long and can result in " "failure to download files.\n" msgstr "" -#: src/gpodder/model.py:1413 +#: src/gpodder/model.py:1427 msgid "You're advised to set it to a shorter path." msgstr "" @@ -346,8 +352,8 @@ msgstr "" #: src/gpodder/syncui.py:270 src/gpodder/gtkui/main.py:837 -#: src/gpodder/gtkui/main.py:1016 src/gpodder/gtkui/main.py:2896 -#: src/gpodder/gtkui/main.py:3103 +#: src/gpodder/gtkui/main.py:1016 src/gpodder/gtkui/main.py:2917 +#: src/gpodder/gtkui/main.py:3128 #: src/gpodder/gtkui/desktop/episodeselector.py:131 msgid "Episode" msgstr "Episodio" @@ -625,7 +631,8 @@ msgid "Feedparser error: %s" msgstr "Error del analizador de fuentes: %s" -#: src/gpodder/gtkui/main.py:1336 src/gpodder/gtkui/model.py:770 +#: src/gpodder/gtkui/main.py:1336 src/gpodder/gtkui/model.py:454 +#: src/gpodder/gtkui/model.py:783 src/gpodder/gtkui/desktop/channel.py:83 #, python-format msgid "ERROR: %s" msgstr "" @@ -665,14 +672,15 @@ msgid "Start download now" msgstr "Iniciar la descarga ahora" -#: src/gpodder/gtkui/main.py:1637 src/gpodder/gtkui/main.py:1919 +#: src/gpodder/gtkui/main.py:1637 src/gpodder/gtkui/main.py:1924 #: src/gpodder/gtkui/desktop/episodeselector.py:140 -#: src/gpodder/gtkui/desktop/podcastdirectory.py:192 +#: src/gpodder/gtkui/desktop/podcastdirectory.py:193 #: share/gpodder/ui/gtk/gpodder.ui.h:1 share/gpodder/ui/gtk/menus.ui.h:23 msgid "Download" msgstr "Descargar" #: src/gpodder/gtkui/main.py:1642 share/gpodder/ui/gtk/gpodder.ui.h:2 +#: share/gpodder/ui/gtk/gpodderpodcastdirectory.ui.h:6 #: share/gpodder/ui/gtk/menus.ui.h:24 msgid "Cancel" msgstr "Cancelar" @@ -705,196 +713,206 @@
View file
3.10.19.tar.gz/po/es_MX.po -> 3.10.20.tar.gz/po/es_MX.po
Changed
@@ -8,7 +8,7 @@ msgstr "" "Project-Id-Version: gPodder\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-04-15 02:02-0600\n" +"POT-Creation-Date: 2021-06-06 20:20-0600\n" "PO-Revision-Date: 2013-04-14 13:46-0600\n" "Last-Translator: Rigoberto Calleja <rigobertoc@alumni.cmu.edu>\n" "Language-Team: Spanish (Mexico) (http://www.transifex.com/projects/p/gpodder/" @@ -19,7 +19,7 @@ "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: src/gpodder/config.py:54 +#: src/gpodder/config.py:53 #, python-format msgid "gPodder on %s" msgstr "gPodder en %s" @@ -72,60 +72,66 @@ msgid "Imported OPML file" msgstr "Importar desde archivo OPML" -#: src/gpodder/download.py:538 src/gpodder/sync.py:974 +#: src/gpodder/download.py:541 src/gpodder/sync.py:974 msgid "Added" msgstr "Agregado" -#: src/gpodder/download.py:538 src/gpodder/sync.py:974 +#: src/gpodder/download.py:541 src/gpodder/sync.py:974 msgid "Queued" msgstr "En espera" -#: src/gpodder/download.py:538 src/gpodder/gtkui/model.py:381 +#: src/gpodder/download.py:541 src/gpodder/gtkui/model.py:382 msgid "Downloading" msgstr "Descargando" -#: src/gpodder/download.py:539 src/gpodder/model.py:758 src/gpodder/sync.py:975 +#: src/gpodder/download.py:542 src/gpodder/model.py:772 src/gpodder/sync.py:975 msgid "Finished" msgstr "Terminado" -#: src/gpodder/download.py:539 src/gpodder/sync.py:975 +#: src/gpodder/download.py:542 src/gpodder/sync.py:975 msgid "Failed" msgstr "Falló" -#: src/gpodder/download.py:539 src/gpodder/sync.py:975 +#: src/gpodder/download.py:542 src/gpodder/sync.py:975 msgid "Cancelled" msgstr "Cancelado" -#: src/gpodder/download.py:539 src/gpodder/sync.py:975 +#: src/gpodder/download.py:542 src/gpodder/sync.py:975 msgid "Paused" msgstr "En pausa" -#: src/gpodder/download.py:858 +#: src/gpodder/download.py:864 +#, fuzzy +#| msgid "Select the episodes you want to download:" +msgid "Episode has no URL to download" +msgstr "Seleccione los episodios que desea descargar:" + +#: src/gpodder/download.py:867 msgid "Missing content from server" msgstr "Falta el contenido del servidor" -#: src/gpodder/download.py:864 +#: src/gpodder/download.py:873 #, python-format msgid "Couldn't connect to server %(host)s:%(port)s" msgstr "" -#: src/gpodder/download.py:873 +#: src/gpodder/download.py:882 #, fuzzy, python-format #| msgid "Syntax error: %(error)s" msgid "Request Error: %(error)s" msgstr "Error de sintaxis: %(error)s" -#: src/gpodder/download.py:879 +#: src/gpodder/download.py:888 #, python-format msgid "I/O Error: %(error)s: %(filename)s" msgstr "Error de E/S: %(error)s: %(filename)s" -#: src/gpodder/download.py:886 +#: src/gpodder/download.py:895 #, python-format msgid "HTTP Error %(code)s: %(message)s" msgstr "Error HTTP %(code)s: %(message)s" -#: src/gpodder/download.py:890 src/gpodder/sync.py:1130 +#: src/gpodder/download.py:899 src/gpodder/sync.py:1130 #, python-format msgid "Error: %s" msgstr "Error: %s" @@ -142,8 +148,8 @@ msgid "Post download" msgstr "Post-descarga" -#: src/gpodder/extensions.py:59 src/gpodder/model.py:822 -#: src/gpodder/model.py:1236 +#: src/gpodder/extensions.py:59 src/gpodder/model.py:836 +#: src/gpodder/model.py:1250 msgid "Other" msgstr "Otro" @@ -167,41 +173,41 @@ msgid "Python module not found: %(module)s" msgstr "El siguiente módulo de Python no fue encontrado: %(module)s" -#: src/gpodder/model.py:483 src/gpodder/youtube.py:445 +#: src/gpodder/model.py:496 src/gpodder/youtube.py:457 #: src/gpodder/plugins/soundcloud.py:152 -#: share/gpodder/extensions/youtube-dl.py:211 +#: share/gpodder/extensions/youtube-dl.py:215 msgid "No description available" msgstr "No hay descripción disponible" -#: src/gpodder/model.py:716 +#: src/gpodder/model.py:730 msgid "unknown" msgstr "desconocido" -#: src/gpodder/model.py:787 +#: src/gpodder/model.py:801 msgid "Default" msgstr "Por defecto" -#: src/gpodder/model.py:788 +#: src/gpodder/model.py:802 msgid "Only keep latest" msgstr "Conservar únicamente el más reciente" -#: src/gpodder/model.py:1219 src/gpodder/model.py:1234 +#: src/gpodder/model.py:1233 src/gpodder/model.py:1248 #: share/gpodder/ui/gtk/gpodderpreferences.ui.h:10 msgid "Video" msgstr "Video" -#: src/gpodder/model.py:1232 +#: src/gpodder/model.py:1246 msgid "Audio" msgstr "Audio" -#: src/gpodder/model.py:1411 +#: src/gpodder/model.py:1425 #, python-format msgid "" "Warning: path to gPodder home (%(root)s) is very long and can result in " "failure to download files.\n" msgstr "" -#: src/gpodder/model.py:1413 +#: src/gpodder/model.py:1427 msgid "You're advised to set it to a shorter path." msgstr "" @@ -347,8 +353,8 @@ msgstr "La lista de reproducción en su reproductor MP3 ha sido actualizada." #: src/gpodder/syncui.py:270 src/gpodder/gtkui/main.py:837 -#: src/gpodder/gtkui/main.py:1016 src/gpodder/gtkui/main.py:2896 -#: src/gpodder/gtkui/main.py:3103 +#: src/gpodder/gtkui/main.py:1016 src/gpodder/gtkui/main.py:2917 +#: src/gpodder/gtkui/main.py:3128 #: src/gpodder/gtkui/desktop/episodeselector.py:131 msgid "Episode" msgstr "Episodio" @@ -625,7 +631,8 @@ msgid "Feedparser error: %s" msgstr "Error del analizador sintático de fuentes: %s" -#: src/gpodder/gtkui/main.py:1336 src/gpodder/gtkui/model.py:770 +#: src/gpodder/gtkui/main.py:1336 src/gpodder/gtkui/model.py:454 +#: src/gpodder/gtkui/model.py:783 src/gpodder/gtkui/desktop/channel.py:83 #, python-format msgid "ERROR: %s" msgstr "" @@ -665,14 +672,15 @@ msgid "Start download now" msgstr "Iniciar descarga" -#: src/gpodder/gtkui/main.py:1637 src/gpodder/gtkui/main.py:1919 +#: src/gpodder/gtkui/main.py:1637 src/gpodder/gtkui/main.py:1924 #: src/gpodder/gtkui/desktop/episodeselector.py:140 -#: src/gpodder/gtkui/desktop/podcastdirectory.py:192 +#: src/gpodder/gtkui/desktop/podcastdirectory.py:193 #: share/gpodder/ui/gtk/gpodder.ui.h:1 share/gpodder/ui/gtk/menus.ui.h:23 msgid "Download" msgstr "Descargar" #: src/gpodder/gtkui/main.py:1642 share/gpodder/ui/gtk/gpodder.ui.h:2 +#: share/gpodder/ui/gtk/gpodderpodcastdirectory.ui.h:6 #: share/gpodder/ui/gtk/menus.ui.h:24 msgid "Cancel" msgstr "Cancelar" @@ -705,195 +713,205 @@
View file
3.10.19.tar.gz/po/eu.po -> 3.10.20.tar.gz/po/eu.po
Changed
@@ -8,7 +8,7 @@ msgstr "" "Project-Id-Version: gPodder\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-04-15 02:02-0600\n" +"POT-Creation-Date: 2021-06-06 20:20-0600\n" "PO-Revision-Date: 2013-01-23 00:23+0000\n" "Last-Translator: Asier Iturralde Sarasola <asier.iturralde@gmail.com>\n" "Language-Team: Basque (http://www.transifex.com/projects/p/gpodder/language/" @@ -19,7 +19,7 @@ "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: src/gpodder/config.py:54 +#: src/gpodder/config.py:53 #, python-format msgid "gPodder on %s" msgstr "gPodder %s-n" @@ -73,60 +73,66 @@ msgid "Imported OPML file" msgstr "Inportatu OPML fitxategitik" -#: src/gpodder/download.py:538 src/gpodder/sync.py:974 +#: src/gpodder/download.py:541 src/gpodder/sync.py:974 msgid "Added" msgstr "Gehituta" -#: src/gpodder/download.py:538 src/gpodder/sync.py:974 +#: src/gpodder/download.py:541 src/gpodder/sync.py:974 msgid "Queued" msgstr "Ilaran" -#: src/gpodder/download.py:538 src/gpodder/gtkui/model.py:381 +#: src/gpodder/download.py:541 src/gpodder/gtkui/model.py:382 msgid "Downloading" msgstr "Deskargatzen" -#: src/gpodder/download.py:539 src/gpodder/model.py:758 src/gpodder/sync.py:975 +#: src/gpodder/download.py:542 src/gpodder/model.py:772 src/gpodder/sync.py:975 msgid "Finished" msgstr "Amaituta" -#: src/gpodder/download.py:539 src/gpodder/sync.py:975 +#: src/gpodder/download.py:542 src/gpodder/sync.py:975 msgid "Failed" msgstr "Huts egin du" -#: src/gpodder/download.py:539 src/gpodder/sync.py:975 +#: src/gpodder/download.py:542 src/gpodder/sync.py:975 msgid "Cancelled" msgstr "Bertan behera utzita" -#: src/gpodder/download.py:539 src/gpodder/sync.py:975 +#: src/gpodder/download.py:542 src/gpodder/sync.py:975 msgid "Paused" msgstr "Pausarazita" -#: src/gpodder/download.py:858 +#: src/gpodder/download.py:864 +#, fuzzy +#| msgid "Select the episodes you want to download:" +msgid "Episode has no URL to download" +msgstr "Hautatu deskargatu nahi dituzun atalak:" + +#: src/gpodder/download.py:867 msgid "Missing content from server" msgstr "Edukia ez dago zerbitzarian" -#: src/gpodder/download.py:864 +#: src/gpodder/download.py:873 #, python-format msgid "Couldn't connect to server %(host)s:%(port)s" msgstr "" -#: src/gpodder/download.py:873 +#: src/gpodder/download.py:882 #, fuzzy, python-format #| msgid "Syntax error: %(error)s" msgid "Request Error: %(error)s" msgstr "Sintaxi errorea: %(error)s" -#: src/gpodder/download.py:879 +#: src/gpodder/download.py:888 #, python-format msgid "I/O Error: %(error)s: %(filename)s" msgstr "I/O Errorea: %(error)s: %(filename)s" -#: src/gpodder/download.py:886 +#: src/gpodder/download.py:895 #, python-format msgid "HTTP Error %(code)s: %(message)s" msgstr "HTTP Errorea %(code)s: %(message)s" -#: src/gpodder/download.py:890 src/gpodder/sync.py:1130 +#: src/gpodder/download.py:899 src/gpodder/sync.py:1130 #, python-format msgid "Error: %s" msgstr "Errorea: %s" @@ -145,8 +151,8 @@ msgid "Post download" msgstr "Hautatu erreproduzitutakoak" -#: src/gpodder/extensions.py:59 src/gpodder/model.py:822 -#: src/gpodder/model.py:1236 +#: src/gpodder/extensions.py:59 src/gpodder/model.py:836 +#: src/gpodder/model.py:1250 msgid "Other" msgstr "Bestelakoak" @@ -169,41 +175,41 @@ msgid "Python module not found: %(module)s" msgstr "Ez da Python modulua aurkitu: %(module)s" -#: src/gpodder/model.py:483 src/gpodder/youtube.py:445 +#: src/gpodder/model.py:496 src/gpodder/youtube.py:457 #: src/gpodder/plugins/soundcloud.py:152 -#: share/gpodder/extensions/youtube-dl.py:211 +#: share/gpodder/extensions/youtube-dl.py:215 msgid "No description available" msgstr "Ez dago deskribapenik eskuragarri" -#: src/gpodder/model.py:716 +#: src/gpodder/model.py:730 msgid "unknown" msgstr "ezezaguna" -#: src/gpodder/model.py:787 +#: src/gpodder/model.py:801 msgid "Default" msgstr "Lehenetsia" -#: src/gpodder/model.py:788 +#: src/gpodder/model.py:802 msgid "Only keep latest" msgstr "Mantendu azkena soilik" -#: src/gpodder/model.py:1219 src/gpodder/model.py:1234 +#: src/gpodder/model.py:1233 src/gpodder/model.py:1248 #: share/gpodder/ui/gtk/gpodderpreferences.ui.h:10 msgid "Video" msgstr "Bideoa" -#: src/gpodder/model.py:1232 +#: src/gpodder/model.py:1246 msgid "Audio" msgstr "Audioa" -#: src/gpodder/model.py:1411 +#: src/gpodder/model.py:1425 #, python-format msgid "" "Warning: path to gPodder home (%(root)s) is very long and can result in " "failure to download files.\n" msgstr "" -#: src/gpodder/model.py:1413 +#: src/gpodder/model.py:1427 msgid "You're advised to set it to a shorter path." msgstr "" @@ -350,8 +356,8 @@ msgstr "" #: src/gpodder/syncui.py:270 src/gpodder/gtkui/main.py:837 -#: src/gpodder/gtkui/main.py:1016 src/gpodder/gtkui/main.py:2896 -#: src/gpodder/gtkui/main.py:3103 +#: src/gpodder/gtkui/main.py:1016 src/gpodder/gtkui/main.py:2917 +#: src/gpodder/gtkui/main.py:3128 #: src/gpodder/gtkui/desktop/episodeselector.py:131 msgid "Episode" msgstr "Atala" @@ -628,7 +634,8 @@ msgid "Feedparser error: %s" msgstr "Jario-analizatzaile errorea: %s" -#: src/gpodder/gtkui/main.py:1336 src/gpodder/gtkui/model.py:770 +#: src/gpodder/gtkui/main.py:1336 src/gpodder/gtkui/model.py:454 +#: src/gpodder/gtkui/model.py:783 src/gpodder/gtkui/desktop/channel.py:83 #, python-format msgid "ERROR: %s" msgstr "" @@ -668,14 +675,15 @@ msgid "Start download now" msgstr "Hasi deskarga orain" -#: src/gpodder/gtkui/main.py:1637 src/gpodder/gtkui/main.py:1919 +#: src/gpodder/gtkui/main.py:1637 src/gpodder/gtkui/main.py:1924 #: src/gpodder/gtkui/desktop/episodeselector.py:140 -#: src/gpodder/gtkui/desktop/podcastdirectory.py:192 +#: src/gpodder/gtkui/desktop/podcastdirectory.py:193 #: share/gpodder/ui/gtk/gpodder.ui.h:1 share/gpodder/ui/gtk/menus.ui.h:23 msgid "Download" msgstr "Deskarga" #: src/gpodder/gtkui/main.py:1642 share/gpodder/ui/gtk/gpodder.ui.h:2 +#: share/gpodder/ui/gtk/gpodderpodcastdirectory.ui.h:6 #: share/gpodder/ui/gtk/menus.ui.h:24 msgid "Cancel" msgstr "Utzi" @@ -708,196 +716,206 @@
View file
3.10.19.tar.gz/po/fa_IR.po -> 3.10.20.tar.gz/po/fa_IR.po
Changed
@@ -9,7 +9,7 @@ msgstr "" "Project-Id-Version: gPodder\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-04-15 02:02-0600\n" +"POT-Creation-Date: 2021-06-06 20:20-0600\n" "PO-Revision-Date: 2013-01-19 12:31+0000\n" "Last-Translator: Mohammad Dashtizadeh <mohammad@dashtizadeh.net>\n" "Language-Team: Persian (Iran) (http://www.transifex.com/projects/p/gpodder/" @@ -20,7 +20,7 @@ "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=1; plural=0;\n" -#: src/gpodder/config.py:54 +#: src/gpodder/config.py:53 #, python-format msgid "gPodder on %s" msgstr "" @@ -67,59 +67,63 @@ msgid "Imported OPML file" msgstr "" -#: src/gpodder/download.py:538 src/gpodder/sync.py:974 +#: src/gpodder/download.py:541 src/gpodder/sync.py:974 msgid "Added" msgstr "اضافه شد" -#: src/gpodder/download.py:538 src/gpodder/sync.py:974 +#: src/gpodder/download.py:541 src/gpodder/sync.py:974 msgid "Queued" msgstr "در صف قرار گرفت" -#: src/gpodder/download.py:538 src/gpodder/gtkui/model.py:381 +#: src/gpodder/download.py:541 src/gpodder/gtkui/model.py:382 msgid "Downloading" msgstr "در حال دانلود" -#: src/gpodder/download.py:539 src/gpodder/model.py:758 src/gpodder/sync.py:975 +#: src/gpodder/download.py:542 src/gpodder/model.py:772 src/gpodder/sync.py:975 msgid "Finished" msgstr "اتمام یافته" -#: src/gpodder/download.py:539 src/gpodder/sync.py:975 +#: src/gpodder/download.py:542 src/gpodder/sync.py:975 msgid "Failed" msgstr "نا موفق" -#: src/gpodder/download.py:539 src/gpodder/sync.py:975 +#: src/gpodder/download.py:542 src/gpodder/sync.py:975 msgid "Cancelled" msgstr "لغو شده" -#: src/gpodder/download.py:539 src/gpodder/sync.py:975 +#: src/gpodder/download.py:542 src/gpodder/sync.py:975 msgid "Paused" msgstr "متوقف شده" -#: src/gpodder/download.py:858 +#: src/gpodder/download.py:864 +msgid "Episode has no URL to download" +msgstr "" + +#: src/gpodder/download.py:867 msgid "Missing content from server" msgstr "" -#: src/gpodder/download.py:864 +#: src/gpodder/download.py:873 #, python-format msgid "Couldn't connect to server %(host)s:%(port)s" msgstr "" -#: src/gpodder/download.py:873 +#: src/gpodder/download.py:882 #, python-format msgid "Request Error: %(error)s" msgstr "" -#: src/gpodder/download.py:879 +#: src/gpodder/download.py:888 #, python-format msgid "I/O Error: %(error)s: %(filename)s" msgstr "" -#: src/gpodder/download.py:886 +#: src/gpodder/download.py:895 #, python-format msgid "HTTP Error %(code)s: %(message)s" msgstr "" -#: src/gpodder/download.py:890 src/gpodder/sync.py:1130 +#: src/gpodder/download.py:899 src/gpodder/sync.py:1130 #, python-format msgid "Error: %s" msgstr "خطا: %s" @@ -137,8 +141,8 @@ msgid "Post download" msgstr "" -#: src/gpodder/extensions.py:59 src/gpodder/model.py:822 -#: src/gpodder/model.py:1236 +#: src/gpodder/extensions.py:59 src/gpodder/model.py:836 +#: src/gpodder/model.py:1250 msgid "Other" msgstr "دیگر" @@ -161,41 +165,41 @@ msgid "Python module not found: %(module)s" msgstr "" -#: src/gpodder/model.py:483 src/gpodder/youtube.py:445 +#: src/gpodder/model.py:496 src/gpodder/youtube.py:457 #: src/gpodder/plugins/soundcloud.py:152 -#: share/gpodder/extensions/youtube-dl.py:211 +#: share/gpodder/extensions/youtube-dl.py:215 msgid "No description available" msgstr "هیچ توضیحی مهیا نیست" -#: src/gpodder/model.py:716 +#: src/gpodder/model.py:730 msgid "unknown" msgstr "ناشناخه" -#: src/gpodder/model.py:787 +#: src/gpodder/model.py:801 msgid "Default" msgstr "" -#: src/gpodder/model.py:788 +#: src/gpodder/model.py:802 msgid "Only keep latest" msgstr "" -#: src/gpodder/model.py:1219 src/gpodder/model.py:1234 +#: src/gpodder/model.py:1233 src/gpodder/model.py:1248 #: share/gpodder/ui/gtk/gpodderpreferences.ui.h:10 msgid "Video" msgstr "ویدئو" -#: src/gpodder/model.py:1232 +#: src/gpodder/model.py:1246 msgid "Audio" msgstr "صوت" -#: src/gpodder/model.py:1411 +#: src/gpodder/model.py:1425 #, python-format msgid "" "Warning: path to gPodder home (%(root)s) is very long and can result in " "failure to download files.\n" msgstr "" -#: src/gpodder/model.py:1413 +#: src/gpodder/model.py:1427 msgid "You're advised to set it to a shorter path." msgstr "" @@ -336,8 +340,8 @@ msgstr "" #: src/gpodder/syncui.py:270 src/gpodder/gtkui/main.py:837 -#: src/gpodder/gtkui/main.py:1016 src/gpodder/gtkui/main.py:2896 -#: src/gpodder/gtkui/main.py:3103 +#: src/gpodder/gtkui/main.py:1016 src/gpodder/gtkui/main.py:2917 +#: src/gpodder/gtkui/main.py:3128 #: src/gpodder/gtkui/desktop/episodeselector.py:131 msgid "Episode" msgstr "قسمت" @@ -602,7 +606,8 @@ msgid "Feedparser error: %s" msgstr "" -#: src/gpodder/gtkui/main.py:1336 src/gpodder/gtkui/model.py:770 +#: src/gpodder/gtkui/main.py:1336 src/gpodder/gtkui/model.py:454 +#: src/gpodder/gtkui/model.py:783 src/gpodder/gtkui/desktop/channel.py:83 #, python-format msgid "ERROR: %s" msgstr "" @@ -641,14 +646,15 @@ msgid "Start download now" msgstr "شروع بارگیری" -#: src/gpodder/gtkui/main.py:1637 src/gpodder/gtkui/main.py:1919 +#: src/gpodder/gtkui/main.py:1637 src/gpodder/gtkui/main.py:1924 #: src/gpodder/gtkui/desktop/episodeselector.py:140 -#: src/gpodder/gtkui/desktop/podcastdirectory.py:192 +#: src/gpodder/gtkui/desktop/podcastdirectory.py:193 #: share/gpodder/ui/gtk/gpodder.ui.h:1 share/gpodder/ui/gtk/menus.ui.h:23 msgid "Download" msgstr "بارگیری" #: src/gpodder/gtkui/main.py:1642 share/gpodder/ui/gtk/gpodder.ui.h:2 +#: share/gpodder/ui/gtk/gpodderpodcastdirectory.ui.h:6 #: share/gpodder/ui/gtk/menus.ui.h:24 msgid "Cancel" msgstr "لغو" @@ -681,472 +687,482 @@ msgid "Mark episodes as old" msgstr ""
View file
3.10.19.tar.gz/po/fi.po -> 3.10.20.tar.gz/po/fi.po
Changed
@@ -8,7 +8,7 @@ msgstr "" "Project-Id-Version: gPodder\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-04-15 02:02-0600\n" +"POT-Creation-Date: 2021-06-06 20:20-0600\n" "PO-Revision-Date: 2013-01-19 12:31+0000\n" "Last-Translator: Thomas Perl <m@thp.io>\n" "Language-Team: LANGUAGE <LL@li.org>\n" @@ -18,7 +18,7 @@ "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: src/gpodder/config.py:54 +#: src/gpodder/config.py:53 #, python-format msgid "gPodder on %s" msgstr "gPodder koneella %s" @@ -73,59 +73,65 @@ msgid "Imported OPML file" msgstr "Tuo OPML-tiedostosta" -#: src/gpodder/download.py:538 src/gpodder/sync.py:974 +#: src/gpodder/download.py:541 src/gpodder/sync.py:974 msgid "Added" msgstr "Lisätty" -#: src/gpodder/download.py:538 src/gpodder/sync.py:974 +#: src/gpodder/download.py:541 src/gpodder/sync.py:974 msgid "Queued" msgstr "Jonossa" -#: src/gpodder/download.py:538 src/gpodder/gtkui/model.py:381 +#: src/gpodder/download.py:541 src/gpodder/gtkui/model.py:382 msgid "Downloading" msgstr "Ladataan" -#: src/gpodder/download.py:539 src/gpodder/model.py:758 src/gpodder/sync.py:975 +#: src/gpodder/download.py:542 src/gpodder/model.py:772 src/gpodder/sync.py:975 msgid "Finished" msgstr "Valmis" -#: src/gpodder/download.py:539 src/gpodder/sync.py:975 +#: src/gpodder/download.py:542 src/gpodder/sync.py:975 msgid "Failed" msgstr "Epäonnistui" -#: src/gpodder/download.py:539 src/gpodder/sync.py:975 +#: src/gpodder/download.py:542 src/gpodder/sync.py:975 msgid "Cancelled" msgstr "Peruttu" -#: src/gpodder/download.py:539 src/gpodder/sync.py:975 +#: src/gpodder/download.py:542 src/gpodder/sync.py:975 msgid "Paused" msgstr "Tauolla" -#: src/gpodder/download.py:858 +#: src/gpodder/download.py:864 +#, fuzzy +#| msgid "Select the episodes you want to download:" +msgid "Episode has no URL to download" +msgstr "Valitse ladattavat jaksot:" + +#: src/gpodder/download.py:867 msgid "Missing content from server" msgstr "Palvelimelta puuttuu sisältöä" -#: src/gpodder/download.py:864 +#: src/gpodder/download.py:873 #, python-format msgid "Couldn't connect to server %(host)s:%(port)s" msgstr "" -#: src/gpodder/download.py:873 +#: src/gpodder/download.py:882 #, python-format msgid "Request Error: %(error)s" msgstr "" -#: src/gpodder/download.py:879 +#: src/gpodder/download.py:888 #, python-format msgid "I/O Error: %(error)s: %(filename)s" msgstr "Siirräntävirhe: %(error)s: %(filename)s" -#: src/gpodder/download.py:886 +#: src/gpodder/download.py:895 #, python-format msgid "HTTP Error %(code)s: %(message)s" msgstr "HTTP-virhe: %(code)s: %(message)s" -#: src/gpodder/download.py:890 src/gpodder/sync.py:1130 +#: src/gpodder/download.py:899 src/gpodder/sync.py:1130 #, python-format msgid "Error: %s" msgstr "Virhe: %s" @@ -144,8 +150,8 @@ msgid "Post download" msgstr "Pysäytä lataus" -#: src/gpodder/extensions.py:59 src/gpodder/model.py:822 -#: src/gpodder/model.py:1236 +#: src/gpodder/extensions.py:59 src/gpodder/model.py:836 +#: src/gpodder/model.py:1250 msgid "Other" msgstr "Muu" @@ -169,41 +175,41 @@ msgid "Python module not found: %(module)s" msgstr "Python-moduulia ”%s” ei ole asennettu" -#: src/gpodder/model.py:483 src/gpodder/youtube.py:445 +#: src/gpodder/model.py:496 src/gpodder/youtube.py:457 #: src/gpodder/plugins/soundcloud.py:152 -#: share/gpodder/extensions/youtube-dl.py:211 +#: share/gpodder/extensions/youtube-dl.py:215 msgid "No description available" msgstr "Kuvausta ei ole saatavilla" -#: src/gpodder/model.py:716 +#: src/gpodder/model.py:730 msgid "unknown" msgstr "tuntematon" -#: src/gpodder/model.py:787 +#: src/gpodder/model.py:801 msgid "Default" msgstr "" -#: src/gpodder/model.py:788 +#: src/gpodder/model.py:802 msgid "Only keep latest" msgstr "" -#: src/gpodder/model.py:1219 src/gpodder/model.py:1234 +#: src/gpodder/model.py:1233 src/gpodder/model.py:1248 #: share/gpodder/ui/gtk/gpodderpreferences.ui.h:10 msgid "Video" msgstr "" -#: src/gpodder/model.py:1232 +#: src/gpodder/model.py:1246 msgid "Audio" msgstr "" -#: src/gpodder/model.py:1411 +#: src/gpodder/model.py:1425 #, python-format msgid "" "Warning: path to gPodder home (%(root)s) is very long and can result in " "failure to download files.\n" msgstr "" -#: src/gpodder/model.py:1413 +#: src/gpodder/model.py:1427 msgid "You're advised to set it to a shorter path." msgstr "" @@ -351,8 +357,8 @@ msgstr "" #: src/gpodder/syncui.py:270 src/gpodder/gtkui/main.py:837 -#: src/gpodder/gtkui/main.py:1016 src/gpodder/gtkui/main.py:2896 -#: src/gpodder/gtkui/main.py:3103 +#: src/gpodder/gtkui/main.py:1016 src/gpodder/gtkui/main.py:2917 +#: src/gpodder/gtkui/main.py:3128 #: src/gpodder/gtkui/desktop/episodeselector.py:131 msgid "Episode" msgstr "Jakso" @@ -631,7 +637,8 @@ msgid "Feedparser error: %s" msgstr "Syötejäsentimen virhe: %s" -#: src/gpodder/gtkui/main.py:1336 src/gpodder/gtkui/model.py:770 +#: src/gpodder/gtkui/main.py:1336 src/gpodder/gtkui/model.py:454 +#: src/gpodder/gtkui/model.py:783 src/gpodder/gtkui/desktop/channel.py:83 #, python-format msgid "ERROR: %s" msgstr "" @@ -675,14 +682,15 @@ msgid "Start download now" msgstr "Aloita lataaminen nyt" -#: src/gpodder/gtkui/main.py:1637 src/gpodder/gtkui/main.py:1919 +#: src/gpodder/gtkui/main.py:1637 src/gpodder/gtkui/main.py:1924 #: src/gpodder/gtkui/desktop/episodeselector.py:140 -#: src/gpodder/gtkui/desktop/podcastdirectory.py:192 +#: src/gpodder/gtkui/desktop/podcastdirectory.py:193 #: share/gpodder/ui/gtk/gpodder.ui.h:1 share/gpodder/ui/gtk/menus.ui.h:23 msgid "Download" msgstr "Lataa" #: src/gpodder/gtkui/main.py:1642 share/gpodder/ui/gtk/gpodder.ui.h:2 +#: share/gpodder/ui/gtk/gpodderpodcastdirectory.ui.h:6 #: share/gpodder/ui/gtk/menus.ui.h:24 msgid "Cancel" msgstr "Peru" @@ -716,195 +724,205 @@ msgid "Mark episodes as old"
View file
3.10.19.tar.gz/po/fr.po -> 3.10.20.tar.gz/po/fr.po
Changed
@@ -9,7 +9,7 @@ msgstr "" "Project-Id-Version: gPodder\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-04-15 02:02-0600\n" +"POT-Creation-Date: 2021-06-06 20:20-0600\n" "PO-Revision-Date: 2021-03-27 14:15+0100\n" "Last-Translator: Eric Le Lay <elelay@macports.org>\n" "Language-Team: French (http://www.transifex.com/projects/p/gpodder/language/" @@ -21,7 +21,7 @@ "Plural-Forms: nplurals=2; plural=(n > 1);\n" "X-Generator: Poedit 2.4.1\n" -#: src/gpodder/config.py:54 +#: src/gpodder/config.py:53 #, python-format msgid "gPodder on %s" msgstr "gPodder sur %s" @@ -67,59 +67,65 @@ msgid "Imported OPML file" msgstr "Importer depuis un fichier OPML" -#: src/gpodder/download.py:538 src/gpodder/sync.py:974 +#: src/gpodder/download.py:541 src/gpodder/sync.py:974 msgid "Added" msgstr "Ajouté" -#: src/gpodder/download.py:538 src/gpodder/sync.py:974 +#: src/gpodder/download.py:541 src/gpodder/sync.py:974 msgid "Queued" msgstr "Mis en file d'attente" -#: src/gpodder/download.py:538 src/gpodder/gtkui/model.py:381 +#: src/gpodder/download.py:541 src/gpodder/gtkui/model.py:382 msgid "Downloading" msgstr "En train de télécharger" -#: src/gpodder/download.py:539 src/gpodder/model.py:758 src/gpodder/sync.py:975 +#: src/gpodder/download.py:542 src/gpodder/model.py:772 src/gpodder/sync.py:975 msgid "Finished" msgstr "Terminé" -#: src/gpodder/download.py:539 src/gpodder/sync.py:975 +#: src/gpodder/download.py:542 src/gpodder/sync.py:975 msgid "Failed" msgstr "Echoué" -#: src/gpodder/download.py:539 src/gpodder/sync.py:975 +#: src/gpodder/download.py:542 src/gpodder/sync.py:975 msgid "Cancelled" msgstr "Annulé" -#: src/gpodder/download.py:539 src/gpodder/sync.py:975 +#: src/gpodder/download.py:542 src/gpodder/sync.py:975 msgid "Paused" msgstr "En pause" -#: src/gpodder/download.py:858 +#: src/gpodder/download.py:864 +#, fuzzy +#| msgid "Select the episodes you want to download:" +msgid "Episode has no URL to download" +msgstr "Sélectionner les épisodes que vous voulez télécharger : " + +#: src/gpodder/download.py:867 msgid "Missing content from server" msgstr "Contenu manquant sur le serveur" -#: src/gpodder/download.py:864 +#: src/gpodder/download.py:873 #, python-format msgid "Couldn't connect to server %(host)s:%(port)s" msgstr "" -#: src/gpodder/download.py:873 +#: src/gpodder/download.py:882 #, python-format msgid "Request Error: %(error)s" msgstr "Erreur HTTP : %(error)s" -#: src/gpodder/download.py:879 +#: src/gpodder/download.py:888 #, python-format msgid "I/O Error: %(error)s: %(filename)s" msgstr "Erreur E/S : %(error)s :%(filename)s" -#: src/gpodder/download.py:886 +#: src/gpodder/download.py:895 #, python-format msgid "HTTP Error %(code)s: %(message)s" msgstr "Erreur HTTP %(code)s :%(message)s" -#: src/gpodder/download.py:890 src/gpodder/sync.py:1130 +#: src/gpodder/download.py:899 src/gpodder/sync.py:1130 #, python-format msgid "Error: %s" msgstr "Erreur : %s" @@ -136,8 +142,8 @@ msgid "Post download" msgstr "Suite au téléchargement" -#: src/gpodder/extensions.py:59 src/gpodder/model.py:822 -#: src/gpodder/model.py:1236 +#: src/gpodder/extensions.py:59 src/gpodder/model.py:836 +#: src/gpodder/model.py:1250 msgid "Other" msgstr "Autre" @@ -160,34 +166,34 @@ msgid "Python module not found: %(module)s" msgstr "Module python indisponible : %(module)s" -#: src/gpodder/model.py:483 src/gpodder/youtube.py:445 +#: src/gpodder/model.py:496 src/gpodder/youtube.py:457 #: src/gpodder/plugins/soundcloud.py:152 -#: share/gpodder/extensions/youtube-dl.py:211 +#: share/gpodder/extensions/youtube-dl.py:215 msgid "No description available" msgstr "Aucune description disponible" -#: src/gpodder/model.py:716 +#: src/gpodder/model.py:730 msgid "unknown" msgstr "inconnu" -#: src/gpodder/model.py:787 +#: src/gpodder/model.py:801 msgid "Default" msgstr "Par défaut" -#: src/gpodder/model.py:788 +#: src/gpodder/model.py:802 msgid "Only keep latest" msgstr "Ne conserver que le dernier" -#: src/gpodder/model.py:1219 src/gpodder/model.py:1234 +#: src/gpodder/model.py:1233 src/gpodder/model.py:1248 #: share/gpodder/ui/gtk/gpodderpreferences.ui.h:10 msgid "Video" msgstr "Vidéo" -#: src/gpodder/model.py:1232 +#: src/gpodder/model.py:1246 msgid "Audio" msgstr "Audio" -#: src/gpodder/model.py:1411 +#: src/gpodder/model.py:1425 #, python-format msgid "" "Warning: path to gPodder home (%(root)s) is very long and can result in " @@ -196,7 +202,7 @@ "Attention : le chemin vers le répertoire de stockage de gPodder (%(root)s) " "est très long et peut provoquer des erreurs au téléchargement d'épisodes.\n" -#: src/gpodder/model.py:1413 +#: src/gpodder/model.py:1427 msgid "You're advised to set it to a shorter path." msgstr "Nous vous recommandons d'utiliser un chemin plus court." @@ -347,8 +353,8 @@ "La liste de lecture sur votre périphérique multimédia a bien été mise à jour." #: src/gpodder/syncui.py:270 src/gpodder/gtkui/main.py:837 -#: src/gpodder/gtkui/main.py:1016 src/gpodder/gtkui/main.py:2896 -#: src/gpodder/gtkui/main.py:3103 +#: src/gpodder/gtkui/main.py:1016 src/gpodder/gtkui/main.py:2917 +#: src/gpodder/gtkui/main.py:3128 #: src/gpodder/gtkui/desktop/episodeselector.py:131 msgid "Episode" msgstr "Épisode" @@ -622,7 +628,8 @@ msgid "Feedparser error: %s" msgstr "Erreur de traitement du flux : %s" -#: src/gpodder/gtkui/main.py:1336 src/gpodder/gtkui/model.py:770 +#: src/gpodder/gtkui/main.py:1336 src/gpodder/gtkui/model.py:454 +#: src/gpodder/gtkui/model.py:783 src/gpodder/gtkui/desktop/channel.py:83 #, python-format msgid "ERROR: %s" msgstr "Erreur : %s" @@ -662,14 +669,15 @@ msgid "Start download now" msgstr "Démarrer le téléchargement maintenant" -#: src/gpodder/gtkui/main.py:1637 src/gpodder/gtkui/main.py:1919 +#: src/gpodder/gtkui/main.py:1637 src/gpodder/gtkui/main.py:1924 #: src/gpodder/gtkui/desktop/episodeselector.py:140 -#: src/gpodder/gtkui/desktop/podcastdirectory.py:192 +#: src/gpodder/gtkui/desktop/podcastdirectory.py:193 #: share/gpodder/ui/gtk/gpodder.ui.h:1 share/gpodder/ui/gtk/menus.ui.h:23 msgid "Download" msgstr "Télécharger" #: src/gpodder/gtkui/main.py:1642 share/gpodder/ui/gtk/gpodder.ui.h:2 +#: share/gpodder/ui/gtk/gpodderpodcastdirectory.ui.h:6 #: share/gpodder/ui/gtk/menus.ui.h:24 msgid "Cancel" msgstr "Annuler" @@ -702,28 +710,34 @@
View file
3.10.19.tar.gz/po/gl.po -> 3.10.20.tar.gz/po/gl.po
Changed
@@ -9,7 +9,7 @@ msgstr "" "Project-Id-Version: gPodder\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-04-15 02:02-0600\n" +"POT-Creation-Date: 2021-06-06 20:20-0600\n" "PO-Revision-Date: 2013-01-19 12:30+0000\n" "Last-Translator: Gonçalo Cordeiro <gzcordeiro@gmail.com>\n" "Language-Team: Galician (http://www.transifex.com/projects/p/gpodder/" @@ -20,7 +20,7 @@ "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: src/gpodder/config.py:54 +#: src/gpodder/config.py:53 #, python-format msgid "gPodder on %s" msgstr "gPodder en %s" @@ -74,60 +74,66 @@ msgid "Imported OPML file" msgstr "Importar dun ficheiro OPML" -#: src/gpodder/download.py:538 src/gpodder/sync.py:974 +#: src/gpodder/download.py:541 src/gpodder/sync.py:974 msgid "Added" msgstr "Engadido" -#: src/gpodder/download.py:538 src/gpodder/sync.py:974 +#: src/gpodder/download.py:541 src/gpodder/sync.py:974 msgid "Queued" msgstr "Na fila" -#: src/gpodder/download.py:538 src/gpodder/gtkui/model.py:381 +#: src/gpodder/download.py:541 src/gpodder/gtkui/model.py:382 msgid "Downloading" msgstr "Descargando" -#: src/gpodder/download.py:539 src/gpodder/model.py:758 src/gpodder/sync.py:975 +#: src/gpodder/download.py:542 src/gpodder/model.py:772 src/gpodder/sync.py:975 msgid "Finished" msgstr "Finalizada" -#: src/gpodder/download.py:539 src/gpodder/sync.py:975 +#: src/gpodder/download.py:542 src/gpodder/sync.py:975 msgid "Failed" msgstr "Fallou" -#: src/gpodder/download.py:539 src/gpodder/sync.py:975 +#: src/gpodder/download.py:542 src/gpodder/sync.py:975 msgid "Cancelled" msgstr "Cancelado" -#: src/gpodder/download.py:539 src/gpodder/sync.py:975 +#: src/gpodder/download.py:542 src/gpodder/sync.py:975 msgid "Paused" msgstr "Detida" -#: src/gpodder/download.py:858 +#: src/gpodder/download.py:864 +#, fuzzy +#| msgid "Select the episodes you want to download:" +msgid "Episode has no URL to download" +msgstr "Seleccione os episodios que quere descargar:" + +#: src/gpodder/download.py:867 msgid "Missing content from server" msgstr "Faltan contidos do servidor" -#: src/gpodder/download.py:864 +#: src/gpodder/download.py:873 #, python-format msgid "Couldn't connect to server %(host)s:%(port)s" msgstr "" -#: src/gpodder/download.py:873 +#: src/gpodder/download.py:882 #, fuzzy, python-format #| msgid "Syntax error: %(error)s" msgid "Request Error: %(error)s" msgstr "Erro de sintaxe: %(error)s" -#: src/gpodder/download.py:879 +#: src/gpodder/download.py:888 #, python-format msgid "I/O Error: %(error)s: %(filename)s" msgstr "Erro de E/S: %(error)s: %(filename)s" -#: src/gpodder/download.py:886 +#: src/gpodder/download.py:895 #, python-format msgid "HTTP Error %(code)s: %(message)s" msgstr "Erro de HTTP %(code)s: %(message)s" -#: src/gpodder/download.py:890 src/gpodder/sync.py:1130 +#: src/gpodder/download.py:899 src/gpodder/sync.py:1130 #, python-format msgid "Error: %s" msgstr "Erro: %s" @@ -147,8 +153,8 @@ msgid "Post download" msgstr "Seleccionar os descargados" -#: src/gpodder/extensions.py:59 src/gpodder/model.py:822 -#: src/gpodder/model.py:1236 +#: src/gpodder/extensions.py:59 src/gpodder/model.py:836 +#: src/gpodder/model.py:1250 msgid "Other" msgstr "Outro" @@ -171,41 +177,41 @@ msgid "Python module not found: %(module)s" msgstr "Non se encontrou o módulo de Python: %(module)s" -#: src/gpodder/model.py:483 src/gpodder/youtube.py:445 +#: src/gpodder/model.py:496 src/gpodder/youtube.py:457 #: src/gpodder/plugins/soundcloud.py:152 -#: share/gpodder/extensions/youtube-dl.py:211 +#: share/gpodder/extensions/youtube-dl.py:215 msgid "No description available" msgstr "Sen descrición dispoñíbel" -#: src/gpodder/model.py:716 +#: src/gpodder/model.py:730 msgid "unknown" msgstr "descoñecido" -#: src/gpodder/model.py:787 +#: src/gpodder/model.py:801 msgid "Default" msgstr "" -#: src/gpodder/model.py:788 +#: src/gpodder/model.py:802 msgid "Only keep latest" msgstr "" -#: src/gpodder/model.py:1219 src/gpodder/model.py:1234 +#: src/gpodder/model.py:1233 src/gpodder/model.py:1248 #: share/gpodder/ui/gtk/gpodderpreferences.ui.h:10 msgid "Video" msgstr "Vídeo" -#: src/gpodder/model.py:1232 +#: src/gpodder/model.py:1246 msgid "Audio" msgstr "Audio" -#: src/gpodder/model.py:1411 +#: src/gpodder/model.py:1425 #, python-format msgid "" "Warning: path to gPodder home (%(root)s) is very long and can result in " "failure to download files.\n" msgstr "" -#: src/gpodder/model.py:1413 +#: src/gpodder/model.py:1427 msgid "You're advised to set it to a shorter path." msgstr "" @@ -352,8 +358,8 @@ msgstr "" #: src/gpodder/syncui.py:270 src/gpodder/gtkui/main.py:837 -#: src/gpodder/gtkui/main.py:1016 src/gpodder/gtkui/main.py:2896 -#: src/gpodder/gtkui/main.py:3103 +#: src/gpodder/gtkui/main.py:1016 src/gpodder/gtkui/main.py:2917 +#: src/gpodder/gtkui/main.py:3128 #: src/gpodder/gtkui/desktop/episodeselector.py:131 msgid "Episode" msgstr "Episodio" @@ -630,7 +636,8 @@ msgid "Feedparser error: %s" msgstr "Erro ao analizar o feed: %s" -#: src/gpodder/gtkui/main.py:1336 src/gpodder/gtkui/model.py:770 +#: src/gpodder/gtkui/main.py:1336 src/gpodder/gtkui/model.py:454 +#: src/gpodder/gtkui/model.py:783 src/gpodder/gtkui/desktop/channel.py:83 #, python-format msgid "ERROR: %s" msgstr "" @@ -670,14 +677,15 @@ msgid "Start download now" msgstr "Comezar a descarga agora" -#: src/gpodder/gtkui/main.py:1637 src/gpodder/gtkui/main.py:1919 +#: src/gpodder/gtkui/main.py:1637 src/gpodder/gtkui/main.py:1924 #: src/gpodder/gtkui/desktop/episodeselector.py:140 -#: src/gpodder/gtkui/desktop/podcastdirectory.py:192 +#: src/gpodder/gtkui/desktop/podcastdirectory.py:193 #: share/gpodder/ui/gtk/gpodder.ui.h:1 share/gpodder/ui/gtk/menus.ui.h:23 msgid "Download" msgstr "Descargar" #: src/gpodder/gtkui/main.py:1642 share/gpodder/ui/gtk/gpodder.ui.h:2 +#: share/gpodder/ui/gtk/gpodderpodcastdirectory.ui.h:6 #: share/gpodder/ui/gtk/menus.ui.h:24 msgid "Cancel" msgstr "Cancelar" @@ -710,197 +718,207 @@
View file
3.10.19.tar.gz/po/he.po -> 3.10.20.tar.gz/po/he.po
Changed
@@ -10,7 +10,7 @@ msgstr "" "Project-Id-Version: gPodder\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-04-15 02:02-0600\n" +"POT-Creation-Date: 2021-06-06 20:20-0600\n" "PO-Revision-Date: 2013-01-19 12:30+0000\n" "Last-Translator: Thomas Perl <m@thp.io>\n" "Language-Team: Hebrew (http://www.transifex.com/projects/p/gpodder/language/" @@ -21,7 +21,7 @@ "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: src/gpodder/config.py:54 +#: src/gpodder/config.py:53 #, python-format msgid "gPodder on %s" msgstr "gPodder על %s" @@ -75,60 +75,66 @@ msgid "Imported OPML file" msgstr "ייבא מקובץ OPML" -#: src/gpodder/download.py:538 src/gpodder/sync.py:974 +#: src/gpodder/download.py:541 src/gpodder/sync.py:974 msgid "Added" msgstr "נוסף" -#: src/gpodder/download.py:538 src/gpodder/sync.py:974 +#: src/gpodder/download.py:541 src/gpodder/sync.py:974 msgid "Queued" msgstr "ממתין" -#: src/gpodder/download.py:538 src/gpodder/gtkui/model.py:381 +#: src/gpodder/download.py:541 src/gpodder/gtkui/model.py:382 msgid "Downloading" msgstr "מוריד" -#: src/gpodder/download.py:539 src/gpodder/model.py:758 src/gpodder/sync.py:975 +#: src/gpodder/download.py:542 src/gpodder/model.py:772 src/gpodder/sync.py:975 msgid "Finished" msgstr "הסתיים" -#: src/gpodder/download.py:539 src/gpodder/sync.py:975 +#: src/gpodder/download.py:542 src/gpodder/sync.py:975 msgid "Failed" msgstr "נכשל" -#: src/gpodder/download.py:539 src/gpodder/sync.py:975 +#: src/gpodder/download.py:542 src/gpodder/sync.py:975 msgid "Cancelled" msgstr "בוטל" -#: src/gpodder/download.py:539 src/gpodder/sync.py:975 +#: src/gpodder/download.py:542 src/gpodder/sync.py:975 msgid "Paused" msgstr "הושהה" -#: src/gpodder/download.py:858 +#: src/gpodder/download.py:864 +#, fuzzy +#| msgid "Select the episodes you want to download:" +msgid "Episode has no URL to download" +msgstr "בחר את הפרקים שברצונך להוריד:" + +#: src/gpodder/download.py:867 msgid "Missing content from server" msgstr "חסר תוכן מהשרת" -#: src/gpodder/download.py:864 +#: src/gpodder/download.py:873 #, python-format msgid "Couldn't connect to server %(host)s:%(port)s" msgstr "" -#: src/gpodder/download.py:873 +#: src/gpodder/download.py:882 #, fuzzy, python-format #| msgid "Syntax error: %(error)s" msgid "Request Error: %(error)s" msgstr "שגיאת תחביר: %(error)s" -#: src/gpodder/download.py:879 +#: src/gpodder/download.py:888 #, python-format msgid "I/O Error: %(error)s: %(filename)s" msgstr "שגיאת I/O: %(error)s: %(filename)s" -#: src/gpodder/download.py:886 +#: src/gpodder/download.py:895 #, python-format msgid "HTTP Error %(code)s: %(message)s" msgstr "שגיאת HTTP %(code)s: %(message)s" -#: src/gpodder/download.py:890 src/gpodder/sync.py:1130 +#: src/gpodder/download.py:899 src/gpodder/sync.py:1130 #, python-format msgid "Error: %s" msgstr "שגיאה: %s" @@ -148,8 +154,8 @@ msgid "Post download" msgstr "השהה הורדה" -#: src/gpodder/extensions.py:59 src/gpodder/model.py:822 -#: src/gpodder/model.py:1236 +#: src/gpodder/extensions.py:59 src/gpodder/model.py:836 +#: src/gpodder/model.py:1250 msgid "Other" msgstr "אחר" @@ -172,41 +178,41 @@ msgid "Python module not found: %(module)s" msgstr "מודול פייתון לא נמצא: %(module)s" -#: src/gpodder/model.py:483 src/gpodder/youtube.py:445 +#: src/gpodder/model.py:496 src/gpodder/youtube.py:457 #: src/gpodder/plugins/soundcloud.py:152 -#: share/gpodder/extensions/youtube-dl.py:211 +#: share/gpodder/extensions/youtube-dl.py:215 msgid "No description available" msgstr "אין תיאור זמין" -#: src/gpodder/model.py:716 +#: src/gpodder/model.py:730 msgid "unknown" msgstr "לא ידוע" -#: src/gpodder/model.py:787 +#: src/gpodder/model.py:801 msgid "Default" msgstr "ברירת מחדל" -#: src/gpodder/model.py:788 +#: src/gpodder/model.py:802 msgid "Only keep latest" msgstr "שמור רק את האחרון" -#: src/gpodder/model.py:1219 src/gpodder/model.py:1234 +#: src/gpodder/model.py:1233 src/gpodder/model.py:1248 #: share/gpodder/ui/gtk/gpodderpreferences.ui.h:10 msgid "Video" msgstr "וידאו" -#: src/gpodder/model.py:1232 +#: src/gpodder/model.py:1246 msgid "Audio" msgstr "שמע" -#: src/gpodder/model.py:1411 +#: src/gpodder/model.py:1425 #, python-format msgid "" "Warning: path to gPodder home (%(root)s) is very long and can result in " "failure to download files.\n" msgstr "" -#: src/gpodder/model.py:1413 +#: src/gpodder/model.py:1427 msgid "You're advised to set it to a shorter path." msgstr "" @@ -351,8 +357,8 @@ msgstr "" #: src/gpodder/syncui.py:270 src/gpodder/gtkui/main.py:837 -#: src/gpodder/gtkui/main.py:1016 src/gpodder/gtkui/main.py:2896 -#: src/gpodder/gtkui/main.py:3103 +#: src/gpodder/gtkui/main.py:1016 src/gpodder/gtkui/main.py:2917 +#: src/gpodder/gtkui/main.py:3128 #: src/gpodder/gtkui/desktop/episodeselector.py:131 msgid "Episode" msgstr "פרק" @@ -629,7 +635,8 @@ msgid "Feedparser error: %s" msgstr "שגיאת תחביר הזנה: %s" -#: src/gpodder/gtkui/main.py:1336 src/gpodder/gtkui/model.py:770 +#: src/gpodder/gtkui/main.py:1336 src/gpodder/gtkui/model.py:454 +#: src/gpodder/gtkui/model.py:783 src/gpodder/gtkui/desktop/channel.py:83 #, python-format msgid "ERROR: %s" msgstr "" @@ -669,14 +676,15 @@ msgid "Start download now" msgstr "התחל הורדה עכשיו" -#: src/gpodder/gtkui/main.py:1637 src/gpodder/gtkui/main.py:1919 +#: src/gpodder/gtkui/main.py:1637 src/gpodder/gtkui/main.py:1924 #: src/gpodder/gtkui/desktop/episodeselector.py:140 -#: src/gpodder/gtkui/desktop/podcastdirectory.py:192 +#: src/gpodder/gtkui/desktop/podcastdirectory.py:193 #: share/gpodder/ui/gtk/gpodder.ui.h:1 share/gpodder/ui/gtk/menus.ui.h:23 msgid "Download" msgstr "הורד" #: src/gpodder/gtkui/main.py:1642 share/gpodder/ui/gtk/gpodder.ui.h:2 +#: share/gpodder/ui/gtk/gpodderpodcastdirectory.ui.h:6 #: share/gpodder/ui/gtk/menus.ui.h:24 msgid "Cancel" msgstr "בטל" @@ -709,29 +717,33 @@
View file
3.10.19.tar.gz/po/hu.po -> 3.10.20.tar.gz/po/hu.po
Changed
@@ -8,7 +8,7 @@ msgstr "" "Project-Id-Version: gPodder\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-04-15 02:02-0600\n" +"POT-Creation-Date: 2021-06-06 20:20-0600\n" "PO-Revision-Date: 2018-02-25 20:35+0100\n" "Last-Translator: Balázs Meskó <mesko.balazs@fsf.hu>\n" "Language-Team: Hungarian\n" @@ -19,7 +19,7 @@ "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: Poedit 2.0.3\n" -#: src/gpodder/config.py:54 +#: src/gpodder/config.py:53 #, python-format msgid "gPodder on %s" msgstr "gPodder itt: %s" @@ -65,60 +65,66 @@ msgid "Imported OPML file" msgstr "Importált OMPL fájl" -#: src/gpodder/download.py:538 src/gpodder/sync.py:974 +#: src/gpodder/download.py:541 src/gpodder/sync.py:974 msgid "Added" msgstr "Hozzáadva" -#: src/gpodder/download.py:538 src/gpodder/sync.py:974 +#: src/gpodder/download.py:541 src/gpodder/sync.py:974 msgid "Queued" msgstr "Sorbaállítva" -#: src/gpodder/download.py:538 src/gpodder/gtkui/model.py:381 +#: src/gpodder/download.py:541 src/gpodder/gtkui/model.py:382 msgid "Downloading" msgstr "Letöltés" -#: src/gpodder/download.py:539 src/gpodder/model.py:758 src/gpodder/sync.py:975 +#: src/gpodder/download.py:542 src/gpodder/model.py:772 src/gpodder/sync.py:975 msgid "Finished" msgstr "Elkészült" -#: src/gpodder/download.py:539 src/gpodder/sync.py:975 +#: src/gpodder/download.py:542 src/gpodder/sync.py:975 msgid "Failed" msgstr "Sikertelen" -#: src/gpodder/download.py:539 src/gpodder/sync.py:975 +#: src/gpodder/download.py:542 src/gpodder/sync.py:975 msgid "Cancelled" msgstr "Megszakítva" -#: src/gpodder/download.py:539 src/gpodder/sync.py:975 +#: src/gpodder/download.py:542 src/gpodder/sync.py:975 msgid "Paused" msgstr "Szüneteltetve" -#: src/gpodder/download.py:858 +#: src/gpodder/download.py:864 +#, fuzzy +#| msgid "Select the episodes you want to download:" +msgid "Episode has no URL to download" +msgstr "Válassza ki a letöltendő epizódokat:" + +#: src/gpodder/download.py:867 msgid "Missing content from server" msgstr "Hiányzik a tartalom a kiszolgálón" -#: src/gpodder/download.py:864 +#: src/gpodder/download.py:873 #, python-format msgid "Couldn't connect to server %(host)s:%(port)s" msgstr "" -#: src/gpodder/download.py:873 +#: src/gpodder/download.py:882 #, fuzzy, python-format #| msgid "Syntax error: %(error)s" msgid "Request Error: %(error)s" msgstr "Szintaktikai hiba: %(error)s" -#: src/gpodder/download.py:879 +#: src/gpodder/download.py:888 #, python-format msgid "I/O Error: %(error)s: %(filename)s" msgstr "I/O hiba: %(error)s: %(filename)s" -#: src/gpodder/download.py:886 +#: src/gpodder/download.py:895 #, python-format msgid "HTTP Error %(code)s: %(message)s" msgstr "HTTP %(code)s hiba: %(message)s" -#: src/gpodder/download.py:890 src/gpodder/sync.py:1130 +#: src/gpodder/download.py:899 src/gpodder/sync.py:1130 #, python-format msgid "Error: %s" msgstr "Hiba: %s" @@ -135,8 +141,8 @@ msgid "Post download" msgstr "Letöltés után" -#: src/gpodder/extensions.py:59 src/gpodder/model.py:822 -#: src/gpodder/model.py:1236 +#: src/gpodder/extensions.py:59 src/gpodder/model.py:836 +#: src/gpodder/model.py:1250 msgid "Other" msgstr "Egyéb" @@ -159,41 +165,41 @@ msgid "Python module not found: %(module)s" msgstr "A Python modul nem található: %(module)s" -#: src/gpodder/model.py:483 src/gpodder/youtube.py:445 +#: src/gpodder/model.py:496 src/gpodder/youtube.py:457 #: src/gpodder/plugins/soundcloud.py:152 -#: share/gpodder/extensions/youtube-dl.py:211 +#: share/gpodder/extensions/youtube-dl.py:215 msgid "No description available" msgstr "Nem áll rendelkezésre leírás" -#: src/gpodder/model.py:716 +#: src/gpodder/model.py:730 msgid "unknown" msgstr "ismeretlen" -#: src/gpodder/model.py:787 +#: src/gpodder/model.py:801 msgid "Default" msgstr "Alapértelmezés" -#: src/gpodder/model.py:788 +#: src/gpodder/model.py:802 msgid "Only keep latest" msgstr "Csak a legfrissebb megtartása" -#: src/gpodder/model.py:1219 src/gpodder/model.py:1234 +#: src/gpodder/model.py:1233 src/gpodder/model.py:1248 #: share/gpodder/ui/gtk/gpodderpreferences.ui.h:10 msgid "Video" msgstr "Videó" -#: src/gpodder/model.py:1232 +#: src/gpodder/model.py:1246 msgid "Audio" msgstr "Hang" -#: src/gpodder/model.py:1411 +#: src/gpodder/model.py:1425 #, python-format msgid "" "Warning: path to gPodder home (%(root)s) is very long and can result in " "failure to download files.\n" msgstr "" -#: src/gpodder/model.py:1413 +#: src/gpodder/model.py:1427 msgid "You're advised to set it to a shorter path." msgstr "" @@ -340,8 +346,8 @@ msgstr "Az MP3 lejátszó lejátszólistája frissült." #: src/gpodder/syncui.py:270 src/gpodder/gtkui/main.py:837 -#: src/gpodder/gtkui/main.py:1016 src/gpodder/gtkui/main.py:2896 -#: src/gpodder/gtkui/main.py:3103 +#: src/gpodder/gtkui/main.py:1016 src/gpodder/gtkui/main.py:2917 +#: src/gpodder/gtkui/main.py:3128 #: src/gpodder/gtkui/desktop/episodeselector.py:131 msgid "Episode" msgstr "Epizód" @@ -617,7 +623,8 @@ msgid "Feedparser error: %s" msgstr "Feedparser hiba: %s" -#: src/gpodder/gtkui/main.py:1336 src/gpodder/gtkui/model.py:770 +#: src/gpodder/gtkui/main.py:1336 src/gpodder/gtkui/model.py:454 +#: src/gpodder/gtkui/model.py:783 src/gpodder/gtkui/desktop/channel.py:83 #, python-format msgid "ERROR: %s" msgstr "" @@ -657,14 +664,15 @@ msgid "Start download now" msgstr "Letöltés indítása most" -#: src/gpodder/gtkui/main.py:1637 src/gpodder/gtkui/main.py:1919 +#: src/gpodder/gtkui/main.py:1637 src/gpodder/gtkui/main.py:1924 #: src/gpodder/gtkui/desktop/episodeselector.py:140 -#: src/gpodder/gtkui/desktop/podcastdirectory.py:192 +#: src/gpodder/gtkui/desktop/podcastdirectory.py:193 #: share/gpodder/ui/gtk/gpodder.ui.h:1 share/gpodder/ui/gtk/menus.ui.h:23 msgid "Download" msgstr "Letöltés" #: src/gpodder/gtkui/main.py:1642 share/gpodder/ui/gtk/gpodder.ui.h:2 +#: share/gpodder/ui/gtk/gpodderpodcastdirectory.ui.h:6 #: share/gpodder/ui/gtk/menus.ui.h:24 msgid "Cancel" msgstr "Mégse" @@ -697,192 +705,204 @@
View file
3.10.19.tar.gz/po/id_ID.po -> 3.10.20.tar.gz/po/id_ID.po
Changed
@@ -7,7 +7,7 @@ msgstr "" "Project-Id-Version: gPodder\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-04-15 02:02-0600\n" +"POT-Creation-Date: 2021-06-06 20:20-0600\n" "PO-Revision-Date: 2013-01-19 12:31+0000\n" "Last-Translator: Thomas Perl <m@thp.io>\n" "Language-Team: Indonesian (Indonesia) (http://www.transifex.com/projects/p/" @@ -18,7 +18,7 @@ "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=1; plural=0;\n" -#: src/gpodder/config.py:54 +#: src/gpodder/config.py:53 #, python-format msgid "gPodder on %s" msgstr "" @@ -64,59 +64,63 @@ msgid "Imported OPML file" msgstr "" -#: src/gpodder/download.py:538 src/gpodder/sync.py:974 +#: src/gpodder/download.py:541 src/gpodder/sync.py:974 msgid "Added" msgstr "" -#: src/gpodder/download.py:538 src/gpodder/sync.py:974 +#: src/gpodder/download.py:541 src/gpodder/sync.py:974 msgid "Queued" msgstr "" -#: src/gpodder/download.py:538 src/gpodder/gtkui/model.py:381 +#: src/gpodder/download.py:541 src/gpodder/gtkui/model.py:382 msgid "Downloading" msgstr "" -#: src/gpodder/download.py:539 src/gpodder/model.py:758 src/gpodder/sync.py:975 +#: src/gpodder/download.py:542 src/gpodder/model.py:772 src/gpodder/sync.py:975 msgid "Finished" msgstr "" -#: src/gpodder/download.py:539 src/gpodder/sync.py:975 +#: src/gpodder/download.py:542 src/gpodder/sync.py:975 msgid "Failed" msgstr "" -#: src/gpodder/download.py:539 src/gpodder/sync.py:975 +#: src/gpodder/download.py:542 src/gpodder/sync.py:975 msgid "Cancelled" msgstr "" -#: src/gpodder/download.py:539 src/gpodder/sync.py:975 +#: src/gpodder/download.py:542 src/gpodder/sync.py:975 msgid "Paused" msgstr "" -#: src/gpodder/download.py:858 +#: src/gpodder/download.py:864 +msgid "Episode has no URL to download" +msgstr "" + +#: src/gpodder/download.py:867 msgid "Missing content from server" msgstr "" -#: src/gpodder/download.py:864 +#: src/gpodder/download.py:873 #, python-format msgid "Couldn't connect to server %(host)s:%(port)s" msgstr "" -#: src/gpodder/download.py:873 +#: src/gpodder/download.py:882 #, python-format msgid "Request Error: %(error)s" msgstr "" -#: src/gpodder/download.py:879 +#: src/gpodder/download.py:888 #, python-format msgid "I/O Error: %(error)s: %(filename)s" msgstr "" -#: src/gpodder/download.py:886 +#: src/gpodder/download.py:895 #, python-format msgid "HTTP Error %(code)s: %(message)s" msgstr "" -#: src/gpodder/download.py:890 src/gpodder/sync.py:1130 +#: src/gpodder/download.py:899 src/gpodder/sync.py:1130 #, python-format msgid "Error: %s" msgstr "" @@ -133,8 +137,8 @@ msgid "Post download" msgstr "" -#: src/gpodder/extensions.py:59 src/gpodder/model.py:822 -#: src/gpodder/model.py:1236 +#: src/gpodder/extensions.py:59 src/gpodder/model.py:836 +#: src/gpodder/model.py:1250 msgid "Other" msgstr "" @@ -157,41 +161,41 @@ msgid "Python module not found: %(module)s" msgstr "" -#: src/gpodder/model.py:483 src/gpodder/youtube.py:445 +#: src/gpodder/model.py:496 src/gpodder/youtube.py:457 #: src/gpodder/plugins/soundcloud.py:152 -#: share/gpodder/extensions/youtube-dl.py:211 +#: share/gpodder/extensions/youtube-dl.py:215 msgid "No description available" msgstr "" -#: src/gpodder/model.py:716 +#: src/gpodder/model.py:730 msgid "unknown" msgstr "" -#: src/gpodder/model.py:787 +#: src/gpodder/model.py:801 msgid "Default" msgstr "" -#: src/gpodder/model.py:788 +#: src/gpodder/model.py:802 msgid "Only keep latest" msgstr "" -#: src/gpodder/model.py:1219 src/gpodder/model.py:1234 +#: src/gpodder/model.py:1233 src/gpodder/model.py:1248 #: share/gpodder/ui/gtk/gpodderpreferences.ui.h:10 msgid "Video" msgstr "" -#: src/gpodder/model.py:1232 +#: src/gpodder/model.py:1246 msgid "Audio" msgstr "" -#: src/gpodder/model.py:1411 +#: src/gpodder/model.py:1425 #, python-format msgid "" "Warning: path to gPodder home (%(root)s) is very long and can result in " "failure to download files.\n" msgstr "" -#: src/gpodder/model.py:1413 +#: src/gpodder/model.py:1427 msgid "You're advised to set it to a shorter path." msgstr "" @@ -331,8 +335,8 @@ msgstr "" #: src/gpodder/syncui.py:270 src/gpodder/gtkui/main.py:837 -#: src/gpodder/gtkui/main.py:1016 src/gpodder/gtkui/main.py:2896 -#: src/gpodder/gtkui/main.py:3103 +#: src/gpodder/gtkui/main.py:1016 src/gpodder/gtkui/main.py:2917 +#: src/gpodder/gtkui/main.py:3128 #: src/gpodder/gtkui/desktop/episodeselector.py:131 msgid "Episode" msgstr "" @@ -592,7 +596,8 @@ msgid "Feedparser error: %s" msgstr "" -#: src/gpodder/gtkui/main.py:1336 src/gpodder/gtkui/model.py:770 +#: src/gpodder/gtkui/main.py:1336 src/gpodder/gtkui/model.py:454 +#: src/gpodder/gtkui/model.py:783 src/gpodder/gtkui/desktop/channel.py:83 #, python-format msgid "ERROR: %s" msgstr "" @@ -631,14 +636,15 @@ msgid "Start download now" msgstr "" -#: src/gpodder/gtkui/main.py:1637 src/gpodder/gtkui/main.py:1919 +#: src/gpodder/gtkui/main.py:1637 src/gpodder/gtkui/main.py:1924 #: src/gpodder/gtkui/desktop/episodeselector.py:140 -#: src/gpodder/gtkui/desktop/podcastdirectory.py:192 +#: src/gpodder/gtkui/desktop/podcastdirectory.py:193 #: share/gpodder/ui/gtk/gpodder.ui.h:1 share/gpodder/ui/gtk/menus.ui.h:23 msgid "Download" msgstr "" #: src/gpodder/gtkui/main.py:1642 share/gpodder/ui/gtk/gpodder.ui.h:2 +#: share/gpodder/ui/gtk/gpodderpodcastdirectory.ui.h:6 #: share/gpodder/ui/gtk/menus.ui.h:24 msgid "Cancel" msgstr "" @@ -671,464 +677,474 @@ msgid "Mark episodes as old" msgstr ""
View file
3.10.19.tar.gz/po/it.po -> 3.10.20.tar.gz/po/it.po
Changed
@@ -11,7 +11,7 @@ msgstr "" "Project-Id-Version: gPodder\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-04-15 02:02-0600\n" +"POT-Creation-Date: 2021-06-06 20:20-0600\n" "PO-Revision-Date: 2020-11-11 10:31+0100\n" "Last-Translator: Maurizio Ballo <xmaurizio.13@hotmail.com>\n" "Language-Team: Italian (http://www.transifex.com/projects/p/gpodder/language/" @@ -22,7 +22,7 @@ "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: src/gpodder/config.py:54 +#: src/gpodder/config.py:53 #, python-format msgid "gPodder on %s" msgstr "gPodder su %s" @@ -68,60 +68,66 @@ msgid "Imported OPML file" msgstr "Importato file OPML" -#: src/gpodder/download.py:538 src/gpodder/sync.py:974 +#: src/gpodder/download.py:541 src/gpodder/sync.py:974 msgid "Added" msgstr "Aggiunto" -#: src/gpodder/download.py:538 src/gpodder/sync.py:974 +#: src/gpodder/download.py:541 src/gpodder/sync.py:974 msgid "Queued" msgstr "In coda" -#: src/gpodder/download.py:538 src/gpodder/gtkui/model.py:381 +#: src/gpodder/download.py:541 src/gpodder/gtkui/model.py:382 msgid "Downloading" msgstr "Download in corso" -#: src/gpodder/download.py:539 src/gpodder/model.py:758 src/gpodder/sync.py:975 +#: src/gpodder/download.py:542 src/gpodder/model.py:772 src/gpodder/sync.py:975 msgid "Finished" msgstr "Completato" -#: src/gpodder/download.py:539 src/gpodder/sync.py:975 +#: src/gpodder/download.py:542 src/gpodder/sync.py:975 msgid "Failed" msgstr "Fallito" -#: src/gpodder/download.py:539 src/gpodder/sync.py:975 +#: src/gpodder/download.py:542 src/gpodder/sync.py:975 msgid "Cancelled" msgstr "Annullato" -#: src/gpodder/download.py:539 src/gpodder/sync.py:975 +#: src/gpodder/download.py:542 src/gpodder/sync.py:975 msgid "Paused" msgstr "In pausa" -#: src/gpodder/download.py:858 +#: src/gpodder/download.py:864 +#, fuzzy +#| msgid "Select the episodes you want to download:" +msgid "Episode has no URL to download" +msgstr "Seleziona gli episodi che vuoi scaricare:" + +#: src/gpodder/download.py:867 msgid "Missing content from server" msgstr "Contenuti mancanti dal server" -#: src/gpodder/download.py:864 +#: src/gpodder/download.py:873 #, python-format msgid "Couldn't connect to server %(host)s:%(port)s" msgstr "" -#: src/gpodder/download.py:873 +#: src/gpodder/download.py:882 #, fuzzy, python-format #| msgid "Syntax error: %(error)s" msgid "Request Error: %(error)s" msgstr "Errore di Sintassi: %(error)s" -#: src/gpodder/download.py:879 +#: src/gpodder/download.py:888 #, python-format msgid "I/O Error: %(error)s: %(filename)s" msgstr "Errore I/O: %(error)s: %(filename)s" -#: src/gpodder/download.py:886 +#: src/gpodder/download.py:895 #, python-format msgid "HTTP Error %(code)s: %(message)s" msgstr "Errore HTTP %(code)s: %(message)s" -#: src/gpodder/download.py:890 src/gpodder/sync.py:1130 +#: src/gpodder/download.py:899 src/gpodder/sync.py:1130 #, python-format msgid "Error: %s" msgstr "Errore: %s" @@ -138,8 +144,8 @@ msgid "Post download" msgstr "Dopo il download" -#: src/gpodder/extensions.py:59 src/gpodder/model.py:822 -#: src/gpodder/model.py:1236 +#: src/gpodder/extensions.py:59 src/gpodder/model.py:836 +#: src/gpodder/model.py:1250 msgid "Other" msgstr "Altro" @@ -162,34 +168,34 @@ msgid "Python module not found: %(module)s" msgstr "Modulo Python non installato: %(module)s" -#: src/gpodder/model.py:483 src/gpodder/youtube.py:445 +#: src/gpodder/model.py:496 src/gpodder/youtube.py:457 #: src/gpodder/plugins/soundcloud.py:152 -#: share/gpodder/extensions/youtube-dl.py:211 +#: share/gpodder/extensions/youtube-dl.py:215 msgid "No description available" msgstr "Nessuna descrizione disponibile" -#: src/gpodder/model.py:716 +#: src/gpodder/model.py:730 msgid "unknown" msgstr "sconosciuto" -#: src/gpodder/model.py:787 +#: src/gpodder/model.py:801 msgid "Default" msgstr "Predefinito" -#: src/gpodder/model.py:788 +#: src/gpodder/model.py:802 msgid "Only keep latest" msgstr "Tieni solo i più recenti" -#: src/gpodder/model.py:1219 src/gpodder/model.py:1234 +#: src/gpodder/model.py:1233 src/gpodder/model.py:1248 #: share/gpodder/ui/gtk/gpodderpreferences.ui.h:10 msgid "Video" msgstr "Video" -#: src/gpodder/model.py:1232 +#: src/gpodder/model.py:1246 msgid "Audio" msgstr "Audio" -#: src/gpodder/model.py:1411 +#: src/gpodder/model.py:1425 #, python-format msgid "" "Warning: path to gPodder home (%(root)s) is very long and can result in " @@ -198,7 +204,7 @@ "Attenzione: il percorso verso la home di gPodder (%(root)s) è molto lungo è " "può provocare il fallimento dello scaricamento di file.\n" -#: src/gpodder/model.py:1413 +#: src/gpodder/model.py:1427 msgid "You're advised to set it to a shorter path." msgstr "Si consiglia di accorciare il percorso." @@ -344,8 +350,8 @@ msgstr "La playlist sul lettore MP3 è stata aggiornata." #: src/gpodder/syncui.py:270 src/gpodder/gtkui/main.py:837 -#: src/gpodder/gtkui/main.py:1016 src/gpodder/gtkui/main.py:2896 -#: src/gpodder/gtkui/main.py:3103 +#: src/gpodder/gtkui/main.py:1016 src/gpodder/gtkui/main.py:2917 +#: src/gpodder/gtkui/main.py:3128 #: src/gpodder/gtkui/desktop/episodeselector.py:131 msgid "Episode" msgstr "Episodio" @@ -621,7 +627,8 @@ msgid "Feedparser error: %s" msgstr "Errore nel feed: %s" -#: src/gpodder/gtkui/main.py:1336 src/gpodder/gtkui/model.py:770 +#: src/gpodder/gtkui/main.py:1336 src/gpodder/gtkui/model.py:454 +#: src/gpodder/gtkui/model.py:783 src/gpodder/gtkui/desktop/channel.py:83 #, python-format msgid "ERROR: %s" msgstr "ERRORE: %s" @@ -661,14 +668,15 @@ msgid "Start download now" msgstr "Avvia download ora" -#: src/gpodder/gtkui/main.py:1637 src/gpodder/gtkui/main.py:1919 +#: src/gpodder/gtkui/main.py:1637 src/gpodder/gtkui/main.py:1924 #: src/gpodder/gtkui/desktop/episodeselector.py:140 -#: src/gpodder/gtkui/desktop/podcastdirectory.py:192 +#: src/gpodder/gtkui/desktop/podcastdirectory.py:193 #: share/gpodder/ui/gtk/gpodder.ui.h:1 share/gpodder/ui/gtk/menus.ui.h:23 msgid "Download" msgstr "Scarica" #: src/gpodder/gtkui/main.py:1642 share/gpodder/ui/gtk/gpodder.ui.h:2 +#: share/gpodder/ui/gtk/gpodderpodcastdirectory.ui.h:6 #: share/gpodder/ui/gtk/menus.ui.h:24 msgid "Cancel" msgstr "Annulla"
View file
3.10.19.tar.gz/po/kk.po -> 3.10.20.tar.gz/po/kk.po
Changed
@@ -8,7 +8,7 @@ msgstr "" "Project-Id-Version: gPodder\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-04-15 02:02-0600\n" +"POT-Creation-Date: 2021-06-06 20:20-0600\n" "PO-Revision-Date: 2013-01-19 12:30+0000\n" "Last-Translator: Baurzhan Muftakhidinov <baurthefirst@gmail.com>\n" "Language-Team: Kazakh (http://www.transifex.com/projects/p/gpodder/language/" @@ -19,7 +19,7 @@ "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=1; plural=0;\n" -#: src/gpodder/config.py:54 +#: src/gpodder/config.py:53 #, python-format msgid "gPodder on %s" msgstr "gPodder, %s" @@ -73,60 +73,66 @@ msgid "Imported OPML file" msgstr "OPML файлынан импорттау" -#: src/gpodder/download.py:538 src/gpodder/sync.py:974 +#: src/gpodder/download.py:541 src/gpodder/sync.py:974 msgid "Added" msgstr "Қосылған" -#: src/gpodder/download.py:538 src/gpodder/sync.py:974 +#: src/gpodder/download.py:541 src/gpodder/sync.py:974 msgid "Queued" msgstr "Кезекте" -#: src/gpodder/download.py:538 src/gpodder/gtkui/model.py:381 +#: src/gpodder/download.py:541 src/gpodder/gtkui/model.py:382 msgid "Downloading" msgstr "Жүктелуде" -#: src/gpodder/download.py:539 src/gpodder/model.py:758 src/gpodder/sync.py:975 +#: src/gpodder/download.py:542 src/gpodder/model.py:772 src/gpodder/sync.py:975 msgid "Finished" msgstr "Аяқталған" -#: src/gpodder/download.py:539 src/gpodder/sync.py:975 +#: src/gpodder/download.py:542 src/gpodder/sync.py:975 msgid "Failed" msgstr "Сәтсіз аяқталды" -#: src/gpodder/download.py:539 src/gpodder/sync.py:975 +#: src/gpodder/download.py:542 src/gpodder/sync.py:975 msgid "Cancelled" msgstr "Бас тартылған" -#: src/gpodder/download.py:539 src/gpodder/sync.py:975 +#: src/gpodder/download.py:542 src/gpodder/sync.py:975 msgid "Paused" msgstr "Аялдатылған" -#: src/gpodder/download.py:858 +#: src/gpodder/download.py:864 +#, fuzzy +#| msgid "Select the episodes you want to download:" +msgid "Episode has no URL to download" +msgstr "Жүктегіңіз келетін эпизодтарды таңдаңыз:" + +#: src/gpodder/download.py:867 msgid "Missing content from server" msgstr "Серверден құрама жоқ" -#: src/gpodder/download.py:864 +#: src/gpodder/download.py:873 #, python-format msgid "Couldn't connect to server %(host)s:%(port)s" msgstr "" -#: src/gpodder/download.py:873 +#: src/gpodder/download.py:882 #, fuzzy, python-format #| msgid "Syntax error: %(error)s" msgid "Request Error: %(error)s" msgstr "Синтаксис қатесі: %(error)s" -#: src/gpodder/download.py:879 +#: src/gpodder/download.py:888 #, python-format msgid "I/O Error: %(error)s: %(filename)s" msgstr "Е/Ш қатесі: %(error)s: %(filename)s" -#: src/gpodder/download.py:886 +#: src/gpodder/download.py:895 #, python-format msgid "HTTP Error %(code)s: %(message)s" msgstr "HTTP қатесі %(code)s: %(message)s" -#: src/gpodder/download.py:890 src/gpodder/sync.py:1130 +#: src/gpodder/download.py:899 src/gpodder/sync.py:1130 #, python-format msgid "Error: %s" msgstr "Қате: %s" @@ -146,8 +152,8 @@ msgid "Post download" msgstr "Жүктемені аялдату" -#: src/gpodder/extensions.py:59 src/gpodder/model.py:822 -#: src/gpodder/model.py:1236 +#: src/gpodder/extensions.py:59 src/gpodder/model.py:836 +#: src/gpodder/model.py:1250 msgid "Other" msgstr "Басқа" @@ -170,41 +176,41 @@ msgid "Python module not found: %(module)s" msgstr "Python модулі табылмады: %(module)s" -#: src/gpodder/model.py:483 src/gpodder/youtube.py:445 +#: src/gpodder/model.py:496 src/gpodder/youtube.py:457 #: src/gpodder/plugins/soundcloud.py:152 -#: share/gpodder/extensions/youtube-dl.py:211 +#: share/gpodder/extensions/youtube-dl.py:215 msgid "No description available" msgstr "Анықтамасы жоқ" -#: src/gpodder/model.py:716 +#: src/gpodder/model.py:730 msgid "unknown" msgstr "белгісіз" -#: src/gpodder/model.py:787 +#: src/gpodder/model.py:801 msgid "Default" msgstr "" -#: src/gpodder/model.py:788 +#: src/gpodder/model.py:802 msgid "Only keep latest" msgstr "" -#: src/gpodder/model.py:1219 src/gpodder/model.py:1234 +#: src/gpodder/model.py:1233 src/gpodder/model.py:1248 #: share/gpodder/ui/gtk/gpodderpreferences.ui.h:10 msgid "Video" msgstr "Видео" -#: src/gpodder/model.py:1232 +#: src/gpodder/model.py:1246 msgid "Audio" msgstr "Аудио" -#: src/gpodder/model.py:1411 +#: src/gpodder/model.py:1425 #, python-format msgid "" "Warning: path to gPodder home (%(root)s) is very long and can result in " "failure to download files.\n" msgstr "" -#: src/gpodder/model.py:1413 +#: src/gpodder/model.py:1427 msgid "You're advised to set it to a shorter path." msgstr "" @@ -349,8 +355,8 @@ msgstr "" #: src/gpodder/syncui.py:270 src/gpodder/gtkui/main.py:837 -#: src/gpodder/gtkui/main.py:1016 src/gpodder/gtkui/main.py:2896 -#: src/gpodder/gtkui/main.py:3103 +#: src/gpodder/gtkui/main.py:1016 src/gpodder/gtkui/main.py:2917 +#: src/gpodder/gtkui/main.py:3128 #: src/gpodder/gtkui/desktop/episodeselector.py:131 msgid "Episode" msgstr "Эпизод" @@ -616,7 +622,8 @@ msgid "Feedparser error: %s" msgstr "Таспа өңдеуіш қатесі: %s" -#: src/gpodder/gtkui/main.py:1336 src/gpodder/gtkui/model.py:770 +#: src/gpodder/gtkui/main.py:1336 src/gpodder/gtkui/model.py:454 +#: src/gpodder/gtkui/model.py:783 src/gpodder/gtkui/desktop/channel.py:83 #, python-format msgid "ERROR: %s" msgstr "" @@ -655,14 +662,15 @@ msgid "Start download now" msgstr "Жүктеп алуды қазір бастау" -#: src/gpodder/gtkui/main.py:1637 src/gpodder/gtkui/main.py:1919 +#: src/gpodder/gtkui/main.py:1637 src/gpodder/gtkui/main.py:1924 #: src/gpodder/gtkui/desktop/episodeselector.py:140 -#: src/gpodder/gtkui/desktop/podcastdirectory.py:192 +#: src/gpodder/gtkui/desktop/podcastdirectory.py:193 #: share/gpodder/ui/gtk/gpodder.ui.h:1 share/gpodder/ui/gtk/menus.ui.h:23 msgid "Download" msgstr "Жүктеп алу" #: src/gpodder/gtkui/main.py:1642 share/gpodder/ui/gtk/gpodder.ui.h:2 +#: share/gpodder/ui/gtk/gpodderpodcastdirectory.ui.h:6 #: share/gpodder/ui/gtk/menus.ui.h:24 msgid "Cancel" msgstr "Бас тарту" @@ -695,194 +703,204 @@
View file
3.10.19.tar.gz/po/ko_KR.po -> 3.10.20.tar.gz/po/ko_KR.po
Changed
@@ -7,7 +7,7 @@ msgstr "" "Project-Id-Version: \n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-04-15 02:02-0600\n" +"POT-Creation-Date: 2021-06-06 20:20-0600\n" "PO-Revision-Date: 2016-01-01 21:09+0900\n" "Last-Translator: \n" "Language-Team: \n" @@ -18,7 +18,7 @@ "Plural-Forms: nplurals=1; plural=0;\n" "X-Generator: Poedit 1.8.6\n" -#: src/gpodder/config.py:54 +#: src/gpodder/config.py:53 #, python-format msgid "gPodder on %s" msgstr "gPodder on %s" @@ -64,60 +64,66 @@ msgid "Imported OPML file" msgstr "가져온 파일" -#: src/gpodder/download.py:538 src/gpodder/sync.py:974 +#: src/gpodder/download.py:541 src/gpodder/sync.py:974 msgid "Added" msgstr "추가" -#: src/gpodder/download.py:538 src/gpodder/sync.py:974 +#: src/gpodder/download.py:541 src/gpodder/sync.py:974 msgid "Queued" msgstr "대기중" -#: src/gpodder/download.py:538 src/gpodder/gtkui/model.py:381 +#: src/gpodder/download.py:541 src/gpodder/gtkui/model.py:382 msgid "Downloading" msgstr "다운로드중" -#: src/gpodder/download.py:539 src/gpodder/model.py:758 src/gpodder/sync.py:975 +#: src/gpodder/download.py:542 src/gpodder/model.py:772 src/gpodder/sync.py:975 msgid "Finished" msgstr "완료" -#: src/gpodder/download.py:539 src/gpodder/sync.py:975 +#: src/gpodder/download.py:542 src/gpodder/sync.py:975 msgid "Failed" msgstr "실패" -#: src/gpodder/download.py:539 src/gpodder/sync.py:975 +#: src/gpodder/download.py:542 src/gpodder/sync.py:975 msgid "Cancelled" msgstr "취소됨" -#: src/gpodder/download.py:539 src/gpodder/sync.py:975 +#: src/gpodder/download.py:542 src/gpodder/sync.py:975 msgid "Paused" msgstr "잠시멈춤" -#: src/gpodder/download.py:858 +#: src/gpodder/download.py:864 +#, fuzzy +#| msgid "Select the episodes you want to download:" +msgid "Episode has no URL to download" +msgstr "다운로드 하려는 에피소드를 선택하세요" + +#: src/gpodder/download.py:867 msgid "Missing content from server" msgstr "서버에서 컨텐츠를 찾을 수 없음" -#: src/gpodder/download.py:864 +#: src/gpodder/download.py:873 #, python-format msgid "Couldn't connect to server %(host)s:%(port)s" msgstr "" -#: src/gpodder/download.py:873 +#: src/gpodder/download.py:882 #, fuzzy, python-format #| msgid "Syntax error: %(error)s" msgid "Request Error: %(error)s" msgstr "Syntax 에러: %(error)s" -#: src/gpodder/download.py:879 +#: src/gpodder/download.py:888 #, python-format msgid "I/O Error: %(error)s: %(filename)s" msgstr "I/O 에러: %(error)s: %(filename)s" -#: src/gpodder/download.py:886 +#: src/gpodder/download.py:895 #, python-format msgid "HTTP Error %(code)s: %(message)s" msgstr "HTTP 에러 %(code)s: %(message)s" -#: src/gpodder/download.py:890 src/gpodder/sync.py:1130 +#: src/gpodder/download.py:899 src/gpodder/sync.py:1130 #, python-format msgid "Error: %s" msgstr "에러: %s" @@ -135,8 +141,8 @@ msgid "Post download" msgstr "Post download" -#: src/gpodder/extensions.py:59 src/gpodder/model.py:822 -#: src/gpodder/model.py:1236 +#: src/gpodder/extensions.py:59 src/gpodder/model.py:836 +#: src/gpodder/model.py:1250 msgid "Other" msgstr "다른" @@ -160,41 +166,41 @@ msgid "Python module not found: %(module)s" msgstr "파이썬 모듈을 찾지 못했습니다: %(module)s" -#: src/gpodder/model.py:483 src/gpodder/youtube.py:445 +#: src/gpodder/model.py:496 src/gpodder/youtube.py:457 #: src/gpodder/plugins/soundcloud.py:152 -#: share/gpodder/extensions/youtube-dl.py:211 +#: share/gpodder/extensions/youtube-dl.py:215 msgid "No description available" msgstr "사용가능한 설명이 없습니다" -#: src/gpodder/model.py:716 +#: src/gpodder/model.py:730 msgid "unknown" msgstr "알수없는" -#: src/gpodder/model.py:787 +#: src/gpodder/model.py:801 msgid "Default" msgstr "기본" -#: src/gpodder/model.py:788 +#: src/gpodder/model.py:802 msgid "Only keep latest" msgstr "최신으로 유지" -#: src/gpodder/model.py:1219 src/gpodder/model.py:1234 +#: src/gpodder/model.py:1233 src/gpodder/model.py:1248 #: share/gpodder/ui/gtk/gpodderpreferences.ui.h:10 msgid "Video" msgstr "비디오" -#: src/gpodder/model.py:1232 +#: src/gpodder/model.py:1246 msgid "Audio" msgstr "오디오" -#: src/gpodder/model.py:1411 +#: src/gpodder/model.py:1425 #, python-format msgid "" "Warning: path to gPodder home (%(root)s) is very long and can result in " "failure to download files.\n" msgstr "" -#: src/gpodder/model.py:1413 +#: src/gpodder/model.py:1427 msgid "You're advised to set it to a shorter path." msgstr "" @@ -338,8 +344,8 @@ msgstr "MP3 플레이어에 있는 플레이리스트를 업데이트 했습니다" #: src/gpodder/syncui.py:270 src/gpodder/gtkui/main.py:837 -#: src/gpodder/gtkui/main.py:1016 src/gpodder/gtkui/main.py:2896 -#: src/gpodder/gtkui/main.py:3103 +#: src/gpodder/gtkui/main.py:1016 src/gpodder/gtkui/main.py:2917 +#: src/gpodder/gtkui/main.py:3128 #: src/gpodder/gtkui/desktop/episodeselector.py:131 msgid "Episode" msgstr "에피소드" @@ -604,7 +610,8 @@ msgid "Feedparser error: %s" msgstr "피드파서 에러: %s" -#: src/gpodder/gtkui/main.py:1336 src/gpodder/gtkui/model.py:770 +#: src/gpodder/gtkui/main.py:1336 src/gpodder/gtkui/model.py:454 +#: src/gpodder/gtkui/model.py:783 src/gpodder/gtkui/desktop/channel.py:83 #, python-format msgid "ERROR: %s" msgstr "" @@ -643,14 +650,15 @@ msgid "Start download now" msgstr "지금 다운로드 시작" -#: src/gpodder/gtkui/main.py:1637 src/gpodder/gtkui/main.py:1919 +#: src/gpodder/gtkui/main.py:1637 src/gpodder/gtkui/main.py:1924 #: src/gpodder/gtkui/desktop/episodeselector.py:140 -#: src/gpodder/gtkui/desktop/podcastdirectory.py:192 +#: src/gpodder/gtkui/desktop/podcastdirectory.py:193 #: share/gpodder/ui/gtk/gpodder.ui.h:1 share/gpodder/ui/gtk/menus.ui.h:23 msgid "Download" msgstr "다운로드" #: src/gpodder/gtkui/main.py:1642 share/gpodder/ui/gtk/gpodder.ui.h:2 +#: share/gpodder/ui/gtk/gpodderpodcastdirectory.ui.h:6 #: share/gpodder/ui/gtk/menus.ui.h:24 msgid "Cancel" msgstr "취소" @@ -683,194 +691,204 @@
View file
3.10.19.tar.gz/po/messages.pot -> 3.10.20.tar.gz/po/messages.pot
Changed
@@ -8,7 +8,7 @@ msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-04-15 02:02-0600\n" +"POT-Creation-Date: 2021-06-06 20:20-0600\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,7 +18,7 @@ "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\n" -#: src/gpodder/config.py:54 +#: src/gpodder/config.py:53 #, python-format msgid "gPodder on %s" msgstr "" @@ -64,59 +64,63 @@ msgid "Imported OPML file" msgstr "" -#: src/gpodder/download.py:538 src/gpodder/sync.py:974 +#: src/gpodder/download.py:541 src/gpodder/sync.py:974 msgid "Added" msgstr "" -#: src/gpodder/download.py:538 src/gpodder/sync.py:974 +#: src/gpodder/download.py:541 src/gpodder/sync.py:974 msgid "Queued" msgstr "" -#: src/gpodder/download.py:538 src/gpodder/gtkui/model.py:381 +#: src/gpodder/download.py:541 src/gpodder/gtkui/model.py:382 msgid "Downloading" msgstr "" -#: src/gpodder/download.py:539 src/gpodder/model.py:758 src/gpodder/sync.py:975 +#: src/gpodder/download.py:542 src/gpodder/model.py:772 src/gpodder/sync.py:975 msgid "Finished" msgstr "" -#: src/gpodder/download.py:539 src/gpodder/sync.py:975 +#: src/gpodder/download.py:542 src/gpodder/sync.py:975 msgid "Failed" msgstr "" -#: src/gpodder/download.py:539 src/gpodder/sync.py:975 +#: src/gpodder/download.py:542 src/gpodder/sync.py:975 msgid "Cancelled" msgstr "" -#: src/gpodder/download.py:539 src/gpodder/sync.py:975 +#: src/gpodder/download.py:542 src/gpodder/sync.py:975 msgid "Paused" msgstr "" -#: src/gpodder/download.py:858 +#: src/gpodder/download.py:864 +msgid "Episode has no URL to download" +msgstr "" + +#: src/gpodder/download.py:867 msgid "Missing content from server" msgstr "" -#: src/gpodder/download.py:864 +#: src/gpodder/download.py:873 #, python-format msgid "Couldn't connect to server %(host)s:%(port)s" msgstr "" -#: src/gpodder/download.py:873 +#: src/gpodder/download.py:882 #, python-format msgid "Request Error: %(error)s" msgstr "" -#: src/gpodder/download.py:879 +#: src/gpodder/download.py:888 #, python-format msgid "I/O Error: %(error)s: %(filename)s" msgstr "" -#: src/gpodder/download.py:886 +#: src/gpodder/download.py:895 #, python-format msgid "HTTP Error %(code)s: %(message)s" msgstr "" -#: src/gpodder/download.py:890 src/gpodder/sync.py:1130 +#: src/gpodder/download.py:899 src/gpodder/sync.py:1130 #, python-format msgid "Error: %s" msgstr "" @@ -133,8 +137,8 @@ msgid "Post download" msgstr "" -#: src/gpodder/extensions.py:59 src/gpodder/model.py:822 -#: src/gpodder/model.py:1236 +#: src/gpodder/extensions.py:59 src/gpodder/model.py:836 +#: src/gpodder/model.py:1250 msgid "Other" msgstr "" @@ -157,41 +161,41 @@ msgid "Python module not found: %(module)s" msgstr "" -#: src/gpodder/model.py:483 src/gpodder/youtube.py:445 +#: src/gpodder/model.py:496 src/gpodder/youtube.py:457 #: src/gpodder/plugins/soundcloud.py:152 -#: share/gpodder/extensions/youtube-dl.py:211 +#: share/gpodder/extensions/youtube-dl.py:215 msgid "No description available" msgstr "" -#: src/gpodder/model.py:716 +#: src/gpodder/model.py:730 msgid "unknown" msgstr "" -#: src/gpodder/model.py:787 +#: src/gpodder/model.py:801 msgid "Default" msgstr "" -#: src/gpodder/model.py:788 +#: src/gpodder/model.py:802 msgid "Only keep latest" msgstr "" -#: src/gpodder/model.py:1219 src/gpodder/model.py:1234 +#: src/gpodder/model.py:1233 src/gpodder/model.py:1248 #: share/gpodder/ui/gtk/gpodderpreferences.ui.h:10 msgid "Video" msgstr "" -#: src/gpodder/model.py:1232 +#: src/gpodder/model.py:1246 msgid "Audio" msgstr "" -#: src/gpodder/model.py:1411 +#: src/gpodder/model.py:1425 #, python-format msgid "" "Warning: path to gPodder home (%(root)s) is very long and can result in " "failure to download files.\n" msgstr "" -#: src/gpodder/model.py:1413 +#: src/gpodder/model.py:1427 msgid "You're advised to set it to a shorter path." msgstr "" @@ -331,8 +335,8 @@ msgstr "" #: src/gpodder/syncui.py:270 src/gpodder/gtkui/main.py:837 -#: src/gpodder/gtkui/main.py:1016 src/gpodder/gtkui/main.py:2896 -#: src/gpodder/gtkui/main.py:3103 +#: src/gpodder/gtkui/main.py:1016 src/gpodder/gtkui/main.py:2917 +#: src/gpodder/gtkui/main.py:3128 #: src/gpodder/gtkui/desktop/episodeselector.py:131 msgid "Episode" msgstr "" @@ -603,7 +607,8 @@ msgid "Feedparser error: %s" msgstr "" -#: src/gpodder/gtkui/main.py:1336 src/gpodder/gtkui/model.py:770 +#: src/gpodder/gtkui/main.py:1336 src/gpodder/gtkui/model.py:454 +#: src/gpodder/gtkui/model.py:783 src/gpodder/gtkui/desktop/channel.py:83 #, python-format msgid "ERROR: %s" msgstr "" @@ -643,14 +648,15 @@ msgid "Start download now" msgstr "" -#: src/gpodder/gtkui/main.py:1637 src/gpodder/gtkui/main.py:1919 +#: src/gpodder/gtkui/main.py:1637 src/gpodder/gtkui/main.py:1924 #: src/gpodder/gtkui/desktop/episodeselector.py:140 -#: src/gpodder/gtkui/desktop/podcastdirectory.py:192 +#: src/gpodder/gtkui/desktop/podcastdirectory.py:193 #: share/gpodder/ui/gtk/gpodder.ui.h:1 share/gpodder/ui/gtk/menus.ui.h:23 msgid "Download" msgstr "" #: src/gpodder/gtkui/main.py:1642 share/gpodder/ui/gtk/gpodder.ui.h:2 +#: share/gpodder/ui/gtk/gpodderpodcastdirectory.ui.h:6 #: share/gpodder/ui/gtk/menus.ui.h:24 msgid "Cancel" msgstr "" @@ -683,472 +689,482 @@ msgid "Mark episodes as old" msgstr ""
View file
3.10.19.tar.gz/po/nb.po -> 3.10.20.tar.gz/po/nb.po
Changed
@@ -11,7 +11,7 @@ msgstr "" "Project-Id-Version: gPodder\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-04-15 02:02-0600\n" +"POT-Creation-Date: 2021-06-06 20:20-0600\n" "PO-Revision-Date: 2013-01-19 12:30+0000\n" "Last-Translator: Thomas Perl <m@thp.io>\n" "Language-Team: Norwegian Bokmål (http://www.transifex.com/projects/p/gpodder/" @@ -22,7 +22,7 @@ "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: src/gpodder/config.py:54 +#: src/gpodder/config.py:53 #, python-format msgid "gPodder on %s" msgstr "gPodder på %s" @@ -77,59 +77,65 @@ msgid "Imported OPML file" msgstr "Importer fra OPML-fil" -#: src/gpodder/download.py:538 src/gpodder/sync.py:974 +#: src/gpodder/download.py:541 src/gpodder/sync.py:974 msgid "Added" msgstr "Lagt til" -#: src/gpodder/download.py:538 src/gpodder/sync.py:974 +#: src/gpodder/download.py:541 src/gpodder/sync.py:974 msgid "Queued" msgstr "I kø" -#: src/gpodder/download.py:538 src/gpodder/gtkui/model.py:381 +#: src/gpodder/download.py:541 src/gpodder/gtkui/model.py:382 msgid "Downloading" msgstr "Laster ned" -#: src/gpodder/download.py:539 src/gpodder/model.py:758 src/gpodder/sync.py:975 +#: src/gpodder/download.py:542 src/gpodder/model.py:772 src/gpodder/sync.py:975 msgid "Finished" msgstr "Ferdig" -#: src/gpodder/download.py:539 src/gpodder/sync.py:975 +#: src/gpodder/download.py:542 src/gpodder/sync.py:975 msgid "Failed" msgstr "Feilet" -#: src/gpodder/download.py:539 src/gpodder/sync.py:975 +#: src/gpodder/download.py:542 src/gpodder/sync.py:975 msgid "Cancelled" msgstr "Avbrutt" -#: src/gpodder/download.py:539 src/gpodder/sync.py:975 +#: src/gpodder/download.py:542 src/gpodder/sync.py:975 msgid "Paused" msgstr "Pauset" -#: src/gpodder/download.py:858 +#: src/gpodder/download.py:864 +#, fuzzy +#| msgid "Select the episodes you want to download:" +msgid "Episode has no URL to download" +msgstr "Velg de episodene du vil laste ned:" + +#: src/gpodder/download.py:867 msgid "Missing content from server" msgstr "Manglende innhold fra tjener" -#: src/gpodder/download.py:864 +#: src/gpodder/download.py:873 #, python-format msgid "Couldn't connect to server %(host)s:%(port)s" msgstr "" -#: src/gpodder/download.py:873 +#: src/gpodder/download.py:882 #, python-format msgid "Request Error: %(error)s" msgstr "" -#: src/gpodder/download.py:879 +#: src/gpodder/download.py:888 #, python-format msgid "I/O Error: %(error)s: %(filename)s" msgstr "I/O feil: %(error)s: %(filename)s" -#: src/gpodder/download.py:886 +#: src/gpodder/download.py:895 #, python-format msgid "HTTP Error %(code)s: %(message)s" msgstr "HTTP feil %(code)s: %(message)s" -#: src/gpodder/download.py:890 src/gpodder/sync.py:1130 +#: src/gpodder/download.py:899 src/gpodder/sync.py:1130 #, python-format msgid "Error: %s" msgstr "Feil: %s" @@ -148,8 +154,8 @@ msgid "Post download" msgstr "Pause nedlasting" -#: src/gpodder/extensions.py:59 src/gpodder/model.py:822 -#: src/gpodder/model.py:1236 +#: src/gpodder/extensions.py:59 src/gpodder/model.py:836 +#: src/gpodder/model.py:1250 msgid "Other" msgstr "Annet" @@ -173,41 +179,41 @@ msgid "Python module not found: %(module)s" msgstr "Python modul «%s» er ikke installert" -#: src/gpodder/model.py:483 src/gpodder/youtube.py:445 +#: src/gpodder/model.py:496 src/gpodder/youtube.py:457 #: src/gpodder/plugins/soundcloud.py:152 -#: share/gpodder/extensions/youtube-dl.py:211 +#: share/gpodder/extensions/youtube-dl.py:215 msgid "No description available" msgstr "Ingen beskrivelse tilgjengelig" -#: src/gpodder/model.py:716 +#: src/gpodder/model.py:730 msgid "unknown" msgstr "ukjent" -#: src/gpodder/model.py:787 +#: src/gpodder/model.py:801 msgid "Default" msgstr "" -#: src/gpodder/model.py:788 +#: src/gpodder/model.py:802 msgid "Only keep latest" msgstr "" -#: src/gpodder/model.py:1219 src/gpodder/model.py:1234 +#: src/gpodder/model.py:1233 src/gpodder/model.py:1248 #: share/gpodder/ui/gtk/gpodderpreferences.ui.h:10 msgid "Video" msgstr "Video" -#: src/gpodder/model.py:1232 +#: src/gpodder/model.py:1246 msgid "Audio" msgstr "Audio" -#: src/gpodder/model.py:1411 +#: src/gpodder/model.py:1425 #, python-format msgid "" "Warning: path to gPodder home (%(root)s) is very long and can result in " "failure to download files.\n" msgstr "" -#: src/gpodder/model.py:1413 +#: src/gpodder/model.py:1427 msgid "You're advised to set it to a shorter path." msgstr "" @@ -353,8 +359,8 @@ msgstr "" #: src/gpodder/syncui.py:270 src/gpodder/gtkui/main.py:837 -#: src/gpodder/gtkui/main.py:1016 src/gpodder/gtkui/main.py:2896 -#: src/gpodder/gtkui/main.py:3103 +#: src/gpodder/gtkui/main.py:1016 src/gpodder/gtkui/main.py:2917 +#: src/gpodder/gtkui/main.py:3128 #: src/gpodder/gtkui/desktop/episodeselector.py:131 msgid "Episode" msgstr "Episode" @@ -632,7 +638,8 @@ msgid "Feedparser error: %s" msgstr "Kildeparserfeil: %s" -#: src/gpodder/gtkui/main.py:1336 src/gpodder/gtkui/model.py:770 +#: src/gpodder/gtkui/main.py:1336 src/gpodder/gtkui/model.py:454 +#: src/gpodder/gtkui/model.py:783 src/gpodder/gtkui/desktop/channel.py:83 #, python-format msgid "ERROR: %s" msgstr "" @@ -676,14 +683,15 @@ msgid "Start download now" msgstr "Begynn nedlasting nå" -#: src/gpodder/gtkui/main.py:1637 src/gpodder/gtkui/main.py:1919 +#: src/gpodder/gtkui/main.py:1637 src/gpodder/gtkui/main.py:1924 #: src/gpodder/gtkui/desktop/episodeselector.py:140 -#: src/gpodder/gtkui/desktop/podcastdirectory.py:192 +#: src/gpodder/gtkui/desktop/podcastdirectory.py:193 #: share/gpodder/ui/gtk/gpodder.ui.h:1 share/gpodder/ui/gtk/menus.ui.h:23 msgid "Download" msgstr "Last ned" #: src/gpodder/gtkui/main.py:1642 share/gpodder/ui/gtk/gpodder.ui.h:2 +#: share/gpodder/ui/gtk/gpodderpodcastdirectory.ui.h:6 #: share/gpodder/ui/gtk/menus.ui.h:24 msgid "Cancel" msgstr "Avbryt" @@ -716,195 +724,205 @@ msgid "Mark episodes as old"
View file
3.10.19.tar.gz/po/nl.po -> 3.10.20.tar.gz/po/nl.po
Changed
@@ -11,9 +11,9 @@ msgstr "" "Project-Id-Version: gPodder\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-04-15 02:02-0600\n" -"PO-Revision-Date: 2021-03-29 16:56+0200\n" -"Last-Translator: Heimen Stoffels <vistausss@outlook.com>\n" +"POT-Creation-Date: 2021-06-06 20:20-0600\n" +"PO-Revision-Date: 2021-06-01 13:27+0200\n" +"Last-Translator: Heimen Stoffels <vistausss@fastmail.com>\n" "Language-Team: Dutch (http://www.transifex.com/projects/p/gpodder/language/" "nl/)\n" "Language: nl\n" @@ -21,9 +21,9 @@ "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -"X-Generator: Poedit 2.4.2\n" +"X-Generator: Poedit 2.4.3\n" -#: src/gpodder/config.py:54 +#: src/gpodder/config.py:53 #, python-format msgid "gPodder on %s" msgstr "gPodder op %s" @@ -69,59 +69,63 @@ msgid "Imported OPML file" msgstr "OPML-bestand geïmporteerd" -#: src/gpodder/download.py:538 src/gpodder/sync.py:974 +#: src/gpodder/download.py:541 src/gpodder/sync.py:974 msgid "Added" msgstr "Toegevoegd" -#: src/gpodder/download.py:538 src/gpodder/sync.py:974 +#: src/gpodder/download.py:541 src/gpodder/sync.py:974 msgid "Queued" msgstr "In wachtrij" -#: src/gpodder/download.py:538 src/gpodder/gtkui/model.py:381 +#: src/gpodder/download.py:541 src/gpodder/gtkui/model.py:382 msgid "Downloading" msgstr "Bezig met downloaden" -#: src/gpodder/download.py:539 src/gpodder/model.py:758 src/gpodder/sync.py:975 +#: src/gpodder/download.py:542 src/gpodder/model.py:772 src/gpodder/sync.py:975 msgid "Finished" msgstr "Afgerond" -#: src/gpodder/download.py:539 src/gpodder/sync.py:975 +#: src/gpodder/download.py:542 src/gpodder/sync.py:975 msgid "Failed" msgstr "Mislukt" -#: src/gpodder/download.py:539 src/gpodder/sync.py:975 +#: src/gpodder/download.py:542 src/gpodder/sync.py:975 msgid "Cancelled" msgstr "Geannuleerd" -#: src/gpodder/download.py:539 src/gpodder/sync.py:975 +#: src/gpodder/download.py:542 src/gpodder/sync.py:975 msgid "Paused" msgstr "Gepauzeerd" -#: src/gpodder/download.py:858 +#: src/gpodder/download.py:864 +msgid "Episode has no URL to download" +msgstr "De aflevering bevat geen url" + +#: src/gpodder/download.py:867 msgid "Missing content from server" msgstr "Ontbrekende serverinhoud" -#: src/gpodder/download.py:864 +#: src/gpodder/download.py:873 #, python-format msgid "Couldn't connect to server %(host)s:%(port)s" msgstr "Kan niet verbinden met server %(host)s:%(port)s" -#: src/gpodder/download.py:873 +#: src/gpodder/download.py:882 #, python-format msgid "Request Error: %(error)s" msgstr "Verzoekfout: %(error)s" -#: src/gpodder/download.py:879 +#: src/gpodder/download.py:888 #, python-format msgid "I/O Error: %(error)s: %(filename)s" msgstr "In-/Uitvoerfout: %(error)s: %(filename)s" -#: src/gpodder/download.py:886 +#: src/gpodder/download.py:895 #, python-format msgid "HTTP Error %(code)s: %(message)s" msgstr "HTTP-fout %(code)s: %(message)s" -#: src/gpodder/download.py:890 src/gpodder/sync.py:1130 +#: src/gpodder/download.py:899 src/gpodder/sync.py:1130 #, python-format msgid "Error: %s" msgstr "Fout: %s" @@ -138,8 +142,8 @@ msgid "Post download" msgstr "Vóór het downloaden" -#: src/gpodder/extensions.py:59 src/gpodder/model.py:822 -#: src/gpodder/model.py:1236 +#: src/gpodder/extensions.py:59 src/gpodder/model.py:836 +#: src/gpodder/model.py:1250 msgid "Other" msgstr "Overig" @@ -162,34 +166,34 @@ msgid "Python module not found: %(module)s" msgstr "Python-module niet aangetroffen: %(module)s" -#: src/gpodder/model.py:483 src/gpodder/youtube.py:445 +#: src/gpodder/model.py:496 src/gpodder/youtube.py:457 #: src/gpodder/plugins/soundcloud.py:152 -#: share/gpodder/extensions/youtube-dl.py:211 +#: share/gpodder/extensions/youtube-dl.py:215 msgid "No description available" msgstr "Geen omschrijving beschikbaar" -#: src/gpodder/model.py:716 +#: src/gpodder/model.py:730 msgid "unknown" msgstr "onbekend" -#: src/gpodder/model.py:787 +#: src/gpodder/model.py:801 msgid "Default" msgstr "Standaard" -#: src/gpodder/model.py:788 +#: src/gpodder/model.py:802 msgid "Only keep latest" msgstr "Alleen nieuwste behouden" -#: src/gpodder/model.py:1219 src/gpodder/model.py:1234 +#: src/gpodder/model.py:1233 src/gpodder/model.py:1248 #: share/gpodder/ui/gtk/gpodderpreferences.ui.h:10 msgid "Video" msgstr "Video" -#: src/gpodder/model.py:1232 +#: src/gpodder/model.py:1246 msgid "Audio" msgstr "Audio" -#: src/gpodder/model.py:1411 +#: src/gpodder/model.py:1425 #, python-format msgid "" "Warning: path to gPodder home (%(root)s) is very long and can result in " @@ -198,7 +202,7 @@ "Waarschuwing: het pad naar de gPodder-locatie (%(root)s) is erg lang en kan " "leiden tot mislukte downloads.\n" -#: src/gpodder/model.py:1413 +#: src/gpodder/model.py:1427 msgid "You're advised to set it to a shorter path." msgstr "Wij raden een korter pad aan." @@ -343,8 +347,8 @@ msgstr "De afspeellijst op je mp3-speler is bijgewerkt." #: src/gpodder/syncui.py:270 src/gpodder/gtkui/main.py:837 -#: src/gpodder/gtkui/main.py:1016 src/gpodder/gtkui/main.py:2896 -#: src/gpodder/gtkui/main.py:3103 +#: src/gpodder/gtkui/main.py:1016 src/gpodder/gtkui/main.py:2917 +#: src/gpodder/gtkui/main.py:3128 #: src/gpodder/gtkui/desktop/episodeselector.py:131 msgid "Episode" msgstr "Aflevering" @@ -615,7 +619,8 @@ msgid "Feedparser error: %s" msgstr "Feedparser-fout: %s" -#: src/gpodder/gtkui/main.py:1336 src/gpodder/gtkui/model.py:770 +#: src/gpodder/gtkui/main.py:1336 src/gpodder/gtkui/model.py:454 +#: src/gpodder/gtkui/model.py:783 src/gpodder/gtkui/desktop/channel.py:83 #, python-format msgid "ERROR: %s" msgstr "FOUT: %s" @@ -655,14 +660,15 @@ msgid "Start download now" msgstr "Downloaden nu starten" -#: src/gpodder/gtkui/main.py:1637 src/gpodder/gtkui/main.py:1919 +#: src/gpodder/gtkui/main.py:1637 src/gpodder/gtkui/main.py:1924 #: src/gpodder/gtkui/desktop/episodeselector.py:140 -#: src/gpodder/gtkui/desktop/podcastdirectory.py:192 +#: src/gpodder/gtkui/desktop/podcastdirectory.py:193 #: share/gpodder/ui/gtk/gpodder.ui.h:1 share/gpodder/ui/gtk/menus.ui.h:23 msgid "Download" msgstr "Downloaden" #: src/gpodder/gtkui/main.py:1642 share/gpodder/ui/gtk/gpodder.ui.h:2
View file
3.10.19.tar.gz/po/nn.po -> 3.10.20.tar.gz/po/nn.po
Changed
@@ -9,8 +9,8 @@ msgstr "" "Project-Id-Version: gPodder\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-04-15 02:02-0600\n" -"PO-Revision-Date: 2021-03-28 19:18+0200\n" +"POT-Creation-Date: 2021-06-06 20:20-0600\n" +"PO-Revision-Date: 2021-06-02 17:31+0200\n" "Last-Translator: Karl Ove Hufthammer <karl@huftis.org>\n" "Language-Team: Norwegian Nynorsk <l10n-no@lister.huftis.org>\n" "Language: nn\n" @@ -18,9 +18,9 @@ "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -"X-Generator: Lokalize 20.12.3\n" +"X-Generator: Lokalize 21.04.1\n" -#: src/gpodder/config.py:54 +#: src/gpodder/config.py:53 #, python-format msgid "gPodder on %s" msgstr "gPodder på %s" @@ -66,59 +66,63 @@ msgid "Imported OPML file" msgstr "Importert OPML-fil" -#: src/gpodder/download.py:538 src/gpodder/sync.py:974 +#: src/gpodder/download.py:541 src/gpodder/sync.py:974 msgid "Added" msgstr "Lagd til" -#: src/gpodder/download.py:538 src/gpodder/sync.py:974 +#: src/gpodder/download.py:541 src/gpodder/sync.py:974 msgid "Queued" msgstr "Lagd i kø" -#: src/gpodder/download.py:538 src/gpodder/gtkui/model.py:381 +#: src/gpodder/download.py:541 src/gpodder/gtkui/model.py:382 msgid "Downloading" msgstr "Lastar ned" -#: src/gpodder/download.py:539 src/gpodder/model.py:758 src/gpodder/sync.py:975 +#: src/gpodder/download.py:542 src/gpodder/model.py:772 src/gpodder/sync.py:975 msgid "Finished" msgstr "Fullført" -#: src/gpodder/download.py:539 src/gpodder/sync.py:975 +#: src/gpodder/download.py:542 src/gpodder/sync.py:975 msgid "Failed" msgstr "Mislukka" -#: src/gpodder/download.py:539 src/gpodder/sync.py:975 +#: src/gpodder/download.py:542 src/gpodder/sync.py:975 msgid "Cancelled" msgstr "Avbroten" -#: src/gpodder/download.py:539 src/gpodder/sync.py:975 +#: src/gpodder/download.py:542 src/gpodder/sync.py:975 msgid "Paused" msgstr "Sett på pause" -#: src/gpodder/download.py:858 +#: src/gpodder/download.py:864 +msgid "Episode has no URL to download" +msgstr "Episoden manglar nedlastingslenkje" + +#: src/gpodder/download.py:867 msgid "Missing content from server" msgstr "Manglar innhald frå tenaren" -#: src/gpodder/download.py:864 +#: src/gpodder/download.py:873 #, python-format msgid "Couldn't connect to server %(host)s:%(port)s" msgstr "Klarte ikkje kopla til tenaren %(host)s:%(port)s" -#: src/gpodder/download.py:873 +#: src/gpodder/download.py:882 #, python-format msgid "Request Error: %(error)s" msgstr "Feil ved førespurnad: %(error)s" -#: src/gpodder/download.py:879 +#: src/gpodder/download.py:888 #, python-format msgid "I/O Error: %(error)s: %(filename)s" msgstr "I/U-feil: %(error)s: %(filename)s" -#: src/gpodder/download.py:886 +#: src/gpodder/download.py:895 #, python-format msgid "HTTP Error %(code)s: %(message)s" msgstr "HTTP-feil %(code)s: %(message)s" -#: src/gpodder/download.py:890 src/gpodder/sync.py:1130 +#: src/gpodder/download.py:899 src/gpodder/sync.py:1130 #, python-format msgid "Error: %s" msgstr "Feil: %s" @@ -137,8 +141,8 @@ msgstr "Etter nedlasting" # Noko anna enn video eller lyd. -#: src/gpodder/extensions.py:59 src/gpodder/model.py:822 -#: src/gpodder/model.py:1236 +#: src/gpodder/extensions.py:59 src/gpodder/model.py:836 +#: src/gpodder/model.py:1250 msgid "Other" msgstr "Anna" @@ -161,34 +165,34 @@ msgid "Python module not found: %(module)s" msgstr "Fann ikkje Python-modul: %(module)s" -#: src/gpodder/model.py:483 src/gpodder/youtube.py:445 +#: src/gpodder/model.py:496 src/gpodder/youtube.py:457 #: src/gpodder/plugins/soundcloud.py:152 -#: share/gpodder/extensions/youtube-dl.py:211 +#: share/gpodder/extensions/youtube-dl.py:215 msgid "No description available" msgstr "Inga skildring tilgjengeleg" -#: src/gpodder/model.py:716 +#: src/gpodder/model.py:730 msgid "unknown" msgstr "ukjend" -#: src/gpodder/model.py:787 +#: src/gpodder/model.py:801 msgid "Default" msgstr "Standard" -#: src/gpodder/model.py:788 +#: src/gpodder/model.py:802 msgid "Only keep latest" msgstr "Behald berre nyaste episodar" -#: src/gpodder/model.py:1219 src/gpodder/model.py:1234 +#: src/gpodder/model.py:1233 src/gpodder/model.py:1248 #: share/gpodder/ui/gtk/gpodderpreferences.ui.h:10 msgid "Video" msgstr "Video" -#: src/gpodder/model.py:1232 +#: src/gpodder/model.py:1246 msgid "Audio" msgstr "Lyd" -#: src/gpodder/model.py:1411 +#: src/gpodder/model.py:1425 #, python-format msgid "" "Warning: path to gPodder home (%(root)s) is very long and can result in " @@ -197,7 +201,7 @@ "Åtvaring: Adressa til gPodder-mappa (%(root)s) er veldig lang, noko som kan " "føra til feil ved nedlasting av filer.\n" -#: src/gpodder/model.py:1413 +#: src/gpodder/model.py:1427 msgid "You're advised to set it to a shorter path." msgstr "Du bør flytta mappa for å gjera adressa kortare." @@ -342,8 +346,8 @@ msgstr "Spelelista på MP3-spelaren er no oppdatert." #: src/gpodder/syncui.py:270 src/gpodder/gtkui/main.py:837 -#: src/gpodder/gtkui/main.py:1016 src/gpodder/gtkui/main.py:2896 -#: src/gpodder/gtkui/main.py:3103 +#: src/gpodder/gtkui/main.py:1016 src/gpodder/gtkui/main.py:2917 +#: src/gpodder/gtkui/main.py:3128 #: src/gpodder/gtkui/desktop/episodeselector.py:131 msgid "Episode" msgstr "Episode" @@ -617,7 +621,8 @@ msgid "Feedparser error: %s" msgstr "Feil ved innlesing av kjelde: %s" -#: src/gpodder/gtkui/main.py:1336 src/gpodder/gtkui/model.py:770 +#: src/gpodder/gtkui/main.py:1336 src/gpodder/gtkui/model.py:454 +#: src/gpodder/gtkui/model.py:783 src/gpodder/gtkui/desktop/channel.py:83 #, python-format msgid "ERROR: %s" msgstr "FEIL: %s" @@ -658,14 +663,15 @@ msgid "Start download now" msgstr "Start nedlasting no" -#: src/gpodder/gtkui/main.py:1637 src/gpodder/gtkui/main.py:1919 +#: src/gpodder/gtkui/main.py:1637 src/gpodder/gtkui/main.py:1924 #: src/gpodder/gtkui/desktop/episodeselector.py:140 -#: src/gpodder/gtkui/desktop/podcastdirectory.py:192 +#: src/gpodder/gtkui/desktop/podcastdirectory.py:193 #: share/gpodder/ui/gtk/gpodder.ui.h:1 share/gpodder/ui/gtk/menus.ui.h:23 msgid "Download" msgstr "Last ned" #: src/gpodder/gtkui/main.py:1642 share/gpodder/ui/gtk/gpodder.ui.h:2 +#: share/gpodder/ui/gtk/gpodderpodcastdirectory.ui.h:6 #: share/gpodder/ui/gtk/menus.ui.h:24
View file
3.10.19.tar.gz/po/pl.po -> 3.10.20.tar.gz/po/pl.po
Changed
@@ -9,7 +9,7 @@ msgstr "" "Project-Id-Version: gPodder\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-04-15 02:02-0600\n" +"POT-Creation-Date: 2021-06-06 20:20-0600\n" "PO-Revision-Date: 2019-09-11 14:42+0200\n" "Last-Translator: Karol Bieńkowski <karolbienkowski@protonmail.com>\n" "Language-Team: Polish <>\n" @@ -21,7 +21,7 @@ "|| n%100>=20) ? 1 : 2);\n" "X-Generator: Lokalize 19.08.0\n" -#: src/gpodder/config.py:54 +#: src/gpodder/config.py:53 #, python-format msgid "gPodder on %s" msgstr "gPodder na %s" @@ -67,60 +67,66 @@ msgid "Imported OPML file" msgstr "Zaimportowano plik OPML" -#: src/gpodder/download.py:538 src/gpodder/sync.py:974 +#: src/gpodder/download.py:541 src/gpodder/sync.py:974 msgid "Added" msgstr "Dodane" -#: src/gpodder/download.py:538 src/gpodder/sync.py:974 +#: src/gpodder/download.py:541 src/gpodder/sync.py:974 msgid "Queued" msgstr "W kolejce" -#: src/gpodder/download.py:538 src/gpodder/gtkui/model.py:381 +#: src/gpodder/download.py:541 src/gpodder/gtkui/model.py:382 msgid "Downloading" msgstr "Pobieranie" -#: src/gpodder/download.py:539 src/gpodder/model.py:758 src/gpodder/sync.py:975 +#: src/gpodder/download.py:542 src/gpodder/model.py:772 src/gpodder/sync.py:975 msgid "Finished" msgstr "Ukończone" -#: src/gpodder/download.py:539 src/gpodder/sync.py:975 +#: src/gpodder/download.py:542 src/gpodder/sync.py:975 msgid "Failed" msgstr "Nieudane" -#: src/gpodder/download.py:539 src/gpodder/sync.py:975 +#: src/gpodder/download.py:542 src/gpodder/sync.py:975 msgid "Cancelled" msgstr "Anulowane" -#: src/gpodder/download.py:539 src/gpodder/sync.py:975 +#: src/gpodder/download.py:542 src/gpodder/sync.py:975 msgid "Paused" msgstr "Wstrzymane" -#: src/gpodder/download.py:858 +#: src/gpodder/download.py:864 +#, fuzzy +#| msgid "Select the episodes you want to download:" +msgid "Episode has no URL to download" +msgstr "Zaznacz odcinki do pobrania:" + +#: src/gpodder/download.py:867 msgid "Missing content from server" msgstr "Brak zawartości na serwerze" -#: src/gpodder/download.py:864 +#: src/gpodder/download.py:873 #, python-format msgid "Couldn't connect to server %(host)s:%(port)s" msgstr "" -#: src/gpodder/download.py:873 +#: src/gpodder/download.py:882 #, fuzzy, python-format #| msgid "Syntax error: %(error)s" msgid "Request Error: %(error)s" msgstr "Błąd składni: %(error)s" -#: src/gpodder/download.py:879 +#: src/gpodder/download.py:888 #, python-format msgid "I/O Error: %(error)s: %(filename)s" msgstr "Błąd we/wy: %(error)s: %(filename)s" -#: src/gpodder/download.py:886 +#: src/gpodder/download.py:895 #, python-format msgid "HTTP Error %(code)s: %(message)s" msgstr "Błąd HTTP %(code)s: %(message)s" -#: src/gpodder/download.py:890 src/gpodder/sync.py:1130 +#: src/gpodder/download.py:899 src/gpodder/sync.py:1130 #, python-format msgid "Error: %s" msgstr "Błąd: %s" @@ -137,8 +143,8 @@ msgid "Post download" msgstr "Po ściągnięciu" -#: src/gpodder/extensions.py:59 src/gpodder/model.py:822 -#: src/gpodder/model.py:1236 +#: src/gpodder/extensions.py:59 src/gpodder/model.py:836 +#: src/gpodder/model.py:1250 msgid "Other" msgstr "Inne" @@ -161,34 +167,34 @@ msgid "Python module not found: %(module)s" msgstr "Nie znaleziono modułu Pythona: %(module)s" -#: src/gpodder/model.py:483 src/gpodder/youtube.py:445 +#: src/gpodder/model.py:496 src/gpodder/youtube.py:457 #: src/gpodder/plugins/soundcloud.py:152 -#: share/gpodder/extensions/youtube-dl.py:211 +#: share/gpodder/extensions/youtube-dl.py:215 msgid "No description available" msgstr "Opis niedostępny" -#: src/gpodder/model.py:716 +#: src/gpodder/model.py:730 msgid "unknown" msgstr "nieznany" -#: src/gpodder/model.py:787 +#: src/gpodder/model.py:801 msgid "Default" msgstr "Domyślnie" -#: src/gpodder/model.py:788 +#: src/gpodder/model.py:802 msgid "Only keep latest" msgstr "Zachowaj tylko najnowsze" -#: src/gpodder/model.py:1219 src/gpodder/model.py:1234 +#: src/gpodder/model.py:1233 src/gpodder/model.py:1248 #: share/gpodder/ui/gtk/gpodderpreferences.ui.h:10 msgid "Video" msgstr "Wideo" -#: src/gpodder/model.py:1232 +#: src/gpodder/model.py:1246 msgid "Audio" msgstr "Audio" -#: src/gpodder/model.py:1411 +#: src/gpodder/model.py:1425 #, python-format msgid "" "Warning: path to gPodder home (%(root)s) is very long and can result in " @@ -197,7 +203,7 @@ "Uwaga: ścieżka domowa gPoddera (%(root)s) jest bardzo długa, co może " "skutkować niepowodzeniem przy pobieraniu plików.\n" -#: src/gpodder/model.py:1413 +#: src/gpodder/model.py:1427 msgid "You're advised to set it to a shorter path." msgstr "Radzimy ustawić ją na krótszą ścieżkę." @@ -343,8 +349,8 @@ msgstr "Playlista na twoim odtwarzaczu została zaktualizowana." #: src/gpodder/syncui.py:270 src/gpodder/gtkui/main.py:837 -#: src/gpodder/gtkui/main.py:1016 src/gpodder/gtkui/main.py:2896 -#: src/gpodder/gtkui/main.py:3103 +#: src/gpodder/gtkui/main.py:1016 src/gpodder/gtkui/main.py:2917 +#: src/gpodder/gtkui/main.py:3128 #: src/gpodder/gtkui/desktop/episodeselector.py:131 msgid "Episode" msgstr "Odcinek" @@ -630,7 +636,8 @@ msgid "Feedparser error: %s" msgstr "Błąd przetwarzania źródeł: %s" -#: src/gpodder/gtkui/main.py:1336 src/gpodder/gtkui/model.py:770 +#: src/gpodder/gtkui/main.py:1336 src/gpodder/gtkui/model.py:454 +#: src/gpodder/gtkui/model.py:783 src/gpodder/gtkui/desktop/channel.py:83 #, python-format msgid "ERROR: %s" msgstr "" @@ -671,14 +678,15 @@ msgid "Start download now" msgstr "Rozpocznij pobieranie" -#: src/gpodder/gtkui/main.py:1637 src/gpodder/gtkui/main.py:1919 +#: src/gpodder/gtkui/main.py:1637 src/gpodder/gtkui/main.py:1924 #: src/gpodder/gtkui/desktop/episodeselector.py:140 -#: src/gpodder/gtkui/desktop/podcastdirectory.py:192 +#: src/gpodder/gtkui/desktop/podcastdirectory.py:193 #: share/gpodder/ui/gtk/gpodder.ui.h:1 share/gpodder/ui/gtk/menus.ui.h:23 msgid "Download" msgstr "Pobierz" #: src/gpodder/gtkui/main.py:1642 share/gpodder/ui/gtk/gpodder.ui.h:2 +#: share/gpodder/ui/gtk/gpodderpodcastdirectory.ui.h:6 #: share/gpodder/ui/gtk/menus.ui.h:24 msgid "Cancel" msgstr "Anuluj"
View file
3.10.19.tar.gz/po/pt.po -> 3.10.20.tar.gz/po/pt.po
Changed
@@ -10,7 +10,7 @@ msgstr "" "Project-Id-Version: gPodder\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-04-15 02:02-0600\n" +"POT-Creation-Date: 2021-06-06 20:20-0600\n" "PO-Revision-Date: 2013-03-05 15:01+0000\n" "Last-Translator: Thomas Perl <m@thp.io>\n" "Language-Team: Portuguese (http://www.transifex.com/projects/p/gpodder/" @@ -21,7 +21,7 @@ "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: src/gpodder/config.py:54 +#: src/gpodder/config.py:53 #, python-format msgid "gPodder on %s" msgstr "gPodder em %s" @@ -75,60 +75,66 @@ msgid "Imported OPML file" msgstr "Importar de ficheiro OPML" -#: src/gpodder/download.py:538 src/gpodder/sync.py:974 +#: src/gpodder/download.py:541 src/gpodder/sync.py:974 msgid "Added" msgstr "Adicionado" -#: src/gpodder/download.py:538 src/gpodder/sync.py:974 +#: src/gpodder/download.py:541 src/gpodder/sync.py:974 msgid "Queued" msgstr "Na fila" -#: src/gpodder/download.py:538 src/gpodder/gtkui/model.py:381 +#: src/gpodder/download.py:541 src/gpodder/gtkui/model.py:382 msgid "Downloading" msgstr "A transferir" -#: src/gpodder/download.py:539 src/gpodder/model.py:758 src/gpodder/sync.py:975 +#: src/gpodder/download.py:542 src/gpodder/model.py:772 src/gpodder/sync.py:975 msgid "Finished" msgstr "Concluído" -#: src/gpodder/download.py:539 src/gpodder/sync.py:975 +#: src/gpodder/download.py:542 src/gpodder/sync.py:975 msgid "Failed" msgstr "Falhou" -#: src/gpodder/download.py:539 src/gpodder/sync.py:975 +#: src/gpodder/download.py:542 src/gpodder/sync.py:975 msgid "Cancelled" msgstr "Cancelado" -#: src/gpodder/download.py:539 src/gpodder/sync.py:975 +#: src/gpodder/download.py:542 src/gpodder/sync.py:975 msgid "Paused" msgstr "Pausado" -#: src/gpodder/download.py:858 +#: src/gpodder/download.py:864 +#, fuzzy +#| msgid "Select the episodes you want to download:" +msgid "Episode has no URL to download" +msgstr "Selecione os episódios que pretende transferir:" + +#: src/gpodder/download.py:867 msgid "Missing content from server" msgstr "O conteúdo não existe no servidor" -#: src/gpodder/download.py:864 +#: src/gpodder/download.py:873 #, python-format msgid "Couldn't connect to server %(host)s:%(port)s" msgstr "" -#: src/gpodder/download.py:873 +#: src/gpodder/download.py:882 #, fuzzy, python-format #| msgid "Syntax error: %(error)s" msgid "Request Error: %(error)s" msgstr "Erro de sintaxe: %(error)s" -#: src/gpodder/download.py:879 +#: src/gpodder/download.py:888 #, python-format msgid "I/O Error: %(error)s: %(filename)s" msgstr "Erro E/S: %(error)s: %(filename)s" -#: src/gpodder/download.py:886 +#: src/gpodder/download.py:895 #, python-format msgid "HTTP Error %(code)s: %(message)s" msgstr "Erro HTTP %(code)s: %(message)s" -#: src/gpodder/download.py:890 src/gpodder/sync.py:1130 +#: src/gpodder/download.py:899 src/gpodder/sync.py:1130 #, python-format msgid "Error: %s" msgstr "Erro: %s" @@ -145,8 +151,8 @@ msgid "Post download" msgstr "Enviar transferência" -#: src/gpodder/extensions.py:59 src/gpodder/model.py:822 -#: src/gpodder/model.py:1236 +#: src/gpodder/extensions.py:59 src/gpodder/model.py:836 +#: src/gpodder/model.py:1250 msgid "Other" msgstr "Outros" @@ -169,41 +175,41 @@ msgid "Python module not found: %(module)s" msgstr "Módulo python não encontrado: %(module)s" -#: src/gpodder/model.py:483 src/gpodder/youtube.py:445 +#: src/gpodder/model.py:496 src/gpodder/youtube.py:457 #: src/gpodder/plugins/soundcloud.py:152 -#: share/gpodder/extensions/youtube-dl.py:211 +#: share/gpodder/extensions/youtube-dl.py:215 msgid "No description available" msgstr "Sem descrição" -#: src/gpodder/model.py:716 +#: src/gpodder/model.py:730 msgid "unknown" msgstr "desconhecido" -#: src/gpodder/model.py:787 +#: src/gpodder/model.py:801 msgid "Default" msgstr "Padrão" -#: src/gpodder/model.py:788 +#: src/gpodder/model.py:802 msgid "Only keep latest" msgstr "Manter última" -#: src/gpodder/model.py:1219 src/gpodder/model.py:1234 +#: src/gpodder/model.py:1233 src/gpodder/model.py:1248 #: share/gpodder/ui/gtk/gpodderpreferences.ui.h:10 msgid "Video" msgstr "Vídeo" -#: src/gpodder/model.py:1232 +#: src/gpodder/model.py:1246 msgid "Audio" msgstr "Áudio" -#: src/gpodder/model.py:1411 +#: src/gpodder/model.py:1425 #, python-format msgid "" "Warning: path to gPodder home (%(root)s) is very long and can result in " "failure to download files.\n" msgstr "" -#: src/gpodder/model.py:1413 +#: src/gpodder/model.py:1427 msgid "You're advised to set it to a shorter path." msgstr "" @@ -349,8 +355,8 @@ msgstr "" #: src/gpodder/syncui.py:270 src/gpodder/gtkui/main.py:837 -#: src/gpodder/gtkui/main.py:1016 src/gpodder/gtkui/main.py:2896 -#: src/gpodder/gtkui/main.py:3103 +#: src/gpodder/gtkui/main.py:1016 src/gpodder/gtkui/main.py:2917 +#: src/gpodder/gtkui/main.py:3128 #: src/gpodder/gtkui/desktop/episodeselector.py:131 msgid "Episode" msgstr "Episódio" @@ -627,7 +633,8 @@ msgid "Feedparser error: %s" msgstr "Erro no processador de fontes: %s" -#: src/gpodder/gtkui/main.py:1336 src/gpodder/gtkui/model.py:770 +#: src/gpodder/gtkui/main.py:1336 src/gpodder/gtkui/model.py:454 +#: src/gpodder/gtkui/model.py:783 src/gpodder/gtkui/desktop/channel.py:83 #, python-format msgid "ERROR: %s" msgstr "" @@ -667,14 +674,15 @@ msgid "Start download now" msgstr "Iniciar transferência" -#: src/gpodder/gtkui/main.py:1637 src/gpodder/gtkui/main.py:1919 +#: src/gpodder/gtkui/main.py:1637 src/gpodder/gtkui/main.py:1924 #: src/gpodder/gtkui/desktop/episodeselector.py:140 -#: src/gpodder/gtkui/desktop/podcastdirectory.py:192 +#: src/gpodder/gtkui/desktop/podcastdirectory.py:193 #: share/gpodder/ui/gtk/gpodder.ui.h:1 share/gpodder/ui/gtk/menus.ui.h:23 msgid "Download" msgstr "Transferir" #: src/gpodder/gtkui/main.py:1642 share/gpodder/ui/gtk/gpodder.ui.h:2 +#: share/gpodder/ui/gtk/gpodderpodcastdirectory.ui.h:6 #: share/gpodder/ui/gtk/menus.ui.h:24 msgid "Cancel" msgstr "Cancelar" @@ -707,194 +715,204 @@
View file
3.10.19.tar.gz/po/pt_BR.po -> 3.10.20.tar.gz/po/pt_BR.po
Changed
@@ -13,7 +13,7 @@ msgstr "" "Project-Id-Version: gPodder\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-04-15 02:02-0600\n" +"POT-Creation-Date: 2021-06-06 20:20-0600\n" "PO-Revision-Date: 2013-03-05 15:01+0000\n" "Last-Translator: Thomas Perl <m@thp.io>\n" "Language-Team: Portuguese (Brazil) (http://www.transifex.com/projects/p/" @@ -24,7 +24,7 @@ "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" -#: src/gpodder/config.py:54 +#: src/gpodder/config.py:53 #, python-format msgid "gPodder on %s" msgstr "gPodder em %s" @@ -78,60 +78,66 @@ msgid "Imported OPML file" msgstr "Importar de um arquivo OPML" -#: src/gpodder/download.py:538 src/gpodder/sync.py:974 +#: src/gpodder/download.py:541 src/gpodder/sync.py:974 msgid "Added" msgstr "Adicionado" -#: src/gpodder/download.py:538 src/gpodder/sync.py:974 +#: src/gpodder/download.py:541 src/gpodder/sync.py:974 msgid "Queued" msgstr "Em espera" -#: src/gpodder/download.py:538 src/gpodder/gtkui/model.py:381 +#: src/gpodder/download.py:541 src/gpodder/gtkui/model.py:382 msgid "Downloading" msgstr "Downloading" -#: src/gpodder/download.py:539 src/gpodder/model.py:758 src/gpodder/sync.py:975 +#: src/gpodder/download.py:542 src/gpodder/model.py:772 src/gpodder/sync.py:975 msgid "Finished" msgstr "Terminados" -#: src/gpodder/download.py:539 src/gpodder/sync.py:975 +#: src/gpodder/download.py:542 src/gpodder/sync.py:975 msgid "Failed" msgstr "Falhou" -#: src/gpodder/download.py:539 src/gpodder/sync.py:975 +#: src/gpodder/download.py:542 src/gpodder/sync.py:975 msgid "Cancelled" msgstr "Cancelado" -#: src/gpodder/download.py:539 src/gpodder/sync.py:975 +#: src/gpodder/download.py:542 src/gpodder/sync.py:975 msgid "Paused" msgstr "Pausado" -#: src/gpodder/download.py:858 +#: src/gpodder/download.py:864 +#, fuzzy +#| msgid "Select the episodes you want to download:" +msgid "Episode has no URL to download" +msgstr "Selecione o episódio que você deseja baixar" + +#: src/gpodder/download.py:867 msgid "Missing content from server" msgstr "Conteúdo do servidor esta faltando" -#: src/gpodder/download.py:864 +#: src/gpodder/download.py:873 #, python-format msgid "Couldn't connect to server %(host)s:%(port)s" msgstr "" -#: src/gpodder/download.py:873 +#: src/gpodder/download.py:882 #, fuzzy, python-format #| msgid "Syntax error: %(error)s" msgid "Request Error: %(error)s" msgstr "Erro de sintáxe: %(error)s" -#: src/gpodder/download.py:879 +#: src/gpodder/download.py:888 #, python-format msgid "I/O Error: %(error)s: %(filename)s" msgstr "Erro de I/O: %(error)s: %(filename)s" -#: src/gpodder/download.py:886 +#: src/gpodder/download.py:895 #, python-format msgid "HTTP Error %(code)s: %(message)s" msgstr "Erro de HTTP %(code)s: %(message)s" -#: src/gpodder/download.py:890 src/gpodder/sync.py:1130 +#: src/gpodder/download.py:899 src/gpodder/sync.py:1130 #, python-format msgid "Error: %s" msgstr "Erro: %s" @@ -148,8 +154,8 @@ msgid "Post download" msgstr "Pós-Download" -#: src/gpodder/extensions.py:59 src/gpodder/model.py:822 -#: src/gpodder/model.py:1236 +#: src/gpodder/extensions.py:59 src/gpodder/model.py:836 +#: src/gpodder/model.py:1250 msgid "Other" msgstr "Outro" @@ -172,41 +178,41 @@ msgid "Python module not found: %(module)s" msgstr "Módulo python não foi encontrado: %(module)s" -#: src/gpodder/model.py:483 src/gpodder/youtube.py:445 +#: src/gpodder/model.py:496 src/gpodder/youtube.py:457 #: src/gpodder/plugins/soundcloud.py:152 -#: share/gpodder/extensions/youtube-dl.py:211 +#: share/gpodder/extensions/youtube-dl.py:215 msgid "No description available" msgstr "Descrição não disponível" -#: src/gpodder/model.py:716 +#: src/gpodder/model.py:730 msgid "unknown" msgstr "desconhecido" -#: src/gpodder/model.py:787 +#: src/gpodder/model.py:801 msgid "Default" msgstr "Padrão" -#: src/gpodder/model.py:788 +#: src/gpodder/model.py:802 msgid "Only keep latest" msgstr "Apenas manter as últimas" -#: src/gpodder/model.py:1219 src/gpodder/model.py:1234 +#: src/gpodder/model.py:1233 src/gpodder/model.py:1248 #: share/gpodder/ui/gtk/gpodderpreferences.ui.h:10 msgid "Video" msgstr "Vídeo" -#: src/gpodder/model.py:1232 +#: src/gpodder/model.py:1246 msgid "Audio" msgstr "Áudio" -#: src/gpodder/model.py:1411 +#: src/gpodder/model.py:1425 #, python-format msgid "" "Warning: path to gPodder home (%(root)s) is very long and can result in " "failure to download files.\n" msgstr "" -#: src/gpodder/model.py:1413 +#: src/gpodder/model.py:1427 msgid "You're advised to set it to a shorter path." msgstr "" @@ -351,8 +357,8 @@ msgstr "" #: src/gpodder/syncui.py:270 src/gpodder/gtkui/main.py:837 -#: src/gpodder/gtkui/main.py:1016 src/gpodder/gtkui/main.py:2896 -#: src/gpodder/gtkui/main.py:3103 +#: src/gpodder/gtkui/main.py:1016 src/gpodder/gtkui/main.py:2917 +#: src/gpodder/gtkui/main.py:3128 #: src/gpodder/gtkui/desktop/episodeselector.py:131 msgid "Episode" msgstr "Episódio" @@ -629,7 +635,8 @@ msgid "Feedparser error: %s" msgstr "Erro no feedparser: %s" -#: src/gpodder/gtkui/main.py:1336 src/gpodder/gtkui/model.py:770 +#: src/gpodder/gtkui/main.py:1336 src/gpodder/gtkui/model.py:454 +#: src/gpodder/gtkui/model.py:783 src/gpodder/gtkui/desktop/channel.py:83 #, python-format msgid "ERROR: %s" msgstr "" @@ -669,14 +676,15 @@ msgid "Start download now" msgstr "Iniciar download agora" -#: src/gpodder/gtkui/main.py:1637 src/gpodder/gtkui/main.py:1919 +#: src/gpodder/gtkui/main.py:1637 src/gpodder/gtkui/main.py:1924 #: src/gpodder/gtkui/desktop/episodeselector.py:140 -#: src/gpodder/gtkui/desktop/podcastdirectory.py:192 +#: src/gpodder/gtkui/desktop/podcastdirectory.py:193 #: share/gpodder/ui/gtk/gpodder.ui.h:1 share/gpodder/ui/gtk/menus.ui.h:23 msgid "Download" msgstr "Download" #: src/gpodder/gtkui/main.py:1642 share/gpodder/ui/gtk/gpodder.ui.h:2 +#: share/gpodder/ui/gtk/gpodderpodcastdirectory.ui.h:6 #: share/gpodder/ui/gtk/menus.ui.h:24 msgid "Cancel" msgstr "Cancelar" @@ -709,195 +717,205 @@
View file
3.10.19.tar.gz/po/ro.po -> 3.10.20.tar.gz/po/ro.po
Changed
@@ -7,7 +7,7 @@ msgstr "" "Project-Id-Version: gPodder\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-04-15 02:02-0600\n" +"POT-Creation-Date: 2021-06-06 20:20-0600\n" "PO-Revision-Date: 2013-01-19 12:31+0000\n" "Last-Translator: Thomas Perl <m@thp.io>\n" "Language-Team: LANGUAGE <LL@li.org>\n" @@ -18,7 +18,7 @@ "Plural-Forms: nplurals=3; plural=(n==1?0:(((n%100>19)||((n%100==0)&&(n!=0)))?" "2:1));\n" -#: src/gpodder/config.py:54 +#: src/gpodder/config.py:53 #, python-format msgid "gPodder on %s" msgstr "gPodder pe %s" @@ -73,59 +73,65 @@ msgid "Imported OPML file" msgstr "Importă din fișier OPML" -#: src/gpodder/download.py:538 src/gpodder/sync.py:974 +#: src/gpodder/download.py:541 src/gpodder/sync.py:974 msgid "Added" msgstr "Adăugat" -#: src/gpodder/download.py:538 src/gpodder/sync.py:974 +#: src/gpodder/download.py:541 src/gpodder/sync.py:974 msgid "Queued" msgstr "Adăugat în coada de așteptare" -#: src/gpodder/download.py:538 src/gpodder/gtkui/model.py:381 +#: src/gpodder/download.py:541 src/gpodder/gtkui/model.py:382 msgid "Downloading" msgstr "Se descarcă" -#: src/gpodder/download.py:539 src/gpodder/model.py:758 src/gpodder/sync.py:975 +#: src/gpodder/download.py:542 src/gpodder/model.py:772 src/gpodder/sync.py:975 msgid "Finished" msgstr "Gata" -#: src/gpodder/download.py:539 src/gpodder/sync.py:975 +#: src/gpodder/download.py:542 src/gpodder/sync.py:975 msgid "Failed" msgstr "Eșuat" -#: src/gpodder/download.py:539 src/gpodder/sync.py:975 +#: src/gpodder/download.py:542 src/gpodder/sync.py:975 msgid "Cancelled" msgstr "Sa renunțat" -#: src/gpodder/download.py:539 src/gpodder/sync.py:975 +#: src/gpodder/download.py:542 src/gpodder/sync.py:975 msgid "Paused" msgstr "Întrerupt temporar" -#: src/gpodder/download.py:858 +#: src/gpodder/download.py:864 +#, fuzzy +#| msgid "Select the episodes you want to download:" +msgid "Episode has no URL to download" +msgstr "Selectează episoadele ce trebuie descărcate:" + +#: src/gpodder/download.py:867 msgid "Missing content from server" msgstr "Conținutul lipseste de pe server" -#: src/gpodder/download.py:864 +#: src/gpodder/download.py:873 #, python-format msgid "Couldn't connect to server %(host)s:%(port)s" msgstr "" -#: src/gpodder/download.py:873 +#: src/gpodder/download.py:882 #, python-format msgid "Request Error: %(error)s" msgstr "" -#: src/gpodder/download.py:879 +#: src/gpodder/download.py:888 #, python-format msgid "I/O Error: %(error)s: %(filename)s" msgstr "Eroare I/O: %(error)s: %(filename)s" -#: src/gpodder/download.py:886 +#: src/gpodder/download.py:895 #, python-format msgid "HTTP Error %(code)s: %(message)s" msgstr "Eroare HTTP %(code)s: %(message)s" -#: src/gpodder/download.py:890 src/gpodder/sync.py:1130 +#: src/gpodder/download.py:899 src/gpodder/sync.py:1130 #, python-format msgid "Error: %s" msgstr "Eroare: %s" @@ -144,8 +150,8 @@ msgid "Post download" msgstr "Întrerupe descărcarea" -#: src/gpodder/extensions.py:59 src/gpodder/model.py:822 -#: src/gpodder/model.py:1236 +#: src/gpodder/extensions.py:59 src/gpodder/model.py:836 +#: src/gpodder/model.py:1250 msgid "Other" msgstr "Altele" @@ -169,41 +175,41 @@ msgid "Python module not found: %(module)s" msgstr "Modulul Python \"%s\" nu este instalat" -#: src/gpodder/model.py:483 src/gpodder/youtube.py:445 +#: src/gpodder/model.py:496 src/gpodder/youtube.py:457 #: src/gpodder/plugins/soundcloud.py:152 -#: share/gpodder/extensions/youtube-dl.py:211 +#: share/gpodder/extensions/youtube-dl.py:215 msgid "No description available" msgstr "Nu există descriere" -#: src/gpodder/model.py:716 +#: src/gpodder/model.py:730 msgid "unknown" msgstr "necunoscut" -#: src/gpodder/model.py:787 +#: src/gpodder/model.py:801 msgid "Default" msgstr "" -#: src/gpodder/model.py:788 +#: src/gpodder/model.py:802 msgid "Only keep latest" msgstr "" -#: src/gpodder/model.py:1219 src/gpodder/model.py:1234 +#: src/gpodder/model.py:1233 src/gpodder/model.py:1248 #: share/gpodder/ui/gtk/gpodderpreferences.ui.h:10 msgid "Video" msgstr "" -#: src/gpodder/model.py:1232 +#: src/gpodder/model.py:1246 msgid "Audio" msgstr "" -#: src/gpodder/model.py:1411 +#: src/gpodder/model.py:1425 #, python-format msgid "" "Warning: path to gPodder home (%(root)s) is very long and can result in " "failure to download files.\n" msgstr "" -#: src/gpodder/model.py:1413 +#: src/gpodder/model.py:1427 msgid "You're advised to set it to a shorter path." msgstr "" @@ -351,8 +357,8 @@ msgstr "" #: src/gpodder/syncui.py:270 src/gpodder/gtkui/main.py:837 -#: src/gpodder/gtkui/main.py:1016 src/gpodder/gtkui/main.py:2896 -#: src/gpodder/gtkui/main.py:3103 +#: src/gpodder/gtkui/main.py:1016 src/gpodder/gtkui/main.py:2917 +#: src/gpodder/gtkui/main.py:3128 #: src/gpodder/gtkui/desktop/episodeselector.py:131 msgid "Episode" msgstr "Episod" @@ -641,7 +647,8 @@ msgid "Feedparser error: %s" msgstr "Eroare de parser: %s " -#: src/gpodder/gtkui/main.py:1336 src/gpodder/gtkui/model.py:770 +#: src/gpodder/gtkui/main.py:1336 src/gpodder/gtkui/model.py:454 +#: src/gpodder/gtkui/model.py:783 src/gpodder/gtkui/desktop/channel.py:83 #, python-format msgid "ERROR: %s" msgstr "" @@ -686,14 +693,15 @@ msgid "Start download now" msgstr "Începe descărcările acum" -#: src/gpodder/gtkui/main.py:1637 src/gpodder/gtkui/main.py:1919 +#: src/gpodder/gtkui/main.py:1637 src/gpodder/gtkui/main.py:1924 #: src/gpodder/gtkui/desktop/episodeselector.py:140 -#: src/gpodder/gtkui/desktop/podcastdirectory.py:192 +#: src/gpodder/gtkui/desktop/podcastdirectory.py:193 #: share/gpodder/ui/gtk/gpodder.ui.h:1 share/gpodder/ui/gtk/menus.ui.h:23 msgid "Download" msgstr "Descărcare" #: src/gpodder/gtkui/main.py:1642 share/gpodder/ui/gtk/gpodder.ui.h:2 +#: share/gpodder/ui/gtk/gpodderpodcastdirectory.ui.h:6 #: share/gpodder/ui/gtk/menus.ui.h:24 msgid "Cancel" msgstr "Renunță" @@ -727,187 +735,197 @@ msgid "Mark episodes as old"
View file
3.10.19.tar.gz/po/ru.po -> 3.10.20.tar.gz/po/ru.po
Changed
@@ -7,7 +7,7 @@ msgstr "" "Project-Id-Version: gPodder 2.10+git\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-04-15 02:02-0600\n" +"POT-Creation-Date: 2021-06-06 20:20-0600\n" "PO-Revision-Date: 2021-02-01 22:56+0700\n" "Last-Translator: mrKaban <КонтинентСвободы.рф>\n" "Language-Team: \n" @@ -19,7 +19,7 @@ "|| n%100>=20) ? 1 : 2);\n" "X-Generator: Poedit 2.4.2\n" -#: src/gpodder/config.py:54 +#: src/gpodder/config.py:53 #, python-format msgid "gPodder on %s" msgstr "gPodder на %s" @@ -65,60 +65,66 @@ msgid "Imported OPML file" msgstr "Импорт из OPML" -#: src/gpodder/download.py:538 src/gpodder/sync.py:974 +#: src/gpodder/download.py:541 src/gpodder/sync.py:974 msgid "Added" msgstr "Добавлено" -#: src/gpodder/download.py:538 src/gpodder/sync.py:974 +#: src/gpodder/download.py:541 src/gpodder/sync.py:974 msgid "Queued" msgstr "В очереди" -#: src/gpodder/download.py:538 src/gpodder/gtkui/model.py:381 +#: src/gpodder/download.py:541 src/gpodder/gtkui/model.py:382 msgid "Downloading" msgstr "Загрузка" -#: src/gpodder/download.py:539 src/gpodder/model.py:758 src/gpodder/sync.py:975 +#: src/gpodder/download.py:542 src/gpodder/model.py:772 src/gpodder/sync.py:975 msgid "Finished" msgstr "Завершено" -#: src/gpodder/download.py:539 src/gpodder/sync.py:975 +#: src/gpodder/download.py:542 src/gpodder/sync.py:975 msgid "Failed" msgstr "Ошибка" -#: src/gpodder/download.py:539 src/gpodder/sync.py:975 +#: src/gpodder/download.py:542 src/gpodder/sync.py:975 msgid "Cancelled" msgstr "Отменено" -#: src/gpodder/download.py:539 src/gpodder/sync.py:975 +#: src/gpodder/download.py:542 src/gpodder/sync.py:975 msgid "Paused" msgstr "Остановлено" -#: src/gpodder/download.py:858 +#: src/gpodder/download.py:864 +#, fuzzy +#| msgid "Select the episodes you want to download:" +msgid "Episode has no URL to download" +msgstr "Отметьте эпизоды, которые хотите загрузить:" + +#: src/gpodder/download.py:867 msgid "Missing content from server" msgstr "Отсутствуют данные с сервера" -#: src/gpodder/download.py:864 +#: src/gpodder/download.py:873 #, python-format msgid "Couldn't connect to server %(host)s:%(port)s" msgstr "" -#: src/gpodder/download.py:873 +#: src/gpodder/download.py:882 #, fuzzy, python-format #| msgid "Syntax error: %(error)s" msgid "Request Error: %(error)s" msgstr "Синтаксическая ошибка %(error)s" -#: src/gpodder/download.py:879 +#: src/gpodder/download.py:888 #, python-format msgid "I/O Error: %(error)s: %(filename)s" msgstr "Ошибка ввода/вывода: %(error)s: %(filename)s" -#: src/gpodder/download.py:886 +#: src/gpodder/download.py:895 #, python-format msgid "HTTP Error %(code)s: %(message)s" msgstr "Ошибка HTTP %(code)s: %(message)s" -#: src/gpodder/download.py:890 src/gpodder/sync.py:1130 +#: src/gpodder/download.py:899 src/gpodder/sync.py:1130 #, python-format msgid "Error: %s" msgstr "Ошибка: %s" @@ -135,8 +141,8 @@ msgid "Post download" msgstr "После загрузки" -#: src/gpodder/extensions.py:59 src/gpodder/model.py:822 -#: src/gpodder/model.py:1236 +#: src/gpodder/extensions.py:59 src/gpodder/model.py:836 +#: src/gpodder/model.py:1250 msgid "Other" msgstr "Другое" @@ -159,34 +165,34 @@ msgid "Python module not found: %(module)s" msgstr "Модуль Python не найден: %(module)s" -#: src/gpodder/model.py:483 src/gpodder/youtube.py:445 +#: src/gpodder/model.py:496 src/gpodder/youtube.py:457 #: src/gpodder/plugins/soundcloud.py:152 -#: share/gpodder/extensions/youtube-dl.py:211 +#: share/gpodder/extensions/youtube-dl.py:215 msgid "No description available" msgstr "Описание недоступно" -#: src/gpodder/model.py:716 +#: src/gpodder/model.py:730 msgid "unknown" msgstr "неизвестно" -#: src/gpodder/model.py:787 +#: src/gpodder/model.py:801 msgid "Default" msgstr "По умолчанию" -#: src/gpodder/model.py:788 +#: src/gpodder/model.py:802 msgid "Only keep latest" msgstr "Сохранять только последний" -#: src/gpodder/model.py:1219 src/gpodder/model.py:1234 +#: src/gpodder/model.py:1233 src/gpodder/model.py:1248 #: share/gpodder/ui/gtk/gpodderpreferences.ui.h:10 msgid "Video" msgstr "Видео" -#: src/gpodder/model.py:1232 +#: src/gpodder/model.py:1246 msgid "Audio" msgstr "Аудио" -#: src/gpodder/model.py:1411 +#: src/gpodder/model.py:1425 #, python-format msgid "" "Warning: path to gPodder home (%(root)s) is very long and can result in " @@ -195,7 +201,7 @@ "Предупреждение: путь к папке gPodder (%(root)s) слишком длинный и может " "привести ксбою загрузки файлов.\n" -#: src/gpodder/model.py:1413 +#: src/gpodder/model.py:1427 msgid "You're advised to set it to a shorter path." msgstr "Рекомендуем выбрать более короткий путь." @@ -343,8 +349,8 @@ msgstr "Плейлист на вашем MP3 плеере обновлен." #: src/gpodder/syncui.py:270 src/gpodder/gtkui/main.py:837 -#: src/gpodder/gtkui/main.py:1016 src/gpodder/gtkui/main.py:2896 -#: src/gpodder/gtkui/main.py:3103 +#: src/gpodder/gtkui/main.py:1016 src/gpodder/gtkui/main.py:2917 +#: src/gpodder/gtkui/main.py:3128 #: src/gpodder/gtkui/desktop/episodeselector.py:131 msgid "Episode" msgstr "Выпуск" @@ -630,7 +636,8 @@ msgid "Feedparser error: %s" msgstr "Ошибка Feedparser: %s" -#: src/gpodder/gtkui/main.py:1336 src/gpodder/gtkui/model.py:770 +#: src/gpodder/gtkui/main.py:1336 src/gpodder/gtkui/model.py:454 +#: src/gpodder/gtkui/model.py:783 src/gpodder/gtkui/desktop/channel.py:83 #, python-format msgid "ERROR: %s" msgstr "ОШИБКА: %s" @@ -671,14 +678,15 @@ msgid "Start download now" msgstr "Начать загрузку" -#: src/gpodder/gtkui/main.py:1637 src/gpodder/gtkui/main.py:1919 +#: src/gpodder/gtkui/main.py:1637 src/gpodder/gtkui/main.py:1924 #: src/gpodder/gtkui/desktop/episodeselector.py:140 -#: src/gpodder/gtkui/desktop/podcastdirectory.py:192 +#: src/gpodder/gtkui/desktop/podcastdirectory.py:193 #: share/gpodder/ui/gtk/gpodder.ui.h:1 share/gpodder/ui/gtk/menus.ui.h:23 msgid "Download" msgstr "Загрузка" #: src/gpodder/gtkui/main.py:1642 share/gpodder/ui/gtk/gpodder.ui.h:2 +#: share/gpodder/ui/gtk/gpodderpodcastdirectory.ui.h:6 #: share/gpodder/ui/gtk/menus.ui.h:24 msgid "Cancel" msgstr "Отмена"
View file
3.10.19.tar.gz/po/sv.po -> 3.10.20.tar.gz/po/sv.po
Changed
@@ -11,7 +11,7 @@ msgstr "" "Project-Id-Version: gPodder\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-04-15 02:02-0600\n" +"POT-Creation-Date: 2021-06-06 20:20-0600\n" "PO-Revision-Date: 2013-01-19 12:30+0000\n" "Last-Translator: Thomas Perl <m@thp.io>\n" "Language-Team: Swedish (http://www.transifex.com/projects/p/gpodder/language/" @@ -22,7 +22,7 @@ "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: src/gpodder/config.py:54 +#: src/gpodder/config.py:53 #, python-format msgid "gPodder on %s" msgstr "gPodder på %s" @@ -77,60 +77,66 @@ msgid "Imported OPML file" msgstr "Importera från OPML fil" -#: src/gpodder/download.py:538 src/gpodder/sync.py:974 +#: src/gpodder/download.py:541 src/gpodder/sync.py:974 msgid "Added" msgstr "Tillagt" -#: src/gpodder/download.py:538 src/gpodder/sync.py:974 +#: src/gpodder/download.py:541 src/gpodder/sync.py:974 msgid "Queued" msgstr "Köad" -#: src/gpodder/download.py:538 src/gpodder/gtkui/model.py:381 +#: src/gpodder/download.py:541 src/gpodder/gtkui/model.py:382 msgid "Downloading" msgstr "Laddar ner" -#: src/gpodder/download.py:539 src/gpodder/model.py:758 src/gpodder/sync.py:975 +#: src/gpodder/download.py:542 src/gpodder/model.py:772 src/gpodder/sync.py:975 msgid "Finished" msgstr "Klar" -#: src/gpodder/download.py:539 src/gpodder/sync.py:975 +#: src/gpodder/download.py:542 src/gpodder/sync.py:975 msgid "Failed" msgstr "Misslyckad" -#: src/gpodder/download.py:539 src/gpodder/sync.py:975 +#: src/gpodder/download.py:542 src/gpodder/sync.py:975 msgid "Cancelled" msgstr "Avbruten" -#: src/gpodder/download.py:539 src/gpodder/sync.py:975 +#: src/gpodder/download.py:542 src/gpodder/sync.py:975 msgid "Paused" msgstr "Pausad" -#: src/gpodder/download.py:858 +#: src/gpodder/download.py:864 +#, fuzzy +#| msgid "Select the episodes you want to download:" +msgid "Episode has no URL to download" +msgstr "Välj de avsnitt du önskar ladda ned:" + +#: src/gpodder/download.py:867 msgid "Missing content from server" msgstr "Innehåll från server saknas" -#: src/gpodder/download.py:864 +#: src/gpodder/download.py:873 #, python-format msgid "Couldn't connect to server %(host)s:%(port)s" msgstr "" -#: src/gpodder/download.py:873 +#: src/gpodder/download.py:882 #, fuzzy, python-format #| msgid "Syntax error: %(error)s" msgid "Request Error: %(error)s" msgstr "Syntax error: %(error)s" -#: src/gpodder/download.py:879 +#: src/gpodder/download.py:888 #, python-format msgid "I/O Error: %(error)s: %(filename)s" msgstr "I/O Fel: %(error)s: %(filename)s" -#: src/gpodder/download.py:886 +#: src/gpodder/download.py:895 #, python-format msgid "HTTP Error %(code)s: %(message)s" msgstr "HTTP Fel: %(code)s: %(message)s" -#: src/gpodder/download.py:890 src/gpodder/sync.py:1130 +#: src/gpodder/download.py:899 src/gpodder/sync.py:1130 #, python-format msgid "Error: %s" msgstr "Fel: %s" @@ -150,8 +156,8 @@ msgid "Post download" msgstr "Pausa nedladdning" -#: src/gpodder/extensions.py:59 src/gpodder/model.py:822 -#: src/gpodder/model.py:1236 +#: src/gpodder/extensions.py:59 src/gpodder/model.py:836 +#: src/gpodder/model.py:1250 msgid "Other" msgstr "Annan" @@ -174,41 +180,41 @@ msgid "Python module not found: %(module)s" msgstr "Python modul \"%s\" ej installerad" -#: src/gpodder/model.py:483 src/gpodder/youtube.py:445 +#: src/gpodder/model.py:496 src/gpodder/youtube.py:457 #: src/gpodder/plugins/soundcloud.py:152 -#: share/gpodder/extensions/youtube-dl.py:211 +#: share/gpodder/extensions/youtube-dl.py:215 msgid "No description available" msgstr "Ingen beskrivning tillgänglig" -#: src/gpodder/model.py:716 +#: src/gpodder/model.py:730 msgid "unknown" msgstr "okänt" -#: src/gpodder/model.py:787 +#: src/gpodder/model.py:801 msgid "Default" msgstr "" -#: src/gpodder/model.py:788 +#: src/gpodder/model.py:802 msgid "Only keep latest" msgstr "" -#: src/gpodder/model.py:1219 src/gpodder/model.py:1234 +#: src/gpodder/model.py:1233 src/gpodder/model.py:1248 #: share/gpodder/ui/gtk/gpodderpreferences.ui.h:10 msgid "Video" msgstr "Video" -#: src/gpodder/model.py:1232 +#: src/gpodder/model.py:1246 msgid "Audio" msgstr "Ljud" -#: src/gpodder/model.py:1411 +#: src/gpodder/model.py:1425 #, python-format msgid "" "Warning: path to gPodder home (%(root)s) is very long and can result in " "failure to download files.\n" msgstr "" -#: src/gpodder/model.py:1413 +#: src/gpodder/model.py:1427 msgid "You're advised to set it to a shorter path." msgstr "" @@ -356,8 +362,8 @@ msgstr "" #: src/gpodder/syncui.py:270 src/gpodder/gtkui/main.py:837 -#: src/gpodder/gtkui/main.py:1016 src/gpodder/gtkui/main.py:2896 -#: src/gpodder/gtkui/main.py:3103 +#: src/gpodder/gtkui/main.py:1016 src/gpodder/gtkui/main.py:2917 +#: src/gpodder/gtkui/main.py:3128 #: src/gpodder/gtkui/desktop/episodeselector.py:131 msgid "Episode" msgstr "Avsnitt" @@ -636,7 +642,8 @@ msgid "Feedparser error: %s" msgstr "Fel vid tolkning av kanal: %s" -#: src/gpodder/gtkui/main.py:1336 src/gpodder/gtkui/model.py:770 +#: src/gpodder/gtkui/main.py:1336 src/gpodder/gtkui/model.py:454 +#: src/gpodder/gtkui/model.py:783 src/gpodder/gtkui/desktop/channel.py:83 #, python-format msgid "ERROR: %s" msgstr "" @@ -680,14 +687,15 @@ msgid "Start download now" msgstr "Starta nedladdning nu" -#: src/gpodder/gtkui/main.py:1637 src/gpodder/gtkui/main.py:1919 +#: src/gpodder/gtkui/main.py:1637 src/gpodder/gtkui/main.py:1924 #: src/gpodder/gtkui/desktop/episodeselector.py:140 -#: src/gpodder/gtkui/desktop/podcastdirectory.py:192 +#: src/gpodder/gtkui/desktop/podcastdirectory.py:193 #: share/gpodder/ui/gtk/gpodder.ui.h:1 share/gpodder/ui/gtk/menus.ui.h:23 msgid "Download" msgstr "Ladda ner" #: src/gpodder/gtkui/main.py:1642 share/gpodder/ui/gtk/gpodder.ui.h:2 +#: share/gpodder/ui/gtk/gpodderpodcastdirectory.ui.h:6 #: share/gpodder/ui/gtk/menus.ui.h:24 msgid "Cancel" msgstr "A_vbryt" @@ -720,195 +728,205 @@
View file
3.10.19.tar.gz/po/tr.po -> 3.10.20.tar.gz/po/tr.po
Changed
@@ -7,7 +7,7 @@ msgstr "" "Project-Id-Version: gPodder 3.10.15\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-04-15 02:02-0600\n" +"POT-Creation-Date: 2021-06-06 20:20-0600\n" "PO-Revision-Date: 2021-03-12 18:39+0300\n" "Last-Translator: Serkan ÖNDER <serkanonder@outlook.com>\n" "Language-Team: \n" @@ -18,7 +18,7 @@ "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: Poedit 2.3\n" -#: src/gpodder/config.py:54 +#: src/gpodder/config.py:53 #, python-format msgid "gPodder on %s" msgstr "%s üzerinde gPodder" @@ -64,59 +64,65 @@ msgid "Imported OPML file" msgstr "İçe aktarılan OPML dosyası" -#: src/gpodder/download.py:538 src/gpodder/sync.py:974 +#: src/gpodder/download.py:541 src/gpodder/sync.py:974 msgid "Added" msgstr "Eklendi" -#: src/gpodder/download.py:538 src/gpodder/sync.py:974 +#: src/gpodder/download.py:541 src/gpodder/sync.py:974 msgid "Queued" msgstr "Kuyrukta" -#: src/gpodder/download.py:538 src/gpodder/gtkui/model.py:381 +#: src/gpodder/download.py:541 src/gpodder/gtkui/model.py:382 msgid "Downloading" msgstr "İndiriliyor" -#: src/gpodder/download.py:539 src/gpodder/model.py:758 src/gpodder/sync.py:975 +#: src/gpodder/download.py:542 src/gpodder/model.py:772 src/gpodder/sync.py:975 msgid "Finished" msgstr "Tamamlandı" -#: src/gpodder/download.py:539 src/gpodder/sync.py:975 +#: src/gpodder/download.py:542 src/gpodder/sync.py:975 msgid "Failed" msgstr "Başarısız" -#: src/gpodder/download.py:539 src/gpodder/sync.py:975 +#: src/gpodder/download.py:542 src/gpodder/sync.py:975 msgid "Cancelled" msgstr "Vazgeçildi" -#: src/gpodder/download.py:539 src/gpodder/sync.py:975 +#: src/gpodder/download.py:542 src/gpodder/sync.py:975 msgid "Paused" msgstr "Duraklatıldı" -#: src/gpodder/download.py:858 +#: src/gpodder/download.py:864 +#, fuzzy +#| msgid "Select the episodes you want to download:" +msgid "Episode has no URL to download" +msgstr "İndirmek istediğiniz bölümleri seçin:" + +#: src/gpodder/download.py:867 msgid "Missing content from server" msgstr "Sunucudan eksik içerik" -#: src/gpodder/download.py:864 +#: src/gpodder/download.py:873 #, python-format msgid "Couldn't connect to server %(host)s:%(port)s" msgstr "Sunucuya bağlanılamadı %(host)s:%(port)s" -#: src/gpodder/download.py:873 +#: src/gpodder/download.py:882 #, python-format msgid "Request Error: %(error)s" msgstr "Hata İste: %(error)s" -#: src/gpodder/download.py:879 +#: src/gpodder/download.py:888 #, python-format msgid "I/O Error: %(error)s: %(filename)s" msgstr "G/Ç Hatası: %(error)s: %(filename)s" -#: src/gpodder/download.py:886 +#: src/gpodder/download.py:895 #, python-format msgid "HTTP Error %(code)s: %(message)s" msgstr "HTTP Hatası %(code)s: %(message)s" -#: src/gpodder/download.py:890 src/gpodder/sync.py:1130 +#: src/gpodder/download.py:899 src/gpodder/sync.py:1130 #, python-format msgid "Error: %s" msgstr "Hata: %s" @@ -133,8 +139,8 @@ msgid "Post download" msgstr "İndirme sonrası" -#: src/gpodder/extensions.py:59 src/gpodder/model.py:822 -#: src/gpodder/model.py:1236 +#: src/gpodder/extensions.py:59 src/gpodder/model.py:836 +#: src/gpodder/model.py:1250 msgid "Other" msgstr "Diğer" @@ -158,34 +164,34 @@ msgid "Python module not found: %(module)s" msgstr "Python modülü bulunamadı: %(module)s" -#: src/gpodder/model.py:483 src/gpodder/youtube.py:445 +#: src/gpodder/model.py:496 src/gpodder/youtube.py:457 #: src/gpodder/plugins/soundcloud.py:152 -#: share/gpodder/extensions/youtube-dl.py:211 +#: share/gpodder/extensions/youtube-dl.py:215 msgid "No description available" msgstr "Açıklama yok" -#: src/gpodder/model.py:716 +#: src/gpodder/model.py:730 msgid "unknown" msgstr "bilinmeyen" -#: src/gpodder/model.py:787 +#: src/gpodder/model.py:801 msgid "Default" msgstr "Öntanımlı" -#: src/gpodder/model.py:788 +#: src/gpodder/model.py:802 msgid "Only keep latest" msgstr "Sadece en yeniyi sakla" -#: src/gpodder/model.py:1219 src/gpodder/model.py:1234 +#: src/gpodder/model.py:1233 src/gpodder/model.py:1248 #: share/gpodder/ui/gtk/gpodderpreferences.ui.h:10 msgid "Video" msgstr "Video" -#: src/gpodder/model.py:1232 +#: src/gpodder/model.py:1246 msgid "Audio" msgstr "Ses" -#: src/gpodder/model.py:1411 +#: src/gpodder/model.py:1425 #, python-format msgid "" "Warning: path to gPodder home (%(root)s) is very long and can result in " @@ -194,7 +200,7 @@ "Uyarı: gPodder ana sayfasına (%(root)s) giden yol çok uzun ve dosyaların " "indirilememesine neden olabilir.\n" -#: src/gpodder/model.py:1413 +#: src/gpodder/model.py:1427 msgid "You're advised to set it to a shorter path." msgstr "Daha kısa bir yola ayarlamanız tavsiye edilir." @@ -341,8 +347,8 @@ msgstr "MP3 çalarınızdaki çalma listesi güncellendi." #: src/gpodder/syncui.py:270 src/gpodder/gtkui/main.py:837 -#: src/gpodder/gtkui/main.py:1016 src/gpodder/gtkui/main.py:2896 -#: src/gpodder/gtkui/main.py:3103 +#: src/gpodder/gtkui/main.py:1016 src/gpodder/gtkui/main.py:2917 +#: src/gpodder/gtkui/main.py:3128 #: src/gpodder/gtkui/desktop/episodeselector.py:131 msgid "Episode" msgstr "Bölüm" @@ -617,7 +623,8 @@ msgid "Feedparser error: %s" msgstr "Feedparser hatası: %s" -#: src/gpodder/gtkui/main.py:1336 src/gpodder/gtkui/model.py:770 +#: src/gpodder/gtkui/main.py:1336 src/gpodder/gtkui/model.py:454 +#: src/gpodder/gtkui/model.py:783 src/gpodder/gtkui/desktop/channel.py:83 #, python-format msgid "ERROR: %s" msgstr "HATA: %s" @@ -657,14 +664,15 @@ msgid "Start download now" msgstr "Şimdi indirmeye başlayın" -#: src/gpodder/gtkui/main.py:1637 src/gpodder/gtkui/main.py:1919 +#: src/gpodder/gtkui/main.py:1637 src/gpodder/gtkui/main.py:1924 #: src/gpodder/gtkui/desktop/episodeselector.py:140 -#: src/gpodder/gtkui/desktop/podcastdirectory.py:192 +#: src/gpodder/gtkui/desktop/podcastdirectory.py:193 #: share/gpodder/ui/gtk/gpodder.ui.h:1 share/gpodder/ui/gtk/menus.ui.h:23 msgid "Download" msgstr "İndir" #: src/gpodder/gtkui/main.py:1642 share/gpodder/ui/gtk/gpodder.ui.h:2 +#: share/gpodder/ui/gtk/gpodderpodcastdirectory.ui.h:6 #: share/gpodder/ui/gtk/menus.ui.h:24 msgid "Cancel" msgstr "İptal" @@ -697,28 +705,34 @@
View file
3.10.19.tar.gz/po/uk.po -> 3.10.20.tar.gz/po/uk.po
Changed
@@ -8,7 +8,7 @@ msgstr "" "Project-Id-Version: gPodder\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-04-15 02:02-0600\n" +"POT-Creation-Date: 2021-06-06 20:20-0600\n" "PO-Revision-Date: 2013-01-19 12:31+0000\n" "Last-Translator: Thomas Perl <m@thp.io>\n" "Language-Team: LANGUAGE <LL@li.org>\n" @@ -19,7 +19,7 @@ "Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" "%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" -#: src/gpodder/config.py:54 +#: src/gpodder/config.py:53 #, python-format msgid "gPodder on %s" msgstr "gPodder на %s" @@ -74,59 +74,65 @@ msgid "Imported OPML file" msgstr "Імпортувати з OPML-файлу" -#: src/gpodder/download.py:538 src/gpodder/sync.py:974 +#: src/gpodder/download.py:541 src/gpodder/sync.py:974 msgid "Added" msgstr "Додано" -#: src/gpodder/download.py:538 src/gpodder/sync.py:974 +#: src/gpodder/download.py:541 src/gpodder/sync.py:974 msgid "Queued" msgstr "В черзі" -#: src/gpodder/download.py:538 src/gpodder/gtkui/model.py:381 +#: src/gpodder/download.py:541 src/gpodder/gtkui/model.py:382 msgid "Downloading" msgstr "Завантажую" -#: src/gpodder/download.py:539 src/gpodder/model.py:758 src/gpodder/sync.py:975 +#: src/gpodder/download.py:542 src/gpodder/model.py:772 src/gpodder/sync.py:975 msgid "Finished" msgstr "Завершено" -#: src/gpodder/download.py:539 src/gpodder/sync.py:975 +#: src/gpodder/download.py:542 src/gpodder/sync.py:975 msgid "Failed" msgstr "Помилка" -#: src/gpodder/download.py:539 src/gpodder/sync.py:975 +#: src/gpodder/download.py:542 src/gpodder/sync.py:975 msgid "Cancelled" msgstr "Скасовано" -#: src/gpodder/download.py:539 src/gpodder/sync.py:975 +#: src/gpodder/download.py:542 src/gpodder/sync.py:975 msgid "Paused" msgstr "Призупинено" -#: src/gpodder/download.py:858 +#: src/gpodder/download.py:864 +#, fuzzy +#| msgid "Select the episodes you want to download:" +msgid "Episode has no URL to download" +msgstr "Оберіть епізоди, які ви хочете завантажити." + +#: src/gpodder/download.py:867 msgid "Missing content from server" msgstr "На сервері немає контенту" -#: src/gpodder/download.py:864 +#: src/gpodder/download.py:873 #, python-format msgid "Couldn't connect to server %(host)s:%(port)s" msgstr "" -#: src/gpodder/download.py:873 +#: src/gpodder/download.py:882 #, python-format msgid "Request Error: %(error)s" msgstr "" -#: src/gpodder/download.py:879 +#: src/gpodder/download.py:888 #, python-format msgid "I/O Error: %(error)s: %(filename)s" msgstr "Помилка вводу/виводу: %(error)s: %(filename)s" -#: src/gpodder/download.py:886 +#: src/gpodder/download.py:895 #, python-format msgid "HTTP Error %(code)s: %(message)s" msgstr "HTTP помилка %(code)s: %(message)s" -#: src/gpodder/download.py:890 src/gpodder/sync.py:1130 +#: src/gpodder/download.py:899 src/gpodder/sync.py:1130 #, python-format msgid "Error: %s" msgstr "Помилка: %s" @@ -145,8 +151,8 @@ msgid "Post download" msgstr "Призупинити завантаження" -#: src/gpodder/extensions.py:59 src/gpodder/model.py:822 -#: src/gpodder/model.py:1236 +#: src/gpodder/extensions.py:59 src/gpodder/model.py:836 +#: src/gpodder/model.py:1250 msgid "Other" msgstr "Інше" @@ -170,41 +176,41 @@ msgid "Python module not found: %(module)s" msgstr "Модуль Python \"%s\" не встановлено" -#: src/gpodder/model.py:483 src/gpodder/youtube.py:445 +#: src/gpodder/model.py:496 src/gpodder/youtube.py:457 #: src/gpodder/plugins/soundcloud.py:152 -#: share/gpodder/extensions/youtube-dl.py:211 +#: share/gpodder/extensions/youtube-dl.py:215 msgid "No description available" msgstr "Опис відсутній" -#: src/gpodder/model.py:716 +#: src/gpodder/model.py:730 msgid "unknown" msgstr "невідомий" -#: src/gpodder/model.py:787 +#: src/gpodder/model.py:801 msgid "Default" msgstr "" -#: src/gpodder/model.py:788 +#: src/gpodder/model.py:802 msgid "Only keep latest" msgstr "" -#: src/gpodder/model.py:1219 src/gpodder/model.py:1234 +#: src/gpodder/model.py:1233 src/gpodder/model.py:1248 #: share/gpodder/ui/gtk/gpodderpreferences.ui.h:10 msgid "Video" msgstr "" -#: src/gpodder/model.py:1232 +#: src/gpodder/model.py:1246 msgid "Audio" msgstr "" -#: src/gpodder/model.py:1411 +#: src/gpodder/model.py:1425 #, python-format msgid "" "Warning: path to gPodder home (%(root)s) is very long and can result in " "failure to download files.\n" msgstr "" -#: src/gpodder/model.py:1413 +#: src/gpodder/model.py:1427 msgid "You're advised to set it to a shorter path." msgstr "" @@ -351,8 +357,8 @@ msgstr "" #: src/gpodder/syncui.py:270 src/gpodder/gtkui/main.py:837 -#: src/gpodder/gtkui/main.py:1016 src/gpodder/gtkui/main.py:2896 -#: src/gpodder/gtkui/main.py:3103 +#: src/gpodder/gtkui/main.py:1016 src/gpodder/gtkui/main.py:2917 +#: src/gpodder/gtkui/main.py:3128 #: src/gpodder/gtkui/desktop/episodeselector.py:131 msgid "Episode" msgstr "Епізод" @@ -640,7 +646,8 @@ msgid "Feedparser error: %s" msgstr "Помилка парсеру потоків: %s" -#: src/gpodder/gtkui/main.py:1336 src/gpodder/gtkui/model.py:770 +#: src/gpodder/gtkui/main.py:1336 src/gpodder/gtkui/model.py:454 +#: src/gpodder/gtkui/model.py:783 src/gpodder/gtkui/desktop/channel.py:83 #, python-format msgid "ERROR: %s" msgstr "" @@ -685,14 +692,15 @@ msgid "Start download now" msgstr "Почати завантаження" -#: src/gpodder/gtkui/main.py:1637 src/gpodder/gtkui/main.py:1919 +#: src/gpodder/gtkui/main.py:1637 src/gpodder/gtkui/main.py:1924 #: src/gpodder/gtkui/desktop/episodeselector.py:140 -#: src/gpodder/gtkui/desktop/podcastdirectory.py:192 +#: src/gpodder/gtkui/desktop/podcastdirectory.py:193 #: share/gpodder/ui/gtk/gpodder.ui.h:1 share/gpodder/ui/gtk/menus.ui.h:23 msgid "Download" msgstr "Завантажити" #: src/gpodder/gtkui/main.py:1642 share/gpodder/ui/gtk/gpodder.ui.h:2 +#: share/gpodder/ui/gtk/gpodderpodcastdirectory.ui.h:6 #: share/gpodder/ui/gtk/menus.ui.h:24 msgid "Cancel" msgstr "Скасувати" @@ -726,184 +734,194 @@ msgid "Mark episodes as old"
View file
3.10.19.tar.gz/po/zh_CN.po -> 3.10.20.tar.gz/po/zh_CN.po
Changed
@@ -9,7 +9,7 @@ msgstr "" "Project-Id-Version: gPodder\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-04-15 02:02-0600\n" +"POT-Creation-Date: 2021-06-06 20:20-0600\n" "PO-Revision-Date: 2020-09-20 15:54+0800\n" "Last-Translator: Thomas Perl <m@thp.io>\n" "Language-Team: Chinese (China) (http://www.transifex.com/projects/p/gpodder/" @@ -21,7 +21,7 @@ "Plural-Forms: nplurals=1; plural=0;\n" "X-Generator: Poedit 2.4.1\n" -#: src/gpodder/config.py:54 +#: src/gpodder/config.py:53 #, python-format msgid "gPodder on %s" msgstr "gPodder 在 %s" @@ -67,60 +67,66 @@ msgid "Imported OPML file" msgstr "导入 OPML 文件" -#: src/gpodder/download.py:538 src/gpodder/sync.py:974 +#: src/gpodder/download.py:541 src/gpodder/sync.py:974 msgid "Added" msgstr "已添加" -#: src/gpodder/download.py:538 src/gpodder/sync.py:974 +#: src/gpodder/download.py:541 src/gpodder/sync.py:974 msgid "Queued" msgstr "已排序" -#: src/gpodder/download.py:538 src/gpodder/gtkui/model.py:381 +#: src/gpodder/download.py:541 src/gpodder/gtkui/model.py:382 msgid "Downloading" msgstr "下载中" -#: src/gpodder/download.py:539 src/gpodder/model.py:758 src/gpodder/sync.py:975 +#: src/gpodder/download.py:542 src/gpodder/model.py:772 src/gpodder/sync.py:975 msgid "Finished" msgstr "已完成" -#: src/gpodder/download.py:539 src/gpodder/sync.py:975 +#: src/gpodder/download.py:542 src/gpodder/sync.py:975 msgid "Failed" msgstr "失败" -#: src/gpodder/download.py:539 src/gpodder/sync.py:975 +#: src/gpodder/download.py:542 src/gpodder/sync.py:975 msgid "Cancelled" msgstr "取消" -#: src/gpodder/download.py:539 src/gpodder/sync.py:975 +#: src/gpodder/download.py:542 src/gpodder/sync.py:975 msgid "Paused" msgstr "暂停" -#: src/gpodder/download.py:858 +#: src/gpodder/download.py:864 +#, fuzzy +#| msgid "Select the episodes you want to download:" +msgid "Episode has no URL to download" +msgstr "选择想要下载的单集:" + +#: src/gpodder/download.py:867 msgid "Missing content from server" msgstr "服务端缺失内容" -#: src/gpodder/download.py:864 +#: src/gpodder/download.py:873 #, python-format msgid "Couldn't connect to server %(host)s:%(port)s" msgstr "" -#: src/gpodder/download.py:873 +#: src/gpodder/download.py:882 #, fuzzy, python-format #| msgid "Syntax error: %(error)s" msgid "Request Error: %(error)s" msgstr "格式错误:%(error)s" -#: src/gpodder/download.py:879 +#: src/gpodder/download.py:888 #, python-format msgid "I/O Error: %(error)s: %(filename)s" msgstr "I/O错误 %(error)s: %(filename)s" -#: src/gpodder/download.py:886 +#: src/gpodder/download.py:895 #, python-format msgid "HTTP Error %(code)s: %(message)s" msgstr "HTTP错误 %(code)s: %(message)s" -#: src/gpodder/download.py:890 src/gpodder/sync.py:1130 +#: src/gpodder/download.py:899 src/gpodder/sync.py:1130 #, python-format msgid "Error: %s" msgstr "错误 %s" @@ -137,8 +143,8 @@ msgid "Post download" msgstr "Post 下载" -#: src/gpodder/extensions.py:59 src/gpodder/model.py:822 -#: src/gpodder/model.py:1236 +#: src/gpodder/extensions.py:59 src/gpodder/model.py:836 +#: src/gpodder/model.py:1250 msgid "Other" msgstr "其他" @@ -161,41 +167,41 @@ msgid "Python module not found: %(module)s" msgstr "Python 模块未找到:%(module)s" -#: src/gpodder/model.py:483 src/gpodder/youtube.py:445 +#: src/gpodder/model.py:496 src/gpodder/youtube.py:457 #: src/gpodder/plugins/soundcloud.py:152 -#: share/gpodder/extensions/youtube-dl.py:211 +#: share/gpodder/extensions/youtube-dl.py:215 msgid "No description available" msgstr "没有可用介绍" -#: src/gpodder/model.py:716 +#: src/gpodder/model.py:730 msgid "unknown" msgstr "未知" -#: src/gpodder/model.py:787 +#: src/gpodder/model.py:801 msgid "Default" msgstr "默认" -#: src/gpodder/model.py:788 +#: src/gpodder/model.py:802 msgid "Only keep latest" msgstr "保持最新" -#: src/gpodder/model.py:1219 src/gpodder/model.py:1234 +#: src/gpodder/model.py:1233 src/gpodder/model.py:1248 #: share/gpodder/ui/gtk/gpodderpreferences.ui.h:10 msgid "Video" msgstr "视频" -#: src/gpodder/model.py:1232 +#: src/gpodder/model.py:1246 msgid "Audio" msgstr "音频" -#: src/gpodder/model.py:1411 +#: src/gpodder/model.py:1425 #, python-format msgid "" "Warning: path to gPodder home (%(root)s) is very long and can result in " "failure to download files.\n" msgstr "" -#: src/gpodder/model.py:1413 +#: src/gpodder/model.py:1427 msgid "You're advised to set it to a shorter path." msgstr "建议设置短路径。" @@ -337,8 +343,8 @@ msgstr "MP3 播放列表已更新。" #: src/gpodder/syncui.py:270 src/gpodder/gtkui/main.py:837 -#: src/gpodder/gtkui/main.py:1016 src/gpodder/gtkui/main.py:2896 -#: src/gpodder/gtkui/main.py:3103 +#: src/gpodder/gtkui/main.py:1016 src/gpodder/gtkui/main.py:2917 +#: src/gpodder/gtkui/main.py:3128 #: src/gpodder/gtkui/desktop/episodeselector.py:131 msgid "Episode" msgstr "单集" @@ -602,7 +608,8 @@ msgid "Feedparser error: %s" msgstr "" -#: src/gpodder/gtkui/main.py:1336 src/gpodder/gtkui/model.py:770 +#: src/gpodder/gtkui/main.py:1336 src/gpodder/gtkui/model.py:454 +#: src/gpodder/gtkui/model.py:783 src/gpodder/gtkui/desktop/channel.py:83 #, python-format msgid "ERROR: %s" msgstr "错误:%s" @@ -641,14 +648,15 @@ msgid "Start download now" msgstr "开始下载" -#: src/gpodder/gtkui/main.py:1637 src/gpodder/gtkui/main.py:1919 +#: src/gpodder/gtkui/main.py:1637 src/gpodder/gtkui/main.py:1924 #: src/gpodder/gtkui/desktop/episodeselector.py:140 -#: src/gpodder/gtkui/desktop/podcastdirectory.py:192 +#: src/gpodder/gtkui/desktop/podcastdirectory.py:193 #: share/gpodder/ui/gtk/gpodder.ui.h:1 share/gpodder/ui/gtk/menus.ui.h:23 msgid "Download" msgstr "下载" #: src/gpodder/gtkui/main.py:1642 share/gpodder/ui/gtk/gpodder.ui.h:2 +#: share/gpodder/ui/gtk/gpodderpodcastdirectory.ui.h:6 #: share/gpodder/ui/gtk/menus.ui.h:24 msgid "Cancel" msgstr "取消" @@ -681,28 +689,34 @@
View file
3.10.19.tar.gz/share/gpodder/extensions/youtube-dl.py -> 3.10.20.tar.gz/share/gpodder/extensions/youtube-dl.py
Changed
@@ -29,7 +29,7 @@ __authors__ = 'Eric Le Lay <elelay.fr:contact>' __doc__ = 'https://gpodder.github.io/docs/extensions/youtubedl.html' -want_ytdl_version = '2020.11.12' +want_ytdl_version = '2021.02.04' want_ytdl_version_msg = _('Your version of youtube-dl %(have_version)s has known issues, please upgrade to %(want_version)s or newer.') DefaultConfig = { @@ -116,6 +116,10 @@ break ext_filetype = mimetype_from_extension(dot_ext) if ext_filetype: + # Youtube weba formats have a webm extension and get a video/webm mime-type + # but audio content has no width or height, so change it to audio/webm for correct icon and player + if ext_filetype.startswith('video/') and ('height' not in res or res['height'] is None): + ext_filetype = ext_filetype.replace('video/', 'audio/') headers['content-type'] = ext_filetype return headers, res.get('url', self._url) @@ -285,6 +289,10 @@ self._ydl_opts['verbose'] = True else: self._ydl_opts['quiet'] = True + # Don't create downloaders for URLs supported by these youtube-dl extractors + self.ie_blacklist = ["Generic"] + # Cache URL regexes from youtube-dl matches here, seed with youtube regex + self.regex_cache = [re.compile(r'https://www.youtube.com/watch\?v=.+')] # #686 on windows without a console, sys.stdout is None, causing exceptions # when adding podcasts. # See https://docs.python.org/3/library/sys.html#sys.__stderr__ Note @@ -411,16 +419,30 @@ return self.refresh(url, channel.url, max_episodes) return None + def is_supported_url(self, url): + if self.regex_cache[0].match(url) is not None: + return True + for r in self.regex_cache[1:]: + if r.match(url) is not None: + self.regex_cache.remove(r) + self.regex_cache.insert(0, r) + return True + with youtube_dl.YoutubeDL(self._ydl_opts) as ydl: + for ie in ydl._ies: + if ie.suitable(url) and ie.ie_key() not in self.ie_blacklist: + self.regex_cache.insert(0, ie._VALID_URL_RE) + return True + return False + def custom_downloader(self, unused_config, episode): """ called from registry.custom_downloader.resolve """ if not self.force and not self.my_config.manage_downloads: return None - if re.match(r'''https://www.youtube.com/watch\?v=.+''', episode.url): + if self.is_supported_url(episode.url): return YoutubeCustomDownload(self, episode.url, episode) - elif re.match(r'''https://www.youtube.com/watch\?v=.+''', episode.link): - return YoutubeCustomDownload(self, episode.link, episode) + return None
View file
3.10.19.tar.gz/share/gpodder/ui/gtk/gpodderpodcastdirectory.ui -> 3.10.20.tar.gz/share/gpodder/ui/gtk/gpodderpodcastdirectory.ui
Changed
@@ -1,120 +1,43 @@ <?xml version="1.0" encoding="UTF-8"?> +<!-- Generated with glade 3.38.2 --> <interface> - <!-- interface-requires gtk+ 2.16 --> - <!-- interface-naming-policy toplevel-contextual --> - <object class="GtkDialog" id="gPodderPodcastDirectory"> - <property name="visible">False</property> - <property name="can_focus">False</property> - <property name="border_width">6</property> + <requires lib="gtk+" version="3.12"/> + <object class="GtkWindow" id="gPodderPodcastDirectory"> + <property name="can-focus">False</property> + <property name="border-width">6</property> <property name="title" translatable="yes">Find new podcasts</property> <property name="modal">True</property> - <property name="transient-for">parent_widget</property> - <property name="window_position">center-on-parent</property> - <property name="default_width">600</property> - <property name="default_height">400</property> - <property name="type_hint">dialog</property> - <child internal-child="vbox"> + <property name="window-position">center-on-parent</property> + <property name="default-width">600</property> + <property name="default-height">400</property> + <property name="type-hint">dialog</property> + <child> <object class="GtkBox" id="vb_directory"> <property name="visible">True</property> - <property name="can_focus">False</property> - <property name="spacing">6</property> + <property name="can-focus">False</property> <property name="orientation">vertical</property> - <child internal-child="action_area"> - <object class="GtkHButtonBox" id="hboxBottomButtons"> - <property name="visible">True</property> - <property name="can_focus">False</property> - <property name="layout_style">end</property> - <child> - <object class="GtkButton" id="btnSelectAll"> - <property name="label" translatable="yes">Select All</property> - <property name="visible">True</property> - <property name="can_focus">True</property> - <property name="receives_default">False</property> - <property name="use_underline">True</property> - <signal name="clicked" handler="on_btnSelectAll_clicked" swapped="no"/> - </object> - <packing> - <property name="expand">False</property> - <property name="fill">False</property> - <property name="position">0</property> - </packing> - </child> - <child> - <object class="GtkButton" id="btnSelectNone"> - <property name="label" translatable="yes">Select None</property> - <property name="visible">True</property> - <property name="can_focus">True</property> - <property name="receives_default">False</property> - <property name="use_underline">True</property> - <signal name="clicked" handler="on_btnSelectNone_clicked" swapped="no"/> - </object> - <packing> - <property name="expand">False</property> - <property name="fill">False</property> - <property name="position">1</property> - </packing> - </child> - <child> - <object class="GtkButton" id="btnCancel"> - <property name="label">gtk-cancel</property> - <property name="visible">True</property> - <property name="can_focus">True</property> - <property name="has_focus">True</property> - <property name="can_default">True</property> - <property name="has_default">True</property> - <property name="receives_default">False</property> - <property name="use_stock">True</property> - <signal name="clicked" handler="on_btnCancel_clicked" swapped="no"/> - </object> - <packing> - <property name="expand">False</property> - <property name="fill">False</property> - <property name="position">2</property> - </packing> - </child> - <child> - <object class="GtkButton" id="btnOK"> - <property name="label">gtk-add</property> - <property name="visible">True</property> - <property name="can_focus">True</property> - <property name="receives_default">False</property> - <property name="use_stock">True</property> - <signal name="clicked" handler="on_btnOK_clicked" swapped="no"/> - </object> - <packing> - <property name="expand">False</property> - <property name="fill">False</property> - <property name="position">3</property> - </packing> - </child> - </object> - <packing> - <property name="expand">False</property> - <property name="fill">True</property> - <property name="pack_type">end</property> - <property name="position">0</property> - </packing> - </child> + <property name="spacing">6</property> <child> <object class="GtkPaned" id="hpaned"> <property name="visible">True</property> - <property name="can_focus">True</property> - <property name="orientation">horizontal</property> + <property name="can-focus">True</property> <child> <object class="GtkScrolledWindow" id="sw_providers"> <property name="visible">True</property> - <property name="can_focus">True</property> - <property name="hscrollbar_policy">never</property> - <property name="vscrollbar_policy">automatic</property> - <property name="shadow_type">in</property> + <property name="can-focus">True</property> + <property name="hscrollbar-policy">never</property> + <property name="shadow-type">in</property> <child> <object class="GtkTreeView" id="tv_providers"> <property name="visible">True</property> - <property name="can_focus">True</property> - <property name="headers_visible">False</property> - <property name="enable_search">False</property> - <signal name="row-activated" handler="on_tv_providers_row_activated" swapped="no"/> + <property name="can-focus">True</property> + <property name="headers-visible">False</property> + <property name="enable-search">False</property> <signal name="cursor-changed" handler="on_tv_providers_cursor_changed" swapped="no"/> + <signal name="row-activated" handler="on_tv_providers_row_activated" swapped="no"/> + <child internal-child="selection"> + <object class="GtkTreeSelection"/> + </child> </object> </child> </object> @@ -126,19 +49,18 @@ <child> <object class="GtkBox" id="vb_podcasts"> <property name="visible">True</property> - <property name="can_focus">False</property> - <property name="spacing">5</property> + <property name="can-focus">False</property> <property name="orientation">vertical</property> + <property name="spacing">5</property> <child> <object class="GtkBox" id="hb_text_entry"> <property name="visible">True</property> - <property name="can_focus">False</property> + <property name="can-focus">False</property> <property name="spacing">5</property> - <property name="orientation">horizontal</property> <child> <object class="GtkLabel" id="lb_search"> <property name="visible">True</property> - <property name="can_focus">False</property> + <property name="can-focus">False</property> <property name="label" translatable="yes">label</property> </object> <packing> @@ -150,12 +72,10 @@ <child> <object class="GtkEntry" id="en_query"> <property name="visible">True</property> - <property name="can_focus">True</property> - <property name="invisible_char">•</property> - <property name="primary_icon_activatable">False</property> - <property name="secondary_icon_activatable">False</property> - <property name="primary_icon_sensitive">True</property> - <property name="secondary_icon_sensitive">True</property> + <property name="can-focus">True</property> + <property name="invisible-char">•</property> + <property name="primary-icon-activatable">False</property> + <property name="secondary-icon-activatable">False</property> <signal name="activate" handler="on_bt_search_clicked" swapped="no"/> </object> <packing> @@ -168,8 +88,8 @@ <object class="GtkButton" id="bt_search"> <property name="label" translatable="yes">...</property> <property name="visible">True</property> - <property name="can_focus">True</property> - <property name="receives_default">True</property> + <property name="can-focus">True</property> + <property name="receives-default">True</property> <signal name="clicked" handler="on_bt_search_clicked" swapped="no"/> </object> <packing> @@ -188,9 +108,7 @@ <child> <object class="GtkScrolledWindow" id="sw_tagcloud"> <property name="visible">True</property>
View file
3.10.19.tar.gz/share/gpodder/ui/gtk/gpodderpreferences.ui -> 3.10.20.tar.gz/share/gpodder/ui/gtk/gpodderpreferences.ui
Changed
@@ -563,6 +563,26 @@ <property name="position">5</property> </packing> </child> + <child> + <object class="GtkSeparator" id="hseparator_updating3"> + <property name="orientation">horizontal</property> + <property name="visible">True</property> + </object> + <packing> + <property name="expand">False</property> + <property name="position">6</property> + </packing> + </child> + <child> + <object class="GtkCheckButton" id="checkbutton_check_connection"> + <property name="label" translatable="yes">Check connection before updating (if supported)</property> + <property name="visible">True</property> + </object> + <packing> + <property name="expand">False</property> + <property name="position">7</property> + </packing> + </child> </object> <packing> <property name="tab-label" translatable="yes">Updating</property>
View file
3.10.19.tar.gz/share/man/man1/gpo.1 -> 3.10.20.tar.gz/share/man/man1/gpo.1
Changed
@@ -1,4 +1,4 @@ -.TH GPO "1" "April 2021" "gpodder 3.10.19" "User Commands" +.TH GPO "1" "June 2021" "gpodder 3.10.20" "User Commands" .SH NAME gpo \- Text mode interface of gPodder .SH SYNOPSIS
View file
3.10.19.tar.gz/share/man/man1/gpodder.1 -> 3.10.20.tar.gz/share/man/man1/gpodder.1
Changed
@@ -1,5 +1,5 @@ -.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.47.17. -.TH GPODDER "1" "April 2021" "gpodder 3.10.19" "User Commands" +.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.48.3. +.TH GPODDER "1" "June 2021" "gpodder 3.10.20" "User Commands" .SH NAME gpodder \- Media aggregator and podcast client .SH SYNOPSIS
View file
3.10.19.tar.gz/src/gpodder/__init__.py -> 3.10.20.tar.gz/src/gpodder/__init__.py
Changed
@@ -20,8 +20,8 @@ # This metadata block gets parsed by setup.py - use single quotes only __tagline__ = 'Media aggregator and podcast client' __author__ = 'Thomas Perl <thp@gpodder.org>' -__version__ = '3.10.19' -__date__ = '2021-04-15' +__version__ = '3.10.20' +__date__ = '2021-06-06' __copyright__ = '© 2005-2021 The gPodder Team' __license__ = 'GNU General Public License, version 3 or later' __url__ = 'http://gpodder.org/'
View file
3.10.19.tar.gz/src/gpodder/config.py -> 3.10.20.tar.gz/src/gpodder/config.py
Changed
@@ -27,7 +27,6 @@ import atexit import logging import os -import shutil import time import gpodder @@ -91,6 +90,8 @@ 'retries': 3, # number of retries when downloads time out }, + 'check_connection': True, + # Software updates from gpodder.org 'software_update': { 'check_on_startup': True, # check for updates on start @@ -345,14 +346,17 @@ logger.info('Flushing settings to disk') try: - fp = open(filename + '.tmp', 'wt') - fp.write(repr(self.__json_config)) - fp.close() + # revoke unix group/world permissions (this has no effect under windows) + umask = os.umask(0o077) + with open(filename + '.tmp', 'wt') as fp: + fp.write(repr(self.__json_config)) util.atomic_rename(filename + '.tmp', filename) except: logger.error('Cannot write settings to %s', filename) util.delete_file(filename + '.tmp') raise + finally: + os.umask(umask) self.__save_thread = None
View file
3.10.19.tar.gz/src/gpodder/download.py -> 3.10.20.tar.gz/src/gpodder/download.py
Changed
@@ -188,6 +188,9 @@ class DownloadCancelledException(Exception): pass +class DownloadNoURLException(Exception): pass + + class gPodderDownloadHTTPError(Exception): def __init__(self, url, error_code, error_message): self.url = url @@ -777,6 +780,9 @@ url = self.__episode.url try: + if url == '': + raise DownloadNoURLException() + if self.downloader: downloader = self.downloader.custom_downloader(self._config, self.episode) else: @@ -853,6 +859,9 @@ util.delete_file(self.tempname) self.progress = 0.0 self.speed = 0.0 + except DownloadNoURLException: + self.status = DownloadTask.FAILED + self.error_message = _('Episode has no URL to download') except urllib.error.ContentTooShortError as ctse: self.status = DownloadTask.FAILED self.error_message = _('Missing content from server') @@ -889,6 +898,13 @@ logger.error('Download failed: %s', str(e), exc_info=True) self.error_message = _('Error: %s') % (str(e),) + if self.status == DownloadTask.FAILED: + self.__episode._download_error = self.error_message + + # Delete empty partial files, they prevent streaming after a download failure (live stream) + if util.calculate_size(self.filename) == 0: + util.delete_file(self.tempname) + if self.status == DownloadTask.DOWNLOADING: # Everything went well - we're done self.status = DownloadTask.DONE
View file
3.10.19.tar.gz/src/gpodder/gtkui/desktop/channel.py -> 3.10.20.tar.gz/src/gpodder/gtkui/desktop/channel.py
Changed
@@ -80,7 +80,7 @@ b = Gtk.TextBuffer() if self.channel._update_error: - err = '\n\nERROR: {}'.format(self.channel._update_error) + err = '\n\n' + (_('ERROR: %s') % self.channel._update_error) else: err = '' b.set_text(util.remove_html_tags(self.channel.description) + err) @@ -170,7 +170,7 @@ util.idle_add(set_cover, channel, pixbuf) def drag_data_received(self, widget, content, x, y, sel, ttype, time): - files = sel.data.strip().split('\n') + files = sel.get_text().strip().split('\n') if len(files) != 1: self.show_message( _('You can only drop a single image or URL here.'), @@ -179,7 +179,7 @@ file = files[0] - if file.startswith('file://') or file.startswith('http://'): + if file.startswith('file://') or file.startswith('http://') or file.startswith('https://'): self.clear_cover_cache(self.channel.url) self.cover_downloader.replace_cover(self.channel, custom_url=file) return
View file
3.10.19.tar.gz/src/gpodder/gtkui/desktop/podcastdirectory.py -> 3.10.20.tar.gz/src/gpodder/gtkui/desktop/podcastdirectory.py
Changed
@@ -127,6 +127,7 @@ def setup_podcasts_treeview(self): column = Gtk.TreeViewColumn('') cell = Gtk.CellRendererToggle() + cell.set_fixed_size(48, -1) column.pack_start(cell, False) column.add_attribute(cell, 'active', DirectoryPodcastsModel.C_SELECTED) cell.connect('toggled', lambda cell, path: self.podcasts_model.toggle(path))
View file
3.10.19.tar.gz/src/gpodder/gtkui/desktop/preferences.py -> 3.10.20.tar.gz/src/gpodder/gtkui/desktop/preferences.py
Changed
@@ -254,6 +254,9 @@ self.combo_auto_download.add_attribute(cellrenderer, 'text', NewEpisodeActionList.C_CAPTION) self.combo_auto_download.set_active(self.auto_download_model.get_index()) + self._config.connect_gtk_togglebutton('check_connection', + self.checkbutton_check_connection) + if self._config.auto_remove_played_episodes: adjustment_expiration = self.hscale_expiration.get_adjustment() if self._config.episode_old_age > adjustment_expiration.get_upper():
View file
3.10.19.tar.gz/src/gpodder/gtkui/main.py -> 3.10.20.tar.gz/src/gpodder/gtkui/main.py
Changed
@@ -1715,6 +1715,10 @@ item.connect('activate', self.on_channel_toggle_lock_activate) menu.append(item) + item = Gtk.ImageMenuItem(_('Refresh image')) + item.connect('activate', self.on_itemRefreshCover_activate) + menu.append(item) + item = Gtk.ImageMenuItem(_('Delete podcast')) item.set_image(Gtk.Image.new_from_icon_name('edit-delete', Gtk.IconSize.MENU)) item.connect('activate', self.on_itemRemoveChannel_activate) @@ -1891,7 +1895,7 @@ if event is None or event.button == 3: episodes = self.get_selected_episodes() any_locked = any(e.archive for e in episodes) - any_new = any(e.is_new for e in episodes) + any_new = any(e.is_new and e.state != gpodder.STATE_DELETED for e in episodes) downloaded = all(e.was_downloaded(and_exists=True) for e in episodes) downloading = any(e.downloading for e in episodes) @@ -1900,7 +1904,8 @@ (can_play, can_download, can_cancel, can_delete, open_instead_of_play) = self.play_or_download() if open_instead_of_play: - item = Gtk.ImageMenuItem(Gtk.STOCK_OPEN) + item = Gtk.ImageMenuItem(_('Open')) + item.set_image(Gtk.Image.new_from_icon_name('document-open', Gtk.IconSize.MENU)) elif downloaded: item = Gtk.ImageMenuItem(_('Play')) item.set_image(Gtk.Image.new_from_icon_name('media-playback-start', Gtk.IconSize.MENU)) @@ -2073,15 +2078,21 @@ def playback_episodes_for_real(self, episodes): groups = collections.defaultdict(list) for episode in episodes: + episode._download_error = None + player = self.episode_player(episode) + try: + allow_partial = (player != 'default') + filename = episode.get_playback_url(self.config, allow_partial) + except Exception as e: + episode._download_error = str(e) + continue + # Mark episode as played in the database episode.playback_mark() self.mygpo_client.on_playback([episode]) - allow_partial = (player != 'default') - filename = episode.get_playback_url(self.config, allow_partial) - # Determine the playback resume position - if the file # was played 100%, we simply start from the beginning resume_position = episode.current_position @@ -2611,7 +2622,7 @@ def update_feed_cache(self, channels=None, show_new_episodes_dialog=True): - if not util.connection_available(): + if self.config.check_connection and not util.connection_available(): self.show_message(_('Please connect to a network, then try again.'), _('No network connection'), important=True) return @@ -2817,31 +2828,41 @@ self.application.remove_window(self.gPodder) - def delete_episode_list(self, episodes, confirm=True, skip_locked=True, - callback=None): + def format_delete_message(self, message, things, max_things, max_length): + titles = [] + for index, thing in zip(range(max_things), things): + titles.append('• ' + (html.escape(thing.title if len(thing.title) <= max_length else thing.title[:max_length] + '...'))) + if len(things) > max_things: + titles.append('+%(count)d more ...' % {'count': len(things) - max_things}) + return '\n'.join(titles) + '\n\n' + message + + def delete_episode_list(self, episodes, confirm=True, callback=None): if not episodes: return False - if skip_locked: - episodes = [e for e in episodes if not e.archive] + episodes = [e for e in episodes if not e.archive] - if not episodes: - title = _('Episodes are locked') - message = _( - 'The selected episodes are locked. Please unlock the ' - 'episodes that you want to delete before trying ' - 'to delete them.') - self.notification(message, title, widget=self.treeAvailable) - return False + if not episodes: + title = _('Episodes are locked') + message = _( + 'The selected episodes are locked. Please unlock the ' + 'episodes that you want to delete before trying ' + 'to delete them.') + self.notification(message, title, widget=self.treeAvailable) + return False count = len(episodes) title = N_('Delete %(count)d episode?', 'Delete %(count)d episodes?', count) % {'count': count} message = _('Deleting episodes removes downloaded files.') + message = self.format_delete_message(message, episodes, 5, 60) + if confirm and not self.show_confirmation(message, title): return False + self.on_item_cancel_download_activate(force=True) + progress = ProgressIndicator(_('Deleting episodes'), _('Please wait while episodes are deleted'), parent=self.get_dialog_parent()) @@ -2864,7 +2885,7 @@ episodes_status_update = [] for idx, episode in enumerate(episodes): progress.on_progress(idx / len(episodes)) - if not episode.archive or not skip_locked: + if not episode.archive: progress.on_message(episode.title) episode.delete_from_disk() episode_urls.add(episode.url) @@ -2937,17 +2958,17 @@ def mark_selected_episodes_new(self): for episode in self.get_selected_episodes(): - episode.mark_new() + episode.mark(is_played=False) self.on_selected_episodes_status_changed() def mark_selected_episodes_old(self): for episode in self.get_selected_episodes(): - episode.mark_old() + episode.mark(is_played=True) self.on_selected_episodes_status_changed() def on_item_toggle_played_activate(self, action, param): for episode in self.get_selected_episodes(): - episode.mark(is_played=episode.is_new) + episode.mark(is_played=episode.is_new and episode.state != gpodder.STATE_DELETED) self.on_selected_episodes_status_changed() def on_item_toggle_lock_activate(self, unused, toggle=True, new_value=False): @@ -3046,6 +3067,7 @@ for episode in episodes: logger.debug('Downloading episode: %s', episode.title) if not episode.was_downloaded(and_exists=True): + episode._download_error = None task_exists = False for task in self.download_tasks_seen: if episode.url == task.url: @@ -3067,6 +3089,7 @@ try: task = download.DownloadTask(episode, self.config, downloader=downloader) except Exception as e: + episode._download_error = str(e) d = {'episode': html.escape(episode.title), 'message': html.escape(str(e))} message = _('Download error while downloading %(episode)s: %(message)s') self.show_message(message % d, _('Download error'), important=True) @@ -3080,7 +3103,7 @@ # Executes after tasks have been registered util.idle_add(queue_tasks, new_tasks, queued_existing_task) - def cancel_task_list(self, tasks): + def cancel_task_list(self, tasks, force=False): if not tasks: return @@ -3091,6 +3114,8 @@ task.status = task.CANCELLED # Call run, so the partial file gets deleted task.run() + elif force: + task.status = task.CANCELLED self.update_episode_list_icons([task.url for task in tasks]) self.play_or_download() @@ -3271,6 +3296,8 @@ info = _('Please wait while the podcasts are deleted') message = _('These podcasts and all their episodes will be PERMANENTLY DELETED.\nAre you sure you want to continue?') + message = self.format_delete_message(message, channels, 5, 60) + if confirm and not self.show_confirmation(message, title): return @@ -3326,6 +3353,12 @@ # The remaining stuff is to be done in the GTK main thread util.idle_add(finish_deletion, select_url) + def on_itemRefreshCover_activate(self, widget, *args): + assert self.active_channel is not None + + self.podcast_list_model.clear_cover_cache(self.active_channel.url) + self.cover_downloader.replace_cover(self.active_channel, custom_url=False)
View file
3.10.19.tar.gz/src/gpodder/gtkui/model.py -> 3.10.20.tar.gz/src/gpodder/gtkui/model.py
Changed
@@ -198,6 +198,7 @@ self.ICON_GENERIC_FILE = 'text-x-generic' self.ICON_DOWNLOADING = Gtk.STOCK_GO_DOWN self.ICON_DELETED = 'edit-delete' + self.ICON_ERROR = 'dialog-error' self.background_update = None self.background_update_tag = None @@ -216,7 +217,7 @@ def _filter_visible_func(self, model, iter, misc): # If searching is active, set visibility based on search text - if self._search_term is not None: + if self._search_term is not None and self._search_term != '': episode = model.get_value(iter, self.C_EPISODE) if episode is None: return False @@ -391,11 +392,6 @@ tooltip.append(_('Deleted')) status_icon = self.ICON_DELETED view_show_undeleted = False - elif episode.state == gpodder.STATE_NORMAL and \ - episode.is_new: - tooltip.append(_('New episode')) - view_show_downloaded = self._config.ui.gtk.episode_list.always_show_new - view_show_unplayed = True elif episode.state == gpodder.STATE_DOWNLOADED: tooltip = [] view_show_downloaded = True @@ -454,6 +450,16 @@ if episode.total_time > 0 and episode.current_position: tooltip.append('%d%%' % (100. * float(episode.current_position) / float(episode.total_time),)) + elif episode._download_error is not None: + tooltip.append(_('ERROR: %s') % episode._download_error) + status_icon = self.ICON_ERROR + if episode.state == gpodder.STATE_NORMAL and episode.is_new: + view_show_downloaded = self._config.ui.gtk.episode_list.always_show_new + view_show_unplayed = True + elif episode.state == gpodder.STATE_NORMAL and episode.is_new: + tooltip.append(_('New episode')) + view_show_downloaded = self._config.ui.gtk.episode_list.always_show_new + view_show_unplayed = True if episode.total_time: total_time = util.format_time(episode.total_time) @@ -588,13 +594,20 @@ channel = model.get_value(iter, self.C_CHANNEL) # If searching is active, set visibility based on search text - if self._search_term is not None: - if isinstance(channel, PodcastChannelProxy): - return True + if self._search_term is not None and self._search_term != '': key = self._search_term.lower() + if isinstance(channel, PodcastChannelProxy): + if channel.ALL_EPISODES_PROXY: + return False + return any(key in getattr(ch, c).lower() for c in PodcastListModel.SEARCH_ATTRS for ch in channel.channels) columns = (model.get_value(iter, c) for c in self.SEARCH_COLUMNS) return any((key in c.lower() for c in columns if c is not None)) + # Show section if any of its channels have an update error + if isinstance(channel, PodcastChannelProxy) and not channel.ALL_EPISODES_PROXY: + if any(c._update_error is not None for c in channel.channels): + return True + if model.get_value(iter, self.C_SEPARATOR): return True elif getattr(channel, '_update_error', None) is not None:
View file
3.10.19.tar.gz/src/gpodder/gtkui/shownotes.py -> 3.10.20.tar.gz/src/gpodder/gtkui/shownotes.py
Changed
@@ -57,6 +57,7 @@ class gPodderShownotes: def __init__(self, shownotes_pane): self.shownotes_pane = shownotes_pane + self.details_fmt = _('%s | %s | %s') self.scrolled_window = Gtk.ScrolledWindow() self.scrolled_window.set_shadow_type(Gtk.ShadowType.IN) @@ -186,6 +187,7 @@ self.text_buffer = Gtk.TextBuffer() self.text_buffer.create_tag('heading', scale=1.2, weight=Pango.Weight.BOLD) self.text_buffer.create_tag('subheading', scale=1.0) + self.text_buffer.create_tag('details', scale=0.9) self.text_view.set_buffer(self.text_buffer) self.text_view.set_property('expand', True) self.text_view.connect('button-release-event', self.on_button_release) @@ -196,12 +198,19 @@ def update(self, episode): heading = episode.title subheading = _('from %s') % (episode.channel.title) + details = self.details_fmt % ( + util.format_date(episode.published), + util.format_filesize(episode.file_size, digits=1) + if episode.file_size > 0 else "-", + episode.get_play_info_string()) self.define_colors() hyperlinks = [(0, None)] self.text_buffer.set_text('') self.text_buffer.insert_with_tags_by_name(self.text_buffer.get_end_iter(), heading, 'heading') self.text_buffer.insert_at_cursor('\n') self.text_buffer.insert_with_tags_by_name(self.text_buffer.get_end_iter(), subheading, 'subheading') + self.text_buffer.insert_at_cursor('\n') + self.text_buffer.insert_with_tags_by_name(self.text_buffer.get_end_iter(), details, 'details') self.text_buffer.insert_at_cursor('\n\n') for target, text in util.extract_hyperlinked_text(episode.description_html or episode.description): hyperlinks.append((self.text_buffer.get_char_count(), target)) @@ -294,9 +303,14 @@ stylesheet = self.get_stylesheet() if stylesheet: self.manager.add_style_sheet(stylesheet) - heading = html.escape(episode.title) - subheading = _('from %s') % (html.escape(episode.channel.title)) - header_html = _('<div id="gpodder-title">\n<h3>%s</h3>\n<p>%s</p>\n</div>\n') % (heading, subheading) + heading = '<h3>%s</h3>' % html.escape(episode.title) + subheading = _('from %s') % html.escape(episode.channel.title) + details = '<small>%s</small>' % html.escape(self.details_fmt % ( + util.format_date(episode.published), + util.format_filesize(episode.file_size, digits=1) + if episode.file_size > 0 else "-", + episode.get_play_info_string())) + header_html = _('<div id="gpodder-title">\n%s\n<p>%s</p>\n<p>%s</p></div>\n') % (heading, subheading, details) description_html = episode.description_html if not description_html: description_html = re.sub(r'\n', '<br>\n', episode.description)
View file
3.10.19.tar.gz/src/gpodder/model.py -> 3.10.20.tar.gz/src/gpodder/model.py
Changed
@@ -262,7 +262,7 @@ MAX_FILENAME_LENGTH = 120 # without extension MAX_FILENAME_WITH_EXT_LENGTH = 140 - len(".partial.webm") # with extension - __slots__ = schema.EpisodeColumns + __slots__ = schema.EpisodeColumns + ('_download_error',) def _deprecated(self): raise Exception('Property is deprecated!') @@ -290,18 +290,26 @@ audio_available = any(enclosure['mime_type'].startswith('audio/') for enclosure in entry['enclosures']) video_available = any(enclosure['mime_type'].startswith('video/') for enclosure in entry['enclosures']) + link_has_media = False + if not (audio_available or video_available): + _url = episode.url + episode.url = util.normalize_feed_url(entry['link']) + # Check if any extensions (e.g. youtube-dl) support the link + link_has_media = registry.custom_downloader.resolve(None, None, episode) is not None + episode.url = _url + media_available = audio_available or video_available or link_has_media for enclosure in entry['enclosures']: episode.mime_type = enclosure['mime_type'] # Skip images in feeds if audio or video is available (bug 979) # This must (and does) also look in Media RSS enclosures (bug 1430) - if episode.mime_type.startswith('image/') and (audio_available or video_available): + if episode.mime_type.startswith('image/') and media_available: continue # If we have audio or video available later on, skip # all 'application/*' data types (fixes Linux Outlaws and peertube feeds) - if episode.mime_type.startswith('application/') and (audio_available or video_available): + if episode.mime_type.startswith('application/') and media_available: continue episode.url = util.normalize_feed_url(enclosure['url']) @@ -327,6 +335,9 @@ if file_type is not None: return episode + if link_has_media: + return episode + return None def __init__(self, channel): @@ -359,6 +370,8 @@ # Timestamp of last playback time self.last_playback = 0 + self._download_error = None + @property def channel(self): return self.parent @@ -496,6 +509,7 @@ gpodder.user_extensions.on_episode_delete(self, filename) util.delete_file(filename) + self._download_error = None self.set_state(gpodder.STATE_DELETED) def get_playback_url(self, config=None, allow_partial=False):
View file
3.10.19.tar.gz/src/gpodder/util.py -> 3.10.20.tar.gz/src/gpodder/util.py
Changed
@@ -579,7 +579,7 @@ used_value = bytesize / float(value) used_unit = unit - return locale.format_string('%.' + str(digits) + 'f %s', (used_value, used_unit)) + return locale.format_string('%.' + str(digits) + 'f\u00a0%s', (used_value, used_unit)) def delete_file(filename): @@ -1837,7 +1837,7 @@ for record in re.split(r'^\d+: ', data.decode(locale.getpreferredencoding()), flags=re.MULTILINE): - mo = re.match(r'^([^:]*):.*inet.*brd', record, flags=re.DOTALL) + mo = re.match(r'^([^:]*):.*inet.*scope', record, flags=re.DOTALL) if mo: yield mo.group(1)
View file
3.10.19.tar.gz/src/gpodder/youtube.py -> 3.10.20.tar.gz/src/gpodder/youtube.py
Changed
@@ -29,6 +29,8 @@ from html.parser import HTMLParser from urllib.parse import parse_qs +import requests + import gpodder from gpodder import registry, util @@ -195,31 +197,41 @@ vid = get_youtube_id(url) if vid is not None: - page = None - url = 'https://www.youtube.com/get_video_info?&el=detailpage&video_id=' + vid - - while page is None: - req = util.http_request(url, method='GET') - if 'location' in req.msg: - url = req.msg['location'] - else: - page = req.read() - - page = page.decode() - # Try to find the best video format available for this video - # (http://forum.videohelp.com/topic336882-1800.html#1912972) + # TODO: changing 'detailpage' to 'embedded' allows age-restricted content + url = 'https://www.youtube.com/get_video_info?html5=1&el=detailpage&video_id=' + vid + r = requests.get(url) + if not r.ok: + logger.warning('Youtube get_video_info: %d %s' % (r.status_code, r.reason)) + + # TODO: watch URL does not work in europe due to GDPR cookie consent + url = 'https://www.youtube.com/watch?bpctr=9999999999&has_verified=1&v=' + vid + r = requests.get(url) + if not r.ok: + raise YouTubeError('%d %s' % (r.status_code, r.reason)) + + ipr = re.search(r'ytInitialPlayerResponse\s*=\s*({.+?})\s*;', r.text) + if ipr is None: + raise YouTubeError('No ytInitialPlayerResponse found') + + old_page = None + new_page = ipr.group(1) + else: + old_page = r.text + new_page = None - def find_urls(page): + def find_urls(old_page, new_page): # streamingData is preferable to url_encoded_fmt_stream_map # streamingData.formats are the same as url_encoded_fmt_stream_map # streamingData.adaptiveFormats are audio-only and video-only formats - x = parse_qs(page) + + x = parse_qs(old_page) if old_page else json.loads(new_page) + player_response = json.loads(x['player_response'][0]) if old_page and 'player_response' in x else x error_message = None if 'reason' in x: + # TODO: unknown if this is valid for new_page error_message = util.remove_html_tags(x['reason'][0]) - elif 'player_response' in x: - player_response = json.loads(x['player_response'][0]) + elif 'playabilityStatus' in player_response: playabilityStatus = player_response['playabilityStatus'] if 'reason' in playabilityStatus: @@ -230,15 +242,10 @@ # playabilityStatus.liveStreamability.liveStreamabilityRenderer.displayEndscreen -- video has ended if present if allow_partial and 'streamingData' in player_response and 'hlsManifestUrl' in player_response['streamingData']: - manifest = None - url = player_response['streamingData']['hlsManifestUrl'] - while manifest is None: - req = util.http_request(url, method='GET') - if 'location' in req.msg: - url = req.msg['location'] - else: - manifest = req.read() - manifest = manifest.decode().splitlines() + r = requests.get(player_response['streamingData']['hlsManifestUrl']) + if not r.ok: + raise YouTubeError('HLS Manifest: %d %s' % (r.status_code, r.reason)) + manifest = r.text.splitlines() urls = [line for line in manifest if line[0] != '#'] itag_re = re.compile(r'/itag/([0-9]+)/') @@ -249,41 +256,41 @@ error_message = 'live stream' elif 'streamingData' in player_response: - # DRM videos store url inside a cipher key - not supported if 'formats' in player_response['streamingData']: for f in player_response['streamingData']['formats']: - if 'url' in f: + if 'url' in f: # DRM videos store url inside a signatureCipher key yield int(f['itag']), [f['url'], f.get('approxDurationMs')] if 'adaptiveFormats' in player_response['streamingData']: for f in player_response['streamingData']['adaptiveFormats']: - if 'url' in f: + if 'url' in f: # DRM videos store url inside a signatureCipher key yield int(f['itag']), [f['url'], f.get('approxDurationMs')] return if error_message is not None: - raise YouTubeError('Cannot download video: %s' % error_message) + raise YouTubeError(('Cannot stream video: %s' if allow_partial else 'Cannot download video: %s') % error_message) - r4 = re.search(r'url_encoded_fmt_stream_map=([^&]+)', page) - if r4 is not None: - fmt_url_map = urllib.parse.unquote(r4.group(1)) - for fmt_url_encoded in fmt_url_map.split(','): - video_info = parse_qs(fmt_url_encoded) - yield int(video_info['itag'][0]), [video_info['url'][0], None] + if old_page: + r4 = re.search(r'url_encoded_fmt_stream_map=([^&]+)', old_page) + if r4 is not None: + fmt_url_map = urllib.parse.unquote(r4.group(1)) + for fmt_url_encoded in fmt_url_map.split(','): + video_info = parse_qs(fmt_url_encoded) + yield int(video_info['itag'][0]), [video_info['url'][0], None] - fmt_id_url_map = sorted(find_urls(page), reverse=True) + fmt_id_url_map = sorted(find_urls(old_page, new_page), reverse=True) if not fmt_id_url_map: - drm = re.search(r'%22(cipher|signatureCipher)%22%3A', page) + drm = re.search(r'(%22(cipher|signatureCipher)%22%3A|"signatureCipher"):', old_page or new_page) if drm is not None: - raise YouTubeError('Unsupported DRM content found for video ID "%s"' % vid) - raise YouTubeError('No formats found for video ID "%s"' % vid) + raise YouTubeError('Unsupported DRM content') + raise YouTubeError('No formats found') formats_available = set(fmt_id for fmt_id, url in fmt_id_url_map) fmt_id_url_map = dict(fmt_id_url_map) for id in preferred_fmt_ids: - if re.search(r'\+', str(id)): - # skip formats that contain a + (136+140) + if re.search(r'(^best|\+)', str(id)): + # skip formats that contain 'best.*' or a + (136+140) continue id = int(id) if id in formats_available: @@ -298,7 +305,7 @@ url, duration = fmt_id_url_map[id] break else: - raise YouTubeError('No preferred formats found for video ID "%s"' % vid) + raise YouTubeError('No preferred formats found') return url, duration @@ -366,10 +373,15 @@ def get_channel_id_url(url): if 'youtube.com' in url: try: - channel_url = '' - raw_xml_data = io.BytesIO(util.urlopen(url).content) - xml_data = xml.etree.ElementTree.parse(raw_xml_data) - channel_id = xml_data.find("{http://www.youtube.com/xml/schemas/2015}channelId").text + req = util.urlopen(url) + # video page may contain corrupt HTML/XML, search for tag to avoid exception + m = re.search(r'<meta itemprop="channelId" content="([^"]+)">', req.text) + if m: + channel_id = m.group(1) + else: + raw_xml_data = io.BytesIO(req.content) + xml_data = xml.etree.ElementTree.parse(raw_xml_data) + channel_id = xml_data.find("{http://www.youtube.com/xml/schemas/2015}channelId").text channel_url = 'https://www.youtube.com/channel/{}'.format(channel_id) return channel_url @@ -473,27 +485,34 @@ scheme, netloc, path, query, fragment = urllib.parse.urlsplit(url) logger.debug("Analyzing URL: {}".format(" ".join([scheme, netloc, path, query, fragment]))) - if 'youtube.com' in netloc and ('/user/' in path or '/channel/' in path or 'list=' in query): - logger.debug("Valid Youtube URL detected. Parsing...") + if 'youtube.com' in netloc: + if '/user/' in path or '/channel/' in path or 'list=' in query: + logger.debug("Valid Youtube URL detected. Parsing...") - if path.startswith('/user/'): - user_id = path.split('/')[2] - query = 'user={user_id}'.format(user_id=user_id) + if path.startswith('/user/'): + user_id = path.split('/')[2] + query = 'user={user_id}'.format(user_id=user_id) - if path.startswith('/channel/'): - channel_id = path.split('/')[2] - query = 'channel_id={channel_id}'.format(channel_id=channel_id) + if path.startswith('/channel/'): + channel_id = path.split('/')[2] + query = 'channel_id={channel_id}'.format(channel_id=channel_id) - if 'list=' in query:
View file
3.10.19.tar.gz/tools/mac-osx/Info.plist -> 3.10.20.tar.gz/tools/mac-osx/Info.plist
Changed
@@ -1,6 +1,5 @@ <?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" - "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> +<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>CFBundleName</key> @@ -8,7 +7,7 @@ <key>CFBundleShortVersionString</key> <string>__VERSION__</string> <key>CFBundleGetInfoString</key> - <string>gPodder v__VERSION__</string> + <string>gPodder v__VERSION__ __COPYRIGHT__</string> <key>CFBundleAllowMixedLocalizations</key> <string>false</string> <key>CFBundleInfoDictionaryVersion</key> @@ -20,13 +19,21 @@ <key>CFBundlePackageType</key> <string>APPL</string> <key>CFBundleSignature</key> - <string>GPOD</string> + <string>????</string> <key>CFBundleVersion</key> <string>__VERSION__</string> <key>CFBundleIconFile</key> - <string>icon.icns</string> + <string>gPodder.icns</string> <key>CFBundleIdentifier</key> <string>org.gpodder.gpodder</string> + <key>NSHumanReadableCopyright</key> + <string>__COPYRIGHT__</string> + <key>LSMinimumSystemVersion</key> + <string>10.6</string> + <key>NSHighResolutionCapable</key> + <true/> + <key>GtkOSXLaunchScriptFile</key> + <string>launcher.py</string> <key>CFBundleDocumentTypes</key> <array> <dict>
View file
3.10.20.tar.gz/tools/mac-osx/adjust-modifiers.xsl
Added
@@ -0,0 +1,30 @@ +<?xml version="1.0" ?> +<!-- this stylesheet ajusts menu item accelerators: + - Command-, for preferences + - Command-? for user manual + + accelerators names are found in gtk/source/gtk+/gdk/gdkkeysyms-compat.h + --> +<xsl:stylesheet + xmlns:xsl="http://www.w3.org/1999/XSL/Transform" + version="1.0"> + + <xsl:template match="@*|node()"> + <xsl:copy> + <xsl:apply-templates select="@*|node()"/> + </xsl:copy> + </xsl:template> + + <xsl:template match="attribute[@name = 'accel' and preceding-sibling::attribute[@name = 'action' and . = 'app.preferences']]"> + <attribute name="accel"><Primary>,</attribute> + </xsl:template> + + <xsl:template match="attribute[@name='action' and . ='app.help']"> + <xsl:copy> + <xsl:apply-templates select="@*|node()"/> + </xsl:copy> + <attribute name="accel"><Primary>?</attribute> + </xsl:template> + +</xsl:stylesheet> +
View file
3.10.20.tar.gz/tools/mac-osx/launcher.py
Added
@@ -0,0 +1,184 @@ +import os +import os.path +import platform +import re +import runpy +import subprocess +import sys +import time +import traceback +from os.path import dirname, expanduser, join +from subprocess import PIPE, CalledProcessError, Popen + + +class MakeCertPem: + """ create openssl cert bundle from system certificates """ + + def __init__(self, openssl): + self.openssl = openssl + + def is_valid_cert(self, cert): + """ check if cert is valid according to openssl""" + cmd = [self.openssl, "x509", "-inform", "pem", "-checkend", "0", "-noout"] + # print("D: is_valid_cert %r" % cmd) + proc = Popen(cmd, stdin=PIPE, stdout=PIPE, stderr=PIPE) + stdout, stderr = proc.communicate(cert) + # print("out: %s; err:%s; ret:%i" % (stdout, stderr, proc.returncode)) + return proc.returncode == 0 + + def get_certs(self): + """ extract System's certificates then filter them by validity + and return a list of text of valid certs + """ + cmd = ["security", "find-certificate", "-a", "-p", + "/System/Library/Keychains/SystemRootCertificates.keychain"] + cert_re = re.compile(b"^-----BEGIN CERTIFICATE-----$" + + b".+?" + + b"^-----END CERTIFICATE-----$", re.M | re.S) + try: + certs_str = subprocess.check_output(cmd) + all_certs = cert_re.findall(certs_str) + print("I: extracted %i certificates" % len(all_certs)) + valid_certs = [cert for cert in all_certs + if self.is_valid_cert(cert)] + print("I: of which %i are valid certificates" % len(valid_certs)) + return valid_certs + except OSError: + print("E: extracting certificates using %r" % cmd) + traceback.print_exc() + except CalledProcessError as err: + print(("E: extracting certificates using %r, exit=%i" % + (cmd, err.returncode))) + + @staticmethod + def write_certs(certs, dest): + """ write concatenated certs to dest """ + with open(dest, "wb") as output: + output.write(b"\n".join(certs)) + + def regen(self, dest): + """ main program """ + print("I: make_cert_pem %s %s" % (self.openssl, dest)) + certs = self.get_certs() + if certs is None: + print("E: no certificate extracted") + return -1 + else: + self.write_certs(certs, dest) + print("I: updated %s with %i certificates" % (dest, len(certs))) + return 0 + + +# print("launcher.py sys.argv=", sys.argv) +bundlepath = sys.argv.pop(0) +app = os.path.basename(sys.argv[0]) + +bundle_contents = join(bundlepath, 'Contents') +bundle_res = join(bundle_contents, 'Resources') + +bundle_lib = join(bundle_res, 'lib') +bundle_bin = join(bundle_res, 'bin') +bundle_data = join(bundle_res, 'share') +bundle_etc = join(bundle_res, 'etc') + +os.environ['CHARSETALIASDIR'] = bundle_lib +os.environ['DYLD_LIBRARY_PATH'] = bundle_lib +os.environ['GTK_DATA_PREFIX'] = bundle_res +os.environ['GTK_EXE_PREFIX'] = bundle_res +os.environ['GTK_PATH'] = bundle_res +os.environ['LD_LIBRARY_PATH'] = bundle_lib +os.environ['XDG_CONFIG_DIRS'] = bundle_etc +os.environ['XDG_DATA_DIRS'] = bundle_data + +os.environ['PANGO_LIBDIR'] = bundle_lib +os.environ['PANGO_RC_FILE'] = join(bundle_etc, 'pango', 'pangorc') +os.environ['PANGO_SYSCONFDIR'] = bundle_etc +os.environ['GDK_PIXBUF_MODULE_FILE'] = join(bundle_lib, 'gdk-pixbuf-2.0', + '2.10.0', 'loaders.cache') +if int(platform.release().split('.')[0]) > 10: + os.environ['GTK_IM_MODULE_FILE'] = join(bundle_etc, 'gtk-3.0', + 'gtk.immodules') + +os.environ['GI_TYPELIB_PATH'] = join(bundle_lib, 'girepository-1.0') + +# for forked python +os.environ['PYTHONHOME'] = bundle_res +# Set $PYTHON to point inside the bundle +PYVER = 'python3.8' +sys.path.append(bundle_res) +print('System Path:\n', '\n'.join(sys.path)) + +# see https://gpodder.github.io/docs/user-manual.html#gpodder-home-folder-and-download-location +# To override gPodder home and/or download directory: +# 1. uncomment (remove the pound sign and space) at the begining of the relevant line +# 2. replace ~/gPodderData or ~/gPodderDownloads with the path you want for your gPodder home +# (you can move the original folder in the Finder first, +# then drag and drop to the launcher.py in TextEdit to ensure the correct path is set) +# uncomment the following line to override gPodder home +# os.environ['GPODDER_HOME'] = expanduser('~/gPodderData') +# uncomment the following line to override gPodder download directory +# os.environ['GPODDER_DOWNLOAD_DIR'] = expanduser('~/gPodderDownloads') + +for k, v in os.environ.items(): + print("%s=%s" % (k, v)) + + +def gpodder_home(): + # don't inadvertently create the new gPodder home, + # it would be prefered to the old one + default_path = join(os.environ['HOME'], 'Library', 'Application Support', 'gPodder') + cands = [ + os.environ.get('GPODDER_HOME'), + default_path, + join(os.environ['HOME'], 'gPodder'), + ] + for cand in cands: + if cand and os.path.exists(cand): + return cand + return default_path + + +gphome = gpodder_home() +os.makedirs(join(gphome, 'openssl'), exist_ok=True) +# generate cert.extracted.pem +cert_gen = join(gphome, 'openssl', 'cert.extracted.pem') +cert_pem = join(gphome, 'openssl', 'cert.pem') +regen = False +if not os.path.isfile(cert_gen): + regen = True +else: + last_modified = os.stat(cert_gen).st_mtime + regen = last_modified < time.time() - 3600 * 7 + +if regen: + print('(Re)generating', cert_pem) + openssl = join(bundle_bin, 'openssl') + MakeCertPem(openssl).regen(cert_gen) +else: + print('No regenerating', cert_gen, 'it\'s fresh enough') + +# and link to it by default. Users may want to point cert.pem to MacPorts +# /opt/local/etc/openssl/cert.pem, for instance. +if not os.path.exists(cert_pem): + os.symlink(os.path.basename(cert_gen), cert_pem) +# Set path to CA files +os.environ['SSL_CERT_FILE'] = cert_pem + +if app == 'run-python': + python_exe = join(bundle_contents, 'MacOS', 'python3') + # executable is repeated as argv[0]. + # Old sys.argv[0] points to Contents/MacOS so must be removed + args = [python_exe] + sys.argv[1:] + # print("running", args) + os.execv(python_exe, args) +elif app == 'run-pip': + python_exe = join(bundle_contents, 'MacOS', 'python3') + pip = join(bundle_contents, 'Resources', 'bin', 'pip3') + # executable is repeated as argv[0]. + # Old sys.argv[0] points to Contents/MacOS so must be removed + args = [python_exe, pip] + sys.argv[1:] + # print("running", args) + os.execv(python_exe, args) +else: + import runpy + runpy.run_path(join(bundle_bin, app), run_name='__main__')
View file
3.10.20.tar.gz/tools/mac-osx/make_cert_pem.py
Added
@@ -0,0 +1,87 @@ +# -*- coding: utf-8 -*- +""" A script to initialize our bundled openssl CA trust store + based on your System's keychain + + Released under the same licence as gPodder (GPL3 or later) + Copyright (c) 2016 Eric Le Lay +""" + +import argparse +import re +import subprocess +import sys +import traceback +from subprocess import PIPE, CalledProcessError, Popen + + +def is_valid_cert(openssl, cert): + """ check if cert is valid according to openssl""" + + cmd = [openssl, "x509", "-inform", "pem", "-checkend", "0", "-noout"] + # print("D: is_valid_cert %r" % cmd) + proc = Popen(cmd, stdin=PIPE, stdout=PIPE, stderr=PIPE) + stdout, stderr = proc.communicate(cert) + # print("out: %s; err:%s; ret:%i" % (stdout, stderr, proc.returncode)) + return proc.returncode == 0 + + +def get_certs(openssl): + """ extract System's certificates then filter them by validity + and return a list of text of valid certs + """ + + cmd = ["security", "find-certificate", "-a", "-p", + "/System/Library/Keychains/SystemRootCertificates.keychain"] + cert_re = re.compile(b"^-----BEGIN CERTIFICATE-----$" + + b".+?" + + b"^-----END CERTIFICATE-----$", re.M | re.S) + try: + certs_str = subprocess.check_output(cmd) + all_certs = cert_re.findall(certs_str) + print("I: extracted %i certificates" % len(all_certs)) + valid_certs = [cert for cert in all_certs + if is_valid_cert(openssl, cert)] + print("I: of which %i are valid certificates" % len(valid_certs)) + return valid_certs + except OSError: + print("E: extracting certificates using %r" % cmd) + traceback.print_exc() + except CalledProcessError as err: + print(("E: extracting certificates using %r, exit=%i" % + (cmd, err.returncode))) + + +def write_certs(certs, dest): + """ write concatenated certs to dest """ + + with open(dest, "wb") as output: + output.write(b"\n".join(certs)) + + +def main(openssl, dest): + """ main program """ + + print("I: make_cert_pem.py %s %s" % (openssl, dest)) + certs = get_certs(openssl) + if certs is None: + print("E: no certificate extracted") + return -1 + else: + write_certs(certs, dest) + print("I: updated %s with %i certificates" % (dest, len(certs))) + return 0 + + +PARSER = argparse.ArgumentParser( + description='Extract system certificates for openssl') +PARSER.add_argument("openssl", + metavar="OPENSSL_EXE", + help="absolute path to the openssl executable") +PARSER.add_argument("dest", + metavar="DEST_FILE", + help="absolute path to the certs.pem file to write to") + +if __name__ == "__main__": + + ARGS = PARSER.parse_args() + sys.exit(main(ARGS.openssl, ARGS.dest))
View file
3.10.20.tar.gz/tools/mac-osx/release.sh
Added
@@ -0,0 +1,50 @@ +#!/bin/bash + +set -e + +usage="Usage: $0 /path/to/gPodder.app version_buildnumber" + +if [ -z "$1" ] ; then + echo "$usage" + exit -1 +elif [ ! -d "$1" ] ; then + echo "$usage" + echo "$1 doesn't exist or is not a directory (give me /path/to/gPodder.app)" +else + app=$1 + shift +fi + +if [ -z "$1" ] ; then + echo "$usage" + exit -1 +else + version="$1" + shift +fi + +d=$(dirname "$app") +appname=$(basename "$app") +zip="${appname%.app}-$version.zip" +contents="${appname%.app}.contents" + +if (which md5 >& /dev/null) ; then + MD5=md5 +else + MD5=md5sum +fi + +cd "$d" +if [ -f "$zip" ] ; then + echo "$d/$zip already exists!" + exit -1 +fi +echo "Creating $d/$zip..." +zip --symlinks -rq "$zip" "$appname" "$contents" +find . -maxdepth 1 -type l -exec zip -q --symlinks "$zip" '{}' ';' + +echo "Checksumming..." +shasum -a256 "$zip" > "$zip.sha256" +"$MD5" "$zip" > "$zip.md5" + +echo "Done"
View file
3.10.20.tar.gz/tools/mac-osx/release_on_mac.sh
Added
@@ -0,0 +1,112 @@ +#!/bin/bash + +usage="Usage: $0 /path/to/pythonbase-x.y.z_w.zip" + +if [ -z "$1" ] ; then + echo "$usage" + exit -1 +elif [ ! -f "$1" ] ; then + echo "$usage" + echo + echo "E: deps not found: $1 doesn't exist" + echo " get them from https://github.com/gpodder/gpodder-osx-bundle/releases" + exit -1 +else + deps="$1" + shift +fi + +set -e +set -x + +me=$(readlink "$0" || echo $0) +mydir=$(cd $(dirname "$me"); pwd -P) +checkout=$(dirname $(dirname "$mydir")) + +# directory where the generated app and zip will end in +workspace="$mydir/_build" + +app="$workspace"/gPodder.app +oldapp="$workspace/pythonbase.app" + +contents="$app"/Contents +resources="$contents"/Resources +macos="$app"/Contents/MacOS +run_python="$macos"/run-python +run_pip="$macos"/run-pip + +mkdir -p "$workspace" +rm -rf "$oldapp" "$app" "$workspace/gPodder.contents" "$workspace/pythonbase.contents" +cd "$workspace" +unzip "$deps" + + + +if [ ! -e "$oldapp/" ]; then + echo "E: unzipping deps didn't generate $oldapp" + exit -1 +fi + +mv "$oldapp" "$app" +mv "$workspace/pythonbase.contents" "$workspace/gPodder.contents" + +# launcher scripts +mv "$macos"/{pythonbase,gpodder} +CMDS="gpo gpodder-migrate2tres run-python run-pip" +for cmd in ${CMDS}; do + if [ -e "$macos"/$cmd ]; then + unlink "$macos"/$cmd + fi + cp -a "$macos"/{gpodder,$cmd} + rm -f "$workspace/$cmd" + ln -s $(basename $app)/Contents/MacOS/$cmd "$workspace/" +done + +cp -a "$checkout"/tools/mac-osx/launcher.py "$resources"/ +cp -a "$checkout"/tools/mac-osx/make_cert_pem.py "$resources"/bin + +# install gPodder hard dependencies +$run_pip install setuptools wheel +$run_pip install podcastparser==0.6.6 mygpoclient==1.8 requests[socks]==2.25.1 + +# install extension dependencies; no explicit version for youtube_dl +$run_pip install mutagen==1.45.1 html5lib==1.1 youtube_dl + +cd "$checkout" +touch share/applications/gpodder{,-url-handler}.desktop +cp share/dbus-1/services/org.gpodder.service{.in,} +export GPODDER_INSTALL_UIS="cli gtk" + +# compile translations +for po in po/*; do + lang=$(basename ${po%.po}) + msgdir=$resources/share/locale/$lang/LC_MESSAGES + mkdir -p "$msgdir" + $macos/msgfmt $po -o $msgdir/gpodder.mo +done + +# copy fake dbus +cp -r tools/fake-dbus-module/dbus $resources/lib/python3.8/site-packages/dbus + +# install +"$run_python" setup.py install --root="$resources/" --prefix=. --optimize=0 + +find "$app" -name '*.pyc' -delete +find "$app" -name '*.pyo' -delete +rm -Rf "$resources"/share/applications +rm -Rf "$resources"/share/dbus-1 + +# Command-XX shortcuts in gPodder menus +/usr/bin/xsltproc -o menus.ui.tmp "$checkout"/tools/mac-osx/adjust-modifiers.xsl "$resources"/share/gpodder/ui/gtk/menus.ui +mv menus.ui.tmp "$resources"/share/gpodder/ui/gtk/menus.ui + +# Set the version and copyright automatically +version=$(perl -ne "/__version__\\s*=\\s*'(.+)'/ && print \$1" "$checkout"/src/gpodder/__init__.py) +copyright=$(perl -ne "/__copyright__\\s*=\\s*'(.+)'/ && print \$1" "$checkout"/src/gpodder/__init__.py) +sed "s/__VERSION__/$version/g" "$checkout/tools/mac-osx/Info.plist" | sed "s/__COPYRIGHT__/$copyright/g" > "$contents"/Info.plist + +# Copy the latest icons +cp "$checkout"/tools/mac-osx/icon.icns "$resources"/gPodder.icns + +# release the thing +"$mydir"/release.sh "$app" "$version"
View file
3.10.20.tar.gz/tools/requirements.txt
Added
@@ -0,0 +1,13 @@ +# PyPI / pip requirements for Linux +# For the benefit of e.g. flatpak-pip-generator. +# +mygpoclient==1.8 +podcastparser==0.6.6 +requests[socks]==2.25.1 +urllib3==1.26.5 +html5lib==1.1 +mutagen==1.45.1 +dbus-python +youtube_dl +# eyed3 is optional and pulls in a lot of dependencies, so disable by default +# eyed3
View file
3.10.19.tar.gz/tools/win_installer/_base.sh -> 3.10.20.tar.gz/tools/win_installer/_base.sh
Changed
@@ -91,9 +91,9 @@ webencodings==0.5.1 certifi==2020.11.8 mutagen==1.45.1 -youtube_dl==2021.03.25 -requests==2.25.0 -urllib3==1.26.4 +youtube_dl +requests==2.25.1 +urllib3==1.26.5 chardet==4.0.0 idna==3.1 PySocks==1.7.1
Locations
Projects
Search
Status Monitor
Help
Open Build Service
OBS Manuals
API Documentation
OBS Portal
Reporting a Bug
Contact
Mailing List
Forums
Chat (IRC)
Twitter
Open Build Service (OBS)
is an
openSUSE project
.