Merge branch 'develop' into fix/database-morph-populate-typefield-order

This commit is contained in:
Ben Irvin
2026-04-27 15:22:56 +02:00
committed by GitHub
72 changed files with 2737 additions and 635 deletions
+1 -1
View File
@@ -1,6 +1,6 @@
{
"name": "check-pr-status",
"version": "5.42.1",
"version": "5.43.0",
"private": true,
"license": "MIT",
"main": "dist/index.js",
+1 -1
View File
@@ -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"
}
}
+9 -9
View File
@@ -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<compat/typescript>":
version: 5.4.4
resolution: "typescript@patch:typescript@npm%3A5.4.4#optional!builtin<compat/typescript>::version=5.4.4&hash=5adc0c"
"typescript@patch:typescript@npm%3A5.4.5#optional!builtin<compat/typescript>":
version: 5.4.5
resolution: "typescript@patch:typescript@npm%3A5.4.5#optional!builtin<compat/typescript>::version=5.4.5&hash=5adc0c"
bin:
tsc: bin/tsc
tsserver: bin/tsserver
checksum: 10c0/1fa41b9964a9ff0ed913b339c90b46031b2d2da3cb1a192af516610733f7f1d5f7f9754a8e22b9ac7076d3d8aedd2c4f84db3f113bad060eac3a95962443a1bf
checksum: 10c0/db2ad2a16ca829f50427eeb1da155e7a45e598eec7b086d8b4e8ba44e5a235f758e606d681c66992230d3fc3b8995865e5fd0b22a2c95486d0b3200f83072ec9
languageName: node
linkType: hard
@@ -0,0 +1,3 @@
{
"plugin.name": "Můj plugin"
}
+4 -4
View File
@@ -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"
+3 -3
View File
@@ -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",
+5 -5
View File
@@ -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",
+6 -6
View File
@@ -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",
+2 -2
View File
@@ -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",
@@ -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": "<text>{enforcementUserCount}</text>/{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": "<p>Vytvářejte a spravujte veškerý obsah zde v Content Manageru.</p><p>Např.: Když budeme pokračovat v příkladu blogového webu, můžete napsat článek, uložit ho a publikovat podle potřeby.</p><p>💡 Rychlý tip — Nezapomeňte publikovat obsah, který vytvoříte.</p>",
"app.components.GuidedTour.CM.create.title": "⚡️ Vytvořit obsah",
"app.components.GuidedTour.CM.success.content": "<p>Skvělé, zbývá už jen poslední krok!</p><b>🚀 Podívejte se na obsah v akci</b>",
"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": "<p>Collection Types vám pomáhají spravovat více záznamů, Single Types jsou vhodné pro správu pouze jednoho záznamu.</p> <p>Např.: Pro blogový web by Articles byly Collection Type, zatímco Homepage by byla Single Type.</p>",
"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": "<p>Jen tak dál!</p><b>⚡️ Co byste chtěli sdílet se světem?</b>",
"app.components.GuidedTour.CTB.success.title": "Krok 1: Dokončeno ✅",
"app.components.GuidedTour.apiTokens.create.content": "<p>Zde vygenerujte autentizační token a získejte obsah, který jste právě vytvořili.</p>",
"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": "<p>Podívejte se na obsah v akci pomocí HTTP requestu:</p><ul><li><p>Na tuto URL: <light>https://'<'YOUR_DOMAIN'>'/api/'<'YOUR_CT'>'</light></p></li><li><p>S hlavičkou: <light>Authorization: bearer '<'YOUR_API_TOKEN'>'</light></p></li></ul><p>Pro další způsoby interakce s obsahem se podívejte do <documentationLink>dokumentace</documentationLink>.</p>",
"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": "<p>Pokud máte jakékoli otázky ohledně Content-Type Builderu nebo Strapi, zeptejte se tady.</p><p>Strapi AI umí generovat schémata přizpůsobená vašim potřebám. Zeptejte se přesně na to, co chcete, například:<ul><li>Výběr data</li><li>Pole pro e-mail a heslo</li><li>Média jakéhokoli typu</li><li>UIDs</li></ul></p><p>Nebuďte stydliví, vyzkoušejte to!</p>",
"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 <a>API tokenech</a>.",
"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í"
}
@@ -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": "<p>Если у вас есть вопросы о Конструкторе типов контента или Strapi, задайте их здесь.</p><p>Strapi AI может генерировать схемы, адаптированные под ваши потребности. Запросите именно то, что вам нужно, например:<ul><li>Выбор даты</li><li>Поля для ввода электронной почты и пароля</li><li>Медиафайлы любого типа</li><li>UID</li></ul></p><p>Не стесняйтесь, попробуйте!</p>",
"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} Остались вопросы? Узнайте больше об <a>API-токенах</a>.",
"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": "Типы контента",
+10 -10
View File
@@ -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",
@@ -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;
}
@@ -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`] = `
"<p><img src="https://example.com/x.png" alt="A &lt;em&gt;tag&lt;/em&gt; and break"></p>
"
`;
exports[`mdRenderer renders common rich text preview markdown consistently 1`] = `
"<h1>Title</h1>
<p>Paragraph with <a href="https://example.com">link</a>, emoji 😄, and <mark>mark</mark>.</p>
<div class="warning">
<p>Warning text</p>
</div>
<p>Footnote here<sup class="footnote-ref"><span>[1]</span></sup></p>
<hr class="footnotes-sep">
<section class="footnotes">
<ol class="footnotes-list">
<li id="fn1" class="footnote-item"><p>Footnote <em>value</em>. <span class="footnote-backref">↩︎</span></p>
</li>
</ol>
</section>
"
`;
@@ -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 <em>tag</em> and \\nbreak](https://example.com/x.png)';
expect(md.render(source)).toMatchSnapshot();
});
});
@@ -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": "<b>{publishedCount}</b> {publishedCount, plural, =0 {záznamů} one {záznam} other {záznamů}} již publikováno. <b>{draftCount}</b> {draftCount, plural, =0 {záznamů} one {záznam} other {záznamů}} připraveno k publikaci. <b>{withErrorsCount}</b> {withErrorsCount, plural, =0 {záznamů} one {záznam} other {záznamů}} čeká na akci.",
"containers.list.selectedEntriesModal.selectedCount.unpublish": "<b>{draftCount}</b> {draftCount, plural, =0 {záznamů} one {záznam} other {záznamů}} již nepublikováno. <b>{publishedCount}</b> {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": "<b>{count} {count, plural, one { relace } other { relací } } z {entities} { entities, plural, one { záznamu } other { záznamů } } {count, plural, one { není } other { nejsou } }</b> 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 { <b>(aktuální)</b>} 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. <b>Tato pole nebudou obnovena.</b>",
"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"
}
+6 -6
View File
@@ -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",
@@ -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 <b>{isPublish, select, true {publikován} other {stažen z publikace}}</b>.",
"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í"
}
+8 -8
View File
@@ -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",
@@ -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"
}
@@ -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",
+16 -16
View File
@@ -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",
+8 -8
View File
@@ -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",
+6 -6
View File
@@ -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",
@@ -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 {
@@ -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');
});
});
@@ -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 <no-reply@strapi.io>",
"Settings.email.plugin.placeholder.defaultReplyTo": "např.: Strapi <example@strapi.io>",
"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"
}
+5 -5
View File
@@ -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",
+2 -2
View File
@@ -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"
}
}
+4 -4
View File
@@ -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",
@@ -47,6 +47,7 @@ const AssigneeSelect = ({ isCompact }: { isCompact?: boolean }) => {
collectionType,
model,
documentId: id,
params,
},
{
skip: !id && collectionType !== 'single-types',
@@ -173,6 +173,7 @@ export const StageSelect = ({ isCompact }: { isCompact?: boolean }) => {
collectionType,
model,
documentId: id,
params,
},
{
skip: !id && collectionType !== 'single-types',
@@ -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"
}
+5 -5
View File
@@ -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",
+28 -28
View File
@@ -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": {
+8 -8
View File
@@ -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": {
+7 -7
View File
@@ -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",
+3 -3
View File
@@ -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",
+6 -6
View File
@@ -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",
@@ -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í"
}
+6 -6
View File
@@ -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",
@@ -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"
}
+3 -3
View File
@@ -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",
@@ -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"
}
+7 -7
View File
@@ -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",
@@ -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;
@@ -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"
}
+7 -7
View File
@@ -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",
@@ -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 <bold>{locale}</bold>",
"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 <em>(z Internationalization)</em>",
"Settings.list.actions.publishAdditionalInfos": "Tímto publikujete verze aktivního jazyka <em>(z Internationalization)</em>",
"Settings.list.actions.unpublishAdditionalInfos": "Tímto zrušíte publikaci verzí aktivního jazyka <em>(z Internationalization)</em>",
"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"
}
+7 -7
View File
@@ -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",
@@ -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"
}
+2 -2
View File
@@ -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",
@@ -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?"
}
@@ -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",
@@ -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",
@@ -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",
@@ -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",
@@ -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",
@@ -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",
@@ -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",
@@ -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",
+6 -6
View File
@@ -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",
+2 -2
View File
@@ -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"
@@ -1,6 +1,6 @@
{
"name": "eslint-config-custom",
"version": "5.42.1",
"version": "5.43.0",
"private": true,
"main": "index.js"
}
+3 -3
View File
@@ -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",
+1 -1
View File
@@ -1,6 +1,6 @@
{
"name": "tsconfig",
"version": "5.42.1",
"version": "5.43.0",
"private": true,
"devDependencies": {
"@tsconfig/node20": "20.1.6"
+3 -3
View File
@@ -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"
+7 -7
View File
@@ -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": {
+1 -1
View File
@@ -1,6 +1,6 @@
{
"name": "vitest-config",
"version": "5.42.1",
"version": "5.43.0",
"private": true,
"license": "SEE LICENSE IN LICENSE",
"exports": {
+1 -1
View File
@@ -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"
@@ -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<string, any> = {}) => {
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<string, any>(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);
});
});
+603 -328
View File
File diff suppressed because it is too large Load Diff