@strapi/admin 4.5.0-alpha.0 → 4.5.0-beta.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (191) hide show
  1. package/admin/src/StrapiApp.js +4 -12
  2. package/admin/src/components/Providers/index.js +14 -10
  3. package/admin/src/content-manager/components/CollectionTypeFormWrapper/index.js +24 -0
  4. package/admin/src/content-manager/components/DynamicTable/TableRows/index.js +20 -15
  5. package/admin/src/content-manager/components/DynamicZone/components/Component/index.js +19 -9
  6. package/admin/src/content-manager/components/EditViewDataManagerProvider/index.js +50 -3
  7. package/admin/src/content-manager/components/EditViewDataManagerProvider/reducer.js +50 -9
  8. package/admin/src/content-manager/components/FieldTypeIcon/index.js +31 -1
  9. package/admin/src/content-manager/components/Inputs/index.js +36 -14
  10. package/admin/src/content-manager/components/NonRepeatableComponent/index.js +2 -0
  11. package/admin/src/content-manager/components/RelationInput/RelationInput.js +95 -32
  12. package/admin/src/content-manager/components/RelationInput/components/RelationItem.js +2 -2
  13. package/admin/src/content-manager/components/RelationInput/constants.js +1 -1
  14. package/admin/src/content-manager/components/RelationInputDataManager/RelationInputDataManager.js +33 -22
  15. package/admin/src/content-manager/components/RelationInputDataManager/utils/index.js +1 -0
  16. package/admin/src/content-manager/components/RelationInputDataManager/utils/normalizeRelations.js +10 -3
  17. package/admin/src/content-manager/components/RelationInputDataManager/utils/normalizeSearchResults.js +12 -0
  18. package/admin/src/content-manager/components/RelationInputDataManager/utils/select.js +34 -11
  19. package/admin/src/content-manager/components/RepeatableComponent/DraggedItem/index.js +5 -0
  20. package/admin/src/content-manager/components/SingleTypeFormWrapper/index.js +23 -0
  21. package/admin/src/content-manager/hooks/useRelation/useRelation.js +17 -9
  22. package/admin/src/content-manager/pages/EditSettingsView/components/FormModal.js +7 -2
  23. package/admin/src/content-manager/pages/EditSettingsView/index.js +2 -1
  24. package/admin/src/content-manager/pages/EditView/Header/index.js +118 -50
  25. package/admin/src/content-manager/pages/EditView/Header/utils/select.js +4 -0
  26. package/admin/src/content-manager/pages/EditView/index.js +102 -93
  27. package/admin/src/content-manager/pages/ListView/index.js +24 -15
  28. package/admin/src/content-manager/pages/ListView/utils/buildQueryString.js +14 -2
  29. package/admin/src/contexts/ApiTokenPermissions/index.js +24 -0
  30. package/admin/src/core/apis/CustomFields.js +80 -0
  31. package/admin/src/core/apis/index.js +1 -0
  32. package/admin/src/hooks/index.js +1 -0
  33. package/admin/src/hooks/useRegenerate/index.js +34 -0
  34. package/admin/src/pages/HomePage/SocialLinks.js +1 -1
  35. package/admin/src/pages/SettingsPage/pages/ApiTokens/EditView/components/ActionBoundRoutes/index.js +56 -0
  36. package/admin/src/pages/SettingsPage/pages/ApiTokens/EditView/components/BoundRoute/getMethodColor.js +41 -0
  37. package/admin/src/pages/SettingsPage/pages/ApiTokens/EditView/components/BoundRoute/index.js +72 -0
  38. package/admin/src/pages/SettingsPage/pages/ApiTokens/EditView/components/CollapsableContentType/CheckBoxWrapper.js +30 -0
  39. package/admin/src/pages/SettingsPage/pages/ApiTokens/EditView/components/CollapsableContentType/index.js +150 -0
  40. package/admin/src/pages/SettingsPage/pages/ApiTokens/EditView/components/ContenTypesSection/index.js +37 -0
  41. package/admin/src/pages/SettingsPage/pages/ApiTokens/EditView/components/FormApiTokenContainer/index.js +254 -0
  42. package/admin/src/pages/SettingsPage/pages/ApiTokens/EditView/components/FormBody/index.js +77 -0
  43. package/admin/src/pages/SettingsPage/pages/ApiTokens/EditView/components/FormHead/index.js +85 -0
  44. package/admin/src/pages/SettingsPage/pages/ApiTokens/EditView/components/Permissions/index.js +40 -0
  45. package/admin/src/pages/SettingsPage/pages/ApiTokens/EditView/components/Regenerate/index.js +68 -0
  46. package/admin/src/pages/SettingsPage/pages/ApiTokens/EditView/index.js +215 -197
  47. package/admin/src/pages/SettingsPage/pages/ApiTokens/EditView/init.js +13 -0
  48. package/admin/src/pages/SettingsPage/pages/ApiTokens/EditView/reducer.js +72 -0
  49. package/admin/src/pages/SettingsPage/pages/ApiTokens/EditView/utils/getDateOfExpiration.js +16 -0
  50. package/admin/src/pages/SettingsPage/pages/ApiTokens/EditView/utils/index.js +5 -0
  51. package/admin/src/pages/SettingsPage/pages/ApiTokens/EditView/utils/schema.js +2 -1
  52. package/admin/src/pages/SettingsPage/pages/ApiTokens/EditView/utils/transformPermissionsData.js +36 -0
  53. package/admin/src/pages/SettingsPage/pages/ApiTokens/ListView/DynamicTable/DefaultButton/index.js +63 -0
  54. package/admin/src/pages/SettingsPage/pages/ApiTokens/ListView/DynamicTable/DeleteButton/index.js +1 -0
  55. package/admin/src/pages/SettingsPage/pages/ApiTokens/ListView/DynamicTable/ReadButton/index.js +19 -0
  56. package/admin/src/pages/SettingsPage/pages/ApiTokens/ListView/DynamicTable/UpdateButton/index.js +3 -36
  57. package/admin/src/pages/SettingsPage/pages/ApiTokens/ListView/DynamicTable/index.js +13 -11
  58. package/admin/src/pages/SettingsPage/pages/ApiTokens/ListView/index.js +3 -2
  59. package/admin/src/pages/SettingsPage/pages/ApiTokens/ListView/utils/tableHeaders.js +8 -8
  60. package/admin/src/pages/SettingsPage/pages/ApiTokens/ProtectedEditView/index.js +1 -1
  61. package/admin/src/pages/SettingsPage/pages/Users/ListPage/ModalForm/index.js +2 -2
  62. package/admin/src/permissions/defaultPermissions.js +2 -6
  63. package/admin/src/translations/ca.json +3 -1
  64. package/admin/src/translations/de.json +4 -1
  65. package/admin/src/translations/dk.json +3 -0
  66. package/admin/src/translations/en.json +22 -1
  67. package/admin/src/translations/es.json +156 -157
  68. package/admin/src/translations/fr.json +3 -0
  69. package/admin/src/translations/gu.json +608 -606
  70. package/admin/src/translations/hi.json +689 -687
  71. package/admin/src/translations/hu.json +2 -0
  72. package/admin/src/translations/id.json +2 -0
  73. package/admin/src/translations/it.json +2 -0
  74. package/admin/src/translations/ja.json +2 -0
  75. package/admin/src/translations/ko.json +2 -0
  76. package/admin/src/translations/ml.json +689 -687
  77. package/admin/src/translations/nl.json +3 -0
  78. package/admin/src/translations/pl.json +2 -0
  79. package/admin/src/translations/pt-BR.json +3 -0
  80. package/admin/src/translations/ru.json +489 -491
  81. package/admin/src/translations/sa.json +85 -82
  82. package/admin/src/translations/sk.json +3 -0
  83. package/admin/src/translations/sv.json +3 -0
  84. package/admin/src/translations/zh-Hans.json +4 -1
  85. package/admin/src/translations/zh.json +3 -0
  86. package/build/1856.d8f13391.chunk.js +173 -0
  87. package/build/{9311.7cc03f29.chunk.js → 1939.e3c87653.chunk.js} +108 -291
  88. package/build/{2077.c935ee42.chunk.js → 2077.31a2d91e.chunk.js} +4 -4
  89. package/build/{2912.a015078a.chunk.js → 2912.ab68a736.chunk.js} +8 -8
  90. package/build/4318.7d167b58.chunk.js +30 -0
  91. package/build/4715.44b1ef9b.chunk.js +386 -0
  92. package/build/{4982.05eda880.chunk.js → 4982.c2a311b7.chunk.js} +9 -9
  93. package/build/7379.d246dd38.chunk.js +1 -0
  94. package/build/{7841.91f793dc.chunk.js → 7841.4b67af3f.chunk.js} +8 -8
  95. package/build/{7866.1201afbd.chunk.js → 7866.5fbeb7e5.chunk.js} +10 -10
  96. package/build/{8380.8789ff76.chunk.js → 8380.9b53a31d.chunk.js} +7 -7
  97. package/build/{8549.133c4473.chunk.js → 8549.cf10b5d1.chunk.js} +4 -4
  98. package/build/8738.a30a2160.chunk.js +461 -0
  99. package/build/{9066.08049eb1.chunk.js → 9066.26faf397.chunk.js} +4 -4
  100. package/build/{9166.037339e0.chunk.js → 9166.8fcb3019.chunk.js} +5 -5
  101. package/build/{9420.43a86e7c.chunk.js → 9420.0fe11290.chunk.js} +6 -6
  102. package/build/962.8651ba3f.chunk.js +184 -0
  103. package/build/Admin-authenticatedApp.883449a5.chunk.js +80 -0
  104. package/build/{Admin_homePage.118926e0.chunk.js → Admin_homePage.4b2be829.chunk.js} +2 -2
  105. package/build/{Admin_profilePage.9d50ac44.chunk.js → Admin_profilePage.da32abbc.chunk.js} +1 -1
  106. package/build/{Admin_settingsPage.98a711e5.chunk.js → Admin_settingsPage.98e2a62b.chunk.js} +16 -16
  107. package/build/admin-app.a61d5c2e.chunk.js +112 -0
  108. package/build/admin-edit-roles-page.4dd6bcb9.chunk.js +1 -0
  109. package/build/{admin-users.97a08630.chunk.js → admin-users.d71f198a.chunk.js} +3 -3
  110. package/build/api-tokens-create-page.93dd0689.chunk.js +1 -0
  111. package/build/api-tokens-edit-page.b0adac81.chunk.js +1 -0
  112. package/build/api-tokens-list-page.bb36535f.chunk.js +16 -0
  113. package/build/{ca-json.a16899ae.chunk.js → ca-json.82df6eab.chunk.js} +1 -1
  114. package/build/content-manager.933dc286.chunk.js +1201 -0
  115. package/build/content-type-builder-list-view.5b3cd768.chunk.js +194 -0
  116. package/build/content-type-builder-translation-en-json.f985c9c4.chunk.js +1 -0
  117. package/build/content-type-builder.a6e29716.chunk.js +145 -0
  118. package/build/{de-json.aa6026b3.chunk.js → de-json.0ad554eb.chunk.js} +1 -1
  119. package/build/{dk-json.fac2bcfb.chunk.js → dk-json.e195ea1a.chunk.js} +1 -1
  120. package/build/{email-settings-page.64037147.chunk.js → email-settings-page.bfe6227f.chunk.js} +4 -4
  121. package/build/en-json.1889403c.chunk.js +1 -0
  122. package/build/{es-json.d672e181.chunk.js → es-json.09f80f6e.chunk.js} +1 -1
  123. package/build/{fr-json.71a16175.chunk.js → fr-json.606d056b.chunk.js} +1 -1
  124. package/build/{gu-json.ca345cd1.chunk.js → gu-json.9881264f.chunk.js} +1 -1
  125. package/build/{hi-json.50c7e6d4.chunk.js → hi-json.83dcf48f.chunk.js} +1 -1
  126. package/build/{hu-json.e0521dcc.chunk.js → hu-json.6f328bce.chunk.js} +1 -1
  127. package/build/{i18n-settings-page.0b73785d.chunk.js → i18n-settings-page.18166125.chunk.js} +4 -4
  128. package/build/{id-json.4b1ff8d6.chunk.js → id-json.1f3c4303.chunk.js} +1 -1
  129. package/build/index.html +1 -1
  130. package/build/{it-json.86bac220.chunk.js → it-json.494ac432.chunk.js} +1 -1
  131. package/build/{ja-json.4e44e36b.chunk.js → ja-json.6f262117.chunk.js} +1 -1
  132. package/build/{ko-json.1003756e.chunk.js → ko-json.36dc3b9a.chunk.js} +1 -1
  133. package/build/main.63e7ea0a.js +9338 -0
  134. package/build/{ml-json.c7774425.chunk.js → ml-json.9566bf9a.chunk.js} +1 -1
  135. package/build/{nl-json.f58ea235.chunk.js → nl-json.94c3a289.chunk.js} +1 -1
  136. package/build/{pl-json.fed96aba.chunk.js → pl-json.ccc6ef23.chunk.js} +1 -1
  137. package/build/{pt-BR-json.073799ab.chunk.js → pt-BR-json.744f024d.chunk.js} +1 -1
  138. package/build/{ru-json.7ad2cbbf.chunk.js → ru-json.d22ea13c.chunk.js} +1 -1
  139. package/build/{runtime~main.feeac6d3.js → runtime~main.3a5e1b07.js} +1 -1
  140. package/build/{sa-json.f0f704f0.chunk.js → sa-json.8fb1c04d.chunk.js} +1 -1
  141. package/build/{sk-json.a848961b.chunk.js → sk-json.6c7335d4.chunk.js} +1 -1
  142. package/build/sso-settings-page.9ceb0140.chunk.js +1 -0
  143. package/build/{sv-json.b038acbe.chunk.js → sv-json.2e589a7d.chunk.js} +1 -1
  144. package/build/{upload-settings.80ff0974.chunk.js → upload-settings.3d613216.chunk.js} +4 -4
  145. package/build/{upload-translation-en-json.004a86c1.chunk.js → upload-translation-en-json.86da7b0a.chunk.js} +1 -1
  146. package/build/{users-advanced-settings-page.a02f4806.chunk.js → users-advanced-settings-page.f4051d92.chunk.js} +4 -4
  147. package/build/{webhook-edit-page.d2ea3351.chunk.js → webhook-edit-page.9e46fc3f.chunk.js} +1 -1
  148. package/build/{webhook-list-page.2775a683.chunk.js → webhook-list-page.a712ae40.chunk.js} +4 -4
  149. package/build/{zh-Hans-json.03d2bda1.chunk.js → zh-Hans-json.a4d7dc69.chunk.js} +1 -1
  150. package/build/{zh-json.3d0cc664.chunk.js → zh-json.66aa2ae1.chunk.js} +1 -1
  151. package/ee/server/controllers/user.js +5 -3
  152. package/package.json +9 -8
  153. package/server/bootstrap.js +19 -1
  154. package/server/config/admin-actions.js +20 -0
  155. package/server/content-types/api-token-permission.js +36 -0
  156. package/server/content-types/api-token.js +25 -1
  157. package/server/content-types/index.js +1 -0
  158. package/server/controllers/admin.js +3 -0
  159. package/server/controllers/api-token.js +24 -1
  160. package/server/controllers/content-api.js +15 -0
  161. package/server/controllers/index.js +1 -0
  162. package/server/controllers/user.js +3 -2
  163. package/server/routes/api-tokens.js +11 -0
  164. package/server/routes/content-api.js +20 -0
  165. package/server/routes/index.js +2 -0
  166. package/server/services/api-token.js +309 -29
  167. package/server/services/constants.js +10 -0
  168. package/server/services/permission/engine.js +36 -226
  169. package/server/services/permission.js +4 -1
  170. package/server/strategies/admin.js +7 -1
  171. package/server/strategies/api-token.js +72 -11
  172. package/server/validation/api-tokens.js +12 -2
  173. package/utils/get-custom-app-config-file.js +5 -0
  174. package/build/1856.47226450.chunk.js +0 -173
  175. package/build/4715.58cd558f.chunk.js +0 -387
  176. package/build/7098.40dcd7bf.chunk.js +0 -1
  177. package/build/8851.e4ac62f2.chunk.js +0 -158
  178. package/build/Admin-authenticatedApp.e39f36c9.chunk.js +0 -80
  179. package/build/admin-app.4f7618a9.chunk.js +0 -112
  180. package/build/admin-edit-roles-page.554ba3fa.chunk.js +0 -1
  181. package/build/api-tokens-create-page.4c262d6e.chunk.js +0 -1
  182. package/build/api-tokens-edit-page.10a9d368.chunk.js +0 -1
  183. package/build/api-tokens-list-page.442c9f3c.chunk.js +0 -15
  184. package/build/content-manager.7d57c9d1.chunk.js +0 -1200
  185. package/build/content-type-builder-list-view.8cc534e0.chunk.js +0 -194
  186. package/build/content-type-builder-translation-en-json.201bfb78.chunk.js +0 -1
  187. package/build/content-type-builder.684df7a4.chunk.js +0 -142
  188. package/build/en-json.0c69c7d7.chunk.js +0 -1
  189. package/build/main.b47db1a3.js +0 -9337
  190. package/build/sso-settings-page.445184e0.chunk.js +0 -1
  191. package/server/services/permission/engine-hooks.js +0 -82
