Compare commits

..

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

42 changed files with 1419 additions and 2694 deletions

@ -14,7 +14,7 @@ jobs:
php: php:
runs-on: ubuntu-latest runs-on: ubuntu-latest
container: nextcloud:31 container: nextcloud:30
steps: steps:
- run: apt-get update - run: apt-get update
- run: apt-get install -y git nodejs - run: apt-get install -y git nodejs
@ -47,7 +47,7 @@ jobs:
release: release:
if: gitea.ref_type == 'tag' if: gitea.ref_type == 'tag'
runs-on: ubuntu-latest runs-on: ubuntu-latest
container: nextcloud:31 container: nextcloud:30
steps: steps:
- run: apt-get update - run: apt-get update
- run: apt-get install -y git nodejs - run: apt-get install -y git nodejs

@ -1,29 +1,11 @@
## 3.5.7 - Prince of Persia - 2025-04-24
### Added
- 🔍 You can now search and filter your subscriptions to quickly find what you want to listen
- 🌐 Add Persian language (thanks to @alr86)
### Changed
- ⬆️ Update @nextcloud/vue and many other dependencies
## 3.5.6 - March comes in like a lion - 2025-03-05
### Changed
- ⬆️ Update @nextcloud/vue
### Fixed
- 🮰 No pointer on play / stop icon on episodes list
[#264](https://git.crystalyx.net/Xefir/repod/issues/264)
## 3.5.5 - Alone in the dark - 2025-02-14 ## 3.5.5 - Alone in the dark - 2025-02-14
### Changed ## Changed
- ⬆️ Update @nextcloud/vue - ⬆️ Update @nextcloud/vue
- 🔖 Support Nextcloud 31 - 🔖 Support Nextcloud 31
- 🌐 Updated german language (thanks markus phi) - 🌐 Updated german language (thanks markus phi)
### Fixed ## Fixed
- 🔇 Cancel notification when stopping playback - 🔇 Cancel notification when stopping playback
## 3.5.4 - Under the spotlight - 2025-01-03 ## 3.5.4 - Under the spotlight - 2025-01-03

@ -1,4 +1,4 @@
FROM nextcloud:31 FROM nextcloud:30
ARG APP_NAME=repod ARG APP_NAME=repod
ENV NEXTCLOUD_UPDATE=1 ENV NEXTCLOUD_UPDATE=1

@ -34,7 +34,7 @@ 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/) (5) | ❌ | [](https://github.com/owncloud/music/issues/671#issuecomment-782746463) | [](https://www.transifex.com/project-insanityorg/podcast-1/dashboard/) (2) | | 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
@ -69,9 +69,6 @@ You can contribute to translate the app in your language and you don't need to h
Please join the effort at our **[Weblate](https://translate.crystalyx.net/projects/repod/gitea/)** project. Please join the effort at our **[Weblate](https://translate.crystalyx.net/projects/repod/gitea/)** project.
- [Start a new language](https://translate.crystalyx.net/new-lang/repod/gitea/)
- [Contribute to missing translations](https://translate.crystalyx.net/search/repod/gitea/?q=NOT+is%3Atranslated&sort_by=-priority%2Cposition&checksum=)
Thank you so much if you decide to participate ❤️ Thank you so much if you decide to participate ❤️
## Credits ## Credits

@ -14,7 +14,7 @@
## Requirements ## Requirements
You need to have [GPodderSync](https://apps.nextcloud.com/apps/gpoddersync) installed to use this app!]]></description> You need to have [GPodderSync](https://apps.nextcloud.com/apps/gpoddersync) installed to use this app!]]></description>
<version>3.5.7</version> <version>3.5.5</version>
<licence>agpl</licence> <licence>agpl</licence>
<author mail="xefir@crystalyx.net" homepage="https://crystalyx.net">Michel Roux</author> <author mail="xefir@crystalyx.net" homepage="https://crystalyx.net">Michel Roux</author>
<namespace>RePod</namespace> <namespace>RePod</namespace>

@ -21,11 +21,10 @@
}, },
"require-dev": { "require-dev": {
"nextcloud/coding-standard": "^1.3.2", "nextcloud/coding-standard": "^1.3.2",
"nextcloud/ocp": "^v31.0.4", "nextcloud/ocp": "^30.0.6",
"nextcloud/rector": "^0.4.1", "nextcloud/rector": "^0.3.1",
"phpstan/phpstan": "^2.1.12", "phpstan/phpstan": "~1.12.18",
"phpstan/phpstan-deprecation-rules": "^2.0.1", "rector/rector": "~1.2.10",
"rector/rector": "^2.0.12",
"roave/security-advisories": "dev-latest" "roave/security-advisories": "dev-latest"
}, },
"config": { "config": {

371
composer.lock generated

@ -4,21 +4,21 @@
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
"This file is @generated automatically" "This file is @generated automatically"
], ],
"content-hash": "af717927899afbe45977c5edc7b9b143", "content-hash": "86cc7e94ea3eb4dc1a44d0d20fc81674",
"packages": [], "packages": [],
"packages-dev": [ "packages-dev": [
{ {
"name": "kubawerlos/php-cs-fixer-custom-fixers", "name": "kubawerlos/php-cs-fixer-custom-fixers",
"version": "v3.24.0", "version": "v3.23.0",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/kubawerlos/php-cs-fixer-custom-fixers.git", "url": "https://github.com/kubawerlos/php-cs-fixer-custom-fixers.git",
"reference": "93222100a91399314c3726857e249e76c4a7d760" "reference": "b3210c6e546bdfc95664297a8971ae3b6b1f4a5a"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/kubawerlos/php-cs-fixer-custom-fixers/zipball/93222100a91399314c3726857e249e76c4a7d760", "url": "https://api.github.com/repos/kubawerlos/php-cs-fixer-custom-fixers/zipball/b3210c6e546bdfc95664297a8971ae3b6b1f4a5a",
"reference": "93222100a91399314c3726857e249e76c4a7d760", "reference": "b3210c6e546bdfc95664297a8971ae3b6b1f4a5a",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
@ -28,7 +28,7 @@
"php": "^7.4 || ^8.0" "php": "^7.4 || ^8.0"
}, },
"require-dev": { "require-dev": {
"phpunit/phpunit": "^9.6.22 || 10.5.45 || ^11.5.7" "phpunit/phpunit": "^9.6.4 || ^10.5.29"
}, },
"type": "library", "type": "library",
"autoload": { "autoload": {
@ -49,9 +49,9 @@
"description": "A set of custom fixers for PHP CS Fixer", "description": "A set of custom fixers for PHP CS Fixer",
"support": { "support": {
"issues": "https://github.com/kubawerlos/php-cs-fixer-custom-fixers/issues", "issues": "https://github.com/kubawerlos/php-cs-fixer-custom-fixers/issues",
"source": "https://github.com/kubawerlos/php-cs-fixer-custom-fixers/tree/v3.24.0" "source": "https://github.com/kubawerlos/php-cs-fixer-custom-fixers/tree/v3.23.0"
}, },
"time": "2025-03-22T16:51:39+00:00" "time": "2025-02-15T09:15:56+00:00"
}, },
{ {
"name": "nextcloud/coding-standard", "name": "nextcloud/coding-standard",
@ -97,29 +97,29 @@
}, },
{ {
"name": "nextcloud/ocp", "name": "nextcloud/ocp",
"version": "v31.0.4", "version": "v30.0.6",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/nextcloud-deps/ocp.git", "url": "https://github.com/nextcloud-deps/ocp.git",
"reference": "1fb984268039921920ade298ef5a58e8fe3de7da" "reference": "850819a2bd061dca3c6a839d44bb6f22f188febc"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/nextcloud-deps/ocp/zipball/1fb984268039921920ade298ef5a58e8fe3de7da", "url": "https://api.github.com/repos/nextcloud-deps/ocp/zipball/850819a2bd061dca3c6a839d44bb6f22f188febc",
"reference": "1fb984268039921920ade298ef5a58e8fe3de7da", "reference": "850819a2bd061dca3c6a839d44bb6f22f188febc",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
"php": "~8.1 || ~8.2 || ~8.3 || ~8.4", "php": "~8.0 || ~8.1 || ~8.2 || ~8.3",
"psr/clock": "^1.0", "psr/clock": "^1.0",
"psr/container": "^2.0.2", "psr/container": "^2.0.2",
"psr/event-dispatcher": "^1.0", "psr/event-dispatcher": "^1.0",
"psr/log": "^3.0.2" "psr/log": "^2.0.0"
}, },
"type": "library", "type": "library",
"extra": { "extra": {
"branch-alias": { "branch-alias": {
"dev-stable31": "31.0.0-dev" "dev-stable30": "30.0.0-dev"
} }
}, },
"notification-url": "https://packagist.org/downloads/", "notification-url": "https://packagist.org/downloads/",
@ -130,42 +130,36 @@
{ {
"name": "Christoph Wurst", "name": "Christoph Wurst",
"email": "christoph@winzerhof-wurst.at" "email": "christoph@winzerhof-wurst.at"
},
{
"name": "Joas Schilling",
"email": "coding@schilljs.com"
} }
], ],
"description": "Composer package containing Nextcloud's public OCP API and the unstable NCU API", "description": "Composer package containing Nextcloud's public API (classes, interfaces)",
"support": { "support": {
"issues": "https://github.com/nextcloud-deps/ocp/issues", "issues": "https://github.com/nextcloud-deps/ocp/issues",
"source": "https://github.com/nextcloud-deps/ocp/tree/v31.0.4" "source": "https://github.com/nextcloud-deps/ocp/tree/v30.0.6"
}, },
"time": "2025-04-15T00:50:16+00:00" "time": "2025-01-27T08:38:56+00:00"
}, },
{ {
"name": "nextcloud/rector", "name": "nextcloud/rector",
"version": "v0.4.1", "version": "v0.3.1",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/nextcloud-libraries/rector.git", "url": "https://github.com/nextcloud-libraries/rector.git",
"reference": "9c5c78cc323537ec6dba5b3cd9c422ff9524d8cf" "reference": "25e71025c3acdf346f2d26034d3edd8e17e4596e"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/nextcloud-libraries/rector/zipball/9c5c78cc323537ec6dba5b3cd9c422ff9524d8cf", "url": "https://api.github.com/repos/nextcloud-libraries/rector/zipball/25e71025c3acdf346f2d26034d3edd8e17e4596e",
"reference": "9c5c78cc323537ec6dba5b3cd9c422ff9524d8cf", "reference": "25e71025c3acdf346f2d26034d3edd8e17e4596e",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
"nextcloud/ocp": ">=27", "php": "^8.1"
"php": "^8.1",
"rector/rector": "^2.0.4",
"webmozart/assert": "^1.11"
}, },
"require-dev": { "require-dev": {
"phpunit/phpunit": "^10.5", "phpunit/phpunit": "^10.5",
"ramsey/devtools": "^2.0" "ramsey/devtools": "^2.0",
"rector/rector": "^1.2"
}, },
"type": "library", "type": "library",
"extra": { "extra": {
@ -182,7 +176,6 @@
}, },
"autoload": { "autoload": {
"psr-4": { "psr-4": {
"OCP\\": "vendor/nextcloud/ocp/OCP",
"Nextcloud\\Rector\\": "src/" "Nextcloud\\Rector\\": "src/"
} }
}, },
@ -204,22 +197,22 @@
], ],
"support": { "support": {
"issues": "https://github.com/nextcloud-libraries/rector/issues", "issues": "https://github.com/nextcloud-libraries/rector/issues",
"source": "https://github.com/nextcloud-libraries/rector/tree/v0.4.1" "source": "https://github.com/nextcloud-libraries/rector/tree/v0.3.1"
}, },
"time": "2025-03-31T15:27:10+00:00" "time": "2025-02-06T09:32:20+00:00"
}, },
{ {
"name": "php-cs-fixer/shim", "name": "php-cs-fixer/shim",
"version": "v3.75.0", "version": "v3.68.5",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/PHP-CS-Fixer/shim.git", "url": "https://github.com/PHP-CS-Fixer/shim.git",
"reference": "eea219a577085bd13ff0cb644a422c20798316c7" "reference": "4a0a5cfd39b0677017a85f0fc252d3e8a6a6c02c"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/PHP-CS-Fixer/shim/zipball/eea219a577085bd13ff0cb644a422c20798316c7", "url": "https://api.github.com/repos/PHP-CS-Fixer/shim/zipball/4a0a5cfd39b0677017a85f0fc252d3e8a6a6c02c",
"reference": "eea219a577085bd13ff0cb644a422c20798316c7", "reference": "4a0a5cfd39b0677017a85f0fc252d3e8a6a6c02c",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
@ -256,26 +249,26 @@
"description": "A tool to automatically fix PHP code style", "description": "A tool to automatically fix PHP code style",
"support": { "support": {
"issues": "https://github.com/PHP-CS-Fixer/shim/issues", "issues": "https://github.com/PHP-CS-Fixer/shim/issues",
"source": "https://github.com/PHP-CS-Fixer/shim/tree/v3.75.0" "source": "https://github.com/PHP-CS-Fixer/shim/tree/v3.68.5"
}, },
"time": "2025-03-31T18:45:02+00:00" "time": "2025-01-30T17:01:41+00:00"
}, },
{ {
"name": "phpstan/phpstan", "name": "phpstan/phpstan",
"version": "2.1.12", "version": "1.12.18",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/phpstan/phpstan.git", "url": "https://github.com/phpstan/phpstan.git",
"reference": "96dde49e967c0c22812bcfa7bda4ff82c09f3b0c" "reference": "fef9f07814a573399229304bb0046affdf558812"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/phpstan/phpstan/zipball/96dde49e967c0c22812bcfa7bda4ff82c09f3b0c", "url": "https://api.github.com/repos/phpstan/phpstan/zipball/fef9f07814a573399229304bb0046affdf558812",
"reference": "96dde49e967c0c22812bcfa7bda4ff82c09f3b0c", "reference": "fef9f07814a573399229304bb0046affdf558812",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
"php": "^7.4|^8.0" "php": "^7.2|^8.0"
}, },
"conflict": { "conflict": {
"phpstan/phpstan-shim": "*" "phpstan/phpstan-shim": "*"
@ -316,54 +309,7 @@
"type": "github" "type": "github"
} }
], ],
"time": "2025-04-16T13:19:18+00:00" "time": "2025-02-13T12:44:44+00:00"
},
{
"name": "phpstan/phpstan-deprecation-rules",
"version": "2.0.1",
"source": {
"type": "git",
"url": "https://github.com/phpstan/phpstan-deprecation-rules.git",
"reference": "1cc1259cb91ee4cfbb5c39bca9f635f067c910b4"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/phpstan/phpstan-deprecation-rules/zipball/1cc1259cb91ee4cfbb5c39bca9f635f067c910b4",
"reference": "1cc1259cb91ee4cfbb5c39bca9f635f067c910b4",
"shasum": ""
},
"require": {
"php": "^7.4 || ^8.0",
"phpstan/phpstan": "^2.0"
},
"require-dev": {
"php-parallel-lint/php-parallel-lint": "^1.2",
"phpstan/phpstan-phpunit": "^2.0",
"phpunit/phpunit": "^9.6"
},
"type": "phpstan-extension",
"extra": {
"phpstan": {
"includes": [
"rules.neon"
]
}
},
"autoload": {
"psr-4": {
"PHPStan\\": "src/"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"description": "PHPStan rules for detecting usage of deprecated classes, methods, properties, constants and traits.",
"support": {
"issues": "https://github.com/phpstan/phpstan-deprecation-rules/issues",
"source": "https://github.com/phpstan/phpstan-deprecation-rules/tree/2.0.1"
},
"time": "2024-11-28T21:56:36+00:00"
}, },
{ {
"name": "psr/clock", "name": "psr/clock",
@ -518,16 +464,16 @@
}, },
{ {
"name": "psr/log", "name": "psr/log",
"version": "3.0.2", "version": "2.0.0",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/php-fig/log.git", "url": "https://github.com/php-fig/log.git",
"reference": "f16e1d5863e37f8d8c2a01719f5b34baa2b714d3" "reference": "ef29f6d262798707a9edd554e2b82517ef3a9376"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/php-fig/log/zipball/f16e1d5863e37f8d8c2a01719f5b34baa2b714d3", "url": "https://api.github.com/repos/php-fig/log/zipball/ef29f6d262798707a9edd554e2b82517ef3a9376",
"reference": "f16e1d5863e37f8d8c2a01719f5b34baa2b714d3", "reference": "ef29f6d262798707a9edd554e2b82517ef3a9376",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
@ -536,7 +482,7 @@
"type": "library", "type": "library",
"extra": { "extra": {
"branch-alias": { "branch-alias": {
"dev-master": "3.x-dev" "dev-master": "2.0.x-dev"
} }
}, },
"autoload": { "autoload": {
@ -562,27 +508,27 @@
"psr-3" "psr-3"
], ],
"support": { "support": {
"source": "https://github.com/php-fig/log/tree/3.0.2" "source": "https://github.com/php-fig/log/tree/2.0.0"
}, },
"time": "2024-09-11T13:17:53+00:00" "time": "2021-07-14T16:41:46+00:00"
}, },
{ {
"name": "rector/rector", "name": "rector/rector",
"version": "2.0.12", "version": "1.2.10",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/rectorphp/rector.git", "url": "https://github.com/rectorphp/rector.git",
"reference": "a7f9b968f6c15abfd0d2a1442c9dcd9ade677192" "reference": "40f9cf38c05296bd32f444121336a521a293fa61"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/rectorphp/rector/zipball/a7f9b968f6c15abfd0d2a1442c9dcd9ade677192", "url": "https://api.github.com/repos/rectorphp/rector/zipball/40f9cf38c05296bd32f444121336a521a293fa61",
"reference": "a7f9b968f6c15abfd0d2a1442c9dcd9ade677192", "reference": "40f9cf38c05296bd32f444121336a521a293fa61",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
"php": "^7.4|^8.0", "php": "^7.2|^8.0",
"phpstan/phpstan": "^2.1.12" "phpstan/phpstan": "^1.12.5"
}, },
"conflict": { "conflict": {
"rector/rector-doctrine": "*", "rector/rector-doctrine": "*",
@ -615,7 +561,7 @@
], ],
"support": { "support": {
"issues": "https://github.com/rectorphp/rector/issues", "issues": "https://github.com/rectorphp/rector/issues",
"source": "https://github.com/rectorphp/rector/tree/2.0.12" "source": "https://github.com/rectorphp/rector/tree/1.2.10"
}, },
"funding": [ "funding": [
{ {
@ -623,7 +569,7 @@
"type": "github" "type": "github"
} }
], ],
"time": "2025-04-22T12:47:33+00:00" "time": "2024-11-08T13:59:10+00:00"
}, },
{ {
"name": "roave/security-advisories", "name": "roave/security-advisories",
@ -631,17 +577,16 @@
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/Roave/SecurityAdvisories.git", "url": "https://github.com/Roave/SecurityAdvisories.git",
"reference": "c96e48da0eb4ba3f14ca6ab39a6fd5025a5d0838" "reference": "3dafa2bcf6675854ed6410d1c84c0f71f819fc26"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/Roave/SecurityAdvisories/zipball/c96e48da0eb4ba3f14ca6ab39a6fd5025a5d0838", "url": "https://api.github.com/repos/Roave/SecurityAdvisories/zipball/3dafa2bcf6675854ed6410d1c84c0f71f819fc26",
"reference": "c96e48da0eb4ba3f14ca6ab39a6fd5025a5d0838", "reference": "3dafa2bcf6675854ed6410d1c84c0f71f819fc26",
"shasum": "" "shasum": ""
}, },
"conflict": { "conflict": {
"3f/pygmentize": "<1.2", "3f/pygmentize": "<1.2",
"adaptcms/adaptcms": "<=1.3",
"admidio/admidio": "<4.3.12", "admidio/admidio": "<4.3.12",
"adodb/adodb-php": "<=5.20.20|>=5.21,<=5.21.3", "adodb/adodb-php": "<=5.20.20|>=5.21,<=5.21.3",
"aheinze/cockpit": "<2.2", "aheinze/cockpit": "<2.2",
@ -664,11 +609,9 @@
"anchorcms/anchor-cms": "<=0.12.7", "anchorcms/anchor-cms": "<=0.12.7",
"andreapollastri/cipi": "<=3.1.15", "andreapollastri/cipi": "<=3.1.15",
"andrewhaine/silverstripe-form-capture": ">=0.2,<=0.2.3|>=1,<1.0.2|>=2,<2.2.5", "andrewhaine/silverstripe-form-capture": ">=0.2,<=0.2.3|>=1,<1.0.2|>=2,<2.2.5",
"aoe/restler": "<1.7.1",
"apache-solr-for-typo3/solr": "<2.8.3", "apache-solr-for-typo3/solr": "<2.8.3",
"apereo/phpcas": "<1.6", "apereo/phpcas": "<1.6",
"api-platform/core": "<3.4.17|>=4.0.0.0-alpha1,<4.0.22", "api-platform/core": ">=2.2,<2.2.10|>=2.3,<2.3.6|>=2.6,<2.7.10|>=3,<3.0.12|>=3.1,<3.1.3",
"api-platform/graphql": "<3.4.17|>=4.0.0.0-alpha1,<4.0.22",
"appwrite/server-ce": "<=1.2.1", "appwrite/server-ce": "<=1.2.1",
"arc/web": "<3", "arc/web": "<3",
"area17/twill": "<1.2.5|>=2,<2.5.3", "area17/twill": "<1.2.5|>=2,<2.5.3",
@ -684,7 +627,6 @@
"awesome-support/awesome-support": "<=6.0.7", "awesome-support/awesome-support": "<=6.0.7",
"aws/aws-sdk-php": "<3.288.1", "aws/aws-sdk-php": "<3.288.1",
"azuracast/azuracast": "<0.18.3", "azuracast/azuracast": "<0.18.3",
"b13/seo_basics": "<0.8.2",
"backdrop/backdrop": "<1.27.3|>=1.28,<1.28.2", "backdrop/backdrop": "<1.27.3|>=1.28,<1.28.2",
"backpack/crud": "<3.4.9", "backpack/crud": "<3.4.9",
"backpack/filemanager": "<2.0.2|>=3,<3.0.9", "backpack/filemanager": "<2.0.2|>=3,<3.0.9",
@ -700,7 +642,6 @@
"bbpress/bbpress": "<2.6.5", "bbpress/bbpress": "<2.6.5",
"bcosca/fatfree": "<3.7.2", "bcosca/fatfree": "<3.7.2",
"bedita/bedita": "<4", "bedita/bedita": "<4",
"bednee/cooluri": "<1.0.30",
"bigfork/silverstripe-form-capture": ">=3,<3.1.1", "bigfork/silverstripe-form-capture": ">=3,<3.1.1",
"billz/raspap-webgui": "<=3.1.4", "billz/raspap-webgui": "<=3.1.4",
"bk2k/bootstrap-package": ">=7.1,<7.1.2|>=8,<8.0.8|>=9,<9.0.4|>=9.1,<9.1.3|>=10,<10.0.10|>=11,<11.0.3", "bk2k/bootstrap-package": ">=7.1,<7.1.2|>=8,<8.0.8|>=9,<9.0.4|>=9.1,<9.1.3|>=10,<10.0.10|>=11,<11.0.3",
@ -717,7 +658,6 @@
"brotkrueml/typo3-matomo-integration": "<1.3.2", "brotkrueml/typo3-matomo-integration": "<1.3.2",
"buddypress/buddypress": "<7.2.1", "buddypress/buddypress": "<7.2.1",
"bugsnag/bugsnag-laravel": ">=2,<2.0.2", "bugsnag/bugsnag-laravel": ">=2,<2.0.2",
"bvbmedia/multishop": "<2.0.39",
"bytefury/crater": "<6.0.2", "bytefury/crater": "<6.0.2",
"cachethq/cachet": "<2.5.1", "cachethq/cachet": "<2.5.1",
"cakephp/cakephp": "<3.10.3|>=4,<4.0.10|>=4.1,<4.1.4|>=4.2,<4.2.12|>=4.3,<4.3.11|>=4.4,<4.4.10", "cakephp/cakephp": "<3.10.3|>=4,<4.0.10|>=4.1,<4.1.4|>=4.2,<4.2.12|>=4.3,<4.3.11|>=4.4,<4.4.10",
@ -734,31 +674,27 @@
"cesnet/simplesamlphp-module-proxystatistics": "<3.1", "cesnet/simplesamlphp-module-proxystatistics": "<3.1",
"chriskacerguis/codeigniter-restserver": "<=2.7.1", "chriskacerguis/codeigniter-restserver": "<=2.7.1",
"civicrm/civicrm-core": ">=4.2,<4.2.9|>=4.3,<4.3.3", "civicrm/civicrm-core": ">=4.2,<4.2.9|>=4.3,<4.3.3",
"ckeditor/ckeditor": "<4.25", "ckeditor/ckeditor": "<4.24",
"clickstorm/cs-seo": ">=6,<6.7|>=7,<7.4|>=8,<8.3|>=9,<9.2",
"co-stack/fal_sftp": "<0.2.6",
"cockpit-hq/cockpit": "<2.7|==2.7", "cockpit-hq/cockpit": "<2.7|==2.7",
"codeception/codeception": "<3.1.3|>=4,<4.1.22", "codeception/codeception": "<3.1.3|>=4,<4.1.22",
"codeigniter/framework": "<3.1.9", "codeigniter/framework": "<3.1.9",
"codeigniter4/framework": "<4.5.8", "codeigniter4/framework": "<4.5.8",
"codeigniter4/shield": "<1.0.0.0-beta8", "codeigniter4/shield": "<1.0.0.0-beta8",
"codiad/codiad": "<=2.8.4", "codiad/codiad": "<=2.8.4",
"codingms/additional-tca": ">=1.7,<1.15.17|>=1.16,<1.16.9",
"commerceteam/commerce": ">=0.9.6,<0.9.9",
"components/jquery": ">=1.0.3,<3.5", "components/jquery": ">=1.0.3,<3.5",
"composer/composer": "<1.10.27|>=2,<2.2.24|>=2.3,<2.7.7", "composer/composer": "<1.10.27|>=2,<2.2.24|>=2.3,<2.7.7",
"concrete5/concrete5": "<9.4.0.0-RC2-dev", "concrete5/concrete5": "<9.3.4",
"concrete5/core": "<8.5.8|>=9,<9.1", "concrete5/core": "<8.5.8|>=9,<9.1",
"contao-components/mediaelement": ">=2.14.2,<2.21.1", "contao-components/mediaelement": ">=2.14.2,<2.21.1",
"contao/comments-bundle": ">=2,<4.13.40|>=5.0.0.0-RC1-dev,<5.3.4", "contao/comments-bundle": ">=2,<4.13.40|>=5.0.0.0-RC1-dev,<5.3.4",
"contao/contao": ">=3,<3.5.37|>=4,<4.4.56|>=4.5,<4.9.40|>=4.10,<4.11.7|>=4.13,<4.13.21|>=5.1,<5.1.4", "contao/contao": "<=5.4.1",
"contao/core": "<3.5.39", "contao/core": "<3.5.39",
"contao/core-bundle": "<4.13.54|>=5,<5.3.30|>=5.4,<5.5.6", "contao/core-bundle": "<4.13.49|>=5,<5.3.15|>=5.4,<5.4.3",
"contao/listing-bundle": ">=3,<=3.5.30|>=4,<4.4.8", "contao/listing-bundle": ">=3,<=3.5.30|>=4,<4.4.8",
"contao/managed-edition": "<=1.5", "contao/managed-edition": "<=1.5",
"corveda/phpsandbox": "<1.3.5", "corveda/phpsandbox": "<1.3.5",
"cosenary/instagram": "<=2.3", "cosenary/instagram": "<=2.3",
"craftcms/cms": "<=4.14.14|>=5,<=5.6.16", "craftcms/cms": "<4.13.8|>=5,<5.5.5",
"croogo/croogo": "<4", "croogo/croogo": "<4",
"cuyz/valinor": "<0.12", "cuyz/valinor": "<0.12",
"czim/file-handling": "<1.5|>=2,<2.3", "czim/file-handling": "<1.5|>=2,<2.3",
@ -776,11 +712,7 @@
"desperado/xml-bundle": "<=0.1.7", "desperado/xml-bundle": "<=0.1.7",
"dev-lancer/minecraft-motd-parser": "<=1.0.5", "dev-lancer/minecraft-motd-parser": "<=1.0.5",
"devgroup/dotplant": "<2020.09.14-dev", "devgroup/dotplant": "<2020.09.14-dev",
"digimix/wp-svg-upload": "<=1",
"directmailteam/direct-mail": "<6.0.3|>=7,<7.0.3|>=8,<9.5.2", "directmailteam/direct-mail": "<6.0.3|>=7,<7.0.3|>=8,<9.5.2",
"dl/yag": "<3.0.1",
"dmk/webkitpdf": "<1.1.4",
"dnadesign/silverstripe-elemental": "<5.3.12",
"doctrine/annotations": "<1.2.7", "doctrine/annotations": "<1.2.7",
"doctrine/cache": ">=1,<1.3.2|>=1.4,<1.4.2", "doctrine/cache": ">=1,<1.3.2|>=1.4,<1.4.2",
"doctrine/common": "<2.4.3|>=2.5,<2.5.1", "doctrine/common": "<2.4.3|>=2.5,<2.5.1",
@ -793,25 +725,9 @@
"dolibarr/dolibarr": "<19.0.2|==21.0.0.0-beta", "dolibarr/dolibarr": "<19.0.2|==21.0.0.0-beta",
"dompdf/dompdf": "<2.0.4", "dompdf/dompdf": "<2.0.4",
"doublethreedigital/guest-entries": "<3.1.2", "doublethreedigital/guest-entries": "<3.1.2",
"drupal/ai": "<1.0.5", "drupal/core": ">=6,<6.38|>=7,<7.102|>=8,<10.2.11|>=10.3,<10.3.9|>=11,<11.0.8",
"drupal/alogin": "<2.0.6",
"drupal/cache_utility": "<1.2.1",
"drupal/config_split": "<1.10|>=2,<2.0.2",
"drupal/core": ">=6,<6.38|>=7,<7.102|>=8,<10.3.14|>=10.4,<10.4.5|>=11,<11.0.13|>=11.1,<11.1.5",
"drupal/core-recommended": ">=7,<7.102|>=8,<10.2.11|>=10.3,<10.3.9|>=11,<11.0.8", "drupal/core-recommended": ">=7,<7.102|>=8,<10.2.11|>=10.3,<10.3.9|>=11,<11.0.8",
"drupal/drupal": ">=5,<5.11|>=6,<6.38|>=7,<7.102|>=8,<10.2.11|>=10.3,<10.3.9|>=11,<11.0.8", "drupal/drupal": ">=5,<5.11|>=6,<6.38|>=7,<7.102|>=8,<10.2.11|>=10.3,<10.3.9|>=11,<11.0.8",
"drupal/formatter_suite": "<2.1",
"drupal/gdpr": "<3.0.1|>=3.1,<3.1.2",
"drupal/google_tag": "<1.8|>=2,<2.0.8",
"drupal/ignition": "<1.0.4",
"drupal/link_field_display_mode_formatter": "<1.6",
"drupal/matomo": "<1.24",
"drupal/oauth2_client": "<4.1.3",
"drupal/oauth2_server": "<2.1",
"drupal/obfuscate": "<2.0.1",
"drupal/rapidoc_elements_field_formatter": "<1.0.1",
"drupal/spamspan": "<3.2.1",
"drupal/tfa": "<1.10",
"duncanmcclean/guest-entries": "<3.1.2", "duncanmcclean/guest-entries": "<3.1.2",
"dweeves/magmi": "<=0.7.24", "dweeves/magmi": "<=0.7.24",
"ec-cube/ec-cube": "<2.4.4|>=2.11,<=2.17.1|>=3,<=3.0.18.0-patch4|>=4,<=4.1.2", "ec-cube/ec-cube": "<2.4.4|>=2.11,<=2.17.1|>=3,<=3.0.18.0-patch4|>=4,<=4.1.2",
@ -841,7 +757,7 @@
"ezsystems/ezplatform-http-cache": "<2.3.16", "ezsystems/ezplatform-http-cache": "<2.3.16",
"ezsystems/ezplatform-kernel": "<1.2.5.1-dev|>=1.3,<1.3.35", "ezsystems/ezplatform-kernel": "<1.2.5.1-dev|>=1.3,<1.3.35",
"ezsystems/ezplatform-rest": ">=1.2,<=1.2.2|>=1.3,<1.3.8", "ezsystems/ezplatform-rest": ">=1.2,<=1.2.2|>=1.3,<1.3.8",
"ezsystems/ezplatform-richtext": ">=2.3,<2.3.26|>=3.3,<3.3.40", "ezsystems/ezplatform-richtext": ">=2.3,<2.3.7.1-dev|>=3.3,<3.3.40",
"ezsystems/ezplatform-solr-search-engine": ">=1.7,<1.7.12|>=2,<2.0.2|>=3.3,<3.3.15", "ezsystems/ezplatform-solr-search-engine": ">=1.7,<1.7.12|>=2,<2.0.2|>=3.3,<3.3.15",
"ezsystems/ezplatform-user": ">=1,<1.0.1", "ezsystems/ezplatform-user": ">=1,<1.0.1",
"ezsystems/ezpublish-kernel": "<6.13.8.2-dev|>=7,<7.5.31", "ezsystems/ezpublish-kernel": "<6.13.8.2-dev|>=7,<7.5.31",
@ -864,10 +780,10 @@
"firebase/php-jwt": "<6", "firebase/php-jwt": "<6",
"fisharebest/webtrees": "<=2.1.18", "fisharebest/webtrees": "<=2.1.18",
"fixpunkt/fp-masterquiz": "<2.2.1|>=3,<3.5.2", "fixpunkt/fp-masterquiz": "<2.2.1|>=3,<3.5.2",
"fixpunkt/fp-newsletter": "<1.1.1|>=1.2,<2.1.2|>=2.2,<3.2.6", "fixpunkt/fp-newsletter": "<1.1.1|>=2,<2.1.2|>=2.2,<3.2.6",
"flarum/core": "<1.8.10", "flarum/core": "<1.8.5",
"flarum/flarum": "<0.1.0.0-beta8", "flarum/flarum": "<0.1.0.0-beta8",
"flarum/framework": "<1.8.10", "flarum/framework": "<1.8.5",
"flarum/mentions": "<1.6.3", "flarum/mentions": "<1.6.3",
"flarum/sticky": ">=0.1.0.0-beta14,<=0.1.0.0-beta15", "flarum/sticky": ">=0.1.0.0-beta14,<=0.1.0.0-beta15",
"flarum/tags": "<=0.1.0.0-beta13", "flarum/tags": "<=0.1.0.0-beta13",
@ -888,16 +804,14 @@
"friendsofsymfony1/symfony1": ">=1.1,<1.5.19", "friendsofsymfony1/symfony1": ">=1.1,<1.5.19",
"friendsoftypo3/mediace": ">=7.6.2,<7.6.5", "friendsoftypo3/mediace": ">=7.6.2,<7.6.5",
"friendsoftypo3/openid": ">=4.5,<4.5.31|>=4.7,<4.7.16|>=6,<6.0.11|>=6.1,<6.1.6", "friendsoftypo3/openid": ">=4.5,<4.5.31|>=4.7,<4.7.16|>=6,<6.0.11|>=6.1,<6.1.6",
"froala/wysiwyg-editor": "<=4.3", "froala/wysiwyg-editor": "<3.2.7|>=4.0.1,<=4.1.3",
"froxlor/froxlor": "<=2.2.5", "froxlor/froxlor": "<=2.2.0.0-RC3",
"frozennode/administrator": "<=5.0.12", "frozennode/administrator": "<=5.0.12",
"fuel/core": "<1.8.1", "fuel/core": "<1.8.1",
"funadmin/funadmin": "<=5.0.2", "funadmin/funadmin": "<=5.0.2",
"gaoming13/wechat-php-sdk": "<=1.10.2", "gaoming13/wechat-php-sdk": "<=1.10.2",
"genix/cms": "<=1.1.11", "genix/cms": "<=1.1.11",
"georgringer/news": "<1.3.3", "getformwork/formwork": "<1.13.1|==2.0.0.0-beta1",
"geshi/geshi": "<1.0.8.11-dev",
"getformwork/formwork": "<1.13.1|>=2.0.0.0-beta1,<2.0.0.0-beta4",
"getgrav/grav": "<1.7.46", "getgrav/grav": "<1.7.46",
"getkirby/cms": "<=3.6.6.5|>=3.7,<=3.7.5.4|>=3.8,<=3.8.4.3|>=3.9,<=3.9.8.1|>=3.10,<=3.10.1|>=4,<=4.3", "getkirby/cms": "<=3.6.6.5|>=3.7,<=3.7.5.4|>=3.8,<=3.8.4.3|>=3.9,<=3.9.8.1|>=3.10,<=3.10.1|>=4,<=4.3",
"getkirby/kirby": "<=2.5.12", "getkirby/kirby": "<=2.5.12",
@ -906,7 +820,7 @@
"gilacms/gila": "<=1.15.4", "gilacms/gila": "<=1.15.4",
"gleez/cms": "<=1.3|==2", "gleez/cms": "<=1.3|==2",
"globalpayments/php-sdk": "<2", "globalpayments/php-sdk": "<2",
"goalgorilla/open_social": "<12.3.11|>=12.4,<12.4.10|>=13.0.0.0-alpha1,<13.0.0.0-alpha11", "goalgorilla/open_social": "<12.3.8|>=12.4,<12.4.5|>=13.0.0.0-alpha1,<13.0.0.0-alpha11",
"gogentooss/samlbase": "<1.2.7", "gogentooss/samlbase": "<1.2.7",
"google/protobuf": "<3.15", "google/protobuf": "<3.15",
"gos/web-socket-bundle": "<1.10.4|>=2,<2.6.1|>=3,<3.3", "gos/web-socket-bundle": "<1.10.4|>=2,<2.6.1|>=3,<3.3",
@ -929,7 +843,7 @@
"hyn/multi-tenant": ">=5.6,<5.7.2", "hyn/multi-tenant": ">=5.6,<5.7.2",
"ibexa/admin-ui": ">=4.2,<4.2.3|>=4.6,<4.6.14", "ibexa/admin-ui": ">=4.2,<4.2.3|>=4.6,<4.6.14",
"ibexa/core": ">=4,<4.0.7|>=4.1,<4.1.4|>=4.2,<4.2.3|>=4.5,<4.5.6|>=4.6,<4.6.2", "ibexa/core": ">=4,<4.0.7|>=4.1,<4.1.4|>=4.2,<4.2.3|>=4.5,<4.5.6|>=4.6,<4.6.2",
"ibexa/fieldtype-richtext": ">=4.6,<4.6.19", "ibexa/fieldtype-richtext": ">=4.6,<4.6.10",
"ibexa/graphql": ">=2.5,<2.5.31|>=3.3,<3.3.28|>=4.2,<4.2.3", "ibexa/graphql": ">=2.5,<2.5.31|>=3.3,<3.3.28|>=4.2,<4.2.3",
"ibexa/http-cache": ">=4.6,<4.6.14", "ibexa/http-cache": ">=4.6,<4.6.14",
"ibexa/post-install": "<1.0.16|>=4.6,<4.6.14", "ibexa/post-install": "<1.0.16|>=4.6,<4.6.14",
@ -945,7 +859,7 @@
"illuminate/view": "<6.20.42|>=7,<7.30.6|>=8,<8.75", "illuminate/view": "<6.20.42|>=7,<7.30.6|>=8,<8.75",
"imdbphp/imdbphp": "<=5.1.1", "imdbphp/imdbphp": "<=5.1.1",
"impresscms/impresscms": "<=1.4.5", "impresscms/impresscms": "<=1.4.5",
"impresspages/impresspages": "<1.0.13", "impresspages/impresspages": "<=1.0.12",
"in2code/femanager": "<5.5.3|>=6,<6.3.4|>=7,<7.2.3", "in2code/femanager": "<5.5.3|>=6,<6.3.4|>=7,<7.2.3",
"in2code/ipandlanguageredirect": "<5.1.2", "in2code/ipandlanguageredirect": "<5.1.2",
"in2code/lux": "<17.6.1|>=18,<24.0.2", "in2code/lux": "<17.6.1|>=18,<24.0.2",
@ -958,30 +872,25 @@
"islandora/islandora": ">=2,<2.4.1", "islandora/islandora": ">=2,<2.4.1",
"ivankristianto/phpwhois": "<=4.3", "ivankristianto/phpwhois": "<=4.3",
"jackalope/jackalope-doctrine-dbal": "<1.7.4", "jackalope/jackalope-doctrine-dbal": "<1.7.4",
"jambagecom/div2007": "<0.10.2",
"james-heinrich/getid3": "<1.9.21", "james-heinrich/getid3": "<1.9.21",
"james-heinrich/phpthumb": "<1.7.12", "james-heinrich/phpthumb": "<1.7.12",
"jasig/phpcas": "<1.3.3", "jasig/phpcas": "<1.3.3",
"jbartels/wec-map": "<3.0.3",
"jcbrand/converse.js": "<3.3.3", "jcbrand/converse.js": "<3.3.3",
"joelbutcher/socialstream": "<5.6|>=6,<6.2", "joelbutcher/socialstream": "<5.6|>=6,<6.2",
"johnbillion/wp-crontrol": "<1.16.2", "johnbillion/wp-crontrol": "<1.16.2",
"joomla/application": "<1.0.13", "joomla/application": "<1.0.13",
"joomla/archive": "<1.1.12|>=2,<2.0.1", "joomla/archive": "<1.1.12|>=2,<2.0.1",
"joomla/database": ">=1,<2.2|>=3,<3.4",
"joomla/filesystem": "<1.6.2|>=2,<2.0.1", "joomla/filesystem": "<1.6.2|>=2,<2.0.1",
"joomla/filter": "<1.4.4|>=2,<2.0.1", "joomla/filter": "<1.4.4|>=2,<2.0.1",
"joomla/framework": "<1.5.7|>=2.5.4,<=3.8.12", "joomla/framework": "<1.5.7|>=2.5.4,<=3.8.12",
"joomla/input": ">=2,<2.0.2", "joomla/input": ">=2,<2.0.2",
"joomla/joomla-cms": "<3.9.12|>=4,<4.4.13|>=5,<5.2.6", "joomla/joomla-cms": ">=2.5,<3.9.12",
"joomla/joomla-platform": "<1.5.4",
"joomla/session": "<1.3.1", "joomla/session": "<1.3.1",
"joyqi/hyper-down": "<=2.4.27", "joyqi/hyper-down": "<=2.4.27",
"jsdecena/laracom": "<2.0.9", "jsdecena/laracom": "<2.0.9",
"jsmitty12/phpwhois": "<5.1", "jsmitty12/phpwhois": "<5.1",
"juzaweb/cms": "<=3.4", "juzaweb/cms": "<=3.4",
"jweiland/events2": "<8.3.8|>=9,<9.0.6", "jweiland/events2": "<8.3.8|>=9,<9.0.6",
"jweiland/kk-downloader": "<1.2.2",
"kazist/phpwhois": "<=4.2.6", "kazist/phpwhois": "<=4.2.6",
"kelvinmo/simplexrd": "<3.1.1", "kelvinmo/simplexrd": "<3.1.1",
"kevinpapst/kimai2": "<1.16.7", "kevinpapst/kimai2": "<1.16.7",
@ -1001,7 +910,7 @@
"lara-zeus/artemis": ">=1,<=1.0.6", "lara-zeus/artemis": ">=1,<=1.0.6",
"lara-zeus/dynamic-dashboard": ">=3,<=3.0.1", "lara-zeus/dynamic-dashboard": ">=3,<=3.0.1",
"laravel/fortify": "<1.11.1", "laravel/fortify": "<1.11.1",
"laravel/framework": "<10.48.29|>=11,<11.44.1|>=12,<12.1.1", "laravel/framework": "<6.20.45|>=7,<7.30.7|>=8,<8.83.28|>=9,<9.52.17|>=10,<10.48.23|>=11,<11.31",
"laravel/laravel": ">=5.4,<5.4.22", "laravel/laravel": ">=5.4,<5.4.22",
"laravel/pulse": "<1.3.1", "laravel/pulse": "<1.3.1",
"laravel/reverb": "<1.4", "laravel/reverb": "<1.4",
@ -1012,7 +921,6 @@
"league/commonmark": "<2.6", "league/commonmark": "<2.6",
"league/flysystem": "<1.1.4|>=2,<2.1.1", "league/flysystem": "<1.1.4|>=2,<2.1.1",
"league/oauth2-server": ">=8.3.2,<8.4.2|>=8.5,<8.5.3", "league/oauth2-server": ">=8.3.2,<8.4.2|>=8.5,<8.5.3",
"leantime/leantime": "<3.3",
"lexik/jwt-authentication-bundle": "<2.10.7|>=2.11,<2.11.3", "lexik/jwt-authentication-bundle": "<2.10.7|>=2.11,<2.11.3",
"libreform/libreform": ">=2,<=2.0.8", "libreform/libreform": ">=2,<=2.0.8",
"librenms/librenms": "<2017.08.18", "librenms/librenms": "<2017.08.18",
@ -1021,12 +929,9 @@
"limesurvey/limesurvey": "<6.5.12", "limesurvey/limesurvey": "<6.5.12",
"livehelperchat/livehelperchat": "<=3.91", "livehelperchat/livehelperchat": "<=3.91",
"livewire/livewire": "<2.12.7|>=3.0.0.0-beta1,<3.5.2", "livewire/livewire": "<2.12.7|>=3.0.0.0-beta1,<3.5.2",
"livewire/volt": "<1.7",
"lms/routes": "<2.1.1", "lms/routes": "<2.1.1",
"localizationteam/l10nmgr": "<7.4|>=8,<8.7|>=9,<9.2", "localizationteam/l10nmgr": "<7.4|>=8,<8.7|>=9,<9.2",
"luracast/restler": "<3.1",
"luyadev/yii-helpers": "<1.2.1", "luyadev/yii-helpers": "<1.2.1",
"macropay-solutions/laravel-crud-wizard-free": "<3.4.17",
"maestroerror/php-heic-to-jpg": "<1.0.5", "maestroerror/php-heic-to-jpg": "<1.0.5",
"magento/community-edition": "<2.4.5|==2.4.5|>=2.4.5.0-patch1,<2.4.5.0-patch11|==2.4.6|>=2.4.6.0-patch1,<2.4.6.0-patch9|>=2.4.7.0-beta1,<2.4.7.0-patch4|>=2.4.8.0-beta1,<2.4.8.0-beta2", "magento/community-edition": "<2.4.5|==2.4.5|>=2.4.5.0-patch1,<2.4.5.0-patch11|==2.4.6|>=2.4.6.0-patch1,<2.4.6.0-patch9|>=2.4.7.0-beta1,<2.4.7.0-patch4|>=2.4.8.0-beta1,<2.4.8.0-beta2",
"magento/core": "<=1.9.4.5", "magento/core": "<=1.9.4.5",
@ -1039,9 +944,8 @@
"mainwp/mainwp": "<=4.4.3.3", "mainwp/mainwp": "<=4.4.3.3",
"mantisbt/mantisbt": "<=2.26.3", "mantisbt/mantisbt": "<=2.26.3",
"marcwillmann/turn": "<0.3.3", "marcwillmann/turn": "<0.3.3",
"matomo/matomo": "<1.11",
"matyhtf/framework": "<3.0.6", "matyhtf/framework": "<3.0.6",
"mautic/core": "<5.2.3", "mautic/core": "<4.4.13|>=5,<5.1.1",
"mautic/core-lib": ">=1.0.0.0-beta,<4.4.13|>=5.0.0.0-alpha,<5.1.1", "mautic/core-lib": ">=1.0.0.0-beta,<4.4.13|>=5.0.0.0-alpha,<5.1.1",
"maximebf/debugbar": "<1.19", "maximebf/debugbar": "<1.19",
"mdanter/ecc": "<2", "mdanter/ecc": "<2",
@ -1051,7 +955,6 @@
"mediawiki/data-transfer": ">=1.39,<1.39.11|>=1.41,<1.41.3|>=1.42,<1.42.2", "mediawiki/data-transfer": ">=1.39,<1.39.11|>=1.41,<1.41.3|>=1.42,<1.42.2",
"mediawiki/matomo": "<2.4.3", "mediawiki/matomo": "<2.4.3",
"mediawiki/semantic-media-wiki": "<4.0.2", "mediawiki/semantic-media-wiki": "<4.0.2",
"mehrwert/phpmyadmin": "<3.2",
"melisplatform/melis-asset-manager": "<5.0.1", "melisplatform/melis-asset-manager": "<5.0.1",
"melisplatform/melis-cms": "<5.0.1", "melisplatform/melis-cms": "<5.0.1",
"melisplatform/melis-front": "<5.0.1", "melisplatform/melis-front": "<5.0.1",
@ -1065,11 +968,11 @@
"miniorange/miniorange-saml": "<1.4.3", "miniorange/miniorange-saml": "<1.4.3",
"mittwald/typo3_forum": "<1.2.1", "mittwald/typo3_forum": "<1.2.1",
"mobiledetect/mobiledetectlib": "<2.8.32", "mobiledetect/mobiledetectlib": "<2.8.32",
"modx/revolution": "<=3.1", "modx/revolution": "<=2.8.3.0-patch",
"mojo42/jirafeau": "<4.4", "mojo42/jirafeau": "<4.4",
"mongodb/mongodb": ">=1,<1.9.2", "mongodb/mongodb": ">=1,<1.9.2",
"monolog/monolog": ">=1.8,<1.12", "monolog/monolog": ">=1.8,<1.12",
"moodle/moodle": "<4.3.12|>=4.4,<4.4.8|>=4.5.0.0-beta,<4.5.4", "moodle/moodle": "<4.3.8|>=4.4,<4.4.4",
"mos/cimage": "<0.7.19", "mos/cimage": "<0.7.19",
"movim/moxl": ">=0.8,<=0.10", "movim/moxl": ">=0.8,<=0.10",
"movingbytes/social-network": "<=1.2.1", "movingbytes/social-network": "<=1.2.1",
@ -1083,7 +986,6 @@
"mustache/mustache": ">=2,<2.14.1", "mustache/mustache": ">=2,<2.14.1",
"mwdelaney/wp-enable-svg": "<=0.2", "mwdelaney/wp-enable-svg": "<=0.2",
"namshi/jose": "<2.2", "namshi/jose": "<2.2",
"nasirkhan/laravel-starter": "<11.11",
"nategood/httpful": "<1", "nategood/httpful": "<1",
"neoan3-apps/template": "<1.1.1", "neoan3-apps/template": "<1.1.1",
"neorazorx/facturascripts": "<2022.04", "neorazorx/facturascripts": "<2022.04",
@ -1112,14 +1014,13 @@
"october/october": "<=3.6.4", "october/october": "<=3.6.4",
"october/rain": "<1.0.472|>=1.1,<1.1.2", "october/rain": "<1.0.472|>=1.1,<1.1.2",
"october/system": "<1.0.476|>=1.1,<1.1.12|>=2,<2.2.34|>=3,<3.5.15", "october/system": "<1.0.476|>=1.1,<1.1.12|>=2,<2.2.34|>=3,<3.5.15",
"oliverklee/phpunit": "<3.5.15",
"omeka/omeka-s": "<4.0.3", "omeka/omeka-s": "<4.0.3",
"onelogin/php-saml": "<2.10.4", "onelogin/php-saml": "<2.10.4",
"oneup/uploader-bundle": ">=1,<1.9.3|>=2,<2.1.5", "oneup/uploader-bundle": ">=1,<1.9.3|>=2,<2.1.5",
"open-web-analytics/open-web-analytics": "<1.7.4", "open-web-analytics/open-web-analytics": "<1.7.4",
"opencart/opencart": ">=0", "opencart/opencart": ">=0",
"openid/php-openid": "<2.3", "openid/php-openid": "<2.3",
"openmage/magento-lts": "<20.12.3", "openmage/magento-lts": "<20.10.1",
"opensolutions/vimbadmin": "<=3.0.15", "opensolutions/vimbadmin": "<=3.0.15",
"opensource-workshop/connect-cms": "<1.8.7|>=2,<2.4.7", "opensource-workshop/connect-cms": "<1.8.7|>=2,<2.4.7",
"orchid/platform": ">=8,<14.43", "orchid/platform": ">=8,<14.43",
@ -1146,7 +1047,6 @@
"pear/archive_tar": "<1.4.14", "pear/archive_tar": "<1.4.14",
"pear/auth": "<1.2.4", "pear/auth": "<1.2.4",
"pear/crypt_gpg": "<1.6.7", "pear/crypt_gpg": "<1.6.7",
"pear/http_request2": "<2.7",
"pear/pear": "<=1.10.1", "pear/pear": "<=1.10.1",
"pegasus/google-for-jobs": "<1.5.1|>=2,<2.1.1", "pegasus/google-for-jobs": "<1.5.1|>=2,<2.1.1",
"personnummer/personnummer": "<3.0.2", "personnummer/personnummer": "<3.0.2",
@ -1162,7 +1062,7 @@
"phpmyadmin/phpmyadmin": "<5.2.2", "phpmyadmin/phpmyadmin": "<5.2.2",
"phpmyfaq/phpmyfaq": "<3.2.5|==3.2.5|>=3.2.10,<=4.0.1", "phpmyfaq/phpmyfaq": "<3.2.5|==3.2.5|>=3.2.10,<=4.0.1",
"phpoffice/common": "<0.2.9", "phpoffice/common": "<0.2.9",
"phpoffice/phpexcel": "<=1.8.2", "phpoffice/phpexcel": "<1.8.1",
"phpoffice/phpspreadsheet": "<1.29.9|>=2,<2.1.8|>=2.2,<2.3.7|>=3,<3.9", "phpoffice/phpspreadsheet": "<1.29.9|>=2,<2.1.8|>=2.2,<2.3.7|>=3,<3.9",
"phpseclib/phpseclib": "<2.0.47|>=3,<3.0.36", "phpseclib/phpseclib": "<2.0.47|>=3,<3.0.36",
"phpservermon/phpservermon": "<3.6", "phpservermon/phpservermon": "<3.6",
@ -1172,19 +1072,18 @@
"phpxmlrpc/extras": "<0.6.1", "phpxmlrpc/extras": "<0.6.1",
"phpxmlrpc/phpxmlrpc": "<4.9.2", "phpxmlrpc/phpxmlrpc": "<4.9.2",
"pi/pi": "<=2.5", "pi/pi": "<=2.5",
"pimcore/admin-ui-classic-bundle": "<1.7.6", "pimcore/admin-ui-classic-bundle": "<1.7.4",
"pimcore/customer-management-framework-bundle": "<4.2.1", "pimcore/customer-management-framework-bundle": "<4.2.1",
"pimcore/data-hub": "<1.2.4", "pimcore/data-hub": "<1.2.4",
"pimcore/data-importer": "<1.8.9|>=1.9,<1.9.3", "pimcore/data-importer": "<1.8.9|>=1.9,<1.9.3",
"pimcore/demo": "<10.3", "pimcore/demo": "<10.3",
"pimcore/ecommerce-framework-bundle": "<1.0.10", "pimcore/ecommerce-framework-bundle": "<1.0.10",
"pimcore/perspective-editor": "<1.5.1", "pimcore/perspective-editor": "<1.5.1",
"pimcore/pimcore": "<11.5.4", "pimcore/pimcore": "<11.2.4|>=11.4.2,<11.5.3",
"piwik/piwik": "<1.11", "pixelfed/pixelfed": "<0.11.11",
"pixelfed/pixelfed": "<0.12.5",
"plotly/plotly.js": "<2.25.2", "plotly/plotly.js": "<2.25.2",
"pocketmine/bedrock-protocol": "<8.0.2", "pocketmine/bedrock-protocol": "<8.0.2",
"pocketmine/pocketmine-mp": "<5.25.2", "pocketmine/pocketmine-mp": "<5.11.2",
"pocketmine/raklib": ">=0.14,<0.14.6|>=0.15,<0.15.1", "pocketmine/raklib": ">=0.14,<0.14.6|>=0.15,<0.15.1",
"pressbooks/pressbooks": "<5.18", "pressbooks/pressbooks": "<5.18",
"prestashop/autoupgrade": ">=4,<4.10.1", "prestashop/autoupgrade": ">=4,<4.10.1",
@ -1206,7 +1105,6 @@
"ptheofan/yii2-statemachine": ">=2.0.0.0-RC1-dev,<=2", "ptheofan/yii2-statemachine": ">=2.0.0.0-RC1-dev,<=2",
"ptrofimov/beanstalk_console": "<1.7.14", "ptrofimov/beanstalk_console": "<1.7.14",
"pubnub/pubnub": "<6.1", "pubnub/pubnub": "<6.1",
"punktde/pt_extbase": "<1.5.1",
"pusher/pusher-php-server": "<2.2.1", "pusher/pusher-php-server": "<2.2.1",
"pwweb/laravel-core": "<=0.3.6.0-beta", "pwweb/laravel-core": "<=0.3.6.0-beta",
"pxlrbt/filament-excel": "<1.1.14|>=2.0.0.0-alpha,<2.3.3", "pxlrbt/filament-excel": "<1.1.14|>=2.0.0.0-alpha,<2.3.3",
@ -1220,7 +1118,7 @@
"rap2hpoutre/laravel-log-viewer": "<0.13", "rap2hpoutre/laravel-log-viewer": "<0.13",
"react/http": ">=0.7,<1.9", "react/http": ">=0.7,<1.9",
"really-simple-plugins/complianz-gdpr": "<6.4.2", "really-simple-plugins/complianz-gdpr": "<6.4.2",
"redaxo/source": "<5.18.3", "redaxo/source": "<=5.18.1",
"remdex/livehelperchat": "<4.29", "remdex/livehelperchat": "<4.29",
"reportico-web/reportico": "<=8.1", "reportico-web/reportico": "<=8.1",
"rhukster/dom-sanitizer": "<1.0.7", "rhukster/dom-sanitizer": "<1.0.7",
@ -1233,18 +1131,18 @@
"s-cart/s-cart": "<6.9", "s-cart/s-cart": "<6.9",
"sabberworm/php-css-parser": ">=1,<1.0.1|>=2,<2.0.1|>=3,<3.0.1|>=4,<4.0.1|>=5,<5.0.9|>=5.1,<5.1.3|>=5.2,<5.2.1|>=6,<6.0.2|>=7,<7.0.4|>=8,<8.0.1|>=8.1,<8.1.1|>=8.2,<8.2.1|>=8.3,<8.3.1", "sabberworm/php-css-parser": ">=1,<1.0.1|>=2,<2.0.1|>=3,<3.0.1|>=4,<4.0.1|>=5,<5.0.9|>=5.1,<5.1.3|>=5.2,<5.2.1|>=6,<6.0.2|>=7,<7.0.4|>=8,<8.0.1|>=8.1,<8.1.1|>=8.2,<8.2.1|>=8.3,<8.3.1",
"sabre/dav": ">=1.6,<1.7.11|>=1.8,<1.8.9", "sabre/dav": ">=1.6,<1.7.11|>=1.8,<1.8.9",
"samwilson/unlinked-wikibase": "<1.42", "samwilson/unlinked-wikibase": "<1.39.6|>=1.40,<1.40.2|>=1.41,<1.41.1",
"scheb/two-factor-bundle": "<3.26|>=4,<4.11", "scheb/two-factor-bundle": "<3.26|>=4,<4.11",
"sensiolabs/connect": "<4.2.3", "sensiolabs/connect": "<4.2.3",
"serluck/phpwhois": "<=4.2.6", "serluck/phpwhois": "<=4.2.6",
"sfroemken/url_redirect": "<=1.2.1", "sfroemken/url_redirect": "<=1.2.1",
"sheng/yiicms": "<1.2.1", "sheng/yiicms": "<1.2.1",
"shopware/core": "<6.5.8.17-dev|>=6.6,<6.6.10.3-dev|>=6.7.0.0-RC1-dev,<6.7.0.0-RC2-dev", "shopware/core": "<=6.5.8.12|>=6.6,<=6.6.5",
"shopware/platform": "<6.5.8.17-dev|>=6.6,<6.6.10.3-dev|>=6.7.0.0-RC1-dev,<6.7.0.0-RC2-dev", "shopware/platform": "<=6.5.8.12|>=6.6,<=6.6.5",
"shopware/production": "<=6.3.5.2", "shopware/production": "<=6.3.5.2",
"shopware/shopware": "<=5.7.17", "shopware/shopware": "<=5.7.17",
"shopware/storefront": "<=6.4.8.1|>=6.5.8,<6.5.8.7-dev", "shopware/storefront": "<=6.4.8.1|>=6.5.8,<6.5.8.7-dev",
"shopxo/shopxo": "<=6.4", "shopxo/shopxo": "<=6.1",
"showdoc/showdoc": "<2.10.4", "showdoc/showdoc": "<2.10.4",
"shuchkin/simplexlsx": ">=1.0.12,<1.1.13", "shuchkin/simplexlsx": ">=1.0.12,<1.1.13",
"silverstripe-australia/advancedreports": ">=1,<=2", "silverstripe-australia/advancedreports": ">=1,<=2",
@ -1253,7 +1151,7 @@
"silverstripe/cms": "<4.11.3", "silverstripe/cms": "<4.11.3",
"silverstripe/comments": ">=1.3,<3.1.1", "silverstripe/comments": ">=1.3,<3.1.1",
"silverstripe/forum": "<=0.6.1|>=0.7,<=0.7.3", "silverstripe/forum": "<=0.6.1|>=0.7,<=0.7.3",
"silverstripe/framework": "<5.3.23", "silverstripe/framework": "<5.3.8",
"silverstripe/graphql": ">=2,<2.0.5|>=3,<3.8.2|>=4,<4.3.7|>=5,<5.1.3", "silverstripe/graphql": ">=2,<2.0.5|>=3,<3.8.2|>=4,<4.3.7|>=5,<5.1.3",
"silverstripe/hybridsessions": ">=1,<2.4.1|>=2.5,<2.5.1", "silverstripe/hybridsessions": ">=1,<2.4.1|>=2.5,<2.5.1",
"silverstripe/recipe-cms": ">=4.5,<4.5.3", "silverstripe/recipe-cms": ">=4.5,<4.5.3",
@ -1266,8 +1164,8 @@
"silverstripe/userforms": "<3|>=5,<5.4.2", "silverstripe/userforms": "<3|>=5,<5.4.2",
"silverstripe/versioned-admin": ">=1,<1.11.1", "silverstripe/versioned-admin": ">=1,<1.11.1",
"simple-updates/phpwhois": "<=1", "simple-updates/phpwhois": "<=1",
"simplesamlphp/saml2": "<=4.16.15|>=5.0.0.0-alpha1,<=5.0.0.0-alpha19", "simplesamlphp/saml2": "<4.6.14|==5.0.0.0-alpha12",
"simplesamlphp/saml2-legacy": "<=4.16.15", "simplesamlphp/saml2-legacy": "<4.6.14",
"simplesamlphp/simplesamlphp": "<1.18.6", "simplesamlphp/simplesamlphp": "<1.18.6",
"simplesamlphp/simplesamlphp-module-infocard": "<1.0.1", "simplesamlphp/simplesamlphp-module-infocard": "<1.0.1",
"simplesamlphp/simplesamlphp-module-openid": "<1", "simplesamlphp/simplesamlphp-module-openid": "<1",
@ -1276,9 +1174,7 @@
"simplesamlphp/xml-security": "==1.6.11", "simplesamlphp/xml-security": "==1.6.11",
"simplito/elliptic-php": "<1.0.6", "simplito/elliptic-php": "<1.0.6",
"sitegeist/fluid-components": "<3.5", "sitegeist/fluid-components": "<3.5",
"sjbr/sr-feuser-register": "<2.6.2",
"sjbr/sr-freecap": "<2.4.6|>=2.5,<2.5.3", "sjbr/sr-freecap": "<2.4.6|>=2.5,<2.5.3",
"sjbr/static-info-tables": "<2.3.1",
"slim/psr7": "<1.4.1|>=1.5,<1.5.1|>=1.6,<1.6.1", "slim/psr7": "<1.4.1|>=1.5,<1.5.1|>=1.6,<1.6.1",
"slim/slim": "<2.6", "slim/slim": "<2.6",
"slub/slub-events": "<3.0.3", "slub/slub-events": "<3.0.3",
@ -1306,14 +1202,13 @@
"sulu/sulu": "<1.6.44|>=2,<2.5.21|>=2.6,<2.6.5", "sulu/sulu": "<1.6.44|>=2,<2.5.21|>=2.6,<2.6.5",
"sumocoders/framework-user-bundle": "<1.4", "sumocoders/framework-user-bundle": "<1.4",
"superbig/craft-audit": "<3.0.2", "superbig/craft-audit": "<3.0.2",
"svewap/a21glossary": "<=0.4.10",
"swag/paypal": "<5.4.4", "swag/paypal": "<5.4.4",
"swiftmailer/swiftmailer": "<6.2.5", "swiftmailer/swiftmailer": "<6.2.5",
"swiftyedit/swiftyedit": "<1.2", "swiftyedit/swiftyedit": "<1.2",
"sylius/admin-bundle": ">=1,<1.0.17|>=1.1,<1.1.9|>=1.2,<1.2.2", "sylius/admin-bundle": ">=1,<1.0.17|>=1.1,<1.1.9|>=1.2,<1.2.2",
"sylius/grid": ">=1,<1.1.19|>=1.2,<1.2.18|>=1.3,<1.3.13|>=1.4,<1.4.5|>=1.5,<1.5.1", "sylius/grid": ">=1,<1.1.19|>=1.2,<1.2.18|>=1.3,<1.3.13|>=1.4,<1.4.5|>=1.5,<1.5.1",
"sylius/grid-bundle": "<1.10.1", "sylius/grid-bundle": "<1.10.1",
"sylius/paypal-plugin": "<1.6.2|>=1.7,<1.7.2|>=2,<2.0.2", "sylius/paypal-plugin": ">=1,<1.2.4|>=1.3,<1.3.1",
"sylius/resource-bundle": ">=1,<1.3.14|>=1.4,<1.4.7|>=1.5,<1.5.2|>=1.6,<1.6.4", "sylius/resource-bundle": ">=1,<1.3.14|>=1.4,<1.4.7|>=1.5,<1.5.2|>=1.6,<1.6.4",
"sylius/sylius": "<1.12.19|>=1.13.0.0-alpha1,<1.13.4", "sylius/sylius": "<1.12.19|>=1.13.0.0-alpha1,<1.13.4",
"symbiote/silverstripe-multivaluefield": ">=3,<3.1", "symbiote/silverstripe-multivaluefield": ">=3,<3.1",
@ -1359,7 +1254,7 @@
"t3/dce": "<0.11.5|>=2.2,<2.6.2", "t3/dce": "<0.11.5|>=2.2,<2.6.2",
"t3g/svg-sanitizer": "<1.0.3", "t3g/svg-sanitizer": "<1.0.3",
"t3s/content-consent": "<1.0.3|>=2,<2.0.2", "t3s/content-consent": "<1.0.3|>=2,<2.0.2",
"tastyigniter/tastyigniter": "<4", "tastyigniter/tastyigniter": "<3.3",
"tcg/voyager": "<=1.8", "tcg/voyager": "<=1.8",
"tecnickcom/tc-lib-pdf-font": "<2.6.4", "tecnickcom/tc-lib-pdf-font": "<2.6.4",
"tecnickcom/tcpdf": "<6.8", "tecnickcom/tcpdf": "<6.8",
@ -1394,7 +1289,6 @@
"typo3/cms-dashboard": ">=10,<=10.4.47|>=11,<=11.5.41|>=12,<=12.4.24|>=13,<=13.4.2", "typo3/cms-dashboard": ">=10,<=10.4.47|>=11,<=11.5.41|>=12,<=12.4.24|>=13,<=13.4.2",
"typo3/cms-extbase": "<6.2.24|>=7,<7.6.8|==8.1.1", "typo3/cms-extbase": "<6.2.24|>=7,<7.6.8|==8.1.1",
"typo3/cms-extensionmanager": ">=10,<=10.4.47|>=11,<=11.5.41|>=12,<=12.4.24|>=13,<=13.4.2", "typo3/cms-extensionmanager": ">=10,<=10.4.47|>=11,<=11.5.41|>=12,<=12.4.24|>=13,<=13.4.2",
"typo3/cms-felogin": ">=4.2,<4.2.3",
"typo3/cms-fluid": "<4.3.4|>=4.4,<4.4.1", "typo3/cms-fluid": "<4.3.4|>=4.4,<4.4.1",
"typo3/cms-form": ">=8,<=8.7.39|>=9,<=9.5.24|>=10,<=10.4.47|>=11,<=11.5.41|>=12,<=12.4.24|>=13,<=13.4.2", "typo3/cms-form": ">=8,<=8.7.39|>=9,<=9.5.24|>=10,<=10.4.47|>=11,<=11.5.41|>=12,<=12.4.24|>=13,<=13.4.2",
"typo3/cms-frontend": "<4.3.9|>=4.4,<4.4.5", "typo3/cms-frontend": "<4.3.9|>=4.4,<4.4.5",
@ -1419,24 +1313,21 @@
"uvdesk/core-framework": "<=1.1.1", "uvdesk/core-framework": "<=1.1.1",
"vanilla/safecurl": "<0.9.2", "vanilla/safecurl": "<0.9.2",
"verbb/comments": "<1.5.5", "verbb/comments": "<1.5.5",
"verbb/formie": "<=2.1.43", "verbb/formie": "<2.1.6",
"verbb/image-resizer": "<2.0.9", "verbb/image-resizer": "<2.0.9",
"verbb/knock-knock": "<1.2.8", "verbb/knock-knock": "<1.2.8",
"verot/class.upload.php": "<=2.1.6", "verot/class.upload.php": "<=2.1.6",
"vertexvaar/falsftp": "<0.2.6",
"villagedefrance/opencart-overclocked": "<=1.11.1", "villagedefrance/opencart-overclocked": "<=1.11.1",
"vova07/yii2-fileapi-widget": "<0.1.9", "vova07/yii2-fileapi-widget": "<0.1.9",
"vrana/adminer": "<4.8.1", "vrana/adminer": "<4.8.1",
"vufind/vufind": ">=2,<9.1.1", "vufind/vufind": ">=2,<9.1.1",
"waldhacker/hcaptcha": "<2.1.2", "waldhacker/hcaptcha": "<2.1.2",
"wallabag/tcpdf": "<6.2.22", "wallabag/tcpdf": "<6.2.22",
"wallabag/wallabag": "<2.6.11", "wallabag/wallabag": "<2.6.7",
"wanglelecc/laracms": "<=1.0.3", "wanglelecc/laracms": "<=1.0.3",
"wapplersystems/a21glossary": "<=0.4.10",
"web-auth/webauthn-framework": ">=3.3,<3.3.4|>=4.5,<4.9", "web-auth/webauthn-framework": ">=3.3,<3.3.4|>=4.5,<4.9",
"web-auth/webauthn-lib": ">=4.5,<4.9", "web-auth/webauthn-lib": ">=4.5,<4.9",
"web-feet/coastercms": "==5.5", "web-feet/coastercms": "==5.5",
"web-tp3/wec_map": "<3.0.3",
"webbuilders-group/silverstripe-kapost-bridge": "<0.4", "webbuilders-group/silverstripe-kapost-bridge": "<0.4",
"webcoast/deferred-image-processing": "<1.0.2", "webcoast/deferred-image-processing": "<1.0.2",
"webklex/laravel-imap": "<5.3", "webklex/laravel-imap": "<5.3",
@ -1462,15 +1353,15 @@
"xataface/xataface": "<3", "xataface/xataface": "<3",
"xpressengine/xpressengine": "<3.0.15", "xpressengine/xpressengine": "<3.0.15",
"yab/quarx": "<2.4.5", "yab/quarx": "<2.4.5",
"yeswiki/yeswiki": "<4.5.2", "yeswiki/yeswiki": "<=4.4.5",
"yetiforce/yetiforce-crm": "<6.5", "yetiforce/yetiforce-crm": "<6.5",
"yidashi/yii2cmf": "<=2", "yidashi/yii2cmf": "<=2",
"yii2mod/yii2-cms": "<1.9.2", "yii2mod/yii2-cms": "<1.9.2",
"yiisoft/yii": "<1.1.31", "yiisoft/yii": "<1.1.29",
"yiisoft/yii2": "<2.0.52", "yiisoft/yii2": "<2.0.49.4-dev",
"yiisoft/yii2-authclient": "<2.2.15", "yiisoft/yii2-authclient": "<2.2.15",
"yiisoft/yii2-bootstrap": "<2.0.4", "yiisoft/yii2-bootstrap": "<2.0.4",
"yiisoft/yii2-dev": "<=2.0.45", "yiisoft/yii2-dev": "<2.0.43",
"yiisoft/yii2-elasticsearch": "<2.0.5", "yiisoft/yii2-elasticsearch": "<2.0.5",
"yiisoft/yii2-gii": "<=2.2.4", "yiisoft/yii2-gii": "<=2.2.4",
"yiisoft/yii2-jui": "<2.0.4", "yiisoft/yii2-jui": "<2.0.4",
@ -1553,65 +1444,7 @@
"type": "tidelift" "type": "tidelift"
} }
], ],
"time": "2025-04-25T17:04:56+00:00" "time": "2025-02-14T21:04:39+00:00"
},
{
"name": "webmozart/assert",
"version": "1.11.0",
"source": {
"type": "git",
"url": "https://github.com/webmozarts/assert.git",
"reference": "11cb2199493b2f8a3b53e7f19068fc6aac760991"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/webmozarts/assert/zipball/11cb2199493b2f8a3b53e7f19068fc6aac760991",
"reference": "11cb2199493b2f8a3b53e7f19068fc6aac760991",
"shasum": ""
},
"require": {
"ext-ctype": "*",
"php": "^7.2 || ^8.0"
},
"conflict": {
"phpstan/phpstan": "<0.12.20",
"vimeo/psalm": "<4.6.1 || 4.6.2"
},
"require-dev": {
"phpunit/phpunit": "^8.5.13"
},
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "1.10-dev"
}
},
"autoload": {
"psr-4": {
"Webmozart\\Assert\\": "src/"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Bernhard Schussek",
"email": "bschussek@gmail.com"
}
],
"description": "Assertions to validate method input/output with nice error messages.",
"keywords": [
"assert",
"check",
"validate"
],
"support": {
"issues": "https://github.com/webmozarts/assert/issues",
"source": "https://github.com/webmozarts/assert/tree/1.11.0"
},
"time": "2022-06-03T18:03:27+00:00"
} }
], ],
"aliases": [], "aliases": [],

