diff --git a/.github/actions/check-pr-status/package.json b/.github/actions/check-pr-status/package.json index 08ef3701fa..e53af596e3 100644 --- a/.github/actions/check-pr-status/package.json +++ b/.github/actions/check-pr-status/package.json @@ -1,6 +1,6 @@ { "name": "check-pr-status", - "version": "5.42.1", + "version": "5.43.0", "private": true, "license": "MIT", "main": "dist/index.js", diff --git a/docs/package.json b/docs/package.json index ab47832917..5718411cb4 100644 --- a/docs/package.json +++ b/docs/package.json @@ -46,6 +46,6 @@ "docusaurus-plugin-typedoc": "0.22.0", "typedoc": "0.25.10", "typedoc-plugin-markdown": "3.17.1", - "typescript": "5.4.4" + "typescript": "5.4.5" } } diff --git a/docs/yarn.lock b/docs/yarn.lock index a5c07462fb..4a8424b657 100644 --- a/docs/yarn.lock +++ b/docs/yarn.lock @@ -6772,7 +6772,7 @@ __metadata: react-dom: "npm:18.3.1" typedoc: "npm:0.25.10" typedoc-plugin-markdown: "npm:3.17.1" - typescript: "npm:5.4.4" + typescript: "npm:5.4.5" languageName: unknown linkType: soft @@ -13571,23 +13571,23 @@ __metadata: languageName: node linkType: hard -"typescript@npm:5.4.4": - version: 5.4.4 - resolution: "typescript@npm:5.4.4" +"typescript@npm:5.4.5": + version: 5.4.5 + resolution: "typescript@npm:5.4.5" bin: tsc: bin/tsc tsserver: bin/tsserver - checksum: 10c0/4d8de0291204ed61ca97ad0cba2ce064e09c4988ca1c451c787e4653ba76296ba35177a52694e8a00cf4ef899d0ee83338663b926d8b7d55167ff0ba81549999 + checksum: 10c0/2954022ada340fd3d6a9e2b8e534f65d57c92d5f3989a263754a78aba549f7e6529acc1921913560a4b816c46dce7df4a4d29f9f11a3dc0d4213bb76d043251e languageName: node linkType: hard -"typescript@patch:typescript@npm%3A5.4.4#optional!builtin": - version: 5.4.4 - resolution: "typescript@patch:typescript@npm%3A5.4.4#optional!builtin::version=5.4.4&hash=5adc0c" +"typescript@patch:typescript@npm%3A5.4.5#optional!builtin": + version: 5.4.5 + resolution: "typescript@patch:typescript@npm%3A5.4.5#optional!builtin::version=5.4.5&hash=5adc0c" bin: tsc: bin/tsc tsserver: bin/tsserver - checksum: 10c0/1fa41b9964a9ff0ed913b339c90b46031b2d2da3cb1a192af516610733f7f1d5f7f9754a8e22b9ac7076d3d8aedd2c4f84db3f113bad060eac3a95962443a1bf + checksum: 10c0/db2ad2a16ca829f50427eeb1da155e7a45e598eec7b086d8b4e8ba44e5a235f758e606d681c66992230d3fc3b8995865e5fd0b22a2c95486d0b3200f83072ec9 languageName: node linkType: hard diff --git a/examples/getstarted/src/plugins/local-plugin/admin/src/translations/cs.json b/examples/getstarted/src/plugins/local-plugin/admin/src/translations/cs.json new file mode 100644 index 0000000000..7949d30e21 --- /dev/null +++ b/examples/getstarted/src/plugins/local-plugin/admin/src/translations/cs.json @@ -0,0 +1,3 @@ +{ + "plugin.name": "Můj plugin" +} diff --git a/package.json b/package.json index 381780159a..d476a8c157 100644 --- a/package.json +++ b/package.json @@ -135,7 +135,7 @@ "core-js": "3.36.0", "create-strapi-app": "workspace:*", "cross-env": "7.0.3", - "dotenv": "16.4.5", + "dotenv": "16.6.1", "eslint": "8.57.1", "eslint-config-airbnb": "^19.0.4", "eslint-config-airbnb-base": "^15.0.0", @@ -153,7 +153,7 @@ "eslint-plugin-testing-library": "6.0.2", "execa": "5.1.1", "find-up": "5.0.0", - "fs-extra": "11.2.0", + "fs-extra": "11.3.4", "get-port": "5.1.1", "glob": "13.0.6", "husky": "9.1.7", @@ -175,14 +175,14 @@ "rimraf": "6.1.3", "rollup": "4.59.0", "rollup-plugin-html": "0.2.1", - "semver": "7.5.4", + "semver": "7.7.4", "stream-chain": "2.2.5", "stream-json": "1.8.0", "supertest": "7.2.2", "syncpack": "13.0.4", "tar": "7.5.11", "ts-jest": "29.1.0", - "typescript": "5.4.4", + "typescript": "5.4.5", "vitest": "catalog:", "yalc": "1.0.0-pre.53", "yargs": "17.7.2" diff --git a/packages/admin-test-utils/package.json b/packages/admin-test-utils/package.json index acf01dbf38..a5d249cb86 100644 --- a/packages/admin-test-utils/package.json +++ b/packages/admin-test-utils/package.json @@ -1,6 +1,6 @@ { "name": "@strapi/admin-test-utils", - "version": "5.42.1", + "version": "5.43.0", "private": true, "description": "Test utilities for the Strapi administration panel", "license": "MIT", @@ -86,10 +86,10 @@ "devDependencies": { "@reduxjs/toolkit": "1.9.7", "@testing-library/jest-dom": "6.4.5", - "eslint-config-custom": "5.42.1", + "eslint-config-custom": "5.43.0", "jest-environment-jsdom": "29.6.1", "styled-components": "6.1.8", - "tsconfig": "5.42.1" + "tsconfig": "5.43.0" }, "peerDependencies": { "@reduxjs/toolkit": "^1.9.7", diff --git a/packages/cli/cloud/package.json b/packages/cli/cloud/package.json index 7d20ee980d..869950d719 100644 --- a/packages/cli/cloud/package.json +++ b/packages/cli/cloud/package.json @@ -1,6 +1,6 @@ { "name": "@strapi/cloud-cli", - "version": "5.42.1", + "version": "5.43.0", "description": "Commands to interact with the Strapi Cloud", "keywords": [ "strapi", @@ -48,7 +48,7 @@ "watch": "run -T rollup -c -w" }, "dependencies": { - "@strapi/utils": "5.42.1", + "@strapi/utils": "5.43.0", "axios": "1.15.1", "boxen": "5.1.2", "chalk": "4.1.2", @@ -56,7 +56,7 @@ "commander": "8.3.0", "eventsource": "2.0.2", "fast-safe-stringify": "2.1.1", - "fs-extra": "11.2.0", + "fs-extra": "11.3.4", "inquirer": "9.3.8", "jsonwebtoken": "9.0.0", "jwks-rsa": "3.1.0", @@ -73,8 +73,8 @@ "@types/cli-progress": "3.11.5", "@types/eventsource": "1.1.15", "@types/lodash": "^4.14.191", - "eslint-config-custom": "5.42.1", - "tsconfig": "5.42.1" + "eslint-config-custom": "5.43.0", + "tsconfig": "5.43.0" }, "engines": { "node": ">=20.0.0 <=24.x.x", diff --git a/packages/cli/create-strapi-app/package.json b/packages/cli/create-strapi-app/package.json index ae1c9a8113..0c85c67945 100644 --- a/packages/cli/create-strapi-app/package.json +++ b/packages/cli/create-strapi-app/package.json @@ -1,6 +1,6 @@ { "name": "create-strapi-app", - "version": "5.42.1", + "version": "5.43.0", "description": "Generate a new Strapi application.", "keywords": [ "create-strapi-app", @@ -51,18 +51,18 @@ "watch": "run -T rollup -c -w" }, "dependencies": { - "@strapi/cloud-cli": "5.42.1", + "@strapi/cloud-cli": "5.43.0", "async-retry": "1.3.3", "chalk": "4.1.2", "commander": "8.3.0", "execa": "5.1.1", - "fs-extra": "11.2.0", + "fs-extra": "11.3.4", "inquirer": "9.3.8", "lodash": "4.18.1", "node-machine-id": "^1.1.10", "ora": "^5.4.1", "rollup": "4.59.0", - "semver": "7.5.4", + "semver": "7.7.4", "sort-package-json": "2.10.0", "tar": "7.5.11" }, @@ -70,8 +70,8 @@ "@types/async-retry": "^1", "@types/fs-extra": "11.0.4", "@types/inquirer": "9.0.9", - "eslint-config-custom": "5.42.1", - "tsconfig": "5.42.1" + "eslint-config-custom": "5.43.0", + "tsconfig": "5.43.0" }, "engines": { "node": ">=20.0.0 <=24.x.x", diff --git a/packages/cli/create-strapi/package.json b/packages/cli/create-strapi/package.json index 46d422d8cf..499ed767dc 100644 --- a/packages/cli/create-strapi/package.json +++ b/packages/cli/create-strapi/package.json @@ -1,6 +1,6 @@ { "name": "create-strapi", - "version": "5.42.1", + "version": "5.43.0", "description": "Generate a new Strapi application.", "keywords": [ "create-strapi", @@ -37,7 +37,7 @@ "bin/" ], "dependencies": { - "create-strapi-app": "5.42.1" + "create-strapi-app": "5.43.0" }, "engines": { "node": ">=20.0.0 <=24.x.x", diff --git a/packages/core/admin/admin/src/translations/cs.json b/packages/core/admin/admin/src/translations/cs.json index 1abd7c7a9f..9b13fe0df9 100644 --- a/packages/core/admin/admin/src/translations/cs.json +++ b/packages/core/admin/admin/src/translations/cs.json @@ -1,8 +1,18 @@ { "Analytics": "Analýzy", + "Auth.components.Oops.text": "Váš účet byl pozastaven.", + "Auth.components.Oops.text.admin": "Pokud je to omyl, kontaktujte prosím svého administrátora.", + "Auth.components.Oops.title": "Jejda...", + "Auth.form.active.label": "Aktivní", "Auth.form.button.forgot-password": "Odeslat e-mail", + "Auth.form.button.go-home": "ZPĚT NA DOMOVSKOU STRÁNKU", "Auth.form.button.login": "Přihlásit se", + "Auth.form.button.login.providers.error": "Nemůžeme vás připojit přes vybraného poskytovatele.", + "Auth.form.button.login.strapi": "Přihlásit se přes Strapi", + "Auth.form.button.password-recovery": "Obnovení hesla", "Auth.form.button.register": "Připraven ke startu", + "Auth.form.confirmPassword.label": "Potvrdit heslo", + "Auth.form.currentPassword.label": "Aktuální heslo", "Auth.form.email.label": "E-mailová adresa", "Auth.form.email.placeholder": "jannovak@gmail.com", "Auth.form.error.blocked": "Váš účet byl zablokován správcem.", @@ -20,17 +30,34 @@ "Auth.form.error.ratelimit": "Příliš mnoho pokusů, prosím, zkuste to znovu za chvíli.", "Auth.form.error.user.not-exist": "Tento e-mail neexistuje.", "Auth.form.error.username.taken": "Uživatelské jméno je již obsazeno.", + "Auth.form.firstname.label": "Jméno", + "Auth.form.firstname.placeholder": "např. Kai", "Auth.form.forgot-password.email.label": "Zadejte svůj e-mail", "Auth.form.forgot-password.email.label.success": "E-mail úspěšně odeslán na", + "Auth.form.lastname.label": "Příjmení", + "Auth.form.lastname.placeholder": "např. Doe", + "Auth.form.password.hide-password": "Skrýt heslo", + "Auth.form.password.hint": "Musí mít alespoň 8 znaků, 1 velké písmeno, 1 malé písmeno a 1 číslo", + "Auth.form.password.show-password": "Zobrazit heslo", "Auth.form.register.news.label": "Informujte mě o nových funkcích a připravovaných vylepšeních (tím souhlasíte s {terms} a {policy}).", + "Auth.form.register.subtitle": "Přihlašovací údaje se používají pouze pro ověření ve Strapi. Všechna uložená data budou uložena ve vaší databázi.", "Auth.form.rememberMe.label": "Zapamatovat si mě", "Auth.form.username.label": "Uživatelské jméno", "Auth.form.username.placeholder": "Jan Novák", + "Auth.form.welcome.subtitle": "Přihlaste se ke svému účtu Strapi", + "Auth.form.welcome.title": "Vítejte ve Strapi!", "Auth.link.forgot-password": "Zapomněli jste své heslo?", "Auth.link.ready": "Jste připraveni se přihlásit?", + "Auth.link.signin": "Přihlásit se", + "Auth.link.signin.account": "Už máte účet?", + "Auth.login.sso.divider": "Nebo se přihlaste pomocí", + "Auth.login.sso.loading": "Načítání poskytovatelů...", + "Auth.login.sso.subtitle": "Přihlaste se ke svému účtu přes SSO", "Auth.privacy-policy-agreement.policy": "zásady ochrany osobních údajů", "Auth.privacy-policy-agreement.terms": "podmínky", + "Auth.reset-password.title": "Obnovit heslo", "Content Manager": "Správce obsahu", + "Content Type Builder": "Content-Types Builder", "Documentation": "Dokumentace", "Email": "E-mailová adresa", "Files Upload": "Nahrát soubory", @@ -38,17 +65,327 @@ "HomePage.roadmap": "Podívejte se na náš harmonogram prací", "HomePage.welcome.congrats": "Gratulujeme!", "HomePage.welcome.congrats.content": "Jste poprvé přihlášeni jako správce. Chcete-li objevit výkonné funkce poskytované Strapi,", + "HomePage.header.title": "Ahoj {name}", + "HomePage.header.subtitle": "Vítejte ve svém administračním panelu", + "HomePage.widget.loading": "Načítání obsahu widgetu", + "HomePage.widget.error": "Nepodařilo se načíst obsah widgetu.", + "HomePage.widget.no-data": "Nebyl nalezen žádný obsah.", + "HomePage.widget.no-permissions": "Nemáte oprávnění zobrazit tento widget", + "Media Library": "Knihovna médií", "New entry": "Nový záznam", "Password": "Heslo", "Provider": "Poskytovatel", "ResetPasswordToken": "Token pro obnovu hesla", "Role": "Role", + "Roles & Permissions": "Role a oprávnění", + "Roles.ListPage.notification.delete-all-not-allowed": "Některé role nemohly být smazány, protože jsou přiřazeny uživatelům", + "Roles.ListPage.notification.delete-not-allowed": "Roli nelze smazat, pokud je přiřazena uživatelům", + "Roles.RoleRow.select-all": "Vybrat {name} pro hromadné akce", + "Roles.RoleRow.user-count": "{number, plural, =0 {# user} one {# user} other {# users}}", + "Roles.components.List.empty.withSearch": "Neexistuje žádná role odpovídající hledání ({search})...", + "Settings.PageTitle": "Nastavení — {name}", + "Settings.apiTokens.copy.lastWarning": "Zkopírujte svůj API token", + "Settings.apiTokens.ListView.headers.createdAt": "Vytvořeno", + "Settings.apiTokens.ListView.headers.description": "Popis", + "Settings.apiTokens.ListView.headers.lastUsedAt": "Naposledy použito", + "Settings.apiTokens.ListView.headers.name": "Název", + "Settings.apiTokens.ListView.headers.type": "Typ tokenu", + "Settings.apiTokens.addFirstToken": "Přidejte svůj první API token", + "Settings.apiTokens.addNewToken": "Přidat nový API token", + "Settings.apiTokens.create": "Vytvořit nový API token", + "Settings.apiTokens.createPage.BoundRoute.title": "Navázaná cesta k", + "Settings.apiTokens.createPage.permissions.description": "Níže jsou uvedeny pouze akce navázané na cestu.", + "Settings.apiTokens.createPage.permissions.header.hint": "Vyberte akce aplikace nebo pluginu a klikněte na ikonu ozubeného kola pro zobrazení navázané cesty", + "Settings.apiTokens.createPage.permissions.header.title": "Pokročilá nastavení", + "Settings.apiTokens.createPage.permissions.title": "Oprávnění", + "Settings.apiTokens.createPage.title": "Vytvořit API token", + "Settings.apiTokens.description": "Seznam vygenerovaných tokenů pro používání API", + "Settings.apiTokens.emptyStateLayout": "Zatím nemáte žádný obsah...", + "Settings.apiTokens.regenerate": "Znovu vygenerovat", + "Settings.apiTokens.title": "API tokeny", + "Settings.apiTokens.lastHour": "poslední hodina", + "Settings.application.customization": "Přizpůsobení", + "Settings.application.customization.auth-logo.carousel-hint": "Nahraďte logo na autentizačních stránkách", + "Settings.application.customization.carousel-hint": "Změňte logo administračního panelu (max. rozměr: {dimension}x{dimension}, max. velikost souboru: {size}KB)", + "Settings.application.customization.carousel-slide.label": "Snímek loga", + "Settings.application.customization.carousel.auth-logo.title": "Auth logo", + "Settings.application.customization.carousel.change-action": "Změnit logo", + "Settings.application.customization.carousel.menu-logo.title": "Logo menu", + "Settings.application.customization.carousel.reset-action": "Obnovit logo", + "Settings.application.customization.carousel.title": "Logo", + "Settings.application.customization.menu-logo.carousel-hint": "Nahraďte logo v hlavní navigaci", + "Settings.application.customization.modal.cancel": "Zrušit", + "Settings.application.customization.modal.pending": "Čekající logo", + "Settings.application.customization.modal.pending.card-badge": "obrázek", + "Settings.application.customization.modal.pending.choose-another": "Vybrat jiné logo", + "Settings.application.customization.modal.pending.subtitle": "Spravujte vybrané logo před jeho nahráním", + "Settings.application.customization.modal.pending.title": "Logo připravené k nahrání", + "Settings.application.customization.modal.pending.upload": "Nahrát logo", + "Settings.application.customization.modal.tab.label": "Jak chcete nahrát své soubory?", + "Settings.application.customization.modal.upload": "Nahrát logo", + "Settings.application.customization.modal.upload.cta.browse": "Procházet soubory", + "Settings.application.customization.modal.upload.drag-drop": "Přetáhněte sem nebo", + "Settings.application.customization.modal.upload.error-format": "Byl nahrán špatný formát (povolené formáty: jpeg, jpg, png, svg).", + "Settings.application.customization.modal.upload.error-network": "Chyba sítě", + "Settings.application.customization.modal.upload.error-size": "Nahraný soubor je příliš velký (max. rozměr: {dimension}x{dimension}, max. velikost souboru: {size}KB)", + "Settings.application.customization.modal.upload.file-validation": "Max. rozměr: {dimension}x{dimension}, max. velikost: {size}KB", + "Settings.application.customization.modal.upload.from-computer": "Z počítače", + "Settings.application.customization.modal.upload.from-url": "Z URL", + "Settings.application.customization.modal.upload.from-url.input-label": "URL", + "Settings.application.customization.modal.upload.next": "Další", + "Settings.application.customization.size-details": "Max. rozměr: {dimension}×{dimension}, max. velikost souboru: {size}KB", + "Settings.application.description": "Globální informace administračního panelu", + "Settings.application.edition-title": "aktuální edice", + "Settings.application.ee-or-ce": "{communityEdition, select, true {Community Edition} other {Enterprise Edition}}", + "Settings.application.ee.admin-seats.add-seats": "Spravovat místa", + "Settings.application.ee.admin-seats.support": "Kontaktovat obchod", + "Settings.application.ee.admin-seats.at-limit-tooltip": "Na limitu: přidejte místa pro pozvání dalších uživatelů", + "Settings.application.ee.admin-seats.count": "{enforcementUserCount}/{permittedSeats}", + "Settings.application.get-help": "Získat pomoc", + "Settings.application.link-pricing": "Zobrazit všechny cenové plány", + "Settings.application.link-upgrade": "Upgradovat administrační panel", + "Settings.application.node-version": "verze node", + "Settings.application.strapi-version": "Verze Strapi", + "Settings.application.strapiVersion": "Verze Strapi", + "Settings.application.title": "Přehled", + "Settings.error": "Chyba", + "Settings.global": "Globální nastavení", + "Settings.permissions": "Administrační panel", + "Settings.permissions.auditLogs.action": "Akce", + "Settings.permissions.auditLogs.admin.auth.success": "Přihlášení admina", + "Settings.permissions.auditLogs.admin.logout": "Odhlášení admina", + "Settings.permissions.auditLogs.component.create": "Vytvořit komponentu", + "Settings.permissions.auditLogs.component.delete": "Smazat komponentu", + "Settings.permissions.auditLogs.component.update": "Aktualizovat komponentu", + "Settings.permissions.auditLogs.content-type.create": "Vytvořit content type", + "Settings.permissions.auditLogs.content-type.delete": "Smazat content type", + "Settings.permissions.auditLogs.content-type.update": "Aktualizovat content type", + "Settings.permissions.auditLogs.date": "Datum", + "Settings.permissions.auditLogs.details": "Detaily logu", + "Settings.permissions.auditLogs.entry.create": "Vytvořit záznam{model, select, undefined {} other { ({model})}}", + "Settings.permissions.auditLogs.entry.delete": "Smazat záznam{model, select, undefined {} other { ({model})}}", + "Settings.permissions.auditLogs.entry.publish": "Publikovat záznam {model, select, undefined {} other {({model})}}", + "Settings.permissions.auditLogs.entry.unpublish": "Zrušit publikaci záznamu{model, select, undefined {} other { ({model})}}", + "Settings.permissions.auditLogs.entry.update": "Aktualizovat záznam{model, select, undefined {} other { ({model})}}", + "Settings.permissions.auditLogs.filters.combobox.aria-label": "Vyhledejte a vyberte možnost pro filtrování", + "Settings.permissions.auditLogs.listview.header.subtitle": "Logy všech aktivit, které se staly ve vašem prostředí", + "Settings.permissions.auditLogs.not-available": "Audit Logs jsou dostupné pouze jako součást placeného plánu. Upgradujte a získejte prohledávatelné a filtrovatelné zobrazení všech aktivit.", + "Settings.permissions.auditLogs.media.create": "Vytvořit médium", + "Settings.permissions.auditLogs.media.delete": "Smazat médium", + "Settings.permissions.auditLogs.media.update": "Aktualizovat médium", + "Settings.permissions.auditLogs.payload": "Payload", + "Settings.permissions.auditLogs.permission.create": "Vytvořit oprávnění", + "Settings.permissions.auditLogs.permission.delete": "Smazat oprávnění", + "Settings.permissions.auditLogs.permission.update": "Aktualizovat oprávnění", + "Settings.permissions.auditLogs.role.create": "Vytvořit roli", + "Settings.permissions.auditLogs.role.delete": "Smazat roli", + "Settings.permissions.auditLogs.role.update": "Aktualizovat roli", + "Settings.permissions.auditLogs.user": "Uživatel", + "Settings.permissions.auditLogs.user.create": "Vytvořit uživatele", + "Settings.permissions.auditLogs.user.delete": "Smazat uživatele", + "Settings.permissions.auditLogs.user.fullname": "{firstname} {lastname}", + "Settings.permissions.auditLogs.user.update": "Aktualizovat uživatele", + "Settings.permissions.auditLogs.userId": "ID uživatele", + "Settings.permissions.category": "Nastavení oprávnění pro {category}", + "Settings.permissions.category.plugins": "Nastavení oprávnění pro plugin {category}", + "Settings.permissions.conditions.anytime": "Kdykoli", + "Settings.permissions.conditions.apply": "Použít", + "Settings.permissions.conditions.can": "Může", + "Settings.permissions.conditions.conditions": "Podmínky", + "Settings.permissions.conditions.define-conditions": "Definovat podmínky", + "Settings.permissions.conditions.links": "Odkazy", + "Settings.permissions.conditions.no-actions": "Nejprve musíte vybrat akce (create, read, update, ...), než na ně definujete podmínky.", + "Settings.permissions.conditions.none-selected": "Kdykoli", + "Settings.permissions.conditions.or": "NEBO", + "Settings.permissions.conditions.when": "Když", + "Settings.permissions.select-all-by-permission": "Vybrat všechna oprávnění {label}", + "Settings.permissions.select-by-permission": "Vybrat oprávnění {label}", + "Settings.permissions.users.active": "Aktivní", + "Settings.permissions.users.create": "Pozvat nového uživatele", + "Settings.permissions.users.email": "E-mail", + "Settings.permissions.users.firstname": "Jméno", + "Settings.permissions.users.form.sso": "Připojit přes SSO", + "Settings.permissions.users.sso.provider.error": "Při vyžadování nastavení SSO došlo k chybě", + "Settings.permissions.users.form.sso.description": "Když je zapnuto (ON), uživatelé se mohou přihlašovat přes SSO", + "Settings.permissions.users.inactive": "Neaktivní", + "Settings.permissions.users.lastname": "Příjmení", + "Settings.permissions.users.listview.header.subtitle": "Všichni uživatelé, kteří mají přístup do administračního panelu Strapi", + "Settings.permissions.users.roles": "Role", + "Settings.permissions.users.strapi-author": "Autor", + "Settings.permissions.users.strapi-editor": "Editor", + "Settings.permissions.users.strapi-super-admin": "Super Admin", + "Settings.permissions.users.tabs.label": "Oprávnění záložek", + "Settings.permissions.users.user-status": "Stav uživatele", + "Settings.permissions.users.username": "Uživatelské jméno", + "Settings.profile.form.notify.data.loaded": "Data vašeho profilu byla načtena", + "Settings.profile.form.section.experience.clear.select": "Vymazat vybraný jazyk rozhraní", + "Settings.profile.form.section.experience.here": "zde", + "Settings.profile.form.section.experience.interfaceLanguage": "Jazyk rozhraní", + "Settings.profile.form.section.experience.interfaceLanguage.hint": "Tím se zobrazí pouze vaše vlastní rozhraní ve zvoleném jazyce.", + "Settings.profile.form.section.experience.interfaceLanguageHelp": "Změny předvoleb se použijí pouze na vás. Více informací je k dispozici {here}.", + "Settings.profile.form.section.experience.mode.hint": "Zobrazuje vaše rozhraní ve zvoleném režimu.", + "Settings.profile.form.section.experience.mode.label": "Režim rozhraní", + "Settings.profile.form.section.experience.mode.option-label": "Režim {name}", + "Settings.profile.form.section.experience.mode.option-system-label": "Použít systémové nastavení", + "Settings.profile.form.section.experience.title": "Zkušenost", + "Settings.profile.form.section.head.title": "Uživatelský profil", + "Settings.profile.form.section.profile.page.title": "Stránka profilu", + "Settings.roles.create.description": "Definujte práva daná roli", + "Settings.roles.create.title": "Vytvořit roli", + "Settings.roles.created": "Role vytvořena", + "Settings.roles.edit.title": "Upravit roli", + "Settings.roles.form.button.users-with-role": "{number, plural, =0 {# users} one {# user} other {# users}} s touto rolí", + "Settings.roles.form.created": "Vytvořeno", + "Settings.roles.form.description": "Název a popis role", + "Settings.roles.form.permission.property-label": "Oprávnění {label}", + "Settings.roles.form.permissions.attributesPermissions": "Oprávnění polí", + "Settings.roles.form.permissions.create": "Vytvořit", + "Settings.roles.form.permissions.delete": "Smazat", + "Settings.roles.form.permissions.publish": "Publikovat", + "Settings.roles.form.permissions.read": "Číst", + "Settings.roles.form.permissions.update": "Aktualizovat", + "Settings.roles.list.button.add": "Přidat novou roli", + "Settings.roles.list.description": "Seznam rolí", + "Settings.roles.title.singular": "role", + "Settings.sso.description": "Nakonfigurujte nastavení pro funkci Single Sign-On.", + "Settings.sso.form.defaultRole.description": "Přiřadí nově ověřeného uživatele k vybrané roli", + "Settings.sso.form.defaultRole.description-not-allowed": "Musíte mít oprávnění číst admin role", + "Settings.sso.form.defaultRole.label": "Výchozí role", + "Settings.sso.form.localAuthenticationLock.label": "Uzamčení místní autentizace", + "Settings.sso.form.localAuthenticationLock.description": "Vyberte role, pro které chcete zakázat místní autentizaci", + "Settings.sso.form.registration.description": "Vytvořit nového uživatele při přihlášení přes SSO, pokud účet neexistuje", + "Settings.sso.form.registration.label": "Automatická registrace", + "Settings.sso.title": "Single Sign-On", + "Settings.sso.not-available": "SSO je dostupné pouze jako součást placeného plánu. Upgradujte pro konfiguraci dalších metod přihlášení a registrace pro váš administrační panel.", + "Settings.content-history.title": "Historie obsahu", + "Settings.content-history.description": "Získejte větší kontrolu nad každým krokem životního cyklu vašeho obsahu.", + "Settings.content-history.not-available": "Historie obsahu je dostupná pouze jako součást placeného plánu. Upgradujte a získejte plnou kontrolu nad životním cyklem svého obsahu.", + "Settings.tokens.Button.cancel": "Zrušit", + "Settings.tokens.Button.regenerate": "Znovu vygenerovat", + "Settings.tokens.ListView.headers.createdAt": "Vytvořeno", + "Settings.tokens.ListView.headers.description": "Popis", + "Settings.tokens.ListView.headers.lastUsedAt": "Naposledy použito", + "Settings.tokens.ListView.headers.name": "Název", + "Settings.tokens.RegenerateDialog.title": "Znovu vygenerovat token", + "Settings.tokens.copy.editMessage": "Z bezpečnostních důvodů můžete svůj token vidět jen jednou.", + "Settings.tokens.copy.editTitle": "Tento token už není přístupný.", + "Settings.tokens.copy.title": "Token", + "Settings.tokens.copy.lastWarning": "Ujistěte se, že si tento token zkopírujete, znovu ho už neuvidíte!", + "Settings.tokens.duration.30-days": "30 dní", + "Settings.tokens.duration.7-days": "7 dní", + "Settings.tokens.duration.90-days": "90 dní", + "Settings.tokens.duration.expiration-date": "Datum vypršení platnosti", + "Settings.tokens.duration.unlimited": "Neomezeně", + "Settings.tokens.form.description": "Popis", + "Settings.tokens.form.duration": "Doba trvání tokenu", + "Settings.tokens.form.name": "Název", + "Settings.tokens.form.type": "Typ tokenu", + "Settings.tokens.notification.copied": "Token zkopírován do schránky.", + "Settings.tokens.popUpWarning.message": "Opravdu chcete tento token znovu vygenerovat?", + "Settings.tokens.regenerate": "Znovu vygenerovat", + "Settings.tokens.types.custom": "Vlastní", + "Settings.tokens.types.full-access": "Plný přístup", + "Settings.tokens.types.read-only": "Pouze pro čtení", + "Settings.transferTokens.ListView.headers.type": "Typ tokenu", + "Settings.transferTokens.addFirstToken": "Přidejte svůj první Transfer Token", + "Settings.transferTokens.addNewToken": "Přidat nový Transfer Token", + "Settings.transferTokens.create": "Vytvořit nový Transfer Token", + "Settings.transferTokens.createPage.title": "Vytvořit Transfer Token", + "Settings.transferTokens.description": "Seznam vygenerovaných přenosových tokenů", + "Settings.transferTokens.emptyStateLayout": "Zatím nemáte žádný obsah...", + "Settings.transferTokens.title": "Transfer Tokens", + "Settings.webhooks.create": "Vytvořit webhook", + "Settings.webhooks.create.header": "Vytvořit novou hlavičku", + "Settings.webhooks.created": "Webhook vytvořen", + "Settings.webhooks.event.publish-tooltip": "Tato událost existuje pouze pro obsahy s povoleným systémem Draft/Publish", + "Settings.webhooks.event.select": "Vybrat událost", + "Settings.webhooks.events.isLoading": "Načítání událostí", + "Settings.webhooks.events.create": "Vytvořit", + "Settings.webhooks.events.update": "Aktualizovat", + "Settings.webhooks.events.delete": "Smazat webhook", + "Settings.webhooks.form.events": "Události", + "Settings.webhooks.form.headers": "Hlavičky", + "Settings.webhooks.form.url": "URL", + "Settings.webhooks.headers.remove": "Odstranit řádek hlavičky {number}", + "Settings.webhooks.key": "Klíč", + "Settings.webhooks.list.button.add": "Vytvořit nový webhook", + "Settings.webhooks.list.description": "Získávejte POST notifikace o změnách", + "Settings.webhooks.list.empty.description": "Nebyly nalezeny žádné webhooky", + "Settings.webhooks.list.empty.link": "Podívejte se na naši dokumentaci", + "Settings.webhooks.list.empty.title": "Zatím zde nejsou žádné webhooky", + "Settings.webhooks.list.th.actions": "akce", + "Settings.webhooks.list.th.status": "stav", + "Settings.webhooks.list.loading.success": "Webhooky byly načteny", + "Settings.webhooks.singular": "webhook", + "Settings.webhooks.title": "Webhooky", + "Settings.webhooks.to.delete": "{webhooksToDeleteLength, plural, one {# webhook} other {# webhooks}} selected", + "Settings.webhooks.trigger": "Spustit", + "Settings.webhooks.trigger.cancel": "Zrušit spuštění", + "Settings.webhooks.trigger.pending": "Čeká…", + "Settings.webhooks.trigger.save": "Pro spuštění prosím uložte", + "Settings.webhooks.trigger.success": "Úspěch!", + "Settings.webhooks.trigger.success.label": "Spuštění bylo úspěšné", + "Settings.webhooks.trigger.test": "Testovací spuštění", + "Settings.webhooks.trigger.title": "Uložit před spuštěním", + "Settings.webhooks.value": "Hodnota", + "Settings.webhooks.validation.name.required": "Název je povinný", + "Settings.webhooks.validation.name.regex": "Název musí začínat písmenem a může obsahovat pouze písmena, čísla, mezery a podtržítka", + "Settings.webhooks.validation.url.required": "URL je povinná", + "Settings.webhooks.validation.url.regex": "Hodnota musí být platná URL", + "Settings.webhooks.validation.key": "Klíč je povinný", + "Settings.webhooks.validation.value": "Hodnota je povinná", + "Settings.page.PurchaseAudit-logs.description": "Sledujte a kontrolujte změny se svým týmem", + "Settings.page.PurchaseAudit-logs.perks1": "Snadno sledujte změny", + "Settings.page.PurchaseAudit-logs.perks2": "Snadno kontrolujte změny", + "Settings.page.PurchaseAudit-logs.perks3": "Udržujte bezpečnost a soulad", + "Settings.page.PurchaseContent-history.description": "Okamžitě vraťte změny obsahu", + "Settings.page.PurchaseContent-history.perks1": "Procházejte historii svého obsahu", + "Settings.page.PurchaseContent-history.perks2": "Vraťte změny jedním kliknutím", + "Settings.page.PurchaseContent-history.perks3": "Sledujte změny napříč lokalizacemi", + "Settings.page.PurchaseSSO.description": "Zjednodušte autentizaci pro svůj tým", + "Settings.page.PurchaseSSO.perks1": "Jednotná autentizace", + "Settings.page.PurchaseSSO.perks2": "Zvýšená bezpečnost", + "Settings.page.PurchaseSSO.perks3": "Podpora webhooků", + "Settings.page.purchase.upgrade.cta": "Upgradovat", + "Settings.page.purchase.learn-more.cta": "Zjistit více", + "Usecase.back-end": "Back-end developer", + "Usecase.button.skip": "Přeskočit tuto otázku", + "Usecase.content-creator": "Content Creator", + "Usecase.front-end": "Front-end developer", + "Usecase.full-stack": "Full-stack developer", + "Usecase.input.work-type": "Jaký typ práce děláte?", + "Usecase.notification.success.project-created": "Projekt byl úspěšně vytvořen", + "Usecase.other": "Other", + "Usecase.title": "Řekněte nám o sobě něco víc", "Username": "Uživatelské jméno", "Users": "Uživatelé", "Users & Permissions": "Uživatelé a oprávnění", + "Users.components.List.empty": "Nejsou zde žádní uživatelé...", + "Users.components.List.empty.withFilters": "Nejsou zde žádní uživatelé s použitými filtry...", + "Users.components.List.empty.withSearch": "Nejsou zde žádní uživatelé odpovídající hledání ({search})...", + "anErrorOccurred": "Jejda! Něco se pokazilo. Prosím zkuste to znovu.", + "noPreview": "Není k dispozici náhled", + "app.component.CopyToClipboard.label": "Kopírovat do schránky", + "app.component.search.label": "Hledat {target}", + "app.component.table.duplicate": "Duplikovat {target}", + "app.component.table.edit": "Upravit {target}", + "app.component.table.read": "Číst {target}", + "app.component.table.select.one-entry": "Vybrat {target}", + "app.component.table.view": "Detaily {target}", + "app.components.BlockLink.blog": "Blog", + "app.components.BlockLink.blog.content": "Přečtěte si nejnovější novinky o Strapi a ekosystému.", + "app.components.BlockLink.cloud": "Strapi Cloud", + "app.components.BlockLink.cloud.content": "Plně spravovaný cloud hosting pro váš projekt Strapi.", "app.components.BlockLink.code": "Příklady kódu", + "app.components.BlockLink.code.content": "Učte se testováním reálných projektů vytvořených komunitou.", + "app.components.BlockLink.documentation.content": "Objevte základní koncepty, průvodce a instrukce.", + "app.components.BlockLink.tutorial": "Návody", + "app.components.BlockLink.tutorial.content": "Postupujte podle krokových instrukcí k používání a přizpůsobení Strapi.", "app.components.Button.cancel": "Zrušit", + "app.components.Button.confirm": "Potvrdit", + "app.components.Button.reset": "Obnovit", "app.components.ComingSoonPage.comingSoon": "Již brzy", + "app.components.ConfirmDialog.title": "Potvrzení", "app.components.DownloadInfo.download": "Probíhá stahování...", "app.components.DownloadInfo.text": "Může to chvíli trvat. Díky za trpělivost.", "app.components.EmptyAttributes.title": "Zatím zde nejsou žádná pole", @@ -61,6 +398,44 @@ "app.components.HomePage.welcomeBlock.content.again": "Doufáme, že zdařile pokračujete na svém projektu... Nebojte se přečíst novinky o Strapi. Uděláme vše pro vylepšení produktu na základě vaší zpětné vazby.", "app.components.HomePage.welcomeBlock.content.issues": "témata.", "app.components.HomePage.welcomeBlock.content.raise": " nebo zvýšit ", + "app.components.EmptyStateLayout.content-document": "Nebyl nalezen žádný obsah", + "app.components.EmptyStateLayout.content-permissions": "Nemáte oprávnění pro přístup k tomuto obsahu", + "app.components.FreeTrialEndedModal.button.downgrade": "Přejít na Community", + "app.components.FreeTrialEndedModal.button.upgrade": "Zůstat na plánu Growth", + "app.components.FreeTrialEndedModal.description": "Váš přístup k funkcím plánu Growth, jako jsou Historie obsahu, Releases a Single sign-On (SSO), vypršel.", + "app.components.FreeTrialEndedModal.notice.item1": "Přechod na nižší plán odstraní přístup k výše uvedeným funkcím.", + "app.components.FreeTrialEndedModal.notice.item2": "Historie verzí dokumentu bude smazána.", + "app.components.FreeTrialEndedModal.notice.item3": "Všechny releases budou smazány.", + "app.components.FreeTrialEndedModal.notice.item4": "Pokud přejdete na nižší plán, ujistěte se, že nastavíte heslo root admina, abyste si zachovali přístup do administračního panelu.", + "app.components.FreeTrialEndedModal.notice.title": "Důležité vědět:", + "app.components.FreeTrialEndedModal.title": "Vaše zkušební období skončilo", + "app.components.FreeTrialWelcomeModal.button": "Začít objevovat", + "app.components.FreeTrialWelcomeModal.description1": "Po následujících 30 dní budete mít plný přístup k pokročilým funkcím, jako jsou Historie obsahu, Releases a Single Sign-On (SSO) – ke všemu, co potřebujete k prozkoumání síly Strapi CMS.", + "app.components.FreeTrialWelcomeModal.description2": "Využijte tento čas k vytváření, přizpůsobování a testování svých workflow obsahu s úplnou flexibilitou!", + "app.components.FreeTrialWelcomeModal.title": "Jsme rádi, že jste s námi", + "app.components.GuidedTour.CM.create.content": "

Vytvářejte a spravujte veškerý obsah zde v Content Manageru.

Např.: Když budeme pokračovat v příkladu blogového webu, můžete napsat článek, uložit ho a publikovat podle potřeby.

💡 Rychlý tip — Nezapomeňte publikovat obsah, který vytvoříte.

", + "app.components.GuidedTour.CM.create.title": "⚡️ Vytvořit obsah", + "app.components.GuidedTour.CM.success.content": "

Skvělé, zbývá už jen poslední krok!

🚀 Podívejte se na obsah v akci", + "app.components.GuidedTour.CM.success.cta.title": "Otestovat API", + "app.components.GuidedTour.CM.success.title": "Krok 2: Dokončeno ✅", + "app.components.GuidedTour.CTB.create.content": "

Collection Types vám pomáhají spravovat více záznamů, Single Types jsou vhodné pro správu pouze jednoho záznamu.

Např.: Pro blogový web by Articles byly Collection Type, zatímco Homepage by byla Single Type.

", + "app.components.GuidedTour.CTB.create.cta.title": "Vytvořit Collection Type", + "app.components.GuidedTour.CTB.create.title": "🧠 Vytvořte první Collection Type", + "app.components.GuidedTour.CTB.success.content": "

Jen tak dál!

⚡️ Co byste chtěli sdílet se světem?", + "app.components.GuidedTour.CTB.success.title": "Krok 1: Dokončeno ✅", + "app.components.GuidedTour.apiTokens.create.content": "

Zde vygenerujte autentizační token a získejte obsah, který jste právě vytvořili.

", + "app.components.GuidedTour.apiTokens.create.cta.title": "Vygenerovat API Token", + "app.components.GuidedTour.apiTokens.create.title": "🚀 Podívejte se na obsah v akci", + "app.components.GuidedTour.apiTokens.success.content": "

Podívejte se na obsah v akci pomocí HTTP requestu:

  • Na tuto URL: https://'<'YOUR_DOMAIN'>'/api/'<'YOUR_CT'>'

  • S hlavičkou: Authorization: bearer '<'YOUR_API_TOKEN'>'

Pro další způsoby interakce s obsahem se podívejte do dokumentace.

", + "app.components.GuidedTour.apiTokens.success.cta.title": "Vrátit se na domovskou stránku", + "app.components.GuidedTour.apiTokens.success.title": "Krok 3: Dokončeno ✅", + "app.components.GuidedTour.create-content": "Vytvořit obsah", + "app.components.GuidedTour.home.CM.title": "⚡️ Co byste chtěli sdílet se světem?", + "app.components.GuidedTour.home.CTB.cta.title": "Přejít do Content type Builder", + "app.components.GuidedTour.home.CTB.title": "🧠 Vytvořte strukturu obsahu", + "app.components.GuidedTour.home.apiTokens.cta.title": "Otestovat API", + "app.components.GuidedTour.skip": "Přeskočit prohlídku", + "app.components.GuidedTour.title": "3 kroky pro začátek", "app.components.ImgPreview.hint": "Přetáhněte soubor do této oblasti nebo {browse} pro nahrání", "app.components.ImgPreview.hint.browse": "procházet", "app.components.InputFile.newFile": "Přidat nový soubor", @@ -68,71 +443,229 @@ "app.components.InputFileDetails.originalName": "Původní název:", "app.components.InputFileDetails.remove": "Odstranit tento soubor", "app.components.InputFileDetails.size": "Velikost:", - "app.components.InstallPluginPage.Download.description": "Může to trvat několik sekund, než se stáhne a nainstaluje zásuvný modul.", + "app.components.InstallPluginPage.Download.description": "Může to trvat několik sekund, než se stáhne a nainstaluje plugin.", "app.components.InstallPluginPage.Download.title": "Stahování...", "app.components.InstallPluginPage.description": "Rozšiřte snadno svou aplikaci.", + "app.components.LeftMenu.collapse": "Sbalit navigační lištu", + "app.components.LeftMenu.expand": "Rozbalit navigační lištu", + "app.components.LeftMenu.general": "Obecné", + "app.components.LeftMenu.logo.alt": "Logo aplikace", + "app.components.LeftMenu.logout": "Odhlásit se", + "app.components.LeftMenu.navbrand.title": "Nástěnka Strapi", + "app.components.LeftMenu.navbrand.workplace": "Pracoviště", + "app.components.LeftMenu.plugins": "Pluginy", + "app.components.LeftMenu.trialCountdown.endedAt": "Vaše zkušební období skončilo {date}.", + "app.components.LeftMenu.trialCountdown.endsAt": "Vaše zkušební období skončí {date}.", "app.components.LeftMenuFooter.help": "Nápověda", "app.components.LeftMenuFooter.poweredBy": "Běží na ", + "app.components.LeftMenuLinkContainer.collectionTypes": "Collection Types", "app.components.LeftMenuLinkContainer.configuration": "Konfigurace", "app.components.LeftMenuLinkContainer.general": "Obecné", - "app.components.LeftMenuLinkContainer.noPluginsInstalled": "Zatím nebyly instalovány žádné zásuvné moduly", - "app.components.LeftMenuLinkContainer.plugins": "Zásuvné moduly", - "app.components.ListPluginsPage.description": "Seznam instalovaných zásuvných modulů v projektu.", - "app.components.ListPluginsPage.head.title": "Seznam zásuvných modulů", + "app.components.LeftMenuLinkContainer.noPluginsInstalled": "Zatím nebyly instalovány žádné pluginy", + "app.components.LeftMenuLinkContainer.plugins": "Pluginy", + "app.components.LeftMenuLinkContainer.singleTypes": "Single Types", + "app.components.ListPluginsPage.deletePlugin.description": "Odinstalace pluginu může trvat několik sekund.", + "app.components.ListPluginsPage.deletePlugin.title": "Odinstalace", + "app.components.ListPluginsPage.description": "Seznam instalovaných pluginů v projektu.", + "app.components.ListPluginsPage.head.title": "Seznam pluginů", "app.components.Logout.logout": "Odhlásit se", "app.components.Logout.profile": "Profil", "app.components.NotFoundPage.back": "Zpět na úvodní stránku", "app.components.NotFoundPage.description": "Nenalezeno", + "app.components.NpsSurvey.banner-title": "Jak pravděpodobné je, že doporučíte Strapi příteli nebo kolegovi?", + "app.components.NpsSurvey.feedback-response": "Moc vám děkujeme za zpětnou vazbu!", + "app.components.NpsSurvey.feedback-question": "Máte nějaký návrh na zlepšení?", + "app.components.NpsSurvey.submit-feedback": "Odeslat zpětnou vazbu", + "app.components.NpsSurvey.dismiss-survey-label": "Zavřít průzkum", + "app.components.NpsSurvey.no-recommendation": "Vůbec nepravděpodobné", + "app.components.NpsSurvey.happy-to-recommend": "Extrémně pravděpodobné", + "app.components.NpsSurvey.select-rating": "Vybrat hodnocení", "app.components.Official": "Oficiální", + "app.components.Onboarding.help.button": "Tlačítko nápovědy", "app.components.Onboarding.label.completed": "% dokončeno", + "app.components.Onboarding.link.build-content": "Vytvořit architekturu obsahu", + "app.components.Onboarding.link.manage-content": "Přidat a spravovat obsah", + "app.components.Onboarding.link.manage-media": "Spravovat média", + "app.components.Onboarding.link.more-videos": "Zobrazit více videí", "app.components.Onboarding.title": "Videa Jak začít", "app.components.PluginCard.Button.label.download": "Stáhnout", "app.components.PluginCard.Button.label.install": "Již instalováno", "app.components.PluginCard.PopUpWarning.install.impossible.autoReload.needed": "Funkce automatického obnovení musí být vypnuta. Spusťte aplikaci příkazem `yarn develop`.", "app.components.PluginCard.PopUpWarning.install.impossible.confirm": "Rozumím!", - "app.components.PluginCard.PopUpWarning.install.impossible.environment": "Z bezpečnostních důvodů lze zásuvný modul stáhnout pouze ve vývojářském prostředí.", + "app.components.PluginCard.PopUpWarning.install.impossible.environment": "Z bezpečnostních důvodů lze plugin stáhnout pouze ve vývojářském prostředí.", "app.components.PluginCard.PopUpWarning.install.impossible.title": "Stahování není možné", "app.components.PluginCard.compatible": "Kompatibilní s vaší aplikací", "app.components.PluginCard.compatibleCommunity": "Kompatibilní s komunitou", "app.components.PluginCard.more-details": "Více podrobností", - "app.components.listPlugins.button": "Přidat nový zásuvný modul", - "app.components.listPlugins.title.none": "Nejsou instalovány žádné zásuvné moduly", - "app.components.listPluginsPage.deletePlugin.error": "Došlo k chybě při odinstalaci zásuvného modulu", + "app.components.ToggleCheckbox.off-label": "False", + "app.components.ToggleCheckbox.on-label": "True", + "app.components.ToggleCheckbox.enabled-label": "Enabled", + "app.components.ToggleCheckbox.disabled-label": "Disabled", + "app.components.UpsellBanner.button": "Upgradovat nyní", + "app.components.UpsellBanner.intro": "Přístup k funkcím plánu Growth: ", + "app.components.UpsellBanner.text": "Jako součást zkušebního období můžete prozkoumat prémiové nástroje, jako jsou Historie obsahu, Releases a Single Sign-On (SSO).", + "app.components.Users.MagicLink.connect": "Zkopírujte a sdílejte tento odkaz pro udělení přístupu tomuto uživateli", + "app.components.Users.MagicLink.connect.sso": "Pošlete tento odkaz uživateli, první přihlášení může proběhnout přes poskytovatele SSO", + "app.components.Users.ModalCreateBody.block-title.details": "Detaily uživatele", + "app.components.Users.ModalCreateBody.block-title.roles": "Role uživatele", + "app.components.Users.ModalCreateBody.block-title.roles.description": "Uživatel může mít jednu nebo více rolí", + "app.components.Users.SortPicker.button-label": "Řadit podle", + "app.components.Users.SortPicker.sortby.email_asc": "E-mail (A až Z)", + "app.components.Users.SortPicker.sortby.email_desc": "E-mail (Z až A)", + "app.components.Users.SortPicker.sortby.firstname_asc": "First name (A to Z)", + "app.components.Users.SortPicker.sortby.firstname_desc": "First name (Z to A)", + "app.components.Users.SortPicker.sortby.lastname_asc": "Last name (A to Z)", + "app.components.Users.SortPicker.sortby.lastname_desc": "Last name (Z to A)", + "app.components.Users.SortPicker.sortby.username_asc": "Username (A to Z)", + "app.components.Users.SortPicker.sortby.username_desc": "Username (Z to A)", + "app.components.listPlugins.button": "Přidat nový plugin", + "app.components.listPlugins.title.none": "Nejsou instalovány žádné plugin", + "app.components.listPluginsPage.deletePlugin.error": "Došlo k chybě při odinstalaci plugin", "app.containers.App.notification.error.init": "Při provádění požadavku na API došlo k chybě", + "app.containers.AuthPage.ForgotPasswordSuccess.text.contact-admin": "Pokud tento odkaz neobdržíte, kontaktujte prosím svého administrátora.", + "app.containers.AuthPage.ForgotPasswordSuccess.text.email": "Může trvat několik minut, než obdržíte odkaz pro obnovení hesla.", + "app.containers.AuthPage.ForgotPasswordSuccess.title": "E-mail odeslán", + "app.containers.Users.EditPage.form.active.label": "Aktivní", + "app.containers.Users.EditPage.header.label": "Upravit {name}", + "app.containers.Users.EditPage.header.label-loading": "Upravit uživatele", + "app.containers.Users.EditPage.roles-bloc-title": "Přiřazené role", + "app.containers.Users.ModalForm.footer.button-success": "Pozvat uživatele", "app.links.configure-view": "Upravit vzhled", + "app.page.not.found": "Jejda! Zdá se, že nemůžeme najít stránku, kterou hledáte...", + "app.static.links.cheatsheet": "CheatSheet", "app.utils.SelectOption.defaultMessage": " ", + "app.utils.add-filter": "Přidat filtr", + "app.utils.close-label": "Zavřít", "app.utils.defaultMessage": " ", + "app.utils.delete": "Smazat", + "app.utils.duplicate": "Duplikovat", + "app.utils.edit": "Upravit", + "app.utils.errors.file-too-big.message": "Soubor je příliš velký", + "app.utils.filter-value": "Hodnota filtru", + "app.utils.filters": "Filtry", + "app.utils.notify.data-loaded": "{target} bylo načteno", "app.utils.placeholder.defaultMessage": " ", + "app.utils.publish": "Publikovat", + "app.utils.refresh": "Obnovit", + "app.utils.select-all": "Vybrat vše", + "app.utils.select-field": "Vybrat pole", + "app.utils.select-filter": "Vybrat filtr", + "app.utils.unpublish": "Zrušit publikaci", + "app.utils.published": "Publikováno", + "app.utils.ready-to-publish": "Připraveno k publikaci", + "app.utils.already-published": "Již publikováno", + "app.utils.ready-to-publish-changes": "Připraveno k publikaci změn", + "app.utils.ready-to-unpublish-changes": "Připraveno ke zrušení publikace", + "app.confirm.body": "Jste si jistí?", + "clearLabel": "Vymazat", + "coming.soon": "Tento obsah je momentálně ve výstavbě a vrátí se za několik týdnů!", "component.Input.error.validation.integer": "Tato hodnota musí být celé číslo", "components.AutoReloadBlocker.description": "Spusťte Strapi jedním z následujících příkazů:", - "components.AutoReloadBlocker.header": "Pro tento zásuvný modul musí být zapnuta funkce znovu načítání.", + "components.AutoReloadBlocker.header": "Pro tento plugin musí být zapnuta funkce znovu načítání.", "components.ErrorBoundary.title": "Něco se pokazilo...", + "components.FilterOptions.FILTER_TYPES.$contains": "obsahuje", + "components.FilterOptions.FILTER_TYPES.$containsi": "obsahuje (bez ohledu na velikost písmen)", + "components.FilterOptions.FILTER_TYPES.$endsWith": "končí na", + "components.FilterOptions.FILTER_TYPES.$endsWithi": "končí na (bez ohledu na velikost písmen)", + "components.FilterOptions.FILTER_TYPES.$eq": "je", + "components.FilterOptions.FILTER_TYPES.$eqi": "je (bez ohledu na velikost písmen)", + "components.FilterOptions.FILTER_TYPES.$gt": "je větší než", + "components.FilterOptions.FILTER_TYPES.$gte": "je větší než nebo rovno", + "components.FilterOptions.FILTER_TYPES.$lt": "je menší než", + "components.FilterOptions.FILTER_TYPES.$lte": "je menší než nebo rovno", + "components.FilterOptions.FILTER_TYPES.$ne": "není", + "components.FilterOptions.FILTER_TYPES.$nei": "není (bez ohledu na velikost písmen)", + "components.FilterOptions.FILTER_TYPES.$notContains": "neobsahuje", + "components.FilterOptions.FILTER_TYPES.$notContainsi": "neobsahuje (bez ohledu na velikost písmen)", + "components.FilterOptions.FILTER_TYPES.$notNull": "není null", + "components.FilterOptions.FILTER_TYPES.$null": "je null", + "components.FilterOptions.FILTER_TYPES.$startsWith": "začíná na", + "components.FilterOptions.FILTER_TYPES.$startsWithi": "začíná na (bez ohledu na velikost písmen)", "components.Input.error.attribute.key.taken": "Tato hodnota již existuje", "components.Input.error.attribute.sameKeyAndName": "Hodnoty nesmí být stejné", "components.Input.error.attribute.taken": "Název tohoto pole již existuje", + "components.Input.error.contain.lowercase": "Heslo musí obsahovat alespoň jedno malé písmeno", + "components.Input.error.contain.number": "Heslo musí obsahovat alespoň jedno číslo", + "components.Input.error.contain.maxBytes": "Heslo musí být kratší než 73 bajtů", + "components.Input.error.contain.uppercase": "Heslo musí obsahovat alespoň jedno velké písmeno", "components.Input.error.contentTypeName.taken": "Tento název již existuje", "components.Input.error.custom-error": "{errorMessage} ", "components.Input.error.password.noMatch": "Hesla se neshodují", + "components.Input.error.validation.combobox.invalid": "Zadaná hodnota není platná", "components.Input.error.validation.email": "Toto není e-mailová adresa", "components.Input.error.validation.json": "Toto se neshoduje s formátem JSON", + "components.Input.error.validation.lowercase": "Hodnota musí být řetězec malými písmeny", "components.Input.error.validation.max": "Hodnota je příliš vysoká {max}.", "components.Input.error.validation.maxLength": "Hodnota je příliš dlouhá {max}.", "components.Input.error.validation.min": "Hodnota je příliš nízká {min}.", "components.Input.error.validation.minLength": "Hodnota je příliš krátká {min}.", "components.Input.error.validation.minSupMax": "Nemůže být nadřazený", "components.Input.error.validation.regex": "Hodnota neodpovídá požadovanému vzoru.", + "components.Input.error.validation.string": "Toto není platný řetězec.", "components.Input.error.validation.required": "Tato hodnota je povinná.", "components.Input.error.validation.unique": "Tato hodnota již byla použita.", + "components.Input.error.validation.email.withField": "{field} je neplatný e-mail", + "components.Input.error.validation.json.withField": "{field} neodpovídá formátu JSON", + "components.Input.error.validation.lowercase.withField": "{field} musí být řetězec malými písmeny", + "components.Input.error.validation.max.withField": "{field} je příliš vysoké.", + "components.Input.error.validation.maxLength.withField": "{field} je příliš dlouhé.", + "components.Input.error.validation.min.withField": "{field} je příliš nízké.", + "components.Input.error.validation.minLength.withField": "{field} je příliš krátké.", + "components.Input.error.validation.minSupMax.withField": "{field} nemůže být větší", + "components.Input.error.validation.regex.withField": "{field} neodpovídá regexu.", + "components.Input.error.validation.required.withField": "{field} je povinné.", + "components.Input.error.validation.unique.withField": "{field} už je použito.", "components.InputSelect.option.placeholder": "Vyberte zde", "components.ListRow.empty": "Žádná data k zobrazení.", + "components.NotAllowedInput.text": "Nemáte oprávnění zobrazit toto pole", "components.OverlayBlocker.description": "Používáte funkcionalitu, která potřebuje restartovat server. Počkejte, až se server opět spustí.", "components.OverlayBlocker.description.serverError": "Server by měl být restartován, zkontrolujte prosím protokoly v terminálu.", "components.OverlayBlocker.title": "Čekání na restartování...", "components.OverlayBlocker.title.serverError": "Restartování trvá déle, než se očekávalo", "components.PageFooter.select": "položek na stránku", - "components.ProductionBlocker.description": "Z bezpečnostních důvodů musíme tento zásuvný modul v jiných prostředích zakázat.", - "components.ProductionBlocker.header": "Tento zásuvný modul je dostupný pouze ve vývoji.", + "components.ProductionBlocker.description": "Z bezpečnostních důvodů musíme tento plugin v jiných prostředích zakázat.", + "components.ProductionBlocker.header": "Tento plugin je dostupný pouze ve vývoji.", + "components.ViewSettings.tooltip": "Nastavení zobrazení", + "components.TableHeader.sort": "Řadit podle {label}", + "components.Blocks.modifiers.bold": "Tučné", + "components.Blocks.modifiers.italic": "Kurzíva", + "components.Blocks.modifiers.underline": "Podtržení", + "components.Blocks.modifiers.strikethrough": "Přeškrtnuté", + "components.Blocks.modifiers.code": "Inline kód", + "components.Blocks.link": "Odkaz", + "components.Blocks.expand": "Rozbalit", + "components.Blocks.collapse": "Sbalit", + "components.Blocks.popover.text": "Text", + "components.Blocks.popover.text.placeholder": "Zadejte text odkazu", + "components.Blocks.popover.link": "Odkaz", + "components.Blocks.popover.link.placeholder": "Vložit odkaz", + "components.Blocks.popover.link.rel": "Rel (volitelné)", + "components.Blocks.popover.link.rel.placeholder": "noopener, nofollow, noreferrer", + "components.Blocks.popover.link.target": "Target (volitelné)", + "components.Blocks.popover.link.target.placeholder": "_blank, _self, _parent, _top", + "components.Blocks.popover.link.error": "Prosím zadejte platný odkaz", + "components.Blocks.popover.remove": "Odstranit", + "components.Blocks.popover.edit": "Upravit", + "components.Blocks.blocks.selectBlock": "Vyberte blok", + "components.Blocks.blocks.text": "Text", + "components.Blocks.blocks.heading1": "Nadpis 1", + "components.Blocks.blocks.heading2": "Nadpis 2", + "components.Blocks.blocks.heading3": "Nadpis 3", + "components.Blocks.blocks.heading4": "Nadpis 4", + "components.Blocks.blocks.heading5": "Nadpis 5", + "components.Blocks.blocks.heading6": "Nadpis 6", + "components.Blocks.blocks.code": "Blok kódu", + "components.Blocks.blocks.quote": "Citace", + "components.Blocks.blocks.image": "Obrázek", + "components.Blocks.blocks.unorderedList": "Odrážkový seznam", + "components.Blocks.blocks.orderedList": "Číslovaný seznam", + "components.Blocks.blocks.code.languageLabel": "Vyberte jazyk", + "components.Blocks.dnd.instruction": "Pro změnu pořadí bloků stiskněte Command nebo Control spolu se Shift a šipkou nahoru nebo dolů", + "components.Blocks.dnd.reorder": "{item}, přesunuto. Nová pozice v editoru: {position}.", + "components.Wysiwyg.ToggleMode.markdown-mode": "Režim Markdown", + "components.Wysiwyg.ToggleMode.preview-mode": "Režim náhledu", "components.Wysiwyg.collapse": "Sbalit", + "components.Wysiwyg.blocks.code": "Code", "components.Wysiwyg.selectOptions.H1": "Nadpis H1", "components.Wysiwyg.selectOptions.H2": "Nadpis H2", "components.Wysiwyg.selectOptions.H3": "Nadpis H3", @@ -144,11 +677,183 @@ "components.WysiwygBottomControls.fullscreen": "Rozbalit", "components.WysiwygBottomControls.uploadFiles": "Přetáhněte soubory, vložte ze schránky nebo {browse}.", "components.WysiwygBottomControls.uploadFiles.browse": "vyberte je", + "components.pagination.go-to": "Přejít na stránku {page}", + "components.pagination.go-to-next": "Přejít na další stránku", + "components.pagination.go-to-previous": "Přejít na předchozí stránku", + "components.pagination.remaining-links": "A dalších {number} odkazů", + "components.popUpWarning.button.cancel": "Ne, zrušit", + "components.popUpWarning.button.confirm": "Ano, potvrdit", "components.popUpWarning.message": "Opravdu to chcete smazat?", "components.popUpWarning.title": "Prosím potvrďte", + "components.premiumFeature.title": "Prémiová funkce", + "dark": "Tmavý", + "form.button.continue": "Pokračovat", "form.button.done": "OK", + "global.actions": "Akce", + "global.auditLogs": "Audit Logs", + "global.back": "Zpět", + "global.cancel": "Zrušit", + "global.change-password": "Změnit heslo", + "global.close": "Zavřít", + "global.content-manager": "Content Manager", + "global.home": "Domů", + "global.continue": "Pokračovat", + "global.delete": "Smazat", + "global.delete-target": "Smazat {target}", + "global.description": "Popis", + "global.details": "Detaily", + "global.disabled": "Zakázáno", + "global.documentation": "Dokumentace", + "global.enabled": "Povoleno", + "global.error": "Něco se pokazilo", + "global.finish": "Dokončit", + "global.last-change.redo": "Zopakovat poslední změnu", + "global.last-change.undo": "Vrátit poslední změnu", + "global.last-changes.discard": "Zahodit poslední změny", + "global.localeToggle.label": "Vyberte jazyk rozhraní", + "global.marketplace": "Marketplace", + "global.more": "Více", + "global.name": "Název", + "global.new": "Nový", + "global.none": "Žádné", + "global.password": "Heslo", + "global.plugins": "Pluginy", + "global.plugins.content-manager": "Content Manager", + "global.plugins.content-manager.description": "Rychlý způsob, jak zobrazit, upravovat a mazat data ve vaší databázi.", + "global.plugins.content-type-builder": "Content Type Builder", + "global.plugins.content-type-builder.description": "Modelujte datovou strukturu vašeho API. Vytvářejte nová pole a relace během minuty. Soubory jsou ve vašem projektu automaticky vytvářeny a aktualizovány.", + "global.plugins.documentation": "Dokumentace", + "global.plugins.documentation.description": "Vytvořte OpenAPI dokument a vizualizujte své API pomocí SWAGGER UI.", + "global.plugins.email": "E-mail", + "global.plugins.email.description": "Nakonfigurujte svou aplikaci pro odesílání e-mailů.", + "global.plugins.graphql": "GraphQL", + "global.plugins.graphql.description": "Přidá GraphQL endpoint s výchozími API metodami.", + "global.plugins.i18n": "Internacionalizace", + "global.plugins.i18n.description": "Tento plugin umožňuje vytvářet, číst a aktualizovat obsah v různých jazycích, jak z Admin Panelu, tak z API.", + "global.plugins.sentry": "Sentry", + "global.plugins.sentry.description": "Odesílejte chybové události Strapi do Sentry.", + "global.plugins.upload": "Knihovna médií", + "global.plugins.upload.description": "Správa mediálních souborů.", + "global.plugins.users-permissions": "Role a oprávnění", + "global.plugins.users-permissions.description": "Chraňte své API plným autentizačním procesem založeným na JWT. Tento plugin také přichází se strategií ACL, která vám umožňuje spravovat oprávnění mezi skupinami uživatelů.", + "global.profile": "Profil", + "global.profile.settings": "Nastavení profilu", + "global.prompt.unsaved": "Opravdu chcete opustit tuto stránku? Všechny vaše úpravy budou ztraceny.", + "global.reset-password": "Obnovit heslo", + "global.roles": "Role", + "global.save": "Uložit", + "global.search": "Hledat", + "global.see-more": "Zobrazit více", + "global.select": "Vybrat", + "global.select-all-entries": "Vybrat všechny záznamy", + "global.settings": "Nastavení", + "global.type": "Typ", + "global.users": "Uživatelé", + "global.fullname": "{firstname} {lastname}", + "global.learn-more": "Zjistit více", + "light": "Světlý", + "notification.contentType.relations.conflict": "Content type má konfliktní relace", + "notification.default.title": "Informace:", + "notification.ee.warning.at-seat-limit.title": "{licenseLimitStatus, select, OVER_LIMIT {Přes} AT_LIMIT {Na}} limitu míst ({currentUserCount}/{permittedSeats})", + "notification.ee.warning.over-.message": "Přidejte místa pro {licenseLimitStatus, select, OVER_LIMIT {pozvání} AT_LIMIT {znovuaktivaci}} uživatelů. Pokud jste to už udělali, ale ještě se to ve Strapi neprojevilo, ujistěte se, že restartujete aplikaci.", "notification.error": "Došlo k chybě", + "notification.error.invalid.configuration": "Máte neplatnou konfiguraci, zkontrolujte log serveru pro více informací.", "notification.error.layout": "Nelze načíst rozložení", + "notification.error.tokennamenotunique": "Název je už přiřazen jinému tokenu", "notification.form.error.fields": "Formulář obsahuje chyby", - "request.error.model.unknown": "Tento model neexistuje" + "notification.form.success.fields": "Changes saved", + "notification.link-copied": "Odkaz zkopírován do schránky", + "notification.permission.not-allowed-read": "Nemáte oprávnění zobrazit tento dokument", + "notification.success.apitokencreated": "API Token byl úspěšně vytvořen", + "notification.success.apitokenedited": "API Token byl úspěšně upraven", + "notification.success.delete": "Položka byla smazána", + "notification.success.saved": "Uloženo", + "notification.success.title": "Úspěch:", + "notification.success.transfertokencreated": "Transfer Token byl úspěšně vytvořen", + "notification.success.transfertokenedited": "Transfer Token byl úspěšně upraven", + "notification.version.update.message": "Je dostupná nová verze Strapi!", + "notification.warning.404": "404 - Nenalezeno", + "notification.warning.title": "Varování:", + "or": "NEBO", + "request.error.model.unknown": "Tento model neexistuje", + "selectButtonTitle": "Vybrat", + "skipToContent": "Přeskočit na obsah", + "submit": "Odeslat", + "tours.contentTypeBuilder.Introduction.title": "Vítejte v Content-Type Builderu!", + "tours.contentTypeBuilder.Introduction.content": "Zde vytváříte a spravujete strukturu své aplikace pomocí collection types, single types a znovupoužitelných komponent. Pojďme na to!", + "tours.contentTypeBuilder.AIChat.title": "Je čas začít!", + "tours.contentTypeBuilder.AIChat.content": "

Pokud máte jakékoli otázky ohledně Content-Type Builderu nebo Strapi, zeptejte se tady.

Strapi AI umí generovat schémata přizpůsobená vašim potřebám. Zeptejte se přesně na to, co chcete, například:

  • Výběr data
  • Pole pro e-mail a heslo
  • Média jakéhokoli typu
  • UIDs

Nebuďte stydliví, vyzkoušejte to!

", + "tours.contentTypeBuilder.CollectionTypes.title": "Collection Types", + "tours.contentTypeBuilder.CollectionTypes.content": "Tohle je vaše hlavní volba pro správu více záznamů — třeba blogových příspěvků nebo produktů.", + "tours.contentTypeBuilder.SingleTypes.title": "Single Types", + "tours.contentTypeBuilder.SingleTypes.content": "Perfektní pro jednorázové záznamy, jako je vaše domovská stránka nebo nastavení webu.", + "tours.contentTypeBuilder.Components.title": "Komponenty", + "tours.contentTypeBuilder.Components.content": "Vytvořte jednou, používejte všude. Použijte komponenty třeba pro tlačítka, karty nebo slidery.", + "tours.contentTypeBuilder.YourTurn.title": "Teď jste na řadě — něco vytvořte!", + "tours.contentTypeBuilder.YourTurn.content": "Pokračujte a vytvořte collection type nebo single type. Klikněte na tlačítko \"+\", vyberte název, stiskněte \"Continue\" a my vás odtud provedeme.", + "tours.contentTypeBuilder.AddFields.title": "Přidejte pole, aby to ožilo", + "tours.contentTypeBuilder.AddFields.content": "Začněte přidáním svého prvního pole — třeba názvu, obrázku nebo relace. Váš content type potřebuje tvar, než bude moci obsahovat obsah.", + "tours.contentTypeBuilder.Save.title": "Neodcházejte bez uložení!", + "tours.contentTypeBuilder.Save.content": "Klikněte na tlačítko \"Save\", abyste uložili svůj content type a nepřišli o svou práci. Už skoro hotovo!", + "tours.contentTypeBuilder.Finish.title": "První krok: Hotovo! 🎉", + "tours.contentTypeBuilder.Finish.content": "Vytvořili jste svůj první content type! Teď přejděte do Content Manageru a začněte přidávat záznamy!", + "tours.apiTokens.Introduction.title": "V neposlední řadě API tokeny", + "tours.apiTokens.Introduction.content": "Řiďte přístup k API pomocí vysoce přizpůsobitelných oprávnění.", + "tours.apiTokens.ManageAPIToken.title": "Spravovat API token", + "tours.apiTokens.ManageAPIToken.content": "Klikněte na ikonu \"Tužka\" pro zobrazení a aktualizaci existujícího API tokenu.", + "tours.apiTokens.ViewAPIToken.title": "Zobrazit API token", + "tours.apiTokens.ViewAPIToken.content": "Klikněte na tlačítko \"Zobrazit token\" pro zobrazení svého API tokenu.", + "tours.apiTokens.CopyAPIToken.title": "Zkopírujte svůj API token", + "tours.apiTokens.CopyAPIToken.content": "Klikněte na tlačítko \"Kopírovat\" pro uložení svého API tokenu, budete ho potřebovat pro odesílání requestů do vaší aplikace. {spacer} Pořád máte otázky? Zjistěte více o API tokenech.", + "tours.apiTokens.FinalStep.title": "Gratulujeme, je čas nasadit vaši aplikaci!", + "tours.apiTokens.FinalStep.content": "Máte vše, co potřebujete k nasazení své aplikace a sdílení obsahu se světem.", + "tours.contentManager.Introduction.title": "Content manager", + "tours.contentManager.Introduction.content": "Vytvářejte a spravujte obsah ze svých collection types a single types.", + "tours.contentManager.CreateNewEntry.title": "Vytvořit nový záznam", + "tours.contentManager.CreateNewEntry.content": "Klikněte na tlačítko \"Vytvořit nový záznam\" pro vytvoření a publikování nového záznamu pro tento collection type.", + "tours.contentManager.Fields.title": "Pole", + "tours.contentManager.Fields.content": "Nejprve vyplňte pole, která jste vytvořili v Content-Type Builderu.", + "tours.contentManager.Publish.title": "Publikovat", + "tours.contentManager.Publish.content": "Poté klikněte na tlačítko \"Publikovat\", aby byl váš obsah dostupný přes content API.", + "tours.contentManager.FinalStep.title": "Je čas nastavit API tokeny!", + "tours.contentManager.FinalStep.content": "Teď když jste vytvořili a publikovali záznam, nastavme API token pro správu přístupu k vašemu obsahu.", + "tours.stepCount": "Krok {currentStep} z {tourLength}", + "tours.skip": "Přeskočit", + "tours.next": "Další", + "tours.gotIt": "Rozumím", + "tours.overview.title": "Objevte svou aplikaci!", + "tours.overview.subtitle": "Postupujte podle průvodce a využijte Strapi naplno.", + "tours.overview.close": "Zavřít průvodce", + "tours.overview.tasks": "Vaše úkoly", + "tours.overview.contentTypeBuilder.label": "Vytvořte své schéma", + "tours.overview.contentManager.label": "Vytvořte a publikujte obsah", + "tours.overview.apiTokens.label": "Zkopírujte API token", + "tours.overview.strapiCloud.label": "Nasaďte svou aplikaci do Strapi Cloud", + "tours.overview.strapiCloud.link": "Přečíst dokumentaci", + "tours.overview.tour.link": "Začít", + "tours.overview.tour.done": "Hotovo", + "tours.overview.close.description": "Opravdu chcete zavřít průvodce?", + "tours.profile.title": "Průvodce", + "tours.profile.description": "Průvodce můžete kdykoli resetovat.", + "tours.profile.reset": "Resetovat průvodce", + "tours.profile.notification.success.reset": "Průvodce resetován", + "tours.overview.completed": "{completed}% dokončeno", + "widget.key-statistics.title": "Statistiky projektu", + "widget.key-statistics.list.admins": "Admini", + "widget.key-statistics.list.apiTokens": "API Tokeny", + "widget.key-statistics.list.assets": "Soubory", + "widget.key-statistics.list.components": "Komponenty", + "widget.key-statistics.list.contentTypes": "Content-Types", + "widget.key-statistics.list.entries": "Záznamy", + "widget.key-statistics.list.locales": "Lokality", + "widget.key-statistics.list.webhooks": "Webhooky", + "widget.last-activity.link": "Otevřít Audit Logs", + "widget.last-activity.no-activity": "Žádná aktivita", + "widget.last-activity.title": "Poslední aktivita", + "widget.profile.title": "Profil", + "HomePage.addWidget.title": "Přidat Widget", + "HomePage.addWidget.noWidgetsAvailable": "Nejsou k dispozici žádné widgety k přidání", + "HomePage.addWidget.button": "Přidat Widget", + "HomePage.widget.delete": "Smazat", + "HomePage.widget.drag": "Přetáhněte pro přesunutí" } diff --git a/packages/core/admin/admin/src/translations/ru.json b/packages/core/admin/admin/src/translations/ru.json index 4aa20f4372..7ff444a4a7 100644 --- a/packages/core/admin/admin/src/translations/ru.json +++ b/packages/core/admin/admin/src/translations/ru.json @@ -62,7 +62,7 @@ "Email": "Email", "Files Upload": "Загрузка файлов", "HomePage.head.title": "Домашняя страница", - "HomePage.header.title": "Привет {name}", + "HomePage.header.title": "Привет, {name}", "HomePage.header.subtitle": "Добро пожаловать в панель администратора", "HomePage.widget.loading": "Загрузка содержимого виджета", "HomePage.widget.error": "Не удалось загрузить содержимое виджета.", @@ -702,32 +702,44 @@ "selectButtonTitle": "Выбрать", "skipToContent": "Перейти к содержимому", "submit": "Отправить", - "tours.contentTypeBuilder.Introduction.title": "Конструктор типов контента", + "tours.contentTypeBuilder.Introduction.title": "Добро пожаловать в Конструктор типов контента!", "tours.contentTypeBuilder.Introduction.content": "Создавайте и управляйте структурой вашего контента с помощью типов коллекций, одиночных типов и компонентов.", + "tours.contentTypeBuilder.AIChat.title": "Пора попробовать!", + "tours.contentTypeBuilder.AIChat.content": "

Если у вас есть вопросы о Конструкторе типов контента или Strapi, задайте их здесь.

Strapi AI может генерировать схемы, адаптированные под ваши потребности. Запросите именно то, что вам нужно, например:

  • Выбор даты
  • Поля для ввода электронной почты и пароля
  • Медиафайлы любого типа
  • UID

Не стесняйтесь, попробуйте!

", "tours.contentTypeBuilder.CollectionTypes.title": "Типы коллекций", "tours.contentTypeBuilder.CollectionTypes.content": "Структура контента, которая может управлять несколькими записями, такими как статьи или продукты.", "tours.contentTypeBuilder.SingleTypes.title": "Одиночные типы", "tours.contentTypeBuilder.SingleTypes.content": "Структура контента, которая может управлять только одной записью, такой как домашняя страница или страница контактов.", "tours.contentTypeBuilder.Components.title": "Компоненты", "tours.contentTypeBuilder.Components.content": "Структура контента, которая может использоваться в нескольких типах коллекций или одиночных типах.", - "tours.contentTypeBuilder.Finish.title": "Время создавать контент!", - "tours.contentTypeBuilder.Finish.content": "Теперь, когда вы создали типы контента, вы сможете создавать контент в редакторе контента.", + "tours.contentTypeBuilder.YourTurn.title": "Теперь ваш ход — создайте что-нибудь!", + "tours.contentTypeBuilder.YourTurn.content": "Создайте тип коллекции или одиночный тип. Нажмите кнопку «+», укажите имя, нажмите «Продолжить», и мы поможем вам сделать всё остальное.", + "tours.contentTypeBuilder.AddFields.title": "Добавьте поле, чтобы начать", + "tours.contentTypeBuilder.AddFields.content": "Начните с добавления первого поля, например, имени, изображения или связи. Чтобы тип контента мог что-то содержать, необходимл определить его структуру.", + "tours.contentTypeBuilder.Save.title": "Не уходите, не сохранив данные!", + "tours.contentTypeBuilder.Save.content": "Нажмите кнопку «Сохранить», чтобы зафиксировать тип контента и не потерять изменения. Почти готово!", + "tours.contentTypeBuilder.Finish.title": "Первый шаг: готово! 🎉", + "tours.contentTypeBuilder.Finish.content": "Вы создали свой первый тип контента! Теперь перейдите в Редактор контента, чтобы начать добавлять записи!", + "tours.apiTokens.Introduction.title": "И последнее, но не менее важное: API-токены", + "tours.apiTokens.Introduction.content": "Создавайте и управляйте API-токенами с высоко настраиваемыми разрешениями.", + "tours.apiTokens.ManageAPIToken.title": "Настройте API-токен", + "tours.apiTokens.ManageAPIToken.content": "Нажмите на значок «Карандаш», чтобы просмотреть и обновить существующий API-токен.", + "tours.apiTokens.ViewAPIToken.title": "Посмотрите API-токен", + "tours.apiTokens.ViewAPIToken.content": "Нажмите кнопку «Просмотреть токен», чтобы увидеть свой API-токен.", + "tours.apiTokens.CopyAPIToken.title": "Скопируйте ваш API-токен", + "tours.apiTokens.CopyAPIToken.content": "Нажмите кнопку «Копировать», чтобы сохранить свой API-токен. Он понадобится вам для отправки запросов в ваше приложение. {spacer} Остались вопросы? Узнайте больше об API-токенах.", + "tours.apiTokens.FinalStep.title": "Поздравляем, пришло время развернуть ваше приложение!", + "tours.apiTokens.FinalStep.content": "Ваше приложение готово к развёртыванию, и его контент готов к встрече с миром!", "tours.contentManager.Introduction.title": "Редактор контента", "tours.contentManager.Introduction.content": "Создавайте и управляйте контентом из ваших типов коллекций и одиночных типов.", - "tours.apiTokens.Introduction.title": "API токены", - "tours.apiTokens.Introduction.content": "Создавайте и управляйте API токенами с высоко настраиваемыми разрешениями.", - "tours.apiTokens.CreateAnAPIToken.title": "Создать API токен", - "tours.apiTokens.CreateAnAPIToken.content": "Создайте новый API токен. Выберите имя, продолжительность и тип.", - "tours.apiTokens.CopyAPIToken.title": "Скопируйте ваш новый API токен", - "tours.apiTokens.CopyAPIToken.content": "Обязательно сделайте это сейчас, вы больше не сможете его увидеть. Вам нужно будет сгенерировать новый, если вы его потеряете.", - "tours.apiTokens.FinalStep.title": "Время развернуть ваше приложение!", - "tours.apiTokens.FinalStep.content": "Ваше приложение готово к развертыванию, и его контент готов к обмену с миром!", + "tours.contentManager.CreateNewEntry.title": "Создать новую запись", + "tours.contentManager.CreateNewEntry.content": "Нажмите кнопку «Создать новую запись», чтобы создать и опубликовать новую запись для этого типа коллекции.", "tours.contentManager.Fields.title": "Поля", - "tours.contentManager.Fields.content": "Добавляйте контент в поля, созданные в Конструкторе типов контента.", + "tours.contentManager.Fields.content": "Сначала заполните поля, созданные в Конструкторе типов контента.", "tours.contentManager.Publish.title": "Опубликовать", - "tours.contentManager.Publish.content": "Опубликуйте записи, чтобы сделать их контент доступным через API контента.", - "tours.contentManager.FinalStep.title": "Время создавать API токены!", - "tours.contentManager.FinalStep.content": "Теперь, когда вы создали и опубликовали контент, время создавать API токены и настраивать разрешения.", + "tours.contentManager.Publish.content": "Теперь нажмите кнопку «Опубликовать», чтобы сделать ваш контент доступным через API.", + "tours.contentManager.FinalStep.title": "Время создать API-токены!", + "tours.contentManager.FinalStep.content": "Теперь, когда вы создали и опубликовали запись, давайте настроим API-токен для управления доступом к вашему контенту.", "tours.stepCount": "Шаг {currentStep} из {tourLength}", "tours.skip": "Пропустить", "tours.next": "Далее", @@ -737,8 +749,8 @@ "tours.overview.close": "Закрыть руководство", "tours.overview.tasks": "Ваши задачи", "tours.overview.contentTypeBuilder.label": "Создайте вашу схему", - "tours.overview.contentManager.label": "Создавайте и публикуйте контент", - "tours.overview.apiTokens.label": "Создайте и скопируйте API токен", + "tours.overview.contentManager.label": "Создайте и опубликуйте контент", + "tours.overview.apiTokens.label": "Скопируйте API-токен", "tours.overview.strapiCloud.label": "Разверните ваше приложение в Strapi Cloud", "tours.overview.strapiCloud.link": "Читать документацию", "tours.overview.tour.link": "Начать", @@ -748,9 +760,10 @@ "tours.profile.description": "Вы можете сбросить руководство в любое время.", "tours.profile.reset": "Сбросить руководство", "tours.profile.notification.success.reset": "Руководство сброшено", + "tours.overview.completed": "{completed}% выполнено", "widget.key-statistics.title": "Статистика проекта", "widget.key-statistics.list.admins": "Администраторы", - "widget.key-statistics.list.apiTokens": "API токены", + "widget.key-statistics.list.apiTokens": "API-токены", "widget.key-statistics.list.assets": "Ассеты", "widget.key-statistics.list.components": "Компоненты", "widget.key-statistics.list.contentTypes": "Типы контента", diff --git a/packages/core/admin/package.json b/packages/core/admin/package.json index d4b622d272..29ceb9a9a3 100644 --- a/packages/core/admin/package.json +++ b/packages/core/admin/package.json @@ -1,6 +1,6 @@ { "name": "@strapi/admin", - "version": "5.42.1", + "version": "5.43.0", "description": "Strapi Admin", "homepage": "https://strapi.io", "bugs": { @@ -91,10 +91,10 @@ "@reduxjs/toolkit": "1.9.7", "@strapi/design-system": "2.2.0", "@strapi/icons": "2.2.0", - "@strapi/permissions": "5.42.1", - "@strapi/types": "5.42.1", - "@strapi/typescript-utils": "5.42.1", - "@strapi/utils": "5.42.1", + "@strapi/permissions": "5.43.0", + "@strapi/types": "5.43.0", + "@strapi/typescript-utils": "5.43.0", + "@strapi/utils": "5.43.0", "@testing-library/dom": "10.4.1", "@testing-library/react": "16.3.0", "@testing-library/user-event": "14.6.1", @@ -109,7 +109,7 @@ "fast-deep-equal": "3.1.3", "formik": "2.4.5", "fractional-indexing": "3.2.0", - "fs-extra": "11.2.0", + "fs-extra": "11.3.4", "highlight.js": "^10.4.1", "immer": "9.0.21", "inquirer": "9.3.8", @@ -141,17 +141,17 @@ "rimraf": "6.1.3", "sanitize-html": "2.13.0", "scheduler": "0.23.0", - "semver": "7.5.4", + "semver": "7.7.4", "sift": "16.0.1", "sonner": "2.0.7", - "typescript": "5.4.4", + "typescript": "5.4.5", "use-context-selector": "1.4.1", "yup": "0.32.9", "zod": "3.25.67" }, "devDependencies": { - "@strapi/admin-test-utils": "5.42.1", - "@strapi/data-transfer": "5.42.1", + "@strapi/admin-test-utils": "5.43.0", + "@strapi/data-transfer": "5.43.0", "@types/codemirror5": "npm:@types/codemirror@^5.60.15", "@types/fs-extra": "11.0.4", "@types/invariant": "2.2.36", diff --git a/packages/core/content-manager/admin/src/pages/EditView/components/FormInputs/BlocksInput/BlocksContent.tsx b/packages/core/content-manager/admin/src/pages/EditView/components/FormInputs/BlocksInput/BlocksContent.tsx index 905c77ff4b..d4f08fbd49 100644 --- a/packages/core/content-manager/admin/src/pages/EditView/components/FormInputs/BlocksInput/BlocksContent.tsx +++ b/packages/core/content-manager/admin/src/pages/EditView/components/FormInputs/BlocksInput/BlocksContent.tsx @@ -544,6 +544,7 @@ const BlocksContent = ({ placeholder, ariaLabelId }: BlocksContentProps) => { // Check if there's a modifier to toggle Object.values(modifiers).forEach((value) => { if (value.isValidEventKey(event)) { + event.preventDefault(); value.handleToggle(editor); return; } diff --git a/packages/core/content-manager/admin/src/pages/EditView/components/FormInputs/Wysiwyg/utils/tests/__snapshots__/mdRenderer.test.ts.snap b/packages/core/content-manager/admin/src/pages/EditView/components/FormInputs/Wysiwyg/utils/tests/__snapshots__/mdRenderer.test.ts.snap new file mode 100644 index 0000000000..d9fd20a2f4 --- /dev/null +++ b/packages/core/content-manager/admin/src/pages/EditView/components/FormInputs/Wysiwyg/utils/tests/__snapshots__/mdRenderer.test.ts.snap @@ -0,0 +1,23 @@ +// Jest Snapshot v1, https://goo.gl/fbAQLP + +exports[`mdRenderer normalizes image alt text with inline html (per markdown-it / CommonMark rules) 1`] = ` +"

A <em>tag</em> and  break

+" +`; + +exports[`mdRenderer renders common rich text preview markdown consistently 1`] = ` +"

Title

+

Paragraph with link, emoji 😄, and mark.

+
+

Warning text

+
+

Footnote here[1]

+
+
+
    +
  1. Footnote value. ↩︎

    +
  2. +
+
+" +`; diff --git a/packages/core/content-manager/admin/src/pages/EditView/components/FormInputs/Wysiwyg/utils/tests/mdRenderer.test.ts b/packages/core/content-manager/admin/src/pages/EditView/components/FormInputs/Wysiwyg/utils/tests/mdRenderer.test.ts new file mode 100644 index 0000000000..02e1c394cb --- /dev/null +++ b/packages/core/content-manager/admin/src/pages/EditView/components/FormInputs/Wysiwyg/utils/tests/mdRenderer.test.ts @@ -0,0 +1,27 @@ +import { md } from '../mdRenderer'; + +describe('mdRenderer', () => { + it('renders common rich text preview markdown consistently', () => { + const source = ` +# Title + +Paragraph with [link](https://example.com), emoji :smile:, and ==mark==. + +::: warning +Warning text +::: + +Footnote here[^1] + +[^1]: Footnote *value*. +`; + + expect(md.render(source)).toMatchSnapshot(); + }); + + it('normalizes image alt text with inline html (per markdown-it / CommonMark rules)', () => { + const source = '![A tag and \\nbreak](https://example.com/x.png)'; + + expect(md.render(source)).toMatchSnapshot(); + }); +}); diff --git a/packages/core/content-manager/admin/src/translations/cs.json b/packages/core/content-manager/admin/src/translations/cs.json index 95ca2d2289..e079348a98 100644 --- a/packages/core/content-manager/admin/src/translations/cs.json +++ b/packages/core/content-manager/admin/src/translations/cs.json @@ -1,66 +1,194 @@ { + "App.schemas.data-loaded": "Schémata byla úspěšně načtena", + "actions.clone.error": "Při pokusu o duplikování dokumentu došlo k chybě.", + "actions.clone.label": "Duplikovat", + "actions.delete.dialog.body": "Opravdu chcete smazat tento dokument? Tato akce je nevratná.", + "actions.delete.error": "Při pokusu o smazání dokumentu došlo k chybě.", + "actions.delete.label": "Smazat záznam{isLocalized, select, true { (všechny jazyky)} other {}}", + "actions.discard.label": "Zahodit změny", + "actions.discard.dialog.body": "Opravdu chcete zahodit změny? Tato akce je nevratná.", + "actions.edit.error": "Při pokusu o úpravu dokumentu došlo k chybě.", + "actions.edit.label": "Upravit", + "actions.unpublish.error": "Při pokusu o zrušení publikace dokumentu došlo k chybě.", + "actions.unpublish.dialog.body": "Opravdu chcete zrušit publikaci tohoto?", + "actions.unpublish.dialog.option.keep-draft": "Zrušit publikaci a ponechat poslední koncept", + "actions.unpublish.dialog.option.replace-draft": "Zrušit publikaci a nahradit poslední koncept", + "ListViewTable.relation-loaded": "Relace byly načteny", + "ListViewTable.relation-loading": "Relace se načítají", + "ListViewTable.relation-more": "Tato relace obsahuje více entit, než je zobrazeno", "EditRelations.title": "Relační data", + "HeaderLayout.button.label-add-entry": "Vytvořit nový záznam", + "api.id": "API ID", + "apiError.This attribute must be unique": "{field} musí být jedinečné", "components.AddFilterCTA.add": "Filtry", "components.AddFilterCTA.hide": "Filtry", + "components.DragHandle-label": "Přetáhnout", "components.DraggableAttr.edit": "Upravte kliknutím", + "components.DraggableCard.delete.field": "Smazat {item}", + "components.DraggableCard.edit.field": "Upravit {item}", + "components.DraggableCard.move.field": "Přesunout {item}", + "components.ListViewTable.row-line": "řádek položky {number}", + "components.DynamicZone.ComponentPicker-label": "Vyberte jeden komponent", + "components.DynamicZone.add-component": "Přidat komponent do {componentName}", + "components.DynamicZone.delete-label": "Smazat {name}", + "components.DynamicZone.error-message": "Komponent obsahuje chybu(y)", + "components.DynamicZone.missing-components": "There {number, plural, =0 {are # missing components} one {is # missing component} other {are # missing components}}", + "components.DynamicZone.extra-components": "There {number, plural, =0 {are # extra components} one {is # extra component} other {are # extra components}}", + "components.DynamicZone.move-down-label": "Přesunout komponent dolů", + "components.DynamicZone.move-up-label": "Přesunout komponent nahoru", "components.DynamicZone.pick-compo": "Vyberte jeden komponent", + "components.DynamicZone.required": "Komponent je povinný", + "components.DynamicZone.move-up": "Přesunout nahoru", + "components.DynamicZone.move-down": "Přesunout dolů", "components.EmptyAttributesBlock.button": "Přejít k nastavení", "components.EmptyAttributesBlock.description": "Můžete upravit svá nastavení", "components.FieldItem.linkToComponentLayout": "Nastavit rozložení komponentu", + "components.FieldSelect.label": "Přidat pole", "components.FilterOptions.button.apply": "Aplikovat", "components.FiltersPickWrapper.PluginHeader.actions.apply": "Aplikovat", "components.FiltersPickWrapper.PluginHeader.actions.clearAll": "Smazat vše", "components.FiltersPickWrapper.PluginHeader.description": "Nastavit pravidla aplikování filtrů na záznamy", "components.FiltersPickWrapper.PluginHeader.title.filter": "Filtry", "components.FiltersPickWrapper.hide": "Skrýt", + "components.Filters.usersSelect.label": "Vyhledejte a vyberte uživatele pro filtrování", + "components.LeftMenu.Search.label": "Hledat typ obsahu", + "components.LeftMenu.collection-types": "Collection Types", + "components.LeftMenu.single-types": "Single Types", "components.LimitSelect.itemsPerPage": "Položek na stránku", + "components.NotAllowedInput.text": "No permissions to see this field", + "components.RelationInput.icon-button-aria-label": "Přetáhnout", + "components.RelationInputModal.modal-title": "Upravit relaci", + "components.RelationInputModal.button-fullpage": "Přejít na záznam", + "components.RelationInputModal.confirmation-message": "Některé změny nebyly uloženy. Opravdu chcete zavřít tuto relaci? Všechny neuložené změny budou ztraceny.", + "components.RepeatableComponent.error-message": "Komponent(y) obsahují chybu(y)", "components.Search.placeholder": "Vyhledat záznam...", + "components.Select.draft-info-title": "Draft", + "components.Select.publish-info-title": "Published", "components.SettingsViewWrapper.pluginHeader.description.edit-settings": "Upravit vzhled zobrazení úprav.", "components.SettingsViewWrapper.pluginHeader.description.list-settings": "Zvolte nastavení zobrazení záznamu.", "components.SettingsViewWrapper.pluginHeader.title": "Nastavit zobrazení - {name}", + "bulk-publish.already-published": "Již publikováno", + "bulk-unpublish.already-unpublished": "Již nepublikováno", + "bulk-publish.modified": "Připraveno k publikaci změn", + "bulk-publish.waiting-for-action": "Čeká na akci", "components.TableDelete.delete": "Odstranit vše", "components.TableDelete.deleteSelected": "Odstranit výběr", + "components.TableDelete.label": "{number, plural, one {# záznam} other {# záznamů}} vybráno", "components.TableEmpty.withFilters": "Není zde žádný {contentType} se specifikovanými filtry...", "components.TableEmpty.withSearch": "Není zde žádný {contentType} odpovídající hledání ({search})...", "components.TableEmpty.withoutFilter": "Není zde žádný {contentType}...", "components.empty-repeatable": "Zatím zde není žádný záznam. Kliknutím na tlačítko níže jej přidáte.", "components.notification.info.maximum-requirement": "Již jste dosáhli maximálního počtu polí", "components.notification.info.minimum-requirement": "Pole bylo přidáno pro splnění minimálních požadavků", + "components.repeatable.reorder.error": "Při změně pořadí pole vašeho komponentu došlo k chybě, zkuste to prosím znovu", "components.reset-entry": "Zrušit záznam", - "containers.Edit.Link.Layout": "Nastavit rozložení", - "containers.Edit.Link.Model": "Upravit Typ obsahu", + "components.uid.apply": "použít", + "components.uid.available": "Dostupné", + "components.uid.regenerate": "Znovu vygenerovat", + "components.uid.suggested": "doporučeno", + "components.uid.unavailable": "Nedostupné", + "containers.edit.tabs.label": "Stav dokumentu", + "containers.edit.tabs.draft": "draft", + "containers.edit.tabs.published": "published", + "containers.edit.panels.default.title": "Záznam", + "containers.edit.panels.default.more-actions": "Další akce dokumentu", "containers.Edit.addAnItem": "Přidat záznam...", "containers.Edit.clickToJump": "Klikněte pro přechod k záznamu", "containers.Edit.delete": "Odstranit", "containers.Edit.editing": "Úpravy...", + "containers.Edit.Link.Layout": "Nastavit rozložení", + "containers.Edit.Link.Model": "Upravit Typ obsahu", "containers.Edit.pluginHeader.title.new": "Vytvořit záznam", "containers.Edit.reset": "Resetovat", "containers.Edit.returnList": "Návrat do výpisu", "containers.Edit.seeDetails": "Detaily", "containers.Edit.submit": "Uložit", + "containers.edit.title.new": "Vytvořit záznam", + "containers.edit.header.more-actions": "Další akce", + "containers.edit.information.last-published.label": "Publikováno", + "containers.edit.information.last-published.value": "{time}{isAnonymous, select, true {} other { od {author}}}", + "containers.edit.information.last-draft.label": "Aktualizováno", + "containers.edit.information.last-draft.value": "{time}{isAnonymous, select, true {} other { od {author}}}", + "containers.edit.information.document.label": "Vytvořeno", + "containers.edit.information.document.value": "{time}{isAnonymous, select, true {} other { od {author}}}", "containers.EditSettingsView.modal-form.edit-field": "Upravit pole", + "containers.EditView.add.new-entry": "Přidat záznam", "containers.EditView.notification.errors": "Formulář obsahuje chyby", - "containers.Home.introduction": "K úpravě vašich záznamů prosím přistupte skrz odkaz v levém menu. Tento zásuvný modul neobsahuje způsob jak upravit nastavení, stále na něm pracujeme.", + "containers.EditView.saveHint": "Ctrl / Cmd + Enter pro {action}", + "containers.Home.introduction": "K úpravě vašich záznamů prosím přistupte skrz odkaz v levém menu. Tento plugin neobsahuje způsob jak upravit nastavení, stále na něm pracujeme.", "containers.Home.pluginHeaderDescription": "Spravujte své záznamy mocným a intuitivním rozhraním.", "containers.Home.pluginHeaderTitle": "Správce obsahu", - "containers.List.errorFetchRecords": "Chyba", + "containers.List.draft": "Draft", + "containers.List.published": "Published", + "containers.List.modified": "Modified", + "containers.List.statusFilter.draft": "Draft (nikdy nepublikováno)", + "containers.List.statusFilter.published": "Published (vše)", + "containers.List.statusFilter.publishedModified": "Published (upraveno)", + "containers.List.statusFilter.publishedUnmodified": "Published (neupraveno)", + "containers.list.filters.status": "Stav", "containers.list.displayedFields": "Zobrazená pole", + "containers.List.errorFetchRecords": "Chyba", "containers.ListSettingsView.modal-form.edit-label": "Upravit popisek", + "containers.list.items": "{number} {number, plural, =0 {položek} one {položka} other {položek}}", + "containers.list.table.row-actions": "Akce řádku", + "containers.list.selectedEntriesModal.title": "Publikovat záznamy", + "containers.list.selectedEntriesModal.selectedCount.publish": "{publishedCount} {publishedCount, plural, =0 {záznamů} one {záznam} other {záznamů}} již publikováno. {draftCount} {draftCount, plural, =0 {záznamů} one {záznam} other {záznamů}} připraveno k publikaci. {withErrorsCount} {withErrorsCount, plural, =0 {záznamů} one {záznam} other {záznamů}} čeká na akci.", + "containers.list.selectedEntriesModal.selectedCount.unpublish": "{draftCount} {draftCount, plural, =0 {záznamů} one {záznam} other {záznamů}} již nepublikováno. {publishedCount} {publishedCount, plural, =0 {záznamů} one {záznam} other {záznamů}} připraveno ke zrušení publikace.", + "containers.list.autoCloneModal.header": "Duplikovat", + "containers.list.autoCloneModal.title": "Tento záznam nelze duplikovat přímo.", + "containers.list.autoCloneModal.description": "Bude vytvořen nový záznam se stejným obsahem, ale pro jeho uložení budete muset změnit následující pole.", + "containers.list.autoCloneModal.create": "Vytvořit", + "containers.list.autoCloneModal.error.unique": "Stejné hodnoty v jedinečném poli nejsou povoleny.", + "containers.list.autoCloneModal.error.relation": "Duplikování relace by ji mohlo odstranit z původního záznamu.", + "containers.list-settings.modal-form.label": "Upravit {fieldName}", + "containers.list-settings.modal-form.error": "Při pokusu o otevření formuláře došlo k chybě.", + "containers.edit-settings.modal-form.error": "Při pokusu o otevření formuláře došlo k chybě.", + "containers.edit-settings.modal-form.label": "Štítek", + "containers.edit-settings.modal-form.description": "Popis", + "containers.edit-settings.modal-form.placeholder": "Zástupný text", + "containers.edit-settings.modal-form.mainField": "Název záznamu", + "containers.edit-settings.modal-form.mainField.hint": "Nastavte zobrazené pole v zobrazení úprav i seznamu", + "containers.edit-settings.modal-form.editable": "Upravitelné pole", + "containers.edit-settings.modal-form.size": "Velikost", "containers.SettingPage.add.field": "Vložit další pole", + "containers.SettingPage.add.relational-field": "Vložit další relační pole", "containers.SettingPage.attributes": "Pole atributů", "containers.SettingPage.attributes.description": "Nastavit pořadí atributů", "containers.SettingPage.editSettings.description": "Přesuňte pole k vybudování rozložení", "containers.SettingPage.editSettings.entry.title": "Název záznamu", "containers.SettingPage.editSettings.entry.title.description": "Nastavit zobrazená pole záznamu", + "containers.SettingPage.editSettings.relation-field.description": "Nastavte zobrazené pole v zobrazení úprav i seznamu", + "containers.SettingPage.editSettings.relationOpenMode": "Chování otevírání relace", + "containers.SettingPage.editSettings.relationOpenMode.description": "Vyberte, jak se mají po kliknutí otevírat záznamy relací", + "containers.SettingPage.editSettings.relationOpenMode.modal": "Modal (výchozí)", + "containers.SettingPage.editSettings.relationOpenMode.newTab": "Otevřít v nové kartě", + "containers.SettingPage.editSettings.relationOpenMode.page": "Přejít na stránku", "containers.SettingPage.editSettings.title": "Upravit pohled (nastavení)", "containers.SettingPage.layout": "Rozložení", + "containers.SettingPage.listSettings.description": "Nakonfigurujte možnosti pro tento Collection Type", "containers.SettingPage.listSettings.title": "Zobrazení seznamu (nastavení)", + "containers.SettingPage.pluginHeaderDescription": "Nakonfigurujte specifická nastavení pro tento Collection Type", + "containers.SettingPage.relations": "Relační pole", "containers.SettingPage.settings": "Nastavení", "containers.SettingPage.view": "Zobrazení", "containers.SettingViewModel.pluginHeader.title": "Správce obsahu - {name}", "containers.SettingsPage.Block.contentType.description": "Upravit specifická nastavení", + "containers.SettingsPage.Block.contentType.title": "Collection Types", + "containers.SettingsPage.Block.generalSettings.description": "Nakonfigurujte výchozí možnosti pro své Collection Types", "containers.SettingsPage.Block.generalSettings.title": "Obecné", + "containers.SettingsPage.pluginHeaderDescription": "Nakonfigurujte nastavení pro všechny své Collection Types a skupiny", + "containers.SettingsView.list.subtitle": "Nakonfigurujte rozložení a zobrazení svých Collection Types a skupin", "containers.SettingsView.list.title": "Zobrazit nastavení", + "containers.untitled": "Bez názvu", + "dnd.cancel-item": "{item}, puštěno. Změna pořadí zrušena.", + "dnd.drop-item": "{item}, puštěno. Konečná pozice v seznamu: {position}.", + "dnd.grab-item": "{item}, uchopeno. Aktuální pozice v seznamu: {position}. Stiskněte šipku nahoru a dolů pro změnu pozice, mezerník pro položení, Escape pro zrušení.", + "dnd.instructions": "Stiskněte mezerník pro uchopení a změnu pořadí", + "dnd.reorder": "{item}, přesunuto. Nová pozice v seznamu: {position}.", + "edit-settings-view.link-to-ctb.components": "Upravit komponent", + "edit-settings-view.link-to-ctb.content-types": "Upravit typ obsahu", + "emptyAttributes.button": "Přejít do Collection Type builderu", + "emptyAttributes.description": "Přidejte první pole do svého Collection Type", "emptyAttributes.title": "Zatím zde nejsou žádná pole", "error.attribute.key.taken": "Hodnota již existuje", "error.attribute.sameKeyAndName": "Hodnoty nesmí být stejné", @@ -73,6 +201,7 @@ "error.record.update": "Při pokusu o aktualizaci záznamu došlo k chybě.", "error.records.count": "Při pokusu o sečtení záznamů došlo k chybě.", "error.records.fetch": "Při pokusu o načtení záznamů došlo k chybě.", + "error.records.fetch-draft-relatons": "Při načítání draft relací v tomto dokumentu došlo k chybě.", "error.schema.generation": "Při pokusu o vygenerování schématu došlo k chybě.", "error.validation.json": "Toto není JSON", "error.validation.max": "Hodnota je příliš vysoká.", @@ -82,36 +211,139 @@ "error.validation.minSupMax": "Nemůže být větší", "error.validation.regex": "Hodnota neodpovídá poskytnutému regexu.", "error.validation.required": "Vstup hodnoty je povinná položka.", - "form.Input.bulkActions": "Enable bulk actions", + "form.Input.bulkActions": "Povolit hromadné akce", "form.Input.defaultSort": "Výchozí atribut řazení", "form.Input.description": "Popis", "form.Input.description.placeholder": "Zobrazit název v profilu", "form.Input.editable": "Upravitelné pole", "form.Input.filters": "Povolit filtry", + "form.Input.hint.character.unit": "{maxValue, plural, one { znak} other { znaků}}", + "form.Input.hint.minMaxDivider": " / ", + "form.Input.hint.text": "{min, select, undefined {} other {min. {min}}}{divider}{max, select, undefined {} other {max. {max}}}{unit}{br}{description}", "form.Input.label": "Štítek", "form.Input.label.inputDescription": "Tato hodnota přepíše štítek zobrazený v hlavičce tabulky", "form.Input.pageEntries": "Záznamů na stránku", + "form.Input.pageEntries.inputDescription": "Poznámka: Tuto hodnotu můžete přepsat na stránce nastavení Collection Type.", "form.Input.placeholder": "Moje hodnota", "form.Input.placeholder.placeholder": "Moje hodnota", "form.Input.search": "Povolit vyhledávání", "form.Input.search.field": "Povolit vyhledávání na tomto poli", "form.Input.sort.field": "Povolit řazení na tomto poli", + "form.Input.sort.order": "Výchozí pořadí řazení", "form.Input.wysiwyg": "Zobrazit jako WYSIWYG", "global.displayedFields": "Zobrazená pole", "groups": "Skupiny", "groups.numbered": "Skupiny ({number})", + "header.name": "Content Manager", + "link-to-ctb": "Upravit model", + "models": "Collection Types", + "models.numbered": "Collection Types ({number})", "notification.error.displayedFields": "Alespoň jedno pole musí být zobrazeno", "notification.error.relationship.fetch": "Při načítání relačních vazeb došlo k chybě.", "notification.info.SettingPage.disableSort": "Musíte mít alespoň jeden atribut s povolením řazením.", "notification.info.minimumFields": "Je třeba mít zobrazeno alespoň jedno pole.", "notification.upload.error": "Při nahrávání vašich souborů došlo k chybě", "pageNotFound": "Stránka nenalezena", - "plugin.description.long": "Zásuvný modul pro zobrazení, úpravu a mazání dat ve vaší databázi.", - "plugin.description.short": "Zásuvný modul pro zobrazení, úpravu a mazání dat ve vaší databázi.", + "pages.ListView.header-subtitle": "{number, plural, =0 {# záznamů} one {# záznam} other {# záznamů}} nalezeno", + "pages.NoContentType.button": "Vytvořte svůj první Content-Type", + "pages.NoContentType.text": "Zatím nemáte žádný obsah, doporučujeme vytvořit svůj první Content-Type.", + "permissions.not-allowed.create": "Nemáte oprávnění vytvořit dokument", + "permissions.not-allowed.update": "Nemáte oprávnění zobrazit tento dokument", + "plugin.description.long": "Plugin pro zobrazení, úpravu a mazání dat ve vaší databázi.", + "plugin.description.short": "Plugin pro zobrazení, úpravu a mazání dat ve vaší databázi.", "popUpWarning.bodyMessage.contentType.delete": "Jste si jisti že chcete odstranit tento záznam?", "popUpWarning.bodyMessage.contentType.delete.all": "Jste si jisti, že chcete odstranit tyto záznamy?", "popUpWarning.warning.cancelAllSettings": "Jste si jisti, že chcete zrušit všechny vaše úpravy?", + "popUpWarning.bodyMessage.contentType.publish.all": "Opravdu chcete publikovat tyto záznamy?", + "popUpWarning.bodyMessage.contentType.unpublish.all": "Opravdu chcete zrušit publikaci těchto záznamů?", + "popUpWarning.warning.has-draft-relations.title": "Potvrzení", + "popUpWarning.warning.has-draft-relations.message": "Tento záznam souvisí s {count, plural, one {# draft záznamem} other {# draft záznamy}}. Jeho publikování by mohlo ve vaší aplikaci zanechat nefunkční odkazy.", + "popUpwarning.warning.has-draft-relations.button-confirm": "Ano, publikovat", + "popUpwarning.warning.bulk-has-draft-relations.message": "{count} {count, plural, one { relace } other { relací } } z {entities} { entities, plural, one { záznamu } other { záznamů } } {count, plural, one { není } other { nejsou } } ještě publikovány a mohou vést k neočekávanému chování. ", + "popUpWarning.warning.publish-question": "Stále to chcete publikovat?", + "popUpWarning.warning.unpublish": "Pokud tento obsah nepublikujete, automaticky se změní na Draft.", + "popUpWarning.warning.unpublish-question": "Opravdu to nechcete publikovat?", "popUpWarning.warning.updateAllSettings": "Toto změní všechna vaše nastavení", + "popover.display-relations.label": "Zobrazit relace", + "preview.panel.title": "Náhled", + "preview.panel.button": "Otevřít náhled", + "preview.panel.button-configuration": "Nastavit náhled", + "preview.panel.button-disabled-tooltip": "Pro otevření náhledu prosím uložte", + "preview.page-title": "Náhled {contentType}", + "preview.header.close": "Zavřít náhled", + "preview.copy.label": "Kopírovat odkaz náhledu", + "preview.copy.success": "Odkaz náhledu zkopírován", + "preview.tabs.label": "Stav náhledu", + "preview.content.close-editor": "Zavřít editor", + "preview.content.open-editor": "Otevřít editor", + "preview.device.select": "Vyberte typ zařízení", + "preview.device.desktop": "Desktop", + "preview.device.mobile": "Mobile", + "preview.info.single-click-hint": "Dvojklik pro úpravu", + "preview.error.invalid-field-path": "Toto pole nebylo možné v aktuálním dokumentu najít", + "preview.error.relations-not-handled": "Inline úpravy relací nejsou momentálně podporovány.", + "preview.error.incomplete-strapi-source": "Tomuto poli chybí některé povinné informace pro náhled", + "preview.error.different-document": "Toto pole pochází z jiného dokumentu", + "relation.create": "Vytvořit relaci", + "relation.add": "Přidat nebo vytvořit relaci", + "relation.disconnect": "Odstranit", + "relation.error-adding-relation": "Při pokusu o přidání relace došlo k chybě.", + "relation.isLoading": "Relace se načítají", + "relation.loadMore": "Načíst více", + "relation.notAvailable": "Žádné relace nejsou dostupné", + "relation.publicationState.draft": "Draft", + "relation.publicationState.published": "Published", + "reviewWorkflows.stage.label": "Fáze schvalování", + "select.currently.selected": "aktuálně vybráno: {count}", + "success.record.clone": "Dokument byl duplikován", + "success.record.discard": "Změny zahozeny", "success.record.delete": "Odstraněno", - "success.record.save": "Uloženo" + "success.record.publish": "Dokument publikován", + "success.record.publishing": "Publikování...", + "success.record.save": "Uloženo", + "success.record.unpublish": "Publikace dokumentu zrušena", + "success.records.delete": "Úspěšně smazáno.", + "success.records.unpublish": "Úspěšně zrušena publikace.", + "success.records.publish": "Úspěšně publikováno.", + "utils.data-loaded": "The {number, plural, =1 {entry has} other {entries have}} successfully been loaded", + "listView.validation.errors.title": "Vyžadována akce", + "listView.validation.errors.message": "Před publikováním se prosím ujistěte, že jsou všechna pole platná (povinné pole, min/max limit znaků atd.)", + "history.document-action": "Historie obsahu", + "history.page-title": "Historie {contentType}", + "history.sidebar.title": "Verze", + "history.sidebar.version-card.aria-label": "Karta verze", + "history.sidebar.versionDescription": "{distanceToNow}{isAnonymous, select, true {} other { od {author}}}{isCurrent, select, true { (aktuální)} other {}}", + "history.sidebar.show-newer": "Zobrazit novější verze", + "history.sidebar.show-older": "Zobrazit starší verze", + "history.version.subtitle": "{hasLocale, select, true {{subtitle}, v {locale}} other {{subtitle}}}", + "history.content.new-field.title": "Nové pole", + "history.content.new-field.message": "Toto pole neexistovalo v době, kdy byla tato verze uložena. Pokud tuto verzi obnovíte, bude prázdné.", + "history.content.unknown-fields.title": "Neznámá pole", + "history.content.unknown-fields.message": "Tato pole byla smazána nebo přejmenována v Content-Type Builderu. Tato pole nebudou obnovena.", + "history.content.missing-assets.title": "{number, plural, =1 {Chybějící soubor} other {{number} chybějících souborů}}", + "history.content.missing-assets.message": "{number, plural, =1 {Byl} other {Byly}} smazán v Knihovně médií a nelze jej obnovit.", + "history.content.missing-relations.title": "{number, plural, =1 {Chybějící relace} other {{number} chybějících relací}}", + "history.content.missing-relations.message": "{number, plural, =1 {Byla} other {Byly}} smazána a nelze ji obnovit.", + "history.content.no-relations": "Žádné relace.", + "history.content.localized": "Tato hodnota je specifická pro tento jazyk. Pokud tuto verzi obnovíte, obsah nebude nahrazen pro ostatní jazyky.", + "history.content.not-localized": "Tato hodnota je společná pro všechny jazyky. Pokud tuto verzi obnovíte, obsah bude nahrazen pro všechny jazyky.", + "history.restore.confirm.button": "Obnovit", + "history.restore.confirm.title": "Opravdu chcete obnovit tuto verzi?", + "history.restore.confirm.message": "{isDraft, select, true {Obnovený obsah přepíše váš draft.} other {Obnovený obsah nebude publikován, přepíše draft a bude uložen jako čekající změny. Změny budete moci kdykoli publikovat.}}", + "history.restore.success.title": "Verze obnovena.", + "history.restore.success.message": "Byla obnovena starší verze obsahu.", + "history.restore.error.message": "Verzi se nepodařilo obnovit.", + "validation.error": "V dokumentu jsou validační chyby. Před uložením je prosím opravte.", + "validation.error.unreadable-required-field": "Vaše aktuální oprávnění brání přístupu k některým povinným polím. Pro pokračování si prosím vyžádejte přístup od administrátora.", + "bulk-publish.edit": "Upravit", + "widget.chart-entries.title": "Záznamy", + "widget.chart-entries.count.label": "{count, plural, =0 {Záznamy} one {Záznam} other {Záznamy}}", + "widget.chart-entries.tooltip": "{count} {label}", + "widget.last-edited.title": "Naposledy upravené záznamy", + "widget.last-edited.single-type": "Single-Type", + "widget.last-edited.no-data": "Žádné upravené záznamy", + "widget.last-published.title": "Naposledy publikované záznamy", + "widget.last-published.no-data": "Žádné publikované záznamy", + "actions-drawer.open": "Otevřít další akce", + "actions-drawer.close": "Zavřít další akce" } diff --git a/packages/core/content-manager/package.json b/packages/core/content-manager/package.json index 9d51ad92d5..9c07ebd2d1 100644 --- a/packages/core/content-manager/package.json +++ b/packages/core/content-manager/package.json @@ -1,6 +1,6 @@ { "name": "@strapi/content-manager", - "version": "5.42.1", + "version": "5.43.0", "description": "A powerful UI to easily manage your data.", "homepage": "https://strapi.io", "bugs": { @@ -74,8 +74,8 @@ "@sindresorhus/slugify": "1.1.0", "@strapi/design-system": "2.2.0", "@strapi/icons": "2.2.0", - "@strapi/types": "5.42.1", - "@strapi/utils": "5.42.1", + "@strapi/types": "5.43.0", + "@strapi/utils": "5.43.0", "codemirror5": "npm:codemirror@^5.65.11", "date-fns": "2.30.0", "fractional-indexing": "3.2.0", @@ -83,7 +83,7 @@ "immer": "9.0.21", "koa": "2.16.4", "lodash": "4.18.1", - "markdown-it": "^13.0.2", + "markdown-it": "14.1.1", "markdown-it-abbr": "^1.0.4", "markdown-it-container": "^3.0.0", "markdown-it-deflist": "^2.1.0", @@ -109,8 +109,8 @@ "yup": "0.32.9" }, "devDependencies": { - "@strapi/admin": "5.42.1", - "@strapi/database": "5.42.1", + "@strapi/admin": "5.43.0", + "@strapi/database": "5.43.0", "@testing-library/react": "16.3.0", "@types/jest": "29.5.2", "@types/lodash": "^4.14.191", diff --git a/packages/core/content-releases/admin/src/translations/cs.json b/packages/core/content-releases/admin/src/translations/cs.json new file mode 100644 index 0000000000..407241b057 --- /dev/null +++ b/packages/core/content-releases/admin/src/translations/cs.json @@ -0,0 +1,106 @@ +{ + "content-manager-edit-view.add-to-release.select-label": "Vyberte vydání", + "content-manager-edit-view.add-to-release.select-placeholder": "Vybrat", + "content-manager-edit-view.add-to-release.action-type-label": "Co chcete s tímto záznamem udělat?", + "content-manager-edit-view.add-to-release.cancel-button": "Zrušit", + "content-manager-edit-view.add-to-release.continue-button": "Pokračovat", + "content-manager-edit-view.add-to-release": "Přidat do vydání", + "content-manager-edit-view.add-to-release.notification.success": "Záznam byl přidán do vydání", + "content-manager-edit-view.add-to-release.no-releases-message": "Nejsou k dispozici žádná vydání. Otevřete seznam vydání a vytvořte odtud nové.", + "content-manager-edit-view.add-to-release.redirect-button": "Otevřít seznam vydání", + "content-manager-edit-view.list-releases.title": "{isPublish, select, true {Bude publikováno v} other {Bude zrušeno publikování v}}", + "content-manager-edit-view.remove-from-release": "Odebrat z vydání", + "content-manager-edit-view.scheduled.date": "{date} v {time} ({offset})", + "content-manager-edit-view.edit-release": "Upravit vydání", + "content-releases.content-manager-edit-view.edit-entry": "Upravit záznam", + "content-manager-edit-view.remove-from-release.notification.success": "Záznam byl odebrán z vydání", + "content-manager-edit-view.release-action-menu": "Možnosti akcí vydání", + "content-manager.list-view.releases.header": "K vydání v", + "content-manager-list-view.add-to-release": "Přidat do vydání", + "content-manager-list-view.add-to-release.cancel-button": "Zrušit", + "content-manager-list-view.add-to-release.continue-button": "Pokračovat", + "content-manager-list-view.add-to-release.select-label": "Vyberte vydání", + "content-manager-list-view.add-to-release.select-placeholder": "Vybrat", + "content-manager-list-view.add-to-release.action-type-label": "Co chcete s těmito záznamy udělat?", + "content-manager-list-view.add-to-release.notification.success.title": "Úspěšně přidáno do vydání.", + "content-manager-list-view.add-to-release.notification.success.message": "{entriesAlreadyInRelease} z {totalEntries} záznamů již ve vydání bylo.", + "content-manager.notification.entry-error": "Nepodařilo se získat data záznamu", + "content-manager.list-view.releases-number": "{number} {number, plural, one {vydání} few {vydání} other {vydání}}", + "plugin.name": "Vydání", + "pages.Releases.title": "Vydání", + "pages.Releases.header-subtitle": "Vytvářejte a spravujte aktualizace obsahu", + "pages.Releases.max-limit-reached.title": "Dosáhli jste limitu {number} čekajících {number, plural, one {vydání} few {vydání} other {vydání}}.", + "pages.Releases.max-limit-reached.message": "Upgradujte a spravujte neomezený počet vydání.", + "pages.Releases.max-limit-reached.action": "Prozkoumat tarify", + "pages.PurchaseRelease.subTitle": "Spravujte aktualizace obsahu a vydání.", + "pages.PurchaseRelease.not-available": "Funkce Vydání je dostupná pouze jako součást placeného tarifu. Upgradujte a vytvářejte a spravujte vydání.", + "pages.PurchaseRelease.description": "Seskupte obsah a publikujte aktualizace společně", + "pages.PurchaseRelease.perks1": "Přidejte do vydání mnoho záznamů", + "pages.PurchaseRelease.perks2": "Rychle identifikujte záznamy obsahující chyby", + "pages.PurchaseRelease.perks3": "Naplánujte jejich publikaci nebo je publikujte ručně", + "header.actions.add-release": "Nové vydání", + "header.actions.refresh": "Obnovit", + "header.actions.publish": "Publikovat", + "header.actions.open-release-actions": "Nabídka úprav a odstranění vydání", + "header.actions.edit": "Upravit", + "header.actions.delete": "Odstranit", + "header.actions.created": "Vytvořeno", + "header.actions.created.description": "{hasCreatedByUser, select, true { uživatelem {createdBy}} other { odstraněným uživatelem}}", + "modal.release-created-notification-success": "Vydání bylo vytvořeno", + "modal.release-updated-notification-success": "Vydání bylo aktualizováno", + "modal.title": "{isCreatingRelease, select, true {Nové vydání} other {Upravit vydání}}", + "modal.form.input.label.release-name": "Název", + "modal.form.input.label.schedule-release": "Naplánovat vydání", + "modal.form.input.label.date": "Datum", + "modal.form.input.label.time": "Čas", + "modal.form.input.label.timezone": "Časové pásmo", + "modal.form.input.clearLabel": "Vymazat", + "modal.form.button.submit": "{isCreatingRelease, select, true {Pokračovat} other {Uložit}}", + "modal.form.time.has-passed": "Vybraný čas již uplynul.", + "pages.Details.header-subtitle": "{number, plural, =0 {Žádné záznamy} one {# záznam} few {# záznamy} other {# záznamů}}", + "pages.Releases.tab-group.label": "Seznam vydání", + "pages.Releases.tab.pending": "Čekající ({count})", + "pages.Releases.tab.done": "Hotovo", + "page.Releases.tab.emptyEntries": "Žádná vydání", + "pages.Details.tab.emptyEntries": "Toto vydání je prázdné. Otevřete Content Manager, vyberte záznam a přidejte jej do vydání.", + "page.ReleaseDetails.table.header.label.name": "název", + "page.ReleaseDetails.table.header.label.locale": "lokalizace", + "page.ReleaseDetails.table.header.label.content-type": "typ obsahu", + "page.ReleaseDetails.table.header.label.action": "akce", + "content-releases.page.ReleaseDetails.table.header.label.status": "stav", + "page.ReleaseDetails.table.action-published": "Tento záznam byl {isPublish, select, true {publikován} other {stažen z publikace}}.", + "pages.ReleaseDetails.publish-notification-success": "Vydání bylo úspěšně publikováno.", + "dialog.confirmation-message": "Opravdu chcete toto vydání odstranit?", + "page.Details.button.openContentManager": "Otevřít Content Manager", + "pages.Releases.notification.error.title": "Váš požadavek nebylo možné zpracovat.", + "pages.Releases.notification.error.message": "Zkuste to prosím znovu nebo otevřete jiné vydání.", + "pages.Releases.not-scheduled": "Nenaplánováno", + "pages.ReleaseDetails.groupBy.label": "Seskupit podle {groupBy}", + "pages.ReleaseDetails.groupBy.aria-label": "Seskupit podle", + "pages.ReleaseDetails.entry-validation.already-published": "Již publikováno", + "pages.ReleaseDetails.entry-validation.ready-to-publish": "Připraveno k publikaci", + "pages.ReleaseDetails.entry-validation.modified": "Změny připravené k publikaci", + "pages.ReleaseDetails.entry-validation.already-unpublished": "Publikace již zrušena", + "pages.ReleaseDetails.entry-validation.ready-to-unpublish": "Připraveno ke zrušení publikace", + "pages.ReleaseDetails.entry-validation.not-ready": "Nepřipraveno k publikaci", + "pages.ReleaseDetails.groupBy.option.content-type": "Typy obsahu", + "pages.ReleaseDetails.groupBy.option.locales": "Lokalizace", + "pages.ReleaseDetails.groupBy.option.actions": "Akce", + "pages.ReleaseDetails.header-subtitle.scheduled": "Naplánováno na {date} v {time} ({offset})", + "pages.ReleaseDetails.entry-validation.fields": "Pole", + "pages.Settings.releases.description": "Vytvářejte a spravujte aktualizace obsahu", + "pages.Settings.releases.preferences.title": "Předvolby", + "pages.Settings.releases.timezone.label": "Výchozí časové pásmo", + "pages.Settings.releases.timezone.hint": "Časové pásmo každého vydání lze stále změnit individuálně.", + "pages.Settings.releases.setting.default-timezone-notification-success": "Výchozí časové pásmo bylo aktualizováno.", + "pages.ReleaseDetails.entry-validation.fields.error": "{errors} chyb v polích.", + "pages.ReleaseDetails.entry-validation.fields.success": "Všechna pole jsou vyplněna správně.", + "pages.ReleaseDetails.entry-validation.fields.see-errors": "Zobrazit chyby", + "pages.ReleaseDetails.entry-validation.review-stage.not-enabled": "Tento záznam není přiřazen k žádnému workflow.", + "pages.ReleaseDetails.entry-validation.review-stage.not-ready": "Tento záznam není ve fázi požadované pro publikaci. ({stageName})", + "pages.ReleaseDetails.entry-validation.review-stage.ready": "Tento záznam je ve fázi požadované pro publikaci. ({stageName})", + "pages.ReleaseDetails.entry-validation.review-stage.stage-not-required": "Pro publikaci není vyžadována žádná fáze.", + "widget.upcoming-releases.link": "Otevřít vydání", + "widget.upcoming-releases.title": "Nadcházející vydání", + "widget.upcoming-releases.no-data": "Žádná vydání" +} diff --git a/packages/core/content-releases/package.json b/packages/core/content-releases/package.json index afc61bd382..0f3804c091 100644 --- a/packages/core/content-releases/package.json +++ b/packages/core/content-releases/package.json @@ -1,6 +1,6 @@ { "name": "@strapi/content-releases", - "version": "5.42.1", + "version": "5.43.0", "description": "Strapi plugin for organizing and releasing content", "homepage": "https://strapi.io", "bugs": { @@ -64,11 +64,11 @@ }, "dependencies": { "@reduxjs/toolkit": "1.9.7", - "@strapi/database": "5.42.1", + "@strapi/database": "5.43.0", "@strapi/design-system": "2.2.0", "@strapi/icons": "2.2.0", - "@strapi/types": "5.42.1", - "@strapi/utils": "5.42.1", + "@strapi/types": "5.43.0", + "@strapi/utils": "5.43.0", "date-fns": "2.30.0", "date-fns-tz": "2.0.1", "formik": "2.4.5", @@ -79,9 +79,9 @@ "yup": "0.32.9" }, "devDependencies": { - "@strapi/admin": "5.42.1", - "@strapi/admin-test-utils": "5.42.1", - "@strapi/content-manager": "5.42.1", + "@strapi/admin": "5.43.0", + "@strapi/admin-test-utils": "5.43.0", + "@strapi/content-manager": "5.43.0", "@testing-library/dom": "10.4.1", "@testing-library/react": "16.3.0", "@testing-library/user-event": "14.6.1", @@ -93,7 +93,7 @@ "react-query": "3.39.3", "react-router-dom": "6.30.3", "styled-components": "6.1.8", - "typescript": "5.4.4" + "typescript": "5.4.5" }, "peerDependencies": { "@strapi/admin": "^5.0.0", diff --git a/packages/core/content-type-builder/admin/src/translations/cs.json b/packages/core/content-type-builder/admin/src/translations/cs.json index 2acee91b59..4290de4e77 100644 --- a/packages/core/content-type-builder/admin/src/translations/cs.json +++ b/packages/core/content-type-builder/admin/src/translations/cs.json @@ -1,8 +1,9 @@ { "attribute.boolean": "Boolean", - "attribute.boolean.description": "Yes/no, 1/0, true/false", + "attribute.boolean.description": "Ano/ne, 1/0, true/false", "attribute.component": "Komponent", "attribute.component.description": "Skupina polí, které je možné opakovaně používat", + "attribute.customField": "Vlastní pole", "attribute.date": "Datum a čas", "attribute.date.description": "Dialog pro výběr datumu a času", "attribute.datetime": "Datum a čas", @@ -25,25 +26,49 @@ "attribute.relation.description": "Určuje vztah k jinému Typu obsahu", "attribute.richtext": "Textový editor", "attribute.richtext.description": "Textové pole s možnostmi formátování", + "attribute.blocks": "Rich text (Blocks)", + "attribute.blocks.description": "Nový editor rich textu založený na JSON", "attribute.text": "Text", "attribute.text.description": "Krátký nebo delší text", "attribute.time": "Čas", + "attribute.timestamp": "Časové razítko", "attribute.uid": "UID", "attribute.uid.description": "Unikátní identifikátor", "button.attributes.add.another": "Přidat další pole", "button.component.add": "Přidat komponent", "button.component.create": "Vytvorit nový komponent", "button.model.create": "Vytvořit nový Typ obsahu", + "button.single-types.create": "Vytvořit nový single type", + "media.multiple": "Více", "component.repeatable": "(opakující)", + "components.SelectComponents.displayed-value": "{number, plural, =0 {# komponent} one {# komponent} other {# komponent}} vybráno", "components.componentSelect.no-component-available": "Už jste přidali všechny komponenty", "components.componentSelect.no-component-available.with-search": "Nenašel se žádný komponent splňující výraz", "components.componentSelect.value-component": "Označené komponenty: {number} (zadejte hledaný text)", "components.componentSelect.value-components": "Označené komponenty: {number}", "configurations": "nastavení", + "contentType.apiId-plural.description": "Množné API ID", + "contentType.apiId-plural.label": "API ID (množné číslo)", + "contentType.apiId-singular.description": "UID se používá ke generování API cest a databázových tabulek/kolekcí", + "contentType.apiId-singular.label": "API ID (jednotné číslo)", + "contentType.collectionName.description": "Užitečné, když se název vašeho Typu obsahu liší od názvu tabulky", "contentType.collectionName.label": "Interní název", "contentType.displayName.label": "Název", + "contentType.kind.change.warning": "Právě jste změnili druh typu obsahu: API bude resetováno (cesty, controllery a služby budou přepsány).", + "error.attributeName.reserved-name": "Tento název nelze použít ve vašem typu obsahu, protože by mohl narušit jiné funkce", + "error.contentType.pluralName-used": "Tato hodnota nemůže být stejná jako jednotné číslo", + "error.contentType.singularName-used": "Tato hodnota nemůže být stejná jako množné číslo", + "error.contentType.singularName-equals-pluralName": "Tato hodnota nemůže být stejná jako množné API ID jiného typu obsahu.", + "error.contentType.pluralName-equals-singularName": "Tato hodnota nemůže být stejná jako jednotné API ID jiného typu obsahu.", + "error.contentType.pluralName-equals-collectionName": "Tato hodnota už je používána jiným typem obsahu.", "error.contentTypeName.reserved-name": "Tento název je vyhrazený a nemůže být použit", + "error.validation.enum-duplicate": "Duplicitní hodnoty nejsou povoleny (berou se v úvahu pouze alfanumerické znaky).", + "error.validation.enum-empty-string": "Prázdné řetězce nejsou povoleny", + "error.validation.enum-regex": "Alespoň jedna hodnota není platná. Hodnoty by měly mít alespoň jeden abecední znak před prvním výskytem čísla.", "error.validation.minSupMax": "Nemůže být nadřazený", + "error.validation.positive": "Musí to být kladné číslo", + "error.validation.regex": "Regex vzor není platný", + "error.validation.relation.targetAttribute-taken": "Tento název už v cíli existuje", "form.attribute.component.option.add": "Přidat komponent", "form.attribute.component.option.create": "Vytvořit nový komponent", "form.attribute.component.option.create.description": "Komponent je dostupný mezi všemi typy a komponenty.", @@ -55,14 +80,19 @@ "form.attribute.component.option.single.description": "Vhodné pro seskupení políček, např. celá adresa", "form.attribute.item.customColumnName": "Vlastné názvy stĺpcov", "form.attribute.item.customColumnName.description": "Umožňuje přejmenovat databázový sloupec pro potřeby API", + "form.attribute.item.date.type.date": "date (např.: 01/01/{currentYear})", + "form.attribute.item.date.type.datetime": "datetime (např.: 01/01/{currentYear} 00:00 AM)", + "form.attribute.item.date.type.time": "time (např.: 00:00 AM)", "form.attribute.item.defineRelation.fieldName": "Název pole", "form.attribute.item.enumeration.graphql": "Název pole pro GraphQL", "form.attribute.item.enumeration.graphql.description": "Umožňuje přepsat přednastavené názvy názvy pro GraphQL", "form.attribute.item.enumeration.placeholder": "Např.:\nráno\nden\nvečer", "form.attribute.item.enumeration.rules": "Hodnoty (jedna na řádek)", "form.attribute.item.maximum": "Maximální hodnota", + "form.attribute.item.maximumComponents": "Maximum komponent", "form.attribute.item.maximumLength": "Maximální délka", "form.attribute.item.minimum": "Minimální hodnota", + "form.attribute.item.minimumComponents": "Minimum komponent", "form.attribute.item.minimumLength": "Minimální délka", "form.attribute.item.number.type": "Číselný formát", "form.attribute.item.number.type.biginteger": "velké číslo (např.: 123456789)", @@ -73,8 +103,16 @@ "form.attribute.item.privateField.description": "Toto pole se nebude zobrazovat v API", "form.attribute.item.requiredField": "Povinné pole", "form.attribute.item.requiredField.description": "Nedovolí vytvořit záznam když toto pole zůstane prázdne", + "form.attribute.item.text.regex": "RegExp vzor", + "form.attribute.item.text.regex.description": "Text regulárního výrazu", "form.attribute.item.uniqueField": "Unikátní pole", "form.attribute.item.uniqueField.description": "Nedovolí vytvořit záznam když už existuje jiný záznam se stejnou hodnotou", + "form.attribute.item.uniqueField.v5.willBeDisabled'": "Aktuálně unikátní pole nefungují správně v komponentech. Pokud tuto funkci vypnete, pole bude deaktivováno, dokud to nebude opraveno.", + "form.attribute.item.uniqueField.v5.disabled": "Aktuálně unikátní pole nefungují správně v komponentech. Toto pole bylo deaktivováno, dokud to nebude opraveno.", + "form.attribute.media.allowed-types": "Vyberte povolené typy médií", + "form.attribute.media.allowed-types.option-files": "Soubory", + "form.attribute.media.allowed-types.option-images": "Obrázky", + "form.attribute.media.allowed-types.option-videos": "Videa", "form.attribute.media.option.multiple": "Více souborů", "form.attribute.media.option.multiple.description": "Vhodné pro galerii, seznam souborů na stáhnutí", "form.attribute.media.option.single": "Jeden soubor", @@ -84,35 +122,85 @@ "form.attribute.text.option.long-text.description": "Vhodné pro delší popisy. Přesné vyhledávání je vypnuté.", "form.attribute.text.option.short-text": "Krátky text", "form.attribute.text.option.short-text.description": "Vhodné pro nadpisy, názvy, URL adresy. Přesné vyhledávání je zapnuté.", + "form.attribute.condition.title": "Podmínka", + "form.attribute.condition.description": "Přepněte nastavení pole podle hodnoty jiného boolean nebo enum pole.", + "form.attribute.condition.label": "Podmínky", + "form.attribute.condition.field": "Pole", + "form.attribute.condition.operator": "Operátor", + "form.attribute.condition.value": "Hodnota", + "form.attribute.condition.operator.is": "je", + "form.attribute.condition.operator.isNot": "není", + "form.attribute.condition.value.true": "true", + "form.attribute.condition.value.false": "false", + "form.attribute.condition.apply": "Použít podmínku", + "form.attribute.condition.then": "Pak", + "form.attribute.condition.action": "Akce", + "form.attribute.condition.action.show": "Zobrazit", + "form.attribute.condition.action.hide": "Skrýt", + "form.attribute.condition.no-fields": "Nejsou k dispozici žádná boolean ani enum pole, pro která by bylo možné nastavit podmínky.", + "form.attribute.condition.enum-change-warning": "Následující pole mají podmínky, které závisí na tomto poli: {fieldNames}. Změna nebo odstranění enum hodnot {values} tyto podmínky poruší. Chcete pokračovat?", + "form.attribute.condition.enum-change-warning-values": ". Změna nebo odstranění enum hodnot ", + "form.attribute.condition.enum-change-warning-end": " poruší tyto podmínky. Chcete pokračovat?", + "form.attribute.condition.field-change-warning": "Následující pole mají podmínky, které závisí na tomto poli: {fieldNames}. Přejmenování tohoto pole tyto podmínky poruší. Chcete pokračovat?", + "form.attribute.condition.field-change-warning-end": ". Přejmenování tohoto pole tyto podmínky poruší. Chcete pokračovat?", "form.button.add-components-to-dynamiczone": "Přidat komponenty do zóny", "form.button.add-field": "Přidat další pole", "form.button.add-first-field-to-created-component": "Přidat první pole do komponentu", + "form.button.add.field.to.collectionType": "Přidat další pole do tohoto collection type", "form.button.add.field.to.component": "Přidat další pole do komponentu", + "form.button.add.field.to.contentType": "Přidat další pole do tohoto content type", + "form.button.add.field.to.singleType": "Přidat další pole do tohoto single type", "form.button.cancel": "Zrušit", + "form.button.submit": "Odeslat", + "form.button.collection-type.description": "Nejlepší pro více instancí, jako jsou články, produkty, komentáře atd.", + "form.button.collection-type.name": "Collection Type", "form.button.configure-component": "Nastavit komponent", "form.button.configure-view": "Upravit vzhled", "form.button.select-component": "Vybrat komponent", + "form.button.single-type.description": "Nejlepší pro jednu instanci, jako jsou o nás, domovská stránka atd.", + "form.button.single-type.name": "Single Type", "from": "od", + "menu.section.components.name": "Komponenty", + "menu.section.models.name": "Collection Types", + "menu.section.single-types.name": "Single Types", "modalForm.attribute.form.base.name.description": "Mezery v názvu pole nejsou povoleny", + "modalForm.attribute.form.base.name.placeholder": "např. slug, seoUrl, canonicalUrl", + "modalForm.attribute.target-field": "Připojené pole", "modalForm.attributes.select-component": "Vyberte komponent", "modalForm.attributes.select-components": "Vyberte komponenty", + "modalForm.collectionType.header-create": "Vytvořit collection type", "modalForm.component.header-create": "Vytvorte komponent", "modalForm.components.create-component.category.label": "Vyberte kategorii nebo zadejte název pro vytvoření nové", "modalForm.components.icon.label": "Ikona", + "modalForm.empty.button": "Přidat vlastní pole", + "modalForm.empty.heading": "Zatím tu nic není.", + "modalForm.empty.sub-heading": "Najděte, co hledáte, prostřednictvím široké škály rozšíření.", "modalForm.editCategory.base.name.description": "Mezery v názvu kategorie nejsou povoleny", "modalForm.header-edit": "Upravit {name}", "modalForm.header.categories": "Kategorie", "modalForm.header.back": "Zadní", + "modalForm.singleType.header-create": "Vytvořit single type", "modalForm.sub-header.addComponentToDynamicZone": "Přidat nový komponent do dynamické zóny", "modalForm.sub-header.attribute.create": "Přidat nové pole {type}", "modalForm.sub-header.attribute.create.step": "Přidat nový komponent ({step}/2)", "modalForm.sub-header.attribute.edit": "Upravit {name}", "modalForm.sub-header.chooseAttribute.collectionType": "Vyberte typ pole pro Typ obsahu", "modalForm.sub-header.chooseAttribute.component": "Vyberte typ pole pro komponent", + "modalForm.sub-header.chooseAttribute.singleType": "Vyberte pole pro svůj single type", + "modalForm.custom-fields.advanced.settings.extended": "Rozšířená nastavení", + "modalForm.tabs.custom": "Vlastní", + "modalForm.tabs.custom.howToLink": "Jak přidat vlastní pole", + "modalForm.tabs.default": "Výchozí", + "modalForm.tabs.label": "Záložky výchozích a vlastních typů", + "modelPage.attribute.relation-polymorphic": "Relace (polymorfní)", "modelPage.attribute.relationWith": "Propojení s", + "modelPage.attribute.with": "s", + "notification.error.dynamiczone-min.validation": "Alespoň jeden komponent je v dynamické zóně povinný, aby bylo možné uložit typ obsahu", + "notification.info.autoreaload-disable": "Strapi je v produkčním režimu, úprava content types je zakázána. Přepněte se prosím do vývojového režimu spuštěním serveru pomocí strapi develop.", "notification.info.creating.notSaved": "Uložte změny před vytvořením nového Typu obsahu nebo komponentu", "plugin.description.long": "Navrhněte strukturu webu jednoduše. Vytvořte nová pole a propojení během pár sekund. Soubory se automaticky vytvoří a upraví v rámci projektu.", "plugin.description.short": "Navrhněte strukturu webu jednoduše.", + "plugin.name": "Content-Type Builder", "popUpForm.navContainer.advanced": "Pokročilá nastavení", "popUpForm.navContainer.base": "Základní nastavení", "popUpWarning.bodyMessage.cancel-modifications": "Jste si jisti, že chcete zrušit úpravy?", @@ -120,6 +208,13 @@ "popUpWarning.bodyMessage.category.delete": "Jste si jisti, že chcete odstranit tuto kategorii? Všechny komponentu budou rovněž odstraněny.", "popUpWarning.bodyMessage.component.delete": "Jste si jisti, že chcete odstranit tento komponent?", "popUpWarning.bodyMessage.contentType.delete": "Jste si jisti, že chcete odstranit tento Typ obsahu?", + "popUpWarning.draft-publish.button.confirm": "Ano, zakázat", + "popUpWarning.draft-publish.message": "Pokud vypnete Draft & publish, vaše drafty budou smazány.", + "popUpWarning.draft-publish.second-message": "Opravdu to chcete zakázat?", + "popUpWarning.discardAll.message": "Opravdu chcete zahodit všechny změny?", + "popUpWarning.bodyMessage.delete-condition": "Opravdu chcete smazat tuto podmínku?", + "popUpWarning.bodyMessage.delete-attribute-with-conditions": "Následující pole mají podmínky, které závisí na tomto poli: ", + "popUpWarning.bodyMessage.delete-attribute-with-conditions-end": ". Opravdu ho chcete smazat?", "prompt.unsaved": "Jste si jisti, že chcete odejít? Všechny úpravy budou ztraceny.", "relation.attributeName.placeholder": "Např: autor, kategorie, tag", "relation.manyToMany": "má víc a patří všem", @@ -127,5 +222,66 @@ "relation.manyWay": "má víc", "relation.oneToMany": "patří více", "relation.oneToOne": "má jeden a patří jednomu", - "relation.oneWay": "má jeden" + "relation.oneWay": "má jeden", + "table.button.no-fields": "Přidat nové pole", + "table.content.create-first-content-type.title": "Žádné content types", + "table.content.create-first-content-type.description": "Vytvořte collection types, single types a komponenty, abyste mohli vytvořit své schéma.", + "table.content.create-first-content-type.import-code": "Importovat z počítače", + "table.content.create-first-content-type.start-with-prompt": "Začít pomocí promptu", + "table.content.no-fields.collection-type": "Přidejte první pole do tohoto Collection-Type", + "table.content.no-fields.component": "Přidejte první pole do tohoto komponentu", + "IconPicker.search.placeholder.label": "Hledat ikonu", + "IconPicker.search.clear.label": "Vymazat hledání ikony", + "IconPicker.search.button.label": "Tlačítko hledání ikony", + "IconPicker.remove.tooltip": "Odstranit vybranou ikonu", + "IconPicker.remove.button": "Tlačítko pro odstranění vybrané ikony", + "IconPicker.emptyState.label": "Nebyla nalezena žádná ikona", + "IconPicker.icon.label": "Vybrat ikonu {icon}", + "chat.tooltips.close-chat": "Zavřít chat", + "chat.tooltips.create-chat": "Nová konverzace", + "chat.tooltips.open-chat": "Otevřít chat", + "chat.tooltips.send-message": "Odeslat", + "chat.tooltips.stop-generation": "Zastavit", + "chat.tooltips.upload-attachments": "Nahrát přílohy", + "chat.header.default-title": "Nová konverzace", + "chat.input.defaults.title": "Jak vám mohu pomoci?", + "chat.input.defaults.generate": "Vygenerovat schéma produktu", + "chat.input.defaults.ctb": "Řekni mi o Content-Type Builderu", + "chat.input.defaults.strapi": "Řekni mi o Strapi", + "chat.input.thinking": "Strapi AI přemýšlí...", + "chat.input.placeholder": "Zeptejte se Strapi AI...", + "chat.input.strapi-ai-can-make-errors": "Strapi AI může dělat chyby.", + "chat.messages.error": "Něco se pokazilo.", + "chat.messages.too-many-requests": "Příliš mnoho požadavků, zkuste to prosím později.", + "chat.messages.license-limit-reached": "Byl dosažen licenční limit, zkuste to prosím zítra znovu.", + "chat.messages.license-limit-exceeded": "Limit AI kreditů byl překročen.", + "chat.messages.too-long-error": "Tato konverzace dosáhla maximální délky. Začněte novou konverzaci", + "chat.code-upload.header": "Importovat kód", + "chat.code-upload.title": "Importovat kód", + "chat.code-upload.description": "Vaše aplikace bude analyzována AI. Před importem se ujistěte, že jste odstranili všechna citlivá data.", + "chat.code-upload.drop-zone": "Přetáhněte sem soubor .zip nebo", + "chat.code-upload.drop-zone-folder": "Přetáhněte sem složku nebo", + "chat.code-upload.drop-zone-browse": "procházet soubory", + "chat.attachments.menu.import-code": "Importovat kód", + "chat.attachments.menu.attach-image": "Připojit obrázek", + "chat.attachments.menu.import-figma": "Importovat z Figma", + "chat.feedback.title": "Poskytnout zpětnou vazbu", + "chat.feedback.subtitle": "Poskytněte další zpětnou vazbu k této zprávě. Vyberte vše, co platí.", + "chat.feedback.comment.label": "Jak se můžeme zlepšit? (volitelné)", + "chat.feedback.placeholder": "Vaše zpětná vazba...", + "chat.feedback.submitted": "Děkujeme za vaši zpětnou vazbu!", + "chat.feedback.error": "Při odesílání vaší zpětné vazby došlo k chybě", + "chat.feedback.reason.invalid_schema": "Neplatné schéma", + "chat.feedback.reason.bad_recommendation": "Špatné doporučení", + "chat.feedback.reason.slow": "Pomalé", + "chat.feedback.reason.instructions_ignored": "Pokyny byly ignorovány", + "chat.feedback.reason.being_lazy": "Líné", + "chat.feedback.reason.other": "Jiné", + "chat.figma-upload.step1-title": "Zadejte Figma URL", + "chat.figma-upload.step2-title": "Náhled obrázků", + "chat.figma-upload.select-images": "Vyberte Frames k importu", + "chat.figma-upload.no-images": "V souboru Figma nebyly nalezeny žádné frames.", + "chat.figma-upload.import-button": "Importovat", + "form.button.finish": "Dokončit", + "form.button.back": "Zpět" } diff --git a/packages/core/content-type-builder/package.json b/packages/core/content-type-builder/package.json index 6108661667..b66f85e4db 100644 --- a/packages/core/content-type-builder/package.json +++ b/packages/core/content-type-builder/package.json @@ -1,6 +1,6 @@ { "name": "@strapi/content-type-builder", - "version": "5.42.1", + "version": "5.43.0", "description": "Create and manage content types", "homepage": "https://strapi.io", "bugs": { @@ -73,12 +73,12 @@ "@reduxjs/toolkit": "1.9.7", "@sindresorhus/slugify": "1.1.0", "@strapi/design-system": "2.2.0", - "@strapi/generators": "5.42.1", + "@strapi/generators": "5.43.0", "@strapi/icons": "2.2.0", - "@strapi/utils": "5.42.1", + "@strapi/utils": "5.43.0", "ai": "5.0.52", "date-fns": "2.30.0", - "fs-extra": "11.2.0", + "fs-extra": "11.3.4", "immer": "9.0.21", "jszip": "^3.10.1", "lodash": "4.18.1", @@ -93,8 +93,8 @@ "zod": "3.25.67" }, "devDependencies": { - "@strapi/admin": "5.42.1", - "@strapi/types": "5.42.1", + "@strapi/admin": "5.43.0", + "@strapi/types": "5.43.0", "@testing-library/dom": "10.4.1", "@testing-library/react": "16.3.0", "@testing-library/user-event": "14.6.1", diff --git a/packages/core/core/package.json b/packages/core/core/package.json index ad33d2637c..8f9180a8db 100644 --- a/packages/core/core/package.json +++ b/packages/core/core/package.json @@ -1,6 +1,6 @@ { "name": "@strapi/core", - "version": "5.42.1", + "version": "5.43.0", "description": "Core of Strapi", "homepage": "https://strapi.io", "bugs": { @@ -59,14 +59,14 @@ "@koa/cors": "5.0.0", "@koa/router": "12.0.2", "@paralleldrive/cuid2": "2.2.2", - "@strapi/admin": "5.42.1", - "@strapi/database": "5.42.1", - "@strapi/generators": "5.42.1", - "@strapi/logger": "5.42.1", - "@strapi/permissions": "5.42.1", - "@strapi/types": "5.42.1", - "@strapi/typescript-utils": "5.42.1", - "@strapi/utils": "5.42.1", + "@strapi/admin": "5.43.0", + "@strapi/database": "5.43.0", + "@strapi/generators": "5.43.0", + "@strapi/logger": "5.43.0", + "@strapi/permissions": "5.43.0", + "@strapi/types": "5.43.0", + "@strapi/typescript-utils": "5.43.0", + "@strapi/utils": "5.43.0", "@vercel/stega": "0.1.2", "bcryptjs": "2.4.3", "boxen": "5.1.2", @@ -77,9 +77,9 @@ "configstore": "5.0.1", "debug": "4.3.4", "delegates": "1.0.0", - "dotenv": "16.4.5", + "dotenv": "16.6.1", "execa": "5.1.1", - "fs-extra": "11.2.0", + "fs-extra": "11.3.4", "glob": "13.0.6", "global-agent": "4.1.3", "http-errors": "2.0.0", @@ -105,9 +105,9 @@ "pkg-up": "3.1.0", "qs": "6.15.0", "resolve.exports": "2.0.2", - "semver": "7.5.4", + "semver": "7.7.4", "statuses": "2.0.1", - "typescript": "5.4.4", + "typescript": "5.4.5", "undici": "6.25.0", "yup": "0.32.9", "zod": "3.25.67" @@ -133,11 +133,11 @@ "@types/node": "24.10.0", "@types/node-schedule": "2.1.7", "@types/statuses": "2.0.1", - "eslint-config-custom": "5.42.1", + "eslint-config-custom": "5.43.0", "supertest": "7.2.2", - "tsconfig": "5.42.1", + "tsconfig": "5.43.0", "vitest": "catalog:", - "vitest-config": "5.42.1" + "vitest-config": "5.43.0" }, "engines": { "node": ">=20.0.0 <=24.x.x", diff --git a/packages/core/data-transfer/package.json b/packages/core/data-transfer/package.json index 98813b499b..dba670ecf8 100644 --- a/packages/core/data-transfer/package.json +++ b/packages/core/data-transfer/package.json @@ -1,6 +1,6 @@ { "name": "@strapi/data-transfer", - "version": "5.42.1", + "version": "5.43.0", "description": "Data transfer capabilities for Strapi", "keywords": [ "strapi", @@ -51,18 +51,18 @@ "watch": "run -T rollup -c -w" }, "dependencies": { - "@strapi/logger": "5.42.1", - "@strapi/types": "5.42.1", - "@strapi/utils": "5.42.1", + "@strapi/logger": "5.43.0", + "@strapi/types": "5.43.0", + "@strapi/utils": "5.43.0", "chalk": "4.1.2", "cli-table3": "0.6.5", "commander": "8.3.0", - "fs-extra": "11.2.0", + "fs-extra": "11.3.4", "inquirer": "9.3.8", "lodash": "4.18.1", "ora": "5.4.1", "resolve-cwd": "3.0.0", - "semver": "7.5.4", + "semver": "7.7.4", "stream-chain": "2.2.5", "stream-json": "1.8.0", "tar": "7.5.11", @@ -70,7 +70,7 @@ "ws": "8.17.1" }, "devDependencies": { - "@strapi/database": "5.42.1", + "@strapi/database": "5.43.0", "@types/fs-extra": "11.0.4", "@types/jest": "29.5.2", "@types/koa": "2.13.4", @@ -84,7 +84,7 @@ "knex": "3.0.1", "koa": "2.16.4", "rimraf": "6.1.3", - "typescript": "5.4.4" + "typescript": "5.4.5" }, "engines": { "node": ">=20.0.0 <=24.x.x", diff --git a/packages/core/database/package.json b/packages/core/database/package.json index 8f076cfa2c..5f3bebe55d 100644 --- a/packages/core/database/package.json +++ b/packages/core/database/package.json @@ -1,6 +1,6 @@ { "name": "@strapi/database", - "version": "5.42.1", + "version": "5.43.0", "description": "Strapi's database layer", "homepage": "https://strapi.io", "bugs": { @@ -43,20 +43,20 @@ }, "dependencies": { "@paralleldrive/cuid2": "2.2.2", - "@strapi/utils": "5.42.1", + "@strapi/utils": "5.43.0", "ajv": "8.18.0", "date-fns": "2.30.0", "debug": "4.3.4", - "fs-extra": "11.2.0", + "fs-extra": "11.3.4", "knex": "3.0.1", "lodash": "4.18.1", - "semver": "7.5.4", + "semver": "7.7.4", "umzug": "3.8.1" }, "devDependencies": { "@types/fs-extra": "11.0.4", - "eslint-config-custom": "5.42.1", - "tsconfig": "5.42.1" + "eslint-config-custom": "5.43.0", + "tsconfig": "5.43.0" }, "engines": { "node": ">=20.0.0 <=24.x.x", diff --git a/packages/core/database/src/migrations/internal-migrations/5.0.0-02-document-id.ts b/packages/core/database/src/migrations/internal-migrations/5.0.0-02-document-id.ts index 4b36c06f1e..41bcbe38e5 100644 --- a/packages/core/database/src/migrations/internal-migrations/5.0.0-02-document-id.ts +++ b/packages/core/database/src/migrations/internal-migrations/5.0.0-02-document-id.ts @@ -143,10 +143,25 @@ const migrationDocumentIds = async (db: Database, knex: Knex, meta: Meta) => { } while (updatedRows > 0); }; +const isDuplicateColumnError = (error: unknown): boolean => { + if (!error || typeof error !== 'object') return false; + const e = error as { code?: string; errno?: number; message?: string }; + if (e.code === '42701') return true; + if (e.errno === 1060) return true; + if (typeof e.message === 'string' && /duplicate column/i.test(e.message)) return true; + return false; +}; + const createDocumentIdColumn = async (knex: Knex, tableName: string) => { - await knex.schema.alterTable(tableName, (table) => { - table.string('document_id'); - }); + try { + await knex.schema.alterTable(tableName, (table) => { + table.string('document_id'); + }); + } catch (error) { + if (!isDuplicateColumnError(error)) { + throw error; + } + } }; const hasLocalizationsJoinTable = async (knex: Knex, tableName: string) => { @@ -166,15 +181,12 @@ export const createdDocumentId: Migration = { } if ('documentId' in meta.attributes) { - // add column if doesn't exist const hasDocumentIdColumn = await knex.schema.hasColumn(meta.tableName, 'document_id'); - if (hasDocumentIdColumn) { - continue; + if (!hasDocumentIdColumn) { + await createDocumentIdColumn(knex, meta.tableName); } - await createDocumentIdColumn(knex, meta.tableName); - if (await hasLocalizationsJoinTable(knex, meta.tableName)) { await migrateDocumentIdsWithLocalizations(db, knex, meta); } else { diff --git a/packages/core/database/src/migrations/internal-migrations/__tests__/5.0.0-02-document-id.test.ts b/packages/core/database/src/migrations/internal-migrations/__tests__/5.0.0-02-document-id.test.ts new file mode 100644 index 0000000000..911b370c6f --- /dev/null +++ b/packages/core/database/src/migrations/internal-migrations/__tests__/5.0.0-02-document-id.test.ts @@ -0,0 +1,145 @@ +import type { Knex } from 'knex'; + +import { createdDocumentId } from '../5.0.0-02-document-id'; + +type UpdateCall = { table: string; ids: number[] }; + +const buildHarness = ( + options: { + existingColumns?: string[]; + rawAddColumnError?: Error; + rowsNeedingBackfill?: number; + } = {} +) => { + const existingColumns = new Set(options.existingColumns ?? []); + const alterTableCalls: string[] = []; + const updateCalls: UpdateCall[] = []; + let remainingRowsToBackfill = options.rowsNeedingBackfill ?? 0; + + const knexBuilder: any = jest.fn((tableName: string) => { + const builder: any = { + update: jest.fn(() => builder), + whereIn: jest.fn((_column: string, ids: number[]) => { + updateCalls.push({ table: tableName, ids }); + if (remainingRowsToBackfill > 0) { + remainingRowsToBackfill -= 1; + return Promise.resolve(1); + } + return Promise.resolve(0); + }), + select: jest.fn(() => builder), + from: jest.fn(() => builder), + whereNull: jest.fn(() => builder), + limit: jest.fn(() => builder), + as: jest.fn(() => builder), + }; + return builder; + }); + + knexBuilder.schema = { + hasTable: jest.fn(async (tableName: string) => { + return !tableName.endsWith('_localizations_links'); + }), + hasColumn: jest.fn(async (tableName: string, column: string) => { + if (column !== 'document_id') return false; + return existingColumns.has(tableName); + }), + alterTable: jest.fn(async (tableName: string, tableBuilder: (t: any) => void) => { + alterTableCalls.push(tableName); + tableBuilder({ string: jest.fn() }); + if (options.rawAddColumnError) { + existingColumns.add(tableName); + throw options.rawAddColumnError; + } + existingColumns.add(tableName); + }), + }; + + const db: any = { + dialect: { client: 'postgres' }, + metadata: { + values: () => [ + { + tableName: 'files', + singularName: 'file', + attributes: { documentId: {} }, + }, + ], + }, + }; + + return { + knex: knexBuilder as unknown as Knex.Transaction, + db, + get alterTableCalls() { + return alterTableCalls; + }, + get updateCalls() { + return updateCalls; + }, + get remainingRowsToBackfill() { + return remainingRowsToBackfill; + }, + }; +}; + +describe('createdDocumentId migration — idempotent recovery (CMS-689)', () => { + it('creates the column and backfills document_id on a fresh run', async () => { + const h = buildHarness({ rowsNeedingBackfill: 2 }); + + await expect(createdDocumentId.up(h.knex, h.db)).resolves.not.toThrow(); + + expect(h.alterTableCalls).toEqual(['files']); + expect(h.remainingRowsToBackfill).toBe(0); + expect(h.updateCalls.length).toBeGreaterThan(0); + }); + + it('still backfills NULL document_id rows when the column already exists', async () => { + const h = buildHarness({ + existingColumns: ['files'], + rowsNeedingBackfill: 3, + }); + + await createdDocumentId.up(h.knex, h.db); + + expect(h.alterTableCalls).toEqual([]); + expect(h.remainingRowsToBackfill).toBe(0); + expect(h.updateCalls.length).toBeGreaterThan(0); + }); + + it('tolerates Postgres 42701 "column already exists" during ADD COLUMN and still backfills', async () => { + const duplicateColumnError = Object.assign( + new Error('column "document_id" of relation "files" already exists'), + { code: '42701' } + ); + const h = buildHarness({ + rawAddColumnError: duplicateColumnError, + rowsNeedingBackfill: 2, + }); + + await expect(createdDocumentId.up(h.knex, h.db)).resolves.not.toThrow(); + + expect(h.alterTableCalls).toEqual(['files']); + expect(h.remainingRowsToBackfill).toBe(0); + }); + + it('tolerates MySQL 1060 "Duplicate column name" during ADD COLUMN', async () => { + const duplicateColumnError = Object.assign(new Error("Duplicate column name 'document_id'"), { + errno: 1060, + }); + const h = buildHarness({ + rawAddColumnError: duplicateColumnError, + rowsNeedingBackfill: 1, + }); + + await expect(createdDocumentId.up(h.knex, h.db)).resolves.not.toThrow(); + expect(h.remainingRowsToBackfill).toBe(0); + }); + + it('rethrows non-duplicate-column errors during ADD COLUMN', async () => { + const otherError = Object.assign(new Error('disk full'), { code: '53100' }); + const h = buildHarness({ rawAddColumnError: otherError }); + + await expect(createdDocumentId.up(h.knex, h.db)).rejects.toThrow('disk full'); + }); +}); diff --git a/packages/core/email/admin/src/translations/cs.json b/packages/core/email/admin/src/translations/cs.json index 0967ef424b..c4e37874d9 100644 --- a/packages/core/email/admin/src/translations/cs.json +++ b/packages/core/email/admin/src/translations/cs.json @@ -1 +1,45 @@ -{} +{ + "link": "Odkaz", + "Settings.email.plugin.button.test-email": "Odeslat testovací e-mail", + "Settings.email.plugin.button.verify": "Otestovat připojení", + "Settings.email.plugin.label.defaultFrom": "Výchozí e-mail odesílatele", + "Settings.email.plugin.label.defaultReplyTo": "Výchozí e-mail pro odpověď", + "Settings.email.plugin.label.provider": "Poskytovatel e-mailu", + "Settings.email.plugin.label.replyToName": "Výchozí jméno pro odpověď", + "Settings.email.plugin.label.senderName": "Výchozí jméno odesílatele", + "Settings.email.plugin.label.testAddress": "E-mail příjemce", + "Settings.email.plugin.label.verifyConnection": "Stav připojení", + "Settings.email.plugin.notification.config.error": "Nepodařilo se načíst konfiguraci e-mailu", + "Settings.email.plugin.notification.data.loaded": "Data nastavení e-mailu byla načtena", + "Settings.email.plugin.notification.test.error": "Nepodařilo se odeslat testovací e-mail na adresu {to}", + "Settings.email.plugin.notification.test.success": "Test e-mailu proběhl úspěšně, zkontrolujte schránku {to}", + "Settings.email.plugin.notification.verify.error": "Ověření připojení selhalo", + "Settings.email.plugin.notification.verify.success": "Připojení bylo úspěšně ověřeno", + "Settings.email.plugin.placeholder.defaultFrom": "např.: Strapi No-Reply ", + "Settings.email.plugin.placeholder.defaultReplyTo": "např.: Strapi ", + "Settings.email.plugin.placeholder.testAddress": "např.: developer@example.com", + "Settings.email.plugin.status.connected": "Připojeno", + "Settings.email.plugin.status.error": "Chyba", + "Settings.email.plugin.subTitle": "Otestujte nastavení pluginu E-mail", + "Settings.email.plugin.text.configuration": "Plugin se konfiguruje prostřednictvím souboru {file}, dokumentaci najdete na tomto {link}.", + "Settings.email.plugin.title": "Konfigurace", + "Settings.email.plugin.title.config": "Konfigurace", + "Settings.email.plugin.title.test": "Test doručování e-mailů", + "SettingsNav.link.settings": "Nastavení", + "SettingsNav.section-label": "Plugin E-mail", + "components.Input.error.validation.email": "Toto není platná e-mailová adresa", + "Settings.capabilities.title": "Možnosti poskytovatele", + "Settings.capabilities.subtitle": "Aktuální konfigurace SMTP a povolené funkce", + "Settings.capabilities.label.smtpServer": "SMTP server", + "Settings.capabilities.label.encryption": "Šifrování", + "Settings.capabilities.label.authType": "Ověřování", + "Settings.capabilities.label.poolStatus": "Stav poolu", + "Settings.capabilities.label.features": "Povolené funkce", + "Settings.capabilities.poolStatus.idle": "Nečinný", + "Settings.capabilities.poolStatus.active": "Aktivní", + "Settings.capabilities.feature.dkim": "DKIM", + "Settings.capabilities.feature.pool": "Pool připojení", + "Settings.capabilities.feature.rateLimiting": "Omezení rychlosti", + "Settings.capabilities.feature.oauth2": "OAuth2", + "Settings.capabilities.feature.requireTLS": "Vyžadovat TLS" +} diff --git a/packages/core/email/package.json b/packages/core/email/package.json index 757242159f..bd8fe85cb5 100644 --- a/packages/core/email/package.json +++ b/packages/core/email/package.json @@ -1,6 +1,6 @@ { "name": "@strapi/email", - "version": "5.42.1", + "version": "5.43.0", "description": "Easily configure your Strapi application to send emails.", "homepage": "https://strapi.io", "bugs": { @@ -63,8 +63,8 @@ "dependencies": { "@strapi/design-system": "2.2.0", "@strapi/icons": "2.2.0", - "@strapi/provider-email-sendmail": "5.42.1", - "@strapi/utils": "5.42.1", + "@strapi/provider-email-sendmail": "5.43.0", + "@strapi/utils": "5.43.0", "koa2-ratelimit": "^1.1.3", "lodash": "4.18.1", "react-intl": "6.6.2", @@ -73,8 +73,8 @@ "zod": "3.25.67" }, "devDependencies": { - "@strapi/admin": "5.42.1", - "@strapi/types": "5.42.1", + "@strapi/admin": "5.43.0", + "@strapi/types": "5.43.0", "@testing-library/react": "16.3.0", "@types/koa": "2.13.4", "@types/lodash": "^4.14.191", diff --git a/packages/core/openapi/package.json b/packages/core/openapi/package.json index 7cacda779f..c5e846d6c3 100644 --- a/packages/core/openapi/package.json +++ b/packages/core/openapi/package.json @@ -1,6 +1,6 @@ { "name": "@strapi/openapi", - "version": "5.42.1", + "version": "5.43.0", "description": "A tool set to help generate and validate API documentation for Strapi projects", "homepage": "https://strapi.io", "bugs": { @@ -62,7 +62,7 @@ "zod": "3.25.67" }, "devDependencies": { - "@strapi/types": "5.42.1", + "@strapi/types": "5.43.0", "@types/debug": "^4" } } diff --git a/packages/core/permissions/package.json b/packages/core/permissions/package.json index e9666641d1..41b65790e0 100644 --- a/packages/core/permissions/package.json +++ b/packages/core/permissions/package.json @@ -1,6 +1,6 @@ { "name": "@strapi/permissions", - "version": "5.42.1", + "version": "5.43.0", "description": "Strapi's permission layer.", "homepage": "https://strapi.io", "bugs": { @@ -44,14 +44,14 @@ }, "dependencies": { "@casl/ability": "6.7.5", - "@strapi/utils": "5.42.1", + "@strapi/utils": "5.43.0", "lodash": "4.18.1", "qs": "6.15.0", "sift": "16.0.1" }, "devDependencies": { - "eslint-config-custom": "5.42.1", - "tsconfig": "5.42.1" + "eslint-config-custom": "5.43.0", + "tsconfig": "5.43.0" }, "engines": { "node": ">=20.0.0 <=24.x.x", diff --git a/packages/core/review-workflows/admin/src/routes/content-manager/model/id/components/AssigneeSelect.tsx b/packages/core/review-workflows/admin/src/routes/content-manager/model/id/components/AssigneeSelect.tsx index 56448740b8..b282441939 100644 --- a/packages/core/review-workflows/admin/src/routes/content-manager/model/id/components/AssigneeSelect.tsx +++ b/packages/core/review-workflows/admin/src/routes/content-manager/model/id/components/AssigneeSelect.tsx @@ -47,6 +47,7 @@ const AssigneeSelect = ({ isCompact }: { isCompact?: boolean }) => { collectionType, model, documentId: id, + params, }, { skip: !id && collectionType !== 'single-types', diff --git a/packages/core/review-workflows/admin/src/routes/content-manager/model/id/components/StageSelect.tsx b/packages/core/review-workflows/admin/src/routes/content-manager/model/id/components/StageSelect.tsx index 6c753b7b34..f4f526be50 100644 --- a/packages/core/review-workflows/admin/src/routes/content-manager/model/id/components/StageSelect.tsx +++ b/packages/core/review-workflows/admin/src/routes/content-manager/model/id/components/StageSelect.tsx @@ -173,6 +173,7 @@ export const StageSelect = ({ isCompact }: { isCompact?: boolean }) => { collectionType, model, documentId: id, + params, }, { skip: !id && collectionType !== 'single-types', diff --git a/packages/core/review-workflows/admin/src/translations/cs.json b/packages/core/review-workflows/admin/src/translations/cs.json new file mode 100644 index 0000000000..286488a216 --- /dev/null +++ b/packages/core/review-workflows/admin/src/translations/cs.json @@ -0,0 +1,17 @@ +{ + "settings.page.title": "Revizní workflow", + "settings.page.subtitle": "{count, plural, one {# fáze} few {# fáze} other {# fází}}", + "settings.page.isLoading": "Workflow se načítá", + "settings.page.delete.confirm.body": "Všechny záznamy přiřazené k odstraněným fázím budou přesunuty do předchozí fáze. Opravdu chcete uložit změny?", + "settings.stage.name.label": "Název fáze", + "settings.not-available": "Revizní workflow je dostupné pouze jako součást edice Enterprise. Upgradujte a vytvářejte a spravujte workflow.", + "settings.review-workflows.workflow.stageRequiredToPublish.label": "Požadovaná fáze pro publikaci", + "settings.review-workflows.workflow.stageRequiredToPublish.any": "Jakákoli fáze", + "settings.review-workflows.workflow.stageRequiredToPublish.hint": "Zabraňuje publikaci záznamů, pokud nejsou v požadované fázi.", + "settings.page.purchase.description": "Spravujte proces revize obsahu", + "settings.page.purchase.perks1": "Přizpůsobitelné revizní fáze", + "settings.page.purchase.perks2": "Správa uživatelských oprávnění", + "settings.page.purchase.perks3": "Podpora webhooků", + "widget.assigned.title": "Přiřazeno mně", + "widget.assigned.no-data": "Žádné záznamy" +} diff --git a/packages/core/review-workflows/package.json b/packages/core/review-workflows/package.json index 58f7c79d0f..f8f69f9517 100644 --- a/packages/core/review-workflows/package.json +++ b/packages/core/review-workflows/package.json @@ -1,6 +1,6 @@ { "name": "@strapi/review-workflows", - "version": "5.42.1", + "version": "5.43.0", "description": "Review workflows for your content", "homepage": "https://strapi.io", "bugs": { @@ -64,7 +64,7 @@ "@reduxjs/toolkit": "1.9.7", "@strapi/design-system": "2.2.0", "@strapi/icons": "2.2.0", - "@strapi/utils": "5.42.1", + "@strapi/utils": "5.43.0", "fractional-indexing": "3.2.0", "react-dnd": "16.0.1", "react-dnd-html5-backend": "16.0.1", @@ -74,9 +74,9 @@ "yup": "0.32.9" }, "devDependencies": { - "@strapi/admin": "5.42.1", - "@strapi/content-manager": "5.42.1", - "@strapi/types": "5.42.1", + "@strapi/admin": "5.43.0", + "@strapi/content-manager": "5.43.0", + "@strapi/types": "5.43.0", "@testing-library/react": "16.3.0", "msw": "1.3.0", "react": "18.3.1", diff --git a/packages/core/strapi/package.json b/packages/core/strapi/package.json index 8dc0d9d897..39e36714b0 100644 --- a/packages/core/strapi/package.json +++ b/packages/core/strapi/package.json @@ -1,6 +1,6 @@ { "name": "@strapi/strapi", - "version": "5.42.1", + "version": "5.43.0", "description": "An open source headless CMS solution to create and manage your own API. It provides a powerful dashboard and features to make your life easier. Databases supported: MySQL, MariaDB, PostgreSQL, SQLite", "keywords": [ "strapi", @@ -109,25 +109,25 @@ }, "dependencies": { "@pmmmwh/react-refresh-webpack-plugin": "0.5.15", - "@strapi/admin": "5.42.1", - "@strapi/cloud-cli": "5.42.1", - "@strapi/content-manager": "5.42.1", - "@strapi/content-releases": "5.42.1", - "@strapi/content-type-builder": "5.42.1", - "@strapi/core": "5.42.1", - "@strapi/data-transfer": "5.42.1", - "@strapi/database": "5.42.1", - "@strapi/email": "5.42.1", - "@strapi/generators": "5.42.1", - "@strapi/i18n": "5.42.1", - "@strapi/logger": "5.42.1", - "@strapi/openapi": "5.42.1", - "@strapi/permissions": "5.42.1", - "@strapi/review-workflows": "5.42.1", - "@strapi/types": "5.42.1", - "@strapi/typescript-utils": "5.42.1", - "@strapi/upload": "5.42.1", - "@strapi/utils": "5.42.1", + "@strapi/admin": "5.43.0", + "@strapi/cloud-cli": "5.43.0", + "@strapi/content-manager": "5.43.0", + "@strapi/content-releases": "5.43.0", + "@strapi/content-type-builder": "5.43.0", + "@strapi/core": "5.43.0", + "@strapi/data-transfer": "5.43.0", + "@strapi/database": "5.43.0", + "@strapi/email": "5.43.0", + "@strapi/generators": "5.43.0", + "@strapi/i18n": "5.43.0", + "@strapi/logger": "5.43.0", + "@strapi/openapi": "5.43.0", + "@strapi/permissions": "5.43.0", + "@strapi/review-workflows": "5.43.0", + "@strapi/types": "5.43.0", + "@strapi/typescript-utils": "5.43.0", + "@strapi/upload": "5.43.0", + "@strapi/utils": "5.43.0", "@types/nodemon": "1.19.6", "@vitejs/plugin-react-swc": "3.6.0", "boxen": "5.1.2", @@ -141,12 +141,12 @@ "commander": "8.3.0", "concurrently": "8.2.2", "css-loader": "^6.10.0", - "dotenv": "16.4.5", - "esbuild-loader": "4.3.0", - "esbuild-register": "3.5.0", + "dotenv": "16.6.1", + "esbuild-loader": "4.4.3", + "esbuild-register": "3.6.0", "execa": "5.1.1", "fork-ts-checker-webpack-plugin": "8.0.0", - "fs-extra": "11.2.0", + "fs-extra": "11.3.4", "get-latest-version": "5.1.0", "git-url-parse": "14.0.0", "html-webpack-plugin": "5.6.0", @@ -161,9 +161,9 @@ "react-refresh": "0.14.0", "read-pkg-up": "7.0.1", "resolve-from": "5.0.0", - "semver": "7.5.4", + "semver": "7.7.4", "style-loader": "3.3.4", - "typescript": "5.4.4", + "typescript": "5.4.5", "vite": "5.4.21", "webpack": "^5.90.3", "webpack-bundle-analyzer": "^4.10.1", @@ -180,11 +180,11 @@ "@types/node": "24.10.0", "@types/webpack-bundle-analyzer": "4.7.0", "@types/webpack-hot-middleware": "2.25.9", - "eslint-config-custom": "5.42.1", + "eslint-config-custom": "5.43.0", "jest": "29.6.0", "react": "18.3.1", "react-dom": "18.3.1", - "tsconfig": "5.42.1", + "tsconfig": "5.43.0", "yalc": "1.0.0-pre.53" }, "peerDependencies": { diff --git a/packages/core/types/package.json b/packages/core/types/package.json index 99a1a2f7c0..1b6344e06d 100644 --- a/packages/core/types/package.json +++ b/packages/core/types/package.json @@ -1,6 +1,6 @@ { "name": "@strapi/types", - "version": "5.42.1", + "version": "5.43.0", "description": "Shared typescript types for Strapi internal use", "keywords": [ "strapi" @@ -47,10 +47,10 @@ "@casl/ability": "6.7.5", "@koa/cors": "5.0.0", "@koa/router": "12.0.2", - "@strapi/database": "5.42.1", - "@strapi/logger": "5.42.1", - "@strapi/permissions": "5.42.1", - "@strapi/utils": "5.42.1", + "@strapi/database": "5.43.0", + "@strapi/logger": "5.43.0", + "@strapi/permissions": "5.43.0", + "@strapi/utils": "5.43.0", "commander": "8.3.0", "json-logic-js": "2.0.5", "koa": "2.16.4", @@ -68,10 +68,10 @@ "@types/koa": "2.13.4", "@types/koa__router": "12.0.0", "@types/node-schedule": "2.1.7", - "eslint-config-custom": "5.42.1", + "eslint-config-custom": "5.43.0", "lodash": "4.18.1", - "tsconfig": "5.42.1", - "typescript": "5.4.4", + "tsconfig": "5.43.0", + "typescript": "5.4.5", "undici": "6.25.0" }, "engines": { diff --git a/packages/core/upload/package.json b/packages/core/upload/package.json index 5d336995aa..ecd4a069e6 100644 --- a/packages/core/upload/package.json +++ b/packages/core/upload/package.json @@ -1,6 +1,6 @@ { "name": "@strapi/upload", - "version": "5.42.1", + "version": "5.43.0", "description": "Makes it easy to upload images and files to your Strapi Application.", "homepage": "https://strapi.io", "bugs": { @@ -73,17 +73,17 @@ "@radix-ui/react-dialog": "1.0.5", "@radix-ui/react-toggle-group": "1.1.11", "@reduxjs/toolkit": "1.9.7", - "@strapi/database": "5.42.1", + "@strapi/database": "5.43.0", "@strapi/design-system": "2.2.0", "@strapi/icons": "2.2.0", - "@strapi/provider-upload-local": "5.42.1", - "@strapi/utils": "5.42.1", + "@strapi/provider-upload-local": "5.43.0", + "@strapi/utils": "5.43.0", "byte-size": "8.1.1", "cropperjs": "1.6.1", "date-fns": "2.30.0", "file-type": "21.3.4", "formik": "2.4.5", - "fs-extra": "11.2.0", + "fs-extra": "11.3.4", "immer": "9.0.21", "koa-range": "0.3.0", "koa-static": "5.0.0", @@ -101,8 +101,8 @@ "zod": "3.25.67" }, "devDependencies": { - "@strapi/admin": "5.42.1", - "@strapi/types": "5.42.1", + "@strapi/admin": "5.43.0", + "@strapi/types": "5.43.0", "@testing-library/dom": "10.4.1", "@testing-library/react": "16.3.0", "@testing-library/user-event": "14.6.1", diff --git a/packages/core/utils/package.json b/packages/core/utils/package.json index 5593a18ab3..901510515b 100644 --- a/packages/core/utils/package.json +++ b/packages/core/utils/package.json @@ -1,6 +1,6 @@ { "name": "@strapi/utils", - "version": "5.42.1", + "version": "5.43.0", "description": "Shared utilities for the Strapi packages", "keywords": [ "strapi", @@ -62,10 +62,10 @@ "@types/http-errors": "2.0.4", "@types/koa": "2.13.4", "@types/node": "24.10.0", - "eslint-config-custom": "5.42.1", + "eslint-config-custom": "5.43.0", "koa": "2.16.4", "koa-body": "6.0.1", - "tsconfig": "5.42.1" + "tsconfig": "5.43.0" }, "engines": { "node": ">=20.0.0 <=24.x.x", diff --git a/packages/generators/generators/package.json b/packages/generators/generators/package.json index cf5a986cb4..48fa10c1d8 100644 --- a/packages/generators/generators/package.json +++ b/packages/generators/generators/package.json @@ -1,6 +1,6 @@ { "name": "@strapi/generators", - "version": "5.42.1", + "version": "5.43.0", "description": "Interactive API generator.", "keywords": [ "strapi", @@ -50,10 +50,10 @@ }, "dependencies": { "@sindresorhus/slugify": "1.1.0", - "@strapi/typescript-utils": "5.42.1", - "@strapi/utils": "5.42.1", + "@strapi/typescript-utils": "5.43.0", + "@strapi/utils": "5.43.0", "chalk": "4.1.2", - "fs-extra": "11.2.0", + "fs-extra": "11.3.4", "handlebars": "4.7.9", "jscodeshift": "17.3.0", "lodash": "4.18.1", @@ -64,9 +64,9 @@ "@types/fs-extra": "11.0.4", "@types/jscodeshift": "17.3.0", "copyfiles": "2.4.1", - "eslint-config-custom": "5.42.1", + "eslint-config-custom": "5.43.0", "outdent": "^0.8.0", - "tsconfig": "5.42.1" + "tsconfig": "5.43.0" }, "engines": { "node": ">=20.0.0 <=24.x.x", diff --git a/packages/plugins/cloud/admin/src/translations/cs.json b/packages/plugins/cloud/admin/src/translations/cs.json new file mode 100644 index 0000000000..7ab3cc1f29 --- /dev/null +++ b/packages/plugins/cloud/admin/src/translations/cs.json @@ -0,0 +1,21 @@ +{ + "Plugin.name": "Nasazení", + "Homepage.title": "Nasazujte se Strapi Cloud zdarma!", + "Homepage.subTitle": "Začněte s naším zcela bezplatným tarifem – bez platební karty a bez časového omezení.", + "Homepage.deploy.title": "Vyberte preferovaný způsob nasazení", + "Homepage.deploy.ariaLabel": "Možnosti nasazení", + "Homepage.deploy.git.badge": "Doporučeno", + "Homepage.deploy.git.title": "Nasadit do Strapi Cloud", + "Homepage.deploy.git.subTitle": "Nasaďte projekt z GitHubu nebo GitLabu přímo ve Strapi Cloud", + "Homepage.deploy.git.button": "Nasadit do Strapi Cloud", + "Homepage.deploy.cli.title": "Nasadit přes CLI", + "Homepage.deploy.cli.subTitle": "Pomocí příkazového řádku nasaďte svůj projekt Strapi přímo", + "Homepage.deploy.cli.ariaLabel": "Správce balíčků", + "Homepage.deploy.cli.copy": "Kopírovat", + "Homepage.deploy.documentation": "Máte potíže? Podívejte se do naší dokumentace", + "Homepage.freePlan.api": "2,5 tis. API požadavků", + "Homepage.freePlan.storage": "10 GB úložiště", + "Homepage.freePlan.bandwidth": "10 GB přenosu assetů", + "Homepage.freePlan.cdn": "Globální CDN", + "Homepage.freePlan.pushToDeploy": "Push pro nasazení" +} diff --git a/packages/plugins/cloud/package.json b/packages/plugins/cloud/package.json index 8f074cf5ce..c91ee8b4ee 100644 --- a/packages/plugins/cloud/package.json +++ b/packages/plugins/cloud/package.json @@ -1,6 +1,6 @@ { "name": "@strapi/plugin-cloud", - "version": "5.42.1", + "version": "5.43.0", "description": "Instructions to deploy your local project to Strapi Cloud", "homepage": "https://strapi.io", "bugs": { @@ -54,15 +54,15 @@ "react-intl": "6.6.2" }, "devDependencies": { - "@strapi/admin": "5.42.1", - "@strapi/strapi": "5.42.1", - "eslint-config-custom": "5.42.1", + "@strapi/admin": "5.43.0", + "@strapi/strapi": "5.43.0", + "eslint-config-custom": "5.43.0", "react": "18.3.1", "react-dom": "18.3.1", "react-router-dom": "6.30.3", "styled-components": "6.1.8", - "tsconfig": "5.42.1", - "typescript": "5.4.4" + "tsconfig": "5.43.0", + "typescript": "5.4.5" }, "peerDependencies": { "@strapi/admin": "^5.0.0", diff --git a/packages/plugins/color-picker/admin/src/translations/cs.json b/packages/plugins/color-picker/admin/src/translations/cs.json index fb3b5a71b3..9edc4bed78 100644 --- a/packages/plugins/color-picker/admin/src/translations/cs.json +++ b/packages/plugins/color-picker/admin/src/translations/cs.json @@ -8,5 +8,8 @@ "color-picker.options.advanced.requiredField": "Povinné pole", "color-picker.options.advanced.requiredField.description": "Pokud je toto pole prázdné, nebudete moci vytvořit záznam", "color-picker.settings": "Nastavení", - "color-picker.toggle.aria-label": "Přepínač výběru barvy" + "color-picker.toggle.aria-label": "Přepínač výběru barvy", + "plugin.description.long": "Vlastní pole pro výběr barvy spravované Strapi. Pomocí posuvníků sytosti a odstínu vyberte barvu a uložte hodnotu jako řetězec HEX.", + "plugin.description.short": "Vlastní pole pro výběr barvy spravované Strapi.", + "plugin.name": "Výběr barvy" } diff --git a/packages/plugins/color-picker/package.json b/packages/plugins/color-picker/package.json index 65af3ab5f8..7179952935 100644 --- a/packages/plugins/color-picker/package.json +++ b/packages/plugins/color-picker/package.json @@ -1,6 +1,6 @@ { "name": "@strapi/plugin-color-picker", - "version": "5.42.1", + "version": "5.43.0", "description": "Strapi maintained Custom Fields", "homepage": "https://strapi.io", "bugs": { @@ -67,14 +67,14 @@ "react-intl": "6.6.2" }, "devDependencies": { - "@strapi/strapi": "5.42.1", + "@strapi/strapi": "5.43.0", "@testing-library/react": "16.3.0", "@testing-library/user-event": "14.6.1", "react": "18.3.1", "react-dom": "18.3.1", "react-router-dom": "6.30.3", "styled-components": "6.1.8", - "typescript": "5.4.4" + "typescript": "5.4.5" }, "peerDependencies": { "@strapi/strapi": "^5.0.0", diff --git a/packages/plugins/documentation/admin/src/translations/cs.json b/packages/plugins/documentation/admin/src/translations/cs.json index cd8f74776a..520bd9b75e 100644 --- a/packages/plugins/documentation/admin/src/translations/cs.json +++ b/packages/plugins/documentation/admin/src/translations/cs.json @@ -1,4 +1,5 @@ { + "coming-soon": "Tento obsah se právě připravuje a za několik týdnů bude zpět!", "components.Row.open": "Otevřený", "components.Row.regenerate": "Znovu vygenerovat", "containers.HomePage.Block.title": "Verze", @@ -6,16 +7,36 @@ "containers.HomePage.PluginHeader.title": "Dokumentace — Nastavení", "containers.HomePage.PopUpWarning.confirm": "Rozumím", "containers.HomePage.PopUpWarning.message": "Jste si jisti, že chcete odstranit tuto verzi?", + "containers.HomePage.copied": "Token byl zkopírován do schránky", + "containers.HomePage.form.jwtToken": "Získat váš JWT token", + "containers.HomePage.form.jwtToken.description": "Zkopírujte tento token a použijte jej ve Swaggeru pro odesílání požadavků", "containers.HomePage.form.password": "Heslo", "containers.HomePage.form.password.inputDescription": "Nastavit heslo pro přístup k dokumentaci.", "containers.HomePage.form.restrictedAccess": "Omezený přístup", "containers.HomePage.form.restrictedAccess.inputDescription": "Omezit přístup k endpointu dokumentace. Ve výchozím nastavení je přístup veřejný.", "containers.HomePage.form.showGeneratedFiles": "Zobrazit vygenerované soubory", "containers.HomePage.form.showGeneratedFiles.inputDescription": "Užitečné, pokud chcete přepsat vygenerovanou dokumentaci. \nPokud povolíte tuto možnost, úpravy vaší dokumentace budou snazší.", - "error.deleteDoc.versionMissing": "Verze kterou se snažíte odstranit neexistuje.", + "error.deleteDoc.versionMissing": "Verze, kterou se snažíte odstranit, neexistuje.", "error.noVersion": "Verze je vyžadována", "error.regenerateDoc": "Při pokusu o vygenerování dokumentace došlo k chybě", - "error.regenerateDoc.versionMissing": "Verze kterou se snažíte vygenerovat neexistuje.", + "error.regenerateDoc.versionMissing": "Verze, kterou se snažíte vygenerovat, neexistuje.", + "notification.delete.success": "Dokumentace byla odstraněna", + "notification.generate.success": "Dokumentace byla vygenerována", "notification.update.success": "Nastavení bylo úspěšně uloženo", - "plugin.name": "Dokumentace" + "pages.PluginPage.Button.open": "Otevřít dokumentaci", + "pages.PluginPage.header.description": "Nakonfigurujte plugin dokumentace", + "pages.PluginPage.table.generated": "Naposledy vygenerováno", + "pages.PluginPage.table.icon.regenerate": "Znovu vygenerovat {target}", + "pages.PluginPage.table.icon.show": "Otevřít {target}", + "pages.PluginPage.table.version": "Verze", + "pages.SettingsPage.header.description": "Nakonfigurujte plugin dokumentace", + "pages.SettingsPage.header.save": "Uložit", + "pages.SettingsPage.toggle.hint": "Nastavte endpoint dokumentace jako soukromý", + "pages.SettingsPage.toggle.label": "Omezený přístup", + "plugin.description.long": "Vytvořte dokument OpenAPI a zobrazte své API pomocí SWAGGER UI.", + "plugin.description.short": "Vytvořte dokument OpenAPI a zobrazte své API pomocí SWAGGER UI.", + "plugin.name": "Dokumentace", + "Input.error.contain.lowercase": "Heslo musí obsahovat alespoň jedno malé písmeno", + "Input.error.contain.number": "Heslo musí obsahovat alespoň jednu číslici", + "Input.error.contain.uppercase": "Heslo musí obsahovat alespoň jedno velké písmeno" } diff --git a/packages/plugins/documentation/package.json b/packages/plugins/documentation/package.json index 88bf33022a..ceed4537a3 100644 --- a/packages/plugins/documentation/package.json +++ b/packages/plugins/documentation/package.json @@ -1,6 +1,6 @@ { "name": "@strapi/plugin-documentation", - "version": "5.42.1", + "version": "5.43.0", "description": "Create an OpenAPI Document and visualize your API with SWAGGER UI.", "homepage": "https://strapi.io", "bugs": { @@ -63,14 +63,14 @@ }, "dependencies": { "@reduxjs/toolkit": "1.9.7", - "@strapi/admin": "5.42.1", + "@strapi/admin": "5.43.0", "@strapi/design-system": "2.2.0", "@strapi/icons": "2.2.0", - "@strapi/utils": "5.42.1", + "@strapi/utils": "5.43.0", "bcryptjs": "2.4.3", "cheerio": "^1.0.0", "formik": "2.4.5", - "fs-extra": "11.2.0", + "fs-extra": "11.3.4", "immer": "9.0.21", "koa-static": "^5.0.0", "lodash": "4.18.1", @@ -82,9 +82,9 @@ }, "devDependencies": { "@apidevtools/swagger-parser": "^10.1.0", - "@strapi/admin-test-utils": "5.42.1", - "@strapi/strapi": "5.42.1", - "@strapi/types": "5.42.1", + "@strapi/admin-test-utils": "5.43.0", + "@strapi/strapi": "5.43.0", + "@strapi/types": "5.43.0", "@testing-library/react": "16.3.0", "@testing-library/user-event": "14.6.1", "@types/fs-extra": "11.0.4", diff --git a/packages/plugins/documentation/server/src/services/helpers/build-api-endpoint-path.ts b/packages/plugins/documentation/server/src/services/helpers/build-api-endpoint-path.ts index b91678ecac..5edd81ff7f 100644 --- a/packages/plugins/documentation/server/src/services/helpers/build-api-endpoint-path.ts +++ b/packages/plugins/documentation/server/src/services/helpers/build-api-endpoint-path.ts @@ -62,7 +62,7 @@ const getPathParams = (routePath: string): OpenAPIV3.ParameterObject[] => { description: '', deprecated: false, required: true, - schema: { type: 'number' }, + schema: { type: param.name === 'id' ? 'string' : 'number' }, }); return acc; diff --git a/packages/plugins/graphql/admin/src/translations/cs.json b/packages/plugins/graphql/admin/src/translations/cs.json new file mode 100644 index 0000000000..d63be7a0ac --- /dev/null +++ b/packages/plugins/graphql/admin/src/translations/cs.json @@ -0,0 +1,5 @@ +{ + "plugin.description.long": "Přidá GraphQL endpoint s výchozími API metodami.", + "plugin.description.short": "Přidá GraphQL endpoint s výchozími API metodami.", + "plugin.name": "GraphQL" +} diff --git a/packages/plugins/graphql/package.json b/packages/plugins/graphql/package.json index c01e217c5a..b57931f3da 100644 --- a/packages/plugins/graphql/package.json +++ b/packages/plugins/graphql/package.json @@ -1,6 +1,6 @@ { "name": "@strapi/plugin-graphql", - "version": "5.42.1", + "version": "5.43.0", "description": "Adds GraphQL endpoint with default API methods.", "homepage": "https://strapi.io", "bugs": { @@ -65,7 +65,7 @@ "@koa/cors": "5.0.0", "@strapi/design-system": "2.2.0", "@strapi/icons": "2.2.0", - "@strapi/utils": "5.42.1", + "@strapi/utils": "5.43.0", "graphql": "^16.8.1", "graphql-depth-limit": "^1.1.0", "graphql-playground-middleware-koa": "^1.6.21", @@ -77,20 +77,20 @@ "pluralize": "8.0.0" }, "devDependencies": { - "@strapi/strapi": "5.42.1", - "@strapi/types": "5.42.1", + "@strapi/strapi": "5.43.0", + "@strapi/types": "5.43.0", "@types/graphql-depth-limit": "1.1.5", "@types/koa-bodyparser": "4.3.12", "@types/koa__cors": "5.0.0", "cross-env": "^7.0.3", - "eslint-config-custom": "5.42.1", + "eslint-config-custom": "5.43.0", "koa": "2.16.4", "react": "18.3.1", "react-dom": "18.3.1", "react-router-dom": "6.30.3", "styled-components": "6.1.8", - "tsconfig": "5.42.1", - "typescript": "5.4.4" + "tsconfig": "5.43.0", + "typescript": "5.4.5" }, "peerDependencies": { "@strapi/strapi": "^5.0.0", diff --git a/packages/plugins/i18n/admin/src/translations/cs.json b/packages/plugins/i18n/admin/src/translations/cs.json new file mode 100644 index 0000000000..588ddbb7ea --- /dev/null +++ b/packages/plugins/i18n/admin/src/translations/cs.json @@ -0,0 +1,86 @@ +{ + "actions.delete.label": "Smazat záznam ({locale})", + "actions.delete.dialog.title": "Potvrzení", + "actions.delete.dialog.body": "Opravdu chcete smazat tento jazyk?", + "actions.delete.error": "Při pokusu o smazání jazyka dokumentu došlo k chybě.", + "CMEditViewCopyLocale.copy-failure": "Nepodařilo se zkopírovat jazyk", + "CMEditViewCopyLocale.copy-success": "Jazyk zkopírován", + "CMEditViewCopyLocale.copy-text": "Vyplnit z jiného jazyka", + "CMEditViewCopyLocale.cancel-text": "Ne, zrušit", + "CMEditViewCopyLocale.submit-text": "Ano, vyplnit", + "CMEditViewCopyLocale.dialog.title": "Potvrzení", + "CMEditViewCopyLocale.dialog.body": "Váš aktuální obsah bude smazán a nahrazen obsahem z vybraného jazyka:", + "CMEditViewCopyLocale.dialog.field.label": "Jazyk", + "CMEditViewCopyLocale.dialog.field.placeholder": "Vyberte jeden jazyk...", + "CMEditViewBulkLocale.publish-title": "Publikovat více jazyků", + "CMEditViewBulkLocale.unpublish-title": "Zrušit publikaci více jazyků", + "CMEditViewBulkLocale.status": "Stav", + "CMEditViewBulkLocale.publication-status": "Stav publikace", + "CMEditViewBulkLocale.draft-relation-warning": "Některé jazyky jsou propojené s draft záznamy. Jejich publikování by mohlo ve vaší aplikaci zanechat nefunkční odkazy.", + "CMEditViewBulkLocale.continue-confirmation": "Opravdu chcete pokračovat?", + "CMEditViewAITranslation.status-aria-label": "Stav AI překladu", + "CMEditViewAITranslation.status-title": "{enabled, select, true {AI překlad povolen} false {AI překlad zakázán} other {AI překlad zakázán}}", + "CMEditViewAITranslation.status-description": "Naše AI překládá obsah do všech jazyků pokaždé, když uložíte úpravu ve výchozím jazyce.", + "CMEditViewAITranslation.settings-link": "{enabled, select, true {Vypnout v nastavení} false {Zapnout v nastavení} other {Zapnout v nastavení}}", + "CMEditViewAITranslation.job-completed": "AI překlad byl úspěšně dokončen!", + "CMEditViewAITranslation.job-failed": "AI překlad selhal. Zkuste to prosím znovu.", + "CMEditViewLocalePicker.locale.create": "Vytvořit jazyk {locale}", + "CMEditViewLocalePicker.locale.ai-translations": "AI překlady:", + "CMListView.popover.display-locales.label": "Zobrazit přeložené jazyky", + "CMListView.popover.display-locales.more": "{locales} + {count} dalších", + "CheckboxConfirmation.Modal.body": "Chcete to vypnout?", + "CheckboxConfirmation.Modal.button-confirm": "Ano, vypnout", + "CheckboxConfirmation.Modal.content": "Vypnutí lokalizace způsobí smazání veškerého vašeho obsahu kromě toho, který je spojen s vaším výchozím jazykem (pokud existuje).", + "Field.localized": "Tato hodnota je jedinečná pro vybraný jazyk", + "Field.not-localized": "Tato hodnota je společná pro všechny jazyky", + "Settings.list.actions.add": "Přidat nový jazyk", + "Settings.list.actions.delete": "Smazat jazyk {name}", + "Settings.list.actions.deleteAdditionalInfos": "Tímto smažete verze aktivního jazyka (z Internationalization)", + "Settings.list.actions.publishAdditionalInfos": "Tímto publikujete verze aktivního jazyka (z Internationalization)", + "Settings.list.actions.unpublishAdditionalInfos": "Tímto zrušíte publikaci verzí aktivního jazyka (z Internationalization)", + "Settings.list.actions.edit": "Upravit jazyk {name}", + "Settings.list.description": "Nakonfigurujte nastavení pluginu Internationalization", + "Settings.list.empty.description": "Toto není obvyklé chování, což znamená, že jste pravděpodobně databázi upravili ručně. Ujistěte se, že máte v databázi uložen alespoň jeden jazyk, abyste mohli Strapi používat správně.", + "Settings.list.empty.title": "Nejsou zde žádné jazyky.", + "Settings.aiLocalizations.label": "AI překlady", + "Settings.aiLocalizations.description": "Pokaždé, když uložíte změnu v Content Manageru, naše AI použije váš výchozí jazyk k automatickému překladu všech ostatních jazyků.", + "Settings.locales.default": "Výchozí", + "Settings.locales.list.sort.default": "Řadit podle výchozího jazyka", + "Settings.locales.list.sort.displayName": "Řadit podle zobrazovaného názvu", + "Settings.locales.list.sort.id": "Řadit podle ID", + "Settings.locales.modal.advanced": "Pokročilá nastavení", + "Settings.locales.modal.advanced.setAsDefault": "Nastavit jako výchozí jazyk", + "Settings.locales.modal.advanced.setAsDefault.hint": "Jeden výchozí jazyk je povinný, změňte ho výběrem jiného", + "Settings.locales.modal.advanced.settings": "Nastavení", + "Settings.locales.modal.base": "Základní nastavení", + "Settings.locales.modal.create.success": "Jazyk byl úspěšně přidán", + "Settings.locales.modal.create.code.label": "Jazyky", + "Settings.locales.modal.create.code.error": "Vyberte prosím jazyk", + "Settings.locales.modal.create.name.description": "Jazyk bude v administračním panelu zobrazen pod tímto názvem", + "Settings.locales.modal.create.name.label": "Zobrazovaný název jazyka", + "Settings.locales.modal.create.name.error.min": "Zobrazovaný název jazyka může mít maximálně 50 znaků.", + "Settings.locales.modal.create.name.error.required": "Zadejte prosím zobrazovaný název jazyka", + "Settings.locales.modal.delete.confirm": "Ano, smazat", + "Settings.locales.modal.delete.message": "Smazáním tohoto jazyka smažete veškerý související obsah. Pokud si chcete některý obsah ponechat, nezapomeňte ho nejprve přesunout do jiného jazyka.", + "Settings.locales.modal.delete.secondMessage": "Chcete smazat tento jazyk?", + "Settings.locales.modal.delete.success": "Jazyk byl úspěšně smazán", + "Settings.locales.modal.edit.confirmation": "Dokončit", + "Settings.locales.modal.edit.success": "Jazyk byl úspěšně upraven", + "Settings.locales.modal.edit.tab.label": "Navigace mezi základním a pokročilým nastavením I18N", + "Settings.locales.modal.title": "Konfigurace", + "Settings.locales.row.default-locale": "Výchozí jazyk", + "Settings.locales.row.displayName": "Zobrazovaný název", + "Settings.locales.row.id": "ID", + "Settings.permissions.loading": "Načítání oprávnění", + "Settings.permissions.read.denied.description": "Abyste to mohli číst, obraťte se prosím na administrátora vašeho systému.", + "Settings.permissions.read.denied.title": "Nemáte oprávnění k přístupu k tomuto obsahu.", + "actions.select-locale": "Vyberte jazyk", + "components.Select.locales.not-available": "Není dostupný žádný obsah", + "plugin.description.long": "Tento plugin umožňuje vytvářet, číst a aktualizovat obsah v různých jazycích, jak z Admin Panelu, tak z API.", + "plugin.description.short": "Tento plugin umožňuje vytvářet, číst a aktualizovat obsah v různých jazycích, jak z Admin Panelu, tak z API.", + "plugin.name": "Internacionalizace", + "plugin.schema.i18n.localized.description-content-type": "Umožňuje překládat záznam do různých jazyků", + "plugin.schema.i18n.localized.description-field": "Pole může mít v každém jazyce jinou hodnotu", + "plugin.schema.i18n.localized.label-content-type": "Internacionalizace", + "plugin.schema.i18n.localized.label-field": "Povolit lokalizaci pro toto pole" +} diff --git a/packages/plugins/i18n/package.json b/packages/plugins/i18n/package.json index dbe3445497..eefdbeaa78 100644 --- a/packages/plugins/i18n/package.json +++ b/packages/plugins/i18n/package.json @@ -1,6 +1,6 @@ { "name": "@strapi/i18n", - "version": "5.42.1", + "version": "5.43.0", "description": "Create read and update content in different languages, both from the Admin Panel and from the API", "homepage": "https://strapi.io", "bugs": { @@ -63,7 +63,7 @@ "@reduxjs/toolkit": "1.9.7", "@strapi/design-system": "2.2.0", "@strapi/icons": "2.2.0", - "@strapi/utils": "5.42.1", + "@strapi/utils": "5.43.0", "lodash": "4.18.1", "qs": "6.15.0", "react-intl": "6.6.2", @@ -72,11 +72,11 @@ "zod": "3.25.67" }, "devDependencies": { - "@strapi/admin": "5.42.1", - "@strapi/admin-test-utils": "5.42.1", - "@strapi/content-manager": "5.42.1", - "@strapi/database": "5.42.1", - "@strapi/types": "5.42.1", + "@strapi/admin": "5.43.0", + "@strapi/admin-test-utils": "5.43.0", + "@strapi/content-manager": "5.43.0", + "@strapi/database": "5.43.0", + "@strapi/types": "5.43.0", "@testing-library/react": "16.3.0", "@testing-library/user-event": "14.6.1", "koa": "2.16.4", diff --git a/packages/plugins/sentry/admin/src/translations/cs.json b/packages/plugins/sentry/admin/src/translations/cs.json new file mode 100644 index 0000000000..d150988394 --- /dev/null +++ b/packages/plugins/sentry/admin/src/translations/cs.json @@ -0,0 +1,5 @@ +{ + "plugin.description.long": "Odesílejte chybové události Strapi do Sentry.", + "plugin.description.short": "Odesílejte chybové události Strapi do Sentry.", + "plugin.name": "Sentry" +} diff --git a/packages/plugins/sentry/package.json b/packages/plugins/sentry/package.json index 43447db037..02d6f29496 100644 --- a/packages/plugins/sentry/package.json +++ b/packages/plugins/sentry/package.json @@ -1,6 +1,6 @@ { "name": "@strapi/plugin-sentry", - "version": "5.42.1", + "version": "5.43.0", "description": "Send Strapi error events to Sentry", "homepage": "https://strapi.io", "bugs": { @@ -62,7 +62,7 @@ "@strapi/icons": "2.2.0" }, "devDependencies": { - "@strapi/strapi": "5.42.1", + "@strapi/strapi": "5.43.0", "react": "18.3.1", "react-dom": "18.3.1", "react-router-dom": "6.30.3", diff --git a/packages/plugins/users-permissions/admin/src/translations/cs.json b/packages/plugins/users-permissions/admin/src/translations/cs.json index 9edd07bd6d..221c6d3654 100644 --- a/packages/plugins/users-permissions/admin/src/translations/cs.json +++ b/packages/plugins/users-permissions/admin/src/translations/cs.json @@ -12,35 +12,72 @@ "EditForm.inputToggle.label.email-confirmation-redirection": "Adresa pro přesměrování", "EditForm.inputToggle.label.email-reset-password": "Stránka pro obnovení hesla", "EditForm.inputToggle.label.sign-up": "Povolit registrace", + "EditForm.inputToggle.placeholder.email-confirmation-redirection": "ex: https://yourfrontend.com/email-confirmation-redirection", + "EditForm.inputToggle.placeholder.email-reset-password": "ex: https://yourfrontend.com/reset-password", + "EditPage.form.roles": "Detaily role", + "Email.template.data.loaded": "E-mailové šablony byly načteny", + "Email.template.email_confirmation": "Potvrzení e-mailové adresy", + "Email.template.reset_password": "Obnovení hesla", + "Email.template.form.edit.label": "Upravit šablonu", + "Email.template.table.action.label": "akce", + "Email.template.table.icon.label": "ikona", + "Email.template.table.name.label": "název", + "Form.advancedSettings.data.loaded": "Data pokročilých nastavení byla načtena", "HeaderNav.link.advancedSettings": "Pokročilá nastavení", "HeaderNav.link.emailTemplates": "E-mailové šablony", "HeaderNav.link.providers": "Poskytovatelé", - "Plugin.permissions.plugins.description": "Nastavit všechny akce pro zásuvný modul {name}.", + "Plugin.permissions.plugins.description": "Nastavit všechny akce pro plugin {name}.", "Plugins.header.description": "Pouze akce spojené s adresou jsou vypsány níže.", "Plugins.header.title": "Povolení", - "Policies.header.hint": "Vyberte akce aplikace, nebo akce zásuvného modulu a klikněte na ikonku ozubeného kolečka pro zobrazení adresy s nimi spojenou.", + "Policies.header.hint": "Vyberte akce aplikace, nebo akce pluginu a klikněte na ikonku ozubeného kolečka pro zobrazení adresy s nimi spojenou.", "Policies.header.title": "Pokročilá nastavení", "PopUpForm.Email.email_templates.inputDescription": "Pokud si nejste jisti jak používat proměnné, {link}", + "PopUpForm.Email.link.documentation": "podívejte se do naší dokumentace.", "PopUpForm.Email.options.from.email.label": "Odesilatelův e-mail", "PopUpForm.Email.options.from.email.placeholder": "jannovak@gmail.com", "PopUpForm.Email.options.from.name.label": "Jméno odesilatele", "PopUpForm.Email.options.from.name.placeholder": "Jan Novák", "PopUpForm.Email.options.message.label": "Zpráva", "PopUpForm.Email.options.object.label": "Předmět", + "PopUpForm.Email.options.object.placeholder": "Potvrďte prosím svou e-mailovou adresu pro %APP_NAME%", "PopUpForm.Email.options.response_email.label": "Response e-mail", "PopUpForm.Email.options.response_email.placeholder": "jannovak@gmail.com", - "PopUpForm.Providers.enabled.description": "If disabled, users won't be able to use this provider.", + "PopUpForm.Providers.enabled.description": "Pokud je zakázáno, uživatelé nebudou moci tohoto poskytovatele použít.", "PopUpForm.Providers.enabled.label": "Povolit", "PopUpForm.Providers.key.label": "Client ID", "PopUpForm.Providers.key.placeholder": "TEXT", "PopUpForm.Providers.redirectURL.front-end.label": "Adresa pro přesměrování na vaši front-end aplikaci", + "PopUpForm.Providers.redirectURL.label": "Adresa pro přesměrování, kterou je třeba přidat do konfigurace vaší aplikace {provider}", "PopUpForm.Providers.secret.label": "Client Secret", "PopUpForm.Providers.secret.placeholder": "TEXT", "PopUpForm.Providers.subdomain.label": "Host URI (Subdomain)", "PopUpForm.Providers.subdomain.placeholder": "my.subdomain.com", "PopUpForm.header.edit.email-templates": "Upravit e-mailové šablony", + "PopUpForm.header.edit.providers": "Upravit poskytovatele", + "Providers.data.loaded": "Poskytovatelé byli načteni", + "Providers.status": "Stav", + "Roles.empty": "Zatím nemáte žádné role.", + "Roles.empty.search": "Hledání neodpovídají žádné role.", + "Settings.roles.deleted": "Role smazána", + "Settings.roles.edited": "Role upravena", + "Settings.section-label": "Plugin Users & Permissions", + "components.Input.error.validation.email": "Toto není platný e-mail", + "components.Input.error.validation.json": "Toto neodpovídá formátu JSON", + "components.Input.error.validation.max": "Hodnota je příliš vysoká.", + "components.Input.error.validation.maxLength": "Hodnota je příliš dlouhá.", + "components.Input.error.validation.min": "Hodnota je příliš nízká.", + "components.Input.error.validation.minLength": "Hodnota je příliš krátká.", + "components.Input.error.validation.minSupMax": "Nemůže být vyšší", + "components.Input.error.validation.regex": "Hodnota neodpovídá regulárnímu výrazu.", + "components.Input.error.validation.required": "Tato hodnota je povinná.", + "components.Input.error.validation.unique": "Tato hodnota už je použita.", "notification.success.submit": "Nastavení bylo aktualizování", - "plugin.description.long": "Chraňte své API pomocí kompletního autentifikačního procesu, založeného na JWT. Tento zásuvný modul obsahuje ACL strategii, která vám umožní spravovat oprávnění mezi skupinami uživatelů.", + "page.title": "Nastavení - Role", + "plugin.description.long": "Chraňte své API pomocí kompletního autentifikačního procesu, založeného na JWT. Tento plugin obsahuje ACL strategii, která vám umožní spravovat oprávnění mezi skupinami uživatelů.", "plugin.description.short": "Chraňte své API pomocí kompletního autentifikačního procesu, založeného na JWT", - "plugin.name": "Role a oprávnění" + "plugin.name": "Role a oprávnění", + "popUpWarning.button.cancel": "Zrušit", + "popUpWarning.button.confirm": "Potvrdit", + "popUpWarning.title": "Prosím potvrďte", + "popUpWarning.warning.cancel": "Opravdu chcete zrušit své úpravy?" } diff --git a/packages/plugins/users-permissions/package.json b/packages/plugins/users-permissions/package.json index f1cae284c7..be59aa4d4f 100644 --- a/packages/plugins/users-permissions/package.json +++ b/packages/plugins/users-permissions/package.json @@ -1,6 +1,6 @@ { "name": "@strapi/plugin-users-permissions", - "version": "5.42.1", + "version": "5.43.0", "description": "Protect your API with a full-authentication process based on JWT", "homepage": "https://strapi.io", "bugs": { @@ -55,10 +55,10 @@ "dependencies": { "@strapi/design-system": "2.2.0", "@strapi/icons": "2.2.0", - "@strapi/utils": "5.42.1", + "@strapi/utils": "5.43.0", "bcryptjs": "2.4.3", "formik": "2.4.5", - "grant": "^5.4.8", + "grant": "5.4.24", "immer": "9.0.21", "jsonwebtoken": "9.0.0", "jwk-to-pem": "2.0.7", @@ -75,7 +75,7 @@ "zod": "3.25.67" }, "devDependencies": { - "@strapi/strapi": "5.42.1", + "@strapi/strapi": "5.43.0", "@testing-library/dom": "10.4.1", "@testing-library/react": "16.3.0", "@testing-library/user-event": "14.6.1", diff --git a/packages/providers/email-amazon-ses/package.json b/packages/providers/email-amazon-ses/package.json index 52c52f4ace..2788a3805d 100644 --- a/packages/providers/email-amazon-ses/package.json +++ b/packages/providers/email-amazon-ses/package.json @@ -1,6 +1,6 @@ { "name": "@strapi/provider-email-amazon-ses", - "version": "5.42.1", + "version": "5.43.0", "description": "Amazon SES provider for strapi email", "keywords": [ "email", @@ -45,12 +45,12 @@ "watch": "run -T rollup -c -w" }, "dependencies": { - "@strapi/utils": "5.42.1", + "@strapi/utils": "5.43.0", "node-ses": "^3.0.3" }, "devDependencies": { - "eslint-config-custom": "5.42.1", - "tsconfig": "5.42.1" + "eslint-config-custom": "5.43.0", + "tsconfig": "5.43.0" }, "engines": { "node": ">=20.0.0 <=24.x.x", diff --git a/packages/providers/email-mailgun/package.json b/packages/providers/email-mailgun/package.json index 6c147b43aa..9249e29201 100644 --- a/packages/providers/email-mailgun/package.json +++ b/packages/providers/email-mailgun/package.json @@ -1,6 +1,6 @@ { "name": "@strapi/provider-email-mailgun", - "version": "5.42.1", + "version": "5.43.0", "description": "Mailgun provider for strapi email plugin", "keywords": [ "email", @@ -47,13 +47,13 @@ "watch": "run -T rollup -c -w" }, "dependencies": { - "@strapi/utils": "5.42.1", + "@strapi/utils": "5.43.0", "form-data": "4.0.4", "mailgun.js": "10.2.1" }, "devDependencies": { - "eslint-config-custom": "5.42.1", - "tsconfig": "5.42.1" + "eslint-config-custom": "5.43.0", + "tsconfig": "5.43.0" }, "engines": { "node": ">=20.0.0 <=24.x.x", diff --git a/packages/providers/email-nodemailer/package.json b/packages/providers/email-nodemailer/package.json index 281f03be45..2e7b8b5d5d 100644 --- a/packages/providers/email-nodemailer/package.json +++ b/packages/providers/email-nodemailer/package.json @@ -1,6 +1,6 @@ { "name": "@strapi/provider-email-nodemailer", - "version": "5.42.1", + "version": "5.43.0", "description": "Nodemailer provider for Strapi", "keywords": [ "strapi", @@ -76,8 +76,8 @@ }, "devDependencies": { "@types/nodemailer": "7.0.10", - "eslint-config-custom": "5.42.1", - "tsconfig": "5.42.1" + "eslint-config-custom": "5.43.0", + "tsconfig": "5.43.0" }, "engines": { "node": ">=20.0.0 <=24.x.x", diff --git a/packages/providers/email-sendgrid/package.json b/packages/providers/email-sendgrid/package.json index fac1e3c77b..ffdaf87d24 100644 --- a/packages/providers/email-sendgrid/package.json +++ b/packages/providers/email-sendgrid/package.json @@ -1,6 +1,6 @@ { "name": "@strapi/provider-email-sendgrid", - "version": "5.42.1", + "version": "5.43.0", "description": "Sendgrid provider for strapi email", "keywords": [ "email", @@ -46,11 +46,11 @@ }, "dependencies": { "@sendgrid/mail": "8.1.3", - "@strapi/utils": "5.42.1" + "@strapi/utils": "5.43.0" }, "devDependencies": { - "eslint-config-custom": "5.42.1", - "tsconfig": "5.42.1" + "eslint-config-custom": "5.43.0", + "tsconfig": "5.43.0" }, "engines": { "node": ">=20.0.0 <=24.x.x", diff --git a/packages/providers/email-sendmail/package.json b/packages/providers/email-sendmail/package.json index 172d0695c3..3ee85a7107 100644 --- a/packages/providers/email-sendmail/package.json +++ b/packages/providers/email-sendmail/package.json @@ -1,6 +1,6 @@ { "name": "@strapi/provider-email-sendmail", - "version": "5.42.1", + "version": "5.43.0", "description": "Sendmail provider for strapi email", "keywords": [ "email", @@ -44,13 +44,13 @@ "watch": "run -T rollup -c -w" }, "dependencies": { - "@strapi/utils": "5.42.1", + "@strapi/utils": "5.43.0", "sendmail": "^1.6.1" }, "devDependencies": { "@types/sendmail": "1.4.4", - "eslint-config-custom": "5.42.1", - "tsconfig": "5.42.1" + "eslint-config-custom": "5.43.0", + "tsconfig": "5.43.0" }, "engines": { "node": ">=20.0.0 <=24.x.x", diff --git a/packages/providers/upload-aws-s3/package.json b/packages/providers/upload-aws-s3/package.json index b581052a6f..833f7660cc 100644 --- a/packages/providers/upload-aws-s3/package.json +++ b/packages/providers/upload-aws-s3/package.json @@ -1,6 +1,6 @@ { "name": "@strapi/provider-upload-aws-s3", - "version": "5.42.1", + "version": "5.43.0", "description": "AWS S3 provider for strapi upload", "keywords": [ "upload", @@ -56,8 +56,8 @@ }, "devDependencies": { "@types/jest": "29.5.2", - "eslint-config-custom": "5.42.1", - "tsconfig": "5.42.1" + "eslint-config-custom": "5.43.0", + "tsconfig": "5.43.0" }, "engines": { "node": ">=20.0.0 <=24.x.x", diff --git a/packages/providers/upload-cloudinary/package.json b/packages/providers/upload-cloudinary/package.json index 6e52a8693f..04e8ffd4c4 100644 --- a/packages/providers/upload-cloudinary/package.json +++ b/packages/providers/upload-cloudinary/package.json @@ -1,6 +1,6 @@ { "name": "@strapi/provider-upload-cloudinary", - "version": "5.42.1", + "version": "5.43.0", "description": "Cloudinary provider for strapi upload", "keywords": [ "upload", @@ -45,13 +45,13 @@ "watch": "run -T rollup -c -w" }, "dependencies": { - "@strapi/utils": "5.42.1", + "@strapi/utils": "5.43.0", "cloudinary": "^2.7.0", "into-stream": "^5.1.0" }, "devDependencies": { - "eslint-config-custom": "5.42.1", - "tsconfig": "5.42.1" + "eslint-config-custom": "5.43.0", + "tsconfig": "5.43.0" }, "engines": { "node": ">=20.0.0 <=24.x.x", diff --git a/packages/providers/upload-local/package.json b/packages/providers/upload-local/package.json index 6d1bc9cea8..8689340a4b 100644 --- a/packages/providers/upload-local/package.json +++ b/packages/providers/upload-local/package.json @@ -1,6 +1,6 @@ { "name": "@strapi/provider-upload-local", - "version": "5.42.1", + "version": "5.43.0", "description": "Local provider for strapi upload", "keywords": [ "upload", @@ -46,16 +46,16 @@ "watch": "run -T rollup -c -w" }, "dependencies": { - "@strapi/utils": "5.42.1", - "fs-extra": "11.2.0" + "@strapi/utils": "5.43.0", + "fs-extra": "11.3.4" }, "devDependencies": { - "@strapi/types": "5.42.1", + "@strapi/types": "5.43.0", "@types/fs-extra": "11.0.4", "@types/jest": "29.5.2", - "eslint-config-custom": "5.42.1", + "eslint-config-custom": "5.43.0", "memfs": "4.6.0", - "tsconfig": "5.42.1" + "tsconfig": "5.43.0" }, "engines": { "node": ">=20.0.0 <=24.x.x", diff --git a/packages/utils/api-tests/package.json b/packages/utils/api-tests/package.json index 4f71a82f03..1572b8d896 100644 --- a/packages/utils/api-tests/package.json +++ b/packages/utils/api-tests/package.json @@ -1,9 +1,9 @@ { "name": "api-tests", - "version": "5.42.1", + "version": "5.43.0", "private": true, "dependencies": { - "dotenv": "16.4.5", + "dotenv": "16.6.1", "lodash": "4.18.1", "qs": "6.15.0", "supertest": "7.2.2" diff --git a/packages/utils/eslint-config-custom/package.json b/packages/utils/eslint-config-custom/package.json index f0e9f885dd..641dd9e831 100644 --- a/packages/utils/eslint-config-custom/package.json +++ b/packages/utils/eslint-config-custom/package.json @@ -1,6 +1,6 @@ { "name": "eslint-config-custom", - "version": "5.42.1", + "version": "5.43.0", "private": true, "main": "index.js" } diff --git a/packages/utils/logger/package.json b/packages/utils/logger/package.json index 92dc57f3aa..f1e1f31c5f 100644 --- a/packages/utils/logger/package.json +++ b/packages/utils/logger/package.json @@ -1,6 +1,6 @@ { "name": "@strapi/logger", - "version": "5.42.1", + "version": "5.43.0", "description": "Strapi's logger", "homepage": "https://strapi.io", "bugs": { @@ -45,8 +45,8 @@ "winston": "3.10.0" }, "devDependencies": { - "eslint-config-custom": "5.42.1", - "tsconfig": "5.42.1" + "eslint-config-custom": "5.43.0", + "tsconfig": "5.43.0" }, "engines": { "node": ">=20.0.0 <=24.x.x", diff --git a/packages/utils/tsconfig/package.json b/packages/utils/tsconfig/package.json index d7f47584f1..e7d692c9c1 100644 --- a/packages/utils/tsconfig/package.json +++ b/packages/utils/tsconfig/package.json @@ -1,6 +1,6 @@ { "name": "tsconfig", - "version": "5.42.1", + "version": "5.43.0", "private": true, "devDependencies": { "@tsconfig/node20": "20.1.6" diff --git a/packages/utils/typescript/package.json b/packages/utils/typescript/package.json index 1977deb088..1c2a83f2ec 100644 --- a/packages/utils/typescript/package.json +++ b/packages/utils/typescript/package.json @@ -1,6 +1,6 @@ { "name": "@strapi/typescript-utils", - "version": "5.42.1", + "version": "5.43.0", "description": "Typescript support for Strapi", "keywords": [ "strapi", @@ -41,10 +41,10 @@ "dependencies": { "chalk": "4.1.2", "cli-table3": "0.6.5", - "fs-extra": "11.2.0", + "fs-extra": "11.3.4", "lodash": "4.18.1", "prettier": "3.3.3", - "typescript": "5.4.4" + "typescript": "5.4.5" }, "devDependencies": { "@types/fs-extra": "11.0.4" diff --git a/packages/utils/upgrade/package.json b/packages/utils/upgrade/package.json index 8a93d9ab12..a9b8e433fd 100644 --- a/packages/utils/upgrade/package.json +++ b/packages/utils/upgrade/package.json @@ -1,6 +1,6 @@ { "name": "@strapi/upgrade", - "version": "5.42.1", + "version": "5.43.0", "description": "CLI to upgrade Strapi applications effortless", "keywords": [ "strapi", @@ -65,28 +65,28 @@ "watch": "run -T rollup -c -w" }, "dependencies": { - "@strapi/utils": "5.42.1", + "@strapi/utils": "5.43.0", "chalk": "4.1.2", "cli-table3": "0.6.5", "commander": "8.3.0", - "esbuild-register": "3.5.0", + "esbuild-register": "3.6.0", "execa": "5.1.1", "fast-glob": "3.3.2", - "fs-extra": "11.2.0", + "fs-extra": "11.3.4", "jscodeshift": "17.3.0", "lodash": "4.18.1", "memfs": "4.6.0", "ora": "5.4.1", "prompts": "2.4.2", - "semver": "7.5.4", + "semver": "7.7.4", "simple-git": "3.32.3", "undici": "6.25.0" }, "devDependencies": { - "@strapi/types": "5.42.1", + "@strapi/types": "5.43.0", "@types/fs-extra": "11.0.4", "@types/jscodeshift": "17.3.0", - "eslint-config-custom": "5.42.1", + "eslint-config-custom": "5.43.0", "rimraf": "6.1.3" }, "engines": { diff --git a/packages/utils/vitest-config/package.json b/packages/utils/vitest-config/package.json index b72d3d7294..5ea8fc6363 100644 --- a/packages/utils/vitest-config/package.json +++ b/packages/utils/vitest-config/package.json @@ -1,6 +1,6 @@ { "name": "vitest-config", - "version": "5.42.1", + "version": "5.43.0", "private": true, "license": "SEE LICENSE IN LICENSE", "exports": { diff --git a/scripts/front/package.json b/scripts/front/package.json index 8af0c77c60..ec865404c1 100644 --- a/scripts/front/package.json +++ b/scripts/front/package.json @@ -1,6 +1,6 @@ { "name": "scripts-front", - "version": "5.42.1", + "version": "5.43.0", "private": true, "scripts": { "test:front": "jest --config jest.config.front.js" diff --git a/tests/api/core/content-manager/api/relations-available-status.test.api.ts b/tests/api/core/content-manager/api/relations-available-status.test.api.ts new file mode 100644 index 0000000000..5be918f1e6 --- /dev/null +++ b/tests/api/core/content-manager/api/relations-available-status.test.api.ts @@ -0,0 +1,163 @@ +import { createTestBuilder } from 'api-tests/builder'; +import { createStrapiInstance } from 'api-tests/strapi'; +import { createAuthRequest } from 'api-tests/request'; + +/** + * + * When opening a relation-field dropdown in the Content Manager, the same + * target document must not appear twice (once as "Modified" and once as + * "Published"). + */ +const UID_PRODUCT = 'api::product.product'; +const UID_SHOP = 'api::shop.shop'; + +const productModel = { + attributes: { + name: { + type: 'string', + }, + }, + draftAndPublish: true, + displayName: 'Product', + singularName: 'product', + pluralName: 'products', + description: '', + collectionName: '', +}; + +const shopModel = { + attributes: { + name: { + type: 'string', + }, + products_mw: { + type: 'relation', + relation: 'oneToMany', + target: UID_PRODUCT, + }, + }, + draftAndPublish: true, + displayName: 'Shop', + singularName: 'shop', + pluralName: 'shops', + description: '', + collectionName: '', +}; + +describe('CM API - Relations findAvailable status labels', () => { + const builder = createTestBuilder(); + let strapi: any; + let rq: any; + + // Product documentIds for each seeded state + let draftOnlyDocId: string; + let publishedCleanDocId: string; + let modifiedDocId: string; + + let shopDocId: string; + + const createProduct = async (name: string) => { + const res = await rq({ + method: 'POST', + url: `/content-manager/collection-types/${UID_PRODUCT}`, + body: { name }, + }); + + expect(res.statusCode).toBe(201); + return res.body.data; + }; + + const publishProduct = async (documentId: string) => { + const res = await rq({ + method: 'POST', + url: `/content-manager/collection-types/${UID_PRODUCT}/${documentId}/actions/publish`, + }); + + expect(res.statusCode).toBe(200); + return res.body.data; + }; + + const updateProduct = async (documentId: string, name: string) => { + const res = await rq({ + method: 'PUT', + url: `/content-manager/collection-types/${UID_PRODUCT}/${documentId}`, + body: { name }, + }); + + expect(res.statusCode).toBe(200); + return res.body.data; + }; + + const findAvailable = async (id: string, query: Record = {}) => { + const res = await rq({ + method: 'GET', + url: `/content-manager/relations/${UID_SHOP}/products_mw`, + qs: { id, pageSize: 50, ...query }, + }); + + expect(res.statusCode).toBe(200); + return res.body; + }; + + const expectNoDuplicatesAndCorrectBadges = (body: any) => { + const documentIds = body.results.map((r: any) => r.documentId); + const uniqueDocumentIds = Array.from(new Set(documentIds)); + + expect(documentIds).toHaveLength(uniqueDocumentIds.length); + expect(body.pagination.total).toBe(uniqueDocumentIds.length); + + const byDocId = new Map(body.results.map((r: any) => [r.documentId, r])); + expect(byDocId.get(draftOnlyDocId)?.status).toBe('draft'); + expect(byDocId.get(publishedCleanDocId)?.status).toBe('published'); + expect(byDocId.get(modifiedDocId)?.status).toBe('modified'); + }; + + beforeAll(async () => { + await builder.addContentTypes([productModel, shopModel]).build(); + + strapi = await createStrapiInstance(); + rq = await createAuthRequest({ strapi }); + + // draftOnly — never published → effective status "draft" + const draftOnly = await createProduct('draftOnly'); + draftOnlyDocId = draftOnly.documentId; + + // publishedClean — created and published, never touched again → "published" + const publishedClean = await createProduct('publishedClean'); + publishedCleanDocId = publishedClean.documentId; + await publishProduct(publishedCleanDocId); + + // modified — created, published, then updated so the draft row is newer + // than the published row → effective status "modified" + const modified = await createProduct('modified-v1'); + modifiedDocId = modified.documentId; + await publishProduct(modifiedDocId); + // Ensure the draft row's updatedAt strictly exceeds the published row's + await new Promise((resolve) => setTimeout(resolve, 50)); + await updateProduct(modifiedDocId, 'modified-v2'); + + const res = await rq({ + method: 'POST', + url: `/content-manager/collection-types/${UID_SHOP}`, + body: { name: 'MainShop' }, + }); + + expect(res.statusCode).toBe(201); + shopDocId = res.body.data.documentId; + }); + + afterAll(async () => { + await strapi.destroy(); + await builder.cleanup(); + }); + + test('default (no status param) — no duplicates, correct status badges', async () => { + const body = await findAvailable(shopDocId); + expectNoDuplicatesAndCorrectBadges(body); + }); + + test('status=draft — no duplicates, correct status badges', async () => { + const body = await findAvailable(shopDocId, { status: 'draft' }); + expectNoDuplicatesAndCorrectBadges(body); + }); +}); diff --git a/yarn.lock b/yarn.lock index a81e4477aa..9f3fc886bf 100644 --- a/yarn.lock +++ b/yarn.lock @@ -3247,6 +3247,13 @@ __metadata: languageName: node linkType: hard +"@esbuild/aix-ppc64@npm:0.27.7": + version: 0.27.7 + resolution: "@esbuild/aix-ppc64@npm:0.27.7" + conditions: os=aix & cpu=ppc64 + languageName: node + linkType: hard + "@esbuild/android-arm64@npm:0.21.5": version: 0.21.5 resolution: "@esbuild/android-arm64@npm:0.21.5" @@ -3275,6 +3282,13 @@ __metadata: languageName: node linkType: hard +"@esbuild/android-arm64@npm:0.27.7": + version: 0.27.7 + resolution: "@esbuild/android-arm64@npm:0.27.7" + conditions: os=android & cpu=arm64 + languageName: node + linkType: hard + "@esbuild/android-arm@npm:0.21.5": version: 0.21.5 resolution: "@esbuild/android-arm@npm:0.21.5" @@ -3303,6 +3317,13 @@ __metadata: languageName: node linkType: hard +"@esbuild/android-arm@npm:0.27.7": + version: 0.27.7 + resolution: "@esbuild/android-arm@npm:0.27.7" + conditions: os=android & cpu=arm + languageName: node + linkType: hard + "@esbuild/android-x64@npm:0.21.5": version: 0.21.5 resolution: "@esbuild/android-x64@npm:0.21.5" @@ -3331,6 +3352,13 @@ __metadata: languageName: node linkType: hard +"@esbuild/android-x64@npm:0.27.7": + version: 0.27.7 + resolution: "@esbuild/android-x64@npm:0.27.7" + conditions: os=android & cpu=x64 + languageName: node + linkType: hard + "@esbuild/darwin-arm64@npm:0.21.5": version: 0.21.5 resolution: "@esbuild/darwin-arm64@npm:0.21.5" @@ -3359,6 +3387,13 @@ __metadata: languageName: node linkType: hard +"@esbuild/darwin-arm64@npm:0.27.7": + version: 0.27.7 + resolution: "@esbuild/darwin-arm64@npm:0.27.7" + conditions: os=darwin & cpu=arm64 + languageName: node + linkType: hard + "@esbuild/darwin-x64@npm:0.21.5": version: 0.21.5 resolution: "@esbuild/darwin-x64@npm:0.21.5" @@ -3387,6 +3422,13 @@ __metadata: languageName: node linkType: hard +"@esbuild/darwin-x64@npm:0.27.7": + version: 0.27.7 + resolution: "@esbuild/darwin-x64@npm:0.27.7" + conditions: os=darwin & cpu=x64 + languageName: node + linkType: hard + "@esbuild/freebsd-arm64@npm:0.21.5": version: 0.21.5 resolution: "@esbuild/freebsd-arm64@npm:0.21.5" @@ -3415,6 +3457,13 @@ __metadata: languageName: node linkType: hard +"@esbuild/freebsd-arm64@npm:0.27.7": + version: 0.27.7 + resolution: "@esbuild/freebsd-arm64@npm:0.27.7" + conditions: os=freebsd & cpu=arm64 + languageName: node + linkType: hard + "@esbuild/freebsd-x64@npm:0.21.5": version: 0.21.5 resolution: "@esbuild/freebsd-x64@npm:0.21.5" @@ -3443,6 +3492,13 @@ __metadata: languageName: node linkType: hard +"@esbuild/freebsd-x64@npm:0.27.7": + version: 0.27.7 + resolution: "@esbuild/freebsd-x64@npm:0.27.7" + conditions: os=freebsd & cpu=x64 + languageName: node + linkType: hard + "@esbuild/linux-arm64@npm:0.21.5": version: 0.21.5 resolution: "@esbuild/linux-arm64@npm:0.21.5" @@ -3471,6 +3527,13 @@ __metadata: languageName: node linkType: hard +"@esbuild/linux-arm64@npm:0.27.7": + version: 0.27.7 + resolution: "@esbuild/linux-arm64@npm:0.27.7" + conditions: os=linux & cpu=arm64 + languageName: node + linkType: hard + "@esbuild/linux-arm@npm:0.21.5": version: 0.21.5 resolution: "@esbuild/linux-arm@npm:0.21.5" @@ -3499,6 +3562,13 @@ __metadata: languageName: node linkType: hard +"@esbuild/linux-arm@npm:0.27.7": + version: 0.27.7 + resolution: "@esbuild/linux-arm@npm:0.27.7" + conditions: os=linux & cpu=arm + languageName: node + linkType: hard + "@esbuild/linux-ia32@npm:0.21.5": version: 0.21.5 resolution: "@esbuild/linux-ia32@npm:0.21.5" @@ -3527,6 +3597,13 @@ __metadata: languageName: node linkType: hard +"@esbuild/linux-ia32@npm:0.27.7": + version: 0.27.7 + resolution: "@esbuild/linux-ia32@npm:0.27.7" + conditions: os=linux & cpu=ia32 + languageName: node + linkType: hard + "@esbuild/linux-loong64@npm:0.21.5": version: 0.21.5 resolution: "@esbuild/linux-loong64@npm:0.21.5" @@ -3555,6 +3632,13 @@ __metadata: languageName: node linkType: hard +"@esbuild/linux-loong64@npm:0.27.7": + version: 0.27.7 + resolution: "@esbuild/linux-loong64@npm:0.27.7" + conditions: os=linux & cpu=loong64 + languageName: node + linkType: hard + "@esbuild/linux-mips64el@npm:0.21.5": version: 0.21.5 resolution: "@esbuild/linux-mips64el@npm:0.21.5" @@ -3583,6 +3667,13 @@ __metadata: languageName: node linkType: hard +"@esbuild/linux-mips64el@npm:0.27.7": + version: 0.27.7 + resolution: "@esbuild/linux-mips64el@npm:0.27.7" + conditions: os=linux & cpu=mips64el + languageName: node + linkType: hard + "@esbuild/linux-ppc64@npm:0.21.5": version: 0.21.5 resolution: "@esbuild/linux-ppc64@npm:0.21.5" @@ -3611,6 +3702,13 @@ __metadata: languageName: node linkType: hard +"@esbuild/linux-ppc64@npm:0.27.7": + version: 0.27.7 + resolution: "@esbuild/linux-ppc64@npm:0.27.7" + conditions: os=linux & cpu=ppc64 + languageName: node + linkType: hard + "@esbuild/linux-riscv64@npm:0.21.5": version: 0.21.5 resolution: "@esbuild/linux-riscv64@npm:0.21.5" @@ -3639,6 +3737,13 @@ __metadata: languageName: node linkType: hard +"@esbuild/linux-riscv64@npm:0.27.7": + version: 0.27.7 + resolution: "@esbuild/linux-riscv64@npm:0.27.7" + conditions: os=linux & cpu=riscv64 + languageName: node + linkType: hard + "@esbuild/linux-s390x@npm:0.21.5": version: 0.21.5 resolution: "@esbuild/linux-s390x@npm:0.21.5" @@ -3667,6 +3772,13 @@ __metadata: languageName: node linkType: hard +"@esbuild/linux-s390x@npm:0.27.7": + version: 0.27.7 + resolution: "@esbuild/linux-s390x@npm:0.27.7" + conditions: os=linux & cpu=s390x + languageName: node + linkType: hard + "@esbuild/linux-x64@npm:0.21.5": version: 0.21.5 resolution: "@esbuild/linux-x64@npm:0.21.5" @@ -3695,6 +3807,13 @@ __metadata: languageName: node linkType: hard +"@esbuild/linux-x64@npm:0.27.7": + version: 0.27.7 + resolution: "@esbuild/linux-x64@npm:0.27.7" + conditions: os=linux & cpu=x64 + languageName: node + linkType: hard + "@esbuild/netbsd-arm64@npm:0.24.2": version: 0.24.2 resolution: "@esbuild/netbsd-arm64@npm:0.24.2" @@ -3716,6 +3835,13 @@ __metadata: languageName: node linkType: hard +"@esbuild/netbsd-arm64@npm:0.27.7": + version: 0.27.7 + resolution: "@esbuild/netbsd-arm64@npm:0.27.7" + conditions: os=netbsd & cpu=arm64 + languageName: node + linkType: hard + "@esbuild/netbsd-x64@npm:0.21.5": version: 0.21.5 resolution: "@esbuild/netbsd-x64@npm:0.21.5" @@ -3744,6 +3870,13 @@ __metadata: languageName: node linkType: hard +"@esbuild/netbsd-x64@npm:0.27.7": + version: 0.27.7 + resolution: "@esbuild/netbsd-x64@npm:0.27.7" + conditions: os=netbsd & cpu=x64 + languageName: node + linkType: hard + "@esbuild/openbsd-arm64@npm:0.24.2": version: 0.24.2 resolution: "@esbuild/openbsd-arm64@npm:0.24.2" @@ -3765,6 +3898,13 @@ __metadata: languageName: node linkType: hard +"@esbuild/openbsd-arm64@npm:0.27.7": + version: 0.27.7 + resolution: "@esbuild/openbsd-arm64@npm:0.27.7" + conditions: os=openbsd & cpu=arm64 + languageName: node + linkType: hard + "@esbuild/openbsd-x64@npm:0.21.5": version: 0.21.5 resolution: "@esbuild/openbsd-x64@npm:0.21.5" @@ -3793,6 +3933,13 @@ __metadata: languageName: node linkType: hard +"@esbuild/openbsd-x64@npm:0.27.7": + version: 0.27.7 + resolution: "@esbuild/openbsd-x64@npm:0.27.7" + conditions: os=openbsd & cpu=x64 + languageName: node + linkType: hard + "@esbuild/openharmony-arm64@npm:0.25.12": version: 0.25.12 resolution: "@esbuild/openharmony-arm64@npm:0.25.12" @@ -3807,6 +3954,13 @@ __metadata: languageName: node linkType: hard +"@esbuild/openharmony-arm64@npm:0.27.7": + version: 0.27.7 + resolution: "@esbuild/openharmony-arm64@npm:0.27.7" + conditions: os=openharmony & cpu=arm64 + languageName: node + linkType: hard + "@esbuild/sunos-x64@npm:0.21.5": version: 0.21.5 resolution: "@esbuild/sunos-x64@npm:0.21.5" @@ -3835,6 +3989,13 @@ __metadata: languageName: node linkType: hard +"@esbuild/sunos-x64@npm:0.27.7": + version: 0.27.7 + resolution: "@esbuild/sunos-x64@npm:0.27.7" + conditions: os=sunos & cpu=x64 + languageName: node + linkType: hard + "@esbuild/win32-arm64@npm:0.21.5": version: 0.21.5 resolution: "@esbuild/win32-arm64@npm:0.21.5" @@ -3863,6 +4024,13 @@ __metadata: languageName: node linkType: hard +"@esbuild/win32-arm64@npm:0.27.7": + version: 0.27.7 + resolution: "@esbuild/win32-arm64@npm:0.27.7" + conditions: os=win32 & cpu=arm64 + languageName: node + linkType: hard + "@esbuild/win32-ia32@npm:0.21.5": version: 0.21.5 resolution: "@esbuild/win32-ia32@npm:0.21.5" @@ -3891,6 +4059,13 @@ __metadata: languageName: node linkType: hard +"@esbuild/win32-ia32@npm:0.27.7": + version: 0.27.7 + resolution: "@esbuild/win32-ia32@npm:0.27.7" + conditions: os=win32 & cpu=ia32 + languageName: node + linkType: hard + "@esbuild/win32-x64@npm:0.21.5": version: 0.21.5 resolution: "@esbuild/win32-x64@npm:0.21.5" @@ -3919,6 +4094,13 @@ __metadata: languageName: node linkType: hard +"@esbuild/win32-x64@npm:0.27.7": + version: 0.27.7 + resolution: "@esbuild/win32-x64@npm:0.27.7" + conditions: os=win32 & cpu=x64 + languageName: node + linkType: hard + "@eslint-community/eslint-utils@npm:^4.2.0, @eslint-community/eslint-utils@npm:^4.4.0": version: 4.4.0 resolution: "@eslint-community/eslint-utils@npm:4.4.0" @@ -8395,7 +8577,7 @@ __metadata: languageName: node linkType: hard -"@strapi/admin-test-utils@npm:5.42.1, @strapi/admin-test-utils@workspace:*, @strapi/admin-test-utils@workspace:packages/admin-test-utils": +"@strapi/admin-test-utils@npm:5.43.0, @strapi/admin-test-utils@workspace:*, @strapi/admin-test-utils@workspace:packages/admin-test-utils": version: 0.0.0-use.local resolution: "@strapi/admin-test-utils@workspace:packages/admin-test-utils" dependencies: @@ -8403,12 +8585,12 @@ __metadata: "@reduxjs/toolkit": "npm:1.9.7" "@testing-library/jest-dom": "npm:6.4.5" "@testing-library/react": "npm:16.3.0" - eslint-config-custom: "npm:5.42.1" + eslint-config-custom: "npm:5.43.0" jest-environment-jsdom: "npm:29.6.1" jest-styled-components: "npm:7.1.1" react-query: "npm:3.39.3" styled-components: "npm:6.1.8" - tsconfig: "npm:5.42.1" + tsconfig: "npm:5.43.0" whatwg-fetch: "npm:3.6.2" peerDependencies: "@reduxjs/toolkit": ^1.9.7 @@ -8418,7 +8600,7 @@ __metadata: languageName: unknown linkType: soft -"@strapi/admin@npm:5.42.1, @strapi/admin@workspace:packages/core/admin": +"@strapi/admin@npm:5.43.0, @strapi/admin@workspace:packages/core/admin": version: 0.0.0-use.local resolution: "@strapi/admin@workspace:packages/core/admin" dependencies: @@ -8427,14 +8609,14 @@ __metadata: "@radix-ui/react-context": "npm:1.0.1" "@radix-ui/react-toolbar": "npm:1.0.4" "@reduxjs/toolkit": "npm:1.9.7" - "@strapi/admin-test-utils": "npm:5.42.1" - "@strapi/data-transfer": "npm:5.42.1" + "@strapi/admin-test-utils": "npm:5.43.0" + "@strapi/data-transfer": "npm:5.43.0" "@strapi/design-system": "npm:2.2.0" "@strapi/icons": "npm:2.2.0" - "@strapi/permissions": "npm:5.42.1" - "@strapi/types": "npm:5.42.1" - "@strapi/typescript-utils": "npm:5.42.1" - "@strapi/utils": "npm:5.42.1" + "@strapi/permissions": "npm:5.43.0" + "@strapi/types": "npm:5.43.0" + "@strapi/typescript-utils": "npm:5.43.0" + "@strapi/utils": "npm:5.43.0" "@testing-library/dom": "npm:10.4.1" "@testing-library/react": "npm:16.3.0" "@testing-library/user-event": "npm:14.6.1" @@ -8466,7 +8648,7 @@ __metadata: fast-deep-equal: "npm:3.1.3" formik: "npm:2.4.5" fractional-indexing: "npm:3.2.0" - fs-extra: "npm:11.2.0" + fs-extra: "npm:11.3.4" highlight.js: "npm:^10.4.1" immer: "npm:9.0.21" inquirer: "npm:9.3.8" @@ -8503,11 +8685,11 @@ __metadata: rimraf: "npm:6.1.3" sanitize-html: "npm:2.13.0" scheduler: "npm:0.23.0" - semver: "npm:7.5.4" + semver: "npm:7.7.4" sift: "npm:16.0.1" sonner: "npm:2.0.7" styled-components: "npm:6.1.8" - typescript: "npm:5.4.4" + typescript: "npm:5.4.5" use-context-selector: "npm:1.4.1" vite: "npm:5.4.21" vite-plugin-dts: "npm:^4.3.0" @@ -8532,11 +8714,11 @@ __metadata: languageName: node linkType: hard -"@strapi/cloud-cli@npm:5.42.1, @strapi/cloud-cli@workspace:packages/cli/cloud": +"@strapi/cloud-cli@npm:5.43.0, @strapi/cloud-cli@workspace:packages/cli/cloud": version: 0.0.0-use.local resolution: "@strapi/cloud-cli@workspace:packages/cli/cloud" dependencies: - "@strapi/utils": "npm:5.42.1" + "@strapi/utils": "npm:5.43.0" "@types/cli-progress": "npm:3.11.5" "@types/eventsource": "npm:1.1.15" "@types/lodash": "npm:^4.14.191" @@ -8545,10 +8727,10 @@ __metadata: chalk: "npm:4.1.2" cli-progress: "npm:3.12.0" commander: "npm:8.3.0" - eslint-config-custom: "npm:5.42.1" + eslint-config-custom: "npm:5.43.0" eventsource: "npm:2.0.2" fast-safe-stringify: "npm:2.1.1" - fs-extra: "npm:11.2.0" + fs-extra: "npm:11.3.4" inquirer: "npm:9.3.8" jsonwebtoken: "npm:9.0.0" jwks-rsa: "npm:3.1.0" @@ -8558,7 +8740,7 @@ __metadata: ora: "npm:5.4.1" pkg-up: "npm:3.1.0" tar: "npm:7.5.11" - tsconfig: "npm:5.42.1" + tsconfig: "npm:5.43.0" xdg-app-paths: "npm:8.3.0" yup: "npm:0.32.9" bin: @@ -8566,7 +8748,7 @@ __metadata: languageName: unknown linkType: soft -"@strapi/content-manager@npm:5.42.1, @strapi/content-manager@workspace:packages/core/content-manager": +"@strapi/content-manager@npm:5.43.0, @strapi/content-manager@workspace:packages/core/content-manager": version: 0.0.0-use.local resolution: "@strapi/content-manager@workspace:packages/core/content-manager" dependencies: @@ -8576,12 +8758,12 @@ __metadata: "@radix-ui/react-toolbar": "npm:1.0.4" "@reduxjs/toolkit": "npm:1.9.7" "@sindresorhus/slugify": "npm:1.1.0" - "@strapi/admin": "npm:5.42.1" - "@strapi/database": "npm:5.42.1" + "@strapi/admin": "npm:5.43.0" + "@strapi/database": "npm:5.43.0" "@strapi/design-system": "npm:2.2.0" "@strapi/icons": "npm:2.2.0" - "@strapi/types": "npm:5.42.1" - "@strapi/utils": "npm:5.42.1" + "@strapi/types": "npm:5.43.0" + "@strapi/utils": "npm:5.43.0" "@testing-library/react": "npm:16.3.0" "@types/jest": "npm:29.5.2" "@types/lodash": "npm:^4.14.191" @@ -8594,7 +8776,7 @@ __metadata: koa: "npm:2.16.4" koa-body: "npm:6.0.1" lodash: "npm:4.18.1" - markdown-it: "npm:^13.0.2" + markdown-it: "npm:14.1.1" markdown-it-abbr: "npm:^1.0.4" markdown-it-container: "npm:^3.0.0" markdown-it-deflist: "npm:^2.1.0" @@ -8632,19 +8814,19 @@ __metadata: languageName: unknown linkType: soft -"@strapi/content-releases@npm:5.42.1, @strapi/content-releases@workspace:packages/core/content-releases": +"@strapi/content-releases@npm:5.43.0, @strapi/content-releases@workspace:packages/core/content-releases": version: 0.0.0-use.local resolution: "@strapi/content-releases@workspace:packages/core/content-releases" dependencies: "@reduxjs/toolkit": "npm:1.9.7" - "@strapi/admin": "npm:5.42.1" - "@strapi/admin-test-utils": "npm:5.42.1" - "@strapi/content-manager": "npm:5.42.1" - "@strapi/database": "npm:5.42.1" + "@strapi/admin": "npm:5.43.0" + "@strapi/admin-test-utils": "npm:5.43.0" + "@strapi/content-manager": "npm:5.43.0" + "@strapi/database": "npm:5.43.0" "@strapi/design-system": "npm:2.2.0" "@strapi/icons": "npm:2.2.0" - "@strapi/types": "npm:5.42.1" - "@strapi/utils": "npm:5.42.1" + "@strapi/types": "npm:5.43.0" + "@strapi/utils": "npm:5.43.0" "@testing-library/dom": "npm:10.4.1" "@testing-library/react": "npm:16.3.0" "@testing-library/user-event": "npm:14.6.1" @@ -8663,7 +8845,7 @@ __metadata: react-redux: "npm:8.1.3" react-router-dom: "npm:6.30.3" styled-components: "npm:6.1.8" - typescript: "npm:5.4.4" + typescript: "npm:5.4.5" yup: "npm:0.32.9" peerDependencies: "@strapi/admin": ^5.0.0 @@ -8675,7 +8857,7 @@ __metadata: languageName: unknown linkType: soft -"@strapi/content-type-builder@npm:5.42.1, @strapi/content-type-builder@workspace:packages/core/content-type-builder": +"@strapi/content-type-builder@npm:5.43.0, @strapi/content-type-builder@workspace:packages/core/content-type-builder": version: 0.0.0-use.local resolution: "@strapi/content-type-builder@workspace:packages/core/content-type-builder" dependencies: @@ -8686,12 +8868,12 @@ __metadata: "@dnd-kit/utilities": "npm:3.2.2" "@reduxjs/toolkit": "npm:1.9.7" "@sindresorhus/slugify": "npm:1.1.0" - "@strapi/admin": "npm:5.42.1" + "@strapi/admin": "npm:5.43.0" "@strapi/design-system": "npm:2.2.0" - "@strapi/generators": "npm:5.42.1" + "@strapi/generators": "npm:5.43.0" "@strapi/icons": "npm:2.2.0" - "@strapi/types": "npm:5.42.1" - "@strapi/utils": "npm:5.42.1" + "@strapi/types": "npm:5.43.0" + "@strapi/utils": "npm:5.43.0" "@testing-library/dom": "npm:10.4.1" "@testing-library/react": "npm:16.3.0" "@testing-library/user-event": "npm:14.6.1" @@ -8700,7 +8882,7 @@ __metadata: "@types/pluralize": "npm:0.0.32" ai: "npm:5.0.52" date-fns: "npm:2.30.0" - fs-extra: "npm:11.2.0" + fs-extra: "npm:11.3.4" immer: "npm:9.0.21" jszip: "npm:^3.10.1" koa: "npm:2.16.4" @@ -8729,22 +8911,22 @@ __metadata: languageName: unknown linkType: soft -"@strapi/core@npm:5.42.1, @strapi/core@workspace:packages/core/core": +"@strapi/core@npm:5.43.0, @strapi/core@workspace:packages/core/core": version: 0.0.0-use.local resolution: "@strapi/core@workspace:packages/core/core" dependencies: "@koa/cors": "npm:5.0.0" "@koa/router": "npm:12.0.2" "@paralleldrive/cuid2": "npm:2.2.2" - "@strapi/admin": "npm:5.42.1" - "@strapi/database": "npm:5.42.1" - "@strapi/generators": "npm:5.42.1" - "@strapi/logger": "npm:5.42.1" - "@strapi/permissions": "npm:5.42.1" + "@strapi/admin": "npm:5.43.0" + "@strapi/database": "npm:5.43.0" + "@strapi/generators": "npm:5.43.0" + "@strapi/logger": "npm:5.43.0" + "@strapi/permissions": "npm:5.43.0" "@strapi/ts-zen": "npm:^0.2.0" - "@strapi/types": "npm:5.42.1" - "@strapi/typescript-utils": "npm:5.42.1" - "@strapi/utils": "npm:5.42.1" + "@strapi/types": "npm:5.43.0" + "@strapi/typescript-utils": "npm:5.43.0" + "@strapi/utils": "npm:5.43.0" "@swc/core": "npm:1.13.5" "@types/bcryptjs": "npm:2.4.3" "@types/configstore": "npm:5.0.1" @@ -8774,10 +8956,10 @@ __metadata: configstore: "npm:5.0.1" debug: "npm:4.3.4" delegates: "npm:1.0.0" - dotenv: "npm:16.4.5" - eslint-config-custom: "npm:5.42.1" + dotenv: "npm:16.6.1" + eslint-config-custom: "npm:5.43.0" execa: "npm:5.1.1" - fs-extra: "npm:11.2.0" + fs-extra: "npm:11.3.4" glob: "npm:13.0.6" global-agent: "npm:4.1.3" http-errors: "npm:2.0.0" @@ -8803,27 +8985,27 @@ __metadata: pkg-up: "npm:3.1.0" qs: "npm:6.15.0" resolve.exports: "npm:2.0.2" - semver: "npm:7.5.4" + semver: "npm:7.7.4" statuses: "npm:2.0.1" supertest: "npm:7.2.2" - tsconfig: "npm:5.42.1" - typescript: "npm:5.4.4" + tsconfig: "npm:5.43.0" + typescript: "npm:5.4.5" undici: "npm:6.25.0" vitest: "catalog:" - vitest-config: "npm:5.42.1" + vitest-config: "npm:5.43.0" yup: "npm:0.32.9" zod: "npm:3.25.67" languageName: unknown linkType: soft -"@strapi/data-transfer@npm:5.42.1, @strapi/data-transfer@workspace:packages/core/data-transfer": +"@strapi/data-transfer@npm:5.43.0, @strapi/data-transfer@workspace:packages/core/data-transfer": version: 0.0.0-use.local resolution: "@strapi/data-transfer@workspace:packages/core/data-transfer" dependencies: - "@strapi/database": "npm:5.42.1" - "@strapi/logger": "npm:5.42.1" - "@strapi/types": "npm:5.42.1" - "@strapi/utils": "npm:5.42.1" + "@strapi/database": "npm:5.43.0" + "@strapi/logger": "npm:5.43.0" + "@strapi/types": "npm:5.43.0" + "@strapi/utils": "npm:5.43.0" "@types/fs-extra": "npm:11.0.4" "@types/jest": "npm:29.5.2" "@types/koa": "npm:2.13.4" @@ -8837,7 +9019,7 @@ __metadata: chalk: "npm:4.1.2" cli-table3: "npm:0.6.5" commander: "npm:8.3.0" - fs-extra: "npm:11.2.0" + fs-extra: "npm:11.3.4" inquirer: "npm:9.3.8" knex: "npm:3.0.1" koa: "npm:2.16.4" @@ -8845,32 +9027,32 @@ __metadata: ora: "npm:5.4.1" resolve-cwd: "npm:3.0.0" rimraf: "npm:6.1.3" - semver: "npm:7.5.4" + semver: "npm:7.7.4" stream-chain: "npm:2.2.5" stream-json: "npm:1.8.0" tar: "npm:7.5.11" tar-stream: "npm:2.2.0" - typescript: "npm:5.4.4" + typescript: "npm:5.4.5" ws: "npm:8.17.1" languageName: unknown linkType: soft -"@strapi/database@npm:5.42.1, @strapi/database@workspace:packages/core/database": +"@strapi/database@npm:5.43.0, @strapi/database@workspace:packages/core/database": version: 0.0.0-use.local resolution: "@strapi/database@workspace:packages/core/database" dependencies: "@paralleldrive/cuid2": "npm:2.2.2" - "@strapi/utils": "npm:5.42.1" + "@strapi/utils": "npm:5.43.0" "@types/fs-extra": "npm:11.0.4" ajv: "npm:8.18.0" date-fns: "npm:2.30.0" debug: "npm:4.3.4" - eslint-config-custom: "npm:5.42.1" - fs-extra: "npm:11.2.0" + eslint-config-custom: "npm:5.43.0" + fs-extra: "npm:11.3.4" knex: "npm:3.0.1" lodash: "npm:4.18.1" - semver: "npm:7.5.4" - tsconfig: "npm:5.42.1" + semver: "npm:7.7.4" + tsconfig: "npm:5.43.0" umzug: "npm:3.8.1" languageName: unknown linkType: soft @@ -8913,16 +9095,16 @@ __metadata: languageName: node linkType: hard -"@strapi/email@npm:5.42.1, @strapi/email@workspace:packages/core/email": +"@strapi/email@npm:5.43.0, @strapi/email@workspace:packages/core/email": version: 0.0.0-use.local resolution: "@strapi/email@workspace:packages/core/email" dependencies: - "@strapi/admin": "npm:5.42.1" + "@strapi/admin": "npm:5.43.0" "@strapi/design-system": "npm:2.2.0" "@strapi/icons": "npm:2.2.0" - "@strapi/provider-email-sendmail": "npm:5.42.1" - "@strapi/types": "npm:5.42.1" - "@strapi/utils": "npm:5.42.1" + "@strapi/provider-email-sendmail": "npm:5.43.0" + "@strapi/types": "npm:5.43.0" + "@strapi/utils": "npm:5.43.0" "@testing-library/react": "npm:16.3.0" "@types/koa": "npm:2.13.4" "@types/lodash": "npm:^4.14.191" @@ -8980,42 +9162,42 @@ __metadata: languageName: node linkType: hard -"@strapi/generators@npm:5.42.1, @strapi/generators@workspace:packages/generators/generators": +"@strapi/generators@npm:5.43.0, @strapi/generators@workspace:packages/generators/generators": version: 0.0.0-use.local resolution: "@strapi/generators@workspace:packages/generators/generators" dependencies: "@sindresorhus/slugify": "npm:1.1.0" - "@strapi/typescript-utils": "npm:5.42.1" - "@strapi/utils": "npm:5.42.1" + "@strapi/typescript-utils": "npm:5.43.0" + "@strapi/utils": "npm:5.43.0" "@types/fs-extra": "npm:11.0.4" "@types/jscodeshift": "npm:17.3.0" chalk: "npm:4.1.2" copyfiles: "npm:2.4.1" - eslint-config-custom: "npm:5.42.1" - fs-extra: "npm:11.2.0" + eslint-config-custom: "npm:5.43.0" + fs-extra: "npm:11.3.4" handlebars: "npm:4.7.9" jscodeshift: "npm:17.3.0" lodash: "npm:4.18.1" outdent: "npm:^0.8.0" plop: "npm:4.0.5" pluralize: "npm:8.0.0" - tsconfig: "npm:5.42.1" + tsconfig: "npm:5.43.0" languageName: unknown linkType: soft -"@strapi/i18n@npm:5.42.1, @strapi/i18n@workspace:packages/plugins/i18n": +"@strapi/i18n@npm:5.43.0, @strapi/i18n@workspace:packages/plugins/i18n": version: 0.0.0-use.local resolution: "@strapi/i18n@workspace:packages/plugins/i18n" dependencies: "@reduxjs/toolkit": "npm:1.9.7" - "@strapi/admin": "npm:5.42.1" - "@strapi/admin-test-utils": "npm:5.42.1" - "@strapi/content-manager": "npm:5.42.1" - "@strapi/database": "npm:5.42.1" + "@strapi/admin": "npm:5.43.0" + "@strapi/admin-test-utils": "npm:5.43.0" + "@strapi/content-manager": "npm:5.43.0" + "@strapi/database": "npm:5.43.0" "@strapi/design-system": "npm:2.2.0" "@strapi/icons": "npm:2.2.0" - "@strapi/types": "npm:5.42.1" - "@strapi/utils": "npm:5.42.1" + "@strapi/types": "npm:5.43.0" + "@strapi/utils": "npm:5.43.0" "@testing-library/react": "npm:16.3.0" "@testing-library/user-event": "npm:14.6.1" koa: "npm:2.16.4" @@ -9052,22 +9234,22 @@ __metadata: languageName: node linkType: hard -"@strapi/logger@npm:5.42.1, @strapi/logger@workspace:packages/utils/logger": +"@strapi/logger@npm:5.43.0, @strapi/logger@workspace:packages/utils/logger": version: 0.0.0-use.local resolution: "@strapi/logger@workspace:packages/utils/logger" dependencies: - eslint-config-custom: "npm:5.42.1" + eslint-config-custom: "npm:5.43.0" lodash: "npm:4.18.1" - tsconfig: "npm:5.42.1" + tsconfig: "npm:5.43.0" winston: "npm:3.10.0" languageName: unknown linkType: soft -"@strapi/openapi@npm:5.42.1, @strapi/openapi@workspace:packages/core/openapi": +"@strapi/openapi@npm:5.43.0, @strapi/openapi@workspace:packages/core/openapi": version: 0.0.0-use.local resolution: "@strapi/openapi@workspace:packages/core/openapi" dependencies: - "@strapi/types": "npm:5.42.1" + "@strapi/types": "npm:5.43.0" "@types/debug": "npm:^4" debug: "npm:4.3.4" openapi-types: "npm:12.1.3" @@ -9075,17 +9257,17 @@ __metadata: languageName: unknown linkType: soft -"@strapi/permissions@npm:5.42.1, @strapi/permissions@workspace:packages/core/permissions": +"@strapi/permissions@npm:5.43.0, @strapi/permissions@workspace:packages/core/permissions": version: 0.0.0-use.local resolution: "@strapi/permissions@workspace:packages/core/permissions" dependencies: "@casl/ability": "npm:6.7.5" - "@strapi/utils": "npm:5.42.1" - eslint-config-custom: "npm:5.42.1" + "@strapi/utils": "npm:5.43.0" + eslint-config-custom: "npm:5.43.0" lodash: "npm:4.18.1" qs: "npm:6.15.0" sift: "npm:16.0.1" - tsconfig: "npm:5.42.1" + tsconfig: "npm:5.43.0" languageName: unknown linkType: soft @@ -9093,18 +9275,18 @@ __metadata: version: 0.0.0-use.local resolution: "@strapi/plugin-cloud@workspace:packages/plugins/cloud" dependencies: - "@strapi/admin": "npm:5.42.1" + "@strapi/admin": "npm:5.43.0" "@strapi/design-system": "npm:2.2.0" "@strapi/icons": "npm:2.2.0" - "@strapi/strapi": "npm:5.42.1" - eslint-config-custom: "npm:5.42.1" + "@strapi/strapi": "npm:5.43.0" + eslint-config-custom: "npm:5.43.0" react: "npm:18.3.1" react-dom: "npm:18.3.1" react-intl: "npm:6.6.2" react-router-dom: "npm:6.30.3" styled-components: "npm:6.1.8" - tsconfig: "npm:5.42.1" - typescript: "npm:5.4.4" + tsconfig: "npm:5.43.0" + typescript: "npm:5.4.5" peerDependencies: "@strapi/admin": ^5.0.0 "@strapi/strapi": ^5.0.0 @@ -9121,7 +9303,7 @@ __metadata: dependencies: "@strapi/design-system": "npm:2.2.0" "@strapi/icons": "npm:2.2.0" - "@strapi/strapi": "npm:5.42.1" + "@strapi/strapi": "npm:5.43.0" "@testing-library/react": "npm:16.3.0" "@testing-library/user-event": "npm:14.6.1" react: "npm:18.3.1" @@ -9130,7 +9312,7 @@ __metadata: react-intl: "npm:6.6.2" react-router-dom: "npm:6.30.3" styled-components: "npm:6.1.8" - typescript: "npm:5.4.4" + typescript: "npm:5.4.5" peerDependencies: "@strapi/strapi": ^5.0.0 react: ^17.0.0 || ^18.0.0 @@ -9146,13 +9328,13 @@ __metadata: dependencies: "@apidevtools/swagger-parser": "npm:^10.1.0" "@reduxjs/toolkit": "npm:1.9.7" - "@strapi/admin": "npm:5.42.1" - "@strapi/admin-test-utils": "npm:5.42.1" + "@strapi/admin": "npm:5.43.0" + "@strapi/admin-test-utils": "npm:5.43.0" "@strapi/design-system": "npm:2.2.0" "@strapi/icons": "npm:2.2.0" - "@strapi/strapi": "npm:5.42.1" - "@strapi/types": "npm:5.42.1" - "@strapi/utils": "npm:5.42.1" + "@strapi/strapi": "npm:5.43.0" + "@strapi/types": "npm:5.43.0" + "@strapi/utils": "npm:5.43.0" "@testing-library/react": "npm:16.3.0" "@testing-library/user-event": "npm:14.6.1" "@types/fs-extra": "npm:11.0.4" @@ -9162,7 +9344,7 @@ __metadata: bcryptjs: "npm:2.4.3" cheerio: "npm:^1.0.0" formik: "npm:2.4.5" - fs-extra: "npm:11.2.0" + fs-extra: "npm:11.3.4" immer: "npm:9.0.21" koa: "npm:2.16.4" koa-body: "npm:6.0.1" @@ -9200,14 +9382,14 @@ __metadata: "@koa/cors": "npm:5.0.0" "@strapi/design-system": "npm:2.2.0" "@strapi/icons": "npm:2.2.0" - "@strapi/strapi": "npm:5.42.1" - "@strapi/types": "npm:5.42.1" - "@strapi/utils": "npm:5.42.1" + "@strapi/strapi": "npm:5.43.0" + "@strapi/types": "npm:5.43.0" + "@strapi/utils": "npm:5.43.0" "@types/graphql-depth-limit": "npm:1.1.5" "@types/koa-bodyparser": "npm:4.3.12" "@types/koa__cors": "npm:5.0.0" cross-env: "npm:^7.0.3" - eslint-config-custom: "npm:5.42.1" + eslint-config-custom: "npm:5.43.0" graphql: "npm:^16.8.1" graphql-depth-limit: "npm:^1.1.0" graphql-playground-middleware-koa: "npm:^1.6.21" @@ -9222,8 +9404,8 @@ __metadata: react-dom: "npm:18.3.1" react-router-dom: "npm:6.30.3" styled-components: "npm:6.1.8" - tsconfig: "npm:5.42.1" - typescript: "npm:5.4.4" + tsconfig: "npm:5.43.0" + typescript: "npm:5.4.5" peerDependencies: "@strapi/strapi": ^5.0.0 react: ^17.0.0 || ^18.0.0 @@ -9240,7 +9422,7 @@ __metadata: "@sentry/node": "npm:7.112.2" "@strapi/design-system": "npm:2.2.0" "@strapi/icons": "npm:2.2.0" - "@strapi/strapi": "npm:5.42.1" + "@strapi/strapi": "npm:5.43.0" react: "npm:18.3.1" react-dom: "npm:18.3.1" react-router-dom: "npm:6.30.3" @@ -9260,14 +9442,14 @@ __metadata: dependencies: "@strapi/design-system": "npm:2.2.0" "@strapi/icons": "npm:2.2.0" - "@strapi/strapi": "npm:5.42.1" - "@strapi/utils": "npm:5.42.1" + "@strapi/strapi": "npm:5.43.0" + "@strapi/utils": "npm:5.43.0" "@testing-library/dom": "npm:10.4.1" "@testing-library/react": "npm:16.3.0" "@testing-library/user-event": "npm:14.6.1" bcryptjs: "npm:2.4.3" formik: "npm:2.4.5" - grant: "npm:^5.4.8" + grant: "npm:5.4.24" immer: "npm:9.0.21" jsonwebtoken: "npm:9.0.0" jwk-to-pem: "npm:2.0.7" @@ -9300,10 +9482,10 @@ __metadata: version: 0.0.0-use.local resolution: "@strapi/provider-email-amazon-ses@workspace:packages/providers/email-amazon-ses" dependencies: - "@strapi/utils": "npm:5.42.1" - eslint-config-custom: "npm:5.42.1" + "@strapi/utils": "npm:5.43.0" + eslint-config-custom: "npm:5.43.0" node-ses: "npm:^3.0.3" - tsconfig: "npm:5.42.1" + tsconfig: "npm:5.43.0" languageName: unknown linkType: soft @@ -9311,11 +9493,11 @@ __metadata: version: 0.0.0-use.local resolution: "@strapi/provider-email-mailgun@workspace:packages/providers/email-mailgun" dependencies: - "@strapi/utils": "npm:5.42.1" - eslint-config-custom: "npm:5.42.1" + "@strapi/utils": "npm:5.43.0" + eslint-config-custom: "npm:5.43.0" form-data: "npm:4.0.4" mailgun.js: "npm:10.2.1" - tsconfig: "npm:5.42.1" + tsconfig: "npm:5.43.0" languageName: unknown linkType: soft @@ -9324,9 +9506,9 @@ __metadata: resolution: "@strapi/provider-email-nodemailer@workspace:packages/providers/email-nodemailer" dependencies: "@types/nodemailer": "npm:7.0.10" - eslint-config-custom: "npm:5.42.1" + eslint-config-custom: "npm:5.43.0" nodemailer: "npm:8.0.5" - tsconfig: "npm:5.42.1" + tsconfig: "npm:5.43.0" languageName: unknown linkType: soft @@ -9335,21 +9517,21 @@ __metadata: resolution: "@strapi/provider-email-sendgrid@workspace:packages/providers/email-sendgrid" dependencies: "@sendgrid/mail": "npm:8.1.3" - "@strapi/utils": "npm:5.42.1" - eslint-config-custom: "npm:5.42.1" - tsconfig: "npm:5.42.1" + "@strapi/utils": "npm:5.43.0" + eslint-config-custom: "npm:5.43.0" + tsconfig: "npm:5.43.0" languageName: unknown linkType: soft -"@strapi/provider-email-sendmail@npm:5.42.1, @strapi/provider-email-sendmail@workspace:packages/providers/email-sendmail": +"@strapi/provider-email-sendmail@npm:5.43.0, @strapi/provider-email-sendmail@workspace:packages/providers/email-sendmail": version: 0.0.0-use.local resolution: "@strapi/provider-email-sendmail@workspace:packages/providers/email-sendmail" dependencies: - "@strapi/utils": "npm:5.42.1" + "@strapi/utils": "npm:5.43.0" "@types/sendmail": "npm:1.4.4" - eslint-config-custom: "npm:5.42.1" + eslint-config-custom: "npm:5.43.0" sendmail: "npm:^1.6.1" - tsconfig: "npm:5.42.1" + tsconfig: "npm:5.43.0" languageName: unknown linkType: soft @@ -9362,9 +9544,9 @@ __metadata: "@aws-sdk/s3-request-presigner": "npm:3.1023.0" "@aws-sdk/types": "npm:3.973.6" "@types/jest": "npm:29.5.2" - eslint-config-custom: "npm:5.42.1" + eslint-config-custom: "npm:5.43.0" lodash: "npm:4.18.1" - tsconfig: "npm:5.42.1" + tsconfig: "npm:5.43.0" languageName: unknown linkType: soft @@ -9372,40 +9554,40 @@ __metadata: version: 0.0.0-use.local resolution: "@strapi/provider-upload-cloudinary@workspace:packages/providers/upload-cloudinary" dependencies: - "@strapi/utils": "npm:5.42.1" + "@strapi/utils": "npm:5.43.0" cloudinary: "npm:^2.7.0" - eslint-config-custom: "npm:5.42.1" + eslint-config-custom: "npm:5.43.0" into-stream: "npm:^5.1.0" - tsconfig: "npm:5.42.1" + tsconfig: "npm:5.43.0" languageName: unknown linkType: soft -"@strapi/provider-upload-local@npm:5.42.1, @strapi/provider-upload-local@workspace:packages/providers/upload-local": +"@strapi/provider-upload-local@npm:5.43.0, @strapi/provider-upload-local@workspace:packages/providers/upload-local": version: 0.0.0-use.local resolution: "@strapi/provider-upload-local@workspace:packages/providers/upload-local" dependencies: - "@strapi/types": "npm:5.42.1" - "@strapi/utils": "npm:5.42.1" + "@strapi/types": "npm:5.43.0" + "@strapi/utils": "npm:5.43.0" "@types/fs-extra": "npm:11.0.4" "@types/jest": "npm:29.5.2" - eslint-config-custom: "npm:5.42.1" - fs-extra: "npm:11.2.0" + eslint-config-custom: "npm:5.43.0" + fs-extra: "npm:11.3.4" memfs: "npm:4.6.0" - tsconfig: "npm:5.42.1" + tsconfig: "npm:5.43.0" languageName: unknown linkType: soft -"@strapi/review-workflows@npm:5.42.1, @strapi/review-workflows@workspace:packages/core/review-workflows": +"@strapi/review-workflows@npm:5.43.0, @strapi/review-workflows@workspace:packages/core/review-workflows": version: 0.0.0-use.local resolution: "@strapi/review-workflows@workspace:packages/core/review-workflows" dependencies: "@reduxjs/toolkit": "npm:1.9.7" - "@strapi/admin": "npm:5.42.1" - "@strapi/content-manager": "npm:5.42.1" + "@strapi/admin": "npm:5.43.0" + "@strapi/content-manager": "npm:5.43.0" "@strapi/design-system": "npm:2.2.0" "@strapi/icons": "npm:2.2.0" - "@strapi/types": "npm:5.42.1" - "@strapi/utils": "npm:5.42.1" + "@strapi/types": "npm:5.43.0" + "@strapi/utils": "npm:5.43.0" "@testing-library/react": "npm:16.3.0" fractional-indexing: "npm:3.2.0" msw: "npm:1.3.0" @@ -9459,31 +9641,31 @@ __metadata: languageName: node linkType: hard -"@strapi/strapi@npm:5.42.1, @strapi/strapi@workspace:*, @strapi/strapi@workspace:packages/core/strapi": +"@strapi/strapi@npm:5.43.0, @strapi/strapi@workspace:*, @strapi/strapi@workspace:packages/core/strapi": version: 0.0.0-use.local resolution: "@strapi/strapi@workspace:packages/core/strapi" dependencies: "@pmmmwh/react-refresh-webpack-plugin": "npm:0.5.15" - "@strapi/admin": "npm:5.42.1" - "@strapi/cloud-cli": "npm:5.42.1" - "@strapi/content-manager": "npm:5.42.1" - "@strapi/content-releases": "npm:5.42.1" - "@strapi/content-type-builder": "npm:5.42.1" - "@strapi/core": "npm:5.42.1" - "@strapi/data-transfer": "npm:5.42.1" - "@strapi/database": "npm:5.42.1" - "@strapi/email": "npm:5.42.1" - "@strapi/generators": "npm:5.42.1" - "@strapi/i18n": "npm:5.42.1" - "@strapi/logger": "npm:5.42.1" - "@strapi/openapi": "npm:5.42.1" - "@strapi/permissions": "npm:5.42.1" - "@strapi/review-workflows": "npm:5.42.1" + "@strapi/admin": "npm:5.43.0" + "@strapi/cloud-cli": "npm:5.43.0" + "@strapi/content-manager": "npm:5.43.0" + "@strapi/content-releases": "npm:5.43.0" + "@strapi/content-type-builder": "npm:5.43.0" + "@strapi/core": "npm:5.43.0" + "@strapi/data-transfer": "npm:5.43.0" + "@strapi/database": "npm:5.43.0" + "@strapi/email": "npm:5.43.0" + "@strapi/generators": "npm:5.43.0" + "@strapi/i18n": "npm:5.43.0" + "@strapi/logger": "npm:5.43.0" + "@strapi/openapi": "npm:5.43.0" + "@strapi/permissions": "npm:5.43.0" + "@strapi/review-workflows": "npm:5.43.0" "@strapi/ts-zen": "npm:^0.2.0" - "@strapi/types": "npm:5.42.1" - "@strapi/typescript-utils": "npm:5.42.1" - "@strapi/upload": "npm:5.42.1" - "@strapi/utils": "npm:5.42.1" + "@strapi/types": "npm:5.43.0" + "@strapi/typescript-utils": "npm:5.43.0" + "@strapi/upload": "npm:5.43.0" + "@strapi/utils": "npm:5.43.0" "@types/fs-extra": "npm:11.0.4" "@types/inquirer": "npm:9.0.9" "@types/jest": "npm:29.5.2" @@ -9504,13 +9686,13 @@ __metadata: commander: "npm:8.3.0" concurrently: "npm:8.2.2" css-loader: "npm:^6.10.0" - dotenv: "npm:16.4.5" - esbuild-loader: "npm:4.3.0" - esbuild-register: "npm:3.5.0" - eslint-config-custom: "npm:5.42.1" + dotenv: "npm:16.6.1" + esbuild-loader: "npm:4.4.3" + esbuild-register: "npm:3.6.0" + eslint-config-custom: "npm:5.43.0" execa: "npm:5.1.1" fork-ts-checker-webpack-plugin: "npm:8.0.0" - fs-extra: "npm:11.2.0" + fs-extra: "npm:11.3.4" get-latest-version: "npm:5.1.0" git-url-parse: "npm:14.0.0" html-webpack-plugin: "npm:5.6.0" @@ -9528,10 +9710,10 @@ __metadata: react-refresh: "npm:0.14.0" read-pkg-up: "npm:7.0.1" resolve-from: "npm:5.0.0" - semver: "npm:7.5.4" + semver: "npm:7.7.4" style-loader: "npm:3.3.4" - tsconfig: "npm:5.42.1" - typescript: "npm:5.4.4" + tsconfig: "npm:5.43.0" + typescript: "npm:5.4.5" vite: "npm:5.4.21" webpack: "npm:^5.90.3" webpack-bundle-analyzer: "npm:^4.10.1" @@ -9559,51 +9741,51 @@ __metadata: languageName: node linkType: hard -"@strapi/types@npm:5.42.1, @strapi/types@workspace:packages/core/types": +"@strapi/types@npm:5.43.0, @strapi/types@workspace:packages/core/types": version: 0.0.0-use.local resolution: "@strapi/types@workspace:packages/core/types" dependencies: "@casl/ability": "npm:6.7.5" "@koa/cors": "npm:5.0.0" "@koa/router": "npm:12.0.2" - "@strapi/database": "npm:5.42.1" - "@strapi/logger": "npm:5.42.1" - "@strapi/permissions": "npm:5.42.1" + "@strapi/database": "npm:5.43.0" + "@strapi/logger": "npm:5.43.0" + "@strapi/permissions": "npm:5.43.0" "@strapi/ts-zen": "npm:^0.2.0" - "@strapi/utils": "npm:5.42.1" + "@strapi/utils": "npm:5.43.0" "@types/jest": "npm:29.5.2" "@types/json-logic-js": "npm:2.0.8" "@types/koa": "npm:2.13.4" "@types/koa__router": "npm:12.0.0" "@types/node-schedule": "npm:2.1.7" commander: "npm:8.3.0" - eslint-config-custom: "npm:5.42.1" + eslint-config-custom: "npm:5.43.0" json-logic-js: "npm:2.0.5" koa: "npm:2.16.4" koa-body: "npm:6.0.1" lodash: "npm:4.18.1" node-schedule: "npm:2.1.1" - tsconfig: "npm:5.42.1" + tsconfig: "npm:5.43.0" typedoc: "npm:0.25.10" typedoc-github-wiki-theme: "npm:1.1.0" typedoc-plugin-markdown: "npm:3.17.1" - typescript: "npm:5.4.4" + typescript: "npm:5.4.5" undici: "npm:6.25.0" zod: "npm:3.25.67" languageName: unknown linkType: soft -"@strapi/typescript-utils@npm:5.42.1, @strapi/typescript-utils@workspace:packages/utils/typescript": +"@strapi/typescript-utils@npm:5.43.0, @strapi/typescript-utils@workspace:packages/utils/typescript": version: 0.0.0-use.local resolution: "@strapi/typescript-utils@workspace:packages/utils/typescript" dependencies: "@types/fs-extra": "npm:11.0.4" chalk: "npm:4.1.2" cli-table3: "npm:0.6.5" - fs-extra: "npm:11.2.0" + fs-extra: "npm:11.3.4" lodash: "npm:4.18.1" prettier: "npm:3.3.3" - typescript: "npm:5.4.4" + typescript: "npm:5.4.5" languageName: unknown linkType: soft @@ -9643,25 +9825,25 @@ __metadata: version: 0.0.0-use.local resolution: "@strapi/upgrade@workspace:packages/utils/upgrade" dependencies: - "@strapi/types": "npm:5.42.1" - "@strapi/utils": "npm:5.42.1" + "@strapi/types": "npm:5.43.0" + "@strapi/utils": "npm:5.43.0" "@types/fs-extra": "npm:11.0.4" "@types/jscodeshift": "npm:17.3.0" chalk: "npm:4.1.2" cli-table3: "npm:0.6.5" commander: "npm:8.3.0" - esbuild-register: "npm:3.5.0" - eslint-config-custom: "npm:5.42.1" + esbuild-register: "npm:3.6.0" + eslint-config-custom: "npm:5.43.0" execa: "npm:5.1.1" fast-glob: "npm:3.3.2" - fs-extra: "npm:11.2.0" + fs-extra: "npm:11.3.4" jscodeshift: "npm:17.3.0" lodash: "npm:4.18.1" memfs: "npm:4.6.0" ora: "npm:5.4.1" prompts: "npm:2.4.2" rimraf: "npm:6.1.3" - semver: "npm:7.5.4" + semver: "npm:7.7.4" simple-git: "npm:3.32.3" undici: "npm:6.25.0" bin: @@ -9669,7 +9851,7 @@ __metadata: languageName: unknown linkType: soft -"@strapi/upload@npm:5.42.1, @strapi/upload@workspace:packages/core/upload": +"@strapi/upload@npm:5.43.0, @strapi/upload@workspace:packages/core/upload": version: 0.0.0-use.local resolution: "@strapi/upload@workspace:packages/core/upload" dependencies: @@ -9677,13 +9859,13 @@ __metadata: "@radix-ui/react-dialog": "npm:1.0.5" "@radix-ui/react-toggle-group": "npm:1.1.11" "@reduxjs/toolkit": "npm:1.9.7" - "@strapi/admin": "npm:5.42.1" - "@strapi/database": "npm:5.42.1" + "@strapi/admin": "npm:5.43.0" + "@strapi/database": "npm:5.43.0" "@strapi/design-system": "npm:2.2.0" "@strapi/icons": "npm:2.2.0" - "@strapi/provider-upload-local": "npm:5.42.1" - "@strapi/types": "npm:5.42.1" - "@strapi/utils": "npm:5.42.1" + "@strapi/provider-upload-local": "npm:5.43.0" + "@strapi/types": "npm:5.43.0" + "@strapi/utils": "npm:5.43.0" "@testing-library/dom": "npm:10.4.1" "@testing-library/react": "npm:16.3.0" "@testing-library/user-event": "npm:14.6.1" @@ -9698,7 +9880,7 @@ __metadata: file-type: "npm:21.3.4" formidable: "npm:3.5.4" formik: "npm:2.4.5" - fs-extra: "npm:11.2.0" + fs-extra: "npm:11.3.4" immer: "npm:9.0.21" koa: "npm:2.16.4" koa-body: "npm:6.0.1" @@ -9730,7 +9912,7 @@ __metadata: languageName: unknown linkType: soft -"@strapi/utils@npm:5.42.1, @strapi/utils@workspace:packages/core/utils": +"@strapi/utils@npm:5.43.0, @strapi/utils@workspace:packages/core/utils": version: 0.0.0-use.local resolution: "@strapi/utils@workspace:packages/core/utils" dependencies: @@ -9739,7 +9921,7 @@ __metadata: "@types/koa": "npm:2.13.4" "@types/node": "npm:24.10.0" date-fns: "npm:2.30.0" - eslint-config-custom: "npm:5.42.1" + eslint-config-custom: "npm:5.43.0" execa: "npm:5.1.1" http-errors: "npm:2.0.0" koa: "npm:2.16.4" @@ -9748,7 +9930,7 @@ __metadata: node-machine-id: "npm:1.1.12" p-map: "npm:4.0.0" preferred-pm: "npm:3.1.3" - tsconfig: "npm:5.42.1" + tsconfig: "npm:5.43.0" yup: "npm:0.32.9" zod: "npm:3.25.67" languageName: unknown @@ -12767,7 +12949,7 @@ __metadata: version: 0.0.0-use.local resolution: "api-tests@workspace:packages/utils/api-tests" dependencies: - dotenv: "npm:16.4.5" + dotenv: "npm:16.6.1" lodash: "npm:4.18.1" qs: "npm:6.15.0" supertest: "npm:7.2.2" @@ -14725,7 +14907,7 @@ __metadata: languageName: node linkType: hard -"cookie-signature@npm:^1.2.1, cookie-signature@npm:^1.2.2": +"cookie-signature@npm:^1.2.2": version: 1.2.2 resolution: "cookie-signature@npm:1.2.2" checksum: 10c0/54e05df1a293b3ce81589b27dddc445f462f6fa6812147c033350cd3561a42bc14481674e05ed14c7bd0ce1e8bb3dc0e40851bad75415733711294ddce0b7bc6 @@ -14746,14 +14928,7 @@ __metadata: languageName: node linkType: hard -"cookie@npm:^0.6.0": - version: 0.6.0 - resolution: "cookie@npm:0.6.0" - checksum: 10c0/f2318b31af7a31b4ddb4a678d024514df5e705f9be5909a192d7f116cfb6d45cbacf96a473fa733faa95050e7cff26e7832bb3ef94751592f1387b71c8956686 - languageName: node - linkType: hard - -"cookie@npm:~0.7.1": +"cookie@npm:^0.7.2, cookie@npm:~0.7.1": version: 0.7.2 resolution: "cookie@npm:0.7.2" checksum: 10c0/9596e8ccdbf1a3a88ae02cf5ee80c1c50959423e1022e4e60b91dd87c622af1da309253d8abdb258fb5e3eacb4f08e579dc58b4897b8087574eee0fd35dfa5d2 @@ -14908,29 +15083,29 @@ __metadata: languageName: node linkType: hard -"create-strapi-app@npm:5.42.1, create-strapi-app@workspace:*, create-strapi-app@workspace:packages/cli/create-strapi-app": +"create-strapi-app@npm:5.43.0, create-strapi-app@workspace:*, create-strapi-app@workspace:packages/cli/create-strapi-app": version: 0.0.0-use.local resolution: "create-strapi-app@workspace:packages/cli/create-strapi-app" dependencies: - "@strapi/cloud-cli": "npm:5.42.1" + "@strapi/cloud-cli": "npm:5.43.0" "@types/async-retry": "npm:^1" "@types/fs-extra": "npm:11.0.4" "@types/inquirer": "npm:9.0.9" async-retry: "npm:1.3.3" chalk: "npm:4.1.2" commander: "npm:8.3.0" - eslint-config-custom: "npm:5.42.1" + eslint-config-custom: "npm:5.43.0" execa: "npm:5.1.1" - fs-extra: "npm:11.2.0" + fs-extra: "npm:11.3.4" inquirer: "npm:9.3.8" lodash: "npm:4.18.1" node-machine-id: "npm:^1.1.10" ora: "npm:^5.4.1" rollup: "npm:4.59.0" - semver: "npm:7.5.4" + semver: "npm:7.7.4" sort-package-json: "npm:2.10.0" tar: "npm:7.5.11" - tsconfig: "npm:5.42.1" + tsconfig: "npm:5.43.0" bin: create-strapi-app: ./bin/index.js languageName: unknown @@ -14940,7 +15115,7 @@ __metadata: version: 0.0.0-use.local resolution: "create-strapi@workspace:packages/cli/create-strapi" dependencies: - create-strapi-app: "npm:5.42.1" + create-strapi-app: "npm:5.43.0" bin: create-strapi: ./bin/index.js languageName: unknown @@ -15836,10 +16011,10 @@ __metadata: languageName: node linkType: hard -"dotenv@npm:16.4.5": - version: 16.4.5 - resolution: "dotenv@npm:16.4.5" - checksum: 10c0/48d92870076832af0418b13acd6e5a5a3e83bb00df690d9812e94b24aff62b88ade955ac99a05501305b8dc8f1b0ee7638b18493deb6fe93d680e5220936292f +"dotenv@npm:16.6.1": + version: 16.6.1 + resolution: "dotenv@npm:16.6.1" + checksum: 10c0/15ce56608326ea0d1d9414a5c8ee6dcf0fffc79d2c16422b4ac2268e7e2d76ff5a572d37ffe747c377de12005f14b3cc22361e79fc7f1061cce81f77d2c973dc languageName: node linkType: hard @@ -16073,7 +16248,7 @@ __metadata: languageName: node linkType: hard -"entities@npm:^4.2.0, entities@npm:^4.3.0, entities@npm:^4.5.0": +"entities@npm:^4.2.0, entities@npm:^4.3.0, entities@npm:^4.4.0, entities@npm:^4.5.0": version: 4.5.0 resolution: "entities@npm:4.5.0" checksum: 10c0/5b039739f7621f5d1ad996715e53d964035f75ad3b9a4d38c6b3804bb226e282ffeae2443624d8fdd9c47d8e926ae9ac009c54671243f0c3294c26af7cc85250 @@ -16087,13 +16262,6 @@ __metadata: languageName: node linkType: hard -"entities@npm:~3.0.1": - version: 3.0.1 - resolution: "entities@npm:3.0.1" - checksum: 10c0/2d93f48fd86de0b0ed8ee34456aa47b4e74a916a5e663cfcc7048302e2c7e932002926daf5a00ad6d5691e3c90673a15d413704d86d7e1b9532f9bc00d975590 - languageName: node - linkType: hard - "env-paths@npm:^2.2.0, env-paths@npm:^2.2.1": version: 2.2.1 resolution: "env-paths@npm:2.2.1" @@ -16288,28 +16456,28 @@ __metadata: languageName: node linkType: hard -"esbuild-loader@npm:4.3.0": - version: 4.3.0 - resolution: "esbuild-loader@npm:4.3.0" +"esbuild-loader@npm:4.4.3": + version: 4.4.3 + resolution: "esbuild-loader@npm:4.4.3" dependencies: - esbuild: "npm:^0.25.0" - get-tsconfig: "npm:^4.7.0" + esbuild: "npm:^0.27.1" + get-tsconfig: "npm:^4.10.1" loader-utils: "npm:^2.0.4" - webpack-sources: "npm:^1.4.3" + webpack-sources: "npm:^3.3.4" peerDependencies: webpack: ^4.40.0 || ^5.0.0 - checksum: 10c0/229435fe0f6bba2828462902188f640d96f501c9b966e0dca739c92601a7d573d67c58d8f9cd642586848d6bb8ae59a8242d8a750c60eaedd78a2776a658583f + checksum: 10c0/acc474b6db7a916ae52ac14b73ccff8fa697992bcd452c72265264d46af3fbe6758cb130694e2827be3fedc0e0d0719f07a357caf8da94de8ed9c4a46ae2af4a languageName: node linkType: hard -"esbuild-register@npm:3.5.0": - version: 3.5.0 - resolution: "esbuild-register@npm:3.5.0" +"esbuild-register@npm:3.6.0": + version: 3.6.0 + resolution: "esbuild-register@npm:3.6.0" dependencies: debug: "npm:^4.3.4" peerDependencies: esbuild: ">=0.12 <1" - checksum: 10c0/9ccd0573cb66018e4cce3c1416eed0f5f3794c7026ce469a94e2f8761335abed8e363fc8e8bb036ab9ad7e579bb4296b8568a04ae5626596c123576b0d9c9bde + checksum: 10c0/77193b7ca32ba9f81b35ddf3d3d0138efb0b1429d71b39480cfee932e1189dd2e492bd32bf04a4d0bc3adfbc7ec7381ceb5ffd06efe35f3e70904f1f686566d5 languageName: node linkType: hard @@ -16657,6 +16825,95 @@ __metadata: languageName: node linkType: hard +"esbuild@npm:^0.27.1": + version: 0.27.7 + resolution: "esbuild@npm:0.27.7" + dependencies: + "@esbuild/aix-ppc64": "npm:0.27.7" + "@esbuild/android-arm": "npm:0.27.7" + "@esbuild/android-arm64": "npm:0.27.7" + "@esbuild/android-x64": "npm:0.27.7" + "@esbuild/darwin-arm64": "npm:0.27.7" + "@esbuild/darwin-x64": "npm:0.27.7" + "@esbuild/freebsd-arm64": "npm:0.27.7" + "@esbuild/freebsd-x64": "npm:0.27.7" + "@esbuild/linux-arm": "npm:0.27.7" + "@esbuild/linux-arm64": "npm:0.27.7" + "@esbuild/linux-ia32": "npm:0.27.7" + "@esbuild/linux-loong64": "npm:0.27.7" + "@esbuild/linux-mips64el": "npm:0.27.7" + "@esbuild/linux-ppc64": "npm:0.27.7" + "@esbuild/linux-riscv64": "npm:0.27.7" + "@esbuild/linux-s390x": "npm:0.27.7" + "@esbuild/linux-x64": "npm:0.27.7" + "@esbuild/netbsd-arm64": "npm:0.27.7" + "@esbuild/netbsd-x64": "npm:0.27.7" + "@esbuild/openbsd-arm64": "npm:0.27.7" + "@esbuild/openbsd-x64": "npm:0.27.7" + "@esbuild/openharmony-arm64": "npm:0.27.7" + "@esbuild/sunos-x64": "npm:0.27.7" + "@esbuild/win32-arm64": "npm:0.27.7" + "@esbuild/win32-ia32": "npm:0.27.7" + "@esbuild/win32-x64": "npm:0.27.7" + dependenciesMeta: + "@esbuild/aix-ppc64": + optional: true + "@esbuild/android-arm": + optional: true + "@esbuild/android-arm64": + optional: true + "@esbuild/android-x64": + optional: true + "@esbuild/darwin-arm64": + optional: true + "@esbuild/darwin-x64": + optional: true + "@esbuild/freebsd-arm64": + optional: true + "@esbuild/freebsd-x64": + optional: true + "@esbuild/linux-arm": + optional: true + "@esbuild/linux-arm64": + optional: true + "@esbuild/linux-ia32": + optional: true + "@esbuild/linux-loong64": + optional: true + "@esbuild/linux-mips64el": + optional: true + "@esbuild/linux-ppc64": + optional: true + "@esbuild/linux-riscv64": + optional: true + "@esbuild/linux-s390x": + optional: true + "@esbuild/linux-x64": + optional: true + "@esbuild/netbsd-arm64": + optional: true + "@esbuild/netbsd-x64": + optional: true + "@esbuild/openbsd-arm64": + optional: true + "@esbuild/openbsd-x64": + optional: true + "@esbuild/openharmony-arm64": + optional: true + "@esbuild/sunos-x64": + optional: true + "@esbuild/win32-arm64": + optional: true + "@esbuild/win32-ia32": + optional: true + "@esbuild/win32-x64": + optional: true + bin: + esbuild: bin/esbuild + checksum: 10c0/ccd51f0555708bc9ff4ec9dc3ac92d3daacd45ecaac949ca8645984c5c323bf8cefe98c2df307418685e0b4ce37f9a3bdbfe8e3651fe632a0059a436195a17d4 + languageName: node + linkType: hard + "escalade@npm:^3.1.1, escalade@npm:^3.2.0": version: 3.2.0 resolution: "escalade@npm:3.2.0" @@ -16756,7 +17013,7 @@ __metadata: languageName: node linkType: hard -"eslint-config-custom@npm:5.42.1, eslint-config-custom@workspace:packages/utils/eslint-config-custom": +"eslint-config-custom@npm:5.43.0, eslint-config-custom@workspace:packages/utils/eslint-config-custom": version: 0.0.0-use.local resolution: "eslint-config-custom@workspace:packages/utils/eslint-config-custom" languageName: unknown @@ -18196,14 +18453,14 @@ __metadata: languageName: node linkType: hard -"fs-extra@npm:11.2.0": - version: 11.2.0 - resolution: "fs-extra@npm:11.2.0" +"fs-extra@npm:11.3.4, fs-extra@npm:~11.3.0": + version: 11.3.4 + resolution: "fs-extra@npm:11.3.4" dependencies: graceful-fs: "npm:^4.2.0" jsonfile: "npm:^6.0.1" universalify: "npm:^2.0.0" - checksum: 10c0/d77a9a9efe60532d2e790e938c81a02c1b24904ef7a3efb3990b835514465ba720e99a6ea56fd5e2db53b4695319b644d76d5a0e9988a2beef80aa7b1da63398 + checksum: 10c0/e08276f767a62496ae97d711aaa692c6a478177f24a85979b6a2881c9db9c68b8c2ad5da0bcf92c0b2a474cea6e935ec245656441527958fd8372cb647087df0 languageName: node linkType: hard @@ -18229,17 +18486,6 @@ __metadata: languageName: node linkType: hard -"fs-extra@npm:~11.3.0": - version: 11.3.4 - resolution: "fs-extra@npm:11.3.4" - dependencies: - graceful-fs: "npm:^4.2.0" - jsonfile: "npm:^6.0.1" - universalify: "npm:^2.0.0" - checksum: 10c0/e08276f767a62496ae97d711aaa692c6a478177f24a85979b6a2881c9db9c68b8c2ad5da0bcf92c0b2a474cea6e935ec245656441527958fd8372cb647087df0 - languageName: node - linkType: hard - "fs-extra@npm:~7.0.1": version: 7.0.1 resolution: "fs-extra@npm:7.0.1" @@ -18508,7 +18754,16 @@ __metadata: languageName: node linkType: hard -"get-tsconfig@npm:^4.5.0, get-tsconfig@npm:^4.7.0, get-tsconfig@npm:^4.7.5": +"get-tsconfig@npm:^4.10.1": + version: 4.14.0 + resolution: "get-tsconfig@npm:4.14.0" + dependencies: + resolve-pkg-maps: "npm:^1.0.0" + checksum: 10c0/abc2b9275468eb589079a0b7a95eb5107c14fdd0ca6dda1bff116fe774ea1f79975421dcb22a0c86b4f820fcc69a7655dddf9b6d6a8a2c06fcb59e19794c0724 + languageName: node + linkType: hard + +"get-tsconfig@npm:^4.5.0, get-tsconfig@npm:^4.7.5": version: 4.13.6 resolution: "get-tsconfig@npm:4.13.6" dependencies: @@ -18838,15 +19093,15 @@ __metadata: languageName: node linkType: hard -"grant@npm:^5.4.8": - version: 5.4.23 - resolution: "grant@npm:5.4.23" +"grant@npm:5.4.24": + version: 5.4.24 + resolution: "grant@npm:5.4.24" dependencies: - cookie: "npm:^0.6.0" - cookie-signature: "npm:^1.2.1" - jwk-to-pem: "npm:^2.0.6" + cookie: "npm:^0.7.2" + cookie-signature: "npm:^1.2.2" + jwk-to-pem: "npm:^2.0.7" jws: "npm:^4.0.0" - qs: "npm:^6.13.0" + qs: "npm:^6.14.0" request-compose: "npm:^2.1.7" request-oauth: "npm:^1.0.1" dependenciesMeta: @@ -18858,7 +19113,7 @@ __metadata: optional: true jws: optional: true - checksum: 10c0/6b7545a519bf17720a1a24786a1a4aa897d3895cbd8b7ee5f212f706afb99a49e7ca6d7c3909889fe1953c289ed58757070193c63c24323cce4f2e9413808ae3 + checksum: 10c0/2fb55588f66a73a771e56cf82f5dd9a963641cf4b4ef0db7eee49a97e0f7404ea69ef92aab1707ec91a1fc5454f00f5e8918dc4205cb60a2cec65dd8c9fd476b languageName: node linkType: hard @@ -21442,7 +21697,7 @@ __metadata: languageName: node linkType: hard -"jwk-to-pem@npm:2.0.7, jwk-to-pem@npm:^2.0.6": +"jwk-to-pem@npm:2.0.7, jwk-to-pem@npm:^2.0.7": version: 2.0.7 resolution: "jwk-to-pem@npm:2.0.7" dependencies: @@ -21926,12 +22181,12 @@ __metadata: languageName: node linkType: hard -"linkify-it@npm:^4.0.1": - version: 4.0.1 - resolution: "linkify-it@npm:4.0.1" +"linkify-it@npm:^5.0.0": + version: 5.0.0 + resolution: "linkify-it@npm:5.0.0" dependencies: - uc.micro: "npm:^1.0.1" - checksum: 10c0/f1949ee2c7c2979c4f80c8c08f507d813f50775ebc5adfdb7ee662f28e0ee53dbd4a329d5231be67414405fc60d4e99b37536d6949702d311fe509a6bcbcf4a6 + uc.micro: "npm:^2.0.0" + checksum: 10c0/ff4abbcdfa2003472fc3eb4b8e60905ec97718e11e33cca52059919a4c80cc0e0c2a14d23e23d8c00e5402bc5a885cdba8ca053a11483ab3cc8b3c7a52f88e2d languageName: node linkType: hard @@ -22544,18 +22799,19 @@ __metadata: languageName: node linkType: hard -"markdown-it@npm:^13.0.2": - version: 13.0.2 - resolution: "markdown-it@npm:13.0.2" +"markdown-it@npm:14.1.1": + version: 14.1.1 + resolution: "markdown-it@npm:14.1.1" dependencies: argparse: "npm:^2.0.1" - entities: "npm:~3.0.1" - linkify-it: "npm:^4.0.1" - mdurl: "npm:^1.0.1" - uc.micro: "npm:^1.0.5" + entities: "npm:^4.4.0" + linkify-it: "npm:^5.0.0" + mdurl: "npm:^2.0.0" + punycode.js: "npm:^2.3.1" + uc.micro: "npm:^2.1.0" bin: - markdown-it: bin/markdown-it.js - checksum: 10c0/4fe0c41bc4c318c2901dc2923470c259cab137a4ab870001038877b942c9cc65072923e2d957f785de69a9da27c55657bd531607ccfd258246bd72a8deb8c2ee + markdown-it: bin/markdown-it.mjs + checksum: 10c0/c67f2a4c8069a307c78d8c15104bbcb15a2c6b17f4c904364ca218ec2eccf76a397eba1ea05f5ac5de72c4b67fcf115d422d22df0bfb86a09b663f55b9478d4f languageName: node linkType: hard @@ -22715,10 +22971,10 @@ __metadata: languageName: node linkType: hard -"mdurl@npm:^1.0.1": - version: 1.0.1 - resolution: "mdurl@npm:1.0.1" - checksum: 10c0/ea8534341eb002aaa532a722daef6074cd8ca66202e10a2b4cda46722c1ebdb1da92197ac300bc953d3ef1bf41cd6561ef2cc69d82d5d0237dae00d4a61a4eee +"mdurl@npm:^2.0.0": + version: 2.0.0 + resolution: "mdurl@npm:2.0.0" + checksum: 10c0/633db522272f75ce4788440669137c77540d74a83e9015666a9557a152c02e245b192edc20bc90ae953bbab727503994a53b236b4d9c99bdaee594d0e7dd2ce0 languageName: node linkType: hard @@ -25675,6 +25931,13 @@ __metadata: languageName: node linkType: hard +"punycode.js@npm:^2.3.1": + version: 2.3.1 + resolution: "punycode.js@npm:2.3.1" + checksum: 10c0/1d12c1c0e06127fa5db56bd7fdf698daf9a78104456a6b67326877afc21feaa821257b171539caedd2f0524027fa38e67b13dd094159c8d70b6d26d2bea4dfdb + languageName: node + linkType: hard + "punycode@npm:2.3.1, punycode@npm:^2.1.0, punycode@npm:^2.1.1": version: 2.3.1 resolution: "punycode@npm:2.3.1" @@ -25709,7 +25972,7 @@ __metadata: languageName: node linkType: hard -"qs@npm:6.15.0, qs@npm:^6.10.3, qs@npm:^6.11.0, qs@npm:^6.13.0, qs@npm:^6.14.1, qs@npm:^6.5.2, qs@npm:^6.9.6": +"qs@npm:6.15.0, qs@npm:^6.10.3, qs@npm:^6.11.0, qs@npm:^6.14.1, qs@npm:^6.5.2, qs@npm:^6.9.6": version: 6.15.0 resolution: "qs@npm:6.15.0" dependencies: @@ -25718,6 +25981,15 @@ __metadata: languageName: node linkType: hard +"qs@npm:^6.14.0": + version: 6.15.1 + resolution: "qs@npm:6.15.1" + dependencies: + side-channel: "npm:^1.1.0" + checksum: 10c0/19ee504f0ebff72598503e38cd6d9bd7b52a8ab62ae18b1e6bee3d4db58469bd65871ef1893a881bafb0f80ef2f9ab586e1f255cf25cc8d816c0f5a704721d97 + languageName: node + linkType: hard + "qs@npm:~6.14.0": version: 6.14.2 resolution: "qs@npm:6.14.2" @@ -27148,18 +27420,7 @@ __metadata: languageName: node linkType: hard -"semver@npm:7.5.4, semver@npm:~7.5.4": - version: 7.5.4 - resolution: "semver@npm:7.5.4" - dependencies: - lru-cache: "npm:^6.0.0" - bin: - semver: bin/semver.js - checksum: 10c0/5160b06975a38b11c1ab55950cb5b8a23db78df88275d3d8a42ccf1f29e55112ac995b3a26a522c36e3b5f76b0445f1eef70d696b8c7862a2b4303d7b0e7609e - languageName: node - linkType: hard - -"semver@npm:7.x, semver@npm:^7.3.5, semver@npm:^7.3.7, semver@npm:^7.3.8, semver@npm:^7.5.3, semver@npm:^7.5.4, semver@npm:^7.6.0, semver@npm:^7.6.3, semver@npm:^7.7.1": +"semver@npm:7.7.4, semver@npm:7.x, semver@npm:^7.3.5, semver@npm:^7.3.7, semver@npm:^7.3.8, semver@npm:^7.5.3, semver@npm:^7.5.4, semver@npm:^7.6.0, semver@npm:^7.6.3, semver@npm:^7.7.1": version: 7.7.4 resolution: "semver@npm:7.7.4" bin: @@ -27177,6 +27438,17 @@ __metadata: languageName: node linkType: hard +"semver@npm:~7.5.4": + version: 7.5.4 + resolution: "semver@npm:7.5.4" + dependencies: + lru-cache: "npm:^6.0.0" + bin: + semver: bin/semver.js + checksum: 10c0/5160b06975a38b11c1ab55950cb5b8a23db78df88275d3d8a42ccf1f29e55112ac995b3a26a522c36e3b5f76b0445f1eef70d696b8c7862a2b4303d7b0e7609e + languageName: node + linkType: hard + "send@npm:~0.19.0, send@npm:~0.19.1": version: 0.19.2 resolution: "send@npm:0.19.2" @@ -27752,13 +28024,6 @@ __metadata: languageName: node linkType: hard -"source-list-map@npm:^2.0.0": - version: 2.0.1 - resolution: "source-list-map@npm:2.0.1" - checksum: 10c0/2e5e421b185dcd857f46c3c70e2e711a65d717b78c5f795e2e248c9d67757882ea989b80ebc08cf164eeeda5f4be8aa95d3b990225070b2daaaf3257c5958149 - languageName: node - linkType: hard - "source-map-js@npm:^1.0.2, source-map-js@npm:^1.2.0, source-map-js@npm:^1.2.1": version: 1.2.1 resolution: "source-map-js@npm:1.2.1" @@ -28066,7 +28331,7 @@ __metadata: core-js: "npm:3.36.0" create-strapi-app: "workspace:*" cross-env: "npm:7.0.3" - dotenv: "npm:16.4.5" + dotenv: "npm:16.6.1" eslint: "npm:8.57.1" eslint-config-airbnb: "npm:^19.0.4" eslint-config-airbnb-base: "npm:^15.0.0" @@ -28084,7 +28349,7 @@ __metadata: eslint-plugin-testing-library: "npm:6.0.2" execa: "npm:5.1.1" find-up: "npm:5.0.0" - fs-extra: "npm:11.2.0" + fs-extra: "npm:11.3.4" get-port: "npm:5.1.1" glob: "npm:13.0.6" husky: "npm:9.1.7" @@ -28106,14 +28371,14 @@ __metadata: rimraf: "npm:6.1.3" rollup: "npm:4.59.0" rollup-plugin-html: "npm:0.2.1" - semver: "npm:7.5.4" + semver: "npm:7.7.4" stream-chain: "npm:2.2.5" stream-json: "npm:1.8.0" supertest: "npm:7.2.2" syncpack: "npm:13.0.4" tar: "npm:7.5.11" ts-jest: "npm:29.1.0" - typescript: "npm:5.4.4" + typescript: "npm:5.4.5" vitest: "catalog:" yalc: "npm:1.0.0-pre.53" yargs: "npm:17.7.2" @@ -29171,7 +29436,7 @@ __metadata: languageName: node linkType: hard -"tsconfig@npm:5.42.1, tsconfig@workspace:packages/utils/tsconfig": +"tsconfig@npm:5.43.0, tsconfig@workspace:packages/utils/tsconfig": version: 0.0.0-use.local resolution: "tsconfig@workspace:packages/utils/tsconfig" dependencies: @@ -29431,6 +29696,16 @@ __metadata: languageName: node linkType: hard +"typescript@npm:5.4.5": + version: 5.4.5 + resolution: "typescript@npm:5.4.5" + bin: + tsc: bin/tsc + tsserver: bin/tsserver + checksum: 10c0/2954022ada340fd3d6a9e2b8e534f65d57c92d5f3989a263754a78aba549f7e6529acc1921913560a4b816c46dce7df4a4d29f9f11a3dc0d4213bb76d043251e + languageName: node + linkType: hard + "typescript@npm:5.8.2": version: 5.8.2 resolution: "typescript@npm:5.8.2" @@ -29461,6 +29736,16 @@ __metadata: languageName: node linkType: hard +"typescript@patch:typescript@npm%3A5.4.5#optional!builtin": + version: 5.4.5 + resolution: "typescript@patch:typescript@npm%3A5.4.5#optional!builtin::version=5.4.5&hash=5adc0c" + bin: + tsc: bin/tsc + tsserver: bin/tsserver + checksum: 10c0/db2ad2a16ca829f50427eeb1da155e7a45e598eec7b086d8b4e8ba44e5a235f758e606d681c66992230d3fc3b8995865e5fd0b22a2c95486d0b3200f83072ec9 + languageName: node + linkType: hard + "typescript@patch:typescript@npm%3A5.8.2#optional!builtin": version: 5.8.2 resolution: "typescript@patch:typescript@npm%3A5.8.2#optional!builtin::version=5.8.2&hash=5786d5" @@ -29481,10 +29766,10 @@ __metadata: languageName: node linkType: hard -"uc.micro@npm:^1.0.1, uc.micro@npm:^1.0.5": - version: 1.0.6 - resolution: "uc.micro@npm:1.0.6" - checksum: 10c0/9bde2afc6f2e24b899db6caea47dae778b88862ca76688d844ef6e6121dec0679c152893a74a6cfbd2e6fde34654e6bd8424fee8e0166cdfa6c9ae5d42b8a17b +"uc.micro@npm:^2.0.0, uc.micro@npm:^2.1.0": + version: 2.1.0 + resolution: "uc.micro@npm:2.1.0" + checksum: 10c0/8862eddb412dda76f15db8ad1c640ccc2f47cdf8252a4a30be908d535602c8d33f9855dfcccb8b8837855c1ce1eaa563f7fa7ebe3c98fd0794351aab9b9c55fa languageName: node linkType: hard @@ -30226,7 +30511,7 @@ __metadata: languageName: node linkType: hard -"vitest-config@npm:5.42.1, vitest-config@workspace:packages/utils/vitest-config": +"vitest-config@npm:5.43.0, vitest-config@workspace:packages/utils/vitest-config": version: 0.0.0-use.local resolution: "vitest-config@workspace:packages/utils/vitest-config" dependencies: @@ -30447,16 +30732,6 @@ __metadata: languageName: node linkType: hard -"webpack-sources@npm:^1.4.3": - version: 1.4.3 - resolution: "webpack-sources@npm:1.4.3" - dependencies: - source-list-map: "npm:^2.0.0" - source-map: "npm:~0.6.1" - checksum: 10c0/78dafb3e1e297d3f4eb6204311e8c64d28cd028f82887ba33aaf03fffc82482d8e1fdf6de25a60f4dde621d3565f4c3b1bfb350f09add8f4e54e00279ff3db5e - languageName: node - linkType: hard - "webpack-sources@npm:^3.3.4": version: 3.3.4 resolution: "webpack-sources@npm:3.3.4"