Compare commits

..

No commits in common. "main" and "3.4.1" have entirely different histories.
main ... 3.4.1

7 changed files with 104 additions and 125 deletions

View File

@ -6,12 +6,12 @@ You need to have [GPodderSync](https://apps.nextcloud.com/apps/gpoddersync) inst
## Features ## Features
- 🔍 Browse and subscribe huge collection of podcasts - Browse podcasts and play them directly in Nextcloud
- 🔊 Listen to episodes directly in Nextcloud - Keep track of subscribed shows and episodes
- 📋 Keep track of subscribed shows and episodes - Sync them with GPodderSync compatible clients
- 🌐 Sync them with GPodderSync compatible clients - Import and export subscriptions
- 📱 Mobile friendly interface - Mobile friendly interface
- 📡 Import and export your subscriptions - Unified search integration
## Comparaison with similar apps for Nextcloud ## Comparaison with similar apps for Nextcloud
@ -34,17 +34,26 @@ You need to have [GPodderSync](https://apps.nextcloud.com/apps/gpoddersync) inst
| Integrate with [Nextcloud Notes](https://apps.nextcloud.com/apps/notes) | ❌ | ✅ | ❌ | ❌ | | Integrate with [Nextcloud Notes](https://apps.nextcloud.com/apps/notes) | ❌ | ✅ | ❌ | ❌ |
| Mobile friendly interface | ✅ | ❌ | ✅ | ✅ | | Mobile friendly interface | ✅ | ❌ | ✅ | ✅ |
| Support chapters | ✅ | ❌ | ❌ | ✅ | | Support chapters | ✅ | ❌ | ❌ | ✅ |
| Available in multiple languages | [](https://translate.crystalyx.net/projects/repod/gitea/) (en/fr/de) | ❌ | [](https://github.com/owncloud/music/issues/671#issuecomment-782746463) | [](https://www.transifex.com/project-insanityorg/podcast-1/dashboard/) (en/de) | | Available in multiple languages | ⭕ (en/fr/de) | ❌ | ✅ | ⭕ (en/de) |
> Click on ⭕ to open the ticket *Click on ⭕ to open the ticket*
## Screenshots ## Screenshots
<img src="./screens/index.png" width="230" title="Homepage" /> ### Homepage
<img src="./screens/discover.png" width="230" title="Discover" /> ![homepage](./screens/index.png)
<img src="./screens/search.png" width="230" title="Search" />
<img src="./screens/episodes.png" width="230" title="Episode list" /> ### Discover
<img src="./screens/modal.png" width="230" title="Episode description" /> ![homepage](./screens/discover.png)
### Search
![search](./screens/search.png)
### Episode list
![episodes](./screens/episodes.png)
### Episode description
![modal](./screens/modal.png)
## Clients supporting sync of GPodderSync ## Clients supporting sync of GPodderSync
@ -63,14 +72,6 @@ Either from the official Nextcloud [app store](https://apps.nextcloud.com/apps/r
- Conflict with Plasma Integration Firefox addon ([#164](https://git.crystalyx.net/Xefir/repod/issues/164)) - Conflict with Plasma Integration Firefox addon ([#164](https://git.crystalyx.net/Xefir/repod/issues/164))
## Translations
You can contribute to translate the app in your language and you don't need to have any development background to do so !
Please join the effort at our **[Weblate](https://translate.crystalyx.net/projects/repod/gitea/)** project.
Thank you so much if you decide to participate ❤️
## Credits ## Credits
- [GPodder Sync](https://github.com/thrillfall/nextcloud-gpodder) for the database API - [GPodder Sync](https://github.com/thrillfall/nextcloud-gpodder) for the database API

View File

@ -5,7 +5,7 @@ OC.L10N.register(
"Podcast" : "Podcast", "Podcast" : "Podcast",
"RePod" : "RePod", "RePod" : "RePod",
"🔊 Browse, manage and listen to podcasts" : "🔊 Suchen, Verwalten und Anhören von Podcasts", "🔊 Browse, manage and listen to podcasts" : "🔊 Suchen, Verwalten und Anhören von Podcasts",
"## Features\n- 🔍 Browse and subscribe huge collection of podcasts\n- 🔊 Listen to episodes directly in Nextcloud\n- 🌐 Sync your activity with [AntennaPod](https://antennapod.org/) and [other apps](https://git.crystalyx.net/Xefir/repod#clients-supporting-sync-of-gpoddersync)\n- 📱 Mobile friendly interface\n- 📡 Import and export your subscriptions\n- ➡️ Full features comparison [here](https://git.crystalyx.net/Xefir/repod#comparaison-with-similar-apps-for-nextcloud)\n\n## Requirements\nYou need to have [GPodderSync](https://apps.nextcloud.com/apps/gpoddersync) installed to use this app!" : "## Funktionen\n- 🔍 Durchsuchen und abonnieren einer großen Sammlung von Podcasts\n- 🔊 Episoden direkt in Nextcloud anhören\n- 🌐 Synchronisiere deine Aktivität mit [AntennaPod](https://antennapod.org/)\n- 📱 Mobile-freundliche Schnittstelle\n- 📡 Importieren und Exportieren Ihrer Abonnements\n- ➡️ Vollständiger Funktionsvergleich [hier](https://git.crystalyx.net/Xefir/repod#comparaison-with-similar-apps-for-nextcloud)\n\n## Voraussetzungen\nDu musst [GPodderSync](https://apps.nextcloud.com/apps/gpoddersync) installiert haben, um diese App zu benutzen!", "## Features\n- 🔍 Browse and subscribe huge collection of podcasts\n- 🔊 Listen to episodes directly in Nextcloud\n- 🌐 Sync your activity with [AntennaPod](https://antennapod.org/) and [other apps](https://git.crystalyx.net/Xefir/repod#clients-supporting-sync-of-gpoddersync)\n- 📱 Mobile friendly interface\n- 📡 Import and export your subscriptions\n- ➡️ Full features comparison [here](https://git.crystalyx.net/Xefir/repod#comparaison-with-similar-apps-for-nextcloud)\n\n## Requirements\nYou need to have [GPodderSync](https://apps.nextcloud.com/apps/gpoddersync) installed to use this app!" : "## Funktionen\n- 🔍 Durchsuchen und abonnieren einer großen Sammlung von Podcasts\n- 🔊 Episoden direkt in Nextcloud anhören\n- 🌐 Synchronisiere deine Aktivität mit [AntennaPod](https://antennapod.org/)\n- 📱 Mobile-freundliche Schnittstelle\n- 📡 Importieren und Exportieren Ihrer Abonnements\n\n## Voraussetzungen\nDu musst [GPodderSync](https://apps.nextcloud.com/apps/gpoddersync) installiert haben, um diese App zu benutzen!",
"Download" : "Herunterladen", "Download" : "Herunterladen",
"Skip to {match}" : "Springen zu {match}", "Skip to {match}" : "Springen zu {match}",
"Add a RSS link" : "Einen RSS-Link hinzufügen", "Add a RSS link" : "Einen RSS-Link hinzufügen",
@ -56,4 +56,4 @@ OC.L10N.register(
"No favorites" : "Keine Favoriten", "No favorites" : "Keine Favoriten",
"A browser extension conflict with RePod" : "Ein Browser-Erweiterungskonflikt mit RePod" "A browser extension conflict with RePod" : "Ein Browser-Erweiterungskonflikt mit RePod"
}, },
"nplurals=2; plural=n != 1;"); "");

View File

@ -3,7 +3,7 @@
"Podcast" : "Podcast", "Podcast" : "Podcast",
"RePod" : "RePod", "RePod" : "RePod",
"🔊 Browse, manage and listen to podcasts" : "🔊 Suchen, Verwalten und Anhören von Podcasts", "🔊 Browse, manage and listen to podcasts" : "🔊 Suchen, Verwalten und Anhören von Podcasts",
"## Features\n- 🔍 Browse and subscribe huge collection of podcasts\n- 🔊 Listen to episodes directly in Nextcloud\n- 🌐 Sync your activity with [AntennaPod](https://antennapod.org/) and [other apps](https://git.crystalyx.net/Xefir/repod#clients-supporting-sync-of-gpoddersync)\n- 📱 Mobile friendly interface\n- 📡 Import and export your subscriptions\n- ➡️ Full features comparison [here](https://git.crystalyx.net/Xefir/repod#comparaison-with-similar-apps-for-nextcloud)\n\n## Requirements\nYou need to have [GPodderSync](https://apps.nextcloud.com/apps/gpoddersync) installed to use this app!" : "## Funktionen\n- 🔍 Durchsuchen und abonnieren einer großen Sammlung von Podcasts\n- 🔊 Episoden direkt in Nextcloud anhören\n- 🌐 Synchronisiere deine Aktivität mit [AntennaPod](https://antennapod.org/)\n- 📱 Mobile-freundliche Schnittstelle\n- 📡 Importieren und Exportieren Ihrer Abonnements\n- ➡️ Vollständiger Funktionsvergleich [hier](https://git.crystalyx.net/Xefir/repod#comparaison-with-similar-apps-for-nextcloud)\n\n## Voraussetzungen\nDu musst [GPodderSync](https://apps.nextcloud.com/apps/gpoddersync) installiert haben, um diese App zu benutzen!", "## Features\n- 🔍 Browse and subscribe huge collection of podcasts\n- 🔊 Listen to episodes directly in Nextcloud\n- 🌐 Sync your activity with [AntennaPod](https://antennapod.org/) and [other apps](https://git.crystalyx.net/Xefir/repod#clients-supporting-sync-of-gpoddersync)\n- 📱 Mobile friendly interface\n- 📡 Import and export your subscriptions\n- ➡️ Full features comparison [here](https://git.crystalyx.net/Xefir/repod#comparaison-with-similar-apps-for-nextcloud)\n\n## Requirements\nYou need to have [GPodderSync](https://apps.nextcloud.com/apps/gpoddersync) installed to use this app!" : "## Funktionen\n- 🔍 Durchsuchen und abonnieren einer großen Sammlung von Podcasts\n- 🔊 Episoden direkt in Nextcloud anhören\n- 🌐 Synchronisiere deine Aktivität mit [AntennaPod](https://antennapod.org/)\n- 📱 Mobile-freundliche Schnittstelle\n- 📡 Importieren und Exportieren Ihrer Abonnements\n\n## Voraussetzungen\nDu musst [GPodderSync](https://apps.nextcloud.com/apps/gpoddersync) installiert haben, um diese App zu benutzen!",
"Download" : "Herunterladen", "Download" : "Herunterladen",
"Skip to {match}" : "Springen zu {match}", "Skip to {match}" : "Springen zu {match}",
"Add a RSS link" : "Einen RSS-Link hinzufügen", "Add a RSS link" : "Einen RSS-Link hinzufügen",
@ -53,5 +53,5 @@
"Pin some subscriptions to see their latest updates" : "Pinne einige Abonnements, um ihre neuesten Updates zu sehen", "Pin some subscriptions to see their latest updates" : "Pinne einige Abonnements, um ihre neuesten Updates zu sehen",
"No favorites" : "Keine Favoriten", "No favorites" : "Keine Favoriten",
"A browser extension conflict with RePod" : "Ein Browser-Erweiterungskonflikt mit RePod" "A browser extension conflict with RePod" : "Ein Browser-Erweiterungskonflikt mit RePod"
},"pluralForm" :"nplurals=2; plural=n != 1;" },"pluralForm" :""
} }

136
package-lock.json generated
View File

@ -7,7 +7,7 @@
"name": "repod", "name": "repod",
"license": "AGPL-3.0-or-later", "license": "AGPL-3.0-or-later",
"dependencies": { "dependencies": {
"@formatjs/intl-segmenter": "^11.7.4", "@formatjs/intl-segmenter": "^11.7.3",
"@nextcloud/axios": "^2.5.1", "@nextcloud/axios": "^2.5.1",
"@nextcloud/initial-state": "^2.2.0", "@nextcloud/initial-state": "^2.2.0",
"@nextcloud/l10n": "^3.1.0", "@nextcloud/l10n": "^3.1.0",
@ -19,7 +19,7 @@
"pinia": "^2.2.6", "pinia": "^2.2.6",
"toastify-js": "^1.12.0", "toastify-js": "^1.12.0",
"vite": "^5.4.11", "vite": "^5.4.11",
"vue": "^3.5.13", "vue": "^3.5.12",
"vue-material-design-icons": "^5.3.1", "vue-material-design-icons": "^5.3.1",
"vue-router": "^4.4.5" "vue-router": "^4.4.5"
}, },
@ -1000,13 +1000,13 @@
"license": "MIT" "license": "MIT"
}, },
"node_modules/@formatjs/ecma402-abstract": { "node_modules/@formatjs/ecma402-abstract": {
"version": "2.2.4", "version": "2.2.3",
"resolved": "https://registry.npmjs.org/@formatjs/ecma402-abstract/-/ecma402-abstract-2.2.4.tgz", "resolved": "https://registry.npmjs.org/@formatjs/ecma402-abstract/-/ecma402-abstract-2.2.3.tgz",
"integrity": "sha512-lFyiQDVvSbQOpU+WFd//ILolGj4UgA/qXrKeZxdV14uKiAUiPAtX6XAn7WBCRi7Mx6I7EybM9E5yYn4BIpZWYg==", "integrity": "sha512-aElGmleuReGnk2wtYOzYFmNWYoiWWmf1pPPCYg0oiIQSJj0mjc4eUfzUXaSOJ4S8WzI/cLqnCTWjqz904FT2OQ==",
"license": "MIT", "license": "MIT",
"dependencies": { "dependencies": {
"@formatjs/fast-memoize": "2.2.3", "@formatjs/fast-memoize": "2.2.3",
"@formatjs/intl-localematcher": "0.5.8", "@formatjs/intl-localematcher": "0.5.7",
"tslib": "2" "tslib": "2"
} }
}, },
@ -1020,22 +1020,22 @@
} }
}, },
"node_modules/@formatjs/intl-localematcher": { "node_modules/@formatjs/intl-localematcher": {
"version": "0.5.8", "version": "0.5.7",
"resolved": "https://registry.npmjs.org/@formatjs/intl-localematcher/-/intl-localematcher-0.5.8.tgz", "resolved": "https://registry.npmjs.org/@formatjs/intl-localematcher/-/intl-localematcher-0.5.7.tgz",
"integrity": "sha512-I+WDNWWJFZie+jkfkiK5Mp4hEDyRSEvmyfYadflOno/mmKJKcB17fEpEH0oJu/OWhhCJ8kJBDz2YMd/6cDl7Mg==", "integrity": "sha512-GGFtfHGQVFe/niOZp24Kal5b2i36eE2bNL0xi9Sg/yd0TR8aLjcteApZdHmismP5QQax1cMnZM9yWySUUjJteA==",
"license": "MIT", "license": "MIT",
"dependencies": { "dependencies": {
"tslib": "2" "tslib": "2"
} }
}, },
"node_modules/@formatjs/intl-segmenter": { "node_modules/@formatjs/intl-segmenter": {
"version": "11.7.4", "version": "11.7.3",
"resolved": "https://registry.npmjs.org/@formatjs/intl-segmenter/-/intl-segmenter-11.7.4.tgz", "resolved": "https://registry.npmjs.org/@formatjs/intl-segmenter/-/intl-segmenter-11.7.3.tgz",
"integrity": "sha512-pyHgFO86/CReKl20oK9jgaTMzSaG/nIMteMW8YuwUcS22EoMI1qbGTZ65oQ38KMT05SiHiMee2CP3WZvCi8YSQ==", "integrity": "sha512-IvEDQRe0t0ouqaqZK2KobGt/+BhwDHdtbS8GWhdl+fjmWbhXMz2mHihu5fAYkYChum5eNfGhEF5P+bLCeYq67w==",
"license": "MIT", "license": "MIT",
"dependencies": { "dependencies": {
"@formatjs/ecma402-abstract": "2.2.4", "@formatjs/ecma402-abstract": "2.2.3",
"@formatjs/intl-localematcher": "0.5.8", "@formatjs/intl-localematcher": "0.5.7",
"tslib": "2" "tslib": "2"
} }
}, },
@ -2861,53 +2861,53 @@
"license": "MIT" "license": "MIT"
}, },
"node_modules/@vue/compiler-core": { "node_modules/@vue/compiler-core": {
"version": "3.5.13", "version": "3.5.12",
"resolved": "https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.5.13.tgz", "resolved": "https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.5.12.tgz",
"integrity": "sha512-oOdAkwqUfW1WqpwSYJce06wvt6HljgY3fGeM9NcVA1HaYOij3mZG9Rkysn0OHuyUAGMbEbARIpsG+LPVlBJ5/Q==", "integrity": "sha512-ISyBTRMmMYagUxhcpyEH0hpXRd/KqDU4ymofPgl2XAkY9ZhQ+h0ovEZJIiPop13UmR/54oA2cgMDjgroRelaEw==",
"license": "MIT", "license": "MIT",
"dependencies": { "dependencies": {
"@babel/parser": "^7.25.3", "@babel/parser": "^7.25.3",
"@vue/shared": "3.5.13", "@vue/shared": "3.5.12",
"entities": "^4.5.0", "entities": "^4.5.0",
"estree-walker": "^2.0.2", "estree-walker": "^2.0.2",
"source-map-js": "^1.2.0" "source-map-js": "^1.2.0"
} }
}, },
"node_modules/@vue/compiler-dom": { "node_modules/@vue/compiler-dom": {
"version": "3.5.13", "version": "3.5.12",
"resolved": "https://registry.npmjs.org/@vue/compiler-dom/-/compiler-dom-3.5.13.tgz", "resolved": "https://registry.npmjs.org/@vue/compiler-dom/-/compiler-dom-3.5.12.tgz",
"integrity": "sha512-ZOJ46sMOKUjO3e94wPdCzQ6P1Lx/vhp2RSvfaab88Ajexs0AHeV0uasYhi99WPaogmBlRHNRuly8xV75cNTMDA==", "integrity": "sha512-9G6PbJ03uwxLHKQ3P42cMTi85lDRvGLB2rSGOiQqtXELat6uI4n8cNz9yjfVHRPIu+MsK6TE418Giruvgptckg==",
"license": "MIT", "license": "MIT",
"dependencies": { "dependencies": {
"@vue/compiler-core": "3.5.13", "@vue/compiler-core": "3.5.12",
"@vue/shared": "3.5.13" "@vue/shared": "3.5.12"
} }
}, },
"node_modules/@vue/compiler-sfc": { "node_modules/@vue/compiler-sfc": {
"version": "3.5.13", "version": "3.5.12",
"resolved": "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-3.5.13.tgz", "resolved": "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-3.5.12.tgz",
"integrity": "sha512-6VdaljMpD82w6c2749Zhf5T9u5uLBWKnVue6XWxprDobftnletJ8+oel7sexFfM3qIxNmVE7LSFGTpv6obNyaQ==", "integrity": "sha512-2k973OGo2JuAa5+ZlekuQJtitI5CgLMOwgl94BzMCsKZCX/xiqzJYzapl4opFogKHqwJk34vfsaKpfEhd1k5nw==",
"license": "MIT", "license": "MIT",
"dependencies": { "dependencies": {
"@babel/parser": "^7.25.3", "@babel/parser": "^7.25.3",
"@vue/compiler-core": "3.5.13", "@vue/compiler-core": "3.5.12",
"@vue/compiler-dom": "3.5.13", "@vue/compiler-dom": "3.5.12",
"@vue/compiler-ssr": "3.5.13", "@vue/compiler-ssr": "3.5.12",
"@vue/shared": "3.5.13", "@vue/shared": "3.5.12",
"estree-walker": "^2.0.2", "estree-walker": "^2.0.2",
"magic-string": "^0.30.11", "magic-string": "^0.30.11",
"postcss": "^8.4.48", "postcss": "^8.4.47",
"source-map-js": "^1.2.0" "source-map-js": "^1.2.0"
} }
}, },
"node_modules/@vue/compiler-ssr": { "node_modules/@vue/compiler-ssr": {
"version": "3.5.13", "version": "3.5.12",
"resolved": "https://registry.npmjs.org/@vue/compiler-ssr/-/compiler-ssr-3.5.13.tgz", "resolved": "https://registry.npmjs.org/@vue/compiler-ssr/-/compiler-ssr-3.5.12.tgz",
"integrity": "sha512-wMH6vrYHxQl/IybKJagqbquvxpWCuVYpoUJfCqFZwa/JY1GdATAQ+TgVtgrwwMZ0D07QhA99rs/EAAWfvG6KpA==", "integrity": "sha512-eLwc7v6bfGBSM7wZOGPmRavSWzNFF6+PdRhE+VFJhNCgHiF8AM7ccoqcv5kBXA2eWUfigD7byekvf/JsOfKvPA==",
"license": "MIT", "license": "MIT",
"dependencies": { "dependencies": {
"@vue/compiler-dom": "3.5.13", "@vue/compiler-dom": "3.5.12",
"@vue/shared": "3.5.13" "@vue/shared": "3.5.12"
} }
}, },
"node_modules/@vue/compiler-vue2": { "node_modules/@vue/compiler-vue2": {
@ -2978,53 +2978,53 @@
} }
}, },
"node_modules/@vue/reactivity": { "node_modules/@vue/reactivity": {
"version": "3.5.13", "version": "3.5.12",
"resolved": "https://registry.npmjs.org/@vue/reactivity/-/reactivity-3.5.13.tgz", "resolved": "https://registry.npmjs.org/@vue/reactivity/-/reactivity-3.5.12.tgz",
"integrity": "sha512-NaCwtw8o48B9I6L1zl2p41OHo/2Z4wqYGGIK1Khu5T7yxrn+ATOixn/Udn2m+6kZKB/J7cuT9DbWWhRxqixACg==", "integrity": "sha512-UzaN3Da7xnJXdz4Okb/BGbAaomRHc3RdoWqTzlvd9+WBR5m3J39J1fGcHes7U3za0ruYn/iYy/a1euhMEHvTAg==",
"license": "MIT", "license": "MIT",
"dependencies": { "dependencies": {
"@vue/shared": "3.5.13" "@vue/shared": "3.5.12"
} }
}, },
"node_modules/@vue/runtime-core": { "node_modules/@vue/runtime-core": {
"version": "3.5.13", "version": "3.5.12",
"resolved": "https://registry.npmjs.org/@vue/runtime-core/-/runtime-core-3.5.13.tgz", "resolved": "https://registry.npmjs.org/@vue/runtime-core/-/runtime-core-3.5.12.tgz",
"integrity": "sha512-Fj4YRQ3Az0WTZw1sFe+QDb0aXCerigEpw418pw1HBUKFtnQHWzwojaukAs2X/c9DQz4MQ4bsXTGlcpGxU/RCIw==", "integrity": "sha512-hrMUYV6tpocr3TL3Ad8DqxOdpDe4zuQY4HPY3X/VRh+L2myQO8MFXPAMarIOSGNu0bFAjh1yBkMPXZBqCk62Uw==",
"license": "MIT", "license": "MIT",
"dependencies": { "dependencies": {
"@vue/reactivity": "3.5.13", "@vue/reactivity": "3.5.12",
"@vue/shared": "3.5.13" "@vue/shared": "3.5.12"
} }
}, },
"node_modules/@vue/runtime-dom": { "node_modules/@vue/runtime-dom": {
"version": "3.5.13", "version": "3.5.12",
"resolved": "https://registry.npmjs.org/@vue/runtime-dom/-/runtime-dom-3.5.13.tgz", "resolved": "https://registry.npmjs.org/@vue/runtime-dom/-/runtime-dom-3.5.12.tgz",
"integrity": "sha512-dLaj94s93NYLqjLiyFzVs9X6dWhTdAlEAciC3Moq7gzAc13VJUdCnjjRurNM6uTLFATRHexHCTu/Xp3eW6yoog==", "integrity": "sha512-q8VFxR9A2MRfBr6/55Q3umyoN7ya836FzRXajPB6/Vvuv0zOPL+qltd9rIMzG/DbRLAIlREmnLsplEF/kotXKA==",
"license": "MIT", "license": "MIT",
"dependencies": { "dependencies": {
"@vue/reactivity": "3.5.13", "@vue/reactivity": "3.5.12",
"@vue/runtime-core": "3.5.13", "@vue/runtime-core": "3.5.12",
"@vue/shared": "3.5.13", "@vue/shared": "3.5.12",
"csstype": "^3.1.3" "csstype": "^3.1.3"
} }
}, },
"node_modules/@vue/server-renderer": { "node_modules/@vue/server-renderer": {
"version": "3.5.13", "version": "3.5.12",
"resolved": "https://registry.npmjs.org/@vue/server-renderer/-/server-renderer-3.5.13.tgz", "resolved": "https://registry.npmjs.org/@vue/server-renderer/-/server-renderer-3.5.12.tgz",
"integrity": "sha512-wAi4IRJV/2SAW3htkTlB+dHeRmpTiVIK1OGLWV1yeStVSebSQQOwGwIq0D3ZIoBj2C2qpgz5+vX9iEBkTdk5YA==", "integrity": "sha512-I3QoeDDeEPZm8yR28JtY+rk880Oqmj43hreIBVTicisFTx/Dl7JpG72g/X7YF8hnQD3IFhkky5i2bPonwrTVPg==",
"license": "MIT", "license": "MIT",
"dependencies": { "dependencies": {
"@vue/compiler-ssr": "3.5.13", "@vue/compiler-ssr": "3.5.12",
"@vue/shared": "3.5.13" "@vue/shared": "3.5.12"
}, },
"peerDependencies": { "peerDependencies": {
"vue": "3.5.13" "vue": "3.5.12"
} }
}, },
"node_modules/@vue/shared": { "node_modules/@vue/shared": {
"version": "3.5.13", "version": "3.5.12",
"resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.5.13.tgz", "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.5.12.tgz",
"integrity": "sha512-/hnE/qP5ZoGpol0a5mDi45bOd7t3tjYJBjsgCsivow7D48cJeV5l05RD82lPqi7gRiphZM37rnhW1l6ZoCNNnQ==", "integrity": "sha512-L2RPSAwUFbgZH20etwrXyVyCBu9OxRSi8T/38QsvnkJyvq2LufW2lDCOzm7t/U9C1mkhJGWYfCuFBCmIuNivrg==",
"license": "MIT" "license": "MIT"
}, },
"node_modules/@vue/tsconfig": { "node_modules/@vue/tsconfig": {
@ -12051,16 +12051,16 @@
"license": "MIT" "license": "MIT"
}, },
"node_modules/vue": { "node_modules/vue": {
"version": "3.5.13", "version": "3.5.12",
"resolved": "https://registry.npmjs.org/vue/-/vue-3.5.13.tgz", "resolved": "https://registry.npmjs.org/vue/-/vue-3.5.12.tgz",
"integrity": "sha512-wmeiSMxkZCSc+PM2w2VRsOYAZC8GdipNFRTsLSfodVqI9mbejKeXEGr8SckuLnrQPGe3oJN5c3K0vpoU9q/wCQ==", "integrity": "sha512-CLVZtXtn2ItBIi/zHZ0Sg1Xkb7+PU32bJJ8Bmy7ts3jxXTcbfsEfBivFYYWz1Hur+lalqGAh65Coin0r+HRUfg==",
"license": "MIT", "license": "MIT",
"dependencies": { "dependencies": {
"@vue/compiler-dom": "3.5.13", "@vue/compiler-dom": "3.5.12",
"@vue/compiler-sfc": "3.5.13", "@vue/compiler-sfc": "3.5.12",
"@vue/runtime-dom": "3.5.13", "@vue/runtime-dom": "3.5.12",
"@vue/server-renderer": "3.5.13", "@vue/server-renderer": "3.5.12",
"@vue/shared": "3.5.13" "@vue/shared": "3.5.12"
}, },
"peerDependencies": { "peerDependencies": {
"typescript": "*" "typescript": "*"

View File

@ -16,7 +16,7 @@
], ],
"prettier": "@nextcloud/prettier-config", "prettier": "@nextcloud/prettier-config",
"dependencies": { "dependencies": {
"@formatjs/intl-segmenter": "^11.7.4", "@formatjs/intl-segmenter": "^11.7.3",
"@nextcloud/axios": "^2.5.1", "@nextcloud/axios": "^2.5.1",
"@nextcloud/initial-state": "^2.2.0", "@nextcloud/initial-state": "^2.2.0",
"@nextcloud/l10n": "^3.1.0", "@nextcloud/l10n": "^3.1.0",
@ -28,7 +28,7 @@
"pinia": "^2.2.6", "pinia": "^2.2.6",
"toastify-js": "^1.12.0", "toastify-js": "^1.12.0",
"vite": "^5.4.11", "vite": "^5.4.11",
"vue": "^3.5.13", "vue": "^3.5.12",
"vue-material-design-icons": "^5.3.1", "vue-material-design-icons": "^5.3.1",
"vue-router": "^4.4.5" "vue-router": "^4.4.5"
}, },

View File

@ -11,6 +11,7 @@
:name="episode.name" :name="episode.name"
:one-line="oneLine" :one-line="oneLine"
:style="{ opacity: hasEnded(episode) ? 0.4 : 1 }" :style="{ opacity: hasEnded(episode) ? 0.4 : 1 }"
:title="episode.description"
@click="modalEpisode = episode"> @click="modalEpisode = episode">
<template #actions> <template #actions>
<NcActionButton <NcActionButton

View File

@ -1,22 +1,20 @@
# SOME DESCRIPTIVE TITLE. # SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the Nextcloud package. # This file is distributed under the same license as the Nextcloud package.
# OiledAmoeba <florian+crystalyx@ruhnke.cloud>, 2024. # FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
# Michel Roux <xefir@crystalyx.net>, 2024. #
#, fuzzy
msgid "" msgid ""
msgstr "" msgstr ""
"Project-Id-Version: Nextcloud 3.14159\n" "Project-Id-Version: Nextcloud 3.14159\n"
"Report-Msgid-Bugs-To: translations\\@example.com\n" "Report-Msgid-Bugs-To: translations\\@example.com\n"
"PO-Revision-Date: 2024-11-15 21:02+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: Michel Roux <xefir@crystalyx.net>\n" "Last-Translator: OiledAmoeba <florian+crystalyx@ruhnke.cloud>\n"
"Language-Team: German <https://translate.crystalyx.net/projects/repod/gitea/" "Language-Team: LANGUAGE <LL@li.org>\n"
"de/>\n"
"Language: de\n" "Language: de\n"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n" "Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Generator: Weblate 5.8.3\n"
msgid "RePod Subscriptions" msgid "RePod Subscriptions"
msgstr "RePod Abonnements" msgstr "RePod Abonnements"
@ -30,7 +28,6 @@ msgstr "RePod"
msgid "🔊 Browse, manage and listen to podcasts" msgid "🔊 Browse, manage and listen to podcasts"
msgstr "🔊 Suchen, Verwalten und Anhören von Podcasts" msgstr "🔊 Suchen, Verwalten und Anhören von Podcasts"
#, fuzzy
msgid "" msgid ""
"## Features\n" "## Features\n"
"- 🔍 Browse and subscribe huge collection of podcasts\n" "- 🔍 Browse and subscribe huge collection of podcasts\n"
@ -50,12 +47,9 @@ msgstr ""
"## Funktionen\n" "## Funktionen\n"
"- 🔍 Durchsuchen und abonnieren einer großen Sammlung von Podcasts\n" "- 🔍 Durchsuchen und abonnieren einer großen Sammlung von Podcasts\n"
"- 🔊 Episoden direkt in Nextcloud anhören\n" "- 🔊 Episoden direkt in Nextcloud anhören\n"
"- 🌐 Synchronisiere deine Aktivität mit [AntennaPod](https://antennapod.org/)" "- 🌐 Synchronisiere deine Aktivität mit [AntennaPod](https://antennapod.org/)\n"
"\n"
"- 📱 Mobile-freundliche Schnittstelle\n" "- 📱 Mobile-freundliche Schnittstelle\n"
"- 📡 Importieren und Exportieren Ihrer Abonnements\n" "- 📡 Importieren und Exportieren Ihrer Abonnements\n"
"- ➡️ Vollständiger Funktionsvergleich [hier](https://git.crystalyx.net/Xefir/"
"repod#comparaison-with-similar-apps-for-nextcloud)\n"
"\n" "\n"
"## Voraussetzungen\n" "## Voraussetzungen\n"
"Du musst [GPodderSync](https://apps.nextcloud.com/apps/gpoddersync) " "Du musst [GPodderSync](https://apps.nextcloud.com/apps/gpoddersync) "
@ -64,7 +58,6 @@ msgstr ""
msgid "Download" msgid "Download"
msgstr "Herunterladen" msgstr "Herunterladen"
#, fuzzy
msgid "Skip to {match}" msgid "Skip to {match}"
msgstr "Springen zu {match}" msgstr "Springen zu {match}"
@ -92,7 +85,6 @@ msgstr "Titel können nicht abgerufen werden"
msgid "Copy feed" msgid "Copy feed"
msgstr "Feed kopieren" msgstr "Feed kopieren"
#, fuzzy
msgid "Link copied to the clipboard" msgid "Link copied to the clipboard"
msgstr "Der Link des Feeds wurde in die Zwischenablage kopiert" msgstr "Der Link des Feeds wurde in die Zwischenablage kopiert"
@ -102,7 +94,6 @@ msgstr "Abspielen"
msgid "Stop" msgid "Stop"
msgstr "Stopp" msgstr "Stopp"
#, fuzzy
msgid "Read" msgid "Read"
msgstr "Gelesen" msgstr "Gelesen"
@ -115,22 +106,18 @@ msgstr "Kann den Status der Folge nicht ändern"
msgid "Could not fetch episodes" msgid "Could not fetch episodes"
msgstr "Folgen können nicht abgerufen werden" msgstr "Folgen können nicht abgerufen werden"
#, fuzzy
msgid "Rewind 10 seconds" msgid "Rewind 10 seconds"
msgstr "10 Sekunden zurückspulen" msgstr "10 Sekunden zurückspulen"
msgid "Pause" msgid "Pause"
msgstr "Pause" msgstr "Pause"
#, fuzzy
msgid "Fast forward 30 seconds" msgid "Fast forward 30 seconds"
msgstr "30 Sekunden vorspulen" msgstr "30 Sekunden vorspulen"
#, fuzzy
msgid "Mute" msgid "Mute"
msgstr "Stumm" msgstr "Stumm"
#, fuzzy
msgid "Unmute" msgid "Unmute"
msgstr "Stummschalten" msgstr "Stummschalten"
@ -161,31 +148,25 @@ msgstr "Importiere OPML-Datei"
msgid "Rate RePod ❤️" msgid "Rate RePod ❤️"
msgstr "Bewerte RePod ❤️" msgstr "Bewerte RePod ❤️"
#, fuzzy
msgid "Sleep timer" msgid "Sleep timer"
msgstr "Einschlaftimer" msgstr "Einschlaftimer"
#, fuzzy
msgid "Minutes" msgid "Minutes"
msgstr "Minuten" msgstr "Minuten"
#, fuzzy
msgid "%n min" msgid "%n min"
msgid_plural "%n mins" msgid_plural "%n mins"
msgstr[0] "%n min" msgstr[0] "%n min"
msgstr[1] "%n mins" msgstr[1] "%n mins"
#, fuzzy
msgid "%n sec" msgid "%n sec"
msgid_plural "%n secs" msgid_plural "%n secs"
msgstr[0] "%s sec" msgstr[0] "%s sec"
msgstr[1] "%n secs" msgstr[1] "%n secs"
#, fuzzy
msgid "Playback speed" msgid "Playback speed"
msgstr "Wiedergabegeschwindigkeit" msgstr "Wiedergabegeschwindigkeit"
#, fuzzy
msgid "Favorite" msgid "Favorite"
msgstr "Favorit" msgstr "Favorit"
@ -195,7 +176,6 @@ msgstr "Bist Du sicher, dass Du das Abonnement löschen möchtest?"
msgid "Error while removing the feed" msgid "Error while removing the feed"
msgstr "Fehler beim Löschen des Feeds" msgstr "Fehler beim Löschen des Feeds"
#, fuzzy
msgid "You can only have 10 favorites" msgid "You can only have 10 favorites"
msgstr "Du kannst nur 10 Favoriten haben" msgstr "Du kannst nur 10 Favoriten haben"
@ -217,14 +197,11 @@ msgstr "Benötigte App fehlt"
msgid "Install GPodder Sync" msgid "Install GPodder Sync"
msgstr "Installiere GPodder Sync" msgstr "Installiere GPodder Sync"
#, fuzzy
msgid "Pin some subscriptions to see their latest updates" msgid "Pin some subscriptions to see their latest updates"
msgstr "Pinne einige Abonnements, um ihre neuesten Updates zu sehen" msgstr "Pinne einige Abonnements, um ihre neuesten Updates zu sehen"
#, fuzzy
msgid "No favorites" msgid "No favorites"
msgstr "Keine Favoriten" msgstr "Keine Favoriten"
#, fuzzy
msgid "A browser extension conflict with RePod" msgid "A browser extension conflict with RePod"
msgstr "Ein Browser-Erweiterungskonflikt mit RePod" msgstr "Ein Browser-Erweiterungskonflikt mit RePod"