@ -43,7 +43,6 @@ OC.L10N.register(
"Import subscriptions" : "Importiere Abonnements", "Import subscriptions" : "Importiere Abonnements",
"Import OPML file" : "Importiere OPML-Datei", "Import OPML file" : "Importiere OPML-Datei",
"Rate RePod ❤️" : "Bewerte RePod ❤️", "Rate RePod ❤️" : "Bewerte RePod ❤️",
"Settings" : "Einstellungen",
"Sleep timer" : "Einschlaftimer", "Sleep timer" : "Einschlaftimer",
"Minutes" : "Minuten", "Minutes" : "Minuten",
"_%n min_::_%n mins_" : ["%n Minute","%n Minuten"], "_%n min_::_%n mins_" : ["%n Minute","%n Minuten"],

@ -41,7 +41,6 @@
"Import subscriptions" : "Importiere Abonnements", "Import subscriptions" : "Importiere Abonnements",
"Import OPML file" : "Importiere OPML-Datei", "Import OPML file" : "Importiere OPML-Datei",
"Rate RePod ❤️" : "Bewerte RePod ❤️", "Rate RePod ❤️" : "Bewerte RePod ❤️",
"Settings" : "Einstellungen",
"Sleep timer" : "Einschlaftimer", "Sleep timer" : "Einschlaftimer",
"Minutes" : "Minuten", "Minutes" : "Minuten",
"_%n min_::_%n mins_" : ["%n Minute","%n Minuten"], "_%n min_::_%n mins_" : ["%n Minute","%n Minuten"],

@ -1,66 +0,0 @@
OC.L10N.register(
"repod",
{
"RePod Subscriptions" : "اشتراک‌های ریپاد",
"Podcast" : "پادپخش",
"RePod" : "ریپاد",
"🔊 Browse, manage and listen to 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!" : "## ویژگی‌ها\n- 🔍 مرور و اشتراک در مجموعه بزرگ پادپخش‌ها\n- 🔊 گوش دادن به قسمت‌ها مستقیماً در نکست‌کلود\n- 🌐 همگام‌سازی فعالیت‌ها با [AntennaPod](https://antennapod.org/) و [برنامه‌های دیگر](https://git.crystalyx.net/Xefir/repod#clients-supporting-sync-of-gpoddersync)\n- 📱 رابط مناسب برای تلفن‌همراه\n- 📡 وارد کردن و صادر کردن اشتراک‌ها\n- ➡️ مقایسه کامل ویژگی‌ها در [اینجا](https://git.crystalyx.net/Xefir/repod#comparaison-with-similar-apps-for-nextcloud)\n\n## پیش‌نیازها\nبرای به‌کارگیری این برنامه، باید [GPodderSync](https://apps.nextcloud.com/apps/gpoddersync) نصب شده باشد!",
"Download" : "بارگیری",
"Skip to {match}" : "پرش به {match}",
"Add a RSS link" : "افزودن پیوند RSS",
"Subscribe" : "اشتراک کردن",
"Error while adding the feed" : "خطا در افزودن خوراک",
"Could not fetch search results" : "ناتوانی در دریافت یافته‌های جستجو",
"New podcasts" : "پادپخش‌های تازه",
"Hot podcasts" : "پادپخش‌های پرطرفدار",
"Could not fetch tops" : "ناتوانی در دریافت برترین‌ها",
"Copy feed" : "رونوشت خوراک",
"Link copied to the clipboard" : "پیوند به بریده‌دان رونویسی شد",
"Play" : "پخش",
"Stop" : "توقف",
"Read" : "خوانده‌شده",
"Open website" : "بازکردن وبگاه",
"Select" : "گزینش",
"Could not change the status of the episode" : "ناتوانی در تغییر وضعیت قسمت",
"Read all" : "خواندن همه",
"Unread all" : "ناخوانده کردن همه",
"Select all" : "گزینش همه",
"Unselect all" : "رد گزینش همه",
"Could not fetch episodes" : "ناتوانی در دریافت قسمت‌ها",
"_%n episode selected_::_%n episodes selected_" : ["%n قسمت گزینش شد","%n قسمت گزینش شدند"],
"Rewind 10 seconds" : "بازگرداندن ۱۰ ثانیه",
"Pause" : "مکث",
"Fast forward 30 seconds" : "پیش‌روی سریع ۳۰ ثانیه",
"Mute" : "بی‌صدا",
"Unmute" : "با صدا",
"Export subscriptions" : "صادر کردن اشتراک‌ها",
"Filtering episodes" : "پالایش قسمت‌ها",
"Show all" : "نمایش همه",
"Listened" : "گوش‌شده",
"Listening" : "در حال گوش دادن",
"Unlistened" : "شنیده نشده",
"Import subscriptions" : "وارد کردن اشتراک‌ها",
"Import OPML file" : "وارد کردن پرونده OPML",
"Rate RePod ❤️" : "امتیاز به ریپاد ❤️",
"Settings" : "تنظیمات",
"Sleep timer" : "زمان‌سنج خواب",
"Minutes" : "دقیقه",
"_%n min_::_%n mins_" : ["%n دقیقه","%n دقیقه"],
"_%n sec_::_%n secs_" : ["%n ثانیه","%n ثانیه"],
"Playback speed" : "سرعت پخش",
"Favorite" : "برگزیدن",
"Are you sure you want to delete this subscription?" : "آیا مطمئن هستید که می‌خواهید این اشتراک را پاک کنید؟",
"Error while removing the feed" : "خطا در پاک کردن خوراک",
"You can only have 10 favorites" : "فقط می‌توانید ۱۰ مورد برگزیده داشته باشید",
"Add a podcast" : "افزودن پادپخش",
"Could not fetch subscriptions" : "ناتوانی در دریافت اشتراک‌ها",
"Find a podcast" : "یافتن پادپخش",
"Error loading feed" : "خطا در بارگذاری خوراک",
"Missing required app" : "برنامه موردنیاز نیست",
"Install GPodder Sync" : "نصب GPodder Sync",
"Pin some subscriptions to see their latest updates" : "سنجاق کردن برخی اشتراک‌ها برای دیدن به‌روزرسانی‌های تازه",
"No favorites" : "بدون برگزیده",
"A browser extension conflict with RePod" : "ناسازگاری افزونه مرورگر با ریپاد"
},
"nplurals=2; plural=n > 1;");

@ -1,64 +0,0 @@
{ "translations": {
"RePod Subscriptions" : "اشتراک‌های ریپاد",
"Podcast" : "پادپخش",
"RePod" : "ریپاد",
"🔊 Browse, manage and listen to 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!" : "## ویژگی‌ها\n- 🔍 مرور و اشتراک در مجموعه بزرگ پادپخش‌ها\n- 🔊 گوش دادن به قسمت‌ها مستقیماً در نکست‌کلود\n- 🌐 همگام‌سازی فعالیت‌ها با [AntennaPod](https://antennapod.org/) و [برنامه‌های دیگر](https://git.crystalyx.net/Xefir/repod#clients-supporting-sync-of-gpoddersync)\n- 📱 رابط مناسب برای تلفن‌همراه\n- 📡 وارد کردن و صادر کردن اشتراک‌ها\n- ➡️ مقایسه کامل ویژگی‌ها در [اینجا](https://git.crystalyx.net/Xefir/repod#comparaison-with-similar-apps-for-nextcloud)\n\n## پیش‌نیازها\nبرای به‌کارگیری این برنامه، باید [GPodderSync](https://apps.nextcloud.com/apps/gpoddersync) نصب شده باشد!",
"Download" : "بارگیری",
"Skip to {match}" : "پرش به {match}",
"Add a RSS link" : "افزودن پیوند RSS",
"Subscribe" : "اشتراک کردن",
"Error while adding the feed" : "خطا در افزودن خوراک",
"Could not fetch search results" : "ناتوانی در دریافت یافته‌های جستجو",
"New podcasts" : "پادپخش‌های تازه",
"Hot podcasts" : "پادپخش‌های پرطرفدار",
"Could not fetch tops" : "ناتوانی در دریافت برترین‌ها",
"Copy feed" : "رونوشت خوراک",
"Link copied to the clipboard" : "پیوند به بریده‌دان رونویسی شد",
"Play" : "پخش",
"Stop" : "توقف",
"Read" : "خوانده‌شده",
"Open website" : "بازکردن وبگاه",
"Select" : "گزینش",
"Could not change the status of the episode" : "ناتوانی در تغییر وضعیت قسمت",
"Read all" : "خواندن همه",
"Unread all" : "ناخوانده کردن همه",
"Select all" : "گزینش همه",
"Unselect all" : "رد گزینش همه",
"Could not fetch episodes" : "ناتوانی در دریافت قسمت‌ها",
"_%n episode selected_::_%n episodes selected_" : ["%n قسمت گزینش شد","%n قسمت گزینش شدند"],
"Rewind 10 seconds" : "بازگرداندن ۱۰ ثانیه",
"Pause" : "مکث",
"Fast forward 30 seconds" : "پیش‌روی سریع ۳۰ ثانیه",
"Mute" : "بی‌صدا",
"Unmute" : "با صدا",
"Export subscriptions" : "صادر کردن اشتراک‌ها",
"Filtering episodes" : "پالایش قسمت‌ها",
"Show all" : "نمایش همه",
"Listened" : "گوش‌شده",
"Listening" : "در حال گوش دادن",
"Unlistened" : "شنیده نشده",
"Import subscriptions" : "وارد کردن اشتراک‌ها",
"Import OPML file" : "وارد کردن پرونده OPML",
"Rate RePod ❤️" : "امتیاز به ریپاد ❤️",
"Settings" : "تنظیمات",
"Sleep timer" : "زمان‌سنج خواب",
"Minutes" : "دقیقه",
"_%n min_::_%n mins_" : ["%n دقیقه","%n دقیقه"],
"_%n sec_::_%n secs_" : ["%n ثانیه","%n ثانیه"],
"Playback speed" : "سرعت پخش",
"Favorite" : "برگزیدن",
"Are you sure you want to delete this subscription?" : "آیا مطمئن هستید که می‌خواهید این اشتراک را پاک کنید؟",
"Error while removing the feed" : "خطا در پاک کردن خوراک",
"You can only have 10 favorites" : "فقط می‌توانید ۱۰ مورد برگزیده داشته باشید",
"Add a podcast" : "افزودن پادپخش",
"Could not fetch subscriptions" : "ناتوانی در دریافت اشتراک‌ها",
"Find a podcast" : "یافتن پادپخش",
"Error loading feed" : "خطا در بارگذاری خوراک",
"Missing required app" : "برنامه موردنیاز نیست",
"Install GPodder Sync" : "نصب GPodder Sync",
"Pin some subscriptions to see their latest updates" : "سنجاق کردن برخی اشتراک‌ها برای دیدن به‌روزرسانی‌های تازه",
"No favorites" : "بدون برگزیده",
"A browser extension conflict with RePod" : "ناسازگاری افزونه مرورگر با ریپاد"
},"pluralForm" :"nplurals=2; plural=n > 1;"
}

@ -43,7 +43,6 @@ OC.L10N.register(
"Import subscriptions" : "Importer les abonnements", "Import subscriptions" : "Importer les abonnements",
"Import OPML file" : "Importer un fichier OPML", "Import OPML file" : "Importer un fichier OPML",
"Rate RePod ❤️" : "Donnez votre avis ❤️", "Rate RePod ❤️" : "Donnez votre avis ❤️",
"Settings" : "Paramètres",
"Sleep timer" : "Minuteur", "Sleep timer" : "Minuteur",
"Minutes" : "Minutes", "Minutes" : "Minutes",
"_%n min_::_%n mins_" : ["%n min","%n mins"], "_%n min_::_%n mins_" : ["%n min","%n mins"],

@ -41,7 +41,6 @@
"Import subscriptions" : "Importer les abonnements", "Import subscriptions" : "Importer les abonnements",
"Import OPML file" : "Importer un fichier OPML", "Import OPML file" : "Importer un fichier OPML",
"Rate RePod ❤️" : "Donnez votre avis ❤️", "Rate RePod ❤️" : "Donnez votre avis ❤️",
"Settings" : "Paramètres",
"Sleep timer" : "Minuteur", "Sleep timer" : "Minuteur",
"Minutes" : "Minutes", "Minutes" : "Minutes",
"_%n min_::_%n mins_" : ["%n min","%n mins"], "_%n min_::_%n mins_" : ["%n min","%n mins"],

@ -1,66 +0,0 @@
OC.L10N.register(
"repod",
{
"RePod Subscriptions" : "Subskrypcje RePod",
"Podcast" : "Podkast",
"RePod" : "RePod",
"🔊 Browse, manage and listen to podcasts" : "🔊 Przeglądanie, zarządzanie i słuchanie podkastów",
"## 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!" : "## Funkcje\n- 🔍 Przeglądaj i subskrybuj ogromną kolekcję podcastów\n- 🔊 Słuchaj odcinków bezpośrednio w Nextcloud\n- 🌐 Synchronizuj swoją aktywność z [AntennaPod](https://antennapod.org/) i [innymi aplikacjami](https://git.crystalyx.net/Xefir/repod#clients-supporting-sync-of-gpoddersync)\n- 📱 Interfejs dla urządzeń mobilnych\n- 📡 Importuj i eksportuj swoje subskrypcje\n- ➡️ Pełne porównanie funkcji [tutaj](https://git.crystalyx.net/Xefir/repod#comparaison-with-similar-apps-for-nextcloud)\n\n## Wymagania\nAby korzystać z tej aplikacji, musisz mieć zainstalowany [GPodderSync](https://apps.nextcloud.com/apps/gpoddersync)!",
"Download" : "Pobierz",
"Skip to {match}" : "Skocz do {match}",
"Add a RSS link" : "Dodaj RSS z linka",
"Subscribe" : "Subskrybuj",
"Error while adding the feed" : "Błąd podczas dodawania kanału",
"Could not fetch search results" : "Nie można pobrać wyników wyszukiwania",
"New podcasts" : "Nowe podkasty",
"Hot podcasts" : "Gorące podkasty",
"Could not fetch tops" : "Nie można pobrać poleceń",
"Copy feed" : "Kopiuj kanał",
"Link copied to the clipboard" : "Link skopiowany do schowka",
"Play" : "Odtwarzaj",
"Stop" : "Stop",
"Read" : "Czytaj",
"Open website" : "Otwórz stronę",
"Select" : "Wybierz",
"Could not change the status of the episode" : "Nie można zmienić stanu odcinka",
"Read all" : "Czytaj wszystko",
"Unread all" : "Cofnij czytaj wszystko",
"Select all" : "Zaznacz wszystko",
"Unselect all" : "Odznacz wszystko",
"Could not fetch episodes" : "Nie można pobrać odcinków",
"_%n episode selected_::_%n episodes selected_" : ["%n wybrany odcinek","%n wybrane odcinki","%n wybranych odcinków"],
"Rewind 10 seconds" : "Przewiń 10 sekund",
"Pause" : "Pauza",
"Fast forward 30 seconds" : "Do przodu 30 sekund",
"Mute" : "Wycisz",
"Unmute" : "Wyłącz wyciszenie",
"Export subscriptions" : "Eksportuj subskrypcje",
"Filtering episodes" : "Filtr odcinków",
"Show all" : "Pokaż wszystko",
"Listened" : "Słuchany",
"Listening" : "Słuchanie",
"Unlistened" : "Niewysłuchane",
"Import subscriptions" : "Import subskrypcji",
"Import OPML file" : "Import pliku OPML",
"Rate RePod ❤️" : "Oceń RePod ❤️",
"Settings" : "Ustawienia",
"Sleep timer" : "Wyłącznik czasowy",
"Minutes" : "Minuty",
"_%n min_::_%n mins_" : ["%n minuta","%n minuty","%n minut"],
"_%n sec_::_%n secs_" : ["%n sekunda","%n sekundy","%n sekund"],
"Playback speed" : "Prędkość odtwarzania",
"Favorite" : "Ulubione",
"Are you sure you want to delete this subscription?" : "Czy na pewno chcesz usunąć tę subskrypcję?",
"Error while removing the feed" : "Błąd podczas usuwania kanału",
"You can only have 10 favorites" : "Możesz mieć tylko 10 ulubionych",
"Add a podcast" : "Dodaj podkast",
"Could not fetch subscriptions" : "Nie można pobrać subskrypcji",
"Find a podcast" : "Znajdź podkast",
"Error loading feed" : "Błąd ładowania kanału",
"Missing required app" : "Brak wymaganej aplikacji",
"Install GPodder Sync" : "Zainstaluj GPodder Sync",
"Pin some subscriptions to see their latest updates" : "Przypnij niektóre subskrypcje, by zobaczyć aktualizacje",
"No favorites" : "Brak ulubionych",
"A browser extension conflict with RePod" : "Konflikt rozszerzenia przeglądarki z RePod"
},
"nplurals=3; plural=n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;");

@ -1,64 +0,0 @@
{ "translations": {
"RePod Subscriptions" : "Subskrypcje RePod",
"Podcast" : "Podkast",
"RePod" : "RePod",
"🔊 Browse, manage and listen to podcasts" : "🔊 Przeglądanie, zarządzanie i słuchanie podkastów",
"## 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!" : "## Funkcje\n- 🔍 Przeglądaj i subskrybuj ogromną kolekcję podcastów\n- 🔊 Słuchaj odcinków bezpośrednio w Nextcloud\n- 🌐 Synchronizuj swoją aktywność z [AntennaPod](https://antennapod.org/) i [innymi aplikacjami](https://git.crystalyx.net/Xefir/repod#clients-supporting-sync-of-gpoddersync)\n- 📱 Interfejs dla urządzeń mobilnych\n- 📡 Importuj i eksportuj swoje subskrypcje\n- ➡️ Pełne porównanie funkcji [tutaj](https://git.crystalyx.net/Xefir/repod#comparaison-with-similar-apps-for-nextcloud)\n\n## Wymagania\nAby korzystać z tej aplikacji, musisz mieć zainstalowany [GPodderSync](https://apps.nextcloud.com/apps/gpoddersync)!",
"Download" : "Pobierz",
"Skip to {match}" : "Skocz do {match}",
"Add a RSS link" : "Dodaj RSS z linka",
"Subscribe" : "Subskrybuj",
"Error while adding the feed" : "Błąd podczas dodawania kanału",
"Could not fetch search results" : "Nie można pobrać wyników wyszukiwania",
"New podcasts" : "Nowe podkasty",
"Hot podcasts" : "Gorące podkasty",
"Could not fetch tops" : "Nie można pobrać poleceń",
"Copy feed" : "Kopiuj kanał",
"Link copied to the clipboard" : "Link skopiowany do schowka",
"Play" : "Odtwarzaj",
"Stop" : "Stop",
"Read" : "Czytaj",
"Open website" : "Otwórz stronę",
"Select" : "Wybierz",
"Could not change the status of the episode" : "Nie można zmienić stanu odcinka",
"Read all" : "Czytaj wszystko",
"Unread all" : "Cofnij czytaj wszystko",
"Select all" : "Zaznacz wszystko",
"Unselect all" : "Odznacz wszystko",
"Could not fetch episodes" : "Nie można pobrać odcinków",
"_%n episode selected_::_%n episodes selected_" : ["%n wybrany odcinek","%n wybrane odcinki","%n wybranych odcinków"],
"Rewind 10 seconds" : "Przewiń 10 sekund",
"Pause" : "Pauza",
"Fast forward 30 seconds" : "Do przodu 30 sekund",
"Mute" : "Wycisz",
"Unmute" : "Wyłącz wyciszenie",
"Export subscriptions" : "Eksportuj subskrypcje",
"Filtering episodes" : "Filtr odcinków",
"Show all" : "Pokaż wszystko",
"Listened" : "Słuchany",
"Listening" : "Słuchanie",
"Unlistened" : "Niewysłuchane",
"Import subscriptions" : "Import subskrypcji",
"Import OPML file" : "Import pliku OPML",
"Rate RePod ❤️" : "Oceń RePod ❤️",
"Settings" : "Ustawienia",
"Sleep timer" : "Wyłącznik czasowy",
"Minutes" : "Minuty",
"_%n min_::_%n mins_" : ["%n minuta","%n minuty","%n minut"],
"_%n sec_::_%n secs_" : ["%n sekunda","%n sekundy","%n sekund"],
"Playback speed" : "Prędkość odtwarzania",
"Favorite" : "Ulubione",
"Are you sure you want to delete this subscription?" : "Czy na pewno chcesz usunąć tę subskrypcję?",
"Error while removing the feed" : "Błąd podczas usuwania kanału",
"You can only have 10 favorites" : "Możesz mieć tylko 10 ulubionych",
"Add a podcast" : "Dodaj podkast",
"Could not fetch subscriptions" : "Nie można pobrać subskrypcji",
"Find a podcast" : "Znajdź podkast",
"Error loading feed" : "Błąd ładowania kanału",
"Missing required app" : "Brak wymaganej aplikacji",
"Install GPodder Sync" : "Zainstaluj GPodder Sync",
"Pin some subscriptions to see their latest updates" : "Przypnij niektóre subskrypcje, by zobaczyć aktualizacje",
"No favorites" : "Brak ulubionych",
"A browser extension conflict with RePod" : "Konflikt rozszerzenia przeglądarki z RePod"
},"pluralForm" :"nplurals=3; plural=n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;"
}

@ -4,7 +4,6 @@ declare(strict_types=1);
namespace OCA\RePod\Controller; namespace OCA\RePod\Controller;
use OCA\GPodderSync\Core\EpisodeAction\EpisodeAction;
use OCA\GPodderSync\Db\EpisodeAction\EpisodeActionRepository; use OCA\GPodderSync\Db\EpisodeAction\EpisodeActionRepository;
use OCA\RePod\AppInfo\Application; use OCA\RePod\AppInfo\Application;
use OCA\RePod\Core\EpisodeAction\EpisodeActionExtraData; use OCA\RePod\Core\EpisodeAction\EpisodeActionExtraData;
@ -16,13 +15,9 @@ use OCP\AppFramework\Http\Attribute\FrontpageRoute;
use OCP\AppFramework\Http\Attribute\NoAdminRequired; use OCP\AppFramework\Http\Attribute\NoAdminRequired;
use OCP\AppFramework\Http\Attribute\NoCSRFRequired; use OCP\AppFramework\Http\Attribute\NoCSRFRequired;
use OCP\AppFramework\Http\JSONResponse; use OCP\AppFramework\Http\JSONResponse;
use OCP\AppFramework\Http\Response;
use OCP\Http\Client\IClientService; use OCP\Http\Client\IClientService;
use OCP\IRequest; use OCP\IRequest;
/**
* @phpstan-import-type EpisodeActionType from EpisodeAction
*/
class EpisodesController extends Controller class EpisodesController extends Controller
{ {
public function __construct( public function __construct(
@ -35,13 +30,10 @@ class EpisodesController extends Controller
parent::__construct(Application::APP_ID, $request); parent::__construct(Application::APP_ID, $request);
} }
/**
* @return JSONResponse<Http::STATUS_*, array<int, EpisodeActionExtraData>, array{}>
*/
#[NoAdminRequired] #[NoAdminRequired]
#[NoCSRFRequired] #[NoCSRFRequired]
#[FrontpageRoute(verb: 'GET', url: '/episodes/list')] #[FrontpageRoute(verb: 'GET', url: '/episodes/list')]
public function list(string $url): Response { public function list(string $url): JSONResponse {
$client = $this->clientService->newClient(); $client = $this->clientService->newClient();
$feed = $client->get($url); $feed = $client->get($url);
$episodes = $this->episodeActionReader->parseRssXml((string) $feed->getBody()); $episodes = $this->episodeActionReader->parseRssXml((string) $feed->getBody());
@ -54,13 +46,10 @@ class EpisodesController extends Controller
return new JSONResponse($episodes, $returnStatusCode); return new JSONResponse($episodes, $returnStatusCode);
} }
/**
* @phpstan-ignore missingType.generics
*/
#[NoAdminRequired] #[NoAdminRequired]
#[NoCSRFRequired] #[NoCSRFRequired]
#[FrontpageRoute(verb: 'GET', url: '/episodes/action')] #[FrontpageRoute(verb: 'GET', url: '/episodes/action')]
public function action(string $url): Response { public function action(string $url): JSONResponse {
$action = $this->episodeActionRepository->findByEpisodeUrl($url, $this->userService->getUserUID()); $action = $this->episodeActionRepository->findByEpisodeUrl($url, $this->userService->getUserUID());
if ($action) { if ($action) {

@ -10,7 +10,6 @@ use OCA\GPodderSync\Core\SubscriptionChange\SubscriptionChangeSaver;
use OCA\RePod\AppInfo\Application; use OCA\RePod\AppInfo\Application;
use OCA\RePod\Service\UserService; use OCA\RePod\Service\UserService;
use OCP\AppFramework\Controller; use OCP\AppFramework\Controller;
use OCP\AppFramework\Http;
use OCP\AppFramework\Http\Attribute\FrontpageRoute; use OCP\AppFramework\Http\Attribute\FrontpageRoute;
use OCP\AppFramework\Http\Attribute\NoAdminRequired; use OCP\AppFramework\Http\Attribute\NoAdminRequired;
use OCP\AppFramework\Http\Attribute\NoCSRFRequired; use OCP\AppFramework\Http\Attribute\NoCSRFRequired;
@ -32,13 +31,10 @@ class OpmlController extends Controller
parent::__construct(Application::APP_ID, $request); parent::__construct(Application::APP_ID, $request);
} }
/**
* @return DataDownloadResponse<Http::STATUS_OK, 'application/xml', array{}>
*/
#[NoAdminRequired] #[NoAdminRequired]
#[NoCSRFRequired] #[NoCSRFRequired]
#[FrontpageRoute(verb: 'GET', url: '/opml/export')] #[FrontpageRoute(verb: 'GET', url: '/opml/export')]
public function export(): Response { public function export(): DataDownloadResponse {
// https://github.com/AntennaPod/AntennaPod/blob/master/core/src/main/java/de/danoeh/antennapod/core/export/opml/OpmlWriter.java // https://github.com/AntennaPod/AntennaPod/blob/master/core/src/main/java/de/danoeh/antennapod/core/export/opml/OpmlWriter.java
$xml = new \SimpleXMLElement('<opml/>', namespaceOrPrefix: 'http://xmlpull.org/v1/doc/features.html#indent-output'); $xml = new \SimpleXMLElement('<opml/>', namespaceOrPrefix: 'http://xmlpull.org/v1/doc/features.html#indent-output');
$xml->addAttribute('version', '2.0'); $xml->addAttribute('version', '2.0');
@ -88,9 +84,6 @@ class OpmlController extends Controller
return new DataDownloadResponse((string) $xml->asXML(), 'repod-'.$dateCreated->getTimestamp().'.opml', ' application/xml'); return new DataDownloadResponse((string) $xml->asXML(), 'repod-'.$dateCreated->getTimestamp().'.opml', ' application/xml');
} }
/**
* @return Response<Http::STATUS_OK, array{}>
*/
#[NoAdminRequired] #[NoAdminRequired]
#[NoCSRFRequired] #[NoCSRFRequired]
#[FrontpageRoute(verb: 'POST', url: '/opml/import')] #[FrontpageRoute(verb: 'POST', url: '/opml/import')]

@ -6,12 +6,10 @@ namespace OCA\RePod\Controller;
use OCA\RePod\AppInfo\Application; use OCA\RePod\AppInfo\Application;
use OCP\AppFramework\Controller; use OCP\AppFramework\Controller;
use OCP\AppFramework\Http;
use OCP\AppFramework\Http\Attribute\FrontpageRoute; use OCP\AppFramework\Http\Attribute\FrontpageRoute;
use OCP\AppFramework\Http\Attribute\NoAdminRequired; use OCP\AppFramework\Http\Attribute\NoAdminRequired;
use OCP\AppFramework\Http\Attribute\NoCSRFRequired; use OCP\AppFramework\Http\Attribute\NoCSRFRequired;
use OCP\AppFramework\Http\ContentSecurityPolicy; use OCP\AppFramework\Http\ContentSecurityPolicy;
use OCP\AppFramework\Http\Response;
use OCP\AppFramework\Http\TemplateResponse; use OCP\AppFramework\Http\TemplateResponse;
use OCP\IRequest; use OCP\IRequest;
@ -23,13 +21,10 @@ class PageController extends Controller
parent::__construct(Application::APP_ID, $request); parent::__construct(Application::APP_ID, $request);
} }
/**
* @return TemplateResponse<Http::STATUS_OK, array{}>
*/
#[NoAdminRequired] #[NoAdminRequired]
#[NoCSRFRequired] #[NoCSRFRequired]
#[FrontpageRoute(verb: 'GET', url: '/')] #[FrontpageRoute(verb: 'GET', url: '/')]
public function index(): Response { public function index(): TemplateResponse {
$csp = new ContentSecurityPolicy(); $csp = new ContentSecurityPolicy();
$csp->addAllowedImageDomain('*'); $csp->addAllowedImageDomain('*');
$csp->addAllowedMediaDomain('*'); $csp->addAllowedMediaDomain('*');
@ -40,23 +35,17 @@ class PageController extends Controller
return $response; return $response;
} }
/**
* @return TemplateResponse<Http::STATUS_OK, array{}>
*/
#[NoAdminRequired] #[NoAdminRequired]
#[NoCSRFRequired] #[NoCSRFRequired]
#[FrontpageRoute(verb: 'GET', url: '/discover')] #[FrontpageRoute(verb: 'GET', url: '/discover')]
public function discover(): Response { public function discover(): TemplateResponse {
return $this->index(); return $this->index();
} }
/**
* @return TemplateResponse<Http::STATUS_OK, array{}>
*/
#[NoAdminRequired] #[NoAdminRequired]
#[NoCSRFRequired] #[NoCSRFRequired]
#[FrontpageRoute(verb: 'GET', url: '/feed/{path}', requirements: ['path' => '.+'])] #[FrontpageRoute(verb: 'GET', url: '/feed/{path}', requirements: ['path' => '.+'])]
public function feed(): Response { public function feed(): TemplateResponse {
return $this->index(); return $this->index();
} }
} }

@ -13,7 +13,6 @@ use OCP\AppFramework\Http\Attribute\FrontpageRoute;
use OCP\AppFramework\Http\Attribute\NoAdminRequired; use OCP\AppFramework\Http\Attribute\NoAdminRequired;
use OCP\AppFramework\Http\Attribute\NoCSRFRequired; use OCP\AppFramework\Http\Attribute\NoCSRFRequired;
use OCP\AppFramework\Http\JSONResponse; use OCP\AppFramework\Http\JSONResponse;
use OCP\AppFramework\Http\Response;
use OCP\Http\Client\IClientService; use OCP\Http\Client\IClientService;
use OCP\ICacheFactory; use OCP\ICacheFactory;
use OCP\IRequest; use OCP\IRequest;
@ -29,13 +28,10 @@ class PodcastController extends Controller
parent::__construct(Application::APP_ID, $request); parent::__construct(Application::APP_ID, $request);
} }
/**
* @phpstan-ignore missingType.generics
*/
#[NoAdminRequired] #[NoAdminRequired]
#[NoCSRFRequired] #[NoCSRFRequired]
#[FrontpageRoute(verb: 'GET', url: '/podcast')] #[FrontpageRoute(verb: 'GET', url: '/podcast')]
public function index(string $url): Response { public function index(string $url): JSONResponse {
$podcast = null; $podcast = null;
if ($this->cacheFactory->isLocalCacheAvailable()) { if ($this->cacheFactory->isLocalCacheAvailable()) {

@ -4,16 +4,13 @@ declare(strict_types=1);
namespace OCA\RePod\Controller; namespace OCA\RePod\Controller;
use OCA\GPodderSync\Core\PodcastData\PodcastData;
use OCA\RePod\AppInfo\Application; use OCA\RePod\AppInfo\Application;
use OCA\RePod\Service\MultiPodService; use OCA\RePod\Service\MultiPodService;
use OCP\AppFramework\Controller; use OCP\AppFramework\Controller;
use OCP\AppFramework\Http;
use OCP\AppFramework\Http\Attribute\FrontpageRoute; use OCP\AppFramework\Http\Attribute\FrontpageRoute;
use OCP\AppFramework\Http\Attribute\NoAdminRequired; use OCP\AppFramework\Http\Attribute\NoAdminRequired;
use OCP\AppFramework\Http\Attribute\NoCSRFRequired; use OCP\AppFramework\Http\Attribute\NoCSRFRequired;
use OCP\AppFramework\Http\JSONResponse; use OCP\AppFramework\Http\JSONResponse;
use OCP\AppFramework\Http\Response;
use OCP\IRequest; use OCP\IRequest;
class SearchController extends Controller class SearchController extends Controller
@ -25,13 +22,10 @@ class SearchController extends Controller
parent::__construct(Application::APP_ID, $request); parent::__construct(Application::APP_ID, $request);
} }
/**
* @return JSONResponse<Http::STATUS_OK, PodcastData[], array{}>
*/
#[NoAdminRequired] #[NoAdminRequired]
#[NoCSRFRequired] #[NoCSRFRequired]
#[FrontpageRoute(verb: 'GET', url: '/search')] #[FrontpageRoute(verb: 'GET', url: '/search')]
public function index(string $q): Response { public function index(string $q): JSONResponse {
return new JSONResponse($this->multiPodService->search($q)); return new JSONResponse($this->multiPodService->search($q));
} }
} }