@@ -577,6 +577,8 @@
577
577
  "content-manager.success.record.save": "Guardado",
578
578
  "content-manager.success.record.unpublish": "Sin publicar",
579
579
  "content-manager.utils.data-loaded": "{number, plural, =1 {La entrada se ha cargado correctamente} other {Las entradas se han cargado correctamente}}",
580
+ "content-manager.popUpWarning.warning.publish-question": "¿Aún quieres publicarlo?",
581
+ "content-manager.popUpwarning.warning.has-draft-relations.button-confirm": "Si, publicar",
580
582
  "form.button.done": "Hecho",
581
583
  "global.prompt.unsaved": "¿Está seguro de que quiere salir de esta página? Todas sus modificaciones se perderán",
582
584
  "notification.contentType.relations.conflict": "El Tipo de Contenido tiene relaciones conflictivas",
@@ -597,160 +599,157 @@
597
599
  "skipToContent": "Saltar al contenido",
598
600
  "submit": "Enviar",
599
601
  "Auth.form.active.label": "Activo",
600
- "Auth.reset-password.title": "Resetear contraseña",
601
- "Roles.RoleRow.user-count": "{number, plural, =0 {# usuario} one {# usuario} other {# usuarios}}",
602
- "Settings.application.customization": "Personalización",
603
- "Settings.application.customization.carousel.title": "Logo",
604
- "Settings.application.customization.carousel.change-action": "Cambiarlogo",
605
- "Settings.application.customization.carousel.reset-action": "Resetear logo",
606
- "Settings.application.customization.carousel-slide.label": "Logo slider",
607
- "Settings.application.customization.carousel-hint": "Cambiar el logo del panel de administración (Dimensión máxima: {dimension}x{dimension}, Tamaño máximo del archivo: {size}KB)",
608
- "Settings.application.customization.modal.cancel": "Cancelar",
609
- "Settings.application.customization.modal.upload": "Subir logo",
610
- "Settings.application.customization.modal.tab.label": "¿Cómo te gustaría subir tus archivos?",
611
- "Settings.application.customization.modal.upload.from-computer": "Desde el ordenador",
612
- "Settings.application.customization.modal.upload.file-validation": "Dimensión máxima: {dimension}x{dimension}, Tamaño máximo: {size}KB",
613
- "Settings.application.customization.modal.upload.error-format": "Se cargó un formato incorrecto (formatos aceptados: jpeg, jpg, png, svg).",
614
- "Settings.application.customization.modal.upload.error-size": "El archivo es muy grande (Dimensión máxima: {dimension}x{dimension},Tamaño máximo del archivo: {size}KB)",
615
- "Settings.application.customization.modal.upload.error-network": "Error de red",
616
- "Settings.application.customization.modal.upload.cta.browse": "Buscar archivos",
617
- "Settings.application.customization.modal.upload.drag-drop": "Arrastrar aquí o",
618
- "Settings.application.customization.modal.upload.from-url": "Desde una url",
619
- "Settings.application.customization.modal.upload.from-url.input-label": "URL",
620
- "Settings.application.customization.modal.upload.next": "Siguiente",
621
- "Settings.application.customization.modal.pending": "Logo pendiente",
622
- "Settings.application.customization.modal.pending.choose-another": "Elegir otro logo",
623
- "Settings.application.customization.modal.pending.title": "Logo ya subido",
624
- "Settings.application.customization.modal.pending.subtitle": "Gestiona el logo elegido antes de subirlo",
625
- "Settings.application.customization.modal.pending.upload": "Subir logo",
626
- "Settings.application.customization.modal.pending.card-badge": "imagen",
627
- "Settings.profile.form.section.experience.mode.label": "Modo de la interfaz",
628
- "Settings.profile.form.section.experience.mode.hint": "Mostrar la interfaz en el modo seleccionado.",
629
- "Settings.profile.form.section.experience.mode.option-label": "Mode {name} ",
630
- "light": "Claro",
631
- "dark": "Oscuro",
632
- "Usecase.back-end": "Desarrollador Back-end",
633
- "Usecase.button.skip": "Skip this question",
634
- "Usecase.content-creator": "Creador de Contenido",
635
- "Usecase.front-end": "Desarrollador Front-end",
636
- "Usecase.full-stack": "Desarrollador Full-stack",
637
- "Usecase.input.work-type": "¿Qué tipo de trabajo realizas?",
638
- "Usecase.notification.success.project-created": "El proyecto ha sido creado con éxito",
639
- "Usecase.other": "Otro",
640
- "Usecase.title": "Dinos algo de ti",
641
- "admin.pages.MarketPlacePage.offline.title": "Estás offline",
642
- "admin.pages.MarketPlacePage.offline.subtitle": "Necesita estar conectado a Internet para acceder a Strapi Market.",
643
- "admin.pages.MarketPlacePage.plugins": "Plugins",
644
- "admin.pages.MarketPlacePage.plugin.copy": "Copiar comando de instalación",
645
- "admin.pages.MarketPlacePage.plugin.copy.success": "Comando de instalación listo para ser pegado en su terminal",
646
- "admin.pages.MarketPlacePage.plugin.info": "Aprender más",
647
- "admin.pages.MarketPlacePage.plugin.info.label": "Aprender más about {pluginName}",
648
- "admin.pages.MarketPlacePage.plugin.info.text": "Aprender más",
649
- "admin.pages.MarketPlacePage.plugin.installed": "Instalado",
650
- "admin.pages.MarketPlacePage.plugin.tooltip.madeByStrapi": "Hecho por Strapi",
651
- "admin.pages.MarketPlacePage.plugin.tooltip.verified": "Plugin verificado por Strapi",
652
- "admin.pages.MarketPlacePage.providers": "Proovedores",
653
- "admin.pages.MarketPlacePage.search.clear": "Limpiar la búsqueda",
654
- "admin.pages.MarketPlacePage.search.empty": "No hay resultados para \"{target}\"",
655
- "admin.pages.MarketPlacePage.search.placeholder": "Búscar",
656
- "admin.pages.MarketPlacePage.submit.provider.link": "Enviar proveedor",
657
- "admin.pages.MarketPlacePage.tab-group.label": "Plugins y proveedores para Strapi",
658
- "admin.pages.MarketPlacePage.missingPlugin.title": "¿Necesitas un plugin?",
659
- "admin.pages.MarketPlacePage.missingPlugin.description": "¡Díganos qué plugin está buscando y le informaremos a los desarrolladores de plugin de nuestra comunidad en caso de que estén buscando inspiración!",
660
- "app.components.GuidedTour.CM.create.content": "<p>Cree y administre todo el contenido aquí en el Administrador de contenido.</p><p>Ej: tomando el ejemplo del sitio web del blog más allá, uno puede escribir un artículo, guardarlo y publicarlo como desee.</p>< p>💡 Consejo rápido: no olvides presionar publicar en el contenido que crees.</p>",
661
- "app.components.GuidedTour.CM.create.title": "⚡️ Crear contenido",
662
- "app.components.GuidedTour.CM.success.content": "<p>¡Asombroso, un paso más!</p><b>🚀 Mirar el contenido en acción</b>",
663
- "app.components.GuidedTour.CM.success.cta.title": "Testear el API",
664
- "app.components.GuidedTour.CM.success.title": "Paso 2: Completado ✅",
665
- "app.components.GuidedTour.CTB.create.content": "<p>Los tipos de colección lo ayudan a administrar varias entradas, los tipos únicos son adecuados para administrar solo una entrada.</p> <p>Ej: para un sitio web de blog, Los artículos serían del tipo Colección, mientras que la Página de inicio sería del tipo Único.</p>",
666
- "app.components.GuidedTour.CTB.create.cta.title": "Crear un tipo de colección",
667
- "app.components.GuidedTour.CTB.create.title": "🧠 Crear un primer tipo de colección",
668
- "app.components.GuidedTour.CTB.success.content": "<p>¡Bien hecho!</p><b>⚡️ ¿Qué te gustaría compartir con el mundo?</b>",
669
- "app.components.GuidedTour.CTB.success.title": "Paso 1: Completado ✅",
670
- "app.components.GuidedTour.apiTokens.create.content": "<p>Genera un token de autenticación aquí y recupera el contenido que acabas de crear.</p>",
671
- "app.components.GuidedTour.apiTokens.create.cta.title": "Generar un token de API",
672
- "app.components.GuidedTour.apiTokens.create.title": "🚀 Ver contenido en acción",
673
- "app.components.GuidedTour.apiTokens.success.content": "<p>Vea el contenido en acción haciendo una solicitud HTTP:</p><ul><li><p>A esta URL: <light>https: //'<'TU_DOMINIO'>'/api/'<'TU_CT'>'</light></p></li><li><p>Con el encabezado: <light>Autorización: portador '<' TU_API_TOKEN'>'</light></p></li></ul><p>Para obtener más formas de interactuar con el contenido, consulte la <documentationLink>documentación</documentationLink>.</p>",
674
- "app.components.GuidedTour.apiTokens.success.cta.title": "Volver a la página de inicio",
675
- "app.components.GuidedTour.apiTokens.success.title": "Paso 3: Completado ✅",
676
- "app.components.GuidedTour.create-content": "Crear contenido",
677
- "app.components.GuidedTour.home.CM.title": "⚡️ ¿Qué te gustaría compartir con el mundo?",
678
- "app.components.GuidedTour.home.CTB.cta.title": "Ir al Creador de tipo de contenido",
679
- "app.components.GuidedTour.home.CTB.title": "🧠 Construye la estructura del contenido",
680
- "app.components.GuidedTour.home.apiTokens.cta.title": "Probar la API",
681
- "app.components.GuidedTour.skip": "Omitir el recorrido",
682
- "app.components.GuidedTour.title": "3 pasos para comenzar",
683
- "app.components.LeftMenu.logo.alt": "Logotipo de la aplicación",
684
- "app.components.LeftMenu.plugins": "Complementos",
685
- "app.components.LeftMenu.navbrand.title": "Panel de control de Strapi",
686
- "app.components.LeftMenu.navbrand.workplace": "Lugar de trabajo",
687
- "app.page.not.found": "¡Vaya! Parece que no podemos encontrar la página que estás buscando...",
688
- "components.Input.error.validation.lowercase": "El valor debe ser una cadena en minúsculas",
689
- "content-manager.DynamicTable.relation-loading": "Las relaciones se están cargando",
690
- "content-manager.DynamicTable.relation-more": "Esta relación contiene más entidades de las que se muestran",
691
- "content-manager.apiError.Este atributo debe ser único": "{field} debe ser único",
692
- "form.button.continue": "Continue",
693
- "global.search": "Buscar",
694
- "global.actions": "Acciones",
695
- "global.active": "Activo",
696
- "global.inactive": "Inactivo",
697
- "global.back": "Volver",
698
- "global.cancel": "Cancelar",
699
- "global.change-password": "Cambiar contraseña",
700
- "global.content-manager": "Administrador de Contenido",
701
- "global.continue": "Continuar",
702
- "global.delete": "Borrar",
703
- "global.delete-target": "Borrar {target}",
704
- "global.description": "Descripción",
705
- "global.details": "Detalles",
706
- "global.disabled": "Desactivado",
707
- "global.documentation": "Documentación",
708
- "global.enabled": "Habilitado",
709
- "global.finish": "Terminar",
710
- "global.marketplace": "Marketplace",
711
- "global.name": "Nombre",
712
- "global.none": "Ninguno",
713
- "global.password": "Contraseña",
714
- "global.plugins": "Plugins",
715
- "global.plugins.content-manager": "Administrador de Contenido",
716
- "global.plugins.content-manager.description": "Forma rápida de ver, editar y eliminar los datos en tu base de datos.",
717
- "global.plugins.content-type-builder": "Generador de tipo de contenido",
718
- "global.plugins.content-type-builder.description": "Modeliza la estructura de datos de tu API. Crea nuevos campos y relaciones en solo un minuto. Los archivos se crean y actualizan automáticamente en tu proyecto.",
719
- "global.plugins.email": "Correo electrónico",
720
- "global.plugins.email.description": "Configura tu aplicación para enviar correos electrónicos.",
721
- "global.plugins.upload": "Biblioteca Multimedia",
722
- "global.plugins.upload.description": "Gestión de archivos multimedia.",
723
- "global.plugins.graphql": "GraphQL",
724
- "global.plugins.graphql.description": "Agrega un punto final de GraphQL con métodos API predeterminados.",
725
- "global.plugins.documentation": "Documentación",
726
- "global.plugins.documentation.description": "Cree un documento OpenAPI y visualice su API con SWAGGER UI.",
727
- "global.plugins.i18n": "Internacionalización",
728
- "global.plugins.i18n.description": "Este complemento permite crear, leer y actualizar contenido en diferentes idiomas, tanto desde el Panel de administración como desde la API.",
729
- "global.plugins.sentry": "Sentry",
730
- "global.plugins.sentry.description": "Enviar errores de Strapi a Sentry.",
731
- "global.plugins.users-permissions": "Roles & Permisos",
732
- "global.plugins.users-permissions.description": "Proteja su API con un proceso de autenticación completo basado en JWT. Este complemento también viene con una estrategia ACL que le permite administrar los permisos entre los grupos de usuarios.",
733
- "global.profile": "Perfil",
734
- "global.reset-password": "Resetear contraseña",
735
- "global.roles": "Roles",
736
- "global.save": "Guardar",
737
- "global.see-more": "Ver más",
738
- "global.select": "Seleccionar",
739
- "global.select-all-entries": "Selecionar todas las entradas",
740
- "global.settings": "Configuraciones",
741
- "global.strapi-super-admin": "Super Admin",
742
- "global.strapi-editor": "Editor",
743
- "global.strapi-author": "Autor",
744
- "global.table.header.email": "Email",
745
- "global.table.header.firstname": "Nombre",
746
- "global.table.header.isActive": "Estado del usuario",
747
- "global.table.header.lastname": "Apellido",
748
- "global.table.header.roles": "Roles",
749
- "global.table.header.username": "Nombre de usuario",
750
- "global.type": "Tipo",
751
- "global.users": "Usuarios",
752
- "notification.warning.404": "404 - No Encontrado"
753
-
754
- }
755
-
756
-
602
+ "Auth.reset-password.title": "Resetear contraseña",
603
+ "Roles.RoleRow.user-count": "{number, plural, =0 {# usuario} one {# usuario} other {# usuarios}}",
604
+ "Settings.application.customization": "Personalización",
605
+ "Settings.application.customization.carousel.title": "Logo",
606
+ "Settings.application.customization.carousel.change-action": "Cambiarlogo",
607
+ "Settings.application.customization.carousel.reset-action": "Resetear logo",
608
+ "Settings.application.customization.carousel-slide.label": "Logo slider",
609
+ "Settings.application.customization.carousel-hint": "Cambiar el logo del panel de administración (Dimensión máxima: {dimension}x{dimension}, Tamaño máximo del archivo: {size}KB)",
610
+ "Settings.application.customization.modal.cancel": "Cancelar",
611
+ "Settings.application.customization.modal.upload": "Subir logo",
612
+ "Settings.application.customization.modal.tab.label": "¿Cómo te gustaría subir tus archivos?",
613
+ "Settings.application.customization.modal.upload.from-computer": "Desde el ordenador",
614
+ "Settings.application.customization.modal.upload.file-validation": "Dimensión máxima: {dimension}x{dimension}, Tamaño máximo: {size}KB",
615
+ "Settings.application.customization.modal.upload.error-format": "Se cargó un formato incorrecto (formatos aceptados: jpeg, jpg, png, svg).",
616
+ "Settings.application.customization.modal.upload.error-size": "El archivo es muy grande (Dimensión máxima: {dimension}x{dimension},Tamaño máximo del archivo: {size}KB)",
617
+ "Settings.application.customization.modal.upload.error-network": "Error de red",
618
+ "Settings.application.customization.modal.upload.cta.browse": "Buscar archivos",
619
+ "Settings.application.customization.modal.upload.drag-drop": "Arrastrar aquí o",
620
+ "Settings.application.customization.modal.upload.from-url": "Desde una url",
621
+ "Settings.application.customization.modal.upload.from-url.input-label": "URL",
622
+ "Settings.application.customization.modal.upload.next": "Siguiente",
623
+ "Settings.application.customization.modal.pending": "Logo pendiente",
624
+ "Settings.application.customization.modal.pending.choose-another": "Elegir otro logo",
625
+ "Settings.application.customization.modal.pending.title": "Logo ya subido",
626
+ "Settings.application.customization.modal.pending.subtitle": "Gestiona el logo elegido antes de subirlo",
627
+ "Settings.application.customization.modal.pending.upload": "Subir logo",
628
+ "Settings.application.customization.modal.pending.card-badge": "imagen",
629
+ "Settings.profile.form.section.experience.mode.label": "Modo de la interfaz",
630
+ "Settings.profile.form.section.experience.mode.hint": "Mostrar la interfaz en el modo seleccionado.",
631
+ "Settings.profile.form.section.experience.mode.option-label": "Mode {name} ",
632
+ "light": "Claro",
633
+ "dark": "Oscuro",
634
+ "Usecase.back-end": "Desarrollador Back-end",
635
+ "Usecase.button.skip": "Skip this question",
636
+ "Usecase.content-creator": "Creador de Contenido",
637
+ "Usecase.front-end": "Desarrollador Front-end",
638
+ "Usecase.full-stack": "Desarrollador Full-stack",
639
+ "Usecase.input.work-type": "¿Qué tipo de trabajo realizas?",
640
+ "Usecase.notification.success.project-created": "El proyecto ha sido creado con éxito",
641
+ "Usecase.other": "Otro",
642
+ "Usecase.title": "Dinos algo de ti",
643
+ "admin.pages.MarketPlacePage.offline.title": "Estás offline",
644
+ "admin.pages.MarketPlacePage.offline.subtitle": "Necesita estar conectado a Internet para acceder a Strapi Market.",
645
+ "admin.pages.MarketPlacePage.plugins": "Plugins",
646
+ "admin.pages.MarketPlacePage.plugin.copy": "Copiar comando de instalación",
647
+ "admin.pages.MarketPlacePage.plugin.copy.success": "Comando de instalación listo para ser pegado en su terminal",
648
+ "admin.pages.MarketPlacePage.plugin.info": "Aprender más",
649
+ "admin.pages.MarketPlacePage.plugin.info.label": "Aprender más about {pluginName}",
650
+ "admin.pages.MarketPlacePage.plugin.info.text": "Aprender más",
651
+ "admin.pages.MarketPlacePage.plugin.installed": "Instalado",
652
+ "admin.pages.MarketPlacePage.plugin.tooltip.madeByStrapi": "Hecho por Strapi",
653
+ "admin.pages.MarketPlacePage.plugin.tooltip.verified": "Plugin verificado por Strapi",
654
+ "admin.pages.MarketPlacePage.providers": "Proovedores",
655
+ "admin.pages.MarketPlacePage.search.clear": "Limpiar la búsqueda",
656
+ "admin.pages.MarketPlacePage.search.empty": "No hay resultados para \"{target}\"",
657
+ "admin.pages.MarketPlacePage.search.placeholder": "Búscar",
658
+ "admin.pages.MarketPlacePage.submit.provider.link": "Enviar proveedor",
659
+ "admin.pages.MarketPlacePage.tab-group.label": "Plugins y proveedores para Strapi",
660
+ "admin.pages.MarketPlacePage.missingPlugin.title": "¿Necesitas un plugin?",
661
+ "admin.pages.MarketPlacePage.missingPlugin.description": "¡Díganos qué plugin está buscando y le informaremos a los desarrolladores de plugin de nuestra comunidad en caso de que estén buscando inspiración!",
662
+ "app.components.GuidedTour.CM.create.content": "<p>Cree y administre todo el contenido aquí en el Administrador de contenido.</p><p>Ej: tomando el ejemplo del sitio web del blog más allá, uno puede escribir un artículo, guardarlo y publicarlo como desee.</p>< p>💡 Consejo rápido: no olvides presionar publicar en el contenido que crees.</p>",
663
+ "app.components.GuidedTour.CM.create.title": "⚡️ Crear contenido",
664
+ "app.components.GuidedTour.CM.success.content": "<p>¡Asombroso, un paso más!</p><b>🚀 Mirar el contenido en acción</b>",
665
+ "app.components.GuidedTour.CM.success.cta.title": "Testear el API",
666
+ "app.components.GuidedTour.CM.success.title": "Paso 2: Completado ✅",
667
+ "app.components.GuidedTour.CTB.create.content": "<p>Los tipos de colección lo ayudan a administrar varias entradas, los tipos únicos son adecuados para administrar solo una entrada.</p> <p>Ej: para un sitio web de blog, Los artículos serían del tipo Colección, mientras que la Página de inicio sería del tipo Único.</p>",
668
+ "app.components.GuidedTour.CTB.create.cta.title": "Crear un tipo de colección",
669
+ "app.components.GuidedTour.CTB.create.title": "🧠 Crear un primer tipo de colección",
670
+ "app.components.GuidedTour.CTB.success.content": "<p>¡Bien hecho!</p><b>⚡️ ¿Qué te gustaría compartir con el mundo?</b>",
671
+ "app.components.GuidedTour.CTB.success.title": "Paso 1: Completado ✅",
672
+ "app.components.GuidedTour.apiTokens.create.content": "<p>Genera un token de autenticación aquí y recupera el contenido que acabas de crear.</p>",
673
+ "app.components.GuidedTour.apiTokens.create.cta.title": "Generar un token de API",
674
+ "app.components.GuidedTour.apiTokens.create.title": "🚀 Ver contenido en acción",
675
+ "app.components.GuidedTour.apiTokens.success.content": "<p>Vea el contenido en acción haciendo una solicitud HTTP:</p><ul><li><p>A esta URL: <light>https: //'<'TU_DOMINIO'>'/api/'<'TU_CT'>'</light></p></li><li><p>Con el encabezado: <light>Autorización: portador '<' TU_API_TOKEN'>'</light></p></li></ul><p>Para obtener más formas de interactuar con el contenido, consulte la <documentationLink>documentación</documentationLink>.</p>",
676
+ "app.components.GuidedTour.apiTokens.success.cta.title": "Volver a la página de inicio",
677
+ "app.components.GuidedTour.apiTokens.success.title": "Paso 3: Completado ✅",
678
+ "app.components.GuidedTour.create-content": "Crear contenido",
679
+ "app.components.GuidedTour.home.CM.title": "⚡️ ¿Qué te gustaría compartir con el mundo?",
680
+ "app.components.GuidedTour.home.CTB.cta.title": "Ir al Creador de tipo de contenido",
681
+ "app.components.GuidedTour.home.CTB.title": "🧠 Construye la estructura del contenido",
682
+ "app.components.GuidedTour.home.apiTokens.cta.title": "Probar la API",
683
+ "app.components.GuidedTour.skip": "Omitir el recorrido",
684
+ "app.components.GuidedTour.title": "3 pasos para comenzar",
685
+ "app.components.LeftMenu.logo.alt": "Logotipo de la aplicación",
686
+ "app.components.LeftMenu.plugins": "Complementos",
687
+ "app.components.LeftMenu.navbrand.title": "Panel de control de Strapi",
688
+ "app.components.LeftMenu.navbrand.workplace": "Lugar de trabajo",
689
+ "app.page.not.found": "¡Vaya! Parece que no podemos encontrar la página que estás buscando...",
690
+ "components.Input.error.validation.lowercase": "El valor debe ser una cadena en minúsculas",
691
+ "content-manager.DynamicTable.relation-loading": "Las relaciones se están cargando",
692
+ "content-manager.DynamicTable.relation-more": "Esta relación contiene más entidades de las que se muestran",
693
+ "content-manager.apiError.Este atributo debe ser único": "{field} debe ser único",
694
+ "form.button.continue": "Continue",
695
+ "global.search": "Buscar",
696
+ "global.actions": "Acciones",
697
+ "global.active": "Activo",
698
+ "global.inactive": "Inactivo",
699
+ "global.back": "Volver",
700
+ "global.cancel": "Cancelar",
701
+ "global.change-password": "Cambiar contraseña",
702
+ "global.content-manager": "Administrador de Contenido",
703
+ "global.continue": "Continuar",
704
+ "global.delete": "Borrar",
705
+ "global.delete-target": "Borrar {target}",
706
+ "global.description": "Descripción",
707
+ "global.details": "Detalles",
708
+ "global.disabled": "Desactivado",
709
+ "global.documentation": "Documentación",
710
+ "global.enabled": "Habilitado",
711
+ "global.finish": "Terminar",
712
+ "global.marketplace": "Marketplace",
713
+ "global.name": "Nombre",
714
+ "global.none": "Ninguno",
715
+ "global.password": "Contraseña",
716
+ "global.plugins": "Plugins",
717
+ "global.plugins.content-manager": "Administrador de Contenido",
718
+ "global.plugins.content-manager.description": "Forma rápida de ver, editar y eliminar los datos en tu base de datos.",
719
+ "global.plugins.content-type-builder": "Generador de tipo de contenido",
720
+ "global.plugins.content-type-builder.description": "Modeliza la estructura de datos de tu API. Crea nuevos campos y relaciones en solo un minuto. Los archivos se crean y actualizan automáticamente en tu proyecto.",
721
+ "global.plugins.email": "Correo electrónico",
722
+ "global.plugins.email.description": "Configura tu aplicación para enviar correos electrónicos.",
723
+ "global.plugins.upload": "Biblioteca Multimedia",
724
+ "global.plugins.upload.description": "Gestión de archivos multimedia.",
725
+ "global.plugins.graphql": "GraphQL",
726
+ "global.plugins.graphql.description": "Agrega un punto final de GraphQL con métodos API predeterminados.",
727
+ "global.plugins.documentation": "Documentación",
728
+ "global.plugins.documentation.description": "Cree un documento OpenAPI y visualice su API con SWAGGER UI.",
729
+ "global.plugins.i18n": "Internacionalización",
730
+ "global.plugins.i18n.description": "Este complemento permite crear, leer y actualizar contenido en diferentes idiomas, tanto desde el Panel de administración como desde la API.",
731
+ "global.plugins.sentry": "Sentry",
732
+ "global.plugins.sentry.description": "Enviar errores de Strapi a Sentry.",
733
+ "global.plugins.users-permissions": "Roles & Permisos",
734
+ "global.plugins.users-permissions.description": "Proteja su API con un proceso de autenticación completo basado en JWT. Este complemento también viene con una estrategia ACL que le permite administrar los permisos entre los grupos de usuarios.",
735
+ "global.profile": "Perfil",
736
+ "global.reset-password": "Resetear contraseña",
737
+ "global.roles": "Roles",
738
+ "global.save": "Guardar",
739
+ "global.see-more": "Ver más",
740
+ "global.select": "Seleccionar",
741
+ "global.select-all-entries": "Selecionar todas las entradas",
742
+ "global.settings": "Configuraciones",
743
+ "global.strapi-super-admin": "Super Admin",
744
+ "global.strapi-editor": "Editor",
745
+ "global.strapi-author": "Autor",
746
+ "global.table.header.email": "Email",
747
+ "global.table.header.firstname": "Nombre",
748
+ "global.table.header.isActive": "Estado del usuario",
749
+ "global.table.header.lastname": "Apellido",
750
+ "global.table.header.roles": "Roles",
751
+ "global.table.header.username": "Nombre de usuario",
752
+ "global.type": "Tipo",
753
+ "global.users": "Usuarios",
754
+ "notification.warning.404": "404 - No Encontrado"
755
+ }
@@ -578,6 +578,9 @@
578
578
  "content-manager.success.record.unpublish": "Publication annulée",
579
579
  "content-manager.utils.data-loaded": "{number, plural, =1 {L'entrée a été chargée} other {Les entrées on été chargées} avec succès",
580
580
  "content-manager.apiError.This attribute must be unique": "Le champ {field} doit être unique",
581
+ "content-manager.popUpWarning.warning.publish-question": "Êtes-vous sûr de vouloir le publier ?",
582
+ "content-manager.popUpwarning.warning.has-draft-relations.button-confirm": "Oui, publier",
583
+ "content-manager.popUpwarning.warning.has-draft-relations.message": "<b>{count, plural, =0 { des relations de votre contenu n'est} one { des relations de votre contenu n'est} other { des relations de votre contenu ne sont}}</b> pas publié actuellement.<br></br>Cela peut engendrer des liens cassés ou des erreurs dans votre projet.",
581
584
  "form.button.continue": "Continuer",
582
585
  "global.search": "Rechercher",
583
586
  "global.actions": "Actions",