From 25e07bdd7cc139bcab89f7ccbe1eb17aae79fc34 Mon Sep 17 00:00:00 2001 From: wesleybl Date: Fri, 22 Dec 2023 17:25:35 -0300 Subject: [PATCH 1/7] Translate validation error messages in the deserializer --- news/1742.feature | 1 + src/plone/restapi/deserializer/dxcontent.py | 15 +++++++++------ .../restapi/tests/test_dxcontent_deserializer.py | 5 +---- 3 files changed, 11 insertions(+), 10 deletions(-) create mode 100644 news/1742.feature diff --git a/news/1742.feature b/news/1742.feature new file mode 100644 index 0000000000..72bf2781b4 --- /dev/null +++ b/news/1742.feature @@ -0,0 +1 @@ +Translate validation error messages in the deserializer. @wesleybl diff --git a/src/plone/restapi/deserializer/dxcontent.py b/src/plone/restapi/deserializer/dxcontent.py index 88258ab044..dd6bac1851 100644 --- a/src/plone/restapi/deserializer/dxcontent.py +++ b/src/plone/restapi/deserializer/dxcontent.py @@ -3,6 +3,7 @@ from plone.autoform.interfaces import WRITE_PERMISSIONS_KEY from plone.dexterity.interfaces import IDexterityContent from plone.dexterity.utils import iterSchemata +from plone.restapi import _ from plone.restapi.deserializer import json_body from plone.restapi.interfaces import IDeserializeFromJson from plone.restapi.interfaces import IFieldDeserializer @@ -14,6 +15,7 @@ from zope.component import queryMultiAdapter from zope.component import queryUtility from zope.event import notify +from zope.i18n import translate from zope.interface import implementer from zope.interface import Interface from zope.lifecycleevent import Attributes @@ -49,7 +51,7 @@ def __call__( (self.context, self.request, None, schema, None), IManagerValidator ) for error in validator.validate(field_data): - errors.append({"error": error, "message": str(error)}) + errors.append({"error": error, "message": error.args[0]}) if errors: if mask_validation_errors: @@ -57,6 +59,8 @@ def __call__( # errors on front-end for error in errors: error["error"] = "ValidationError" + for error in errors: + error["message"] = translate(error["message"], context=self.request) raise BadRequest(errors) # We'll set the layout after the validation and even if there @@ -109,11 +113,10 @@ def get_schema_data(self, data, validate_all, create=False): errors.append( { "field": field.__name__, - "message": ( - "{} is a required field.".format( - field.__name__ - ), - "Setting it to null is not allowed.", + "message": _( + "${field_name} is a required field." + " Setting it to null is not allowed.", + mapping={"field_name": field.__name__}, ), } ) diff --git a/src/plone/restapi/tests/test_dxcontent_deserializer.py b/src/plone/restapi/tests/test_dxcontent_deserializer.py index e9cc6fdf14..ddeb4ef767 100644 --- a/src/plone/restapi/tests/test_dxcontent_deserializer.py +++ b/src/plone/restapi/tests/test_dxcontent_deserializer.py @@ -195,10 +195,7 @@ def test_deserializer_sets_missing_value_on_required_field(self): "valid value", self.portal.doc1.test_missing_value_required_field ) self.assertEqual( - ( - "test_missing_value_required_field is a required field.", - "Setting it to null is not allowed.", - ), + "test_missing_value_required_field is a required field. Setting it to null is not allowed.", cm.exception.args[0][0]["message"], ) self.assertEqual( From 0ab90f8ec0506a246b8c0c5412a3a331e1ef8aac Mon Sep 17 00:00:00 2001 From: wesleybl Date: Fri, 22 Dec 2023 17:26:21 -0300 Subject: [PATCH 2/7] Update translations --- .../locales/de/LC_MESSAGES/plone.restapi.po | 74 +++++++++--------- .../locales/es/LC_MESSAGES/plone.restapi.po | 76 ++++++++++--------- .../locales/fr/LC_MESSAGES/plone.restapi.po | 74 +++++++++--------- src/plone/restapi/locales/plone.restapi.pot | 74 +++++++++--------- .../pt_BR/LC_MESSAGES/plone.restapi.po | 74 +++++++++--------- 5 files changed, 196 insertions(+), 176 deletions(-) diff --git a/src/plone/restapi/locales/de/LC_MESSAGES/plone.restapi.po b/src/plone/restapi/locales/de/LC_MESSAGES/plone.restapi.po index 4a2b3ccf9a..efa00e87b1 100644 --- a/src/plone/restapi/locales/de/LC_MESSAGES/plone.restapi.po +++ b/src/plone/restapi/locales/de/LC_MESSAGES/plone.restapi.po @@ -1,7 +1,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" -"POT-Creation-Date: 2022-12-29 15:58+0000\n" +"POT-Creation-Date: 2023-12-22 19:57+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI +ZONE\n" "Last-Translator: Timo Stollenwerk \n" "Language-Team: German \n" @@ -14,11 +14,15 @@ msgstr "" "Preferred-Encodings: utf-8 latin1\n" "Domain: plone.restapi\n" -#: plone/restapi/services/email_send/post.py:81 +#: plone/restapi/deserializer/dxcontent.py:116 +msgid "${field_name} is a required field. Setting it to null is not allowed." +msgstr "" + +#: plone/restapi/services/email_send/post.py:88 msgid "${sender_fullname} via ${portal_title}" msgstr "${sender_fullname} via ${portal_title}" -#: plone/restapi/services/email_send/post.py:74 +#: plone/restapi/services/email_send/post.py:81 msgid "A portal user via ${portal_title}" msgstr "Ein Portal Nutzer via ${portal_title}" @@ -34,23 +38,23 @@ msgstr "" msgid "Adds sample workflows for testing" msgstr "" -#: plone/restapi/services/aliases/add.py:106 +#: plone/restapi/services/aliases/add.py:107 msgid "Alternative urls that point to themselves will cause an endless cycle of redirects." msgstr "" -#: plone/restapi/configure.zcml:115 +#: plone/restapi/configure.zcml:116 msgid "Blocks" msgstr "" -#: plone/restapi/configure.zcml:122 +#: plone/restapi/configure.zcml:123 msgid "Blocks (Editable Layout)" msgstr "" -#: plone/restapi/configure.zcml:122 +#: plone/restapi/configure.zcml:123 msgid "Enables Volto Blocks (editable layout) support" msgstr "" -#: plone/restapi/configure.zcml:115 +#: plone/restapi/configure.zcml:116 msgid "Enables Volto Blocks support" msgstr "" @@ -58,7 +62,7 @@ msgstr "" msgid "Enables blocks on the Document content type" msgstr "" -#: plone/restapi/services/contextnavigation/get.py:133 +#: plone/restapi/services/contextnavigation/get.py:136 msgid "Enter a valid scale name (see 'Image Handling' control panel) to override (e.g. icon, tile, thumb, mini, preview, ... ). Leave empty to use default (see 'Site' control panel)." msgstr "" @@ -67,15 +71,15 @@ msgid "Error in fields. ${errors_to_string}" msgstr "" #. Default: "The reset_token is expired." -#: plone/restapi/services/users/add.py:312 +#: plone/restapi/services/users/add.py:319 msgid "Expired Token" msgstr "" -#: plone/restapi/services/contextnavigation/get.py:126 +#: plone/restapi/services/contextnavigation/get.py:129 msgid "If enabled, the portlet will not show document type icons." msgstr "" -#: plone/restapi/services/contextnavigation/get.py:145 +#: plone/restapi/services/contextnavigation/get.py:148 msgid "If enabled, the portlet will not show thumbs." msgstr "" @@ -91,11 +95,11 @@ msgstr "" msgid "Layout" msgstr "" -#: plone/restapi/services/contextnavigation/get.py:195 +#: plone/restapi/services/contextnavigation/get.py:197 msgid "Navigation" msgstr "" -#: plone/restapi/services/contextnavigation/get.py:132 +#: plone/restapi/services/contextnavigation/get.py:135 msgid "Override thumb scale" msgstr "" @@ -123,23 +127,23 @@ msgstr "" msgid "Roles" msgstr "" -#: plone/restapi/services/users/add.py:350 +#: plone/restapi/services/users/add.py:357 msgid "See the user endpoint documentation for the valid parameters." msgstr "" -#: plone/restapi/services/contextnavigation/get.py:125 +#: plone/restapi/services/contextnavigation/get.py:128 msgid "Suppress Icons" msgstr "" -#: plone/restapi/services/contextnavigation/get.py:144 +#: plone/restapi/services/contextnavigation/get.py:147 msgid "Suppress thumbs" msgstr "" -#: plone/restapi/services/users/add.py:342 +#: plone/restapi/services/users/add.py:349 msgid "The password passed as 'old_password' is wrong." msgstr "" -#: plone/restapi/services/users/add.py:307 +#: plone/restapi/services/users/add.py:314 msgid "The reset_token is unknown/not valid." msgstr "" @@ -151,7 +155,7 @@ msgstr "" msgid "You are not authorized to perform this action" msgstr "" -#: plone/restapi/services/email_send/post.py:91 +#: plone/restapi/services/email_send/post.py:98 msgid "You are receiving this mail because ${sender_fullname} sent this message via the site ${portal_title}:" msgstr "Sie erhalten diese E-Mail, weil Ihnen ${sender_fullname} diese Nachricht über die Webseite ${portal_title} geschickt hat:" @@ -159,7 +163,7 @@ msgstr "Sie erhalten diese E-Mail, weil Ihnen ${sender_fullname} diese Nachricht msgid "You can't send both password and sendPasswordReset." msgstr "" -#: plone/restapi/services/users/add.py:322 +#: plone/restapi/services/users/add.py:329 msgid "You can't set a password without a password reset token." msgstr "" @@ -179,72 +183,72 @@ msgstr "" msgid "You need AddPortalMember permission." msgstr "" -#: plone/restapi/services/users/add.py:329 +#: plone/restapi/services/users/add.py:336 msgid "You need to be logged in as the user '${username}' to set the password." msgstr "" #. Default: "Missing dependency" -#: plone/restapi/services/addons/addons.py:207 +#: plone/restapi/services/addons/addons.py:212 msgid "dependency_missing" msgstr "" #. Default: "If selected, the navigation tree will only show the current folder and its children at all times." -#: plone/restapi/services/contextnavigation/get.py:84 +#: plone/restapi/services/contextnavigation/get.py:87 msgid "help_current_folder_only" msgstr "" #. Default: "Whether or not to show the top, or 'root', node in the navigation tree. This is affected by the 'Start level' setting." -#: plone/restapi/services/contextnavigation/get.py:69 +#: plone/restapi/services/contextnavigation/get.py:72 msgid "help_include_top_node" msgstr "" #. Default: "You may search for and choose a folder to act as the root of the navigation tree. Leave blank to use the Plone site root." -#: plone/restapi/services/contextnavigation/get.py:58 +#: plone/restapi/services/contextnavigation/get.py:61 msgid "help_navigation_root" msgstr "" #. Default: "An integer value that specifies the number of folder levels below the site root that must be exceeded before the navigation tree will display. 0 means that the navigation tree should be displayed everywhere including pages in the root of the site. 1 means the tree only shows up inside folders located in the root and downwards, never showing at the top level." -#: plone/restapi/services/contextnavigation/get.py:96 +#: plone/restapi/services/contextnavigation/get.py:99 msgid "help_navigation_start_level" msgstr "" #. Default: "The title of the navigation tree." -#: plone/restapi/services/contextnavigation/get.py:49 +#: plone/restapi/services/contextnavigation/get.py:52 msgid "help_navigation_title" msgstr "" #. Default: "How many folders should be included before the navigation tree stops. 0 means no limit. 1 only includes the root folder." -#: plone/restapi/services/contextnavigation/get.py:113 +#: plone/restapi/services/contextnavigation/get.py:116 msgid "help_navigation_tree_depth" msgstr "" #. Default: "Only show the contents of the current folder." -#: plone/restapi/services/contextnavigation/get.py:80 +#: plone/restapi/services/contextnavigation/get.py:83 msgid "label_current_folder_only" msgstr "" #. Default: "Include top node" -#: plone/restapi/services/contextnavigation/get.py:68 +#: plone/restapi/services/contextnavigation/get.py:71 msgid "label_include_top_node" msgstr "" #. Default: "Root node" -#: plone/restapi/services/contextnavigation/get.py:57 +#: plone/restapi/services/contextnavigation/get.py:60 msgid "label_navigation_root_path" msgstr "" #. Default: "Start level" -#: plone/restapi/services/contextnavigation/get.py:95 +#: plone/restapi/services/contextnavigation/get.py:98 msgid "label_navigation_startlevel" msgstr "" #. Default: "Title" -#: plone/restapi/services/contextnavigation/get.py:48 +#: plone/restapi/services/contextnavigation/get.py:51 msgid "label_navigation_title" msgstr "" #. Default: "Navigation tree depth" -#: plone/restapi/services/contextnavigation/get.py:112 +#: plone/restapi/services/contextnavigation/get.py:115 msgid "label_navigation_tree_depth" msgstr "" diff --git a/src/plone/restapi/locales/es/LC_MESSAGES/plone.restapi.po b/src/plone/restapi/locales/es/LC_MESSAGES/plone.restapi.po index b957833eec..bc972bfbac 100644 --- a/src/plone/restapi/locales/es/LC_MESSAGES/plone.restapi.po +++ b/src/plone/restapi/locales/es/LC_MESSAGES/plone.restapi.po @@ -4,11 +4,10 @@ msgid "" msgstr "" "Project-Id-Version: Plone\n" -"POT-Creation-Date: 2019-12-09 10:14+0000\n" +"POT-Creation-Date: 2023-12-22 19:57+0000\n" "PO-Revision-Date: 2023-08-23 21:19-0400\n" "Last-Translator: Leonardo J. Caballero G. \n" "Language-Team: ES \n" -"Language: es\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" @@ -17,14 +16,19 @@ msgstr "" "Language-Name: Español\n" "Preferred-Encodings: utf-8 latin1\n" "Domain: plone.restapi\n" +"Language: es\n" "X-Generator: Poedit 3.3.2\n" "X-Is-Fallback-For: es-ar es-bo es-cl es-co es-cr es-do es-ec es-es es-sv es-gt es-hn es-mx es-ni es-pa es-py es-pe es-pr es-us es-uy es-ve\n" -#: plone/restapi/services/email_send/post.py:81 +#: plone/restapi/deserializer/dxcontent.py:116 +msgid "${field_name} is a required field. Setting it to null is not allowed." +msgstr "" + +#: plone/restapi/services/email_send/post.py:88 msgid "${sender_fullname} via ${portal_title}" msgstr "${sender_fullname} vía ${portal_title}" -#: plone/restapi/services/email_send/post.py:74 +#: plone/restapi/services/email_send/post.py:81 msgid "A portal user via ${portal_title}" msgstr "Un usuario de portal user vía ${portal_title}" @@ -40,23 +44,23 @@ msgstr "Añadir tipos de contenido de ejemplo para pruebas" msgid "Adds sample workflows for testing" msgstr "Añadir flujos de trabajo de muestra para realizar pruebas" -#: plone/restapi/services/aliases/add.py:106 +#: plone/restapi/services/aliases/add.py:107 msgid "Alternative urls that point to themselves will cause an endless cycle of redirects." msgstr "Las URL alternativas que apuntan a sí mismas provocarán un bucle interminable de redireccionamientos." -#: plone/restapi/configure.zcml:115 +#: plone/restapi/configure.zcml:116 msgid "Blocks" msgstr "Bloques" -#: plone/restapi/configure.zcml:122 +#: plone/restapi/configure.zcml:123 msgid "Blocks (Editable Layout)" msgstr "Bloques (Diseño editable)" -#: plone/restapi/configure.zcml:122 +#: plone/restapi/configure.zcml:123 msgid "Enables Volto Blocks (editable layout) support" msgstr "Habilita el soporte para bloques Volto (diseño editable)" -#: plone/restapi/configure.zcml:115 +#: plone/restapi/configure.zcml:116 msgid "Enables Volto Blocks support" msgstr "Habilitar soporte a Bloques Volto" @@ -64,7 +68,7 @@ msgstr "Habilitar soporte a Bloques Volto" msgid "Enables blocks on the Document content type" msgstr "Habilitar bloques en el tipo de contenido Documento" -#: plone/restapi/services/contextnavigation/get.py:133 +#: plone/restapi/services/contextnavigation/get.py:136 msgid "Enter a valid scale name (see 'Image Handling' control panel) to override (e.g. icon, tile, thumb, mini, preview, ... ). Leave empty to use default (see 'Site' control panel)." msgstr "Introducir un nombre de escala válido (consulte 'Manipulación de imágenes' en el panel de control) para anular (por ejemplo, icon, tile, thumb, mini, preview...). Déjelo en blanco para usar el valor predeterminado (consulte 'Sitio' en el panel de control)." @@ -73,15 +77,15 @@ msgid "Error in fields. ${errors_to_string}" msgstr "Errores en los campos. ${errors_to_string}" #. Default: "The reset_token is expired." -#: plone/restapi/services/users/add.py:312 +#: plone/restapi/services/users/add.py:319 msgid "Expired Token" msgstr "Token caducado" -#: plone/restapi/services/contextnavigation/get.py:126 +#: plone/restapi/services/contextnavigation/get.py:129 msgid "If enabled, the portlet will not show document type icons." msgstr "Si está habilitado, el portlet no mostrará los iconos de tipo de contenido." -#: plone/restapi/services/contextnavigation/get.py:145 +#: plone/restapi/services/contextnavigation/get.py:148 msgid "If enabled, the portlet will not show thumbs." msgstr "Si está habilitado, el portlet no mostrará miniaturas." @@ -97,11 +101,11 @@ msgstr "Si introduce 'Restablecer token' debe ingresar 'Nueva contraseña'" msgid "Layout" msgstr "Diseño" -#: plone/restapi/services/contextnavigation/get.py:195 +#: plone/restapi/services/contextnavigation/get.py:197 msgid "Navigation" msgstr "Navegación" -#: plone/restapi/services/contextnavigation/get.py:132 +#: plone/restapi/services/contextnavigation/get.py:135 msgid "Override thumb scale" msgstr "Anular escala de miniaturas" @@ -129,23 +133,23 @@ msgstr "Revertido para revisión ${version}" msgid "Roles" msgstr "Roles" -#: plone/restapi/services/users/add.py:350 +#: plone/restapi/services/users/add.py:357 msgid "See the user endpoint documentation for the valid parameters." msgstr "Consulte la documentación del usuario del terminal para conocer los parámetros válidos." -#: plone/restapi/services/contextnavigation/get.py:125 +#: plone/restapi/services/contextnavigation/get.py:128 msgid "Suppress Icons" msgstr "Suprimir iconos" -#: plone/restapi/services/contextnavigation/get.py:144 +#: plone/restapi/services/contextnavigation/get.py:147 msgid "Suppress thumbs" msgstr "Suprimir miniaturas" -#: plone/restapi/services/users/add.py:342 +#: plone/restapi/services/users/add.py:349 msgid "The password passed as 'old_password' is wrong." msgstr "La contraseña pasada como \"Contraseña anterior\" no es válida." -#: plone/restapi/services/users/add.py:307 +#: plone/restapi/services/users/add.py:314 msgid "The reset_token is unknown/not valid." msgstr "El reset_token es desconocido/no válido." @@ -157,7 +161,7 @@ msgstr "Bloques Volto" msgid "You are not authorized to perform this action" msgstr "No está autorizado a realizar esta acción." -#: plone/restapi/services/email_send/post.py:91 +#: plone/restapi/services/email_send/post.py:98 msgid "You are receiving this mail because ${sender_fullname} sent this message via the site ${portal_title}:" msgstr "Está recibiendo este correo porque ${sender_fullname} envió este mensaje a través del sitio ${portal_title}:" @@ -165,7 +169,7 @@ msgstr "Está recibiendo este correo porque ${sender_fullname} envió este mensa msgid "You can't send both password and sendPasswordReset." msgstr "No puede enviar la contraseña y 'Enviar un correo electrónico de confirmación con un enlace para establecer la contraseña'." -#: plone/restapi/services/users/add.py:322 +#: plone/restapi/services/users/add.py:329 msgid "You can't set a password without a password reset token." msgstr "No puede establecer una contraseña sin un token de restablecimiento de contraseña." @@ -185,72 +189,72 @@ msgstr "Debe enviar una contraseña o 'Enviar un correo electrónico de confirma msgid "You need AddPortalMember permission." msgstr "Necesita el permiso AddPortalMember." -#: plone/restapi/services/users/add.py:329 +#: plone/restapi/services/users/add.py:336 msgid "You need to be logged in as the user '${username}' to set the password." msgstr "Debe iniciar sesión como usuario '${username}' para poder establecer la contraseña." #. Default: "Missing dependency" -#: plone/restapi/services/addons/addons.py:207 +#: plone/restapi/services/addons/addons.py:212 msgid "dependency_missing" msgstr "Dependencia faltante" #. Default: "If selected, the navigation tree will only show the current folder and its children at all times." -#: plone/restapi/services/contextnavigation/get.py:84 +#: plone/restapi/services/contextnavigation/get.py:87 msgid "help_current_folder_only" msgstr "Si se selecciona, el árbol de navegación siempre mostrará solo la carpeta actual y sus hijos." #. Default: "Whether or not to show the top, or 'root', node in the navigation tree. This is affected by the 'Start level' setting." -#: plone/restapi/services/contextnavigation/get.py:69 +#: plone/restapi/services/contextnavigation/get.py:72 msgid "help_include_top_node" msgstr "Si el nodo superior, o 'raíz', debe mostrarse o no en el árbol de navegación. Esto se ve afectado por la configuración del 'Nivel inicial'." #. Default: "You may search for and choose a folder to act as the root of the navigation tree. Leave blank to use the Plone site root." -#: plone/restapi/services/contextnavigation/get.py:58 +#: plone/restapi/services/contextnavigation/get.py:61 msgid "help_navigation_root" msgstr "Puede buscar y seleccionar una carpeta para que actúe como raíz del árbol de navegación. Déjelo en blanco para usar la raíz del sitio Plone." #. Default: "An integer value that specifies the number of folder levels below the site root that must be exceeded before the navigation tree will display. 0 means that the navigation tree should be displayed everywhere including pages in the root of the site. 1 means the tree only shows up inside folders located in the root and downwards, never showing at the top level." -#: plone/restapi/services/contextnavigation/get.py:96 +#: plone/restapi/services/contextnavigation/get.py:99 msgid "help_navigation_start_level" msgstr "Un valor entero que especifica el número de niveles de carpeta debajo de la raíz del sitio que se deben exceder antes de que se muestre el árbol de navegación. 0 significa que el árbol de navegación debe mostrarse en cualquier lugar, incluidas las páginas en la raíz del sitio. 1 significa que el árbol solo aparecerá dentro de las carpetas ubicadas en la raíz y debajo de ella, y nunca aparecerá en el nivel raíz." #. Default: "The title of the navigation tree." -#: plone/restapi/services/contextnavigation/get.py:49 +#: plone/restapi/services/contextnavigation/get.py:52 msgid "help_navigation_title" msgstr "El título del árbol de navegación." #. Default: "How many folders should be included before the navigation tree stops. 0 means no limit. 1 only includes the root folder." -#: plone/restapi/services/contextnavigation/get.py:113 +#: plone/restapi/services/contextnavigation/get.py:116 msgid "help_navigation_tree_depth" msgstr "Cuántas carpetas se deben incluir antes de que se detenga el árbol de navegación. 0 significa sin límite. 1 significa incluir solo la carpeta raíz." #. Default: "Only show the contents of the current folder." -#: plone/restapi/services/contextnavigation/get.py:80 +#: plone/restapi/services/contextnavigation/get.py:83 msgid "label_current_folder_only" msgstr "Muestra solo el contenido de la carpeta actual." #. Default: "Include top node" -#: plone/restapi/services/contextnavigation/get.py:68 +#: plone/restapi/services/contextnavigation/get.py:71 msgid "label_include_top_node" msgstr "Incluir nodo superior" #. Default: "Root node" -#: plone/restapi/services/contextnavigation/get.py:57 +#: plone/restapi/services/contextnavigation/get.py:60 msgid "label_navigation_root_path" msgstr "Nodo raíz" #. Default: "Start level" -#: plone/restapi/services/contextnavigation/get.py:95 +#: plone/restapi/services/contextnavigation/get.py:98 msgid "label_navigation_startlevel" msgstr "Nivel inicial" #. Default: "Title" -#: plone/restapi/services/contextnavigation/get.py:48 +#: plone/restapi/services/contextnavigation/get.py:51 msgid "label_navigation_title" msgstr "Título" #. Default: "Navigation tree depth" -#: plone/restapi/services/contextnavigation/get.py:112 +#: plone/restapi/services/contextnavigation/get.py:115 msgid "label_navigation_tree_depth" msgstr "Profundidad del árbol de navegación" diff --git a/src/plone/restapi/locales/fr/LC_MESSAGES/plone.restapi.po b/src/plone/restapi/locales/fr/LC_MESSAGES/plone.restapi.po index 7d1260a51e..afaa42da16 100644 --- a/src/plone/restapi/locales/fr/LC_MESSAGES/plone.restapi.po +++ b/src/plone/restapi/locales/fr/LC_MESSAGES/plone.restapi.po @@ -1,7 +1,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" -"POT-Creation-Date: 2022-12-29 15:58+0000\n" +"POT-Creation-Date: 2023-12-22 19:57+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI +ZONE\n" "Last-Translator: Julien Chandelle \n" "Language-Team: French \n" @@ -14,11 +14,15 @@ msgstr "" "Preferred-Encodings: utf-8 latin1\n" "Domain: plone.restapi\n" -#: plone/restapi/services/email_send/post.py:81 +#: plone/restapi/deserializer/dxcontent.py:116 +msgid "${field_name} is a required field. Setting it to null is not allowed." +msgstr "" + +#: plone/restapi/services/email_send/post.py:88 msgid "${sender_fullname} via ${portal_title}" msgstr "${sender_fullname} via ${portal_title}" -#: plone/restapi/services/email_send/post.py:74 +#: plone/restapi/services/email_send/post.py:81 msgid "A portal user via ${portal_title}" msgstr "Un utilisateur du portail via ${portal_title}" @@ -34,23 +38,23 @@ msgstr "" msgid "Adds sample workflows for testing" msgstr "" -#: plone/restapi/services/aliases/add.py:106 +#: plone/restapi/services/aliases/add.py:107 msgid "Alternative urls that point to themselves will cause an endless cycle of redirects." msgstr "Les URLs alternatives qui pointent vers elles-mêmes provoqueront un cycle sans fin de redirections." -#: plone/restapi/configure.zcml:115 +#: plone/restapi/configure.zcml:116 msgid "Blocks" msgstr "Blocs" -#: plone/restapi/configure.zcml:122 +#: plone/restapi/configure.zcml:123 msgid "Blocks (Editable Layout)" msgstr "Blocs (mise en page modifiable)" -#: plone/restapi/configure.zcml:122 +#: plone/restapi/configure.zcml:123 msgid "Enables Volto Blocks (editable layout) support" msgstr "Active la prise en charge des blocs Volto (mise en page modifiable)" -#: plone/restapi/configure.zcml:115 +#: plone/restapi/configure.zcml:116 msgid "Enables Volto Blocks support" msgstr "Active la prise en charge des blocs Volto" @@ -58,7 +62,7 @@ msgstr "Active la prise en charge des blocs Volto" msgid "Enables blocks on the Document content type" msgstr "" -#: plone/restapi/services/contextnavigation/get.py:133 +#: plone/restapi/services/contextnavigation/get.py:136 msgid "Enter a valid scale name (see 'Image Handling' control panel) to override (e.g. icon, tile, thumb, mini, preview, ... ). Leave empty to use default (see 'Site' control panel)." msgstr "Saisissez un nom d'échelle valide (cf. « Gestion des images » dans le panneau de configuration) pour outrepasser (p. ex. icon, tile, thumb, mini, preview, etc.). Laisser vide pour utiliser les échelles par défaut (cf. « Site » dans le panneau de configuration)." @@ -67,15 +71,15 @@ msgid "Error in fields. ${errors_to_string}" msgstr "Erreur dans les champs. ${errors_to_string}" #. Default: "The reset_token is expired." -#: plone/restapi/services/users/add.py:312 +#: plone/restapi/services/users/add.py:319 msgid "Expired Token" msgstr "Le reset_token a expiré" -#: plone/restapi/services/contextnavigation/get.py:126 +#: plone/restapi/services/contextnavigation/get.py:129 msgid "If enabled, the portlet will not show document type icons." msgstr "Si activé, le portlet n'affichera pas les icônes de types de documents." -#: plone/restapi/services/contextnavigation/get.py:145 +#: plone/restapi/services/contextnavigation/get.py:148 msgid "If enabled, the portlet will not show thumbs." msgstr "Si activé, le portlet n'affichera pas les miniatures." @@ -91,11 +95,11 @@ msgstr "Si vous passez le paramètre 'reset_token', vous devez passer le paramè msgid "Layout" msgstr "Mise en page" -#: plone/restapi/services/contextnavigation/get.py:195 +#: plone/restapi/services/contextnavigation/get.py:197 msgid "Navigation" msgstr "Navigation" -#: plone/restapi/services/contextnavigation/get.py:132 +#: plone/restapi/services/contextnavigation/get.py:135 msgid "Override thumb scale" msgstr "Remplacer l'échelle de miniature" @@ -123,23 +127,23 @@ msgstr "Retour à la révision ${version}" msgid "Roles" msgstr "Rôles" -#: plone/restapi/services/users/add.py:350 +#: plone/restapi/services/users/add.py:357 msgid "See the user endpoint documentation for the valid parameters." msgstr "Consultez la documentation du endpoint user pour les paramètres valides." -#: plone/restapi/services/contextnavigation/get.py:125 +#: plone/restapi/services/contextnavigation/get.py:128 msgid "Suppress Icons" msgstr "Supprimer les icônes" -#: plone/restapi/services/contextnavigation/get.py:144 +#: plone/restapi/services/contextnavigation/get.py:147 msgid "Suppress thumbs" msgstr "Supprimer les miniatures" -#: plone/restapi/services/users/add.py:342 +#: plone/restapi/services/users/add.py:349 msgid "The password passed as 'old_password' is wrong." msgstr "Le mot de passe passé comme 'old_password' est erroné." -#: plone/restapi/services/users/add.py:307 +#: plone/restapi/services/users/add.py:314 msgid "The reset_token is unknown/not valid." msgstr "Le reset_token est inconnu/non valide." @@ -151,7 +155,7 @@ msgstr "Blocs Volto" msgid "You are not authorized to perform this action" msgstr "Vous n'êtes pas autorisé à effectuer cette action" -#: plone/restapi/services/email_send/post.py:91 +#: plone/restapi/services/email_send/post.py:98 msgid "You are receiving this mail because ${sender_fullname} sent this message via the site ${portal_title}:" msgstr "Vous recevez cette e-mail, car ${sender_fullname} vous a envoyé ce message depuis ${portal_title}:" @@ -159,7 +163,7 @@ msgstr "Vous recevez cette e-mail, car ${sender_fullname} vous a envoyé ce mess msgid "You can't send both password and sendPasswordReset." msgstr "Vous ne pouvez pas envoyer à la fois le password et sendPasswordReset" -#: plone/restapi/services/users/add.py:322 +#: plone/restapi/services/users/add.py:329 msgid "You can't set a password without a password reset token." msgstr "Vous ne pouvez pas définir de mot de passe sans un jeton de réinitialisation de mot de passe." @@ -179,72 +183,72 @@ msgstr "Vous devez soit saisir un password ou sendPasswordReset" msgid "You need AddPortalMember permission." msgstr "Vous avez besoin de la permission AddPortalMember" -#: plone/restapi/services/users/add.py:329 +#: plone/restapi/services/users/add.py:336 msgid "You need to be logged in as the user '${username}' to set the password." msgstr "Vous devez être connecté an tant que '${username}' pour définir le mot de passe." #. Default: "Missing dependency" -#: plone/restapi/services/addons/addons.py:207 +#: plone/restapi/services/addons/addons.py:212 msgid "dependency_missing" msgstr "Dépendence manquante" #. Default: "If selected, the navigation tree will only show the current folder and its children at all times." -#: plone/restapi/services/contextnavigation/get.py:84 +#: plone/restapi/services/contextnavigation/get.py:87 msgid "help_current_folder_only" msgstr "Si cette option est sélectionnée, l'arborescence de navigation n'affichera à tout moment que le dossier actuel et ses enfants." #. Default: "Whether or not to show the top, or 'root', node in the navigation tree. This is affected by the 'Start level' setting." -#: plone/restapi/services/contextnavigation/get.py:69 +#: plone/restapi/services/contextnavigation/get.py:72 msgid "help_include_top_node" msgstr "Afficher ou non le nœud supérieur ou 'racine' dans l'arborescence de navigation. Ceci est affecté par le paramètre 'Niveau de démarrage'." #. Default: "You may search for and choose a folder to act as the root of the navigation tree. Leave blank to use the Plone site root." -#: plone/restapi/services/contextnavigation/get.py:58 +#: plone/restapi/services/contextnavigation/get.py:61 msgid "help_navigation_root" msgstr "Vous pouvez rechercher et choisir un dossier qui servira de racine à l'arborescence de navigation. Laissez vide pour utiliser la racine du site Plone." #. Default: "An integer value that specifies the number of folder levels below the site root that must be exceeded before the navigation tree will display. 0 means that the navigation tree should be displayed everywhere including pages in the root of the site. 1 means the tree only shows up inside folders located in the root and downwards, never showing at the top level." -#: plone/restapi/services/contextnavigation/get.py:96 +#: plone/restapi/services/contextnavigation/get.py:99 msgid "help_navigation_start_level" msgstr "Une nombre entière qui spécifie le nombre de niveaux de dossier sous la racine du site qui doit être dépassé avant que l'arborescence de navigation s'affiche. 0 signifie que l'arborescence de navigation doit être affichée partout, en ce compris les pages à la racine du site. 1 signifie que l'arborescence n'apparaît qu'à l'intérieur des dossiers situés à la racine et en dessous, sans jamais s'afficher au niveau supérieur." #. Default: "The title of the navigation tree." -#: plone/restapi/services/contextnavigation/get.py:49 +#: plone/restapi/services/contextnavigation/get.py:52 msgid "help_navigation_title" msgstr "Titre de l'arborescence de navigation." #. Default: "How many folders should be included before the navigation tree stops. 0 means no limit. 1 only includes the root folder." -#: plone/restapi/services/contextnavigation/get.py:113 +#: plone/restapi/services/contextnavigation/get.py:116 msgid "help_navigation_tree_depth" msgstr "Combien de dossiers doivent être inclus avant que l'arborescence de navigation ne s'arrête. 0 signifie aucune limite. 1 inclut uniquement le dossier racine." #. Default: "Only show the contents of the current folder." -#: plone/restapi/services/contextnavigation/get.py:80 +#: plone/restapi/services/contextnavigation/get.py:83 msgid "label_current_folder_only" msgstr "Afficher uniquement le contenu du dossier actuel." #. Default: "Include top node" -#: plone/restapi/services/contextnavigation/get.py:68 +#: plone/restapi/services/contextnavigation/get.py:71 msgid "label_include_top_node" msgstr "Inclure le nœud supérieur" #. Default: "Root node" -#: plone/restapi/services/contextnavigation/get.py:57 +#: plone/restapi/services/contextnavigation/get.py:60 msgid "label_navigation_root_path" msgstr "Noeud principal" #. Default: "Start level" -#: plone/restapi/services/contextnavigation/get.py:95 +#: plone/restapi/services/contextnavigation/get.py:98 msgid "label_navigation_startlevel" msgstr "Niveau de démarrage" #. Default: "Title" -#: plone/restapi/services/contextnavigation/get.py:48 +#: plone/restapi/services/contextnavigation/get.py:51 msgid "label_navigation_title" msgstr "Titre" #. Default: "Navigation tree depth" -#: plone/restapi/services/contextnavigation/get.py:112 +#: plone/restapi/services/contextnavigation/get.py:115 msgid "label_navigation_tree_depth" msgstr "Profondeur de l'arborescence de navigation" diff --git a/src/plone/restapi/locales/plone.restapi.pot b/src/plone/restapi/locales/plone.restapi.pot index 17bca71cfe..4ffe42a119 100644 --- a/src/plone/restapi/locales/plone.restapi.pot +++ b/src/plone/restapi/locales/plone.restapi.pot @@ -4,7 +4,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" -"POT-Creation-Date: 2022-12-29 15:58+0000\n" +"POT-Creation-Date: 2023-12-22 19:57+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI +ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -17,11 +17,15 @@ msgstr "" "Preferred-Encodings: utf-8 latin1\n" "Domain: plone.restapi\n" -#: plone/restapi/services/email_send/post.py:81 +#: plone/restapi/deserializer/dxcontent.py:116 +msgid "${field_name} is a required field. Setting it to null is not allowed." +msgstr "" + +#: plone/restapi/services/email_send/post.py:88 msgid "${sender_fullname} via ${portal_title}" msgstr "" -#: plone/restapi/services/email_send/post.py:74 +#: plone/restapi/services/email_send/post.py:81 msgid "A portal user via ${portal_title}" msgstr "" @@ -37,23 +41,23 @@ msgstr "" msgid "Adds sample workflows for testing" msgstr "" -#: plone/restapi/services/aliases/add.py:106 +#: plone/restapi/services/aliases/add.py:107 msgid "Alternative urls that point to themselves will cause an endless cycle of redirects." msgstr "" -#: plone/restapi/configure.zcml:115 +#: plone/restapi/configure.zcml:116 msgid "Blocks" msgstr "" -#: plone/restapi/configure.zcml:122 +#: plone/restapi/configure.zcml:123 msgid "Blocks (Editable Layout)" msgstr "" -#: plone/restapi/configure.zcml:122 +#: plone/restapi/configure.zcml:123 msgid "Enables Volto Blocks (editable layout) support" msgstr "" -#: plone/restapi/configure.zcml:115 +#: plone/restapi/configure.zcml:116 msgid "Enables Volto Blocks support" msgstr "" @@ -61,7 +65,7 @@ msgstr "" msgid "Enables blocks on the Document content type" msgstr "" -#: plone/restapi/services/contextnavigation/get.py:133 +#: plone/restapi/services/contextnavigation/get.py:136 msgid "Enter a valid scale name (see 'Image Handling' control panel) to override (e.g. icon, tile, thumb, mini, preview, ... ). Leave empty to use default (see 'Site' control panel)." msgstr "" @@ -70,15 +74,15 @@ msgid "Error in fields. ${errors_to_string}" msgstr "" #. Default: "The reset_token is expired." -#: plone/restapi/services/users/add.py:312 +#: plone/restapi/services/users/add.py:319 msgid "Expired Token" msgstr "" -#: plone/restapi/services/contextnavigation/get.py:126 +#: plone/restapi/services/contextnavigation/get.py:129 msgid "If enabled, the portlet will not show document type icons." msgstr "" -#: plone/restapi/services/contextnavigation/get.py:145 +#: plone/restapi/services/contextnavigation/get.py:148 msgid "If enabled, the portlet will not show thumbs." msgstr "" @@ -94,11 +98,11 @@ msgstr "" msgid "Layout" msgstr "" -#: plone/restapi/services/contextnavigation/get.py:195 +#: plone/restapi/services/contextnavigation/get.py:197 msgid "Navigation" msgstr "" -#: plone/restapi/services/contextnavigation/get.py:132 +#: plone/restapi/services/contextnavigation/get.py:135 msgid "Override thumb scale" msgstr "" @@ -126,23 +130,23 @@ msgstr "" msgid "Roles" msgstr "" -#: plone/restapi/services/users/add.py:350 +#: plone/restapi/services/users/add.py:357 msgid "See the user endpoint documentation for the valid parameters." msgstr "" -#: plone/restapi/services/contextnavigation/get.py:125 +#: plone/restapi/services/contextnavigation/get.py:128 msgid "Suppress Icons" msgstr "" -#: plone/restapi/services/contextnavigation/get.py:144 +#: plone/restapi/services/contextnavigation/get.py:147 msgid "Suppress thumbs" msgstr "" -#: plone/restapi/services/users/add.py:342 +#: plone/restapi/services/users/add.py:349 msgid "The password passed as 'old_password' is wrong." msgstr "" -#: plone/restapi/services/users/add.py:307 +#: plone/restapi/services/users/add.py:314 msgid "The reset_token is unknown/not valid." msgstr "" @@ -154,7 +158,7 @@ msgstr "" msgid "You are not authorized to perform this action" msgstr "" -#: plone/restapi/services/email_send/post.py:91 +#: plone/restapi/services/email_send/post.py:98 msgid "You are receiving this mail because ${sender_fullname} sent this message via the site ${portal_title}:" msgstr "" @@ -162,7 +166,7 @@ msgstr "" msgid "You can't send both password and sendPasswordReset." msgstr "" -#: plone/restapi/services/users/add.py:322 +#: plone/restapi/services/users/add.py:329 msgid "You can't set a password without a password reset token." msgstr "" @@ -182,72 +186,72 @@ msgstr "" msgid "You need AddPortalMember permission." msgstr "" -#: plone/restapi/services/users/add.py:329 +#: plone/restapi/services/users/add.py:336 msgid "You need to be logged in as the user '${username}' to set the password." msgstr "" #. Default: "Missing dependency" -#: plone/restapi/services/addons/addons.py:207 +#: plone/restapi/services/addons/addons.py:212 msgid "dependency_missing" msgstr "" #. Default: "If selected, the navigation tree will only show the current folder and its children at all times." -#: plone/restapi/services/contextnavigation/get.py:84 +#: plone/restapi/services/contextnavigation/get.py:87 msgid "help_current_folder_only" msgstr "" #. Default: "Whether or not to show the top, or 'root', node in the navigation tree. This is affected by the 'Start level' setting." -#: plone/restapi/services/contextnavigation/get.py:69 +#: plone/restapi/services/contextnavigation/get.py:72 msgid "help_include_top_node" msgstr "" #. Default: "You may search for and choose a folder to act as the root of the navigation tree. Leave blank to use the Plone site root." -#: plone/restapi/services/contextnavigation/get.py:58 +#: plone/restapi/services/contextnavigation/get.py:61 msgid "help_navigation_root" msgstr "" #. Default: "An integer value that specifies the number of folder levels below the site root that must be exceeded before the navigation tree will display. 0 means that the navigation tree should be displayed everywhere including pages in the root of the site. 1 means the tree only shows up inside folders located in the root and downwards, never showing at the top level." -#: plone/restapi/services/contextnavigation/get.py:96 +#: plone/restapi/services/contextnavigation/get.py:99 msgid "help_navigation_start_level" msgstr "" #. Default: "The title of the navigation tree." -#: plone/restapi/services/contextnavigation/get.py:49 +#: plone/restapi/services/contextnavigation/get.py:52 msgid "help_navigation_title" msgstr "" #. Default: "How many folders should be included before the navigation tree stops. 0 means no limit. 1 only includes the root folder." -#: plone/restapi/services/contextnavigation/get.py:113 +#: plone/restapi/services/contextnavigation/get.py:116 msgid "help_navigation_tree_depth" msgstr "" #. Default: "Only show the contents of the current folder." -#: plone/restapi/services/contextnavigation/get.py:80 +#: plone/restapi/services/contextnavigation/get.py:83 msgid "label_current_folder_only" msgstr "" #. Default: "Include top node" -#: plone/restapi/services/contextnavigation/get.py:68 +#: plone/restapi/services/contextnavigation/get.py:71 msgid "label_include_top_node" msgstr "" #. Default: "Root node" -#: plone/restapi/services/contextnavigation/get.py:57 +#: plone/restapi/services/contextnavigation/get.py:60 msgid "label_navigation_root_path" msgstr "" #. Default: "Start level" -#: plone/restapi/services/contextnavigation/get.py:95 +#: plone/restapi/services/contextnavigation/get.py:98 msgid "label_navigation_startlevel" msgstr "" #. Default: "Title" -#: plone/restapi/services/contextnavigation/get.py:48 +#: plone/restapi/services/contextnavigation/get.py:51 msgid "label_navigation_title" msgstr "" #. Default: "Navigation tree depth" -#: plone/restapi/services/contextnavigation/get.py:112 +#: plone/restapi/services/contextnavigation/get.py:115 msgid "label_navigation_tree_depth" msgstr "" diff --git a/src/plone/restapi/locales/pt_BR/LC_MESSAGES/plone.restapi.po b/src/plone/restapi/locales/pt_BR/LC_MESSAGES/plone.restapi.po index 1c5afcc61d..64e47030ac 100644 --- a/src/plone/restapi/locales/pt_BR/LC_MESSAGES/plone.restapi.po +++ b/src/plone/restapi/locales/pt_BR/LC_MESSAGES/plone.restapi.po @@ -1,7 +1,7 @@ msgid "" msgstr "" "Project-Id-Version: plone.restapi\n" -"POT-Creation-Date: 2022-12-29 15:58+0000\n" +"POT-Creation-Date: 2023-12-22 19:57+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI +ZONE\n" "Last-Translator: Wesley Barroso Lopes\n" "Language-Team: \n" @@ -14,11 +14,15 @@ msgstr "" "Preferred-Encodings: utf-8 latin1\n" "Domain: plone.restapi\n" -#: plone/restapi/services/email_send/post.py:81 +#: plone/restapi/deserializer/dxcontent.py:116 +msgid "${field_name} is a required field. Setting it to null is not allowed." +msgstr "${field_name} é um campo obrigatório. Não é permitido defini-lo como nulo." + +#: plone/restapi/services/email_send/post.py:88 msgid "${sender_fullname} via ${portal_title}" msgstr "" -#: plone/restapi/services/email_send/post.py:74 +#: plone/restapi/services/email_send/post.py:81 msgid "A portal user via ${portal_title}" msgstr "Um usuário do portal via ${portal_title}" @@ -34,23 +38,23 @@ msgstr "Adiciona tipos de conteúdo de amostra para teste" msgid "Adds sample workflows for testing" msgstr "Adiciona workflows de amostra para teste" -#: plone/restapi/services/aliases/add.py:106 +#: plone/restapi/services/aliases/add.py:107 msgid "Alternative urls that point to themselves will cause an endless cycle of redirects." msgstr "URLs alternativas que apontam para si mesmas causarão um ciclo interminável de redirecionamentos." -#: plone/restapi/configure.zcml:115 +#: plone/restapi/configure.zcml:116 msgid "Blocks" msgstr "Blocos" -#: plone/restapi/configure.zcml:122 +#: plone/restapi/configure.zcml:123 msgid "Blocks (Editable Layout)" msgstr "Blocos (Layout Editável)" -#: plone/restapi/configure.zcml:122 +#: plone/restapi/configure.zcml:123 msgid "Enables Volto Blocks (editable layout) support" msgstr "Habilita o suporte a Blocos Volto (layout editável)" -#: plone/restapi/configure.zcml:115 +#: plone/restapi/configure.zcml:116 msgid "Enables Volto Blocks support" msgstr "Habilita o suporte a Blocos Volto" @@ -58,7 +62,7 @@ msgstr "Habilita o suporte a Blocos Volto" msgid "Enables blocks on the Document content type" msgstr "Habilita blocos no tipo de conteúdo Página" -#: plone/restapi/services/contextnavigation/get.py:133 +#: plone/restapi/services/contextnavigation/get.py:136 msgid "Enter a valid scale name (see 'Image Handling' control panel) to override (e.g. icon, tile, thumb, mini, preview, ... ). Leave empty to use default (see 'Site' control panel)." msgstr "Informe um nome de escala válido (ver 'Manipulação de Imagem' no painel de controle) para sobrescrever (por exemplo, icon, tile, thumb, mini, preview…). Deixe em branco para usar o valor padrão (ver 'Site' no painel de controle)." @@ -67,15 +71,15 @@ msgid "Error in fields. ${errors_to_string}" msgstr "Erros em campos. ${errors_to_string}" #. Default: "The reset_token is expired." -#: plone/restapi/services/users/add.py:312 +#: plone/restapi/services/users/add.py:319 msgid "Expired Token" msgstr "Token Expirádo" -#: plone/restapi/services/contextnavigation/get.py:126 +#: plone/restapi/services/contextnavigation/get.py:129 msgid "If enabled, the portlet will not show document type icons." msgstr "Caso ativado, o portlet não mostrará os ícones do tipo de conteúdo" -#: plone/restapi/services/contextnavigation/get.py:145 +#: plone/restapi/services/contextnavigation/get.py:148 msgid "If enabled, the portlet will not show thumbs." msgstr "Caso ativado, o portlet não mostrará miniaturas." @@ -91,11 +95,11 @@ msgstr "Se você informar 'Redefinir Token' você deve informar 'Nova Senha'" msgid "Layout" msgstr "Layout" -#: plone/restapi/services/contextnavigation/get.py:195 +#: plone/restapi/services/contextnavigation/get.py:197 msgid "Navigation" msgstr "Navegação" -#: plone/restapi/services/contextnavigation/get.py:132 +#: plone/restapi/services/contextnavigation/get.py:135 msgid "Override thumb scale" msgstr "Sobrescrever a escala da miniatura" @@ -123,23 +127,23 @@ msgstr "Revertido para revisão ${version}" msgid "Roles" msgstr "Papéis" -#: plone/restapi/services/users/add.py:350 +#: plone/restapi/services/users/add.py:357 msgid "See the user endpoint documentation for the valid parameters." msgstr "Consulte a documentação do endpoint user para obter os parâmetros válidos." -#: plone/restapi/services/contextnavigation/get.py:125 +#: plone/restapi/services/contextnavigation/get.py:128 msgid "Suppress Icons" msgstr "Suprimir ícones" -#: plone/restapi/services/contextnavigation/get.py:144 +#: plone/restapi/services/contextnavigation/get.py:147 msgid "Suppress thumbs" msgstr "Suprimir miniaturas" -#: plone/restapi/services/users/add.py:342 +#: plone/restapi/services/users/add.py:349 msgid "The password passed as 'old_password' is wrong." msgstr "A Senha passada como 'Senha Antiga' não é válida." -#: plone/restapi/services/users/add.py:307 +#: plone/restapi/services/users/add.py:314 msgid "The reset_token is unknown/not valid." msgstr "O reset_token é desconhecido/inválido." @@ -151,7 +155,7 @@ msgstr "Blocos Volto" msgid "You are not authorized to perform this action" msgstr "Você não está autorizado a realizar esta ação" -#: plone/restapi/services/email_send/post.py:91 +#: plone/restapi/services/email_send/post.py:98 msgid "You are receiving this mail because ${sender_fullname} sent this message via the site ${portal_title}:" msgstr "Você está recebendo este e-mail porque ${sender_fullname} enviou esta mensagem através do site ${portal_title}:" @@ -159,7 +163,7 @@ msgstr "Você está recebendo este e-mail porque ${sender_fullname} enviou esta msgid "You can't send both password and sendPasswordReset." msgstr "Você não pode informar Senha e 'Envie um e-mail de confirmação com um link para definir a senha'." -#: plone/restapi/services/users/add.py:322 +#: plone/restapi/services/users/add.py:329 msgid "You can't set a password without a password reset token." msgstr "Você não pode definir uma senha sem um token de redefinição de senha." @@ -179,72 +183,72 @@ msgstr "Você deve informar uma Senha ou 'Envie um e-mail de confirmação com u msgid "You need AddPortalMember permission." msgstr "Você precisa da permissão AddPortalMember." -#: plone/restapi/services/users/add.py:329 +#: plone/restapi/services/users/add.py:336 msgid "You need to be logged in as the user '${username}' to set the password." msgstr "Você precisa estar logado como o usuário '${username}' para definir a senha." #. Default: "Missing dependency" -#: plone/restapi/services/addons/addons.py:207 +#: plone/restapi/services/addons/addons.py:212 msgid "dependency_missing" msgstr "Dependência ausente" #. Default: "If selected, the navigation tree will only show the current folder and its children at all times." -#: plone/restapi/services/contextnavigation/get.py:84 +#: plone/restapi/services/contextnavigation/get.py:87 msgid "help_current_folder_only" msgstr "Caso selecionado, a árvore de navegação irá sempre mostrar somente a pasta atual e seus filhos." #. Default: "Whether or not to show the top, or 'root', node in the navigation tree. This is affected by the 'Start level' setting." -#: plone/restapi/services/contextnavigation/get.py:69 +#: plone/restapi/services/contextnavigation/get.py:72 msgid "help_include_top_node" msgstr "Se o nodo topo, ou 'raiz', deve ser ou não exibido na árvore de navegação. Isso é afetado pela configuração do 'Nível inicial'." #. Default: "You may search for and choose a folder to act as the root of the navigation tree. Leave blank to use the Plone site root." -#: plone/restapi/services/contextnavigation/get.py:58 +#: plone/restapi/services/contextnavigation/get.py:61 msgid "help_navigation_root" msgstr "Você pode procurar por e selecionar uma pasta para agir como a raiz da árvore de navegação. Deixe em branco para usar a raiz do site Plone." #. Default: "An integer value that specifies the number of folder levels below the site root that must be exceeded before the navigation tree will display. 0 means that the navigation tree should be displayed everywhere including pages in the root of the site. 1 means the tree only shows up inside folders located in the root and downwards, never showing at the top level." -#: plone/restapi/services/contextnavigation/get.py:96 +#: plone/restapi/services/contextnavigation/get.py:99 msgid "help_navigation_start_level" msgstr "Um valor inteiro que especifica o número de níveis de pastas abaixo da raiz do site que deve ser excedido antes que a árvore de navegação seja mostrada. 0 significa que a árvore de navegação deve ser mostrada em qualquer lugar, incluindo páginas na raiz do site. 1 significa que a árvore somente aparecerá dentro de pastas localizadas na raiz e abaixo delas, nunca aparecendo no nível raiz." #. Default: "The title of the navigation tree." -#: plone/restapi/services/contextnavigation/get.py:49 +#: plone/restapi/services/contextnavigation/get.py:52 msgid "help_navigation_title" msgstr "O título da árvore de navegação." #. Default: "How many folders should be included before the navigation tree stops. 0 means no limit. 1 only includes the root folder." -#: plone/restapi/services/contextnavigation/get.py:113 +#: plone/restapi/services/contextnavigation/get.py:116 msgid "help_navigation_tree_depth" msgstr "Quantas pastas devem ser incluídas antes que a árvore de navegação pare. 0 significa sem limite. 1 significa incluir somente a pasta raiz." #. Default: "Only show the contents of the current folder." -#: plone/restapi/services/contextnavigation/get.py:80 +#: plone/restapi/services/contextnavigation/get.py:83 msgid "label_current_folder_only" msgstr "Apenas exibir o conteúdo da pasta atual." #. Default: "Include top node" -#: plone/restapi/services/contextnavigation/get.py:68 +#: plone/restapi/services/contextnavigation/get.py:71 msgid "label_include_top_node" msgstr "Incluir o nodo topo" #. Default: "Root node" -#: plone/restapi/services/contextnavigation/get.py:57 +#: plone/restapi/services/contextnavigation/get.py:60 msgid "label_navigation_root_path" msgstr "Nodo raiz" #. Default: "Start level" -#: plone/restapi/services/contextnavigation/get.py:95 +#: plone/restapi/services/contextnavigation/get.py:98 msgid "label_navigation_startlevel" msgstr "Nível inicial" #. Default: "Title" -#: plone/restapi/services/contextnavigation/get.py:48 +#: plone/restapi/services/contextnavigation/get.py:51 msgid "label_navigation_title" msgstr "Título" #. Default: "Navigation tree depth" -#: plone/restapi/services/contextnavigation/get.py:112 +#: plone/restapi/services/contextnavigation/get.py:115 msgid "label_navigation_tree_depth" msgstr "Profundidade da árvore de navegação" From 80c8d7eb45731f5a2aeb95c0313636d7c1a1ec20 Mon Sep 17 00:00:00 2001 From: David Glick Date: Sat, 13 Jan 2024 16:16:37 -0800 Subject: [PATCH 3/7] Try to fix build error --- base.cfg | 1 + 1 file changed, 1 insertion(+) diff --git a/base.cfg b/base.cfg index dc9af763ac..79dcc8651d 100644 --- a/base.cfg +++ b/base.cfg @@ -32,6 +32,7 @@ allow-hosts = [versions] # Do not use a release of plone.restapi: plone.restapi = +sphinxcontrib-applehelp = 1.0.7 # newer version incompatible with Sphinx <5 [instance] recipe = plone.recipe.zope2instance From a139190fe27b6cd8e4fef52ce7bdfdde51898f48 Mon Sep 17 00:00:00 2001 From: David Glick Date: Sat, 13 Jan 2024 16:20:07 -0800 Subject: [PATCH 4/7] different fix --- base.cfg | 1 - requirements-docs.txt | 1 + 2 files changed, 1 insertion(+), 1 deletion(-) diff --git a/base.cfg b/base.cfg index 79dcc8651d..dc9af763ac 100644 --- a/base.cfg +++ b/base.cfg @@ -32,7 +32,6 @@ allow-hosts = [versions] # Do not use a release of plone.restapi: plone.restapi = -sphinxcontrib-applehelp = 1.0.7 # newer version incompatible with Sphinx <5 [instance] recipe = plone.recipe.zope2instance diff --git a/requirements-docs.txt b/requirements-docs.txt index dbff148650..ff7758fbf2 100644 --- a/requirements-docs.txt +++ b/requirements-docs.txt @@ -1,4 +1,5 @@ docutils<0.17,>=0.15 # sphinx-book-theme 0.2.0 has requirement docutils<0.17,>=0.15 +sphinxcontrib-applehelp<=1.0.7 # newer versions require sphinx 5 Sphinx<5,>=3 # sphinx-book-theme 0.3.3 has requirement sphinx<5,>=3 jsx-lexer lesscpy From a3b6cf878cc0eddacfba09d4b0f3155a7b5e2bdc Mon Sep 17 00:00:00 2001 From: David Glick Date: Sat, 13 Jan 2024 16:25:28 -0800 Subject: [PATCH 5/7] another fix --- requirements-docs.txt | 1 + 1 file changed, 1 insertion(+) diff --git a/requirements-docs.txt b/requirements-docs.txt index ff7758fbf2..a17881e2c4 100644 --- a/requirements-docs.txt +++ b/requirements-docs.txt @@ -1,5 +1,6 @@ docutils<0.17,>=0.15 # sphinx-book-theme 0.2.0 has requirement docutils<0.17,>=0.15 sphinxcontrib-applehelp<=1.0.7 # newer versions require sphinx 5 +sphinxcontrib-devhelp<=1.0.5 # newer versions require sphinx 5 Sphinx<5,>=3 # sphinx-book-theme 0.3.3 has requirement sphinx<5,>=3 jsx-lexer lesscpy From 2ca71e9f6fa49e16d1102fe5780f57c5447775f7 Mon Sep 17 00:00:00 2001 From: David Glick Date: Sat, 13 Jan 2024 16:35:08 -0800 Subject: [PATCH 6/7] pin sphinxcontrib-htmlhelp --- requirements-docs.txt | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/requirements-docs.txt b/requirements-docs.txt index a17881e2c4..af88018769 100644 --- a/requirements-docs.txt +++ b/requirements-docs.txt @@ -1,6 +1,7 @@ docutils<0.17,>=0.15 # sphinx-book-theme 0.2.0 has requirement docutils<0.17,>=0.15 -sphinxcontrib-applehelp<=1.0.7 # newer versions require sphinx 5 -sphinxcontrib-devhelp<=1.0.5 # newer versions require sphinx 5 +sphinxcontrib-applehelp==1.0.4 # newer versions require sphinx 5 +sphinxcontrib-devhelp==1.0.2 # newer versions require sphinx 5 +sphinxcontrib-htmlhelp==2.0.1 # newer versions require sphinx 5 Sphinx<5,>=3 # sphinx-book-theme 0.3.3 has requirement sphinx<5,>=3 jsx-lexer lesscpy From 35b71edb54f50f14a0d3e91db9b955543c1c7871 Mon Sep 17 00:00:00 2001 From: David Glick Date: Sat, 13 Jan 2024 16:41:31 -0800 Subject: [PATCH 7/7] more pins --- requirements-docs.txt | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/requirements-docs.txt b/requirements-docs.txt index af88018769..a522f65309 100644 --- a/requirements-docs.txt +++ b/requirements-docs.txt @@ -1,8 +1,10 @@ docutils<0.17,>=0.15 # sphinx-book-theme 0.2.0 has requirement docutils<0.17,>=0.15 +Sphinx<5,>=3 # sphinx-book-theme 0.3.3 has requirement sphinx<5,>=3 sphinxcontrib-applehelp==1.0.4 # newer versions require sphinx 5 sphinxcontrib-devhelp==1.0.2 # newer versions require sphinx 5 sphinxcontrib-htmlhelp==2.0.1 # newer versions require sphinx 5 -Sphinx<5,>=3 # sphinx-book-theme 0.3.3 has requirement sphinx<5,>=3 +sphinxcontrib-qthelp==1.0.3 # newer versions require sphinx 5 +sphinxcontrib-serializinghtml==1.1.5 # newer versions require sphinx 5 jsx-lexer lesscpy linkify-it-py