@ -4,16 +4,13 @@ declare(strict_types=1);
namespace OCA\RePod\Controller; namespace OCA\RePod\Controller;
use OCA\GPodderSync\Core\PodcastData\PodcastData;
use OCA\RePod\AppInfo\Application; use OCA\RePod\AppInfo\Application;
use OCA\RePod\Service\FyydService; use OCA\RePod\Service\FyydService;
use OCP\AppFramework\Controller; use OCP\AppFramework\Controller;
use OCP\AppFramework\Http;
use OCP\AppFramework\Http\Attribute\FrontpageRoute; use OCP\AppFramework\Http\Attribute\FrontpageRoute;
use OCP\AppFramework\Http\Attribute\NoAdminRequired; use OCP\AppFramework\Http\Attribute\NoAdminRequired;
use OCP\AppFramework\Http\Attribute\NoCSRFRequired; use OCP\AppFramework\Http\Attribute\NoCSRFRequired;
use OCP\AppFramework\Http\JSONResponse; use OCP\AppFramework\Http\JSONResponse;
use OCP\AppFramework\Http\Response;
use OCP\IRequest; use OCP\IRequest;
class ToplistController extends Controller class ToplistController extends Controller
@ -25,23 +22,17 @@ class ToplistController extends Controller
parent::__construct(Application::APP_ID, $request); parent::__construct(Application::APP_ID, $request);
} }
/**
* @return JSONResponse<Http::STATUS_OK, PodcastData[], array{}>
*/
#[NoAdminRequired] #[NoAdminRequired]
#[NoCSRFRequired] #[NoCSRFRequired]
#[FrontpageRoute(verb: 'GET', url: '/toplist/hot')] #[FrontpageRoute(verb: 'GET', url: '/toplist/hot')]
public function hot(): Response { public function hot(): JSONResponse {
return new JSONResponse($this->fyydService->hot()); return new JSONResponse($this->fyydService->hot());
} }
/**
* @return JSONResponse<Http::STATUS_OK, PodcastData[], array{}>
*/
#[NoAdminRequired] #[NoAdminRequired]
#[NoCSRFRequired] #[NoCSRFRequired]
#[FrontpageRoute(verb: 'GET', url: '/toplist/new')] #[FrontpageRoute(verb: 'GET', url: '/toplist/new')]
public function new(): Response { public function new(): JSONResponse {
return new JSONResponse($this->fyydService->latest()); return new JSONResponse($this->fyydService->latest());
} }
} }

