Compare commits

...

14 Commits
3.4.1 ... main

Author SHA1 Message Date
93a34ba991 Merge pull request 'chore(deps): update dependency @formatjs/intl-segmenter to ^11.7.4' (#202) from renovate/formatjs-intl-segmenter-11.x into main
All checks were successful
repod / xml (push) Successful in 23s
repod / php (push) Successful in 1m16s
repod / nodejs (push) Successful in 1m9s
repod / release (push) Has been skipped
Reviewed-on: #202
2024-11-18 08:26:19 +00:00
Renovate Bot
59807358c5 chore(deps): update dependency @formatjs/intl-segmenter to ^11.7.4
All checks were successful
repod / xml (push) Successful in 30s
repod / php (push) Successful in 1m14s
repod / nodejs (push) Successful in 1m20s
repod / release (push) Has been skipped
2024-11-18 07:00:27 +00:00
86276dcfcc Merge pull request 'chore(deps): update dependency vue to ^3.5.13' (#201) from renovate/vue-3.x into main
All checks were successful
repod / xml (push) Successful in 18s
repod / php (push) Successful in 1m14s
repod / nodejs (push) Successful in 1m15s
repod / release (push) Has been skipped
Reviewed-on: #201
2024-11-17 22:36:29 +00:00
Renovate Bot
aa043623f6 chore(deps): update dependency vue to ^3.5.13
All checks were successful
repod / xml (push) Successful in 15s
repod / php (push) Successful in 1m15s
repod / nodejs (push) Successful in 1m13s
repod / release (push) Has been skipped
2024-11-16 06:32:26 +00:00
4a82022cf0 Translated using Weblate (German)
All checks were successful
repod / xml (push) Successful in 27s
repod / php (push) Successful in 1m13s
repod / nodejs (push) Successful in 1m19s
repod / release (push) Has been skipped
Currently translated at 66.6% (36 of 54 strings)

Co-authored-by: Michel Roux <xefir@crystalyx.net>
Translate-URL: https://translate.crystalyx.net/projects/repod/gitea/de/
Translation: RePod/Gitea
2024-11-15 21:02:49 +00:00
879bd15f1d merge conflict with weblate
All checks were successful
repod / xml (push) Successful in 15s
repod / php (push) Successful in 1m11s
repod / nodejs (push) Successful in 1m17s
repod / release (push) Has been skipped
2024-11-15 09:48:06 +01:00
592e6b6b68 docs: 📝 rework the features in readme
All checks were successful
repod / xml (push) Successful in 2m14s
repod / php (push) Successful in 1m24s
repod / nodejs (push) Successful in 1m25s
repod / release (push) Has been skipped
2024-11-15 09:36:28 +01:00
c332dcd986 docs: 📝 lower image size to reduce readme size
All checks were successful
repod / xml (push) Successful in 15s
repod / php (push) Successful in 1m22s
repod / nodejs (push) Successful in 1m29s
repod / release (push) Has been skipped
2024-11-14 23:59:20 +01:00
28be29efae docs: 📝 lower image size to reduce readme size
Some checks failed
repod / nodejs (push) Waiting to run
repod / release (push) Waiting to run
repod / xml (push) Successful in 23s
repod / php (push) Has been cancelled
2024-11-14 23:57:38 +01:00
9c4db19b59 chore: 🌐 update translations
All checks were successful
repod / xml (push) Successful in 16s
repod / php (push) Successful in 1m23s
repod / nodejs (push) Successful in 1m16s
repod / release (push) Has been skipped
2024-11-14 23:24:43 +01:00
38e44b9731 fix: description is too large for title
All checks were successful
repod / xml (push) Successful in 17s
repod / php (push) Successful in 1m16s
repod / nodejs (push) Successful in 1m17s
repod / release (push) Has been skipped
2024-11-14 21:58:47 +01:00
26802b49a5 docs: 🌐 add note to participate on translations
All checks were successful
repod / xml (push) Successful in 16s
repod / php (push) Successful in 1m8s
repod / nodejs (push) Successful in 1m13s
repod / release (push) Has been skipped
2024-11-14 21:09:35 +01:00
d7dfb25062 docs: 🌐 credit original translation author
All checks were successful
repod / xml (push) Successful in 12s
repod / php (push) Successful in 1m10s
repod / nodejs (push) Successful in 1m20s
repod / release (push) Has been skipped
2024-11-14 20:54:48 +01:00
99977b1db4 Translated using Weblate (German)
Some checks failed
repod / release (push) Waiting to run
repod / xml (push) Successful in 1m54s
repod / php (push) Successful in 1m21s
repod / nodejs (push) Has been cancelled
Currently translated at 100.0% (54 of 54 strings)

Co-authored-by: Michel Roux <xefir@crystalyx.net>
Translate-URL: https://translate.crystalyx.net/projects/repod/gitea/de/
Translation: RePod/Gitea
2024-11-14 19:50:39 +00:00
7 changed files with 125 additions and 104 deletions

View File

@ -6,12 +6,12 @@ You need to have [GPodderSync](https://apps.nextcloud.com/apps/gpoddersync) inst
## Features ## Features
- Browse podcasts and play them directly in Nextcloud - 🔍 Browse and subscribe huge collection of podcasts
- Keep track of subscribed shows and episodes - 🔊 Listen to episodes directly in Nextcloud
- Sync them with GPodderSync compatible clients - 📋 Keep track of subscribed shows and episodes
- Import and export subscriptions - 🌐 Sync them with GPodderSync compatible clients
- Mobile friendly interface - 📱 Mobile friendly interface
- Unified search integration - 📡 Import and export your subscriptions
## Comparaison with similar apps for Nextcloud ## Comparaison with similar apps for Nextcloud
@ -34,26 +34,17 @@ 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 | ⭕ (en/fr/de) | ❌ | ✅ | ⭕ (en/de) | | 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) |
*Click on ⭕ to open the ticket* > Click on ⭕ to open the ticket
## Screenshots ## Screenshots
### Homepage <img src="./screens/index.png" width="230" title="Homepage" />
![homepage](./screens/index.png) <img src="./screens/discover.png" width="230" title="Discover" />
<img src="./screens/search.png" width="230" title="Search" />
### Discover <img src="./screens/episodes.png" width="230" title="Episode list" />
![homepage](./screens/discover.png) <img src="./screens/modal.png" width="230" title="Episode description" />
### 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
@ -72,6 +63,14 @@ 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\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- ➡️ 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!",
"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\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- ➡️ 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!",
"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" :"" },"pluralForm" :"nplurals=2; plural=n != 1;"
} }

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.3", "@formatjs/intl-segmenter": "^11.7.4",
"@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.12", "vue": "^3.5.13",
"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.3", "version": "2.2.4",
"resolved": "https://registry.npmjs.org/@formatjs/ecma402-abstract/-/ecma402-abstract-2.2.3.tgz", "resolved": "https://registry.npmjs.org/@formatjs/ecma402-abstract/-/ecma402-abstract-2.2.4.tgz",
"integrity": "sha512-aElGmleuReGnk2wtYOzYFmNWYoiWWmf1pPPCYg0oiIQSJj0mjc4eUfzUXaSOJ4S8WzI/cLqnCTWjqz904FT2OQ==", "integrity": "sha512-lFyiQDVvSbQOpU+WFd//ILolGj4UgA/qXrKeZxdV14uKiAUiPAtX6XAn7WBCRi7Mx6I7EybM9E5yYn4BIpZWYg==",
"license": "MIT", "license": "MIT",
"dependencies": { "dependencies": {
"@formatjs/fast-memoize": "2.2.3", "@formatjs/fast-memoize": "2.2.3",
"@formatjs/intl-localematcher": "0.5.7", "@formatjs/intl-localematcher": "0.5.8",
"tslib": "2" "tslib": "2"
} }
}, },
@ -1020,22 +1020,22 @@
} }
}, },
"node_modules/@formatjs/intl-localematcher": { "node_modules/@formatjs/intl-localematcher": {
"version": "0.5.7", "version": "0.5.8",
"resolved": "https://registry.npmjs.org/@formatjs/intl-localematcher/-/intl-localematcher-0.5.7.tgz", "resolved": "https://registry.npmjs.org/@formatjs/intl-localematcher/-/intl-localematcher-0.5.8.tgz",
"integrity": "sha512-GGFtfHGQVFe/niOZp24Kal5b2i36eE2bNL0xi9Sg/yd0TR8aLjcteApZdHmismP5QQax1cMnZM9yWySUUjJteA==", "integrity": "sha512-I+WDNWWJFZie+jkfkiK5Mp4hEDyRSEvmyfYadflOno/mmKJKcB17fEpEH0oJu/OWhhCJ8kJBDz2YMd/6cDl7Mg==",
"license": "MIT", "license": "MIT",
"dependencies": { "dependencies": {
"tslib": "2" "tslib": "2"
} }
}, },
"node_modules/@formatjs/intl-segmenter": { "node_modules/@formatjs/intl-segmenter": {
"version": "11.7.3", "version": "11.7.4",
"resolved": "https://registry.npmjs.org/@formatjs/intl-segmenter/-/intl-segmenter-11.7.3.tgz", "resolved": "https://registry.npmjs.org/@formatjs/intl-segmenter/-/intl-segmenter-11.7.4.tgz",
"integrity": "sha512-IvEDQRe0t0ouqaqZK2KobGt/+BhwDHdtbS8GWhdl+fjmWbhXMz2mHihu5fAYkYChum5eNfGhEF5P+bLCeYq67w==", "integrity": "sha512-pyHgFO86/CReKl20oK9jgaTMzSaG/nIMteMW8YuwUcS22EoMI1qbGTZ65oQ38KMT05SiHiMee2CP3WZvCi8YSQ==",
"license": "MIT", "license": "MIT",
"dependencies": { "dependencies": {
"@formatjs/ecma402-abstract": "2.2.3", "@formatjs/ecma402-abstract": "2.2.4",
"@formatjs/intl-localematcher": "0.5.7", "@formatjs/intl-localematcher": "0.5.8",
"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.12", "version": "3.5.13",
"resolved": "https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.5.12.tgz", "resolved": "https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.5.13.tgz",
"integrity": "sha512-ISyBTRMmMYagUxhcpyEH0hpXRd/KqDU4ymofPgl2XAkY9ZhQ+h0ovEZJIiPop13UmR/54oA2cgMDjgroRelaEw==", "integrity": "sha512-oOdAkwqUfW1WqpwSYJce06wvt6HljgY3fGeM9NcVA1HaYOij3mZG9Rkysn0OHuyUAGMbEbARIpsG+LPVlBJ5/Q==",
"license": "MIT", "license": "MIT",
"dependencies": { "dependencies": {
"@babel/parser": "^7.25.3", "@babel/parser": "^7.25.3",
"@vue/shared": "3.5.12", "@vue/shared": "3.5.13",
"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.12", "version": "3.5.13",
"resolved": "https://registry.npmjs.org/@vue/compiler-dom/-/compiler-dom-3.5.12.tgz", "resolved": "https://registry.npmjs.org/@vue/compiler-dom/-/compiler-dom-3.5.13.tgz",
"integrity": "sha512-9G6PbJ03uwxLHKQ3P42cMTi85lDRvGLB2rSGOiQqtXELat6uI4n8cNz9yjfVHRPIu+MsK6TE418Giruvgptckg==", "integrity": "sha512-ZOJ46sMOKUjO3e94wPdCzQ6P1Lx/vhp2RSvfaab88Ajexs0AHeV0uasYhi99WPaogmBlRHNRuly8xV75cNTMDA==",
"license": "MIT", "license": "MIT",
"dependencies": { "dependencies": {
"@vue/compiler-core": "3.5.12", "@vue/compiler-core": "3.5.13",
"@vue/shared": "3.5.12" "@vue/shared": "3.5.13"
} }
}, },
"node_modules/@vue/compiler-sfc": { "node_modules/@vue/compiler-sfc": {
"version": "3.5.12", "version": "3.5.13",
"resolved": "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-3.5.12.tgz", "resolved": "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-3.5.13.tgz",
"integrity": "sha512-2k973OGo2JuAa5+ZlekuQJtitI5CgLMOwgl94BzMCsKZCX/xiqzJYzapl4opFogKHqwJk34vfsaKpfEhd1k5nw==", "integrity": "sha512-6VdaljMpD82w6c2749Zhf5T9u5uLBWKnVue6XWxprDobftnletJ8+oel7sexFfM3qIxNmVE7LSFGTpv6obNyaQ==",
"license": "MIT", "license": "MIT",
"dependencies": { "dependencies": {
"@babel/parser": "^7.25.3", "@babel/parser": "^7.25.3",
"@vue/compiler-core": "3.5.12", "@vue/compiler-core": "3.5.13",
"@vue/compiler-dom": "3.5.12", "@vue/compiler-dom": "3.5.13",
"@vue/compiler-ssr": "3.5.12", "@vue/compiler-ssr": "3.5.13",
"@vue/shared": "3.5.12", "@vue/shared": "3.5.13",
"estree-walker": "^2.0.2", "estree-walker": "^2.0.2",
"magic-string": "^0.30.11", "magic-string": "^0.30.11",
"postcss": "^8.4.47", "postcss": "^8.4.48",
"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.12", "version": "3.5.13",
"resolved": "https://registry.npmjs.org/@vue/compiler-ssr/-/compiler-ssr-3.5.12.tgz", "resolved": "https://registry.npmjs.org/@vue/compiler-ssr/-/compiler-ssr-3.5.13.tgz",
"integrity": "sha512-eLwc7v6bfGBSM7wZOGPmRavSWzNFF6+PdRhE+VFJhNCgHiF8AM7ccoqcv5kBXA2eWUfigD7byekvf/JsOfKvPA==", "integrity": "sha512-wMH6vrYHxQl/IybKJagqbquvxpWCuVYpoUJfCqFZwa/JY1GdATAQ+TgVtgrwwMZ0D07QhA99rs/EAAWfvG6KpA==",
"license": "MIT", "license": "MIT",
"dependencies": { "dependencies": {
"@vue/compiler-dom": "3.5.12", "@vue/compiler-dom": "3.5.13",
"@vue/shared": "3.5.12" "@vue/shared": "3.5.13"
} }
}, },
"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.12", "version": "3.5.13",
"resolved": "https://registry.npmjs.org/@vue/reactivity/-/reactivity-3.5.12.tgz", "resolved": "https://registry.npmjs.org/@vue/reactivity/-/reactivity-3.5.13.tgz",
"integrity": "sha512-UzaN3Da7xnJXdz4Okb/BGbAaomRHc3RdoWqTzlvd9+WBR5m3J39J1fGcHes7U3za0ruYn/iYy/a1euhMEHvTAg==", "integrity": "sha512-NaCwtw8o48B9I6L1zl2p41OHo/2Z4wqYGGIK1Khu5T7yxrn+ATOixn/Udn2m+6kZKB/J7cuT9DbWWhRxqixACg==",
"license": "MIT", "license": "MIT",
"dependencies": { "dependencies": {
"@vue/shared": "3.5.12" "@vue/shared": "3.5.13"
} }
}, },
"node_modules/@vue/runtime-core": { "node_modules/@vue/runtime-core": {
"version": "3.5.12", "version": "3.5.13",
"resolved": "https://registry.npmjs.org/@vue/runtime-core/-/runtime-core-3.5.12.tgz", "resolved": "https://registry.npmjs.org/@vue/runtime-core/-/runtime-core-3.5.13.tgz",
"integrity": "sha512-hrMUYV6tpocr3TL3Ad8DqxOdpDe4zuQY4HPY3X/VRh+L2myQO8MFXPAMarIOSGNu0bFAjh1yBkMPXZBqCk62Uw==", "integrity": "sha512-Fj4YRQ3Az0WTZw1sFe+QDb0aXCerigEpw418pw1HBUKFtnQHWzwojaukAs2X/c9DQz4MQ4bsXTGlcpGxU/RCIw==",
"license": "MIT", "license": "MIT",
"dependencies": { "dependencies": {
"@vue/reactivity": "3.5.12", "@vue/reactivity": "3.5.13",
"@vue/shared": "3.5.12" "@vue/shared": "3.5.13"
} }
}, },
"node_modules/@vue/runtime-dom": { "node_modules/@vue/runtime-dom": {
"version": "3.5.12", "version": "3.5.13",
"resolved": "https://registry.npmjs.org/@vue/runtime-dom/-/runtime-dom-3.5.12.tgz", "resolved": "https://registry.npmjs.org/@vue/runtime-dom/-/runtime-dom-3.5.13.tgz",
"integrity": "sha512-q8VFxR9A2MRfBr6/55Q3umyoN7ya836FzRXajPB6/Vvuv0zOPL+qltd9rIMzG/DbRLAIlREmnLsplEF/kotXKA==", "integrity": "sha512-dLaj94s93NYLqjLiyFzVs9X6dWhTdAlEAciC3Moq7gzAc13VJUdCnjjRurNM6uTLFATRHexHCTu/Xp3eW6yoog==",
"license": "MIT", "license": "MIT",
"dependencies": { "dependencies": {
"@vue/reactivity": "3.5.12", "@vue/reactivity": "3.5.13",
"@vue/runtime-core": "3.5.12", "@vue/runtime-core": "3.5.13",
"@vue/shared": "3.5.12", "@vue/shared": "3.5.13",
"csstype": "^3.1.3" "csstype": "^3.1.3"
} }
}, },
"node_modules/@vue/server-renderer": { "node_modules/@vue/server-renderer": {
"version": "3.5.12", "version": "3.5.13",
"resolved": "https://registry.npmjs.org/@vue/server-renderer/-/server-renderer-3.5.12.tgz", "resolved": "https://registry.npmjs.org/@vue/server-renderer/-/server-renderer-3.5.13.tgz",
"integrity": "sha512-I3QoeDDeEPZm8yR28JtY+rk880Oqmj43hreIBVTicisFTx/Dl7JpG72g/X7YF8hnQD3IFhkky5i2bPonwrTVPg==", "integrity": "sha512-wAi4IRJV/2SAW3htkTlB+dHeRmpTiVIK1OGLWV1yeStVSebSQQOwGwIq0D3ZIoBj2C2qpgz5+vX9iEBkTdk5YA==",
"license": "MIT", "license": "MIT",
"dependencies": { "dependencies": {
"@vue/compiler-ssr": "3.5.12", "@vue/compiler-ssr": "3.5.13",
"@vue/shared": "3.5.12" "@vue/shared": "3.5.13"
}, },
"peerDependencies": { "peerDependencies": {
"vue": "3.5.12" "vue": "3.5.13"
} }
}, },
"node_modules/@vue/shared": { "node_modules/@vue/shared": {
"version": "3.5.12", "version": "3.5.13",
"resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.5.12.tgz", "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.5.13.tgz",
"integrity": "sha512-L2RPSAwUFbgZH20etwrXyVyCBu9OxRSi8T/38QsvnkJyvq2LufW2lDCOzm7t/U9C1mkhJGWYfCuFBCmIuNivrg==", "integrity": "sha512-/hnE/qP5ZoGpol0a5mDi45bOd7t3tjYJBjsgCsivow7D48cJeV5l05RD82lPqi7gRiphZM37rnhW1l6ZoCNNnQ==",
"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.12", "version": "3.5.13",
"resolved": "https://registry.npmjs.org/vue/-/vue-3.5.12.tgz", "resolved": "https://registry.npmjs.org/vue/-/vue-3.5.13.tgz",
"integrity": "sha512-CLVZtXtn2ItBIi/zHZ0Sg1Xkb7+PU32bJJ8Bmy7ts3jxXTcbfsEfBivFYYWz1Hur+lalqGAh65Coin0r+HRUfg==", "integrity": "sha512-wmeiSMxkZCSc+PM2w2VRsOYAZC8GdipNFRTsLSfodVqI9mbejKeXEGr8SckuLnrQPGe3oJN5c3K0vpoU9q/wCQ==",
"license": "MIT", "license": "MIT",
"dependencies": { "dependencies": {
"@vue/compiler-dom": "3.5.12", "@vue/compiler-dom": "3.5.13",
"@vue/compiler-sfc": "3.5.12", "@vue/compiler-sfc": "3.5.13",
"@vue/runtime-dom": "3.5.12", "@vue/runtime-dom": "3.5.13",
"@vue/server-renderer": "3.5.12", "@vue/server-renderer": "3.5.13",
"@vue/shared": "3.5.12" "@vue/shared": "3.5.13"
}, },
"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.3", "@formatjs/intl-segmenter": "^11.7.4",
"@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.12", "vue": "^3.5.13",
"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,7 +11,6 @@
: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,20 +1,22 @@
# 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.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR. # OiledAmoeba <florian+crystalyx@ruhnke.cloud>, 2024.
# # 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: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: 2024-11-15 21:02+0000\n"
"Last-Translator: OiledAmoeba <florian+crystalyx@ruhnke.cloud>\n" "Last-Translator: Michel Roux <xefir@crystalyx.net>\n"
"Language-Team: LANGUAGE <LL@li.org>\n" "Language-Team: German <https://translate.crystalyx.net/projects/repod/gitea/"
"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"
@ -28,6 +30,7 @@ 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"
@ -47,9 +50,12 @@ 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/)\n" "- 🌐 Synchronisiere deine Aktivität mit [AntennaPod](https://antennapod.org/)"
"\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) "
@ -58,6 +64,7 @@ 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}"
@ -85,6 +92,7 @@ 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"
@ -94,6 +102,7 @@ msgstr "Abspielen"
msgid "Stop" msgid "Stop"
msgstr "Stopp" msgstr "Stopp"
#, fuzzy
msgid "Read" msgid "Read"
msgstr "Gelesen" msgstr "Gelesen"
@ -106,18 +115,22 @@ 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"
@ -148,25 +161,31 @@ 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"
@ -176,6 +195,7 @@ 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"
@ -197,11 +217,14 @@ 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"