Merge remote-tracking branch 'origin/master' into fix/single-tool-import-support

# Conflicts:
#	CHANGELOG.md
This commit is contained in:
Christian Wolf 2023-11-15 18:01:59 +01:00
Родитель 75e69073b1 51278c5770
Коммит 140d87437e
28 изменённых файлов: 584 добавлений и 393 удалений

4
.github/workflows/tests.yml поставляемый
Просмотреть файл

@ -17,7 +17,7 @@ jobs:
- name: Checkout the project
uses: actions/checkout@v4
- name: Setup node and NPM
uses: actions/setup-node@v3
uses: actions/setup-node@v4
with:
node-version: '16'
- name: Install npm
@ -379,7 +379,7 @@ jobs:
- name: Checkout the app
uses: actions/checkout@v4
- name: Setup node and NPM
uses: actions/setup-node@v3
uses: actions/setup-node@v4
with:
node-version: '16'
- name: Install npm

Просмотреть файл

@ -11,6 +11,8 @@
[#1723](https://github.com/nextcloud/cookbook/pull/1743) @j0hannesr0th
- Add Android client to README
[#1767](https://github.com/nextcloud/cookbook/pull/1767) @lneugebauer
- Show info for empty cookbook or categories in recipe overview
[#1866](https://github.com/nextcloud/cookbook/pull/1866) @seyfeb
### Fixed
- Fix translation string to not contain quotes
@ -29,6 +31,8 @@
[#1844](https://github.com/nextcloud/cookbook/pull/1844) @christianlupus
- Allow single tool in JSON+LD import, fixes #1641
[#1864](https://github.com/nextcloud/cookbook/pull/1844) @seyfeb
- Allow parsing more ISO 8601 duration strings. See issue [#1749](https://github.com/nextcloud/cookbook/issues/1749)
[#XX](https://github.com/nextcloud/cookbook/pull/XX) @seyfeb
### Maintenance
- Fix URL of Transifex after upstream subdomain change
@ -85,6 +89,8 @@
[#1837](https://github.com/nextcloud/cookbook/pull/1837) @VincentMeilinger
- Drop old polyfill code related to global search
[#1843](https://github.com/nextcloud/cookbook/pull/1843) @christianlupus
- Update helper dependency for DB testing
[#1873](https://github.com/nextcloud/cookbook/pull/1873) @dependabot
## 0.10.2 - 2023-03-24

Просмотреть файл

@ -13,7 +13,7 @@
},
"require-dev": {
"nextcloud/coding-standard": "^1.0.0",
"christophwurst/nextcloud_testing": "^0.12.4",
"christophwurst/nextcloud_testing": "^1.0.0",
"psalm/phar": "^5.12",
"nextcloud/ocp": "^27.0"
},

268
composer.lock сгенерированный
Просмотреть файл

@ -4,30 +4,27 @@
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
"This file is @generated automatically"
],
"content-hash": "3bfae3a4a24e4e8de82f5756eb730762",
"content-hash": "418ab4ba5a5387a733911562eb0e66a6",
"packages": [],
"packages-dev": [
{
"name": "christophwurst/nextcloud_testing",
"version": "v0.12.4",
"version": "v1.0.0",
"source": {
"type": "git",
"url": "https://github.com/ChristophWurst/nextcloud_testing.git",
"reference": "9c189b01dbcc3508108f08c417de6aaea7005fb0"
"reference": "6677a6d09f7fc9c8e5258a69aa684da4e9f43515"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/ChristophWurst/nextcloud_testing/zipball/9c189b01dbcc3508108f08c417de6aaea7005fb0",
"reference": "9c189b01dbcc3508108f08c417de6aaea7005fb0",
"url": "https://api.github.com/repos/ChristophWurst/nextcloud_testing/zipball/6677a6d09f7fc9c8e5258a69aa684da4e9f43515",
"reference": "6677a6d09f7fc9c8e5258a69aa684da4e9f43515",
"shasum": ""
},
"require": {
"php": "^7.2|^8.0",
"php": "^7.4|^8.0",
"php-webdriver/webdriver": "^1.9",
"phpunit/phpunit": "^8.0|^9.0"
},
"require-dev": {
"christophwurst/nextcloud": "^17.0"
"phpunit/phpunit": "^8.0|^9.0|^10.0"
},
"type": "library",
"autoload": {
@ -48,36 +45,36 @@
"description": "Simple and fast unit and integration testing framework for Nextcloud, based on PHPUnit",
"support": {
"issues": "https://github.com/ChristophWurst/nextcloud_testing/issues",
"source": "https://github.com/ChristophWurst/nextcloud_testing/tree/v0.12.4"
"source": "https://github.com/ChristophWurst/nextcloud_testing/tree/v1.0.0"
},
"time": "2021-02-18T08:41:09+00:00"
"time": "2023-10-30T07:42:56+00:00"
},
{
"name": "doctrine/instantiator",
"version": "1.4.1",
"version": "1.5.0",
"source": {
"type": "git",
"url": "https://github.com/doctrine/instantiator.git",
"reference": "10dcfce151b967d20fde1b34ae6640712c3891bc"
"reference": "0a0fa9780f5d4e507415a065172d26a98d02047b"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/doctrine/instantiator/zipball/10dcfce151b967d20fde1b34ae6640712c3891bc",
"reference": "10dcfce151b967d20fde1b34ae6640712c3891bc",
"url": "https://api.github.com/repos/doctrine/instantiator/zipball/0a0fa9780f5d4e507415a065172d26a98d02047b",
"reference": "0a0fa9780f5d4e507415a065172d26a98d02047b",
"shasum": ""
},
"require": {
"php": "^7.1 || ^8.0"
},
"require-dev": {
"doctrine/coding-standard": "^9",
"doctrine/coding-standard": "^9 || ^11",
"ext-pdo": "*",
"ext-phar": "*",
"phpbench/phpbench": "^0.16 || ^1",
"phpstan/phpstan": "^1.4",
"phpstan/phpstan-phpunit": "^1",
"phpunit/phpunit": "^7.5 || ^8.5 || ^9.5",
"vimeo/psalm": "^4.22"
"vimeo/psalm": "^4.30 || ^5.4"
},
"type": "library",
"autoload": {
@ -104,7 +101,7 @@
],
"support": {
"issues": "https://github.com/doctrine/instantiator/issues",
"source": "https://github.com/doctrine/instantiator/tree/1.4.1"
"source": "https://github.com/doctrine/instantiator/tree/1.5.0"
},
"funding": [
{
@ -120,20 +117,20 @@
"type": "tidelift"
}
],
"time": "2022-03-03T08:28:38+00:00"
"time": "2022-12-30T00:15:36+00:00"
},
{
"name": "myclabs/deep-copy",
"version": "1.11.0",
"version": "1.11.1",
"source": {
"type": "git",
"url": "https://github.com/myclabs/DeepCopy.git",
"reference": "14daed4296fae74d9e3201d2c4925d1acb7aa614"
"reference": "7284c22080590fb39f2ffa3e9057f10a4ddd0e0c"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/myclabs/DeepCopy/zipball/14daed4296fae74d9e3201d2c4925d1acb7aa614",
"reference": "14daed4296fae74d9e3201d2c4925d1acb7aa614",
"url": "https://api.github.com/repos/myclabs/DeepCopy/zipball/7284c22080590fb39f2ffa3e9057f10a4ddd0e0c",
"reference": "7284c22080590fb39f2ffa3e9057f10a4ddd0e0c",
"shasum": ""
},
"require": {
@ -171,7 +168,7 @@
],
"support": {
"issues": "https://github.com/myclabs/DeepCopy/issues",
"source": "https://github.com/myclabs/DeepCopy/tree/1.11.0"
"source": "https://github.com/myclabs/DeepCopy/tree/1.11.1"
},
"funding": [
{
@ -179,7 +176,7 @@
"type": "tidelift"
}
],
"time": "2022-03-03T13:19:32+00:00"
"time": "2023-03-08T13:26:56+00:00"
},
{
"name": "nextcloud/coding-standard",
@ -224,16 +221,16 @@
},
{
"name": "nextcloud/ocp",
"version": "v27.1.2",
"version": "v27.1.3",
"source": {
"type": "git",
"url": "https://github.com/nextcloud-deps/ocp.git",
"reference": "3dddb7835db9a68c4eec7c77875d95b97533467f"
"reference": "f3f6202dcd304d5280356a57d41dd9cb4ab21e95"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/nextcloud-deps/ocp/zipball/3dddb7835db9a68c4eec7c77875d95b97533467f",
"reference": "3dddb7835db9a68c4eec7c77875d95b97533467f",
"url": "https://api.github.com/repos/nextcloud-deps/ocp/zipball/f3f6202dcd304d5280356a57d41dd9cb4ab21e95",
"reference": "f3f6202dcd304d5280356a57d41dd9cb4ab21e95",
"shasum": ""
},
"require": {
@ -262,22 +259,22 @@
"description": "Composer package containing Nextcloud's public API (classes, interfaces)",
"support": {
"issues": "https://github.com/nextcloud-deps/ocp/issues",
"source": "https://github.com/nextcloud-deps/ocp/tree/v27.1.2"
"source": "https://github.com/nextcloud-deps/ocp/tree/v27.1.3"
},
"time": "2023-10-04T09:19:41+00:00"
"time": "2023-10-10T00:31:16+00:00"
},
{
"name": "nikic/php-parser",
"version": "v4.15.1",
"version": "v4.17.1",
"source": {
"type": "git",
"url": "https://github.com/nikic/PHP-Parser.git",
"reference": "0ef6c55a3f47f89d7a374e6f835197a0b5fcf900"
"reference": "a6303e50c90c355c7eeee2c4a8b27fe8dc8fef1d"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/0ef6c55a3f47f89d7a374e6f835197a0b5fcf900",
"reference": "0ef6c55a3f47f89d7a374e6f835197a0b5fcf900",
"url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/a6303e50c90c355c7eeee2c4a8b27fe8dc8fef1d",
"reference": "a6303e50c90c355c7eeee2c4a8b27fe8dc8fef1d",
"shasum": ""
},
"require": {
@ -318,9 +315,9 @@
],
"support": {
"issues": "https://github.com/nikic/PHP-Parser/issues",
"source": "https://github.com/nikic/PHP-Parser/tree/v4.15.1"
"source": "https://github.com/nikic/PHP-Parser/tree/v4.17.1"
},
"time": "2022-09-04T07:30:47+00:00"
"time": "2023-08-13T19:53:39+00:00"
},
{
"name": "phar-io/manifest",
@ -487,37 +484,38 @@
},
{
"name": "php-webdriver/webdriver",
"version": "1.12.1",
"version": "1.15.1",
"source": {
"type": "git",
"url": "https://github.com/php-webdriver/php-webdriver.git",
"reference": "b27ddf458d273c7d4602106fcaf978aa0b7fe15a"
"reference": "cd52d9342c5aa738c2e75a67e47a1b6df97154e8"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/php-webdriver/php-webdriver/zipball/b27ddf458d273c7d4602106fcaf978aa0b7fe15a",
"reference": "b27ddf458d273c7d4602106fcaf978aa0b7fe15a",
"url": "https://api.github.com/repos/php-webdriver/php-webdriver/zipball/cd52d9342c5aa738c2e75a67e47a1b6df97154e8",
"reference": "cd52d9342c5aa738c2e75a67e47a1b6df97154e8",
"shasum": ""
},
"require": {
"ext-curl": "*",
"ext-json": "*",
"ext-zip": "*",
"php": "^5.6 || ~7.0 || ^8.0",
"php": "^7.3 || ^8.0",
"symfony/polyfill-mbstring": "^1.12",
"symfony/process": "^2.8 || ^3.1 || ^4.0 || ^5.0 || ^6.0"
"symfony/process": "^5.0 || ^6.0 || ^7.0"
},
"replace": {
"facebook/webdriver": "*"
},
"require-dev": {
"ondram/ci-detector": "^2.1 || ^3.5 || ^4.0",
"ergebnis/composer-normalize": "^2.20.0",
"ondram/ci-detector": "^4.0",
"php-coveralls/php-coveralls": "^2.4",
"php-mock/php-mock-phpunit": "^1.1 || ^2.0",
"php-mock/php-mock-phpunit": "^2.0",
"php-parallel-lint/php-parallel-lint": "^1.2",
"phpunit/phpunit": "^5.7 || ^7 || ^8 || ^9",
"phpunit/phpunit": "^9.3",
"squizlabs/php_codesniffer": "^3.5",
"symfony/var-dumper": "^3.3 || ^4.0 || ^5.0 || ^6.0"
"symfony/var-dumper": "^5.0 || ^6.0"
},
"suggest": {
"ext-SimpleXML": "For Firefox profile creation"
@ -546,29 +544,29 @@
],
"support": {
"issues": "https://github.com/php-webdriver/php-webdriver/issues",
"source": "https://github.com/php-webdriver/php-webdriver/tree/1.12.1"
"source": "https://github.com/php-webdriver/php-webdriver/tree/1.15.1"
},
"time": "2022-05-03T12:16:34+00:00"
"time": "2023-10-20T12:21:20+00:00"
},
{
"name": "phpunit/php-code-coverage",
"version": "9.2.17",
"version": "9.2.29",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/php-code-coverage.git",
"reference": "aa94dc41e8661fe90c7316849907cba3007b10d8"
"reference": "6a3a87ac2bbe33b25042753df8195ba4aa534c76"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/aa94dc41e8661fe90c7316849907cba3007b10d8",
"reference": "aa94dc41e8661fe90c7316849907cba3007b10d8",
"url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/6a3a87ac2bbe33b25042753df8195ba4aa534c76",
"reference": "6a3a87ac2bbe33b25042753df8195ba4aa534c76",
"shasum": ""
},
"require": {
"ext-dom": "*",
"ext-libxml": "*",
"ext-xmlwriter": "*",
"nikic/php-parser": "^4.14",
"nikic/php-parser": "^4.15",
"php": ">=7.3",
"phpunit/php-file-iterator": "^3.0.3",
"phpunit/php-text-template": "^2.0.2",
@ -583,8 +581,8 @@
"phpunit/phpunit": "^9.3"
},
"suggest": {
"ext-pcov": "*",
"ext-xdebug": "*"
"ext-pcov": "PHP extension that provides line coverage",
"ext-xdebug": "PHP extension that provides line coverage as well as branch and path coverage"
},
"type": "library",
"extra": {
@ -617,7 +615,8 @@
],
"support": {
"issues": "https://github.com/sebastianbergmann/php-code-coverage/issues",
"source": "https://github.com/sebastianbergmann/php-code-coverage/tree/9.2.17"
"security": "https://github.com/sebastianbergmann/php-code-coverage/security/policy",
"source": "https://github.com/sebastianbergmann/php-code-coverage/tree/9.2.29"
},
"funding": [
{
@ -625,7 +624,7 @@
"type": "github"
}
],
"time": "2022-08-30T12:24:04+00:00"
"time": "2023-09-19T04:57:46+00:00"
},
{
"name": "phpunit/php-file-iterator",
@ -870,20 +869,20 @@
},
{
"name": "phpunit/phpunit",
"version": "9.5.24",
"version": "9.6.13",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/phpunit.git",
"reference": "d0aa6097bef9fd42458a9b3c49da32c6ce6129c5"
"reference": "f3d767f7f9e191eab4189abe41ab37797e30b1be"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/d0aa6097bef9fd42458a9b3c49da32c6ce6129c5",
"reference": "d0aa6097bef9fd42458a9b3c49da32c6ce6129c5",
"url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/f3d767f7f9e191eab4189abe41ab37797e30b1be",
"reference": "f3d767f7f9e191eab4189abe41ab37797e30b1be",
"shasum": ""
},
"require": {
"doctrine/instantiator": "^1.3.1",
"doctrine/instantiator": "^1.3.1 || ^2",
"ext-dom": "*",
"ext-json": "*",
"ext-libxml": "*",
@ -894,26 +893,26 @@
"phar-io/manifest": "^2.0.3",
"phar-io/version": "^3.0.2",
"php": ">=7.3",
"phpunit/php-code-coverage": "^9.2.13",
"phpunit/php-code-coverage": "^9.2.28",
"phpunit/php-file-iterator": "^3.0.5",
"phpunit/php-invoker": "^3.1.1",
"phpunit/php-text-template": "^2.0.3",
"phpunit/php-timer": "^5.0.2",
"sebastian/cli-parser": "^1.0.1",
"sebastian/code-unit": "^1.0.6",
"sebastian/comparator": "^4.0.5",
"sebastian/comparator": "^4.0.8",
"sebastian/diff": "^4.0.3",
"sebastian/environment": "^5.1.3",
"sebastian/exporter": "^4.0.3",
"sebastian/exporter": "^4.0.5",
"sebastian/global-state": "^5.0.1",
"sebastian/object-enumerator": "^4.0.3",
"sebastian/resource-operations": "^3.0.3",
"sebastian/type": "^3.1",
"sebastian/type": "^3.2",
"sebastian/version": "^3.0.2"
},
"suggest": {
"ext-soap": "*",
"ext-xdebug": "*"
"ext-soap": "To be able to generate mocks based on WSDL files",
"ext-xdebug": "PHP extension that provides line coverage as well as branch and path coverage"
},
"bin": [
"phpunit"
@ -921,7 +920,7 @@
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "9.5-dev"
"dev-master": "9.6-dev"
}
},
"autoload": {
@ -952,7 +951,8 @@
],
"support": {
"issues": "https://github.com/sebastianbergmann/phpunit/issues",
"source": "https://github.com/sebastianbergmann/phpunit/tree/9.5.24"
"security": "https://github.com/sebastianbergmann/phpunit/security/policy",
"source": "https://github.com/sebastianbergmann/phpunit/tree/9.6.13"
},
"funding": [
{
@ -962,9 +962,13 @@
{
"url": "https://github.com/sebastianbergmann",
"type": "github"
},
{
"url": "https://tidelift.com/funding/github/packagist/phpunit/phpunit",
"type": "tidelift"
}
],
"time": "2022-08-30T07:42:16+00:00"
"time": "2023-09-19T05:39:22+00:00"
},
{
"name": "psalm/phar",
@ -1371,16 +1375,16 @@
},
{
"name": "sebastian/comparator",
"version": "4.0.6",
"version": "4.0.8",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/comparator.git",
"reference": "55f4261989e546dc112258c7a75935a81a7ce382"
"reference": "fa0f136dd2334583309d32b62544682ee972b51a"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/55f4261989e546dc112258c7a75935a81a7ce382",
"reference": "55f4261989e546dc112258c7a75935a81a7ce382",
"url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/fa0f136dd2334583309d32b62544682ee972b51a",
"reference": "fa0f136dd2334583309d32b62544682ee972b51a",
"shasum": ""
},
"require": {
@ -1433,7 +1437,7 @@
],
"support": {
"issues": "https://github.com/sebastianbergmann/comparator/issues",
"source": "https://github.com/sebastianbergmann/comparator/tree/4.0.6"
"source": "https://github.com/sebastianbergmann/comparator/tree/4.0.8"
},
"funding": [
{
@ -1441,7 +1445,7 @@
"type": "github"
}
],
"time": "2020-10-26T15:49:45+00:00"
"time": "2022-09-14T12:41:17+00:00"
},
{
"name": "sebastian/complexity",
@ -1568,16 +1572,16 @@
},
{
"name": "sebastian/environment",
"version": "5.1.4",
"version": "5.1.5",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/environment.git",
"reference": "1b5dff7bb151a4db11d49d90e5408e4e938270f7"
"reference": "830c43a844f1f8d5b7a1f6d6076b784454d8b7ed"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/sebastianbergmann/environment/zipball/1b5dff7bb151a4db11d49d90e5408e4e938270f7",
"reference": "1b5dff7bb151a4db11d49d90e5408e4e938270f7",
"url": "https://api.github.com/repos/sebastianbergmann/environment/zipball/830c43a844f1f8d5b7a1f6d6076b784454d8b7ed",
"reference": "830c43a844f1f8d5b7a1f6d6076b784454d8b7ed",
"shasum": ""
},
"require": {
@ -1619,7 +1623,7 @@
],
"support": {
"issues": "https://github.com/sebastianbergmann/environment/issues",
"source": "https://github.com/sebastianbergmann/environment/tree/5.1.4"
"source": "https://github.com/sebastianbergmann/environment/tree/5.1.5"
},
"funding": [
{
@ -1627,20 +1631,20 @@
"type": "github"
}
],
"time": "2022-04-03T09:37:03+00:00"
"time": "2023-02-03T06:03:51+00:00"
},
{
"name": "sebastian/exporter",
"version": "4.0.4",
"version": "4.0.5",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/exporter.git",
"reference": "65e8b7db476c5dd267e65eea9cab77584d3cfff9"
"reference": "ac230ed27f0f98f597c8a2b6eb7ac563af5e5b9d"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/65e8b7db476c5dd267e65eea9cab77584d3cfff9",
"reference": "65e8b7db476c5dd267e65eea9cab77584d3cfff9",
"url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/ac230ed27f0f98f597c8a2b6eb7ac563af5e5b9d",
"reference": "ac230ed27f0f98f597c8a2b6eb7ac563af5e5b9d",
"shasum": ""
},
"require": {
@ -1696,7 +1700,7 @@
],
"support": {
"issues": "https://github.com/sebastianbergmann/exporter/issues",
"source": "https://github.com/sebastianbergmann/exporter/tree/4.0.4"
"source": "https://github.com/sebastianbergmann/exporter/tree/4.0.5"
},
"funding": [
{
@ -1704,20 +1708,20 @@
"type": "github"
}
],
"time": "2021-11-11T14:18:36+00:00"
"time": "2022-09-14T06:03:37+00:00"
},
{
"name": "sebastian/global-state",
"version": "5.0.5",
"version": "5.0.6",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/global-state.git",
"reference": "0ca8db5a5fc9c8646244e629625ac486fa286bf2"
"reference": "bde739e7565280bda77be70044ac1047bc007e34"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/sebastianbergmann/global-state/zipball/0ca8db5a5fc9c8646244e629625ac486fa286bf2",
"reference": "0ca8db5a5fc9c8646244e629625ac486fa286bf2",
"url": "https://api.github.com/repos/sebastianbergmann/global-state/zipball/bde739e7565280bda77be70044ac1047bc007e34",
"reference": "bde739e7565280bda77be70044ac1047bc007e34",
"shasum": ""
},
"require": {
@ -1760,7 +1764,7 @@
],
"support": {
"issues": "https://github.com/sebastianbergmann/global-state/issues",
"source": "https://github.com/sebastianbergmann/global-state/tree/5.0.5"
"source": "https://github.com/sebastianbergmann/global-state/tree/5.0.6"
},
"funding": [
{
@ -1768,7 +1772,7 @@
"type": "github"
}
],
"time": "2022-02-14T08:28:10+00:00"
"time": "2023-08-02T09:26:13+00:00"
},
{
"name": "sebastian/lines-of-code",
@ -1941,16 +1945,16 @@
},
{
"name": "sebastian/recursion-context",
"version": "4.0.4",
"version": "4.0.5",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/recursion-context.git",
"reference": "cd9d8cf3c5804de4341c283ed787f099f5506172"
"reference": "e75bd0f07204fec2a0af9b0f3cfe97d05f92efc1"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/sebastianbergmann/recursion-context/zipball/cd9d8cf3c5804de4341c283ed787f099f5506172",
"reference": "cd9d8cf3c5804de4341c283ed787f099f5506172",
"url": "https://api.github.com/repos/sebastianbergmann/recursion-context/zipball/e75bd0f07204fec2a0af9b0f3cfe97d05f92efc1",
"reference": "e75bd0f07204fec2a0af9b0f3cfe97d05f92efc1",
"shasum": ""
},
"require": {
@ -1989,10 +1993,10 @@
}
],
"description": "Provides functionality to recursively process PHP variables",
"homepage": "http://www.github.com/sebastianbergmann/recursion-context",
"homepage": "https://github.com/sebastianbergmann/recursion-context",
"support": {
"issues": "https://github.com/sebastianbergmann/recursion-context/issues",
"source": "https://github.com/sebastianbergmann/recursion-context/tree/4.0.4"
"source": "https://github.com/sebastianbergmann/recursion-context/tree/4.0.5"
},
"funding": [
{
@ -2000,7 +2004,7 @@
"type": "github"
}
],
"time": "2020-10-26T13:17:30+00:00"
"time": "2023-02-03T06:07:39+00:00"
},
{
"name": "sebastian/resource-operations",
@ -2059,16 +2063,16 @@
},
{
"name": "sebastian/type",
"version": "3.1.0",
"version": "3.2.1",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/type.git",
"reference": "fb44e1cc6e557418387ad815780360057e40753e"
"reference": "75e2c2a32f5e0b3aef905b9ed0b179b953b3d7c7"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/sebastianbergmann/type/zipball/fb44e1cc6e557418387ad815780360057e40753e",
"reference": "fb44e1cc6e557418387ad815780360057e40753e",
"url": "https://api.github.com/repos/sebastianbergmann/type/zipball/75e2c2a32f5e0b3aef905b9ed0b179b953b3d7c7",
"reference": "75e2c2a32f5e0b3aef905b9ed0b179b953b3d7c7",
"shasum": ""
},
"require": {
@ -2080,7 +2084,7 @@
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "3.1-dev"
"dev-master": "3.2-dev"
}
},
"autoload": {
@ -2103,7 +2107,7 @@
"homepage": "https://github.com/sebastianbergmann/type",
"support": {
"issues": "https://github.com/sebastianbergmann/type/issues",
"source": "https://github.com/sebastianbergmann/type/tree/3.1.0"
"source": "https://github.com/sebastianbergmann/type/tree/3.2.1"
},
"funding": [
{
@ -2111,7 +2115,7 @@
"type": "github"
}
],
"time": "2022-08-29T06:55:37+00:00"
"time": "2023-02-03T06:13:03+00:00"
},
{
"name": "sebastian/version",
@ -2168,16 +2172,16 @@
},
{
"name": "symfony/polyfill-mbstring",
"version": "v1.27.0",
"version": "v1.28.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/polyfill-mbstring.git",
"reference": "8ad114f6b39e2c98a8b0e3bd907732c207c2b534"
"reference": "42292d99c55abe617799667f454222c54c60e229"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/8ad114f6b39e2c98a8b0e3bd907732c207c2b534",
"reference": "8ad114f6b39e2c98a8b0e3bd907732c207c2b534",
"url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/42292d99c55abe617799667f454222c54c60e229",
"reference": "42292d99c55abe617799667f454222c54c60e229",
"shasum": ""
},
"require": {
@ -2192,7 +2196,7 @@
"type": "library",
"extra": {
"branch-alias": {
"dev-main": "1.27-dev"
"dev-main": "1.28-dev"
},
"thanks": {
"name": "symfony/polyfill",
@ -2231,7 +2235,7 @@
"shim"
],
"support": {
"source": "https://github.com/symfony/polyfill-mbstring/tree/v1.27.0"
"source": "https://github.com/symfony/polyfill-mbstring/tree/v1.28.0"
},
"funding": [
{
@ -2247,20 +2251,20 @@
"type": "tidelift"
}
],
"time": "2022-11-03T14:55:06+00:00"
"time": "2023-07-28T09:04:16+00:00"
},
{
"name": "symfony/polyfill-php80",
"version": "v1.27.0",
"version": "v1.28.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/polyfill-php80.git",
"reference": "7a6ff3f1959bb01aefccb463a0f2cd3d3d2fd936"
"reference": "6caa57379c4aec19c0a12a38b59b26487dcfe4b5"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/polyfill-php80/zipball/7a6ff3f1959bb01aefccb463a0f2cd3d3d2fd936",
"reference": "7a6ff3f1959bb01aefccb463a0f2cd3d3d2fd936",
"url": "https://api.github.com/repos/symfony/polyfill-php80/zipball/6caa57379c4aec19c0a12a38b59b26487dcfe4b5",
"reference": "6caa57379c4aec19c0a12a38b59b26487dcfe4b5",
"shasum": ""
},
"require": {
@ -2269,7 +2273,7 @@
"type": "library",
"extra": {
"branch-alias": {
"dev-main": "1.27-dev"
"dev-main": "1.28-dev"
},
"thanks": {
"name": "symfony/polyfill",
@ -2314,7 +2318,7 @@
"shim"
],
"support": {
"source": "https://github.com/symfony/polyfill-php80/tree/v1.27.0"
"source": "https://github.com/symfony/polyfill-php80/tree/v1.28.0"
},
"funding": [
{
@ -2330,20 +2334,20 @@
"type": "tidelift"
}
],
"time": "2022-11-03T14:55:06+00:00"
"time": "2023-01-26T09:26:14+00:00"
},
{
"name": "symfony/process",
"version": "v5.4.24",
"version": "v5.4.28",
"source": {
"type": "git",
"url": "https://github.com/symfony/process.git",
"reference": "e3c46cc5689c8782944274bb30702106ecbe3b64"
"reference": "45261e1fccad1b5447a8d7a8e67aa7b4a9798b7b"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/process/zipball/e3c46cc5689c8782944274bb30702106ecbe3b64",
"reference": "e3c46cc5689c8782944274bb30702106ecbe3b64",
"url": "https://api.github.com/repos/symfony/process/zipball/45261e1fccad1b5447a8d7a8e67aa7b4a9798b7b",
"reference": "45261e1fccad1b5447a8d7a8e67aa7b4a9798b7b",
"shasum": ""
},
"require": {
@ -2376,7 +2380,7 @@
"description": "Executes commands in sub-processes",
"homepage": "https://symfony.com",
"support": {
"source": "https://github.com/symfony/process/tree/v5.4.24"
"source": "https://github.com/symfony/process/tree/v5.4.28"
},
"funding": [
{
@ -2392,7 +2396,7 @@
"type": "tidelift"
}
],
"time": "2023-05-17T11:26:05+00:00"
"time": "2023-08-07T10:36:04+00:00"
},
{
"name": "theseer/tokenizer",
@ -2457,5 +2461,5 @@
"platform-overrides": {
"php": "7.4"
},
"plugin-api-version": "2.3.0"
"plugin-api-version": "2.6.0"
}

Просмотреть файл

@ -91,10 +91,10 @@ OC.L10N.register(
"Enter new category name" : "أدخِل اسم التصنيف الجديد",
"Cookbook settings" : "إعدادات كتاب الطهو",
"Download recipe from URL" : "قم بتنزيل الوصفة من عنوان URL",
"Failed to load category {category} recipes" : "فشل تحميل تصنيف الوصفة {category}",
"Failed to load category {category} recipes" : "فشل تحميل فئة الوصفة {category}",
"The server reported an error. Please check." : "أبلغ الخادوم عن خطأ. يرجى المراجعة.",
"Could not query the server. This might be a network problem." : "لا يمكن الاستعلام عن الخادوم. قد تكون هذه مشكلة في الشبكة.",
"Loading category recipes …" : "جارٍ تحميل تصنيفات الوصفات ...",
"Loading category recipes …" : "جارٍ تحميل فئات الوصفات ...",
"Failed to fetch categories" : "فشل في جلب التصنيفات",
"Enter URL or select from your Nextcloud instance on the right" : "أدخِل عنوان URL أو إختَر من خادوم نكست كلاود في الجانب",
"Pick a local image" : "إختَر صورةً محليّةً",
@ -113,7 +113,7 @@ OC.L10N.register(
"Preparation time (hours:minutes)" : "زمن التحضير (hours:minutes)",
"Cooking time (hours:minutes)" : "زمن الطهو (hours:minutes)",
"Total time (hours:minutes)" : "الزمن الكُلِّي (hours:minutes)",
"Choose category" : "اختر التصنيف",
"Choose category" : "اختر الفئة",
"Keywords" : "الكلمات المفتاحية",
"Choose keywords" : "إختر الكلمات الدّلالية",
"Servings" : "عدد الأشخاص Servings",
@ -146,6 +146,11 @@ OC.L10N.register(
"Could not start request to save recipe." : "تعذر بدء طلب حفظ الوصفة.",
"Recipe image" : "صورة الوصفة",
"Select order" : "إختَر ترتيباً",
"No recipes created or imported." : "لا توجد أي وصفات مُستحدَثة أو مُستورَدة",
"To get started, you may use the text box in the left navigation bar to import a new recipe. Click below to create a recipe from scratch." : "للبدء، يمكنك استعمال صندوق النص في شريط التنقل الجانبي لاستيراد وصفة جديدة. إضغط أدناه لإنشاء وصفة جديدة.",
"No recipes" : "لا توجد أيّ وصفاتٍ",
"No recipes matching the selected category found." : "لا توجد أي وصفات مطابقة للفئة المحددة",
"Try selecting a category from the left navigation bar." : "حاول اختيار فئة من شريط التنقل الجانبي.",
"Creation date" : "تاريخ الإنشاء",
"Modification date" : "تاريخ التعديل",
"Toggle keyword" : "تبديل الكلمات الدلالية ",

Просмотреть файл

@ -89,10 +89,10 @@
"Enter new category name" : "أدخِل اسم التصنيف الجديد",
"Cookbook settings" : "إعدادات كتاب الطهو",
"Download recipe from URL" : "قم بتنزيل الوصفة من عنوان URL",
"Failed to load category {category} recipes" : "فشل تحميل تصنيف الوصفة {category}",
"Failed to load category {category} recipes" : "فشل تحميل فئة الوصفة {category}",
"The server reported an error. Please check." : "أبلغ الخادوم عن خطأ. يرجى المراجعة.",
"Could not query the server. This might be a network problem." : "لا يمكن الاستعلام عن الخادوم. قد تكون هذه مشكلة في الشبكة.",
"Loading category recipes …" : "جارٍ تحميل تصنيفات الوصفات ...",
"Loading category recipes …" : "جارٍ تحميل فئات الوصفات ...",
"Failed to fetch categories" : "فشل في جلب التصنيفات",
"Enter URL or select from your Nextcloud instance on the right" : "أدخِل عنوان URL أو إختَر من خادوم نكست كلاود في الجانب",
"Pick a local image" : "إختَر صورةً محليّةً",
@ -111,7 +111,7 @@
"Preparation time (hours:minutes)" : "زمن التحضير (hours:minutes)",
"Cooking time (hours:minutes)" : "زمن الطهو (hours:minutes)",
"Total time (hours:minutes)" : "الزمن الكُلِّي (hours:minutes)",
"Choose category" : "اختر التصنيف",
"Choose category" : "اختر الفئة",
"Keywords" : "الكلمات المفتاحية",
"Choose keywords" : "إختر الكلمات الدّلالية",
"Servings" : "عدد الأشخاص Servings",
@ -144,6 +144,11 @@
"Could not start request to save recipe." : "تعذر بدء طلب حفظ الوصفة.",
"Recipe image" : "صورة الوصفة",
"Select order" : "إختَر ترتيباً",
"No recipes created or imported." : "لا توجد أي وصفات مُستحدَثة أو مُستورَدة",
"To get started, you may use the text box in the left navigation bar to import a new recipe. Click below to create a recipe from scratch." : "للبدء، يمكنك استعمال صندوق النص في شريط التنقل الجانبي لاستيراد وصفة جديدة. إضغط أدناه لإنشاء وصفة جديدة.",
"No recipes" : "لا توجد أيّ وصفاتٍ",
"No recipes matching the selected category found." : "لا توجد أي وصفات مطابقة للفئة المحددة",
"Try selecting a category from the left navigation bar." : "حاول اختيار فئة من شريط التنقل الجانبي.",
"Creation date" : "تاريخ الإنشاء",
"Modification date" : "تاريخ التعديل",
"Toggle keyword" : "تبديل الكلمات الدلالية ",

Просмотреть файл

@ -4,15 +4,19 @@ OC.L10N.register(
"Recipes" : "Recetes",
"Cookbook" : "Recetariu",
"All recipes" : "Toles recetes",
"Edit" : "Editar",
"Save" : "Guardar",
"Category" : "Categoría",
"Tags" : "Etiquetes",
"Add" : "Amestar",
"Name" : "Nome",
"Description" : "Descripción",
"URL" : "URL",
"Image" : "Imaxe",
"Tools" : "Ferramientes",
"Calories" : "Caloríes",
"Loading…" : "Cargando…",
"Nutrition information" : "Información nutricional"
"Nutrition information" : "Información nutricional",
"Cancel" : "Encaboxar"
},
"nplurals=2; plural=(n != 1);");

Просмотреть файл

@ -2,15 +2,19 @@
"Recipes" : "Recetes",
"Cookbook" : "Recetariu",
"All recipes" : "Toles recetes",
"Edit" : "Editar",
"Save" : "Guardar",
"Category" : "Categoría",
"Tags" : "Etiquetes",
"Add" : "Amestar",
"Name" : "Nome",
"Description" : "Descripción",
"URL" : "URL",
"Image" : "Imaxe",
"Tools" : "Ferramientes",
"Calories" : "Caloríes",
"Loading…" : "Cargando…",
"Nutrition information" : "Información nutricional"
"Nutrition information" : "Información nutricional",
"Cancel" : "Encaboxar"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
}

Просмотреть файл

@ -146,6 +146,11 @@ OC.L10N.register(
"Could not start request to save recipe." : "Požadavek na uložení receptu nebyl odeslán.",
"Recipe image" : "Obrázek receptu",
"Select order" : "Vyberte pořadí",
"No recipes created or imported." : "Nevytvořeny nebo neimportovány žádné recepty",
"To get started, you may use the text box in the left navigation bar to import a new recipe. Click below to create a recipe from scratch." : "Pro začátek můžete použít textové pole v navigačním panelu vlevo a naimportovat nový recept. Kliknutím níže vytvoříte recept od začátku.",
"No recipes" : "Žádné recepty",
"No recipes matching the selected category found." : "Nenalezeny žádné recepte odpovídající vybrané kategorii.",
"Try selecting a category from the left navigation bar." : "Zkuste vybrat kategorii z panelu navigace vlevo.",
"Creation date" : "Datum vytvoření",
"Modification date" : "Datum změny",
"Toggle keyword" : "Přepnout klíčové slovo",

Просмотреть файл

@ -144,6 +144,11 @@
"Could not start request to save recipe." : "Požadavek na uložení receptu nebyl odeslán.",
"Recipe image" : "Obrázek receptu",
"Select order" : "Vyberte pořadí",
"No recipes created or imported." : "Nevytvořeny nebo neimportovány žádné recepty",
"To get started, you may use the text box in the left navigation bar to import a new recipe. Click below to create a recipe from scratch." : "Pro začátek můžete použít textové pole v navigačním panelu vlevo a naimportovat nový recept. Kliknutím níže vytvoříte recept od začátku.",
"No recipes" : "Žádné recepty",
"No recipes matching the selected category found." : "Nenalezeny žádné recepte odpovídající vybrané kategorii.",
"Try selecting a category from the left navigation bar." : "Zkuste vybrat kategorii z panelu navigace vlevo.",
"Creation date" : "Datum vytvoření",
"Modification date" : "Datum změny",
"Toggle keyword" : "Přepnout klíčové slovo",

Просмотреть файл

@ -146,6 +146,11 @@ OC.L10N.register(
"Could not start request to save recipe." : "Das Rezept konnte nicht gespeichert werden.",
"Recipe image" : "Bild für das Rezept",
"Select order" : "Sortierung auswählen",
"No recipes created or imported." : "Keine Rezepte erstellt oder importiert",
"To get started, you may use the text box in the left navigation bar to import a new recipe. Click below to create a recipe from scratch." : "Um zu beginnen, kannst du das Textfeld in der linken Navigationsleiste verwenden, um ein neues Rezept zu importieren. Klicke unten, um ein Rezept von Grund auf neu zu erstellen.",
"No recipes" : "Keine Rezepte",
"No recipes matching the selected category found." : "Keine Rezepte, die der gewählten Kategorie entsprechen, gefunden.",
"Try selecting a category from the left navigation bar." : "Versuche, in der linken Navigationsleiste eine Kategorie auszuwählen.",
"Creation date" : "Erstellungsdatum",
"Modification date" : "Bearbeitungsdatum",
"Toggle keyword" : "Schlüsselwort umschalten",

Просмотреть файл

@ -144,6 +144,11 @@
"Could not start request to save recipe." : "Das Rezept konnte nicht gespeichert werden.",
"Recipe image" : "Bild für das Rezept",
"Select order" : "Sortierung auswählen",
"No recipes created or imported." : "Keine Rezepte erstellt oder importiert",
"To get started, you may use the text box in the left navigation bar to import a new recipe. Click below to create a recipe from scratch." : "Um zu beginnen, kannst du das Textfeld in der linken Navigationsleiste verwenden, um ein neues Rezept zu importieren. Klicke unten, um ein Rezept von Grund auf neu zu erstellen.",
"No recipes" : "Keine Rezepte",
"No recipes matching the selected category found." : "Keine Rezepte, die der gewählten Kategorie entsprechen, gefunden.",
"Try selecting a category from the left navigation bar." : "Versuche, in der linken Navigationsleiste eine Kategorie auszuwählen.",
"Creation date" : "Erstellungsdatum",
"Modification date" : "Bearbeitungsdatum",
"Toggle keyword" : "Schlüsselwort umschalten",

Просмотреть файл

@ -146,6 +146,11 @@ OC.L10N.register(
"Could not start request to save recipe." : "Die Anforderung zum Speichern des Rezepts konnte nicht gestartet werden.",
"Recipe image" : "Rezept-Bild",
"Select order" : "Sortierung auswählen",
"No recipes created or imported." : "Keine Rezepte erstellt oder importiert",
"To get started, you may use the text box in the left navigation bar to import a new recipe. Click below to create a recipe from scratch." : "Um zu beginnen, können Sie das Textfeld in der linken Navigationsleiste verwenden, um ein neues Rezept zu importieren. Klicken Sie unten, um ein Rezept von Grund auf neu zu erstellen.",
"No recipes" : "Keine Rezepte",
"No recipes matching the selected category found." : "Keine Rezepte gefunden, die der gewählten Kategorie entsprechen.",
"Try selecting a category from the left navigation bar." : "Versuchen Sie, in der linken Navigationsleiste eine Kategorie auszuwählen.",
"Creation date" : "Erstellungsdatum",
"Modification date" : "Bearbeitungsdatum",
"Toggle keyword" : "Schlüsselwort umschalten",

Просмотреть файл

@ -144,6 +144,11 @@
"Could not start request to save recipe." : "Die Anforderung zum Speichern des Rezepts konnte nicht gestartet werden.",
"Recipe image" : "Rezept-Bild",
"Select order" : "Sortierung auswählen",
"No recipes created or imported." : "Keine Rezepte erstellt oder importiert",
"To get started, you may use the text box in the left navigation bar to import a new recipe. Click below to create a recipe from scratch." : "Um zu beginnen, können Sie das Textfeld in der linken Navigationsleiste verwenden, um ein neues Rezept zu importieren. Klicken Sie unten, um ein Rezept von Grund auf neu zu erstellen.",
"No recipes" : "Keine Rezepte",
"No recipes matching the selected category found." : "Keine Rezepte gefunden, die der gewählten Kategorie entsprechen.",
"Try selecting a category from the left navigation bar." : "Versuchen Sie, in der linken Navigationsleiste eine Kategorie auszuwählen.",
"Creation date" : "Erstellungsdatum",
"Modification date" : "Bearbeitungsdatum",
"Toggle keyword" : "Schlüsselwort umschalten",

Просмотреть файл

@ -56,7 +56,7 @@ OC.L10N.register(
"The thumbnail type %d is not known." : "Le type de vignette %d est inconnu.",
"Cookbook" : "Livre de recettes",
"An integrated cookbook using schema.org JSON files as recipes" : "Un livre de recettes intégré utilisant les fichiers JSON de schema.org pour stocker les recettes",
"A library for all your recipes. It uses JSON files following the schema.org recipe format. To add a recipe to the collection, you can paste in the URL of the recipe, and the provided web page will be parsed and downloaded to whichever folder you specify in the app settings." : "Un gestionnaire pour toutes vos recettes. Utilise des fichiers JSON suivant les modèles de recettes de schema.org. Pour ajouter une recette à la collection, vous pouvez coller l'URL de la recette, et la page Web fournie sera analysée et téléchargée dans n'importe quel dossier que vous spécifiez dans les paramètres de l'application.",
"A library for all your recipes. It uses JSON files following the schema.org recipe format. To add a recipe to the collection, you can paste in the URL of the recipe, and the provided web page will be parsed and downloaded to whichever folder you specify in the app settings." : "Un gestionnaire pour toutes vos recettes. Il utilise des fichiers JSON suivant les modèles de recettes de schema.org. Pour ajouter une recette à la collection, vous pouvez coller l'URL de la recette, et la page Web fournie sera analysée et téléchargée dans n'importe quel dossier spécifié dans les paramètres de l'application.",
"Editing recipe" : "Modification de la recette",
"Viewing recipe" : "Consultation de la recette",
"All recipes" : "Toutes les recettes",
@ -70,7 +70,7 @@ OC.L10N.register(
"Save" : "Enregistrer",
"Search" : "Rechercher",
"Reload recipe" : "Recharger la recette",
"Abort editing" : "Abandonner l'édition",
"Abort editing" : "Annuler l'édition",
"Print recipe" : "Imprimer la recette",
"Delete recipe" : "Effacer la recette",
"Filter" : "Filtrer",
@ -89,19 +89,19 @@ OC.L10N.register(
"Categories" : "Catégories",
"Rename" : "Renommer",
"Enter new category name" : "Saisir le nom de la nouvelle catégorie",
"Cookbook settings" : "Paramètres du livre de cuisine",
"Download recipe from URL" : "Télécharger la recette depuis l'URL",
"Cookbook settings" : "Paramètres de Livre de cuisine",
"Download recipe from URL" : "Téléch. recette via une URL",
"Failed to load category {category} recipes" : "Impossible de charger les recette de la catégorie {category}",
"The server reported an error. Please check." : "Le serveur a signalé une erreur. Merci de vérifier.",
"Could not query the server. This might be a network problem." : "Requête au serveur impossible. Cela peut être dû à un problème réseau.",
"Loading category recipes …" : "Chargement des recettes de la catégorie ...",
"Failed to fetch categories" : "Impossible de récupérer les catégories",
"Enter URL or select from your Nextcloud instance on the right" : "Saisir l'URL ou sélectionner sur la droite depuis votre instance Nextcloud",
"Enter URL or select from your Nextcloud instance on the right" : "Saisir l'URL ou sélectionner depuis votre instance Nextcloud avec l'icône à droite.",
"Pick a local image" : "Choisir une image locale",
"Path to your recipe image" : "Chemin vers votre image d'illustration",
"Move entry up" : "Déplacer vers le haut",
"Move entry down" : "Déplacer vers le bas",
"Insert entry above" : "Insérer une entrée au dessus",
"Insert entry above" : "Insérer une entrée au-dessus",
"Delete entry" : "Supprimer l'entrée",
"Add" : "Ajouter",
"Close" : "Fermer",
@ -110,14 +110,14 @@ OC.L10N.register(
"Description" : "Description",
"URL" : "URL",
"Image" : "Image",
"Preparation time (hours:minutes)" : "Durée de préparation (heures:minutes)",
"Cooking time (hours:minutes)" : "Durée de cuisson (heures:minutes)",
"Preparation time (hours:minutes)" : "Temps de préparation (heures:minutes)",
"Cooking time (hours:minutes)" : "Temps de cuisson (heures:minutes)",
"Total time (hours:minutes)" : "Durée totale (heures:minutes)",
"Choose category" : "Sélectionnez une catégorie",
"Keywords" : "Mots-clefs",
"Choose category" : "Sélectionner une catégorie",
"Keywords" : "Mots-clés",
"Choose keywords" : "Sélectionner des mots-clefs",
"Servings" : "Portions",
"Toggle if the number of servings is present" : "Changer si le nombre de portions est présent.",
"Toggle if the number of servings is present" : "Changer si le nombre de portions est indiqué",
"Nutrition Information" : "Informations nutritionnelles",
"Pick option" : "Choisir une option",
"Tools" : "Ustensiles",
@ -139,13 +139,18 @@ OC.L10N.register(
"Sugar content" : "Teneur en sucres",
"Trans-fat content" : "Teneur en acides gras trans",
"Unsaturated-fat content" : "Teneur en acides gras insaturés",
"Failed to fetch keywords" : "Impossible de récupérer les mots-clef",
"Failed to fetch keywords" : "Impossible de récupérer les mots-clés",
"Loading recipe failed" : "Erreur lors du chargement de la recette",
"Unknown answer returned from server. See logs." : "Réponse du serveur inconnu. Voir les logs.",
"Unknown answer returned from server. See logs." : "Réponse du serveur inconnu. Voir les journaux.",
"No answer for request was received." : "Pas de réponse reçue pour cette requête",
"Could not start request to save recipe." : "Impossible de démarrer une requête pour sauvegarder la recette.",
"Could not start request to save recipe." : "Impossible de lancer la requête pour sauvegarder la recette.",
"Recipe image" : "Image de la recette",
"Select order" : "Choisir l'ordre",
"No recipes created or imported." : "Aucune recette créée ou importée.",
"To get started, you may use the text box in the left navigation bar to import a new recipe. Click below to create a recipe from scratch." : "Pour commencer, vous pouvez utiliser la zone de texte dans la barre de navigation de gauche pour importer une nouvelle recette. Cliquez ci-dessous pour créer une recette de zéro.",
"No recipes" : "Aucune recette",
"No recipes matching the selected category found." : "Aucune recette n'a été trouvée dans à la catégorie sélectionnée.",
"Try selecting a category from the left navigation bar." : "Essayez de sélectionner une catégorie dans la barre de navigation de gauche.",
"Creation date" : "Date de création",
"Modification date" : "Date de modification",
"Toggle keyword" : "Choisir le mot-clef",
@ -181,22 +186,24 @@ OC.L10N.register(
"Recipe folder" : "Dossier des recettes",
"Please pick a folder" : "Veuillez choisir un dossier",
"Recipe display settings" : "Paramètres d'affichage de la recette",
"Info blocks" : "Blocs d'infos",
"Info blocks" : "Blocs d'informations",
"Frontend debug settings" : "Paramètres de débogage de l'interface",
"Rescan library" : "Rescanner la bibliothèque",
"Update interval in minutes" : "Intervalle de mise à jour en minutes",
"Print image with recipe" : "Imprimer l'image avec la recette",
"Show keyword cloud in recipe lists" : "Afficher le nuage de mots-clefs dans les listes de recettes",
"Control which blocks of information are shown in the recipe view. If you do not use some features and find them distracting, you may hide them." : "Contrôle quels blocs d'informations sont affichés dans la vue recette. Si vous n'utilisez pas certaines fonctionnalités et les trouvez gênantes, vous pouvez les cacher.",
"Preparation time" : "Durée de préparation",
"Cooking time" : "Durée de cuisson",
"Total time" : "Temps total",
"Preparation time" : "Temps de préparation",
"Cooking time" : "Temps de cuisson",
"Total time" : "Durée totale",
"Nutrition information" : "Informations nutritionnelles",
"This allows to temporarily enable logging in the browser console in case of problems. You will not need these settings by default." : "Ceci permet de temporairement activer l'enregistrement de la console du navigateur en cas de problème. Vous n'aurez pas besoin de ces paramètres par défaut.",
"Could not set preference for image printing" : "Impossible de définir le paramètre d'impression des images",
"Could not set recipe update interval to {interval}" : "Impossible de définir l'intervalle de mise à jour à {interval}",
"Could not save visible info blocks" : "Impossible d'enregistrer les blocs d'infos visibles",
"Could not set recipe folder to {path}" : "Impossible de définir {path} comme dossier de recette ",
"Loading config failed" : "Erreur lors du chargement de la configuration",
"Dismiss" : "Abandonner",
"Dismiss" : "Annuler",
"Cancel" : "Annuler",
"OK" : "OK"
},

Просмотреть файл

@ -54,7 +54,7 @@
"The thumbnail type %d is not known." : "Le type de vignette %d est inconnu.",
"Cookbook" : "Livre de recettes",
"An integrated cookbook using schema.org JSON files as recipes" : "Un livre de recettes intégré utilisant les fichiers JSON de schema.org pour stocker les recettes",
"A library for all your recipes. It uses JSON files following the schema.org recipe format. To add a recipe to the collection, you can paste in the URL of the recipe, and the provided web page will be parsed and downloaded to whichever folder you specify in the app settings." : "Un gestionnaire pour toutes vos recettes. Utilise des fichiers JSON suivant les modèles de recettes de schema.org. Pour ajouter une recette à la collection, vous pouvez coller l'URL de la recette, et la page Web fournie sera analysée et téléchargée dans n'importe quel dossier que vous spécifiez dans les paramètres de l'application.",
"A library for all your recipes. It uses JSON files following the schema.org recipe format. To add a recipe to the collection, you can paste in the URL of the recipe, and the provided web page will be parsed and downloaded to whichever folder you specify in the app settings." : "Un gestionnaire pour toutes vos recettes. Il utilise des fichiers JSON suivant les modèles de recettes de schema.org. Pour ajouter une recette à la collection, vous pouvez coller l'URL de la recette, et la page Web fournie sera analysée et téléchargée dans n'importe quel dossier spécifié dans les paramètres de l'application.",
"Editing recipe" : "Modification de la recette",
"Viewing recipe" : "Consultation de la recette",
"All recipes" : "Toutes les recettes",
@ -68,7 +68,7 @@
"Save" : "Enregistrer",
"Search" : "Rechercher",
"Reload recipe" : "Recharger la recette",
"Abort editing" : "Abandonner l'édition",
"Abort editing" : "Annuler l'édition",
"Print recipe" : "Imprimer la recette",
"Delete recipe" : "Effacer la recette",
"Filter" : "Filtrer",
@ -87,19 +87,19 @@
"Categories" : "Catégories",
"Rename" : "Renommer",
"Enter new category name" : "Saisir le nom de la nouvelle catégorie",
"Cookbook settings" : "Paramètres du livre de cuisine",
"Download recipe from URL" : "Télécharger la recette depuis l'URL",
"Cookbook settings" : "Paramètres de Livre de cuisine",
"Download recipe from URL" : "Téléch. recette via une URL",
"Failed to load category {category} recipes" : "Impossible de charger les recette de la catégorie {category}",
"The server reported an error. Please check." : "Le serveur a signalé une erreur. Merci de vérifier.",
"Could not query the server. This might be a network problem." : "Requête au serveur impossible. Cela peut être dû à un problème réseau.",
"Loading category recipes …" : "Chargement des recettes de la catégorie ...",
"Failed to fetch categories" : "Impossible de récupérer les catégories",
"Enter URL or select from your Nextcloud instance on the right" : "Saisir l'URL ou sélectionner sur la droite depuis votre instance Nextcloud",
"Enter URL or select from your Nextcloud instance on the right" : "Saisir l'URL ou sélectionner depuis votre instance Nextcloud avec l'icône à droite.",
"Pick a local image" : "Choisir une image locale",
"Path to your recipe image" : "Chemin vers votre image d'illustration",
"Move entry up" : "Déplacer vers le haut",
"Move entry down" : "Déplacer vers le bas",
"Insert entry above" : "Insérer une entrée au dessus",
"Insert entry above" : "Insérer une entrée au-dessus",
"Delete entry" : "Supprimer l'entrée",
"Add" : "Ajouter",
"Close" : "Fermer",
@ -108,14 +108,14 @@
"Description" : "Description",
"URL" : "URL",
"Image" : "Image",
"Preparation time (hours:minutes)" : "Durée de préparation (heures:minutes)",
"Cooking time (hours:minutes)" : "Durée de cuisson (heures:minutes)",
"Preparation time (hours:minutes)" : "Temps de préparation (heures:minutes)",
"Cooking time (hours:minutes)" : "Temps de cuisson (heures:minutes)",
"Total time (hours:minutes)" : "Durée totale (heures:minutes)",
"Choose category" : "Sélectionnez une catégorie",
"Keywords" : "Mots-clefs",
"Choose category" : "Sélectionner une catégorie",
"Keywords" : "Mots-clés",
"Choose keywords" : "Sélectionner des mots-clefs",
"Servings" : "Portions",
"Toggle if the number of servings is present" : "Changer si le nombre de portions est présent.",
"Toggle if the number of servings is present" : "Changer si le nombre de portions est indiqué",
"Nutrition Information" : "Informations nutritionnelles",
"Pick option" : "Choisir une option",
"Tools" : "Ustensiles",
@ -137,13 +137,18 @@
"Sugar content" : "Teneur en sucres",
"Trans-fat content" : "Teneur en acides gras trans",
"Unsaturated-fat content" : "Teneur en acides gras insaturés",
"Failed to fetch keywords" : "Impossible de récupérer les mots-clef",
"Failed to fetch keywords" : "Impossible de récupérer les mots-clés",
"Loading recipe failed" : "Erreur lors du chargement de la recette",
"Unknown answer returned from server. See logs." : "Réponse du serveur inconnu. Voir les logs.",
"Unknown answer returned from server. See logs." : "Réponse du serveur inconnu. Voir les journaux.",
"No answer for request was received." : "Pas de réponse reçue pour cette requête",
"Could not start request to save recipe." : "Impossible de démarrer une requête pour sauvegarder la recette.",
"Could not start request to save recipe." : "Impossible de lancer la requête pour sauvegarder la recette.",
"Recipe image" : "Image de la recette",
"Select order" : "Choisir l'ordre",
"No recipes created or imported." : "Aucune recette créée ou importée.",
"To get started, you may use the text box in the left navigation bar to import a new recipe. Click below to create a recipe from scratch." : "Pour commencer, vous pouvez utiliser la zone de texte dans la barre de navigation de gauche pour importer une nouvelle recette. Cliquez ci-dessous pour créer une recette de zéro.",
"No recipes" : "Aucune recette",
"No recipes matching the selected category found." : "Aucune recette n'a été trouvée dans à la catégorie sélectionnée.",
"Try selecting a category from the left navigation bar." : "Essayez de sélectionner une catégorie dans la barre de navigation de gauche.",
"Creation date" : "Date de création",
"Modification date" : "Date de modification",
"Toggle keyword" : "Choisir le mot-clef",
@ -179,22 +184,24 @@
"Recipe folder" : "Dossier des recettes",
"Please pick a folder" : "Veuillez choisir un dossier",
"Recipe display settings" : "Paramètres d'affichage de la recette",
"Info blocks" : "Blocs d'infos",
"Info blocks" : "Blocs d'informations",
"Frontend debug settings" : "Paramètres de débogage de l'interface",
"Rescan library" : "Rescanner la bibliothèque",
"Update interval in minutes" : "Intervalle de mise à jour en minutes",
"Print image with recipe" : "Imprimer l'image avec la recette",
"Show keyword cloud in recipe lists" : "Afficher le nuage de mots-clefs dans les listes de recettes",
"Control which blocks of information are shown in the recipe view. If you do not use some features and find them distracting, you may hide them." : "Contrôle quels blocs d'informations sont affichés dans la vue recette. Si vous n'utilisez pas certaines fonctionnalités et les trouvez gênantes, vous pouvez les cacher.",
"Preparation time" : "Durée de préparation",
"Cooking time" : "Durée de cuisson",
"Total time" : "Temps total",
"Preparation time" : "Temps de préparation",
"Cooking time" : "Temps de cuisson",
"Total time" : "Durée totale",
"Nutrition information" : "Informations nutritionnelles",
"This allows to temporarily enable logging in the browser console in case of problems. You will not need these settings by default." : "Ceci permet de temporairement activer l'enregistrement de la console du navigateur en cas de problème. Vous n'aurez pas besoin de ces paramètres par défaut.",
"Could not set preference for image printing" : "Impossible de définir le paramètre d'impression des images",
"Could not set recipe update interval to {interval}" : "Impossible de définir l'intervalle de mise à jour à {interval}",
"Could not save visible info blocks" : "Impossible d'enregistrer les blocs d'infos visibles",
"Could not set recipe folder to {path}" : "Impossible de définir {path} comme dossier de recette ",
"Loading config failed" : "Erreur lors du chargement de la configuration",
"Dismiss" : "Abandonner",
"Dismiss" : "Annuler",
"Cancel" : "Annuler",
"OK" : "OK"
},"pluralForm" :"nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"

Просмотреть файл

@ -47,7 +47,7 @@ OC.L10N.register(
"Download from %s failed as HTTP status code %d is not in expected range." : "Produciuse un fallo na descarga dende %s xa que o código de estado HTTP %d non está no intervalo agardado.",
"Could not find a valid encoding when parsing %s." : "Non foi posíbel atopar unha codificación válida ao analizar %s.",
"No parser found for the given import." : "Non se atopou ningún analizador para a importación indicada.",
"No recipe name was given. A unique name is required to store the recipe." : "Non se indicou ningún nome de receita. Precisase un nome único para almacenar a receita.",
"No recipe name was given. A unique name is required to store the recipe." : "Non se indicou ningún nome de receita. Precísase dun nome único para almacenar a receita.",
"Another recipe with that name already exists" : "Xa existe outra receita con ese nome",
"No recipe data found. This is a bug" : "Non se atoparon datos de receitas. Isto é un fallo",
"Recipe with ID %d not found." : "Non se atopou a receita co ID %d.",
@ -120,10 +120,10 @@ OC.L10N.register(
"Toggle if the number of servings is present" : "Cambiar se o número de racións está presente",
"Nutrition Information" : "Información nutricional",
"Pick option" : "Escolla a opción",
"Tools" : "Trebellos",
"Tools" : "Utensilios",
"Ingredients" : "Ingredientes",
"Instructions" : "Elaboración",
"You have unsaved changes! Do you still want to leave?" : "Ten cambios sen gardar. Está seguro de querer marchar?",
"You have unsaved changes! Do you still want to leave?" : "Ten cambios sen gardar. Está seguro de querer deixalo?",
"Calories" : "Calorias",
"E.g.: 450 kcal (amount & unit)" : "P. ex.: 450 kcal (cantidade e unidade)",
"Carbohydrate content" : "Contido de hidratos de carbono",
@ -146,6 +146,11 @@ OC.L10N.register(
"Could not start request to save recipe." : "Non foi posíbel iniciar a solicitude para gardar a receita.",
"Recipe image" : "Imaxe da receita",
"Select order" : "Seleccione a orde",
"No recipes created or imported." : "Non se crearon nin importaron receitas.",
"To get started, you may use the text box in the left navigation bar to import a new recipe. Click below to create a recipe from scratch." : "Para comezar, pode usar a caixa de texto da barra de navegación esquerda para importar unha nova receita. Prema a seguir para crear unha receita dende cero.",
"No recipes" : "Non hai receitas",
"No recipes matching the selected category found." : "Non se atoparon receitas que coincidan coa categoría seleccionada.",
"Try selecting a category from the left navigation bar." : "Probe a seleccionar unha categoría na barra de navegación esquerda.",
"Creation date" : "Data de creación",
"Modification date" : "Data de modificación",
"Toggle keyword" : "Alternar a palabra clave",

Просмотреть файл

@ -45,7 +45,7 @@
"Download from %s failed as HTTP status code %d is not in expected range." : "Produciuse un fallo na descarga dende %s xa que o código de estado HTTP %d non está no intervalo agardado.",
"Could not find a valid encoding when parsing %s." : "Non foi posíbel atopar unha codificación válida ao analizar %s.",
"No parser found for the given import." : "Non se atopou ningún analizador para a importación indicada.",
"No recipe name was given. A unique name is required to store the recipe." : "Non se indicou ningún nome de receita. Precisase un nome único para almacenar a receita.",
"No recipe name was given. A unique name is required to store the recipe." : "Non se indicou ningún nome de receita. Precísase dun nome único para almacenar a receita.",
"Another recipe with that name already exists" : "Xa existe outra receita con ese nome",
"No recipe data found. This is a bug" : "Non se atoparon datos de receitas. Isto é un fallo",
"Recipe with ID %d not found." : "Non se atopou a receita co ID %d.",
@ -118,10 +118,10 @@
"Toggle if the number of servings is present" : "Cambiar se o número de racións está presente",
"Nutrition Information" : "Información nutricional",
"Pick option" : "Escolla a opción",
"Tools" : "Trebellos",
"Tools" : "Utensilios",
"Ingredients" : "Ingredientes",
"Instructions" : "Elaboración",
"You have unsaved changes! Do you still want to leave?" : "Ten cambios sen gardar. Está seguro de querer marchar?",
"You have unsaved changes! Do you still want to leave?" : "Ten cambios sen gardar. Está seguro de querer deixalo?",
"Calories" : "Calorias",
"E.g.: 450 kcal (amount & unit)" : "P. ex.: 450 kcal (cantidade e unidade)",
"Carbohydrate content" : "Contido de hidratos de carbono",
@ -144,6 +144,11 @@
"Could not start request to save recipe." : "Non foi posíbel iniciar a solicitude para gardar a receita.",
"Recipe image" : "Imaxe da receita",
"Select order" : "Seleccione a orde",
"No recipes created or imported." : "Non se crearon nin importaron receitas.",
"To get started, you may use the text box in the left navigation bar to import a new recipe. Click below to create a recipe from scratch." : "Para comezar, pode usar a caixa de texto da barra de navegación esquerda para importar unha nova receita. Prema a seguir para crear unha receita dende cero.",
"No recipes" : "Non hai receitas",
"No recipes matching the selected category found." : "Non se atoparon receitas que coincidan coa categoría seleccionada.",
"Try selecting a category from the left navigation bar." : "Probe a seleccionar unha categoría na barra de navegación esquerda.",
"Creation date" : "Data de creación",
"Modification date" : "Data de modificación",
"Toggle keyword" : "Alternar a palabra clave",

Просмотреть файл

@ -56,7 +56,7 @@ OC.L10N.register(
"The thumbnail type %d is not known." : "Typ náhľadu %d nebol rozpoznaný.",
"Cookbook" : "Kuchárska kniha",
"An integrated cookbook using schema.org JSON files as recipes" : "Integrovaná kuchárska kniha používa ako recepty súbory JSON schema.org",
"A library for all your recipes. It uses JSON files following the schema.org recipe format. To add a recipe to the collection, you can paste in the URL of the recipe, and the provided web page will be parsed and downloaded to whichever folder you specify in the app settings." : "Knižnica pre všetky vaše recepty. Používa súbory JSON vo formáte receptov definovaných v schema.org. Ak chcete pridať recept, môžete ho pridať do URL receptu a poskytnutá webová stránka sa analyzuje a stiahne do ktoréhokoľvek adresára, ktorý nastavíte v aplikácii.",
"A library for all your recipes. It uses JSON files following the schema.org recipe format. To add a recipe to the collection, you can paste in the URL of the recipe, and the provided web page will be parsed and downloaded to whichever folder you specify in the app settings." : "Knižnica pre všetky vaše recepty. Používa súbory JSON vo formáte receptov definovaných v schema.org. Ak chcete pridať recept, môžete ho pridať do URL receptu a poskytnutá webová stránka sa analyzuje a stiahne do ktoréhokoľvek priečinka, ktorý nastavíte v aplikácii.",
"Editing recipe" : "Editovanie receptu",
"Viewing recipe" : "Prezeranie receptu",
"All recipes" : "Všetky recepty",
@ -89,13 +89,14 @@ OC.L10N.register(
"Categories" : "Kategórie",
"Rename" : "Premenovať",
"Enter new category name" : "Zadajte nový názov kategórie",
"Cookbook settings" : "Nastavenia Kuchárskej knihy",
"Download recipe from URL" : "Stiahnuť recept z URL",
"Failed to load category {category} recipes" : "Zlyhalo načítanie kategórie {category} receptov",
"The server reported an error. Please check." : "Server odpovedal chybou. Prosím skontrolujte.",
"Could not query the server. This might be a network problem." : "Nepodarilo sa zadať dotaz na server. Môže to byť problém so sieťou.",
"Loading category recipes …" : "Načítavanie kategórie receptov ...",
"Failed to fetch categories" : "Nepodarilo sa načítať kategórie",
"Enter URL or select from your Nextcloud instance on the right" : "Zadajte URL alebo vyberte z vašu inštanciu Nextcloud vpravo",
"Enter URL or select from your Nextcloud instance on the right" : "Zadajte URL alebo vyberte z vašej Nextcloud inštancie vpravo",
"Pick a local image" : "Vyberte miestny obrázok",
"Path to your recipe image" : "Cesta k obrázku receptu",
"Move entry up" : "Presunúť položku vyššie",
@ -125,7 +126,7 @@ OC.L10N.register(
"You have unsaved changes! Do you still want to leave?" : "Máte neuložené zmeny! Stále chcete odísť?",
"Calories" : "Kalórie",
"E.g.: 450 kcal (amount & unit)" : "Napr: 450 kcal (možstvo a jednotka)",
"Carbohydrate content" : "Obsah karbohydrátov",
"Carbohydrate content" : "Obsah sacharidov",
"E.g.: 2 g (amount & unit)" : "Napr: 2 g (možstvo a jednotka)",
"Cholesterol content" : "Obsah cholesterolu",
"Fat content" : "Obsah tuku",
@ -162,7 +163,7 @@ OC.L10N.register(
"Serving Size" : "Veľkosť porcie",
"Energy" : "Energia",
"Sugar" : "Cukor",
"Carbohydrate" : "Karbohydráty",
"Carbohydrate" : "Sacharidy",
"Cholesterol" : "Cholesterol",
"Fiber" : "Vláknina",
"Protein" : "Proteín",
@ -175,8 +176,10 @@ OC.L10N.register(
"Loading…" : "Načítava sa...",
"Failed to load recipes with keywords: {tags}" : "Zlyhalo načítavanie receptov s kľúčovými slovami : {tags}",
"Failed to load search results" : "Zlyhalo načítavanie výsledkov vyhľadávania",
"Recipe folder" : "Adresár receptu",
"Recipe folder" : "Priečinok pre recepty",
"Please pick a folder" : "Vyberte priečinok",
"Recipe display settings" : "Nastavenie zobrazenia receptov",
"Info blocks" : "Informačné bloky",
"Rescan library" : "Znovu prehľadať knižnicu",
"Update interval in minutes" : "Interval aktualizácie v minútach",
"Print image with recipe" : "Vytlačiť obrázok s receptom",
@ -184,8 +187,10 @@ OC.L10N.register(
"Preparation time" : "Doba prípravy",
"Cooking time" : "Čas varenia",
"Total time" : "Celkový čas",
"Nutrition information" : "Informácie o výžive",
"Could not set preference for image printing" : "Nedarí sa nastaviť predvoľbu pre tlač obrázkov",
"Could not set recipe update interval to {interval}" : "Interval aktualizácie receptu sa nepodarilo nastaviť na {interval}",
"Could not save visible info blocks" : "Nepodarilo sa uložiť viditeľné informačné bloky",
"Could not set recipe folder to {path}" : "Priečinok receptov sa nepodarilo nastaviť na {path}",
"Loading config failed" : "Načítanie nastavenia zlyhalo",
"Dismiss" : "Zatvoriť",

Просмотреть файл

@ -54,7 +54,7 @@
"The thumbnail type %d is not known." : "Typ náhľadu %d nebol rozpoznaný.",
"Cookbook" : "Kuchárska kniha",
"An integrated cookbook using schema.org JSON files as recipes" : "Integrovaná kuchárska kniha používa ako recepty súbory JSON schema.org",
"A library for all your recipes. It uses JSON files following the schema.org recipe format. To add a recipe to the collection, you can paste in the URL of the recipe, and the provided web page will be parsed and downloaded to whichever folder you specify in the app settings." : "Knižnica pre všetky vaše recepty. Používa súbory JSON vo formáte receptov definovaných v schema.org. Ak chcete pridať recept, môžete ho pridať do URL receptu a poskytnutá webová stránka sa analyzuje a stiahne do ktoréhokoľvek adresára, ktorý nastavíte v aplikácii.",
"A library for all your recipes. It uses JSON files following the schema.org recipe format. To add a recipe to the collection, you can paste in the URL of the recipe, and the provided web page will be parsed and downloaded to whichever folder you specify in the app settings." : "Knižnica pre všetky vaše recepty. Používa súbory JSON vo formáte receptov definovaných v schema.org. Ak chcete pridať recept, môžete ho pridať do URL receptu a poskytnutá webová stránka sa analyzuje a stiahne do ktoréhokoľvek priečinka, ktorý nastavíte v aplikácii.",
"Editing recipe" : "Editovanie receptu",
"Viewing recipe" : "Prezeranie receptu",
"All recipes" : "Všetky recepty",
@ -87,13 +87,14 @@
"Categories" : "Kategórie",
"Rename" : "Premenovať",
"Enter new category name" : "Zadajte nový názov kategórie",
"Cookbook settings" : "Nastavenia Kuchárskej knihy",
"Download recipe from URL" : "Stiahnuť recept z URL",
"Failed to load category {category} recipes" : "Zlyhalo načítanie kategórie {category} receptov",
"The server reported an error. Please check." : "Server odpovedal chybou. Prosím skontrolujte.",
"Could not query the server. This might be a network problem." : "Nepodarilo sa zadať dotaz na server. Môže to byť problém so sieťou.",
"Loading category recipes …" : "Načítavanie kategórie receptov ...",
"Failed to fetch categories" : "Nepodarilo sa načítať kategórie",
"Enter URL or select from your Nextcloud instance on the right" : "Zadajte URL alebo vyberte z vašu inštanciu Nextcloud vpravo",
"Enter URL or select from your Nextcloud instance on the right" : "Zadajte URL alebo vyberte z vašej Nextcloud inštancie vpravo",
"Pick a local image" : "Vyberte miestny obrázok",
"Path to your recipe image" : "Cesta k obrázku receptu",
"Move entry up" : "Presunúť položku vyššie",
@ -123,7 +124,7 @@
"You have unsaved changes! Do you still want to leave?" : "Máte neuložené zmeny! Stále chcete odísť?",
"Calories" : "Kalórie",
"E.g.: 450 kcal (amount & unit)" : "Napr: 450 kcal (možstvo a jednotka)",
"Carbohydrate content" : "Obsah karbohydrátov",
"Carbohydrate content" : "Obsah sacharidov",
"E.g.: 2 g (amount & unit)" : "Napr: 2 g (možstvo a jednotka)",
"Cholesterol content" : "Obsah cholesterolu",
"Fat content" : "Obsah tuku",
@ -160,7 +161,7 @@
"Serving Size" : "Veľkosť porcie",
"Energy" : "Energia",
"Sugar" : "Cukor",
"Carbohydrate" : "Karbohydráty",
"Carbohydrate" : "Sacharidy",
"Cholesterol" : "Cholesterol",
"Fiber" : "Vláknina",
"Protein" : "Proteín",
@ -173,8 +174,10 @@
"Loading…" : "Načítava sa...",
"Failed to load recipes with keywords: {tags}" : "Zlyhalo načítavanie receptov s kľúčovými slovami : {tags}",
"Failed to load search results" : "Zlyhalo načítavanie výsledkov vyhľadávania",
"Recipe folder" : "Adresár receptu",
"Recipe folder" : "Priečinok pre recepty",
"Please pick a folder" : "Vyberte priečinok",
"Recipe display settings" : "Nastavenie zobrazenia receptov",
"Info blocks" : "Informačné bloky",
"Rescan library" : "Znovu prehľadať knižnicu",
"Update interval in minutes" : "Interval aktualizácie v minútach",
"Print image with recipe" : "Vytlačiť obrázok s receptom",
@ -182,8 +185,10 @@
"Preparation time" : "Doba prípravy",
"Cooking time" : "Čas varenia",
"Total time" : "Celkový čas",
"Nutrition information" : "Informácie o výžive",
"Could not set preference for image printing" : "Nedarí sa nastaviť predvoľbu pre tlač obrázkov",
"Could not set recipe update interval to {interval}" : "Interval aktualizácie receptu sa nepodarilo nastaviť na {interval}",
"Could not save visible info blocks" : "Nepodarilo sa uložiť viditeľné informačné bloky",
"Could not set recipe folder to {path}" : "Priečinok receptov sa nepodarilo nastaviť na {path}",
"Loading config failed" : "Načítanie nastavenia zlyhalo",
"Dismiss" : "Zatvoriť",

Просмотреть файл

@ -146,6 +146,11 @@ OC.L10N.register(
"Could not start request to save recipe." : "Није могао да се започне захтев за чување рецепта.",
"Recipe image" : "Слика рецепта",
"Select order" : "Изаберите редослед",
"No recipes created or imported." : "Није креиран или увезен ниједан рецепт.",
"To get started, you may use the text box in the left navigation bar to import a new recipe. Click below to create a recipe from scratch." : "Да бисте почели, можете да употребите текст поље у левој навигациониј траци да увезете нови рецепт. Кликлните испод да креирате нови празан рецепт.",
"No recipes" : "Нема рецепата",
"No recipes matching the selected category found." : "Није пронађен ниједан рецепр који задовољава изабрану категорију.",
"Try selecting a category from the left navigation bar." : "Покушајте да изаберете категорију из леве навигационе траке.",
"Creation date" : "Датум креирања",
"Modification date" : "Датум измене",
"Toggle keyword" : "Укључи/искључи кључну реч",

Просмотреть файл

@ -144,6 +144,11 @@
"Could not start request to save recipe." : "Није могао да се започне захтев за чување рецепта.",
"Recipe image" : "Слика рецепта",
"Select order" : "Изаберите редослед",
"No recipes created or imported." : "Није креиран или увезен ниједан рецепт.",
"To get started, you may use the text box in the left navigation bar to import a new recipe. Click below to create a recipe from scratch." : "Да бисте почели, можете да употребите текст поље у левој навигациониј траци да увезете нови рецепт. Кликлните испод да креирате нови празан рецепт.",
"No recipes" : "Нема рецепата",
"No recipes matching the selected category found." : "Није пронађен ниједан рецепр који задовољава изабрану категорију.",
"Try selecting a category from the left navigation bar." : "Покушајте да изаберете категорију из леве навигационе траке.",
"Creation date" : "Датум креирања",
"Modification date" : "Датум измене",
"Toggle keyword" : "Укључи/искључи кључну реч",

Просмотреть файл

@ -146,6 +146,11 @@ OC.L10N.register(
"Could not start request to save recipe." : "Yemek tarifini kaydetme isteği başlatılamadı.",
"Recipe image" : "Tarif görseli",
"Select order" : "Sıralamayı seçin",
"No recipes created or imported." : "Oluşturulmuş ya da içe aktarılmış bir tarif yok.",
"To get started, you may use the text box in the left navigation bar to import a new recipe. Click below to create a recipe from scratch." : "Başlamak için yeni bir tarifi içe aktarmak üzere sol gezinme çubuğundaki metin kutusunu kullanabilirsiniz. Sıfırdan bir tarif oluşturmak için aşağıya tıklayın.",
"No recipes" : "Herhangi bir tarif yok",
"No recipes matching the selected category found." : "Seçilmiş kategoriye uyan bir tarif bulunamadı.",
"Try selecting a category from the left navigation bar." : "Sol gezinme çubuğundan bir kategori seçmeyi deneyin.",
"Creation date" : "Eklenme tarihi",
"Modification date" : "Son değişiklik tarihi",
"Toggle keyword" : "Anahtar sözcüğü değiştir",

Просмотреть файл

@ -144,6 +144,11 @@
"Could not start request to save recipe." : "Yemek tarifini kaydetme isteği başlatılamadı.",
"Recipe image" : "Tarif görseli",
"Select order" : "Sıralamayı seçin",
"No recipes created or imported." : "Oluşturulmuş ya da içe aktarılmış bir tarif yok.",
"To get started, you may use the text box in the left navigation bar to import a new recipe. Click below to create a recipe from scratch." : "Başlamak için yeni bir tarifi içe aktarmak üzere sol gezinme çubuğundaki metin kutusunu kullanabilirsiniz. Sıfırdan bir tarif oluşturmak için aşağıya tıklayın.",
"No recipes" : "Herhangi bir tarif yok",
"No recipes matching the selected category found." : "Seçilmiş kategoriye uyan bir tarif bulunamadı.",
"Try selecting a category from the left navigation bar." : "Sol gezinme çubuğundan bir kategori seçmeyi deneyin.",
"Creation date" : "Eklenme tarihi",
"Modification date" : "Son değişiklik tarihi",
"Toggle keyword" : "Anahtar sözcüğü değiştir",

Просмотреть файл

@ -42,14 +42,30 @@ class ISO8601DurationHelper {
throw new InvalidDurationException($this->l->t('Could not parse duration {duration}', ['duration' => $duration]));
}
/**
* Parses the string $duration and checks if it has a valid ISO 8601 duration format. Otherwise throws
* InvalidDurationException.
*
* For reference of ISO 8601, see <a href="https://en.wikipedia.org/wiki/ISO_8601">Wikipedia</a>.
* @param string $duration
* @return string
* @throws InvalidDurationException if $duration does not comply to ISO 8601.
*/
private function parseIsoFormat(string $duration): string {
$pattern = '/^PT(\d+)H(?:(\d+)M(?:(\d+)S)?)?$/';
// P (for period) denotes the duration and must be at the start.
// The single parts are optional, but the lookahead (?=\d) ensures that there is some time (digit) given.
// Years, months, and days are improbable for recipes but so what.. ;) That being said: It's not supported.
$pattern = '/^P(?!$)(\d+Y)?(\d+M)?(\d+W)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+S)?)?$/';
$ret = preg_match($pattern, trim($duration), $matches);
if ($ret === 1) {
$hours = (int)$matches[1];
$minutes = (int) ($matches[2] ?? 0);
$seconds = (int) ($matches[3] ?? 0);
// $matches[0] is the complete string (like P1Y2M3DT4H5M6S)
// $matches[1] to $matches[3] is years to days (like 1Y 2M 3D)
// $matches[5] is the tome part of the string (like T4H5M6S)
// $matches[6] to $matches[8] is hours to seconds (like 4H 5M 6S)
$hours = (int)$matches[6];
$minutes = (int) ($matches[7] ?? 0);
$seconds = (int) ($matches[8] ?? 0);
while ($seconds >= 60) {
$seconds -= 60;

361
package-lock.json сгенерированный
Просмотреть файл

@ -1870,9 +1870,9 @@
}
},
"node_modules/@eslint/eslintrc": {
"version": "2.1.2",
"resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.2.tgz",
"integrity": "sha512-+wvgpDsrB1YqAMdEUCcnTlpfVBH7Vqn6A/NT3D8WVXFIaKMlErPIZT3oCIAVCOtarRpMtelZLqJeU3t7WY6X6g==",
"version": "2.1.3",
"resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.3.tgz",
"integrity": "sha512-yZzuIG+jnVu6hNSzFEN07e8BxF3uAzYtQb6uDkaYZLo6oYZDCq454c5kB8zxnzfCYyP4MIuyBn10L0DqwujTmA==",
"dev": true,
"dependencies": {
"ajv": "^6.12.4",
@ -1899,9 +1899,9 @@
"dev": true
},
"node_modules/@eslint/eslintrc/node_modules/globals": {
"version": "13.21.0",
"resolved": "https://registry.npmjs.org/globals/-/globals-13.21.0.tgz",
"integrity": "sha512-ybyme3s4yy/t/3s35bewwXKOf7cvzfreG2lH0lZl0JB7I4GxRP2ghxOK/Nb9EkRXdbBXZLfq/p/0W2JUONB/Gg==",
"version": "13.23.0",
"resolved": "https://registry.npmjs.org/globals/-/globals-13.23.0.tgz",
"integrity": "sha512-XAmF0RjlrjY23MA51q3HltdlGxUpXPvg0GioKiD9X6HD28iMjo2dKC8Vqwm7lne4GNr78+RHTfliktR6ZH09wA==",
"dev": true,
"dependencies": {
"type-fest": "^0.20.2"
@ -1938,9 +1938,9 @@
}
},
"node_modules/@eslint/js": {
"version": "8.51.0",
"resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.51.0.tgz",
"integrity": "sha512-HxjQ8Qn+4SI3/AFv6sOrDB+g6PpUTDwSJiQqOrnneEk8L71161srI9gjzzZvYVbzHiVg/BvcH95+cK/zfIt4pg==",
"version": "8.53.0",
"resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.53.0.tgz",
"integrity": "sha512-Kn7K8dx/5U6+cT1yEhpX1w4PCSg0M+XyRILPgvwcEBjerFWCwQj5sbr3/VmxqV0JGHCBCzyd6LxypEuehypY1w==",
"dev": true,
"engines": {
"node": "^12.22.0 || ^14.17.0 || >=16.0.0"
@ -1960,12 +1960,12 @@
}
},
"node_modules/@humanwhocodes/config-array": {
"version": "0.11.11",
"resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.11.tgz",
"integrity": "sha512-N2brEuAadi0CcdeMXUkhbZB84eskAc8MEX1By6qEchoVywSgXPIjou4rYsl0V3Hj0ZnuGycGCjdNgockbzeWNA==",
"version": "0.11.13",
"resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.13.tgz",
"integrity": "sha512-JSBDMiDKSzQVngfRjOdFXgFfklaXI4K9nLF49Auh21lmBWRLIK3+xTErTWD4KU54pb6coM6ESE7Awz/FNU3zgQ==",
"dev": true,
"dependencies": {
"@humanwhocodes/object-schema": "^1.2.1",
"@humanwhocodes/object-schema": "^2.0.1",
"debug": "^4.1.1",
"minimatch": "^3.0.5"
},
@ -1987,9 +1987,9 @@
}
},
"node_modules/@humanwhocodes/object-schema": {
"version": "1.2.1",
"resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz",
"integrity": "sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==",
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-2.0.1.tgz",
"integrity": "sha512-dvuCeX5fC9dXgJn9t+X5atfmgQAzUOWqS1254Gh0m6i8wKd10ebXkfNKiRK+1GWi/yTvvLDHpoxLr0xxxeslWw==",
"dev": true
},
"node_modules/@istanbuljs/load-nyc-config": {
@ -2761,9 +2761,9 @@
}
},
"node_modules/@mdi/svg": {
"version": "7.2.96",
"resolved": "https://registry.npmjs.org/@mdi/svg/-/svg-7.2.96.tgz",
"integrity": "sha512-rxzuSL2RSt/pWWnFnUFQi5GJArm2tHMhx20Gee3Ydn+xT2bqbR4syfgdPrq2b+j+n5LjC7C8Fb1QDM6LKeF0cA=="
"version": "7.3.67",
"resolved": "https://registry.npmjs.org/@mdi/svg/-/svg-7.3.67.tgz",
"integrity": "sha512-KNr7D8jbu8DEprgRckVywVBkajsGGqocFjOzlekv35UedLjpkMDTkFO8VYnhnLySL0QaPBa568fe8BZsB0TBJQ=="
},
"node_modules/@nextcloud/auth": {
"version": "2.1.0",
@ -2877,21 +2877,20 @@
}
},
"node_modules/@nextcloud/dialogs": {
"version": "4.2.1",
"resolved": "https://registry.npmjs.org/@nextcloud/dialogs/-/dialogs-4.2.1.tgz",
"integrity": "sha512-rimwdQ2AsE1X4cr5Z7EkWbtTSQyb/jXNNA4ZEZtcS3uBdRjwr0dbnvml7OhXCwrBjeYmn7+xT49MwoREO4DBAQ==",
"version": "4.2.2",
"resolved": "https://registry.npmjs.org/@nextcloud/dialogs/-/dialogs-4.2.2.tgz",
"integrity": "sha512-KC55NmEXxABt2aHDIZEvjEIOAmVuc9/tsqS2P2OmmkWzPT/IQH+y87vU1ZfkPNUblZQQ73nK1U4/JQpEk/FuuQ==",
"dependencies": {
"@mdi/svg": "^7.2.96",
"@mdi/svg": "^7.3.67",
"@nextcloud/files": "^3.0.0-beta.14",
"@nextcloud/l10n": "^2.2.0",
"@nextcloud/router": "^2.1.2",
"@nextcloud/typings": "^1.7.0",
"@nextcloud/vue": "^7.12.4",
"@types/toastify-js": "^1.12.1",
"@types/toastify-js": "^1.12.2",
"@vueuse/core": "^10.4.1",
"toastify-js": "^1.12.0",
"vue-frag": "^1.4.3",
"vue-material-design-icons": "^5.2.0",
"webdav": "^5.2.3"
},
"engines": {
@ -3155,9 +3154,9 @@
}
},
"node_modules/@nextcloud/vue": {
"version": "7.12.6",
"resolved": "https://registry.npmjs.org/@nextcloud/vue/-/vue-7.12.6.tgz",
"integrity": "sha512-8Blh7IeKUymLOehD7hgoidh8rk65ovIJrodzEWYv3VN9YtXrikWRLxulNSatAyupIHa4/4pt3RSHkHsct/Nfmw==",
"version": "7.12.7",
"resolved": "https://registry.npmjs.org/@nextcloud/vue/-/vue-7.12.7.tgz",
"integrity": "sha512-zMVlVnDCQ8pEZrIl5h9wXV1tHLiP1Qsmm6NJPxeTcix3JsbodkSmHJHWEv5VmQ7qWxUX2dPJeSoH8nk+qjbQ/A==",
"dependencies": {
"@floating-ui/dom": "^1.1.0",
"@nextcloud/auth": "^2.0.0",
@ -3707,9 +3706,9 @@
"integrity": "sha512-Hl219/BT5fLAaz6NDkSuhzasy49dwQS/DSdu4MdggFB8zcXv7vflBI3xp7FEmkmdDkBUI2bPUNeMttp2knYdxw=="
},
"node_modules/@types/toastify-js": {
"version": "1.12.1",
"resolved": "https://registry.npmjs.org/@types/toastify-js/-/toastify-js-1.12.1.tgz",
"integrity": "sha512-9CTM+LKFmS0+Ii+RH55XPKcmNxCjLticj8kxeCxa7PnSVCZPQurb9XtKQtoMl/fv7WaqUpRezDcFuY8n92CtUg=="
"version": "1.12.3",
"resolved": "https://registry.npmjs.org/@types/toastify-js/-/toastify-js-1.12.3.tgz",
"integrity": "sha512-9RjLlbAHMSaae/KZNHGv19VG4gcLIm3YjvacCXBtfMfYn26h76YP5oxXI8k26q4iKXCB9LNfv18lsoS0JnFPTg=="
},
"node_modules/@types/unist": {
"version": "2.0.7",
@ -3750,9 +3749,9 @@
"integrity": "sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ=="
},
"node_modules/@vue/compiler-sfc": {
"version": "2.7.14",
"resolved": "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-2.7.14.tgz",
"integrity": "sha512-aNmNHyLPsw+sVvlQFQ2/8sjNuLtK54TC6cuKnVzAY93ks4ZBrvwQSnkkIh7bsbNhum5hJBS00wSDipQ937f5DA==",
"version": "2.7.15",
"resolved": "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-2.7.15.tgz",
"integrity": "sha512-FCvIEevPmgCgqFBH7wD+3B97y7u7oj/Wr69zADBf403Tui377bThTjBvekaZvlRr4IwUAu3M6hYZeULZFJbdYg==",
"dependencies": {
"@babel/parser": "^7.18.4",
"postcss": "^8.4.14",
@ -4361,15 +4360,15 @@
"peer": true
},
"node_modules/array-includes": {
"version": "3.1.6",
"resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.6.tgz",
"integrity": "sha512-sgTbLvL6cNnw24FnbaDyjmvddQ2ML8arZsgaJhoABMoplz/4QRhtrYS+alr1BUM1Bwp6dhx8vVCBSLG+StwOFw==",
"version": "3.1.7",
"resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.7.tgz",
"integrity": "sha512-dlcsNBIiWhPkHdOEEKnehA+RNUWDc4UqFtnIXU4uuYDPtA4LDkr7qip2p0VvFAEXNDr0yWZ9PJyIRiGjRLQzwQ==",
"dev": true,
"dependencies": {
"call-bind": "^1.0.2",
"define-properties": "^1.1.4",
"es-abstract": "^1.20.4",
"get-intrinsic": "^1.1.3",
"define-properties": "^1.2.0",
"es-abstract": "^1.22.1",
"get-intrinsic": "^1.2.1",
"is-string": "^1.0.7"
},
"engines": {
@ -4401,16 +4400,16 @@
}
},
"node_modules/array.prototype.findlastindex": {
"version": "1.2.2",
"resolved": "https://registry.npmjs.org/array.prototype.findlastindex/-/array.prototype.findlastindex-1.2.2.tgz",
"integrity": "sha512-tb5thFFlUcp7NdNF6/MpDk/1r/4awWG1FIz3YqDf+/zJSTezBb+/5WViH41obXULHVpDzoiCLpJ/ZO9YbJMsdw==",
"version": "1.2.3",
"resolved": "https://registry.npmjs.org/array.prototype.findlastindex/-/array.prototype.findlastindex-1.2.3.tgz",
"integrity": "sha512-LzLoiOMAxvy+Gd3BAq3B7VeIgPdo+Q8hthvKtXybMvRV0jrXfJM/t8mw7nNlpEcVlVUnCnM2KSX4XU5HmpodOA==",
"dev": true,
"dependencies": {
"call-bind": "^1.0.2",
"define-properties": "^1.1.4",
"es-abstract": "^1.20.4",
"define-properties": "^1.2.0",
"es-abstract": "^1.22.1",
"es-shim-unscopables": "^1.0.0",
"get-intrinsic": "^1.1.3"
"get-intrinsic": "^1.2.1"
},
"engines": {
"node": ">= 0.4"
@ -4420,14 +4419,14 @@
}
},
"node_modules/array.prototype.flat": {
"version": "1.3.1",
"resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.3.1.tgz",
"integrity": "sha512-roTU0KWIOmJ4DRLmwKd19Otg0/mT3qPNt0Qb3GWW8iObuZXxrjB/pzn0R3hqpRSWg4HCwqx+0vwOnWnvlOyeIA==",
"version": "1.3.2",
"resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.3.2.tgz",
"integrity": "sha512-djYB+Zx2vLewY8RWlNCUdHjDXs2XOgm602S9E7P/UpHgfeHL00cRiIF+IN/G/aUJ7kGPb6yO/ErDI5V2s8iycA==",
"dev": true,
"dependencies": {
"call-bind": "^1.0.2",
"define-properties": "^1.1.4",
"es-abstract": "^1.20.4",
"define-properties": "^1.2.0",
"es-abstract": "^1.22.1",
"es-shim-unscopables": "^1.0.0"
},
"engines": {
@ -4438,14 +4437,14 @@
}
},
"node_modules/array.prototype.flatmap": {
"version": "1.3.1",
"resolved": "https://registry.npmjs.org/array.prototype.flatmap/-/array.prototype.flatmap-1.3.1.tgz",
"integrity": "sha512-8UGn9O1FDVvMNB0UlLv4voxRMze7+FpHyF5mSMRjWHUMlpoDViniy05870VlxhfgTnLbpuwTzvD76MTtWxB/mQ==",
"version": "1.3.2",
"resolved": "https://registry.npmjs.org/array.prototype.flatmap/-/array.prototype.flatmap-1.3.2.tgz",
"integrity": "sha512-Ewyx0c9PmpcsByhSW4r+9zDU7sGjFc86qf/kKtuSCRdhfbk0SNLLkaT5qvcHnRGgc5NP/ly/y+qkXkqONX54CQ==",
"dev": true,
"dependencies": {
"call-bind": "^1.0.2",
"define-properties": "^1.1.4",
"es-abstract": "^1.20.4",
"define-properties": "^1.2.0",
"es-abstract": "^1.22.1",
"es-shim-unscopables": "^1.0.0"
},
"engines": {
@ -4546,9 +4545,9 @@
}
},
"node_modules/axios": {
"version": "1.4.0",
"resolved": "https://registry.npmjs.org/axios/-/axios-1.4.0.tgz",
"integrity": "sha512-S4XCWMEmzvo64T9GfvQDOXgYRDJ/wsSZc7Jvdgx5u1sd0JwsuPLqb3SYmusag+edF6ziyMensPVqLTSc1PiSEA==",
"version": "1.6.1",
"resolved": "https://registry.npmjs.org/axios/-/axios-1.6.1.tgz",
"integrity": "sha512-vfBmhDpKafglh0EldBEbVuoe7DyAavGSLWhuSm5ZSEKQnHhBf0xAAwybbNH1IkrJNGnS/VG4I5yxig1pCEXE4g==",
"dependencies": {
"follow-redirects": "^1.15.0",
"form-data": "^4.0.0",
@ -5200,19 +5199,22 @@
}
},
"node_modules/browserify-sign": {
"version": "4.2.1",
"resolved": "https://registry.npmjs.org/browserify-sign/-/browserify-sign-4.2.1.tgz",
"integrity": "sha512-/vrA5fguVAKKAVTNJjgSm1tRQDHUU6DbwO9IROu/0WAzC8PKhucDSh18J0RMvVeHAn5puMd+QHC2erPRNf8lmg==",
"version": "4.2.2",
"resolved": "https://registry.npmjs.org/browserify-sign/-/browserify-sign-4.2.2.tgz",
"integrity": "sha512-1rudGyeYY42Dk6texmv7c4VcQ0EsvVbLwZkA+AQB7SxvXxmcD93jcHie8bzecJ+ChDlmAm2Qyu0+Ccg5uhZXCg==",
"dependencies": {
"bn.js": "^5.1.1",
"browserify-rsa": "^4.0.1",
"bn.js": "^5.2.1",
"browserify-rsa": "^4.1.0",
"create-hash": "^1.2.0",
"create-hmac": "^1.1.7",
"elliptic": "^6.5.3",
"elliptic": "^6.5.4",
"inherits": "^2.0.4",
"parse-asn1": "^5.1.5",
"readable-stream": "^3.6.0",
"safe-buffer": "^5.2.0"
"parse-asn1": "^5.1.6",
"readable-stream": "^3.6.2",
"safe-buffer": "^5.2.1"
},
"engines": {
"node": ">= 4"
}
},
"node_modules/browserify-sign/node_modules/readable-stream": {
@ -6671,12 +6673,12 @@
}
},
"node_modules/es-shim-unscopables": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/es-shim-unscopables/-/es-shim-unscopables-1.0.0.tgz",
"integrity": "sha512-Jm6GPcCdC30eMLbZ2x8z2WuRwAws3zTBBKuusffYVUrNj/GVSUAZ+xKMaUpfNDR5IbyNA5LJbaecoUVbmUcB1w==",
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/es-shim-unscopables/-/es-shim-unscopables-1.0.2.tgz",
"integrity": "sha512-J3yBRXCzDu4ULnQwxyToo/OjdMx6akgVC7K6few0a7F/0wLtmKKN7I73AH5T2836UuXRqN7Qg+IIUw/+YJksRw==",
"dev": true,
"dependencies": {
"has": "^1.0.3"
"hasown": "^2.0.0"
}
},
"node_modules/es-to-primitive": {
@ -6723,18 +6725,19 @@
}
},
"node_modules/eslint": {
"version": "8.51.0",
"resolved": "https://registry.npmjs.org/eslint/-/eslint-8.51.0.tgz",
"integrity": "sha512-2WuxRZBrlwnXi+/vFSJyjMqrNjtJqiasMzehF0shoLaW7DzS3/9Yvrmq5JiT66+pNjiX4UBnLDiKHcWAr/OInA==",
"version": "8.53.0",
"resolved": "https://registry.npmjs.org/eslint/-/eslint-8.53.0.tgz",
"integrity": "sha512-N4VuiPjXDUa4xVeV/GC/RV3hQW9Nw+Y463lkWaKKXKYMvmRiRDAtfpuPFLN+E1/6ZhyR8J2ig+eVREnYgUsiag==",
"dev": true,
"dependencies": {
"@eslint-community/eslint-utils": "^4.2.0",
"@eslint-community/regexpp": "^4.6.1",
"@eslint/eslintrc": "^2.1.2",
"@eslint/js": "8.51.0",
"@humanwhocodes/config-array": "^0.11.11",
"@eslint/eslintrc": "^2.1.3",
"@eslint/js": "8.53.0",
"@humanwhocodes/config-array": "^0.11.13",
"@humanwhocodes/module-importer": "^1.0.1",
"@nodelib/fs.walk": "^1.2.8",
"@ungap/structured-clone": "^1.2.0",
"ajv": "^6.12.4",
"chalk": "^4.0.0",
"cross-spawn": "^7.0.2",
@ -6820,14 +6823,14 @@
}
},
"node_modules/eslint-import-resolver-node": {
"version": "0.3.7",
"resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.7.tgz",
"integrity": "sha512-gozW2blMLJCeFpBwugLTGyvVjNoeo1knonXAcatC6bjPBZitotxdWf7Gimr25N4c0AAOo4eOUfaG82IJPDpqCA==",
"version": "0.3.9",
"resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.9.tgz",
"integrity": "sha512-WFj2isz22JahUv+B788TlO3N6zL3nNJGU8CcZbPZvVEkBPaJdCV4vy5wyghty5ROFbCRnm132v8BScu5/1BQ8g==",
"dev": true,
"dependencies": {
"debug": "^3.2.7",
"is-core-module": "^2.11.0",
"resolve": "^1.22.1"
"is-core-module": "^2.13.0",
"resolve": "^1.22.4"
}
},
"node_modules/eslint-import-resolver-node/node_modules/debug": {
@ -6866,26 +6869,26 @@
}
},
"node_modules/eslint-plugin-import": {
"version": "2.28.1",
"resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.28.1.tgz",
"integrity": "sha512-9I9hFlITvOV55alzoKBI+K9q74kv0iKMeY6av5+umsNwayt59fz692daGyjR+oStBQgx6nwR9rXldDev3Clw+A==",
"version": "2.29.0",
"resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.29.0.tgz",
"integrity": "sha512-QPOO5NO6Odv5lpoTkddtutccQjysJuFxoPS7fAHO+9m9udNHvTCPSAMW9zGAYj8lAIdr40I8yPCdUYrncXtrwg==",
"dev": true,
"dependencies": {
"array-includes": "^3.1.6",
"array.prototype.findlastindex": "^1.2.2",
"array.prototype.flat": "^1.3.1",
"array.prototype.flatmap": "^1.3.1",
"array-includes": "^3.1.7",
"array.prototype.findlastindex": "^1.2.3",
"array.prototype.flat": "^1.3.2",
"array.prototype.flatmap": "^1.3.2",
"debug": "^3.2.7",
"doctrine": "^2.1.0",
"eslint-import-resolver-node": "^0.3.7",
"eslint-import-resolver-node": "^0.3.9",
"eslint-module-utils": "^2.8.0",
"has": "^1.0.3",
"is-core-module": "^2.13.0",
"hasown": "^2.0.0",
"is-core-module": "^2.13.1",
"is-glob": "^4.0.3",
"minimatch": "^3.1.2",
"object.fromentries": "^2.0.6",
"object.groupby": "^1.0.0",
"object.values": "^1.1.6",
"object.fromentries": "^2.0.7",
"object.groupby": "^1.0.1",
"object.values": "^1.1.7",
"semver": "^6.3.1",
"tsconfig-paths": "^3.14.2"
},
@ -6918,9 +6921,9 @@
}
},
"node_modules/eslint-plugin-vue": {
"version": "9.17.0",
"resolved": "https://registry.npmjs.org/eslint-plugin-vue/-/eslint-plugin-vue-9.17.0.tgz",
"integrity": "sha512-r7Bp79pxQk9I5XDP0k2dpUC7Ots3OSWgvGZNu3BxmKK6Zg7NgVtcOB6OCna5Kb9oQwJPl5hq183WD0SY5tZtIQ==",
"version": "9.18.1",
"resolved": "https://registry.npmjs.org/eslint-plugin-vue/-/eslint-plugin-vue-9.18.1.tgz",
"integrity": "sha512-7hZFlrEgg9NIzuVik2I9xSnJA5RsmOfueYgsUGUokEDLJ1LHtxO0Pl4duje1BriZ/jDWb+44tcIlC3yi0tdlZg==",
"dev": true,
"dependencies": {
"@eslint-community/eslint-utils": "^4.4.0",
@ -7833,9 +7836,12 @@
}
},
"node_modules/function-bind": {
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz",
"integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A=="
"version": "1.1.2",
"resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz",
"integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==",
"funding": {
"url": "https://github.com/sponsors/ljharb"
}
},
"node_modules/function.prototype.name": {
"version": "1.1.5",
@ -8253,6 +8259,17 @@
"minimalistic-assert": "^1.0.1"
}
},
"node_modules/hasown": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.0.tgz",
"integrity": "sha512-vUptKVTpIJhcczKBbgnS+RtcuYMB8+oNzPK2/Hp3hanz8JmpATdmmgLgSaadVREkDm+e2giHwY3ZRkyjSIDDFA==",
"dependencies": {
"function-bind": "^1.1.2"
},
"engines": {
"node": ">= 0.4"
}
},
"node_modules/hast-to-hyperscript": {
"version": "10.0.3",
"resolved": "https://registry.npmjs.org/hast-to-hyperscript/-/hast-to-hyperscript-10.0.3.tgz",
@ -8871,11 +8888,11 @@
}
},
"node_modules/is-core-module": {
"version": "2.13.0",
"resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.13.0.tgz",
"integrity": "sha512-Z7dk6Qo8pOCp3l4tsX2C5ZVas4V+UxwQodwZhLopL91TX8UyyHEXafPcyoeeWuLrwzHcr3igO78wNLwHJHsMCQ==",
"version": "2.13.1",
"resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.13.1.tgz",
"integrity": "sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==",
"dependencies": {
"has": "^1.0.3"
"hasown": "^2.0.0"
},
"funding": {
"url": "https://github.com/sponsors/ljharb"
@ -10981,9 +10998,9 @@
}
},
"node_modules/known-css-properties": {
"version": "0.28.0",
"resolved": "https://registry.npmjs.org/known-css-properties/-/known-css-properties-0.28.0.tgz",
"integrity": "sha512-9pSL5XB4J+ifHP0e0jmmC98OGC1nL8/JjS+fi6mnTlIf//yt/MfVLtKg7S6nCtj/8KTcWX7nRlY0XywoYY1ISQ==",
"version": "0.29.0",
"resolved": "https://registry.npmjs.org/known-css-properties/-/known-css-properties-0.29.0.tgz",
"integrity": "sha512-Ne7wqW7/9Cz54PDt4I3tcV+hAyat8ypyOGzYRJQfdxnnjeWsTxt1cy8pjvvKeI5kfXuyvULyeeAvwvvtAX3ayQ==",
"dev": true
},
"node_modules/launch-editor": {
@ -11037,9 +11054,9 @@
}
},
"node_modules/linkifyjs": {
"version": "4.1.1",
"resolved": "https://registry.npmjs.org/linkifyjs/-/linkifyjs-4.1.1.tgz",
"integrity": "sha512-zFN/CTVmbcVef+WaDXT63dNzzkfRBKT1j464NJQkV7iSgJU0sLBus9W0HBwnXK13/hf168pbrx/V/bjEHOXNHA=="
"version": "4.1.2",
"resolved": "https://registry.npmjs.org/linkifyjs/-/linkifyjs-4.1.2.tgz",
"integrity": "sha512-1elJrH8MwUgr77Rgmx4JgB/nBgISYVoGossH6pAfCeHG+07TblTn6RWKx0MKozEMJU6NCFYHRih9M8ZtV3YZ+Q=="
},
"node_modules/loader-runner": {
"version": "4.3.0",
@ -11098,41 +11115,17 @@
"resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz",
"integrity": "sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow=="
},
"node_modules/lodash.escape": {
"version": "4.0.1",
"resolved": "https://registry.npmjs.org/lodash.escape/-/lodash.escape-4.0.1.tgz",
"integrity": "sha512-nXEOnb/jK9g0DYMr1/Xvq6l5xMD7GDG55+GSYIYmS0G4tBk/hURD4JR9WCavs04t33WmJx9kCyp9vJ+mr4BOUw==",
"dev": true
},
"node_modules/lodash.flatten": {
"version": "4.4.0",
"resolved": "https://registry.npmjs.org/lodash.flatten/-/lodash.flatten-4.4.0.tgz",
"integrity": "sha512-C5N2Z3DgnnKr0LOpv/hKCgKdb7ZZwafIrsesve6lmzvZIRZRGaZ/l6Q8+2W7NaT+ZwO3fFlSCzCzrDCFdJfZ4g==",
"dev": true
},
"node_modules/lodash.get": {
"version": "4.4.2",
"resolved": "https://registry.npmjs.org/lodash.get/-/lodash.get-4.4.2.tgz",
"integrity": "sha512-z+Uw/vLuy6gQe8cfaFWD7p0wVv8fJl3mbzXh33RS+0oW2wvUqiRXiQ69gLWSLpgB5/6sU+r6BlQR0MBILadqTQ=="
},
"node_modules/lodash.invokemap": {
"version": "4.6.0",
"resolved": "https://registry.npmjs.org/lodash.invokemap/-/lodash.invokemap-4.6.0.tgz",
"integrity": "sha512-CfkycNtMqgUlfjfdh2BhKO/ZXrP8ePOX5lEU/g0R3ItJcnuxWDwokMGKx1hWcfOikmyOVx6X9IwWnDGlgKl61w==",
"dev": true
},
"node_modules/lodash.merge": {
"version": "4.6.2",
"resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz",
"integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==",
"dev": true
},
"node_modules/lodash.pullall": {
"version": "4.2.0",
"resolved": "https://registry.npmjs.org/lodash.pullall/-/lodash.pullall-4.2.0.tgz",
"integrity": "sha512-VhqxBKH0ZxPpLhiu68YD1KnHmbhQJQctcipvmFnqIBDYzcIHzf3Zpu0tpeOKtR4x76p9yohc506eGdOjTmyIBg==",
"dev": true
},
"node_modules/lodash.throttle": {
"version": "4.1.1",
"resolved": "https://registry.npmjs.org/lodash.throttle/-/lodash.throttle-4.1.1.tgz",
@ -11144,12 +11137,6 @@
"integrity": "sha512-jttmRe7bRse52OsWIMDLaXxWqRAmtIUccAQ3garviCqJjafXOfNMO0yMfNpdD6zbGaTU0P5Nz7e7gAT6cKmJRw==",
"dev": true
},
"node_modules/lodash.uniqby": {
"version": "4.7.0",
"resolved": "https://registry.npmjs.org/lodash.uniqby/-/lodash.uniqby-4.7.0.tgz",
"integrity": "sha512-e/zcLx6CSbmaEgFHCA7BnoQKyCtKMxnuWrJygbwPs/AIn+IMKl66L8/s+wBUn5LRw2pZx3bUHibiV1b6aTWIww==",
"dev": true
},
"node_modules/loose-envify": {
"version": "1.4.0",
"resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz",
@ -12375,14 +12362,14 @@
}
},
"node_modules/object.fromentries": {
"version": "2.0.6",
"resolved": "https://registry.npmjs.org/object.fromentries/-/object.fromentries-2.0.6.tgz",
"integrity": "sha512-VciD13dswC4j1Xt5394WR4MzmAQmlgN72phd/riNp9vtD7tp4QQWJ0R4wvclXcafgcYK8veHRed2W6XeGBvcfg==",
"version": "2.0.7",
"resolved": "https://registry.npmjs.org/object.fromentries/-/object.fromentries-2.0.7.tgz",
"integrity": "sha512-UPbPHML6sL8PI/mOqPwsH4G6iyXcCGzLin8KvEPenOZN5lpCNBZZQ+V62vdjB1mQHrmqGQt5/OJzemUA+KJmEA==",
"dev": true,
"dependencies": {
"call-bind": "^1.0.2",
"define-properties": "^1.1.4",
"es-abstract": "^1.20.4"
"define-properties": "^1.2.0",
"es-abstract": "^1.22.1"
},
"engines": {
"node": ">= 0.4"
@ -12392,26 +12379,26 @@
}
},
"node_modules/object.groupby": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/object.groupby/-/object.groupby-1.0.0.tgz",
"integrity": "sha512-70MWG6NfRH9GnbZOikuhPPYzpUpof9iW2J9E4dW7FXTqPNb6rllE6u39SKwwiNh8lCwX3DDb5OgcKGiEBrTTyw==",
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/object.groupby/-/object.groupby-1.0.1.tgz",
"integrity": "sha512-HqaQtqLnp/8Bn4GL16cj+CUYbnpe1bh0TtEaWvybszDG4tgxCJuRpV8VGuvNaI1fAnI4lUJzDG55MXcOH4JZcQ==",
"dev": true,
"dependencies": {
"call-bind": "^1.0.2",
"define-properties": "^1.2.0",
"es-abstract": "^1.21.2",
"es-abstract": "^1.22.1",
"get-intrinsic": "^1.2.1"
}
},
"node_modules/object.values": {
"version": "1.1.6",
"resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.6.tgz",
"integrity": "sha512-FVVTkD1vENCsAcwNs9k6jea2uHC/X0+JcjG8YA60FN5CMaJmG95wT9jek/xX9nornqGRrBkKtzuAu2wuHpKqvw==",
"version": "1.1.7",
"resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.7.tgz",
"integrity": "sha512-aU6xnDFYT3x17e/f0IiiwlGPTy2jzMySGfUB4fq6z7CV8l85CWHDk5ErhyhpfDHhrOMwGFhSQkhMGHaIotA6Ng==",
"dev": true,
"dependencies": {
"call-bind": "^1.0.2",
"define-properties": "^1.1.4",
"es-abstract": "^1.20.4"
"define-properties": "^1.2.0",
"es-abstract": "^1.22.1"
},
"engines": {
"node": ">= 0.4"
@ -13094,9 +13081,9 @@
}
},
"node_modules/prettier": {
"version": "3.0.3",
"resolved": "https://registry.npmjs.org/prettier/-/prettier-3.0.3.tgz",
"integrity": "sha512-L/4pUDMxcNa8R/EthV08Zt42WBO4h1rarVtK0K+QJG0X187OLo7l699jWw0GKuwzkPQ//jMFA/8Xm6Fh3J/DAg==",
"version": "3.1.0",
"resolved": "https://registry.npmjs.org/prettier/-/prettier-3.1.0.tgz",
"integrity": "sha512-TQLvXjq5IAibjh8EpBIkNKxO749UEWABoiIZehEPiY4GNpVdhaFKqSTu+QrlU6D2dPAfubRmtJTi4K4YkQ5eXw==",
"dev": true,
"bin": {
"prettier": "bin/prettier.cjs"
@ -13781,11 +13768,11 @@
"integrity": "sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ=="
},
"node_modules/resolve": {
"version": "1.22.2",
"resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.2.tgz",
"integrity": "sha512-Sb+mjNHOULsBv818T40qSPeRiuWLyaGMa5ewydRLFimneixmVy2zdivRl+AF6jaYPC8ERxGDmFSiqui6SfPd+g==",
"version": "1.22.8",
"resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz",
"integrity": "sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==",
"dependencies": {
"is-core-module": "^2.11.0",
"is-core-module": "^2.13.0",
"path-parse": "^1.0.7",
"supports-preserve-symlinks-flag": "^1.0.0"
},
@ -13955,9 +13942,9 @@
"integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg=="
},
"node_modules/sass": {
"version": "1.69.4",
"resolved": "https://registry.npmjs.org/sass/-/sass-1.69.4.tgz",
"integrity": "sha512-+qEreVhqAy8o++aQfCJwp0sklr2xyEzkm9Pp/Igu9wNPoe7EZEQ8X/MBvvXggI2ql607cxKg/RKOwDj6pp2XDA==",
"version": "1.69.5",
"resolved": "https://registry.npmjs.org/sass/-/sass-1.69.5.tgz",
"integrity": "sha512-qg2+UCJibLr2LCVOt3OlPhr/dqVHWOa9XtZf2OjbLs/T4VPSJ00udtgJxH3neXZm+QqX8B+3cU7RaLqp1iVfcQ==",
"dependencies": {
"chokidar": ">=3.0.0 <4.0.0",
"immutable": "^4.0.0",
@ -15243,12 +15230,12 @@
}
},
"node_modules/stylelint-scss": {
"version": "5.2.1",
"resolved": "https://registry.npmjs.org/stylelint-scss/-/stylelint-scss-5.2.1.tgz",
"integrity": "sha512-ZoTJUM85/qqpQHfEppjW/St//8s6p9Qsg8deWlYlr56F9iUgC9vXeIDQvH4odkRRJLTLFQzYMALSOFCQ3MDkgw==",
"version": "5.3.1",
"resolved": "https://registry.npmjs.org/stylelint-scss/-/stylelint-scss-5.3.1.tgz",
"integrity": "sha512-5I9ZDIm77BZrjOccma5WyW2nJEKjXDd4Ca8Kk+oBapSO4pewSlno3n+OyimcyVJJujQZkBN2D+xuMkIamSc6hA==",
"dev": true,
"dependencies": {
"known-css-properties": "^0.28.0",
"known-css-properties": "^0.29.0",
"postcss-media-query-parser": "^0.2.3",
"postcss-resolve-nested-selector": "^0.1.1",
"postcss-selector-parser": "^6.0.13",
@ -15341,12 +15328,6 @@
"js-yaml": "bin/js-yaml.js"
}
},
"node_modules/stylelint/node_modules/known-css-properties": {
"version": "0.29.0",
"resolved": "https://registry.npmjs.org/known-css-properties/-/known-css-properties-0.29.0.tgz",
"integrity": "sha512-Ne7wqW7/9Cz54PDt4I3tcV+hAyat8ypyOGzYRJQfdxnnjeWsTxt1cy8pjvvKeI5kfXuyvULyeeAvwvvtAX3ayQ==",
"dev": true
},
"node_modules/stylelint/node_modules/signal-exit": {
"version": "4.0.2",
"resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.0.2.tgz",
@ -16503,11 +16484,11 @@
"integrity": "sha512-AFbieoL7a5LMqcnOF04ji+rpXadgOXnZsxQr//r83kLPr7biP7am3g9zbaZIaBGwBRWeSvoMD4mgPdX3e4NWBg=="
},
"node_modules/vue": {
"version": "2.7.14",
"resolved": "https://registry.npmjs.org/vue/-/vue-2.7.14.tgz",
"integrity": "sha512-b2qkFyOM0kwqWFuQmgd4o+uHGU7T+2z3T+WQp8UBjADfEv2n4FEMffzBmCKNP0IGzOEEfYjvtcC62xaSKeQDrQ==",
"version": "2.7.15",
"resolved": "https://registry.npmjs.org/vue/-/vue-2.7.15.tgz",
"integrity": "sha512-a29fsXd2G0KMRqIFTpRgpSbWaNBK3lpCTOLuGLEDnlHWdjB8fwl6zyYZ8xCrqkJdatwZb4mGHiEfJjnw0Q6AwQ==",
"dependencies": {
"@vue/compiler-sfc": "2.7.14",
"@vue/compiler-sfc": "2.7.15",
"csstype": "^3.1.0"
}
},
@ -16689,9 +16670,9 @@
}
},
"node_modules/vue-template-compiler": {
"version": "2.7.14",
"resolved": "https://registry.npmjs.org/vue-template-compiler/-/vue-template-compiler-2.7.14.tgz",
"integrity": "sha512-zyA5Y3ArvVG0NacJDkkzJuPQDF8RFeRlzV2vLeSnhSpieO6LK2OVbdLPi5MPPs09Ii+gMO8nY4S3iKQxBxDmWQ==",
"version": "2.7.15",
"resolved": "https://registry.npmjs.org/vue-template-compiler/-/vue-template-compiler-2.7.15.tgz",
"integrity": "sha512-yQxjxMptBL7UAog00O8sANud99C6wJF+7kgbcwqkvA38vCGF7HWE66w0ZFnS/kX5gSoJr/PQ4/oS3Ne2pW37Og==",
"dev": true,
"dependencies": {
"de-indent": "^1.0.2",
@ -16878,24 +16859,20 @@
}
},
"node_modules/webpack-bundle-analyzer": {
"version": "4.9.1",
"resolved": "https://registry.npmjs.org/webpack-bundle-analyzer/-/webpack-bundle-analyzer-4.9.1.tgz",
"integrity": "sha512-jnd6EoYrf9yMxCyYDPj8eutJvtjQNp8PHmni/e/ulydHBWhT5J3menXt3HEkScsu9YqMAcG4CfFjs3rj5pVU1w==",
"version": "4.10.0",
"resolved": "https://registry.npmjs.org/webpack-bundle-analyzer/-/webpack-bundle-analyzer-4.10.0.tgz",
"integrity": "sha512-j+apH0Cs+FY8IOIwxLbkgEJnbQgEPEG8uqLVnRb9tAoGbyKNxQA1u9wNDrTQHK3PinO4Pckew7AE7pnX/RS3wA==",
"dev": true,
"dependencies": {
"@discoveryjs/json-ext": "0.5.7",
"acorn": "^8.0.4",
"acorn-walk": "^8.0.0",
"commander": "^7.2.0",
"debounce": "^1.2.1",
"escape-string-regexp": "^4.0.0",
"gzip-size": "^6.0.0",
"html-escaper": "^2.0.2",
"is-plain-object": "^5.0.0",
"lodash.debounce": "^4.0.8",
"lodash.escape": "^4.0.1",
"lodash.flatten": "^4.4.0",
"lodash.invokemap": "^4.6.0",
"lodash.pullall": "^4.2.0",
"lodash.uniqby": "^4.7.0",
"opener": "^1.5.2",
"picocolors": "^1.0.0",
"sirv": "^2.0.3",

Просмотреть файл

@ -1,5 +1,70 @@
<template>
<div>
<div v-if="recipeObjects.length == 0">
<NcEmptyContent v-if="!isCategorySelected">
<template #description>
<div class="center p-4">
<div>
{{
t("cookbook", "No recipes created or imported.")
}}
</div>
<div>
{{
t(
"cookbook",
"To get started, you may use the text box in the left navigation bar to import a new recipe. Click below to create a recipe from scratch.",
)
}}
</div>
</div>
</template>
<template #icon>
<RecipeIcon />
</template>
<template #name>
<h1 class="empty-content__name">
{{ t("cookbook", "No recipes") }}
</h1>
</template>
<template #action>
<router-link :to="'/recipe/create'">
<NcButton type="primary"> Create new recipe! </NcButton>
</router-link>
</template>
</NcEmptyContent>
<NcEmptyContent v-if="isCategorySelected">
<template #description>
<div class="center p-4">
<div>
{{
t(
"cookbook",
"No recipes matching the selected category found.",
)
}}
</div>
<div>
{{
t(
"cookbook",
"Try selecting a category from the left navigation bar.",
)
}}
</div>
</div>
</template>
<template #icon>
<RecipeIcon />
</template>
<template #name>
<h1 class="empty-content__name">
{{ t("cookbook", "No recipes") }}
</h1>
</template>
</NcEmptyContent>
</div>
<RecipeListKeywordCloud
v-if="showTagCloudInRecipeList"
v-model="keywordFilter"
@ -50,6 +115,9 @@
</template>
<script>
import RecipeIcon from "vue-material-design-icons/ChefHat.vue"
import NcButton from "@nextcloud/vue/dist/Components/NcButton"
import NcEmptyContent from "@nextcloud/vue/dist/Components/NcEmptyContent"
import NcMultiselect from "@nextcloud/vue/dist/Components/NcMultiselect"
import RecipeCard from "./RecipeCard.vue"
import RecipeListKeywordCloud from "./RecipeListKeywordCloud.vue"
@ -57,8 +125,11 @@ import RecipeListKeywordCloud from "./RecipeListKeywordCloud.vue"
export default {
name: "RecipeList",
components: {
NcButton,
NcEmptyContent,
NcMultiselect,
RecipeCard,
RecipeIcon,
RecipeListKeywordCloud,
},
props: {
@ -115,6 +186,12 @@ export default {
}
},
computed: {
/**
* True, if the recipe list is shown for a selected category or the 'undefined' category and not "All recipes".
*/
isCategorySelected() {
return this.$route.path.substring(1, 9) === "category"
},
/**
* An array of all keywords in all recipes. These are neither sorted nor unique
*/
@ -325,4 +402,8 @@ export default {
flex-direction: row;
flex-wrap: wrap;
}
.p-4 {
padding: 1.5rem !important;
}
</style>

Просмотреть файл

@ -45,6 +45,11 @@ class ISO8601DurationHelperTest extends TestCase {
['PT3H', 'PT3H0M0S'],
['PT13H0M', 'PT13H0M0S'],
['PT0H60M61S', 'PT1H1M1S'],
['PT10M', 'PT0H10M0S'],
['PT1M', 'PT0H1M0S'],
['PT10S', 'PT0H0M10S'],
['PT1S', 'PT0H0M1S'],
['PT20M1S', 'PT0H20M1S'],
];
}