2398
package-lock.json generated

File diff suppressed because it is too large Load Diff

@ -16,33 +16,33 @@
], ],
"prettier": "@nextcloud/prettier-config", "prettier": "@nextcloud/prettier-config",
"dependencies": { "dependencies": {
"@formatjs/intl-segmenter": "^11.7.9",
"@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.2.0", "@nextcloud/l10n": "~3.1.0",
"@nextcloud/router": "^3.0.1", "@nextcloud/router": "^3.0.1",
"@nextcloud/vite-config": "^2.3.3", "@nextcloud/vite-config": "^2.3.1",
"@nextcloud/vue": "~9.0.0-rc.0", "@nextcloud/vue": "9.0.0-alpha.6",
"dompurify": "^3.2.5", "dompurify": "^3.2.4",
"linkify-html": "^4.2.0", "linkify-html": "^4.2.0",
"pinia": "^3.0.2", "pinia": "^3.0.1",
"toastify-js": "^1.12.0", "toastify-js": "^1.12.0",
"vite": "^6.3.4", "vite": "^6.1.0",
"vue": "^3.5.13", "vue": "^3.5.13",
"vue-material-design-icons": "^5.3.1", "vue-material-design-icons": "^5.3.1",
"vue-router": "^4.5.1" "vue-router": "^4.5.0"
}, },
"devDependencies": { "devDependencies": {
"@nextcloud/browserslist-config": "^3.0.1", "@nextcloud/browserslist-config": "^3.0.1",
"@nextcloud/eslint-config": "^8.4.2", "@nextcloud/eslint-config": "^8.4.1",
"@nextcloud/prettier-config": "^1.2.0", "@nextcloud/prettier-config": "^1.1.0",
"@nextcloud/stylelint-config": "^3.0.1", "@nextcloud/stylelint-config": "^3.0.1",
"@types/node": "~20.17.32",
"@types/toastify-js": "^1.12.3", "@types/toastify-js": "^1.12.3",
"@vue/tsconfig": "^0.7.0", "@vue/tsconfig": "^0.7.0",
"eslint-config-prettier": "^10.1.2", "eslint-config-prettier": "^10.0.1",
"eslint-plugin-pinia": "^0.4.1", "eslint-plugin-pinia": "^0.4.1",
"eslint-plugin-prettier": "^5.2.6", "eslint-plugin-prettier": "^5.2.3",
"typescript": "~5.5.4", "typescript": "~5.5.4",
"vue-tsc": "^2.2.10" "vue-tsc": "^2.2.2"
} }
} }

