diff --git a/packages/core/admin/admin/src/content-manager/components/EditViewDataManagerProvider/reducer.js b/packages/core/admin/admin/src/content-manager/components/EditViewDataManagerProvider/reducer.js index 61e0c401e8..f2eddc4eed 100644 --- a/packages/core/admin/admin/src/content-manager/components/EditViewDataManagerProvider/reducer.js +++ b/packages/core/admin/admin/src/content-manager/components/EditViewDataManagerProvider/reducer.js @@ -104,6 +104,11 @@ const reducer = (state, action) => (value) => value.type === 'component' && value.repeatable )(componentLayoutData.attributes); + const nonRepeatableComponentPaths = recursivelyFindPathsBasedOnCondition( + allComponents, + (value) => value.type === 'component' && !value.repeatable + )(componentLayoutData.attributes); + const componentDataStructure = relationPaths.reduce((acc, current) => { const [componentName] = current.split('.'); @@ -112,8 +117,21 @@ const reducer = (state, action) => * has another repeatable component inside of it we * don't need to attach the array at this point because that will be * done again deeper in the nest. + * + * We also need to handle cases with single components nested within + * repeatables by checking that the relation path does not match a + * non-repeatable component path. This accounts for component + * structures such as: + * - outer_single_compo + * - level_one_repeatable + * - level_two_single_component + * - level_three_repeatable */ - if (!repeatableFields.includes(componentName)) { + + if ( + !repeatableFields.includes(componentName) && + !nonRepeatableComponentPaths.includes(componentName) + ) { set(acc, current, []); } @@ -128,7 +146,6 @@ const reducer = (state, action) => break; } - case 'LOAD_RELATION': { const initialDataPath = ['initialData', ...action.keys]; const modifiedDataPath = ['modifiedData', ...action.keys]; diff --git a/packages/core/admin/admin/src/content-manager/components/EditViewDataManagerProvider/tests/reducer.test.js b/packages/core/admin/admin/src/content-manager/components/EditViewDataManagerProvider/tests/reducer.test.js index 6e231ec053..a0f6f99732 100644 --- a/packages/core/admin/admin/src/content-manager/components/EditViewDataManagerProvider/tests/reducer.test.js +++ b/packages/core/admin/admin/src/content-manager/components/EditViewDataManagerProvider/tests/reducer.test.js @@ -109,8 +109,8 @@ describe('CONTENT MANAGER | COMPONENTS | EditViewDataManagerProvider | reducer', }, }, }, - 'basic.repetable-repeatble-relation': { - uid: 'basic.repetable-repeatble-relation', + 'basic.repeatable-repeatble-relation': { + uid: 'basic.repeatable-repeatble-relation', attributes: { repeatable_simple: { type: 'component', @@ -144,7 +144,7 @@ describe('CONTENT MANAGER | COMPONENTS | EditViewDataManagerProvider | reducer', const action = { type: 'ADD_NON_REPEATABLE_COMPONENT_TO_FIELD', - componentLayoutData: components['basic.repetable-repeatble-relation'], + componentLayoutData: components['basic.repeatable-repeatble-relation'], allComponents: components, keys: ['component_field', 'sub_component'], }; @@ -429,8 +429,8 @@ describe('CONTENT MANAGER | COMPONENTS | EditViewDataManagerProvider | reducer', }, }, }, - 'basic.repetable-repeatble-relation': { - uid: 'basic.repetable-repeatble-relation', + 'basic.repeatable-repeatble-relation': { + uid: 'basic.repeatable-repeatble-relation', attributes: { id: { type: 'integer', @@ -460,7 +460,7 @@ describe('CONTENT MANAGER | COMPONENTS | EditViewDataManagerProvider | reducer', type: 'ADD_REPEATABLE_COMPONENT_TO_FIELD', keys: ['repeatable_repeatable_nested_component'], componentLayoutData: { - uid: 'basic.repetable-repeatble-relation', + uid: 'basic.repeatable-repeatble-relation', attributes: { id: { type: 'integer', @@ -531,6 +531,131 @@ describe('CONTENT MANAGER | COMPONENTS | EditViewDataManagerProvider | reducer', }, }); }); + + it('should add a repeatable field and not set up the relational field if its a deeply nested repeatable field within another component', () => { + /** + * Structurally this component looks like: + * - outer_single_compo + * - level_one_repeatable + * - level_two_single_component + * - level_three_repeatable + * + * The reducer should only handle the repeatable at level_one in this case. + */ + + const state = { + ...initialState, + componentsDataStructure: { + 'basic.outer_single_compo': {}, + 'basic.level_one_repeatable': {}, + 'basic.level_two_single_component': {}, + 'basic.level_three_repeatable': {}, + }, + initialData: {}, + modifiedData: { + outer_single_compo: {}, + }, + }; + + const expected = { + ...initialState, + componentsDataStructure: { + 'basic.outer_single_compo': {}, + 'basic.level_one_repeatable': {}, + 'basic.level_two_single_component': {}, + 'basic.level_three_repeatable': {}, + }, + initialData: {}, + modifiedData: { + outer_single_compo: { + level_one_repeatable: [ + { + __temp_key__: 0, + }, + ], + }, + }, + }; + + const action = { + type: 'ADD_REPEATABLE_COMPONENT_TO_FIELD', + keys: ['outer_single_compo', 'level_one_repeatable'], + componentLayoutData: { + uid: 'basic.level_one_repeatable', + attributes: { + id: { + type: 'integer', + }, + level_two_single_component: { + displayName: 'level_two_single_component', + type: 'component', + component: 'basic.level_two_single_component', + }, + }, + }, + allComponents: { + 'basic.outer_single_compo': { + uid: 'basic.outer_single_compo', + attributes: { + id: { + type: 'integer', + }, + level_one_repeatable: { + displayName: 'level_one_repeatable', + type: 'component', + repeatable: true, + component: 'basic.level_one_repeatable', + }, + }, + }, + 'basic.level_one_repeatable': { + uid: 'basic.level_one_repeatable', + attributes: { + id: { + type: 'integer', + }, + level_two_single_component: { + displayName: 'level_two_single_component', + type: 'component', + component: 'basic.level_two_single_component', + }, + }, + }, + 'basic.level_two_single_component': { + uid: 'basic.level_two_single_component', + attributes: { + id: { + type: 'integer', + }, + level_three_repeatable: { + displayName: 'level_three_repeatable', + repeatable: true, + type: 'component', + component: 'basic.level_three_repeatable', + }, + }, + }, + 'basic.level_three_repeatable': { + uid: 'basic.level_three_repeatable', + attributes: { + id: { + type: 'integer', + }, + categories: { + type: 'relation', + relation: 'oneToMany', + target: 'api::category.category', + targetModel: 'api::category.category', + relationType: 'oneToMany', + }, + }, + }, + }, + shouldCheckErrors: false, + }; + + expect(reducer(state, action)).toEqual(expected); + }); }); describe('ADD_COMPONENT_TO_DYNAMIC_ZONE', () => { @@ -1518,7 +1643,7 @@ describe('CONTENT MANAGER | COMPONENTS | EditViewDataManagerProvider | reducer', ok: true, dynamic_relations: [ { - __component: 'basic.repetable-repeatble-relation', + __component: 'basic.repeatable-repeatble-relation', id: 5, repeatable_simple: [ { @@ -1541,7 +1666,7 @@ describe('CONTENT MANAGER | COMPONENTS | EditViewDataManagerProvider | reducer', ok: true, dynamic_relations: [ { - __component: 'basic.repetable-repeatble-relation', + __component: 'basic.repeatable-repeatble-relation', id: 5, repeatable_simple: [ { @@ -1570,7 +1695,7 @@ describe('CONTENT MANAGER | COMPONENTS | EditViewDataManagerProvider | reducer', ok: true, dynamic_relations: [ { - __component: 'basic.repetable-repeatble-relation', + __component: 'basic.repeatable-repeatble-relation', id: 5, repeatable_simple: [ { diff --git a/packages/core/admin/admin/src/content-manager/components/RepeatableComponent/index.js b/packages/core/admin/admin/src/content-manager/components/RepeatableComponent/index.js index d71f45b6ff..653b228efe 100644 --- a/packages/core/admin/admin/src/content-manager/components/RepeatableComponent/index.js +++ b/packages/core/admin/admin/src/content-manager/components/RepeatableComponent/index.js @@ -54,9 +54,7 @@ const RepeatableComponent = ({ [componentUid, getComponentLayout] ); - const nextTempKey = useMemo(() => { - return getMaxTempKey(componentValue || []) + 1; - }, [componentValue]); + const nextTempKey = useMemo(() => getMaxTempKey(componentValue || []) + 1, [componentValue]); const componentErrorKeys = getComponentErrorKeys(name, formErrors); diff --git a/packages/core/admin/admin/src/translations/sk.json b/packages/core/admin/admin/src/translations/sk.json index 200977c37b..949d0e717a 100644 --- a/packages/core/admin/admin/src/translations/sk.json +++ b/packages/core/admin/admin/src/translations/sk.json @@ -1,13 +1,20 @@ { - "Analytics": "Analýzy", + "Analytics": "Analytika", "Auth.components.Oops.text": "Váš účet bol pozastavený", + "Auth.components.Oops.text.admin": "Ak je toto chyba, kontaktuje prosím administrátora.", + "Auth.components.Oops.title": "Hups...", + "Auth.form.active.label": "Aktívny", "Auth.form.button.forgot-password": "Poslať e-mail", "Auth.form.button.go-home": "NASPÄŤ DOMOV", "Auth.form.button.login": "Prihlásiť sa", + "Auth.form.button.login.providers.error": "Cez vybraného poskytovateľa sa nám nepodarilo vás prepojiť.", + "Auth.form.button.login.strapi": "Prihlásiť sa cez Strapi", + "Auth.form.button.password-recovery": "Obnovenie hesla", "Auth.form.button.register": "Registrovať sa", "Auth.form.confirmPassword.label": "Potvrdenie hesla", + "Auth.form.currentPassword.label": "Aktuálne heslo", "Auth.form.email.label": "E-mailová adresa", - "Auth.form.email.placeholder": "janko.hrasko@gmail.com", + "Auth.form.email.placeholder": "napr. janko.hrasko@gmail.com", "Auth.form.error.blocked": "Váš účet bol zablokovaný administrátorom.", "Auth.form.error.code.provide": "Zadaný kód je neplatný.", "Auth.form.error.confirmed": "Táto e-mailová adresa nie je overená.", @@ -29,18 +36,27 @@ "Auth.form.forgot-password.email.label.success": "Email bol odoslaný na zadanú adresu", "Auth.form.lastname.label": "Priezvisko", "Auth.form.lastname.placeholder": "Hraško", + "Auth.form.password.hide-password": "Schovať heslo", + "Auth.form.password.hint": "Musí obsahovať aspoň 8 znakov, veľké a malé písmeno a číslo", + "Auth.form.password.show-password": "Zobraziť heslo", "Auth.form.register.news.label": "Informujte ma o nových funkciách a pripravovaných vylepšeniach (týmto akceptujete {terms} a {policy}).", "Auth.form.rememberMe.label": "Zapamätať si", "Auth.form.username.label": "Používateľské meno", "Auth.form.username.placeholder": "Janko Hraško", - "Auth.link.forgot-password": "Zabudnuté heslo?", + "Auth.form.welcome.subtitle": "Prihláste sa do Vášho Strapi účtu", + "Auth.form.welcome.title": "Vitajte v Strapi!", + "Auth.link.forgot-password": "Zabudli ste heslo?", "Auth.link.ready": "Chcete sa prihlásiť?", "Auth.link.signin": "Prihlásiť sa", "Auth.link.signin.account": "Máte už vytvorený účet?", + "Auth.login.sso.divider": "Alebo sa prihláste pomocou", + "Auth.login.sso.loading": "Načítavam poskytovateľov...", + "Auth.login.sso.subtitle": "Prihláste sa pomocou SSO", "Auth.privacy-policy-agreement.policy": "zásady ochrany osobných údajov", "Auth.privacy-policy-agreement.terms": "podmienky používania", + "Auth.reset-password.title": "Obnoviť heslo", "Content Manager": "Správca obsahu", - "Content Type Builder": "Tvorca typov obsahu", + "Content Type Builder": "Tvorca obsahových typov", "Documentation": "Dokumentácia", "Email": "E-mailová adresa", "Files Upload": "Nahrať súbory", @@ -60,22 +76,77 @@ "Roles.ListPage.notification.delete-not-allowed": "Rola nemôže byť zmazaná, pretože je spojená s používateľmi.", "Roles.components.List.empty.withSearch": "Neexistuje žiadna rola, ktorá zodpovedá vyhľadávaniu ({search})...", "Settings.PageTitle": "Nastavenia - {name}", + "Settings.application.title": "Prehľad", + "Settings.application.customization": "Prispôsobenie", + "Settings.application.customization.carousel.title": "Logo", + "Settings.application.customization.carousel.change-action": "Zmeniť logo", + "Settings.application.customization.carousel.reset-action": "Obnoviť logo", + "Settings.application.customization.carousel-hint": "Zmeniť logo admin panelu (max. rozmery: {dimension}x{dimension}, max. veľkosť: {size}KB)", + "Settings.application.customization.modal.cancel": "Zrušiť", + "Settings.application.customization.modal.upload": "Nahrať logo", + "Settings.application.customization.modal.tab.label": "Ako si prajete nahrať vaše súbory?", + "Settings.application.customization.modal.upload.from-computer": "Z počítača", + "Settings.application.customization.modal.upload.file-validation": "max. rozmery: {dimension}x{dimension}, max. veľkosť: {size}KB", + "Settings.application.customization.modal.upload.error-format": "Zlý formát (podorované formáty: jpeg, jpg, png, svg).", + "Settings.application.customization.modal.upload.error-size": "Nahrávaný súbor je príliš veľký (max. rozmery: {dimension}x{dimension}, max. veľkosť: {size}KB)", + "Settings.application.customization.modal.upload.error-network": "Chyba pripojenia", + "Settings.application.customization.modal.upload.cta.browse": "Prehľadávať súbory", + "Settings.application.customization.modal.upload.drag-drop": "Drag & Drop alebo", + "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": "Ďalej", + "Settings.application.customization.modal.pending": "Čakajúce logo", + "Settings.application.customization.modal.pending.choose-another": "Vybrať iné logo", + "Settings.application.customization.modal.pending.title": "Logo je pripravené na nahratie", + "Settings.application.customization.modal.pending.subtitle": "Spravovať vybrané logo pred nahratím", + "Settings.application.customization.modal.pending.upload": "Nahrať logo", + "Settings.application.customization.modal.pending.card-badge": "obrázok", "Settings.error": "Chyba", "Settings.global": "Globálne nastavenia", "Settings.permissions": "Oprávnenia", "Settings.permissions.category": "Nastavenie oprávnení pre {category}", + "Settings.permissions.category.plugins": "Nastavenie oprávnení pre {category} plugin", "Settings.permissions.conditions.anytime": "Kedykoľvek", "Settings.permissions.conditions.apply": "Použiť", "Settings.permissions.conditions.can": "Môcť", "Settings.permissions.conditions.conditions": "Zadajte podmienky", "Settings.permissions.conditions.links": "Odkazy", "Settings.permissions.conditions.no-actions": "Akcia neexistuje", + "Settings.permissions.conditions.none-selected": "Kedykoľvek", "Settings.permissions.conditions.or": "ALEBO", "Settings.permissions.conditions.when": "Kedy", + "Settings.permissions.select-all-by-permission": "Vybrať všetky {label} oprávnenia", + "Settings.permissions.select-by-permission": "Vybrať {label} oprávnenie", "Settings.permissions.users.create": "Vytvoriť používateľa", "Settings.permissions.users.email": "Email", "Settings.permissions.users.firstname": "Krstné meno", "Settings.permissions.users.lastname": "Priezvisko", + "Settings.permissions.users.user-status": "Status", + "Settings.permissions.users.roles": "Roly", + "Settings.permissions.users.username": "Používateľské meno", + "Settings.permissions.users.active": "Aktívny", + "Settings.permissions.users.inactive": "Neaktívny", + "Settings.permissions.users.form.sso": "Prepojiť s SSO", + "Settings.permissions.users.form.sso.description": "Ak je dostupný (ON), používatelia sa môžu prihlásiť pomocou SSO", + "Settings.permissions.users.listview.header.subtitle": "Všetci používatelia, ktorí majú prístup do Strapi admin panelu", + "Settings.permissions.users.tabs.label": "Tabs Oprávnenia", + "Settings.permissions.users.strapi-super-admin": "Super Admin", + "Settings.permissions.users.strapi-editor": "Editor", + "Settings.permissions.users.strapi-author": "Autor", + "Settings.profile.form.notify.data.loaded": "Váš profil bol načítaný", + "Settings.profile.form.section.experience.clear.select": "Odstrániť vybraný jazyk rozhrania", + "Settings.profile.form.section.experience.here": "tu", + "Settings.profile.form.section.experience.interfaceLanguage": "Jazyk rozhrania", + "Settings.profile.form.section.experience.interfaceLanguage.hint": "Jazyk bude zmenený iba pre Vaše rozhranie.", + "Settings.profile.form.section.experience.interfaceLanguageHelp": "Tieto nastavenia sa vzťahujú iba na Vás. Viac informácií nájdete {here}.", + "Settings.profile.form.section.experience.mode.label": "Mód rozhrania", + "Settings.profile.form.section.experience.mode.hint": "Mód rozhrania bude zmenený iba pre Vás.", + "Settings.profile.form.section.experience.mode.option-label": "{name} mód", + "light": "Svetlý", + "dark": "Tmavý", + "Settings.profile.form.section.experience.title": "Používateľské rozhranie", + "Settings.profile.form.section.helmet.title": "Profil používateľa", + "Settings.profile.form.section.profile.page.title": "Profil", "Settings.roles.create.description": "Definujte práva priradené role", "Settings.roles.create.title": "Votvoriť rolu", "Settings.roles.created": "Rola bola vytvorená", @@ -83,6 +154,7 @@ "Settings.roles.form.button.users-with-role": "Používatelia s touto rolou", "Settings.roles.form.created": "Vytvorené", "Settings.roles.form.description": "Názov a popis roly", + "Settings.roles.form.permission.property-label": "{label} oprávnenia", "Settings.roles.form.permissions.attributesPermissions": "Oprávnenia polí", "Settings.roles.form.permissions.create": "Vytvoriť", "Settings.roles.form.permissions.delete": "Vymazať", @@ -92,51 +164,72 @@ "Settings.roles.list.button.add": "Pridať novú rolu", "Settings.roles.list.description": "Zoznam rolí", "Settings.roles.title.singular": "Rola", + "Settings.sso.description": "Upravte nastavenia pre Single Sign-On.", + "Settings.sso.form.defaultRole.description": "Prepojí nového autentifikovaného používateľa s vybranou rolou", + "Settings.sso.form.defaultRole.description-not-allowed": "Pre čítanie admin rolí potrebujete mať potrebné oprávnenia", + "Settings.sso.form.defaultRole.label": "Predvolená rola", + "Settings.sso.form.registration.description": "Vytvoriť nového používateľa pri SSO prihlásení, ak taký účet neexistuje", + "Settings.sso.form.registration.label": "Auto-registrácia", + "Settings.sso.title": "Single Sign-On", "Settings.webhooks.create": "Vytvoriť Webhook", - "Settings.webhooks.create.header": "Vytvoriť nový header", + "Settings.webhooks.create.header": "Vytvoriť novú hlavičku", "Settings.webhooks.created": "Webhook bol vytvorený", "Settings.webhooks.event.publish-tooltip": "Táto udalosť existuje iba pre obsah s povoleným Draft/Publish systémom", "Settings.webhooks.events.create": "Vytvoriť", "Settings.webhooks.events.update": "Upraviť", "Settings.webhooks.form.events": "Eventy", - "Settings.webhooks.form.headers": "Headery", + "Settings.webhooks.form.headers": "Hlavičky", "Settings.webhooks.form.url": "Url", + "Settings.webhooks.headers.remove": "Odstrániť riadok hlavičky č. {number}", "Settings.webhooks.key": "Klúč", "Settings.webhooks.list.button.add": "Pridať nový Webhook", "Settings.webhooks.list.description": "Získajte upozornenia na POST request zmeny.", "Settings.webhooks.list.empty.description": "Pridajte Váš prvý webhook do zoznamu.", "Settings.webhooks.list.empty.link": "Pozrieť si našu dokumentáciu", "Settings.webhooks.list.empty.title": "Zatiaľ neexistujú žiadne Webhooky", + "Settings.webhooks.list.th.actions": "akcie", + "Settings.webhooks.list.th.status": "stav", "Settings.webhooks.singular": "Webhook", "Settings.webhooks.title": "Webhooky", - "Settings.webhooks.trigger": "Trigger", - "Settings.webhooks.trigger.cancel": "Zrušiť Trigger", + "Settings.webhooks.to.delete": "{webhooksToDeleteLength, plural, one {# vybraný záznam} few {# vybrané záznamy} other {# vybraných záznamov}}", + "Settings.webhooks.trigger": "Spustiť", + "Settings.webhooks.trigger.cancel": "Zrušiť", "Settings.webhooks.trigger.pending": "Čakám…", - "Settings.webhooks.trigger.save": "Prosím pre Trigger uložte", - "Settings.webhooks.trigger.success": "Úspech!", + "Settings.webhooks.trigger.save": "Pre spustenie najskôr uložte", + "Settings.webhooks.trigger.success": "Podarilo sa!", "Settings.webhooks.trigger.success.label": "Trigger bol úspešný", - "Settings.webhooks.trigger.test": "Test-Trigger", - "Settings.webhooks.trigger.title": "Uložte pred Trigger", + "Settings.webhooks.trigger.test": "Testovacie spustenier", + "Settings.webhooks.trigger.title": "Pred spustením najskôr uložte", "Settings.webhooks.value": "Hodnota", "Username": "Používateľské meno", - "Users": "Používateľ", + "Users": "Používatelia", "Users & Permissions": "Používatelia a oprávnenia", "Users.components.List.empty": "Neexistujú žiadny používatelia...", - "Users.components.List.empty.withFilters": "Neexistujú žiadny používatelia so zvolenými filtrami ...", + "Users.components.List.empty.withFilters": "Neexistujú žiadny používatelia so zvolenými filtrami...", "Users.components.List.empty.withSearch": "Neexistujú žiadny používatelia zodpovedajúci vyhľadávaniu ({search})...", - "app.components.BlockLink.code": "Ukážky kódu", + "anErrorOccurred": "Hups! Niečo sa pokazilo. Prosím, skúste znovu.", + "app.component.CopyToClipboard.label": "Skopírovať do schránky", + "app.component.search.label": "Vyhľadať {target}", + "app.component.table.duplicate": "Duplikovať {target}", + "app.component.table.edit": "Upraviť {target}", + "app.component.table.select.one-entry": "Vybrať {target}", "app.components.Button.cancel": "Zrušiť", - "app.components.Button.reset": "Obnova", + "app.components.Button.confirm": "Potvrdiť", + "app.components.Button.reset": "Obnoviť", "app.components.ComingSoonPage.comingSoon": "Už čoskoro", + "app.components.ConfirmDialog.title": "Potvrdenie", "app.components.DownloadInfo.download": "Prebieha sťahovanie...", "app.components.DownloadInfo.text": "Toto bude chvíľu trvať, prosíme o trpezlivosť.", "app.components.EmptyAttributes.title": "Zatiaľ tu nie sú žiadne políčka", + "app.components.EmptyStateLayout.content-document": "Žiadny nájdený obsah", + "app.components.EmptyStateLayout.content-permissions": "Nemáte oprávnenia pre prístup k tomuto obsahu", "app.components.HomePage.button.blog": "Čítať na blogu", "app.components.HomePage.community": "Nájdite komunitu na webe", "app.components.HomePage.community.content": "Komunikujte s členmi tímu a vývojármi, zdieľajte vaše problémy a nápady.", - "app.components.HomePage.create": "Vytvorte váš prvý typ obsahu", - "app.components.HomePage.welcome": "Vitajte na palube!", - "app.components.HomePage.welcome.again": "Vitajte ", + "app.components.HomePage.create": "Vytvorte váš prvý obsahový typ", + "app.components.HomePage.roadmap": "Pozrite si našu roadmapu", + "app.components.HomePage.welcome": "Vitajte na palube 👋", + "app.components.HomePage.welcome.again": "Vitajte 👋", "app.components.HomePage.welcomeBlock.content": "Sme radi, že ste súčasťou komunity. Vždy sa tešíme na spätnú väzbu, preto nás neváhajte kontaktovať správou", "app.components.HomePage.welcomeBlock.content.again": "Dúfame, že sa vám darí s vaším projektom. Pozrite si čo je nové v Strapi. Vždy sa snažíme vylepšovať produkt na základe spätnej väzby.", "app.components.HomePage.welcomeBlock.content.issues": "problém.", @@ -151,26 +244,35 @@ "app.components.InstallPluginPage.Download.description": "Môže to chvíľu trvať, kým sa plugin stiahne a nainštaluje.", "app.components.InstallPluginPage.Download.title": "Sťahovanie...", "app.components.InstallPluginPage.description": "Rozšírte možnosti aplikácie bez námahy.", + "app.components.LeftMenu.collapse": "Zbaliť navigačný panel", + "app.components.LeftMenu.expand": "Rozbaliť navigačný panel", + "app.components.LeftMenu.general": "Všeoecné", + "app.components.LeftMenu.logout": "Odhlásiť sa", + "app.components.LeftMenu.logo.alt": "Logo aplikácie", + "app.components.LeftMenu.plugins": "Pluginy", + "app.components.LeftMenu.navbrand.title": "Strapi Dashboard", + "app.components.LeftMenu.navbrand.workplace": "Workplace", "app.components.LeftMenuFooter.help": "Pomoc", "app.components.LeftMenuFooter.poweredBy": "Poháňané ", - "app.components.LeftMenuLinkContainer.collectionTypes": "Typy kolekcií", + "app.components.LeftMenuLinkContainer.collectionTypes": "Kolekcie", "app.components.LeftMenuLinkContainer.configuration": "Konfigurácia", "app.components.LeftMenuLinkContainer.general": "Všeobecné", "app.components.LeftMenuLinkContainer.noPluginsInstalled": "Žiadne pluginy nie sú zatiaľ nainštalované", "app.components.LeftMenuLinkContainer.plugins": "Pluginy", - "app.components.LeftMenuLinkContainer.singleTypes": "Jednorazové typy", - "app.components.ListPluginsPage.deletePlugin.description": "Odinštalovanie pluginu môže zabrať pár sekúnd.", - "app.components.ListPluginsPage.deletePlugin.title": "Odinštalujem", - "app.components.ListPluginsPage.description": "Zoznam nainštalovaných pluginov.", + "app.components.LeftMenuLinkContainer.singleTypes": "Jednoduché typy", + "app.components.ListPluginsPage.deletePlugin.description": "Odinštalovanie pluginu môže trvať niekoľko sekúnd.", + "app.components.ListPluginsPage.deletePlugin.title": "Odstraňujem plugin", + "app.components.ListPluginsPage.description": "Zoznam nainštalovaných pluginov v tomto projekte.", "app.components.ListPluginsPage.helmet.title": "Zoznam pluginov", "app.components.Logout.logout": "Odhlásiť sa", "app.components.Logout.profile": "Profil", "app.components.NotFoundPage.back": "Naspať na úvodnú stránku", "app.components.NotFoundPage.description": "Nenájdené", "app.components.Official": "Oficiálne", + "app.components.Onboarding.help.button": "Tlačidlo pomoci", "app.components.Onboarding.label.completed": "% dokončené", "app.components.Onboarding.title": "Začíname", - "app.components.PluginCard.Button.label.download": "Stiahnúť", + "app.components.PluginCard.Button.label.download": "Stiahnuť", "app.components.PluginCard.Button.label.install": "Už nainštalované", "app.components.PluginCard.PopUpWarning.install.impossible.autoReload.needed": "Funkcia autoReload musí byť vypnutá. Prosím zapnite aplikíciu cez `yarn develop`.", "app.components.PluginCard.PopUpWarning.install.impossible.confirm": "Rozumiem!", @@ -179,15 +281,19 @@ "app.components.PluginCard.compatible": "Kompatibilné s vašou aplikáciou", "app.components.PluginCard.compatibleCommunity": "Kompatibilné s komunitou", "app.components.PluginCard.more-details": "Viac detailov", - "app.components.UpgradePlanModal.button": "ZOBRAZIŤ VIAC", + "app.components.ToggleCheckbox.off-label": "False", + "app.components.ToggleCheckbox.on-label": "True", + "app.components.UpgradePlanModal.button": "Zobraziť viac", "app.components.UpgradePlanModal.limit-reached": "Presiahli ste limit", "app.components.UpgradePlanModal.text-ce": "Community Edition", "app.components.UpgradePlanModal.text-ee": "Enterprise Edition", "app.components.UpgradePlanModal.text-power": "Odblokovať plný potenciál", "app.components.UpgradePlanModal.text-strapi": "rozšírením Vášho Strapi plánu na", - "app.components.Users.MagicLink.connect": "Odošlite tento link používateľovi pre spojenie.", + "app.components.Users.MagicLink.connect": "Skopírujte a zazdieľajte tento link používateľovi pre pihlásenie.", + "app.components.Users.MagicLink.connect.sso": "Odošlite tento link používateľovi. Prvé prihlásenie môže byť vykonané cez SSO poskytovateľa", "app.components.Users.ModalCreateBody.block-title.details": "Detaily", "app.components.Users.ModalCreateBody.block-title.roles": "Používateľové roly", + "app.components.Users.ModalCreateBody.block-title.roles.description": "Používateľ môže mať jednu alebo viacer rolí", "app.components.Users.SortPicker.button-label": "Zoradiť podľa", "app.components.Users.SortPicker.sortby.email_asc": "Email (A do Z)", "app.components.Users.SortPicker.sortby.email_desc": "Email (Z do A)", @@ -210,41 +316,66 @@ "app.containers.Users.EditPage.roles-bloc-title": "Priradené roly", "app.containers.Users.ModalForm.footer.button-success": "Vytvoriť používateľa", "app.links.configure-view": "Upraviť zobrazenie", + "app.page.not.found": "Hups! Vyzerá to tak, že stránku, ktorú hľadáte, nevieme nájsť...", "app.static.links.cheatsheet": "CheatSheet", "app.utils.SelectOption.defaultMessage": " ", "app.utils.add-filter": "Pridať filter", + "app.utils.close-label": "Zavrieť", "app.utils.defaultMessage": " ", + "app.utils.duplicate": "Duplikovať", + "app.utils.edit": "Upraviť", + "app.utils.delete": "Vymazať", "app.utils.errors.file-too-big.message": "Súbor je príliš veľký", + "app.utils.filter-value": "Hodnota filtra", "app.utils.filters": "Filtre", + "app.utils.notify.data-loaded": "{target} sa načítal", "app.utils.placeholder.defaultMessage": " ", "app.utils.publish": "Publikovať", "app.utils.select-all": "Zvoliť všetky", + "app.utils.select-field": "Zvoliť políčko", + "app.utils.select-filter": "Zvoliť filter", "app.utils.unpublish": "Odpublikovať", + "clearLabel": "Vyčistiť", + "coming.soon": "Tento obsah sa práve pripravuje a bude dostupný už o niekoľko týždňov!", "component.Input.error.validation.integer": "Táto hodnota musí byť číslo", "components.AutoReloadBlocker.description": "Spustite Strapi s jedným z nasledujúcich príkazov:", "components.AutoReloadBlocker.header": "Pre tento plugin je požadované opätovné načítanie stránky.", "components.ErrorBoundary.title": "Niečo sa pokazilo...", + "components.FilterOptions.FILTER_TYPES.$contains": "obsahuje (case sensitive)", + "components.FilterOptions.FILTER_TYPES.$endsWith": "končí na", + "components.FilterOptions.FILTER_TYPES.$eq": "je", + "components.FilterOptions.FILTER_TYPES.$gt": "je väčší ako", + "components.FilterOptions.FILTER_TYPES.$gte": "je väčší alebo rovný ako", + "components.FilterOptions.FILTER_TYPES.$lt": "je menší ako", + "components.FilterOptions.FILTER_TYPES.$lte": "je menčí alebo rovný ako", + "components.FilterOptions.FILTER_TYPES.$ne": "sa nerovná", + "components.FilterOptions.FILTER_TYPES.$notContains": "neobsahuje (case sensitive)", + "components.FilterOptions.FILTER_TYPES.$notNull": "nie je null", + "components.FilterOptions.FILTER_TYPES.$null": "je null", + "components.FilterOptions.FILTER_TYPES.$startsWith": "začína na", "components.Input.error.attribute.key.taken": "Táto hodnota už existuje", "components.Input.error.attribute.sameKeyAndName": "Nemôže sa rovnať", - "components.Input.error.attribute.taken": "Názov tohto políčka už existuje", - "components.Input.error.contain.lowercase": "Heslo musí obsahovať aspoň jeden znak malého písmena", + "components.Input.error.attribute.taken": "Plíčko s týmto názvom už existuje", + "components.Input.error.contain.lowercase": "Heslo musí obsahovať aspoň jedno malé písmeno", "components.Input.error.contain.number": "Heslo musí obsahovať aspoň jedno číslo", - "components.Input.error.contain.uppercase": "Heslo musí obsahovať aspoň jeden znak veľkého písmena", - "components.Input.error.contentTypeName.taken": "Toto meno už existuje", + "components.Input.error.contain.uppercase": "Heslo musí obsahovať aspoň jedo veľké písmeno", + "components.Input.error.contentTypeName.taken": "Obsahový typ s týmto názvom už existuje", "components.Input.error.custom-error": "{errorMessage} ", "components.Input.error.password.noMatch": "Heslá sa nezhodujú", "components.Input.error.validation.email": "Neplatná e-mailová adresa", "components.Input.error.validation.json": "Táto hodnota nespĺňa JSON formát", + "components.Input.error.validation.lowercase": "Táto hodnota môže obrahovať iba malé písmená", "components.Input.error.validation.max": "Táto hodnota je príliš vysoká.", "components.Input.error.validation.maxLength": "Táto hodnota je príliš dlhá.", "components.Input.error.validation.min": "Táto hodnota je príliš nízka.", "components.Input.error.validation.minLength": "Táto hodnota je príliš krátka.", "components.Input.error.validation.minSupMax": "Nemôže byť nadriadený", - "components.Input.error.validation.regex": "Táto hodnota nespĺňa požadovaný vzor.", + "components.Input.error.validation.regex": "Táto hodnota nespĺňa požadovaný vzor (regex).", "components.Input.error.validation.required": "Táto hodnota je povinná.", "components.Input.error.validation.unique": "Táto hodnota sa už používa.", "components.InputSelect.option.placeholder": "Vyberte", - "components.ListRow.empty": "Žiadne dáta.", + "components.ListRow.empty": "Žiadne dáta na zobrazenie.", + "components.NotAllowedInput.text": "Nedostatočé oprávenia na zobrazenie tohto poľa", "components.OverlayBlocker.description": "Používate funkciu, ktorá vyžaduje reštart servera. Počkajte prosím, kým bude server pripravený.", "components.OverlayBlocker.description.serverError": "Server by sa mal teraz reštartovať. Skontrolujte logy v terminály.", "components.OverlayBlocker.title": "Čaká sa na reštart...", @@ -253,6 +384,9 @@ "components.ProductionBlocker.description": "Z bezpečnostných dôvodov je tento plugin zablokovaný v iných prostrediach.", "components.ProductionBlocker.header": "Tento plugin je dostupný iba v development prostredí.", "components.Search.placeholder": "Hľadať...", + "components.TableHeader.sort": "Zoradiť podľa {label}", + "components.Wysiwyg.ToggleMode.markdown-mode": "Markdown mód", + "components.Wysiwyg.ToggleMode.preview-mode": "Mód náhľadu", "components.Wysiwyg.collapse": "Zbaliť", "components.Wysiwyg.selectOptions.H1": "Nadpis H1", "components.Wysiwyg.selectOptions.H2": "Nadpis H2", @@ -265,27 +399,54 @@ "components.WysiwygBottomControls.fullscreen": "Rozbaliť", "components.WysiwygBottomControls.uploadFiles": "Pretiahnite súbory, vložte zo schránky alebo {browse}.", "components.WysiwygBottomControls.uploadFiles.browse": "vyberte", + "components.pagination.go-to": "Ísť na stranu {page}", + "components.pagination.go-to-next": "Ísť na nasledujúcu stranu", + "components.pagination.go-to-previous": "Ísť na predošlú stranu", + "components.pagination.remaining-links": "Pridať {number} ďalších odkazov", "components.popUpWarning.button.cancel": "Nie, zrušiť", "components.popUpWarning.button.confirm": "Áno, potvrdiť", "components.popUpWarning.message": "Ste si istý, že to chcete odstrániť?", "components.popUpWarning.title": "Prosím potvrďte", + "content-manager.App.schemas.data-loaded": "Schéma bola úspešne načítaná", + "content-manager.DynamicTable.relation-loaded": "Prepojenia boli úspešne načítané", + "content-manager.DynamicTable.relation-loading": "Prepojenia sa načítavajú", + "content-manager.DynamicTable.relation-more": "Toto prepojenie obsahuje viac záznamov, ako je zobrazených", "content-manager.EditRelations.title": "Relačné dáta", + "content-manager.HeaderLayout.button.label-add-entry": "Nový záznam", + "content-manager.api.id": "API ID", "content-manager.components.AddFilterCTA.add": "Filtre", "content-manager.components.AddFilterCTA.hide": "Filtre", + "content-manager.components.DragHandle-label": "Pretiahnuť", "content-manager.components.DraggableAttr.edit": "Kliknutím upravte", + "content-manager.components.DraggableCard.delete.field": "Odstrániť {item}", + "content-manager.components.DraggableCard.edit.field": "Upraviť {item}", + "content-manager.components.DraggableCard.move.field": "Presunúť {item}", + "content-manager.components.DynamicTable.row-line": "riadok {number}", + "content-manager.components.DynamicZone.ComponentPicker-label": "Vyberte komponent", + "content-manager.components.DynamicZone.add-component": "Pridať komponent do {componentName}", + "content-manager.components.DynamicZone.delete-label": "Odstrániť {name}", + "content-manager.components.DynamicZone.error-message": "Komponent obsahuje chybu(y)", + "content-manager.components.DynamicZone.missing-components": "{number, plural, one {Chýba # komponent} few {Chýbajú # komponenty} other {Chýba # komponentov}}", + "content-manager.components.DynamicZone.move-down-label": "Posunúť komponent nižšie", + "content-manager.components.DynamicZone.move-up-label": "Posunúť komponent vyššie", "content-manager.components.DynamicZone.pick-compo": "Vyberte jeden komponent", "content-manager.components.DynamicZone.required": "Komponent je povinný", "content-manager.components.EmptyAttributesBlock.button": "Prejsť do nastavení", "content-manager.components.EmptyAttributesBlock.description": "Môžte upravovať nastavenia", "content-manager.components.FieldItem.linkToComponentLayout": "Nastaviť rozloženie komponenty", + "content-manager.components.FieldSelect.label": "Pridať políčko", "content-manager.components.FilterOptions.button.apply": "Použiť", "content-manager.components.FiltersPickWrapper.PluginHeader.actions.apply": "Použiť", "content-manager.components.FiltersPickWrapper.PluginHeader.actions.clearAll": "Zmazať všetko", - "content-manager.components.FiltersPickWrapper.PluginHeader.description": "Nastavte podmienky pre filtrovanie záznamov", + "content-manager.components.FiltersPickWrapper.PluginHeader.description": "Nastaviť podmienky pre filtrovanie záznamov", "content-manager.components.FiltersPickWrapper.PluginHeader.title.filter": "Filtre", "content-manager.components.FiltersPickWrapper.hide": "Skryť", + "content-manager.components.LeftMenu.Search.label": "Vyhľadávať obsahový typ", + "content-manager.components.LeftMenu.collection-types": "Collection Types", + "content-manager.components.LeftMenu.single-types": "Single Types", "content-manager.components.LimitSelect.itemsPerPage": "Položky na stránku", - "content-manager.components.NotAllowedInput.text": "Nemáte oprávnenia na videnie tohto políčka", + "content-manager.components.NotAllowedInput.text": "Nemáte oprávnenia na zobrazenie tohto políčka", + "content-manager.components.RepeatableComponent.error-message": "Jeden alebo viac komponentov obsahuje chybu(y)", "content-manager.components.Search.placeholder": "Hľadať záznam...", "content-manager.components.Select.draft-info-title": "Stav: Návrh", "content-manager.components.Select.publish-info-title": "Stav: Publikované", @@ -294,30 +455,33 @@ "content-manager.components.SettingsViewWrapper.pluginHeader.title": "Nastavenia zobrazenia - {name}", "content-manager.components.TableDelete.delete": "Zmazať všetko", "content-manager.components.TableDelete.deleteSelected": "Odstrániť vyznačené", + "content-manager.components.TableDelete.label": "{number, plural, one {# vybraný záznam} few {# vybrané záznamy} other {# vybraných záznamov}}", "content-manager.components.TableEmpty.withFilters": "Nenašiel sa žiaden {contentType} pre dané filtre...", "content-manager.components.TableEmpty.withSearch": "Nenašiel sa žiaden {contentType} spĺňujúci výraz ({search})...", "content-manager.components.TableEmpty.withoutFilter": "Žiadne záznamy", "content-manager.components.empty-repeatable": "Zatiaľ žiadne záznamy. Pridajte nový kliknutím na tlačidlo nižšie.", "content-manager.components.notification.info.maximum-requirement": "Dosiahli ste maximálny počet políčok", "content-manager.components.notification.info.minimum-requirement": "Políčko bolo pridané aby spĺňalo minimálne požiadavky", + "content-manager.components.repeatable.reorder.error": "Počas preusporiadavania došlo k chybe, prosím skúste znovu", "content-manager.components.reset-entry": "Zrušiť záznam", "content-manager.components.uid.apply": "použiť", "content-manager.components.uid.available": "dostupné", - "content-manager.components.uid.regenerate": "vygenerovať znova", + "content-manager.components.uid.regenerate": "pregenerovať", "content-manager.components.uid.suggested": "odporúčané", "content-manager.components.uid.unavailable": "nedostupné", "content-manager.containers.Edit.Link.Layout": "Upraviť rozloženie", - "content-manager.containers.Edit.Link.Model": "Upraviť Typ obsahu", + "content-manager.containers.Edit.Link.Model": "Upraviť obrahový typ", "content-manager.containers.Edit.addAnItem": "Pridať položku...", - "content-manager.containers.Edit.clickToJump": "Kliknutím zobrazte záznam", + "content-manager.containers.Edit.clickToJump": "Kliknutím zobrazte položku", "content-manager.containers.Edit.delete": "Zmazať", "content-manager.containers.Edit.delete-entry": "Zmazať túto položku", "content-manager.containers.Edit.editing": "Úprava...", - "content-manager.containers.Edit.information": "Informácia", - "content-manager.containers.Edit.information.by": "Od", + "content-manager.containers.Edit.information": "Informácie", + "content-manager.containers.Edit.information.by": "Autor", + "content-manager.containers.Edit.information.created": "Vytvorené", "content-manager.containers.Edit.information.draftVersion": "verzia návrhu", "content-manager.containers.Edit.information.editing": "Upravuje sa", - "content-manager.containers.Edit.information.lastUpdate": "Posledná úprava", + "content-manager.containers.Edit.information.lastUpdate": "Naposledy upravené", "content-manager.containers.Edit.information.publishedVersion": "publikovaná verzia", "content-manager.containers.Edit.pluginHeader.title.new": "Vytvoriť záznam", "content-manager.containers.Edit.reset": "Zrušiť", @@ -325,6 +489,7 @@ "content-manager.containers.Edit.seeDetails": "Detaily", "content-manager.containers.Edit.submit": "Uložiť", "content-manager.containers.EditSettingsView.modal-form.edit-field": "Upraviť políčko", + "content-manager.containers.EditView.add.new-entry": "Pridať záznam", "content-manager.containers.EditView.notification.errors": "Formulár obsahuje chyby", "content-manager.containers.Home.introduction": "Pre úpravu záznamov kliknite na konkrétny link v ľavom menu.", "content-manager.containers.Home.pluginHeaderDescription": "Spravujte obsah cez robustné a intuitívne rozhranie.", @@ -333,6 +498,7 @@ "content-manager.containers.List.errorFetchRecords": "Chyba", "content-manager.containers.List.published": "Publikované", "content-manager.containers.ListPage.displayedFields": "Zobrazené políčka", + "content-manager.containers.ListPage.items": "{number, plural, =0 {položiek} one {položka} few {položky} other {položiek}}", "content-manager.containers.ListPage.table-headers.publishedAt": "Stav", "content-manager.containers.ListSettingsView.modal-form.edit-label": "Upraviť popis", "content-manager.containers.SettingPage.add.field": "Vložiť ďalšie políčko", @@ -341,6 +507,7 @@ "content-manager.containers.SettingPage.editSettings.description": "Potiahnutím nastavte rozloženie políčok", "content-manager.containers.SettingPage.editSettings.entry.title": "Názov záznamu", "content-manager.containers.SettingPage.editSettings.entry.title.description": "Nastavte zobrazené políčko záznamu", + "content-manager.containers.SettingPage.editSettings.relation-field.description": "Nastaviť pole na zobrazenie v oboch zobrazeniach (zoznam, upravenie)", "content-manager.containers.SettingPage.editSettings.title": "Upraviť zobrazenie (nastavenia)", "content-manager.containers.SettingPage.layout": "Rozloženie", "content-manager.containers.SettingPage.listSettings.description": "Konfigurovať možnosti pre tento typ kolekcie", @@ -350,13 +517,15 @@ "content-manager.containers.SettingPage.view": "Vzhľad", "content-manager.containers.SettingViewModel.pluginHeader.title": "Správca obsahu - {name}", "content-manager.containers.SettingsPage.Block.contentType.description": "Nastavte špecifické vlastnosti", - "content-manager.containers.SettingsPage.Block.contentType.title": "Typy kolekcií", - "content-manager.containers.SettingsPage.Block.generalSettings.description": "Konfigurovať predvolené možnosti pre Vaše typy kolekcií", + "content-manager.containers.SettingsPage.Block.contentType.title": "Kolekcie", + "content-manager.containers.SettingsPage.Block.generalSettings.description": "Konfigurovať predvolené možnosti pre Vaše kolekcie", "content-manager.containers.SettingsPage.Block.generalSettings.title": "Všeobecné", - "content-manager.containers.SettingsPage.pluginHeaderDescription": "Konfigurovať nastavenia pre všetky Vaše typy kolekcií a skupín", - "content-manager.containers.SettingsView.list.subtitle": "Konfigurovať rozloženie a zobrazenie stránky Vaších typov kolekcií a skupín", + "content-manager.containers.SettingsPage.pluginHeaderDescription": "Konfigurovať nastavenia pre všetky Vaše kolekcie a skupiny", + "content-manager.containers.SettingsView.list.subtitle": "Konfigurovať rozloženie a zobrazenie stránky Vaších kolekcií a skupín", "content-manager.containers.SettingsView.list.title": "Zobraziť nastavenia", - "content-manager.emptyAttributes.button": "Ísť do tvorcu typov kolekcií", + "content-manager.edit-settings-view.link-to-ctb.components": "Upraviť komponent", + "content-manager.edit-settings-view.link-to-ctb.content-types": "Upraviť obsahový typ", + "content-manager.emptyAttributes.button": "Ísť do tvorcu kolekcií", "content-manager.emptyAttributes.description": "Pridať prvé políčko do Vašej kolekcie", "content-manager.emptyAttributes.title": "Zatiaľ tu nie sú žiadne políčka", "content-manager.error.attribute.key.taken": "Táto hodnota už existuje", @@ -394,32 +563,75 @@ "content-manager.form.Input.search": "Povoliť vyhľadávanie", "content-manager.form.Input.search.field": "Povoliť vyhľadávanie na tomto políčku", "content-manager.form.Input.sort.field": "Povoliť zoradenie na tomto políčku", + "content-manager.form.Input.sort.order": "Predvolené zoradenie", "content-manager.form.Input.wysiwyg": "Zobraziť ako WYSIWYG", "content-manager.global.displayedFields": "Zobrazené políčka", "content-manager.groups": "Skupiny", "content-manager.groups.numbered": "Skupiny ({number})", - "content-manager.models": "Typy kolekcií", - "content-manager.models.numbered": "Typy kolekcií ({number})", + "content-manager.header.name": "Obsah", + "content-manager.link-to-ctb": "Upraviť model", + "content-manager.models": "Kolekcie", + "content-manager.models.numbered": "Kolekcie ({number})", "content-manager.notification.error.displayedFields": "Aspoň jedno políčko musí byť zobrazené", "content-manager.notification.error.relationship.fetch": "Nastala chyba pri načitávaní vzťahu.", "content-manager.notification.info.SettingPage.disableSort": "Aspoň jedno políčko musí mať nastavené zoradenie", "content-manager.notification.info.minimumFields": "Aspoň jedno políčko musí byť zobrazené", "content-manager.notification.upload.error": "Nastala chyba pri nahrávaní súborov", "content-manager.pageNotFound": "Stránka nebola nájdená", + "content-manager.pages.ListView.header-subtitle": "{number, plural, =0 {# nájdených záznamov} one {# nájdený záznam} few {# nájdené záznamy} other {# nájdených záznamov}}", + "content-manager.pages.NoContentType.button": "Vytvore svoj prvý obsahový typ", + "content-manager.pages.NoContentType.text": "Nemáte vytvorené žiadne obsahové type. Vytvorte svoj prvý obsahový typ.", "content-manager.permissions.not-allowed.create": "Nemáte oprávnenia na vytvorenie dokumentu", "content-manager.permissions.not-allowed.update": "Nemáte oprávnenia na čítanie dokumentu", "content-manager.plugin.description.long": "Jednoduchý spôsob zobrazenia a úpravy dát v databáze.", "content-manager.plugin.description.short": "Jednoduchý spôsob zobrazenia a úpravy dát v databáze.", + "content-manager.popover.display-relations.label": "Zobraziť prepojenia", + "content-manager.select.currently.selected": "{count} aktuálne vybrané", "content-manager.success.record.delete": "Zmazané", "content-manager.success.record.publish": "Publikované", "content-manager.success.record.save": "Uložené", "content-manager.success.record.unpublish": "Nepublikované", - "content-manager.popUpWarning.warning.publish-question": "Stále si prajete to publikovať", - "content-manager.popUpWarning.warning.updateAllSettings": "Toto upraví všetky vaše nastavenia", + "content-manager.utils.data-loaded": "{number, plural, =1 {Záznam bol úspešne načítaný} other {Záznamy boli úspešne načítané}}", + "content-manager.apiError.This attribute must be unique": "Pole {field} musí byť jedinečné", + "content-manager.popUpWarning.warning.has-draft-relations.title": "Potvrdenie", + "content-manager.popUpWarning.warning.publish-question": "Stále si prajete publikovať?", "content-manager.popUpwarning.warning.has-draft-relations.button-confirm": "Áno, publikovať", + "content-manager.popUpwarning.warning.has-draft-relations.message": "{count, plural, one { prepojenie nie je publikované } few { prepojenia nie sú publikované } other { prepojení nie je publikovaných } }, čo môže viesť k neočakávanému správaniu.", + "form.button.continue": "Pokračovať", "form.button.done": "Hotovo", + "global.search": "Hľadať", + "global.actions": "Akcie", + "global.back": "Späť", + "global.cancel": "Zrušiť", + "global.change-password": "Zmeniť heslo", + "global.content-manager": "Správca obsahu", + "global.continue": "Pokračovať", + "global.delete": "Vymazať", + "global.delete-target": "Vymazať {target}", + "global.description": "Popis", + "global.details": "Detaily", + "global.disabled": "Disabled", + "global.documentation": "Dokumentácia", + "global.enabled": "Enabled", + "global.finish": "Dokončiť", + "global.marketplace": "Marketplace", + "global.name": "Meno", + "global.none": "Žiadne", + "global.password": "Heslo", + "global.plugins": "Pluginy", + "global.profile": "Profil", "global.prompt.unsaved": "Ak opustíte túto stránku všetky zmeny budú zahodené. Chcete pokračovať?", - "notification.contentType.relations.conflict": "Niektoré vzťahy v type obsahu sú konfliktné", + "global.reset-password": "Obnoviť heslo", + "global.roles": "Roly", + "global.save": "Uložiť", + "global.see-more": "Zobraziť viac", + "global.select": "Vybrať", + "global.select-all-entries": "Vybrať všetky záznamy", + "global.settings": "Nastavenia", + "global.type": "Typ", + "global.users": "Používatelia", + "notification.contentType.relations.conflict": "Niektoré prepojenia v obsahovom type sú konfliktné", + "notification.default.title": "Informácie:", "notification.error": "Nastala chyba", "notification.error.layout": "Nepodarilo sa načítať rozloženie", "notification.form.error.fields": "Formulár obsahuje chyby", @@ -428,5 +640,15 @@ "notification.permission.not-allowed-read": "Nemáte povolený prístup k tomuto dokumentu", "notification.success.delete": "Položka bola odstránená", "notification.success.saved": "Uložené", - "request.error.model.unknown": "Tento model neexistuje" + "notification.success.title": "Podarilo sa:", + "notification.success.tokencreated": "API Token úspešne vytvorený", + "notification.success.tokenedited": "API Token úspešne upravený", + "notification.error.tokennamenotunique": "Názov už je priradený inému tokenu", + "notification.version.update.message": "Nová verzia Strapi je dostupná!", + "notification.warning.title": "Upozornenie:", + "notification.warning.404": "404 - nenájdené", + "or": "ALEBO", + "request.error.model.unknown": "Tento model neexistuje", + "skipToContent": "Prejsť na obsah", + "submit": "Odoslať" } diff --git a/packages/core/admin/package.json b/packages/core/admin/package.json index 6d96da2ce6..e256921cd9 100644 --- a/packages/core/admin/package.json +++ b/packages/core/admin/package.json @@ -107,7 +107,7 @@ "p-map": "4.0.0", "passport-local": "1.0.0", "prop-types": "^15.7.2", - "qs": "6.10.1", + "qs": "6.11.0", "react": "^17.0.2", "react-copy-to-clipboard": "^5.1.0", "react-dnd": "^14.0.2", diff --git a/packages/core/helper-plugin/package.json b/packages/core/helper-plugin/package.json index e5ac1e6e4d..4828418146 100644 --- a/packages/core/helper-plugin/package.json +++ b/packages/core/helper-plugin/package.json @@ -51,7 +51,7 @@ "invariant": "^2.2.1", "lodash": "4.17.21", "match-sorter": "^4.0.2", - "qs": "6.10.1", + "qs": "6.11.0", "react": "^17.0.2", "react-dom": "^17.0.2", "react-helmet": "^6.1.0", diff --git a/packages/core/strapi/package.json b/packages/core/strapi/package.json index 5d708faedb..a51a412eb6 100644 --- a/packages/core/strapi/package.json +++ b/packages/core/strapi/package.json @@ -127,7 +127,7 @@ "open": "8.4.0", "ora": "5.4.1", "package-json": "7.0.0", - "qs": "6.10.1", + "qs": "6.11.0", "resolve-cwd": "3.0.0", "semver": "7.3.8", "statuses": "2.0.1", diff --git a/packages/core/upload/admin/src/translations/sk.json b/packages/core/upload/admin/src/translations/sk.json index 0390ca27d4..2c28c44377 100644 --- a/packages/core/upload/admin/src/translations/sk.json +++ b/packages/core/upload/admin/src/translations/sk.json @@ -1,7 +1,11 @@ { + "apiError.FileTooBig": "Nahrávaný súbor prekročil maximálnu povolenú veľkosť.", + "upload.generic-error": "Počas nahrávania súboru nastala chyba.", + "bulk.select.label": "Vybrať všetky súbory", "button.next": "Ďalej", "checkControl.crop-duplicate": "Duplikovať a orezať prílohu", "checkControl.crop-original": "Orezať originál prílohy", + "content.isLoading": "Obsah sa načítava.", "control-card.add": "Pridať", "control-card.cancel": "Zrušiť", "control-card.copy-link": "Skopírovať odkaz", @@ -10,63 +14,105 @@ "control-card.edit": "Upraviť", "control-card.replace-media": "Nahradiť súbor", "control-card.save": "Uložiť", + "control-card.stop-crop": "Ukončiť orezávanie", "filter.add": "Pridať filter", "form.button.replace-media": "Nahradiť súbor", - "form.input.decription.file-alt": "Tento text sa ukáže, keď súbor nemôže byť zobrazený.", + "form.input.decription.file-alt": "Tento text sa ukáže, keď sa súbor nepodarí zobraziť.", "form.input.label.file-alt": "Alternatívny text", "form.input.label.file-caption": "Popis", "form.input.label.file-name": "Názov súboru", "form.upload-url.error.url.invalid": "Jedna URL adresa je neplatná", "form.upload-url.error.url.invalids": "{number} URL adresy/ies sú/je neplatné/ých ", - "header.actions.upload-assets": "Nahrať súbor", - "header.content.assets": "{numberFolders, plural, one {1 folder} other {# folders}} - {numberAssets, plural, one {1 súbor} other {# súbory/ov}}", + "header.actions.add-assets": "Nový súbor", + "header.actions.add-folder": "Nový priečinok", + "header.actions.add-assets.folder": "priečinok", + "header.actions.upload-assets": "Nahrať súbory", + "header.actions.upload-new-asset": "Nahrať nový súbor", + "header.content.assets-empty": "Žiadne súbory", + "header.content.assets": "{numberFolders, plural, one {1 priečinok} few {# priečinky} other {# priečinkov}} - {numberAssets, plural, one {1 súbor} few {# súbory} other {# súborov}}", "input.button.label": "Prehliadať súbory", + "input.label": "Drag & Drop alebo", "input.label-bold": "Drag & drop", "input.label-normal": "pre nahratie alebo", "input.placeholder": "Kliknite pre vybratie súboru alebo pretiahnite súbor do tejto zóny", - "input.url.description": "Oddeľte vaše URL odkazy pomocou znaku nového riadku.", + "input.placeholder.icon": "Pustite súbor v tejto zóne", + "input.url.description": "Každý URL odkaz zadajte na nový riadok.", "input.url.label": "URL", + "list.assets.title": "Súbory", + "list.asset.at.finished": "Načítavanie súbor ukončené.", + "list.assets-empty.search": "Žiadne výsledky", "list.assets-empty.subtitle": "Pridať jeden do zoznamu.", "list.assets-empty.title": "Zaitaľ neexistujú žiadne súbory", "list.assets-empty.title-withSearch": "Neexistujú žiadne súbory so zvoleným filtrom", + "list.assets.empty": "Knižnica súborov je prázdna", + "list.assets.empty-upload": "Nahrajte Vaše prvé súbory...", + "list.assets.empty.no-permissions": "Nemáte oprávnenie na zobrazenie", + "list.assets.loading-asset": "Načítavam náhľad pre súbor: {path}", + "list.assets.not-supported-content": "Náhľad nie je k dispozícii", + "list.assets.preview-asset": "Náhľad pre video na {path}", + "list.assets.selected": "{numberFolders, plural, one {# priečinok} few {# priečinky} other {# priečinkov}} - {numberAssets, plural, one {# súbor} few {# súbory} other {# súborov}}", "list.assets.type-not-allowed": "Tento typ súboru nie je podporovaný.", + "list.assets.to-upload": "{number, plural, =0 {Žiaden súbor} one {1 súbor pripravený} few {# súbory pripravené} other {# súborov pripravených}} na nahratie", + "list.folder.edit": "Upraviť priečinok", + "list.folder.subtitle": "{folderCount, plural, one {# priečinok} few {# priečinky} other {# priečinkov}}, {filesCount, plural, one {# súbor} few {# súbory} other {# súborov}}", + "list.folders.title": "Priečinky", + "mediaLibraryInput.actions.nextSlide": "Ďalší slide", + "mediaLibraryInput.actions.previousSlide": "Predošlý slide", + "mediaLibraryInput.placeholder": "Pre pridanie súboru kliknite sem, alebo potiahnite súbor do tejto zóny", + "mediaLibraryInput.slideCount": "{n} z {m} slidov", "modal.file-details.date": "Dátum", - "modal.file-details.dimensions": "Dimenzie", - "modal.file-details.extension": "Súborová prípona", + "modal.file-details.dimensions": "Rozmery", + "modal.file-details.extension": "Prípona súboru", "modal.file-details.size": "Veľkosť", + "modal.file-details.id": "ID súboru", + "modal.folder.elements.count": "{folderCount} priečinkov, {assetCount} súborov", "modal.header.browse": "Nahrať súbory", - "modal.header.file-detail": "Detaily", + "modal.header.file-detail": "Podrobnosti", "modal.header.pending-assets": "Čakajúce súbory", "modal.header.select-files": "Označené súbory", - "modal.nav.browse": "prezerať", - "modal.nav.computer": "z počítača", - "modal.nav.selected": "zvolené", - "modal.nav.url": "z url adresy", + "modal.header.go-back": "Ísť späť", + "modal.folder.move.title": "Presunúť do", + "modal.nav.browse": "prehliadať", + "modal.nav.computer": "Z počítača", + "modal.nav.selected": "vybrané", + "modal.nav.url": "Z URL adresy", + "modal.remove.success-label": "Záznamy boli úspešne vymazané.", + "modal.move.success-label": "Záznamy boli úspečne presunuté", "modal.selected-list.sub-header-subtitle": "Pretiahnite súbor pre zmenenie poradia súborov v poli.", + "modal.upload-list.footer.button": "Nahrať {number, plural, one {# súbor} few {# súbory} other {# súborov}} do knižnice", "modal.upload-list.sub-header-subtitle": "Spravujte súbory pred ich pridaním do súborovej knižnice", "modal.upload-list.sub-header.button": "Pridať viac súborov", + "modal.upload.cancelled": "Nahrávanie bolo manuálne prerušené.", + "page.title": "Nastavenia - Knižnica súborov", + "permissions.not-allowed.update": "Nemáte oprávnenie upravovať tento súbor.", "plugin.description.long": "Správa súboru.", "plugin.description.short": "Správa súboru.", "plugin.name": "Knižnica súborov", + "search.clear.label": "Vyčistiť vyhľadávanie", + "search.label": "Vyhľadávať súbor", "search.placeholder": "Vyhľadávať súbor...", - "settings.form.autoOrientation.description": "Automaticky otáčať obrázky podľa EXIF orientation tag", - "settings.form.autoOrientation.label": "Povoliť auto orientation", + "settings.blockTitle": "Správa súborov", + "settings.form.autoOrientation.description": "Automaticky otáčať obrázky podľa EXIF orientation tagu.", + "settings.form.autoOrientation.label": "Auto-orientácia", "settings.form.responsiveDimensions.description": "Automaticky budú vygenerované rôzne veľkosti Vami nahrávaných súborov (large, medium, small)", - "settings.form.responsiveDimensions.label": "Povoliť responsive-friendly nahrávanie súborov", - "settings.form.sizeOptimization.label": "Povoliť optimalizovanie veľkosti obrázkov (bez straty kvality)", + "settings.form.responsiveDimensions.label": "Responsive-friendly nahrávanie súborov", + "settings.form.sizeOptimization.description": "Zapnutím tohto nastavenia sa zníži veľkosť nahrávaných obrázkov a mierne sa zníži ich kvalita.", + "settings.form.sizeOptimization.label": "Optimalizácia veľkosti obrázkov", "settings.form.videoPreview.description": "Automaticky budú vygenerované 6-sekundové ukážky videa (GIF)", "settings.form.videoPreview.label": "Ukážka", - "settings.header.label": "Media Library - Settings", - "settings.section.image.label": "OBRÁZOK", - "settings.section.video.label": "VIDEO", + "settings.header.label": "Knižnica súborov", + "settings.section.doc.label": "Dokument", + "settings.section.image.label": "Obrázok", + "settings.section.video.label": "Video", "settings.sub-header.label": "Konfigurovať nastavenia knižnice súborov", - "sort.created_at_asc": "Najstaršie súbory", - "sort.created_at_desc": "Najnovšie súbory", + "sort.created_at_asc": "Od najstarších", + "sort.created_at_desc": "Od najnovších", "sort.label": "Zoradiť podľa", - "sort.name_asc": "Abecedné poradie (A do Z)", - "sort.name_desc": "Opačné abecedné poradie (Z do A)", - "sort.updated_at_asc": "Najstaršie upravené súbory", - "sort.updated_at_desc": "Najnovšie upravené súbory", + "sort.name_asc": "Abecedne od A po Z", + "sort.name_desc": "Abecedne od Z po A", + "sort.updated_at_asc": "Od najstaršie upravených", + "sort.updated_at_desc": "Od najnovšie upravených", + "tabs.title": "Ako si prajete nahrať Vaše súbory?", "window.confirm.close-modal.file": "Ste si istý? Vaše zmeny budú zahodené.", "window.confirm.close-modal.files": "Ste si istý? Existujú súbory, ktoré zatiaľ ešte neboli nahraté." } diff --git a/yarn.lock b/yarn.lock index 4788243889..d2221c3966 100644 --- a/yarn.lock +++ b/yarn.lock @@ -19137,13 +19137,6 @@ q@^1.5.1: resolved "https://registry.yarnpkg.com/q/-/q-1.5.1.tgz#7e32f75b41381291d04611f1bf14109ac00651d7" integrity sha512-kV/CThkXo6xyFEZUugw/+pIOywXcDbFYgSct5cT3gqlbkBE1SJdwy6UQoZvodiWF/ckQLZyDE/Bu1M6gVu5lVw== -qs@6.10.1: - version "6.10.1" - resolved "https://registry.yarnpkg.com/qs/-/qs-6.10.1.tgz#4931482fa8d647a5aab799c5271d2133b981fb6a" - integrity sha512-M528Hph6wsSVOBiYUnGf+K/7w0hNshs/duGsNXPUCLH5XAqjEtiPGwNONLV0tBH8NoGb0mvD5JubnUTrujKDTg== - dependencies: - side-channel "^1.0.4" - qs@6.10.3: version "6.10.3" resolved "https://registry.yarnpkg.com/qs/-/qs-6.10.3.tgz#d6cde1b2ffca87b5aa57889816c5f81535e22e8e"