@ -2,5 +2,5 @@ parameters:
level: 9 level: 9
paths: paths:
- lib - lib
includes: ignoreErrors:
- vendor/phpstan/phpstan-deprecation-rules/rules.neon - '#Method [a-zA-Z0-9:\(\)\\_]+ return type with generic class OCP\\AppFramework\\Http\\[a-zA-Z]+ does not specify its types#'

@ -27,5 +27,7 @@ return RectorConfig::configure()
doctrineCodeQuality: true, doctrineCodeQuality: true,
symfonyCodeQuality: true, symfonyCodeQuality: true,
symfonyConfigs: true, symfonyConfigs: true,
twig: true,
phpunit: true,
) )
; ;

@ -1,9 +1,6 @@
<template> <template>
<NcAppNavigation :class="{ episode }"> <NcAppNavigation :class="{ episode }">
<slot /> <slot />
<template #search>
<slot name="search" />
</template>
<template #list> <template #list>
<slot name="list" /> <slot name="list" />
</template> </template>
@ -34,9 +31,3 @@ export default {
padding-bottom: 6rem; padding-bottom: 6rem;
} }
</style> </style>
<style>
#app-navigation-vue .app-navigation__body {
overflow-y: hidden;
}
</style>

@ -19,7 +19,7 @@
:title="t('repod', 'Play')" :title="t('repod', 'Play')"
@click="load(episode, url)"> @click="load(episode, url)">
<template #icon> <template #icon>
<PlayIcon class="pointer" :size="20" /> <PlayIcon :size="20" />
</template> </template>
</NcActionButton> </NcActionButton>
<NcActionButton <NcActionButton
@ -28,7 +28,7 @@
:title="t('repod', 'Stop')" :title="t('repod', 'Stop')"
@click="load(null)"> @click="load(null)">
<template #icon> <template #icon>
<StopIcon class="pointer" :size="20" /> <StopIcon :size="20" />
</template> </template>
</NcActionButton> </NcActionButton>
</template> </template>
@ -69,10 +69,7 @@
</NcActionLink> </NcActionLink>
</template> </template>
<template #extra> <template #extra>
<NcModal <NcModal v-if="modalEpisode" @close="modalEpisode = null">
v-if="modalEpisode"
:close-on-click-outside="true"
@close="modalEpisode = null">
<Modal :episode="episode" /> <Modal :episode="episode" />
</NcModal> </NcModal>
</template> </template>
@ -99,8 +96,8 @@
{{ episode.duration }} {{ episode.duration }}
</div> </div>
</template> </template>
<template v-if="!oneLine" #subname> <template #subname>
{{ episode.author }} {{ !oneLine ? episode.author : '' }}
</template> </template>
</NcListItem> </NcListItem>
</template> </template>
@ -214,10 +211,6 @@ export default {
display: flex; display: flex;
gap: 1rem; gap: 1rem;
} }
.pointer {
cursor: pointer;
}
</style> </style>
<style> <style>

@ -174,8 +174,8 @@ export default {
) )
this.episodes = [...episodes.data].sort( this.episodes = [...episodes.data].sort(
(a: EpisodeInterface, b: EpisodeInterface) => (a: EpisodeInterface, b: EpisodeInterface) =>
new Date(b.pubDate?.date || '').getTime() new Date(b.pubDate?.date || '').getTime() -
- new Date(a.pubDate?.date || '').getTime(), new Date(a.pubDate?.date || '').getTime(),
) )
} catch (e) { } catch (e) {
console.error(e) console.error(e)

@ -64,8 +64,8 @@ export default {
this.episodes = [...episodes.data] this.episodes = [...episodes.data]
.sort( .sort(
(a: EpisodeInterface, b: EpisodeInterface) => (a: EpisodeInterface, b: EpisodeInterface) =>
new Date(b.pubDate?.date || '').getTime() new Date(b.pubDate?.date || '').getTime() -
- new Date(a.pubDate?.date || '').getTime(), new Date(a.pubDate?.date || '').getTime(),
) )
.filter((episode: EpisodeInterface) => !this.hasEnded(episode)) .filter((episode: EpisodeInterface) => !this.hasEnded(episode))
.slice(0, 4) .slice(0, 4)

@ -6,7 +6,7 @@
<router-link :to="toFeedUrl(podcastUrl)"> <router-link :to="toFeedUrl(podcastUrl)">
<i>{{ episode.title }}</i> <i>{{ episode.title }}</i>
</router-link> </router-link>
<NcModal v-if="modal" :close-on-click-outside="true" @close="modal = false"> <NcModal v-if="modal" @close="modal = false">
<Modal :episode="episode" /> <Modal :episode="episode" />
</NcModal> </NcModal>
</div> </div>

@ -58,9 +58,9 @@ export default {
...mapState(useSettings, ['filters']), ...mapState(useSettings, ['filters']),
all() { all() {
return ( return (
this.filters.listened this.filters.listened &&
&& this.filters.listening this.filters.listening &&
&& this.filters.unlistened this.filters.unlistened
) )
}, },
}, },

@ -1,5 +1,5 @@
<template> <template>
<NcAppNavigationSettings :name="t('repod', 'Settings')"> <NcAppNavigationSettings>
<Filters /> <Filters />
<Sleep /> <Sleep />
<Speed /> <Speed />
@ -17,7 +17,6 @@ import { NcAppNavigationSettings } from '@nextcloud/vue'
import Rate from './Rate.vue' import Rate from './Rate.vue'
import Sleep from './Sleep.vue' import Sleep from './Sleep.vue'
import Speed from './Speed.vue' import Speed from './Speed.vue'
import { t } from '@nextcloud/l10n'
export default { export default {
name: 'Settings', name: 'Settings',
@ -30,8 +29,5 @@ export default {
Sleep, Sleep,
Speed, Speed,
}, },
methods: {
t,
},
} }
</script> </script>

@ -1,5 +1,7 @@
<template> <template>
<AppNavigation> <AppNavigation>
<template #list>
<NcAppContentList>
<router-link to="/discover"> <router-link to="/discover">
<NcAppNavigationNew :text="t('repod', 'Add a podcast')"> <NcAppNavigationNew :text="t('repod', 'Add a podcast')">
<template #icon> <template #icon>
@ -8,34 +10,17 @@
</NcAppNavigationNew> </NcAppNavigationNew>
</router-link> </router-link>
<Loading v-if="loading" /> <Loading v-if="loading" />
<template #search> <NcAppNavigationList v-if="!loading">
<NcAppNavigationSearch
v-model="searchValue"
:label="t(`core`, 'Filter in current view')" />
</template>
<template v-if="!loading" #list>
<Subscription <Subscription
v-for="sub of subs.filter( v-for="sub of subs.filter((sub) => sub.isFavorite)"
(sub) =>
sub.isFavorite
&& (sub.data?.title
.toLowerCase()
.includes(searchValue.toLowerCase())
|| !searchValue),
)"
:key="sub.metrics.url" :key="sub.metrics.url"
:url="sub.metrics.url" /> :url="sub.metrics.url" />
<Subscription <Subscription
v-for="sub of subs.filter( v-for="sub of subs.filter((sub) => !sub.isFavorite)"
(sub) =>
!sub.isFavorite
&& (sub.data?.title
.toLowerCase()
.includes(searchValue.toLowerCase())
|| !searchValue),
)"
:key="sub.metrics.url" :key="sub.metrics.url"
:url="sub.metrics.url" /> :url="sub.metrics.url" />
</NcAppNavigationList>
</NcAppContentList>
</template> </template>
<template #footer> <template #footer>
<Settings /> <Settings />
@ -44,7 +29,11 @@
</template> </template>
<script lang="ts"> <script lang="ts">
import { NcAppNavigationNew, NcAppNavigationSearch } from '@nextcloud/vue' import {
NcAppContentList,
NcAppNavigationList,
NcAppNavigationNew,
} from '@nextcloud/vue'
import { mapActions, mapState } from 'pinia' import { mapActions, mapState } from 'pinia'
import AppNavigation from '../Atoms/AppNavigation.vue' import AppNavigation from '../Atoms/AppNavigation.vue'
import Loading from '../Atoms/Loading.vue' import Loading from '../Atoms/Loading.vue'
@ -60,15 +49,15 @@ export default {
components: { components: {
AppNavigation, AppNavigation,
Loading, Loading,
NcAppContentList,
NcAppNavigationList,
NcAppNavigationNew, NcAppNavigationNew,
NcAppNavigationSearch,
PlusIcon, PlusIcon,
Settings, Settings,
Subscription, Subscription,
}, },
data: () => ({ data: () => ({
loading: true, loading: true,
searchValue: '',
}), }),
computed: { computed: {
...mapState(useSubscriptions, ['subs']), ...mapState(useSubscriptions, ['subs']),

@ -1,3 +1,4 @@
import '@formatjs/intl-segmenter/polyfill'
import App from './App.vue' import App from './App.vue'
import { createApp } from 'vue' import { createApp } from 'vue'
import { createPinia } from 'pinia' import { createPinia } from 'pinia'

@ -95,8 +95,8 @@ export const usePlayer = defineStore('player', {
} catch {} } catch {}
if ( if (
this.episode.action this.episode.action &&
&& this.episode.action.position < this.episode.action.total this.episode.action.position < this.episode.action.total
) { ) {
audio.currentTime = this.episode.action.position audio.currentTime = this.episode.action.position
this.started = audio.currentTime this.started = audio.currentTime

@ -2,8 +2,8 @@
export const humanFileSize = (size: number) => { export const humanFileSize = (size: number) => {
const i = size === 0 ? 0 : Math.floor(Math.log(size) / Math.log(1024)) const i = size === 0 ? 0 : Math.floor(Math.log(size) / Math.log(1024))
return ( return (
(size / Math.pow(1024, i)).toFixed(2) (size / Math.pow(1024, i)).toFixed(2) +
+ ' ' ' ' +
+ ['B', 'kB', 'MB', 'GB', 'TB'][i] ['B', 'kB', 'MB', 'GB', 'TB'][i]
) )
} }

@ -2,19 +2,19 @@ import { durationToSeconds, formatEpisodeTimestamp } from './time'
import type { EpisodeInterface } from './types' import type { EpisodeInterface } from './types'
export const hasEnded = (episode: EpisodeInterface) => export const hasEnded = (episode: EpisodeInterface) =>
episode.action episode.action &&
&& episode.action.action episode.action.action &&
&& (episode.action.action.toLowerCase() === 'delete' (episode.action.action.toLowerCase() === 'delete' ||
|| (episode.action.position > 0 (episode.action.position > 0 &&
&& episode.action.total > 0 episode.action.total > 0 &&
&& episode.action.position >= episode.action.total)) episode.action.position >= episode.action.total))
export const isListening = (episode: EpisodeInterface) => export const isListening = (episode: EpisodeInterface) =>
episode.action episode.action &&
&& episode.action.action episode.action.action &&
&& episode.action.action.toLowerCase() === 'play' episode.action.action.toLowerCase() === 'play' &&
&& episode.action.position > 0 episode.action.position > 0 &&
&& !hasEnded(episode) !hasEnded(episode)
export const markAs = (episode: EpisodeInterface, read: boolean, url: string) => { export const markAs = (episode: EpisodeInterface, read: boolean, url: string) => {
episode.action = { episode.action = {

@ -2,15 +2,15 @@
# 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. # OiledAmoeba <florian+crystalyx@ruhnke.cloud>, 2024.
# Michel Roux <xefir@crystalyx.net>, 2024, 2025. # Michel Roux <xefir@crystalyx.net>, 2024.
# markus phi <repodtranslate@solinetcafe.org>, 2024, 2025. # markus phi <repodtranslate@solinetcafe.org>, 2024, 2025.
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"
"POT-Creation-Date: 2025-04-23 21:17+0000\n" "POT-Creation-Date: 2025-02-15 19:42+0000\n"
"PO-Revision-Date: 2025-04-23 21:19+0000\n" "PO-Revision-Date: 2025-01-04 19:02+0000\n"
"Last-Translator: Michel Roux <xefir@crystalyx.net>\n" "Last-Translator: markus phi <repodtranslate@solinetcafe.org>\n"
"Language-Team: German <https://translate.crystalyx.net/projects/repod/gitea/" "Language-Team: German <https://translate.crystalyx.net/projects/repod/gitea/"
"de/>\n" "de/>\n"
"Language: de\n" "Language: de\n"
@ -18,9 +18,9 @@ msgstr ""
"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" "Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Generator: Weblate 5.11\n" "X-Generator: Weblate 5.9.2\n"
#: /app/lib/Controller/OpmlController.php:50 #: /app/lib/Controller/OpmlController.php:46
msgid "RePod Subscriptions" msgid "RePod Subscriptions"
msgstr "RePod Abonnements" msgstr "RePod Abonnements"
@ -58,8 +58,8 @@ 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://" "- 🌐 Synchronisiere deine Aktivität mit [AntennaPod](https://antennapod."
"antennapod.org/)\n" "org/)\n"
"- 📱 Handy-freundliche Schnittstelle\n" "- 📱 Handy-freundliche Schnittstelle\n"
"- 📡 Importieren und Exportieren Ihrer Abonnements\n" "- 📡 Importieren und Exportieren Ihrer Abonnements\n"
"- ➡️ Vollständiger Funktionsvergleich [hier](https://git.crystalyx.net/Xefir/" "- ➡️ Vollständiger Funktionsvergleich [hier](https://git.crystalyx.net/Xefir/"
@ -153,6 +153,7 @@ msgstr "Kann den Status der Folge nicht ändern"
#: /app/specialVueFakeDummyForL10nScript.js:29 #: /app/specialVueFakeDummyForL10nScript.js:29
#: /app/specialVueFakeDummyForL10nScript.js:30 #: /app/specialVueFakeDummyForL10nScript.js:30
#: /app/specialVueFakeDummyForL10nScript.js:31 #: /app/specialVueFakeDummyForL10nScript.js:31
#, fuzzy
msgid "Read all" msgid "Read all"
msgstr "Alles lesen" msgstr "Alles lesen"
@ -240,81 +241,76 @@ msgid "Rate RePod ❤️"
msgstr "Bewerte RePod ❤️" msgstr "Bewerte RePod ❤️"
#: /app/specialVueFakeDummyForL10nScript.js:58 #: /app/specialVueFakeDummyForL10nScript.js:58
#, fuzzy
msgid "Settings"
msgstr "Einstellungen"
#: /app/specialVueFakeDummyForL10nScript.js:59
msgid "Sleep timer" msgid "Sleep timer"
msgstr "Einschlaftimer" msgstr "Einschlaftimer"
#: /app/specialVueFakeDummyForL10nScript.js:60 #: /app/specialVueFakeDummyForL10nScript.js:59
msgid "Minutes" msgid "Minutes"
msgstr "Minuten" msgstr "Minuten"
#: /app/specialVueFakeDummyForL10nScript.js:61 #: /app/specialVueFakeDummyForL10nScript.js:60
msgid "%n min" msgid "%n min"
msgid_plural "%n mins" msgid_plural "%n mins"
msgstr[0] "%n Minute" msgstr[0] "%n Minute"
msgstr[1] "%n Minuten" msgstr[1] "%n Minuten"
#: /app/specialVueFakeDummyForL10nScript.js:62 #: /app/specialVueFakeDummyForL10nScript.js:61
msgid "%n sec" msgid "%n sec"
msgid_plural "%n secs" msgid_plural "%n secs"
msgstr[0] "%n sec" msgstr[0] "%n sec"
msgstr[1] "%n secs" msgstr[1] "%n secs"
#: /app/specialVueFakeDummyForL10nScript.js:63 #: /app/specialVueFakeDummyForL10nScript.js:62
msgid "Playback speed" msgid "Playback speed"
msgstr "Wiedergabegeschwindigkeit" msgstr "Wiedergabegeschwindigkeit"
#: /app/specialVueFakeDummyForL10nScript.js:63
#: /app/specialVueFakeDummyForL10nScript.js:64 #: /app/specialVueFakeDummyForL10nScript.js:64
#: /app/specialVueFakeDummyForL10nScript.js:65 #: /app/specialVueFakeDummyForL10nScript.js:65
#: /app/specialVueFakeDummyForL10nScript.js:66
msgid "Favorite" msgid "Favorite"
msgstr "Favorit" msgstr "Favorit"
#: /app/specialVueFakeDummyForL10nScript.js:67 #: /app/specialVueFakeDummyForL10nScript.js:66
msgid "Are you sure you want to delete this subscription?" msgid "Are you sure you want to delete this subscription?"
msgstr "Bist Du sicher, dass Du das Abonnement löschen möchtest?" msgstr "Bist Du sicher, dass Du das Abonnement löschen möchtest?"
#: /app/specialVueFakeDummyForL10nScript.js:68 #: /app/specialVueFakeDummyForL10nScript.js:67
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"
#: /app/specialVueFakeDummyForL10nScript.js:69 #: /app/specialVueFakeDummyForL10nScript.js:68
msgid "You can only have 10 favorites" msgid "You can only have 10 favorites"
msgstr "Du kannst nur max. 10 Favoriten haben" msgstr "Du kannst nur max. 10 Favoriten haben"
#: /app/specialVueFakeDummyForL10nScript.js:70 #: /app/specialVueFakeDummyForL10nScript.js:69
msgid "Add a podcast" msgid "Add a podcast"
msgstr "Einen Podcast hinzufügen" msgstr "Einen Podcast hinzufügen"
#: /app/specialVueFakeDummyForL10nScript.js:71 #: /app/specialVueFakeDummyForL10nScript.js:70
msgid "Could not fetch subscriptions" msgid "Could not fetch subscriptions"
msgstr "Abonnements können nicht abgerufen werden" msgstr "Abonnements können nicht abgerufen werden"
#: /app/specialVueFakeDummyForL10nScript.js:72 #: /app/specialVueFakeDummyForL10nScript.js:71
msgid "Find a podcast" msgid "Find a podcast"
msgstr "Finde einen Podcast" msgstr "Finde einen Podcast"
#: /app/specialVueFakeDummyForL10nScript.js:73 #: /app/specialVueFakeDummyForL10nScript.js:72
msgid "Error loading feed" msgid "Error loading feed"
msgstr "Fehler beim Laden des Feeds" msgstr "Fehler beim Laden des Feeds"
#: /app/specialVueFakeDummyForL10nScript.js:74 #: /app/specialVueFakeDummyForL10nScript.js:73
msgid "Missing required app" msgid "Missing required app"
msgstr "Benötigte App fehlt" msgstr "Benötigte App fehlt"
#: /app/specialVueFakeDummyForL10nScript.js:75 #: /app/specialVueFakeDummyForL10nScript.js:74
msgid "Install GPodder Sync" msgid "Install GPodder Sync"
msgstr "Installiere GPodder Sync" msgstr "Installiere GPodder Sync"
#: /app/specialVueFakeDummyForL10nScript.js:76 #: /app/specialVueFakeDummyForL10nScript.js:75
msgid "Pin some subscriptions to see their latest updates" msgid "Pin some subscriptions to see their latest updates"
msgstr "Markiere Abonnements, um die neuesten Updates zu sehen" msgstr "Markiere Abonnements, um die neuesten Updates zu sehen"
#: /app/specialVueFakeDummyForL10nScript.js:77 #: /app/specialVueFakeDummyForL10nScript.js:76
msgid "No favorites" msgid "No favorites"
msgstr "Keine Favoriten" msgstr "Keine Favoriten"

@ -1,323 +0,0 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the Nextcloud package.
# Michel Roux <xefir@crystalyx.net>, 2025.
# Alireza <injaneb@duck.com>, 2025.
msgid ""
msgstr ""
"Project-Id-Version: Nextcloud 3.14159\n"
"Report-Msgid-Bugs-To: translations\\@example.com\n"
"POT-Creation-Date: 2025-04-23 21:17+0000\n"
"PO-Revision-Date: 2025-04-23 21:19+0000\n"
"Last-Translator: Michel Roux <xefir@crystalyx.net>\n"
"Language-Team: Persian <https://translate.crystalyx.net/projects/repod/gitea/"
"fa/>\n"
"Language: fa\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n > 1;\n"
"X-Generator: Weblate 5.11\n"
#: /app/lib/Controller/OpmlController.php:50
msgid "RePod Subscriptions"
msgstr "اشتراک‌های ریپاد"
#: /app/lib/Service/SearchProvider.php:29
#: /app/lib/Service/SearchProvider.php:64
#: /app/specialAppInfoFakeDummyForL10nScript.php:3
msgid "Podcast"
msgstr "پادپخش"
#: /app/specialAppInfoFakeDummyForL10nScript.php:2
msgid "RePod"
msgstr "ریپاد"
#: /app/specialAppInfoFakeDummyForL10nScript.php:4
msgid "🔊 Browse, manage and listen to podcasts"
msgstr "🔊 مرور، مدیریت و گوش دادن به پادپخش‌ها"
#: /app/specialAppInfoFakeDummyForL10nScript.php:5
msgid ""
"## 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\n"
"You need to have [GPodderSync](https://apps.nextcloud.com/apps/gpoddersync) "
"installed to use this app!"
msgstr ""
"## ویژگی‌ها\n"
"- 🔍 مرور و اشتراک در مجموعه بزرگ پادپخش‌ها\n"
"- 🔊 گوش دادن به قسمت‌ها مستقیماً در نکست‌کلود\n"
"- 🌐 همگام‌سازی فعالیت‌ها با [AntennaPod](https://antennapod.org/) و "
"[برنامه‌های دیگر](https://git.crystalyx.net/Xefir/repod#clients-supporting-"
"sync-of-gpoddersync)\n"
"- 📱 رابط مناسب برای تلفن‌همراه\n"
"- 📡 وارد کردن و صادر کردن اشتراک‌ها\n"
"- ➡️ مقایسه کامل ویژگی‌ها در [اینجا](https://git.crystalyx.net/Xefir/"
"repod#comparaison-with-similar-apps-for-nextcloud)\n"
"\n"
"## پیش‌نیازها\n"
"برای به‌کارگیری این برنامه، باید [GPodderSync](https://apps.nextcloud.com/"
"apps/gpoddersync) نصب شده باشد!"
#: /app/specialVueFakeDummyForL10nScript.js:1
#: /app/specialVueFakeDummyForL10nScript.js:25
#: /app/specialVueFakeDummyForL10nScript.js:26
msgid "Download"
msgstr "بارگیری"
#: /app/specialVueFakeDummyForL10nScript.js:2
msgid "Skip to {match}"
msgstr "پرش به {match}"
#: /app/specialVueFakeDummyForL10nScript.js:3
msgid "Add a RSS link"
msgstr "افزودن پیوند RSS"
#: /app/specialVueFakeDummyForL10nScript.js:4
#: /app/specialVueFakeDummyForL10nScript.js:5
#: /app/specialVueFakeDummyForL10nScript.js:6
#: /app/specialVueFakeDummyForL10nScript.js:13
msgid "Subscribe"
msgstr "اشتراک کردن"
#: /app/specialVueFakeDummyForL10nScript.js:7
#: /app/specialVueFakeDummyForL10nScript.js:14
msgid "Error while adding the feed"
msgstr "خطا در افزودن خوراک"
#: /app/specialVueFakeDummyForL10nScript.js:8
msgid "Could not fetch search results"
msgstr "ناتوانی در دریافت یافته‌های جستجو"
#: /app/specialVueFakeDummyForL10nScript.js:9
msgid "New podcasts"
msgstr "پادپخش‌های تازه"
#: /app/specialVueFakeDummyForL10nScript.js:10
msgid "Hot podcasts"
msgstr "پادپخش‌های پرطرفدار"
#: /app/specialVueFakeDummyForL10nScript.js:11
msgid "Could not fetch tops"
msgstr "ناتوانی در دریافت برترین‌ها"
#: /app/specialVueFakeDummyForL10nScript.js:12
msgid "Copy feed"
msgstr "رونوشت خوراک"
#: /app/specialVueFakeDummyForL10nScript.js:15
msgid "Link copied to the clipboard"
msgstr "پیوند به بریده‌دان رونویسی شد"
#: /app/specialVueFakeDummyForL10nScript.js:16
#: /app/specialVueFakeDummyForL10nScript.js:17
#: /app/specialVueFakeDummyForL10nScript.js:43
msgid "Play"
msgstr "پخش"
#: /app/specialVueFakeDummyForL10nScript.js:18
#: /app/specialVueFakeDummyForL10nScript.js:19
msgid "Stop"
msgstr "توقف"
#: /app/specialVueFakeDummyForL10nScript.js:20
#: /app/specialVueFakeDummyForL10nScript.js:21
#: /app/specialVueFakeDummyForL10nScript.js:22
msgid "Read"
msgstr "خوانده‌شده"
#: /app/specialVueFakeDummyForL10nScript.js:23
#: /app/specialVueFakeDummyForL10nScript.js:24
msgid "Open website"
msgstr "بازکردن وبگاه"
#: /app/specialVueFakeDummyForL10nScript.js:27
msgid "Select"
msgstr "گزینش"
#: /app/specialVueFakeDummyForL10nScript.js:28
#: /app/specialVueFakeDummyForL10nScript.js:38
msgid "Could not change the status of the episode"
msgstr "ناتوانی در تغییر وضعیت قسمت"
#: /app/specialVueFakeDummyForL10nScript.js:29
#: /app/specialVueFakeDummyForL10nScript.js:30
#: /app/specialVueFakeDummyForL10nScript.js:31
msgid "Read all"
msgstr "خواندن همه"
#: /app/specialVueFakeDummyForL10nScript.js:32
#: /app/specialVueFakeDummyForL10nScript.js:33
#: /app/specialVueFakeDummyForL10nScript.js:34
msgid "Unread all"
msgstr "ناخوانده کردن همه"
#: /app/specialVueFakeDummyForL10nScript.js:35
msgid "Select all"
msgstr "گزینش همه"
#: /app/specialVueFakeDummyForL10nScript.js:36
msgid "Unselect all"
msgstr "رد گزینش همه"
#: /app/specialVueFakeDummyForL10nScript.js:37
#: /app/specialVueFakeDummyForL10nScript.js:40
msgid "Could not fetch episodes"
msgstr "ناتوانی در دریافت قسمت‌ها"
#: /app/specialVueFakeDummyForL10nScript.js:39
msgid "%n episode selected"
msgid_plural "%n episodes selected"
msgstr[0] "%n قسمت گزینش شد"
msgstr[1] "%n قسمت گزینش شدند"
#: /app/specialVueFakeDummyForL10nScript.js:41
msgid "Rewind 10 seconds"
msgstr "بازگرداندن ۱۰ ثانیه"
#: /app/specialVueFakeDummyForL10nScript.js:42
msgid "Pause"
msgstr "مکث"
#: /app/specialVueFakeDummyForL10nScript.js:44
msgid "Fast forward 30 seconds"
msgstr "پیش‌روی سریع ۳۰ ثانیه"
#: /app/specialVueFakeDummyForL10nScript.js:45
#: /app/specialVueFakeDummyForL10nScript.js:46
#: /app/specialVueFakeDummyForL10nScript.js:47
msgid "Mute"
msgstr "بی‌صدا"
#: /app/specialVueFakeDummyForL10nScript.js:48
msgid "Unmute"
msgstr "با صدا"
#: /app/specialVueFakeDummyForL10nScript.js:49
msgid "Export subscriptions"
msgstr "صادر کردن اشتراک‌ها"
#: /app/specialVueFakeDummyForL10nScript.js:50
msgid "Filtering episodes"
msgstr "پالایش قسمت‌ها"
#: /app/specialVueFakeDummyForL10nScript.js:51
msgid "Show all"
msgstr "نمایش همه"
#: /app/specialVueFakeDummyForL10nScript.js:52
msgid "Listened"
msgstr "گوش‌شده"
#: /app/specialVueFakeDummyForL10nScript.js:53
msgid "Listening"
msgstr "در حال گوش دادن"
#: /app/specialVueFakeDummyForL10nScript.js:54
msgid "Unlistened"
msgstr "شنیده نشده"
#: /app/specialVueFakeDummyForL10nScript.js:55
msgid "Import subscriptions"
msgstr "وارد کردن اشتراک‌ها"
#: /app/specialVueFakeDummyForL10nScript.js:56
msgid "Import OPML file"
msgstr "وارد کردن پرونده OPML"
#: /app/specialVueFakeDummyForL10nScript.js:57
msgid "Rate RePod ❤️"
msgstr "امتیاز به ریپاد ❤️"
#: /app/specialVueFakeDummyForL10nScript.js:58
#, fuzzy
msgid "Settings"
msgstr "تنظیمات"
#: /app/specialVueFakeDummyForL10nScript.js:59
msgid "Sleep timer"
msgstr "زمان‌سنج خواب"
#: /app/specialVueFakeDummyForL10nScript.js:60
msgid "Minutes"
msgstr "دقیقه"
#: /app/specialVueFakeDummyForL10nScript.js:61
msgid "%n min"
msgid_plural "%n mins"
msgstr[0] "%n دقیقه"
msgstr[1] "%n دقیقه"
#: /app/specialVueFakeDummyForL10nScript.js:62
msgid "%n sec"
msgid_plural "%n secs"
msgstr[0] "%n ثانیه"
msgstr[1] "%n ثانیه"
#: /app/specialVueFakeDummyForL10nScript.js:63
msgid "Playback speed"
msgstr "سرعت پخش"
#: /app/specialVueFakeDummyForL10nScript.js:64
#: /app/specialVueFakeDummyForL10nScript.js:65
#: /app/specialVueFakeDummyForL10nScript.js:66
msgid "Favorite"
msgstr "برگزیدن"
#: /app/specialVueFakeDummyForL10nScript.js:67
msgid "Are you sure you want to delete this subscription?"
msgstr "آیا مطمئن هستید که می‌خواهید این اشتراک را پاک کنید؟"
#: /app/specialVueFakeDummyForL10nScript.js:68
msgid "Error while removing the feed"
msgstr "خطا در پاک کردن خوراک"
#: /app/specialVueFakeDummyForL10nScript.js:69
msgid "You can only have 10 favorites"
msgstr "فقط می‌توانید ۱۰ مورد برگزیده داشته باشید"
#: /app/specialVueFakeDummyForL10nScript.js:70
msgid "Add a podcast"
msgstr "افزودن پادپخش"
#: /app/specialVueFakeDummyForL10nScript.js:71
msgid "Could not fetch subscriptions"
msgstr "ناتوانی در دریافت اشتراک‌ها"
#: /app/specialVueFakeDummyForL10nScript.js:72
msgid "Find a podcast"
msgstr "یافتن پادپخش"
#: /app/specialVueFakeDummyForL10nScript.js:73
msgid "Error loading feed"
msgstr "خطا در بارگذاری خوراک"
#: /app/specialVueFakeDummyForL10nScript.js:74
msgid "Missing required app"
msgstr "برنامه موردنیاز نیست"
#: /app/specialVueFakeDummyForL10nScript.js:75
msgid "Install GPodder Sync"
msgstr "نصب GPodder Sync"
#: /app/specialVueFakeDummyForL10nScript.js:76
msgid "Pin some subscriptions to see their latest updates"
msgstr "سنجاق کردن برخی اشتراک‌ها برای دیدن به‌روزرسانی‌های تازه"
#: /app/specialVueFakeDummyForL10nScript.js:77
msgid "No favorites"
msgstr "بدون برگزیده"
#: /app/src/store/player.ts:123
msgid "A browser extension conflict with RePod"
msgstr "ناسازگاری افزونه مرورگر با ریپاد"

@ -6,7 +6,7 @@ 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"
"POT-Creation-Date: 2025-04-23 21:17+0000\n" "POT-Creation-Date: 2025-02-15 19:42+0000\n"
"PO-Revision-Date: 2024-12-11 20:06+0000\n" "PO-Revision-Date: 2024-12-11 20:06+0000\n"
"Last-Translator: Michel Roux <xefir@crystalyx.net>\n" "Last-Translator: Michel Roux <xefir@crystalyx.net>\n"
"Language-Team: French <https://translate.crystalyx.net/projects/repod/gitea/" "Language-Team: French <https://translate.crystalyx.net/projects/repod/gitea/"
@ -18,7 +18,7 @@ msgstr ""
"Plural-Forms: nplurals=2; plural=n > 1;\n" "Plural-Forms: nplurals=2; plural=n > 1;\n"
"X-Generator: Weblate 5.8.4\n" "X-Generator: Weblate 5.8.4\n"
#: /app/lib/Controller/OpmlController.php:50 #: /app/lib/Controller/OpmlController.php:46
msgid "RePod Subscriptions" msgid "RePod Subscriptions"
msgstr "Abonnements sur RePod" msgstr "Abonnements sur RePod"
@ -61,8 +61,8 @@ msgstr ""
"supporting-sync-of-gpoddersync)\n" "supporting-sync-of-gpoddersync)\n"
"- 📱 Interface optimisée pour mobiles et ordinateurs\n" "- 📱 Interface optimisée pour mobiles et ordinateurs\n"
"- 📡 Import/export de ses abonnements\n" "- 📡 Import/export de ses abonnements\n"
"- ➡️ Tableau récapitulatif complet des fonctionnalitées [ici](https://" "- ➡️ Tableau récapitulatif complet des fonctionnalitées [ici](https://git."
"git.crystalyx.net/Xefir/repod#comparaison-with-similar-apps-for-nextcloud)\n" "crystalyx.net/Xefir/repod#comparaison-with-similar-apps-for-nextcloud)\n"
"\n" "\n"
"## Pré-requis\n" "## Pré-requis\n"
"Vous devez avoir [GPodderSync](https://apps.nextcloud.com/apps/gpoddersync) " "Vous devez avoir [GPodderSync](https://apps.nextcloud.com/apps/gpoddersync) "
@ -239,81 +239,77 @@ msgid "Rate RePod ❤️"
msgstr "Donnez votre avis ❤️" msgstr "Donnez votre avis ❤️"
#: /app/specialVueFakeDummyForL10nScript.js:58 #: /app/specialVueFakeDummyForL10nScript.js:58
msgid "Settings"
msgstr "Paramètres"
#: /app/specialVueFakeDummyForL10nScript.js:59
msgid "Sleep timer" msgid "Sleep timer"
msgstr "Minuteur" msgstr "Minuteur"
#: /app/specialVueFakeDummyForL10nScript.js:60 #: /app/specialVueFakeDummyForL10nScript.js:59
msgid "Minutes" msgid "Minutes"
msgstr "Minutes" msgstr "Minutes"
#: /app/specialVueFakeDummyForL10nScript.js:61 #: /app/specialVueFakeDummyForL10nScript.js:60
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"
#: /app/specialVueFakeDummyForL10nScript.js:62 #: /app/specialVueFakeDummyForL10nScript.js:61
msgid "%n sec" msgid "%n sec"
msgid_plural "%n secs" msgid_plural "%n secs"
msgstr[0] "%n sec" msgstr[0] "%n sec"
msgstr[1] "%n secs" msgstr[1] "%n secs"
#: /app/specialVueFakeDummyForL10nScript.js:63 #: /app/specialVueFakeDummyForL10nScript.js:62
msgid "Playback speed" msgid "Playback speed"
msgstr "Vitesse de lecture" msgstr "Vitesse de lecture"
#: /app/specialVueFakeDummyForL10nScript.js:63
#: /app/specialVueFakeDummyForL10nScript.js:64 #: /app/specialVueFakeDummyForL10nScript.js:64
#: /app/specialVueFakeDummyForL10nScript.js:65 #: /app/specialVueFakeDummyForL10nScript.js:65
#: /app/specialVueFakeDummyForL10nScript.js:66
msgid "Favorite" msgid "Favorite"
msgstr "Favori" msgstr "Favori"
#: /app/specialVueFakeDummyForL10nScript.js:67 #: /app/specialVueFakeDummyForL10nScript.js:66
msgid "Are you sure you want to delete this subscription?" msgid "Are you sure you want to delete this subscription?"
msgstr "Êtes-vous sûr de vouloir supprimer ce flux ?" msgstr "Êtes-vous sûr de vouloir supprimer ce flux ?"
#: /app/specialVueFakeDummyForL10nScript.js:68 #: /app/specialVueFakeDummyForL10nScript.js:67
msgid "Error while removing the feed" msgid "Error while removing the feed"
msgstr "Erreur lors de la suppression du flux" msgstr "Erreur lors de la suppression du flux"
#: /app/specialVueFakeDummyForL10nScript.js:69 #: /app/specialVueFakeDummyForL10nScript.js:68
msgid "You can only have 10 favorites" msgid "You can only have 10 favorites"
msgstr "Vous ne pouvez avoir que 10 favoris" msgstr "Vous ne pouvez avoir que 10 favoris"
#: /app/specialVueFakeDummyForL10nScript.js:70 #: /app/specialVueFakeDummyForL10nScript.js:69
msgid "Add a podcast" msgid "Add a podcast"
msgstr "Ajouter un podcast" msgstr "Ajouter un podcast"
#: /app/specialVueFakeDummyForL10nScript.js:71 #: /app/specialVueFakeDummyForL10nScript.js:70
msgid "Could not fetch subscriptions" msgid "Could not fetch subscriptions"
msgstr "Impossible de récupérer les flux" msgstr "Impossible de récupérer les flux"
#: /app/specialVueFakeDummyForL10nScript.js:72 #: /app/specialVueFakeDummyForL10nScript.js:71
msgid "Find a podcast" msgid "Find a podcast"
msgstr "Chercher un podcast" msgstr "Chercher un podcast"
#: /app/specialVueFakeDummyForL10nScript.js:73 #: /app/specialVueFakeDummyForL10nScript.js:72
msgid "Error loading feed" msgid "Error loading feed"
msgstr "Erreur lors du chargement du flux" msgstr "Erreur lors du chargement du flux"
#: /app/specialVueFakeDummyForL10nScript.js:74 #: /app/specialVueFakeDummyForL10nScript.js:73
msgid "Missing required app" msgid "Missing required app"
msgstr "Une application requise est manquante" msgstr "Une application requise est manquante"
#: /app/specialVueFakeDummyForL10nScript.js:75 #: /app/specialVueFakeDummyForL10nScript.js:74
msgid "Install GPodder Sync" msgid "Install GPodder Sync"
msgstr "Installer GPodder Sync" msgstr "Installer GPodder Sync"
#: /app/specialVueFakeDummyForL10nScript.js:76 #: /app/specialVueFakeDummyForL10nScript.js:75
msgid "Pin some subscriptions to see their latest updates" msgid "Pin some subscriptions to see their latest updates"
msgstr "" msgstr ""
"Ajoutez des abonnements en favoris pour obtenir les dernières nouvelles ici" "Ajoutez des abonnements en favoris pour obtenir les dernières nouvelles ici"
#: /app/specialVueFakeDummyForL10nScript.js:77 #: /app/specialVueFakeDummyForL10nScript.js:76
msgid "No favorites" msgid "No favorites"
msgstr "Aucun favoris" msgstr "Aucun favoris"

@ -1,325 +0,0 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the Nextcloud package.
# m0bi <m0bi@koop.net.pl>, 2025.
msgid ""
msgstr ""
"Project-Id-Version: Nextcloud 3.14159\n"
"Report-Msgid-Bugs-To: translations\\@example.com\n"
"POT-Creation-Date: 2025-04-23 21:17+0000\n"
"PO-Revision-Date: 2025-04-25 08:26+0000\n"
"Last-Translator: m0bi <m0bi@koop.net.pl>\n"
"Language-Team: Polish <https://translate.crystalyx.net/projects/repod/gitea/"
"pl/>\n"
"Language: pl\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=3; plural=n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 "
"|| n%100>=20) ? 1 : 2;\n"
"X-Generator: Weblate 5.11\n"
#: /app/lib/Controller/OpmlController.php:50
msgid "RePod Subscriptions"
msgstr "Subskrypcje RePod"
#: /app/lib/Service/SearchProvider.php:29
#: /app/lib/Service/SearchProvider.php:64
#: /app/specialAppInfoFakeDummyForL10nScript.php:3
msgid "Podcast"
msgstr "Podkast"
#: /app/specialAppInfoFakeDummyForL10nScript.php:2
msgid "RePod"
msgstr "RePod"
#: /app/specialAppInfoFakeDummyForL10nScript.php:4
msgid "🔊 Browse, manage and listen to podcasts"
msgstr "🔊 Przeglądanie, zarządzanie i słuchanie podkastów"
#: /app/specialAppInfoFakeDummyForL10nScript.php:5
msgid ""
"## 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\n"
"You need to have [GPodderSync](https://apps.nextcloud.com/apps/gpoddersync) "
"installed to use this app!"
msgstr ""
"## Funkcje\n"
"- 🔍 Przeglądaj i subskrybuj ogromną kolekcję podcastów\n"
"- 🔊 Słuchaj odcinków bezpośrednio w Nextcloud\n"
"- 🌐 Synchronizuj swoją aktywność z [AntennaPod](https://antennapod.org/) i "
"[innymi aplikacjami](https://git.crystalyx.net/Xefir/repod#clients-"
"supporting-sync-of-gpoddersync)\n"
"- 📱 Interfejs dla urządzeń mobilnych\n"
"- 📡 Importuj i eksportuj swoje subskrypcje\n"
"- ➡️ Pełne porównanie funkcji [tutaj](https://git.crystalyx.net/Xefir/repod"
"#comparaison-with-similar-apps-for-nextcloud)\n"
"\n"
"## Wymagania\n"
"Aby korzystać z tej aplikacji, musisz mieć zainstalowany [GPodderSync]"
"(https://apps.nextcloud.com/apps/gpoddersync)!"
#: /app/specialVueFakeDummyForL10nScript.js:1
#: /app/specialVueFakeDummyForL10nScript.js:25
#: /app/specialVueFakeDummyForL10nScript.js:26
msgid "Download"
msgstr "Pobierz"
#: /app/specialVueFakeDummyForL10nScript.js:2
msgid "Skip to {match}"
msgstr "Skocz do {match}"
#: /app/specialVueFakeDummyForL10nScript.js:3
msgid "Add a RSS link"
msgstr "Dodaj RSS z linka"
#: /app/specialVueFakeDummyForL10nScript.js:4
#: /app/specialVueFakeDummyForL10nScript.js:5
#: /app/specialVueFakeDummyForL10nScript.js:6
#: /app/specialVueFakeDummyForL10nScript.js:13
msgid "Subscribe"
msgstr "Subskrybuj"
#: /app/specialVueFakeDummyForL10nScript.js:7
#: /app/specialVueFakeDummyForL10nScript.js:14
msgid "Error while adding the feed"
msgstr "Błąd podczas dodawania kanału"
#: /app/specialVueFakeDummyForL10nScript.js:8
msgid "Could not fetch search results"
msgstr "Nie można pobrać wyników wyszukiwania"
#: /app/specialVueFakeDummyForL10nScript.js:9
msgid "New podcasts"
msgstr "Nowe podkasty"
#: /app/specialVueFakeDummyForL10nScript.js:10
msgid "Hot podcasts"
msgstr "Gorące podkasty"
#: /app/specialVueFakeDummyForL10nScript.js:11
msgid "Could not fetch tops"
msgstr "Nie można pobrać poleceń"
#: /app/specialVueFakeDummyForL10nScript.js:12
msgid "Copy feed"
msgstr "Kopiuj kanał"
#: /app/specialVueFakeDummyForL10nScript.js:15
msgid "Link copied to the clipboard"
msgstr "Link skopiowany do schowka"
#: /app/specialVueFakeDummyForL10nScript.js:16
#: /app/specialVueFakeDummyForL10nScript.js:17
#: /app/specialVueFakeDummyForL10nScript.js:43
msgid "Play"
msgstr "Odtwarzaj"
#: /app/specialVueFakeDummyForL10nScript.js:18
#: /app/specialVueFakeDummyForL10nScript.js:19
msgid "Stop"
msgstr "Stop"
#: /app/specialVueFakeDummyForL10nScript.js:20
#: /app/specialVueFakeDummyForL10nScript.js:21
#: /app/specialVueFakeDummyForL10nScript.js:22
msgid "Read"
msgstr "Czytaj"
#: /app/specialVueFakeDummyForL10nScript.js:23
#: /app/specialVueFakeDummyForL10nScript.js:24
msgid "Open website"
msgstr "Otwórz stronę"
#: /app/specialVueFakeDummyForL10nScript.js:27
msgid "Select"
msgstr "Wybierz"
#: /app/specialVueFakeDummyForL10nScript.js:28
#: /app/specialVueFakeDummyForL10nScript.js:38
msgid "Could not change the status of the episode"
msgstr "Nie można zmienić stanu odcinka"
#: /app/specialVueFakeDummyForL10nScript.js:29
#: /app/specialVueFakeDummyForL10nScript.js:30
#: /app/specialVueFakeDummyForL10nScript.js:31
msgid "Read all"
msgstr "Czytaj wszystko"
#: /app/specialVueFakeDummyForL10nScript.js:32
#: /app/specialVueFakeDummyForL10nScript.js:33
#: /app/specialVueFakeDummyForL10nScript.js:34
msgid "Unread all"
msgstr "Cofnij czytaj wszystko"
#: /app/specialVueFakeDummyForL10nScript.js:35
msgid "Select all"
msgstr "Zaznacz wszystko"
#: /app/specialVueFakeDummyForL10nScript.js:36
msgid "Unselect all"
msgstr "Odznacz wszystko"
#: /app/specialVueFakeDummyForL10nScript.js:37
#: /app/specialVueFakeDummyForL10nScript.js:40
msgid "Could not fetch episodes"
msgstr "Nie można pobrać odcinków"
#: /app/specialVueFakeDummyForL10nScript.js:39
msgid "%n episode selected"
msgid_plural "%n episodes selected"
msgstr[0] "%n wybrany odcinek"
msgstr[1] "%n wybrane odcinki"
msgstr[2] "%n wybranych odcinków"
#: /app/specialVueFakeDummyForL10nScript.js:41
msgid "Rewind 10 seconds"
msgstr "Przewiń 10 sekund"
#: /app/specialVueFakeDummyForL10nScript.js:42
msgid "Pause"
msgstr "Pauza"
#: /app/specialVueFakeDummyForL10nScript.js:44
msgid "Fast forward 30 seconds"
msgstr "Do przodu 30 sekund"
#: /app/specialVueFakeDummyForL10nScript.js:45
#: /app/specialVueFakeDummyForL10nScript.js:46
#: /app/specialVueFakeDummyForL10nScript.js:47
msgid "Mute"
msgstr "Wycisz"
#: /app/specialVueFakeDummyForL10nScript.js:48
msgid "Unmute"
msgstr "Wyłącz wyciszenie"
#: /app/specialVueFakeDummyForL10nScript.js:49
msgid "Export subscriptions"
msgstr "Eksportuj subskrypcje"
#: /app/specialVueFakeDummyForL10nScript.js:50
msgid "Filtering episodes"
msgstr "Filtr odcinków"
#: /app/specialVueFakeDummyForL10nScript.js:51
msgid "Show all"
msgstr "Pokaż wszystko"
#: /app/specialVueFakeDummyForL10nScript.js:52
msgid "Listened"
msgstr "Słuchany"
#: /app/specialVueFakeDummyForL10nScript.js:53
msgid "Listening"
msgstr "Słuchanie"
#: /app/specialVueFakeDummyForL10nScript.js:54
msgid "Unlistened"
msgstr "Niewysłuchane"
#: /app/specialVueFakeDummyForL10nScript.js:55
msgid "Import subscriptions"
msgstr "Import subskrypcji"
#: /app/specialVueFakeDummyForL10nScript.js:56
msgid "Import OPML file"
msgstr "Import pliku OPML"
#: /app/specialVueFakeDummyForL10nScript.js:57
msgid "Rate RePod ❤️"
msgstr "Oceń RePod ❤️"
#: /app/specialVueFakeDummyForL10nScript.js:58
msgid "Settings"
msgstr "Ustawienia"
#: /app/specialVueFakeDummyForL10nScript.js:59
msgid "Sleep timer"
msgstr "Wyłącznik czasowy"
#: /app/specialVueFakeDummyForL10nScript.js:60
msgid "Minutes"
msgstr "Minuty"
#: /app/specialVueFakeDummyForL10nScript.js:61
msgid "%n min"
msgid_plural "%n mins"
msgstr[0] "%n minuta"
msgstr[1] "%n minuty"
msgstr[2] "%n minut"
#: /app/specialVueFakeDummyForL10nScript.js:62
msgid "%n sec"
msgid_plural "%n secs"
msgstr[0] "%n sekunda"
msgstr[1] "%n sekundy"
msgstr[2] "%n sekund"
#: /app/specialVueFakeDummyForL10nScript.js:63
msgid "Playback speed"
msgstr "Prędkość odtwarzania"
#: /app/specialVueFakeDummyForL10nScript.js:64
#: /app/specialVueFakeDummyForL10nScript.js:65
#: /app/specialVueFakeDummyForL10nScript.js:66
msgid "Favorite"
msgstr "Ulubione"
#: /app/specialVueFakeDummyForL10nScript.js:67
msgid "Are you sure you want to delete this subscription?"
msgstr "Czy na pewno chcesz usunąć tę subskrypcję?"
#: /app/specialVueFakeDummyForL10nScript.js:68
msgid "Error while removing the feed"
msgstr "Błąd podczas usuwania kanału"
#: /app/specialVueFakeDummyForL10nScript.js:69
msgid "You can only have 10 favorites"
msgstr "Możesz mieć tylko 10 ulubionych"
#: /app/specialVueFakeDummyForL10nScript.js:70
msgid "Add a podcast"
msgstr "Dodaj podkast"
#: /app/specialVueFakeDummyForL10nScript.js:71
msgid "Could not fetch subscriptions"
msgstr "Nie można pobrać subskrypcji"
#: /app/specialVueFakeDummyForL10nScript.js:72
msgid "Find a podcast"
msgstr "Znajdź podkast"
#: /app/specialVueFakeDummyForL10nScript.js:73
msgid "Error loading feed"
msgstr "Błąd ładowania kanału"
#: /app/specialVueFakeDummyForL10nScript.js:74
msgid "Missing required app"
msgstr "Brak wymaganej aplikacji"
#: /app/specialVueFakeDummyForL10nScript.js:75
msgid "Install GPodder Sync"
msgstr "Zainstaluj GPodder Sync"
#: /app/specialVueFakeDummyForL10nScript.js:76
msgid "Pin some subscriptions to see their latest updates"
msgstr "Przypnij niektóre subskrypcje, by zobaczyć aktualizacje"
#: /app/specialVueFakeDummyForL10nScript.js:77
msgid "No favorites"
msgstr "Brak ulubionych"
#: /app/src/store/player.ts:123
msgid "A browser extension conflict with RePod"
msgstr "Konflikt rozszerzenia przeglądarki z RePod"

@ -8,7 +8,7 @@ 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"
"POT-Creation-Date: 2025-04-23 21:17+0000\n" "POT-Creation-Date: 2025-02-15 19:42+0000\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n" "Language-Team: LANGUAGE <LL@li.org>\n"
@ -18,7 +18,7 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\n" "Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\n"
#: /app/lib/Controller/OpmlController.php:50 #: /app/lib/Controller/OpmlController.php:46
msgid "RePod Subscriptions" msgid "RePod Subscriptions"
msgstr "" msgstr ""
@ -225,80 +225,76 @@ msgid "Rate RePod ❤️"
msgstr "" msgstr ""
#: /app/specialVueFakeDummyForL10nScript.js:58 #: /app/specialVueFakeDummyForL10nScript.js:58
msgid "Settings"
msgstr ""
#: /app/specialVueFakeDummyForL10nScript.js:59
msgid "Sleep timer" msgid "Sleep timer"
msgstr "" msgstr ""
#: /app/specialVueFakeDummyForL10nScript.js:60 #: /app/specialVueFakeDummyForL10nScript.js:59
msgid "Minutes" msgid "Minutes"
msgstr "" msgstr ""
#: /app/specialVueFakeDummyForL10nScript.js:61 #: /app/specialVueFakeDummyForL10nScript.js:60
msgid "%n min" msgid "%n min"
msgid_plural "%n mins" msgid_plural "%n mins"
msgstr[0] "" msgstr[0] ""
msgstr[1] "" msgstr[1] ""
#: /app/specialVueFakeDummyForL10nScript.js:62 #: /app/specialVueFakeDummyForL10nScript.js:61
msgid "%n sec" msgid "%n sec"
msgid_plural "%n secs" msgid_plural "%n secs"
msgstr[0] "" msgstr[0] ""
msgstr[1] "" msgstr[1] ""
#: /app/specialVueFakeDummyForL10nScript.js:63 #: /app/specialVueFakeDummyForL10nScript.js:62
msgid "Playback speed" msgid "Playback speed"
msgstr "" msgstr ""
#: /app/specialVueFakeDummyForL10nScript.js:63
#: /app/specialVueFakeDummyForL10nScript.js:64 #: /app/specialVueFakeDummyForL10nScript.js:64
#: /app/specialVueFakeDummyForL10nScript.js:65 #: /app/specialVueFakeDummyForL10nScript.js:65
#: /app/specialVueFakeDummyForL10nScript.js:66
msgid "Favorite" msgid "Favorite"
msgstr "" msgstr ""
#: /app/specialVueFakeDummyForL10nScript.js:67 #: /app/specialVueFakeDummyForL10nScript.js:66
msgid "Are you sure you want to delete this subscription?" msgid "Are you sure you want to delete this subscription?"
msgstr "" msgstr ""
#: /app/specialVueFakeDummyForL10nScript.js:68 #: /app/specialVueFakeDummyForL10nScript.js:67
msgid "Error while removing the feed" msgid "Error while removing the feed"
msgstr "" msgstr ""
#: /app/specialVueFakeDummyForL10nScript.js:69 #: /app/specialVueFakeDummyForL10nScript.js:68
msgid "You can only have 10 favorites" msgid "You can only have 10 favorites"
msgstr "" msgstr ""
#: /app/specialVueFakeDummyForL10nScript.js:70 #: /app/specialVueFakeDummyForL10nScript.js:69
msgid "Add a podcast" msgid "Add a podcast"
msgstr "" msgstr ""
#: /app/specialVueFakeDummyForL10nScript.js:71 #: /app/specialVueFakeDummyForL10nScript.js:70
msgid "Could not fetch subscriptions" msgid "Could not fetch subscriptions"
msgstr "" msgstr ""
#: /app/specialVueFakeDummyForL10nScript.js:72 #: /app/specialVueFakeDummyForL10nScript.js:71
msgid "Find a podcast" msgid "Find a podcast"
msgstr "" msgstr ""
#: /app/specialVueFakeDummyForL10nScript.js:73 #: /app/specialVueFakeDummyForL10nScript.js:72
msgid "Error loading feed" msgid "Error loading feed"
msgstr "" msgstr ""
#: /app/specialVueFakeDummyForL10nScript.js:74 #: /app/specialVueFakeDummyForL10nScript.js:73
msgid "Missing required app" msgid "Missing required app"
msgstr "" msgstr ""
#: /app/specialVueFakeDummyForL10nScript.js:75 #: /app/specialVueFakeDummyForL10nScript.js:74
msgid "Install GPodder Sync" msgid "Install GPodder Sync"
msgstr "" msgstr ""
#: /app/specialVueFakeDummyForL10nScript.js:76 #: /app/specialVueFakeDummyForL10nScript.js:75
msgid "Pin some subscriptions to see their latest updates" msgid "Pin some subscriptions to see their latest updates"
msgstr "" msgstr ""
#: /app/specialVueFakeDummyForL10nScript.js:77 #: /app/specialVueFakeDummyForL10nScript.js:76
msgid "No favorites" msgid "No favorites"
msgstr "" msgstr ""