From cd9c39f225769337af9cd153b4b65b55b9e23252 Mon Sep 17 00:00:00 2001
From: arnaud-4d
Date: Thu, 13 Nov 2025 11:22:02 +0100
Subject: [PATCH 01/75] New Crowdin updates (#2989)
* New translations properties_backgroundandborder.md (Spanish)
* New translations privileges.md (Spanish)
* New translations $filter.md (Spanish)
* New translations configuration.md (Spanish)
* New translations vp-export-document.md (Spanish)
* New translations vp-import-document.md (Spanish)
* New translations qodly-studio.md (Spanish)
* New translations webserver.md (Spanish)
* New translations client-server.md (Spanish)
* New translations web.md (Spanish)
* New translations managing-formulas.md (Spanish)
* New translations wp-import-document.md (Spanish)
* New translations labels.md (Spanish)
* New translations select-log-file.md (Spanish)
* New translations wa-get-context.md (Spanish)
* New translations openaichatapi.md (Spanish)
* New translations openaichatcompletionsapi.md (Spanish)
* New translations openaichatcompletionsmessagesapi.md (Spanish)
* New translations openaierror.md (Spanish)
* New translations openaiimage.md (Spanish)
* New translations openaimessage.md (Spanish)
* New translations openaiparameters.md (Spanish)
* New translations openairesult.md (Spanish)
* New translations call-chain.md (Spanish)
* New translations command-name.md (Spanish)
* New translations listbox-get-property.md (Spanish)
* New translations listbox-set-property.md (Spanish)
* New translations orda-events.md (Spanish)
* New translations field-properties.md (Spanish)
* New translations openaiembeddingsapi.md (Spanish)
* New translations collectionclass.md (Spanish)
* New translations cryptokeyclass.md (Spanish)
* New translations imaptransporterclass.md (Spanish)
* New translations cli.md (Spanish)
* New translations labels.md (Spanish)
* New translations field-properties.md (Spanish)
* New translations overview.md (Spanish)
* New translations formeditor.md (Spanish)
* New translations properties_markers.md (Spanish)
* New translations button_overview.md (Spanish)
* New translations listbox_overview.md (Spanish)
* New translations properties_backgroundandborder.md (Spanish)
* New translations properties_object.md (Spanish)
* New translations entities.md (Spanish)
* New translations vp-export-document.md (Spanish)
* New translations vp-find.md (Spanish)
* New translations vp-import-document.md (Spanish)
* New translations vp-set-workbook-options.md (Spanish)
* New translations http-request-handler.md (Spanish)
* New translations qodly-studio.md (Spanish)
* New translations wp-export-document.md (Spanish)
* New translations wp-export-variable.md (Spanish)
* New translations wp-import-document.md (Spanish)
* New translations openaichatcompletionsapi.md (Spanish)
* New translations openaichatcompletionsmessagesapi.md (Spanish)
* New translations openaiembeddingsapi.md (Spanish)
* New translations openaierror.md (Spanish)
* New translations openaiimage.md (Spanish)
* New translations openaimessage.md (Spanish)
* New translations openaiparameters.md (Spanish)
* New translations openairesult.md (Spanish)
* New translations compatible-openai.md (Spanish)
* New translations call-chain.md (Spanish)
* New translations command-name.md (Spanish)
* New translations form.md (Spanish)
* New translations listbox-get-property.md (Spanish)
* New translations listbox-set-property.md (Spanish)
* New translations new-log-file.md (Spanish)
* New translations select-log-file.md (Spanish)
* New translations wa-get-context.md (Spanish)
* New translations http-rules.md (Spanish)
* New translations collectionclass.md (Spanish)
* New translations cryptokeyclass.md (Spanish)
* New translations entityclass.md (Spanish)
* New translations imaptransporterclass.md (Spanish)
* New translations sessionclass.md (Spanish)
* New translations webserverclass.md (Spanish)
* New translations cli.md (Spanish)
* New translations debuglogfiles.md (Spanish)
* New translations clientserver.md (Spanish)
* New translations labels.md (Spanish)
* New translations field-properties.md (Spanish)
* New translations overview.md (Spanish)
* New translations formeditor.md (Spanish)
* New translations properties_markers.md (Spanish)
* New translations button_overview.md (Spanish)
* New translations listbox_overview.md (Spanish)
* New translations properties_backgroundandborder.md (Spanish)
* New translations properties_object.md (Spanish)
* New translations call-chain.md (Spanish)
* New translations command-name.md (Spanish)
* New translations form.md (Spanish)
* New translations listbox-get-property.md (Spanish)
* New translations listbox-set-property.md (Spanish)
* New translations new-log-file.md (Spanish)
* New translations select-log-file.md (Spanish)
* New translations wa-get-context.md (Spanish)
* New translations client-server.md (Spanish)
* New translations web.md (Spanish)
* New translations updates.md (Spanish)
* New translations entities.md (Spanish)
* New translations orda-events.md (Spanish)
* New translations privileges.md (Spanish)
* New translations $filter.md (Spanish)
* New translations vp-export-document.md (Spanish)
* New translations vp-find.md (Spanish)
* New translations vp-import-document.md (Spanish)
* New translations vp-set-workbook-options.md (Spanish)
* New translations getting-started.md (Spanish)
* New translations http-rules.md (Spanish)
* New translations qodly-studio.md (Spanish)
* New translations webserver.md (Spanish)
* New translations wp-export-document.md (Spanish)
* New translations wp-export-variable.md (Spanish)
* New translations wp-import-document.md (Spanish)
* New translations managing-formulas.md (Spanish)
* New translations openaichatapi.md (Spanish)
* New translations openaichatcompletionsapi.md (Spanish)
* New translations openaichatcompletionsmessagesapi.md (Spanish)
* New translations openaiembeddingsapi.md (Spanish)
* New translations openaierror.md (Spanish)
* New translations openaiimage.md (Spanish)
* New translations openaimessage.md (Spanish)
* New translations openaiparameters.md (Spanish)
* New translations openairesult.md (Spanish)
* New translations compatible-openai.md (Spanish)
* New translations updates.md (Japanese)
* New translations systemworkerclass.md (Japanese)
* New translations privileges.md (Japanese)
* New translations configuration.md (Japanese)
* New translations systemworkerclass.md (Japanese)
* New translations privileges.md (Japanese)
* New translations systemworkerclass.md (Japanese)
* New translations updates.md (Japanese)
* New translations privileges.md (Japanese)
* New translations updates.md (Portuguese, Brazilian)
* New translations privileges.md (Portuguese, Brazilian)
* New translations configuration.md (Portuguese, Brazilian)
* New translations updates.md (Portuguese, Brazilian)
* New translations privileges.md (Portuguese, Brazilian)
* New translations collectionclass.md (Spanish)
* New translations collectionclass.md (Spanish)
* New translations entityclass.md (Spanish)
* New translations sessionclass.md (Spanish)
* New translations webserverclass.md (Spanish)
* New translations clientserver.md (Spanish)
* New translations formeditor.md (Spanish)
* New translations properties_display.md (Spanish)
* New translations privileges.md (Spanish)
* New translations compiler.md (Spanish)
* New translations vp-export-document.md (Spanish)
* New translations getting-started.md (Spanish)
* New translations authentication.md (Spanish)
* New translations preemptiveweb.md (Spanish)
* New translations sessions.md (Spanish)
* New translations write-class-method.md (Spanish)
* New translations client-server.md (Spanish)
* New translations $singleton.md (Spanish)
* New translations webarea_overview.md (Spanish)
* New translations managing-formulas.md (Spanish)
* New translations wp-import-document.md (Spanish)
* New translations select-log-file.md (Spanish)
* New translations new-log-file.md (Spanish)
* New translations openai.md (Spanish)
* New translations openaichatcompletionslistparameters.md (Spanish)
* New translations openaimessage.md (Spanish)
* New translations openaimoderation.md (Spanish)
* New translations openaimoderationresult.md (Spanish)
* New translations openairesult.md (Spanish)
* New translations compatible-openai.md (Spanish)
* New translations call-chain.md (Spanish)
* New translations command-name.md (Spanish)
* New translations listbox-set-property.md (Spanish)
* New translations orda-events.md (Spanish)
* New translations create-deployment-license.md (Spanish)
* New translations field-properties.md (Spanish)
* New translations cryptokeyclass.md (Spanish)
* New translations entityclass.md (Spanish)
* New translations debuglogfiles.md (Spanish)
* New translations field-properties.md (Spanish)
* New translations overview.md (Spanish)
* New translations formeditor.md (Spanish)
* New translations properties_display.md (Spanish)
* New translations orda-events.md (Spanish)
* New translations compiler.md (Spanish)
* New translations $singleton.md (Spanish)
* New translations vp-copy-to-object.md (Spanish)
* New translations vp-export-document.md (Spanish)
* New translations vp-import-document.md (Spanish)
* New translations vp-move-cells.md (Spanish)
* New translations vp-set-workbook-options.md (Spanish)
* New translations authentication.md (Spanish)
* New translations sessions.md (Spanish)
* New translations wp-import-document.md (Spanish)
* New translations wp-reset-attributes.md (Spanish)
* New translations openai.md (Spanish)
* New translations openaichatcompletionslistparameters.md (Spanish)
* New translations openaimoderation.md (Spanish)
* New translations openaimoderationresult.md (Spanish)
* New translations openairesult.md (Spanish)
* New translations write-class-method.md (Spanish)
* New translations call-chain.md (Spanish)
* New translations command-name.md (Spanish)
* New translations create-deployment-license.md (Spanish)
* New translations listbox-set-property.md (Spanish)
* New translations new-log-file.md (Spanish)
* New translations select-log-file.md (Spanish)
* New translations trim.md (Spanish)
* New translations string.md (Spanish)
* New translations http-rules.md (Spanish)
* New translations cryptokeyclass.md (Spanish)
* New translations entityclass.md (Spanish)
* New translations sessionclass.md (Spanish)
* New translations webserverclass.md (Spanish)
* New translations debuglogfiles.md (Spanish)
* New translations field-properties.md (Spanish)
* New translations formeditor.md (Spanish)
* New translations properties_display.md (Spanish)
* New translations write-class-method.md (Spanish)
* New translations call-chain.md (Spanish)
* New translations command-name.md (Spanish)
* New translations create-deployment-license.md (Spanish)
* New translations listbox-set-property.md (Spanish)
* New translations new-log-file.md (Spanish)
* New translations select-log-file.md (Spanish)
* New translations string.md (Spanish)
* New translations trim.md (Spanish)
* New translations webarea_overview.md (Spanish)
* New translations orda-events.md (Spanish)
* New translations privileges.md (Spanish)
* New translations compiler.md (Spanish)
* New translations $singleton.md (Spanish)
* New translations vp-copy-to-object.md (Spanish)
* New translations vp-export-document.md (Spanish)
* New translations vp-move-cells.md (Spanish)
* New translations vp-set-workbook-options.md (Spanish)
* New translations getting-started.md (Spanish)
* New translations authentication.md (Spanish)
* New translations http-rules.md (Spanish)
* New translations preemptiveweb.md (Spanish)
* New translations sessions.md (Spanish)
* New translations wp-import-document.md (Spanish)
* New translations wp-reset-attributes.md (Spanish)
* New translations managing-formulas.md (Spanish)
* New translations openai.md (Spanish)
* New translations openaichatcompletionslistparameters.md (Spanish)
* New translations openaimessage.md (Spanish)
* New translations openaimoderation.md (Spanish)
* New translations openaimoderationresult.md (Spanish)
* New translations openairesult.md (Spanish)
---
.../current/API/CollectionClass.md | 2 +-
.../current/API/EntityClass.md | 46 +--
.../current/API/SessionClass.md | 4 +-
.../current/API/WebServerClass.md | 4 +-
.../current/Desktop/clientServer.md | 2 +-
.../current/Desktop/labels.md | 44 +--
.../current/Develop/field-properties.md | 4 +-
.../current/Extensions/overview.md | 24 +-
.../current/FormEditor/formEditor.md | 4 +-
.../current/FormObjects/listbox_overview.md | 2 +-
.../properties_BackgroundAndBorder.md | 2 +-
.../current/FormObjects/properties_Display.md | 2 +-
.../current/FormObjects/webArea_overview.md | 2 +-
.../current/ORDA/orda-events.md | 42 +-
.../current/ORDA/privileges.md | 352 ++++++++---------
.../current/Project/compiler.md | 2 +-
.../current/REST/$filter.md | 4 +-
.../current/REST/$singleton.md | 2 +-
.../current/REST/configuration.md | 6 +-
.../ViewPro/commands/vp-export-document.md | 8 +-
.../ViewPro/commands/vp-import-document.md | 2 +-
.../current/ViewPro/getting-started.md | 4 +-
.../current/WebServer/authentication.md | 2 +-
.../current/WebServer/http-rules.md | 4 +-
.../current/WebServer/preemptiveWeb.md | 2 +-
.../current/WebServer/qodly-studio.md | 2 +-
.../current/WebServer/sessions.md | 4 +-
.../current/WebServer/webServer.md | 2 +-
.../WritePro/commands/wp-import-document.md | 22 +-
.../current/WritePro/managing-formulas.md | 4 +-
.../current/aikit/Classes/OpenAI.md | 4 +-
.../current/aikit/Classes/OpenAIChatAPI.md | 8 +-
.../aikit/Classes/OpenAIChatCompletionsAPI.md | 4 +-
.../OpenAIChatCompletionsListParameters.md | 2 +-
.../OpenAIChatCompletionsMessagesAPI.md | 10 +-
.../aikit/Classes/OpenAIEmbeddingsAPI.md | 16 +-
.../current/aikit/Classes/OpenAIError.md | 2 +-
.../current/aikit/Classes/OpenAIImage.md | 16 +-
.../current/aikit/Classes/OpenAIMessage.md | 18 +-
.../current/aikit/Classes/OpenAIModeration.md | 2 +-
.../aikit/Classes/OpenAIModerationResult.md | 2 +-
.../current/aikit/Classes/OpenAIParameters.md | 10 +-
.../current/aikit/Classes/OpenAIResult.md | 6 +-
.../current/aikit/compatible-openai.md | 2 +-
.../current/code-editor/write-class-method.md | 2 +-
.../current/commands/call-chain.md | 6 +-
.../current/commands/command-name.md | 8 +-
.../commands/create-deployment-license.md | 2 +-
.../current/commands/listbox-get-property.md | 2 +-
.../current/commands/listbox-set-property.md | 4 +-
.../current/commands/new-log-file.md | 4 +-
.../current/commands/select-log-file.md | 6 +-
.../current/commands/string.md | 2 +-
.../current/commands/trim.md | 2 +-
.../current/commands/wa-get-context.md | 2 +-
.../current/settings/client-server.md | 4 +-
.../current/settings/web.md | 2 +-
.../version-19/API/CollectionClass.md | 2 +-
.../version-20-R10/API/CollectionClass.md | 2 +-
.../version-20-R10/API/CryptoKeyClass.md | 12 +-
.../version-20-R10/API/EntityClass.md | 6 +-
.../API/IMAPTransporterClass.md | 20 +-
.../version-20-R10/Admin/cli.md | 38 +-
.../version-20-R10/Debugging/debugLogFiles.md | 2 +-
.../version-20-R10/Desktop/labels.md | 42 +-
.../Develop/field-properties.md | 4 +-
.../version-20-R10/Extensions/overview.md | 4 +-
.../version-20-R10/FormEditor/formEditor.md | 10 +-
.../FormEditor/properties_Markers.md | 6 +-
.../FormObjects/button_overview.md | 2 +-
.../FormObjects/listbox_overview.md | 4 +-
.../properties_BackgroundAndBorder.md | 2 +-
.../FormObjects/properties_Display.md | 2 +-
.../FormObjects/properties_Object.md | 6 +-
.../version-20-R10/ORDA/entities.md | 2 +-
.../version-20-R10/ORDA/orda-events.md | 4 +-
.../version-20-R10/Project/compiler.md | 2 +-
.../version-20-R10/REST/$singleton.md | 2 +-
.../ViewPro/commands/vp-copy-to-object.md | 8 +-
.../ViewPro/commands/vp-export-document.md | 8 +-
.../ViewPro/commands/vp-find.md | 2 +-
.../ViewPro/commands/vp-import-document.md | 54 +--
.../ViewPro/commands/vp-move-cells.md | 8 +-
.../commands/vp-set-workbook-options.md | 10 +-
.../WebServer/authentication.md | 2 +-
.../WebServer/http-request-handler.md | 2 +-
.../version-20-R10/WebServer/qodly-studio.md | 2 +-
.../version-20-R10/WebServer/sessions.md | 4 +-
.../WritePro/commands/wp-export-document.md | 4 +-
.../WritePro/commands/wp-export-variable.md | 4 +-
.../WritePro/commands/wp-import-document.md | 22 +-
.../WritePro/commands/wp-reset-attributes.md | 2 +-
.../version-20-R10/aikit/Classes/OpenAI.md | 4 +-
.../aikit/Classes/OpenAIChatCompletionsAPI.md | 4 +-
.../OpenAIChatCompletionsListParameters.md | 2 +-
.../OpenAIChatCompletionsMessagesAPI.md | 10 +-
.../aikit/Classes/OpenAIEmbeddingsAPI.md | 16 +-
.../aikit/Classes/OpenAIError.md | 2 +-
.../aikit/Classes/OpenAIImage.md | 16 +-
.../aikit/Classes/OpenAIMessage.md | 2 +-
.../aikit/Classes/OpenAIModeration.md | 2 +-
.../aikit/Classes/OpenAIModerationResult.md | 2 +-
.../aikit/Classes/OpenAIParameters.md | 12 +-
.../aikit/Classes/OpenAIResult.md | 6 +-
.../version-20-R10/aikit/compatible-openai.md | 2 +-
.../code-editor/write-class-method.md | 2 +-
.../version-20-R10/commands/call-chain.md | 6 +-
.../version-20-R10/commands/command-name.md | 8 +-
.../commands/create-deployment-license.md | 2 +-
.../version-20-R10/commands/form.md | 2 +-
.../commands/listbox-get-property.md | 2 +-
.../commands/listbox-set-property.md | 4 +-
.../version-20-R10/commands/new-log-file.md | 4 +-
.../commands/select-log-file.md | 6 +-
.../version-20-R10/commands/wa-get-context.md | 2 +-
.../version-20/API/CollectionClass.md | 2 +-
.../version-20/Notes/updates.md | 10 +-
.../version-20/settings/web.md | 50 +--
.../version-21/API/CollectionClass.md | 2 +-
.../version-21/API/CryptoKeyClass.md | 12 +-
.../version-21/API/EntityClass.md | 48 +--
.../version-21/API/IMAPTransporterClass.md | 20 +-
.../version-21/API/SessionClass.md | 4 +-
.../version-21/API/WebServerClass.md | 4 +-
.../version-21/Admin/cli.md | 38 +-
.../version-21/Debugging/debugLogFiles.md | 2 +-
.../version-21/Desktop/clientServer.md | 2 +-
.../version-21/Desktop/labels.md | 44 +--
.../version-21/Develop/field-properties.md | 4 +-
.../version-21/Extensions/overview.md | 24 +-
.../version-21/FormEditor/formEditor.md | 10 +-
.../FormEditor/properties_Markers.md | 6 +-
.../version-21/FormObjects/button_overview.md | 2 +-
.../FormObjects/listbox_overview.md | 4 +-
.../properties_BackgroundAndBorder.md | 2 +-
.../FormObjects/properties_Display.md | 2 +-
.../FormObjects/properties_Object.md | 6 +-
.../FormObjects/webArea_overview.md | 2 +-
.../version-21/Notes/updates.md | 1 +
.../version-21/ORDA/entities.md | 2 +-
.../version-21/ORDA/orda-events.md | 42 +-
.../version-21/ORDA/privileges.md | 352 ++++++++---------
.../version-21/Project/compiler.md | 2 +-
.../version-21/REST/$filter.md | 14 +-
.../version-21/REST/$singleton.md | 2 +-
.../ViewPro/commands/vp-copy-to-object.md | 8 +-
.../ViewPro/commands/vp-export-document.md | 8 +-
.../version-21/ViewPro/commands/vp-find.md | 2 +-
.../ViewPro/commands/vp-import-document.md | 54 +--
.../ViewPro/commands/vp-move-cells.md | 8 +-
.../commands/vp-set-workbook-options.md | 10 +-
.../version-21/ViewPro/getting-started.md | 4 +-
.../version-21/WebServer/authentication.md | 2 +-
.../version-21/WebServer/http-rules.md | 4 +-
.../version-21/WebServer/preemptiveWeb.md | 2 +-
.../version-21/WebServer/qodly-studio.md | 2 +-
.../version-21/WebServer/sessions.md | 4 +-
.../version-21/WebServer/webServer.md | 2 +-
.../WritePro/commands/wp-export-document.md | 4 +-
.../WritePro/commands/wp-export-variable.md | 4 +-
.../WritePro/commands/wp-import-document.md | 22 +-
.../WritePro/commands/wp-reset-attributes.md | 2 +-
.../version-21/WritePro/managing-formulas.md | 4 +-
.../version-21/aikit/Classes/OpenAI.md | 4 +-
.../version-21/aikit/Classes/OpenAIChatAPI.md | 8 +-
.../aikit/Classes/OpenAIChatCompletionsAPI.md | 4 +-
.../OpenAIChatCompletionsListParameters.md | 2 +-
.../OpenAIChatCompletionsMessagesAPI.md | 10 +-
.../aikit/Classes/OpenAIEmbeddingsAPI.md | 16 +-
.../version-21/aikit/Classes/OpenAIError.md | 2 +-
.../version-21/aikit/Classes/OpenAIImage.md | 16 +-
.../version-21/aikit/Classes/OpenAIMessage.md | 20 +-
.../aikit/Classes/OpenAIModeration.md | 2 +-
.../aikit/Classes/OpenAIModerationResult.md | 2 +-
.../aikit/Classes/OpenAIParameters.md | 10 +-
.../version-21/aikit/Classes/OpenAIResult.md | 6 +-
.../version-21/aikit/compatible-openai.md | 2 +-
.../code-editor/write-class-method.md | 2 +-
.../version-21/commands/call-chain.md | 6 +-
.../version-21/commands/command-name.md | 8 +-
.../commands/create-deployment-license.md | 2 +-
.../version-21/commands/form.md | 2 +-
.../commands/listbox-get-property.md | 2 +-
.../commands/listbox-set-property.md | 4 +-
.../version-21/commands/new-log-file.md | 4 +-
.../version-21/commands/select-log-file.md | 6 +-
.../version-21/commands/string.md | 2 +-
.../version-21/commands/trim.md | 2 +-
.../version-21/commands/wa-get-context.md | 2 +-
.../version-21/settings/client-server.md | 4 +-
.../version-21/settings/web.md | 2 +-
.../current/ORDA/privileges.md | 364 ++++++++----------
.../current/REST/configuration.md | 6 +-
.../version-20/Notes/updates.md | 8 +
.../version-21/Notes/updates.md | 1 +
.../version-21/ORDA/privileges.md | 364 ++++++++----------
.../current/API/SystemWorkerClass.md | 2 +-
.../current/ORDA/privileges.md | 364 ++++++++----------
.../current/REST/configuration.md | 4 +-
.../version-20-R10/API/SystemWorkerClass.md | 2 +-
.../version-20-R10/ORDA/privileges.md | 4 +-
.../version-20/Notes/updates.md | 8 +
.../version-21/API/SystemWorkerClass.md | 2 +-
.../version-21/Notes/updates.md | 1 +
.../version-21/ORDA/privileges.md | 364 ++++++++----------
.../current/ORDA/privileges.md | 352 ++++++++---------
.../current/REST/configuration.md | 4 +-
.../version-20/Notes/updates.md | 8 +
.../version-21/Notes/updates.md | 1 +
.../version-21/ORDA/privileges.md | 352 ++++++++---------
210 files changed, 2027 insertions(+), 2375 deletions(-)
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/API/CollectionClass.md b/i18n/es/docusaurus-plugin-content-docs/current/API/CollectionClass.md
index 52e214a97ff15e..07743af4897bf7 100644
--- a/i18n/es/docusaurus-plugin-content-docs/current/API/CollectionClass.md
+++ b/i18n/es/docusaurus-plugin-content-docs/current/API/CollectionClass.md
@@ -3169,7 +3169,7 @@ La función `.sort()` ordena los elemento
> Esta función modifica la colección original.
Si se llama a `.sort()` sin parámetros, sólo se ordenan los valores escalares (número, texto, fecha, booleanos). Los elementos se ordenan por defecto de forma ascendente, según su tipo.
-You can also pass one of the following constants in the *ascOrDesc* parameter:
+También puede pasar una de las siguientes constantes en el parámetro *ascOrDesc*:
```
|Constant| Type|Value|Comment|
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/API/EntityClass.md b/i18n/es/docusaurus-plugin-content-docs/current/API/EntityClass.md
index e3b227f3ed96b9..0e843360644b5d 100644
--- a/i18n/es/docusaurus-plugin-content-docs/current/API/EntityClass.md
+++ b/i18n/es/docusaurus-plugin-content-docs/current/API/EntityClass.md
@@ -393,15 +393,15 @@ El objeto devuelto por `.drop()` contiene las siguientes propiedades:
(\*) Los siguientes valores pueden ser devueltos en las propiedades *status* y *statusText* del objeto *Result* en caso de error:
-| Constante | Valor | Comentario |
-| ----------------------------------------- | ----- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
-| `dk status entity does not exist anymore` | 5 | La entidad ya no existe en los datos. Este error puede ocurrir en los siguientes casos:
la entidad ha sido eliminada (el marcador ha cambiado y ahora el espacio de memoria está libre)la entidad ha sido eliminada y reemplazada por otra con otra clave primaria (el marcador ha cambiado y una nueva entidad ahora utiliza el espacio memoria). When using entity.drop(), this error can be returned when dk force drop if stamp changed option is used. When using entity.lock(), this error can be returned when dk reload if stamp changed option is used. **Associated statusText**: "Entity does not exist anymore" |
-| `dk status locked` | 3 | La entidad está bloqueada por un bloqueo pesimista.
**statusText asociado**: "Already locked" |
-| `dk status validation failed` | 7 | Non fatal error sent by the developer for a [validate event](../ORDA/orda-events.md). **statusText asociado**: "Mild Validation Error" |
-| `dk status serious error` | 4 | Un error grave es un error de base de datos de bajo nivel (por ejemplo, una llave duplicada), un error de hardware, etc.
**statusText asociado**: "Other error" |
-| `dk status serious validation error` | 8 | Fatal error sent by the developer for a [validate event](../ORDA/orda-events.md). **statusText asociado**: "Serious Validation Error" |
-| `dk status stamp has changed` | 2 | The internal stamp value of the entity does not match the one of the entity stored in the data (optimistic lock).
with `.save()`: error only if the `dk auto merge` option is not usedwith `.drop()`: error only if the `dk force drop if stamp changed` option is not usedwith `.lock()`: error only if the `dk reload if stamp changed` option is not used**Associated statusText**: "Stamp has changed" |
-| `dk status wrong permission` | 1 | Los privilegios actuales no permiten suprimir la entidad. **Associated statusText**: "Permission Error" |
+| Constante | Valor | Comentario |
+| ----------------------------------------- | ----- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| `dk status entity does not exist anymore` | 5 | La entidad ya no existe en los datos. Este error puede ocurrir en los siguientes casos:
la entidad ha sido eliminada (el marcador ha cambiado y ahora el espacio de memoria está libre)la entidad ha sido eliminada y reemplazada por otra con otra clave primaria (el marcador ha cambiado y una nueva entidad ahora utiliza el espacio memoria). Cuando se utiliza entity.drop(), este error puede ser devuelto cuando se utiliza la opción dk force drop if stamp changed. When using entity.lock(), this error can be returned when dk reload if stamp changed option is used. **Associated statusText**: "Entity does not exist anymore" |
+| `dk status locked` | 3 | La entidad está bloqueada por un bloqueo pesimista.
**statusText asociado**: "Already locked" |
+| `dk status validation failed` | 7 | Error no crítico enviado por el desarrollador para un [evento de validación](../ORDA/orda-events.md). **statusText asociado**: "Mild Validation Error" |
+| `dk status serious error` | 4 | Un error grave es un error de base de datos de bajo nivel (por ejemplo, una llave duplicada), un error de hardware, etc.
**statusText asociado**: "Other error" |
+| `dk status serious validation error` | 8 | Error crítico enviado por el desarrollador para un [evento de validación](../ORDA/orda-events.md). **statusText asociado**: "Serious Validation Error" |
+| `dk status stamp has changed` | 2 | The internal stamp value of the entity does not match the one of the entity stored in the data (optimistic lock).
with `.save()`: error only if the `dk auto merge` option is not usedwith `.drop()`: error only if the `dk force drop if stamp changed` option is not usedwith `.lock()`: error only if the `dk reload if stamp changed` option is not used**Associated statusText**: "Stamp has changed" |
+| `dk status wrong permission` | 1 | Los privilegios actuales no permiten suprimir la entidad. **Associated statusText**: "Permission Error" |
#### Ejemplo 1
@@ -1182,10 +1182,10 @@ El objeto devuelto por `.reload( )` contiene las siguientes propiedades:
(\*) Los siguientes valores pueden ser devueltos en las propiedades *status* y *statusText* del objeto *Result* en caso de error:
-| Constante | Valor | Comentario |
-| ----------------------------------------- | ----- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
-| `dk status entity does not exist anymore` | 5 | La entidad ya no existe en los datos. Este error puede ocurrir en los siguientes casos:
la entidad ha sido eliminada (el marcador ha cambiado y ahora el espacio de memoria está libre)la entidad ha sido eliminada y reemplazada por otra con otra clave primaria (el marcador ha cambiado y una nueva entidad ahora utiliza el espacio memoria). When using `.drop()`, this error can be returned when `dk force drop if stamp changed` option is used. Cuando se utiliza `.lock()`, este error puede ser devuelto cuando se utiliza la opción `dk reload if stamp changed`
**statusText asociado**: "Entity does not exist anymore" |
-| `dk status serious error` | 4 | Un error grave es un error de base de datos de bajo nivel (por ejemplo, una llave duplicada), un error de hardware, etc.
***statusText asociado***: "Other error" |
+| Constante | Valor | Comentario |
+| ----------------------------------------- | ----- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
+| `dk status entity does not exist anymore` | 5 | La entidad ya no existe en los datos. Este error puede ocurrir en los siguientes casos:
la entidad ha sido eliminada (el marcador ha cambiado y ahora el espacio de memoria está libre)la entidad ha sido eliminada y reemplazada por otra con otra clave primaria (el marcador ha cambiado y una nueva entidad ahora utiliza el espacio memoria). Cuando se utiliza `.drop()`, este error puede devolverse cuando se utiliza la opción `dk force drop if stamp changed`. Cuando se utiliza `.lock()`, este error puede ser devuelto cuando se utiliza la opción `dk reload if stamp changed`
**statusText asociado**: "Entity does not exist anymore" |
+| `dk status serious error` | 4 | Un error grave es un error de base de datos de bajo nivel (por ejemplo, una llave duplicada), un error de hardware, etc.
***statusText asociado***: "Other error" |
#### Ejemplo
@@ -1277,16 +1277,16 @@ El objeto devuelto por `.save()` contiene las siguientes propiedades:
Los siguientes valores pueden ser devueltos en las propiedades `status`y `statusText` del objeto Result en caso de error:
-| Constante | Valor | Comentario |
-| ----------------------------------------- | ----- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
-| `dk status automerge failed` | 6 | (Only if the `dk auto merge` option is used) The automatic merge option failed when saving the entity. **statusText asociado**: "Fallo de la fusión automática" |
-| `dk status entity does not exist anymore` | 5 | La entidad ya no existe en los datos. Este error puede ocurrir en los siguientes casos:
la entidad ha sido eliminada (el marcador ha cambiado y ahora el espacio de memoria está libre)la entidad ha sido eliminada y reemplazada por otra con otra clave primaria (el marcador ha cambiado y una nueva entidad ahora utiliza el espacio memoria). When using `.drop()`, this error can be returned when `dk force drop if stamp changed` option is used. Cuando se utiliza `.lock()`, este error puede ser devuelto cuando se utiliza la opción `dk reload if stamp changed`
**statusText asociado**: "Entity does not exist anymore" |
-| `dk status locked` | 3 | La entidad está bloqueada por un bloqueo pesimista. **statusText asociado**: "Already locked" |
-| `dk status validation failed` | 7 | Non fatal error sent by the developer for a [validate event](../ORDA/orda-events.md). **statusText asociado**: "Mild Validation Error" |
-| `dk status serious error` | 4 | A serious error is a low-level database error (e.g. duplicated key), a hardware error, etc. **Associated statusText**: "Other error" |
-| `dk status serious validation error` | 8 | Fatal error sent by the developer for a [validate event](../ORDA/orda-events.md). **statusText asociado**: "Serious Validation Error" |
-| `dk status stamp has changed` | 2 | The internal stamp value of the entity does not match the one of the entity stored in the data (optimistic lock).
with `.save()`: error only if the `dk auto merge` option is not usedwith `.drop()`: error only if the `dk force drop if stamp changed` option is not usedwith `.lock()`: error only if the `dk reload if stamp changed` option is not used
**Associated statusText**: "Stamp has changed" |
-| `dk status wrong permission` | 1 | Los privilegios actuales no permiten guardar la entidad. **Associated statusText**: "Permission Error" |
+| Constante | Valor | Comentario |
+| ----------------------------------------- | ----- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
+| `dk status automerge failed` | 6 | (Solo si se utiliza la opción `dk auto merge`) La opción de fusión automática falló al guardar la entidad. **statusText asociado**: "Fallo de la fusión automática" |
+| `dk status entity does not exist anymore` | 5 | La entidad ya no existe en los datos. Este error puede ocurrir en los siguientes casos:
la entidad ha sido eliminada (el marcador ha cambiado y ahora el espacio de memoria está libre)la entidad ha sido eliminada y reemplazada por otra con otra clave primaria (el marcador ha cambiado y una nueva entidad ahora utiliza el espacio memoria). Cuando se utiliza `.drop()`, este error puede devolverse cuando se utiliza la opción `dk force drop if stamp changed`. Cuando se utiliza `.lock()`, este error puede ser devuelto cuando se utiliza la opción `dk reload if stamp changed`
**statusText asociado**: "Entity does not exist anymore" |
+| `dk status locked` | 3 | La entidad está bloqueada por un bloqueo pesimista. **statusText asociado**: "Already locked" |
+| `dk status validation failed` | 7 | Error no crítico enviado por el desarrollador para un [evento de validación](../ORDA/orda-events.md). **statusText asociado**: "Mild Validation Error" |
+| `dk status serious error` | 4 | A serious error is a low-level database error (e.g. duplicated key), a hardware error, etc. **Associated statusText**: "Other error" |
+| `dk status serious validation error` | 8 | Error crítico enviado por el desarrollador para un [evento de validación](../ORDA/orda-events.md). **statusText asociado**: "Serious Validation Error" |
+| `dk status stamp has changed` | 2 | The internal stamp value of the entity does not match the one of the entity stored in the data (optimistic lock).
with `.save()`: error only if the `dk auto merge` option is not usedwith `.drop()`: error only if the `dk force drop if stamp changed` option is not usedwith `.lock()`: error only if the `dk reload if stamp changed` option is not used
**Associated statusText**: "Stamp has changed" |
+| `dk status wrong permission` | 1 | Los privilegios actuales no permiten guardar la entidad. **Associated statusText**: "Permission Error" |
#### Ejemplo 1
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/API/SessionClass.md b/i18n/es/docusaurus-plugin-content-docs/current/API/SessionClass.md
index 79acc673f1076b..62d92bb7204c90 100644
--- a/i18n/es/docusaurus-plugin-content-docs/current/API/SessionClass.md
+++ b/i18n/es/docusaurus-plugin-content-docs/current/API/SessionClass.md
@@ -390,7 +390,7 @@ Esta función devuelve True para el *privilegio* si se llama desde una función
Regarding remote client sessions, the function only concerns the code executed in the context of a [web request sent through a Web area](../Desktop/clientServer.md#sharing-the-session-with-qodly-pages-in-web-areas).
-With stored procedure sessions and standalone sessions, this function always returns True, whatever the *privilege*.
+Con las sesiones de procedimiento almacenadas y las sesiones independientes, esta función siempre devuelve True, sea cual sea el *privilegio*.
#### Ejemplo
@@ -753,7 +753,7 @@ Function callback($request : 4D.IncomingMessage) : 4D.OutgoingMessage
:::note
-This function does nothing and always returns **False** with stored procedure sessions and standalone sessions.
+Esta función no hace nada y siempre devuelve **False** con sesiones de procedimientos almacenadas y las sesiones independientes.
:::
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/API/WebServerClass.md b/i18n/es/docusaurus-plugin-content-docs/current/API/WebServerClass.md
index 6fed6a0c01983c..9b27f3d5414da9 100644
--- a/i18n/es/docusaurus-plugin-content-docs/current/API/WebServerClass.md
+++ b/i18n/es/docusaurus-plugin-content-docs/current/API/WebServerClass.md
@@ -187,7 +187,7 @@ El nombre de la página de i
*Propiedad de sólo lectura*
-A collection of custom HTTP handler objects. An HTTP handler object contains a listened URL pattern, a handled verb, and the code to be called. HTTP handlers can be defined through a HTTPHandlers.json file or the *settings* parameter of the [`.start()`](#start) function. For more information, please refer to the [HTTP Request handler](../WebServer/http-request-handler.md) page.
+A collection of custom HTTP handler objects. An HTTP handler object contains a listened URL pattern, a handled verb, and the code to be called. HTTP handlers can be defined through a HTTPHandlers.json file or the *settings* parameter of the [`.start()`](#start) function. Para más información, consulte la página [HTTP Request handler](../WebServer/http-request-handler.md).
@@ -495,7 +495,7 @@ La ruta de la carpeta raíz del s
*Propiedad de sólo lectura*
-A collection of rule objects currently handled to customize HTTP headers. A rule object contains a "regexPattern" property, as well as an action name with a value. HTTP rules can be defined through a HTTPRules.json file or the *settings* parameter of the [`.start()`](#start) function. For more information, please refer to the [HTTP Rules](../WebServer/http-rules.md) page.
+A collection of rule objects currently handled to customize HTTP headers. A rule object contains a "regexPattern" property, as well as an action name with a value. HTTP rules can be defined through a HTTPRules.json file or the *settings* parameter of the [`.start()`](#start) function. Para obtener más información, consulte la página [Reglas HTTP](../WebServer/http-rules.md).
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/Desktop/clientServer.md b/i18n/es/docusaurus-plugin-content-docs/current/Desktop/clientServer.md
index 3f471cae307fa5..fa5d056395d3c4 100644
--- a/i18n/es/docusaurus-plugin-content-docs/current/Desktop/clientServer.md
+++ b/i18n/es/docusaurus-plugin-content-docs/current/Desktop/clientServer.md
@@ -126,7 +126,7 @@ Para gestionar esta configuración, necesita utilizar sesiones cliente remotas.
Note that [privileges](../ORDA/privileges.md) should be set in the session before executing a web request from a Web area, so that the user automatically gets their privileges for web access (see example). Keep in mind that privileges only apply to requests coming from the web, not to the 4D code executed in a standard remote session.
-Shared sessions are handled through [OTP tokens](../WebServer/sessions.md#session-token-otp). After you created an OTP token on the server for the user session, you add the token (through the `$4DSID` parameter value) to web requests sent from web areas containing Qodly pages so that the user session on the server is identified and shared. On the web server side, if a web request contains an *OTP id* in the $4DSID parameter, the session corresponding to this OTP token is used.
+Las sesiones compartidas se gestionan a través de [tokens OTP](../WebServer/sessions.md#session-token-otp). After you created an OTP token on the server for the user session, you add the token (through the `$4DSID` parameter value) to web requests sent from web areas containing Qodly pages so that the user session on the server is identified and shared. On the web server side, if a web request contains an *OTP id* in the $4DSID parameter, the session corresponding to this OTP token is used.
:::tip Entrada de blog relacionada
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/Desktop/labels.md b/i18n/es/docusaurus-plugin-content-docs/current/Desktop/labels.md
index e1a5817b9f5bc7..aa663b94431609 100644
--- a/i18n/es/docusaurus-plugin-content-docs/current/Desktop/labels.md
+++ b/i18n/es/docusaurus-plugin-content-docs/current/Desktop/labels.md
@@ -127,22 +127,22 @@ El lado derecho de la barra de herramientas contiene comandos utilizados para mo
## Página Diseño
-The Layout page contains controls for printing labels based on the requirements of your current print settings.
+Esta página contiene los controles para imprimir etiquetas en función de los requisitos de sus parámetros de impresión actuales.

-- **Labels Order**: Specifies whether labels should be printed in the direction of the rows or the columns.
-- **Rows** and **Columns**: Set the number of labels to be printed by "row" and by "column" on each sheet. These settings determine the label size when the "Automatic resizing" option is enabled.
-- **Labels per record**: Sets the number of copies to print for each label (copies are printed consecutively).
-- **Print Setup...**: Sets the format of the page on which the sheet of labels will be printed. When you click this button, the setup dialog box for the printer selected in your system appears. By default, the sheet of labels is generated based on an A4 page in portrait mode.
- **Note:** The sheet created by the editor is based on the logical page of the printer, i.e. the physical page (for instance, an A4 page) less the margins that cannot be used on each side of the sheet. The physical margins of the page are shown by blue lines in the preview area.
-- **Unit**: Changes the units in which you specify your label and label page measurements. Puede utilizar puntos, milímetros, centímetros o pulgadas.
-- **Automatic resizing**: Means that 4D automatically calculates the size of the labels (i.e. the Width and Height parameters) according to the values set in all the other parameters. When this option is checked, the label size is adjusted each time you modify a page parameter. Los parámetros Ancho y Alto ya no pueden ajustarse manualmente.
-- **Ancho** y **Alto**: define la altura y el ancho de cada etiqueta manualmente. They cannot be edited when the **Automatic resizing** option is checked.
-- **Márgenes** (Superior, Derecho, Izquierdo, Inferior): define los márgenes de su hoja. Estos márgenes son simbolizados por líneas azules en el área de vista previa. Clicking on **Use printer margins** replicates, in the preview area, the margin information provided by the selected printer (these values can be modified).
-- **Gaps**: Set the amount of vertical and/or horizontal space between label rows and columns.
-- **Method**: Lets you trigger a specific method that will be run at print time. For example, you can execute a method that posts the date and time that each label was printed. This feature is also useful when you print labels using a dedicated table form, in which case you can fill variables from a method.
- To be eligible for label processing, a project method must comply with the following settings:
+- **Orden de etiquetas**: indica si las etiquetas deben imprimirse en la dirección de las líneas o de las columnas.
+- **Líneas** y **Columnas**: defina el número de etiquetas a imprimir por "línea" y "columna" en cada hoja. Estos parámetros determinan las dimensiones de las etiquetas cuando la opción "Dimensiones automáticas" está activada.
+- **Etiquetas por registro**: define el número de copias a imprimir para cada etiqueta (las copias se imprimen consecutivamente).
+- **Formato de impresión...**: formato de la página en la que se imprimirá la hoja de etiquetas. Cuando hace clic en este botón, aparece el cuadro de diálogo de configuración de la impresora seleccionada en su sistema. Por defecto, la hoja de etiquetas se genera basándose en una página A4 en modo retrato.
+ **Nota:** la hoja creada por el editor se basa en la página lógica de la impresora, es decir, la página física (por ejemplo, una hoja A4) menos los márgenes que no se pueden utilizar a cada lado de la hoja. Los márgenes de la página física se representan por las líneas azules en el área de vista previa.
+- **Unidad**: modifica las unidades en las que especifica las medidas de la etiqueta y de la página de etiqueta. Puede utilizar puntos, milímetros, centímetros o pulgadas.
+- **Dimensiones automáticas**: indica que 4D calcula automáticamente el tamaño de las etiquetas (es decir, los parámetros Ancho y Alto) según los valores definidos en todos los demás parámetros. Cuando esta opción está marcada, el tamaño de las etiquetas se recalcula cada vez que se modifica un parámetro en la página. Los parámetros Ancho y Alto ya no pueden ajustarse manualmente.
+- **Ancho** y **Alto**: define la altura y el ancho de cada etiqueta manualmente. No se pueden editar cuando la opción **Dimensionamiento automático** está marcada.
+- **Márgenes** (Superior, Derecho, Izquierdo, Inferior): define los márgenes de su hoja. Estos márgenes son simbolizados por líneas azules en el área de vista previa. Al hacer clic en **Aplicar los márgenes de la impresora** con el fin de replicar, en el área de vista previa, la información de margen proporcionada por la impresora seleccionada (estos valores pueden ser modificados).
+- **Intervalos**: defina el espacio vertical y/o horizontal entre las líneas y columnas de las etiquetas.
+- **Método**: permite activar un método específico que se ejecutará al momento de la impresión. Por ejemplo, puede ejecutar un método que publique la fecha y la hora en que se imprimió cada etiqueta. Esta funcionalidad también es útil cuando se imprimen etiquetas usando un formulario tabla dedicado, en cuyo caso se pueden llenar variables a partir de un método.
+ Para ser elegible para el procesamiento de etiquetas, un método proyecto debe cumplir con las siguientes condiciones:
- debe ser "permitido" para la base de datos (los métodos permitidos dependen de los [parámetros del proyecto](../settings/security.md#options) y el comando [`SET ALLOWED METHODS`](../commands/set-allowed-methods.md), de lo contrario no se mostrará en el menú **Aplicación**.
- debe tener la opción [Compartido por componentes y base de datos local](../Project/code-overview.md#shared-by-components-and-host-database).
Ver también [este ejemplo](#printing-labels-using-forms-and-methods-example) a continuación.
@@ -150,20 +150,20 @@ The Layout page contains controls for printing labels based on the requirements
:::note
Para necesidades avanzadas, puede restringir la lista de métodos disponibles utilizando un [archivo json específico](#controlling-available-forms-and-methods).
-The **For each: Record or Label** options are used to specify whether to run the method once per label or once per record. This control has meaning only if you are printing more than one copy of each label and you are also executing a method at print time.
+Las opciones **Para cada: Registro o Etiqueta** permiten especificar si ejecutar el método una vez por etiqueta o una vez por registro. Este control sólo tiene sentido si está imprimiendo más de una copia de cada etiqueta y también está ejecutando un método al momento de la impresión.
:::
-- **Layout preview**: Provides a reduced view of how an entire page of labels will look, based on the dimensions you enter in the Label editor. The page preview also reflects the paper size selected in the Print Setup dialog box. También puede utilizar esta zona para designar la primera etiqueta de la página que se va a imprimir (esta opción sólo afecta a la primera hoja en caso de impresión multipágina). This can be useful, for example, when you want to print on a sheet of adhesive labels, part of which has already been used. También puede seleccionar la primera etiqueta en la página a imprimir haciendo clic en ella:
+- **Vista previa del diseño**: permite visualizar en tiempo real las modificaciones que ingrese en el editor de etiquetas. La vista previa de la página también refleja el tamaño de papel seleccionado en el cuadro de diálogo Configuración de la impresión. También puede utilizar esta área para designar la primera etiqueta de la página a imprimir (esta opción solo afecta a la primera hoja en el caso de la impresión multipágina). Esto puede ser útil, por ejemplo, cuando se desea imprimir en una hoja de etiquetas adhesivas, parte de las cuales ya se ha utilizado. También puede seleccionar la primera etiqueta en la página a imprimir haciendo clic en ella:

## Impresión de etiquetas mediante formularios y métodos (ejemplo)
-You can use dedicated table forms and project methods to print labels with calculated variables. This simple example shows how to configure the different elements.
+Puede utilizar formularios de tabla dedicados y métodos proyecto para imprimir etiquetas con variables calculadas. Este ejemplo explica como configurar los diferentes elementos.
1. En un formulario tabla dedicado, añada su(s) campo(s) de etiqueta y su(s) variable(s).
- Here, in a table form named "label", we added the *myVar* variable:
+ Aquí, en una tabla llamada "etiqueta", sumamos la variable *myVar*:

2. Crea un método proyecto llamado `setMyVar` con el siguiente código:
@@ -174,7 +174,7 @@ You can use dedicated table forms and project methods to print labels with calcu
3. Defina el método proyecto como ["Compartido por los componentes y la base de datos local"](../Project/code-overview.md#shared-by-components-and-host-database).
-4. Before displaying the Label editor, make sure the project method is allowed by executing this code:
+4. Antes de mostrar el editor de etiquetas, asegúrese de que el método proyecto está autorizado ejecutando este código:
```4d
ARRAY TEXT($methods;1)
@@ -182,18 +182,18 @@ You can use dedicated table forms and project methods to print labels with calcu
SET ALLOWED METHODS($methods)
```
-5. Open the Label editor and use your form:
+5. Abre el editor de etiquetas y use su formulario:

-6. In the Layout page, select the method:
+6. En la página Diseño, seleccione el método:

Luego puede imprimir sus etiquetas:

-## Control de los formularios y métodos disponibles
+## Definición de los formularios y métodos disponibles
-The Label editor includes an advanced feature allowing you to restrict which project forms and methods (within "allowed" methods) can be selected in the dialog box:
+El editor de etiquetas incluye una función avanzada que le permite limitar los formularios y los métodos proyecto (dentro de los métodos "permitidos") pueden seleccionarse en el cuadro de diálogo:
- en el menú **Formulario a utilizar** de la página "Etiqueta" y/o
- en el menú **Aplicar (método)** de la página "Diseño".
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/Develop/field-properties.md b/i18n/es/docusaurus-plugin-content-docs/current/Develop/field-properties.md
index e58d6470b5e614..26c51c0f4661d3 100644
--- a/i18n/es/docusaurus-plugin-content-docs/current/Develop/field-properties.md
+++ b/i18n/es/docusaurus-plugin-content-docs/current/Develop/field-properties.md
@@ -17,7 +17,7 @@ Puede introducir cualquier nombre de clase válido en esta propiedad, incluyendo
- Clases 4D integradas (por ejemplo, `4D.File`, `4D.Folder`)
- [Exposed](../Extensions/develop-components.md#sharing-of-classes) component-defined classes (e.g. `cs.MyComponent.MyClass`)
-If you enter an invalid class name, a warning is triggered and the input is rejected.
+Si introduce un nombre de clase inválido, se activa una advertencia y se rechaza la entrada.
:::note
@@ -25,7 +25,7 @@ If you enter an invalid class name, a warning is triggered and the input is reje
:::
-In your code, when assigning a value to a class-typed object field, 4D verifies that it belongs to the declared class. Si no es así o si el objeto no tiene clase, se produce un error. El acceso a atributos desconocidos también provocará errores de sintaxis.
+En su código, al asignar un valor a un campo de tipo clase de objeto, 4D verifica que pertenece a la clase declarada. Si no es así o si el objeto no tiene clase, se produce un error. El acceso a atributos desconocidos también provocará errores de sintaxis.
To retrieve the associated class name at runtime, use the [`classID`](../API/DataClassClass.md#attributename) property, for example `ds.MyTable.MyField.classID`.
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/Extensions/overview.md b/i18n/es/docusaurus-plugin-content-docs/current/Extensions/overview.md
index 681ada54c0c77e..615fc7ae5c281d 100644
--- a/i18n/es/docusaurus-plugin-content-docs/current/Extensions/overview.md
+++ b/i18n/es/docusaurus-plugin-content-docs/current/Extensions/overview.md
@@ -16,21 +16,21 @@ La [arquitectura del proyecto] 4D (../Project/architecture.md) es abierta y pued
## Componentes desarrollados por 4D
-4D proposes various components to the 4D community, covering many development needs. All 4D components can be found on the [**4D github repository**](https://github.com/4d).
+4D proposes various components to the 4D community, covering many development needs. Todos los componentes 4D se pueden encontrar en el [**repositorio github de 4D**](https://github.com/4d).
A subset of these components is listed by default in the [Dependency Manager](../Project/components.md), including:
-| Componente | Repositorio Github | Descripción | Principales funcionalidades |
-| -------------------- | --------------------------------------------------------------------------- | --------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------- |
-| 4D AIKit | https://github.com/4d/4D-AIKit | Conjunto de clases a conectar con las APIs OpenAI de terceros | `OpenAIChat`, `OpenAIImage`... |
-| 4D NetKit | https://github.com/4d/4D-NetKit | Conjunto de herramientas de servicios web para conectarse a APIs de terceros | `OAuth2Provider` class, `New OAuth2 provider`, `OAuth2ProviderObject.getToken()` |
-| 4D Progress | https://github.com/4d/4D-Progress | Abrir una o varias barras de progreso en la misma ventana | `Progress New`, `Progress SET ON STOP METHOD`, `Progress SET PROGRESS`, ... |
-| 4D QPDF | https://github.com/4d/4D-QPDF | Extraer archivos adjuntos de archivos PDF/A-3 | `PDF Get attachments` |
-| 4D SVG | https://github.com/4d/4D-SVG | Crear y manipular objetos gráficos svg comunes | `SVGTool_Display_viewer`, métodos múltiples `SVG_` |
-| 4D ViewPro | https://github.com/4d/4d-view-pro | Funciones de hoja de cálculo en sus formularios | Ver la [documentación 4D View Pro](ViewPro/getting-started.md) |
-| 4D Widgets | https://github.com/4d/4D-Widgets | Gestione los widgets DatePicker, TimePicker, SearchPicker 4D | `DatePicker calendar`, `DateEntry area`, `TimeEntry`, `SearchPicker SET HELP TEXT`, ... |
-| Interfaz 4D WritePro | https://github.com/4d/4D-WritePro-Interface | Manage 4D Write Pro palettes and [table wizard](../WritePro/writeprointerface.md) | `WP PictureSettings`, `WP ShowTabPages`, `WP SwitchToolbar`, `WP UpdateWidget` |
-| Build4D | https://github.com/4d-depot/Build4D | Compilar, construir y firmar proyectos | CI/CD |
+| Componente | Repositorio Github | Descripción | Principales funcionalidades |
+| -------------------- | --------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------ | --------------------------------------------------------------------------------------------------------------------------------------- |
+| 4D AIKit | https://github.com/4d/4D-AIKit | Conjunto de clases a conectar con las APIs OpenAI de terceros | `OpenAIChat`, `OpenAIImage`... |
+| 4D NetKit | https://github.com/4d/4D-NetKit | Conjunto de herramientas de servicios web para conectarse a APIs de terceros | `OAuth2Provider` class, `New OAuth2 provider`, `OAuth2ProviderObject.getToken()` |
+| 4D Progress | https://github.com/4d/4D-Progress | Abrir una o varias barras de progreso en la misma ventana | `Progress New`, `Progress SET ON STOP METHOD`, `Progress SET PROGRESS`, ... |
+| 4D QPDF | https://github.com/4d/4D-QPDF | Extraer archivos adjuntos de archivos PDF/A-3 | `PDF Get attachments` |
+| 4D SVG | https://github.com/4d/4D-SVG | Crear y manipular objetos gráficos svg comunes | `SVGTool_Display_viewer`, métodos múltiples `SVG_` |
+| 4D ViewPro | https://github.com/4d/4d-view-pro | Funciones de hoja de cálculo en sus formularios | Ver la [documentación 4D View Pro](ViewPro/getting-started.md) |
+| 4D Widgets | https://github.com/4d/4D-Widgets | Gestione los widgets DatePicker, TimePicker, SearchPicker 4D | `DatePicker calendar`, `DateEntry area`, `TimeEntry`, `SearchPicker SET HELP TEXT`, ... |
+| Interfaz 4D WritePro | https://github.com/4d/4D-WritePro-Interface | Gestión de paletas y del [asistente de tablas](../WritePro/writeprointerface.md) en 4D Write Pro | `WP PictureSettings`, `WP ShowTabPages`, `WP SwitchToolbar`, `WP UpdateWidget` |
+| Build4D | https://github.com/4d-depot/Build4D | Compilar, construir y firmar proyectos | CI/CD |
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/FormEditor/formEditor.md b/i18n/es/docusaurus-plugin-content-docs/current/FormEditor/formEditor.md
index 67472967bbab23..97382d62de2ca5 100644
--- a/i18n/es/docusaurus-plugin-content-docs/current/FormEditor/formEditor.md
+++ b/i18n/es/docusaurus-plugin-content-docs/current/FormEditor/formEditor.md
@@ -148,7 +148,7 @@ Para seleccionar un objeto utilizando la barra de herramientas:
1. Haz clic en la herramienta Flecha en la barra de herramientas.

-
When you move the pointer into the form area, it becomes a standard arrow-shaped pointer.
+
Cuando mueve el puntero en el área del formulario, se convierte en un puntero estándar con forma de flecha.
2. Haga clic en el objeto que desea seleccionar. Las asas de redimensionamiento identifican el objeto seleccionado.

@@ -352,7 +352,7 @@ Cuando se superponen varios objetos, se puede utilizar el atajo **Ctrl+Mayús+cl
:::note
-In binary databases, use **Ctrl+Click / Command+Click** to perform the same action.
+En bases de datos binarias, utilice **Ctrl+Clic / Comando+Clic** para efectuar la misma acción.
:::
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/FormObjects/listbox_overview.md b/i18n/es/docusaurus-plugin-content-docs/current/FormObjects/listbox_overview.md
index 452875652a7f60..c0eb2ead1f7645 100644
--- a/i18n/es/docusaurus-plugin-content-docs/current/FormObjects/listbox_overview.md
+++ b/i18n/es/docusaurus-plugin-content-docs/current/FormObjects/listbox_overview.md
@@ -812,7 +812,7 @@ If the user selects a break row, [`LISTBOX GET CELL POSITION`](../commands/listb

-... [`LISTBOX GET CELL POSITION`](../commands/listbox-get-cell-position) returns (2;4). To select a break row by programming, you will need to use the [`LISTBOX SELECT BREAK`](../commands/listbox-select-break) command.
+... [`LISTBOX GET CELL POSITION`](../commands/listbox-get-cell-position) devuelve (2;4). To select a break row by programming, you will need to use the [`LISTBOX SELECT BREAK`](../commands/listbox-select-break) command.
Las líneas de rotura no se tienen en cuenta en los arrays internos utilizados para gestionar el aspecto gráfico de los list box (estilos y colores). No obstante, es posible modificar estas características para las líneas de ruptura mediante los comandos de gestión gráfica de los objetos. Basta con ejecutar los comandos adecuados en los arrays que constituyen la jerarquía.
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/FormObjects/properties_BackgroundAndBorder.md b/i18n/es/docusaurus-plugin-content-docs/current/FormObjects/properties_BackgroundAndBorder.md
index 065a522fb7c54f..152f5cb885112e 100644
--- a/i18n/es/docusaurus-plugin-content-docs/current/FormObjects/properties_BackgroundAndBorder.md
+++ b/i18n/es/docusaurus-plugin-content-docs/current/FormObjects/properties_BackgroundAndBorder.md
@@ -186,7 +186,7 @@ Designa el grosor de una línea.
---
-## Row Background Color Array {#row-background-color-array}
+## Array colores de fondo {#row-background-color-array}
`List boxes de tipo array`
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/FormObjects/properties_Display.md b/i18n/es/docusaurus-plugin-content-docs/current/FormObjects/properties_Display.md
index 70acd1ce6ab087..64fc8e1bd49d2a 100644
--- a/i18n/es/docusaurus-plugin-content-docs/current/FormObjects/properties_Display.md
+++ b/i18n/es/docusaurus-plugin-content-docs/current/FormObjects/properties_Display.md
@@ -104,7 +104,7 @@ Se pueden crear formatos de fecha personalizados utilizando varios patrones desc
:::note blankIfNull
-- By default, a [null date](../Concepts/dt_date.md#date-literals) is displayed with zeros, e.g. 00/00/00. Con la opción "blankIfNull", una fecha null se muestra como un área vacía. La cadena "blankIfNull" (distingue mayúsculas de minúsculas) debe combinarse con el valor de formato seleccionado. La cadena "blankIfNull" (distingue mayúsculas de minúsculas) debe combinarse con el valor de formato seleccionado.
+- Por defecto, una [fecha nula](../Concepts/dt_date.md#date-literals) se muestra con ceros, por ejemplo, 00/00/00. Con la opción "blankIfNull", una fecha null se muestra como un área vacía. La cadena "blankIfNull" (distingue mayúsculas de minúsculas) debe combinarse con el valor de formato seleccionado. La cadena "blankIfNull" (distingue mayúsculas de minúsculas) debe combinarse con el valor de formato seleccionado.
- Las [columnas list box](listbox_overview.md#list-box-columns) y los [pies List box](listbox_overview.md#list-box-footers) de tipo fecha utilizan siempre el comportamiento "blank if null" (no se puede desactivar).
:::
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/FormObjects/webArea_overview.md b/i18n/es/docusaurus-plugin-content-docs/current/FormObjects/webArea_overview.md
index 2605754775fea7..9563e559ec2d24 100644
--- a/i18n/es/docusaurus-plugin-content-docs/current/FormObjects/webArea_overview.md
+++ b/i18n/es/docusaurus-plugin-content-docs/current/FormObjects/webArea_overview.md
@@ -11,7 +11,7 @@ Varias [acciones estándar](#standard-actions) dedicadas, numerosos [comandos de
:::info Mostrar páginas Qodly
-In 4D client/server applications, Web areas can be used to display Qodly pages and [share the remote user session](../Desktop/clientServer.md#sharing-the-session-with-qodly-pages-in-web-areas). This feature allows you to design web-based interfaces for your client/server desktop applications.
+In 4D client/server applications, Web areas can be used to display Qodly pages and [share the remote user session](../Desktop/clientServer.md#sharing-the-session-with-qodly-pages-in-web-areas). Esta funcionalidad le permite diseñar interfaces web para sus aplicaciones de escritorio cliente/servidor.
:::
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/ORDA/orda-events.md b/i18n/es/docusaurus-plugin-content-docs/current/ORDA/orda-events.md
index afa0adc08d196e..e0a193b6847649 100644
--- a/i18n/es/docusaurus-plugin-content-docs/current/ORDA/orda-events.md
+++ b/i18n/es/docusaurus-plugin-content-docs/current/ORDA/orda-events.md
@@ -327,11 +327,11 @@ Function event validateSave ($event : Object)
Este evento se activa cada vez que una entidad está a punto de ser guardada.
- si define la función a nivel de entidad (primera sintaxis), se llama para cualquier atributo de la entidad.
-- si definió la función en el nivel de atributo (segunda sintaxis), sólo se llama para este atributo. This function is **not** executed if the attribute has not been touched in the entity.
+- si definió la función en el nivel de atributo (segunda sintaxis), sólo se llama para este atributo. Esta función **no** se ejecuta si el atributo no ha sido tocado en la entidad.
La función recibe un [objeto *event*](#event-parameter) como parámetro.
-This event is triggered by the following functions:
+Este evento es activado por las siguientes funciones:
- [`entity.save()`](../API/EntityClass.md#save)
- [`dataClass.fromCollection()`](../API/DataClassClass.md#fromcollection)
@@ -348,7 +348,7 @@ No se recomienda actualizar la entidad dentro de esta función (utilizando `This
#### Ejemplo
-In this example, it is not allowed to save a product with a margin lower than 50%. In case of an invalid price attribute, you return an error object and thus, stop the save action.
+En este ejemplo, no se permite guardar un producto con un margen inferior al 50%. In case of an invalid price attribute, you return an error object and thus, stop the save action.
```4d
// ProductsEntity class
@@ -374,22 +374,22 @@ return $result
```4d
Function event saving($event : Object)
Function event saving ($event : Object)
-// code
+// código
```
Este evento se activa cada vez que se guarda una entidad.
-- If you defined the function at the entity level (first syntax), it is called for any attribute of the entity. The function is executed even if no attribute has been touched in the entity (e.g. in case of sending data to an external app each time a save is done).
-- If you defined the function at the attribute level (second syntax), it is called only for this attribute. The function is **not** executed if the attribute has not been touched in the entity.
+- Si define la función a nivel de entidad (primera Sintaxis), se llama para cualquier atributo de la entidad. The function is executed even if no attribute has been touched in the entity (e.g. in case of sending data to an external app each time a save is done).
+- If you defined the function at the attribute level (second syntax), it is called only for this attribute. La función **no** se ejecuta si el atributo no ha sido tocado en la entidad.
La función recibe un [objeto *event*](#event-parameter) como parámetro.
-This event is triggered by the following functions:
+Este evento es activado por las siguientes funciones:
- [`entity.save()`](../API/EntityClass.md#save)
- [`dataClass.fromCollection()`](../API/DataClassClass.md#fromcollection)
-Este evento se activa **mientras** la entidad se guarda. If a [`validateSave()`](#function-event-validatesave) event function was defined, the `saving()` event function is called if no error was triggered by `validateSave()`. For example, you can use this event to create a document on a Google Drive account.
+Este evento se activa **mientras** la entidad se guarda. If a [`validateSave()`](#function-event-validatesave) event function was defined, the `saving()` event function is called if no error was triggered by `validateSave()`. Por ejemplo, puede utilizar este evento para crear un documento en una cuenta de Google Drive.
:::note
@@ -397,13 +397,13 @@ The business logic should raise errors which can't be detected during the `valid
:::
-During the save action, 4D engine errors can be raised (index, stamp has changed, not enough space on disk).
+Durante la acción de guardar, se pueden producir errores en el motor 4D (índice, sello ha cambiado, no hay suficiente espacio en el disco).
To stop the action, the code of the function must return an [error object](#error-object).
#### Ejemplo
-When a file is saved on disk, catch errors related to disk space for example.
+Cuando se guarda un archivo en el disco, por ejemplo, se capturan errores relacionados con el espacio de disco.
```4d
// ProductsEntity class
@@ -443,14 +443,14 @@ Función evento afterSave($event : Object)
// código
```
-This event is triggered just after an entity is saved in the data file, when at least one attribute was modified. It is not executed if no attribute has been touched in the entity.
+This event is triggered just after an entity is saved in the data file, when at least one attribute was modified. No se ejecuta si no se ha tocado ningún atributo en la entidad.
-This event is useful after saving data to propagate the save action outside the application or to execute administration tasks. For example, it can be used to send a confirmation email after data have been saved. Or, in case of error while saving data, it can make a rollback to restore a consistent state of data.
+This event is useful after saving data to propagate the save action outside the application or to execute administration tasks. Por ejemplo, se puede utilizar para enviar un correo electrónico de confirmación después de guardar los datos. O, en caso de error al guardar los datos, puede hacer una cancelación para restaurar un estado consistente de los datos.
La función recibe un [objeto *event*](#event-parameter) como parámetro.
- To avoid infinite loops, calling a [`save()`](../API/EntityClass.md#save) on the current entity (through `This`) in this function is **not allowed**. Se producirá un error.
-- Throwing an [error object](#error-object) is **not supported** by this function.
+- Arrojar un [objeto error](#error-object) **no es soportado** por esta función.
#### Ejemplo
@@ -483,9 +483,9 @@ Function event validateDrop ($event : Object)
// código
```
-This event is triggered each time an entity is about to be dropped.
+Este evento se activa cada vez que una entidad está a punto de ser soltada.
-- If you defined the function at the entity level (first syntax), it is called for any attribute of the entity.
+- Si define la función a nivel de entidad (primera Sintaxis), se llama para cualquier atributo de la entidad.
- If you defined the function at the attribute level (second syntax), it is called only for this attribute.
La función recibe un [objeto *event*](#event-parameter) como parámetro.
@@ -532,7 +532,7 @@ Function event dropping ($event : Object)
Este evento se activa cada vez que se elimina una entidad.
-- If you defined the function at the entity level (first syntax), it is called for any attribute of the entity.
+- Si define la función a nivel de entidad (primera Sintaxis), se llama para cualquier atributo de la entidad.
- If you defined the function at the attribute level (second syntax), it is called only for this attribute.
La función recibe un [objeto *event*](#event-parameter) como parámetro.
@@ -555,7 +555,7 @@ To stop the action, the code of the function must return an [error object](#erro
#### Ejemplo
-Here is an example of `dropping` event at entity level:
+Estes es un ejemplo del evento `dropping` a nivel de entidad:
```4d
// ProductsEntity class
@@ -589,18 +589,18 @@ Function event afterDrop($event : Object)
// código
```
-This event is triggered just after an entity is dropped.
+Este evento se activa justo después de que una entidad es soltada.
-This event is useful after dropping data to propagate the drop action outside the application or to execute administration tasks. For example, it can be used to send a cancellation email after data have been dropped. Or, in case of error while dropping data, it can log an information for the administrator to check data consistency.
+This event is useful after dropping data to propagate the drop action outside the application or to execute administration tasks. Por ejemplo, se puede utilizar para enviar un correo electrónico de cancelación después de soltar los datos. Or, in case of error while dropping data, it can log an information for the administrator to check data consistency.
La función recibe un [objeto *event*](#event-parameter) como parámetro.
- To avoid infinite loops, calling a [`drop()`](../API/EntityClass.md#drop) on the current entity (through `This`) in this function is **not allowed**. Se producirá un error.
-- Throwing an [error object](#error-object) is **not supported** by this function.
+- Arrojar un [objeto error](#error-object) **no es soportado** por esta función.
:::note
-The dropped entity is referenced by `This` and still exists in memory.
+La entidad eliminada es referenciada por `This` y aún existe en memoria.
:::
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/ORDA/privileges.md b/i18n/es/docusaurus-plugin-content-docs/current/ORDA/privileges.md
index 5bb31631d97539..72cf097a8cd4f4 100644
--- a/i18n/es/docusaurus-plugin-content-docs/current/ORDA/privileges.md
+++ b/i18n/es/docusaurus-plugin-content-docs/current/ORDA/privileges.md
@@ -27,27 +27,21 @@ Si un usuario intenta ejecutar una acción y no tiene los derechos de acceso ade
Puede asignar acciones de permiso específicas a los siguientes recursos en su proyecto:
-- el almacén de datos
-- una clase de datos
-- un atributo (incluidos los calculados y los alias)
-- una función de clase de modelo de datos
-- una función [singleton](../REST/$singleton.md)
+- the [datastore](../ORDA/dsMapping.md#datastore)
+- the [dataclasses](../ORDA/dsMapping.md#dataclass)
+- [attributes](../ORDA/dsMapping.md#attribute) (including [computed](./ordaClasses.md#computed-attributes-1) and [alias](./ordaClasses.md#alias-attributes-1))
+- functions of the [data model classes](../ORDA/ordaClasses.md)
+- [singleton](../REST/$singleton.md) functions
Cada vez que se accede a un recurso dentro de una sesión (sin importar la forma en que se acceda), 4D verifica que la sesión tenga los permisos apropiados y rechaza el acceso si no está autorizado.
-Una acción de permiso definida en un nivel determinado se hereda por defecto en los niveles inferiores, pero se pueden establecer varios permisos:
-
-- Una acción de permiso definida a nivel de almacén de datos se asigna automáticamente a todas las clases de datos. La acción de permiso *execute* definida en el nivel del datastore se aplica a todas las funciones del proyecto, incluyendo todas las funciones [singleton](../REST/$singleton.md).
-- Una acción de permiso definida a nivel de clase de datos anula la configuración del almacén de datos (si existe). Por defecto, todos los atributos de la clase de datos heredan de los permisos de la clase de datos.
-- A diferencia de los permisos de clase de datos, una acción de permiso definida a nivel de atributo no anula los permisos de clase de datos padre, sino que se añade a ellos. Por ejemplo, si asignó el privilegio "general" a una clase de datos y el privilegio "detail" a un atributo de la clase de datos, tanto el privilegio "general" como el privilegio "detail" deben definirse en la sesión para acceder al atributo.
-
-:::info
+## Permissions
-Los permisos controlan el acceso a los objetos o funciones del almacén de datos. Si desea filtrar los datos leídos según algún criterio, puede considerar [restringir las selecciones de entidades](entities.md#restricting-entity-selections) que puede ser más apropiado en este caso.
+A permission is the ability to do an action on a resource. For example, *execute the ds.myTable.myFunction()* represents a **permission**. Permissions are defined for the project in the [`roles.json`](#rolesjson-file) file. Cada permiso se puede dar a uno o más [privilegios](#privileges-and-roles).
-:::
+When **no specific permission** has been defined for a resource, access to the resource may be automatically **unrestricted** or **restricted** depending on the [default mode defined for the project](#restriction-modes).
-## Acciones de autorización
+### Acciones de autorización
Las acciones disponibles están relacionadas con el recurso de destino.
@@ -73,6 +67,65 @@ Las acciones disponibles están relacionadas con el recurso de destino.
Los parámetros de permisos requieren ser consistentes, en particular los permisos **update** y **drop** también necesitan el permiso **read** (pero **create** no lo necesita).
+### Permisos heredados
+
+Una acción de permiso definida en un nivel determinado se hereda por defecto en los niveles inferiores, pero se pueden establecer varios permisos:
+
+- Una acción de permiso definida a nivel de almacén de datos se asigna automáticamente a todas las clases de datos. La acción de permiso *execute* definida en el nivel del datastore se aplica a todas las funciones del proyecto, incluyendo todas las funciones [singleton](../REST/$singleton.md).
+- Una acción de permiso definida a nivel de clase de datos anula la configuración del almacén de datos (si existe). Por defecto, todos los atributos de la clase de datos heredan de los permisos de la clase de datos.
+- A diferencia de los permisos de clase de datos, una acción de permiso definida a nivel de atributo no anula los permisos de clase de datos padre, sino que se añade a ellos. Por ejemplo, si asignó el privilegio "general" a una clase de datos y el privilegio "detail" a un atributo de la clase de datos, tanto el privilegio "general" como el privilegio "detail" deben definirse en la sesión para acceder al atributo.
+
+:::info
+
+Los permisos controlan el acceso a los objetos o funciones del almacén de datos. Si desea filtrar los datos leídos según algún criterio, puede considerar [restringir las selecciones de entidades](entities.md#restricting-entity-selections) que puede ser más apropiado en este caso.
+
+:::
+
+### Asignación de permisos a las funciones de la clase ORDA
+
+Al configurar los permisos, las funciones de clase ORDA se declaran en el elemento `applyTo` usando la siguiente sintaxis:
+
+```json
+.
+```
+
+Por ejemplo, si desea aplicar un permiso a la siguiente función:
+
+```4d
+// cs.CityEntity class
+Class extends Entity
+ Function getPopulation() : Integer
+ ...
+```
+
+... tiene que escribir:
+
+```json
+"applyTo":"City.getPopulation"
+```
+
+Significa que no puede utilizar los mismos nombres de función en las distintas clases ORDA (entidad, selección de entidad, dataclass) si desea que se les asignen privilegios. En este caso, debe utilizar nombres de función distintos. Por ejemplo, si has creado una función "drop" en ambas clases `cs.CityEntity` y `cs.CitySelection`, necesita darles nombres diferentes como `dropEntity()` y `dropSelection()`. A continuación, puede escribir en el archivo "roles.json":
+
+```json
+ "permissions": {
+ "allowed": [
+ {
+ "applyTo": "City.dropEntity",
+ "type": "method",
+ "promote": [
+ "name"
+ ]
+ },
+ {
+ "applyTo": "City.dropSelection",
+ "type": "method",
+ "promote": [
+ "name"
+ ]
+ }
+ ]
+```
+
## Privilegios y roles
Un \*\*privilegio \*\* es la capacidad técnica de ejecutar \*\*acciones \*\* en \*\*recursos \*\*, mientras que un **rol** es un privilegio publicado para ser utilizado por un administrador. Básicamente, un rol reúne varios privilegios para definir un perfil de usuario empresarial. Por ejemplo, "manageInvoices" podría ser un privilegio mientras que "secretary" podría ser un rol (que incluye "manageInvoices" y otros privilegios).
@@ -111,70 +164,7 @@ exposed Function authenticate($identifier : Text; $password : Text)->$result : T
## archivo `roles.json`
-El archivo `roles.json` describe todos los parámetros de seguridad del proyecto.
-
-### Archivo por defecto
-
-Al crear un proyecto, se crea un archivo `roles.json` por defecto en la siguiente ubicación: `/Project/Sources/` (ver la sección [Architecture](../Project/architecture.md#sources)).
-
-El archivo por defecto tiene el siguiente contenido:
-
-```json title="/Project/Sources/roles.json"
-
-{
- "privileges": [
- {
- "privilege": "all",
- "includes": []
- }
- ],
-
- "roles": [],
-
- "permissions": {
- "allowed": [
- {
- "applyTo": "ds",
- "type": "datastore",
- "read": ["all"],
- "create": ["all"],
- "update": ["all"],
- "drop": ["all"],
- "execute": ["all"],
- "promote": ["all"]
- }
- ]
- },
-
- "forceLogin": true
-
-}
-
-```
-
-For a highest level of security, the "all" privilege is assigned to all permissions in the datastore, thus data access on the whole `ds` object is disabled by default. The principle is as follows: assigning a permission is like putting a lock on a door. Only sessions with privilege having the corresponding key (i.e., a permission) will be able to open the lock.
-Se recomienda no modificar ni utilizar este privilegio de bloqueo, sino agregar permisos específicos a cada recurso que desee poner a disposición desde solicitudes web o REST ([ver ejemplo a continuación](#example-of-privilege-configuration)).
-
-:::caution
-
-Cuando no se definen parámetros específicos en el archivo `roles.json`, los accesos no son limitados. Esta configuración le permite desarrollar la aplicación sin tener que preocuparse por los accesos, pero no se recomienda en entornos de producción.
-
-:::
-
-:::note Compatibilidad
-
-En versiones anteriores, el archivo `roles.json` no fue creado por defecto. A partir de 4D 20 R6, al abrir un proyecto existente que no contiene un archivo `roles.json` o los parámetros `"forceLogin": true`, el botón **Activar la autenticación REST mediante la función ds.authentify()** está disponible en la página [**Funcionalidades web** de la caja de diálogo Parámetros](../settings/web.md#access). Este botón actualiza automáticamente su configuración de seguridad (es posible que tenga que modificar su código, [ver esta publicación del blog](https://blog.4d.com/force-login-becomes-default-for-all-rest-auth/)).
-:::
-
-:::note Qodly Studio
-
-En Qodly Studio for 4D, el modo se puede definir utilizando la opción [**Forzar inicio de sesión**](../WebServer/qodly-studio.md#force-login) en el panel de Privilegios.
-
-:::
-
-### Sintaxis
-
-La sintaxis del archivo `roles.json` es la siguiente:
+El archivo `roles.json` describe todos los parámetros de seguridad web del proyecto. La sintaxis del archivo `roles.json` es la siguiente:
| Nombre de propiedad | | | Tipo | Obligatorio | Descripción |
| ------------------- | ----------------------------------------------------------------------------------- | -------------------------------------------------------------------------------- | --------------------------------- | ----------- | ------------------------------------------------------------------------------------------------------------------------------ |
@@ -194,60 +184,87 @@ La sintaxis del archivo `roles.json` es la siguiente:
| | | \[].drop | Colección de cadenas | | Lista de privilegios |
| | | \[].execute | Colección de cadenas | | Lista de privilegios |
| | | \[].promote | Colección de cadenas | | Lista de privilegios |
-| forceLogin | | | Boolean | | True para habilitar el [modo "forceLogin"](../REST/authUsers.md#force-login-mode) |
+| restrictedByDefault | | | Boolean | | Si es true, se niega el acceso a recursos sin permisos explícitos |
+| forceLogin | | | Boolean | | If true, enables ["forceLogin" mode](../REST/authUsers.md#force-login-mode) |
:::caution Recordatorio
- El nombre de privilegio "WebAdmin" está reservado a la aplicación. No se recomienda utilizar este nombre para los privilegios personalizados.
-- los nombres de `privileges` y `roles` son insensibles a mayúsculas y minúsculas.
+- `privileges` and `roles` names are case-insensitive.
:::
-#### Asignación de permisos a las funciones de la clase ORDA
+### Default File Location and Content
-Al configurar los permisos, las funciones de clase ORDA se declaran en el elemento `applyTo` usando la siguiente sintaxis:
+When a new project is created, a default `roles.json` file is generated at:
-```json
-.
```
-
-Por ejemplo, si desea aplicar un permiso a la siguiente función:
-
-```4d
-// cs.CityEntity class
-Class extends Entity
- Function getPopulation() : Integer
- ...
+/Project/Sources/
```
-... tiene que escribir:
+Ver la sección [Arquitectura](../Project/architecture.md#sources).
-```json
-"applyTo":"City.getPopulation"
-```
+Contenido predeterminado:
-Significa que no puede utilizar los mismos nombres de función en las distintas clases ORDA (entidad, selección de entidad, dataclass) si desea que se les asignen privilegios. En este caso, debe utilizar nombres de función distintos. Por ejemplo, si has creado una función "drop" en ambas clases `cs.CityEntity` y `cs.CitySelection`, necesita darles nombres diferentes como `dropEntity()` y `dropSelection()`. A continuación, puede escribir en el archivo "roles.json":
+```json title="/Project/Sources/roles.json"
-```json
- "permissions": {
- "allowed": [
- {
- "applyTo": "City.dropEntity",
- "type": "method",
- "promote": [
- "name"
- ]
- },
- {
- "applyTo": "City.dropSelection",
- "type": "method",
- "promote": [
- "name"
- ]
- }
+{
+ "privileges": [
+ ],
+ "roles": [
+ ],
+ "permissions": {
+ "allowed": [
+ {
+ "applyTo": "ds",
+ "type": "datastore",
+ "read": [],
+ "create": [],
+ "update": [],
+ "drop": [],
+ "execute": [],
+ "promote": []
+ }
]
+ },
+ "restrictedByDefault": false,
+ "forceLogin": false
+}
```
+:::note Compatibilidad
+
+En versiones anteriores, el archivo `roles.json` no fue creado por defecto. A partir de 4D 20 R6, al abrir un proyecto existente que no contiene un archivo `roles.json` o los parámetros `"forceLogin": true`, el botón **Activar la autenticación REST mediante la función ds.authentify()** está disponible en la página [**Funcionalidades web** de la caja de diálogo Parámetros](../settings/web.md#access). Este botón actualiza automáticamente su configuración de seguridad (es posible que tenga que modificar su código, [ver esta publicación del blog](https://blog.4d.com/force-login-becomes-default-for-all-rest-auth/)).
+
+:::
+
+:::note Qodly Studio
+
+In Qodly Studio for 4D, the login mode can be set using the [**Force login** option](https://developer.4d.com/qodly/4DQodlyPro/force-login) in the Roles and Privileges panel.
+
+:::
+
+## Restriction Modes
+
+The `restrictedByDefault` property configures how every [resource](#resources) are accessed when [no specific permission is defined for it](#permission):
+
+- **Unrestricted mode** (`restrictedByDefault`: **false**): Resources without defined permissions are accessible to all requests. Este modo es adecuado para entornos de desarrollo donde el acceso se puede restringir gradualmente.
+- **Restricted mode** (`restrictedByDefault`: **true**): Resources without defined permissions are blocked by default. Este modo se recomienda para entornos de producción donde el acceso debe ser otorgado explícitamente.
+
+:::note Compatibilidad
+
+- When **creating a new project**, the `restrictedByDefault` property is set to **false** in the *roles.json* file (see below). Tenga en cuenta que esta configuración está hecha a medida para un inicio rápido y un desarrollo fluido. In production environment, [it is recommended to set the `restrictedByDefault` and `forceLogin` properties to **true**](#configuring-restrictedbydefault-and-forcelogin-properties).
+- In **projects converted from previous releases**; when enabling access to Qodly Studio using the [One-click configuration dialog](https://developer.4d.com/qodly/4DQodlyPro/gettingStarted#one-click-configuration), the `restrictedByDefault` property is added with value **true** in the *roles.json* file.
+
+:::
+
+### Configuración recomendada
+
+Depending on your environment, the recommended settings are:
+
+- **Production**: Set both `restrictedByDefault` and [`forceLogin`](../REST/authUsers.md#force-login-mode) to **true**. Esto garantiza la máxima seguridad al requerir autenticación de usuario y permisos explícitamente definidos para el acceso a recursos.
+- **Development**: Set both `restrictedByDefault` and [`forceLogin`](../REST/authUsers.md#force-login-mode) to **false**. This allows easier access during development and debugging, with the possibility to gradually apply restrictions.
+
### Archivo `Roles_Errors.json`
El archivo `roles.json` es analizado por 4D al inicio. Debe reiniciar la aplicación si desea que se tengan en cuenta las modificaciones en este archivo.
@@ -267,93 +284,28 @@ End if
## Ejemplo de configuración de privilegios
-The good practice is to keep all data access locked by default thanks to the "all" privilege and to configure the `roles.json` file to only open controlled parts to authorized sessions. For example, to allow some accesses to "guest" sessions:
-
```json title="/Project/Sources/roles.json"
{
- "privileges": [
- {
- "privilege": "all",
- "includes": []
- }
- ],
- "roles": [],
- "permissions": {
- "allowed": [
- {
- "applyTo": "ds",
- "type": "datastore",
- "read": [
- "all"
- ],
- "create": [
- "all"
- ],
- "update": [
- "all"
- ],
- "drop": [
- "all"
- ],
- "execute": [
- "all"
- ],
- "promote": [
- "all"
- ]
- },
- {
- "applyTo": "ds.loginAs",
- "type": "method",
- "execute": [
- "guest"
- ]
- },
- {
- "applyTo": "ds.hasPrivilege",
- "type": "method",
- "execute": [
- "guest"
- ]
- },
- {
- "applyTo": "ds.clearPrivileges",
- "type": "method",
- "execute": [
- "guest"
- ]
- },
- {
- "applyTo": "ds.isGuest",
- "type": "method",
- "execute": [
- "guest"
- ]
- },
- {
- "applyTo": "ds.getPrivileges",
- "type": "method",
- "execute": [
- "guest"
- ]
- },
- {
- "applyTo": "ds.setAllPrivileges",
- "type": "method",
- "execute": [
- "guest"
- ]
- },
- {
- "applyTo": "mySingletonClass.createID",
- "type": "singletonMethod",
- "execute": [
- "guest"
- ]
- }
- ]
- },
- "forceLogin": true
+ "forceLogin": true,
+ "restrictedByDefault": true,
+ "permissions": {
+ "allowed": [
+ {
+ "applyTo": "People",
+ "type": "dataclass",
+ "read": [
+ "viewPeople"
+ ]
+ }
+ ]
+ },
+ "privileges": [
+ {
+ "privilege": "viewPeople",
+ "includes": []
+ }
+ ],
+ "roles": []
}
```
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/Project/compiler.md b/i18n/es/docusaurus-plugin-content-docs/current/Project/compiler.md
index 1158b612ee42c7..77cb73581775e8 100644
--- a/i18n/es/docusaurus-plugin-content-docs/current/Project/compiler.md
+++ b/i18n/es/docusaurus-plugin-content-docs/current/Project/compiler.md
@@ -148,7 +148,7 @@ El modo de escritura directa es opcional sólo en proyectos convertidos. Se util
Select **All variables are typed (Direct typing)** option in the **Compilation Path** menu to enable the direct typing mode. Cuando se selecciona esta opción, las demás opciones de compatibilidad pierden su utilidad y dejan de mostrarse.
-Se recomienda utilizar esta opción, ya que proporciona flexibilidad y eficiencia. The direct typing concept assumes that all elements are directly declared where they are defined in your code. Solo tiene que asegurarse de que todas sus variables son declaradas utilizando la [sintaxis 'var'](../Concepts/variables.md#declaring-variables) y que sus parámetros de método y función son declarados [en sus prototipos](../Concepts/parameters.md) (la función [Verificar sintaxis](#check-syntax) puede ayudarle a detectar declaraciones faltantes o no válidas).
+Se recomienda utilizar esta opción, ya que proporciona flexibilidad y eficiencia. El concepto de escritura directa asume que todos los elementos se declaran directamente donde están definidos en su código. Solo tiene que asegurarse de que todas sus variables son declaradas utilizando la [sintaxis 'var'](../Concepts/variables.md#declaring-variables) y que sus parámetros de método y función son declarados [en sus prototipos](../Concepts/parameters.md) (la función [Verificar sintaxis](#check-syntax) puede ayudarle a detectar declaraciones faltantes o no válidas).
## Advertencias
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/REST/$filter.md b/i18n/es/docusaurus-plugin-content-docs/current/REST/$filter.md
index fb80d3d89867e4..c23fb41145c825 100644
--- a/i18n/es/docusaurus-plugin-content-docs/current/REST/$filter.md
+++ b/i18n/es/docusaurus-plugin-content-docs/current/REST/$filter.md
@@ -96,7 +96,7 @@ El parámetro *vectorComparison* es una colección de los siguientes elementos:
| [].metric | Text | Opcional. [Cálculo vectorial](../API/VectorClass.md#understanding-the-different-vector-computations) a utilizar para la consulta. Supported values:"cosine" (default if omitted): calculates the cosine similarity between vectors."dot": calculates the dot similarity of vectors."euclidean": calculates the Euclidean distance between vectors. |
| [].threshold | Real | Opcional (por defecto: 0,5). Un valor umbral utilizado para filtrar las comparaciones de vectores en función de su puntuación de similitud coseno, punto o euclídea según la "métrica" seleccionada. Es altamente recomendable elegir una similitud que se adapte mejor a su caso de uso específico para obtener resultados óptimos. |
-Only a subset of **comparator** symbols are supported with vector comparisons. Tenga en cuenta que comparan los resultados con el valor umbral:
+Solo un subconjunto de símbolos **comparadores** son soportados con comparaciones vectoriales. Tenga en cuenta que comparan los resultados con el valor umbral:
| Comparador | Símbolo(s) | Comentario |
| ----------------- | ----------------------------- | --------------------------- |
@@ -126,7 +126,7 @@ En este ejemplo, buscamos en la clase de datos Person todas las personas cuya pr
GET /rest/Person/?filter="anotherobj.mynum > 50"
```
-In this example, we do a vector search with basic values:
+En este ejemplo, hacemos una búsqueda vectorial con valores de base:
```
GET /rest/Person/?filter="VectorAtt>=:1"&$params='[{vector:[1,2,3],threshold:1}]'
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/REST/$singleton.md b/i18n/es/docusaurus-plugin-content-docs/current/REST/$singleton.md
index dd6441c98e068f..f2526bf683cf39 100644
--- a/i18n/es/docusaurus-plugin-content-docs/current/REST/$singleton.md
+++ b/i18n/es/docusaurus-plugin-content-docs/current/REST/$singleton.md
@@ -5,7 +5,7 @@ title: $singleton
Puede llamar directamente a [funciones de sus singletons compartidos](../Concepts/classes.md#singleton-classes) a través de REST.
-Singleton functions are called in POST or GET requests with the `$singleton` command and without `()`. Por ejemplo, si ha definido una función `buildVehicle()` en la clase compartida singleton `VehicleFactory`, podría llamarla utilizando la siguiente petición:
+Las funciones Singleton se llaman en peticiones POST o GET con el comando `$singleton` y sin `()`. Por ejemplo, si ha definido una función `buildVehicle()` en la clase compartida singleton `VehicleFactory`, podría llamarla utilizando la siguiente petición:
```json
/rest/$singleton/VehicleFactory/buildVehicle
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/REST/configuration.md b/i18n/es/docusaurus-plugin-content-docs/current/REST/configuration.md
index a27d1bfcff6814..64fe5f6e667aec 100644
--- a/i18n/es/docusaurus-plugin-content-docs/current/REST/configuration.md
+++ b/i18n/es/docusaurus-plugin-content-docs/current/REST/configuration.md
@@ -70,9 +70,9 @@ Para eliminar la exposición REST de un campo:
1. Visualice el inspector de campo en el editor de estructuras y seleccione el campo a modificar.
-2. Desmarque la opción **Exponer como recurso REST** para el campo.
- 
- Repita esta operación para cada campo cuya exposición deba modificarse.
+2. Uncheck the **Expose as REST resource** for the field.
+ 
+ Repeat this for each field whose exposure needs to be modified.
> Para que un campo sea accesible a través de REST, la tabla padre también debe serlo. Si la tabla padre no está expuesta, ninguno de sus campos lo estará, independientemente de su estado.
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/ViewPro/commands/vp-export-document.md b/i18n/es/docusaurus-plugin-content-docs/current/ViewPro/commands/vp-export-document.md
index 8dfcf9c5401f37..94eefcc2eb31d0 100644
--- a/i18n/es/docusaurus-plugin-content-docs/current/ViewPro/commands/vp-export-document.md
+++ b/i18n/es/docusaurus-plugin-content-docs/current/ViewPro/commands/vp-export-document.md
@@ -77,11 +77,11 @@ El parámetro opcional *paramObj* le permite definir múltiples propiedades para
| | includeStyles | boolean | Si se incluye el estilo al exportar, por defecto true. |
| | includeFormulas | boolean | Si se incluye la fórmula al exportar, por defecto true. |
| | saveAsView | boolean | Si aplicar la cadena de formato al valor de exportación al exportar, por defecto false. |
-| | rowHeadersAsFrozenColumns | boolean | Whether to treat the row headers as frozen columns when exporting, default false. |
+| | rowHeadersAsFrozenColumns | boolean | Si tratar los encabezados de línea como columnas congeladas al exportar, por defecto false. |
| | columnHeadersAsFrozenRows | boolean | Si tratar los encabezados de columna como líneas congeladas al exportar, por defecto false. |
| | includeAutoMergedCells | boolean | Si se incluyen las celdas combinadas automáticamente al exportar, false por defecto. |
-| | includeCalcModelCache | boolean | Si desea incluir los datos adicionales de cálculo. Can be faster when open the file with those data, default false. |
-| | includeUnusedNames | boolean | Whether to include the unused custom name when exporting, default true. |
+| | includeCalcModelCache | boolean | Si desea incluir los datos adicionales de cálculo. Puede ser más rápido al abrir el archivo con esos datos, false por defecto. |
+| | includeUnusedNames | boolean | Si se incluye el nombre personalizado no utilizado al exportar, true por defecto. |
| | includeEmptyRegionCells | boolean | Si se incluyen celdas vacías (celdas sin datos o solo con estilo) fuera del rango de datos utilizado, por defecto true. |
| | contraseña | text | Contraseña a definir para abrir el libro de trabajo. |
| `\` | | any | Toda propiedad personalizada que estará disponible a través del parámetro $3 en el método de retrollamada. |
@@ -90,7 +90,7 @@ El parámetro opcional *paramObj* le permite definir múltiples propiedades para
- Al exportar un documento 4D View Pro a un archivo con formato Microsoft Excel, pueden perderse algunos parámetros. Por ejemplo, los métodos y fórmulas 4D no son soportados por Excel. Puede verificar otras configuraciones con [esta lista de SpreadJS](https://developer.mescius.com/spreadjs/docs/excelimpexp/excelexport).
- La exportación en este formato se ejecuta de forma asíncrona, utilice la propiedad `formula` del *paramObj* para el código a ejecutar después de la exportación.
-- Se recomienda utilizar el objeto *excelOptions* al exportar en formato ".xlsx". Make sure to not mix this object with legacy first level properties (*password*, *includeBindingSource*...) para evitar problemas potientales.
+- Se recomienda utilizar el objeto *excelOptions* al exportar en formato ".xlsx". Asegúrese de no mezclar este objeto con propiedades heredadas de primer nivel (*password*, *includeBindingSource*...) para evitar problemas potientales.
**Notas sobre el formato PDF**:
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/ViewPro/commands/vp-import-document.md b/i18n/es/docusaurus-plugin-content-docs/current/ViewPro/commands/vp-import-document.md
index 045a2e27cb83c5..2634788b5efb66 100644
--- a/i18n/es/docusaurus-plugin-content-docs/current/ViewPro/commands/vp-import-document.md
+++ b/i18n/es/docusaurus-plugin-content-docs/current/ViewPro/commands/vp-import-document.md
@@ -63,7 +63,7 @@ El parámetro opcional *paramObj* permite definir las propiedades del documento
| | includeStyles | boolean | Si se incluye el estilo al importar, por defecto true. |
| | includeFormulas | boolean | Si se incluye la fórmula al importar, por defecto true. |
| | frozenColumnsAsRowHeaders | boolean | Bien sea tratar las columnas congeladas como encabezados de línea al importar, por defecto false. |
-| | frozenRowsAsColumnHeaders | boolean | Whether to treat the frozen rows as column headers when importing, default false. |
+| | frozenRowsAsColumnHeaders | boolean | Bien sea tratar las líneas congeladas como encabezados de columna al importar, por defecto false. |
| | fullRecalc | boolean | Si calcular después de cargar los datos json, false por defecto. |
| | dynamicReferences | boolean | Si calcular funciones con referencia dinámica, por defecto true. |
| | calcOnDemand | boolean | Whether to calculate formulas only when they are demanded, default false. |
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/ViewPro/getting-started.md b/i18n/es/docusaurus-plugin-content-docs/current/ViewPro/getting-started.md
index 8577eb589df53b..97732b237a5018 100644
--- a/i18n/es/docusaurus-plugin-content-docs/current/ViewPro/getting-started.md
+++ b/i18n/es/docusaurus-plugin-content-docs/current/ViewPro/getting-started.md
@@ -13,9 +13,9 @@ La integración de áreas de 4D View Pro en sus formularios le permite importar
## Instalación y activación
-4D View Pro debe estar instalado en sus proyectos. The 4D View Pro component is available from the [**4D-ViewPro github repository**](https://github.com/4d/4D-ViewPro).
+4D View Pro debe estar instalado en sus proyectos. El componente 4D View Pro está disponible en el [\*\*repositorio github 4D-ViewPro \*\*](https://github.com/4d/4D-ViewPro).
-The easiest way to install 4D View Pro in an opened project is to use the Dependency Manager:
+La forma más fácil de instalar 4D View Pro en un proyecto abierto es utilizar el Administrador de dependencias:
1. Abra la ventana [Dependency Manager](../Project/components.md).
2. Haga clic en el botón **+** para añadir un componente.
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/WebServer/authentication.md b/i18n/es/docusaurus-plugin-content-docs/current/WebServer/authentication.md
index ee0943ee56293f..509461ed5e00bf 100644
--- a/i18n/es/docusaurus-plugin-content-docs/current/WebServer/authentication.md
+++ b/i18n/es/docusaurus-plugin-content-docs/current/WebServer/authentication.md
@@ -119,7 +119,7 @@ Debe declarar estos parámetros de la siguiente manera:
:::note
-Todos los parámetros del método base `On Web Authentication` no están necesariamente rellenados. The information received by the database method depends on the selected [authentication mode](#authentication-modes).
+Todos los parámetros del método base `On Web Authentication` no están necesariamente rellenados. La información recibida por el método base depende del [modo de autenticación](#authentication-modes) seleccionado.
:::
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/WebServer/http-rules.md b/i18n/es/docusaurus-plugin-content-docs/current/WebServer/http-rules.md
index 16c9f337b0de37..bc8018c82e60ac 100644
--- a/i18n/es/docusaurus-plugin-content-docs/current/WebServer/http-rules.md
+++ b/i18n/es/docusaurus-plugin-content-docs/current/WebServer/http-rules.md
@@ -58,7 +58,7 @@ Se soportan las siguientes palabras clave de acción:
| `removeHeaders` | Texto o colección de textos | Encabezado(s) para eliminar de las respuestas HTTP. Si un encabezado a eliminar no existe en el encabezado de respuesta, se ignora. |
| `addHeaders` | Object | Name (text) and value (text) of header(s) to add to the HTTP responses. |
| `setHeaders` | Object | Name (text) and value (text) of header(s) to modify in the HTTP responses. Si un encabezado a modificar no existe en el encabezado de respuesta, se añade. |
-| `denyAccess` | Boolean | true para negar el acceso al recurso, false para permitir el acceso. When the access to a resource is denied, the web server returns a 403 status by default |
+| `denyAccess` | Boolean | true para negar el acceso al recurso, false para permitir el acceso. Cuando el acceso a un recurso es denegado, el servidor web devuelve un estado 403 por defecto |
| `redirect` | Text | Redirigir URL. Cuando se activa una redirección, el servidor web devuelve un estado 302 por defecto |
| `status` | Number | Estado HTTP |
@@ -74,7 +74,7 @@ Algunos encabezados no pudieron ser añadidos, modificados o eliminados:
| Vary | Sí | No | No |
| Set-Cookie | Sí | Añadir cookie | No |
-Unauthorized changes on these headers do not generate errors, however modifications will be ignored.
+Los cambios no autorizados en estos encabezados no generan errores, sin embargo las modificaciones serán ignoradas.
### Reglas actuales
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/WebServer/preemptiveWeb.md b/i18n/es/docusaurus-plugin-content-docs/current/WebServer/preemptiveWeb.md
index 6a5929785ac538..c270d197d2e68a 100644
--- a/i18n/es/docusaurus-plugin-content-docs/current/WebServer/preemptiveWeb.md
+++ b/i18n/es/docusaurus-plugin-content-docs/current/WebServer/preemptiveWeb.md
@@ -27,7 +27,7 @@ La siguiente tabla indica si el modo apropiativo se utiliza o está disponible,
- Servidor web: maneja las [plantillas web](templates.md), [4DACTION y los métodos base](httpRequests.md)
- Servidor de servicios web: gestiona las peticiones SOAP
- ***web setting*** means that the preemptive mode depends on the [**scalable sessions**](sessions.md#enabling-web-sessions) status:
- - if scalable sessions are enabled, the preemptive mode is automatically used for web and web service processes.
+ - si las sesiones escalables están activadas, el modo apropiativo se utiliza automáticamente para los procesos web y servicios web.
- si las sesiones escalables no están activadas:
- for web processes, the [**Use preemptive processes**](webServerConfig.md#use-preemptive-processes) option is taken into account.
- for web service processes (server or client), preemptive mode is supported at method level.
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/WebServer/qodly-studio.md b/i18n/es/docusaurus-plugin-content-docs/current/WebServer/qodly-studio.md
index 70390ec805a88e..66280d9e0e24f6 100644
--- a/i18n/es/docusaurus-plugin-content-docs/current/WebServer/qodly-studio.md
+++ b/i18n/es/docusaurus-plugin-content-docs/current/WebServer/qodly-studio.md
@@ -80,7 +80,7 @@ La autenticación en el servidor web WebAdmin se realiza utilizando una llave de
De acuerdo con la gestión de proyectos 4D, sólo se admiten los siguientes usos:
- el desarrollo con Qodly Studio debe realizarse a través de **4D** (monousuario).
-- deployment of 4D applications powered with Qodly pages must be done using **4D Server**.
+- el despliegue de aplicaciones 4D alimentadas por páginas Qodly debe hacerse utilizando **4D Server**.
:::warning
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/WebServer/sessions.md b/i18n/es/docusaurus-plugin-content-docs/current/WebServer/sessions.md
index 8602f8f2fab3ec..daeaf088d5b5d0 100644
--- a/i18n/es/docusaurus-plugin-content-docs/current/WebServer/sessions.md
+++ b/i18n/es/docusaurus-plugin-content-docs/current/WebServer/sessions.md
@@ -211,7 +211,7 @@ End if
El servidor web 4D le permite generar, compartir y utilizar tokens de sesión OTP (One-Time Passcode). Los tokens de sesión OTP se utilizan para asegurar comunicaciones con aplicaciones de terceros o sitios web. For information on OTP, please refer to the [One-time password page](https://en.wikipedia.org/wiki/One-time_password) on Wikipedia.
-In 4D, OTP session tokens are useful when calling external URLs and being called back in another browser or device (mobile/computer). Typically, a third-party application sends a confirmation email containing a callback link on which the user has to click. The callback link includes the OTP token, so that the session which triggered the callback is loaded along with its data and privileges. This principle allows you to share the same session on multiple devices. Gracias a esta arquitectura, la [cookie de sesión](#session-implementation) no está expuesta en la red, lo que elimina el riesgo de un ataque de hombre en el medio.
+In 4D, OTP session tokens are useful when calling external URLs and being called back in another browser or device (mobile/computer). Typically, a third-party application sends a confirmation email containing a callback link on which the user has to click. El enlace de retrollamada incluye el token OTP, para que la sesión que activó la retrollamada se cargue junto con sus datos y privilegios. This principle allows you to share the same session on multiple devices. Gracias a esta arquitectura, la [cookie de sesión](#session-implementation) no está expuesta en la red, lo que elimina el riesgo de un ataque de hombre en el medio.
:::tips Entradas de blog relacionadas
@@ -251,7 +251,7 @@ Una url [`4DACCIÓN`](./httpRequests.md#4daction) también puede ser usada en el
#### Utilizar un parámetro personalizado
-The OTP token can also be provided as a custom parameter that you need to process specifically to restore the session. Debe utilizar esta solución si:
+El token OTP también se puede suministrar como un parámetro personalizado que necesita procesar específicamente para restaurar la sesión. Debe utilizar esta solución si:
- la aplicación de terceros no permite insertar parámetros como un `$4DSID` directamente en la Uri de redirección, y proporciona una API dedicada (la implementación depende de la aplicación de terceros),
- o, quiere llamar a una función ORDA a través de REST para procesar la retrollamada, en cuyo caso es necesario pasar el OTP con la [sintaxis de parámetro REST](../REST/ClassFunctions.md#parameters) (por ejemplo, `?$params='["XXX123"]'`).
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/WebServer/webServer.md b/i18n/es/docusaurus-plugin-content-docs/current/WebServer/webServer.md
index 1a85350e7e6a34..3563c5462c2ac4 100644
--- a/i18n/es/docusaurus-plugin-content-docs/current/WebServer/webServer.md
+++ b/i18n/es/docusaurus-plugin-content-docs/current/WebServer/webServer.md
@@ -8,7 +8,7 @@ title: Servidor Web
:::warning Funcionalidad obsoleta
-Using the web server on a remote 4D is **deprecated** as of 4D 21. Ya no se recomienda utilizar esta funcionalidad.
+El uso del servidor web en un 4D remoto es **obsoleto** a partir de 4D 21. Ya no se recomienda utilizar esta funcionalidad.
:::
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/WritePro/commands/wp-import-document.md b/i18n/es/docusaurus-plugin-content-docs/current/WritePro/commands/wp-import-document.md
index 57405625d969f7..625a6d5df492ed 100644
--- a/i18n/es/docusaurus-plugin-content-docs/current/WritePro/commands/wp-import-document.md
+++ b/i18n/es/docusaurus-plugin-content-docs/current/WritePro/commands/wp-import-document.md
@@ -51,20 +51,20 @@ Por defecto, las expresiones HTML insertadas en documentos heredados de 4D Write
Puede pasar un objeto para definir cómo se gestionan los siguientes atributos durante la operación de importación:
-| **Atributo** | **Tipo** | **Description** |
-| ----------------------- | -------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
-| anchoredTextAreas | Text | Sólo para documentos MS Word (.docx). Especifica cómo se manejan las áreas de texto ancladas en Word. Valores disponibles:
**anchored** (por defecto) - Las áreas de texto ancladas se tratan como cuadros de texto. **inline** - Las áreas de texto ancladas se tratan como texto en línea en la posición del ancla. **ignore** \- Las áreas de texto ancladas son ignoradas. **Nota**: el diseño y el número de páginas en el documento pueden cambiar. Ver también *Cómo importar formato .docx* |
-| anchoredImages | Text | Sólo para documentos MS Word (.docx). Especifica cómo se manejan las imágenes ancladas. Available values:
**all** (default) - All anchored images are imported as anchored images with their text wrapping properties (exception: the .docx wrapping option "tight" is imported as wrap square). **ignoreWrap** \- Anchored images are imported, but any text wrapping around the image is ignored. **ignore** \- Las imágenes ancladas no son importadas. |
-| secciones | Text | Sólo para documentos MS Word (.docx). Especifica cómo se maneja la sección. Valores disponibles:
**all** (por defecto) - Se importan todas las secciones. Continuous, even, or odd sections are converted to standard sections. **ignore** \- Sections are converted to default 4D Write Pro sections (A4 portrait layout without header or footer). **Note**: Section breaks of any type but continuous are converted to section breaks with page break. Continuous section breaks are imported as continuous section breaks. |
-| fields | Text | Sólo para documentos MS Word (.docx). Specifies how .docx fields that can't be converted to 4D Write Pro formulas are handled. Valores disponibles:
**ignore** \- Los campos .docx son ignorados. **label** \- .docx field references are imported as labels within double curly braces ("{{ }}"). Ej: el campo "ClientName" se importará como {{ClientName}}. **value** (default) - The last computed value for the .docx field (if available) is imported. **Note**: If a .docx field corresponds to a 4D Write Pro variable, the field is imported as a formula and this option is ignored. |
-| borderRules | Text | Sólo para documentos MS Word (.docx). Especifica cómo se gestionan los bordes de los párrafos. Available values:
**collapse** \- Paragraph formatting is modified to mimic automatically collapsed borders. Tenga en cuenta que la propiedad contraída sólo se aplica durante la operación de importación. If a stylesheet with a automatic border collapse setting is reapplied after the import operation, the setting will be ignored. **noCollapse** (por defecto) - No se modifica el formato de los párrafos. |
-| preferredFontScriptType | Text | Sólo para documentos MS Word (.docx). Specifies the preferred typeface to use when different typefaces are defined for a single font property in OOXML. Available values:
**latin** (default) - Latin script **bidi** \- Bidrectional script. Suitable if document is mainly bidirectional left-to-right (LTR) or right-to-left (RTL) text (e.g., Arabic or Hebrew). **eastAsia** \- East Asian script. Adecuado si el documento es principalmente texto asiático. |
-| htmlExpressions | Text | Sólo para documentos 4D Write (.4w7). Especifica cómo se manejan las expresiones HTML. Available values:
**rawText** \- HTML expressions are imported as raw text within ##htmlBegin## and ##htmlEnd## tags **ignore** (default) - HTML expressions are ignored. |
-| importDisplayMode | Text | Sólo para documentos 4D Write (.4w7). Especifica cómo se gestiona la visualización de imágenes. Available values:
**legacy -** 4W7 image display mode is converted using a background image if different than scaled to fit. **noLegacy** (default) - 4W7 image display mode is converted to the *imageDisplayMode* attribute if different than scaled to fit. |
+| **Atributo** | **Tipo** | **Description** |
+| ----------------------- | -------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| anchoredTextAreas | Text | Sólo para documentos MS Word (.docx). Especifica cómo se manejan las áreas de texto ancladas en Word. Valores disponibles:
**anchored** (por defecto) - Las áreas de texto ancladas se tratan como cuadros de texto. **inline** - Las áreas de texto ancladas se tratan como texto en línea en la posición del ancla. **ignore** \- Las áreas de texto ancladas son ignoradas. **Nota**: el diseño y el número de páginas en el documento pueden cambiar. Ver también *Cómo importar formato .docx* |
+| anchoredImages | Text | Sólo para documentos MS Word (.docx). Especifica cómo se manejan las imágenes ancladas. Available values:
**all** (default) - All anchored images are imported as anchored images with their text wrapping properties (exception: the .docx wrapping option "tight" is imported as wrap square). **ignoreWrap** \- Las imágenes ancladas son importadas, pero todo texto que se envuelve alrededor de la imagen es ignorado. **ignore** \- Las imágenes ancladas no son importadas. |
+| secciones | Text | Sólo para documentos MS Word (.docx). Especifica cómo se maneja la sección. Valores disponibles:
**all** (por defecto) - Se importan todas las secciones. Secciones continuas, incluso impares se convierten en secciones estándar. **ignore** \- Sections are converted to default 4D Write Pro sections (A4 portrait layout without header or footer). **Nota**: las rupturas de secciones de cualquier tipo pero continuas se convierten en rupturas de sección con rupturas de página. Continuous section breaks are imported as continuous section breaks. |
+| fields | Text | Sólo para documentos MS Word (.docx). Especifica cómo se manejan los campos .docx que no pueden ser convertidos a fórmulas 4D Write Pro. Valores disponibles:
**ignore** \- Los campos .docx son ignorados. **label** \- .docx field references are imported as labels within double curly braces ("{{ }}"). Ej: el campo "ClientName" se importará como {{ClientName}}. **value** (default) - El último valor calculado para el campo .docx (si está disponible) es importado. **Note**: If a .docx field corresponds to a 4D Write Pro variable, the field is imported as a formula and this option is ignored. |
+| borderRules | Text | Sólo para documentos MS Word (.docx). Especifica cómo se gestionan los bordes de los párrafos. Valores disponibles:
**collapse** \- El formato del párrafo se modifica para imitar los bordes colapsados automáticamente. Tenga en cuenta que la propiedad contraída sólo se aplica durante la operación de importación. If a stylesheet with a automatic border collapse setting is reapplied after the import operation, the setting will be ignored. **noCollapse** (por defecto) - No se modifica el formato de los párrafos. |
+| preferredFontScriptType | Text | Sólo para documentos MS Word (.docx). Specifies the preferred typeface to use when different typefaces are defined for a single font property in OOXML. Valores disponibles:
**latin** (por defecto) - script latino **bidi** \- script bidreccional. Adecuado si el documento es principalmente bidireccional de izquierda a derecha (LTR) o de derecha a izquierda (RTL) texto (por ejemplo, árabe o hebreo). **eastAsia** \- East Asian script. Adecuado si el documento es principalmente texto asiático. |
+| htmlExpressions | Text | Sólo para documentos 4D Write (.4w7). Especifica cómo se manejan las expresiones HTML. Available values:
**rawText** \- HTML expressions are imported as raw text within ##htmlBegin## and ##htmlEnd## tags **ignore** (default) - HTML expressions are ignored. |
+| importDisplayMode | Text | Sólo para documentos 4D Write (.4w7). Especifica cómo se gestiona la visualización de imágenes. Available values:
**legacy -** 4W7 image display mode is converted using a background image if different than scaled to fit. **noLegacy** (default) - 4W7 image display mode is converted to the *imageDisplayMode* attribute if different than scaled to fit. |
**Notas de compatibilidad**
-- *Character style sheets in legacy 4D Write documents use a proprietary mechanism, which is not supported by 4D Write Pro. To get the best result for imported text, style sheet attributes are converted to "hard coded" style attributes. Legacy character style sheets are not imported and are no longer referenced in the document.*
+- *Character style sheets in legacy 4D Write documents use a proprietary mechanism, which is not supported by 4D Write Pro. To get the best result for imported text, style sheet attributes are converted to "hard coded" style attributes. Las hojas de estilo de caracteres antiguos no son importadas y ya no están referenciadas en el documento.*
- *Support for importing in .docx format is only certified for Microsoft Word 2010 and newer. Versiones antiguas, especialmente Microsoft Word 2007, pueden no importar correctamente.*
## Ejemplo 1
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/WritePro/managing-formulas.md b/i18n/es/docusaurus-plugin-content-docs/current/WritePro/managing-formulas.md
index a0c8eaf8464807..9b3b514f1617ea 100644
--- a/i18n/es/docusaurus-plugin-content-docs/current/WritePro/managing-formulas.md
+++ b/i18n/es/docusaurus-plugin-content-docs/current/WritePro/managing-formulas.md
@@ -93,7 +93,7 @@ Por ejemplo, para insertar el número de página en el pie de página:
## Table formula context object
-When used in a formula within the table, the **This** keyword gives access to different data according to the context:
+Cuando se utiliza en una fórmula dentro de la tabla, la palabra clave **This** da acceso a diferentes datos según el contexto:
| **Contexto** | **Expression** | **Tipo** | **Devuelve** |
| ---------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------- | ----------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
@@ -104,7 +104,7 @@ When used in a formula within the table, the **This** keyword gives access to di
| | [This](../commands/this.md).tableData | Collection o Entity selection (por lo general) | table.dataSource evaluada |
| In each data row when a table datasource returns a collection or an entity selection | [This](../commands/this.md).item.xxx | Cualquiera | Mapped to each item of the table datasource collection or entity selection, for example **This.item.firstName** if the associated entity has the *firstName* attribute |
| | [This](../commands/this.md).itemIndex | Number | Índice del elemento actual en la colección o selección de entidades, a partir de 0 |
-| In any row (except header rows) when a table datasource returns a collection or an entity selection | [This](../commands/this.md).previousItems | Collection o entity selection | Items displayed on the pages before the bottom carry over row (if any) or before the row of the expression, including the page where is displayed the row containing the expression.
This expression returns the same type of value as the **This.tableData** expression. |
+| In any row (except header rows) when a table datasource returns a collection or an entity selection | [This](../commands/this.md).previousItems | Collection o entity selection | Items displayed on the pages before the bottom carry over row (if any) or before the row of the expression, including the page where is displayed the row containing the expression.
Esta expresión devuelve el mismo tipo de valor que la expresión **This.tableData**. |
| In a break row | [This](../commands/this.md).breakItems | Collection o entity selection | Items of the collection or entity selection displayed in the rows between:
- the current break row and the previous break row of the same level (or the start of the table) if the break row(s) are displayed after the data row.
- the current break and the next break row of the same level (or the end of the table) if the break row(s) are displayed before the data row.
|
En cualquier otro contexto, estas expresiones devolverán *undefined*.
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAI.md b/i18n/es/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAI.md
index 798bbbc6c8e8f8..96e57899400ed5 100644
--- a/i18n/es/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAI.md
+++ b/i18n/es/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAI.md
@@ -5,7 +5,7 @@ title: OpenAI
# OpenAI
-La clase `OpenAI` proporciona un cliente para acceder a varios recursos de la API OpenAI. It includes properties for managing API configurations and methods for performing HTTP requests to the OpenAI endpoints.
+La clase `OpenAI` proporciona un cliente para acceder a varios recursos de la API OpenAI. Incluye propiedades de gestión de las configuraciones API y de los métodos para efectuar las peticiones HTTP a los puntos de terminación de OpenAI.
## Propiedades de configuración
@@ -58,7 +58,7 @@ $client.baseURL:="https://server.ai"
## Recursos API
-The API provides access to multiple resources that allow seamless interaction with OpenAI's services. Each resource is encapsulated within a dedicated API class, offering a structured and intuitive way to interact with different functionalities.
+La API ofrece acceso a múltiples recursos que permiten una interacción perfecta con los servicios de OpenAI. Each resource is encapsulated within a dedicated API class, offering a structured and intuitive way to interact with different functionalities.
| Nombre de la propiedad | Tipo | Descripción |
| ---------------------- | ----------------------------------------------- | ------------------------------------------------ |
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIChatAPI.md b/i18n/es/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIChatAPI.md
index 8b794fda25d429..acf7c8b80ee550 100644
--- a/i18n/es/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIChatAPI.md
+++ b/i18n/es/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIChatAPI.md
@@ -9,10 +9,10 @@ The `OpenAIChatAPI` class provides an interface to interact with OpenAI's chat b
## Propiedades
-| Propiedad | Tipo | Descripción |
-| ------------- | ------------------------------------------------------- | ---------------------------------------------------------------------------------- |
-| `completions` | [OpenAIChatCompletionsAPI](OpenAIChatCompletionsAPI.md) | Una instancia que maneja las solicitudes de finalización del chat. |
-| `vision` | [OpenAIVision](OpenAIVision.md) | A helper instance that handles vision-related requests. |
+| Propiedad | Tipo | Descripción |
+| ------------- | ------------------------------------------------------- | ---------------------------------------------------------------------------------------------- |
+| `completions` | [OpenAIChatCompletionsAPI](OpenAIChatCompletionsAPI.md) | Una instancia que maneja las solicitudes de finalización del chat. |
+| `vision` | [OpenAIVision](OpenAIVision.md) | Una instancia de ayuda que gestiona las peticiones relacionadas con la visión. |
## Function
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIChatCompletionsAPI.md b/i18n/es/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIChatCompletionsAPI.md
index f5d15116434873..4ce850b3b4ecd9 100644
--- a/i18n/es/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIChatCompletionsAPI.md
+++ b/i18n/es/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIChatCompletionsAPI.md
@@ -5,7 +5,7 @@ title: OpenAIChatCompletionsAPI
# OpenAIChatCompletionsAPI
-La clase `OpenAIChatCompletionsAPI` está diseñada para gestionar las finalizaciones de chat con la API OpenAI. It provides methods to create, retrieve, update, delete, and list chat completions.
+La clase `OpenAIChatCompletionsAPI` está diseñada para gestionar las finalizaciones de chat con la API OpenAI. Ofrece métodos para crear, recuperar, actualizar, eliminar y listar respuestas de chat.
https://platform.openai.com/docs/api-reference/chat
@@ -21,7 +21,7 @@ https://platform.openai.com/docs/api-reference/chat
| *parámetros* | [OpenAIChatCompletionsParameters](OpenAIChatCompletionsParameters.md) | Los parámetros para la solicitud de finalización del chat. |
| Resultado | Object | El resultado de la solicitud de finalización del chat. |
-Creates a model response for the given chat conversation.
+Crea un modelo de respuesta para la conversación dada.
https://platform.openai.com/docs/api-reference/chat/create
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIChatCompletionsListParameters.md b/i18n/es/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIChatCompletionsListParameters.md
index 93b8c3e4bee066..7f1a363b63e090 100644
--- a/i18n/es/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIChatCompletionsListParameters.md
+++ b/i18n/es/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIChatCompletionsListParameters.md
@@ -5,7 +5,7 @@ title: OpenAIChatCompletionsListParameters
# OpenAIChatCompletionsListParameters
-This class is used to define parameters for retrieving a list of chat completions from the OpenAI API. Permite personalizar la paginación, ordenar y filtrar los mensajes de chat.
+Esta clase se utiliza para definir los parámetros de recuperación de una lista de terminaciones de chat de la API OpenAI. Permite personalizar la paginación, ordenar y filtrar los mensajes de chat.
## Hereda
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIChatCompletionsMessagesAPI.md b/i18n/es/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIChatCompletionsMessagesAPI.md
index 2502d80c2c15ea..c9624656bfe290 100644
--- a/i18n/es/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIChatCompletionsMessagesAPI.md
+++ b/i18n/es/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIChatCompletionsMessagesAPI.md
@@ -13,11 +13,11 @@ The `OpenAIChatCompletionsMessagesAPI` class is designed to interact with the Op
**list**(*completionID* : Text; *parameters* : OpenAIChatCompletionsMessagesParameters) : Variant
-| Parámetros | Tipo | Descripción |
-| -------------- | ----------------------------------------- | -------------------------------------------------------------------------------- |
-| *completionID* | Text | The ID of the chat completion to retrieve messages for. |
-| *parámetros* | `OpenAIChatCompletionsMessagesParameters` | Parámetros para filtrar y personalizar la respuesta. |
-| Resultado | Variant | Los mensajes recuperados asociados con la finalización del chat. |
+| Parámetros | Tipo | Descripción |
+| -------------- | ----------------------------------------- | ------------------------------------------------------------------------------------- |
+| *completionID* | Text | El ID de la finalización de chat para la cual recuperar los mensajes. |
+| *parámetros* | `OpenAIChatCompletionsMessagesParameters` | Parámetros para filtrar y personalizar la respuesta. |
+| Resultado | Variant | Los mensajes recuperados asociados con la finalización del chat. |
La función `list()` recupera los mensajes asociados a un ID de finalización de chat específico. Lanza un error si `completionID` está vacío. If the *parameters* argument is not an instance of `OpenAIChatCompletionsMessagesParameters`, it will create a new instance using the provided parameters.
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIEmbeddingsAPI.md b/i18n/es/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIEmbeddingsAPI.md
index dabbcc1cee4797..7d99ad8f1204a6 100644
--- a/i18n/es/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIEmbeddingsAPI.md
+++ b/i18n/es/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIEmbeddingsAPI.md
@@ -15,14 +15,14 @@ https://platform.openai.com/docs/api-reference/embeddings
**create**(*input* : Text; *model*: Text; *parameters* : OpenAIEmbeddingsParameters) : OpenAIEmbeddingsResult
-Creates an embeddings for the provided input, model and parameters.
-
-| Argumento | Tipo | Descripción |
-| ------------ | ----------------------------------------------------------- | --------------------------------------------------------------------------------------------- |
-| *entrada* | Texto o colección de texto | La entrada a vectorizar. |
-| *model* | Text | The [model to use](https://platform.openai.com/docs/guides/embeddings#embedding-models) |
-| *parámetros* | [OpenAIEmbeddingsParameters](OpenAIEmbeddingsParameters.md) | Los parámetros para personalizar la petición de representaciones vectoriales. |
-| Resultado | [OpenAIEmbeddingsResult](OpenAIEmbeddingsResult.md) | Las integraciones. |
+Crea una representación vectorial para la entrada, el modelo y los parámetros ofrecidos.
+
+| Argumento | Tipo | Descripción |
+| ------------ | ----------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| *entrada* | Texto o colección de texto | La entrada a vectorizar. |
+| *model* | Text | El [modelo a utilizar] (https://platform.openai.com/docs/guides/embeddings#embedding-models) |
+| *parámetros* | [OpenAIEmbeddingsParameters](OpenAIEmbeddingsParameters.md) | Los parámetros para personalizar la petición de representaciones vectoriales. |
+| Resultado | [OpenAIEmbeddingsResult](OpenAIEmbeddingsResult.md) | Las integraciones. |
#### Ejemplos de uso
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIError.md b/i18n/es/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIError.md
index a1b407b5774618..50c983790a5e75 100644
--- a/i18n/es/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIError.md
+++ b/i18n/es/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIError.md
@@ -41,7 +41,7 @@ La clase `OpenAIError` está diseñada para manejar errores devueltos por la API
| ---------------------------- | ------- | ------------------------------------------------------------------------------------------------- |
| `isBadRequestError` | Boolean | Indica si se trata de un error 400 Bad Request. |
| `isAuthenticationError` | Boolean | Indica si se trata de un error de autenticación 401. |
-| `isPermissionDeniedError` | Boolean | Indicates ∏if the error is a 403 Permission Denied error. |
+| `isPermissionDeniedError` | Boolean | Indica si el error es un error 403 Permiso denegado. |
| `isNotFoundError` | Boolean | Indica si el error es un error 404 Not Found. |
| `isUnprocessableEntityError` | Boolean | Indica si el error es un error de entidad no procesable (422). |
| `isRateLimitError` | Boolean | Indica si el error es un error de límite de velocidad 429. |
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIImage.md b/i18n/es/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIImage.md
index 04c86973e749d1..2917ecf2bf83db 100644
--- a/i18n/es/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIImage.md
+++ b/i18n/es/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIImage.md
@@ -11,11 +11,11 @@ https://platform.openai.com/docs/api-reference/images/object
## Propiedades
-| Propiedad | Tipo | Descripción |
-| ---------------- | ------- | ------------------------------------------------------------------------------------------------------------- |
-| `url` | Text | La URL de la imagen generada, si `response_format` es `url` (por defecto). |
-| `b64_json` | Text | The base64-encoded JSON of the generated image, if `response_format` is `b64_json`. |
-| `revised_prompt` | Variant | The prompt that was used to generate the image, if there was any revision to the prompt. |
+| Propiedad | Tipo | Descripción |
+| ---------------- | ------- | ---------------------------------------------------------------------------------------------------------------- |
+| `url` | Text | La URL de la imagen generada, si `response_format` es `url` (por defecto). |
+| `b64_json` | Text | El JSON codificado en base64 de la imagen generada, si `response_format` es `b64_json`. |
+| `revised_prompt` | Variant | La instrucción que se utilizó para generar la imagen, si hubo alguna revisión de la instrucción. |
## Funciones
@@ -23,9 +23,9 @@ https://platform.openai.com/docs/api-reference/images/object
**asBlob**() : 4D.Blob
-| Parámetros | Tipo | Descripción |
-| ---------- | ----------------------- | ------------------------------------------------------------------------------------------------------ |
-| Resultado | 4D.Blob | Converts the generated image to a blob format based on its URL or base64-encoded JSON. |
+| Parámetros | Tipo | Descripción |
+| ---------- | ----------------------- | ------------------------------------------------------------------------------------------------------------------ |
+| Resultado | 4D.Blob | Convierte la imagen generada a un formato blob basado en su URL o en un JSON codificado en base64. |
#### Ejemplo de Uso
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIMessage.md b/i18n/es/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIMessage.md
index fe0fd70f8dbc2e..217e62d372ad77 100644
--- a/i18n/es/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIMessage.md
+++ b/i18n/es/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIMessage.md
@@ -9,13 +9,13 @@ The `OpenAIMessage` class represents a structured message containing a role, con
## Propiedades
-| Propiedad | Tipo | Descripción |
-| -------------- | ---------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
-| `rol` | Text | The role of the message (e.g., "user", "assistant", "system", "tool"). |
-| `contenido` | Variant | El contenido del mensaje, que puede ser un texto o una colección de objetos. |
-| `user` | Text | An optional property representing the user associated with the message. |
-| `tool_calls` | Collection | A collection of tool calls requested by the assistant. Cada llamada a una herramienta contiene un objeto `id`, `type` y `function`. |
-| `tool_call_id` | Text | El ID de la llamada a la herramienta a la que responde este mensaje (se utiliza cuando `role` es "tool"). |
+| Propiedad | Tipo | Descripción |
+| -------------- | ---------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
+| `rol` | Text | El rol del mensaje (por ejemplo, "user", "assistant", "system", "tool"). |
+| `contenido` | Variant | El contenido del mensaje, que puede ser un texto o una colección de objetos. |
+| `user` | Text | Una propiedad opcional que representa al usuario asociado al mensaje. |
+| `tool_calls` | Collection | Una colección de llamadas de herramientas solicitadas por el asistente. Cada llamada a una herramienta contiene un objeto `id`, `type` y `function`. |
+| `tool_call_id` | Text | El ID de la llamada a la herramienta a la que responde este mensaje (se utiliza cuando `role` es "tool"). |
## Propiedades calculadas
@@ -76,7 +76,7 @@ Cuando reciba un mensaje de llamada de herramienta, debe:
1. **Extraer la información relativa a la función:**
- `function.name`: The name of the function to call (must match a function defined in your [OpenAITool](OpenAITool.md) - you can select code to execute according to this name)
- - `function.arguments`: A JSON string containing the function parameters that must be parsed with `JSON Parse`
+ - `function.arguments`: una cadena JSON que contiene los parámetros de la función que deben analizarse con `JSON Parse`
- `id`: el identificador único para esta llamada específica a la herramienta
2. **Execute the function:**
@@ -103,7 +103,7 @@ var $toolResponse:=cs.AIKit.OpenAIMessage.new({ \
// Add it to the conversation and continue
```
-**Important:** The `tool_call_id` in your response must exactly match the `id` from the original tool call. This allows the AI model to correctly associate your response with the specific function call that was made.
+**Important:** The `tool_call_id` in your response must exactly match the `id` from the original tool call. Esto permite que el modelo de IA asocie correctamente su respuesta con la llamada de función específica que se realizó.
## Ver también
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIModeration.md b/i18n/es/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIModeration.md
index 3c92f30cc3c7c7..1b7928f32cb10a 100644
--- a/i18n/es/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIModeration.md
+++ b/i18n/es/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIModeration.md
@@ -5,7 +5,7 @@ title: OpenAIModeration
# OpenAIModeration
-La clase `OpenAIModeration` está diseñada para manejar los resultados de moderación de la API OpenAI. It contains properties for storing the moderation ID, model used, and the results of the moderation.
+La clase `OpenAIModeration` está diseñada para manejar los resultados de moderación de la API OpenAI. Contiene propiedades para almacenar el ID de moderación, el modelo utilizado y los resultados de la moderación.
https://platform.openai.com/docs/api-reference/moderations/object
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIModerationResult.md b/i18n/es/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIModerationResult.md
index b486c693fb10f3..6ae6717533fd23 100644
--- a/i18n/es/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIModerationResult.md
+++ b/i18n/es/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIModerationResult.md
@@ -5,7 +5,7 @@ title: OpenAIModerationResult
# OpenAIModerationResult
-The `OpenAIModerationResult` provides functionality to handle moderation results from the OpenAI API.
+`OpenAIModerationResult` ofrece funcionalidades para manejar los resultados de moderación de la API OpenAI.
## Hereda
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIParameters.md b/i18n/es/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIParameters.md
index 9f01e306d19db4..9b33b972486a0f 100644
--- a/i18n/es/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIParameters.md
+++ b/i18n/es/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIParameters.md
@@ -19,14 +19,14 @@ Utilice esta propiedad de retrollamada para recibir el resultado independienteme
Use these callback properties for more granular control over success and error handling:
-| Propiedad | Tipo | Descripción |
-| ------------ | --------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------- |
-| `onResponse` | 4D.Function | A function to be called asynchronously when the request finishes **successfully**. Asegúrese de que el proceso actual no termina. |
-| `onError` | 4D.Function | A function to be called asynchronously when the request finishes **with errors**. Asegúrese de que el proceso actual no termina. |
+| Propiedad | Tipo | Descripción |
+| ------------ | --------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| `onResponse` | 4D.Function | Una función a llamar de forma asíncrona cuando la petición finalice **con éxito**. Asegúrese de que el proceso actual no termina. |
+| `onError` | 4D.Function | Una función que se llamará de forma asíncrona cuando la petición finalice **con errores**. Asegúrese de que el proceso actual no termina. |
> The callback function will receive the same result object type (one of [OpenAIResult](./OpenAIResult.md) child classes) that would be returned by the function in synchronous code.
-See [documentation about asynchronous code for examples](../asynchronous-call.md)
+Ver la [documentación sobre código asíncrono para ejemplos](../asynchronous-call.md)
### Propiedades de la red
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIResult.md b/i18n/es/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIResult.md
index a56ffcdcd8d803..ef3e9ad3508ea9 100644
--- a/i18n/es/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIResult.md
+++ b/i18n/es/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIResult.md
@@ -21,13 +21,13 @@ The `OpenAIResult` class is designed to handle the response from HTTP requests a
| `errors` | Collection | Devuelve una colección de errores. Estos podrían ser errores de red o errores devueltos por OpenAI. |
| `terminated` | Boolean | Un booleano que indica si la petición HTTP fue terminada. |
| `headers` | Object | Devuelve los encabezados de respuesta como un objeto. |
-| `rateLimit` | Object | Returns rate limit information from the response headers. |
+| `rateLimit` | Object | Devuelve la información relativa al límite de tasa de los encabezados de la respuesta. |
| `utilización` | Object | Devuelve la información de uso del cuerpo de la respuesta, si existe. |
### rateLimit
-The `rateLimit` property returns an object containing rate limit information from the response headers.
-This information includes the limits, remaining requests, and reset times for both requests and tokens.
+La propiedad `rateLimit` devuelve un objeto que contiene información sobre el límite de velocidad de los encabezados de respuesta.
+Esta información incluye los límites, las peticiones restantes y los tiempos de reinicialización tanto para peticiones como para tokens.
For more details on rate limits and the specific headers used, refer to [the OpenAI Rate Limits Documentation](https://platform.openai.com/docs/guides/rate-limits#rate-limits-in-headers).
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/aikit/compatible-openai.md b/i18n/es/docusaurus-plugin-content-docs/current/aikit/compatible-openai.md
index 5b5e136edec480..ca4d836251504a 100644
--- a/i18n/es/docusaurus-plugin-content-docs/current/aikit/compatible-openai.md
+++ b/i18n/es/docusaurus-plugin-content-docs/current/aikit/compatible-openai.md
@@ -5,7 +5,7 @@ title: Proveedores
# Proveedores
-Many AI providers propose an OpenAI-like API, so you can use this project to connect to them.
+Muchos proveedores de IA proponen una API similar a la de OpenAI, así que puede utilizar este proyecto para conectarse a ellos.
Para ello sólo tiene que definir la `baseURL` a la del proveedor y utilizar su clave api si es necesario.
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/code-editor/write-class-method.md b/i18n/es/docusaurus-plugin-content-docs/current/code-editor/write-class-method.md
index 1fe91c02d0a301..15db7ba0a2435f 100644
--- a/i18n/es/docusaurus-plugin-content-docs/current/code-editor/write-class-method.md
+++ b/i18n/es/docusaurus-plugin-content-docs/current/code-editor/write-class-method.md
@@ -803,7 +803,7 @@ La etiqueta `` permite generar y utilizar macrocomandos que ejecutan mé
El código de un método llamado se ejecuta en un nuevo proceso. Este proceso se cierra una vez se ejecuta el método.
-> Note: The structure process remains frozen until the called method execution is completed. Debe asegurarse de que la ejecución es rápida y de que no hay riesgo de que bloquee la aplicación. If this occurs, use the **Ctrl+F8** (Windows) or **Command+F8** (macOS) command to "kill" the process.
+> Note: The structure process remains frozen until the called method execution is completed. Debe asegurarse de que la ejecución es rápida y de que no hay riesgo de que bloquee la aplicación. Si esto ocurre, utilice el comando **Ctrl+F8** (Windows) o **Comando+F8** (macOS) para "matar" el proceso.
### Llamando macros
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/commands/call-chain.md b/i18n/es/docusaurus-plugin-content-docs/current/commands/call-chain.md
index 71416c9f2cbcc3..fdbd960b6e8acd 100644
--- a/i18n/es/docusaurus-plugin-content-docs/current/commands/call-chain.md
+++ b/i18n/es/docusaurus-plugin-content-docs/current/commands/call-chain.md
@@ -25,14 +25,14 @@ displayed_sidebar: docs
## Descripción
-The **Call chain** command returns a collection of objects describing each step of the method call chain within the current process. Ofrece la misma información que la ventana Depurador. It has the added benefit of being able to be executed from any 4D environment, including compiled mode.
+The **Call chain** command returns a collection of objects describing each step of the method call chain within the current process. Ofrece la misma información que la ventana Depurador. Tiene la ventaja adicional de poder ser ejecutado desde cualquier entorno 4D, incluyendo el modo compilado.
The command facilitates debugging by enabling the identification of the method or formula called, the component that called it, and the line number where the call was made. Cada objeto de la colección devuelta contiene las siguientes propiedades:
| **Propiedad** | **Tipo** | **Description** | **Ejemplo** |
| ------------- | ----------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------- |
| database | Text | Name of the database calling the method (to distinguish host methods and component methods) | "database":"contactInfo" |
-| formula | Text (si lo hay) | Contents of the current line of code at the current level of the call chain (raw text). Corresponde al contenido de la línea referenciada por la propiedad `line` en el archivo fuente indicado por el método. Si el código fuente no está disponible, la propiedad `formula` se omite (Undefined). | "var $stack:=Call chain" |
+| formula | Text (si lo hay) | Contenido de la línea actual de código en el nivel actual de la cadena de llamadas (texto bruto). Corresponde al contenido de la línea referenciada por la propiedad `line` en el archivo fuente indicado por el método. Si el código fuente no está disponible, la propiedad `formula` se omite (Undefined). | "var $stack:=Call chain" |
| línea | Integer | Número de línea de llamada al método | "line":6 |
| name | Text | Nombre del método llamado | "name":"On Load" |
| type | Text | Type of the method: "projectMethod""formObjectMethod""formmethod""databaseMethod""triggerMethod""executeOnServer" (when calling a project method with the *Execute on Server attribute*) "executeFormula" (when executing a formula via [PROCESS 4D TAGS](../commands-legacy/process-4d-tags.md) or the evaluation of a formula in a 4D Write Pro document)"classFunction""formMethod" | "type":"formMethod" |
@@ -45,7 +45,7 @@ Para que este comando pueda operar en modo compilado, la [verificación de rango
## Ejemplo
-The following code returns a collection of objects containing information about the method call chain:
+El siguiente código devuelve una colección de objetos que contienen información acerca de la cadena de llamadas de métodos:
```4d
var $currentCallChain : Collection
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/commands/command-name.md b/i18n/es/docusaurus-plugin-content-docs/current/commands/command-name.md
index 015524764df850..67339d42612c4b 100644
--- a/i18n/es/docusaurus-plugin-content-docs/current/commands/command-name.md
+++ b/i18n/es/docusaurus-plugin-content-docs/current/commands/command-name.md
@@ -36,7 +36,7 @@ Hay dos parámetros opcionales:
- *info*: propiedades del comando. The returned value is a *bit field*, where the following bits are meaningful:
- Primer bit (bit 0): definido en 1 si el comando es [**hilo-seguro**](../Develop/preemptive.md#thread-safe-vs-thread-unsafe-code) (es decir, compatible con la ejecución en un proceso apropiativo) y 0 si es **hilo-inseguro**. Only thread-safe commands can be used in [preemptive processes](../Develop/preemptive.md).
- - Second bit (bit 1): set to 1 if the command is **deprecated**, and 0 if it is not. A deprecated command will continue to work normally as long as it is supported, but should be replaced whenever possible and must no longer be used in new code. Los comandos obsoletos en su código generan advertencias en el [Live Checker y el compilador](../code-editor/write-class-method.md#warnings-and-errors).
+ - Segundo bit (bit 1): se define en 1 si el comando es **obsoleto**, y en 0 si no lo es. A deprecated command will continue to work normally as long as it is supported, but should be replaced whenever possible and must no longer be used in new code. Los comandos obsoletos en su código generan advertencias en el [Live Checker y el compilador](../code-editor/write-class-method.md#warnings-and-errors).
*theme*: nombre del tema del lenguaje 4D para el comando.
@@ -80,9 +80,9 @@ En un formulario, quiere una lista desplegable con los comandos básicos de info
End case
```
-In the English version of 4D, the drop-down list will read: Sum, Average, Min, and Max. In the French version\*, the drop-down list will read: Somme, Moyenne, Min, and Max.
+En la versión inglesa de 4D, la lista desplegable leerá: Sum, Average, Min y Max. In the French version\*, the drop-down list will read: Somme, Moyenne, Min, and Max.
-\*with a 4D application configured to use the French programming language (see compatibility note)
+\*con una aplicación 4D configurada para usar el lenguaje de programación en francés (ver nota de compatibilidad)
## Ejemplo 3
@@ -110,7 +110,7 @@ Luego, para el comando "SAVE RECORD" (53) por ejemplo, puede escribir:
## Ejemplo 4
-You want to return a collection of all deprecated commands in your version of 4D.
+Quiere devolver una colección de todos los comandos obsoletos en su versión de 4D.
```4d
var $info; $Lon_id : Integer
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/commands/create-deployment-license.md b/i18n/es/docusaurus-plugin-content-docs/current/commands/create-deployment-license.md
index 57ffea72a3cfe9..a943e2ddaadfc1 100644
--- a/i18n/es/docusaurus-plugin-content-docs/current/commands/create-deployment-license.md
+++ b/i18n/es/docusaurus-plugin-content-docs/current/commands/create-deployment-license.md
@@ -112,7 +112,7 @@ Designar una licencia de uso:
## Ver también
-[Blog post - Build an application with 4D commands](https://blog.4d.com/build-an-application-with-4d-commands)
+[Post de blog - Crear una aplicación con los comandos 4D](https://blog.4d.com/build-an-application-with-4d-commands)
## Propiedades
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/commands/listbox-get-property.md b/i18n/es/docusaurus-plugin-content-docs/current/commands/listbox-get-property.md
index 1950ec74b81673..e0fe65323178a0 100644
--- a/i18n/es/docusaurus-plugin-content-docs/current/commands/listbox-get-property.md
+++ b/i18n/es/docusaurus-plugin-content-docs/current/commands/listbox-get-property.md
@@ -85,7 +85,7 @@ Dado un list box "MyListbox", si ejecuta la siguiente instrucción:
$Value:=LISTBOX Get property(*; "MyListbox";lk selection mode) // el valor devuelto indica el modo de selección
```
-In this case, the result returned indicates whether multiple rows can be selected.
+En este caso, el resultado devuelto indica si varios registros pueden ser seleccionados.
## Ejemplo 2
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/commands/listbox-set-property.md b/i18n/es/docusaurus-plugin-content-docs/current/commands/listbox-set-property.md
index bad06c1b5092c0..d6641157210542 100644
--- a/i18n/es/docusaurus-plugin-content-docs/current/commands/listbox-set-property.md
+++ b/i18n/es/docusaurus-plugin-content-docs/current/commands/listbox-set-property.md
@@ -25,7 +25,7 @@ Si pasa el parámetro opcional *\**, indica que el parámetro *object* es un nom
**Note:** If the list box or list box column specified using the *object* and *\** parameters does not exist, the command does nothing and no error is triggered.
-In the *property* and *value* parameters, you indicate, respectively, the property to set and its new value. Puede utilizar las siguientes constantes encontradas en el tema “*List Box*:
+En los parámetros *property* y *value*, usted indica, respectivamente, la propiedad a definir y su nuevo valor. Puede utilizar las siguientes constantes encontradas en el tema “*List Box*:
| Constante | Valor | Comentario |
| ------------------------------ | ----- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
@@ -69,7 +69,7 @@ In the *property* and *value* parameters, you indicate, respectively, the proper
## Ejemplo 1
-You want to make all columns of the "MyListbox" list box resizable:
+Quiere que todas las columnas del list box "MyListbox" sean redimensionables:
```4d
LISTBOX SET PROPERTY(*;"MyListbox";lk column resizable;lk yes) //Todas las columnas del list box "MyListbox" se establecen como redimensionables
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/commands/new-log-file.md b/i18n/es/docusaurus-plugin-content-docs/current/commands/new-log-file.md
index dc7638f769dbd6..a3a706e3623201 100644
--- a/i18n/es/docusaurus-plugin-content-docs/current/commands/new-log-file.md
+++ b/i18n/es/docusaurus-plugin-content-docs/current/commands/new-log-file.md
@@ -20,12 +20,12 @@ displayed_sidebar: docs
The **New log file** command closes the current log file, renames it and creates a new one with the same name in the same location as the previous one. This command is meant to be used for setting up a backup system using a logical mirror (see the section *Setting up a logical mirror* in the [4D Server Reference Manual](https://doc/4d.com)).
-The command returns the full pathname (access path + name) of the log file being closed (called the “segment”). Este archivo se almacena en la misma ubicación que el archivo de registro actual (especificado en la [página de configuración](../Backup/settings.md#configuration) en el tema de copia de seguridad de la configuración). The command does not carry out any processing (compression, segmentation) on the saved file. No aparece ninguna
+El comando devuelve el nombre completo de la ruta (ruta de acceso + nombre) del archivo de registro que se está cerrando (llamado “segment”). Este archivo se almacena en la misma ubicación que el archivo de registro actual (especificado en la [página de configuración](../Backup/settings.md#configuration) en el tema de copia de seguridad de la configuración). El comando no realiza ningún procesamiento (compresión, segmentación) en el archivo guardado. No aparece ninguna
caja de diálogo.
The file is renamed with the current backup numbers of the database and of the log file, as shown in the following example: DatabaseName\[BackupNum-LogBackupNum\].journal. Por ejemplo:
-- If the MyDatabase.4DD database has been saved 4 times, the last backup file will be named MyDatabase\[0004\].4BK. The name of the first “segment” of the log file will therefore be MyDatabase\[0004-0001\].journal.
+- If the MyDatabase.4DD database has been saved 4 times, the last backup file will be named MyDatabase\[0004\].4BK. El nombre del primer “segment” del archivo de registro será, por lo tanto, MyDatabase\[0004-0001\].journal.
- If the MyDatabase.4DD database has been saved 3 times and the log file has been saved 5 times since, the name of the 6th backup of the log file will be MyDatabase\[0003-0006\].journal.
:::warning
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/commands/select-log-file.md b/i18n/es/docusaurus-plugin-content-docs/current/commands/select-log-file.md
index 4645679308f3d1..05b28a5eb1d550 100644
--- a/i18n/es/docusaurus-plugin-content-docs/current/commands/select-log-file.md
+++ b/i18n/es/docusaurus-plugin-content-docs/current/commands/select-log-file.md
@@ -17,11 +17,11 @@ displayed_sidebar: docs
## Descripción
-The **SELECT LOG FILE** command creates, or closes the log file according to the value you pass in parameter.
+El comando **SELECT LOG FILE** crea o cierra el archivo de historial de acuerdo al valor que pase en el parámetro.
-In *logFile*, pass the name or the full pathname of the log file to be created. If you only pass a name, the file will be created in the "Logs" folder of the database located next to the database structure file.
+En *logFile*, pase el nombre o la ruta completa del archivo de registro a ser creado. If you only pass a name, the file will be created in the "Logs" folder of the database located next to the database structure file.
-If you pass an empty string in *logFile*, **SELECT LOG FILE** presents an Save File dialog box, allowing the user to choose the name and location of the log file to be created. Si el archivo se crea correctamente, la variable OK toma el valor 1. Otherwise, if the user clicks Cancel or if the log file could not be created, OK is set to 0.
+If you pass an empty string in *logFile*, **SELECT LOG FILE** presents an Save File dialog box, allowing the user to choose the name and location of the log file to be created. Si el archivo se crea correctamente, la variable OK toma el valor 1. De lo contrario, si el usuario hace clic en Cancelar o si el archivo de registro no pudo ser creado, OK toma el valor 0.
**Note:** The new log file is not generated immediately after execution of the command, but after the next backup (the parameter is kept in the data file and will be taken into account even if the database is closed in the meantime) or a call to the [New log file](new-log-file.md) command. Puede llamar al comando [BACKUP](../commands-legacy/backup.md) para activar la creación del archivo de registro.
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/commands/string.md b/i18n/es/docusaurus-plugin-content-docs/current/commands/string.md
index 18740b9b6c98e9..cd80fd800c2ca9 100644
--- a/i18n/es/docusaurus-plugin-content-docs/current/commands/string.md
+++ b/i18n/es/docusaurus-plugin-content-docs/current/commands/string.md
@@ -31,7 +31,7 @@ displayed_sidebar: docs
El comando **String** devuelve en forma de cadena alfanumérica la expresión numérica, fecha, hora, cadena o booleana que se pasa en *expression*.
-If you do not pass any other parameter, the string is returned with the appropriate default format. Si pasa *format*, puede forzar que la cadena resultante tenga un formato específico.
+Si no pasa ningún otro parámetro, la cadena se devuelve con el formato apropiado por defecto. Si pasa *format*, puede forzar que la cadena resultante tenga un formato específico.
El parámetro opcional *addTime* añade una hora a una fecha en un formato combinado. Sólo puede utilizarse cuando el parámetro *expression* es una fecha (ver abajo).
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/commands/trim.md b/i18n/es/docusaurus-plugin-content-docs/current/commands/trim.md
index 5cb9ac27fad57e..44a293403f43d9 100644
--- a/i18n/es/docusaurus-plugin-content-docs/current/commands/trim.md
+++ b/i18n/es/docusaurus-plugin-content-docs/current/commands/trim.md
@@ -31,7 +31,7 @@ To return a new string with whitespace trimmed from just one end, use [`Trim sta
En el parámetro *aString*, puede pasar cualquier expresión de tipo texto. Será dejado sin tocar por el comando.
-El comando devuelve la versión recortada de la cadena *aString*. If there is no whitespace at any end of *aString*, the returned string is identical as the one passed in parameter.
+El comando devuelve la versión recortada de la cadena *aString*. Si no hay espacios en blanco en ningún extremo de *aString*, la cadena devuelta es idéntica a la pasada como parámetro.
:::note
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/commands/wa-get-context.md b/i18n/es/docusaurus-plugin-content-docs/current/commands/wa-get-context.md
index 98329331b077f7..366311d7124bd5 100644
--- a/i18n/es/docusaurus-plugin-content-docs/current/commands/wa-get-context.md
+++ b/i18n/es/docusaurus-plugin-content-docs/current/commands/wa-get-context.md
@@ -18,7 +18,7 @@ displayed_sidebar: docs
### Descripción
-El comando `WA Get context` recupera el objeto de contexto definido para `$4d` en el área Web designada por los parámetros \* y *object* utilizando [`WA SET CONTEXT`](./wa-set-context.md). If `WA SET CONTEXT` was not called for the web area the command returns `null`.
+El comando `WA Get context` recupera el objeto de contexto definido para `$4d` en el área Web designada por los parámetros \* y *object* utilizando [`WA SET CONTEXT`](./wa-set-context.md). Si `WA SET CONTEXT` no fue llamado para el área web, el comando devuelve `null`.
:::note
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/settings/client-server.md b/i18n/es/docusaurus-plugin-content-docs/current/settings/client-server.md
index b03e5465634991..a2115ea9a211c6 100644
--- a/i18n/es/docusaurus-plugin-content-docs/current/settings/client-server.md
+++ b/i18n/es/docusaurus-plugin-content-docs/current/settings/client-server.md
@@ -92,7 +92,7 @@ En caso de modificación, deberá reiniciar la aplicación para que se tenga en
:::note
-This option is not available when the [QUIC](#network-layer) network layer is selected.
+Esta opción no está disponible cuando se selecciona la capa de red [QUIC](#network-layer).
:::
@@ -110,7 +110,7 @@ Cuando esta opción está marcada, todas las máquinas remotas 4D que se conecta
:::note
-This option is not available when the [QUIC](#network-layer) network layer option is selected.
+Esta opción no está disponible cuando se selecciona la opción capa de red [QUIC](#network-layer).
:::
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/settings/web.md b/i18n/es/docusaurus-plugin-content-docs/current/settings/web.md
index 052d2beaf51c2c..d827ba37fa6121 100644
--- a/i18n/es/docusaurus-plugin-content-docs/current/settings/web.md
+++ b/i18n/es/docusaurus-plugin-content-docs/current/settings/web.md
@@ -124,7 +124,7 @@ Define el sistema de autenticación que desea aplicar a su servidor web. Se prop
- Contraseñas con protocolo BASIC
- Contraseñas con protocolo DIGEST
-Se recomienda utilizar la autenticación **personalizada**. See [**Authentication**](../WebServer/authentication.md) section.
+Se recomienda utilizar la autenticación **personalizada**. Ver la sección[**autenticación**](../WebServer/authentication.md).
#### Generic Web User
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-19/API/CollectionClass.md b/i18n/es/docusaurus-plugin-content-docs/version-19/API/CollectionClass.md
index 06e3a6417575d3..b15f5e0bde777c 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-19/API/CollectionClass.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-19/API/CollectionClass.md
@@ -2519,7 +2519,7 @@ Con el siguiente método *NumberGreaterThan0*:
La función `.orderBy()` ordena los elementos de la colección original y también devuelve la colección ordenada.
> Esta función modifica la colección original.
-Si se llama a `.sort()` sin parámetros, sólo se ordenan los valores escalares (número, texto, fecha, booleanos). Los elementos se ordenan por defecto de forma ascendente, según su tipo. You can also pass one of the following constants in the *ascOrDesc* parameter:
+Si se llama a `.sort()` sin parámetros, sólo se ordenan los valores escalares (número, texto, fecha, booleanos). Los elementos se ordenan por defecto de forma ascendente, según su tipo. También puede pasar una de las siguientes constantes en el parámetro *ascOrDesc*:
|Constant| Type|Value|Comment|
|---|---|---|---|
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/API/CollectionClass.md b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/API/CollectionClass.md
index de25918e361018..b19fb72882385a 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/API/CollectionClass.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/API/CollectionClass.md
@@ -3169,7 +3169,7 @@ La función `.sort()` ordena los elemento
> Esta función modifica la colección original.
Si se llama a `.sort()` sin parámetros, sólo se ordenan los valores escalares (número, texto, fecha, booleanos). Los elementos se ordenan por defecto de forma ascendente, según su tipo.
-You can also pass one of the following constants in the *ascOrDesc* parameter:
+También puede pasar una de las siguientes constantes en el parámetro *ascOrDesc*:
```
|Constant| Type|Value|Comment|
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/API/CryptoKeyClass.md b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/API/CryptoKeyClass.md
index 165d71999ad19e..0dcbda2559aa1c 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/API/CryptoKeyClass.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/API/CryptoKeyClass.md
@@ -54,12 +54,12 @@ La función `4D.CryptoKey.new()` crea un
#### *settings*
-| Propiedad | Tipo | Descripción |
-| --------------- | ------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
-| [type](#type) | text | Defines the type of the key to create: "RSA": generates a RSA key pair, using [.size](#size) as size."ECDSA": generates an Elliptic Curve Digital Signature Algorithm key pair, using [.curve](#curve) as curve. Tenga en cuenta que las llaves ECDSA no pueden utilizarse para el cifrado, sino solo para la firma."PEM": loads a key pair definition in PEM format, using [.pem](#pem). |
-| [curve](#curve) | text | Nombre de la curva ECDSA |
-| [pem](#pem) | text | Definición PEM de una llave de cifrado a cargar |
-| [size](#size) | integer | Tamaño de la llave RSA en bits |
+| Propiedad | Tipo | Descripción |
+| --------------- | ------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| [type](#type) | text | Define el tipo de llave a crear: "RSA": genera un par de llaves RSA, utilizando [.size](#size) como tamaño."ECDSA": genera un par de llaves Elliptic Curve Digital Signature Algorithm, utilizando [.curve](#curve) como curva. Tenga en cuenta que las llaves ECDSA no pueden utilizarse para el cifrado, sino solo para la firma."PEM": carga una definición de par de llaves en formato PEM, utilizando [.pem](#pem). |
+| [curve](#curve) | text | Nombre de la curva ECDSA |
+| [pem](#pem) | text | Definición PEM de una llave de cifrado a cargar |
+| [size](#size) | integer | Tamaño de la llave RSA en bits |
#### *CryptoKey*
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/API/EntityClass.md b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/API/EntityClass.md
index 36b6aaf3f75cb6..91d6bb80d4d4f3 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/API/EntityClass.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/API/EntityClass.md
@@ -397,7 +397,7 @@ El objeto devuelto por `.drop()` contiene las siguientes propiedades:
| `dk status entity does not exist anymore` | 5 | La entidad ya no existe en los datos. Este error puede ocurrir en los siguientes casos:
la entidad ha sido eliminada (el marcador ha cambiado y ahora el espacio de memoria está libre)la entidad ha sido eliminada y reemplazada por otra con otra clave primaria (el marcador ha cambiado y una nueva entidad ahora utiliza el espacio memoria). Cuando se utiliza entity.drop( ), este error puede ser devuelto cuando se utiliza la opción dk force drop if stamp changed. Cuando se utiliza entity.lock(), se puede devolver este error cuando la opción dk reload if stamp changed es utilizada **statusText asociado**: "Entity does not exist anymore" |
| `dk status locked` | 3 | La entidad está bloqueada por un bloqueo pesimista.
**statusText asociado**: "Already locked" |
| `dk status serious error` | 4 | A serious error is a low-level database error (e.g. duplicated key), a hardware error, etc.
**statusText asociado**\*: "Other error" |
-| `dk status stamp has changed` | 2 | The internal stamp value of the entity does not match the one of the entity stored in the data (optimistic lock).
with `.save( )`: error only if the `dk auto merge` option is not usedwith `.drop( )`: error only if the `dk force drop if stamp changed` option is not usedwith `.lock()`: error only if the `dk reload if stamp changed` option is not used**Associated statusText**: "Stamp has changed" |
+| `dk status stamp has changed` | 2 | El valor del marcador interno (stamp) de la entidad no coincide con el de la entidad almacenada en los datos (bloqueo optimista).
with `.save( )`: error only if the `dk auto merge` option is not usedwith `.drop( )`: error only if the `dk force drop if stamp changed` option is not usedwith `.lock()`: error only if the `dk reload if stamp changed` option is not used**Associated statusText**: "Stamp has changed" |
| `dk status wrong permission` | 1 | Los privilegios actuales no permiten suprimir la entidad. **Associated statusText**: "Permission Error" |
#### Ejemplo 1
@@ -1017,7 +1017,7 @@ El objeto devuelto por `.lock()` contiene las siguientes propiedades:
| `dk status entity does not exist anymore` | 5 | La entidad ya no existe en los datos. Este error puede ocurrir en los siguientes casos:
la entidad ha sido eliminada (el marcador ha cambiado y ahora el espacio de memoria está libre)la entidad ha sido eliminada y reemplazada por otra con otra clave primaria (el marcador ha cambiado y una nueva entidad ahora utiliza el espacio memoria). Cuando se utiliza `.drop( )`, este error puede devolverse cuando se utiliza la opción `dk force drop if stamp changed`. Cuando se utiliza `.lock()`, este error puede ser devuelto cuando se utiliza la opción `dk reload if stamp changed`
**statusText asociado**: "Entity does not exist anymore" |
| `dk status locked` | 3 | La entidad está bloqueada por un bloqueo pesimista. **statusText asociado**: "Already locked" |
| `dk status serious error` | 4 | Un error grave es un error de base de datos de bajo nivel (por ejemplo, una llave duplicada), un error de hardware, etc.
**statusText asociado**: "Other error" |
-| `dk status stamp has changed` | 2 | The internal stamp value of the entity does not match the one of the entity stored in the data (optimistic lock).with `.save( )`: error only if the `dk auto merge` option is not usedwith `.drop( )`: error only if the `dk force drop if stamp changed` option is not usedwith `.lock()`: error only if the `dk reload if stamp changed` option is not used
**Associated statusText**: "Stamp has changed" |
+| `dk status stamp has changed` | 2 | El valor del sello interno de la entidad no coincide con el de la entidad almacenada en los datos (bloqueo optimista).with `.save( )`: error only if the `dk auto merge` option is not usedwith `.drop( )`: error only if the `dk force drop if stamp changed` option is not usedwith `.lock()`: error only if the `dk reload if stamp changed` option is not used
**Associated statusText**: "Stamp has changed" |
#### Ejemplo 1
@@ -1279,7 +1279,7 @@ Los siguientes valores pueden ser devueltos en las propiedades `status`y `status
| `dk status entity does not exist anymore` | 5 | La entidad ya no existe en los datos. Este error puede ocurrir en los siguientes casos:
la entidad ha sido eliminada (el marcador ha cambiado y ahora el espacio de memoria está libre)la entidad ha sido eliminada y reemplazada por otra con otra clave primaria (el marcador ha cambiado y una nueva entidad ahora utiliza el espacio memoria). the entity has been dropped and replaced by another one with another primary key (the stamp has changed and a new entity now uses the memory space). Cuando se utiliza `.lock()`, este error puede ser devuelto cuando se utiliza la opción `dk reload if stamp changed`
**statusText asociado**: "Entity does not exist anymore" |
| `dk status locked` | 3 | La entidad está bloqueada por un bloqueo pesimista. **statusText asociado**: "Already locked" |
| `dk status serious error` | 4 | Un error grave es un error de base de datos de bajo nivel (por ejemplo, una llave duplicada), un error de hardware, etc.
**statusText asociado**: "Other error" |
-| `dk status stamp has changed` | 2 | The internal stamp value of the entity does not match the one of the entity stored in the data (optimistic lock).
with `.save( )`: error only if the `dk auto merge` option is not usedwith `.drop( )`: error only if the `dk force drop if stamp changed` option is not usedwith `.lock()`: error only if the `dk reload if stamp changed` option is not used
**Associated statusText**: "Stamp has changed" |
+| `dk status stamp has changed` | 2 | El valor del marcador interno (stamp) de la entidad no coincide con el de la entidad almacenada en los datos (bloqueo optimista).
with `.save( )`: error only if the `dk auto merge` option is not usedwith `.drop( )`: error only if the `dk force drop if stamp changed` option is not usedwith `.lock()`: error only if the `dk reload if stamp changed` option is not used
**Associated statusText**: "Stamp has changed" |
| `dk status wrong permission` | 1 | Los privilegios actuales no permiten guardar la entidad. **Associated statusText**: "Permission Error" |
#### Ejemplo 1
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/API/IMAPTransporterClass.md b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/API/IMAPTransporterClass.md
index 05be142672c1db..00fb9eee94ee8e 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/API/IMAPTransporterClass.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/API/IMAPTransporterClass.md
@@ -791,16 +791,16 @@ En el parámetro opcional `parameters`, pase un objeto que contenga valores para
Cada objeto de la colección devuelta contiene las siguientes propiedades:
-| Propiedad | Tipo | Descripción |
-| ------------------------------------------------------------------------------------ | ------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
-| \[].name | Text | Nombre del buzón. Devuelto si withBoxProperties=true o withBoxInfo=true |
-| \[].selectable | Boolean | Indica si los derechos de acceso permiten o no seleccionar el buzón de correo: - true - el buzón puede ser seleccionado
- false - el buzón de correo no puede ser seleccionado
Devuelto si withBoxProperties=true |
-| \[].inferior | Boolean | Indica si los derechos de acceso permiten o no crear una jerarquía inferior en el buzón: - true - se puede crear un nivel inferior
- false - no se puede crear un nivel inferior
Se devuelve si withBoxProperties=true |
-| \[].interesting | Boolean | Indica si el buzón ha sido marcado como "interesante" por el servidor: - true - El buzón ha sido marcado como "interesante" por el servidor. Por ejemplo, puede contener mensajes nuevos.
- false - The mailbox has not been marked "interesting" by the server.
Se devuelve si withBoxProperties=true |
-| [].mailCount | Number | Número de mensajes en el buzón. Devuelto si withBoxInfo=true |
-| [].mailRecent | Number | Número de mensajes marcados como "recent" (indicando nuevos mensajes). Devuelto si withBoxInfo=true |
-| [].mailUnseen | Number | Número de mensajes marcados como "unseen". Devuelto si withBoxInfo=true |
-| [].id | Text | Identificador único del buzón. Devuelto si withBoxInfo=true |
+| Propiedad | Tipo | Descripción |
+| ------------------------------------------------------------------------------------ | ------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| \[].name | Text | Nombre del buzón. Devuelto si withBoxProperties=true o withBoxInfo=true |
+| \[].selectable | Boolean | Indica si los derechos de acceso permiten o no seleccionar el buzón de correo: - true - el buzón puede ser seleccionado
- false - el buzón de correo no puede ser seleccionado
Devuelto si withBoxProperties=true |
+| \[].inferior | Boolean | Indica si los derechos de acceso permiten o no crear una jerarquía inferior en el buzón: - true - se puede crear un nivel inferior
- false - no se puede crear un nivel inferior
Se devuelve si withBoxProperties=true |
+| \[].interesting | Boolean | Indica si el buzón ha sido marcado como "interesante" por el servidor: - true - El buzón ha sido marcado como "interesante" por el servidor. Por ejemplo, puede contener mensajes nuevos.
- false - El buzón no ha sido marcado como "interesante" por el servidor.
Se devuelve si withBoxProperties=true |
+| [].mailCount | Number | Número de mensajes en el buzón. Devuelto si withBoxInfo=true |
+| [].mailRecent | Number | Número de mensajes marcados como "recent" (indicando nuevos mensajes). Devuelto si withBoxInfo=true |
+| [].mailUnseen | Number | Número de mensajes marcados como "unseen". Devuelto si withBoxInfo=true |
+| [].id | Text | Identificador único del buzón. Devuelto si withBoxInfo=true |
Si la cuenta no contiene buzones, se devuelve una colección vacía.
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/Admin/cli.md b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/Admin/cli.md
index 629c6c21a7223c..cc30a3dc01b1af 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/Admin/cli.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/Admin/cli.md
@@ -44,25 +44,25 @@ Sintaxis:
[--utility] [--skip-onstartup] [--startup-method ]
```
-| Argumento | Valor | Descripción |
-| :-------------------------- | -------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
-| `applicationPath` | Ruta de 4D, 4D Server, aplicación fusionada o tool4d | Lanza la aplicación.
If not headless: identical to double-clicking the application; when called without structure file argument, the application is executed and the 'select database' dialog box appears. |
-| `--version` | | Muestra la versión de la aplicación y sale |
-| `--help` | | Muestra el mensaje de ayuda y sale. Argumentos
alternativos: -?, -h |
-| `--project` | projectPath
| packagePath | 4dlinkPath | Archivo de proyecto
a abrir con el archivo de datos actual. No aparece ninguna
caja de diálogo. |
-| `--data` | dataPath | Archivo de datos a
abrir con el archivo de proyecto designado. Si no se especifica, se utiliza el último archivo de datos
abierto. |
-| `--opening-mode` | interpreted
| compiled | Base de datos de
peticiones a abrir en modo interpretado o compilado. No se lanza ningún
error si el modo solicitado no está disponible. |
-| `--create-data` | | Crea automáticamente
un nuevo archivo de datos si no se encuentra un archivo de datos válido. No aparece ninguna
caja de diálogo. 4D utiliza el nombre
del archivo pasado en el argumento "--data" si lo hay (genera un error si ya
existe un archivo con el mismo nombre). |
-| `--user-param` | Cadena usuario
personalizada | Una cadena que estará disponible en la aplicación a través del comando [`Get database parameter`](../commands-legacy/get-database-parameter.md) (la cadena no debe comenzar por un carácter "-", que está reservado). |
-| `--headless` | | Lanza 4D, 4D Server o la aplicación fusionada sin interfaz (modo headless). En este modo: El modo Diseño no está disponible, la base de datos se inicia en modo Aplicación No se muestra la barra de herramientas, la barra de menú, la ventana MDI ni la pantalla de presentaciónNo se muestra ningún icono en el dock o la barra de tareasLa base de datos abierta no se registra en el menú "Bases de datos recientes"Se inicia automáticamente el registro de diagnóstico (ver [SET DATABASE PARAMETER](../commands-legacy/set-database-parameter.md), selector 79)Se intercepta cada llamada a una caja de diálogo y se suministra una respuesta automática (por ejemplo, OK para el comando [ALERT](../commands-legacy/alert.md), Abort para un diálogo de error...). All intercepted commands(\*) are logged in the diagnostic log.
For maintenance needs, you can send any text to standard output streams using the [LOG EVENT](../commands-legacy/log-event.md) command. Tenga en cuenta que las aplicaciones 4D sin interfaz sólo pueden cerrarse mediante una llamada a [QUIT 4D](../commands-legacy/quit-4d.md) o utilizando el administrador de tareas del sistema operativo. |
-| `--dataless` | | Lanza 4D, 4D Server, la aplicación fusionada o tool4d en modo sin datos. El modo sin datos es útil cuando 4D ejecuta tareas sin necesidad de datos (compilación de proyectos, por ejemplo). In this mode: No file containing data is opened, even if specified in the command line or the `.4DLink` file, or when using the `CREATE DATA FILE` and `OPEN DATA FILE` commands.Los comandos que manipulan datos arrojarán un error. Por ejemplo, `CREATE RECORD` lanza "no hay tabla a la que aplicar el comando".
**Nota**:si se pasa en la línea de comando, el modo dataless se aplica a todas las bases de datos abiertas en 4D, mientras no se cierre la aplicación.Si se pasa utilizando el archivo `.4DLink`, el modo dataless sólo se aplica a la base de datos especificada en el archivo `.4DLink`. Para más información sobre los archivos `.4DLink`, ver [Atajos para abrir proyectos](../GettingStarted/creating.md#project-opening-shortcuts). |
-| `--webadmin-settings-file` | Ruta del archivo | Ruta del archivo `.4DSettings` personalizado para el [servidor web WebAdmin](webAdmin.md). No disponible con [tool4d](#tool4d). |
-| `--webadmin-access-key` | Text | Llave de acceso para el [servidor web WebAdmin](webAdmin.md). No disponible con [tool4d](#tool4d). |
-| `--webadmin-auto-start` | Boolean | Estado del lanzamiento automático del [servidor web WebAdmin](webAdmin.md). No disponible con [tool4d](#tool4d). |
-| `--webadmin-store-settings` | | Almacena la llave de acceso y los parámetros de inicio automático en el archivo de parámetros actualmente utilizado (es decir, el archivo [`WebAdmin.4DSettings`](webAdmin.md#webadmin-settings) por defecto o un archivo personalizado designado con el parámetro `--webadmin-settings-path`). Utilice el argumento `--webadmin-store-settings` para guardar esta configuración si es necesario. No disponible con [tool4d](#tool4d). |
-| `--utility` | | Sólo disponible con 4D Server. Sólo disponible con 4D Server. |
-| `--skip-onstartup` | | Lanza el proyecto sin ejecutar ningún método "automático", incluyendo los métodos base `On Startup` y `On Exit` |
-| `--startup-method` | Nombre del método proyecto (cadena) | Método de proyecto a ejecutar inmediatamente después del método base `On Startup` (si no se omite con `--skip-onstartup`). |
+| Argumento | Valor | Descripción |
+| :-------------------------- | -------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| `applicationPath` | Ruta de 4D, 4D Server, aplicación fusionada o tool4d | Lanza la aplicación.
If not headless: identical to double-clicking the application; when called without structure file argument, the application is executed and the 'select database' dialog box appears. |
+| `--version` | | Muestra la versión de la aplicación y sale |
+| `--help` | | Muestra el mensaje de ayuda y sale. Argumentos
alternativos: -?, -h |
+| `--project` | projectPath
| packagePath | 4dlinkPath | Archivo de proyecto
a abrir con el archivo de datos actual. No aparece ninguna
caja de diálogo. |
+| `--data` | dataPath | Archivo de datos a
abrir con el archivo de proyecto designado. Si no se especifica, se utiliza el último archivo de datos
abierto. |
+| `--opening-mode` | interpreted
| compiled | Base de datos de
peticiones a abrir en modo interpretado o compilado. No se lanza ningún
error si el modo solicitado no está disponible. |
+| `--create-data` | | Crea automáticamente
un nuevo archivo de datos si no se encuentra un archivo de datos válido. No aparece ninguna
caja de diálogo. 4D utiliza el nombre
del archivo pasado en el argumento "--data" si lo hay (genera un error si ya
existe un archivo con el mismo nombre). |
+| `--user-param` | Cadena usuario
personalizada | Una cadena que estará disponible en la aplicación a través del comando [`Get database parameter`](../commands-legacy/get-database-parameter.md) (la cadena no debe comenzar por un carácter "-", que está reservado). |
+| `--headless` | | Lanza 4D, 4D Server o la aplicación fusionada sin interfaz (modo headless). En este modo: El modo Diseño no está disponible, la base de datos se inicia en modo Aplicación No se muestra la barra de herramientas, la barra de menú, la ventana MDI ni la pantalla de presentaciónNo se muestra ningún icono en el dock o la barra de tareasLa base de datos abierta no se registra en el menú "Bases de datos recientes"Se inicia automáticamente el registro de diagnóstico (ver [SET DATABASE PARAMETER](../commands-legacy/set-database-parameter.md), selector 79)Se intercepta cada llamada a una caja de diálogo y se suministra una respuesta automática (por ejemplo, OK para el comando [ALERT](../commands-legacy/alert.md), Abort para un diálogo de error...). Todos los comandos interceptados(\*) se registran en el registro de diagnóstico.
For maintenance needs, you can send any text to standard output streams using the [LOG EVENT](../commands-legacy/log-event.md) command. Tenga en cuenta que las aplicaciones 4D sin interfaz sólo pueden cerrarse mediante una llamada a [QUIT 4D](../commands-legacy/quit-4d.md) o utilizando el administrador de tareas del sistema operativo. |
+| `--dataless` | | Lanza 4D, 4D Server, la aplicación fusionada o tool4d en modo sin datos. El modo sin datos es útil cuando 4D ejecuta tareas sin necesidad de datos (compilación de proyectos, por ejemplo). In this mode: No file containing data is opened, even if specified in the command line or the `.4DLink` file, or when using the `CREATE DATA FILE` and `OPEN DATA FILE` commands.Los comandos que manipulan datos arrojarán un error. Por ejemplo, `CREATE RECORD` lanza "no hay tabla a la que aplicar el comando".
**Nota**:si se pasa en la línea de comando, el modo dataless se aplica a todas las bases de datos abiertas en 4D, mientras no se cierre la aplicación.Si se pasa utilizando el archivo `.4DLink`, el modo dataless sólo se aplica a la base de datos especificada en el archivo `.4DLink`. Para más información sobre los archivos `.4DLink`, ver [Atajos para abrir proyectos](../GettingStarted/creating.md#project-opening-shortcuts). |
+| `--webadmin-settings-file` | Ruta del archivo | Ruta del archivo `.4DSettings` personalizado para el [servidor web WebAdmin](webAdmin.md). No disponible con [tool4d](#tool4d). |
+| `--webadmin-access-key` | Text | Llave de acceso para el [servidor web WebAdmin](webAdmin.md). No disponible con [tool4d](#tool4d). |
+| `--webadmin-auto-start` | Boolean | Estado del lanzamiento automático del [servidor web WebAdmin](webAdmin.md). No disponible con [tool4d](#tool4d). |
+| `--webadmin-store-settings` | | Almacena la llave de acceso y los parámetros de inicio automático en el archivo de parámetros actualmente utilizado (es decir, el archivo [`WebAdmin.4DSettings`](webAdmin.md#webadmin-settings) por defecto o un archivo personalizado designado con el parámetro `--webadmin-settings-path`). Utilice el argumento `--webadmin-store-settings` para guardar esta configuración si es necesario. No disponible con [tool4d](#tool4d). |
+| `--utility` | | Sólo disponible con 4D Server. Sólo disponible con 4D Server. |
+| `--skip-onstartup` | | Lanza el proyecto sin ejecutar ningún método "automático", incluyendo los métodos base `On Startup` y `On Exit` |
+| `--startup-method` | Nombre del método proyecto (cadena) | Método de proyecto a ejecutar inmediatamente después del método base `On Startup` (si no se omite con `--skip-onstartup`). |
(\*) Algunos diálogos se muestran antes de abrir la base de datos, por lo que es imposible escribir en el [archivo de registro de diagnóstico](Debugging/debugLogFiles.md#4ddiagnosticlogtxt) (alerta de licencia, diálogo de conversión, selección de bases de datos, selección de archivos de datos). En este caso, se
lanza un mensaje de error tanto en el flujo stderr como en el registro de eventos sistema,
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/Debugging/debugLogFiles.md b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/Debugging/debugLogFiles.md
index d6b32a4f015be7..6d1c175bec05b2 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/Debugging/debugLogFiles.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/Debugging/debugLogFiles.md
@@ -73,7 +73,7 @@ Para cada petición, se registran los siguientes campos:
| server\_duration | exec\_duration | Depende del lugar donde se genere el registro:_server\*duration* cuando se genera en el cliente --Time tomado en microsegundos para que el servidor procese la solicitud y devuelva una respuesta. B a F en la imagen de abajo, O_exec\*duration* cuando se genera en el servidor --Tiempo empleado en microsegundos para que el servidor procese la petición. B a E en la imagen de abajo. |
| write\_duration | Tiempo tomado en microsegundos para enviar la:Petición (cuando se ejecuta en el cliente). A a B en la imagen inferior.Respuesta (cuando se ejecuta en el servidor). E a F en la imagen de abajo. |
| task_kind | Apropiativo o cooperativo (respectivamente "p" o "c") |
-| rtt | Tiempo estimado en microsegundos para que el cliente envíe la solicitud y el servidor la acuse de recibo. A a D y E a H en la imagen inferior.Only measured when using the ServerNet network layer, returns 0 when used with the legacy network layer.For Windows versions prior to Windows 10 or Windows Server 2016, the call will return 0. |
+| rtt | Tiempo estimado en microsegundos para que el cliente envíe la solicitud y el servidor la acuse de recibo. A a D y E a H en la imagen inferior.Sólo se mide cuando se utiliza la capa de red ServerNet, devuelve 0 cuando se utiliza con la capa de red heredada.Para las versiones de Windows anteriores a Windows 10 o Windows Server 2016, la llamada devolverá 0. |
| extra | Información adicional relacionada con el contexto, por ejemplo el nombre de la clase de datos y/o el nombre del atributo en caso de petición ORDA |
Flujo de solicitudes:
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/Desktop/labels.md b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/Desktop/labels.md
index 6f88b8f6be305b..ebbb7212ad3b94 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/Desktop/labels.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/Desktop/labels.md
@@ -127,22 +127,22 @@ El lado derecho de la barra de herramientas contiene comandos utilizados para mo
## Página Diseño
-The Layout page contains controls for printing labels based on the requirements of your current print settings.
+Esta página contiene los controles para imprimir etiquetas en función de los requisitos de sus parámetros de impresión actuales.

-- **Labels Order**: Specifies whether labels should be printed in the direction of the rows or the columns.
-- **Rows** and **Columns**: Set the number of labels to be printed by "row" and by "column" on each sheet. These settings determine the label size when the "Automatic resizing" option is enabled.
-- **Labels per record**: Sets the number of copies to print for each label (copies are printed consecutively).
-- **Print Setup...**: Sets the format of the page on which the sheet of labels will be printed. When you click this button, the setup dialog box for the printer selected in your system appears. By default, the sheet of labels is generated based on an A4 page in portrait mode.
- **Note:** The sheet created by the editor is based on the logical page of the printer, i.e. the physical page (for instance, an A4 page) less the margins that cannot be used on each side of the sheet. The physical margins of the page are shown by blue lines in the preview area.
-- **Unit**: Changes the units in which you specify your label and label page measurements. Puede utilizar puntos, milímetros, centímetros o pulgadas.
-- **Automatic resizing**: Means that 4D automatically calculates the size of the labels (i.e. the Width and Height parameters) according to the values set in all the other parameters. When this option is checked, the label size is adjusted each time you modify a page parameter. Los parámetros Ancho y Alto ya no pueden ajustarse manualmente.
-- **Ancho** y **Alto**: define la altura y el ancho de cada etiqueta manualmente. They cannot be edited when the **Automatic resizing** option is checked.
-- **Márgenes** (Superior, Derecho, Izquierdo, Inferior): define los márgenes de su hoja. Estos márgenes son simbolizados por líneas azules en el área de vista previa. Clicking on **Use printer margins** replicates, in the preview area, the margin information provided by the selected printer (these values can be modified).
-- **Gaps**: Set the amount of vertical and/or horizontal space between label rows and columns.
-- **Method**: Lets you trigger a specific method that will be run at print time. For example, you can execute a method that posts the date and time that each label was printed. This feature is also useful when you print labels using a dedicated table form, in which case you can fill variables from a method.
- To be eligible for label processing, a project method must comply with the following settings:
+- **Orden de etiquetas**: indica si las etiquetas deben imprimirse en la dirección de las líneas o de las columnas.
+- **Líneas** y **Columnas**: defina el número de etiquetas a imprimir por "línea" y "columna" en cada hoja. Estos parámetros determinan las dimensiones de las etiquetas cuando la opción "Dimensiones automáticas" está activada.
+- **Etiquetas por registro**: define el número de copias a imprimir para cada etiqueta (las copias se imprimen consecutivamente).
+- **Formato de impresión...**: formato de la página en la que se imprimirá la hoja de etiquetas. Cuando hace clic en este botón, aparece el cuadro de diálogo de configuración de la impresora seleccionada en su sistema. Por defecto, la hoja de etiquetas se genera basándose en una página A4 en modo retrato.
+ **Nota:** la hoja creada por el editor se basa en la página lógica de la impresora, es decir, la página física (por ejemplo, una hoja A4) menos los márgenes que no se pueden utilizar a cada lado de la hoja. Los márgenes de la página física se representan por las líneas azules en el área de vista previa.
+- **Unidad**: modifica las unidades en las que especifica las medidas de la etiqueta y de la página de etiqueta. Puede utilizar puntos, milímetros, centímetros o pulgadas.
+- **Dimensiones automáticas**: indica que 4D calcula automáticamente el tamaño de las etiquetas (es decir, los parámetros Ancho y Alto) según los valores definidos en todos los demás parámetros. Cuando esta opción está marcada, el tamaño de las etiquetas se recalcula cada vez que se modifica un parámetro en la página. Los parámetros Ancho y Alto ya no pueden ajustarse manualmente.
+- **Ancho** y **Alto**: define la altura y el ancho de cada etiqueta manualmente. No se pueden editar cuando la opción **Dimensionamiento automático** está marcada.
+- **Márgenes** (Superior, Derecho, Izquierdo, Inferior): define los márgenes de su hoja. Estos márgenes son simbolizados por líneas azules en el área de vista previa. Al hacer clic en **Aplicar los márgenes de la impresora** con el fin de replicar, en el área de vista previa, la información de margen proporcionada por la impresora seleccionada (estos valores pueden ser modificados).
+- **Intervalos**: defina el espacio vertical y/o horizontal entre las líneas y columnas de las etiquetas.
+- **Método**: permite activar un método específico que se ejecutará al momento de la impresión. Por ejemplo, puede ejecutar un método que publique la fecha y la hora en que se imprimió cada etiqueta. Esta funcionalidad también es útil cuando se imprimen etiquetas usando un formulario tabla dedicado, en cuyo caso se pueden llenar variables a partir de un método.
+ Para ser elegible para el procesamiento de etiquetas, un método proyecto debe cumplir con las siguientes condiciones:
- debe ser "permitido" para la base de datos (los métodos permitidos dependen de los [parámetros del proyecto](../settings/security.md#options) y el comando [`SET ALLOWED METHODS`](../commands/set-allowed-methods.md), de lo contrario no se mostrará en el menú **Aplicación**.
- debe tener la opción [Compartido por componentes y base de datos local](../Project/code-overview.md#shared-by-components-and-host-database).
Ver también [este ejemplo](#printing-labels-using-forms-and-methods-example) a continuación.
@@ -150,20 +150,20 @@ The Layout page contains controls for printing labels based on the requirements
:::note
Para necesidades avanzadas, puede restringir la lista de métodos disponibles utilizando un [archivo json específico](#controlling-available-forms-and-methods).
-The **For each: Record or Label** options are used to specify whether to run the method once per label or once per record. This control has meaning only if you are printing more than one copy of each label and you are also executing a method at print time.
+Las opciones **Para cada: Registro o Etiqueta** permiten especificar si ejecutar el método una vez por etiqueta o una vez por registro. Este control sólo tiene sentido si está imprimiendo más de una copia de cada etiqueta y también está ejecutando un método al momento de la impresión.
:::
-- **Layout preview**: Provides a reduced view of how an entire page of labels will look, based on the dimensions you enter in the Label editor. The page preview also reflects the paper size selected in the Print Setup dialog box. También puede utilizar esta zona para designar la primera etiqueta de la página que se va a imprimir (esta opción sólo afecta a la primera hoja en caso de impresión multipágina). This can be useful, for example, when you want to print on a sheet of adhesive labels, part of which has already been used. También puede seleccionar la primera etiqueta en la página a imprimir haciendo clic en ella:
+- **Vista previa del diseño**: permite visualizar en tiempo real las modificaciones que ingrese en el editor de etiquetas. La vista previa de la página también refleja el tamaño de papel seleccionado en el cuadro de diálogo Configuración de la impresión. También puede utilizar esta área para designar la primera etiqueta de la página a imprimir (esta opción solo afecta a la primera hoja en el caso de la impresión multipágina). Esto puede ser útil, por ejemplo, cuando se desea imprimir en una hoja de etiquetas adhesivas, parte de las cuales ya se ha utilizado. También puede seleccionar la primera etiqueta en la página a imprimir haciendo clic en ella:

## Impresión de etiquetas mediante formularios y métodos (ejemplo)
-You can use dedicated table forms and project methods to print labels with calculated variables. This simple example shows how to configure the different elements.
+Puede utilizar formularios de tabla dedicados y métodos proyecto para imprimir etiquetas con variables calculadas. Este ejemplo explica como configurar los diferentes elementos.
1. En un formulario tabla dedicado, añada su(s) campo(s) de etiqueta y su(s) variable(s).
- Here, in a table form named "label", we added the *myVar* variable:
+ Aquí, en una tabla llamada "etiqueta", sumamos la variable *myVar*:

2. Crea un método proyecto llamado `setMyVar` con el siguiente código:
@@ -174,7 +174,7 @@ You can use dedicated table forms and project methods to print labels with calcu
3. Defina el método proyecto como ["Compartido por los componentes y la base de datos local"](../Project/code-overview.md#shared-by-components-and-host-database).
-4. Before displaying the Label editor, make sure the project method is allowed by executing this code:
+4. Antes de mostrar el editor de etiquetas, asegúrese de que el método proyecto está autorizado ejecutando este código:
```4d
ARRAY TEXT($methods;1)
@@ -182,7 +182,7 @@ You can use dedicated table forms and project methods to print labels with calcu
SET ALLOWED METHODS($methods)
```
-5. Open the Label editor and use your form:
+5. Abre el editor de etiquetas y use su formulario:

6. En la página Diseño, seleccione el método:
@@ -191,9 +191,9 @@ You can use dedicated table forms and project methods to print labels with calcu
Luego puede imprimir sus etiquetas:

-## Control de los formularios y métodos disponibles
+## Definición de los formularios y métodos disponibles
-The Label editor includes an advanced feature allowing you to restrict which project forms and methods (within "allowed" methods) can be selected in the dialog box:
+El editor de etiquetas incluye una función avanzada que le permite limitar los formularios y los métodos proyecto (dentro de los métodos "permitidos") pueden seleccionarse en el cuadro de diálogo:
- en el menú **Formulario a utilizar** de la página "Etiqueta" y/o
- en el menú **Aplicar (método)** de la página "Diseño".
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/Develop/field-properties.md b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/Develop/field-properties.md
index e58d6470b5e614..26c51c0f4661d3 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/Develop/field-properties.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/Develop/field-properties.md
@@ -17,7 +17,7 @@ Puede introducir cualquier nombre de clase válido en esta propiedad, incluyendo
- Clases 4D integradas (por ejemplo, `4D.File`, `4D.Folder`)
- [Exposed](../Extensions/develop-components.md#sharing-of-classes) component-defined classes (e.g. `cs.MyComponent.MyClass`)
-If you enter an invalid class name, a warning is triggered and the input is rejected.
+Si introduce un nombre de clase inválido, se activa una advertencia y se rechaza la entrada.
:::note
@@ -25,7 +25,7 @@ If you enter an invalid class name, a warning is triggered and the input is reje
:::
-In your code, when assigning a value to a class-typed object field, 4D verifies that it belongs to the declared class. Si no es así o si el objeto no tiene clase, se produce un error. El acceso a atributos desconocidos también provocará errores de sintaxis.
+En su código, al asignar un valor a un campo de tipo clase de objeto, 4D verifica que pertenece a la clase declarada. Si no es así o si el objeto no tiene clase, se produce un error. El acceso a atributos desconocidos también provocará errores de sintaxis.
To retrieve the associated class name at runtime, use the [`classID`](../API/DataClassClass.md#attributename) property, for example `ds.MyTable.MyField.classID`.
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/Extensions/overview.md b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/Extensions/overview.md
index 4610ce00bef790..a4154b589f1f30 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/Extensions/overview.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/Extensions/overview.md
@@ -3,11 +3,11 @@ id: overview
title: Extendiendo aplicaciones 4D
---
-The 4D architecture is open and can be extended in different ways. Si necesita una funcionalidad que no está disponible de forma nativa en 4D, siempre puede integrarla en su aplicación de diversas maneras, por ejemplo:
+La arquitectura 4D está abierta y puede ampliarse de diferentes maneras. Si necesita una funcionalidad que no está disponible de forma nativa en 4D, siempre puede integrarla en su aplicación de diversas maneras, por ejemplo:
- Los [**workers del sistema**](../API/SystemWorkerClass.md) permiten al código 4D llamar a cualquier proceso externo (un comando shell, PHP, cualquier script, etc.) y supervisar su ejecución.
- Los [**comandos SQL**](../commands/theme/SQL) permiten conectar y utilizar diversas fuentes de datos SQL.
- El [**cliente HTTP integrado**](../API/HTTPRequestClass.md) puede solicitar cualquier servidor HTTP y procesar datos.
- Las [**Áreas Web**](../FormObjects/webArea_overview.md) pueden dar acceso a páginas web o a diversos contenidos HTML dentro de sus formularios.
-- [**Componentes**](Concepts/components.md). Los componentes están hechos de código 4D. 4D includes by default [a set of built-in 4D components](../Project/components.md#preinstalled-4d-components). También puedes [desarrollar sus propios componentes 4D](develop-components.md), o utilizar componentes de terceros. Muchos desarrolladores de la comunidad 4D han compartido componentes 4D (navegue por Github para tener una lista de componentes 4D públicos reunidos con el tema [`4d-component`](https://github.com/topics/4d-component)).
+- [**Componentes**](Concepts/components.md). Los componentes están hechos de código 4D. 4D incluye por defecto [un conjunto de componentes 4D integrados](../Project/components.md#preinstalled-4d-components). También puedes [desarrollar sus propios componentes 4D](develop-components.md), o utilizar componentes de terceros. Muchos desarrolladores de la comunidad 4D han compartido componentes 4D (navegue por Github para tener una lista de componentes 4D públicos reunidos con el tema [`4d-component`](https://github.com/topics/4d-component)).
- [**Plug-ins**](../Concepts/plug-ins.md). Los plug-ins pueden construirse utilizando cualquier lenguaje. Los plugins hacen cosas que 4D no hace de forma nativa (por ejemplo, una tecnología de plataforma específica), o que serían muy difíciles de escribir sólo con 4D. Como se describe en [esta página](develop-plug-ins.md), puede desarrollar sus propios plug-ins. Muchas funcionalidades están cubiertas por los plug-ins 4D existentes. Navegue por Github para tener una lista de plugins 4D públicos reunidos con el tema [`4d-plugin`](https://github.com/topics/4d-plugin).
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/FormEditor/formEditor.md b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/FormEditor/formEditor.md
index 4aea53b4daeb2e..55169d4e3065a5 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/FormEditor/formEditor.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/FormEditor/formEditor.md
@@ -148,7 +148,7 @@ Para seleccionar un objeto utilizando la barra de herramientas:
1. Haga clic en la herramienta Flecha de la barra de herramientas.

-
When you move the pointer into the form area, it becomes a standard arrow-shaped pointer.
+
Cuando mueve el puntero en el área del formulario, se convierte en un puntero estándar con forma de flecha.
2. Haga clic en el objeto que desea seleccionar. Las manillas de redimensionamiento identifican el objeto seleccionado.

@@ -247,7 +247,7 @@ Para agrupar los objetos:
Para desagrupar un grupo de objetos:
1. Seleccione el grupo de objetos que desea desagrupar.
-2. Seleccione **Ungroup** en el menú **Object**.
OR
Click the **Ungroup** button (variant of the **Group** button) in the toolbar of the Form editor.
Si **Desagrupar** está atenuado, significa que el objeto seleccionado ya está separado en su forma más simple. 4D marca los bordes de los objetos individuales con marcas.
+2. Seleccione **Ungroup** en el menú **Object**.
OR
Haga clic en el botón **Ungroup** (variante del botón **Group**) en la barra de herramientas del editor de formularios.
Si **Desagrupar** está atenuado, significa que el objeto seleccionado ya está separado en su forma más simple. 4D marca los bordes de los objetos individuales con marcas.
### Alinear objetos
@@ -325,7 +325,7 @@ Para distribuir objetos utilizando la caja de diálogo Alinear y Distribuir:
3. En las áreas Alineación izquierda/derecha y/o Alineación superior/inferior, haga clic en el icono de distribución estándar: 
(Icono de distribución horizontal estándar)
El área de ejemplo muestra los resultados de su selección.
-4. To perform a distribution that uses the standard scheme, click **Preview** or *Apply*.
In this case 4D will perform a standard distribution, so that the objects are set out with an equal amount of space between them.
OR:
To execute a specific distribution, select the **Distribute** option (for example if you want to distribute the objects based on the distance to their right side). Esta opción actúa como un interruptor. Si la casilla de selección Distribuir está seleccionada, los iconos situados debajo de ella realizan una función diferente:
+4. Para efectuar una repartición estándar que utilice el esquema estándar, haga clic en **Previsualización** o *Aplicar*.
In this case 4D will perform a standard distribution, so that the objects are set out with an equal amount of space between them.
OR:
To execute a specific distribution, select the **Distribute** option (for example if you want to distribute the objects based on the distance to their right side). Esta opción actúa como un interruptor. Si la casilla de selección Distribuir está seleccionada, los iconos situados debajo de ella realizan una función diferente:
- Horizontalmente, los iconos corresponden a las siguientes distribuciones: uniformemente con respecto a los lados izquierdos, centros (hor.) y los lados derechos de los objetos seleccionados.
- Verticalmente, los iconos corresponden a las siguientes distribuciones: uniformemente con respecto a los bordes superiores, centros (vert.) y los bordes inferiores de los objetos seleccionados.
@@ -352,7 +352,7 @@ Cuando se superponen varios objetos, se puede utilizar el atajo **Ctrl+Mayús+cl
:::note
-In binary databases, use **Ctrl+Click / Command+Click** to perform the same action.
+En bases de datos binarias, utilice **Ctrl+Clic / Comando+Clic** para efectuar la misma acción.
:::
@@ -390,7 +390,7 @@ Para ver o cambiar el orden de entrada:
El puntero se convierte en un puntero de orden de entrada y 4D dibuja una línea en el formulario mostrando el orden en que selecciona los objetos durante la entrada de datos. Ver y cambiar el orden de entrada de datos son las únicas acciones que puede realizar hasta que haga clic en cualquier herramienta de la paleta Herramientas.
-2. To change the data entry order, position the pointer on an object in the form and, while holding down the mouse button, drag the pointer to the object you want next in the data entry order.

4D will adjust the entry order accordingly.
+2. To change the data entry order, position the pointer on an object in the form and, while holding down the mouse button, drag the pointer to the object you want next in the data entry order.

4D ajustará el orden de entrada en consecuencia.
3. Repita el paso 2 tantas veces como sea necesario para establecer el orden de entrada de datos que desee.
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/FormEditor/properties_Markers.md b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/FormEditor/properties_Markers.md
index cecc6b6b4e022d..b80b59a9bca1cc 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/FormEditor/properties_Markers.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/FormEditor/properties_Markers.md
@@ -21,9 +21,9 @@ Puede hacer que las áreas Ruptura sean más pequeñas o más grandes. Puede uti
#### Gramática JSON
-| Nombre | Tipos de datos | Valores posibles |
-| ----------- | ----------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------- |
-| markerBreak | integer | integer collection | Break marker position or collection of break marker positions in pixels.
Valor mínimo: 0 |
+| Nombre | Tipos de datos | Valores posibles |
+| ----------- | ----------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------- |
+| markerBreak | integer | integer collection | Posición del marcador de ruptura o colección de posiciones del marcador de ruptura en píxeles.
Valor mínimo: 0 |
---
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/FormObjects/button_overview.md b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/FormObjects/button_overview.md
index bc28dd10b260a0..f47035dbbd758a 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/FormObjects/button_overview.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/FormObjects/button_overview.md
@@ -328,7 +328,7 @@ Todos los botones comparten el mismo conjunto de propiedades básicas:
[Negrita](properties_Text.md#bold) - [Estilo de línea de borde](properties_BackgroundAndBorder.md#border-line-style) - [Fondo](properties_CoordinatesAndSizing.md#bottom) - [Estilo de botón](properties_TextAndPicture.md#button-style) - [Clase](properties_Object.md#css-class) - [Soltable](properties_Action.md#droppable) - [Enfocable](properties_Entry.md#focusable) - [Fuente](properties_Text.md#font) - [Color de fuente](properties_Text.md#font-color) - [Tamaño de fuente](properties_Text.md#font-size) - [Altura](properties_CoordinatesAndSizing.md#height) - [Consejo de ayuda](properties_Help.md#help-tip) - [Alineación horizontal](properties_Text.md#horizontal-alignment) - [Tamaño horizontal](properties_ResizingOptions.md#horizontal-sizing) - [Cursiva](properties_Text.md#italic) - [Título de abrazos de imagen](properties_TextAndPicture.md#image-hugs-title)(1) - [Izquierda](properties_CoordinatesAndSizing.md#left) - [No renderizado](properties_Display.md#not-rendered) - [Número de estados](properties_TextAndPicture.md#number-of-states)(1) - [Nombre del objeto](properties_Object.md#object-name) - [Nombre de la ruta de la imagen](properties_TextAndPicture.md#picture-pathname)(1) - [Derecha](properties_CoordinatesAndSizing.md#right) - [Acceso directo](properties_Entry.md#shortcut) - [Acción estándar](properties_Action.md#standard-action) - [Título](properties_Object.md#title) - [Posición del título/imagen](properties_TextAndPicture.md#titlepicture-position)(1) - [Superior](properties_CoordinatesAndSizing.md#top) - [Tipo](properties_Object.md#tipo) - [Subrayado](properties_Text.md#underline) - [Variable o expresión](properties_Object.md#variable-or-expression) - [Tamaño vertical](properties_ResizingOptions.md#vertical-sizing) - [Visibilidad](properties_Display.md#visibility) - [Ancho](properties_CoordinatesAndSizing.md#width) - [Con menú emergente](properties_TextAndPicture.md#with-pop-up-menu)(2)
> (1) No soportado por el estilo [Ayuda](#help).
-> (2) Not supported by the [Help](#help), [Flat](#flat) and [Regular](#regular) styles.
+> (2) No soportado por los estilos [Help](#help), [Flat](#flat) y [Regular](#regular).
Existen propiedades específicas adicionales, dependiendo del [estilo-de-botón](#button-styles):
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/FormObjects/listbox_overview.md b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/FormObjects/listbox_overview.md
index 978af992f51d90..3f61236a812366 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/FormObjects/listbox_overview.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/FormObjects/listbox_overview.md
@@ -523,7 +523,7 @@ El soporte de ordenación estándar depende del tipo de list box:
| Tipo de list box | Soporte de ordenación estándar | Comentarios |
| ------------------------------ | ------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
-| Colección de objetos | Sí | - "This.a" or "This.a.b" columns are sortable.
- The [list box source property](properties_Object.md#variable-or-expression) must be an [assignable expression](../Concepts/quick-tour.md#assignable-vs-non-assignable-expressions).
|
+| Colección de objetos | Sí | - Las columnas "This.a" o "This.a.b" son ordenables.
- The [list box source property](properties_Object.md#variable-or-expression) must be an [assignable expression](../Concepts/quick-tour.md#assignable-vs-non-assignable-expressions).
|
| Colección de valores escalares | No | Utilice la ordenación personalizada con la función [`orderBy()`](../API/CollectionClass.md#orderby) |
| Entity selection | Sí | The [list box source property](properties_Object.md#variable-or-expression) must be an [assignable expression](../Concepts/quick-tour.md#assignable-vs-non-assignable-expressions).Supported: sorts on object attribute properties (e.g. "This.data.city" when "data" is an object attribute)Supported: sorts on related attributes (e.g. "This.company.name")Not supported: sorts on object attribute properties through related attributes (e.g. "This.company.data.city"). Para ello, debe utilizar la ordenación personalizada con la función [`orderByFormula()`](../API/EntitySelectionClass.md#orderbyformula) (ver el siguiente ejemplo) |
| Selección actual | Sí | Sólo se pueden ordenar las expresiones simples (por ejemplo, `[Table_1]Campo_2`) |
@@ -812,7 +812,7 @@ If the user selects a break row, [`LISTBOX GET CELL POSITION`](../commands/listb

-... [`LISTBOX GET CELL POSITION`](../commands/listbox-get-cell-position) returns (2;4). To select a break row by programming, you will need to use the [`LISTBOX SELECT BREAK`](../commands/listbox-select-break) command.
+... [`LISTBOX GET CELL POSITION`](../commands/listbox-get-cell-position) devuelve (2;4). To select a break row by programming, you will need to use the [`LISTBOX SELECT BREAK`](../commands/listbox-select-break) command.
Las líneas de rotura no se tienen en cuenta en los arrays internos utilizados para gestionar el aspecto gráfico de los list box (estilos y colores). No obstante, es posible modificar estas características para las líneas de ruptura mediante los comandos de gestión gráfica de los objetos. Basta con ejecutar los comandos adecuados en los arrays que constituyen la jerarquía.
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/FormObjects/properties_BackgroundAndBorder.md b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/FormObjects/properties_BackgroundAndBorder.md
index 84e2079f5e71ac..0eb71aceb033b9 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/FormObjects/properties_BackgroundAndBorder.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/FormObjects/properties_BackgroundAndBorder.md
@@ -186,7 +186,7 @@ Designa el grosor de una línea.
---
-## Row Background Color Array {#row-background-color-array}
+## Array colores de fondo {#row-background-color-array}
`List boxes de tipo array`
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/FormObjects/properties_Display.md b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/FormObjects/properties_Display.md
index 3a07c0739f87c1..d61bf5a88a19b5 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/FormObjects/properties_Display.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/FormObjects/properties_Display.md
@@ -100,7 +100,7 @@ Se pueden crear formatos de fecha personalizados utilizando varios patrones desc
:::note blankIfNull
-- By default, a [null date](../Concepts/dt_date.md#date-literals) is displayed with zeros, e.g. 00/00/00. Con la opción "blankIfNull", una fecha null se muestra como un área vacía. La cadena "blankIfNull" (distingue mayúsculas de minúsculas) debe combinarse con el valor de formato seleccionado. La cadena "blankIfNull" (distingue mayúsculas de minúsculas) debe combinarse con el valor de formato seleccionado.
+- Por defecto, una [fecha nula](../Concepts/dt_date.md#date-literals) se muestra con ceros, por ejemplo, 00/00/00. Con la opción "blankIfNull", una fecha null se muestra como un área vacía. La cadena "blankIfNull" (distingue mayúsculas de minúsculas) debe combinarse con el valor de formato seleccionado. La cadena "blankIfNull" (distingue mayúsculas de minúsculas) debe combinarse con el valor de formato seleccionado.
- Las [columnas list box](listbox_overview.md#list-box-columns) y los [pies List box](listbox_overview.md#list-box-footers) de tipo fecha utilizan siempre el comportamiento "blank if null" (no se puede desactivar).
:::
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/FormObjects/properties_Object.md b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/FormObjects/properties_Object.md
index ebf3f923c3ff42..385ba4bf48a567 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/FormObjects/properties_Object.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/FormObjects/properties_Object.md
@@ -86,9 +86,9 @@ Las variables o expresiones se pueden introducir o no y pueden recibir datos de
#### Gramática JSON
-| Nombre | Tipos de datos | Valores posibles |
-| ---------- | ------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
-| dataSource | cadena o array de cadenas | Variable, nombre de campo o cualquier expresión 4D.Empty string for [dynamic variables](#dynamic-variables).String array (collection of array names) for a [hierarchical listbox](listbox_overview.md#hierarchical-list-boxes) column] |
+| Nombre | Tipos de datos | Valores posibles |
+| ---------- | ------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
+| dataSource | cadena o array de cadenas | Variable, nombre de campo o cualquier expresión 4D.Cadena vacía para las [variables dinámicas](#dynamic-variables).String array (collection of array names) for a [hierarchical listbox](listbox_overview.md#hierarchical-list-boxes) column] |
### Expresiones
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/ORDA/entities.md b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/ORDA/entities.md
index 1d3ac2bbf5320c..ceb0d989f2296a 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/ORDA/entities.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/ORDA/entities.md
@@ -566,7 +566,7 @@ El siguiente diagrama ilustra el bloqueo optimista:
1. Dos procesos cargan la misma entidad.

-2. El primer proceso modifica la entidad y valida el cambio. Se llama al método `entity.save( )`. El motor 4D compara automáticamente el valor del marcador interno de la entidad modificada con el de la entidad almacenada en los datos. Since they match, the entity is saved and its stamp value is incremented.

+2. El primer proceso modifica la entidad y valida el cambio. Se llama al método `entity.save( )`. El motor 4D compara automáticamente el valor del marcador interno de la entidad modificada con el de la entidad almacenada en los datos. Como corresponden, la entidad se guarda y el valor de su marcador se incrementa.

3. El segundo proceso también modifica la entidad cargada y valida sus cambios. Se llama al método `entity.save( )`. Since the stamp value of the modified entity does not match the one of the entity stored in the data, the save is not performed and an error is returned.

diff --git a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/ORDA/orda-events.md b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/ORDA/orda-events.md
index ed3bd7aa40db92..ada6076fe08286 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/ORDA/orda-events.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/ORDA/orda-events.md
@@ -25,7 +25,7 @@ Los eventos de entidad ORDA en el almacen de datos equivalen a triggers en la ba
### Nivel del evento
-A entity event function is always defined in the [Entity class](../ORDA/ordaClasses.md#entity-class).
+Una función de evento de entidad se define siempre en la [clase Entity](../ORDA/ordaClasses.md#entity-class).
Un evento puede definirse al nivel de la **entidad** y/o a nivel del **atributo** (incluye los [**atributos calculados**](../ORDA/ordaClasses.md#computed-attributes)). En el primer caso, se activará para cualquier atributo de la entidad; en el otro caso, sólo se activará para el atributo objetivo.
@@ -101,7 +101,7 @@ Este evento se activa tan pronto como el motor de 4D Server / 4D detecta una mod
La función recibe un [objeto *event*](#event-parameter) como parámetro.
-If this event [throws](../commands-legacy/throw.md) an error, it will not stop the undergoing action.
+Si este evento [genera un error](../commands-legacy/throw.md), no detendrá la acción en curso.
:::note
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/Project/compiler.md b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/Project/compiler.md
index 1158b612ee42c7..77cb73581775e8 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/Project/compiler.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/Project/compiler.md
@@ -148,7 +148,7 @@ El modo de escritura directa es opcional sólo en proyectos convertidos. Se util
Select **All variables are typed (Direct typing)** option in the **Compilation Path** menu to enable the direct typing mode. Cuando se selecciona esta opción, las demás opciones de compatibilidad pierden su utilidad y dejan de mostrarse.
-Se recomienda utilizar esta opción, ya que proporciona flexibilidad y eficiencia. The direct typing concept assumes that all elements are directly declared where they are defined in your code. Solo tiene que asegurarse de que todas sus variables son declaradas utilizando la [sintaxis 'var'](../Concepts/variables.md#declaring-variables) y que sus parámetros de método y función son declarados [en sus prototipos](../Concepts/parameters.md) (la función [Verificar sintaxis](#check-syntax) puede ayudarle a detectar declaraciones faltantes o no válidas).
+Se recomienda utilizar esta opción, ya que proporciona flexibilidad y eficiencia. El concepto de escritura directa asume que todos los elementos se declaran directamente donde están definidos en su código. Solo tiene que asegurarse de que todas sus variables son declaradas utilizando la [sintaxis 'var'](../Concepts/variables.md#declaring-variables) y que sus parámetros de método y función son declarados [en sus prototipos](../Concepts/parameters.md) (la función [Verificar sintaxis](#check-syntax) puede ayudarle a detectar declaraciones faltantes o no válidas).
## Advertencias
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/REST/$singleton.md b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/REST/$singleton.md
index dd6441c98e068f..f2526bf683cf39 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/REST/$singleton.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/REST/$singleton.md
@@ -5,7 +5,7 @@ title: $singleton
Puede llamar directamente a [funciones de sus singletons compartidos](../Concepts/classes.md#singleton-classes) a través de REST.
-Singleton functions are called in POST or GET requests with the `$singleton` command and without `()`. Por ejemplo, si ha definido una función `buildVehicle()` en la clase compartida singleton `VehicleFactory`, podría llamarla utilizando la siguiente petición:
+Las funciones Singleton se llaman en peticiones POST o GET con el comando `$singleton` y sin `()`. Por ejemplo, si ha definido una función `buildVehicle()` en la clase compartida singleton `VehicleFactory`, podría llamarla utilizando la siguiente petición:
```json
/rest/$singleton/VehicleFactory/buildVehicle
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/ViewPro/commands/vp-copy-to-object.md b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/ViewPro/commands/vp-copy-to-object.md
index b8680a5547e280..704a4b63bc00d1 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/ViewPro/commands/vp-copy-to-object.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/ViewPro/commands/vp-copy-to-object.md
@@ -31,10 +31,10 @@ En *rangeObj*, pase el rango de celdas con los valores, formato y fórmulas a co
Puede pasar un parámetro opcional *options* con las siguientes propiedades:
-| Propiedad | Tipo | Descripción |
-| ----------- | ------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
-| copy | Boolean | *True* (por defecto) para mantener los valores, el formato y las fórmulas copiados después de la ejecución del comando. *False* para eliminarlos. |
-| copyOptions | Integer | Especifica lo que se copia o mueve. Possible values: | Value | Description |
|---|
| `vk clipboard options all` (default) | Copies all data objects, including values, formatting, and formulas. |
| `vk clipboard options formatting` | Copia solo el formato. |
| `vk clipboard options formulas` | Copies only the formulas. |
| `vk clipboard options formulas and formatting` | Copies the formulas and formatting. |
| `vk clipboard options values` | Copia solo los valores. |
| `vk clipboard options value and formatting` | Copies the values and formatting. |
|
+| Propiedad | Tipo | Descripción |
+| ----------- | ------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| copy | Boolean | *True* (por defecto) para mantener los valores, el formato y las fórmulas copiados después de la ejecución del comando. *False* para eliminarlos. |
+| copyOptions | Integer | Especifica lo que se copia o mueve. Possible values: | Value | Description |
|---|
| `vk clipboard options all` (default) | Copies all data objects, including values, formatting, and formulas. |
| `vk clipboard options formatting` | Copia solo el formato. |
| `vk clipboard options formulas` | Copies only the formulas. |
| `vk clipboard options formulas and formatting` | Copia las fórmulas y formato. |
| `vk clipboard options values` | Copia solo los valores. |
| `vk clipboard options value and formatting` | Copia los valores y el formato. |
|
Se tienen en cuenta las opciones de pegado definidas en las [opciones del libro de trabajo](vp-set-workbook-options.md).
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/ViewPro/commands/vp-export-document.md b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/ViewPro/commands/vp-export-document.md
index 8dfcf9c5401f37..94eefcc2eb31d0 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/ViewPro/commands/vp-export-document.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/ViewPro/commands/vp-export-document.md
@@ -77,11 +77,11 @@ El parámetro opcional *paramObj* le permite definir múltiples propiedades para
| | includeStyles | boolean | Si se incluye el estilo al exportar, por defecto true. |
| | includeFormulas | boolean | Si se incluye la fórmula al exportar, por defecto true. |
| | saveAsView | boolean | Si aplicar la cadena de formato al valor de exportación al exportar, por defecto false. |
-| | rowHeadersAsFrozenColumns | boolean | Whether to treat the row headers as frozen columns when exporting, default false. |
+| | rowHeadersAsFrozenColumns | boolean | Si tratar los encabezados de línea como columnas congeladas al exportar, por defecto false. |
| | columnHeadersAsFrozenRows | boolean | Si tratar los encabezados de columna como líneas congeladas al exportar, por defecto false. |
| | includeAutoMergedCells | boolean | Si se incluyen las celdas combinadas automáticamente al exportar, false por defecto. |
-| | includeCalcModelCache | boolean | Si desea incluir los datos adicionales de cálculo. Can be faster when open the file with those data, default false. |
-| | includeUnusedNames | boolean | Whether to include the unused custom name when exporting, default true. |
+| | includeCalcModelCache | boolean | Si desea incluir los datos adicionales de cálculo. Puede ser más rápido al abrir el archivo con esos datos, false por defecto. |
+| | includeUnusedNames | boolean | Si se incluye el nombre personalizado no utilizado al exportar, true por defecto. |
| | includeEmptyRegionCells | boolean | Si se incluyen celdas vacías (celdas sin datos o solo con estilo) fuera del rango de datos utilizado, por defecto true. |
| | contraseña | text | Contraseña a definir para abrir el libro de trabajo. |
| `\` | | any | Toda propiedad personalizada que estará disponible a través del parámetro $3 en el método de retrollamada. |
@@ -90,7 +90,7 @@ El parámetro opcional *paramObj* le permite definir múltiples propiedades para
- Al exportar un documento 4D View Pro a un archivo con formato Microsoft Excel, pueden perderse algunos parámetros. Por ejemplo, los métodos y fórmulas 4D no son soportados por Excel. Puede verificar otras configuraciones con [esta lista de SpreadJS](https://developer.mescius.com/spreadjs/docs/excelimpexp/excelexport).
- La exportación en este formato se ejecuta de forma asíncrona, utilice la propiedad `formula` del *paramObj* para el código a ejecutar después de la exportación.
-- Se recomienda utilizar el objeto *excelOptions* al exportar en formato ".xlsx". Make sure to not mix this object with legacy first level properties (*password*, *includeBindingSource*...) para evitar problemas potientales.
+- Se recomienda utilizar el objeto *excelOptions* al exportar en formato ".xlsx". Asegúrese de no mezclar este objeto con propiedades heredadas de primer nivel (*password*, *includeBindingSource*...) para evitar problemas potientales.
**Notas sobre el formato PDF**:
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/ViewPro/commands/vp-find.md b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/ViewPro/commands/vp-find.md
index 4ccd334c12e81f..cdf07a14ec6e8f 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/ViewPro/commands/vp-find.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/ViewPro/commands/vp-find.md
@@ -33,7 +33,7 @@ Puede pasar el parámetro opcional *searchCondition* para especificar el funcion
| afterRow | Integer | El número de la línea justo antes de la línea inicial de la búsqueda. Si *rangeObj* es un rango combinado, el número de línea indicado debe ser del primer rango. Valor por defecto: -1 (inicio de *rangeObj*) |
| all | Boolean | True - Se devuelven todas las celdas en *rangeObj* correspondientes a *searchValue*False - (valor por defecto) Sólo se devuelve la primera celda de *rangeObj* correspondiente a *searchValue* |
| flags | Integer | | `vk find flag exact match` | El contenido completo de la celda debe coincidir completamente con el valor de búsqueda |
| `vk find flag ignore case` | Las mayúsculas y minúsculas se consideran iguales. Ej: "a" es lo mismo que "A". |
| `vk find flag none` | no search flags are considered (default) |
| `vk find flag use wild cards` | Wildcard characters (\*,?) puede utilizarse en la cadena de búsqueda. Los caracteres comodín se pueden utilizar en cualquier comparación de cadenas para coincidir con cualquier número de caracteres:\* para cero o varios caracteres (por ejemplo, al buscar "bl*" se puede encontrar "bl", "black" o "blob")? para un solo carácter (por ejemplo, la búsqueda de "h?t" puede encontrar "hot", o "hit" |
Estos indicadores pueden combinarse. Por ejemplo: $search.flags:=vk find flag use wild cards+vk find flag ignore case |
-| order | Integer | | `vk find order by columns` | La búsqueda se realiza por columnas. Each row of a column is searched before the search continues to the next column. |
| `vk find order by rows` | The search is performed by rows. Se busca en cada columna de una linea antes de continuar con la siguiente linea (por defecto) |
|
+| order | Integer | | `vk find order by columns` | La búsqueda se realiza por columnas. Se busca en cada línea de una columna antes de continuar con la siguiente. |
| `vk find order by rows` | La búsqueda es realizada por líneas. Se busca en cada columna de una linea antes de continuar con la siguiente linea (por defecto) |
|
| target | Integer | | `vk find target formula` | La búsqueda se realiza en la fórmula de la celda |
| `vk find target tag` | La búsqueda se realiza en la etiqueta de la celda |
| `vk find target text` | La búsqueda se realiza en el texto de la celda (predeterminado) |
Estas banderas pueden combinarse. Por ejemplo:$search.target:=vk find target formula+vk find target text
|
En el parámetro opcional *replaceValue*, puede pasar un texto para que ocupe el lugar de toda instancia del texto en el *searchValue* encontrado en *rangeObj*.
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/ViewPro/commands/vp-import-document.md b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/ViewPro/commands/vp-import-document.md
index 061561650ed55b..9cf06809fc9a03 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/ViewPro/commands/vp-import-document.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/ViewPro/commands/vp-import-document.md
@@ -43,33 +43,33 @@ Se devuelve un error si el parámetro `filePath` no es válido, o si el archivo
El parámetro opcional *paramObj* permite definir las propiedades del documento importado:
-| Parámetros | | Tipo | Descripción |
-| ------------ | ------------------------- | --------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
-| formula | | 4D.Function | Un método de retollamada que se lanzará cuando la importación haya terminado. Debe utilizar una fórmula devuelta por el comando [`Formula`](../../commands/formula.md). Ver [Pasar un método de retrollamada (fórmula)](vp-export-document.md#passing-a-callback-method-formula). |
-| contraseña | | text | Sólo Microsoft Excel (opcional) - La contraseña utilizada para proteger un documento MS Excel. |
-| csvOptions | | object | opciones de importación csv |
-| | range | object | Rango de celdas que contiene la primera celda donde se escribirán los datos. Si el rango especificado no es un rango de celdas, sólo se utiliza la primera celda del rango. |
-| | rowDelimiter | text | Delimitador de línea. Si no está presente, el delimitador es determinado automáticamente por 4D. |
-| | columnDelimiter | text | Delimitador de columna. Por defecto: "," |
-| sjsOptions | | object | opciones para la importación de sjs |
-| | calcOnDemand | boolean | Si se calculan las fórmulas sólo cuando se solicitan, por defecto es false. |
-| | dynamicReferences | boolean | Si calcular funciones con referencias dinámicas, por defecto es true. |
-| | fullRecalc | boolean | Si calcular después de cargar los datos json, false por defecto. |
-| | includeFormulas | boolean | Si se incluyen las fórmulas al cargar, por defecto es true. |
-| | includeStyles | boolean | Si se incluyen los estilos al cargar, por defecto es true. |
-| | includeUnusedStyles | boolean | Si se incluyen los estilos de nombre no utilizados al convertir excel xml a json, por defecto es true. |
-| | openMode | integer | 0 (normal): modo abierto normal, sin perezoso (lazy) e incremental. When opening file, UI and UI event could be refreshed and responsive at specific time points.1 (lazy): modo de apertura lazy. Al abrir el archivo, sólo se cargará directamente la hoja activa. Las demás hojas sólo se cargarán cuando se vayan a utilizar.2 (incremental): modo abierto incremental. Al abrir un archivo, la interfaz de usuario y el evento de interfaz de usuario podrían actualizarse y responder directamente. |
-| excelOptions | | object | Sólo Excel (opcional) - Opciones para exportar Excel |
-| | includeStyles | boolean | Si se incluye el estilo al importar, por defecto true. |
-| | includeFormulas | boolean | Si se incluye la fórmula al importar, por defecto true. |
-| | frozenColumnsAsRowHeaders | boolean | Bien sea tratar las columnas congeladas como encabezados de línea al importar, por defecto false. |
-| | frozenRowsAsColumnHeaders | boolean | Whether to treat the frozen rows as column headers when importing, default false. |
-| | fullRecalc | boolean | Si calcular después de cargar los datos json, false por defecto. |
-| | dynamicReferences | boolean | Si calcular funciones con referencia dinámica, por defecto true. |
-| | calcOnDemand | boolean | Si se calculan las fórmulas solo cuando se solicitan, por defecto false. |
-| | includeUnusedStyles | boolean | Si incluir el estilo de nombre no utilizado al convertir excel xml al json, default true. |
-| | contraseña | text | La contraseña para abrir el workbook. |
-| | openMode | text | The open mode of normal, lazy and incremental. Por defecto es normal. |
+| Parámetros | | Tipo | Descripción |
+| ------------ | ------------------------- | --------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
+| formula | | 4D.Function | Un método de retollamada que se lanzará cuando la importación haya terminado. Debe utilizar una fórmula devuelta por el comando [`Formula`](../../commands/formula.md). Ver [Pasar un método de retrollamada (fórmula)](vp-export-document.md#passing-a-callback-method-formula). |
+| contraseña | | text | Sólo Microsoft Excel (opcional) - La contraseña utilizada para proteger un documento MS Excel. |
+| csvOptions | | object | opciones de importación csv |
+| | range | object | Rango de celdas que contiene la primera celda donde se escribirán los datos. Si el rango especificado no es un rango de celdas, sólo se utiliza la primera celda del rango. |
+| | rowDelimiter | text | Delimitador de línea. Si no está presente, el delimitador es determinado automáticamente por 4D. |
+| | columnDelimiter | text | Delimitador de columna. Por defecto: "," |
+| sjsOptions | | object | opciones para la importación de sjs |
+| | calcOnDemand | boolean | Si se calculan las fórmulas sólo cuando se solicitan, por defecto es false. |
+| | dynamicReferences | boolean | Si calcular funciones con referencias dinámicas, por defecto es true. |
+| | fullRecalc | boolean | Si calcular después de cargar los datos json, false por defecto. |
+| | includeFormulas | boolean | Si se incluyen las fórmulas al cargar, por defecto es true. |
+| | includeStyles | boolean | Si se incluyen los estilos al cargar, por defecto es true. |
+| | includeUnusedStyles | boolean | Si se incluyen los estilos de nombre no utilizados al convertir excel xml a json, por defecto es true. |
+| | openMode | integer | 0 (normal): modo abierto normal, sin perezoso (lazy) e incremental. Al abrir un archivo, la interfaz de usuario y el evento de interfaz de usuario podrían actualizarse y responder en momentos específicos.1 (lazy): modo de apertura lazy. Al abrir el archivo, sólo se cargará directamente la hoja activa. Las demás hojas sólo se cargarán cuando se vayan a utilizar.2 (incremental): modo abierto incremental. Al abrir un archivo, la interfaz de usuario y el evento de interfaz de usuario podrían actualizarse y responder directamente. |
+| excelOptions | | object | Sólo Excel (opcional) - Opciones para exportar Excel |
+| | includeStyles | boolean | Si se incluye el estilo al importar, por defecto true. |
+| | includeFormulas | boolean | Si se incluye la fórmula al importar, por defecto true. |
+| | frozenColumnsAsRowHeaders | boolean | Bien sea tratar las columnas congeladas como encabezados de línea al importar, por defecto false. |
+| | frozenRowsAsColumnHeaders | boolean | Bien sea tratar las líneas congeladas como encabezados de columna al importar, por defecto false. |
+| | fullRecalc | boolean | Si calcular después de cargar los datos json, false por defecto. |
+| | dynamicReferences | boolean | Si calcular funciones con referencia dinámica, por defecto true. |
+| | calcOnDemand | boolean | Si se calculan las fórmulas solo cuando se solicitan, por defecto false. |
+| | includeUnusedStyles | boolean | Si incluir el estilo de nombre no utilizado al convertir excel xml al json, default true. |
+| | contraseña | text | La contraseña para abrir el workbook. |
+| | openMode | text | The open mode of normal, lazy and incremental. Por defecto es normal. |
:::note Notas
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/ViewPro/commands/vp-move-cells.md b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/ViewPro/commands/vp-move-cells.md
index 5e7750583d5ac0..f924914b108639 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/ViewPro/commands/vp-move-cells.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/ViewPro/commands/vp-move-cells.md
@@ -35,10 +35,10 @@ En *targetRange*, pase el rango de celdas donde se copiarán o moverán los valo
El parámetro *options* tiene varias propiedades:
-| Propiedad | Tipo | Descripción |
-| ------------ | ------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
-| copy | Boolean | Determina si los valores, el formato y las fórmulas de las celdas de *originRange* se eliminan después de ejecutar el comando:- *False* (por defecto) para eliminarlos
- *True* para mantenerlos
|
-| pasteOptions | Integer | Especifica lo que se pega. Possible values: | Value | Description |
|---|
| `vk clipboard options all` (default) | Pastes all data objects, including values, formatting, and formulas. |
| `vk clipboard options formatting` | Pega solo el formato. |
| `vk clipboard options formulas` | Pega sólo las fórmulas. |
| `vk clipboard options formulas and formatting` | Pastes the formulas and formatting. |
| `vk clipboard options values` | Pega solo los valores. |
| `vk clipboard options value and formatting` | Pastes the values and formatting. |
|
+| Propiedad | Tipo | Descripción |
+| ------------ | ------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| copy | Boolean | Determina si los valores, el formato y las fórmulas de las celdas de *originRange* se eliminan después de ejecutar el comando:- *False* (por defecto) para eliminarlos
- *True* para mantenerlos
|
+| pasteOptions | Integer | Especifica lo que se pega. Possible values: | Value | Description |
|---|
| `vk clipboard options all` (default) | Pastes all data objects, including values, formatting, and formulas. |
| `vk clipboard options formatting` | Pega solo el formato. |
| `vk clipboard options formulas` | Pega sólo las fórmulas. |
| `vk clipboard options formulas and formatting` | Pega las fórmulas y el formato. |
| `vk clipboard options values` | Pega solo los valores. |
| `vk clipboard options value and formatting` | Pega los valores y el formato. |
|
Se tienen en cuenta las opciones de pegado definidas en las [opciones del libro de trabajo](vp-set-workbook-options.md).
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/ViewPro/commands/vp-set-workbook-options.md b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/ViewPro/commands/vp-set-workbook-options.md
index bdc02342a44e14..d059be21bf1f19 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/ViewPro/commands/vp-set-workbook-options.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/ViewPro/commands/vp-set-workbook-options.md
@@ -48,14 +48,14 @@ En la siguiente tabla se listan las opciones de libros de trabajo disponibles:
| autoFitType | number | El contenido se formatea para que se ajuste en las celdas, o en las celdas y los encabezados. Valores disponibles: | Constante | Valor | Descripción |
|---|
| vk auto fit type cell | 0 | El contenido se ajusta automáticamente a las celdas |
| vk auto fit type cell with header | 1 | El contenido se ajusta automáticamente a las celdas y encabezados |
|
| backColor | string | Una cadena de color utilizada para representar el color de fondo del área, como "red", "#FFFF00", "rgb(255,0,0)", "Acento 5". El color de fondo inicial se oculta cuando se define una backgroundImage. |
| backgroundImage | string / picture / file | Imagen de fondo para el área. |
-| backgroundImageLayout | number | Cómo se muestra la imagen de fondo. Available values: | Constant | Value | Description |
|---|
| vk image layout center | 1 | In the center of the area. |
| vk image layout none | 3 | In the upper left corner of the area with its original size. |
| vk image layout stretch | 0 | Fills the area. |
| vk image layout zoom | 2 | Displayed with its original aspect ratio. |
|
+| backgroundImageLayout | number | Cómo se muestra la imagen de fondo. Available values: | Constant | Value | Description |
|---|
| vk image layout center | 1 | In the center of the area. |
| vk image layout none | 3 | In the upper left corner of the area with its original size. |
| vk image layout stretch | 0 | Llena el área. |
| vk image layout zoom | 2 | Mostrado con su relación de aspecto original. |
|
| calcOnDemand | boolean | Las fórmulas se calculan sólo cuando se piden. |
| columnResizeMode | number | Redimensiona modo para columnas. Valores disponibles: | Constante | Valor | Descripción |
|---|
| vk resize mode normal | 0 | Utiliza el modo de redimensionamiento normal (es decir, las columnas restantes se ven afectadas) |
| vk resize mode split | 1 | Utiliza el modo dividido (es decir, las columnas restantes no se ven afectadas) |
|
| copyPasteHeaderOptions | number | Encabezados para incluir cuando se copian o pegan datos. Available values: | Constant | Value | Description |
|---|
| vk copy paste header options all headers | 3 | Includes selected headers when data is copied; overwrites selected headers when data is pasted. |
| vk copy paste header options column headers | 2 | Includes selected column headers when data is copied; overwrites selected column headers when data is pasted. |
| vk copy paste header options no headers | 0 | Column and row headers are not included when data is copied; does not overwrite selected column or row headers when data is pasted. |
| vk copy paste header options row headers | 1 | Includes selected row headers when data is copied; overwrites selected row headers when data is pasted. |
|
| customList | collection | La lista para que los usuarios personalicen el relleno de arrastre, dar prioridad a que coincida con esta lista en cada relleno. Cada elemento de colección es una colección de cadenas. Vet en [SpreadJS docs](https://developer.mescius.com/spreadjs/docs/features/cells/AutoFillData/AutoFillLists). |
| cutCopyIndicatorBorderColor | string | Color del borde del indicador que aparece cuando el usuario corta o copia la selección. |
| cutCopyIndicatorVisible | boolean | Muestra un indicador al copiar o cortar el elemento seleccionado. |
-| defaultDragFillType | number | El tipo de relleno de arrastre por defecto. Valores disponibles : | Constante | Valor | Descripción |
|---|
| vk auto fill type auto | 5 | Rellena automáticamente las celdas. |
| vk auto fill type clear values | 4 | Clears cell values. |
| vk auto fill type copycells | 0 | Fills cells with all data objects, including values, formatting, and formulas. |
| vk auto fill type fill formatting only | 2 | Fills cells only with formatting. |
| vk auto fill type fill series | 1 | Fills cells with series. |
| vk auto fill type fill without formatting | 3 | Rellena las celdas con valores y no con formato. |
|
+| defaultDragFillType | number | El tipo de relleno de arrastre por defecto. Valores disponibles : | Constante | Valor | Descripción |
|---|
| vk auto fill type auto | 5 | Rellena automáticamente las celdas. |
| vk auto fill type clear values | 4 | Clears cell values. |
| vk auto fill type copycells | 0 | Fills cells with all data objects, including values, formatting, and formulas. |
| vk auto fill type fill formatting only | 2 | Llena las celdas solo con formato. |
| vk auto fill type fill series | 1 | Fills cells with series. |
| vk auto fill type fill without formatting | 3 | Rellena las celdas con valores y no con formato. |
|
| enableAccessibility | boolean | El soporte de accesibilidad está activado en la hoja de cálculo. |
| enableFormulaTextbox | boolean | Se activa la caja de texto de la fórmula. |
| grayAreaBackColor | string | Una cadena color utilizada para representar el color de fondo del área gris, como "red", "#FFFF00", "rgb(255,0,0)", "Accent 5", etc. |
@@ -69,7 +69,7 @@ En la siguiente tabla se listan las opciones de libros de trabajo disponibles:
| referenceStyle | number | Estilo para referencias de celdas y rangos en fórmulas de celdas. Available values: | Constant | Value | Description |
|---|
| vk reference style A1 | 0 | Use A1 style. |
| vk reference style R1C1 | 1 | Use R1C1 style |
|
| resizeZeroIndicator | number | Política de dibujo cuando las líneas o columnas se redimensionan a 0. Available values: | Constant | Value | Description |
|---|
| vk resize zero indicator default | 0 | Uses the current drawing policy when the row or column is resized to zero. |
| vk resize zero indicator enhanced | 1 | Draws two short lines when the row or column is resized to zero. |
|
| rowResizeMode | number | La forma en que se redimensionan las líneas. Los valores disponibles son los mismos qe columnResizeMode |
-| scrollbarAppearance | number | Apariencia de la barra de desplazamiento. Available values: | Constant | Value | Description |
|---|
| vk scrollbar appearance mobile | 1 | Mobile scrollbar appearance. |
| vk scrollbar appearance skin (default) | 0 | Excel-like classic scrollbar appearance. |
|
+| scrollbarAppearance | number | Apariencia de la barra de desplazamiento. Available values: | Constant | Value | Description |
|---|
| vk scrollbar appearance mobile | 1 | Mobile scrollbar appearance. |
| vk scrollbar appearance skin (por defecto) | 0 | Apariencia clásica de la barra de desplazamiento similar a Excel. |
|
| scrollbarMaxAlign | boolean | La barra de desplazamiento se alinea con la última línea y columna de la hoja activa. |
| scrollbarShowMax | boolean | Las barras de desplazamiento mostradas se basan en el número total de columnas y líneas de la hoja. |
| scrollByPixel | boolean | Activar desplazamiento de precisión por píxel. |
@@ -79,8 +79,8 @@ En la siguiente tabla se listan las opciones de libros de trabajo disponibles:
| showDragFillSmartTag | boolean | Mostrar el diálogo de arrastrar y rellenar. |
| showDragFillTip | boolean | Mostrar la punta de arrastrar y soltar. |
| showHorizontalScrollbar | boolean | Mostrar la barra de desplazamiento horizontal. |
-| showResizeTip | number | Cómo mostrar el tip de redimensionamiento. Available values: | Constant | Value | Description |
|---|
| vk show resize tip both | 3 | Horizontal and vertical resize tips are displayed. |
| vk show resize tip column | 1 | Only the horizontal resize tip is displayed. |
| vk show resize tip none | 0 | No resize tip is displayed. |
| vk show resize tip row | 2 | Only the vertical resize tip is displayed. |
|
-| showScrollTip | number | Cómo mostrar el tip de desplazamiento. Available values: | Constant | Value | Description |
|---|
| vk show scroll tip both | 3 | Horizontal and vertical scroll tips are displayed. |
| vk show scroll tip horizontal | 1 | Only the horizontal scroll tip is displayed. |
| vk show scroll tip none | No se muestra ninguna propina. |
| vk show scroll tip vertical | 2 | Only the vertical scroll tip is displayed. |
|
+| showResizeTip | number | Cómo mostrar el tip de redimensionamiento. Available values: | Constant | Value | Description |
|---|
| vk show resize tip both | 3 | Horizontal and vertical resize tips are displayed. |
| vk show resize tip column | 1 | Solo se muestra la punta de redimensionamiento horizontal. |
| vk show resize tip none | 0 | No resize tip is displayed. |
| vk show resize tip row | 2 | Only the vertical resize tip is displayed. |
|
+| showScrollTip | number | Cómo mostrar el tip de desplazamiento. Available values: | Constant | Value | Description |
|---|
| vk show scroll tip both | 3 | Horizontal and vertical scroll tips are displayed. |
| vk show scroll tip horizontal | 1 | Only the horizontal scroll tip is displayed. |
| vk show scroll tip none | No se muestra ninguna propina. |
| vk show scroll tip vertical | 2 | Solo se muestra la punta de desplazamiento vertical. |
|
| showVerticalScrollbar | boolean | Mostrar la barra de desplazamiento vertical. |
| tabEditable | boolean | La pestaña de la hoja se puede editar. |
| tabNavigationVisible | boolean | Mostrar la navegación por pestañas. |
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/WebServer/authentication.md b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/WebServer/authentication.md
index 526b9eeb780278..8d182eca3eca37 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/WebServer/authentication.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/WebServer/authentication.md
@@ -115,7 +115,7 @@ Debe declarar estos parámetros de la siguiente manera:
:::note
-Todos los parámetros del método base `On Web Authentication` no están necesariamente rellenados. The information received by the database method depends on the selected [authentication mode](#authentication-modes).
+Todos los parámetros del método base `On Web Authentication` no están necesariamente rellenados. La información recibida por el método base depende del [modo de autenticación](#authentication-modes) seleccionado.
:::
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/WebServer/http-request-handler.md b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/WebServer/http-request-handler.md
index 8ac073255275ca..1b8df02e565772 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/WebServer/http-request-handler.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/WebServer/http-request-handler.md
@@ -32,7 +32,7 @@ Se soportan gestores de solicitudes HTTP personalizados:
Define sus manejadores de petición HTTP personalizados en un archivo de configuración llamado **HTTPHandlers.json** almacenado en la carpeta [`Project/Sources`](../Project/architecture.md#sources).
-This file contains all listened URL patterns, the handled verbs, and the code to be called. Los administradores se proporcionan en forma de colección en formato JSON.
+Este archivo contiene todos los patrones de URL a interceptar, los verbos manipulados y el código a llamar. Los administradores se proporcionan en forma de colección en formato JSON.
Al momento de la ejecución, se ejecuta el primer patrón que coincida con la URL, los demás se ignoran.
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/WebServer/qodly-studio.md b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/WebServer/qodly-studio.md
index 615a144ad69146..105b658372a4fe 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/WebServer/qodly-studio.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/WebServer/qodly-studio.md
@@ -80,7 +80,7 @@ La autenticación en el servidor web WebAdmin se realiza utilizando una llave de
De acuerdo con la gestión de proyectos 4D, sólo se admiten los siguientes usos:
- el desarrollo con Qodly Studio debe realizarse a través de **4D** (monousuario).
-- deployment of 4D applications powered with Qodly pages must be done using **4D Server**.
+- el despliegue de aplicaciones 4D alimentadas por páginas Qodly debe hacerse utilizando **4D Server**.
:::warning
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/WebServer/sessions.md b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/WebServer/sessions.md
index 0f33399d743853..241f091dac5e5e 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/WebServer/sessions.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/WebServer/sessions.md
@@ -211,7 +211,7 @@ End if
El servidor web 4D le permite generar, compartir y utilizar tokens de sesión OTP (One-Time Passcode). Los tokens de sesión OTP se utilizan para asegurar comunicaciones con aplicaciones de terceros o sitios web. For information on OTP, please refer to the [One-time password page](https://en.wikipedia.org/wiki/One-time_password) on Wikipedia.
-In 4D, OTP session tokens are useful when calling external URLs and being called back in another browser or device (mobile/computer). Typically, a third-party application sends a confirmation email containing a callback link on which the user has to click. The callback link includes the OTP token, so that the session which triggered the callback is loaded along with its data and privileges. This principle allows you to share the same session on multiple devices. Gracias a esta arquitectura, la [cookie de sesión](#session-implementation) no está expuesta en la red, lo que elimina el riesgo de un ataque de hombre en el medio.
+In 4D, OTP session tokens are useful when calling external URLs and being called back in another browser or device (mobile/computer). Typically, a third-party application sends a confirmation email containing a callback link on which the user has to click. El enlace de retrollamada incluye el token OTP, para que la sesión que activó la retrollamada se cargue junto con sus datos y privilegios. This principle allows you to share the same session on multiple devices. Gracias a esta arquitectura, la [cookie de sesión](#session-implementation) no está expuesta en la red, lo que elimina el riesgo de un ataque de hombre en el medio.
### Generalidades
@@ -245,7 +245,7 @@ Una url [`4DACCIÓN`](./httpRequests.md#4daction) también puede ser usada en el
#### Utilizar un parámetro personalizado
-The OTP token can also be provided as a custom parameter that you need to process specifically to restore the session. Debe utilizar esta solución si:
+El token OTP también se puede suministrar como un parámetro personalizado que necesita procesar específicamente para restaurar la sesión. Debe utilizar esta solución si:
- la aplicación de terceros no permite insertar parámetros como un `$4DSID` directamente en la Uri de redirección, y proporciona una API dedicada (la implementación depende de la aplicación de terceros),
- o, quiere llamar a una función ORDA a través de REST para procesar la retrollamada, en cuyo caso es necesario pasar el OTP con la [sintaxis de parámetro REST](../REST/ClassFunctions.md#parameters) (por ejemplo, `?$params='["XXX123"]'`).
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/WritePro/commands/wp-export-document.md b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/WritePro/commands/wp-export-document.md
index 542f6849b9f2d5..fe2e0e06cbf62c 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/WritePro/commands/wp-export-document.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/WritePro/commands/wp-export-document.md
@@ -55,10 +55,10 @@ Pase un [objeto](# "Datos estructurados como un objeto nativo 4D") en *option* c
| Constante | Valor | Comentario |
| ------------------------------------------- | ------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| wk CID host domain name | cidHostDomain | Nombre de dominio de host CID: dominio de host que se añadirá a las URL CID generadas incluyendo una "@" como separador. Disponible sólo cuando se utiliza el formato `wk mime html`. |
-| wk embedded pictures | embeddedPictures | Sólo para exportación SVG. Establece si las imágenes se incrustan en el archivo .svg exportado cuando se llama a [WP EXPORT DOCUMENT](wp-export-document.md). Valores disponibles: true (por defecto): las imágenes están incrustadas en el archivo .svg exportado false: las imágenes se exportan en una carpeta llamada "filename\_images" en el nivel del archivo .svg exportado, "filename" siendo el nombre pasado al comando para el archivo, sin la extensión. Las imágenes no están integradas, sino referenciadas en el archivo .svg.Note: If the folder already exists, it is emptied before the file is exported. Si no hay ninguna imagen en la página exportada, se elimina la carpeta |
+| wk embedded pictures | embeddedPictures | Sólo para exportación SVG. Establece si las imágenes se incrustan en el archivo .svg exportado cuando se llama a [WP EXPORT DOCUMENT](wp-export-document.md). Valores disponibles: true (por defecto): las imágenes están incrustadas en el archivo .svg exportado false: las imágenes se exportan en una carpeta llamada "filename\_images" en el nivel del archivo .svg exportado, "filename" siendo el nombre pasado al comando para el archivo, sin la extensión. Las imágenes no están integradas, sino referenciadas en el archivo .svg.Nota: si la carpeta ya existe, se vaciará antes de exportar el archivo. Si no hay ninguna imagen en la página exportada, se elimina la carpeta |
| wk factur x | facturX | Sólo para exportación en PDF. Valor: objeto que configura una exportación PDF "Factur-X (ZUGFeRD)" (ver [wk factur x object](#wk-factur-x-object)). |
| wk files | Histórico | Sólo para exportación en PDF. Valor: colección de objetos, cada uno de los cuales describe un archivo que se integrará en el documento final (ver [wk files collection](#wk-files-collection)). Esta funcionalidad sólo se admite en documentos PDF/A-3: cuando se utiliza el atributo `wk files`, se establece automáticamente la versión "PDF/A-3" (se ignora el atributo `wk pdfa version`). En caso de una exportación de Factur-X PDF (ver abajo), el primer objeto de la colección debe contener el archivo Factur-X xml. |
-| wk google fonts tag | googleFontsTag | Sólo para exportación SVG. Define la regla de importación para fuentes google en el SVG exportado. Valores posibles: false (por defecto): no se añade ninguna regla de importación de fuentes de Google.true: añade la regla @import al archivo exportado. Useful if you want to use fonts that are not available by default on Windows or macOS. **Note:** This property is set to false by default because when enabled, Google fonts override native fonts, and native fonts are generally better rendered in the browser. |
+| wk google fonts tag | googleFontsTag | Sólo para exportación SVG. Define la regla de importación para fuentes google en el SVG exportado. Valores posibles: false (por defecto): no se añade ninguna regla de importación de fuentes de Google.true: añade la regla @import al archivo exportado. Útil si desea utilizar fuentes que no están disponibles por defecto en Windows o macOS. **Note:** This property is set to false by default because when enabled, Google fonts override native fonts, and native fonts are generally better rendered in the browser. |
| wk HTML pretty print | htmlPrettyPrint | El código HTML está formateado para facilitar su lectura. |
| wk max picture DPI | maxPictureDPI | Se utiliza para reducir imágenes a la resolución preferida. Para imágenes SVG en Windows, utilizado para la rasterización. Valores por defecto: 300 (for wk optimized for \= wk print) 192 (for wk optimized for \= wk screen) Valor máximo posible: 1440 |
| wk optimized for | optimizedFor | Define cómo se optimiza un documento exportado en función de su soporte. Valores posibles: `wk print` (valor por defecto para `wk pdf` y `wk svg`) Las imágenes de mapa de bits pueden reducirse utilizando los PPP definidos por `wk max picture DPI` o 300 (valor por defecto) y pueden convertirse a PNG si el códec no es compatible con el tipo de exportación. Las imágenes vectoriales se convierten a PNG utilizando los PPP definidos por `wk max picture DPI` o 300 (sólo Windows). Si una imagen contiene más de un formato, se utiliza el mejor formato para la impresión (*por ejemplo*, .tiff en lugar de .jpg)`wk screen` (valor por defecto para `wk web page complete` y `wk mime html`). Las imágenes de mapa de bits pueden reducirse utilizando los PPP definidos por `wk max picture DPI` o 192 (valor por defecto) y pueden convertirse a JPEG (imágenes opacas) o PNG (imágenes transparentes) si el códec no es compatible con el tipo de exportación. Las imágenes vectoriales se convierten a PNG utilizando los PPP definidos por `wk max picture DPI` o 192 (sólo Windows). If a picture contains more than one format, the format for screen rendering is used. **Nota:** los documentos exportados en formato `wk docx` siempre se optimizan para la impresión wk (la opción wk optimized for se ignora). |
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/WritePro/commands/wp-export-variable.md b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/WritePro/commands/wp-export-variable.md
index 0975d8aeb5e67b..606d4bcc42bcd7 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/WritePro/commands/wp-export-variable.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/WritePro/commands/wp-export-variable.md
@@ -55,10 +55,10 @@ Pase un [objeto](# "Datos estructurados como un objeto nativo 4D") en *option* c
| Constante | Valor | Comentario |
| ------------------------------------------- | ------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| wk CID host domain name | cidHostDomain | Nombre de dominio de host CID: dominio de host que se añadirá a las URL CID generadas incluyendo una "@" como separador. Disponible sólo cuando se utiliza el formato `wk mime html`. |
-| wk embedded pictures | embeddedPictures | Sólo para exportación SVG. Establece si las imágenes se incrustan en el archivo .svg exportado cuando se llama a [WP EXPORT DOCUMENT](wp-export-document.md). Valores disponibles: true (por defecto): las imágenes están incrustadas en el archivo .svg exportado false: las imágenes se exportan en una carpeta llamada "filename\_images" en el nivel del archivo .svg exportado, "filename" siendo el nombre pasado al comando para el archivo, sin la extensión. Las imágenes no están integradas, sino referenciadas en el archivo .svg.Note: If the folder already exists, it is emptied before the file is exported. Si no hay ninguna imagen en la página exportada, se elimina la carpeta |
+| wk embedded pictures | embeddedPictures | Sólo para exportación SVG. Establece si las imágenes se incrustan en el archivo .svg exportado cuando se llama a [WP EXPORT DOCUMENT](wp-export-document.md). Valores disponibles: true (por defecto): las imágenes están incrustadas en el archivo .svg exportado false: las imágenes se exportan en una carpeta llamada "filename\_images" en el nivel del archivo .svg exportado, "filename" siendo el nombre pasado al comando para el archivo, sin la extensión. Las imágenes no están integradas, sino referenciadas en el archivo .svg.Nota: si la carpeta ya existe, se vaciará antes de exportar el archivo. Si no hay ninguna imagen en la página exportada, se elimina la carpeta |
| wk factur x | facturX | Sólo para exportación en PDF. Valor: objeto que configura una exportación PDF "Factur-X (ZUGFeRD)" (ver [wk factur x object](./wp-export-document.md#wk-factur-x-object)). |
| wk files | Histórico | Sólo para exportación en PDF. Valor: colección de objetos, cada uno de los cuales describe un archivo que se integrará en el documento final (ver [wk files collection](./wp-export-document.md#wk-files-collection)). Esta funcionalidad sólo se admite en documentos PDF/A-3: cuando se utiliza el atributo `wk files`, se establece automáticamente la versión "PDF/A-3" (se ignora el atributo `wk pdfa version`). En caso de una exportación de Factur-X PDF (ver abajo), el primer objeto de la colección debe contener el archivo Factur-X xml. |
-| wk google fonts tag | googleFontsTag | Sólo para exportación SVG. Define la regla de importación para fuentes google en el SVG exportado. Valores posibles: false (por defecto): no se añade ninguna regla de importación de fuentes de Google.true: añade la regla @import al archivo exportado. Useful if you want to use fonts that are not available by default on Windows or macOS. **Note:** This property is set to false by default because when enabled, Google fonts override native fonts, and native fonts are generally better rendered in the browser. |
+| wk google fonts tag | googleFontsTag | Sólo para exportación SVG. Define la regla de importación para fuentes google en el SVG exportado. Valores posibles: false (por defecto): no se añade ninguna regla de importación de fuentes de Google.true: añade la regla @import al archivo exportado. Útil si desea utilizar fuentes que no están disponibles por defecto en Windows o macOS. **Note:** This property is set to false by default because when enabled, Google fonts override native fonts, and native fonts are generally better rendered in the browser. |
| wk HTML pretty print | htmlPrettyPrint | El código HTML está formateado para facilitar su lectura. |
| wk max picture DPI | maxPictureDPI | Se utiliza para reducir imágenes a la resolución preferida. Para imágenes SVG en Windows, utilizado para la rasterización. Valores por defecto: 300 (for wk optimized for \= wk print) 192 (for wk optimized for \= wk screen) Valor máximo posible: 1440 |
| wk optimized for | optimizedFor | Define cómo se optimiza un documento exportado en función de su soporte. Valores posibles: `wk print` (valor por defecto para `wk pdf` y `wk svg`) Las imágenes de mapa de bits pueden reducirse utilizando los PPP definidos por `wk max picture DPI` o 300 (valor por defecto) y pueden convertirse a PNG si el códec no es compatible con el tipo de exportación. Las imágenes vectoriales se convierten a PNG utilizando los PPP definidos por `wk max picture DPI` o 300 (sólo Windows). Si una imagen contiene más de un formato, se utiliza el mejor formato para la impresión (*por ejemplo*, .tiff en lugar de .jpg)`wk screen` (valor por defecto para `wk web page complete` y `wk mime html`). Las imágenes de mapa de bits pueden reducirse utilizando los PPP definidos por `wk max picture DPI` o 192 (valor por defecto) y pueden convertirse a JPEG (imágenes opacas) o PNG (imágenes transparentes) si el códec no es compatible con el tipo de exportación. Las imágenes vectoriales se convierten a PNG utilizando los PPP definidos por `wk max picture DPI` o 192 (sólo Windows). If a picture contains more than one format, the format for screen rendering is used. **Nota:** los documentos exportados en formato `wk docx` siempre se optimizan para la impresión wk (la opción wk optimized for se ignora). |
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/WritePro/commands/wp-import-document.md b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/WritePro/commands/wp-import-document.md
index 57405625d969f7..625a6d5df492ed 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/WritePro/commands/wp-import-document.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/WritePro/commands/wp-import-document.md
@@ -51,20 +51,20 @@ Por defecto, las expresiones HTML insertadas en documentos heredados de 4D Write
Puede pasar un objeto para definir cómo se gestionan los siguientes atributos durante la operación de importación:
-| **Atributo** | **Tipo** | **Description** |
-| ----------------------- | -------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
-| anchoredTextAreas | Text | Sólo para documentos MS Word (.docx). Especifica cómo se manejan las áreas de texto ancladas en Word. Valores disponibles:
**anchored** (por defecto) - Las áreas de texto ancladas se tratan como cuadros de texto. **inline** - Las áreas de texto ancladas se tratan como texto en línea en la posición del ancla. **ignore** \- Las áreas de texto ancladas son ignoradas. **Nota**: el diseño y el número de páginas en el documento pueden cambiar. Ver también *Cómo importar formato .docx* |
-| anchoredImages | Text | Sólo para documentos MS Word (.docx). Especifica cómo se manejan las imágenes ancladas. Available values:
**all** (default) - All anchored images are imported as anchored images with their text wrapping properties (exception: the .docx wrapping option "tight" is imported as wrap square). **ignoreWrap** \- Anchored images are imported, but any text wrapping around the image is ignored. **ignore** \- Las imágenes ancladas no son importadas. |
-| secciones | Text | Sólo para documentos MS Word (.docx). Especifica cómo se maneja la sección. Valores disponibles:
**all** (por defecto) - Se importan todas las secciones. Continuous, even, or odd sections are converted to standard sections. **ignore** \- Sections are converted to default 4D Write Pro sections (A4 portrait layout without header or footer). **Note**: Section breaks of any type but continuous are converted to section breaks with page break. Continuous section breaks are imported as continuous section breaks. |
-| fields | Text | Sólo para documentos MS Word (.docx). Specifies how .docx fields that can't be converted to 4D Write Pro formulas are handled. Valores disponibles:
**ignore** \- Los campos .docx son ignorados. **label** \- .docx field references are imported as labels within double curly braces ("{{ }}"). Ej: el campo "ClientName" se importará como {{ClientName}}. **value** (default) - The last computed value for the .docx field (if available) is imported. **Note**: If a .docx field corresponds to a 4D Write Pro variable, the field is imported as a formula and this option is ignored. |
-| borderRules | Text | Sólo para documentos MS Word (.docx). Especifica cómo se gestionan los bordes de los párrafos. Available values:
**collapse** \- Paragraph formatting is modified to mimic automatically collapsed borders. Tenga en cuenta que la propiedad contraída sólo se aplica durante la operación de importación. If a stylesheet with a automatic border collapse setting is reapplied after the import operation, the setting will be ignored. **noCollapse** (por defecto) - No se modifica el formato de los párrafos. |
-| preferredFontScriptType | Text | Sólo para documentos MS Word (.docx). Specifies the preferred typeface to use when different typefaces are defined for a single font property in OOXML. Available values:
**latin** (default) - Latin script **bidi** \- Bidrectional script. Suitable if document is mainly bidirectional left-to-right (LTR) or right-to-left (RTL) text (e.g., Arabic or Hebrew). **eastAsia** \- East Asian script. Adecuado si el documento es principalmente texto asiático. |
-| htmlExpressions | Text | Sólo para documentos 4D Write (.4w7). Especifica cómo se manejan las expresiones HTML. Available values:
**rawText** \- HTML expressions are imported as raw text within ##htmlBegin## and ##htmlEnd## tags **ignore** (default) - HTML expressions are ignored. |
-| importDisplayMode | Text | Sólo para documentos 4D Write (.4w7). Especifica cómo se gestiona la visualización de imágenes. Available values:
**legacy -** 4W7 image display mode is converted using a background image if different than scaled to fit. **noLegacy** (default) - 4W7 image display mode is converted to the *imageDisplayMode* attribute if different than scaled to fit. |
+| **Atributo** | **Tipo** | **Description** |
+| ----------------------- | -------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| anchoredTextAreas | Text | Sólo para documentos MS Word (.docx). Especifica cómo se manejan las áreas de texto ancladas en Word. Valores disponibles:
**anchored** (por defecto) - Las áreas de texto ancladas se tratan como cuadros de texto. **inline** - Las áreas de texto ancladas se tratan como texto en línea en la posición del ancla. **ignore** \- Las áreas de texto ancladas son ignoradas. **Nota**: el diseño y el número de páginas en el documento pueden cambiar. Ver también *Cómo importar formato .docx* |
+| anchoredImages | Text | Sólo para documentos MS Word (.docx). Especifica cómo se manejan las imágenes ancladas. Available values:
**all** (default) - All anchored images are imported as anchored images with their text wrapping properties (exception: the .docx wrapping option "tight" is imported as wrap square). **ignoreWrap** \- Las imágenes ancladas son importadas, pero todo texto que se envuelve alrededor de la imagen es ignorado. **ignore** \- Las imágenes ancladas no son importadas. |
+| secciones | Text | Sólo para documentos MS Word (.docx). Especifica cómo se maneja la sección. Valores disponibles:
**all** (por defecto) - Se importan todas las secciones. Secciones continuas, incluso impares se convierten en secciones estándar. **ignore** \- Sections are converted to default 4D Write Pro sections (A4 portrait layout without header or footer). **Nota**: las rupturas de secciones de cualquier tipo pero continuas se convierten en rupturas de sección con rupturas de página. Continuous section breaks are imported as continuous section breaks. |
+| fields | Text | Sólo para documentos MS Word (.docx). Especifica cómo se manejan los campos .docx que no pueden ser convertidos a fórmulas 4D Write Pro. Valores disponibles:
**ignore** \- Los campos .docx son ignorados. **label** \- .docx field references are imported as labels within double curly braces ("{{ }}"). Ej: el campo "ClientName" se importará como {{ClientName}}. **value** (default) - El último valor calculado para el campo .docx (si está disponible) es importado. **Note**: If a .docx field corresponds to a 4D Write Pro variable, the field is imported as a formula and this option is ignored. |
+| borderRules | Text | Sólo para documentos MS Word (.docx). Especifica cómo se gestionan los bordes de los párrafos. Valores disponibles:
**collapse** \- El formato del párrafo se modifica para imitar los bordes colapsados automáticamente. Tenga en cuenta que la propiedad contraída sólo se aplica durante la operación de importación. If a stylesheet with a automatic border collapse setting is reapplied after the import operation, the setting will be ignored. **noCollapse** (por defecto) - No se modifica el formato de los párrafos. |
+| preferredFontScriptType | Text | Sólo para documentos MS Word (.docx). Specifies the preferred typeface to use when different typefaces are defined for a single font property in OOXML. Valores disponibles:
**latin** (por defecto) - script latino **bidi** \- script bidreccional. Adecuado si el documento es principalmente bidireccional de izquierda a derecha (LTR) o de derecha a izquierda (RTL) texto (por ejemplo, árabe o hebreo). **eastAsia** \- East Asian script. Adecuado si el documento es principalmente texto asiático. |
+| htmlExpressions | Text | Sólo para documentos 4D Write (.4w7). Especifica cómo se manejan las expresiones HTML. Available values:
**rawText** \- HTML expressions are imported as raw text within ##htmlBegin## and ##htmlEnd## tags **ignore** (default) - HTML expressions are ignored. |
+| importDisplayMode | Text | Sólo para documentos 4D Write (.4w7). Especifica cómo se gestiona la visualización de imágenes. Available values:
**legacy -** 4W7 image display mode is converted using a background image if different than scaled to fit. **noLegacy** (default) - 4W7 image display mode is converted to the *imageDisplayMode* attribute if different than scaled to fit. |
**Notas de compatibilidad**
-- *Character style sheets in legacy 4D Write documents use a proprietary mechanism, which is not supported by 4D Write Pro. To get the best result for imported text, style sheet attributes are converted to "hard coded" style attributes. Legacy character style sheets are not imported and are no longer referenced in the document.*
+- *Character style sheets in legacy 4D Write documents use a proprietary mechanism, which is not supported by 4D Write Pro. To get the best result for imported text, style sheet attributes are converted to "hard coded" style attributes. Las hojas de estilo de caracteres antiguos no son importadas y ya no están referenciadas en el documento.*
- *Support for importing in .docx format is only certified for Microsoft Word 2010 and newer. Versiones antiguas, especialmente Microsoft Word 2007, pueden no importar correctamente.*
## Ejemplo 1
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/WritePro/commands/wp-reset-attributes.md b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/WritePro/commands/wp-reset-attributes.md
index e3c95cabba2413..da3a00bcb36f12 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/WritePro/commands/wp-reset-attributes.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/WritePro/commands/wp-reset-attributes.md
@@ -19,7 +19,7 @@ displayed_sidebar: docs
## Descripción
-El comando **WP RESET ATTRIBUTES** le permite restablecer el valor de uno o más atributos en el rango, elemento o documento pasado como parámetro. This command can remove any kind of 4D Write Pro internal attribute: character, paragraph, document, table, or image. Puede pasar el nombre del atributo a restablecer en *attribName* o puede pasar una colección de atributos en *attribColl* para restablecer varios atributos a la vez.
+El comando **WP RESET ATTRIBUTES** le permite restablecer el valor de uno o más atributos en el rango, elemento o documento pasado como parámetro. Este comando puede eliminar cualquier tipo de atributo interno de 4D Write Pro: carácter, párrafo, documento, tabla o imagen. Puede pasar el nombre del atributo a restablecer en *attribName* o puede pasar una colección de atributos en *attribColl* para restablecer varios atributos a la vez.
> En el caso de una sección o subsección, el objeto *sectionOrSubsection* puede pasarse solo y todos los atributos se restablecen a la vez.
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/aikit/Classes/OpenAI.md b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/aikit/Classes/OpenAI.md
index 21dc2ecf7aa074..1271a5aaaa8e21 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/aikit/Classes/OpenAI.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/aikit/Classes/OpenAI.md
@@ -5,7 +5,7 @@ title: OpenAI
# OpenAI
-La clase `OpenAI` proporciona un cliente para acceder a varios recursos de la API OpenAI. It includes properties for managing API configurations and methods for performing HTTP requests to the OpenAI endpoints.
+La clase `OpenAI` proporciona un cliente para acceder a varios recursos de la API OpenAI. Incluye propiedades de gestión de las configuraciones API y de los métodos para efectuar las peticiones HTTP a los puntos de terminación de OpenAI.
## Propiedades de configuración
@@ -58,7 +58,7 @@ $client.baseURL:="https://server.ai"
## Recursos API
-The API provides access to multiple resources that allow seamless interaction with OpenAI's services. Each resource is encapsulated within a dedicated API class, offering a structured and intuitive way to interact with different functionalities.
+La API ofrece acceso a múltiples recursos que permiten una interacción perfecta con los servicios de OpenAI. Each resource is encapsulated within a dedicated API class, offering a structured and intuitive way to interact with different functionalities.
| Nombre de la propiedad | Tipo | Descripción |
| ---------------------- | ----------------------------------------------- | ------------------------------------------------ |
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/aikit/Classes/OpenAIChatCompletionsAPI.md b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/aikit/Classes/OpenAIChatCompletionsAPI.md
index 679642b16e70bf..2bae9229729d29 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/aikit/Classes/OpenAIChatCompletionsAPI.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/aikit/Classes/OpenAIChatCompletionsAPI.md
@@ -5,7 +5,7 @@ title: OpenAIChatCompletionsAPI
# OpenAIChatCompletionsAPI
-La clase `OpenAIChatCompletionsAPI` está diseñada para gestionar las finalizaciones de chat con la API OpenAI. It provides methods to create, retrieve, update, delete, and list chat completions.
+La clase `OpenAIChatCompletionsAPI` está diseñada para gestionar las finalizaciones de chat con la API OpenAI. Ofrece métodos para crear, recuperar, actualizar, eliminar y listar respuestas de chat.
https://platform.openai.com/docs/api-reference/chat
@@ -21,7 +21,7 @@ https://platform.openai.com/docs/api-reference/chat
| *parámetros* | [OpenAIChatCompletionsParameters](OpenAIChatCompletionsParameters.md) | Los parámetros para la solicitud de finalización del chat. |
| Resultado | Object | El resultado de la solicitud de finalización del chat. |
-Creates a model response for the given chat conversation.
+Crea un modelo de respuesta para la conversación dada.
https://platform.openai.com/docs/api-reference/chat/create
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/aikit/Classes/OpenAIChatCompletionsListParameters.md b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/aikit/Classes/OpenAIChatCompletionsListParameters.md
index 93b8c3e4bee066..7f1a363b63e090 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/aikit/Classes/OpenAIChatCompletionsListParameters.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/aikit/Classes/OpenAIChatCompletionsListParameters.md
@@ -5,7 +5,7 @@ title: OpenAIChatCompletionsListParameters
# OpenAIChatCompletionsListParameters
-This class is used to define parameters for retrieving a list of chat completions from the OpenAI API. Permite personalizar la paginación, ordenar y filtrar los mensajes de chat.
+Esta clase se utiliza para definir los parámetros de recuperación de una lista de terminaciones de chat de la API OpenAI. Permite personalizar la paginación, ordenar y filtrar los mensajes de chat.
## Hereda
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/aikit/Classes/OpenAIChatCompletionsMessagesAPI.md b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/aikit/Classes/OpenAIChatCompletionsMessagesAPI.md
index 2502d80c2c15ea..c9624656bfe290 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/aikit/Classes/OpenAIChatCompletionsMessagesAPI.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/aikit/Classes/OpenAIChatCompletionsMessagesAPI.md
@@ -13,11 +13,11 @@ The `OpenAIChatCompletionsMessagesAPI` class is designed to interact with the Op
**list**(*completionID* : Text; *parameters* : OpenAIChatCompletionsMessagesParameters) : Variant
-| Parámetros | Tipo | Descripción |
-| -------------- | ----------------------------------------- | -------------------------------------------------------------------------------- |
-| *completionID* | Text | The ID of the chat completion to retrieve messages for. |
-| *parámetros* | `OpenAIChatCompletionsMessagesParameters` | Parámetros para filtrar y personalizar la respuesta. |
-| Resultado | Variant | Los mensajes recuperados asociados con la finalización del chat. |
+| Parámetros | Tipo | Descripción |
+| -------------- | ----------------------------------------- | ------------------------------------------------------------------------------------- |
+| *completionID* | Text | El ID de la finalización de chat para la cual recuperar los mensajes. |
+| *parámetros* | `OpenAIChatCompletionsMessagesParameters` | Parámetros para filtrar y personalizar la respuesta. |
+| Resultado | Variant | Los mensajes recuperados asociados con la finalización del chat. |
La función `list()` recupera los mensajes asociados a un ID de finalización de chat específico. Lanza un error si `completionID` está vacío. If the *parameters* argument is not an instance of `OpenAIChatCompletionsMessagesParameters`, it will create a new instance using the provided parameters.
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/aikit/Classes/OpenAIEmbeddingsAPI.md b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/aikit/Classes/OpenAIEmbeddingsAPI.md
index dabbcc1cee4797..7d99ad8f1204a6 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/aikit/Classes/OpenAIEmbeddingsAPI.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/aikit/Classes/OpenAIEmbeddingsAPI.md
@@ -15,14 +15,14 @@ https://platform.openai.com/docs/api-reference/embeddings
**create**(*input* : Text; *model*: Text; *parameters* : OpenAIEmbeddingsParameters) : OpenAIEmbeddingsResult
-Creates an embeddings for the provided input, model and parameters.
-
-| Argumento | Tipo | Descripción |
-| ------------ | ----------------------------------------------------------- | --------------------------------------------------------------------------------------------- |
-| *entrada* | Texto o colección de texto | La entrada a vectorizar. |
-| *model* | Text | The [model to use](https://platform.openai.com/docs/guides/embeddings#embedding-models) |
-| *parámetros* | [OpenAIEmbeddingsParameters](OpenAIEmbeddingsParameters.md) | Los parámetros para personalizar la petición de representaciones vectoriales. |
-| Resultado | [OpenAIEmbeddingsResult](OpenAIEmbeddingsResult.md) | Las integraciones. |
+Crea una representación vectorial para la entrada, el modelo y los parámetros ofrecidos.
+
+| Argumento | Tipo | Descripción |
+| ------------ | ----------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| *entrada* | Texto o colección de texto | La entrada a vectorizar. |
+| *model* | Text | El [modelo a utilizar] (https://platform.openai.com/docs/guides/embeddings#embedding-models) |
+| *parámetros* | [OpenAIEmbeddingsParameters](OpenAIEmbeddingsParameters.md) | Los parámetros para personalizar la petición de representaciones vectoriales. |
+| Resultado | [OpenAIEmbeddingsResult](OpenAIEmbeddingsResult.md) | Las integraciones. |
#### Ejemplos de uso
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/aikit/Classes/OpenAIError.md b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/aikit/Classes/OpenAIError.md
index a1b407b5774618..50c983790a5e75 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/aikit/Classes/OpenAIError.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/aikit/Classes/OpenAIError.md
@@ -41,7 +41,7 @@ La clase `OpenAIError` está diseñada para manejar errores devueltos por la API
| ---------------------------- | ------- | ------------------------------------------------------------------------------------------------- |
| `isBadRequestError` | Boolean | Indica si se trata de un error 400 Bad Request. |
| `isAuthenticationError` | Boolean | Indica si se trata de un error de autenticación 401. |
-| `isPermissionDeniedError` | Boolean | Indicates ∏if the error is a 403 Permission Denied error. |
+| `isPermissionDeniedError` | Boolean | Indica si el error es un error 403 Permiso denegado. |
| `isNotFoundError` | Boolean | Indica si el error es un error 404 Not Found. |
| `isUnprocessableEntityError` | Boolean | Indica si el error es un error de entidad no procesable (422). |
| `isRateLimitError` | Boolean | Indica si el error es un error de límite de velocidad 429. |
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/aikit/Classes/OpenAIImage.md b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/aikit/Classes/OpenAIImage.md
index 04c86973e749d1..2917ecf2bf83db 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/aikit/Classes/OpenAIImage.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/aikit/Classes/OpenAIImage.md
@@ -11,11 +11,11 @@ https://platform.openai.com/docs/api-reference/images/object
## Propiedades
-| Propiedad | Tipo | Descripción |
-| ---------------- | ------- | ------------------------------------------------------------------------------------------------------------- |
-| `url` | Text | La URL de la imagen generada, si `response_format` es `url` (por defecto). |
-| `b64_json` | Text | The base64-encoded JSON of the generated image, if `response_format` is `b64_json`. |
-| `revised_prompt` | Variant | The prompt that was used to generate the image, if there was any revision to the prompt. |
+| Propiedad | Tipo | Descripción |
+| ---------------- | ------- | ---------------------------------------------------------------------------------------------------------------- |
+| `url` | Text | La URL de la imagen generada, si `response_format` es `url` (por defecto). |
+| `b64_json` | Text | El JSON codificado en base64 de la imagen generada, si `response_format` es `b64_json`. |
+| `revised_prompt` | Variant | La instrucción que se utilizó para generar la imagen, si hubo alguna revisión de la instrucción. |
## Funciones
@@ -23,9 +23,9 @@ https://platform.openai.com/docs/api-reference/images/object
**asBlob**() : 4D.Blob
-| Parámetros | Tipo | Descripción |
-| ---------- | ----------------------- | ------------------------------------------------------------------------------------------------------ |
-| Resultado | 4D.Blob | Converts the generated image to a blob format based on its URL or base64-encoded JSON. |
+| Parámetros | Tipo | Descripción |
+| ---------- | ----------------------- | ------------------------------------------------------------------------------------------------------------------ |
+| Resultado | 4D.Blob | Convierte la imagen generada a un formato blob basado en su URL o en un JSON codificado en base64. |
#### Ejemplo de Uso
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/aikit/Classes/OpenAIMessage.md b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/aikit/Classes/OpenAIMessage.md
index 7f872456010175..25479618986396 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/aikit/Classes/OpenAIMessage.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/aikit/Classes/OpenAIMessage.md
@@ -13,7 +13,7 @@ The `OpenAIMessage` class represents a structured message containing a role, con
| ----------- | ------- | -------------------------------------------------------------------------------------------- |
| `rol` | Text | El rol del mensaje (por ejemplo, "user", "assistant"). |
| `contenido` | Variant | El contenido del mensaje, que puede ser un texto o una colección de objetos. |
-| `user` | Text | An optional property representing the user associated with the message. |
+| `user` | Text | Una propiedad opcional que representa al usuario asociado al mensaje. |
## Propiedades calculadas
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/aikit/Classes/OpenAIModeration.md b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/aikit/Classes/OpenAIModeration.md
index 3c92f30cc3c7c7..1b7928f32cb10a 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/aikit/Classes/OpenAIModeration.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/aikit/Classes/OpenAIModeration.md
@@ -5,7 +5,7 @@ title: OpenAIModeration
# OpenAIModeration
-La clase `OpenAIModeration` está diseñada para manejar los resultados de moderación de la API OpenAI. It contains properties for storing the moderation ID, model used, and the results of the moderation.
+La clase `OpenAIModeration` está diseñada para manejar los resultados de moderación de la API OpenAI. Contiene propiedades para almacenar el ID de moderación, el modelo utilizado y los resultados de la moderación.
https://platform.openai.com/docs/api-reference/moderations/object
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/aikit/Classes/OpenAIModerationResult.md b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/aikit/Classes/OpenAIModerationResult.md
index b486c693fb10f3..6ae6717533fd23 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/aikit/Classes/OpenAIModerationResult.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/aikit/Classes/OpenAIModerationResult.md
@@ -5,7 +5,7 @@ title: OpenAIModerationResult
# OpenAIModerationResult
-The `OpenAIModerationResult` provides functionality to handle moderation results from the OpenAI API.
+`OpenAIModerationResult` ofrece funcionalidades para manejar los resultados de moderación de la API OpenAI.
## Hereda
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/aikit/Classes/OpenAIParameters.md b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/aikit/Classes/OpenAIParameters.md
index 30a0ee07ce9043..54c9d61d806d8a 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/aikit/Classes/OpenAIParameters.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/aikit/Classes/OpenAIParameters.md
@@ -11,12 +11,12 @@ The `OpenAIParameters` class is designed to handle execution and request paramet
### Propiedades de la programación asíncrona
-| Propiedad | Tipo | Descripción |
-| ------------------------- | -------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------- |
-| `formula` u `onTerminate` | Function | Una función que se llamará de forma asíncrona cuando termine. Asegúrese de que el proceso actual no termina. |
-| `onResponse` | Function | A function to be called asynchronously when the request finishes successfully. Asegúrese de que el proceso actual no termina. |
-| `onError` | Function | A function to be called asynchronously when the request finishes with errors. Asegúrese de que el proceso actual no termina. |
-| `throw` | Boolean | Si es true, lanza un error si se produce uno. Sólo si no se ha definido ninguna retrollamada de fórmula. |
+| Propiedad | Tipo | Descripción |
+| ------------------------- | -------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| `formula` u `onTerminate` | Function | Una función que se llamará de forma asíncrona cuando termine. Asegúrese de que el proceso actual no termina. |
+| `onResponse` | Function | Una función a llamar de forma asíncrona cuando la petición finalice con éxito. Asegúrese de que el proceso actual no termina. |
+| `onError` | Function | Una función que se llamará de forma asíncrona cuando la petición finalice con errores. Asegúrese de que el proceso actual no termina. |
+| `throw` | Boolean | Si es true, lanza un error si se produce uno. Sólo si no se ha definido ninguna retrollamada de fórmula. |
Ver la [documentación sobre código asíncrono](../asynchronous-call.md)
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/aikit/Classes/OpenAIResult.md b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/aikit/Classes/OpenAIResult.md
index a56ffcdcd8d803..ef3e9ad3508ea9 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/aikit/Classes/OpenAIResult.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/aikit/Classes/OpenAIResult.md
@@ -21,13 +21,13 @@ The `OpenAIResult` class is designed to handle the response from HTTP requests a
| `errors` | Collection | Devuelve una colección de errores. Estos podrían ser errores de red o errores devueltos por OpenAI. |
| `terminated` | Boolean | Un booleano que indica si la petición HTTP fue terminada. |
| `headers` | Object | Devuelve los encabezados de respuesta como un objeto. |
-| `rateLimit` | Object | Returns rate limit information from the response headers. |
+| `rateLimit` | Object | Devuelve la información relativa al límite de tasa de los encabezados de la respuesta. |
| `utilización` | Object | Devuelve la información de uso del cuerpo de la respuesta, si existe. |
### rateLimit
-The `rateLimit` property returns an object containing rate limit information from the response headers.
-This information includes the limits, remaining requests, and reset times for both requests and tokens.
+La propiedad `rateLimit` devuelve un objeto que contiene información sobre el límite de velocidad de los encabezados de respuesta.
+Esta información incluye los límites, las peticiones restantes y los tiempos de reinicialización tanto para peticiones como para tokens.
For more details on rate limits and the specific headers used, refer to [the OpenAI Rate Limits Documentation](https://platform.openai.com/docs/guides/rate-limits#rate-limits-in-headers).
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/aikit/compatible-openai.md b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/aikit/compatible-openai.md
index 5b5e136edec480..ca4d836251504a 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/aikit/compatible-openai.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/aikit/compatible-openai.md
@@ -5,7 +5,7 @@ title: Proveedores
# Proveedores
-Many AI providers propose an OpenAI-like API, so you can use this project to connect to them.
+Muchos proveedores de IA proponen una API similar a la de OpenAI, así que puede utilizar este proyecto para conectarse a ellos.
Para ello sólo tiene que definir la `baseURL` a la del proveedor y utilizar su clave api si es necesario.
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/code-editor/write-class-method.md b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/code-editor/write-class-method.md
index 002a2f09517834..f047f57dab287d 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/code-editor/write-class-method.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/code-editor/write-class-method.md
@@ -803,7 +803,7 @@ La etiqueta `` permite generar y utilizar macrocomandos que ejecutan mé
El código de un método llamado se ejecuta en un nuevo proceso. Este proceso se cierra una vez se ejecuta el método.
-> Note: The structure process remains frozen until the called method execution is completed. Debe asegurarse de que la ejecución es rápida y de que no hay riesgo de que bloquee la aplicación. If this occurs, use the **Ctrl+F8** (Windows) or **Command+F8** (macOS) command to "kill" the process.
+> Note: The structure process remains frozen until the called method execution is completed. Debe asegurarse de que la ejecución es rápida y de que no hay riesgo de que bloquee la aplicación. Si esto ocurre, utilice el comando **Ctrl+F8** (Windows) o **Comando+F8** (macOS) para "matar" el proceso.
### Llamando macros
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/commands/call-chain.md b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/commands/call-chain.md
index 71416c9f2cbcc3..fdbd960b6e8acd 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/commands/call-chain.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/commands/call-chain.md
@@ -25,14 +25,14 @@ displayed_sidebar: docs
## Descripción
-The **Call chain** command returns a collection of objects describing each step of the method call chain within the current process. Ofrece la misma información que la ventana Depurador. It has the added benefit of being able to be executed from any 4D environment, including compiled mode.
+The **Call chain** command returns a collection of objects describing each step of the method call chain within the current process. Ofrece la misma información que la ventana Depurador. Tiene la ventaja adicional de poder ser ejecutado desde cualquier entorno 4D, incluyendo el modo compilado.
The command facilitates debugging by enabling the identification of the method or formula called, the component that called it, and the line number where the call was made. Cada objeto de la colección devuelta contiene las siguientes propiedades:
| **Propiedad** | **Tipo** | **Description** | **Ejemplo** |
| ------------- | ----------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------- |
| database | Text | Name of the database calling the method (to distinguish host methods and component methods) | "database":"contactInfo" |
-| formula | Text (si lo hay) | Contents of the current line of code at the current level of the call chain (raw text). Corresponde al contenido de la línea referenciada por la propiedad `line` en el archivo fuente indicado por el método. Si el código fuente no está disponible, la propiedad `formula` se omite (Undefined). | "var $stack:=Call chain" |
+| formula | Text (si lo hay) | Contenido de la línea actual de código en el nivel actual de la cadena de llamadas (texto bruto). Corresponde al contenido de la línea referenciada por la propiedad `line` en el archivo fuente indicado por el método. Si el código fuente no está disponible, la propiedad `formula` se omite (Undefined). | "var $stack:=Call chain" |
| línea | Integer | Número de línea de llamada al método | "line":6 |
| name | Text | Nombre del método llamado | "name":"On Load" |
| type | Text | Type of the method: "projectMethod""formObjectMethod""formmethod""databaseMethod""triggerMethod""executeOnServer" (when calling a project method with the *Execute on Server attribute*) "executeFormula" (when executing a formula via [PROCESS 4D TAGS](../commands-legacy/process-4d-tags.md) or the evaluation of a formula in a 4D Write Pro document)"classFunction""formMethod" | "type":"formMethod" |
@@ -45,7 +45,7 @@ Para que este comando pueda operar en modo compilado, la [verificación de rango
## Ejemplo
-The following code returns a collection of objects containing information about the method call chain:
+El siguiente código devuelve una colección de objetos que contienen información acerca de la cadena de llamadas de métodos:
```4d
var $currentCallChain : Collection
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/commands/command-name.md b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/commands/command-name.md
index f48fc456753f3c..188b150d0f8a71 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/commands/command-name.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/commands/command-name.md
@@ -36,7 +36,7 @@ Hay dos parámetros opcionales:
- *info*: propiedades del comando. The returned value is a *bit field*, where the following bits are meaningful:
- Primer bit (bit 0): definido en 1 si el comando es [**hilo-seguro**](../Develop/preemptive.md#thread-safe-vs-thread-unsafe-code) (es decir, compatible con la ejecución en un proceso apropiativo) y 0 si es **hilo-inseguro**. Only thread-safe commands can be used in [preemptive processes](../Develop/preemptive.md).
- - Second bit (bit 1): set to 1 if the command is **deprecated**, and 0 if it is not. A deprecated command will continue to work normally as long as it is supported, but should be replaced whenever possible and must no longer be used in new code. Los comandos obsoletos en su código generan advertencias en el [Live Checker y el compilador](../code-editor/write-class-method.md#warnings-and-errors).
+ - Segundo bit (bit 1): se define en 1 si el comando es **obsoleto**, y en 0 si no lo es. A deprecated command will continue to work normally as long as it is supported, but should be replaced whenever possible and must no longer be used in new code. Los comandos obsoletos en su código generan advertencias en el [Live Checker y el compilador](../code-editor/write-class-method.md#warnings-and-errors).
*theme*: nombre del tema del lenguaje 4D para el comando.
@@ -80,9 +80,9 @@ En un formulario, quiere una lista desplegable con los comandos básicos de info
End case
```
-In the English version of 4D, the drop-down list will read: Sum, Average, Min, and Max. In the French version\*, the drop-down list will read: Somme, Moyenne, Min, and Max.
+En la versión inglesa de 4D, la lista desplegable leerá: Sum, Average, Min y Max. En la versión francésa \*, la lista desplegable dirá: Somme, Moyenne, Min, y Max.
-\*with a 4D application configured to use the French programming language (see compatibility note)
+\*con una aplicación 4D configurada para usar el lenguaje de programación en francés (ver nota de compatibilidad)
## Ejemplo 3
@@ -110,7 +110,7 @@ Luego, para el comando "SAVE RECORD" (53) por ejemplo, puede escribir:
## Ejemplo 4
-You want to return a collection of all deprecated commands in your version of 4D.
+Quiere devolver una colección de todos los comandos obsoletos en su versión de 4D.
```4d
var $info; $Lon_id : Integer
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/commands/create-deployment-license.md b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/commands/create-deployment-license.md
index 57ffea72a3cfe9..a943e2ddaadfc1 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/commands/create-deployment-license.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/commands/create-deployment-license.md
@@ -112,7 +112,7 @@ Designar una licencia de uso:
## Ver también
-[Blog post - Build an application with 4D commands](https://blog.4d.com/build-an-application-with-4d-commands)
+[Post de blog - Crear una aplicación con los comandos 4D](https://blog.4d.com/build-an-application-with-4d-commands)
## Propiedades
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/commands/form.md b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/commands/form.md
index 355633c3e4ffb9..79fa8e19d3a3a9 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/commands/form.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/commands/form.md
@@ -24,7 +24,7 @@ displayed_sidebar: docs
## Descripción
-El comando **Form** devuelve el objeto asociado al formulario actual (instanciado a partir del parámetro *formData* o de la clase de usuario asignada en el editor de formularios). 4D automatically associates an object to the current form in the following cases:
+El comando **Form** devuelve el objeto asociado al formulario actual (instanciado a partir del parámetro *formData* o de la clase de usuario asignada en el editor de formularios). 4D asocia automáticamente un objeto al formulario actual en los siguientes casos:
- el formulario actual ha sido cargado por uno de los comandos [`DIALOG`](dialog.md), [`Print form`](print-form.md), o [`FORM LOAD`](form-load.md),
- el formulario actual es un subformulario,
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/commands/listbox-get-property.md b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/commands/listbox-get-property.md
index 1950ec74b81673..e0fe65323178a0 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/commands/listbox-get-property.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/commands/listbox-get-property.md
@@ -85,7 +85,7 @@ Dado un list box "MyListbox", si ejecuta la siguiente instrucción:
$Value:=LISTBOX Get property(*; "MyListbox";lk selection mode) // el valor devuelto indica el modo de selección
```
-In this case, the result returned indicates whether multiple rows can be selected.
+En este caso, el resultado devuelto indica si varios registros pueden ser seleccionados.
## Ejemplo 2
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/commands/listbox-set-property.md b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/commands/listbox-set-property.md
index bad06c1b5092c0..d6641157210542 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/commands/listbox-set-property.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/commands/listbox-set-property.md
@@ -25,7 +25,7 @@ Si pasa el parámetro opcional *\**, indica que el parámetro *object* es un nom
**Note:** If the list box or list box column specified using the *object* and *\** parameters does not exist, the command does nothing and no error is triggered.
-In the *property* and *value* parameters, you indicate, respectively, the property to set and its new value. Puede utilizar las siguientes constantes encontradas en el tema “*List Box*:
+En los parámetros *property* y *value*, usted indica, respectivamente, la propiedad a definir y su nuevo valor. Puede utilizar las siguientes constantes encontradas en el tema “*List Box*:
| Constante | Valor | Comentario |
| ------------------------------ | ----- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
@@ -69,7 +69,7 @@ In the *property* and *value* parameters, you indicate, respectively, the proper
## Ejemplo 1
-You want to make all columns of the "MyListbox" list box resizable:
+Quiere que todas las columnas del list box "MyListbox" sean redimensionables:
```4d
LISTBOX SET PROPERTY(*;"MyListbox";lk column resizable;lk yes) //Todas las columnas del list box "MyListbox" se establecen como redimensionables
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/commands/new-log-file.md b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/commands/new-log-file.md
index dc7638f769dbd6..a3a706e3623201 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/commands/new-log-file.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/commands/new-log-file.md
@@ -20,12 +20,12 @@ displayed_sidebar: docs
The **New log file** command closes the current log file, renames it and creates a new one with the same name in the same location as the previous one. This command is meant to be used for setting up a backup system using a logical mirror (see the section *Setting up a logical mirror* in the [4D Server Reference Manual](https://doc/4d.com)).
-The command returns the full pathname (access path + name) of the log file being closed (called the “segment”). Este archivo se almacena en la misma ubicación que el archivo de registro actual (especificado en la [página de configuración](../Backup/settings.md#configuration) en el tema de copia de seguridad de la configuración). The command does not carry out any processing (compression, segmentation) on the saved file. No aparece ninguna
+El comando devuelve el nombre completo de la ruta (ruta de acceso + nombre) del archivo de registro que se está cerrando (llamado “segment”). Este archivo se almacena en la misma ubicación que el archivo de registro actual (especificado en la [página de configuración](../Backup/settings.md#configuration) en el tema de copia de seguridad de la configuración). El comando no realiza ningún procesamiento (compresión, segmentación) en el archivo guardado. No aparece ninguna
caja de diálogo.
The file is renamed with the current backup numbers of the database and of the log file, as shown in the following example: DatabaseName\[BackupNum-LogBackupNum\].journal. Por ejemplo:
-- If the MyDatabase.4DD database has been saved 4 times, the last backup file will be named MyDatabase\[0004\].4BK. The name of the first “segment” of the log file will therefore be MyDatabase\[0004-0001\].journal.
+- If the MyDatabase.4DD database has been saved 4 times, the last backup file will be named MyDatabase\[0004\].4BK. El nombre del primer “segment” del archivo de registro será, por lo tanto, MyDatabase\[0004-0001\].journal.
- If the MyDatabase.4DD database has been saved 3 times and the log file has been saved 5 times since, the name of the 6th backup of the log file will be MyDatabase\[0003-0006\].journal.
:::warning
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/commands/select-log-file.md b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/commands/select-log-file.md
index 4645679308f3d1..05b28a5eb1d550 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/commands/select-log-file.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/commands/select-log-file.md
@@ -17,11 +17,11 @@ displayed_sidebar: docs
## Descripción
-The **SELECT LOG FILE** command creates, or closes the log file according to the value you pass in parameter.
+El comando **SELECT LOG FILE** crea o cierra el archivo de historial de acuerdo al valor que pase en el parámetro.
-In *logFile*, pass the name or the full pathname of the log file to be created. If you only pass a name, the file will be created in the "Logs" folder of the database located next to the database structure file.
+En *logFile*, pase el nombre o la ruta completa del archivo de registro a ser creado. If you only pass a name, the file will be created in the "Logs" folder of the database located next to the database structure file.
-If you pass an empty string in *logFile*, **SELECT LOG FILE** presents an Save File dialog box, allowing the user to choose the name and location of the log file to be created. Si el archivo se crea correctamente, la variable OK toma el valor 1. Otherwise, if the user clicks Cancel or if the log file could not be created, OK is set to 0.
+If you pass an empty string in *logFile*, **SELECT LOG FILE** presents an Save File dialog box, allowing the user to choose the name and location of the log file to be created. Si el archivo se crea correctamente, la variable OK toma el valor 1. De lo contrario, si el usuario hace clic en Cancelar o si el archivo de registro no pudo ser creado, OK toma el valor 0.
**Note:** The new log file is not generated immediately after execution of the command, but after the next backup (the parameter is kept in the data file and will be taken into account even if the database is closed in the meantime) or a call to the [New log file](new-log-file.md) command. Puede llamar al comando [BACKUP](../commands-legacy/backup.md) para activar la creación del archivo de registro.
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/commands/wa-get-context.md b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/commands/wa-get-context.md
index 98329331b077f7..366311d7124bd5 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/commands/wa-get-context.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/commands/wa-get-context.md
@@ -18,7 +18,7 @@ displayed_sidebar: docs
### Descripción
-El comando `WA Get context` recupera el objeto de contexto definido para `$4d` en el área Web designada por los parámetros \* y *object* utilizando [`WA SET CONTEXT`](./wa-set-context.md). If `WA SET CONTEXT` was not called for the web area the command returns `null`.
+El comando `WA Get context` recupera el objeto de contexto definido para `$4d` en el área Web designada por los parámetros \* y *object* utilizando [`WA SET CONTEXT`](./wa-set-context.md). Si `WA SET CONTEXT` no fue llamado para el área web, el comando devuelve `null`.
:::note
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-20/API/CollectionClass.md b/i18n/es/docusaurus-plugin-content-docs/version-20/API/CollectionClass.md
index 589ce2c5986e0a..7539499b2ac346 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-20/API/CollectionClass.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-20/API/CollectionClass.md
@@ -3268,7 +3268,7 @@ Quiere saber si al menos un valor de la colección es >0.
La función `.orderBy()` ordena los elementos de la colección original y también devuelve la colección ordenada .
> Esta función modifica la colección original.
-Si se llama a `.sort()` sin parámetros, sólo se ordenan los valores escalares (número, texto, fecha, booleanos). Los elementos se ordenan por defecto de forma ascendente, según su tipo. You can also pass one of the following constants in the *ascOrDesc* parameter:
+Si se llama a `.sort()` sin parámetros, sólo se ordenan los valores escalares (número, texto, fecha, booleanos). Los elementos se ordenan por defecto de forma ascendente, según su tipo. También puede pasar una de las siguientes constantes en el parámetro *ascOrDesc*:
|Constant| Type|Value|Comment|
|---|---|---|---|
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-20/Notes/updates.md b/i18n/es/docusaurus-plugin-content-docs/version-20/Notes/updates.md
index b3728efa113318..f1bbda81ce6386 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-20/Notes/updates.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-20/Notes/updates.md
@@ -11,6 +11,14 @@ Lea las [**novedades de 4D 20**](https://blog.4d.com/en-whats-new-in-4d-v20/), l
:::
+## 4D 20.8 LTS
+
+#### Lo más destacado
+
+- [**Lista de bugs corregidos**](https://bugs.4d.com/fixes?version=20.8): lista de todos los bugs corregidos en 4D 20.8 LTS.
+
+
+
## 4D 20.7 LTS
#### Lo más destacado
@@ -25,7 +33,7 @@ Por razones internas, la versión de los clientes remotos que se conectan a 4D S
#### Cambios de comportamiento
-- As of 4D **20.7 HF2**, the [`Time`](https://doc.4d.com/4dv20/help/command/en/page179.html) command returns a negative time expression when the *timeValue* parameter is negative. For instance, `Time("-01:02:03")` will now return -01:02:03. En versiones anteriores, se ignoraba el signo negativo.
+- As of 4D **20.7 HF2**, the [`Time`](https://doc.4d.com/4dv20/help/command/en/page179.html) command returns a negative time expression when the *timeValue* parameter is negative. Por ejemplo, `Time("-01:02:03")` ahora devolverá -01:02:03. En versiones anteriores, se ignoraba el signo negativo.
## 4D 20.6 LTS
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-20/settings/web.md b/i18n/es/docusaurus-plugin-content-docs/version-20/settings/web.md
index 87ae538ddee0c1..5cc43e25d1efc9 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-20/settings/web.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-20/settings/web.md
@@ -170,7 +170,7 @@ El menú de formato de registro ofrece las siguientes opciones:
Each field is separated by a space and each line ends by the CR/LF sequence (character 13, character 10).
- host: dirección IP del cliente (por ejemplo: "192.100.100.10)
- rfc931: información no generada por 4D, siempre es - (un signo menos)
- - usuario: nombre del usuario como está autenticado, o - (un signo menos). If the user name contains spaces, they will be replaced by \_ (an underscore).
+ - usuario: nombre del usuario como está autenticado, o - (un signo menos). Si el nombre de usuario contiene espacios, se remplazan por \_ (un guión bajo).
- DD: día, MMM: una abreviatura de 3 letras para el nombre del mes (Jan, Feb,...), YYYY: año, HH: hora, MM: minutos, SS: segundos
> La fecha y hora son locales al servidor.
@@ -197,30 +197,30 @@ El menú de formato de registro ofrece las siguientes opciones:
La siguiente tabla enumera los campos disponibles para cada formato (en orden alfabético) y describe su contenido:
-| Campo | ELF | WLF | Valor |
-| -------------- | --- | --- | --------------------------------------------------------------------------- |
-| BYTES_RECEIVED | | X | Número de bytes recibidos por el servidor |
-| BYTES_SENT | X | X | Número de bytes enviados por el servidor al cliente |
-| C_DNS | X | X | Dirección IP del DNS (ELF: campo idéntico al campo C_IP) |
-| C_IP | X | X | Dirección IP del cliente (por ejemplo 192.100.100.10) |
-| CONNECTION_ID | | X | Número de identificación de la conexión |
-| CS(COOKIE) | X | X | Información sobre las cookies contenidas en la petición HTTP |
-| CS(HOST) | X | X | Campo Host de la petición HTTP |
-| CS(REFERER) | X | X | URL de la página que apunta al documento solicitado |
-| CS(USER_AGENT) | X | X | Información sobre el software y el sistema operativo del cliente |
-| CS_SIP | X | X | Dirección IP del servidor |
-| CS_URI | X | X | URI sobre el que se realiza la petición |
-| CS_URI_QUERY | X | X | Parámetros de consulta de la petición |
-| CS_URI_STEM | X | X | Parte de la solicitud sin los parámetros de la consulta |
-| DATE | X | X | DD: día, MMM: abreviación de 3 letras para el mes (Jan, Feb,...), YYYY: año |
-| METHOD | X | X | Método HTTP utilizado para la solicitud enviada al servidor |
-| PATH_ARGS | | X | Parámetros de la CGI: cadena situada después del caracter "$" |
-| STATUS | X | X | Respuesta ofrecida por el servidor |
-| TIME | X | X | HH: hora, MM: minutos, SS: segundos |
-| TRANSFER_TIME | X | X | Tiempo solicitado por el servidor para generar la respuesta |
-| USER | X | X | Nombre de usuario si está autenticado; en caso contrario, - (signo menos). |
-| | | | If the user name contains spaces, they are replaced by \_ (underlines) |
-| URL | | X | URL solicitado por el cliente |
+| Campo | ELF | WLF | Valor |
+| -------------- | --- | --- | -------------------------------------------------------------------------------- |
+| BYTES_RECEIVED | | X | Número de bytes recibidos por el servidor |
+| BYTES_SENT | X | X | Número de bytes enviados por el servidor al cliente |
+| C_DNS | X | X | Dirección IP del DNS (ELF: campo idéntico al campo C_IP) |
+| C_IP | X | X | Dirección IP del cliente (por ejemplo 192.100.100.10) |
+| CONNECTION_ID | | X | Número de identificación de la conexión |
+| CS(COOKIE) | X | X | Información sobre las cookies contenidas en la petición HTTP |
+| CS(HOST) | X | X | Campo Host de la petición HTTP |
+| CS(REFERER) | X | X | URL de la página que apunta al documento solicitado |
+| CS(USER_AGENT) | X | X | Información sobre el software y el sistema operativo del cliente |
+| CS_SIP | X | X | Dirección IP del servidor |
+| CS_URI | X | X | URI sobre el que se realiza la petición |
+| CS_URI_QUERY | X | X | Parámetros de consulta de la petición |
+| CS_URI_STEM | X | X | Parte de la solicitud sin los parámetros de la consulta |
+| DATE | X | X | DD: día, MMM: abreviación de 3 letras para el mes (Jan, Feb,...), YYYY: año |
+| METHOD | X | X | Método HTTP utilizado para la solicitud enviada al servidor |
+| PATH_ARGS | | X | Parámetros de la CGI: cadena situada después del caracter "$" |
+| STATUS | X | X | Respuesta ofrecida por el servidor |
+| TIME | X | X | HH: hora, MM: minutos, SS: segundos |
+| TRANSFER_TIME | X | X | Tiempo solicitado por el servidor para generar la respuesta |
+| USER | X | X | Nombre de usuario si está autenticado; en caso contrario, - (signo menos). |
+| | | | Si el nombre de usuario contiene espacios, son reemplazados por \_ (subrayado) |
+| URL | | X | URL solicitado por el cliente |
> Las fechas y horas se indican en GMT.
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-21/API/CollectionClass.md b/i18n/es/docusaurus-plugin-content-docs/version-21/API/CollectionClass.md
index de25918e361018..b19fb72882385a 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-21/API/CollectionClass.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-21/API/CollectionClass.md
@@ -3169,7 +3169,7 @@ La función `.sort()` ordena los elemento
> Esta función modifica la colección original.
Si se llama a `.sort()` sin parámetros, sólo se ordenan los valores escalares (número, texto, fecha, booleanos). Los elementos se ordenan por defecto de forma ascendente, según su tipo.
-You can also pass one of the following constants in the *ascOrDesc* parameter:
+También puede pasar una de las siguientes constantes en el parámetro *ascOrDesc*:
```
|Constant| Type|Value|Comment|
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-21/API/CryptoKeyClass.md b/i18n/es/docusaurus-plugin-content-docs/version-21/API/CryptoKeyClass.md
index 165d71999ad19e..0dcbda2559aa1c 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-21/API/CryptoKeyClass.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-21/API/CryptoKeyClass.md
@@ -54,12 +54,12 @@ La función `4D.CryptoKey.new()` crea un
#### *settings*
-| Propiedad | Tipo | Descripción |
-| --------------- | ------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
-| [type](#type) | text | Defines the type of the key to create: "RSA": generates a RSA key pair, using [.size](#size) as size."ECDSA": generates an Elliptic Curve Digital Signature Algorithm key pair, using [.curve](#curve) as curve. Tenga en cuenta que las llaves ECDSA no pueden utilizarse para el cifrado, sino solo para la firma."PEM": loads a key pair definition in PEM format, using [.pem](#pem). |
-| [curve](#curve) | text | Nombre de la curva ECDSA |
-| [pem](#pem) | text | Definición PEM de una llave de cifrado a cargar |
-| [size](#size) | integer | Tamaño de la llave RSA en bits |
+| Propiedad | Tipo | Descripción |
+| --------------- | ------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| [type](#type) | text | Define el tipo de llave a crear: "RSA": genera un par de llaves RSA, utilizando [.size](#size) como tamaño."ECDSA": genera un par de llaves Elliptic Curve Digital Signature Algorithm, utilizando [.curve](#curve) como curva. Tenga en cuenta que las llaves ECDSA no pueden utilizarse para el cifrado, sino solo para la firma."PEM": carga una definición de par de llaves en formato PEM, utilizando [.pem](#pem). |
+| [curve](#curve) | text | Nombre de la curva ECDSA |
+| [pem](#pem) | text | Definición PEM de una llave de cifrado a cargar |
+| [size](#size) | integer | Tamaño de la llave RSA en bits |
#### *CryptoKey*
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-21/API/EntityClass.md b/i18n/es/docusaurus-plugin-content-docs/version-21/API/EntityClass.md
index 27a8ce893baa25..43a8a2bc90666a 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-21/API/EntityClass.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-21/API/EntityClass.md
@@ -393,15 +393,15 @@ El objeto devuelto por `.drop()` contiene las siguientes propiedades:
(\*) Los siguientes valores pueden ser devueltos en las propiedades *status* y *statusText* del objeto *Result* en caso de error:
-| Constante | Valor | Comentario |
-| ----------------------------------------- | ----- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
-| `dk status entity does not exist anymore` | 5 | La entidad ya no existe en los datos. Este error puede ocurrir en los siguientes casos:
la entidad ha sido eliminada (el marcador ha cambiado y ahora el espacio de memoria está libre)la entidad ha sido eliminada y reemplazada por otra con otra clave primaria (el marcador ha cambiado y una nueva entidad ahora utiliza el espacio memoria). When using entity.drop(), this error can be returned when dk force drop if stamp changed option is used. When using entity.lock(), this error can be returned when dk reload if stamp changed option is used. **statusText asociado**: "La entidad ya no existe" |
-| `dk status locked` | 3 | La entidad está bloqueada por un bloqueo pesimista.
**statusText asociado**: "Already locked" |
-| `dk status validation failed` | 7 | Non fatal error sent by the developer for a [validate event](../ORDA/orda-events.md). **statusText asociado**: "Mild Validation Error" |
-| `dk status serious error` | 4 | A serious error is a low-level database error (e.g. duplicated key), a hardware error, etc.
**statusText asociado**\*: "Other error" |
-| `dk status serious validation error` | 8 | Fatal error sent by the developer for a [validate event](../ORDA/orda-events.md). **statusText asociado**: "Serious Validation Error" |
-| `dk status stamp has changed` | 2 | The internal stamp value of the entity does not match the one of the entity stored in the data (optimistic lock).
with `.save()`: error only if the `dk auto merge` option is not usedwith `.drop()`: error only if the `dk force drop if stamp changed` option is not usedwith `.lock()`: error only if the `dk reload if stamp changed` option is not used**Associated statusText**: "Stamp has changed" |
-| `dk status wrong permission` | 1 | Los privilegios actuales no permiten suprimir la entidad. **Associated statusText**: "Permission Error" |
+| Constante | Valor | Comentario |
+| ----------------------------------------- | ----- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| `dk status entity does not exist anymore` | 5 | La entidad ya no existe en los datos. Este error puede ocurrir en los siguientes casos:
la entidad ha sido eliminada (el marcador ha cambiado y ahora el espacio de memoria está libre)la entidad ha sido eliminada y reemplazada por otra con otra clave primaria (el marcador ha cambiado y una nueva entidad ahora utiliza el espacio memoria). Cuando se utiliza entity.drop(), este error puede ser devuelto cuando se utiliza la opción dk force drop if stamp changed. When using entity.lock(), this error can be returned when dk reload if stamp changed option is used. **statusText asociado**: "La entidad ya no existe" |
+| `dk status locked` | 3 | La entidad está bloqueada por un bloqueo pesimista.
**statusText asociado**: "Already locked" |
+| `dk status validation failed` | 7 | Error no crítico enviado por el desarrollador para un [evento de validación](../ORDA/orda-events.md). **statusText asociado**: "Mild Validation Error" |
+| `dk status serious error` | 4 | A serious error is a low-level database error (e.g. duplicated key), a hardware error, etc.
**statusText asociado**\*: "Other error" |
+| `dk status serious validation error` | 8 | Error crítico enviado por el desarrollador para un [evento de validación](../ORDA/orda-events.md). **statusText asociado**: "Serious Validation Error" |
+| `dk status stamp has changed` | 2 | El valor del marcador interno (stamp) de la entidad no coincide con el de la entidad almacenada en los datos (bloqueo optimista).
with `.save()`: error only if the `dk auto merge` option is not usedwith `.drop()`: error only if the `dk force drop if stamp changed` option is not usedwith `.lock()`: error only if the `dk reload if stamp changed` option is not used**Associated statusText**: "Stamp has changed" |
+| `dk status wrong permission` | 1 | Los privilegios actuales no permiten suprimir la entidad. **Associated statusText**: "Permission Error" |
#### Ejemplo 1
@@ -1020,7 +1020,7 @@ El objeto devuelto por `.lock()` contiene las siguientes propiedades:
| `dk status entity does not exist anymore` | 5 | La entidad ya no existe en los datos. Este error puede ocurrir en los siguientes casos:
la entidad ha sido eliminada (el marcador ha cambiado y ahora el espacio de memoria está libre)la entidad ha sido eliminada y reemplazada por otra con otra clave primaria (el marcador ha cambiado y una nueva entidad ahora utiliza el espacio memoria). Cuando se utiliza `.drop()`, este error puede devolverse cuando se utiliza la opción dk force drop if stamp changed. Cuando se utiliza `.lock()`, este error puede ser devuelto cuando se utiliza la opción `dk reload if stamp changed`
**statusText asociado**: "Entity does not exist anymore" |
| `dk status locked` | 3 | La entidad está bloqueada por un bloqueo pesimista. **statusText asociado**: "Already locked" |
| `dk status serious error` | 4 | A serious error is a low-level database error (e.g. duplicated key), a hardware error, etc.
**statusText asociado**\*: "Other error" |
-| `dk status stamp has changed` | 2 | The internal stamp value of the entity does not match the one of the entity stored in the data (optimistic lock).with `.save()`: error only if the `dk auto merge` option is not usedwith `.drop()`: error only if the `dk force drop if stamp changed` option is not usedwith `.lock()`: error only if the `dk reload if stamp changed` option is not used
**Associated statusText**: "Stamp has changed" |
+| `dk status stamp has changed` | 2 | El valor del marcador interno (stamp) de la entidad no coincide con el de la entidad almacenada en los datos (bloqueo optimista).with `.save()`: error only if the `dk auto merge` option is not usedwith `.drop()`: error only if the `dk force drop if stamp changed` option is not usedwith `.lock()`: error only if the `dk reload if stamp changed` option is not used
**Associated statusText**: "Stamp has changed" |
#### Ejemplo 1
@@ -1182,10 +1182,10 @@ El objeto devuelto por `.reload( )` contiene las siguientes propiedades:
(\*) Los siguientes valores pueden ser devueltos en las propiedades *status* y *statusText* del objeto *Result* en caso de error:
-| Constante | Valor | Comentario |
-| ----------------------------------------- | ----- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
-| `dk status entity does not exist anymore` | 5 | La entidad ya no existe en los datos. Este error puede ocurrir en los siguientes casos:
la entidad ha sido eliminada (el marcador ha cambiado y ahora el espacio de memoria está libre)la entidad ha sido eliminada y reemplazada por otra con otra clave primaria (el marcador ha cambiado y una nueva entidad ahora utiliza el espacio memoria). When using `.drop()`, this error can be returned when `dk force drop if stamp changed` option is used. Cuando se utiliza `.lock()`, este error puede ser devuelto cuando se utiliza la opción `dk reload if stamp changed`
**statusText asociado**: "Entity does not exist anymore" |
-| `dk status serious error` | 4 | A serious error is a low-level database error (e.g. duplicated key), a hardware error, etc.
***statusText asociado***: "Other error" |
+| Constante | Valor | Comentario |
+| ----------------------------------------- | ----- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
+| `dk status entity does not exist anymore` | 5 | La entidad ya no existe en los datos. Este error puede ocurrir en los siguientes casos:
la entidad ha sido eliminada (el marcador ha cambiado y ahora el espacio de memoria está libre)la entidad ha sido eliminada y reemplazada por otra con otra clave primaria (el marcador ha cambiado y una nueva entidad ahora utiliza el espacio memoria). Cuando se utiliza `.drop()`, este error puede devolverse cuando se utiliza la opción `dk force drop if stamp changed`. Cuando se utiliza `.lock()`, este error puede ser devuelto cuando se utiliza la opción `dk reload if stamp changed`
**statusText asociado**: "Entity does not exist anymore" |
+| `dk status serious error` | 4 | A serious error is a low-level database error (e.g. duplicated key), a hardware error, etc.
***statusText asociado***: "Other error" |
#### Ejemplo
@@ -1277,16 +1277,16 @@ El objeto devuelto por `.save()` contiene las siguientes propiedades:
Los siguientes valores pueden ser devueltos en las propiedades `status`y `statusText` del objeto Result en caso de error:
-| Constante | Valor | Comentario |
-| ----------------------------------------- | ----- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
-| `dk status automerge failed` | 6 | (Only if the `dk auto merge` option is used) The automatic merge option failed when saving the entity. **statusText asociado**: "Fallo de la fusión automática" |
-| `dk status entity does not exist anymore` | 5 | La entidad ya no existe en los datos. Este error puede ocurrir en los siguientes casos:
la entidad ha sido eliminada (el marcador ha cambiado y ahora el espacio de memoria está libre)la entidad ha sido eliminada y reemplazada por otra con otra clave primaria (el marcador ha cambiado y una nueva entidad ahora utiliza el espacio memoria). When using `.drop()`, this error can be returned when `dk force drop if stamp changed` option is used. Cuando se utiliza `.lock()`, este error puede ser devuelto cuando se utiliza la opción `dk reload if stamp changed`
**statusText asociado**: "Entity does not exist anymore" |
-| `dk status locked` | 3 | La entidad está bloqueada por un bloqueo pesimista. **statusText asociado**: "Already locked" |
-| `dk status validation failed` | 7 | Non fatal error sent by the developer for a [validate event](../ORDA/orda-events.md). **statusText asociado**: "Mild Validation Error" |
-| `dk status serious error` | 4 | A serious error is a low-level database error (e.g. duplicated key), a hardware error, etc. **Associated statusText**: "Other error" |
-| `dk status serious validation error` | 8 | Fatal error sent by the developer for a [validate event](../ORDA/orda-events.md). **statusText asociado**: "Serious Validation Error" |
-| `dk status stamp has changed` | 2 | The internal stamp value of the entity does not match the one of the entity stored in the data (optimistic lock).
with `.save()`: error only if the `dk auto merge` option is not usedwith `.drop()`: error only if the `dk force drop if stamp changed` option is not usedwith `.lock()`: error only if the `dk reload if stamp changed` option is not used
**Associated statusText**: "Stamp has changed" |
-| `dk status wrong permission` | 1 | Los privilegios actuales no permiten guardar la entidad. **Associated statusText**: "Permission Error" |
+| Constante | Valor | Comentario |
+| ----------------------------------------- | ----- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
+| `dk status automerge failed` | 6 | (Solo si se utiliza la opción `dk auto merge`) La opción de fusión automática falló al guardar la entidad. **statusText asociado**: "Fallo de la fusión automática" |
+| `dk status entity does not exist anymore` | 5 | La entidad ya no existe en los datos. Este error puede ocurrir en los siguientes casos:
la entidad ha sido eliminada (el marcador ha cambiado y ahora el espacio de memoria está libre)la entidad ha sido eliminada y reemplazada por otra con otra clave primaria (el marcador ha cambiado y una nueva entidad ahora utiliza el espacio memoria). Cuando se utiliza `.drop()`, este error puede devolverse cuando se utiliza la opción `dk force drop if stamp changed`. Cuando se utiliza `.lock()`, este error puede ser devuelto cuando se utiliza la opción `dk reload if stamp changed`
**statusText asociado**: "Entity does not exist anymore" |
+| `dk status locked` | 3 | La entidad está bloqueada por un bloqueo pesimista. **statusText asociado**: "Already locked" |
+| `dk status validation failed` | 7 | Error no crítico enviado por el desarrollador para un [evento de validación](../ORDA/orda-events.md). **statusText asociado**: "Mild Validation Error" |
+| `dk status serious error` | 4 | A serious error is a low-level database error (e.g. duplicated key), a hardware error, etc. **Associated statusText**: "Other error" |
+| `dk status serious validation error` | 8 | Error crítico enviado por el desarrollador para un [evento de validación](../ORDA/orda-events.md). **statusText asociado**: "Serious Validation Error" |
+| `dk status stamp has changed` | 2 | El valor del marcador interno (stamp) de la entidad no coincide con el de la entidad almacenada en los datos (bloqueo optimista).
with `.save()`: error only if the `dk auto merge` option is not usedwith `.drop()`: error only if the `dk force drop if stamp changed` option is not usedwith `.lock()`: error only if the `dk reload if stamp changed` option is not used
**Associated statusText**: "Stamp has changed" |
+| `dk status wrong permission` | 1 | Los privilegios actuales no permiten guardar la entidad. **Associated statusText**: "Permission Error" |
#### Ejemplo 1
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-21/API/IMAPTransporterClass.md b/i18n/es/docusaurus-plugin-content-docs/version-21/API/IMAPTransporterClass.md
index 05be142672c1db..00fb9eee94ee8e 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-21/API/IMAPTransporterClass.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-21/API/IMAPTransporterClass.md
@@ -791,16 +791,16 @@ En el parámetro opcional `parameters`, pase un objeto que contenga valores para
Cada objeto de la colección devuelta contiene las siguientes propiedades:
-| Propiedad | Tipo | Descripción |
-| ------------------------------------------------------------------------------------ | ------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
-| \[].name | Text | Nombre del buzón. Devuelto si withBoxProperties=true o withBoxInfo=true |
-| \[].selectable | Boolean | Indica si los derechos de acceso permiten o no seleccionar el buzón de correo: - true - el buzón puede ser seleccionado
- false - el buzón de correo no puede ser seleccionado
Devuelto si withBoxProperties=true |
-| \[].inferior | Boolean | Indica si los derechos de acceso permiten o no crear una jerarquía inferior en el buzón: - true - se puede crear un nivel inferior
- false - no se puede crear un nivel inferior
Se devuelve si withBoxProperties=true |
-| \[].interesting | Boolean | Indica si el buzón ha sido marcado como "interesante" por el servidor: - true - El buzón ha sido marcado como "interesante" por el servidor. Por ejemplo, puede contener mensajes nuevos.
- false - The mailbox has not been marked "interesting" by the server.
Se devuelve si withBoxProperties=true |
-| [].mailCount | Number | Número de mensajes en el buzón. Devuelto si withBoxInfo=true |
-| [].mailRecent | Number | Número de mensajes marcados como "recent" (indicando nuevos mensajes). Devuelto si withBoxInfo=true |
-| [].mailUnseen | Number | Número de mensajes marcados como "unseen". Devuelto si withBoxInfo=true |
-| [].id | Text | Identificador único del buzón. Devuelto si withBoxInfo=true |
+| Propiedad | Tipo | Descripción |
+| ------------------------------------------------------------------------------------ | ------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| \[].name | Text | Nombre del buzón. Devuelto si withBoxProperties=true o withBoxInfo=true |
+| \[].selectable | Boolean | Indica si los derechos de acceso permiten o no seleccionar el buzón de correo: - true - el buzón puede ser seleccionado
- false - el buzón de correo no puede ser seleccionado
Devuelto si withBoxProperties=true |
+| \[].inferior | Boolean | Indica si los derechos de acceso permiten o no crear una jerarquía inferior en el buzón: - true - se puede crear un nivel inferior
- false - no se puede crear un nivel inferior
Se devuelve si withBoxProperties=true |
+| \[].interesting | Boolean | Indica si el buzón ha sido marcado como "interesante" por el servidor: - true - El buzón ha sido marcado como "interesante" por el servidor. Por ejemplo, puede contener mensajes nuevos.
- false - El buzón no ha sido marcado como "interesante" por el servidor.
Se devuelve si withBoxProperties=true |
+| [].mailCount | Number | Número de mensajes en el buzón. Devuelto si withBoxInfo=true |
+| [].mailRecent | Number | Número de mensajes marcados como "recent" (indicando nuevos mensajes). Devuelto si withBoxInfo=true |
+| [].mailUnseen | Number | Número de mensajes marcados como "unseen". Devuelto si withBoxInfo=true |
+| [].id | Text | Identificador único del buzón. Devuelto si withBoxInfo=true |
Si la cuenta no contiene buzones, se devuelve una colección vacía.
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-21/API/SessionClass.md b/i18n/es/docusaurus-plugin-content-docs/version-21/API/SessionClass.md
index fa0c67c6f7c7b1..53e8a1a9ceea1b 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-21/API/SessionClass.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-21/API/SessionClass.md
@@ -390,7 +390,7 @@ Esta función devuelve True para el *privilegio* si se llama desde una función
Regarding remote client sessions, the function only concerns the code executed in the context of a [web request sent through a Web area](../Desktop/clientServer.md#sharing-the-session-with-qodly-pages-in-web-areas).
-With stored procedure sessions and standalone sessions, this function always returns True, whatever the *privilege*.
+Con las sesiones de procedimiento almacenadas y las sesiones independientes, esta función siempre devuelve True, sea cual sea el *privilegio*.
#### Ejemplo
@@ -754,7 +754,7 @@ Function callback($request : 4D.IncomingMessage) : 4D.OutgoingMessage
:::note
-This function does nothing and always returns **False** with stored procedure sessions and standalone sessions.
+Esta función no hace nada y siempre devuelve **False** con sesiones de procedimientos almacenadas y las sesiones independientes.
:::
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-21/API/WebServerClass.md b/i18n/es/docusaurus-plugin-content-docs/version-21/API/WebServerClass.md
index 6fed6a0c01983c..9b27f3d5414da9 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-21/API/WebServerClass.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-21/API/WebServerClass.md
@@ -187,7 +187,7 @@ El nombre de la página de i
*Propiedad de sólo lectura*
-A collection of custom HTTP handler objects. An HTTP handler object contains a listened URL pattern, a handled verb, and the code to be called. HTTP handlers can be defined through a HTTPHandlers.json file or the *settings* parameter of the [`.start()`](#start) function. For more information, please refer to the [HTTP Request handler](../WebServer/http-request-handler.md) page.
+A collection of custom HTTP handler objects. An HTTP handler object contains a listened URL pattern, a handled verb, and the code to be called. HTTP handlers can be defined through a HTTPHandlers.json file or the *settings* parameter of the [`.start()`](#start) function. Para más información, consulte la página [HTTP Request handler](../WebServer/http-request-handler.md).
@@ -495,7 +495,7 @@ La ruta de la carpeta raíz del s
*Propiedad de sólo lectura*
-A collection of rule objects currently handled to customize HTTP headers. A rule object contains a "regexPattern" property, as well as an action name with a value. HTTP rules can be defined through a HTTPRules.json file or the *settings* parameter of the [`.start()`](#start) function. For more information, please refer to the [HTTP Rules](../WebServer/http-rules.md) page.
+A collection of rule objects currently handled to customize HTTP headers. A rule object contains a "regexPattern" property, as well as an action name with a value. HTTP rules can be defined through a HTTPRules.json file or the *settings* parameter of the [`.start()`](#start) function. Para obtener más información, consulte la página [Reglas HTTP](../WebServer/http-rules.md).
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-21/Admin/cli.md b/i18n/es/docusaurus-plugin-content-docs/version-21/Admin/cli.md
index 629c6c21a7223c..cc30a3dc01b1af 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-21/Admin/cli.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-21/Admin/cli.md
@@ -44,25 +44,25 @@ Sintaxis:
[--utility] [--skip-onstartup] [--startup-method ]
```
-| Argumento | Valor | Descripción |
-| :-------------------------- | -------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
-| `applicationPath` | Ruta de 4D, 4D Server, aplicación fusionada o tool4d | Lanza la aplicación.
If not headless: identical to double-clicking the application; when called without structure file argument, the application is executed and the 'select database' dialog box appears. |
-| `--version` | | Muestra la versión de la aplicación y sale |
-| `--help` | | Muestra el mensaje de ayuda y sale. Argumentos
alternativos: -?, -h |
-| `--project` | projectPath
| packagePath | 4dlinkPath | Archivo de proyecto
a abrir con el archivo de datos actual. No aparece ninguna
caja de diálogo. |
-| `--data` | dataPath | Archivo de datos a
abrir con el archivo de proyecto designado. Si no se especifica, se utiliza el último archivo de datos
abierto. |
-| `--opening-mode` | interpreted
| compiled | Base de datos de
peticiones a abrir en modo interpretado o compilado. No se lanza ningún
error si el modo solicitado no está disponible. |
-| `--create-data` | | Crea automáticamente
un nuevo archivo de datos si no se encuentra un archivo de datos válido. No aparece ninguna
caja de diálogo. 4D utiliza el nombre
del archivo pasado en el argumento "--data" si lo hay (genera un error si ya
existe un archivo con el mismo nombre). |
-| `--user-param` | Cadena usuario
personalizada | Una cadena que estará disponible en la aplicación a través del comando [`Get database parameter`](../commands-legacy/get-database-parameter.md) (la cadena no debe comenzar por un carácter "-", que está reservado). |
-| `--headless` | | Lanza 4D, 4D Server o la aplicación fusionada sin interfaz (modo headless). En este modo: El modo Diseño no está disponible, la base de datos se inicia en modo Aplicación No se muestra la barra de herramientas, la barra de menú, la ventana MDI ni la pantalla de presentaciónNo se muestra ningún icono en el dock o la barra de tareasLa base de datos abierta no se registra en el menú "Bases de datos recientes"Se inicia automáticamente el registro de diagnóstico (ver [SET DATABASE PARAMETER](../commands-legacy/set-database-parameter.md), selector 79)Se intercepta cada llamada a una caja de diálogo y se suministra una respuesta automática (por ejemplo, OK para el comando [ALERT](../commands-legacy/alert.md), Abort para un diálogo de error...). All intercepted commands(\*) are logged in the diagnostic log.
For maintenance needs, you can send any text to standard output streams using the [LOG EVENT](../commands-legacy/log-event.md) command. Tenga en cuenta que las aplicaciones 4D sin interfaz sólo pueden cerrarse mediante una llamada a [QUIT 4D](../commands-legacy/quit-4d.md) o utilizando el administrador de tareas del sistema operativo. |
-| `--dataless` | | Lanza 4D, 4D Server, la aplicación fusionada o tool4d en modo sin datos. El modo sin datos es útil cuando 4D ejecuta tareas sin necesidad de datos (compilación de proyectos, por ejemplo). In this mode: No file containing data is opened, even if specified in the command line or the `.4DLink` file, or when using the `CREATE DATA FILE` and `OPEN DATA FILE` commands.Los comandos que manipulan datos arrojarán un error. Por ejemplo, `CREATE RECORD` lanza "no hay tabla a la que aplicar el comando".
**Nota**:si se pasa en la línea de comando, el modo dataless se aplica a todas las bases de datos abiertas en 4D, mientras no se cierre la aplicación.Si se pasa utilizando el archivo `.4DLink`, el modo dataless sólo se aplica a la base de datos especificada en el archivo `.4DLink`. Para más información sobre los archivos `.4DLink`, ver [Atajos para abrir proyectos](../GettingStarted/creating.md#project-opening-shortcuts). |
-| `--webadmin-settings-file` | Ruta del archivo | Ruta del archivo `.4DSettings` personalizado para el [servidor web WebAdmin](webAdmin.md). No disponible con [tool4d](#tool4d). |
-| `--webadmin-access-key` | Text | Llave de acceso para el [servidor web WebAdmin](webAdmin.md). No disponible con [tool4d](#tool4d). |
-| `--webadmin-auto-start` | Boolean | Estado del lanzamiento automático del [servidor web WebAdmin](webAdmin.md). No disponible con [tool4d](#tool4d). |
-| `--webadmin-store-settings` | | Almacena la llave de acceso y los parámetros de inicio automático en el archivo de parámetros actualmente utilizado (es decir, el archivo [`WebAdmin.4DSettings`](webAdmin.md#webadmin-settings) por defecto o un archivo personalizado designado con el parámetro `--webadmin-settings-path`). Utilice el argumento `--webadmin-store-settings` para guardar esta configuración si es necesario. No disponible con [tool4d](#tool4d). |
-| `--utility` | | Sólo disponible con 4D Server. Sólo disponible con 4D Server. |
-| `--skip-onstartup` | | Lanza el proyecto sin ejecutar ningún método "automático", incluyendo los métodos base `On Startup` y `On Exit` |
-| `--startup-method` | Nombre del método proyecto (cadena) | Método de proyecto a ejecutar inmediatamente después del método base `On Startup` (si no se omite con `--skip-onstartup`). |
+| Argumento | Valor | Descripción |
+| :-------------------------- | -------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| `applicationPath` | Ruta de 4D, 4D Server, aplicación fusionada o tool4d | Lanza la aplicación.
If not headless: identical to double-clicking the application; when called without structure file argument, the application is executed and the 'select database' dialog box appears. |
+| `--version` | | Muestra la versión de la aplicación y sale |
+| `--help` | | Muestra el mensaje de ayuda y sale. Argumentos
alternativos: -?, -h |
+| `--project` | projectPath
| packagePath | 4dlinkPath | Archivo de proyecto
a abrir con el archivo de datos actual. No aparece ninguna
caja de diálogo. |
+| `--data` | dataPath | Archivo de datos a
abrir con el archivo de proyecto designado. Si no se especifica, se utiliza el último archivo de datos
abierto. |
+| `--opening-mode` | interpreted
| compiled | Base de datos de
peticiones a abrir en modo interpretado o compilado. No se lanza ningún
error si el modo solicitado no está disponible. |
+| `--create-data` | | Crea automáticamente
un nuevo archivo de datos si no se encuentra un archivo de datos válido. No aparece ninguna
caja de diálogo. 4D utiliza el nombre
del archivo pasado en el argumento "--data" si lo hay (genera un error si ya
existe un archivo con el mismo nombre). |
+| `--user-param` | Cadena usuario
personalizada | Una cadena que estará disponible en la aplicación a través del comando [`Get database parameter`](../commands-legacy/get-database-parameter.md) (la cadena no debe comenzar por un carácter "-", que está reservado). |
+| `--headless` | | Lanza 4D, 4D Server o la aplicación fusionada sin interfaz (modo headless). En este modo: El modo Diseño no está disponible, la base de datos se inicia en modo Aplicación No se muestra la barra de herramientas, la barra de menú, la ventana MDI ni la pantalla de presentaciónNo se muestra ningún icono en el dock o la barra de tareasLa base de datos abierta no se registra en el menú "Bases de datos recientes"Se inicia automáticamente el registro de diagnóstico (ver [SET DATABASE PARAMETER](../commands-legacy/set-database-parameter.md), selector 79)Se intercepta cada llamada a una caja de diálogo y se suministra una respuesta automática (por ejemplo, OK para el comando [ALERT](../commands-legacy/alert.md), Abort para un diálogo de error...). Todos los comandos interceptados(\*) se registran en el registro de diagnóstico.
For maintenance needs, you can send any text to standard output streams using the [LOG EVENT](../commands-legacy/log-event.md) command. Tenga en cuenta que las aplicaciones 4D sin interfaz sólo pueden cerrarse mediante una llamada a [QUIT 4D](../commands-legacy/quit-4d.md) o utilizando el administrador de tareas del sistema operativo. |
+| `--dataless` | | Lanza 4D, 4D Server, la aplicación fusionada o tool4d en modo sin datos. El modo sin datos es útil cuando 4D ejecuta tareas sin necesidad de datos (compilación de proyectos, por ejemplo). In this mode: No file containing data is opened, even if specified in the command line or the `.4DLink` file, or when using the `CREATE DATA FILE` and `OPEN DATA FILE` commands.Los comandos que manipulan datos arrojarán un error. Por ejemplo, `CREATE RECORD` lanza "no hay tabla a la que aplicar el comando".
**Nota**:si se pasa en la línea de comando, el modo dataless se aplica a todas las bases de datos abiertas en 4D, mientras no se cierre la aplicación.Si se pasa utilizando el archivo `.4DLink`, el modo dataless sólo se aplica a la base de datos especificada en el archivo `.4DLink`. Para más información sobre los archivos `.4DLink`, ver [Atajos para abrir proyectos](../GettingStarted/creating.md#project-opening-shortcuts). |
+| `--webadmin-settings-file` | Ruta del archivo | Ruta del archivo `.4DSettings` personalizado para el [servidor web WebAdmin](webAdmin.md). No disponible con [tool4d](#tool4d). |
+| `--webadmin-access-key` | Text | Llave de acceso para el [servidor web WebAdmin](webAdmin.md). No disponible con [tool4d](#tool4d). |
+| `--webadmin-auto-start` | Boolean | Estado del lanzamiento automático del [servidor web WebAdmin](webAdmin.md). No disponible con [tool4d](#tool4d). |
+| `--webadmin-store-settings` | | Almacena la llave de acceso y los parámetros de inicio automático en el archivo de parámetros actualmente utilizado (es decir, el archivo [`WebAdmin.4DSettings`](webAdmin.md#webadmin-settings) por defecto o un archivo personalizado designado con el parámetro `--webadmin-settings-path`). Utilice el argumento `--webadmin-store-settings` para guardar esta configuración si es necesario. No disponible con [tool4d](#tool4d). |
+| `--utility` | | Sólo disponible con 4D Server. Sólo disponible con 4D Server. |
+| `--skip-onstartup` | | Lanza el proyecto sin ejecutar ningún método "automático", incluyendo los métodos base `On Startup` y `On Exit` |
+| `--startup-method` | Nombre del método proyecto (cadena) | Método de proyecto a ejecutar inmediatamente después del método base `On Startup` (si no se omite con `--skip-onstartup`). |
(\*) Algunos diálogos se muestran antes de abrir la base de datos, por lo que es imposible escribir en el [archivo de registro de diagnóstico](Debugging/debugLogFiles.md#4ddiagnosticlogtxt) (alerta de licencia, diálogo de conversión, selección de bases de datos, selección de archivos de datos). En este caso, se
lanza un mensaje de error tanto en el flujo stderr como en el registro de eventos sistema,
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-21/Debugging/debugLogFiles.md b/i18n/es/docusaurus-plugin-content-docs/version-21/Debugging/debugLogFiles.md
index d6b32a4f015be7..6d1c175bec05b2 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-21/Debugging/debugLogFiles.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-21/Debugging/debugLogFiles.md
@@ -73,7 +73,7 @@ Para cada petición, se registran los siguientes campos:
| server\_duration | exec\_duration | Depende del lugar donde se genere el registro:_server\*duration* cuando se genera en el cliente --Time tomado en microsegundos para que el servidor procese la solicitud y devuelva una respuesta. B a F en la imagen de abajo, O_exec\*duration* cuando se genera en el servidor --Tiempo empleado en microsegundos para que el servidor procese la petición. B a E en la imagen de abajo. |
| write\_duration | Tiempo tomado en microsegundos para enviar la:Petición (cuando se ejecuta en el cliente). A a B en la imagen inferior.Respuesta (cuando se ejecuta en el servidor). E a F en la imagen de abajo. |
| task_kind | Apropiativo o cooperativo (respectivamente "p" o "c") |
-| rtt | Tiempo estimado en microsegundos para que el cliente envíe la solicitud y el servidor la acuse de recibo. A a D y E a H en la imagen inferior.Only measured when using the ServerNet network layer, returns 0 when used with the legacy network layer.For Windows versions prior to Windows 10 or Windows Server 2016, the call will return 0. |
+| rtt | Tiempo estimado en microsegundos para que el cliente envíe la solicitud y el servidor la acuse de recibo. A a D y E a H en la imagen inferior.Sólo se mide cuando se utiliza la capa de red ServerNet, devuelve 0 cuando se utiliza con la capa de red heredada.Para las versiones de Windows anteriores a Windows 10 o Windows Server 2016, la llamada devolverá 0. |
| extra | Información adicional relacionada con el contexto, por ejemplo el nombre de la clase de datos y/o el nombre del atributo en caso de petición ORDA |
Flujo de solicitudes:
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-21/Desktop/clientServer.md b/i18n/es/docusaurus-plugin-content-docs/version-21/Desktop/clientServer.md
index 3f471cae307fa5..fa5d056395d3c4 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-21/Desktop/clientServer.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-21/Desktop/clientServer.md
@@ -126,7 +126,7 @@ Para gestionar esta configuración, necesita utilizar sesiones cliente remotas.
Note that [privileges](../ORDA/privileges.md) should be set in the session before executing a web request from a Web area, so that the user automatically gets their privileges for web access (see example). Keep in mind that privileges only apply to requests coming from the web, not to the 4D code executed in a standard remote session.
-Shared sessions are handled through [OTP tokens](../WebServer/sessions.md#session-token-otp). After you created an OTP token on the server for the user session, you add the token (through the `$4DSID` parameter value) to web requests sent from web areas containing Qodly pages so that the user session on the server is identified and shared. On the web server side, if a web request contains an *OTP id* in the $4DSID parameter, the session corresponding to this OTP token is used.
+Las sesiones compartidas se gestionan a través de [tokens OTP](../WebServer/sessions.md#session-token-otp). After you created an OTP token on the server for the user session, you add the token (through the `$4DSID` parameter value) to web requests sent from web areas containing Qodly pages so that the user session on the server is identified and shared. On the web server side, if a web request contains an *OTP id* in the $4DSID parameter, the session corresponding to this OTP token is used.
:::tip Entrada de blog relacionada
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-21/Desktop/labels.md b/i18n/es/docusaurus-plugin-content-docs/version-21/Desktop/labels.md
index e1a5817b9f5bc7..aa663b94431609 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-21/Desktop/labels.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-21/Desktop/labels.md
@@ -127,22 +127,22 @@ El lado derecho de la barra de herramientas contiene comandos utilizados para mo
## Página Diseño
-The Layout page contains controls for printing labels based on the requirements of your current print settings.
+Esta página contiene los controles para imprimir etiquetas en función de los requisitos de sus parámetros de impresión actuales.

-- **Labels Order**: Specifies whether labels should be printed in the direction of the rows or the columns.
-- **Rows** and **Columns**: Set the number of labels to be printed by "row" and by "column" on each sheet. These settings determine the label size when the "Automatic resizing" option is enabled.
-- **Labels per record**: Sets the number of copies to print for each label (copies are printed consecutively).
-- **Print Setup...**: Sets the format of the page on which the sheet of labels will be printed. When you click this button, the setup dialog box for the printer selected in your system appears. By default, the sheet of labels is generated based on an A4 page in portrait mode.
- **Note:** The sheet created by the editor is based on the logical page of the printer, i.e. the physical page (for instance, an A4 page) less the margins that cannot be used on each side of the sheet. The physical margins of the page are shown by blue lines in the preview area.
-- **Unit**: Changes the units in which you specify your label and label page measurements. Puede utilizar puntos, milímetros, centímetros o pulgadas.
-- **Automatic resizing**: Means that 4D automatically calculates the size of the labels (i.e. the Width and Height parameters) according to the values set in all the other parameters. When this option is checked, the label size is adjusted each time you modify a page parameter. Los parámetros Ancho y Alto ya no pueden ajustarse manualmente.
-- **Ancho** y **Alto**: define la altura y el ancho de cada etiqueta manualmente. They cannot be edited when the **Automatic resizing** option is checked.
-- **Márgenes** (Superior, Derecho, Izquierdo, Inferior): define los márgenes de su hoja. Estos márgenes son simbolizados por líneas azules en el área de vista previa. Clicking on **Use printer margins** replicates, in the preview area, the margin information provided by the selected printer (these values can be modified).
-- **Gaps**: Set the amount of vertical and/or horizontal space between label rows and columns.
-- **Method**: Lets you trigger a specific method that will be run at print time. For example, you can execute a method that posts the date and time that each label was printed. This feature is also useful when you print labels using a dedicated table form, in which case you can fill variables from a method.
- To be eligible for label processing, a project method must comply with the following settings:
+- **Orden de etiquetas**: indica si las etiquetas deben imprimirse en la dirección de las líneas o de las columnas.
+- **Líneas** y **Columnas**: defina el número de etiquetas a imprimir por "línea" y "columna" en cada hoja. Estos parámetros determinan las dimensiones de las etiquetas cuando la opción "Dimensiones automáticas" está activada.
+- **Etiquetas por registro**: define el número de copias a imprimir para cada etiqueta (las copias se imprimen consecutivamente).
+- **Formato de impresión...**: formato de la página en la que se imprimirá la hoja de etiquetas. Cuando hace clic en este botón, aparece el cuadro de diálogo de configuración de la impresora seleccionada en su sistema. Por defecto, la hoja de etiquetas se genera basándose en una página A4 en modo retrato.
+ **Nota:** la hoja creada por el editor se basa en la página lógica de la impresora, es decir, la página física (por ejemplo, una hoja A4) menos los márgenes que no se pueden utilizar a cada lado de la hoja. Los márgenes de la página física se representan por las líneas azules en el área de vista previa.
+- **Unidad**: modifica las unidades en las que especifica las medidas de la etiqueta y de la página de etiqueta. Puede utilizar puntos, milímetros, centímetros o pulgadas.
+- **Dimensiones automáticas**: indica que 4D calcula automáticamente el tamaño de las etiquetas (es decir, los parámetros Ancho y Alto) según los valores definidos en todos los demás parámetros. Cuando esta opción está marcada, el tamaño de las etiquetas se recalcula cada vez que se modifica un parámetro en la página. Los parámetros Ancho y Alto ya no pueden ajustarse manualmente.
+- **Ancho** y **Alto**: define la altura y el ancho de cada etiqueta manualmente. No se pueden editar cuando la opción **Dimensionamiento automático** está marcada.
+- **Márgenes** (Superior, Derecho, Izquierdo, Inferior): define los márgenes de su hoja. Estos márgenes son simbolizados por líneas azules en el área de vista previa. Al hacer clic en **Aplicar los márgenes de la impresora** con el fin de replicar, en el área de vista previa, la información de margen proporcionada por la impresora seleccionada (estos valores pueden ser modificados).
+- **Intervalos**: defina el espacio vertical y/o horizontal entre las líneas y columnas de las etiquetas.
+- **Método**: permite activar un método específico que se ejecutará al momento de la impresión. Por ejemplo, puede ejecutar un método que publique la fecha y la hora en que se imprimió cada etiqueta. Esta funcionalidad también es útil cuando se imprimen etiquetas usando un formulario tabla dedicado, en cuyo caso se pueden llenar variables a partir de un método.
+ Para ser elegible para el procesamiento de etiquetas, un método proyecto debe cumplir con las siguientes condiciones:
- debe ser "permitido" para la base de datos (los métodos permitidos dependen de los [parámetros del proyecto](../settings/security.md#options) y el comando [`SET ALLOWED METHODS`](../commands/set-allowed-methods.md), de lo contrario no se mostrará en el menú **Aplicación**.
- debe tener la opción [Compartido por componentes y base de datos local](../Project/code-overview.md#shared-by-components-and-host-database).
Ver también [este ejemplo](#printing-labels-using-forms-and-methods-example) a continuación.
@@ -150,20 +150,20 @@ The Layout page contains controls for printing labels based on the requirements
:::note
Para necesidades avanzadas, puede restringir la lista de métodos disponibles utilizando un [archivo json específico](#controlling-available-forms-and-methods).
-The **For each: Record or Label** options are used to specify whether to run the method once per label or once per record. This control has meaning only if you are printing more than one copy of each label and you are also executing a method at print time.
+Las opciones **Para cada: Registro o Etiqueta** permiten especificar si ejecutar el método una vez por etiqueta o una vez por registro. Este control sólo tiene sentido si está imprimiendo más de una copia de cada etiqueta y también está ejecutando un método al momento de la impresión.
:::
-- **Layout preview**: Provides a reduced view of how an entire page of labels will look, based on the dimensions you enter in the Label editor. The page preview also reflects the paper size selected in the Print Setup dialog box. También puede utilizar esta zona para designar la primera etiqueta de la página que se va a imprimir (esta opción sólo afecta a la primera hoja en caso de impresión multipágina). This can be useful, for example, when you want to print on a sheet of adhesive labels, part of which has already been used. También puede seleccionar la primera etiqueta en la página a imprimir haciendo clic en ella:
+- **Vista previa del diseño**: permite visualizar en tiempo real las modificaciones que ingrese en el editor de etiquetas. La vista previa de la página también refleja el tamaño de papel seleccionado en el cuadro de diálogo Configuración de la impresión. También puede utilizar esta área para designar la primera etiqueta de la página a imprimir (esta opción solo afecta a la primera hoja en el caso de la impresión multipágina). Esto puede ser útil, por ejemplo, cuando se desea imprimir en una hoja de etiquetas adhesivas, parte de las cuales ya se ha utilizado. También puede seleccionar la primera etiqueta en la página a imprimir haciendo clic en ella:

## Impresión de etiquetas mediante formularios y métodos (ejemplo)
-You can use dedicated table forms and project methods to print labels with calculated variables. This simple example shows how to configure the different elements.
+Puede utilizar formularios de tabla dedicados y métodos proyecto para imprimir etiquetas con variables calculadas. Este ejemplo explica como configurar los diferentes elementos.
1. En un formulario tabla dedicado, añada su(s) campo(s) de etiqueta y su(s) variable(s).
- Here, in a table form named "label", we added the *myVar* variable:
+ Aquí, en una tabla llamada "etiqueta", sumamos la variable *myVar*:

2. Crea un método proyecto llamado `setMyVar` con el siguiente código:
@@ -174,7 +174,7 @@ You can use dedicated table forms and project methods to print labels with calcu
3. Defina el método proyecto como ["Compartido por los componentes y la base de datos local"](../Project/code-overview.md#shared-by-components-and-host-database).
-4. Before displaying the Label editor, make sure the project method is allowed by executing this code:
+4. Antes de mostrar el editor de etiquetas, asegúrese de que el método proyecto está autorizado ejecutando este código:
```4d
ARRAY TEXT($methods;1)
@@ -182,18 +182,18 @@ You can use dedicated table forms and project methods to print labels with calcu
SET ALLOWED METHODS($methods)
```
-5. Open the Label editor and use your form:
+5. Abre el editor de etiquetas y use su formulario:

-6. In the Layout page, select the method:
+6. En la página Diseño, seleccione el método:

Luego puede imprimir sus etiquetas:

-## Control de los formularios y métodos disponibles
+## Definición de los formularios y métodos disponibles
-The Label editor includes an advanced feature allowing you to restrict which project forms and methods (within "allowed" methods) can be selected in the dialog box:
+El editor de etiquetas incluye una función avanzada que le permite limitar los formularios y los métodos proyecto (dentro de los métodos "permitidos") pueden seleccionarse en el cuadro de diálogo:
- en el menú **Formulario a utilizar** de la página "Etiqueta" y/o
- en el menú **Aplicar (método)** de la página "Diseño".
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-21/Develop/field-properties.md b/i18n/es/docusaurus-plugin-content-docs/version-21/Develop/field-properties.md
index e58d6470b5e614..26c51c0f4661d3 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-21/Develop/field-properties.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-21/Develop/field-properties.md
@@ -17,7 +17,7 @@ Puede introducir cualquier nombre de clase válido en esta propiedad, incluyendo
- Clases 4D integradas (por ejemplo, `4D.File`, `4D.Folder`)
- [Exposed](../Extensions/develop-components.md#sharing-of-classes) component-defined classes (e.g. `cs.MyComponent.MyClass`)
-If you enter an invalid class name, a warning is triggered and the input is rejected.
+Si introduce un nombre de clase inválido, se activa una advertencia y se rechaza la entrada.
:::note
@@ -25,7 +25,7 @@ If you enter an invalid class name, a warning is triggered and the input is reje
:::
-In your code, when assigning a value to a class-typed object field, 4D verifies that it belongs to the declared class. Si no es así o si el objeto no tiene clase, se produce un error. El acceso a atributos desconocidos también provocará errores de sintaxis.
+En su código, al asignar un valor a un campo de tipo clase de objeto, 4D verifica que pertenece a la clase declarada. Si no es así o si el objeto no tiene clase, se produce un error. El acceso a atributos desconocidos también provocará errores de sintaxis.
To retrieve the associated class name at runtime, use the [`classID`](../API/DataClassClass.md#attributename) property, for example `ds.MyTable.MyField.classID`.
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-21/Extensions/overview.md b/i18n/es/docusaurus-plugin-content-docs/version-21/Extensions/overview.md
index 681ada54c0c77e..b54c7ae0c57a3b 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-21/Extensions/overview.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-21/Extensions/overview.md
@@ -16,21 +16,21 @@ La [arquitectura del proyecto] 4D (../Project/architecture.md) es abierta y pued
## Componentes desarrollados por 4D
-4D proposes various components to the 4D community, covering many development needs. All 4D components can be found on the [**4D github repository**](https://github.com/4d).
+4D propone varios componentes a la comunidad 4D, cubriendo muchas necesidades de desarrollo. Todos los componentes 4D se pueden encontrar en el [**repositorio github de 4D**](https://github.com/4d).
A subset of these components is listed by default in the [Dependency Manager](../Project/components.md), including:
-| Componente | Repositorio Github | Descripción | Principales funcionalidades |
-| -------------------- | --------------------------------------------------------------------------- | --------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------- |
-| 4D AIKit | https://github.com/4d/4D-AIKit | Conjunto de clases a conectar con las APIs OpenAI de terceros | `OpenAIChat`, `OpenAIImage`... |
-| 4D NetKit | https://github.com/4d/4D-NetKit | Conjunto de herramientas de servicios web para conectarse a APIs de terceros | `OAuth2Provider` class, `New OAuth2 provider`, `OAuth2ProviderObject.getToken()` |
-| 4D Progress | https://github.com/4d/4D-Progress | Abrir una o varias barras de progreso en la misma ventana | `Progress New`, `Progress SET ON STOP METHOD`, `Progress SET PROGRESS`, ... |
-| 4D QPDF | https://github.com/4d/4D-QPDF | Extraer archivos adjuntos de archivos PDF/A-3 | `PDF Get attachments` |
-| 4D SVG | https://github.com/4d/4D-SVG | Crear y manipular objetos gráficos svg comunes | `SVGTool_Display_viewer`, métodos múltiples `SVG_` |
-| 4D ViewPro | https://github.com/4d/4d-view-pro | Funciones de hoja de cálculo en sus formularios | Ver la [documentación 4D View Pro](ViewPro/getting-started.md) |
-| 4D Widgets | https://github.com/4d/4D-Widgets | Gestione los widgets DatePicker, TimePicker, SearchPicker 4D | `DatePicker calendar`, `DateEntry area`, `TimeEntry`, `SearchPicker SET HELP TEXT`, ... |
-| Interfaz 4D WritePro | https://github.com/4d/4D-WritePro-Interface | Manage 4D Write Pro palettes and [table wizard](../WritePro/writeprointerface.md) | `WP PictureSettings`, `WP ShowTabPages`, `WP SwitchToolbar`, `WP UpdateWidget` |
-| Build4D | https://github.com/4d-depot/Build4D | Compilar, construir y firmar proyectos | CI/CD |
+| Componente | Repositorio Github | Descripción | Principales funcionalidades |
+| -------------------- | --------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------ | --------------------------------------------------------------------------------------------------------------------------------------- |
+| 4D AIKit | https://github.com/4d/4D-AIKit | Conjunto de clases a conectar con las APIs OpenAI de terceros | `OpenAIChat`, `OpenAIImage`... |
+| 4D NetKit | https://github.com/4d/4D-NetKit | Conjunto de herramientas de servicios web para conectarse a APIs de terceros | `OAuth2Provider` class, `New OAuth2 provider`, `OAuth2ProviderObject.getToken()` |
+| 4D Progress | https://github.com/4d/4D-Progress | Abrir una o varias barras de progreso en la misma ventana | `Progress New`, `Progress SET ON STOP METHOD`, `Progress SET PROGRESS`, ... |
+| 4D QPDF | https://github.com/4d/4D-QPDF | Extraer archivos adjuntos de archivos PDF/A-3 | `PDF Get attachments` |
+| 4D SVG | https://github.com/4d/4D-SVG | Crear y manipular objetos gráficos svg comunes | `SVGTool_Display_viewer`, métodos múltiples `SVG_` |
+| 4D ViewPro | https://github.com/4d/4d-view-pro | Funciones de hoja de cálculo en sus formularios | Ver la [documentación 4D View Pro](ViewPro/getting-started.md) |
+| 4D Widgets | https://github.com/4d/4D-Widgets | Gestione los widgets DatePicker, TimePicker, SearchPicker 4D | `DatePicker calendar`, `DateEntry area`, `TimeEntry`, `SearchPicker SET HELP TEXT`, ... |
+| Interfaz 4D WritePro | https://github.com/4d/4D-WritePro-Interface | Gestión de paletas y del [asistente de tablas](../WritePro/writeprointerface.md) en 4D Write Pro | `WP PictureSettings`, `WP ShowTabPages`, `WP SwitchToolbar`, `WP UpdateWidget` |
+| Build4D | https://github.com/4d-depot/Build4D | Compilar, construir y firmar proyectos | CI/CD |
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-21/FormEditor/formEditor.md b/i18n/es/docusaurus-plugin-content-docs/version-21/FormEditor/formEditor.md
index 4aea53b4daeb2e..55169d4e3065a5 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-21/FormEditor/formEditor.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-21/FormEditor/formEditor.md
@@ -148,7 +148,7 @@ Para seleccionar un objeto utilizando la barra de herramientas:
1. Haga clic en la herramienta Flecha de la barra de herramientas.

-
When you move the pointer into the form area, it becomes a standard arrow-shaped pointer.
+
Cuando mueve el puntero en el área del formulario, se convierte en un puntero estándar con forma de flecha.
2. Haga clic en el objeto que desea seleccionar. Las manillas de redimensionamiento identifican el objeto seleccionado.

@@ -247,7 +247,7 @@ Para agrupar los objetos:
Para desagrupar un grupo de objetos:
1. Seleccione el grupo de objetos que desea desagrupar.
-2. Seleccione **Ungroup** en el menú **Object**.
OR
Click the **Ungroup** button (variant of the **Group** button) in the toolbar of the Form editor.
Si **Desagrupar** está atenuado, significa que el objeto seleccionado ya está separado en su forma más simple. 4D marca los bordes de los objetos individuales con marcas.
+2. Seleccione **Ungroup** en el menú **Object**.
OR
Haga clic en el botón **Ungroup** (variante del botón **Group**) en la barra de herramientas del editor de formularios.
Si **Desagrupar** está atenuado, significa que el objeto seleccionado ya está separado en su forma más simple. 4D marca los bordes de los objetos individuales con marcas.
### Alinear objetos
@@ -325,7 +325,7 @@ Para distribuir objetos utilizando la caja de diálogo Alinear y Distribuir:
3. En las áreas Alineación izquierda/derecha y/o Alineación superior/inferior, haga clic en el icono de distribución estándar: 
(Icono de distribución horizontal estándar)
El área de ejemplo muestra los resultados de su selección.
-4. To perform a distribution that uses the standard scheme, click **Preview** or *Apply*.
In this case 4D will perform a standard distribution, so that the objects are set out with an equal amount of space between them.
OR:
To execute a specific distribution, select the **Distribute** option (for example if you want to distribute the objects based on the distance to their right side). Esta opción actúa como un interruptor. Si la casilla de selección Distribuir está seleccionada, los iconos situados debajo de ella realizan una función diferente:
+4. Para efectuar una repartición estándar que utilice el esquema estándar, haga clic en **Previsualización** o *Aplicar*.
In this case 4D will perform a standard distribution, so that the objects are set out with an equal amount of space between them.
OR:
To execute a specific distribution, select the **Distribute** option (for example if you want to distribute the objects based on the distance to their right side). Esta opción actúa como un interruptor. Si la casilla de selección Distribuir está seleccionada, los iconos situados debajo de ella realizan una función diferente:
- Horizontalmente, los iconos corresponden a las siguientes distribuciones: uniformemente con respecto a los lados izquierdos, centros (hor.) y los lados derechos de los objetos seleccionados.
- Verticalmente, los iconos corresponden a las siguientes distribuciones: uniformemente con respecto a los bordes superiores, centros (vert.) y los bordes inferiores de los objetos seleccionados.
@@ -352,7 +352,7 @@ Cuando se superponen varios objetos, se puede utilizar el atajo **Ctrl+Mayús+cl
:::note
-In binary databases, use **Ctrl+Click / Command+Click** to perform the same action.
+En bases de datos binarias, utilice **Ctrl+Clic / Comando+Clic** para efectuar la misma acción.
:::
@@ -390,7 +390,7 @@ Para ver o cambiar el orden de entrada:
El puntero se convierte en un puntero de orden de entrada y 4D dibuja una línea en el formulario mostrando el orden en que selecciona los objetos durante la entrada de datos. Ver y cambiar el orden de entrada de datos son las únicas acciones que puede realizar hasta que haga clic en cualquier herramienta de la paleta Herramientas.
-2. To change the data entry order, position the pointer on an object in the form and, while holding down the mouse button, drag the pointer to the object you want next in the data entry order.

4D will adjust the entry order accordingly.
+2. To change the data entry order, position the pointer on an object in the form and, while holding down the mouse button, drag the pointer to the object you want next in the data entry order.

4D ajustará el orden de entrada en consecuencia.
3. Repita el paso 2 tantas veces como sea necesario para establecer el orden de entrada de datos que desee.
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-21/FormEditor/properties_Markers.md b/i18n/es/docusaurus-plugin-content-docs/version-21/FormEditor/properties_Markers.md
index cecc6b6b4e022d..b80b59a9bca1cc 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-21/FormEditor/properties_Markers.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-21/FormEditor/properties_Markers.md
@@ -21,9 +21,9 @@ Puede hacer que las áreas Ruptura sean más pequeñas o más grandes. Puede uti
#### Gramática JSON
-| Nombre | Tipos de datos | Valores posibles |
-| ----------- | ----------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------- |
-| markerBreak | integer | integer collection | Break marker position or collection of break marker positions in pixels.
Valor mínimo: 0 |
+| Nombre | Tipos de datos | Valores posibles |
+| ----------- | ----------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------- |
+| markerBreak | integer | integer collection | Posición del marcador de ruptura o colección de posiciones del marcador de ruptura en píxeles.
Valor mínimo: 0 |
---
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-21/FormObjects/button_overview.md b/i18n/es/docusaurus-plugin-content-docs/version-21/FormObjects/button_overview.md
index bc28dd10b260a0..f47035dbbd758a 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-21/FormObjects/button_overview.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-21/FormObjects/button_overview.md
@@ -328,7 +328,7 @@ Todos los botones comparten el mismo conjunto de propiedades básicas:
[Negrita](properties_Text.md#bold) - [Estilo de línea de borde](properties_BackgroundAndBorder.md#border-line-style) - [Fondo](properties_CoordinatesAndSizing.md#bottom) - [Estilo de botón](properties_TextAndPicture.md#button-style) - [Clase](properties_Object.md#css-class) - [Soltable](properties_Action.md#droppable) - [Enfocable](properties_Entry.md#focusable) - [Fuente](properties_Text.md#font) - [Color de fuente](properties_Text.md#font-color) - [Tamaño de fuente](properties_Text.md#font-size) - [Altura](properties_CoordinatesAndSizing.md#height) - [Consejo de ayuda](properties_Help.md#help-tip) - [Alineación horizontal](properties_Text.md#horizontal-alignment) - [Tamaño horizontal](properties_ResizingOptions.md#horizontal-sizing) - [Cursiva](properties_Text.md#italic) - [Título de abrazos de imagen](properties_TextAndPicture.md#image-hugs-title)(1) - [Izquierda](properties_CoordinatesAndSizing.md#left) - [No renderizado](properties_Display.md#not-rendered) - [Número de estados](properties_TextAndPicture.md#number-of-states)(1) - [Nombre del objeto](properties_Object.md#object-name) - [Nombre de la ruta de la imagen](properties_TextAndPicture.md#picture-pathname)(1) - [Derecha](properties_CoordinatesAndSizing.md#right) - [Acceso directo](properties_Entry.md#shortcut) - [Acción estándar](properties_Action.md#standard-action) - [Título](properties_Object.md#title) - [Posición del título/imagen](properties_TextAndPicture.md#titlepicture-position)(1) - [Superior](properties_CoordinatesAndSizing.md#top) - [Tipo](properties_Object.md#tipo) - [Subrayado](properties_Text.md#underline) - [Variable o expresión](properties_Object.md#variable-or-expression) - [Tamaño vertical](properties_ResizingOptions.md#vertical-sizing) - [Visibilidad](properties_Display.md#visibility) - [Ancho](properties_CoordinatesAndSizing.md#width) - [Con menú emergente](properties_TextAndPicture.md#with-pop-up-menu)(2)
> (1) No soportado por el estilo [Ayuda](#help).
-> (2) Not supported by the [Help](#help), [Flat](#flat) and [Regular](#regular) styles.
+> (2) No soportado por los estilos [Help](#help), [Flat](#flat) y [Regular](#regular).
Existen propiedades específicas adicionales, dependiendo del [estilo-de-botón](#button-styles):
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-21/FormObjects/listbox_overview.md b/i18n/es/docusaurus-plugin-content-docs/version-21/FormObjects/listbox_overview.md
index 978af992f51d90..3f61236a812366 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-21/FormObjects/listbox_overview.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-21/FormObjects/listbox_overview.md
@@ -523,7 +523,7 @@ El soporte de ordenación estándar depende del tipo de list box:
| Tipo de list box | Soporte de ordenación estándar | Comentarios |
| ------------------------------ | ------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
-| Colección de objetos | Sí | - "This.a" or "This.a.b" columns are sortable.
- The [list box source property](properties_Object.md#variable-or-expression) must be an [assignable expression](../Concepts/quick-tour.md#assignable-vs-non-assignable-expressions).
|
+| Colección de objetos | Sí | - Las columnas "This.a" o "This.a.b" son ordenables.
- The [list box source property](properties_Object.md#variable-or-expression) must be an [assignable expression](../Concepts/quick-tour.md#assignable-vs-non-assignable-expressions).
|
| Colección de valores escalares | No | Utilice la ordenación personalizada con la función [`orderBy()`](../API/CollectionClass.md#orderby) |
| Entity selection | Sí | The [list box source property](properties_Object.md#variable-or-expression) must be an [assignable expression](../Concepts/quick-tour.md#assignable-vs-non-assignable-expressions).Supported: sorts on object attribute properties (e.g. "This.data.city" when "data" is an object attribute)Supported: sorts on related attributes (e.g. "This.company.name")Not supported: sorts on object attribute properties through related attributes (e.g. "This.company.data.city"). Para ello, debe utilizar la ordenación personalizada con la función [`orderByFormula()`](../API/EntitySelectionClass.md#orderbyformula) (ver el siguiente ejemplo) |
| Selección actual | Sí | Sólo se pueden ordenar las expresiones simples (por ejemplo, `[Table_1]Campo_2`) |
@@ -812,7 +812,7 @@ If the user selects a break row, [`LISTBOX GET CELL POSITION`](../commands/listb

-... [`LISTBOX GET CELL POSITION`](../commands/listbox-get-cell-position) returns (2;4). To select a break row by programming, you will need to use the [`LISTBOX SELECT BREAK`](../commands/listbox-select-break) command.
+... [`LISTBOX GET CELL POSITION`](../commands/listbox-get-cell-position) devuelve (2;4). To select a break row by programming, you will need to use the [`LISTBOX SELECT BREAK`](../commands/listbox-select-break) command.
Las líneas de rotura no se tienen en cuenta en los arrays internos utilizados para gestionar el aspecto gráfico de los list box (estilos y colores). No obstante, es posible modificar estas características para las líneas de ruptura mediante los comandos de gestión gráfica de los objetos. Basta con ejecutar los comandos adecuados en los arrays que constituyen la jerarquía.
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-21/FormObjects/properties_BackgroundAndBorder.md b/i18n/es/docusaurus-plugin-content-docs/version-21/FormObjects/properties_BackgroundAndBorder.md
index 84e2079f5e71ac..0eb71aceb033b9 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-21/FormObjects/properties_BackgroundAndBorder.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-21/FormObjects/properties_BackgroundAndBorder.md
@@ -186,7 +186,7 @@ Designa el grosor de una línea.
---
-## Row Background Color Array {#row-background-color-array}
+## Array colores de fondo {#row-background-color-array}
`List boxes de tipo array`
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-21/FormObjects/properties_Display.md b/i18n/es/docusaurus-plugin-content-docs/version-21/FormObjects/properties_Display.md
index 70acd1ce6ab087..64fc8e1bd49d2a 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-21/FormObjects/properties_Display.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-21/FormObjects/properties_Display.md
@@ -104,7 +104,7 @@ Se pueden crear formatos de fecha personalizados utilizando varios patrones desc
:::note blankIfNull
-- By default, a [null date](../Concepts/dt_date.md#date-literals) is displayed with zeros, e.g. 00/00/00. Con la opción "blankIfNull", una fecha null se muestra como un área vacía. La cadena "blankIfNull" (distingue mayúsculas de minúsculas) debe combinarse con el valor de formato seleccionado. La cadena "blankIfNull" (distingue mayúsculas de minúsculas) debe combinarse con el valor de formato seleccionado.
+- Por defecto, una [fecha nula](../Concepts/dt_date.md#date-literals) se muestra con ceros, por ejemplo, 00/00/00. Con la opción "blankIfNull", una fecha null se muestra como un área vacía. La cadena "blankIfNull" (distingue mayúsculas de minúsculas) debe combinarse con el valor de formato seleccionado. La cadena "blankIfNull" (distingue mayúsculas de minúsculas) debe combinarse con el valor de formato seleccionado.
- Las [columnas list box](listbox_overview.md#list-box-columns) y los [pies List box](listbox_overview.md#list-box-footers) de tipo fecha utilizan siempre el comportamiento "blank if null" (no se puede desactivar).
:::
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-21/FormObjects/properties_Object.md b/i18n/es/docusaurus-plugin-content-docs/version-21/FormObjects/properties_Object.md
index faf778d6fa7852..ecd495239f8435 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-21/FormObjects/properties_Object.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-21/FormObjects/properties_Object.md
@@ -90,9 +90,9 @@ Las variables o expresiones se pueden introducir o no y pueden recibir datos de
#### Gramática JSON
-| Nombre | Tipos de datos | Valores posibles |
-| ---------- | ------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
-| dataSource | cadena o array de cadenas | Variable, nombre de campo o cualquier expresión 4D.Empty string for [dynamic variables](#dynamic-variables).String array (collection of array names) for a [hierarchical listbox](listbox_overview.md#hierarchical-list-boxes) column] |
+| Nombre | Tipos de datos | Valores posibles |
+| ---------- | ------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
+| dataSource | cadena o array de cadenas | Variable, nombre de campo o cualquier expresión 4D.Cadena vacía para las [variables dinámicas](#dynamic-variables).String array (collection of array names) for a [hierarchical listbox](listbox_overview.md#hierarchical-list-boxes) column] |
### Expresiones
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-21/FormObjects/webArea_overview.md b/i18n/es/docusaurus-plugin-content-docs/version-21/FormObjects/webArea_overview.md
index 2605754775fea7..9563e559ec2d24 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-21/FormObjects/webArea_overview.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-21/FormObjects/webArea_overview.md
@@ -11,7 +11,7 @@ Varias [acciones estándar](#standard-actions) dedicadas, numerosos [comandos de
:::info Mostrar páginas Qodly
-In 4D client/server applications, Web areas can be used to display Qodly pages and [share the remote user session](../Desktop/clientServer.md#sharing-the-session-with-qodly-pages-in-web-areas). This feature allows you to design web-based interfaces for your client/server desktop applications.
+In 4D client/server applications, Web areas can be used to display Qodly pages and [share the remote user session](../Desktop/clientServer.md#sharing-the-session-with-qodly-pages-in-web-areas). Esta funcionalidad le permite diseñar interfaces web para sus aplicaciones de escritorio cliente/servidor.
:::
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-21/Notes/updates.md b/i18n/es/docusaurus-plugin-content-docs/version-21/Notes/updates.md
index ca4a2a53300ae3..b5ccc8c652538b 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-21/Notes/updates.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-21/Notes/updates.md
@@ -16,6 +16,7 @@ Lea [**Novedades en 4D 21**](https://blog.4d.com/en-whats-new-in-4d-21/), la ent
- posibilidad para definir los [gestores de peticiones HTTP](../WebServer/http-request-handler.md) utilizando una propiedad `handlers` en el parámetro *settings* de la función [`start()`](../API/WebServerClass.md#start) del servidor Web,
- el objeto servidor Web contiene nuevas propiedades [`rules`](../API/WebServerClass.md#rules) y [`handlers`](../API/WebServerClass.md#handlers).
- Nuevos [eventos ORDA sobre los datos](../ORDA/orda-events.md): validateSave, saving, afterSave, validateDrop, dropping, afterDrop.
+- Support of the new [`restrictedByDefault` property](../ORDA/privileges.md#restriction-modes) in the `roles.json` file to block access by default to all resources without explicit permission.
- Nueva opción que permite utilizar certificados de Windows Certificate Store en lugar de una carpeta local de certificados en las clases [`HTTPRequest`](../API/HTTPRequestClass.md#4dhttprequestnew) y [`HTTPAgent`](../API/HTTPAgentClass.md#4dhttpagentnew).
- Cliente/servidor:
- Puede mostrar las páginas Qodly en las áreas Web y [compartir la sesión del cliente remoto](../Desktop/clientServer.md#sharing-the-session-with-qodly-pages-in-web-areas).
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-21/ORDA/entities.md b/i18n/es/docusaurus-plugin-content-docs/version-21/ORDA/entities.md
index 1d3ac2bbf5320c..ceb0d989f2296a 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-21/ORDA/entities.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-21/ORDA/entities.md
@@ -566,7 +566,7 @@ El siguiente diagrama ilustra el bloqueo optimista:
1. Dos procesos cargan la misma entidad.

-2. El primer proceso modifica la entidad y valida el cambio. Se llama al método `entity.save( )`. El motor 4D compara automáticamente el valor del marcador interno de la entidad modificada con el de la entidad almacenada en los datos. Since they match, the entity is saved and its stamp value is incremented.

+2. El primer proceso modifica la entidad y valida el cambio. Se llama al método `entity.save( )`. El motor 4D compara automáticamente el valor del marcador interno de la entidad modificada con el de la entidad almacenada en los datos. Como corresponden, la entidad se guarda y el valor de su marcador se incrementa.

3. El segundo proceso también modifica la entidad cargada y valida sus cambios. Se llama al método `entity.save( )`. Since the stamp value of the modified entity does not match the one of the entity stored in the data, the save is not performed and an error is returned.

diff --git a/i18n/es/docusaurus-plugin-content-docs/version-21/ORDA/orda-events.md b/i18n/es/docusaurus-plugin-content-docs/version-21/ORDA/orda-events.md
index 586a2822234bef..4fc5a4b70f00eb 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-21/ORDA/orda-events.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-21/ORDA/orda-events.md
@@ -327,11 +327,11 @@ Function event validateSave ($event : Object)
Este evento se activa cada vez que una entidad está a punto de ser guardada.
- si define la función a nivel de entidad (primera sintaxis), se llama para cualquier atributo de la entidad.
-- si definió la función en el nivel de atributo (segunda sintaxis), sólo se llama para este atributo. This function is **not** executed if the attribute has not been touched in the entity.
+- si definió la función en el nivel de atributo (segunda sintaxis), sólo se llama para este atributo. Esta función **no** se ejecuta si el atributo no ha sido tocado en la entidad.
La función recibe un [objeto *event*](#event-parameter) como parámetro.
-This event is triggered by the following functions:
+Este evento es activado por las siguientes funciones:
- [`entity.save()`](../API/EntityClass.md#save)
- [`dataClass.fromCollection()`](../API/DataClassClass.md#fromcollection)
@@ -348,7 +348,7 @@ No se recomienda actualizar la entidad dentro de esta función (utilizando `This
#### Ejemplo
-In this example, it is not allowed to save a product with a margin lower than 50%. In case of an invalid price attribute, you return an error object and thus, stop the save action.
+En este ejemplo, no se permite guardar un producto con un margen inferior al 50%. In case of an invalid price attribute, you return an error object and thus, stop the save action.
```4d
// ProductsEntity class
@@ -374,22 +374,22 @@ return $result
```4d
Function event saving($event : Object)
Function event saving ($event : Object)
-// code
+// código
```
Este evento se activa cada vez que se guarda una entidad.
-- If you defined the function at the entity level (first syntax), it is called for any attribute of the entity. The function is executed even if no attribute has been touched in the entity (e.g. in case of sending data to an external app each time a save is done).
-- If you defined the function at the attribute level (second syntax), it is called only for this attribute. The function is **not** executed if the attribute has not been touched in the entity.
+- Si define la función a nivel de entidad (primera Sintaxis), se llama para cualquier atributo de la entidad. The function is executed even if no attribute has been touched in the entity (e.g. in case of sending data to an external app each time a save is done).
+- If you defined the function at the attribute level (second syntax), it is called only for this attribute. La función **no** se ejecuta si el atributo no ha sido tocado en la entidad.
La función recibe un [objeto *event*](#event-parameter) como parámetro.
-This event is triggered by the following functions:
+Este evento es activado por las siguientes funciones:
- [`entity.save()`](../API/EntityClass.md#save)
- [`dataClass.fromCollection()`](../API/DataClassClass.md#fromcollection)
-Este evento se activa **mientras** la entidad se guarda. If a [`validateSave()`](#function-event-validatesave) event function was defined, the `saving()` event function is called if no error was triggered by `validateSave()`. For example, you can use this event to create a document on a Google Drive account.
+Este evento se activa **mientras** la entidad se guarda. If a [`validateSave()`](#function-event-validatesave) event function was defined, the `saving()` event function is called if no error was triggered by `validateSave()`. Por ejemplo, puede utilizar este evento para crear un documento en una cuenta de Google Drive.
:::note
@@ -397,13 +397,13 @@ The business logic should raise errors which can't be detected during the `valid
:::
-During the save action, 4D engine errors can be raised (index, stamp has changed, not enough space on disk).
+Durante la acción de guardar, se pueden producir errores en el motor 4D (índice, sello ha cambiado, no hay suficiente espacio en el disco).
To stop the action, the code of the function must return an [error object](#error-object).
#### Ejemplo
-When a file is saved on disk, catch errors related to disk space for example.
+Cuando se guarda un archivo en el disco, por ejemplo, se capturan errores relacionados con el espacio de disco.
```4d
// ProductsEntity class
@@ -443,14 +443,14 @@ Función evento afterSave($event : Object)
// código
```
-This event is triggered just after an entity is saved in the data file, when at least one attribute was modified. It is not executed if no attribute has been touched in the entity.
+This event is triggered just after an entity is saved in the data file, when at least one attribute was modified. No se ejecuta si no se ha tocado ningún atributo en la entidad.
-This event is useful after saving data to propagate the save action outside the application or to execute administration tasks. For example, it can be used to send a confirmation email after data have been saved. Or, in case of error while saving data, it can make a rollback to restore a consistent state of data.
+This event is useful after saving data to propagate the save action outside the application or to execute administration tasks. Por ejemplo, se puede utilizar para enviar un correo electrónico de confirmación después de guardar los datos. O, en caso de error al guardar los datos, puede hacer una cancelación para restaurar un estado consistente de los datos.
La función recibe un [objeto *event*](#event-parameter) como parámetro.
- To avoid infinite loops, calling a [`save()`](../API/EntityClass.md#save) on the current entity (through `This`) in this function is **not allowed**. Se producirá un error.
-- Throwing an [error object](#error-object) is **not supported** by this function.
+- Arrojar un [objeto error](#error-object) **no es soportado** por esta función.
#### Ejemplo
@@ -483,9 +483,9 @@ Function event validateDrop ($event : Object)
// código
```
-This event is triggered each time an entity is about to be dropped.
+Este evento se activa cada vez que una entidad está a punto de ser soltada.
-- If you defined the function at the entity level (first syntax), it is called for any attribute of the entity.
+- Si define la función a nivel de entidad (primera Sintaxis), se llama para cualquier atributo de la entidad.
- If you defined the function at the attribute level (second syntax), it is called only for this attribute.
La función recibe un [objeto *event*](#event-parameter) como parámetro.
@@ -532,7 +532,7 @@ Function event dropping ($event : Object)
Este evento se activa cada vez que se elimina una entidad.
-- If you defined the function at the entity level (first syntax), it is called for any attribute of the entity.
+- Si define la función a nivel de entidad (primera Sintaxis), se llama para cualquier atributo de la entidad.
- If you defined the function at the attribute level (second syntax), it is called only for this attribute.
La función recibe un [objeto *event*](#event-parameter) como parámetro.
@@ -555,7 +555,7 @@ To stop the action, the code of the function must return an [error object](#erro
#### Ejemplo
-Here is an example of `dropping` event at entity level:
+Estes es un ejemplo del evento `dropping` a nivel de entidad:
```4d
// ProductsEntity class
@@ -589,18 +589,18 @@ Function event afterDrop($event : Object)
// código
```
-This event is triggered just after an entity is dropped.
+Este evento se activa justo después de que una entidad es soltada.
-This event is useful after dropping data to propagate the drop action outside the application or to execute administration tasks. For example, it can be used to send a cancellation email after data have been dropped. Or, in case of error while dropping data, it can log an information for the administrator to check data consistency.
+This event is useful after dropping data to propagate the drop action outside the application or to execute administration tasks. Por ejemplo, se puede utilizar para enviar un correo electrónico de cancelación después de soltar los datos. Or, in case of error while dropping data, it can log an information for the administrator to check data consistency.
La función recibe un [objeto *event*](#event-parameter) como parámetro.
- To avoid infinite loops, calling a [`drop()`](../API/EntityClass.md#drop) on the current entity (through `This`) in this function is **not allowed**. Se producirá un error.
-- Throwing an [error object](#error-object) is **not supported** by this function.
+- Arrojar un [objeto error](#error-object) **no es soportado** por esta función.
:::note
-The dropped entity is referenced by `This` and still exists in memory.
+La entidad eliminada es referenciada por `This` y aún existe en memoria.
:::
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-21/ORDA/privileges.md b/i18n/es/docusaurus-plugin-content-docs/version-21/ORDA/privileges.md
index 5bb31631d97539..72cf097a8cd4f4 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-21/ORDA/privileges.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-21/ORDA/privileges.md
@@ -27,27 +27,21 @@ Si un usuario intenta ejecutar una acción y no tiene los derechos de acceso ade
Puede asignar acciones de permiso específicas a los siguientes recursos en su proyecto:
-- el almacén de datos
-- una clase de datos
-- un atributo (incluidos los calculados y los alias)
-- una función de clase de modelo de datos
-- una función [singleton](../REST/$singleton.md)
+- the [datastore](../ORDA/dsMapping.md#datastore)
+- the [dataclasses](../ORDA/dsMapping.md#dataclass)
+- [attributes](../ORDA/dsMapping.md#attribute) (including [computed](./ordaClasses.md#computed-attributes-1) and [alias](./ordaClasses.md#alias-attributes-1))
+- functions of the [data model classes](../ORDA/ordaClasses.md)
+- [singleton](../REST/$singleton.md) functions
Cada vez que se accede a un recurso dentro de una sesión (sin importar la forma en que se acceda), 4D verifica que la sesión tenga los permisos apropiados y rechaza el acceso si no está autorizado.
-Una acción de permiso definida en un nivel determinado se hereda por defecto en los niveles inferiores, pero se pueden establecer varios permisos:
-
-- Una acción de permiso definida a nivel de almacén de datos se asigna automáticamente a todas las clases de datos. La acción de permiso *execute* definida en el nivel del datastore se aplica a todas las funciones del proyecto, incluyendo todas las funciones [singleton](../REST/$singleton.md).
-- Una acción de permiso definida a nivel de clase de datos anula la configuración del almacén de datos (si existe). Por defecto, todos los atributos de la clase de datos heredan de los permisos de la clase de datos.
-- A diferencia de los permisos de clase de datos, una acción de permiso definida a nivel de atributo no anula los permisos de clase de datos padre, sino que se añade a ellos. Por ejemplo, si asignó el privilegio "general" a una clase de datos y el privilegio "detail" a un atributo de la clase de datos, tanto el privilegio "general" como el privilegio "detail" deben definirse en la sesión para acceder al atributo.
-
-:::info
+## Permissions
-Los permisos controlan el acceso a los objetos o funciones del almacén de datos. Si desea filtrar los datos leídos según algún criterio, puede considerar [restringir las selecciones de entidades](entities.md#restricting-entity-selections) que puede ser más apropiado en este caso.
+A permission is the ability to do an action on a resource. For example, *execute the ds.myTable.myFunction()* represents a **permission**. Permissions are defined for the project in the [`roles.json`](#rolesjson-file) file. Cada permiso se puede dar a uno o más [privilegios](#privileges-and-roles).
-:::
+When **no specific permission** has been defined for a resource, access to the resource may be automatically **unrestricted** or **restricted** depending on the [default mode defined for the project](#restriction-modes).
-## Acciones de autorización
+### Acciones de autorización
Las acciones disponibles están relacionadas con el recurso de destino.
@@ -73,6 +67,65 @@ Las acciones disponibles están relacionadas con el recurso de destino.
Los parámetros de permisos requieren ser consistentes, en particular los permisos **update** y **drop** también necesitan el permiso **read** (pero **create** no lo necesita).
+### Permisos heredados
+
+Una acción de permiso definida en un nivel determinado se hereda por defecto en los niveles inferiores, pero se pueden establecer varios permisos:
+
+- Una acción de permiso definida a nivel de almacén de datos se asigna automáticamente a todas las clases de datos. La acción de permiso *execute* definida en el nivel del datastore se aplica a todas las funciones del proyecto, incluyendo todas las funciones [singleton](../REST/$singleton.md).
+- Una acción de permiso definida a nivel de clase de datos anula la configuración del almacén de datos (si existe). Por defecto, todos los atributos de la clase de datos heredan de los permisos de la clase de datos.
+- A diferencia de los permisos de clase de datos, una acción de permiso definida a nivel de atributo no anula los permisos de clase de datos padre, sino que se añade a ellos. Por ejemplo, si asignó el privilegio "general" a una clase de datos y el privilegio "detail" a un atributo de la clase de datos, tanto el privilegio "general" como el privilegio "detail" deben definirse en la sesión para acceder al atributo.
+
+:::info
+
+Los permisos controlan el acceso a los objetos o funciones del almacén de datos. Si desea filtrar los datos leídos según algún criterio, puede considerar [restringir las selecciones de entidades](entities.md#restricting-entity-selections) que puede ser más apropiado en este caso.
+
+:::
+
+### Asignación de permisos a las funciones de la clase ORDA
+
+Al configurar los permisos, las funciones de clase ORDA se declaran en el elemento `applyTo` usando la siguiente sintaxis:
+
+```json
+.
+```
+
+Por ejemplo, si desea aplicar un permiso a la siguiente función:
+
+```4d
+// cs.CityEntity class
+Class extends Entity
+ Function getPopulation() : Integer
+ ...
+```
+
+... tiene que escribir:
+
+```json
+"applyTo":"City.getPopulation"
+```
+
+Significa que no puede utilizar los mismos nombres de función en las distintas clases ORDA (entidad, selección de entidad, dataclass) si desea que se les asignen privilegios. En este caso, debe utilizar nombres de función distintos. Por ejemplo, si has creado una función "drop" en ambas clases `cs.CityEntity` y `cs.CitySelection`, necesita darles nombres diferentes como `dropEntity()` y `dropSelection()`. A continuación, puede escribir en el archivo "roles.json":
+
+```json
+ "permissions": {
+ "allowed": [
+ {
+ "applyTo": "City.dropEntity",
+ "type": "method",
+ "promote": [
+ "name"
+ ]
+ },
+ {
+ "applyTo": "City.dropSelection",
+ "type": "method",
+ "promote": [
+ "name"
+ ]
+ }
+ ]
+```
+
## Privilegios y roles
Un \*\*privilegio \*\* es la capacidad técnica de ejecutar \*\*acciones \*\* en \*\*recursos \*\*, mientras que un **rol** es un privilegio publicado para ser utilizado por un administrador. Básicamente, un rol reúne varios privilegios para definir un perfil de usuario empresarial. Por ejemplo, "manageInvoices" podría ser un privilegio mientras que "secretary" podría ser un rol (que incluye "manageInvoices" y otros privilegios).
@@ -111,70 +164,7 @@ exposed Function authenticate($identifier : Text; $password : Text)->$result : T
## archivo `roles.json`
-El archivo `roles.json` describe todos los parámetros de seguridad del proyecto.
-
-### Archivo por defecto
-
-Al crear un proyecto, se crea un archivo `roles.json` por defecto en la siguiente ubicación: `/Project/Sources/` (ver la sección [Architecture](../Project/architecture.md#sources)).
-
-El archivo por defecto tiene el siguiente contenido:
-
-```json title="/Project/Sources/roles.json"
-
-{
- "privileges": [
- {
- "privilege": "all",
- "includes": []
- }
- ],
-
- "roles": [],
-
- "permissions": {
- "allowed": [
- {
- "applyTo": "ds",
- "type": "datastore",
- "read": ["all"],
- "create": ["all"],
- "update": ["all"],
- "drop": ["all"],
- "execute": ["all"],
- "promote": ["all"]
- }
- ]
- },
-
- "forceLogin": true
-
-}
-
-```
-
-For a highest level of security, the "all" privilege is assigned to all permissions in the datastore, thus data access on the whole `ds` object is disabled by default. The principle is as follows: assigning a permission is like putting a lock on a door. Only sessions with privilege having the corresponding key (i.e., a permission) will be able to open the lock.
-Se recomienda no modificar ni utilizar este privilegio de bloqueo, sino agregar permisos específicos a cada recurso que desee poner a disposición desde solicitudes web o REST ([ver ejemplo a continuación](#example-of-privilege-configuration)).
-
-:::caution
-
-Cuando no se definen parámetros específicos en el archivo `roles.json`, los accesos no son limitados. Esta configuración le permite desarrollar la aplicación sin tener que preocuparse por los accesos, pero no se recomienda en entornos de producción.
-
-:::
-
-:::note Compatibilidad
-
-En versiones anteriores, el archivo `roles.json` no fue creado por defecto. A partir de 4D 20 R6, al abrir un proyecto existente que no contiene un archivo `roles.json` o los parámetros `"forceLogin": true`, el botón **Activar la autenticación REST mediante la función ds.authentify()** está disponible en la página [**Funcionalidades web** de la caja de diálogo Parámetros](../settings/web.md#access). Este botón actualiza automáticamente su configuración de seguridad (es posible que tenga que modificar su código, [ver esta publicación del blog](https://blog.4d.com/force-login-becomes-default-for-all-rest-auth/)).
-:::
-
-:::note Qodly Studio
-
-En Qodly Studio for 4D, el modo se puede definir utilizando la opción [**Forzar inicio de sesión**](../WebServer/qodly-studio.md#force-login) en el panel de Privilegios.
-
-:::
-
-### Sintaxis
-
-La sintaxis del archivo `roles.json` es la siguiente:
+El archivo `roles.json` describe todos los parámetros de seguridad web del proyecto. La sintaxis del archivo `roles.json` es la siguiente:
| Nombre de propiedad | | | Tipo | Obligatorio | Descripción |
| ------------------- | ----------------------------------------------------------------------------------- | -------------------------------------------------------------------------------- | --------------------------------- | ----------- | ------------------------------------------------------------------------------------------------------------------------------ |
@@ -194,60 +184,87 @@ La sintaxis del archivo `roles.json` es la siguiente:
| | | \[].drop | Colección de cadenas | | Lista de privilegios |
| | | \[].execute | Colección de cadenas | | Lista de privilegios |
| | | \[].promote | Colección de cadenas | | Lista de privilegios |
-| forceLogin | | | Boolean | | True para habilitar el [modo "forceLogin"](../REST/authUsers.md#force-login-mode) |
+| restrictedByDefault | | | Boolean | | Si es true, se niega el acceso a recursos sin permisos explícitos |
+| forceLogin | | | Boolean | | If true, enables ["forceLogin" mode](../REST/authUsers.md#force-login-mode) |
:::caution Recordatorio
- El nombre de privilegio "WebAdmin" está reservado a la aplicación. No se recomienda utilizar este nombre para los privilegios personalizados.
-- los nombres de `privileges` y `roles` son insensibles a mayúsculas y minúsculas.
+- `privileges` and `roles` names are case-insensitive.
:::
-#### Asignación de permisos a las funciones de la clase ORDA
+### Default File Location and Content
-Al configurar los permisos, las funciones de clase ORDA se declaran en el elemento `applyTo` usando la siguiente sintaxis:
+When a new project is created, a default `roles.json` file is generated at:
-```json
-.
```
-
-Por ejemplo, si desea aplicar un permiso a la siguiente función:
-
-```4d
-// cs.CityEntity class
-Class extends Entity
- Function getPopulation() : Integer
- ...
+/Project/Sources/
```
-... tiene que escribir:
+Ver la sección [Arquitectura](../Project/architecture.md#sources).
-```json
-"applyTo":"City.getPopulation"
-```
+Contenido predeterminado:
-Significa que no puede utilizar los mismos nombres de función en las distintas clases ORDA (entidad, selección de entidad, dataclass) si desea que se les asignen privilegios. En este caso, debe utilizar nombres de función distintos. Por ejemplo, si has creado una función "drop" en ambas clases `cs.CityEntity` y `cs.CitySelection`, necesita darles nombres diferentes como `dropEntity()` y `dropSelection()`. A continuación, puede escribir en el archivo "roles.json":
+```json title="/Project/Sources/roles.json"
-```json
- "permissions": {
- "allowed": [
- {
- "applyTo": "City.dropEntity",
- "type": "method",
- "promote": [
- "name"
- ]
- },
- {
- "applyTo": "City.dropSelection",
- "type": "method",
- "promote": [
- "name"
- ]
- }
+{
+ "privileges": [
+ ],
+ "roles": [
+ ],
+ "permissions": {
+ "allowed": [
+ {
+ "applyTo": "ds",
+ "type": "datastore",
+ "read": [],
+ "create": [],
+ "update": [],
+ "drop": [],
+ "execute": [],
+ "promote": []
+ }
]
+ },
+ "restrictedByDefault": false,
+ "forceLogin": false
+}
```
+:::note Compatibilidad
+
+En versiones anteriores, el archivo `roles.json` no fue creado por defecto. A partir de 4D 20 R6, al abrir un proyecto existente que no contiene un archivo `roles.json` o los parámetros `"forceLogin": true`, el botón **Activar la autenticación REST mediante la función ds.authentify()** está disponible en la página [**Funcionalidades web** de la caja de diálogo Parámetros](../settings/web.md#access). Este botón actualiza automáticamente su configuración de seguridad (es posible que tenga que modificar su código, [ver esta publicación del blog](https://blog.4d.com/force-login-becomes-default-for-all-rest-auth/)).
+
+:::
+
+:::note Qodly Studio
+
+In Qodly Studio for 4D, the login mode can be set using the [**Force login** option](https://developer.4d.com/qodly/4DQodlyPro/force-login) in the Roles and Privileges panel.
+
+:::
+
+## Restriction Modes
+
+The `restrictedByDefault` property configures how every [resource](#resources) are accessed when [no specific permission is defined for it](#permission):
+
+- **Unrestricted mode** (`restrictedByDefault`: **false**): Resources without defined permissions are accessible to all requests. Este modo es adecuado para entornos de desarrollo donde el acceso se puede restringir gradualmente.
+- **Restricted mode** (`restrictedByDefault`: **true**): Resources without defined permissions are blocked by default. Este modo se recomienda para entornos de producción donde el acceso debe ser otorgado explícitamente.
+
+:::note Compatibilidad
+
+- When **creating a new project**, the `restrictedByDefault` property is set to **false** in the *roles.json* file (see below). Tenga en cuenta que esta configuración está hecha a medida para un inicio rápido y un desarrollo fluido. In production environment, [it is recommended to set the `restrictedByDefault` and `forceLogin` properties to **true**](#configuring-restrictedbydefault-and-forcelogin-properties).
+- In **projects converted from previous releases**; when enabling access to Qodly Studio using the [One-click configuration dialog](https://developer.4d.com/qodly/4DQodlyPro/gettingStarted#one-click-configuration), the `restrictedByDefault` property is added with value **true** in the *roles.json* file.
+
+:::
+
+### Configuración recomendada
+
+Depending on your environment, the recommended settings are:
+
+- **Production**: Set both `restrictedByDefault` and [`forceLogin`](../REST/authUsers.md#force-login-mode) to **true**. Esto garantiza la máxima seguridad al requerir autenticación de usuario y permisos explícitamente definidos para el acceso a recursos.
+- **Development**: Set both `restrictedByDefault` and [`forceLogin`](../REST/authUsers.md#force-login-mode) to **false**. This allows easier access during development and debugging, with the possibility to gradually apply restrictions.
+
### Archivo `Roles_Errors.json`
El archivo `roles.json` es analizado por 4D al inicio. Debe reiniciar la aplicación si desea que se tengan en cuenta las modificaciones en este archivo.
@@ -267,93 +284,28 @@ End if
## Ejemplo de configuración de privilegios
-The good practice is to keep all data access locked by default thanks to the "all" privilege and to configure the `roles.json` file to only open controlled parts to authorized sessions. For example, to allow some accesses to "guest" sessions:
-
```json title="/Project/Sources/roles.json"
{
- "privileges": [
- {
- "privilege": "all",
- "includes": []
- }
- ],
- "roles": [],
- "permissions": {
- "allowed": [
- {
- "applyTo": "ds",
- "type": "datastore",
- "read": [
- "all"
- ],
- "create": [
- "all"
- ],
- "update": [
- "all"
- ],
- "drop": [
- "all"
- ],
- "execute": [
- "all"
- ],
- "promote": [
- "all"
- ]
- },
- {
- "applyTo": "ds.loginAs",
- "type": "method",
- "execute": [
- "guest"
- ]
- },
- {
- "applyTo": "ds.hasPrivilege",
- "type": "method",
- "execute": [
- "guest"
- ]
- },
- {
- "applyTo": "ds.clearPrivileges",
- "type": "method",
- "execute": [
- "guest"
- ]
- },
- {
- "applyTo": "ds.isGuest",
- "type": "method",
- "execute": [
- "guest"
- ]
- },
- {
- "applyTo": "ds.getPrivileges",
- "type": "method",
- "execute": [
- "guest"
- ]
- },
- {
- "applyTo": "ds.setAllPrivileges",
- "type": "method",
- "execute": [
- "guest"
- ]
- },
- {
- "applyTo": "mySingletonClass.createID",
- "type": "singletonMethod",
- "execute": [
- "guest"
- ]
- }
- ]
- },
- "forceLogin": true
+ "forceLogin": true,
+ "restrictedByDefault": true,
+ "permissions": {
+ "allowed": [
+ {
+ "applyTo": "People",
+ "type": "dataclass",
+ "read": [
+ "viewPeople"
+ ]
+ }
+ ]
+ },
+ "privileges": [
+ {
+ "privilege": "viewPeople",
+ "includes": []
+ }
+ ],
+ "roles": []
}
```
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-21/Project/compiler.md b/i18n/es/docusaurus-plugin-content-docs/version-21/Project/compiler.md
index 1158b612ee42c7..77cb73581775e8 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-21/Project/compiler.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-21/Project/compiler.md
@@ -148,7 +148,7 @@ El modo de escritura directa es opcional sólo en proyectos convertidos. Se util
Select **All variables are typed (Direct typing)** option in the **Compilation Path** menu to enable the direct typing mode. Cuando se selecciona esta opción, las demás opciones de compatibilidad pierden su utilidad y dejan de mostrarse.
-Se recomienda utilizar esta opción, ya que proporciona flexibilidad y eficiencia. The direct typing concept assumes that all elements are directly declared where they are defined in your code. Solo tiene que asegurarse de que todas sus variables son declaradas utilizando la [sintaxis 'var'](../Concepts/variables.md#declaring-variables) y que sus parámetros de método y función son declarados [en sus prototipos](../Concepts/parameters.md) (la función [Verificar sintaxis](#check-syntax) puede ayudarle a detectar declaraciones faltantes o no válidas).
+Se recomienda utilizar esta opción, ya que proporciona flexibilidad y eficiencia. El concepto de escritura directa asume que todos los elementos se declaran directamente donde están definidos en su código. Solo tiene que asegurarse de que todas sus variables son declaradas utilizando la [sintaxis 'var'](../Concepts/variables.md#declaring-variables) y que sus parámetros de método y función son declarados [en sus prototipos](../Concepts/parameters.md) (la función [Verificar sintaxis](#check-syntax) puede ayudarle a detectar declaraciones faltantes o no válidas).
## Advertencias
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-21/REST/$filter.md b/i18n/es/docusaurus-plugin-content-docs/version-21/REST/$filter.md
index 39c7beb92cfae9..daaa27e8603038 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-21/REST/$filter.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-21/REST/$filter.md
@@ -90,13 +90,13 @@ Use the `params` property to provide the filter with the vector comparison param
El parámetro *vectorComparison* es una colección de los siguientes elementos:
-| Propiedad | Tipo | Descripción |
-| -------------------------------------------------------------------------------- | -------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
-| [].vector | Colección de números | Obligatorio. Una colección que representa el vector a comparar |
-| [].metric | Text | Opcional. [Cálculo vectorial](../API/VectorClass.md#understanding-the-different-vector-computations) a utilizar para la consulta. Supported values:"cosine" (default if omitted): calculates the cosine similarity between vectors."dot": calculates the dot similarity of vectors."euclídea": calcula la distancia euclidiana entre vectores. |
-| [].threshold | Real | Opcional (por defecto: 0,5). Un valor umbral utilizado para filtrar las comparaciones de vectores en función de su puntuación de similitud coseno, punto o euclídea según la "métrica" seleccionada. Es altamente recomendable elegir una similitud que se adapte mejor a su caso de uso específico para obtener resultados óptimos. |
+| Propiedad | Tipo | Descripción |
+| -------------------------------------------------------------------------------- | -------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| [].vector | Colección de números | Obligatorio. Una colección que representa el vector a comparar |
+| [].metric | Text | Opcional. [Cálculo vectorial](../API/VectorClass.md#understanding-the-different-vector-computations) a utilizar para la consulta. Supported values:"cosine" (default if omitted): calculates the cosine similarity between vectors."dot": calcula la similitud de puntos de los vectores."euclídea": calcula la distancia euclidiana entre vectores. |
+| [].threshold | Real | Opcional (por defecto: 0,5). Un valor umbral utilizado para filtrar las comparaciones de vectores en función de su puntuación de similitud coseno, punto o euclídea según la "métrica" seleccionada. Es altamente recomendable elegir una similitud que se adapte mejor a su caso de uso específico para obtener resultados óptimos. |
-Only a subset of **comparator** symbols are supported with vector comparisons. Tenga en cuenta que comparan los resultados con el valor umbral:
+Solo un subconjunto de símbolos **comparadores** son soportados con comparaciones vectoriales. Tenga en cuenta que comparan los resultados con el valor umbral:
| Comparador | Símbolo(s) | Comentario |
| ----------------- | ----------------------------- | --------------------------- |
@@ -126,7 +126,7 @@ En este ejemplo, buscamos en la clase de datos Person todas las personas cuya pr
GET /rest/Person/?filter="anotherobj.mynum > 50"
```
-In this example, we do a vector search with basic values:
+En este ejemplo, hacemos una búsqueda vectorial con los valores de base:
```
GET /rest/Person/?filter="VectorAtt>=:1"&$params='[{vector:[1,2,3],threshold:1}]'
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-21/REST/$singleton.md b/i18n/es/docusaurus-plugin-content-docs/version-21/REST/$singleton.md
index dd6441c98e068f..f2526bf683cf39 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-21/REST/$singleton.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-21/REST/$singleton.md
@@ -5,7 +5,7 @@ title: $singleton
Puede llamar directamente a [funciones de sus singletons compartidos](../Concepts/classes.md#singleton-classes) a través de REST.
-Singleton functions are called in POST or GET requests with the `$singleton` command and without `()`. Por ejemplo, si ha definido una función `buildVehicle()` en la clase compartida singleton `VehicleFactory`, podría llamarla utilizando la siguiente petición:
+Las funciones Singleton se llaman en peticiones POST o GET con el comando `$singleton` y sin `()`. Por ejemplo, si ha definido una función `buildVehicle()` en la clase compartida singleton `VehicleFactory`, podría llamarla utilizando la siguiente petición:
```json
/rest/$singleton/VehicleFactory/buildVehicle
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-21/ViewPro/commands/vp-copy-to-object.md b/i18n/es/docusaurus-plugin-content-docs/version-21/ViewPro/commands/vp-copy-to-object.md
index b8680a5547e280..704a4b63bc00d1 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-21/ViewPro/commands/vp-copy-to-object.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-21/ViewPro/commands/vp-copy-to-object.md
@@ -31,10 +31,10 @@ En *rangeObj*, pase el rango de celdas con los valores, formato y fórmulas a co
Puede pasar un parámetro opcional *options* con las siguientes propiedades:
-| Propiedad | Tipo | Descripción |
-| ----------- | ------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
-| copy | Boolean | *True* (por defecto) para mantener los valores, el formato y las fórmulas copiados después de la ejecución del comando. *False* para eliminarlos. |
-| copyOptions | Integer | Especifica lo que se copia o mueve. Possible values: | Value | Description |
|---|
| `vk clipboard options all` (default) | Copies all data objects, including values, formatting, and formulas. |
| `vk clipboard options formatting` | Copia solo el formato. |
| `vk clipboard options formulas` | Copies only the formulas. |
| `vk clipboard options formulas and formatting` | Copies the formulas and formatting. |
| `vk clipboard options values` | Copia solo los valores. |
| `vk clipboard options value and formatting` | Copies the values and formatting. |
|
+| Propiedad | Tipo | Descripción |
+| ----------- | ------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| copy | Boolean | *True* (por defecto) para mantener los valores, el formato y las fórmulas copiados después de la ejecución del comando. *False* para eliminarlos. |
+| copyOptions | Integer | Especifica lo que se copia o mueve. Possible values: | Value | Description |
|---|
| `vk clipboard options all` (default) | Copies all data objects, including values, formatting, and formulas. |
| `vk clipboard options formatting` | Copia solo el formato. |
| `vk clipboard options formulas` | Copies only the formulas. |
| `vk clipboard options formulas and formatting` | Copia las fórmulas y formato. |
| `vk clipboard options values` | Copia solo los valores. |
| `vk clipboard options value and formatting` | Copia los valores y el formato. |
|
Se tienen en cuenta las opciones de pegado definidas en las [opciones del libro de trabajo](vp-set-workbook-options.md).
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-21/ViewPro/commands/vp-export-document.md b/i18n/es/docusaurus-plugin-content-docs/version-21/ViewPro/commands/vp-export-document.md
index 8dfcf9c5401f37..94eefcc2eb31d0 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-21/ViewPro/commands/vp-export-document.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-21/ViewPro/commands/vp-export-document.md
@@ -77,11 +77,11 @@ El parámetro opcional *paramObj* le permite definir múltiples propiedades para
| | includeStyles | boolean | Si se incluye el estilo al exportar, por defecto true. |
| | includeFormulas | boolean | Si se incluye la fórmula al exportar, por defecto true. |
| | saveAsView | boolean | Si aplicar la cadena de formato al valor de exportación al exportar, por defecto false. |
-| | rowHeadersAsFrozenColumns | boolean | Whether to treat the row headers as frozen columns when exporting, default false. |
+| | rowHeadersAsFrozenColumns | boolean | Si tratar los encabezados de línea como columnas congeladas al exportar, por defecto false. |
| | columnHeadersAsFrozenRows | boolean | Si tratar los encabezados de columna como líneas congeladas al exportar, por defecto false. |
| | includeAutoMergedCells | boolean | Si se incluyen las celdas combinadas automáticamente al exportar, false por defecto. |
-| | includeCalcModelCache | boolean | Si desea incluir los datos adicionales de cálculo. Can be faster when open the file with those data, default false. |
-| | includeUnusedNames | boolean | Whether to include the unused custom name when exporting, default true. |
+| | includeCalcModelCache | boolean | Si desea incluir los datos adicionales de cálculo. Puede ser más rápido al abrir el archivo con esos datos, false por defecto. |
+| | includeUnusedNames | boolean | Si se incluye el nombre personalizado no utilizado al exportar, true por defecto. |
| | includeEmptyRegionCells | boolean | Si se incluyen celdas vacías (celdas sin datos o solo con estilo) fuera del rango de datos utilizado, por defecto true. |
| | contraseña | text | Contraseña a definir para abrir el libro de trabajo. |
| `\` | | any | Toda propiedad personalizada que estará disponible a través del parámetro $3 en el método de retrollamada. |
@@ -90,7 +90,7 @@ El parámetro opcional *paramObj* le permite definir múltiples propiedades para
- Al exportar un documento 4D View Pro a un archivo con formato Microsoft Excel, pueden perderse algunos parámetros. Por ejemplo, los métodos y fórmulas 4D no son soportados por Excel. Puede verificar otras configuraciones con [esta lista de SpreadJS](https://developer.mescius.com/spreadjs/docs/excelimpexp/excelexport).
- La exportación en este formato se ejecuta de forma asíncrona, utilice la propiedad `formula` del *paramObj* para el código a ejecutar después de la exportación.
-- Se recomienda utilizar el objeto *excelOptions* al exportar en formato ".xlsx". Make sure to not mix this object with legacy first level properties (*password*, *includeBindingSource*...) para evitar problemas potientales.
+- Se recomienda utilizar el objeto *excelOptions* al exportar en formato ".xlsx". Asegúrese de no mezclar este objeto con propiedades heredadas de primer nivel (*password*, *includeBindingSource*...) para evitar problemas potientales.
**Notas sobre el formato PDF**:
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-21/ViewPro/commands/vp-find.md b/i18n/es/docusaurus-plugin-content-docs/version-21/ViewPro/commands/vp-find.md
index 4ccd334c12e81f..cdf07a14ec6e8f 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-21/ViewPro/commands/vp-find.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-21/ViewPro/commands/vp-find.md
@@ -33,7 +33,7 @@ Puede pasar el parámetro opcional *searchCondition* para especificar el funcion
| afterRow | Integer | El número de la línea justo antes de la línea inicial de la búsqueda. Si *rangeObj* es un rango combinado, el número de línea indicado debe ser del primer rango. Valor por defecto: -1 (inicio de *rangeObj*) |
| all | Boolean | True - Se devuelven todas las celdas en *rangeObj* correspondientes a *searchValue*False - (valor por defecto) Sólo se devuelve la primera celda de *rangeObj* correspondiente a *searchValue* |
| flags | Integer | | `vk find flag exact match` | El contenido completo de la celda debe coincidir completamente con el valor de búsqueda |
| `vk find flag ignore case` | Las mayúsculas y minúsculas se consideran iguales. Ej: "a" es lo mismo que "A". |
| `vk find flag none` | no search flags are considered (default) |
| `vk find flag use wild cards` | Wildcard characters (\*,?) puede utilizarse en la cadena de búsqueda. Los caracteres comodín se pueden utilizar en cualquier comparación de cadenas para coincidir con cualquier número de caracteres:\* para cero o varios caracteres (por ejemplo, al buscar "bl*" se puede encontrar "bl", "black" o "blob")? para un solo carácter (por ejemplo, la búsqueda de "h?t" puede encontrar "hot", o "hit" |
Estos indicadores pueden combinarse. Por ejemplo: $search.flags:=vk find flag use wild cards+vk find flag ignore case |
-| order | Integer | | `vk find order by columns` | La búsqueda se realiza por columnas. Each row of a column is searched before the search continues to the next column. |
| `vk find order by rows` | The search is performed by rows. Se busca en cada columna de una linea antes de continuar con la siguiente linea (por defecto) |
|
+| order | Integer | | `vk find order by columns` | La búsqueda se realiza por columnas. Se busca en cada línea de una columna antes de continuar con la siguiente. |
| `vk find order by rows` | La búsqueda es realizada por líneas. Se busca en cada columna de una linea antes de continuar con la siguiente linea (por defecto) |
|
| target | Integer | | `vk find target formula` | La búsqueda se realiza en la fórmula de la celda |
| `vk find target tag` | La búsqueda se realiza en la etiqueta de la celda |
| `vk find target text` | La búsqueda se realiza en el texto de la celda (predeterminado) |
Estas banderas pueden combinarse. Por ejemplo:$search.target:=vk find target formula+vk find target text
|
En el parámetro opcional *replaceValue*, puede pasar un texto para que ocupe el lugar de toda instancia del texto en el *searchValue* encontrado en *rangeObj*.
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-21/ViewPro/commands/vp-import-document.md b/i18n/es/docusaurus-plugin-content-docs/version-21/ViewPro/commands/vp-import-document.md
index e8bed742d07c39..229ed41326b42a 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-21/ViewPro/commands/vp-import-document.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-21/ViewPro/commands/vp-import-document.md
@@ -43,33 +43,33 @@ Se devuelve un error si el parámetro `filePath` no es válido, o si el archivo
El parámetro opcional *paramObj* permite definir las propiedades del documento importado:
-| Parámetros | | Tipo | Descripción |
-| ------------ | ------------------------- | --------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
-| formula | | 4D.Function | Un método de retollamada que se lanzará cuando la importación haya terminado. Debe utilizar una fórmula devuelta por el comando [`Formula`](../../commands/formula.md). Ver [Pasar un método de retrollamada (fórmula)](vp-export-document.md#passing-a-callback-method-formula). |
-| contraseña | | text | Sólo Microsoft Excel (opcional) - La contraseña utilizada para proteger un documento MS Excel. |
-| csvOptions | | object | opciones de importación csv |
-| | range | object | Rango de celdas que contiene la primera celda donde se escribirán los datos. Si el rango especificado no es un rango de celdas, sólo se utiliza la primera celda del rango. |
-| | rowDelimiter | text | Delimitador de línea. Si no está presente, el delimitador es determinado automáticamente por 4D. |
-| | columnDelimiter | text | Delimitador de columna. Por defecto: "," |
-| sjsOptions | | object | opciones para la importación de sjs |
-| | calcOnDemand | boolean | Si se calculan las fórmulas sólo cuando se solicitan, por defecto es false. |
-| | dynamicReferences | boolean | Si calcular funciones con referencias dinámicas, por defecto es true. |
-| | fullRecalc | boolean | Si calcular después de cargar los datos json, false por defecto. |
-| | includeFormulas | boolean | Si se incluyen las fórmulas al cargar, por defecto es true. |
-| | includeStyles | boolean | Si se incluyen los estilos al cargar, por defecto es true. |
-| | includeUnusedStyles | boolean | Si se incluyen los estilos de nombre no utilizados al convertir excel xml a json, por defecto es true. |
-| | openMode | integer | 0 (normal): modo abierto normal, sin perezoso (lazy) e incremental. When opening file, UI and UI event could be refreshed and responsive at specific time points.1 (lazy): modo de apertura lazy. Al abrir el archivo, sólo se cargará directamente la hoja activa. Las demás hojas sólo se cargarán cuando se vayan a utilizar.2 (incremental): modo abierto incremental. Al abrir un archivo, la interfaz de usuario y el evento de interfaz de usuario podrían actualizarse y responder directamente. |
-| excelOptions | | object | Sólo Excel (opcional) - Opciones para exportar Excel |
-| | includeStyles | boolean | Si se incluye el estilo al importar, por defecto true. |
-| | includeFormulas | boolean | Si se incluye la fórmula al importar, por defecto true. |
-| | frozenColumnsAsRowHeaders | boolean | Bien sea tratar las columnas congeladas como encabezados de línea al importar, por defecto false. |
-| | frozenRowsAsColumnHeaders | boolean | Whether to treat the frozen rows as column headers when importing, default false. |
-| | fullRecalc | boolean | Si calcular después de cargar los datos json, false por defecto. |
-| | dynamicReferences | boolean | Si calcular funciones con referencia dinámica, por defecto true. |
-| | calcOnDemand | boolean | Whether to calculate formulas only when they are demanded, default false. |
-| | includeUnusedStyles | boolean | Si incluir el estilo de nombre no utilizado al convertir excel xml al json, default true. |
-| | contraseña | text | La contraseña para abrir el workbook. |
-| | openMode | text | The open mode of normal, lazy and incremental. Por defecto es normal. |
+| Parámetros | | Tipo | Descripción |
+| ------------ | ------------------------- | --------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
+| formula | | 4D.Function | Un método de retollamada que se lanzará cuando la importación haya terminado. Debe utilizar una fórmula devuelta por el comando [`Formula`](../../commands/formula.md). Ver [Pasar un método de retrollamada (fórmula)](vp-export-document.md#passing-a-callback-method-formula). |
+| contraseña | | text | Sólo Microsoft Excel (opcional) - La contraseña utilizada para proteger un documento MS Excel. |
+| csvOptions | | object | opciones de importación csv |
+| | range | object | Rango de celdas que contiene la primera celda donde se escribirán los datos. Si el rango especificado no es un rango de celdas, sólo se utiliza la primera celda del rango. |
+| | rowDelimiter | text | Delimitador de línea. Si no está presente, el delimitador es determinado automáticamente por 4D. |
+| | columnDelimiter | text | Delimitador de columna. Por defecto: "," |
+| sjsOptions | | object | opciones para la importación de sjs |
+| | calcOnDemand | boolean | Si se calculan las fórmulas sólo cuando se solicitan, por defecto es false. |
+| | dynamicReferences | boolean | Si calcular funciones con referencias dinámicas, por defecto es true. |
+| | fullRecalc | boolean | Si calcular después de cargar los datos json, false por defecto. |
+| | includeFormulas | boolean | Si se incluyen las fórmulas al cargar, por defecto es true. |
+| | includeStyles | boolean | Si se incluyen los estilos al cargar, por defecto es true. |
+| | includeUnusedStyles | boolean | Si se incluyen los estilos de nombre no utilizados al convertir excel xml a json, por defecto es true. |
+| | openMode | integer | 0 (normal): modo abierto normal, sin perezoso (lazy) e incremental. Al abrir un archivo, la interfaz de usuario y el evento de interfaz de usuario podrían actualizarse y responder en momentos específicos.1 (lazy): modo de apertura lazy. Al abrir el archivo, sólo se cargará directamente la hoja activa. Las demás hojas sólo se cargarán cuando se vayan a utilizar.2 (incremental): modo abierto incremental. Al abrir un archivo, la interfaz de usuario y el evento de interfaz de usuario podrían actualizarse y responder directamente. |
+| excelOptions | | object | Sólo Excel (opcional) - Opciones para exportar Excel |
+| | includeStyles | boolean | Si se incluye el estilo al importar, por defecto true. |
+| | includeFormulas | boolean | Si se incluye la fórmula al importar, por defecto true. |
+| | frozenColumnsAsRowHeaders | boolean | Bien sea tratar las columnas congeladas como encabezados de línea al importar, por defecto false. |
+| | frozenRowsAsColumnHeaders | boolean | Bien sea tratar las líneas congeladas como encabezados de columna al importar, por defecto false. |
+| | fullRecalc | boolean | Si calcular después de cargar los datos json, false por defecto. |
+| | dynamicReferences | boolean | Si calcular funciones con referencia dinámica, por defecto true. |
+| | calcOnDemand | boolean | Whether to calculate formulas only when they are demanded, default false. |
+| | includeUnusedStyles | boolean | Si incluir el estilo de nombre no utilizado al convertir excel xml al json, default true. |
+| | contraseña | text | La contraseña para abrir el workbook. |
+| | openMode | text | The open mode of normal, lazy and incremental. Por defecto es normal. |
:::note Notas
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-21/ViewPro/commands/vp-move-cells.md b/i18n/es/docusaurus-plugin-content-docs/version-21/ViewPro/commands/vp-move-cells.md
index 5e7750583d5ac0..f924914b108639 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-21/ViewPro/commands/vp-move-cells.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-21/ViewPro/commands/vp-move-cells.md
@@ -35,10 +35,10 @@ En *targetRange*, pase el rango de celdas donde se copiarán o moverán los valo
El parámetro *options* tiene varias propiedades:
-| Propiedad | Tipo | Descripción |
-| ------------ | ------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
-| copy | Boolean | Determina si los valores, el formato y las fórmulas de las celdas de *originRange* se eliminan después de ejecutar el comando:- *False* (por defecto) para eliminarlos
- *True* para mantenerlos
|
-| pasteOptions | Integer | Especifica lo que se pega. Possible values: | Value | Description |
|---|
| `vk clipboard options all` (default) | Pastes all data objects, including values, formatting, and formulas. |
| `vk clipboard options formatting` | Pega solo el formato. |
| `vk clipboard options formulas` | Pega sólo las fórmulas. |
| `vk clipboard options formulas and formatting` | Pastes the formulas and formatting. |
| `vk clipboard options values` | Pega solo los valores. |
| `vk clipboard options value and formatting` | Pastes the values and formatting. |
|
+| Propiedad | Tipo | Descripción |
+| ------------ | ------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| copy | Boolean | Determina si los valores, el formato y las fórmulas de las celdas de *originRange* se eliminan después de ejecutar el comando:- *False* (por defecto) para eliminarlos
- *True* para mantenerlos
|
+| pasteOptions | Integer | Especifica lo que se pega. Possible values: | Value | Description |
|---|
| `vk clipboard options all` (default) | Pastes all data objects, including values, formatting, and formulas. |
| `vk clipboard options formatting` | Pega solo el formato. |
| `vk clipboard options formulas` | Pega sólo las fórmulas. |
| `vk clipboard options formulas and formatting` | Pega las fórmulas y el formato. |
| `vk clipboard options values` | Pega solo los valores. |
| `vk clipboard options value and formatting` | Pega los valores y el formato. |
|
Se tienen en cuenta las opciones de pegado definidas en las [opciones del libro de trabajo](vp-set-workbook-options.md).
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-21/ViewPro/commands/vp-set-workbook-options.md b/i18n/es/docusaurus-plugin-content-docs/version-21/ViewPro/commands/vp-set-workbook-options.md
index bdc02342a44e14..d059be21bf1f19 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-21/ViewPro/commands/vp-set-workbook-options.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-21/ViewPro/commands/vp-set-workbook-options.md
@@ -48,14 +48,14 @@ En la siguiente tabla se listan las opciones de libros de trabajo disponibles:
| autoFitType | number | El contenido se formatea para que se ajuste en las celdas, o en las celdas y los encabezados. Valores disponibles: | Constante | Valor | Descripción |
|---|
| vk auto fit type cell | 0 | El contenido se ajusta automáticamente a las celdas |
| vk auto fit type cell with header | 1 | El contenido se ajusta automáticamente a las celdas y encabezados |
|
| backColor | string | Una cadena de color utilizada para representar el color de fondo del área, como "red", "#FFFF00", "rgb(255,0,0)", "Acento 5". El color de fondo inicial se oculta cuando se define una backgroundImage. |
| backgroundImage | string / picture / file | Imagen de fondo para el área. |
-| backgroundImageLayout | number | Cómo se muestra la imagen de fondo. Available values: | Constant | Value | Description |
|---|
| vk image layout center | 1 | In the center of the area. |
| vk image layout none | 3 | In the upper left corner of the area with its original size. |
| vk image layout stretch | 0 | Fills the area. |
| vk image layout zoom | 2 | Displayed with its original aspect ratio. |
|
+| backgroundImageLayout | number | Cómo se muestra la imagen de fondo. Available values: | Constant | Value | Description |
|---|
| vk image layout center | 1 | In the center of the area. |
| vk image layout none | 3 | In the upper left corner of the area with its original size. |
| vk image layout stretch | 0 | Llena el área. |
| vk image layout zoom | 2 | Mostrado con su relación de aspecto original. |
|
| calcOnDemand | boolean | Las fórmulas se calculan sólo cuando se piden. |
| columnResizeMode | number | Redimensiona modo para columnas. Valores disponibles: | Constante | Valor | Descripción |
|---|
| vk resize mode normal | 0 | Utiliza el modo de redimensionamiento normal (es decir, las columnas restantes se ven afectadas) |
| vk resize mode split | 1 | Utiliza el modo dividido (es decir, las columnas restantes no se ven afectadas) |
|
| copyPasteHeaderOptions | number | Encabezados para incluir cuando se copian o pegan datos. Available values: | Constant | Value | Description |
|---|
| vk copy paste header options all headers | 3 | Includes selected headers when data is copied; overwrites selected headers when data is pasted. |
| vk copy paste header options column headers | 2 | Includes selected column headers when data is copied; overwrites selected column headers when data is pasted. |
| vk copy paste header options no headers | 0 | Column and row headers are not included when data is copied; does not overwrite selected column or row headers when data is pasted. |
| vk copy paste header options row headers | 1 | Includes selected row headers when data is copied; overwrites selected row headers when data is pasted. |
|
| customList | collection | La lista para que los usuarios personalicen el relleno de arrastre, dar prioridad a que coincida con esta lista en cada relleno. Cada elemento de colección es una colección de cadenas. Vet en [SpreadJS docs](https://developer.mescius.com/spreadjs/docs/features/cells/AutoFillData/AutoFillLists). |
| cutCopyIndicatorBorderColor | string | Color del borde del indicador que aparece cuando el usuario corta o copia la selección. |
| cutCopyIndicatorVisible | boolean | Muestra un indicador al copiar o cortar el elemento seleccionado. |
-| defaultDragFillType | number | El tipo de relleno de arrastre por defecto. Valores disponibles : | Constante | Valor | Descripción |
|---|
| vk auto fill type auto | 5 | Rellena automáticamente las celdas. |
| vk auto fill type clear values | 4 | Clears cell values. |
| vk auto fill type copycells | 0 | Fills cells with all data objects, including values, formatting, and formulas. |
| vk auto fill type fill formatting only | 2 | Fills cells only with formatting. |
| vk auto fill type fill series | 1 | Fills cells with series. |
| vk auto fill type fill without formatting | 3 | Rellena las celdas con valores y no con formato. |
|
+| defaultDragFillType | number | El tipo de relleno de arrastre por defecto. Valores disponibles : | Constante | Valor | Descripción |
|---|
| vk auto fill type auto | 5 | Rellena automáticamente las celdas. |
| vk auto fill type clear values | 4 | Clears cell values. |
| vk auto fill type copycells | 0 | Fills cells with all data objects, including values, formatting, and formulas. |
| vk auto fill type fill formatting only | 2 | Llena las celdas solo con formato. |
| vk auto fill type fill series | 1 | Fills cells with series. |
| vk auto fill type fill without formatting | 3 | Rellena las celdas con valores y no con formato. |
|
| enableAccessibility | boolean | El soporte de accesibilidad está activado en la hoja de cálculo. |
| enableFormulaTextbox | boolean | Se activa la caja de texto de la fórmula. |
| grayAreaBackColor | string | Una cadena color utilizada para representar el color de fondo del área gris, como "red", "#FFFF00", "rgb(255,0,0)", "Accent 5", etc. |
@@ -69,7 +69,7 @@ En la siguiente tabla se listan las opciones de libros de trabajo disponibles:
| referenceStyle | number | Estilo para referencias de celdas y rangos en fórmulas de celdas. Available values: | Constant | Value | Description |
|---|
| vk reference style A1 | 0 | Use A1 style. |
| vk reference style R1C1 | 1 | Use R1C1 style |
|
| resizeZeroIndicator | number | Política de dibujo cuando las líneas o columnas se redimensionan a 0. Available values: | Constant | Value | Description |
|---|
| vk resize zero indicator default | 0 | Uses the current drawing policy when the row or column is resized to zero. |
| vk resize zero indicator enhanced | 1 | Draws two short lines when the row or column is resized to zero. |
|
| rowResizeMode | number | La forma en que se redimensionan las líneas. Los valores disponibles son los mismos qe columnResizeMode |
-| scrollbarAppearance | number | Apariencia de la barra de desplazamiento. Available values: | Constant | Value | Description |
|---|
| vk scrollbar appearance mobile | 1 | Mobile scrollbar appearance. |
| vk scrollbar appearance skin (default) | 0 | Excel-like classic scrollbar appearance. |
|
+| scrollbarAppearance | number | Apariencia de la barra de desplazamiento. Available values: | Constant | Value | Description |
|---|
| vk scrollbar appearance mobile | 1 | Mobile scrollbar appearance. |
| vk scrollbar appearance skin (por defecto) | 0 | Apariencia clásica de la barra de desplazamiento similar a Excel. |
|
| scrollbarMaxAlign | boolean | La barra de desplazamiento se alinea con la última línea y columna de la hoja activa. |
| scrollbarShowMax | boolean | Las barras de desplazamiento mostradas se basan en el número total de columnas y líneas de la hoja. |
| scrollByPixel | boolean | Activar desplazamiento de precisión por píxel. |
@@ -79,8 +79,8 @@ En la siguiente tabla se listan las opciones de libros de trabajo disponibles:
| showDragFillSmartTag | boolean | Mostrar el diálogo de arrastrar y rellenar. |
| showDragFillTip | boolean | Mostrar la punta de arrastrar y soltar. |
| showHorizontalScrollbar | boolean | Mostrar la barra de desplazamiento horizontal. |
-| showResizeTip | number | Cómo mostrar el tip de redimensionamiento. Available values: | Constant | Value | Description |
|---|
| vk show resize tip both | 3 | Horizontal and vertical resize tips are displayed. |
| vk show resize tip column | 1 | Only the horizontal resize tip is displayed. |
| vk show resize tip none | 0 | No resize tip is displayed. |
| vk show resize tip row | 2 | Only the vertical resize tip is displayed. |
|
-| showScrollTip | number | Cómo mostrar el tip de desplazamiento. Available values: | Constant | Value | Description |
|---|
| vk show scroll tip both | 3 | Horizontal and vertical scroll tips are displayed. |
| vk show scroll tip horizontal | 1 | Only the horizontal scroll tip is displayed. |
| vk show scroll tip none | No se muestra ninguna propina. |
| vk show scroll tip vertical | 2 | Only the vertical scroll tip is displayed. |
|
+| showResizeTip | number | Cómo mostrar el tip de redimensionamiento. Available values: | Constant | Value | Description |
|---|
| vk show resize tip both | 3 | Horizontal and vertical resize tips are displayed. |
| vk show resize tip column | 1 | Solo se muestra la punta de redimensionamiento horizontal. |
| vk show resize tip none | 0 | No resize tip is displayed. |
| vk show resize tip row | 2 | Only the vertical resize tip is displayed. |
|
+| showScrollTip | number | Cómo mostrar el tip de desplazamiento. Available values: | Constant | Value | Description |
|---|
| vk show scroll tip both | 3 | Horizontal and vertical scroll tips are displayed. |
| vk show scroll tip horizontal | 1 | Only the horizontal scroll tip is displayed. |
| vk show scroll tip none | No se muestra ninguna propina. |
| vk show scroll tip vertical | 2 | Solo se muestra la punta de desplazamiento vertical. |
|
| showVerticalScrollbar | boolean | Mostrar la barra de desplazamiento vertical. |
| tabEditable | boolean | La pestaña de la hoja se puede editar. |
| tabNavigationVisible | boolean | Mostrar la navegación por pestañas. |
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-21/ViewPro/getting-started.md b/i18n/es/docusaurus-plugin-content-docs/version-21/ViewPro/getting-started.md
index 8577eb589df53b..97732b237a5018 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-21/ViewPro/getting-started.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-21/ViewPro/getting-started.md
@@ -13,9 +13,9 @@ La integración de áreas de 4D View Pro en sus formularios le permite importar
## Instalación y activación
-4D View Pro debe estar instalado en sus proyectos. The 4D View Pro component is available from the [**4D-ViewPro github repository**](https://github.com/4d/4D-ViewPro).
+4D View Pro debe estar instalado en sus proyectos. El componente 4D View Pro está disponible en el [\*\*repositorio github 4D-ViewPro \*\*](https://github.com/4d/4D-ViewPro).
-The easiest way to install 4D View Pro in an opened project is to use the Dependency Manager:
+La forma más fácil de instalar 4D View Pro en un proyecto abierto es utilizar el Administrador de dependencias:
1. Abra la ventana [Dependency Manager](../Project/components.md).
2. Haga clic en el botón **+** para añadir un componente.
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-21/WebServer/authentication.md b/i18n/es/docusaurus-plugin-content-docs/version-21/WebServer/authentication.md
index ee0943ee56293f..509461ed5e00bf 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-21/WebServer/authentication.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-21/WebServer/authentication.md
@@ -119,7 +119,7 @@ Debe declarar estos parámetros de la siguiente manera:
:::note
-Todos los parámetros del método base `On Web Authentication` no están necesariamente rellenados. The information received by the database method depends on the selected [authentication mode](#authentication-modes).
+Todos los parámetros del método base `On Web Authentication` no están necesariamente rellenados. La información recibida por el método base depende del [modo de autenticación](#authentication-modes) seleccionado.
:::
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-21/WebServer/http-rules.md b/i18n/es/docusaurus-plugin-content-docs/version-21/WebServer/http-rules.md
index 16c9f337b0de37..bc8018c82e60ac 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-21/WebServer/http-rules.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-21/WebServer/http-rules.md
@@ -58,7 +58,7 @@ Se soportan las siguientes palabras clave de acción:
| `removeHeaders` | Texto o colección de textos | Encabezado(s) para eliminar de las respuestas HTTP. Si un encabezado a eliminar no existe en el encabezado de respuesta, se ignora. |
| `addHeaders` | Object | Name (text) and value (text) of header(s) to add to the HTTP responses. |
| `setHeaders` | Object | Name (text) and value (text) of header(s) to modify in the HTTP responses. Si un encabezado a modificar no existe en el encabezado de respuesta, se añade. |
-| `denyAccess` | Boolean | true para negar el acceso al recurso, false para permitir el acceso. When the access to a resource is denied, the web server returns a 403 status by default |
+| `denyAccess` | Boolean | true para negar el acceso al recurso, false para permitir el acceso. Cuando el acceso a un recurso es denegado, el servidor web devuelve un estado 403 por defecto |
| `redirect` | Text | Redirigir URL. Cuando se activa una redirección, el servidor web devuelve un estado 302 por defecto |
| `status` | Number | Estado HTTP |
@@ -74,7 +74,7 @@ Algunos encabezados no pudieron ser añadidos, modificados o eliminados:
| Vary | Sí | No | No |
| Set-Cookie | Sí | Añadir cookie | No |
-Unauthorized changes on these headers do not generate errors, however modifications will be ignored.
+Los cambios no autorizados en estos encabezados no generan errores, sin embargo las modificaciones serán ignoradas.
### Reglas actuales
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-21/WebServer/preemptiveWeb.md b/i18n/es/docusaurus-plugin-content-docs/version-21/WebServer/preemptiveWeb.md
index 6a5929785ac538..c270d197d2e68a 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-21/WebServer/preemptiveWeb.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-21/WebServer/preemptiveWeb.md
@@ -27,7 +27,7 @@ La siguiente tabla indica si el modo apropiativo se utiliza o está disponible,
- Servidor web: maneja las [plantillas web](templates.md), [4DACTION y los métodos base](httpRequests.md)
- Servidor de servicios web: gestiona las peticiones SOAP
- ***web setting*** means that the preemptive mode depends on the [**scalable sessions**](sessions.md#enabling-web-sessions) status:
- - if scalable sessions are enabled, the preemptive mode is automatically used for web and web service processes.
+ - si las sesiones escalables están activadas, el modo apropiativo se utiliza automáticamente para los procesos web y servicios web.
- si las sesiones escalables no están activadas:
- for web processes, the [**Use preemptive processes**](webServerConfig.md#use-preemptive-processes) option is taken into account.
- for web service processes (server or client), preemptive mode is supported at method level.
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-21/WebServer/qodly-studio.md b/i18n/es/docusaurus-plugin-content-docs/version-21/WebServer/qodly-studio.md
index 615a144ad69146..105b658372a4fe 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-21/WebServer/qodly-studio.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-21/WebServer/qodly-studio.md
@@ -80,7 +80,7 @@ La autenticación en el servidor web WebAdmin se realiza utilizando una llave de
De acuerdo con la gestión de proyectos 4D, sólo se admiten los siguientes usos:
- el desarrollo con Qodly Studio debe realizarse a través de **4D** (monousuario).
-- deployment of 4D applications powered with Qodly pages must be done using **4D Server**.
+- el despliegue de aplicaciones 4D alimentadas por páginas Qodly debe hacerse utilizando **4D Server**.
:::warning
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-21/WebServer/sessions.md b/i18n/es/docusaurus-plugin-content-docs/version-21/WebServer/sessions.md
index 8602f8f2fab3ec..daeaf088d5b5d0 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-21/WebServer/sessions.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-21/WebServer/sessions.md
@@ -211,7 +211,7 @@ End if
El servidor web 4D le permite generar, compartir y utilizar tokens de sesión OTP (One-Time Passcode). Los tokens de sesión OTP se utilizan para asegurar comunicaciones con aplicaciones de terceros o sitios web. For information on OTP, please refer to the [One-time password page](https://en.wikipedia.org/wiki/One-time_password) on Wikipedia.
-In 4D, OTP session tokens are useful when calling external URLs and being called back in another browser or device (mobile/computer). Typically, a third-party application sends a confirmation email containing a callback link on which the user has to click. The callback link includes the OTP token, so that the session which triggered the callback is loaded along with its data and privileges. This principle allows you to share the same session on multiple devices. Gracias a esta arquitectura, la [cookie de sesión](#session-implementation) no está expuesta en la red, lo que elimina el riesgo de un ataque de hombre en el medio.
+In 4D, OTP session tokens are useful when calling external URLs and being called back in another browser or device (mobile/computer). Typically, a third-party application sends a confirmation email containing a callback link on which the user has to click. El enlace de retrollamada incluye el token OTP, para que la sesión que activó la retrollamada se cargue junto con sus datos y privilegios. This principle allows you to share the same session on multiple devices. Gracias a esta arquitectura, la [cookie de sesión](#session-implementation) no está expuesta en la red, lo que elimina el riesgo de un ataque de hombre en el medio.
:::tips Entradas de blog relacionadas
@@ -251,7 +251,7 @@ Una url [`4DACCIÓN`](./httpRequests.md#4daction) también puede ser usada en el
#### Utilizar un parámetro personalizado
-The OTP token can also be provided as a custom parameter that you need to process specifically to restore the session. Debe utilizar esta solución si:
+El token OTP también se puede suministrar como un parámetro personalizado que necesita procesar específicamente para restaurar la sesión. Debe utilizar esta solución si:
- la aplicación de terceros no permite insertar parámetros como un `$4DSID` directamente en la Uri de redirección, y proporciona una API dedicada (la implementación depende de la aplicación de terceros),
- o, quiere llamar a una función ORDA a través de REST para procesar la retrollamada, en cuyo caso es necesario pasar el OTP con la [sintaxis de parámetro REST](../REST/ClassFunctions.md#parameters) (por ejemplo, `?$params='["XXX123"]'`).
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-21/WebServer/webServer.md b/i18n/es/docusaurus-plugin-content-docs/version-21/WebServer/webServer.md
index 1a85350e7e6a34..3563c5462c2ac4 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-21/WebServer/webServer.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-21/WebServer/webServer.md
@@ -8,7 +8,7 @@ title: Servidor Web
:::warning Funcionalidad obsoleta
-Using the web server on a remote 4D is **deprecated** as of 4D 21. Ya no se recomienda utilizar esta funcionalidad.
+El uso del servidor web en un 4D remoto es **obsoleto** a partir de 4D 21. Ya no se recomienda utilizar esta funcionalidad.
:::
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-21/WritePro/commands/wp-export-document.md b/i18n/es/docusaurus-plugin-content-docs/version-21/WritePro/commands/wp-export-document.md
index 948cf5cf8afce8..e32bca5acba067 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-21/WritePro/commands/wp-export-document.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-21/WritePro/commands/wp-export-document.md
@@ -55,10 +55,10 @@ Pase un [objeto](# "Datos estructurados como un objeto nativo 4D") en *option* c
| Constante | Valor | Comentario |
| ------------------------------------------- | ------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| wk CID host domain name | cidHostDomain | Nombre de dominio de host CID: dominio de host que se añadirá a las URL CID generadas incluyendo una "@" como separador. Disponible sólo cuando se utiliza el formato `wk mime html`. |
-| wk embedded pictures | embeddedPictures | Sólo para exportación SVG. Establece si las imágenes se incrustan en el archivo .svg exportado cuando se llama a [WP EXPORT DOCUMENT](wp-export-document.md). Valores disponibles: true (por defecto): las imágenes están incrustadas en el archivo .svg exportado false: las imágenes se exportan en una carpeta llamada "filename\_images" en el nivel del archivo .svg exportado, "filename" siendo el nombre pasado al comando para el archivo, sin la extensión. Las imágenes no están integradas, sino referenciadas en el archivo .svg.Note: If the folder already exists, it is emptied before the file is exported. Si no hay ninguna imagen en la página exportada, se elimina la carpeta |
+| wk embedded pictures | embeddedPictures | Sólo para exportación SVG. Establece si las imágenes se incrustan en el archivo .svg exportado cuando se llama a [WP EXPORT DOCUMENT](wp-export-document.md). Valores disponibles: true (por defecto): las imágenes están incrustadas en el archivo .svg exportado false: las imágenes se exportan en una carpeta llamada "filename\_images" en el nivel del archivo .svg exportado, "filename" siendo el nombre pasado al comando para el archivo, sin la extensión. Las imágenes no están integradas, sino referenciadas en el archivo .svg.Nota: si la carpeta ya existe, se vaciará antes de exportar el archivo. Si no hay ninguna imagen en la página exportada, se elimina la carpeta |
| wk factur x | facturX | Sólo para exportación en PDF. Valor: objeto que configura una exportación PDF "Factur-X (ZUGFeRD)" (ver [wk factur x object](#wk-factur-x-object)). |
| wk files | Histórico | Sólo para exportación en PDF. Valor: colección de objetos, cada uno de los cuales describe un archivo que se integrará en el documento final (ver [wk files collection](#wk-files-collection)). Esta funcionalidad sólo se admite en documentos PDF/A-3: cuando se utiliza el atributo `wk files`, se establece automáticamente la versión "PDF/A-3" (se ignora el atributo `wk pdfa version`). En caso de una exportación de Factur-X PDF (ver abajo), el primer objeto de la colección debe contener el archivo Factur-X xml. |
-| wk google fonts tag | googleFontsTag | Sólo para exportación SVG. Define la regla de importación para fuentes google en el SVG exportado. Valores posibles: false (por defecto): no se añade ninguna regla de importación de fuentes de Google.true: añade la regla @import al archivo exportado. Useful if you want to use fonts that are not available by default on Windows or macOS. **Note:** This property is set to false by default because when enabled, Google fonts override native fonts, and native fonts are generally better rendered in the browser. |
+| wk google fonts tag | googleFontsTag | Sólo para exportación SVG. Define la regla de importación para fuentes google en el SVG exportado. Valores posibles: false (por defecto): no se añade ninguna regla de importación de fuentes de Google.true: añade la regla @import al archivo exportado. Útil si desea utilizar fuentes que no están disponibles por defecto en Windows o macOS. **Note:** This property is set to false by default because when enabled, Google fonts override native fonts, and native fonts are generally better rendered in the browser. |
| wk HTML pretty print | htmlPrettyPrint | El código HTML está formateado para facilitar su lectura. |
| wk max picture DPI | maxPictureDPI | Se utiliza para reducir imágenes a la resolución preferida. Para imágenes SVG en Windows, utilizado para la rasterización. Valores por defecto: 300 (for wk optimized for \= wk print) 192 (for wk optimized for \= wk screen) Valor máximo posible: 1440 |
| wk optimized for | optimizedFor | Define cómo se optimiza un documento exportado en función de su soporte. Valores posibles: `wk print` (valor por defecto para `wk pdf` y `wk svg`) Las imágenes de mapa de bits pueden reducirse utilizando los PPP definidos por `wk max picture DPI` o 300 (valor por defecto) y pueden convertirse a PNG si el códec no es compatible con el tipo de exportación. Las imágenes vectoriales se convierten a PNG utilizando los PPP definidos por `wk max picture DPI` o 300 (sólo Windows). Si una imagen contiene más de un formato, se utiliza el mejor formato para la impresión (*por ejemplo*, .tiff en lugar de .jpg)`wk screen` (valor por defecto para `wk web page complete` y `wk mime html`). Las imágenes de mapa de bits pueden reducirse utilizando los PPP definidos por `wk max picture DPI` o 192 (valor por defecto) y pueden convertirse a JPEG (imágenes opacas) o PNG (imágenes transparentes) si el códec no es compatible con el tipo de exportación. Las imágenes vectoriales se convierten a PNG utilizando los PPP definidos por `wk max picture DPI` o 192 (sólo Windows). If a picture contains more than one format, the format for screen rendering is used. **Nota:** los documentos exportados en formato `wk docx` siempre se optimizan para la impresión wk (la opción wk optimized for se ignora). |
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-21/WritePro/commands/wp-export-variable.md b/i18n/es/docusaurus-plugin-content-docs/version-21/WritePro/commands/wp-export-variable.md
index 0975d8aeb5e67b..606d4bcc42bcd7 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-21/WritePro/commands/wp-export-variable.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-21/WritePro/commands/wp-export-variable.md
@@ -55,10 +55,10 @@ Pase un [objeto](# "Datos estructurados como un objeto nativo 4D") en *option* c
| Constante | Valor | Comentario |
| ------------------------------------------- | ------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| wk CID host domain name | cidHostDomain | Nombre de dominio de host CID: dominio de host que se añadirá a las URL CID generadas incluyendo una "@" como separador. Disponible sólo cuando se utiliza el formato `wk mime html`. |
-| wk embedded pictures | embeddedPictures | Sólo para exportación SVG. Establece si las imágenes se incrustan en el archivo .svg exportado cuando se llama a [WP EXPORT DOCUMENT](wp-export-document.md). Valores disponibles: true (por defecto): las imágenes están incrustadas en el archivo .svg exportado false: las imágenes se exportan en una carpeta llamada "filename\_images" en el nivel del archivo .svg exportado, "filename" siendo el nombre pasado al comando para el archivo, sin la extensión. Las imágenes no están integradas, sino referenciadas en el archivo .svg.Note: If the folder already exists, it is emptied before the file is exported. Si no hay ninguna imagen en la página exportada, se elimina la carpeta |
+| wk embedded pictures | embeddedPictures | Sólo para exportación SVG. Establece si las imágenes se incrustan en el archivo .svg exportado cuando se llama a [WP EXPORT DOCUMENT](wp-export-document.md). Valores disponibles: true (por defecto): las imágenes están incrustadas en el archivo .svg exportado false: las imágenes se exportan en una carpeta llamada "filename\_images" en el nivel del archivo .svg exportado, "filename" siendo el nombre pasado al comando para el archivo, sin la extensión. Las imágenes no están integradas, sino referenciadas en el archivo .svg.Nota: si la carpeta ya existe, se vaciará antes de exportar el archivo. Si no hay ninguna imagen en la página exportada, se elimina la carpeta |
| wk factur x | facturX | Sólo para exportación en PDF. Valor: objeto que configura una exportación PDF "Factur-X (ZUGFeRD)" (ver [wk factur x object](./wp-export-document.md#wk-factur-x-object)). |
| wk files | Histórico | Sólo para exportación en PDF. Valor: colección de objetos, cada uno de los cuales describe un archivo que se integrará en el documento final (ver [wk files collection](./wp-export-document.md#wk-files-collection)). Esta funcionalidad sólo se admite en documentos PDF/A-3: cuando se utiliza el atributo `wk files`, se establece automáticamente la versión "PDF/A-3" (se ignora el atributo `wk pdfa version`). En caso de una exportación de Factur-X PDF (ver abajo), el primer objeto de la colección debe contener el archivo Factur-X xml. |
-| wk google fonts tag | googleFontsTag | Sólo para exportación SVG. Define la regla de importación para fuentes google en el SVG exportado. Valores posibles: false (por defecto): no se añade ninguna regla de importación de fuentes de Google.true: añade la regla @import al archivo exportado. Useful if you want to use fonts that are not available by default on Windows or macOS. **Note:** This property is set to false by default because when enabled, Google fonts override native fonts, and native fonts are generally better rendered in the browser. |
+| wk google fonts tag | googleFontsTag | Sólo para exportación SVG. Define la regla de importación para fuentes google en el SVG exportado. Valores posibles: false (por defecto): no se añade ninguna regla de importación de fuentes de Google.true: añade la regla @import al archivo exportado. Útil si desea utilizar fuentes que no están disponibles por defecto en Windows o macOS. **Note:** This property is set to false by default because when enabled, Google fonts override native fonts, and native fonts are generally better rendered in the browser. |
| wk HTML pretty print | htmlPrettyPrint | El código HTML está formateado para facilitar su lectura. |
| wk max picture DPI | maxPictureDPI | Se utiliza para reducir imágenes a la resolución preferida. Para imágenes SVG en Windows, utilizado para la rasterización. Valores por defecto: 300 (for wk optimized for \= wk print) 192 (for wk optimized for \= wk screen) Valor máximo posible: 1440 |
| wk optimized for | optimizedFor | Define cómo se optimiza un documento exportado en función de su soporte. Valores posibles: `wk print` (valor por defecto para `wk pdf` y `wk svg`) Las imágenes de mapa de bits pueden reducirse utilizando los PPP definidos por `wk max picture DPI` o 300 (valor por defecto) y pueden convertirse a PNG si el códec no es compatible con el tipo de exportación. Las imágenes vectoriales se convierten a PNG utilizando los PPP definidos por `wk max picture DPI` o 300 (sólo Windows). Si una imagen contiene más de un formato, se utiliza el mejor formato para la impresión (*por ejemplo*, .tiff en lugar de .jpg)`wk screen` (valor por defecto para `wk web page complete` y `wk mime html`). Las imágenes de mapa de bits pueden reducirse utilizando los PPP definidos por `wk max picture DPI` o 192 (valor por defecto) y pueden convertirse a JPEG (imágenes opacas) o PNG (imágenes transparentes) si el códec no es compatible con el tipo de exportación. Las imágenes vectoriales se convierten a PNG utilizando los PPP definidos por `wk max picture DPI` o 192 (sólo Windows). If a picture contains more than one format, the format for screen rendering is used. **Nota:** los documentos exportados en formato `wk docx` siempre se optimizan para la impresión wk (la opción wk optimized for se ignora). |
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-21/WritePro/commands/wp-import-document.md b/i18n/es/docusaurus-plugin-content-docs/version-21/WritePro/commands/wp-import-document.md
index 57405625d969f7..625a6d5df492ed 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-21/WritePro/commands/wp-import-document.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-21/WritePro/commands/wp-import-document.md
@@ -51,20 +51,20 @@ Por defecto, las expresiones HTML insertadas en documentos heredados de 4D Write
Puede pasar un objeto para definir cómo se gestionan los siguientes atributos durante la operación de importación:
-| **Atributo** | **Tipo** | **Description** |
-| ----------------------- | -------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
-| anchoredTextAreas | Text | Sólo para documentos MS Word (.docx). Especifica cómo se manejan las áreas de texto ancladas en Word. Valores disponibles:
**anchored** (por defecto) - Las áreas de texto ancladas se tratan como cuadros de texto. **inline** - Las áreas de texto ancladas se tratan como texto en línea en la posición del ancla. **ignore** \- Las áreas de texto ancladas son ignoradas. **Nota**: el diseño y el número de páginas en el documento pueden cambiar. Ver también *Cómo importar formato .docx* |
-| anchoredImages | Text | Sólo para documentos MS Word (.docx). Especifica cómo se manejan las imágenes ancladas. Available values:
**all** (default) - All anchored images are imported as anchored images with their text wrapping properties (exception: the .docx wrapping option "tight" is imported as wrap square). **ignoreWrap** \- Anchored images are imported, but any text wrapping around the image is ignored. **ignore** \- Las imágenes ancladas no son importadas. |
-| secciones | Text | Sólo para documentos MS Word (.docx). Especifica cómo se maneja la sección. Valores disponibles:
**all** (por defecto) - Se importan todas las secciones. Continuous, even, or odd sections are converted to standard sections. **ignore** \- Sections are converted to default 4D Write Pro sections (A4 portrait layout without header or footer). **Note**: Section breaks of any type but continuous are converted to section breaks with page break. Continuous section breaks are imported as continuous section breaks. |
-| fields | Text | Sólo para documentos MS Word (.docx). Specifies how .docx fields that can't be converted to 4D Write Pro formulas are handled. Valores disponibles:
**ignore** \- Los campos .docx son ignorados. **label** \- .docx field references are imported as labels within double curly braces ("{{ }}"). Ej: el campo "ClientName" se importará como {{ClientName}}. **value** (default) - The last computed value for the .docx field (if available) is imported. **Note**: If a .docx field corresponds to a 4D Write Pro variable, the field is imported as a formula and this option is ignored. |
-| borderRules | Text | Sólo para documentos MS Word (.docx). Especifica cómo se gestionan los bordes de los párrafos. Available values:
**collapse** \- Paragraph formatting is modified to mimic automatically collapsed borders. Tenga en cuenta que la propiedad contraída sólo se aplica durante la operación de importación. If a stylesheet with a automatic border collapse setting is reapplied after the import operation, the setting will be ignored. **noCollapse** (por defecto) - No se modifica el formato de los párrafos. |
-| preferredFontScriptType | Text | Sólo para documentos MS Word (.docx). Specifies the preferred typeface to use when different typefaces are defined for a single font property in OOXML. Available values:
**latin** (default) - Latin script **bidi** \- Bidrectional script. Suitable if document is mainly bidirectional left-to-right (LTR) or right-to-left (RTL) text (e.g., Arabic or Hebrew). **eastAsia** \- East Asian script. Adecuado si el documento es principalmente texto asiático. |
-| htmlExpressions | Text | Sólo para documentos 4D Write (.4w7). Especifica cómo se manejan las expresiones HTML. Available values:
**rawText** \- HTML expressions are imported as raw text within ##htmlBegin## and ##htmlEnd## tags **ignore** (default) - HTML expressions are ignored. |
-| importDisplayMode | Text | Sólo para documentos 4D Write (.4w7). Especifica cómo se gestiona la visualización de imágenes. Available values:
**legacy -** 4W7 image display mode is converted using a background image if different than scaled to fit. **noLegacy** (default) - 4W7 image display mode is converted to the *imageDisplayMode* attribute if different than scaled to fit. |
+| **Atributo** | **Tipo** | **Description** |
+| ----------------------- | -------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| anchoredTextAreas | Text | Sólo para documentos MS Word (.docx). Especifica cómo se manejan las áreas de texto ancladas en Word. Valores disponibles:
**anchored** (por defecto) - Las áreas de texto ancladas se tratan como cuadros de texto. **inline** - Las áreas de texto ancladas se tratan como texto en línea en la posición del ancla. **ignore** \- Las áreas de texto ancladas son ignoradas. **Nota**: el diseño y el número de páginas en el documento pueden cambiar. Ver también *Cómo importar formato .docx* |
+| anchoredImages | Text | Sólo para documentos MS Word (.docx). Especifica cómo se manejan las imágenes ancladas. Available values:
**all** (default) - All anchored images are imported as anchored images with their text wrapping properties (exception: the .docx wrapping option "tight" is imported as wrap square). **ignoreWrap** \- Las imágenes ancladas son importadas, pero todo texto que se envuelve alrededor de la imagen es ignorado. **ignore** \- Las imágenes ancladas no son importadas. |
+| secciones | Text | Sólo para documentos MS Word (.docx). Especifica cómo se maneja la sección. Valores disponibles:
**all** (por defecto) - Se importan todas las secciones. Secciones continuas, incluso impares se convierten en secciones estándar. **ignore** \- Sections are converted to default 4D Write Pro sections (A4 portrait layout without header or footer). **Nota**: las rupturas de secciones de cualquier tipo pero continuas se convierten en rupturas de sección con rupturas de página. Continuous section breaks are imported as continuous section breaks. |
+| fields | Text | Sólo para documentos MS Word (.docx). Especifica cómo se manejan los campos .docx que no pueden ser convertidos a fórmulas 4D Write Pro. Valores disponibles:
**ignore** \- Los campos .docx son ignorados. **label** \- .docx field references are imported as labels within double curly braces ("{{ }}"). Ej: el campo "ClientName" se importará como {{ClientName}}. **value** (default) - El último valor calculado para el campo .docx (si está disponible) es importado. **Note**: If a .docx field corresponds to a 4D Write Pro variable, the field is imported as a formula and this option is ignored. |
+| borderRules | Text | Sólo para documentos MS Word (.docx). Especifica cómo se gestionan los bordes de los párrafos. Valores disponibles:
**collapse** \- El formato del párrafo se modifica para imitar los bordes colapsados automáticamente. Tenga en cuenta que la propiedad contraída sólo se aplica durante la operación de importación. If a stylesheet with a automatic border collapse setting is reapplied after the import operation, the setting will be ignored. **noCollapse** (por defecto) - No se modifica el formato de los párrafos. |
+| preferredFontScriptType | Text | Sólo para documentos MS Word (.docx). Specifies the preferred typeface to use when different typefaces are defined for a single font property in OOXML. Valores disponibles:
**latin** (por defecto) - script latino **bidi** \- script bidreccional. Adecuado si el documento es principalmente bidireccional de izquierda a derecha (LTR) o de derecha a izquierda (RTL) texto (por ejemplo, árabe o hebreo). **eastAsia** \- East Asian script. Adecuado si el documento es principalmente texto asiático. |
+| htmlExpressions | Text | Sólo para documentos 4D Write (.4w7). Especifica cómo se manejan las expresiones HTML. Available values:
**rawText** \- HTML expressions are imported as raw text within ##htmlBegin## and ##htmlEnd## tags **ignore** (default) - HTML expressions are ignored. |
+| importDisplayMode | Text | Sólo para documentos 4D Write (.4w7). Especifica cómo se gestiona la visualización de imágenes. Available values:
**legacy -** 4W7 image display mode is converted using a background image if different than scaled to fit. **noLegacy** (default) - 4W7 image display mode is converted to the *imageDisplayMode* attribute if different than scaled to fit. |
**Notas de compatibilidad**
-- *Character style sheets in legacy 4D Write documents use a proprietary mechanism, which is not supported by 4D Write Pro. To get the best result for imported text, style sheet attributes are converted to "hard coded" style attributes. Legacy character style sheets are not imported and are no longer referenced in the document.*
+- *Character style sheets in legacy 4D Write documents use a proprietary mechanism, which is not supported by 4D Write Pro. To get the best result for imported text, style sheet attributes are converted to "hard coded" style attributes. Las hojas de estilo de caracteres antiguos no son importadas y ya no están referenciadas en el documento.*
- *Support for importing in .docx format is only certified for Microsoft Word 2010 and newer. Versiones antiguas, especialmente Microsoft Word 2007, pueden no importar correctamente.*
## Ejemplo 1
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-21/WritePro/commands/wp-reset-attributes.md b/i18n/es/docusaurus-plugin-content-docs/version-21/WritePro/commands/wp-reset-attributes.md
index e3c95cabba2413..da3a00bcb36f12 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-21/WritePro/commands/wp-reset-attributes.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-21/WritePro/commands/wp-reset-attributes.md
@@ -19,7 +19,7 @@ displayed_sidebar: docs
## Descripción
-El comando **WP RESET ATTRIBUTES** le permite restablecer el valor de uno o más atributos en el rango, elemento o documento pasado como parámetro. This command can remove any kind of 4D Write Pro internal attribute: character, paragraph, document, table, or image. Puede pasar el nombre del atributo a restablecer en *attribName* o puede pasar una colección de atributos en *attribColl* para restablecer varios atributos a la vez.
+El comando **WP RESET ATTRIBUTES** le permite restablecer el valor de uno o más atributos en el rango, elemento o documento pasado como parámetro. Este comando puede eliminar cualquier tipo de atributo interno de 4D Write Pro: carácter, párrafo, documento, tabla o imagen. Puede pasar el nombre del atributo a restablecer en *attribName* o puede pasar una colección de atributos en *attribColl* para restablecer varios atributos a la vez.
> En el caso de una sección o subsección, el objeto *sectionOrSubsection* puede pasarse solo y todos los atributos se restablecen a la vez.
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-21/WritePro/managing-formulas.md b/i18n/es/docusaurus-plugin-content-docs/version-21/WritePro/managing-formulas.md
index 4b19b4951ce87d..128c04f6bef972 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-21/WritePro/managing-formulas.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-21/WritePro/managing-formulas.md
@@ -93,7 +93,7 @@ Por ejemplo, para insertar el número de página en el pie de página:
## Table formula context object
-When used in a formula within the table, the **This** keyword gives access to different data according to the context:
+Cuando se utiliza en una fórmula dentro de la tabla, la palabra clave **This** da acceso a diferentes datos según el contexto:
| **Contexto** | **Expression** | **Tipo** | **Devuelve** |
| ---------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------- | ----------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
@@ -104,7 +104,7 @@ When used in a formula within the table, the **This** keyword gives access to di
| | [This](../commands/this.md).tableData | Collection o Entity selection (por lo general) | table.dataSource evaluada |
| In each data row when a table datasource returns a collection or an entity selection | [This](../commands/this.md).item.xxx | Cualquiera | Mapped to each item of the table datasource collection or entity selection, for example **This.item.firstName** if the associated entity has the *firstName* attribute |
| | [This](../commands/this.md).itemIndex | Number | Índice del elemento actual en la colección o selección de entidades, a partir de 0 |
-| In any row (except header rows) when a table datasource returns a collection or an entity selection | [This](../commands/this.md).previousItems | Collection o entity selection | Items displayed on the pages before the bottom carry over row (if any) or before the row of the expression, including the page where is displayed the row containing the expression.
This expression returns the same type of value as the **This.tableData** expression. |
+| In any row (except header rows) when a table datasource returns a collection or an entity selection | [This](../commands/this.md).previousItems | Collection o entity selection | Items displayed on the pages before the bottom carry over row (if any) or before the row of the expression, including the page where is displayed the row containing the expression.
Esta expresión devuelve el mismo tipo de valor que la expresión **This.tableData**. |
| In a break row | [This](../commands/this.md).breakItems | Collection o entity selection | Items of the collection or entity selection displayed in the rows between:
- the current break row and the previous break row of the same level (or the start of the table) if the break row(s) are displayed after the data row.
- the current break and the next break row of the same level (or the end of the table) if the break row(s) are displayed before the data row.
|
En cualquier otro contexto, estas expresiones devolverán *undefined*.
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-21/aikit/Classes/OpenAI.md b/i18n/es/docusaurus-plugin-content-docs/version-21/aikit/Classes/OpenAI.md
index 21dc2ecf7aa074..1271a5aaaa8e21 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-21/aikit/Classes/OpenAI.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-21/aikit/Classes/OpenAI.md
@@ -5,7 +5,7 @@ title: OpenAI
# OpenAI
-La clase `OpenAI` proporciona un cliente para acceder a varios recursos de la API OpenAI. It includes properties for managing API configurations and methods for performing HTTP requests to the OpenAI endpoints.
+La clase `OpenAI` proporciona un cliente para acceder a varios recursos de la API OpenAI. Incluye propiedades de gestión de las configuraciones API y de los métodos para efectuar las peticiones HTTP a los puntos de terminación de OpenAI.
## Propiedades de configuración
@@ -58,7 +58,7 @@ $client.baseURL:="https://server.ai"
## Recursos API
-The API provides access to multiple resources that allow seamless interaction with OpenAI's services. Each resource is encapsulated within a dedicated API class, offering a structured and intuitive way to interact with different functionalities.
+La API ofrece acceso a múltiples recursos que permiten una interacción perfecta con los servicios de OpenAI. Each resource is encapsulated within a dedicated API class, offering a structured and intuitive way to interact with different functionalities.
| Nombre de la propiedad | Tipo | Descripción |
| ---------------------- | ----------------------------------------------- | ------------------------------------------------ |
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-21/aikit/Classes/OpenAIChatAPI.md b/i18n/es/docusaurus-plugin-content-docs/version-21/aikit/Classes/OpenAIChatAPI.md
index 8b794fda25d429..acf7c8b80ee550 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-21/aikit/Classes/OpenAIChatAPI.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-21/aikit/Classes/OpenAIChatAPI.md
@@ -9,10 +9,10 @@ The `OpenAIChatAPI` class provides an interface to interact with OpenAI's chat b
## Propiedades
-| Propiedad | Tipo | Descripción |
-| ------------- | ------------------------------------------------------- | ---------------------------------------------------------------------------------- |
-| `completions` | [OpenAIChatCompletionsAPI](OpenAIChatCompletionsAPI.md) | Una instancia que maneja las solicitudes de finalización del chat. |
-| `vision` | [OpenAIVision](OpenAIVision.md) | A helper instance that handles vision-related requests. |
+| Propiedad | Tipo | Descripción |
+| ------------- | ------------------------------------------------------- | ---------------------------------------------------------------------------------------------- |
+| `completions` | [OpenAIChatCompletionsAPI](OpenAIChatCompletionsAPI.md) | Una instancia que maneja las solicitudes de finalización del chat. |
+| `vision` | [OpenAIVision](OpenAIVision.md) | Una instancia de ayuda que gestiona las peticiones relacionadas con la visión. |
## Function
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-21/aikit/Classes/OpenAIChatCompletionsAPI.md b/i18n/es/docusaurus-plugin-content-docs/version-21/aikit/Classes/OpenAIChatCompletionsAPI.md
index f5d15116434873..4ce850b3b4ecd9 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-21/aikit/Classes/OpenAIChatCompletionsAPI.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-21/aikit/Classes/OpenAIChatCompletionsAPI.md
@@ -5,7 +5,7 @@ title: OpenAIChatCompletionsAPI
# OpenAIChatCompletionsAPI
-La clase `OpenAIChatCompletionsAPI` está diseñada para gestionar las finalizaciones de chat con la API OpenAI. It provides methods to create, retrieve, update, delete, and list chat completions.
+La clase `OpenAIChatCompletionsAPI` está diseñada para gestionar las finalizaciones de chat con la API OpenAI. Ofrece métodos para crear, recuperar, actualizar, eliminar y listar respuestas de chat.
https://platform.openai.com/docs/api-reference/chat
@@ -21,7 +21,7 @@ https://platform.openai.com/docs/api-reference/chat
| *parámetros* | [OpenAIChatCompletionsParameters](OpenAIChatCompletionsParameters.md) | Los parámetros para la solicitud de finalización del chat. |
| Resultado | Object | El resultado de la solicitud de finalización del chat. |
-Creates a model response for the given chat conversation.
+Crea un modelo de respuesta para la conversación dada.
https://platform.openai.com/docs/api-reference/chat/create
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-21/aikit/Classes/OpenAIChatCompletionsListParameters.md b/i18n/es/docusaurus-plugin-content-docs/version-21/aikit/Classes/OpenAIChatCompletionsListParameters.md
index 93b8c3e4bee066..7f1a363b63e090 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-21/aikit/Classes/OpenAIChatCompletionsListParameters.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-21/aikit/Classes/OpenAIChatCompletionsListParameters.md
@@ -5,7 +5,7 @@ title: OpenAIChatCompletionsListParameters
# OpenAIChatCompletionsListParameters
-This class is used to define parameters for retrieving a list of chat completions from the OpenAI API. Permite personalizar la paginación, ordenar y filtrar los mensajes de chat.
+Esta clase se utiliza para definir los parámetros de recuperación de una lista de terminaciones de chat de la API OpenAI. Permite personalizar la paginación, ordenar y filtrar los mensajes de chat.
## Hereda
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-21/aikit/Classes/OpenAIChatCompletionsMessagesAPI.md b/i18n/es/docusaurus-plugin-content-docs/version-21/aikit/Classes/OpenAIChatCompletionsMessagesAPI.md
index 2502d80c2c15ea..c9624656bfe290 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-21/aikit/Classes/OpenAIChatCompletionsMessagesAPI.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-21/aikit/Classes/OpenAIChatCompletionsMessagesAPI.md
@@ -13,11 +13,11 @@ The `OpenAIChatCompletionsMessagesAPI` class is designed to interact with the Op
**list**(*completionID* : Text; *parameters* : OpenAIChatCompletionsMessagesParameters) : Variant
-| Parámetros | Tipo | Descripción |
-| -------------- | ----------------------------------------- | -------------------------------------------------------------------------------- |
-| *completionID* | Text | The ID of the chat completion to retrieve messages for. |
-| *parámetros* | `OpenAIChatCompletionsMessagesParameters` | Parámetros para filtrar y personalizar la respuesta. |
-| Resultado | Variant | Los mensajes recuperados asociados con la finalización del chat. |
+| Parámetros | Tipo | Descripción |
+| -------------- | ----------------------------------------- | ------------------------------------------------------------------------------------- |
+| *completionID* | Text | El ID de la finalización de chat para la cual recuperar los mensajes. |
+| *parámetros* | `OpenAIChatCompletionsMessagesParameters` | Parámetros para filtrar y personalizar la respuesta. |
+| Resultado | Variant | Los mensajes recuperados asociados con la finalización del chat. |
La función `list()` recupera los mensajes asociados a un ID de finalización de chat específico. Lanza un error si `completionID` está vacío. If the *parameters* argument is not an instance of `OpenAIChatCompletionsMessagesParameters`, it will create a new instance using the provided parameters.
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-21/aikit/Classes/OpenAIEmbeddingsAPI.md b/i18n/es/docusaurus-plugin-content-docs/version-21/aikit/Classes/OpenAIEmbeddingsAPI.md
index dabbcc1cee4797..7d99ad8f1204a6 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-21/aikit/Classes/OpenAIEmbeddingsAPI.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-21/aikit/Classes/OpenAIEmbeddingsAPI.md
@@ -15,14 +15,14 @@ https://platform.openai.com/docs/api-reference/embeddings
**create**(*input* : Text; *model*: Text; *parameters* : OpenAIEmbeddingsParameters) : OpenAIEmbeddingsResult
-Creates an embeddings for the provided input, model and parameters.
-
-| Argumento | Tipo | Descripción |
-| ------------ | ----------------------------------------------------------- | --------------------------------------------------------------------------------------------- |
-| *entrada* | Texto o colección de texto | La entrada a vectorizar. |
-| *model* | Text | The [model to use](https://platform.openai.com/docs/guides/embeddings#embedding-models) |
-| *parámetros* | [OpenAIEmbeddingsParameters](OpenAIEmbeddingsParameters.md) | Los parámetros para personalizar la petición de representaciones vectoriales. |
-| Resultado | [OpenAIEmbeddingsResult](OpenAIEmbeddingsResult.md) | Las integraciones. |
+Crea una representación vectorial para la entrada, el modelo y los parámetros ofrecidos.
+
+| Argumento | Tipo | Descripción |
+| ------------ | ----------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| *entrada* | Texto o colección de texto | La entrada a vectorizar. |
+| *model* | Text | El [modelo a utilizar] (https://platform.openai.com/docs/guides/embeddings#embedding-models) |
+| *parámetros* | [OpenAIEmbeddingsParameters](OpenAIEmbeddingsParameters.md) | Los parámetros para personalizar la petición de representaciones vectoriales. |
+| Resultado | [OpenAIEmbeddingsResult](OpenAIEmbeddingsResult.md) | Las integraciones. |
#### Ejemplos de uso
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-21/aikit/Classes/OpenAIError.md b/i18n/es/docusaurus-plugin-content-docs/version-21/aikit/Classes/OpenAIError.md
index a1b407b5774618..50c983790a5e75 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-21/aikit/Classes/OpenAIError.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-21/aikit/Classes/OpenAIError.md
@@ -41,7 +41,7 @@ La clase `OpenAIError` está diseñada para manejar errores devueltos por la API
| ---------------------------- | ------- | ------------------------------------------------------------------------------------------------- |
| `isBadRequestError` | Boolean | Indica si se trata de un error 400 Bad Request. |
| `isAuthenticationError` | Boolean | Indica si se trata de un error de autenticación 401. |
-| `isPermissionDeniedError` | Boolean | Indicates ∏if the error is a 403 Permission Denied error. |
+| `isPermissionDeniedError` | Boolean | Indica si el error es un error 403 Permiso denegado. |
| `isNotFoundError` | Boolean | Indica si el error es un error 404 Not Found. |
| `isUnprocessableEntityError` | Boolean | Indica si el error es un error de entidad no procesable (422). |
| `isRateLimitError` | Boolean | Indica si el error es un error de límite de velocidad 429. |
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-21/aikit/Classes/OpenAIImage.md b/i18n/es/docusaurus-plugin-content-docs/version-21/aikit/Classes/OpenAIImage.md
index 04c86973e749d1..2917ecf2bf83db 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-21/aikit/Classes/OpenAIImage.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-21/aikit/Classes/OpenAIImage.md
@@ -11,11 +11,11 @@ https://platform.openai.com/docs/api-reference/images/object
## Propiedades
-| Propiedad | Tipo | Descripción |
-| ---------------- | ------- | ------------------------------------------------------------------------------------------------------------- |
-| `url` | Text | La URL de la imagen generada, si `response_format` es `url` (por defecto). |
-| `b64_json` | Text | The base64-encoded JSON of the generated image, if `response_format` is `b64_json`. |
-| `revised_prompt` | Variant | The prompt that was used to generate the image, if there was any revision to the prompt. |
+| Propiedad | Tipo | Descripción |
+| ---------------- | ------- | ---------------------------------------------------------------------------------------------------------------- |
+| `url` | Text | La URL de la imagen generada, si `response_format` es `url` (por defecto). |
+| `b64_json` | Text | El JSON codificado en base64 de la imagen generada, si `response_format` es `b64_json`. |
+| `revised_prompt` | Variant | La instrucción que se utilizó para generar la imagen, si hubo alguna revisión de la instrucción. |
## Funciones
@@ -23,9 +23,9 @@ https://platform.openai.com/docs/api-reference/images/object
**asBlob**() : 4D.Blob
-| Parámetros | Tipo | Descripción |
-| ---------- | ----------------------- | ------------------------------------------------------------------------------------------------------ |
-| Resultado | 4D.Blob | Converts the generated image to a blob format based on its URL or base64-encoded JSON. |
+| Parámetros | Tipo | Descripción |
+| ---------- | ----------------------- | ------------------------------------------------------------------------------------------------------------------ |
+| Resultado | 4D.Blob | Convierte la imagen generada a un formato blob basado en su URL o en un JSON codificado en base64. |
#### Ejemplo de Uso
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-21/aikit/Classes/OpenAIMessage.md b/i18n/es/docusaurus-plugin-content-docs/version-21/aikit/Classes/OpenAIMessage.md
index fe0fd70f8dbc2e..223b4de69615ec 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-21/aikit/Classes/OpenAIMessage.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-21/aikit/Classes/OpenAIMessage.md
@@ -9,13 +9,13 @@ The `OpenAIMessage` class represents a structured message containing a role, con
## Propiedades
-| Propiedad | Tipo | Descripción |
-| -------------- | ---------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
-| `rol` | Text | The role of the message (e.g., "user", "assistant", "system", "tool"). |
-| `contenido` | Variant | El contenido del mensaje, que puede ser un texto o una colección de objetos. |
-| `user` | Text | An optional property representing the user associated with the message. |
-| `tool_calls` | Collection | A collection of tool calls requested by the assistant. Cada llamada a una herramienta contiene un objeto `id`, `type` y `function`. |
-| `tool_call_id` | Text | El ID de la llamada a la herramienta a la que responde este mensaje (se utiliza cuando `role` es "tool"). |
+| Propiedad | Tipo | Descripción |
+| -------------- | ---------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
+| `rol` | Text | El rol del mensaje (por ejemplo, "user", "assistant", "system", "tool"). |
+| `contenido` | Variant | El contenido del mensaje, que puede ser un texto o una colección de objetos. |
+| `user` | Text | Una propiedad opcional que representa al usuario asociado al mensaje. |
+| `tool_calls` | Collection | Una colección de llamadas de herramientas solicitadas por el asistente. Cada llamada a una herramienta contiene un objeto `id`, `type` y `function`. |
+| `tool_call_id` | Text | El ID de la llamada a la herramienta a la que responde este mensaje (se utiliza cuando `role` es "tool"). |
## Propiedades calculadas
@@ -50,7 +50,7 @@ $message.addImageURL("http://example.com/image.jpg"; "high")
### Responder a un mensaje de llamada de herramienta
-When an assistant needs to use external functions, it generates a message with `tool_calls` to request function execution.
+Cuando un asistente necesita utilizar las funciones externas, genera un mensaje con `tool_calls` para solicitar la ejecución de la función.
**Mensaje del asistente solicitando las llamadas de la herramienta:**
@@ -76,7 +76,7 @@ Cuando reciba un mensaje de llamada de herramienta, debe:
1. **Extraer la información relativa a la función:**
- `function.name`: The name of the function to call (must match a function defined in your [OpenAITool](OpenAITool.md) - you can select code to execute according to this name)
- - `function.arguments`: A JSON string containing the function parameters that must be parsed with `JSON Parse`
+ - `function.arguments`: una cadena JSON que contiene los parámetros de la función que deben analizarse con `JSON Parse`
- `id`: el identificador único para esta llamada específica a la herramienta
2. **Execute the function:**
@@ -103,7 +103,7 @@ var $toolResponse:=cs.AIKit.OpenAIMessage.new({ \
// Add it to the conversation and continue
```
-**Important:** The `tool_call_id` in your response must exactly match the `id` from the original tool call. This allows the AI model to correctly associate your response with the specific function call that was made.
+**Important:** The `tool_call_id` in your response must exactly match the `id` from the original tool call. Esto permite que el modelo de IA asocie correctamente su respuesta con la llamada de función específica que se realizó.
## Ver también
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-21/aikit/Classes/OpenAIModeration.md b/i18n/es/docusaurus-plugin-content-docs/version-21/aikit/Classes/OpenAIModeration.md
index 3c92f30cc3c7c7..1b7928f32cb10a 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-21/aikit/Classes/OpenAIModeration.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-21/aikit/Classes/OpenAIModeration.md
@@ -5,7 +5,7 @@ title: OpenAIModeration
# OpenAIModeration
-La clase `OpenAIModeration` está diseñada para manejar los resultados de moderación de la API OpenAI. It contains properties for storing the moderation ID, model used, and the results of the moderation.
+La clase `OpenAIModeration` está diseñada para manejar los resultados de moderación de la API OpenAI. Contiene propiedades para almacenar el ID de moderación, el modelo utilizado y los resultados de la moderación.
https://platform.openai.com/docs/api-reference/moderations/object
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-21/aikit/Classes/OpenAIModerationResult.md b/i18n/es/docusaurus-plugin-content-docs/version-21/aikit/Classes/OpenAIModerationResult.md
index b486c693fb10f3..6ae6717533fd23 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-21/aikit/Classes/OpenAIModerationResult.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-21/aikit/Classes/OpenAIModerationResult.md
@@ -5,7 +5,7 @@ title: OpenAIModerationResult
# OpenAIModerationResult
-The `OpenAIModerationResult` provides functionality to handle moderation results from the OpenAI API.
+`OpenAIModerationResult` ofrece funcionalidades para manejar los resultados de moderación de la API OpenAI.
## Hereda
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-21/aikit/Classes/OpenAIParameters.md b/i18n/es/docusaurus-plugin-content-docs/version-21/aikit/Classes/OpenAIParameters.md
index 9f01e306d19db4..9b33b972486a0f 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-21/aikit/Classes/OpenAIParameters.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-21/aikit/Classes/OpenAIParameters.md
@@ -19,14 +19,14 @@ Utilice esta propiedad de retrollamada para recibir el resultado independienteme
Use these callback properties for more granular control over success and error handling:
-| Propiedad | Tipo | Descripción |
-| ------------ | --------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------- |
-| `onResponse` | 4D.Function | A function to be called asynchronously when the request finishes **successfully**. Asegúrese de que el proceso actual no termina. |
-| `onError` | 4D.Function | A function to be called asynchronously when the request finishes **with errors**. Asegúrese de que el proceso actual no termina. |
+| Propiedad | Tipo | Descripción |
+| ------------ | --------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| `onResponse` | 4D.Function | Una función a llamar de forma asíncrona cuando la petición finalice **con éxito**. Asegúrese de que el proceso actual no termina. |
+| `onError` | 4D.Function | Una función que se llamará de forma asíncrona cuando la petición finalice **con errores**. Asegúrese de que el proceso actual no termina. |
> The callback function will receive the same result object type (one of [OpenAIResult](./OpenAIResult.md) child classes) that would be returned by the function in synchronous code.
-See [documentation about asynchronous code for examples](../asynchronous-call.md)
+Ver la [documentación sobre código asíncrono para ejemplos](../asynchronous-call.md)
### Propiedades de la red
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-21/aikit/Classes/OpenAIResult.md b/i18n/es/docusaurus-plugin-content-docs/version-21/aikit/Classes/OpenAIResult.md
index a56ffcdcd8d803..ef3e9ad3508ea9 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-21/aikit/Classes/OpenAIResult.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-21/aikit/Classes/OpenAIResult.md
@@ -21,13 +21,13 @@ The `OpenAIResult` class is designed to handle the response from HTTP requests a
| `errors` | Collection | Devuelve una colección de errores. Estos podrían ser errores de red o errores devueltos por OpenAI. |
| `terminated` | Boolean | Un booleano que indica si la petición HTTP fue terminada. |
| `headers` | Object | Devuelve los encabezados de respuesta como un objeto. |
-| `rateLimit` | Object | Returns rate limit information from the response headers. |
+| `rateLimit` | Object | Devuelve la información relativa al límite de tasa de los encabezados de la respuesta. |
| `utilización` | Object | Devuelve la información de uso del cuerpo de la respuesta, si existe. |
### rateLimit
-The `rateLimit` property returns an object containing rate limit information from the response headers.
-This information includes the limits, remaining requests, and reset times for both requests and tokens.
+La propiedad `rateLimit` devuelve un objeto que contiene información sobre el límite de velocidad de los encabezados de respuesta.
+Esta información incluye los límites, las peticiones restantes y los tiempos de reinicialización tanto para peticiones como para tokens.
For more details on rate limits and the specific headers used, refer to [the OpenAI Rate Limits Documentation](https://platform.openai.com/docs/guides/rate-limits#rate-limits-in-headers).
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-21/aikit/compatible-openai.md b/i18n/es/docusaurus-plugin-content-docs/version-21/aikit/compatible-openai.md
index 5b5e136edec480..ca4d836251504a 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-21/aikit/compatible-openai.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-21/aikit/compatible-openai.md
@@ -5,7 +5,7 @@ title: Proveedores
# Proveedores
-Many AI providers propose an OpenAI-like API, so you can use this project to connect to them.
+Muchos proveedores de IA proponen una API similar a la de OpenAI, así que puede utilizar este proyecto para conectarse a ellos.
Para ello sólo tiene que definir la `baseURL` a la del proveedor y utilizar su clave api si es necesario.
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-21/code-editor/write-class-method.md b/i18n/es/docusaurus-plugin-content-docs/version-21/code-editor/write-class-method.md
index 002a2f09517834..f047f57dab287d 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-21/code-editor/write-class-method.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-21/code-editor/write-class-method.md
@@ -803,7 +803,7 @@ La etiqueta `` permite generar y utilizar macrocomandos que ejecutan mé
El código de un método llamado se ejecuta en un nuevo proceso. Este proceso se cierra una vez se ejecuta el método.
-> Note: The structure process remains frozen until the called method execution is completed. Debe asegurarse de que la ejecución es rápida y de que no hay riesgo de que bloquee la aplicación. If this occurs, use the **Ctrl+F8** (Windows) or **Command+F8** (macOS) command to "kill" the process.
+> Note: The structure process remains frozen until the called method execution is completed. Debe asegurarse de que la ejecución es rápida y de que no hay riesgo de que bloquee la aplicación. Si esto ocurre, utilice el comando **Ctrl+F8** (Windows) o **Comando+F8** (macOS) para "matar" el proceso.
### Llamando macros
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-21/commands/call-chain.md b/i18n/es/docusaurus-plugin-content-docs/version-21/commands/call-chain.md
index 71416c9f2cbcc3..fdbd960b6e8acd 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-21/commands/call-chain.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-21/commands/call-chain.md
@@ -25,14 +25,14 @@ displayed_sidebar: docs
## Descripción
-The **Call chain** command returns a collection of objects describing each step of the method call chain within the current process. Ofrece la misma información que la ventana Depurador. It has the added benefit of being able to be executed from any 4D environment, including compiled mode.
+The **Call chain** command returns a collection of objects describing each step of the method call chain within the current process. Ofrece la misma información que la ventana Depurador. Tiene la ventaja adicional de poder ser ejecutado desde cualquier entorno 4D, incluyendo el modo compilado.
The command facilitates debugging by enabling the identification of the method or formula called, the component that called it, and the line number where the call was made. Cada objeto de la colección devuelta contiene las siguientes propiedades:
| **Propiedad** | **Tipo** | **Description** | **Ejemplo** |
| ------------- | ----------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------- |
| database | Text | Name of the database calling the method (to distinguish host methods and component methods) | "database":"contactInfo" |
-| formula | Text (si lo hay) | Contents of the current line of code at the current level of the call chain (raw text). Corresponde al contenido de la línea referenciada por la propiedad `line` en el archivo fuente indicado por el método. Si el código fuente no está disponible, la propiedad `formula` se omite (Undefined). | "var $stack:=Call chain" |
+| formula | Text (si lo hay) | Contenido de la línea actual de código en el nivel actual de la cadena de llamadas (texto bruto). Corresponde al contenido de la línea referenciada por la propiedad `line` en el archivo fuente indicado por el método. Si el código fuente no está disponible, la propiedad `formula` se omite (Undefined). | "var $stack:=Call chain" |
| línea | Integer | Número de línea de llamada al método | "line":6 |
| name | Text | Nombre del método llamado | "name":"On Load" |
| type | Text | Type of the method: "projectMethod""formObjectMethod""formmethod""databaseMethod""triggerMethod""executeOnServer" (when calling a project method with the *Execute on Server attribute*) "executeFormula" (when executing a formula via [PROCESS 4D TAGS](../commands-legacy/process-4d-tags.md) or the evaluation of a formula in a 4D Write Pro document)"classFunction""formMethod" | "type":"formMethod" |
@@ -45,7 +45,7 @@ Para que este comando pueda operar en modo compilado, la [verificación de rango
## Ejemplo
-The following code returns a collection of objects containing information about the method call chain:
+El siguiente código devuelve una colección de objetos que contienen información acerca de la cadena de llamadas de métodos:
```4d
var $currentCallChain : Collection
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-21/commands/command-name.md b/i18n/es/docusaurus-plugin-content-docs/version-21/commands/command-name.md
index f48fc456753f3c..08c1237eb694d5 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-21/commands/command-name.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-21/commands/command-name.md
@@ -36,7 +36,7 @@ Hay dos parámetros opcionales:
- *info*: propiedades del comando. The returned value is a *bit field*, where the following bits are meaningful:
- Primer bit (bit 0): definido en 1 si el comando es [**hilo-seguro**](../Develop/preemptive.md#thread-safe-vs-thread-unsafe-code) (es decir, compatible con la ejecución en un proceso apropiativo) y 0 si es **hilo-inseguro**. Only thread-safe commands can be used in [preemptive processes](../Develop/preemptive.md).
- - Second bit (bit 1): set to 1 if the command is **deprecated**, and 0 if it is not. A deprecated command will continue to work normally as long as it is supported, but should be replaced whenever possible and must no longer be used in new code. Los comandos obsoletos en su código generan advertencias en el [Live Checker y el compilador](../code-editor/write-class-method.md#warnings-and-errors).
+ - Segundo bit (bit 1): se define en 1 si el comando es **obsoleto**, y en 0 si no lo es. A deprecated command will continue to work normally as long as it is supported, but should be replaced whenever possible and must no longer be used in new code. Los comandos obsoletos en su código generan advertencias en el [Live Checker y el compilador](../code-editor/write-class-method.md#warnings-and-errors).
*theme*: nombre del tema del lenguaje 4D para el comando.
@@ -80,9 +80,9 @@ En un formulario, quiere una lista desplegable con los comandos básicos de info
End case
```
-In the English version of 4D, the drop-down list will read: Sum, Average, Min, and Max. In the French version\*, the drop-down list will read: Somme, Moyenne, Min, and Max.
+En la versión inglesa de 4D, la lista desplegable leerá: Sum, Average, Min y Max. In the French version\*, the drop-down list will read: Somme, Moyenne, Min, and Max.
-\*with a 4D application configured to use the French programming language (see compatibility note)
+\*con una aplicación 4D configurada para usar el lenguaje de programación en francés (ver nota de compatibilidad)
## Ejemplo 3
@@ -110,7 +110,7 @@ Luego, para el comando "SAVE RECORD" (53) por ejemplo, puede escribir:
## Ejemplo 4
-You want to return a collection of all deprecated commands in your version of 4D.
+Quiere devolver una colección de todos los comandos obsoletos en su versión de 4D.
```4d
var $info; $Lon_id : Integer
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-21/commands/create-deployment-license.md b/i18n/es/docusaurus-plugin-content-docs/version-21/commands/create-deployment-license.md
index 57ffea72a3cfe9..a943e2ddaadfc1 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-21/commands/create-deployment-license.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-21/commands/create-deployment-license.md
@@ -112,7 +112,7 @@ Designar una licencia de uso:
## Ver también
-[Blog post - Build an application with 4D commands](https://blog.4d.com/build-an-application-with-4d-commands)
+[Post de blog - Crear una aplicación con los comandos 4D](https://blog.4d.com/build-an-application-with-4d-commands)
## Propiedades
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-21/commands/form.md b/i18n/es/docusaurus-plugin-content-docs/version-21/commands/form.md
index 355633c3e4ffb9..79fa8e19d3a3a9 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-21/commands/form.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-21/commands/form.md
@@ -24,7 +24,7 @@ displayed_sidebar: docs
## Descripción
-El comando **Form** devuelve el objeto asociado al formulario actual (instanciado a partir del parámetro *formData* o de la clase de usuario asignada en el editor de formularios). 4D automatically associates an object to the current form in the following cases:
+El comando **Form** devuelve el objeto asociado al formulario actual (instanciado a partir del parámetro *formData* o de la clase de usuario asignada en el editor de formularios). 4D asocia automáticamente un objeto al formulario actual en los siguientes casos:
- el formulario actual ha sido cargado por uno de los comandos [`DIALOG`](dialog.md), [`Print form`](print-form.md), o [`FORM LOAD`](form-load.md),
- el formulario actual es un subformulario,
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-21/commands/listbox-get-property.md b/i18n/es/docusaurus-plugin-content-docs/version-21/commands/listbox-get-property.md
index 1950ec74b81673..e0fe65323178a0 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-21/commands/listbox-get-property.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-21/commands/listbox-get-property.md
@@ -85,7 +85,7 @@ Dado un list box "MyListbox", si ejecuta la siguiente instrucción:
$Value:=LISTBOX Get property(*; "MyListbox";lk selection mode) // el valor devuelto indica el modo de selección
```
-In this case, the result returned indicates whether multiple rows can be selected.
+En este caso, el resultado devuelto indica si varios registros pueden ser seleccionados.
## Ejemplo 2
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-21/commands/listbox-set-property.md b/i18n/es/docusaurus-plugin-content-docs/version-21/commands/listbox-set-property.md
index bad06c1b5092c0..d6641157210542 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-21/commands/listbox-set-property.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-21/commands/listbox-set-property.md
@@ -25,7 +25,7 @@ Si pasa el parámetro opcional *\**, indica que el parámetro *object* es un nom
**Note:** If the list box or list box column specified using the *object* and *\** parameters does not exist, the command does nothing and no error is triggered.
-In the *property* and *value* parameters, you indicate, respectively, the property to set and its new value. Puede utilizar las siguientes constantes encontradas en el tema “*List Box*:
+En los parámetros *property* y *value*, usted indica, respectivamente, la propiedad a definir y su nuevo valor. Puede utilizar las siguientes constantes encontradas en el tema “*List Box*:
| Constante | Valor | Comentario |
| ------------------------------ | ----- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
@@ -69,7 +69,7 @@ In the *property* and *value* parameters, you indicate, respectively, the proper
## Ejemplo 1
-You want to make all columns of the "MyListbox" list box resizable:
+Quiere que todas las columnas del list box "MyListbox" sean redimensionables:
```4d
LISTBOX SET PROPERTY(*;"MyListbox";lk column resizable;lk yes) //Todas las columnas del list box "MyListbox" se establecen como redimensionables
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-21/commands/new-log-file.md b/i18n/es/docusaurus-plugin-content-docs/version-21/commands/new-log-file.md
index dc7638f769dbd6..a3a706e3623201 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-21/commands/new-log-file.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-21/commands/new-log-file.md
@@ -20,12 +20,12 @@ displayed_sidebar: docs
The **New log file** command closes the current log file, renames it and creates a new one with the same name in the same location as the previous one. This command is meant to be used for setting up a backup system using a logical mirror (see the section *Setting up a logical mirror* in the [4D Server Reference Manual](https://doc/4d.com)).
-The command returns the full pathname (access path + name) of the log file being closed (called the “segment”). Este archivo se almacena en la misma ubicación que el archivo de registro actual (especificado en la [página de configuración](../Backup/settings.md#configuration) en el tema de copia de seguridad de la configuración). The command does not carry out any processing (compression, segmentation) on the saved file. No aparece ninguna
+El comando devuelve el nombre completo de la ruta (ruta de acceso + nombre) del archivo de registro que se está cerrando (llamado “segment”). Este archivo se almacena en la misma ubicación que el archivo de registro actual (especificado en la [página de configuración](../Backup/settings.md#configuration) en el tema de copia de seguridad de la configuración). El comando no realiza ningún procesamiento (compresión, segmentación) en el archivo guardado. No aparece ninguna
caja de diálogo.
The file is renamed with the current backup numbers of the database and of the log file, as shown in the following example: DatabaseName\[BackupNum-LogBackupNum\].journal. Por ejemplo:
-- If the MyDatabase.4DD database has been saved 4 times, the last backup file will be named MyDatabase\[0004\].4BK. The name of the first “segment” of the log file will therefore be MyDatabase\[0004-0001\].journal.
+- If the MyDatabase.4DD database has been saved 4 times, the last backup file will be named MyDatabase\[0004\].4BK. El nombre del primer “segment” del archivo de registro será, por lo tanto, MyDatabase\[0004-0001\].journal.
- If the MyDatabase.4DD database has been saved 3 times and the log file has been saved 5 times since, the name of the 6th backup of the log file will be MyDatabase\[0003-0006\].journal.
:::warning
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-21/commands/select-log-file.md b/i18n/es/docusaurus-plugin-content-docs/version-21/commands/select-log-file.md
index 4645679308f3d1..05b28a5eb1d550 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-21/commands/select-log-file.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-21/commands/select-log-file.md
@@ -17,11 +17,11 @@ displayed_sidebar: docs
## Descripción
-The **SELECT LOG FILE** command creates, or closes the log file according to the value you pass in parameter.
+El comando **SELECT LOG FILE** crea o cierra el archivo de historial de acuerdo al valor que pase en el parámetro.
-In *logFile*, pass the name or the full pathname of the log file to be created. If you only pass a name, the file will be created in the "Logs" folder of the database located next to the database structure file.
+En *logFile*, pase el nombre o la ruta completa del archivo de registro a ser creado. If you only pass a name, the file will be created in the "Logs" folder of the database located next to the database structure file.
-If you pass an empty string in *logFile*, **SELECT LOG FILE** presents an Save File dialog box, allowing the user to choose the name and location of the log file to be created. Si el archivo se crea correctamente, la variable OK toma el valor 1. Otherwise, if the user clicks Cancel or if the log file could not be created, OK is set to 0.
+If you pass an empty string in *logFile*, **SELECT LOG FILE** presents an Save File dialog box, allowing the user to choose the name and location of the log file to be created. Si el archivo se crea correctamente, la variable OK toma el valor 1. De lo contrario, si el usuario hace clic en Cancelar o si el archivo de registro no pudo ser creado, OK toma el valor 0.
**Note:** The new log file is not generated immediately after execution of the command, but after the next backup (the parameter is kept in the data file and will be taken into account even if the database is closed in the meantime) or a call to the [New log file](new-log-file.md) command. Puede llamar al comando [BACKUP](../commands-legacy/backup.md) para activar la creación del archivo de registro.
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-21/commands/string.md b/i18n/es/docusaurus-plugin-content-docs/version-21/commands/string.md
index a7928fff8b6d0d..80dd73a149d5ca 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-21/commands/string.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-21/commands/string.md
@@ -31,7 +31,7 @@ displayed_sidebar: docs
El comando **String** devuelve en forma de cadena alfanumérica la expresión numérica, fecha, hora, cadena o booleana que se pasa en *expression*.
-If you do not pass any other parameter, the string is returned with the appropriate default format. Si pasa *format*, puede forzar que la cadena resultante tenga un formato específico.
+Si no pasa ningún otro parámetro, la cadena se devuelve con el formato apropiado por defecto. Si pasa *format*, puede forzar que la cadena resultante tenga un formato específico.
El parámetro opcional *addTime* añade una hora a una fecha en un formato combinado. Sólo puede utilizarse cuando el parámetro *expression* es una fecha (ver abajo).
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-21/commands/trim.md b/i18n/es/docusaurus-plugin-content-docs/version-21/commands/trim.md
index 5cb9ac27fad57e..44a293403f43d9 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-21/commands/trim.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-21/commands/trim.md
@@ -31,7 +31,7 @@ To return a new string with whitespace trimmed from just one end, use [`Trim sta
En el parámetro *aString*, puede pasar cualquier expresión de tipo texto. Será dejado sin tocar por el comando.
-El comando devuelve la versión recortada de la cadena *aString*. If there is no whitespace at any end of *aString*, the returned string is identical as the one passed in parameter.
+El comando devuelve la versión recortada de la cadena *aString*. Si no hay espacios en blanco en ningún extremo de *aString*, la cadena devuelta es idéntica a la pasada como parámetro.
:::note
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-21/commands/wa-get-context.md b/i18n/es/docusaurus-plugin-content-docs/version-21/commands/wa-get-context.md
index 98329331b077f7..366311d7124bd5 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-21/commands/wa-get-context.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-21/commands/wa-get-context.md
@@ -18,7 +18,7 @@ displayed_sidebar: docs
### Descripción
-El comando `WA Get context` recupera el objeto de contexto definido para `$4d` en el área Web designada por los parámetros \* y *object* utilizando [`WA SET CONTEXT`](./wa-set-context.md). If `WA SET CONTEXT` was not called for the web area the command returns `null`.
+El comando `WA Get context` recupera el objeto de contexto definido para `$4d` en el área Web designada por los parámetros \* y *object* utilizando [`WA SET CONTEXT`](./wa-set-context.md). Si `WA SET CONTEXT` no fue llamado para el área web, el comando devuelve `null`.
:::note
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-21/settings/client-server.md b/i18n/es/docusaurus-plugin-content-docs/version-21/settings/client-server.md
index b03e5465634991..a2115ea9a211c6 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-21/settings/client-server.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-21/settings/client-server.md
@@ -92,7 +92,7 @@ En caso de modificación, deberá reiniciar la aplicación para que se tenga en
:::note
-This option is not available when the [QUIC](#network-layer) network layer is selected.
+Esta opción no está disponible cuando se selecciona la capa de red [QUIC](#network-layer).
:::
@@ -110,7 +110,7 @@ Cuando esta opción está marcada, todas las máquinas remotas 4D que se conecta
:::note
-This option is not available when the [QUIC](#network-layer) network layer option is selected.
+Esta opción no está disponible cuando se selecciona la opción capa de red [QUIC](#network-layer).
:::
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-21/settings/web.md b/i18n/es/docusaurus-plugin-content-docs/version-21/settings/web.md
index 052d2beaf51c2c..d827ba37fa6121 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-21/settings/web.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-21/settings/web.md
@@ -124,7 +124,7 @@ Define el sistema de autenticación que desea aplicar a su servidor web. Se prop
- Contraseñas con protocolo BASIC
- Contraseñas con protocolo DIGEST
-Se recomienda utilizar la autenticación **personalizada**. See [**Authentication**](../WebServer/authentication.md) section.
+Se recomienda utilizar la autenticación **personalizada**. Ver la sección[**autenticación**](../WebServer/authentication.md).
#### Generic Web User
diff --git a/i18n/fr/docusaurus-plugin-content-docs/current/ORDA/privileges.md b/i18n/fr/docusaurus-plugin-content-docs/current/ORDA/privileges.md
index 8357f0fdab2d8c..c9fe27abd154c3 100644
--- a/i18n/fr/docusaurus-plugin-content-docs/current/ORDA/privileges.md
+++ b/i18n/fr/docusaurus-plugin-content-docs/current/ORDA/privileges.md
@@ -27,27 +27,21 @@ Si un utilisateur tente d'exécuter une action et ne dispose pas des droits d'ac
Vous pouvez assigner des actions de permission spécifiques aux ressources suivantes dans votre projet :
-- le datastore
-- une dataclass
-- un attribut (y compris calculé et alias)
-- une fonction de classe du modèle de données
-- une fonction [singleton](../REST/$singleton.md)
+- the [datastore](../ORDA/dsMapping.md#datastore)
+- the [dataclasses](../ORDA/dsMapping.md#dataclass)
+- [attributes](../ORDA/dsMapping.md#attribute) (including [computed](./ordaClasses.md#computed-attributes-1) and [alias](./ordaClasses.md#alias-attributes-1))
+- functions of the [data model classes](../ORDA/ordaClasses.md)
+- [singleton](../REST/$singleton.md) functions
Chaque fois qu'on accède à une ressource dans une session (quelle que soit la manière dont on y accède), 4D vérifie que la session dispose des autorisations appropriées et rejette l'accès s'il n'est pas autorisé.
-Une action de permission définie à un certain niveau est héritée par défaut aux niveaux inférieurs, mais plusieurs niveaux de permissions peuvent être définis :
-
-- Une action de permission définie au niveau du datastore est automatiquement assignée à toutes les dataclass. L'action de permission *execute* définie au niveau du datastore s'applique à toutes les fonctions du projet, y compris aux fonctions [singleton](../REST/$singleton.md).
-- Une action de permission définie au niveau dataclass remplace le paramétrage du datastore (le cas échéant). Par défaut, tous les attributs de la dataclass héritent des permissions de la dataclass.
-- Contrairement aux permissions des dataclass, une action de permission définie au niveau de l'attribut ne remplace pas la permission de la dataclass parente, mais y est ajoutée. Par exemple, si vous avez attribué le privilège "général" à une dataclass et le privilège "détail" à un attribut de la dataclass, les deux privilèges, "général" et "détail", doivent être définis dans la session afin d'accéder à l'attribut.
+## Permissions
-:::info
+A permission is the ability to do an action on a resource. For example, *execute the ds.myTable.myFunction()* represents a **permission**. Permissions are defined for the project in the [`roles.json`](#rolesjson-file) file. Each permission can be given to one or more [privileges](#privileges-and-roles).
-Les permissions contrôlent l'accès aux objets ou fonctions du datastore. Si vous voulez filtrer les données de lecture selon certains critères, vous pouvez envisager d'utiliser les [entity selections restreintes](entities.md#restricting-entity-selections) qui peuvent être plus appropriées dans ce cas.
+When **no specific permission** has been defined for a resource, access to the resource may be automatically **unrestricted** or **restricted** depending on the [default mode defined for the project](#restriction-modes).
-:::
-
-## Actions de permission
+### Actions de permission
Les actions disponibles sont liées à la ressource cible.
@@ -73,6 +67,65 @@ Les actions disponibles sont liées à la ressource cible.
Le paramétrage des permissions nécessite d'être cohérent, en particulier les permissions **update** et **drop** ont également besoin d'une permission **read** (mais **create** n'en a pas besoin).
+### Inherited permissions
+
+Une action de permission définie à un certain niveau est héritée par défaut aux niveaux inférieurs, mais plusieurs niveaux de permissions peuvent être définis :
+
+- Une action de permission définie au niveau du datastore est automatiquement assignée à toutes les dataclass. L'action de permission *execute* définie au niveau du datastore s'applique à toutes les fonctions du projet, y compris aux fonctions [singleton](../REST/$singleton.md).
+- Une action de permission définie au niveau dataclass remplace le paramétrage du datastore (le cas échéant). Par défaut, tous les attributs de la dataclass héritent des permissions de la dataclass.
+- Contrairement aux permissions des dataclass, une action de permission définie au niveau de l'attribut ne remplace pas la permission de la dataclass parente, mais y est ajoutée. Par exemple, si vous avez attribué le privilège "général" à une dataclass et le privilège "détail" à un attribut de la dataclass, les deux privilèges, "général" et "détail", doivent être définis dans la session afin d'accéder à l'attribut.
+
+:::info
+
+Les permissions contrôlent l'accès aux objets ou fonctions du datastore. Si vous voulez filtrer les données de lecture selon certains critères, vous pouvez envisager d'utiliser les [entity selections restreintes](entities.md#restricting-entity-selections) qui peuvent être plus appropriées dans ce cas.
+
+:::
+
+### Attribution de permissions aux fonctions de la classe ORDA
+
+Lors de la configuration des permissions, les fonctions de classe ORDA sont déclarées dans l'élément `applyTo` en utilisant la syntaxe suivante :
+
+```json
+.
+```
+
+Par exemple, si vous voulez appliquer une permission à la fonction suivante :
+
+```4d
+// cs.CityEntity class
+Class extends Entity
+ Function getPopulation() : Integer
+ ...
+```
+
+... vous devez écrire :
+
+```json
+"applyTo":"City.getPopulation"
+```
+
+Cela signifie que vous ne pouvez pas utiliser les mêmes noms de fonctions dans les différentes classes ORDA (entité, entity selection, dataclass) si vous souhaitez que des privilèges leur soient attribués. Dans ce cas, vous devez utiliser des noms de fonction distincts. Par exemple, si vous avez créé une fonction "drop" dans les classes `cs.CityEntity` et `cs.CitySelection`, vous devez leur donner des noms différents tels que `dropEntity()` et `dropSelection()`. Vous pouvez ensuite écrire dans le fichier "roles.json" :
+
+```json
+ "permissions": {
+ "allowed": [
+ {
+ "applyTo": "City.dropEntity",
+ "type": "method",
+ "promote": [
+ "name"
+ ]
+ },
+ {
+ "applyTo": "City.dropSelection",
+ "type": "method",
+ "promote": [
+ "name"
+ ]
+ }
+ ]
+```
+
## Privilèges et Rôles
Un **privilège** est la capacité technique d'exécuter des **actions** sur des **ressources**, tandis qu'un **rôle** est un privilège public destiné à être utilisé par un administrateur. Fondamentalement, un rôle rassemble plusieurs privilèges pour définir un profil utilisateur métier. Par exemple, "manageInvoices" pourrait être un privilège tandis que "secrétaire" pourrait être un rôle (qui inclut "manageInvoices" et d'autres privilèges).
@@ -111,142 +164,106 @@ exposed Function authenticate($identifier : Text; $password : Text)->$result : T
## `roles.json`
-Le fichier `roles.json` décrit l'ensemble des paramètres de sécurité du projet.
-
-### Fichier par défaut
+The `roles.json` file describes the whole web security settings for the project. La syntaxe du fichier `roles.json` est la suivante:
+
+| Nom de propriété | | | Type | Obligatoire | Description |
+| ------------------- | ----------------------------------------------------------------------------------- | -------------------------------------------------------------------------------- | -------------------------------- | ----------- | ---------------------------------------------------------------------------------------------------------------------------------- |
+| privileges | | | Collection d'objets `privilege` | X | Liste de privilèges définis |
+| | \[].privilege | | Text | | Nom de privilège |
+| | \[].includes | | Collection de chaînes | | Liste de noms de privilèges inclus |
+| roles | | | Collection d'objets `role` | | Liste de rôles définis |
+| | \[].role | | Text | | Nom de rôle |
+| | \[].privileges | | Collection de chaînes | | Liste de noms de privilèges inclus |
+| permissions | | | Object | X | Liste d'actions autorisées |
+| | allowed | | Collection d'objets `permission` | | Liste de permissions autorisées |
+| | | \[].applyTo | Text | X | Nom de [ressource](#resources) cible |
+| | | \[].type | Text | X | Type de [ressource](#ressources) : "datastore", "dataclass", "attribute", "method", "singletonMethod", "singleton" |
+| | | \[].read | Collection de chaînes | | Liste de privilèges |
+| | | \[].create | Collection de chaînes | | Liste de privilèges |
+| | | \[].update | Collection de chaînes | | Liste de privilèges |
+| | | \[].drop | Collection de chaînes | | Liste de privilèges |
+| | | \[].execute | Collection de chaînes | | Liste de privilèges |
+| | | \[].promote | Collection de chaînes | | Liste de privilèges |
+| restrictedByDefault | | | Boolean | | If true, access to resources without explicit permissions is denied |
+| forceLogin | | | Boolean | | If true, enables ["forceLogin" mode](../REST/authUsers.md#force-login-mode) |
-Lorsque vous créez un projet, un fichier `roles.json` par défaut est créé à l'emplacement suivant : `/Project/Sources/` (voir la section [Architecture](../Project/architecture.md#sources)).
+:::caution Rappel
-Le fichier par défaut a le contenu suivant :
+- Le nom de privilège "WebAdmin" est réservé à l'application. Il est déconseillé d'utiliser ce nom pour les privilèges personnalisés.
+- `privileges` and `roles` names are case-insensitive.
-```json title="/Project/Sources/roles.json"
+:::
-{
- "privileges": [
- {
- "privilege": "all",
- "includes": []
- }
- ],
-
- "roles": [],
-
- "permissions": {
- "allowed": [
- {
- "applyTo": "ds",
- "type": "datastore",
- "read": ["all"],
- "create": ["all"],
- "update": ["all"],
- "drop": ["all"],
- "execute": ["all"],
- "promote": ["all"]
- }
- ]
- },
-
- "forceLogin": true
+### Default File Location and Content
-}
+When a new project is created, a default `roles.json` file is generated at:
+```
+/Project/Sources/
```
-Pour un niveau de sécurité maximal, le privilège "all" est attribué à toutes les autorisations dans le datastore, ce qui signifie que l'accès aux données sur l'ensemble de l'objet `ds` est désactivé par défaut. Le principe est le suivant : attribuer une autorisation, c'est comme mettre un verrou sur une porte. Seules les sessions disposant d'un privilège et de la clé correspondante (c'est-à-dire d'une permission) pourront ouvrir la serrure.
-Il est recommandé de ne pas modifier ou utiliser ce privilège de verrouillage, mais d'ajouter des permissions spécifiques à chaque ressource que vous souhaitez rendre disponible à partir de requêtes web ou REST ([voir l'exemple ci-dessous](#example-of-privilege-configuration)).
+Voir la section [Architecture](../Project/architecture.md#sources) .
-:::caution
+Default content:
-Si aucun paramètre spécifique n'est défini dans le fichier `roles.json`, les accès ne sont pas limités. Cette configuration vous permet de développer l'application sans avoir à vous soucier des accès, mais est fortement déconseillée dans un environnement de production.
+```json title="/Project/Sources/roles.json"
-:::
+{
+ "privileges": [
+ ],
+ "roles": [
+ ],
+ "permissions": {
+ "allowed": [
+ {
+ "applyTo": "ds",
+ "type": "datastore",
+ "read": [],
+ "create": [],
+ "update": [],
+ "drop": [],
+ "execute": [],
+ "promote": []
+ }
+ ]
+ },
+ "restrictedByDefault": false,
+ "forceLogin": false
+}
+```
:::note Compatibilité
Dans les versions précédentes, le fichier `roles.json` n'était pas créé par défaut. Depuis 4D 20 R6, lors de l'ouverture d'un projet existant qui ne contient pas de fichier `roles.json` ou les paramètres `"forceLogin" : true`, le bouton **Activer l'authentification REST via la fonction ds.authentify()** est disponible dans la page [**Fonctionnalités Web** de la boîte de dialogue Paramètres](../settings/web.md#access). Ce bouton met automatiquement à jour vos paramètres de sécurité (vous devrez peut-être modifier votre code, [voir cet article de blog](https://blog.4d.com/force-login-becomes-default-for-all-rest-auth/)).
+
:::
:::note Qodly Studio
-Dans Qodly Studio for 4D, le mode peut être défini en utilisant l'option [**Force login**](../WebServer/qodly-studio.md#force-login) dans l'onglet Privileges.
+In Qodly Studio for 4D, the login mode can be set using the [**Force login** option](https://developer.4d.com/qodly/4DQodlyPro/force-login) in the Roles and Privileges panel.
:::
-### Syntaxe
-
-La syntaxe du fichier `roles.json` est la suivante:
-
-| Nom de propriété | | | Type | Obligatoire | Description |
-| ---------------- | ----------------------------------------------------------------------------------- | -------------------------------------------------------------------------------- | -------------------------------- | ----------- | ---------------------------------------------------------------------------------------------------------------------------------- |
-| privileges | | | Collection d'objets `privilege` | X | Liste de privilèges définis |
-| | \[].privilege | | Text | | Nom de privilège |
-| | \[].includes | | Collection de chaînes | | Liste de noms de privilèges inclus |
-| roles | | | Collection d'objets `role` | | Liste de rôles définis |
-| | \[].role | | Text | | Nom de rôle |
-| | \[].privileges | | Collection de chaînes | | Liste de noms de privilèges inclus |
-| permissions | | | Object | X | Liste d'actions autorisées |
-| | allowed | | Collection d'objets `permission` | | Liste de permissions autorisées |
-| | | \[].applyTo | Text | X | Nom de [ressource](#resources) cible |
-| | | \[].type | Text | X | Type de [ressource](#ressources) : "datastore", "dataclass", "attribute", "method", "singletonMethod", "singleton" |
-| | | \[].read | Collection de chaînes | | Liste de privilèges |
-| | | \[].create | Collection de chaînes | | Liste de privilèges |
-| | | \[].update | Collection de chaînes | | Liste de privilèges |
-| | | \[].drop | Collection de chaînes | | Liste de privilèges |
-| | | \[].execute | Collection de chaînes | | Liste de privilèges |
-| | | \[].promote | Collection de chaînes | | Liste de privilèges |
-| forceLogin | | | Boolean | | True pour activer le [mode "forceLogin"](../REST/authUsers.md#force-login-mode) |
-
-:::caution Rappel
-
-- Le nom de privilège "WebAdmin" est réservé à l'application. Il est déconseillé d'utiliser ce nom pour les privilèges personnalisés.
-- Les noms `privileges` et `roles` sont insensibles à la casse.
+## Restriction Modes
-:::
+The `restrictedByDefault` property configures how every [resource](#resources) are accessed when [no specific permission is defined for it](#permission):
-#### Attribution de permissions aux fonctions de la classe ORDA
+- **Unrestricted mode** (`restrictedByDefault`: **false**): Resources without defined permissions are accessible to all requests. This mode is suitable for development environments where access can be gradually restricted.
+- **Restricted mode** (`restrictedByDefault`: **true**): Resources without defined permissions are blocked by default. This mode is recommended for production environments where access must be explicitly granted.
-Lors de la configuration des permissions, les fonctions de classe ORDA sont déclarées dans l'élément `applyTo` en utilisant la syntaxe suivante :
-
-```json
-.
-```
+:::note Compatibilité
-Par exemple, si vous voulez appliquer une permission à la fonction suivante :
+- When **creating a new project**, the `restrictedByDefault` property is set to **false** in the *roles.json* file (see below). Keep in mind that this configuration is tailored for quick start and smooth development. In production environment, [it is recommended to set the `restrictedByDefault` and `forceLogin` properties to **true**](#configuring-restrictedbydefault-and-forcelogin-properties).
+- In **projects converted from previous releases**; when enabling access to Qodly Studio using the [One-click configuration dialog](https://developer.4d.com/qodly/4DQodlyPro/gettingStarted#one-click-configuration), the `restrictedByDefault` property is added with value **true** in the *roles.json* file.
-```4d
-// cs.CityEntity class
-Class extends Entity
- Function getPopulation() : Integer
- ...
-```
+:::
-... vous devez écrire :
+### Recommended Configuration
-```json
-"applyTo":"City.getPopulation"
-```
+Depending on your environment, the recommended settings are:
-Cela signifie que vous ne pouvez pas utiliser les mêmes noms de fonctions dans les différentes classes ORDA (entité, entity selection, dataclass) si vous souhaitez que des privilèges leur soient attribués. Dans ce cas, vous devez utiliser des noms de fonction distincts. Par exemple, si vous avez créé une fonction "drop" dans les classes `cs.CityEntity` et `cs.CitySelection`, vous devez leur donner des noms différents tels que `dropEntity()` et `dropSelection()`. Vous pouvez ensuite écrire dans le fichier "roles.json" :
-
-```json
- "permissions": {
- "allowed": [
- {
- "applyTo": "City.dropEntity",
- "type": "method",
- "promote": [
- "name"
- ]
- },
- {
- "applyTo": "City.dropSelection",
- "type": "method",
- "promote": [
- "name"
- ]
- }
- ]
-```
+- **Production**: Set both `restrictedByDefault` and [`forceLogin`](../REST/authUsers.md#force-login-mode) to **true**. This ensures maximum security by requiring user authentication and explicitly defined permissions for resource access.
+- **Development**: Set both `restrictedByDefault` and [`forceLogin`](../REST/authUsers.md#force-login-mode) to **false**. This allows easier access during development and debugging, with the possibility to gradually apply restrictions.
### `Roles_Errors.json`
@@ -267,93 +284,28 @@ End if
## Exemple de configuration de privilèges
-La bonne pratique est de garder tous les accès aux données verrouillés par défaut grâce au privilège "all" et de configurer le fichier `roles.json` pour n'ouvrir les parties contrôlées qu'aux sessions autorisées. Par exemple, pour autoriser certains accès aux sessions "guest" :
-
```json title="/Project/Sources/roles.json"
{
- "privileges": [
- {
- "privilege": "all",
- "includes": []
- }
- ],
- "roles": [],
- "permissions": {
- "allowed": [
- {
- "applyTo": "ds",
- "type": "datastore",
- "read": [
- "all"
- ],
- "create": [
- "all"
- ],
- "update": [
- "all"
- ],
- "drop": [
- "all"
- ],
- "execute": [
- "all"
- ],
- "promote": [
- "all"
- ]
- },
- {
- "applyTo": "ds.loginAs",
- "type": "method",
- "execute": [
- "guest"
- ]
- },
- {
- "applyTo": "ds.hasPrivilege",
- "type": "method",
- "execute": [
- "guest"
- ]
- },
- {
- "applyTo": "ds.clearPrivileges",
- "type": "method",
- "execute": [
- "guest"
- ]
- },
- {
- "applyTo": "ds.isGuest",
- "type": "method",
- "execute": [
- "guest"
- ]
- },
- {
- "applyTo": "ds.getPrivileges",
- "type": "method",
- "execute": [
- "guest"
- ]
- },
- {
- "applyTo": "ds.setAllPrivileges",
- "type": "method",
- "execute": [
- "guest"
- ]
- },
- {
- "applyTo": "mySingletonClass.createID",
- "type": "singletonMethod",
- "execute": [
- "guest"
- ]
- }
- ]
- },
- "forceLogin": true
+ "forceLogin": true,
+ "restrictedByDefault": true,
+ "permissions": {
+ "allowed": [
+ {
+ "applyTo": "People",
+ "type": "dataclass",
+ "read": [
+ "viewPeople"
+ ]
+ }
+ ]
+ },
+ "privileges": [
+ {
+ "privilege": "viewPeople",
+ "includes": []
+ }
+ ],
+ "roles": []
}
```
diff --git a/i18n/fr/docusaurus-plugin-content-docs/current/REST/configuration.md b/i18n/fr/docusaurus-plugin-content-docs/current/REST/configuration.md
index e287a8275b6b29..82420294acf7b9 100644
--- a/i18n/fr/docusaurus-plugin-content-docs/current/REST/configuration.md
+++ b/i18n/fr/docusaurus-plugin-content-docs/current/REST/configuration.md
@@ -70,9 +70,9 @@ Pour supprimer l'exposition REST d'un champ :
1. Affichez l'Inspecteur de champ dans l'Editeur de structure et sélectionnez le champ à modifier.
-2. Décochez la case **Exposer en tant que ressource REST** pour le champ.
- 
- Répétez cette opération pour chaque champ dont l'exposition doit être modifiée.
+2. Uncheck the **Expose as REST resource** for the field.
+ 
+ Repeat this for each field whose exposure needs to be modified.
> Pour qu'un champ soit accessible via REST, la table parente doit l'être également. Si la table parente n'est pas exposée, aucun de ses champs ne le sera, quel que soit leur statut.
diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-20/Notes/updates.md b/i18n/fr/docusaurus-plugin-content-docs/version-20/Notes/updates.md
index b65b3976b2ba52..75bc8ba7bb479c 100644
--- a/i18n/fr/docusaurus-plugin-content-docs/version-20/Notes/updates.md
+++ b/i18n/fr/docusaurus-plugin-content-docs/version-20/Notes/updates.md
@@ -11,6 +11,14 @@ Lisez [**Les nouveautés de 4D 20**](https://blog.4d.com/fr-whats-new-in-4d-v20/
:::
+## 4D 20.8 LTS
+
+#### Points forts
+
+- [**Fixed bugs list**](https://bugs.4d.com/fixes?version=20.8): list of all bugs that have been fixed in 4D 20.8 LTS.
+
+
+
## 4D 20.7 LTS
#### Points forts
diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-21/Notes/updates.md b/i18n/fr/docusaurus-plugin-content-docs/version-21/Notes/updates.md
index f9cd498f3e85e2..8c81601b612bfb 100644
--- a/i18n/fr/docusaurus-plugin-content-docs/version-21/Notes/updates.md
+++ b/i18n/fr/docusaurus-plugin-content-docs/version-21/Notes/updates.md
@@ -16,6 +16,7 @@ Lisez [**Les nouveautés de 4D 21**](https://blog.4d.com/fe-whats-new-in-4d-v21/
- possibilité de définir des [gestionnaires de requêtes HTTP](../WebServer/http-request-handler.md) en utilisant une propriété `handlers` dans le paramètre *settings* de la fonction [`start()`](../API/WebServerClass.md#start) du serveur Web,
- l'objet serveur Web contient de nouvelles propriétés [`rules`](../API/WebServerClass.md#rules) et [`handlers`](../API/WebServerClass.md#handlers).
- Nouveaux [événements ORDA sur les données](../ORDA/orda-events.md) : validateSave, saving, afterSave, validateDrop, dropping, afterDrop.
+- Support of the new [`restrictedByDefault` property](../ORDA/privileges.md#restriction-modes) in the `roles.json` file to block access by default to all resources without explicit permission.
- Nouvelle option permettant d'utiliser les certificats du Windows Certificate Store au lieu d'un dossier de certificats locaux dans les classes [`HTTPRequest`](../API/HTTPRequestClass.md#4dhttprequestnew) et [`HTTPAgent`](../API/HTTPAgentClass.md#4dhttpagentnew).
- Client/serveur :
- Vous pouvez afficher des pages Qodly dans des zones Web et [partager la session du client distant](../Desktop/clientServer.md#sharing-the-session-with-qodly-pages-in-web-areas).
diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-21/ORDA/privileges.md b/i18n/fr/docusaurus-plugin-content-docs/version-21/ORDA/privileges.md
index 8357f0fdab2d8c..c9fe27abd154c3 100644
--- a/i18n/fr/docusaurus-plugin-content-docs/version-21/ORDA/privileges.md
+++ b/i18n/fr/docusaurus-plugin-content-docs/version-21/ORDA/privileges.md
@@ -27,27 +27,21 @@ Si un utilisateur tente d'exécuter une action et ne dispose pas des droits d'ac
Vous pouvez assigner des actions de permission spécifiques aux ressources suivantes dans votre projet :
-- le datastore
-- une dataclass
-- un attribut (y compris calculé et alias)
-- une fonction de classe du modèle de données
-- une fonction [singleton](../REST/$singleton.md)
+- the [datastore](../ORDA/dsMapping.md#datastore)
+- the [dataclasses](../ORDA/dsMapping.md#dataclass)
+- [attributes](../ORDA/dsMapping.md#attribute) (including [computed](./ordaClasses.md#computed-attributes-1) and [alias](./ordaClasses.md#alias-attributes-1))
+- functions of the [data model classes](../ORDA/ordaClasses.md)
+- [singleton](../REST/$singleton.md) functions
Chaque fois qu'on accède à une ressource dans une session (quelle que soit la manière dont on y accède), 4D vérifie que la session dispose des autorisations appropriées et rejette l'accès s'il n'est pas autorisé.
-Une action de permission définie à un certain niveau est héritée par défaut aux niveaux inférieurs, mais plusieurs niveaux de permissions peuvent être définis :
-
-- Une action de permission définie au niveau du datastore est automatiquement assignée à toutes les dataclass. L'action de permission *execute* définie au niveau du datastore s'applique à toutes les fonctions du projet, y compris aux fonctions [singleton](../REST/$singleton.md).
-- Une action de permission définie au niveau dataclass remplace le paramétrage du datastore (le cas échéant). Par défaut, tous les attributs de la dataclass héritent des permissions de la dataclass.
-- Contrairement aux permissions des dataclass, une action de permission définie au niveau de l'attribut ne remplace pas la permission de la dataclass parente, mais y est ajoutée. Par exemple, si vous avez attribué le privilège "général" à une dataclass et le privilège "détail" à un attribut de la dataclass, les deux privilèges, "général" et "détail", doivent être définis dans la session afin d'accéder à l'attribut.
+## Permissions
-:::info
+A permission is the ability to do an action on a resource. For example, *execute the ds.myTable.myFunction()* represents a **permission**. Permissions are defined for the project in the [`roles.json`](#rolesjson-file) file. Each permission can be given to one or more [privileges](#privileges-and-roles).
-Les permissions contrôlent l'accès aux objets ou fonctions du datastore. Si vous voulez filtrer les données de lecture selon certains critères, vous pouvez envisager d'utiliser les [entity selections restreintes](entities.md#restricting-entity-selections) qui peuvent être plus appropriées dans ce cas.
+When **no specific permission** has been defined for a resource, access to the resource may be automatically **unrestricted** or **restricted** depending on the [default mode defined for the project](#restriction-modes).
-:::
-
-## Actions de permission
+### Actions de permission
Les actions disponibles sont liées à la ressource cible.
@@ -73,6 +67,65 @@ Les actions disponibles sont liées à la ressource cible.
Le paramétrage des permissions nécessite d'être cohérent, en particulier les permissions **update** et **drop** ont également besoin d'une permission **read** (mais **create** n'en a pas besoin).
+### Inherited permissions
+
+Une action de permission définie à un certain niveau est héritée par défaut aux niveaux inférieurs, mais plusieurs niveaux de permissions peuvent être définis :
+
+- Une action de permission définie au niveau du datastore est automatiquement assignée à toutes les dataclass. L'action de permission *execute* définie au niveau du datastore s'applique à toutes les fonctions du projet, y compris aux fonctions [singleton](../REST/$singleton.md).
+- Une action de permission définie au niveau dataclass remplace le paramétrage du datastore (le cas échéant). Par défaut, tous les attributs de la dataclass héritent des permissions de la dataclass.
+- Contrairement aux permissions des dataclass, une action de permission définie au niveau de l'attribut ne remplace pas la permission de la dataclass parente, mais y est ajoutée. Par exemple, si vous avez attribué le privilège "général" à une dataclass et le privilège "détail" à un attribut de la dataclass, les deux privilèges, "général" et "détail", doivent être définis dans la session afin d'accéder à l'attribut.
+
+:::info
+
+Les permissions contrôlent l'accès aux objets ou fonctions du datastore. Si vous voulez filtrer les données de lecture selon certains critères, vous pouvez envisager d'utiliser les [entity selections restreintes](entities.md#restricting-entity-selections) qui peuvent être plus appropriées dans ce cas.
+
+:::
+
+### Attribution de permissions aux fonctions de la classe ORDA
+
+Lors de la configuration des permissions, les fonctions de classe ORDA sont déclarées dans l'élément `applyTo` en utilisant la syntaxe suivante :
+
+```json
+.
+```
+
+Par exemple, si vous voulez appliquer une permission à la fonction suivante :
+
+```4d
+// cs.CityEntity class
+Class extends Entity
+ Function getPopulation() : Integer
+ ...
+```
+
+... vous devez écrire :
+
+```json
+"applyTo":"City.getPopulation"
+```
+
+Cela signifie que vous ne pouvez pas utiliser les mêmes noms de fonctions dans les différentes classes ORDA (entité, entity selection, dataclass) si vous souhaitez que des privilèges leur soient attribués. Dans ce cas, vous devez utiliser des noms de fonction distincts. Par exemple, si vous avez créé une fonction "drop" dans les classes `cs.CityEntity` et `cs.CitySelection`, vous devez leur donner des noms différents tels que `dropEntity()` et `dropSelection()`. Vous pouvez ensuite écrire dans le fichier "roles.json" :
+
+```json
+ "permissions": {
+ "allowed": [
+ {
+ "applyTo": "City.dropEntity",
+ "type": "method",
+ "promote": [
+ "name"
+ ]
+ },
+ {
+ "applyTo": "City.dropSelection",
+ "type": "method",
+ "promote": [
+ "name"
+ ]
+ }
+ ]
+```
+
## Privilèges et Rôles
Un **privilège** est la capacité technique d'exécuter des **actions** sur des **ressources**, tandis qu'un **rôle** est un privilège public destiné à être utilisé par un administrateur. Fondamentalement, un rôle rassemble plusieurs privilèges pour définir un profil utilisateur métier. Par exemple, "manageInvoices" pourrait être un privilège tandis que "secrétaire" pourrait être un rôle (qui inclut "manageInvoices" et d'autres privilèges).
@@ -111,142 +164,106 @@ exposed Function authenticate($identifier : Text; $password : Text)->$result : T
## `roles.json`
-Le fichier `roles.json` décrit l'ensemble des paramètres de sécurité du projet.
-
-### Fichier par défaut
+The `roles.json` file describes the whole web security settings for the project. La syntaxe du fichier `roles.json` est la suivante:
+
+| Nom de propriété | | | Type | Obligatoire | Description |
+| ------------------- | ----------------------------------------------------------------------------------- | -------------------------------------------------------------------------------- | -------------------------------- | ----------- | ---------------------------------------------------------------------------------------------------------------------------------- |
+| privileges | | | Collection d'objets `privilege` | X | Liste de privilèges définis |
+| | \[].privilege | | Text | | Nom de privilège |
+| | \[].includes | | Collection de chaînes | | Liste de noms de privilèges inclus |
+| roles | | | Collection d'objets `role` | | Liste de rôles définis |
+| | \[].role | | Text | | Nom de rôle |
+| | \[].privileges | | Collection de chaînes | | Liste de noms de privilèges inclus |
+| permissions | | | Object | X | Liste d'actions autorisées |
+| | allowed | | Collection d'objets `permission` | | Liste de permissions autorisées |
+| | | \[].applyTo | Text | X | Nom de [ressource](#resources) cible |
+| | | \[].type | Text | X | Type de [ressource](#ressources) : "datastore", "dataclass", "attribute", "method", "singletonMethod", "singleton" |
+| | | \[].read | Collection de chaînes | | Liste de privilèges |
+| | | \[].create | Collection de chaînes | | Liste de privilèges |
+| | | \[].update | Collection de chaînes | | Liste de privilèges |
+| | | \[].drop | Collection de chaînes | | Liste de privilèges |
+| | | \[].execute | Collection de chaînes | | Liste de privilèges |
+| | | \[].promote | Collection de chaînes | | Liste de privilèges |
+| restrictedByDefault | | | Boolean | | If true, access to resources without explicit permissions is denied |
+| forceLogin | | | Boolean | | If true, enables ["forceLogin" mode](../REST/authUsers.md#force-login-mode) |
-Lorsque vous créez un projet, un fichier `roles.json` par défaut est créé à l'emplacement suivant : `/Project/Sources/` (voir la section [Architecture](../Project/architecture.md#sources)).
+:::caution Rappel
-Le fichier par défaut a le contenu suivant :
+- Le nom de privilège "WebAdmin" est réservé à l'application. Il est déconseillé d'utiliser ce nom pour les privilèges personnalisés.
+- `privileges` and `roles` names are case-insensitive.
-```json title="/Project/Sources/roles.json"
+:::
-{
- "privileges": [
- {
- "privilege": "all",
- "includes": []
- }
- ],
-
- "roles": [],
-
- "permissions": {
- "allowed": [
- {
- "applyTo": "ds",
- "type": "datastore",
- "read": ["all"],
- "create": ["all"],
- "update": ["all"],
- "drop": ["all"],
- "execute": ["all"],
- "promote": ["all"]
- }
- ]
- },
-
- "forceLogin": true
+### Default File Location and Content
-}
+When a new project is created, a default `roles.json` file is generated at:
+```
+/Project/Sources/
```
-Pour un niveau de sécurité maximal, le privilège "all" est attribué à toutes les autorisations dans le datastore, ce qui signifie que l'accès aux données sur l'ensemble de l'objet `ds` est désactivé par défaut. Le principe est le suivant : attribuer une autorisation, c'est comme mettre un verrou sur une porte. Seules les sessions disposant d'un privilège et de la clé correspondante (c'est-à-dire d'une permission) pourront ouvrir la serrure.
-Il est recommandé de ne pas modifier ou utiliser ce privilège de verrouillage, mais d'ajouter des permissions spécifiques à chaque ressource que vous souhaitez rendre disponible à partir de requêtes web ou REST ([voir l'exemple ci-dessous](#example-of-privilege-configuration)).
+Voir la section [Architecture](../Project/architecture.md#sources) .
-:::caution
+Default content:
-Si aucun paramètre spécifique n'est défini dans le fichier `roles.json`, les accès ne sont pas limités. Cette configuration vous permet de développer l'application sans avoir à vous soucier des accès, mais est fortement déconseillée dans un environnement de production.
+```json title="/Project/Sources/roles.json"
-:::
+{
+ "privileges": [
+ ],
+ "roles": [
+ ],
+ "permissions": {
+ "allowed": [
+ {
+ "applyTo": "ds",
+ "type": "datastore",
+ "read": [],
+ "create": [],
+ "update": [],
+ "drop": [],
+ "execute": [],
+ "promote": []
+ }
+ ]
+ },
+ "restrictedByDefault": false,
+ "forceLogin": false
+}
+```
:::note Compatibilité
Dans les versions précédentes, le fichier `roles.json` n'était pas créé par défaut. Depuis 4D 20 R6, lors de l'ouverture d'un projet existant qui ne contient pas de fichier `roles.json` ou les paramètres `"forceLogin" : true`, le bouton **Activer l'authentification REST via la fonction ds.authentify()** est disponible dans la page [**Fonctionnalités Web** de la boîte de dialogue Paramètres](../settings/web.md#access). Ce bouton met automatiquement à jour vos paramètres de sécurité (vous devrez peut-être modifier votre code, [voir cet article de blog](https://blog.4d.com/force-login-becomes-default-for-all-rest-auth/)).
+
:::
:::note Qodly Studio
-Dans Qodly Studio for 4D, le mode peut être défini en utilisant l'option [**Force login**](../WebServer/qodly-studio.md#force-login) dans l'onglet Privileges.
+In Qodly Studio for 4D, the login mode can be set using the [**Force login** option](https://developer.4d.com/qodly/4DQodlyPro/force-login) in the Roles and Privileges panel.
:::
-### Syntaxe
-
-La syntaxe du fichier `roles.json` est la suivante:
-
-| Nom de propriété | | | Type | Obligatoire | Description |
-| ---------------- | ----------------------------------------------------------------------------------- | -------------------------------------------------------------------------------- | -------------------------------- | ----------- | ---------------------------------------------------------------------------------------------------------------------------------- |
-| privileges | | | Collection d'objets `privilege` | X | Liste de privilèges définis |
-| | \[].privilege | | Text | | Nom de privilège |
-| | \[].includes | | Collection de chaînes | | Liste de noms de privilèges inclus |
-| roles | | | Collection d'objets `role` | | Liste de rôles définis |
-| | \[].role | | Text | | Nom de rôle |
-| | \[].privileges | | Collection de chaînes | | Liste de noms de privilèges inclus |
-| permissions | | | Object | X | Liste d'actions autorisées |
-| | allowed | | Collection d'objets `permission` | | Liste de permissions autorisées |
-| | | \[].applyTo | Text | X | Nom de [ressource](#resources) cible |
-| | | \[].type | Text | X | Type de [ressource](#ressources) : "datastore", "dataclass", "attribute", "method", "singletonMethod", "singleton" |
-| | | \[].read | Collection de chaînes | | Liste de privilèges |
-| | | \[].create | Collection de chaînes | | Liste de privilèges |
-| | | \[].update | Collection de chaînes | | Liste de privilèges |
-| | | \[].drop | Collection de chaînes | | Liste de privilèges |
-| | | \[].execute | Collection de chaînes | | Liste de privilèges |
-| | | \[].promote | Collection de chaînes | | Liste de privilèges |
-| forceLogin | | | Boolean | | True pour activer le [mode "forceLogin"](../REST/authUsers.md#force-login-mode) |
-
-:::caution Rappel
-
-- Le nom de privilège "WebAdmin" est réservé à l'application. Il est déconseillé d'utiliser ce nom pour les privilèges personnalisés.
-- Les noms `privileges` et `roles` sont insensibles à la casse.
+## Restriction Modes
-:::
+The `restrictedByDefault` property configures how every [resource](#resources) are accessed when [no specific permission is defined for it](#permission):
-#### Attribution de permissions aux fonctions de la classe ORDA
+- **Unrestricted mode** (`restrictedByDefault`: **false**): Resources without defined permissions are accessible to all requests. This mode is suitable for development environments where access can be gradually restricted.
+- **Restricted mode** (`restrictedByDefault`: **true**): Resources without defined permissions are blocked by default. This mode is recommended for production environments where access must be explicitly granted.
-Lors de la configuration des permissions, les fonctions de classe ORDA sont déclarées dans l'élément `applyTo` en utilisant la syntaxe suivante :
-
-```json
-.
-```
+:::note Compatibilité
-Par exemple, si vous voulez appliquer une permission à la fonction suivante :
+- When **creating a new project**, the `restrictedByDefault` property is set to **false** in the *roles.json* file (see below). Keep in mind that this configuration is tailored for quick start and smooth development. In production environment, [it is recommended to set the `restrictedByDefault` and `forceLogin` properties to **true**](#configuring-restrictedbydefault-and-forcelogin-properties).
+- In **projects converted from previous releases**; when enabling access to Qodly Studio using the [One-click configuration dialog](https://developer.4d.com/qodly/4DQodlyPro/gettingStarted#one-click-configuration), the `restrictedByDefault` property is added with value **true** in the *roles.json* file.
-```4d
-// cs.CityEntity class
-Class extends Entity
- Function getPopulation() : Integer
- ...
-```
+:::
-... vous devez écrire :
+### Recommended Configuration
-```json
-"applyTo":"City.getPopulation"
-```
+Depending on your environment, the recommended settings are:
-Cela signifie que vous ne pouvez pas utiliser les mêmes noms de fonctions dans les différentes classes ORDA (entité, entity selection, dataclass) si vous souhaitez que des privilèges leur soient attribués. Dans ce cas, vous devez utiliser des noms de fonction distincts. Par exemple, si vous avez créé une fonction "drop" dans les classes `cs.CityEntity` et `cs.CitySelection`, vous devez leur donner des noms différents tels que `dropEntity()` et `dropSelection()`. Vous pouvez ensuite écrire dans le fichier "roles.json" :
-
-```json
- "permissions": {
- "allowed": [
- {
- "applyTo": "City.dropEntity",
- "type": "method",
- "promote": [
- "name"
- ]
- },
- {
- "applyTo": "City.dropSelection",
- "type": "method",
- "promote": [
- "name"
- ]
- }
- ]
-```
+- **Production**: Set both `restrictedByDefault` and [`forceLogin`](../REST/authUsers.md#force-login-mode) to **true**. This ensures maximum security by requiring user authentication and explicitly defined permissions for resource access.
+- **Development**: Set both `restrictedByDefault` and [`forceLogin`](../REST/authUsers.md#force-login-mode) to **false**. This allows easier access during development and debugging, with the possibility to gradually apply restrictions.
### `Roles_Errors.json`
@@ -267,93 +284,28 @@ End if
## Exemple de configuration de privilèges
-La bonne pratique est de garder tous les accès aux données verrouillés par défaut grâce au privilège "all" et de configurer le fichier `roles.json` pour n'ouvrir les parties contrôlées qu'aux sessions autorisées. Par exemple, pour autoriser certains accès aux sessions "guest" :
-
```json title="/Project/Sources/roles.json"
{
- "privileges": [
- {
- "privilege": "all",
- "includes": []
- }
- ],
- "roles": [],
- "permissions": {
- "allowed": [
- {
- "applyTo": "ds",
- "type": "datastore",
- "read": [
- "all"
- ],
- "create": [
- "all"
- ],
- "update": [
- "all"
- ],
- "drop": [
- "all"
- ],
- "execute": [
- "all"
- ],
- "promote": [
- "all"
- ]
- },
- {
- "applyTo": "ds.loginAs",
- "type": "method",
- "execute": [
- "guest"
- ]
- },
- {
- "applyTo": "ds.hasPrivilege",
- "type": "method",
- "execute": [
- "guest"
- ]
- },
- {
- "applyTo": "ds.clearPrivileges",
- "type": "method",
- "execute": [
- "guest"
- ]
- },
- {
- "applyTo": "ds.isGuest",
- "type": "method",
- "execute": [
- "guest"
- ]
- },
- {
- "applyTo": "ds.getPrivileges",
- "type": "method",
- "execute": [
- "guest"
- ]
- },
- {
- "applyTo": "ds.setAllPrivileges",
- "type": "method",
- "execute": [
- "guest"
- ]
- },
- {
- "applyTo": "mySingletonClass.createID",
- "type": "singletonMethod",
- "execute": [
- "guest"
- ]
- }
- ]
- },
- "forceLogin": true
+ "forceLogin": true,
+ "restrictedByDefault": true,
+ "permissions": {
+ "allowed": [
+ {
+ "applyTo": "People",
+ "type": "dataclass",
+ "read": [
+ "viewPeople"
+ ]
+ }
+ ]
+ },
+ "privileges": [
+ {
+ "privilege": "viewPeople",
+ "includes": []
+ }
+ ],
+ "roles": []
}
```
diff --git a/i18n/ja/docusaurus-plugin-content-docs/current/API/SystemWorkerClass.md b/i18n/ja/docusaurus-plugin-content-docs/current/API/SystemWorkerClass.md
index 89c889f5096c76..ae195a59ea79d4 100644
--- a/i18n/ja/docusaurus-plugin-content-docs/current/API/SystemWorkerClass.md
+++ b/i18n/ja/docusaurus-plugin-content-docs/current/API/SystemWorkerClass.md
@@ -161,7 +161,7 @@ var $sw : 4D.SystemWorker
$sw:=4D.SystemWorker.new($mydoc)
```
-4. カレントディレクトリでコマンドを実行し、メッセージそ送信します:
+4. カレントディレクトリでコマンドを実行し、メッセージを送信します:
```4d
var $param : Object
diff --git a/i18n/ja/docusaurus-plugin-content-docs/current/ORDA/privileges.md b/i18n/ja/docusaurus-plugin-content-docs/current/ORDA/privileges.md
index 7c132e1778a823..cd4fbfc0254764 100644
--- a/i18n/ja/docusaurus-plugin-content-docs/current/ORDA/privileges.md
+++ b/i18n/ja/docusaurus-plugin-content-docs/current/ORDA/privileges.md
@@ -27,27 +27,21 @@ Webユーザーまたは RESTユーザーがログインすると、そのセッ
プロジェクト内の以下のリソースに対して、許諾アクションと権限名を割り当てることができます (この設定をパーミッションと呼びます):
-- データストア
-- データクラス
-- 属性 (計算属性およびエイリアス属性を含む)
-- データモデルクラス関数
-- [シングルトン](../REST/$singleton.md)関数
+- the [datastore](../ORDA/dsMapping.md#datastore)
+- the [dataclasses](../ORDA/dsMapping.md#dataclass)
+- [attributes](../ORDA/dsMapping.md#attribute) (including [computed](./ordaClasses.md#computed-attributes-1) and [alias](./ordaClasses.md#alias-attributes-1))
+- functions of the [data model classes](../ORDA/ordaClasses.md)
+- [singleton](../REST/$singleton.md) functions
セッションがリソースにアクセスするたびに (アクセス形式に関係なく)、4D はセッションの権限を確認し、許可されていない場合にはアクセスを拒否します。
-あるレベルにおいて定義されたパーミッションは基本的に下位レベルに継承されますが、パーミッションは複数のレベルで設定することもできます:
-
-- データストアレベルで定義されたパーミッションは、自動的にすべてのデータクラスに割り当てられます。 データストアレベルで定義されたパーミッションは、自動的にすべてのデータクラスに割り当てられます。 データストアレベルで定義された*execute* 権限アクションは、[シングルトン](../REST/$singleton.md) 関数を含めてプロジェクトの全ての関数に対して適用されます。
-- データクラスレベルで定義されたパーミッションは、データストアの設定をオーバーライドします (あれば)。 デフォルトでは、データクラスのすべての属性が、データクラスのパーミッションを継承します。
-- データクラスとは異なり、属性レベルで定義されたパーミッションは、親のデータクラスの設定をオーバーライドするのではなく、それに追加されます。 たとえば、同じ許諾アクションに対し、データクラスのレベルでは "general" という権限名を、データクラスの属性のレベルでは "detail" という権限名を割り当てた場合、その属性にアクセスするには、セッションに "general" と "detail" の両方の権限が設定されている必要があります。
+## 権限
-:::info
+A permission is the ability to do an action on a resource. For example, *execute the ds.myTable.myFunction()* represents a **permission**. Permissions are defined for the project in the [`roles.json`](#rolesjson-file) file. Each permission can be given to one or more [privileges](#privileges-and-roles).
-パーミッションは、データストアオブジェクトや関数へのアクセスを制御します。 特定の条件に基づいて読み取りデータをフィルタリングしたい場合は、[制限付エンティティセレクション](entities.md#制限付エンティティセレクション) の利用がより適切かもしれません。
+When **no specific permission** has been defined for a resource, access to the resource may be automatically **unrestricted** or **restricted** depending on the [default mode defined for the project](#restriction-modes).
-:::
-
-## 許諾アクション
+### 許諾アクション
利用可能なアクションは対象となるリソースによります。
@@ -73,6 +67,65 @@ Webユーザーまたは RESTユーザーがログインすると、そのセッ
権限の設定には一貫性が必要です。特に、**update** および **drop** 権限は**read** 権限も必要とします(ただし**create** はそれを必要としません)。
+### Inherited permissions
+
+あるレベルにおいて定義されたパーミッションは基本的に下位レベルに継承されますが、パーミッションは複数のレベルで設定することもできます:
+
+- データストアレベルで定義されたパーミッションは、自動的にすべてのデータクラスに割り当てられます。 データストアレベルで定義されたパーミッションは、自動的にすべてのデータクラスに割り当てられます。 データストアレベルで定義された*execute* 権限アクションは、[シングルトン](../REST/$singleton.md) 関数を含めてプロジェクトの全ての関数に対して適用されます。
+- データクラスレベルで定義されたパーミッションは、データストアの設定をオーバーライドします (あれば)。 デフォルトでは、データクラスのすべての属性が、データクラスのパーミッションを継承します。
+- データクラスとは異なり、属性レベルで定義されたパーミッションは、親のデータクラスの設定をオーバーライドするのではなく、それに追加されます。 たとえば、同じ許諾アクションに対し、データクラスのレベルでは "general" という権限名を、データクラスの属性のレベルでは "detail" という権限名を割り当てた場合、その属性にアクセスするには、セッションに "general" と "detail" の両方の権限が設定されている必要があります。
+
+:::info
+
+パーミッションは、データストアオブジェクトや関数へのアクセスを制御します。 特定の条件に基づいて読み取りデータをフィルタリングしたい場合は、[制限付エンティティセレクション](entities.md#制限付エンティティセレクション) の利用がより適切かもしれません。
+
+:::
+
+### ORDA クラス関数の権限の設定
+
+When configuring permissions, ORDA class functions are declared in the `applyTo` element using the following syntax:
+
+```json
+.
+```
+
+For example, if you want to apply a permission to the following function:
+
+```4d
+// cs.CityEntity class
+Class extends Entity
+ Function getPopulation() : Integer
+ ...
+```
+
+... 以下のように記述します:
+
+```json
+"applyTo":"City.getPopulation"
+```
+
+It means that you cannot use the same function names in the various ORDA classes (entity, entity selection, dataclass) if you want them to be assigned privileges. In this case, you need to use distinct function names. For example, if you have created a "drop" function in both `cs.CityEntity` and `cs.CitySelection` classes, you need to give them different names such as `dropEntity()` and `dropSelection()`. You can then write in the "roles.json" file:
+
+```json
+ "permissions": {
+ "allowed": [
+ {
+ "applyTo": "City.dropEntity",
+ "type": "method",
+ "promote": [
+ "name"
+ ]
+ },
+ {
+ "applyTo": "City.dropSelection",
+ "type": "method",
+ "promote": [
+ "name"
+ ]
+ }
+ ]
+```
+
## 権限とロール
**権限** とは、**リソース** に対して **アクション** を実行する技術的な能力であり、**ロール** は、管理者が使用するために公開された権限のことです。 基本的にロールとは、ビジネスユーザーのプロフィールを定義するためにいくつかの権限を集めたものです。 たとえば、"manageInvoices" (請求書管理) は権限の例で、"secretary" (秘書) は ("manageInvoices" および他の権限を持つ) ロールの例です。 基本的にロールとは、ビジネスユーザーのプロフィールを定義するためにいくつかの権限を集めたものです。 たとえば、"manageInvoices" (請求書管理) は権限の例で、"secretary" (秘書) は ("manageInvoices" および他の権限を持つ) ロールの例です。
@@ -112,142 +165,106 @@ exposed Function authenticate($identifier : Text; $password : Text)->$result : T
## `roles.json` ファイル
-`roles.json` ファイルは、プロジェクトのセキュリティ設定の全体を記述します。
-
-### デフォルトファイル
+The `roles.json` file describes the whole web security settings for the project. `roles.json` ファイルの構文は次のとおりです:
+
+| プロパティ名 | | | 型 | 必須 | 説明 |
+| ------------------- | ----------------------------------------------------------------------------------- | -------------------------------------------------------------------------------- | ------------------------------- | -- | ------------------------------------------------------------------------------------------------------------------ |
+| privileges | | | `privilege` オブジェクトの Collection | X | 定義された権限のリスト |
+| | \[].privilege | | Text | | アクセス権の名称 |
+| | \[].includes | | String の Collection | | 内包する権限名のリスト |
+| roles | | | `role` オブジェクトの Collection | | 定義されたロールのリスト |
+| | \[].role | | Text | | ロール名 |
+| | \[].privileges | | String の Collection | | 内包する権限名のリスト |
+| permissions | | | Object | X | 設定されたパーミッションのリスト |
+| | allowed | | `permission` オブジェクトの Collection | | 許可されたパーミッションのリスト |
+| | | \[].applyTo | Text | X | 対象の [リソース](#リソース) 名 |
+| | | \[].type | Text | X | [リソース](#リソース) タイプ: "datastore", "dataclass", "attribute", "method", "singletonMethod", "singleton" |
+| | | \[].read | String の Collection | | 権限名のリスト |
+| | | \[].create | String の Collection | | 権限名のリスト |
+| | | \[].update | String の Collection | | 権限名のリスト |
+| | | \[].drop | String の Collection | | 権限名のリスト |
+| | | \[].execute | String の Collection | | 権限名のリスト |
+| | | \[].promote | String の Collection | | 権限名のリスト |
+| restrictedByDefault | | | Boolean | | If true, access to resources without explicit permissions is denied |
+| forceLogin | | | Boolean | | If true, enables ["forceLogin" mode](../REST/authUsers.md#force-login-mode) |
-プロジェクトを作成すると、デフォルトの `roles.json` ファイルが次の場所に作成されます: `/Project/Sources/` ([アーキテクチャー](../Project/architecture.md#sources) 参照)。
+:::caution 注記
-デフォルトのファイルには次の内容が含まれています:
+- "WebAdmin" 権限名は、アプリケーションによって予約されています。 この名前をカスタムの権限名に使用することは推奨されません。
+- `privileges` and `roles` names are case-insensitive.
-```json title="/Project/Sources/roles.json"
+:::
-{
- "privileges": [
- {
- "privilege": "all",
- "includes": []
- }
- ],
-
- "roles": [],
-
- "permissions": {
- "allowed": [
- {
- "applyTo": "ds",
- "type": "datastore",
- "read": ["all"],
- "create": ["all"],
- "update": ["all"],
- "drop": ["all"],
- "execute": ["all"],
- "promote": ["all"]
- }
- ]
- },
-
- "forceLogin": true
+### Default File Location and Content
-}
+When a new project is created, a default `roles.json` file is generated at:
+```
+/Project/Sources/
```
-For a highest level of security, the "all" privilege is assigned to all permissions in the datastore, thus data access on the whole `ds` object is disabled by default. The principle is as follows: assigning a permission is like putting a lock on a door. Only sessions with privilege having the corresponding key (i.e., a permission) will be able to open the lock.
-この "none" 権限はセキュリティのため、使用も変更もしないことが推奨されています。Web や RESTリクエストから利用可能にしたい各リソースには、それ専用の権限を新たに追加することが推奨されています ([以下の例を参照](#権限設定の例))。
+[アーキテクチャー](../Project/architecture.md#sources) を参照ください。
-:::caution
+Default content:
-`roles.json` ファイルに特定のパラメーターが定義されていない場合、アクセスは制限されません。 これにより、アクセスを気にすることなくアプリケーションを開発することができますが、本番環境では推奨されていません。
+```json title="/Project/Sources/roles.json"
-:::
+{
+ "privileges": [
+ ],
+ "roles": [
+ ],
+ "permissions": {
+ "allowed": [
+ {
+ "applyTo": "ds",
+ "type": "datastore",
+ "read": [],
+ "create": [],
+ "update": [],
+ "drop": [],
+ "execute": [],
+ "promote": []
+ }
+ ]
+ },
+ "restrictedByDefault": false,
+ "forceLogin": false
+}
+```
:::note 互換性
以前のリリースでは、`roles.json` ファイルはデフォルトで作成されませんでした。 4D 20 R6 以降、`roles.json`ファイルを含まない、または `"forceLogin": true` の設定が含まれていない既存のプロジェクトを開く場合、[設定ダイアログボックスの **Web機能** ページ](../settings/web.md#アクセス権) で **ds.authentify() 関数を通しての REST認証を有効化** ボタンが利用可能になります。 このボタンはセキュリティ設定を自動的にアップグレードします (コードを修正する必要があるかもしれません。[このブログ記事を参照ください](https://blog.4d.com/ja/force-login-becomes-default-for-all-rest-auth))。
+
:::
:::note Qodly Studio
-Qodly Studio for 4D では、権限パネルの [**強制ログイン**オプション](../WebServer/qodly-studio.md#force-login) を使用してログインモードを設定することができます。
+In Qodly Studio for 4D, the login mode can be set using the [**Force login** option](https://developer.4d.com/qodly/4DQodlyPro/force-login) in the Roles and Privileges panel.
:::
-### シンタックス
-
-`roles.json` ファイルの構文は次のとおりです:
-
-| プロパティ名 | | | 型 | 必須 | 説明 |
-| ----------- | ----------------------------------------------------------------------------------- | -------------------------------------------------------------------------------- | ------------------------------- | -- | ------------------------------------------------------------------------------------------------------------------ |
-| privileges | | | `privilege` オブジェクトの Collection | X | 定義された権限のリスト |
-| | \[].privilege | | Text | | アクセス権の名称 |
-| | \[].includes | | String の Collection | | 内包する権限名のリスト |
-| roles | | | `role` オブジェクトの Collection | | 定義されたロールのリスト |
-| | \[].role | | Text | | ロール名 |
-| | \[].privileges | | String の Collection | | 内包する権限名のリスト |
-| permissions | | | Object | X | 設定されたパーミッションのリスト |
-| | allowed | | `permission` オブジェクトの Collection | | 許可されたパーミッションのリスト |
-| | | \[].applyTo | Text | X | 対象の [リソース](#リソース) 名 |
-| | | \[].type | Text | X | [リソース](#リソース) タイプ: "datastore", "dataclass", "attribute", "method", "singletonMethod", "singleton" |
-| | | \[].read | String の Collection | | 権限名のリスト |
-| | | \[].create | String の Collection | | 権限名のリスト |
-| | | \[].update | String の Collection | | 権限名のリスト |
-| | | \[].drop | String の Collection | | 権限名のリスト |
-| | | \[].execute | String の Collection | | 権限名のリスト |
-| | | \[].promote | String の Collection | | 権限名のリスト |
-| forceLogin | | | Boolean | | ["forceLogin" モード](../REST/authUsers.md#force-login-mode) を有効にする場合は true |
-
-:::caution 注記
-
-- "WebAdmin" 権限名は、アプリケーションによって予約されています。 この名前をカスタムの権限名に使用することは推奨されません。
-- `privileges` および `roles` の名称においては文字の大小が区別されます。
+## Restriction Modes
-:::
+The `restrictedByDefault` property configures how every [resource](#resources) are accessed when [no specific permission is defined for it](#permission):
-#### Assigning permissions to ORDA class functions
+- **Unrestricted mode** (`restrictedByDefault`: **false**): Resources without defined permissions are accessible to all requests. This mode is suitable for development environments where access can be gradually restricted.
+- **Restricted mode** (`restrictedByDefault`: **true**): Resources without defined permissions are blocked by default. This mode is recommended for production environments where access must be explicitly granted.
-When configuring permissions, ORDA class functions are declared in the `applyTo` element using the following syntax:
-
-```json
-.
-```
+:::note 互換性
-For example, if you want to apply a permission to the following function:
+- When **creating a new project**, the `restrictedByDefault` property is set to **false** in the *roles.json* file (see below). Keep in mind that this configuration is tailored for quick start and smooth development. In production environment, [it is recommended to set the `restrictedByDefault` and `forceLogin` properties to **true**](#configuring-restrictedbydefault-and-forcelogin-properties).
+- In **projects converted from previous releases**; when enabling access to Qodly Studio using the [One-click configuration dialog](https://developer.4d.com/qodly/4DQodlyPro/gettingStarted#one-click-configuration), the `restrictedByDefault` property is added with value **true** in the *roles.json* file.
-```4d
-// cs.CityEntity class
-Class extends Entity
- Function getPopulation() : Integer
- ...
-```
+:::
-... you have to write:
+### Recommended Configuration
-```json
-"applyTo":"City.getPopulation"
-```
+Depending on your environment, the recommended settings are:
-It means that you cannot use the same function names in the various ORDA classes (entity, entity selection, dataclass) if you want them to be assigned privileges. In this case, you need to use distinct function names. For example, if you have created a "drop" function in both `cs.CityEntity` and `cs.CitySelection` classes, you need to give them different names such as `dropEntity()` and `dropSelection()`. You can then write in the "roles.json" file:
-
-```json
- "permissions": {
- "allowed": [
- {
- "applyTo": "City.dropEntity",
- "type": "method",
- "promote": [
- "name"
- ]
- },
- {
- "applyTo": "City.dropSelection",
- "type": "method",
- "promote": [
- "name"
- ]
- }
- ]
-```
+- **Production**: Set both `restrictedByDefault` and [`forceLogin`](../REST/authUsers.md#force-login-mode) to **true**. This ensures maximum security by requiring user authentication and explicitly defined permissions for resource access.
+- **Development**: Set both `restrictedByDefault` and [`forceLogin`](../REST/authUsers.md#force-login-mode) to **false**. This allows easier access during development and debugging, with the possibility to gradually apply restrictions.
### `Roles_Errors.json` ファイル
@@ -269,93 +286,28 @@ End if
## 権限設定の例
-The good practice is to keep all data access locked by default thanks to the "all" privilege and to configure the `roles.json` file to only open controlled parts to authorized sessions. For example, to allow some accesses to "guest" sessions:
-
```json title="/Project/Sources/roles.json"
{
- "privileges": [
- {
- "privilege": "all",
- "includes": []
- }
- ],
- "roles": [],
- "permissions": {
- "allowed": [
- {
- "applyTo": "ds",
- "type": "datastore",
- "read": [
- "all"
- ],
- "create": [
- "all"
- ],
- "update": [
- "all"
- ],
- "drop": [
- "all"
- ],
- "execute": [
- "all"
- ],
- "promote": [
- "all"
- ]
- },
- {
- "applyTo": "ds.loginAs",
- "type": "method",
- "execute": [
- "guest"
- ]
- },
- {
- "applyTo": "ds.hasPrivilege",
- "type": "method",
- "execute": [
- "guest"
- ]
- },
- {
- "applyTo": "ds.clearPrivileges",
- "type": "method",
- "execute": [
- "guest"
- ]
- },
- {
- "applyTo": "ds.isGuest",
- "type": "method",
- "execute": [
- "guest"
- ]
- },
- {
- "applyTo": "ds.getPrivileges",
- "type": "method",
- "execute": [
- "guest"
- ]
- },
- {
- "applyTo": "ds.setAllPrivileges",
- "type": "method",
- "execute": [
- "guest"
- ]
- },
- {
- "applyTo": "mySingletonClass.createID",
- "type": "singletonMethod",
- "execute": [
- "guest"
- ]
- }
- ]
- },
- "forceLogin": true
+ "forceLogin": true,
+ "restrictedByDefault": true,
+ "permissions": {
+ "allowed": [
+ {
+ "applyTo": "People",
+ "type": "dataclass",
+ "read": [
+ "viewPeople"
+ ]
+ }
+ ]
+ },
+ "privileges": [
+ {
+ "privilege": "viewPeople",
+ "includes": []
+ }
+ ],
+ "roles": []
}
```
diff --git a/i18n/ja/docusaurus-plugin-content-docs/current/REST/configuration.md b/i18n/ja/docusaurus-plugin-content-docs/current/REST/configuration.md
index 94a70d353e9499..f1ee2368682fda 100644
--- a/i18n/ja/docusaurus-plugin-content-docs/current/REST/configuration.md
+++ b/i18n/ja/docusaurus-plugin-content-docs/current/REST/configuration.md
@@ -70,8 +70,8 @@ REST 経由でアクセス可能なデータストアオブジェクトを制限
1. ストラクチャーエディターにて対象となるフィールドを選択し、右クリックでコンテキストメニューを開いてフィールドプロパティを選択します。
-2. フィールドの **RESTリソースとして公開** オプションの選択を解除します:
- 
+2. Uncheck the **Expose as REST resource** for the field.
+ 
Repeat this for each field whose exposure needs to be modified.
> あるフィールドが REST を通してアクセス可能であるためには、その親テーブルも公開されている必要があります。 親テーブルが公開されていない場合、各フィールドの公開設定に関わらず、すべてのフィールドがアクセス不可になります。
diff --git a/i18n/ja/docusaurus-plugin-content-docs/version-20-R10/API/SystemWorkerClass.md b/i18n/ja/docusaurus-plugin-content-docs/version-20-R10/API/SystemWorkerClass.md
index 89c889f5096c76..ae195a59ea79d4 100644
--- a/i18n/ja/docusaurus-plugin-content-docs/version-20-R10/API/SystemWorkerClass.md
+++ b/i18n/ja/docusaurus-plugin-content-docs/version-20-R10/API/SystemWorkerClass.md
@@ -161,7 +161,7 @@ var $sw : 4D.SystemWorker
$sw:=4D.SystemWorker.new($mydoc)
```
-4. カレントディレクトリでコマンドを実行し、メッセージそ送信します:
+4. カレントディレクトリでコマンドを実行し、メッセージを送信します:
```4d
var $param : Object
diff --git a/i18n/ja/docusaurus-plugin-content-docs/version-20-R10/ORDA/privileges.md b/i18n/ja/docusaurus-plugin-content-docs/version-20-R10/ORDA/privileges.md
index 4a1dcab564b42c..8e1688c5125199 100644
--- a/i18n/ja/docusaurus-plugin-content-docs/version-20-R10/ORDA/privileges.md
+++ b/i18n/ja/docusaurus-plugin-content-docs/version-20-R10/ORDA/privileges.md
@@ -201,7 +201,7 @@ Qodly Studio for 4D では、権限パネルの [**強制ログイン**オプシ
:::
-#### Assigning permissions to ORDA class functions
+#### ORDA クラス関数の権限の設定
When configuring permissions, ORDA class functions are declared in the `applyTo` element using the following syntax:
@@ -218,7 +218,7 @@ Class extends Entity
...
```
-... you have to write:
+... 以下のように記述します:
```json
"applyTo":"City.getPopulation"
diff --git a/i18n/ja/docusaurus-plugin-content-docs/version-20/Notes/updates.md b/i18n/ja/docusaurus-plugin-content-docs/version-20/Notes/updates.md
index 3b62e29954c52f..b218f9699528f3 100644
--- a/i18n/ja/docusaurus-plugin-content-docs/version-20/Notes/updates.md
+++ b/i18n/ja/docusaurus-plugin-content-docs/version-20/Notes/updates.md
@@ -11,6 +11,14 @@ title: リリースノート
:::
+## 4D 20.8 LTS
+
+#### ハイライト
+
+- [**修正リスト**](https://bugs.4d.com/fixes?version=20.8): 4D 20.8 LTS で修正されたバグのリストです ([日本語版はこちら](https://4d-jp.github.io/2024/276/release-note-version-20/))。
+
+
+
## 4D 20.7 LTS
#### ハイライト
diff --git a/i18n/ja/docusaurus-plugin-content-docs/version-21/API/SystemWorkerClass.md b/i18n/ja/docusaurus-plugin-content-docs/version-21/API/SystemWorkerClass.md
index 89c889f5096c76..ae195a59ea79d4 100644
--- a/i18n/ja/docusaurus-plugin-content-docs/version-21/API/SystemWorkerClass.md
+++ b/i18n/ja/docusaurus-plugin-content-docs/version-21/API/SystemWorkerClass.md
@@ -161,7 +161,7 @@ var $sw : 4D.SystemWorker
$sw:=4D.SystemWorker.new($mydoc)
```
-4. カレントディレクトリでコマンドを実行し、メッセージそ送信します:
+4. カレントディレクトリでコマンドを実行し、メッセージを送信します:
```4d
var $param : Object
diff --git a/i18n/ja/docusaurus-plugin-content-docs/version-21/Notes/updates.md b/i18n/ja/docusaurus-plugin-content-docs/version-21/Notes/updates.md
index e0b65d5524830a..7bdb8b1d9fa45c 100644
--- a/i18n/ja/docusaurus-plugin-content-docs/version-21/Notes/updates.md
+++ b/i18n/ja/docusaurus-plugin-content-docs/version-21/Notes/updates.md
@@ -16,6 +16,7 @@ title: リリースノート
- Web サーバーの[`start()`](../API/WebServerClass.md#start) 関数の*settings* 引数内の`handlers` プロパティを使用することで、[HTTP リクエストハンドラー](../WebServer/http-request-handler.md) を設定することができます。
- Web サーバーオブジェクトには新しい[`rules`](../API/WebServerClass.md#rules) and [`handlers`](../API/WebServerClass.md#handlers) プロパティが含まれます。
- 新しい[データに対するORDA イベント](../ORDA/orda-events.md): validateSave、saving、afterSave、validateDrop、dropping、afterDrop
+- Support of the new [`restrictedByDefault` property](../ORDA/privileges.md#restriction-modes) in the `roles.json` file to block access by default to all resources without explicit permission.
- [`HTTPRequest`](../API/HTTPRequestClass.md#4dhttprequestnew) および [`HTTPAgent`](../API/HTTPAgentClass.md#4dhttpagentnew) クラスにおいて、ローカルの証明書フォルダの代わりにWindows 証明書ストアからの証明書を使用することを許可する新しいオプション。
- クライアント/サーバー:
- Web エリア内でQodly ページを表示し、[リモートクライアントセッションを共有](../Desktop/clientServer.md#web-エリア内のqodly-ページでセッションを共有する)することができるようになりました。
diff --git a/i18n/ja/docusaurus-plugin-content-docs/version-21/ORDA/privileges.md b/i18n/ja/docusaurus-plugin-content-docs/version-21/ORDA/privileges.md
index 7c132e1778a823..cd4fbfc0254764 100644
--- a/i18n/ja/docusaurus-plugin-content-docs/version-21/ORDA/privileges.md
+++ b/i18n/ja/docusaurus-plugin-content-docs/version-21/ORDA/privileges.md
@@ -27,27 +27,21 @@ Webユーザーまたは RESTユーザーがログインすると、そのセッ
プロジェクト内の以下のリソースに対して、許諾アクションと権限名を割り当てることができます (この設定をパーミッションと呼びます):
-- データストア
-- データクラス
-- 属性 (計算属性およびエイリアス属性を含む)
-- データモデルクラス関数
-- [シングルトン](../REST/$singleton.md)関数
+- the [datastore](../ORDA/dsMapping.md#datastore)
+- the [dataclasses](../ORDA/dsMapping.md#dataclass)
+- [attributes](../ORDA/dsMapping.md#attribute) (including [computed](./ordaClasses.md#computed-attributes-1) and [alias](./ordaClasses.md#alias-attributes-1))
+- functions of the [data model classes](../ORDA/ordaClasses.md)
+- [singleton](../REST/$singleton.md) functions
セッションがリソースにアクセスするたびに (アクセス形式に関係なく)、4D はセッションの権限を確認し、許可されていない場合にはアクセスを拒否します。
-あるレベルにおいて定義されたパーミッションは基本的に下位レベルに継承されますが、パーミッションは複数のレベルで設定することもできます:
-
-- データストアレベルで定義されたパーミッションは、自動的にすべてのデータクラスに割り当てられます。 データストアレベルで定義されたパーミッションは、自動的にすべてのデータクラスに割り当てられます。 データストアレベルで定義された*execute* 権限アクションは、[シングルトン](../REST/$singleton.md) 関数を含めてプロジェクトの全ての関数に対して適用されます。
-- データクラスレベルで定義されたパーミッションは、データストアの設定をオーバーライドします (あれば)。 デフォルトでは、データクラスのすべての属性が、データクラスのパーミッションを継承します。
-- データクラスとは異なり、属性レベルで定義されたパーミッションは、親のデータクラスの設定をオーバーライドするのではなく、それに追加されます。 たとえば、同じ許諾アクションに対し、データクラスのレベルでは "general" という権限名を、データクラスの属性のレベルでは "detail" という権限名を割り当てた場合、その属性にアクセスするには、セッションに "general" と "detail" の両方の権限が設定されている必要があります。
+## 権限
-:::info
+A permission is the ability to do an action on a resource. For example, *execute the ds.myTable.myFunction()* represents a **permission**. Permissions are defined for the project in the [`roles.json`](#rolesjson-file) file. Each permission can be given to one or more [privileges](#privileges-and-roles).
-パーミッションは、データストアオブジェクトや関数へのアクセスを制御します。 特定の条件に基づいて読み取りデータをフィルタリングしたい場合は、[制限付エンティティセレクション](entities.md#制限付エンティティセレクション) の利用がより適切かもしれません。
+When **no specific permission** has been defined for a resource, access to the resource may be automatically **unrestricted** or **restricted** depending on the [default mode defined for the project](#restriction-modes).
-:::
-
-## 許諾アクション
+### 許諾アクション
利用可能なアクションは対象となるリソースによります。
@@ -73,6 +67,65 @@ Webユーザーまたは RESTユーザーがログインすると、そのセッ
権限の設定には一貫性が必要です。特に、**update** および **drop** 権限は**read** 権限も必要とします(ただし**create** はそれを必要としません)。
+### Inherited permissions
+
+あるレベルにおいて定義されたパーミッションは基本的に下位レベルに継承されますが、パーミッションは複数のレベルで設定することもできます:
+
+- データストアレベルで定義されたパーミッションは、自動的にすべてのデータクラスに割り当てられます。 データストアレベルで定義されたパーミッションは、自動的にすべてのデータクラスに割り当てられます。 データストアレベルで定義された*execute* 権限アクションは、[シングルトン](../REST/$singleton.md) 関数を含めてプロジェクトの全ての関数に対して適用されます。
+- データクラスレベルで定義されたパーミッションは、データストアの設定をオーバーライドします (あれば)。 デフォルトでは、データクラスのすべての属性が、データクラスのパーミッションを継承します。
+- データクラスとは異なり、属性レベルで定義されたパーミッションは、親のデータクラスの設定をオーバーライドするのではなく、それに追加されます。 たとえば、同じ許諾アクションに対し、データクラスのレベルでは "general" という権限名を、データクラスの属性のレベルでは "detail" という権限名を割り当てた場合、その属性にアクセスするには、セッションに "general" と "detail" の両方の権限が設定されている必要があります。
+
+:::info
+
+パーミッションは、データストアオブジェクトや関数へのアクセスを制御します。 特定の条件に基づいて読み取りデータをフィルタリングしたい場合は、[制限付エンティティセレクション](entities.md#制限付エンティティセレクション) の利用がより適切かもしれません。
+
+:::
+
+### ORDA クラス関数の権限の設定
+
+When configuring permissions, ORDA class functions are declared in the `applyTo` element using the following syntax:
+
+```json
+.
+```
+
+For example, if you want to apply a permission to the following function:
+
+```4d
+// cs.CityEntity class
+Class extends Entity
+ Function getPopulation() : Integer
+ ...
+```
+
+... 以下のように記述します:
+
+```json
+"applyTo":"City.getPopulation"
+```
+
+It means that you cannot use the same function names in the various ORDA classes (entity, entity selection, dataclass) if you want them to be assigned privileges. In this case, you need to use distinct function names. For example, if you have created a "drop" function in both `cs.CityEntity` and `cs.CitySelection` classes, you need to give them different names such as `dropEntity()` and `dropSelection()`. You can then write in the "roles.json" file:
+
+```json
+ "permissions": {
+ "allowed": [
+ {
+ "applyTo": "City.dropEntity",
+ "type": "method",
+ "promote": [
+ "name"
+ ]
+ },
+ {
+ "applyTo": "City.dropSelection",
+ "type": "method",
+ "promote": [
+ "name"
+ ]
+ }
+ ]
+```
+
## 権限とロール
**権限** とは、**リソース** に対して **アクション** を実行する技術的な能力であり、**ロール** は、管理者が使用するために公開された権限のことです。 基本的にロールとは、ビジネスユーザーのプロフィールを定義するためにいくつかの権限を集めたものです。 たとえば、"manageInvoices" (請求書管理) は権限の例で、"secretary" (秘書) は ("manageInvoices" および他の権限を持つ) ロールの例です。 基本的にロールとは、ビジネスユーザーのプロフィールを定義するためにいくつかの権限を集めたものです。 たとえば、"manageInvoices" (請求書管理) は権限の例で、"secretary" (秘書) は ("manageInvoices" および他の権限を持つ) ロールの例です。
@@ -112,142 +165,106 @@ exposed Function authenticate($identifier : Text; $password : Text)->$result : T
## `roles.json` ファイル
-`roles.json` ファイルは、プロジェクトのセキュリティ設定の全体を記述します。
-
-### デフォルトファイル
+The `roles.json` file describes the whole web security settings for the project. `roles.json` ファイルの構文は次のとおりです:
+
+| プロパティ名 | | | 型 | 必須 | 説明 |
+| ------------------- | ----------------------------------------------------------------------------------- | -------------------------------------------------------------------------------- | ------------------------------- | -- | ------------------------------------------------------------------------------------------------------------------ |
+| privileges | | | `privilege` オブジェクトの Collection | X | 定義された権限のリスト |
+| | \[].privilege | | Text | | アクセス権の名称 |
+| | \[].includes | | String の Collection | | 内包する権限名のリスト |
+| roles | | | `role` オブジェクトの Collection | | 定義されたロールのリスト |
+| | \[].role | | Text | | ロール名 |
+| | \[].privileges | | String の Collection | | 内包する権限名のリスト |
+| permissions | | | Object | X | 設定されたパーミッションのリスト |
+| | allowed | | `permission` オブジェクトの Collection | | 許可されたパーミッションのリスト |
+| | | \[].applyTo | Text | X | 対象の [リソース](#リソース) 名 |
+| | | \[].type | Text | X | [リソース](#リソース) タイプ: "datastore", "dataclass", "attribute", "method", "singletonMethod", "singleton" |
+| | | \[].read | String の Collection | | 権限名のリスト |
+| | | \[].create | String の Collection | | 権限名のリスト |
+| | | \[].update | String の Collection | | 権限名のリスト |
+| | | \[].drop | String の Collection | | 権限名のリスト |
+| | | \[].execute | String の Collection | | 権限名のリスト |
+| | | \[].promote | String の Collection | | 権限名のリスト |
+| restrictedByDefault | | | Boolean | | If true, access to resources without explicit permissions is denied |
+| forceLogin | | | Boolean | | If true, enables ["forceLogin" mode](../REST/authUsers.md#force-login-mode) |
-プロジェクトを作成すると、デフォルトの `roles.json` ファイルが次の場所に作成されます: `/Project/Sources/` ([アーキテクチャー](../Project/architecture.md#sources) 参照)。
+:::caution 注記
-デフォルトのファイルには次の内容が含まれています:
+- "WebAdmin" 権限名は、アプリケーションによって予約されています。 この名前をカスタムの権限名に使用することは推奨されません。
+- `privileges` and `roles` names are case-insensitive.
-```json title="/Project/Sources/roles.json"
+:::
-{
- "privileges": [
- {
- "privilege": "all",
- "includes": []
- }
- ],
-
- "roles": [],
-
- "permissions": {
- "allowed": [
- {
- "applyTo": "ds",
- "type": "datastore",
- "read": ["all"],
- "create": ["all"],
- "update": ["all"],
- "drop": ["all"],
- "execute": ["all"],
- "promote": ["all"]
- }
- ]
- },
-
- "forceLogin": true
+### Default File Location and Content
-}
+When a new project is created, a default `roles.json` file is generated at:
+```
+/Project/Sources/
```
-For a highest level of security, the "all" privilege is assigned to all permissions in the datastore, thus data access on the whole `ds` object is disabled by default. The principle is as follows: assigning a permission is like putting a lock on a door. Only sessions with privilege having the corresponding key (i.e., a permission) will be able to open the lock.
-この "none" 権限はセキュリティのため、使用も変更もしないことが推奨されています。Web や RESTリクエストから利用可能にしたい各リソースには、それ専用の権限を新たに追加することが推奨されています ([以下の例を参照](#権限設定の例))。
+[アーキテクチャー](../Project/architecture.md#sources) を参照ください。
-:::caution
+Default content:
-`roles.json` ファイルに特定のパラメーターが定義されていない場合、アクセスは制限されません。 これにより、アクセスを気にすることなくアプリケーションを開発することができますが、本番環境では推奨されていません。
+```json title="/Project/Sources/roles.json"
-:::
+{
+ "privileges": [
+ ],
+ "roles": [
+ ],
+ "permissions": {
+ "allowed": [
+ {
+ "applyTo": "ds",
+ "type": "datastore",
+ "read": [],
+ "create": [],
+ "update": [],
+ "drop": [],
+ "execute": [],
+ "promote": []
+ }
+ ]
+ },
+ "restrictedByDefault": false,
+ "forceLogin": false
+}
+```
:::note 互換性
以前のリリースでは、`roles.json` ファイルはデフォルトで作成されませんでした。 4D 20 R6 以降、`roles.json`ファイルを含まない、または `"forceLogin": true` の設定が含まれていない既存のプロジェクトを開く場合、[設定ダイアログボックスの **Web機能** ページ](../settings/web.md#アクセス権) で **ds.authentify() 関数を通しての REST認証を有効化** ボタンが利用可能になります。 このボタンはセキュリティ設定を自動的にアップグレードします (コードを修正する必要があるかもしれません。[このブログ記事を参照ください](https://blog.4d.com/ja/force-login-becomes-default-for-all-rest-auth))。
+
:::
:::note Qodly Studio
-Qodly Studio for 4D では、権限パネルの [**強制ログイン**オプション](../WebServer/qodly-studio.md#force-login) を使用してログインモードを設定することができます。
+In Qodly Studio for 4D, the login mode can be set using the [**Force login** option](https://developer.4d.com/qodly/4DQodlyPro/force-login) in the Roles and Privileges panel.
:::
-### シンタックス
-
-`roles.json` ファイルの構文は次のとおりです:
-
-| プロパティ名 | | | 型 | 必須 | 説明 |
-| ----------- | ----------------------------------------------------------------------------------- | -------------------------------------------------------------------------------- | ------------------------------- | -- | ------------------------------------------------------------------------------------------------------------------ |
-| privileges | | | `privilege` オブジェクトの Collection | X | 定義された権限のリスト |
-| | \[].privilege | | Text | | アクセス権の名称 |
-| | \[].includes | | String の Collection | | 内包する権限名のリスト |
-| roles | | | `role` オブジェクトの Collection | | 定義されたロールのリスト |
-| | \[].role | | Text | | ロール名 |
-| | \[].privileges | | String の Collection | | 内包する権限名のリスト |
-| permissions | | | Object | X | 設定されたパーミッションのリスト |
-| | allowed | | `permission` オブジェクトの Collection | | 許可されたパーミッションのリスト |
-| | | \[].applyTo | Text | X | 対象の [リソース](#リソース) 名 |
-| | | \[].type | Text | X | [リソース](#リソース) タイプ: "datastore", "dataclass", "attribute", "method", "singletonMethod", "singleton" |
-| | | \[].read | String の Collection | | 権限名のリスト |
-| | | \[].create | String の Collection | | 権限名のリスト |
-| | | \[].update | String の Collection | | 権限名のリスト |
-| | | \[].drop | String の Collection | | 権限名のリスト |
-| | | \[].execute | String の Collection | | 権限名のリスト |
-| | | \[].promote | String の Collection | | 権限名のリスト |
-| forceLogin | | | Boolean | | ["forceLogin" モード](../REST/authUsers.md#force-login-mode) を有効にする場合は true |
-
-:::caution 注記
-
-- "WebAdmin" 権限名は、アプリケーションによって予約されています。 この名前をカスタムの権限名に使用することは推奨されません。
-- `privileges` および `roles` の名称においては文字の大小が区別されます。
+## Restriction Modes
-:::
+The `restrictedByDefault` property configures how every [resource](#resources) are accessed when [no specific permission is defined for it](#permission):
-#### Assigning permissions to ORDA class functions
+- **Unrestricted mode** (`restrictedByDefault`: **false**): Resources without defined permissions are accessible to all requests. This mode is suitable for development environments where access can be gradually restricted.
+- **Restricted mode** (`restrictedByDefault`: **true**): Resources without defined permissions are blocked by default. This mode is recommended for production environments where access must be explicitly granted.
-When configuring permissions, ORDA class functions are declared in the `applyTo` element using the following syntax:
-
-```json
-.
-```
+:::note 互換性
-For example, if you want to apply a permission to the following function:
+- When **creating a new project**, the `restrictedByDefault` property is set to **false** in the *roles.json* file (see below). Keep in mind that this configuration is tailored for quick start and smooth development. In production environment, [it is recommended to set the `restrictedByDefault` and `forceLogin` properties to **true**](#configuring-restrictedbydefault-and-forcelogin-properties).
+- In **projects converted from previous releases**; when enabling access to Qodly Studio using the [One-click configuration dialog](https://developer.4d.com/qodly/4DQodlyPro/gettingStarted#one-click-configuration), the `restrictedByDefault` property is added with value **true** in the *roles.json* file.
-```4d
-// cs.CityEntity class
-Class extends Entity
- Function getPopulation() : Integer
- ...
-```
+:::
-... you have to write:
+### Recommended Configuration
-```json
-"applyTo":"City.getPopulation"
-```
+Depending on your environment, the recommended settings are:
-It means that you cannot use the same function names in the various ORDA classes (entity, entity selection, dataclass) if you want them to be assigned privileges. In this case, you need to use distinct function names. For example, if you have created a "drop" function in both `cs.CityEntity` and `cs.CitySelection` classes, you need to give them different names such as `dropEntity()` and `dropSelection()`. You can then write in the "roles.json" file:
-
-```json
- "permissions": {
- "allowed": [
- {
- "applyTo": "City.dropEntity",
- "type": "method",
- "promote": [
- "name"
- ]
- },
- {
- "applyTo": "City.dropSelection",
- "type": "method",
- "promote": [
- "name"
- ]
- }
- ]
-```
+- **Production**: Set both `restrictedByDefault` and [`forceLogin`](../REST/authUsers.md#force-login-mode) to **true**. This ensures maximum security by requiring user authentication and explicitly defined permissions for resource access.
+- **Development**: Set both `restrictedByDefault` and [`forceLogin`](../REST/authUsers.md#force-login-mode) to **false**. This allows easier access during development and debugging, with the possibility to gradually apply restrictions.
### `Roles_Errors.json` ファイル
@@ -269,93 +286,28 @@ End if
## 権限設定の例
-The good practice is to keep all data access locked by default thanks to the "all" privilege and to configure the `roles.json` file to only open controlled parts to authorized sessions. For example, to allow some accesses to "guest" sessions:
-
```json title="/Project/Sources/roles.json"
{
- "privileges": [
- {
- "privilege": "all",
- "includes": []
- }
- ],
- "roles": [],
- "permissions": {
- "allowed": [
- {
- "applyTo": "ds",
- "type": "datastore",
- "read": [
- "all"
- ],
- "create": [
- "all"
- ],
- "update": [
- "all"
- ],
- "drop": [
- "all"
- ],
- "execute": [
- "all"
- ],
- "promote": [
- "all"
- ]
- },
- {
- "applyTo": "ds.loginAs",
- "type": "method",
- "execute": [
- "guest"
- ]
- },
- {
- "applyTo": "ds.hasPrivilege",
- "type": "method",
- "execute": [
- "guest"
- ]
- },
- {
- "applyTo": "ds.clearPrivileges",
- "type": "method",
- "execute": [
- "guest"
- ]
- },
- {
- "applyTo": "ds.isGuest",
- "type": "method",
- "execute": [
- "guest"
- ]
- },
- {
- "applyTo": "ds.getPrivileges",
- "type": "method",
- "execute": [
- "guest"
- ]
- },
- {
- "applyTo": "ds.setAllPrivileges",
- "type": "method",
- "execute": [
- "guest"
- ]
- },
- {
- "applyTo": "mySingletonClass.createID",
- "type": "singletonMethod",
- "execute": [
- "guest"
- ]
- }
- ]
- },
- "forceLogin": true
+ "forceLogin": true,
+ "restrictedByDefault": true,
+ "permissions": {
+ "allowed": [
+ {
+ "applyTo": "People",
+ "type": "dataclass",
+ "read": [
+ "viewPeople"
+ ]
+ }
+ ]
+ },
+ "privileges": [
+ {
+ "privilege": "viewPeople",
+ "includes": []
+ }
+ ],
+ "roles": []
}
```
diff --git a/i18n/pt/docusaurus-plugin-content-docs/current/ORDA/privileges.md b/i18n/pt/docusaurus-plugin-content-docs/current/ORDA/privileges.md
index 73c0eff02fec15..d77f22431e141f 100644
--- a/i18n/pt/docusaurus-plugin-content-docs/current/ORDA/privileges.md
+++ b/i18n/pt/docusaurus-plugin-content-docs/current/ORDA/privileges.md
@@ -27,27 +27,21 @@ Se um usuário tentar executar uma ação e não tiver os direitos de acesso ade
You can assign specific permission actions to the following resources in your project:
-- o datastore
-- uma classe de dados
-- um atributo (inclusive calculado e aliases)
-- uma função de classe de modelo de dados
-- uma função [singleton](../REST/$singleton.md)
+- the [datastore](../ORDA/dsMapping.md#datastore)
+- the [dataclasses](../ORDA/dsMapping.md#dataclass)
+- [attributes](../ORDA/dsMapping.md#attribute) (including [computed](./ordaClasses.md#computed-attributes-1) and [alias](./ordaClasses.md#alias-attributes-1))
+- functions of the [data model classes](../ORDA/ordaClasses.md)
+- [singleton](../REST/$singleton.md) functions
Each time a resource is accessed within a session (whatever the way it is accessed), 4D checks that the session has the appropriate permissions, and rejects the access if it is not authorized.
-Uma ação de permissão definida em um determinado nível é herdada por padrão em níveis inferiores, mas várias permissões podem ser configuradas:
-
-- Uma ação de permissão definida no nível do datastore é automaticamente atribuída a todas as dataclasses. A ação de permissão *execute* definida no nível de datastore aplica-se a todas as funções do projeto, incluindo todas as funções [singleton](../REST/$singleton.md).
-- Uma ação de permissão definida ao nível da classe de dados substitui a definição do armazenamento de dados (se existir). Por padrão, todos os atributos do dataclass herdam das permissões de banco de dados.
-- Ao contrário das permissões da classe de dados, uma ação de permissão definida no nível do atributo não substitui a(s) permissão(ões) pai da classe de dados, mas é adicionada a ela. Por exemplo, se você atribuiu o privilégio "geral" a uma classe de dados e o privilégio "detalhe" a um atributo da classe de dados, ambos os privilégios "geral" e "detalhe" devem ser definidos na sessão para acessar o atributo.
-
-:::info
+## Permissions
-Permissões controlam o acesso a objetos ou funções de armazenamento de dados. Se você deseja filtrar os dados lidos de acordo com alguns critérios, você pode considerar [restringir as seleções de entidades](entities.md#restricting-entity-selections) que pode ser mais apropriado neste caso.
+A permission is the ability to do an action on a resource. For example, *execute the ds.myTable.myFunction()* represents a **permission**. Permissions are defined for the project in the [`roles.json`](#rolesjson-file) file. Each permission can be given to one or more [privileges](#privileges-and-roles).
-:::
+When **no specific permission** has been defined for a resource, access to the resource may be automatically **unrestricted** or **restricted** depending on the [default mode defined for the project](#restriction-modes).
-## Ações de permissão
+### Ações de permissão
As ações disponíveis estão relacionadas com o recurso alvo.
@@ -73,6 +67,65 @@ As ações disponíveis estão relacionadas com o recurso alvo.
Setting permissions requires to be consistent, in particular **update** and **drop** permissions also need **read** permission (but **create** does not need it).
+### Inherited permissions
+
+Uma ação de permissão definida em um determinado nível é herdada por padrão em níveis inferiores, mas várias permissões podem ser configuradas:
+
+- Uma ação de permissão definida no nível do datastore é automaticamente atribuída a todas as dataclasses. A ação de permissão *execute* definida no nível de datastore aplica-se a todas as funções do projeto, incluindo todas as funções [singleton](../REST/$singleton.md).
+- Uma ação de permissão definida ao nível da classe de dados substitui a definição do armazenamento de dados (se existir). Por padrão, todos os atributos do dataclass herdam das permissões de banco de dados.
+- Ao contrário das permissões da classe de dados, uma ação de permissão definida no nível do atributo não substitui a(s) permissão(ões) pai da classe de dados, mas é adicionada a ela. Por exemplo, se você atribuiu o privilégio "geral" a uma classe de dados e o privilégio "detalhe" a um atributo da classe de dados, ambos os privilégios "geral" e "detalhe" devem ser definidos na sessão para acessar o atributo.
+
+:::info
+
+Permissões controlam o acesso a objetos ou funções de armazenamento de dados. Se você deseja filtrar os dados lidos de acordo com alguns critérios, você pode considerar [restringir as seleções de entidades](entities.md#restricting-entity-selections) que pode ser mais apropriado neste caso.
+
+:::
+
+### Atribuição de permissões a funções da classe ORDA
+
+When configuring permissions, ORDA class functions are declared in the `applyTo` element using the following syntax:
+
+```json
+.
+```
+
+For example, if you want to apply a permission to the following function:
+
+```4d
+// cs.CityEntity class
+Class extends Entity
+ Function getPopulation() : Integer
+ ...
+```
+
+... você precisa escrever:
+
+```json
+"applyTo":"City.getPopulation"
+```
+
+It means that you cannot use the same function names in the various ORDA classes (entity, entity selection, dataclass) if you want them to be assigned privileges. In this case, you need to use distinct function names. For example, if you have created a "drop" function in both `cs.CityEntity` and `cs.CitySelection` classes, you need to give them different names such as `dropEntity()` and `dropSelection()`. Em seguida, você pode escrever no arquivo "roles.json":
+
+```json
+ "permissions": {
+ "allowed": [
+ {
+ "applyTo": "City.dropEntity",
+ "type": "method",
+ "promote": [
+ "name"
+ ]
+ },
+ {
+ "applyTo": "City.dropSelection",
+ "type": "method",
+ "promote": [
+ "name"
+ ]
+ }
+ ]
+```
+
## Privilégios e funções
Um **privilégio** é a habilidade técnica de executar **ações** em **recursos**, enquanto um **cargo** é um privilégio posto de uso por um administrador. Basicamente, uma função reúne vários privilégios para definir um perfil de usuário corporativo. Por exemplo, "manageInvoices" poderia ser um privilégio enquanto "secretary" poderia ser uma função (que inclui "manageInvoices" e outros privilégios).
@@ -111,70 +164,7 @@ exposed Function authenticate($identifier : Text; $password : Text)->$result : T
## arquivo `roles.json`
-O arquivo `roles.json` descreve todas as configurações de segurança do projeto.
-
-### Arquivo padrão
-
-When you create a project, a default `roles.json` file is created at the following location: `/Project/Sources/` (see [Architecture](../Project/architecture.md#sources) section).
-
-O arquivo padrão tem o seguinte conteúdo:
-
-```json title="/Project/Sources/roles.json"
-
-{
- "privileges": [
- {
- "privilege": "all",
- "includes": []
- }
- ],
-
- "roles": [],
-
- "permissions": {
- "allowed": [
- {
- "applyTo": "ds",
- "type": "datastore",
- "read": ["all"],
- "create": ["all"],
- "update": ["all"],
- "drop": ["all"],
- "execute": ["all"],
- "promote": ["all"]
- }
- ]
- },
-
- "forceLogin": true
-
-}
-
-```
-
-For a highest level of security, the "all" privilege is assigned to all permissions in the datastore, thus data access on the whole `ds` object is disabled by default. The principle is as follows: assigning a permission is like putting a lock on a door. Only sessions with privilege having the corresponding key (i.e., a permission) will be able to open the lock.
-É recomendado não modificar ou usar esse privilégio de bloqueio, mas adicionar permissões específicas a cada recurso que você deseja disponibilizar para solicitações da web ou REST (veja o exemplo abaixo).
-
-:::caution
-
-Quando nenhum parâmetro específico é definido no arquivo `roles.json`, os acessos não são limitados. Esta configuração permite que você desenvolva a aplicação sem se preocupar com acessos, mas não é recomendada em ambiente de produção.
-
-:::
-
-:::note Compatibidade
-
-Em versões anteriores, o arquivo `roles.json` não foi criado por padrão. A partir de 4D 20 R6, ao abrir um projeto existente que não contém um `cargos. arquivo son` ou as configurações `"forceLogin": true`, a **Ativar autenticação REST através de d. Função uthentify()** está disponível na página [**Recursos Web** da caixa de diálogo Configurações](../settings/web.md#access). Este botão atualiza automaticamente suas configurações de segurança (você pode ter que modificar seu código, [veja este post de blog](https://blog.4d.com/force-login-becomes-default-for-all-rest-auth/)).
-:::
-
-:::note Qodly Studio
-
-No Qodly Studio para 4D, o modo pode ser definido usando a opção [**Forçar login**](../WebServer/qodly-studio.md#force-login) no painel de Privilégios.
-
-:::
-
-### Sintaxe
-
-A sintaxe do arquivo `roles.json` é a seguinte:
+The `roles.json` file describes the whole web security settings for the project. A sintaxe do arquivo `roles.json` é a seguinte:
| Nome da propriedade | | | Tipo | Obrigatório | Descrição |
| ------------------- | ----------------------------------------------------------------------------------- | -------------------------------------------------------------------------------- | ---------------------------------- | ----------- | ------------------------------------------------------------------------------------------------------------------------------ |
@@ -194,60 +184,87 @@ A sintaxe do arquivo `roles.json` é a seguinte:
| | | \[].drop | Coleção de strings | | Lista de privilégios |
| | | \[].execute | Coleção de strings | | Lista de privilégios |
| | | \[].promote | Coleção de strings | | Lista de privilégios |
-| forceLogin | | | Parâmetros | | True para habilitar el [modo "forceLogin"](../REST/authUsers.md#force-login-mode) |
+| restrictedByDefault | | | Parâmetros | | If true, access to resources without explicit permissions is denied |
+| forceLogin | | | Parâmetros | | If true, enables ["forceLogin" mode](../REST/authUsers.md#force-login-mode) |
:::caution Lembrete
- O nome do privilégio "WebAdmin" está reservado à aplicação. Não se recomenda a utilização deste nome para privilégios personalizados.
-- Os nomes de `privilégios` e `cargos` são insensíveis a maiúsculas e minúsculas.
+- `privileges` and `roles` names are case-insensitive.
:::
-#### Atribuição de permissões a funções da classe ORDA
+### Default File Location and Content
-When configuring permissions, ORDA class functions are declared in the `applyTo` element using the following syntax:
+When a new project is created, a default `roles.json` file is generated at:
-```json
-.
```
-
-For example, if you want to apply a permission to the following function:
-
-```4d
-// cs.CityEntity class
-Class extends Entity
- Function getPopulation() : Integer
- ...
+/Project/Sources/
```
-... você precisa escrever:
+Ver la sección [Arquitectura](../Project/architecture.md#sources).
-```json
-"applyTo":"City.getPopulation"
-```
+Default content:
-It means that you cannot use the same function names in the various ORDA classes (entity, entity selection, dataclass) if you want them to be assigned privileges. In this case, you need to use distinct function names. For example, if you have created a "drop" function in both `cs.CityEntity` and `cs.CitySelection` classes, you need to give them different names such as `dropEntity()` and `dropSelection()`. Em seguida, você pode escrever no arquivo "roles.json":
+```json title="/Project/Sources/roles.json"
-```json
- "permissions": {
- "allowed": [
- {
- "applyTo": "City.dropEntity",
- "type": "method",
- "promote": [
- "name"
- ]
- },
- {
- "applyTo": "City.dropSelection",
- "type": "method",
- "promote": [
- "name"
- ]
- }
+{
+ "privileges": [
+ ],
+ "roles": [
+ ],
+ "permissions": {
+ "allowed": [
+ {
+ "applyTo": "ds",
+ "type": "datastore",
+ "read": [],
+ "create": [],
+ "update": [],
+ "drop": [],
+ "execute": [],
+ "promote": []
+ }
]
+ },
+ "restrictedByDefault": false,
+ "forceLogin": false
+}
```
+:::note Compatibidade
+
+Em versões anteriores, o arquivo `roles.json` não foi criado por padrão. A partir de 4D 20 R6, ao abrir um projeto existente que não contém um `cargos. arquivo son` ou as configurações `"forceLogin": true`, a **Ativar autenticação REST através de d. Função uthentify()** está disponível na página [**Recursos Web** da caixa de diálogo Configurações](../settings/web.md#access). Este botão atualiza automaticamente suas configurações de segurança (você pode ter que modificar seu código, [veja este post de blog](https://blog.4d.com/force-login-becomes-default-for-all-rest-auth/)).
+
+:::
+
+:::note Qodly Studio
+
+In Qodly Studio for 4D, the login mode can be set using the [**Force login** option](https://developer.4d.com/qodly/4DQodlyPro/force-login) in the Roles and Privileges panel.
+
+:::
+
+## Restriction Modes
+
+The `restrictedByDefault` property configures how every [resource](#resources) are accessed when [no specific permission is defined for it](#permission):
+
+- **Unrestricted mode** (`restrictedByDefault`: **false**): Resources without defined permissions are accessible to all requests. This mode is suitable for development environments where access can be gradually restricted.
+- **Restricted mode** (`restrictedByDefault`: **true**): Resources without defined permissions are blocked by default. This mode is recommended for production environments where access must be explicitly granted.
+
+:::note Compatibidade
+
+- When **creating a new project**, the `restrictedByDefault` property is set to **false** in the *roles.json* file (see below). Keep in mind that this configuration is tailored for quick start and smooth development. In production environment, [it is recommended to set the `restrictedByDefault` and `forceLogin` properties to **true**](#configuring-restrictedbydefault-and-forcelogin-properties).
+- In **projects converted from previous releases**; when enabling access to Qodly Studio using the [One-click configuration dialog](https://developer.4d.com/qodly/4DQodlyPro/gettingStarted#one-click-configuration), the `restrictedByDefault` property is added with value **true** in the *roles.json* file.
+
+:::
+
+### Recommended Configuration
+
+Depending on your environment, the recommended settings are:
+
+- **Production**: Set both `restrictedByDefault` and [`forceLogin`](../REST/authUsers.md#force-login-mode) to **true**. This ensures maximum security by requiring user authentication and explicitly defined permissions for resource access.
+- **Development**: Set both `restrictedByDefault` and [`forceLogin`](../REST/authUsers.md#force-login-mode) to **false**. This allows easier access during development and debugging, with the possibility to gradually apply restrictions.
+
### Arquivo `Roles_Errors.json`
O arquivo `roles.json` é analisado pelo 4D na inicialização. Você precisa reiniciar o aplicativo se quiser que as modificações neste arquivo sejam consideradas.
@@ -267,93 +284,28 @@ Finalizado, se
## Exemplo de configuração de privilégios
-The good practice is to keep all data access locked by default thanks to the "all" privilege and to configure the `roles.json` file to only open controlled parts to authorized sessions. For example, to allow some accesses to "guest" sessions:
-
```json title="/Project/Sources/roles.json"
{
- "privileges": [
- {
- "privilege": "all",
- "includes": []
- }
- ],
- "roles": [],
- "permissions": {
- "allowed": [
- {
- "applyTo": "ds",
- "type": "datastore",
- "read": [
- "all"
- ],
- "create": [
- "all"
- ],
- "update": [
- "all"
- ],
- "drop": [
- "all"
- ],
- "execute": [
- "all"
- ],
- "promote": [
- "all"
- ]
- },
- {
- "applyTo": "ds.loginAs",
- "type": "method",
- "execute": [
- "guest"
- ]
- },
- {
- "applyTo": "ds.hasPrivilege",
- "type": "method",
- "execute": [
- "guest"
- ]
- },
- {
- "applyTo": "ds.clearPrivileges",
- "type": "method",
- "execute": [
- "guest"
- ]
- },
- {
- "applyTo": "ds.isGuest",
- "type": "method",
- "execute": [
- "guest"
- ]
- },
- {
- "applyTo": "ds.getPrivileges",
- "type": "method",
- "execute": [
- "guest"
- ]
- },
- {
- "applyTo": "ds.setAllPrivileges",
- "type": "method",
- "execute": [
- "guest"
- ]
- },
- {
- "applyTo": "mySingletonClass.createID",
- "type": "singletonMethod",
- "execute": [
- "guest"
- ]
- }
- ]
- },
- "forceLogin": true
+ "forceLogin": true,
+ "restrictedByDefault": true,
+ "permissions": {
+ "allowed": [
+ {
+ "applyTo": "People",
+ "type": "dataclass",
+ "read": [
+ "viewPeople"
+ ]
+ }
+ ]
+ },
+ "privileges": [
+ {
+ "privilege": "viewPeople",
+ "includes": []
+ }
+ ],
+ "roles": []
}
```
diff --git a/i18n/pt/docusaurus-plugin-content-docs/current/REST/configuration.md b/i18n/pt/docusaurus-plugin-content-docs/current/REST/configuration.md
index 3f4634994d1de1..c661a5b35d2ee0 100644
--- a/i18n/pt/docusaurus-plugin-content-docs/current/REST/configuration.md
+++ b/i18n/pt/docusaurus-plugin-content-docs/current/REST/configuration.md
@@ -70,8 +70,8 @@ Para eliminar a exposição REST de um campo:
1. Exibar o inspetor de Campo no editor de Estruturas e selecione o campo a modificar.
-2. Desmarque la opción **Exponer como recurso REST** para el campo.
- 
+2. Uncheck the **Expose as REST resource** for the field.
+ 
Repeat this for each field whose exposure needs to be modified.
> Para que um campo seja accessível a través de REST, a tabela pai também deve ser. Se a tabela pai não estiver exposta, nenhum dos campos estará, independente de seu estado.
diff --git a/i18n/pt/docusaurus-plugin-content-docs/version-20/Notes/updates.md b/i18n/pt/docusaurus-plugin-content-docs/version-20/Notes/updates.md
index 9c041416784e6d..9f8a14853cafd3 100644
--- a/i18n/pt/docusaurus-plugin-content-docs/version-20/Notes/updates.md
+++ b/i18n/pt/docusaurus-plugin-content-docs/version-20/Notes/updates.md
@@ -11,6 +11,14 @@ Leia [**O que há de novo no 4D 20**](https://blog.4d.com/en-whats-new-in-4d-v20
:::
+## 4D 20.8 LTS
+
+#### Destaques
+
+- [**Lista de bugs corrigidos**](https://bugs.4d.com/fixes?version=20.8): lista de todos os erros corrigidos no 4D 20.8 LTS.
+
+
+
## 4D 20.7 LTS
#### Destaques
diff --git a/i18n/pt/docusaurus-plugin-content-docs/version-21/Notes/updates.md b/i18n/pt/docusaurus-plugin-content-docs/version-21/Notes/updates.md
index 52e8e6a51fb89e..aaa5ca6daaf843 100644
--- a/i18n/pt/docusaurus-plugin-content-docs/version-21/Notes/updates.md
+++ b/i18n/pt/docusaurus-plugin-content-docs/version-21/Notes/updates.md
@@ -16,6 +16,7 @@ Leia [**O que há de novo no 4D 21**](https://blog.4d.com/en-whats-new-in-4d-21/
- ability to set [HTTP request handlers](../WebServer/http-request-handler.md) using a `handlers` property in the *settings* parameter of the Web server [`start()`](../API/WebServerClass.md#start) function,
- the Web server object contains new [`rules`](../API/WebServerClass.md#rules) and [`handlers`](../API/WebServerClass.md#handlers) properties.
- New [ORDA events on data](../ORDA/orda-events.md): validateSave, saving, afterSave, validateDrop, dropping, afterDrop.
+- Support of the new [`restrictedByDefault` property](../ORDA/privileges.md#restriction-modes) in the `roles.json` file to block access by default to all resources without explicit permission.
- New option allowing to use certificates from Windows Certificate Store instead of a local certificates folder in [`HTTPRequest`](../API/HTTPRequestClass.md#4dhttprequestnew) and [`HTTPAgent`](../API/HTTPAgentClass.md#4dhttpagentnew) classes.
- Client/server:
- You can display Qodly pages in Web areas and [share the remote client session](../Desktop/clientServer.md#sharing-the-session-with-qodly-pages-in-web-areas).
diff --git a/i18n/pt/docusaurus-plugin-content-docs/version-21/ORDA/privileges.md b/i18n/pt/docusaurus-plugin-content-docs/version-21/ORDA/privileges.md
index 73c0eff02fec15..d77f22431e141f 100644
--- a/i18n/pt/docusaurus-plugin-content-docs/version-21/ORDA/privileges.md
+++ b/i18n/pt/docusaurus-plugin-content-docs/version-21/ORDA/privileges.md
@@ -27,27 +27,21 @@ Se um usuário tentar executar uma ação e não tiver os direitos de acesso ade
You can assign specific permission actions to the following resources in your project:
-- o datastore
-- uma classe de dados
-- um atributo (inclusive calculado e aliases)
-- uma função de classe de modelo de dados
-- uma função [singleton](../REST/$singleton.md)
+- the [datastore](../ORDA/dsMapping.md#datastore)
+- the [dataclasses](../ORDA/dsMapping.md#dataclass)
+- [attributes](../ORDA/dsMapping.md#attribute) (including [computed](./ordaClasses.md#computed-attributes-1) and [alias](./ordaClasses.md#alias-attributes-1))
+- functions of the [data model classes](../ORDA/ordaClasses.md)
+- [singleton](../REST/$singleton.md) functions
Each time a resource is accessed within a session (whatever the way it is accessed), 4D checks that the session has the appropriate permissions, and rejects the access if it is not authorized.
-Uma ação de permissão definida em um determinado nível é herdada por padrão em níveis inferiores, mas várias permissões podem ser configuradas:
-
-- Uma ação de permissão definida no nível do datastore é automaticamente atribuída a todas as dataclasses. A ação de permissão *execute* definida no nível de datastore aplica-se a todas as funções do projeto, incluindo todas as funções [singleton](../REST/$singleton.md).
-- Uma ação de permissão definida ao nível da classe de dados substitui a definição do armazenamento de dados (se existir). Por padrão, todos os atributos do dataclass herdam das permissões de banco de dados.
-- Ao contrário das permissões da classe de dados, uma ação de permissão definida no nível do atributo não substitui a(s) permissão(ões) pai da classe de dados, mas é adicionada a ela. Por exemplo, se você atribuiu o privilégio "geral" a uma classe de dados e o privilégio "detalhe" a um atributo da classe de dados, ambos os privilégios "geral" e "detalhe" devem ser definidos na sessão para acessar o atributo.
-
-:::info
+## Permissions
-Permissões controlam o acesso a objetos ou funções de armazenamento de dados. Se você deseja filtrar os dados lidos de acordo com alguns critérios, você pode considerar [restringir as seleções de entidades](entities.md#restricting-entity-selections) que pode ser mais apropriado neste caso.
+A permission is the ability to do an action on a resource. For example, *execute the ds.myTable.myFunction()* represents a **permission**. Permissions are defined for the project in the [`roles.json`](#rolesjson-file) file. Each permission can be given to one or more [privileges](#privileges-and-roles).
-:::
+When **no specific permission** has been defined for a resource, access to the resource may be automatically **unrestricted** or **restricted** depending on the [default mode defined for the project](#restriction-modes).
-## Ações de permissão
+### Ações de permissão
As ações disponíveis estão relacionadas com o recurso alvo.
@@ -73,6 +67,65 @@ As ações disponíveis estão relacionadas com o recurso alvo.
Setting permissions requires to be consistent, in particular **update** and **drop** permissions also need **read** permission (but **create** does not need it).
+### Inherited permissions
+
+Uma ação de permissão definida em um determinado nível é herdada por padrão em níveis inferiores, mas várias permissões podem ser configuradas:
+
+- Uma ação de permissão definida no nível do datastore é automaticamente atribuída a todas as dataclasses. A ação de permissão *execute* definida no nível de datastore aplica-se a todas as funções do projeto, incluindo todas as funções [singleton](../REST/$singleton.md).
+- Uma ação de permissão definida ao nível da classe de dados substitui a definição do armazenamento de dados (se existir). Por padrão, todos os atributos do dataclass herdam das permissões de banco de dados.
+- Ao contrário das permissões da classe de dados, uma ação de permissão definida no nível do atributo não substitui a(s) permissão(ões) pai da classe de dados, mas é adicionada a ela. Por exemplo, se você atribuiu o privilégio "geral" a uma classe de dados e o privilégio "detalhe" a um atributo da classe de dados, ambos os privilégios "geral" e "detalhe" devem ser definidos na sessão para acessar o atributo.
+
+:::info
+
+Permissões controlam o acesso a objetos ou funções de armazenamento de dados. Se você deseja filtrar os dados lidos de acordo com alguns critérios, você pode considerar [restringir as seleções de entidades](entities.md#restricting-entity-selections) que pode ser mais apropriado neste caso.
+
+:::
+
+### Atribuição de permissões a funções da classe ORDA
+
+When configuring permissions, ORDA class functions are declared in the `applyTo` element using the following syntax:
+
+```json
+.
+```
+
+For example, if you want to apply a permission to the following function:
+
+```4d
+// cs.CityEntity class
+Class extends Entity
+ Function getPopulation() : Integer
+ ...
+```
+
+... você precisa escrever:
+
+```json
+"applyTo":"City.getPopulation"
+```
+
+It means that you cannot use the same function names in the various ORDA classes (entity, entity selection, dataclass) if you want them to be assigned privileges. In this case, you need to use distinct function names. For example, if you have created a "drop" function in both `cs.CityEntity` and `cs.CitySelection` classes, you need to give them different names such as `dropEntity()` and `dropSelection()`. Em seguida, você pode escrever no arquivo "roles.json":
+
+```json
+ "permissions": {
+ "allowed": [
+ {
+ "applyTo": "City.dropEntity",
+ "type": "method",
+ "promote": [
+ "name"
+ ]
+ },
+ {
+ "applyTo": "City.dropSelection",
+ "type": "method",
+ "promote": [
+ "name"
+ ]
+ }
+ ]
+```
+
## Privilégios e funções
Um **privilégio** é a habilidade técnica de executar **ações** em **recursos**, enquanto um **cargo** é um privilégio posto de uso por um administrador. Basicamente, uma função reúne vários privilégios para definir um perfil de usuário corporativo. Por exemplo, "manageInvoices" poderia ser um privilégio enquanto "secretary" poderia ser uma função (que inclui "manageInvoices" e outros privilégios).
@@ -111,70 +164,7 @@ exposed Function authenticate($identifier : Text; $password : Text)->$result : T
## arquivo `roles.json`
-O arquivo `roles.json` descreve todas as configurações de segurança do projeto.
-
-### Arquivo padrão
-
-When you create a project, a default `roles.json` file is created at the following location: `/Project/Sources/` (see [Architecture](../Project/architecture.md#sources) section).
-
-O arquivo padrão tem o seguinte conteúdo:
-
-```json title="/Project/Sources/roles.json"
-
-{
- "privileges": [
- {
- "privilege": "all",
- "includes": []
- }
- ],
-
- "roles": [],
-
- "permissions": {
- "allowed": [
- {
- "applyTo": "ds",
- "type": "datastore",
- "read": ["all"],
- "create": ["all"],
- "update": ["all"],
- "drop": ["all"],
- "execute": ["all"],
- "promote": ["all"]
- }
- ]
- },
-
- "forceLogin": true
-
-}
-
-```
-
-For a highest level of security, the "all" privilege is assigned to all permissions in the datastore, thus data access on the whole `ds` object is disabled by default. The principle is as follows: assigning a permission is like putting a lock on a door. Only sessions with privilege having the corresponding key (i.e., a permission) will be able to open the lock.
-É recomendado não modificar ou usar esse privilégio de bloqueio, mas adicionar permissões específicas a cada recurso que você deseja disponibilizar para solicitações da web ou REST (veja o exemplo abaixo).
-
-:::caution
-
-Quando nenhum parâmetro específico é definido no arquivo `roles.json`, os acessos não são limitados. Esta configuração permite que você desenvolva a aplicação sem se preocupar com acessos, mas não é recomendada em ambiente de produção.
-
-:::
-
-:::note Compatibidade
-
-Em versões anteriores, o arquivo `roles.json` não foi criado por padrão. A partir de 4D 20 R6, ao abrir um projeto existente que não contém um `cargos. arquivo son` ou as configurações `"forceLogin": true`, a **Ativar autenticação REST através de d. Função uthentify()** está disponível na página [**Recursos Web** da caixa de diálogo Configurações](../settings/web.md#access). Este botão atualiza automaticamente suas configurações de segurança (você pode ter que modificar seu código, [veja este post de blog](https://blog.4d.com/force-login-becomes-default-for-all-rest-auth/)).
-:::
-
-:::note Qodly Studio
-
-No Qodly Studio para 4D, o modo pode ser definido usando a opção [**Forçar login**](../WebServer/qodly-studio.md#force-login) no painel de Privilégios.
-
-:::
-
-### Sintaxe
-
-A sintaxe do arquivo `roles.json` é a seguinte:
+The `roles.json` file describes the whole web security settings for the project. A sintaxe do arquivo `roles.json` é a seguinte:
| Nome da propriedade | | | Tipo | Obrigatório | Descrição |
| ------------------- | ----------------------------------------------------------------------------------- | -------------------------------------------------------------------------------- | ---------------------------------- | ----------- | ------------------------------------------------------------------------------------------------------------------------------ |
@@ -194,60 +184,87 @@ A sintaxe do arquivo `roles.json` é a seguinte:
| | | \[].drop | Coleção de strings | | Lista de privilégios |
| | | \[].execute | Coleção de strings | | Lista de privilégios |
| | | \[].promote | Coleção de strings | | Lista de privilégios |
-| forceLogin | | | Parâmetros | | True para habilitar el [modo "forceLogin"](../REST/authUsers.md#force-login-mode) |
+| restrictedByDefault | | | Parâmetros | | If true, access to resources without explicit permissions is denied |
+| forceLogin | | | Parâmetros | | If true, enables ["forceLogin" mode](../REST/authUsers.md#force-login-mode) |
:::caution Lembrete
- O nome do privilégio "WebAdmin" está reservado à aplicação. Não se recomenda a utilização deste nome para privilégios personalizados.
-- Os nomes de `privilégios` e `cargos` são insensíveis a maiúsculas e minúsculas.
+- `privileges` and `roles` names are case-insensitive.
:::
-#### Atribuição de permissões a funções da classe ORDA
+### Default File Location and Content
-When configuring permissions, ORDA class functions are declared in the `applyTo` element using the following syntax:
+When a new project is created, a default `roles.json` file is generated at:
-```json
-.
```
-
-For example, if you want to apply a permission to the following function:
-
-```4d
-// cs.CityEntity class
-Class extends Entity
- Function getPopulation() : Integer
- ...
+/Project/Sources/
```
-... você precisa escrever:
+Ver la sección [Arquitectura](../Project/architecture.md#sources).
-```json
-"applyTo":"City.getPopulation"
-```
+Default content:
-It means that you cannot use the same function names in the various ORDA classes (entity, entity selection, dataclass) if you want them to be assigned privileges. In this case, you need to use distinct function names. For example, if you have created a "drop" function in both `cs.CityEntity` and `cs.CitySelection` classes, you need to give them different names such as `dropEntity()` and `dropSelection()`. Em seguida, você pode escrever no arquivo "roles.json":
+```json title="/Project/Sources/roles.json"
-```json
- "permissions": {
- "allowed": [
- {
- "applyTo": "City.dropEntity",
- "type": "method",
- "promote": [
- "name"
- ]
- },
- {
- "applyTo": "City.dropSelection",
- "type": "method",
- "promote": [
- "name"
- ]
- }
+{
+ "privileges": [
+ ],
+ "roles": [
+ ],
+ "permissions": {
+ "allowed": [
+ {
+ "applyTo": "ds",
+ "type": "datastore",
+ "read": [],
+ "create": [],
+ "update": [],
+ "drop": [],
+ "execute": [],
+ "promote": []
+ }
]
+ },
+ "restrictedByDefault": false,
+ "forceLogin": false
+}
```
+:::note Compatibidade
+
+Em versões anteriores, o arquivo `roles.json` não foi criado por padrão. A partir de 4D 20 R6, ao abrir um projeto existente que não contém um `cargos. arquivo son` ou as configurações `"forceLogin": true`, a **Ativar autenticação REST através de d. Função uthentify()** está disponível na página [**Recursos Web** da caixa de diálogo Configurações](../settings/web.md#access). Este botão atualiza automaticamente suas configurações de segurança (você pode ter que modificar seu código, [veja este post de blog](https://blog.4d.com/force-login-becomes-default-for-all-rest-auth/)).
+
+:::
+
+:::note Qodly Studio
+
+In Qodly Studio for 4D, the login mode can be set using the [**Force login** option](https://developer.4d.com/qodly/4DQodlyPro/force-login) in the Roles and Privileges panel.
+
+:::
+
+## Restriction Modes
+
+The `restrictedByDefault` property configures how every [resource](#resources) are accessed when [no specific permission is defined for it](#permission):
+
+- **Unrestricted mode** (`restrictedByDefault`: **false**): Resources without defined permissions are accessible to all requests. This mode is suitable for development environments where access can be gradually restricted.
+- **Restricted mode** (`restrictedByDefault`: **true**): Resources without defined permissions are blocked by default. This mode is recommended for production environments where access must be explicitly granted.
+
+:::note Compatibidade
+
+- When **creating a new project**, the `restrictedByDefault` property is set to **false** in the *roles.json* file (see below). Keep in mind that this configuration is tailored for quick start and smooth development. In production environment, [it is recommended to set the `restrictedByDefault` and `forceLogin` properties to **true**](#configuring-restrictedbydefault-and-forcelogin-properties).
+- In **projects converted from previous releases**; when enabling access to Qodly Studio using the [One-click configuration dialog](https://developer.4d.com/qodly/4DQodlyPro/gettingStarted#one-click-configuration), the `restrictedByDefault` property is added with value **true** in the *roles.json* file.
+
+:::
+
+### Recommended Configuration
+
+Depending on your environment, the recommended settings are:
+
+- **Production**: Set both `restrictedByDefault` and [`forceLogin`](../REST/authUsers.md#force-login-mode) to **true**. This ensures maximum security by requiring user authentication and explicitly defined permissions for resource access.
+- **Development**: Set both `restrictedByDefault` and [`forceLogin`](../REST/authUsers.md#force-login-mode) to **false**. This allows easier access during development and debugging, with the possibility to gradually apply restrictions.
+
### Arquivo `Roles_Errors.json`
O arquivo `roles.json` é analisado pelo 4D na inicialização. Você precisa reiniciar o aplicativo se quiser que as modificações neste arquivo sejam consideradas.
@@ -267,93 +284,28 @@ Finalizado, se
## Exemplo de configuração de privilégios
-The good practice is to keep all data access locked by default thanks to the "all" privilege and to configure the `roles.json` file to only open controlled parts to authorized sessions. For example, to allow some accesses to "guest" sessions:
-
```json title="/Project/Sources/roles.json"
{
- "privileges": [
- {
- "privilege": "all",
- "includes": []
- }
- ],
- "roles": [],
- "permissions": {
- "allowed": [
- {
- "applyTo": "ds",
- "type": "datastore",
- "read": [
- "all"
- ],
- "create": [
- "all"
- ],
- "update": [
- "all"
- ],
- "drop": [
- "all"
- ],
- "execute": [
- "all"
- ],
- "promote": [
- "all"
- ]
- },
- {
- "applyTo": "ds.loginAs",
- "type": "method",
- "execute": [
- "guest"
- ]
- },
- {
- "applyTo": "ds.hasPrivilege",
- "type": "method",
- "execute": [
- "guest"
- ]
- },
- {
- "applyTo": "ds.clearPrivileges",
- "type": "method",
- "execute": [
- "guest"
- ]
- },
- {
- "applyTo": "ds.isGuest",
- "type": "method",
- "execute": [
- "guest"
- ]
- },
- {
- "applyTo": "ds.getPrivileges",
- "type": "method",
- "execute": [
- "guest"
- ]
- },
- {
- "applyTo": "ds.setAllPrivileges",
- "type": "method",
- "execute": [
- "guest"
- ]
- },
- {
- "applyTo": "mySingletonClass.createID",
- "type": "singletonMethod",
- "execute": [
- "guest"
- ]
- }
- ]
- },
- "forceLogin": true
+ "forceLogin": true,
+ "restrictedByDefault": true,
+ "permissions": {
+ "allowed": [
+ {
+ "applyTo": "People",
+ "type": "dataclass",
+ "read": [
+ "viewPeople"
+ ]
+ }
+ ]
+ },
+ "privileges": [
+ {
+ "privilege": "viewPeople",
+ "includes": []
+ }
+ ],
+ "roles": []
}
```
From c87a9b41e34994041a21d54c164094ecc4a6af9a Mon Sep 17 00:00:00 2001
From: arnaud-4d
Date: Thu, 13 Nov 2025 12:06:26 +0100
Subject: [PATCH 02/75] fixes
---
docs/FormObjects/listbox_overview.md | 2 +-
docs/commands/license-info.md | 7 +++++++
.../version-20-R10/FormObjects/listbox_overview.md | 2 +-
versioned_docs/version-20-R10/commands/license-info.md | 5 +++++
versioned_docs/version-20/FormObjects/listbox_overview.md | 2 +-
versioned_docs/version-20/Notes/updates.md | 2 ++
versioned_docs/version-21/FormObjects/listbox_overview.md | 2 +-
versioned_docs/version-21/commands/license-info.md | 5 +++++
8 files changed, 23 insertions(+), 4 deletions(-)
diff --git a/docs/FormObjects/listbox_overview.md b/docs/FormObjects/listbox_overview.md
index 5a8823f0db922b..80068dd175a6cf 100644
--- a/docs/FormObjects/listbox_overview.md
+++ b/docs/FormObjects/listbox_overview.md
@@ -1153,7 +1153,7 @@ Examples:
OB SET($ob;"value";2) //displays London by default
OB SET($ob;"requiredListReference";<>List)
```
- 
+
#### choiceListName and choiceListReference
diff --git a/docs/commands/license-info.md b/docs/commands/license-info.md
index e1e8b1caeb5e64..3d4f419a901afe 100644
--- a/docs/commands/license-info.md
+++ b/docs/commands/license-info.md
@@ -18,6 +18,13 @@ displayed_sidebar: docs
If the command is executed on a 4D application that does not use locally a license (e.g. 4D remote), the command returns a Null object.
+:::note
+
+This command reloads the license files from the disk and updates the associated rights if they have been modified.
+
+:::
+
+
The returned object contains the following properties:
```json
diff --git a/versioned_docs/version-20-R10/FormObjects/listbox_overview.md b/versioned_docs/version-20-R10/FormObjects/listbox_overview.md
index 9657a607cb73bb..a3782c5d4ebe5a 100644
--- a/versioned_docs/version-20-R10/FormObjects/listbox_overview.md
+++ b/versioned_docs/version-20-R10/FormObjects/listbox_overview.md
@@ -1155,7 +1155,7 @@ Examples:
OB SET($ob;"value";2) //displays London by default
OB SET($ob;"requiredListReference";<>List)
```
- 
+
#### choiceListName and choiceListReference
diff --git a/versioned_docs/version-20-R10/commands/license-info.md b/versioned_docs/version-20-R10/commands/license-info.md
index e1e8b1caeb5e64..296d459f34e664 100644
--- a/versioned_docs/version-20-R10/commands/license-info.md
+++ b/versioned_docs/version-20-R10/commands/license-info.md
@@ -18,6 +18,11 @@ displayed_sidebar: docs
If the command is executed on a 4D application that does not use locally a license (e.g. 4D remote), the command returns a Null object.
+:::note
+
+This command reloads the license files from the disk and updates the associated rights if they have been modified.
+
+:::
The returned object contains the following properties:
```json
diff --git a/versioned_docs/version-20/FormObjects/listbox_overview.md b/versioned_docs/version-20/FormObjects/listbox_overview.md
index ec77a42d634eed..2a6a9e3f657dea 100644
--- a/versioned_docs/version-20/FormObjects/listbox_overview.md
+++ b/versioned_docs/version-20/FormObjects/listbox_overview.md
@@ -1149,7 +1149,7 @@ Examples:
OB SET($ob;"value";2) //displays London by default
OB SET($ob;"requiredListReference";<>List)
```
- 
+
#### choiceListName and choiceListReference
diff --git a/versioned_docs/version-20/Notes/updates.md b/versioned_docs/version-20/Notes/updates.md
index 5ddc0b83f81cf2..3bc47a3fd312df 100644
--- a/versioned_docs/version-20/Notes/updates.md
+++ b/versioned_docs/version-20/Notes/updates.md
@@ -15,6 +15,8 @@ Read [**What’s new in 4D 20**](https://blog.4d.com/en-whats-new-in-4d-v20/), t
#### Highlights
+- 4D 20.8 LTS is certified on Windows 11 25H2.
+- 4D 20.8 LTS is certified on macOS Tahoe (macOS 26).
- [**Fixed bugs list**](https://bugs.4d.com/fixes?version=20.8): list of all bugs that have been fixed in 4D 20.8 LTS.
diff --git a/versioned_docs/version-21/FormObjects/listbox_overview.md b/versioned_docs/version-21/FormObjects/listbox_overview.md
index 9657a607cb73bb..a3782c5d4ebe5a 100644
--- a/versioned_docs/version-21/FormObjects/listbox_overview.md
+++ b/versioned_docs/version-21/FormObjects/listbox_overview.md
@@ -1155,7 +1155,7 @@ Examples:
OB SET($ob;"value";2) //displays London by default
OB SET($ob;"requiredListReference";<>List)
```
- 
+
#### choiceListName and choiceListReference
diff --git a/versioned_docs/version-21/commands/license-info.md b/versioned_docs/version-21/commands/license-info.md
index e1e8b1caeb5e64..296d459f34e664 100644
--- a/versioned_docs/version-21/commands/license-info.md
+++ b/versioned_docs/version-21/commands/license-info.md
@@ -18,6 +18,11 @@ displayed_sidebar: docs
If the command is executed on a 4D application that does not use locally a license (e.g. 4D remote), the command returns a Null object.
+:::note
+
+This command reloads the license files from the disk and updates the associated rights if they have been modified.
+
+:::
The returned object contains the following properties:
```json
From 8608d1a57e49117243180a2381adc00f8dc32e8e Mon Sep 17 00:00:00 2001
From: arnaud-4d
Date: Thu, 13 Nov 2025 12:29:47 +0100
Subject: [PATCH 03/75] add precision for idle connection timeout
---
docs/commands-legacy/get-database-parameter.md | 2 +-
docs/commands-legacy/set-database-parameter.md | 2 +-
.../version-20-R10/commands-legacy/get-database-parameter.md | 2 +-
.../version-20-R10/commands-legacy/set-database-parameter.md | 2 +-
.../version-21/commands-legacy/get-database-parameter.md | 2 +-
.../version-21/commands-legacy/set-database-parameter.md | 2 +-
6 files changed, 6 insertions(+), 6 deletions(-)
diff --git a/docs/commands-legacy/get-database-parameter.md b/docs/commands-legacy/get-database-parameter.md
index e914d8c09c5fd2..a4af0faf373e1e 100644
--- a/docs/commands-legacy/get-database-parameter.md
+++ b/docs/commands-legacy/get-database-parameter.md
@@ -438,7 +438,7 @@ In order to be taken into account, this parameter must be executed on the server
**Possible values**: Whole value expressing a duration in seconds. The value can be positive (new connections) or negative (existing connections). By default, the value is 20.
-**Description**: Maximum period of inactivity (timeout) for connections to both the 4D database engine and the SQL engine, as well as, in *ServerNet* mode (new network layer), to the 4D application server. When an idle connection reaches this limit, it is automatically put on standby, which freezes the client/server session and closes the network socket. In the server administration window, the state of the user process is indicated as "Postponed". This functioning is completely transparent for the user: as soon as there is new activity on the connection which is on standby, the socket is automatically reopened and the client/server session is restored.
+**Description**: Maximum period of inactivity for connections to the 4D database engine, the SQL engine and to the 4D application server (*ServerNet* network layer only, ignored in *QUIC*). When an idle connection reaches this limit, it is automatically put on standby, which freezes the client/server session and closes the network socket. In the server administration window, the state of the user process is indicated as "Postponed". This functioning is completely transparent for the user: as soon as there is new activity on the connection which is on standby, the socket is automatically reopened and the client/server session is restored.
On the one hand, this setting lets you save resources on the server: connections on standby close the socket and free up a process on the server. On the other hand, it lets you avoid losing connections due to the closing of idle sockets by the firewall. For this, the timeout value for idle connections must be lower than that of the firewall in this case.
diff --git a/docs/commands-legacy/set-database-parameter.md b/docs/commands-legacy/set-database-parameter.md
index 3266bac99350bd..61a24845e90b76 100644
--- a/docs/commands-legacy/set-database-parameter.md
+++ b/docs/commands-legacy/set-database-parameter.md
@@ -437,7 +437,7 @@ In order to be taken into account, this parameter must be executed on the server
**Possible values**: Whole value expressing a duration in seconds. The value can be positive (new connections) or negative (existing connections). By default, the value is 20.
-**Description**: Maximum period of inactivity (timeout) for connections to both the 4D database engine and the SQL engine, as well as, in *ServerNet* mode (new network layer), to the 4D application server. When an idle connection reaches this limit, it is automatically put on standby, which freezes the client/server session and closes the network socket. In the server administration window, the state of the user process is indicated as "Postponed". This functioning is completely transparent for the user: as soon as there is new activity on the connection which is on standby, the socket is automatically reopened and the client/server session is restored.
+**Description**: Maximum period of inactivity for connections to the 4D database engine, the SQL engine and to the 4D application server (*ServerNet* network layer only, ignored in *QUIC*). When an idle connection reaches this limit, it is automatically put on standby, which freezes the client/server session and closes the network socket. In the server administration window, the state of the user process is indicated as "Postponed". This functioning is completely transparent for the user: as soon as there is new activity on the connection which is on standby, the socket is automatically reopened and the client/server session is restored.
On the one hand, this setting lets you save resources on the server: connections on standby close the socket and free up a process on the server. On the other hand, it lets you avoid losing connections due to the closing of idle sockets by the firewall. For this, the timeout value for idle connections must be lower than that of the firewall in this case.
diff --git a/versioned_docs/version-20-R10/commands-legacy/get-database-parameter.md b/versioned_docs/version-20-R10/commands-legacy/get-database-parameter.md
index e914d8c09c5fd2..a4af0faf373e1e 100644
--- a/versioned_docs/version-20-R10/commands-legacy/get-database-parameter.md
+++ b/versioned_docs/version-20-R10/commands-legacy/get-database-parameter.md
@@ -438,7 +438,7 @@ In order to be taken into account, this parameter must be executed on the server
**Possible values**: Whole value expressing a duration in seconds. The value can be positive (new connections) or negative (existing connections). By default, the value is 20.
-**Description**: Maximum period of inactivity (timeout) for connections to both the 4D database engine and the SQL engine, as well as, in *ServerNet* mode (new network layer), to the 4D application server. When an idle connection reaches this limit, it is automatically put on standby, which freezes the client/server session and closes the network socket. In the server administration window, the state of the user process is indicated as "Postponed". This functioning is completely transparent for the user: as soon as there is new activity on the connection which is on standby, the socket is automatically reopened and the client/server session is restored.
+**Description**: Maximum period of inactivity for connections to the 4D database engine, the SQL engine and to the 4D application server (*ServerNet* network layer only, ignored in *QUIC*). When an idle connection reaches this limit, it is automatically put on standby, which freezes the client/server session and closes the network socket. In the server administration window, the state of the user process is indicated as "Postponed". This functioning is completely transparent for the user: as soon as there is new activity on the connection which is on standby, the socket is automatically reopened and the client/server session is restored.
On the one hand, this setting lets you save resources on the server: connections on standby close the socket and free up a process on the server. On the other hand, it lets you avoid losing connections due to the closing of idle sockets by the firewall. For this, the timeout value for idle connections must be lower than that of the firewall in this case.
diff --git a/versioned_docs/version-20-R10/commands-legacy/set-database-parameter.md b/versioned_docs/version-20-R10/commands-legacy/set-database-parameter.md
index 3266bac99350bd..61a24845e90b76 100644
--- a/versioned_docs/version-20-R10/commands-legacy/set-database-parameter.md
+++ b/versioned_docs/version-20-R10/commands-legacy/set-database-parameter.md
@@ -437,7 +437,7 @@ In order to be taken into account, this parameter must be executed on the server
**Possible values**: Whole value expressing a duration in seconds. The value can be positive (new connections) or negative (existing connections). By default, the value is 20.
-**Description**: Maximum period of inactivity (timeout) for connections to both the 4D database engine and the SQL engine, as well as, in *ServerNet* mode (new network layer), to the 4D application server. When an idle connection reaches this limit, it is automatically put on standby, which freezes the client/server session and closes the network socket. In the server administration window, the state of the user process is indicated as "Postponed". This functioning is completely transparent for the user: as soon as there is new activity on the connection which is on standby, the socket is automatically reopened and the client/server session is restored.
+**Description**: Maximum period of inactivity for connections to the 4D database engine, the SQL engine and to the 4D application server (*ServerNet* network layer only, ignored in *QUIC*). When an idle connection reaches this limit, it is automatically put on standby, which freezes the client/server session and closes the network socket. In the server administration window, the state of the user process is indicated as "Postponed". This functioning is completely transparent for the user: as soon as there is new activity on the connection which is on standby, the socket is automatically reopened and the client/server session is restored.
On the one hand, this setting lets you save resources on the server: connections on standby close the socket and free up a process on the server. On the other hand, it lets you avoid losing connections due to the closing of idle sockets by the firewall. For this, the timeout value for idle connections must be lower than that of the firewall in this case.
diff --git a/versioned_docs/version-21/commands-legacy/get-database-parameter.md b/versioned_docs/version-21/commands-legacy/get-database-parameter.md
index e914d8c09c5fd2..a4af0faf373e1e 100644
--- a/versioned_docs/version-21/commands-legacy/get-database-parameter.md
+++ b/versioned_docs/version-21/commands-legacy/get-database-parameter.md
@@ -438,7 +438,7 @@ In order to be taken into account, this parameter must be executed on the server
**Possible values**: Whole value expressing a duration in seconds. The value can be positive (new connections) or negative (existing connections). By default, the value is 20.
-**Description**: Maximum period of inactivity (timeout) for connections to both the 4D database engine and the SQL engine, as well as, in *ServerNet* mode (new network layer), to the 4D application server. When an idle connection reaches this limit, it is automatically put on standby, which freezes the client/server session and closes the network socket. In the server administration window, the state of the user process is indicated as "Postponed". This functioning is completely transparent for the user: as soon as there is new activity on the connection which is on standby, the socket is automatically reopened and the client/server session is restored.
+**Description**: Maximum period of inactivity for connections to the 4D database engine, the SQL engine and to the 4D application server (*ServerNet* network layer only, ignored in *QUIC*). When an idle connection reaches this limit, it is automatically put on standby, which freezes the client/server session and closes the network socket. In the server administration window, the state of the user process is indicated as "Postponed". This functioning is completely transparent for the user: as soon as there is new activity on the connection which is on standby, the socket is automatically reopened and the client/server session is restored.
On the one hand, this setting lets you save resources on the server: connections on standby close the socket and free up a process on the server. On the other hand, it lets you avoid losing connections due to the closing of idle sockets by the firewall. For this, the timeout value for idle connections must be lower than that of the firewall in this case.
diff --git a/versioned_docs/version-21/commands-legacy/set-database-parameter.md b/versioned_docs/version-21/commands-legacy/set-database-parameter.md
index 3266bac99350bd..61a24845e90b76 100644
--- a/versioned_docs/version-21/commands-legacy/set-database-parameter.md
+++ b/versioned_docs/version-21/commands-legacy/set-database-parameter.md
@@ -437,7 +437,7 @@ In order to be taken into account, this parameter must be executed on the server
**Possible values**: Whole value expressing a duration in seconds. The value can be positive (new connections) or negative (existing connections). By default, the value is 20.
-**Description**: Maximum period of inactivity (timeout) for connections to both the 4D database engine and the SQL engine, as well as, in *ServerNet* mode (new network layer), to the 4D application server. When an idle connection reaches this limit, it is automatically put on standby, which freezes the client/server session and closes the network socket. In the server administration window, the state of the user process is indicated as "Postponed". This functioning is completely transparent for the user: as soon as there is new activity on the connection which is on standby, the socket is automatically reopened and the client/server session is restored.
+**Description**: Maximum period of inactivity for connections to the 4D database engine, the SQL engine and to the 4D application server (*ServerNet* network layer only, ignored in *QUIC*). When an idle connection reaches this limit, it is automatically put on standby, which freezes the client/server session and closes the network socket. In the server administration window, the state of the user process is indicated as "Postponed". This functioning is completely transparent for the user: as soon as there is new activity on the connection which is on standby, the socket is automatically reopened and the client/server session is restored.
On the one hand, this setting lets you save resources on the server: connections on standby close the socket and free up a process on the server. On the other hand, it lets you avoid losing connections due to the closing of idle sockets by the firewall. For this, the timeout value for idle connections must be lower than that of the firewall in this case.
From 26ebb5f3703903cb58fb85dab0f472f572ee5c0d Mon Sep 17 00:00:00 2001
From: nobu teshima <44628598+nobuteshima@users.noreply.github.com>
Date: Thu, 13 Nov 2025 22:06:16 +0900
Subject: [PATCH 04/75] Update wa-get-url-history.md (#2990)
JA fixing the Compatibility note witch was missing the "Current URL" in the translation
---
.../current/commands-legacy/wa-get-url-history.md | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/i18n/ja/docusaurus-plugin-content-docs/current/commands-legacy/wa-get-url-history.md b/i18n/ja/docusaurus-plugin-content-docs/current/commands-legacy/wa-get-url-history.md
index f8ff556747f091..96cece1363ea0e 100644
--- a/i18n/ja/docusaurus-plugin-content-docs/current/commands-legacy/wa-get-url-history.md
+++ b/i18n/ja/docusaurus-plugin-content-docs/current/commands-legacy/wa-get-url-history.md
@@ -38,7 +38,7 @@ URLは時間順に並びかえられます。
*titlesArr* 引数を渡すと、URLに関連付けられたウィンドウの名前が返されます。この配列は*urlsArr* 配列と同期しています。
-**互換性に関する注意:** **4D v19 R5 以降、このコマンドは Windows のシステムレンダリングエンジン を使用しているWeb エリアにおける urlsArr および titlesArr 配列のみを返します。*
+**互換性に関する注意:** **4D v19 R5 以降、このコマンドは Windows のシステムレンダリングエンジン を使用しているWeb エリアにおいて urlsArr および titlesArr 配列にはカレントの URL のみを返します。*
## 参照
From 1b6063b2d6107fcdf99229e0b26ecea529cedeab Mon Sep 17 00:00:00 2001
From: nobu teshima <44628598+nobuteshima@users.noreply.github.com>
Date: Thu, 13 Nov 2025 22:06:46 +0900
Subject: [PATCH 05/75] Update new-process.md (Changes of local process)
(#2991)
JA fixing changes regarding the removal or local process
---
.../current/commands-legacy/new-process.md | 13 ++++++++++---
1 file changed, 10 insertions(+), 3 deletions(-)
diff --git a/i18n/ja/docusaurus-plugin-content-docs/current/commands-legacy/new-process.md b/i18n/ja/docusaurus-plugin-content-docs/current/commands-legacy/new-process.md
index 397470fab7482d..7ae4e5168ea256 100644
--- a/i18n/ja/docusaurus-plugin-content-docs/current/commands-legacy/new-process.md
+++ b/i18n/ja/docusaurus-plugin-content-docs/current/commands-legacy/new-process.md
@@ -5,6 +5,15 @@ slug: /commands/new-process
displayed_sidebar: docs
---
+History
+
+|リリース|内容|
+|---|---|
+|21|特定のローカルプロセス処理について削除|
+
+
+
+
**New process** ( *method* ; *stack* {; *name* {; *param* {; *param2* ; ... ; *paramN*}}}{; *} ) : Integer
| 引数 | 型 | | 説明 |
@@ -41,9 +50,7 @@ displayed_sidebar: docs
### プロセス名
-*name*には新しいプロセスの名前を指定します。シングルユーザーモードでは、ここで指定した名前がランタイムエクスプローラーのプロセスリストに表示され、この新しいプロセスに対して [Process info](../commands/process-info.md) コマンドを実行するとこの名前が返されます。この引数は省略することができます。省略した場合、プロセス名は空の文字列になります。ローカルスコープのプロセスを作成するには、名前の先頭にドルサイン ($) をつけます。
-
-**重要**: クライアント/サーバーにおいて、ローカルプロセスはデータにアクセスしてはいけないことに注意してください。詳細な情報については、*グローバルプロセスとローカルプロセス* の章を参照してください。
+*name* には新しいプロセスの名前を指定します。シングルユーザーモードでは、ここで指定した名前がランタイムエクスプローラーのプロセスリストに表示され、この新しいプロセスに対して [Process info](../commands/process-info.md) コマンドを実行するとこの名前が返されます。この引数は省略することができます。省略した場合、プロセス名は空の文字列になります。
### プロセスメソッドの引数
From 6657f21c3b7db7ddd90a7d8d22e13dd7d44b0b8f Mon Sep 17 00:00:00 2001
From: nobu teshima <44628598+nobuteshima@users.noreply.github.com>
Date: Thu, 13 Nov 2025 22:07:04 +0900
Subject: [PATCH 06/75] Update new-process.md (Changes of local process into
ver 21) (#2992)
JA fixing changes regarding the removal or local process into version 21
---
.../version-21/commands-legacy/new-process.md | 13 ++++++++++---
1 file changed, 10 insertions(+), 3 deletions(-)
diff --git a/i18n/ja/docusaurus-plugin-content-docs/version-21/commands-legacy/new-process.md b/i18n/ja/docusaurus-plugin-content-docs/version-21/commands-legacy/new-process.md
index 397470fab7482d..e89edb42cceacf 100644
--- a/i18n/ja/docusaurus-plugin-content-docs/version-21/commands-legacy/new-process.md
+++ b/i18n/ja/docusaurus-plugin-content-docs/version-21/commands-legacy/new-process.md
@@ -5,6 +5,15 @@ slug: /commands/new-process
displayed_sidebar: docs
---
+History
+
+|リリース|リリース|
+|---|---|
+|21|特定のローカルプロセス処理について削除|
+
+
+
+
**New process** ( *method* ; *stack* {; *name* {; *param* {; *param2* ; ... ; *paramN*}}}{; *} ) : Integer
| 引数 | 型 | | 説明 |
@@ -41,9 +50,7 @@ displayed_sidebar: docs
### プロセス名
-*name*には新しいプロセスの名前を指定します。シングルユーザーモードでは、ここで指定した名前がランタイムエクスプローラーのプロセスリストに表示され、この新しいプロセスに対して [Process info](../commands/process-info.md) コマンドを実行するとこの名前が返されます。この引数は省略することができます。省略した場合、プロセス名は空の文字列になります。ローカルスコープのプロセスを作成するには、名前の先頭にドルサイン ($) をつけます。
-
-**重要**: クライアント/サーバーにおいて、ローカルプロセスはデータにアクセスしてはいけないことに注意してください。詳細な情報については、*グローバルプロセスとローカルプロセス* の章を参照してください。
+*name*には新しいプロセスの名前を指定します。シングルユーザーモードでは、ここで指定した名前がランタイムエクスプローラーのプロセスリストに表示され、この新しいプロセスに対して [Process info](../commands/process-info.md) コマンドを実行するとこの名前が返されます。この引数は省略することができます。省略した場合、プロセス名は空の文字列になります。
### プロセスメソッドの引数
From 3f294c077c68fe64cd7842269989c8a50d6ed883 Mon Sep 17 00:00:00 2001
From: nobu teshima <44628598+nobuteshima@users.noreply.github.com>
Date: Thu, 13 Nov 2025 22:07:19 +0900
Subject: [PATCH 07/75] Update register-client.md (updating old information)
(#2993)
JA updating register client command so that includes latest information about the process and clients
---
.../commands-legacy/register-client.md | 31 +++++++++++++------
1 file changed, 22 insertions(+), 9 deletions(-)
diff --git a/i18n/ja/docusaurus-plugin-content-docs/current/commands-legacy/register-client.md b/i18n/ja/docusaurus-plugin-content-docs/current/commands-legacy/register-client.md
index 97ecb783be1cd2..674b8a5222d151 100644
--- a/i18n/ja/docusaurus-plugin-content-docs/current/commands-legacy/register-client.md
+++ b/i18n/ja/docusaurus-plugin-content-docs/current/commands-legacy/register-client.md
@@ -5,30 +5,35 @@ slug: /commands/register-client
displayed_sidebar: docs
---
-**REGISTER CLIENT** ( *clientName* {; *period*}{; *} )
+履歴
+
+|リリース|内容|
+|---|---|
+|21|\* 引数は無視されます|
+|11.3|*period* 引数は無視されます|
+
+
+
+
+**REGISTER CLIENT** ( *clientName* )
| 引数 | 型 | | 説明 |
| --- | --- | --- | --- |
| clientName | Text | → | 4Dクライアントセッション名 |
-| period | Integer | → | ***バージョン11.3より無効*** |
-| * | 演算子 | → | ローカルプロセス |
## 説明
-REGISTER CLIENT コマンドは、4Dクライアントステーションを、*clientName*で指定した名前で4D Serverに登録し、他のクライアントもしくは4D Server (ストアドプロシージャから) が登録されたマシン上で、[EXECUTE ON CLIENT](execute-on-client.md "EXECUTE ON CLIENT")コマンドを使ってメソッドを実行できるようにします。一旦登録されると、4Dクライアントは他のクライアント用に1つまたはそれ以上のメソッドを実行することができます。
+REGISTER CLIENT コマンドは、4Dクライアントステーションを、*clientName*で指定した名前で4D Serverに登録し、他のクライアントもしくは4D Server (ストアドプロシージャから) が登録されたマシン上で、[`EXECUTE ON CLIENT`](execute-on-client.md) コマンドを使ってメソッドを実行できるようにします。一旦登録されると、4Dクライアントは他のクライアント用に1つまたはそれ以上のメソッドを実行することができます。
**Notes:**
-* データベース環境設定ダイアログの、起動時にクライアント登録オプションを使って、4D Serverに接続するクライアントステーションを自動的に登録することができます。
+* ストラクチャー設定ダイアログの、「Execute On Client のために起動時にクライアント登録」オプションを使って、4D Serverに接続するクライアントステーションを自動的に登録することができます。
* ローカルモードの4Dでこのコマンドが使用されても効果はありません。
* ひとつ以上の4Dクライアントが同じ登録名を持つことができます。
-このコマンドが実行されると、クライアントステーション上に*clientName*という名のプロセスが作成されます。このプロセスは[UNREGISTER CLIENT](unregister-client.md "UNREGISTER CLIENT")コマンドによってのみアボート可能です。
-オプションの *\** 引数を渡すと、作成されるプロセスはローカルプロセスになり、4Dは自動的にプロセス名の始めにドルマーク ($) を付け加えます。そうでない場合は、グローバルプロセスです。
-
-4Dバージョン11.3より、サーバ/クライアント通信のメカニズムが最適化されました。サーバは必要に応じて直接、登録されたクライアントに実行 リクエストを送信します ("プッシュ"テクノロジ)。以前の、クライアントが定期的にサーバに問い合わせする方法は使用されません。*period*引数は無視されます。
+このコマンドが実行されると、クライアントステーション上に*clientName*という名のプロセスが作成されます。このプロセスは[`UNREGISTER CLIENT`](unregister-client.md) コマンドによってのみアボート可能です。
一度コマンドが実行されると、4Dクライアント名を動的に変更することはできません。これを実行するには、UNREGISTERCLIENTコマンドを呼び出し、再度REGISTER CLIENTコマンドを呼び出します。
@@ -40,6 +45,7 @@ displayed_sidebar: docs
```4d
//他の名前で登録する前に登録解除する必要がある
+ var vPseudoName : Text
UNREGISTER CLIENT
REPEAT
vPseudoName:=Request("名前を入力:";"ユーザ";"OK";"キャンセル")
@@ -55,6 +61,7 @@ displayed_sidebar: docs
2) 以下の指示は、登録されたクライアントのリストを得ることができるようにするものです。これは内に置くことができます:
```4d
+ var PrClientList : Integer
PrClientList:=New process("4D Client List";32000;"List of registered clients")
```
@@ -62,6 +69,11 @@ displayed_sidebar: docs
3) 以下の4D Client Listメソッドは、メッセージ受信可能な登録済み全4Dクライアントの登録名リストを入手します:
```4d
+
+ var $Ref; $p : Integer
+ ARRAY TEXT($ClientList;0)
+ ARRAY LONGINT($ListeCharge;0)
+
If(Application type=4D Remote Mode)
// 以下のコードはクライアントサーバでのみ有効
$Ref:=Open window(100;100;300;400;-(Palette window+Has window title);"List of registered clients")
@@ -83,6 +95,7 @@ displayed_sidebar: docs
4) 下記のメソッドは、登録済みの他の4Dクライアントにメッセージを送ります。これは、送られた4DクライアントでDisplay\_Messageメソッドを呼び出します(下記参照)。
```4d
+ var $Addressee; $Message : Text
$Addressee:=Request("メッセージの宛先:";"")
// On Startup データベースメソッドで取得した、メッセージ受信可能者リストの名前を指定
If(OK#0)
From 704018071f389e37542a702b36eab1b813880880 Mon Sep 17 00:00:00 2001
From: nobu teshima <44628598+nobuteshima@users.noreply.github.com>
Date: Thu, 13 Nov 2025 22:07:33 +0900
Subject: [PATCH 08/75] Update register-client.md (updating old information
into 21) (#2994)
JA updating register client command so that includes latest information about the process and clients into version 21
---
.../commands-legacy/register-client.md | 33 +++++++++++++------
1 file changed, 23 insertions(+), 10 deletions(-)
diff --git a/i18n/ja/docusaurus-plugin-content-docs/version-21/commands-legacy/register-client.md b/i18n/ja/docusaurus-plugin-content-docs/version-21/commands-legacy/register-client.md
index 97ecb783be1cd2..51948e4f9f6e9b 100644
--- a/i18n/ja/docusaurus-plugin-content-docs/version-21/commands-legacy/register-client.md
+++ b/i18n/ja/docusaurus-plugin-content-docs/version-21/commands-legacy/register-client.md
@@ -5,32 +5,37 @@ slug: /commands/register-client
displayed_sidebar: docs
---
-**REGISTER CLIENT** ( *clientName* {; *period*}{; *} )
+履歴
+
+|リリース|内容|
+|---|---|
+|21|\* 引数は無視されます|
+|11.3|*period* 引数は無視されます|
+
+
+
+
+**REGISTER CLIENT** ( *clientName* )
| 引数 | 型 | | 説明 |
| --- | --- | --- | --- |
| clientName | Text | → | 4Dクライアントセッション名 |
-| period | Integer | → | ***バージョン11.3より無効*** |
-| * | 演算子 | → | ローカルプロセス |
## 説明
-REGISTER CLIENT コマンドは、4Dクライアントステーションを、*clientName*で指定した名前で4D Serverに登録し、他のクライアントもしくは4D Server (ストアドプロシージャから) が登録されたマシン上で、[EXECUTE ON CLIENT](execute-on-client.md "EXECUTE ON CLIENT")コマンドを使ってメソッドを実行できるようにします。一旦登録されると、4Dクライアントは他のクライアント用に1つまたはそれ以上のメソッドを実行することができます。
+REGISTER CLIENT コマンドは、4Dクライアントステーションを、*clientName*で指定した名前で4D Serverに登録し、他のクライアントもしくは4D Server (ストアドプロシージャから) が登録されたマシン上で、[`EXECUTE ON CLIENT`](execute-on-client.md) コマンドを使ってメソッドを実行できるようにします。一旦登録されると、4Dクライアントは他のクライアント用に1つまたはそれ以上のメソッドを実行することができます。
**Notes:**
-* データベース環境設定ダイアログの、起動時にクライアント登録オプションを使って、4D Serverに接続するクライアントステーションを自動的に登録することができます。
+* ストラクチャー設定ダイアログの、「Execute On Client のために起動時にクライアント登録」オプションを使って、4D Serverに接続するクライアントステーションを自動的に登録することができます。
* ローカルモードの4Dでこのコマンドが使用されても効果はありません。
* ひとつ以上の4Dクライアントが同じ登録名を持つことができます。
-このコマンドが実行されると、クライアントステーション上に*clientName*という名のプロセスが作成されます。このプロセスは[UNREGISTER CLIENT](unregister-client.md "UNREGISTER CLIENT")コマンドによってのみアボート可能です。
-オプションの *\** 引数を渡すと、作成されるプロセスはローカルプロセスになり、4Dは自動的にプロセス名の始めにドルマーク ($) を付け加えます。そうでない場合は、グローバルプロセスです。
+このコマンドが実行されると、クライアントステーション上に*clientName*という名のプロセスが作成されます。このプロセスは[`UNREGISTER CLIENT`](unregister-client.md) コマンドによってのみアボート可能です。
-4Dバージョン11.3より、サーバ/クライアント通信のメカニズムが最適化されました。サーバは必要に応じて直接、登録されたクライアントに実行 リクエストを送信します ("プッシュ"テクノロジ)。以前の、クライアントが定期的にサーバに問い合わせする方法は使用されません。*period*引数は無視されます。
-
-一度コマンドが実行されると、4Dクライアント名を動的に変更することはできません。これを実行するには、UNREGISTERCLIENTコマンドを呼び出し、再度REGISTER CLIENTコマンドを呼び出します。
+一度コマンドが実行されると、4Dクライアント名を動的に変更することはできません。これを実行するには、UNREGISTER CLIENTコマンドを呼び出し、再度REGISTER CLIENTコマンドを呼び出します。
## 例題
@@ -40,6 +45,7 @@ displayed_sidebar: docs
```4d
//他の名前で登録する前に登録解除する必要がある
+ var vPseudoName : Text
UNREGISTER CLIENT
REPEAT
vPseudoName:=Request("名前を入力:";"ユーザ";"OK";"キャンセル")
@@ -55,6 +61,7 @@ displayed_sidebar: docs
2) 以下の指示は、登録されたクライアントのリストを得ることができるようにするものです。これは内に置くことができます:
```4d
+ var PrClientList : Integer
PrClientList:=New process("4D Client List";32000;"List of registered clients")
```
@@ -62,6 +69,11 @@ displayed_sidebar: docs
3) 以下の4D Client Listメソッドは、メッセージ受信可能な登録済み全4Dクライアントの登録名リストを入手します:
```4d
+
+ var $Ref; $p : Integer
+ ARRAY TEXT($ClientList;0)
+ ARRAY LONGINT($ListeCharge;0)
+
If(Application type=4D Remote Mode)
// 以下のコードはクライアントサーバでのみ有効
$Ref:=Open window(100;100;300;400;-(Palette window+Has window title);"List of registered clients")
@@ -83,6 +95,7 @@ displayed_sidebar: docs
4) 下記のメソッドは、登録済みの他の4Dクライアントにメッセージを送ります。これは、送られた4DクライアントでDisplay\_Messageメソッドを呼び出します(下記参照)。
```4d
+ var $Addressee; $Message : Text
$Addressee:=Request("メッセージの宛先:";"")
// On Startup データベースメソッドで取得した、メッセージ受信可能者リストの名前を指定
If(OK#0)
From f4e237fe1042372dd3a709613cf7ea6b3364d5ee Mon Sep 17 00:00:00 2001
From: arnaud-4d
Date: Thu, 13 Nov 2025 14:23:10 +0100
Subject: [PATCH 09/75] fix db param en FR
---
.../current/commands-legacy/get-database-parameter.md | 2 +-
.../current/commands-legacy/set-database-parameter.md | 2 +-
.../version-20-R10/commands-legacy/get-database-parameter.md | 2 +-
.../version-20-R10/commands-legacy/set-database-parameter.md | 2 +-
.../version-21/commands-legacy/get-database-parameter.md | 2 +-
.../version-21/commands-legacy/set-database-parameter.md | 2 +-
6 files changed, 6 insertions(+), 6 deletions(-)
diff --git a/i18n/fr/docusaurus-plugin-content-docs/current/commands-legacy/get-database-parameter.md b/i18n/fr/docusaurus-plugin-content-docs/current/commands-legacy/get-database-parameter.md
index a2c368c18016f0..408256a6f92ce3 100644
--- a/i18n/fr/docusaurus-plugin-content-docs/current/commands-legacy/get-database-parameter.md
+++ b/i18n/fr/docusaurus-plugin-content-docs/current/commands-legacy/get-database-parameter.md
@@ -434,7 +434,7 @@ A des fins d’optimisation, cette taille peut être diminuée sensiblement si l
**Valeurs possibles** : Valeur entière exprimant une durée en secondes. La valeur peut être positive (nouvelles connexions) ou négative (connexions existantes). Par défaut, la valeur est 20.
-**Description** : Délai maximum d’inactivité (timeout) des connexions au moteur de base de données et au serveur SQL de 4D ainsi que, en mode *ServerNet* (nouvelle couche réseau), au serveur d'applications 4D. Lorsqu’une connexion inactive atteint ce délai, elle est automatiquement mise en veille, ce qui se traduit par le gel de la session client/serveur et la fermeture du socket réseau. Dans la fenêtre d'administration du serveur, le process utilisateur prend l'état "Postponed". Ce fonctionnement est entièrement transparent pour l’utilisateur : dès qu’il y a reprise d’activité sur la connexion mise en veille, le socket est automatiquement rouvert et la session client/serveur restaurée.
+**Description** : Délai maximum d’inactivité (timeout) des connexions au moteur de base de données, au serveur SQL de 4D ainsi qu'au serveur d'applications 4D (mode *ServerNet* uniquement, ignoré en *QUIC*). Lorsqu’une connexion inactive atteint ce délai, elle est automatiquement mise en veille, ce qui se traduit par le gel de la session client/serveur et la fermeture du socket réseau. Dans la fenêtre d'administration du serveur, le process utilisateur prend l'état "Postponed". Ce fonctionnement est entièrement transparent pour l’utilisateur : dès qu’il y a reprise d’activité sur la connexion mise en veille, le socket est automatiquement rouvert et la session client/serveur restaurée.
Ce paramétrage permet, d’une part, d’économiser des ressources sur le serveur : les connexions mises en veille referment le socket et libèrent un processus sur le serveur. D’autre part, il permet d’éviter les pertes de connexions dues aux fermetures par les pare-feux des sockets inactifs. La valeur de timeout des connexions inactives doit pour cela être inférieure à celle du pare-feu.
diff --git a/i18n/fr/docusaurus-plugin-content-docs/current/commands-legacy/set-database-parameter.md b/i18n/fr/docusaurus-plugin-content-docs/current/commands-legacy/set-database-parameter.md
index 3c82b1faab6257..cc438fb9687309 100644
--- a/i18n/fr/docusaurus-plugin-content-docs/current/commands-legacy/set-database-parameter.md
+++ b/i18n/fr/docusaurus-plugin-content-docs/current/commands-legacy/set-database-parameter.md
@@ -433,7 +433,7 @@ A des fins d’optimisation, cette taille peut être diminuée sensiblement si l
**Valeurs possibles** : Valeur entière exprimant une durée en secondes. La valeur peut être positive (nouvelles connexions) ou négative (connexions existantes). Par défaut, la valeur est 20.
-**Description** : Délai maximum d’inactivité (timeout) des connexions au moteur de base de données et au serveur SQL de 4D ainsi que, en mode *ServerNet* (nouvelle couche réseau), au serveur d'applications 4D. Lorsqu’une connexion inactive atteint ce délai, elle est automatiquement mise en veille, ce qui se traduit par le gel de la session client/serveur et la fermeture du socket réseau. Dans la fenêtre d'administration du serveur, le process utilisateur prend l'état "Postponed". Ce fonctionnement est entièrement transparent pour l’utilisateur : dès qu’il y a reprise d’activité sur la connexion mise en veille, le socket est automatiquement rouvert et la session client/serveur restaurée.
+**Description** : Délai maximum d’inactivité (timeout) des connexions au moteur de base de données, au serveur SQL de 4D ainsi qu'au serveur d'applications 4D (mode *ServerNet* uniquement, ignoré en *QUIC*). Lorsqu’une connexion inactive atteint ce délai, elle est automatiquement mise en veille, ce qui se traduit par le gel de la session client/serveur et la fermeture du socket réseau. Dans la fenêtre d'administration du serveur, le process utilisateur prend l'état "Postponed". Ce fonctionnement est entièrement transparent pour l’utilisateur : dès qu’il y a reprise d’activité sur la connexion mise en veille, le socket est automatiquement rouvert et la session client/serveur restaurée.
Ce paramétrage permet, d’une part, d’économiser des ressources sur le serveur : les connexions mises en veille referment le socket et libèrent un processus sur le serveur. D’autre part, il permet d’éviter les pertes de connexions dues aux fermetures par les pare-feux des sockets inactifs. La valeur de timeout des connexions inactives doit pour cela être inférieure à celle du pare-feu.
diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-20-R10/commands-legacy/get-database-parameter.md b/i18n/fr/docusaurus-plugin-content-docs/version-20-R10/commands-legacy/get-database-parameter.md
index a2c368c18016f0..408256a6f92ce3 100644
--- a/i18n/fr/docusaurus-plugin-content-docs/version-20-R10/commands-legacy/get-database-parameter.md
+++ b/i18n/fr/docusaurus-plugin-content-docs/version-20-R10/commands-legacy/get-database-parameter.md
@@ -434,7 +434,7 @@ A des fins d’optimisation, cette taille peut être diminuée sensiblement si l
**Valeurs possibles** : Valeur entière exprimant une durée en secondes. La valeur peut être positive (nouvelles connexions) ou négative (connexions existantes). Par défaut, la valeur est 20.
-**Description** : Délai maximum d’inactivité (timeout) des connexions au moteur de base de données et au serveur SQL de 4D ainsi que, en mode *ServerNet* (nouvelle couche réseau), au serveur d'applications 4D. Lorsqu’une connexion inactive atteint ce délai, elle est automatiquement mise en veille, ce qui se traduit par le gel de la session client/serveur et la fermeture du socket réseau. Dans la fenêtre d'administration du serveur, le process utilisateur prend l'état "Postponed". Ce fonctionnement est entièrement transparent pour l’utilisateur : dès qu’il y a reprise d’activité sur la connexion mise en veille, le socket est automatiquement rouvert et la session client/serveur restaurée.
+**Description** : Délai maximum d’inactivité (timeout) des connexions au moteur de base de données, au serveur SQL de 4D ainsi qu'au serveur d'applications 4D (mode *ServerNet* uniquement, ignoré en *QUIC*). Lorsqu’une connexion inactive atteint ce délai, elle est automatiquement mise en veille, ce qui se traduit par le gel de la session client/serveur et la fermeture du socket réseau. Dans la fenêtre d'administration du serveur, le process utilisateur prend l'état "Postponed". Ce fonctionnement est entièrement transparent pour l’utilisateur : dès qu’il y a reprise d’activité sur la connexion mise en veille, le socket est automatiquement rouvert et la session client/serveur restaurée.
Ce paramétrage permet, d’une part, d’économiser des ressources sur le serveur : les connexions mises en veille referment le socket et libèrent un processus sur le serveur. D’autre part, il permet d’éviter les pertes de connexions dues aux fermetures par les pare-feux des sockets inactifs. La valeur de timeout des connexions inactives doit pour cela être inférieure à celle du pare-feu.
diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-20-R10/commands-legacy/set-database-parameter.md b/i18n/fr/docusaurus-plugin-content-docs/version-20-R10/commands-legacy/set-database-parameter.md
index db1b97c945a0c5..4c206c0620cb6c 100644
--- a/i18n/fr/docusaurus-plugin-content-docs/version-20-R10/commands-legacy/set-database-parameter.md
+++ b/i18n/fr/docusaurus-plugin-content-docs/version-20-R10/commands-legacy/set-database-parameter.md
@@ -433,7 +433,7 @@ A des fins d’optimisation, cette taille peut être diminuée sensiblement si l
**Valeurs possibles** : Valeur entière exprimant une durée en secondes. La valeur peut être positive (nouvelles connexions) ou négative (connexions existantes). Par défaut, la valeur est 20.
-**Description** : Délai maximum d’inactivité (timeout) des connexions au moteur de base de données et au serveur SQL de 4D ainsi que, en mode *ServerNet* (nouvelle couche réseau), au serveur d'applications 4D. Lorsqu’une connexion inactive atteint ce délai, elle est automatiquement mise en veille, ce qui se traduit par le gel de la session client/serveur et la fermeture du socket réseau. Dans la fenêtre d'administration du serveur, le process utilisateur prend l'état "Postponed". Ce fonctionnement est entièrement transparent pour l’utilisateur : dès qu’il y a reprise d’activité sur la connexion mise en veille, le socket est automatiquement rouvert et la session client/serveur restaurée.
+**Description** : Délai maximum d’inactivité (timeout) des connexions au moteur de base de données, au serveur SQL de 4D ainsi qu'au serveur d'applications 4D (mode *ServerNet* uniquement, ignoré en *QUIC*). Lorsqu’une connexion inactive atteint ce délai, elle est automatiquement mise en veille, ce qui se traduit par le gel de la session client/serveur et la fermeture du socket réseau. Dans la fenêtre d'administration du serveur, le process utilisateur prend l'état "Postponed". Ce fonctionnement est entièrement transparent pour l’utilisateur : dès qu’il y a reprise d’activité sur la connexion mise en veille, le socket est automatiquement rouvert et la session client/serveur restaurée.
Ce paramétrage permet, d’une part, d’économiser des ressources sur le serveur : les connexions mises en veille referment le socket et libèrent un processus sur le serveur. D’autre part, il permet d’éviter les pertes de connexions dues aux fermetures par les pare-feux des sockets inactifs. La valeur de timeout des connexions inactives doit pour cela être inférieure à celle du pare-feu.
diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-21/commands-legacy/get-database-parameter.md b/i18n/fr/docusaurus-plugin-content-docs/version-21/commands-legacy/get-database-parameter.md
index a2c368c18016f0..408256a6f92ce3 100644
--- a/i18n/fr/docusaurus-plugin-content-docs/version-21/commands-legacy/get-database-parameter.md
+++ b/i18n/fr/docusaurus-plugin-content-docs/version-21/commands-legacy/get-database-parameter.md
@@ -434,7 +434,7 @@ A des fins d’optimisation, cette taille peut être diminuée sensiblement si l
**Valeurs possibles** : Valeur entière exprimant une durée en secondes. La valeur peut être positive (nouvelles connexions) ou négative (connexions existantes). Par défaut, la valeur est 20.
-**Description** : Délai maximum d’inactivité (timeout) des connexions au moteur de base de données et au serveur SQL de 4D ainsi que, en mode *ServerNet* (nouvelle couche réseau), au serveur d'applications 4D. Lorsqu’une connexion inactive atteint ce délai, elle est automatiquement mise en veille, ce qui se traduit par le gel de la session client/serveur et la fermeture du socket réseau. Dans la fenêtre d'administration du serveur, le process utilisateur prend l'état "Postponed". Ce fonctionnement est entièrement transparent pour l’utilisateur : dès qu’il y a reprise d’activité sur la connexion mise en veille, le socket est automatiquement rouvert et la session client/serveur restaurée.
+**Description** : Délai maximum d’inactivité (timeout) des connexions au moteur de base de données, au serveur SQL de 4D ainsi qu'au serveur d'applications 4D (mode *ServerNet* uniquement, ignoré en *QUIC*). Lorsqu’une connexion inactive atteint ce délai, elle est automatiquement mise en veille, ce qui se traduit par le gel de la session client/serveur et la fermeture du socket réseau. Dans la fenêtre d'administration du serveur, le process utilisateur prend l'état "Postponed". Ce fonctionnement est entièrement transparent pour l’utilisateur : dès qu’il y a reprise d’activité sur la connexion mise en veille, le socket est automatiquement rouvert et la session client/serveur restaurée.
Ce paramétrage permet, d’une part, d’économiser des ressources sur le serveur : les connexions mises en veille referment le socket et libèrent un processus sur le serveur. D’autre part, il permet d’éviter les pertes de connexions dues aux fermetures par les pare-feux des sockets inactifs. La valeur de timeout des connexions inactives doit pour cela être inférieure à celle du pare-feu.
diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-21/commands-legacy/set-database-parameter.md b/i18n/fr/docusaurus-plugin-content-docs/version-21/commands-legacy/set-database-parameter.md
index 3c82b1faab6257..cc438fb9687309 100644
--- a/i18n/fr/docusaurus-plugin-content-docs/version-21/commands-legacy/set-database-parameter.md
+++ b/i18n/fr/docusaurus-plugin-content-docs/version-21/commands-legacy/set-database-parameter.md
@@ -433,7 +433,7 @@ A des fins d’optimisation, cette taille peut être diminuée sensiblement si l
**Valeurs possibles** : Valeur entière exprimant une durée en secondes. La valeur peut être positive (nouvelles connexions) ou négative (connexions existantes). Par défaut, la valeur est 20.
-**Description** : Délai maximum d’inactivité (timeout) des connexions au moteur de base de données et au serveur SQL de 4D ainsi que, en mode *ServerNet* (nouvelle couche réseau), au serveur d'applications 4D. Lorsqu’une connexion inactive atteint ce délai, elle est automatiquement mise en veille, ce qui se traduit par le gel de la session client/serveur et la fermeture du socket réseau. Dans la fenêtre d'administration du serveur, le process utilisateur prend l'état "Postponed". Ce fonctionnement est entièrement transparent pour l’utilisateur : dès qu’il y a reprise d’activité sur la connexion mise en veille, le socket est automatiquement rouvert et la session client/serveur restaurée.
+**Description** : Délai maximum d’inactivité (timeout) des connexions au moteur de base de données, au serveur SQL de 4D ainsi qu'au serveur d'applications 4D (mode *ServerNet* uniquement, ignoré en *QUIC*). Lorsqu’une connexion inactive atteint ce délai, elle est automatiquement mise en veille, ce qui se traduit par le gel de la session client/serveur et la fermeture du socket réseau. Dans la fenêtre d'administration du serveur, le process utilisateur prend l'état "Postponed". Ce fonctionnement est entièrement transparent pour l’utilisateur : dès qu’il y a reprise d’activité sur la connexion mise en veille, le socket est automatiquement rouvert et la session client/serveur restaurée.
Ce paramétrage permet, d’une part, d’économiser des ressources sur le serveur : les connexions mises en veille referment le socket et libèrent un processus sur le serveur. D’autre part, il permet d’éviter les pertes de connexions dues aux fermetures par les pare-feux des sockets inactifs. La valeur de timeout des connexions inactives doit pour cela être inférieure à celle du pare-feu.
From a5c184006366f40c16e78dbae338d06b66414fb1 Mon Sep 17 00:00:00 2001
From: arnaud-4d
Date: Thu, 13 Nov 2025 15:27:16 +0100
Subject: [PATCH 10/75] not DP AI integrated
---
docs/WritePro/writeprointerface.md | 2 +-
versioned_docs/version-20-R10/WritePro/writeprointerface.md | 2 +-
versioned_docs/version-21/WritePro/writeprointerface.md | 2 +-
3 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/docs/WritePro/writeprointerface.md b/docs/WritePro/writeprointerface.md
index 88ceb9359ccc8f..180464b5c76159 100644
--- a/docs/WritePro/writeprointerface.md
+++ b/docs/WritePro/writeprointerface.md
@@ -314,7 +314,7 @@ The 4D Write Pro interface uses OpenAI, for which you need to provide your own k
:::
-### Limitations (Developer Preview)
+### Limitations
In the current implementation, the feature has the following limitations:
diff --git a/versioned_docs/version-20-R10/WritePro/writeprointerface.md b/versioned_docs/version-20-R10/WritePro/writeprointerface.md
index 88ceb9359ccc8f..180464b5c76159 100644
--- a/versioned_docs/version-20-R10/WritePro/writeprointerface.md
+++ b/versioned_docs/version-20-R10/WritePro/writeprointerface.md
@@ -314,7 +314,7 @@ The 4D Write Pro interface uses OpenAI, for which you need to provide your own k
:::
-### Limitations (Developer Preview)
+### Limitations
In the current implementation, the feature has the following limitations:
diff --git a/versioned_docs/version-21/WritePro/writeprointerface.md b/versioned_docs/version-21/WritePro/writeprointerface.md
index 88ceb9359ccc8f..180464b5c76159 100644
--- a/versioned_docs/version-21/WritePro/writeprointerface.md
+++ b/versioned_docs/version-21/WritePro/writeprointerface.md
@@ -314,7 +314,7 @@ The 4D Write Pro interface uses OpenAI, for which you need to provide your own k
:::
-### Limitations (Developer Preview)
+### Limitations
In the current implementation, the feature has the following limitations:
From 6efce890a98a209e0fd410fceab121c49dc90ce8 Mon Sep 17 00:00:00 2001
From: arnaud-4d
Date: Thu, 13 Nov 2025 18:14:18 +0100
Subject: [PATCH 11/75] enhanced saving example
---
docs/ORDA/orda-events.md | 9 ++++++++-
versioned_docs/version-21/ORDA/orda-events.md | 9 ++++++++-
2 files changed, 16 insertions(+), 2 deletions(-)
diff --git a/docs/ORDA/orda-events.md b/docs/ORDA/orda-events.md
index f661164ca4e23c..16940a5c6fe0f5 100644
--- a/docs/ORDA/orda-events.md
+++ b/docs/ORDA/orda-events.md
@@ -453,7 +453,9 @@ If (This.userManualPath#"")
// The user manual document file is created on the disk
// This may fail if no more space is available
Try
- $fileCreated:=$userManualFile.create()
+ // The file content has been generated and stored in a map in Storage.docMap previously
+ $docInfo:=Storage.docMap.query("name = :1"; This.name).first()
+ $userManualFile.setContent($docInfo.content)
Catch
// No more room on disk for example
$result:={/
@@ -467,6 +469,11 @@ return $result
```
+:::note
+
+The content of the file is generated outside the `saving` event because it can be time consuming.
+
+:::
### `Function event afterSave`
diff --git a/versioned_docs/version-21/ORDA/orda-events.md b/versioned_docs/version-21/ORDA/orda-events.md
index f661164ca4e23c..16940a5c6fe0f5 100644
--- a/versioned_docs/version-21/ORDA/orda-events.md
+++ b/versioned_docs/version-21/ORDA/orda-events.md
@@ -453,7 +453,9 @@ If (This.userManualPath#"")
// The user manual document file is created on the disk
// This may fail if no more space is available
Try
- $fileCreated:=$userManualFile.create()
+ // The file content has been generated and stored in a map in Storage.docMap previously
+ $docInfo:=Storage.docMap.query("name = :1"; This.name).first()
+ $userManualFile.setContent($docInfo.content)
Catch
// No more room on disk for example
$result:={/
@@ -467,6 +469,11 @@ return $result
```
+:::note
+
+The content of the file is generated outside the `saving` event because it can be time consuming.
+
+:::
### `Function event afterSave`
From 26660dfd14de787a428cb97c7cbf8c2fc105c657 Mon Sep 17 00:00:00 2001
From: arnaud-4d
Date: Thu, 13 Nov 2025 18:32:22 +0100
Subject: [PATCH 12/75] orda events and table lock
---
docs/ORDA/orda-events.md | 2 +-
versioned_docs/version-20-R10/ORDA/orda-events.md | 2 +-
versioned_docs/version-21/ORDA/orda-events.md | 2 +-
3 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/docs/ORDA/orda-events.md b/docs/ORDA/orda-events.md
index 16940a5c6fe0f5..37e6f72be80965 100644
--- a/docs/ORDA/orda-events.md
+++ b/docs/ORDA/orda-events.md
@@ -29,7 +29,7 @@ You cannot directly trigger event function execution. Events are called automati
:::info Compatibility note
-ORDA entity events in the datastore are equivalent to triggers in the 4D database. However, actions triggered at the 4D database level using the 4D classic language commands or standard actions do not trigger ORDA events.
+ORDA entity events in the datastore are equivalent to triggers in the 4D database. However, actions triggered at the 4D database level using the 4D classic language commands or standard actions do not trigger ORDA events. Note also that, unlike triggers, ORDA entity events do not lock the entire underlying table of a dataclass while saving or dropping entities. Several events can run in parallel as long as they involve distinct entities (i.e. records).
:::
diff --git a/versioned_docs/version-20-R10/ORDA/orda-events.md b/versioned_docs/version-20-R10/ORDA/orda-events.md
index 42f09ec34ffe8a..69d761cdb242bf 100644
--- a/versioned_docs/version-20-R10/ORDA/orda-events.md
+++ b/versioned_docs/version-20-R10/ORDA/orda-events.md
@@ -21,7 +21,7 @@ You cannot directly trigger event function execution. Events are called automati
:::info Compatibility note
-ORDA entity events in the datastore are equivalent to triggers in the 4D database. However, actions triggered at the 4D database level using the 4D classic language commands or standard actions do not trigger ORDA events.
+ORDA entity events in the datastore are equivalent to triggers in the 4D database. However, actions triggered at the 4D database level using the 4D classic language commands or standard actions do not trigger ORDA events. Note also that, unlike triggers, ORDA entity events do not lock the entire underlying table of a dataclass while saving or dropping entities. Several events can run in parallel as long as they involve distinct entities (i.e. records).
:::
diff --git a/versioned_docs/version-21/ORDA/orda-events.md b/versioned_docs/version-21/ORDA/orda-events.md
index 16940a5c6fe0f5..37e6f72be80965 100644
--- a/versioned_docs/version-21/ORDA/orda-events.md
+++ b/versioned_docs/version-21/ORDA/orda-events.md
@@ -29,7 +29,7 @@ You cannot directly trigger event function execution. Events are called automati
:::info Compatibility note
-ORDA entity events in the datastore are equivalent to triggers in the 4D database. However, actions triggered at the 4D database level using the 4D classic language commands or standard actions do not trigger ORDA events.
+ORDA entity events in the datastore are equivalent to triggers in the 4D database. However, actions triggered at the 4D database level using the 4D classic language commands or standard actions do not trigger ORDA events. Note also that, unlike triggers, ORDA entity events do not lock the entire underlying table of a dataclass while saving or dropping entities. Several events can run in parallel as long as they involve distinct entities (i.e. records).
:::
From b68e111c7cbffd715e27f8a87ee741ebf3e694a0 Mon Sep 17 00:00:00 2001
From: arnaud-4d
Date: Thu, 13 Nov 2025 18:38:11 +0100
Subject: [PATCH 13/75] Updated blob to print settings - removed old stuff
---
docs/commands-legacy/blob-to-print-settings.md | 8 ++------
.../commands-legacy/blob-to-print-settings.md | 8 ++------
.../version-21/commands-legacy/blob-to-print-settings.md | 8 ++------
3 files changed, 6 insertions(+), 18 deletions(-)
diff --git a/docs/commands-legacy/blob-to-print-settings.md b/docs/commands-legacy/blob-to-print-settings.md
index 31cc5f522e5274..a474607f73cc37 100644
--- a/docs/commands-legacy/blob-to-print-settings.md
+++ b/docs/commands-legacy/blob-to-print-settings.md
@@ -17,14 +17,14 @@ displayed_sidebar: docs
## Description
-The **BLOB to print settings** command replaces the current 4D print settings with the parameters stored in the *printSettings* BLOB. This BLOB must have been generated by the [Print settings to BLOB](print-settings-to-blob.md) command or the 4D Pack command (see below).
+The **BLOB to print settings** command replaces the current 4D print settings with the parameters stored in the *printSettings* BLOB. This BLOB must have been generated by the [Print settings to BLOB](print-settings-to-blob.md) command.
The *params* parameter allows you to define how to handle the basic "number of copies" and "page range" settings:
* If you pass 0 or omit this parameter, the values stored in the BLOB are restored,
* If you pass 1, the values are reset to default: the number of copies is set to 1 and the page range is set to "all pages".
-The parameters are applied to the [current 4D printing settings](../settings/compatibility.md) as long as no command such as *\_o\_PAGE SETUP*, [SET PRINT OPTION](set-print-option.md) or [PRINT SELECTION](print-selection.md) without the > parameter modifies them. The parameters set are used more particularly by the [PRINT SELECTION](print-selection.md), [PRINT LABEL](print-label.md), [PRINT RECORD](print-record.md), [Print form](../commands/print-form.md) and [QR REPORT](qr-report.md) commands, as well as by the menu commands of 4D, including those of the Design environment.
+The parameters are applied to the [current 4D printing settings](../settings/compatibility.md) as long as no command such as [SET PRINT OPTION](set-print-option.md) or [PRINT SELECTION](print-selection.md) without the > parameter modifies them. The parameters set are used more particularly by the [PRINT SELECTION](print-selection.md), [PRINT LABEL](print-label.md), [PRINT RECORD](print-record.md), [Print form](../commands/print-form.md) and [QR REPORT](qr-report.md) commands, as well as by the menu commands of 4D, including those of the Design environment.
The [PRINT SELECTION](print-selection.md), [PRINT LABEL](print-label.md), and [PRINT RECORD](print-record.md) commands must be called with the *\>* parameter (if applicable) in order for the settings defined by **BLOB to print settings** to be kept.
@@ -43,10 +43,6 @@ The command returns one of the following status codes:
The *printSettings* BLOB can be saved and read on both platforms. However, even if some print settings are common, some others are platform-specific and depend on the drivers and system versions. If the same *printSettings* BLOB is shared between both platforms, you may lose parts of the information.
When used in a heterogeneous environment, in order to restore the maximum settings available for each platform (and not only the common part), it is recommended that you work with two *printSettings* BLOBs, one for each platform.
-### Compatibility with 4D Pack commands
-
-The print settings BLOBs generated by the legacy command from 4D Pack can be loaded and used by the **BLOB to print settings** command. Note however that if they are saved using [Print settings to BLOB](print-settings-to-blob.md), they are converted and can no longer be opened using . The **BLOB to print settings** command stores much more printing information than .
-
## Example
You want to apply print settings previously saved to disk to the current 4D printing context:
diff --git a/versioned_docs/version-20-R10/commands-legacy/blob-to-print-settings.md b/versioned_docs/version-20-R10/commands-legacy/blob-to-print-settings.md
index 31cc5f522e5274..a474607f73cc37 100644
--- a/versioned_docs/version-20-R10/commands-legacy/blob-to-print-settings.md
+++ b/versioned_docs/version-20-R10/commands-legacy/blob-to-print-settings.md
@@ -17,14 +17,14 @@ displayed_sidebar: docs
## Description
-The **BLOB to print settings** command replaces the current 4D print settings with the parameters stored in the *printSettings* BLOB. This BLOB must have been generated by the [Print settings to BLOB](print-settings-to-blob.md) command or the 4D Pack command (see below).
+The **BLOB to print settings** command replaces the current 4D print settings with the parameters stored in the *printSettings* BLOB. This BLOB must have been generated by the [Print settings to BLOB](print-settings-to-blob.md) command.
The *params* parameter allows you to define how to handle the basic "number of copies" and "page range" settings:
* If you pass 0 or omit this parameter, the values stored in the BLOB are restored,
* If you pass 1, the values are reset to default: the number of copies is set to 1 and the page range is set to "all pages".
-The parameters are applied to the [current 4D printing settings](../settings/compatibility.md) as long as no command such as *\_o\_PAGE SETUP*, [SET PRINT OPTION](set-print-option.md) or [PRINT SELECTION](print-selection.md) without the > parameter modifies them. The parameters set are used more particularly by the [PRINT SELECTION](print-selection.md), [PRINT LABEL](print-label.md), [PRINT RECORD](print-record.md), [Print form](../commands/print-form.md) and [QR REPORT](qr-report.md) commands, as well as by the menu commands of 4D, including those of the Design environment.
+The parameters are applied to the [current 4D printing settings](../settings/compatibility.md) as long as no command such as [SET PRINT OPTION](set-print-option.md) or [PRINT SELECTION](print-selection.md) without the > parameter modifies them. The parameters set are used more particularly by the [PRINT SELECTION](print-selection.md), [PRINT LABEL](print-label.md), [PRINT RECORD](print-record.md), [Print form](../commands/print-form.md) and [QR REPORT](qr-report.md) commands, as well as by the menu commands of 4D, including those of the Design environment.
The [PRINT SELECTION](print-selection.md), [PRINT LABEL](print-label.md), and [PRINT RECORD](print-record.md) commands must be called with the *\>* parameter (if applicable) in order for the settings defined by **BLOB to print settings** to be kept.
@@ -43,10 +43,6 @@ The command returns one of the following status codes:
The *printSettings* BLOB can be saved and read on both platforms. However, even if some print settings are common, some others are platform-specific and depend on the drivers and system versions. If the same *printSettings* BLOB is shared between both platforms, you may lose parts of the information.
When used in a heterogeneous environment, in order to restore the maximum settings available for each platform (and not only the common part), it is recommended that you work with two *printSettings* BLOBs, one for each platform.
-### Compatibility with 4D Pack commands
-
-The print settings BLOBs generated by the legacy command from 4D Pack can be loaded and used by the **BLOB to print settings** command. Note however that if they are saved using [Print settings to BLOB](print-settings-to-blob.md), they are converted and can no longer be opened using . The **BLOB to print settings** command stores much more printing information than .
-
## Example
You want to apply print settings previously saved to disk to the current 4D printing context:
diff --git a/versioned_docs/version-21/commands-legacy/blob-to-print-settings.md b/versioned_docs/version-21/commands-legacy/blob-to-print-settings.md
index 31cc5f522e5274..a474607f73cc37 100644
--- a/versioned_docs/version-21/commands-legacy/blob-to-print-settings.md
+++ b/versioned_docs/version-21/commands-legacy/blob-to-print-settings.md
@@ -17,14 +17,14 @@ displayed_sidebar: docs
## Description
-The **BLOB to print settings** command replaces the current 4D print settings with the parameters stored in the *printSettings* BLOB. This BLOB must have been generated by the [Print settings to BLOB](print-settings-to-blob.md) command or the 4D Pack command (see below).
+The **BLOB to print settings** command replaces the current 4D print settings with the parameters stored in the *printSettings* BLOB. This BLOB must have been generated by the [Print settings to BLOB](print-settings-to-blob.md) command.
The *params* parameter allows you to define how to handle the basic "number of copies" and "page range" settings:
* If you pass 0 or omit this parameter, the values stored in the BLOB are restored,
* If you pass 1, the values are reset to default: the number of copies is set to 1 and the page range is set to "all pages".
-The parameters are applied to the [current 4D printing settings](../settings/compatibility.md) as long as no command such as *\_o\_PAGE SETUP*, [SET PRINT OPTION](set-print-option.md) or [PRINT SELECTION](print-selection.md) without the > parameter modifies them. The parameters set are used more particularly by the [PRINT SELECTION](print-selection.md), [PRINT LABEL](print-label.md), [PRINT RECORD](print-record.md), [Print form](../commands/print-form.md) and [QR REPORT](qr-report.md) commands, as well as by the menu commands of 4D, including those of the Design environment.
+The parameters are applied to the [current 4D printing settings](../settings/compatibility.md) as long as no command such as [SET PRINT OPTION](set-print-option.md) or [PRINT SELECTION](print-selection.md) without the > parameter modifies them. The parameters set are used more particularly by the [PRINT SELECTION](print-selection.md), [PRINT LABEL](print-label.md), [PRINT RECORD](print-record.md), [Print form](../commands/print-form.md) and [QR REPORT](qr-report.md) commands, as well as by the menu commands of 4D, including those of the Design environment.
The [PRINT SELECTION](print-selection.md), [PRINT LABEL](print-label.md), and [PRINT RECORD](print-record.md) commands must be called with the *\>* parameter (if applicable) in order for the settings defined by **BLOB to print settings** to be kept.
@@ -43,10 +43,6 @@ The command returns one of the following status codes:
The *printSettings* BLOB can be saved and read on both platforms. However, even if some print settings are common, some others are platform-specific and depend on the drivers and system versions. If the same *printSettings* BLOB is shared between both platforms, you may lose parts of the information.
When used in a heterogeneous environment, in order to restore the maximum settings available for each platform (and not only the common part), it is recommended that you work with two *printSettings* BLOBs, one for each platform.
-### Compatibility with 4D Pack commands
-
-The print settings BLOBs generated by the legacy command from 4D Pack can be loaded and used by the **BLOB to print settings** command. Note however that if they are saved using [Print settings to BLOB](print-settings-to-blob.md), they are converted and can no longer be opened using . The **BLOB to print settings** command stores much more printing information than .
-
## Example
You want to apply print settings previously saved to disk to the current 4D printing context:
From 8dd964ed3799a9183b7160abce287792da454343 Mon Sep 17 00:00:00 2001
From: arnaud-4d
Date: Fri, 14 Nov 2025 09:44:42 +0100
Subject: [PATCH 14/75] New Crowdin updates (#2995)
* New translations updates.md (French)
* New translations listbox_overview.md (French)
* New translations listbox_overview.md (French)
* New translations writeprointerface.md (French)
* New translations license-info.md (French)
* New translations listbox_overview.md (French)
* New translations writeprointerface.md (French)
* New translations license-info.md (French)
* New translations listbox_overview.md (French)
* New translations license-info.md (French)
* New translations writeprointerface.md (French)
* New translations updates.md (Spanish)
* New translations listbox_overview.md (Spanish)
* New translations quick-tour.md (Spanish)
* New translations debugger.md (Spanish)
* New translations clientserver.md (Spanish)
* New translations formeditor.md (Spanish)
* New translations listbox_overview.md (Spanish)
* New translations entities.md (Spanish)
* New translations privileges.md (Spanish)
* New translations compiler.md (Spanish)
* New translations vp-import-from-object.md (Spanish)
* New translations sessions.md (Spanish)
* New translations writeprointerface.md (Spanish)
* New translations license-info.md (Spanish)
* New translations webarea_overview.md (Spanish)
* New translations managing-formulas.md (Spanish)
* New translations wp-import-document.md (Spanish)
* New translations tcpeventclass.md (Spanish)
* New translations new-log-file.md (Spanish)
* New translations openaimessage.md (Spanish)
* New translations asynchronous-call.md (Spanish)
* New translations orda-events.md (Spanish)
* New translations field-properties.md (Spanish)
* New translations udpeventclass.md (Spanish)
* New translations openaiembeddingsapi.md (Spanish)
* New translations tcpeventclass.md (Spanish)
* New translations udpeventclass.md (Spanish)
* New translations debugger.md (Spanish)
* New translations field-properties.md (Spanish)
* New translations listbox_overview.md (Spanish)
* New translations webarea_overview.md (Spanish)
* New translations entities.md (Spanish)
* New translations orda-events.md (Spanish)
* New translations compiler.md (Spanish)
* New translations vp-import-from-object.md (Spanish)
* New translations vp-set-data-context.md (Spanish)
* New translations vp-set-workbook-options.md (Spanish)
* New translations configuring.md (Spanish)
* New translations sessions.md (Spanish)
* New translations wp-import-document.md (Spanish)
* New translations managing-formulas.md (Spanish)
* New translations writeprointerface.md (Spanish)
* New translations openaiembeddingsapi.md (Spanish)
* New translations openaimessage.md (Spanish)
* New translations asynchronous-call.md (Spanish)
* New translations write-class-method.md (Spanish)
* New translations command-name.md (Spanish)
* New translations license-info.md (Spanish)
* New translations new-log-file.md (Spanish)
* New translations tcpeventclass.md (Spanish)
* New translations udpeventclass.md (Spanish)
* New translations quick-tour.md (Spanish)
* New translations debugger.md (Spanish)
* New translations clientserver.md (Spanish)
* New translations field-properties.md (Spanish)
* New translations formeditor.md (Spanish)
* New translations listbox_overview.md (Spanish)
* New translations write-class-method.md (Spanish)
* New translations command-name.md (Spanish)
* New translations license-info.md (Spanish)
* New translations new-log-file.md (Spanish)
* New translations webarea_overview.md (Spanish)
* New translations entities.md (Spanish)
* New translations orda-events.md (Spanish)
* New translations ordaclasses.md (Spanish)
* New translations privileges.md (Spanish)
* New translations compiler.md (Spanish)
* New translations vp-import-from-object.md (Spanish)
* New translations vp-set-data-context.md (Spanish)
* New translations vp-set-workbook-options.md (Spanish)
* New translations configuring.md (Spanish)
* New translations sessions.md (Spanish)
* New translations wp-import-document.md (Spanish)
* New translations managing-formulas.md (Spanish)
* New translations writeprointerface.md (Spanish)
* New translations openaiembeddingsapi.md (Spanish)
* New translations openaimessage.md (Spanish)
* New translations asynchronous-call.md (Spanish)
* New translations updates.md (Japanese)
* New translations listbox_overview.md (Japanese)
* New translations listbox_overview.md (Japanese)
* New translations writeprointerface.md (Japanese)
* New translations license-info.md (Japanese)
* New translations listbox_overview.md (Japanese)
* New translations writeprointerface.md (Japanese)
* New translations license-info.md (Japanese)
* New translations listbox_overview.md (Japanese)
* New translations license-info.md (Japanese)
* New translations writeprointerface.md (Japanese)
* New translations updates.md (Portuguese, Brazilian)
* New translations listbox_overview.md (Portuguese, Brazilian)
* New translations listbox_overview.md (Portuguese, Brazilian)
* New translations writeprointerface.md (Portuguese, Brazilian)
* New translations license-info.md (Portuguese, Brazilian)
* New translations listbox_overview.md (Portuguese, Brazilian)
* New translations writeprointerface.md (Portuguese, Brazilian)
* New translations license-info.md (Portuguese, Brazilian)
* New translations listbox_overview.md (Portuguese, Brazilian)
* New translations license-info.md (Portuguese, Brazilian)
* New translations writeprointerface.md (Portuguese, Brazilian)
---
.../current/API/TCPEventClass.md | 2 +-
.../current/API/UDPEventClass.md | 2 +-
.../current/Concepts/quick-tour.md | 2 +-
.../current/Debugging/debugger.md | 2 +-
.../current/Desktop/clientServer.md | 2 +-
.../current/Develop/field-properties.md | 4 ++--
.../current/FormEditor/formEditor.md | 2 +-
.../current/FormObjects/listbox_overview.md | 4 +---
.../current/FormObjects/webArea_overview.md | 2 +-
.../current/ORDA/entities.md | 2 +-
.../current/ORDA/orda-events.md | 4 ++--
.../current/ORDA/privileges.md | 4 ++--
.../current/Project/compiler.md | 2 +-
.../ViewPro/commands/vp-import-from-object.md | 6 +++---
.../current/WebServer/sessions.md | 4 ++--
.../WritePro/commands/wp-import-document.md | 2 +-
.../current/WritePro/managing-formulas.md | 2 +-
.../current/WritePro/writeprointerface.md | 2 +-
.../aikit/Classes/OpenAIEmbeddingsAPI.md | 2 +-
.../current/aikit/Classes/OpenAIMessage.md | 2 +-
.../current/aikit/asynchronous-call.md | 2 +-
.../current/commands/license-info.md | 6 ++++++
.../current/commands/new-log-file.md | 2 +-
.../version-20-R10/API/TCPEventClass.md | 2 +-
.../version-20-R10/API/UDPEventClass.md | 2 +-
.../version-20-R10/Debugging/debugger.md | 2 +-
.../Develop/field-properties.md | 4 ++--
.../FormObjects/listbox_overview.md | 4 +---
.../FormObjects/webArea_overview.md | 2 +-
.../version-20-R10/ORDA/entities.md | 2 +-
.../version-20-R10/ORDA/orda-events.md | 2 +-
.../version-20-R10/Project/compiler.md | 2 +-
.../ViewPro/commands/vp-import-from-object.md | 6 +++---
.../ViewPro/commands/vp-set-data-context.md | 8 ++++----
.../commands/vp-set-workbook-options.md | 4 ++--
.../version-20-R10/ViewPro/configuring.md | 20 +++++++++----------
.../version-20-R10/WebServer/sessions.md | 2 +-
.../WritePro/commands/wp-import-document.md | 2 +-
.../WritePro/managing-formulas.md | 2 +-
.../WritePro/writeprointerface.md | 2 +-
.../aikit/Classes/OpenAIEmbeddingsAPI.md | 2 +-
.../aikit/Classes/OpenAIMessage.md | 2 +-
.../version-20-R10/aikit/asynchronous-call.md | 2 +-
.../code-editor/write-class-method.md | 20 +++++++++----------
.../version-20-R10/commands/command-name.md | 2 +-
.../version-20-R10/commands/license-info.md | 7 ++++++-
.../version-20-R10/commands/new-log-file.md | 2 +-
.../FormObjects/listbox_overview.md | 4 +---
.../version-20/Notes/updates.md | 2 ++
.../version-21/API/TCPEventClass.md | 2 +-
.../version-21/API/UDPEventClass.md | 2 +-
.../version-21/Concepts/quick-tour.md | 2 +-
.../version-21/Debugging/debugger.md | 2 +-
.../version-21/Desktop/clientServer.md | 2 +-
.../version-21/Develop/field-properties.md | 4 ++--
.../version-21/FormEditor/formEditor.md | 2 +-
.../FormObjects/listbox_overview.md | 4 +---
.../FormObjects/webArea_overview.md | 2 +-
.../version-21/ORDA/entities.md | 2 +-
.../version-21/ORDA/orda-events.md | 4 ++--
.../version-21/ORDA/ordaClasses.md | 2 +-
.../version-21/ORDA/privileges.md | 4 ++--
.../version-21/Project/compiler.md | 2 +-
.../ViewPro/commands/vp-import-from-object.md | 6 +++---
.../ViewPro/commands/vp-set-data-context.md | 8 ++++----
.../commands/vp-set-workbook-options.md | 4 ++--
.../version-21/ViewPro/configuring.md | 20 +++++++++----------
.../version-21/WebServer/sessions.md | 4 ++--
.../WritePro/commands/wp-import-document.md | 2 +-
.../version-21/WritePro/managing-formulas.md | 2 +-
.../version-21/WritePro/writeprointerface.md | 2 +-
.../aikit/Classes/OpenAIEmbeddingsAPI.md | 2 +-
.../version-21/aikit/Classes/OpenAIMessage.md | 4 ++--
.../version-21/aikit/asynchronous-call.md | 2 +-
.../code-editor/write-class-method.md | 20 +++++++++----------
.../version-21/commands/command-name.md | 2 +-
.../version-21/commands/license-info.md | 7 ++++++-
.../version-21/commands/new-log-file.md | 2 +-
.../current/FormObjects/listbox_overview.md | 12 +++++------
.../current/WritePro/writeprointerface.md | 2 +-
.../current/commands/license-info.md | 6 ++++++
.../FormObjects/listbox_overview.md | 4 +---
.../WritePro/writeprointerface.md | 2 +-
.../version-20-R10/commands/license-info.md | 7 ++++++-
.../FormObjects/listbox_overview.md | 4 +---
.../version-20/Notes/updates.md | 2 ++
.../FormObjects/listbox_overview.md | 4 +---
.../version-21/WritePro/writeprointerface.md | 2 +-
.../version-21/commands/license-info.md | 7 ++++++-
.../current/FormObjects/listbox_overview.md | 4 +---
.../current/WritePro/writeprointerface.md | 2 +-
.../current/commands/license-info.md | 6 ++++++
.../FormObjects/listbox_overview.md | 4 +---
.../WritePro/writeprointerface.md | 2 +-
.../version-20-R10/commands/license-info.md | 7 ++++++-
.../FormObjects/listbox_overview.md | 4 +---
.../version-20/Notes/updates.md | 2 ++
.../FormObjects/listbox_overview.md | 4 +---
.../version-21/WritePro/writeprointerface.md | 2 +-
.../version-21/commands/license-info.md | 7 ++++++-
.../current/FormObjects/listbox_overview.md | 4 +---
.../current/WritePro/writeprointerface.md | 2 +-
.../current/commands/license-info.md | 6 ++++++
.../FormObjects/listbox_overview.md | 4 +---
.../WritePro/writeprointerface.md | 2 +-
.../version-20-R10/commands/license-info.md | 7 ++++++-
.../FormObjects/listbox_overview.md | 4 +---
.../version-20/Notes/updates.md | 2 ++
.../FormObjects/listbox_overview.md | 4 +---
.../version-21/WritePro/writeprointerface.md | 2 +-
.../version-21/commands/license-info.md | 7 ++++++-
111 files changed, 239 insertions(+), 199 deletions(-)
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/API/TCPEventClass.md b/i18n/es/docusaurus-plugin-content-docs/current/API/TCPEventClass.md
index 52e2c9108a0367..c5ed7c2561fabb 100644
--- a/i18n/es/docusaurus-plugin-content-docs/current/API/TCPEventClass.md
+++ b/i18n/es/docusaurus-plugin-content-docs/current/API/TCPEventClass.md
@@ -35,7 +35,7 @@ Las siguientes propiedades están disponibles:
#### Descripción
-The `.address` property contains the IP address of the remote machine.
+La propiedad `.address` contiene la dirección IP de la máquina remota.
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/API/UDPEventClass.md b/i18n/es/docusaurus-plugin-content-docs/current/API/UDPEventClass.md
index 50ee0a4757f21a..60a92ed745b94b 100644
--- a/i18n/es/docusaurus-plugin-content-docs/current/API/UDPEventClass.md
+++ b/i18n/es/docusaurus-plugin-content-docs/current/API/UDPEventClass.md
@@ -34,7 +34,7 @@ Las siguientes propiedades están disponibles:
#### Descripción
-The `.address` property contains the IP address of the remote machine.
+La propiedad `.address` contiene la dirección IP de la máquina remota.
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/Concepts/quick-tour.md b/i18n/es/docusaurus-plugin-content-docs/current/Concepts/quick-tour.md
index 11a8bfb346184d..cbb2891ff73f2a 100644
--- a/i18n/es/docusaurus-plugin-content-docs/current/Concepts/quick-tour.md
+++ b/i18n/es/docusaurus-plugin-content-docs/current/Concepts/quick-tour.md
@@ -428,4 +428,4 @@ Las siguientes convenciones se utilizan en la documentación del lenguaje 4D:
- los caracteres{ }`(llaves) indican parámetros opcionales. Por ejemplo,`.delete( { option : Integer } )\` significa que el parámetro *option* puede omitirse al llamar a la función.
- la notación `{ ; ...param }` indica un número ilimitado de parámetros. Por ejemplo, `.concat( value : any { ;...valueN } ) : Collection` significa que se puede pasar a la función un número ilimitado de valores de cualquier tipo.
-- the `any` keyword is used for parameters that can be of any type (number, text, boolean, date, time, object, collection...).
+- la palabra clave `any` se utiliza para parámetros que pueden ser de cualquier tipo (número, texto, booleano, fecha, hora, objeto, colección...).
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/Debugging/debugger.md b/i18n/es/docusaurus-plugin-content-docs/current/Debugging/debugger.md
index 61da45ff362f5b..e684cd82a4f2a2 100644
--- a/i18n/es/docusaurus-plugin-content-docs/current/Debugging/debugger.md
+++ b/i18n/es/docusaurus-plugin-content-docs/current/Debugging/debugger.md
@@ -393,7 +393,7 @@ Esta área también le permite añadir o eliminar [**puntos de ruptura**](breakp
### Prototipo
-The prototype of the currently executed method or function in the Call chain is displayed on the top of the pane:
+El prototipo del método o de la función en ejecución en la cadena de llamadas se muestra en la parte superior del panel:

diff --git a/i18n/es/docusaurus-plugin-content-docs/current/Desktop/clientServer.md b/i18n/es/docusaurus-plugin-content-docs/current/Desktop/clientServer.md
index fa5d056395d3c4..689333389298b9 100644
--- a/i18n/es/docusaurus-plugin-content-docs/current/Desktop/clientServer.md
+++ b/i18n/es/docusaurus-plugin-content-docs/current/Desktop/clientServer.md
@@ -120,7 +120,7 @@ Todos los procedimientos almacenados en el servidor comparten la misma sesión d
### Compartiendo la sesión con páginas Qodly en áreas web
-Remote client sessions can be used to handle Client/Server applications where [Qodly pages](https://developer.4d.com/qodly/4DQodlyPro/pageLoaders/pageLoaderOverview) are used for the interface, running on remote machines. With this configuration, your applications have modern CSS-based web interfaces but still benefit from the power and simplicity of integrated client/server development. In such applications, Qodly pages are executed within standard 4D [Web areas](../FormObjects/webArea_overview.md).
+Remote client sessions can be used to handle Client/Server applications where [Qodly pages](https://developer.4d.com/qodly/4DQodlyPro/pageLoaders/pageLoaderOverview) are used for the interface, running on remote machines. With this configuration, your applications have modern CSS-based web interfaces but still benefit from the power and simplicity of integrated client/server development. En tales aplicaciones, las páginas Qodly se ejecutan dentro de las [áreas Web](../FormObjects/webArea_overview.md) 4D estándar.
Para gestionar esta configuración, necesita utilizar sesiones cliente remotas. Actually, requests coming from both the remote 4D application and its Qodly pages loaded in Web areas need to work inside a single user session. You just have to share the same session between the remote client and its web pages so that you can have the same [session storage](../API/SessionClass.md#storage) and client license, whatever the request origin.
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/Develop/field-properties.md b/i18n/es/docusaurus-plugin-content-docs/current/Develop/field-properties.md
index 26c51c0f4661d3..f51a7c77821969 100644
--- a/i18n/es/docusaurus-plugin-content-docs/current/Develop/field-properties.md
+++ b/i18n/es/docusaurus-plugin-content-docs/current/Develop/field-properties.md
@@ -15,7 +15,7 @@ Puede introducir cualquier nombre de clase válido en esta propiedad, incluyendo
- Clases usuario (por ejemplo, `cs.MyClass`)
- Clases 4D integradas (por ejemplo, `4D.File`, `4D.Folder`)
-- [Exposed](../Extensions/develop-components.md#sharing-of-classes) component-defined classes (e.g. `cs.MyComponent.MyClass`)
+- las clases [exposed](../Extensions/develop-components.md#sharing-of-classes) definidas por componentes (por ejemplo, `cs.MyComponent.MyClass`)
Si introduce un nombre de clase inválido, se activa una advertencia y se rechaza la entrada.
@@ -31,6 +31,6 @@ To retrieve the associated class name at runtime, use the [`classID`](../API/Dat
### Ver también
-- [Blog post: Stricter class-based typing for objects](https://blog.4d.com/stricter-class-based-typing-for-objects/)
+- [Articulo de blog: tipificación más estricta de objetos basada en clases](https://blog.4d.com/stricter-class-based-typing-for-objects/)
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/FormEditor/formEditor.md b/i18n/es/docusaurus-plugin-content-docs/current/FormEditor/formEditor.md
index 97382d62de2ca5..cf6cf60af1898f 100644
--- a/i18n/es/docusaurus-plugin-content-docs/current/FormEditor/formEditor.md
+++ b/i18n/es/docusaurus-plugin-content-docs/current/FormEditor/formEditor.md
@@ -157,7 +157,7 @@ Para seleccionar un objeto utilizando la Lista de propiedades:
1. Seleccione el nombre del objeto en la lista desplegable de objetos situada en la parte superior de la lista de propiedades. Con estos dos métodos, puede seleccionar un objeto que esté oculto por otros objetos o que se encuentre fuera del área visible de la ventana actual.
Para deseleccionar un objeto, haga clic fuera del límite del objeto o **Mayúsculas+clic** en el objeto.
-> It is also possible to select objects by double-clicking them in the result window of "Find in design" operation.
+> También es posible seleccionar objetos haciendo doble clic en la ventana de resultados de la operación "Buscar en diseño".
### Selección de múltiples objetos
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/FormObjects/listbox_overview.md b/i18n/es/docusaurus-plugin-content-docs/current/FormObjects/listbox_overview.md
index c0eb2ead1f7645..70f95f80f4359e 100644
--- a/i18n/es/docusaurus-plugin-content-docs/current/FormObjects/listbox_overview.md
+++ b/i18n/es/docusaurus-plugin-content-docs/current/FormObjects/listbox_overview.md
@@ -1035,7 +1035,7 @@ Ejemplos:
ARRAY TEXT($RequiredList;0)
APPEND TO ARRAY($RequiredList;"Open")
APPEND TO ARRAY($RequiredList;"Closed")
- var $ob Object
+ var $ob : Object
OB SET($ob;"valueType";"text")
OB SET($ob;"value";"Closed")
OB SET ARRAY($ob;"requiredList";$RequiredList)
@@ -1100,9 +1100,7 @@ Ejemplos:
OB SET($ob;"requiredListReference";<>List)
```
-```

-```
#### choiceListName y choiceListReference
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/FormObjects/webArea_overview.md b/i18n/es/docusaurus-plugin-content-docs/current/FormObjects/webArea_overview.md
index 9563e559ec2d24..649f7739c0fabc 100644
--- a/i18n/es/docusaurus-plugin-content-docs/current/FormObjects/webArea_overview.md
+++ b/i18n/es/docusaurus-plugin-content-docs/current/FormObjects/webArea_overview.md
@@ -57,7 +57,7 @@ $4d.HelloWorld();
### Controlar el acceso a $4d
-Con [`WA SET CONTEXT`](../commands/wa-set-context.md), los desarrolladores pueden controlar lo que puede estar disponible a través de `$4d` desde un área Web. Using this command you define a **context object** that declares for example 4D methods through formulas and class instances.
+Con [`WA SET CONTEXT`](../commands/wa-set-context.md), los desarrolladores pueden controlar lo que puede estar disponible a través de `$4d` desde un área Web. Este comando permite definir un **objeto contexto** que declara, por ejemplo, los métodos 4D a través de fórmulas e instancias de clase.
Para verificar el contexto definido actualmente, utilice [`WA Get context`](../commands/wa-get-context.md).
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/ORDA/entities.md b/i18n/es/docusaurus-plugin-content-docs/current/ORDA/entities.md
index 759037097c7260..c720b3faff06f5 100644
--- a/i18n/es/docusaurus-plugin-content-docs/current/ORDA/entities.md
+++ b/i18n/es/docusaurus-plugin-content-docs/current/ORDA/entities.md
@@ -462,7 +462,7 @@ Function event restrict() -> $result : cs.*DataClassName*Selection
Esta función se llama cada vez que se solicita una selección de entidades o una entidad de la dataclass. El filtro se ejecuta una vez, cuando se crea la selección de entidades.
-El filtro debe devolver una selección de entidades de la clase de datos. It can be an entity selection built upon a query, stored in the [`Storage`](../API/SessionClass.md#storage), etc.
+El filtro debe devolver una selección de entidades de la clase de datos. Puede ser una selección de entidades basada en una petición, almacenada en el [`Storage`](../API/SessionClass.md#storage), etc.
:::note
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/ORDA/orda-events.md b/i18n/es/docusaurus-plugin-content-docs/current/ORDA/orda-events.md
index e0a193b6847649..6b204d9893d00f 100644
--- a/i18n/es/docusaurus-plugin-content-docs/current/ORDA/orda-events.md
+++ b/i18n/es/docusaurus-plugin-content-docs/current/ORDA/orda-events.md
@@ -443,7 +443,7 @@ Función evento afterSave($event : Object)
// código
```
-This event is triggered just after an entity is saved in the data file, when at least one attribute was modified. No se ejecuta si no se ha tocado ningún atributo en la entidad.
+Este evento se activa justo después de guardar una entidad en el archivo de datos, cuando se ha modificado al menos un atributo. No se ejecuta si no se ha tocado ningún atributo en la entidad.
This event is useful after saving data to propagate the save action outside the application or to execute administration tasks. Por ejemplo, se puede utilizar para enviar un correo electrónico de confirmación después de guardar los datos. O, en caso de error al guardar los datos, puede hacer una cancelación para restaurar un estado consistente de los datos.
@@ -454,7 +454,7 @@ La función recibe un [objeto *event*](#event-parameter) como parámetro.
#### Ejemplo
-If an error occurred in the above saving event, the attribute value is reset accordingly in the `afterSave` event:
+Si se produce un error en el evento de guardado anterior, el valor del atributo se restablece en consecuencia en el evento `afterSave`:
```4d
// ProductsEntity class
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/ORDA/privileges.md b/i18n/es/docusaurus-plugin-content-docs/current/ORDA/privileges.md
index 72cf097a8cd4f4..24876efc710352 100644
--- a/i18n/es/docusaurus-plugin-content-docs/current/ORDA/privileges.md
+++ b/i18n/es/docusaurus-plugin-content-docs/current/ORDA/privileges.md
@@ -253,7 +253,7 @@ The `restrictedByDefault` property configures how every [resource](#resources) a
:::note Compatibilidad
-- When **creating a new project**, the `restrictedByDefault` property is set to **false** in the *roles.json* file (see below). Tenga en cuenta que esta configuración está hecha a medida para un inicio rápido y un desarrollo fluido. In production environment, [it is recommended to set the `restrictedByDefault` and `forceLogin` properties to **true**](#configuring-restrictedbydefault-and-forcelogin-properties).
+- Al **crear un nuevo proyecto**, la propiedad `restrictedByDefault` se establece en **false** en el archivo *roles.json* (ver abajo). Tenga en cuenta que esta configuración está hecha a medida para un inicio rápido y un desarrollo fluido. In production environment, [it is recommended to set the `restrictedByDefault` and `forceLogin` properties to **true**](#configuring-restrictedbydefault-and-forcelogin-properties).
- In **projects converted from previous releases**; when enabling access to Qodly Studio using the [One-click configuration dialog](https://developer.4d.com/qodly/4DQodlyPro/gettingStarted#one-click-configuration), the `restrictedByDefault` property is added with value **true** in the *roles.json* file.
:::
@@ -263,7 +263,7 @@ The `restrictedByDefault` property configures how every [resource](#resources) a
Depending on your environment, the recommended settings are:
- **Production**: Set both `restrictedByDefault` and [`forceLogin`](../REST/authUsers.md#force-login-mode) to **true**. Esto garantiza la máxima seguridad al requerir autenticación de usuario y permisos explícitamente definidos para el acceso a recursos.
-- **Development**: Set both `restrictedByDefault` and [`forceLogin`](../REST/authUsers.md#force-login-mode) to **false**. This allows easier access during development and debugging, with the possibility to gradually apply restrictions.
+- **Development**: Set both `restrictedByDefault` and [`forceLogin`](../REST/authUsers.md#force-login-mode) to **false**. Esto permite un acceso más fácil durante el desarrollo y la depuración, con la posibilidad de aplicar gradualmente restricciones.
### Archivo `Roles_Errors.json`
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/Project/compiler.md b/i18n/es/docusaurus-plugin-content-docs/current/Project/compiler.md
index 77cb73581775e8..094ac783b93138 100644
--- a/i18n/es/docusaurus-plugin-content-docs/current/Project/compiler.md
+++ b/i18n/es/docusaurus-plugin-content-docs/current/Project/compiler.md
@@ -146,7 +146,7 @@ El modo de escritura directa es opcional sólo en proyectos convertidos. Se util
:::
-Select **All variables are typed (Direct typing)** option in the **Compilation Path** menu to enable the direct typing mode. Cuando se selecciona esta opción, las demás opciones de compatibilidad pierden su utilidad y dejan de mostrarse.
+Seleccione la opción **Todas las variables se escriben (escritura directa)** en el menú **Ruta de compilación** para activar el modo de escritura directa. Cuando se selecciona esta opción, las demás opciones de compatibilidad pierden su utilidad y dejan de mostrarse.
Se recomienda utilizar esta opción, ya que proporciona flexibilidad y eficiencia. El concepto de escritura directa asume que todos los elementos se declaran directamente donde están definidos en su código. Solo tiene que asegurarse de que todas sus variables son declaradas utilizando la [sintaxis 'var'](../Concepts/variables.md#declaring-variables) y que sus parámetros de método y función son declarados [en sus prototipos](../Concepts/parameters.md) (la función [Verificar sintaxis](#check-syntax) puede ayudarle a detectar declaraciones faltantes o no válidas).
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/ViewPro/commands/vp-import-from-object.md b/i18n/es/docusaurus-plugin-content-docs/current/ViewPro/commands/vp-import-from-object.md
index 5de7dd5a04b0d3..9198703b14db21 100644
--- a/i18n/es/docusaurus-plugin-content-docs/current/ViewPro/commands/vp-import-from-object.md
+++ b/i18n/es/docusaurus-plugin-content-docs/current/ViewPro/commands/vp-import-from-object.md
@@ -37,9 +37,9 @@ Se devuelve un error si el objeto *viewPro* no es válido.
En *paramObj*, puede pasar la siguiente propiedad:
-| Propiedad | Tipo | Descripción |
-| --------- | --------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
-| formula | 4D.Function | (Optional) Callback function to be executed when the object is loaded and all 4D custom functions have responded. Ver [Pasar un método de retrollamada (fórmula)](vp-export-document.md#passing-a-callback-method-formula). |
+| Propiedad | Tipo | Descripción |
+| --------- | --------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
+| formula | 4D.Function | (Opcional) Función de retrollamada a ser ejecutada cuando el objeto está cargado y todas las funciones personalizadas 4D han respondido. Ver [Pasar un método de retrollamada (fórmula)](vp-export-document.md#passing-a-callback-method-formula). |
Los siguientes parámetros se pueden utilizar en el método de retrollamada:
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/WebServer/sessions.md b/i18n/es/docusaurus-plugin-content-docs/current/WebServer/sessions.md
index daeaf088d5b5d0..ae2eec52be1b58 100644
--- a/i18n/es/docusaurus-plugin-content-docs/current/WebServer/sessions.md
+++ b/i18n/es/docusaurus-plugin-content-docs/current/WebServer/sessions.md
@@ -211,11 +211,11 @@ End if
El servidor web 4D le permite generar, compartir y utilizar tokens de sesión OTP (One-Time Passcode). Los tokens de sesión OTP se utilizan para asegurar comunicaciones con aplicaciones de terceros o sitios web. For information on OTP, please refer to the [One-time password page](https://en.wikipedia.org/wiki/One-time_password) on Wikipedia.
-In 4D, OTP session tokens are useful when calling external URLs and being called back in another browser or device (mobile/computer). Typically, a third-party application sends a confirmation email containing a callback link on which the user has to click. El enlace de retrollamada incluye el token OTP, para que la sesión que activó la retrollamada se cargue junto con sus datos y privilegios. This principle allows you to share the same session on multiple devices. Gracias a esta arquitectura, la [cookie de sesión](#session-implementation) no está expuesta en la red, lo que elimina el riesgo de un ataque de hombre en el medio.
+In 4D, OTP session tokens are useful when calling external URLs and being called back in another browser or device (mobile/computer). Normalmente, una aplicación de terceros envía un correo electrónico de confirmación que contiene un enlace de retrollamada en el que el usuario tiene que hacer clic. El enlace de retrollamada incluye el token OTP, para que la sesión que activó la retrollamada se cargue junto con sus datos y privilegios. This principle allows you to share the same session on multiple devices. Gracias a esta arquitectura, la [cookie de sesión](#session-implementation) no está expuesta en la red, lo que elimina el riesgo de un ataque de hombre en el medio.
:::tips Entradas de blog relacionadas
-[Connect Your Web Apps to Third-Party Systems](https://blog.4d.com/connect-your-web-apps-to-third-party-systems/)
+[Conecte sus aplicaciones web a sistemas de terceros](https://blog.4d.com/connect-your-web-apps-to-third-party-systems/)
:::
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/WritePro/commands/wp-import-document.md b/i18n/es/docusaurus-plugin-content-docs/current/WritePro/commands/wp-import-document.md
index 625a6d5df492ed..05064f54bf9dd9 100644
--- a/i18n/es/docusaurus-plugin-content-docs/current/WritePro/commands/wp-import-document.md
+++ b/i18n/es/docusaurus-plugin-content-docs/current/WritePro/commands/wp-import-document.md
@@ -58,7 +58,7 @@ Puede pasar un objeto para definir cómo se gestionan los siguientes atributos d
| secciones | Text | Sólo para documentos MS Word (.docx). Especifica cómo se maneja la sección. Valores disponibles:
**all** (por defecto) - Se importan todas las secciones. Secciones continuas, incluso impares se convierten en secciones estándar. **ignore** \- Sections are converted to default 4D Write Pro sections (A4 portrait layout without header or footer). **Nota**: las rupturas de secciones de cualquier tipo pero continuas se convierten en rupturas de sección con rupturas de página. Continuous section breaks are imported as continuous section breaks. |
| fields | Text | Sólo para documentos MS Word (.docx). Especifica cómo se manejan los campos .docx que no pueden ser convertidos a fórmulas 4D Write Pro. Valores disponibles:
**ignore** \- Los campos .docx son ignorados. **label** \- .docx field references are imported as labels within double curly braces ("{{ }}"). Ej: el campo "ClientName" se importará como {{ClientName}}. **value** (default) - El último valor calculado para el campo .docx (si está disponible) es importado. **Note**: If a .docx field corresponds to a 4D Write Pro variable, the field is imported as a formula and this option is ignored. |
| borderRules | Text | Sólo para documentos MS Word (.docx). Especifica cómo se gestionan los bordes de los párrafos. Valores disponibles:
**collapse** \- El formato del párrafo se modifica para imitar los bordes colapsados automáticamente. Tenga en cuenta que la propiedad contraída sólo se aplica durante la operación de importación. If a stylesheet with a automatic border collapse setting is reapplied after the import operation, the setting will be ignored. **noCollapse** (por defecto) - No se modifica el formato de los párrafos. |
-| preferredFontScriptType | Text | Sólo para documentos MS Word (.docx). Specifies the preferred typeface to use when different typefaces are defined for a single font property in OOXML. Valores disponibles:
**latin** (por defecto) - script latino **bidi** \- script bidreccional. Adecuado si el documento es principalmente bidireccional de izquierda a derecha (LTR) o de derecha a izquierda (RTL) texto (por ejemplo, árabe o hebreo). **eastAsia** \- East Asian script. Adecuado si el documento es principalmente texto asiático. |
+| preferredFontScriptType | Text | Sólo para documentos MS Word (.docx). Especifica el tipo de letra preferido que se utilizará cuando se definan distintos tipos de letra para una única propiedad de fuente en OOXML. Valores disponibles:
**latin** (por defecto) - script latino **bidi** \- script bidreccional. Adecuado si el documento es principalmente bidireccional de izquierda a derecha (LTR) o de derecha a izquierda (RTL) texto (por ejemplo, árabe o hebreo). **eastAsia** \- East Asian script. Adecuado si el documento es principalmente texto asiático. |
| htmlExpressions | Text | Sólo para documentos 4D Write (.4w7). Especifica cómo se manejan las expresiones HTML. Available values:
**rawText** \- HTML expressions are imported as raw text within ##htmlBegin## and ##htmlEnd## tags **ignore** (default) - HTML expressions are ignored. |
| importDisplayMode | Text | Sólo para documentos 4D Write (.4w7). Especifica cómo se gestiona la visualización de imágenes. Available values:
**legacy -** 4W7 image display mode is converted using a background image if different than scaled to fit. **noLegacy** (default) - 4W7 image display mode is converted to the *imageDisplayMode* attribute if different than scaled to fit. |
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/WritePro/managing-formulas.md b/i18n/es/docusaurus-plugin-content-docs/current/WritePro/managing-formulas.md
index 9b3b514f1617ea..35e3b3b515c769 100644
--- a/i18n/es/docusaurus-plugin-content-docs/current/WritePro/managing-formulas.md
+++ b/i18n/es/docusaurus-plugin-content-docs/current/WritePro/managing-formulas.md
@@ -201,7 +201,7 @@ En este caso, puede mostrar las referencias a fórmulas como símbolos , or
+- active la opción **Mostrar origen de fórmula como símbolo** en la lista de propiedades (consulte *Configuración de las propiedades de la vista*), o
- utilizar la acción estándar displayFormulaAsSymbol (ver *Uso de las acciones estándar de 4D Write Pro*), o bien
- usa el comando [**WP SET VIEW PROPERTIES**](commands-legacy/wp-set-view-properties.md) con el selector `wk display formula as symbol` en **True**.
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/WritePro/writeprointerface.md b/i18n/es/docusaurus-plugin-content-docs/current/WritePro/writeprointerface.md
index febf1ee68cb3e9..b5c8070174f4d1 100644
--- a/i18n/es/docusaurus-plugin-content-docs/current/WritePro/writeprointerface.md
+++ b/i18n/es/docusaurus-plugin-content-docs/current/WritePro/writeprointerface.md
@@ -312,7 +312,7 @@ La interfaz de 4D Write Pro utiliza OpenAI, para lo cual necesita suministrar su
:::
-### Limitaciones (Developer Preview)
+### Limitaciones
En la aplicación actual, la función tiene las siguientes limitaciones:
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIEmbeddingsAPI.md b/i18n/es/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIEmbeddingsAPI.md
index 7d99ad8f1204a6..af4bea76385705 100644
--- a/i18n/es/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIEmbeddingsAPI.md
+++ b/i18n/es/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIEmbeddingsAPI.md
@@ -46,7 +46,7 @@ var $vectors : Collection:=$result.vectors // collection of 4D.Vector
> Before using embeddings with a specific service, please check its documentation to see if embeddings are supported, and select the appropriate embedding model.
-For example, for Mistral, use [mistral-embed or codestral-embed](https://docs.mistral.ai/capabilities/embeddings/)
+Por ejemplo, para Mistral, utilice [mistral-embed o codestral-embed](https://docs.mistral.ai/capabilities/embeddings/)
```4d
var $result:=$client.embeddings.create($inputs; "mistral-embed")
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIMessage.md b/i18n/es/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIMessage.md
index 217e62d372ad77..223b4de69615ec 100644
--- a/i18n/es/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIMessage.md
+++ b/i18n/es/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIMessage.md
@@ -50,7 +50,7 @@ $message.addImageURL("http://example.com/image.jpg"; "high")
### Responder a un mensaje de llamada de herramienta
-When an assistant needs to use external functions, it generates a message with `tool_calls` to request function execution.
+Cuando un asistente necesita utilizar las funciones externas, genera un mensaje con `tool_calls` para solicitar la ejecución de la función.
**Mensaje del asistente solicitando las llamadas de la herramienta:**
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/aikit/asynchronous-call.md b/i18n/es/docusaurus-plugin-content-docs/current/aikit/asynchronous-call.md
index ff565bb2601c7b..ed81a7d77e2b7a 100644
--- a/i18n/es/docusaurus-plugin-content-docs/current/aikit/asynchronous-call.md
+++ b/i18n/es/docusaurus-plugin-content-docs/current/aikit/asynchronous-call.md
@@ -25,7 +25,7 @@ The asynchronous method is based on [4D.HTTPRequest](https://developer.4d.com/do
$client.models.list({formula: Formula(MyReceiveMethod($1))})
```
-`$1` will be an instance of [OpenAIModelListResult](Classes/OpenAIModelListResult.md), so `MyReceiveMethod` method could be:
+`$1` será una instancia de [OpenAIModelListResult](Classes/OpenAIModelListResult.md), por lo que el método `MyReceiveMethod` podría ser:
```4d
#DECLARE($result: cs.AIKit.OpenAIModelListResult)
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/commands/license-info.md b/i18n/es/docusaurus-plugin-content-docs/current/commands/license-info.md
index 2dd755075547c4..c2f031693f6363 100644
--- a/i18n/es/docusaurus-plugin-content-docs/current/commands/license-info.md
+++ b/i18n/es/docusaurus-plugin-content-docs/current/commands/license-info.md
@@ -20,6 +20,12 @@ displayed_sidebar: docs
Si el comando se ejecuta en una aplicación 4D que no utiliza localmente una licencia (por ejemplo, 4D remote), el comando devuelve un objeto Null.
+:::note
+
+Este comando recarga los archivos de licencia desde el disco y actualiza los derechos asociados si han sido modificados.
+
+:::
+
El objeto devuelto contiene las siguientes propiedades:
```json
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/commands/new-log-file.md b/i18n/es/docusaurus-plugin-content-docs/current/commands/new-log-file.md
index a3a706e3623201..cd29afa0fbc333 100644
--- a/i18n/es/docusaurus-plugin-content-docs/current/commands/new-log-file.md
+++ b/i18n/es/docusaurus-plugin-content-docs/current/commands/new-log-file.md
@@ -25,7 +25,7 @@ caja de diálogo.
The file is renamed with the current backup numbers of the database and of the log file, as shown in the following example: DatabaseName\[BackupNum-LogBackupNum\].journal. Por ejemplo:
-- If the MyDatabase.4DD database has been saved 4 times, the last backup file will be named MyDatabase\[0004\].4BK. El nombre del primer “segment” del archivo de registro será, por lo tanto, MyDatabase\[0004-0001\].journal.
+- Si la base de datos MyDatabase.4DD ha sido guardada 4 veces, el último archivo de copia de seguridad se llamará MyDatabase\[0004\].4BK. El nombre del primer “segment” del archivo de registro será, por lo tanto, MyDatabase\[0004-0001\].journal.
- If the MyDatabase.4DD database has been saved 3 times and the log file has been saved 5 times since, the name of the 6th backup of the log file will be MyDatabase\[0003-0006\].journal.
:::warning
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/API/TCPEventClass.md b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/API/TCPEventClass.md
index 52e2c9108a0367..c5ed7c2561fabb 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/API/TCPEventClass.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/API/TCPEventClass.md
@@ -35,7 +35,7 @@ Las siguientes propiedades están disponibles:
#### Descripción
-The `.address` property contains the IP address of the remote machine.
+La propiedad `.address` contiene la dirección IP de la máquina remota.
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/API/UDPEventClass.md b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/API/UDPEventClass.md
index 50ee0a4757f21a..60a92ed745b94b 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/API/UDPEventClass.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/API/UDPEventClass.md
@@ -34,7 +34,7 @@ Las siguientes propiedades están disponibles:
#### Descripción
-The `.address` property contains the IP address of the remote machine.
+La propiedad `.address` contiene la dirección IP de la máquina remota.
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/Debugging/debugger.md b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/Debugging/debugger.md
index 61da45ff362f5b..e684cd82a4f2a2 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/Debugging/debugger.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/Debugging/debugger.md
@@ -393,7 +393,7 @@ Esta área también le permite añadir o eliminar [**puntos de ruptura**](breakp
### Prototipo
-The prototype of the currently executed method or function in the Call chain is displayed on the top of the pane:
+El prototipo del método o de la función en ejecución en la cadena de llamadas se muestra en la parte superior del panel:

diff --git a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/Develop/field-properties.md b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/Develop/field-properties.md
index 26c51c0f4661d3..f51a7c77821969 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/Develop/field-properties.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/Develop/field-properties.md
@@ -15,7 +15,7 @@ Puede introducir cualquier nombre de clase válido en esta propiedad, incluyendo
- Clases usuario (por ejemplo, `cs.MyClass`)
- Clases 4D integradas (por ejemplo, `4D.File`, `4D.Folder`)
-- [Exposed](../Extensions/develop-components.md#sharing-of-classes) component-defined classes (e.g. `cs.MyComponent.MyClass`)
+- las clases [exposed](../Extensions/develop-components.md#sharing-of-classes) definidas por componentes (por ejemplo, `cs.MyComponent.MyClass`)
Si introduce un nombre de clase inválido, se activa una advertencia y se rechaza la entrada.
@@ -31,6 +31,6 @@ To retrieve the associated class name at runtime, use the [`classID`](../API/Dat
### Ver también
-- [Blog post: Stricter class-based typing for objects](https://blog.4d.com/stricter-class-based-typing-for-objects/)
+- [Articulo de blog: tipificación más estricta de objetos basada en clases](https://blog.4d.com/stricter-class-based-typing-for-objects/)
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/FormObjects/listbox_overview.md b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/FormObjects/listbox_overview.md
index 3f61236a812366..ab7f86953d4573 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/FormObjects/listbox_overview.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/FormObjects/listbox_overview.md
@@ -1102,9 +1102,7 @@ Ejemplos:
OB SET($ob;"requiredListReference";<>List)
```
- ```
- 
- ```
+
#### choiceListName y choiceListReference
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/FormObjects/webArea_overview.md b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/FormObjects/webArea_overview.md
index 0370bcc059fdce..008310d5b2f8a3 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/FormObjects/webArea_overview.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/FormObjects/webArea_overview.md
@@ -51,7 +51,7 @@ $4d.HelloWorld();
### Controlar el acceso a $4d
-Con [`WA SET CONTEXT`](../commands/wa-set-context.md), los desarrolladores pueden controlar lo que puede estar disponible a través de `$4d` desde un área Web. Using this command you define a **context object** that declares for example 4D methods through formulas and class instances.
+Con [`WA SET CONTEXT`](../commands/wa-set-context.md), los desarrolladores pueden controlar lo que puede estar disponible a través de `$4d` desde un área Web. Este comando permite definir un **objeto contexto** que declara, por ejemplo, los métodos 4D a través de fórmulas e instancias de clase.
Para verificar el contexto definido actualmente, utilice [`WA Get context`](../commands/wa-get-context.md).
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/ORDA/entities.md b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/ORDA/entities.md
index ceb0d989f2296a..5acb3f71d8b59c 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/ORDA/entities.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/ORDA/entities.md
@@ -462,7 +462,7 @@ Function event restrict() -> $result : cs.*DataClassName*Selection
Esta función se llama cada vez que se solicita una selección de entidades o una entidad de la dataclass. El filtro se ejecuta una vez, cuando se crea la selección de entidades.
-El filtro debe devolver una selección de entidades de la clase de datos. It can be an entity selection built upon a query, stored in the [`Storage`](../API/SessionClass.md#storage), etc.
+El filtro debe devolver una selección de entidades de la clase de datos. Puede ser una selección de entidades basada en una petición, almacenada en el [`Storage`](../API/SessionClass.md#storage), etc.
:::note
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/ORDA/orda-events.md b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/ORDA/orda-events.md
index ada6076fe08286..dbba01abbd9f8a 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/ORDA/orda-events.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/ORDA/orda-events.md
@@ -88,7 +88,7 @@ Las funciones de evento aceptan un único objeto *event* como parámetro. Cuando
Este evento se activa cada vez que se modifica un valor en la entidad.
- if you defined the function at the entity level (first syntax), it is triggered for modifications on any attribute of the entity.
-- if you defined the function at the attribute level (second syntax), it is triggered only for modifications on this attribute.
+- si ha definido la función en el nivel de atributo (segunda sintaxis), se activa sólo para modificaciones en este atributo.
Este evento se activa tan pronto como el motor de 4D Server / 4D detecta una modificación del valor del atributo que puede deberse a las siguientes acciones:
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/Project/compiler.md b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/Project/compiler.md
index 77cb73581775e8..094ac783b93138 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/Project/compiler.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/Project/compiler.md
@@ -146,7 +146,7 @@ El modo de escritura directa es opcional sólo en proyectos convertidos. Se util
:::
-Select **All variables are typed (Direct typing)** option in the **Compilation Path** menu to enable the direct typing mode. Cuando se selecciona esta opción, las demás opciones de compatibilidad pierden su utilidad y dejan de mostrarse.
+Seleccione la opción **Todas las variables se escriben (escritura directa)** en el menú **Ruta de compilación** para activar el modo de escritura directa. Cuando se selecciona esta opción, las demás opciones de compatibilidad pierden su utilidad y dejan de mostrarse.
Se recomienda utilizar esta opción, ya que proporciona flexibilidad y eficiencia. El concepto de escritura directa asume que todos los elementos se declaran directamente donde están definidos en su código. Solo tiene que asegurarse de que todas sus variables son declaradas utilizando la [sintaxis 'var'](../Concepts/variables.md#declaring-variables) y que sus parámetros de método y función son declarados [en sus prototipos](../Concepts/parameters.md) (la función [Verificar sintaxis](#check-syntax) puede ayudarle a detectar declaraciones faltantes o no válidas).
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/ViewPro/commands/vp-import-from-object.md b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/ViewPro/commands/vp-import-from-object.md
index 5de7dd5a04b0d3..9198703b14db21 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/ViewPro/commands/vp-import-from-object.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/ViewPro/commands/vp-import-from-object.md
@@ -37,9 +37,9 @@ Se devuelve un error si el objeto *viewPro* no es válido.
En *paramObj*, puede pasar la siguiente propiedad:
-| Propiedad | Tipo | Descripción |
-| --------- | --------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
-| formula | 4D.Function | (Optional) Callback function to be executed when the object is loaded and all 4D custom functions have responded. Ver [Pasar un método de retrollamada (fórmula)](vp-export-document.md#passing-a-callback-method-formula). |
+| Propiedad | Tipo | Descripción |
+| --------- | --------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
+| formula | 4D.Function | (Opcional) Función de retrollamada a ser ejecutada cuando el objeto está cargado y todas las funciones personalizadas 4D han respondido. Ver [Pasar un método de retrollamada (fórmula)](vp-export-document.md#passing-a-callback-method-formula). |
Los siguientes parámetros se pueden utilizar en el método de retrollamada:
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/ViewPro/commands/vp-set-data-context.md b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/ViewPro/commands/vp-set-data-context.md
index 8a32e26833bd1a..23421aa679b365 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/ViewPro/commands/vp-set-data-context.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/ViewPro/commands/vp-set-data-context.md
@@ -42,10 +42,10 @@ Para pasar un valor de tiempo en *dataObj* o *dataColl*, encapsúlelo en un obje
En *options*, puede pasar un objeto que especifique las opciones adicionales. Las propiedades posibles son:
-| Propiedad | Tipo | Descripción |
-| ------------------- | ------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
-| reset | Object | True para restablecer el contenido de la hoja antes de cargar el nuevo contexto, False (por defecto) en caso contrario. |
-| autoGenerateColumns | Object | Sólo se utiliza cuando los datos son una colección. True (por defecto) para especificar que las columnas deben generarse automáticamente cuando se vincula el contexto de datos. In this case, the following rules apply: - If *dataColl* is a collection of objects, attribute names are used as column titles (see example 2).
- If *dataColl* contains subcollections of scalar values, each subcollection defines the values in a row (see example 3). La primera subcolección determina cuántas columnas se crean.
|
+| Propiedad | Tipo | Descripción |
+| ------------------- | ------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| reset | Object | True para restablecer el contenido de la hoja antes de cargar el nuevo contexto, False (por defecto) en caso contrario. |
+| autoGenerateColumns | Object | Sólo se utiliza cuando los datos son una colección. True (por defecto) para especificar que las columnas deben generarse automáticamente cuando se vincula el contexto de datos. In this case, the following rules apply: - If *dataColl* is a collection of objects, attribute names are used as column titles (see example 2).
- Si *dataColl* contiene subcolecciones de valores escalares, cada subcolección define los valores de una línea (ver el ejemplo 3). La primera subcolección determina cuántas columnas se crean.
|
En *sheet*, pase el índice de la hoja que recibirá el contexto de datos. Si no se pasa ningún índice, el contexto se aplica a la hoja actual.
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/ViewPro/commands/vp-set-workbook-options.md b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/ViewPro/commands/vp-set-workbook-options.md
index d059be21bf1f19..2843b740b83dc6 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/ViewPro/commands/vp-set-workbook-options.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/ViewPro/commands/vp-set-workbook-options.md
@@ -80,11 +80,11 @@ En la siguiente tabla se listan las opciones de libros de trabajo disponibles:
| showDragFillTip | boolean | Mostrar la punta de arrastrar y soltar. |
| showHorizontalScrollbar | boolean | Mostrar la barra de desplazamiento horizontal. |
| showResizeTip | number | Cómo mostrar el tip de redimensionamiento. Available values: | Constant | Value | Description |
|---|
| vk show resize tip both | 3 | Horizontal and vertical resize tips are displayed. |
| vk show resize tip column | 1 | Solo se muestra la punta de redimensionamiento horizontal. |
| vk show resize tip none | 0 | No resize tip is displayed. |
| vk show resize tip row | 2 | Only the vertical resize tip is displayed. |
|
-| showScrollTip | number | Cómo mostrar el tip de desplazamiento. Available values: | Constant | Value | Description |
|---|
| vk show scroll tip both | 3 | Horizontal and vertical scroll tips are displayed. |
| vk show scroll tip horizontal | 1 | Only the horizontal scroll tip is displayed. |
| vk show scroll tip none | No se muestra ninguna propina. |
| vk show scroll tip vertical | 2 | Solo se muestra la punta de desplazamiento vertical. |
|
+| showScrollTip | number | Cómo mostrar el tip de desplazamiento. Available values: | Constant | Value | Description |
|---|
| vk show scroll tip both | 3 | Horizontal and vertical scroll tips are displayed. |
| vk show scroll tip horizontal | 1 | Solo se muestra la punta de desplazamiento vertical. |
| vk show scroll tip none | No se muestra ninguna propina. |
| vk show scroll tip vertical | 2 | Solo se muestra la punta de desplazamiento vertical. |
|
| showVerticalScrollbar | boolean | Mostrar la barra de desplazamiento vertical. |
| tabEditable | boolean | La pestaña de la hoja se puede editar. |
| tabNavigationVisible | boolean | Mostrar la navegación por pestañas. |
-| tabStripPosition | number | Posición de la barra de pestañas. Available values: | Constant | Value | Description |
|---|
| vk tab strip position bottom | 0 | Tab strip position is relative to the bottom of the workbook. |
| vk tab strip position left | 2 | Tab strip position is relative to the left of the workbook. |
| vk tab strip position right | 3 | Tab strip position is relative to the right of the workbook. |
| vk tab strip position top | 1 | Tab strip position is relative to the top of the workbook. |
|
+| tabStripPosition | number | Posición de la barra de pestañas. Available values: | Constant | Value | Description |
|---|
| vk tab strip position bottom | 0 | Tab strip position is relative to the bottom of the workbook. |
| vk tab strip position left | 2 | La posición de la barra de tabulación es relativa a la parte izquierda del libro de trabajo. |
| vk tab strip position right | 3 | Tab strip position is relative to the right of the workbook. |
| vk tab strip position top | 1 | La posición de la barra de tabulación es relativa a la parte superior del libro de trabajo. |
|
| tabStripRatio | number | Valor porcentual (0,x) que especifica qué parte del espacio horizontal se asignará al tabulador. El resto del área horizontal (1 - 0.x) se asignará a la barra de desplazamiento horizontal. |
| tabStripVisible | boolean | Mostrar la barra de pestañas de la hoja. |
| tabStripWidth | number | Ancho de la etiqueta cuando la posición es izquierda o derecha. Por defecto y el mínimo es 80. |
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/ViewPro/configuring.md b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/ViewPro/configuring.md
index 7d22996a114d4a..e389c32c3190f5 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/ViewPro/configuring.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/ViewPro/configuring.md
@@ -332,16 +332,16 @@ Los atributos de orientación se utilizan para especificar la dirección del dis
Los atributos página se utilizan para especificar la configuración general de impresión del documento.
-| Propiedad | Tipo | Descripción |
-| --------------- | ------------ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
-| blackAndWhite | boolean | Impresión sólo en blanco y negro. Valor por defecto = false
**Nota**: este atributo no afecta a los archivos PDF. Se mantienen los colores en los PDF.
|
-| centering | entero largo | Como se centran los contenidos en la página impresa. Valores disponibles: `vk print centering both`, `vk print centering horizontal`, `vk print centering none` (por defecto), `vk print centering vertical` |
-| firstPageNumber | entero largo | El número de página a imprimir en la primera página. Valor por defecto = 1 |
-| pageOrder | entero largo | Las páginas del pedido se imprimen. Valores disponibles: `vk print page order auto` (por defecto), `vk print page order down then over`, `vk print page order over then down`. |
-| pageRange | text | El rango de páginas a imprimir |
-| qualityFactor | entero largo | El factor de calidad para la impresión (1 - 8). The higher the quality factor, the better the printing quality, however printing performance may be affected.Valor por defecto = 2
|
-| useMax | boolean | Sólo se imprimen columnas y líneas con datos.Valor por defecto = true
|
-| zoomFactor | real | La cantidad para ampliar o reducir la página impresa.Valor por defecto = 1
|
+| Propiedad | Tipo | Descripción |
+| --------------- | ------------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| blackAndWhite | boolean | Impresión sólo en blanco y negro. Valor por defecto = false
**Nota**: este atributo no afecta a los archivos PDF. Se mantienen los colores en los PDF.
|
+| centering | entero largo | Como se centran los contenidos en la página impresa. Valores disponibles: `vk print centering both`, `vk print centering horizontal`, `vk print centering none` (por defecto), `vk print centering vertical` |
+| firstPageNumber | entero largo | El número de página a imprimir en la primera página. Valor por defecto = 1 |
+| pageOrder | entero largo | Las páginas del pedido se imprimen. Valores disponibles: `vk print page order auto` (por defecto), `vk print page order down then over`, `vk print page order over then down`. |
+| pageRange | text | El rango de páginas a imprimir |
+| qualityFactor | entero largo | El factor de calidad para la impresión (1 - 8). Cuanto mayor sea el factor de calidad, mejor será la calidad de impresión, aunque el rendimiento de la impresión puede verse afectado.Valor por defecto = 2
|
+| useMax | boolean | Sólo se imprimen columnas y líneas con datos.Valor por defecto = true
|
+| zoomFactor | real | La cantidad para ampliar o reducir la página impresa.Valor por defecto = 1
|
### Tamaño del papel
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/WebServer/sessions.md b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/WebServer/sessions.md
index 241f091dac5e5e..1c57acedaefb02 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/WebServer/sessions.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/WebServer/sessions.md
@@ -211,7 +211,7 @@ End if
El servidor web 4D le permite generar, compartir y utilizar tokens de sesión OTP (One-Time Passcode). Los tokens de sesión OTP se utilizan para asegurar comunicaciones con aplicaciones de terceros o sitios web. For information on OTP, please refer to the [One-time password page](https://en.wikipedia.org/wiki/One-time_password) on Wikipedia.
-In 4D, OTP session tokens are useful when calling external URLs and being called back in another browser or device (mobile/computer). Typically, a third-party application sends a confirmation email containing a callback link on which the user has to click. El enlace de retrollamada incluye el token OTP, para que la sesión que activó la retrollamada se cargue junto con sus datos y privilegios. This principle allows you to share the same session on multiple devices. Gracias a esta arquitectura, la [cookie de sesión](#session-implementation) no está expuesta en la red, lo que elimina el riesgo de un ataque de hombre en el medio.
+In 4D, OTP session tokens are useful when calling external URLs and being called back in another browser or device (mobile/computer). Normalmente, una aplicación de terceros envía un correo electrónico de confirmación que contiene un enlace de retrollamada en el que el usuario tiene que hacer clic. El enlace de retrollamada incluye el token OTP, para que la sesión que activó la retrollamada se cargue junto con sus datos y privilegios. This principle allows you to share the same session on multiple devices. Gracias a esta arquitectura, la [cookie de sesión](#session-implementation) no está expuesta en la red, lo que elimina el riesgo de un ataque de hombre en el medio.
### Generalidades
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/WritePro/commands/wp-import-document.md b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/WritePro/commands/wp-import-document.md
index 625a6d5df492ed..05064f54bf9dd9 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/WritePro/commands/wp-import-document.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/WritePro/commands/wp-import-document.md
@@ -58,7 +58,7 @@ Puede pasar un objeto para definir cómo se gestionan los siguientes atributos d
| secciones | Text | Sólo para documentos MS Word (.docx). Especifica cómo se maneja la sección. Valores disponibles:
**all** (por defecto) - Se importan todas las secciones. Secciones continuas, incluso impares se convierten en secciones estándar. **ignore** \- Sections are converted to default 4D Write Pro sections (A4 portrait layout without header or footer). **Nota**: las rupturas de secciones de cualquier tipo pero continuas se convierten en rupturas de sección con rupturas de página. Continuous section breaks are imported as continuous section breaks. |
| fields | Text | Sólo para documentos MS Word (.docx). Especifica cómo se manejan los campos .docx que no pueden ser convertidos a fórmulas 4D Write Pro. Valores disponibles:
**ignore** \- Los campos .docx son ignorados. **label** \- .docx field references are imported as labels within double curly braces ("{{ }}"). Ej: el campo "ClientName" se importará como {{ClientName}}. **value** (default) - El último valor calculado para el campo .docx (si está disponible) es importado. **Note**: If a .docx field corresponds to a 4D Write Pro variable, the field is imported as a formula and this option is ignored. |
| borderRules | Text | Sólo para documentos MS Word (.docx). Especifica cómo se gestionan los bordes de los párrafos. Valores disponibles:
**collapse** \- El formato del párrafo se modifica para imitar los bordes colapsados automáticamente. Tenga en cuenta que la propiedad contraída sólo se aplica durante la operación de importación. If a stylesheet with a automatic border collapse setting is reapplied after the import operation, the setting will be ignored. **noCollapse** (por defecto) - No se modifica el formato de los párrafos. |
-| preferredFontScriptType | Text | Sólo para documentos MS Word (.docx). Specifies the preferred typeface to use when different typefaces are defined for a single font property in OOXML. Valores disponibles:
**latin** (por defecto) - script latino **bidi** \- script bidreccional. Adecuado si el documento es principalmente bidireccional de izquierda a derecha (LTR) o de derecha a izquierda (RTL) texto (por ejemplo, árabe o hebreo). **eastAsia** \- East Asian script. Adecuado si el documento es principalmente texto asiático. |
+| preferredFontScriptType | Text | Sólo para documentos MS Word (.docx). Especifica el tipo de letra preferido que se utilizará cuando se definan distintos tipos de letra para una única propiedad de fuente en OOXML. Valores disponibles:
**latin** (por defecto) - script latino **bidi** \- script bidreccional. Adecuado si el documento es principalmente bidireccional de izquierda a derecha (LTR) o de derecha a izquierda (RTL) texto (por ejemplo, árabe o hebreo). **eastAsia** \- East Asian script. Adecuado si el documento es principalmente texto asiático. |
| htmlExpressions | Text | Sólo para documentos 4D Write (.4w7). Especifica cómo se manejan las expresiones HTML. Available values:
**rawText** \- HTML expressions are imported as raw text within ##htmlBegin## and ##htmlEnd## tags **ignore** (default) - HTML expressions are ignored. |
| importDisplayMode | Text | Sólo para documentos 4D Write (.4w7). Especifica cómo se gestiona la visualización de imágenes. Available values:
**legacy -** 4W7 image display mode is converted using a background image if different than scaled to fit. **noLegacy** (default) - 4W7 image display mode is converted to the *imageDisplayMode* attribute if different than scaled to fit. |
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/WritePro/managing-formulas.md b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/WritePro/managing-formulas.md
index a46f2511021a9f..aa3861e5fb4023 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/WritePro/managing-formulas.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/WritePro/managing-formulas.md
@@ -177,7 +177,7 @@ En este caso, puede mostrar las referencias a fórmulas como símbolos , or
+- active la opción **Mostrar origen de fórmula como símbolo** en la lista de propiedades (consulte *Configuración de las propiedades de la vista*), o
- utilizar la acción estándar displayFormulaAsSymbol (ver *Uso de las acciones estándar de 4D Write Pro*), o bien
- usa el comando [**WP SET VIEW PROPERTIES**](commands-legacy/wp-set-view-properties.md) con el selector `wk display formula as symbol` en **True**.
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/WritePro/writeprointerface.md b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/WritePro/writeprointerface.md
index febf1ee68cb3e9..b5c8070174f4d1 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/WritePro/writeprointerface.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/WritePro/writeprointerface.md
@@ -312,7 +312,7 @@ La interfaz de 4D Write Pro utiliza OpenAI, para lo cual necesita suministrar su
:::
-### Limitaciones (Developer Preview)
+### Limitaciones
En la aplicación actual, la función tiene las siguientes limitaciones:
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/aikit/Classes/OpenAIEmbeddingsAPI.md b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/aikit/Classes/OpenAIEmbeddingsAPI.md
index 7d99ad8f1204a6..af4bea76385705 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/aikit/Classes/OpenAIEmbeddingsAPI.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/aikit/Classes/OpenAIEmbeddingsAPI.md
@@ -46,7 +46,7 @@ var $vectors : Collection:=$result.vectors // collection of 4D.Vector
> Before using embeddings with a specific service, please check its documentation to see if embeddings are supported, and select the appropriate embedding model.
-For example, for Mistral, use [mistral-embed or codestral-embed](https://docs.mistral.ai/capabilities/embeddings/)
+Por ejemplo, para Mistral, utilice [mistral-embed o codestral-embed](https://docs.mistral.ai/capabilities/embeddings/)
```4d
var $result:=$client.embeddings.create($inputs; "mistral-embed")
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/aikit/Classes/OpenAIMessage.md b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/aikit/Classes/OpenAIMessage.md
index 25479618986396..95969f8925c9ff 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/aikit/Classes/OpenAIMessage.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/aikit/Classes/OpenAIMessage.md
@@ -5,7 +5,7 @@ title: OpenAIMessage
# OpenAIMessage
-The `OpenAIMessage` class represents a structured message containing a role, content, and an optional user. This class provides methods to manipulate and retrieve the text and other content of the message.
+La clase `OpenAIMessage` representa un mensaje estructurado que contiene un rol, un contenido y un usuario opcional. This class provides methods to manipulate and retrieve the text and other content of the message.
## Propiedades
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/aikit/asynchronous-call.md b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/aikit/asynchronous-call.md
index a5f4fd483ff3a6..90a8a0f9ad4cd2 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/aikit/asynchronous-call.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/aikit/asynchronous-call.md
@@ -21,7 +21,7 @@ The asynchronous method is based on [4D.HTTPRequest](https://developer.4d.com/do
$client.models.list({formula: Formula(MyReceiveMethod($1))})
```
-`$1` will be an instance of [OpenAIModelListResult](Classes/OpenAIModelListResult.md), so `MyReceiveMethod` method could be:
+`$1` será una instancia de [OpenAIModelListResult](Classes/OpenAIModelListResult.md), por lo que el método `MyReceiveMethod` podría ser:
```4d
#DECLARE($result: cs.AIKit.OpenAIModelListResult)
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/code-editor/write-class-method.md b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/code-editor/write-class-method.md
index f047f57dab287d..a02505ed1f8e28 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/code-editor/write-class-method.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/code-editor/write-class-method.md
@@ -25,16 +25,16 @@ If you are used to coding with **VS Code**, you can also use this editor with 4D
Cada ventana del Editor de Código tiene una barra de herramientas que ofrece acceso instantáneo a las funciones básicas relacionadas con la ejecución y edición de código.
-| Elemento | Icono | Descripción |
-| ------------------------------------ | --------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
-| **Ejecución del método** |  | Cuando se trabaja con métodos, cada ventana del Editor de Código tiene un botón que puede utilizarse para ejecutar el método actual. Using the menu associated with this button, you can choose the type of execution:- **Run new process**: Creates a process and runs the method in standard mode in this process.
- **Run and debug new process**: Creates a new process and displays the method in the Debugger window for step by step execution in this process.
- **Run in Application process**: Runs the method in standard mode in the context of the Application process (in other words, the record display window).
- **Run and debug in Application process**: Displays the method in the Debugger window for step by step execution in the context of the Application process (in other words, the record display window).
For more information on method execution, see [Calling Project Methods](../Concepts/methods.md#calling-project-methods). |
-| **Buscar en el método** |  | Muestra el [*Área de búsqueda*](#find-and-replace). |
-| **Macros** |  | Inserta una macro en la selección. Haga clic en la flecha desplegable para mostrar una lista de macros disponibles. Para obtener más información sobre como crear e instanciar macros, consulte [Macros](#macros). |
-| **Expandir todo/Contraer todo** |  | Estos botones permiten expandir o contraer todas las estructuras de flujo de control del código. |
-| **Información del método** |  | Muestra el diálogo [Propiedades del método](../Project/code-overview.md#project-method-properties) (sólo métodos proyecto). |
-| **Últimos valores del portapapeles** |  | Muestra los últimos valores almacenados en el portapapeles. |
-| **Portapapeles** |  | Nueve portapapeles disponibles en el editor de código. Puede [utilizar estos portapapeles](#clipboards) haciendo clic directamente en ellos o utilizando los atajos de teclado. Puede utilizar la opción [Preferencias](Preferences/methods.md#options-1) para ocultarlas. |
-| **Menú desplegable de navegación** |  | Le permite navegar dentro de métodos y clases con contenido etiquetado automáticamente o marcadores declarados manualmente. Ver abajo |
+| Elemento | Icono | Descripción |
+| ------------------------------------ | --------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| **Ejecución del método** |  | Cuando se trabaja con métodos, cada ventana del Editor de Código tiene un botón que puede utilizarse para ejecutar el método actual. Using the menu associated with this button, you can choose the type of execution:- **Run new process**: Creates a process and runs the method in standard mode in this process.
- **Run and debug new process**: Creates a new process and displays the method in the Debugger window for step by step execution in this process.
- **Run in Application process**: Runs the method in standard mode in the context of the Application process (in other words, the record display window).
- **Run and debug in Application process**: Displays the method in the Debugger window for step by step execution in the context of the Application process (in other words, the record display window).
Para más información sobre la ejecución de métodos, ver [Llamada a métodos proyecto](../Concepts/methods.md#calling-project-methods). |
+| **Buscar en el método** |  | Muestra el [*Área de búsqueda*](#find-and-replace). |
+| **Macros** |  | Inserta una macro en la selección. Haga clic en la flecha desplegable para mostrar una lista de macros disponibles. Para obtener más información sobre como crear e instanciar macros, consulte [Macros](#macros). |
+| **Expandir todo/Contraer todo** |  | Estos botones permiten expandir o contraer todas las estructuras de flujo de control del código. |
+| **Información del método** |  | Muestra el diálogo [Propiedades del método](../Project/code-overview.md#project-method-properties) (sólo métodos proyecto). |
+| **Últimos valores del portapapeles** |  | Muestra los últimos valores almacenados en el portapapeles. |
+| **Portapapeles** |  | Nueve portapapeles disponibles en el editor de código. Puede [utilizar estos portapapeles](#clipboards) haciendo clic directamente en ellos o utilizando los atajos de teclado. Puede utilizar la opción [Preferencias](Preferences/methods.md#options-1) para ocultarlas. |
+| **Menú desplegable de navegación** |  | Le permite navegar dentro de métodos y clases con contenido etiquetado automáticamente o marcadores declarados manualmente. Ver abajo |
### Área de edición
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/commands/command-name.md b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/commands/command-name.md
index 188b150d0f8a71..81ea01647a075f 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/commands/command-name.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/commands/command-name.md
@@ -28,7 +28,7 @@ displayed_sidebar: docs
## Descripción
-The **Command name** command returns the name as well as (optionally) the properties of the command whose command number you pass in *command*.The number of each command is indicated in the Explorer as well as in the Properties area of this documentation.
+The **Command name** command returns the name as well as (optionally) the properties of the command whose command number you pass in *command*.El número de cada comando se indica tanto en el explorador como en el área Propiedades de esta documentación.
**Compatibility note:** A command name may vary from one 4D version to the next (commands renamed), this command was used in previous versions to designate a command directly by means of its number, especially in non-tokenized portions of code. This need has diminished over time as 4D continues to evolve because, for non-tokenized statements (formulas), 4D now provides a token syntax. This syntax allows you to avoid potential problems due to variations in command names as well as other elements such as tables, while still being able to type these names in a legible manner (for more information, refer to the *Using tokens in formulas* section). Tenga en cuenta también que la opción \*[Usar parámetros del sistema regional\* de las Preferencias](../Preferences/methods.md#4d-programming-language-use-regional-system-settings) le permite seguir usando el idioma francés en una versión francesa de 4D.
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/commands/license-info.md b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/commands/license-info.md
index 0831a61bd841cc..8a4db22e4f7d89 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/commands/license-info.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/commands/license-info.md
@@ -20,7 +20,12 @@ displayed_sidebar: docs
Si el comando se ejecuta en una aplicación 4D que no utiliza localmente una licencia (por ejemplo, 4D remote), el comando devuelve un objeto Null.
-El objeto devuelto contiene las siguientes propiedades:
+:::note
+
+Este comando recarga los archivos de licencia desde el disco y actualiza los derechos asociados si han sido modificados.
+
+:::
+The returned object contains the following properties:
```json
{
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/commands/new-log-file.md b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/commands/new-log-file.md
index a3a706e3623201..cd29afa0fbc333 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/commands/new-log-file.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/commands/new-log-file.md
@@ -25,7 +25,7 @@ caja de diálogo.
The file is renamed with the current backup numbers of the database and of the log file, as shown in the following example: DatabaseName\[BackupNum-LogBackupNum\].journal. Por ejemplo:
-- If the MyDatabase.4DD database has been saved 4 times, the last backup file will be named MyDatabase\[0004\].4BK. El nombre del primer “segment” del archivo de registro será, por lo tanto, MyDatabase\[0004-0001\].journal.
+- Si la base de datos MyDatabase.4DD ha sido guardada 4 veces, el último archivo de copia de seguridad se llamará MyDatabase\[0004\].4BK. El nombre del primer “segment” del archivo de registro será, por lo tanto, MyDatabase\[0004-0001\].journal.
- If the MyDatabase.4DD database has been saved 3 times and the log file has been saved 5 times since, the name of the 6th backup of the log file will be MyDatabase\[0003-0006\].journal.
:::warning
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-20/FormObjects/listbox_overview.md b/i18n/es/docusaurus-plugin-content-docs/version-20/FormObjects/listbox_overview.md
index c64e5189564b6f..5d420a34536890 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-20/FormObjects/listbox_overview.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-20/FormObjects/listbox_overview.md
@@ -1176,9 +1176,7 @@ Ejemplos:
OB SET($ob;"value";2) //muestra Londres por defecto
OB SET($ob;"requiredListReference";<>List)
```
-
-
- 
+
#### choiceListName y choiceListReference
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-20/Notes/updates.md b/i18n/es/docusaurus-plugin-content-docs/version-20/Notes/updates.md
index f1bbda81ce6386..843be639654a7d 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-20/Notes/updates.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-20/Notes/updates.md
@@ -15,6 +15,8 @@ Lea las [**novedades de 4D 20**](https://blog.4d.com/en-whats-new-in-4d-v20/), l
#### Lo más destacado
+- 4D 20.8 LTS is certified on Windows 11 25H2.
+- 4D 20.8 LTS is certified on macOS Tahoe (macOS 26).
- [**Lista de bugs corregidos**](https://bugs.4d.com/fixes?version=20.8): lista de todos los bugs corregidos en 4D 20.8 LTS.
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-21/API/TCPEventClass.md b/i18n/es/docusaurus-plugin-content-docs/version-21/API/TCPEventClass.md
index 52e2c9108a0367..c5ed7c2561fabb 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-21/API/TCPEventClass.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-21/API/TCPEventClass.md
@@ -35,7 +35,7 @@ Las siguientes propiedades están disponibles:
#### Descripción
-The `.address` property contains the IP address of the remote machine.
+La propiedad `.address` contiene la dirección IP de la máquina remota.
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-21/API/UDPEventClass.md b/i18n/es/docusaurus-plugin-content-docs/version-21/API/UDPEventClass.md
index 50ee0a4757f21a..60a92ed745b94b 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-21/API/UDPEventClass.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-21/API/UDPEventClass.md
@@ -34,7 +34,7 @@ Las siguientes propiedades están disponibles:
#### Descripción
-The `.address` property contains the IP address of the remote machine.
+La propiedad `.address` contiene la dirección IP de la máquina remota.
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-21/Concepts/quick-tour.md b/i18n/es/docusaurus-plugin-content-docs/version-21/Concepts/quick-tour.md
index 11a8bfb346184d..cbb2891ff73f2a 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-21/Concepts/quick-tour.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-21/Concepts/quick-tour.md
@@ -428,4 +428,4 @@ Las siguientes convenciones se utilizan en la documentación del lenguaje 4D:
- los caracteres{ }`(llaves) indican parámetros opcionales. Por ejemplo,`.delete( { option : Integer } )\` significa que el parámetro *option* puede omitirse al llamar a la función.
- la notación `{ ; ...param }` indica un número ilimitado de parámetros. Por ejemplo, `.concat( value : any { ;...valueN } ) : Collection` significa que se puede pasar a la función un número ilimitado de valores de cualquier tipo.
-- the `any` keyword is used for parameters that can be of any type (number, text, boolean, date, time, object, collection...).
+- la palabra clave `any` se utiliza para parámetros que pueden ser de cualquier tipo (número, texto, booleano, fecha, hora, objeto, colección...).
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-21/Debugging/debugger.md b/i18n/es/docusaurus-plugin-content-docs/version-21/Debugging/debugger.md
index 61da45ff362f5b..e684cd82a4f2a2 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-21/Debugging/debugger.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-21/Debugging/debugger.md
@@ -393,7 +393,7 @@ Esta área también le permite añadir o eliminar [**puntos de ruptura**](breakp
### Prototipo
-The prototype of the currently executed method or function in the Call chain is displayed on the top of the pane:
+El prototipo del método o de la función en ejecución en la cadena de llamadas se muestra en la parte superior del panel:

diff --git a/i18n/es/docusaurus-plugin-content-docs/version-21/Desktop/clientServer.md b/i18n/es/docusaurus-plugin-content-docs/version-21/Desktop/clientServer.md
index fa5d056395d3c4..689333389298b9 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-21/Desktop/clientServer.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-21/Desktop/clientServer.md
@@ -120,7 +120,7 @@ Todos los procedimientos almacenados en el servidor comparten la misma sesión d
### Compartiendo la sesión con páginas Qodly en áreas web
-Remote client sessions can be used to handle Client/Server applications where [Qodly pages](https://developer.4d.com/qodly/4DQodlyPro/pageLoaders/pageLoaderOverview) are used for the interface, running on remote machines. With this configuration, your applications have modern CSS-based web interfaces but still benefit from the power and simplicity of integrated client/server development. In such applications, Qodly pages are executed within standard 4D [Web areas](../FormObjects/webArea_overview.md).
+Remote client sessions can be used to handle Client/Server applications where [Qodly pages](https://developer.4d.com/qodly/4DQodlyPro/pageLoaders/pageLoaderOverview) are used for the interface, running on remote machines. With this configuration, your applications have modern CSS-based web interfaces but still benefit from the power and simplicity of integrated client/server development. En tales aplicaciones, las páginas Qodly se ejecutan dentro de las [áreas Web](../FormObjects/webArea_overview.md) 4D estándar.
Para gestionar esta configuración, necesita utilizar sesiones cliente remotas. Actually, requests coming from both the remote 4D application and its Qodly pages loaded in Web areas need to work inside a single user session. You just have to share the same session between the remote client and its web pages so that you can have the same [session storage](../API/SessionClass.md#storage) and client license, whatever the request origin.
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-21/Develop/field-properties.md b/i18n/es/docusaurus-plugin-content-docs/version-21/Develop/field-properties.md
index 26c51c0f4661d3..f51a7c77821969 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-21/Develop/field-properties.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-21/Develop/field-properties.md
@@ -15,7 +15,7 @@ Puede introducir cualquier nombre de clase válido en esta propiedad, incluyendo
- Clases usuario (por ejemplo, `cs.MyClass`)
- Clases 4D integradas (por ejemplo, `4D.File`, `4D.Folder`)
-- [Exposed](../Extensions/develop-components.md#sharing-of-classes) component-defined classes (e.g. `cs.MyComponent.MyClass`)
+- las clases [exposed](../Extensions/develop-components.md#sharing-of-classes) definidas por componentes (por ejemplo, `cs.MyComponent.MyClass`)
Si introduce un nombre de clase inválido, se activa una advertencia y se rechaza la entrada.
@@ -31,6 +31,6 @@ To retrieve the associated class name at runtime, use the [`classID`](../API/Dat
### Ver también
-- [Blog post: Stricter class-based typing for objects](https://blog.4d.com/stricter-class-based-typing-for-objects/)
+- [Articulo de blog: tipificación más estricta de objetos basada en clases](https://blog.4d.com/stricter-class-based-typing-for-objects/)
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-21/FormEditor/formEditor.md b/i18n/es/docusaurus-plugin-content-docs/version-21/FormEditor/formEditor.md
index 55169d4e3065a5..4d524e01e782fb 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-21/FormEditor/formEditor.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-21/FormEditor/formEditor.md
@@ -314,7 +314,7 @@ Para repartir los objetos con igual espacio:
1. Seleccione tres o más objetos y haga clic en la herramienta Distribuir correspondiente.
-2. In the toolbar, click on the distribution tool that corresponds to the distribution you want to apply.

OR
Select a distribution menu command from the **Align** submenu in the **Object** menu or from the context menu of the editor.
+2. En la barra de herramientas, haga clic en la herramienta de distribución que corresponde a la distribución que desea aplicar.

OR
Select a distribution menu command from the **Align** submenu in the **Object** menu or from the context menu of the editor.
4D distribuye los objetos consecuentemente. Los objetos se distribuyen utilizando la distancia a sus centros y se utiliza como referencia la mayor distancia entre dos objetos consecutivos.
Para distribuir objetos utilizando la caja de diálogo Alinear y Distribuir:
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-21/FormObjects/listbox_overview.md b/i18n/es/docusaurus-plugin-content-docs/version-21/FormObjects/listbox_overview.md
index 3f61236a812366..ab7f86953d4573 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-21/FormObjects/listbox_overview.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-21/FormObjects/listbox_overview.md
@@ -1102,9 +1102,7 @@ Ejemplos:
OB SET($ob;"requiredListReference";<>List)
```
- ```
- 
- ```
+
#### choiceListName y choiceListReference
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-21/FormObjects/webArea_overview.md b/i18n/es/docusaurus-plugin-content-docs/version-21/FormObjects/webArea_overview.md
index 9563e559ec2d24..649f7739c0fabc 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-21/FormObjects/webArea_overview.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-21/FormObjects/webArea_overview.md
@@ -57,7 +57,7 @@ $4d.HelloWorld();
### Controlar el acceso a $4d
-Con [`WA SET CONTEXT`](../commands/wa-set-context.md), los desarrolladores pueden controlar lo que puede estar disponible a través de `$4d` desde un área Web. Using this command you define a **context object** that declares for example 4D methods through formulas and class instances.
+Con [`WA SET CONTEXT`](../commands/wa-set-context.md), los desarrolladores pueden controlar lo que puede estar disponible a través de `$4d` desde un área Web. Este comando permite definir un **objeto contexto** que declara, por ejemplo, los métodos 4D a través de fórmulas e instancias de clase.
Para verificar el contexto definido actualmente, utilice [`WA Get context`](../commands/wa-get-context.md).
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-21/ORDA/entities.md b/i18n/es/docusaurus-plugin-content-docs/version-21/ORDA/entities.md
index ceb0d989f2296a..5acb3f71d8b59c 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-21/ORDA/entities.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-21/ORDA/entities.md
@@ -462,7 +462,7 @@ Function event restrict() -> $result : cs.*DataClassName*Selection
Esta función se llama cada vez que se solicita una selección de entidades o una entidad de la dataclass. El filtro se ejecuta una vez, cuando se crea la selección de entidades.
-El filtro debe devolver una selección de entidades de la clase de datos. It can be an entity selection built upon a query, stored in the [`Storage`](../API/SessionClass.md#storage), etc.
+El filtro debe devolver una selección de entidades de la clase de datos. Puede ser una selección de entidades basada en una petición, almacenada en el [`Storage`](../API/SessionClass.md#storage), etc.
:::note
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-21/ORDA/orda-events.md b/i18n/es/docusaurus-plugin-content-docs/version-21/ORDA/orda-events.md
index 4fc5a4b70f00eb..4e2033c1d4caa1 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-21/ORDA/orda-events.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-21/ORDA/orda-events.md
@@ -443,7 +443,7 @@ Función evento afterSave($event : Object)
// código
```
-This event is triggered just after an entity is saved in the data file, when at least one attribute was modified. No se ejecuta si no se ha tocado ningún atributo en la entidad.
+Este evento se activa justo después de guardar una entidad en el archivo de datos, cuando se ha modificado al menos un atributo. No se ejecuta si no se ha tocado ningún atributo en la entidad.
This event is useful after saving data to propagate the save action outside the application or to execute administration tasks. Por ejemplo, se puede utilizar para enviar un correo electrónico de confirmación después de guardar los datos. O, en caso de error al guardar los datos, puede hacer una cancelación para restaurar un estado consistente de los datos.
@@ -454,7 +454,7 @@ La función recibe un [objeto *event*](#event-parameter) como parámetro.
#### Ejemplo
-If an error occurred in the above saving event, the attribute value is reset accordingly in the `afterSave` event:
+Si se produce un error en el evento de guardado anterior, el valor del atributo se restablece en consecuencia en el evento `afterSave`:
```4d
// ProductsEntity class
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-21/ORDA/ordaClasses.md b/i18n/es/docusaurus-plugin-content-docs/version-21/ORDA/ordaClasses.md
index 8d48e8c9c0f133..fced235a8d45cd 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-21/ORDA/ordaClasses.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-21/ORDA/ordaClasses.md
@@ -338,7 +338,7 @@ La función `Class constructor` es activada por los siguientes comandos y funcio
:::note Notas
-- The [`entity.clone()`](../API/EntityClass.md#clone) function does not trigger the entity Class constructor.
+- La función [`entity.clone()`](../API/EntityClass.md#clone) no activa el constructor de la clase de la entidad.
- Los registros creados a nivel de la base de datos 4D utilizando comandos del lenguaje clásico 4D o acciones estándar no activan el Class constructor de la entidad.
:::
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-21/ORDA/privileges.md b/i18n/es/docusaurus-plugin-content-docs/version-21/ORDA/privileges.md
index 72cf097a8cd4f4..24876efc710352 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-21/ORDA/privileges.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-21/ORDA/privileges.md
@@ -253,7 +253,7 @@ The `restrictedByDefault` property configures how every [resource](#resources) a
:::note Compatibilidad
-- When **creating a new project**, the `restrictedByDefault` property is set to **false** in the *roles.json* file (see below). Tenga en cuenta que esta configuración está hecha a medida para un inicio rápido y un desarrollo fluido. In production environment, [it is recommended to set the `restrictedByDefault` and `forceLogin` properties to **true**](#configuring-restrictedbydefault-and-forcelogin-properties).
+- Al **crear un nuevo proyecto**, la propiedad `restrictedByDefault` se establece en **false** en el archivo *roles.json* (ver abajo). Tenga en cuenta que esta configuración está hecha a medida para un inicio rápido y un desarrollo fluido. In production environment, [it is recommended to set the `restrictedByDefault` and `forceLogin` properties to **true**](#configuring-restrictedbydefault-and-forcelogin-properties).
- In **projects converted from previous releases**; when enabling access to Qodly Studio using the [One-click configuration dialog](https://developer.4d.com/qodly/4DQodlyPro/gettingStarted#one-click-configuration), the `restrictedByDefault` property is added with value **true** in the *roles.json* file.
:::
@@ -263,7 +263,7 @@ The `restrictedByDefault` property configures how every [resource](#resources) a
Depending on your environment, the recommended settings are:
- **Production**: Set both `restrictedByDefault` and [`forceLogin`](../REST/authUsers.md#force-login-mode) to **true**. Esto garantiza la máxima seguridad al requerir autenticación de usuario y permisos explícitamente definidos para el acceso a recursos.
-- **Development**: Set both `restrictedByDefault` and [`forceLogin`](../REST/authUsers.md#force-login-mode) to **false**. This allows easier access during development and debugging, with the possibility to gradually apply restrictions.
+- **Development**: Set both `restrictedByDefault` and [`forceLogin`](../REST/authUsers.md#force-login-mode) to **false**. Esto permite un acceso más fácil durante el desarrollo y la depuración, con la posibilidad de aplicar gradualmente restricciones.
### Archivo `Roles_Errors.json`
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-21/Project/compiler.md b/i18n/es/docusaurus-plugin-content-docs/version-21/Project/compiler.md
index 77cb73581775e8..094ac783b93138 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-21/Project/compiler.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-21/Project/compiler.md
@@ -146,7 +146,7 @@ El modo de escritura directa es opcional sólo en proyectos convertidos. Se util
:::
-Select **All variables are typed (Direct typing)** option in the **Compilation Path** menu to enable the direct typing mode. Cuando se selecciona esta opción, las demás opciones de compatibilidad pierden su utilidad y dejan de mostrarse.
+Seleccione la opción **Todas las variables se escriben (escritura directa)** en el menú **Ruta de compilación** para activar el modo de escritura directa. Cuando se selecciona esta opción, las demás opciones de compatibilidad pierden su utilidad y dejan de mostrarse.
Se recomienda utilizar esta opción, ya que proporciona flexibilidad y eficiencia. El concepto de escritura directa asume que todos los elementos se declaran directamente donde están definidos en su código. Solo tiene que asegurarse de que todas sus variables son declaradas utilizando la [sintaxis 'var'](../Concepts/variables.md#declaring-variables) y que sus parámetros de método y función son declarados [en sus prototipos](../Concepts/parameters.md) (la función [Verificar sintaxis](#check-syntax) puede ayudarle a detectar declaraciones faltantes o no válidas).
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-21/ViewPro/commands/vp-import-from-object.md b/i18n/es/docusaurus-plugin-content-docs/version-21/ViewPro/commands/vp-import-from-object.md
index 5de7dd5a04b0d3..9198703b14db21 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-21/ViewPro/commands/vp-import-from-object.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-21/ViewPro/commands/vp-import-from-object.md
@@ -37,9 +37,9 @@ Se devuelve un error si el objeto *viewPro* no es válido.
En *paramObj*, puede pasar la siguiente propiedad:
-| Propiedad | Tipo | Descripción |
-| --------- | --------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
-| formula | 4D.Function | (Optional) Callback function to be executed when the object is loaded and all 4D custom functions have responded. Ver [Pasar un método de retrollamada (fórmula)](vp-export-document.md#passing-a-callback-method-formula). |
+| Propiedad | Tipo | Descripción |
+| --------- | --------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
+| formula | 4D.Function | (Opcional) Función de retrollamada a ser ejecutada cuando el objeto está cargado y todas las funciones personalizadas 4D han respondido. Ver [Pasar un método de retrollamada (fórmula)](vp-export-document.md#passing-a-callback-method-formula). |
Los siguientes parámetros se pueden utilizar en el método de retrollamada:
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-21/ViewPro/commands/vp-set-data-context.md b/i18n/es/docusaurus-plugin-content-docs/version-21/ViewPro/commands/vp-set-data-context.md
index 8a32e26833bd1a..23421aa679b365 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-21/ViewPro/commands/vp-set-data-context.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-21/ViewPro/commands/vp-set-data-context.md
@@ -42,10 +42,10 @@ Para pasar un valor de tiempo en *dataObj* o *dataColl*, encapsúlelo en un obje
En *options*, puede pasar un objeto que especifique las opciones adicionales. Las propiedades posibles son:
-| Propiedad | Tipo | Descripción |
-| ------------------- | ------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
-| reset | Object | True para restablecer el contenido de la hoja antes de cargar el nuevo contexto, False (por defecto) en caso contrario. |
-| autoGenerateColumns | Object | Sólo se utiliza cuando los datos son una colección. True (por defecto) para especificar que las columnas deben generarse automáticamente cuando se vincula el contexto de datos. In this case, the following rules apply: - If *dataColl* is a collection of objects, attribute names are used as column titles (see example 2).
- If *dataColl* contains subcollections of scalar values, each subcollection defines the values in a row (see example 3). La primera subcolección determina cuántas columnas se crean.
|
+| Propiedad | Tipo | Descripción |
+| ------------------- | ------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| reset | Object | True para restablecer el contenido de la hoja antes de cargar el nuevo contexto, False (por defecto) en caso contrario. |
+| autoGenerateColumns | Object | Sólo se utiliza cuando los datos son una colección. True (por defecto) para especificar que las columnas deben generarse automáticamente cuando se vincula el contexto de datos. In this case, the following rules apply: - If *dataColl* is a collection of objects, attribute names are used as column titles (see example 2).
- Si *dataColl* contiene subcolecciones de valores escalares, cada subcolección define los valores de una línea (ver el ejemplo 3). La primera subcolección determina cuántas columnas se crean.
|
En *sheet*, pase el índice de la hoja que recibirá el contexto de datos. Si no se pasa ningún índice, el contexto se aplica a la hoja actual.
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-21/ViewPro/commands/vp-set-workbook-options.md b/i18n/es/docusaurus-plugin-content-docs/version-21/ViewPro/commands/vp-set-workbook-options.md
index d059be21bf1f19..2843b740b83dc6 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-21/ViewPro/commands/vp-set-workbook-options.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-21/ViewPro/commands/vp-set-workbook-options.md
@@ -80,11 +80,11 @@ En la siguiente tabla se listan las opciones de libros de trabajo disponibles:
| showDragFillTip | boolean | Mostrar la punta de arrastrar y soltar. |
| showHorizontalScrollbar | boolean | Mostrar la barra de desplazamiento horizontal. |
| showResizeTip | number | Cómo mostrar el tip de redimensionamiento. Available values: | Constant | Value | Description |
|---|
| vk show resize tip both | 3 | Horizontal and vertical resize tips are displayed. |
| vk show resize tip column | 1 | Solo se muestra la punta de redimensionamiento horizontal. |
| vk show resize tip none | 0 | No resize tip is displayed. |
| vk show resize tip row | 2 | Only the vertical resize tip is displayed. |
|
-| showScrollTip | number | Cómo mostrar el tip de desplazamiento. Available values: | Constant | Value | Description |
|---|
| vk show scroll tip both | 3 | Horizontal and vertical scroll tips are displayed. |
| vk show scroll tip horizontal | 1 | Only the horizontal scroll tip is displayed. |
| vk show scroll tip none | No se muestra ninguna propina. |
| vk show scroll tip vertical | 2 | Solo se muestra la punta de desplazamiento vertical. |
|
+| showScrollTip | number | Cómo mostrar el tip de desplazamiento. Available values: | Constant | Value | Description |
|---|
| vk show scroll tip both | 3 | Horizontal and vertical scroll tips are displayed. |
| vk show scroll tip horizontal | 1 | Solo se muestra la punta de desplazamiento vertical. |
| vk show scroll tip none | No se muestra ninguna propina. |
| vk show scroll tip vertical | 2 | Solo se muestra la punta de desplazamiento vertical. |
|
| showVerticalScrollbar | boolean | Mostrar la barra de desplazamiento vertical. |
| tabEditable | boolean | La pestaña de la hoja se puede editar. |
| tabNavigationVisible | boolean | Mostrar la navegación por pestañas. |
-| tabStripPosition | number | Posición de la barra de pestañas. Available values: | Constant | Value | Description |
|---|
| vk tab strip position bottom | 0 | Tab strip position is relative to the bottom of the workbook. |
| vk tab strip position left | 2 | Tab strip position is relative to the left of the workbook. |
| vk tab strip position right | 3 | Tab strip position is relative to the right of the workbook. |
| vk tab strip position top | 1 | Tab strip position is relative to the top of the workbook. |
|
+| tabStripPosition | number | Posición de la barra de pestañas. Available values: | Constant | Value | Description |
|---|
| vk tab strip position bottom | 0 | Tab strip position is relative to the bottom of the workbook. |
| vk tab strip position left | 2 | La posición de la barra de tabulación es relativa a la parte izquierda del libro de trabajo. |
| vk tab strip position right | 3 | Tab strip position is relative to the right of the workbook. |
| vk tab strip position top | 1 | La posición de la barra de tabulación es relativa a la parte superior del libro de trabajo. |
|
| tabStripRatio | number | Valor porcentual (0,x) que especifica qué parte del espacio horizontal se asignará al tabulador. El resto del área horizontal (1 - 0.x) se asignará a la barra de desplazamiento horizontal. |
| tabStripVisible | boolean | Mostrar la barra de pestañas de la hoja. |
| tabStripWidth | number | Ancho de la etiqueta cuando la posición es izquierda o derecha. Por defecto y el mínimo es 80. |
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-21/ViewPro/configuring.md b/i18n/es/docusaurus-plugin-content-docs/version-21/ViewPro/configuring.md
index 7d22996a114d4a..e389c32c3190f5 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-21/ViewPro/configuring.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-21/ViewPro/configuring.md
@@ -332,16 +332,16 @@ Los atributos de orientación se utilizan para especificar la dirección del dis
Los atributos página se utilizan para especificar la configuración general de impresión del documento.
-| Propiedad | Tipo | Descripción |
-| --------------- | ------------ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
-| blackAndWhite | boolean | Impresión sólo en blanco y negro. Valor por defecto = false
**Nota**: este atributo no afecta a los archivos PDF. Se mantienen los colores en los PDF.
|
-| centering | entero largo | Como se centran los contenidos en la página impresa. Valores disponibles: `vk print centering both`, `vk print centering horizontal`, `vk print centering none` (por defecto), `vk print centering vertical` |
-| firstPageNumber | entero largo | El número de página a imprimir en la primera página. Valor por defecto = 1 |
-| pageOrder | entero largo | Las páginas del pedido se imprimen. Valores disponibles: `vk print page order auto` (por defecto), `vk print page order down then over`, `vk print page order over then down`. |
-| pageRange | text | El rango de páginas a imprimir |
-| qualityFactor | entero largo | El factor de calidad para la impresión (1 - 8). The higher the quality factor, the better the printing quality, however printing performance may be affected.Valor por defecto = 2
|
-| useMax | boolean | Sólo se imprimen columnas y líneas con datos.Valor por defecto = true
|
-| zoomFactor | real | La cantidad para ampliar o reducir la página impresa.Valor por defecto = 1
|
+| Propiedad | Tipo | Descripción |
+| --------------- | ------------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| blackAndWhite | boolean | Impresión sólo en blanco y negro. Valor por defecto = false
**Nota**: este atributo no afecta a los archivos PDF. Se mantienen los colores en los PDF.
|
+| centering | entero largo | Como se centran los contenidos en la página impresa. Valores disponibles: `vk print centering both`, `vk print centering horizontal`, `vk print centering none` (por defecto), `vk print centering vertical` |
+| firstPageNumber | entero largo | El número de página a imprimir en la primera página. Valor por defecto = 1 |
+| pageOrder | entero largo | Las páginas del pedido se imprimen. Valores disponibles: `vk print page order auto` (por defecto), `vk print page order down then over`, `vk print page order over then down`. |
+| pageRange | text | El rango de páginas a imprimir |
+| qualityFactor | entero largo | El factor de calidad para la impresión (1 - 8). Cuanto mayor sea el factor de calidad, mejor será la calidad de impresión, aunque el rendimiento de la impresión puede verse afectado.Valor por defecto = 2
|
+| useMax | boolean | Sólo se imprimen columnas y líneas con datos.Valor por defecto = true
|
+| zoomFactor | real | La cantidad para ampliar o reducir la página impresa.Valor por defecto = 1
|
### Tamaño del papel
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-21/WebServer/sessions.md b/i18n/es/docusaurus-plugin-content-docs/version-21/WebServer/sessions.md
index daeaf088d5b5d0..ae2eec52be1b58 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-21/WebServer/sessions.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-21/WebServer/sessions.md
@@ -211,11 +211,11 @@ End if
El servidor web 4D le permite generar, compartir y utilizar tokens de sesión OTP (One-Time Passcode). Los tokens de sesión OTP se utilizan para asegurar comunicaciones con aplicaciones de terceros o sitios web. For information on OTP, please refer to the [One-time password page](https://en.wikipedia.org/wiki/One-time_password) on Wikipedia.
-In 4D, OTP session tokens are useful when calling external URLs and being called back in another browser or device (mobile/computer). Typically, a third-party application sends a confirmation email containing a callback link on which the user has to click. El enlace de retrollamada incluye el token OTP, para que la sesión que activó la retrollamada se cargue junto con sus datos y privilegios. This principle allows you to share the same session on multiple devices. Gracias a esta arquitectura, la [cookie de sesión](#session-implementation) no está expuesta en la red, lo que elimina el riesgo de un ataque de hombre en el medio.
+In 4D, OTP session tokens are useful when calling external URLs and being called back in another browser or device (mobile/computer). Normalmente, una aplicación de terceros envía un correo electrónico de confirmación que contiene un enlace de retrollamada en el que el usuario tiene que hacer clic. El enlace de retrollamada incluye el token OTP, para que la sesión que activó la retrollamada se cargue junto con sus datos y privilegios. This principle allows you to share the same session on multiple devices. Gracias a esta arquitectura, la [cookie de sesión](#session-implementation) no está expuesta en la red, lo que elimina el riesgo de un ataque de hombre en el medio.
:::tips Entradas de blog relacionadas
-[Connect Your Web Apps to Third-Party Systems](https://blog.4d.com/connect-your-web-apps-to-third-party-systems/)
+[Conecte sus aplicaciones web a sistemas de terceros](https://blog.4d.com/connect-your-web-apps-to-third-party-systems/)
:::
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-21/WritePro/commands/wp-import-document.md b/i18n/es/docusaurus-plugin-content-docs/version-21/WritePro/commands/wp-import-document.md
index 625a6d5df492ed..05064f54bf9dd9 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-21/WritePro/commands/wp-import-document.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-21/WritePro/commands/wp-import-document.md
@@ -58,7 +58,7 @@ Puede pasar un objeto para definir cómo se gestionan los siguientes atributos d
| secciones | Text | Sólo para documentos MS Word (.docx). Especifica cómo se maneja la sección. Valores disponibles:
**all** (por defecto) - Se importan todas las secciones. Secciones continuas, incluso impares se convierten en secciones estándar. **ignore** \- Sections are converted to default 4D Write Pro sections (A4 portrait layout without header or footer). **Nota**: las rupturas de secciones de cualquier tipo pero continuas se convierten en rupturas de sección con rupturas de página. Continuous section breaks are imported as continuous section breaks. |
| fields | Text | Sólo para documentos MS Word (.docx). Especifica cómo se manejan los campos .docx que no pueden ser convertidos a fórmulas 4D Write Pro. Valores disponibles:
**ignore** \- Los campos .docx son ignorados. **label** \- .docx field references are imported as labels within double curly braces ("{{ }}"). Ej: el campo "ClientName" se importará como {{ClientName}}. **value** (default) - El último valor calculado para el campo .docx (si está disponible) es importado. **Note**: If a .docx field corresponds to a 4D Write Pro variable, the field is imported as a formula and this option is ignored. |
| borderRules | Text | Sólo para documentos MS Word (.docx). Especifica cómo se gestionan los bordes de los párrafos. Valores disponibles:
**collapse** \- El formato del párrafo se modifica para imitar los bordes colapsados automáticamente. Tenga en cuenta que la propiedad contraída sólo se aplica durante la operación de importación. If a stylesheet with a automatic border collapse setting is reapplied after the import operation, the setting will be ignored. **noCollapse** (por defecto) - No se modifica el formato de los párrafos. |
-| preferredFontScriptType | Text | Sólo para documentos MS Word (.docx). Specifies the preferred typeface to use when different typefaces are defined for a single font property in OOXML. Valores disponibles:
**latin** (por defecto) - script latino **bidi** \- script bidreccional. Adecuado si el documento es principalmente bidireccional de izquierda a derecha (LTR) o de derecha a izquierda (RTL) texto (por ejemplo, árabe o hebreo). **eastAsia** \- East Asian script. Adecuado si el documento es principalmente texto asiático. |
+| preferredFontScriptType | Text | Sólo para documentos MS Word (.docx). Especifica el tipo de letra preferido que se utilizará cuando se definan distintos tipos de letra para una única propiedad de fuente en OOXML. Valores disponibles:
**latin** (por defecto) - script latino **bidi** \- script bidreccional. Adecuado si el documento es principalmente bidireccional de izquierda a derecha (LTR) o de derecha a izquierda (RTL) texto (por ejemplo, árabe o hebreo). **eastAsia** \- East Asian script. Adecuado si el documento es principalmente texto asiático. |
| htmlExpressions | Text | Sólo para documentos 4D Write (.4w7). Especifica cómo se manejan las expresiones HTML. Available values:
**rawText** \- HTML expressions are imported as raw text within ##htmlBegin## and ##htmlEnd## tags **ignore** (default) - HTML expressions are ignored. |
| importDisplayMode | Text | Sólo para documentos 4D Write (.4w7). Especifica cómo se gestiona la visualización de imágenes. Available values:
**legacy -** 4W7 image display mode is converted using a background image if different than scaled to fit. **noLegacy** (default) - 4W7 image display mode is converted to the *imageDisplayMode* attribute if different than scaled to fit. |
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-21/WritePro/managing-formulas.md b/i18n/es/docusaurus-plugin-content-docs/version-21/WritePro/managing-formulas.md
index 128c04f6bef972..a84f91af9e168c 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-21/WritePro/managing-formulas.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-21/WritePro/managing-formulas.md
@@ -201,7 +201,7 @@ En este caso, puede mostrar las referencias a fórmulas como símbolos , or
+- active la opción **Mostrar origen de fórmula como símbolo** en la lista de propiedades (consulte *Configuración de las propiedades de la vista*), o
- utilizar la acción estándar displayFormulaAsSymbol (ver *Uso de las acciones estándar de 4D Write Pro*), o bien
- usa el comando [**WP SET VIEW PROPERTIES**](commands-legacy/wp-set-view-properties.md) con el selector `wk display formula as symbol` en **True**.
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-21/WritePro/writeprointerface.md b/i18n/es/docusaurus-plugin-content-docs/version-21/WritePro/writeprointerface.md
index febf1ee68cb3e9..b5c8070174f4d1 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-21/WritePro/writeprointerface.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-21/WritePro/writeprointerface.md
@@ -312,7 +312,7 @@ La interfaz de 4D Write Pro utiliza OpenAI, para lo cual necesita suministrar su
:::
-### Limitaciones (Developer Preview)
+### Limitaciones
En la aplicación actual, la función tiene las siguientes limitaciones:
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-21/aikit/Classes/OpenAIEmbeddingsAPI.md b/i18n/es/docusaurus-plugin-content-docs/version-21/aikit/Classes/OpenAIEmbeddingsAPI.md
index 7d99ad8f1204a6..af4bea76385705 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-21/aikit/Classes/OpenAIEmbeddingsAPI.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-21/aikit/Classes/OpenAIEmbeddingsAPI.md
@@ -46,7 +46,7 @@ var $vectors : Collection:=$result.vectors // collection of 4D.Vector
> Before using embeddings with a specific service, please check its documentation to see if embeddings are supported, and select the appropriate embedding model.
-For example, for Mistral, use [mistral-embed or codestral-embed](https://docs.mistral.ai/capabilities/embeddings/)
+Por ejemplo, para Mistral, utilice [mistral-embed o codestral-embed](https://docs.mistral.ai/capabilities/embeddings/)
```4d
var $result:=$client.embeddings.create($inputs; "mistral-embed")
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-21/aikit/Classes/OpenAIMessage.md b/i18n/es/docusaurus-plugin-content-docs/version-21/aikit/Classes/OpenAIMessage.md
index 223b4de69615ec..df318d585644d2 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-21/aikit/Classes/OpenAIMessage.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-21/aikit/Classes/OpenAIMessage.md
@@ -5,7 +5,7 @@ title: OpenAIMessage
# OpenAIMessage
-The `OpenAIMessage` class represents a structured message containing a role, content, and an optional user. This class provides methods to manipulate and retrieve the text and other content of the message.
+La clase `OpenAIMessage` representa un mensaje estructurado que contiene un rol, un contenido y un usuario opcional. This class provides methods to manipulate and retrieve the text and other content of the message.
## Propiedades
@@ -103,7 +103,7 @@ var $toolResponse:=cs.AIKit.OpenAIMessage.new({ \
// Add it to the conversation and continue
```
-**Important:** The `tool_call_id` in your response must exactly match the `id` from the original tool call. Esto permite que el modelo de IA asocie correctamente su respuesta con la llamada de función específica que se realizó.
+**Importante:** el `tool_call_id` de su respuesta debe coincidir exactamente con el `id` de la llamada de la herramienta original. Esto permite que el modelo de IA asocie correctamente su respuesta con la llamada de función específica que se realizó.
## Ver también
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-21/aikit/asynchronous-call.md b/i18n/es/docusaurus-plugin-content-docs/version-21/aikit/asynchronous-call.md
index ff565bb2601c7b..ed81a7d77e2b7a 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-21/aikit/asynchronous-call.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-21/aikit/asynchronous-call.md
@@ -25,7 +25,7 @@ The asynchronous method is based on [4D.HTTPRequest](https://developer.4d.com/do
$client.models.list({formula: Formula(MyReceiveMethod($1))})
```
-`$1` will be an instance of [OpenAIModelListResult](Classes/OpenAIModelListResult.md), so `MyReceiveMethod` method could be:
+`$1` será una instancia de [OpenAIModelListResult](Classes/OpenAIModelListResult.md), por lo que el método `MyReceiveMethod` podría ser:
```4d
#DECLARE($result: cs.AIKit.OpenAIModelListResult)
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-21/code-editor/write-class-method.md b/i18n/es/docusaurus-plugin-content-docs/version-21/code-editor/write-class-method.md
index f047f57dab287d..a02505ed1f8e28 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-21/code-editor/write-class-method.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-21/code-editor/write-class-method.md
@@ -25,16 +25,16 @@ If you are used to coding with **VS Code**, you can also use this editor with 4D
Cada ventana del Editor de Código tiene una barra de herramientas que ofrece acceso instantáneo a las funciones básicas relacionadas con la ejecución y edición de código.
-| Elemento | Icono | Descripción |
-| ------------------------------------ | --------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
-| **Ejecución del método** |  | Cuando se trabaja con métodos, cada ventana del Editor de Código tiene un botón que puede utilizarse para ejecutar el método actual. Using the menu associated with this button, you can choose the type of execution:- **Run new process**: Creates a process and runs the method in standard mode in this process.
- **Run and debug new process**: Creates a new process and displays the method in the Debugger window for step by step execution in this process.
- **Run in Application process**: Runs the method in standard mode in the context of the Application process (in other words, the record display window).
- **Run and debug in Application process**: Displays the method in the Debugger window for step by step execution in the context of the Application process (in other words, the record display window).
For more information on method execution, see [Calling Project Methods](../Concepts/methods.md#calling-project-methods). |
-| **Buscar en el método** |  | Muestra el [*Área de búsqueda*](#find-and-replace). |
-| **Macros** |  | Inserta una macro en la selección. Haga clic en la flecha desplegable para mostrar una lista de macros disponibles. Para obtener más información sobre como crear e instanciar macros, consulte [Macros](#macros). |
-| **Expandir todo/Contraer todo** |  | Estos botones permiten expandir o contraer todas las estructuras de flujo de control del código. |
-| **Información del método** |  | Muestra el diálogo [Propiedades del método](../Project/code-overview.md#project-method-properties) (sólo métodos proyecto). |
-| **Últimos valores del portapapeles** |  | Muestra los últimos valores almacenados en el portapapeles. |
-| **Portapapeles** |  | Nueve portapapeles disponibles en el editor de código. Puede [utilizar estos portapapeles](#clipboards) haciendo clic directamente en ellos o utilizando los atajos de teclado. Puede utilizar la opción [Preferencias](Preferences/methods.md#options-1) para ocultarlas. |
-| **Menú desplegable de navegación** |  | Le permite navegar dentro de métodos y clases con contenido etiquetado automáticamente o marcadores declarados manualmente. Ver abajo |
+| Elemento | Icono | Descripción |
+| ------------------------------------ | --------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| **Ejecución del método** |  | Cuando se trabaja con métodos, cada ventana del Editor de Código tiene un botón que puede utilizarse para ejecutar el método actual. Using the menu associated with this button, you can choose the type of execution:- **Run new process**: Creates a process and runs the method in standard mode in this process.
- **Run and debug new process**: Creates a new process and displays the method in the Debugger window for step by step execution in this process.
- **Run in Application process**: Runs the method in standard mode in the context of the Application process (in other words, the record display window).
- **Run and debug in Application process**: Displays the method in the Debugger window for step by step execution in the context of the Application process (in other words, the record display window).
Para más información sobre la ejecución de métodos, ver [Llamada a métodos proyecto](../Concepts/methods.md#calling-project-methods). |
+| **Buscar en el método** |  | Muestra el [*Área de búsqueda*](#find-and-replace). |
+| **Macros** |  | Inserta una macro en la selección. Haga clic en la flecha desplegable para mostrar una lista de macros disponibles. Para obtener más información sobre como crear e instanciar macros, consulte [Macros](#macros). |
+| **Expandir todo/Contraer todo** |  | Estos botones permiten expandir o contraer todas las estructuras de flujo de control del código. |
+| **Información del método** |  | Muestra el diálogo [Propiedades del método](../Project/code-overview.md#project-method-properties) (sólo métodos proyecto). |
+| **Últimos valores del portapapeles** |  | Muestra los últimos valores almacenados en el portapapeles. |
+| **Portapapeles** |  | Nueve portapapeles disponibles en el editor de código. Puede [utilizar estos portapapeles](#clipboards) haciendo clic directamente en ellos o utilizando los atajos de teclado. Puede utilizar la opción [Preferencias](Preferences/methods.md#options-1) para ocultarlas. |
+| **Menú desplegable de navegación** |  | Le permite navegar dentro de métodos y clases con contenido etiquetado automáticamente o marcadores declarados manualmente. Ver abajo |
### Área de edición
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-21/commands/command-name.md b/i18n/es/docusaurus-plugin-content-docs/version-21/commands/command-name.md
index 08c1237eb694d5..8198b5151245b1 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-21/commands/command-name.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-21/commands/command-name.md
@@ -28,7 +28,7 @@ displayed_sidebar: docs
## Descripción
-The **Command name** command returns the name as well as (optionally) the properties of the command whose command number you pass in *command*.The number of each command is indicated in the Explorer as well as in the Properties area of this documentation.
+The **Command name** command returns the name as well as (optionally) the properties of the command whose command number you pass in *command*.El número de cada comando se indica tanto en el explorador como en el área Propiedades de esta documentación.
**Compatibility note:** A command name may vary from one 4D version to the next (commands renamed), this command was used in previous versions to designate a command directly by means of its number, especially in non-tokenized portions of code. This need has diminished over time as 4D continues to evolve because, for non-tokenized statements (formulas), 4D now provides a token syntax. This syntax allows you to avoid potential problems due to variations in command names as well as other elements such as tables, while still being able to type these names in a legible manner (for more information, refer to the *Using tokens in formulas* section). Tenga en cuenta también que la opción \*[Usar parámetros del sistema regional\* de las Preferencias](../Preferences/methods.md#4d-programming-language-use-regional-system-settings) le permite seguir usando el idioma francés en una versión francesa de 4D.
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-21/commands/license-info.md b/i18n/es/docusaurus-plugin-content-docs/version-21/commands/license-info.md
index 0831a61bd841cc..8a4db22e4f7d89 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-21/commands/license-info.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-21/commands/license-info.md
@@ -20,7 +20,12 @@ displayed_sidebar: docs
Si el comando se ejecuta en una aplicación 4D que no utiliza localmente una licencia (por ejemplo, 4D remote), el comando devuelve un objeto Null.
-El objeto devuelto contiene las siguientes propiedades:
+:::note
+
+Este comando recarga los archivos de licencia desde el disco y actualiza los derechos asociados si han sido modificados.
+
+:::
+The returned object contains the following properties:
```json
{
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-21/commands/new-log-file.md b/i18n/es/docusaurus-plugin-content-docs/version-21/commands/new-log-file.md
index a3a706e3623201..cd29afa0fbc333 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-21/commands/new-log-file.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-21/commands/new-log-file.md
@@ -25,7 +25,7 @@ caja de diálogo.
The file is renamed with the current backup numbers of the database and of the log file, as shown in the following example: DatabaseName\[BackupNum-LogBackupNum\].journal. Por ejemplo:
-- If the MyDatabase.4DD database has been saved 4 times, the last backup file will be named MyDatabase\[0004\].4BK. El nombre del primer “segment” del archivo de registro será, por lo tanto, MyDatabase\[0004-0001\].journal.
+- Si la base de datos MyDatabase.4DD ha sido guardada 4 veces, el último archivo de copia de seguridad se llamará MyDatabase\[0004\].4BK. El nombre del primer “segment” del archivo de registro será, por lo tanto, MyDatabase\[0004-0001\].journal.
- If the MyDatabase.4DD database has been saved 3 times and the log file has been saved 5 times since, the name of the 6th backup of the log file will be MyDatabase\[0003-0006\].journal.
:::warning
diff --git a/i18n/fr/docusaurus-plugin-content-docs/current/FormObjects/listbox_overview.md b/i18n/fr/docusaurus-plugin-content-docs/current/FormObjects/listbox_overview.md
index 9b1a1926dd45f3..fc7a54853bda6f 100644
--- a/i18n/fr/docusaurus-plugin-content-docs/current/FormObjects/listbox_overview.md
+++ b/i18n/fr/docusaurus-plugin-content-docs/current/FormObjects/listbox_overview.md
@@ -1036,12 +1036,12 @@ Exemples :
```4d
ARRAY TEXT($RequiredList;0)
- APPEND TO ARRAY($RequiredList; "Open")
- APPEND TO ARRAY($RequiredList; "Closed")
+ APPEND TO ARRAY($RequiredList;"Open")
+ APPEND TO ARRAY($RequiredList;"Closed")
var $ob : Object
- OB SET($ob; "valueType" ; "text")
- OB SET($ob; "value" ; "Closed")
- OB SET ARRAY($ob; "requiredList" ;$RequiredList)
+ OB SET($ob;"valueType";"text")
+ OB SET($ob;"value";"Closed")
+ OB SET ARRAY($ob;"requiredList";$RequiredList)
```

@@ -1103,9 +1103,7 @@ Exemples :
OB SET($ob; "requiredListReference";<>List)
```
-```

-```
#### choiceListName et choiceListReference
diff --git a/i18n/fr/docusaurus-plugin-content-docs/current/WritePro/writeprointerface.md b/i18n/fr/docusaurus-plugin-content-docs/current/WritePro/writeprointerface.md
index 70eae325782082..7fb6510a6a45ff 100644
--- a/i18n/fr/docusaurus-plugin-content-docs/current/WritePro/writeprointerface.md
+++ b/i18n/fr/docusaurus-plugin-content-docs/current/WritePro/writeprointerface.md
@@ -312,7 +312,7 @@ The 4D Write Pro interface uses OpenAI, for which you need to provide your own k
:::
-### Limitations (Developer Preview)
+### Limitations
In the current implementation, the feature has the following limitations:
diff --git a/i18n/fr/docusaurus-plugin-content-docs/current/commands/license-info.md b/i18n/fr/docusaurus-plugin-content-docs/current/commands/license-info.md
index 5f63d1446493b8..8765ced21a1c9f 100644
--- a/i18n/fr/docusaurus-plugin-content-docs/current/commands/license-info.md
+++ b/i18n/fr/docusaurus-plugin-content-docs/current/commands/license-info.md
@@ -20,6 +20,12 @@ displayed_sidebar: docs
Si la commande est exécutée sur une application 4D qui n'utilise pas de licence localement (par exemple 4D remote), la commande renvoie un objet Null.
+:::note
+
+This command reloads the license files from the disk and updates the associated rights if they have been modified.
+
+:::
+
L'objet retourné contient les propriétés suivantes :
```json
diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-20-R10/FormObjects/listbox_overview.md b/i18n/fr/docusaurus-plugin-content-docs/version-20-R10/FormObjects/listbox_overview.md
index 02263c1dc93bbc..a666ab352b654b 100644
--- a/i18n/fr/docusaurus-plugin-content-docs/version-20-R10/FormObjects/listbox_overview.md
+++ b/i18n/fr/docusaurus-plugin-content-docs/version-20-R10/FormObjects/listbox_overview.md
@@ -1105,9 +1105,7 @@ Exemples :
OB SET($ob;"requiredListReference";<>List)
```
- ```
- 
- ```
+
#### choiceListName et choiceListReference
diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-20-R10/WritePro/writeprointerface.md b/i18n/fr/docusaurus-plugin-content-docs/version-20-R10/WritePro/writeprointerface.md
index 70eae325782082..7fb6510a6a45ff 100644
--- a/i18n/fr/docusaurus-plugin-content-docs/version-20-R10/WritePro/writeprointerface.md
+++ b/i18n/fr/docusaurus-plugin-content-docs/version-20-R10/WritePro/writeprointerface.md
@@ -312,7 +312,7 @@ The 4D Write Pro interface uses OpenAI, for which you need to provide your own k
:::
-### Limitations (Developer Preview)
+### Limitations
In the current implementation, the feature has the following limitations:
diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-20-R10/commands/license-info.md b/i18n/fr/docusaurus-plugin-content-docs/version-20-R10/commands/license-info.md
index 87c974d2cb08bb..f85ef8794fd123 100644
--- a/i18n/fr/docusaurus-plugin-content-docs/version-20-R10/commands/license-info.md
+++ b/i18n/fr/docusaurus-plugin-content-docs/version-20-R10/commands/license-info.md
@@ -20,7 +20,12 @@ displayed_sidebar: docs
Si la commande est exécutée sur une application 4D qui n'utilise pas de licence localement (par exemple 4D remote), la commande renvoie un objet Null.
-L'objet retourné contient les propriétés suivantes :
+:::note
+
+This command reloads the license files from the disk and updates the associated rights if they have been modified.
+
+:::
+The returned object contains the following properties:
```json
{
diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-20/FormObjects/listbox_overview.md b/i18n/fr/docusaurus-plugin-content-docs/version-20/FormObjects/listbox_overview.md
index 394e709944227b..eb3dfeee01cdd0 100644
--- a/i18n/fr/docusaurus-plugin-content-docs/version-20/FormObjects/listbox_overview.md
+++ b/i18n/fr/docusaurus-plugin-content-docs/version-20/FormObjects/listbox_overview.md
@@ -1110,9 +1110,7 @@ Exemples :
OB SET($ob;"value";2) //affiche London par défaut
OB SET($ob;"requiredListReference";<>List)
```
-
-
- 
+
#### choiceListName et choiceListReference
diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-20/Notes/updates.md b/i18n/fr/docusaurus-plugin-content-docs/version-20/Notes/updates.md
index 75bc8ba7bb479c..0810196fdcbd2c 100644
--- a/i18n/fr/docusaurus-plugin-content-docs/version-20/Notes/updates.md
+++ b/i18n/fr/docusaurus-plugin-content-docs/version-20/Notes/updates.md
@@ -15,6 +15,8 @@ Lisez [**Les nouveautés de 4D 20**](https://blog.4d.com/fr-whats-new-in-4d-v20/
#### Points forts
+- 4D 20.8 LTS is certified on Windows 11 25H2.
+- 4D 20.8 LTS is certified on macOS Tahoe (macOS 26).
- [**Fixed bugs list**](https://bugs.4d.com/fixes?version=20.8): list of all bugs that have been fixed in 4D 20.8 LTS.
diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-21/FormObjects/listbox_overview.md b/i18n/fr/docusaurus-plugin-content-docs/version-21/FormObjects/listbox_overview.md
index 02263c1dc93bbc..a666ab352b654b 100644
--- a/i18n/fr/docusaurus-plugin-content-docs/version-21/FormObjects/listbox_overview.md
+++ b/i18n/fr/docusaurus-plugin-content-docs/version-21/FormObjects/listbox_overview.md
@@ -1105,9 +1105,7 @@ Exemples :
OB SET($ob;"requiredListReference";<>List)
```
- ```
- 
- ```
+
#### choiceListName et choiceListReference
diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-21/WritePro/writeprointerface.md b/i18n/fr/docusaurus-plugin-content-docs/version-21/WritePro/writeprointerface.md
index 70eae325782082..7fb6510a6a45ff 100644
--- a/i18n/fr/docusaurus-plugin-content-docs/version-21/WritePro/writeprointerface.md
+++ b/i18n/fr/docusaurus-plugin-content-docs/version-21/WritePro/writeprointerface.md
@@ -312,7 +312,7 @@ The 4D Write Pro interface uses OpenAI, for which you need to provide your own k
:::
-### Limitations (Developer Preview)
+### Limitations
In the current implementation, the feature has the following limitations:
diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-21/commands/license-info.md b/i18n/fr/docusaurus-plugin-content-docs/version-21/commands/license-info.md
index 87c974d2cb08bb..f85ef8794fd123 100644
--- a/i18n/fr/docusaurus-plugin-content-docs/version-21/commands/license-info.md
+++ b/i18n/fr/docusaurus-plugin-content-docs/version-21/commands/license-info.md
@@ -20,7 +20,12 @@ displayed_sidebar: docs
Si la commande est exécutée sur une application 4D qui n'utilise pas de licence localement (par exemple 4D remote), la commande renvoie un objet Null.
-L'objet retourné contient les propriétés suivantes :
+:::note
+
+This command reloads the license files from the disk and updates the associated rights if they have been modified.
+
+:::
+The returned object contains the following properties:
```json
{
diff --git a/i18n/ja/docusaurus-plugin-content-docs/current/FormObjects/listbox_overview.md b/i18n/ja/docusaurus-plugin-content-docs/current/FormObjects/listbox_overview.md
index 72a2d184bd9830..a59b0ea2ab43b9 100644
--- a/i18n/ja/docusaurus-plugin-content-docs/current/FormObjects/listbox_overview.md
+++ b/i18n/ja/docusaurus-plugin-content-docs/current/FormObjects/listbox_overview.md
@@ -1081,7 +1081,7 @@ behavior 属性は、値の通常の表示とは異なる表示方法を提供
ARRAY TEXT($RequiredList;0)
APPEND TO ARRAY($RequiredList;"Open")
APPEND TO ARRAY($RequiredList;"Closed")
- var $ob Object
+ var $ob : Object
OB SET($ob;"valueType";"text")
OB SET($ob;"value";"Closed")
OB SET ARRAY($ob;"requiredList";$RequiredList)
@@ -1146,9 +1146,7 @@ behavior 属性は、値の通常の表示とは異なる表示方法を提供
OB SET($ob;"requiredListReference";<>List)
```
-```

-```
#### choiceListName と choiceListReference
diff --git a/i18n/ja/docusaurus-plugin-content-docs/current/WritePro/writeprointerface.md b/i18n/ja/docusaurus-plugin-content-docs/current/WritePro/writeprointerface.md
index c73338891c9f16..bb283a6e73ffb8 100644
--- a/i18n/ja/docusaurus-plugin-content-docs/current/WritePro/writeprointerface.md
+++ b/i18n/ja/docusaurus-plugin-content-docs/current/WritePro/writeprointerface.md
@@ -315,7 +315,7 @@ AI 機能を有効化すると、4D Write Pro ドキュメント上にチャッ
:::
-### 制約(デベロッパープレビュー)
+### Limitations
現在の実装では、この機能では以下のような制約があります:
diff --git a/i18n/ja/docusaurus-plugin-content-docs/current/commands/license-info.md b/i18n/ja/docusaurus-plugin-content-docs/current/commands/license-info.md
index e941a40a934dfd..4614125fb186e7 100644
--- a/i18n/ja/docusaurus-plugin-content-docs/current/commands/license-info.md
+++ b/i18n/ja/docusaurus-plugin-content-docs/current/commands/license-info.md
@@ -20,6 +20,12 @@ displayed_sidebar: docs
コマンドが、ローカルではライセンスを使用しない4D アプリケーション上で実行された場合(例: 4D リモートなど)、コマンドはNull オブジェクトを返します。
+:::note
+
+This command reloads the license files from the disk and updates the associated rights if they have been modified.
+
+:::
+
戻り値のオブジェクトには、以下のプロパティが格納されています:
```json
diff --git a/i18n/ja/docusaurus-plugin-content-docs/version-20-R10/FormObjects/listbox_overview.md b/i18n/ja/docusaurus-plugin-content-docs/version-20-R10/FormObjects/listbox_overview.md
index fd76d9a03e9ff3..efd8bdd7db642b 100644
--- a/i18n/ja/docusaurus-plugin-content-docs/version-20-R10/FormObjects/listbox_overview.md
+++ b/i18n/ja/docusaurus-plugin-content-docs/version-20-R10/FormObjects/listbox_overview.md
@@ -1148,9 +1148,7 @@ behavior 属性は、値の通常の表示とは異なる表示方法を提供
OB SET($ob;"requiredListReference";<>List)
```
- ```
- 
- ```
+
#### choiceListName と choiceListReference
diff --git a/i18n/ja/docusaurus-plugin-content-docs/version-20-R10/WritePro/writeprointerface.md b/i18n/ja/docusaurus-plugin-content-docs/version-20-R10/WritePro/writeprointerface.md
index c73338891c9f16..bb283a6e73ffb8 100644
--- a/i18n/ja/docusaurus-plugin-content-docs/version-20-R10/WritePro/writeprointerface.md
+++ b/i18n/ja/docusaurus-plugin-content-docs/version-20-R10/WritePro/writeprointerface.md
@@ -315,7 +315,7 @@ AI 機能を有効化すると、4D Write Pro ドキュメント上にチャッ
:::
-### 制約(デベロッパープレビュー)
+### Limitations
現在の実装では、この機能では以下のような制約があります:
diff --git a/i18n/ja/docusaurus-plugin-content-docs/version-20-R10/commands/license-info.md b/i18n/ja/docusaurus-plugin-content-docs/version-20-R10/commands/license-info.md
index cf4704451c1ecd..dcb332009dd594 100644
--- a/i18n/ja/docusaurus-plugin-content-docs/version-20-R10/commands/license-info.md
+++ b/i18n/ja/docusaurus-plugin-content-docs/version-20-R10/commands/license-info.md
@@ -20,7 +20,12 @@ displayed_sidebar: docs
コマンドが、ローカルではライセンスを使用しない4D アプリケーション上で実行された場合(例: 4D リモートなど)、コマンドはNull オブジェクトを返します。
-戻り値のオブジェクトには、以下のプロパティが格納されています:
+:::note
+
+This command reloads the license files from the disk and updates the associated rights if they have been modified.
+
+:::
+The returned object contains the following properties:
```json
{
diff --git a/i18n/ja/docusaurus-plugin-content-docs/version-20/FormObjects/listbox_overview.md b/i18n/ja/docusaurus-plugin-content-docs/version-20/FormObjects/listbox_overview.md
index d120dbdf9f8516..37e28ccc8c9cbd 100644
--- a/i18n/ja/docusaurus-plugin-content-docs/version-20/FormObjects/listbox_overview.md
+++ b/i18n/ja/docusaurus-plugin-content-docs/version-20/FormObjects/listbox_overview.md
@@ -1109,9 +1109,7 @@ behavior 属性は、値の通常の表示とは異なる表示方法を提供
OB SET($ob;"value";2) // デフォルトでLondonを表示
OB SET($ob;"requiredListReference";<>List)
```
-
-
- 
+
#### choiceListName と choiceListReference
diff --git a/i18n/ja/docusaurus-plugin-content-docs/version-20/Notes/updates.md b/i18n/ja/docusaurus-plugin-content-docs/version-20/Notes/updates.md
index b218f9699528f3..84208fa427b2af 100644
--- a/i18n/ja/docusaurus-plugin-content-docs/version-20/Notes/updates.md
+++ b/i18n/ja/docusaurus-plugin-content-docs/version-20/Notes/updates.md
@@ -15,6 +15,8 @@ title: リリースノート
#### ハイライト
+- 4D 20.8 LTS is certified on Windows 11 25H2.
+- 4D 20.8 LTS is certified on macOS Tahoe (macOS 26).
- [**修正リスト**](https://bugs.4d.com/fixes?version=20.8): 4D 20.8 LTS で修正されたバグのリストです ([日本語版はこちら](https://4d-jp.github.io/2024/276/release-note-version-20/))。
diff --git a/i18n/ja/docusaurus-plugin-content-docs/version-21/FormObjects/listbox_overview.md b/i18n/ja/docusaurus-plugin-content-docs/version-21/FormObjects/listbox_overview.md
index fd76d9a03e9ff3..efd8bdd7db642b 100644
--- a/i18n/ja/docusaurus-plugin-content-docs/version-21/FormObjects/listbox_overview.md
+++ b/i18n/ja/docusaurus-plugin-content-docs/version-21/FormObjects/listbox_overview.md
@@ -1148,9 +1148,7 @@ behavior 属性は、値の通常の表示とは異なる表示方法を提供
OB SET($ob;"requiredListReference";<>List)
```
- ```
- 
- ```
+
#### choiceListName と choiceListReference
diff --git a/i18n/ja/docusaurus-plugin-content-docs/version-21/WritePro/writeprointerface.md b/i18n/ja/docusaurus-plugin-content-docs/version-21/WritePro/writeprointerface.md
index c73338891c9f16..bb283a6e73ffb8 100644
--- a/i18n/ja/docusaurus-plugin-content-docs/version-21/WritePro/writeprointerface.md
+++ b/i18n/ja/docusaurus-plugin-content-docs/version-21/WritePro/writeprointerface.md
@@ -315,7 +315,7 @@ AI 機能を有効化すると、4D Write Pro ドキュメント上にチャッ
:::
-### 制約(デベロッパープレビュー)
+### Limitations
現在の実装では、この機能では以下のような制約があります:
diff --git a/i18n/ja/docusaurus-plugin-content-docs/version-21/commands/license-info.md b/i18n/ja/docusaurus-plugin-content-docs/version-21/commands/license-info.md
index cf4704451c1ecd..dcb332009dd594 100644
--- a/i18n/ja/docusaurus-plugin-content-docs/version-21/commands/license-info.md
+++ b/i18n/ja/docusaurus-plugin-content-docs/version-21/commands/license-info.md
@@ -20,7 +20,12 @@ displayed_sidebar: docs
コマンドが、ローカルではライセンスを使用しない4D アプリケーション上で実行された場合(例: 4D リモートなど)、コマンドはNull オブジェクトを返します。
-戻り値のオブジェクトには、以下のプロパティが格納されています:
+:::note
+
+This command reloads the license files from the disk and updates the associated rights if they have been modified.
+
+:::
+The returned object contains the following properties:
```json
{
diff --git a/i18n/pt/docusaurus-plugin-content-docs/current/FormObjects/listbox_overview.md b/i18n/pt/docusaurus-plugin-content-docs/current/FormObjects/listbox_overview.md
index bac61a61d9c4f0..2f2fe29570a44a 100644
--- a/i18n/pt/docusaurus-plugin-content-docs/current/FormObjects/listbox_overview.md
+++ b/i18n/pt/docusaurus-plugin-content-docs/current/FormObjects/listbox_overview.md
@@ -1037,7 +1037,7 @@ Exemplos:
ARRAY TEXT($RequiredList;0)
APPEND TO ARRAY($RequiredList;"Open")
APPEND TO ARRAY($RequiredList;"Closed")
- var $ob Object
+ var $ob : Object
OB SET($ob;"valueType";"text")
OB SET($ob;"value";"Closed")
OB SET ARRAY($ob;"requiredList";$RequiredList)
@@ -1102,9 +1102,7 @@ Exemplos:
OB SET($ob;"requiredListReference";<>List)
```
-```
../assets/en/FormObjects/listbox_column_objectArray_cities.png
-```
#### choiceListName e choiceListReference
diff --git a/i18n/pt/docusaurus-plugin-content-docs/current/WritePro/writeprointerface.md b/i18n/pt/docusaurus-plugin-content-docs/current/WritePro/writeprointerface.md
index 047732e945b38b..5ae4f2aa2bddbc 100644
--- a/i18n/pt/docusaurus-plugin-content-docs/current/WritePro/writeprointerface.md
+++ b/i18n/pt/docusaurus-plugin-content-docs/current/WritePro/writeprointerface.md
@@ -312,7 +312,7 @@ The 4D Write Pro interface uses OpenAI, for which you need to provide your own k
:::
-### Limitações (Developer Preview)
+### Limitations
In the current implementation, the feature has the following limitations:
diff --git a/i18n/pt/docusaurus-plugin-content-docs/current/commands/license-info.md b/i18n/pt/docusaurus-plugin-content-docs/current/commands/license-info.md
index 8ed810a2a705a8..aa1fa0dadc9098 100644
--- a/i18n/pt/docusaurus-plugin-content-docs/current/commands/license-info.md
+++ b/i18n/pt/docusaurus-plugin-content-docs/current/commands/license-info.md
@@ -20,6 +20,12 @@ displayed_sidebar: docs
If the command is executed on a 4D application that does not use locally a license (e.g. 4D remote), the command returns a Null object.
+:::note
+
+This command reloads the license files from the disk and updates the associated rights if they have been modified.
+
+:::
+
O objeto retornado contém as propriedades abaixo:
```json
diff --git a/i18n/pt/docusaurus-plugin-content-docs/version-20-R10/FormObjects/listbox_overview.md b/i18n/pt/docusaurus-plugin-content-docs/version-20-R10/FormObjects/listbox_overview.md
index 82fe558bbce2d9..cd53f484214038 100644
--- a/i18n/pt/docusaurus-plugin-content-docs/version-20-R10/FormObjects/listbox_overview.md
+++ b/i18n/pt/docusaurus-plugin-content-docs/version-20-R10/FormObjects/listbox_overview.md
@@ -1106,9 +1106,7 @@ Exemplos:
OB SET($ob;"requiredListReference";<>List)
```
- ```
- ../assets/en/FormObjects/listbox_column_objectArray_cities.png
- ```
+../assets/en/FormObjects/listbox_column_objectArray_cities.png
#### choiceListName e choiceListReference
diff --git a/i18n/pt/docusaurus-plugin-content-docs/version-20-R10/WritePro/writeprointerface.md b/i18n/pt/docusaurus-plugin-content-docs/version-20-R10/WritePro/writeprointerface.md
index 047732e945b38b..5ae4f2aa2bddbc 100644
--- a/i18n/pt/docusaurus-plugin-content-docs/version-20-R10/WritePro/writeprointerface.md
+++ b/i18n/pt/docusaurus-plugin-content-docs/version-20-R10/WritePro/writeprointerface.md
@@ -312,7 +312,7 @@ The 4D Write Pro interface uses OpenAI, for which you need to provide your own k
:::
-### Limitações (Developer Preview)
+### Limitations
In the current implementation, the feature has the following limitations:
diff --git a/i18n/pt/docusaurus-plugin-content-docs/version-20-R10/commands/license-info.md b/i18n/pt/docusaurus-plugin-content-docs/version-20-R10/commands/license-info.md
index 72f55ce056d295..425413649a3176 100644
--- a/i18n/pt/docusaurus-plugin-content-docs/version-20-R10/commands/license-info.md
+++ b/i18n/pt/docusaurus-plugin-content-docs/version-20-R10/commands/license-info.md
@@ -20,7 +20,12 @@ displayed_sidebar: docs
If the command is executed on a 4D application that does not use locally a license (e.g. 4D remote), the command returns a Null object.
-O objeto retornado contém as propriedades abaixo:
+:::note
+
+This command reloads the license files from the disk and updates the associated rights if they have been modified.
+
+:::
+The returned object contains the following properties:
```json
{
diff --git a/i18n/pt/docusaurus-plugin-content-docs/version-20/FormObjects/listbox_overview.md b/i18n/pt/docusaurus-plugin-content-docs/version-20/FormObjects/listbox_overview.md
index 8ef7e23a8b5e2b..0b3dcfe0cab861 100644
--- a/i18n/pt/docusaurus-plugin-content-docs/version-20/FormObjects/listbox_overview.md
+++ b/i18n/pt/docusaurus-plugin-content-docs/version-20/FormObjects/listbox_overview.md
@@ -1110,9 +1110,7 @@ Exemplos:
OB SET($ob;"value";2) //displays London by default
OB SET($ob;"requiredListReference";<>List)
```
-
-
- ../assets/en/FormObjects/listbox_column_objectArray_cities.png
+
#### choiceListName e choiceListReference
diff --git a/i18n/pt/docusaurus-plugin-content-docs/version-20/Notes/updates.md b/i18n/pt/docusaurus-plugin-content-docs/version-20/Notes/updates.md
index 9f8a14853cafd3..fa68ba87d715f9 100644
--- a/i18n/pt/docusaurus-plugin-content-docs/version-20/Notes/updates.md
+++ b/i18n/pt/docusaurus-plugin-content-docs/version-20/Notes/updates.md
@@ -15,6 +15,8 @@ Leia [**O que há de novo no 4D 20**](https://blog.4d.com/en-whats-new-in-4d-v20
#### Destaques
+- 4D 20.8 LTS is certified on Windows 11 25H2.
+- 4D 20.8 LTS is certified on macOS Tahoe (macOS 26).
- [**Lista de bugs corrigidos**](https://bugs.4d.com/fixes?version=20.8): lista de todos os erros corrigidos no 4D 20.8 LTS.
diff --git a/i18n/pt/docusaurus-plugin-content-docs/version-21/FormObjects/listbox_overview.md b/i18n/pt/docusaurus-plugin-content-docs/version-21/FormObjects/listbox_overview.md
index 82fe558bbce2d9..cd53f484214038 100644
--- a/i18n/pt/docusaurus-plugin-content-docs/version-21/FormObjects/listbox_overview.md
+++ b/i18n/pt/docusaurus-plugin-content-docs/version-21/FormObjects/listbox_overview.md
@@ -1106,9 +1106,7 @@ Exemplos:
OB SET($ob;"requiredListReference";<>List)
```
- ```
- ../assets/en/FormObjects/listbox_column_objectArray_cities.png
- ```
+../assets/en/FormObjects/listbox_column_objectArray_cities.png
#### choiceListName e choiceListReference
diff --git a/i18n/pt/docusaurus-plugin-content-docs/version-21/WritePro/writeprointerface.md b/i18n/pt/docusaurus-plugin-content-docs/version-21/WritePro/writeprointerface.md
index 047732e945b38b..5ae4f2aa2bddbc 100644
--- a/i18n/pt/docusaurus-plugin-content-docs/version-21/WritePro/writeprointerface.md
+++ b/i18n/pt/docusaurus-plugin-content-docs/version-21/WritePro/writeprointerface.md
@@ -312,7 +312,7 @@ The 4D Write Pro interface uses OpenAI, for which you need to provide your own k
:::
-### Limitações (Developer Preview)
+### Limitations
In the current implementation, the feature has the following limitations:
diff --git a/i18n/pt/docusaurus-plugin-content-docs/version-21/commands/license-info.md b/i18n/pt/docusaurus-plugin-content-docs/version-21/commands/license-info.md
index 72f55ce056d295..425413649a3176 100644
--- a/i18n/pt/docusaurus-plugin-content-docs/version-21/commands/license-info.md
+++ b/i18n/pt/docusaurus-plugin-content-docs/version-21/commands/license-info.md
@@ -20,7 +20,12 @@ displayed_sidebar: docs
If the command is executed on a 4D application that does not use locally a license (e.g. 4D remote), the command returns a Null object.
-O objeto retornado contém as propriedades abaixo:
+:::note
+
+This command reloads the license files from the disk and updates the associated rights if they have been modified.
+
+:::
+The returned object contains the following properties:
```json
{
From 65a89481853e84431a49265677a807c0120948e0 Mon Sep 17 00:00:00 2001
From: arnaud-4d
Date: Fri, 14 Nov 2025 10:30:44 +0100
Subject: [PATCH 15/75] Write Pro interface
---
docs/WritePro/writeprointerface.md | 8 +++++---
.../version-20-R10/WritePro/writeprointerface.md | 2 +-
versioned_docs/version-21/WritePro/writeprointerface.md | 8 +++++---
3 files changed, 11 insertions(+), 7 deletions(-)
diff --git a/docs/WritePro/writeprointerface.md b/docs/WritePro/writeprointerface.md
index 180464b5c76159..3d2ea53d183948 100644
--- a/docs/WritePro/writeprointerface.md
+++ b/docs/WritePro/writeprointerface.md
@@ -4,13 +4,15 @@ title: 4D Write Pro Interface
slug: /WritePro/write-pro-interface
---
-4D WritePro Interface offers a set of palettes, which allow end users to easily customize a 4D Write Pro document.
+4D Write Pro Interface offers a set of palettes, which allow end users to easily customize a 4D Write Pro document.
A 4D developer can easily implement these palettes in their application. Thus, end users can manage all 4D Write Pro properties, such as fonts, text alignment, bookmarks, table layout, and frames.
-The main [4D Write Pro Interface documentation](https://doc.4d.com/4Dv20/4D/20/Entry-areas.300-6263967.en.html) can be found in the *4D Design Reference manual*.
+## Installation & documentation
-You will find below:
+4D Write Pro Interface is a **4D component** that needs to be [installed in your project](../Project/components.md#overview). 4D Write Pro Interface source files are [provided on Github](https://github.com/4d/4D-WritePro-Interface).
+
+The main [4D Write Pro Interface documentation](https://doc.4d.com/4Dv20/4D/20/Entry-areas.300-6263967.en.html) can be found in the *4D Design Reference manual*. You will find below:
- the Table Wizard configuration documentation,
- the integrated A.I. documentation.
diff --git a/versioned_docs/version-20-R10/WritePro/writeprointerface.md b/versioned_docs/version-20-R10/WritePro/writeprointerface.md
index 180464b5c76159..7e8aced6d31848 100644
--- a/versioned_docs/version-20-R10/WritePro/writeprointerface.md
+++ b/versioned_docs/version-20-R10/WritePro/writeprointerface.md
@@ -4,7 +4,7 @@ title: 4D Write Pro Interface
slug: /WritePro/write-pro-interface
---
-4D WritePro Interface offers a set of palettes, which allow end users to easily customize a 4D Write Pro document.
+The 4D Write Pro Interface component offers a set of palettes, which allow end users to easily customize a 4D Write Pro document.
A 4D developer can easily implement these palettes in their application. Thus, end users can manage all 4D Write Pro properties, such as fonts, text alignment, bookmarks, table layout, and frames.
diff --git a/versioned_docs/version-21/WritePro/writeprointerface.md b/versioned_docs/version-21/WritePro/writeprointerface.md
index 180464b5c76159..3d2ea53d183948 100644
--- a/versioned_docs/version-21/WritePro/writeprointerface.md
+++ b/versioned_docs/version-21/WritePro/writeprointerface.md
@@ -4,13 +4,15 @@ title: 4D Write Pro Interface
slug: /WritePro/write-pro-interface
---
-4D WritePro Interface offers a set of palettes, which allow end users to easily customize a 4D Write Pro document.
+4D Write Pro Interface offers a set of palettes, which allow end users to easily customize a 4D Write Pro document.
A 4D developer can easily implement these palettes in their application. Thus, end users can manage all 4D Write Pro properties, such as fonts, text alignment, bookmarks, table layout, and frames.
-The main [4D Write Pro Interface documentation](https://doc.4d.com/4Dv20/4D/20/Entry-areas.300-6263967.en.html) can be found in the *4D Design Reference manual*.
+## Installation & documentation
-You will find below:
+4D Write Pro Interface is a **4D component** that needs to be [installed in your project](../Project/components.md#overview). 4D Write Pro Interface source files are [provided on Github](https://github.com/4d/4D-WritePro-Interface).
+
+The main [4D Write Pro Interface documentation](https://doc.4d.com/4Dv20/4D/20/Entry-areas.300-6263967.en.html) can be found in the *4D Design Reference manual*. You will find below:
- the Table Wizard configuration documentation,
- the integrated A.I. documentation.
From ca54667db3e096b6a6df3d9543f57f5282790d23 Mon Sep 17 00:00:00 2001
From: arnaud-4d
Date: Fri, 14 Nov 2025 14:46:47 +0100
Subject: [PATCH 16/75] more consistent release notes
---
docs/Notes/updates.md | 10 ----------
versioned_docs/version-20-R10/Notes/updates.md | 5 -----
versioned_docs/version-20/Notes/updates.md | 6 ------
versioned_docs/version-21/Notes/updates.md | 8 +-------
4 files changed, 1 insertion(+), 28 deletions(-)
diff --git a/docs/Notes/updates.md b/docs/Notes/updates.md
index 488aaad002fca7..e4838f0d200ee4 100644
--- a/docs/Notes/updates.md
+++ b/docs/Notes/updates.md
@@ -16,16 +16,6 @@ Read [**What’s new in 4D 21 R2**](https://blog.4d.com/en-whats-new-in-4d-21-r2
#### Behavior changes
-## 4D 21.x LTS
-
-See [**Release Notes for 4D 21.x LTS**](../../21/Notes/updates).
-
-
-## 4D 20.x LTS
-
-
-See [**Release Notes for 4D 20.x LTS**](../../20/Notes/updates).
-
## Library table
diff --git a/versioned_docs/version-20-R10/Notes/updates.md b/versioned_docs/version-20-R10/Notes/updates.md
index e15e1725a42550..74cf219915111c 100644
--- a/versioned_docs/version-20-R10/Notes/updates.md
+++ b/versioned_docs/version-20-R10/Notes/updates.md
@@ -261,11 +261,6 @@ If your 4D applications use TLS connections, it is recommended that you upgrade
- **Warning**: The starting [`offset`](../API/FileHandleClass.md#offset) value of [4D.FileHandle](../API/FileHandleClass.md) objects was incorrectly set to 1 instead of 0. A fix has been made in 4D as of versions **20.1 HF1** and **20 R2** and the value is now 0.
-## 4D 20.x LTS
-
-
-See [**Release Notes for 4D 20.x LTS**](../../version-20/Notes/updates.md).
-
## Library table
diff --git a/versioned_docs/version-20/Notes/updates.md b/versioned_docs/version-20/Notes/updates.md
index 3bc47a3fd312df..928c7ddbaec494 100644
--- a/versioned_docs/version-20/Notes/updates.md
+++ b/versioned_docs/version-20/Notes/updates.md
@@ -355,12 +355,6 @@ For detailed information, please refer to [this blog post](https://blog.4d.com/s
- `no-bom` support and new default end-of-line characters in [`.setText()`](../API/FileClass.md#settext)
-## 4D 19.x LTS
-
-
-See [**Release Notes for 4D 19.x LTS**](../../version-19/Notes/updates.md).
-
-
## Library table (4D 20 LTS)
diff --git a/versioned_docs/version-21/Notes/updates.md b/versioned_docs/version-21/Notes/updates.md
index fdd46fed9c627e..8448ddca6575b1 100644
--- a/versioned_docs/version-21/Notes/updates.md
+++ b/versioned_docs/version-21/Notes/updates.md
@@ -318,14 +318,8 @@ If your 4D applications use TLS connections, it is recommended that you upgrade
- **Warning**: The starting [`offset`](../API/FileHandleClass.md#offset) value of [4D.FileHandle](../API/FileHandleClass.md) objects was incorrectly set to 1 instead of 0. A fix has been made in 4D as of versions **20.1 HF1** and **20 R2** and the value is now 0.
-## 4D 20.x LTS
-
-See [**Release Notes for 4D 20.x LTS**](../20/Notes/updates).
-
-
-
-## Library table
+## Library table (4D 21 LTS)
From 7d0e42f71fa689a66c7846590035d35996661e81 Mon Sep 17 00:00:00 2001
From: arnaud-4d
Date: Fri, 14 Nov 2025 17:19:47 +0100
Subject: [PATCH 17/75] exposed available to singletons
---
docs/Concepts/classes.md | 7 +++--
docs/ORDA/ordaClasses.md | 31 ++++++++++++++++---
.../version-20-R10/Concepts/classes.md | 7 +++--
.../version-20-R10/ORDA/ordaClasses.md | 31 ++++++++++++++++---
versioned_docs/version-21/Concepts/classes.md | 7 +++--
versioned_docs/version-21/ORDA/ordaClasses.md | 31 ++++++++++++++++---
6 files changed, 93 insertions(+), 21 deletions(-)
diff --git a/docs/Concepts/classes.md b/docs/Concepts/classes.md
index c4bb72df691e31..bfd377faa713d0 100644
--- a/docs/Concepts/classes.md
+++ b/docs/Concepts/classes.md
@@ -768,13 +768,14 @@ A **singleton class** is a user class that only produces a single instance. For
### Singletons types
+Singletons are useful to define values that need to be available from anywhere in an application, a session, or a process.
+
4D supports three types of singletons:
- a **process singleton** has a unique instance for the process in which it is instantiated,
- a **shared singleton** has a unique instance for all processes on the machine.
-- a **session singleton** is a shared singleton but with a unique instance for all processes in the [session](../API/SessionClass.md). Session singletons are shared within an entire session but vary between sessions. In the context of a client-server or a web application, session singletons make it possible to create and use a different instance for each session, and therefore for each user.
+- a **session singleton** is a shared singleton but with a unique instance for all processes in the [session](../API/SessionClass.md). Session singletons are shared within an entire session but vary between sessions. In the context of a client-server or a web application, session singletons make it possible to create and use a different instance for each session, and therefore for each user. Session singletons are particularly appropriate with [Qodly applications](https://developer.4d.com/qodly/).
-Singletons are useful to define values that need to be available from anywhere in an application, a session, or a process.
:::info
@@ -817,7 +818,9 @@ The [`.isSingleton`](../API/ClassClass.md#issingleton) property of Class objects
The [`.isSessionSingleton`](../API/ClassClass.md#issessionsingleton) property of Class objects allows to know if the class is a session singleton.
+### Exposed singleton functions
+Shared and session singleton functions support the [`exposed` keyword](../ORDA/ordaClasses.md#exposed-vs-non-exposed-functions). An exposed singleton function can be directly called by REST requests. This feature is useful to design [Qodly pages calling 4D functions](https://developer.4d.com/qodly/4DQodlyPro/pageLoaders/events/bindingActionToEvents#class-functions).
### Examples
diff --git a/docs/ORDA/ordaClasses.md b/docs/ORDA/ordaClasses.md
index 15c101bccce2f2..02040f0bf2d512 100644
--- a/docs/ORDA/ordaClasses.md
+++ b/docs/ORDA/ordaClasses.md
@@ -972,25 +972,46 @@ $arch.save() //courseName and name are "Archaeology II"
## Exposed vs non-exposed functions
-For security reasons, all of your data model class functions and alias attributes are **not exposed** (i.e., private) by default to remote requests.
+For security reasons, all of your data model class functions, including [computed attributes](#computed-attributes-1) and [alias attributes](#alias-attributes-1), as well as [shared singleton functions](../Concepts/classes.md#shared-singleton) are **not exposed** (i.e., private) by default to **remote requests**.
-Remote requests include:
+Remote requests are:
- Requests sent by remote 4D applications connected through `Open datastore`
-- REST requests
+- REST requests, including requests from [Qodly pages](https://developer.4d.com/qodly/)
> Regular 4D client/server requests are not impacted. Data model class functions are always available in this architecture.
A function that is not exposed is not available on remote applications and cannot be called on any object instance from a REST request. If a remote application tries to access a non-exposed function, the "-10729 - Unknown member method" error is returned.
-To allow a data model class function to be called by a remote request, you must explicitly declare it using the `exposed` keyword. The formal syntax is:
+To allow a function or an attribute to be called by a remote request, you must explicitly declare it using the `exposed` keyword. The formal syntax is:
```4d
// declare an exposed function
exposed Function
```
-> The `exposed` keyword can only be used with Data model class functions. If used with a [regular user class](Concepts/classes.md) function, it is ignored and an error is returned by the compiler.
+```4d
+// declare an exposed alias
+exposed Alias
+```
+
+```4d
+// declare an exposed computed attribute
+exposed Function get
+```
+
+```4d
+// declare a shared singleton function
+shared singleton Class constructor()
+exposed Function
+```
+
+
+:::note
+
+The `exposed` keyword can only be used with the objects decribed above. If used with a [regular user class](Concepts/classes.md) function, it is ignored and an error is returned by the compiler.
+
+:::
### Example
diff --git a/versioned_docs/version-20-R10/Concepts/classes.md b/versioned_docs/version-20-R10/Concepts/classes.md
index c4bb72df691e31..bfd377faa713d0 100644
--- a/versioned_docs/version-20-R10/Concepts/classes.md
+++ b/versioned_docs/version-20-R10/Concepts/classes.md
@@ -768,13 +768,14 @@ A **singleton class** is a user class that only produces a single instance. For
### Singletons types
+Singletons are useful to define values that need to be available from anywhere in an application, a session, or a process.
+
4D supports three types of singletons:
- a **process singleton** has a unique instance for the process in which it is instantiated,
- a **shared singleton** has a unique instance for all processes on the machine.
-- a **session singleton** is a shared singleton but with a unique instance for all processes in the [session](../API/SessionClass.md). Session singletons are shared within an entire session but vary between sessions. In the context of a client-server or a web application, session singletons make it possible to create and use a different instance for each session, and therefore for each user.
+- a **session singleton** is a shared singleton but with a unique instance for all processes in the [session](../API/SessionClass.md). Session singletons are shared within an entire session but vary between sessions. In the context of a client-server or a web application, session singletons make it possible to create and use a different instance for each session, and therefore for each user. Session singletons are particularly appropriate with [Qodly applications](https://developer.4d.com/qodly/).
-Singletons are useful to define values that need to be available from anywhere in an application, a session, or a process.
:::info
@@ -817,7 +818,9 @@ The [`.isSingleton`](../API/ClassClass.md#issingleton) property of Class objects
The [`.isSessionSingleton`](../API/ClassClass.md#issessionsingleton) property of Class objects allows to know if the class is a session singleton.
+### Exposed singleton functions
+Shared and session singleton functions support the [`exposed` keyword](../ORDA/ordaClasses.md#exposed-vs-non-exposed-functions). An exposed singleton function can be directly called by REST requests. This feature is useful to design [Qodly pages calling 4D functions](https://developer.4d.com/qodly/4DQodlyPro/pageLoaders/events/bindingActionToEvents#class-functions).
### Examples
diff --git a/versioned_docs/version-20-R10/ORDA/ordaClasses.md b/versioned_docs/version-20-R10/ORDA/ordaClasses.md
index 15c101bccce2f2..02040f0bf2d512 100644
--- a/versioned_docs/version-20-R10/ORDA/ordaClasses.md
+++ b/versioned_docs/version-20-R10/ORDA/ordaClasses.md
@@ -972,25 +972,46 @@ $arch.save() //courseName and name are "Archaeology II"
## Exposed vs non-exposed functions
-For security reasons, all of your data model class functions and alias attributes are **not exposed** (i.e., private) by default to remote requests.
+For security reasons, all of your data model class functions, including [computed attributes](#computed-attributes-1) and [alias attributes](#alias-attributes-1), as well as [shared singleton functions](../Concepts/classes.md#shared-singleton) are **not exposed** (i.e., private) by default to **remote requests**.
-Remote requests include:
+Remote requests are:
- Requests sent by remote 4D applications connected through `Open datastore`
-- REST requests
+- REST requests, including requests from [Qodly pages](https://developer.4d.com/qodly/)
> Regular 4D client/server requests are not impacted. Data model class functions are always available in this architecture.
A function that is not exposed is not available on remote applications and cannot be called on any object instance from a REST request. If a remote application tries to access a non-exposed function, the "-10729 - Unknown member method" error is returned.
-To allow a data model class function to be called by a remote request, you must explicitly declare it using the `exposed` keyword. The formal syntax is:
+To allow a function or an attribute to be called by a remote request, you must explicitly declare it using the `exposed` keyword. The formal syntax is:
```4d
// declare an exposed function
exposed Function
```
-> The `exposed` keyword can only be used with Data model class functions. If used with a [regular user class](Concepts/classes.md) function, it is ignored and an error is returned by the compiler.
+```4d
+// declare an exposed alias
+exposed Alias
+```
+
+```4d
+// declare an exposed computed attribute
+exposed Function get
+```
+
+```4d
+// declare a shared singleton function
+shared singleton Class constructor()
+exposed Function
+```
+
+
+:::note
+
+The `exposed` keyword can only be used with the objects decribed above. If used with a [regular user class](Concepts/classes.md) function, it is ignored and an error is returned by the compiler.
+
+:::
### Example
diff --git a/versioned_docs/version-21/Concepts/classes.md b/versioned_docs/version-21/Concepts/classes.md
index c4bb72df691e31..bfd377faa713d0 100644
--- a/versioned_docs/version-21/Concepts/classes.md
+++ b/versioned_docs/version-21/Concepts/classes.md
@@ -768,13 +768,14 @@ A **singleton class** is a user class that only produces a single instance. For
### Singletons types
+Singletons are useful to define values that need to be available from anywhere in an application, a session, or a process.
+
4D supports three types of singletons:
- a **process singleton** has a unique instance for the process in which it is instantiated,
- a **shared singleton** has a unique instance for all processes on the machine.
-- a **session singleton** is a shared singleton but with a unique instance for all processes in the [session](../API/SessionClass.md). Session singletons are shared within an entire session but vary between sessions. In the context of a client-server or a web application, session singletons make it possible to create and use a different instance for each session, and therefore for each user.
+- a **session singleton** is a shared singleton but with a unique instance for all processes in the [session](../API/SessionClass.md). Session singletons are shared within an entire session but vary between sessions. In the context of a client-server or a web application, session singletons make it possible to create and use a different instance for each session, and therefore for each user. Session singletons are particularly appropriate with [Qodly applications](https://developer.4d.com/qodly/).
-Singletons are useful to define values that need to be available from anywhere in an application, a session, or a process.
:::info
@@ -817,7 +818,9 @@ The [`.isSingleton`](../API/ClassClass.md#issingleton) property of Class objects
The [`.isSessionSingleton`](../API/ClassClass.md#issessionsingleton) property of Class objects allows to know if the class is a session singleton.
+### Exposed singleton functions
+Shared and session singleton functions support the [`exposed` keyword](../ORDA/ordaClasses.md#exposed-vs-non-exposed-functions). An exposed singleton function can be directly called by REST requests. This feature is useful to design [Qodly pages calling 4D functions](https://developer.4d.com/qodly/4DQodlyPro/pageLoaders/events/bindingActionToEvents#class-functions).
### Examples
diff --git a/versioned_docs/version-21/ORDA/ordaClasses.md b/versioned_docs/version-21/ORDA/ordaClasses.md
index 15c101bccce2f2..02040f0bf2d512 100644
--- a/versioned_docs/version-21/ORDA/ordaClasses.md
+++ b/versioned_docs/version-21/ORDA/ordaClasses.md
@@ -972,25 +972,46 @@ $arch.save() //courseName and name are "Archaeology II"
## Exposed vs non-exposed functions
-For security reasons, all of your data model class functions and alias attributes are **not exposed** (i.e., private) by default to remote requests.
+For security reasons, all of your data model class functions, including [computed attributes](#computed-attributes-1) and [alias attributes](#alias-attributes-1), as well as [shared singleton functions](../Concepts/classes.md#shared-singleton) are **not exposed** (i.e., private) by default to **remote requests**.
-Remote requests include:
+Remote requests are:
- Requests sent by remote 4D applications connected through `Open datastore`
-- REST requests
+- REST requests, including requests from [Qodly pages](https://developer.4d.com/qodly/)
> Regular 4D client/server requests are not impacted. Data model class functions are always available in this architecture.
A function that is not exposed is not available on remote applications and cannot be called on any object instance from a REST request. If a remote application tries to access a non-exposed function, the "-10729 - Unknown member method" error is returned.
-To allow a data model class function to be called by a remote request, you must explicitly declare it using the `exposed` keyword. The formal syntax is:
+To allow a function or an attribute to be called by a remote request, you must explicitly declare it using the `exposed` keyword. The formal syntax is:
```4d
// declare an exposed function
exposed Function
```
-> The `exposed` keyword can only be used with Data model class functions. If used with a [regular user class](Concepts/classes.md) function, it is ignored and an error is returned by the compiler.
+```4d
+// declare an exposed alias
+exposed Alias
+```
+
+```4d
+// declare an exposed computed attribute
+exposed Function get
+```
+
+```4d
+// declare a shared singleton function
+shared singleton Class constructor()
+exposed Function
+```
+
+
+:::note
+
+The `exposed` keyword can only be used with the objects decribed above. If used with a [regular user class](Concepts/classes.md) function, it is ignored and an error is returned by the compiler.
+
+:::
### Example
From 49709d85f151667489bb56dfa60314c67de1cc04 Mon Sep 17 00:00:00 2001
From: arnaud-4d
Date: Mon, 17 Nov 2025 11:49:02 +0100
Subject: [PATCH 18/75] fix parameters vs variables confusion
---
docs/Concepts/parameters.md | 23 +++++++++++--------
.../version-19/Concepts/parameters.md | 8 ++++++-
.../version-20-R10/Concepts/parameters.md | 16 +++++++++++--
.../version-20/Concepts/parameters.md | 8 ++++++-
.../version-21/Concepts/parameters.md | 16 +++++++++++--
5 files changed, 56 insertions(+), 15 deletions(-)
diff --git a/docs/Concepts/parameters.md b/docs/Concepts/parameters.md
index 163b6f2017e26f..49f202a83cea54 100644
--- a/docs/Concepts/parameters.md
+++ b/docs/Concepts/parameters.md
@@ -6,7 +6,7 @@ title: Parameters
You'll often find that you need to pass data to your methods and functions. This is easily done with parameters.
-## Overview
+## Passing parameters
**Parameters** (or **arguments**) are pieces of data that a method or a class function needs in order to perform its task. The terms *parameter* and *argument* are used interchangeably throughout this manual. Parameters are also passed to built-in 4D commands. In this example, the string “Hello” is an argument to the `ALERT` built-in command:
@@ -47,20 +47,19 @@ Any subroutine can return a value. Only one single output parameter can be decla
Input and output values are [evaluated](#values-or-references) at the moment of the call and copied into or from local variables within the called class function or method. Variable parameters must be [declared](#declaring-parameters) in the called code.
-:::info Compatibility
-
-The legacy declaration syntax, where parameters are automatically copied in sequentially numbered local variables $0, $1, etc. and declared using compiler directives such as `C_TEXT($1;$2)`, is **deprecated** as of 4D 20 R7.
-
-:::
-
-
## Declaring parameters
-Inside called methods or class functions, parameter values are assigned to local variables. You declare parameters using a **parameter name** along with a **parameter type**, separated by colon.
+Inside called methods or class functions, you declare parameters using a **parameter name** along with a **parameter type**, separated by colon.
- For class functions, parameters are declared along with the function prototype, i.e. when using the `Function` or `Class constructor` keywords.
- For methods (project methods, form object methods, database methods, and triggers), parameters are declared using the **`#DECLARE`** keyword at the beginning of the method code.
+:::info Compatibility
+
+The legacy declaration syntax, where parameters are automatically copied in sequentially numbered local variables $0, $1, etc. and declared using compiler directives such as `C_TEXT($1;$2)`, is **deprecated** as of 4D 20 R7.
+
+:::
+
Examples:
```4d
@@ -109,6 +108,12 @@ $entitySelection:=ds.User.query("login=:1"; $user)
// Check hash password...
```
+:::note
+
+Do not confuse **parameter declarations** with [**variable declarations**](variables.md#declaring-variables). Using the `var` keyword with parameters will generate errors.
+
+:::
+
### Returned value
You declare the return parameter of a function by adding an arrow (->) and the parameter definition after the input parameter(s) list. For example:
diff --git a/versioned_docs/version-19/Concepts/parameters.md b/versioned_docs/version-19/Concepts/parameters.md
index 560dc7f28582be..602606f667efaa 100644
--- a/versioned_docs/version-19/Concepts/parameters.md
+++ b/versioned_docs/version-19/Concepts/parameters.md
@@ -6,7 +6,7 @@ title: Parameters
You'll often find that you need to pass data to your methods and functions. This is easily done with parameters.
-## Overview
+## Passing parameters
**Parameters** (or **arguments**) are pieces of data that a method or a class function needs in order to perform its task. The terms *parameter* and *argument* are used interchangeably throughout this manual. Parameters are also passed to built-in 4D commands. In this example, the string “Hello” is an argument to the `ALERT` built-in command:
@@ -119,6 +119,12 @@ $entitySelection:=ds.User.query("login=:1"; $user)
// Check hash password...
```
+:::note
+
+Do not confuse **parameter declarations** with [**variable declarations**](variables.md#declaring-variables). Using the `var` keyword with parameters will generate errors.
+
+:::
+
### Returned value
You declare the return parameter of a function by adding an arrow (->) and the parameter definition after the input parameter(s) list. For example:
diff --git a/versioned_docs/version-20-R10/Concepts/parameters.md b/versioned_docs/version-20-R10/Concepts/parameters.md
index b4064c48667cb3..fd5b033166f832 100644
--- a/versioned_docs/version-20-R10/Concepts/parameters.md
+++ b/versioned_docs/version-20-R10/Concepts/parameters.md
@@ -6,7 +6,7 @@ title: Parameters
You'll often find that you need to pass data to your methods and functions. This is easily done with parameters.
-## Overview
+## Passing parameters
**Parameters** (or **arguments**) are pieces of data that a method or a class function needs in order to perform its task. The terms *parameter* and *argument* are used interchangeably throughout this manual. Parameters are also passed to built-in 4D commands. In this example, the string “Hello” is an argument to the `ALERT` built-in command:
@@ -56,11 +56,17 @@ The legacy declaration syntax, where parameters are automatically copied in sequ
## Declaring parameters
-Inside called methods or class functions, parameter values are assigned to local variables. You declare parameters using a **parameter name** along with a **parameter type**, separated by colon.
+Inside called methods or class functions, you declare parameters using a **parameter name** along with a **parameter type**, separated by colon.
- For class functions, parameters are declared along with the function prototype, i.e. when using the `Function` or `Class constructor` keywords.
- For methods (project methods, form object methods, database methods, and triggers), parameters are declared using the **`#DECLARE`** keyword at the beginning of the method code.
+:::info Compatibility
+
+The legacy declaration syntax, where parameters are automatically copied in sequentially numbered local variables $0, $1, etc. and declared using compiler directives such as `C_TEXT($1;$2)`, is **deprecated** as of 4D 20 R7.
+
+:::
+
Examples:
```4d
@@ -109,6 +115,12 @@ $entitySelection:=ds.User.query("login=:1"; $user)
// Check hash password...
```
+:::note
+
+Do not confuse **parameter declarations** with [**variable declarations**](variables.md#declaring-variables). Using the `var` keyword with parameters will generate errors.
+
+:::
+
### Returned value
You declare the return parameter of a function by adding an arrow (->) and the parameter definition after the input parameter(s) list. For example:
diff --git a/versioned_docs/version-20/Concepts/parameters.md b/versioned_docs/version-20/Concepts/parameters.md
index 9915df60c264e6..bd56b647e5df6c 100644
--- a/versioned_docs/version-20/Concepts/parameters.md
+++ b/versioned_docs/version-20/Concepts/parameters.md
@@ -6,7 +6,7 @@ title: Parameters
You'll often find that you need to pass data to your methods and functions. This is easily done with parameters.
-## Overview
+## Passing parameters
**Parameters** (or **arguments**) are pieces of data that a method or a class function needs in order to perform its task. The terms *parameter* and *argument* are used interchangeably throughout this manual. Parameters are also passed to built-in 4D commands. In this example, the string “Hello” is an argument to the `ALERT` built-in command:
@@ -109,6 +109,12 @@ $entitySelection:=ds.User.query("login=:1"; $user)
// Check hash password...
```
+:::note
+
+Do not confuse **parameter declarations** with [**variable declarations**](variables.md#declaring-variables). Using the `var` keyword with parameters will generate errors.
+
+:::
+
### Returned value
You declare the return parameter of a function by adding an arrow (->) and the parameter definition after the input parameter(s) list. For example:
diff --git a/versioned_docs/version-21/Concepts/parameters.md b/versioned_docs/version-21/Concepts/parameters.md
index b4064c48667cb3..fd5b033166f832 100644
--- a/versioned_docs/version-21/Concepts/parameters.md
+++ b/versioned_docs/version-21/Concepts/parameters.md
@@ -6,7 +6,7 @@ title: Parameters
You'll often find that you need to pass data to your methods and functions. This is easily done with parameters.
-## Overview
+## Passing parameters
**Parameters** (or **arguments**) are pieces of data that a method or a class function needs in order to perform its task. The terms *parameter* and *argument* are used interchangeably throughout this manual. Parameters are also passed to built-in 4D commands. In this example, the string “Hello” is an argument to the `ALERT` built-in command:
@@ -56,11 +56,17 @@ The legacy declaration syntax, where parameters are automatically copied in sequ
## Declaring parameters
-Inside called methods or class functions, parameter values are assigned to local variables. You declare parameters using a **parameter name** along with a **parameter type**, separated by colon.
+Inside called methods or class functions, you declare parameters using a **parameter name** along with a **parameter type**, separated by colon.
- For class functions, parameters are declared along with the function prototype, i.e. when using the `Function` or `Class constructor` keywords.
- For methods (project methods, form object methods, database methods, and triggers), parameters are declared using the **`#DECLARE`** keyword at the beginning of the method code.
+:::info Compatibility
+
+The legacy declaration syntax, where parameters are automatically copied in sequentially numbered local variables $0, $1, etc. and declared using compiler directives such as `C_TEXT($1;$2)`, is **deprecated** as of 4D 20 R7.
+
+:::
+
Examples:
```4d
@@ -109,6 +115,12 @@ $entitySelection:=ds.User.query("login=:1"; $user)
// Check hash password...
```
+:::note
+
+Do not confuse **parameter declarations** with [**variable declarations**](variables.md#declaring-variables). Using the `var` keyword with parameters will generate errors.
+
+:::
+
### Returned value
You declare the return parameter of a function by adding an arrow (->) and the parameter definition after the input parameter(s) list. For example:
From bb3681046bf2b008972c854b21a58b0eed80965e Mon Sep 17 00:00:00 2001
From: sandritica <136651682+sandritica@users.noreply.github.com>
Date: Mon, 17 Nov 2025 05:52:23 -0500
Subject: [PATCH 19/75] ES Edit in blob to print settings and SET/Get database
parameter (#2996)
* Update new-process.md
* Update new-process.md
* Update register-client.md
* Update register-client.md
* Update register-client.md
* Update 4d-write-pro-attributes.md
* Update 4d-write-pro-attributes.md
* Update 4d-write-pro-attributes.md
* Update wp-new-style-sheet.md
* Update wp-new-style-sheet.md
* Update wp-new-style-sheet.md
* Update get-database-parameter.md
* Update set-database-parameter.md
* Update set-database-parameter.md
* Update set-database-parameter.md
* Update get-database-parameter.md
* Update get-database-parameter.md
* Update blob-to-print-settings.md
* Update blob-to-print-settings.md
* Update blob-to-print-settings.md
---
.../commands-legacy/blob-to-print-settings.md | 11 +-
.../commands-legacy/get-database-parameter.md | 256 +++++++--------
.../commands-legacy/set-database-parameter.md | 296 ++++++++---------
.../commands-legacy/blob-to-print-settings.md | 11 +-
.../commands-legacy/get-database-parameter.md | 259 ++++++++-------
.../commands-legacy/set-database-parameter.md | 300 +++++++++---------
.../commands-legacy/blob-to-print-settings.md | 11 +-
.../commands-legacy/get-database-parameter.md | 256 +++++++--------
.../commands-legacy/set-database-parameter.md | 296 ++++++++---------
9 files changed, 763 insertions(+), 933 deletions(-)
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/commands-legacy/blob-to-print-settings.md b/i18n/es/docusaurus-plugin-content-docs/current/commands-legacy/blob-to-print-settings.md
index 7b5a31d53f367d..41a06864f9d2f0 100644
--- a/i18n/es/docusaurus-plugin-content-docs/current/commands-legacy/blob-to-print-settings.md
+++ b/i18n/es/docusaurus-plugin-content-docs/current/commands-legacy/blob-to-print-settings.md
@@ -17,14 +17,14 @@ displayed_sidebar: docs
## Descripción
-El comando **BLOB to print settings** reemplaza los parámetros de impresión actuales de 4D por los parámetros almacenados en el BLOB *confImpr*. Este BLOB debe haber sido generado por el comando [Print settings to BLOB](print-settings-to-blob.md) o por el comando 4D Pack 4D Pack (ver abajo).
+El comando **BLOB to print settings** reemplaza los parámetros de impresión actuales de 4D por los parámetros almacenados en el BLOB *confImpr*. Este BLOB debe haber sido generado por el comando [Print settings to BLOB](print-settings-to-blob.md).
El parámetro *params* le permite definir cómo manejar los parámetros básicos para el "número de copias" y el "intervalo de impresión":
* Si pasa 0 u omite este parámetro, los valores almacenados en el BLOB se utilizan para la impresión.
* Si pasa 1, los valores se restablecen a los valores predeterminados: el número de copias se establece en 1 y el intervalo de páginas se establece en "todas las páginas".
-Los parámetros se aplican a los [parámetros actuales de impresión 4D](../settings/compatibility.md) siempre y cuando ningún comando como *\_o\_PAGE SETUP*, [SET PRINT OPTION](set-print-option.md) o [PRINT SELECTION](print-selection.md) sin el parámetro > los modifique. Los parámetros definidos se utiliza particularmente para los comandos [PRINT SELECTION](print-selection.md), [PRINT LABEL](print-label.md), [PRINT RECORD](print-record.md), [Print form](../commands/print-form.md) y [QR REPORT](qr-report.md), así como también para los comandos de impresión en los menú de 4D, incluyendo los del entorno Diseño.
+Los parámetros se aplican a los [parámetros actuales de impresión 4D](../settings/compatibility.md) siempre y cuando ningún comando como [SET PRINT OPTION](set-print-option.md) o [PRINT SELECTION](print-selection.md) sin el parámetro > los modifique. Los parámetros definidos se utiliza particularmente para los comandos [PRINT SELECTION](print-selection.md), [PRINT LABEL](print-label.md), [PRINT RECORD](print-record.md), [Print form](../commands/print-form.md) y [QR REPORT](qr-report.md), así como también para los comandos de impresión en los menú de 4D, incluyendo los del entorno Diseño.
Los comandos [PRINT SELECTION](print-selection.md), [PRINT LABEL](print-label.md) y [PRINT RECORD](print-record.md) deben ser llamados con el parámetro *\>* (si aplica) para que los parámetros definidos por **BLOB to print settings** se mantengan.
@@ -41,13 +41,8 @@ El comando devuelve uno de los siguientes códigos de estado:
### Windows / macOS
El BLOB *confImp* se puede guardar y leer en ambas plataformas. Sin embargo, incluso si ciertos parámetros de impresión son comunes, algunos otros son específicos de la plataforma y dependen de los controladores de impresión y de las versiones del sistema operativo. Si el mismo BLOB *confImp* se comparte entre ambas plataformas, es posible que pierda partes de información.
-
Cuando se utiliza en un entorno heterogéneo, con el fin de restaurar el máximo de parámetros de impresión disponibles para cada plataforma (y no sólo la parte común), se recomienda que maneje dos BLOBs *confImp*, uno para cada plataforma.
-### Compatibilidad con los comandos 4D Pack
-
-Los BLOBs de parámetros de impresión generados con el comando 4D Pack \[#cmd id="61955"/\] pueden ser cargados y utilizados por el comando **BLOB to print settings**. Tenga en cuenta sin embargo, que si son guardados con \[#cmd id="1433"/\], se convierten y no se abrirán más con . El comando **BLOB to print settings** permite almacenar más información que el comando .
-
## Ejemplo
Usted desea aplicar la configuración de impresión guardada en el disco para el contexto de impresión 4D actual:
@@ -82,5 +77,3 @@ Usted desea aplicar la configuración de impresión guardada en el disco para el
| --- | --- |
| Número de comando | 1434 |
| Hilo seguro | ✗ |
-
-
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/commands-legacy/get-database-parameter.md b/i18n/es/docusaurus-plugin-content-docs/current/commands-legacy/get-database-parameter.md
index 2550c0af3456b0..67e32715374ec9 100644
--- a/i18n/es/docusaurus-plugin-content-docs/current/commands-legacy/get-database-parameter.md
+++ b/i18n/es/docusaurus-plugin-content-docs/current/commands-legacy/get-database-parameter.md
@@ -26,7 +26,7 @@ El parámetro *selector* designa el parámetro a obtener. 4D ofrece las siguient
**Alcance**: aplicación 4D si *valor* positivo
-Se conserva entre dos **sesiones**: sí si *valor* positivo
+**Se conserva entre dos sesiones**: sí si *valor* positivo
**Valores posibles**: 0 -> 32 767
@@ -34,8 +34,6 @@ Se conserva entre dos **sesiones**: sí si *valor* positivo
El timeout del servidor define el periodo máximo de no respuesta del cliente "autorizado", por ejemplo si realiza una operación de bloqueo. Al terminar esta periodo, 4D Server desconecta al cliente. El selector 4D Server Timeout le permite asignar en el parámetro *valor*un nuevo timeout, expresado en minutos. Esta funcionalidad es particularmente útil para aumentar el valor del timeout antes de la ejecución en el equipo cliente de una operación de larga duración, tal como la impresión de un gran número de páginas, la cual puede causar un timeout inesperado.
-
-
Tiene dos opciones:
Si pasa un valor **positivo** en el parámetro *valor*, define un timeout global y permanente: el nuevo valor se aplica a todos los procesos y se almacena en las Preferencias de la aplicación 4D (equivalente a cambiar en el diálogo Preferencias).Si pasa un valor **negativo** en el parámetro *valor*, define un timeout lobal y temporal: el nuevo valor se aplica únicamente a los procesos llamantes (los otros procesos conservan los valores por defecto) y se restaura al valor por defecto tan pronto como el servidor recibe una señal de actividad del cliente, por ejemplo, cuando la operación termina. Esta opción es muy útil para administrar operaciones largas iniciadas por plug-ins 4D. Para definir una conexión "Sin timeout", pase 0 en *valor*. Ver el ejemplo 1.
@@ -44,7 +42,7 @@ Si pasa un valor **positivo** en el parámetro *valor*, define un timeout global
### 4D Remote mode timeout (14)
-**Alcance** (antigua capa de red únicamente): aplicación 4D si valor positivo
+**Alcance** (antigua capa de red únicamente): aplicación 4D si *valor* positivo
**Se conserva entre dos sesiones**: sí si *valor* positivo
@@ -58,27 +56,21 @@ El selector Timeout 4D mode distant no se tiene en cuenta si utiliza la antigua
**Alcance**: 4D local, 4D Server
-Se conserva entre dos **sesiones**: no
-
-**Descripción**: Command SET DATABASE Número de puerto TCP utilizado por el servidor web 4D con 4D en modo local y 4D Server. Por defecto, el valor es 80.
+**Se conserva entre dos sesiones**: no
-El número de puerto TCP está definido en la página "Web/Configuración" de la caja de diálogo de las Propiedades de la base. Puede utilizar las constantes del tema para el parámetro *valor*.
+**Descripción**: Command SET DATABASE Número de puerto TCP utilizado por el servidor web 4D con 4D en modo local y 4D Server. El valor por defecto, puede definirse en la página "Web/Configuración" de la caja de diálogo de Preferencias es 80\. Puede utilizar las constantes del tema *Números de puerto TCP* para el parámetro *valor*.
El selector Port ID se utiliza en el marco de servidores web 4D compilados y fusionados con 4D Desktop (sin acceso al modo Diseño). Para mayor información sobre el número de puerto TCP, consulte la sección *Parámetros del servidor web*
-
-
### Character set (17)
**Alcance:** 4D local, 4D Server**
-Se conserva entre dos sesiones:** sí**
-
-Descripción:** constante obsoleta (se conserva por compatibilidad únicamente). Ahora recomendamos utilizar los comandos [WEB SET OPTION](web-set-option.md) y [WEB GET OPTION](web-get-option.md) para la configuración del servidor HTTP.
-
+**Se conserva entre dos sesiones:** sí**
+**Descripción:** *constante obsoleta (se conserva por compatibilidad únicamente).* Ahora recomendamos utilizar los comandos [WEB SET OPTION](web-set-option.md) y [WEB GET OPTION](web-get-option.md) para la configuración del servidor HTTP.
@@ -86,11 +78,9 @@ Descripción:** constante obsoleta (se conserva por compatibilidad únicamente).
**Alcance**: 4D local, 4D Server
-Se conserva entre dos **sesiones**: sí
+**Se conserva entre dos sesiones**: sí
-**Valores**: todo valor entre 10 y 32 000\. El valor por defecto es 100.
-
-**Descripción**: Constante obsoleta (se conserva por compatibilidad únicamente). Se recomienda utilizar los comandos [WEB SET OPTION](web-set-option.md) y [WEB GET OPTION](web-get-option.md) para la configuración del servidor HTTP.
+**Descripción**: *constante obsoleta (se conserva por compatibilidad únicamente).* Se recomienda utilizar los comandos [WEB SET OPTION](web-set-option.md) y [WEB GET OPTION](web-get-option.md) para la configuración del servidor HTTP.
@@ -98,7 +88,7 @@ Se conserva entre dos **sesiones**: sí
**Alcance**: todos los equipos 4D remotos
- Se conserva entre dos **sesiones**: sí
+ **Se conserva entre dos sesiones**: sí
**Valores posibles**: ver selector 15
@@ -110,7 +100,7 @@ Se conserva entre dos **sesiones**: sí
**Alcance**: todos los equipos 4D remotos
- Se conserva entre dos **sesiones**: sí
+ **Se conserva entre dos sesiones**: sí
**Valores posibles**: ver selector 17
@@ -122,51 +112,45 @@ Se conserva entre dos **sesiones**: sí
**Alcance**: todos los equipos 4D remotos
-Se conserva entre dos **sesiones**: sí
+**Se conserva entre dos sesiones**: sí
-Valores posibles: ver selector 18
+**Valores posibles**: ver selector 18
**Descripción**: permite especificar esta parámetro para las máquinas 4D remotas utilizadas como servidores web. Los valores definidos utilizando estos selectores se aplican a todos los equipos remotos utilizados como servidores web. Si quiere definir este valor sólo para ciertos equipos remotos, utilice la caja de diálogo de Preferencias de 4D en modo remoto.
-
-
### Maximum Web requests size (27)
**Alcance**: 4D local, 4D Server
-Se conserva entre dos **sesiones**: sí
-
-**Valores posibles**: 500 000 a 2 147 483 648.
+**Se conserva entre dos sesiones**: sí
-**Descripción**: Constante obsoleta (se conserva por compatibilidad únicamente). Se recomienda utilizar los comandos [WEB SET OPTION](web-set-option.md) y [WEB GET OPTION](web-get-option.md) para la configuración del servidor HTTP.
+**Descripción**: *Constante obsoleta (se conserva por compatibilidad únicamente).* Se recomienda utilizar los comandos [WEB SET OPTION](web-set-option.md) y [WEB GET OPTION](web-get-option.md) para la configuración del servidor HTTP.
### 4D Server log recording (28)
-**Thread-safe** : Yes
+**Hilo seguro**: sí
**Alcance**: 4D Server, 4D remoto*
-* Se conserva entre dos **sesiones**: no
+**Se conserva entre dos sesiones**: no
- **Valores** **posibles**: 0 ó de 1 a X (0 = no grabar, 1 a X = número secuencial, añadido al nombre del archivo).
+ **Valores posibles**: 0 ó de 1 a X (0 = no grabar, 1 a X = número secuencial, añadido al nombre del archivo).
**Descripción**: inicia o detiene la grabación de las peticiones estándar recibidas por 4D Server (excluyendo las peticiones web). Por defecto, el valor es 0 (no se graban las peticiones).
-4D Server le permite grabar cada petición recibida por el equipo servidor en un archivo de historial. Cuando este mecanismo está activo, el archivo de historial se crea junto al archivo de estructura de la base. Su nombre es "4DRequestsLog\_X," donde X es el número secuencial del historial. Una vez el archivo alcanza un tamaño de 10 MB, se cierra y se genera un nuevo archivo, con un número secuencial incrementado. Si existe un archivo con el mismo nombre, se reemplaza directamente. Puede definir el número de inicio de la secuencia utilizando el parámetro *valor*.
-
+4D Server le permite grabar cada petición recibida por el equipo servidor en un archivo de historial. Cuando este mecanismo está activo, el archivo de historial se crea junto al archivo de estructura de la base. Su nombre es "4DRequestsLog\_X," donde X es el número secuencial del historial. Una vez el archivo alcanza un tamaño de 10 MB, se cierra y se genera un nuevo archivo, con un número secuencial incrementado. Si existe un archivo con el mismo nombre, se reemplaza directamente. Puede definir el número de inicio de la secuencia utilizando el parámetro *valor*.
Este archivo texto almacena en formato tabulado simple diferente información sobre cada petición: hora, número de proceso, usuario, tamaño de la petición, duración del proceso, etc. Esta información puede ser útil particularmente durante la fase de afinamiento de la aplicación o con fines estadísticos. Por ejemplo puede importarse, en un software de hoja de cálculo para procesarse.
-
### Client Web log recording (30)
**Alcance**: todos los equipos 4D remotos
- Se conserva entre dos **sesiones**: sí
+ **Se conserva entre dos sesiones**: sí
**Valores posibles**: 0 = No grabar (por defecto), 1 = Registrar en formato CLF, 2 = Registrar en formato DLF, 3 = Registrar en formato ELF, 4 = Registrar en formato WLF.
@@ -178,9 +162,9 @@ El funcionamiento de este selector es idéntico al del selector 29; sin embargo,
### Table sequence number (31)
-**Alcance**: *a*plicación 4D
+**Alcance**: aplicación 4D
- Se conserva entre dos **sesiones**: sí
+ **Se conserva entre dos sesiones**: sí
**Valores posibles**: todo valor de tipo entero largo.
@@ -190,19 +174,19 @@ Por defecto, este número único es definido por 4D y corresponde al orden de cr
+### Debug log recording (34)
+**Hilo seguro**: sí
+**Alcance**: aplicación 4D
+**Se conserva entre dos sesiones**: no
-### Debug log recording (34)
+**Descripción**: inicia o detiene la grabación secuencial de los eventos a nivel de programación de 4D en el archivo 4DDebugLog, que se ubica automáticamente en la subcarpeta Logs de la base de datos, junto al archivo de estructura. Un nuevo formato texto tabulado, más compacto se utiliza en el archivo de registro de eventos "4DDebugLog \[\_n\].txt" a partir de 4D v14 (donde \_n es el número de segmento del archivo y *Server* se añade al nombre del archivo cuando se genera en el servidor). Hay dos modos disponibles:
-**Thread-safe** : Yes
+- El modo estándar ofrece una vista básica de los eventos y el archivo se coloca automáticamente en la subcarpeta Logs de la base de datos, junto al archivo de estructura. Los tiempos de ejecución se expresan en milisegundos y se muestra el valor "< ms" cuando una operación dura menos de un milisegundo.
-**Alcance**: Aplicación 4D
-
-**Se conserva entre dos sesiones**: No
-
-**Descripción**: inicia o detiene la grabación secuencial de los eventos a nivel de programación de 4D en el archivo 4DDebugLog, que se ubica automáticamente en la subcarpeta Logs de la base de datos, junto al archivo de estructura. Un nuevo formato texto tabulado, más compacto se utiliza en el archivo de registro de eventos "4DDebugLog \[\_n\].txt" a partir de 4D v14 (donde \_n es el número de segmento del archivo).
+- El modo con pestañas ofrece información adicional y utiliza un formato más compacto con pestañas en el archivo. Los tiempos de ejecución se expresan en microsegundos.
**Valores posibles**: Entero largo contiene un campo de bits: valor = bit1(1)+bit2(2)+bit3(4)+bit4(8)+…).
@@ -232,7 +216,15 @@ SET DATABASE PARAMETER (34;0) // desactiva el archivo Para todo tipo de aplicaci
- restringiéndolo sólo al proceso actual con Current process debug log recording (selector 111). Esto añadirá la letra "p" y el número de proceso al nombre del archivo: *4DDebugLog\[\_pn\_n\].txt* o *4DDebugLogServer\[\_pn\_n\].txt*
-Para más información sobre este formato y sobre el uso del archivo *4DDebugLog*, consulte la sección *Descripción de archivos de historial*. **Nota:** este selector se ofrece únicamente con fines de depuración y debe utilizarse con cuidado, ya que puede afectar al rendimiento de la aplicación.
+
+
+Para más información sobre este formato y sobre el uso del archivo *4DDebugLog*, consulte la sección *Descripción de archivos de historial*.
+
+Este selector se ofrece únicamente con fines de depuración y debe utilizarse con cuidado, ya que puede afectar al rendimiento de la aplicación.
+
+
+
+
@@ -240,9 +232,9 @@ Para más información sobre este formato y sobre el uso del archivo *4DDebugLog
**Alcance**: base de datos
-Se conserva entre dos **sesiones**: sí**
+**Se conserva entre dos sesiones**: sí
-Valores posibles**: 0 a 65535
+**Valores posibles**: 0 a 65535
**Descripción**: número de puerto TCP donde el servidor 4D publica la base de datos (para conexión remota 4D). Por defecto, el valor es 19813\.
@@ -258,17 +250,17 @@ Cuando modifica este valor, es necesario reiniciar el equipo servidor para que e
**Alcance**: 4D local, 4D Server
-Se conserva entre dos **sesiones**: sí
+**Se conserva entre dos sesiones**: sí
-**Descripción**: Constante obsoleta (se conserva por compatibilidad únicamente). Se recomienda utilizar los comandos [WEB SET OPTION](web-set-option.md) y [WEB GET OPTION](web-get-option.md) para la configuración del servidor HTTP.
+**Descripción**: *Constante obsoleta (se conserva por compatibilidad únicamente).* Se recomienda utilizar los comandos [WEB SET OPTION](web-set-option.md) y [WEB GET OPTION](web-get-option.md) para la configuración del servidor HTTP.
### Client HTTPS port ID (40)
-**Alcance**:todos los equipos 4D remotos
+**Alcance**: todos los equipos 4D remotos
- Se conserva entre dos **sesiones**: sí
+ **Se conserva entre dos sesiones**: sí
**Valores posibles**: 0 a 65535
@@ -280,13 +272,11 @@ Este selector funciona exactamente igual que el selector 39; sin embargo, aplica
-
-
### SQL Autocommit (43)
**Alcance**:base de datos
- Se conserva entre dos **sesiones**: sí
+ **Se conserva entre dos sesiones**: sí
**Posibles valores**: 0 (desactivación) o 1 (activación)
@@ -298,9 +288,9 @@ Este selector funciona exactamente igual que el selector 39; sin embargo, aplica
### SQL Engine case sensitivity (44)
-**Alcance**:base de datos
+**Alcance**: base de datos
- Se conserva entre dos sesiones: sí
+ **Se conserva entre dos sesiones**: sí
**Valores posibles**: 0 (no se tienen en cuenta las mayúsculas y minúsculas) ó 1 (sensible a las mayúsculas y minúsculas)
@@ -308,13 +298,13 @@ Este selector funciona exactamente igual que el selector 39; sin embargo, aplica
Por defecto, el valor es 1 (sensible a las mayúsculas y minúsculas): el motor SQL diferencia entre mayúsculas y minúsculas y entre caracteres acentuados al comparar cadenas (ordenaciones y búsquedas). Por ejemplo “ABC”= “ABC” pero “ABC” # “Abc.” En algunos casos, por ejemplo para alinear el funcionamiento del motor SQL con el del motor 4D, podría querer que las comparaciones de cadenas no tengan en cuenta las mayúsculas y minúsculas (“ABC”=“Abc”).
-Esta opción también puede definirse en la [CALL SUBFORM CONTAINER](call-subform-container.md) de las Preferencias de la base.
+**Atención:* como esta opción Modifica el archivo de estructura de la base de datos y todos los procesos. Por motivos de rendimiento, se recomienda encarecidamente configurarlo solo al iniciar la base de datos.* Esta opción también se puede configurar en los ajustes de la base de datos.
### Client log recording (45)
-**Alcance**:equipo 4D remoto
+**Alcance**: equipo 4D remoto
Se conserva entre dos **sesiones**: no
@@ -332,7 +322,7 @@ Estos archivos texto almacenan en formato tabulado simple diferente información
**Alcance**: tabla y procesos actuales
- Se conserva entre dos **sesiones**: no
+ **Se conserva entre dos sesiones**: no
**Valores posibles**: 0 (utilizar la configuración de la base), 1 (ejecutar en cliente) o 2 (ejecutar en servidor)
@@ -342,9 +332,11 @@ Cuando se utiliza una base en modo cliente-servidor, los comandos de búsqueda "
en bases creadas con 4D v11 SQL, estos comandos se ejecutan en el servidor.en bases convertidas, estos comandos se ejecutan en el equipo cliente, como en las versiones anteriores de 4D.en las bases convertidas, una preferencia específica permite modificar globalmente la ubicación de ejecución de estos comandos.Esta diferencia en ubicación de ejecución influye no sólo en el rendimiento de la aplicación (la ejecución en el servidor es generalmente más rápida) sino también en la programación. En efecto, el valor de los componentes de la fórmula (en particular las variables llamadas vía un método) varía de acuerdo al contexto de ejecución. Puede utilizar este selector para adaptar puntualmente el funcionamiento de su aplicación.
-Si pasa 0 en el parámetro *valor*, la ubicación de ejecución de los comandos de búsqueda "por fórmula" dependerá de la configuración de la base: en bases creadas con 4D v11 SQL, estos comandos se ejecutarán en el servidor. En bases convertidas, se ejecutarán en el equipo cliente o en el servidor en función de las preferencias de la base. Pase 1 ó 2 en *valor* para "forzar" la ejecución de estos comandos respectivamente en el equipo cliente o en el servidor. Consulte el ejemplo 2.
+Si pasa 0 en el parámetro *valor*, la ubicación de ejecución de los comandos de búsqueda "por fórmula" dependerá de la configuración de la base: en bases creadas con 4D v11 SQL, estos comandos se ejecutarán en el servidor. En bases convertidas, se ejecutarán en el equipo cliente o en el servidor en función de las preferencias de la base. Pase 1 ó 2 en *valor* para "forzar" la ejecución de estos comandos respectivamente en el equipo cliente o en el servidor.
+
+Consulte el ejemplo 2.
- si quiere activar las uniones "tipo SQL" (consulte el selector QUERY BY FORMULA Joins selector), siempre debe ejecutar las fórmulas en el servidor de manera que tengan acceso a los registros. Atención, en este contexto, la fórmula no debe contener llamadas a un método, de lo contrario pasará automáticamente al equipo remoto.
+**Nota:** si quiere activar las uniones "tipo SQL" (consulte el selector QUERY BY FORMULA Joins selector), siempre debe ejecutar las fórmulas en el servidor de manera que tengan acceso a los registros. Atención, en este contexto, la fórmula no debe contener llamadas a un método, de lo contrario pasará automáticamente al equipo remoto.
@@ -352,7 +344,7 @@ Si pasa 0 en el parámetro *valor*, la ubicación de ejecución de los comandos
**Alcance**: tabla y procesos actuales
- Se conserva entre dos **sesiones**: no
+ **Se conserva entre dos sesiones**: no
**Valores posibles**: 0 (utilizar la configuración de la base), 1 (ejecutar en el cliente) o 2 (ejecutar en el servidor)
@@ -360,19 +352,17 @@ Si pasa 0 en el parámetro *valor*, la ubicación de ejecución de los comandos
Al utilizar una base en modo cliente-servidor, el comando [ORDER BY FORMULA](order-by-formula.md "ORDER BY FORMULA") puede ejecutarse bien sea en el equipo servidor o en el cliente. Este selector puede utilizarse para especificar la ubicación de la ejecución de este comando (servidor o cliente). Este modo también puede definirse en las preferencias de la base. Para mayor información, consulte la descripción del selector 46, Query By Formula On Server.
-
-
- si quiere activar las uniones "tipo SQL" (consulte el selector QUERY BY FORMULA Joins selector), siempre debe ejecutar las fórmulas en el servidor de manera que tengan acceso a los registros. Atención, en este contexto, la fórmula no debe contener llamadas a un método, de lo contrario pasará automáticamente al equipo remoto.
+**Nota:** si quiere activar las uniones "tipo SQL" (consulte el selector QUERY BY FORMULA Joins selector), siempre debe ejecutar las fórmulas en el servidor de manera que tengan acceso a los registros. Atención, en este contexto, la fórmula no debe contener llamadas a un método, de lo contrario pasará automáticamente al equipo remoto.
### Auto synchro resources folder (48)
-**Alcance**:equipo 4D remoto
+**Alcance**: equipo 4D remoto
- Se conserva entre dos **sesiones**: no
+ **Se conserva entre dos sesiones**: no
- **Valores p** **osibles**: 0 (sin sincronización), 1 (auto sincronización) ó 2 (preguntar).
+ **Valores posibles**: 0 (sin sincronización), 1 (auto sincronización) ó 2 (preguntar).
**Descripción**: modo de sincronización dinámico de la carpeta *Resources* del equipo cliente 4D que ejecuta el comando con el servidor.
@@ -386,7 +376,7 @@ Tres modos de sincronización son posibles del lado del cliente. El selector Aut
### Query by formula joins (49)
-**Alcance**:Proceso actual
+**Alcance**: proceso actual
Se conserva entre dos **sesiones**: no
@@ -418,9 +408,7 @@ Se conserva entre dos **sesiones**: no
Se conserva entre dos **sesiones**: no
-Valores posibles: todo valor de tipo entero largo
-
-**Descripción**: Constante obsoleta (se conserva por compatibilidad únicamente). Se recomienda utilizar los comandos [WEB SET OPTION](web-set-option.md) y [WEB GET OPTION](web-get-option.md) para la configuración del servidor HTTP.
+**Descripción**: *Constante obsoleta (se conserva por compatibilidad únicamente).* Se recomienda utilizar los comandos [WEB SET OPTION](web-set-option.md) y [WEB GET OPTION](web-get-option.md) para la configuración del servidor HTTP.
@@ -428,7 +416,7 @@ Valores posibles: todo valor de tipo entero largo
**Alcance**: 4D Server
- Se conserva entre dos sesiones: no
+ Se conserva entre dos **sesiones**: no
**Valores posibles**: entero largo positivo.
@@ -442,8 +430,6 @@ Para que sea tenido en cuenta, este parámetro debe ejecutarse en el equipo serv
-
-
### Idle connections timeout (54)
**Alcance**: aplicación 4D a menos que valor sea negativo
@@ -452,7 +438,7 @@ Para que sea tenido en cuenta, este parámetro debe ejecutarse en el equipo serv
**Valores posibles:** valor entero que expresa una duración en segundos. El valor puede ser positivo (nuevas conexiones) o negativo (conexiones existentes). Por defecto, el valor es 20.
-**Descripción**: máximo periodo de inactividad (timeout) para conexiones al motor de la base 4D y al motor SQL, así como también en modo *ServerNet* (nueva capa de red), al servidor de la aplicación 4D. Cuando una conexión inactiva alcanza este límite, se pone en espera automáticamente, lo cual congela la sesión cliente/servidor y cierra el socket de red. En la ventana de administración del servidor, el estado del proceso del usuario se indica como "Postponed". Este funcionamiento es totalmente transparente para el usuario: tan pronto como hay una nueva actividad en la conexión que está en espera, el socket se reabre automáticamente y la sesión cliente/servidor se restaura.
+**Descripción**: máximo periodo de inactividad para conexiones al motor de la base 4D, el motor SQL y el servidor de aplicaciones 4D (capa de red *ServerNet* únicamente, ignorado en *QUIC*). Cuando una conexión inactiva alcanza este límite, se pone en espera automáticamente, lo cual congela la sesión cliente/servidor y cierra el socket de red. En la ventana de administración del servidor, el estado del proceso del usuario se indica como "Postponed". Este funcionamiento es totalmente transparente para el usuario: tan pronto como hay una nueva actividad en la conexión que está en espera, el socket se reabre automáticamente y la sesión cliente/servidor se restaura.
Este parámetro permite, por una parte, economizar los recursos en el servidor: las conexiones en espera cierran el socket y liberan un proceso en el servidor. Por otra parte, esto le permite evitar pérdida de conexiones por el cierre de sockets por parte del firewall. Por esta razón, el valor del timeout para conexiones inactivas deber ser menor que el del firewall en este caso.
@@ -464,7 +450,7 @@ Este parámetro puede definirse del lado del cliente. Por lo general, no necesit
### PHP interpreter IP address (55)
-**Alcance**: Aplicación 4D
+**Alcance**: aplicación 4D
Se conserva entre dos **sesiones**: no
@@ -478,9 +464,9 @@ Para mayor información sobre el intérprete PHP, por favor consulte el manual d
### PHP interpreter port (56)
-**Alcance**:Aplicación 4D
+**Alcance**: aplicación 4D
- **Se conserva entre dos sesiones**: No
+ **Se conserva entre dos sesiones**: no
**Valores**: valor de tipo entero largo positivo. Por defecto, el valor es 8002\.
@@ -496,9 +482,7 @@ Se conserva entre dos sesiones: No
**Valores posibles**: secuencia de cadenas separadas por dos puntos.
-**Description:** **Descripción:** lista de cifrado (*cipher list*) utilizada por 4D para el protocolo seguro. Esta lista modifica la prioridad de los algoritmos de cifrado implementados por 4D. Por ejemplo, puede pasar la siguiente cadena en el parámetro *valor*: "HIGH:!aNULL:!MD5:!3DES:!CAMELLIA:!AES128:!RSA:!DH:!RC4".
-
-Para una descripción completa de la sintaxis para la lista cifrada, consulte la *página de cifrado del sitio OpenSSL*.
+**Descripción:** lista de cifrado (*cipher list*) utilizada por 4D para el protocolo seguro. Esta lista modifica la prioridad de los algoritmos de cifrado implementados por 4D. Por ejemplo, puede pasar la siguiente cadena en el parámetro *valor*: "HIGH:!aNULL:!MD5:!3DES:!CAMELLIA:!AES128:!RSA:!DH:!RC4". Para una descripción completa de la sintaxis para la lista cifrada, consulte la *página de cifrado del sitio OpenSSL*.
Esta configuración se aplica al servidor web principal (excluyendo los objetos del servidor web), al servidor SQL, a las conexiones cliente/servidor, así como al cliente HTTP y a todos los comandos 4D que hacen uso del protocolo seguro. Es temporal (no se mantiene entre sesiones).
@@ -512,9 +496,9 @@ Para reinicializar la lista de cifrado a su valor por defecto (guardado permanen
### Cache unload minimum size (66)
-**Alcance**: Aplicación 4D
+**Alcance**: aplicación 4D
-**Se conserva entre dos sesiones**: No
+**Se conserva entre dos sesiones**: no
**Valores posibles**: Entero largo positivo > 1.
@@ -522,16 +506,6 @@ Para reinicializar la lista de cifrado a su valor por defecto (guardado permanen
El propósito de este selector es reducir el número de liberaciones de datos de la caché con el fin de obtener un mejor rendimiento. Puede hacer variar este parámetro en función del tamaño de la caché y del de los bloques de datos manipulados en su base.
-Por defecto, si este selector no se utiliza, 4D descarga mínimo 10% de la caché en caso de que se necesite espacio.Alcance: Aplicación 4D
-
-Se conserva entre dos sesiones: No
-
-Valores posibles: Entero largo positivo > 1.
-
-Descripción: tamaño mínimo de memoria a liberar del caché de la base de datos cuando el motor necesita hacer espacio para ubicar un objeto (valor en bytes).
-
-El propósito de este selector es reducir el número de liberaciones de datos de la caché con el fin de obtener un mejor rendimiento. Puede hacer variar este parámetro en función del tamaño de la caché y del de los bloques de datos manipulados en su base.
-
Por defecto, si este selector no se utiliza, 4D descarga mínimo 10% de la caché en caso de que se necesite espacio.
@@ -540,7 +514,7 @@ Por defecto, si este selector no se utiliza, 4D descarga mínimo 10% de la cach
**Alcance**: aplicación 4D
-**Se conserva entre dos sesiones**: No
+**Se conserva entre dos sesiones**: no
**Descripción**: modo de activación de Direct2D bajo Windows.
@@ -578,7 +552,7 @@ Por ejemplo, si ejecuta:
### Diagnostic log recording (79)
-**Thread-safe** : Yes
+**Hilo seguro**: sí
**Alcance**: Aplicación 4D
@@ -596,17 +570,19 @@ Note que es posible incluir la información personalizada en este archivo con ay
### Log command list (80)
-**Alcance**: Aplicación 4D
+**Alcance**: aplicación 4D
-**Se conserva entre dos sesiones**: No
+**Se conserva entre dos sesiones**: no
**Valores posibles**: cadena que contiene la lista de números de los comandos 4D a guardar (separados por dos puntos), "all" para guardar todos los comandos o "" (cadena vacía) para no guardar ninguno.
**Descripción**: la lista de comandos 4D a guardar en el archivo de depuración (ver el selector 34, Debug Log Recording). Por defecto, se guardan todos los comandos 4D.
-Este selector permite guardar la cantidad de información almacenada en el archivo de depuración limitando los comandos 4D donde quiera guardar la ejecución.
-
+Este selector restringe la cantidad de información guardada en el archivo de depuración limitando los comandos 4D cuya ejecución desea registrar o excluir del registro. Por ejemplo, puede escribir:
+ SET DATABASE PARAMETER(Log command list;"277;341") //Grabar solo los comandos QUERY y QUERY SELECTION O SET DATABASE PARAMETER(Log command list;"-1666;-323") //Excluir SET USER ALIAS y DELAY PROCESS commands from being recorded
+
+
### Spellchecker (81)
@@ -622,11 +598,11 @@ Este selector permite guardar la cantidad de información almacenada en el archi
### Dates inside objects (85)
-**Alcance**: Proceso actual
+**Alcance**: proceso actual
- **Se conserva entre dos sesiones:** No**
+ **Se conserva entre dos sesiones**: no
- Valores posibles**: String type without time zone (0), String type with time zone (1), Date type (2) (por defecto)
+ **Valores posibles**: String type without time zone (0), String type with time zone (1), Date type (2) (por defecto)
**Descripción**: define la forma en que se almacenan las fechas dentro de los objetos, así como también cómo se importan / exportan en JSON.
@@ -636,15 +612,13 @@ Si pasa String type with time zone en este selector, convertirá las fechas 4D e
-
-
### Diagnostic log level (86)
-**Thread-safe** : Yes
+**Hilo seguro**: sí
-**Alcance**: Aplicación 4D
+**Alcance**: aplicación 4D
-**Se conserva entre dos sesiones**: No
+**Se conserva entre dos sesiones**: no
**Descripción**: nivel(es) de los mensajes que se incluirán en el registro de diagnóstico cuando esté habilitado (ver selector Diagnostic log recording). Cada nivel designa una categoría de mensajes de diagnóstico e incluye automáticamente las categorías más importantes. Para una descripción de las categorías, consulte la sección *Niveles de registro de diagnóstico* en *developer.4d.com*.
@@ -656,15 +630,11 @@ Si pasa String type with time zone en este selector, convertirá las fechas 4D e
**Alcance:** 4D en modo local, 4D Server**
-Se conserva entre dos sesiones:** sí**
-
-** **Descripción:** fija u obtiene el estado actual de la capa de red antigua para las conexiones cliente/servidor.
-
-La capa de red antigua es obsoleta a partir de 4D v14 R5 y debe ser reemplazada progresivamente en sus aplicaciones por la capa de red *ServerNet*. *ServerNet* será requerida en próximas versiones 4D con el fin de beneficiarse de las futuras evoluciones de la red. Por razones de compatibilidad, la capa de red antigua aún se soporta para permitir una transición sin problemas para las aplicaciones existentes; (se usa por defecto en aplicaciones convertidas de una versión anterior a v14 R5). Pase 1 en este parámetro para utilizar la capa de red antigua (y desactivar *ServerNet*) para las conexiones cliente/servidor, y pase 0 para deshabilitar la red antigua (y utilizar *ServerNet*).
+**Se conserva entre dos sesiones:** sí**
-Esta propiedad también se puede definir mediante la opción "Usar capa de red antigua " que se encuentran en *Página Compatibilidad* de las Propiedades de la base (ver *Opciones red y cliente-servidor*). En esta sección, también puede encontrar una discusión sobre la estrategia de migración. Le recomendamos que active *ServerNet* tan pronto como sea posible.
+ **Descripción:** fija u obtiene el estado actual de la capa de red antigua para las conexiones cliente/servidor. La capa de red antigua es obsoleta a partir de 4D v14 R5 y debe ser reemplazada progresivamente en sus aplicaciones por la capa de red *ServerNet*. *ServerNet* será requerida en próximas versiones 4D con el fin de beneficiarse de las futuras evoluciones de la red. Por razones de compatibilidad, la capa de red antigua aún se soporta para permitir una transición sin problemas para las aplicaciones existentes; (se usa por defecto en aplicaciones convertidas de una versión anterior a v14 R5). Pase 1 en este parámetro para utilizar la capa de red antigua (y desactivar *ServerNet*) para las conexiones cliente/servidor, y pase 0 para deshabilitar la red antigua (y utilizar *ServerNet*).
-Deberá reiniciar la aplicación para que este parámetro sea tenido en cuenta. No está disponible en 4D Server v14 R5 64-bit versión para macOS, que sólo soporta el *ServetNet*; (siempre devuelve 0).
+Esta propiedad también se puede definir mediante la opción "Usar capa de red antigua " que se encuentran en *Página Compatibilidad* de las Propiedades de la base (ver *Opciones red y cliente-servidor*). En esta sección, también puede encontrar una discusión sobre la estrategia de migración. Le recomendamos que active *ServerNet* tan pronto como sea posible. Deberá reiniciar la aplicación para que este parámetro sea tenido en cuenta. No está disponible en 4D Server v14 R5 64-bit versión para macOS, que sólo soporta el *ServetNet*; (siempre devuelve 0).
**Valores posibles:** 0 o 1 (0 = no utilizan capa de red antigua, 1 = uso capa de red antigua)
@@ -676,7 +646,7 @@ Deberá reiniciar la aplicación para que este parámetro sea tenido en cuenta.
**Alcance**: 4D modo local y 4D Server.
-: Sí
+**Se conserva entre dos sesiones:** sí**
**Descripción**: permite leer o definir el número del puerto TCP utilizado por el servidor SQL integrado de 4D en modo local o 4D Server. Por defecto, el valor es 19812\. Cuando se define este selector, la configuración de la base se actualiza. También puede definir el número del puerto TCP en la página "SQL" de la caja de diálogo de Propiedades de la base.
@@ -688,7 +658,7 @@ Deberá reiniciar la aplicación para que este parámetro sea tenido en cuenta.
### Circular log limitation (90)
-**Thread-safe** : Yes
+**Hilo seguro**: sí
**Alcance**: 4D local, 4D Server.
@@ -726,7 +696,7 @@ Deberá reiniciar la aplicación para que este parámetro sea tenido en cuenta.
### Cache flush periodicity (95)
-**Thread-safe** : Yes
+**Hilo seguro**: sí
**Alcance**: 4D local, 4D Server
@@ -753,13 +723,11 @@ El tiempo de espera de la conexión remota se aplica después de que una máquin
-
-
### Tips enabled (101)
**Alcance**: aplicación 4D
-**Se conserva entre dos sesiones**: No
+**Se conserva entre dos sesiones**: no
**Valores posibles**: 0 = consejos desactivados, 1 = consejos activados (predeterminado)
@@ -811,10 +779,6 @@ Tenga en cuenta que este parámetro define todos los consejos 4D, es decir, los
-
-
-
-
### User param value (108)
**Alcance**: 4D local, 4D Server
@@ -833,7 +797,7 @@ Cuando se utiliza con [SET DATABASE PARAMETER](set-database-parameter.md), defin
Alcance: 4D local, 4D Server (todos los procesos)
- Se conserva entre dos sesiones: No
+ Se conserva entre dos **sesiones**: No
**Valores posibles**: Times in seconds (0) (predeterminado), Times in milliseconds (1)
@@ -847,11 +811,11 @@ En versiones anteriores, los valores de tiempo se convertían y almacenaban como
### SMTP Log (110)
-**Thread-safe** : Yes
+**Hilo seguro**: sí
**Alcance**: 4D local, 4D Server*
-* **Se conserva entre dos sesiones**: No
+* **Se conserva entre dos sesiones**: no
**Valores posibles**: 0 o de 1 a X (0 = no grabar, 1 a X = número secuencial, agregado al nombre del archivo). De forma predeterminada, el valor es 0 (intercambios SMTP no registrados).
@@ -867,7 +831,11 @@ Para obtener más información sobre los archivos 4DSMTPLog\_X.txt, consulte la
**Se conserva entre dos sesiones:** No
-**Descripción**: inicia o detiene el registro secuencial de eventos de programación **del proceso actual** en un archivo de historial separado. Este historial es similar al Debug log recording (selector 34) pero se enfoca solo en el proceso actual. El nombre del archivo de historial incluye la letra "p" y el número del proceso: 4DDebugLog\[\_p*N*_*n*].txt, donde N es el ID único del proceso. Para más información sobre este formato y sobre el uso del archivo *4DDebugLog*, consulte *Descripción de archivos de historial* en el Modo Diseño. **Notas:** Este selector se proporciona únicamente con el fin de depurar y debe utilizarse con cuidado. En particular, no debe ponerse en producción, ya que puede tener un impacto en el rendimiento de la aplicación. Puede utilizarar ambos selectores Debug log recording y Current process debug log recording simultáneamente, en cuyo caso las acciones del proceso actual no se registrarán en el archivo de historial principal.
+**Descripción**: inicia o detiene el registro secuencial de eventos de programación **del proceso actual** en un archivo de historial separado. Este historial es similar al Debug log recording (selector 34) pero se enfoca solo en el proceso actual. El nombre del archivo de historial incluye la letra "p" y el número del proceso: 4DDebugLog\[\_p*N*_*n*].txt, donde N es el ID único del proceso.
+
+Para más información sobre este formato y sobre el uso del archivo *4DDebugLog*, consulte *Descripción de archivos de historial* en el Modo Diseño.
+
+**Notas:** Este selector se proporciona únicamente con el fin de depurar y debe utilizarse con cuidado. En particular, no debe ponerse en producción, ya que puede tener un impacto en el rendimiento de la aplicación. Puede utilizarar ambos selectores Debug log recording y Current process debug log recording simultáneamente, en cuyo caso las acciones del proceso actual no se registrarán en el archivo de historial principal.
@@ -913,7 +881,7 @@ Para obtener más información sobre los archivos 4DSMTPLog\_X.txt, consulte la
### POP3 Log (116)
-**Thread-safe** : Yes
+**Hilo seguro**: sí
**Alcance:** 4D local, 4D Server
@@ -921,7 +889,7 @@ Para obtener más información sobre los archivos 4DSMTPLog\_X.txt, consulte la
**Valores posibles:** 0 o de 1 a X (0 = no registrar, 1 a X = número secuencial, agregado al nombre del archivo). Por defecto, el valor es 0 (intercambios POP3 no registrados).
-: iInicia o detiene la grabación de intercambios entre 4D y el servidor POP3, cuando un objeto transportador se procesa a través de *POP3\_transporter.getMail( )* o *POP3\_transporter.checkConnection( )*. Por defecto, el valor es 0 (intercambios no registrados). Cuando este mecanismo está habilitado, se crea un archivo de registro en la carpeta Logs de la base. Se llama 4DPOP3Log\_X.txt, donde X es el número secuencial del registro. Una vez que el archivo 4DPOP3Log ha alcanzado un tamaño de 10 MB, se cierra y se genera uno nuevo, con un número secuencial incrementado. Si ya existe un archivo con el mismo nombre, se reemplaza directamente. Puede establecer el número inicial de la secuencia utilizando el parámetro valor. De manera predeterminada, todos los archivos se mantienen, pero puede controlar la cantidad de archivos que se deben seguir utilizando el parámetro Circular log limitation.
+**Descripción**: inicia o detiene la grabación de intercambios entre 4D y el servidor POP3, cuando un objeto transportador se procesa a través de *POP3\_transporter.getMail( )* o *POP3\_transporter.checkConnection( )*. Por defecto, el valor es 0 (intercambios no registrados). Cuando este mecanismo está habilitado, se crea un archivo de registro en la carpeta Logs de la base. Se llama 4DPOP3Log\_X.txt, donde X es el número secuencial del registro. Una vez que el archivo 4DPOP3Log ha alcanzado un tamaño de 10 MB, se cierra y se genera uno nuevo, con un número secuencial incrementado. Si ya existe un archivo con el mismo nombre, se reemplaza directamente. Puede establecer el número inicial de la secuencia utilizando el parámetro valor. De manera predeterminada, todos los archivos se mantienen, pero puede controlar la cantidad de archivos que se deben seguir utilizando el parámetro Circular log limitation.
Para más información sobre los archivos 4DPOP3Log\_X.txt, consulte la sección *Descripción de archivos de historial*.
@@ -939,7 +907,7 @@ Para más información sobre los archivos 4DPOP3Log\_X.txt, consulte la sección
### IMAP Log (119)
-**Thread-safe** : Yes
+**Hilo seguro**: sí
**Alcance**: 4D local, 4D Server
@@ -965,7 +933,7 @@ Para más información sobre los archivos 4DIMAPLog\_X.txt, consulte la sección
### Pause logging (121)
-**Thread-safe** : Yes
+**Hilo seguro**: sí
**Alcance**: aplicación 4D
@@ -979,25 +947,27 @@ Este selector permite suspender/reanudar todas las operaciones de registro inici
### TCPUDP log recording (131)
-**Scope:** 4D application.
+**Alcance**: aplicación 4D
+
+**Se mantiene entre dos sesiones**: no
+
+**Valores posibles:** `0`: Logging desactivado (por defecto), `1`: Logging activado.
-**Kept between two sessions:** No.
+**Descripción:** activa o desactiva el archivo `4DTCPUDPLog.txt` para los eventos logging TCP.
-**Possible values:** `0`: Logging disabled (default), `1`: Logging enabled.
-**Description:** Enables or disables the `4DTCPUDPLog.txt` file for logging TCP events.
+### RDP optimization
+**Alcance**: aplicación 4D
-### RDP optimization (133)
+**Se mantiene entre dos sesiones**: no
-**Scope:** 4D application.
+**Valores posibles:** `0`: Disabled (default), `1`: Enabled.
-**Kept between two sessions:** No.
+**Descripción:** Activa o desactiva las optimizaciones para RDP (Protocolo de escritorio remoto). Cuando está activado, optimiza en particular el uso del portapapeles compartido en las conexiones RDP, que de otro modo pueden provocar problemas de congelación. Tenga en cuenta que este selector desactiva la compatibilidad en el portapapeles para imágenes codificadas como URI de datos en texto sin formato (solo afecta a las imágenes que se sueltan o se copian explícitamente como texto desde un navegador).
-**Possible values:** `0`: Disabled (default), `1`: Enabled.
-**Description:** Enables or disables optimizations for RDP (Remote Desktop Protocol). When enabled, optimizes in particular the use of shared clipboard in RDP connections, which can otherwise lead to freezing issues. Note that this selector disables the support in clipboard for images encoded as data uri in raw text (only concerns images dropped or explicitly copied as text from a browser).
## Selectores hilo seguro
@@ -1053,5 +1023,3 @@ En el [Método base On Startup](metodo-base-on-startup.md), usted escribe:
| --- | --- |
| Número de comando | 643 |
| Hilo seguro | ✗ |
-
-
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/commands-legacy/set-database-parameter.md b/i18n/es/docusaurus-plugin-content-docs/current/commands-legacy/set-database-parameter.md
index 2aa47763c6f437..b2223dee64a5c1 100644
--- a/i18n/es/docusaurus-plugin-content-docs/current/commands-legacy/set-database-parameter.md
+++ b/i18n/es/docusaurus-plugin-content-docs/current/commands-legacy/set-database-parameter.md
@@ -25,7 +25,7 @@ El *selector* designa el parámetro a modificar. 4D ofrece constantes predefinid
**Alcance**: aplicación 4D si *valor* positivo
-Se conserva entre dos **sesiones**: sí si *valor* positivo
+**Se conserva entre dos sesiones**: sí si *valor* positivo
**Valores posibles**: 0 -> 32 767
@@ -33,8 +33,6 @@ Se conserva entre dos **sesiones**: sí si *valor* positivo
El timeout del servidor define el periodo máximo de no respuesta del cliente "autorizado", por ejemplo si realiza una operación de bloqueo. Al terminar esta periodo, 4D Server desconecta al cliente. El selector 4D Server Timeout le permite asignar en el parámetro *valor*un nuevo timeout, expresado en minutos. Esta funcionalidad es particularmente útil para aumentar el valor del timeout antes de la ejecución en el equipo cliente de una operación de larga duración, tal como la impresión de un gran número de páginas, la cual puede causar un timeout inesperado.
-
-
Tiene dos opciones:
Si pasa un valor **positivo** en el parámetro *valor*, define un timeout global y permanente: el nuevo valor se aplica a todos los procesos y se almacena en las Preferencias de la aplicación 4D (equivalente a cambiar en el diálogo Preferencias).Si pasa un valor **negativo** en el parámetro *valor*, define un timeout lobal y temporal: el nuevo valor se aplica únicamente a los procesos llamantes (los otros procesos conservan los valores por defecto) y se restaura al valor por defecto tan pronto como el servidor recibe una señal de actividad del cliente, por ejemplo, cuando la operación termina. Esta opción es muy útil para administrar operaciones largas iniciadas por plug-ins 4D. Para definir una conexión "Sin timeout", pase 0 en *valor*. Ver el ejemplo 1.
@@ -57,27 +55,21 @@ El selector Timeout 4D mode distant no se tiene en cuenta si utiliza la antigua
**Alcance**: 4D local, 4D Server
-Se conserva entre dos **sesiones**: no
-
-**Descripción**: Command SET DATABASE Número de puerto TCP utilizado por el servidor web 4D con 4D en modo local y 4D Server. Por defecto, el valor es 80.
+**Se conserva entre dos sesiones**: no
-El número de puerto TCP está definido en la página "Web/Configuración" de la caja de diálogo de las Propiedades de la base. Puede utilizar las constantes del tema para el parámetro *valor*.
+**Descripción**: Command SET DATABASE Número de puerto TCP utilizado por el servidor web 4D con 4D en modo local y 4D Server. El valor por defecto, que puede ser definido en la página "Web/Configuración" de la caja de diálogo Preferencias, es 80. Puede utilizar las constantes del tema *Números de puerto TCP* para el parámetro *valor*.
El selector Port ID se utiliza en el marco de servidores web 4D compilados y fusionados con 4D Desktop (sin acceso al modo Diseño). Para mayor información sobre el número de puerto TCP, consulte la sección *Parámetros del servidor web*
-
-
### Character set (17)
-**Alcance:** 4D local, 4D Server**
-
-Se conserva entre dos sesiones:** sí**
-
-Descripción:** constante obsoleta (se conserva por compatibilidad únicamente). Ahora recomendamos utilizar los comandos [WEB SET OPTION](web-set-option.md) y [WEB GET OPTION](web-get-option.md) para la configuración del servidor HTTP.
+**Alcance:** 4D local, 4D Server
+**Se conserva entre dos sesiones**: sí
+**Descripción:** constante obsoleta (se conserva por compatibilidad únicamente). Ahora recomendamos utilizar los comandos [WEB SET OPTION](web-set-option.md) y [WEB GET OPTION](web-get-option.md) para la configuración del servidor HTTP.
@@ -85,11 +77,9 @@ Descripción:** constante obsoleta (se conserva por compatibilidad únicamente).
**Alcance**: 4D local, 4D Server
-Se conserva entre dos **sesiones**: sí
+**Se conserva entre dos sesiones**: sí
-**Valores**: todo valor entre 10 y 32 000\. El valor por defecto es 100.
-
-**Descripción**: Constante obsoleta (se conserva por compatibilidad únicamente). Se recomienda utilizar los comandos [WEB SET OPTION](web-set-option.md) y [WEB GET OPTION](web-get-option.md) para la configuración del servidor HTTP.
+**Descripción**: *constante obsoleta (se conserva por compatibilidad únicamente).* Se recomienda utilizar los comandos [WEB SET OPTION](web-set-option.md) y [WEB GET OPTION](web-get-option.md) para la configuración del servidor HTTP.
@@ -97,7 +87,7 @@ Se conserva entre dos **sesiones**: sí
**Alcance**: todos los equipos 4D remotos
- Se conserva entre dos **sesiones**: sí
+ **Se conserva entre dos sesiones**: sí
**Valores posibles**: ver selector 15
@@ -109,7 +99,7 @@ Se conserva entre dos **sesiones**: sí
**Alcance**: todos los equipos 4D remotos
- Se conserva entre dos **sesiones**: sí
+ **Se conserva entre dos sesiones**: sí
**Valores posibles**: ver selector 17
@@ -121,23 +111,19 @@ Se conserva entre dos **sesiones**: sí
**Alcance**: todos los equipos 4D remotos
-Se conserva entre dos **sesiones**: sí
+**Se conserva entre dos sesiones**: sí
-Valores posibles: ver selector 18
+**Valores posibles**: ver selector 18
**Descripción**: permite especificar esta parámetro para las máquinas 4D remotas utilizadas como servidores web. Los valores definidos utilizando estos selectores se aplican a todos los equipos remotos utilizados como servidores web. Si quiere definir este valor sólo para ciertos equipos remotos, utilice la caja de diálogo de Preferencias de 4D en modo remoto.
-
-
### Maximum Web requests size (27)
**Alcance**: 4D local, 4D Server
-Se conserva entre dos **sesiones**: sí
-
-**Valores posibles**: 500 000 a 2 147 483 648.
+**Se conserva entre dos sesiones**: sí
**Descripción**: Constante obsoleta (se conserva por compatibilidad únicamente). Se recomienda utilizar los comandos [WEB SET OPTION](web-set-option.md) y [WEB GET OPTION](web-get-option.md) para la configuración del servidor HTTP.
@@ -145,13 +131,13 @@ Se conserva entre dos **sesiones**: sí
### 4D Server log recording (28)
-**Thread-safe** : Yes
+**Hilo seguro**: sí
**Alcance**: 4D Server, 4D remoto*
-* Se conserva entre dos **sesiones**: no
+**Se conserva entre dos sesiones**: no
- **Valores** **posibles**: 0 ó de 1 a X (0 = no grabar, 1 a X = número secuencial, añadido al nombre del archivo).
+ **Valores posibles**: 0 ó de 1 a X (0 = no grabar, 1 a X = número secuencial, añadido al nombre del archivo).
**Descripción**: inicia o detiene la grabación de las peticiones estándar recibidas por 4D Server (excluyendo las peticiones web). Por defecto, el valor es 0 (no se graban las peticiones).
@@ -159,13 +145,11 @@ Se conserva entre dos **sesiones**: sí
Este archivo texto almacena en formato tabulado simple diferente información sobre cada petición: hora, número de proceso, usuario, tamaño de la petición, duración del proceso, etc. Esta información puede ser útil particularmente durante la fase de afinamiento de la aplicación o con fines estadísticos. Por ejemplo puede importarse, en un software de hoja de cálculo para procesarse.
-
-
### Client Web log recording (30)
**Alcance**: todos los equipos 4D remotos
- Se conserva entre dos **sesiones**: sí
+ **Se conserva entre dos sesiones**: sí
**Valores posibles**: 0 = No grabar (por defecto), 1 = Registrar en formato CLF, 2 = Registrar en formato DLF, 3 = Registrar en formato ELF, 4 = Registrar en formato WLF.
@@ -177,9 +161,9 @@ El funcionamiento de este selector es idéntico al del selector 29; sin embargo,
### Table sequence number (31)
-**Alcance**: *a*plicación 4D
+**Alcance**: aplicación 4D
- Se conserva entre dos **sesiones**: sí
+ **Se conserva entre dos sesiones**: sí
**Valores posibles**: todo valor de tipo entero largo.
@@ -189,21 +173,21 @@ Por defecto, este número único es definido por 4D y corresponde al orden de cr
+### Debug log recording (34)
+**Hilo seguro**: sí
+**Alcance**: aplicación 4D
+**Se conserva entre dos sesiones**: no
-### Debug log recording (34)
-
-**Thread-safe** : Yes
-
-**Alcance**: Aplicación 4D
+**Descripción**: inicia o detiene la grabación secuencial de los eventos a nivel de programación de 4D en el archivo 4DDebugLog, que se ubica automáticamente en la subcarpeta Logs de la base de datos, junto al archivo de estructura. Un nuevo formato texto tabulado, más compacto se utiliza en el archivo de registro de eventos "4DDebugLog \[\_n\].txt" a partir de 4D v14 (donde \_n es el número de segmento del archivo y *Server* se añade al nombre del archivo cuando se genera en el servidor). Hay dos modos disponibles:
-**Se conserva entre dos sesiones**: No
+- El modo estándar ofrece una vista básica de los eventos y el archivo se coloca automáticamente en la subcarpeta Logs de la base de datos, junto al archivo de estructura. Los tiempos de ejecución se expresan en milisegundos y se muestra el valor "< ms" cuando una operación dura menos de un milisegundo.
-**Descripción**: inicia o detiene la grabación secuencial de los eventos a nivel de programación de 4D en el archivo 4DDebugLog, que se ubica automáticamente en la subcarpeta Logs de la base de datos, junto al archivo de estructura. Un nuevo formato texto tabulado, más compacto se utiliza en el archivo de registro de eventos "4DDebugLog \[\_n\].txt" a partir de 4D v14 (donde \_n es el número de segmento del archivo).
+- El modo con pestañas ofrece información adicional y utiliza un formato más compacto con pestañas en el archivo. Los tiempos de ejecución se expresan en microsegundos.
-**Valores posibles**: Entero largo contiene un campo de bits: valor = bit1(1)+bit2(2)+bit3(4)+bit4(8)+…).
+**Valores posibles**: entero largo contiene un campo de bits: valor = bit1(1)+bit2(2)+bit3(4)+bit4(8)+…).
- Bit 0 (valor 1) permite activar el archivo (note que cualquier otro valor no nulo también lo activará)
@@ -225,13 +209,21 @@ SET DATABASE PARAMETER (34;2) // activa el modo estándar con los parámetros y
SET DATABASE PARAMETER (34;2+4) // activa el modo tabulado con los parámetros y las duraciones
-SET DATABASE PARAMETER (34;0) // desactiva el archivo Para todo tipo de aplicación 4D interpretada o compilada (4D todos los modos, 4D Server, 4D Volume Desktop), puede evitar que un archivo registre demasiada información:
+SET DATABASE PARAMETER (34;0) // desactiva el archivo
+
+Para todo tipo de aplicación 4D interpretada o compilada (4D todos los modos, 4D Server, 4D Volume Desktop), puede evitar que un archivo registre demasiada información:
- restringiendo los comandos 4D que se examinan utilizando Log command list (selector 80), o
- restringiéndolo sólo al proceso actual con Current process debug log recording (selector 111). Esto añadirá la letra "p" y el número de proceso al nombre del archivo: *4DDebugLog\[\_pn\_n\].txt* o *4DDebugLogServer\[\_pn\_n\].txt*
-Para más información sobre este formato y sobre el uso del archivo *4DDebugLog*, consulte la sección *Descripción de archivos de historial*. **Nota:** este selector se ofrece únicamente con fines de depuración y debe utilizarse con cuidado, ya que puede afectar al rendimiento de la aplicación.
+*Para más información sobre este formato y sobre el uso del archivo *4DDebugLog*, consulte la sección *Descripción de archivos de historial*.
+
+Este selector se ofrece únicamente con fines de depuración y debe utilizarse con cuidado, ya que puede afectar al rendimiento de la aplicación.
+
+
+
+
@@ -239,9 +231,9 @@ Para más información sobre este formato y sobre el uso del archivo *4DDebugLog
**Alcance**: base de datos
-Se conserva entre dos **sesiones**: sí**
+**Se conserva entre dos sesiones**: sí
-Valores posibles**: 0 a 65535
+**Valores posibles**: 0 a 65535
**Descripción**: número de puerto TCP donde el servidor 4D publica la base de datos (para conexión remota 4D). Por defecto, el valor es 19813\.
@@ -257,17 +249,17 @@ Cuando modifica este valor, es necesario reiniciar el equipo servidor para que e
**Alcance**: 4D local, 4D Server
-Se conserva entre dos **sesiones**: sí
+**Se conserva entre dos sesiones**: sí
-**Descripción**: Constante obsoleta (se conserva por compatibilidad únicamente). Se recomienda utilizar los comandos [WEB SET OPTION](web-set-option.md) y [WEB GET OPTION](web-get-option.md) para la configuración del servidor HTTP.
+**Descripción**: *constante obsoleta (se conserva por compatibilidad únicamente).* Se recomienda utilizar los comandos [WEB SET OPTION](web-set-option.md) y [WEB GET OPTION](web-get-option.md) para la configuración del servidor HTTP.
### Client HTTPS port ID (40)
-**Alcance**:todos los equipos 4D remotos
+**Alcance**: todos los equipos 4D remotos
- Se conserva entre dos **sesiones**: sí
+ **Se conserva entre dos sesiones**: sí
**Valores posibles**: 0 a 65535
@@ -279,13 +271,11 @@ Este selector funciona exactamente igual que el selector 39; sin embargo, aplica
-
-
### SQL Autocommit (43)
-**Alcance**:base de datos
+**Alcance**: base de datos
- Se conserva entre dos **sesiones**: sí
+ **Se conserva entre dos sesiones**: sí
**Posibles valores**: 0 (desactivación) o 1 (activación)
@@ -297,9 +287,9 @@ Este selector funciona exactamente igual que el selector 39; sin embargo, aplica
### SQL Engine case sensitivity (44)
-**Alcance**:base de datos
+**Alcance**: base de datos
- Se conserva entre dos sesiones: sí
+ **Se conserva entre dos sesiones**: sí
**Valores posibles**: 0 (no se tienen en cuenta las mayúsculas y minúsculas) ó 1 (sensible a las mayúsculas y minúsculas)
@@ -315,7 +305,7 @@ Esta opción también puede definirse en la [CALL SUBFORM CONTAINER](call-subfor
**Alcance**:equipo 4D remoto
- Se conserva entre dos **sesiones**: no
+ **Se conserva entre dos sesiones**: no
**Valores posibles**: 0 ó de 1 a X (0 = no grabar, 1 a X = número secuencial, asociado al nombre del archivo).
@@ -331,7 +321,7 @@ Estos archivos texto almacenan en formato tabulado simple diferente información
**Alcance**: tabla y procesos actuales
- Se conserva entre dos **sesiones**: no
+ **Se conserva entre dos sesiones**: no
**Valores posibles**: 0 (utilizar la configuración de la base), 1 (ejecutar en cliente) o 2 (ejecutar en servidor)
@@ -341,9 +331,11 @@ Cuando se utiliza una base en modo cliente-servidor, los comandos de búsqueda "
en bases creadas con 4D v11 SQL, estos comandos se ejecutan en el servidor.en bases convertidas, estos comandos se ejecutan en el equipo cliente, como en las versiones anteriores de 4D.en las bases convertidas, una preferencia específica permite modificar globalmente la ubicación de ejecución de estos comandos.Esta diferencia en ubicación de ejecución influye no sólo en el rendimiento de la aplicación (la ejecución en el servidor es generalmente más rápida) sino también en la programación. En efecto, el valor de los componentes de la fórmula (en particular las variables llamadas vía un método) varía de acuerdo al contexto de ejecución. Puede utilizar este selector para adaptar puntualmente el funcionamiento de su aplicación.
-Si pasa 0 en el parámetro *valor*, la ubicación de ejecución de los comandos de búsqueda "por fórmula" dependerá de la configuración de la base: en bases creadas con 4D v11 SQL, estos comandos se ejecutarán en el servidor. En bases convertidas, se ejecutarán en el equipo cliente o en el servidor en función de las preferencias de la base. Pase 1 ó 2 en *valor* para "forzar" la ejecución de estos comandos respectivamente en el equipo cliente o en el servidor. Consulte el ejemplo 2.
+Si pasa 0 en el parámetro *valor*, la ubicación de ejecución de los comandos de búsqueda "por fórmula" dependerá de la configuración de la base: en bases creadas con 4D v11 SQL, estos comandos se ejecutarán en el servidor. En bases convertidas, se ejecutarán en el equipo cliente o en el servidor en función de las preferencias de la base. Pase 1 ó 2 en *valor* para "forzar" la ejecución de estos comandos respectivamente en el equipo cliente o en el servidor.
- si quiere activar las uniones "tipo SQL" (consulte el selector QUERY BY FORMULA Joins selector), siempre debe ejecutar las fórmulas en el servidor de manera que tengan acceso a los registros. Atención, en este contexto, la fórmula no debe contener llamadas a un método, de lo contrario pasará automáticamente al equipo remoto.
+Consulte el ejemplo 2.
+
+**Nota:** si quiere activar las uniones "tipo SQL" (consulte el selector QUERY BY FORMULA Joins selector), siempre debe ejecutar las fórmulas en el servidor de manera que tengan acceso a los registros. Atención, en este contexto, la fórmula no debe contener llamadas a un método, de lo contrario pasará automáticamente al equipo remoto.
@@ -351,7 +343,7 @@ Si pasa 0 en el parámetro *valor*, la ubicación de ejecución de los comandos
**Alcance**: tabla y procesos actuales
- Se conserva entre dos **sesiones**: no
+ **Se conserva entre dos sesiones**: no
**Valores posibles**: 0 (utilizar la configuración de la base), 1 (ejecutar en el cliente) o 2 (ejecutar en el servidor)
@@ -359,9 +351,7 @@ Si pasa 0 en el parámetro *valor*, la ubicación de ejecución de los comandos
Al utilizar una base en modo cliente-servidor, el comando [ORDER BY FORMULA](order-by-formula.md "ORDER BY FORMULA") puede ejecutarse bien sea en el equipo servidor o en el cliente. Este selector puede utilizarse para especificar la ubicación de la ejecución de este comando (servidor o cliente). Este modo también puede definirse en las preferencias de la base. Para mayor información, consulte la descripción del selector 46, Query By Formula On Server.
-
-
- si quiere activar las uniones "tipo SQL" (consulte el selector QUERY BY FORMULA Joins selector), siempre debe ejecutar las fórmulas en el servidor de manera que tengan acceso a los registros. Atención, en este contexto, la fórmula no debe contener llamadas a un método, de lo contrario pasará automáticamente al equipo remoto.
+**Nota:** si quiere activar las uniones "tipo SQL" (consulte el selector QUERY BY FORMULA Joins selector), siempre debe ejecutar las fórmulas en el servidor de manera que tengan acceso a los registros. Atención, en este contexto, la fórmula no debe contener llamadas a un método, de lo contrario pasará automáticamente al equipo remoto.
@@ -369,9 +359,9 @@ Al utilizar una base en modo cliente-servidor, el comando [ORDER BY FORMULA](ord
**Alcance**:equipo 4D remoto
- Se conserva entre dos **sesiones**: no
+ **Se conserva entre dos sesiones**: no
- **Valores p** **osibles**: 0 (sin sincronización), 1 (auto sincronización) ó 2 (preguntar).
+ **Valores posibles**: 0 (sin sincronización), 1 (auto sincronización) ó 2 (preguntar).
**Descripción**: modo de sincronización dinámico de la carpeta *Resources* del equipo cliente 4D que ejecuta el comando con el servidor.
@@ -385,9 +375,9 @@ Tres modos de sincronización son posibles del lado del cliente. El selector Aut
### Query by formula joins (49)
-**Alcance**:Proceso actual
+**Alcance**: proceso actual
- Se conserva entre dos **sesiones**: no
+ **Se conserva entre dos sesiones**: no
**Valores posibles**: 0 (utilizar configuración de la base), 1 (siempre utilizar relaciones automáticas) o 2 (utilizar las uniones SQL si es posible).
@@ -405,9 +395,9 @@ El selector QUERY BY FORMULA Joins permite definir el modo de funcionamiento de
**Alcance**: aplicación 4D
-Se conserva entre dos **sesiones**: no
+**Se conserva entre dos sesiones**: no
-**Descripción**: Constante obsoleta (se conserva por compatibilidad únicamente). Se recomienda utilizar los comandos [WEB SET OPTION](web-set-option.md) y [WEB GET OPTION](web-get-option.md) para la configuración del servidor HTTP.
+**Descripción**: *constante obsoleta (se conserva por compatibilidad únicamente).* Se recomienda utilizar los comandos [WEB SET OPTION](web-set-option.md) y [WEB GET OPTION](web-get-option.md) para la configuración del servidor HTTP.
@@ -415,11 +405,9 @@ Se conserva entre dos **sesiones**: no
**Alcance**: aplicación 4D
-Se conserva entre dos **sesiones**: no
+**Se conserva entre dos sesiones**: no
-Valores posibles: todo valor de tipo entero largo
-
-**Descripción**: Constante obsoleta (se conserva por compatibilidad únicamente). Se recomienda utilizar los comandos [WEB SET OPTION](web-set-option.md) y [WEB GET OPTION](web-get-option.md) para la configuración del servidor HTTP.
+**Descripción**: *constante obsoleta (se conserva por compatibilidad únicamente).* Se recomienda utilizar los comandos [WEB SET OPTION](web-set-option.md) y [WEB GET OPTION](web-get-option.md) para la configuración del servidor HTTP.
@@ -427,7 +415,7 @@ Valores posibles: todo valor de tipo entero largo
**Alcance**: 4D Server
- Se conserva entre dos sesiones: no
+ **Se conserva entre dos sesiones**: no
**Valores posibles**: entero largo positivo.
@@ -441,8 +429,6 @@ Para que sea tenido en cuenta, este parámetro debe ejecutarse en el equipo serv
-
-
### Idle connections timeout (54)
**Alcance**: aplicación 4D a menos que valor sea negativo
@@ -451,7 +437,7 @@ Para que sea tenido en cuenta, este parámetro debe ejecutarse en el equipo serv
**Valores posibles:** valor entero que expresa una duración en segundos. El valor puede ser positivo (nuevas conexiones) o negativo (conexiones existentes). Por defecto, el valor es 20.
-**Descripción**: máximo periodo de inactividad (timeout) para conexiones al motor de la base 4D y al motor SQL, así como también en modo *ServerNet* (nueva capa de red), al servidor de la aplicación 4D. Cuando una conexión inactiva alcanza este límite, se pone en espera automáticamente, lo cual congela la sesión cliente/servidor y cierra el socket de red. En la ventana de administración del servidor, el estado del proceso del usuario se indica como "Postponed". Este funcionamiento es totalmente transparente para el usuario: tan pronto como hay una nueva actividad en la conexión que está en espera, el socket se reabre automáticamente y la sesión cliente/servidor se restaura.
+**Descripción**: máximo periodo de inactividad (timeout) para conexiones al motor de la base 4D, el motor SQL y el servidor de aplicaciones 4D (capa de red *ServerNet* únicamente, ignorado en *QUIC*). Cuando una conexión inactiva alcanza este límite, se pone en espera automáticamente, lo cual congela la sesión cliente/servidor y cierra el socket de red. En la ventana de administración del servidor, el estado del proceso del usuario se indica como "Postponed". Este funcionamiento es totalmente transparente para el usuario: tan pronto como hay una nueva actividad en la conexión que está en espera, el socket se reabre automáticamente y la sesión cliente/servidor se restaura.
Este parámetro permite, por una parte, economizar los recursos en el servidor: las conexiones en espera cierran el socket y liberan un proceso en el servidor. Por otra parte, esto le permite evitar pérdida de conexiones por el cierre de sockets por parte del firewall. Por esta razón, el valor del timeout para conexiones inactivas deber ser menor que el del firewall en este caso.
@@ -465,7 +451,7 @@ Este parámetro puede definirse del lado del cliente. Por lo general, no necesit
**Alcance**: Aplicación 4D
-Se conserva entre dos **sesiones**: no
+**Se conserva entre dos sesiones**: no
**Valores**: cadena formateada del tipo "nnn.nnn.nnn.nnn" (por ejemplo "127.0.0.1").
@@ -477,9 +463,9 @@ Para mayor información sobre el intérprete PHP, por favor consulte el manual d
### PHP interpreter port (56)
-**Alcance**:Aplicación 4D
+**Alcance**: aplicación 4D
- **Se conserva entre dos sesiones**: No
+ **Se conserva entre dos sesiones**: no
**Valores**: valor de tipo entero largo positivo. Por defecto, el valor es 8002\.
@@ -495,7 +481,7 @@ Se conserva entre dos sesiones: No
**Valores posibles**: secuencia de cadenas separadas por dos puntos.
-**Description:** **Descripción:** lista de cifrado (*cipher list*) utilizada por 4D para el protocolo seguro. Esta lista modifica la prioridad de los algoritmos de cifrado implementados por 4D. Por ejemplo, puede pasar la siguiente cadena en el parámetro *valor*: "HIGH:!aNULL:!MD5:!3DES:!CAMELLIA:!AES128:!RSA:!DH:!RC4".
+**Descripción:** lista de cifrado (*cipher list*) utilizada por 4D para el protocolo seguro. Esta lista modifica la prioridad de los algoritmos de cifrado implementados por 4D. Por ejemplo, puede pasar la siguiente cadena en el parámetro *valor*: "HIGH:!aNULL:!MD5:!3DES:!CAMELLIA:!AES128:!RSA:!DH:!RC4".
Para una descripción completa de la sintaxis para la lista cifrada, consulte la *página de cifrado del sitio OpenSSL*.
@@ -507,15 +493,13 @@ Para reinicializar la lista de cifrado a su valor por defecto (guardado permanen
**Nota:** con el comando [Get database parameter](get-database-parameter.md), la lista de cifrado se devuelve en el parámetro opcional *valorAlfa* y el parámetro de retorno es siempre 0.
-
-
### Cache unload minimum size (66)
-**Alcance**: Aplicación 4D
+**Alcance**: aplicación 4D
-**Se conserva entre dos sesiones**: No
+**Se conserva entre dos sesiones**: no
-**Valores posibles**: Entero largo positivo > 1.
+**Valores posibles**: entero largo positivo > 1.
**Descripción**: tamaño mínimo de memoria a liberar del caché de la base de datos cuando el motor necesita hacer espacio para ubicar un objeto (valor en bytes).
@@ -523,23 +507,13 @@ El propósito de este selector es reducir el número de liberaciones de datos de
Por defecto, si este selector no se utiliza, 4D descarga mínimo 10% de la caché en caso de que se necesite espacio.Alcance: Aplicación 4D
-Se conserva entre dos sesiones: No
-
-Valores posibles: Entero largo positivo > 1.
-
-Descripción: tamaño mínimo de memoria a liberar del caché de la base de datos cuando el motor necesita hacer espacio para ubicar un objeto (valor en bytes).
-
-El propósito de este selector es reducir el número de liberaciones de datos de la caché con el fin de obtener un mejor rendimiento. Puede hacer variar este parámetro en función del tamaño de la caché y del de los bloques de datos manipulados en su base.
-
-Por defecto, si este selector no se utiliza, 4D descarga mínimo 10% de la caché en caso de que se necesite espacio.
-
### Direct2D status (69)
**Alcance**: aplicación 4D
-**Se conserva entre dos sesiones**: No
+**Se conserva entre dos sesiones**: no
**Descripción**: modo de activación de Direct2D bajo Windows.
@@ -551,7 +525,7 @@ Direct2D Hardware (1): utilice Direct2D como contexto de hardware de gráficos p
Direct2D Software (3) (modo predeterminado): a partir de Windows 7, utilice el contexto del software de gráficos Direct2D para toda la aplicación 4D.
-***Advertencia* : este selector se proporciona solo para fines de depuración. Dado que varias funciones 4D se basan en Direct2D, no se debe desactivar en las aplicaciones implementadas. Solo el modo predeterminado (Direct2D Software)* **está aprobado para las aplicaciones desplegadas.*
+***Advertencia*: este selector se ofrece solo para fines de depuración. Dado que varias funciones 4D se basan en Direct2D, no se debe desactivar en las aplicaciones implementadas. Solo el modo predeterminado (Direct2D Software)* **está aprobado para las aplicaciones desplegadas.*
@@ -577,13 +551,13 @@ Por ejemplo, si ejecuta:
### Diagnostic log recording (79)
-**Thread-safe** : Yes
+**Hilo seguro**: sí
-**Alcance**: Aplicación 4D
+**Alcance**: aplicación 4D
-**Se conserva entre dos sesiones**: No
+**Se conserva entre dos sesiones**: no
-**Valores posibles**: 0 ó 1 (0 = no guardar,1 = guardar)
+**Valores posibles**: 0 ó 1 (0 = no guardar, 1 = guardar)
**Descripción**: inicio o detención del registro del archivo de diagnóstico de 4D. Por defecto, el valor es 0 (no guarda).
@@ -595,23 +569,25 @@ Note que es posible incluir la información personalizada en este archivo con ay
### Log command list (80)
-**Alcance**: Aplicación 4D
+**Alcance**: aplicación 4D
-**Se conserva entre dos sesiones**: No
+**Se conserva entre dos sesiones**: no
**Valores posibles**: cadena que contiene la lista de números de los comandos 4D a guardar (separados por dos puntos), "all" para guardar todos los comandos o "" (cadena vacía) para no guardar ninguno.
**Descripción**: la lista de comandos 4D a guardar en el archivo de depuración (ver el selector 34, Debug Log Recording). Por defecto, se guardan todos los comandos 4D.
-Este selector permite guardar la cantidad de información almacenada en el archivo de depuración limitando los comandos 4D donde quiera guardar la ejecución.
+Este selector restringe la cantidad de información guardada en el archivo de depuración limitando los comandos 4D cuya ejecución desea registrar o excluir del registro. Por ejemplo, puede escribir:
+ SET DATABASE PARAMETER(Log command list;"277;341") //Graba solo los comandos QUERY y QUERY SELECTION O SET DATABASE PARAMETER(Log command list;"-1666;-323") //Excluye los comandos SET USER ALIAS y DELAY PROCESS de ser grabados
+
### Spellchecker (81)
-**Alcance**: Aplicación 4D
+**Alcance**: aplicación 4D
- **Se conserva entre dos sesiones**: No
+ **Se conserva entre dos sesiones**: no
**Valores posibles**: 0 (por defecto) = corrector macOS nativo (Hunspell desactivado), 1 = corrector Hunspell activo.
@@ -621,11 +597,11 @@ Este selector permite guardar la cantidad de información almacenada en el archi
### Dates inside objects (85)
-**Alcance**: Proceso actual
+**Alcance**: proceso actual
- **Se conserva entre dos sesiones:** No**
+ **Se conserva entre dos sesiones:** no
- Valores posibles**: String type without time zone (0), String type with time zone (1), Date type (2) (por defecto)
+ **Valores posibles**: Tipo cadena sin zona horaria (0), tipo cadena con zona horaria (1), tipo fecha (2) (por defecto)
**Descripción**: define la forma en que se almacenan las fechas dentro de los objetos, así como también cómo se importan / exportan en JSON.
@@ -635,15 +611,13 @@ Si pasa String type with time zone en este selector, convertirá las fechas 4D e
-
-
### Diagnostic log level (86)
-**Thread-safe** : Yes
+**Hilo seguro**: sí
-**Alcance**: Aplicación 4D
+**Alcance**: aplicación 4D
-**Se conserva entre dos sesiones**: No
+**Se conserva entre dos sesiones**: no
**Descripción**: nivel(es) de los mensajes que se incluirán en el registro de diagnóstico cuando esté habilitado (ver selector Diagnostic log recording). Cada nivel designa una categoría de mensajes de diagnóstico e incluye automáticamente las categorías más importantes. Para una descripción de las categorías, consulte la sección *Niveles de registro de diagnóstico* en *developer.4d.com*.
@@ -655,15 +629,11 @@ Si pasa String type with time zone en este selector, convertirá las fechas 4D e
**Alcance:** 4D en modo local, 4D Server**
-Se conserva entre dos sesiones:** sí**
-
-** **Descripción:** fija u obtiene el estado actual de la capa de red antigua para las conexiones cliente/servidor.
+**Se conserva entre dos sesiones:** sí
-La capa de red antigua es obsoleta a partir de 4D v14 R5 y debe ser reemplazada progresivamente en sus aplicaciones por la capa de red *ServerNet*. *ServerNet* será requerida en próximas versiones 4D con el fin de beneficiarse de las futuras evoluciones de la red. Por razones de compatibilidad, la capa de red antigua aún se soporta para permitir una transición sin problemas para las aplicaciones existentes; (se usa por defecto en aplicaciones convertidas de una versión anterior a v14 R5). Pase 1 en este parámetro para utilizar la capa de red antigua (y desactivar *ServerNet*) para las conexiones cliente/servidor, y pase 0 para deshabilitar la red antigua (y utilizar *ServerNet*).
+**Descripción:** fija u obtiene el estado actual de la capa de red antigua para las conexiones cliente/servidor. La capa de red antigua es obsoleta a partir de 4D v14 R5 y debe ser reemplazada progresivamente en sus aplicaciones por la capa de red *ServerNet*. *ServerNet* será requerida en próximas versiones 4D con el fin de beneficiarse de las futuras evoluciones de la red. Por razones de compatibilidad, la capa de red antigua aún se soporta para permitir una transición sin problemas para las aplicaciones existentes; (se usa por defecto en aplicaciones convertidas de una versión anterior a v14 R5). Pase 1 en este parámetro para utilizar la capa de red antigua (y desactivar *ServerNet*) para las conexiones cliente/servidor, y pase 0 para deshabilitar la red antigua (y utilizar *ServerNet*).
-Esta propiedad también se puede definir mediante la opción "Usar capa de red antigua " que se encuentran en *Página Compatibilidad* de las Propiedades de la base (ver *Opciones red y cliente-servidor*). En esta sección, también puede encontrar una discusión sobre la estrategia de migración. Le recomendamos que active *ServerNet* tan pronto como sea posible.
-
-Deberá reiniciar la aplicación para que este parámetro sea tenido en cuenta. No está disponible en 4D Server v14 R5 64-bit versión para macOS, que sólo soporta el *ServetNet*; (siempre devuelve 0).
+Esta propiedad también se puede definir mediante la opción "Usar capa de red antigua " que se encuentran en *Página Compatibilidad* de las Propiedades de la base (ver *Opciones red y cliente-servidor*). En esta sección, también puede encontrar una discusión sobre la estrategia de migración. Le recomendamos que active *ServerNet* tan pronto como sea posible. Deberá reiniciar la aplicación para que este parámetro sea tenido en cuenta. No está disponible en 4D Server v14 R5 64-bit versión para macOS, que sólo soporta el *ServetNet*; (siempre devuelve 0).
**Valores posibles:** 0 o 1 (0 = no utilizan capa de red antigua, 1 = uso capa de red antigua)
@@ -687,7 +657,7 @@ Deberá reiniciar la aplicación para que este parámetro sea tenido en cuenta.
### Circular log limitation (90)
-**Thread-safe** : Yes
+**Hilo seguro**: sí
**Alcance**: 4D local, 4D Server.
@@ -725,7 +695,7 @@ Deberá reiniciar la aplicación para que este parámetro sea tenido en cuenta.
### Cache flush periodicity (95)
-**Thread-safe** : Yes
+**Hilo seguro**: sí
**Alcance**: 4D local, 4D Server
@@ -752,13 +722,11 @@ El tiempo de espera de la conexión remota se aplica después de que una máquin
-
-
### Tips enabled (101)
**Alcance**: aplicación 4D
-**Se conserva entre dos sesiones**: No
+**Se conserva entre dos sesiones**: no
**Valores posibles**: 0 = consejos desactivados, 1 = consejos activados (predeterminado)
@@ -796,7 +764,7 @@ Tenga en cuenta que este parámetro define todos los consejos 4D, es decir, los
**Alcance**: 4D Server, 4D Web Server y 4D SQL Server
-**Conservar entre dos sesiones**: No
+**Conservar entre dos sesiones**: no
**Descripción**: se utiliza para especificar el nivel TLS (Transport Layer Security), que ofrece cifrado y autenticación de datos entre aplicaciones y servidores. Se rechazarán los intentos de conexión de clientes que sólo soporten versiones inferiores a la mínima. La configuración se aplica globalmente a la capa de red. Una vez modificado, el servidor debe reiniciarse para utilizar el nuevo valor.
@@ -810,10 +778,6 @@ Tenga en cuenta que este parámetro define todos los consejos 4D, es decir, los
-
-
-
-
### User param value (108)
**Alcance**: 4D local, 4D Server
@@ -830,9 +794,9 @@ Cuando se utiliza con [SET DATABASE PARAMETER](set-database-parameter.md), defin
### Times inside objects (109)
-Alcance: 4D local, 4D Server (todos los procesos)
+**Alcance**: 4D local, 4D Server (todos los procesos)
- Se conserva entre dos sesiones: No
+ **Se conserva entre dos sesiones**: no
**Valores posibles**: Times in seconds (0) (predeterminado), Times in milliseconds (1)
@@ -846,11 +810,11 @@ En versiones anteriores, los valores de tiempo se convertían y almacenaban como
### SMTP Log (110)
-**Thread-safe** : Yes
+**Hilo seguro**: sí
**Alcance**: 4D local, 4D Server*
-* **Se conserva entre dos sesiones**: No
+* **Se conserva entre dos sesiones**: no
**Valores posibles**: 0 o de 1 a X (0 = no grabar, 1 a X = número secuencial, agregado al nombre del archivo). De forma predeterminada, el valor es 0 (intercambios SMTP no registrados).
@@ -864,9 +828,13 @@ Para obtener más información sobre los archivos 4DSMTPLog\_X.txt, consulte la
**Alcance:** Aplicación 4D
-**Se conserva entre dos sesiones:** No
+**Se conserva entre dos sesiones:** no
+
+**Descripción**: inicia o detiene el registro secuencial de eventos de programación **del proceso actual** en un archivo de historial separado. Este historial es similar al Debug log recording (selector 34) pero se enfoca solo en el proceso actual. El nombre del archivo de historial incluye la letra "p" y el número del proceso: 4DDebugLog\[\_p*N*_*n*].txt, donde N es el ID único del proceso.
-**Descripción**: inicia o detiene el registro secuencial de eventos de programación **del proceso actual** en un archivo de historial separado. Este historial es similar al Debug log recording (selector 34) pero se enfoca solo en el proceso actual. El nombre del archivo de historial incluye la letra "p" y el número del proceso: 4DDebugLog\[\_p*N*_*n*].txt, donde N es el ID único del proceso. Para más información sobre este formato y sobre el uso del archivo *4DDebugLog*, consulte *Descripción de archivos de historial* en el Modo Diseño. **Notas:** Este selector se proporciona únicamente con el fin de depurar y debe utilizarse con cuidado. En particular, no debe ponerse en producción, ya que puede tener un impacto en el rendimiento de la aplicación. Puede utilizarar ambos selectores Debug log recording y Current process debug log recording simultáneamente, en cuyo caso las acciones del proceso actual no se registrarán en el archivo de historial principal.
+Para más información sobre este formato y sobre el uso del archivo *4DDebugLog*, consulte *Descripción de archivos de historial* en el Modo Diseño.
+
+**Notas:** Este selector se proporciona únicamente con el fin de depurar y debe utilizarse con cuidado. En particular, no debe ponerse en producción, ya que puede tener un impacto en el rendimiento de la aplicación. Puede utilizarar ambos selectores Debug log recording y Current process debug log recording simultáneamente, en cuyo caso las acciones del proceso actual no se registrarán en el archivo de historial principal.
@@ -912,7 +880,7 @@ Para obtener más información sobre los archivos 4DSMTPLog\_X.txt, consulte la
### POP3 Log (116)
-**Thread-safe** : Yes
+**Hilo seguro**: sí
**Alcance:** 4D local, 4D Server
@@ -920,7 +888,7 @@ Para obtener más información sobre los archivos 4DSMTPLog\_X.txt, consulte la
**Valores posibles:** 0 o de 1 a X (0 = no registrar, 1 a X = número secuencial, agregado al nombre del archivo). Por defecto, el valor es 0 (intercambios POP3 no registrados).
-: iInicia o detiene la grabación de intercambios entre 4D y el servidor POP3, cuando un objeto transportador se procesa a través de *POP3\_transporter.getMail( )* o *POP3\_transporter.checkConnection( )*. Por defecto, el valor es 0 (intercambios no registrados). Cuando este mecanismo está habilitado, se crea un archivo de registro en la carpeta Logs de la base. Se llama 4DPOP3Log\_X.txt, donde X es el número secuencial del registro. Una vez que el archivo 4DPOP3Log ha alcanzado un tamaño de 10 MB, se cierra y se genera uno nuevo, con un número secuencial incrementado. Si ya existe un archivo con el mismo nombre, se reemplaza directamente. Puede establecer el número inicial de la secuencia utilizando el parámetro valor. De manera predeterminada, todos los archivos se mantienen, pero puede controlar la cantidad de archivos que se deben seguir utilizando el parámetro Circular log limitation.
+**Descripción**: inicia o detiene la grabación de intercambios entre 4D y el servidor POP3, cuando un objeto transportador se procesa a través de *POP3\_transporter.getMail( )* o *POP3\_transporter.checkConnection( )*. Por defecto, el valor es 0 (intercambios no registrados). Cuando este mecanismo está habilitado, se crea un archivo de registro en la carpeta Logs de la base. Se llama 4DPOP3Log\_X.txt, donde X es el número secuencial del registro. Una vez que el archivo 4DPOP3Log ha alcanzado un tamaño de 10 MB, se cierra y se genera uno nuevo, con un número secuencial incrementado. Si ya existe un archivo con el mismo nombre, se reemplaza directamente. Puede establecer el número inicial de la secuencia utilizando el parámetro valor. De manera predeterminada, todos los archivos se mantienen, pero puede controlar la cantidad de archivos que se deben seguir utilizando el parámetro Circular log limitation.
Para más información sobre los archivos 4DPOP3Log\_X.txt, consulte la sección *Descripción de archivos de historial*.
@@ -938,11 +906,11 @@ Para más información sobre los archivos 4DPOP3Log\_X.txt, consulte la sección
### IMAP Log (119)
-**Thread-safe** : Yes
+**Hilo seguro**: sí
**Alcance**: 4D local, 4D Server
-**Se conserva entre dos sesiones**: No
+**Se conserva entre dos sesiones**: no
**Valores posibles**: 0 o de 1 a X (0 = no grabar, 1 a X = número secuencial, añadido al nombre del archivo). Por defecto, el valor es 0 (los intercambios IMAP no se registran).
@@ -964,7 +932,7 @@ Para más información sobre los archivos 4DIMAPLog\_X.txt, consulte la sección
### Pause logging (121)
-**Thread-safe** : Yes
+**Hilo seguro**: sí
**Alcance**: aplicación 4D
@@ -975,34 +943,36 @@ Para más información sobre los archivos 4DIMAPLog\_X.txt, consulte la sección
Este selector permite suspender/reanudar todas las operaciones de registro iniciadas en la aplicación (excepto los registros ORDA). Esta función puede ser útil para aligerar temporalmente las tareas de la aplicación 4D o programar las operaciones de registro.
+
### TCPUDP log recording (131)
-**Scope:** 4D application.
+**Alcance:** aplicación 4D
-**Kept between two sessions:** No.
+**Se mantiene entre dos sesiones**: no
-**Possible values:** `0`: Logging disabled (default), `1`: Logging enabled.
+**Valores posibles:** `0`: Logging desactivado (por defecto), `1`: Logging activado.
-**Description:** Enables or disables the `4DTCPUDPLog.txt` file for logging TCP events.
+**Descripción:** activa o desactiva el archivo `4DTCPUDPLog.txt` para registrar eventos TCP.
### RDP optimization (133)
-**Scope:** 4D application.
+**Alcance:** aplicación 4D
-**Kept between two sessions:** No.
+**Se mantiene entre dos sesiones**: no
-**Possible values:** `0`: Disabled (default), `1`: Enabled.
+**Valores posibles:** `0`: activado (por defecto), `1`: desactivado.
-**Description:** Enables or disables optimizations for RDP (Remote Desktop Protocol). When enabled, optimizes in particular the use of shared clipboard in RDP connections, which can otherwise lead to freezing issues. Note that this selector disables the support in clipboard for images encoded as data uri in raw text (only concerns images dropped or explicitly copied as text from a browser).
+**Descripción:** activa o desactiva las optimizaciones para RDP (Protocolo de escritorio remoto). Cuando está activado, optimiza en particular el uso del portapapeles compartido en las conexiones RDP, que de otro modo pueden provocar problemas de congelación. Tenga en cuenta que este selector desactiva la compatibilidad en el portapapeles para imágenes codificadas como URI de datos en texto sin formato (solo afecta a las imágenes que se sueltan o se copian explícitamente como texto desde un navegador).
-
-
-**Nota**: el parámetro *tabla* sólo es utilizado por los selectores 31, 46 y 47\. En todos los demás casos, se ignora si se pasa.
+:::nota
+
+* El parámetro *tabla* sólo es utilizado por los selectores 31, 46 y 47\. En todos los demás casos, se ignora si se pasa.
+* Si no se mantiene una configuración constante entre sesiones, pero desea asegurarse de que se aplique, debe ejecutarla en o [Método base On Server Startup](metodo-base-on-server-startup.md).
-Si no se mantiene una configuración constante entre sesiones, pero desea asegurarse de que se aplique, debe ejecutarla en o [Método base On Server Startup](metodo-base-on-server-startup.md).
+:::
#### Selectores hilo seguro
@@ -1019,7 +989,6 @@ El comando **SET DATABASE PARAMETER** puede utilizarse en procesos apropiativos
* [IMAP Log](#imap-log-119)
* [Pause logging](#pause-logging-121)
-
#### Ejemplo 1
La siguiente instrucción evitará un posible problema de timeout:
@@ -1033,14 +1002,15 @@ La siguiente instrucción evitará un posible problema de timeout:
...
```
-
#### Ejemplo 2
Este ejemplo forza temporalmente la ejecución de un comando búsqueda por fórmula en el equipo cliente:
```4d
- curVal:=Get database parameter([tabla1];Query By Formula On Server) //Almacena la configuración actual
- SET DATABASE PARAMETER([tabla1];Query By Formula On Server;1) //Fuerza la ejecución en el equipo cliente
+ curVal:=Get database parameter([table1];Query By Formula On Server) //Almacena la configuración actual
+ SET DATABASE PARAMETER([table1];Query By Formula On Server;1) //Fuerza la ejecución en el equipo cliente
+ QUERY BY FORMULA([table1];myformula)
+ SET DATABASE PARAMETER([table1];Query By Formula On Server;curVal) //Reestablece la configuración actual
```
#### Ejemplo 3
@@ -1055,7 +1025,7 @@ Usted quiere exportar datos en JSON que contienen una fecha 4D convertida. Note
SET DATABASE PARAMETER(Dates inside objects;1)
```
-#### Ver también
+#### Ver también
[Get database parameter](get-database-parameter.md)
[LOG EVENT](log-event.md)
@@ -1067,5 +1037,3 @@ Usted quiere exportar datos en JSON que contienen una fecha 4D convertida. Note
| --- | --- |
| Número de comando | 642 |
| Hilo seguro | ✗ |
-
-
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/commands-legacy/blob-to-print-settings.md b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/commands-legacy/blob-to-print-settings.md
index 7b5a31d53f367d..41a06864f9d2f0 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/commands-legacy/blob-to-print-settings.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/commands-legacy/blob-to-print-settings.md
@@ -17,14 +17,14 @@ displayed_sidebar: docs
## Descripción
-El comando **BLOB to print settings** reemplaza los parámetros de impresión actuales de 4D por los parámetros almacenados en el BLOB *confImpr*. Este BLOB debe haber sido generado por el comando [Print settings to BLOB](print-settings-to-blob.md) o por el comando 4D Pack 4D Pack (ver abajo).
+El comando **BLOB to print settings** reemplaza los parámetros de impresión actuales de 4D por los parámetros almacenados en el BLOB *confImpr*. Este BLOB debe haber sido generado por el comando [Print settings to BLOB](print-settings-to-blob.md).
El parámetro *params* le permite definir cómo manejar los parámetros básicos para el "número de copias" y el "intervalo de impresión":
* Si pasa 0 u omite este parámetro, los valores almacenados en el BLOB se utilizan para la impresión.
* Si pasa 1, los valores se restablecen a los valores predeterminados: el número de copias se establece en 1 y el intervalo de páginas se establece en "todas las páginas".
-Los parámetros se aplican a los [parámetros actuales de impresión 4D](../settings/compatibility.md) siempre y cuando ningún comando como *\_o\_PAGE SETUP*, [SET PRINT OPTION](set-print-option.md) o [PRINT SELECTION](print-selection.md) sin el parámetro > los modifique. Los parámetros definidos se utiliza particularmente para los comandos [PRINT SELECTION](print-selection.md), [PRINT LABEL](print-label.md), [PRINT RECORD](print-record.md), [Print form](../commands/print-form.md) y [QR REPORT](qr-report.md), así como también para los comandos de impresión en los menú de 4D, incluyendo los del entorno Diseño.
+Los parámetros se aplican a los [parámetros actuales de impresión 4D](../settings/compatibility.md) siempre y cuando ningún comando como [SET PRINT OPTION](set-print-option.md) o [PRINT SELECTION](print-selection.md) sin el parámetro > los modifique. Los parámetros definidos se utiliza particularmente para los comandos [PRINT SELECTION](print-selection.md), [PRINT LABEL](print-label.md), [PRINT RECORD](print-record.md), [Print form](../commands/print-form.md) y [QR REPORT](qr-report.md), así como también para los comandos de impresión en los menú de 4D, incluyendo los del entorno Diseño.
Los comandos [PRINT SELECTION](print-selection.md), [PRINT LABEL](print-label.md) y [PRINT RECORD](print-record.md) deben ser llamados con el parámetro *\>* (si aplica) para que los parámetros definidos por **BLOB to print settings** se mantengan.
@@ -41,13 +41,8 @@ El comando devuelve uno de los siguientes códigos de estado:
### Windows / macOS
El BLOB *confImp* se puede guardar y leer en ambas plataformas. Sin embargo, incluso si ciertos parámetros de impresión son comunes, algunos otros son específicos de la plataforma y dependen de los controladores de impresión y de las versiones del sistema operativo. Si el mismo BLOB *confImp* se comparte entre ambas plataformas, es posible que pierda partes de información.
-
Cuando se utiliza en un entorno heterogéneo, con el fin de restaurar el máximo de parámetros de impresión disponibles para cada plataforma (y no sólo la parte común), se recomienda que maneje dos BLOBs *confImp*, uno para cada plataforma.
-### Compatibilidad con los comandos 4D Pack
-
-Los BLOBs de parámetros de impresión generados con el comando 4D Pack \[#cmd id="61955"/\] pueden ser cargados y utilizados por el comando **BLOB to print settings**. Tenga en cuenta sin embargo, que si son guardados con \[#cmd id="1433"/\], se convierten y no se abrirán más con . El comando **BLOB to print settings** permite almacenar más información que el comando .
-
## Ejemplo
Usted desea aplicar la configuración de impresión guardada en el disco para el contexto de impresión 4D actual:
@@ -82,5 +77,3 @@ Usted desea aplicar la configuración de impresión guardada en el disco para el
| --- | --- |
| Número de comando | 1434 |
| Hilo seguro | ✗ |
-
-
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/commands-legacy/get-database-parameter.md b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/commands-legacy/get-database-parameter.md
index 2c262c04c94815..67e32715374ec9 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/commands-legacy/get-database-parameter.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/commands-legacy/get-database-parameter.md
@@ -26,7 +26,7 @@ El parámetro *selector* designa el parámetro a obtener. 4D ofrece las siguient
**Alcance**: aplicación 4D si *valor* positivo
-Se conserva entre dos **sesiones**: sí si *valor* positivo
+**Se conserva entre dos sesiones**: sí si *valor* positivo
**Valores posibles**: 0 -> 32 767
@@ -34,8 +34,6 @@ Se conserva entre dos **sesiones**: sí si *valor* positivo
El timeout del servidor define el periodo máximo de no respuesta del cliente "autorizado", por ejemplo si realiza una operación de bloqueo. Al terminar esta periodo, 4D Server desconecta al cliente. El selector 4D Server Timeout le permite asignar en el parámetro *valor*un nuevo timeout, expresado en minutos. Esta funcionalidad es particularmente útil para aumentar el valor del timeout antes de la ejecución en el equipo cliente de una operación de larga duración, tal como la impresión de un gran número de páginas, la cual puede causar un timeout inesperado.
-
-
Tiene dos opciones:
Si pasa un valor **positivo** en el parámetro *valor*, define un timeout global y permanente: el nuevo valor se aplica a todos los procesos y se almacena en las Preferencias de la aplicación 4D (equivalente a cambiar en el diálogo Preferencias).Si pasa un valor **negativo** en el parámetro *valor*, define un timeout lobal y temporal: el nuevo valor se aplica únicamente a los procesos llamantes (los otros procesos conservan los valores por defecto) y se restaura al valor por defecto tan pronto como el servidor recibe una señal de actividad del cliente, por ejemplo, cuando la operación termina. Esta opción es muy útil para administrar operaciones largas iniciadas por plug-ins 4D. Para definir una conexión "Sin timeout", pase 0 en *valor*. Ver el ejemplo 1.
@@ -44,7 +42,7 @@ Si pasa un valor **positivo** en el parámetro *valor*, define un timeout global
### 4D Remote mode timeout (14)
-**Alcance** (antigua capa de red únicamente): aplicación 4D si valor positivo
+**Alcance** (antigua capa de red únicamente): aplicación 4D si *valor* positivo
**Se conserva entre dos sesiones**: sí si *valor* positivo
@@ -58,27 +56,21 @@ El selector Timeout 4D mode distant no se tiene en cuenta si utiliza la antigua
**Alcance**: 4D local, 4D Server
-Se conserva entre dos **sesiones**: no
-
-**Descripción**: Command SET DATABASE Número de puerto TCP utilizado por el servidor web 4D con 4D en modo local y 4D Server. Por defecto, el valor es 80.
+**Se conserva entre dos sesiones**: no
-El número de puerto TCP está definido en la página "Web/Configuración" de la caja de diálogo de las Propiedades de la base. Puede utilizar las constantes del tema para el parámetro *valor*.
+**Descripción**: Command SET DATABASE Número de puerto TCP utilizado por el servidor web 4D con 4D en modo local y 4D Server. El valor por defecto, puede definirse en la página "Web/Configuración" de la caja de diálogo de Preferencias es 80\. Puede utilizar las constantes del tema *Números de puerto TCP* para el parámetro *valor*.
El selector Port ID se utiliza en el marco de servidores web 4D compilados y fusionados con 4D Desktop (sin acceso al modo Diseño). Para mayor información sobre el número de puerto TCP, consulte la sección *Parámetros del servidor web*
-
-
### Character set (17)
**Alcance:** 4D local, 4D Server**
-Se conserva entre dos sesiones:** sí**
-
-Descripción:** constante obsoleta (se conserva por compatibilidad únicamente). Ahora recomendamos utilizar los comandos [WEB SET OPTION](web-set-option.md) y [WEB GET OPTION](web-get-option.md) para la configuración del servidor HTTP.
-
+**Se conserva entre dos sesiones:** sí**
+**Descripción:** *constante obsoleta (se conserva por compatibilidad únicamente).* Ahora recomendamos utilizar los comandos [WEB SET OPTION](web-set-option.md) y [WEB GET OPTION](web-get-option.md) para la configuración del servidor HTTP.
@@ -86,11 +78,9 @@ Descripción:** constante obsoleta (se conserva por compatibilidad únicamente).
**Alcance**: 4D local, 4D Server
-Se conserva entre dos **sesiones**: sí
+**Se conserva entre dos sesiones**: sí
-**Valores**: todo valor entre 10 y 32 000\. El valor por defecto es 100.
-
-**Descripción**: Constante obsoleta (se conserva por compatibilidad únicamente). Se recomienda utilizar los comandos [WEB SET OPTION](web-set-option.md) y [WEB GET OPTION](web-get-option.md) para la configuración del servidor HTTP.
+**Descripción**: *constante obsoleta (se conserva por compatibilidad únicamente).* Se recomienda utilizar los comandos [WEB SET OPTION](web-set-option.md) y [WEB GET OPTION](web-get-option.md) para la configuración del servidor HTTP.
@@ -98,7 +88,7 @@ Se conserva entre dos **sesiones**: sí
**Alcance**: todos los equipos 4D remotos
- Se conserva entre dos **sesiones**: sí
+ **Se conserva entre dos sesiones**: sí
**Valores posibles**: ver selector 15
@@ -110,7 +100,7 @@ Se conserva entre dos **sesiones**: sí
**Alcance**: todos los equipos 4D remotos
- Se conserva entre dos **sesiones**: sí
+ **Se conserva entre dos sesiones**: sí
**Valores posibles**: ver selector 17
@@ -122,51 +112,45 @@ Se conserva entre dos **sesiones**: sí
**Alcance**: todos los equipos 4D remotos
-Se conserva entre dos **sesiones**: sí
+**Se conserva entre dos sesiones**: sí
-Valores posibles: ver selector 18
+**Valores posibles**: ver selector 18
**Descripción**: permite especificar esta parámetro para las máquinas 4D remotas utilizadas como servidores web. Los valores definidos utilizando estos selectores se aplican a todos los equipos remotos utilizados como servidores web. Si quiere definir este valor sólo para ciertos equipos remotos, utilice la caja de diálogo de Preferencias de 4D en modo remoto.
-
-
### Maximum Web requests size (27)
**Alcance**: 4D local, 4D Server
-Se conserva entre dos **sesiones**: sí
+**Se conserva entre dos sesiones**: sí
-**Valores posibles**: 500 000 a 2 147 483 648.
-
-**Descripción**: Constante obsoleta (se conserva por compatibilidad únicamente). Se recomienda utilizar los comandos [WEB SET OPTION](web-set-option.md) y [WEB GET OPTION](web-get-option.md) para la configuración del servidor HTTP.
+**Descripción**: *Constante obsoleta (se conserva por compatibilidad únicamente).* Se recomienda utilizar los comandos [WEB SET OPTION](web-set-option.md) y [WEB GET OPTION](web-get-option.md) para la configuración del servidor HTTP.
### 4D Server log recording (28)
-**Thread-safe** : Yes
+**Hilo seguro**: sí
**Alcance**: 4D Server, 4D remoto*
-* Se conserva entre dos **sesiones**: no
+**Se conserva entre dos sesiones**: no
- **Valores** **posibles**: 0 ó de 1 a X (0 = no grabar, 1 a X = número secuencial, añadido al nombre del archivo).
+ **Valores posibles**: 0 ó de 1 a X (0 = no grabar, 1 a X = número secuencial, añadido al nombre del archivo).
**Descripción**: inicia o detiene la grabación de las peticiones estándar recibidas por 4D Server (excluyendo las peticiones web). Por defecto, el valor es 0 (no se graban las peticiones).
-4D Server le permite grabar cada petición recibida por el equipo servidor en un archivo de historial. Cuando este mecanismo está activo, el archivo de historial se crea junto al archivo de estructura de la base. Su nombre es "4DRequestsLog\_X," donde X es el número secuencial del historial. Una vez el archivo alcanza un tamaño de 10 MB, se cierra y se genera un nuevo archivo, con un número secuencial incrementado. Si existe un archivo con el mismo nombre, se reemplaza directamente. Puede definir el número de inicio de la secuencia utilizando el parámetro *valor*.
-
+4D Server le permite grabar cada petición recibida por el equipo servidor en un archivo de historial. Cuando este mecanismo está activo, el archivo de historial se crea junto al archivo de estructura de la base. Su nombre es "4DRequestsLog\_X," donde X es el número secuencial del historial. Una vez el archivo alcanza un tamaño de 10 MB, se cierra y se genera un nuevo archivo, con un número secuencial incrementado. Si existe un archivo con el mismo nombre, se reemplaza directamente. Puede definir el número de inicio de la secuencia utilizando el parámetro *valor*.
Este archivo texto almacena en formato tabulado simple diferente información sobre cada petición: hora, número de proceso, usuario, tamaño de la petición, duración del proceso, etc. Esta información puede ser útil particularmente durante la fase de afinamiento de la aplicación o con fines estadísticos. Por ejemplo puede importarse, en un software de hoja de cálculo para procesarse.
-
### Client Web log recording (30)
**Alcance**: todos los equipos 4D remotos
- Se conserva entre dos **sesiones**: sí
+ **Se conserva entre dos sesiones**: sí
**Valores posibles**: 0 = No grabar (por defecto), 1 = Registrar en formato CLF, 2 = Registrar en formato DLF, 3 = Registrar en formato ELF, 4 = Registrar en formato WLF.
@@ -178,9 +162,9 @@ El funcionamiento de este selector es idéntico al del selector 29; sin embargo,
### Table sequence number (31)
-**Alcance**: *a*plicación 4D
+**Alcance**: aplicación 4D
- Se conserva entre dos **sesiones**: sí
+ **Se conserva entre dos sesiones**: sí
**Valores posibles**: todo valor de tipo entero largo.
@@ -190,19 +174,19 @@ Por defecto, este número único es definido por 4D y corresponde al orden de cr
+### Debug log recording (34)
+**Hilo seguro**: sí
+**Alcance**: aplicación 4D
+**Se conserva entre dos sesiones**: no
-### Debug log recording (34)
-
-**Thread-safe** : Yes
-
-**Alcance**: Aplicación 4D
+**Descripción**: inicia o detiene la grabación secuencial de los eventos a nivel de programación de 4D en el archivo 4DDebugLog, que se ubica automáticamente en la subcarpeta Logs de la base de datos, junto al archivo de estructura. Un nuevo formato texto tabulado, más compacto se utiliza en el archivo de registro de eventos "4DDebugLog \[\_n\].txt" a partir de 4D v14 (donde \_n es el número de segmento del archivo y *Server* se añade al nombre del archivo cuando se genera en el servidor). Hay dos modos disponibles:
-**Se conserva entre dos sesiones**: No
+- El modo estándar ofrece una vista básica de los eventos y el archivo se coloca automáticamente en la subcarpeta Logs de la base de datos, junto al archivo de estructura. Los tiempos de ejecución se expresan en milisegundos y se muestra el valor "< ms" cuando una operación dura menos de un milisegundo.
-**Descripción**: inicia o detiene la grabación secuencial de los eventos a nivel de programación de 4D en el archivo 4DDebugLog, que se ubica automáticamente en la subcarpeta Logs de la base de datos, junto al archivo de estructura. Un nuevo formato texto tabulado, más compacto se utiliza en el archivo de registro de eventos "4DDebugLog \[\_n\].txt" a partir de 4D v14 (donde \_n es el número de segmento del archivo).
+- El modo con pestañas ofrece información adicional y utiliza un formato más compacto con pestañas en el archivo. Los tiempos de ejecución se expresan en microsegundos.
**Valores posibles**: Entero largo contiene un campo de bits: valor = bit1(1)+bit2(2)+bit3(4)+bit4(8)+…).
@@ -232,7 +216,15 @@ SET DATABASE PARAMETER (34;0) // desactiva el archivo Para todo tipo de aplicaci
- restringiéndolo sólo al proceso actual con Current process debug log recording (selector 111). Esto añadirá la letra "p" y el número de proceso al nombre del archivo: *4DDebugLog\[\_pn\_n\].txt* o *4DDebugLogServer\[\_pn\_n\].txt*
-Para más información sobre este formato y sobre el uso del archivo *4DDebugLog*, consulte la sección *Descripción de archivos de historial*. **Nota:** este selector se ofrece únicamente con fines de depuración y debe utilizarse con cuidado, ya que puede afectar al rendimiento de la aplicación.
+
+
+Para más información sobre este formato y sobre el uso del archivo *4DDebugLog*, consulte la sección *Descripción de archivos de historial*.
+
+Este selector se ofrece únicamente con fines de depuración y debe utilizarse con cuidado, ya que puede afectar al rendimiento de la aplicación.
+
+
+
+
@@ -240,9 +232,9 @@ Para más información sobre este formato y sobre el uso del archivo *4DDebugLog
**Alcance**: base de datos
-Se conserva entre dos **sesiones**: sí**
+**Se conserva entre dos sesiones**: sí
-Valores posibles**: 0 a 65535
+**Valores posibles**: 0 a 65535
**Descripción**: número de puerto TCP donde el servidor 4D publica la base de datos (para conexión remota 4D). Por defecto, el valor es 19813\.
@@ -258,17 +250,17 @@ Cuando modifica este valor, es necesario reiniciar el equipo servidor para que e
**Alcance**: 4D local, 4D Server
-Se conserva entre dos **sesiones**: sí
+**Se conserva entre dos sesiones**: sí
-**Descripción**: Constante obsoleta (se conserva por compatibilidad únicamente). Se recomienda utilizar los comandos [WEB SET OPTION](web-set-option.md) y [WEB GET OPTION](web-get-option.md) para la configuración del servidor HTTP.
+**Descripción**: *Constante obsoleta (se conserva por compatibilidad únicamente).* Se recomienda utilizar los comandos [WEB SET OPTION](web-set-option.md) y [WEB GET OPTION](web-get-option.md) para la configuración del servidor HTTP.
### Client HTTPS port ID (40)
-**Alcance**:todos los equipos 4D remotos
+**Alcance**: todos los equipos 4D remotos
- Se conserva entre dos **sesiones**: sí
+ **Se conserva entre dos sesiones**: sí
**Valores posibles**: 0 a 65535
@@ -280,13 +272,11 @@ Este selector funciona exactamente igual que el selector 39; sin embargo, aplica
-
-
### SQL Autocommit (43)
**Alcance**:base de datos
- Se conserva entre dos **sesiones**: sí
+ **Se conserva entre dos sesiones**: sí
**Posibles valores**: 0 (desactivación) o 1 (activación)
@@ -298,9 +288,9 @@ Este selector funciona exactamente igual que el selector 39; sin embargo, aplica
### SQL Engine case sensitivity (44)
-**Alcance**:base de datos
+**Alcance**: base de datos
- Se conserva entre dos sesiones: sí
+ **Se conserva entre dos sesiones**: sí
**Valores posibles**: 0 (no se tienen en cuenta las mayúsculas y minúsculas) ó 1 (sensible a las mayúsculas y minúsculas)
@@ -308,13 +298,13 @@ Este selector funciona exactamente igual que el selector 39; sin embargo, aplica
Por defecto, el valor es 1 (sensible a las mayúsculas y minúsculas): el motor SQL diferencia entre mayúsculas y minúsculas y entre caracteres acentuados al comparar cadenas (ordenaciones y búsquedas). Por ejemplo “ABC”= “ABC” pero “ABC” # “Abc.” En algunos casos, por ejemplo para alinear el funcionamiento del motor SQL con el del motor 4D, podría querer que las comparaciones de cadenas no tengan en cuenta las mayúsculas y minúsculas (“ABC”=“Abc”).
-Esta opción también puede definirse en la [CALL SUBFORM CONTAINER](call-subform-container.md) de las Preferencias de la base.
+**Atención:* como esta opción Modifica el archivo de estructura de la base de datos y todos los procesos. Por motivos de rendimiento, se recomienda encarecidamente configurarlo solo al iniciar la base de datos.* Esta opción también se puede configurar en los ajustes de la base de datos.
### Client log recording (45)
-**Alcance**:equipo 4D remoto
+**Alcance**: equipo 4D remoto
Se conserva entre dos **sesiones**: no
@@ -332,7 +322,7 @@ Estos archivos texto almacenan en formato tabulado simple diferente información
**Alcance**: tabla y procesos actuales
- Se conserva entre dos **sesiones**: no
+ **Se conserva entre dos sesiones**: no
**Valores posibles**: 0 (utilizar la configuración de la base), 1 (ejecutar en cliente) o 2 (ejecutar en servidor)
@@ -342,9 +332,11 @@ Cuando se utiliza una base en modo cliente-servidor, los comandos de búsqueda "
en bases creadas con 4D v11 SQL, estos comandos se ejecutan en el servidor.en bases convertidas, estos comandos se ejecutan en el equipo cliente, como en las versiones anteriores de 4D.en las bases convertidas, una preferencia específica permite modificar globalmente la ubicación de ejecución de estos comandos.Esta diferencia en ubicación de ejecución influye no sólo en el rendimiento de la aplicación (la ejecución en el servidor es generalmente más rápida) sino también en la programación. En efecto, el valor de los componentes de la fórmula (en particular las variables llamadas vía un método) varía de acuerdo al contexto de ejecución. Puede utilizar este selector para adaptar puntualmente el funcionamiento de su aplicación.
-Si pasa 0 en el parámetro *valor*, la ubicación de ejecución de los comandos de búsqueda "por fórmula" dependerá de la configuración de la base: en bases creadas con 4D v11 SQL, estos comandos se ejecutarán en el servidor. En bases convertidas, se ejecutarán en el equipo cliente o en el servidor en función de las preferencias de la base. Pase 1 ó 2 en *valor* para "forzar" la ejecución de estos comandos respectivamente en el equipo cliente o en el servidor. Consulte el ejemplo 2.
+Si pasa 0 en el parámetro *valor*, la ubicación de ejecución de los comandos de búsqueda "por fórmula" dependerá de la configuración de la base: en bases creadas con 4D v11 SQL, estos comandos se ejecutarán en el servidor. En bases convertidas, se ejecutarán en el equipo cliente o en el servidor en función de las preferencias de la base. Pase 1 ó 2 en *valor* para "forzar" la ejecución de estos comandos respectivamente en el equipo cliente o en el servidor.
+
+Consulte el ejemplo 2.
- si quiere activar las uniones "tipo SQL" (consulte el selector QUERY BY FORMULA Joins selector), siempre debe ejecutar las fórmulas en el servidor de manera que tengan acceso a los registros. Atención, en este contexto, la fórmula no debe contener llamadas a un método, de lo contrario pasará automáticamente al equipo remoto.
+**Nota:** si quiere activar las uniones "tipo SQL" (consulte el selector QUERY BY FORMULA Joins selector), siempre debe ejecutar las fórmulas en el servidor de manera que tengan acceso a los registros. Atención, en este contexto, la fórmula no debe contener llamadas a un método, de lo contrario pasará automáticamente al equipo remoto.
@@ -352,7 +344,7 @@ Si pasa 0 en el parámetro *valor*, la ubicación de ejecución de los comandos
**Alcance**: tabla y procesos actuales
- Se conserva entre dos **sesiones**: no
+ **Se conserva entre dos sesiones**: no
**Valores posibles**: 0 (utilizar la configuración de la base), 1 (ejecutar en el cliente) o 2 (ejecutar en el servidor)
@@ -360,19 +352,17 @@ Si pasa 0 en el parámetro *valor*, la ubicación de ejecución de los comandos
Al utilizar una base en modo cliente-servidor, el comando [ORDER BY FORMULA](order-by-formula.md "ORDER BY FORMULA") puede ejecutarse bien sea en el equipo servidor o en el cliente. Este selector puede utilizarse para especificar la ubicación de la ejecución de este comando (servidor o cliente). Este modo también puede definirse en las preferencias de la base. Para mayor información, consulte la descripción del selector 46, Query By Formula On Server.
-
-
- si quiere activar las uniones "tipo SQL" (consulte el selector QUERY BY FORMULA Joins selector), siempre debe ejecutar las fórmulas en el servidor de manera que tengan acceso a los registros. Atención, en este contexto, la fórmula no debe contener llamadas a un método, de lo contrario pasará automáticamente al equipo remoto.
+**Nota:** si quiere activar las uniones "tipo SQL" (consulte el selector QUERY BY FORMULA Joins selector), siempre debe ejecutar las fórmulas en el servidor de manera que tengan acceso a los registros. Atención, en este contexto, la fórmula no debe contener llamadas a un método, de lo contrario pasará automáticamente al equipo remoto.
### Auto synchro resources folder (48)
-**Alcance**:equipo 4D remoto
+**Alcance**: equipo 4D remoto
- Se conserva entre dos **sesiones**: no
+ **Se conserva entre dos sesiones**: no
- **Valores p** **osibles**: 0 (sin sincronización), 1 (auto sincronización) ó 2 (preguntar).
+ **Valores posibles**: 0 (sin sincronización), 1 (auto sincronización) ó 2 (preguntar).
**Descripción**: modo de sincronización dinámico de la carpeta *Resources* del equipo cliente 4D que ejecuta el comando con el servidor.
@@ -386,7 +376,7 @@ Tres modos de sincronización son posibles del lado del cliente. El selector Aut
### Query by formula joins (49)
-**Alcance**:Proceso actual
+**Alcance**: proceso actual
Se conserva entre dos **sesiones**: no
@@ -418,9 +408,7 @@ Se conserva entre dos **sesiones**: no
Se conserva entre dos **sesiones**: no
-Valores posibles: todo valor de tipo entero largo
-
-**Descripción**: Constante obsoleta (se conserva por compatibilidad únicamente). Se recomienda utilizar los comandos [WEB SET OPTION](web-set-option.md) y [WEB GET OPTION](web-get-option.md) para la configuración del servidor HTTP.
+**Descripción**: *Constante obsoleta (se conserva por compatibilidad únicamente).* Se recomienda utilizar los comandos [WEB SET OPTION](web-set-option.md) y [WEB GET OPTION](web-get-option.md) para la configuración del servidor HTTP.
@@ -428,7 +416,7 @@ Valores posibles: todo valor de tipo entero largo
**Alcance**: 4D Server
- Se conserva entre dos sesiones: no
+ Se conserva entre dos **sesiones**: no
**Valores posibles**: entero largo positivo.
@@ -442,8 +430,6 @@ Para que sea tenido en cuenta, este parámetro debe ejecutarse en el equipo serv
-
-
### Idle connections timeout (54)
**Alcance**: aplicación 4D a menos que valor sea negativo
@@ -452,7 +438,7 @@ Para que sea tenido en cuenta, este parámetro debe ejecutarse en el equipo serv
**Valores posibles:** valor entero que expresa una duración en segundos. El valor puede ser positivo (nuevas conexiones) o negativo (conexiones existentes). Por defecto, el valor es 20.
-**Descripción**: máximo periodo de inactividad (timeout) para conexiones al motor de la base 4D y al motor SQL, así como también en modo *ServerNet* (nueva capa de red), al servidor de la aplicación 4D. Cuando una conexión inactiva alcanza este límite, se pone en espera automáticamente, lo cual congela la sesión cliente/servidor y cierra el socket de red. En la ventana de administración del servidor, el estado del proceso del usuario se indica como "Postponed". Este funcionamiento es totalmente transparente para el usuario: tan pronto como hay una nueva actividad en la conexión que está en espera, el socket se reabre automáticamente y la sesión cliente/servidor se restaura.
+**Descripción**: máximo periodo de inactividad para conexiones al motor de la base 4D, el motor SQL y el servidor de aplicaciones 4D (capa de red *ServerNet* únicamente, ignorado en *QUIC*). Cuando una conexión inactiva alcanza este límite, se pone en espera automáticamente, lo cual congela la sesión cliente/servidor y cierra el socket de red. En la ventana de administración del servidor, el estado del proceso del usuario se indica como "Postponed". Este funcionamiento es totalmente transparente para el usuario: tan pronto como hay una nueva actividad en la conexión que está en espera, el socket se reabre automáticamente y la sesión cliente/servidor se restaura.
Este parámetro permite, por una parte, economizar los recursos en el servidor: las conexiones en espera cierran el socket y liberan un proceso en el servidor. Por otra parte, esto le permite evitar pérdida de conexiones por el cierre de sockets por parte del firewall. Por esta razón, el valor del timeout para conexiones inactivas deber ser menor que el del firewall en este caso.
@@ -464,7 +450,7 @@ Este parámetro puede definirse del lado del cliente. Por lo general, no necesit
### PHP interpreter IP address (55)
-**Alcance**: Aplicación 4D
+**Alcance**: aplicación 4D
Se conserva entre dos **sesiones**: no
@@ -478,9 +464,9 @@ Para mayor información sobre el intérprete PHP, por favor consulte el manual d
### PHP interpreter port (56)
-**Alcance**:Aplicación 4D
+**Alcance**: aplicación 4D
- **Se conserva entre dos sesiones**: No
+ **Se conserva entre dos sesiones**: no
**Valores**: valor de tipo entero largo positivo. Por defecto, el valor es 8002\.
@@ -496,9 +482,7 @@ Se conserva entre dos sesiones: No
**Valores posibles**: secuencia de cadenas separadas por dos puntos.
-**Description:** **Descripción:** lista de cifrado (*cipher list*) utilizada por 4D para el protocolo seguro. Esta lista modifica la prioridad de los algoritmos de cifrado implementados por 4D. Por ejemplo, puede pasar la siguiente cadena en el parámetro *valor*: "HIGH:!aNULL:!MD5:!3DES:!CAMELLIA:!AES128:!RSA:!DH:!RC4".
-
-Para una descripción completa de la sintaxis para la lista cifrada, consulte la *página de cifrado del sitio OpenSSL*.
+**Descripción:** lista de cifrado (*cipher list*) utilizada por 4D para el protocolo seguro. Esta lista modifica la prioridad de los algoritmos de cifrado implementados por 4D. Por ejemplo, puede pasar la siguiente cadena en el parámetro *valor*: "HIGH:!aNULL:!MD5:!3DES:!CAMELLIA:!AES128:!RSA:!DH:!RC4". Para una descripción completa de la sintaxis para la lista cifrada, consulte la *página de cifrado del sitio OpenSSL*.
Esta configuración se aplica al servidor web principal (excluyendo los objetos del servidor web), al servidor SQL, a las conexiones cliente/servidor, así como al cliente HTTP y a todos los comandos 4D que hacen uso del protocolo seguro. Es temporal (no se mantiene entre sesiones).
@@ -512,9 +496,9 @@ Para reinicializar la lista de cifrado a su valor por defecto (guardado permanen
### Cache unload minimum size (66)
-**Alcance**: Aplicación 4D
+**Alcance**: aplicación 4D
-**Se conserva entre dos sesiones**: No
+**Se conserva entre dos sesiones**: no
**Valores posibles**: Entero largo positivo > 1.
@@ -522,16 +506,6 @@ Para reinicializar la lista de cifrado a su valor por defecto (guardado permanen
El propósito de este selector es reducir el número de liberaciones de datos de la caché con el fin de obtener un mejor rendimiento. Puede hacer variar este parámetro en función del tamaño de la caché y del de los bloques de datos manipulados en su base.
-Por defecto, si este selector no se utiliza, 4D descarga mínimo 10% de la caché en caso de que se necesite espacio.Alcance: Aplicación 4D
-
-Se conserva entre dos sesiones: No
-
-Valores posibles: Entero largo positivo > 1.
-
-Descripción: tamaño mínimo de memoria a liberar del caché de la base de datos cuando el motor necesita hacer espacio para ubicar un objeto (valor en bytes).
-
-El propósito de este selector es reducir el número de liberaciones de datos de la caché con el fin de obtener un mejor rendimiento. Puede hacer variar este parámetro en función del tamaño de la caché y del de los bloques de datos manipulados en su base.
-
Por defecto, si este selector no se utiliza, 4D descarga mínimo 10% de la caché en caso de que se necesite espacio.
@@ -540,7 +514,7 @@ Por defecto, si este selector no se utiliza, 4D descarga mínimo 10% de la cach
**Alcance**: aplicación 4D
-**Se conserva entre dos sesiones**: No
+**Se conserva entre dos sesiones**: no
**Descripción**: modo de activación de Direct2D bajo Windows.
@@ -578,7 +552,7 @@ Por ejemplo, si ejecuta:
### Diagnostic log recording (79)
-**Thread-safe** : Yes
+**Hilo seguro**: sí
**Alcance**: Aplicación 4D
@@ -596,17 +570,19 @@ Note que es posible incluir la información personalizada en este archivo con ay
### Log command list (80)
-**Alcance**: Aplicación 4D
+**Alcance**: aplicación 4D
-**Se conserva entre dos sesiones**: No
+**Se conserva entre dos sesiones**: no
**Valores posibles**: cadena que contiene la lista de números de los comandos 4D a guardar (separados por dos puntos), "all" para guardar todos los comandos o "" (cadena vacía) para no guardar ninguno.
**Descripción**: la lista de comandos 4D a guardar en el archivo de depuración (ver el selector 34, Debug Log Recording). Por defecto, se guardan todos los comandos 4D.
-Este selector permite guardar la cantidad de información almacenada en el archivo de depuración limitando los comandos 4D donde quiera guardar la ejecución.
-
+Este selector restringe la cantidad de información guardada en el archivo de depuración limitando los comandos 4D cuya ejecución desea registrar o excluir del registro. Por ejemplo, puede escribir:
+ SET DATABASE PARAMETER(Log command list;"277;341") //Grabar solo los comandos QUERY y QUERY SELECTION O SET DATABASE PARAMETER(Log command list;"-1666;-323") //Excluir SET USER ALIAS y DELAY PROCESS commands from being recorded
+
+
### Spellchecker (81)
@@ -622,11 +598,11 @@ Este selector permite guardar la cantidad de información almacenada en el archi
### Dates inside objects (85)
-**Alcance**: Proceso actual
+**Alcance**: proceso actual
- **Se conserva entre dos sesiones:** No**
+ **Se conserva entre dos sesiones**: no
- Valores posibles**: String type without time zone (0), String type with time zone (1), Date type (2) (por defecto)
+ **Valores posibles**: String type without time zone (0), String type with time zone (1), Date type (2) (por defecto)
**Descripción**: define la forma en que se almacenan las fechas dentro de los objetos, así como también cómo se importan / exportan en JSON.
@@ -636,15 +612,13 @@ Si pasa String type with time zone en este selector, convertirá las fechas 4D e
-
-
### Diagnostic log level (86)
-**Thread-safe** : Yes
+**Hilo seguro**: sí
-**Alcance**: Aplicación 4D
+**Alcance**: aplicación 4D
-**Se conserva entre dos sesiones**: No
+**Se conserva entre dos sesiones**: no
**Descripción**: nivel(es) de los mensajes que se incluirán en el registro de diagnóstico cuando esté habilitado (ver selector Diagnostic log recording). Cada nivel designa una categoría de mensajes de diagnóstico e incluye automáticamente las categorías más importantes. Para una descripción de las categorías, consulte la sección *Niveles de registro de diagnóstico* en *developer.4d.com*.
@@ -656,15 +630,11 @@ Si pasa String type with time zone en este selector, convertirá las fechas 4D e
**Alcance:** 4D en modo local, 4D Server**
-Se conserva entre dos sesiones:** sí**
+**Se conserva entre dos sesiones:** sí**
-** **Descripción:** fija u obtiene el estado actual de la capa de red antigua para las conexiones cliente/servidor.
+ **Descripción:** fija u obtiene el estado actual de la capa de red antigua para las conexiones cliente/servidor. La capa de red antigua es obsoleta a partir de 4D v14 R5 y debe ser reemplazada progresivamente en sus aplicaciones por la capa de red *ServerNet*. *ServerNet* será requerida en próximas versiones 4D con el fin de beneficiarse de las futuras evoluciones de la red. Por razones de compatibilidad, la capa de red antigua aún se soporta para permitir una transición sin problemas para las aplicaciones existentes; (se usa por defecto en aplicaciones convertidas de una versión anterior a v14 R5). Pase 1 en este parámetro para utilizar la capa de red antigua (y desactivar *ServerNet*) para las conexiones cliente/servidor, y pase 0 para deshabilitar la red antigua (y utilizar *ServerNet*).
-La capa de red antigua es obsoleta a partir de 4D v14 R5 y debe ser reemplazada progresivamente en sus aplicaciones por la capa de red *ServerNet*. *ServerNet* será requerida en próximas versiones 4D con el fin de beneficiarse de las futuras evoluciones de la red. Por razones de compatibilidad, la capa de red antigua aún se soporta para permitir una transición sin problemas para las aplicaciones existentes; (se usa por defecto en aplicaciones convertidas de una versión anterior a v14 R5). Pase 1 en este parámetro para utilizar la capa de red antigua (y desactivar *ServerNet*) para las conexiones cliente/servidor, y pase 0 para deshabilitar la red antigua (y utilizar *ServerNet*).
-
-Esta propiedad también se puede definir mediante la opción "Usar capa de red antigua " que se encuentran en *Página Compatibilidad* de las Propiedades de la base (ver *Opciones red y cliente-servidor*). En esta sección, también puede encontrar una discusión sobre la estrategia de migración. Le recomendamos que active *ServerNet* tan pronto como sea posible.
-
-Deberá reiniciar la aplicación para que este parámetro sea tenido en cuenta. No está disponible en 4D Server v14 R5 64-bit versión para macOS, que sólo soporta el *ServetNet*; (siempre devuelve 0).
+Esta propiedad también se puede definir mediante la opción "Usar capa de red antigua " que se encuentran en *Página Compatibilidad* de las Propiedades de la base (ver *Opciones red y cliente-servidor*). En esta sección, también puede encontrar una discusión sobre la estrategia de migración. Le recomendamos que active *ServerNet* tan pronto como sea posible. Deberá reiniciar la aplicación para que este parámetro sea tenido en cuenta. No está disponible en 4D Server v14 R5 64-bit versión para macOS, que sólo soporta el *ServetNet*; (siempre devuelve 0).
**Valores posibles:** 0 o 1 (0 = no utilizan capa de red antigua, 1 = uso capa de red antigua)
@@ -676,7 +646,7 @@ Deberá reiniciar la aplicación para que este parámetro sea tenido en cuenta.
**Alcance**: 4D modo local y 4D Server.
-: Sí
+**Se conserva entre dos sesiones:** sí**
**Descripción**: permite leer o definir el número del puerto TCP utilizado por el servidor SQL integrado de 4D en modo local o 4D Server. Por defecto, el valor es 19812\. Cuando se define este selector, la configuración de la base se actualiza. También puede definir el número del puerto TCP en la página "SQL" de la caja de diálogo de Propiedades de la base.
@@ -688,7 +658,7 @@ Deberá reiniciar la aplicación para que este parámetro sea tenido en cuenta.
### Circular log limitation (90)
-**Thread-safe** : Yes
+**Hilo seguro**: sí
**Alcance**: 4D local, 4D Server.
@@ -726,7 +696,7 @@ Deberá reiniciar la aplicación para que este parámetro sea tenido en cuenta.
### Cache flush periodicity (95)
-**Thread-safe** : Yes
+**Hilo seguro**: sí
**Alcance**: 4D local, 4D Server
@@ -753,13 +723,11 @@ El tiempo de espera de la conexión remota se aplica después de que una máquin
-
-
### Tips enabled (101)
**Alcance**: aplicación 4D
-**Se conserva entre dos sesiones**: No
+**Se conserva entre dos sesiones**: no
**Valores posibles**: 0 = consejos desactivados, 1 = consejos activados (predeterminado)
@@ -811,10 +779,6 @@ Tenga en cuenta que este parámetro define todos los consejos 4D, es decir, los
-
-
-
-
### User param value (108)
**Alcance**: 4D local, 4D Server
@@ -833,7 +797,7 @@ Cuando se utiliza con [SET DATABASE PARAMETER](set-database-parameter.md), defin
Alcance: 4D local, 4D Server (todos los procesos)
- Se conserva entre dos sesiones: No
+ Se conserva entre dos **sesiones**: No
**Valores posibles**: Times in seconds (0) (predeterminado), Times in milliseconds (1)
@@ -847,11 +811,11 @@ En versiones anteriores, los valores de tiempo se convertían y almacenaban como
### SMTP Log (110)
-**Thread-safe** : Yes
+**Hilo seguro**: sí
**Alcance**: 4D local, 4D Server*
-* **Se conserva entre dos sesiones**: No
+* **Se conserva entre dos sesiones**: no
**Valores posibles**: 0 o de 1 a X (0 = no grabar, 1 a X = número secuencial, agregado al nombre del archivo). De forma predeterminada, el valor es 0 (intercambios SMTP no registrados).
@@ -867,7 +831,11 @@ Para obtener más información sobre los archivos 4DSMTPLog\_X.txt, consulte la
**Se conserva entre dos sesiones:** No
-**Descripción**: inicia o detiene el registro secuencial de eventos de programación **del proceso actual** en un archivo de historial separado. Este historial es similar al Debug log recording (selector 34) pero se enfoca solo en el proceso actual. El nombre del archivo de historial incluye la letra "p" y el número del proceso: 4DDebugLog\[\_p*N*_*n*].txt, donde N es el ID único del proceso. Para más información sobre este formato y sobre el uso del archivo *4DDebugLog*, consulte *Descripción de archivos de historial* en el Modo Diseño. **Notas:** Este selector se proporciona únicamente con el fin de depurar y debe utilizarse con cuidado. En particular, no debe ponerse en producción, ya que puede tener un impacto en el rendimiento de la aplicación. Puede utilizarar ambos selectores Debug log recording y Current process debug log recording simultáneamente, en cuyo caso las acciones del proceso actual no se registrarán en el archivo de historial principal.
+**Descripción**: inicia o detiene el registro secuencial de eventos de programación **del proceso actual** en un archivo de historial separado. Este historial es similar al Debug log recording (selector 34) pero se enfoca solo en el proceso actual. El nombre del archivo de historial incluye la letra "p" y el número del proceso: 4DDebugLog\[\_p*N*_*n*].txt, donde N es el ID único del proceso.
+
+Para más información sobre este formato y sobre el uso del archivo *4DDebugLog*, consulte *Descripción de archivos de historial* en el Modo Diseño.
+
+**Notas:** Este selector se proporciona únicamente con el fin de depurar y debe utilizarse con cuidado. En particular, no debe ponerse en producción, ya que puede tener un impacto en el rendimiento de la aplicación. Puede utilizarar ambos selectores Debug log recording y Current process debug log recording simultáneamente, en cuyo caso las acciones del proceso actual no se registrarán en el archivo de historial principal.
@@ -913,7 +881,7 @@ Para obtener más información sobre los archivos 4DSMTPLog\_X.txt, consulte la
### POP3 Log (116)
-**Thread-safe** : Yes
+**Hilo seguro**: sí
**Alcance:** 4D local, 4D Server
@@ -921,7 +889,7 @@ Para obtener más información sobre los archivos 4DSMTPLog\_X.txt, consulte la
**Valores posibles:** 0 o de 1 a X (0 = no registrar, 1 a X = número secuencial, agregado al nombre del archivo). Por defecto, el valor es 0 (intercambios POP3 no registrados).
-: iInicia o detiene la grabación de intercambios entre 4D y el servidor POP3, cuando un objeto transportador se procesa a través de *POP3\_transporter.getMail( )* o *POP3\_transporter.checkConnection( )*. Por defecto, el valor es 0 (intercambios no registrados). Cuando este mecanismo está habilitado, se crea un archivo de registro en la carpeta Logs de la base. Se llama 4DPOP3Log\_X.txt, donde X es el número secuencial del registro. Una vez que el archivo 4DPOP3Log ha alcanzado un tamaño de 10 MB, se cierra y se genera uno nuevo, con un número secuencial incrementado. Si ya existe un archivo con el mismo nombre, se reemplaza directamente. Puede establecer el número inicial de la secuencia utilizando el parámetro valor. De manera predeterminada, todos los archivos se mantienen, pero puede controlar la cantidad de archivos que se deben seguir utilizando el parámetro Circular log limitation.
+**Descripción**: inicia o detiene la grabación de intercambios entre 4D y el servidor POP3, cuando un objeto transportador se procesa a través de *POP3\_transporter.getMail( )* o *POP3\_transporter.checkConnection( )*. Por defecto, el valor es 0 (intercambios no registrados). Cuando este mecanismo está habilitado, se crea un archivo de registro en la carpeta Logs de la base. Se llama 4DPOP3Log\_X.txt, donde X es el número secuencial del registro. Una vez que el archivo 4DPOP3Log ha alcanzado un tamaño de 10 MB, se cierra y se genera uno nuevo, con un número secuencial incrementado. Si ya existe un archivo con el mismo nombre, se reemplaza directamente. Puede establecer el número inicial de la secuencia utilizando el parámetro valor. De manera predeterminada, todos los archivos se mantienen, pero puede controlar la cantidad de archivos que se deben seguir utilizando el parámetro Circular log limitation.
Para más información sobre los archivos 4DPOP3Log\_X.txt, consulte la sección *Descripción de archivos de historial*.
@@ -939,7 +907,7 @@ Para más información sobre los archivos 4DPOP3Log\_X.txt, consulte la sección
### IMAP Log (119)
-**Thread-safe** : Yes
+**Hilo seguro**: sí
**Alcance**: 4D local, 4D Server
@@ -965,7 +933,7 @@ Para más información sobre los archivos 4DIMAPLog\_X.txt, consulte la sección
### Pause logging (121)
-**Thread-safe** : Yes
+**Hilo seguro**: sí
**Alcance**: aplicación 4D
@@ -977,6 +945,29 @@ Este selector permite suspender/reanudar todas las operaciones de registro inici
+### TCPUDP log recording (131)
+
+**Alcance**: aplicación 4D
+
+**Se mantiene entre dos sesiones**: no
+
+**Valores posibles:** `0`: Logging desactivado (por defecto), `1`: Logging activado.
+
+**Descripción:** activa o desactiva el archivo `4DTCPUDPLog.txt` para los eventos logging TCP.
+
+
+
+### RDP optimization
+
+**Alcance**: aplicación 4D
+
+**Se mantiene entre dos sesiones**: no
+
+**Valores posibles:** `0`: Disabled (default), `1`: Enabled.
+
+**Descripción:** Activa o desactiva las optimizaciones para RDP (Protocolo de escritorio remoto). Cuando está activado, optimiza en particular el uso del portapapeles compartido en las conexiones RDP, que de otro modo pueden provocar problemas de congelación. Tenga en cuenta que este selector desactiva la compatibilidad en el portapapeles para imágenes codificadas como URI de datos en texto sin formato (solo afecta a las imágenes que se sueltan o se copian explícitamente como texto desde un navegador).
+
+
## Selectores hilo seguro
@@ -1032,5 +1023,3 @@ En el [Método base On Startup](metodo-base-on-startup.md), usted escribe:
| --- | --- |
| Número de comando | 643 |
| Hilo seguro | ✗ |
-
-
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/commands-legacy/set-database-parameter.md b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/commands-legacy/set-database-parameter.md
index 90f91fef5be0e4..b2223dee64a5c1 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/commands-legacy/set-database-parameter.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/commands-legacy/set-database-parameter.md
@@ -25,7 +25,7 @@ El *selector* designa el parámetro a modificar. 4D ofrece constantes predefinid
**Alcance**: aplicación 4D si *valor* positivo
-Se conserva entre dos **sesiones**: sí si *valor* positivo
+**Se conserva entre dos sesiones**: sí si *valor* positivo
**Valores posibles**: 0 -> 32 767
@@ -33,8 +33,6 @@ Se conserva entre dos **sesiones**: sí si *valor* positivo
El timeout del servidor define el periodo máximo de no respuesta del cliente "autorizado", por ejemplo si realiza una operación de bloqueo. Al terminar esta periodo, 4D Server desconecta al cliente. El selector 4D Server Timeout le permite asignar en el parámetro *valor*un nuevo timeout, expresado en minutos. Esta funcionalidad es particularmente útil para aumentar el valor del timeout antes de la ejecución en el equipo cliente de una operación de larga duración, tal como la impresión de un gran número de páginas, la cual puede causar un timeout inesperado.
-
-
Tiene dos opciones:
Si pasa un valor **positivo** en el parámetro *valor*, define un timeout global y permanente: el nuevo valor se aplica a todos los procesos y se almacena en las Preferencias de la aplicación 4D (equivalente a cambiar en el diálogo Preferencias).Si pasa un valor **negativo** en el parámetro *valor*, define un timeout lobal y temporal: el nuevo valor se aplica únicamente a los procesos llamantes (los otros procesos conservan los valores por defecto) y se restaura al valor por defecto tan pronto como el servidor recibe una señal de actividad del cliente, por ejemplo, cuando la operación termina. Esta opción es muy útil para administrar operaciones largas iniciadas por plug-ins 4D. Para definir una conexión "Sin timeout", pase 0 en *valor*. Ver el ejemplo 1.
@@ -57,27 +55,21 @@ El selector Timeout 4D mode distant no se tiene en cuenta si utiliza la antigua
**Alcance**: 4D local, 4D Server
-Se conserva entre dos **sesiones**: no
-
-**Descripción**: Command SET DATABASE Número de puerto TCP utilizado por el servidor web 4D con 4D en modo local y 4D Server. Por defecto, el valor es 80.
+**Se conserva entre dos sesiones**: no
-El número de puerto TCP está definido en la página "Web/Configuración" de la caja de diálogo de las Propiedades de la base. Puede utilizar las constantes del tema para el parámetro *valor*.
+**Descripción**: Command SET DATABASE Número de puerto TCP utilizado por el servidor web 4D con 4D en modo local y 4D Server. El valor por defecto, que puede ser definido en la página "Web/Configuración" de la caja de diálogo Preferencias, es 80. Puede utilizar las constantes del tema *Números de puerto TCP* para el parámetro *valor*.
El selector Port ID se utiliza en el marco de servidores web 4D compilados y fusionados con 4D Desktop (sin acceso al modo Diseño). Para mayor información sobre el número de puerto TCP, consulte la sección *Parámetros del servidor web*
-
-
### Character set (17)
-**Alcance:** 4D local, 4D Server**
-
-Se conserva entre dos sesiones:** sí**
-
-Descripción:** constante obsoleta (se conserva por compatibilidad únicamente). Ahora recomendamos utilizar los comandos [WEB SET OPTION](web-set-option.md) y [WEB GET OPTION](web-get-option.md) para la configuración del servidor HTTP.
+**Alcance:** 4D local, 4D Server
+**Se conserva entre dos sesiones**: sí
+**Descripción:** constante obsoleta (se conserva por compatibilidad únicamente). Ahora recomendamos utilizar los comandos [WEB SET OPTION](web-set-option.md) y [WEB GET OPTION](web-get-option.md) para la configuración del servidor HTTP.
@@ -85,11 +77,9 @@ Descripción:** constante obsoleta (se conserva por compatibilidad únicamente).
**Alcance**: 4D local, 4D Server
-Se conserva entre dos **sesiones**: sí
+**Se conserva entre dos sesiones**: sí
-**Valores**: todo valor entre 10 y 32 000\. El valor por defecto es 100.
-
-**Descripción**: Constante obsoleta (se conserva por compatibilidad únicamente). Se recomienda utilizar los comandos [WEB SET OPTION](web-set-option.md) y [WEB GET OPTION](web-get-option.md) para la configuración del servidor HTTP.
+**Descripción**: *constante obsoleta (se conserva por compatibilidad únicamente).* Se recomienda utilizar los comandos [WEB SET OPTION](web-set-option.md) y [WEB GET OPTION](web-get-option.md) para la configuración del servidor HTTP.
@@ -97,7 +87,7 @@ Se conserva entre dos **sesiones**: sí
**Alcance**: todos los equipos 4D remotos
- Se conserva entre dos **sesiones**: sí
+ **Se conserva entre dos sesiones**: sí
**Valores posibles**: ver selector 15
@@ -109,7 +99,7 @@ Se conserva entre dos **sesiones**: sí
**Alcance**: todos los equipos 4D remotos
- Se conserva entre dos **sesiones**: sí
+ **Se conserva entre dos sesiones**: sí
**Valores posibles**: ver selector 17
@@ -121,23 +111,19 @@ Se conserva entre dos **sesiones**: sí
**Alcance**: todos los equipos 4D remotos
-Se conserva entre dos **sesiones**: sí
+**Se conserva entre dos sesiones**: sí
-Valores posibles: ver selector 18
+**Valores posibles**: ver selector 18
**Descripción**: permite especificar esta parámetro para las máquinas 4D remotas utilizadas como servidores web. Los valores definidos utilizando estos selectores se aplican a todos los equipos remotos utilizados como servidores web. Si quiere definir este valor sólo para ciertos equipos remotos, utilice la caja de diálogo de Preferencias de 4D en modo remoto.
-
-
### Maximum Web requests size (27)
**Alcance**: 4D local, 4D Server
-Se conserva entre dos **sesiones**: sí
-
-**Valores posibles**: 500 000 a 2 147 483 648.
+**Se conserva entre dos sesiones**: sí
**Descripción**: Constante obsoleta (se conserva por compatibilidad únicamente). Se recomienda utilizar los comandos [WEB SET OPTION](web-set-option.md) y [WEB GET OPTION](web-get-option.md) para la configuración del servidor HTTP.
@@ -145,13 +131,13 @@ Se conserva entre dos **sesiones**: sí
### 4D Server log recording (28)
-**Thread-safe** : Yes
+**Hilo seguro**: sí
**Alcance**: 4D Server, 4D remoto*
-* Se conserva entre dos **sesiones**: no
+**Se conserva entre dos sesiones**: no
- **Valores** **posibles**: 0 ó de 1 a X (0 = no grabar, 1 a X = número secuencial, añadido al nombre del archivo).
+ **Valores posibles**: 0 ó de 1 a X (0 = no grabar, 1 a X = número secuencial, añadido al nombre del archivo).
**Descripción**: inicia o detiene la grabación de las peticiones estándar recibidas por 4D Server (excluyendo las peticiones web). Por defecto, el valor es 0 (no se graban las peticiones).
@@ -159,13 +145,11 @@ Se conserva entre dos **sesiones**: sí
Este archivo texto almacena en formato tabulado simple diferente información sobre cada petición: hora, número de proceso, usuario, tamaño de la petición, duración del proceso, etc. Esta información puede ser útil particularmente durante la fase de afinamiento de la aplicación o con fines estadísticos. Por ejemplo puede importarse, en un software de hoja de cálculo para procesarse.
-
-
### Client Web log recording (30)
**Alcance**: todos los equipos 4D remotos
- Se conserva entre dos **sesiones**: sí
+ **Se conserva entre dos sesiones**: sí
**Valores posibles**: 0 = No grabar (por defecto), 1 = Registrar en formato CLF, 2 = Registrar en formato DLF, 3 = Registrar en formato ELF, 4 = Registrar en formato WLF.
@@ -177,9 +161,9 @@ El funcionamiento de este selector es idéntico al del selector 29; sin embargo,
### Table sequence number (31)
-**Alcance**: *a*plicación 4D
+**Alcance**: aplicación 4D
- Se conserva entre dos **sesiones**: sí
+ **Se conserva entre dos sesiones**: sí
**Valores posibles**: todo valor de tipo entero largo.
@@ -189,21 +173,21 @@ Por defecto, este número único es definido por 4D y corresponde al orden de cr
+### Debug log recording (34)
+**Hilo seguro**: sí
+**Alcance**: aplicación 4D
+**Se conserva entre dos sesiones**: no
-### Debug log recording (34)
-
-**Thread-safe** : Yes
-
-**Alcance**: Aplicación 4D
+**Descripción**: inicia o detiene la grabación secuencial de los eventos a nivel de programación de 4D en el archivo 4DDebugLog, que se ubica automáticamente en la subcarpeta Logs de la base de datos, junto al archivo de estructura. Un nuevo formato texto tabulado, más compacto se utiliza en el archivo de registro de eventos "4DDebugLog \[\_n\].txt" a partir de 4D v14 (donde \_n es el número de segmento del archivo y *Server* se añade al nombre del archivo cuando se genera en el servidor). Hay dos modos disponibles:
-**Se conserva entre dos sesiones**: No
+- El modo estándar ofrece una vista básica de los eventos y el archivo se coloca automáticamente en la subcarpeta Logs de la base de datos, junto al archivo de estructura. Los tiempos de ejecución se expresan en milisegundos y se muestra el valor "< ms" cuando una operación dura menos de un milisegundo.
-**Descripción**: inicia o detiene la grabación secuencial de los eventos a nivel de programación de 4D en el archivo 4DDebugLog, que se ubica automáticamente en la subcarpeta Logs de la base de datos, junto al archivo de estructura. Un nuevo formato texto tabulado, más compacto se utiliza en el archivo de registro de eventos "4DDebugLog \[\_n\].txt" a partir de 4D v14 (donde \_n es el número de segmento del archivo).
+- El modo con pestañas ofrece información adicional y utiliza un formato más compacto con pestañas en el archivo. Los tiempos de ejecución se expresan en microsegundos.
-**Valores posibles**: Entero largo contiene un campo de bits: valor = bit1(1)+bit2(2)+bit3(4)+bit4(8)+…).
+**Valores posibles**: entero largo contiene un campo de bits: valor = bit1(1)+bit2(2)+bit3(4)+bit4(8)+…).
- Bit 0 (valor 1) permite activar el archivo (note que cualquier otro valor no nulo también lo activará)
@@ -225,13 +209,21 @@ SET DATABASE PARAMETER (34;2) // activa el modo estándar con los parámetros y
SET DATABASE PARAMETER (34;2+4) // activa el modo tabulado con los parámetros y las duraciones
-SET DATABASE PARAMETER (34;0) // desactiva el archivo Para todo tipo de aplicación 4D interpretada o compilada (4D todos los modos, 4D Server, 4D Volume Desktop), puede evitar que un archivo registre demasiada información:
+SET DATABASE PARAMETER (34;0) // desactiva el archivo
+
+Para todo tipo de aplicación 4D interpretada o compilada (4D todos los modos, 4D Server, 4D Volume Desktop), puede evitar que un archivo registre demasiada información:
- restringiendo los comandos 4D que se examinan utilizando Log command list (selector 80), o
- restringiéndolo sólo al proceso actual con Current process debug log recording (selector 111). Esto añadirá la letra "p" y el número de proceso al nombre del archivo: *4DDebugLog\[\_pn\_n\].txt* o *4DDebugLogServer\[\_pn\_n\].txt*
-Para más información sobre este formato y sobre el uso del archivo *4DDebugLog*, consulte la sección *Descripción de archivos de historial*. **Nota:** este selector se ofrece únicamente con fines de depuración y debe utilizarse con cuidado, ya que puede afectar al rendimiento de la aplicación.
+*Para más información sobre este formato y sobre el uso del archivo *4DDebugLog*, consulte la sección *Descripción de archivos de historial*.
+
+Este selector se ofrece únicamente con fines de depuración y debe utilizarse con cuidado, ya que puede afectar al rendimiento de la aplicación.
+
+
+
+
@@ -239,9 +231,9 @@ Para más información sobre este formato y sobre el uso del archivo *4DDebugLog
**Alcance**: base de datos
-Se conserva entre dos **sesiones**: sí**
+**Se conserva entre dos sesiones**: sí
-Valores posibles**: 0 a 65535
+**Valores posibles**: 0 a 65535
**Descripción**: número de puerto TCP donde el servidor 4D publica la base de datos (para conexión remota 4D). Por defecto, el valor es 19813\.
@@ -257,17 +249,17 @@ Cuando modifica este valor, es necesario reiniciar el equipo servidor para que e
**Alcance**: 4D local, 4D Server
-Se conserva entre dos **sesiones**: sí
+**Se conserva entre dos sesiones**: sí
-**Descripción**: Constante obsoleta (se conserva por compatibilidad únicamente). Se recomienda utilizar los comandos [WEB SET OPTION](web-set-option.md) y [WEB GET OPTION](web-get-option.md) para la configuración del servidor HTTP.
+**Descripción**: *constante obsoleta (se conserva por compatibilidad únicamente).* Se recomienda utilizar los comandos [WEB SET OPTION](web-set-option.md) y [WEB GET OPTION](web-get-option.md) para la configuración del servidor HTTP.
### Client HTTPS port ID (40)
-**Alcance**:todos los equipos 4D remotos
+**Alcance**: todos los equipos 4D remotos
- Se conserva entre dos **sesiones**: sí
+ **Se conserva entre dos sesiones**: sí
**Valores posibles**: 0 a 65535
@@ -279,13 +271,11 @@ Este selector funciona exactamente igual que el selector 39; sin embargo, aplica
-
-
### SQL Autocommit (43)
-**Alcance**:base de datos
+**Alcance**: base de datos
- Se conserva entre dos **sesiones**: sí
+ **Se conserva entre dos sesiones**: sí
**Posibles valores**: 0 (desactivación) o 1 (activación)
@@ -297,9 +287,9 @@ Este selector funciona exactamente igual que el selector 39; sin embargo, aplica
### SQL Engine case sensitivity (44)
-**Alcance**:base de datos
+**Alcance**: base de datos
- Se conserva entre dos sesiones: sí
+ **Se conserva entre dos sesiones**: sí
**Valores posibles**: 0 (no se tienen en cuenta las mayúsculas y minúsculas) ó 1 (sensible a las mayúsculas y minúsculas)
@@ -315,7 +305,7 @@ Esta opción también puede definirse en la [CALL SUBFORM CONTAINER](call-subfor
**Alcance**:equipo 4D remoto
- Se conserva entre dos **sesiones**: no
+ **Se conserva entre dos sesiones**: no
**Valores posibles**: 0 ó de 1 a X (0 = no grabar, 1 a X = número secuencial, asociado al nombre del archivo).
@@ -331,7 +321,7 @@ Estos archivos texto almacenan en formato tabulado simple diferente información
**Alcance**: tabla y procesos actuales
- Se conserva entre dos **sesiones**: no
+ **Se conserva entre dos sesiones**: no
**Valores posibles**: 0 (utilizar la configuración de la base), 1 (ejecutar en cliente) o 2 (ejecutar en servidor)
@@ -341,9 +331,11 @@ Cuando se utiliza una base en modo cliente-servidor, los comandos de búsqueda "
en bases creadas con 4D v11 SQL, estos comandos se ejecutan en el servidor.en bases convertidas, estos comandos se ejecutan en el equipo cliente, como en las versiones anteriores de 4D.en las bases convertidas, una preferencia específica permite modificar globalmente la ubicación de ejecución de estos comandos.Esta diferencia en ubicación de ejecución influye no sólo en el rendimiento de la aplicación (la ejecución en el servidor es generalmente más rápida) sino también en la programación. En efecto, el valor de los componentes de la fórmula (en particular las variables llamadas vía un método) varía de acuerdo al contexto de ejecución. Puede utilizar este selector para adaptar puntualmente el funcionamiento de su aplicación.
-Si pasa 0 en el parámetro *valor*, la ubicación de ejecución de los comandos de búsqueda "por fórmula" dependerá de la configuración de la base: en bases creadas con 4D v11 SQL, estos comandos se ejecutarán en el servidor. En bases convertidas, se ejecutarán en el equipo cliente o en el servidor en función de las preferencias de la base. Pase 1 ó 2 en *valor* para "forzar" la ejecución de estos comandos respectivamente en el equipo cliente o en el servidor. Consulte el ejemplo 2.
+Si pasa 0 en el parámetro *valor*, la ubicación de ejecución de los comandos de búsqueda "por fórmula" dependerá de la configuración de la base: en bases creadas con 4D v11 SQL, estos comandos se ejecutarán en el servidor. En bases convertidas, se ejecutarán en el equipo cliente o en el servidor en función de las preferencias de la base. Pase 1 ó 2 en *valor* para "forzar" la ejecución de estos comandos respectivamente en el equipo cliente o en el servidor.
- si quiere activar las uniones "tipo SQL" (consulte el selector QUERY BY FORMULA Joins selector), siempre debe ejecutar las fórmulas en el servidor de manera que tengan acceso a los registros. Atención, en este contexto, la fórmula no debe contener llamadas a un método, de lo contrario pasará automáticamente al equipo remoto.
+Consulte el ejemplo 2.
+
+**Nota:** si quiere activar las uniones "tipo SQL" (consulte el selector QUERY BY FORMULA Joins selector), siempre debe ejecutar las fórmulas en el servidor de manera que tengan acceso a los registros. Atención, en este contexto, la fórmula no debe contener llamadas a un método, de lo contrario pasará automáticamente al equipo remoto.
@@ -351,7 +343,7 @@ Si pasa 0 en el parámetro *valor*, la ubicación de ejecución de los comandos
**Alcance**: tabla y procesos actuales
- Se conserva entre dos **sesiones**: no
+ **Se conserva entre dos sesiones**: no
**Valores posibles**: 0 (utilizar la configuración de la base), 1 (ejecutar en el cliente) o 2 (ejecutar en el servidor)
@@ -359,9 +351,7 @@ Si pasa 0 en el parámetro *valor*, la ubicación de ejecución de los comandos
Al utilizar una base en modo cliente-servidor, el comando [ORDER BY FORMULA](order-by-formula.md "ORDER BY FORMULA") puede ejecutarse bien sea en el equipo servidor o en el cliente. Este selector puede utilizarse para especificar la ubicación de la ejecución de este comando (servidor o cliente). Este modo también puede definirse en las preferencias de la base. Para mayor información, consulte la descripción del selector 46, Query By Formula On Server.
-
-
- si quiere activar las uniones "tipo SQL" (consulte el selector QUERY BY FORMULA Joins selector), siempre debe ejecutar las fórmulas en el servidor de manera que tengan acceso a los registros. Atención, en este contexto, la fórmula no debe contener llamadas a un método, de lo contrario pasará automáticamente al equipo remoto.
+**Nota:** si quiere activar las uniones "tipo SQL" (consulte el selector QUERY BY FORMULA Joins selector), siempre debe ejecutar las fórmulas en el servidor de manera que tengan acceso a los registros. Atención, en este contexto, la fórmula no debe contener llamadas a un método, de lo contrario pasará automáticamente al equipo remoto.
@@ -369,9 +359,9 @@ Al utilizar una base en modo cliente-servidor, el comando [ORDER BY FORMULA](ord
**Alcance**:equipo 4D remoto
- Se conserva entre dos **sesiones**: no
+ **Se conserva entre dos sesiones**: no
- **Valores p** **osibles**: 0 (sin sincronización), 1 (auto sincronización) ó 2 (preguntar).
+ **Valores posibles**: 0 (sin sincronización), 1 (auto sincronización) ó 2 (preguntar).
**Descripción**: modo de sincronización dinámico de la carpeta *Resources* del equipo cliente 4D que ejecuta el comando con el servidor.
@@ -385,9 +375,9 @@ Tres modos de sincronización son posibles del lado del cliente. El selector Aut
### Query by formula joins (49)
-**Alcance**:Proceso actual
+**Alcance**: proceso actual
- Se conserva entre dos **sesiones**: no
+ **Se conserva entre dos sesiones**: no
**Valores posibles**: 0 (utilizar configuración de la base), 1 (siempre utilizar relaciones automáticas) o 2 (utilizar las uniones SQL si es posible).
@@ -405,9 +395,9 @@ El selector QUERY BY FORMULA Joins permite definir el modo de funcionamiento de
**Alcance**: aplicación 4D
-Se conserva entre dos **sesiones**: no
+**Se conserva entre dos sesiones**: no
-**Descripción**: Constante obsoleta (se conserva por compatibilidad únicamente). Se recomienda utilizar los comandos [WEB SET OPTION](web-set-option.md) y [WEB GET OPTION](web-get-option.md) para la configuración del servidor HTTP.
+**Descripción**: *constante obsoleta (se conserva por compatibilidad únicamente).* Se recomienda utilizar los comandos [WEB SET OPTION](web-set-option.md) y [WEB GET OPTION](web-get-option.md) para la configuración del servidor HTTP.
@@ -415,11 +405,9 @@ Se conserva entre dos **sesiones**: no
**Alcance**: aplicación 4D
-Se conserva entre dos **sesiones**: no
+**Se conserva entre dos sesiones**: no
-Valores posibles: todo valor de tipo entero largo
-
-**Descripción**: Constante obsoleta (se conserva por compatibilidad únicamente). Se recomienda utilizar los comandos [WEB SET OPTION](web-set-option.md) y [WEB GET OPTION](web-get-option.md) para la configuración del servidor HTTP.
+**Descripción**: *constante obsoleta (se conserva por compatibilidad únicamente).* Se recomienda utilizar los comandos [WEB SET OPTION](web-set-option.md) y [WEB GET OPTION](web-get-option.md) para la configuración del servidor HTTP.
@@ -427,7 +415,7 @@ Valores posibles: todo valor de tipo entero largo
**Alcance**: 4D Server
- Se conserva entre dos sesiones: no
+ **Se conserva entre dos sesiones**: no
**Valores posibles**: entero largo positivo.
@@ -441,8 +429,6 @@ Para que sea tenido en cuenta, este parámetro debe ejecutarse en el equipo serv
-
-
### Idle connections timeout (54)
**Alcance**: aplicación 4D a menos que valor sea negativo
@@ -451,7 +437,7 @@ Para que sea tenido en cuenta, este parámetro debe ejecutarse en el equipo serv
**Valores posibles:** valor entero que expresa una duración en segundos. El valor puede ser positivo (nuevas conexiones) o negativo (conexiones existentes). Por defecto, el valor es 20.
-**Descripción**: máximo periodo de inactividad (timeout) para conexiones al motor de la base 4D y al motor SQL, así como también en modo *ServerNet* (nueva capa de red), al servidor de la aplicación 4D. Cuando una conexión inactiva alcanza este límite, se pone en espera automáticamente, lo cual congela la sesión cliente/servidor y cierra el socket de red. En la ventana de administración del servidor, el estado del proceso del usuario se indica como "Postponed". Este funcionamiento es totalmente transparente para el usuario: tan pronto como hay una nueva actividad en la conexión que está en espera, el socket se reabre automáticamente y la sesión cliente/servidor se restaura.
+**Descripción**: máximo periodo de inactividad (timeout) para conexiones al motor de la base 4D, el motor SQL y el servidor de aplicaciones 4D (capa de red *ServerNet* únicamente, ignorado en *QUIC*). Cuando una conexión inactiva alcanza este límite, se pone en espera automáticamente, lo cual congela la sesión cliente/servidor y cierra el socket de red. En la ventana de administración del servidor, el estado del proceso del usuario se indica como "Postponed". Este funcionamiento es totalmente transparente para el usuario: tan pronto como hay una nueva actividad en la conexión que está en espera, el socket se reabre automáticamente y la sesión cliente/servidor se restaura.
Este parámetro permite, por una parte, economizar los recursos en el servidor: las conexiones en espera cierran el socket y liberan un proceso en el servidor. Por otra parte, esto le permite evitar pérdida de conexiones por el cierre de sockets por parte del firewall. Por esta razón, el valor del timeout para conexiones inactivas deber ser menor que el del firewall en este caso.
@@ -465,7 +451,7 @@ Este parámetro puede definirse del lado del cliente. Por lo general, no necesit
**Alcance**: Aplicación 4D
-Se conserva entre dos **sesiones**: no
+**Se conserva entre dos sesiones**: no
**Valores**: cadena formateada del tipo "nnn.nnn.nnn.nnn" (por ejemplo "127.0.0.1").
@@ -477,9 +463,9 @@ Para mayor información sobre el intérprete PHP, por favor consulte el manual d
### PHP interpreter port (56)
-**Alcance**:Aplicación 4D
+**Alcance**: aplicación 4D
- **Se conserva entre dos sesiones**: No
+ **Se conserva entre dos sesiones**: no
**Valores**: valor de tipo entero largo positivo. Por defecto, el valor es 8002\.
@@ -495,7 +481,7 @@ Se conserva entre dos sesiones: No
**Valores posibles**: secuencia de cadenas separadas por dos puntos.
-**Description:** **Descripción:** lista de cifrado (*cipher list*) utilizada por 4D para el protocolo seguro. Esta lista modifica la prioridad de los algoritmos de cifrado implementados por 4D. Por ejemplo, puede pasar la siguiente cadena en el parámetro *valor*: "HIGH:!aNULL:!MD5:!3DES:!CAMELLIA:!AES128:!RSA:!DH:!RC4".
+**Descripción:** lista de cifrado (*cipher list*) utilizada por 4D para el protocolo seguro. Esta lista modifica la prioridad de los algoritmos de cifrado implementados por 4D. Por ejemplo, puede pasar la siguiente cadena en el parámetro *valor*: "HIGH:!aNULL:!MD5:!3DES:!CAMELLIA:!AES128:!RSA:!DH:!RC4".
Para una descripción completa de la sintaxis para la lista cifrada, consulte la *página de cifrado del sitio OpenSSL*.
@@ -507,15 +493,13 @@ Para reinicializar la lista de cifrado a su valor por defecto (guardado permanen
**Nota:** con el comando [Get database parameter](get-database-parameter.md), la lista de cifrado se devuelve en el parámetro opcional *valorAlfa* y el parámetro de retorno es siempre 0.
-
-
### Cache unload minimum size (66)
-**Alcance**: Aplicación 4D
+**Alcance**: aplicación 4D
-**Se conserva entre dos sesiones**: No
+**Se conserva entre dos sesiones**: no
-**Valores posibles**: Entero largo positivo > 1.
+**Valores posibles**: entero largo positivo > 1.
**Descripción**: tamaño mínimo de memoria a liberar del caché de la base de datos cuando el motor necesita hacer espacio para ubicar un objeto (valor en bytes).
@@ -523,23 +507,13 @@ El propósito de este selector es reducir el número de liberaciones de datos de
Por defecto, si este selector no se utiliza, 4D descarga mínimo 10% de la caché en caso de que se necesite espacio.Alcance: Aplicación 4D
-Se conserva entre dos sesiones: No
-
-Valores posibles: Entero largo positivo > 1.
-
-Descripción: tamaño mínimo de memoria a liberar del caché de la base de datos cuando el motor necesita hacer espacio para ubicar un objeto (valor en bytes).
-
-El propósito de este selector es reducir el número de liberaciones de datos de la caché con el fin de obtener un mejor rendimiento. Puede hacer variar este parámetro en función del tamaño de la caché y del de los bloques de datos manipulados en su base.
-
-Por defecto, si este selector no se utiliza, 4D descarga mínimo 10% de la caché en caso de que se necesite espacio.
-
### Direct2D status (69)
**Alcance**: aplicación 4D
-**Se conserva entre dos sesiones**: No
+**Se conserva entre dos sesiones**: no
**Descripción**: modo de activación de Direct2D bajo Windows.
@@ -551,7 +525,7 @@ Direct2D Hardware (1): utilice Direct2D como contexto de hardware de gráficos p
Direct2D Software (3) (modo predeterminado): a partir de Windows 7, utilice el contexto del software de gráficos Direct2D para toda la aplicación 4D.
-***Advertencia* : este selector se proporciona solo para fines de depuración. Dado que varias funciones 4D se basan en Direct2D, no se debe desactivar en las aplicaciones implementadas. Solo el modo predeterminado (Direct2D Software)* **está aprobado para las aplicaciones desplegadas.*
+***Advertencia*: este selector se ofrece solo para fines de depuración. Dado que varias funciones 4D se basan en Direct2D, no se debe desactivar en las aplicaciones implementadas. Solo el modo predeterminado (Direct2D Software)* **está aprobado para las aplicaciones desplegadas.*
@@ -577,13 +551,13 @@ Por ejemplo, si ejecuta:
### Diagnostic log recording (79)
-**Thread-safe** : Yes
+**Hilo seguro**: sí
-**Alcance**: Aplicación 4D
+**Alcance**: aplicación 4D
-**Se conserva entre dos sesiones**: No
+**Se conserva entre dos sesiones**: no
-**Valores posibles**: 0 ó 1 (0 = no guardar,1 = guardar)
+**Valores posibles**: 0 ó 1 (0 = no guardar, 1 = guardar)
**Descripción**: inicio o detención del registro del archivo de diagnóstico de 4D. Por defecto, el valor es 0 (no guarda).
@@ -595,23 +569,25 @@ Note que es posible incluir la información personalizada en este archivo con ay
### Log command list (80)
-**Alcance**: Aplicación 4D
+**Alcance**: aplicación 4D
-**Se conserva entre dos sesiones**: No
+**Se conserva entre dos sesiones**: no
**Valores posibles**: cadena que contiene la lista de números de los comandos 4D a guardar (separados por dos puntos), "all" para guardar todos los comandos o "" (cadena vacía) para no guardar ninguno.
**Descripción**: la lista de comandos 4D a guardar en el archivo de depuración (ver el selector 34, Debug Log Recording). Por defecto, se guardan todos los comandos 4D.
-Este selector permite guardar la cantidad de información almacenada en el archivo de depuración limitando los comandos 4D donde quiera guardar la ejecución.
+Este selector restringe la cantidad de información guardada en el archivo de depuración limitando los comandos 4D cuya ejecución desea registrar o excluir del registro. Por ejemplo, puede escribir:
+ SET DATABASE PARAMETER(Log command list;"277;341") //Graba solo los comandos QUERY y QUERY SELECTION O SET DATABASE PARAMETER(Log command list;"-1666;-323") //Excluye los comandos SET USER ALIAS y DELAY PROCESS de ser grabados
+
### Spellchecker (81)
-**Alcance**: Aplicación 4D
+**Alcance**: aplicación 4D
- **Se conserva entre dos sesiones**: No
+ **Se conserva entre dos sesiones**: no
**Valores posibles**: 0 (por defecto) = corrector macOS nativo (Hunspell desactivado), 1 = corrector Hunspell activo.
@@ -621,11 +597,11 @@ Este selector permite guardar la cantidad de información almacenada en el archi
### Dates inside objects (85)
-**Alcance**: Proceso actual
+**Alcance**: proceso actual
- **Se conserva entre dos sesiones:** No**
+ **Se conserva entre dos sesiones:** no
- Valores posibles**: String type without time zone (0), String type with time zone (1), Date type (2) (por defecto)
+ **Valores posibles**: Tipo cadena sin zona horaria (0), tipo cadena con zona horaria (1), tipo fecha (2) (por defecto)
**Descripción**: define la forma en que se almacenan las fechas dentro de los objetos, así como también cómo se importan / exportan en JSON.
@@ -635,15 +611,13 @@ Si pasa String type with time zone en este selector, convertirá las fechas 4D e
-
-
### Diagnostic log level (86)
-**Thread-safe** : Yes
+**Hilo seguro**: sí
-**Alcance**: Aplicación 4D
+**Alcance**: aplicación 4D
-**Se conserva entre dos sesiones**: No
+**Se conserva entre dos sesiones**: no
**Descripción**: nivel(es) de los mensajes que se incluirán en el registro de diagnóstico cuando esté habilitado (ver selector Diagnostic log recording). Cada nivel designa una categoría de mensajes de diagnóstico e incluye automáticamente las categorías más importantes. Para una descripción de las categorías, consulte la sección *Niveles de registro de diagnóstico* en *developer.4d.com*.
@@ -655,15 +629,11 @@ Si pasa String type with time zone en este selector, convertirá las fechas 4D e
**Alcance:** 4D en modo local, 4D Server**
-Se conserva entre dos sesiones:** sí**
+**Se conserva entre dos sesiones:** sí
-** **Descripción:** fija u obtiene el estado actual de la capa de red antigua para las conexiones cliente/servidor.
+**Descripción:** fija u obtiene el estado actual de la capa de red antigua para las conexiones cliente/servidor. La capa de red antigua es obsoleta a partir de 4D v14 R5 y debe ser reemplazada progresivamente en sus aplicaciones por la capa de red *ServerNet*. *ServerNet* será requerida en próximas versiones 4D con el fin de beneficiarse de las futuras evoluciones de la red. Por razones de compatibilidad, la capa de red antigua aún se soporta para permitir una transición sin problemas para las aplicaciones existentes; (se usa por defecto en aplicaciones convertidas de una versión anterior a v14 R5). Pase 1 en este parámetro para utilizar la capa de red antigua (y desactivar *ServerNet*) para las conexiones cliente/servidor, y pase 0 para deshabilitar la red antigua (y utilizar *ServerNet*).
-La capa de red antigua es obsoleta a partir de 4D v14 R5 y debe ser reemplazada progresivamente en sus aplicaciones por la capa de red *ServerNet*. *ServerNet* será requerida en próximas versiones 4D con el fin de beneficiarse de las futuras evoluciones de la red. Por razones de compatibilidad, la capa de red antigua aún se soporta para permitir una transición sin problemas para las aplicaciones existentes; (se usa por defecto en aplicaciones convertidas de una versión anterior a v14 R5). Pase 1 en este parámetro para utilizar la capa de red antigua (y desactivar *ServerNet*) para las conexiones cliente/servidor, y pase 0 para deshabilitar la red antigua (y utilizar *ServerNet*).
-
-Esta propiedad también se puede definir mediante la opción "Usar capa de red antigua " que se encuentran en *Página Compatibilidad* de las Propiedades de la base (ver *Opciones red y cliente-servidor*). En esta sección, también puede encontrar una discusión sobre la estrategia de migración. Le recomendamos que active *ServerNet* tan pronto como sea posible.
-
-Deberá reiniciar la aplicación para que este parámetro sea tenido en cuenta. No está disponible en 4D Server v14 R5 64-bit versión para macOS, que sólo soporta el *ServetNet*; (siempre devuelve 0).
+Esta propiedad también se puede definir mediante la opción "Usar capa de red antigua " que se encuentran en *Página Compatibilidad* de las Propiedades de la base (ver *Opciones red y cliente-servidor*). En esta sección, también puede encontrar una discusión sobre la estrategia de migración. Le recomendamos que active *ServerNet* tan pronto como sea posible. Deberá reiniciar la aplicación para que este parámetro sea tenido en cuenta. No está disponible en 4D Server v14 R5 64-bit versión para macOS, que sólo soporta el *ServetNet*; (siempre devuelve 0).
**Valores posibles:** 0 o 1 (0 = no utilizan capa de red antigua, 1 = uso capa de red antigua)
@@ -687,7 +657,7 @@ Deberá reiniciar la aplicación para que este parámetro sea tenido en cuenta.
### Circular log limitation (90)
-**Thread-safe** : Yes
+**Hilo seguro**: sí
**Alcance**: 4D local, 4D Server.
@@ -725,7 +695,7 @@ Deberá reiniciar la aplicación para que este parámetro sea tenido en cuenta.
### Cache flush periodicity (95)
-**Thread-safe** : Yes
+**Hilo seguro**: sí
**Alcance**: 4D local, 4D Server
@@ -752,13 +722,11 @@ El tiempo de espera de la conexión remota se aplica después de que una máquin
-
-
### Tips enabled (101)
**Alcance**: aplicación 4D
-**Se conserva entre dos sesiones**: No
+**Se conserva entre dos sesiones**: no
**Valores posibles**: 0 = consejos desactivados, 1 = consejos activados (predeterminado)
@@ -796,7 +764,7 @@ Tenga en cuenta que este parámetro define todos los consejos 4D, es decir, los
**Alcance**: 4D Server, 4D Web Server y 4D SQL Server
-**Conservar entre dos sesiones**: No
+**Conservar entre dos sesiones**: no
**Descripción**: se utiliza para especificar el nivel TLS (Transport Layer Security), que ofrece cifrado y autenticación de datos entre aplicaciones y servidores. Se rechazarán los intentos de conexión de clientes que sólo soporten versiones inferiores a la mínima. La configuración se aplica globalmente a la capa de red. Una vez modificado, el servidor debe reiniciarse para utilizar el nuevo valor.
@@ -810,10 +778,6 @@ Tenga en cuenta que este parámetro define todos los consejos 4D, es decir, los
-
-
-
-
### User param value (108)
**Alcance**: 4D local, 4D Server
@@ -830,9 +794,9 @@ Cuando se utiliza con [SET DATABASE PARAMETER](set-database-parameter.md), defin
### Times inside objects (109)
-Alcance: 4D local, 4D Server (todos los procesos)
+**Alcance**: 4D local, 4D Server (todos los procesos)
- Se conserva entre dos sesiones: No
+ **Se conserva entre dos sesiones**: no
**Valores posibles**: Times in seconds (0) (predeterminado), Times in milliseconds (1)
@@ -846,11 +810,11 @@ En versiones anteriores, los valores de tiempo se convertían y almacenaban como
### SMTP Log (110)
-**Thread-safe** : Yes
+**Hilo seguro**: sí
**Alcance**: 4D local, 4D Server*
-* **Se conserva entre dos sesiones**: No
+* **Se conserva entre dos sesiones**: no
**Valores posibles**: 0 o de 1 a X (0 = no grabar, 1 a X = número secuencial, agregado al nombre del archivo). De forma predeterminada, el valor es 0 (intercambios SMTP no registrados).
@@ -864,9 +828,13 @@ Para obtener más información sobre los archivos 4DSMTPLog\_X.txt, consulte la
**Alcance:** Aplicación 4D
-**Se conserva entre dos sesiones:** No
+**Se conserva entre dos sesiones:** no
-**Descripción**: inicia o detiene el registro secuencial de eventos de programación **del proceso actual** en un archivo de historial separado. Este historial es similar al Debug log recording (selector 34) pero se enfoca solo en el proceso actual. El nombre del archivo de historial incluye la letra "p" y el número del proceso: 4DDebugLog\[\_p*N*_*n*].txt, donde N es el ID único del proceso. Para más información sobre este formato y sobre el uso del archivo *4DDebugLog*, consulte *Descripción de archivos de historial* en el Modo Diseño. **Notas:** Este selector se proporciona únicamente con el fin de depurar y debe utilizarse con cuidado. En particular, no debe ponerse en producción, ya que puede tener un impacto en el rendimiento de la aplicación. Puede utilizarar ambos selectores Debug log recording y Current process debug log recording simultáneamente, en cuyo caso las acciones del proceso actual no se registrarán en el archivo de historial principal.
+**Descripción**: inicia o detiene el registro secuencial de eventos de programación **del proceso actual** en un archivo de historial separado. Este historial es similar al Debug log recording (selector 34) pero se enfoca solo en el proceso actual. El nombre del archivo de historial incluye la letra "p" y el número del proceso: 4DDebugLog\[\_p*N*_*n*].txt, donde N es el ID único del proceso.
+
+Para más información sobre este formato y sobre el uso del archivo *4DDebugLog*, consulte *Descripción de archivos de historial* en el Modo Diseño.
+
+**Notas:** Este selector se proporciona únicamente con el fin de depurar y debe utilizarse con cuidado. En particular, no debe ponerse en producción, ya que puede tener un impacto en el rendimiento de la aplicación. Puede utilizarar ambos selectores Debug log recording y Current process debug log recording simultáneamente, en cuyo caso las acciones del proceso actual no se registrarán en el archivo de historial principal.
@@ -912,7 +880,7 @@ Para obtener más información sobre los archivos 4DSMTPLog\_X.txt, consulte la
### POP3 Log (116)
-**Thread-safe** : Yes
+**Hilo seguro**: sí
**Alcance:** 4D local, 4D Server
@@ -920,7 +888,7 @@ Para obtener más información sobre los archivos 4DSMTPLog\_X.txt, consulte la
**Valores posibles:** 0 o de 1 a X (0 = no registrar, 1 a X = número secuencial, agregado al nombre del archivo). Por defecto, el valor es 0 (intercambios POP3 no registrados).
-: iInicia o detiene la grabación de intercambios entre 4D y el servidor POP3, cuando un objeto transportador se procesa a través de *POP3\_transporter.getMail( )* o *POP3\_transporter.checkConnection( )*. Por defecto, el valor es 0 (intercambios no registrados). Cuando este mecanismo está habilitado, se crea un archivo de registro en la carpeta Logs de la base. Se llama 4DPOP3Log\_X.txt, donde X es el número secuencial del registro. Una vez que el archivo 4DPOP3Log ha alcanzado un tamaño de 10 MB, se cierra y se genera uno nuevo, con un número secuencial incrementado. Si ya existe un archivo con el mismo nombre, se reemplaza directamente. Puede establecer el número inicial de la secuencia utilizando el parámetro valor. De manera predeterminada, todos los archivos se mantienen, pero puede controlar la cantidad de archivos que se deben seguir utilizando el parámetro Circular log limitation.
+**Descripción**: inicia o detiene la grabación de intercambios entre 4D y el servidor POP3, cuando un objeto transportador se procesa a través de *POP3\_transporter.getMail( )* o *POP3\_transporter.checkConnection( )*. Por defecto, el valor es 0 (intercambios no registrados). Cuando este mecanismo está habilitado, se crea un archivo de registro en la carpeta Logs de la base. Se llama 4DPOP3Log\_X.txt, donde X es el número secuencial del registro. Una vez que el archivo 4DPOP3Log ha alcanzado un tamaño de 10 MB, se cierra y se genera uno nuevo, con un número secuencial incrementado. Si ya existe un archivo con el mismo nombre, se reemplaza directamente. Puede establecer el número inicial de la secuencia utilizando el parámetro valor. De manera predeterminada, todos los archivos se mantienen, pero puede controlar la cantidad de archivos que se deben seguir utilizando el parámetro Circular log limitation.
Para más información sobre los archivos 4DPOP3Log\_X.txt, consulte la sección *Descripción de archivos de historial*.
@@ -938,11 +906,11 @@ Para más información sobre los archivos 4DPOP3Log\_X.txt, consulte la sección
### IMAP Log (119)
-**Thread-safe** : Yes
+**Hilo seguro**: sí
**Alcance**: 4D local, 4D Server
-**Se conserva entre dos sesiones**: No
+**Se conserva entre dos sesiones**: no
**Valores posibles**: 0 o de 1 a X (0 = no grabar, 1 a X = número secuencial, añadido al nombre del archivo). Por defecto, el valor es 0 (los intercambios IMAP no se registran).
@@ -964,7 +932,7 @@ Para más información sobre los archivos 4DIMAPLog\_X.txt, consulte la sección
### Pause logging (121)
-**Thread-safe** : Yes
+**Hilo seguro**: sí
**Alcance**: aplicación 4D
@@ -976,12 +944,35 @@ Este selector permite suspender/reanudar todas las operaciones de registro inici
+### TCPUDP log recording (131)
-
-
-**Nota**: el parámetro *tabla* sólo es utilizado por los selectores 31, 46 y 47\. En todos los demás casos, se ignora si se pasa.
+**Alcance:** aplicación 4D
+
+**Se mantiene entre dos sesiones**: no
+
+**Valores posibles:** `0`: Logging desactivado (por defecto), `1`: Logging activado.
+
+**Descripción:** activa o desactiva el archivo `4DTCPUDPLog.txt` para registrar eventos TCP.
-Si no se mantiene una configuración constante entre sesiones, pero desea asegurarse de que se aplique, debe ejecutarla en o [Método base On Server Startup](metodo-base-on-server-startup.md).
+
+
+### RDP optimization (133)
+
+**Alcance:** aplicación 4D
+
+**Se mantiene entre dos sesiones**: no
+
+**Valores posibles:** `0`: activado (por defecto), `1`: desactivado.
+
+**Descripción:** activa o desactiva las optimizaciones para RDP (Protocolo de escritorio remoto). Cuando está activado, optimiza en particular el uso del portapapeles compartido en las conexiones RDP, que de otro modo pueden provocar problemas de congelación. Tenga en cuenta que este selector desactiva la compatibilidad en el portapapeles para imágenes codificadas como URI de datos en texto sin formato (solo afecta a las imágenes que se sueltan o se copian explícitamente como texto desde un navegador).
+
+
+:::nota
+
+* El parámetro *tabla* sólo es utilizado por los selectores 31, 46 y 47\. En todos los demás casos, se ignora si se pasa.
+* Si no se mantiene una configuración constante entre sesiones, pero desea asegurarse de que se aplique, debe ejecutarla en o [Método base On Server Startup](metodo-base-on-server-startup.md).
+
+:::
#### Selectores hilo seguro
@@ -998,7 +989,6 @@ El comando **SET DATABASE PARAMETER** puede utilizarse en procesos apropiativos
* [IMAP Log](#imap-log-119)
* [Pause logging](#pause-logging-121)
-
#### Ejemplo 1
La siguiente instrucción evitará un posible problema de timeout:
@@ -1017,8 +1007,10 @@ La siguiente instrucción evitará un posible problema de timeout:
Este ejemplo forza temporalmente la ejecución de un comando búsqueda por fórmula en el equipo cliente:
```4d
- curVal:=Get database parameter([tabla1];Query By Formula On Server) //Almacena la configuración actual
- SET DATABASE PARAMETER([tabla1];Query By Formula On Server;1) //Fuerza la ejecución en el equipo cliente
+ curVal:=Get database parameter([table1];Query By Formula On Server) //Almacena la configuración actual
+ SET DATABASE PARAMETER([table1];Query By Formula On Server;1) //Fuerza la ejecución en el equipo cliente
+ QUERY BY FORMULA([table1];myformula)
+ SET DATABASE PARAMETER([table1];Query By Formula On Server;curVal) //Reestablece la configuración actual
```
#### Ejemplo 3
@@ -1033,7 +1025,7 @@ Usted quiere exportar datos en JSON que contienen una fecha 4D convertida. Note
SET DATABASE PARAMETER(Dates inside objects;1)
```
-#### Ver también
+#### Ver también
[Get database parameter](get-database-parameter.md)
[LOG EVENT](log-event.md)
@@ -1045,5 +1037,3 @@ Usted quiere exportar datos en JSON que contienen una fecha 4D convertida. Note
| --- | --- |
| Número de comando | 642 |
| Hilo seguro | ✗ |
-
-
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-21/commands-legacy/blob-to-print-settings.md b/i18n/es/docusaurus-plugin-content-docs/version-21/commands-legacy/blob-to-print-settings.md
index 7b5a31d53f367d..41a06864f9d2f0 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-21/commands-legacy/blob-to-print-settings.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-21/commands-legacy/blob-to-print-settings.md
@@ -17,14 +17,14 @@ displayed_sidebar: docs
## Descripción
-El comando **BLOB to print settings** reemplaza los parámetros de impresión actuales de 4D por los parámetros almacenados en el BLOB *confImpr*. Este BLOB debe haber sido generado por el comando [Print settings to BLOB](print-settings-to-blob.md) o por el comando 4D Pack 4D Pack (ver abajo).
+El comando **BLOB to print settings** reemplaza los parámetros de impresión actuales de 4D por los parámetros almacenados en el BLOB *confImpr*. Este BLOB debe haber sido generado por el comando [Print settings to BLOB](print-settings-to-blob.md).
El parámetro *params* le permite definir cómo manejar los parámetros básicos para el "número de copias" y el "intervalo de impresión":
* Si pasa 0 u omite este parámetro, los valores almacenados en el BLOB se utilizan para la impresión.
* Si pasa 1, los valores se restablecen a los valores predeterminados: el número de copias se establece en 1 y el intervalo de páginas se establece en "todas las páginas".
-Los parámetros se aplican a los [parámetros actuales de impresión 4D](../settings/compatibility.md) siempre y cuando ningún comando como *\_o\_PAGE SETUP*, [SET PRINT OPTION](set-print-option.md) o [PRINT SELECTION](print-selection.md) sin el parámetro > los modifique. Los parámetros definidos se utiliza particularmente para los comandos [PRINT SELECTION](print-selection.md), [PRINT LABEL](print-label.md), [PRINT RECORD](print-record.md), [Print form](../commands/print-form.md) y [QR REPORT](qr-report.md), así como también para los comandos de impresión en los menú de 4D, incluyendo los del entorno Diseño.
+Los parámetros se aplican a los [parámetros actuales de impresión 4D](../settings/compatibility.md) siempre y cuando ningún comando como [SET PRINT OPTION](set-print-option.md) o [PRINT SELECTION](print-selection.md) sin el parámetro > los modifique. Los parámetros definidos se utiliza particularmente para los comandos [PRINT SELECTION](print-selection.md), [PRINT LABEL](print-label.md), [PRINT RECORD](print-record.md), [Print form](../commands/print-form.md) y [QR REPORT](qr-report.md), así como también para los comandos de impresión en los menú de 4D, incluyendo los del entorno Diseño.
Los comandos [PRINT SELECTION](print-selection.md), [PRINT LABEL](print-label.md) y [PRINT RECORD](print-record.md) deben ser llamados con el parámetro *\>* (si aplica) para que los parámetros definidos por **BLOB to print settings** se mantengan.
@@ -41,13 +41,8 @@ El comando devuelve uno de los siguientes códigos de estado:
### Windows / macOS
El BLOB *confImp* se puede guardar y leer en ambas plataformas. Sin embargo, incluso si ciertos parámetros de impresión son comunes, algunos otros son específicos de la plataforma y dependen de los controladores de impresión y de las versiones del sistema operativo. Si el mismo BLOB *confImp* se comparte entre ambas plataformas, es posible que pierda partes de información.
-
Cuando se utiliza en un entorno heterogéneo, con el fin de restaurar el máximo de parámetros de impresión disponibles para cada plataforma (y no sólo la parte común), se recomienda que maneje dos BLOBs *confImp*, uno para cada plataforma.
-### Compatibilidad con los comandos 4D Pack
-
-Los BLOBs de parámetros de impresión generados con el comando 4D Pack \[#cmd id="61955"/\] pueden ser cargados y utilizados por el comando **BLOB to print settings**. Tenga en cuenta sin embargo, que si son guardados con \[#cmd id="1433"/\], se convierten y no se abrirán más con . El comando **BLOB to print settings** permite almacenar más información que el comando .
-
## Ejemplo
Usted desea aplicar la configuración de impresión guardada en el disco para el contexto de impresión 4D actual:
@@ -82,5 +77,3 @@ Usted desea aplicar la configuración de impresión guardada en el disco para el
| --- | --- |
| Número de comando | 1434 |
| Hilo seguro | ✗ |
-
-
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-21/commands-legacy/get-database-parameter.md b/i18n/es/docusaurus-plugin-content-docs/version-21/commands-legacy/get-database-parameter.md
index 2550c0af3456b0..67e32715374ec9 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-21/commands-legacy/get-database-parameter.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-21/commands-legacy/get-database-parameter.md
@@ -26,7 +26,7 @@ El parámetro *selector* designa el parámetro a obtener. 4D ofrece las siguient
**Alcance**: aplicación 4D si *valor* positivo
-Se conserva entre dos **sesiones**: sí si *valor* positivo
+**Se conserva entre dos sesiones**: sí si *valor* positivo
**Valores posibles**: 0 -> 32 767
@@ -34,8 +34,6 @@ Se conserva entre dos **sesiones**: sí si *valor* positivo
El timeout del servidor define el periodo máximo de no respuesta del cliente "autorizado", por ejemplo si realiza una operación de bloqueo. Al terminar esta periodo, 4D Server desconecta al cliente. El selector 4D Server Timeout le permite asignar en el parámetro *valor*un nuevo timeout, expresado en minutos. Esta funcionalidad es particularmente útil para aumentar el valor del timeout antes de la ejecución en el equipo cliente de una operación de larga duración, tal como la impresión de un gran número de páginas, la cual puede causar un timeout inesperado.
-
-
Tiene dos opciones:
Si pasa un valor **positivo** en el parámetro *valor*, define un timeout global y permanente: el nuevo valor se aplica a todos los procesos y se almacena en las Preferencias de la aplicación 4D (equivalente a cambiar en el diálogo Preferencias).Si pasa un valor **negativo** en el parámetro *valor*, define un timeout lobal y temporal: el nuevo valor se aplica únicamente a los procesos llamantes (los otros procesos conservan los valores por defecto) y se restaura al valor por defecto tan pronto como el servidor recibe una señal de actividad del cliente, por ejemplo, cuando la operación termina. Esta opción es muy útil para administrar operaciones largas iniciadas por plug-ins 4D. Para definir una conexión "Sin timeout", pase 0 en *valor*. Ver el ejemplo 1.
@@ -44,7 +42,7 @@ Si pasa un valor **positivo** en el parámetro *valor*, define un timeout global
### 4D Remote mode timeout (14)
-**Alcance** (antigua capa de red únicamente): aplicación 4D si valor positivo
+**Alcance** (antigua capa de red únicamente): aplicación 4D si *valor* positivo
**Se conserva entre dos sesiones**: sí si *valor* positivo
@@ -58,27 +56,21 @@ El selector Timeout 4D mode distant no se tiene en cuenta si utiliza la antigua
**Alcance**: 4D local, 4D Server
-Se conserva entre dos **sesiones**: no
-
-**Descripción**: Command SET DATABASE Número de puerto TCP utilizado por el servidor web 4D con 4D en modo local y 4D Server. Por defecto, el valor es 80.
+**Se conserva entre dos sesiones**: no
-El número de puerto TCP está definido en la página "Web/Configuración" de la caja de diálogo de las Propiedades de la base. Puede utilizar las constantes del tema para el parámetro *valor*.
+**Descripción**: Command SET DATABASE Número de puerto TCP utilizado por el servidor web 4D con 4D en modo local y 4D Server. El valor por defecto, puede definirse en la página "Web/Configuración" de la caja de diálogo de Preferencias es 80\. Puede utilizar las constantes del tema *Números de puerto TCP* para el parámetro *valor*.
El selector Port ID se utiliza en el marco de servidores web 4D compilados y fusionados con 4D Desktop (sin acceso al modo Diseño). Para mayor información sobre el número de puerto TCP, consulte la sección *Parámetros del servidor web*
-
-
### Character set (17)
**Alcance:** 4D local, 4D Server**
-Se conserva entre dos sesiones:** sí**
-
-Descripción:** constante obsoleta (se conserva por compatibilidad únicamente). Ahora recomendamos utilizar los comandos [WEB SET OPTION](web-set-option.md) y [WEB GET OPTION](web-get-option.md) para la configuración del servidor HTTP.
-
+**Se conserva entre dos sesiones:** sí**
+**Descripción:** *constante obsoleta (se conserva por compatibilidad únicamente).* Ahora recomendamos utilizar los comandos [WEB SET OPTION](web-set-option.md) y [WEB GET OPTION](web-get-option.md) para la configuración del servidor HTTP.
@@ -86,11 +78,9 @@ Descripción:** constante obsoleta (se conserva por compatibilidad únicamente).
**Alcance**: 4D local, 4D Server
-Se conserva entre dos **sesiones**: sí
+**Se conserva entre dos sesiones**: sí
-**Valores**: todo valor entre 10 y 32 000\. El valor por defecto es 100.
-
-**Descripción**: Constante obsoleta (se conserva por compatibilidad únicamente). Se recomienda utilizar los comandos [WEB SET OPTION](web-set-option.md) y [WEB GET OPTION](web-get-option.md) para la configuración del servidor HTTP.
+**Descripción**: *constante obsoleta (se conserva por compatibilidad únicamente).* Se recomienda utilizar los comandos [WEB SET OPTION](web-set-option.md) y [WEB GET OPTION](web-get-option.md) para la configuración del servidor HTTP.
@@ -98,7 +88,7 @@ Se conserva entre dos **sesiones**: sí
**Alcance**: todos los equipos 4D remotos
- Se conserva entre dos **sesiones**: sí
+ **Se conserva entre dos sesiones**: sí
**Valores posibles**: ver selector 15
@@ -110,7 +100,7 @@ Se conserva entre dos **sesiones**: sí
**Alcance**: todos los equipos 4D remotos
- Se conserva entre dos **sesiones**: sí
+ **Se conserva entre dos sesiones**: sí
**Valores posibles**: ver selector 17
@@ -122,51 +112,45 @@ Se conserva entre dos **sesiones**: sí
**Alcance**: todos los equipos 4D remotos
-Se conserva entre dos **sesiones**: sí
+**Se conserva entre dos sesiones**: sí
-Valores posibles: ver selector 18
+**Valores posibles**: ver selector 18
**Descripción**: permite especificar esta parámetro para las máquinas 4D remotas utilizadas como servidores web. Los valores definidos utilizando estos selectores se aplican a todos los equipos remotos utilizados como servidores web. Si quiere definir este valor sólo para ciertos equipos remotos, utilice la caja de diálogo de Preferencias de 4D en modo remoto.
-
-
### Maximum Web requests size (27)
**Alcance**: 4D local, 4D Server
-Se conserva entre dos **sesiones**: sí
-
-**Valores posibles**: 500 000 a 2 147 483 648.
+**Se conserva entre dos sesiones**: sí
-**Descripción**: Constante obsoleta (se conserva por compatibilidad únicamente). Se recomienda utilizar los comandos [WEB SET OPTION](web-set-option.md) y [WEB GET OPTION](web-get-option.md) para la configuración del servidor HTTP.
+**Descripción**: *Constante obsoleta (se conserva por compatibilidad únicamente).* Se recomienda utilizar los comandos [WEB SET OPTION](web-set-option.md) y [WEB GET OPTION](web-get-option.md) para la configuración del servidor HTTP.
### 4D Server log recording (28)
-**Thread-safe** : Yes
+**Hilo seguro**: sí
**Alcance**: 4D Server, 4D remoto*
-* Se conserva entre dos **sesiones**: no
+**Se conserva entre dos sesiones**: no
- **Valores** **posibles**: 0 ó de 1 a X (0 = no grabar, 1 a X = número secuencial, añadido al nombre del archivo).
+ **Valores posibles**: 0 ó de 1 a X (0 = no grabar, 1 a X = número secuencial, añadido al nombre del archivo).
**Descripción**: inicia o detiene la grabación de las peticiones estándar recibidas por 4D Server (excluyendo las peticiones web). Por defecto, el valor es 0 (no se graban las peticiones).
-4D Server le permite grabar cada petición recibida por el equipo servidor en un archivo de historial. Cuando este mecanismo está activo, el archivo de historial se crea junto al archivo de estructura de la base. Su nombre es "4DRequestsLog\_X," donde X es el número secuencial del historial. Una vez el archivo alcanza un tamaño de 10 MB, se cierra y se genera un nuevo archivo, con un número secuencial incrementado. Si existe un archivo con el mismo nombre, se reemplaza directamente. Puede definir el número de inicio de la secuencia utilizando el parámetro *valor*.
-
+4D Server le permite grabar cada petición recibida por el equipo servidor en un archivo de historial. Cuando este mecanismo está activo, el archivo de historial se crea junto al archivo de estructura de la base. Su nombre es "4DRequestsLog\_X," donde X es el número secuencial del historial. Una vez el archivo alcanza un tamaño de 10 MB, se cierra y se genera un nuevo archivo, con un número secuencial incrementado. Si existe un archivo con el mismo nombre, se reemplaza directamente. Puede definir el número de inicio de la secuencia utilizando el parámetro *valor*.
Este archivo texto almacena en formato tabulado simple diferente información sobre cada petición: hora, número de proceso, usuario, tamaño de la petición, duración del proceso, etc. Esta información puede ser útil particularmente durante la fase de afinamiento de la aplicación o con fines estadísticos. Por ejemplo puede importarse, en un software de hoja de cálculo para procesarse.
-
### Client Web log recording (30)
**Alcance**: todos los equipos 4D remotos
- Se conserva entre dos **sesiones**: sí
+ **Se conserva entre dos sesiones**: sí
**Valores posibles**: 0 = No grabar (por defecto), 1 = Registrar en formato CLF, 2 = Registrar en formato DLF, 3 = Registrar en formato ELF, 4 = Registrar en formato WLF.
@@ -178,9 +162,9 @@ El funcionamiento de este selector es idéntico al del selector 29; sin embargo,
### Table sequence number (31)
-**Alcance**: *a*plicación 4D
+**Alcance**: aplicación 4D
- Se conserva entre dos **sesiones**: sí
+ **Se conserva entre dos sesiones**: sí
**Valores posibles**: todo valor de tipo entero largo.
@@ -190,19 +174,19 @@ Por defecto, este número único es definido por 4D y corresponde al orden de cr
+### Debug log recording (34)
+**Hilo seguro**: sí
+**Alcance**: aplicación 4D
+**Se conserva entre dos sesiones**: no
-### Debug log recording (34)
+**Descripción**: inicia o detiene la grabación secuencial de los eventos a nivel de programación de 4D en el archivo 4DDebugLog, que se ubica automáticamente en la subcarpeta Logs de la base de datos, junto al archivo de estructura. Un nuevo formato texto tabulado, más compacto se utiliza en el archivo de registro de eventos "4DDebugLog \[\_n\].txt" a partir de 4D v14 (donde \_n es el número de segmento del archivo y *Server* se añade al nombre del archivo cuando se genera en el servidor). Hay dos modos disponibles:
-**Thread-safe** : Yes
+- El modo estándar ofrece una vista básica de los eventos y el archivo se coloca automáticamente en la subcarpeta Logs de la base de datos, junto al archivo de estructura. Los tiempos de ejecución se expresan en milisegundos y se muestra el valor "< ms" cuando una operación dura menos de un milisegundo.
-**Alcance**: Aplicación 4D
-
-**Se conserva entre dos sesiones**: No
-
-**Descripción**: inicia o detiene la grabación secuencial de los eventos a nivel de programación de 4D en el archivo 4DDebugLog, que se ubica automáticamente en la subcarpeta Logs de la base de datos, junto al archivo de estructura. Un nuevo formato texto tabulado, más compacto se utiliza en el archivo de registro de eventos "4DDebugLog \[\_n\].txt" a partir de 4D v14 (donde \_n es el número de segmento del archivo).
+- El modo con pestañas ofrece información adicional y utiliza un formato más compacto con pestañas en el archivo. Los tiempos de ejecución se expresan en microsegundos.
**Valores posibles**: Entero largo contiene un campo de bits: valor = bit1(1)+bit2(2)+bit3(4)+bit4(8)+…).
@@ -232,7 +216,15 @@ SET DATABASE PARAMETER (34;0) // desactiva el archivo Para todo tipo de aplicaci
- restringiéndolo sólo al proceso actual con Current process debug log recording (selector 111). Esto añadirá la letra "p" y el número de proceso al nombre del archivo: *4DDebugLog\[\_pn\_n\].txt* o *4DDebugLogServer\[\_pn\_n\].txt*
-Para más información sobre este formato y sobre el uso del archivo *4DDebugLog*, consulte la sección *Descripción de archivos de historial*. **Nota:** este selector se ofrece únicamente con fines de depuración y debe utilizarse con cuidado, ya que puede afectar al rendimiento de la aplicación.
+
+
+Para más información sobre este formato y sobre el uso del archivo *4DDebugLog*, consulte la sección *Descripción de archivos de historial*.
+
+Este selector se ofrece únicamente con fines de depuración y debe utilizarse con cuidado, ya que puede afectar al rendimiento de la aplicación.
+
+
+
+
@@ -240,9 +232,9 @@ Para más información sobre este formato y sobre el uso del archivo *4DDebugLog
**Alcance**: base de datos
-Se conserva entre dos **sesiones**: sí**
+**Se conserva entre dos sesiones**: sí
-Valores posibles**: 0 a 65535
+**Valores posibles**: 0 a 65535
**Descripción**: número de puerto TCP donde el servidor 4D publica la base de datos (para conexión remota 4D). Por defecto, el valor es 19813\.
@@ -258,17 +250,17 @@ Cuando modifica este valor, es necesario reiniciar el equipo servidor para que e
**Alcance**: 4D local, 4D Server
-Se conserva entre dos **sesiones**: sí
+**Se conserva entre dos sesiones**: sí
-**Descripción**: Constante obsoleta (se conserva por compatibilidad únicamente). Se recomienda utilizar los comandos [WEB SET OPTION](web-set-option.md) y [WEB GET OPTION](web-get-option.md) para la configuración del servidor HTTP.
+**Descripción**: *Constante obsoleta (se conserva por compatibilidad únicamente).* Se recomienda utilizar los comandos [WEB SET OPTION](web-set-option.md) y [WEB GET OPTION](web-get-option.md) para la configuración del servidor HTTP.
### Client HTTPS port ID (40)
-**Alcance**:todos los equipos 4D remotos
+**Alcance**: todos los equipos 4D remotos
- Se conserva entre dos **sesiones**: sí
+ **Se conserva entre dos sesiones**: sí
**Valores posibles**: 0 a 65535
@@ -280,13 +272,11 @@ Este selector funciona exactamente igual que el selector 39; sin embargo, aplica
-
-
### SQL Autocommit (43)
**Alcance**:base de datos
- Se conserva entre dos **sesiones**: sí
+ **Se conserva entre dos sesiones**: sí
**Posibles valores**: 0 (desactivación) o 1 (activación)
@@ -298,9 +288,9 @@ Este selector funciona exactamente igual que el selector 39; sin embargo, aplica
### SQL Engine case sensitivity (44)
-**Alcance**:base de datos
+**Alcance**: base de datos
- Se conserva entre dos sesiones: sí
+ **Se conserva entre dos sesiones**: sí
**Valores posibles**: 0 (no se tienen en cuenta las mayúsculas y minúsculas) ó 1 (sensible a las mayúsculas y minúsculas)
@@ -308,13 +298,13 @@ Este selector funciona exactamente igual que el selector 39; sin embargo, aplica
Por defecto, el valor es 1 (sensible a las mayúsculas y minúsculas): el motor SQL diferencia entre mayúsculas y minúsculas y entre caracteres acentuados al comparar cadenas (ordenaciones y búsquedas). Por ejemplo “ABC”= “ABC” pero “ABC” # “Abc.” En algunos casos, por ejemplo para alinear el funcionamiento del motor SQL con el del motor 4D, podría querer que las comparaciones de cadenas no tengan en cuenta las mayúsculas y minúsculas (“ABC”=“Abc”).
-Esta opción también puede definirse en la [CALL SUBFORM CONTAINER](call-subform-container.md) de las Preferencias de la base.
+**Atención:* como esta opción Modifica el archivo de estructura de la base de datos y todos los procesos. Por motivos de rendimiento, se recomienda encarecidamente configurarlo solo al iniciar la base de datos.* Esta opción también se puede configurar en los ajustes de la base de datos.
### Client log recording (45)
-**Alcance**:equipo 4D remoto
+**Alcance**: equipo 4D remoto
Se conserva entre dos **sesiones**: no
@@ -332,7 +322,7 @@ Estos archivos texto almacenan en formato tabulado simple diferente información
**Alcance**: tabla y procesos actuales
- Se conserva entre dos **sesiones**: no
+ **Se conserva entre dos sesiones**: no
**Valores posibles**: 0 (utilizar la configuración de la base), 1 (ejecutar en cliente) o 2 (ejecutar en servidor)
@@ -342,9 +332,11 @@ Cuando se utiliza una base en modo cliente-servidor, los comandos de búsqueda "
en bases creadas con 4D v11 SQL, estos comandos se ejecutan en el servidor.en bases convertidas, estos comandos se ejecutan en el equipo cliente, como en las versiones anteriores de 4D.en las bases convertidas, una preferencia específica permite modificar globalmente la ubicación de ejecución de estos comandos.Esta diferencia en ubicación de ejecución influye no sólo en el rendimiento de la aplicación (la ejecución en el servidor es generalmente más rápida) sino también en la programación. En efecto, el valor de los componentes de la fórmula (en particular las variables llamadas vía un método) varía de acuerdo al contexto de ejecución. Puede utilizar este selector para adaptar puntualmente el funcionamiento de su aplicación.
-Si pasa 0 en el parámetro *valor*, la ubicación de ejecución de los comandos de búsqueda "por fórmula" dependerá de la configuración de la base: en bases creadas con 4D v11 SQL, estos comandos se ejecutarán en el servidor. En bases convertidas, se ejecutarán en el equipo cliente o en el servidor en función de las preferencias de la base. Pase 1 ó 2 en *valor* para "forzar" la ejecución de estos comandos respectivamente en el equipo cliente o en el servidor. Consulte el ejemplo 2.
+Si pasa 0 en el parámetro *valor*, la ubicación de ejecución de los comandos de búsqueda "por fórmula" dependerá de la configuración de la base: en bases creadas con 4D v11 SQL, estos comandos se ejecutarán en el servidor. En bases convertidas, se ejecutarán en el equipo cliente o en el servidor en función de las preferencias de la base. Pase 1 ó 2 en *valor* para "forzar" la ejecución de estos comandos respectivamente en el equipo cliente o en el servidor.
+
+Consulte el ejemplo 2.
- si quiere activar las uniones "tipo SQL" (consulte el selector QUERY BY FORMULA Joins selector), siempre debe ejecutar las fórmulas en el servidor de manera que tengan acceso a los registros. Atención, en este contexto, la fórmula no debe contener llamadas a un método, de lo contrario pasará automáticamente al equipo remoto.
+**Nota:** si quiere activar las uniones "tipo SQL" (consulte el selector QUERY BY FORMULA Joins selector), siempre debe ejecutar las fórmulas en el servidor de manera que tengan acceso a los registros. Atención, en este contexto, la fórmula no debe contener llamadas a un método, de lo contrario pasará automáticamente al equipo remoto.
@@ -352,7 +344,7 @@ Si pasa 0 en el parámetro *valor*, la ubicación de ejecución de los comandos
**Alcance**: tabla y procesos actuales
- Se conserva entre dos **sesiones**: no
+ **Se conserva entre dos sesiones**: no
**Valores posibles**: 0 (utilizar la configuración de la base), 1 (ejecutar en el cliente) o 2 (ejecutar en el servidor)
@@ -360,19 +352,17 @@ Si pasa 0 en el parámetro *valor*, la ubicación de ejecución de los comandos
Al utilizar una base en modo cliente-servidor, el comando [ORDER BY FORMULA](order-by-formula.md "ORDER BY FORMULA") puede ejecutarse bien sea en el equipo servidor o en el cliente. Este selector puede utilizarse para especificar la ubicación de la ejecución de este comando (servidor o cliente). Este modo también puede definirse en las preferencias de la base. Para mayor información, consulte la descripción del selector 46, Query By Formula On Server.
-
-
- si quiere activar las uniones "tipo SQL" (consulte el selector QUERY BY FORMULA Joins selector), siempre debe ejecutar las fórmulas en el servidor de manera que tengan acceso a los registros. Atención, en este contexto, la fórmula no debe contener llamadas a un método, de lo contrario pasará automáticamente al equipo remoto.
+**Nota:** si quiere activar las uniones "tipo SQL" (consulte el selector QUERY BY FORMULA Joins selector), siempre debe ejecutar las fórmulas en el servidor de manera que tengan acceso a los registros. Atención, en este contexto, la fórmula no debe contener llamadas a un método, de lo contrario pasará automáticamente al equipo remoto.
### Auto synchro resources folder (48)
-**Alcance**:equipo 4D remoto
+**Alcance**: equipo 4D remoto
- Se conserva entre dos **sesiones**: no
+ **Se conserva entre dos sesiones**: no
- **Valores p** **osibles**: 0 (sin sincronización), 1 (auto sincronización) ó 2 (preguntar).
+ **Valores posibles**: 0 (sin sincronización), 1 (auto sincronización) ó 2 (preguntar).
**Descripción**: modo de sincronización dinámico de la carpeta *Resources* del equipo cliente 4D que ejecuta el comando con el servidor.
@@ -386,7 +376,7 @@ Tres modos de sincronización son posibles del lado del cliente. El selector Aut
### Query by formula joins (49)
-**Alcance**:Proceso actual
+**Alcance**: proceso actual
Se conserva entre dos **sesiones**: no
@@ -418,9 +408,7 @@ Se conserva entre dos **sesiones**: no
Se conserva entre dos **sesiones**: no
-Valores posibles: todo valor de tipo entero largo
-
-**Descripción**: Constante obsoleta (se conserva por compatibilidad únicamente). Se recomienda utilizar los comandos [WEB SET OPTION](web-set-option.md) y [WEB GET OPTION](web-get-option.md) para la configuración del servidor HTTP.
+**Descripción**: *Constante obsoleta (se conserva por compatibilidad únicamente).* Se recomienda utilizar los comandos [WEB SET OPTION](web-set-option.md) y [WEB GET OPTION](web-get-option.md) para la configuración del servidor HTTP.
@@ -428,7 +416,7 @@ Valores posibles: todo valor de tipo entero largo
**Alcance**: 4D Server
- Se conserva entre dos sesiones: no
+ Se conserva entre dos **sesiones**: no
**Valores posibles**: entero largo positivo.
@@ -442,8 +430,6 @@ Para que sea tenido en cuenta, este parámetro debe ejecutarse en el equipo serv
-
-
### Idle connections timeout (54)
**Alcance**: aplicación 4D a menos que valor sea negativo
@@ -452,7 +438,7 @@ Para que sea tenido en cuenta, este parámetro debe ejecutarse en el equipo serv
**Valores posibles:** valor entero que expresa una duración en segundos. El valor puede ser positivo (nuevas conexiones) o negativo (conexiones existentes). Por defecto, el valor es 20.
-**Descripción**: máximo periodo de inactividad (timeout) para conexiones al motor de la base 4D y al motor SQL, así como también en modo *ServerNet* (nueva capa de red), al servidor de la aplicación 4D. Cuando una conexión inactiva alcanza este límite, se pone en espera automáticamente, lo cual congela la sesión cliente/servidor y cierra el socket de red. En la ventana de administración del servidor, el estado del proceso del usuario se indica como "Postponed". Este funcionamiento es totalmente transparente para el usuario: tan pronto como hay una nueva actividad en la conexión que está en espera, el socket se reabre automáticamente y la sesión cliente/servidor se restaura.
+**Descripción**: máximo periodo de inactividad para conexiones al motor de la base 4D, el motor SQL y el servidor de aplicaciones 4D (capa de red *ServerNet* únicamente, ignorado en *QUIC*). Cuando una conexión inactiva alcanza este límite, se pone en espera automáticamente, lo cual congela la sesión cliente/servidor y cierra el socket de red. En la ventana de administración del servidor, el estado del proceso del usuario se indica como "Postponed". Este funcionamiento es totalmente transparente para el usuario: tan pronto como hay una nueva actividad en la conexión que está en espera, el socket se reabre automáticamente y la sesión cliente/servidor se restaura.
Este parámetro permite, por una parte, economizar los recursos en el servidor: las conexiones en espera cierran el socket y liberan un proceso en el servidor. Por otra parte, esto le permite evitar pérdida de conexiones por el cierre de sockets por parte del firewall. Por esta razón, el valor del timeout para conexiones inactivas deber ser menor que el del firewall en este caso.
@@ -464,7 +450,7 @@ Este parámetro puede definirse del lado del cliente. Por lo general, no necesit
### PHP interpreter IP address (55)
-**Alcance**: Aplicación 4D
+**Alcance**: aplicación 4D
Se conserva entre dos **sesiones**: no
@@ -478,9 +464,9 @@ Para mayor información sobre el intérprete PHP, por favor consulte el manual d
### PHP interpreter port (56)
-**Alcance**:Aplicación 4D
+**Alcance**: aplicación 4D
- **Se conserva entre dos sesiones**: No
+ **Se conserva entre dos sesiones**: no
**Valores**: valor de tipo entero largo positivo. Por defecto, el valor es 8002\.
@@ -496,9 +482,7 @@ Se conserva entre dos sesiones: No
**Valores posibles**: secuencia de cadenas separadas por dos puntos.
-**Description:** **Descripción:** lista de cifrado (*cipher list*) utilizada por 4D para el protocolo seguro. Esta lista modifica la prioridad de los algoritmos de cifrado implementados por 4D. Por ejemplo, puede pasar la siguiente cadena en el parámetro *valor*: "HIGH:!aNULL:!MD5:!3DES:!CAMELLIA:!AES128:!RSA:!DH:!RC4".
-
-Para una descripción completa de la sintaxis para la lista cifrada, consulte la *página de cifrado del sitio OpenSSL*.
+**Descripción:** lista de cifrado (*cipher list*) utilizada por 4D para el protocolo seguro. Esta lista modifica la prioridad de los algoritmos de cifrado implementados por 4D. Por ejemplo, puede pasar la siguiente cadena en el parámetro *valor*: "HIGH:!aNULL:!MD5:!3DES:!CAMELLIA:!AES128:!RSA:!DH:!RC4". Para una descripción completa de la sintaxis para la lista cifrada, consulte la *página de cifrado del sitio OpenSSL*.
Esta configuración se aplica al servidor web principal (excluyendo los objetos del servidor web), al servidor SQL, a las conexiones cliente/servidor, así como al cliente HTTP y a todos los comandos 4D que hacen uso del protocolo seguro. Es temporal (no se mantiene entre sesiones).
@@ -512,9 +496,9 @@ Para reinicializar la lista de cifrado a su valor por defecto (guardado permanen
### Cache unload minimum size (66)
-**Alcance**: Aplicación 4D
+**Alcance**: aplicación 4D
-**Se conserva entre dos sesiones**: No
+**Se conserva entre dos sesiones**: no
**Valores posibles**: Entero largo positivo > 1.
@@ -522,16 +506,6 @@ Para reinicializar la lista de cifrado a su valor por defecto (guardado permanen
El propósito de este selector es reducir el número de liberaciones de datos de la caché con el fin de obtener un mejor rendimiento. Puede hacer variar este parámetro en función del tamaño de la caché y del de los bloques de datos manipulados en su base.
-Por defecto, si este selector no se utiliza, 4D descarga mínimo 10% de la caché en caso de que se necesite espacio.Alcance: Aplicación 4D
-
-Se conserva entre dos sesiones: No
-
-Valores posibles: Entero largo positivo > 1.
-
-Descripción: tamaño mínimo de memoria a liberar del caché de la base de datos cuando el motor necesita hacer espacio para ubicar un objeto (valor en bytes).
-
-El propósito de este selector es reducir el número de liberaciones de datos de la caché con el fin de obtener un mejor rendimiento. Puede hacer variar este parámetro en función del tamaño de la caché y del de los bloques de datos manipulados en su base.
-
Por defecto, si este selector no se utiliza, 4D descarga mínimo 10% de la caché en caso de que se necesite espacio.
@@ -540,7 +514,7 @@ Por defecto, si este selector no se utiliza, 4D descarga mínimo 10% de la cach
**Alcance**: aplicación 4D
-**Se conserva entre dos sesiones**: No
+**Se conserva entre dos sesiones**: no
**Descripción**: modo de activación de Direct2D bajo Windows.
@@ -578,7 +552,7 @@ Por ejemplo, si ejecuta:
### Diagnostic log recording (79)
-**Thread-safe** : Yes
+**Hilo seguro**: sí
**Alcance**: Aplicación 4D
@@ -596,17 +570,19 @@ Note que es posible incluir la información personalizada en este archivo con ay
### Log command list (80)
-**Alcance**: Aplicación 4D
+**Alcance**: aplicación 4D
-**Se conserva entre dos sesiones**: No
+**Se conserva entre dos sesiones**: no
**Valores posibles**: cadena que contiene la lista de números de los comandos 4D a guardar (separados por dos puntos), "all" para guardar todos los comandos o "" (cadena vacía) para no guardar ninguno.
**Descripción**: la lista de comandos 4D a guardar en el archivo de depuración (ver el selector 34, Debug Log Recording). Por defecto, se guardan todos los comandos 4D.
-Este selector permite guardar la cantidad de información almacenada en el archivo de depuración limitando los comandos 4D donde quiera guardar la ejecución.
-
+Este selector restringe la cantidad de información guardada en el archivo de depuración limitando los comandos 4D cuya ejecución desea registrar o excluir del registro. Por ejemplo, puede escribir:
+ SET DATABASE PARAMETER(Log command list;"277;341") //Grabar solo los comandos QUERY y QUERY SELECTION O SET DATABASE PARAMETER(Log command list;"-1666;-323") //Excluir SET USER ALIAS y DELAY PROCESS commands from being recorded
+
+
### Spellchecker (81)
@@ -622,11 +598,11 @@ Este selector permite guardar la cantidad de información almacenada en el archi
### Dates inside objects (85)
-**Alcance**: Proceso actual
+**Alcance**: proceso actual
- **Se conserva entre dos sesiones:** No**
+ **Se conserva entre dos sesiones**: no
- Valores posibles**: String type without time zone (0), String type with time zone (1), Date type (2) (por defecto)
+ **Valores posibles**: String type without time zone (0), String type with time zone (1), Date type (2) (por defecto)
**Descripción**: define la forma en que se almacenan las fechas dentro de los objetos, así como también cómo se importan / exportan en JSON.
@@ -636,15 +612,13 @@ Si pasa String type with time zone en este selector, convertirá las fechas 4D e
-
-
### Diagnostic log level (86)
-**Thread-safe** : Yes
+**Hilo seguro**: sí
-**Alcance**: Aplicación 4D
+**Alcance**: aplicación 4D
-**Se conserva entre dos sesiones**: No
+**Se conserva entre dos sesiones**: no
**Descripción**: nivel(es) de los mensajes que se incluirán en el registro de diagnóstico cuando esté habilitado (ver selector Diagnostic log recording). Cada nivel designa una categoría de mensajes de diagnóstico e incluye automáticamente las categorías más importantes. Para una descripción de las categorías, consulte la sección *Niveles de registro de diagnóstico* en *developer.4d.com*.
@@ -656,15 +630,11 @@ Si pasa String type with time zone en este selector, convertirá las fechas 4D e
**Alcance:** 4D en modo local, 4D Server**
-Se conserva entre dos sesiones:** sí**
-
-** **Descripción:** fija u obtiene el estado actual de la capa de red antigua para las conexiones cliente/servidor.
-
-La capa de red antigua es obsoleta a partir de 4D v14 R5 y debe ser reemplazada progresivamente en sus aplicaciones por la capa de red *ServerNet*. *ServerNet* será requerida en próximas versiones 4D con el fin de beneficiarse de las futuras evoluciones de la red. Por razones de compatibilidad, la capa de red antigua aún se soporta para permitir una transición sin problemas para las aplicaciones existentes; (se usa por defecto en aplicaciones convertidas de una versión anterior a v14 R5). Pase 1 en este parámetro para utilizar la capa de red antigua (y desactivar *ServerNet*) para las conexiones cliente/servidor, y pase 0 para deshabilitar la red antigua (y utilizar *ServerNet*).
+**Se conserva entre dos sesiones:** sí**
-Esta propiedad también se puede definir mediante la opción "Usar capa de red antigua " que se encuentran en *Página Compatibilidad* de las Propiedades de la base (ver *Opciones red y cliente-servidor*). En esta sección, también puede encontrar una discusión sobre la estrategia de migración. Le recomendamos que active *ServerNet* tan pronto como sea posible.
+ **Descripción:** fija u obtiene el estado actual de la capa de red antigua para las conexiones cliente/servidor. La capa de red antigua es obsoleta a partir de 4D v14 R5 y debe ser reemplazada progresivamente en sus aplicaciones por la capa de red *ServerNet*. *ServerNet* será requerida en próximas versiones 4D con el fin de beneficiarse de las futuras evoluciones de la red. Por razones de compatibilidad, la capa de red antigua aún se soporta para permitir una transición sin problemas para las aplicaciones existentes; (se usa por defecto en aplicaciones convertidas de una versión anterior a v14 R5). Pase 1 en este parámetro para utilizar la capa de red antigua (y desactivar *ServerNet*) para las conexiones cliente/servidor, y pase 0 para deshabilitar la red antigua (y utilizar *ServerNet*).
-Deberá reiniciar la aplicación para que este parámetro sea tenido en cuenta. No está disponible en 4D Server v14 R5 64-bit versión para macOS, que sólo soporta el *ServetNet*; (siempre devuelve 0).
+Esta propiedad también se puede definir mediante la opción "Usar capa de red antigua " que se encuentran en *Página Compatibilidad* de las Propiedades de la base (ver *Opciones red y cliente-servidor*). En esta sección, también puede encontrar una discusión sobre la estrategia de migración. Le recomendamos que active *ServerNet* tan pronto como sea posible. Deberá reiniciar la aplicación para que este parámetro sea tenido en cuenta. No está disponible en 4D Server v14 R5 64-bit versión para macOS, que sólo soporta el *ServetNet*; (siempre devuelve 0).
**Valores posibles:** 0 o 1 (0 = no utilizan capa de red antigua, 1 = uso capa de red antigua)
@@ -676,7 +646,7 @@ Deberá reiniciar la aplicación para que este parámetro sea tenido en cuenta.
**Alcance**: 4D modo local y 4D Server.
-: Sí
+**Se conserva entre dos sesiones:** sí**
**Descripción**: permite leer o definir el número del puerto TCP utilizado por el servidor SQL integrado de 4D en modo local o 4D Server. Por defecto, el valor es 19812\. Cuando se define este selector, la configuración de la base se actualiza. También puede definir el número del puerto TCP en la página "SQL" de la caja de diálogo de Propiedades de la base.
@@ -688,7 +658,7 @@ Deberá reiniciar la aplicación para que este parámetro sea tenido en cuenta.
### Circular log limitation (90)
-**Thread-safe** : Yes
+**Hilo seguro**: sí
**Alcance**: 4D local, 4D Server.
@@ -726,7 +696,7 @@ Deberá reiniciar la aplicación para que este parámetro sea tenido en cuenta.
### Cache flush periodicity (95)
-**Thread-safe** : Yes
+**Hilo seguro**: sí
**Alcance**: 4D local, 4D Server
@@ -753,13 +723,11 @@ El tiempo de espera de la conexión remota se aplica después de que una máquin
-
-
### Tips enabled (101)
**Alcance**: aplicación 4D
-**Se conserva entre dos sesiones**: No
+**Se conserva entre dos sesiones**: no
**Valores posibles**: 0 = consejos desactivados, 1 = consejos activados (predeterminado)
@@ -811,10 +779,6 @@ Tenga en cuenta que este parámetro define todos los consejos 4D, es decir, los
-
-
-
-
### User param value (108)
**Alcance**: 4D local, 4D Server
@@ -833,7 +797,7 @@ Cuando se utiliza con [SET DATABASE PARAMETER](set-database-parameter.md), defin
Alcance: 4D local, 4D Server (todos los procesos)
- Se conserva entre dos sesiones: No
+ Se conserva entre dos **sesiones**: No
**Valores posibles**: Times in seconds (0) (predeterminado), Times in milliseconds (1)
@@ -847,11 +811,11 @@ En versiones anteriores, los valores de tiempo se convertían y almacenaban como
### SMTP Log (110)
-**Thread-safe** : Yes
+**Hilo seguro**: sí
**Alcance**: 4D local, 4D Server*
-* **Se conserva entre dos sesiones**: No
+* **Se conserva entre dos sesiones**: no
**Valores posibles**: 0 o de 1 a X (0 = no grabar, 1 a X = número secuencial, agregado al nombre del archivo). De forma predeterminada, el valor es 0 (intercambios SMTP no registrados).
@@ -867,7 +831,11 @@ Para obtener más información sobre los archivos 4DSMTPLog\_X.txt, consulte la
**Se conserva entre dos sesiones:** No
-**Descripción**: inicia o detiene el registro secuencial de eventos de programación **del proceso actual** en un archivo de historial separado. Este historial es similar al Debug log recording (selector 34) pero se enfoca solo en el proceso actual. El nombre del archivo de historial incluye la letra "p" y el número del proceso: 4DDebugLog\[\_p*N*_*n*].txt, donde N es el ID único del proceso. Para más información sobre este formato y sobre el uso del archivo *4DDebugLog*, consulte *Descripción de archivos de historial* en el Modo Diseño. **Notas:** Este selector se proporciona únicamente con el fin de depurar y debe utilizarse con cuidado. En particular, no debe ponerse en producción, ya que puede tener un impacto en el rendimiento de la aplicación. Puede utilizarar ambos selectores Debug log recording y Current process debug log recording simultáneamente, en cuyo caso las acciones del proceso actual no se registrarán en el archivo de historial principal.
+**Descripción**: inicia o detiene el registro secuencial de eventos de programación **del proceso actual** en un archivo de historial separado. Este historial es similar al Debug log recording (selector 34) pero se enfoca solo en el proceso actual. El nombre del archivo de historial incluye la letra "p" y el número del proceso: 4DDebugLog\[\_p*N*_*n*].txt, donde N es el ID único del proceso.
+
+Para más información sobre este formato y sobre el uso del archivo *4DDebugLog*, consulte *Descripción de archivos de historial* en el Modo Diseño.
+
+**Notas:** Este selector se proporciona únicamente con el fin de depurar y debe utilizarse con cuidado. En particular, no debe ponerse en producción, ya que puede tener un impacto en el rendimiento de la aplicación. Puede utilizarar ambos selectores Debug log recording y Current process debug log recording simultáneamente, en cuyo caso las acciones del proceso actual no se registrarán en el archivo de historial principal.
@@ -913,7 +881,7 @@ Para obtener más información sobre los archivos 4DSMTPLog\_X.txt, consulte la
### POP3 Log (116)
-**Thread-safe** : Yes
+**Hilo seguro**: sí
**Alcance:** 4D local, 4D Server
@@ -921,7 +889,7 @@ Para obtener más información sobre los archivos 4DSMTPLog\_X.txt, consulte la
**Valores posibles:** 0 o de 1 a X (0 = no registrar, 1 a X = número secuencial, agregado al nombre del archivo). Por defecto, el valor es 0 (intercambios POP3 no registrados).
-: iInicia o detiene la grabación de intercambios entre 4D y el servidor POP3, cuando un objeto transportador se procesa a través de *POP3\_transporter.getMail( )* o *POP3\_transporter.checkConnection( )*. Por defecto, el valor es 0 (intercambios no registrados). Cuando este mecanismo está habilitado, se crea un archivo de registro en la carpeta Logs de la base. Se llama 4DPOP3Log\_X.txt, donde X es el número secuencial del registro. Una vez que el archivo 4DPOP3Log ha alcanzado un tamaño de 10 MB, se cierra y se genera uno nuevo, con un número secuencial incrementado. Si ya existe un archivo con el mismo nombre, se reemplaza directamente. Puede establecer el número inicial de la secuencia utilizando el parámetro valor. De manera predeterminada, todos los archivos se mantienen, pero puede controlar la cantidad de archivos que se deben seguir utilizando el parámetro Circular log limitation.
+**Descripción**: inicia o detiene la grabación de intercambios entre 4D y el servidor POP3, cuando un objeto transportador se procesa a través de *POP3\_transporter.getMail( )* o *POP3\_transporter.checkConnection( )*. Por defecto, el valor es 0 (intercambios no registrados). Cuando este mecanismo está habilitado, se crea un archivo de registro en la carpeta Logs de la base. Se llama 4DPOP3Log\_X.txt, donde X es el número secuencial del registro. Una vez que el archivo 4DPOP3Log ha alcanzado un tamaño de 10 MB, se cierra y se genera uno nuevo, con un número secuencial incrementado. Si ya existe un archivo con el mismo nombre, se reemplaza directamente. Puede establecer el número inicial de la secuencia utilizando el parámetro valor. De manera predeterminada, todos los archivos se mantienen, pero puede controlar la cantidad de archivos que se deben seguir utilizando el parámetro Circular log limitation.
Para más información sobre los archivos 4DPOP3Log\_X.txt, consulte la sección *Descripción de archivos de historial*.
@@ -939,7 +907,7 @@ Para más información sobre los archivos 4DPOP3Log\_X.txt, consulte la sección
### IMAP Log (119)
-**Thread-safe** : Yes
+**Hilo seguro**: sí
**Alcance**: 4D local, 4D Server
@@ -965,7 +933,7 @@ Para más información sobre los archivos 4DIMAPLog\_X.txt, consulte la sección
### Pause logging (121)
-**Thread-safe** : Yes
+**Hilo seguro**: sí
**Alcance**: aplicación 4D
@@ -979,25 +947,27 @@ Este selector permite suspender/reanudar todas las operaciones de registro inici
### TCPUDP log recording (131)
-**Scope:** 4D application.
+**Alcance**: aplicación 4D
+
+**Se mantiene entre dos sesiones**: no
+
+**Valores posibles:** `0`: Logging desactivado (por defecto), `1`: Logging activado.
-**Kept between two sessions:** No.
+**Descripción:** activa o desactiva el archivo `4DTCPUDPLog.txt` para los eventos logging TCP.
-**Possible values:** `0`: Logging disabled (default), `1`: Logging enabled.
-**Description:** Enables or disables the `4DTCPUDPLog.txt` file for logging TCP events.
+### RDP optimization
+**Alcance**: aplicación 4D
-### RDP optimization (133)
+**Se mantiene entre dos sesiones**: no
-**Scope:** 4D application.
+**Valores posibles:** `0`: Disabled (default), `1`: Enabled.
-**Kept between two sessions:** No.
+**Descripción:** Activa o desactiva las optimizaciones para RDP (Protocolo de escritorio remoto). Cuando está activado, optimiza en particular el uso del portapapeles compartido en las conexiones RDP, que de otro modo pueden provocar problemas de congelación. Tenga en cuenta que este selector desactiva la compatibilidad en el portapapeles para imágenes codificadas como URI de datos en texto sin formato (solo afecta a las imágenes que se sueltan o se copian explícitamente como texto desde un navegador).
-**Possible values:** `0`: Disabled (default), `1`: Enabled.
-**Description:** Enables or disables optimizations for RDP (Remote Desktop Protocol). When enabled, optimizes in particular the use of shared clipboard in RDP connections, which can otherwise lead to freezing issues. Note that this selector disables the support in clipboard for images encoded as data uri in raw text (only concerns images dropped or explicitly copied as text from a browser).
## Selectores hilo seguro
@@ -1053,5 +1023,3 @@ En el [Método base On Startup](metodo-base-on-startup.md), usted escribe:
| --- | --- |
| Número de comando | 643 |
| Hilo seguro | ✗ |
-
-
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-21/commands-legacy/set-database-parameter.md b/i18n/es/docusaurus-plugin-content-docs/version-21/commands-legacy/set-database-parameter.md
index 2aa47763c6f437..b2223dee64a5c1 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-21/commands-legacy/set-database-parameter.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-21/commands-legacy/set-database-parameter.md
@@ -25,7 +25,7 @@ El *selector* designa el parámetro a modificar. 4D ofrece constantes predefinid
**Alcance**: aplicación 4D si *valor* positivo
-Se conserva entre dos **sesiones**: sí si *valor* positivo
+**Se conserva entre dos sesiones**: sí si *valor* positivo
**Valores posibles**: 0 -> 32 767
@@ -33,8 +33,6 @@ Se conserva entre dos **sesiones**: sí si *valor* positivo
El timeout del servidor define el periodo máximo de no respuesta del cliente "autorizado", por ejemplo si realiza una operación de bloqueo. Al terminar esta periodo, 4D Server desconecta al cliente. El selector 4D Server Timeout le permite asignar en el parámetro *valor*un nuevo timeout, expresado en minutos. Esta funcionalidad es particularmente útil para aumentar el valor del timeout antes de la ejecución en el equipo cliente de una operación de larga duración, tal como la impresión de un gran número de páginas, la cual puede causar un timeout inesperado.
-
-
Tiene dos opciones:
Si pasa un valor **positivo** en el parámetro *valor*, define un timeout global y permanente: el nuevo valor se aplica a todos los procesos y se almacena en las Preferencias de la aplicación 4D (equivalente a cambiar en el diálogo Preferencias).Si pasa un valor **negativo** en el parámetro *valor*, define un timeout lobal y temporal: el nuevo valor se aplica únicamente a los procesos llamantes (los otros procesos conservan los valores por defecto) y se restaura al valor por defecto tan pronto como el servidor recibe una señal de actividad del cliente, por ejemplo, cuando la operación termina. Esta opción es muy útil para administrar operaciones largas iniciadas por plug-ins 4D. Para definir una conexión "Sin timeout", pase 0 en *valor*. Ver el ejemplo 1.
@@ -57,27 +55,21 @@ El selector Timeout 4D mode distant no se tiene en cuenta si utiliza la antigua
**Alcance**: 4D local, 4D Server
-Se conserva entre dos **sesiones**: no
-
-**Descripción**: Command SET DATABASE Número de puerto TCP utilizado por el servidor web 4D con 4D en modo local y 4D Server. Por defecto, el valor es 80.
+**Se conserva entre dos sesiones**: no
-El número de puerto TCP está definido en la página "Web/Configuración" de la caja de diálogo de las Propiedades de la base. Puede utilizar las constantes del tema para el parámetro *valor*.
+**Descripción**: Command SET DATABASE Número de puerto TCP utilizado por el servidor web 4D con 4D en modo local y 4D Server. El valor por defecto, que puede ser definido en la página "Web/Configuración" de la caja de diálogo Preferencias, es 80. Puede utilizar las constantes del tema *Números de puerto TCP* para el parámetro *valor*.
El selector Port ID se utiliza en el marco de servidores web 4D compilados y fusionados con 4D Desktop (sin acceso al modo Diseño). Para mayor información sobre el número de puerto TCP, consulte la sección *Parámetros del servidor web*
-
-
### Character set (17)
-**Alcance:** 4D local, 4D Server**
-
-Se conserva entre dos sesiones:** sí**
-
-Descripción:** constante obsoleta (se conserva por compatibilidad únicamente). Ahora recomendamos utilizar los comandos [WEB SET OPTION](web-set-option.md) y [WEB GET OPTION](web-get-option.md) para la configuración del servidor HTTP.
+**Alcance:** 4D local, 4D Server
+**Se conserva entre dos sesiones**: sí
+**Descripción:** constante obsoleta (se conserva por compatibilidad únicamente). Ahora recomendamos utilizar los comandos [WEB SET OPTION](web-set-option.md) y [WEB GET OPTION](web-get-option.md) para la configuración del servidor HTTP.
@@ -85,11 +77,9 @@ Descripción:** constante obsoleta (se conserva por compatibilidad únicamente).
**Alcance**: 4D local, 4D Server
-Se conserva entre dos **sesiones**: sí
+**Se conserva entre dos sesiones**: sí
-**Valores**: todo valor entre 10 y 32 000\. El valor por defecto es 100.
-
-**Descripción**: Constante obsoleta (se conserva por compatibilidad únicamente). Se recomienda utilizar los comandos [WEB SET OPTION](web-set-option.md) y [WEB GET OPTION](web-get-option.md) para la configuración del servidor HTTP.
+**Descripción**: *constante obsoleta (se conserva por compatibilidad únicamente).* Se recomienda utilizar los comandos [WEB SET OPTION](web-set-option.md) y [WEB GET OPTION](web-get-option.md) para la configuración del servidor HTTP.
@@ -97,7 +87,7 @@ Se conserva entre dos **sesiones**: sí
**Alcance**: todos los equipos 4D remotos
- Se conserva entre dos **sesiones**: sí
+ **Se conserva entre dos sesiones**: sí
**Valores posibles**: ver selector 15
@@ -109,7 +99,7 @@ Se conserva entre dos **sesiones**: sí
**Alcance**: todos los equipos 4D remotos
- Se conserva entre dos **sesiones**: sí
+ **Se conserva entre dos sesiones**: sí
**Valores posibles**: ver selector 17
@@ -121,23 +111,19 @@ Se conserva entre dos **sesiones**: sí
**Alcance**: todos los equipos 4D remotos
-Se conserva entre dos **sesiones**: sí
+**Se conserva entre dos sesiones**: sí
-Valores posibles: ver selector 18
+**Valores posibles**: ver selector 18
**Descripción**: permite especificar esta parámetro para las máquinas 4D remotas utilizadas como servidores web. Los valores definidos utilizando estos selectores se aplican a todos los equipos remotos utilizados como servidores web. Si quiere definir este valor sólo para ciertos equipos remotos, utilice la caja de diálogo de Preferencias de 4D en modo remoto.
-
-
### Maximum Web requests size (27)
**Alcance**: 4D local, 4D Server
-Se conserva entre dos **sesiones**: sí
-
-**Valores posibles**: 500 000 a 2 147 483 648.
+**Se conserva entre dos sesiones**: sí
**Descripción**: Constante obsoleta (se conserva por compatibilidad únicamente). Se recomienda utilizar los comandos [WEB SET OPTION](web-set-option.md) y [WEB GET OPTION](web-get-option.md) para la configuración del servidor HTTP.
@@ -145,13 +131,13 @@ Se conserva entre dos **sesiones**: sí
### 4D Server log recording (28)
-**Thread-safe** : Yes
+**Hilo seguro**: sí
**Alcance**: 4D Server, 4D remoto*
-* Se conserva entre dos **sesiones**: no
+**Se conserva entre dos sesiones**: no
- **Valores** **posibles**: 0 ó de 1 a X (0 = no grabar, 1 a X = número secuencial, añadido al nombre del archivo).
+ **Valores posibles**: 0 ó de 1 a X (0 = no grabar, 1 a X = número secuencial, añadido al nombre del archivo).
**Descripción**: inicia o detiene la grabación de las peticiones estándar recibidas por 4D Server (excluyendo las peticiones web). Por defecto, el valor es 0 (no se graban las peticiones).
@@ -159,13 +145,11 @@ Se conserva entre dos **sesiones**: sí
Este archivo texto almacena en formato tabulado simple diferente información sobre cada petición: hora, número de proceso, usuario, tamaño de la petición, duración del proceso, etc. Esta información puede ser útil particularmente durante la fase de afinamiento de la aplicación o con fines estadísticos. Por ejemplo puede importarse, en un software de hoja de cálculo para procesarse.
-
-
### Client Web log recording (30)
**Alcance**: todos los equipos 4D remotos
- Se conserva entre dos **sesiones**: sí
+ **Se conserva entre dos sesiones**: sí
**Valores posibles**: 0 = No grabar (por defecto), 1 = Registrar en formato CLF, 2 = Registrar en formato DLF, 3 = Registrar en formato ELF, 4 = Registrar en formato WLF.
@@ -177,9 +161,9 @@ El funcionamiento de este selector es idéntico al del selector 29; sin embargo,
### Table sequence number (31)
-**Alcance**: *a*plicación 4D
+**Alcance**: aplicación 4D
- Se conserva entre dos **sesiones**: sí
+ **Se conserva entre dos sesiones**: sí
**Valores posibles**: todo valor de tipo entero largo.
@@ -189,21 +173,21 @@ Por defecto, este número único es definido por 4D y corresponde al orden de cr
+### Debug log recording (34)
+**Hilo seguro**: sí
+**Alcance**: aplicación 4D
+**Se conserva entre dos sesiones**: no
-### Debug log recording (34)
-
-**Thread-safe** : Yes
-
-**Alcance**: Aplicación 4D
+**Descripción**: inicia o detiene la grabación secuencial de los eventos a nivel de programación de 4D en el archivo 4DDebugLog, que se ubica automáticamente en la subcarpeta Logs de la base de datos, junto al archivo de estructura. Un nuevo formato texto tabulado, más compacto se utiliza en el archivo de registro de eventos "4DDebugLog \[\_n\].txt" a partir de 4D v14 (donde \_n es el número de segmento del archivo y *Server* se añade al nombre del archivo cuando se genera en el servidor). Hay dos modos disponibles:
-**Se conserva entre dos sesiones**: No
+- El modo estándar ofrece una vista básica de los eventos y el archivo se coloca automáticamente en la subcarpeta Logs de la base de datos, junto al archivo de estructura. Los tiempos de ejecución se expresan en milisegundos y se muestra el valor "< ms" cuando una operación dura menos de un milisegundo.
-**Descripción**: inicia o detiene la grabación secuencial de los eventos a nivel de programación de 4D en el archivo 4DDebugLog, que se ubica automáticamente en la subcarpeta Logs de la base de datos, junto al archivo de estructura. Un nuevo formato texto tabulado, más compacto se utiliza en el archivo de registro de eventos "4DDebugLog \[\_n\].txt" a partir de 4D v14 (donde \_n es el número de segmento del archivo).
+- El modo con pestañas ofrece información adicional y utiliza un formato más compacto con pestañas en el archivo. Los tiempos de ejecución se expresan en microsegundos.
-**Valores posibles**: Entero largo contiene un campo de bits: valor = bit1(1)+bit2(2)+bit3(4)+bit4(8)+…).
+**Valores posibles**: entero largo contiene un campo de bits: valor = bit1(1)+bit2(2)+bit3(4)+bit4(8)+…).
- Bit 0 (valor 1) permite activar el archivo (note que cualquier otro valor no nulo también lo activará)
@@ -225,13 +209,21 @@ SET DATABASE PARAMETER (34;2) // activa el modo estándar con los parámetros y
SET DATABASE PARAMETER (34;2+4) // activa el modo tabulado con los parámetros y las duraciones
-SET DATABASE PARAMETER (34;0) // desactiva el archivo Para todo tipo de aplicación 4D interpretada o compilada (4D todos los modos, 4D Server, 4D Volume Desktop), puede evitar que un archivo registre demasiada información:
+SET DATABASE PARAMETER (34;0) // desactiva el archivo
+
+Para todo tipo de aplicación 4D interpretada o compilada (4D todos los modos, 4D Server, 4D Volume Desktop), puede evitar que un archivo registre demasiada información:
- restringiendo los comandos 4D que se examinan utilizando Log command list (selector 80), o
- restringiéndolo sólo al proceso actual con Current process debug log recording (selector 111). Esto añadirá la letra "p" y el número de proceso al nombre del archivo: *4DDebugLog\[\_pn\_n\].txt* o *4DDebugLogServer\[\_pn\_n\].txt*
-Para más información sobre este formato y sobre el uso del archivo *4DDebugLog*, consulte la sección *Descripción de archivos de historial*. **Nota:** este selector se ofrece únicamente con fines de depuración y debe utilizarse con cuidado, ya que puede afectar al rendimiento de la aplicación.
+*Para más información sobre este formato y sobre el uso del archivo *4DDebugLog*, consulte la sección *Descripción de archivos de historial*.
+
+Este selector se ofrece únicamente con fines de depuración y debe utilizarse con cuidado, ya que puede afectar al rendimiento de la aplicación.
+
+
+
+
@@ -239,9 +231,9 @@ Para más información sobre este formato y sobre el uso del archivo *4DDebugLog
**Alcance**: base de datos
-Se conserva entre dos **sesiones**: sí**
+**Se conserva entre dos sesiones**: sí
-Valores posibles**: 0 a 65535
+**Valores posibles**: 0 a 65535
**Descripción**: número de puerto TCP donde el servidor 4D publica la base de datos (para conexión remota 4D). Por defecto, el valor es 19813\.
@@ -257,17 +249,17 @@ Cuando modifica este valor, es necesario reiniciar el equipo servidor para que e
**Alcance**: 4D local, 4D Server
-Se conserva entre dos **sesiones**: sí
+**Se conserva entre dos sesiones**: sí
-**Descripción**: Constante obsoleta (se conserva por compatibilidad únicamente). Se recomienda utilizar los comandos [WEB SET OPTION](web-set-option.md) y [WEB GET OPTION](web-get-option.md) para la configuración del servidor HTTP.
+**Descripción**: *constante obsoleta (se conserva por compatibilidad únicamente).* Se recomienda utilizar los comandos [WEB SET OPTION](web-set-option.md) y [WEB GET OPTION](web-get-option.md) para la configuración del servidor HTTP.
### Client HTTPS port ID (40)
-**Alcance**:todos los equipos 4D remotos
+**Alcance**: todos los equipos 4D remotos
- Se conserva entre dos **sesiones**: sí
+ **Se conserva entre dos sesiones**: sí
**Valores posibles**: 0 a 65535
@@ -279,13 +271,11 @@ Este selector funciona exactamente igual que el selector 39; sin embargo, aplica
-
-
### SQL Autocommit (43)
-**Alcance**:base de datos
+**Alcance**: base de datos
- Se conserva entre dos **sesiones**: sí
+ **Se conserva entre dos sesiones**: sí
**Posibles valores**: 0 (desactivación) o 1 (activación)
@@ -297,9 +287,9 @@ Este selector funciona exactamente igual que el selector 39; sin embargo, aplica
### SQL Engine case sensitivity (44)
-**Alcance**:base de datos
+**Alcance**: base de datos
- Se conserva entre dos sesiones: sí
+ **Se conserva entre dos sesiones**: sí
**Valores posibles**: 0 (no se tienen en cuenta las mayúsculas y minúsculas) ó 1 (sensible a las mayúsculas y minúsculas)
@@ -315,7 +305,7 @@ Esta opción también puede definirse en la [CALL SUBFORM CONTAINER](call-subfor
**Alcance**:equipo 4D remoto
- Se conserva entre dos **sesiones**: no
+ **Se conserva entre dos sesiones**: no
**Valores posibles**: 0 ó de 1 a X (0 = no grabar, 1 a X = número secuencial, asociado al nombre del archivo).
@@ -331,7 +321,7 @@ Estos archivos texto almacenan en formato tabulado simple diferente información
**Alcance**: tabla y procesos actuales
- Se conserva entre dos **sesiones**: no
+ **Se conserva entre dos sesiones**: no
**Valores posibles**: 0 (utilizar la configuración de la base), 1 (ejecutar en cliente) o 2 (ejecutar en servidor)
@@ -341,9 +331,11 @@ Cuando se utiliza una base en modo cliente-servidor, los comandos de búsqueda "
en bases creadas con 4D v11 SQL, estos comandos se ejecutan en el servidor.en bases convertidas, estos comandos se ejecutan en el equipo cliente, como en las versiones anteriores de 4D.en las bases convertidas, una preferencia específica permite modificar globalmente la ubicación de ejecución de estos comandos.Esta diferencia en ubicación de ejecución influye no sólo en el rendimiento de la aplicación (la ejecución en el servidor es generalmente más rápida) sino también en la programación. En efecto, el valor de los componentes de la fórmula (en particular las variables llamadas vía un método) varía de acuerdo al contexto de ejecución. Puede utilizar este selector para adaptar puntualmente el funcionamiento de su aplicación.
-Si pasa 0 en el parámetro *valor*, la ubicación de ejecución de los comandos de búsqueda "por fórmula" dependerá de la configuración de la base: en bases creadas con 4D v11 SQL, estos comandos se ejecutarán en el servidor. En bases convertidas, se ejecutarán en el equipo cliente o en el servidor en función de las preferencias de la base. Pase 1 ó 2 en *valor* para "forzar" la ejecución de estos comandos respectivamente en el equipo cliente o en el servidor. Consulte el ejemplo 2.
+Si pasa 0 en el parámetro *valor*, la ubicación de ejecución de los comandos de búsqueda "por fórmula" dependerá de la configuración de la base: en bases creadas con 4D v11 SQL, estos comandos se ejecutarán en el servidor. En bases convertidas, se ejecutarán en el equipo cliente o en el servidor en función de las preferencias de la base. Pase 1 ó 2 en *valor* para "forzar" la ejecución de estos comandos respectivamente en el equipo cliente o en el servidor.
- si quiere activar las uniones "tipo SQL" (consulte el selector QUERY BY FORMULA Joins selector), siempre debe ejecutar las fórmulas en el servidor de manera que tengan acceso a los registros. Atención, en este contexto, la fórmula no debe contener llamadas a un método, de lo contrario pasará automáticamente al equipo remoto.
+Consulte el ejemplo 2.
+
+**Nota:** si quiere activar las uniones "tipo SQL" (consulte el selector QUERY BY FORMULA Joins selector), siempre debe ejecutar las fórmulas en el servidor de manera que tengan acceso a los registros. Atención, en este contexto, la fórmula no debe contener llamadas a un método, de lo contrario pasará automáticamente al equipo remoto.
@@ -351,7 +343,7 @@ Si pasa 0 en el parámetro *valor*, la ubicación de ejecución de los comandos
**Alcance**: tabla y procesos actuales
- Se conserva entre dos **sesiones**: no
+ **Se conserva entre dos sesiones**: no
**Valores posibles**: 0 (utilizar la configuración de la base), 1 (ejecutar en el cliente) o 2 (ejecutar en el servidor)
@@ -359,9 +351,7 @@ Si pasa 0 en el parámetro *valor*, la ubicación de ejecución de los comandos
Al utilizar una base en modo cliente-servidor, el comando [ORDER BY FORMULA](order-by-formula.md "ORDER BY FORMULA") puede ejecutarse bien sea en el equipo servidor o en el cliente. Este selector puede utilizarse para especificar la ubicación de la ejecución de este comando (servidor o cliente). Este modo también puede definirse en las preferencias de la base. Para mayor información, consulte la descripción del selector 46, Query By Formula On Server.
-
-
- si quiere activar las uniones "tipo SQL" (consulte el selector QUERY BY FORMULA Joins selector), siempre debe ejecutar las fórmulas en el servidor de manera que tengan acceso a los registros. Atención, en este contexto, la fórmula no debe contener llamadas a un método, de lo contrario pasará automáticamente al equipo remoto.
+**Nota:** si quiere activar las uniones "tipo SQL" (consulte el selector QUERY BY FORMULA Joins selector), siempre debe ejecutar las fórmulas en el servidor de manera que tengan acceso a los registros. Atención, en este contexto, la fórmula no debe contener llamadas a un método, de lo contrario pasará automáticamente al equipo remoto.
@@ -369,9 +359,9 @@ Al utilizar una base en modo cliente-servidor, el comando [ORDER BY FORMULA](ord
**Alcance**:equipo 4D remoto
- Se conserva entre dos **sesiones**: no
+ **Se conserva entre dos sesiones**: no
- **Valores p** **osibles**: 0 (sin sincronización), 1 (auto sincronización) ó 2 (preguntar).
+ **Valores posibles**: 0 (sin sincronización), 1 (auto sincronización) ó 2 (preguntar).
**Descripción**: modo de sincronización dinámico de la carpeta *Resources* del equipo cliente 4D que ejecuta el comando con el servidor.
@@ -385,9 +375,9 @@ Tres modos de sincronización son posibles del lado del cliente. El selector Aut
### Query by formula joins (49)
-**Alcance**:Proceso actual
+**Alcance**: proceso actual
- Se conserva entre dos **sesiones**: no
+ **Se conserva entre dos sesiones**: no
**Valores posibles**: 0 (utilizar configuración de la base), 1 (siempre utilizar relaciones automáticas) o 2 (utilizar las uniones SQL si es posible).
@@ -405,9 +395,9 @@ El selector QUERY BY FORMULA Joins permite definir el modo de funcionamiento de
**Alcance**: aplicación 4D
-Se conserva entre dos **sesiones**: no
+**Se conserva entre dos sesiones**: no
-**Descripción**: Constante obsoleta (se conserva por compatibilidad únicamente). Se recomienda utilizar los comandos [WEB SET OPTION](web-set-option.md) y [WEB GET OPTION](web-get-option.md) para la configuración del servidor HTTP.
+**Descripción**: *constante obsoleta (se conserva por compatibilidad únicamente).* Se recomienda utilizar los comandos [WEB SET OPTION](web-set-option.md) y [WEB GET OPTION](web-get-option.md) para la configuración del servidor HTTP.
@@ -415,11 +405,9 @@ Se conserva entre dos **sesiones**: no
**Alcance**: aplicación 4D
-Se conserva entre dos **sesiones**: no
+**Se conserva entre dos sesiones**: no
-Valores posibles: todo valor de tipo entero largo
-
-**Descripción**: Constante obsoleta (se conserva por compatibilidad únicamente). Se recomienda utilizar los comandos [WEB SET OPTION](web-set-option.md) y [WEB GET OPTION](web-get-option.md) para la configuración del servidor HTTP.
+**Descripción**: *constante obsoleta (se conserva por compatibilidad únicamente).* Se recomienda utilizar los comandos [WEB SET OPTION](web-set-option.md) y [WEB GET OPTION](web-get-option.md) para la configuración del servidor HTTP.
@@ -427,7 +415,7 @@ Valores posibles: todo valor de tipo entero largo
**Alcance**: 4D Server
- Se conserva entre dos sesiones: no
+ **Se conserva entre dos sesiones**: no
**Valores posibles**: entero largo positivo.
@@ -441,8 +429,6 @@ Para que sea tenido en cuenta, este parámetro debe ejecutarse en el equipo serv
-
-
### Idle connections timeout (54)
**Alcance**: aplicación 4D a menos que valor sea negativo
@@ -451,7 +437,7 @@ Para que sea tenido en cuenta, este parámetro debe ejecutarse en el equipo serv
**Valores posibles:** valor entero que expresa una duración en segundos. El valor puede ser positivo (nuevas conexiones) o negativo (conexiones existentes). Por defecto, el valor es 20.
-**Descripción**: máximo periodo de inactividad (timeout) para conexiones al motor de la base 4D y al motor SQL, así como también en modo *ServerNet* (nueva capa de red), al servidor de la aplicación 4D. Cuando una conexión inactiva alcanza este límite, se pone en espera automáticamente, lo cual congela la sesión cliente/servidor y cierra el socket de red. En la ventana de administración del servidor, el estado del proceso del usuario se indica como "Postponed". Este funcionamiento es totalmente transparente para el usuario: tan pronto como hay una nueva actividad en la conexión que está en espera, el socket se reabre automáticamente y la sesión cliente/servidor se restaura.
+**Descripción**: máximo periodo de inactividad (timeout) para conexiones al motor de la base 4D, el motor SQL y el servidor de aplicaciones 4D (capa de red *ServerNet* únicamente, ignorado en *QUIC*). Cuando una conexión inactiva alcanza este límite, se pone en espera automáticamente, lo cual congela la sesión cliente/servidor y cierra el socket de red. En la ventana de administración del servidor, el estado del proceso del usuario se indica como "Postponed". Este funcionamiento es totalmente transparente para el usuario: tan pronto como hay una nueva actividad en la conexión que está en espera, el socket se reabre automáticamente y la sesión cliente/servidor se restaura.
Este parámetro permite, por una parte, economizar los recursos en el servidor: las conexiones en espera cierran el socket y liberan un proceso en el servidor. Por otra parte, esto le permite evitar pérdida de conexiones por el cierre de sockets por parte del firewall. Por esta razón, el valor del timeout para conexiones inactivas deber ser menor que el del firewall en este caso.
@@ -465,7 +451,7 @@ Este parámetro puede definirse del lado del cliente. Por lo general, no necesit
**Alcance**: Aplicación 4D
-Se conserva entre dos **sesiones**: no
+**Se conserva entre dos sesiones**: no
**Valores**: cadena formateada del tipo "nnn.nnn.nnn.nnn" (por ejemplo "127.0.0.1").
@@ -477,9 +463,9 @@ Para mayor información sobre el intérprete PHP, por favor consulte el manual d
### PHP interpreter port (56)
-**Alcance**:Aplicación 4D
+**Alcance**: aplicación 4D
- **Se conserva entre dos sesiones**: No
+ **Se conserva entre dos sesiones**: no
**Valores**: valor de tipo entero largo positivo. Por defecto, el valor es 8002\.
@@ -495,7 +481,7 @@ Se conserva entre dos sesiones: No
**Valores posibles**: secuencia de cadenas separadas por dos puntos.
-**Description:** **Descripción:** lista de cifrado (*cipher list*) utilizada por 4D para el protocolo seguro. Esta lista modifica la prioridad de los algoritmos de cifrado implementados por 4D. Por ejemplo, puede pasar la siguiente cadena en el parámetro *valor*: "HIGH:!aNULL:!MD5:!3DES:!CAMELLIA:!AES128:!RSA:!DH:!RC4".
+**Descripción:** lista de cifrado (*cipher list*) utilizada por 4D para el protocolo seguro. Esta lista modifica la prioridad de los algoritmos de cifrado implementados por 4D. Por ejemplo, puede pasar la siguiente cadena en el parámetro *valor*: "HIGH:!aNULL:!MD5:!3DES:!CAMELLIA:!AES128:!RSA:!DH:!RC4".
Para una descripción completa de la sintaxis para la lista cifrada, consulte la *página de cifrado del sitio OpenSSL*.
@@ -507,15 +493,13 @@ Para reinicializar la lista de cifrado a su valor por defecto (guardado permanen
**Nota:** con el comando [Get database parameter](get-database-parameter.md), la lista de cifrado se devuelve en el parámetro opcional *valorAlfa* y el parámetro de retorno es siempre 0.
-
-
### Cache unload minimum size (66)
-**Alcance**: Aplicación 4D
+**Alcance**: aplicación 4D
-**Se conserva entre dos sesiones**: No
+**Se conserva entre dos sesiones**: no
-**Valores posibles**: Entero largo positivo > 1.
+**Valores posibles**: entero largo positivo > 1.
**Descripción**: tamaño mínimo de memoria a liberar del caché de la base de datos cuando el motor necesita hacer espacio para ubicar un objeto (valor en bytes).
@@ -523,23 +507,13 @@ El propósito de este selector es reducir el número de liberaciones de datos de
Por defecto, si este selector no se utiliza, 4D descarga mínimo 10% de la caché en caso de que se necesite espacio.Alcance: Aplicación 4D
-Se conserva entre dos sesiones: No
-
-Valores posibles: Entero largo positivo > 1.
-
-Descripción: tamaño mínimo de memoria a liberar del caché de la base de datos cuando el motor necesita hacer espacio para ubicar un objeto (valor en bytes).
-
-El propósito de este selector es reducir el número de liberaciones de datos de la caché con el fin de obtener un mejor rendimiento. Puede hacer variar este parámetro en función del tamaño de la caché y del de los bloques de datos manipulados en su base.
-
-Por defecto, si este selector no se utiliza, 4D descarga mínimo 10% de la caché en caso de que se necesite espacio.
-
### Direct2D status (69)
**Alcance**: aplicación 4D
-**Se conserva entre dos sesiones**: No
+**Se conserva entre dos sesiones**: no
**Descripción**: modo de activación de Direct2D bajo Windows.
@@ -551,7 +525,7 @@ Direct2D Hardware (1): utilice Direct2D como contexto de hardware de gráficos p
Direct2D Software (3) (modo predeterminado): a partir de Windows 7, utilice el contexto del software de gráficos Direct2D para toda la aplicación 4D.
-***Advertencia* : este selector se proporciona solo para fines de depuración. Dado que varias funciones 4D se basan en Direct2D, no se debe desactivar en las aplicaciones implementadas. Solo el modo predeterminado (Direct2D Software)* **está aprobado para las aplicaciones desplegadas.*
+***Advertencia*: este selector se ofrece solo para fines de depuración. Dado que varias funciones 4D se basan en Direct2D, no se debe desactivar en las aplicaciones implementadas. Solo el modo predeterminado (Direct2D Software)* **está aprobado para las aplicaciones desplegadas.*
@@ -577,13 +551,13 @@ Por ejemplo, si ejecuta:
### Diagnostic log recording (79)
-**Thread-safe** : Yes
+**Hilo seguro**: sí
-**Alcance**: Aplicación 4D
+**Alcance**: aplicación 4D
-**Se conserva entre dos sesiones**: No
+**Se conserva entre dos sesiones**: no
-**Valores posibles**: 0 ó 1 (0 = no guardar,1 = guardar)
+**Valores posibles**: 0 ó 1 (0 = no guardar, 1 = guardar)
**Descripción**: inicio o detención del registro del archivo de diagnóstico de 4D. Por defecto, el valor es 0 (no guarda).
@@ -595,23 +569,25 @@ Note que es posible incluir la información personalizada en este archivo con ay
### Log command list (80)
-**Alcance**: Aplicación 4D
+**Alcance**: aplicación 4D
-**Se conserva entre dos sesiones**: No
+**Se conserva entre dos sesiones**: no
**Valores posibles**: cadena que contiene la lista de números de los comandos 4D a guardar (separados por dos puntos), "all" para guardar todos los comandos o "" (cadena vacía) para no guardar ninguno.
**Descripción**: la lista de comandos 4D a guardar en el archivo de depuración (ver el selector 34, Debug Log Recording). Por defecto, se guardan todos los comandos 4D.
-Este selector permite guardar la cantidad de información almacenada en el archivo de depuración limitando los comandos 4D donde quiera guardar la ejecución.
+Este selector restringe la cantidad de información guardada en el archivo de depuración limitando los comandos 4D cuya ejecución desea registrar o excluir del registro. Por ejemplo, puede escribir:
+ SET DATABASE PARAMETER(Log command list;"277;341") //Graba solo los comandos QUERY y QUERY SELECTION O SET DATABASE PARAMETER(Log command list;"-1666;-323") //Excluye los comandos SET USER ALIAS y DELAY PROCESS de ser grabados
+
### Spellchecker (81)
-**Alcance**: Aplicación 4D
+**Alcance**: aplicación 4D
- **Se conserva entre dos sesiones**: No
+ **Se conserva entre dos sesiones**: no
**Valores posibles**: 0 (por defecto) = corrector macOS nativo (Hunspell desactivado), 1 = corrector Hunspell activo.
@@ -621,11 +597,11 @@ Este selector permite guardar la cantidad de información almacenada en el archi
### Dates inside objects (85)
-**Alcance**: Proceso actual
+**Alcance**: proceso actual
- **Se conserva entre dos sesiones:** No**
+ **Se conserva entre dos sesiones:** no
- Valores posibles**: String type without time zone (0), String type with time zone (1), Date type (2) (por defecto)
+ **Valores posibles**: Tipo cadena sin zona horaria (0), tipo cadena con zona horaria (1), tipo fecha (2) (por defecto)
**Descripción**: define la forma en que se almacenan las fechas dentro de los objetos, así como también cómo se importan / exportan en JSON.
@@ -635,15 +611,13 @@ Si pasa String type with time zone en este selector, convertirá las fechas 4D e
-
-
### Diagnostic log level (86)
-**Thread-safe** : Yes
+**Hilo seguro**: sí
-**Alcance**: Aplicación 4D
+**Alcance**: aplicación 4D
-**Se conserva entre dos sesiones**: No
+**Se conserva entre dos sesiones**: no
**Descripción**: nivel(es) de los mensajes que se incluirán en el registro de diagnóstico cuando esté habilitado (ver selector Diagnostic log recording). Cada nivel designa una categoría de mensajes de diagnóstico e incluye automáticamente las categorías más importantes. Para una descripción de las categorías, consulte la sección *Niveles de registro de diagnóstico* en *developer.4d.com*.
@@ -655,15 +629,11 @@ Si pasa String type with time zone en este selector, convertirá las fechas 4D e
**Alcance:** 4D en modo local, 4D Server**
-Se conserva entre dos sesiones:** sí**
-
-** **Descripción:** fija u obtiene el estado actual de la capa de red antigua para las conexiones cliente/servidor.
+**Se conserva entre dos sesiones:** sí
-La capa de red antigua es obsoleta a partir de 4D v14 R5 y debe ser reemplazada progresivamente en sus aplicaciones por la capa de red *ServerNet*. *ServerNet* será requerida en próximas versiones 4D con el fin de beneficiarse de las futuras evoluciones de la red. Por razones de compatibilidad, la capa de red antigua aún se soporta para permitir una transición sin problemas para las aplicaciones existentes; (se usa por defecto en aplicaciones convertidas de una versión anterior a v14 R5). Pase 1 en este parámetro para utilizar la capa de red antigua (y desactivar *ServerNet*) para las conexiones cliente/servidor, y pase 0 para deshabilitar la red antigua (y utilizar *ServerNet*).
+**Descripción:** fija u obtiene el estado actual de la capa de red antigua para las conexiones cliente/servidor. La capa de red antigua es obsoleta a partir de 4D v14 R5 y debe ser reemplazada progresivamente en sus aplicaciones por la capa de red *ServerNet*. *ServerNet* será requerida en próximas versiones 4D con el fin de beneficiarse de las futuras evoluciones de la red. Por razones de compatibilidad, la capa de red antigua aún se soporta para permitir una transición sin problemas para las aplicaciones existentes; (se usa por defecto en aplicaciones convertidas de una versión anterior a v14 R5). Pase 1 en este parámetro para utilizar la capa de red antigua (y desactivar *ServerNet*) para las conexiones cliente/servidor, y pase 0 para deshabilitar la red antigua (y utilizar *ServerNet*).
-Esta propiedad también se puede definir mediante la opción "Usar capa de red antigua " que se encuentran en *Página Compatibilidad* de las Propiedades de la base (ver *Opciones red y cliente-servidor*). En esta sección, también puede encontrar una discusión sobre la estrategia de migración. Le recomendamos que active *ServerNet* tan pronto como sea posible.
-
-Deberá reiniciar la aplicación para que este parámetro sea tenido en cuenta. No está disponible en 4D Server v14 R5 64-bit versión para macOS, que sólo soporta el *ServetNet*; (siempre devuelve 0).
+Esta propiedad también se puede definir mediante la opción "Usar capa de red antigua " que se encuentran en *Página Compatibilidad* de las Propiedades de la base (ver *Opciones red y cliente-servidor*). En esta sección, también puede encontrar una discusión sobre la estrategia de migración. Le recomendamos que active *ServerNet* tan pronto como sea posible. Deberá reiniciar la aplicación para que este parámetro sea tenido en cuenta. No está disponible en 4D Server v14 R5 64-bit versión para macOS, que sólo soporta el *ServetNet*; (siempre devuelve 0).
**Valores posibles:** 0 o 1 (0 = no utilizan capa de red antigua, 1 = uso capa de red antigua)
@@ -687,7 +657,7 @@ Deberá reiniciar la aplicación para que este parámetro sea tenido en cuenta.
### Circular log limitation (90)
-**Thread-safe** : Yes
+**Hilo seguro**: sí
**Alcance**: 4D local, 4D Server.
@@ -725,7 +695,7 @@ Deberá reiniciar la aplicación para que este parámetro sea tenido en cuenta.
### Cache flush periodicity (95)
-**Thread-safe** : Yes
+**Hilo seguro**: sí
**Alcance**: 4D local, 4D Server
@@ -752,13 +722,11 @@ El tiempo de espera de la conexión remota se aplica después de que una máquin
-
-
### Tips enabled (101)
**Alcance**: aplicación 4D
-**Se conserva entre dos sesiones**: No
+**Se conserva entre dos sesiones**: no
**Valores posibles**: 0 = consejos desactivados, 1 = consejos activados (predeterminado)
@@ -796,7 +764,7 @@ Tenga en cuenta que este parámetro define todos los consejos 4D, es decir, los
**Alcance**: 4D Server, 4D Web Server y 4D SQL Server
-**Conservar entre dos sesiones**: No
+**Conservar entre dos sesiones**: no
**Descripción**: se utiliza para especificar el nivel TLS (Transport Layer Security), que ofrece cifrado y autenticación de datos entre aplicaciones y servidores. Se rechazarán los intentos de conexión de clientes que sólo soporten versiones inferiores a la mínima. La configuración se aplica globalmente a la capa de red. Una vez modificado, el servidor debe reiniciarse para utilizar el nuevo valor.
@@ -810,10 +778,6 @@ Tenga en cuenta que este parámetro define todos los consejos 4D, es decir, los
-
-
-
-
### User param value (108)
**Alcance**: 4D local, 4D Server
@@ -830,9 +794,9 @@ Cuando se utiliza con [SET DATABASE PARAMETER](set-database-parameter.md), defin
### Times inside objects (109)
-Alcance: 4D local, 4D Server (todos los procesos)
+**Alcance**: 4D local, 4D Server (todos los procesos)
- Se conserva entre dos sesiones: No
+ **Se conserva entre dos sesiones**: no
**Valores posibles**: Times in seconds (0) (predeterminado), Times in milliseconds (1)
@@ -846,11 +810,11 @@ En versiones anteriores, los valores de tiempo se convertían y almacenaban como
### SMTP Log (110)
-**Thread-safe** : Yes
+**Hilo seguro**: sí
**Alcance**: 4D local, 4D Server*
-* **Se conserva entre dos sesiones**: No
+* **Se conserva entre dos sesiones**: no
**Valores posibles**: 0 o de 1 a X (0 = no grabar, 1 a X = número secuencial, agregado al nombre del archivo). De forma predeterminada, el valor es 0 (intercambios SMTP no registrados).
@@ -864,9 +828,13 @@ Para obtener más información sobre los archivos 4DSMTPLog\_X.txt, consulte la
**Alcance:** Aplicación 4D
-**Se conserva entre dos sesiones:** No
+**Se conserva entre dos sesiones:** no
+
+**Descripción**: inicia o detiene el registro secuencial de eventos de programación **del proceso actual** en un archivo de historial separado. Este historial es similar al Debug log recording (selector 34) pero se enfoca solo en el proceso actual. El nombre del archivo de historial incluye la letra "p" y el número del proceso: 4DDebugLog\[\_p*N*_*n*].txt, donde N es el ID único del proceso.
-**Descripción**: inicia o detiene el registro secuencial de eventos de programación **del proceso actual** en un archivo de historial separado. Este historial es similar al Debug log recording (selector 34) pero se enfoca solo en el proceso actual. El nombre del archivo de historial incluye la letra "p" y el número del proceso: 4DDebugLog\[\_p*N*_*n*].txt, donde N es el ID único del proceso. Para más información sobre este formato y sobre el uso del archivo *4DDebugLog*, consulte *Descripción de archivos de historial* en el Modo Diseño. **Notas:** Este selector se proporciona únicamente con el fin de depurar y debe utilizarse con cuidado. En particular, no debe ponerse en producción, ya que puede tener un impacto en el rendimiento de la aplicación. Puede utilizarar ambos selectores Debug log recording y Current process debug log recording simultáneamente, en cuyo caso las acciones del proceso actual no se registrarán en el archivo de historial principal.
+Para más información sobre este formato y sobre el uso del archivo *4DDebugLog*, consulte *Descripción de archivos de historial* en el Modo Diseño.
+
+**Notas:** Este selector se proporciona únicamente con el fin de depurar y debe utilizarse con cuidado. En particular, no debe ponerse en producción, ya que puede tener un impacto en el rendimiento de la aplicación. Puede utilizarar ambos selectores Debug log recording y Current process debug log recording simultáneamente, en cuyo caso las acciones del proceso actual no se registrarán en el archivo de historial principal.
@@ -912,7 +880,7 @@ Para obtener más información sobre los archivos 4DSMTPLog\_X.txt, consulte la
### POP3 Log (116)
-**Thread-safe** : Yes
+**Hilo seguro**: sí
**Alcance:** 4D local, 4D Server
@@ -920,7 +888,7 @@ Para obtener más información sobre los archivos 4DSMTPLog\_X.txt, consulte la
**Valores posibles:** 0 o de 1 a X (0 = no registrar, 1 a X = número secuencial, agregado al nombre del archivo). Por defecto, el valor es 0 (intercambios POP3 no registrados).
-: iInicia o detiene la grabación de intercambios entre 4D y el servidor POP3, cuando un objeto transportador se procesa a través de *POP3\_transporter.getMail( )* o *POP3\_transporter.checkConnection( )*. Por defecto, el valor es 0 (intercambios no registrados). Cuando este mecanismo está habilitado, se crea un archivo de registro en la carpeta Logs de la base. Se llama 4DPOP3Log\_X.txt, donde X es el número secuencial del registro. Una vez que el archivo 4DPOP3Log ha alcanzado un tamaño de 10 MB, se cierra y se genera uno nuevo, con un número secuencial incrementado. Si ya existe un archivo con el mismo nombre, se reemplaza directamente. Puede establecer el número inicial de la secuencia utilizando el parámetro valor. De manera predeterminada, todos los archivos se mantienen, pero puede controlar la cantidad de archivos que se deben seguir utilizando el parámetro Circular log limitation.
+**Descripción**: inicia o detiene la grabación de intercambios entre 4D y el servidor POP3, cuando un objeto transportador se procesa a través de *POP3\_transporter.getMail( )* o *POP3\_transporter.checkConnection( )*. Por defecto, el valor es 0 (intercambios no registrados). Cuando este mecanismo está habilitado, se crea un archivo de registro en la carpeta Logs de la base. Se llama 4DPOP3Log\_X.txt, donde X es el número secuencial del registro. Una vez que el archivo 4DPOP3Log ha alcanzado un tamaño de 10 MB, se cierra y se genera uno nuevo, con un número secuencial incrementado. Si ya existe un archivo con el mismo nombre, se reemplaza directamente. Puede establecer el número inicial de la secuencia utilizando el parámetro valor. De manera predeterminada, todos los archivos se mantienen, pero puede controlar la cantidad de archivos que se deben seguir utilizando el parámetro Circular log limitation.
Para más información sobre los archivos 4DPOP3Log\_X.txt, consulte la sección *Descripción de archivos de historial*.
@@ -938,11 +906,11 @@ Para más información sobre los archivos 4DPOP3Log\_X.txt, consulte la sección
### IMAP Log (119)
-**Thread-safe** : Yes
+**Hilo seguro**: sí
**Alcance**: 4D local, 4D Server
-**Se conserva entre dos sesiones**: No
+**Se conserva entre dos sesiones**: no
**Valores posibles**: 0 o de 1 a X (0 = no grabar, 1 a X = número secuencial, añadido al nombre del archivo). Por defecto, el valor es 0 (los intercambios IMAP no se registran).
@@ -964,7 +932,7 @@ Para más información sobre los archivos 4DIMAPLog\_X.txt, consulte la sección
### Pause logging (121)
-**Thread-safe** : Yes
+**Hilo seguro**: sí
**Alcance**: aplicación 4D
@@ -975,34 +943,36 @@ Para más información sobre los archivos 4DIMAPLog\_X.txt, consulte la sección
Este selector permite suspender/reanudar todas las operaciones de registro iniciadas en la aplicación (excepto los registros ORDA). Esta función puede ser útil para aligerar temporalmente las tareas de la aplicación 4D o programar las operaciones de registro.
+
### TCPUDP log recording (131)
-**Scope:** 4D application.
+**Alcance:** aplicación 4D
-**Kept between two sessions:** No.
+**Se mantiene entre dos sesiones**: no
-**Possible values:** `0`: Logging disabled (default), `1`: Logging enabled.
+**Valores posibles:** `0`: Logging desactivado (por defecto), `1`: Logging activado.
-**Description:** Enables or disables the `4DTCPUDPLog.txt` file for logging TCP events.
+**Descripción:** activa o desactiva el archivo `4DTCPUDPLog.txt` para registrar eventos TCP.
### RDP optimization (133)
-**Scope:** 4D application.
+**Alcance:** aplicación 4D
-**Kept between two sessions:** No.
+**Se mantiene entre dos sesiones**: no
-**Possible values:** `0`: Disabled (default), `1`: Enabled.
+**Valores posibles:** `0`: activado (por defecto), `1`: desactivado.
-**Description:** Enables or disables optimizations for RDP (Remote Desktop Protocol). When enabled, optimizes in particular the use of shared clipboard in RDP connections, which can otherwise lead to freezing issues. Note that this selector disables the support in clipboard for images encoded as data uri in raw text (only concerns images dropped or explicitly copied as text from a browser).
+**Descripción:** activa o desactiva las optimizaciones para RDP (Protocolo de escritorio remoto). Cuando está activado, optimiza en particular el uso del portapapeles compartido en las conexiones RDP, que de otro modo pueden provocar problemas de congelación. Tenga en cuenta que este selector desactiva la compatibilidad en el portapapeles para imágenes codificadas como URI de datos en texto sin formato (solo afecta a las imágenes que se sueltan o se copian explícitamente como texto desde un navegador).
-
-
-**Nota**: el parámetro *tabla* sólo es utilizado por los selectores 31, 46 y 47\. En todos los demás casos, se ignora si se pasa.
+:::nota
+
+* El parámetro *tabla* sólo es utilizado por los selectores 31, 46 y 47\. En todos los demás casos, se ignora si se pasa.
+* Si no se mantiene una configuración constante entre sesiones, pero desea asegurarse de que se aplique, debe ejecutarla en o [Método base On Server Startup](metodo-base-on-server-startup.md).
-Si no se mantiene una configuración constante entre sesiones, pero desea asegurarse de que se aplique, debe ejecutarla en o [Método base On Server Startup](metodo-base-on-server-startup.md).
+:::
#### Selectores hilo seguro
@@ -1019,7 +989,6 @@ El comando **SET DATABASE PARAMETER** puede utilizarse en procesos apropiativos
* [IMAP Log](#imap-log-119)
* [Pause logging](#pause-logging-121)
-
#### Ejemplo 1
La siguiente instrucción evitará un posible problema de timeout:
@@ -1033,14 +1002,15 @@ La siguiente instrucción evitará un posible problema de timeout:
...
```
-
#### Ejemplo 2
Este ejemplo forza temporalmente la ejecución de un comando búsqueda por fórmula en el equipo cliente:
```4d
- curVal:=Get database parameter([tabla1];Query By Formula On Server) //Almacena la configuración actual
- SET DATABASE PARAMETER([tabla1];Query By Formula On Server;1) //Fuerza la ejecución en el equipo cliente
+ curVal:=Get database parameter([table1];Query By Formula On Server) //Almacena la configuración actual
+ SET DATABASE PARAMETER([table1];Query By Formula On Server;1) //Fuerza la ejecución en el equipo cliente
+ QUERY BY FORMULA([table1];myformula)
+ SET DATABASE PARAMETER([table1];Query By Formula On Server;curVal) //Reestablece la configuración actual
```
#### Ejemplo 3
@@ -1055,7 +1025,7 @@ Usted quiere exportar datos en JSON que contienen una fecha 4D convertida. Note
SET DATABASE PARAMETER(Dates inside objects;1)
```
-#### Ver también
+#### Ver también
[Get database parameter](get-database-parameter.md)
[LOG EVENT](log-event.md)
@@ -1067,5 +1037,3 @@ Usted quiere exportar datos en JSON que contienen una fecha 4D convertida. Note
| --- | --- |
| Número de comando | 642 |
| Hilo seguro | ✗ |
-
-
From e4e5805536d0bf84a0b063026f8dd5e5b352100b Mon Sep 17 00:00:00 2001
From: arnaud-4d
Date: Mon, 17 Nov 2025 11:52:37 +0100
Subject: [PATCH 20/75] New Crowdin updates (#2997)
* New translations updates.md (French)
* New translations classes.md (French)
* New translations properties.md (French)
* New translations updates.md (French)
* New translations ordaclasses.md (French)
* New translations writeprointerface.md (French)
* New translations wp-set-attributes.md (French)
* New translations wp-table-append-row.md (French)
* New translations classes.md (French)
* New translations properties.md (French)
* New translations updates.md (French)
* New translations ordaclasses.md (French)
* New translations wp-set-attributes.md (French)
* New translations wp-table-append-row.md (French)
* New translations writeprointerface.md (French)
* New translations classes.md (French)
* New translations properties.md (French)
* New translations updates.md (French)
* New translations ordaclasses.md (French)
* New translations wp-set-attributes.md (French)
* New translations wp-table-append-row.md (French)
* New translations writeprointerface.md (French)
* New translations updates.md (Spanish)
* New translations classes.md (Spanish)
* New translations updates.md (Spanish)
* New translations ordaclasses.md (Spanish)
* New translations writeprointerface.md (Spanish)
* New translations classes.md (Spanish)
* New translations updates.md (Spanish)
* New translations ordaclasses.md (Spanish)
* New translations writeprointerface.md (Spanish)
* New translations classes.md (Spanish)
* New translations updates.md (Spanish)
* New translations ordaclasses.md (Spanish)
* New translations writeprointerface.md (Spanish)
* New translations updates.md (Japanese)
* New translations classes.md (Japanese)
* New translations updates.md (Japanese)
* New translations ordaclasses.md (Japanese)
* New translations writeprointerface.md (Japanese)
* New translations classes.md (Japanese)
* New translations updates.md (Japanese)
* New translations ordaclasses.md (Japanese)
* New translations writeprointerface.md (Japanese)
* New translations classes.md (Japanese)
* New translations updates.md (Japanese)
* New translations ordaclasses.md (Japanese)
* New translations writeprointerface.md (Japanese)
* New translations updates.md (Portuguese, Brazilian)
* New translations classes.md (Portuguese, Brazilian)
* New translations updates.md (Portuguese, Brazilian)
* New translations ordaclasses.md (Portuguese, Brazilian)
* New translations writeprointerface.md (Portuguese, Brazilian)
* New translations classes.md (Portuguese, Brazilian)
* New translations updates.md (Portuguese, Brazilian)
* New translations ordaclasses.md (Portuguese, Brazilian)
* New translations writeprointerface.md (Portuguese, Brazilian)
* New translations classes.md (Portuguese, Brazilian)
* New translations updates.md (Portuguese, Brazilian)
* New translations ordaclasses.md (Portuguese, Brazilian)
* New translations writeprointerface.md (Portuguese, Brazilian)
* New translations updates.md (Japanese)
---
.../current/Concepts/classes.md | 10 +++++--
.../current/Notes/updates.md | 8 -----
.../current/ORDA/ordaClasses.md | 30 +++++++++++++++----
.../current/WritePro/writeprointerface.md | 8 +++--
.../version-20-R10/Concepts/classes.md | 10 +++++--
.../version-20-R10/Notes/updates.md | 4 ---
.../version-20-R10/ORDA/ordaClasses.md | 30 +++++++++++++++----
.../WritePro/writeprointerface.md | 2 +-
.../version-20/Notes/updates.md | 6 ----
.../version-21/Concepts/classes.md | 10 +++++--
.../version-21/Notes/updates.md | 6 +---
.../version-21/ORDA/ordaClasses.md | 30 +++++++++++++++----
.../version-21/WritePro/writeprointerface.md | 8 +++--
.../current/Concepts/classes.md | 10 +++++--
.../current/Menus/properties.md | 18 +++++------
.../current/Notes/updates.md | 12 ++------
.../current/ORDA/ordaClasses.md | 30 +++++++++++++++----
.../WritePro/commands/wp-set-attributes.md | 2 +-
.../WritePro/commands/wp-table-append-row.md | 8 ++---
.../current/WritePro/writeprointerface.md | 8 +++--
.../version-20-R10/Concepts/classes.md | 10 +++++--
.../version-20-R10/Menus/properties.md | 16 +++++-----
.../version-20-R10/Notes/updates.md | 4 ---
.../version-20-R10/ORDA/ordaClasses.md | 30 +++++++++++++++----
.../WritePro/commands/wp-set-attributes.md | 2 +-
.../WritePro/commands/wp-table-append-row.md | 8 ++---
.../WritePro/writeprointerface.md | 2 +-
.../version-20/Notes/updates.md | 10 ++-----
.../version-21/Concepts/classes.md | 10 +++++--
.../version-21/Menus/properties.md | 16 +++++-----
.../version-21/Notes/updates.md | 8 ++---
.../version-21/ORDA/ordaClasses.md | 30 +++++++++++++++----
.../WritePro/commands/wp-set-attributes.md | 2 +-
.../WritePro/commands/wp-table-append-row.md | 8 ++---
.../version-21/WritePro/writeprointerface.md | 8 +++--
.../current/Concepts/classes.md | 10 +++++--
.../current/Notes/updates.md | 12 ++------
.../current/ORDA/ordaClasses.md | 30 +++++++++++++++----
.../current/WritePro/writeprointerface.md | 8 +++--
.../version-20-R10/Concepts/classes.md | 10 +++++--
.../version-20-R10/Notes/updates.md | 4 ---
.../version-20-R10/ORDA/ordaClasses.md | 30 +++++++++++++++----
.../WritePro/writeprointerface.md | 2 +-
.../version-20/Notes/updates.md | 6 ----
.../version-21/Concepts/classes.md | 10 +++++--
.../version-21/Notes/updates.md | 6 +---
.../version-21/ORDA/ordaClasses.md | 30 +++++++++++++++----
.../version-21/WritePro/writeprointerface.md | 8 +++--
.../current/Concepts/classes.md | 10 +++++--
.../current/Notes/updates.md | 8 -----
.../current/ORDA/ordaClasses.md | 30 +++++++++++++++----
.../current/WritePro/writeprointerface.md | 8 +++--
.../version-20-R10/Concepts/classes.md | 10 +++++--
.../version-20-R10/Notes/updates.md | 4 ---
.../version-20-R10/ORDA/ordaClasses.md | 30 +++++++++++++++----
.../WritePro/writeprointerface.md | 2 +-
.../version-20/Notes/updates.md | 6 ----
.../version-21/Concepts/classes.md | 10 +++++--
.../version-21/Notes/updates.md | 6 +---
.../version-21/ORDA/ordaClasses.md | 30 +++++++++++++++----
.../version-21/WritePro/writeprointerface.md | 8 +++--
61 files changed, 479 insertions(+), 263 deletions(-)
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/Concepts/classes.md b/i18n/es/docusaurus-plugin-content-docs/current/Concepts/classes.md
index 5ef65ef9f96a6d..176c4206089fcc 100644
--- a/i18n/es/docusaurus-plugin-content-docs/current/Concepts/classes.md
+++ b/i18n/es/docusaurus-plugin-content-docs/current/Concepts/classes.md
@@ -735,13 +735,13 @@ Una **clase singleton** es una clase usuario que sólo produce una única instan
### Tipos de Singletons
+Los singletons son útiles para definir los valores que necesitan estar disponibles desde cualquier parte de una aplicación, una sesión o un proceso.
+
4D soporta tres tipos de singletons:
- un **singleton proceso** tiene una instancia única para el proceso en el que se instancia,
- un **singleton compartido** tiene una instancia única para todos los procesos en la máquina.
-- un **singleton de sesión** es un singleton compartido pero con una instancia única para todos los procesos en la [sesión](../API/SessionClass.md). Los singletons de sesión son compartidos dentro de una sesión completa, pero varían entre sesiones. En el contexto de un cliente-servidor o una aplicación web, los singletons de sesión hacen posible crear y utilizar una instancia diferente para cada sesión, y por lo tanto para cada usuario.
-
-Los singletons son útiles para definir los valores que necesitan estar disponibles desde cualquier parte de una aplicación, una sesión o un proceso.
+- un **singleton de sesión** es un singleton compartido pero con una instancia única para todos los procesos en la [sesión](../API/SessionClass.md). Los singletons de sesión son compartidos dentro de una sesión completa, pero varían entre sesiones. En el contexto de un cliente-servidor o una aplicación web, los singletons de sesión hacen posible crear y utilizar una instancia diferente para cada sesión, y por lo tanto para cada usuario. Session singletons are particularly appropriate with [Qodly applications](https://developer.4d.com/qodly/).
:::info
@@ -782,6 +782,10 @@ La propiedad [`isSingleton`](../API/ClassClass.md#issingleton) de los objetos Cl
La propiedad [`.isSessionSingleton`](../API/ClassClass.md#issessionsingleton) de los objetos Class permite saber si la clase es un singleton de sesión.
+### Exposed singleton functions
+
+Shared and session singleton functions support the [`exposed` keyword](../ORDA/ordaClasses.md#exposed-vs-non-exposed-functions). An exposed singleton function can be directly called by REST requests. This feature is useful to design [Qodly pages calling 4D functions](https://developer.4d.com/qodly/4DQodlyPro/pageLoaders/events/bindingActionToEvents#class-functions).
+
### Ejemplos
#### Singleton Proceso
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/Notes/updates.md b/i18n/es/docusaurus-plugin-content-docs/current/Notes/updates.md
index 3ea552996cb404..c1947d49e3cb20 100644
--- a/i18n/es/docusaurus-plugin-content-docs/current/Notes/updates.md
+++ b/i18n/es/docusaurus-plugin-content-docs/current/Notes/updates.md
@@ -14,14 +14,6 @@ Lea [**Novedades en 4D 21 R2**](https://blog.4d.com/en-whats-new-in-4d-21-r2/),
#### Cambios de comportamiento
-## 4D 21.x LTS
-
-Ver [**Notas de lanzamiento para LTS 4D 21.x**](../../21/Notes/updates).
-
-## 4D 20.x LTS
-
-Ver [**Notas de lanzamiento para LTS 4D 20.x**](../../20/Notes/updates).
-
## Tabla de la librería
| Librería | Versión actual | Actualizado en 4D | Comentario |
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/ORDA/ordaClasses.md b/i18n/es/docusaurus-plugin-content-docs/current/ORDA/ordaClasses.md
index 8d48e8c9c0f133..1889c583ab40d8 100644
--- a/i18n/es/docusaurus-plugin-content-docs/current/ORDA/ordaClasses.md
+++ b/i18n/es/docusaurus-plugin-content-docs/current/ORDA/ordaClasses.md
@@ -928,25 +928,45 @@ $arch.save() //courseName y name son "Archaeology II"
## Funciones expuestas y no expuestas
-Por razones de seguridad, todas sus funciones de clase de modelo de datos y atributos de alias son **no expuestas** (es decir, privadas) por defecto a peticiones remotas.
+For security reasons, all of your data model class functions, including [computed attributes](#computed-attributes-1) and [alias attributes](#alias-attributes-1), as well as [shared singleton functions](../Concepts/classes.md#shared-singleton) are **not exposed** (i.e., private) by default to **remote requests**.
-Las peticiones remotas incluyen:
+Remote requests are:
- Las peticiones enviadas por las aplicaciones 4D remotas conectadas a través de `Open datastore`
-- Peticiones REST
+- REST requests, including requests from [Qodly pages](https://developer.4d.com/qodly/)
> Las peticiones cliente/servidor 4D estándar no se ven afectadas. Las funciones de clase del modelo de datos están siempre disponibles en esta arquitectura.
Una función que no está expuesta no está disponible en aplicaciones remotas y no se puede llamar a ninguna instancia de objeto desde una petición REST. Si una aplicación remota intenta acceder a una función no expuesta, se devuelve el error "-10729 - Método miembro desconocido".
-Para permitir que una función de clase de modelo de datos sea llamada por una petición remota, debe declararla explícitamente utilizando la palabra clave `exposed`. La sintaxis formal es:
+To allow a function or an attribute to be called by a remote request, you must explicitly declare it using the `exposed` keyword. La sintaxis formal es:
```4d
// declarar una función expuesta
exposed Function
```
-> La palabra clave `exposed` sólo puede utilizarse con las funciones de clase del modelo de datos. Si se utiliza con una función de [ clase usuario estándar](Concepts/classes.md), se ignora y el compilador devuelve un error.
+```4d
+// declare an exposed alias
+exposed Alias
+```
+
+```4d
+// declare an exposed computed attribute
+exposed Function get
+```
+
+```4d
+// declare a shared singleton function
+shared singleton Class constructor()
+exposed Function
+```
+
+:::note
+
+The `exposed` keyword can only be used with the objects decribed above. Si se utiliza con una función de [ clase usuario estándar](Concepts/classes.md), se ignora y el compilador devuelve un error.
+
+:::
### Ejemplo
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/WritePro/writeprointerface.md b/i18n/es/docusaurus-plugin-content-docs/current/WritePro/writeprointerface.md
index b5c8070174f4d1..72146ab7f99e17 100644
--- a/i18n/es/docusaurus-plugin-content-docs/current/WritePro/writeprointerface.md
+++ b/i18n/es/docusaurus-plugin-content-docs/current/WritePro/writeprointerface.md
@@ -4,13 +4,15 @@ title: Interfaz 4D Write Pro
slug: /WritePro/write-pro-interface
---
-4D WritePro Interface ofrece un conjunto de paletas, que permiten a los usuarios finales personalizar fácilmente un documento 4D Write Pro.
+4D Write Pro Interface offers a set of palettes, which allow end users to easily customize a 4D Write Pro document.
Un desarrollador 4D puede implementar fácilmente estas paletas en su aplicación. Así, los usuarios finales pueden gestionar todas las propiedades de 4D Write Pro, como las fuentes, la alineación del texto, los marcadores, la disposición de las tablas y los marcos.
-La documentación principal de [la interfaz de 4D Write Pro](https://doc.4d.com/4Dv20/4D/20/Entry-areas.300-6263967.en.html) se encuentra en el manual *Diseño 4D*.
+## Installation & documentation
-Encontrará a continuación:
+4D Write Pro Interface is a **4D component** that needs to be [installed in your project](../Project/components.md#overview). 4D Write Pro Interface source files are [provided on Github](https://github.com/4d/4D-WritePro-Interface).
+
+La documentación principal de [la interfaz de 4D Write Pro](https://doc.4d.com/4Dv20/4D/20/Entry-areas.300-6263967.en.html) se encuentra en el manual *Diseño 4D*. Encontrará a continuación:
- la documentación de configuración del Asistente para tablas,
- la I.A. integrada. documentation.
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/Concepts/classes.md b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/Concepts/classes.md
index cc4dcb07b55793..cb42354faf3714 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/Concepts/classes.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/Concepts/classes.md
@@ -735,13 +735,13 @@ Una **clase singleton** es una clase usuario que sólo produce una única instan
### Tipos de Singletons
+Los singletons son útiles para definir los valores que necesitan estar disponibles desde cualquier parte de una aplicación, una sesión o un proceso.
+
4D soporta tres tipos de singletons:
- un **singleton proceso** tiene una instancia única para el proceso en el que se instancia,
- un **singleton compartido** tiene una instancia única para todos los procesos en la máquina.
-- un **singleton de sesión** es un singleton compartido pero con una instancia única para todos los procesos en la [sesión](../API/SessionClass.md). Los singletons de sesión son compartidos dentro de una sesión completa, pero varían entre sesiones. En el contexto de un cliente-servidor o una aplicación web, los singletons de sesión hacen posible crear y utilizar una instancia diferente para cada sesión, y por lo tanto para cada usuario.
-
-Los singletons son útiles para definir los valores que necesitan estar disponibles desde cualquier parte de una aplicación, una sesión o un proceso.
+- un **singleton de sesión** es un singleton compartido pero con una instancia única para todos los procesos en la [sesión](../API/SessionClass.md). Los singletons de sesión son compartidos dentro de una sesión completa, pero varían entre sesiones. En el contexto de un cliente-servidor o una aplicación web, los singletons de sesión hacen posible crear y utilizar una instancia diferente para cada sesión, y por lo tanto para cada usuario. Session singletons are particularly appropriate with [Qodly applications](https://developer.4d.com/qodly/).
:::info
@@ -782,6 +782,10 @@ La propiedad [`isSingleton`](../API/ClassClass.md#issingleton) de los objetos Cl
La propiedad [`.isSessionSingleton`](../API/ClassClass.md#issessionsingleton) de los objetos Class permite saber si la clase es un singleton de sesión.
+### Exposed singleton functions
+
+Shared and session singleton functions support the [`exposed` keyword](../ORDA/ordaClasses.md#exposed-vs-non-exposed-functions). An exposed singleton function can be directly called by REST requests. This feature is useful to design [Qodly pages calling 4D functions](https://developer.4d.com/qodly/4DQodlyPro/pageLoaders/events/bindingActionToEvents#class-functions).
+
### Ejemplos
#### Singleton Proceso
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/Notes/updates.md b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/Notes/updates.md
index eb35d72cdb9ffe..70314d25d54083 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/Notes/updates.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/Notes/updates.md
@@ -232,10 +232,6 @@ Si sus aplicaciones 4D utilizan conexiones TLS, se recomienda actualizar a 4D 20
- **Atención**: el valor inicial [`offset`](../API/FileHandleClass.md#offset) de los objetos [4D.FileHandle](../API/FileHandleClass.md) estaba incorrectamente definido en 1 en lugar de 0. Se ha hecho una corrección en 4D a partir de las versiones **20.1 HF1** y **20 R2** y el valor ahora es 0.
-## 4D 20.x LTS
-
-Consulte [**Notas de la versión 4D 20.x LTS**](../../version-20/Notes/updates.md).
-
## Tabla de la librería
| Librería | Versión actual | Actualizado en 4D | Comentario |
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/ORDA/ordaClasses.md b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/ORDA/ordaClasses.md
index 8d48e8c9c0f133..1889c583ab40d8 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/ORDA/ordaClasses.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/ORDA/ordaClasses.md
@@ -928,25 +928,45 @@ $arch.save() //courseName y name son "Archaeology II"
## Funciones expuestas y no expuestas
-Por razones de seguridad, todas sus funciones de clase de modelo de datos y atributos de alias son **no expuestas** (es decir, privadas) por defecto a peticiones remotas.
+For security reasons, all of your data model class functions, including [computed attributes](#computed-attributes-1) and [alias attributes](#alias-attributes-1), as well as [shared singleton functions](../Concepts/classes.md#shared-singleton) are **not exposed** (i.e., private) by default to **remote requests**.
-Las peticiones remotas incluyen:
+Remote requests are:
- Las peticiones enviadas por las aplicaciones 4D remotas conectadas a través de `Open datastore`
-- Peticiones REST
+- REST requests, including requests from [Qodly pages](https://developer.4d.com/qodly/)
> Las peticiones cliente/servidor 4D estándar no se ven afectadas. Las funciones de clase del modelo de datos están siempre disponibles en esta arquitectura.
Una función que no está expuesta no está disponible en aplicaciones remotas y no se puede llamar a ninguna instancia de objeto desde una petición REST. Si una aplicación remota intenta acceder a una función no expuesta, se devuelve el error "-10729 - Método miembro desconocido".
-Para permitir que una función de clase de modelo de datos sea llamada por una petición remota, debe declararla explícitamente utilizando la palabra clave `exposed`. La sintaxis formal es:
+To allow a function or an attribute to be called by a remote request, you must explicitly declare it using the `exposed` keyword. La sintaxis formal es:
```4d
// declarar una función expuesta
exposed Function
```
-> La palabra clave `exposed` sólo puede utilizarse con las funciones de clase del modelo de datos. Si se utiliza con una función de [ clase usuario estándar](Concepts/classes.md), se ignora y el compilador devuelve un error.
+```4d
+// declare an exposed alias
+exposed Alias
+```
+
+```4d
+// declare an exposed computed attribute
+exposed Function get
+```
+
+```4d
+// declare a shared singleton function
+shared singleton Class constructor()
+exposed Function
+```
+
+:::note
+
+The `exposed` keyword can only be used with the objects decribed above. Si se utiliza con una función de [ clase usuario estándar](Concepts/classes.md), se ignora y el compilador devuelve un error.
+
+:::
### Ejemplo
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/WritePro/writeprointerface.md b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/WritePro/writeprointerface.md
index b5c8070174f4d1..fc3d7963014709 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/WritePro/writeprointerface.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/WritePro/writeprointerface.md
@@ -4,7 +4,7 @@ title: Interfaz 4D Write Pro
slug: /WritePro/write-pro-interface
---
-4D WritePro Interface ofrece un conjunto de paletas, que permiten a los usuarios finales personalizar fácilmente un documento 4D Write Pro.
+The 4D Write Pro Interface component offers a set of palettes, which allow end users to easily customize a 4D Write Pro document.
Un desarrollador 4D puede implementar fácilmente estas paletas en su aplicación. Así, los usuarios finales pueden gestionar todas las propiedades de 4D Write Pro, como las fuentes, la alineación del texto, los marcadores, la disposición de las tablas y los marcos.
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-20/Notes/updates.md b/i18n/es/docusaurus-plugin-content-docs/version-20/Notes/updates.md
index 843be639654a7d..6d72dac749055a 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-20/Notes/updates.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-20/Notes/updates.md
@@ -356,12 +356,6 @@ Para obtener información detallada, consulte [esta entrada del blog](https://bl
- Soporte de `no-bom` y nuevos caracteres de fin de línea por defecto en [`.setText()`](../API/FileClass.md#settext)
-## 4D 19.x LTS
-
-
-Ver [**Notas de la versión de 4D 19.x LTS**](../../version-19/Notes/updates.md).
-
-
## Tabla de librerías (4D v20 LTS)
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-21/Concepts/classes.md b/i18n/es/docusaurus-plugin-content-docs/version-21/Concepts/classes.md
index cc4dcb07b55793..cb42354faf3714 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-21/Concepts/classes.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-21/Concepts/classes.md
@@ -735,13 +735,13 @@ Una **clase singleton** es una clase usuario que sólo produce una única instan
### Tipos de Singletons
+Los singletons son útiles para definir los valores que necesitan estar disponibles desde cualquier parte de una aplicación, una sesión o un proceso.
+
4D soporta tres tipos de singletons:
- un **singleton proceso** tiene una instancia única para el proceso en el que se instancia,
- un **singleton compartido** tiene una instancia única para todos los procesos en la máquina.
-- un **singleton de sesión** es un singleton compartido pero con una instancia única para todos los procesos en la [sesión](../API/SessionClass.md). Los singletons de sesión son compartidos dentro de una sesión completa, pero varían entre sesiones. En el contexto de un cliente-servidor o una aplicación web, los singletons de sesión hacen posible crear y utilizar una instancia diferente para cada sesión, y por lo tanto para cada usuario.
-
-Los singletons son útiles para definir los valores que necesitan estar disponibles desde cualquier parte de una aplicación, una sesión o un proceso.
+- un **singleton de sesión** es un singleton compartido pero con una instancia única para todos los procesos en la [sesión](../API/SessionClass.md). Los singletons de sesión son compartidos dentro de una sesión completa, pero varían entre sesiones. En el contexto de un cliente-servidor o una aplicación web, los singletons de sesión hacen posible crear y utilizar una instancia diferente para cada sesión, y por lo tanto para cada usuario. Session singletons are particularly appropriate with [Qodly applications](https://developer.4d.com/qodly/).
:::info
@@ -782,6 +782,10 @@ La propiedad [`isSingleton`](../API/ClassClass.md#issingleton) de los objetos Cl
La propiedad [`.isSessionSingleton`](../API/ClassClass.md#issessionsingleton) de los objetos Class permite saber si la clase es un singleton de sesión.
+### Exposed singleton functions
+
+Shared and session singleton functions support the [`exposed` keyword](../ORDA/ordaClasses.md#exposed-vs-non-exposed-functions). An exposed singleton function can be directly called by REST requests. This feature is useful to design [Qodly pages calling 4D functions](https://developer.4d.com/qodly/4DQodlyPro/pageLoaders/events/bindingActionToEvents#class-functions).
+
### Ejemplos
#### Singleton Proceso
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-21/Notes/updates.md b/i18n/es/docusaurus-plugin-content-docs/version-21/Notes/updates.md
index b5ccc8c652538b..4b55c00588c4d4 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-21/Notes/updates.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-21/Notes/updates.md
@@ -288,11 +288,7 @@ Si sus aplicaciones 4D utilizan conexiones TLS, se recomienda actualizar a 4D 20
- **Atención**: el valor inicial [`offset`](../API/FileHandleClass.md#offset) de los objetos [4D.FileHandle](../API/FileHandleClass.md) estaba incorrectamente definido en 1 en lugar de 0. Se ha hecho una corrección en 4D a partir de las versiones **20.1 HF1** y **20 R2** y el valor ahora es 0.
-## 4D 20.x LTS
-
-Ver [**Notas de lanzamiento para LTS 4D 20.x**](../20/Notes/updates).
-
-## Tabla de la librería
+## Tabla de librerías (4D v21 LTS)
| Librería | Versión actual | Actualizado en 4D | Comentario |
| --------- | -------------------------------------- | ----------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------ |
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-21/ORDA/ordaClasses.md b/i18n/es/docusaurus-plugin-content-docs/version-21/ORDA/ordaClasses.md
index fced235a8d45cd..b7e892e9b05080 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-21/ORDA/ordaClasses.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-21/ORDA/ordaClasses.md
@@ -928,25 +928,45 @@ $arch.save() //courseName y name son "Archaeology II"
## Funciones expuestas y no expuestas
-Por razones de seguridad, todas sus funciones de clase de modelo de datos y atributos de alias son **no expuestas** (es decir, privadas) por defecto a peticiones remotas.
+For security reasons, all of your data model class functions, including [computed attributes](#computed-attributes-1) and [alias attributes](#alias-attributes-1), as well as [shared singleton functions](../Concepts/classes.md#shared-singleton) are **not exposed** (i.e., private) by default to **remote requests**.
-Las peticiones remotas incluyen:
+Remote requests are:
- Las peticiones enviadas por las aplicaciones 4D remotas conectadas a través de `Open datastore`
-- Peticiones REST
+- REST requests, including requests from [Qodly pages](https://developer.4d.com/qodly/)
> Las peticiones cliente/servidor 4D estándar no se ven afectadas. Las funciones de clase del modelo de datos están siempre disponibles en esta arquitectura.
Una función que no está expuesta no está disponible en aplicaciones remotas y no se puede llamar a ninguna instancia de objeto desde una petición REST. Si una aplicación remota intenta acceder a una función no expuesta, se devuelve el error "-10729 - Método miembro desconocido".
-Para permitir que una función de clase de modelo de datos sea llamada por una petición remota, debe declararla explícitamente utilizando la palabra clave `exposed`. La sintaxis formal es:
+To allow a function or an attribute to be called by a remote request, you must explicitly declare it using the `exposed` keyword. La sintaxis formal es:
```4d
// declarar una función expuesta
exposed Function
```
-> La palabra clave `exposed` sólo puede utilizarse con las funciones de clase del modelo de datos. Si se utiliza con una función de [ clase usuario estándar](Concepts/classes.md), se ignora y el compilador devuelve un error.
+```4d
+// declare an exposed alias
+exposed Alias
+```
+
+```4d
+// declare an exposed computed attribute
+exposed Function get
+```
+
+```4d
+// declare a shared singleton function
+shared singleton Class constructor()
+exposed Function
+```
+
+:::note
+
+The `exposed` keyword can only be used with the objects decribed above. Si se utiliza con una función de [ clase usuario estándar](Concepts/classes.md), se ignora y el compilador devuelve un error.
+
+:::
### Ejemplo
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-21/WritePro/writeprointerface.md b/i18n/es/docusaurus-plugin-content-docs/version-21/WritePro/writeprointerface.md
index b5c8070174f4d1..72146ab7f99e17 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-21/WritePro/writeprointerface.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-21/WritePro/writeprointerface.md
@@ -4,13 +4,15 @@ title: Interfaz 4D Write Pro
slug: /WritePro/write-pro-interface
---
-4D WritePro Interface ofrece un conjunto de paletas, que permiten a los usuarios finales personalizar fácilmente un documento 4D Write Pro.
+4D Write Pro Interface offers a set of palettes, which allow end users to easily customize a 4D Write Pro document.
Un desarrollador 4D puede implementar fácilmente estas paletas en su aplicación. Así, los usuarios finales pueden gestionar todas las propiedades de 4D Write Pro, como las fuentes, la alineación del texto, los marcadores, la disposición de las tablas y los marcos.
-La documentación principal de [la interfaz de 4D Write Pro](https://doc.4d.com/4Dv20/4D/20/Entry-areas.300-6263967.en.html) se encuentra en el manual *Diseño 4D*.
+## Installation & documentation
-Encontrará a continuación:
+4D Write Pro Interface is a **4D component** that needs to be [installed in your project](../Project/components.md#overview). 4D Write Pro Interface source files are [provided on Github](https://github.com/4d/4D-WritePro-Interface).
+
+La documentación principal de [la interfaz de 4D Write Pro](https://doc.4d.com/4Dv20/4D/20/Entry-areas.300-6263967.en.html) se encuentra en el manual *Diseño 4D*. Encontrará a continuación:
- la documentación de configuración del Asistente para tablas,
- la I.A. integrada. documentation.
diff --git a/i18n/fr/docusaurus-plugin-content-docs/current/Concepts/classes.md b/i18n/fr/docusaurus-plugin-content-docs/current/Concepts/classes.md
index 8d535e2cacc8ca..798a8fe4178877 100644
--- a/i18n/fr/docusaurus-plugin-content-docs/current/Concepts/classes.md
+++ b/i18n/fr/docusaurus-plugin-content-docs/current/Concepts/classes.md
@@ -735,13 +735,13 @@ Une **classe singleton** est une classe utilisateur qui ne produit qu'une seule
### Types de singletons
+Les singletons sont utiles pour définir des valeurs qui doivent être disponibles partout dans une application, une session ou un process.
+
4D prend en charge trois types de singletons :
- un **singleton process** a une instance unique pour le process dans lequel il est instancié,
- un **singleton partagé** a une instance unique pour tous les process sur la machine.
-- une **singleton session** est un singleton partagé, mais avec une instance unique pour tous les process de la [session](../API/SessionClass.md). Les singletons de session sont partagés au sein d'une session entière mais varient d'une session à l'autre. Dans le contexte d'un client-serveur ou d'une application web, les singletons de session permettent de créer et d'utiliser une instance différente pour chaque session, et donc pour chaque utilisateur.
-
-Les singletons sont utiles pour définir des valeurs qui doivent être disponibles partout dans une application, une session ou un process.
+- une **singleton session** est un singleton partagé, mais avec une instance unique pour tous les process de la [session](../API/SessionClass.md). Les singletons de session sont partagés au sein d'une session entière mais varient d'une session à l'autre. Dans le contexte d'un client-serveur ou d'une application web, les singletons de session permettent de créer et d'utiliser une instance différente pour chaque session, et donc pour chaque utilisateur. Session singletons are particularly appropriate with [Qodly applications](https://developer.4d.com/qodly/).
:::info
@@ -782,6 +782,10 @@ La propriété [`.isSingleton`](../API/ClassClass.md#issingleton) des objets de
La propriété [`.isSessionSingleton`](../API/ClassClass.md#issessionsingleton) des objets de classe permet de savoir si la classe est un singleton de session.
+### Exposed singleton functions
+
+Shared and session singleton functions support the [`exposed` keyword](../ORDA/ordaClasses.md#exposed-vs-non-exposed-functions). An exposed singleton function can be directly called by REST requests. This feature is useful to design [Qodly pages calling 4D functions](https://developer.4d.com/qodly/4DQodlyPro/pageLoaders/events/bindingActionToEvents#class-functions).
+
### Exemples
#### Singleton process
diff --git a/i18n/fr/docusaurus-plugin-content-docs/current/Menus/properties.md b/i18n/fr/docusaurus-plugin-content-docs/current/Menus/properties.md
index c20d88a22abb1a..27a5c94ef58462 100644
--- a/i18n/fr/docusaurus-plugin-content-docs/current/Menus/properties.md
+++ b/i18n/fr/docusaurus-plugin-content-docs/current/Menus/properties.md
@@ -12,9 +12,9 @@ La propriété **Titre** contient le libellé d'un menu ou d'une ligne de menu,
Dans l'éditeur de menus, vous pouvez saisir directement le libellé "en dur". Vous pouvez également saisir une référence pour une variable ou un élément XLIFF, ce qui facilitera la mise à jour et la traduction des applications. Vous pouvez utiliser les types de références suivants :
- Une référence à une ressource XLIFF, du type :xliff:MonLibellé. Pour plus d’informations sur les références XLIFF, reportez-vous à la section *Annexe B : Architecture XLIFF* du *Mode Développement 4D*.
-- (**Deprecated**) An interprocess variable name followed by a number, for example: `:<>vlang,3`. Il suffit de changer le contenu de cette variable pour modifier le libellé du menu lors de son affichage. Dans ce cas, le libellé fera appel à une ressource XLIFF. La valeur contenue dans la variable `<>vlang` correspond à l’attribut *id* de l’élément *group*. La seconde valeur (3 dans cet exemple) désigne l’attribut *id* de l’élément *trans-unit*.
+- (**Obsolète**) Un nom de variable interprocess suivi d'un nombre, par exemple : `:<>vlang,3`. Il suffit de changer le contenu de cette variable pour modifier le libellé du menu lors de son affichage. Dans ce cas, le libellé fera appel à une ressource XLIFF. La valeur contenue dans la variable `<>vlang` correspond à l’attribut *id* de l’élément *group*. La seconde valeur (3 dans cet exemple) désigne l’attribut *id* de l’élément *trans-unit*.
-Using the 4D language, you set the title property through the *itemText* parameter of the [`APPEND MENU ITEM`](../commands/append-menu-item), [`INSERT MENU ITEM`](../commands/insert-menu-item), and [`SET MENU ITEM`](../commands/set-menu-item) commands.
+En utilisant le langage 4D, vous définissez la propriété du titre par le biais du paramètre *itemText* des commandes [`APPEND MENU ITEM`](../commands/append-menu-item), [`INSERT MENU ITEM`](../commands/insert-menu-item) et [`SET MENU ITEM`](../commands/set-menu-item).
### Caractères de contrôle
@@ -33,9 +33,9 @@ Les caractères de contrôle n’apparaissent pas dans les libellés des command
## Paramètres
-Il est possible d’associer un paramètre personnalisé à chaque ligne de menu. Un paramètre de ligne de menu est une chaîne de caractères dont le contenu est libre. It can be set in the Menu editor, or through the [`SET MENU ITEM PARAMETER`](../commands/set-menu-item-parameter) command.
+Il est possible d’associer un paramètre personnalisé à chaque ligne de menu. Un paramètre de ligne de menu est une chaîne de caractères dont le contenu est libre. Il peut être défini dans l'éditeur de menus ou à l'aide de la commande [`SET MENU ITEM PARAMETER`](../commands/set-menu-item-parameter).
-Menu item parameters are useful with programmed management of menus, in particular when using the [`Dynamic pop up menu`](../commands/dynamic-pop-up-menu), [`Get menu item parameter`](../commands/get-menu-item-parameter) and [`Get selected menu item parameter`](../commands/get-selected-menu-item-parameter) commands.
+Les paramètres des éléments de menus sont utiles pour la gestion programmée des menus, en particulier lors de l'utilisation des commandes [`Dynamic pop up menu`](../commands/dynamic-pop-up-menu), [`Get menu item parameter`](../commands/get-menu-item-parameter) et [`Get selected menu item parameter`](../commands/get-selected-menu-item-parameter).
## Action
@@ -57,7 +57,7 @@ Pour associer une méthode projet et/ou une action standard à une commande de m
- **Action standard associée** : Choisissez ou saisissez le nom de l’action que vous souhaitez associer dans la combo box "Action standard associée". Vous pouvez saisir toute action prise en charge et (optionnellement) tout paramètre dans la zone. Pour la liste complète des actions standard, veuillez vous reporter à la section **Actions standard** dans le *Mode Développement*.
**Note macOS :** Sous macOS, les commandes de menus créés associées à l'action *Quitter* sont automatiquement placées dans le menu de l’application, conformément aux normes d’interface de cette plate-forme.
-Using the 4D language, you can associate a project method using the [`SET MENU ITEM METHOD`](../commands/set-menu-item-method) command, and a standard action using the [`SET MENU ITEM PROPERTY`](../commands/set-menu-item-property) command.
+En utilisant le langage 4D, vous pouvez associer une méthode projet en utilisant la commande [`SET MENU ITEM METHOD`](../commands/set-menu-item-method) et une action standard en utilisant la commande [`SET MENU ITEM PROPERTY`](../commands/set-menu-item-property).
### Démarrer un process
@@ -93,7 +93,7 @@ Vous ajoutez un filet de séparation en créant une commande de menu.
Dans l'éditeur de menus, au lieu de saisir le nom de la commande de menu, il suffit de cocher l’option **Ligne de séparation**. La ligne apparaît alors dans la zone de la commande courante. La ligne apparaît alors dans la zone de la commande courante. Lorsque cette option est cochée, les autres propriétés sont sans effet.
**Note :** Sous macOS, il est possible de procéder en faisant commencer le nom de la commande par un tiret “-”. Cette commande sera alors affichée comme une ligne de séparation.
-In the 4D language, you insert a separator line by entering `-` or `(-` as itemText for [`APPEND MENU ITEM`](../commands/append-menu-item), [`INSERT MENU ITEM`](../commands/insert-menu-item), or [`SET MENU ITEM`](../commands/set-menu-item) commands.
+Dans le langage 4D, vous insérez une ligne de séparation en entrant `-` ou `(-` comme *itemText* pour les commandes [`APPEND MENU ITEM`](../commands/append-menu-item), [`INSERT MENU ITEM`](../commands/insert-menu-item) ou [`SET MENU ITEM`](../commands/set-menu-item).
### Raccourcis clavier
@@ -153,13 +153,13 @@ Par défaut, 4D active automatiquement toute commande de menu ajoutée à un men
### Coche
-Cette option de l'éditeur de menus permet d’associer par défaut une coche système à la ligne de menu. You can then manage the display of the check mark using language commands ([`SET MENU ITEM MARK`](../commands/set-menu-item-mark) and [`Get menu item mark`](../commands/get-menu-item-mark)).
+Cette option de l'éditeur de menus permet d’associer par défaut une coche système à la ligne de menu. Vous pouvez ensuite gérer l'affichage de la coche à l'aide des commandes de langage ([`SET MENU ITEM MARK`](../commands/set-menu-item-mark) et [`Get menu item mark`](../commands/get-menu-item-mark)).
Les coches sont généralement utilisées pour des menus à action permanente et indiquent que l’action est en cours.
### Styles des polices
-4D vous permet de personnaliser les menus en appliquant différents styles de caractères aux commandes de menus. You can customize your menus with the Bold, Italic or Underline styles through options in the Menu editor, or using the [`SET MENU ITEM STYLE`](../commands/set-menu-item-style) language command.
+4D vous permet de personnaliser les menus en appliquant différents styles de caractères aux commandes de menus. Vous pouvez personnaliser vos menus avec les styles Gras, Italique ou Souligné grâce aux options de l'éditeur de menus ou en utilisant la commande de langage [`SET MENU ITEM STYLE`](../commands/set-menu-item-style).
En règle générale, les styles de police doivent être appliqués à vos menus avec parcimonie, afin d’éviter de conférer une apparence confuse à votre application.
@@ -177,4 +177,4 @@ Pour définir l’icône dans l'éditeur de menu, choisissez l'option **Ouvrir**
Pour supprimer l’icône de ligne, choisissez l’option **Pas d’icône** dans le menu de la zone “Icône ligne”.
-To define item icons using the 4D language, call the [`SET MENU ITEM ICON`](../commands/set-menu-item-icon) command.
\ No newline at end of file
+Pour définir les icônes des éléments à l'aide du langage 4D, appelez la commande [`SET MENU ITEM ICON`](../commands/set-menu-item-icon).
\ No newline at end of file
diff --git a/i18n/fr/docusaurus-plugin-content-docs/current/Notes/updates.md b/i18n/fr/docusaurus-plugin-content-docs/current/Notes/updates.md
index 6f4a0ae9188a65..ee5699a7e5814b 100644
--- a/i18n/fr/docusaurus-plugin-content-docs/current/Notes/updates.md
+++ b/i18n/fr/docusaurus-plugin-content-docs/current/Notes/updates.md
@@ -5,23 +5,15 @@ title: Release Notes
## 4D 21 R2
-Read [**What’s new in 4D 21 R2**](https://blog.4d.com/en-whats-new-in-4d-21-r2/), the blog post that lists all new features and enhancements in 4D 21 R2.
+Lisez [**Les nouveautés de 4D 21 R2**](https://blog.4d.com/fr-whats-new-in-4d-v21-R2/), l'article de blog qui liste toutes les nouvelles fonctionnalités et améliorations de 4D 20 R2.
#### Points forts
-- [Code Live Checker](../code-editor/write-class-method.md#warnings-and-errors) has been enhanced to provide greater precision in error detection.
+- Le [Code Live Checker](../code-editor/write-class-method.md#warnings-and-errors) a été amélioré pour offrir une plus grande précision dans la détection des erreurs.
- [**Liste des bugs corrigés**](https://bugs.4d.fr/fixedbugslist?version=21_R2) : liste de tous les bugs qui ont été corrigés dans 4D 21 R2.
#### Changements de comportement
-## 4D 21.x LTS
-
-Voir [**Release Notes pour 4D 21.x LTS**](../../21/Notes/updates).
-
-## 4D 20.x LTS
-
-Voir [**Release Notes pour 4D 20.x LTS**](../../20/Notes/updates).
-
## Tableau des bibliothèques
| Bibliothèque | Version courante | Mise à jour dans 4D | Commentaire |
diff --git a/i18n/fr/docusaurus-plugin-content-docs/current/ORDA/ordaClasses.md b/i18n/fr/docusaurus-plugin-content-docs/current/ORDA/ordaClasses.md
index d4738c0141b15f..7418c2de73301d 100644
--- a/i18n/fr/docusaurus-plugin-content-docs/current/ORDA/ordaClasses.md
+++ b/i18n/fr/docusaurus-plugin-content-docs/current/ORDA/ordaClasses.md
@@ -928,25 +928,45 @@ $arch.save() //courseName et name sont "Archaeology II"
## Fonctions exposées et non exposées
-Pour des raisons de sécurité, toutes vos fonctions de classe de modèle de données et les attributs alias ne sont **pas exposés** (c'est-à-dire privés) par défaut aux requêtes distantes.
+For security reasons, all of your data model class functions, including [computed attributes](#computed-attributes-1) and [alias attributes](#alias-attributes-1), as well as [shared singleton functions](../Concepts/classes.md#shared-singleton) are **not exposed** (i.e., private) by default to **remote requests**.
-Les requêtes distantes incluent :
+Remote requests are:
- Les requêtes envoyées par des applications 4D distantes connectées via `Open datastore`
-- Les requêtes REST
+- REST requests, including requests from [Qodly pages](https://developer.4d.com/qodly/)
> Les requêtes client/serveur 4D standard ne sont pas impactées. Les fonctions de classe de modèle de données sont toujours disponibles dans cette architecture.
Une fonction qui n'est pas exposée n'est pas disponible sur les applications distantes et ne peut être appelée sur aucune instance d'objet à partir d'une requête REST. Si une application distante tente d'accéder à une fonction non exposée, l'erreur «-10729 - Méthode membre inconnue» est retournée.
-Pour permettre à une fonction de classe de modèle de données d'être appelée par une requête distante, vous devez la déclarer explicitement à l'aide du mot-clé `exposed`. La syntaxe formelle est la suivante :
+To allow a function or an attribute to be called by a remote request, you must explicitly declare it using the `exposed` keyword. La syntaxe formelle est la suivante :
```4d
// déclarer une fonction exposée
exposed Function
```
-> Le mot-clé `exposed` ne peut être utilisé qu'avec les fonctions de classe du modèle de données. S'il est utilisé avec une fonction de [classe utilisateur standard](Concepts/classes.md), il est ignoré et une erreur est retournée par le compilateur.
+```4d
+// declare an exposed alias
+exposed Alias
+```
+
+```4d
+// declare an exposed computed attribute
+exposed Function get
+```
+
+```4d
+// declare a shared singleton function
+shared singleton Class constructor()
+exposed Function
+```
+
+:::note
+
+The `exposed` keyword can only be used with the objects decribed above. S'il est utilisé avec une fonction de [classe utilisateur standard](Concepts/classes.md), il est ignoré et une erreur est retournée par le compilateur.
+
+:::
### Exemple
diff --git a/i18n/fr/docusaurus-plugin-content-docs/current/WritePro/commands/wp-set-attributes.md b/i18n/fr/docusaurus-plugin-content-docs/current/WritePro/commands/wp-set-attributes.md
index 43b92d746dfcbe..a6e8ad5a679a15 100644
--- a/i18n/fr/docusaurus-plugin-content-docs/current/WritePro/commands/wp-set-attributes.md
+++ b/i18n/fr/docusaurus-plugin-content-docs/current/WritePro/commands/wp-set-attributes.md
@@ -33,7 +33,7 @@ Vous pouvez spécifier les attributs à définir pour *targetObj* d'une des deux
- Utilisez le paramètre *attribObj* pour passer un seul objet contenant les noms d'attributs et leurs valeurs correspondantes en tant que propriétés d'objet.
-For a comprehensive list of attributes to pass, as well as their scope and respective values, please refer to the [4D Write Pro Attributes](../4d-write-pro-attributes) section.
+Pour une liste complète des attributs à passer, ainsi que leur portée et leurs valeurs respectives, veuillez vous référer à la section [Attributs 4D Write Pro](../4d-write-pro-attributes) .
## Exemple 1
diff --git a/i18n/fr/docusaurus-plugin-content-docs/current/WritePro/commands/wp-table-append-row.md b/i18n/fr/docusaurus-plugin-content-docs/current/WritePro/commands/wp-table-append-row.md
index 52ff6052532ecc..74766becce0d1c 100644
--- a/i18n/fr/docusaurus-plugin-content-docs/current/WritePro/commands/wp-table-append-row.md
+++ b/i18n/fr/docusaurus-plugin-content-docs/current/WritePro/commands/wp-table-append-row.md
@@ -21,7 +21,7 @@ displayed_sidebar: docs
The **WP Table append row** command appends one row to the *tableRef* table, fills it with *value*(s) or a *valueColl* collection, and returns the corresponding row range object.
-The command supports two syntaxes:
+La commande supporte deux syntaxes :
- **Using values as parameters:**
Adds as many cells in the row as there are values provided in the *value* parameter(s). You can pass any number of values of different types.
@@ -33,9 +33,9 @@ The command supports two syntaxes:
The default cell alignment will depend on the value type:
-- text: left aligned
-- pictures: centered
-- other types (numbers, date, and time): right aligned
+- texte : aligné à gauche
+- images : centrées
+- autres types (nombres, date et heure): alignés à droite
:::note Notes
diff --git a/i18n/fr/docusaurus-plugin-content-docs/current/WritePro/writeprointerface.md b/i18n/fr/docusaurus-plugin-content-docs/current/WritePro/writeprointerface.md
index 7fb6510a6a45ff..213b07f20f012c 100644
--- a/i18n/fr/docusaurus-plugin-content-docs/current/WritePro/writeprointerface.md
+++ b/i18n/fr/docusaurus-plugin-content-docs/current/WritePro/writeprointerface.md
@@ -4,13 +4,15 @@ title: 4D Write Pro Interface
slug: /WritePro/write-pro-interface
---
-L'interface de 4D WritePro offre un ensemble de palettes, qui permettent aux utilisateurs de personnaliser facilement un document 4D Write Pro.
+4D Write Pro Interface offers a set of palettes, which allow end users to easily customize a 4D Write Pro document.
Un développeur 4D peut facilement implémenter ces palettes dans leur application. Ainsi, les utilisateurs finaux peuvent gérer toutes les propriétés de 4D Write Pro, telles que les polices, l'alignement du texte, les signets, la mise en page des tableaux et les cadres.
-La documentation principale de l'[interface 4D Write Pro](https://doc.4d.com/4Dv20/4D/20/Entry-areas.300-6263967.en.html) se trouve dans le *4D - Mode Développement*.
+## Installation & documentation
-Vous trouverez ci-dessous :
+4D Write Pro Interface is a **4D component** that needs to be [installed in your project](../Project/components.md#overview). 4D Write Pro Interface source files are [provided on Github](https://github.com/4d/4D-WritePro-Interface).
+
+La documentation principale de l'[interface 4D Write Pro](https://doc.4d.com/4Dv20/4D/20/Entry-areas.300-6263967.en.html) se trouve dans le *4D - Mode Développement*. Vous trouverez ci-dessous :
- la documentation de configuration de l'assistant de table,
- the integrated A.I. documentation.
diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-20-R10/Concepts/classes.md b/i18n/fr/docusaurus-plugin-content-docs/version-20-R10/Concepts/classes.md
index e1452bbeb57077..7c9c753141b23c 100644
--- a/i18n/fr/docusaurus-plugin-content-docs/version-20-R10/Concepts/classes.md
+++ b/i18n/fr/docusaurus-plugin-content-docs/version-20-R10/Concepts/classes.md
@@ -735,13 +735,13 @@ Une **classe singleton** est une classe utilisateur qui ne produit qu'une seule
### Types de singletons
+Les singletons sont utiles pour définir des valeurs qui doivent être disponibles partout dans une application, une session ou un process.
+
4D prend en charge trois types de singletons :
- un **singleton process** a une instance unique pour le process dans lequel il est instancié,
- un **singleton partagé** a une instance unique pour tous les process sur la machine.
-- une **singleton session** est un singleton partagé, mais avec une instance unique pour tous les process de la [session](../API/SessionClass.md). Les singletons de session sont partagés au sein d'une session entière mais varient d'une session à l'autre. Dans le contexte d'un client-serveur ou d'une application web, les singletons de session permettent de créer et d'utiliser une instance différente pour chaque session, et donc pour chaque utilisateur.
-
-Les singletons sont utiles pour définir des valeurs qui doivent être disponibles partout dans une application, une session ou un process.
+- une **singleton session** est un singleton partagé, mais avec une instance unique pour tous les process de la [session](../API/SessionClass.md). Les singletons de session sont partagés au sein d'une session entière mais varient d'une session à l'autre. Dans le contexte d'un client-serveur ou d'une application web, les singletons de session permettent de créer et d'utiliser une instance différente pour chaque session, et donc pour chaque utilisateur. Session singletons are particularly appropriate with [Qodly applications](https://developer.4d.com/qodly/).
:::info
@@ -782,6 +782,10 @@ La propriété [`.isSingleton`](../API/ClassClass.md#issingleton) des objets de
La propriété [`.isSessionSingleton`](../API/ClassClass.md#issessionsingleton) des objets de classe permet de savoir si la classe est un singleton de session.
+### Exposed singleton functions
+
+Shared and session singleton functions support the [`exposed` keyword](../ORDA/ordaClasses.md#exposed-vs-non-exposed-functions). An exposed singleton function can be directly called by REST requests. This feature is useful to design [Qodly pages calling 4D functions](https://developer.4d.com/qodly/4DQodlyPro/pageLoaders/events/bindingActionToEvents#class-functions).
+
### Exemples
#### Singleton process
diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-20-R10/Menus/properties.md b/i18n/fr/docusaurus-plugin-content-docs/version-20-R10/Menus/properties.md
index 88503e3a2c3b87..2d579002b3c6e7 100644
--- a/i18n/fr/docusaurus-plugin-content-docs/version-20-R10/Menus/properties.md
+++ b/i18n/fr/docusaurus-plugin-content-docs/version-20-R10/Menus/properties.md
@@ -12,9 +12,9 @@ La propriété **Titre** contient le libellé d'un menu ou d'une ligne de menu,
Dans l'éditeur de menus, vous pouvez saisir directement le libellé "en dur". Vous pouvez également saisir une référence pour une variable ou un élément XLIFF, ce qui facilitera la mise à jour et la traduction des applications. Vous pouvez utiliser les types de références suivants :
- Une référence à une ressource XLIFF, du type :xliff:MonLibellé. Pour plus d’informations sur les références XLIFF, reportez-vous à la section *Annexe B : Architecture XLIFF* du *Mode Développement 4D*.
-- (**Deprecated**) An interprocess variable name followed by a number, for example: `:<>vlang,3`. Il suffit de changer le contenu de cette variable pour modifier le libellé du menu lors de son affichage. Dans ce cas, le libellé fera appel à une ressource XLIFF. La valeur contenue dans la variable `<>vlang` correspond à l’attribut *id* de l’élément *group*. La seconde valeur (3 dans cet exemple) désigne l’attribut *id* de l’élément *trans-unit*.
+- (**Obsolète**) Un nom de variable interprocess suivi d'un nombre, par exemple : `:<>vlang,3`. Il suffit de changer le contenu de cette variable pour modifier le libellé du menu lors de son affichage. Dans ce cas, le libellé fera appel à une ressource XLIFF. La valeur contenue dans la variable `<>vlang` correspond à l’attribut *id* de l’élément *group*. La seconde valeur (3 dans cet exemple) désigne l’attribut *id* de l’élément *trans-unit*.
-Using the 4D language, you set the title property through the *itemText* parameter of the [`APPEND MENU ITEM`](../commands/append-menu-item), [`INSERT MENU ITEM`](../commands/insert-menu-item), and [`SET MENU ITEM`](../commands/set-menu-item) commands.
+En utilisant le langage 4D, vous définissez la propriété du titre par le biais du paramètre *itemText* des commandes [`APPEND MENU ITEM`](../commands/append-menu-item), [`INSERT MENU ITEM`](../commands/insert-menu-item) et [`SET MENU ITEM`](../commands/set-menu-item).
### Caractères de contrôle
@@ -33,9 +33,9 @@ Les caractères de contrôle n’apparaissent pas dans les libellés des command
## Paramètres
-Il est possible d’associer un paramètre personnalisé à chaque ligne de menu. Un paramètre de ligne de menu est une chaîne de caractères dont le contenu est libre. It can be set in the Menu editor, or through the [`SET MENU ITEM PARAMETER`](../commands/set-menu-item-parameter) command.
+Il est possible d’associer un paramètre personnalisé à chaque ligne de menu. Un paramètre de ligne de menu est une chaîne de caractères dont le contenu est libre. Il peut être défini dans l'éditeur de menus ou à l'aide de la commande [`SET MENU ITEM PARAMETER`](../commands/set-menu-item-parameter).
-Menu item parameters are useful with programmed management of menus, in particular when using the [`Dynamic pop up menu`](../commands/dynamic-pop-up-menu), [`Get menu item parameter`](../commands/get-menu-item-parameter) and [`Get selected menu item parameter`](../commands/get-selected-menu-item-parameter) commands.
+Les paramètres des éléments de menus sont utiles pour la gestion programmée des menus, en particulier lors de l'utilisation des commandes [`Dynamic pop up menu`](../commands/dynamic-pop-up-menu), [`Get menu item parameter`](../commands/get-menu-item-parameter) et [`Get selected menu item parameter`](../commands/get-selected-menu-item-parameter).
## Action
@@ -57,7 +57,7 @@ Pour associer une méthode projet et/ou une action standard à une commande de m
- **Action standard associée** : Choisissez ou saisissez le nom de l’action que vous souhaitez associer dans la combo box "Action standard associée". Vous pouvez saisir toute action prise en charge et (optionnellement) tout paramètre dans la zone. Pour la liste complète des actions standard, veuillez vous reporter à la section **Actions standard** dans le *Mode Développement*.
**Note macOS :** Sous macOS, les commandes de menus créés associées à l'action *Quitter* sont automatiquement placées dans le menu de l’application, conformément aux normes d’interface de cette plate-forme.
-Using the 4D language, you can associate a project method using the [`SET MENU ITEM METHOD`](../commands/set-menu-item-method) command, and a standard action using the [`SET MENU ITEM PROPERTY`](../commands/set-menu-item-property) command.
+En utilisant le langage 4D, vous pouvez associer une méthode projet en utilisant la commande [`SET MENU ITEM METHOD`](../commands/set-menu-item-method) et une action standard en utilisant la commande [`SET MENU ITEM PROPERTY`](../commands/set-menu-item-property).
### Démarrer un process
@@ -93,7 +93,7 @@ Vous ajoutez un filet de séparation en créant une commande de menu.
Dans l'éditeur de menus, au lieu de saisir le nom de la commande de menu, il suffit de cocher l’option **Ligne de séparation**. La ligne apparaît alors dans la zone de la commande courante. La ligne apparaît alors dans la zone de la commande courante. Lorsque cette option est cochée, les autres propriétés sont sans effet.
**Note :** Sous macOS, il est possible de procéder en faisant commencer le nom de la commande par un tiret “-”. Cette commande sera alors affichée comme une ligne de séparation.
-In the 4D language, you insert a separator line by entering `-` or `(-` as itemText for [`APPEND MENU ITEM`](../commands/append-menu-item), [`INSERT MENU ITEM`](../commands/insert-menu-item), or [`SET MENU ITEM`](../commands/set-menu-item) commands.
+Dans le langage 4D, vous insérez une ligne de séparation en entrant `-` ou `(-` comme *itemText* pour les commandes [`APPEND MENU ITEM`](../commands/append-menu-item), [`INSERT MENU ITEM`](../commands/insert-menu-item) ou [`SET MENU ITEM`](../commands/set-menu-item).
### Raccourcis clavier
@@ -153,7 +153,7 @@ Par défaut, 4D active automatiquement toute commande de menu ajoutée à un men
### Coche
-Cette option de l'éditeur de menus permet d’associer par défaut une coche système à la ligne de menu. You can then manage the display of the check mark using language commands ([`SET MENU ITEM MARK`](../commands/set-menu-item-mark) and [`Get menu item mark`](../commands/get-menu-item-mark)).
+Cette option de l'éditeur de menus permet d’associer par défaut une coche système à la ligne de menu. Vous pouvez ensuite gérer l'affichage de la coche à l'aide des commandes de langage ([`SET MENU ITEM MARK`](../commands/set-menu-item-mark) et [`Get menu item mark`](../commands/get-menu-item-mark)).
Les coches sont généralement utilisées pour des menus à action permanente et indiquent que l’action est en cours.
@@ -177,4 +177,4 @@ Pour définir l’icône dans l'éditeur de menu, choisissez l'option **Ouvrir**
Pour supprimer l’icône de ligne, choisissez l’option **Pas d’icône** dans le menu de la zone “Icône ligne”.
-To define item icons using the 4D language, call the [`SET MENU ITEM ICON`](../commands/set-menu-item-icon) command.
\ No newline at end of file
+Pour définir les icônes des éléments à l'aide du langage 4D, appelez la commande [`SET MENU ITEM ICON`](../commands/set-menu-item-icon).
\ No newline at end of file
diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-20-R10/Notes/updates.md b/i18n/fr/docusaurus-plugin-content-docs/version-20-R10/Notes/updates.md
index 8e2c83e3ad3b5c..869008529af28a 100644
--- a/i18n/fr/docusaurus-plugin-content-docs/version-20-R10/Notes/updates.md
+++ b/i18n/fr/docusaurus-plugin-content-docs/version-20-R10/Notes/updates.md
@@ -232,10 +232,6 @@ Si vos applications 4D utilisent des connexions TLS, il est recommandé de mettr
- **Attention** : La valeur de départ [`offset`](../API/FileHandleClass.md#offset) des objets [4D.FileHandle](../API/FileHandleClass.md) était incorrectement fixée à 1 au lieu de 0. Une correction a été apportée dans 4D à partir des versions **20.1 HF1** et **20 R2** et la valeur est maintenant 0.
-## 4D 20.x LTS
-
-Voir [**Release Notes pour 4D 20.x LTS**](../../version-20/Notes/updates.md).
-
## Tableau des bibliothèques
| Bibliothèque | Version courante | Mise à jour dans 4D | Commentaire |
diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-20-R10/ORDA/ordaClasses.md b/i18n/fr/docusaurus-plugin-content-docs/version-20-R10/ORDA/ordaClasses.md
index d4738c0141b15f..7418c2de73301d 100644
--- a/i18n/fr/docusaurus-plugin-content-docs/version-20-R10/ORDA/ordaClasses.md
+++ b/i18n/fr/docusaurus-plugin-content-docs/version-20-R10/ORDA/ordaClasses.md
@@ -928,25 +928,45 @@ $arch.save() //courseName et name sont "Archaeology II"
## Fonctions exposées et non exposées
-Pour des raisons de sécurité, toutes vos fonctions de classe de modèle de données et les attributs alias ne sont **pas exposés** (c'est-à-dire privés) par défaut aux requêtes distantes.
+For security reasons, all of your data model class functions, including [computed attributes](#computed-attributes-1) and [alias attributes](#alias-attributes-1), as well as [shared singleton functions](../Concepts/classes.md#shared-singleton) are **not exposed** (i.e., private) by default to **remote requests**.
-Les requêtes distantes incluent :
+Remote requests are:
- Les requêtes envoyées par des applications 4D distantes connectées via `Open datastore`
-- Les requêtes REST
+- REST requests, including requests from [Qodly pages](https://developer.4d.com/qodly/)
> Les requêtes client/serveur 4D standard ne sont pas impactées. Les fonctions de classe de modèle de données sont toujours disponibles dans cette architecture.
Une fonction qui n'est pas exposée n'est pas disponible sur les applications distantes et ne peut être appelée sur aucune instance d'objet à partir d'une requête REST. Si une application distante tente d'accéder à une fonction non exposée, l'erreur «-10729 - Méthode membre inconnue» est retournée.
-Pour permettre à une fonction de classe de modèle de données d'être appelée par une requête distante, vous devez la déclarer explicitement à l'aide du mot-clé `exposed`. La syntaxe formelle est la suivante :
+To allow a function or an attribute to be called by a remote request, you must explicitly declare it using the `exposed` keyword. La syntaxe formelle est la suivante :
```4d
// déclarer une fonction exposée
exposed Function
```
-> Le mot-clé `exposed` ne peut être utilisé qu'avec les fonctions de classe du modèle de données. S'il est utilisé avec une fonction de [classe utilisateur standard](Concepts/classes.md), il est ignoré et une erreur est retournée par le compilateur.
+```4d
+// declare an exposed alias
+exposed Alias
+```
+
+```4d
+// declare an exposed computed attribute
+exposed Function get
+```
+
+```4d
+// declare a shared singleton function
+shared singleton Class constructor()
+exposed Function
+```
+
+:::note
+
+The `exposed` keyword can only be used with the objects decribed above. S'il est utilisé avec une fonction de [classe utilisateur standard](Concepts/classes.md), il est ignoré et une erreur est retournée par le compilateur.
+
+:::
### Exemple
diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-20-R10/WritePro/commands/wp-set-attributes.md b/i18n/fr/docusaurus-plugin-content-docs/version-20-R10/WritePro/commands/wp-set-attributes.md
index 8c4efbe25e2be8..d3830c22a4b275 100644
--- a/i18n/fr/docusaurus-plugin-content-docs/version-20-R10/WritePro/commands/wp-set-attributes.md
+++ b/i18n/fr/docusaurus-plugin-content-docs/version-20-R10/WritePro/commands/wp-set-attributes.md
@@ -33,7 +33,7 @@ Vous pouvez spécifier les attributs à définir pour *targetObj* d'une des deux
- Utilisez le paramètre *attribObj* pour passer un seul objet contenant les noms d'attributs et leurs valeurs correspondantes en tant que propriétés d'objet.
-For a comprehensive list of attributes to pass, as well as their scope and respective values, please refer to the [4D Write Pro Attributes](../4d-write-pro-attributes) section.
+Pour une liste complète des attributs à passer, ainsi que leur portée et leurs valeurs respectives, veuillez vous référer à la section [Attributs 4D Write Pro](../4d-write-pro-attributes) .
## Exemple 1
diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-20-R10/WritePro/commands/wp-table-append-row.md b/i18n/fr/docusaurus-plugin-content-docs/version-20-R10/WritePro/commands/wp-table-append-row.md
index 52ff6052532ecc..74766becce0d1c 100644
--- a/i18n/fr/docusaurus-plugin-content-docs/version-20-R10/WritePro/commands/wp-table-append-row.md
+++ b/i18n/fr/docusaurus-plugin-content-docs/version-20-R10/WritePro/commands/wp-table-append-row.md
@@ -21,7 +21,7 @@ displayed_sidebar: docs
The **WP Table append row** command appends one row to the *tableRef* table, fills it with *value*(s) or a *valueColl* collection, and returns the corresponding row range object.
-The command supports two syntaxes:
+La commande supporte deux syntaxes :
- **Using values as parameters:**
Adds as many cells in the row as there are values provided in the *value* parameter(s). You can pass any number of values of different types.
@@ -33,9 +33,9 @@ The command supports two syntaxes:
The default cell alignment will depend on the value type:
-- text: left aligned
-- pictures: centered
-- other types (numbers, date, and time): right aligned
+- texte : aligné à gauche
+- images : centrées
+- autres types (nombres, date et heure): alignés à droite
:::note Notes
diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-20-R10/WritePro/writeprointerface.md b/i18n/fr/docusaurus-plugin-content-docs/version-20-R10/WritePro/writeprointerface.md
index 7fb6510a6a45ff..3e929085d3790f 100644
--- a/i18n/fr/docusaurus-plugin-content-docs/version-20-R10/WritePro/writeprointerface.md
+++ b/i18n/fr/docusaurus-plugin-content-docs/version-20-R10/WritePro/writeprointerface.md
@@ -4,7 +4,7 @@ title: 4D Write Pro Interface
slug: /WritePro/write-pro-interface
---
-L'interface de 4D WritePro offre un ensemble de palettes, qui permettent aux utilisateurs de personnaliser facilement un document 4D Write Pro.
+The 4D Write Pro Interface component offers a set of palettes, which allow end users to easily customize a 4D Write Pro document.
Un développeur 4D peut facilement implémenter ces palettes dans leur application. Ainsi, les utilisateurs finaux peuvent gérer toutes les propriétés de 4D Write Pro, telles que les polices, l'alignement du texte, les signets, la mise en page des tableaux et les cadres.
diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-20/Notes/updates.md b/i18n/fr/docusaurus-plugin-content-docs/version-20/Notes/updates.md
index 0810196fdcbd2c..50d0b949135801 100644
--- a/i18n/fr/docusaurus-plugin-content-docs/version-20/Notes/updates.md
+++ b/i18n/fr/docusaurus-plugin-content-docs/version-20/Notes/updates.md
@@ -15,8 +15,8 @@ Lisez [**Les nouveautés de 4D 20**](https://blog.4d.com/fr-whats-new-in-4d-v20/
#### Points forts
-- 4D 20.8 LTS is certified on Windows 11 25H2.
-- 4D 20.8 LTS is certified on macOS Tahoe (macOS 26).
+- 4D 20.8 LTS est certifié sur Windows 11 25H2.
+- 4D 20.8 LTS est certifié sur macOS Tahoe (macOS 26).
- [**Fixed bugs list**](https://bugs.4d.com/fixes?version=20.8): list of all bugs that have been fixed in 4D 20.8 LTS.
@@ -356,12 +356,6 @@ Pour plus d'informations, veuillez vous référer à [ce billet de blog](https:/
- Prise en charge de `no-bom` et nouveaux caractères de fin de ligne par défaut dans [`.setText()`](../API/FileClass.md#settext)
-## 4D 19.x LTS
-
-
-Voir [**Release notes pour 4D 19.x LTS**](../../version-19/Notes/updates.md).
-
-
## Tableau des bibliothèques (4D 20 LTS)
diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-21/Concepts/classes.md b/i18n/fr/docusaurus-plugin-content-docs/version-21/Concepts/classes.md
index e1452bbeb57077..7c9c753141b23c 100644
--- a/i18n/fr/docusaurus-plugin-content-docs/version-21/Concepts/classes.md
+++ b/i18n/fr/docusaurus-plugin-content-docs/version-21/Concepts/classes.md
@@ -735,13 +735,13 @@ Une **classe singleton** est une classe utilisateur qui ne produit qu'une seule
### Types de singletons
+Les singletons sont utiles pour définir des valeurs qui doivent être disponibles partout dans une application, une session ou un process.
+
4D prend en charge trois types de singletons :
- un **singleton process** a une instance unique pour le process dans lequel il est instancié,
- un **singleton partagé** a une instance unique pour tous les process sur la machine.
-- une **singleton session** est un singleton partagé, mais avec une instance unique pour tous les process de la [session](../API/SessionClass.md). Les singletons de session sont partagés au sein d'une session entière mais varient d'une session à l'autre. Dans le contexte d'un client-serveur ou d'une application web, les singletons de session permettent de créer et d'utiliser une instance différente pour chaque session, et donc pour chaque utilisateur.
-
-Les singletons sont utiles pour définir des valeurs qui doivent être disponibles partout dans une application, une session ou un process.
+- une **singleton session** est un singleton partagé, mais avec une instance unique pour tous les process de la [session](../API/SessionClass.md). Les singletons de session sont partagés au sein d'une session entière mais varient d'une session à l'autre. Dans le contexte d'un client-serveur ou d'une application web, les singletons de session permettent de créer et d'utiliser une instance différente pour chaque session, et donc pour chaque utilisateur. Session singletons are particularly appropriate with [Qodly applications](https://developer.4d.com/qodly/).
:::info
@@ -782,6 +782,10 @@ La propriété [`.isSingleton`](../API/ClassClass.md#issingleton) des objets de
La propriété [`.isSessionSingleton`](../API/ClassClass.md#issessionsingleton) des objets de classe permet de savoir si la classe est un singleton de session.
+### Exposed singleton functions
+
+Shared and session singleton functions support the [`exposed` keyword](../ORDA/ordaClasses.md#exposed-vs-non-exposed-functions). An exposed singleton function can be directly called by REST requests. This feature is useful to design [Qodly pages calling 4D functions](https://developer.4d.com/qodly/4DQodlyPro/pageLoaders/events/bindingActionToEvents#class-functions).
+
### Exemples
#### Singleton process
diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-21/Menus/properties.md b/i18n/fr/docusaurus-plugin-content-docs/version-21/Menus/properties.md
index 88503e3a2c3b87..2d579002b3c6e7 100644
--- a/i18n/fr/docusaurus-plugin-content-docs/version-21/Menus/properties.md
+++ b/i18n/fr/docusaurus-plugin-content-docs/version-21/Menus/properties.md
@@ -12,9 +12,9 @@ La propriété **Titre** contient le libellé d'un menu ou d'une ligne de menu,
Dans l'éditeur de menus, vous pouvez saisir directement le libellé "en dur". Vous pouvez également saisir une référence pour une variable ou un élément XLIFF, ce qui facilitera la mise à jour et la traduction des applications. Vous pouvez utiliser les types de références suivants :
- Une référence à une ressource XLIFF, du type :xliff:MonLibellé. Pour plus d’informations sur les références XLIFF, reportez-vous à la section *Annexe B : Architecture XLIFF* du *Mode Développement 4D*.
-- (**Deprecated**) An interprocess variable name followed by a number, for example: `:<>vlang,3`. Il suffit de changer le contenu de cette variable pour modifier le libellé du menu lors de son affichage. Dans ce cas, le libellé fera appel à une ressource XLIFF. La valeur contenue dans la variable `<>vlang` correspond à l’attribut *id* de l’élément *group*. La seconde valeur (3 dans cet exemple) désigne l’attribut *id* de l’élément *trans-unit*.
+- (**Obsolète**) Un nom de variable interprocess suivi d'un nombre, par exemple : `:<>vlang,3`. Il suffit de changer le contenu de cette variable pour modifier le libellé du menu lors de son affichage. Dans ce cas, le libellé fera appel à une ressource XLIFF. La valeur contenue dans la variable `<>vlang` correspond à l’attribut *id* de l’élément *group*. La seconde valeur (3 dans cet exemple) désigne l’attribut *id* de l’élément *trans-unit*.
-Using the 4D language, you set the title property through the *itemText* parameter of the [`APPEND MENU ITEM`](../commands/append-menu-item), [`INSERT MENU ITEM`](../commands/insert-menu-item), and [`SET MENU ITEM`](../commands/set-menu-item) commands.
+En utilisant le langage 4D, vous définissez la propriété du titre par le biais du paramètre *itemText* des commandes [`APPEND MENU ITEM`](../commands/append-menu-item), [`INSERT MENU ITEM`](../commands/insert-menu-item) et [`SET MENU ITEM`](../commands/set-menu-item).
### Caractères de contrôle
@@ -33,9 +33,9 @@ Les caractères de contrôle n’apparaissent pas dans les libellés des command
## Paramètres
-Il est possible d’associer un paramètre personnalisé à chaque ligne de menu. Un paramètre de ligne de menu est une chaîne de caractères dont le contenu est libre. It can be set in the Menu editor, or through the [`SET MENU ITEM PARAMETER`](../commands/set-menu-item-parameter) command.
+Il est possible d’associer un paramètre personnalisé à chaque ligne de menu. Un paramètre de ligne de menu est une chaîne de caractères dont le contenu est libre. Il peut être défini dans l'éditeur de menus ou à l'aide de la commande [`SET MENU ITEM PARAMETER`](../commands/set-menu-item-parameter).
-Menu item parameters are useful with programmed management of menus, in particular when using the [`Dynamic pop up menu`](../commands/dynamic-pop-up-menu), [`Get menu item parameter`](../commands/get-menu-item-parameter) and [`Get selected menu item parameter`](../commands/get-selected-menu-item-parameter) commands.
+Les paramètres des éléments de menus sont utiles pour la gestion programmée des menus, en particulier lors de l'utilisation des commandes [`Dynamic pop up menu`](../commands/dynamic-pop-up-menu), [`Get menu item parameter`](../commands/get-menu-item-parameter) et [`Get selected menu item parameter`](../commands/get-selected-menu-item-parameter).
## Action
@@ -57,7 +57,7 @@ Pour associer une méthode projet et/ou une action standard à une commande de m
- **Action standard associée** : Choisissez ou saisissez le nom de l’action que vous souhaitez associer dans la combo box "Action standard associée". Vous pouvez saisir toute action prise en charge et (optionnellement) tout paramètre dans la zone. Pour la liste complète des actions standard, veuillez vous reporter à la section **Actions standard** dans le *Mode Développement*.
**Note macOS :** Sous macOS, les commandes de menus créés associées à l'action *Quitter* sont automatiquement placées dans le menu de l’application, conformément aux normes d’interface de cette plate-forme.
-Using the 4D language, you can associate a project method using the [`SET MENU ITEM METHOD`](../commands/set-menu-item-method) command, and a standard action using the [`SET MENU ITEM PROPERTY`](../commands/set-menu-item-property) command.
+En utilisant le langage 4D, vous pouvez associer une méthode projet en utilisant la commande [`SET MENU ITEM METHOD`](../commands/set-menu-item-method) et une action standard en utilisant la commande [`SET MENU ITEM PROPERTY`](../commands/set-menu-item-property).
### Démarrer un process
@@ -93,7 +93,7 @@ Vous ajoutez un filet de séparation en créant une commande de menu.
Dans l'éditeur de menus, au lieu de saisir le nom de la commande de menu, il suffit de cocher l’option **Ligne de séparation**. La ligne apparaît alors dans la zone de la commande courante. La ligne apparaît alors dans la zone de la commande courante. Lorsque cette option est cochée, les autres propriétés sont sans effet.
**Note :** Sous macOS, il est possible de procéder en faisant commencer le nom de la commande par un tiret “-”. Cette commande sera alors affichée comme une ligne de séparation.
-In the 4D language, you insert a separator line by entering `-` or `(-` as itemText for [`APPEND MENU ITEM`](../commands/append-menu-item), [`INSERT MENU ITEM`](../commands/insert-menu-item), or [`SET MENU ITEM`](../commands/set-menu-item) commands.
+Dans le langage 4D, vous insérez une ligne de séparation en entrant `-` ou `(-` comme *itemText* pour les commandes [`APPEND MENU ITEM`](../commands/append-menu-item), [`INSERT MENU ITEM`](../commands/insert-menu-item) ou [`SET MENU ITEM`](../commands/set-menu-item).
### Raccourcis clavier
@@ -153,7 +153,7 @@ Par défaut, 4D active automatiquement toute commande de menu ajoutée à un men
### Coche
-Cette option de l'éditeur de menus permet d’associer par défaut une coche système à la ligne de menu. You can then manage the display of the check mark using language commands ([`SET MENU ITEM MARK`](../commands/set-menu-item-mark) and [`Get menu item mark`](../commands/get-menu-item-mark)).
+Cette option de l'éditeur de menus permet d’associer par défaut une coche système à la ligne de menu. Vous pouvez ensuite gérer l'affichage de la coche à l'aide des commandes de langage ([`SET MENU ITEM MARK`](../commands/set-menu-item-mark) et [`Get menu item mark`](../commands/get-menu-item-mark)).
Les coches sont généralement utilisées pour des menus à action permanente et indiquent que l’action est en cours.
@@ -177,4 +177,4 @@ Pour définir l’icône dans l'éditeur de menu, choisissez l'option **Ouvrir**
Pour supprimer l’icône de ligne, choisissez l’option **Pas d’icône** dans le menu de la zone “Icône ligne”.
-To define item icons using the 4D language, call the [`SET MENU ITEM ICON`](../commands/set-menu-item-icon) command.
\ No newline at end of file
+Pour définir les icônes des éléments à l'aide du langage 4D, appelez la commande [`SET MENU ITEM ICON`](../commands/set-menu-item-icon).
\ No newline at end of file
diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-21/Notes/updates.md b/i18n/fr/docusaurus-plugin-content-docs/version-21/Notes/updates.md
index 8c81601b612bfb..e9ad2cdebdf87d 100644
--- a/i18n/fr/docusaurus-plugin-content-docs/version-21/Notes/updates.md
+++ b/i18n/fr/docusaurus-plugin-content-docs/version-21/Notes/updates.md
@@ -16,7 +16,7 @@ Lisez [**Les nouveautés de 4D 21**](https://blog.4d.com/fe-whats-new-in-4d-v21/
- possibilité de définir des [gestionnaires de requêtes HTTP](../WebServer/http-request-handler.md) en utilisant une propriété `handlers` dans le paramètre *settings* de la fonction [`start()`](../API/WebServerClass.md#start) du serveur Web,
- l'objet serveur Web contient de nouvelles propriétés [`rules`](../API/WebServerClass.md#rules) et [`handlers`](../API/WebServerClass.md#handlers).
- Nouveaux [événements ORDA sur les données](../ORDA/orda-events.md) : validateSave, saving, afterSave, validateDrop, dropping, afterDrop.
-- Support of the new [`restrictedByDefault` property](../ORDA/privileges.md#restriction-modes) in the `roles.json` file to block access by default to all resources without explicit permission.
+- Prise en charge de la nouvelle propriété [`restrictedByDefault`](../ORDA/privileges.md#restriction-modes) dans le fichier `roles.json` pour bloquer l'accès par défaut à toutes les ressources sans permission explicite.
- Nouvelle option permettant d'utiliser les certificats du Windows Certificate Store au lieu d'un dossier de certificats locaux dans les classes [`HTTPRequest`](../API/HTTPRequestClass.md#4dhttprequestnew) et [`HTTPAgent`](../API/HTTPAgentClass.md#4dhttpagentnew).
- Client/serveur :
- Vous pouvez afficher des pages Qodly dans des zones Web et [partager la session du client distant](../Desktop/clientServer.md#sharing-the-session-with-qodly-pages-in-web-areas).
@@ -288,11 +288,7 @@ Si vos applications 4D utilisent des connexions TLS, il est recommandé de mettr
- **Attention** : La valeur de départ [`offset`](../API/FileHandleClass.md#offset) des objets [4D.FileHandle](../API/FileHandleClass.md) était incorrectement fixée à 1 au lieu de 0. Une correction a été apportée dans 4D à partir des versions **20.1 HF1** et **20 R2** et la valeur est maintenant 0.
-## 4D 20.x LTS
-
-Voir [**Release Notes pour 4D 20.x LTS**](../20/Notes/updates).
-
-## Tableau des bibliothèques
+## Tableau des bibliothèques (4D 21 LTS)
| Bibliothèque | Version courante | Mise à jour dans 4D | Commentaire |
| ------------ | -------------------------------------- | ------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------- |
diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-21/ORDA/ordaClasses.md b/i18n/fr/docusaurus-plugin-content-docs/version-21/ORDA/ordaClasses.md
index d4738c0141b15f..7418c2de73301d 100644
--- a/i18n/fr/docusaurus-plugin-content-docs/version-21/ORDA/ordaClasses.md
+++ b/i18n/fr/docusaurus-plugin-content-docs/version-21/ORDA/ordaClasses.md
@@ -928,25 +928,45 @@ $arch.save() //courseName et name sont "Archaeology II"
## Fonctions exposées et non exposées
-Pour des raisons de sécurité, toutes vos fonctions de classe de modèle de données et les attributs alias ne sont **pas exposés** (c'est-à-dire privés) par défaut aux requêtes distantes.
+For security reasons, all of your data model class functions, including [computed attributes](#computed-attributes-1) and [alias attributes](#alias-attributes-1), as well as [shared singleton functions](../Concepts/classes.md#shared-singleton) are **not exposed** (i.e., private) by default to **remote requests**.
-Les requêtes distantes incluent :
+Remote requests are:
- Les requêtes envoyées par des applications 4D distantes connectées via `Open datastore`
-- Les requêtes REST
+- REST requests, including requests from [Qodly pages](https://developer.4d.com/qodly/)
> Les requêtes client/serveur 4D standard ne sont pas impactées. Les fonctions de classe de modèle de données sont toujours disponibles dans cette architecture.
Une fonction qui n'est pas exposée n'est pas disponible sur les applications distantes et ne peut être appelée sur aucune instance d'objet à partir d'une requête REST. Si une application distante tente d'accéder à une fonction non exposée, l'erreur «-10729 - Méthode membre inconnue» est retournée.
-Pour permettre à une fonction de classe de modèle de données d'être appelée par une requête distante, vous devez la déclarer explicitement à l'aide du mot-clé `exposed`. La syntaxe formelle est la suivante :
+To allow a function or an attribute to be called by a remote request, you must explicitly declare it using the `exposed` keyword. La syntaxe formelle est la suivante :
```4d
// déclarer une fonction exposée
exposed Function
```
-> Le mot-clé `exposed` ne peut être utilisé qu'avec les fonctions de classe du modèle de données. S'il est utilisé avec une fonction de [classe utilisateur standard](Concepts/classes.md), il est ignoré et une erreur est retournée par le compilateur.
+```4d
+// declare an exposed alias
+exposed Alias
+```
+
+```4d
+// declare an exposed computed attribute
+exposed Function get
+```
+
+```4d
+// declare a shared singleton function
+shared singleton Class constructor()
+exposed Function
+```
+
+:::note
+
+The `exposed` keyword can only be used with the objects decribed above. S'il est utilisé avec une fonction de [classe utilisateur standard](Concepts/classes.md), il est ignoré et une erreur est retournée par le compilateur.
+
+:::
### Exemple
diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-21/WritePro/commands/wp-set-attributes.md b/i18n/fr/docusaurus-plugin-content-docs/version-21/WritePro/commands/wp-set-attributes.md
index 8c4efbe25e2be8..d3830c22a4b275 100644
--- a/i18n/fr/docusaurus-plugin-content-docs/version-21/WritePro/commands/wp-set-attributes.md
+++ b/i18n/fr/docusaurus-plugin-content-docs/version-21/WritePro/commands/wp-set-attributes.md
@@ -33,7 +33,7 @@ Vous pouvez spécifier les attributs à définir pour *targetObj* d'une des deux
- Utilisez le paramètre *attribObj* pour passer un seul objet contenant les noms d'attributs et leurs valeurs correspondantes en tant que propriétés d'objet.
-For a comprehensive list of attributes to pass, as well as their scope and respective values, please refer to the [4D Write Pro Attributes](../4d-write-pro-attributes) section.
+Pour une liste complète des attributs à passer, ainsi que leur portée et leurs valeurs respectives, veuillez vous référer à la section [Attributs 4D Write Pro](../4d-write-pro-attributes) .
## Exemple 1
diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-21/WritePro/commands/wp-table-append-row.md b/i18n/fr/docusaurus-plugin-content-docs/version-21/WritePro/commands/wp-table-append-row.md
index 52ff6052532ecc..74766becce0d1c 100644
--- a/i18n/fr/docusaurus-plugin-content-docs/version-21/WritePro/commands/wp-table-append-row.md
+++ b/i18n/fr/docusaurus-plugin-content-docs/version-21/WritePro/commands/wp-table-append-row.md
@@ -21,7 +21,7 @@ displayed_sidebar: docs
The **WP Table append row** command appends one row to the *tableRef* table, fills it with *value*(s) or a *valueColl* collection, and returns the corresponding row range object.
-The command supports two syntaxes:
+La commande supporte deux syntaxes :
- **Using values as parameters:**
Adds as many cells in the row as there are values provided in the *value* parameter(s). You can pass any number of values of different types.
@@ -33,9 +33,9 @@ The command supports two syntaxes:
The default cell alignment will depend on the value type:
-- text: left aligned
-- pictures: centered
-- other types (numbers, date, and time): right aligned
+- texte : aligné à gauche
+- images : centrées
+- autres types (nombres, date et heure): alignés à droite
:::note Notes
diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-21/WritePro/writeprointerface.md b/i18n/fr/docusaurus-plugin-content-docs/version-21/WritePro/writeprointerface.md
index 7fb6510a6a45ff..213b07f20f012c 100644
--- a/i18n/fr/docusaurus-plugin-content-docs/version-21/WritePro/writeprointerface.md
+++ b/i18n/fr/docusaurus-plugin-content-docs/version-21/WritePro/writeprointerface.md
@@ -4,13 +4,15 @@ title: 4D Write Pro Interface
slug: /WritePro/write-pro-interface
---
-L'interface de 4D WritePro offre un ensemble de palettes, qui permettent aux utilisateurs de personnaliser facilement un document 4D Write Pro.
+4D Write Pro Interface offers a set of palettes, which allow end users to easily customize a 4D Write Pro document.
Un développeur 4D peut facilement implémenter ces palettes dans leur application. Ainsi, les utilisateurs finaux peuvent gérer toutes les propriétés de 4D Write Pro, telles que les polices, l'alignement du texte, les signets, la mise en page des tableaux et les cadres.
-La documentation principale de l'[interface 4D Write Pro](https://doc.4d.com/4Dv20/4D/20/Entry-areas.300-6263967.en.html) se trouve dans le *4D - Mode Développement*.
+## Installation & documentation
-Vous trouverez ci-dessous :
+4D Write Pro Interface is a **4D component** that needs to be [installed in your project](../Project/components.md#overview). 4D Write Pro Interface source files are [provided on Github](https://github.com/4d/4D-WritePro-Interface).
+
+La documentation principale de l'[interface 4D Write Pro](https://doc.4d.com/4Dv20/4D/20/Entry-areas.300-6263967.en.html) se trouve dans le *4D - Mode Développement*. Vous trouverez ci-dessous :
- la documentation de configuration de l'assistant de table,
- the integrated A.I. documentation.
diff --git a/i18n/ja/docusaurus-plugin-content-docs/current/Concepts/classes.md b/i18n/ja/docusaurus-plugin-content-docs/current/Concepts/classes.md
index 3f7c8e9eb46272..525f05e5150afa 100644
--- a/i18n/ja/docusaurus-plugin-content-docs/current/Concepts/classes.md
+++ b/i18n/ja/docusaurus-plugin-content-docs/current/Concepts/classes.md
@@ -736,13 +736,13 @@ shared Function Bar($value : Integer)
### シングルトンの種類
+アプリケーションやセッション、プロセス内のどこからでも利用可能な値を定義するのにシングルトンは便利です。
+
4D は 3種類のシングルトンをサポートしています:
- **プロセスシングルトン** は、自身がインスタンス化されたプロセス内において、インスタンスを一つのみ持つことができます。
- **共有シングルトン** は、マシン上のすべてのプロセスにおいて、共通のインスタンスを一つのみ持つことができます。
-- **セッションシングルトン** も共有シングルトンですが、特定の [セッション](../API/SessionClass.md) 内のすべてのプロセスにおいて、共通のインスタンスを一つのみ持つことができます。 セッションシングルトンは、セッション内で全体的に共有されますが、セッションごとに異なります。 クライアントサーバーまたは Webアプリケーションのコンテキストで セッションシングルトンを使用すると、各セッションごと (つまり各ユーザーごと) に異なるインスタンスを作成して使用することができます。
-
-アプリケーションやセッション、プロセス内のどこからでも利用可能な値を定義するのにシングルトンは便利です。
+- **セッションシングルトン** も共有シングルトンですが、特定の [セッション](../API/SessionClass.md) 内のすべてのプロセスにおいて、共通のインスタンスを一つのみ持つことができます。 セッションシングルトンは、セッション内で全体的に共有されますが、セッションごとに異なります。 クライアントサーバーまたは Webアプリケーションのコンテキストで セッションシングルトンを使用すると、各セッションごと (つまり各ユーザーごと) に異なるインスタンスを作成して使用することができます。 Session singletons are particularly appropriate with [Qodly applications](https://developer.4d.com/qodly/).
:::info
@@ -783,6 +783,10 @@ shared Function Bar($value : Integer)
クラスがセッションシングルトンかどうかは、Classオブジェクトの .[`.isSessionSingleton`](../API/ClassClass.md#issessionsingleton) プロパティで確認できます。
+### Exposed singleton functions
+
+Shared and session singleton functions support the [`exposed` keyword](../ORDA/ordaClasses.md#exposed-vs-non-exposed-functions). An exposed singleton function can be directly called by REST requests. This feature is useful to design [Qodly pages calling 4D functions](https://developer.4d.com/qodly/4DQodlyPro/pageLoaders/events/bindingActionToEvents#class-functions).
+
### 例題
#### プロセスシングルトン
diff --git a/i18n/ja/docusaurus-plugin-content-docs/current/Notes/updates.md b/i18n/ja/docusaurus-plugin-content-docs/current/Notes/updates.md
index 792bedf98778fe..423bc1e6bbafe9 100644
--- a/i18n/ja/docusaurus-plugin-content-docs/current/Notes/updates.md
+++ b/i18n/ja/docusaurus-plugin-content-docs/current/Notes/updates.md
@@ -5,23 +5,15 @@ title: リリースノート
## 4D 21 R2
-Read [**What’s new in 4D 21 R2**](https://blog.4d.com/en-whats-new-in-4d-21-r2/), the blog post that lists all new features and enhancements in 4D 21 R2.
+[**4D 21 R2 の新機能**](https://blog.4d.com/en-whats-new-in-4d-21-r2/): 4D 21 R2 の新機能と拡張機能をすべてリストアップしたブログ記事です。
#### ハイライト
-- [Code Live Checker](../code-editor/write-class-method.md#warnings-and-errors) has been enhanced to provide greater precision in error detection.
+- [コードライブチェッカー](../code-editor/write-class-method.md#警告とエラー) はエラー検知の面における正確性が大幅に向上しました。
- [**修正リスト**](https://bugs.4d.fr/fixedbugslist?version=21_R2): 4D 21 R2 で修正されたバグのリストです ([日本語版はこちら](https://4d-jp.github.io/2023/178/release-note-version-20r2/))。
#### 動作の変更
-## 4D 21.x LTS
-
-[**4D 21.x LTS のリリースノート**](../../21/Notes/updates) を参照して下さい。
-
-## 4D 20.x LTS
-
-[**4D 20.x LTS のリリースノート**](../../20/Notes/updates) を参照して下さい。
-
## ライブラリの一覧
| ライブラリ | 現在のバージョン | 更新された 4D バージョン | 説明 |
diff --git a/i18n/ja/docusaurus-plugin-content-docs/current/ORDA/ordaClasses.md b/i18n/ja/docusaurus-plugin-content-docs/current/ORDA/ordaClasses.md
index d06def3e344611..a49e8ce5d07ead 100644
--- a/i18n/ja/docusaurus-plugin-content-docs/current/ORDA/ordaClasses.md
+++ b/i18n/ja/docusaurus-plugin-content-docs/current/ORDA/ordaClasses.md
@@ -936,18 +936,18 @@ $arch.save() //courseName と name は "Archaeology II" に変更されます
## 公開vs非公開関数
-セキュリティ上の理由により、データモデルクラス関数およびエイリアス属性はデフォルトですべて、リモートリクエストに対し **非公開** (つまりプライベート) に設定されています。
+For security reasons, all of your data model class functions, including [computed attributes](#computed-attributes-1) and [alias attributes](#alias-attributes-1), as well as [shared singleton functions](../Concepts/classes.md#shared-singleton) are **not exposed** (i.e., private) by default to **remote requests**.
-リモートリクエストには次のものが含まれます:
+Remote requests are:
- `Open datastore` によって接続されたリモートの 4Dアプリケーションが送信するリクエスト
-- RESTリクエスト
+- REST requests, including requests from [Qodly pages](https://developer.4d.com/qodly/)
> 通常の 4Dクライアント/サーバーリクエストは影響されません。 このアーキテクチャーにおいては、データモデルクラス関数は常に利用可能です。
公開されていない関数はリモートアプリケーションで利用することができず、RESTリクエストによるオブジェクトインスタンスに対して呼び出すこともできません。 リモートアプリケーションが非公開関数をアクセスしようとすると、"-10729 (未知のメンバー機能です)" エラーが返されます。
-リモートリクエストによる呼び出しを許可するには、`exposed` キーワードを使ってデータモデルクラス関数を明示的に宣言する必要があります。 シンタックスは次の通りです:
+To allow a function or an attribute to be called by a remote request, you must explicitly declare it using the `exposed` keyword. シンタックスは次の通りです:
```4d
// 公開関数の宣言
@@ -955,7 +955,27 @@ exposed Function
```
-> `exposed` キーワードは、データモデルクラス関数に対してのみ利用可能です。 [通常のユーザークラス](Concepts/classes.md) 関数に対して使った場合、キーワードは無視され、コンパイラーはエラーを返します。
+```4d
+// declare an exposed alias
+exposed Alias
+```
+
+```4d
+// declare an exposed computed attribute
+exposed Function get
+```
+
+```4d
+// declare a shared singleton function
+shared singleton Class constructor()
+exposed Function
+```
+
+:::note
+
+The `exposed` keyword can only be used with the objects decribed above. [通常のユーザークラス](Concepts/classes.md) 関数に対して使った場合、キーワードは無視され、コンパイラーはエラーを返します。
+
+:::
### 例題
diff --git a/i18n/ja/docusaurus-plugin-content-docs/current/WritePro/writeprointerface.md b/i18n/ja/docusaurus-plugin-content-docs/current/WritePro/writeprointerface.md
index bb283a6e73ffb8..b273ac1f017f53 100644
--- a/i18n/ja/docusaurus-plugin-content-docs/current/WritePro/writeprointerface.md
+++ b/i18n/ja/docusaurus-plugin-content-docs/current/WritePro/writeprointerface.md
@@ -4,13 +4,15 @@ title: 4D WritePro インターフェース
slug: /WritePro/write-pro-interface
---
-4D WritePro インターフェースは、エンドユーザーが 4D Write Proドキュメントを簡単にカスタマイズできるパレットを提供します。
+4D Write Pro Interface offers a set of palettes, which allow end users to easily customize a 4D Write Pro document.
4D のデベロッパーは、これらのパレットをアプリケーションに簡単に実装することができます。 それにより、エンドユーザーは、フォントやテキストの揃え方向、ブックマーク、表レイアウト、フレームなど、4D Write Pro のプロパティをすべて管理することができます。
-インターフェースのマニュアルについては、*4D デザインリファレンス* の [4D Write Pro エリアのドキュメント](https://doc.4d.com/4Dv20/4D/20/Entry-areas.300-6263967.ja.html) を参照ください。
+## Installation & documentation
-ここには以下のような情報があります:
+4D Write Pro Interface is a **4D component** that needs to be [installed in your project](../Project/components.md#overview). 4D Write Pro Interface source files are [provided on Github](https://github.com/4d/4D-WritePro-Interface).
+
+インターフェースのマニュアルについては、*4D デザインリファレンス* の [4D Write Pro エリアのドキュメント](https://doc.4d.com/4Dv20/4D/20/Entry-areas.300-6263967.ja.html) を参照ください。 ここには以下のような情報があります:
- 表ウィザード設定ドキュメンテーション
- 統合されたAIについての ドキュメント.
diff --git a/i18n/ja/docusaurus-plugin-content-docs/version-20-R10/Concepts/classes.md b/i18n/ja/docusaurus-plugin-content-docs/version-20-R10/Concepts/classes.md
index 91e9cedd7a064f..ff014a4a2e7838 100644
--- a/i18n/ja/docusaurus-plugin-content-docs/version-20-R10/Concepts/classes.md
+++ b/i18n/ja/docusaurus-plugin-content-docs/version-20-R10/Concepts/classes.md
@@ -736,13 +736,13 @@ shared Function Bar($value : Integer)
### シングルトンの種類
+アプリケーションやセッション、プロセス内のどこからでも利用可能な値を定義するのにシングルトンは便利です。
+
4D は 3種類のシングルトンをサポートしています:
- **プロセスシングルトン** は、自身がインスタンス化されたプロセス内において、インスタンスを一つのみ持つことができます。
- **共有シングルトン** は、マシン上のすべてのプロセスにおいて、共通のインスタンスを一つのみ持つことができます。
-- **セッションシングルトン** も共有シングルトンですが、特定の [セッション](../API/SessionClass.md) 内のすべてのプロセスにおいて、共通のインスタンスを一つのみ持つことができます。 セッションシングルトンは、セッション内で全体的に共有されますが、セッションごとに異なります。 クライアントサーバーまたは Webアプリケーションのコンテキストで セッションシングルトンを使用すると、各セッションごと (つまり各ユーザーごと) に異なるインスタンスを作成して使用することができます。
-
-アプリケーションやセッション、プロセス内のどこからでも利用可能な値を定義するのにシングルトンは便利です。
+- **セッションシングルトン** も共有シングルトンですが、特定の [セッション](../API/SessionClass.md) 内のすべてのプロセスにおいて、共通のインスタンスを一つのみ持つことができます。 セッションシングルトンは、セッション内で全体的に共有されますが、セッションごとに異なります。 クライアントサーバーまたは Webアプリケーションのコンテキストで セッションシングルトンを使用すると、各セッションごと (つまり各ユーザーごと) に異なるインスタンスを作成して使用することができます。 Session singletons are particularly appropriate with [Qodly applications](https://developer.4d.com/qodly/).
:::info
@@ -783,6 +783,10 @@ shared Function Bar($value : Integer)
クラスがセッションシングルトンかどうかは、Classオブジェクトの .[`.isSessionSingleton`](../API/ClassClass.md#issessionsingleton) プロパティで確認できます。
+### Exposed singleton functions
+
+Shared and session singleton functions support the [`exposed` keyword](../ORDA/ordaClasses.md#exposed-vs-non-exposed-functions). An exposed singleton function can be directly called by REST requests. This feature is useful to design [Qodly pages calling 4D functions](https://developer.4d.com/qodly/4DQodlyPro/pageLoaders/events/bindingActionToEvents#class-functions).
+
### 例題
#### プロセスシングルトン
diff --git a/i18n/ja/docusaurus-plugin-content-docs/version-20-R10/Notes/updates.md b/i18n/ja/docusaurus-plugin-content-docs/version-20-R10/Notes/updates.md
index ff2eefe13f6d7d..b3db37de349b19 100644
--- a/i18n/ja/docusaurus-plugin-content-docs/version-20-R10/Notes/updates.md
+++ b/i18n/ja/docusaurus-plugin-content-docs/version-20-R10/Notes/updates.md
@@ -233,10 +233,6 @@ title: リリースノート
- **警告**: [4D.FileHandle](../API/FileHandleClass.md) オブジェクトの [`offset`](../API/FileHandleClass.md#offset) の開始値が誤って 0 ではなく 1 に設定されていました。 **20.1 HF1** および **20 R2** のバージョンで 4D が修正され、この値が 0 になりました。 **20.1 HF1** および **20 R2** のバージョンで 4D が修正され、この値が 0 になりました。
-## 4D 20.x LTS
-
-[**4D 20.x LTS のリリースノート**](../../version-20/Notes/updates.md) 参照。
-
## ライブラリの一覧
| ライブラリ | 現在のバージョン | 更新された 4D バージョン | 説明 |
diff --git a/i18n/ja/docusaurus-plugin-content-docs/version-20-R10/ORDA/ordaClasses.md b/i18n/ja/docusaurus-plugin-content-docs/version-20-R10/ORDA/ordaClasses.md
index d06def3e344611..a49e8ce5d07ead 100644
--- a/i18n/ja/docusaurus-plugin-content-docs/version-20-R10/ORDA/ordaClasses.md
+++ b/i18n/ja/docusaurus-plugin-content-docs/version-20-R10/ORDA/ordaClasses.md
@@ -936,18 +936,18 @@ $arch.save() //courseName と name は "Archaeology II" に変更されます
## 公開vs非公開関数
-セキュリティ上の理由により、データモデルクラス関数およびエイリアス属性はデフォルトですべて、リモートリクエストに対し **非公開** (つまりプライベート) に設定されています。
+For security reasons, all of your data model class functions, including [computed attributes](#computed-attributes-1) and [alias attributes](#alias-attributes-1), as well as [shared singleton functions](../Concepts/classes.md#shared-singleton) are **not exposed** (i.e., private) by default to **remote requests**.
-リモートリクエストには次のものが含まれます:
+Remote requests are:
- `Open datastore` によって接続されたリモートの 4Dアプリケーションが送信するリクエスト
-- RESTリクエスト
+- REST requests, including requests from [Qodly pages](https://developer.4d.com/qodly/)
> 通常の 4Dクライアント/サーバーリクエストは影響されません。 このアーキテクチャーにおいては、データモデルクラス関数は常に利用可能です。
公開されていない関数はリモートアプリケーションで利用することができず、RESTリクエストによるオブジェクトインスタンスに対して呼び出すこともできません。 リモートアプリケーションが非公開関数をアクセスしようとすると、"-10729 (未知のメンバー機能です)" エラーが返されます。
-リモートリクエストによる呼び出しを許可するには、`exposed` キーワードを使ってデータモデルクラス関数を明示的に宣言する必要があります。 シンタックスは次の通りです:
+To allow a function or an attribute to be called by a remote request, you must explicitly declare it using the `exposed` keyword. シンタックスは次の通りです:
```4d
// 公開関数の宣言
@@ -955,7 +955,27 @@ exposed Function
```
-> `exposed` キーワードは、データモデルクラス関数に対してのみ利用可能です。 [通常のユーザークラス](Concepts/classes.md) 関数に対して使った場合、キーワードは無視され、コンパイラーはエラーを返します。
+```4d
+// declare an exposed alias
+exposed Alias
+```
+
+```4d
+// declare an exposed computed attribute
+exposed Function get
+```
+
+```4d
+// declare a shared singleton function
+shared singleton Class constructor()
+exposed Function
+```
+
+:::note
+
+The `exposed` keyword can only be used with the objects decribed above. [通常のユーザークラス](Concepts/classes.md) 関数に対して使った場合、キーワードは無視され、コンパイラーはエラーを返します。
+
+:::
### 例題
diff --git a/i18n/ja/docusaurus-plugin-content-docs/version-20-R10/WritePro/writeprointerface.md b/i18n/ja/docusaurus-plugin-content-docs/version-20-R10/WritePro/writeprointerface.md
index bb283a6e73ffb8..e27fbf2dc368a0 100644
--- a/i18n/ja/docusaurus-plugin-content-docs/version-20-R10/WritePro/writeprointerface.md
+++ b/i18n/ja/docusaurus-plugin-content-docs/version-20-R10/WritePro/writeprointerface.md
@@ -4,7 +4,7 @@ title: 4D WritePro インターフェース
slug: /WritePro/write-pro-interface
---
-4D WritePro インターフェースは、エンドユーザーが 4D Write Proドキュメントを簡単にカスタマイズできるパレットを提供します。
+The 4D Write Pro Interface component offers a set of palettes, which allow end users to easily customize a 4D Write Pro document.
4D のデベロッパーは、これらのパレットをアプリケーションに簡単に実装することができます。 それにより、エンドユーザーは、フォントやテキストの揃え方向、ブックマーク、表レイアウト、フレームなど、4D Write Pro のプロパティをすべて管理することができます。
diff --git a/i18n/ja/docusaurus-plugin-content-docs/version-20/Notes/updates.md b/i18n/ja/docusaurus-plugin-content-docs/version-20/Notes/updates.md
index 84208fa427b2af..eee7fc232f1ef1 100644
--- a/i18n/ja/docusaurus-plugin-content-docs/version-20/Notes/updates.md
+++ b/i18n/ja/docusaurus-plugin-content-docs/version-20/Notes/updates.md
@@ -356,12 +356,6 @@ ALERT($param1+" "+$param2)
- [`.setText()`](../API/FileClass.md#settext) におけるデフォルトの改行コード (EOL) の指定と `no-bom` のサポート
-## 4D 19.x LTS
-
-
-[**4D 19.x LTS のリリースノート**](../../version-19/Notes/updates.md) 参照。
-
-
## ライブラリの一覧 (4D 20 LTS)
diff --git a/i18n/ja/docusaurus-plugin-content-docs/version-21/Concepts/classes.md b/i18n/ja/docusaurus-plugin-content-docs/version-21/Concepts/classes.md
index 91e9cedd7a064f..ff014a4a2e7838 100644
--- a/i18n/ja/docusaurus-plugin-content-docs/version-21/Concepts/classes.md
+++ b/i18n/ja/docusaurus-plugin-content-docs/version-21/Concepts/classes.md
@@ -736,13 +736,13 @@ shared Function Bar($value : Integer)
### シングルトンの種類
+アプリケーションやセッション、プロセス内のどこからでも利用可能な値を定義するのにシングルトンは便利です。
+
4D は 3種類のシングルトンをサポートしています:
- **プロセスシングルトン** は、自身がインスタンス化されたプロセス内において、インスタンスを一つのみ持つことができます。
- **共有シングルトン** は、マシン上のすべてのプロセスにおいて、共通のインスタンスを一つのみ持つことができます。
-- **セッションシングルトン** も共有シングルトンですが、特定の [セッション](../API/SessionClass.md) 内のすべてのプロセスにおいて、共通のインスタンスを一つのみ持つことができます。 セッションシングルトンは、セッション内で全体的に共有されますが、セッションごとに異なります。 クライアントサーバーまたは Webアプリケーションのコンテキストで セッションシングルトンを使用すると、各セッションごと (つまり各ユーザーごと) に異なるインスタンスを作成して使用することができます。
-
-アプリケーションやセッション、プロセス内のどこからでも利用可能な値を定義するのにシングルトンは便利です。
+- **セッションシングルトン** も共有シングルトンですが、特定の [セッション](../API/SessionClass.md) 内のすべてのプロセスにおいて、共通のインスタンスを一つのみ持つことができます。 セッションシングルトンは、セッション内で全体的に共有されますが、セッションごとに異なります。 クライアントサーバーまたは Webアプリケーションのコンテキストで セッションシングルトンを使用すると、各セッションごと (つまり各ユーザーごと) に異なるインスタンスを作成して使用することができます。 Session singletons are particularly appropriate with [Qodly applications](https://developer.4d.com/qodly/).
:::info
@@ -783,6 +783,10 @@ shared Function Bar($value : Integer)
クラスがセッションシングルトンかどうかは、Classオブジェクトの .[`.isSessionSingleton`](../API/ClassClass.md#issessionsingleton) プロパティで確認できます。
+### Exposed singleton functions
+
+Shared and session singleton functions support the [`exposed` keyword](../ORDA/ordaClasses.md#exposed-vs-non-exposed-functions). An exposed singleton function can be directly called by REST requests. This feature is useful to design [Qodly pages calling 4D functions](https://developer.4d.com/qodly/4DQodlyPro/pageLoaders/events/bindingActionToEvents#class-functions).
+
### 例題
#### プロセスシングルトン
diff --git a/i18n/ja/docusaurus-plugin-content-docs/version-21/Notes/updates.md b/i18n/ja/docusaurus-plugin-content-docs/version-21/Notes/updates.md
index 7bdb8b1d9fa45c..870bffddeb4e47 100644
--- a/i18n/ja/docusaurus-plugin-content-docs/version-21/Notes/updates.md
+++ b/i18n/ja/docusaurus-plugin-content-docs/version-21/Notes/updates.md
@@ -289,11 +289,7 @@ title: リリースノート
- **警告**: [4D.FileHandle](../API/FileHandleClass.md) オブジェクトの [`offset`](../API/FileHandleClass.md#offset) の開始値が誤って 0 ではなく 1 に設定されていました。 **20.1 HF1** および **20 R2** のバージョンで 4D が修正され、この値が 0 になりました。 **20.1 HF1** および **20 R2** のバージョンで 4D が修正され、この値が 0 になりました。
-## 4D 20.x LTS
-
-[**4D 20.x LTS のリリースノート**](../20/Notes/updates) を参照して下さい。
-
-## ライブラリの一覧
+## ライブラリの一覧 (4D 21 LTS)
| ライブラリ | 現在のバージョン | 更新された 4D バージョン | 説明 |
| --------- | -------------------------------------- | -------------- | -------------------------------------------------------------------------------------------------------------------------------------------------- |
diff --git a/i18n/ja/docusaurus-plugin-content-docs/version-21/ORDA/ordaClasses.md b/i18n/ja/docusaurus-plugin-content-docs/version-21/ORDA/ordaClasses.md
index d06def3e344611..a49e8ce5d07ead 100644
--- a/i18n/ja/docusaurus-plugin-content-docs/version-21/ORDA/ordaClasses.md
+++ b/i18n/ja/docusaurus-plugin-content-docs/version-21/ORDA/ordaClasses.md
@@ -936,18 +936,18 @@ $arch.save() //courseName と name は "Archaeology II" に変更されます
## 公開vs非公開関数
-セキュリティ上の理由により、データモデルクラス関数およびエイリアス属性はデフォルトですべて、リモートリクエストに対し **非公開** (つまりプライベート) に設定されています。
+For security reasons, all of your data model class functions, including [computed attributes](#computed-attributes-1) and [alias attributes](#alias-attributes-1), as well as [shared singleton functions](../Concepts/classes.md#shared-singleton) are **not exposed** (i.e., private) by default to **remote requests**.
-リモートリクエストには次のものが含まれます:
+Remote requests are:
- `Open datastore` によって接続されたリモートの 4Dアプリケーションが送信するリクエスト
-- RESTリクエスト
+- REST requests, including requests from [Qodly pages](https://developer.4d.com/qodly/)
> 通常の 4Dクライアント/サーバーリクエストは影響されません。 このアーキテクチャーにおいては、データモデルクラス関数は常に利用可能です。
公開されていない関数はリモートアプリケーションで利用することができず、RESTリクエストによるオブジェクトインスタンスに対して呼び出すこともできません。 リモートアプリケーションが非公開関数をアクセスしようとすると、"-10729 (未知のメンバー機能です)" エラーが返されます。
-リモートリクエストによる呼び出しを許可するには、`exposed` キーワードを使ってデータモデルクラス関数を明示的に宣言する必要があります。 シンタックスは次の通りです:
+To allow a function or an attribute to be called by a remote request, you must explicitly declare it using the `exposed` keyword. シンタックスは次の通りです:
```4d
// 公開関数の宣言
@@ -955,7 +955,27 @@ exposed Function
```
-> `exposed` キーワードは、データモデルクラス関数に対してのみ利用可能です。 [通常のユーザークラス](Concepts/classes.md) 関数に対して使った場合、キーワードは無視され、コンパイラーはエラーを返します。
+```4d
+// declare an exposed alias
+exposed Alias
+```
+
+```4d
+// declare an exposed computed attribute
+exposed Function get
+```
+
+```4d
+// declare a shared singleton function
+shared singleton Class constructor()
+exposed Function
+```
+
+:::note
+
+The `exposed` keyword can only be used with the objects decribed above. [通常のユーザークラス](Concepts/classes.md) 関数に対して使った場合、キーワードは無視され、コンパイラーはエラーを返します。
+
+:::
### 例題
diff --git a/i18n/ja/docusaurus-plugin-content-docs/version-21/WritePro/writeprointerface.md b/i18n/ja/docusaurus-plugin-content-docs/version-21/WritePro/writeprointerface.md
index bb283a6e73ffb8..b273ac1f017f53 100644
--- a/i18n/ja/docusaurus-plugin-content-docs/version-21/WritePro/writeprointerface.md
+++ b/i18n/ja/docusaurus-plugin-content-docs/version-21/WritePro/writeprointerface.md
@@ -4,13 +4,15 @@ title: 4D WritePro インターフェース
slug: /WritePro/write-pro-interface
---
-4D WritePro インターフェースは、エンドユーザーが 4D Write Proドキュメントを簡単にカスタマイズできるパレットを提供します。
+4D Write Pro Interface offers a set of palettes, which allow end users to easily customize a 4D Write Pro document.
4D のデベロッパーは、これらのパレットをアプリケーションに簡単に実装することができます。 それにより、エンドユーザーは、フォントやテキストの揃え方向、ブックマーク、表レイアウト、フレームなど、4D Write Pro のプロパティをすべて管理することができます。
-インターフェースのマニュアルについては、*4D デザインリファレンス* の [4D Write Pro エリアのドキュメント](https://doc.4d.com/4Dv20/4D/20/Entry-areas.300-6263967.ja.html) を参照ください。
+## Installation & documentation
-ここには以下のような情報があります:
+4D Write Pro Interface is a **4D component** that needs to be [installed in your project](../Project/components.md#overview). 4D Write Pro Interface source files are [provided on Github](https://github.com/4d/4D-WritePro-Interface).
+
+インターフェースのマニュアルについては、*4D デザインリファレンス* の [4D Write Pro エリアのドキュメント](https://doc.4d.com/4Dv20/4D/20/Entry-areas.300-6263967.ja.html) を参照ください。 ここには以下のような情報があります:
- 表ウィザード設定ドキュメンテーション
- 統合されたAIについての ドキュメント.
diff --git a/i18n/pt/docusaurus-plugin-content-docs/current/Concepts/classes.md b/i18n/pt/docusaurus-plugin-content-docs/current/Concepts/classes.md
index 6fd515c79cb59c..8dedd37ac8dd39 100644
--- a/i18n/pt/docusaurus-plugin-content-docs/current/Concepts/classes.md
+++ b/i18n/pt/docusaurus-plugin-content-docs/current/Concepts/classes.md
@@ -733,13 +733,13 @@ Uma **classe singleton** é uma classe de usuário que produz apenas uma única
### Tipos de singletons
+Singletons são úteis para definir valores que precisam estar disponíveis em qualquer lugar em um aplicativo, uma sessão ou um processo.
+
4D suporta três tipos de singletons:
- um **processo singleton** tem uma instância única para o processo no qual ele é instanciado,
- um **singleton compartilhado** tem uma instância única para todos os processos na máquina.
-- uma **sessão singleton** é um singleton compartilhado, mas com uma instância única para todos os processos na [sessão](../API/SessionClass.md). Os singletons de sessão são compartilhados em uma sessão inteira, mas variam entre as sessões. No contexto de um cliente-servidor ou de um aplicativo Web, os singletons de sessão possibilitam a criação e o uso de uma instância diferente para cada sessão, portanto, para cada usuário.
-
-Singletons são úteis para definir valores que precisam estar disponíveis em qualquer lugar em um aplicativo, uma sessão ou um processo.
+- uma **sessão singleton** é um singleton compartilhado, mas com uma instância única para todos os processos na [sessão](../API/SessionClass.md). Os singletons de sessão são compartilhados em uma sessão inteira, mas variam entre as sessões. No contexto de um cliente-servidor ou de um aplicativo Web, os singletons de sessão possibilitam a criação e o uso de uma instância diferente para cada sessão, portanto, para cada usuário. Session singletons are particularly appropriate with [Qodly applications](https://developer.4d.com/qodly/).
:::info
@@ -780,6 +780,10 @@ O [`.isSingleton`](../API/ClassClass.md#issingleton) propriedade de objetos de c
A propriedade [`.isSessionSingleton`](../API/ClassClass.md#issessionsingleton) dos objetos Class permite saber se a classe é um singleton de sessão.
+### Exposed singleton functions
+
+Shared and session singleton functions support the [`exposed` keyword](../ORDA/ordaClasses.md#exposed-vs-non-exposed-functions). An exposed singleton function can be directly called by REST requests. This feature is useful to design [Qodly pages calling 4D functions](https://developer.4d.com/qodly/4DQodlyPro/pageLoaders/events/bindingActionToEvents#class-functions).
+
### Exemplos
#### Singleton process
diff --git a/i18n/pt/docusaurus-plugin-content-docs/current/Notes/updates.md b/i18n/pt/docusaurus-plugin-content-docs/current/Notes/updates.md
index 121bd6e949d332..94c3b9caa7f773 100644
--- a/i18n/pt/docusaurus-plugin-content-docs/current/Notes/updates.md
+++ b/i18n/pt/docusaurus-plugin-content-docs/current/Notes/updates.md
@@ -14,14 +14,6 @@ Leia [**O que há de novo no 4D v21 R2**](https://blog.4d.com/en-whats-new-in-4d
#### Mudanças de comportamento
-## 4D 21.x LTS
-
-Veja [**Notas de lançamento 4D 21.x LTS**](../../21/Notes/updates).
-
-## 4D 20.x LTS
-
-Veja [**Notas de lançamento 4D 20.x LTS**](../../20/Notes/updates).
-
## Tabela da biblioteca
| Biblioteca | Versão atual | Atualizado em 4D | Comentário |
diff --git a/i18n/pt/docusaurus-plugin-content-docs/current/ORDA/ordaClasses.md b/i18n/pt/docusaurus-plugin-content-docs/current/ORDA/ordaClasses.md
index 66862732f2350b..b7f38db3d69de6 100644
--- a/i18n/pt/docusaurus-plugin-content-docs/current/ORDA/ordaClasses.md
+++ b/i18n/pt/docusaurus-plugin-content-docs/current/ORDA/ordaClasses.md
@@ -920,25 +920,45 @@ $arch.save() //courseName and name are "Archaeology II"
## Funções expostas vs não expostas
-Por razões de segurança, todas as funções de classe de modelo de dados e atributos de alias **não são** (por exemplo, privado) por padrão para solicitações remotas.
+For security reasons, all of your data model class functions, including [computed attributes](#computed-attributes-1) and [alias attributes](#alias-attributes-1), as well as [shared singleton functions](../Concepts/classes.md#shared-singleton) are **not exposed** (i.e., private) by default to **remote requests**.
-Os pedidos remotos incluem:
+Remote requests are:
- Pedidos enviados por aplicações 4D remotas ligadas através de `Open datastore`
-- Pedidos REST
+- REST requests, including requests from [Qodly pages](https://developer.4d.com/qodly/)
> Os pedidos regulares de cliente/servidor 4D não são afetados. As funções de classe do modelo de dados estão sempre disponíveis nesta arquitetura.
Uma função que não esteja exposta não está disponível em aplicações remotas e não pode ser chamada em qualquer instância de objeto a partir de um pedido REST. Se uma aplicação remota tentar aceder a uma função não exposta, é devolvido o erro "-10729 - Método de membro desconhecido".
-Para permitir que uma função de classe de modelo de dados seja chamada por um pedido remoto, você deve declará-la explicitamente usando a palavra-chave `exposed`. A sintaxe formal é:
+To allow a function or an attribute to be called by a remote request, you must explicitly declare it using the `exposed` keyword. A sintaxe formal é:
```4d
// declara uma função exposta
exposed Function
```
-> A palavra-chave `exposed` só pode ser utilizada com funções de classe de modelo de dados. Se usado com uma [classe de usuário regular](Concepts/classes.md) função, ela é ignorada e um erro é retornado pelo compilador.
+```4d
+// declare an exposed alias
+exposed Alias
+```
+
+```4d
+// declare an exposed computed attribute
+exposed Function get
+```
+
+```4d
+// declare a shared singleton function
+shared singleton Class constructor()
+exposed Function
+```
+
+:::note
+
+The `exposed` keyword can only be used with the objects decribed above. Se usado com uma [classe de usuário regular](Concepts/classes.md) função, ela é ignorada e um erro é retornado pelo compilador.
+
+:::
### Exemplo
diff --git a/i18n/pt/docusaurus-plugin-content-docs/current/WritePro/writeprointerface.md b/i18n/pt/docusaurus-plugin-content-docs/current/WritePro/writeprointerface.md
index 5ae4f2aa2bddbc..e2f9f7c9aa33df 100644
--- a/i18n/pt/docusaurus-plugin-content-docs/current/WritePro/writeprointerface.md
+++ b/i18n/pt/docusaurus-plugin-content-docs/current/WritePro/writeprointerface.md
@@ -4,13 +4,15 @@ title: Interface 4D Write Pro
slug: /WritePro/write-pro-interface
---
-4D WritePro Interface offers a set of palettes, which allow end users to easily customize a 4D Write Pro document.
+4D Write Pro Interface offers a set of palettes, which allow end users to easily customize a 4D Write Pro document.
Um desenvolvedor 4D pode facilmente implementar essas paletas em sua aplicação. Thus, end users can manage all 4D Write Pro properties, such as fonts, text alignment, bookmarks, table layout, and frames.
-La documentación principal de [la interfaz de 4D Write Pro](https://doc.4d.com/4Dv20/4D/20/Entry-areas.300-6263967.en.html) se encuentra en el manual *Diseño 4D*.
+## Installation & documentation
-Você encontrará abaixo:
+4D Write Pro Interface is a **4D component** that needs to be [installed in your project](../Project/components.md#overview). 4D Write Pro Interface source files are [provided on Github](https://github.com/4d/4D-WritePro-Interface).
+
+La documentación principal de [la interfaz de 4D Write Pro](https://doc.4d.com/4Dv20/4D/20/Entry-areas.300-6263967.en.html) se encuentra en el manual *Diseño 4D*. Você encontrará abaixo:
- the Table Wizard configuration documentation,
- a I.A. integrada. documentation.
diff --git a/i18n/pt/docusaurus-plugin-content-docs/version-20-R10/Concepts/classes.md b/i18n/pt/docusaurus-plugin-content-docs/version-20-R10/Concepts/classes.md
index 5800a6fa6465d5..b526a3bfa74e1b 100644
--- a/i18n/pt/docusaurus-plugin-content-docs/version-20-R10/Concepts/classes.md
+++ b/i18n/pt/docusaurus-plugin-content-docs/version-20-R10/Concepts/classes.md
@@ -733,13 +733,13 @@ Uma **classe singleton** é uma classe de usuário que produz apenas uma única
### Tipos de singletons
+Singletons são úteis para definir valores que precisam estar disponíveis em qualquer lugar em um aplicativo, uma sessão ou um processo.
+
4D suporta três tipos de singletons:
- um **processo singleton** tem uma instância única para o processo no qual ele é instanciado,
- um **singleton compartilhado** tem uma instância única para todos os processos na máquina.
-- uma **sessão singleton** é um singleton compartilhado, mas com uma instância única para todos os processos na [sessão](../API/SessionClass.md). Os singletons de sessão são compartilhados em uma sessão inteira, mas variam entre as sessões. No contexto de um cliente-servidor ou de um aplicativo Web, os singletons de sessão possibilitam a criação e o uso de uma instância diferente para cada sessão, portanto, para cada usuário.
-
-Singletons são úteis para definir valores que precisam estar disponíveis em qualquer lugar em um aplicativo, uma sessão ou um processo.
+- uma **sessão singleton** é um singleton compartilhado, mas com uma instância única para todos os processos na [sessão](../API/SessionClass.md). Os singletons de sessão são compartilhados em uma sessão inteira, mas variam entre as sessões. No contexto de um cliente-servidor ou de um aplicativo Web, os singletons de sessão possibilitam a criação e o uso de uma instância diferente para cada sessão, portanto, para cada usuário. Session singletons are particularly appropriate with [Qodly applications](https://developer.4d.com/qodly/).
:::info
@@ -780,6 +780,10 @@ O [`.isSingleton`](../API/ClassClass.md#issingleton) propriedade de objetos de c
A propriedade [`.isSessionSingleton`](../API/ClassClass.md#issessionsingleton) dos objetos Class permite saber se a classe é um singleton de sessão.
+### Exposed singleton functions
+
+Shared and session singleton functions support the [`exposed` keyword](../ORDA/ordaClasses.md#exposed-vs-non-exposed-functions). An exposed singleton function can be directly called by REST requests. This feature is useful to design [Qodly pages calling 4D functions](https://developer.4d.com/qodly/4DQodlyPro/pageLoaders/events/bindingActionToEvents#class-functions).
+
### Exemplos
#### Singleton process
diff --git a/i18n/pt/docusaurus-plugin-content-docs/version-20-R10/Notes/updates.md b/i18n/pt/docusaurus-plugin-content-docs/version-20-R10/Notes/updates.md
index 4406f1744cd649..5f6fa17c665db4 100644
--- a/i18n/pt/docusaurus-plugin-content-docs/version-20-R10/Notes/updates.md
+++ b/i18n/pt/docusaurus-plugin-content-docs/version-20-R10/Notes/updates.md
@@ -232,10 +232,6 @@ Se suas aplicações 4D utilizam conexões TLS, é recomendado que você faça a
- **Aviso**: o valor inicial dos objetos [`offset`](../API/FileHandleClass.md#offset) de [4D.FileHandle](../API/FileHandleClass.md) era configurado incorretamente para 1 ao invés de 0. Foi feita uma correção no 4D a partir das versões **20.1 HF1** e **20 R2** e o valor agora é 0.
-## 4D 20.x LTS
-
-Veja [**Notas de lançamento 4D 20.x LTS**](../../version-20/Notes/updates.md).
-
## Tabela da biblioteca
| Biblioteca | Versão atual | Atualizado em 4D | Comentário |
diff --git a/i18n/pt/docusaurus-plugin-content-docs/version-20-R10/ORDA/ordaClasses.md b/i18n/pt/docusaurus-plugin-content-docs/version-20-R10/ORDA/ordaClasses.md
index 66862732f2350b..b7f38db3d69de6 100644
--- a/i18n/pt/docusaurus-plugin-content-docs/version-20-R10/ORDA/ordaClasses.md
+++ b/i18n/pt/docusaurus-plugin-content-docs/version-20-R10/ORDA/ordaClasses.md
@@ -920,25 +920,45 @@ $arch.save() //courseName and name are "Archaeology II"
## Funções expostas vs não expostas
-Por razões de segurança, todas as funções de classe de modelo de dados e atributos de alias **não são** (por exemplo, privado) por padrão para solicitações remotas.
+For security reasons, all of your data model class functions, including [computed attributes](#computed-attributes-1) and [alias attributes](#alias-attributes-1), as well as [shared singleton functions](../Concepts/classes.md#shared-singleton) are **not exposed** (i.e., private) by default to **remote requests**.
-Os pedidos remotos incluem:
+Remote requests are:
- Pedidos enviados por aplicações 4D remotas ligadas através de `Open datastore`
-- Pedidos REST
+- REST requests, including requests from [Qodly pages](https://developer.4d.com/qodly/)
> Os pedidos regulares de cliente/servidor 4D não são afetados. As funções de classe do modelo de dados estão sempre disponíveis nesta arquitetura.
Uma função que não esteja exposta não está disponível em aplicações remotas e não pode ser chamada em qualquer instância de objeto a partir de um pedido REST. Se uma aplicação remota tentar aceder a uma função não exposta, é devolvido o erro "-10729 - Método de membro desconhecido".
-Para permitir que uma função de classe de modelo de dados seja chamada por um pedido remoto, você deve declará-la explicitamente usando a palavra-chave `exposed`. A sintaxe formal é:
+To allow a function or an attribute to be called by a remote request, you must explicitly declare it using the `exposed` keyword. A sintaxe formal é:
```4d
// declara uma função exposta
exposed Function
```
-> A palavra-chave `exposed` só pode ser utilizada com funções de classe de modelo de dados. Se usado com uma [classe de usuário regular](Concepts/classes.md) função, ela é ignorada e um erro é retornado pelo compilador.
+```4d
+// declare an exposed alias
+exposed Alias
+```
+
+```4d
+// declare an exposed computed attribute
+exposed Function get
+```
+
+```4d
+// declare a shared singleton function
+shared singleton Class constructor()
+exposed Function
+```
+
+:::note
+
+The `exposed` keyword can only be used with the objects decribed above. Se usado com uma [classe de usuário regular](Concepts/classes.md) função, ela é ignorada e um erro é retornado pelo compilador.
+
+:::
### Exemplo
diff --git a/i18n/pt/docusaurus-plugin-content-docs/version-20-R10/WritePro/writeprointerface.md b/i18n/pt/docusaurus-plugin-content-docs/version-20-R10/WritePro/writeprointerface.md
index 5ae4f2aa2bddbc..39ab81aae54bdc 100644
--- a/i18n/pt/docusaurus-plugin-content-docs/version-20-R10/WritePro/writeprointerface.md
+++ b/i18n/pt/docusaurus-plugin-content-docs/version-20-R10/WritePro/writeprointerface.md
@@ -4,7 +4,7 @@ title: Interface 4D Write Pro
slug: /WritePro/write-pro-interface
---
-4D WritePro Interface offers a set of palettes, which allow end users to easily customize a 4D Write Pro document.
+The 4D Write Pro Interface component offers a set of palettes, which allow end users to easily customize a 4D Write Pro document.
Um desenvolvedor 4D pode facilmente implementar essas paletas em sua aplicação. Thus, end users can manage all 4D Write Pro properties, such as fonts, text alignment, bookmarks, table layout, and frames.
diff --git a/i18n/pt/docusaurus-plugin-content-docs/version-20/Notes/updates.md b/i18n/pt/docusaurus-plugin-content-docs/version-20/Notes/updates.md
index fa68ba87d715f9..5bfde34030fec3 100644
--- a/i18n/pt/docusaurus-plugin-content-docs/version-20/Notes/updates.md
+++ b/i18n/pt/docusaurus-plugin-content-docs/version-20/Notes/updates.md
@@ -356,12 +356,6 @@ Para obter informações pormenorizadas, consulte [esta publicação do blogue](
- `Suporte a no-bom` e novos caracteres de fim de linha padrão em [`.setText()`](../API/FileClass.md#settext)
-## 4D 19.x LTS
-
-
-Veja [**Notas de lançamento para 4D 19.x LTS**](../../version-19/Notes/updates.md).
-
-
## Tabela das bibliotecas (4D 20 LTS)
diff --git a/i18n/pt/docusaurus-plugin-content-docs/version-21/Concepts/classes.md b/i18n/pt/docusaurus-plugin-content-docs/version-21/Concepts/classes.md
index 5800a6fa6465d5..b526a3bfa74e1b 100644
--- a/i18n/pt/docusaurus-plugin-content-docs/version-21/Concepts/classes.md
+++ b/i18n/pt/docusaurus-plugin-content-docs/version-21/Concepts/classes.md
@@ -733,13 +733,13 @@ Uma **classe singleton** é uma classe de usuário que produz apenas uma única
### Tipos de singletons
+Singletons são úteis para definir valores que precisam estar disponíveis em qualquer lugar em um aplicativo, uma sessão ou um processo.
+
4D suporta três tipos de singletons:
- um **processo singleton** tem uma instância única para o processo no qual ele é instanciado,
- um **singleton compartilhado** tem uma instância única para todos os processos na máquina.
-- uma **sessão singleton** é um singleton compartilhado, mas com uma instância única para todos os processos na [sessão](../API/SessionClass.md). Os singletons de sessão são compartilhados em uma sessão inteira, mas variam entre as sessões. No contexto de um cliente-servidor ou de um aplicativo Web, os singletons de sessão possibilitam a criação e o uso de uma instância diferente para cada sessão, portanto, para cada usuário.
-
-Singletons são úteis para definir valores que precisam estar disponíveis em qualquer lugar em um aplicativo, uma sessão ou um processo.
+- uma **sessão singleton** é um singleton compartilhado, mas com uma instância única para todos os processos na [sessão](../API/SessionClass.md). Os singletons de sessão são compartilhados em uma sessão inteira, mas variam entre as sessões. No contexto de um cliente-servidor ou de um aplicativo Web, os singletons de sessão possibilitam a criação e o uso de uma instância diferente para cada sessão, portanto, para cada usuário. Session singletons are particularly appropriate with [Qodly applications](https://developer.4d.com/qodly/).
:::info
@@ -780,6 +780,10 @@ O [`.isSingleton`](../API/ClassClass.md#issingleton) propriedade de objetos de c
A propriedade [`.isSessionSingleton`](../API/ClassClass.md#issessionsingleton) dos objetos Class permite saber se a classe é um singleton de sessão.
+### Exposed singleton functions
+
+Shared and session singleton functions support the [`exposed` keyword](../ORDA/ordaClasses.md#exposed-vs-non-exposed-functions). An exposed singleton function can be directly called by REST requests. This feature is useful to design [Qodly pages calling 4D functions](https://developer.4d.com/qodly/4DQodlyPro/pageLoaders/events/bindingActionToEvents#class-functions).
+
### Exemplos
#### Singleton process
diff --git a/i18n/pt/docusaurus-plugin-content-docs/version-21/Notes/updates.md b/i18n/pt/docusaurus-plugin-content-docs/version-21/Notes/updates.md
index aaa5ca6daaf843..7e4e7c23aa2954 100644
--- a/i18n/pt/docusaurus-plugin-content-docs/version-21/Notes/updates.md
+++ b/i18n/pt/docusaurus-plugin-content-docs/version-21/Notes/updates.md
@@ -288,11 +288,7 @@ Se suas aplicações 4D utilizam conexões TLS, é recomendado que você faça a
- **Aviso**: o valor inicial dos objetos [`offset`](../API/FileHandleClass.md#offset) de [4D.FileHandle](../API/FileHandleClass.md) era configurado incorretamente para 1 ao invés de 0. Foi feita uma correção no 4D a partir das versões **20.1 HF1** e **20 R2** e o valor agora é 0.
-## 4D 20.x LTS
-
-Veja [**Notas de lançamento 4D 20.x LTS**](../20/Notes/updates).
-
-## Tabela da biblioteca
+## Tabela das bibliotecas (4D 21 LTS)
| Biblioteca | Versão atual | Atualizado em 4D | Comentário |
| ---------- | -------------------------------------- | ---------------- | -------------------------------------------------------------------------------------------------------------------------------------------------- |
diff --git a/i18n/pt/docusaurus-plugin-content-docs/version-21/ORDA/ordaClasses.md b/i18n/pt/docusaurus-plugin-content-docs/version-21/ORDA/ordaClasses.md
index 66862732f2350b..b7f38db3d69de6 100644
--- a/i18n/pt/docusaurus-plugin-content-docs/version-21/ORDA/ordaClasses.md
+++ b/i18n/pt/docusaurus-plugin-content-docs/version-21/ORDA/ordaClasses.md
@@ -920,25 +920,45 @@ $arch.save() //courseName and name are "Archaeology II"
## Funções expostas vs não expostas
-Por razões de segurança, todas as funções de classe de modelo de dados e atributos de alias **não são** (por exemplo, privado) por padrão para solicitações remotas.
+For security reasons, all of your data model class functions, including [computed attributes](#computed-attributes-1) and [alias attributes](#alias-attributes-1), as well as [shared singleton functions](../Concepts/classes.md#shared-singleton) are **not exposed** (i.e., private) by default to **remote requests**.
-Os pedidos remotos incluem:
+Remote requests are:
- Pedidos enviados por aplicações 4D remotas ligadas através de `Open datastore`
-- Pedidos REST
+- REST requests, including requests from [Qodly pages](https://developer.4d.com/qodly/)
> Os pedidos regulares de cliente/servidor 4D não são afetados. As funções de classe do modelo de dados estão sempre disponíveis nesta arquitetura.
Uma função que não esteja exposta não está disponível em aplicações remotas e não pode ser chamada em qualquer instância de objeto a partir de um pedido REST. Se uma aplicação remota tentar aceder a uma função não exposta, é devolvido o erro "-10729 - Método de membro desconhecido".
-Para permitir que uma função de classe de modelo de dados seja chamada por um pedido remoto, você deve declará-la explicitamente usando a palavra-chave `exposed`. A sintaxe formal é:
+To allow a function or an attribute to be called by a remote request, you must explicitly declare it using the `exposed` keyword. A sintaxe formal é:
```4d
// declara uma função exposta
exposed Function
```
-> A palavra-chave `exposed` só pode ser utilizada com funções de classe de modelo de dados. Se usado com uma [classe de usuário regular](Concepts/classes.md) função, ela é ignorada e um erro é retornado pelo compilador.
+```4d
+// declare an exposed alias
+exposed Alias
+```
+
+```4d
+// declare an exposed computed attribute
+exposed Function get
+```
+
+```4d
+// declare a shared singleton function
+shared singleton Class constructor()
+exposed Function
+```
+
+:::note
+
+The `exposed` keyword can only be used with the objects decribed above. Se usado com uma [classe de usuário regular](Concepts/classes.md) função, ela é ignorada e um erro é retornado pelo compilador.
+
+:::
### Exemplo
diff --git a/i18n/pt/docusaurus-plugin-content-docs/version-21/WritePro/writeprointerface.md b/i18n/pt/docusaurus-plugin-content-docs/version-21/WritePro/writeprointerface.md
index 5ae4f2aa2bddbc..e2f9f7c9aa33df 100644
--- a/i18n/pt/docusaurus-plugin-content-docs/version-21/WritePro/writeprointerface.md
+++ b/i18n/pt/docusaurus-plugin-content-docs/version-21/WritePro/writeprointerface.md
@@ -4,13 +4,15 @@ title: Interface 4D Write Pro
slug: /WritePro/write-pro-interface
---
-4D WritePro Interface offers a set of palettes, which allow end users to easily customize a 4D Write Pro document.
+4D Write Pro Interface offers a set of palettes, which allow end users to easily customize a 4D Write Pro document.
Um desenvolvedor 4D pode facilmente implementar essas paletas em sua aplicação. Thus, end users can manage all 4D Write Pro properties, such as fonts, text alignment, bookmarks, table layout, and frames.
-La documentación principal de [la interfaz de 4D Write Pro](https://doc.4d.com/4Dv20/4D/20/Entry-areas.300-6263967.en.html) se encuentra en el manual *Diseño 4D*.
+## Installation & documentation
-Você encontrará abaixo:
+4D Write Pro Interface is a **4D component** that needs to be [installed in your project](../Project/components.md#overview). 4D Write Pro Interface source files are [provided on Github](https://github.com/4d/4D-WritePro-Interface).
+
+La documentación principal de [la interfaz de 4D Write Pro](https://doc.4d.com/4Dv20/4D/20/Entry-areas.300-6263967.en.html) se encuentra en el manual *Diseño 4D*. Você encontrará abaixo:
- the Table Wizard configuration documentation,
- a I.A. integrada. documentation.
From a08bbe5cbab8fba54ddb106234cacf0d85e75359 Mon Sep 17 00:00:00 2001
From: Eric Marchand <129385512+e-marchand@users.noreply.github.com>
Date: Mon, 17 Nov 2025 14:04:30 +0100
Subject: [PATCH 21/75] ViewPro: Fix capitalization of foreColor and add
borderTop section
---
docs/ViewPro/classes.md | 13 +++++++++----
1 file changed, 9 insertions(+), 4 deletions(-)
diff --git a/docs/ViewPro/classes.md b/docs/ViewPro/classes.md
index b43b8a50a3fdae..9a69bb4c8c8272 100644
--- a/docs/ViewPro/classes.md
+++ b/docs/ViewPro/classes.md
@@ -151,12 +151,12 @@ The `.useFooterDropDownList` property [background color](configuring.md#background--foreground) of the table.
-### .forecolor
+### .foreColor
-
-**.forecolor** : Text
+
+**.foreColor** : Text
-The `.forecolor` property is the [foreground color](configuring.md#background--foreground) of the table.
+The `.foreColor` property is the [foreground color](configuring.md#background--foreground) of the table.
@@ -200,7 +200,12 @@ The `.borderRight` property is the r
The `.borderBottom` property is the bottom border line of the table .
+### .borderTop
+
+**.borderTop** : [cs.ViewPro.LineBorder](#lineborder)
+
+The `.borderTop` property is the top border line of the table .
### .borderHorizontal
From e2de028a1b9a4abaecb0f04f537ee6d8f86b4a3c Mon Sep 17 00:00:00 2001
From: arnaud-4d
Date: Mon, 17 Nov 2025 14:30:33 +0100
Subject: [PATCH 22/75] report fixes 4DVP
---
.../version-20-R10/ViewPro/classes.md | 14 +++++++++----
versioned_docs/version-20/ViewPro/classes.md | 20 ++++++++++++-------
versioned_docs/version-21/ViewPro/classes.md | 14 +++++++++----
3 files changed, 33 insertions(+), 15 deletions(-)
diff --git a/versioned_docs/version-20-R10/ViewPro/classes.md b/versioned_docs/version-20-R10/ViewPro/classes.md
index b43b8a50a3fdae..abd8ef98c449c6 100644
--- a/versioned_docs/version-20-R10/ViewPro/classes.md
+++ b/versioned_docs/version-20-R10/ViewPro/classes.md
@@ -151,12 +151,12 @@ The `.useFooterDropDownList` property [background color](configuring.md#background--foreground) of the table.
-### .forecolor
+### .foreColor
-
-**.forecolor** : Text
+
+**.foreColor** : Text
-The `.forecolor` property is the [foreground color](configuring.md#background--foreground) of the table.
+The `.foreColor` property is the [foreground color](configuring.md#background--foreground) of the table.
@@ -201,6 +201,12 @@ The `.borderRight` property is the r
The `.borderBottom` property is the bottom border line of the table .
+### .borderTop
+
+
+**.borderTop** : [cs.ViewPro.LineBorder](#lineborder)
+
+The `.borderTop` property is the top border line of the table .
### .borderHorizontal
diff --git a/versioned_docs/version-20/ViewPro/classes.md b/versioned_docs/version-20/ViewPro/classes.md
index ade09ffdc81a3d..abd8ef98c449c6 100644
--- a/versioned_docs/version-20/ViewPro/classes.md
+++ b/versioned_docs/version-20/ViewPro/classes.md
@@ -129,7 +129,7 @@ The `.tableColumns` property is a
The `.theme` property defines a table theme. Can also be a text (name of a native SpreadJS theme).
-See the [native SpreadJS themes](https://www.grapecity.com/spreadjs/api/classes/GC.Spread.Sheets.Tables.TableThemes).
+See the [native SpreadJS themes](https://developer.mescius.com/spreadjs/api/classes/GC.Spread.Sheets.Tables.TableThemes).
### .useFooterDropDownList
@@ -151,12 +151,12 @@ The `.useFooterDropDownList` property [background color](configuring.md#background--foreground) of the table.
-### .forecolor
+### .foreColor
-
-**.forecolor** : Text
+
+**.foreColor** : Text
-The `.forecolor` property is the [foreground color](configuring.md#background--foreground) of the table.
+The `.foreColor` property is the [foreground color](configuring.md#background--foreground) of the table.
@@ -201,6 +201,12 @@ The `.borderRight` property is the r
The `.borderBottom` property is the bottom border line of the table .
+### .borderTop
+
+
+**.borderTop** : [cs.ViewPro.LineBorder](#lineborder)
+
+The `.borderTop` property is the top border line of the table .
### .borderHorizontal
@@ -261,7 +267,7 @@ The `.highlightFirstColumn` property defines a table theme.
-If Text: name of a [native SpreadJS theme](https://www.grapecity.com/spreadjs/api/classes/GC.Spread.Sheets.Tables.TableThemes).
+If Text: name of a [native SpreadJS theme](https://developer.mescius.com/spreadjs/api/classes/GC.Spread.Sheets.Tables.TableThemes).
@@ -357,7 +363,7 @@ The `.lastHeaderCellStyle` property is the
**.name** : Text
-The `.name` property is the name of a [native SpreadJS theme](https://www.grapecity.com/spreadjs/api/classes/GC.Spread.Sheets.Tables.TableThemes).
+The `.name` property is the name of a [native SpreadJS theme](https://developer.mescius.com/spreadjs/api/classes/GC.Spread.Sheets.Tables.TableThemes).
### .secondColumnStripSize
diff --git a/versioned_docs/version-21/ViewPro/classes.md b/versioned_docs/version-21/ViewPro/classes.md
index b43b8a50a3fdae..abd8ef98c449c6 100644
--- a/versioned_docs/version-21/ViewPro/classes.md
+++ b/versioned_docs/version-21/ViewPro/classes.md
@@ -151,12 +151,12 @@ The `.useFooterDropDownList` property [background color](configuring.md#background--foreground) of the table.
-### .forecolor
+### .foreColor
-
-**.forecolor** : Text
+
+**.foreColor** : Text
-The `.forecolor` property is the [foreground color](configuring.md#background--foreground) of the table.
+The `.foreColor` property is the [foreground color](configuring.md#background--foreground) of the table.
@@ -201,6 +201,12 @@ The `.borderRight` property is the r
The `.borderBottom` property is the bottom border line of the table .
+### .borderTop
+
+
+**.borderTop** : [cs.ViewPro.LineBorder](#lineborder)
+
+The `.borderTop` property is the top border line of the table .
### .borderHorizontal
From e1d12eb73e287aeb8a1b0bf81ef7a401c6d1d04f Mon Sep 17 00:00:00 2001
From: arnaud-4d
Date: Mon, 17 Nov 2025 14:46:46 +0100
Subject: [PATCH 23/75] added link to blog post for code live checker
---
docs/Notes/updates.md | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/docs/Notes/updates.md b/docs/Notes/updates.md
index e4838f0d200ee4..b06a597a3b4f0e 100644
--- a/docs/Notes/updates.md
+++ b/docs/Notes/updates.md
@@ -9,7 +9,7 @@ Read [**What’s new in 4D 21 R2**](https://blog.4d.com/en-whats-new-in-4d-21-r2
#### Highlights
-- [Code Live Checker](../code-editor/write-class-method.md#warnings-and-errors) has been enhanced to provide greater precision in error detection.
+- [Code Live Checker](../code-editor/write-class-method.md#warnings-and-errors) has been enhanced to provide greater precision in error detection (see [this blog post](https://blog.4d.com/better-error-handling-and-type-inference-for-4d-developers) for more information).
- [**Fixed bug list**](https://bugs.4d.fr/fixedbugslist?version=21_R2): list of all bugs that have been fixed in 4D 21 R2.
From 347c5814abad78553e6d9753ba65ab64f5ebac2a Mon Sep 17 00:00:00 2001
From: arnaud-4d
Date: Mon, 17 Nov 2025 16:04:13 +0100
Subject: [PATCH 24/75] link to SpreadJS release
---
docs/ViewPro/getting-started.md | 6 ++++++
versioned_docs/version-20-R10/ViewPro/getting-started.md | 6 ++++++
versioned_docs/version-20/ViewPro/getting-started.md | 6 ++++++
versioned_docs/version-21/ViewPro/getting-started.md | 6 ++++++
4 files changed, 24 insertions(+)
diff --git a/docs/ViewPro/getting-started.md b/docs/ViewPro/getting-started.md
index b706eec8867a4d..d60bf44e2e4c18 100644
--- a/docs/ViewPro/getting-started.md
+++ b/docs/ViewPro/getting-started.md
@@ -11,6 +11,12 @@ title: Getting Started
A spreadsheet is an application containing a grid of cells into which you can enter information, execute calculations, or display pictures. 4D View Pro is powered by the [SpreadJS spreadsheet solution](https://developer.mescius.com/spreadjs) integrated in 4D.
+:::note
+
+Go to the [Library table](../Notes/updates.md#library-table) to know the SpreadJS version integrated in your 4D release.
+
+:::
+
Embedding 4D View Pro areas in your forms allows you to import and export spreadsheets documents using the 4D View Pro commands.
diff --git a/versioned_docs/version-20-R10/ViewPro/getting-started.md b/versioned_docs/version-20-R10/ViewPro/getting-started.md
index 56f1a5c80a5b62..8ced5620021ad0 100644
--- a/versioned_docs/version-20-R10/ViewPro/getting-started.md
+++ b/versioned_docs/version-20-R10/ViewPro/getting-started.md
@@ -11,6 +11,12 @@ title: Getting Started
A spreadsheet is an application containing a grid of cells into which you can enter information, execute calculations, or display pictures. 4D View Pro is powered by the [SpreadJS spreadsheet solution](https://developer.mescius.com/spreadjs) integrated in 4D.
+:::note
+
+Go to the [Library table](../Notes/updates.md#library-table) to know the SpreadJS version integrated in your 4D release.
+
+:::
+
Embedding 4D View Pro areas in your forms allows you to import and export spreadsheets documents using the 4D View Pro commands.
diff --git a/versioned_docs/version-20/ViewPro/getting-started.md b/versioned_docs/version-20/ViewPro/getting-started.md
index 3a1af0b6ccb3f3..a503dfe4d7184d 100644
--- a/versioned_docs/version-20/ViewPro/getting-started.md
+++ b/versioned_docs/version-20/ViewPro/getting-started.md
@@ -11,6 +11,12 @@ title: Getting Started
A spreadsheet is an application containing a grid of cells into which you can enter information, execute calculations, or display pictures. 4D View Pro is powered by the [SpreadJS spreadsheet solution](https://www.grapecity.com/spreadjs/docs/versions/v14/online/overview.html) integrated in 4D.
+:::note
+
+Go to the [Library table](../Notes/updates.md#library-table) to know the SpreadJS version integrated in your 4D release.
+
+:::
+
Embedding 4D View Pro areas in your forms allows you to import and export spreadsheets documents using the 4D View Pro commands.
diff --git a/versioned_docs/version-21/ViewPro/getting-started.md b/versioned_docs/version-21/ViewPro/getting-started.md
index b706eec8867a4d..d60bf44e2e4c18 100644
--- a/versioned_docs/version-21/ViewPro/getting-started.md
+++ b/versioned_docs/version-21/ViewPro/getting-started.md
@@ -11,6 +11,12 @@ title: Getting Started
A spreadsheet is an application containing a grid of cells into which you can enter information, execute calculations, or display pictures. 4D View Pro is powered by the [SpreadJS spreadsheet solution](https://developer.mescius.com/spreadjs) integrated in 4D.
+:::note
+
+Go to the [Library table](../Notes/updates.md#library-table) to know the SpreadJS version integrated in your 4D release.
+
+:::
+
Embedding 4D View Pro areas in your forms allows you to import and export spreadsheets documents using the 4D View Pro commands.
From 47d2c8e8a9c36c872539a9b2f5af94598c9ee1ab Mon Sep 17 00:00:00 2001
From: arnaud-4d
Date: Tue, 18 Nov 2025 09:51:56 +0100
Subject: [PATCH 25/75] New Crowdin updates (#2998)
* New translations parameters.md (French)
* New translations parameters.md (French)
* New translations classes.md (French)
* New translations getting-started.md (French)
* New translations parameters.md (French)
* New translations updates.md (French)
* New translations classes.md (French)
* New translations getting-started.md (French)
* New translations wp-get-attributes.md (French)
* New translations parameters.md (French)
* New translations classes.md (French)
* New translations getting-started.md (French)
* New translations wp-get-attributes.md (French)
* New translations parameters.md (French)
* New translations classes.md (French)
* New translations getting-started.md (French)
* New translations wp-get-attributes.md (French)
* New translations parameters.md (Spanish)
* New translations parameters.md (Spanish)
* New translations classes.md (Spanish)
* New translations getting-started.md (Spanish)
* New translations parameters.md (Spanish)
* New translations updates.md (Spanish)
* New translations classes.md (Spanish)
* New translations getting-started.md (Spanish)
* New translations parameters.md (Spanish)
* New translations classes.md (Spanish)
* New translations getting-started.md (Spanish)
* New translations parameters.md (Spanish)
* New translations classes.md (Spanish)
* New translations getting-started.md (Spanish)
* New translations parameters.md (Japanese)
* New translations parameters.md (Japanese)
* New translations classes.md (Japanese)
* New translations getting-started.md (Japanese)
* New translations parameters.md (Japanese)
* New translations updates.md (Japanese)
* New translations dsmapping.md (Japanese)
* New translations entities.md (Japanese)
* New translations glossary.md (Japanese)
* New translations classes.md (Japanese)
* New translations getting-started.md (Japanese)
* New translations license-info.md (Japanese)
* New translations parameters.md (Japanese)
* New translations dsmapping.md (Japanese)
* New translations entities.md (Japanese)
* New translations glossary.md (Japanese)
* New translations classes.md (Japanese)
* New translations getting-started.md (Japanese)
* New translations license-info.md (Japanese)
* New translations parameters.md (Japanese)
* New translations license-info.md (Japanese)
* New translations updates.md (Japanese)
* New translations dsmapping.md (Japanese)
* New translations entities.md (Japanese)
* New translations glossary.md (Japanese)
* New translations classes.md (Japanese)
* New translations getting-started.md (Japanese)
* New translations parameters.md (Portuguese, Brazilian)
* New translations parameters.md (Portuguese, Brazilian)
* New translations classes.md (Portuguese, Brazilian)
* New translations getting-started.md (Portuguese, Brazilian)
* New translations parameters.md (Portuguese, Brazilian)
* New translations updates.md (Portuguese, Brazilian)
* New translations classes.md (Portuguese, Brazilian)
* New translations getting-started.md (Portuguese, Brazilian)
* New translations parameters.md (Portuguese, Brazilian)
* New translations classes.md (Portuguese, Brazilian)
* New translations getting-started.md (Portuguese, Brazilian)
* New translations parameters.md (Portuguese, Brazilian)
* New translations classes.md (Portuguese, Brazilian)
* New translations getting-started.md (Portuguese, Brazilian)
---
.../current/Concepts/parameters.md | 22 ++++++----
.../current/Notes/updates.md | 2 +-
.../current/ViewPro/classes.md | 16 +++++--
.../current/ViewPro/getting-started.md | 6 +++
.../version-19/Concepts/parameters.md | 8 +++-
.../version-20-R10/Concepts/parameters.md | 16 ++++++-
.../version-20-R10/ViewPro/classes.md | 16 +++++--
.../version-20-R10/ViewPro/getting-started.md | 6 +++
.../version-20/Concepts/parameters.md | 8 +++-
.../version-20/ViewPro/classes.md | 20 +++++----
.../version-20/ViewPro/getting-started.md | 6 +++
.../version-21/Concepts/parameters.md | 16 ++++++-
.../version-21/ViewPro/classes.md | 16 +++++--
.../version-21/ViewPro/getting-started.md | 6 +++
.../current/Concepts/parameters.md | 22 ++++++----
.../current/Notes/updates.md | 2 +-
.../current/ViewPro/classes.md | 16 +++++--
.../current/ViewPro/getting-started.md | 6 +++
.../WritePro/commands/wp-get-attributes.md | 2 +-
.../version-19/Concepts/parameters.md | 8 +++-
.../version-20-R10/Concepts/parameters.md | 16 ++++++-
.../version-20-R10/ViewPro/classes.md | 16 +++++--
.../version-20-R10/ViewPro/getting-started.md | 6 +++
.../WritePro/commands/wp-get-attributes.md | 2 +-
.../version-20/Concepts/parameters.md | 8 +++-
.../version-20/ViewPro/classes.md | 20 +++++----
.../version-20/ViewPro/getting-started.md | 6 +++
.../version-21/Concepts/parameters.md | 16 ++++++-
.../version-21/ViewPro/classes.md | 16 +++++--
.../version-21/ViewPro/getting-started.md | 6 +++
.../WritePro/commands/wp-get-attributes.md | 2 +-
.../current/Concepts/parameters.md | 22 ++++++----
.../current/Notes/updates.md | 42 +++++++++----------
.../current/ORDA/dsMapping.md | 20 ++++-----
.../current/ORDA/entities.md | 4 +-
.../current/ORDA/glossary.md | 2 +-
.../current/ViewPro/classes.md | 16 +++++--
.../current/ViewPro/getting-started.md | 6 +++
.../current/commands/license-info.md | 2 +-
.../version-19/Concepts/parameters.md | 8 +++-
.../version-20-R10/Concepts/parameters.md | 16 ++++++-
.../version-20-R10/ORDA/dsMapping.md | 20 ++++-----
.../version-20-R10/ORDA/entities.md | 4 +-
.../version-20-R10/ORDA/glossary.md | 2 +-
.../version-20-R10/ViewPro/classes.md | 16 +++++--
.../version-20-R10/ViewPro/getting-started.md | 6 +++
.../version-20-R10/commands/license-info.md | 2 +-
.../version-20/Concepts/parameters.md | 8 +++-
.../version-20/ViewPro/classes.md | 20 +++++----
.../version-20/ViewPro/getting-started.md | 6 +++
.../version-21/Concepts/parameters.md | 16 ++++++-
.../version-21/Notes/updates.md | 40 +++++++++---------
.../version-21/ORDA/dsMapping.md | 20 ++++-----
.../version-21/ORDA/entities.md | 4 +-
.../version-21/ORDA/glossary.md | 2 +-
.../version-21/ViewPro/classes.md | 16 +++++--
.../version-21/ViewPro/getting-started.md | 6 +++
.../version-21/commands/license-info.md | 2 +-
.../current/Concepts/parameters.md | 22 ++++++----
.../current/Notes/updates.md | 2 +-
.../current/ViewPro/classes.md | 16 +++++--
.../current/ViewPro/getting-started.md | 6 +++
.../version-19/Concepts/parameters.md | 8 +++-
.../version-20-R10/Concepts/parameters.md | 16 ++++++-
.../version-20-R10/ViewPro/classes.md | 16 +++++--
.../version-20-R10/ViewPro/getting-started.md | 6 +++
.../version-20/Concepts/parameters.md | 8 +++-
.../version-20/ViewPro/classes.md | 20 +++++----
.../version-20/ViewPro/getting-started.md | 6 +++
.../version-21/Concepts/parameters.md | 16 ++++++-
.../version-21/ViewPro/classes.md | 16 +++++--
.../version-21/ViewPro/getting-started.md | 6 +++
72 files changed, 605 insertions(+), 221 deletions(-)
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/Concepts/parameters.md b/i18n/es/docusaurus-plugin-content-docs/current/Concepts/parameters.md
index 8f1aa078d11999..d0c3ffa3b0f90e 100644
--- a/i18n/es/docusaurus-plugin-content-docs/current/Concepts/parameters.md
+++ b/i18n/es/docusaurus-plugin-content-docs/current/Concepts/parameters.md
@@ -5,7 +5,7 @@ title: Parámetros
A menudo encontrará que necesita pasar datos a sus métodos y funciones. Esto se hace fácilmente con parámetros.
-## Generalidades
+## Paso de parámetros
**Los parámetros** (o **argumentos**) son piezas de datos que un método o una función de clase necesita para realizar su tarea. Los términos *parámetros* y *argumentos* se utilizan indistintamente en este manual. Los parámetros también se pasan a los comandos integrados de 4D. En este ejemplo, la cadena "Hello" es un argumento para el comando integrado `ALERT`:
@@ -45,19 +45,19 @@ Toda subrutina puede devolver un valor. Sólo se puede declarar un único parám
Los valores de entrada y salida son [evaluados](#values-or-references) en el momento de la llamada y copiados en o desde variables locales dentro de la función o método de la clase llamada. Los parámetros variables deben ser [declarados](#declaring-parameters) en el código llamado.
-:::info Compatibilidad
-
-La sintaxis de declaración heredada, donde los parámetros se copian automáticamente en variables locales numeradas secuencialmente $0, $1, etc. y declarado usando directivas de compilador como `C_TEXT($1;$2)`, es **obsoleto** a partir de 4D 20 R7.
-
-:::
-
## Declaración de parámetros
-En los métodos llamados o en las funciones de clase, los valores de los parámetros se asignan a las variables locales. Se declararan los parámetros utilizando un **nombre de parámetro** con un **tipo de parámetro**, separados por dos puntos.
+Inside called methods or class functions, you declare parameters using a **parameter name** along with a **parameter type**, separated by colon.
- Para funciones de clase, los parámetros se declaran junto con el prototipo de función, por ejemplo, cuando se utilizan las palabras clave `Function` o `Class constructor`.
- Para los métodos (métodos proyecto, métodos objeto formulario, métodos base y triggers), los parámetros se declaran utilizando la palabra clave **`#DECLARE`** al principio del código del método.
+:::info Compatibilidad
+
+La sintaxis de declaración heredada, donde los parámetros se copian automáticamente en variables locales numeradas secuencialmente $0, $1, etc. y declarado usando directivas de compilador como `C_TEXT($1;$2)`, es **obsoleto** a partir de 4D 20 R7.
+
+:::
+
Ejemplos:
```4d
@@ -104,6 +104,12 @@ $entitySelection:=ds.User.query("login=:1"; $user)
// Verificar la contraseña hash...
```
+:::note
+
+Do not confuse **parameter declarations** with [**variable declarations**](variables.md#declaring-variables). Using the `var` keyword with parameters will generate errors.
+
+:::
+
### Valor devuelto
El parámetro de retorno de una función se declara añadiendo una flecha (->) y la definición del parámetro después de la lista de parámetros de entrada. Por ejemplo:
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/Notes/updates.md b/i18n/es/docusaurus-plugin-content-docs/current/Notes/updates.md
index c1947d49e3cb20..6eeebff3e41b72 100644
--- a/i18n/es/docusaurus-plugin-content-docs/current/Notes/updates.md
+++ b/i18n/es/docusaurus-plugin-content-docs/current/Notes/updates.md
@@ -9,7 +9,7 @@ Lea [**Novedades en 4D 21 R2**](https://blog.4d.com/en-whats-new-in-4d-21-r2/),
#### Lo más destacado
-- [Code Live Checker](../code-editor/write-class-method.md#warnings-and-errors) has been enhanced to provide greater precision in error detection.
+- [Code Live Checker](../code-editor/write-class-method.md#warnings-and-errors) has been enhanced to provide greater precision in error detection (see [this blog post](https://blog.4d.com/better-error-handling-and-type-inference-for-4d-developers) for more information).
- [**Lista de bugs corregidos**](https://bugs.4d.fr/fixedbugslist?version=21_R2): lista de todos los bugs que se han corregido en 4D 21 R2.
#### Cambios de comportamiento
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/ViewPro/classes.md b/i18n/es/docusaurus-plugin-content-docs/current/ViewPro/classes.md
index 05c1b59c809b33..09aab72cb82cf9 100644
--- a/i18n/es/docusaurus-plugin-content-docs/current/ViewPro/classes.md
+++ b/i18n/es/docusaurus-plugin-content-docs/current/ViewPro/classes.md
@@ -151,13 +151,13 @@ La propiedad `.useFooterDropDownList` [color de fondo](configuring.md#background--foreground) de la tabla.
-### .forecolor
+### .foreColor
-
+
-**.forecolor** : Text
+**.foreColor** : Text
-La propiedad `.forecolor` es el [color de primer plano](configuring.md#background--foreground) de la tabla.
+The `.foreColor` property is the [foreground color](configuring.md#background--foreground) of the table.
### .font
@@ -199,6 +199,14 @@ La propiedad `.borderrightt` es la
La propiedad `.borderBottom` es la línea del borde inferior de la tabla.
+### .borderTop
+
+
+
+**.borderTop** : [cs.ViewPro.LineBorder](#lineborder)
+
+The `.borderTop` property is the top border line of the table .
+
### .borderHorizontal
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/ViewPro/getting-started.md b/i18n/es/docusaurus-plugin-content-docs/current/ViewPro/getting-started.md
index 97732b237a5018..cb7917af53d61e 100644
--- a/i18n/es/docusaurus-plugin-content-docs/current/ViewPro/getting-started.md
+++ b/i18n/es/docusaurus-plugin-content-docs/current/ViewPro/getting-started.md
@@ -9,6 +9,12 @@ title: Comencemos
Una hoja de cálculo es una aplicación que contiene una cuadrícula de celdas en las que se puede introducir información, ejecutar cálculos o mostrar imágenes. 4D View Pro es alimentado por la [solución de hoja de cálculo SpreadJS](https://developer.mescius.com/spreadjs) integrada en 4D.
+:::note
+
+Go to the [Library table](../Notes/updates.md#library-table) to know the SpreadJS version integrated in your 4D release.
+
+:::
+
La integración de áreas de 4D View Pro en sus formularios le permite importar y exportar documentos de hojas de cálculo utilizando los comandos 4D View Pro.
## Instalación y activación
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-19/Concepts/parameters.md b/i18n/es/docusaurus-plugin-content-docs/version-19/Concepts/parameters.md
index dc19bbd94f7d55..5d1d394fdd7e25 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-19/Concepts/parameters.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-19/Concepts/parameters.md
@@ -6,7 +6,7 @@ title: Parámetros
A menudo encontrará que necesita pasar datos a sus métodos y funciones. Esto se hace fácilmente con parámetros.
-## Generalidades
+## Paso de parámetros
**Los parámetros** (o **argumentos**) son piezas de datos que un método o una función de clase necesita para realizar su tarea. Los términos *parámetros* y *argumentos* se utilizan indistintamente en este manual. Los parámetros también se pasan a los comandos integrados de 4D. En este ejemplo, la cadena "Hello" es un argumento para el comando integrado `ALERT`:
@@ -121,6 +121,12 @@ $entitySelection:=ds.User.query("login=:1"; $user)
// Verificar la contraseña hash...
```
+:::note
+
+Do not confuse **parameter declarations** with [**variable declarations**](variables.md#declaring-variables). Using the `var` keyword with parameters will generate errors.
+
+:::
+
### Valor devuelto
El parámetro de retorno de una función se declara añadiendo una flecha (->) y la definición del parámetro después de la lista de parámetros de entrada. Por ejemplo:
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/Concepts/parameters.md b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/Concepts/parameters.md
index 3a78e87c6b82f8..df4ff6da8665ad 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/Concepts/parameters.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/Concepts/parameters.md
@@ -5,7 +5,7 @@ title: Parámetros
A menudo encontrará que necesita pasar datos a sus métodos y funciones. Esto se hace fácilmente con parámetros.
-## Generalidades
+## Paso de parámetros
**Los parámetros** (o **argumentos**) son piezas de datos que un método o una función de clase necesita para realizar su tarea. Los términos *parámetros* y *argumentos* se utilizan indistintamente en este manual. Los parámetros también se pasan a los comandos integrados de 4D. En este ejemplo, la cadena "Hello" es un argumento para el comando integrado `ALERT`:
@@ -53,11 +53,17 @@ La sintaxis de declaración heredada, donde los parámetros se copian automátic
## Declaración de parámetros
-En los métodos llamados o en las funciones de clase, los valores de los parámetros se asignan a las variables locales. Se declararan los parámetros utilizando un **nombre de parámetro** con un **tipo de parámetro**, separados por dos puntos.
+Inside called methods or class functions, you declare parameters using a **parameter name** along with a **parameter type**, separated by colon.
- Para funciones de clase, los parámetros se declaran junto con el prototipo de función, por ejemplo, cuando se utilizan las palabras clave `Function` o `Class constructor`.
- Para los métodos (métodos proyecto, métodos objeto formulario, métodos base y triggers), los parámetros se declaran utilizando la palabra clave **`#DECLARE`** al principio del código del método.
+:::info Compatibilidad
+
+La sintaxis de declaración heredada, donde los parámetros se copian automáticamente en variables locales numeradas secuencialmente $0, $1, etc. y declarado usando directivas de compilador como `C_TEXT($1;$2)`, es **obsoleto** a partir de 4D 20 R7.
+
+:::
+
Ejemplos:
```4d
@@ -104,6 +110,12 @@ $entitySelection:=ds.User.query("login=:1"; $user)
// Verificar la contraseña hash...
```
+:::note
+
+Do not confuse **parameter declarations** with [**variable declarations**](variables.md#declaring-variables). Using the `var` keyword with parameters will generate errors.
+
+:::
+
### Valor devuelto
El parámetro de retorno de una función se declara añadiendo una flecha (->) y la definición del parámetro después de la lista de parámetros de entrada. Por ejemplo:
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/ViewPro/classes.md b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/ViewPro/classes.md
index 05c1b59c809b33..09aab72cb82cf9 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/ViewPro/classes.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/ViewPro/classes.md
@@ -151,13 +151,13 @@ La propiedad `.useFooterDropDownList` [color de fondo](configuring.md#background--foreground) de la tabla.
-### .forecolor
+### .foreColor
-
+
-**.forecolor** : Text
+**.foreColor** : Text
-La propiedad `.forecolor` es el [color de primer plano](configuring.md#background--foreground) de la tabla.
+The `.foreColor` property is the [foreground color](configuring.md#background--foreground) of the table.
### .font
@@ -199,6 +199,14 @@ La propiedad `.borderrightt` es la
La propiedad `.borderBottom` es la línea del borde inferior de la tabla.
+### .borderTop
+
+
+
+**.borderTop** : [cs.ViewPro.LineBorder](#lineborder)
+
+The `.borderTop` property is the top border line of the table .
+
### .borderHorizontal
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/ViewPro/getting-started.md b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/ViewPro/getting-started.md
index 41a1b586494a9d..5dd8d5535bf700 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/ViewPro/getting-started.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/ViewPro/getting-started.md
@@ -9,6 +9,12 @@ title: Comencemos
Una hoja de cálculo es una aplicación que contiene una cuadrícula de celdas en las que se puede introducir información, ejecutar cálculos o mostrar imágenes. 4D View Pro es alimentado por la [solución de hoja de cálculo SpreadJS](https://developer.mescius.com/spreadjs) integrada en 4D.
+:::note
+
+Go to the [Library table](../Notes/updates.md#library-table) to know the SpreadJS version integrated in your 4D release.
+
+:::
+
La integración de áreas de 4D View Pro en sus formularios le permite importar y exportar documentos de hojas de cálculo utilizando los comandos 4D View Pro.
## Instalación y activación
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-20/Concepts/parameters.md b/i18n/es/docusaurus-plugin-content-docs/version-20/Concepts/parameters.md
index 4fc390ebfe901b..fbb615743b4ad9 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-20/Concepts/parameters.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-20/Concepts/parameters.md
@@ -6,7 +6,7 @@ title: Parámetros
A menudo encontrará que necesita pasar datos a sus métodos y funciones. Esto se hace fácilmente con parámetros.
-## Generalidades
+## Paso de parámetros
**Los parámetros** (o **argumentos**) son piezas de datos que un método o una función de clase necesita para realizar su tarea. Los términos *parámetros* y *argumentos* se utilizan indistintamente en este manual. Los parámetros también se pasan a los comandos integrados de 4D. En este ejemplo, la cadena "Hello" es un argumento para el comando integrado `ALERT`:
@@ -110,6 +110,12 @@ $entitySelection:=ds.User.query("login=:1"; $user)
// Verificar la contraseña hash...
```
+:::note
+
+Do not confuse **parameter declarations** with [**variable declarations**](variables.md#declaring-variables). Using the `var` keyword with parameters will generate errors.
+
+:::
+
### Valor devuelto
El parámetro de retorno de una función se declara añadiendo una flecha (->) y la definición del parámetro después de la lista de parámetros de entrada. Por ejemplo:
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-20/ViewPro/classes.md b/i18n/es/docusaurus-plugin-content-docs/version-20/ViewPro/classes.md
index 95d595e292df82..40eadc8c41f98b 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-20/ViewPro/classes.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-20/ViewPro/classes.md
@@ -129,7 +129,7 @@ La propiedad `.tableColumns` es u
La propiedad `.theme` define el tema de una tabla. También puede ser un texto (nombre de un tema nativo SpreadJS).
-Consulte los[ temas nativos de SpreadJS](https://www.grapecity.com/spreadjs/api/classes/GC.Spread.Sheets.Tables.TableThemes).
+See the [native SpreadJS themes](https://developer.mescius.com/spreadjs/api/classes/GC.Spread.Sheets.Tables.TableThemes).
### .useFooterDropDownList
@@ -151,12 +151,12 @@ La propiedad `.useFooterDropDownList` [color de fondo](configuring.md#background--foreground) de la tabla.
-### .forecolor
+### .foreColor
-
-**.forecolor**: Text
+
+**.foreColor** : Text
-La propiedad `.forecolor` es el [color de primer plano](configuring.md#background--foreground) de la tabla.
+The `.foreColor` property is the [color de primer plano](configuring.md#background--foreground) de la tabla.
@@ -201,6 +201,12 @@ La propiedad `.borderRight` es la l
La propiedad `.borderBottom` es el límite inferior de la tabla .
+### .borderTop
+
+
+**.borderTop** : [cs.ViewPro.LineBorder](#lineborder)
+
+The `.borderTop` property is the top border line of the table .
### .borderHorizontal
@@ -260,7 +266,7 @@ La propiedad `.highlightFirstColumn`
-La propiedad `.theme` define el tema de una tabla. Si Text: nombre de un [tema nativo SpreadJS](https://www.grapecity.com/spreadjs/api/classes/GC.Spread.Sheets.Tables.TableThemes).
+La propiedad `.theme` define el tema de una tabla. If Text: name of a [native SpreadJS theme](https://developer.mescius.com/spreadjs/api/classes/GC.Spread.Sheets.Tables.TableThemes).
@@ -356,7 +362,7 @@ La propiedad `.lastHeaderCellStyle` es la
**.name** : Text
-La propiedad `.name` es el nombre de un [tema SpreadJS nativo ](https://www.grapecity.com/spreadjs/api/classes/GC.Spread.Sheets.Tables.TableThemes).
+La propiedad `.name` es el name of a [native SpreadJS theme](https://developer.mescius.com/spreadjs/api/classes/GC.Spread.Sheets.Tables.TableThemes).
### .secondColumnStripSize
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-20/ViewPro/getting-started.md b/i18n/es/docusaurus-plugin-content-docs/version-20/ViewPro/getting-started.md
index b7dd87100221fd..916089052d471b 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-20/ViewPro/getting-started.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-20/ViewPro/getting-started.md
@@ -11,6 +11,12 @@ title: Comencemos
Una hoja de cálculo es una aplicación que contiene una cuadrícula de celdas en las que se puede introducir información, ejecutar cálculos o mostrar imágenes. 4D View Pro es alimentado por la [solución de hoja de cálculo SpreadJS](https://www.grapecity.com/spreadjs/docs/versions/v14/online/overview.html) integrada en 4D.
+:::note
+
+Go to the [Library table](../Notes/updates.md#library-table) to know the SpreadJS version integrated in your 4D release.
+
+:::
+
La integración de áreas de 4D View Pro en sus formularios le permite importar y exportar documentos de hojas de cálculo utilizando los comandos 4D View Pro.
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-21/Concepts/parameters.md b/i18n/es/docusaurus-plugin-content-docs/version-21/Concepts/parameters.md
index 3a78e87c6b82f8..df4ff6da8665ad 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-21/Concepts/parameters.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-21/Concepts/parameters.md
@@ -5,7 +5,7 @@ title: Parámetros
A menudo encontrará que necesita pasar datos a sus métodos y funciones. Esto se hace fácilmente con parámetros.
-## Generalidades
+## Paso de parámetros
**Los parámetros** (o **argumentos**) son piezas de datos que un método o una función de clase necesita para realizar su tarea. Los términos *parámetros* y *argumentos* se utilizan indistintamente en este manual. Los parámetros también se pasan a los comandos integrados de 4D. En este ejemplo, la cadena "Hello" es un argumento para el comando integrado `ALERT`:
@@ -53,11 +53,17 @@ La sintaxis de declaración heredada, donde los parámetros se copian automátic
## Declaración de parámetros
-En los métodos llamados o en las funciones de clase, los valores de los parámetros se asignan a las variables locales. Se declararan los parámetros utilizando un **nombre de parámetro** con un **tipo de parámetro**, separados por dos puntos.
+Inside called methods or class functions, you declare parameters using a **parameter name** along with a **parameter type**, separated by colon.
- Para funciones de clase, los parámetros se declaran junto con el prototipo de función, por ejemplo, cuando se utilizan las palabras clave `Function` o `Class constructor`.
- Para los métodos (métodos proyecto, métodos objeto formulario, métodos base y triggers), los parámetros se declaran utilizando la palabra clave **`#DECLARE`** al principio del código del método.
+:::info Compatibilidad
+
+La sintaxis de declaración heredada, donde los parámetros se copian automáticamente en variables locales numeradas secuencialmente $0, $1, etc. y declarado usando directivas de compilador como `C_TEXT($1;$2)`, es **obsoleto** a partir de 4D 20 R7.
+
+:::
+
Ejemplos:
```4d
@@ -104,6 +110,12 @@ $entitySelection:=ds.User.query("login=:1"; $user)
// Verificar la contraseña hash...
```
+:::note
+
+Do not confuse **parameter declarations** with [**variable declarations**](variables.md#declaring-variables). Using the `var` keyword with parameters will generate errors.
+
+:::
+
### Valor devuelto
El parámetro de retorno de una función se declara añadiendo una flecha (->) y la definición del parámetro después de la lista de parámetros de entrada. Por ejemplo:
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-21/ViewPro/classes.md b/i18n/es/docusaurus-plugin-content-docs/version-21/ViewPro/classes.md
index 05c1b59c809b33..09aab72cb82cf9 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-21/ViewPro/classes.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-21/ViewPro/classes.md
@@ -151,13 +151,13 @@ La propiedad `.useFooterDropDownList` [color de fondo](configuring.md#background--foreground) de la tabla.
-### .forecolor
+### .foreColor
-
+
-**.forecolor** : Text
+**.foreColor** : Text
-La propiedad `.forecolor` es el [color de primer plano](configuring.md#background--foreground) de la tabla.
+The `.foreColor` property is the [foreground color](configuring.md#background--foreground) of the table.
### .font
@@ -199,6 +199,14 @@ La propiedad `.borderrightt` es la
La propiedad `.borderBottom` es la línea del borde inferior de la tabla.
+### .borderTop
+
+
+
+**.borderTop** : [cs.ViewPro.LineBorder](#lineborder)
+
+The `.borderTop` property is the top border line of the table .
+
### .borderHorizontal
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-21/ViewPro/getting-started.md b/i18n/es/docusaurus-plugin-content-docs/version-21/ViewPro/getting-started.md
index 97732b237a5018..cb7917af53d61e 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-21/ViewPro/getting-started.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-21/ViewPro/getting-started.md
@@ -9,6 +9,12 @@ title: Comencemos
Una hoja de cálculo es una aplicación que contiene una cuadrícula de celdas en las que se puede introducir información, ejecutar cálculos o mostrar imágenes. 4D View Pro es alimentado por la [solución de hoja de cálculo SpreadJS](https://developer.mescius.com/spreadjs) integrada en 4D.
+:::note
+
+Go to the [Library table](../Notes/updates.md#library-table) to know the SpreadJS version integrated in your 4D release.
+
+:::
+
La integración de áreas de 4D View Pro en sus formularios le permite importar y exportar documentos de hojas de cálculo utilizando los comandos 4D View Pro.
## Instalación y activación
diff --git a/i18n/fr/docusaurus-plugin-content-docs/current/Concepts/parameters.md b/i18n/fr/docusaurus-plugin-content-docs/current/Concepts/parameters.md
index 126ca42643bd67..c65821c9f8a628 100644
--- a/i18n/fr/docusaurus-plugin-content-docs/current/Concepts/parameters.md
+++ b/i18n/fr/docusaurus-plugin-content-docs/current/Concepts/parameters.md
@@ -5,7 +5,7 @@ title: Paramètres
Vous aurez souvent besoin de fournir des valeurs à vos méthodes et fonctions. Vous pouvez facilement effectuer cette opération grâce aux paramètres.
-## Vue d’ensemble
+## Passer des paramètres
**Les paramètres** (ou **arguments**) sont des données dont une méthode ou une fonction de classe a besoin pour s’exécuter. Le terme *paramètres* ou *arguments* est utilisé indifféremment dans ce manuel. Des paramètres sont également passés aux commandes intégrées de 4D. Dans l’exemple ci-dessous, la chaîne “Bonjour” est un paramètre de la commande `ALERT` :
@@ -45,19 +45,19 @@ Toute sous-routine peut retourner une valeur. Un seul paramètre de sortie peut
Les valeurs d'entrée et de sortie sont [évaluées](#values-or-references) au moment de l'appel et copiées dans ou à partir de variables locales au sein de la fonction ou de la méthode appelée. Les variables de paramètres doivent être [déclarées](#declaring-parameters) dans le code appelé.
-:::info Compatibilité
-
-L'ancienne syntaxe de déclaration, où les paramètres sont automatiquement copiés dans des variables locales numérotées séquentiellement $0, $1, etc. et déclarés en utilisant des directives du compilateur telles que `C_TEXT($1;$2)`, est **dépréciée** à partir de 4D 20 R7.
-
-:::
-
## Déclaration des paramètres
-Dans les méthodes et fonctions de classe qui sont appelées, les valeurs des paramètres sont assignées aux variables locales. Vous déclarez des paramètres en utilisant un **nom de paramètre** et un **type de paramètre**, séparés par deux points.
+Inside called methods or class functions, you declare parameters using a **parameter name** along with a **parameter type**, separated by colon.
- For class functions, parameters are declared along with the function prototype, i.e. when using the `Function` or `Class Constructor` keywords.
- Pour les méthodes (méthodes projet, méthodes d'objets de formulaire, méthodes de base de données et triggers), les paramètres sont déclarés à l'aide du mot-clé **`#DECLARE`** au début du code de la méthode.
+:::info Compatibilité
+
+L'ancienne syntaxe de déclaration, où les paramètres sont automatiquement copiés dans des variables locales numérotées séquentiellement $0, $1, etc. et déclarés en utilisant des directives du compilateur telles que `C_TEXT($1;$2)`, est **dépréciée** à partir de 4D 20 R7.
+
+:::
+
Exemples :
```4d
@@ -104,6 +104,12 @@ $entitySelection:=ds.User.query("login=:1"; $user)
// Vérifier le hash du mot passe...
```
+:::note
+
+Do not confuse **parameter declarations** with [**variable declarations**](variables.md#declaring-variables). Using the `var` keyword with parameters will generate errors.
+
+:::
+
### Valeur retournée
Vous déclarez le paramètre de retour d'une fonction en ajoutant une flèche (->) et la définition du paramètre après la liste des paramètres d'entrée. Par exemple :
diff --git a/i18n/fr/docusaurus-plugin-content-docs/current/Notes/updates.md b/i18n/fr/docusaurus-plugin-content-docs/current/Notes/updates.md
index ee5699a7e5814b..9f34bdb1d64094 100644
--- a/i18n/fr/docusaurus-plugin-content-docs/current/Notes/updates.md
+++ b/i18n/fr/docusaurus-plugin-content-docs/current/Notes/updates.md
@@ -9,7 +9,7 @@ Lisez [**Les nouveautés de 4D 21 R2**](https://blog.4d.com/fr-whats-new-in-4d-v
#### Points forts
-- Le [Code Live Checker](../code-editor/write-class-method.md#warnings-and-errors) a été amélioré pour offrir une plus grande précision dans la détection des erreurs.
+- [Code Live Checker](../code-editor/write-class-method.md#warnings-and-errors) has been enhanced to provide greater precision in error detection (see [this blog post](https://blog.4d.com/better-error-handling-and-type-inference-for-4d-developers) for more information).
- [**Liste des bugs corrigés**](https://bugs.4d.fr/fixedbugslist?version=21_R2) : liste de tous les bugs qui ont été corrigés dans 4D 21 R2.
#### Changements de comportement
diff --git a/i18n/fr/docusaurus-plugin-content-docs/current/ViewPro/classes.md b/i18n/fr/docusaurus-plugin-content-docs/current/ViewPro/classes.md
index 4b523b27f9e257..6672381ffb3ebd 100644
--- a/i18n/fr/docusaurus-plugin-content-docs/current/ViewPro/classes.md
+++ b/i18n/fr/docusaurus-plugin-content-docs/current/ViewPro/classes.md
@@ -151,13 +151,13 @@ La propriété `.useFooterDropDownList` [couleur de fond](configuring.md#background--foreground) de la table.
-### .forecolor
+### .foreColor
-
+
-**.forecolor** : Text
+**.foreColor** : Text
-La propriété `.forecolor` est la [couleur de premier plan](configuring.md#background--foreground) de la table.
+The `.foreColor` property is the [foreground color](configuring.md#background--foreground) of the table.
### .font
@@ -199,6 +199,14 @@ La propriété `.borderRight` est la ligne de bordure inférieure de la table.
+### .borderTop
+
+
+
+**.borderTop** : [cs.ViewPro.LineBorder](#lineborder)
+
+The `.borderTop` property is the top border line of the table .
+
### .borderhorizontale
diff --git a/i18n/fr/docusaurus-plugin-content-docs/current/ViewPro/getting-started.md b/i18n/fr/docusaurus-plugin-content-docs/current/ViewPro/getting-started.md
index 6f2082fb5b6660..e928eaca96ff21 100644
--- a/i18n/fr/docusaurus-plugin-content-docs/current/ViewPro/getting-started.md
+++ b/i18n/fr/docusaurus-plugin-content-docs/current/ViewPro/getting-started.md
@@ -9,6 +9,12 @@ title: Prise en main
Une tableur est une application contenant une grille de cellules dans lesquelles vous pouvez saisir des informations, effectuer des calculs ou afficher des images. 4D View Pro est alimenté par la [solution de feuille de calcul SpreadJS](https://developer.mescius.com/spreadjs) intégrée en 4D.
+:::note
+
+Go to the [Library table](../Notes/updates.md#library-table) to know the SpreadJS version integrated in your 4D release.
+
+:::
+
L'intégration de zones 4D View Pro dans vos formulaires vous permet d'importer et d'exporter des documents de type tableur à l'aide des commandes 4D View Pro.
## Installation et activation
diff --git a/i18n/fr/docusaurus-plugin-content-docs/current/WritePro/commands/wp-get-attributes.md b/i18n/fr/docusaurus-plugin-content-docs/current/WritePro/commands/wp-get-attributes.md
index 3541af254aa8e2..b4303c7732501e 100644
--- a/i18n/fr/docusaurus-plugin-content-docs/current/WritePro/commands/wp-get-attributes.md
+++ b/i18n/fr/docusaurus-plugin-content-docs/current/WritePro/commands/wp-get-attributes.md
@@ -28,7 +28,7 @@ In *targetObj*, you can pass:
- un élément (en-tête / pied de page / corps / tableau / paragraphe / image ancrée ou en ligne / section / sous-section / feuille de style), ou
- un document 4D Write Pro
-In *attribName*, pass the name of the attribute you want to retrieve.
+Dans *attribName*, passez le nom de l'attribut que vous souhaitez récupérer.
You can also pass a collection of attribute names in *attribColl*, in which case the command will return an object containing the attribute names passed in *attribColl* along with their corresponding values.
diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-19/Concepts/parameters.md b/i18n/fr/docusaurus-plugin-content-docs/version-19/Concepts/parameters.md
index 59f2e19a40419c..83c1f38dae2e39 100644
--- a/i18n/fr/docusaurus-plugin-content-docs/version-19/Concepts/parameters.md
+++ b/i18n/fr/docusaurus-plugin-content-docs/version-19/Concepts/parameters.md
@@ -6,7 +6,7 @@ title: Paramètres
Vous aurez souvent besoin de fournir des valeurs à vos méthodes et fonctions. Vous pouvez facilement effectuer cette opération grâce aux paramètres.
-## Vue d’ensemble
+## Passer des paramètres
**Les paramètres** (ou **arguments**) sont des données dont une méthode ou une fonction de classe a besoin pour s’exécuter. Le terme *paramètres* ou *arguments* est utilisé indifféremment dans ce manuel. Des paramètres sont également passés aux commandes intégrées de 4D. Dans l’exemple ci-dessous, la chaîne “Bonjour” est un paramètre de la commande `ALERT` :
@@ -118,6 +118,12 @@ $entitySelection:=ds.User.query("login=:1"; $user)
// vérifier le hash du mot de passe...
```
+:::note
+
+Do not confuse **parameter declarations** with [**variable declarations**](variables.md#declaring-variables). Using the `var` keyword with parameters will generate errors.
+
+:::
+
### Valeur retournée
Vous déclarez le paramètre de retour d'une fonction en ajoutant une flèche (->) et la définition du paramètre après la liste des paramètres d'entrée. Par exemple :
diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-20-R10/Concepts/parameters.md b/i18n/fr/docusaurus-plugin-content-docs/version-20-R10/Concepts/parameters.md
index 3e106c0ff30907..9838e143ea8cae 100644
--- a/i18n/fr/docusaurus-plugin-content-docs/version-20-R10/Concepts/parameters.md
+++ b/i18n/fr/docusaurus-plugin-content-docs/version-20-R10/Concepts/parameters.md
@@ -5,7 +5,7 @@ title: Paramètres
Vous aurez souvent besoin de fournir des valeurs à vos méthodes et fonctions. Vous pouvez facilement effectuer cette opération grâce aux paramètres.
-## Vue d’ensemble
+## Passer des paramètres
**Les paramètres** (ou **arguments**) sont des données dont une méthode ou une fonction de classe a besoin pour s’exécuter. Le terme *paramètres* ou *arguments* est utilisé indifféremment dans ce manuel. Des paramètres sont également passés aux commandes intégrées de 4D. Dans l’exemple ci-dessous, la chaîne “Bonjour” est un paramètre de la commande `ALERT` :
@@ -53,11 +53,17 @@ L'ancienne syntaxe de déclaration, où les paramètres sont automatiquement cop
## Déclaration des paramètres
-Dans les méthodes et fonctions de classe qui sont appelées, les valeurs des paramètres sont assignées aux variables locales. Vous déclarez des paramètres en utilisant un **nom de paramètre** et un **type de paramètre**, séparés par deux points.
+Inside called methods or class functions, you declare parameters using a **parameter name** along with a **parameter type**, separated by colon.
- For class functions, parameters are declared along with the function prototype, i.e. when using the `Function` or `Class Constructor` keywords.
- Pour les méthodes (méthodes projet, méthodes d'objets de formulaire, méthodes de base de données et triggers), les paramètres sont déclarés à l'aide du mot-clé **`#DECLARE`** au début du code de la méthode.
+:::info Compatibilité
+
+L'ancienne syntaxe de déclaration, où les paramètres sont automatiquement copiés dans des variables locales numérotées séquentiellement $0, $1, etc. et déclarés en utilisant des directives du compilateur telles que `C_TEXT($1;$2)`, est **dépréciée** à partir de 4D 20 R7.
+
+:::
+
Exemples :
```4d
@@ -104,6 +110,12 @@ $entitySelection:=ds.User.query("login=:1"; $user)
// Vérifier le hash du mot passe...
```
+:::note
+
+Do not confuse **parameter declarations** with [**variable declarations**](variables.md#declaring-variables). Using the `var` keyword with parameters will generate errors.
+
+:::
+
### Valeur retournée
Vous déclarez le paramètre de retour d'une fonction en ajoutant une flèche (->) et la définition du paramètre après la liste des paramètres d'entrée. Par exemple :
diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-20-R10/ViewPro/classes.md b/i18n/fr/docusaurus-plugin-content-docs/version-20-R10/ViewPro/classes.md
index 4b523b27f9e257..6672381ffb3ebd 100644
--- a/i18n/fr/docusaurus-plugin-content-docs/version-20-R10/ViewPro/classes.md
+++ b/i18n/fr/docusaurus-plugin-content-docs/version-20-R10/ViewPro/classes.md
@@ -151,13 +151,13 @@ La propriété `.useFooterDropDownList` [couleur de fond](configuring.md#background--foreground) de la table.
-### .forecolor
+### .foreColor
-
+
-**.forecolor** : Text
+**.foreColor** : Text
-La propriété `.forecolor` est la [couleur de premier plan](configuring.md#background--foreground) de la table.
+The `.foreColor` property is the [foreground color](configuring.md#background--foreground) of the table.
### .font
@@ -199,6 +199,14 @@ La propriété `.borderRight` est la ligne de bordure inférieure de la table.
+### .borderTop
+
+
+
+**.borderTop** : [cs.ViewPro.LineBorder](#lineborder)
+
+The `.borderTop` property is the top border line of the table .
+
### .borderhorizontale
diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-20-R10/ViewPro/getting-started.md b/i18n/fr/docusaurus-plugin-content-docs/version-20-R10/ViewPro/getting-started.md
index d24a5ac2255b1c..9336bb3e69a34d 100644
--- a/i18n/fr/docusaurus-plugin-content-docs/version-20-R10/ViewPro/getting-started.md
+++ b/i18n/fr/docusaurus-plugin-content-docs/version-20-R10/ViewPro/getting-started.md
@@ -9,6 +9,12 @@ title: Prise en main
Une tableur est une application contenant une grille de cellules dans lesquelles vous pouvez saisir des informations, effectuer des calculs ou afficher des images. 4D View Pro est alimenté par la [solution de feuille de calcul SpreadJS](https://developer.mescius.com/spreadjs) intégrée en 4D.
+:::note
+
+Go to the [Library table](../Notes/updates.md#library-table) to know the SpreadJS version integrated in your 4D release.
+
+:::
+
L'intégration de zones 4D View Pro dans vos formulaires vous permet d'importer et d'exporter des documents de type tableur à l'aide des commandes 4D View Pro.
## Installation et activation
diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-20-R10/WritePro/commands/wp-get-attributes.md b/i18n/fr/docusaurus-plugin-content-docs/version-20-R10/WritePro/commands/wp-get-attributes.md
index 6dc3b884b3c359..8699db2a90d1e2 100644
--- a/i18n/fr/docusaurus-plugin-content-docs/version-20-R10/WritePro/commands/wp-get-attributes.md
+++ b/i18n/fr/docusaurus-plugin-content-docs/version-20-R10/WritePro/commands/wp-get-attributes.md
@@ -28,7 +28,7 @@ In *targetObj*, you can pass:
- un élément (en-tête / pied de page / corps / tableau / paragraphe / image ancrée ou en ligne / section / sous-section / feuille de style), ou
- un document 4D Write Pro
-In *attribName*, pass the name of the attribute you want to retrieve.
+Dans *attribName*, passez le nom de l'attribut que vous souhaitez récupérer.
You can also pass a collection of attribute names in *attribColl*, in which case the command will return an object containing the attribute names passed in *attribColl* along with their corresponding values.
diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-20/Concepts/parameters.md b/i18n/fr/docusaurus-plugin-content-docs/version-20/Concepts/parameters.md
index db3d2158e1f74e..7545867404beea 100644
--- a/i18n/fr/docusaurus-plugin-content-docs/version-20/Concepts/parameters.md
+++ b/i18n/fr/docusaurus-plugin-content-docs/version-20/Concepts/parameters.md
@@ -6,7 +6,7 @@ title: Paramètres
Vous aurez souvent besoin de fournir des valeurs à vos méthodes et fonctions. Vous pouvez facilement effectuer cette opération grâce aux paramètres.
-## Vue d’ensemble
+## Passer des paramètres
**Les paramètres** (ou **arguments**) sont des données dont une méthode ou une fonction de classe a besoin pour s’exécuter. Le terme *paramètres* ou *arguments* est utilisé indifféremment dans ce manuel. Des paramètres sont également passés aux commandes intégrées de 4D. Dans l’exemple ci-dessous, la chaîne “Bonjour” est un paramètre de la commande `ALERT` :
@@ -108,6 +108,12 @@ $entitySelection:=ds.User.query("login=:1"; $user)
// vérifier le hash du mot de passe...
```
+:::note
+
+Do not confuse **parameter declarations** with [**variable declarations**](variables.md#declaring-variables). Using the `var` keyword with parameters will generate errors.
+
+:::
+
### Valeur retournée
Vous déclarez le paramètre de retour d'une fonction en ajoutant une flèche (->) et la définition du paramètre après la liste des paramètres d'entrée. Par exemple :
diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-20/ViewPro/classes.md b/i18n/fr/docusaurus-plugin-content-docs/version-20/ViewPro/classes.md
index 805a0cac20f943..2fd48280d1d994 100644
--- a/i18n/fr/docusaurus-plugin-content-docs/version-20/ViewPro/classes.md
+++ b/i18n/fr/docusaurus-plugin-content-docs/version-20/ViewPro/classes.md
@@ -129,7 +129,7 @@ La propriété `.tableColumns` es
La propriété `.theme` définit un thème de table. Peut également être un texte (nom d'un thème SpreadJS natif).
-Voir les [thèmes natifs SpreadJS](https://www.grapecity.com/spreadjs/api/classes/GC.Spread.Sheets.Tables.TableThemes).
+See the [native SpreadJS themes](https://developer.mescius.com/spreadjs/api/classes/GC.Spread.Sheets.Tables.TableThemes).
### .useFooterDropDownList
@@ -151,12 +151,12 @@ La propriété `.useFooterDropDownList` [couleur d'arrière-plan](configuring.md#background--foreground) du tableau.
-### .forecolor
+### .foreColor
-
-**.forecolor** : Text
+
+**.foreColor** : Text
-La propriété `.forecolor` est la [couleur de premier plan](configuring.md#background--foreground) du tableau.
+The `.foreColor` property is the [couleur de premier plan](configuring.md#background--foreground) du tableau.
@@ -201,6 +201,12 @@ La propriété `.borderRight` est la ligne de bordure inférieure de la table .
+### .borderTop
+
+
+**.borderTop** : [cs.ViewPro.LineBorder](#lineborder)
+
+The `.borderTop` property is the top border line of the table .
### .borderhorizontale
@@ -260,7 +266,7 @@ La propriété `.highlightFirstColumn`
-La propriété `.theme` définit un thème de table. Si Text : nom d'un [theme SpreadJS natif](https://www.grapecity.com/spreadjs/api/classes/GC.Spread.Sheets.Tables.TableThemes).
+La propriété `.theme` définit un thème de table. If Text: name of a [native SpreadJS theme](https://developer.mescius.com/spreadjs/api/classes/GC.Spread.Sheets.Tables.TableThemes).
@@ -356,7 +362,7 @@ La propriété `.lastHeaderCellStyle` est le
**.name** : Text
-La propriété `.name` est le nom d'un [thème natif SpreadJS](https://www.grapecity.com/spreadjs/api/classes/GC.Spread.Sheets.Tables.TableThemes).
+La propriété `.name` est le name of a [native SpreadJS theme](https://developer.mescius.com/spreadjs/api/classes/GC.Spread.Sheets.Tables.TableThemes).
### .secondColumnStripSize
diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-20/ViewPro/getting-started.md b/i18n/fr/docusaurus-plugin-content-docs/version-20/ViewPro/getting-started.md
index 493fe9a6df31be..290e4cce6e344b 100644
--- a/i18n/fr/docusaurus-plugin-content-docs/version-20/ViewPro/getting-started.md
+++ b/i18n/fr/docusaurus-plugin-content-docs/version-20/ViewPro/getting-started.md
@@ -11,6 +11,12 @@ title: Prise en main
Une tableur est une application contenant une grille de cellules dans lesquelles vous pouvez saisir des informations, effectuer des calculs ou afficher des images. 4D View Pro est alimenté par la [solution de tableur SpreadJS](https://www.grapecity.com/spreadjs/docs/versions/v14/online/overview.html) intégrée à 4D.
+:::note
+
+Go to the [Library table](../Notes/updates.md#library-table) to know the SpreadJS version integrated in your 4D release.
+
+:::
+
L'intégration de zones 4D View Pro dans vos formulaires vous permet d'importer et d'exporter des documents de type tableur à l'aide des commandes 4D View Pro.
diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-21/Concepts/parameters.md b/i18n/fr/docusaurus-plugin-content-docs/version-21/Concepts/parameters.md
index 3e106c0ff30907..9838e143ea8cae 100644
--- a/i18n/fr/docusaurus-plugin-content-docs/version-21/Concepts/parameters.md
+++ b/i18n/fr/docusaurus-plugin-content-docs/version-21/Concepts/parameters.md
@@ -5,7 +5,7 @@ title: Paramètres
Vous aurez souvent besoin de fournir des valeurs à vos méthodes et fonctions. Vous pouvez facilement effectuer cette opération grâce aux paramètres.
-## Vue d’ensemble
+## Passer des paramètres
**Les paramètres** (ou **arguments**) sont des données dont une méthode ou une fonction de classe a besoin pour s’exécuter. Le terme *paramètres* ou *arguments* est utilisé indifféremment dans ce manuel. Des paramètres sont également passés aux commandes intégrées de 4D. Dans l’exemple ci-dessous, la chaîne “Bonjour” est un paramètre de la commande `ALERT` :
@@ -53,11 +53,17 @@ L'ancienne syntaxe de déclaration, où les paramètres sont automatiquement cop
## Déclaration des paramètres
-Dans les méthodes et fonctions de classe qui sont appelées, les valeurs des paramètres sont assignées aux variables locales. Vous déclarez des paramètres en utilisant un **nom de paramètre** et un **type de paramètre**, séparés par deux points.
+Inside called methods or class functions, you declare parameters using a **parameter name** along with a **parameter type**, separated by colon.
- For class functions, parameters are declared along with the function prototype, i.e. when using the `Function` or `Class Constructor` keywords.
- Pour les méthodes (méthodes projet, méthodes d'objets de formulaire, méthodes de base de données et triggers), les paramètres sont déclarés à l'aide du mot-clé **`#DECLARE`** au début du code de la méthode.
+:::info Compatibilité
+
+L'ancienne syntaxe de déclaration, où les paramètres sont automatiquement copiés dans des variables locales numérotées séquentiellement $0, $1, etc. et déclarés en utilisant des directives du compilateur telles que `C_TEXT($1;$2)`, est **dépréciée** à partir de 4D 20 R7.
+
+:::
+
Exemples :
```4d
@@ -104,6 +110,12 @@ $entitySelection:=ds.User.query("login=:1"; $user)
// Vérifier le hash du mot passe...
```
+:::note
+
+Do not confuse **parameter declarations** with [**variable declarations**](variables.md#declaring-variables). Using the `var` keyword with parameters will generate errors.
+
+:::
+
### Valeur retournée
Vous déclarez le paramètre de retour d'une fonction en ajoutant une flèche (->) et la définition du paramètre après la liste des paramètres d'entrée. Par exemple :
diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-21/ViewPro/classes.md b/i18n/fr/docusaurus-plugin-content-docs/version-21/ViewPro/classes.md
index 4b523b27f9e257..6672381ffb3ebd 100644
--- a/i18n/fr/docusaurus-plugin-content-docs/version-21/ViewPro/classes.md
+++ b/i18n/fr/docusaurus-plugin-content-docs/version-21/ViewPro/classes.md
@@ -151,13 +151,13 @@ La propriété `.useFooterDropDownList` [couleur de fond](configuring.md#background--foreground) de la table.
-### .forecolor
+### .foreColor
-
+
-**.forecolor** : Text
+**.foreColor** : Text
-La propriété `.forecolor` est la [couleur de premier plan](configuring.md#background--foreground) de la table.
+The `.foreColor` property is the [foreground color](configuring.md#background--foreground) of the table.
### .font
@@ -199,6 +199,14 @@ La propriété `.borderRight` est la ligne de bordure inférieure de la table.
+### .borderTop
+
+
+
+**.borderTop** : [cs.ViewPro.LineBorder](#lineborder)
+
+The `.borderTop` property is the top border line of the table .
+
### .borderhorizontale
diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-21/ViewPro/getting-started.md b/i18n/fr/docusaurus-plugin-content-docs/version-21/ViewPro/getting-started.md
index 6f2082fb5b6660..e928eaca96ff21 100644
--- a/i18n/fr/docusaurus-plugin-content-docs/version-21/ViewPro/getting-started.md
+++ b/i18n/fr/docusaurus-plugin-content-docs/version-21/ViewPro/getting-started.md
@@ -9,6 +9,12 @@ title: Prise en main
Une tableur est une application contenant une grille de cellules dans lesquelles vous pouvez saisir des informations, effectuer des calculs ou afficher des images. 4D View Pro est alimenté par la [solution de feuille de calcul SpreadJS](https://developer.mescius.com/spreadjs) intégrée en 4D.
+:::note
+
+Go to the [Library table](../Notes/updates.md#library-table) to know the SpreadJS version integrated in your 4D release.
+
+:::
+
L'intégration de zones 4D View Pro dans vos formulaires vous permet d'importer et d'exporter des documents de type tableur à l'aide des commandes 4D View Pro.
## Installation et activation
diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-21/WritePro/commands/wp-get-attributes.md b/i18n/fr/docusaurus-plugin-content-docs/version-21/WritePro/commands/wp-get-attributes.md
index 6dc3b884b3c359..8699db2a90d1e2 100644
--- a/i18n/fr/docusaurus-plugin-content-docs/version-21/WritePro/commands/wp-get-attributes.md
+++ b/i18n/fr/docusaurus-plugin-content-docs/version-21/WritePro/commands/wp-get-attributes.md
@@ -28,7 +28,7 @@ In *targetObj*, you can pass:
- un élément (en-tête / pied de page / corps / tableau / paragraphe / image ancrée ou en ligne / section / sous-section / feuille de style), ou
- un document 4D Write Pro
-In *attribName*, pass the name of the attribute you want to retrieve.
+Dans *attribName*, passez le nom de l'attribut que vous souhaitez récupérer.
You can also pass a collection of attribute names in *attribColl*, in which case the command will return an object containing the attribute names passed in *attribColl* along with their corresponding values.
diff --git a/i18n/ja/docusaurus-plugin-content-docs/current/Concepts/parameters.md b/i18n/ja/docusaurus-plugin-content-docs/current/Concepts/parameters.md
index 7d8c30b7a7a56f..9183cd58323986 100644
--- a/i18n/ja/docusaurus-plugin-content-docs/current/Concepts/parameters.md
+++ b/i18n/ja/docusaurus-plugin-content-docs/current/Concepts/parameters.md
@@ -5,7 +5,7 @@ title: 引数
メソッドや関数にデータを渡す必要がしばしば発生します。 これは引数によって容易にできます。
-## 概要
+## 引数の受け渡し
**引数** (または **パラメーター**) とは、メソッドや関数が処理に必要とするデータのことです。 *引数* と *パラメーター* は厳密には違うものですが、このマニュアルでは同義語として使用されています。 引数は、ビルトインの 4Dコマンドにも渡されます。 以下の例は、“Hello” という文字列を引数としてビルトインの `ALERT` コマンドへ渡します:
@@ -45,19 +45,19 @@ MyLength:=Length("How did I get here?")
入力および出力値は呼び出し時に [評価](#引数の渡し方-値か参照か) され、その値はそれぞれ自動的にサブルーチン (呼び出されたメソッドまたはクラス関数) 内のローカル変数に格納されます。 パラメーターは、呼び出されるコード内で [宣言](#パラメーターの宣言) する必要があります。
-:::info 互換性
-
-引数が連番のローカル変数 ($0、$1 など) に自動的にコピーされ、`C_TEXT($1;$2)` のようなコンパイラー指示子を使って宣言される従来のシンタックスは、4D 20 R7 より **非推奨** となりました。
-
-:::
-
## パラメーターの宣言
-呼び出されたメソッドやクラス関数において、引数の値はローカル変数に代入されます。 引数は **パラメーター名** とその **データ型** をコロン (:) で区切って宣言します。
+Inside called methods or class functions, you declare parameters using a **parameter name** along with a **parameter type**, separated by colon.
- クラス関数の場合、引数は関数のプロトタイプとともに宣言されます。つまり、`Function` あるいは `Class constructor` キーワードを使用して宣言されます。
- メソッドの場合 (プロジェクトメソッド、フォームオブジェクトメソッド、データベースメソッド、トリガー)、引数はメソッドコード先頭の **`#DECLARE`** キーワードを使って宣言されます。
+:::info 互換性
+
+引数が連番のローカル変数 ($0、$1 など) に自動的にコピーされ、`C_TEXT($1;$2)` のようなコンパイラー指示子を使って宣言される従来のシンタックスは、4D 20 R7 より **非推奨** となりました。
+
+:::
+
例:
```4d
@@ -104,6 +104,12 @@ $entitySelection:=ds.User.query("login=:1"; $user)
// ハッシュパスワードを確認...
```
+:::note
+
+Do not confuse **parameter declarations** with [**variable declarations**](variables.md#declaring-variables). Using the `var` keyword with parameters will generate errors.
+
+:::
+
### 戻り値
関数の戻り値は、入力パラメーターリストに矢印 (->) を追加し、それに続けて宣言します。 例:
diff --git a/i18n/ja/docusaurus-plugin-content-docs/current/Notes/updates.md b/i18n/ja/docusaurus-plugin-content-docs/current/Notes/updates.md
index 423bc1e6bbafe9..ce361cd5f3dab8 100644
--- a/i18n/ja/docusaurus-plugin-content-docs/current/Notes/updates.md
+++ b/i18n/ja/docusaurus-plugin-content-docs/current/Notes/updates.md
@@ -9,30 +9,30 @@ title: リリースノート
#### ハイライト
-- [コードライブチェッカー](../code-editor/write-class-method.md#警告とエラー) はエラー検知の面における正確性が大幅に向上しました。
+- [Code Live Checker](../code-editor/write-class-method.md#warnings-and-errors) has been enhanced to provide greater precision in error detection (see [this blog post](https://blog.4d.com/better-error-handling-and-type-inference-for-4d-developers) for more information).
- [**修正リスト**](https://bugs.4d.fr/fixedbugslist?version=21_R2): 4D 21 R2 で修正されたバグのリストです ([日本語版はこちら](https://4d-jp.github.io/2023/178/release-note-version-20r2/))。
#### 動作の変更
## ライブラリの一覧
-| ライブラリ | 現在のバージョン | 更新された 4D バージョン | 説明 |
-| --------- | -------------------------------------- | -------------- | -------------------------------------------------------------------------------------------------------------------------------------------------- |
-| BoringSSL | fa47b1d | **21** | QUIC に使用 |
-| CEF | 7258 | **21** | Chromium 139 |
-| Hunspell | 1.7.2 | 20 | 4D フォームと 4D Write Pro でスペルチェックに使用されます。 |
-| ICU | 77.1 | **21** | This upgrade forces an automatic rebuild of alphanumeric, text and object indexes. |
-| libldap | 2.6.10 | **21** | |
-| libsasl | 2.1.28 | 20 | |
-| Liblsquic | 4.2.0 | 20 R10 | QUIC に使用 |
-| Libuv | 1.51.0 | **21** | QUIC に使用 |
-| libZip | 1.11.4 | **21** | Zip クラス、4D Write Pro、svg および serverNet コンポーネントによって使用。 |
-| LZMA | 5.8.1 | **21** | |
-| ngtcp2 | 1.16.0 | **21** | QUIC に使用 |
-| OpenSSL | 3.5.2 | **21** | |
-| PDFWriter | 4.7.0 | **21** | Used for [`WP Export document`](../WritePro/commands/wp-export-document.md) and [`WP Export variable`](../WritePro/commands/wp-export-variable.md) |
-| PHP | 8.2.4 | 20 | |
-| SpreadJS | 17.1.0 | 20 R7 | 新機能の概要については、[このブログ記事](https://blog.4d.com/ja/4d-view-pro-whats-new-in-4d-20-r7/) を参照ください。 |
-| webKit | WKWebView | 19 | |
-| Xerces | 3.3.0 | **21** | Used for XML commands |
-| Zlib | 1.3.1 | **21** | |
+| ライブラリ | 現在のバージョン | 更新された 4D バージョン | 説明 |
+| --------- | -------------------------------------- | -------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------- |
+| BoringSSL | fa47b1d | **21** | QUIC に使用 |
+| CEF | 7258 | **21** | Chromium 139 |
+| Hunspell | 1.7.2 | 20 | 4D フォームと 4D Write Pro でスペルチェックに使用されます。 |
+| ICU | 77.1 | **21** | このアップグレードにより、英数字とテキスト、オブジェクトのインデックスが自動的に再構築されます。 |
+| libldap | 2.6.10 | **21** | |
+| libsasl | 2.1.28 | 20 | |
+| Liblsquic | 4.2.0 | 20 R10 | QUIC に使用 |
+| Libuv | 1.51.0 | **21** | QUIC に使用 |
+| libZip | 1.11.4 | **21** | Zip クラス、4D Write Pro、svg および serverNet コンポーネントによって使用。 |
+| LZMA | 5.8.1 | **21** | |
+| ngtcp2 | 1.16.0 | **21** | QUIC に使用 |
+| OpenSSL | 3.5.2 | **21** | |
+| PDFWriter | 4.7.0 | **21** | [`WP Export document`](../WritePro/commands/wp-export-document.md) および [`WP Export variable`](../WritePro/commands/wp-export-variable.md) において使用されます |
+| PHP | 8.2.4 | 20 | |
+| SpreadJS | 17.1.0 | 20 R7 | 新機能の概要については、[このブログ記事](https://blog.4d.com/ja/4d-view-pro-whats-new-in-4d-20-r7/) を参照ください。 |
+| webKit | WKWebView | 19 | |
+| Xerces | 3.3.0 | **21** | XML コマンドにおいて使用されます |
+| Zlib | 1.3.1 | **21** | |
diff --git a/i18n/ja/docusaurus-plugin-content-docs/current/ORDA/dsMapping.md b/i18n/ja/docusaurus-plugin-content-docs/current/ORDA/dsMapping.md
index 3bdc9f702a8db5..17c1094ad3af14 100644
--- a/i18n/ja/docusaurus-plugin-content-docs/current/ORDA/dsMapping.md
+++ b/i18n/ja/docusaurus-plugin-content-docs/current/ORDA/dsMapping.md
@@ -3,15 +3,15 @@ id: dsmapping
title: データモデルオブジェクト
---
-The ORDA technology is based upon an automatic mapping of an underlying [database structure](https://doc.4d.com/4Dv20/4D/20.2/Creating-a-database-structure.200-6750097.en.html). ORDA は、エンティティやエンティティセレクションオブジェクトを介してデータへのアクセスも提供します。 結果的に ORDA は、データモデルオブジェクト一式の形でデータベース全体を公開します。
+ORDA テクノロジーは、その下地となる[データベースストラクチャー](https://doc.4d.com/4Dv20/4D/20.2/Creating-a-database-structure.200-6750097.ja.html) の自動マッピングに基づいています。 ORDA は、エンティティやエンティティセレクションオブジェクトを介してデータへのアクセスも提供します。 結果的に ORDA は、データモデルオブジェクト一式の形でデータベース全体を公開します。
## ストラクチャーマッピング
[`ds`](commands/ds.md) および [`Open datastore`](commands/open-datastore.md) コマンドを使ってデータストアを呼び出すと、戻り値の [データストア](#データストア) オブジェクトには、対応する 4D ストラクチャーのテーブルとフィールドへの参照が属性として格納されています:
-- Tables are mapped to [dataclasses](#dataclass).
-- Fields are mapped to [storage attributes](#storage-and-relation-attributes).
-- Relations are mapped to [relation attributes](#storage-and-relation-attributes) - relation names, defined in the [Structure editor](https://doc.4d.com/4Dv20/4D/20.2/Creating-and-modifying-relations.300-6750296.en.html), are used as relation attribute names.
+- テーブルは [データクラス](#データクラス) へとマッピングされます。
+- フィールドは [ストレージ属性](#ストレージ属性とリレーション属性) へとマッピングされます。
+- リレーションは [リレーション属性](#ストレージ属性とリレーション属性) へとマッピングされます - [ストラクチャーエディター](https://doc.4d.com/4Dv20/4D/20.2/Creating-and-modifying-relations.300-6750296.ja.html)で定義されたリレーション名は、リレーション属性の名前として使用されます。

@@ -28,7 +28,7 @@ The ORDA technology is based upon an automatic mapping of an underlying [databas
> ORDA のデータストアマッピングでは、次のものは考慮されません:
>
> - テーブルあるいはフィールドの "非表示" オプション
-> - the virtual structure defined through [`SET TABLE TITLES`](../commands-legacy/set-table-titles.md) or [`SET FIELD TITLES`](../commands-legacy/set-field-titles.md),
+> - [`SET TABLE TITLES`](../commands-legacy/set-table-titles.md) あるいは [`SET FIELD TITLES`](../commands-legacy/set-field-titles.md) を通して定義されたバーチャルストラクチャー
> - リレーションの "手動" あるいは "自動" プロパティ
### リモートデータストアの利用
@@ -63,7 +63,7 @@ The ORDA technology is based upon an automatic mapping of an underlying [databas
- モデルにはデータストアを構成するすべてのデータクラスが格納され、その詳細な情報も含まれます。 これはその下地にあるデータベース自体からは独立した存在です。
- データとは、そのモデル内で使用・保存される情報を指します。 たとえば、従業員の名前、住所、生年月日などはデータストア内で扱うことができるデータに含まれます。
-A datastore object is handled through functions and properties of the [**DataStore**](../API/DataStoreClass.md) class.
+データストア型オブジェクトは、[**データストア**](../API/DataStoreClass.md) クラスの関数とプロパティを介して扱うことができます。
コード内で扱うにあたっては、データストアはオブジェクトであり、公開されているすべての [データクラス](#dataclass) をプロパティとして持ちます。
@@ -94,7 +94,7 @@ $mydatastore:=OB Copy(ds) // null を返します
データクラスとは、テーブルに相当するものです。 オブジェクトモデルとして使用され、リレーショナル属性 (データクラス間のリレーションに基づいてビルドされた属性) を含めてすべてのフィールドを属性として参照します。 リレーショナル属性はクエリにおいて通常の属性のように使用することができます。
-A dataclass object is handled through functions and properties of the [**DataClass**](../API/DataClassClass.md) class.
+データクラス型オブジェクトは、[**データクラス**](../API/DataClassClass.md) クラスの関数とプロパティを介して扱うことができます。
4D プロジェクト内のすべてのデータクラスは、`ds` データストアのプロパティとして利用可能です。 `Open datastore` コマンドまたは [REST リクエスト](REST/gettingStarted.md) によってアクセスするリモートデータストアの場合、データストアのデータクラスとして公開したい各テーブルについて 4D ストラクチャーのレベルで **RESTリソースとして公開** プロパティを設定する必要があります。
@@ -139,7 +139,7 @@ OB GET PROPERTY NAMES(ds.Employee;$prop)
$revenuesAttribute:=ds.Company["revenues"] // 別の書き方
```
-このコードは、`$nameAttribute` および `$revenuesAttribute` に、`Company` クラスの name および revenues 属性の参照をそれぞれ代入します。 This syntax does NOT return values held inside of the attribute, but instead returns references to the attributes themselves [with their **attribute properties**](../API/DataClassClass.md#attributename).
+このコードは、`$nameAttribute` および `$revenuesAttribute` に、`Company` クラスの name および revenues 属性の参照をそれぞれ代入します。 このシンタックスで返されるのは、属性内に保管されている値ではなく、[**属性のプロパティ** を含む](../API/DataClassClass.md#属性名)、属性自身の参照である点に留意してください。
値を管理するためには、[エンティティ](#エンティティ) を使用する必要があります。
テーブル内の適格なフィールドはすべて、親 [データクラス](#データクラス) の属性として利用可能です。 `Open datastore` コマンドまたは [REST リクエスト](REST/gettingStarted.md) によってアクセスするリモートデータストアの場合、データクラスの属性として公開したい各フィールドについて 4D ストラクチャーのレベルで **RESTリソースとして公開** プロパティを設定する必要があります。
@@ -183,7 +183,7 @@ OB GET PROPERTY NAMES(ds.Employee;$prop)
エンティティの目的はデータの管理 (作成、更新、削除) です。 エンティティセレクションを用いてエンティティ参照を取得した場合、その参照にはエンティティセレクションについての情報も保持されるため、セレクションを走査することが可能です。
-An entity object is handled through functions and properties of the [**Entity**](../API/EntityClass.md) class.
+エンティティ型オブジェクトは、 [**エンティティ**](../API/EntityClass.md) クラスの関数とプロパティを介して扱うことができます。
エンティティオブジェクト自身は、オブジェクトとしてコピーすることはできません:
@@ -203,7 +203,7 @@ An entity object is handled through functions and properties of the [**Entity**]
エンティティセレクションとは、同じデータクラスに所属する一つ以上のエンティティへの参照を格納しているオブジェクトのことです。 通常、クエリの結果として、あるいはリレーション属性の戻り値として作成されます。 エンティティセレクションは、データクラスから 0個、1個、あるいは X個のエンティティを格納することができます (X はデータクラスに格納されているエンティティの総数です)。
-An entity selection object is handled through functions and properties of the [**EntitySelection**](../API/EntitySelectionClass.md) class.
+エンティティセレクション型オブジェクトは [**EntitySelection**](../API/EntitySelectionClass.md) クラスの関数とプロパティを介して扱うことができます。
例:
diff --git a/i18n/ja/docusaurus-plugin-content-docs/current/ORDA/entities.md b/i18n/ja/docusaurus-plugin-content-docs/current/ORDA/entities.md
index eb60ae72c2ff5e..4d0a801dc366da 100644
--- a/i18n/ja/docusaurus-plugin-content-docs/current/ORDA/entities.md
+++ b/i18n/ja/docusaurus-plugin-content-docs/current/ORDA/entities.md
@@ -120,7 +120,7 @@ $myEntity.save() // エンティティを保存します
:::note 注記
-- Database Object fields can be [associated with classes](../Develop/field-properties.md), in which case only objects of the defined class can be assigned to the entity attribute.
+- データベースのオブジェクト型フィールドは、[クラスを割り当てる](../Develop/field-properties.md) ことができます。この場合、定義されたクラスのオブジェクトのみをエンティティ属性に割り当てることができます。
- データベースの BLOBフィールド ([スカラーBLOB](Concepts/dt_blob.md)) は、ORDAで扱われるにあたって、BLOBオブジェクト属性 ([`4D.Blob`](Concepts/dt_blob.md)) に自動変換されます。 BLOBオブジェクト属性を保存する際には、(利用可能なメモリによってのみサイズ制限される BLOBオブジェクトとは異なり) BLOBフィールドのサイズが 2GB に制限されることに注意してください。
:::
@@ -469,7 +469,7 @@ Function event restrict() -> $result : cs.*DataClassName*Selection
この関数は、データクラスのエンティティセレクションまたはエンティティが要求されるたびに呼び出されます。 フィルターは、エンティティセレクションが作成されたときに一度だけ実行されます。
-フィルターは、データクラスのエンティティセレクションを返さなければなりません。 It can be an entity selection built upon a query, stored in the [`Storage`](../API/SessionClass.md#storage), etc.
+フィルターは、データクラスのエンティティセレクションを返さなければなりません。 戻り値のエンティティセレクションには、クエリの結果や、[`Storage`](../API/SessionClass.md#storage) に格納されているものなどが使えます。
:::note
diff --git a/i18n/ja/docusaurus-plugin-content-docs/current/ORDA/glossary.md b/i18n/ja/docusaurus-plugin-content-docs/current/ORDA/glossary.md
index 9e69a338056776..ce31a26ca023c4 100644
--- a/i18n/ja/docusaurus-plugin-content-docs/current/ORDA/glossary.md
+++ b/i18n/ja/docusaurus-plugin-content-docs/current/ORDA/glossary.md
@@ -89,7 +89,7 @@ ORDA データモデルクラスの関数。
エンティティは、データクラスのインスタンスとも解釈可能なオブジェクトです。 しかしながら、エンティティはリレートされたデータも格納しています。 エンティティの目的はデータの管理 (作成、更新、削除) です。
-For more information, see [entities](entities.md).
+詳細な情報については、 [エンティティ](entities.md) を参照して下さい。
## エンティティセレクション
diff --git a/i18n/ja/docusaurus-plugin-content-docs/current/ViewPro/classes.md b/i18n/ja/docusaurus-plugin-content-docs/current/ViewPro/classes.md
index 1aecdeba006d55..3d679c193ce86d 100644
--- a/i18n/ja/docusaurus-plugin-content-docs/current/ViewPro/classes.md
+++ b/i18n/ja/docusaurus-plugin-content-docs/current/ViewPro/classes.md
@@ -151,13 +151,13 @@ title: クラス
The `.backColor` property is the [background color](configuring.md#background--foreground) of the table.
-### .forecolor
+### .foreColor
-
+
-**.forecolor** : Text
+**.foreColor** : Text
-The `.forecolor` property is the [foreground color](configuring.md#background--foreground) of the table.
+The `.foreColor` property is the [foreground color](configuring.md#background--foreground) of the table.
### .font
@@ -199,6 +199,14 @@ The `.font` property is the font name (see
`.borderBottom` プロパティは、 表の下の外枠線を定義します 。
+### .borderTop
+
+
+
+**.borderTop** : [cs.ViewPro.LineBorder](#lineborder)
+
+The `.borderTop` property is the top border line of the table .
+
### .borderHorizontal
diff --git a/i18n/ja/docusaurus-plugin-content-docs/current/ViewPro/getting-started.md b/i18n/ja/docusaurus-plugin-content-docs/current/ViewPro/getting-started.md
index b68bcfc3a991bc..c229052608bda4 100644
--- a/i18n/ja/docusaurus-plugin-content-docs/current/ViewPro/getting-started.md
+++ b/i18n/ja/docusaurus-plugin-content-docs/current/ViewPro/getting-started.md
@@ -10,6 +10,12 @@ title: はじめに
スプレッドシートとは、セルのグリッドを格納したアプリケーションのことで、これらのセルに情報を入力したり、計算を実行させたり、あるいはピクチャーを表示したりすることができます。 4D View Proは、4Dに統合された [SpreadJS スプレッドシートソリューション](https://developer.mescius.com/spreadjs) に基づいて動作します。
(4D View Pro のツールバー等のインターフェースは SpreadJS 提供のものです。インターフェース上で "テーブル" という用語が使用されますが、4D でテーブルといえばデータベーステーブルを指すため、当マニュアルではこれを便宜上 "表組み" あるいは "表" と呼んで区別します)
+:::note
+
+Go to the [Library table](../Notes/updates.md#library-table) to know the SpreadJS version integrated in your 4D release.
+
+:::
+
フォームに 4D View Pro エリアを埋め込むことで、4D View Pro コマンドを使ってスプレッドシートドキュメントを読み込んだり書き出したりすることができます。
## インストールとアクティベーション
diff --git a/i18n/ja/docusaurus-plugin-content-docs/current/commands/license-info.md b/i18n/ja/docusaurus-plugin-content-docs/current/commands/license-info.md
index 4614125fb186e7..0f164098da6858 100644
--- a/i18n/ja/docusaurus-plugin-content-docs/current/commands/license-info.md
+++ b/i18n/ja/docusaurus-plugin-content-docs/current/commands/license-info.md
@@ -22,7 +22,7 @@ displayed_sidebar: docs
:::note
-This command reloads the license files from the disk and updates the associated rights if they have been modified.
+このコマンドはライセンスファイルをディスクからリロードし、それらが変更されていた場合には、関連する権限を更新します。
:::
diff --git a/i18n/ja/docusaurus-plugin-content-docs/version-19/Concepts/parameters.md b/i18n/ja/docusaurus-plugin-content-docs/version-19/Concepts/parameters.md
index 3a390de71d2c2d..8a5ead63b78a3f 100644
--- a/i18n/ja/docusaurus-plugin-content-docs/version-19/Concepts/parameters.md
+++ b/i18n/ja/docusaurus-plugin-content-docs/version-19/Concepts/parameters.md
@@ -6,7 +6,7 @@ title: 引数
メソッドや関数にデータを渡す必要がしばしば発生します。 これは引数によって容易にできます。
-## 概要
+## 引数の受け渡し
**引数** (または **パラメーター**) とは、メソッドや関数が処理に必要とするデータのことです。 *引数* と *パラメーター* は厳密には違うものですが、このマニュアルでは同義語として使用されています。 引数は、ビルトインの 4Dコマンドにも渡されます。 以下の例は、“Hello” という文字列を引数としてビルトインの `ALERT` コマンドへ渡します:
@@ -118,6 +118,12 @@ $entitySelection:=ds.User.query("login=:1"; $user)
// ハッシュパスワードを確認...
```
+:::note
+
+Do not confuse **parameter declarations** with [**variable declarations**](variables.md#declaring-variables). Using the `var` keyword with parameters will generate errors.
+
+:::
+
### 戻り値
関数の戻り値は、入力パラメーターリストに矢印 (->) を追加し、それに続けて宣言します。 例:
diff --git a/i18n/ja/docusaurus-plugin-content-docs/version-20-R10/Concepts/parameters.md b/i18n/ja/docusaurus-plugin-content-docs/version-20-R10/Concepts/parameters.md
index a9acfddec12d2b..8572a4e57d86cb 100644
--- a/i18n/ja/docusaurus-plugin-content-docs/version-20-R10/Concepts/parameters.md
+++ b/i18n/ja/docusaurus-plugin-content-docs/version-20-R10/Concepts/parameters.md
@@ -5,7 +5,7 @@ title: 引数
メソッドや関数にデータを渡す必要がしばしば発生します。 これは引数によって容易にできます。
-## 概要
+## 引数の受け渡し
**引数** (または **パラメーター**) とは、メソッドや関数が処理に必要とするデータのことです。 *引数* と *パラメーター* は厳密には違うものですが、このマニュアルでは同義語として使用されています。 引数は、ビルトインの 4Dコマンドにも渡されます。 以下の例は、“Hello” という文字列を引数としてビルトインの `ALERT` コマンドへ渡します:
@@ -53,11 +53,17 @@ MyLength:=Length("How did I get here?")
## パラメーターの宣言
-呼び出されたメソッドやクラス関数において、引数の値はローカル変数に代入されます。 引数は **パラメーター名** とその **データ型** をコロン (:) で区切って宣言します。
+Inside called methods or class functions, you declare parameters using a **parameter name** along with a **parameter type**, separated by colon.
- クラス関数の場合、引数は関数のプロトタイプとともに宣言されます。つまり、`Function` あるいは `Class constructor` キーワードを使用して宣言されます。
- メソッドの場合 (プロジェクトメソッド、フォームオブジェクトメソッド、データベースメソッド、トリガー)、引数はメソッドコード先頭の **`#DECLARE`** キーワードを使って宣言されます。
+:::info 互換性
+
+引数が連番のローカル変数 ($0、$1 など) に自動的にコピーされ、`C_TEXT($1;$2)` のようなコンパイラー指示子を使って宣言される従来のシンタックスは、4D 20 R7 より **非推奨** となりました。
+
+:::
+
例:
```4d
@@ -104,6 +110,12 @@ $entitySelection:=ds.User.query("login=:1"; $user)
// ハッシュパスワードを確認...
```
+:::note
+
+Do not confuse **parameter declarations** with [**variable declarations**](variables.md#declaring-variables). Using the `var` keyword with parameters will generate errors.
+
+:::
+
### 戻り値
関数の戻り値は、入力パラメーターリストに矢印 (->) を追加し、それに続けて宣言します。 例:
diff --git a/i18n/ja/docusaurus-plugin-content-docs/version-20-R10/ORDA/dsMapping.md b/i18n/ja/docusaurus-plugin-content-docs/version-20-R10/ORDA/dsMapping.md
index 3bdc9f702a8db5..17c1094ad3af14 100644
--- a/i18n/ja/docusaurus-plugin-content-docs/version-20-R10/ORDA/dsMapping.md
+++ b/i18n/ja/docusaurus-plugin-content-docs/version-20-R10/ORDA/dsMapping.md
@@ -3,15 +3,15 @@ id: dsmapping
title: データモデルオブジェクト
---
-The ORDA technology is based upon an automatic mapping of an underlying [database structure](https://doc.4d.com/4Dv20/4D/20.2/Creating-a-database-structure.200-6750097.en.html). ORDA は、エンティティやエンティティセレクションオブジェクトを介してデータへのアクセスも提供します。 結果的に ORDA は、データモデルオブジェクト一式の形でデータベース全体を公開します。
+ORDA テクノロジーは、その下地となる[データベースストラクチャー](https://doc.4d.com/4Dv20/4D/20.2/Creating-a-database-structure.200-6750097.ja.html) の自動マッピングに基づいています。 ORDA は、エンティティやエンティティセレクションオブジェクトを介してデータへのアクセスも提供します。 結果的に ORDA は、データモデルオブジェクト一式の形でデータベース全体を公開します。
## ストラクチャーマッピング
[`ds`](commands/ds.md) および [`Open datastore`](commands/open-datastore.md) コマンドを使ってデータストアを呼び出すと、戻り値の [データストア](#データストア) オブジェクトには、対応する 4D ストラクチャーのテーブルとフィールドへの参照が属性として格納されています:
-- Tables are mapped to [dataclasses](#dataclass).
-- Fields are mapped to [storage attributes](#storage-and-relation-attributes).
-- Relations are mapped to [relation attributes](#storage-and-relation-attributes) - relation names, defined in the [Structure editor](https://doc.4d.com/4Dv20/4D/20.2/Creating-and-modifying-relations.300-6750296.en.html), are used as relation attribute names.
+- テーブルは [データクラス](#データクラス) へとマッピングされます。
+- フィールドは [ストレージ属性](#ストレージ属性とリレーション属性) へとマッピングされます。
+- リレーションは [リレーション属性](#ストレージ属性とリレーション属性) へとマッピングされます - [ストラクチャーエディター](https://doc.4d.com/4Dv20/4D/20.2/Creating-and-modifying-relations.300-6750296.ja.html)で定義されたリレーション名は、リレーション属性の名前として使用されます。

@@ -28,7 +28,7 @@ The ORDA technology is based upon an automatic mapping of an underlying [databas
> ORDA のデータストアマッピングでは、次のものは考慮されません:
>
> - テーブルあるいはフィールドの "非表示" オプション
-> - the virtual structure defined through [`SET TABLE TITLES`](../commands-legacy/set-table-titles.md) or [`SET FIELD TITLES`](../commands-legacy/set-field-titles.md),
+> - [`SET TABLE TITLES`](../commands-legacy/set-table-titles.md) あるいは [`SET FIELD TITLES`](../commands-legacy/set-field-titles.md) を通して定義されたバーチャルストラクチャー
> - リレーションの "手動" あるいは "自動" プロパティ
### リモートデータストアの利用
@@ -63,7 +63,7 @@ The ORDA technology is based upon an automatic mapping of an underlying [databas
- モデルにはデータストアを構成するすべてのデータクラスが格納され、その詳細な情報も含まれます。 これはその下地にあるデータベース自体からは独立した存在です。
- データとは、そのモデル内で使用・保存される情報を指します。 たとえば、従業員の名前、住所、生年月日などはデータストア内で扱うことができるデータに含まれます。
-A datastore object is handled through functions and properties of the [**DataStore**](../API/DataStoreClass.md) class.
+データストア型オブジェクトは、[**データストア**](../API/DataStoreClass.md) クラスの関数とプロパティを介して扱うことができます。
コード内で扱うにあたっては、データストアはオブジェクトであり、公開されているすべての [データクラス](#dataclass) をプロパティとして持ちます。
@@ -94,7 +94,7 @@ $mydatastore:=OB Copy(ds) // null を返します
データクラスとは、テーブルに相当するものです。 オブジェクトモデルとして使用され、リレーショナル属性 (データクラス間のリレーションに基づいてビルドされた属性) を含めてすべてのフィールドを属性として参照します。 リレーショナル属性はクエリにおいて通常の属性のように使用することができます。
-A dataclass object is handled through functions and properties of the [**DataClass**](../API/DataClassClass.md) class.
+データクラス型オブジェクトは、[**データクラス**](../API/DataClassClass.md) クラスの関数とプロパティを介して扱うことができます。
4D プロジェクト内のすべてのデータクラスは、`ds` データストアのプロパティとして利用可能です。 `Open datastore` コマンドまたは [REST リクエスト](REST/gettingStarted.md) によってアクセスするリモートデータストアの場合、データストアのデータクラスとして公開したい各テーブルについて 4D ストラクチャーのレベルで **RESTリソースとして公開** プロパティを設定する必要があります。
@@ -139,7 +139,7 @@ OB GET PROPERTY NAMES(ds.Employee;$prop)
$revenuesAttribute:=ds.Company["revenues"] // 別の書き方
```
-このコードは、`$nameAttribute` および `$revenuesAttribute` に、`Company` クラスの name および revenues 属性の参照をそれぞれ代入します。 This syntax does NOT return values held inside of the attribute, but instead returns references to the attributes themselves [with their **attribute properties**](../API/DataClassClass.md#attributename).
+このコードは、`$nameAttribute` および `$revenuesAttribute` に、`Company` クラスの name および revenues 属性の参照をそれぞれ代入します。 このシンタックスで返されるのは、属性内に保管されている値ではなく、[**属性のプロパティ** を含む](../API/DataClassClass.md#属性名)、属性自身の参照である点に留意してください。
値を管理するためには、[エンティティ](#エンティティ) を使用する必要があります。
テーブル内の適格なフィールドはすべて、親 [データクラス](#データクラス) の属性として利用可能です。 `Open datastore` コマンドまたは [REST リクエスト](REST/gettingStarted.md) によってアクセスするリモートデータストアの場合、データクラスの属性として公開したい各フィールドについて 4D ストラクチャーのレベルで **RESTリソースとして公開** プロパティを設定する必要があります。
@@ -183,7 +183,7 @@ OB GET PROPERTY NAMES(ds.Employee;$prop)
エンティティの目的はデータの管理 (作成、更新、削除) です。 エンティティセレクションを用いてエンティティ参照を取得した場合、その参照にはエンティティセレクションについての情報も保持されるため、セレクションを走査することが可能です。
-An entity object is handled through functions and properties of the [**Entity**](../API/EntityClass.md) class.
+エンティティ型オブジェクトは、 [**エンティティ**](../API/EntityClass.md) クラスの関数とプロパティを介して扱うことができます。
エンティティオブジェクト自身は、オブジェクトとしてコピーすることはできません:
@@ -203,7 +203,7 @@ An entity object is handled through functions and properties of the [**Entity**]
エンティティセレクションとは、同じデータクラスに所属する一つ以上のエンティティへの参照を格納しているオブジェクトのことです。 通常、クエリの結果として、あるいはリレーション属性の戻り値として作成されます。 エンティティセレクションは、データクラスから 0個、1個、あるいは X個のエンティティを格納することができます (X はデータクラスに格納されているエンティティの総数です)。
-An entity selection object is handled through functions and properties of the [**EntitySelection**](../API/EntitySelectionClass.md) class.
+エンティティセレクション型オブジェクトは [**EntitySelection**](../API/EntitySelectionClass.md) クラスの関数とプロパティを介して扱うことができます。
例:
diff --git a/i18n/ja/docusaurus-plugin-content-docs/version-20-R10/ORDA/entities.md b/i18n/ja/docusaurus-plugin-content-docs/version-20-R10/ORDA/entities.md
index eb60ae72c2ff5e..4d0a801dc366da 100644
--- a/i18n/ja/docusaurus-plugin-content-docs/version-20-R10/ORDA/entities.md
+++ b/i18n/ja/docusaurus-plugin-content-docs/version-20-R10/ORDA/entities.md
@@ -120,7 +120,7 @@ $myEntity.save() // エンティティを保存します
:::note 注記
-- Database Object fields can be [associated with classes](../Develop/field-properties.md), in which case only objects of the defined class can be assigned to the entity attribute.
+- データベースのオブジェクト型フィールドは、[クラスを割り当てる](../Develop/field-properties.md) ことができます。この場合、定義されたクラスのオブジェクトのみをエンティティ属性に割り当てることができます。
- データベースの BLOBフィールド ([スカラーBLOB](Concepts/dt_blob.md)) は、ORDAで扱われるにあたって、BLOBオブジェクト属性 ([`4D.Blob`](Concepts/dt_blob.md)) に自動変換されます。 BLOBオブジェクト属性を保存する際には、(利用可能なメモリによってのみサイズ制限される BLOBオブジェクトとは異なり) BLOBフィールドのサイズが 2GB に制限されることに注意してください。
:::
@@ -469,7 +469,7 @@ Function event restrict() -> $result : cs.*DataClassName*Selection
この関数は、データクラスのエンティティセレクションまたはエンティティが要求されるたびに呼び出されます。 フィルターは、エンティティセレクションが作成されたときに一度だけ実行されます。
-フィルターは、データクラスのエンティティセレクションを返さなければなりません。 It can be an entity selection built upon a query, stored in the [`Storage`](../API/SessionClass.md#storage), etc.
+フィルターは、データクラスのエンティティセレクションを返さなければなりません。 戻り値のエンティティセレクションには、クエリの結果や、[`Storage`](../API/SessionClass.md#storage) に格納されているものなどが使えます。
:::note
diff --git a/i18n/ja/docusaurus-plugin-content-docs/version-20-R10/ORDA/glossary.md b/i18n/ja/docusaurus-plugin-content-docs/version-20-R10/ORDA/glossary.md
index 9e69a338056776..ce31a26ca023c4 100644
--- a/i18n/ja/docusaurus-plugin-content-docs/version-20-R10/ORDA/glossary.md
+++ b/i18n/ja/docusaurus-plugin-content-docs/version-20-R10/ORDA/glossary.md
@@ -89,7 +89,7 @@ ORDA データモデルクラスの関数。
エンティティは、データクラスのインスタンスとも解釈可能なオブジェクトです。 しかしながら、エンティティはリレートされたデータも格納しています。 エンティティの目的はデータの管理 (作成、更新、削除) です。
-For more information, see [entities](entities.md).
+詳細な情報については、 [エンティティ](entities.md) を参照して下さい。
## エンティティセレクション
diff --git a/i18n/ja/docusaurus-plugin-content-docs/version-20-R10/ViewPro/classes.md b/i18n/ja/docusaurus-plugin-content-docs/version-20-R10/ViewPro/classes.md
index 1aecdeba006d55..3d679c193ce86d 100644
--- a/i18n/ja/docusaurus-plugin-content-docs/version-20-R10/ViewPro/classes.md
+++ b/i18n/ja/docusaurus-plugin-content-docs/version-20-R10/ViewPro/classes.md
@@ -151,13 +151,13 @@ title: クラス
The `.backColor` property is the [background color](configuring.md#background--foreground) of the table.
-### .forecolor
+### .foreColor
-
+
-**.forecolor** : Text
+**.foreColor** : Text
-The `.forecolor` property is the [foreground color](configuring.md#background--foreground) of the table.
+The `.foreColor` property is the [foreground color](configuring.md#background--foreground) of the table.
### .font
@@ -199,6 +199,14 @@ The `.font` property is the font name (see
`.borderBottom` プロパティは、 表の下の外枠線を定義します 。
+### .borderTop
+
+
+
+**.borderTop** : [cs.ViewPro.LineBorder](#lineborder)
+
+The `.borderTop` property is the top border line of the table .
+
### .borderHorizontal
diff --git a/i18n/ja/docusaurus-plugin-content-docs/version-20-R10/ViewPro/getting-started.md b/i18n/ja/docusaurus-plugin-content-docs/version-20-R10/ViewPro/getting-started.md
index d7df59f12047f0..6e08d96648ff1c 100644
--- a/i18n/ja/docusaurus-plugin-content-docs/version-20-R10/ViewPro/getting-started.md
+++ b/i18n/ja/docusaurus-plugin-content-docs/version-20-R10/ViewPro/getting-started.md
@@ -10,6 +10,12 @@ title: はじめに
スプレッドシートとは、セルのグリッドを格納したアプリケーションのことで、これらのセルに情報を入力したり、計算を実行させたり、あるいはピクチャーを表示したりすることができます。 4D View Proは、4Dに統合された [SpreadJS スプレッドシートソリューション](https://developer.mescius.com/spreadjs) に基づいて動作します。
(4D View Pro のツールバー等のインターフェースは SpreadJS 提供のものです。インターフェース上で "テーブル" という用語が使用されますが、4D でテーブルといえばデータベーステーブルを指すため、当マニュアルではこれを便宜上 "表組み" あるいは "表" と呼んで区別します)
+:::note
+
+Go to the [Library table](../Notes/updates.md#library-table) to know the SpreadJS version integrated in your 4D release.
+
+:::
+
フォームに 4D View Pro エリアを埋め込むことで、4D View Pro コマンドを使ってスプレッドシートドキュメントを読み込んだり書き出したりすることができます。
## インストールとアクティベーション
diff --git a/i18n/ja/docusaurus-plugin-content-docs/version-20-R10/commands/license-info.md b/i18n/ja/docusaurus-plugin-content-docs/version-20-R10/commands/license-info.md
index dcb332009dd594..d97f6136e3f2aa 100644
--- a/i18n/ja/docusaurus-plugin-content-docs/version-20-R10/commands/license-info.md
+++ b/i18n/ja/docusaurus-plugin-content-docs/version-20-R10/commands/license-info.md
@@ -22,7 +22,7 @@ displayed_sidebar: docs
:::note
-This command reloads the license files from the disk and updates the associated rights if they have been modified.
+このコマンドはライセンスファイルをディスクからリロードし、それらが変更されていた場合には、関連する権限を更新します。
:::
The returned object contains the following properties:
diff --git a/i18n/ja/docusaurus-plugin-content-docs/version-20/Concepts/parameters.md b/i18n/ja/docusaurus-plugin-content-docs/version-20/Concepts/parameters.md
index 81c51bfa8fbed9..d6b8609dd1cd3e 100644
--- a/i18n/ja/docusaurus-plugin-content-docs/version-20/Concepts/parameters.md
+++ b/i18n/ja/docusaurus-plugin-content-docs/version-20/Concepts/parameters.md
@@ -6,7 +6,7 @@ title: 引数
メソッドや関数にデータを渡す必要がしばしば発生します。 これは引数によって容易にできます。
-## 概要
+## 引数の受け渡し
**引数** (または **パラメーター**) とは、メソッドや関数が処理に必要とするデータのことです。 *引数* と *パラメーター* は厳密には違うものですが、このマニュアルでは同義語として使用されています。 引数は、ビルトインの 4Dコマンドにも渡されます。 以下の例は、“Hello” という文字列を引数としてビルトインの `ALERT` コマンドへ渡します:
@@ -108,6 +108,12 @@ $entitySelection:=ds.User.query("login=:1"; $user)
// ハッシュパスワードを確認...
```
+:::note
+
+Do not confuse **parameter declarations** with [**variable declarations**](variables.md#declaring-variables). Using the `var` keyword with parameters will generate errors.
+
+:::
+
### 戻り値
関数の戻り値は、入力パラメーターリストに矢印 (->) を追加し、それに続けて宣言します。 例:
diff --git a/i18n/ja/docusaurus-plugin-content-docs/version-20/ViewPro/classes.md b/i18n/ja/docusaurus-plugin-content-docs/version-20/ViewPro/classes.md
index 2e745bd99bd02f..4ef05748d3500b 100644
--- a/i18n/ja/docusaurus-plugin-content-docs/version-20/ViewPro/classes.md
+++ b/i18n/ja/docusaurus-plugin-content-docs/version-20/ViewPro/classes.md
@@ -129,7 +129,7 @@ title: クラス
`.theme` プロパティは、 表のテーマを定義します (SpreadJS のネイティブテーマ名のテキスト値も可)。
-[ネイティブSpreadJSテーマ](https://www.grapecity.com/spreadjs/api/classes/GC.Spread.Sheets.Tables.TableThemes) を参照ください。
+See the [native SpreadJS themes](https://developer.mescius.com/spreadjs/api/classes/GC.Spread.Sheets.Tables.TableThemes).
### .useFooterDropDownList
@@ -151,12 +151,12 @@ title: クラス
`.backColor` プロパティは、 表の[背景色](configuring.md#background--foreground)を定義します。。
-### .forecolor
+### .foreColor
-
-**.forecolor** : Text
+
+**.foreColor** : Text
-`.forecolor` プロパティは、 表の[前景色](configuring.md#background--foreground)を定義します。。
+The `.foreColor` property is the 表の[前景色](configuring.md#background--foreground)を定義します。。
@@ -201,6 +201,12 @@ title: クラス
`.borderBottom` プロパティは、 表の下の外枠線を定義します 。
+### .borderTop
+
+
+**.borderTop** : [cs.ViewPro.LineBorder](#lineborder)
+
+The `.borderTop` property is the top border line of the table 。
### .borderHorizontal
@@ -260,7 +266,7 @@ title: クラス
**.theme** : [cs.ViewPro.TableThemeOptions](#tablethemeoptions)
**.theme** : Text
-`.theme` プロパティは、 表のテーマを定義します。 テキスト値の場合は、[ネイティブSpreadJSテーマ](https://www.grapecity.com/spreadjs/api/classes/GC.Spread.Sheets.Tables.TableThemes) の名前を使用します。
+`.theme` プロパティは、 表のテーマを定義します。 If Text: name of a [native SpreadJS theme](https://developer.mescius.com/spreadjs/api/classes/GC.Spread.Sheets.Tables.TableThemes).
@@ -356,7 +362,7 @@ title: クラス
**.name** : Text
-`.name` プロパティは、 [ネイティブSpreadJSテーマの名前](https://www.grapecity.com/spreadjs/api/classes/GC.Spread.Sheets.Tables.TableThemes) を指定します。
+`.name` プロパティは、 name of a [native SpreadJS theme](https://developer.mescius.com/spreadjs/api/classes/GC.Spread.Sheets.Tables.TableThemes)。
### .secondColumnStripSize
diff --git a/i18n/ja/docusaurus-plugin-content-docs/version-20/ViewPro/getting-started.md b/i18n/ja/docusaurus-plugin-content-docs/version-20/ViewPro/getting-started.md
index d8e68f672b1d69..a05c73b8cdc45f 100644
--- a/i18n/ja/docusaurus-plugin-content-docs/version-20/ViewPro/getting-started.md
+++ b/i18n/ja/docusaurus-plugin-content-docs/version-20/ViewPro/getting-started.md
@@ -11,6 +11,12 @@ title: はじめに
スプレッドシートとは、セルのグリッドを格納したアプリケーションのことで、これらのセルに情報を入力したり、計算を実行させたり、あるいはピクチャーを表示したりすることができます。 4D View Proは、4Dに統合された [SpreadJS スプレッドシートソリューション](https://www.grapecity.com/spreadjs/docs/versions/v14/online/overview.html) に基づいて動作します。
(4D View Pro のツールバー等のインターフェースは SpreadJS 提供のものです。インターフェース上で "テーブル" という用語が使用されますが、4D でテーブルといえばデータベーステーブルを指すため、当マニュアルではこれを便宜上 "表組み" あるいは "表" と呼んで区別します)
+:::note
+
+Go to the [Library table](../Notes/updates.md#library-table) to know the SpreadJS version integrated in your 4D release.
+
+:::
+
フォームに 4D View Pro エリアを埋め込むことで、4D View Pro コマンドを使ってスプレッドシートドキュメントを読み込んだり書き出したりすることができます。
diff --git a/i18n/ja/docusaurus-plugin-content-docs/version-21/Concepts/parameters.md b/i18n/ja/docusaurus-plugin-content-docs/version-21/Concepts/parameters.md
index a9acfddec12d2b..8572a4e57d86cb 100644
--- a/i18n/ja/docusaurus-plugin-content-docs/version-21/Concepts/parameters.md
+++ b/i18n/ja/docusaurus-plugin-content-docs/version-21/Concepts/parameters.md
@@ -5,7 +5,7 @@ title: 引数
メソッドや関数にデータを渡す必要がしばしば発生します。 これは引数によって容易にできます。
-## 概要
+## 引数の受け渡し
**引数** (または **パラメーター**) とは、メソッドや関数が処理に必要とするデータのことです。 *引数* と *パラメーター* は厳密には違うものですが、このマニュアルでは同義語として使用されています。 引数は、ビルトインの 4Dコマンドにも渡されます。 以下の例は、“Hello” という文字列を引数としてビルトインの `ALERT` コマンドへ渡します:
@@ -53,11 +53,17 @@ MyLength:=Length("How did I get here?")
## パラメーターの宣言
-呼び出されたメソッドやクラス関数において、引数の値はローカル変数に代入されます。 引数は **パラメーター名** とその **データ型** をコロン (:) で区切って宣言します。
+Inside called methods or class functions, you declare parameters using a **parameter name** along with a **parameter type**, separated by colon.
- クラス関数の場合、引数は関数のプロトタイプとともに宣言されます。つまり、`Function` あるいは `Class constructor` キーワードを使用して宣言されます。
- メソッドの場合 (プロジェクトメソッド、フォームオブジェクトメソッド、データベースメソッド、トリガー)、引数はメソッドコード先頭の **`#DECLARE`** キーワードを使って宣言されます。
+:::info 互換性
+
+引数が連番のローカル変数 ($0、$1 など) に自動的にコピーされ、`C_TEXT($1;$2)` のようなコンパイラー指示子を使って宣言される従来のシンタックスは、4D 20 R7 より **非推奨** となりました。
+
+:::
+
例:
```4d
@@ -104,6 +110,12 @@ $entitySelection:=ds.User.query("login=:1"; $user)
// ハッシュパスワードを確認...
```
+:::note
+
+Do not confuse **parameter declarations** with [**variable declarations**](variables.md#declaring-variables). Using the `var` keyword with parameters will generate errors.
+
+:::
+
### 戻り値
関数の戻り値は、入力パラメーターリストに矢印 (->) を追加し、それに続けて宣言します。 例:
diff --git a/i18n/ja/docusaurus-plugin-content-docs/version-21/Notes/updates.md b/i18n/ja/docusaurus-plugin-content-docs/version-21/Notes/updates.md
index 870bffddeb4e47..dab2be14dac5fd 100644
--- a/i18n/ja/docusaurus-plugin-content-docs/version-21/Notes/updates.md
+++ b/i18n/ja/docusaurus-plugin-content-docs/version-21/Notes/updates.md
@@ -291,23 +291,23 @@ title: リリースノート
## ライブラリの一覧 (4D 21 LTS)
-| ライブラリ | 現在のバージョン | 更新された 4D バージョン | 説明 |
-| --------- | -------------------------------------- | -------------- | -------------------------------------------------------------------------------------------------------------------------------------------------- |
-| BoringSSL | fa47b1d | **21** | QUIC に使用 |
-| CEF | 7258 | **21** | Chromium 139 |
-| Hunspell | 1.7.2 | 20 | 4D フォームと 4D Write Pro でスペルチェックに使用されます。 |
-| ICU | 77.1 | **21** | This upgrade forces an automatic rebuild of alphanumeric, text and object indexes. |
-| libldap | 2.6.10 | **21** | |
-| libsasl | 2.1.28 | 20 | |
-| Liblsquic | 4.2.0 | 20 R10 | QUIC に使用 |
-| Libuv | 1.51.0 | **21** | QUIC に使用 |
-| libZip | 1.11.4 | **21** | Zip クラス、4D Write Pro、svg および serverNet コンポーネントによって使用。 |
-| LZMA | 5.8.1 | **21** | |
-| ngtcp2 | 1.16.0 | **21** | QUIC に使用 |
-| OpenSSL | 3.5.2 | **21** | |
-| PDFWriter | 4.7.0 | **21** | Used for [`WP Export document`](../WritePro/commands/wp-export-document.md) and [`WP Export variable`](../WritePro/commands/wp-export-variable.md) |
-| PHP | 8.2.4 | 20 | |
-| SpreadJS | 17.1.0 | 20 R7 | 新機能の概要については、[このブログ記事](https://blog.4d.com/ja/4d-view-pro-whats-new-in-4d-20-r7/) を参照ください。 |
-| webKit | WKWebView | 19 | |
-| Xerces | 3.3.0 | **21** | Used for XML commands |
-| Zlib | 1.3.1 | **21** | |
+| ライブラリ | 現在のバージョン | 更新された 4D バージョン | 説明 |
+| --------- | -------------------------------------- | -------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------- |
+| BoringSSL | fa47b1d | **21** | QUIC に使用 |
+| CEF | 7258 | **21** | Chromium 139 |
+| Hunspell | 1.7.2 | 20 | 4D フォームと 4D Write Pro でスペルチェックに使用されます。 |
+| ICU | 77.1 | **21** | このアップグレードにより、英数字とテキスト、オブジェクトのインデックスが自動的に再構築されます。 |
+| libldap | 2.6.10 | **21** | |
+| libsasl | 2.1.28 | 20 | |
+| Liblsquic | 4.2.0 | 20 R10 | QUIC に使用 |
+| Libuv | 1.51.0 | **21** | QUIC に使用 |
+| libZip | 1.11.4 | **21** | Zip クラス、4D Write Pro、svg および serverNet コンポーネントによって使用。 |
+| LZMA | 5.8.1 | **21** | |
+| ngtcp2 | 1.16.0 | **21** | QUIC に使用 |
+| OpenSSL | 3.5.2 | **21** | |
+| PDFWriter | 4.7.0 | **21** | [`WP Export document`](../WritePro/commands/wp-export-document.md) および [`WP Export variable`](../WritePro/commands/wp-export-variable.md) において使用されます |
+| PHP | 8.2.4 | 20 | |
+| SpreadJS | 17.1.0 | 20 R7 | 新機能の概要については、[このブログ記事](https://blog.4d.com/ja/4d-view-pro-whats-new-in-4d-20-r7/) を参照ください。 |
+| webKit | WKWebView | 19 | |
+| Xerces | 3.3.0 | **21** | XML コマンドにおいて使用されます |
+| Zlib | 1.3.1 | **21** | |
diff --git a/i18n/ja/docusaurus-plugin-content-docs/version-21/ORDA/dsMapping.md b/i18n/ja/docusaurus-plugin-content-docs/version-21/ORDA/dsMapping.md
index 3bdc9f702a8db5..17c1094ad3af14 100644
--- a/i18n/ja/docusaurus-plugin-content-docs/version-21/ORDA/dsMapping.md
+++ b/i18n/ja/docusaurus-plugin-content-docs/version-21/ORDA/dsMapping.md
@@ -3,15 +3,15 @@ id: dsmapping
title: データモデルオブジェクト
---
-The ORDA technology is based upon an automatic mapping of an underlying [database structure](https://doc.4d.com/4Dv20/4D/20.2/Creating-a-database-structure.200-6750097.en.html). ORDA は、エンティティやエンティティセレクションオブジェクトを介してデータへのアクセスも提供します。 結果的に ORDA は、データモデルオブジェクト一式の形でデータベース全体を公開します。
+ORDA テクノロジーは、その下地となる[データベースストラクチャー](https://doc.4d.com/4Dv20/4D/20.2/Creating-a-database-structure.200-6750097.ja.html) の自動マッピングに基づいています。 ORDA は、エンティティやエンティティセレクションオブジェクトを介してデータへのアクセスも提供します。 結果的に ORDA は、データモデルオブジェクト一式の形でデータベース全体を公開します。
## ストラクチャーマッピング
[`ds`](commands/ds.md) および [`Open datastore`](commands/open-datastore.md) コマンドを使ってデータストアを呼び出すと、戻り値の [データストア](#データストア) オブジェクトには、対応する 4D ストラクチャーのテーブルとフィールドへの参照が属性として格納されています:
-- Tables are mapped to [dataclasses](#dataclass).
-- Fields are mapped to [storage attributes](#storage-and-relation-attributes).
-- Relations are mapped to [relation attributes](#storage-and-relation-attributes) - relation names, defined in the [Structure editor](https://doc.4d.com/4Dv20/4D/20.2/Creating-and-modifying-relations.300-6750296.en.html), are used as relation attribute names.
+- テーブルは [データクラス](#データクラス) へとマッピングされます。
+- フィールドは [ストレージ属性](#ストレージ属性とリレーション属性) へとマッピングされます。
+- リレーションは [リレーション属性](#ストレージ属性とリレーション属性) へとマッピングされます - [ストラクチャーエディター](https://doc.4d.com/4Dv20/4D/20.2/Creating-and-modifying-relations.300-6750296.ja.html)で定義されたリレーション名は、リレーション属性の名前として使用されます。

@@ -28,7 +28,7 @@ The ORDA technology is based upon an automatic mapping of an underlying [databas
> ORDA のデータストアマッピングでは、次のものは考慮されません:
>
> - テーブルあるいはフィールドの "非表示" オプション
-> - the virtual structure defined through [`SET TABLE TITLES`](../commands-legacy/set-table-titles.md) or [`SET FIELD TITLES`](../commands-legacy/set-field-titles.md),
+> - [`SET TABLE TITLES`](../commands-legacy/set-table-titles.md) あるいは [`SET FIELD TITLES`](../commands-legacy/set-field-titles.md) を通して定義されたバーチャルストラクチャー
> - リレーションの "手動" あるいは "自動" プロパティ
### リモートデータストアの利用
@@ -63,7 +63,7 @@ The ORDA technology is based upon an automatic mapping of an underlying [databas
- モデルにはデータストアを構成するすべてのデータクラスが格納され、その詳細な情報も含まれます。 これはその下地にあるデータベース自体からは独立した存在です。
- データとは、そのモデル内で使用・保存される情報を指します。 たとえば、従業員の名前、住所、生年月日などはデータストア内で扱うことができるデータに含まれます。
-A datastore object is handled through functions and properties of the [**DataStore**](../API/DataStoreClass.md) class.
+データストア型オブジェクトは、[**データストア**](../API/DataStoreClass.md) クラスの関数とプロパティを介して扱うことができます。
コード内で扱うにあたっては、データストアはオブジェクトであり、公開されているすべての [データクラス](#dataclass) をプロパティとして持ちます。
@@ -94,7 +94,7 @@ $mydatastore:=OB Copy(ds) // null を返します
データクラスとは、テーブルに相当するものです。 オブジェクトモデルとして使用され、リレーショナル属性 (データクラス間のリレーションに基づいてビルドされた属性) を含めてすべてのフィールドを属性として参照します。 リレーショナル属性はクエリにおいて通常の属性のように使用することができます。
-A dataclass object is handled through functions and properties of the [**DataClass**](../API/DataClassClass.md) class.
+データクラス型オブジェクトは、[**データクラス**](../API/DataClassClass.md) クラスの関数とプロパティを介して扱うことができます。
4D プロジェクト内のすべてのデータクラスは、`ds` データストアのプロパティとして利用可能です。 `Open datastore` コマンドまたは [REST リクエスト](REST/gettingStarted.md) によってアクセスするリモートデータストアの場合、データストアのデータクラスとして公開したい各テーブルについて 4D ストラクチャーのレベルで **RESTリソースとして公開** プロパティを設定する必要があります。
@@ -139,7 +139,7 @@ OB GET PROPERTY NAMES(ds.Employee;$prop)
$revenuesAttribute:=ds.Company["revenues"] // 別の書き方
```
-このコードは、`$nameAttribute` および `$revenuesAttribute` に、`Company` クラスの name および revenues 属性の参照をそれぞれ代入します。 This syntax does NOT return values held inside of the attribute, but instead returns references to the attributes themselves [with their **attribute properties**](../API/DataClassClass.md#attributename).
+このコードは、`$nameAttribute` および `$revenuesAttribute` に、`Company` クラスの name および revenues 属性の参照をそれぞれ代入します。 このシンタックスで返されるのは、属性内に保管されている値ではなく、[**属性のプロパティ** を含む](../API/DataClassClass.md#属性名)、属性自身の参照である点に留意してください。
値を管理するためには、[エンティティ](#エンティティ) を使用する必要があります。
テーブル内の適格なフィールドはすべて、親 [データクラス](#データクラス) の属性として利用可能です。 `Open datastore` コマンドまたは [REST リクエスト](REST/gettingStarted.md) によってアクセスするリモートデータストアの場合、データクラスの属性として公開したい各フィールドについて 4D ストラクチャーのレベルで **RESTリソースとして公開** プロパティを設定する必要があります。
@@ -183,7 +183,7 @@ OB GET PROPERTY NAMES(ds.Employee;$prop)
エンティティの目的はデータの管理 (作成、更新、削除) です。 エンティティセレクションを用いてエンティティ参照を取得した場合、その参照にはエンティティセレクションについての情報も保持されるため、セレクションを走査することが可能です。
-An entity object is handled through functions and properties of the [**Entity**](../API/EntityClass.md) class.
+エンティティ型オブジェクトは、 [**エンティティ**](../API/EntityClass.md) クラスの関数とプロパティを介して扱うことができます。
エンティティオブジェクト自身は、オブジェクトとしてコピーすることはできません:
@@ -203,7 +203,7 @@ An entity object is handled through functions and properties of the [**Entity**]
エンティティセレクションとは、同じデータクラスに所属する一つ以上のエンティティへの参照を格納しているオブジェクトのことです。 通常、クエリの結果として、あるいはリレーション属性の戻り値として作成されます。 エンティティセレクションは、データクラスから 0個、1個、あるいは X個のエンティティを格納することができます (X はデータクラスに格納されているエンティティの総数です)。
-An entity selection object is handled through functions and properties of the [**EntitySelection**](../API/EntitySelectionClass.md) class.
+エンティティセレクション型オブジェクトは [**EntitySelection**](../API/EntitySelectionClass.md) クラスの関数とプロパティを介して扱うことができます。
例:
diff --git a/i18n/ja/docusaurus-plugin-content-docs/version-21/ORDA/entities.md b/i18n/ja/docusaurus-plugin-content-docs/version-21/ORDA/entities.md
index eb60ae72c2ff5e..4d0a801dc366da 100644
--- a/i18n/ja/docusaurus-plugin-content-docs/version-21/ORDA/entities.md
+++ b/i18n/ja/docusaurus-plugin-content-docs/version-21/ORDA/entities.md
@@ -120,7 +120,7 @@ $myEntity.save() // エンティティを保存します
:::note 注記
-- Database Object fields can be [associated with classes](../Develop/field-properties.md), in which case only objects of the defined class can be assigned to the entity attribute.
+- データベースのオブジェクト型フィールドは、[クラスを割り当てる](../Develop/field-properties.md) ことができます。この場合、定義されたクラスのオブジェクトのみをエンティティ属性に割り当てることができます。
- データベースの BLOBフィールド ([スカラーBLOB](Concepts/dt_blob.md)) は、ORDAで扱われるにあたって、BLOBオブジェクト属性 ([`4D.Blob`](Concepts/dt_blob.md)) に自動変換されます。 BLOBオブジェクト属性を保存する際には、(利用可能なメモリによってのみサイズ制限される BLOBオブジェクトとは異なり) BLOBフィールドのサイズが 2GB に制限されることに注意してください。
:::
@@ -469,7 +469,7 @@ Function event restrict() -> $result : cs.*DataClassName*Selection
この関数は、データクラスのエンティティセレクションまたはエンティティが要求されるたびに呼び出されます。 フィルターは、エンティティセレクションが作成されたときに一度だけ実行されます。
-フィルターは、データクラスのエンティティセレクションを返さなければなりません。 It can be an entity selection built upon a query, stored in the [`Storage`](../API/SessionClass.md#storage), etc.
+フィルターは、データクラスのエンティティセレクションを返さなければなりません。 戻り値のエンティティセレクションには、クエリの結果や、[`Storage`](../API/SessionClass.md#storage) に格納されているものなどが使えます。
:::note
diff --git a/i18n/ja/docusaurus-plugin-content-docs/version-21/ORDA/glossary.md b/i18n/ja/docusaurus-plugin-content-docs/version-21/ORDA/glossary.md
index 9e69a338056776..ce31a26ca023c4 100644
--- a/i18n/ja/docusaurus-plugin-content-docs/version-21/ORDA/glossary.md
+++ b/i18n/ja/docusaurus-plugin-content-docs/version-21/ORDA/glossary.md
@@ -89,7 +89,7 @@ ORDA データモデルクラスの関数。
エンティティは、データクラスのインスタンスとも解釈可能なオブジェクトです。 しかしながら、エンティティはリレートされたデータも格納しています。 エンティティの目的はデータの管理 (作成、更新、削除) です。
-For more information, see [entities](entities.md).
+詳細な情報については、 [エンティティ](entities.md) を参照して下さい。
## エンティティセレクション
diff --git a/i18n/ja/docusaurus-plugin-content-docs/version-21/ViewPro/classes.md b/i18n/ja/docusaurus-plugin-content-docs/version-21/ViewPro/classes.md
index 1aecdeba006d55..3d679c193ce86d 100644
--- a/i18n/ja/docusaurus-plugin-content-docs/version-21/ViewPro/classes.md
+++ b/i18n/ja/docusaurus-plugin-content-docs/version-21/ViewPro/classes.md
@@ -151,13 +151,13 @@ title: クラス
The `.backColor` property is the [background color](configuring.md#background--foreground) of the table.
-### .forecolor
+### .foreColor
-
+
-**.forecolor** : Text
+**.foreColor** : Text
-The `.forecolor` property is the [foreground color](configuring.md#background--foreground) of the table.
+The `.foreColor` property is the [foreground color](configuring.md#background--foreground) of the table.
### .font
@@ -199,6 +199,14 @@ The `.font` property is the font name (see
`.borderBottom` プロパティは、 表の下の外枠線を定義します 。
+### .borderTop
+
+
+
+**.borderTop** : [cs.ViewPro.LineBorder](#lineborder)
+
+The `.borderTop` property is the top border line of the table .
+
### .borderHorizontal
diff --git a/i18n/ja/docusaurus-plugin-content-docs/version-21/ViewPro/getting-started.md b/i18n/ja/docusaurus-plugin-content-docs/version-21/ViewPro/getting-started.md
index b68bcfc3a991bc..c229052608bda4 100644
--- a/i18n/ja/docusaurus-plugin-content-docs/version-21/ViewPro/getting-started.md
+++ b/i18n/ja/docusaurus-plugin-content-docs/version-21/ViewPro/getting-started.md
@@ -10,6 +10,12 @@ title: はじめに
スプレッドシートとは、セルのグリッドを格納したアプリケーションのことで、これらのセルに情報を入力したり、計算を実行させたり、あるいはピクチャーを表示したりすることができます。 4D View Proは、4Dに統合された [SpreadJS スプレッドシートソリューション](https://developer.mescius.com/spreadjs) に基づいて動作します。
(4D View Pro のツールバー等のインターフェースは SpreadJS 提供のものです。インターフェース上で "テーブル" という用語が使用されますが、4D でテーブルといえばデータベーステーブルを指すため、当マニュアルではこれを便宜上 "表組み" あるいは "表" と呼んで区別します)
+:::note
+
+Go to the [Library table](../Notes/updates.md#library-table) to know the SpreadJS version integrated in your 4D release.
+
+:::
+
フォームに 4D View Pro エリアを埋め込むことで、4D View Pro コマンドを使ってスプレッドシートドキュメントを読み込んだり書き出したりすることができます。
## インストールとアクティベーション
diff --git a/i18n/ja/docusaurus-plugin-content-docs/version-21/commands/license-info.md b/i18n/ja/docusaurus-plugin-content-docs/version-21/commands/license-info.md
index dcb332009dd594..d97f6136e3f2aa 100644
--- a/i18n/ja/docusaurus-plugin-content-docs/version-21/commands/license-info.md
+++ b/i18n/ja/docusaurus-plugin-content-docs/version-21/commands/license-info.md
@@ -22,7 +22,7 @@ displayed_sidebar: docs
:::note
-This command reloads the license files from the disk and updates the associated rights if they have been modified.
+このコマンドはライセンスファイルをディスクからリロードし、それらが変更されていた場合には、関連する権限を更新します。
:::
The returned object contains the following properties:
diff --git a/i18n/pt/docusaurus-plugin-content-docs/current/Concepts/parameters.md b/i18n/pt/docusaurus-plugin-content-docs/current/Concepts/parameters.md
index 1a932939fb4e6c..c39e4ae70b26a5 100644
--- a/i18n/pt/docusaurus-plugin-content-docs/current/Concepts/parameters.md
+++ b/i18n/pt/docusaurus-plugin-content-docs/current/Concepts/parameters.md
@@ -5,7 +5,7 @@ title: Parâmetros
Frequentemente será preciso passar dados para seus métodos. Isso é facilmente feito com parâmetros.
-## Visão Geral
+## Utilização de parâmetros
Os **parâmetros** (ou **argumentos**) são partes de dados que um método ou uma função de classe precisa para executar sua tarefa. Os termos *parâmetro* e *argumento* são usados de forma intercambiável ao longo deste manual. Parâmetros também são passados para comandos integrados 4D. Neste exemplo, a cadeia de caracteres "Hello" é um argumento para o comando interno `ALERT`:
@@ -45,19 +45,19 @@ Qualquer subrotina pode retornar um valor. Só se pode declarar um único parám
Os valores de entrada e saída são [avaliados](#valores-ou-referências) no momento da chamada e copiados para ou de variáveis locais dentro da função ou método da classe chamada. Os parâmetros das variáveis devem ser [declarados](#declaring-parameters) no código chamado.
-:::info Compatibidade
-
-A sintaxe de declaração herdada, em que os parâmetros são automaticamente copiados em variáveis locais numeradas sequencialmente $0, $1, etc. e declarados usando diretivas do compilador, como `C_TEXT($1;$2)`, é **depreciada** a partir de 4D 20 R7.
-
-:::
-
## Declaração de parâmetros
-Dentro de métodos ou funções de classe chamados, valores parâmetros são atribuidos à variáveis locais. You declare parameters using a **parameter name** along with a **parameter type**, separated by colon.
+Inside called methods or class functions, you declare parameters using a **parameter name** along with a **parameter type**, separated by colon.
- For class functions, parameters are declared along with the function prototype, i.e. when using the `Function` or `Class constructor` keywords.
- For methods (project methods, form object methods, database methods, and triggers), parameters are declared using the **`#DECLARE`** keyword at the beginning of the method code.
+:::info Compatibidade
+
+A sintaxe de declaração herdada, em que os parâmetros são automaticamente copiados em variáveis locais numeradas sequencialmente $0, $1, etc. e declarados usando diretivas do compilador, como `C_TEXT($1;$2)`, é **depreciada** a partir de 4D 20 R7.
+
+:::
+
Exemplos:
```4d
@@ -104,6 +104,12 @@ $entitySelection:=ds.User.query("login=:1"; $user)
// Verificar a senha hash...
```
+:::note
+
+Do not confuse **parameter declarations** with [**variable declarations**](variables.md#declaring-variables). Using the `var` keyword with parameters will generate errors.
+
+:::
+
### Valor retornado
Você declara o parâmetro de retorno de uma função adicionando uma seta (->) e a definição do parâmetro após a lista de parâmetros de entrada. Por exemplo:
diff --git a/i18n/pt/docusaurus-plugin-content-docs/current/Notes/updates.md b/i18n/pt/docusaurus-plugin-content-docs/current/Notes/updates.md
index 94c3b9caa7f773..f8acd086a9328e 100644
--- a/i18n/pt/docusaurus-plugin-content-docs/current/Notes/updates.md
+++ b/i18n/pt/docusaurus-plugin-content-docs/current/Notes/updates.md
@@ -9,7 +9,7 @@ Leia [**O que há de novo no 4D v21 R2**](https://blog.4d.com/en-whats-new-in-4d
#### Destaques
-- [Code Live Checker](../code-editor/write-class-method.md#warnings-and-errors) has been enhanced to provide greater precision in error detection.
+- [Code Live Checker](../code-editor/write-class-method.md#warnings-and-errors) has been enhanced to provide greater precision in error detection (see [this blog post](https://blog.4d.com/better-error-handling-and-type-inference-for-4d-developers) for more information).
- [**Lista de erros corrigida**](https://bugs.4d.fr/fixedbugslist?version=21_R2): lista de todos os bugs corrigidos em 4D 21 R2.
#### Mudanças de comportamento
diff --git a/i18n/pt/docusaurus-plugin-content-docs/current/ViewPro/classes.md b/i18n/pt/docusaurus-plugin-content-docs/current/ViewPro/classes.md
index 6dc8beff3f2787..2bd5b5e2a92ac7 100644
--- a/i18n/pt/docusaurus-plugin-content-docs/current/ViewPro/classes.md
+++ b/i18n/pt/docusaurus-plugin-content-docs/current/ViewPro/classes.md
@@ -151,13 +151,13 @@ The `.useFooterDropDownList` property [background color](configuring.md#background--foreground) of the table.
-### .forecolor
+### .foreColor
-
+
-**.forecolor** : Text
+**.foreColor** : Text
-A propriedade `.forecolor` é o [cor de primeiro plano](configuring.md#background--foreground) da tabela.
+The `.foreColor` property is the [foreground color](configuring.md#background--foreground) of the table.
### .font
@@ -199,6 +199,14 @@ A propriedade `.borderRight` é a li
A propriedade `.borderBottom` é a linha inferior da borda da tabela.
+### .borderTop
+
+
+
+**.borderTop** : [cs.ViewPro.LineBorder](#lineborder)
+
+The `.borderTop` property is the top border line of the table .
+
### .borderHorizontal
diff --git a/i18n/pt/docusaurus-plugin-content-docs/current/ViewPro/getting-started.md b/i18n/pt/docusaurus-plugin-content-docs/current/ViewPro/getting-started.md
index a07d153673411c..5317d67f6bb774 100644
--- a/i18n/pt/docusaurus-plugin-content-docs/current/ViewPro/getting-started.md
+++ b/i18n/pt/docusaurus-plugin-content-docs/current/ViewPro/getting-started.md
@@ -9,6 +9,12 @@ title: Começando
Uma planilha é uma aplicação que contém uma grade de células onde você pode inserir informações, executar cálculos ou exibir imagens. 4D View Pro es alimentado por la [solución de hoja de cálculo SpreadJS](https://developer.mescius.com/spreadjs) integrada en 4D.
+:::note
+
+Go to the [Library table](../Notes/updates.md#library-table) to know the SpreadJS version integrated in your 4D release.
+
+:::
+
A incorporação de áreas do 4D View Pro em seus formulários permite importar e exportar documentos de planilhas eletrônicas usando os comandos do 4D View Pro.
## Instalação e ativação
diff --git a/i18n/pt/docusaurus-plugin-content-docs/version-19/Concepts/parameters.md b/i18n/pt/docusaurus-plugin-content-docs/version-19/Concepts/parameters.md
index a5cc5f39af3807..13e65243380c0b 100644
--- a/i18n/pt/docusaurus-plugin-content-docs/version-19/Concepts/parameters.md
+++ b/i18n/pt/docusaurus-plugin-content-docs/version-19/Concepts/parameters.md
@@ -6,7 +6,7 @@ title: Parâmetros
Frequentemente será preciso passar dados para seus métodos. Isso é facilmente feito com parâmetros.
-## Visão Geral
+## Utilização de parâmetros
**Os parâmetros** (ou **argumentos**) são peças de dados que um método necessita para realizar sua tarefa. Os termos *parámetros* e *argumentos* são utilizados indiferentemente neste manual. Parâmetros também são passados para comandos integrados 4D. Neste exemplo, a stirng "Hello" é um argumento para o comando integrado `ALERT`:
@@ -118,6 +118,12 @@ $entitySelection:=ds. User.query("login=:1"; $user)
// Check hash password...
```
+:::note
+
+Do not confuse **parameter declarations** with [**variable declarations**](variables.md#declaring-variables). Using the `var` keyword with parameters will generate errors.
+
+:::
+
### Valor retornado
Pode declarar o parâmetro retornado de uma função adicionado uma flecha (->) e a definição de parâmetro depois da lista de parâmetros de input. Por exemplo:
diff --git a/i18n/pt/docusaurus-plugin-content-docs/version-20-R10/Concepts/parameters.md b/i18n/pt/docusaurus-plugin-content-docs/version-20-R10/Concepts/parameters.md
index e445ba05f5e050..7053a1ab07ef7a 100644
--- a/i18n/pt/docusaurus-plugin-content-docs/version-20-R10/Concepts/parameters.md
+++ b/i18n/pt/docusaurus-plugin-content-docs/version-20-R10/Concepts/parameters.md
@@ -5,7 +5,7 @@ title: Parâmetros
Frequentemente será preciso passar dados para seus métodos. Isso é facilmente feito com parâmetros.
-## Visão Geral
+## Utilização de parâmetros
Os **parâmetros** (ou **argumentos**) são partes de dados que um método ou uma função de classe precisa para executar sua tarefa. Os termos *parâmetro* e *argumento* são usados de forma intercambiável ao longo deste manual. Parâmetros também são passados para comandos integrados 4D. Neste exemplo, a cadeia de caracteres "Hello" é um argumento para o comando interno `ALERT`:
@@ -53,11 +53,17 @@ A sintaxe de declaração herdada, em que os parâmetros são automaticamente co
## Declaração de parâmetros
-Dentro de métodos ou funções de classe chamados, valores parâmetros são atribuidos à variáveis locais. You declare parameters using a **parameter name** along with a **parameter type**, separated by colon.
+Inside called methods or class functions, you declare parameters using a **parameter name** along with a **parameter type**, separated by colon.
- For class functions, parameters are declared along with the function prototype, i.e. when using the `Function` or `Class constructor` keywords.
- For methods (project methods, form object methods, database methods, and triggers), parameters are declared using the **`#DECLARE`** keyword at the beginning of the method code.
+:::info Compatibidade
+
+A sintaxe de declaração herdada, em que os parâmetros são automaticamente copiados em variáveis locais numeradas sequencialmente $0, $1, etc. e declarados usando diretivas do compilador, como `C_TEXT($1;$2)`, é **depreciada** a partir de 4D 20 R7.
+
+:::
+
Exemplos:
```4d
@@ -104,6 +110,12 @@ $entitySelection:=ds.User.query("login=:1"; $user)
// Verificar a senha hash...
```
+:::note
+
+Do not confuse **parameter declarations** with [**variable declarations**](variables.md#declaring-variables). Using the `var` keyword with parameters will generate errors.
+
+:::
+
### Valor retornado
Você declara o parâmetro de retorno de uma função adicionando uma seta (->) e a definição do parâmetro após a lista de parâmetros de entrada. Por exemplo:
diff --git a/i18n/pt/docusaurus-plugin-content-docs/version-20-R10/ViewPro/classes.md b/i18n/pt/docusaurus-plugin-content-docs/version-20-R10/ViewPro/classes.md
index 6dc8beff3f2787..2bd5b5e2a92ac7 100644
--- a/i18n/pt/docusaurus-plugin-content-docs/version-20-R10/ViewPro/classes.md
+++ b/i18n/pt/docusaurus-plugin-content-docs/version-20-R10/ViewPro/classes.md
@@ -151,13 +151,13 @@ The `.useFooterDropDownList` property [background color](configuring.md#background--foreground) of the table.
-### .forecolor
+### .foreColor
-
+
-**.forecolor** : Text
+**.foreColor** : Text
-A propriedade `.forecolor` é o [cor de primeiro plano](configuring.md#background--foreground) da tabela.
+The `.foreColor` property is the [foreground color](configuring.md#background--foreground) of the table.
### .font
@@ -199,6 +199,14 @@ A propriedade `.borderRight` é a li
A propriedade `.borderBottom` é a linha inferior da borda da tabela.
+### .borderTop
+
+
+
+**.borderTop** : [cs.ViewPro.LineBorder](#lineborder)
+
+The `.borderTop` property is the top border line of the table .
+
### .borderHorizontal
diff --git a/i18n/pt/docusaurus-plugin-content-docs/version-20-R10/ViewPro/getting-started.md b/i18n/pt/docusaurus-plugin-content-docs/version-20-R10/ViewPro/getting-started.md
index 6bcadedbf99395..8635383e3d76a6 100644
--- a/i18n/pt/docusaurus-plugin-content-docs/version-20-R10/ViewPro/getting-started.md
+++ b/i18n/pt/docusaurus-plugin-content-docs/version-20-R10/ViewPro/getting-started.md
@@ -9,6 +9,12 @@ title: Começando
Uma planilha é uma aplicação que contém uma grade de células onde você pode inserir informações, executar cálculos ou exibir imagens. 4D View Pro es alimentado por la [solución de hoja de cálculo SpreadJS](https://developer.mescius.com/spreadjs) integrada en 4D.
+:::note
+
+Go to the [Library table](../Notes/updates.md#library-table) to know the SpreadJS version integrated in your 4D release.
+
+:::
+
A incorporação de áreas do 4D View Pro em seus formulários permite importar e exportar documentos de planilhas eletrônicas usando os comandos do 4D View Pro.
## Instalação e ativação
diff --git a/i18n/pt/docusaurus-plugin-content-docs/version-20/Concepts/parameters.md b/i18n/pt/docusaurus-plugin-content-docs/version-20/Concepts/parameters.md
index 8b35d7732c5993..6fb180ba5de335 100644
--- a/i18n/pt/docusaurus-plugin-content-docs/version-20/Concepts/parameters.md
+++ b/i18n/pt/docusaurus-plugin-content-docs/version-20/Concepts/parameters.md
@@ -6,7 +6,7 @@ title: Parâmetros
Frequentemente será preciso passar dados para seus métodos. Isso é facilmente feito com parâmetros.
-## Visão Geral
+## Utilização de parâmetros
**Os parâmetros** (ou **argumentos**) são peças de dados que um método necessita para realizar sua tarefa. Os termos *parámetros* e *argumentos* são utilizados indiferentemente neste manual. Parâmetros também são passados para comandos integrados 4D. Neste exemplo, a stirng "Hello" é um argumento para o comando integrado `ALERT`:
@@ -108,6 +108,12 @@ $entitySelection:=ds. User.query("login=:1"; $user)
// Check hash password...
```
+:::note
+
+Do not confuse **parameter declarations** with [**variable declarations**](variables.md#declaring-variables). Using the `var` keyword with parameters will generate errors.
+
+:::
+
### Valor retornado
Pode declarar o parâmetro retornado de uma função adicionado uma flecha (->) e a definição de parâmetro depois da lista de parâmetros de input. Por exemplo:
diff --git a/i18n/pt/docusaurus-plugin-content-docs/version-20/ViewPro/classes.md b/i18n/pt/docusaurus-plugin-content-docs/version-20/ViewPro/classes.md
index dfa4088dc19fdf..08b1de13b5dc7c 100644
--- a/i18n/pt/docusaurus-plugin-content-docs/version-20/ViewPro/classes.md
+++ b/i18n/pt/docusaurus-plugin-content-docs/version-20/ViewPro/classes.md
@@ -129,7 +129,7 @@ A propriedade `tableColumns` é u
A propriedade `.theme` define um tema de tabela. Pode também ser um texto (nome de um tema SpreadJS nativo).
-Ver os temas [nativos do SpreadJS](https://www.grapecity.com/spreadjs/api/classes/GC.Spread.Sheets.Tables.TableThemes).
+See the [native SpreadJS themes](https://developer.mescius.com/spreadjs/api/classes/GC.Spread.Sheets.Tables.TableThemes).
### .useFooterDropDownList
@@ -151,12 +151,12 @@ A propriedade `.useFooterDropDownList` [cor de fundo](configuring.md#background--foreground) da tabela.
-### .forecolor
+### .foreColor
-
-**.forecolor**: Text
+
+**.foreColor** : Text
-A propriedade `.forecolor` é o [cor do primeiro plano](configuring.md#background--foreground) da tabela.
+The `.foreColor` property is the [cor do primeiro plano](configuring.md#background--foreground) da tabela.
@@ -201,6 +201,12 @@ A propriedade `.borderRight` é a li
A propriedade `.borderBottom` é o linha de fronteira inferior da tabela .
+### .borderTop
+
+
+**.borderTop** : [cs.ViewPro.LineBorder](#lineborder)
+
+The `.borderTop` property is the top border line of the table .
### .borderHorizontal
@@ -260,7 +266,7 @@ A propriedade `.highlightFirstColumn`
-A propriedade `.theme` define um tema de tabela. Se Text: nome de um tema [nativo SpreadJS](https://www.grapecity.com/spreadjs/api/classes/GC.Spread.Sheets.Tables.TableThemes).
+A propriedade `.theme` define um tema de tabela. If Text: name of a [native SpreadJS theme](https://developer.mescius.com/spreadjs/api/classes/GC.Spread.Sheets.Tables.TableThemes).
@@ -356,7 +362,7 @@ A propriedade `.lastHeaderCellStyle` é o
**.name** : Text
-A propriedade `.name` é o nome de um [tema nativo do SpreadJS](https://www.grapecity.com/spreadjs/api/classes/GC.Spread.Sheets.Tables.TableThemes).
+A propriedade `.name` é o name of a [native SpreadJS theme](https://developer.mescius.com/spreadjs/api/classes/GC.Spread.Sheets.Tables.TableThemes).
### .secondColumnStripSize
diff --git a/i18n/pt/docusaurus-plugin-content-docs/version-20/ViewPro/getting-started.md b/i18n/pt/docusaurus-plugin-content-docs/version-20/ViewPro/getting-started.md
index ccae21e3e079ea..444e6c35b7c203 100644
--- a/i18n/pt/docusaurus-plugin-content-docs/version-20/ViewPro/getting-started.md
+++ b/i18n/pt/docusaurus-plugin-content-docs/version-20/ViewPro/getting-started.md
@@ -11,6 +11,12 @@ O 4D View Pro é um [componente 4D](Concepts/components.md) que inclui uma [áre
Uma planilha é uma aplicação que contém uma grade de células onde você pode inserir informações, executar cálculos ou exibir imagens. 4D View Pro é alimentado pela solução de [folha de cálculo SpreadJS](https://www.grapecity.com/spreadjs/docs/versions/v14/online/overview.html) integrada em 4D.
+:::note
+
+Go to the [Library table](../Notes/updates.md#library-table) to know the SpreadJS version integrated in your 4D release.
+
+:::
+
A incorporação de áreas do 4D View Pro em seus formulários permite importar e exportar documentos de planilhas eletrônicas usando os comandos do 4D View Pro.
diff --git a/i18n/pt/docusaurus-plugin-content-docs/version-21/Concepts/parameters.md b/i18n/pt/docusaurus-plugin-content-docs/version-21/Concepts/parameters.md
index e445ba05f5e050..7053a1ab07ef7a 100644
--- a/i18n/pt/docusaurus-plugin-content-docs/version-21/Concepts/parameters.md
+++ b/i18n/pt/docusaurus-plugin-content-docs/version-21/Concepts/parameters.md
@@ -5,7 +5,7 @@ title: Parâmetros
Frequentemente será preciso passar dados para seus métodos. Isso é facilmente feito com parâmetros.
-## Visão Geral
+## Utilização de parâmetros
Os **parâmetros** (ou **argumentos**) são partes de dados que um método ou uma função de classe precisa para executar sua tarefa. Os termos *parâmetro* e *argumento* são usados de forma intercambiável ao longo deste manual. Parâmetros também são passados para comandos integrados 4D. Neste exemplo, a cadeia de caracteres "Hello" é um argumento para o comando interno `ALERT`:
@@ -53,11 +53,17 @@ A sintaxe de declaração herdada, em que os parâmetros são automaticamente co
## Declaração de parâmetros
-Dentro de métodos ou funções de classe chamados, valores parâmetros são atribuidos à variáveis locais. You declare parameters using a **parameter name** along with a **parameter type**, separated by colon.
+Inside called methods or class functions, you declare parameters using a **parameter name** along with a **parameter type**, separated by colon.
- For class functions, parameters are declared along with the function prototype, i.e. when using the `Function` or `Class constructor` keywords.
- For methods (project methods, form object methods, database methods, and triggers), parameters are declared using the **`#DECLARE`** keyword at the beginning of the method code.
+:::info Compatibidade
+
+A sintaxe de declaração herdada, em que os parâmetros são automaticamente copiados em variáveis locais numeradas sequencialmente $0, $1, etc. e declarados usando diretivas do compilador, como `C_TEXT($1;$2)`, é **depreciada** a partir de 4D 20 R7.
+
+:::
+
Exemplos:
```4d
@@ -104,6 +110,12 @@ $entitySelection:=ds.User.query("login=:1"; $user)
// Verificar a senha hash...
```
+:::note
+
+Do not confuse **parameter declarations** with [**variable declarations**](variables.md#declaring-variables). Using the `var` keyword with parameters will generate errors.
+
+:::
+
### Valor retornado
Você declara o parâmetro de retorno de uma função adicionando uma seta (->) e a definição do parâmetro após a lista de parâmetros de entrada. Por exemplo:
diff --git a/i18n/pt/docusaurus-plugin-content-docs/version-21/ViewPro/classes.md b/i18n/pt/docusaurus-plugin-content-docs/version-21/ViewPro/classes.md
index 6dc8beff3f2787..2bd5b5e2a92ac7 100644
--- a/i18n/pt/docusaurus-plugin-content-docs/version-21/ViewPro/classes.md
+++ b/i18n/pt/docusaurus-plugin-content-docs/version-21/ViewPro/classes.md
@@ -151,13 +151,13 @@ The `.useFooterDropDownList` property [background color](configuring.md#background--foreground) of the table.
-### .forecolor
+### .foreColor
-
+
-**.forecolor** : Text
+**.foreColor** : Text
-A propriedade `.forecolor` é o [cor de primeiro plano](configuring.md#background--foreground) da tabela.
+The `.foreColor` property is the [foreground color](configuring.md#background--foreground) of the table.
### .font
@@ -199,6 +199,14 @@ A propriedade `.borderRight` é a li
A propriedade `.borderBottom` é a linha inferior da borda da tabela.
+### .borderTop
+
+
+
+**.borderTop** : [cs.ViewPro.LineBorder](#lineborder)
+
+The `.borderTop` property is the top border line of the table .
+
### .borderHorizontal
diff --git a/i18n/pt/docusaurus-plugin-content-docs/version-21/ViewPro/getting-started.md b/i18n/pt/docusaurus-plugin-content-docs/version-21/ViewPro/getting-started.md
index a07d153673411c..5317d67f6bb774 100644
--- a/i18n/pt/docusaurus-plugin-content-docs/version-21/ViewPro/getting-started.md
+++ b/i18n/pt/docusaurus-plugin-content-docs/version-21/ViewPro/getting-started.md
@@ -9,6 +9,12 @@ title: Começando
Uma planilha é uma aplicação que contém uma grade de células onde você pode inserir informações, executar cálculos ou exibir imagens. 4D View Pro es alimentado por la [solución de hoja de cálculo SpreadJS](https://developer.mescius.com/spreadjs) integrada en 4D.
+:::note
+
+Go to the [Library table](../Notes/updates.md#library-table) to know the SpreadJS version integrated in your 4D release.
+
+:::
+
A incorporação de áreas do 4D View Pro em seus formulários permite importar e exportar documentos de planilhas eletrônicas usando os comandos do 4D View Pro.
## Instalação e ativação
From e1975eaf1d9b5d5e00614911adcafac4c5c07794 Mon Sep 17 00:00:00 2001
From: nobu teshima <44628598+nobuteshima@users.noreply.github.com>
Date: Tue, 18 Nov 2025 17:52:24 +0900
Subject: [PATCH 26/75] Update wa-get-url-history.md (#2999)
JA adding missing compatibility information into v21 doc
---
.../version-21/commands-legacy/wa-get-url-history.md | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/i18n/ja/docusaurus-plugin-content-docs/version-21/commands-legacy/wa-get-url-history.md b/i18n/ja/docusaurus-plugin-content-docs/version-21/commands-legacy/wa-get-url-history.md
index f8ff556747f091..96cece1363ea0e 100644
--- a/i18n/ja/docusaurus-plugin-content-docs/version-21/commands-legacy/wa-get-url-history.md
+++ b/i18n/ja/docusaurus-plugin-content-docs/version-21/commands-legacy/wa-get-url-history.md
@@ -38,7 +38,7 @@ URLは時間順に並びかえられます。
*titlesArr* 引数を渡すと、URLに関連付けられたウィンドウの名前が返されます。この配列は*urlsArr* 配列と同期しています。
-**互換性に関する注意:** **4D v19 R5 以降、このコマンドは Windows のシステムレンダリングエンジン を使用しているWeb エリアにおける urlsArr および titlesArr 配列のみを返します。*
+**互換性に関する注意:** **4D v19 R5 以降、このコマンドは Windows のシステムレンダリングエンジン を使用しているWeb エリアにおいて urlsArr および titlesArr 配列にはカレントの URL のみを返します。*
## 参照
From 7e4acf926804c7713ac54b6dae26d33d43315136 Mon Sep 17 00:00:00 2001
From: arnaud-4d
Date: Tue, 18 Nov 2025 10:14:31 +0100
Subject: [PATCH 27/75] Licence usage for 4D Server only
---
docs/commands-legacy/license-usage.md | 6 ++++++
.../version-20-R10/commands-legacy/license-usage.md | 6 ++++++
versioned_docs/version-21/commands-legacy/license-usage.md | 6 ++++++
3 files changed, 18 insertions(+)
diff --git a/docs/commands-legacy/license-usage.md b/docs/commands-legacy/license-usage.md
index ada531978857ce..be95d14fe684e2 100644
--- a/docs/commands-legacy/license-usage.md
+++ b/docs/commands-legacy/license-usage.md
@@ -17,6 +17,12 @@ displayed_sidebar: docs
The **License usage** command returns a collection of objects containing information on the retained licenses.
+:::note
+
+This command can only be executed on 4D Server. It returns `null` when called from another context.
+
+:::
+
Each object in the returned collection has the following attributes:
| **Property name** | **Type** | **Description** |
diff --git a/versioned_docs/version-20-R10/commands-legacy/license-usage.md b/versioned_docs/version-20-R10/commands-legacy/license-usage.md
index ada531978857ce..be95d14fe684e2 100644
--- a/versioned_docs/version-20-R10/commands-legacy/license-usage.md
+++ b/versioned_docs/version-20-R10/commands-legacy/license-usage.md
@@ -17,6 +17,12 @@ displayed_sidebar: docs
The **License usage** command returns a collection of objects containing information on the retained licenses.
+:::note
+
+This command can only be executed on 4D Server. It returns `null` when called from another context.
+
+:::
+
Each object in the returned collection has the following attributes:
| **Property name** | **Type** | **Description** |
diff --git a/versioned_docs/version-21/commands-legacy/license-usage.md b/versioned_docs/version-21/commands-legacy/license-usage.md
index ada531978857ce..be95d14fe684e2 100644
--- a/versioned_docs/version-21/commands-legacy/license-usage.md
+++ b/versioned_docs/version-21/commands-legacy/license-usage.md
@@ -17,6 +17,12 @@ displayed_sidebar: docs
The **License usage** command returns a collection of objects containing information on the retained licenses.
+:::note
+
+This command can only be executed on 4D Server. It returns `null` when called from another context.
+
+:::
+
Each object in the returned collection has the following attributes:
| **Property name** | **Type** | **Description** |
From 5081c20a7d6a8720d3138a75da28a5da38347bd2 Mon Sep 17 00:00:00 2001
From: arnaud-4d
Date: Tue, 18 Nov 2025 11:10:47 +0100
Subject: [PATCH 28/75] fixes
---
docs/Concepts/variables.md | 5 +++--
.../current/commands-legacy/blob-to-print-settings.md | 10 +++-------
.../current/commands-legacy/license-usage.md | 8 +++++++-
.../commands-legacy/blob-to-print-settings.md | 10 +++-------
.../version-20-R10/commands-legacy/license-usage.md | 8 +++++++-
.../commands-legacy/blob-to-print-settings.md | 10 +++-------
.../version-21/commands-legacy/license-usage.md | 8 +++++++-
versioned_docs/version-19/Concepts/variables.md | 2 +-
versioned_docs/version-20-R10/Concepts/variables.md | 5 +++--
versioned_docs/version-20/Concepts/variables.md | 2 +-
versioned_docs/version-21/Concepts/variables.md | 5 +++--
11 files changed, 41 insertions(+), 32 deletions(-)
diff --git a/docs/Concepts/variables.md b/docs/Concepts/variables.md
index 7d1dc84eabbaec..179f975c72f322 100644
--- a/docs/Concepts/variables.md
+++ b/docs/Concepts/variables.md
@@ -259,8 +259,9 @@ System variables are used by [4D commands](../commands/command-index.md). Refer
|---|---|---|
|`OK`|Integer|Usually set to 1 after a command has displayed a dialog box and the user clicked the **OK** button, and 0 if they clicked **Cancel**. Some commands also modify the value of the `OK` system variable when a operation is successfully executed.
|`Document`|Text|Contains the "long name" (full path+name) of the last file opened or created using commands such as [Open document](../commands-legacy/open-document.md) or [SELECT LOG FILE](../commands/select-log-file.md).|
-|`FldDelimit`, `RecDelimit`|Text|Contain the character codes that will be used respectively as a field separator (default is **Tab** (9)) and record separator (default is **carriage return** (13)) when importing or exporting text. To use a different separator, assign a new value to the system variable.|
-|`Error`, `Error method`, `Error line`, `Error formula`|Text, Longint|Used in an error-catching method installed by the [`ON ERR CALL`](../commands-legacy/on-err-call.md) command. See [Handling errors within the method](../Concepts/error-handling.md#handling-errors-within-the-method).|
+|`FldDelimit`, `RecDelimit`|Integer|Contain the character codes that will be used respectively as a field separator (default is **Tab** (9)) and record separator (default is **carriage return** (13)) when importing or exporting text. To use a different separator, assign a new value to the system variable.|
+|`Error`, `Error line`|Integer|Used in an error-catching method installed by the [`ON ERR CALL`](../commands-legacy/on-err-call.md) command. See [Handling errors within the method](../Concepts/error-handling.md#handling-errors-within-the-method).|
+|`Error method`, `Error formula`|Text|Used in an error-catching method installed by the [`ON ERR CALL`](../commands-legacy/on-err-call.md) command. See [Handling errors within the method](../Concepts/error-handling.md#handling-errors-within-the-method).|
|`MouseDown`|Integer|Used in a method installed by the [`ON EVENT CALL`](../commands-legacy/on-event-call.md) command. Set to 1 when the mouse button is pushed, otherwise set to 0. |
|`MouseX`, `MouseY`|Integer|Used in a method installed by the [`ON EVENT CALL`](../commands-legacy/on-event-call.md) command. In a `MouseDown=1` event, `MouseX` and `MouseY` are respectively set to the vertical and horizontal coordinates of the click. Both values are expressed in pixels and use the local coordinate system of the window. In case of a picture field or variable, `MouseX` and `MouseY` return the local coordinates of a mouse click in the [`On Clicked`](../Events/onClicked.md), [`On Double Clicked`](../Events/onDoubleClicked.md) and [`On Mouse Up`](../Events/onMouseUp.md) form events. Local coordinates of the mouse cursor are also returned in the [`On Mouse Enter`](../Events/onMouseEnter.md) and [`On Mouse Move`](../Events/onMouseMove.md) form events. For more information, see the [Mouse Coordinates in a picture](../FormEditor/pictures.md#mouse-coordinates-in-a-picture) section.|
|`KeyCode`|Integer|Used in a method installed by the [`ON EVENT CALL`](../commands-legacy/on-event-call.md) command. Set to the character code of the key that was just pressed. If the key is a function key, `KeyCode` is set to a special code.|
diff --git a/i18n/fr/docusaurus-plugin-content-docs/current/commands-legacy/blob-to-print-settings.md b/i18n/fr/docusaurus-plugin-content-docs/current/commands-legacy/blob-to-print-settings.md
index 1ca15c7f4fdbb0..b53c30a3c066d3 100644
--- a/i18n/fr/docusaurus-plugin-content-docs/current/commands-legacy/blob-to-print-settings.md
+++ b/i18n/fr/docusaurus-plugin-content-docs/current/commands-legacy/blob-to-print-settings.md
@@ -17,14 +17,14 @@ displayed_sidebar: docs
## Description
-La commande **BLOB to print settings** remplace les paramètres d’impression courants de 4D par les paramètres stockés dans le BLOB *paramImpression*. Ce BLOB doit avoir été généré par la commande [Print settings to BLOB](print-settings-to-blob.md) ou par la commande de 4D Pack (voir ci-dessous).
+La commande **BLOB to print settings** remplace les paramètres d’impression courants de 4D par les paramètres stockés dans le BLOB *paramImpression*. Ce BLOB doit avoir été généré par la commande [Print settings to BLOB](print-settings-to-blob.md).
Le paramètre *param* permet de définir la façon de gérer les paramètres de base "nombre de copies" et "plage d'impression" :
* si vous passez 0 ou omettez ce paramètre, les valeurs stockées dans le BLOB sont utilisées pour l'impression.
* si vous passez 1, les valeurs sont réinitialisées aux valeurs par défaut : le nombre de copies est fixé à 1, et la plage d'impression est fixée à "toutes les pages".
-Les paramètres d'impression s'appliquent aux [paramètres courants de l'impression 4D](../settings/compatibility.md) jusqu'à ce qu'une commande telle que *\_o\_PAGE SETUP*, [SET PRINT OPTION](set-print-option.md) ou [PRINT SELECTION](print-selection.md) sans le paramètre > les modifie. Les paramètres fixés sont utilisés plus particulièrement par les commandes [PRINT SELECTION](print-selection.md), [PRINT LABEL](print-label.md), [PRINT RECORD](print-record.md), [Print form](../commands/print-form.md) et [QR REPORT](qr-report.md), ainsi que par les commandes d'impression dans les menus de 4D, y compris ceux de l'environnement Développement.
+Les paramètres d'impression s'appliquent aux [paramètres courants de l'impression 4D](../settings/compatibility.md) jusqu'à ce qu'une commande telle que [SET PRINT OPTION](set-print-option.md) ou [PRINT SELECTION](print-selection.md) sans le paramètre > les modifie. Les paramètres fixés sont utilisés plus particulièrement par les commandes [PRINT SELECTION](print-selection.md), [PRINT LABEL](print-label.md), [PRINT RECORD](print-record.md), [Print form](../commands/print-form.md) et [QR REPORT](qr-report.md), ainsi que par les commandes d'impression dans les menus de 4D, y compris ceux de l'environnement Développement.
Les commandes [PRINT SELECTION](print-selection.md), [PRINT LABEL](print-label.md) et [PRINT RECORD](print-record.md) doivent être appelées avec le paramètre *\>* (si applicable) de façon à ce que les paramètres définis par **BLOB to print settings** soient gardés.
@@ -34,7 +34,6 @@ La commande retourne un des codes d'état suivants :
* 0 : aucune imprimante courante n'est sélectionnée (dans ce cas, la commande ne fait rien).
* 1 : le BLOB a été correctement chargé.
* 2 : le BLOB a été correctement chargé mais le nom de l'imprimante courante a changé (\*).
-**Note :** le code (2) est toujours retourné si le BLOB a été crée avec la commande de 4D Pack , même si le nom de l'imprimante n'a pas changé, car cette information n'est pas présente dans les BLOBs de 4D Pack.
(\*) Les paramètres dépendent de l'imprimante courante sélectionnée au moment où le BLOB a été stocké. Appliquer ces paramètres à une autre imprimante sera pris en charge si les deux imprimantes sont du même modèle. Si les imprimantes sont différentes, seuls les paramètres communs seront restaurés.
@@ -44,9 +43,6 @@ Le BLOB *paramImpression* peut être sauvegardé et lu sur les deux plate-formes
Lorsque vous utilisez un environnement hétérogène, pour restaurer le maximum de paramètres d'impression disponibles pour chaque plate-forme (et pas seulement la partie commune), il est recommandé de gérer deux BLOBs *paramImpression*, un pour chaque plate-forme.
-### Compatibilité avec les commandes 4D Pack
-
-Les BLOBs de paramètres d'impression générés avec la commande 4D Pack peuvent être chargés et utilisés par la commande **BLOB to print settings**. Notez toutefois que s'ils sont stockés avec [Print settings to BLOB](print-settings-to-blob.md), ils sont convertis et ne pourront plus être ouvert avec . La commande **BLOB to print settings** stocke davantage d'informations que la commande .
## Exemple
@@ -55,7 +51,7 @@ Vous voulez appliquer des paramètres d'impression précédemment stockés sur d
```4d
var curSettings : Blob
DOCUMENT TO BLOB(Get 4D folder(Active 4D Folder)+"current4Dsettings.blob";curSettings)
- //current4Dsettings a été créé avec la commande Paramètres impression vers BLOB
+ //current4Dsettings a été créé avec la commande Print settings to BLOB
$err:=BLOB to print settings(curSettings;0)
Case of
:($err=1)
diff --git a/i18n/fr/docusaurus-plugin-content-docs/current/commands-legacy/license-usage.md b/i18n/fr/docusaurus-plugin-content-docs/current/commands-legacy/license-usage.md
index 2c7fba4a19dc04..8c46f2cc56dc7d 100644
--- a/i18n/fr/docusaurus-plugin-content-docs/current/commands-legacy/license-usage.md
+++ b/i18n/fr/docusaurus-plugin-content-docs/current/commands-legacy/license-usage.md
@@ -15,7 +15,13 @@ displayed_sidebar: docs
## Description
-La commande **License usage** retourne une collection d'objets contenant des informations sur les licences utilisées\[#/descv\].
+La commande **License usage** retourne une collection d'objets contenant des informations sur les licences utilisées.
+
+:::note
+
+Cette commande est destinée à 4D Server. Elle retourne null si elle est exécutée depuis un autre contexte.
+
+:::
Chaque objet de la collection retournée possède les attributs suivants :
diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-20-R10/commands-legacy/blob-to-print-settings.md b/i18n/fr/docusaurus-plugin-content-docs/version-20-R10/commands-legacy/blob-to-print-settings.md
index 1ca15c7f4fdbb0..b53c30a3c066d3 100644
--- a/i18n/fr/docusaurus-plugin-content-docs/version-20-R10/commands-legacy/blob-to-print-settings.md
+++ b/i18n/fr/docusaurus-plugin-content-docs/version-20-R10/commands-legacy/blob-to-print-settings.md
@@ -17,14 +17,14 @@ displayed_sidebar: docs
## Description
-La commande **BLOB to print settings** remplace les paramètres d’impression courants de 4D par les paramètres stockés dans le BLOB *paramImpression*. Ce BLOB doit avoir été généré par la commande [Print settings to BLOB](print-settings-to-blob.md) ou par la commande de 4D Pack (voir ci-dessous).
+La commande **BLOB to print settings** remplace les paramètres d’impression courants de 4D par les paramètres stockés dans le BLOB *paramImpression*. Ce BLOB doit avoir été généré par la commande [Print settings to BLOB](print-settings-to-blob.md).
Le paramètre *param* permet de définir la façon de gérer les paramètres de base "nombre de copies" et "plage d'impression" :
* si vous passez 0 ou omettez ce paramètre, les valeurs stockées dans le BLOB sont utilisées pour l'impression.
* si vous passez 1, les valeurs sont réinitialisées aux valeurs par défaut : le nombre de copies est fixé à 1, et la plage d'impression est fixée à "toutes les pages".
-Les paramètres d'impression s'appliquent aux [paramètres courants de l'impression 4D](../settings/compatibility.md) jusqu'à ce qu'une commande telle que *\_o\_PAGE SETUP*, [SET PRINT OPTION](set-print-option.md) ou [PRINT SELECTION](print-selection.md) sans le paramètre > les modifie. Les paramètres fixés sont utilisés plus particulièrement par les commandes [PRINT SELECTION](print-selection.md), [PRINT LABEL](print-label.md), [PRINT RECORD](print-record.md), [Print form](../commands/print-form.md) et [QR REPORT](qr-report.md), ainsi que par les commandes d'impression dans les menus de 4D, y compris ceux de l'environnement Développement.
+Les paramètres d'impression s'appliquent aux [paramètres courants de l'impression 4D](../settings/compatibility.md) jusqu'à ce qu'une commande telle que [SET PRINT OPTION](set-print-option.md) ou [PRINT SELECTION](print-selection.md) sans le paramètre > les modifie. Les paramètres fixés sont utilisés plus particulièrement par les commandes [PRINT SELECTION](print-selection.md), [PRINT LABEL](print-label.md), [PRINT RECORD](print-record.md), [Print form](../commands/print-form.md) et [QR REPORT](qr-report.md), ainsi que par les commandes d'impression dans les menus de 4D, y compris ceux de l'environnement Développement.
Les commandes [PRINT SELECTION](print-selection.md), [PRINT LABEL](print-label.md) et [PRINT RECORD](print-record.md) doivent être appelées avec le paramètre *\>* (si applicable) de façon à ce que les paramètres définis par **BLOB to print settings** soient gardés.
@@ -34,7 +34,6 @@ La commande retourne un des codes d'état suivants :
* 0 : aucune imprimante courante n'est sélectionnée (dans ce cas, la commande ne fait rien).
* 1 : le BLOB a été correctement chargé.
* 2 : le BLOB a été correctement chargé mais le nom de l'imprimante courante a changé (\*).
-**Note :** le code (2) est toujours retourné si le BLOB a été crée avec la commande de 4D Pack , même si le nom de l'imprimante n'a pas changé, car cette information n'est pas présente dans les BLOBs de 4D Pack.
(\*) Les paramètres dépendent de l'imprimante courante sélectionnée au moment où le BLOB a été stocké. Appliquer ces paramètres à une autre imprimante sera pris en charge si les deux imprimantes sont du même modèle. Si les imprimantes sont différentes, seuls les paramètres communs seront restaurés.
@@ -44,9 +43,6 @@ Le BLOB *paramImpression* peut être sauvegardé et lu sur les deux plate-formes
Lorsque vous utilisez un environnement hétérogène, pour restaurer le maximum de paramètres d'impression disponibles pour chaque plate-forme (et pas seulement la partie commune), il est recommandé de gérer deux BLOBs *paramImpression*, un pour chaque plate-forme.
-### Compatibilité avec les commandes 4D Pack
-
-Les BLOBs de paramètres d'impression générés avec la commande 4D Pack peuvent être chargés et utilisés par la commande **BLOB to print settings**. Notez toutefois que s'ils sont stockés avec [Print settings to BLOB](print-settings-to-blob.md), ils sont convertis et ne pourront plus être ouvert avec . La commande **BLOB to print settings** stocke davantage d'informations que la commande .
## Exemple
@@ -55,7 +51,7 @@ Vous voulez appliquer des paramètres d'impression précédemment stockés sur d
```4d
var curSettings : Blob
DOCUMENT TO BLOB(Get 4D folder(Active 4D Folder)+"current4Dsettings.blob";curSettings)
- //current4Dsettings a été créé avec la commande Paramètres impression vers BLOB
+ //current4Dsettings a été créé avec la commande Print settings to BLOB
$err:=BLOB to print settings(curSettings;0)
Case of
:($err=1)
diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-20-R10/commands-legacy/license-usage.md b/i18n/fr/docusaurus-plugin-content-docs/version-20-R10/commands-legacy/license-usage.md
index 2c7fba4a19dc04..8c46f2cc56dc7d 100644
--- a/i18n/fr/docusaurus-plugin-content-docs/version-20-R10/commands-legacy/license-usage.md
+++ b/i18n/fr/docusaurus-plugin-content-docs/version-20-R10/commands-legacy/license-usage.md
@@ -15,7 +15,13 @@ displayed_sidebar: docs
## Description
-La commande **License usage** retourne une collection d'objets contenant des informations sur les licences utilisées\[#/descv\].
+La commande **License usage** retourne une collection d'objets contenant des informations sur les licences utilisées.
+
+:::note
+
+Cette commande est destinée à 4D Server. Elle retourne null si elle est exécutée depuis un autre contexte.
+
+:::
Chaque objet de la collection retournée possède les attributs suivants :
diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-21/commands-legacy/blob-to-print-settings.md b/i18n/fr/docusaurus-plugin-content-docs/version-21/commands-legacy/blob-to-print-settings.md
index 1ca15c7f4fdbb0..b53c30a3c066d3 100644
--- a/i18n/fr/docusaurus-plugin-content-docs/version-21/commands-legacy/blob-to-print-settings.md
+++ b/i18n/fr/docusaurus-plugin-content-docs/version-21/commands-legacy/blob-to-print-settings.md
@@ -17,14 +17,14 @@ displayed_sidebar: docs
## Description
-La commande **BLOB to print settings** remplace les paramètres d’impression courants de 4D par les paramètres stockés dans le BLOB *paramImpression*. Ce BLOB doit avoir été généré par la commande [Print settings to BLOB](print-settings-to-blob.md) ou par la commande de 4D Pack (voir ci-dessous).
+La commande **BLOB to print settings** remplace les paramètres d’impression courants de 4D par les paramètres stockés dans le BLOB *paramImpression*. Ce BLOB doit avoir été généré par la commande [Print settings to BLOB](print-settings-to-blob.md).
Le paramètre *param* permet de définir la façon de gérer les paramètres de base "nombre de copies" et "plage d'impression" :
* si vous passez 0 ou omettez ce paramètre, les valeurs stockées dans le BLOB sont utilisées pour l'impression.
* si vous passez 1, les valeurs sont réinitialisées aux valeurs par défaut : le nombre de copies est fixé à 1, et la plage d'impression est fixée à "toutes les pages".
-Les paramètres d'impression s'appliquent aux [paramètres courants de l'impression 4D](../settings/compatibility.md) jusqu'à ce qu'une commande telle que *\_o\_PAGE SETUP*, [SET PRINT OPTION](set-print-option.md) ou [PRINT SELECTION](print-selection.md) sans le paramètre > les modifie. Les paramètres fixés sont utilisés plus particulièrement par les commandes [PRINT SELECTION](print-selection.md), [PRINT LABEL](print-label.md), [PRINT RECORD](print-record.md), [Print form](../commands/print-form.md) et [QR REPORT](qr-report.md), ainsi que par les commandes d'impression dans les menus de 4D, y compris ceux de l'environnement Développement.
+Les paramètres d'impression s'appliquent aux [paramètres courants de l'impression 4D](../settings/compatibility.md) jusqu'à ce qu'une commande telle que [SET PRINT OPTION](set-print-option.md) ou [PRINT SELECTION](print-selection.md) sans le paramètre > les modifie. Les paramètres fixés sont utilisés plus particulièrement par les commandes [PRINT SELECTION](print-selection.md), [PRINT LABEL](print-label.md), [PRINT RECORD](print-record.md), [Print form](../commands/print-form.md) et [QR REPORT](qr-report.md), ainsi que par les commandes d'impression dans les menus de 4D, y compris ceux de l'environnement Développement.
Les commandes [PRINT SELECTION](print-selection.md), [PRINT LABEL](print-label.md) et [PRINT RECORD](print-record.md) doivent être appelées avec le paramètre *\>* (si applicable) de façon à ce que les paramètres définis par **BLOB to print settings** soient gardés.
@@ -34,7 +34,6 @@ La commande retourne un des codes d'état suivants :
* 0 : aucune imprimante courante n'est sélectionnée (dans ce cas, la commande ne fait rien).
* 1 : le BLOB a été correctement chargé.
* 2 : le BLOB a été correctement chargé mais le nom de l'imprimante courante a changé (\*).
-**Note :** le code (2) est toujours retourné si le BLOB a été crée avec la commande de 4D Pack , même si le nom de l'imprimante n'a pas changé, car cette information n'est pas présente dans les BLOBs de 4D Pack.
(\*) Les paramètres dépendent de l'imprimante courante sélectionnée au moment où le BLOB a été stocké. Appliquer ces paramètres à une autre imprimante sera pris en charge si les deux imprimantes sont du même modèle. Si les imprimantes sont différentes, seuls les paramètres communs seront restaurés.
@@ -44,9 +43,6 @@ Le BLOB *paramImpression* peut être sauvegardé et lu sur les deux plate-formes
Lorsque vous utilisez un environnement hétérogène, pour restaurer le maximum de paramètres d'impression disponibles pour chaque plate-forme (et pas seulement la partie commune), il est recommandé de gérer deux BLOBs *paramImpression*, un pour chaque plate-forme.
-### Compatibilité avec les commandes 4D Pack
-
-Les BLOBs de paramètres d'impression générés avec la commande 4D Pack peuvent être chargés et utilisés par la commande **BLOB to print settings**. Notez toutefois que s'ils sont stockés avec [Print settings to BLOB](print-settings-to-blob.md), ils sont convertis et ne pourront plus être ouvert avec . La commande **BLOB to print settings** stocke davantage d'informations que la commande .
## Exemple
@@ -55,7 +51,7 @@ Vous voulez appliquer des paramètres d'impression précédemment stockés sur d
```4d
var curSettings : Blob
DOCUMENT TO BLOB(Get 4D folder(Active 4D Folder)+"current4Dsettings.blob";curSettings)
- //current4Dsettings a été créé avec la commande Paramètres impression vers BLOB
+ //current4Dsettings a été créé avec la commande Print settings to BLOB
$err:=BLOB to print settings(curSettings;0)
Case of
:($err=1)
diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-21/commands-legacy/license-usage.md b/i18n/fr/docusaurus-plugin-content-docs/version-21/commands-legacy/license-usage.md
index 2c7fba4a19dc04..8c46f2cc56dc7d 100644
--- a/i18n/fr/docusaurus-plugin-content-docs/version-21/commands-legacy/license-usage.md
+++ b/i18n/fr/docusaurus-plugin-content-docs/version-21/commands-legacy/license-usage.md
@@ -15,7 +15,13 @@ displayed_sidebar: docs
## Description
-La commande **License usage** retourne une collection d'objets contenant des informations sur les licences utilisées\[#/descv\].
+La commande **License usage** retourne une collection d'objets contenant des informations sur les licences utilisées.
+
+:::note
+
+Cette commande est destinée à 4D Server. Elle retourne null si elle est exécutée depuis un autre contexte.
+
+:::
Chaque objet de la collection retournée possède les attributs suivants :
diff --git a/versioned_docs/version-19/Concepts/variables.md b/versioned_docs/version-19/Concepts/variables.md
index 5ca0826711f326..88879726463e7d 100644
--- a/versioned_docs/version-19/Concepts/variables.md
+++ b/versioned_docs/version-19/Concepts/variables.md
@@ -244,7 +244,7 @@ System variables are used by 4D commands. Refer to the "System variables and set
|---|---|---|
|`OK`|Integer|Usually set to 1 after a command has displayed a dialog box and the user clicked the **OK** button, and 0 if they clicked **Cancel**. Some commands also modify the value of the `OK` system variable when a operation is successfully executed.
|`Document`|Text|Contains the "long name" (full path+name) of the last file opened or created using commands such as [Open document](https://doc.4d.com/4dv20/help/command/en/page264.html) or [SELECT LOG FILE](https://doc.4d.com/4dv20/help/command/en/page345.html).|
-|`FldDelimit`, `RecDelimit`|Text|Contain the character codes that will be used respectively as a field separator (default is **Tab** (9)) and record separator (default is **carriage return** (13)) when importing or exporting text. To use a different separator, assign a new value to the system variable.|
+|`FldDelimit`, `RecDelimit`|Integer|Contain the character codes that will be used respectively as a field separator (default is **Tab** (9)) and record separator (default is **carriage return** (13)) when importing or exporting text. To use a different separator, assign a new value to the system variable.|
|`Error`, `Error method`, `Error line`, `Error formula`|Text, Longint|Used in an error-catching method installed by the [`ON ERR CALL`](https://doc.4d.com/4dv20/help/command/en/page155.html) command. See [Handling errors within the method](../Concepts/error-handling.md#handling-errors-within-the-method).|
|`MouseDown`|Integer|Used in a method installed by the [`ON EVENT CALL`](https://doc.4d.com/4dv20/help/command/en/page190.html) command. Set to 1 when the mouse button is pushed, otherwise set to 0. |
|`MouseX`, `MouseY`|Integer|Used in a method installed by the [`ON EVENT CALL`](https://doc.4d.com/4dv20/help/command/en/page190.html) command. In a `MouseDown=1` event, `MouseX` and `MouseY` are respectively set to the vertical and horizontal coordinates of the click. Both values are expressed in pixels and use the local coordinate system of the window. In case of a picture field or variable, `MouseX` and `MouseY` return the local coordinates of a mouse click in the [`On Clicked`](../Events/onClicked.md), [`On Double Clicked`](../Events/onDoubleClicked.md) and [`On Mouse Up`](../Events/onMouseUp.md) form events. Local coordinates of the mouse cursor are also returned in the [`On Mouse Enter`](../Events/onMouseEnter.md) and [`On Mouse Move`](../Events/onMouseMove.md) form events. For more information, see the [Mouse Coordinates in a picture](../FormEditor/pictures.md#mouse-coordinates-in-a-picture) section.|
diff --git a/versioned_docs/version-20-R10/Concepts/variables.md b/versioned_docs/version-20-R10/Concepts/variables.md
index 7d1dc84eabbaec..179f975c72f322 100644
--- a/versioned_docs/version-20-R10/Concepts/variables.md
+++ b/versioned_docs/version-20-R10/Concepts/variables.md
@@ -259,8 +259,9 @@ System variables are used by [4D commands](../commands/command-index.md). Refer
|---|---|---|
|`OK`|Integer|Usually set to 1 after a command has displayed a dialog box and the user clicked the **OK** button, and 0 if they clicked **Cancel**. Some commands also modify the value of the `OK` system variable when a operation is successfully executed.
|`Document`|Text|Contains the "long name" (full path+name) of the last file opened or created using commands such as [Open document](../commands-legacy/open-document.md) or [SELECT LOG FILE](../commands/select-log-file.md).|
-|`FldDelimit`, `RecDelimit`|Text|Contain the character codes that will be used respectively as a field separator (default is **Tab** (9)) and record separator (default is **carriage return** (13)) when importing or exporting text. To use a different separator, assign a new value to the system variable.|
-|`Error`, `Error method`, `Error line`, `Error formula`|Text, Longint|Used in an error-catching method installed by the [`ON ERR CALL`](../commands-legacy/on-err-call.md) command. See [Handling errors within the method](../Concepts/error-handling.md#handling-errors-within-the-method).|
+|`FldDelimit`, `RecDelimit`|Integer|Contain the character codes that will be used respectively as a field separator (default is **Tab** (9)) and record separator (default is **carriage return** (13)) when importing or exporting text. To use a different separator, assign a new value to the system variable.|
+|`Error`, `Error line`|Integer|Used in an error-catching method installed by the [`ON ERR CALL`](../commands-legacy/on-err-call.md) command. See [Handling errors within the method](../Concepts/error-handling.md#handling-errors-within-the-method).|
+|`Error method`, `Error formula`|Text|Used in an error-catching method installed by the [`ON ERR CALL`](../commands-legacy/on-err-call.md) command. See [Handling errors within the method](../Concepts/error-handling.md#handling-errors-within-the-method).|
|`MouseDown`|Integer|Used in a method installed by the [`ON EVENT CALL`](../commands-legacy/on-event-call.md) command. Set to 1 when the mouse button is pushed, otherwise set to 0. |
|`MouseX`, `MouseY`|Integer|Used in a method installed by the [`ON EVENT CALL`](../commands-legacy/on-event-call.md) command. In a `MouseDown=1` event, `MouseX` and `MouseY` are respectively set to the vertical and horizontal coordinates of the click. Both values are expressed in pixels and use the local coordinate system of the window. In case of a picture field or variable, `MouseX` and `MouseY` return the local coordinates of a mouse click in the [`On Clicked`](../Events/onClicked.md), [`On Double Clicked`](../Events/onDoubleClicked.md) and [`On Mouse Up`](../Events/onMouseUp.md) form events. Local coordinates of the mouse cursor are also returned in the [`On Mouse Enter`](../Events/onMouseEnter.md) and [`On Mouse Move`](../Events/onMouseMove.md) form events. For more information, see the [Mouse Coordinates in a picture](../FormEditor/pictures.md#mouse-coordinates-in-a-picture) section.|
|`KeyCode`|Integer|Used in a method installed by the [`ON EVENT CALL`](../commands-legacy/on-event-call.md) command. Set to the character code of the key that was just pressed. If the key is a function key, `KeyCode` is set to a special code.|
diff --git a/versioned_docs/version-20/Concepts/variables.md b/versioned_docs/version-20/Concepts/variables.md
index 7515ad78f6e115..2c1c39ea3fb33a 100644
--- a/versioned_docs/version-20/Concepts/variables.md
+++ b/versioned_docs/version-20/Concepts/variables.md
@@ -243,7 +243,7 @@ System variables are used by [4D commands](commands.md). Refer to the "System va
|---|---|---|
|`OK`|Integer|Usually set to 1 after a command has displayed a dialog box and the user clicked the **OK** button, and 0 if they clicked **Cancel**. Some commands also modify the value of the `OK` system variable when a operation is successfully executed.
|`Document`|Text|Contains the "long name" (full path+name) of the last file opened or created using commands such as [Open document](https://doc.4d.com/4dv20/help/command/en/page264.html) or [SELECT LOG FILE](https://doc.4d.com/4dv20/help/command/en/page345.html).|
-|`FldDelimit`, `RecDelimit`|Text|Contain the character codes that will be used respectively as a field separator (default is **Tab** (9)) and record separator (default is **carriage return** (13)) when importing or exporting text. To use a different separator, assign a new value to the system variable.|
+|`FldDelimit`, `RecDelimit`|Integer|Contain the character codes that will be used respectively as a field separator (default is **Tab** (9)) and record separator (default is **carriage return** (13)) when importing or exporting text. To use a different separator, assign a new value to the system variable.|
|`Error`, `Error method`, `Error line`, `Error formula`|Text, Longint|Used in an error-catching method installed by the [`ON ERR CALL`](https://doc.4d.com/4dv20/help/command/en/page155.html) command. See [Handling errors within the method](../Concepts/error-handling.md#handling-errors-within-the-method).|
|`MouseDown`|Integer|Used in a method installed by the [`ON EVENT CALL`](https://doc.4d.com/4dv20/help/command/en/page190.html) command. Set to 1 when the mouse button is pushed, otherwise set to 0. |
|`MouseX`, `MouseY`|Integer|Used in a method installed by the [`ON EVENT CALL`](https://doc.4d.com/4dv20/help/command/en/page190.html) command. In a `MouseDown=1` event, `MouseX` and `MouseY` are respectively set to the vertical and horizontal coordinates of the click. Both values are expressed in pixels and use the local coordinate system of the window. In case of a picture field or variable, `MouseX` and `MouseY` return the local coordinates of a mouse click in the [`On Clicked`](../Events/onClicked.md), [`On Double Clicked`](../Events/onDoubleClicked.md) and [`On Mouse Up`](../Events/onMouseUp.md) form events. Local coordinates of the mouse cursor are also returned in the [`On Mouse Enter`](../Events/onMouseEnter.md) and [`On Mouse Move`](../Events/onMouseMove.md) form events. For more information, see the [Mouse Coordinates in a picture](../FormEditor/pictures.md#mouse-coordinates-in-a-picture) section.|
diff --git a/versioned_docs/version-21/Concepts/variables.md b/versioned_docs/version-21/Concepts/variables.md
index 7d1dc84eabbaec..179f975c72f322 100644
--- a/versioned_docs/version-21/Concepts/variables.md
+++ b/versioned_docs/version-21/Concepts/variables.md
@@ -259,8 +259,9 @@ System variables are used by [4D commands](../commands/command-index.md). Refer
|---|---|---|
|`OK`|Integer|Usually set to 1 after a command has displayed a dialog box and the user clicked the **OK** button, and 0 if they clicked **Cancel**. Some commands also modify the value of the `OK` system variable when a operation is successfully executed.
|`Document`|Text|Contains the "long name" (full path+name) of the last file opened or created using commands such as [Open document](../commands-legacy/open-document.md) or [SELECT LOG FILE](../commands/select-log-file.md).|
-|`FldDelimit`, `RecDelimit`|Text|Contain the character codes that will be used respectively as a field separator (default is **Tab** (9)) and record separator (default is **carriage return** (13)) when importing or exporting text. To use a different separator, assign a new value to the system variable.|
-|`Error`, `Error method`, `Error line`, `Error formula`|Text, Longint|Used in an error-catching method installed by the [`ON ERR CALL`](../commands-legacy/on-err-call.md) command. See [Handling errors within the method](../Concepts/error-handling.md#handling-errors-within-the-method).|
+|`FldDelimit`, `RecDelimit`|Integer|Contain the character codes that will be used respectively as a field separator (default is **Tab** (9)) and record separator (default is **carriage return** (13)) when importing or exporting text. To use a different separator, assign a new value to the system variable.|
+|`Error`, `Error line`|Integer|Used in an error-catching method installed by the [`ON ERR CALL`](../commands-legacy/on-err-call.md) command. See [Handling errors within the method](../Concepts/error-handling.md#handling-errors-within-the-method).|
+|`Error method`, `Error formula`|Text|Used in an error-catching method installed by the [`ON ERR CALL`](../commands-legacy/on-err-call.md) command. See [Handling errors within the method](../Concepts/error-handling.md#handling-errors-within-the-method).|
|`MouseDown`|Integer|Used in a method installed by the [`ON EVENT CALL`](../commands-legacy/on-event-call.md) command. Set to 1 when the mouse button is pushed, otherwise set to 0. |
|`MouseX`, `MouseY`|Integer|Used in a method installed by the [`ON EVENT CALL`](../commands-legacy/on-event-call.md) command. In a `MouseDown=1` event, `MouseX` and `MouseY` are respectively set to the vertical and horizontal coordinates of the click. Both values are expressed in pixels and use the local coordinate system of the window. In case of a picture field or variable, `MouseX` and `MouseY` return the local coordinates of a mouse click in the [`On Clicked`](../Events/onClicked.md), [`On Double Clicked`](../Events/onDoubleClicked.md) and [`On Mouse Up`](../Events/onMouseUp.md) form events. Local coordinates of the mouse cursor are also returned in the [`On Mouse Enter`](../Events/onMouseEnter.md) and [`On Mouse Move`](../Events/onMouseMove.md) form events. For more information, see the [Mouse Coordinates in a picture](../FormEditor/pictures.md#mouse-coordinates-in-a-picture) section.|
|`KeyCode`|Integer|Used in a method installed by the [`ON EVENT CALL`](../commands-legacy/on-event-call.md) command. Set to the character code of the key that was just pressed. If the key is a function key, `KeyCode` is set to a special code.|
From 53d75c876d1bee1c89b503a1078f98e4dc1eacb9 Mon Sep 17 00:00:00 2001
From: arnaud-4d
Date: Tue, 18 Nov 2025 11:12:41 +0100
Subject: [PATCH 29/75] old note to remove
---
docs/commands-legacy/blob-to-print-settings.md | 1 -
.../version-20-R10/commands-legacy/blob-to-print-settings.md | 1 -
.../version-21/commands-legacy/blob-to-print-settings.md | 1 -
3 files changed, 3 deletions(-)
diff --git a/docs/commands-legacy/blob-to-print-settings.md b/docs/commands-legacy/blob-to-print-settings.md
index a474607f73cc37..377dfb55a729d0 100644
--- a/docs/commands-legacy/blob-to-print-settings.md
+++ b/docs/commands-legacy/blob-to-print-settings.md
@@ -34,7 +34,6 @@ The command returns one of the following status codes:
* 0: no current printer is selected (in this case the command does nothing),
* 1: the BLOB has been correctly loaded,
* 2: the BLOB has been correctly loaded but the current printer name has changed(\*).
-**Note:** Code (2) is always returned if the BLOB was created by the 4D Pack command, even if the printer name did not actually change, since this information was not included in the 4D Pack BLOBs.
(\*) Settings depend on the currently selected printer at the moment the BLOB was saved. Applying these settings to a another printer is supported if both printers are of the same model. If the printers are different, only common parameters will be restored.
diff --git a/versioned_docs/version-20-R10/commands-legacy/blob-to-print-settings.md b/versioned_docs/version-20-R10/commands-legacy/blob-to-print-settings.md
index a474607f73cc37..377dfb55a729d0 100644
--- a/versioned_docs/version-20-R10/commands-legacy/blob-to-print-settings.md
+++ b/versioned_docs/version-20-R10/commands-legacy/blob-to-print-settings.md
@@ -34,7 +34,6 @@ The command returns one of the following status codes:
* 0: no current printer is selected (in this case the command does nothing),
* 1: the BLOB has been correctly loaded,
* 2: the BLOB has been correctly loaded but the current printer name has changed(\*).
-**Note:** Code (2) is always returned if the BLOB was created by the 4D Pack command, even if the printer name did not actually change, since this information was not included in the 4D Pack BLOBs.
(\*) Settings depend on the currently selected printer at the moment the BLOB was saved. Applying these settings to a another printer is supported if both printers are of the same model. If the printers are different, only common parameters will be restored.
diff --git a/versioned_docs/version-21/commands-legacy/blob-to-print-settings.md b/versioned_docs/version-21/commands-legacy/blob-to-print-settings.md
index a474607f73cc37..377dfb55a729d0 100644
--- a/versioned_docs/version-21/commands-legacy/blob-to-print-settings.md
+++ b/versioned_docs/version-21/commands-legacy/blob-to-print-settings.md
@@ -34,7 +34,6 @@ The command returns one of the following status codes:
* 0: no current printer is selected (in this case the command does nothing),
* 1: the BLOB has been correctly loaded,
* 2: the BLOB has been correctly loaded but the current printer name has changed(\*).
-**Note:** Code (2) is always returned if the BLOB was created by the 4D Pack command, even if the printer name did not actually change, since this information was not included in the 4D Pack BLOBs.
(\*) Settings depend on the currently selected printer at the moment the BLOB was saved. Applying these settings to a another printer is supported if both printers are of the same model. If the printers are different, only common parameters will be restored.
From 8687ca7214b899df1af04de36049c6df4f6236aa Mon Sep 17 00:00:00 2001
From: arnaud-4d
Date: Wed, 19 Nov 2025 10:04:56 +0100
Subject: [PATCH 30/75] New Crowdin updates (#3000)
* New translations variables.md (French)
* New translations variables.md (French)
* New translations variables.md (French)
* New translations orda-events.md (French)
* New translations variables.md (French)
* New translations orda-events.md (French)
* New translations variables.md (French)
* New translations orda-events.md (French)
* New translations variables.md (Spanish)
* New translations variables.md (Spanish)
* New translations formeditor.md (Spanish)
* New translations webserverclass.md (Spanish)
* New translations variables.md (Spanish)
* New translations properties_resizingoptions.md (Spanish)
* New translations properties.md (Spanish)
* New translations ordaclasses.md (Spanish)
* New translations privileges.md (Spanish)
* New translations date-time-formats.md (Spanish)
* New translations $filter.md (Spanish)
* New translations classes.md (Spanish)
* New translations preemptiveweb.md (Spanish)
* New translations qodly-studio.md (Spanish)
* New translations wp-import-document.md (Spanish)
* New translations tcpeventclass.md (Spanish)
* New translations openai.md (Spanish)
* New translations openaierror.md (Spanish)
* New translations openaimessage.md (Spanish)
* New translations openaiparameters.md (Spanish)
* New translations asynchronous-call.md (Spanish)
* New translations call-chain.md (Spanish)
* New translations command-name.md (Spanish)
* New translations orda-events.md (Spanish)
* New translations datastoreclass.md (Spanish)
* New translations tcpeventclass.md (Spanish)
* New translations variables.md (Spanish)
* New translations properties.md (Spanish)
* New translations orda-events.md (Spanish)
* New translations ordaclasses.md (Spanish)
* New translations date-time-formats.md (Spanish)
* New translations classes.md (Spanish)
* New translations vp-set-workbook-options.md (Spanish)
* New translations qodly-studio.md (Spanish)
* New translations wp-export-document.md (Spanish)
* New translations wp-export-variable.md (Spanish)
* New translations wp-import-document.md (Spanish)
* New translations openai.md (Spanish)
* New translations openaierror.md (Spanish)
* New translations openaiparameters.md (Spanish)
* New translations asynchronous-call.md (Spanish)
* New translations call-chain.md (Spanish)
* New translations command-name.md (Spanish)
* New translations string.md (Spanish)
* New translations datastoreclass.md (Spanish)
* New translations entityclass.md (Spanish)
* New translations tcpeventclass.md (Spanish)
* New translations webserverclass.md (Spanish)
* New translations variables.md (Spanish)
* New translations forms.md (Spanish)
* New translations call-chain.md (Spanish)
* New translations command-name.md (Spanish)
* New translations string.md (Spanish)
* New translations properties.md (Spanish)
* New translations orda-events.md (Spanish)
* New translations ordaclasses.md (Spanish)
* New translations privileges.md (Spanish)
* New translations date-time-formats.md (Spanish)
* New translations $filter.md (Spanish)
* New translations classes.md (Spanish)
* New translations vp-set-workbook-options.md (Spanish)
* New translations preemptiveweb.md (Spanish)
* New translations qodly-studio.md (Spanish)
* New translations wp-export-document.md (Spanish)
* New translations wp-export-variable.md (Spanish)
* New translations wp-import-document.md (Spanish)
* New translations openai.md (Spanish)
* New translations openaierror.md (Spanish)
* New translations openaimessage.md (Spanish)
* New translations openaiparameters.md (Spanish)
* New translations asynchronous-call.md (Spanish)
* New translations variables.md (Japanese)
* New translations variables.md (Japanese)
* New translations variables.md (Japanese)
* New translations glossary.md (Japanese)
* New translations orda-events.md (Japanese)
* New translations variables.md (Japanese)
* New translations glossary.md (Japanese)
* New translations orda-events.md (Japanese)
* New translations variables.md (Japanese)
* New translations glossary.md (Japanese)
* New translations orda-events.md (Japanese)
* New translations variables.md (Portuguese, Brazilian)
* New translations variables.md (Portuguese, Brazilian)
* New translations variables.md (Portuguese, Brazilian)
* New translations orda-events.md (Portuguese, Brazilian)
* New translations variables.md (Portuguese, Brazilian)
* New translations orda-events.md (Portuguese, Brazilian)
* New translations variables.md (Portuguese, Brazilian)
* New translations orda-events.md (Portuguese, Brazilian)
* New translations orda-events.md (Japanese)
* New translations orda-events.md (Japanese)
* New translations orda-events.md (Japanese)
---
.../current/API/TCPEventClass.md | 2 +-
.../current/API/WebServerClass.md | 4 +-
.../current/Concepts/variables.md | 23 ++--
.../FormObjects/properties_ResizingOptions.md | 2 +-
.../current/Menus/properties.md | 10 +-
.../current/ORDA/orda-events.md | 30 ++--
.../current/ORDA/ordaClasses.md | 4 +-
.../current/ORDA/privileges.md | 4 +-
.../current/Project/date-time-formats.md | 2 +-
.../current/REST/$filter.md | 2 +-
.../current/ViewPro/classes.md | 2 +-
.../current/WebServer/preemptiveWeb.md | 2 +-
.../current/WebServer/qodly-studio.md | 4 +-
.../WritePro/commands/wp-import-document.md | 4 +-
.../current/aikit/Classes/OpenAI.md | 2 +-
.../current/aikit/Classes/OpenAIError.md | 2 +-
.../current/aikit/Classes/OpenAIMessage.md | 8 +-
.../current/aikit/Classes/OpenAIParameters.md | 14 +-
.../current/aikit/asynchronous-call.md | 2 +-
.../current/commands/call-chain.md | 2 +-
.../current/commands/command-name.md | 2 +-
.../current/commands/string.md | 2 +-
.../version-19/Concepts/variables.md | 2 +-
.../version-20-R10/API/DataStoreClass.md | 2 +-
.../version-20-R10/API/TCPEventClass.md | 2 +-
.../version-20-R10/Concepts/variables.md | 23 ++--
.../version-20-R10/Menus/properties.md | 10 +-
.../version-20-R10/ORDA/orda-events.md | 2 +-
.../version-20-R10/ORDA/ordaClasses.md | 4 +-
.../Project/date-time-formats.md | 2 +-
.../version-20-R10/ViewPro/classes.md | 2 +-
.../commands/vp-set-workbook-options.md | 8 +-
.../version-20-R10/WebServer/qodly-studio.md | 2 +-
.../WritePro/commands/wp-export-document.md | 38 ++---
.../WritePro/commands/wp-export-variable.md | 38 ++---
.../WritePro/commands/wp-import-document.md | 4 +-
.../version-20-R10/aikit/Classes/OpenAI.md | 2 +-
.../aikit/Classes/OpenAIError.md | 2 +-
.../aikit/Classes/OpenAIParameters.md | 10 +-
.../version-20-R10/aikit/asynchronous-call.md | 2 +-
.../version-20-R10/commands/call-chain.md | 2 +-
.../version-20-R10/commands/command-name.md | 2 +-
.../version-20/Concepts/variables.md | 2 +-
.../version-20/FormEditor/formEditor.md | 2 +-
.../version-21/API/DataStoreClass.md | 2 +-
.../version-21/API/EntityClass.md | 18 +--
.../version-21/API/TCPEventClass.md | 2 +-
.../version-21/API/WebServerClass.md | 4 +-
.../version-21/Concepts/variables.md | 23 ++--
.../version-21/FormEditor/forms.md | 2 +-
.../version-21/Menus/properties.md | 10 +-
.../version-21/ORDA/orda-events.md | 30 ++--
.../version-21/ORDA/ordaClasses.md | 2 +-
.../version-21/ORDA/privileges.md | 6 +-
.../version-21/Project/date-time-formats.md | 2 +-
.../version-21/REST/$filter.md | 12 +-
.../version-21/ViewPro/classes.md | 2 +-
.../commands/vp-set-workbook-options.md | 8 +-
.../version-21/WebServer/preemptiveWeb.md | 2 +-
.../version-21/WebServer/qodly-studio.md | 2 +-
.../WritePro/commands/wp-export-document.md | 38 ++---
.../WritePro/commands/wp-export-variable.md | 38 ++---
.../WritePro/commands/wp-import-document.md | 4 +-
.../version-21/aikit/Classes/OpenAI.md | 2 +-
.../version-21/aikit/Classes/OpenAIError.md | 2 +-
.../version-21/aikit/Classes/OpenAIMessage.md | 4 +-
.../aikit/Classes/OpenAIParameters.md | 14 +-
.../version-21/aikit/asynchronous-call.md | 2 +-
.../version-21/commands/call-chain.md | 2 +-
.../version-21/commands/command-name.md | 2 +-
.../version-21/commands/string.md | 2 +-
.../current/Concepts/variables.md | 23 ++--
.../current/ORDA/orda-events.md | 12 +-
.../version-19/Concepts/variables.md | 2 +-
.../version-20-R10/Concepts/variables.md | 23 ++--
.../version-20-R10/ORDA/orda-events.md | 2 +-
.../version-20/Concepts/variables.md | 2 +-
.../version-21/Concepts/variables.md | 23 ++--
.../version-21/ORDA/orda-events.md | 12 +-
.../current/Concepts/variables.md | 23 ++--
.../current/ORDA/glossary.md | 6 +-
.../current/ORDA/orda-events.md | 130 ++++++++++--------
.../version-19/Concepts/variables.md | 2 +-
.../version-20-R10/Concepts/variables.md | 23 ++--
.../version-20-R10/ORDA/glossary.md | 6 +-
.../version-20-R10/ORDA/orda-events.md | 60 ++++----
.../version-20/Concepts/variables.md | 2 +-
.../version-21/Concepts/variables.md | 23 ++--
.../version-21/ORDA/glossary.md | 6 +-
.../version-21/ORDA/orda-events.md | 128 +++++++++--------
.../current/Concepts/variables.md | 23 ++--
.../current/ORDA/orda-events.md | 12 +-
.../version-19/Concepts/variables.md | 2 +-
.../version-20-R10/Concepts/variables.md | 23 ++--
.../version-20-R10/ORDA/orda-events.md | 2 +-
.../version-20/Concepts/variables.md | 2 +-
.../version-21/Concepts/variables.md | 23 ++--
.../version-21/ORDA/orda-events.md | 12 +-
98 files changed, 606 insertions(+), 530 deletions(-)
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/API/TCPEventClass.md b/i18n/es/docusaurus-plugin-content-docs/current/API/TCPEventClass.md
index c5ed7c2561fabb..fb2d8d27b187e0 100644
--- a/i18n/es/docusaurus-plugin-content-docs/current/API/TCPEventClass.md
+++ b/i18n/es/docusaurus-plugin-content-docs/current/API/TCPEventClass.md
@@ -3,7 +3,7 @@ id: TCPEventClass
title: TCPEvent
---
-The `TCPEvent` class provides information about events occurring during the lifecycle of a TCP connection. It is generated when a [TCPConnection](TCPConnectionClass.md) is opened and is typically utilized in callbacks such as `onConnection`, `onData`, `onError`, and others.
+La clase `TCPEvent` ofrece información sobre los eventos que se producen durante el ciclo de vida de una conexión TCP. It is generated when a [TCPConnection](TCPConnectionClass.md) is opened and is typically utilized in callbacks such as `onConnection`, `onData`, `onError`, and others.
Historia
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/API/WebServerClass.md b/i18n/es/docusaurus-plugin-content-docs/current/API/WebServerClass.md
index 9b27f3d5414da9..3f4c6a3239e5ec 100644
--- a/i18n/es/docusaurus-plugin-content-docs/current/API/WebServerClass.md
+++ b/i18n/es/docusaurus-plugin-content-docs/current/API/WebServerClass.md
@@ -187,7 +187,7 @@ El nombre de la página de i
*Propiedad de sólo lectura*
-A collection of custom HTTP handler objects. An HTTP handler object contains a listened URL pattern, a handled verb, and the code to be called. HTTP handlers can be defined through a HTTPHandlers.json file or the *settings* parameter of the [`.start()`](#start) function. Para más información, consulte la página [HTTP Request handler](../WebServer/http-request-handler.md).
+Una colección de objetos HTTP handler personalizados. Un objeto HTTP handler contiene un patrón de URL escuchado, un verbo manejado y el código a llamar. Los manejadores HTTP pueden definirse a través de un archivo HTTPHandlers.json o del parámetro *settings* de la función [`.start()`](#start). Para más información, consulte la página [HTTP Request handler](../WebServer/http-request-handler.md).
@@ -495,7 +495,7 @@ La ruta de la carpeta raíz del s
*Propiedad de sólo lectura*
-A collection of rule objects currently handled to customize HTTP headers. A rule object contains a "regexPattern" property, as well as an action name with a value. HTTP rules can be defined through a HTTPRules.json file or the *settings* parameter of the [`.start()`](#start) function. Para obtener más información, consulte la página [Reglas HTTP](../WebServer/http-rules.md).
+Una colección de objetos de reglas que se manejan actualmente para personalizar los encabezados HTTP. Un objeto regla contiene una propiedad "regexPattern", así como un nombre de acción con un valor. Las reglas HTTP pueden definirse a través de un archivo HTTPRules.json o del parámetro *settings* de la función [`.start()`](#start). Para obtener más información, consulte la página [Reglas HTTP](../WebServer/http-rules.md).
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/Concepts/variables.md b/i18n/es/docusaurus-plugin-content-docs/current/Concepts/variables.md
index a1cc173febeb9b..e31872102c3770 100644
--- a/i18n/es/docusaurus-plugin-content-docs/current/Concepts/variables.md
+++ b/i18n/es/docusaurus-plugin-content-docs/current/Concepts/variables.md
@@ -250,17 +250,18 @@ El lenguaje 4D maneja varias **variables sistema**, las cuales le permiten contr
Las variables del sistema son utilizadas por los [comandos 4D](../commands/command-index.md). Consulte el párrafo "Variables del sistema y conjuntos" en la descripción de un comando para averiguar si afecta a una variable del sistema.
-| Nombre de la variable del sistema | Tipo | Descripción |
-| ------------------------------------------------------ | ------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
-| `OK` | Integer | Normalmente se establece en 1 después de que un comando haya mostrado una caja de diálogo y el usuario haya hecho clic en el botón **Aceptar**, y en 0 si hizo clic en **Cancelar**. Algunos comandos también modifican el valor de la variable del sistema `OK` cuando se ejecuta una operación con éxito. |
-| `Document` | Text | Contiene el "nombre largo" (ruta completa+nombre) del último archivo abierto o creado utilizando comandos como [Open document](../commands-legacy/open-document.md) o [SELECT LOG FILE](../commands/select-log-file.md). |
-| `FldDelimit`, `RecDelimit` | Text | Contienen los códigos de caracteres que se utilizarán respectivamente como separador de campos (por defecto es **Tab** (9)) y separador de registros (por defecto es **retorno de carro** (13)) al importar o exportar texto. Para utilizar un separador diferente, asigne un nuevo valor a la variable del sistema. |
-| `Error`, `Error method`, `Error line`, `Error formula` | Text, Longint | Utilizado en un método de captura de errores instalado por el comando [`ON ERR CALL`](../commands-legacy/on-err-call.md). Ver [Gestión de errores en el método](../Concepts/error-handling.md#handling-errors-within-the-method). |
-| `MouseDown` | Integer | Utilizado en un método instalado por el comando [`ON EVENT CALL`](../commands-legacy/on-event-call.md). Toma el valor 1 cuando se presiona el botón del ratón, de lo contrario 0. |
-| `MouseX`, `MouseY` | Integer | Utilizado en un método instalado por el comando [`ON EVENT CALL`](../commands-legacy/on-event-call.md). En un evento `MouseDown=1`, `MouseX` y `MouseY` se establecen respectivamente en las coordenadas verticales y horizontales del clic. Ambos valores se expresan en píxeles y utilizan el sistema de coordenadas local de la ventana. En el caso de un campo imagen o variable, `MouseX` y `MouseY` devuelven las coordenadas locales de un clic de ratón en los eventos de formulario [`On Clicked`](../Events/onClicked.md), [`On Double Clicked`](../Events/onDoubleClicked.md) y [`On Mouse Up`](../Events/onMouseUp.md). Las coordenadas locales del cursor del ratón también se retornan en los eventos formulario [`On Mouse Enter`](../Events/onMouseEnter.md) y [`On Mouse Move`](../Events/onMouseMove.md). Para obtener más información, consulte la sección [Coordenadas del ratón en una imagen](../FormEditor/pictures.md#coordenadas-del-ratón-en-una-imagen). |
-| `KeyCode` | Integer | Utilizado en un método instalado por el comando [`ON EVENT CALL`](../commands-legacy/on-event-call.md). Define el código de carácter de la tecla que se acaba de presionar. Si la tecla es una tecla de función, `KeyCode` se establece como un código especial. |
-| `Modifiers` | Integer | Utilizado en un método instalado por el comando [`ON EVENT CALL`](../commands-legacy/on-event-call.md). Establece las teclas modificadoras del teclado (Ctrl/Command, Alt/Option, Shift, Caps Lock). |
-| `MouseProc` | Integer | Utilizado en un método instalado por el comando [`ON EVENT CALL`](../commands-legacy/on-event-call.md). Define el número de proceso en el que tuvo lugar el último evento |
+| Nombre de la variable del sistema | Tipo | Descripción |
+| --------------------------------- | ------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| `OK` | Integer | Normalmente se establece en 1 después de que un comando haya mostrado una caja de diálogo y el usuario haya hecho clic en el botón **Aceptar**, y en 0 si hizo clic en **Cancelar**. Algunos comandos también modifican el valor de la variable del sistema `OK` cuando se ejecuta una operación con éxito. |
+| `Document` | Text | Contiene el "nombre largo" (ruta completa+nombre) del último archivo abierto o creado utilizando comandos como [Open document](../commands-legacy/open-document.md) o [SELECT LOG FILE](../commands/select-log-file.md). |
+| `FldDelimit`, `RecDelimit` | Integer | Contienen los códigos de caracteres que se utilizarán respectivamente como separador de campos (por defecto es **Tab** (9)) y separador de registros (por defecto es **retorno de carro** (13)) al importar o exportar texto. Para utilizar un separador diferente, asigne un nuevo valor a la variable del sistema. |
+| `Error`, `Error line` | Integer | Utilizado en un método de captura de errores instalado por el comando [`ON ERR CALL`](../commands-legacy/on-err-call.md). Ver [Gestión de errores en el método](../Concepts/error-handling.md#handling-errors-within-the-method). |
+| `Error method`, `Error formula` | Text | Utilizado en un método de captura de errores instalado por el comando [`ON ERR CALL`](../commands-legacy/on-err-call.md). Ver [Gestión de errores en el método](../Concepts/error-handling.md#handling-errors-within-the-method). |
+| `MouseDown` | Integer | Utilizado en un método instalado por el comando [`ON EVENT CALL`](../commands-legacy/on-event-call.md). Toma el valor 1 cuando se presiona el botón del ratón, de lo contrario 0. |
+| `MouseX`, `MouseY` | Integer | Utilizado en un método instalado por el comando [`ON EVENT CALL`](../commands-legacy/on-event-call.md). En un evento `MouseDown=1`, `MouseX` y `MouseY` se establecen respectivamente en las coordenadas verticales y horizontales del clic. Ambos valores se expresan en píxeles y utilizan el sistema de coordenadas local de la ventana. En el caso de un campo imagen o variable, `MouseX` y `MouseY` devuelven las coordenadas locales de un clic de ratón en los eventos de formulario [`On Clicked`](../Events/onClicked.md), [`On Double Clicked`](../Events/onDoubleClicked.md) y [`On Mouse Up`](../Events/onMouseUp.md). Las coordenadas locales del cursor del ratón también se retornan en los eventos formulario [`On Mouse Enter`](../Events/onMouseEnter.md) y [`On Mouse Move`](../Events/onMouseMove.md). Para obtener más información, consulte la sección [Coordenadas del ratón en una imagen](../FormEditor/pictures.md#coordenadas-del-ratón-en-una-imagen). |
+| `KeyCode` | Integer | Utilizado en un método instalado por el comando [`ON EVENT CALL`](../commands-legacy/on-event-call.md). Define el código de carácter de la tecla que se acaba de presionar. Si la tecla es una tecla de función, `KeyCode` se establece como un código especial. |
+| `Modifiers` | Integer | Utilizado en un método instalado por el comando [`ON EVENT CALL`](../commands-legacy/on-event-call.md). Establece las teclas modificadoras del teclado (Ctrl/Command, Alt/Option, Shift, Caps Lock). |
+| `MouseProc` | Integer | Utilizado en un método instalado por el comando [`ON EVENT CALL`](../commands-legacy/on-event-call.md). Define el número de proceso en el que tuvo lugar el último evento |
:::note
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/FormObjects/properties_ResizingOptions.md b/i18n/es/docusaurus-plugin-content-docs/current/FormObjects/properties_ResizingOptions.md
index 034b086ceeb04b..523a61b774b61c 100644
--- a/i18n/es/docusaurus-plugin-content-docs/current/FormObjects/properties_ResizingOptions.md
+++ b/i18n/es/docusaurus-plugin-content-docs/current/FormObjects/properties_ResizingOptions.md
@@ -77,7 +77,7 @@ Hay tres opciones disponibles:
## Dimensionamiento vertical
-This property specifies if an object should be vertically moved or resized when a user resizes the form. It can also be set dynamically by the [`OBJECT SET RESIZING OPTIONS`](../commands-legacy/object-set-resizing-options.md) command.
+Esta propiedad especifica si un objeto debe moverse o redimensionarse verticalmente cuando un usuario redimensiona el formulario. También puede establecerse dinámicamente mediante el comando [`OBJECT SET RESIZING OPTIONS`](../commands-legacy/object-set-resizing-options.md).
Hay tres opciones disponibles:
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/Menus/properties.md b/i18n/es/docusaurus-plugin-content-docs/current/Menus/properties.md
index bec5839a46f923..c8b97a59c2b5b3 100644
--- a/i18n/es/docusaurus-plugin-content-docs/current/Menus/properties.md
+++ b/i18n/es/docusaurus-plugin-content-docs/current/Menus/properties.md
@@ -12,9 +12,9 @@ La propiedad **Title** contiene la etiqueta de un menú o elemento de menú tal
En el editor de menús, puede introducir directamente la etiqueta como "fijo". También puede introducir una referencia para una variable o un elemento XLIFF, lo que facilitará el mantenimiento y la traducción de las aplicaciones. Puede utilizar los siguientes tipos de referencias:
- Una referencia a un recurso XLIFF del tipo :xliff:MyLabel. Para más información sobre las referencias XLIFF, consulte la sección *Arquitectura XLIFF* en *Referencia Diseño 4D*.
-- (**Deprecated**) An interprocess variable name followed by a number, for example: `:<>vlang,3`. Si se cambia el contenido de esta variable, se modificará la etiqueta del menú cuando se muestre. En este caso, la etiqueta llamará a un recurso XLIFF. El valor contenido en la variable `<>vlang` corresponde al atributo *id* del elemento *group*. El segundo valor (3 en este ejemplo) designa el atributo *id* del elemento *trans-unit*.
+- (**Obsoleto**) Un nombre de variable interproceso seguido de un número, por ejemplo: `:<>vlang,3`. Si se cambia el contenido de esta variable, se modificará la etiqueta del menú cuando se muestre. En este caso, la etiqueta llamará a un recurso XLIFF. El valor contenido en la variable `<>vlang` corresponde al atributo *id* del elemento *group*. El segundo valor (3 en este ejemplo) designa el atributo *id* del elemento *trans-unit*.
-Using the 4D language, you set the title property through the *itemText* parameter of the [`APPEND MENU ITEM`](../commands/append-menu-item), [`INSERT MENU ITEM`](../commands/insert-menu-item), and [`SET MENU ITEM`](../commands/set-menu-item) commands.
+Usando el lenguaje 4D, se define la propiedad del título a través del parámetro *itemText* de los comandos [`APPEND MENU ITEM`](../commands/append-menu-item), [`INSERT MENU ITEM`](../commands/insert-menu-item), y [`SET MENU ITEM`](../commands/set-menu-item).
### Caracteres de control
@@ -33,9 +33,9 @@ Los caracteres de control no aparecen en las etiquetas de los comandos del menú
## Parámetros
-Puede asociar un parámetro personalizado a cada elemento del menú. Un parámetro de elemento de menú es una cadena de caracteres cuyo contenido puede elegirse libremente. It can be set in the Menu editor, or through the [`SET MENU ITEM PARAMETER`](../commands/set-menu-item-parameter) command.
+Puede asociar un parámetro personalizado a cada elemento del menú. Un parámetro de elemento de menú es una cadena de caracteres cuyo contenido puede elegirse libremente. Puede configurarse en el editor de menús o mediante el comando [`SET MENU ITEM PARAMETER`](../commands/set-menu-item-parameter).
-Menu item parameters are useful with programmed management of menus, in particular when using the [`Dynamic pop up menu`](../commands/dynamic-pop-up-menu), [`Get menu item parameter`](../commands/get-menu-item-parameter) and [`Get selected menu item parameter`](../commands/get-selected-menu-item-parameter) commands.
+Los parámetros de los elementos de menú son útiles para la gestión programada de menús, en particular cuando se utilizan los comandos [`Dynamic pop up menu`](../commands/dynamic-pop-up-menu), [`Get menu item parameter`](../commands/get-menu-item-parameter) y [`Get selected menu item parameter`](../commands/get-selected-menu-item-parameter).
## Acción
@@ -57,7 +57,7 @@ Puede asignar un método proyecto y/o una acción estándar a un comando de men
- **Acción estándar asociada**: elija o escriba la acción que desea asignar en el combo box "Acción estándar asociada". Puede introducir toda acción soportada y (opcionalmente) el parámetro que desee en el área. Para obtener una lista completa de acciones estándar, consulte la sección **Acciones estándar** en el *Modo Diseño*.
**Nota para macOS:** en macOS, los comandos de menús personalizados asociados a la acción *Salir* se colocan automáticamente en el menú de la aplicación, conforme a los estándares de interfaz de la plataforma.
-Using the 4D language, you can associate a project method using the [`SET MENU ITEM METHOD`](../commands/set-menu-item-method) command, and a standard action using the [`SET MENU ITEM PROPERTY`](../commands/set-menu-item-property) command.
+Utilizando el lenguaje 4D, puede asociar un método de proyecto utilizando el comando [`SET MENU ITEM METHOD`](../commands/set-menu-item-method), y una acción estándar utilizando el comando [`SET MENU ITEM PROPERTY`](../commands/set-menu-item-property).
### Iniciar un proceso
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/ORDA/orda-events.md b/i18n/es/docusaurus-plugin-content-docs/current/ORDA/orda-events.md
index 6b204d9893d00f..ddf8750a6c544a 100644
--- a/i18n/es/docusaurus-plugin-content-docs/current/ORDA/orda-events.md
+++ b/i18n/es/docusaurus-plugin-content-docs/current/ORDA/orda-events.md
@@ -24,7 +24,7 @@ No se puede activar directamente la ejecución de la función de evento. Los eve
:::info Nota de compatibilidad
-Los eventos de entidad ORDA en el almacen de datos equivalen a triggers en la base de datos 4D. Sin embargo, las acciones desencadenadas a nivel de la base de datos 4D utilizando los comandos del lenguaje clásico 4D o las acciones estándar no desencadenan eventos ORDA.
+Los eventos de entidad ORDA en el almacen de datos equivalen a triggers en la base de datos 4D. Sin embargo, las acciones desencadenadas a nivel de la base de datos 4D utilizando los comandos del lenguaje clásico 4D o las acciones estándar no desencadenan eventos ORDA. Note also that, unlike triggers, ORDA entity events do not lock the entire underlying table of a dataclass while saving or dropping entities. Several events can run in parallel as long as they involve distinct entities (i.e. records).
:::
@@ -338,7 +338,7 @@ Este evento es activado por las siguientes funciones:
This event is triggered **before** the entity is actually saved and lets you check data consistency so that you can stop the action if needed. Por ejemplo, puede comprobar en este evento que "fecha de salida" < "fecha de llegada".
-To stop the action, the code of the function must return an [error object](#error-object).
+Para detener la acción, el código de la función debe devolver un [objeto error](#error-object).
:::note
@@ -380,7 +380,7 @@ Function event saving ($event : Object)
Este evento se activa cada vez que se guarda una entidad.
- Si define la función a nivel de entidad (primera Sintaxis), se llama para cualquier atributo de la entidad. The function is executed even if no attribute has been touched in the entity (e.g. in case of sending data to an external app each time a save is done).
-- If you defined the function at the attribute level (second syntax), it is called only for this attribute. La función **no** se ejecuta si el atributo no ha sido tocado en la entidad.
+- Si definió la función en el nivel de atributo (segunda Sintaxis), solo se llama para este atributo. La función **no** se ejecuta si el atributo no ha sido tocado en la entidad.
La función recibe un [objeto *event*](#event-parameter) como parámetro.
@@ -393,13 +393,13 @@ Este evento se activa **mientras** la entidad se guarda. If a [`validateSave()`]
:::note
-The business logic should raise errors which can't be detected during the `validateSave()` events, e.g. a network error
+La lógica de negocio debe generar errores que no puedan detectarse durante los eventos `validateSave()`, por ejemplo, un error de red
:::
Durante la acción de guardar, se pueden producir errores en el motor 4D (índice, sello ha cambiado, no hay suficiente espacio en el disco).
-To stop the action, the code of the function must return an [error object](#error-object).
+Para detener la acción, el código de la función debe devolver un [objeto error](#error-object).
#### Ejemplo
@@ -420,7 +420,9 @@ If (This.userManualPath#"")
// The user manual document file is created on the disk
// This may fail if no more space is available
Try
- $fileCreated:=$userManualFile.create()
+ // The file content has been generated and stored in a map in Storage.docMap previously
+ $docInfo:=Storage.docMap.query("name = :1"; This.name).first()
+ $userManualFile.setContent($docInfo.content)
Catch
// No more room on disk for example
$result:={/
@@ -434,6 +436,12 @@ return $result
```
+:::note
+
+The content of the file is generated outside the `saving` event because it can be time consuming.
+
+:::
+
### `Function event afterSave`
#### Sintaxis
@@ -486,7 +494,7 @@ Function event validateDrop ($event : Object)
Este evento se activa cada vez que una entidad está a punto de ser soltada.
- Si define la función a nivel de entidad (primera Sintaxis), se llama para cualquier atributo de la entidad.
-- If you defined the function at the attribute level (second syntax), it is called only for this attribute.
+- Si definió la función en el nivel de atributo (segunda Sintaxis), solo se llama para este atributo.
La función recibe un [objeto *event*](#event-parameter) como parámetro.
@@ -498,7 +506,7 @@ Este evento se activa con las siguientes funcionalidades:
This event is triggered **before** the entity is actually dropped, allowing you to check data consistency and if necessary, to stop the drop action.
-To stop the action, the code of the function must return an [error object](#error-object).
+Para detener la acción, el código de la función debe devolver un [objeto error](#error-object).
#### Ejemplo
@@ -533,7 +541,7 @@ Function event dropping ($event : Object)
Este evento se activa cada vez que se elimina una entidad.
- Si define la función a nivel de entidad (primera Sintaxis), se llama para cualquier atributo de la entidad.
-- If you defined the function at the attribute level (second syntax), it is called only for this attribute.
+- Si definió la función en el nivel de atributo (segunda Sintaxis), solo se llama para este atributo.
La función recibe un [objeto *event*](#event-parameter) como parámetro.
@@ -547,11 +555,11 @@ This event is triggered **while** the entity is actually dropped. If a [`validat
:::note
-The business logic should raise errors which cannot be detected during the `validateDrop()` events, e.g. a network error.
+La lógica de negocio debe generar errores que no puedan detectarse durante los eventos `validateDrop()`, por ejemplo, un error de red.
:::
-To stop the action, the code of the function must return an [error object](#error-object).
+Para detener la acción, el código de la función debe devolver un [objeto error](#error-object).
#### Ejemplo
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/ORDA/ordaClasses.md b/i18n/es/docusaurus-plugin-content-docs/current/ORDA/ordaClasses.md
index 1889c583ab40d8..669de5f11a80eb 100644
--- a/i18n/es/docusaurus-plugin-content-docs/current/ORDA/ordaClasses.md
+++ b/i18n/es/docusaurus-plugin-content-docs/current/ORDA/ordaClasses.md
@@ -338,7 +338,7 @@ La función `Class constructor` es activada por los siguientes comandos y funcio
:::note Notas
-- The [`entity.clone()`](../API/EntityClass.md#clone) function does not trigger the entity Class constructor.
+- La función [`entity.clone()`](../API/EntityClass.md#clone) no activa el constructor de la clase de la entidad.
- Los registros creados a nivel de la base de datos 4D utilizando comandos del lenguaje clásico 4D o acciones estándar no activan el Class constructor de la entidad.
:::
@@ -404,7 +404,7 @@ sequenceDiagram
```
-#### Example 4 (diagram): Qodly - Standard action and update value on the newly created entity
+#### Ejemplo 4 (diagrama): Qodly - Acción estándar y valor de actualización en la nueva entidad creada
```mermaid
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/ORDA/privileges.md b/i18n/es/docusaurus-plugin-content-docs/current/ORDA/privileges.md
index 24876efc710352..02c55b6fb10e2f 100644
--- a/i18n/es/docusaurus-plugin-content-docs/current/ORDA/privileges.md
+++ b/i18n/es/docusaurus-plugin-content-docs/current/ORDA/privileges.md
@@ -35,7 +35,7 @@ Puede asignar acciones de permiso específicas a los siguientes recursos en su p
Cada vez que se accede a un recurso dentro de una sesión (sin importar la forma en que se acceda), 4D verifica que la sesión tenga los permisos apropiados y rechaza el acceso si no está autorizado.
-## Permissions
+## Permisos
A permission is the ability to do an action on a resource. For example, *execute the ds.myTable.myFunction()* represents a **permission**. Permissions are defined for the project in the [`roles.json`](#rolesjson-file) file. Cada permiso se puede dar a uno o más [privilegios](#privileges-and-roles).
@@ -263,7 +263,7 @@ The `restrictedByDefault` property configures how every [resource](#resources) a
Depending on your environment, the recommended settings are:
- **Production**: Set both `restrictedByDefault` and [`forceLogin`](../REST/authUsers.md#force-login-mode) to **true**. Esto garantiza la máxima seguridad al requerir autenticación de usuario y permisos explícitamente definidos para el acceso a recursos.
-- **Development**: Set both `restrictedByDefault` and [`forceLogin`](../REST/authUsers.md#force-login-mode) to **false**. Esto permite un acceso más fácil durante el desarrollo y la depuración, con la posibilidad de aplicar gradualmente restricciones.
+- **Desarrollo**: defina `restrictedByDefault` y [`forceLogin`](../REST/authUsers.md#force-login-mode) como **false**. Esto permite un acceso más fácil durante el desarrollo y la depuración, con la posibilidad de aplicar gradualmente restricciones.
### Archivo `Roles_Errors.json`
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/Project/date-time-formats.md b/i18n/es/docusaurus-plugin-content-docs/current/Project/date-time-formats.md
index 1205c7f43c900d..a8bc65c4192828 100644
--- a/i18n/es/docusaurus-plugin-content-docs/current/Project/date-time-formats.md
+++ b/i18n/es/docusaurus-plugin-content-docs/current/Project/date-time-formats.md
@@ -112,7 +112,7 @@ La siguiente tabla muestra todos los patrones soportados para formatos de fecha
### `L` (monopuesto) vs `M`
-En algunos idiomas (ruso, eslovaco), el mes utilizado por sí solo es diferente al mes en una fecha. In "January 10, 2010", "January" is not spelled the same as in "*rendez-vous* in January".
+En algunos idiomas (ruso, eslovaco), el mes utilizado por sí solo es diferente al mes en una fecha. En "10 de enero de 2010", "enero" no se escribe igual que en "*rendez-vous* en janvier".
### `e` vs `c`
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/REST/$filter.md b/i18n/es/docusaurus-plugin-content-docs/current/REST/$filter.md
index c23fb41145c825..aadedb2700b5ec 100644
--- a/i18n/es/docusaurus-plugin-content-docs/current/REST/$filter.md
+++ b/i18n/es/docusaurus-plugin-content-docs/current/REST/$filter.md
@@ -84,7 +84,7 @@ If the attribute stores [**vector objects**](../API/VectorClass.md) (see how to
For more information about vector similarity searches, please refer to [Query by vector similarity](../API/DataClassClass.md#query-by-vector-similarity) section.
-Use the `params` property to provide the filter with the vector comparison parameter, using a syntax like:
+Utilice la propiedad `params` para ofrecer al filtro el parámetro de comparación de vectores, utilizando una sintaxis como:
**\{vectorAttribute\} \{comparator\} \{placeholder\}&$params=vectorComparison**
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/ViewPro/classes.md b/i18n/es/docusaurus-plugin-content-docs/current/ViewPro/classes.md
index 09aab72cb82cf9..9edb4dbc3da69b 100644
--- a/i18n/es/docusaurus-plugin-content-docs/current/ViewPro/classes.md
+++ b/i18n/es/docusaurus-plugin-content-docs/current/ViewPro/classes.md
@@ -205,7 +205,7 @@ La propiedad `.borderBottom` es la
**.borderTop** : [cs.ViewPro.LineBorder](#lineborder)
-The `.borderTop` property is the top border line of the table .
+La propiedad `.borderTop` es la línea del borde superior de la tabla .
### .borderHorizontal
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/WebServer/preemptiveWeb.md b/i18n/es/docusaurus-plugin-content-docs/current/WebServer/preemptiveWeb.md
index c270d197d2e68a..0e7af110758c9b 100644
--- a/i18n/es/docusaurus-plugin-content-docs/current/WebServer/preemptiveWeb.md
+++ b/i18n/es/docusaurus-plugin-content-docs/current/WebServer/preemptiveWeb.md
@@ -30,7 +30,7 @@ La siguiente tabla indica si el modo apropiativo se utiliza o está disponible,
- si las sesiones escalables están activadas, el modo apropiativo se utiliza automáticamente para los procesos web y servicios web.
- si las sesiones escalables no están activadas:
- for web processes, the [**Use preemptive processes**](webServerConfig.md#use-preemptive-processes) option is taken into account.
- - for web service processes (server or client), preemptive mode is supported at method level.
+ - para los procesos de servicios web (servidor o cliente), el modo preventivo está soportado a nivel de método.
## Escribir código servidor web hilo seguro
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/WebServer/qodly-studio.md b/i18n/es/docusaurus-plugin-content-docs/current/WebServer/qodly-studio.md
index 66280d9e0e24f6..b4cdda279ad007 100644
--- a/i18n/es/docusaurus-plugin-content-docs/current/WebServer/qodly-studio.md
+++ b/i18n/es/docusaurus-plugin-content-docs/current/WebServer/qodly-studio.md
@@ -116,7 +116,7 @@ Hay dos formas de acceder a Qodly Studio:
The Qodly Studio documentation is available on the [Qodly documentation website](https://developer.qodly.com/docs/studio/overview).
-You can rely on this documentation and its associated resources for developing web applications powered by Qodly pages. Sin embargo, dependiendo de la etapa de implementación, los desarrolladores 4D utilizarán Qodly Studio o 4D IDE (ver [Comparación de funcionalidades](#comparación-de-funcionalidades)).
+Puede confiar en esta documentación y sus recursos asociados para desarrollar aplicaciones web basadas en páginas Qodly. Sin embargo, dependiendo de la etapa de implementación, los desarrolladores 4D utilizarán Qodly Studio o 4D IDE (ver [Comparación de funcionalidades](#comparación-de-funcionalidades)).
Se ofrecen ejemplos de código en [QodlyScript](https://developer.qodly.com/docs/category/qodlyscript), pero como QodlyScript hereda del Lenguaje 4D, no se sentirá perdido. Se ofrecen ejemplos de código en [QodlyScript](https://developer.qodly.com/docs/category/qodlyscript), pero como QodlyScript hereda del Lenguaje 4D, no se sentirá perdido.
@@ -235,7 +235,7 @@ El proyecto debe ejecutarse en modo interpretado para que el elemento de menú *
:::
-2. In the Qodly Studio toolbar, click on the **Debug** button.
+2. En la barra de herramientas de Qodly Studio, haga clic en el botón **Debug**.

Si la sesión de depuración se inicia correctamente, aparecerá una viñeta verde en la etiqueta del botón  y podrá utilizar el depurador de Qodly Studio.
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/WritePro/commands/wp-import-document.md b/i18n/es/docusaurus-plugin-content-docs/current/WritePro/commands/wp-import-document.md
index 05064f54bf9dd9..9e7eb901643b46 100644
--- a/i18n/es/docusaurus-plugin-content-docs/current/WritePro/commands/wp-import-document.md
+++ b/i18n/es/docusaurus-plugin-content-docs/current/WritePro/commands/wp-import-document.md
@@ -64,8 +64,8 @@ Puede pasar un objeto para definir cómo se gestionan los siguientes atributos d
**Notas de compatibilidad**
-- *Character style sheets in legacy 4D Write documents use a proprietary mechanism, which is not supported by 4D Write Pro. To get the best result for imported text, style sheet attributes are converted to "hard coded" style attributes. Las hojas de estilo de caracteres antiguos no son importadas y ya no están referenciadas en el documento.*
-- *Support for importing in .docx format is only certified for Microsoft Word 2010 and newer. Versiones antiguas, especialmente Microsoft Word 2007, pueden no importar correctamente.*
+- *Las hojas de estilo de caracteres de los documentos heredados de 4D Write utilizan un mecanismo propietario que no es compatible con 4D Write Pro. To get the best result for imported text, style sheet attributes are converted to "hard coded" style attributes. Las hojas de estilo de caracteres antiguos no son importadas y ya no están referenciadas en el documento.*
+- *El soporte para la importación en formato .docx solo está certificado para Microsoft Word 2010 y más recientes. Versiones antiguas, especialmente Microsoft Word 2007, pueden no importar correctamente.*
## Ejemplo 1
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAI.md b/i18n/es/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAI.md
index 96e57899400ed5..5cc5cd870dca4c 100644
--- a/i18n/es/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAI.md
+++ b/i18n/es/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAI.md
@@ -44,7 +44,7 @@ var $client:=cs.AIKit.OpenAI.new({apiKey: "your api key"})
#### URL del servidor
-For a [compatible provider](../compatible-openai.md) API, you can configure the server URL.
+Para una API [proveedor compatible](../compatible-openai.md), puede configurar la URL del servidor.
```4d
var $client:=cs.AIKit.OpenAI.new({apiKey: "your api key"; baseURL: "https://server.ai"})
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIError.md b/i18n/es/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIError.md
index 50c983790a5e75..b237a978ab1103 100644
--- a/i18n/es/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIError.md
+++ b/i18n/es/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIError.md
@@ -5,7 +5,7 @@ title: OpenAIError Class
# OpenAIError Class
-La clase `OpenAIError` está diseñada para manejar errores devueltos por la API OpenAI. It extracts relevant information from the error response and provides methods to access this information.
+La clase `OpenAIError` está diseñada para manejar errores devueltos por la API OpenAI. Extrae información relevante de la respuesta de error y ofrece los métodos para acceder a esta información.
## Propiedades
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIMessage.md b/i18n/es/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIMessage.md
index 223b4de69615ec..340462dceeb399 100644
--- a/i18n/es/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIMessage.md
+++ b/i18n/es/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIMessage.md
@@ -5,7 +5,7 @@ title: OpenAIMessage
# OpenAIMessage
-The `OpenAIMessage` class represents a structured message containing a role, content, and an optional user. This class provides methods to manipulate and retrieve the text and other content of the message.
+La clase `OpenAIMessage` representa un mensaje estructurado que contiene un rol, un contenido y un usuario opcional. This class provides methods to manipulate and retrieve the text and other content of the message.
## Propiedades
@@ -82,8 +82,8 @@ Cuando reciba un mensaje de llamada de herramienta, debe:
2. **Execute the function:**
Parse the arguments (which is a JSON string) and call the corresponding function that you defined in your OpenAITool configuration.
-3. **Respond with the tool result:**
- Create a response message using the exact `tool_call_id` from the original request.
+3. **Responde con el resultado de la herramienta:**
+ Crea un mensaje de respuesta usando el `tool_call_id` exacto de la petición original.
**Ejemplo de respuesta de la herramienta:**
@@ -103,7 +103,7 @@ var $toolResponse:=cs.AIKit.OpenAIMessage.new({ \
// Add it to the conversation and continue
```
-**Important:** The `tool_call_id` in your response must exactly match the `id` from the original tool call. Esto permite que el modelo de IA asocie correctamente su respuesta con la llamada de función específica que se realizó.
+**Importante:** el `tool_call_id` de su respuesta debe coincidir exactamente con el `id` de la llamada de la herramienta original. Esto permite que el modelo de IA asocie correctamente su respuesta con la llamada de función específica que se realizó.
## Ver también
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIParameters.md b/i18n/es/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIParameters.md
index 9b33b972486a0f..c4aae60b5308bb 100644
--- a/i18n/es/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIParameters.md
+++ b/i18n/es/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIParameters.md
@@ -5,7 +5,7 @@ title: OpenAIParameters
# OpenAIParameters
-The `OpenAIParameters` class is designed to handle execution and request parameters for interacting with the OpenAI API.
+La clase `OpenAIParameters` está diseñada para manejar los parámetros de ejecución y de petición para interactuar con la API OpenAI.
## Propiedades
@@ -17,14 +17,14 @@ Utilice esta propiedad de retrollamada para recibir el resultado independienteme
| ------------------------------------------------- | --------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------- |
| `onTerminate`
(o `formula`) | 4D.Function | Una función que se llamará de forma asíncrona cuando termine. Asegúrese de que el proceso actual no termina. |
-Use these callback properties for more granular control over success and error handling:
+Utilice estas propiedades de retrollamada para un control más granular de la gestión de éxito y de errores:
| Propiedad | Tipo | Descripción |
| ------------ | --------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `onResponse` | 4D.Function | Una función a llamar de forma asíncrona cuando la petición finalice **con éxito**. Asegúrese de que el proceso actual no termina. |
| `onError` | 4D.Function | Una función que se llamará de forma asíncrona cuando la petición finalice **con errores**. Asegúrese de que el proceso actual no termina. |
-> The callback function will receive the same result object type (one of [OpenAIResult](./OpenAIResult.md) child classes) that would be returned by the function in synchronous code.
+> La función de retrollamada recibirá el mismo tipo de objeto de resultado (una de las clases hijas de [OpenAIResult](./OpenAIResult.md)) que devolvería la función en un código síncrono.
Ver la [documentación sobre código asíncrono para ejemplos](../asynchronous-call.md)
@@ -32,16 +32,16 @@ Ver la [documentación sobre código asíncrono para ejemplos](../asynchronous-c
| Propiedad | Tipo | Descripción |
| -------------- | --------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
-| `timeout` | Real | Overrides the client-level default timeout for the request, in seconds. Por defecto es 0. |
+| `timeout` | Real | Reemplaza el tiempo de espera predeterminado del nivel de cliente para la petición, en segundos. Por defecto es 0. |
| `httpAgent` | HTTPAgent | Anula el agente HTTP predeterminado a nivel de cliente para la petición. |
| `maxRetries` | Integer | El número máximo de reintentos para la petición. (Sólo si el código no es asíncrono, es decir, no se proporciona ninguna función) |
| `extraHeaders` | Object | Encabezados adicionales para enviar con la petición. |
### Propiedades OpenAPI
-| Propiedad | Tipo | Descripción |
-| --------- | ---- | ----------------------------------------------------------------------------------------------------------- |
-| `user` | Text | A unique identifier representing the end-user, which helps OpenAI monitor and detect abuse. |
+| Propiedad | Tipo | Descripción |
+| --------- | ---- | --------------------------------------------------------------------------------------------------------------------------- |
+| `user` | Text | Un identificador único que representa al usuario final y que ayuda a OpenAI a supervisar y detectar abusos. |
### Otras
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/aikit/asynchronous-call.md b/i18n/es/docusaurus-plugin-content-docs/current/aikit/asynchronous-call.md
index ed81a7d77e2b7a..637fe25c2cdf76 100644
--- a/i18n/es/docusaurus-plugin-content-docs/current/aikit/asynchronous-call.md
+++ b/i18n/es/docusaurus-plugin-content-docs/current/aikit/asynchronous-call.md
@@ -5,7 +5,7 @@ title: Asynchronous Call
# Asynchronous Call
-If you do not want to wait for the OpenAPI response when making a request to its API, you need to use asynchronous code.
+Si no desea esperar la respuesta del OpenAPI al hacer una petición a su API, debe utilizar un código asíncrono.
To make asynchronous calls, you must provide a callback `4D.Function`(`Formula`) in the [OpenAIParameters](Classes/OpenAIParameters.md) object parameter to receive the result.
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/commands/call-chain.md b/i18n/es/docusaurus-plugin-content-docs/current/commands/call-chain.md
index fdbd960b6e8acd..d4288b04753c41 100644
--- a/i18n/es/docusaurus-plugin-content-docs/current/commands/call-chain.md
+++ b/i18n/es/docusaurus-plugin-content-docs/current/commands/call-chain.md
@@ -31,7 +31,7 @@ The command facilitates debugging by enabling the identification of the method o
| **Propiedad** | **Tipo** | **Description** | **Ejemplo** |
| ------------- | ----------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------- |
-| database | Text | Name of the database calling the method (to distinguish host methods and component methods) | "database":"contactInfo" |
+| database | Text | Nombre de la base de datos que llama al método (para distinguir los métodos locales de los métodos del componente) | "database":"contactInfo" |
| formula | Text (si lo hay) | Contenido de la línea actual de código en el nivel actual de la cadena de llamadas (texto bruto). Corresponde al contenido de la línea referenciada por la propiedad `line` en el archivo fuente indicado por el método. Si el código fuente no está disponible, la propiedad `formula` se omite (Undefined). | "var $stack:=Call chain" |
| línea | Integer | Número de línea de llamada al método | "line":6 |
| name | Text | Nombre del método llamado | "name":"On Load" |
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/commands/command-name.md b/i18n/es/docusaurus-plugin-content-docs/current/commands/command-name.md
index 67339d42612c4b..277252ce4c6f14 100644
--- a/i18n/es/docusaurus-plugin-content-docs/current/commands/command-name.md
+++ b/i18n/es/docusaurus-plugin-content-docs/current/commands/command-name.md
@@ -35,7 +35,7 @@ El comando **Command name** devuelve e
Hay dos parámetros opcionales:
- *info*: propiedades del comando. The returned value is a *bit field*, where the following bits are meaningful:
- - Primer bit (bit 0): definido en 1 si el comando es [**hilo-seguro**](../Develop/preemptive.md#thread-safe-vs-thread-unsafe-code) (es decir, compatible con la ejecución en un proceso apropiativo) y 0 si es **hilo-inseguro**. Only thread-safe commands can be used in [preemptive processes](../Develop/preemptive.md).
+ - Primer bit (bit 0): definido en 1 si el comando es [**hilo-seguro**](../Develop/preemptive.md#thread-safe-vs-thread-unsafe-code) (es decir, compatible con la ejecución en un proceso apropiativo) y 0 si es **hilo-inseguro**. Solo se pueden usar comandos hilo seguro en [procesos preventivos](../Develop/preemptive.md).
- Segundo bit (bit 1): se define en 1 si el comando es **obsoleto**, y en 0 si no lo es. A deprecated command will continue to work normally as long as it is supported, but should be replaced whenever possible and must no longer be used in new code. Los comandos obsoletos en su código generan advertencias en el [Live Checker y el compilador](../code-editor/write-class-method.md#warnings-and-errors).
*theme*: nombre del tema del lenguaje 4D para el comando.
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/commands/string.md b/i18n/es/docusaurus-plugin-content-docs/current/commands/string.md
index cd80fd800c2ca9..08d5b6d3f1ca2b 100644
--- a/i18n/es/docusaurus-plugin-content-docs/current/commands/string.md
+++ b/i18n/es/docusaurus-plugin-content-docs/current/commands/string.md
@@ -90,7 +90,7 @@ Si pasa 0 en *base*, el comando determina la base dependiendo del valor de *expr
:::info
- Esta sintaxis sigue estrictamente la especificación [`toString` EcmaScript sobre el manejo del radix](https://tc39.es/ecma262/multipage/numbers-and-dates.html#sec-number.prototype.tostring).
-- Utilizar esta sintaxis con *base*=10 no dará exactamente los mismos resultados que utilizar la sintaxis sin el parámetro *base*. For example, if the specified number value is not a number, the "NaN" string is returned.
+- Utilizar esta sintaxis con *base*=10 no dará exactamente los mismos resultados que utilizar la sintaxis sin el parámetro *base*. Por ejemplo, si el valor numérico especificado no es un número, se devuelve la cadena "NaN".
:::
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-19/Concepts/variables.md b/i18n/es/docusaurus-plugin-content-docs/version-19/Concepts/variables.md
index c5866a7ac49936..01d7ef7660eaed 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-19/Concepts/variables.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-19/Concepts/variables.md
@@ -243,7 +243,7 @@ Las variables del sistema son utilizadas por los comandos 4D. Consulte el párra
| ------------------------------------------------------ | ------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `OK` | Integer | Normalmente se establece en 1 después de que un comando haya mostrado una caja de diálogo y el usuario haya hecho clic en el botón **Aceptar**, y en 0 si hizo clic en **Cancelar**. Algunos comandos también modifican el valor de la variable del sistema `OK` cuando se ejecuta una operación con éxito. |
| `Document` | Text | Contiene el "nombre largo" (ruta completa+nombre) del último archivo abierto o creado mediante comandos como [Open document](https://doc.4d.com/4dv20/help/command/en/page264.html) o [SELECT LOG FILE](https://doc.4d.com/4dv20/help/command/en/page345.html). |
-| `FldDelimit`, `RecDelimit` | Text | Contienen los códigos de caracteres que se utilizarán respectivamente como separador de campos (por defecto es **Tabulación** (9)) y separador de registros (por defecto es **retorno de carro** (13)) al importar o exportar texto. Para utilizar un separador diferente, asigne un nuevo valor a la variable del sistema. |
+| `FldDelimit`, `RecDelimit` | Integer | Contienen los códigos de caracteres que se utilizarán respectivamente como separador de campos (por defecto es **Tabulación** (9)) y separador de registros (por defecto es **retorno de carro** (13)) al importar o exportar texto. Para utilizar un separador diferente, asigne un nuevo valor a la variable del sistema. |
| `Error`, `Error method`, `Error line`, `Error formula` | Text, Longint | Utilizado en un método de captura de errores instalado por el comando [`ON ERR CALL`](https://doc.4d.com/4dv20/help/command/en/page155.html). Ver [Gestión de errores dentro del método](../Concepts/error-handling.md#handling-errors-within-the-method). |
| `MouseDown` | Integer | Utilizado en un método instalado por el comando [`ON EVENT CALL`](https://doc.4d.com/4dv20/help/command/en/page190.html). Toma el valor 1 cuando se presiona el botón del ratón, de lo contrario 0. |
| `MouseX`, `MouseY` | Integer | Utilizado en un método instalado por el comando [`ON EVENT CALL`](https://doc.4d.com/4dv20/help/command/en/page190.html). En un evento `MouseDown=1`, `MouseX` y `MouseY` se establecen respectivamente en las coordenadas verticales y horizontales del clic. Ambos valores se expresan en píxeles y utilizan el sistema de coordenadas local de la ventana. En el caso de un campo imagen o variable, `MouseX` y `MouseY` devuelven las coordenadas locales de un clic de ratón en los eventos de formulario [`On Clicked`](../Events/onClicked.md), [`On Double Clicked`](../Events/onDoubleClicked.md) y [`On Mouse Up`](../Events/onMouseUp.md). Las coordenadas locales del cursor del ratón también se retornan en los eventos formulario [`On Mouse Enter`](../Events/onMouseEnter.md) y [`On Mouse Move`](../Events/onMouseMove.md). Para obtener más información, consulte la sección [Coordenadas del ratón en una imagen](../FormEditor/pictures.md#coordenadas-del-ratón-en-una-imagen). |
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/API/DataStoreClass.md b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/API/DataStoreClass.md
index 3624ec598b4b1b..b66e8076cf076a 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/API/DataStoreClass.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/API/DataStoreClass.md
@@ -436,7 +436,7 @@ La función `.getInfo()` devuelve
| Propiedad | Tipo | Descripción |
| ---------- | ------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| type | string | "4D": datastore principal, disponible a través de ds "4D Server": datastore remoto, abrir con Open datastore |
-| networked | boolean | True: el almacén de datos se alcanza a través de una conexión de red.False: the datastore is not reached through a network connection (local database) |
+| networked | boolean | True: el almacén de datos se alcanza a través de una conexión de red.False: no se llega al almacén de datos a través de una conexión de red (base de datos local) |
| localID | text | ID del almacén de datos en la máquina. ID del almacén de datos en la máquina. Cadena vacía ("") para el almacén de datos principal. |
| connection | object | Objeto que describe la conexión del almacén de datos remoto (no se devuelve para el almacén de datos principal). Propiedades disponibles:| Propiedad | Tipo | Descripción |
|---|
| nombre de host | texto | Dirección IP o nombre del datastore remoto + ":" + número de puerto |
| tls | booleano | True si se utiliza una conexión segura con el datastore remoto |
| idleTimeout | número | Tiempo de inactividad de la sesión (en minutos) |
| usuario | texto | Usuario autenticado en el almacén de datos remoto |
|
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/API/TCPEventClass.md b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/API/TCPEventClass.md
index c5ed7c2561fabb..fb2d8d27b187e0 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/API/TCPEventClass.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/API/TCPEventClass.md
@@ -3,7 +3,7 @@ id: TCPEventClass
title: TCPEvent
---
-The `TCPEvent` class provides information about events occurring during the lifecycle of a TCP connection. It is generated when a [TCPConnection](TCPConnectionClass.md) is opened and is typically utilized in callbacks such as `onConnection`, `onData`, `onError`, and others.
+La clase `TCPEvent` ofrece información sobre los eventos que se producen durante el ciclo de vida de una conexión TCP. It is generated when a [TCPConnection](TCPConnectionClass.md) is opened and is typically utilized in callbacks such as `onConnection`, `onData`, `onError`, and others.
Historia
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/Concepts/variables.md b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/Concepts/variables.md
index a1cc173febeb9b..e31872102c3770 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/Concepts/variables.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/Concepts/variables.md
@@ -250,17 +250,18 @@ El lenguaje 4D maneja varias **variables sistema**, las cuales le permiten contr
Las variables del sistema son utilizadas por los [comandos 4D](../commands/command-index.md). Consulte el párrafo "Variables del sistema y conjuntos" en la descripción de un comando para averiguar si afecta a una variable del sistema.
-| Nombre de la variable del sistema | Tipo | Descripción |
-| ------------------------------------------------------ | ------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
-| `OK` | Integer | Normalmente se establece en 1 después de que un comando haya mostrado una caja de diálogo y el usuario haya hecho clic en el botón **Aceptar**, y en 0 si hizo clic en **Cancelar**. Algunos comandos también modifican el valor de la variable del sistema `OK` cuando se ejecuta una operación con éxito. |
-| `Document` | Text | Contiene el "nombre largo" (ruta completa+nombre) del último archivo abierto o creado utilizando comandos como [Open document](../commands-legacy/open-document.md) o [SELECT LOG FILE](../commands/select-log-file.md). |
-| `FldDelimit`, `RecDelimit` | Text | Contienen los códigos de caracteres que se utilizarán respectivamente como separador de campos (por defecto es **Tab** (9)) y separador de registros (por defecto es **retorno de carro** (13)) al importar o exportar texto. Para utilizar un separador diferente, asigne un nuevo valor a la variable del sistema. |
-| `Error`, `Error method`, `Error line`, `Error formula` | Text, Longint | Utilizado en un método de captura de errores instalado por el comando [`ON ERR CALL`](../commands-legacy/on-err-call.md). Ver [Gestión de errores en el método](../Concepts/error-handling.md#handling-errors-within-the-method). |
-| `MouseDown` | Integer | Utilizado en un método instalado por el comando [`ON EVENT CALL`](../commands-legacy/on-event-call.md). Toma el valor 1 cuando se presiona el botón del ratón, de lo contrario 0. |
-| `MouseX`, `MouseY` | Integer | Utilizado en un método instalado por el comando [`ON EVENT CALL`](../commands-legacy/on-event-call.md). En un evento `MouseDown=1`, `MouseX` y `MouseY` se establecen respectivamente en las coordenadas verticales y horizontales del clic. Ambos valores se expresan en píxeles y utilizan el sistema de coordenadas local de la ventana. En el caso de un campo imagen o variable, `MouseX` y `MouseY` devuelven las coordenadas locales de un clic de ratón en los eventos de formulario [`On Clicked`](../Events/onClicked.md), [`On Double Clicked`](../Events/onDoubleClicked.md) y [`On Mouse Up`](../Events/onMouseUp.md). Las coordenadas locales del cursor del ratón también se retornan en los eventos formulario [`On Mouse Enter`](../Events/onMouseEnter.md) y [`On Mouse Move`](../Events/onMouseMove.md). Para obtener más información, consulte la sección [Coordenadas del ratón en una imagen](../FormEditor/pictures.md#coordenadas-del-ratón-en-una-imagen). |
-| `KeyCode` | Integer | Utilizado en un método instalado por el comando [`ON EVENT CALL`](../commands-legacy/on-event-call.md). Define el código de carácter de la tecla que se acaba de presionar. Si la tecla es una tecla de función, `KeyCode` se establece como un código especial. |
-| `Modifiers` | Integer | Utilizado en un método instalado por el comando [`ON EVENT CALL`](../commands-legacy/on-event-call.md). Establece las teclas modificadoras del teclado (Ctrl/Command, Alt/Option, Shift, Caps Lock). |
-| `MouseProc` | Integer | Utilizado en un método instalado por el comando [`ON EVENT CALL`](../commands-legacy/on-event-call.md). Define el número de proceso en el que tuvo lugar el último evento |
+| Nombre de la variable del sistema | Tipo | Descripción |
+| --------------------------------- | ------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| `OK` | Integer | Normalmente se establece en 1 después de que un comando haya mostrado una caja de diálogo y el usuario haya hecho clic en el botón **Aceptar**, y en 0 si hizo clic en **Cancelar**. Algunos comandos también modifican el valor de la variable del sistema `OK` cuando se ejecuta una operación con éxito. |
+| `Document` | Text | Contiene el "nombre largo" (ruta completa+nombre) del último archivo abierto o creado utilizando comandos como [Open document](../commands-legacy/open-document.md) o [SELECT LOG FILE](../commands/select-log-file.md). |
+| `FldDelimit`, `RecDelimit` | Integer | Contienen los códigos de caracteres que se utilizarán respectivamente como separador de campos (por defecto es **Tab** (9)) y separador de registros (por defecto es **retorno de carro** (13)) al importar o exportar texto. Para utilizar un separador diferente, asigne un nuevo valor a la variable del sistema. |
+| `Error`, `Error line` | Integer | Utilizado en un método de captura de errores instalado por el comando [`ON ERR CALL`](../commands-legacy/on-err-call.md). Ver [Gestión de errores en el método](../Concepts/error-handling.md#handling-errors-within-the-method). |
+| `Error method`, `Error formula` | Text | Utilizado en un método de captura de errores instalado por el comando [`ON ERR CALL`](../commands-legacy/on-err-call.md). Ver [Gestión de errores en el método](../Concepts/error-handling.md#handling-errors-within-the-method). |
+| `MouseDown` | Integer | Utilizado en un método instalado por el comando [`ON EVENT CALL`](../commands-legacy/on-event-call.md). Toma el valor 1 cuando se presiona el botón del ratón, de lo contrario 0. |
+| `MouseX`, `MouseY` | Integer | Utilizado en un método instalado por el comando [`ON EVENT CALL`](../commands-legacy/on-event-call.md). En un evento `MouseDown=1`, `MouseX` y `MouseY` se establecen respectivamente en las coordenadas verticales y horizontales del clic. Ambos valores se expresan en píxeles y utilizan el sistema de coordenadas local de la ventana. En el caso de un campo imagen o variable, `MouseX` y `MouseY` devuelven las coordenadas locales de un clic de ratón en los eventos de formulario [`On Clicked`](../Events/onClicked.md), [`On Double Clicked`](../Events/onDoubleClicked.md) y [`On Mouse Up`](../Events/onMouseUp.md). Las coordenadas locales del cursor del ratón también se retornan en los eventos formulario [`On Mouse Enter`](../Events/onMouseEnter.md) y [`On Mouse Move`](../Events/onMouseMove.md). Para obtener más información, consulte la sección [Coordenadas del ratón en una imagen](../FormEditor/pictures.md#coordenadas-del-ratón-en-una-imagen). |
+| `KeyCode` | Integer | Utilizado en un método instalado por el comando [`ON EVENT CALL`](../commands-legacy/on-event-call.md). Define el código de carácter de la tecla que se acaba de presionar. Si la tecla es una tecla de función, `KeyCode` se establece como un código especial. |
+| `Modifiers` | Integer | Utilizado en un método instalado por el comando [`ON EVENT CALL`](../commands-legacy/on-event-call.md). Establece las teclas modificadoras del teclado (Ctrl/Command, Alt/Option, Shift, Caps Lock). |
+| `MouseProc` | Integer | Utilizado en un método instalado por el comando [`ON EVENT CALL`](../commands-legacy/on-event-call.md). Define el número de proceso en el que tuvo lugar el último evento |
:::note
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/Menus/properties.md b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/Menus/properties.md
index e71e4a99e8fae0..4d34bb1d18dda4 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/Menus/properties.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/Menus/properties.md
@@ -12,9 +12,9 @@ La propiedad **Title** contiene la etiqueta de un menú o elemento de menú tal
En el editor de menús, puede introducir directamente la etiqueta como "fijo". También puede introducir una referencia para una variable o un elemento XLIFF, lo que facilitará el mantenimiento y la traducción de las aplicaciones. Puede utilizar los siguientes tipos de referencias:
- Una referencia a un recurso XLIFF del tipo :xliff:MyLabel. Para más información sobre las referencias XLIFF, consulte la sección *Arquitectura XLIFF* en *Referencia Diseño 4D*.
-- (**Deprecated**) An interprocess variable name followed by a number, for example: `:<>vlang,3`. Si se cambia el contenido de esta variable, se modificará la etiqueta del menú cuando se muestre. En este caso, la etiqueta llamará a un recurso XLIFF. El valor contenido en la variable `<>vlang` corresponde al atributo *id* del elemento *group*. El segundo valor (3 en este ejemplo) designa el atributo *id* del elemento *trans-unit*.
+- (**Obsoleto**) Un nombre de variable interproceso seguido de un número, por ejemplo: `:<>vlang,3`. Si se cambia el contenido de esta variable, se modificará la etiqueta del menú cuando se muestre. En este caso, la etiqueta llamará a un recurso XLIFF. El valor contenido en la variable `<>vlang` corresponde al atributo *id* del elemento *group*. El segundo valor (3 en este ejemplo) designa el atributo *id* del elemento *trans-unit*.
-Using the 4D language, you set the title property through the *itemText* parameter of the [`APPEND MENU ITEM`](../commands/append-menu-item), [`INSERT MENU ITEM`](../commands/insert-menu-item), and [`SET MENU ITEM`](../commands/set-menu-item) commands.
+Usando el lenguaje 4D, se define la propiedad del título a través del parámetro *itemText* de los comandos [`APPEND MENU ITEM`](../commands/append-menu-item), [`INSERT MENU ITEM`](../commands/insert-menu-item), y [`SET MENU ITEM`](../commands/set-menu-item).
### Caracteres de control
@@ -33,9 +33,9 @@ Los caracteres de control no aparecen en las etiquetas de los comandos del menú
## Parámetros
-Puede asociar un parámetro personalizado a cada elemento del menú. Un parámetro de elemento de menú es una cadena de caracteres cuyo contenido puede elegirse libremente. It can be set in the Menu editor, or through the [`SET MENU ITEM PARAMETER`](../commands/set-menu-item-parameter) command.
+Puede asociar un parámetro personalizado a cada elemento del menú. Un parámetro de elemento de menú es una cadena de caracteres cuyo contenido puede elegirse libremente. Puede configurarse en el editor de menús o mediante el comando [`SET MENU ITEM PARAMETER`](../commands/set-menu-item-parameter).
-Menu item parameters are useful with programmed management of menus, in particular when using the [`Dynamic pop up menu`](../commands/dynamic-pop-up-menu), [`Get menu item parameter`](../commands/get-menu-item-parameter) and [`Get selected menu item parameter`](../commands/get-selected-menu-item-parameter) commands.
+Los parámetros de los elementos de menú son útiles para la gestión programada de menús, en particular cuando se utilizan los comandos [`Dynamic pop up menu`](../commands/dynamic-pop-up-menu), [`Get menu item parameter`](../commands/get-menu-item-parameter) y [`Get selected menu item parameter`](../commands/get-selected-menu-item-parameter).
## Acción
@@ -57,7 +57,7 @@ Puede asignar un método proyecto y/o una acción estándar a un comando de men
- **Acción estándar asociada**: elija o escriba la acción que desea asignar en el combo box "Acción estándar asociada". Puede introducir toda acción soportada y (opcionalmente) el parámetro que desee en el área. Para obtener una lista completa de acciones estándar, consulte la sección **Acciones estándar** en el *Modo Diseño*.
**Nota para macOS:** en macOS, los comandos de menús personalizados asociados a la acción *Salir* se colocan automáticamente en el menú de la aplicación, conforme a los estándares de interfaz de la plataforma.
-Using the 4D language, you can associate a project method using the [`SET MENU ITEM METHOD`](../commands/set-menu-item-method) command, and a standard action using the [`SET MENU ITEM PROPERTY`](../commands/set-menu-item-property) command.
+Utilizando el lenguaje 4D, puede asociar un método de proyecto utilizando el comando [`SET MENU ITEM METHOD`](../commands/set-menu-item-method), y una acción estándar utilizando el comando [`SET MENU ITEM PROPERTY`](../commands/set-menu-item-property).
### Iniciar un proceso
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/ORDA/orda-events.md b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/ORDA/orda-events.md
index dbba01abbd9f8a..06fd41ba79e5bd 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/ORDA/orda-events.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/ORDA/orda-events.md
@@ -17,7 +17,7 @@ No se puede activar directamente la ejecución de la función de evento. Los eve
:::info Nota de compatibilidad
-Los eventos de entidad ORDA en el almacen de datos equivalen a triggers en la base de datos 4D. Sin embargo, las acciones desencadenadas a nivel de la base de datos 4D utilizando los comandos del lenguaje clásico 4D o las acciones estándar no desencadenan eventos ORDA.
+Los eventos de entidad ORDA en el almacen de datos equivalen a triggers en la base de datos 4D. Sin embargo, las acciones desencadenadas a nivel de la base de datos 4D utilizando los comandos del lenguaje clásico 4D o las acciones estándar no desencadenan eventos ORDA. Note also that, unlike triggers, ORDA entity events do not lock the entire underlying table of a dataclass while saving or dropping entities. Several events can run in parallel as long as they involve distinct entities (i.e. records).
:::
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/ORDA/ordaClasses.md b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/ORDA/ordaClasses.md
index 1889c583ab40d8..669de5f11a80eb 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/ORDA/ordaClasses.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/ORDA/ordaClasses.md
@@ -338,7 +338,7 @@ La función `Class constructor` es activada por los siguientes comandos y funcio
:::note Notas
-- The [`entity.clone()`](../API/EntityClass.md#clone) function does not trigger the entity Class constructor.
+- La función [`entity.clone()`](../API/EntityClass.md#clone) no activa el constructor de la clase de la entidad.
- Los registros creados a nivel de la base de datos 4D utilizando comandos del lenguaje clásico 4D o acciones estándar no activan el Class constructor de la entidad.
:::
@@ -404,7 +404,7 @@ sequenceDiagram
```
-#### Example 4 (diagram): Qodly - Standard action and update value on the newly created entity
+#### Ejemplo 4 (diagrama): Qodly - Acción estándar y valor de actualización en la nueva entidad creada
```mermaid
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/Project/date-time-formats.md b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/Project/date-time-formats.md
index 79031da5a4075f..c4086f2b4ba691 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/Project/date-time-formats.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/Project/date-time-formats.md
@@ -112,7 +112,7 @@ La siguiente tabla muestra todos los patrones soportados para formatos de fecha
### `L` (monopuesto) vs `M`
-En algunos idiomas (ruso, eslovaco), el mes utilizado por sí solo es diferente al mes en una fecha. In "January 10, 2010", "January" is not spelled the same as in "*rendez-vous* in January".
+En algunos idiomas (ruso, eslovaco), el mes utilizado por sí solo es diferente al mes en una fecha. En "10 de enero de 2010", "enero" no se escribe igual que en "*rendez-vous* en janvier".
### `e` vs `c`
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/ViewPro/classes.md b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/ViewPro/classes.md
index 09aab72cb82cf9..9edb4dbc3da69b 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/ViewPro/classes.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/ViewPro/classes.md
@@ -205,7 +205,7 @@ La propiedad `.borderBottom` es la
**.borderTop** : [cs.ViewPro.LineBorder](#lineborder)
-The `.borderTop` property is the top border line of the table .
+La propiedad `.borderTop` es la línea del borde superior de la tabla .
### .borderHorizontal
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/ViewPro/commands/vp-set-workbook-options.md b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/ViewPro/commands/vp-set-workbook-options.md
index 2843b740b83dc6..8c82c06835134d 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/ViewPro/commands/vp-set-workbook-options.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/ViewPro/commands/vp-set-workbook-options.md
@@ -48,14 +48,14 @@ En la siguiente tabla se listan las opciones de libros de trabajo disponibles:
| autoFitType | number | El contenido se formatea para que se ajuste en las celdas, o en las celdas y los encabezados. Valores disponibles: | Constante | Valor | Descripción |
|---|
| vk auto fit type cell | 0 | El contenido se ajusta automáticamente a las celdas |
| vk auto fit type cell with header | 1 | El contenido se ajusta automáticamente a las celdas y encabezados |
|
| backColor | string | Una cadena de color utilizada para representar el color de fondo del área, como "red", "#FFFF00", "rgb(255,0,0)", "Acento 5". El color de fondo inicial se oculta cuando se define una backgroundImage. |
| backgroundImage | string / picture / file | Imagen de fondo para el área. |
-| backgroundImageLayout | number | Cómo se muestra la imagen de fondo. Available values: | Constant | Value | Description |
|---|
| vk image layout center | 1 | In the center of the area. |
| vk image layout none | 3 | In the upper left corner of the area with its original size. |
| vk image layout stretch | 0 | Llena el área. |
| vk image layout zoom | 2 | Mostrado con su relación de aspecto original. |
|
+| backgroundImageLayout | number | Cómo se muestra la imagen de fondo. Available values: | Constant | Value | Description |
|---|
| vk image layout center | 1 | In the center of the area. |
| vk image layout none | 3 | En la esquina superior izquierda del área con su tamaño original. |
| vk image layout stretch | 0 | Llena el área. |
| vk image layout zoom | 2 | Mostrado con su relación de aspecto original. |
|
| calcOnDemand | boolean | Las fórmulas se calculan sólo cuando se piden. |
| columnResizeMode | number | Redimensiona modo para columnas. Valores disponibles: | Constante | Valor | Descripción |
|---|
| vk resize mode normal | 0 | Utiliza el modo de redimensionamiento normal (es decir, las columnas restantes se ven afectadas) |
| vk resize mode split | 1 | Utiliza el modo dividido (es decir, las columnas restantes no se ven afectadas) |
|
| copyPasteHeaderOptions | number | Encabezados para incluir cuando se copian o pegan datos. Available values: | Constant | Value | Description |
|---|
| vk copy paste header options all headers | 3 | Includes selected headers when data is copied; overwrites selected headers when data is pasted. |
| vk copy paste header options column headers | 2 | Includes selected column headers when data is copied; overwrites selected column headers when data is pasted. |
| vk copy paste header options no headers | 0 | Column and row headers are not included when data is copied; does not overwrite selected column or row headers when data is pasted. |
| vk copy paste header options row headers | 1 | Includes selected row headers when data is copied; overwrites selected row headers when data is pasted. |
|
| customList | collection | La lista para que los usuarios personalicen el relleno de arrastre, dar prioridad a que coincida con esta lista en cada relleno. Cada elemento de colección es una colección de cadenas. Vet en [SpreadJS docs](https://developer.mescius.com/spreadjs/docs/features/cells/AutoFillData/AutoFillLists). |
| cutCopyIndicatorBorderColor | string | Color del borde del indicador que aparece cuando el usuario corta o copia la selección. |
| cutCopyIndicatorVisible | boolean | Muestra un indicador al copiar o cortar el elemento seleccionado. |
-| defaultDragFillType | number | El tipo de relleno de arrastre por defecto. Valores disponibles : | Constante | Valor | Descripción |
|---|
| vk auto fill type auto | 5 | Rellena automáticamente las celdas. |
| vk auto fill type clear values | 4 | Clears cell values. |
| vk auto fill type copycells | 0 | Fills cells with all data objects, including values, formatting, and formulas. |
| vk auto fill type fill formatting only | 2 | Llena las celdas solo con formato. |
| vk auto fill type fill series | 1 | Fills cells with series. |
| vk auto fill type fill without formatting | 3 | Rellena las celdas con valores y no con formato. |
|
+| defaultDragFillType | number | El tipo de relleno de arrastre por defecto. Valores disponibles : | Constante | Valor | Descripción |
|---|
| vk auto fill type auto | 5 | Rellena automáticamente las celdas. |
| vk auto fill type clear values | 4 | Clears cell values. |
| vk auto fill type copycells | 0 | Fills cells with all data objects, including values, formatting, and formulas. |
| vk auto fill type fill formatting only | 2 | Llena las celdas solo con formato. |
| vk auto fill type fill series | 1 | Llena las celdas con series. |
| vk auto fill type fill without formatting | 3 | Rellena las celdas con valores y no con formato. |
|
| enableAccessibility | boolean | El soporte de accesibilidad está activado en la hoja de cálculo. |
| enableFormulaTextbox | boolean | Se activa la caja de texto de la fórmula. |
| grayAreaBackColor | string | Una cadena color utilizada para representar el color de fondo del área gris, como "red", "#FFFF00", "rgb(255,0,0)", "Accent 5", etc. |
@@ -66,7 +66,7 @@ En la siguiente tabla se listan las opciones de libros de trabajo disponibles:
| newTabVisible | boolean | Mostrar una pestaña especial para permitir a los usuarios insertar nuevas hojas. |
| numbersFitMode | number | Cambia el modo de visualización cuando el ancho de los datos de fecha/número es mayor que el ancho de la columna. Valores disponibles: | Constante | Valor | Descripción |
|---|
| vk numbers fit mode mask | 0 | Sustituye el contenido de los datos por "###" y muestra la punta |
| vk numbers fit mode overflow | 1 | Muestra el contenido de los datos como una cadena. Si la siguiente celda está vacía, se desborda el contenido. |
|
| pasteSkipInvisibleRange | boolean | Pegar u omitir el pegado de datos en rangos invisibles: - False (por defecto): pegar datos
- True: omitir el pegado en rangos invisibles
Ver [SpreadJS docs](https://developer.mescius.com/spreadjs/docs/features/rows-columns/paste-skip-data-invisible-range) para más información sobre rangos invisibles. |
-| referenceStyle | number | Estilo para referencias de celdas y rangos en fórmulas de celdas. Available values: | Constant | Value | Description |
|---|
| vk reference style A1 | 0 | Use A1 style. |
| vk reference style R1C1 | 1 | Use R1C1 style |
|
+| referenceStyle | number | Estilo para referencias de celdas y rangos en fórmulas de celdas. Available values: | Constant | Value | Description |
|---|
| vk reference style A1 | 0 | Use A1 style. |
| vk estilo de referencia R1C1 | 1 | Utilizar el estilo R1C1 |
|
| resizeZeroIndicator | number | Política de dibujo cuando las líneas o columnas se redimensionan a 0. Available values: | Constant | Value | Description |
|---|
| vk resize zero indicator default | 0 | Uses the current drawing policy when the row or column is resized to zero. |
| vk resize zero indicator enhanced | 1 | Draws two short lines when the row or column is resized to zero. |
|
| rowResizeMode | number | La forma en que se redimensionan las líneas. Los valores disponibles son los mismos qe columnResizeMode |
| scrollbarAppearance | number | Apariencia de la barra de desplazamiento. Available values: | Constant | Value | Description |
|---|
| vk scrollbar appearance mobile | 1 | Mobile scrollbar appearance. |
| vk scrollbar appearance skin (por defecto) | 0 | Apariencia clásica de la barra de desplazamiento similar a Excel. |
|
@@ -79,7 +79,7 @@ En la siguiente tabla se listan las opciones de libros de trabajo disponibles:
| showDragFillSmartTag | boolean | Mostrar el diálogo de arrastrar y rellenar. |
| showDragFillTip | boolean | Mostrar la punta de arrastrar y soltar. |
| showHorizontalScrollbar | boolean | Mostrar la barra de desplazamiento horizontal. |
-| showResizeTip | number | Cómo mostrar el tip de redimensionamiento. Available values: | Constant | Value | Description |
|---|
| vk show resize tip both | 3 | Horizontal and vertical resize tips are displayed. |
| vk show resize tip column | 1 | Solo se muestra la punta de redimensionamiento horizontal. |
| vk show resize tip none | 0 | No resize tip is displayed. |
| vk show resize tip row | 2 | Only the vertical resize tip is displayed. |
|
+| showResizeTip | number | Cómo mostrar el tip de redimensionamiento. Available values: | Constant | Value | Description |
|---|
| vk show resize tip both | 3 | Horizontal and vertical resize tips are displayed. |
| vk show resize tip column | 1 | Solo se muestra la punta de redimensionamiento horizontal. |
| vk show resize tip none | 0 | No se muestra ningún consejo de redimensionamiento. |
| vk show resize tip row | 2 | Solo se muestra la punta de redimensionamiento vertical. |
|
| showScrollTip | number | Cómo mostrar el tip de desplazamiento. Available values: | Constant | Value | Description |
|---|
| vk show scroll tip both | 3 | Horizontal and vertical scroll tips are displayed. |
| vk show scroll tip horizontal | 1 | Solo se muestra la punta de desplazamiento vertical. |
| vk show scroll tip none | No se muestra ninguna propina. |
| vk show scroll tip vertical | 2 | Solo se muestra la punta de desplazamiento vertical. |
|
| showVerticalScrollbar | boolean | Mostrar la barra de desplazamiento vertical. |
| tabEditable | boolean | La pestaña de la hoja se puede editar. |
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/WebServer/qodly-studio.md b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/WebServer/qodly-studio.md
index 105b658372a4fe..1afca4411910ff 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/WebServer/qodly-studio.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/WebServer/qodly-studio.md
@@ -116,7 +116,7 @@ Hay dos formas de acceder a Qodly Studio:
The Qodly Studio documentation is available on the [Qodly documentation website](https://developer.qodly.com/docs/studio/overview).
-You can rely on this documentation and its associated resources for developing web applications powered by Qodly pages. Sin embargo, dependiendo de la etapa de implementación, los desarrolladores 4D utilizarán Qodly Studio o 4D IDE (ver [Comparación de funcionalidades](#comparación-de-funcionalidades)).
+Puede confiar en esta documentación y sus recursos asociados para desarrollar aplicaciones web basadas en páginas Qodly. Sin embargo, dependiendo de la etapa de implementación, los desarrolladores 4D utilizarán Qodly Studio o 4D IDE (ver [Comparación de funcionalidades](#comparación-de-funcionalidades)).
Se ofrecen ejemplos de código en [QodlyScript](https://developer.qodly.com/docs/category/qodlyscript), pero como QodlyScript hereda del Lenguaje 4D, no se sentirá perdido. Se ofrecen ejemplos de código en [QodlyScript](https://developer.qodly.com/docs/category/qodlyscript), pero como QodlyScript hereda del Lenguaje 4D, no se sentirá perdido.
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/WritePro/commands/wp-export-document.md b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/WritePro/commands/wp-export-document.md
index fe2e0e06cbf62c..6cb9ae06065872 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/WritePro/commands/wp-export-document.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/WritePro/commands/wp-export-document.md
@@ -52,25 +52,25 @@ Puede omitir el parámetro *format*, en cuyo caso deberá especificar la extensi
Pase un [objeto](# "Datos estructurados como un objeto nativo 4D") en *option* conteniendo los valores para definir las propiedades del documento exportado. Las siguientes propiedades están disponibles:
-| Constante | Valor | Comentario |
-| ------------------------------------------- | ------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
-| wk CID host domain name | cidHostDomain | Nombre de dominio de host CID: dominio de host que se añadirá a las URL CID generadas incluyendo una "@" como separador. Disponible sólo cuando se utiliza el formato `wk mime html`. |
-| wk embedded pictures | embeddedPictures | Sólo para exportación SVG. Establece si las imágenes se incrustan en el archivo .svg exportado cuando se llama a [WP EXPORT DOCUMENT](wp-export-document.md). Valores disponibles: true (por defecto): las imágenes están incrustadas en el archivo .svg exportado false: las imágenes se exportan en una carpeta llamada "filename\_images" en el nivel del archivo .svg exportado, "filename" siendo el nombre pasado al comando para el archivo, sin la extensión. Las imágenes no están integradas, sino referenciadas en el archivo .svg.Nota: si la carpeta ya existe, se vaciará antes de exportar el archivo. Si no hay ninguna imagen en la página exportada, se elimina la carpeta |
-| wk factur x | facturX | Sólo para exportación en PDF. Valor: objeto que configura una exportación PDF "Factur-X (ZUGFeRD)" (ver [wk factur x object](#wk-factur-x-object)). |
-| wk files | Histórico | Sólo para exportación en PDF. Valor: colección de objetos, cada uno de los cuales describe un archivo que se integrará en el documento final (ver [wk files collection](#wk-files-collection)). Esta funcionalidad sólo se admite en documentos PDF/A-3: cuando se utiliza el atributo `wk files`, se establece automáticamente la versión "PDF/A-3" (se ignora el atributo `wk pdfa version`). En caso de una exportación de Factur-X PDF (ver abajo), el primer objeto de la colección debe contener el archivo Factur-X xml. |
-| wk google fonts tag | googleFontsTag | Sólo para exportación SVG. Define la regla de importación para fuentes google en el SVG exportado. Valores posibles: false (por defecto): no se añade ninguna regla de importación de fuentes de Google.true: añade la regla @import al archivo exportado. Útil si desea utilizar fuentes que no están disponibles por defecto en Windows o macOS. **Note:** This property is set to false by default because when enabled, Google fonts override native fonts, and native fonts are generally better rendered in the browser. |
-| wk HTML pretty print | htmlPrettyPrint | El código HTML está formateado para facilitar su lectura. |
-| wk max picture DPI | maxPictureDPI | Se utiliza para reducir imágenes a la resolución preferida. Para imágenes SVG en Windows, utilizado para la rasterización. Valores por defecto: 300 (for wk optimized for \= wk print) 192 (for wk optimized for \= wk screen) Valor máximo posible: 1440 |
-| wk optimized for | optimizedFor | Define cómo se optimiza un documento exportado en función de su soporte. Valores posibles: `wk print` (valor por defecto para `wk pdf` y `wk svg`) Las imágenes de mapa de bits pueden reducirse utilizando los PPP definidos por `wk max picture DPI` o 300 (valor por defecto) y pueden convertirse a PNG si el códec no es compatible con el tipo de exportación. Las imágenes vectoriales se convierten a PNG utilizando los PPP definidos por `wk max picture DPI` o 300 (sólo Windows). Si una imagen contiene más de un formato, se utiliza el mejor formato para la impresión (*por ejemplo*, .tiff en lugar de .jpg)`wk screen` (valor por defecto para `wk web page complete` y `wk mime html`). Las imágenes de mapa de bits pueden reducirse utilizando los PPP definidos por `wk max picture DPI` o 192 (valor por defecto) y pueden convertirse a JPEG (imágenes opacas) o PNG (imágenes transparentes) si el códec no es compatible con el tipo de exportación. Las imágenes vectoriales se convierten a PNG utilizando los PPP definidos por `wk max picture DPI` o 192 (sólo Windows). If a picture contains more than one format, the format for screen rendering is used. **Nota:** los documentos exportados en formato `wk docx` siempre se optimizan para la impresión wk (la opción wk optimized for se ignora). |
-| wk page index | pageIndex | Sólo para exportación SVG. Índice de la página a exportar a formato svg (por defecto es 1). El índice de páginas comienza en 1 para la primera página del documento. **Nota:** el índice de páginas es independiente de la numeración de páginas. |
-| wk pdfa version | pdfaVersion | Exporta PDF conforme a una versión PDF/A. Para más información sobre las propiedades y versiones de PDF/A, consulte la [página PDF/A en Wikipedia](https://en.wikipedia.org/wiki/PDF/A). Valores posibles: `wk pdfa2`: exporta a la versión "PDF/A-2" `wk pdfa3`: exporta a la versión "PDF/A-3" **Nota:** en macOS, `wk pdfa2` puede exportar a PDF/A-2 o PDF/A-3 o superior, dependiendo de la implementación de la plataforma. Además, `wk pdfa3` significa "exporta a *al menos* PDF/A-3". En Windows, el archivo PDF de salida siempre será igual a la conformidad deseada. |
-| wk recompute formulas | recomputeFormulas | Define si las fórmulas deben volver a calcularse cuando se exportan. Valores posibles:true - Valor por defecto. Se vuelven a calcular todas las fórmulasfalse - No se vuelven a calcular las fórmulas |
-| wk visible background and anchored elements | visibleBackground | Muestra o exporta imágenes/color de fondo, imágenes ancladas y cuadros de texto (para mostrar, efecto visible sólo en modo de vista Página o Anidado). Valores posibles: True/False |
-| wk visible empty images | visibleEmptyImages | Muestra o exporta un rectángulo negro por defecto para las imágenes que no se pueden cargar o calcular (imágenes vacías o imágenes en un formato no compatible). Valores posibles: True/False. Valor por defecto: True Si el valor es False, los elementos de imagen que falten no se mostrarán en absoluto aunque tengan bordes, ancho, alto o fondo; esto puede afectar al diseño de la página para imágenes en línea. |
-| wk visible footers | visibleFooters | Muestra o exporta los pies de página (para la visualización, efecto visible sólo en el modo vista Página). Valores posibles: True/False |
-| wk visible headers | visibleHeaders | Muestra o exporta los encabezados (para la visualización, efecto visible sólo en el modo vista Página). Valores posibles: True/False |
-| wk visible references | visibleReferences | Muestra o exporta todas las expresiones 4D insertadas en el documento como referencias. Valores posibles: True/False |
-| wk whitespace | whitespace | Define el valor css "white-space" para los formatos de exportación `wk mime html` y `wk web page complete`. El estilo [white-space css](https://developer.mozilla.org/en-US/docs/Web/CSS/white-space) se aplica a los párrafos. Valores posibles: "normal", "nowrap", "pre", "pre-wrap" (por defecto), "pre-line", "break-spaces". |
+| Constante | Valor | Comentario |
+| ------------------------------------------- | ------------------ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| wk CID host domain name | cidHostDomain | Nombre de dominio de host CID: dominio de host que se añadirá a las URL CID generadas incluyendo una "@" como separador. Disponible sólo cuando se utiliza el formato `wk mime html`. |
+| wk embedded pictures | embeddedPictures | Sólo para exportación SVG. Establece si las imágenes se incrustan en el archivo .svg exportado cuando se llama a [WP EXPORT DOCUMENT](wp-export-document.md). Valores disponibles: true (por defecto): las imágenes están incrustadas en el archivo .svg exportado false: las imágenes se exportan en una carpeta llamada "filename\_images" en el nivel del archivo .svg exportado, "filename" siendo el nombre pasado al comando para el archivo, sin la extensión. Las imágenes no están integradas, sino referenciadas en el archivo .svg.Nota: si la carpeta ya existe, se vaciará antes de exportar el archivo. Si no hay ninguna imagen en la página exportada, se elimina la carpeta |
+| wk factur x | facturX | Sólo para exportación en PDF. Valor: objeto que configura una exportación PDF "Factur-X (ZUGFeRD)" (ver [wk factur x object](#wk-factur-x-object)). |
+| wk files | Histórico | Sólo para exportación en PDF. Valor: colección de objetos, cada uno de los cuales describe un archivo que se integrará en el documento final (ver [wk files collection](#wk-files-collection)). Esta funcionalidad sólo se admite en documentos PDF/A-3: cuando se utiliza el atributo `wk files`, se establece automáticamente la versión "PDF/A-3" (se ignora el atributo `wk pdfa version`). En caso de una exportación de Factur-X PDF (ver abajo), el primer objeto de la colección debe contener el archivo Factur-X xml. |
+| wk google fonts tag | googleFontsTag | Sólo para exportación SVG. Define la regla de importación para fuentes google en el SVG exportado. Valores posibles: false (por defecto): no se añade ninguna regla de importación de fuentes de Google.true: añade la regla @import al archivo exportado. Útil si desea utilizar fuentes que no están disponibles por defecto en Windows o macOS. **Note:** This property is set to false by default because when enabled, Google fonts override native fonts, and native fonts are generally better rendered in the browser. |
+| wk HTML pretty print | htmlPrettyPrint | El código HTML está formateado para facilitar su lectura. |
+| wk max picture DPI | maxPictureDPI | Se utiliza para reducir imágenes a la resolución preferida. Para imágenes SVG en Windows, utilizado para la rasterización. Valores por defecto: 300 (for wk optimized for \= wk print) 192 (for wk optimized for \= wk screen) Valor máximo posible: 1440 |
+| wk optimized for | optimizedFor | Define cómo se optimiza un documento exportado en función de su soporte. Valores posibles: `wk print` (valor por defecto para `wk pdf` y `wk svg`) Las imágenes de mapa de bits pueden reducirse utilizando los PPP definidos por `wk max picture DPI` o 300 (valor por defecto) y pueden convertirse a PNG si el códec no es compatible con el tipo de exportación. Las imágenes vectoriales se convierten a PNG utilizando los PPP definidos por `wk max picture DPI` o 300 (sólo Windows). Si una imagen contiene más de un formato, se utiliza el mejor formato para la impresión (*por ejemplo*, .tiff en lugar de .jpg)`wk screen` (valor por defecto para `wk web page complete` y `wk mime html`). Las imágenes de mapa de bits pueden reducirse utilizando los PPP definidos por `wk max picture DPI` o 192 (valor por defecto) y pueden convertirse a JPEG (imágenes opacas) o PNG (imágenes transparentes) si el códec no es compatible con el tipo de exportación. Las imágenes vectoriales se convierten a PNG utilizando los PPP definidos por `wk max picture DPI` o 192 (sólo Windows). Si una imagen contiene más de un formato, se utiliza el formato para la renderización en pantalla. **Nota:** los documentos exportados en formato `wk docx` siempre se optimizan para la impresión wk (la opción wk optimized for se ignora). |
+| wk page index | pageIndex | Sólo para exportación SVG. Índice de la página a exportar a formato svg (por defecto es 1). El índice de páginas comienza en 1 para la primera página del documento. **Nota:** el índice de páginas es independiente de la numeración de páginas. |
+| wk pdfa version | pdfaVersion | Exporta PDF conforme a una versión PDF/A. Para más información sobre las propiedades y versiones de PDF/A, consulte la [página PDF/A en Wikipedia](https://en.wikipedia.org/wiki/PDF/A). Valores posibles: `wk pdfa2`: exporta a la versión "PDF/A-2" `wk pdfa3`: exporta a la versión "PDF/A-3" **Nota:** en macOS, `wk pdfa2` puede exportar a PDF/A-2 o PDF/A-3 o superior, dependiendo de la implementación de la plataforma. Además, `wk pdfa3` significa "exporta a *al menos* PDF/A-3". En Windows, el archivo PDF de salida siempre será igual a la conformidad deseada. |
+| wk recompute formulas | recomputeFormulas | Define si las fórmulas deben volver a calcularse cuando se exportan. Valores posibles:true - Valor por defecto. Se vuelven a calcular todas las fórmulasfalse - No se vuelven a calcular las fórmulas |
+| wk visible background and anchored elements | visibleBackground | Muestra o exporta imágenes/color de fondo, imágenes ancladas y cuadros de texto (para mostrar, efecto visible sólo en modo de vista Página o Anidado). Valores posibles: True/False |
+| wk visible empty images | visibleEmptyImages | Muestra o exporta un rectángulo negro por defecto para las imágenes que no se pueden cargar o calcular (imágenes vacías o imágenes en un formato no compatible). Valores posibles: True/False. Valor por defecto: True Si el valor es False, los elementos de imagen que falten no se mostrarán en absoluto aunque tengan bordes, ancho, alto o fondo; esto puede afectar al diseño de la página para imágenes en línea. |
+| wk visible footers | visibleFooters | Muestra o exporta los pies de página (para la visualización, efecto visible sólo en el modo vista Página). Valores posibles: True/False |
+| wk visible headers | visibleHeaders | Muestra o exporta los encabezados (para la visualización, efecto visible sólo en el modo vista Página). Valores posibles: True/False |
+| wk visible references | visibleReferences | Muestra o exporta todas las expresiones 4D insertadas en el documento como referencias. Valores posibles: True/False |
+| wk whitespace | whitespace | Define el valor css "white-space" para los formatos de exportación `wk mime html` y `wk web page complete`. El estilo [white-space css](https://developer.mozilla.org/en-US/docs/Web/CSS/white-space) se aplica a los párrafos. Valores posibles: "normal", "nowrap", "pre", "pre-wrap" (por defecto), "pre-line", "break-spaces". |
La siguiente tabla indica la *option* disponible por *format* de exportación:
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/WritePro/commands/wp-export-variable.md b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/WritePro/commands/wp-export-variable.md
index 606d4bcc42bcd7..f77c075aef2b83 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/WritePro/commands/wp-export-variable.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/WritePro/commands/wp-export-variable.md
@@ -52,25 +52,25 @@ En el parámetro *format*, pase una constante del tema *4D Write Pro Constants*
Pase un [objeto](# "Datos estructurados como un objeto nativo 4D") en *option* conteniendo los valores para definir las propiedades del documento exportado. Las siguientes propiedades están disponibles:
-| Constante | Valor | Comentario |
-| ------------------------------------------- | ------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
-| wk CID host domain name | cidHostDomain | Nombre de dominio de host CID: dominio de host que se añadirá a las URL CID generadas incluyendo una "@" como separador. Disponible sólo cuando se utiliza el formato `wk mime html`. |
-| wk embedded pictures | embeddedPictures | Sólo para exportación SVG. Establece si las imágenes se incrustan en el archivo .svg exportado cuando se llama a [WP EXPORT DOCUMENT](wp-export-document.md). Valores disponibles: true (por defecto): las imágenes están incrustadas en el archivo .svg exportado false: las imágenes se exportan en una carpeta llamada "filename\_images" en el nivel del archivo .svg exportado, "filename" siendo el nombre pasado al comando para el archivo, sin la extensión. Las imágenes no están integradas, sino referenciadas en el archivo .svg.Nota: si la carpeta ya existe, se vaciará antes de exportar el archivo. Si no hay ninguna imagen en la página exportada, se elimina la carpeta |
-| wk factur x | facturX | Sólo para exportación en PDF. Valor: objeto que configura una exportación PDF "Factur-X (ZUGFeRD)" (ver [wk factur x object](./wp-export-document.md#wk-factur-x-object)). |
-| wk files | Histórico | Sólo para exportación en PDF. Valor: colección de objetos, cada uno de los cuales describe un archivo que se integrará en el documento final (ver [wk files collection](./wp-export-document.md#wk-files-collection)). Esta funcionalidad sólo se admite en documentos PDF/A-3: cuando se utiliza el atributo `wk files`, se establece automáticamente la versión "PDF/A-3" (se ignora el atributo `wk pdfa version`). En caso de una exportación de Factur-X PDF (ver abajo), el primer objeto de la colección debe contener el archivo Factur-X xml. |
-| wk google fonts tag | googleFontsTag | Sólo para exportación SVG. Define la regla de importación para fuentes google en el SVG exportado. Valores posibles: false (por defecto): no se añade ninguna regla de importación de fuentes de Google.true: añade la regla @import al archivo exportado. Útil si desea utilizar fuentes que no están disponibles por defecto en Windows o macOS. **Note:** This property is set to false by default because when enabled, Google fonts override native fonts, and native fonts are generally better rendered in the browser. |
-| wk HTML pretty print | htmlPrettyPrint | El código HTML está formateado para facilitar su lectura. |
-| wk max picture DPI | maxPictureDPI | Se utiliza para reducir imágenes a la resolución preferida. Para imágenes SVG en Windows, utilizado para la rasterización. Valores por defecto: 300 (for wk optimized for \= wk print) 192 (for wk optimized for \= wk screen) Valor máximo posible: 1440 |
-| wk optimized for | optimizedFor | Define cómo se optimiza un documento exportado en función de su soporte. Valores posibles: `wk print` (valor por defecto para `wk pdf` y `wk svg`) Las imágenes de mapa de bits pueden reducirse utilizando los PPP definidos por `wk max picture DPI` o 300 (valor por defecto) y pueden convertirse a PNG si el códec no es compatible con el tipo de exportación. Las imágenes vectoriales se convierten a PNG utilizando los PPP definidos por `wk max picture DPI` o 300 (sólo Windows). Si una imagen contiene más de un formato, se utiliza el mejor formato para la impresión (*por ejemplo*, .tiff en lugar de .jpg)`wk screen` (valor por defecto para `wk web page complete` y `wk mime html`). Las imágenes de mapa de bits pueden reducirse utilizando los PPP definidos por `wk max picture DPI` o 192 (valor por defecto) y pueden convertirse a JPEG (imágenes opacas) o PNG (imágenes transparentes) si el códec no es compatible con el tipo de exportación. Las imágenes vectoriales se convierten a PNG utilizando los PPP definidos por `wk max picture DPI` o 192 (sólo Windows). If a picture contains more than one format, the format for screen rendering is used. **Nota:** los documentos exportados en formato `wk docx` siempre se optimizan para la impresión wk (la opción wk optimized for se ignora). |
-| wk page index | pageIndex | Sólo para exportación SVG. Índice de la página a exportar a formato svg (por defecto es 1). El índice de páginas comienza en 1 para la primera página del documento. **Nota:** el índice de páginas es independiente de la numeración de páginas. |
-| wk pdfa version | pdfaVersion | Exporta PDF conforme a una versión PDF/A. Para más información sobre las propiedades y versiones de PDF/A, consulte la [página PDF/A en Wikipedia](https://en.wikipedia.org/wiki/PDF/A). Valores posibles: `wk pdfa2`: exporta a la versión "PDF/A-2" `wk pdfa3`: exporta a la versión "PDF/A-3" **Nota:** en macOS, `wk pdfa2` puede exportar a PDF/A-2 o PDF/A-3 o superior, dependiendo de la implementación de la plataforma. Además, `wk pdfa3` significa "exporta a *al menos* PDF/A-3". En Windows, el archivo PDF de salida siempre será igual a la conformidad deseada. |
-| wk recompute formulas | recomputeFormulas | Define si las fórmulas deben volver a calcularse cuando se exportan. Valores posibles:true - Valor por defecto. Se vuelven a calcular todas las fórmulasfalse - No se vuelven a calcular las fórmulas |
-| wk visible background and anchored elements | visibleBackground | Muestra o exporta imágenes/color de fondo, imágenes ancladas y cuadros de texto (para mostrar, efecto visible sólo en modo de vista Página o Anidado). Valores posibles: True/False |
-| wk visible empty images | visibleEmptyImages | Muestra o exporta un rectángulo negro por defecto para las imágenes que no se pueden cargar o calcular (imágenes vacías o imágenes en un formato no compatible). Valores posibles: True/False. Valor por defecto: True Si el valor es False, los elementos de imagen que falten no se mostrarán en absoluto aunque tengan bordes, ancho, alto o fondo; esto puede afectar al diseño de la página para imágenes en línea. |
-| wk visible footers | visibleFooters | Muestra o exporta los pies de página (para la visualización, efecto visible sólo en el modo vista Página). Valores posibles: True/False |
-| wk visible headers | visibleHeaders | Muestra o exporta los encabezados (para la visualización, efecto visible sólo en el modo vista Página). Valores posibles: True/False |
-| wk visible references | visibleReferences | Muestra o exporta todas las expresiones 4D insertadas en el documento como referencias. Valores posibles: True/False |
-| wk whitespace | whitespace | Define el valor css "white-space" para el formato de exportación `wk mime html`. El estilo [white-space css](https://developer.mozilla.org/en-US/docs/Web/CSS/white-space) se aplica a los párrafos. Valores posibles: "normal", "nowrap", "pre", "pre-wrap" (por defecto), "pre-line", "break-spaces". |
+| Constante | Valor | Comentario |
+| ------------------------------------------- | ------------------ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| wk CID host domain name | cidHostDomain | Nombre de dominio de host CID: dominio de host que se añadirá a las URL CID generadas incluyendo una "@" como separador. Disponible sólo cuando se utiliza el formato `wk mime html`. |
+| wk embedded pictures | embeddedPictures | Sólo para exportación SVG. Establece si las imágenes se incrustan en el archivo .svg exportado cuando se llama a [WP EXPORT DOCUMENT](wp-export-document.md). Valores disponibles: true (por defecto): las imágenes están incrustadas en el archivo .svg exportado false: las imágenes se exportan en una carpeta llamada "filename\_images" en el nivel del archivo .svg exportado, "filename" siendo el nombre pasado al comando para el archivo, sin la extensión. Las imágenes no están integradas, sino referenciadas en el archivo .svg.Nota: si la carpeta ya existe, se vaciará antes de exportar el archivo. Si no hay ninguna imagen en la página exportada, se elimina la carpeta |
+| wk factur x | facturX | Sólo para exportación en PDF. Valor: objeto que configura una exportación PDF "Factur-X (ZUGFeRD)" (ver [wk factur x object](./wp-export-document.md#wk-factur-x-object)). |
+| wk files | Histórico | Sólo para exportación en PDF. Valor: colección de objetos, cada uno de los cuales describe un archivo que se integrará en el documento final (ver [wk files collection](./wp-export-document.md#wk-files-collection)). Esta funcionalidad sólo se admite en documentos PDF/A-3: cuando se utiliza el atributo `wk files`, se establece automáticamente la versión "PDF/A-3" (se ignora el atributo `wk pdfa version`). En caso de una exportación de Factur-X PDF (ver abajo), el primer objeto de la colección debe contener el archivo Factur-X xml. |
+| wk google fonts tag | googleFontsTag | Sólo para exportación SVG. Define la regla de importación para fuentes google en el SVG exportado. Valores posibles: false (por defecto): no se añade ninguna regla de importación de fuentes de Google.true: añade la regla @import al archivo exportado. Útil si desea utilizar fuentes que no están disponibles por defecto en Windows o macOS. **Note:** This property is set to false by default because when enabled, Google fonts override native fonts, and native fonts are generally better rendered in the browser. |
+| wk HTML pretty print | htmlPrettyPrint | El código HTML está formateado para facilitar su lectura. |
+| wk max picture DPI | maxPictureDPI | Se utiliza para reducir imágenes a la resolución preferida. Para imágenes SVG en Windows, utilizado para la rasterización. Valores por defecto: 300 (for wk optimized for \= wk print) 192 (for wk optimized for \= wk screen) Valor máximo posible: 1440 |
+| wk optimized for | optimizedFor | Define cómo se optimiza un documento exportado en función de su soporte. Valores posibles: `wk print` (valor por defecto para `wk pdf` y `wk svg`) Las imágenes de mapa de bits pueden reducirse utilizando los PPP definidos por `wk max picture DPI` o 300 (valor por defecto) y pueden convertirse a PNG si el códec no es compatible con el tipo de exportación. Las imágenes vectoriales se convierten a PNG utilizando los PPP definidos por `wk max picture DPI` o 300 (sólo Windows). Si una imagen contiene más de un formato, se utiliza el mejor formato para la impresión (*por ejemplo*, .tiff en lugar de .jpg)`wk screen` (valor por defecto para `wk web page complete` y `wk mime html`). Las imágenes de mapa de bits pueden reducirse utilizando los PPP definidos por `wk max picture DPI` o 192 (valor por defecto) y pueden convertirse a JPEG (imágenes opacas) o PNG (imágenes transparentes) si el códec no es compatible con el tipo de exportación. Las imágenes vectoriales se convierten a PNG utilizando los PPP definidos por `wk max picture DPI` o 192 (sólo Windows). Si una imagen contiene más de un formato, se utiliza el formato para la renderización en pantalla. **Nota:** los documentos exportados en formato `wk docx` siempre se optimizan para la impresión wk (la opción wk optimized for se ignora). |
+| wk page index | pageIndex | Sólo para exportación SVG. Índice de la página a exportar a formato svg (por defecto es 1). El índice de páginas comienza en 1 para la primera página del documento. **Nota:** el índice de páginas es independiente de la numeración de páginas. |
+| wk pdfa version | pdfaVersion | Exporta PDF conforme a una versión PDF/A. Para más información sobre las propiedades y versiones de PDF/A, consulte la [página PDF/A en Wikipedia](https://en.wikipedia.org/wiki/PDF/A). Valores posibles: `wk pdfa2`: exporta a la versión "PDF/A-2" `wk pdfa3`: exporta a la versión "PDF/A-3" **Nota:** en macOS, `wk pdfa2` puede exportar a PDF/A-2 o PDF/A-3 o superior, dependiendo de la implementación de la plataforma. Además, `wk pdfa3` significa "exporta a *al menos* PDF/A-3". En Windows, el archivo PDF de salida siempre será igual a la conformidad deseada. |
+| wk recompute formulas | recomputeFormulas | Define si las fórmulas deben volver a calcularse cuando se exportan. Valores posibles:true - Valor por defecto. Se vuelven a calcular todas las fórmulasfalse - No se vuelven a calcular las fórmulas |
+| wk visible background and anchored elements | visibleBackground | Muestra o exporta imágenes/color de fondo, imágenes ancladas y cuadros de texto (para mostrar, efecto visible sólo en modo de vista Página o Anidado). Valores posibles: True/False |
+| wk visible empty images | visibleEmptyImages | Muestra o exporta un rectángulo negro por defecto para las imágenes que no se pueden cargar o calcular (imágenes vacías o imágenes en un formato no compatible). Valores posibles: True/False. Valor por defecto: True Si el valor es False, los elementos de imagen que falten no se mostrarán en absoluto aunque tengan bordes, ancho, alto o fondo; esto puede afectar al diseño de la página para imágenes en línea. |
+| wk visible footers | visibleFooters | Muestra o exporta los pies de página (para la visualización, efecto visible sólo en el modo vista Página). Valores posibles: True/False |
+| wk visible headers | visibleHeaders | Muestra o exporta los encabezados (para la visualización, efecto visible sólo en el modo vista Página). Valores posibles: True/False |
+| wk visible references | visibleReferences | Muestra o exporta todas las expresiones 4D insertadas en el documento como referencias. Valores posibles: True/False |
+| wk whitespace | whitespace | Define el valor css "white-space" para el formato de exportación `wk mime html`. El estilo [white-space css](https://developer.mozilla.org/en-US/docs/Web/CSS/white-space) se aplica a los párrafos. Valores posibles: "normal", "nowrap", "pre", "pre-wrap" (por defecto), "pre-line", "break-spaces". |
The following table indicates the *option* available per export *format*:
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/WritePro/commands/wp-import-document.md b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/WritePro/commands/wp-import-document.md
index 05064f54bf9dd9..9e7eb901643b46 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/WritePro/commands/wp-import-document.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/WritePro/commands/wp-import-document.md
@@ -64,8 +64,8 @@ Puede pasar un objeto para definir cómo se gestionan los siguientes atributos d
**Notas de compatibilidad**
-- *Character style sheets in legacy 4D Write documents use a proprietary mechanism, which is not supported by 4D Write Pro. To get the best result for imported text, style sheet attributes are converted to "hard coded" style attributes. Las hojas de estilo de caracteres antiguos no son importadas y ya no están referenciadas en el documento.*
-- *Support for importing in .docx format is only certified for Microsoft Word 2010 and newer. Versiones antiguas, especialmente Microsoft Word 2007, pueden no importar correctamente.*
+- *Las hojas de estilo de caracteres de los documentos heredados de 4D Write utilizan un mecanismo propietario que no es compatible con 4D Write Pro. To get the best result for imported text, style sheet attributes are converted to "hard coded" style attributes. Las hojas de estilo de caracteres antiguos no son importadas y ya no están referenciadas en el documento.*
+- *El soporte para la importación en formato .docx solo está certificado para Microsoft Word 2010 y más recientes. Versiones antiguas, especialmente Microsoft Word 2007, pueden no importar correctamente.*
## Ejemplo 1
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/aikit/Classes/OpenAI.md b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/aikit/Classes/OpenAI.md
index 1271a5aaaa8e21..c521ca59af78e2 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/aikit/Classes/OpenAI.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/aikit/Classes/OpenAI.md
@@ -44,7 +44,7 @@ var $client:=cs.AIKit.OpenAI.new({apiKey: "your api key"})
#### URL del servidor
-For a [compatible provider](../compatible-openai.md) API, you can configure the server URL.
+Para una API [proveedor compatible](../compatible-openai.md), puede configurar la URL del servidor.
```4d
var $client:=cs.AIKit.OpenAI.new({apiKey: "your api key"; baseURL: "https://server.ai"})
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/aikit/Classes/OpenAIError.md b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/aikit/Classes/OpenAIError.md
index 50c983790a5e75..b237a978ab1103 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/aikit/Classes/OpenAIError.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/aikit/Classes/OpenAIError.md
@@ -5,7 +5,7 @@ title: OpenAIError Class
# OpenAIError Class
-La clase `OpenAIError` está diseñada para manejar errores devueltos por la API OpenAI. It extracts relevant information from the error response and provides methods to access this information.
+La clase `OpenAIError` está diseñada para manejar errores devueltos por la API OpenAI. Extrae información relevante de la respuesta de error y ofrece los métodos para acceder a esta información.
## Propiedades
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/aikit/Classes/OpenAIParameters.md b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/aikit/Classes/OpenAIParameters.md
index 54c9d61d806d8a..f4bf7976453bad 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/aikit/Classes/OpenAIParameters.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/aikit/Classes/OpenAIParameters.md
@@ -5,7 +5,7 @@ title: OpenAIParameters
# OpenAIParameters
-The `OpenAIParameters` class is designed to handle execution and request parameters for interacting with the OpenAI API.
+La clase `OpenAIParameters` está diseñada para manejar los parámetros de ejecución y de petición para interactuar con la API OpenAI.
## Propiedades
@@ -24,16 +24,16 @@ Ver la [documentación sobre código asíncrono](../asynchronous-call.md)
| Propiedad | Tipo | Descripción |
| -------------- | --------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
-| `timeout` | Real | Overrides the client-level default timeout for the request, in seconds. Por defecto es 0. |
+| `timeout` | Real | Reemplaza el tiempo de espera predeterminado del nivel de cliente para la petición, en segundos. Por defecto es 0. |
| `httpAgent` | HTTPAgent | Anula el agente HTTP predeterminado a nivel de cliente para la petición. |
| `maxRetries` | Integer | El número máximo de reintentos para la petición. (Sólo si el código no es asíncrono, es decir, no se proporciona ninguna función) |
| `extraHeaders` | Object | Encabezados adicionales para enviar con la petición. |
### Propiedades OpenAPI
-| Propiedad | Tipo | Descripción |
-| --------- | ---- | ----------------------------------------------------------------------------------------------------------- |
-| `user` | Text | A unique identifier representing the end-user, which helps OpenAI monitor and detect abuse. |
+| Propiedad | Tipo | Descripción |
+| --------- | ---- | --------------------------------------------------------------------------------------------------------------------------- |
+| `user` | Text | Un identificador único que representa al usuario final y que ayuda a OpenAI a supervisar y detectar abusos. |
## Clases heredadas
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/aikit/asynchronous-call.md b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/aikit/asynchronous-call.md
index 90a8a0f9ad4cd2..3df96877e738c2 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/aikit/asynchronous-call.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/aikit/asynchronous-call.md
@@ -5,7 +5,7 @@ title: Asynchronous Call
# Asynchronous Call
-If you do not want to wait for the OpenAPI response when making a request to its API, you need to use asynchronous code.
+Si no desea esperar la respuesta del OpenAPI al hacer una petición a su API, debe utilizar un código asíncrono.
Debe proporcionar un `4D.Formula` para recibir el resultado. Ver [OpenAIParameters](Classes/OpenAIParameters.md) para una lista de ellos.
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/commands/call-chain.md b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/commands/call-chain.md
index fdbd960b6e8acd..d4288b04753c41 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/commands/call-chain.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/commands/call-chain.md
@@ -31,7 +31,7 @@ The command facilitates debugging by enabling the identification of the method o
| **Propiedad** | **Tipo** | **Description** | **Ejemplo** |
| ------------- | ----------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------- |
-| database | Text | Name of the database calling the method (to distinguish host methods and component methods) | "database":"contactInfo" |
+| database | Text | Nombre de la base de datos que llama al método (para distinguir los métodos locales de los métodos del componente) | "database":"contactInfo" |
| formula | Text (si lo hay) | Contenido de la línea actual de código en el nivel actual de la cadena de llamadas (texto bruto). Corresponde al contenido de la línea referenciada por la propiedad `line` en el archivo fuente indicado por el método. Si el código fuente no está disponible, la propiedad `formula` se omite (Undefined). | "var $stack:=Call chain" |
| línea | Integer | Número de línea de llamada al método | "line":6 |
| name | Text | Nombre del método llamado | "name":"On Load" |
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/commands/command-name.md b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/commands/command-name.md
index 81ea01647a075f..4a2b20f032e1e2 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/commands/command-name.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/commands/command-name.md
@@ -35,7 +35,7 @@ The **Command name** command returns t
Hay dos parámetros opcionales:
- *info*: propiedades del comando. The returned value is a *bit field*, where the following bits are meaningful:
- - Primer bit (bit 0): definido en 1 si el comando es [**hilo-seguro**](../Develop/preemptive.md#thread-safe-vs-thread-unsafe-code) (es decir, compatible con la ejecución en un proceso apropiativo) y 0 si es **hilo-inseguro**. Only thread-safe commands can be used in [preemptive processes](../Develop/preemptive.md).
+ - Primer bit (bit 0): definido en 1 si el comando es [**hilo-seguro**](../Develop/preemptive.md#thread-safe-vs-thread-unsafe-code) (es decir, compatible con la ejecución en un proceso apropiativo) y 0 si es **hilo-inseguro**. Solo se pueden usar comandos hilo seguro en [procesos preventivos](../Develop/preemptive.md).
- Segundo bit (bit 1): se define en 1 si el comando es **obsoleto**, y en 0 si no lo es. A deprecated command will continue to work normally as long as it is supported, but should be replaced whenever possible and must no longer be used in new code. Los comandos obsoletos en su código generan advertencias en el [Live Checker y el compilador](../code-editor/write-class-method.md#warnings-and-errors).
*theme*: nombre del tema del lenguaje 4D para el comando.
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-20/Concepts/variables.md b/i18n/es/docusaurus-plugin-content-docs/version-20/Concepts/variables.md
index a7b5e56a2fe736..9ca0af37245507 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-20/Concepts/variables.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-20/Concepts/variables.md
@@ -242,7 +242,7 @@ Las variables del sistema son utilizadas por los [comandos 4D](commands.md). Con
| ------------------------------------------------------ | ------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `OK` | Integer | Normalmente se establece en 1 después de que un comando haya mostrado una caja de diálogo y el usuario haya hecho clic en el botón **Aceptar**, y en 0 si hizo clic en **Cancelar**. Algunos comandos también modifican el valor de la variable del sistema `OK` cuando se ejecuta una operación con éxito. |
| `Document` | Text | Contiene el "nombre largo" (ruta completa+nombre) del último archivo abierto o creado mediante comandos como [Open document](https://doc.4d.com/4dv20/help/command/en/page264.html) o [SELECT LOG FILE](https://doc.4d.com/4dv20/help/command/en/page345.html). |
-| `FldDelimit`, `RecDelimit` | Text | Contienen los códigos de caracteres que se utilizarán respectivamente como separador de campos (por defecto es **Tabulación** (9)) y separador de registros (por defecto es **retorno de carro** (13)) al importar o exportar texto. Para utilizar un separador diferente, asigne un nuevo valor a la variable del sistema. |
+| `FldDelimit`, `RecDelimit` | Integer | Contienen los códigos de caracteres que se utilizarán respectivamente como separador de campos (por defecto es **Tabulación** (9)) y separador de registros (por defecto es **retorno de carro** (13)) al importar o exportar texto. Para utilizar un separador diferente, asigne un nuevo valor a la variable del sistema. |
| `Error`, `Error method`, `Error line`, `Error formula` | Text, Longint | Utilizado en un método de captura de errores instalado por el comando [`ON ERR CALL`](https://doc.4d.com/4dv20/help/command/en/page155.html). Ver [Gestión de errores dentro del método](../Concepts/error-handling.md#handling-errors-within-the-method). |
| `MouseDown` | Integer | Utilizado en un método instalado por el comando [`ON EVENT CALL`](https://doc.4d.com/4dv20/help/command/en/page190.html). Toma el valor 1 cuando se presiona el botón del ratón, de lo contrario 0. |
| `MouseX`, `MouseY` | Integer | Utilizado en un método instalado por el comando [`ON EVENT CALL`](https://doc.4d.com/4dv20/help/command/en/page190.html). En un evento `MouseDown=1`, `MouseX` y `MouseY` se establecen respectivamente en las coordenadas verticales y horizontales del clic. Ambos valores se expresan en píxeles y utilizan el sistema de coordenadas local de la ventana. En el caso de un campo imagen o variable, `MouseX` y `MouseY` devuelven las coordenadas locales de un clic de ratón en los eventos de formulario [`On Clicked`](../Events/onClicked.md), [`On Double Clicked`](../Events/onDoubleClicked.md) y [`On Mouse Up`](../Events/onMouseUp.md). Las coordenadas locales del cursor del ratón también se retornan en los eventos formulario [`On Mouse Enter`](../Events/onMouseEnter.md) y [`On Mouse Move`](../Events/onMouseMove.md). Para obtener más información, consulte la sección [Coordenadas del ratón en una imagen](../FormEditor/pictures.md#coordenadas-del-ratón-en-una-imagen). |
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-20/FormEditor/formEditor.md b/i18n/es/docusaurus-plugin-content-docs/version-20/FormEditor/formEditor.md
index b3bc4c53bcc4a9..7dcdb830dcd022 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-20/FormEditor/formEditor.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-20/FormEditor/formEditor.md
@@ -340,7 +340,7 @@ Cuando se superponen varios objetos, se puede utilizar el atajo **Ctrl+Mayús+cl
:::note
-In binary databases, use **Ctrl+Click / Command+Click** to perform the same action.
+En bases de datos binarias, utilice **Ctrl+Clic / Comando+Clic** para efectuar la misma acción.
:::
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-21/API/DataStoreClass.md b/i18n/es/docusaurus-plugin-content-docs/version-21/API/DataStoreClass.md
index 3624ec598b4b1b..b66e8076cf076a 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-21/API/DataStoreClass.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-21/API/DataStoreClass.md
@@ -436,7 +436,7 @@ La función `.getInfo()` devuelve
| Propiedad | Tipo | Descripción |
| ---------- | ------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| type | string | "4D": datastore principal, disponible a través de ds "4D Server": datastore remoto, abrir con Open datastore |
-| networked | boolean | True: el almacén de datos se alcanza a través de una conexión de red.False: the datastore is not reached through a network connection (local database) |
+| networked | boolean | True: el almacén de datos se alcanza a través de una conexión de red.False: no se llega al almacén de datos a través de una conexión de red (base de datos local) |
| localID | text | ID del almacén de datos en la máquina. ID del almacén de datos en la máquina. Cadena vacía ("") para el almacén de datos principal. |
| connection | object | Objeto que describe la conexión del almacén de datos remoto (no se devuelve para el almacén de datos principal). Propiedades disponibles:| Propiedad | Tipo | Descripción |
|---|
| nombre de host | texto | Dirección IP o nombre del datastore remoto + ":" + número de puerto |
| tls | booleano | True si se utiliza una conexión segura con el datastore remoto |
| idleTimeout | número | Tiempo de inactividad de la sesión (en minutos) |
| usuario | texto | Usuario autenticado en el almacén de datos remoto |
|
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-21/API/EntityClass.md b/i18n/es/docusaurus-plugin-content-docs/version-21/API/EntityClass.md
index 43a8a2bc90666a..e5bb51f928f1e0 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-21/API/EntityClass.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-21/API/EntityClass.md
@@ -393,15 +393,15 @@ El objeto devuelto por `.drop()` contiene las siguientes propiedades:
(\*) Los siguientes valores pueden ser devueltos en las propiedades *status* y *statusText* del objeto *Result* en caso de error:
-| Constante | Valor | Comentario |
-| ----------------------------------------- | ----- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
-| `dk status entity does not exist anymore` | 5 | La entidad ya no existe en los datos. Este error puede ocurrir en los siguientes casos:
la entidad ha sido eliminada (el marcador ha cambiado y ahora el espacio de memoria está libre)la entidad ha sido eliminada y reemplazada por otra con otra clave primaria (el marcador ha cambiado y una nueva entidad ahora utiliza el espacio memoria). Cuando se utiliza entity.drop(), este error puede ser devuelto cuando se utiliza la opción dk force drop if stamp changed. When using entity.lock(), this error can be returned when dk reload if stamp changed option is used. **statusText asociado**: "La entidad ya no existe" |
-| `dk status locked` | 3 | La entidad está bloqueada por un bloqueo pesimista.
**statusText asociado**: "Already locked" |
-| `dk status validation failed` | 7 | Error no crítico enviado por el desarrollador para un [evento de validación](../ORDA/orda-events.md). **statusText asociado**: "Mild Validation Error" |
-| `dk status serious error` | 4 | A serious error is a low-level database error (e.g. duplicated key), a hardware error, etc.
**statusText asociado**\*: "Other error" |
-| `dk status serious validation error` | 8 | Error crítico enviado por el desarrollador para un [evento de validación](../ORDA/orda-events.md). **statusText asociado**: "Serious Validation Error" |
-| `dk status stamp has changed` | 2 | El valor del marcador interno (stamp) de la entidad no coincide con el de la entidad almacenada en los datos (bloqueo optimista).
with `.save()`: error only if the `dk auto merge` option is not usedwith `.drop()`: error only if the `dk force drop if stamp changed` option is not usedwith `.lock()`: error only if the `dk reload if stamp changed` option is not used**Associated statusText**: "Stamp has changed" |
-| `dk status wrong permission` | 1 | Los privilegios actuales no permiten suprimir la entidad. **Associated statusText**: "Permission Error" |
+| Constante | Valor | Comentario |
+| ----------------------------------------- | ----- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
+| `dk status entity does not exist anymore` | 5 | La entidad ya no existe en los datos. Este error puede ocurrir en los siguientes casos:
la entidad ha sido eliminada (el marcador ha cambiado y ahora el espacio de memoria está libre)la entidad ha sido eliminada y reemplazada por otra con otra clave primaria (el marcador ha cambiado y una nueva entidad ahora utiliza el espacio memoria). Cuando se utiliza entity.drop(), este error puede ser devuelto cuando se utiliza la opción dk force drop if stamp changed. Cuando se utiliza entity.lock(), este error puede ser devuelto cuando se utiliza la opción dk reload if stamp changed **statusText asociado**: "La entidad ya no existe" |
+| `dk status locked` | 3 | La entidad está bloqueada por un bloqueo pesimista.
**statusText asociado**: "Already locked" |
+| `dk status validation failed` | 7 | Error no crítico enviado por el desarrollador para un [evento de validación](../ORDA/orda-events.md). **statusText asociado**: "Mild Validation Error" |
+| `dk status serious error` | 4 | A serious error is a low-level database error (e.g. duplicated key), a hardware error, etc.
**statusText asociado**\*: "Other error" |
+| `dk status serious validation error` | 8 | Error crítico enviado por el desarrollador para un [evento de validación](../ORDA/orda-events.md). **statusText asociado**: "Serious Validation Error" |
+| `dk status stamp has changed` | 2 | El valor del marcador interno (stamp) de la entidad no coincide con el de la entidad almacenada en los datos (bloqueo optimista).
with `.save()`: error only if the `dk auto merge` option is not usedwith `.drop()`: error only if the `dk force drop if stamp changed` option is not usedwith `.lock()`: error only if the `dk reload if stamp changed` option is not used**Associated statusText**: "Stamp has changed" |
+| `dk status wrong permission` | 1 | Los privilegios actuales no permiten suprimir la entidad. **Associated statusText**: "Permission Error" |
#### Ejemplo 1
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-21/API/TCPEventClass.md b/i18n/es/docusaurus-plugin-content-docs/version-21/API/TCPEventClass.md
index c5ed7c2561fabb..fb2d8d27b187e0 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-21/API/TCPEventClass.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-21/API/TCPEventClass.md
@@ -3,7 +3,7 @@ id: TCPEventClass
title: TCPEvent
---
-The `TCPEvent` class provides information about events occurring during the lifecycle of a TCP connection. It is generated when a [TCPConnection](TCPConnectionClass.md) is opened and is typically utilized in callbacks such as `onConnection`, `onData`, `onError`, and others.
+La clase `TCPEvent` ofrece información sobre los eventos que se producen durante el ciclo de vida de una conexión TCP. It is generated when a [TCPConnection](TCPConnectionClass.md) is opened and is typically utilized in callbacks such as `onConnection`, `onData`, `onError`, and others.
Historia
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-21/API/WebServerClass.md b/i18n/es/docusaurus-plugin-content-docs/version-21/API/WebServerClass.md
index 9b27f3d5414da9..3f4c6a3239e5ec 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-21/API/WebServerClass.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-21/API/WebServerClass.md
@@ -187,7 +187,7 @@ El nombre de la página de i
*Propiedad de sólo lectura*
-A collection of custom HTTP handler objects. An HTTP handler object contains a listened URL pattern, a handled verb, and the code to be called. HTTP handlers can be defined through a HTTPHandlers.json file or the *settings* parameter of the [`.start()`](#start) function. Para más información, consulte la página [HTTP Request handler](../WebServer/http-request-handler.md).
+Una colección de objetos HTTP handler personalizados. Un objeto HTTP handler contiene un patrón de URL escuchado, un verbo manejado y el código a llamar. Los manejadores HTTP pueden definirse a través de un archivo HTTPHandlers.json o del parámetro *settings* de la función [`.start()`](#start). Para más información, consulte la página [HTTP Request handler](../WebServer/http-request-handler.md).
@@ -495,7 +495,7 @@ La ruta de la carpeta raíz del s
*Propiedad de sólo lectura*
-A collection of rule objects currently handled to customize HTTP headers. A rule object contains a "regexPattern" property, as well as an action name with a value. HTTP rules can be defined through a HTTPRules.json file or the *settings* parameter of the [`.start()`](#start) function. Para obtener más información, consulte la página [Reglas HTTP](../WebServer/http-rules.md).
+Una colección de objetos de reglas que se manejan actualmente para personalizar los encabezados HTTP. Un objeto regla contiene una propiedad "regexPattern", así como un nombre de acción con un valor. Las reglas HTTP pueden definirse a través de un archivo HTTPRules.json o del parámetro *settings* de la función [`.start()`](#start). Para obtener más información, consulte la página [Reglas HTTP](../WebServer/http-rules.md).
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-21/Concepts/variables.md b/i18n/es/docusaurus-plugin-content-docs/version-21/Concepts/variables.md
index a1cc173febeb9b..e31872102c3770 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-21/Concepts/variables.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-21/Concepts/variables.md
@@ -250,17 +250,18 @@ El lenguaje 4D maneja varias **variables sistema**, las cuales le permiten contr
Las variables del sistema son utilizadas por los [comandos 4D](../commands/command-index.md). Consulte el párrafo "Variables del sistema y conjuntos" en la descripción de un comando para averiguar si afecta a una variable del sistema.
-| Nombre de la variable del sistema | Tipo | Descripción |
-| ------------------------------------------------------ | ------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
-| `OK` | Integer | Normalmente se establece en 1 después de que un comando haya mostrado una caja de diálogo y el usuario haya hecho clic en el botón **Aceptar**, y en 0 si hizo clic en **Cancelar**. Algunos comandos también modifican el valor de la variable del sistema `OK` cuando se ejecuta una operación con éxito. |
-| `Document` | Text | Contiene el "nombre largo" (ruta completa+nombre) del último archivo abierto o creado utilizando comandos como [Open document](../commands-legacy/open-document.md) o [SELECT LOG FILE](../commands/select-log-file.md). |
-| `FldDelimit`, `RecDelimit` | Text | Contienen los códigos de caracteres que se utilizarán respectivamente como separador de campos (por defecto es **Tab** (9)) y separador de registros (por defecto es **retorno de carro** (13)) al importar o exportar texto. Para utilizar un separador diferente, asigne un nuevo valor a la variable del sistema. |
-| `Error`, `Error method`, `Error line`, `Error formula` | Text, Longint | Utilizado en un método de captura de errores instalado por el comando [`ON ERR CALL`](../commands-legacy/on-err-call.md). Ver [Gestión de errores en el método](../Concepts/error-handling.md#handling-errors-within-the-method). |
-| `MouseDown` | Integer | Utilizado en un método instalado por el comando [`ON EVENT CALL`](../commands-legacy/on-event-call.md). Toma el valor 1 cuando se presiona el botón del ratón, de lo contrario 0. |
-| `MouseX`, `MouseY` | Integer | Utilizado en un método instalado por el comando [`ON EVENT CALL`](../commands-legacy/on-event-call.md). En un evento `MouseDown=1`, `MouseX` y `MouseY` se establecen respectivamente en las coordenadas verticales y horizontales del clic. Ambos valores se expresan en píxeles y utilizan el sistema de coordenadas local de la ventana. En el caso de un campo imagen o variable, `MouseX` y `MouseY` devuelven las coordenadas locales de un clic de ratón en los eventos de formulario [`On Clicked`](../Events/onClicked.md), [`On Double Clicked`](../Events/onDoubleClicked.md) y [`On Mouse Up`](../Events/onMouseUp.md). Las coordenadas locales del cursor del ratón también se retornan en los eventos formulario [`On Mouse Enter`](../Events/onMouseEnter.md) y [`On Mouse Move`](../Events/onMouseMove.md). Para obtener más información, consulte la sección [Coordenadas del ratón en una imagen](../FormEditor/pictures.md#coordenadas-del-ratón-en-una-imagen). |
-| `KeyCode` | Integer | Utilizado en un método instalado por el comando [`ON EVENT CALL`](../commands-legacy/on-event-call.md). Define el código de carácter de la tecla que se acaba de presionar. Si la tecla es una tecla de función, `KeyCode` se establece como un código especial. |
-| `Modifiers` | Integer | Utilizado en un método instalado por el comando [`ON EVENT CALL`](../commands-legacy/on-event-call.md). Establece las teclas modificadoras del teclado (Ctrl/Command, Alt/Option, Shift, Caps Lock). |
-| `MouseProc` | Integer | Utilizado en un método instalado por el comando [`ON EVENT CALL`](../commands-legacy/on-event-call.md). Define el número de proceso en el que tuvo lugar el último evento |
+| Nombre de la variable del sistema | Tipo | Descripción |
+| --------------------------------- | ------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| `OK` | Integer | Normalmente se establece en 1 después de que un comando haya mostrado una caja de diálogo y el usuario haya hecho clic en el botón **Aceptar**, y en 0 si hizo clic en **Cancelar**. Algunos comandos también modifican el valor de la variable del sistema `OK` cuando se ejecuta una operación con éxito. |
+| `Document` | Text | Contiene el "nombre largo" (ruta completa+nombre) del último archivo abierto o creado utilizando comandos como [Open document](../commands-legacy/open-document.md) o [SELECT LOG FILE](../commands/select-log-file.md). |
+| `FldDelimit`, `RecDelimit` | Integer | Contienen los códigos de caracteres que se utilizarán respectivamente como separador de campos (por defecto es **Tab** (9)) y separador de registros (por defecto es **retorno de carro** (13)) al importar o exportar texto. Para utilizar un separador diferente, asigne un nuevo valor a la variable del sistema. |
+| `Error`, `Error line` | Integer | Utilizado en un método de captura de errores instalado por el comando [`ON ERR CALL`](../commands-legacy/on-err-call.md). Ver [Gestión de errores en el método](../Concepts/error-handling.md#handling-errors-within-the-method). |
+| `Error method`, `Error formula` | Text | Utilizado en un método de captura de errores instalado por el comando [`ON ERR CALL`](../commands-legacy/on-err-call.md). Ver [Gestión de errores en el método](../Concepts/error-handling.md#handling-errors-within-the-method). |
+| `MouseDown` | Integer | Utilizado en un método instalado por el comando [`ON EVENT CALL`](../commands-legacy/on-event-call.md). Toma el valor 1 cuando se presiona el botón del ratón, de lo contrario 0. |
+| `MouseX`, `MouseY` | Integer | Utilizado en un método instalado por el comando [`ON EVENT CALL`](../commands-legacy/on-event-call.md). En un evento `MouseDown=1`, `MouseX` y `MouseY` se establecen respectivamente en las coordenadas verticales y horizontales del clic. Ambos valores se expresan en píxeles y utilizan el sistema de coordenadas local de la ventana. En el caso de un campo imagen o variable, `MouseX` y `MouseY` devuelven las coordenadas locales de un clic de ratón en los eventos de formulario [`On Clicked`](../Events/onClicked.md), [`On Double Clicked`](../Events/onDoubleClicked.md) y [`On Mouse Up`](../Events/onMouseUp.md). Las coordenadas locales del cursor del ratón también se retornan en los eventos formulario [`On Mouse Enter`](../Events/onMouseEnter.md) y [`On Mouse Move`](../Events/onMouseMove.md). Para obtener más información, consulte la sección [Coordenadas del ratón en una imagen](../FormEditor/pictures.md#coordenadas-del-ratón-en-una-imagen). |
+| `KeyCode` | Integer | Utilizado en un método instalado por el comando [`ON EVENT CALL`](../commands-legacy/on-event-call.md). Define el código de carácter de la tecla que se acaba de presionar. Si la tecla es una tecla de función, `KeyCode` se establece como un código especial. |
+| `Modifiers` | Integer | Utilizado en un método instalado por el comando [`ON EVENT CALL`](../commands-legacy/on-event-call.md). Establece las teclas modificadoras del teclado (Ctrl/Command, Alt/Option, Shift, Caps Lock). |
+| `MouseProc` | Integer | Utilizado en un método instalado por el comando [`ON EVENT CALL`](../commands-legacy/on-event-call.md). Define el número de proceso en el que tuvo lugar el último evento |
:::note
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-21/FormEditor/forms.md b/i18n/es/docusaurus-plugin-content-docs/version-21/FormEditor/forms.md
index 8c272c69a56671..3372865a4eb79b 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-21/FormEditor/forms.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-21/FormEditor/forms.md
@@ -102,7 +102,7 @@ En Windows, 4D soporta el renderizado de formularios **Fluent UI**, el moderno d
La renderización Fluent UI ofrece controles modernos y atractivos, compatibilidad con los temas sistema dark/light, renderización más fluida optimizada para pantallas de alta resolución y una experiencia de usuario coherente y alineada con las aplicaciones recientes de Microsoft.
-| Light theme | Dark theme |
+| Tema claro | Tema oscuro |
| --------------------------------------- | -------------------------------------------- |
|  |  |
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-21/Menus/properties.md b/i18n/es/docusaurus-plugin-content-docs/version-21/Menus/properties.md
index e71e4a99e8fae0..4d34bb1d18dda4 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-21/Menus/properties.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-21/Menus/properties.md
@@ -12,9 +12,9 @@ La propiedad **Title** contiene la etiqueta de un menú o elemento de menú tal
En el editor de menús, puede introducir directamente la etiqueta como "fijo". También puede introducir una referencia para una variable o un elemento XLIFF, lo que facilitará el mantenimiento y la traducción de las aplicaciones. Puede utilizar los siguientes tipos de referencias:
- Una referencia a un recurso XLIFF del tipo :xliff:MyLabel. Para más información sobre las referencias XLIFF, consulte la sección *Arquitectura XLIFF* en *Referencia Diseño 4D*.
-- (**Deprecated**) An interprocess variable name followed by a number, for example: `:<>vlang,3`. Si se cambia el contenido de esta variable, se modificará la etiqueta del menú cuando se muestre. En este caso, la etiqueta llamará a un recurso XLIFF. El valor contenido en la variable `<>vlang` corresponde al atributo *id* del elemento *group*. El segundo valor (3 en este ejemplo) designa el atributo *id* del elemento *trans-unit*.
+- (**Obsoleto**) Un nombre de variable interproceso seguido de un número, por ejemplo: `:<>vlang,3`. Si se cambia el contenido de esta variable, se modificará la etiqueta del menú cuando se muestre. En este caso, la etiqueta llamará a un recurso XLIFF. El valor contenido en la variable `<>vlang` corresponde al atributo *id* del elemento *group*. El segundo valor (3 en este ejemplo) designa el atributo *id* del elemento *trans-unit*.
-Using the 4D language, you set the title property through the *itemText* parameter of the [`APPEND MENU ITEM`](../commands/append-menu-item), [`INSERT MENU ITEM`](../commands/insert-menu-item), and [`SET MENU ITEM`](../commands/set-menu-item) commands.
+Usando el lenguaje 4D, se define la propiedad del título a través del parámetro *itemText* de los comandos [`APPEND MENU ITEM`](../commands/append-menu-item), [`INSERT MENU ITEM`](../commands/insert-menu-item), y [`SET MENU ITEM`](../commands/set-menu-item).
### Caracteres de control
@@ -33,9 +33,9 @@ Los caracteres de control no aparecen en las etiquetas de los comandos del menú
## Parámetros
-Puede asociar un parámetro personalizado a cada elemento del menú. Un parámetro de elemento de menú es una cadena de caracteres cuyo contenido puede elegirse libremente. It can be set in the Menu editor, or through the [`SET MENU ITEM PARAMETER`](../commands/set-menu-item-parameter) command.
+Puede asociar un parámetro personalizado a cada elemento del menú. Un parámetro de elemento de menú es una cadena de caracteres cuyo contenido puede elegirse libremente. Puede configurarse en el editor de menús o mediante el comando [`SET MENU ITEM PARAMETER`](../commands/set-menu-item-parameter).
-Menu item parameters are useful with programmed management of menus, in particular when using the [`Dynamic pop up menu`](../commands/dynamic-pop-up-menu), [`Get menu item parameter`](../commands/get-menu-item-parameter) and [`Get selected menu item parameter`](../commands/get-selected-menu-item-parameter) commands.
+Los parámetros de los elementos de menú son útiles para la gestión programada de menús, en particular cuando se utilizan los comandos [`Dynamic pop up menu`](../commands/dynamic-pop-up-menu), [`Get menu item parameter`](../commands/get-menu-item-parameter) y [`Get selected menu item parameter`](../commands/get-selected-menu-item-parameter).
## Acción
@@ -57,7 +57,7 @@ Puede asignar un método proyecto y/o una acción estándar a un comando de men
- **Acción estándar asociada**: elija o escriba la acción que desea asignar en el combo box "Acción estándar asociada". Puede introducir toda acción soportada y (opcionalmente) el parámetro que desee en el área. Para obtener una lista completa de acciones estándar, consulte la sección **Acciones estándar** en el *Modo Diseño*.
**Nota para macOS:** en macOS, los comandos de menús personalizados asociados a la acción *Salir* se colocan automáticamente en el menú de la aplicación, conforme a los estándares de interfaz de la plataforma.
-Using the 4D language, you can associate a project method using the [`SET MENU ITEM METHOD`](../commands/set-menu-item-method) command, and a standard action using the [`SET MENU ITEM PROPERTY`](../commands/set-menu-item-property) command.
+Utilizando el lenguaje 4D, puede asociar un método de proyecto utilizando el comando [`SET MENU ITEM METHOD`](../commands/set-menu-item-method), y una acción estándar utilizando el comando [`SET MENU ITEM PROPERTY`](../commands/set-menu-item-property).
### Iniciar un proceso
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-21/ORDA/orda-events.md b/i18n/es/docusaurus-plugin-content-docs/version-21/ORDA/orda-events.md
index 4e2033c1d4caa1..4efe396d833a2a 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-21/ORDA/orda-events.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-21/ORDA/orda-events.md
@@ -24,7 +24,7 @@ No se puede activar directamente la ejecución de la función de evento. Los eve
:::info Nota de compatibilidad
-Los eventos de entidad ORDA en el almacen de datos equivalen a triggers en la base de datos 4D. Sin embargo, las acciones desencadenadas a nivel de la base de datos 4D utilizando los comandos del lenguaje clásico 4D o las acciones estándar no desencadenan eventos ORDA.
+Los eventos de entidad ORDA en el almacen de datos equivalen a triggers en la base de datos 4D. Sin embargo, las acciones desencadenadas a nivel de la base de datos 4D utilizando los comandos del lenguaje clásico 4D o las acciones estándar no desencadenan eventos ORDA. Note also that, unlike triggers, ORDA entity events do not lock the entire underlying table of a dataclass while saving or dropping entities. Several events can run in parallel as long as they involve distinct entities (i.e. records).
:::
@@ -338,7 +338,7 @@ Este evento es activado por las siguientes funciones:
This event is triggered **before** the entity is actually saved and lets you check data consistency so that you can stop the action if needed. Por ejemplo, puede comprobar en este evento que "fecha de salida" < "fecha de llegada".
-To stop the action, the code of the function must return an [error object](#error-object).
+Para detener la acción, el código de la función debe devolver un [objeto error](#error-object).
:::note
@@ -380,7 +380,7 @@ Function event saving ($event : Object)
Este evento se activa cada vez que se guarda una entidad.
- Si define la función a nivel de entidad (primera Sintaxis), se llama para cualquier atributo de la entidad. The function is executed even if no attribute has been touched in the entity (e.g. in case of sending data to an external app each time a save is done).
-- If you defined the function at the attribute level (second syntax), it is called only for this attribute. La función **no** se ejecuta si el atributo no ha sido tocado en la entidad.
+- Si definió la función en el nivel de atributo (segunda Sintaxis), solo se llama para este atributo. La función **no** se ejecuta si el atributo no ha sido tocado en la entidad.
La función recibe un [objeto *event*](#event-parameter) como parámetro.
@@ -393,13 +393,13 @@ Este evento se activa **mientras** la entidad se guarda. If a [`validateSave()`]
:::note
-The business logic should raise errors which can't be detected during the `validateSave()` events, e.g. a network error
+La lógica de negocio debe generar errores que no puedan detectarse durante los eventos `validateSave()`, por ejemplo, un error de red
:::
Durante la acción de guardar, se pueden producir errores en el motor 4D (índice, sello ha cambiado, no hay suficiente espacio en el disco).
-To stop the action, the code of the function must return an [error object](#error-object).
+Para detener la acción, el código de la función debe devolver un [objeto error](#error-object).
#### Ejemplo
@@ -420,7 +420,9 @@ If (This.userManualPath#"")
// The user manual document file is created on the disk
// This may fail if no more space is available
Try
- $fileCreated:=$userManualFile.create()
+ // The file content has been generated and stored in a map in Storage.docMap previously
+ $docInfo:=Storage.docMap.query("name = :1"; This.name).first()
+ $userManualFile.setContent($docInfo.content)
Catch
// No more room on disk for example
$result:={/
@@ -434,6 +436,12 @@ return $result
```
+:::note
+
+The content of the file is generated outside the `saving` event because it can be time consuming.
+
+:::
+
### `Function event afterSave`
#### Sintaxis
@@ -486,7 +494,7 @@ Function event validateDrop ($event : Object)
Este evento se activa cada vez que una entidad está a punto de ser soltada.
- Si define la función a nivel de entidad (primera Sintaxis), se llama para cualquier atributo de la entidad.
-- If you defined the function at the attribute level (second syntax), it is called only for this attribute.
+- Si definió la función en el nivel de atributo (segunda Sintaxis), solo se llama para este atributo.
La función recibe un [objeto *event*](#event-parameter) como parámetro.
@@ -498,7 +506,7 @@ Este evento se activa con las siguientes funcionalidades:
This event is triggered **before** the entity is actually dropped, allowing you to check data consistency and if necessary, to stop the drop action.
-To stop the action, the code of the function must return an [error object](#error-object).
+Para detener la acción, el código de la función debe devolver un [objeto error](#error-object).
#### Ejemplo
@@ -533,7 +541,7 @@ Function event dropping ($event : Object)
Este evento se activa cada vez que se elimina una entidad.
- Si define la función a nivel de entidad (primera Sintaxis), se llama para cualquier atributo de la entidad.
-- If you defined the function at the attribute level (second syntax), it is called only for this attribute.
+- Si definió la función en el nivel de atributo (segunda Sintaxis), solo se llama para este atributo.
La función recibe un [objeto *event*](#event-parameter) como parámetro.
@@ -547,11 +555,11 @@ This event is triggered **while** the entity is actually dropped. If a [`validat
:::note
-The business logic should raise errors which cannot be detected during the `validateDrop()` events, e.g. a network error.
+La lógica de negocio debe generar errores que no puedan detectarse durante los eventos `validateDrop()`, por ejemplo, un error de red.
:::
-To stop the action, the code of the function must return an [error object](#error-object).
+Para detener la acción, el código de la función debe devolver un [objeto error](#error-object).
#### Ejemplo
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-21/ORDA/ordaClasses.md b/i18n/es/docusaurus-plugin-content-docs/version-21/ORDA/ordaClasses.md
index b7e892e9b05080..669de5f11a80eb 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-21/ORDA/ordaClasses.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-21/ORDA/ordaClasses.md
@@ -404,7 +404,7 @@ sequenceDiagram
```
-#### Example 4 (diagram): Qodly - Standard action and update value on the newly created entity
+#### Ejemplo 4 (diagrama): Qodly - Acción estándar y valor de actualización en la nueva entidad creada
```mermaid
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-21/ORDA/privileges.md b/i18n/es/docusaurus-plugin-content-docs/version-21/ORDA/privileges.md
index 24876efc710352..d44456626e3e3b 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-21/ORDA/privileges.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-21/ORDA/privileges.md
@@ -35,7 +35,7 @@ Puede asignar acciones de permiso específicas a los siguientes recursos en su p
Cada vez que se accede a un recurso dentro de una sesión (sin importar la forma en que se acceda), 4D verifica que la sesión tenga los permisos apropiados y rechaza el acceso si no está autorizado.
-## Permissions
+## Permisos
A permission is the ability to do an action on a resource. For example, *execute the ds.myTable.myFunction()* represents a **permission**. Permissions are defined for the project in the [`roles.json`](#rolesjson-file) file. Cada permiso se puede dar a uno o más [privilegios](#privileges-and-roles).
@@ -262,8 +262,8 @@ The `restrictedByDefault` property configures how every [resource](#resources) a
Depending on your environment, the recommended settings are:
-- **Production**: Set both `restrictedByDefault` and [`forceLogin`](../REST/authUsers.md#force-login-mode) to **true**. Esto garantiza la máxima seguridad al requerir autenticación de usuario y permisos explícitamente definidos para el acceso a recursos.
-- **Development**: Set both `restrictedByDefault` and [`forceLogin`](../REST/authUsers.md#force-login-mode) to **false**. Esto permite un acceso más fácil durante el desarrollo y la depuración, con la posibilidad de aplicar gradualmente restricciones.
+- **Producción**: defina tanto `restrictedByDefault` como [`forceLogin`](../REST/authUsers.md#force-login-mode) como **true**. Esto garantiza la máxima seguridad al requerir autenticación de usuario y permisos explícitamente definidos para el acceso a recursos.
+- **Desarrollo**: defina `restrictedByDefault` y [`forceLogin`](../REST/authUsers.md#force-login-mode) como **false**. Esto permite un acceso más fácil durante el desarrollo y la depuración, con la posibilidad de aplicar gradualmente restricciones.
### Archivo `Roles_Errors.json`
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-21/Project/date-time-formats.md b/i18n/es/docusaurus-plugin-content-docs/version-21/Project/date-time-formats.md
index 1205c7f43c900d..a8bc65c4192828 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-21/Project/date-time-formats.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-21/Project/date-time-formats.md
@@ -112,7 +112,7 @@ La siguiente tabla muestra todos los patrones soportados para formatos de fecha
### `L` (monopuesto) vs `M`
-En algunos idiomas (ruso, eslovaco), el mes utilizado por sí solo es diferente al mes en una fecha. In "January 10, 2010", "January" is not spelled the same as in "*rendez-vous* in January".
+En algunos idiomas (ruso, eslovaco), el mes utilizado por sí solo es diferente al mes en una fecha. En "10 de enero de 2010", "enero" no se escribe igual que en "*rendez-vous* en janvier".
### `e` vs `c`
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-21/REST/$filter.md b/i18n/es/docusaurus-plugin-content-docs/version-21/REST/$filter.md
index daaa27e8603038..b4a6412ae9d9e6 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-21/REST/$filter.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-21/REST/$filter.md
@@ -84,17 +84,17 @@ If the attribute stores [**vector objects**](../API/VectorClass.md) (see how to
For more information about vector similarity searches, please refer to [Query by vector similarity](../API/DataClassClass.md#query-by-vector-similarity) section.
-Use the `params` property to provide the filter with the vector comparison parameter, using a syntax like:
+Utilice la propiedad `params` para ofrecer al filtro el parámetro de comparación de vectores, utilizando una sintaxis como:
**\{vectorAttribute\} \{comparator\} \{placeholder\}&$params=vectorComparison**
El parámetro *vectorComparison* es una colección de los siguientes elementos:
-| Propiedad | Tipo | Descripción |
-| -------------------------------------------------------------------------------- | -------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
-| [].vector | Colección de números | Obligatorio. Una colección que representa el vector a comparar |
-| [].metric | Text | Opcional. [Cálculo vectorial](../API/VectorClass.md#understanding-the-different-vector-computations) a utilizar para la consulta. Supported values:"cosine" (default if omitted): calculates the cosine similarity between vectors."dot": calcula la similitud de puntos de los vectores."euclídea": calcula la distancia euclidiana entre vectores. |
-| [].threshold | Real | Opcional (por defecto: 0,5). Un valor umbral utilizado para filtrar las comparaciones de vectores en función de su puntuación de similitud coseno, punto o euclídea según la "métrica" seleccionada. Es altamente recomendable elegir una similitud que se adapte mejor a su caso de uso específico para obtener resultados óptimos. |
+| Propiedad | Tipo | Descripción |
+| -------------------------------------------------------------------------------- | -------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| [].vector | Colección de números | Obligatorio. Una colección que representa el vector a comparar |
+| [].metric | Text | Opcional. [Cálculo vectorial](../API/VectorClass.md#understanding-the-different-vector-computations) a utilizar para la consulta. Valores soportados:"cosine" (por defecto si omitido): calcula la similitud del coseno entre los vectores."dot": calcula la similitud de puntos de los vectores."euclídea": calcula la distancia euclidiana entre vectores. |
+| [].threshold | Real | Opcional (por defecto: 0,5). Un valor umbral utilizado para filtrar las comparaciones de vectores en función de su puntuación de similitud coseno, punto o euclídea según la "métrica" seleccionada. Es altamente recomendable elegir una similitud que se adapte mejor a su caso de uso específico para obtener resultados óptimos. |
Solo un subconjunto de símbolos **comparadores** son soportados con comparaciones vectoriales. Tenga en cuenta que comparan los resultados con el valor umbral:
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-21/ViewPro/classes.md b/i18n/es/docusaurus-plugin-content-docs/version-21/ViewPro/classes.md
index 09aab72cb82cf9..9edb4dbc3da69b 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-21/ViewPro/classes.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-21/ViewPro/classes.md
@@ -205,7 +205,7 @@ La propiedad `.borderBottom` es la
**.borderTop** : [cs.ViewPro.LineBorder](#lineborder)
-The `.borderTop` property is the top border line of the table .
+La propiedad `.borderTop` es la línea del borde superior de la tabla .
### .borderHorizontal
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-21/ViewPro/commands/vp-set-workbook-options.md b/i18n/es/docusaurus-plugin-content-docs/version-21/ViewPro/commands/vp-set-workbook-options.md
index 2843b740b83dc6..8c82c06835134d 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-21/ViewPro/commands/vp-set-workbook-options.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-21/ViewPro/commands/vp-set-workbook-options.md
@@ -48,14 +48,14 @@ En la siguiente tabla se listan las opciones de libros de trabajo disponibles:
| autoFitType | number | El contenido se formatea para que se ajuste en las celdas, o en las celdas y los encabezados. Valores disponibles: | Constante | Valor | Descripción |
|---|
| vk auto fit type cell | 0 | El contenido se ajusta automáticamente a las celdas |
| vk auto fit type cell with header | 1 | El contenido se ajusta automáticamente a las celdas y encabezados |
|
| backColor | string | Una cadena de color utilizada para representar el color de fondo del área, como "red", "#FFFF00", "rgb(255,0,0)", "Acento 5". El color de fondo inicial se oculta cuando se define una backgroundImage. |
| backgroundImage | string / picture / file | Imagen de fondo para el área. |
-| backgroundImageLayout | number | Cómo se muestra la imagen de fondo. Available values: | Constant | Value | Description |
|---|
| vk image layout center | 1 | In the center of the area. |
| vk image layout none | 3 | In the upper left corner of the area with its original size. |
| vk image layout stretch | 0 | Llena el área. |
| vk image layout zoom | 2 | Mostrado con su relación de aspecto original. |
|
+| backgroundImageLayout | number | Cómo se muestra la imagen de fondo. Available values: | Constant | Value | Description |
|---|
| vk image layout center | 1 | In the center of the area. |
| vk image layout none | 3 | En la esquina superior izquierda del área con su tamaño original. |
| vk image layout stretch | 0 | Llena el área. |
| vk image layout zoom | 2 | Mostrado con su relación de aspecto original. |
|
| calcOnDemand | boolean | Las fórmulas se calculan sólo cuando se piden. |
| columnResizeMode | number | Redimensiona modo para columnas. Valores disponibles: | Constante | Valor | Descripción |
|---|
| vk resize mode normal | 0 | Utiliza el modo de redimensionamiento normal (es decir, las columnas restantes se ven afectadas) |
| vk resize mode split | 1 | Utiliza el modo dividido (es decir, las columnas restantes no se ven afectadas) |
|
| copyPasteHeaderOptions | number | Encabezados para incluir cuando se copian o pegan datos. Available values: | Constant | Value | Description |
|---|
| vk copy paste header options all headers | 3 | Includes selected headers when data is copied; overwrites selected headers when data is pasted. |
| vk copy paste header options column headers | 2 | Includes selected column headers when data is copied; overwrites selected column headers when data is pasted. |
| vk copy paste header options no headers | 0 | Column and row headers are not included when data is copied; does not overwrite selected column or row headers when data is pasted. |
| vk copy paste header options row headers | 1 | Includes selected row headers when data is copied; overwrites selected row headers when data is pasted. |
|
| customList | collection | La lista para que los usuarios personalicen el relleno de arrastre, dar prioridad a que coincida con esta lista en cada relleno. Cada elemento de colección es una colección de cadenas. Vet en [SpreadJS docs](https://developer.mescius.com/spreadjs/docs/features/cells/AutoFillData/AutoFillLists). |
| cutCopyIndicatorBorderColor | string | Color del borde del indicador que aparece cuando el usuario corta o copia la selección. |
| cutCopyIndicatorVisible | boolean | Muestra un indicador al copiar o cortar el elemento seleccionado. |
-| defaultDragFillType | number | El tipo de relleno de arrastre por defecto. Valores disponibles : | Constante | Valor | Descripción |
|---|
| vk auto fill type auto | 5 | Rellena automáticamente las celdas. |
| vk auto fill type clear values | 4 | Clears cell values. |
| vk auto fill type copycells | 0 | Fills cells with all data objects, including values, formatting, and formulas. |
| vk auto fill type fill formatting only | 2 | Llena las celdas solo con formato. |
| vk auto fill type fill series | 1 | Fills cells with series. |
| vk auto fill type fill without formatting | 3 | Rellena las celdas con valores y no con formato. |
|
+| defaultDragFillType | number | El tipo de relleno de arrastre por defecto. Valores disponibles : | Constante | Valor | Descripción |
|---|
| vk auto fill type auto | 5 | Rellena automáticamente las celdas. |
| vk auto fill type clear values | 4 | Clears cell values. |
| vk auto fill type copycells | 0 | Fills cells with all data objects, including values, formatting, and formulas. |
| vk auto fill type fill formatting only | 2 | Llena las celdas solo con formato. |
| vk auto fill type fill series | 1 | Llena las celdas con series. |
| vk auto fill type fill without formatting | 3 | Rellena las celdas con valores y no con formato. |
|
| enableAccessibility | boolean | El soporte de accesibilidad está activado en la hoja de cálculo. |
| enableFormulaTextbox | boolean | Se activa la caja de texto de la fórmula. |
| grayAreaBackColor | string | Una cadena color utilizada para representar el color de fondo del área gris, como "red", "#FFFF00", "rgb(255,0,0)", "Accent 5", etc. |
@@ -66,7 +66,7 @@ En la siguiente tabla se listan las opciones de libros de trabajo disponibles:
| newTabVisible | boolean | Mostrar una pestaña especial para permitir a los usuarios insertar nuevas hojas. |
| numbersFitMode | number | Cambia el modo de visualización cuando el ancho de los datos de fecha/número es mayor que el ancho de la columna. Valores disponibles: | Constante | Valor | Descripción |
|---|
| vk numbers fit mode mask | 0 | Sustituye el contenido de los datos por "###" y muestra la punta |
| vk numbers fit mode overflow | 1 | Muestra el contenido de los datos como una cadena. Si la siguiente celda está vacía, se desborda el contenido. |
|
| pasteSkipInvisibleRange | boolean | Pegar u omitir el pegado de datos en rangos invisibles: - False (por defecto): pegar datos
- True: omitir el pegado en rangos invisibles
Ver [SpreadJS docs](https://developer.mescius.com/spreadjs/docs/features/rows-columns/paste-skip-data-invisible-range) para más información sobre rangos invisibles. |
-| referenceStyle | number | Estilo para referencias de celdas y rangos en fórmulas de celdas. Available values: | Constant | Value | Description |
|---|
| vk reference style A1 | 0 | Use A1 style. |
| vk reference style R1C1 | 1 | Use R1C1 style |
|
+| referenceStyle | number | Estilo para referencias de celdas y rangos en fórmulas de celdas. Available values: | Constant | Value | Description |
|---|
| vk reference style A1 | 0 | Use A1 style. |
| vk estilo de referencia R1C1 | 1 | Utilizar el estilo R1C1 |
|
| resizeZeroIndicator | number | Política de dibujo cuando las líneas o columnas se redimensionan a 0. Available values: | Constant | Value | Description |
|---|
| vk resize zero indicator default | 0 | Uses the current drawing policy when the row or column is resized to zero. |
| vk resize zero indicator enhanced | 1 | Draws two short lines when the row or column is resized to zero. |
|
| rowResizeMode | number | La forma en que se redimensionan las líneas. Los valores disponibles son los mismos qe columnResizeMode |
| scrollbarAppearance | number | Apariencia de la barra de desplazamiento. Available values: | Constant | Value | Description |
|---|
| vk scrollbar appearance mobile | 1 | Mobile scrollbar appearance. |
| vk scrollbar appearance skin (por defecto) | 0 | Apariencia clásica de la barra de desplazamiento similar a Excel. |
|
@@ -79,7 +79,7 @@ En la siguiente tabla se listan las opciones de libros de trabajo disponibles:
| showDragFillSmartTag | boolean | Mostrar el diálogo de arrastrar y rellenar. |
| showDragFillTip | boolean | Mostrar la punta de arrastrar y soltar. |
| showHorizontalScrollbar | boolean | Mostrar la barra de desplazamiento horizontal. |
-| showResizeTip | number | Cómo mostrar el tip de redimensionamiento. Available values: | Constant | Value | Description |
|---|
| vk show resize tip both | 3 | Horizontal and vertical resize tips are displayed. |
| vk show resize tip column | 1 | Solo se muestra la punta de redimensionamiento horizontal. |
| vk show resize tip none | 0 | No resize tip is displayed. |
| vk show resize tip row | 2 | Only the vertical resize tip is displayed. |
|
+| showResizeTip | number | Cómo mostrar el tip de redimensionamiento. Available values: | Constant | Value | Description |
|---|
| vk show resize tip both | 3 | Horizontal and vertical resize tips are displayed. |
| vk show resize tip column | 1 | Solo se muestra la punta de redimensionamiento horizontal. |
| vk show resize tip none | 0 | No se muestra ningún consejo de redimensionamiento. |
| vk show resize tip row | 2 | Solo se muestra la punta de redimensionamiento vertical. |
|
| showScrollTip | number | Cómo mostrar el tip de desplazamiento. Available values: | Constant | Value | Description |
|---|
| vk show scroll tip both | 3 | Horizontal and vertical scroll tips are displayed. |
| vk show scroll tip horizontal | 1 | Solo se muestra la punta de desplazamiento vertical. |
| vk show scroll tip none | No se muestra ninguna propina. |
| vk show scroll tip vertical | 2 | Solo se muestra la punta de desplazamiento vertical. |
|
| showVerticalScrollbar | boolean | Mostrar la barra de desplazamiento vertical. |
| tabEditable | boolean | La pestaña de la hoja se puede editar. |
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-21/WebServer/preemptiveWeb.md b/i18n/es/docusaurus-plugin-content-docs/version-21/WebServer/preemptiveWeb.md
index c270d197d2e68a..0e7af110758c9b 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-21/WebServer/preemptiveWeb.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-21/WebServer/preemptiveWeb.md
@@ -30,7 +30,7 @@ La siguiente tabla indica si el modo apropiativo se utiliza o está disponible,
- si las sesiones escalables están activadas, el modo apropiativo se utiliza automáticamente para los procesos web y servicios web.
- si las sesiones escalables no están activadas:
- for web processes, the [**Use preemptive processes**](webServerConfig.md#use-preemptive-processes) option is taken into account.
- - for web service processes (server or client), preemptive mode is supported at method level.
+ - para los procesos de servicios web (servidor o cliente), el modo preventivo está soportado a nivel de método.
## Escribir código servidor web hilo seguro
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-21/WebServer/qodly-studio.md b/i18n/es/docusaurus-plugin-content-docs/version-21/WebServer/qodly-studio.md
index 105b658372a4fe..1afca4411910ff 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-21/WebServer/qodly-studio.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-21/WebServer/qodly-studio.md
@@ -116,7 +116,7 @@ Hay dos formas de acceder a Qodly Studio:
The Qodly Studio documentation is available on the [Qodly documentation website](https://developer.qodly.com/docs/studio/overview).
-You can rely on this documentation and its associated resources for developing web applications powered by Qodly pages. Sin embargo, dependiendo de la etapa de implementación, los desarrolladores 4D utilizarán Qodly Studio o 4D IDE (ver [Comparación de funcionalidades](#comparación-de-funcionalidades)).
+Puede confiar en esta documentación y sus recursos asociados para desarrollar aplicaciones web basadas en páginas Qodly. Sin embargo, dependiendo de la etapa de implementación, los desarrolladores 4D utilizarán Qodly Studio o 4D IDE (ver [Comparación de funcionalidades](#comparación-de-funcionalidades)).
Se ofrecen ejemplos de código en [QodlyScript](https://developer.qodly.com/docs/category/qodlyscript), pero como QodlyScript hereda del Lenguaje 4D, no se sentirá perdido. Se ofrecen ejemplos de código en [QodlyScript](https://developer.qodly.com/docs/category/qodlyscript), pero como QodlyScript hereda del Lenguaje 4D, no se sentirá perdido.
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-21/WritePro/commands/wp-export-document.md b/i18n/es/docusaurus-plugin-content-docs/version-21/WritePro/commands/wp-export-document.md
index e32bca5acba067..b0efb466f4a29a 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-21/WritePro/commands/wp-export-document.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-21/WritePro/commands/wp-export-document.md
@@ -52,25 +52,25 @@ Puede omitir el parámetro *format*, en cuyo caso deberá especificar la extensi
Pase un [objeto](# "Datos estructurados como un objeto nativo 4D") en *option* conteniendo los valores para definir las propiedades del documento exportado. Las siguientes propiedades están disponibles:
-| Constante | Valor | Comentario |
-| ------------------------------------------- | ------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
-| wk CID host domain name | cidHostDomain | Nombre de dominio de host CID: dominio de host que se añadirá a las URL CID generadas incluyendo una "@" como separador. Disponible sólo cuando se utiliza el formato `wk mime html`. |
-| wk embedded pictures | embeddedPictures | Sólo para exportación SVG. Establece si las imágenes se incrustan en el archivo .svg exportado cuando se llama a [WP EXPORT DOCUMENT](wp-export-document.md). Valores disponibles: true (por defecto): las imágenes están incrustadas en el archivo .svg exportado false: las imágenes se exportan en una carpeta llamada "filename\_images" en el nivel del archivo .svg exportado, "filename" siendo el nombre pasado al comando para el archivo, sin la extensión. Las imágenes no están integradas, sino referenciadas en el archivo .svg.Nota: si la carpeta ya existe, se vaciará antes de exportar el archivo. Si no hay ninguna imagen en la página exportada, se elimina la carpeta |
-| wk factur x | facturX | Sólo para exportación en PDF. Valor: objeto que configura una exportación PDF "Factur-X (ZUGFeRD)" (ver [wk factur x object](#wk-factur-x-object)). |
-| wk files | Histórico | Sólo para exportación en PDF. Valor: colección de objetos, cada uno de los cuales describe un archivo que se integrará en el documento final (ver [wk files collection](#wk-files-collection)). Esta funcionalidad sólo se admite en documentos PDF/A-3: cuando se utiliza el atributo `wk files`, se establece automáticamente la versión "PDF/A-3" (se ignora el atributo `wk pdfa version`). En caso de una exportación de Factur-X PDF (ver abajo), el primer objeto de la colección debe contener el archivo Factur-X xml. |
-| wk google fonts tag | googleFontsTag | Sólo para exportación SVG. Define la regla de importación para fuentes google en el SVG exportado. Valores posibles: false (por defecto): no se añade ninguna regla de importación de fuentes de Google.true: añade la regla @import al archivo exportado. Útil si desea utilizar fuentes que no están disponibles por defecto en Windows o macOS. **Note:** This property is set to false by default because when enabled, Google fonts override native fonts, and native fonts are generally better rendered in the browser. |
-| wk HTML pretty print | htmlPrettyPrint | El código HTML está formateado para facilitar su lectura. |
-| wk max picture DPI | maxPictureDPI | Se utiliza para reducir imágenes a la resolución preferida. Para imágenes SVG en Windows, utilizado para la rasterización. Valores por defecto: 300 (for wk optimized for \= wk print) 192 (for wk optimized for \= wk screen) Valor máximo posible: 1440 |
-| wk optimized for | optimizedFor | Define cómo se optimiza un documento exportado en función de su soporte. Valores posibles: `wk print` (valor por defecto para `wk pdf` y `wk svg`) Las imágenes de mapa de bits pueden reducirse utilizando los PPP definidos por `wk max picture DPI` o 300 (valor por defecto) y pueden convertirse a PNG si el códec no es compatible con el tipo de exportación. Las imágenes vectoriales se convierten a PNG utilizando los PPP definidos por `wk max picture DPI` o 300 (sólo Windows). Si una imagen contiene más de un formato, se utiliza el mejor formato para la impresión (*por ejemplo*, .tiff en lugar de .jpg)`wk screen` (valor por defecto para `wk web page complete` y `wk mime html`). Las imágenes de mapa de bits pueden reducirse utilizando los PPP definidos por `wk max picture DPI` o 192 (valor por defecto) y pueden convertirse a JPEG (imágenes opacas) o PNG (imágenes transparentes) si el códec no es compatible con el tipo de exportación. Las imágenes vectoriales se convierten a PNG utilizando los PPP definidos por `wk max picture DPI` o 192 (sólo Windows). If a picture contains more than one format, the format for screen rendering is used. **Nota:** los documentos exportados en formato `wk docx` siempre se optimizan para la impresión wk (la opción wk optimized for se ignora). |
-| wk page index | pageIndex | Sólo para exportación SVG. Índice de la página a exportar a formato svg (por defecto es 1). El índice de páginas comienza en 1 para la primera página del documento. **Nota:** el índice de páginas es independiente de la numeración de páginas. |
-| wk pdfa version | pdfaVersion | Exporta PDF conforme a una versión PDF/A. Para más información sobre las propiedades y versiones de PDF/A, consulte la [página PDF/A en Wikipedia](https://en.wikipedia.org/wiki/PDF/A). Valores posibles: `wk pdfa2`: exporta a la versión "PDF/A-2" `wk pdfa3`: exporta a la versión "PDF/A-3" **Nota:** en macOS, `wk pdfa2` puede exportar a PDF/A-2 o PDF/A-3 o superior, dependiendo de la implementación de la plataforma. Además, `wk pdfa3` significa "exporta a *al menos* PDF/A-3". En Windows, el archivo PDF de salida siempre será igual a la conformidad deseada. |
-| wk recompute formulas | recomputeFormulas | Define si las fórmulas deben volver a calcularse cuando se exportan. Valores posibles:true - Valor por defecto. Se vuelven a calcular todas las fórmulasfalse - No se vuelven a calcular las fórmulas |
-| wk visible background and anchored elements | visibleBackground | Muestra o exporta imágenes/color de fondo, imágenes ancladas y cuadros de texto (para mostrar, efecto visible sólo en modo de vista Página o Anidado). Valores posibles: True/False |
-| wk visible empty images | visibleEmptyImages | Muestra o exporta un rectángulo negro por defecto para las imágenes que no se pueden cargar o calcular (imágenes vacías o imágenes en un formato no compatible). Valores posibles: True/False. Valor por defecto: True Si el valor es False, los elementos de imagen que falten no se mostrarán en absoluto aunque tengan bordes, ancho, alto o fondo; esto puede afectar al diseño de la página para imágenes en línea. |
-| wk visible footers | visibleFooters | Muestra o exporta los pies de página (para la visualización, efecto visible sólo en el modo vista Página). Valores posibles: True/False |
-| wk visible headers | visibleHeaders | Muestra o exporta los encabezados (para la visualización, efecto visible sólo en el modo vista Página). Valores posibles: True/False |
-| wk visible references | visibleReferences | Muestra o exporta todas las expresiones 4D insertadas en el documento como referencias. Valores posibles: True/False |
-| wk whitespace | whitespace | Define el valor css "white-space" para los formatos de exportación `wk mime html` y `wk web page complete`. El estilo [white-space css](https://developer.mozilla.org/en-US/docs/Web/CSS/white-space) se aplica a los párrafos. Valores posibles: "normal", "nowrap", "pre", "pre-wrap" (por defecto), "pre-line", "break-spaces". |
+| Constante | Valor | Comentario |
+| ------------------------------------------- | ------------------ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| wk CID host domain name | cidHostDomain | Nombre de dominio de host CID: dominio de host que se añadirá a las URL CID generadas incluyendo una "@" como separador. Disponible sólo cuando se utiliza el formato `wk mime html`. |
+| wk embedded pictures | embeddedPictures | Sólo para exportación SVG. Establece si las imágenes se incrustan en el archivo .svg exportado cuando se llama a [WP EXPORT DOCUMENT](wp-export-document.md). Valores disponibles: true (por defecto): las imágenes están incrustadas en el archivo .svg exportado false: las imágenes se exportan en una carpeta llamada "filename\_images" en el nivel del archivo .svg exportado, "filename" siendo el nombre pasado al comando para el archivo, sin la extensión. Las imágenes no están integradas, sino referenciadas en el archivo .svg.Nota: si la carpeta ya existe, se vaciará antes de exportar el archivo. Si no hay ninguna imagen en la página exportada, se elimina la carpeta |
+| wk factur x | facturX | Sólo para exportación en PDF. Valor: objeto que configura una exportación PDF "Factur-X (ZUGFeRD)" (ver [wk factur x object](#wk-factur-x-object)). |
+| wk files | Histórico | Sólo para exportación en PDF. Valor: colección de objetos, cada uno de los cuales describe un archivo que se integrará en el documento final (ver [wk files collection](#wk-files-collection)). Esta funcionalidad sólo se admite en documentos PDF/A-3: cuando se utiliza el atributo `wk files`, se establece automáticamente la versión "PDF/A-3" (se ignora el atributo `wk pdfa version`). En caso de una exportación de Factur-X PDF (ver abajo), el primer objeto de la colección debe contener el archivo Factur-X xml. |
+| wk google fonts tag | googleFontsTag | Sólo para exportación SVG. Define la regla de importación para fuentes google en el SVG exportado. Valores posibles: false (por defecto): no se añade ninguna regla de importación de fuentes de Google.true: añade la regla @import al archivo exportado. Útil si desea utilizar fuentes que no están disponibles por defecto en Windows o macOS. **Note:** This property is set to false by default because when enabled, Google fonts override native fonts, and native fonts are generally better rendered in the browser. |
+| wk HTML pretty print | htmlPrettyPrint | El código HTML está formateado para facilitar su lectura. |
+| wk max picture DPI | maxPictureDPI | Se utiliza para reducir imágenes a la resolución preferida. Para imágenes SVG en Windows, utilizado para la rasterización. Valores por defecto: 300 (for wk optimized for \= wk print) 192 (for wk optimized for \= wk screen) Valor máximo posible: 1440 |
+| wk optimized for | optimizedFor | Define cómo se optimiza un documento exportado en función de su soporte. Valores posibles: `wk print` (valor por defecto para `wk pdf` y `wk svg`) Las imágenes de mapa de bits pueden reducirse utilizando los PPP definidos por `wk max picture DPI` o 300 (valor por defecto) y pueden convertirse a PNG si el códec no es compatible con el tipo de exportación. Las imágenes vectoriales se convierten a PNG utilizando los PPP definidos por `wk max picture DPI` o 300 (sólo Windows). Si una imagen contiene más de un formato, se utiliza el mejor formato para la impresión (*por ejemplo*, .tiff en lugar de .jpg)`wk screen` (valor por defecto para `wk web page complete` y `wk mime html`). Las imágenes de mapa de bits pueden reducirse utilizando los PPP definidos por `wk max picture DPI` o 192 (valor por defecto) y pueden convertirse a JPEG (imágenes opacas) o PNG (imágenes transparentes) si el códec no es compatible con el tipo de exportación. Las imágenes vectoriales se convierten a PNG utilizando los PPP definidos por `wk max picture DPI` o 192 (sólo Windows). Si una imagen contiene más de un formato, se utiliza el formato para la renderización en pantalla. **Nota:** los documentos exportados en formato `wk docx` siempre se optimizan para la impresión wk (la opción wk optimized for se ignora). |
+| wk page index | pageIndex | Sólo para exportación SVG. Índice de la página a exportar a formato svg (por defecto es 1). El índice de páginas comienza en 1 para la primera página del documento. **Nota:** el índice de páginas es independiente de la numeración de páginas. |
+| wk pdfa version | pdfaVersion | Exporta PDF conforme a una versión PDF/A. Para más información sobre las propiedades y versiones de PDF/A, consulte la [página PDF/A en Wikipedia](https://en.wikipedia.org/wiki/PDF/A). Valores posibles: `wk pdfa2`: exporta a la versión "PDF/A-2" `wk pdfa3`: exporta a la versión "PDF/A-3" **Nota:** en macOS, `wk pdfa2` puede exportar a PDF/A-2 o PDF/A-3 o superior, dependiendo de la implementación de la plataforma. Además, `wk pdfa3` significa "exporta a *al menos* PDF/A-3". En Windows, el archivo PDF de salida siempre será igual a la conformidad deseada. |
+| wk recompute formulas | recomputeFormulas | Define si las fórmulas deben volver a calcularse cuando se exportan. Valores posibles:true - Valor por defecto. Se vuelven a calcular todas las fórmulasfalse - No se vuelven a calcular las fórmulas |
+| wk visible background and anchored elements | visibleBackground | Muestra o exporta imágenes/color de fondo, imágenes ancladas y cuadros de texto (para mostrar, efecto visible sólo en modo de vista Página o Anidado). Valores posibles: True/False |
+| wk visible empty images | visibleEmptyImages | Muestra o exporta un rectángulo negro por defecto para las imágenes que no se pueden cargar o calcular (imágenes vacías o imágenes en un formato no compatible). Valores posibles: True/False. Valor por defecto: True Si el valor es False, los elementos de imagen que falten no se mostrarán en absoluto aunque tengan bordes, ancho, alto o fondo; esto puede afectar al diseño de la página para imágenes en línea. |
+| wk visible footers | visibleFooters | Muestra o exporta los pies de página (para la visualización, efecto visible sólo en el modo vista Página). Valores posibles: True/False |
+| wk visible headers | visibleHeaders | Muestra o exporta los encabezados (para la visualización, efecto visible sólo en el modo vista Página). Valores posibles: True/False |
+| wk visible references | visibleReferences | Muestra o exporta todas las expresiones 4D insertadas en el documento como referencias. Valores posibles: True/False |
+| wk whitespace | whitespace | Define el valor css "white-space" para los formatos de exportación `wk mime html` y `wk web page complete`. El estilo [white-space css](https://developer.mozilla.org/en-US/docs/Web/CSS/white-space) se aplica a los párrafos. Valores posibles: "normal", "nowrap", "pre", "pre-wrap" (por defecto), "pre-line", "break-spaces". |
The following table indicates the *option* available per export *format*:
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-21/WritePro/commands/wp-export-variable.md b/i18n/es/docusaurus-plugin-content-docs/version-21/WritePro/commands/wp-export-variable.md
index 606d4bcc42bcd7..f77c075aef2b83 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-21/WritePro/commands/wp-export-variable.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-21/WritePro/commands/wp-export-variable.md
@@ -52,25 +52,25 @@ En el parámetro *format*, pase una constante del tema *4D Write Pro Constants*
Pase un [objeto](# "Datos estructurados como un objeto nativo 4D") en *option* conteniendo los valores para definir las propiedades del documento exportado. Las siguientes propiedades están disponibles:
-| Constante | Valor | Comentario |
-| ------------------------------------------- | ------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
-| wk CID host domain name | cidHostDomain | Nombre de dominio de host CID: dominio de host que se añadirá a las URL CID generadas incluyendo una "@" como separador. Disponible sólo cuando se utiliza el formato `wk mime html`. |
-| wk embedded pictures | embeddedPictures | Sólo para exportación SVG. Establece si las imágenes se incrustan en el archivo .svg exportado cuando se llama a [WP EXPORT DOCUMENT](wp-export-document.md). Valores disponibles: true (por defecto): las imágenes están incrustadas en el archivo .svg exportado false: las imágenes se exportan en una carpeta llamada "filename\_images" en el nivel del archivo .svg exportado, "filename" siendo el nombre pasado al comando para el archivo, sin la extensión. Las imágenes no están integradas, sino referenciadas en el archivo .svg.Nota: si la carpeta ya existe, se vaciará antes de exportar el archivo. Si no hay ninguna imagen en la página exportada, se elimina la carpeta |
-| wk factur x | facturX | Sólo para exportación en PDF. Valor: objeto que configura una exportación PDF "Factur-X (ZUGFeRD)" (ver [wk factur x object](./wp-export-document.md#wk-factur-x-object)). |
-| wk files | Histórico | Sólo para exportación en PDF. Valor: colección de objetos, cada uno de los cuales describe un archivo que se integrará en el documento final (ver [wk files collection](./wp-export-document.md#wk-files-collection)). Esta funcionalidad sólo se admite en documentos PDF/A-3: cuando se utiliza el atributo `wk files`, se establece automáticamente la versión "PDF/A-3" (se ignora el atributo `wk pdfa version`). En caso de una exportación de Factur-X PDF (ver abajo), el primer objeto de la colección debe contener el archivo Factur-X xml. |
-| wk google fonts tag | googleFontsTag | Sólo para exportación SVG. Define la regla de importación para fuentes google en el SVG exportado. Valores posibles: false (por defecto): no se añade ninguna regla de importación de fuentes de Google.true: añade la regla @import al archivo exportado. Útil si desea utilizar fuentes que no están disponibles por defecto en Windows o macOS. **Note:** This property is set to false by default because when enabled, Google fonts override native fonts, and native fonts are generally better rendered in the browser. |
-| wk HTML pretty print | htmlPrettyPrint | El código HTML está formateado para facilitar su lectura. |
-| wk max picture DPI | maxPictureDPI | Se utiliza para reducir imágenes a la resolución preferida. Para imágenes SVG en Windows, utilizado para la rasterización. Valores por defecto: 300 (for wk optimized for \= wk print) 192 (for wk optimized for \= wk screen) Valor máximo posible: 1440 |
-| wk optimized for | optimizedFor | Define cómo se optimiza un documento exportado en función de su soporte. Valores posibles: `wk print` (valor por defecto para `wk pdf` y `wk svg`) Las imágenes de mapa de bits pueden reducirse utilizando los PPP definidos por `wk max picture DPI` o 300 (valor por defecto) y pueden convertirse a PNG si el códec no es compatible con el tipo de exportación. Las imágenes vectoriales se convierten a PNG utilizando los PPP definidos por `wk max picture DPI` o 300 (sólo Windows). Si una imagen contiene más de un formato, se utiliza el mejor formato para la impresión (*por ejemplo*, .tiff en lugar de .jpg)`wk screen` (valor por defecto para `wk web page complete` y `wk mime html`). Las imágenes de mapa de bits pueden reducirse utilizando los PPP definidos por `wk max picture DPI` o 192 (valor por defecto) y pueden convertirse a JPEG (imágenes opacas) o PNG (imágenes transparentes) si el códec no es compatible con el tipo de exportación. Las imágenes vectoriales se convierten a PNG utilizando los PPP definidos por `wk max picture DPI` o 192 (sólo Windows). If a picture contains more than one format, the format for screen rendering is used. **Nota:** los documentos exportados en formato `wk docx` siempre se optimizan para la impresión wk (la opción wk optimized for se ignora). |
-| wk page index | pageIndex | Sólo para exportación SVG. Índice de la página a exportar a formato svg (por defecto es 1). El índice de páginas comienza en 1 para la primera página del documento. **Nota:** el índice de páginas es independiente de la numeración de páginas. |
-| wk pdfa version | pdfaVersion | Exporta PDF conforme a una versión PDF/A. Para más información sobre las propiedades y versiones de PDF/A, consulte la [página PDF/A en Wikipedia](https://en.wikipedia.org/wiki/PDF/A). Valores posibles: `wk pdfa2`: exporta a la versión "PDF/A-2" `wk pdfa3`: exporta a la versión "PDF/A-3" **Nota:** en macOS, `wk pdfa2` puede exportar a PDF/A-2 o PDF/A-3 o superior, dependiendo de la implementación de la plataforma. Además, `wk pdfa3` significa "exporta a *al menos* PDF/A-3". En Windows, el archivo PDF de salida siempre será igual a la conformidad deseada. |
-| wk recompute formulas | recomputeFormulas | Define si las fórmulas deben volver a calcularse cuando se exportan. Valores posibles:true - Valor por defecto. Se vuelven a calcular todas las fórmulasfalse - No se vuelven a calcular las fórmulas |
-| wk visible background and anchored elements | visibleBackground | Muestra o exporta imágenes/color de fondo, imágenes ancladas y cuadros de texto (para mostrar, efecto visible sólo en modo de vista Página o Anidado). Valores posibles: True/False |
-| wk visible empty images | visibleEmptyImages | Muestra o exporta un rectángulo negro por defecto para las imágenes que no se pueden cargar o calcular (imágenes vacías o imágenes en un formato no compatible). Valores posibles: True/False. Valor por defecto: True Si el valor es False, los elementos de imagen que falten no se mostrarán en absoluto aunque tengan bordes, ancho, alto o fondo; esto puede afectar al diseño de la página para imágenes en línea. |
-| wk visible footers | visibleFooters | Muestra o exporta los pies de página (para la visualización, efecto visible sólo en el modo vista Página). Valores posibles: True/False |
-| wk visible headers | visibleHeaders | Muestra o exporta los encabezados (para la visualización, efecto visible sólo en el modo vista Página). Valores posibles: True/False |
-| wk visible references | visibleReferences | Muestra o exporta todas las expresiones 4D insertadas en el documento como referencias. Valores posibles: True/False |
-| wk whitespace | whitespace | Define el valor css "white-space" para el formato de exportación `wk mime html`. El estilo [white-space css](https://developer.mozilla.org/en-US/docs/Web/CSS/white-space) se aplica a los párrafos. Valores posibles: "normal", "nowrap", "pre", "pre-wrap" (por defecto), "pre-line", "break-spaces". |
+| Constante | Valor | Comentario |
+| ------------------------------------------- | ------------------ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| wk CID host domain name | cidHostDomain | Nombre de dominio de host CID: dominio de host que se añadirá a las URL CID generadas incluyendo una "@" como separador. Disponible sólo cuando se utiliza el formato `wk mime html`. |
+| wk embedded pictures | embeddedPictures | Sólo para exportación SVG. Establece si las imágenes se incrustan en el archivo .svg exportado cuando se llama a [WP EXPORT DOCUMENT](wp-export-document.md). Valores disponibles: true (por defecto): las imágenes están incrustadas en el archivo .svg exportado false: las imágenes se exportan en una carpeta llamada "filename\_images" en el nivel del archivo .svg exportado, "filename" siendo el nombre pasado al comando para el archivo, sin la extensión. Las imágenes no están integradas, sino referenciadas en el archivo .svg.Nota: si la carpeta ya existe, se vaciará antes de exportar el archivo. Si no hay ninguna imagen en la página exportada, se elimina la carpeta |
+| wk factur x | facturX | Sólo para exportación en PDF. Valor: objeto que configura una exportación PDF "Factur-X (ZUGFeRD)" (ver [wk factur x object](./wp-export-document.md#wk-factur-x-object)). |
+| wk files | Histórico | Sólo para exportación en PDF. Valor: colección de objetos, cada uno de los cuales describe un archivo que se integrará en el documento final (ver [wk files collection](./wp-export-document.md#wk-files-collection)). Esta funcionalidad sólo se admite en documentos PDF/A-3: cuando se utiliza el atributo `wk files`, se establece automáticamente la versión "PDF/A-3" (se ignora el atributo `wk pdfa version`). En caso de una exportación de Factur-X PDF (ver abajo), el primer objeto de la colección debe contener el archivo Factur-X xml. |
+| wk google fonts tag | googleFontsTag | Sólo para exportación SVG. Define la regla de importación para fuentes google en el SVG exportado. Valores posibles: false (por defecto): no se añade ninguna regla de importación de fuentes de Google.true: añade la regla @import al archivo exportado. Útil si desea utilizar fuentes que no están disponibles por defecto en Windows o macOS. **Note:** This property is set to false by default because when enabled, Google fonts override native fonts, and native fonts are generally better rendered in the browser. |
+| wk HTML pretty print | htmlPrettyPrint | El código HTML está formateado para facilitar su lectura. |
+| wk max picture DPI | maxPictureDPI | Se utiliza para reducir imágenes a la resolución preferida. Para imágenes SVG en Windows, utilizado para la rasterización. Valores por defecto: 300 (for wk optimized for \= wk print) 192 (for wk optimized for \= wk screen) Valor máximo posible: 1440 |
+| wk optimized for | optimizedFor | Define cómo se optimiza un documento exportado en función de su soporte. Valores posibles: `wk print` (valor por defecto para `wk pdf` y `wk svg`) Las imágenes de mapa de bits pueden reducirse utilizando los PPP definidos por `wk max picture DPI` o 300 (valor por defecto) y pueden convertirse a PNG si el códec no es compatible con el tipo de exportación. Las imágenes vectoriales se convierten a PNG utilizando los PPP definidos por `wk max picture DPI` o 300 (sólo Windows). Si una imagen contiene más de un formato, se utiliza el mejor formato para la impresión (*por ejemplo*, .tiff en lugar de .jpg)`wk screen` (valor por defecto para `wk web page complete` y `wk mime html`). Las imágenes de mapa de bits pueden reducirse utilizando los PPP definidos por `wk max picture DPI` o 192 (valor por defecto) y pueden convertirse a JPEG (imágenes opacas) o PNG (imágenes transparentes) si el códec no es compatible con el tipo de exportación. Las imágenes vectoriales se convierten a PNG utilizando los PPP definidos por `wk max picture DPI` o 192 (sólo Windows). Si una imagen contiene más de un formato, se utiliza el formato para la renderización en pantalla. **Nota:** los documentos exportados en formato `wk docx` siempre se optimizan para la impresión wk (la opción wk optimized for se ignora). |
+| wk page index | pageIndex | Sólo para exportación SVG. Índice de la página a exportar a formato svg (por defecto es 1). El índice de páginas comienza en 1 para la primera página del documento. **Nota:** el índice de páginas es independiente de la numeración de páginas. |
+| wk pdfa version | pdfaVersion | Exporta PDF conforme a una versión PDF/A. Para más información sobre las propiedades y versiones de PDF/A, consulte la [página PDF/A en Wikipedia](https://en.wikipedia.org/wiki/PDF/A). Valores posibles: `wk pdfa2`: exporta a la versión "PDF/A-2" `wk pdfa3`: exporta a la versión "PDF/A-3" **Nota:** en macOS, `wk pdfa2` puede exportar a PDF/A-2 o PDF/A-3 o superior, dependiendo de la implementación de la plataforma. Además, `wk pdfa3` significa "exporta a *al menos* PDF/A-3". En Windows, el archivo PDF de salida siempre será igual a la conformidad deseada. |
+| wk recompute formulas | recomputeFormulas | Define si las fórmulas deben volver a calcularse cuando se exportan. Valores posibles:true - Valor por defecto. Se vuelven a calcular todas las fórmulasfalse - No se vuelven a calcular las fórmulas |
+| wk visible background and anchored elements | visibleBackground | Muestra o exporta imágenes/color de fondo, imágenes ancladas y cuadros de texto (para mostrar, efecto visible sólo en modo de vista Página o Anidado). Valores posibles: True/False |
+| wk visible empty images | visibleEmptyImages | Muestra o exporta un rectángulo negro por defecto para las imágenes que no se pueden cargar o calcular (imágenes vacías o imágenes en un formato no compatible). Valores posibles: True/False. Valor por defecto: True Si el valor es False, los elementos de imagen que falten no se mostrarán en absoluto aunque tengan bordes, ancho, alto o fondo; esto puede afectar al diseño de la página para imágenes en línea. |
+| wk visible footers | visibleFooters | Muestra o exporta los pies de página (para la visualización, efecto visible sólo en el modo vista Página). Valores posibles: True/False |
+| wk visible headers | visibleHeaders | Muestra o exporta los encabezados (para la visualización, efecto visible sólo en el modo vista Página). Valores posibles: True/False |
+| wk visible references | visibleReferences | Muestra o exporta todas las expresiones 4D insertadas en el documento como referencias. Valores posibles: True/False |
+| wk whitespace | whitespace | Define el valor css "white-space" para el formato de exportación `wk mime html`. El estilo [white-space css](https://developer.mozilla.org/en-US/docs/Web/CSS/white-space) se aplica a los párrafos. Valores posibles: "normal", "nowrap", "pre", "pre-wrap" (por defecto), "pre-line", "break-spaces". |
The following table indicates the *option* available per export *format*:
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-21/WritePro/commands/wp-import-document.md b/i18n/es/docusaurus-plugin-content-docs/version-21/WritePro/commands/wp-import-document.md
index 05064f54bf9dd9..9e7eb901643b46 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-21/WritePro/commands/wp-import-document.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-21/WritePro/commands/wp-import-document.md
@@ -64,8 +64,8 @@ Puede pasar un objeto para definir cómo se gestionan los siguientes atributos d
**Notas de compatibilidad**
-- *Character style sheets in legacy 4D Write documents use a proprietary mechanism, which is not supported by 4D Write Pro. To get the best result for imported text, style sheet attributes are converted to "hard coded" style attributes. Las hojas de estilo de caracteres antiguos no son importadas y ya no están referenciadas en el documento.*
-- *Support for importing in .docx format is only certified for Microsoft Word 2010 and newer. Versiones antiguas, especialmente Microsoft Word 2007, pueden no importar correctamente.*
+- *Las hojas de estilo de caracteres de los documentos heredados de 4D Write utilizan un mecanismo propietario que no es compatible con 4D Write Pro. To get the best result for imported text, style sheet attributes are converted to "hard coded" style attributes. Las hojas de estilo de caracteres antiguos no son importadas y ya no están referenciadas en el documento.*
+- *El soporte para la importación en formato .docx solo está certificado para Microsoft Word 2010 y más recientes. Versiones antiguas, especialmente Microsoft Word 2007, pueden no importar correctamente.*
## Ejemplo 1
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-21/aikit/Classes/OpenAI.md b/i18n/es/docusaurus-plugin-content-docs/version-21/aikit/Classes/OpenAI.md
index 1271a5aaaa8e21..c521ca59af78e2 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-21/aikit/Classes/OpenAI.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-21/aikit/Classes/OpenAI.md
@@ -44,7 +44,7 @@ var $client:=cs.AIKit.OpenAI.new({apiKey: "your api key"})
#### URL del servidor
-For a [compatible provider](../compatible-openai.md) API, you can configure the server URL.
+Para una API [proveedor compatible](../compatible-openai.md), puede configurar la URL del servidor.
```4d
var $client:=cs.AIKit.OpenAI.new({apiKey: "your api key"; baseURL: "https://server.ai"})
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-21/aikit/Classes/OpenAIError.md b/i18n/es/docusaurus-plugin-content-docs/version-21/aikit/Classes/OpenAIError.md
index 50c983790a5e75..b237a978ab1103 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-21/aikit/Classes/OpenAIError.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-21/aikit/Classes/OpenAIError.md
@@ -5,7 +5,7 @@ title: OpenAIError Class
# OpenAIError Class
-La clase `OpenAIError` está diseñada para manejar errores devueltos por la API OpenAI. It extracts relevant information from the error response and provides methods to access this information.
+La clase `OpenAIError` está diseñada para manejar errores devueltos por la API OpenAI. Extrae información relevante de la respuesta de error y ofrece los métodos para acceder a esta información.
## Propiedades
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-21/aikit/Classes/OpenAIMessage.md b/i18n/es/docusaurus-plugin-content-docs/version-21/aikit/Classes/OpenAIMessage.md
index df318d585644d2..340462dceeb399 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-21/aikit/Classes/OpenAIMessage.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-21/aikit/Classes/OpenAIMessage.md
@@ -82,8 +82,8 @@ Cuando reciba un mensaje de llamada de herramienta, debe:
2. **Execute the function:**
Parse the arguments (which is a JSON string) and call the corresponding function that you defined in your OpenAITool configuration.
-3. **Respond with the tool result:**
- Create a response message using the exact `tool_call_id` from the original request.
+3. **Responde con el resultado de la herramienta:**
+ Crea un mensaje de respuesta usando el `tool_call_id` exacto de la petición original.
**Ejemplo de respuesta de la herramienta:**
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-21/aikit/Classes/OpenAIParameters.md b/i18n/es/docusaurus-plugin-content-docs/version-21/aikit/Classes/OpenAIParameters.md
index 9b33b972486a0f..c4aae60b5308bb 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-21/aikit/Classes/OpenAIParameters.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-21/aikit/Classes/OpenAIParameters.md
@@ -5,7 +5,7 @@ title: OpenAIParameters
# OpenAIParameters
-The `OpenAIParameters` class is designed to handle execution and request parameters for interacting with the OpenAI API.
+La clase `OpenAIParameters` está diseñada para manejar los parámetros de ejecución y de petición para interactuar con la API OpenAI.
## Propiedades
@@ -17,14 +17,14 @@ Utilice esta propiedad de retrollamada para recibir el resultado independienteme
| ------------------------------------------------- | --------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------- |
| `onTerminate`
(o `formula`) | 4D.Function | Una función que se llamará de forma asíncrona cuando termine. Asegúrese de que el proceso actual no termina. |
-Use these callback properties for more granular control over success and error handling:
+Utilice estas propiedades de retrollamada para un control más granular de la gestión de éxito y de errores:
| Propiedad | Tipo | Descripción |
| ------------ | --------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `onResponse` | 4D.Function | Una función a llamar de forma asíncrona cuando la petición finalice **con éxito**. Asegúrese de que el proceso actual no termina. |
| `onError` | 4D.Function | Una función que se llamará de forma asíncrona cuando la petición finalice **con errores**. Asegúrese de que el proceso actual no termina. |
-> The callback function will receive the same result object type (one of [OpenAIResult](./OpenAIResult.md) child classes) that would be returned by the function in synchronous code.
+> La función de retrollamada recibirá el mismo tipo de objeto de resultado (una de las clases hijas de [OpenAIResult](./OpenAIResult.md)) que devolvería la función en un código síncrono.
Ver la [documentación sobre código asíncrono para ejemplos](../asynchronous-call.md)
@@ -32,16 +32,16 @@ Ver la [documentación sobre código asíncrono para ejemplos](../asynchronous-c
| Propiedad | Tipo | Descripción |
| -------------- | --------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
-| `timeout` | Real | Overrides the client-level default timeout for the request, in seconds. Por defecto es 0. |
+| `timeout` | Real | Reemplaza el tiempo de espera predeterminado del nivel de cliente para la petición, en segundos. Por defecto es 0. |
| `httpAgent` | HTTPAgent | Anula el agente HTTP predeterminado a nivel de cliente para la petición. |
| `maxRetries` | Integer | El número máximo de reintentos para la petición. (Sólo si el código no es asíncrono, es decir, no se proporciona ninguna función) |
| `extraHeaders` | Object | Encabezados adicionales para enviar con la petición. |
### Propiedades OpenAPI
-| Propiedad | Tipo | Descripción |
-| --------- | ---- | ----------------------------------------------------------------------------------------------------------- |
-| `user` | Text | A unique identifier representing the end-user, which helps OpenAI monitor and detect abuse. |
+| Propiedad | Tipo | Descripción |
+| --------- | ---- | --------------------------------------------------------------------------------------------------------------------------- |
+| `user` | Text | Un identificador único que representa al usuario final y que ayuda a OpenAI a supervisar y detectar abusos. |
### Otras
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-21/aikit/asynchronous-call.md b/i18n/es/docusaurus-plugin-content-docs/version-21/aikit/asynchronous-call.md
index ed81a7d77e2b7a..637fe25c2cdf76 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-21/aikit/asynchronous-call.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-21/aikit/asynchronous-call.md
@@ -5,7 +5,7 @@ title: Asynchronous Call
# Asynchronous Call
-If you do not want to wait for the OpenAPI response when making a request to its API, you need to use asynchronous code.
+Si no desea esperar la respuesta del OpenAPI al hacer una petición a su API, debe utilizar un código asíncrono.
To make asynchronous calls, you must provide a callback `4D.Function`(`Formula`) in the [OpenAIParameters](Classes/OpenAIParameters.md) object parameter to receive the result.
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-21/commands/call-chain.md b/i18n/es/docusaurus-plugin-content-docs/version-21/commands/call-chain.md
index fdbd960b6e8acd..d4288b04753c41 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-21/commands/call-chain.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-21/commands/call-chain.md
@@ -31,7 +31,7 @@ The command facilitates debugging by enabling the identification of the method o
| **Propiedad** | **Tipo** | **Description** | **Ejemplo** |
| ------------- | ----------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------- |
-| database | Text | Name of the database calling the method (to distinguish host methods and component methods) | "database":"contactInfo" |
+| database | Text | Nombre de la base de datos que llama al método (para distinguir los métodos locales de los métodos del componente) | "database":"contactInfo" |
| formula | Text (si lo hay) | Contenido de la línea actual de código en el nivel actual de la cadena de llamadas (texto bruto). Corresponde al contenido de la línea referenciada por la propiedad `line` en el archivo fuente indicado por el método. Si el código fuente no está disponible, la propiedad `formula` se omite (Undefined). | "var $stack:=Call chain" |
| línea | Integer | Número de línea de llamada al método | "line":6 |
| name | Text | Nombre del método llamado | "name":"On Load" |
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-21/commands/command-name.md b/i18n/es/docusaurus-plugin-content-docs/version-21/commands/command-name.md
index 8198b5151245b1..bb45fe7142036b 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-21/commands/command-name.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-21/commands/command-name.md
@@ -35,7 +35,7 @@ The **Command name** command returns t
Hay dos parámetros opcionales:
- *info*: propiedades del comando. The returned value is a *bit field*, where the following bits are meaningful:
- - Primer bit (bit 0): definido en 1 si el comando es [**hilo-seguro**](../Develop/preemptive.md#thread-safe-vs-thread-unsafe-code) (es decir, compatible con la ejecución en un proceso apropiativo) y 0 si es **hilo-inseguro**. Only thread-safe commands can be used in [preemptive processes](../Develop/preemptive.md).
+ - Primer bit (bit 0): definido en 1 si el comando es [**hilo-seguro**](../Develop/preemptive.md#thread-safe-vs-thread-unsafe-code) (es decir, compatible con la ejecución en un proceso apropiativo) y 0 si es **hilo-inseguro**. Solo se pueden usar comandos hilo seguro en [procesos preventivos](../Develop/preemptive.md).
- Segundo bit (bit 1): se define en 1 si el comando es **obsoleto**, y en 0 si no lo es. A deprecated command will continue to work normally as long as it is supported, but should be replaced whenever possible and must no longer be used in new code. Los comandos obsoletos en su código generan advertencias en el [Live Checker y el compilador](../code-editor/write-class-method.md#warnings-and-errors).
*theme*: nombre del tema del lenguaje 4D para el comando.
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-21/commands/string.md b/i18n/es/docusaurus-plugin-content-docs/version-21/commands/string.md
index 80dd73a149d5ca..fd7055d12e54d3 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-21/commands/string.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-21/commands/string.md
@@ -90,7 +90,7 @@ Si pasa 0 en *base*, el comando determina la base dependiendo del valor de *expr
:::info
- Esta sintaxis sigue estrictamente la especificación [`toString` EcmaScript sobre el manejo del radix](https://tc39.es/ecma262/multipage/numbers-and-dates.html#sec-number.prototype.tostring).
-- Utilizar esta sintaxis con *base*=10 no dará exactamente los mismos resultados que utilizar la sintaxis sin el parámetro *base*. For example, if the specified number value is not a number, the "NaN" string is returned.
+- Utilizar esta sintaxis con *base*=10 no dará exactamente los mismos resultados que utilizar la sintaxis sin el parámetro *base*. Por ejemplo, si el valor numérico especificado no es un número, se devuelve la cadena "NaN".
:::
diff --git a/i18n/fr/docusaurus-plugin-content-docs/current/Concepts/variables.md b/i18n/fr/docusaurus-plugin-content-docs/current/Concepts/variables.md
index a1b7c382575f99..a4914290a1e1f1 100644
--- a/i18n/fr/docusaurus-plugin-content-docs/current/Concepts/variables.md
+++ b/i18n/fr/docusaurus-plugin-content-docs/current/Concepts/variables.md
@@ -250,17 +250,18 @@ Le langage 4D gère plusieurs **variables système**, qui permettent de contrôl
Les variables système sont utilisées par les [commandes 4D](../commands/command-index.md). Reportez-vous au paragraphe "Variables et ensembles système" dans la description d'une commande pour savoir si elle affecte une variable système.
-| Nom de variable système | Type | Description |
-| ------------------------------------------------------ | ------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
-| `OK` | Integer | Généralement fixée à 1 lorsqu'une commande a affiché une boîte de dialogue et que l'utilisateur a cliqué sur le bouton **OK**, et à 0 s'il a cliqué sur **Cancel**. Certaines commandes modifient également la valeur de la variable système `OK` lorsqu'une opération est exécutée avec succès. |
-| `Document` | Text | Contient le "nom long" (chemin complet + nom) du dernier fichier ouvert ou créé à l'aide de commandes telles que [Open document](../commands-legacy/open-document.md) ou [SELECT LOG FILE](../commands/select-log-file.md). |
-| `FldDelimit`, `RecDelimit` | Text | Contiennent les codes de caractères qui seront utilisés respectivement comme séparateur de champs (par défaut **Tab** (9)) et séparateur d'enregistrements (par défaut **retour chariot** (13)) lors de l'importation ou de l'exportation de texte. Pour utiliser un séparateur différent, attribuez une nouvelle valeur à la variable système. |
-| `Error`, `Error method`, `Error line`, `Error formula` | Text, Longint | Utilisées dans une méthode d'interception d'erreurs installée par la commande [`ON ERR CALL`](../commands-legacy/on-err-call.md). Voir [Gestion des erreurs dans la méthode](../Concepts/error-handling.md#handling-errors-within-the-method). |
-| `MouseDown` | Integer | Utilisée dans une méthode installée par la commande [`ON EVENT CALL`](../commands-legacy/on-event-call.md). Prend la valeur 1 si le bouton de la souris a été enfoncé, sinon prend la valeur 0. |
-| `MouseX`, `MouseY` | Integer | Utilisée dans une méthode installée par la commande [`ON EVENT CALL`](../commands-legacy/on-event-call.md). Dans un événement `MouseDown=1`, `MouseX` et `MouseY` reçoivent respectivement les coordonnées verticales et horizontales du clic. Les deux valeurs sont exprimées en pixels et avec le système de coordonnées locales de la fenêtre. Dans le cas d'un champ ou d'une variable image, `MouseX` et `MouseY` reçoivent les coordonnées locales d'un clic de souris dans les événements de formulaire [`On Clicked`](../Events/onClicked.md), [`On Double Clicked`](../Events/onDoubleClicked.md) et [`On Mouse Up`](../Events/onMouseUp.md). Les coordonnées locales du curseur de la souris sont également retournées dans les événements [`On Mouse Enter`](../Events/onMouseEnter.md) et [`On Mouse Move`](../Events/onMouseMove.md) . Pour plus d'informations, voir la section [Coordonnées de la souris dans une image](../FormEditor/pictures.md#mouse-coordinates-in-a-picture). |
-| `KeyCode` | Integer | Utilisée dans une méthode installée par la commande [`ON EVENT CALL`](../commands-legacy/on-event-call.md). Définit le code de caractère de la touche qui vient d'être pressée. Si la touche est une touche de fonction, `KeyCode` prend la valeur d'un code spécial. |
-| `Modifiers` | Integer | Utilisée dans une méthode installée par la commande [`ON EVENT CALL`](../commands-legacy/on-event-call.md). Contient les codes des modifiers du clavier (Ctrl/Commande, Alt/Option, Maj, Verr. |
-| `MouseProc` | Integer | Utilisée dans une méthode installée par la commande [`ON EVENT CALL`](../commands-legacy/on-event-call.md). Contient le numéro du process dans lequel le dernier événement a eu lieu |
+| Nom de variable système | Type | Description |
+| ------------------------------- | ------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| `OK` | Integer | Généralement fixée à 1 lorsqu'une commande a affiché une boîte de dialogue et que l'utilisateur a cliqué sur le bouton **OK**, et à 0 s'il a cliqué sur **Cancel**. Certaines commandes modifient également la valeur de la variable système `OK` lorsqu'une opération est exécutée avec succès. |
+| `Document` | Text | Contient le "nom long" (chemin complet + nom) du dernier fichier ouvert ou créé à l'aide de commandes telles que [Open document](../commands-legacy/open-document.md) ou [SELECT LOG FILE](../commands/select-log-file.md). |
+| `FldDelimit`, `RecDelimit` | Integer | Contiennent les codes de caractères qui seront utilisés respectivement comme séparateur de champs (par défaut **Tab** (9)) et séparateur d'enregistrements (par défaut **retour chariot** (13)) lors de l'importation ou de l'exportation de texte. Pour utiliser un séparateur différent, attribuez une nouvelle valeur à la variable système. |
+| `Error`, `Error line` | Integer | Utilisées dans une méthode d'interception d'erreurs installée par la commande [`ON ERR CALL`](../commands-legacy/on-err-call.md). Voir [Gestion des erreurs dans la méthode](../Concepts/error-handling.md#handling-errors-within-the-method). |
+| `Error method`, `Error formula` | Text | Utilisées dans une méthode d'interception d'erreurs installée par la commande [`ON ERR CALL`](../commands-legacy/on-err-call.md). Voir [Gestion des erreurs dans la méthode](../Concepts/error-handling.md#handling-errors-within-the-method). |
+| `MouseDown` | Integer | Utilisée dans une méthode installée par la commande [`ON EVENT CALL`](../commands-legacy/on-event-call.md). Prend la valeur 1 si le bouton de la souris a été enfoncé, sinon prend la valeur 0. |
+| `MouseX`, `MouseY` | Integer | Utilisée dans une méthode installée par la commande [`ON EVENT CALL`](../commands-legacy/on-event-call.md). Dans un événement `MouseDown=1`, `MouseX` et `MouseY` reçoivent respectivement les coordonnées verticales et horizontales du clic. Les deux valeurs sont exprimées en pixels et avec le système de coordonnées locales de la fenêtre. Dans le cas d'un champ ou d'une variable image, `MouseX` et `MouseY` reçoivent les coordonnées locales d'un clic de souris dans les événements de formulaire [`On Clicked`](../Events/onClicked.md), [`On Double Clicked`](../Events/onDoubleClicked.md) et [`On Mouse Up`](../Events/onMouseUp.md). Les coordonnées locales du curseur de la souris sont également retournées dans les événements [`On Mouse Enter`](../Events/onMouseEnter.md) et [`On Mouse Move`](../Events/onMouseMove.md) . Pour plus d'informations, voir la section [Coordonnées de la souris dans une image](../FormEditor/pictures.md#mouse-coordinates-in-a-picture). |
+| `KeyCode` | Integer | Utilisée dans une méthode installée par la commande [`ON EVENT CALL`](../commands-legacy/on-event-call.md). Définit le code de caractère de la touche qui vient d'être pressée. Si la touche est une touche de fonction, `KeyCode` prend la valeur d'un code spécial. |
+| `Modifiers` | Integer | Utilisée dans une méthode installée par la commande [`ON EVENT CALL`](../commands-legacy/on-event-call.md). Contient les codes des modifiers du clavier (Ctrl/Commande, Alt/Option, Maj, Verr. |
+| `MouseProc` | Integer | Utilisée dans une méthode installée par la commande [`ON EVENT CALL`](../commands-legacy/on-event-call.md). Contient le numéro du process dans lequel le dernier événement a eu lieu |
:::note
diff --git a/i18n/fr/docusaurus-plugin-content-docs/current/ORDA/orda-events.md b/i18n/fr/docusaurus-plugin-content-docs/current/ORDA/orda-events.md
index cebaba79eccf23..ddd14e1fbaa77c 100644
--- a/i18n/fr/docusaurus-plugin-content-docs/current/ORDA/orda-events.md
+++ b/i18n/fr/docusaurus-plugin-content-docs/current/ORDA/orda-events.md
@@ -24,7 +24,7 @@ Vous ne pouvez pas déclencher directement l'exécution d'une fonction d'événe
:::info Note de compatibilité
-Les événements d'entité ORDA dans le magasin de données sont équivalents aux triggers dans la base de données 4D. Cependant, les actions déclenchées au niveau de la base de données 4D à l'aide des commandes du langage classique 4D ou des actions standard ne déclenchent pas les événements ORDA.
+Les événements d'entité ORDA dans le magasin de données sont équivalents aux triggers dans la base de données 4D. Cependant, les actions déclenchées au niveau de la base de données 4D à l'aide des commandes du langage classique 4D ou des actions standard ne déclenchent pas les événements ORDA. Note also that, unlike triggers, ORDA entity events do not lock the entire underlying table of a dataclass while saving or dropping entities. Several events can run in parallel as long as they involve distinct entities (i.e. records).
:::
@@ -420,7 +420,9 @@ If (This.userManualPath#"")
// The user manual document file is created on the disk
// This may fail if no more space is available
Try
- $fileCreated:=$userManualFile.create()
+ // The file content has been generated and stored in a map in Storage.docMap previously
+ $docInfo:=Storage.docMap.query("name = :1"; This.name).first()
+ $userManualFile.setContent($docInfo.content)
Catch
// No more room on disk for example
$result:={/
@@ -434,6 +436,12 @@ return $result
```
+:::note
+
+The content of the file is generated outside the `saving` event because it can be time consuming.
+
+:::
+
### `Function event afterSave`
#### Syntaxe
diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-19/Concepts/variables.md b/i18n/fr/docusaurus-plugin-content-docs/version-19/Concepts/variables.md
index 3a7c5321a9bac5..b726927cd5e139 100644
--- a/i18n/fr/docusaurus-plugin-content-docs/version-19/Concepts/variables.md
+++ b/i18n/fr/docusaurus-plugin-content-docs/version-19/Concepts/variables.md
@@ -242,7 +242,7 @@ Les variables système sont utilisées par les commandes 4D. Reportez-vous au pa
| ------------------------------------------------------ | ------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| `OK` | Integer | Prend généralement la valeur 1 après qu'une commande a affiché une boîte de dialogue et l'utilisateur a cliqué sur le bouton **OK** , et 0 s'il a cliqué sur **Annuler**. Certaines commandes modifient également la valeur de la variable système `OK` lorsqu'une opération est exécutée avec succès. |
| `Document` | Text | Contient le "long nom" (chemin complet +nom) du dernier fichier ouvert ou créé à l'aide de commandes telles que [Open document](https://doc.4d.com/4dv20/help/command/en/page264.html) ou [SELECT LOG FILE](https://doc.4d.com/4dv20/help/command/en/page345.html). |
-| `FldDelimit`, `RecDelimit` | Text | Contient les codes de caractères qui seront utilisés respectivement comme séparateur de champ (par défaut **Tab** (9)) et séparateur d'enregistrement (par défaut **retour chariot** (13)) lors de l'importation ou de l'exportation de texte. Pour utiliser un séparateur différent, attribuez une nouvelle valeur à la variable système. |
+| `FldDelimit`, `RecDelimit` | Integer | Contient les codes de caractères qui seront utilisés respectivement comme séparateur de champ (par défaut **Tab** (9)) et séparateur d'enregistrement (par défaut **retour chariot** (13)) lors de l'importation ou de l'exportation de texte. Pour utiliser un séparateur différent, attribuez une nouvelle valeur à la variable système. |
| `Error`, `Error method`, `Error line`, `Error formula` | Text, Longint | Utilisées dans une méthode de gestion d'erreurs installée par la commande [`ON ERR CALL`](https://doc.4d.com/4dv20/help/command/en/page155.html). Voir [Gestion des erreurs dans la méthode](../Concepts/error-handling.md#handling-errors-within-the-method). |
| `MouseDown` | Integer | Utilisée dans une méthode installée par la commande [`ON EVENT CALL`](https://doc.4d.com/4dv20/help/command/en/page190.html). Prend la valeur 1 si le bouton de la souris a été enfoncé, sinon prend la valeur 0. |
| `MouseX`, `MouseY` | Integer | Utilisée dans une méthode installée par la commande [`ON EVENT CALL`](https://doc.4d.com/4dv20/help/command/en/page190.html). Dans un événement `MouseDown=1`, `MouseX` et `MouseY` sont respectivement définis sur les coordonnées verticales et horizontales du clic. Les deux valeurs sont exprimées en pixels et avec le système de coordonnées locales de la fenêtre. Dans le cas d'un champ ou d'une variable image, `MouseX` et `MouseY` retournent les coordonnées locales du clic de souris dans les événements formulaire [`On Clicked`](.. Events/onClicked.md), [`On Double Clicked`](../Events/onDoubleClicked.md) et [`On Mouse Up`](../Events/onMouseUp.md). Les coordonnées locales du curseur de la souris sont également retournées dans les événements [`On Mouse Enter`](../Events/onMouseEnter.md) et [`On Mouse Move`](../Events/onMouseMove.md) . Pour plus d'informations, voir la section [Coordonnées de la souris dans une image](../FormEditor/pictures.md#mouse-coordinates-in-a-picture). |
diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-20-R10/Concepts/variables.md b/i18n/fr/docusaurus-plugin-content-docs/version-20-R10/Concepts/variables.md
index a1b7c382575f99..a4914290a1e1f1 100644
--- a/i18n/fr/docusaurus-plugin-content-docs/version-20-R10/Concepts/variables.md
+++ b/i18n/fr/docusaurus-plugin-content-docs/version-20-R10/Concepts/variables.md
@@ -250,17 +250,18 @@ Le langage 4D gère plusieurs **variables système**, qui permettent de contrôl
Les variables système sont utilisées par les [commandes 4D](../commands/command-index.md). Reportez-vous au paragraphe "Variables et ensembles système" dans la description d'une commande pour savoir si elle affecte une variable système.
-| Nom de variable système | Type | Description |
-| ------------------------------------------------------ | ------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
-| `OK` | Integer | Généralement fixée à 1 lorsqu'une commande a affiché une boîte de dialogue et que l'utilisateur a cliqué sur le bouton **OK**, et à 0 s'il a cliqué sur **Cancel**. Certaines commandes modifient également la valeur de la variable système `OK` lorsqu'une opération est exécutée avec succès. |
-| `Document` | Text | Contient le "nom long" (chemin complet + nom) du dernier fichier ouvert ou créé à l'aide de commandes telles que [Open document](../commands-legacy/open-document.md) ou [SELECT LOG FILE](../commands/select-log-file.md). |
-| `FldDelimit`, `RecDelimit` | Text | Contiennent les codes de caractères qui seront utilisés respectivement comme séparateur de champs (par défaut **Tab** (9)) et séparateur d'enregistrements (par défaut **retour chariot** (13)) lors de l'importation ou de l'exportation de texte. Pour utiliser un séparateur différent, attribuez une nouvelle valeur à la variable système. |
-| `Error`, `Error method`, `Error line`, `Error formula` | Text, Longint | Utilisées dans une méthode d'interception d'erreurs installée par la commande [`ON ERR CALL`](../commands-legacy/on-err-call.md). Voir [Gestion des erreurs dans la méthode](../Concepts/error-handling.md#handling-errors-within-the-method). |
-| `MouseDown` | Integer | Utilisée dans une méthode installée par la commande [`ON EVENT CALL`](../commands-legacy/on-event-call.md). Prend la valeur 1 si le bouton de la souris a été enfoncé, sinon prend la valeur 0. |
-| `MouseX`, `MouseY` | Integer | Utilisée dans une méthode installée par la commande [`ON EVENT CALL`](../commands-legacy/on-event-call.md). Dans un événement `MouseDown=1`, `MouseX` et `MouseY` reçoivent respectivement les coordonnées verticales et horizontales du clic. Les deux valeurs sont exprimées en pixels et avec le système de coordonnées locales de la fenêtre. Dans le cas d'un champ ou d'une variable image, `MouseX` et `MouseY` reçoivent les coordonnées locales d'un clic de souris dans les événements de formulaire [`On Clicked`](../Events/onClicked.md), [`On Double Clicked`](../Events/onDoubleClicked.md) et [`On Mouse Up`](../Events/onMouseUp.md). Les coordonnées locales du curseur de la souris sont également retournées dans les événements [`On Mouse Enter`](../Events/onMouseEnter.md) et [`On Mouse Move`](../Events/onMouseMove.md) . Pour plus d'informations, voir la section [Coordonnées de la souris dans une image](../FormEditor/pictures.md#mouse-coordinates-in-a-picture). |
-| `KeyCode` | Integer | Utilisée dans une méthode installée par la commande [`ON EVENT CALL`](../commands-legacy/on-event-call.md). Définit le code de caractère de la touche qui vient d'être pressée. Si la touche est une touche de fonction, `KeyCode` prend la valeur d'un code spécial. |
-| `Modifiers` | Integer | Utilisée dans une méthode installée par la commande [`ON EVENT CALL`](../commands-legacy/on-event-call.md). Contient les codes des modifiers du clavier (Ctrl/Commande, Alt/Option, Maj, Verr. |
-| `MouseProc` | Integer | Utilisée dans une méthode installée par la commande [`ON EVENT CALL`](../commands-legacy/on-event-call.md). Contient le numéro du process dans lequel le dernier événement a eu lieu |
+| Nom de variable système | Type | Description |
+| ------------------------------- | ------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| `OK` | Integer | Généralement fixée à 1 lorsqu'une commande a affiché une boîte de dialogue et que l'utilisateur a cliqué sur le bouton **OK**, et à 0 s'il a cliqué sur **Cancel**. Certaines commandes modifient également la valeur de la variable système `OK` lorsqu'une opération est exécutée avec succès. |
+| `Document` | Text | Contient le "nom long" (chemin complet + nom) du dernier fichier ouvert ou créé à l'aide de commandes telles que [Open document](../commands-legacy/open-document.md) ou [SELECT LOG FILE](../commands/select-log-file.md). |
+| `FldDelimit`, `RecDelimit` | Integer | Contiennent les codes de caractères qui seront utilisés respectivement comme séparateur de champs (par défaut **Tab** (9)) et séparateur d'enregistrements (par défaut **retour chariot** (13)) lors de l'importation ou de l'exportation de texte. Pour utiliser un séparateur différent, attribuez une nouvelle valeur à la variable système. |
+| `Error`, `Error line` | Integer | Utilisées dans une méthode d'interception d'erreurs installée par la commande [`ON ERR CALL`](../commands-legacy/on-err-call.md). Voir [Gestion des erreurs dans la méthode](../Concepts/error-handling.md#handling-errors-within-the-method). |
+| `Error method`, `Error formula` | Text | Utilisées dans une méthode d'interception d'erreurs installée par la commande [`ON ERR CALL`](../commands-legacy/on-err-call.md). Voir [Gestion des erreurs dans la méthode](../Concepts/error-handling.md#handling-errors-within-the-method). |
+| `MouseDown` | Integer | Utilisée dans une méthode installée par la commande [`ON EVENT CALL`](../commands-legacy/on-event-call.md). Prend la valeur 1 si le bouton de la souris a été enfoncé, sinon prend la valeur 0. |
+| `MouseX`, `MouseY` | Integer | Utilisée dans une méthode installée par la commande [`ON EVENT CALL`](../commands-legacy/on-event-call.md). Dans un événement `MouseDown=1`, `MouseX` et `MouseY` reçoivent respectivement les coordonnées verticales et horizontales du clic. Les deux valeurs sont exprimées en pixels et avec le système de coordonnées locales de la fenêtre. Dans le cas d'un champ ou d'une variable image, `MouseX` et `MouseY` reçoivent les coordonnées locales d'un clic de souris dans les événements de formulaire [`On Clicked`](../Events/onClicked.md), [`On Double Clicked`](../Events/onDoubleClicked.md) et [`On Mouse Up`](../Events/onMouseUp.md). Les coordonnées locales du curseur de la souris sont également retournées dans les événements [`On Mouse Enter`](../Events/onMouseEnter.md) et [`On Mouse Move`](../Events/onMouseMove.md) . Pour plus d'informations, voir la section [Coordonnées de la souris dans une image](../FormEditor/pictures.md#mouse-coordinates-in-a-picture). |
+| `KeyCode` | Integer | Utilisée dans une méthode installée par la commande [`ON EVENT CALL`](../commands-legacy/on-event-call.md). Définit le code de caractère de la touche qui vient d'être pressée. Si la touche est une touche de fonction, `KeyCode` prend la valeur d'un code spécial. |
+| `Modifiers` | Integer | Utilisée dans une méthode installée par la commande [`ON EVENT CALL`](../commands-legacy/on-event-call.md). Contient les codes des modifiers du clavier (Ctrl/Commande, Alt/Option, Maj, Verr. |
+| `MouseProc` | Integer | Utilisée dans une méthode installée par la commande [`ON EVENT CALL`](../commands-legacy/on-event-call.md). Contient le numéro du process dans lequel le dernier événement a eu lieu |
:::note
diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-20-R10/ORDA/orda-events.md b/i18n/fr/docusaurus-plugin-content-docs/version-20-R10/ORDA/orda-events.md
index f70ffbbad5dfdb..609c544ec80483 100644
--- a/i18n/fr/docusaurus-plugin-content-docs/version-20-R10/ORDA/orda-events.md
+++ b/i18n/fr/docusaurus-plugin-content-docs/version-20-R10/ORDA/orda-events.md
@@ -17,7 +17,7 @@ Vous ne pouvez pas déclencher directement l'exécution d'une fonction d'événe
:::info Note de compatibilité
-Les événements d'entité ORDA dans le magasin de données sont équivalents aux triggers dans la base de données 4D. Cependant, les actions déclenchées au niveau de la base de données 4D à l'aide des commandes du langage classique 4D ou des actions standard ne déclenchent pas les événements ORDA.
+Les événements d'entité ORDA dans le magasin de données sont équivalents aux triggers dans la base de données 4D. Cependant, les actions déclenchées au niveau de la base de données 4D à l'aide des commandes du langage classique 4D ou des actions standard ne déclenchent pas les événements ORDA. Note also that, unlike triggers, ORDA entity events do not lock the entire underlying table of a dataclass while saving or dropping entities. Several events can run in parallel as long as they involve distinct entities (i.e. records).
:::
diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-20/Concepts/variables.md b/i18n/fr/docusaurus-plugin-content-docs/version-20/Concepts/variables.md
index 71d9b0f917b259..92a7754bc3e737 100644
--- a/i18n/fr/docusaurus-plugin-content-docs/version-20/Concepts/variables.md
+++ b/i18n/fr/docusaurus-plugin-content-docs/version-20/Concepts/variables.md
@@ -241,7 +241,7 @@ Les variables système sont utilisées par les [commandes 4D](commands.md). Repo
| ------------------------------------------------------ | ------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| `OK` | Integer | Prend généralement la valeur 1 après qu'une commande a affiché une boîte de dialogue et l'utilisateur a cliqué sur le bouton **OK** , et 0 s'il a cliqué sur **Annuler**. Certaines commandes modifient également la valeur de la variable système `OK` lorsqu'une opération est exécutée avec succès. |
| `Document` | Text | Contient le "long nom" (chemin complet +nom) du dernier fichier ouvert ou créé à l'aide de commandes telles que [Open document](https://doc.4d.com/4dv20/help/command/en/page264.html) ou [SELECT LOG FILE](https://doc.4d.com/4dv20/help/command/en/page345.html). |
-| `FldDelimit`, `RecDelimit` | Text | Contient les codes de caractères qui seront utilisés respectivement comme séparateur de champ (par défaut **Tab** (9)) et séparateur d'enregistrement (par défaut **retour chariot** (13)) lors de l'importation ou de l'exportation de texte. Pour utiliser un séparateur différent, attribuez une nouvelle valeur à la variable système. |
+| `FldDelimit`, `RecDelimit` | Integer | Contient les codes de caractères qui seront utilisés respectivement comme séparateur de champ (par défaut **Tab** (9)) et séparateur d'enregistrement (par défaut **retour chariot** (13)) lors de l'importation ou de l'exportation de texte. Pour utiliser un séparateur différent, attribuez une nouvelle valeur à la variable système. |
| `Error`, `Error method`, `Error line`, `Error formula` | Text, Longint | Utilisées dans une méthode de gestion d'erreurs installée par la commande [`ON ERR CALL`](https://doc.4d.com/4dv20/help/command/en/page155.html). Voir [Gestion des erreurs dans la méthode](../Concepts/error-handling.md#handling-errors-within-the-method). |
| `MouseDown` | Integer | Utilisée dans une méthode installée par la commande [`ON EVENT CALL`](https://doc.4d.com/4dv20/help/command/en/page190.html). Prend la valeur 1 si le bouton de la souris a été enfoncé, sinon prend la valeur 0. |
| `MouseX`, `MouseY` | Integer | Utilisée dans une méthode installée par la commande [`ON EVENT CALL`](https://doc.4d.com/4dv20/help/command/en/page190.html). Dans un événement `MouseDown=1`, `MouseX` et `MouseY` sont respectivement définis sur les coordonnées verticales et horizontales du clic. Les deux valeurs sont exprimées en pixels et avec le système de coordonnées locales de la fenêtre. Dans le cas d'un champ ou d'une variable image, `MouseX` et `MouseY` retournent les coordonnées locales du clic de souris dans les événements formulaire [`On Clicked`](.. Events/onClicked.md), [`On Double Clicked`](../Events/onDoubleClicked.md) et [`On Mouse Up`](../Events/onMouseUp.md). Les coordonnées locales du curseur de la souris sont également retournées dans les événements [`On Mouse Enter`](../Events/onMouseEnter.md) et [`On Mouse Move`](../Events/onMouseMove.md) . Pour plus d'informations, voir la section [Coordonnées de la souris dans une image](../FormEditor/pictures.md#mouse-coordinates-in-a-picture). |
diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-21/Concepts/variables.md b/i18n/fr/docusaurus-plugin-content-docs/version-21/Concepts/variables.md
index a1b7c382575f99..a4914290a1e1f1 100644
--- a/i18n/fr/docusaurus-plugin-content-docs/version-21/Concepts/variables.md
+++ b/i18n/fr/docusaurus-plugin-content-docs/version-21/Concepts/variables.md
@@ -250,17 +250,18 @@ Le langage 4D gère plusieurs **variables système**, qui permettent de contrôl
Les variables système sont utilisées par les [commandes 4D](../commands/command-index.md). Reportez-vous au paragraphe "Variables et ensembles système" dans la description d'une commande pour savoir si elle affecte une variable système.
-| Nom de variable système | Type | Description |
-| ------------------------------------------------------ | ------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
-| `OK` | Integer | Généralement fixée à 1 lorsqu'une commande a affiché une boîte de dialogue et que l'utilisateur a cliqué sur le bouton **OK**, et à 0 s'il a cliqué sur **Cancel**. Certaines commandes modifient également la valeur de la variable système `OK` lorsqu'une opération est exécutée avec succès. |
-| `Document` | Text | Contient le "nom long" (chemin complet + nom) du dernier fichier ouvert ou créé à l'aide de commandes telles que [Open document](../commands-legacy/open-document.md) ou [SELECT LOG FILE](../commands/select-log-file.md). |
-| `FldDelimit`, `RecDelimit` | Text | Contiennent les codes de caractères qui seront utilisés respectivement comme séparateur de champs (par défaut **Tab** (9)) et séparateur d'enregistrements (par défaut **retour chariot** (13)) lors de l'importation ou de l'exportation de texte. Pour utiliser un séparateur différent, attribuez une nouvelle valeur à la variable système. |
-| `Error`, `Error method`, `Error line`, `Error formula` | Text, Longint | Utilisées dans une méthode d'interception d'erreurs installée par la commande [`ON ERR CALL`](../commands-legacy/on-err-call.md). Voir [Gestion des erreurs dans la méthode](../Concepts/error-handling.md#handling-errors-within-the-method). |
-| `MouseDown` | Integer | Utilisée dans une méthode installée par la commande [`ON EVENT CALL`](../commands-legacy/on-event-call.md). Prend la valeur 1 si le bouton de la souris a été enfoncé, sinon prend la valeur 0. |
-| `MouseX`, `MouseY` | Integer | Utilisée dans une méthode installée par la commande [`ON EVENT CALL`](../commands-legacy/on-event-call.md). Dans un événement `MouseDown=1`, `MouseX` et `MouseY` reçoivent respectivement les coordonnées verticales et horizontales du clic. Les deux valeurs sont exprimées en pixels et avec le système de coordonnées locales de la fenêtre. Dans le cas d'un champ ou d'une variable image, `MouseX` et `MouseY` reçoivent les coordonnées locales d'un clic de souris dans les événements de formulaire [`On Clicked`](../Events/onClicked.md), [`On Double Clicked`](../Events/onDoubleClicked.md) et [`On Mouse Up`](../Events/onMouseUp.md). Les coordonnées locales du curseur de la souris sont également retournées dans les événements [`On Mouse Enter`](../Events/onMouseEnter.md) et [`On Mouse Move`](../Events/onMouseMove.md) . Pour plus d'informations, voir la section [Coordonnées de la souris dans une image](../FormEditor/pictures.md#mouse-coordinates-in-a-picture). |
-| `KeyCode` | Integer | Utilisée dans une méthode installée par la commande [`ON EVENT CALL`](../commands-legacy/on-event-call.md). Définit le code de caractère de la touche qui vient d'être pressée. Si la touche est une touche de fonction, `KeyCode` prend la valeur d'un code spécial. |
-| `Modifiers` | Integer | Utilisée dans une méthode installée par la commande [`ON EVENT CALL`](../commands-legacy/on-event-call.md). Contient les codes des modifiers du clavier (Ctrl/Commande, Alt/Option, Maj, Verr. |
-| `MouseProc` | Integer | Utilisée dans une méthode installée par la commande [`ON EVENT CALL`](../commands-legacy/on-event-call.md). Contient le numéro du process dans lequel le dernier événement a eu lieu |
+| Nom de variable système | Type | Description |
+| ------------------------------- | ------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| `OK` | Integer | Généralement fixée à 1 lorsqu'une commande a affiché une boîte de dialogue et que l'utilisateur a cliqué sur le bouton **OK**, et à 0 s'il a cliqué sur **Cancel**. Certaines commandes modifient également la valeur de la variable système `OK` lorsqu'une opération est exécutée avec succès. |
+| `Document` | Text | Contient le "nom long" (chemin complet + nom) du dernier fichier ouvert ou créé à l'aide de commandes telles que [Open document](../commands-legacy/open-document.md) ou [SELECT LOG FILE](../commands/select-log-file.md). |
+| `FldDelimit`, `RecDelimit` | Integer | Contiennent les codes de caractères qui seront utilisés respectivement comme séparateur de champs (par défaut **Tab** (9)) et séparateur d'enregistrements (par défaut **retour chariot** (13)) lors de l'importation ou de l'exportation de texte. Pour utiliser un séparateur différent, attribuez une nouvelle valeur à la variable système. |
+| `Error`, `Error line` | Integer | Utilisées dans une méthode d'interception d'erreurs installée par la commande [`ON ERR CALL`](../commands-legacy/on-err-call.md). Voir [Gestion des erreurs dans la méthode](../Concepts/error-handling.md#handling-errors-within-the-method). |
+| `Error method`, `Error formula` | Text | Utilisées dans une méthode d'interception d'erreurs installée par la commande [`ON ERR CALL`](../commands-legacy/on-err-call.md). Voir [Gestion des erreurs dans la méthode](../Concepts/error-handling.md#handling-errors-within-the-method). |
+| `MouseDown` | Integer | Utilisée dans une méthode installée par la commande [`ON EVENT CALL`](../commands-legacy/on-event-call.md). Prend la valeur 1 si le bouton de la souris a été enfoncé, sinon prend la valeur 0. |
+| `MouseX`, `MouseY` | Integer | Utilisée dans une méthode installée par la commande [`ON EVENT CALL`](../commands-legacy/on-event-call.md). Dans un événement `MouseDown=1`, `MouseX` et `MouseY` reçoivent respectivement les coordonnées verticales et horizontales du clic. Les deux valeurs sont exprimées en pixels et avec le système de coordonnées locales de la fenêtre. Dans le cas d'un champ ou d'une variable image, `MouseX` et `MouseY` reçoivent les coordonnées locales d'un clic de souris dans les événements de formulaire [`On Clicked`](../Events/onClicked.md), [`On Double Clicked`](../Events/onDoubleClicked.md) et [`On Mouse Up`](../Events/onMouseUp.md). Les coordonnées locales du curseur de la souris sont également retournées dans les événements [`On Mouse Enter`](../Events/onMouseEnter.md) et [`On Mouse Move`](../Events/onMouseMove.md) . Pour plus d'informations, voir la section [Coordonnées de la souris dans une image](../FormEditor/pictures.md#mouse-coordinates-in-a-picture). |
+| `KeyCode` | Integer | Utilisée dans une méthode installée par la commande [`ON EVENT CALL`](../commands-legacy/on-event-call.md). Définit le code de caractère de la touche qui vient d'être pressée. Si la touche est une touche de fonction, `KeyCode` prend la valeur d'un code spécial. |
+| `Modifiers` | Integer | Utilisée dans une méthode installée par la commande [`ON EVENT CALL`](../commands-legacy/on-event-call.md). Contient les codes des modifiers du clavier (Ctrl/Commande, Alt/Option, Maj, Verr. |
+| `MouseProc` | Integer | Utilisée dans une méthode installée par la commande [`ON EVENT CALL`](../commands-legacy/on-event-call.md). Contient le numéro du process dans lequel le dernier événement a eu lieu |
:::note
diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-21/ORDA/orda-events.md b/i18n/fr/docusaurus-plugin-content-docs/version-21/ORDA/orda-events.md
index 427c5b2a049eff..bf3fab6666e51c 100644
--- a/i18n/fr/docusaurus-plugin-content-docs/version-21/ORDA/orda-events.md
+++ b/i18n/fr/docusaurus-plugin-content-docs/version-21/ORDA/orda-events.md
@@ -24,7 +24,7 @@ Vous ne pouvez pas déclencher directement l'exécution d'une fonction d'événe
:::info Note de compatibilité
-Les événements d'entité ORDA dans le magasin de données sont équivalents aux triggers dans la base de données 4D. Cependant, les actions déclenchées au niveau de la base de données 4D à l'aide des commandes du langage classique 4D ou des actions standard ne déclenchent pas les événements ORDA.
+Les événements d'entité ORDA dans le magasin de données sont équivalents aux triggers dans la base de données 4D. Cependant, les actions déclenchées au niveau de la base de données 4D à l'aide des commandes du langage classique 4D ou des actions standard ne déclenchent pas les événements ORDA. Note also that, unlike triggers, ORDA entity events do not lock the entire underlying table of a dataclass while saving or dropping entities. Several events can run in parallel as long as they involve distinct entities (i.e. records).
:::
@@ -420,7 +420,9 @@ If (This.userManualPath#"")
// The user manual document file is created on the disk
// This may fail if no more space is available
Try
- $fileCreated:=$userManualFile.create()
+ // The file content has been generated and stored in a map in Storage.docMap previously
+ $docInfo:=Storage.docMap.query("name = :1"; This.name).first()
+ $userManualFile.setContent($docInfo.content)
Catch
// No more room on disk for example
$result:={/
@@ -434,6 +436,12 @@ return $result
```
+:::note
+
+The content of the file is generated outside the `saving` event because it can be time consuming.
+
+:::
+
### `Function event afterSave`
#### Syntaxe
diff --git a/i18n/ja/docusaurus-plugin-content-docs/current/Concepts/variables.md b/i18n/ja/docusaurus-plugin-content-docs/current/Concepts/variables.md
index bf38f56c24bd72..e353105188d538 100644
--- a/i18n/ja/docusaurus-plugin-content-docs/current/Concepts/variables.md
+++ b/i18n/ja/docusaurus-plugin-content-docs/current/Concepts/variables.md
@@ -251,17 +251,18 @@ MyNumber:=3
システム変数は [4Dコマンド](../commands/command-index.md) によって使用されます。 コマンドがシステム変数に影響を与えるかどうかを確認するには、コマンドの説明の "システム変数およびセット" の項目を参照ください。
-| システム変数名 | 型 | 説明 |
-| ------------------------------------------------------ | ------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
-| `OK` | Integer | 通常、コマンドがダイアログボックスを表示して、ユーザーが **OK** ボタンをクリックすると 1 に、**キャンセル** ボタンをクリックした場合は 0 に設定されます。 一部のコマンドは、処理が成功すると `OK` システム変数の値を変更します。 |
-| `Document` | Text | [Open document](../commands-legacy/open-document.md) や [SELECT LOG FILE](../commands/select-log-file.md) などのコマンドを使用して最後に開かれた、または作成されたファイルの「長い名前」(完全パス名)が格納されています。 |
-| `FldDelimit`, `RecDelimit` | Text | テキストを読み込んだり書き出したりする際に、フィールドの区切りとして (デフォルトは **タブ** (9))、あるいはレコードの区切り文字として (デフォルトは **キャリッジリターン** (13)) 使用する文字コードが格納されています。 区切り文字を変更する場合は、システム変数の値を変更します。 |
-| `Error`, `Error method`, `Error line`, `Error formula` | Text, Longint | [`ON ERR CALL`](../commands-legacy/on-err-call.md) コマンドによって実装されるエラー処理メソッド内で使用されます。 [メソッド内でのエラー処理](../Concepts/error-handling.md#メソッド内でのエラー処理)参照。 |
-| `MouseDown` | Integer | [`ON EVENT CALL`](../commands-legacy/on-event-call.md) コマンドによって実装されるエラー処理メソッド内で使用されます。 マウスボタンが押されたときに 1 が、それ以外の場合は 0 に設定されます。 |
-| `MouseX`, `MouseY` | Integer | [`ON EVENT CALL`](../commands-legacy/on-event-call.md) コマンドによって実装されるエラー処理メソッド内で使用されます。 `MouseDown=1` イベントの時、`MouseX` と `MouseY` にはクリックされた場所の水平 / 垂直座標がそれぞれ代入されます。 両方の値ともピクセル単位で表わされ、ウィンドウのローカルな座標システムを使用します。 ピクチャーフィールドや変数の場合は、[`On Clicked`](../Events/onClicked.md) や [`On Double Clicked`](../Events/onDoubleClicked.md)、および [`On Mouse Up`](../Events/onMouseUp.md) フォームイベント内で、クリックのローカル座標が `MouseX` と `MouseY` に返されます。 また、[`On Mouse Enter`](../Events/onMouseEnter.md) および [`On Mouse Move`](../Events/onMouseMove.md) フォームイベントでもマウスカーソルのローカル座標が返されます。 詳細については、[ピクチャー上のマウス座標](../FormEditor/pictures.md#ピクチャー上のマウス座標) を参照ください。 |
-| `KeyCode` | Integer | [`ON EVENT CALL`](../commands-legacy/on-event-call.md) コマンドによって実装されるエラー処理メソッド内で使用されます。 押されたキーの文字コードが代入されます。 押されたキーがファンクションキーの場合、`KeyCode` には特殊コードがセットされます。 |
-| `Modifiers` | Integer | [`ON EVENT CALL`](../commands-legacy/on-event-call.md) コマンドによって実装されるエラー処理メソッド内で使用されます。 キーボードのモディファイアキーの値を格納します (Ctrl/Command、Alt/Option、Shift、Caps Lock)。 |
-| `MouseProc` | Integer | [`ON EVENT CALL`](../commands-legacy/on-event-call.md) コマンドによって実装されるエラー処理メソッド内で使用されます。 最後のイベントが発生したプロセス番号を格納します。 |
+| システム変数名 | 型 | 説明 |
+| ------------------------------- | ------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
+| `OK` | Integer | 通常、コマンドがダイアログボックスを表示して、ユーザーが **OK** ボタンをクリックすると 1 に、**キャンセル** ボタンをクリックした場合は 0 に設定されます。 一部のコマンドは、処理が成功すると `OK` システム変数の値を変更します。 |
+| `Document` | Text | [Open document](../commands-legacy/open-document.md) や [SELECT LOG FILE](../commands/select-log-file.md) などのコマンドを使用して最後に開かれた、または作成されたファイルの「長い名前」(完全パス名)が格納されています。 |
+| `FldDelimit`, `RecDelimit` | Integer | テキストを読み込んだり書き出したりする際に、フィールドの区切りとして (デフォルトは **タブ** (9))、あるいはレコードの区切り文字として (デフォルトは **キャリッジリターン** (13)) 使用する文字コードが格納されています。 区切り文字を変更する場合は、システム変数の値を変更します。 |
+| `Error`, `Error line` | Integer | [`ON ERR CALL`](../commands-legacy/on-err-call.md) コマンドによって実装されるエラー処理メソッド内で使用されます。 [メソッド内でのエラー処理](../Concepts/error-handling.md#メソッド内でのエラー処理)参照。 |
+| `Error method`, `Error formula` | Text | [`ON ERR CALL`](../commands-legacy/on-err-call.md) コマンドによって実装されるエラー処理メソッド内で使用されます。 [メソッド内でのエラー処理](../Concepts/error-handling.md#メソッド内でのエラー処理)参照。 |
+| `MouseDown` | Integer | [`ON EVENT CALL`](../commands-legacy/on-event-call.md) コマンドによって実装されるエラー処理メソッド内で使用されます。 マウスボタンが押されたときに 1 が、それ以外の場合は 0 に設定されます。 |
+| `MouseX`, `MouseY` | Integer | [`ON EVENT CALL`](../commands-legacy/on-event-call.md) コマンドによって実装されるエラー処理メソッド内で使用されます。 `MouseDown=1` イベントの時、`MouseX` と `MouseY` にはクリックされた場所の水平 / 垂直座標がそれぞれ代入されます。 両方の値ともピクセル単位で表わされ、ウィンドウのローカルな座標システムを使用します。 ピクチャーフィールドや変数の場合は、[`On Clicked`](../Events/onClicked.md) や [`On Double Clicked`](../Events/onDoubleClicked.md)、および [`On Mouse Up`](../Events/onMouseUp.md) フォームイベント内で、クリックのローカル座標が `MouseX` と `MouseY` に返されます。 また、[`On Mouse Enter`](../Events/onMouseEnter.md) および [`On Mouse Move`](../Events/onMouseMove.md) フォームイベントでもマウスカーソルのローカル座標が返されます。 詳細については、[ピクチャー上のマウス座標](../FormEditor/pictures.md#ピクチャー上のマウス座標) を参照ください。 |
+| `KeyCode` | Integer | [`ON EVENT CALL`](../commands-legacy/on-event-call.md) コマンドによって実装されるエラー処理メソッド内で使用されます。 押されたキーの文字コードが代入されます。 押されたキーがファンクションキーの場合、`KeyCode` には特殊コードがセットされます。 |
+| `Modifiers` | Integer | [`ON EVENT CALL`](../commands-legacy/on-event-call.md) コマンドによって実装されるエラー処理メソッド内で使用されます。 キーボードのモディファイアキーの値を格納します (Ctrl/Command、Alt/Option、Shift、Caps Lock)。 |
+| `MouseProc` | Integer | [`ON EVENT CALL`](../commands-legacy/on-event-call.md) コマンドによって実装されるエラー処理メソッド内で使用されます。 最後のイベントが発生したプロセス番号を格納します。 |
:::note
diff --git a/i18n/ja/docusaurus-plugin-content-docs/current/ORDA/glossary.md b/i18n/ja/docusaurus-plugin-content-docs/current/ORDA/glossary.md
index ce31a26ca023c4..bb8df81f97df04 100644
--- a/i18n/ja/docusaurus-plugin-content-docs/current/ORDA/glossary.md
+++ b/i18n/ja/docusaurus-plugin-content-docs/current/ORDA/glossary.md
@@ -105,7 +105,7 @@ ORDA データモデルクラスの関数。
## 汎用クラス
-エンティティやデータクラスなどの ORDA オブジェクト用のビルトインクラス。 エンティティやデータクラスなどの ORDA オブジェクト用のビルトインクラス。 汎用クラスのプロパティや関数は、ユーザー拡張クラス (例: `EmployeeEntity`) において自動で利用可能です。
+エンティティやデータクラスなどの ORDA オブジェクト用のビルトインクラス。 汎用クラスのプロパティや関数は、ユーザー拡張クラス (例: `EmployeeEntity`) において自動で利用可能です。
## レイジーローディング
@@ -119,7 +119,7 @@ ORDA データモデルクラスの関数。
データストア、データクラス、エンティティセレクション、エンティティなどの ORDA オブジェクトは、オブジェクトのクラスを定義します。 これらのクラスには、オブジェクトを直接操作するための専用のメソッドが提供されています。 これらのメソッドはメンバー関数とも呼ばれます。 このメソッドを使用するには、オブジェクトのインスタンスに対して呼び出します。
-たとえば、`query()` メソッドはデータクラスのメンバー関数です。 たとえば、`query()` メソッドはデータクラスのメンバー関数です。 たとえば、`query()` メソッドはデータクラスのメンバー関数です。 `$myClass` 変数にデータクラスオブジェクトを格納している場合、次のように書くことができます: たとえば、`query()` メソッドはデータクラスのメンバー関数です。 たとえば、`query()` メソッドはデータクラスのメンバー関数です。 `$myClass` 変数にデータクラスオブジェクトを格納している場合、次のように書くことができます: たとえば、`query()` メソッドはデータクラスのメンバー関数です。 たとえば、`query()` メソッドはデータクラスのメンバー関数です。 `$myClass` 変数にデータクラスオブジェクトを格納している場合、次のように書くことができます: たとえば、`query()` メソッドはデータクラスのメンバー関数です。 たとえば、`query()` メソッドはデータクラスのメンバー関数です。 `$myClass` 変数にデータクラスオブジェクトを格納している場合、次のように書くことができます: たとえば、`query()` メソッドはデータクラスのメンバー関数です。 たとえば、`query()` メソッドはデータクラスのメンバー関数です。 `$myClass` 変数にデータクラスオブジェクトを格納している場合、次のように書くことができます: たとえば、`query()` メソッドはデータクラスのメンバー関数です。 たとえば、`query()` メソッドはデータクラスのメンバー関数です。 `$myClass` 変数にデータクラスオブジェクトを格納している場合、次のように書くことができます:
+たとえば、`query()` メソッドはデータクラスのメンバー関数です。 `$myClass` 変数にデータクラスオブジェクトを格納している場合、次のように書くことができます:
```code4d
$myClass.query("name = smith")
@@ -150,7 +150,7 @@ $myClass.query("name = smith")
## 権限
-The ability to run one or more [actions](#action) on [resources](#resource). ビジネスロジックに応じて、複数の権限を [ロール](#ロール) としてまとめることができます。
+[リソース](#リソース) に対する実行が許可された [アクション](#アクション) の範囲のことです。 ビジネスロジックに応じて、複数の権限を [ロール](#ロール) としてまとめることができます。
## プロパティ
diff --git a/i18n/ja/docusaurus-plugin-content-docs/current/ORDA/orda-events.md b/i18n/ja/docusaurus-plugin-content-docs/current/ORDA/orda-events.md
index ea892330827279..cc909bcea59ea6 100644
--- a/i18n/ja/docusaurus-plugin-content-docs/current/ORDA/orda-events.md
+++ b/i18n/ja/docusaurus-plugin-content-docs/current/ORDA/orda-events.md
@@ -1,114 +1,114 @@
---
id: orda-events
-title: Entity Events
+title: エンティティイベント
---
履歴
-| リリース | 内容 |
-| ------ | ----------------------------------------------------------------------------------------------------- |
-| 21 | Added events: validateSave / saving / afterSave / validateDrop / dropping / afterDrop |
-| 20 R10 | touched event added |
+| リリース | 内容 |
+| ------ | -------------------------------------------------------------------------------------------------- |
+| 21 | 追加されたイベント: validateSave / saving / afterSave / validateDrop / dropping / afterDrop |
+| 20 R10 | touched イベント追加 |
-Entity events are functions that are automatically invoked by ORDA each time entities and entity attributes are manipulated (added, deleted, or modified). You can write very simple events, and then make them more sophisticated.
+エンティティイベントとは、エンティティやエンティティ属性が操作(追加、削除、変更)されるたびに ORDA によって自動的に呼び出される関数です。 シンプルなイベントを書き、それをより洗練されたものに変えていくことができます。
-You cannot directly trigger event function execution. Events are called automatically by ORDA based on user actions or operations performed through code on entities and their attributes.
+イベント関数の実行は直接トリガーすることはできません。 イベントは、ユーザーアクションや、エンティティまたはその属性に対するコードを通して実行された操作に基づいて、ORDA によって自動的に呼び出されます。
-:::tip Related blog post
+:::tip 関連したblog 記事
[ORDA – Handle an event-driven logic during data persistence actions](https://blog.4d.com/orda-handle-an-event-driven-logic-during-database-operations)
:::
-:::info note Compatibility note
+:::info 互換性に関する注意
-ORDA entity events in the datastore are equivalent to triggers in the 4D database. However, actions triggered at the 4D database level using the 4D classic language commands or standard actions do not trigger ORDA events.
+データストアにおける ORDA エンティティイベントは、4D データベースにおけるトリガに相当します。 しかしながら、4D クラシックランゲージコマンドを使用して 4D データベースレベルでトリガーされたアクション、あるいは標準アクションは、ORDA イベントをトリガーしません。 また、トリガとは異なり、ORDA エンティティイベントはエンティティを保存または削除する際に、データクラスの元となるテーブル全体をロックしないことに注意して下さい。 個別のエンティティ(つまりレコード)に起因している限りは、複数のイベントが同時に実行されることが可能です。
:::
## 概要
-### Event level
+### イベントレベル
-A event function is always defined in the [Entity class](../ORDA/ordaClasses.md#entity-class).
+イベント関数は必ず[Entity クラス](../ORDA/ordaClasses.md#エンティティクラス) 内で定義されます。
-It can be set at the **entity** level and/or the **attribute** level (it includes [**computed attributes**](../ORDA/ordaClasses.md#computed-attributes)). In the first case, it will be triggered for any attributes of the entity; on the other case, it will only be triggered for the targeted attribute.
+イベントは **エンティティ** レベルまたは **属性** レベルで設定することができます(属性には [**計算属性**](../ORDA/ordaClasses.md#計算属性) も含まれます)。 前者の場合、エンティティのあらゆる属性でイベントがトリガーされます。それ以外の場合、イベントは対象となる属性に対してのみトリガーされます。
-For the same event, you can define different functions for different attributes.
+同じイベントに対して、異なる属性に対して異なる関数を定義することができます。
-You can also define the same event at both attribute and entity levels. The attribute event is called first and then the entity event.
+また同じイベントを属性レベルとエンティティレベルの両方で定義することも可能です。 その場合、属性イベントが先に呼ばれ、その後にエンティティイベントが呼ばれます。
-### Execution in remote configurations
+### リモート構成における実行
-Usually, ORDA events are executed on the server.
+一般的に、ORDA イベントはサーバー上で実行されます。
-In client/server configuration however, the `touched()` event function can be executed on the **server or the client**, depending on the use of [`local`](./ordaClasses.md#local-functions) keyword. A specific implementation on the client side allows the triggering of the event on the client.
+しかしながらクライアント/サーバー構成においては、[`local`](./ordaClasses.md#local-functions) キーワードの使用によっては、`touched()` イベント関数を**サーバーまたはクライアント**で実行することが可能です。 クライアント側で特定の実装をすることにより、イベントをクライアント上でトリガーすることができるようになります。
:::note
-ORDA [`constructor()`](./ordaClasses.md#class-constructor) functions are always executed on the client.
+ORDA [`constructor()`](./ordaClasses.md#class-constructor) 関数は必ずクライアント上で実行されます。
:::
-With other remote configurations (i.e. [Qodly applications](https://developer.4d.com/qodly), [REST API requests](../REST/REST_requests.md), or requests through [`Open datastore`](../commands/open-datastore.md)), the `touched()` event function is always executed **server-side**. It means that you have to make sure the server can "see" that an attribute has been touched to trigger the event (see below).
+他のリモート構成(例: [Qodly アプリケーション](https://developer.4d.com/qodly)、[REST API リクエスト](../REST/REST_requests.md)、あるいは[`Open datastore`](../commands/open-datastore.md) を通したリクエスト)においては、イベント関数は必ず**サーバー側**で実行されます。 これはつまりイベントをトリガーするためには、属性がタッチされたことがサーバーから"見える"ようにしておくようにしなければならいことを意味します(以下参照)。
-### Summary table
+### 概要表
-The following table lists ORDA events along with their rules.
+以下の表は、ORDA イベントの一覧とそのルールをまとめたものです。
-| イベント | レベル | Function name | (C/S) Executed on | Can stop action by returning an error |
-| :------------------------ | :----- | :------------------------------------------------------ | :------------------------------------------------------------------: | ------------------------------------- |
-| Entity instantiation | Entity | [`constructor()`](./ordaClasses.md#class-constructor-1) | client | × |
-| Attribute touched | 属性 | `event touched ()` | Depends on [`local`](../ORDA/ordaClasses.md#local-functions) keyword | × |
-| | Entity | `event touched()` | Depends on [`local`](../ORDA/ordaClasses.md#local-functions) keyword | × |
-| Before saving an entity | 属性 | `validateSave ()` | server | ◯ |
-| | Entity | `validateSave()` | server | ◯ |
-| When saving an entity | 属性 | `saving ()` | server | ◯ |
-| | Entity | `saving()` | server | ◯ |
-| After saving an entity | Entity | `afterSave()` | server | × |
-| Before dropping an entity | 属性 | `validateDrop ()` | server | ◯ |
-| | Entity | `validateDrop()` | server | ◯ |
-| When dropping an entity | 属性 | `dropping ()` | server | ◯ |
-| | Entity | `dropping()` | server | ◯ |
-| After dropping an entity | Entity | `afterDrop()` | server | × |
+| イベント | レベル | 関数名 | (C/S の場合) 実行される場所 | エラーを返すことでアクションを停止できる |
+| :------------------------------------ | :----- | :------------------------------------------------------ | :--------------------------------------------------------: | -------------------- |
+| エンティティのインスタンス化 | Entity | [`constructor()`](./ordaClasses.md#class-constructor-1) | client | × |
+| 属性がタッチされた | 属性 | `event touched ()` | [`local`](../ORDA/ordaClasses.md#local-functions) キーワードによる | × |
+| | Entity | `event touched()` | [`local`](../ORDA/ordaClasses.md#local-functions) キーワードによる | × |
+| エンティティを保存する前 | 属性 | `validateSave ()` | server | ◯ |
+| | Entity | `validateSave()` | server | ◯ |
+| エンティティの保存時 | 属性 | `saving ()` | server | ◯ |
+| | Entity | `saving()` | server | ◯ |
+| エンティティを保存した後 | Entity | `afterSave()` | server | × |
+| エンティティをドロップ(削除)する前 | 属性 | `validateDrop ()` | server | ◯ |
+| | Entity | `validateDrop()` | server | ◯ |
+| エンティティのドロップ(削除)時 | 属性 | `dropping ()` | server | ◯ |
+| | Entity | `dropping()` | server | ◯ |
+| エンティティをドロップした後 | Entity | `afterDrop()` | server | × |
:::note
-The [`constructor()`](./ordaClasses.md#class-constructor-1) function is not actually an event function but is always called when a new entity is instantiated.
+[`constructor()`](./ordaClasses.md#class-constructor-1) 関数は実際にはイベント関数ではありませんが、エンティティがインスタンス化される際に必ず呼び出されます。
:::
-## *event* parameter
+## *event* 引数
-Event functions accept a single *event* object as parameter. When the function is called, the parameter is filled with several properties:
+イベント関数は、単一の *event* オブジェクトを引数として受け取ります。 関数が呼び出されると、引数には複数のプロパティに値が入れられます:
-| プロパティ名 | 利用可能性 | 型 | 説明 | |
-| :------------------ | :----------------------------------------------------------------------------------------------------------------------- | :------------------- | :-------------------------------------------------------------------------------------------------------------------- | - |
-| "kind" | Always | 文字列 | Event name: "touched", "validateSave", "saving", "afterSave", "validateDrop", "dropping", "afterDrop" | |
-| *attributeName* | Only for events implemented at attribute level ("validateSave", "saving", "validateDrop", "dropping") | 文字列 | Attribute name (*e.g.* "firstname") | |
-| *dataClassName* | Always | 文字列 | Dataclass name (*e.g.* "Company") | |
-| "savedAttributes" | Only in [`afterSave()`](#function-event-aftersave) | Collection of String | Names of attributes properly saved | |
-| "droppedAttributes" | Only in [`afterDrop()`](#function-event-afterdrop) | Collection of String | Names of attributes properly dropped | |
-| "saveStatus" | Only in [`afterSave()`](#function-event-aftersave) | 文字列 | "success" if the save was successful, "failed" otherwise | |
-| "dropStatus" | Only in [`afterDrop()`](#function-event-afterdrop) | 文字列 | "success" if the drop was successful, "failed" otherwise | |
+| プロパティ名 | 利用可能性 | 型 | 説明 | |
+| :------------------ | :-------------------------------------------------------------------------------------------- | :--------- | :--------------------------------------------------------------------------------------------------------- | - |
+| "kind" | 常に | 文字列 | イベント名: "touched"、"validateSave"、"saving"、"afterSave"、"validateDrop"、"dropping"、"afterDrop" | |
+| *attributeName* | 属性レベルで実装されているイベントに対してのみ("validateSave"、"saving"、"validateDrop"、"dropping") | 文字列 | 属性名 (*例* "firstname") | |
+| *dataClassName* | 常に | 文字列 | データクラス名 (*例* "Company") | |
+| "savedAttributes" | [`afterSave()`](#function-event-aftersave) でのみ | 文字列のコレクション | 正常に保存された属性名 | |
+| "droppedAttributes" | [`afterDrop()`](#function-event-afterdrop) でのみ | 文字列のコレクション | 正常にドロップ(削除)された属性名 | |
+| "saveStatus" | [`afterSave()`](#function-event-aftersave) でのみ | 文字列 | 保存が正常であれば "success"、それ以外の場合には "failed" | |
+| "dropStatus" | [`afterDrop()`](#function-event-afterdrop) でのみ | 文字列 | ドロップ(削除)が正常であれば "success"、それ以外の場合には "failed" | |
-## Error object
+## エラーオブジェクト
-[Some event functions](#summary-table) can return an **error object** to raise an error and stop the running action.
+[一部のイベント関数](#概要表) は **エラーオブジェクト** を返すことでエラーを生成し実行中のアクションを停止することができます。
-When an error occurs in an event, the other events are stopped at the first raised error and the action (save or drop) is also stopped. This error is sent before other potential errors like [stamp has changed, entity locked](../API/EntityClass.md#save), etc.
+イベント中にエラーが発生した場合、他のイベントも最初にエラーが生成された時点で停止し、アクション(保存やドロップ)も停止します。 このエラーは[スタンプが変更された、エンティティがロックされていた](../API/EntityClass.md#save) などの潜在的なエラーの前に送信されます。
-### Error object properties
+### エラーオブジェクトのプロパティ
-| プロパティ | 型 | 説明 | Set by the developer |
-| ------------------ | ------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------- |
-| errCode | Integer | Same as for [`Last errors`](../commands/last-errors.md) command | ◯ |
-| message | Text | Same as for [`Last errors`](../commands/last-errors.md) command | ◯ |
-| extraDescription | Object | Free information to set up | ◯ |
-| seriousError | Boolean | Used only with validate events (see below). `True`: creates a [serious (unpredictable) error](../Concepts/error-handling.md#predictable-vs-unpredictable-errors) and triggers an exception. Adds the `dk status serious validation error` status`False`: creates only a [silent (predictable) error](../Concepts/error-handling.md#predictable-vs-unpredictable-errors). Adds the `dk status validation failed` status | Yes (default is false) |
-| componentSignature | Text | Always "DBEV" | × |
+| プロパティ | 型 | 説明 | 開発者によって設定 |
+| ------------------ | ------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------- |
+| errCode | Integer | [`Last errors`](../commands/last-errors.md) コマンドと同じ | ◯ |
+| message | Text | [`Last errors`](../commands/last-errors.md) コマンドと同じ | ◯ |
+| extraDescription | Object | 自由に設定可能な情報 | ◯ |
+| seriousError | Boolean | validate イベントでのみ使用されます(以下参照)。 `True`: [深刻(予測不能)なエラー](../Concepts/error-handling.md#予測可能なエラーvs予測不能なエラー) を作成し、例外をトリガーします。 `dk status serious validation error` ステータスを追加します`False`: creates only a [静か(予測可能) なエラー](../Concepts/error-handling.md#予測可能なエラーvs予測不可なエラー) のみを作成します。 `dk status validation failed` ステータスを追加します | 可能(デフォルトはfalse) |
+| componentSignature | Text | 常に "DBEV" | × |
- [Serious errors](../Concepts/error-handling.md#predictable-vs-unpredictable-errors) are stacked in the `errors` collection property of the **Result object** returned by the [`save()`](../API/EntityClass.md#save) or [`drop()`](../API/EntityClass.md#drop) functions.
- In case of an error triggered by a **validate** event, the `seriousError` property allows you to choose the level of the error to generate:
@@ -420,7 +420,9 @@ If (This.userManualPath#"")
// The user manual document file is created on the disk
// This may fail if no more space is available
Try
- $fileCreated:=$userManualFile.create()
+ // The file content has been generated and stored in a map in Storage.docMap previously
+ $docInfo:=Storage.docMap.query("name = :1"; This.name).first()
+ $userManualFile.setContent($docInfo.content)
Catch
// No more room on disk for example
$result:={/
@@ -434,6 +436,12 @@ return $result
```
+:::note
+
+The content of the file is generated outside the `saving` event because it can be time consuming.
+
+:::
+
### `Function event afterSave`
#### シンタックス
diff --git a/i18n/ja/docusaurus-plugin-content-docs/version-19/Concepts/variables.md b/i18n/ja/docusaurus-plugin-content-docs/version-19/Concepts/variables.md
index 8f3d48ce8cab37..5eed54f80551e0 100644
--- a/i18n/ja/docusaurus-plugin-content-docs/version-19/Concepts/variables.md
+++ b/i18n/ja/docusaurus-plugin-content-docs/version-19/Concepts/variables.md
@@ -243,7 +243,7 @@ atNames{1}:="Richard"
| ------------------------------------------------------ | ------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `OK` | Integer | 通常、コマンドがダイアログボックスを表示して、ユーザーが **OK** ボタンをクリックすると 1 に、**キャンセル** ボタンをクリックした場合は 0 に設定されます。 一部のコマンドは、処理が成功すると `OK` システム変数の値を変更します。 |
| `Document` | Text | [Open document](https://doc.4d.com/4dv20/help/command/ja/page264.html) や [SELECT LOG FILE](https://doc.4d.com/4dv20/help/command/ja/page345.html) などのコマンドを使用して最後に開いたファイルまたは作成したファイルのパス名 (フルパス + 名前) が含まれます。 |
-| `FldDelimit`, `RecDelimit` | Text | テキストを読み込んだり書き出したりする際に、フィールドの区切りとして (デフォルトは **タブ** (9))、あるいはレコードの区切り文字として (デフォルトは **キャリッジリターン** (13)) 使用する文字コードが格納されています。 区切り文字を変更する場合は、システム変数の値を変更します。 |
+| `FldDelimit`, `RecDelimit` | Integer | テキストを読み込んだり書き出したりする際に、フィールドの区切りとして (デフォルトは **タブ** (9))、あるいはレコードの区切り文字として (デフォルトは **キャリッジリターン** (13)) 使用する文字コードが格納されています。 区切り文字を変更する場合は、システム変数の値を変更します。 |
| `Error`, `Error method`, `Error line`, `Error formula` | Text, Longint | [`ON ERR CALL`](https://doc.4d.com/4dv20/help/command/ja/page155.html) コマンドでインストールされたエラー処理メソッド内で使用されます。 [メソッド内でのエラー処理](../Concepts/error-handling.md#メソッド内でのエラー処理) 参照。 |
| `MouseDown` | Integer | [`ON EVENT CALL`](https://doc.4d.com/4dv20/help/command/ja/page190.html) コマンドでインストールされたメソッド内で使用されます。 マウスボタンが押されたときに 1 が、それ以外の場合は 0 に設定されます。 |
| `MouseX`, `MouseY` | Integer | [`ON EVENT CALL`](https://doc.4d.com/4dv20/help/command/ja/page190.html) コマンドでインストールされたメソッド内で使用されます。 MouseDown=1 イベントの時、MouseX と MouseY にはクリックされた場所の水平 / 垂直座標がそれぞれ代入されます。 両方の値ともピクセル単位で表わされ、ウィンドウのローカルな座標システムを使用します。 ピクチャーフィールドや変数の場合は、On Clicked や On Double Clicked、および On Mouse Up フォームイベント内で、クリックのローカル座標が MouseX と MouseY に返されます。 また、[`On Mouse Enter`](../Events/onMouseEnter.md) および [`On Mouse Move`](../Events/onMouseMove.md) フォームイベントでもマウスカーソルのローカル座標が返されます。 詳細については、[ピクチャー上のマウス座標](../FormEditor/pictures.md#ピクチャー上のマウス座標) を参照ください。 |
diff --git a/i18n/ja/docusaurus-plugin-content-docs/version-20-R10/Concepts/variables.md b/i18n/ja/docusaurus-plugin-content-docs/version-20-R10/Concepts/variables.md
index bf38f56c24bd72..e353105188d538 100644
--- a/i18n/ja/docusaurus-plugin-content-docs/version-20-R10/Concepts/variables.md
+++ b/i18n/ja/docusaurus-plugin-content-docs/version-20-R10/Concepts/variables.md
@@ -251,17 +251,18 @@ MyNumber:=3
システム変数は [4Dコマンド](../commands/command-index.md) によって使用されます。 コマンドがシステム変数に影響を与えるかどうかを確認するには、コマンドの説明の "システム変数およびセット" の項目を参照ください。
-| システム変数名 | 型 | 説明 |
-| ------------------------------------------------------ | ------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
-| `OK` | Integer | 通常、コマンドがダイアログボックスを表示して、ユーザーが **OK** ボタンをクリックすると 1 に、**キャンセル** ボタンをクリックした場合は 0 に設定されます。 一部のコマンドは、処理が成功すると `OK` システム変数の値を変更します。 |
-| `Document` | Text | [Open document](../commands-legacy/open-document.md) や [SELECT LOG FILE](../commands/select-log-file.md) などのコマンドを使用して最後に開かれた、または作成されたファイルの「長い名前」(完全パス名)が格納されています。 |
-| `FldDelimit`, `RecDelimit` | Text | テキストを読み込んだり書き出したりする際に、フィールドの区切りとして (デフォルトは **タブ** (9))、あるいはレコードの区切り文字として (デフォルトは **キャリッジリターン** (13)) 使用する文字コードが格納されています。 区切り文字を変更する場合は、システム変数の値を変更します。 |
-| `Error`, `Error method`, `Error line`, `Error formula` | Text, Longint | [`ON ERR CALL`](../commands-legacy/on-err-call.md) コマンドによって実装されるエラー処理メソッド内で使用されます。 [メソッド内でのエラー処理](../Concepts/error-handling.md#メソッド内でのエラー処理)参照。 |
-| `MouseDown` | Integer | [`ON EVENT CALL`](../commands-legacy/on-event-call.md) コマンドによって実装されるエラー処理メソッド内で使用されます。 マウスボタンが押されたときに 1 が、それ以外の場合は 0 に設定されます。 |
-| `MouseX`, `MouseY` | Integer | [`ON EVENT CALL`](../commands-legacy/on-event-call.md) コマンドによって実装されるエラー処理メソッド内で使用されます。 `MouseDown=1` イベントの時、`MouseX` と `MouseY` にはクリックされた場所の水平 / 垂直座標がそれぞれ代入されます。 両方の値ともピクセル単位で表わされ、ウィンドウのローカルな座標システムを使用します。 ピクチャーフィールドや変数の場合は、[`On Clicked`](../Events/onClicked.md) や [`On Double Clicked`](../Events/onDoubleClicked.md)、および [`On Mouse Up`](../Events/onMouseUp.md) フォームイベント内で、クリックのローカル座標が `MouseX` と `MouseY` に返されます。 また、[`On Mouse Enter`](../Events/onMouseEnter.md) および [`On Mouse Move`](../Events/onMouseMove.md) フォームイベントでもマウスカーソルのローカル座標が返されます。 詳細については、[ピクチャー上のマウス座標](../FormEditor/pictures.md#ピクチャー上のマウス座標) を参照ください。 |
-| `KeyCode` | Integer | [`ON EVENT CALL`](../commands-legacy/on-event-call.md) コマンドによって実装されるエラー処理メソッド内で使用されます。 押されたキーの文字コードが代入されます。 押されたキーがファンクションキーの場合、`KeyCode` には特殊コードがセットされます。 |
-| `Modifiers` | Integer | [`ON EVENT CALL`](../commands-legacy/on-event-call.md) コマンドによって実装されるエラー処理メソッド内で使用されます。 キーボードのモディファイアキーの値を格納します (Ctrl/Command、Alt/Option、Shift、Caps Lock)。 |
-| `MouseProc` | Integer | [`ON EVENT CALL`](../commands-legacy/on-event-call.md) コマンドによって実装されるエラー処理メソッド内で使用されます。 最後のイベントが発生したプロセス番号を格納します。 |
+| システム変数名 | 型 | 説明 |
+| ------------------------------- | ------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
+| `OK` | Integer | 通常、コマンドがダイアログボックスを表示して、ユーザーが **OK** ボタンをクリックすると 1 に、**キャンセル** ボタンをクリックした場合は 0 に設定されます。 一部のコマンドは、処理が成功すると `OK` システム変数の値を変更します。 |
+| `Document` | Text | [Open document](../commands-legacy/open-document.md) や [SELECT LOG FILE](../commands/select-log-file.md) などのコマンドを使用して最後に開かれた、または作成されたファイルの「長い名前」(完全パス名)が格納されています。 |
+| `FldDelimit`, `RecDelimit` | Integer | テキストを読み込んだり書き出したりする際に、フィールドの区切りとして (デフォルトは **タブ** (9))、あるいはレコードの区切り文字として (デフォルトは **キャリッジリターン** (13)) 使用する文字コードが格納されています。 区切り文字を変更する場合は、システム変数の値を変更します。 |
+| `Error`, `Error line` | Integer | [`ON ERR CALL`](../commands-legacy/on-err-call.md) コマンドによって実装されるエラー処理メソッド内で使用されます。 [メソッド内でのエラー処理](../Concepts/error-handling.md#メソッド内でのエラー処理)参照。 |
+| `Error method`, `Error formula` | Text | [`ON ERR CALL`](../commands-legacy/on-err-call.md) コマンドによって実装されるエラー処理メソッド内で使用されます。 [メソッド内でのエラー処理](../Concepts/error-handling.md#メソッド内でのエラー処理)参照。 |
+| `MouseDown` | Integer | [`ON EVENT CALL`](../commands-legacy/on-event-call.md) コマンドによって実装されるエラー処理メソッド内で使用されます。 マウスボタンが押されたときに 1 が、それ以外の場合は 0 に設定されます。 |
+| `MouseX`, `MouseY` | Integer | [`ON EVENT CALL`](../commands-legacy/on-event-call.md) コマンドによって実装されるエラー処理メソッド内で使用されます。 `MouseDown=1` イベントの時、`MouseX` と `MouseY` にはクリックされた場所の水平 / 垂直座標がそれぞれ代入されます。 両方の値ともピクセル単位で表わされ、ウィンドウのローカルな座標システムを使用します。 ピクチャーフィールドや変数の場合は、[`On Clicked`](../Events/onClicked.md) や [`On Double Clicked`](../Events/onDoubleClicked.md)、および [`On Mouse Up`](../Events/onMouseUp.md) フォームイベント内で、クリックのローカル座標が `MouseX` と `MouseY` に返されます。 また、[`On Mouse Enter`](../Events/onMouseEnter.md) および [`On Mouse Move`](../Events/onMouseMove.md) フォームイベントでもマウスカーソルのローカル座標が返されます。 詳細については、[ピクチャー上のマウス座標](../FormEditor/pictures.md#ピクチャー上のマウス座標) を参照ください。 |
+| `KeyCode` | Integer | [`ON EVENT CALL`](../commands-legacy/on-event-call.md) コマンドによって実装されるエラー処理メソッド内で使用されます。 押されたキーの文字コードが代入されます。 押されたキーがファンクションキーの場合、`KeyCode` には特殊コードがセットされます。 |
+| `Modifiers` | Integer | [`ON EVENT CALL`](../commands-legacy/on-event-call.md) コマンドによって実装されるエラー処理メソッド内で使用されます。 キーボードのモディファイアキーの値を格納します (Ctrl/Command、Alt/Option、Shift、Caps Lock)。 |
+| `MouseProc` | Integer | [`ON EVENT CALL`](../commands-legacy/on-event-call.md) コマンドによって実装されるエラー処理メソッド内で使用されます。 最後のイベントが発生したプロセス番号を格納します。 |
:::note
diff --git a/i18n/ja/docusaurus-plugin-content-docs/version-20-R10/ORDA/glossary.md b/i18n/ja/docusaurus-plugin-content-docs/version-20-R10/ORDA/glossary.md
index ce31a26ca023c4..bb8df81f97df04 100644
--- a/i18n/ja/docusaurus-plugin-content-docs/version-20-R10/ORDA/glossary.md
+++ b/i18n/ja/docusaurus-plugin-content-docs/version-20-R10/ORDA/glossary.md
@@ -105,7 +105,7 @@ ORDA データモデルクラスの関数。
## 汎用クラス
-エンティティやデータクラスなどの ORDA オブジェクト用のビルトインクラス。 エンティティやデータクラスなどの ORDA オブジェクト用のビルトインクラス。 汎用クラスのプロパティや関数は、ユーザー拡張クラス (例: `EmployeeEntity`) において自動で利用可能です。
+エンティティやデータクラスなどの ORDA オブジェクト用のビルトインクラス。 汎用クラスのプロパティや関数は、ユーザー拡張クラス (例: `EmployeeEntity`) において自動で利用可能です。
## レイジーローディング
@@ -119,7 +119,7 @@ ORDA データモデルクラスの関数。
データストア、データクラス、エンティティセレクション、エンティティなどの ORDA オブジェクトは、オブジェクトのクラスを定義します。 これらのクラスには、オブジェクトを直接操作するための専用のメソッドが提供されています。 これらのメソッドはメンバー関数とも呼ばれます。 このメソッドを使用するには、オブジェクトのインスタンスに対して呼び出します。
-たとえば、`query()` メソッドはデータクラスのメンバー関数です。 たとえば、`query()` メソッドはデータクラスのメンバー関数です。 たとえば、`query()` メソッドはデータクラスのメンバー関数です。 `$myClass` 変数にデータクラスオブジェクトを格納している場合、次のように書くことができます: たとえば、`query()` メソッドはデータクラスのメンバー関数です。 たとえば、`query()` メソッドはデータクラスのメンバー関数です。 `$myClass` 変数にデータクラスオブジェクトを格納している場合、次のように書くことができます: たとえば、`query()` メソッドはデータクラスのメンバー関数です。 たとえば、`query()` メソッドはデータクラスのメンバー関数です。 `$myClass` 変数にデータクラスオブジェクトを格納している場合、次のように書くことができます: たとえば、`query()` メソッドはデータクラスのメンバー関数です。 たとえば、`query()` メソッドはデータクラスのメンバー関数です。 `$myClass` 変数にデータクラスオブジェクトを格納している場合、次のように書くことができます: たとえば、`query()` メソッドはデータクラスのメンバー関数です。 たとえば、`query()` メソッドはデータクラスのメンバー関数です。 `$myClass` 変数にデータクラスオブジェクトを格納している場合、次のように書くことができます: たとえば、`query()` メソッドはデータクラスのメンバー関数です。 たとえば、`query()` メソッドはデータクラスのメンバー関数です。 `$myClass` 変数にデータクラスオブジェクトを格納している場合、次のように書くことができます:
+たとえば、`query()` メソッドはデータクラスのメンバー関数です。 `$myClass` 変数にデータクラスオブジェクトを格納している場合、次のように書くことができます:
```code4d
$myClass.query("name = smith")
@@ -150,7 +150,7 @@ $myClass.query("name = smith")
## 権限
-The ability to run one or more [actions](#action) on [resources](#resource). ビジネスロジックに応じて、複数の権限を [ロール](#ロール) としてまとめることができます。
+[リソース](#リソース) に対する実行が許可された [アクション](#アクション) の範囲のことです。 ビジネスロジックに応じて、複数の権限を [ロール](#ロール) としてまとめることができます。
## プロパティ
diff --git a/i18n/ja/docusaurus-plugin-content-docs/version-20-R10/ORDA/orda-events.md b/i18n/ja/docusaurus-plugin-content-docs/version-20-R10/ORDA/orda-events.md
index a61deb863753ab..f5670319110839 100644
--- a/i18n/ja/docusaurus-plugin-content-docs/version-20-R10/ORDA/orda-events.md
+++ b/i18n/ja/docusaurus-plugin-content-docs/version-20-R10/ORDA/orda-events.md
@@ -1,77 +1,77 @@
---
id: orda-events
-title: Entity Events
+title: エンティティイベント
---
履歴
-| リリース | 内容 |
-| ------ | ------------------- |
-| 20 R10 | touched event added |
+| リリース | 内容 |
+| ------ | -------------- |
+| 20 R10 | touched イベント追加 |
-Entity events are functions that are automatically invoked by ORDA each time entities and entity attributes are manipulated (added, deleted, or modified). You can write very simple events, and then make them more sophisticated.
+エンティティイベントとは、エンティティやエンティティ属性が操作(追加、削除、変更)されるたびに ORDA によって自動的に呼び出される関数です。 シンプルなイベントを書き、それをより洗練されたものに変えていくことができます。
-You cannot directly trigger event function execution. Events are called automatically by ORDA based on user actions or operations performed through code on entities and their attributes.
+イベント関数の実行は直接トリガーすることはできません。 イベントは、ユーザーアクションや、エンティティまたはその属性に対するコードを通して実行された操作に基づいて、ORDA によって自動的に呼び出されます。
-:::info note Compatibility note
+:::info 互換性に関する注意
-ORDA entity events in the datastore are equivalent to triggers in the 4D database. However, actions triggered at the 4D database level using the 4D classic language commands or standard actions do not trigger ORDA events.
+データストアにおける ORDA エンティティイベントは、4D データベースにおけるトリガに相当します。 しかしながら、4D クラシックランゲージコマンドを使用して 4D データベースレベルでトリガーされたアクション、あるいは標準アクションは、ORDA イベントをトリガーしません。 また、トリガとは異なり、ORDA エンティティイベントはエンティティを保存または削除する際に、データクラスの元となるテーブル全体をロックしないことに注意して下さい。 個別のエンティティ(つまりレコード)に起因している限りは、複数のイベントが同時に実行されることが可能です。
:::
## 概要
-### Event level
+### イベントレベル
エンティティイベント関数は必ず[Entity クラス](../ORDA/ordaClasses.md#entity-class) 内で定義されます。
-It can be set at the **entity** level and/or the **attribute** level (it includes [**computed attributes**](../ORDA/ordaClasses.md#computed-attributes)). In the first case, it will be triggered for any attributes of the entity; on the other case, it will only be triggered for the targeted attribute.
+イベントは **エンティティ** レベルまたは **属性** レベルで設定することができます(属性には [**計算属性**](../ORDA/ordaClasses.md#計算属性) も含まれます)。 前者の場合、エンティティのあらゆる属性でイベントがトリガーされます。それ以外の場合、イベントは対象となる属性に対してのみトリガーされます。
-For the same event, you can define different functions for different attributes.
+同じイベントに対して、異なる属性に対して異なる関数を定義することができます。
-You can also define the same event at both attribute and entity levels. The attribute event is called first and then the entity event.
+また同じイベントを属性レベルとエンティティレベルの両方で定義することも可能です。 その場合、属性イベントが先に呼ばれ、その後にエンティティイベントが呼ばれます。
-### Execution in remote configurations
+### リモート構成における実行
-Usually, ORDA events are executed on the server.
+一般的に、ORDA イベントはサーバー上で実行されます。
-In client/server configuration however, the `touched()` event function can be executed on the **server or the client**, depending on the use of [`local`](./ordaClasses.md#local-functions) keyword. A specific implementation on the client side allows the triggering of the event on the client.
+しかしながらクライアント/サーバー構成においては、[`local`](./ordaClasses.md#local-functions) キーワードの使用によっては、`touched()` イベント関数を**サーバーまたはクライアント**で実行することが可能です。 クライアント側で特定の実装をすることにより、イベントをクライアント上でトリガーすることができるようになります。
:::note
-ORDA [`constructor()`](./ordaClasses.md#class-constructor) functions are always executed on the client.
+ORDA [`constructor()`](./ordaClasses.md#class-constructor) 関数は必ずクライアント上で実行されます。
:::
他のリモート設定(例: Qodly アプリケーション、[REST API リクエスト](../REST/REST_requests.md)、あるいは[`Open datastore`](../commands/open-datastore.md) を通したリクエスト) では、`touched()` イベント関数は必ず**サーバー側**で実行されます。 これはつまり、イベントがトリガーされるためには、属性がタッチされたということを必ずサーバーが"見える"ようにしておかなければならないということを意味します(以下参照)。
-### Summary table
+### 概要表
以下の表は、ORDA エンティティイベントの一覧とそのルールをまとめたものです。
-| イベント | レベル | Function name | (C/S) Executed on |
-| :------------------- | :----- | :------------------------------------------------------ | :------------------------------------------------------------------: |
-| Entity instantiation | Entity | [`constructor()`](./ordaClasses.md#class-constructor-1) | client |
-| Attribute touched | 属性 | `event touched ()` | Depends on [`local`](../ORDA/ordaClasses.md#local-functions) keyword |
-| | Entity | `event touched()` | Depends on [`local`](../ORDA/ordaClasses.md#local-functions) keyword |
+| イベント | レベル | 関数名 | (C/S の場合) 実行される場所 |
+| :------------- | :----- | :------------------------------------------------------ | :--------------------------------------------------------: |
+| エンティティのインスタンス化 | Entity | [`constructor()`](./ordaClasses.md#class-constructor-1) | client |
+| 属性がタッチされた | 属性 | `event touched ()` | [`local`](../ORDA/ordaClasses.md#local-functions) キーワードによる |
+| | Entity | `event touched()` | [`local`](../ORDA/ordaClasses.md#local-functions) キーワードによる |
:::note
-The [`constructor()`](./ordaClasses.md#class-constructor-1) function is not actually an event function but is always called when a new entity is instantiated.
+[`constructor()`](./ordaClasses.md#class-constructor-1) 関数は実際にはイベント関数ではありませんが、エンティティがインスタンス化される際に必ず呼び出されます。
:::
-## *event* parameter
+## *event* 引数
-Event functions accept a single *event* object as parameter. When the function is called, the parameter is filled with several properties:
+イベント関数は、単一の *event* オブジェクトを引数として受け取ります。 関数が呼び出されると、引数には複数のプロパティに値が入れられます:
-| プロパティ名 | 利用可能性 | 型 | 説明 |
-| :-------------- | :----------- | :-- | :------------------------------------------------------------------------------------- |
-| `kind` | Always | 文字列 | イベント名("touched") |
-| *attributeName* | 属性に関するイベントのみ | 文字列 | Attribute name (*e.g.* "firstname") |
-| *dataClassName* | Always | 文字列 | Dataclass name (*e.g.* "Company") |
+| プロパティ名 | 利用可能性 | 型 | 説明 |
+| :-------------- | :----------- | :-- | :----------------------------------------- |
+| `kind` | 常に | 文字列 | イベント名("touched") |
+| *attributeName* | 属性に関するイベントのみ | 文字列 | 属性名 (*例* "firstname") |
+| *dataClassName* | 常に | 文字列 | データクラス名 (*例* "Company") |
## Event function description
diff --git a/i18n/ja/docusaurus-plugin-content-docs/version-20/Concepts/variables.md b/i18n/ja/docusaurus-plugin-content-docs/version-20/Concepts/variables.md
index 640c4e681ef8e1..6f080fc85169fd 100644
--- a/i18n/ja/docusaurus-plugin-content-docs/version-20/Concepts/variables.md
+++ b/i18n/ja/docusaurus-plugin-content-docs/version-20/Concepts/variables.md
@@ -242,7 +242,7 @@ atNames{1}:="Richard"
| ------------------------------------------------------ | ------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `OK` | Integer | 通常、コマンドがダイアログボックスを表示して、ユーザーが **OK** ボタンをクリックすると 1 に、**キャンセル** ボタンをクリックした場合は 0 に設定されます。 一部のコマンドは、処理が成功すると `OK` システム変数の値を変更します。 |
| `Document` | Text | [Open document](https://doc.4d.com/4dv20/help/command/ja/page264.html) や [SELECT LOG FILE](https://doc.4d.com/4dv20/help/command/ja/page345.html) などのコマンドを使用して最後に開いたファイルまたは作成したファイルのパス名 (フルパス + 名前) が含まれます。 |
-| `FldDelimit`, `RecDelimit` | Text | テキストを読み込んだり書き出したりする際に、フィールドの区切りとして (デフォルトは **タブ** (9))、あるいはレコードの区切り文字として (デフォルトは **キャリッジリターン** (13)) 使用する文字コードが格納されています。 区切り文字を変更する場合は、システム変数の値を変更します。 |
+| `FldDelimit`, `RecDelimit` | Integer | テキストを読み込んだり書き出したりする際に、フィールドの区切りとして (デフォルトは **タブ** (9))、あるいはレコードの区切り文字として (デフォルトは **キャリッジリターン** (13)) 使用する文字コードが格納されています。 区切り文字を変更する場合は、システム変数の値を変更します。 |
| `Error`, `Error method`, `Error line`, `Error formula` | Text, Longint | [`ON ERR CALL`](https://doc.4d.com/4dv20/help/command/ja/page155.html) コマンドでインストールされたエラー処理メソッド内で使用されます。 [メソッド内でのエラー処理](../Concepts/error-handling.md#メソッド内でのエラー処理) 参照。 |
| `MouseDown` | Integer | [`ON EVENT CALL`](https://doc.4d.com/4dv20/help/command/ja/page190.html) コマンドでインストールされたメソッド内で使用されます。 マウスボタンが押されたときに 1 が、それ以外の場合は 0 に設定されます。 |
| `MouseX`, `MouseY` | Integer | [`ON EVENT CALL`](https://doc.4d.com/4dv20/help/command/ja/page190.html) コマンドでインストールされたメソッド内で使用されます。 MouseDown=1 イベントの時、MouseX と MouseY にはクリックされた場所の水平 / 垂直座標がそれぞれ代入されます。 両方の値ともピクセル単位で表わされ、ウィンドウのローカルな座標システムを使用します。 ピクチャーフィールドや変数の場合は、On Clicked や On Double Clicked、および On Mouse Up フォームイベント内で、クリックのローカル座標が MouseX と MouseY に返されます。 また、[`On Mouse Enter`](../Events/onMouseEnter.md) および [`On Mouse Move`](../Events/onMouseMove.md) フォームイベントでもマウスカーソルのローカル座標が返されます。 詳細については、[ピクチャー上のマウス座標](../FormEditor/pictures.md#ピクチャー上のマウス座標) を参照ください。 |
diff --git a/i18n/ja/docusaurus-plugin-content-docs/version-21/Concepts/variables.md b/i18n/ja/docusaurus-plugin-content-docs/version-21/Concepts/variables.md
index bf38f56c24bd72..e353105188d538 100644
--- a/i18n/ja/docusaurus-plugin-content-docs/version-21/Concepts/variables.md
+++ b/i18n/ja/docusaurus-plugin-content-docs/version-21/Concepts/variables.md
@@ -251,17 +251,18 @@ MyNumber:=3
システム変数は [4Dコマンド](../commands/command-index.md) によって使用されます。 コマンドがシステム変数に影響を与えるかどうかを確認するには、コマンドの説明の "システム変数およびセット" の項目を参照ください。
-| システム変数名 | 型 | 説明 |
-| ------------------------------------------------------ | ------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
-| `OK` | Integer | 通常、コマンドがダイアログボックスを表示して、ユーザーが **OK** ボタンをクリックすると 1 に、**キャンセル** ボタンをクリックした場合は 0 に設定されます。 一部のコマンドは、処理が成功すると `OK` システム変数の値を変更します。 |
-| `Document` | Text | [Open document](../commands-legacy/open-document.md) や [SELECT LOG FILE](../commands/select-log-file.md) などのコマンドを使用して最後に開かれた、または作成されたファイルの「長い名前」(完全パス名)が格納されています。 |
-| `FldDelimit`, `RecDelimit` | Text | テキストを読み込んだり書き出したりする際に、フィールドの区切りとして (デフォルトは **タブ** (9))、あるいはレコードの区切り文字として (デフォルトは **キャリッジリターン** (13)) 使用する文字コードが格納されています。 区切り文字を変更する場合は、システム変数の値を変更します。 |
-| `Error`, `Error method`, `Error line`, `Error formula` | Text, Longint | [`ON ERR CALL`](../commands-legacy/on-err-call.md) コマンドによって実装されるエラー処理メソッド内で使用されます。 [メソッド内でのエラー処理](../Concepts/error-handling.md#メソッド内でのエラー処理)参照。 |
-| `MouseDown` | Integer | [`ON EVENT CALL`](../commands-legacy/on-event-call.md) コマンドによって実装されるエラー処理メソッド内で使用されます。 マウスボタンが押されたときに 1 が、それ以外の場合は 0 に設定されます。 |
-| `MouseX`, `MouseY` | Integer | [`ON EVENT CALL`](../commands-legacy/on-event-call.md) コマンドによって実装されるエラー処理メソッド内で使用されます。 `MouseDown=1` イベントの時、`MouseX` と `MouseY` にはクリックされた場所の水平 / 垂直座標がそれぞれ代入されます。 両方の値ともピクセル単位で表わされ、ウィンドウのローカルな座標システムを使用します。 ピクチャーフィールドや変数の場合は、[`On Clicked`](../Events/onClicked.md) や [`On Double Clicked`](../Events/onDoubleClicked.md)、および [`On Mouse Up`](../Events/onMouseUp.md) フォームイベント内で、クリックのローカル座標が `MouseX` と `MouseY` に返されます。 また、[`On Mouse Enter`](../Events/onMouseEnter.md) および [`On Mouse Move`](../Events/onMouseMove.md) フォームイベントでもマウスカーソルのローカル座標が返されます。 詳細については、[ピクチャー上のマウス座標](../FormEditor/pictures.md#ピクチャー上のマウス座標) を参照ください。 |
-| `KeyCode` | Integer | [`ON EVENT CALL`](../commands-legacy/on-event-call.md) コマンドによって実装されるエラー処理メソッド内で使用されます。 押されたキーの文字コードが代入されます。 押されたキーがファンクションキーの場合、`KeyCode` には特殊コードがセットされます。 |
-| `Modifiers` | Integer | [`ON EVENT CALL`](../commands-legacy/on-event-call.md) コマンドによって実装されるエラー処理メソッド内で使用されます。 キーボードのモディファイアキーの値を格納します (Ctrl/Command、Alt/Option、Shift、Caps Lock)。 |
-| `MouseProc` | Integer | [`ON EVENT CALL`](../commands-legacy/on-event-call.md) コマンドによって実装されるエラー処理メソッド内で使用されます。 最後のイベントが発生したプロセス番号を格納します。 |
+| システム変数名 | 型 | 説明 |
+| ------------------------------- | ------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
+| `OK` | Integer | 通常、コマンドがダイアログボックスを表示して、ユーザーが **OK** ボタンをクリックすると 1 に、**キャンセル** ボタンをクリックした場合は 0 に設定されます。 一部のコマンドは、処理が成功すると `OK` システム変数の値を変更します。 |
+| `Document` | Text | [Open document](../commands-legacy/open-document.md) や [SELECT LOG FILE](../commands/select-log-file.md) などのコマンドを使用して最後に開かれた、または作成されたファイルの「長い名前」(完全パス名)が格納されています。 |
+| `FldDelimit`, `RecDelimit` | Integer | テキストを読み込んだり書き出したりする際に、フィールドの区切りとして (デフォルトは **タブ** (9))、あるいはレコードの区切り文字として (デフォルトは **キャリッジリターン** (13)) 使用する文字コードが格納されています。 区切り文字を変更する場合は、システム変数の値を変更します。 |
+| `Error`, `Error line` | Integer | [`ON ERR CALL`](../commands-legacy/on-err-call.md) コマンドによって実装されるエラー処理メソッド内で使用されます。 [メソッド内でのエラー処理](../Concepts/error-handling.md#メソッド内でのエラー処理)参照。 |
+| `Error method`, `Error formula` | Text | [`ON ERR CALL`](../commands-legacy/on-err-call.md) コマンドによって実装されるエラー処理メソッド内で使用されます。 [メソッド内でのエラー処理](../Concepts/error-handling.md#メソッド内でのエラー処理)参照。 |
+| `MouseDown` | Integer | [`ON EVENT CALL`](../commands-legacy/on-event-call.md) コマンドによって実装されるエラー処理メソッド内で使用されます。 マウスボタンが押されたときに 1 が、それ以外の場合は 0 に設定されます。 |
+| `MouseX`, `MouseY` | Integer | [`ON EVENT CALL`](../commands-legacy/on-event-call.md) コマンドによって実装されるエラー処理メソッド内で使用されます。 `MouseDown=1` イベントの時、`MouseX` と `MouseY` にはクリックされた場所の水平 / 垂直座標がそれぞれ代入されます。 両方の値ともピクセル単位で表わされ、ウィンドウのローカルな座標システムを使用します。 ピクチャーフィールドや変数の場合は、[`On Clicked`](../Events/onClicked.md) や [`On Double Clicked`](../Events/onDoubleClicked.md)、および [`On Mouse Up`](../Events/onMouseUp.md) フォームイベント内で、クリックのローカル座標が `MouseX` と `MouseY` に返されます。 また、[`On Mouse Enter`](../Events/onMouseEnter.md) および [`On Mouse Move`](../Events/onMouseMove.md) フォームイベントでもマウスカーソルのローカル座標が返されます。 詳細については、[ピクチャー上のマウス座標](../FormEditor/pictures.md#ピクチャー上のマウス座標) を参照ください。 |
+| `KeyCode` | Integer | [`ON EVENT CALL`](../commands-legacy/on-event-call.md) コマンドによって実装されるエラー処理メソッド内で使用されます。 押されたキーの文字コードが代入されます。 押されたキーがファンクションキーの場合、`KeyCode` には特殊コードがセットされます。 |
+| `Modifiers` | Integer | [`ON EVENT CALL`](../commands-legacy/on-event-call.md) コマンドによって実装されるエラー処理メソッド内で使用されます。 キーボードのモディファイアキーの値を格納します (Ctrl/Command、Alt/Option、Shift、Caps Lock)。 |
+| `MouseProc` | Integer | [`ON EVENT CALL`](../commands-legacy/on-event-call.md) コマンドによって実装されるエラー処理メソッド内で使用されます。 最後のイベントが発生したプロセス番号を格納します。 |
:::note
diff --git a/i18n/ja/docusaurus-plugin-content-docs/version-21/ORDA/glossary.md b/i18n/ja/docusaurus-plugin-content-docs/version-21/ORDA/glossary.md
index ce31a26ca023c4..bb8df81f97df04 100644
--- a/i18n/ja/docusaurus-plugin-content-docs/version-21/ORDA/glossary.md
+++ b/i18n/ja/docusaurus-plugin-content-docs/version-21/ORDA/glossary.md
@@ -105,7 +105,7 @@ ORDA データモデルクラスの関数。
## 汎用クラス
-エンティティやデータクラスなどの ORDA オブジェクト用のビルトインクラス。 エンティティやデータクラスなどの ORDA オブジェクト用のビルトインクラス。 汎用クラスのプロパティや関数は、ユーザー拡張クラス (例: `EmployeeEntity`) において自動で利用可能です。
+エンティティやデータクラスなどの ORDA オブジェクト用のビルトインクラス。 汎用クラスのプロパティや関数は、ユーザー拡張クラス (例: `EmployeeEntity`) において自動で利用可能です。
## レイジーローディング
@@ -119,7 +119,7 @@ ORDA データモデルクラスの関数。
データストア、データクラス、エンティティセレクション、エンティティなどの ORDA オブジェクトは、オブジェクトのクラスを定義します。 これらのクラスには、オブジェクトを直接操作するための専用のメソッドが提供されています。 これらのメソッドはメンバー関数とも呼ばれます。 このメソッドを使用するには、オブジェクトのインスタンスに対して呼び出します。
-たとえば、`query()` メソッドはデータクラスのメンバー関数です。 たとえば、`query()` メソッドはデータクラスのメンバー関数です。 たとえば、`query()` メソッドはデータクラスのメンバー関数です。 `$myClass` 変数にデータクラスオブジェクトを格納している場合、次のように書くことができます: たとえば、`query()` メソッドはデータクラスのメンバー関数です。 たとえば、`query()` メソッドはデータクラスのメンバー関数です。 `$myClass` 変数にデータクラスオブジェクトを格納している場合、次のように書くことができます: たとえば、`query()` メソッドはデータクラスのメンバー関数です。 たとえば、`query()` メソッドはデータクラスのメンバー関数です。 `$myClass` 変数にデータクラスオブジェクトを格納している場合、次のように書くことができます: たとえば、`query()` メソッドはデータクラスのメンバー関数です。 たとえば、`query()` メソッドはデータクラスのメンバー関数です。 `$myClass` 変数にデータクラスオブジェクトを格納している場合、次のように書くことができます: たとえば、`query()` メソッドはデータクラスのメンバー関数です。 たとえば、`query()` メソッドはデータクラスのメンバー関数です。 `$myClass` 変数にデータクラスオブジェクトを格納している場合、次のように書くことができます: たとえば、`query()` メソッドはデータクラスのメンバー関数です。 たとえば、`query()` メソッドはデータクラスのメンバー関数です。 `$myClass` 変数にデータクラスオブジェクトを格納している場合、次のように書くことができます:
+たとえば、`query()` メソッドはデータクラスのメンバー関数です。 `$myClass` 変数にデータクラスオブジェクトを格納している場合、次のように書くことができます:
```code4d
$myClass.query("name = smith")
@@ -150,7 +150,7 @@ $myClass.query("name = smith")
## 権限
-The ability to run one or more [actions](#action) on [resources](#resource). ビジネスロジックに応じて、複数の権限を [ロール](#ロール) としてまとめることができます。
+[リソース](#リソース) に対する実行が許可された [アクション](#アクション) の範囲のことです。 ビジネスロジックに応じて、複数の権限を [ロール](#ロール) としてまとめることができます。
## プロパティ
diff --git a/i18n/ja/docusaurus-plugin-content-docs/version-21/ORDA/orda-events.md b/i18n/ja/docusaurus-plugin-content-docs/version-21/ORDA/orda-events.md
index ea892330827279..1dbf369a2ddef6 100644
--- a/i18n/ja/docusaurus-plugin-content-docs/version-21/ORDA/orda-events.md
+++ b/i18n/ja/docusaurus-plugin-content-docs/version-21/ORDA/orda-events.md
@@ -1,20 +1,20 @@
---
id: orda-events
-title: Entity Events
+title: エンティティイベント
---
履歴
-| リリース | 内容 |
-| ------ | ----------------------------------------------------------------------------------------------------- |
-| 21 | Added events: validateSave / saving / afterSave / validateDrop / dropping / afterDrop |
-| 20 R10 | touched event added |
+| リリース | 内容 |
+| ------ | -------------------------------------------------------------------------------------------------- |
+| 21 | 追加されたイベント: validateSave / saving / afterSave / validateDrop / dropping / afterDrop |
+| 20 R10 | touched イベント追加 |
-Entity events are functions that are automatically invoked by ORDA each time entities and entity attributes are manipulated (added, deleted, or modified). You can write very simple events, and then make them more sophisticated.
+エンティティイベントとは、エンティティやエンティティ属性が操作(追加、削除、変更)されるたびに ORDA によって自動的に呼び出される関数です。 シンプルなイベントを書き、それをより洗練されたものに変えていくことができます。
-You cannot directly trigger event function execution. Events are called automatically by ORDA based on user actions or operations performed through code on entities and their attributes.
+イベント関数の実行は直接トリガーすることはできません。 イベントは、ユーザーアクションや、エンティティまたはその属性に対するコードを通して実行された操作に基づいて、ORDA によって自動的に呼び出されます。
:::tip Related blog post
@@ -22,93 +22,93 @@ You cannot directly trigger event function execution. Events are called automati
:::
-:::info note Compatibility note
+:::info 互換性に関する注意
-ORDA entity events in the datastore are equivalent to triggers in the 4D database. However, actions triggered at the 4D database level using the 4D classic language commands or standard actions do not trigger ORDA events.
+データストアにおける ORDA エンティティイベントは、4D データベースにおけるトリガに相当します。 しかしながら、4D クラシックランゲージコマンドを使用して 4D データベースレベルでトリガーされたアクション、あるいは標準アクションは、ORDA イベントをトリガーしません。 また、トリガとは異なり、ORDA エンティティイベントはエンティティを保存または削除する際に、データクラスの元となるテーブル全体をロックしないことに注意して下さい。 個別のエンティティ(つまりレコード)に起因している限りは、複数のイベントが同時に実行されることが可能です。
:::
## 概要
-### Event level
+### イベントレベル
-A event function is always defined in the [Entity class](../ORDA/ordaClasses.md#entity-class).
+イベント関数は必ず[Entity クラス](../ORDA/ordaClasses.md#エンティティクラス) 内で定義されます。
-It can be set at the **entity** level and/or the **attribute** level (it includes [**computed attributes**](../ORDA/ordaClasses.md#computed-attributes)). In the first case, it will be triggered for any attributes of the entity; on the other case, it will only be triggered for the targeted attribute.
+イベントは **エンティティ** レベルまたは **属性** レベルで設定することができます(属性には [**計算属性**](../ORDA/ordaClasses.md#計算属性) も含まれます)。 前者の場合、エンティティのあらゆる属性でイベントがトリガーされます。それ以外の場合、イベントは対象となる属性に対してのみトリガーされます。
-For the same event, you can define different functions for different attributes.
+同じイベントに対して、異なる属性に対して異なる関数を定義することができます。
-You can also define the same event at both attribute and entity levels. The attribute event is called first and then the entity event.
+また同じイベントを属性レベルとエンティティレベルの両方で定義することも可能です。 その場合、属性イベントが先に呼ばれ、その後にエンティティイベントが呼ばれます。
-### Execution in remote configurations
+### リモート構成における実行
-Usually, ORDA events are executed on the server.
+一般的に、ORDA イベントはサーバー上で実行されます。
-In client/server configuration however, the `touched()` event function can be executed on the **server or the client**, depending on the use of [`local`](./ordaClasses.md#local-functions) keyword. A specific implementation on the client side allows the triggering of the event on the client.
+しかしながらクライアント/サーバー構成においては、[`local`](./ordaClasses.md#local-functions) キーワードの使用によっては、`touched()` イベント関数を**サーバーまたはクライアント**で実行することが可能です。 クライアント側で特定の実装をすることにより、イベントをクライアント上でトリガーすることができるようになります。
:::note
-ORDA [`constructor()`](./ordaClasses.md#class-constructor) functions are always executed on the client.
+ORDA [`constructor()`](./ordaClasses.md#class-constructor) 関数は必ずクライアント上で実行されます。
:::
-With other remote configurations (i.e. [Qodly applications](https://developer.4d.com/qodly), [REST API requests](../REST/REST_requests.md), or requests through [`Open datastore`](../commands/open-datastore.md)), the `touched()` event function is always executed **server-side**. It means that you have to make sure the server can "see" that an attribute has been touched to trigger the event (see below).
+他のリモート構成(例: [Qodly アプリケーション](https://developer.4d.com/qodly)、[REST API リクエスト](../REST/REST_requests.md)、あるいは[`Open datastore`](../commands/open-datastore.md) を通したリクエスト)においては、イベント関数は必ず**サーバー側**で実行されます。 これはつまりイベントをトリガーするためには、属性がタッチされたことがサーバーから"見える"ようにしておくようにしなければならいことを意味します(以下参照)。
-### Summary table
+### 概要表
-The following table lists ORDA events along with their rules.
+以下の表は、ORDA イベントの一覧とそのルールをまとめたものです。
-| イベント | レベル | Function name | (C/S) Executed on | Can stop action by returning an error |
-| :------------------------ | :----- | :------------------------------------------------------ | :------------------------------------------------------------------: | ------------------------------------- |
-| Entity instantiation | Entity | [`constructor()`](./ordaClasses.md#class-constructor-1) | client | × |
-| Attribute touched | 属性 | `event touched ()` | Depends on [`local`](../ORDA/ordaClasses.md#local-functions) keyword | × |
-| | Entity | `event touched()` | Depends on [`local`](../ORDA/ordaClasses.md#local-functions) keyword | × |
-| Before saving an entity | 属性 | `validateSave ()` | server | ◯ |
-| | Entity | `validateSave()` | server | ◯ |
-| When saving an entity | 属性 | `saving ()` | server | ◯ |
-| | Entity | `saving()` | server | ◯ |
-| After saving an entity | Entity | `afterSave()` | server | × |
-| Before dropping an entity | 属性 | `validateDrop ()` | server | ◯ |
-| | Entity | `validateDrop()` | server | ◯ |
-| When dropping an entity | 属性 | `dropping ()` | server | ◯ |
-| | Entity | `dropping()` | server | ◯ |
-| After dropping an entity | Entity | `afterDrop()` | server | × |
+| イベント | レベル | 関数名 | (C/S の場合) 実行される場所 | エラーを返すことでアクションを停止できる |
+| :------------------------------------ | :----- | :------------------------------------------------------ | :--------------------------------------------------------: | -------------------- |
+| エンティティのインスタンス化 | Entity | [`constructor()`](./ordaClasses.md#class-constructor-1) | client | × |
+| 属性がタッチされた | 属性 | `event touched ()` | [`local`](../ORDA/ordaClasses.md#local-functions) キーワードによる | × |
+| | Entity | `event touched()` | [`local`](../ORDA/ordaClasses.md#local-functions) キーワードによる | × |
+| エンティティを保存する前 | 属性 | `validateSave ()` | server | ◯ |
+| | Entity | `validateSave()` | server | ◯ |
+| エンティティの保存時 | 属性 | `saving ()` | server | ◯ |
+| | Entity | `saving()` | server | ◯ |
+| エンティティを保存した後 | Entity | `afterSave()` | server | × |
+| エンティティをドロップ(削除)する前 | 属性 | `validateDrop ()` | server | ◯ |
+| | Entity | `validateDrop()` | server | ◯ |
+| エンティティのドロップ(削除)時 | 属性 | `dropping ()` | server | ◯ |
+| | Entity | `dropping()` | server | ◯ |
+| エンティティをドロップした後 | Entity | `afterDrop()` | server | × |
:::note
-The [`constructor()`](./ordaClasses.md#class-constructor-1) function is not actually an event function but is always called when a new entity is instantiated.
+[`constructor()`](./ordaClasses.md#class-constructor-1) 関数は実際にはイベント関数ではありませんが、エンティティがインスタンス化される際に必ず呼び出されます。
:::
-## *event* parameter
+## *event* 引数
-Event functions accept a single *event* object as parameter. When the function is called, the parameter is filled with several properties:
+イベント関数は、単一の *event* オブジェクトを引数として受け取ります。 関数が呼び出されると、引数には複数のプロパティに値が入れられます:
-| プロパティ名 | 利用可能性 | 型 | 説明 | |
-| :------------------ | :----------------------------------------------------------------------------------------------------------------------- | :------------------- | :-------------------------------------------------------------------------------------------------------------------- | - |
-| "kind" | Always | 文字列 | Event name: "touched", "validateSave", "saving", "afterSave", "validateDrop", "dropping", "afterDrop" | |
-| *attributeName* | Only for events implemented at attribute level ("validateSave", "saving", "validateDrop", "dropping") | 文字列 | Attribute name (*e.g.* "firstname") | |
-| *dataClassName* | Always | 文字列 | Dataclass name (*e.g.* "Company") | |
-| "savedAttributes" | Only in [`afterSave()`](#function-event-aftersave) | Collection of String | Names of attributes properly saved | |
-| "droppedAttributes" | Only in [`afterDrop()`](#function-event-afterdrop) | Collection of String | Names of attributes properly dropped | |
-| "saveStatus" | Only in [`afterSave()`](#function-event-aftersave) | 文字列 | "success" if the save was successful, "failed" otherwise | |
-| "dropStatus" | Only in [`afterDrop()`](#function-event-afterdrop) | 文字列 | "success" if the drop was successful, "failed" otherwise | |
+| プロパティ名 | 利用可能性 | 型 | 説明 | |
+| :------------------ | :-------------------------------------------------------------------------------------------- | :--------- | :--------------------------------------------------------------------------------------------------------- | - |
+| "kind" | 常に | 文字列 | イベント名: "touched"、"validateSave"、"saving"、"afterSave"、"validateDrop"、"dropping"、"afterDrop" | |
+| *attributeName* | 属性レベルで実装されているイベントに対してのみ("validateSave"、"saving"、"validateDrop"、"dropping") | 文字列 | 属性名 (*例* "firstname") | |
+| *dataClassName* | 常に | 文字列 | データクラス名 (*例* "Company") | |
+| "savedAttributes" | [`afterSave()`](#function-event-aftersave) でのみ | 文字列のコレクション | 正常に保存された属性名 | |
+| "droppedAttributes" | [`afterDrop()`](#function-event-afterdrop) でのみ | 文字列のコレクション | 正常にドロップ(削除)された属性名 | |
+| "saveStatus" | [`afterSave()`](#function-event-aftersave) でのみ | 文字列 | 保存が正常であれば "success"、それ以外の場合には "failed" | |
+| "dropStatus" | [`afterDrop()`](#function-event-afterdrop) でのみ | 文字列 | ドロップ(削除)が正常であれば "success"、それ以外の場合には "failed" | |
-## Error object
+## エラーオブジェクト
-[Some event functions](#summary-table) can return an **error object** to raise an error and stop the running action.
+[一部のイベント関数](#概要表) は **エラーオブジェクト** を返すことでエラーを生成し実行中のアクションを停止することができます。
-When an error occurs in an event, the other events are stopped at the first raised error and the action (save or drop) is also stopped. This error is sent before other potential errors like [stamp has changed, entity locked](../API/EntityClass.md#save), etc.
+イベント中にエラーが発生した場合、他のイベントも最初にエラーが生成された時点で停止し、アクション(保存やドロップ)も停止します。 このエラーは[スタンプが変更された、エンティティがロックされていた](../API/EntityClass.md#save) などの潜在的なエラーの前に送信されます。
-### Error object properties
+### エラーオブジェクトのプロパティ
-| プロパティ | 型 | 説明 | Set by the developer |
-| ------------------ | ------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------- |
-| errCode | Integer | Same as for [`Last errors`](../commands/last-errors.md) command | ◯ |
-| message | Text | Same as for [`Last errors`](../commands/last-errors.md) command | ◯ |
-| extraDescription | Object | Free information to set up | ◯ |
-| seriousError | Boolean | Used only with validate events (see below). `True`: creates a [serious (unpredictable) error](../Concepts/error-handling.md#predictable-vs-unpredictable-errors) and triggers an exception. Adds the `dk status serious validation error` status`False`: creates only a [silent (predictable) error](../Concepts/error-handling.md#predictable-vs-unpredictable-errors). Adds the `dk status validation failed` status | Yes (default is false) |
-| componentSignature | Text | Always "DBEV" | × |
+| プロパティ | 型 | 説明 | 開発者によって設定 |
+| ------------------ | ------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------- |
+| errCode | Integer | [`Last errors`](../commands/last-errors.md) コマンドと同じ | ◯ |
+| message | Text | [`Last errors`](../commands/last-errors.md) コマンドと同じ | ◯ |
+| extraDescription | Object | 自由に設定可能な情報 | ◯ |
+| seriousError | Boolean | validate イベントでのみ使用されます(以下参照)。 `True`: [深刻(予測不能)なエラー](../Concepts/error-handling.md#予測可能なエラーvs予測不能なエラー) を作成し、例外をトリガーします。 `dk status serious validation error` ステータスを追加します`False`: creates only a [静か(予測可能) なエラー](../Concepts/error-handling.md#予測可能なエラーvs予測不可なエラー) のみを作成します。 `dk status validation failed` ステータスを追加します | 可能(デフォルトはfalse) |
+| componentSignature | Text | 常に "DBEV" | × |
- [Serious errors](../Concepts/error-handling.md#predictable-vs-unpredictable-errors) are stacked in the `errors` collection property of the **Result object** returned by the [`save()`](../API/EntityClass.md#save) or [`drop()`](../API/EntityClass.md#drop) functions.
- In case of an error triggered by a **validate** event, the `seriousError` property allows you to choose the level of the error to generate:
@@ -420,7 +420,9 @@ If (This.userManualPath#"")
// The user manual document file is created on the disk
// This may fail if no more space is available
Try
- $fileCreated:=$userManualFile.create()
+ // The file content has been generated and stored in a map in Storage.docMap previously
+ $docInfo:=Storage.docMap.query("name = :1"; This.name).first()
+ $userManualFile.setContent($docInfo.content)
Catch
// No more room on disk for example
$result:={/
@@ -434,6 +436,12 @@ return $result
```
+:::note
+
+The content of the file is generated outside the `saving` event because it can be time consuming.
+
+:::
+
### `Function event afterSave`
#### シンタックス
diff --git a/i18n/pt/docusaurus-plugin-content-docs/current/Concepts/variables.md b/i18n/pt/docusaurus-plugin-content-docs/current/Concepts/variables.md
index 9ffc9beea3d801..cf29a5c758909a 100644
--- a/i18n/pt/docusaurus-plugin-content-docs/current/Concepts/variables.md
+++ b/i18n/pt/docusaurus-plugin-content-docs/current/Concepts/variables.md
@@ -250,17 +250,18 @@ A linguagem 4D gerencia diversas **variáveis sistema**, que permitem controlar
As variáveis do sistema são usadas pelos [comandos 4D](../commands/command-index.md). Refer to the "System variables and sets" paragraph in the description of a command to find out whether it affects a system variable.
-| Nome da variável sistema | Tipo | Descrição |
-| ------------------------------------------------------ | ------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
-| `OK` | Integer | Geralmente definido como 1 após um comando ter exibido uma caixa de diálogo e o usuário clicou no botão **OK** e em 0 se eles clicarem em **Cancelar**. Some commands also modify the value of the `OK` system variable when a operation is successfully executed. |
-| `Document` | Text | Contém o "nome longo" (caminho completo) do último arquivo aberto ou criado usando comandos como [Documento aberto](../commands-legacy/open-document.md) ou [ARQUIVO ARQUIVO](../commands/select-log-file.md). |
-| `FldDelimit`, `RecDelimit` | Text | Contém os códigos de caracteres que serão usados respectivamente como um separador de campos (padrão é Tab (9)) e o separador de registros (padrão é retorno do carro (13)) quando importar ou exportar texto. Para usar um separador diferente, atribua um novo valor à variável do sistema. |
-| `Error`, `Error method`, `Error line`, `Error formula` | Text, Longint | Usado em um método de captura de erro instalado pelo comando [`ON ERR CALL`](../commands-legacy/on-err-call.md). Veja [Tratamento de erros no método](../Concepts/error-handling.md#handling-errors-within-the-method). |
-| `MouseDown` | Integer | Usado em um método instalado pelo comando [`ON EVENT CALL`](../commands-legacy/on-event-call.md). Definir como 1 quando o botão do mouse for pressionado, caso contrário será definido como 0. |
-| `MouseX`, `MouseY` | Integer | Usado em um método instalado pelo comando [`ON EVENT CALL`](../commands-legacy/on-event-call.md). Em um evento `MouseDown=1`, `MouseX` e `MouseY` são respectivamente definidos como coordenadas verticais e horizontais do clique. Ambos os valores são expressos em píxeis e usam o sistema local de coordenadas da janela. No caso de um campo ou de uma variável de imagem, `MouseX` e `MouseY` retornam as coordenadas locais de um mouse clique nos eventos formulário [`On Clicked`](../Events/onClicked.md), [`On Double Clicked`](../Events/onDoubleClicked.md) e [`On Mouse Up`](../Events/onMouseUp.md). As coordenadas locais do cursor do mouse também são retornadas nos eventos formulário [`On Mouse Enter`](../Events/onMouseEnter.md) e [`On Mouse Move`](../Events/onMouseMove.md). Para obter mais informações, consulte as [Coordenadas de Mouse em uma imagem](../FormEditor/pictures.md#mouse-coordinates-in-a-picture). |
-| `KeyCode` | Integer | Usado em um método instalado pelo comando [`ON EVENT CALL`](../commands-legacy/on-event-call.md). Definido como o código de caractere da tecla que acabou de ser pressionada. Se a chave for uma chave de função, `KeyCode` é definido como um código especial. |
-| `Modifiers` | Integer | Usado em um método instalado pelo comando [`ON EVENT CALL`](../commands-legacy/on-event-call.md). Definir para as teclas modificadoras do teclado (Ctrl/Comando, Alt/Option, Shift, Caps Lock). |
-| `MouseProc` | Integer | Usado em um método instalado pelo comando [`ON EVENT CALL`](../commands-legacy/on-event-call.md). Defina o número do processo em que o último evento teve lugar |
+| Nome da variável sistema | Tipo | Descrição |
+| ------------------------------- | ------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| `OK` | Integer | Geralmente definido como 1 após um comando ter exibido uma caixa de diálogo e o usuário clicou no botão **OK** e em 0 se eles clicarem em **Cancelar**. Some commands also modify the value of the `OK` system variable when a operation is successfully executed. |
+| `Document` | Text | Contém o "nome longo" (caminho completo) do último arquivo aberto ou criado usando comandos como [Documento aberto](../commands-legacy/open-document.md) ou [ARQUIVO ARQUIVO](../commands/select-log-file.md). |
+| `FldDelimit`, `RecDelimit` | Integer | Contém os códigos de caracteres que serão usados respectivamente como um separador de campos (padrão é Tab (9)) e o separador de registros (padrão é retorno do carro (13)) quando importar ou exportar texto. Para usar um separador diferente, atribua um novo valor à variável do sistema. |
+| `Error`, `Error line` | Integer | Usado em um método de captura de erro instalado pelo comando [`ON ERR CALL`](../commands-legacy/on-err-call.md). Veja [Tratamento de erros no método](../Concepts/error-handling.md#handling-errors-within-the-method). |
+| `Error method`, `Error formula` | Text | Usado em um método de captura de erro instalado pelo comando [`ON ERR CALL`](../commands-legacy/on-err-call.md). Veja [Tratamento de erros no método](../Concepts/error-handling.md#handling-errors-within-the-method). |
+| `MouseDown` | Integer | Usado em um método instalado pelo comando [`ON EVENT CALL`](../commands-legacy/on-event-call.md). Definir como 1 quando o botão do mouse for pressionado, caso contrário será definido como 0. |
+| `MouseX`, `MouseY` | Integer | Usado em um método instalado pelo comando [`ON EVENT CALL`](../commands-legacy/on-event-call.md). Em um evento `MouseDown=1`, `MouseX` e `MouseY` são respectivamente definidos como coordenadas verticais e horizontais do clique. Ambos os valores são expressos em píxeis e usam o sistema local de coordenadas da janela. No caso de um campo ou de uma variável de imagem, `MouseX` e `MouseY` retornam as coordenadas locais de um mouse clique nos eventos formulário [`On Clicked`](../Events/onClicked.md), [`On Double Clicked`](../Events/onDoubleClicked.md) e [`On Mouse Up`](../Events/onMouseUp.md). As coordenadas locais do cursor do mouse também são retornadas nos eventos formulário [`On Mouse Enter`](../Events/onMouseEnter.md) e [`On Mouse Move`](../Events/onMouseMove.md). Para obter mais informações, consulte as [Coordenadas de Mouse em uma imagem](../FormEditor/pictures.md#mouse-coordinates-in-a-picture). |
+| `KeyCode` | Integer | Usado em um método instalado pelo comando [`ON EVENT CALL`](../commands-legacy/on-event-call.md). Definido como o código de caractere da tecla que acabou de ser pressionada. Se a chave for uma chave de função, `KeyCode` é definido como um código especial. |
+| `Modifiers` | Integer | Usado em um método instalado pelo comando [`ON EVENT CALL`](../commands-legacy/on-event-call.md). Definir para as teclas modificadoras do teclado (Ctrl/Comando, Alt/Option, Shift, Caps Lock). |
+| `MouseProc` | Integer | Usado em um método instalado pelo comando [`ON EVENT CALL`](../commands-legacy/on-event-call.md). Defina o número do processo em que o último evento teve lugar |
:::note
diff --git a/i18n/pt/docusaurus-plugin-content-docs/current/ORDA/orda-events.md b/i18n/pt/docusaurus-plugin-content-docs/current/ORDA/orda-events.md
index d95347972ed07a..05cea3c51f7f7a 100644
--- a/i18n/pt/docusaurus-plugin-content-docs/current/ORDA/orda-events.md
+++ b/i18n/pt/docusaurus-plugin-content-docs/current/ORDA/orda-events.md
@@ -24,7 +24,7 @@ You cannot directly trigger event function execution. Events are called automati
:::info Compatibility note
-ORDA entity events in the datastore are equivalent to triggers in the 4D database. However, actions triggered at the 4D database level using the 4D classic language commands or standard actions do not trigger ORDA events.
+ORDA entity events in the datastore are equivalent to triggers in the 4D database. However, actions triggered at the 4D database level using the 4D classic language commands or standard actions do not trigger ORDA events. Note also that, unlike triggers, ORDA entity events do not lock the entire underlying table of a dataclass while saving or dropping entities. Several events can run in parallel as long as they involve distinct entities (i.e. records).
:::
@@ -420,7 +420,9 @@ If (This.userManualPath#"")
// The user manual document file is created on the disk
// This may fail if no more space is available
Try
- $fileCreated:=$userManualFile.create()
+ // The file content has been generated and stored in a map in Storage.docMap previously
+ $docInfo:=Storage.docMap.query("name = :1"; This.name).first()
+ $userManualFile.setContent($docInfo.content)
Catch
// No more room on disk for example
$result:={/
@@ -434,6 +436,12 @@ return $result
```
+:::note
+
+The content of the file is generated outside the `saving` event because it can be time consuming.
+
+:::
+
### `Function event afterSave`
#### Sintaxe
diff --git a/i18n/pt/docusaurus-plugin-content-docs/version-19/Concepts/variables.md b/i18n/pt/docusaurus-plugin-content-docs/version-19/Concepts/variables.md
index 3057d13df9e4d7..13e51bc07d2058 100644
--- a/i18n/pt/docusaurus-plugin-content-docs/version-19/Concepts/variables.md
+++ b/i18n/pt/docusaurus-plugin-content-docs/version-19/Concepts/variables.md
@@ -243,7 +243,7 @@ As variáveis sistema são usadas pelos comandos 4D. Refer to the "System variab
| ------------------------------------------------------ | ------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `OK` | Integer | Geralmente definido como 1 após um comando ter exibido uma caixa de diálogo e o usuário clicou no botão **OK**, e 0 se eles clicarem em **Cancelar**. Alguns comandos também modificam o valor da variável sistema `OK` quando uma operação é executada com sucesso. |
| `Document` | Text | Contém o "nome longo" (caminho completo+nome) do último arquivo aberto ou criado usando comandos como [Open document](https://doc.4d.com/4dv20/help/command/en/page264.html) ou [SELECT LOG FILE](https://doc.4d.com/4dv20/help/command/en/page345.html). |
-| `FldDelimit`, `RecDelimit` | Text | Contém os códigos de caracteres que serão usados respectivamente como um separador de campos (padrão é **Tab** (9)) e o separador de registros (padrão é **retorno do carro** (13)) quando importar ou exportar texto. Para usar um separador diferente, atribua um novo valor à variável do sistema. |
+| `FldDelimit`, `RecDelimit` | Integer | Contém os códigos de caracteres que serão usados respectivamente como um separador de campos (padrão é **Tab** (9)) e o separador de registros (padrão é **retorno do carro** (13)) quando importar ou exportar texto. Para usar um separador diferente, atribua um novo valor à variável do sistema. |
| `Error`, `Error method`, `Error line`, `Error formula` | Text, Longint | Usado em um método de captura de erro instalado pelo comando [`ON ERR CALL`](https://doc.4d.com/4dv20/help/command/en/page155.html). Veja [Tratamento de erros no método](../Concepts/error-handling.md#handling-errors-within-the-method). |
| `MouseDown` | Integer | Usado em um método instalado pelo comando [`ON EVENT CALL`](https://doc.4d.com/4dv20/help/command/en/page190.html). Definir como 1 quando o botão do mouse for pressionado, caso contrário será definido como 0. |
| `MouseX`, `MouseY` | Integer | Usado em um método instalado pelo comando [`ON EVENT CALL`](https://doc.4d.com/4dv20/help/command/en/page190.html). Em um evento `MouseDown=1`, `MouseX` e `MouseY` são respectivamente definidos como coordenadas verticais e horizontais do clique. Ambos os valores são expressos em píxeis e usam o sistema local de coordenadas da janela. No caso de um campo ou de uma variável de imagem, `MouseX` e `MouseY` retornam as coordenadas locais de um mouse clique nos eventos formulário [`On Clicked`](../Events/onClicked.md), [`On Double Clicked`](../Events/onDoubleClicked.md) e [`On Mouse Up`](../Events/onMouseUp.md). As coordenadas locais do cursor do mouse também são retornadas nos eventos formulário [`On Mouse Enter`](../Events/onMouseEnter.md) e [`On Mouse Move`](../Events/onMouseMove.md). Para obter mais informações, consulte as [Coordenadas de Mouse em uma imagem](../FormEditor/pictures.md#mouse-coordinates-in-a-picture). |
diff --git a/i18n/pt/docusaurus-plugin-content-docs/version-20-R10/Concepts/variables.md b/i18n/pt/docusaurus-plugin-content-docs/version-20-R10/Concepts/variables.md
index 9ffc9beea3d801..cf29a5c758909a 100644
--- a/i18n/pt/docusaurus-plugin-content-docs/version-20-R10/Concepts/variables.md
+++ b/i18n/pt/docusaurus-plugin-content-docs/version-20-R10/Concepts/variables.md
@@ -250,17 +250,18 @@ A linguagem 4D gerencia diversas **variáveis sistema**, que permitem controlar
As variáveis do sistema são usadas pelos [comandos 4D](../commands/command-index.md). Refer to the "System variables and sets" paragraph in the description of a command to find out whether it affects a system variable.
-| Nome da variável sistema | Tipo | Descrição |
-| ------------------------------------------------------ | ------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
-| `OK` | Integer | Geralmente definido como 1 após um comando ter exibido uma caixa de diálogo e o usuário clicou no botão **OK** e em 0 se eles clicarem em **Cancelar**. Some commands also modify the value of the `OK` system variable when a operation is successfully executed. |
-| `Document` | Text | Contém o "nome longo" (caminho completo) do último arquivo aberto ou criado usando comandos como [Documento aberto](../commands-legacy/open-document.md) ou [ARQUIVO ARQUIVO](../commands/select-log-file.md). |
-| `FldDelimit`, `RecDelimit` | Text | Contém os códigos de caracteres que serão usados respectivamente como um separador de campos (padrão é Tab (9)) e o separador de registros (padrão é retorno do carro (13)) quando importar ou exportar texto. Para usar um separador diferente, atribua um novo valor à variável do sistema. |
-| `Error`, `Error method`, `Error line`, `Error formula` | Text, Longint | Usado em um método de captura de erro instalado pelo comando [`ON ERR CALL`](../commands-legacy/on-err-call.md). Veja [Tratamento de erros no método](../Concepts/error-handling.md#handling-errors-within-the-method). |
-| `MouseDown` | Integer | Usado em um método instalado pelo comando [`ON EVENT CALL`](../commands-legacy/on-event-call.md). Definir como 1 quando o botão do mouse for pressionado, caso contrário será definido como 0. |
-| `MouseX`, `MouseY` | Integer | Usado em um método instalado pelo comando [`ON EVENT CALL`](../commands-legacy/on-event-call.md). Em um evento `MouseDown=1`, `MouseX` e `MouseY` são respectivamente definidos como coordenadas verticais e horizontais do clique. Ambos os valores são expressos em píxeis e usam o sistema local de coordenadas da janela. No caso de um campo ou de uma variável de imagem, `MouseX` e `MouseY` retornam as coordenadas locais de um mouse clique nos eventos formulário [`On Clicked`](../Events/onClicked.md), [`On Double Clicked`](../Events/onDoubleClicked.md) e [`On Mouse Up`](../Events/onMouseUp.md). As coordenadas locais do cursor do mouse também são retornadas nos eventos formulário [`On Mouse Enter`](../Events/onMouseEnter.md) e [`On Mouse Move`](../Events/onMouseMove.md). Para obter mais informações, consulte as [Coordenadas de Mouse em uma imagem](../FormEditor/pictures.md#mouse-coordinates-in-a-picture). |
-| `KeyCode` | Integer | Usado em um método instalado pelo comando [`ON EVENT CALL`](../commands-legacy/on-event-call.md). Definido como o código de caractere da tecla que acabou de ser pressionada. Se a chave for uma chave de função, `KeyCode` é definido como um código especial. |
-| `Modifiers` | Integer | Usado em um método instalado pelo comando [`ON EVENT CALL`](../commands-legacy/on-event-call.md). Definir para as teclas modificadoras do teclado (Ctrl/Comando, Alt/Option, Shift, Caps Lock). |
-| `MouseProc` | Integer | Usado em um método instalado pelo comando [`ON EVENT CALL`](../commands-legacy/on-event-call.md). Defina o número do processo em que o último evento teve lugar |
+| Nome da variável sistema | Tipo | Descrição |
+| ------------------------------- | ------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| `OK` | Integer | Geralmente definido como 1 após um comando ter exibido uma caixa de diálogo e o usuário clicou no botão **OK** e em 0 se eles clicarem em **Cancelar**. Some commands also modify the value of the `OK` system variable when a operation is successfully executed. |
+| `Document` | Text | Contém o "nome longo" (caminho completo) do último arquivo aberto ou criado usando comandos como [Documento aberto](../commands-legacy/open-document.md) ou [ARQUIVO ARQUIVO](../commands/select-log-file.md). |
+| `FldDelimit`, `RecDelimit` | Integer | Contém os códigos de caracteres que serão usados respectivamente como um separador de campos (padrão é Tab (9)) e o separador de registros (padrão é retorno do carro (13)) quando importar ou exportar texto. Para usar um separador diferente, atribua um novo valor à variável do sistema. |
+| `Error`, `Error line` | Integer | Usado em um método de captura de erro instalado pelo comando [`ON ERR CALL`](../commands-legacy/on-err-call.md). Veja [Tratamento de erros no método](../Concepts/error-handling.md#handling-errors-within-the-method). |
+| `Error method`, `Error formula` | Text | Usado em um método de captura de erro instalado pelo comando [`ON ERR CALL`](../commands-legacy/on-err-call.md). Veja [Tratamento de erros no método](../Concepts/error-handling.md#handling-errors-within-the-method). |
+| `MouseDown` | Integer | Usado em um método instalado pelo comando [`ON EVENT CALL`](../commands-legacy/on-event-call.md). Definir como 1 quando o botão do mouse for pressionado, caso contrário será definido como 0. |
+| `MouseX`, `MouseY` | Integer | Usado em um método instalado pelo comando [`ON EVENT CALL`](../commands-legacy/on-event-call.md). Em um evento `MouseDown=1`, `MouseX` e `MouseY` são respectivamente definidos como coordenadas verticais e horizontais do clique. Ambos os valores são expressos em píxeis e usam o sistema local de coordenadas da janela. No caso de um campo ou de uma variável de imagem, `MouseX` e `MouseY` retornam as coordenadas locais de um mouse clique nos eventos formulário [`On Clicked`](../Events/onClicked.md), [`On Double Clicked`](../Events/onDoubleClicked.md) e [`On Mouse Up`](../Events/onMouseUp.md). As coordenadas locais do cursor do mouse também são retornadas nos eventos formulário [`On Mouse Enter`](../Events/onMouseEnter.md) e [`On Mouse Move`](../Events/onMouseMove.md). Para obter mais informações, consulte as [Coordenadas de Mouse em uma imagem](../FormEditor/pictures.md#mouse-coordinates-in-a-picture). |
+| `KeyCode` | Integer | Usado em um método instalado pelo comando [`ON EVENT CALL`](../commands-legacy/on-event-call.md). Definido como o código de caractere da tecla que acabou de ser pressionada. Se a chave for uma chave de função, `KeyCode` é definido como um código especial. |
+| `Modifiers` | Integer | Usado em um método instalado pelo comando [`ON EVENT CALL`](../commands-legacy/on-event-call.md). Definir para as teclas modificadoras do teclado (Ctrl/Comando, Alt/Option, Shift, Caps Lock). |
+| `MouseProc` | Integer | Usado em um método instalado pelo comando [`ON EVENT CALL`](../commands-legacy/on-event-call.md). Defina o número do processo em que o último evento teve lugar |
:::note
diff --git a/i18n/pt/docusaurus-plugin-content-docs/version-20-R10/ORDA/orda-events.md b/i18n/pt/docusaurus-plugin-content-docs/version-20-R10/ORDA/orda-events.md
index 75941c87ec6b55..bc46901da4c8a3 100644
--- a/i18n/pt/docusaurus-plugin-content-docs/version-20-R10/ORDA/orda-events.md
+++ b/i18n/pt/docusaurus-plugin-content-docs/version-20-R10/ORDA/orda-events.md
@@ -17,7 +17,7 @@ You cannot directly trigger event function execution. Events are called automati
:::info Compatibility note
-ORDA entity events in the datastore are equivalent to triggers in the 4D database. However, actions triggered at the 4D database level using the 4D classic language commands or standard actions do not trigger ORDA events.
+ORDA entity events in the datastore are equivalent to triggers in the 4D database. However, actions triggered at the 4D database level using the 4D classic language commands or standard actions do not trigger ORDA events. Note also that, unlike triggers, ORDA entity events do not lock the entire underlying table of a dataclass while saving or dropping entities. Several events can run in parallel as long as they involve distinct entities (i.e. records).
:::
diff --git a/i18n/pt/docusaurus-plugin-content-docs/version-20/Concepts/variables.md b/i18n/pt/docusaurus-plugin-content-docs/version-20/Concepts/variables.md
index e02132e9d3d0d8..cbfaa204c01d52 100644
--- a/i18n/pt/docusaurus-plugin-content-docs/version-20/Concepts/variables.md
+++ b/i18n/pt/docusaurus-plugin-content-docs/version-20/Concepts/variables.md
@@ -241,7 +241,7 @@ As variáveis do sistema são usadas pelos [comandos 4D](commands.md). Refer to
| ------------------------------------------------------ | ------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `OK` | Integer | Geralmente definido como 1 após um comando ter exibido uma caixa de diálogo e o usuário clicou no botão **OK**, e 0 se eles clicarem em **Cancelar**. Alguns comandos também modificam o valor da variável sistema `OK` quando uma operação é executada com sucesso. |
| `Document` | Text | Contém o "nome longo" (caminho completo+nome) do último arquivo aberto ou criado usando comandos como [Open document](https://doc.4d.com/4dv20/help/command/en/page264.html) ou [SELECT LOG FILE](https://doc.4d.com/4dv20/help/command/en/page345.html). |
-| `FldDelimit`, `RecDelimit` | Text | Contém os códigos de caracteres que serão usados respectivamente como um separador de campos (padrão é **Tab** (9)) e o separador de registros (padrão é **retorno do carro** (13)) quando importar ou exportar texto. Para usar um separador diferente, atribua um novo valor à variável do sistema. |
+| `FldDelimit`, `RecDelimit` | Integer | Contém os códigos de caracteres que serão usados respectivamente como um separador de campos (padrão é **Tab** (9)) e o separador de registros (padrão é **retorno do carro** (13)) quando importar ou exportar texto. Para usar um separador diferente, atribua um novo valor à variável do sistema. |
| `Error`, `Error method`, `Error line`, `Error formula` | Text, Longint | Usado em um método de captura de erro instalado pelo comando [`ON ERR CALL`](https://doc.4d.com/4dv20/help/command/en/page155.html). Veja [Tratamento de erros no método](../Concepts/error-handling.md#handling-errors-within-the-method). |
| `MouseDown` | Integer | Usado em um método instalado pelo comando [`ON EVENT CALL`](https://doc.4d.com/4dv20/help/command/en/page190.html). Definir como 1 quando o botão do mouse for pressionado, caso contrário será definido como 0. |
| `MouseX`, `MouseY` | Integer | Usado em um método instalado pelo comando [`ON EVENT CALL`](https://doc.4d.com/4dv20/help/command/en/page190.html). Em um evento `MouseDown=1`, `MouseX` e `MouseY` são respectivamente definidos como coordenadas verticais e horizontais do clique. Ambos os valores são expressos em píxeis e usam o sistema local de coordenadas da janela. No caso de um campo ou de uma variável de imagem, `MouseX` e `MouseY` retornam as coordenadas locais de um mouse clique nos eventos formulário [`On Clicked`](../Events/onClicked.md), [`On Double Clicked`](../Events/onDoubleClicked.md) e [`On Mouse Up`](../Events/onMouseUp.md). As coordenadas locais do cursor do mouse também são retornadas nos eventos formulário [`On Mouse Enter`](../Events/onMouseEnter.md) e [`On Mouse Move`](../Events/onMouseMove.md). Para obter mais informações, consulte as [Coordenadas de Mouse em uma imagem](../FormEditor/pictures.md#mouse-coordinates-in-a-picture). |
diff --git a/i18n/pt/docusaurus-plugin-content-docs/version-21/Concepts/variables.md b/i18n/pt/docusaurus-plugin-content-docs/version-21/Concepts/variables.md
index 9ffc9beea3d801..cf29a5c758909a 100644
--- a/i18n/pt/docusaurus-plugin-content-docs/version-21/Concepts/variables.md
+++ b/i18n/pt/docusaurus-plugin-content-docs/version-21/Concepts/variables.md
@@ -250,17 +250,18 @@ A linguagem 4D gerencia diversas **variáveis sistema**, que permitem controlar
As variáveis do sistema são usadas pelos [comandos 4D](../commands/command-index.md). Refer to the "System variables and sets" paragraph in the description of a command to find out whether it affects a system variable.
-| Nome da variável sistema | Tipo | Descrição |
-| ------------------------------------------------------ | ------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
-| `OK` | Integer | Geralmente definido como 1 após um comando ter exibido uma caixa de diálogo e o usuário clicou no botão **OK** e em 0 se eles clicarem em **Cancelar**. Some commands also modify the value of the `OK` system variable when a operation is successfully executed. |
-| `Document` | Text | Contém o "nome longo" (caminho completo) do último arquivo aberto ou criado usando comandos como [Documento aberto](../commands-legacy/open-document.md) ou [ARQUIVO ARQUIVO](../commands/select-log-file.md). |
-| `FldDelimit`, `RecDelimit` | Text | Contém os códigos de caracteres que serão usados respectivamente como um separador de campos (padrão é Tab (9)) e o separador de registros (padrão é retorno do carro (13)) quando importar ou exportar texto. Para usar um separador diferente, atribua um novo valor à variável do sistema. |
-| `Error`, `Error method`, `Error line`, `Error formula` | Text, Longint | Usado em um método de captura de erro instalado pelo comando [`ON ERR CALL`](../commands-legacy/on-err-call.md). Veja [Tratamento de erros no método](../Concepts/error-handling.md#handling-errors-within-the-method). |
-| `MouseDown` | Integer | Usado em um método instalado pelo comando [`ON EVENT CALL`](../commands-legacy/on-event-call.md). Definir como 1 quando o botão do mouse for pressionado, caso contrário será definido como 0. |
-| `MouseX`, `MouseY` | Integer | Usado em um método instalado pelo comando [`ON EVENT CALL`](../commands-legacy/on-event-call.md). Em um evento `MouseDown=1`, `MouseX` e `MouseY` são respectivamente definidos como coordenadas verticais e horizontais do clique. Ambos os valores são expressos em píxeis e usam o sistema local de coordenadas da janela. No caso de um campo ou de uma variável de imagem, `MouseX` e `MouseY` retornam as coordenadas locais de um mouse clique nos eventos formulário [`On Clicked`](../Events/onClicked.md), [`On Double Clicked`](../Events/onDoubleClicked.md) e [`On Mouse Up`](../Events/onMouseUp.md). As coordenadas locais do cursor do mouse também são retornadas nos eventos formulário [`On Mouse Enter`](../Events/onMouseEnter.md) e [`On Mouse Move`](../Events/onMouseMove.md). Para obter mais informações, consulte as [Coordenadas de Mouse em uma imagem](../FormEditor/pictures.md#mouse-coordinates-in-a-picture). |
-| `KeyCode` | Integer | Usado em um método instalado pelo comando [`ON EVENT CALL`](../commands-legacy/on-event-call.md). Definido como o código de caractere da tecla que acabou de ser pressionada. Se a chave for uma chave de função, `KeyCode` é definido como um código especial. |
-| `Modifiers` | Integer | Usado em um método instalado pelo comando [`ON EVENT CALL`](../commands-legacy/on-event-call.md). Definir para as teclas modificadoras do teclado (Ctrl/Comando, Alt/Option, Shift, Caps Lock). |
-| `MouseProc` | Integer | Usado em um método instalado pelo comando [`ON EVENT CALL`](../commands-legacy/on-event-call.md). Defina o número do processo em que o último evento teve lugar |
+| Nome da variável sistema | Tipo | Descrição |
+| ------------------------------- | ------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| `OK` | Integer | Geralmente definido como 1 após um comando ter exibido uma caixa de diálogo e o usuário clicou no botão **OK** e em 0 se eles clicarem em **Cancelar**. Some commands also modify the value of the `OK` system variable when a operation is successfully executed. |
+| `Document` | Text | Contém o "nome longo" (caminho completo) do último arquivo aberto ou criado usando comandos como [Documento aberto](../commands-legacy/open-document.md) ou [ARQUIVO ARQUIVO](../commands/select-log-file.md). |
+| `FldDelimit`, `RecDelimit` | Integer | Contém os códigos de caracteres que serão usados respectivamente como um separador de campos (padrão é Tab (9)) e o separador de registros (padrão é retorno do carro (13)) quando importar ou exportar texto. Para usar um separador diferente, atribua um novo valor à variável do sistema. |
+| `Error`, `Error line` | Integer | Usado em um método de captura de erro instalado pelo comando [`ON ERR CALL`](../commands-legacy/on-err-call.md). Veja [Tratamento de erros no método](../Concepts/error-handling.md#handling-errors-within-the-method). |
+| `Error method`, `Error formula` | Text | Usado em um método de captura de erro instalado pelo comando [`ON ERR CALL`](../commands-legacy/on-err-call.md). Veja [Tratamento de erros no método](../Concepts/error-handling.md#handling-errors-within-the-method). |
+| `MouseDown` | Integer | Usado em um método instalado pelo comando [`ON EVENT CALL`](../commands-legacy/on-event-call.md). Definir como 1 quando o botão do mouse for pressionado, caso contrário será definido como 0. |
+| `MouseX`, `MouseY` | Integer | Usado em um método instalado pelo comando [`ON EVENT CALL`](../commands-legacy/on-event-call.md). Em um evento `MouseDown=1`, `MouseX` e `MouseY` são respectivamente definidos como coordenadas verticais e horizontais do clique. Ambos os valores são expressos em píxeis e usam o sistema local de coordenadas da janela. No caso de um campo ou de uma variável de imagem, `MouseX` e `MouseY` retornam as coordenadas locais de um mouse clique nos eventos formulário [`On Clicked`](../Events/onClicked.md), [`On Double Clicked`](../Events/onDoubleClicked.md) e [`On Mouse Up`](../Events/onMouseUp.md). As coordenadas locais do cursor do mouse também são retornadas nos eventos formulário [`On Mouse Enter`](../Events/onMouseEnter.md) e [`On Mouse Move`](../Events/onMouseMove.md). Para obter mais informações, consulte as [Coordenadas de Mouse em uma imagem](../FormEditor/pictures.md#mouse-coordinates-in-a-picture). |
+| `KeyCode` | Integer | Usado em um método instalado pelo comando [`ON EVENT CALL`](../commands-legacy/on-event-call.md). Definido como o código de caractere da tecla que acabou de ser pressionada. Se a chave for uma chave de função, `KeyCode` é definido como um código especial. |
+| `Modifiers` | Integer | Usado em um método instalado pelo comando [`ON EVENT CALL`](../commands-legacy/on-event-call.md). Definir para as teclas modificadoras do teclado (Ctrl/Comando, Alt/Option, Shift, Caps Lock). |
+| `MouseProc` | Integer | Usado em um método instalado pelo comando [`ON EVENT CALL`](../commands-legacy/on-event-call.md). Defina o número do processo em que o último evento teve lugar |
:::note
diff --git a/i18n/pt/docusaurus-plugin-content-docs/version-21/ORDA/orda-events.md b/i18n/pt/docusaurus-plugin-content-docs/version-21/ORDA/orda-events.md
index d95347972ed07a..05cea3c51f7f7a 100644
--- a/i18n/pt/docusaurus-plugin-content-docs/version-21/ORDA/orda-events.md
+++ b/i18n/pt/docusaurus-plugin-content-docs/version-21/ORDA/orda-events.md
@@ -24,7 +24,7 @@ You cannot directly trigger event function execution. Events are called automati
:::info Compatibility note
-ORDA entity events in the datastore are equivalent to triggers in the 4D database. However, actions triggered at the 4D database level using the 4D classic language commands or standard actions do not trigger ORDA events.
+ORDA entity events in the datastore are equivalent to triggers in the 4D database. However, actions triggered at the 4D database level using the 4D classic language commands or standard actions do not trigger ORDA events. Note also that, unlike triggers, ORDA entity events do not lock the entire underlying table of a dataclass while saving or dropping entities. Several events can run in parallel as long as they involve distinct entities (i.e. records).
:::
@@ -420,7 +420,9 @@ If (This.userManualPath#"")
// The user manual document file is created on the disk
// This may fail if no more space is available
Try
- $fileCreated:=$userManualFile.create()
+ // The file content has been generated and stored in a map in Storage.docMap previously
+ $docInfo:=Storage.docMap.query("name = :1"; This.name).first()
+ $userManualFile.setContent($docInfo.content)
Catch
// No more room on disk for example
$result:={/
@@ -434,6 +436,12 @@ return $result
```
+:::note
+
+The content of the file is generated outside the `saving` event because it can be time consuming.
+
+:::
+
### `Function event afterSave`
#### Sintaxe
From 91c309c698e7173c877113318e846adedb3f5f93 Mon Sep 17 00:00:00 2001
From: arnaud-4d
Date: Wed, 19 Nov 2025 10:41:20 +0100
Subject: [PATCH 31/75] constants added to open window command
---
docs/commands-legacy/open-window.md | 52 ++++++++++++++-----
.../commands-legacy/open-window.md | 52 ++++++++++++++-----
.../version-21/commands-legacy/open-window.md | 52 ++++++++++++++-----
3 files changed, 114 insertions(+), 42 deletions(-)
diff --git a/docs/commands-legacy/open-window.md b/docs/commands-legacy/open-window.md
index 6ad8d7be718119..76f36f3538c8e6 100644
--- a/docs/commands-legacy/open-window.md
+++ b/docs/commands-legacy/open-window.md
@@ -38,7 +38,30 @@ If you pass -1 in both *right* and *bottom,* you instruct 4D to automatically si
**Important:** This automatic sizing of the window will occur only if you made a prior call to [FORM SET INPUT](form-set-input.md) for the form to be displayed, and if you passed the \* optional parameter to [FORM SET INPUT](form-set-input.md).
-* The *type* parameter is optional. It represents the type of window you want to display, and corresponds to the different windows shown in the section *Window Types (compatibility)* (constants of the *Open Window* theme). If the window type is negative, the window created is a floating window. If the type is not specified, type 1 is used by default.
+* The *type* parameter is optional. It represents the type of window you want to display. If the window type is negative, the window created is a floating window (if supported). If the type is not specified, type 1 is used by default. The following constants of the *Open Window* theme are supported:
+
+|Constant|Comment|
+|---|---|
+|Alternate dialog box|Can be a floating window|
+|Has full screen mode Mac|Option to add to a document type window on macOS only (ex: `Plain form window+Form has full screen mode Mac`)|
+|Modal dialog box ||
+|Movable dialog box |Can be a floating window|
+|Palette window|Can be a floating windowNot resizable: `-(Palette window+2)` (Windows) or ` -Palette window` (macOS)Resizable: `-(Palette window+6)`|
+|Plain dialog box |Can be a floating window|
+|Plain fixed size window||
+|Plain no zoom box window||
+|Pop up window||
+|Plain window||
+|Resizable sheet window||
+|Round corner window ||
+|Sheet window||
+|Texture appearance|Option to be added to a window type on macOS only. Supported types: `Plain window`, `Plain no zoom box window`, `Plain fixed size window`, `Movable dialog box`, `Round corner window`|
+
+
+
+
+
+
* The *title* parameter is the optional title for the window
If you pass an empty string ("") in *title,* you instruct 4D to use the Window Title set in the Design environment Form Properties window for the form to be displayed.
@@ -47,7 +70,7 @@ If you pass an empty string ("") in *title,* you instruct 4D to use the Window T
* The *controlMenuBox* parameter is the optional Control-menu box method for the window. If this parameter is specified, a Control-menu box (Windows) or a Close Box (Macintosh) is added to the window. When the user double-clicks the Control-menu box (Windows) or clicks on the Close Box (Macintosh), the method passed in *controlMenuBox* is called.
-**Note:** You can also manage the closing of the window from within the form method of the form displayed in the window when an On Close Box event occurs. For more information, see the command [Form event code](../commands/form-event-code.md).
+**Note:** You can also manage the closing of the window from within the form method of the form displayed in the window when an `On Close Box` event occurs. For more information, see the command [Form event code](../commands/form-event-code.md).
If more than one window is open for a process, the last window opened is the active (frontmost) window for that process. Only information within the active window can be modified. Any other windows can be viewed. When the user types, the active window will always come to the front, if it is not already there.
@@ -61,21 +84,19 @@ The following project method opens a window centered in the main window (Windows
```4d
// OPEN CENTERED WINDOW project method
- // $1 – Window width
- // $2 – Window height
- // $3 – Window type (optional)
- // $4 – Window title (optional)
+ #DECLARE($width : Integer; $height : Integer; $type : Integer; $title : Text)
+ var $SW; $SH; $WW; $WH : Integer
$SW:=Screen width\2
$SH:=(Screen height\2)
- $WW:=$1\2
- $WH:=$2\2
+ $WW:=$width\2
+ $WH:=$height\2
Case of
:(Count parameters=2)
Open window($SW-$WW;$SH-$WH;$SW+$WW;$SH+$WH)
:(Count parameters=3)
- Open window($SW-$WW;$SH-$WH;$SW+$WW;$SH+$WH;$3)
+ Open window($SW-$WW;$SH-$WH;$SW+$WW;$SH+$WH;$type)
:(Count parameters=4)
- Open window($SW-$WW;$SH-$WH;$SW+$WW;$SH+$WH;$3;$4)
+ Open window($SW-$WW;$SH-$WH;$SW+$WW;$SH+$WH;$type;$title)
End case
```
@@ -95,7 +116,8 @@ After the project method is written, you can use it this way:
The following example opens a floating window that has a Control-menu box (Windows) or Close Box (Macintosh) method. The window is opened in the upper right hand corner of the application window.
```4d
- $myWindow:=Open window(Screen width-149;33;Screen width-4;178;-Palette window;"";"CloseColorPalette")
+ var $myWindow : Integer
+ $myWindow:=Open window(Screen width-149;33;Screen width-4;178;-Palette window;"";"CloseColorPalette")
DIALOG([Dialogs];"Color Palette")
```
@@ -110,7 +132,8 @@ The CloseColorPalette method calls the [CANCEL](cancel.md) command:
The following example opens a window whose size and title come from the properties of the form displayed in the window:
```4d
- FORM SET INPUT([Customers];"Add Records";*)
+ var $myWindow : Integer
+ FORM SET INPUT([Customers];"Add Records";*)
$myWindow:=Open window(10;80;-1;-1;Plain window;"")
Repeat
ADD RECORD([Customers])
@@ -124,7 +147,8 @@ The following example opens a window whose size and title come from the properti
This example illustrates the “delay” mechanism for displaying sheet windows under macOS:
```4d
- $myWindow:=Open window(10;10;400;400;Sheet window)
+ var $myWindow : Integer
+ $myWindow:=Open window(10;10;400;400;Sheet window)
//For the moment, the window is created but remains hidden
DIALOG([Table];"dialForm")
//The On Load event is generated then the sheet window is displayed; it "drops down" from the bottom
@@ -135,7 +159,7 @@ This example illustrates the “delay” mechanism for displaying sheet windows
[CLOSE WINDOW](close-window.md)
[Open form window](open-form-window.md)
-*Open Window*
+
## Properties
diff --git a/versioned_docs/version-20-R10/commands-legacy/open-window.md b/versioned_docs/version-20-R10/commands-legacy/open-window.md
index 6ad8d7be718119..76f36f3538c8e6 100644
--- a/versioned_docs/version-20-R10/commands-legacy/open-window.md
+++ b/versioned_docs/version-20-R10/commands-legacy/open-window.md
@@ -38,7 +38,30 @@ If you pass -1 in both *right* and *bottom,* you instruct 4D to automatically si
**Important:** This automatic sizing of the window will occur only if you made a prior call to [FORM SET INPUT](form-set-input.md) for the form to be displayed, and if you passed the \* optional parameter to [FORM SET INPUT](form-set-input.md).
-* The *type* parameter is optional. It represents the type of window you want to display, and corresponds to the different windows shown in the section *Window Types (compatibility)* (constants of the *Open Window* theme). If the window type is negative, the window created is a floating window. If the type is not specified, type 1 is used by default.
+* The *type* parameter is optional. It represents the type of window you want to display. If the window type is negative, the window created is a floating window (if supported). If the type is not specified, type 1 is used by default. The following constants of the *Open Window* theme are supported:
+
+|Constant|Comment|
+|---|---|
+|Alternate dialog box|Can be a floating window|
+|Has full screen mode Mac|Option to add to a document type window on macOS only (ex: `Plain form window+Form has full screen mode Mac`)|
+|Modal dialog box ||
+|Movable dialog box |Can be a floating window|
+|Palette window|Can be a floating windowNot resizable: `-(Palette window+2)` (Windows) or ` -Palette window` (macOS)Resizable: `-(Palette window+6)`|
+|Plain dialog box |Can be a floating window|
+|Plain fixed size window||
+|Plain no zoom box window||
+|Pop up window||
+|Plain window||
+|Resizable sheet window||
+|Round corner window ||
+|Sheet window||
+|Texture appearance|Option to be added to a window type on macOS only. Supported types: `Plain window`, `Plain no zoom box window`, `Plain fixed size window`, `Movable dialog box`, `Round corner window`|
+
+
+
+
+
+
* The *title* parameter is the optional title for the window
If you pass an empty string ("") in *title,* you instruct 4D to use the Window Title set in the Design environment Form Properties window for the form to be displayed.
@@ -47,7 +70,7 @@ If you pass an empty string ("") in *title,* you instruct 4D to use the Window T
* The *controlMenuBox* parameter is the optional Control-menu box method for the window. If this parameter is specified, a Control-menu box (Windows) or a Close Box (Macintosh) is added to the window. When the user double-clicks the Control-menu box (Windows) or clicks on the Close Box (Macintosh), the method passed in *controlMenuBox* is called.
-**Note:** You can also manage the closing of the window from within the form method of the form displayed in the window when an On Close Box event occurs. For more information, see the command [Form event code](../commands/form-event-code.md).
+**Note:** You can also manage the closing of the window from within the form method of the form displayed in the window when an `On Close Box` event occurs. For more information, see the command [Form event code](../commands/form-event-code.md).
If more than one window is open for a process, the last window opened is the active (frontmost) window for that process. Only information within the active window can be modified. Any other windows can be viewed. When the user types, the active window will always come to the front, if it is not already there.
@@ -61,21 +84,19 @@ The following project method opens a window centered in the main window (Windows
```4d
// OPEN CENTERED WINDOW project method
- // $1 – Window width
- // $2 – Window height
- // $3 – Window type (optional)
- // $4 – Window title (optional)
+ #DECLARE($width : Integer; $height : Integer; $type : Integer; $title : Text)
+ var $SW; $SH; $WW; $WH : Integer
$SW:=Screen width\2
$SH:=(Screen height\2)
- $WW:=$1\2
- $WH:=$2\2
+ $WW:=$width\2
+ $WH:=$height\2
Case of
:(Count parameters=2)
Open window($SW-$WW;$SH-$WH;$SW+$WW;$SH+$WH)
:(Count parameters=3)
- Open window($SW-$WW;$SH-$WH;$SW+$WW;$SH+$WH;$3)
+ Open window($SW-$WW;$SH-$WH;$SW+$WW;$SH+$WH;$type)
:(Count parameters=4)
- Open window($SW-$WW;$SH-$WH;$SW+$WW;$SH+$WH;$3;$4)
+ Open window($SW-$WW;$SH-$WH;$SW+$WW;$SH+$WH;$type;$title)
End case
```
@@ -95,7 +116,8 @@ After the project method is written, you can use it this way:
The following example opens a floating window that has a Control-menu box (Windows) or Close Box (Macintosh) method. The window is opened in the upper right hand corner of the application window.
```4d
- $myWindow:=Open window(Screen width-149;33;Screen width-4;178;-Palette window;"";"CloseColorPalette")
+ var $myWindow : Integer
+ $myWindow:=Open window(Screen width-149;33;Screen width-4;178;-Palette window;"";"CloseColorPalette")
DIALOG([Dialogs];"Color Palette")
```
@@ -110,7 +132,8 @@ The CloseColorPalette method calls the [CANCEL](cancel.md) command:
The following example opens a window whose size and title come from the properties of the form displayed in the window:
```4d
- FORM SET INPUT([Customers];"Add Records";*)
+ var $myWindow : Integer
+ FORM SET INPUT([Customers];"Add Records";*)
$myWindow:=Open window(10;80;-1;-1;Plain window;"")
Repeat
ADD RECORD([Customers])
@@ -124,7 +147,8 @@ The following example opens a window whose size and title come from the properti
This example illustrates the “delay” mechanism for displaying sheet windows under macOS:
```4d
- $myWindow:=Open window(10;10;400;400;Sheet window)
+ var $myWindow : Integer
+ $myWindow:=Open window(10;10;400;400;Sheet window)
//For the moment, the window is created but remains hidden
DIALOG([Table];"dialForm")
//The On Load event is generated then the sheet window is displayed; it "drops down" from the bottom
@@ -135,7 +159,7 @@ This example illustrates the “delay” mechanism for displaying sheet windows
[CLOSE WINDOW](close-window.md)
[Open form window](open-form-window.md)
-*Open Window*
+
## Properties
diff --git a/versioned_docs/version-21/commands-legacy/open-window.md b/versioned_docs/version-21/commands-legacy/open-window.md
index 6ad8d7be718119..76f36f3538c8e6 100644
--- a/versioned_docs/version-21/commands-legacy/open-window.md
+++ b/versioned_docs/version-21/commands-legacy/open-window.md
@@ -38,7 +38,30 @@ If you pass -1 in both *right* and *bottom,* you instruct 4D to automatically si
**Important:** This automatic sizing of the window will occur only if you made a prior call to [FORM SET INPUT](form-set-input.md) for the form to be displayed, and if you passed the \* optional parameter to [FORM SET INPUT](form-set-input.md).
-* The *type* parameter is optional. It represents the type of window you want to display, and corresponds to the different windows shown in the section *Window Types (compatibility)* (constants of the *Open Window* theme). If the window type is negative, the window created is a floating window. If the type is not specified, type 1 is used by default.
+* The *type* parameter is optional. It represents the type of window you want to display. If the window type is negative, the window created is a floating window (if supported). If the type is not specified, type 1 is used by default. The following constants of the *Open Window* theme are supported:
+
+|Constant|Comment|
+|---|---|
+|Alternate dialog box|Can be a floating window|
+|Has full screen mode Mac|Option to add to a document type window on macOS only (ex: `Plain form window+Form has full screen mode Mac`)|
+|Modal dialog box ||
+|Movable dialog box |Can be a floating window|
+|Palette window|Can be a floating windowNot resizable: `-(Palette window+2)` (Windows) or ` -Palette window` (macOS)Resizable: `-(Palette window+6)`|
+|Plain dialog box |Can be a floating window|
+|Plain fixed size window||
+|Plain no zoom box window||
+|Pop up window||
+|Plain window||
+|Resizable sheet window||
+|Round corner window ||
+|Sheet window||
+|Texture appearance|Option to be added to a window type on macOS only. Supported types: `Plain window`, `Plain no zoom box window`, `Plain fixed size window`, `Movable dialog box`, `Round corner window`|
+
+
+
+
+
+
* The *title* parameter is the optional title for the window
If you pass an empty string ("") in *title,* you instruct 4D to use the Window Title set in the Design environment Form Properties window for the form to be displayed.
@@ -47,7 +70,7 @@ If you pass an empty string ("") in *title,* you instruct 4D to use the Window T
* The *controlMenuBox* parameter is the optional Control-menu box method for the window. If this parameter is specified, a Control-menu box (Windows) or a Close Box (Macintosh) is added to the window. When the user double-clicks the Control-menu box (Windows) or clicks on the Close Box (Macintosh), the method passed in *controlMenuBox* is called.
-**Note:** You can also manage the closing of the window from within the form method of the form displayed in the window when an On Close Box event occurs. For more information, see the command [Form event code](../commands/form-event-code.md).
+**Note:** You can also manage the closing of the window from within the form method of the form displayed in the window when an `On Close Box` event occurs. For more information, see the command [Form event code](../commands/form-event-code.md).
If more than one window is open for a process, the last window opened is the active (frontmost) window for that process. Only information within the active window can be modified. Any other windows can be viewed. When the user types, the active window will always come to the front, if it is not already there.
@@ -61,21 +84,19 @@ The following project method opens a window centered in the main window (Windows
```4d
// OPEN CENTERED WINDOW project method
- // $1 – Window width
- // $2 – Window height
- // $3 – Window type (optional)
- // $4 – Window title (optional)
+ #DECLARE($width : Integer; $height : Integer; $type : Integer; $title : Text)
+ var $SW; $SH; $WW; $WH : Integer
$SW:=Screen width\2
$SH:=(Screen height\2)
- $WW:=$1\2
- $WH:=$2\2
+ $WW:=$width\2
+ $WH:=$height\2
Case of
:(Count parameters=2)
Open window($SW-$WW;$SH-$WH;$SW+$WW;$SH+$WH)
:(Count parameters=3)
- Open window($SW-$WW;$SH-$WH;$SW+$WW;$SH+$WH;$3)
+ Open window($SW-$WW;$SH-$WH;$SW+$WW;$SH+$WH;$type)
:(Count parameters=4)
- Open window($SW-$WW;$SH-$WH;$SW+$WW;$SH+$WH;$3;$4)
+ Open window($SW-$WW;$SH-$WH;$SW+$WW;$SH+$WH;$type;$title)
End case
```
@@ -95,7 +116,8 @@ After the project method is written, you can use it this way:
The following example opens a floating window that has a Control-menu box (Windows) or Close Box (Macintosh) method. The window is opened in the upper right hand corner of the application window.
```4d
- $myWindow:=Open window(Screen width-149;33;Screen width-4;178;-Palette window;"";"CloseColorPalette")
+ var $myWindow : Integer
+ $myWindow:=Open window(Screen width-149;33;Screen width-4;178;-Palette window;"";"CloseColorPalette")
DIALOG([Dialogs];"Color Palette")
```
@@ -110,7 +132,8 @@ The CloseColorPalette method calls the [CANCEL](cancel.md) command:
The following example opens a window whose size and title come from the properties of the form displayed in the window:
```4d
- FORM SET INPUT([Customers];"Add Records";*)
+ var $myWindow : Integer
+ FORM SET INPUT([Customers];"Add Records";*)
$myWindow:=Open window(10;80;-1;-1;Plain window;"")
Repeat
ADD RECORD([Customers])
@@ -124,7 +147,8 @@ The following example opens a window whose size and title come from the properti
This example illustrates the “delay” mechanism for displaying sheet windows under macOS:
```4d
- $myWindow:=Open window(10;10;400;400;Sheet window)
+ var $myWindow : Integer
+ $myWindow:=Open window(10;10;400;400;Sheet window)
//For the moment, the window is created but remains hidden
DIALOG([Table];"dialForm")
//The On Load event is generated then the sheet window is displayed; it "drops down" from the bottom
@@ -135,7 +159,7 @@ This example illustrates the “delay” mechanism for displaying sheet windows
[CLOSE WINDOW](close-window.md)
[Open form window](open-form-window.md)
-*Open Window*
+
## Properties
From 53288259ebab49948981d078f6fa5449618c6248 Mon Sep 17 00:00:00 2001
From: arnaud-4d
Date: Wed, 19 Nov 2025 14:55:06 +0100
Subject: [PATCH 32/75] fix link blog post web area
---
docs/FormObjects/webArea_overview.md | 6 ++++--
.../version-20-R10/FormObjects/webArea_overview.md | 6 ++++--
versioned_docs/version-21/FormObjects/webArea_overview.md | 6 ++++--
3 files changed, 12 insertions(+), 6 deletions(-)
diff --git a/docs/FormObjects/webArea_overview.md b/docs/FormObjects/webArea_overview.md
index b2a9370819a36f..aaa2f7f8cb3736 100644
--- a/docs/FormObjects/webArea_overview.md
+++ b/docs/FormObjects/webArea_overview.md
@@ -346,9 +346,11 @@ The default 4DCEFParameters.json file contains the following switches:
}
```
-### See also
+:::info Related blog post
-[Specify your own parameters to initialize the embedded web area (blog post)](https://blog.4d.com/specify-your-own-parameters-to-initialize-the-embedded-web-area)
+[Custom Parameters for Initializing Embedded Web Area](https://blog.4d.com/custom-parameters-for-initializing-embedded-web-area/)
+
+:::
diff --git a/versioned_docs/version-20-R10/FormObjects/webArea_overview.md b/versioned_docs/version-20-R10/FormObjects/webArea_overview.md
index 777bd0077cfb59..4428a7ce4113d9 100644
--- a/versioned_docs/version-20-R10/FormObjects/webArea_overview.md
+++ b/versioned_docs/version-20-R10/FormObjects/webArea_overview.md
@@ -341,9 +341,11 @@ The default 4DCEFParameters.json file contains the following switches:
}
```
-### See also
+:::info Related blog post
-[Specify your own parameters to initialize the embedded web area (blog post)](https://blog.4d.com/specify-your-own-parameters-to-initialize-the-embedded-web-area)
+[Custom Parameters for Initializing Embedded Web Area](https://blog.4d.com/custom-parameters-for-initializing-embedded-web-area/)
+
+:::
diff --git a/versioned_docs/version-21/FormObjects/webArea_overview.md b/versioned_docs/version-21/FormObjects/webArea_overview.md
index b2a9370819a36f..aaa2f7f8cb3736 100644
--- a/versioned_docs/version-21/FormObjects/webArea_overview.md
+++ b/versioned_docs/version-21/FormObjects/webArea_overview.md
@@ -346,9 +346,11 @@ The default 4DCEFParameters.json file contains the following switches:
}
```
-### See also
+:::info Related blog post
-[Specify your own parameters to initialize the embedded web area (blog post)](https://blog.4d.com/specify-your-own-parameters-to-initialize-the-embedded-web-area)
+[Custom Parameters for Initializing Embedded Web Area](https://blog.4d.com/custom-parameters-for-initializing-embedded-web-area/)
+
+:::
From 2f949ab78cebb0a9644d72be3830ef9fa982b88e Mon Sep 17 00:00:00 2001
From: sandritica <136651682+sandritica@users.noreply.github.com>
Date: Thu, 20 Nov 2025 05:45:52 -0500
Subject: [PATCH 33/75] ES Edits in Open window command, Edit in blob to print
settings and License usage (#3001)
* Update new-process.md
* Update new-process.md
* Update register-client.md
* Update register-client.md
* Update register-client.md
* Update 4d-write-pro-attributes.md
* Update 4d-write-pro-attributes.md
* Update 4d-write-pro-attributes.md
* Update wp-new-style-sheet.md
* Update wp-new-style-sheet.md
* Update wp-new-style-sheet.md
* Update get-database-parameter.md
* Update set-database-parameter.md
* Update set-database-parameter.md
* Update set-database-parameter.md
* Update get-database-parameter.md
* Update get-database-parameter.md
* Update blob-to-print-settings.md
* Update blob-to-print-settings.md
* Update blob-to-print-settings.md
* Update license-usage.md
* Update license-usage.md
* Update license-usage.md
* Update blob-to-print-settings.md
* Update blob-to-print-settings.md
* Update blob-to-print-settings.md
* Update open-window.md
* Update open-window.md
* Update open-window.md
---
.../commands-legacy/blob-to-print-settings.md | 1 -
.../current/commands-legacy/license-usage.md | 6 ++
.../current/commands-legacy/open-window.md | 65 ++++++++++++-------
.../commands-legacy/blob-to-print-settings.md | 1 -
.../commands-legacy/license-usage.md | 6 ++
.../commands-legacy/open-window.md | 65 ++++++++++++-------
.../commands-legacy/blob-to-print-settings.md | 1 -
.../commands-legacy/license-usage.md | 6 ++
.../version-21/commands-legacy/open-window.md | 65 ++++++++++++-------
9 files changed, 147 insertions(+), 69 deletions(-)
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/commands-legacy/blob-to-print-settings.md b/i18n/es/docusaurus-plugin-content-docs/current/commands-legacy/blob-to-print-settings.md
index 41a06864f9d2f0..cce5b132486dd4 100644
--- a/i18n/es/docusaurus-plugin-content-docs/current/commands-legacy/blob-to-print-settings.md
+++ b/i18n/es/docusaurus-plugin-content-docs/current/commands-legacy/blob-to-print-settings.md
@@ -34,7 +34,6 @@ El comando devuelve uno de los siguientes códigos de estado:
* 0: ninguna impresora actual está seleccionada (en este caso, el comando no hace nada),
* 1: el BLOB se ha cargado correctamente,
* 2: el BLOB se ha cargado correctamente, pero el nombre de la impresora actual ha cambiado(\*)
-**Nota:** Code (2) siempre se devuelve si el BLOB fue creado por el comando 4D Pack , incluso si el nombre de la impresora no cambió, ya que esta información no se incluyó en los BLOBs 4D Pack.
(\*) Los parámetros dependen de la impresora actual seleccionada en el momento en que el BLOB se guardó. La aplicación de estos valores en otra impresora es soportada si ambas impresoras son del mismo modelo. Si las impresoras son diferentes, se restaurarán sólo los parámetros comunes.
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/commands-legacy/license-usage.md b/i18n/es/docusaurus-plugin-content-docs/current/commands-legacy/license-usage.md
index 3a43b060b8b66a..167f02e795b993 100644
--- a/i18n/es/docusaurus-plugin-content-docs/current/commands-legacy/license-usage.md
+++ b/i18n/es/docusaurus-plugin-content-docs/current/commands-legacy/license-usage.md
@@ -17,6 +17,12 @@ displayed_sidebar: docs
El comando **License usage** devuelve una colección de objetos que contienen información sobre las licencias retenidas.
+:::note
+
+Este comando solo se puede ejecutar en 4D Server. Devuelve `null` cuando se llama desde otro contexto.
+
+:::
+
Cada objeto de la colección devuelta tiene los siguientes atributos:
| **Nombre de la propiedad** | **Tipo** | **Descripción** |
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/commands-legacy/open-window.md b/i18n/es/docusaurus-plugin-content-docs/current/commands-legacy/open-window.md
index ccb1ec0d250f12..dec072d5bf6ea7 100644
--- a/i18n/es/docusaurus-plugin-content-docs/current/commands-legacy/open-window.md
+++ b/i18n/es/docusaurus-plugin-content-docs/current/commands-legacy/open-window.md
@@ -38,7 +38,30 @@ Si pasa -1 en *derecha* e *inferior,* le indica a 4D que redimensione automátic
**Importante:** este dimensionamiento automático de la ventana ocurrirá únicamente si realiza una llamada previa a [FORM SET INPUT](form-set-input.md) para el formulario a mostrar en la ventana y si le pasa el parámetro opcional \* a [FORM SET INPUT](form-set-input.md).
-* El parámetro *tipo* es opcional y define el tipo de ventana que quiere mostrar, y corresponde a las diferentes ventanas presentadas en la sección . Si el tipo pasado es negativo, la ventana será flotante. Si el tipo no se especifica, el tipo 1 se utiliza por defecto.
+El parámetro *tipo* es opcional. Representa el tipo de ventana que desea mostrar. Si el tipo de ventana es negativo, la ventana creada es una ventana flotante (si es compatible). Si no se especifica el tipo, se utiliza el tipo 1 de forma predeterminada. Se admiten las siguientes constantes del tema *Abrir ventana*:
+
+|Constante|Comentario|
+|---|---|
+|Alternate dialog box|Puede utilizarse en ventana flotante|
+|Has full screen mode Mac|Opción para añadir a una ventana de tipo documento solo en macOS (por ejemplo: `Plain form window+Form has full screen mode Mac`)|
+|Modal dialog box ||
+|Movable dialog box |Puede utilizarse en ventana flotante|
+|Palette window|Can be a floating windowNo redimensionable: `-(Palette window+2)` (Windows) o ` -Palette window` (macOS)Redimensionable: `-(Palette window+6)`|
+|Plain dialog box |Puede utilizarse en ventana flotante|
+|Plain fixed size window||
+|Plain no zoom box window||
+|Pop up window||
+|Plain window||
+|Resizable sheet window||
+|Round corner window ||
+|Sheet window||
+|Texture appearance|Opción que se añadirá a un tipo de ventana solo en macOS. Tipos soportados: `Plain window`, `Plain no zoom box window`, `Plain fixed size window`, `Movable dialog box`, `Round corner window`|
+
+
+
+
+
+
* El parámetro *titulo* indica el título opcional de la ventana
Si pasa una cadena vacía ("") en *titulo,* le indica a 4D que utilice los valores de introducidos en el área Nombre de la ventana de la ventana de Propiedades del formulario en el entorno Diseño para el título del formulario a mostrar en la ventana.
@@ -47,7 +70,7 @@ Si pasa una cadena vacía ("") en *titulo,* le indica a 4D que utilice los valor
* El parámetro *casillaCerrar* es opcional y designa el método para cerrar la ventana. Si se especifica este parámetro, la casilla del menú Control (Windows) o la casilla Cerrar (Macintosh) se añade a la ventana. Cuando el usuario hace doble clic en la casilla de menú Control (Windows) o clic en la Casilla cerrar (Macintosh), se llama al método pasado en *casillaCerrar*.
-**Nota:** también puede administrar el cierre de la ventana desde el método del formulario mostrado en la ventana cuando ocurre un evento On Close Box. Para mayor información, consulte el comando [Form event code](../commands/form-event-code.md).
+**Nota:** también puede administrar el cierre de la ventana desde el método del formulario mostrado en la ventana cuando ocurre un evento `On Close Box`. Para mayor información, consulte el comando [Form event code](../commands/form-event-code.md).
Si se abre más de una ventana para un proceso, la última ventana abierta es la ventana activa (del primer plano) para ese proceso. Sólo puede modificarse la información dentro de la ventana activa. Todas las demás ventanas pueden ser visualizadas. Cuando el usuario digita, la ventana activa siempre pasará al primer plano, si aún no está ahí.
@@ -60,22 +83,20 @@ Los formularios se muestran al interior de una ventana abierta. El texto pasado
El siguiente método de proyecto abre una ventana centrada en la ventana en la ventana principal (Windows) o en la pantalla principal (Macintosh). Note que puede aceptar dos, tres, o cuatro parámetros:
```4d
- // Método de proyecto OPEN CENTERED WINDOW
- // $1 – Ancho de la ventana
- // $2 – Alto de la ventana
- // $3 – Tipo de la ventana (opcional)
- // $4 – Título de la ventana (opcional)
+ // Método proyecto OPEN CENTERED WINDOW
+ #DECLARE($width : Integer; $height : Integer; $type : Integer; $title : Text)
+ var $SW; $SH; $WW; $WH : Integer
$SW:=Screen width\2
$SH:=(Screen height\2)
- $WW:=$1\2
- $WH:=$2\2
+ $WW:=$width\2
+ $WH:=$height\2
Case of
:(Count parameters=2)
Open window($SW-$WW;$SH-$WH;$SW+$WW;$SH+$WH)
:(Count parameters=3)
- Open window($SW-$WW;$SH-$WH;$SW+$WW;$SH+$WH;$3)
+ Open window($SW-$WW;$SH-$WH;$SW+$WW;$SH+$WH;$type)
:(Count parameters=4)
- Open window($SW-$WW;$SH-$WH;$SW+$WW;$SH+$WH;$3;$4)
+ Open window($SW-$WW;$SH-$WH;$SW+$WW;$SH+$WH;$type;$title)
End case
```
@@ -95,7 +116,8 @@ Una vez escrito el método de proyecto, puede utilizarlo de esta forma:
El siguiente ejemplo abre una ventana flotante que tiene un casilla de menú Control (Windows) o una casilla de cerrar (Macintosh). La ventana se abre en la esquina superior derecha de la ventana de la aplicación.
```4d
- $myWindow:=Open window(Screen width-149;33;Screen width-4;178;-Palette window;"";"CloseColorPalette")
+var $myWindow : Integer
+ $myWindow:=Open window(Screen width-149;33;Screen width-4;178;-Palette window;"";"CloseColorPalette")
DIALOG([Dialogs];"Color Palette")
```
@@ -105,20 +127,19 @@ El método CloseColorPalette llama al comando [CANCEL](cancel.md):
CANCEL
```
-
## Ejemplo 3
El siguiente ejemplo abre una ventana cuyo tamaño y título provienen de las propiedades del formulario mostrado en la ventana:
```4d
- ORM SET INPUT([Customers];"Add Records";*)
- $myWindow:=Open window(10;80;-1;-1;Plain window;"")
+ var $myWindow : Integer
+ FORM SET INPUT([Customers];"Add Records";*)
+ $myWindow:=Open window(10;80;-1;-1;Plain window;"")
Repeat
ADD RECORD([Customers])
Until(OK=0)
```
-
**Recuerde**: para que la función **Open window** utilice automáticamente las propiedades del formulario, debe llamar a [FORM SET INPUT](form-set-input.md) con el parámetro opcional *\** y las propiedades del formulario deben haber sido definidas en función de esta utilización en el entorno Diseño.
## Ejemplo 4
@@ -126,23 +147,23 @@ El siguiente ejemplo abre una ventana cuyo tamaño y título provienen de las pr
Este ejemplo ilustra el mecanismo de “retraso” de mostrar ventanas bajo macOS:
```4d
- $miVentana:=Open window(10;10;400;400;Sheet window)
+ var $myWindow : Integer
+ $myWindow:=Open window(10;10;400;400;Sheet window)
//Por el momento, se crea la ventana pero permanece oculta
- DIALOG([Tabla];"formDial")
- //El evento On Load se genera luego se muestra la ventana; "desciende" de debajo de la barra de título
+ DIALOG([Table];"dialForm")
+ //El evento On Load se genera luego se muestra la ventana; "desciende" de debajo de
+ //la barra de título
```
## Ver también
[CLOSE WINDOW](close-window.md)
-*Crear ventana*
[Open form window](open-form-window.md)
+
## Propiedades
| | |
| --- | --- |
| Número de comando | 153 |
| Hilo seguro | ✗ |
-
-
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/commands-legacy/blob-to-print-settings.md b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/commands-legacy/blob-to-print-settings.md
index 41a06864f9d2f0..cce5b132486dd4 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/commands-legacy/blob-to-print-settings.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/commands-legacy/blob-to-print-settings.md
@@ -34,7 +34,6 @@ El comando devuelve uno de los siguientes códigos de estado:
* 0: ninguna impresora actual está seleccionada (en este caso, el comando no hace nada),
* 1: el BLOB se ha cargado correctamente,
* 2: el BLOB se ha cargado correctamente, pero el nombre de la impresora actual ha cambiado(\*)
-**Nota:** Code (2) siempre se devuelve si el BLOB fue creado por el comando 4D Pack , incluso si el nombre de la impresora no cambió, ya que esta información no se incluyó en los BLOBs 4D Pack.
(\*) Los parámetros dependen de la impresora actual seleccionada en el momento en que el BLOB se guardó. La aplicación de estos valores en otra impresora es soportada si ambas impresoras son del mismo modelo. Si las impresoras son diferentes, se restaurarán sólo los parámetros comunes.
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/commands-legacy/license-usage.md b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/commands-legacy/license-usage.md
index 3a43b060b8b66a..167f02e795b993 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/commands-legacy/license-usage.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/commands-legacy/license-usage.md
@@ -17,6 +17,12 @@ displayed_sidebar: docs
El comando **License usage** devuelve una colección de objetos que contienen información sobre las licencias retenidas.
+:::note
+
+Este comando solo se puede ejecutar en 4D Server. Devuelve `null` cuando se llama desde otro contexto.
+
+:::
+
Cada objeto de la colección devuelta tiene los siguientes atributos:
| **Nombre de la propiedad** | **Tipo** | **Descripción** |
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/commands-legacy/open-window.md b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/commands-legacy/open-window.md
index ccb1ec0d250f12..dec072d5bf6ea7 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/commands-legacy/open-window.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/commands-legacy/open-window.md
@@ -38,7 +38,30 @@ Si pasa -1 en *derecha* e *inferior,* le indica a 4D que redimensione automátic
**Importante:** este dimensionamiento automático de la ventana ocurrirá únicamente si realiza una llamada previa a [FORM SET INPUT](form-set-input.md) para el formulario a mostrar en la ventana y si le pasa el parámetro opcional \* a [FORM SET INPUT](form-set-input.md).
-* El parámetro *tipo* es opcional y define el tipo de ventana que quiere mostrar, y corresponde a las diferentes ventanas presentadas en la sección . Si el tipo pasado es negativo, la ventana será flotante. Si el tipo no se especifica, el tipo 1 se utiliza por defecto.
+El parámetro *tipo* es opcional. Representa el tipo de ventana que desea mostrar. Si el tipo de ventana es negativo, la ventana creada es una ventana flotante (si es compatible). Si no se especifica el tipo, se utiliza el tipo 1 de forma predeterminada. Se admiten las siguientes constantes del tema *Abrir ventana*:
+
+|Constante|Comentario|
+|---|---|
+|Alternate dialog box|Puede utilizarse en ventana flotante|
+|Has full screen mode Mac|Opción para añadir a una ventana de tipo documento solo en macOS (por ejemplo: `Plain form window+Form has full screen mode Mac`)|
+|Modal dialog box ||
+|Movable dialog box |Puede utilizarse en ventana flotante|
+|Palette window|Can be a floating windowNo redimensionable: `-(Palette window+2)` (Windows) o ` -Palette window` (macOS)Redimensionable: `-(Palette window+6)`|
+|Plain dialog box |Puede utilizarse en ventana flotante|
+|Plain fixed size window||
+|Plain no zoom box window||
+|Pop up window||
+|Plain window||
+|Resizable sheet window||
+|Round corner window ||
+|Sheet window||
+|Texture appearance|Opción que se añadirá a un tipo de ventana solo en macOS. Tipos soportados: `Plain window`, `Plain no zoom box window`, `Plain fixed size window`, `Movable dialog box`, `Round corner window`|
+
+
+
+
+
+
* El parámetro *titulo* indica el título opcional de la ventana
Si pasa una cadena vacía ("") en *titulo,* le indica a 4D que utilice los valores de introducidos en el área Nombre de la ventana de la ventana de Propiedades del formulario en el entorno Diseño para el título del formulario a mostrar en la ventana.
@@ -47,7 +70,7 @@ Si pasa una cadena vacía ("") en *titulo,* le indica a 4D que utilice los valor
* El parámetro *casillaCerrar* es opcional y designa el método para cerrar la ventana. Si se especifica este parámetro, la casilla del menú Control (Windows) o la casilla Cerrar (Macintosh) se añade a la ventana. Cuando el usuario hace doble clic en la casilla de menú Control (Windows) o clic en la Casilla cerrar (Macintosh), se llama al método pasado en *casillaCerrar*.
-**Nota:** también puede administrar el cierre de la ventana desde el método del formulario mostrado en la ventana cuando ocurre un evento On Close Box. Para mayor información, consulte el comando [Form event code](../commands/form-event-code.md).
+**Nota:** también puede administrar el cierre de la ventana desde el método del formulario mostrado en la ventana cuando ocurre un evento `On Close Box`. Para mayor información, consulte el comando [Form event code](../commands/form-event-code.md).
Si se abre más de una ventana para un proceso, la última ventana abierta es la ventana activa (del primer plano) para ese proceso. Sólo puede modificarse la información dentro de la ventana activa. Todas las demás ventanas pueden ser visualizadas. Cuando el usuario digita, la ventana activa siempre pasará al primer plano, si aún no está ahí.
@@ -60,22 +83,20 @@ Los formularios se muestran al interior de una ventana abierta. El texto pasado
El siguiente método de proyecto abre una ventana centrada en la ventana en la ventana principal (Windows) o en la pantalla principal (Macintosh). Note que puede aceptar dos, tres, o cuatro parámetros:
```4d
- // Método de proyecto OPEN CENTERED WINDOW
- // $1 – Ancho de la ventana
- // $2 – Alto de la ventana
- // $3 – Tipo de la ventana (opcional)
- // $4 – Título de la ventana (opcional)
+ // Método proyecto OPEN CENTERED WINDOW
+ #DECLARE($width : Integer; $height : Integer; $type : Integer; $title : Text)
+ var $SW; $SH; $WW; $WH : Integer
$SW:=Screen width\2
$SH:=(Screen height\2)
- $WW:=$1\2
- $WH:=$2\2
+ $WW:=$width\2
+ $WH:=$height\2
Case of
:(Count parameters=2)
Open window($SW-$WW;$SH-$WH;$SW+$WW;$SH+$WH)
:(Count parameters=3)
- Open window($SW-$WW;$SH-$WH;$SW+$WW;$SH+$WH;$3)
+ Open window($SW-$WW;$SH-$WH;$SW+$WW;$SH+$WH;$type)
:(Count parameters=4)
- Open window($SW-$WW;$SH-$WH;$SW+$WW;$SH+$WH;$3;$4)
+ Open window($SW-$WW;$SH-$WH;$SW+$WW;$SH+$WH;$type;$title)
End case
```
@@ -95,7 +116,8 @@ Una vez escrito el método de proyecto, puede utilizarlo de esta forma:
El siguiente ejemplo abre una ventana flotante que tiene un casilla de menú Control (Windows) o una casilla de cerrar (Macintosh). La ventana se abre en la esquina superior derecha de la ventana de la aplicación.
```4d
- $myWindow:=Open window(Screen width-149;33;Screen width-4;178;-Palette window;"";"CloseColorPalette")
+var $myWindow : Integer
+ $myWindow:=Open window(Screen width-149;33;Screen width-4;178;-Palette window;"";"CloseColorPalette")
DIALOG([Dialogs];"Color Palette")
```
@@ -105,20 +127,19 @@ El método CloseColorPalette llama al comando [CANCEL](cancel.md):
CANCEL
```
-
## Ejemplo 3
El siguiente ejemplo abre una ventana cuyo tamaño y título provienen de las propiedades del formulario mostrado en la ventana:
```4d
- ORM SET INPUT([Customers];"Add Records";*)
- $myWindow:=Open window(10;80;-1;-1;Plain window;"")
+ var $myWindow : Integer
+ FORM SET INPUT([Customers];"Add Records";*)
+ $myWindow:=Open window(10;80;-1;-1;Plain window;"")
Repeat
ADD RECORD([Customers])
Until(OK=0)
```
-
**Recuerde**: para que la función **Open window** utilice automáticamente las propiedades del formulario, debe llamar a [FORM SET INPUT](form-set-input.md) con el parámetro opcional *\** y las propiedades del formulario deben haber sido definidas en función de esta utilización en el entorno Diseño.
## Ejemplo 4
@@ -126,23 +147,23 @@ El siguiente ejemplo abre una ventana cuyo tamaño y título provienen de las pr
Este ejemplo ilustra el mecanismo de “retraso” de mostrar ventanas bajo macOS:
```4d
- $miVentana:=Open window(10;10;400;400;Sheet window)
+ var $myWindow : Integer
+ $myWindow:=Open window(10;10;400;400;Sheet window)
//Por el momento, se crea la ventana pero permanece oculta
- DIALOG([Tabla];"formDial")
- //El evento On Load se genera luego se muestra la ventana; "desciende" de debajo de la barra de título
+ DIALOG([Table];"dialForm")
+ //El evento On Load se genera luego se muestra la ventana; "desciende" de debajo de
+ //la barra de título
```
## Ver también
[CLOSE WINDOW](close-window.md)
-*Crear ventana*
[Open form window](open-form-window.md)
+
## Propiedades
| | |
| --- | --- |
| Número de comando | 153 |
| Hilo seguro | ✗ |
-
-
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-21/commands-legacy/blob-to-print-settings.md b/i18n/es/docusaurus-plugin-content-docs/version-21/commands-legacy/blob-to-print-settings.md
index 41a06864f9d2f0..cce5b132486dd4 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-21/commands-legacy/blob-to-print-settings.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-21/commands-legacy/blob-to-print-settings.md
@@ -34,7 +34,6 @@ El comando devuelve uno de los siguientes códigos de estado:
* 0: ninguna impresora actual está seleccionada (en este caso, el comando no hace nada),
* 1: el BLOB se ha cargado correctamente,
* 2: el BLOB se ha cargado correctamente, pero el nombre de la impresora actual ha cambiado(\*)
-**Nota:** Code (2) siempre se devuelve si el BLOB fue creado por el comando 4D Pack , incluso si el nombre de la impresora no cambió, ya que esta información no se incluyó en los BLOBs 4D Pack.
(\*) Los parámetros dependen de la impresora actual seleccionada en el momento en que el BLOB se guardó. La aplicación de estos valores en otra impresora es soportada si ambas impresoras son del mismo modelo. Si las impresoras son diferentes, se restaurarán sólo los parámetros comunes.
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-21/commands-legacy/license-usage.md b/i18n/es/docusaurus-plugin-content-docs/version-21/commands-legacy/license-usage.md
index 3a43b060b8b66a..167f02e795b993 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-21/commands-legacy/license-usage.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-21/commands-legacy/license-usage.md
@@ -17,6 +17,12 @@ displayed_sidebar: docs
El comando **License usage** devuelve una colección de objetos que contienen información sobre las licencias retenidas.
+:::note
+
+Este comando solo se puede ejecutar en 4D Server. Devuelve `null` cuando se llama desde otro contexto.
+
+:::
+
Cada objeto de la colección devuelta tiene los siguientes atributos:
| **Nombre de la propiedad** | **Tipo** | **Descripción** |
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-21/commands-legacy/open-window.md b/i18n/es/docusaurus-plugin-content-docs/version-21/commands-legacy/open-window.md
index ccb1ec0d250f12..dec072d5bf6ea7 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-21/commands-legacy/open-window.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-21/commands-legacy/open-window.md
@@ -38,7 +38,30 @@ Si pasa -1 en *derecha* e *inferior,* le indica a 4D que redimensione automátic
**Importante:** este dimensionamiento automático de la ventana ocurrirá únicamente si realiza una llamada previa a [FORM SET INPUT](form-set-input.md) para el formulario a mostrar en la ventana y si le pasa el parámetro opcional \* a [FORM SET INPUT](form-set-input.md).
-* El parámetro *tipo* es opcional y define el tipo de ventana que quiere mostrar, y corresponde a las diferentes ventanas presentadas en la sección . Si el tipo pasado es negativo, la ventana será flotante. Si el tipo no se especifica, el tipo 1 se utiliza por defecto.
+El parámetro *tipo* es opcional. Representa el tipo de ventana que desea mostrar. Si el tipo de ventana es negativo, la ventana creada es una ventana flotante (si es compatible). Si no se especifica el tipo, se utiliza el tipo 1 de forma predeterminada. Se admiten las siguientes constantes del tema *Abrir ventana*:
+
+|Constante|Comentario|
+|---|---|
+|Alternate dialog box|Puede utilizarse en ventana flotante|
+|Has full screen mode Mac|Opción para añadir a una ventana de tipo documento solo en macOS (por ejemplo: `Plain form window+Form has full screen mode Mac`)|
+|Modal dialog box ||
+|Movable dialog box |Puede utilizarse en ventana flotante|
+|Palette window|Can be a floating windowNo redimensionable: `-(Palette window+2)` (Windows) o ` -Palette window` (macOS)Redimensionable: `-(Palette window+6)`|
+|Plain dialog box |Puede utilizarse en ventana flotante|
+|Plain fixed size window||
+|Plain no zoom box window||
+|Pop up window||
+|Plain window||
+|Resizable sheet window||
+|Round corner window ||
+|Sheet window||
+|Texture appearance|Opción que se añadirá a un tipo de ventana solo en macOS. Tipos soportados: `Plain window`, `Plain no zoom box window`, `Plain fixed size window`, `Movable dialog box`, `Round corner window`|
+
+
+
+
+
+
* El parámetro *titulo* indica el título opcional de la ventana
Si pasa una cadena vacía ("") en *titulo,* le indica a 4D que utilice los valores de introducidos en el área Nombre de la ventana de la ventana de Propiedades del formulario en el entorno Diseño para el título del formulario a mostrar en la ventana.
@@ -47,7 +70,7 @@ Si pasa una cadena vacía ("") en *titulo,* le indica a 4D que utilice los valor
* El parámetro *casillaCerrar* es opcional y designa el método para cerrar la ventana. Si se especifica este parámetro, la casilla del menú Control (Windows) o la casilla Cerrar (Macintosh) se añade a la ventana. Cuando el usuario hace doble clic en la casilla de menú Control (Windows) o clic en la Casilla cerrar (Macintosh), se llama al método pasado en *casillaCerrar*.
-**Nota:** también puede administrar el cierre de la ventana desde el método del formulario mostrado en la ventana cuando ocurre un evento On Close Box. Para mayor información, consulte el comando [Form event code](../commands/form-event-code.md).
+**Nota:** también puede administrar el cierre de la ventana desde el método del formulario mostrado en la ventana cuando ocurre un evento `On Close Box`. Para mayor información, consulte el comando [Form event code](../commands/form-event-code.md).
Si se abre más de una ventana para un proceso, la última ventana abierta es la ventana activa (del primer plano) para ese proceso. Sólo puede modificarse la información dentro de la ventana activa. Todas las demás ventanas pueden ser visualizadas. Cuando el usuario digita, la ventana activa siempre pasará al primer plano, si aún no está ahí.
@@ -60,22 +83,20 @@ Los formularios se muestran al interior de una ventana abierta. El texto pasado
El siguiente método de proyecto abre una ventana centrada en la ventana en la ventana principal (Windows) o en la pantalla principal (Macintosh). Note que puede aceptar dos, tres, o cuatro parámetros:
```4d
- // Método de proyecto OPEN CENTERED WINDOW
- // $1 – Ancho de la ventana
- // $2 – Alto de la ventana
- // $3 – Tipo de la ventana (opcional)
- // $4 – Título de la ventana (opcional)
+ // Método proyecto OPEN CENTERED WINDOW
+ #DECLARE($width : Integer; $height : Integer; $type : Integer; $title : Text)
+ var $SW; $SH; $WW; $WH : Integer
$SW:=Screen width\2
$SH:=(Screen height\2)
- $WW:=$1\2
- $WH:=$2\2
+ $WW:=$width\2
+ $WH:=$height\2
Case of
:(Count parameters=2)
Open window($SW-$WW;$SH-$WH;$SW+$WW;$SH+$WH)
:(Count parameters=3)
- Open window($SW-$WW;$SH-$WH;$SW+$WW;$SH+$WH;$3)
+ Open window($SW-$WW;$SH-$WH;$SW+$WW;$SH+$WH;$type)
:(Count parameters=4)
- Open window($SW-$WW;$SH-$WH;$SW+$WW;$SH+$WH;$3;$4)
+ Open window($SW-$WW;$SH-$WH;$SW+$WW;$SH+$WH;$type;$title)
End case
```
@@ -95,7 +116,8 @@ Una vez escrito el método de proyecto, puede utilizarlo de esta forma:
El siguiente ejemplo abre una ventana flotante que tiene un casilla de menú Control (Windows) o una casilla de cerrar (Macintosh). La ventana se abre en la esquina superior derecha de la ventana de la aplicación.
```4d
- $myWindow:=Open window(Screen width-149;33;Screen width-4;178;-Palette window;"";"CloseColorPalette")
+var $myWindow : Integer
+ $myWindow:=Open window(Screen width-149;33;Screen width-4;178;-Palette window;"";"CloseColorPalette")
DIALOG([Dialogs];"Color Palette")
```
@@ -105,20 +127,19 @@ El método CloseColorPalette llama al comando [CANCEL](cancel.md):
CANCEL
```
-
## Ejemplo 3
El siguiente ejemplo abre una ventana cuyo tamaño y título provienen de las propiedades del formulario mostrado en la ventana:
```4d
- ORM SET INPUT([Customers];"Add Records";*)
- $myWindow:=Open window(10;80;-1;-1;Plain window;"")
+ var $myWindow : Integer
+ FORM SET INPUT([Customers];"Add Records";*)
+ $myWindow:=Open window(10;80;-1;-1;Plain window;"")
Repeat
ADD RECORD([Customers])
Until(OK=0)
```
-
**Recuerde**: para que la función **Open window** utilice automáticamente las propiedades del formulario, debe llamar a [FORM SET INPUT](form-set-input.md) con el parámetro opcional *\** y las propiedades del formulario deben haber sido definidas en función de esta utilización en el entorno Diseño.
## Ejemplo 4
@@ -126,23 +147,23 @@ El siguiente ejemplo abre una ventana cuyo tamaño y título provienen de las pr
Este ejemplo ilustra el mecanismo de “retraso” de mostrar ventanas bajo macOS:
```4d
- $miVentana:=Open window(10;10;400;400;Sheet window)
+ var $myWindow : Integer
+ $myWindow:=Open window(10;10;400;400;Sheet window)
//Por el momento, se crea la ventana pero permanece oculta
- DIALOG([Tabla];"formDial")
- //El evento On Load se genera luego se muestra la ventana; "desciende" de debajo de la barra de título
+ DIALOG([Table];"dialForm")
+ //El evento On Load se genera luego se muestra la ventana; "desciende" de debajo de
+ //la barra de título
```
## Ver también
[CLOSE WINDOW](close-window.md)
-*Crear ventana*
[Open form window](open-form-window.md)
+
## Propiedades
| | |
| --- | --- |
| Número de comando | 153 |
| Hilo seguro | ✗ |
-
-
From c665bcf339eacb4b94f08a412781e3ff788aa481 Mon Sep 17 00:00:00 2001
From: arnaud-4d
Date: Thu, 20 Nov 2025 11:46:23 +0100
Subject: [PATCH 34/75] New Crowdin updates (#3002)
* New translations webarea_overview.md (French)
* New translations webarea_overview.md (French)
* New translations webarea_overview.md (French)
* New translations webarea_overview.md (Spanish)
* New translations webarea_overview.md (Spanish)
* New translations webarea_overview.md (Spanish)
* New translations clientserver.md (Japanese)
* New translations forms.md (Japanese)
* New translations sessions.md (Japanese)
* New translations webarea_overview.md (Japanese)
* New translations orda-events.md (Japanese)
* New translations webarea_overview.md (Japanese)
* New translations orda-events.md (Japanese)
* New translations sessions.md (Japanese)
* New translations http-rules.md (Japanese)
* New translations clientserver.md (Japanese)
* New translations forms.md (Japanese)
* New translations webarea_overview.md (Japanese)
* New translations orda-events.md (Japanese)
* New translations http-rules.md (Japanese)
* New translations sessions.md (Japanese)
* New translations webarea_overview.md (Portuguese, Brazilian)
* New translations webarea_overview.md (Portuguese, Brazilian)
* New translations webarea_overview.md (Portuguese, Brazilian)
* New translations orda-events.md (Japanese)
* New translations orda-events.md (Japanese)
* New translations orda-events.md (Japanese)
---
.../current/FormObjects/webArea_overview.md | 8 +-
.../FormObjects/webArea_overview.md | 8 +-
.../FormObjects/webArea_overview.md | 8 +-
.../current/FormObjects/webArea_overview.md | 8 +-
.../FormObjects/webArea_overview.md | 8 +-
.../FormObjects/webArea_overview.md | 8 +-
.../current/Desktop/clientServer.md | 2 +-
.../current/FormEditor/forms.md | 2 +-
.../current/FormObjects/webArea_overview.md | 8 +-
.../current/ORDA/orda-events.md | 153 +++++++++--------
.../current/WebServer/http-rules.md | 2 +-
.../current/WebServer/sessions.md | 2 +-
.../FormObjects/webArea_overview.md | 8 +-
.../version-20-R10/ORDA/orda-events.md | 75 +++++----
.../version-20-R10/WebServer/sessions.md | 2 +-
.../version-21/Desktop/clientServer.md | 2 +-
.../version-21/FormEditor/forms.md | 2 +-
.../FormObjects/webArea_overview.md | 8 +-
.../version-21/ORDA/orda-events.md | 155 +++++++++---------
.../version-21/WebServer/http-rules.md | 2 +-
.../version-21/WebServer/sessions.md | 2 +-
.../current/FormObjects/webArea_overview.md | 8 +-
.../FormObjects/webArea_overview.md | 8 +-
.../FormObjects/webArea_overview.md | 8 +-
24 files changed, 259 insertions(+), 238 deletions(-)
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/FormObjects/webArea_overview.md b/i18n/es/docusaurus-plugin-content-docs/current/FormObjects/webArea_overview.md
index 649f7739c0fabc..c272db7f19ea66 100644
--- a/i18n/es/docusaurus-plugin-content-docs/current/FormObjects/webArea_overview.md
+++ b/i18n/es/docusaurus-plugin-content-docs/current/FormObjects/webArea_overview.md
@@ -24,7 +24,7 @@ Se pueden asociar dos variables específicas a cada área web:
- [`URL`](properties_WebArea.md#url) --para controlar la URL mostrada por el área web
- [`Progression`](properties_WebArea.md#progression) -- para controlar el porcentaje de carga de la página mostrada en el área web.
-> A partir de 4D v19 R5, la variable Progression ya no se actualiza en las Áreas Web que utilizan el [motor de renderizado del sistema Windows](./webArea_overview.md#web-rendering-engine).
+> As of 4D 19 R5, the Progression variable is no longer updated in Web Areas using the [Windows system rendering engine](./webArea_overview.md#web-rendering-engine).
### Motor de renderización web
@@ -338,9 +338,11 @@ El archivo 4DCEFParameters.json por defecto contiene los siguientes cambios:
}
```
-### Ver también
+:::info Entrada de blog relacionada
-[Especifique sus propios parámetros para inicializar el área web integrada (entrada de blog)](https://blog.4d.com/specify-your-own-parameters-to-initialize-the-embedded-web-area)
+[Custom Parameters for Initializing Embedded Web Area](https://blog.4d.com/custom-parameters-for-initializing-embedded-web-area/)
+
+:::
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/FormObjects/webArea_overview.md b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/FormObjects/webArea_overview.md
index 008310d5b2f8a3..2358ca4e00a38d 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/FormObjects/webArea_overview.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/FormObjects/webArea_overview.md
@@ -18,7 +18,7 @@ Se pueden asociar dos variables específicas a cada área web:
- [`URL`](properties_WebArea.md#url) --para controlar la URL mostrada por el área web
- [`Progression`](properties_WebArea.md#progression) -- para controlar el porcentaje de carga de la página mostrada en el área web.
-> A partir de 4D v19 R5, la variable Progression ya no se actualiza en las Áreas Web que utilizan el [motor de renderizado del sistema Windows](./webArea_overview.md#web-rendering-engine).
+> As of 4D 19 R5, the Progression variable is no longer updated in Web Areas using the [Windows system rendering engine](./webArea_overview.md#web-rendering-engine).
### Motor de renderización web
@@ -332,9 +332,11 @@ El archivo 4DCEFParameters.json por defecto contiene los siguientes cambios:
}
```
-### Ver también
+:::info Entrada de blog relacionada
-[Especifique sus propios parámetros para inicializar el área web integrada (entrada de blog)](https://blog.4d.com/specify-your-own-parameters-to-initialize-the-embedded-web-area)
+[Custom Parameters for Initializing Embedded Web Area](https://blog.4d.com/custom-parameters-for-initializing-embedded-web-area/)
+
+:::
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-21/FormObjects/webArea_overview.md b/i18n/es/docusaurus-plugin-content-docs/version-21/FormObjects/webArea_overview.md
index 649f7739c0fabc..c272db7f19ea66 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-21/FormObjects/webArea_overview.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-21/FormObjects/webArea_overview.md
@@ -24,7 +24,7 @@ Se pueden asociar dos variables específicas a cada área web:
- [`URL`](properties_WebArea.md#url) --para controlar la URL mostrada por el área web
- [`Progression`](properties_WebArea.md#progression) -- para controlar el porcentaje de carga de la página mostrada en el área web.
-> A partir de 4D v19 R5, la variable Progression ya no se actualiza en las Áreas Web que utilizan el [motor de renderizado del sistema Windows](./webArea_overview.md#web-rendering-engine).
+> As of 4D 19 R5, the Progression variable is no longer updated in Web Areas using the [Windows system rendering engine](./webArea_overview.md#web-rendering-engine).
### Motor de renderización web
@@ -338,9 +338,11 @@ El archivo 4DCEFParameters.json por defecto contiene los siguientes cambios:
}
```
-### Ver también
+:::info Entrada de blog relacionada
-[Especifique sus propios parámetros para inicializar el área web integrada (entrada de blog)](https://blog.4d.com/specify-your-own-parameters-to-initialize-the-embedded-web-area)
+[Custom Parameters for Initializing Embedded Web Area](https://blog.4d.com/custom-parameters-for-initializing-embedded-web-area/)
+
+:::
diff --git a/i18n/fr/docusaurus-plugin-content-docs/current/FormObjects/webArea_overview.md b/i18n/fr/docusaurus-plugin-content-docs/current/FormObjects/webArea_overview.md
index 1f47e1e9918d0c..3eec516ac20cfe 100644
--- a/i18n/fr/docusaurus-plugin-content-docs/current/FormObjects/webArea_overview.md
+++ b/i18n/fr/docusaurus-plugin-content-docs/current/FormObjects/webArea_overview.md
@@ -24,7 +24,7 @@ Deux variables spécifiques sont automatiquement associées à chaque zone web :
- [`URL`](properties_WebArea.md#url) --pour contrôler l'URL affichée par la zone web
- [`Progression`](properties_WebArea.md#progression) -- pour contrôler le pourcentage de chargement de la page affichée dans la zone web.
-> Depuis 4D 19 R5, la variable Progression n'est plus mise à jour dans les zones Web utilisant le [moteur de rendu système Windows](./webArea_overview.md#web-rendering-engine).
+> As of 4D 19 R5, the Progression variable is no longer updated in Web Areas using the [Windows system rendering engine](./webArea_overview.md#web-rendering-engine).
### Moteur de rendu Web
@@ -338,9 +338,11 @@ Le fichier 4DCEFParameters.json par défaut contient les commutateurs suivants :
}
```
-### Voir également
+:::info Article(s) de blog sur le sujet
-[Spécifiez vos propres paramètres pour initialiser la zone web intégrée (article de blog)](https://blog.4d.com/specify-your-own-parameters-to-initialize-the-embedded-web-area)
+[Custom Parameters for Initializing Embedded Web Area](https://blog.4d.com/custom-parameters-for-initializing-embedded-web-area/)
+
+:::
diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-20-R10/FormObjects/webArea_overview.md b/i18n/fr/docusaurus-plugin-content-docs/version-20-R10/FormObjects/webArea_overview.md
index 1746d5553ed594..4de88a0d4c1b6b 100644
--- a/i18n/fr/docusaurus-plugin-content-docs/version-20-R10/FormObjects/webArea_overview.md
+++ b/i18n/fr/docusaurus-plugin-content-docs/version-20-R10/FormObjects/webArea_overview.md
@@ -18,7 +18,7 @@ Deux variables spécifiques sont automatiquement associées à chaque zone web :
- [`URL`](properties_WebArea.md#url) --pour contrôler l'URL affichée par la zone web
- [`Progression`](properties_WebArea.md#progression) -- pour contrôler le pourcentage de chargement de la page affichée dans la zone web.
-> Depuis 4D 19 R5, la variable Progression n'est plus mise à jour dans les zones Web utilisant le [moteur de rendu système Windows](./webArea_overview.md#web-rendering-engine).
+> As of 4D 19 R5, the Progression variable is no longer updated in Web Areas using the [Windows system rendering engine](./webArea_overview.md#web-rendering-engine).
### Moteur de rendu Web
@@ -332,9 +332,11 @@ Le fichier 4DCEFParameters.json par défaut contient les commutateurs suivants :
}
```
-### Voir également
+:::info Article(s) de blog sur le sujet
-[Spécifiez vos propres paramètres pour initialiser la zone web intégrée (article de blog)](https://blog.4d.com/specify-your-own-parameters-to-initialize-the-embedded-web-area)
+[Custom Parameters for Initializing Embedded Web Area](https://blog.4d.com/custom-parameters-for-initializing-embedded-web-area/)
+
+:::
diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-21/FormObjects/webArea_overview.md b/i18n/fr/docusaurus-plugin-content-docs/version-21/FormObjects/webArea_overview.md
index 1f47e1e9918d0c..3eec516ac20cfe 100644
--- a/i18n/fr/docusaurus-plugin-content-docs/version-21/FormObjects/webArea_overview.md
+++ b/i18n/fr/docusaurus-plugin-content-docs/version-21/FormObjects/webArea_overview.md
@@ -24,7 +24,7 @@ Deux variables spécifiques sont automatiquement associées à chaque zone web :
- [`URL`](properties_WebArea.md#url) --pour contrôler l'URL affichée par la zone web
- [`Progression`](properties_WebArea.md#progression) -- pour contrôler le pourcentage de chargement de la page affichée dans la zone web.
-> Depuis 4D 19 R5, la variable Progression n'est plus mise à jour dans les zones Web utilisant le [moteur de rendu système Windows](./webArea_overview.md#web-rendering-engine).
+> As of 4D 19 R5, the Progression variable is no longer updated in Web Areas using the [Windows system rendering engine](./webArea_overview.md#web-rendering-engine).
### Moteur de rendu Web
@@ -338,9 +338,11 @@ Le fichier 4DCEFParameters.json par défaut contient les commutateurs suivants :
}
```
-### Voir également
+:::info Article(s) de blog sur le sujet
-[Spécifiez vos propres paramètres pour initialiser la zone web intégrée (article de blog)](https://blog.4d.com/specify-your-own-parameters-to-initialize-the-embedded-web-area)
+[Custom Parameters for Initializing Embedded Web Area](https://blog.4d.com/custom-parameters-for-initializing-embedded-web-area/)
+
+:::
diff --git a/i18n/ja/docusaurus-plugin-content-docs/current/Desktop/clientServer.md b/i18n/ja/docusaurus-plugin-content-docs/current/Desktop/clientServer.md
index 740429e4ec9d80..d2fb494d4bbf85 100644
--- a/i18n/ja/docusaurus-plugin-content-docs/current/Desktop/clientServer.md
+++ b/i18n/ja/docusaurus-plugin-content-docs/current/Desktop/clientServer.md
@@ -128,7 +128,7 @@ Note that [privileges](../ORDA/privileges.md) should be set in the session befor
Shared sessions are handled through [OTP tokens](../WebServer/sessions.md#session-token-otp). After you created an OTP token on the server for the user session, you add the token (through the `$4DSID` parameter value) to web requests sent from web areas containing Qodly pages so that the user session on the server is identified and shared. On the web server side, if a web request contains an *OTP id* in the $4DSID parameter, the session corresponding to this OTP token is used.
-:::tip Related blog post
+:::tip 関連したblog 記事
[Share your 4D remote client session with web accesses](https://blog.4d.com/share-your-4d-remote-client-session-with-web-accesses)
diff --git a/i18n/ja/docusaurus-plugin-content-docs/current/FormEditor/forms.md b/i18n/ja/docusaurus-plugin-content-docs/current/FormEditor/forms.md
index d460a48eb79567..c439e23e779f13 100644
--- a/i18n/ja/docusaurus-plugin-content-docs/current/FormEditor/forms.md
+++ b/i18n/ja/docusaurus-plugin-content-docs/current/FormEditor/forms.md
@@ -118,7 +118,7 @@ This feature can only be used on Windows. On macOS, it is ignored.
:::
-:::tip Related blog post
+:::tip 関連したblog 記事
[Modernize your 4D interfaces with Fluent UI](https://blog.4d.com/modernize-your-4d-interfaces-with-fluent-ui)
diff --git a/i18n/ja/docusaurus-plugin-content-docs/current/FormObjects/webArea_overview.md b/i18n/ja/docusaurus-plugin-content-docs/current/FormObjects/webArea_overview.md
index d6396cd9496efe..6c9da5c5740b5f 100644
--- a/i18n/ja/docusaurus-plugin-content-docs/current/FormObjects/webArea_overview.md
+++ b/i18n/ja/docusaurus-plugin-content-docs/current/FormObjects/webArea_overview.md
@@ -24,7 +24,7 @@ Webエリアには 2つの特別な変数が自動で割り当てられます:
- [`URL`](properties_WebArea.md#url) --Web エリアが表示するURL をコントロールします。
- [`Progression`](properties_WebArea.md#progression) -- Web エリア内に表示されているページのロード率をコントロールします。
-> 4D v19 R5 以降、Progression 変数は、[Windows のシステムレンダリングエンジン](./webArea_overview.md#Webレンダリングエンジン) を使用しているWeb エリアにおいては更新されなくなりました。
+> As of 4D 19 R5, the Progression variable is no longer updated in Web Areas using the [Windows system rendering engine](./webArea_overview.md#web-rendering-engine).
### Webレンダリングエンジン
@@ -338,9 +338,11 @@ Webインスペクターを表示させるには、`WA OPEN WEB INSPECTOR` コ
}
```
-### 参照
+:::info 関連したblog 記事
-[Specify your own parameters to initialize the embedded web area (blog 記事)](https://blog.4d.com/specify-your-own-parameters-to-initialize-the-embedded-web-area)
+[Custom Parameters for Initializing Embedded Web Area](https://blog.4d.com/custom-parameters-for-initializing-embedded-web-area/)
+
+:::
diff --git a/i18n/ja/docusaurus-plugin-content-docs/current/ORDA/orda-events.md b/i18n/ja/docusaurus-plugin-content-docs/current/ORDA/orda-events.md
index cc909bcea59ea6..e0066e085544e8 100644
--- a/i18n/ja/docusaurus-plugin-content-docs/current/ORDA/orda-events.md
+++ b/i18n/ja/docusaurus-plugin-content-docs/current/ORDA/orda-events.md
@@ -110,13 +110,13 @@ ORDA [`constructor()`](./ordaClasses.md#class-constructor) 関数は必ずクラ
| seriousError | Boolean | validate イベントでのみ使用されます(以下参照)。 `True`: [深刻(予測不能)なエラー](../Concepts/error-handling.md#予測可能なエラーvs予測不能なエラー) を作成し、例外をトリガーします。 `dk status serious validation error` ステータスを追加します`False`: creates only a [静か(予測可能) なエラー](../Concepts/error-handling.md#予測可能なエラーvs予測不可なエラー) のみを作成します。 `dk status validation failed` ステータスを追加します | 可能(デフォルトはfalse) |
| componentSignature | Text | 常に "DBEV" | × |
-- [Serious errors](../Concepts/error-handling.md#predictable-vs-unpredictable-errors) are stacked in the `errors` collection property of the **Result object** returned by the [`save()`](../API/EntityClass.md#save) or [`drop()`](../API/EntityClass.md#drop) functions.
-- In case of an error triggered by a **validate** event, the `seriousError` property allows you to choose the level of the error to generate:
- - If **true**: a serious error is thrown and should be handled by the [error processing code](../Concepts/error-handling.md#predictable-vs-unpredictable-errors), such as a [try catch](../Concepts/error-handling.md#trycatchend-try). In the result object of the calling function, `status` gets `dk status serious validation error` and `statusText` gets "Serious Validation Error". The error is raised at the end of the event and reach the client requesting the save/drop action (REST client for example).
- - If **false** (default): a [silent (predictable) error is generated](../Concepts/error-handling.md#predictable-vs-unpredictable-errors). It does not trigger any exception and is not stacked in the errors returned by the [`Last errors`](../commands/last-errors.md) command. In the result object of the calling function, `status` gets `dk status validation failed` and `statusText` gets "Mild Validation Error".
-- In case of an error triggered by a **saving/dropping** event, when an error object is returned, the error is always raised as a serious error whatever the `seriousError` property value.
+- [深刻なエラー](../Concepts/error-handling.md#予測可能なエラーvs予測不可なエラー) は[`save()`](../API/EntityClass.md#save) または [`drop()`](../API/EntityClass.md#drop) 関数から返される **Result オブジェクト** の `errors` コレクションプロパティにスタックされます。
+- **validate** イベントによってトリガーされたエラーの場合、 `seriousError` プロパティを使用することで生成するエラーのレベルを選択することができます:
+ - **true** の場合: 深刻なエラーが生成され、[try catch](../Concepts/error-handling.md#trycatchend-try)などの[エラー処理コード](../Concepts/error-handling.md#予測可能なエラーvs予測不可なエラー) によって管理される必要があります。 呼び出した関数のresult オブジェクトでは、`status` には `dk status serious validation error` が入り、 `statusText` には "Serious Validation Error" が入ります。 エラーはイベントの終わりに生成され、保存/ドロップアクションをリクエストしているクライアント(例えばREST クライアントなど)に届きます。
+ - **false** (デフォルト)の場合: [静か(予測可能) なエラーが生成されます](../Concepts/error-handling.md#予測可能なエラーvs予測不可なエラー)。 これは例外はトリガーせず、また[`Last errors`](../commands/last-errors.md) コマンドから返されるエラーの中にはスタックされません。 呼び出した関数のresult オブジェクトでは、`status` には `dk status validation failed` が入り、 `statusText` には "Mild Validation Error" が入ります。
+- **保存時/ドロップ時** のイベントによってトリガーされたエラーの場合、エラーオブジェクトが返されると、 `seriousError` プロパティの値に関わらず、エラーは常に深刻なエラーとして生成されます。
-## Event function description
+## イベント関数の詳細
### `Function event touched`
@@ -125,39 +125,39 @@ ORDA [`constructor()`](./ordaClasses.md#class-constructor) 関数は必ずクラ
```4d
{local} Function event touched($event : Object)
{local} Function event touched ($event : Object)
-// code
+// コード
```
-This event is triggered each time a value is modified in the entity.
+このイベントはエンティティ内の値が編集されるたびにトリガーされます。
-- If you defined the function at the entity level (first syntax), it is triggered for modifications on any attribute of the entity.
-- If you defined the function at the attribute level (second syntax), it is triggered only for modifications on this attribute.
+- 関数をエンティティレベルで定義していた場合(第一シンタックス)、その関数はエンティティの任意の属性における変更に対してトリガーされます。
+- 関数を属性レベルで定義していた場合(第二シンタックス)、関数はその属性に対する変更に対してのみトリガーされます。
-This event is triggered as soon as the 4D Server / 4D engine can detect a modification of attribute value which can be due to the following actions:
+このイベントは4D Server / 4Dエンジンが属性値の変更を検知するとすぐにトリガーされます。この変更は、以下のようなアクションによって引き起こされます:
-- in **client/server with the [`local` keyword](../ORDA/ordaClasses.md#local-functions)** or in **4D single-user**:
- - the user sets a value on a 4D form,
- - the 4D code makes an assignment with the `:=` operator. The event is also triggered in case of self-assignment (`$entity.attribute:=$entity.attribute`).
-- in **client/server without the `local` keyword**: some 4D code that makes an assignment with the `:=` operator is [executed on the server](../commands-legacy/execute-on-server.md).
-- **`local` キーワードを使用しないクライアント/サーバー**、**[Qodly アプリケーション](https://developer.4d.com/qodly)** および **[リモートデータストア](../commands/open-datastore.md)**: ORDA 関数(エンティティ上の関数あるいはエンティティを引数として使用する関数)を呼び出した場合にはエンティティは4D Server 受信されます。 It means that you might have to implement a *refresh* or *preview* function on the remote application that sends an ORDA request to the server and triggers the event.
-- with the REST server: the value is received on the REST server with a [REST request](../REST/$method.md#methodupdate) (`$method=update`)
+- **[`local` キーワード](../ORDA/ordaClasses.md#local関数) を使用したクライアント/サーバー** あるいは **シングルユーザーモードの4D**:
+ - ユーザーが4D フォーム上で値を設定した
+ - 4D コードが `:=` 演算子によって代入を行った。 このイベントは自己代入の場合にもトリガーされます(`$entity.attribute:=$entity.attribute`)。
+- **`local` キーワード を使用しないクライアント/サーバー**: `:=` 演算子によって代入を行う一部の4D コードは、[サーバー上で実行されます](../commands-legacy/execute-on-server.md)。
+- **`local` キーワードを使用しないクライアント/サーバー**、**[Qodly アプリケーション](https://developer.4d.com/qodly)** および **[リモートデータストア](../commands/open-datastore.md)**: ORDA 関数(エンティティ上の関数あるいはエンティティを引数として使用する関数)を呼び出した場合にはエンティティは4D Server 受信されます。 これはつまり、リモートアプリケーション側に*refresh* あるいは *preview* 関数を実装することでORDA リクエストをサーバーに送信し、イベントをトリガーするようにする必要があるかもしれない、ということです。
+- REST サーバー: 値は REST サーバーに、[REST リクエスト](../REST/$method.md#methodupdate) (`$method=update`) とともに受信されます。
-The function receives an [*event* object](#event-parameter) as parameter.
+関数は [*event* オブジェクト](#event-引数) を引数として受け取ります。
-If this function [throws](../commands/throw) an error, it will not stop the undergoing action.
+この関数がエラーを[throw](../commands/throw) する場合でも、進行中のアクションは停止しません。
:::note
-This event is also triggered:
+このイベントは以下の場合にもトリガーされます:
-- when attributes are assigned by the [`constructor()`](./ordaClasses.md#class-constructor-1) event,
-- when attributes are edited through the [Data Explorer](../Admin/dataExplorer.md).
+- 属性の値が [`constructor()`](./ordaClasses.md#class-constructor-1) イベントによって代入された場合
+- 属性の値が [データエクスプローラー](../Admin/dataExplorer.md) を通して編集された場合。
:::
#### 例題 1
-You want to uppercase all text attributes of an entity when it is updated.
+エンティティが更新されたときに、エンティティ内のテキスト属性を全て大文字に変換したい場合を考えます。
```4d
//ProductsEntity class
@@ -170,11 +170,11 @@ Function event touched($event : Object)
#### 例題 2
-The "touched" event is useful when it is not possible to write indexed query code in [`Function query()`](./ordaClasses.md#function-query-attributename) for a [computed attribute](./ordaClasses.md#computed-attributes).
+"touched" イベントは、[計算属性](./ordaClasses.md#計算属性)に対して[`Function query()`](./ordaClasses.md#function-query-attributename) 内でインデックスクエリコードを書くことが不可能な場合にとても有用です。
-This is the case for example, when your [`query`](./ordaClasses.md#function-query-attributename) function has to compare the value of different attributes from the same entity with each other. You must use formulas in the returned ORDA query -- which triggers sequential queries.
+これは例えば、[`query`](./ordaClasses.md#function-query-attributename) 関数が同じエンティティの異なる属性の値どうしを比較したいような場合です。 これは返されたORDA クエリ内でフォーミュラを使う必要があり、結果としてシーケンシャルクエリをトリガーすることになります。
-To fully understand this case, let's examine the following two calculated attributes:
+このような場合を完全に理解するために、以下の2つの計算属性について調べてみましょう:
```4d
Function get onGoing() : Boolean
@@ -184,9 +184,9 @@ Function get sameDay() : Boolean
return (This.departureDate=This.arrivalDate)
```
-Even though they are very similar, these functions cannot be associated with identical queries because they do not compare the same types of values. The first compares attributes to a given value, while the second compares attributes to each other.
+たとえ非常に似ていたとしても、これらのクエリは同じ型の値を比較している訳ではないため、これらの関数を同一のクエリと関連づけることはできません。 前者は属性を与えられた値と比較する一方、後者は属性どうしを比較します。
-- For the *onGoing* attribute, the [`query`](./ordaClasses.md#function-query-attributename) function is simple to write and uses indexed attributes:
+- *onGoing* 属性に対しては、[`query`](./ordaClasses.md#function-query-attributename) 関数をシンプルに書くことができ、またインデックス付きの属性を使用します:
```4d
Function query onGoing($event : Object) : Object
@@ -207,12 +207,12 @@ Function query onGoing($event : Object) : Object
End case
$myQuery:=($onGoingValue) ? "departureDate <= :1 AND arrivalDate >= :1" : "departureDate > :1 OR arrivalDate < :1"
- // the ORDA query string uses indexed attributes, it will be indexed
+ // ORDA クエリ文字列はインデックス付き属性を使用するので、インデックスがつけられます
$parameters.push(Current date)
return {query: $myQuery; parameters: $parameters}
```
-- For the *sameDay* attribute, the [`query`](./ordaClasses.md#function-query-attributename) function requires an ORDA query based on formulas and will be sequential:
+- *sameDay* 属性に対しては、[`query`](./ordaClasses.md#function-query-attributename) 関数はフォーミュラに基づいたORDA クエリを必要とするため、検索はシーケンシャルに行われます:
```4d
Function query sameDay($event : Object) : Text
@@ -230,11 +230,11 @@ Function query sameDay($event : Object) : Text
End case
return ($sameDayValue) ? "eval(This.departureDate = This.arrivalDate)" : "eval(This.departureDate != This.arrivalDate)"
- // the ORDA query string uses a formula, it will not be indexed
+ // ORDA クエリ文字列はフォーミュラを使用するため、インデックスはつけられません
```
-- Using a **scalar** *sameDay* attribute updated when other attributes are "touched" will save time:
+- しかし他の属性が"タッチ"されたときに更新される**スカラー値の** *sameDay* 属性を使用することで、時間を節約することができます:
```4d
//BookingEntity class
@@ -250,7 +250,7 @@ Function event touched arrivalDate($event : Object)
```
-#### Example 3 (diagram): Client/server with the `local` keyword:
+#### 例題 3 (図): `local` キーワードを用いたクライアント/サーバー:
```mermaid
@@ -261,15 +261,15 @@ sequenceDiagram
Client->>+Client: $people.lastname:="Brown"
Note over Client: local Function event touched lastname($event : Object)
This.lastname:=Uppercase(This.lastname)
-Note over Client:$people.lastname is uppercased
+Note over Client:$people.lastname は大文字に変換されます
Client->>+Server: $people.apply()
- Note over Server: The $people entity is received with the lastname attribute uppercased
+ Note over Server: $people エンティティは lastname 属性が大文字に変換された状態で受信されます
```
-#### Example 4 (diagram): Client/server without the `local` keyword
+#### 例題 4 (図): `local` キーワードを用いないクライアント/サーバー
```mermaid
@@ -279,37 +279,36 @@ sequenceDiagram
Client->>+Client: $people.lastname:="Brown"
- Note over Client:$people.lastname is not uppercased
+ Note over Client:$people.lastname は大文字に変換されません
Client->>+Server: $people.apply()
Note over Server: Function event touched lastname($event : Object)
This.lastname:=Uppercase(This.lastname)
- Server-->>-Client: The $people entity is updated
-
- Note over Client:$people.lastname is uppercased
+ Server-->>-Client: $people エンティティが更新されます
+ Note over Client:$people.lastname は大文字に変換されます。
```
-#### Example 5 (diagram): Qodly application
+#### 例題 5 (図): Qodly アプリケーション
```mermaid
sequenceDiagram
-Qodly page->>+ Server: Get an entity into the People Qodly source
+Qodly page->>+ Server: エンティティをPeople Qodlyソースへと受け取る
-Qodly page->>+Qodly page: The user updates People.lastname
+Qodly page->>+Qodly page: ユーザーが People.lastname を更新する
-Note over Qodly page: The People Qodly source lastname attribute is not uppercased
+Note over Qodly page: People Qodly ソースの lastname 属性は大文字に変換されていません
Qodly page->>+ Server: Function call People.apply()
Note over Server: Function event touched lastname($event : Object)
This.lastname:=Uppercase(This.lastname)
-Server-->>-Qodly page: The People Qodly source is updated
-Note over Qodly page: The People Qodly source lastname attribute is uppercased
+Server-->>-Qodly page: People Qodly ソースが更新されます
+Note over Qodly page: People Qodly ソースの lastname 属性が大文字に変換されます
```
@@ -321,47 +320,47 @@ Note over Qodly page: The People Qodly source lastname attribute is uppercased
```4d
Function event validateSave($event : Object)
Function event validateSave ($event : Object)
-// code
+// コード
```
-This event is triggered each time an entity is about to be saved.
+このイベントは、エンティティが保存されようとするたびに毎回トリガーされます。
-- if you defined the function at the entity level (first syntax), it is called for any attribute of the entity.
-- if you defined the function at the attribute level (second syntax), it is called only for this attribute. This function is **not** executed if the attribute has not been touched in the entity.
+- 関数をエンティティレベルで定義していた場合(第一シンタックス)、その関数はエンティティの任意の属性に対して呼び出されます。
+- 関数を属性レベルで定義していた場合(第二シンタックス)、関数はその属性に対してのみ呼び出されます。 この関数は、エンティティ内の指定した属性がタッチされていない場合には、実行**されません**。
-The function receives an [*event* object](#event-parameter) as parameter.
+関数は [*event* オブジェクト](#event-引数) を引数として受け取ります。
-This event is triggered by the following functions:
+このイベントは、以下の関数によってトリガーされます:
- [`entity.save()`](../API/EntityClass.md#save)
- [`dataClass.fromCollection()`](../API/DataClassClass.md#fromcollection)
-This event is triggered **before** the entity is actually saved and lets you check data consistency so that you can stop the action if needed. For example, you can check in this event that "departure date" < "arrival date".
+このイベントは、エンティティが実際に保存される **前に** トリガーされるため、データの一貫性をチェックし、必要であればアクションを停止することができます。 例えば、このイベントを使用して、 "出発日" < "到着日" であることをチェックすることができます。
-To stop the action, the code of the function must return an [error object](#error-object).
+アクションを停止するためには、関数のコードで[エラーオブジェクト](#エラーオブジェクト) を返す必要があります。
:::note
-It is not recommended to update the entity within this function (using `This`).
+この関数内において(`This` を使用して)エンティティを更新することは推奨されません。
:::
#### 例題
-In this example, it is not allowed to save a product with a margin lower than 50%. In case of an invalid price attribute, you return an error object and thus, stop the save action.
+この例では、マージンが50% 未満の製品を保存することは許可されていません。 無効な price 属性の場合、エラーオブジェクトを換えし、保存アクションを停止します。
```4d
// ProductsEntity class
//
-// validateSave event at attribute level
+// 属性レベルの validateSave イベント
Function event validateSave margin($event : Object) : Object
var $result : Object
-//The user can't create a product whose margin is < 50%
+// ユーザーは margin が50% 未満の製品を作成することはできません
If (This.margin<50)
- $result:={errCode: 1; message: "The validation of this product failed"; \
- extraDescription: {info: "The margin of this product ("+String(This.margin)+") is lower than 50%"}; seriousError: False}
+ $result:={errCode: 1; message: "製品の検証に失敗しました"; \
+ extraDescription: {info: "この製品のマージンの ("+String(This.margin)+") が 50%" 未満になっています}; seriousError: False}
End if
return $result
@@ -374,17 +373,17 @@ return $result
```4d
Function event saving($event : Object)
Function event saving ($event : Object)
-// code
+// コード
```
-This event is triggered each time an entity is being saved.
+このイベントはエンティティが保存されるたびにトリガーされます。
-- If you defined the function at the entity level (first syntax), it is called for any attribute of the entity. The function is executed even if no attribute has been touched in the entity (e.g. in case of sending data to an external app each time a save is done).
-- If you defined the function at the attribute level (second syntax), it is called only for this attribute. The function is **not** executed if the attribute has not been touched in the entity.
+- 関数をエンティティレベルで定義していた場合(第一シンタックス)、その関数はエンティティの任意の属性に対して呼び出されます。 この関数はエンティティ内でどの属性もタッチされていない場合でも実行されます(例: 保存されるたびに外部アプリへとデータを送信する場合など)。
+- 関数を属性レベルで定義していた場合(第二シンタックス)、関数はその属性に対してのみ呼び出されます。 この関数は、エンティティ内の指定した属性がタッチされていない場合には、実行**されません**。
-The function receives an [*event* object](#event-parameter) as parameter.
+関数は [*event* オブジェクト](#event-引数) を引数として受け取ります。
-This event is triggered by the following functions:
+このイベントは、以下の関数によってトリガーされます:
- [`entity.save()`](../API/EntityClass.md#save)
- [`dataClass.fromCollection()`](../API/DataClassClass.md#fromcollection)
@@ -399,7 +398,7 @@ The business logic should raise errors which can't be detected during the `valid
During the save action, 4D engine errors can be raised (index, stamp has changed, not enough space on disk).
-To stop the action, the code of the function must return an [error object](#error-object).
+アクションを停止するためには、関数のコードで[エラーオブジェクト](#エラーオブジェクト) を返す必要があります。
#### 例題
@@ -455,7 +454,7 @@ This event is triggered just after an entity is saved in the data file, when at
This event is useful after saving data to propagate the save action outside the application or to execute administration tasks. For example, it can be used to send a confirmation email after data have been saved. Or, in case of error while saving data, it can make a rollback to restore a consistent state of data.
-The function receives an [*event* object](#event-parameter) as parameter.
+関数は [*event* オブジェクト](#event-引数) を引数として受け取ります。
- To avoid infinite loops, calling a [`save()`](../API/EntityClass.md#save) on the current entity (through `This`) in this function is **not allowed**. It will raise an error.
- Throwing an [error object](#error-object) is **not supported** by this function.
@@ -493,10 +492,10 @@ Function event validateDrop ($event : Object)
This event is triggered each time an entity is about to be dropped.
-- If you defined the function at the entity level (first syntax), it is called for any attribute of the entity.
-- If you defined the function at the attribute level (second syntax), it is called only for this attribute.
+- 関数をエンティティレベルで定義していた場合(第一シンタックス)、その関数はエンティティの任意の属性に対して呼び出されます。
+- 関数を属性レベルで定義していた場合(第二シンタックス)、関数はその属性に対してのみ呼び出されます。
-The function receives an [*event* object](#event-parameter) as parameter.
+関数は [*event* オブジェクト](#event-引数) を引数として受け取ります。
This event is triggered by the following features:
@@ -506,7 +505,7 @@ This event is triggered by the following features:
This event is triggered **before** the entity is actually dropped, allowing you to check data consistency and if necessary, to stop the drop action.
-To stop the action, the code of the function must return an [error object](#error-object).
+アクションを停止するためには、関数のコードで[エラーオブジェクト](#エラーオブジェクト) を返す必要があります。
#### 例題
@@ -540,10 +539,10 @@ Function event dropping ($event : Object)
This event is triggered each time an entity is being dropped.
-- If you defined the function at the entity level (first syntax), it is called for any attribute of the entity.
-- If you defined the function at the attribute level (second syntax), it is called only for this attribute.
+- 関数をエンティティレベルで定義していた場合(第一シンタックス)、その関数はエンティティの任意の属性に対して呼び出されます。
+- 関数を属性レベルで定義していた場合(第二シンタックス)、関数はその属性に対してのみ呼び出されます。
-The function receives an [*event* object](#event-parameter) as parameter.
+関数は [*event* オブジェクト](#event-引数) を引数として受け取ります。
This event is triggered by the following features:
@@ -559,7 +558,7 @@ The business logic should raise errors which cannot be detected during the `vali
:::
-To stop the action, the code of the function must return an [error object](#error-object).
+アクションを停止するためには、関数のコードで[エラーオブジェクト](#エラーオブジェクト) を返す必要があります。
#### 例題
@@ -601,7 +600,7 @@ This event is triggered just after an entity is dropped.
This event is useful after dropping data to propagate the drop action outside the application or to execute administration tasks. For example, it can be used to send a cancellation email after data have been dropped. Or, in case of error while dropping data, it can log an information for the administrator to check data consistency.
-The function receives an [*event* object](#event-parameter) as parameter.
+関数は [*event* オブジェクト](#event-引数) を引数として受け取ります。
- To avoid infinite loops, calling a [`drop()`](../API/EntityClass.md#drop) on the current entity (through `This`) in this function is **not allowed**. It will raise an error.
- Throwing an [error object](#error-object) is **not supported** by this function.
diff --git a/i18n/ja/docusaurus-plugin-content-docs/current/WebServer/http-rules.md b/i18n/ja/docusaurus-plugin-content-docs/current/WebServer/http-rules.md
index 6f6e8aacb4e491..9b152c29bb5728 100644
--- a/i18n/ja/docusaurus-plugin-content-docs/current/WebServer/http-rules.md
+++ b/i18n/ja/docusaurus-plugin-content-docs/current/WebServer/http-rules.md
@@ -220,7 +220,7 @@ $return:=WEB Server.start($settings)
```
-:::tip Related blog post
+:::tip 関連したblog 記事
[New Way to Control Your HTTP Responses](https://blog.4d.com/new-way-to-control-your-http-responses/)
diff --git a/i18n/ja/docusaurus-plugin-content-docs/current/WebServer/sessions.md b/i18n/ja/docusaurus-plugin-content-docs/current/WebServer/sessions.md
index aec14fa9fb346b..a6ab2ad0e930de 100644
--- a/i18n/ja/docusaurus-plugin-content-docs/current/WebServer/sessions.md
+++ b/i18n/ja/docusaurus-plugin-content-docs/current/WebServer/sessions.md
@@ -12,7 +12,7 @@ Webセッションでは、以下のことが可能です:
- セッションの [.storage](../API/SessionClass.md#storage) を使用して、Webクライアントのプロセス間でデータを保存および共有。
- セッションを実行しているユーザーに権限を関連付ける。
-:::tip Related blog post
+:::tip 関連したblog 記事
[高度な Webアプリケーションに対応したスケーラブルセッション](https://blog.4d.com/ja/scalable-sessions-for-advanced-web-applications/)
diff --git a/i18n/ja/docusaurus-plugin-content-docs/version-20-R10/FormObjects/webArea_overview.md b/i18n/ja/docusaurus-plugin-content-docs/version-20-R10/FormObjects/webArea_overview.md
index d094eda7a25d36..0f3cd5d873c008 100644
--- a/i18n/ja/docusaurus-plugin-content-docs/version-20-R10/FormObjects/webArea_overview.md
+++ b/i18n/ja/docusaurus-plugin-content-docs/version-20-R10/FormObjects/webArea_overview.md
@@ -18,7 +18,7 @@ Webエリアには 2つの特別な変数が自動で割り当てられます:
- [`URL`](properties_WebArea.md#url) --Web エリアが表示するURL をコントロールします。
- [`Progression`](properties_WebArea.md#progression) -- Web エリア内に表示されているページのロード率をコントロールします。
-> 4D v19 R5 以降、Progression 変数は、[Windows のシステムレンダリングエンジン](./webArea_overview.md#Webレンダリングエンジン) を使用しているWeb エリアにおいては更新されなくなりました。
+> As of 4D 19 R5, the Progression variable is no longer updated in Web Areas using the [Windows system rendering engine](./webArea_overview.md#web-rendering-engine).
### Webレンダリングエンジン
@@ -332,9 +332,11 @@ Webインスペクターを表示させるには、`WA OPEN WEB INSPECTOR` コ
}
```
-### 参照
+:::info 関連したblog 記事
-[Specify your own parameters to initialize the embedded web area (blog 記事)](https://blog.4d.com/specify-your-own-parameters-to-initialize-the-embedded-web-area)
+[Custom Parameters for Initializing Embedded Web Area](https://blog.4d.com/custom-parameters-for-initializing-embedded-web-area/)
+
+:::
diff --git a/i18n/ja/docusaurus-plugin-content-docs/version-20-R10/ORDA/orda-events.md b/i18n/ja/docusaurus-plugin-content-docs/version-20-R10/ORDA/orda-events.md
index f5670319110839..e0488d449e271a 100644
--- a/i18n/ja/docusaurus-plugin-content-docs/version-20-R10/ORDA/orda-events.md
+++ b/i18n/ja/docusaurus-plugin-content-docs/version-20-R10/ORDA/orda-events.md
@@ -73,7 +73,7 @@ ORDA [`constructor()`](./ordaClasses.md#class-constructor) 関数は必ずクラ
| *attributeName* | 属性に関するイベントのみ | 文字列 | 属性名 (*例* "firstname") |
| *dataClassName* | 常に | 文字列 | データクラス名 (*例* "Company") |
-## Event function description
+## イベント関数の詳細
### `Function event touched`
@@ -82,39 +82,39 @@ ORDA [`constructor()`](./ordaClasses.md#class-constructor) 関数は必ずクラ
```4d
{local} Function event touched($event : Object)
{local} Function event touched ($event : Object)
-// code
+// コード
```
-This event is triggered each time a value is modified in the entity.
+このイベントはエンティティ内の値が編集されるたびにトリガーされます。
- 関数をエンティティレベルで定義していた場合(第一シンタックス)、その関数はエンティティの任意の属性における変更に対してトリガーされます。
- 関数を属性レベルで定義していた場合(第二シンタックス)、関数はその属性に対する変更に対してのみトリガーされます。
-This event is triggered as soon as the 4D Server / 4D engine can detect a modification of attribute value which can be due to the following actions:
+このイベントは4D Server / 4Dエンジンが属性値の変更を検知するとすぐにトリガーされます。この変更は、以下のようなアクションによって引き起こされます:
-- in **client/server with the [`local` keyword](../ORDA/ordaClasses.md#local-functions)** or in **4D single-user**:
- - the user sets a value on a 4D form,
- - the 4D code makes an assignment with the `:=` operator. The event is also triggered in case of self-assignment (`$entity.attribute:=$entity.attribute`).
-- in **client/server without the `local` keyword**: some 4D code that makes an assignment with the `:=` operator is [executed on the server](../commands-legacy/execute-on-server.md).
-- **`local` キーワードを使用しないクライアント/サーバー**、**[Qodly アプリケーション](https://developer.qodly.com/docs)** および **[リモートデータストア](../commands/open-datastore.md)**: ORDA 関数(エンティティ上の関数あるいはエンティティを引数として使用する関数)を呼び出した場合にはエンティティは4D Server に受信されます。 It means that you might have to implement a *refresh* or *preview* function on the remote application that sends an ORDA request to the server and triggers the event.
-- with the REST server: the value is received on the REST server with a [REST request](../REST/$method.md#methodupdate) (`$method=update`)
+- **[`local` キーワード](../ORDA/ordaClasses.md#local関数) を使用したクライアント/サーバー** あるいは **シングルユーザーモードの4D**:
+ - ユーザーが4D フォーム上で値を設定した
+ - 4D コードが `:=` 演算子によって代入を行った。 このイベントは自己代入の場合にもトリガーされます(`$entity.attribute:=$entity.attribute`)。
+- **`local` キーワード を使用しないクライアント/サーバー**: `:=` 演算子によって代入を行う一部の4D コードは、[サーバー上で実行されます](../commands-legacy/execute-on-server.md)。
+- **`local` キーワードを使用しないクライアント/サーバー**、**[Qodly アプリケーション](https://developer.qodly.com/docs)** および **[リモートデータストア](../commands/open-datastore.md)**: ORDA 関数(エンティティ上の関数あるいはエンティティを引数として使用する関数)を呼び出した場合にはエンティティは4D Server に受信されます。 これはつまり、リモートアプリケーション側に*refresh* あるいは *preview* 関数を実装することでORDA リクエストをサーバーに送信し、イベントをトリガーするようにする必要があるかもしれない、ということです。
+- REST サーバー: 値は REST サーバーに、[REST リクエスト](../REST/$method.md#methodupdate) (`$method=update`) とともに受信されます。
-The function receives an [*event* object](#event-parameter) as parameter.
+関数は [*event* オブジェクト](#event-引数) を引数として受け取ります。
このイベントがエラーを[throw](../commands-legacy/throw.md) する場合でも、進行中のアクションは停止しません。
:::note
-This event is also triggered:
+このイベントは以下の場合にもトリガーされます:
-- when attributes are assigned by the [`constructor()`](./ordaClasses.md#class-constructor-1) event,
-- when attributes are edited through the [Data Explorer](../Admin/dataExplorer.md).
+- 属性の値が [`constructor()`](./ordaClasses.md#class-constructor-1) イベントによって代入された場合
+- 属性の値が [データエクスプローラー](../Admin/dataExplorer.md) を通して編集された場合。
:::
#### 例題 1
-You want to uppercase all text attributes of an entity when it is updated.
+エンティティが更新されたときに、エンティティ内のテキスト属性を全て大文字に変換したい場合を考えます。
```4d
//ProductsEntity class
@@ -127,11 +127,11 @@ Function event touched($event : Object)
#### 例題 2
-The "touched" event is useful when it is not possible to write indexed query code in [`Function query()`](./ordaClasses.md#function-query-attributename) for a [computed attribute](./ordaClasses.md#computed-attributes).
+"touched" イベントは、[計算属性](./ordaClasses.md#計算属性)に対して[`Function query()`](./ordaClasses.md#function-query-attributename) 内でインデックスクエリコードを書くことが不可能な場合にとても有用です。
-This is the case for example, when your [`query`](./ordaClasses.md#function-query-attributename) function has to compare the value of different attributes from the same entity with each other. You must use formulas in the returned ORDA query -- which triggers sequential queries.
+これは例えば、[`query`](./ordaClasses.md#function-query-attributename) 関数が同じエンティティの異なる属性の値どうしを比較したいような場合です。 これは返されたORDA クエリ内でフォーミュラを使う必要があり、結果としてシーケンシャルクエリをトリガーすることになります。
-To fully understand this case, let's examine the following two calculated attributes:
+このような場合を完全に理解するために、以下の2つの計算属性について調べてみましょう:
```4d
Function get onGoing() : Boolean
@@ -141,9 +141,9 @@ Function get sameDay() : Boolean
return (This.departureDate=This.arrivalDate)
```
-Even though they are very similar, these functions cannot be associated with identical queries because they do not compare the same types of values. The first compares attributes to a given value, while the second compares attributes to each other.
+たとえ非常に似ていたとしても、これらのクエリは同じ型の値を比較している訳ではないため、これらの関数を同一のクエリと関連づけることはできません。 前者は属性を与えられた値と比較する一方、後者は属性どうしを比較します。
-- For the *onGoing* attribute, the [`query`](./ordaClasses.md#function-query-attributename) function is simple to write and uses indexed attributes:
+- *onGoing* 属性に対しては、[`query`](./ordaClasses.md#function-query-attributename) 関数をシンプルに書くことができ、またインデックス付きの属性を使用します:
```4d
Function query onGoing($event : Object) : Object
@@ -164,12 +164,12 @@ Function query onGoing($event : Object) : Object
End case
$myQuery:=($onGoingValue) ? "departureDate <= :1 AND arrivalDate >= :1" : "departureDate > :1 OR arrivalDate < :1"
- // the ORDA query string uses indexed attributes, it will be indexed
+ // ORDA クエリ文字列はインデックス付き属性を使用するので、インデックスがつけられます
$parameters.push(Current date)
return {query: $myQuery; parameters: $parameters}
```
-- For the *sameDay* attribute, the [`query`](./ordaClasses.md#function-query-attributename) function requires an ORDA query based on formulas and will be sequential:
+- *sameDay* 属性に対しては、[`query`](./ordaClasses.md#function-query-attributename) 関数はフォーミュラに基づいたORDA クエリを必要とするため、検索はシーケンシャルに行われます:
```4d
Function query sameDay($event : Object) : Text
@@ -187,11 +187,11 @@ Function query sameDay($event : Object) : Text
End case
return ($sameDayValue) ? "eval(This.departureDate = This.arrivalDate)" : "eval(This.departureDate != This.arrivalDate)"
- // the ORDA query string uses a formula, it will not be indexed
+ // ORDA クエリ文字列はフォーミュラを使用するため、インデックスはつけられません
```
-- Using a **scalar** *sameDay* attribute updated when other attributes are "touched" will save time:
+- しかし他の属性が"タッチ"されたときに更新される**スカラー値の** *sameDay* 属性を使用することで、時間を節約することができます:
```4d
//BookingEntity class
@@ -207,7 +207,7 @@ Function event touched arrivalDate($event : Object)
```
-#### Example 3 (diagram): Client/server with the `local` keyword:
+#### 例題 3 (図): `local` キーワードを用いたクライアント/サーバー:
```mermaid
@@ -218,15 +218,15 @@ sequenceDiagram
Client->>+Client: $people.lastname:="Brown"
Note over Client: local Function event touched lastname($event : Object)
This.lastname:=Uppercase(This.lastname)
-Note over Client:$people.lastname is uppercased
+Note over Client:$people.lastname は大文字に変換されます
Client->>+Server: $people.apply()
- Note over Server: The $people entity is received with the lastname attribute uppercased
+ Note over Server: $people エンティティは lastname 属性が大文字に変換された状態で受信されます
```
-#### Example 4 (diagram): Client/server without the `local` keyword
+#### 例題 4 (図): `local` キーワードを用いないクライアント/サーバー
```mermaid
@@ -236,37 +236,36 @@ sequenceDiagram
Client->>+Client: $people.lastname:="Brown"
- Note over Client:$people.lastname is not uppercased
+ Note over Client:$people.lastname は大文字に変換されません
Client->>+Server: $people.apply()
Note over Server: Function event touched lastname($event : Object)
This.lastname:=Uppercase(This.lastname)
- Server-->>-Client: The $people entity is updated
-
- Note over Client:$people.lastname is uppercased
+ Server-->>-Client: $people エンティティが更新されます
+ Note over Client:$people.lastname は大文字に変換されます。
```
-#### Example 5 (diagram): Qodly application
+#### 例題 5 (図): Qodly アプリケーション
```mermaid
sequenceDiagram
-Qodly page->>+ Server: Get an entity into the People Qodly source
+Qodly page->>+ Server: エンティティをPeople Qodlyソースへと受け取る
-Qodly page->>+Qodly page: The user updates People.lastname
+Qodly page->>+Qodly page: ユーザーが People.lastname を更新する
-Note over Qodly page: The People Qodly source lastname attribute is not uppercased
+Note over Qodly page: People Qodly ソースの lastname 属性は大文字に変換されていません
Qodly page->>+ Server: Function call People.apply()
Note over Server: Function event touched lastname($event : Object)
This.lastname:=Uppercase(This.lastname)
-Server-->>-Qodly page: The People Qodly source is updated
-Note over Qodly page: The People Qodly source lastname attribute is uppercased
+Server-->>-Qodly page: People Qodly ソースが更新されます
+Note over Qodly page: People Qodly ソースの lastname 属性が大文字に変換されます
```
diff --git a/i18n/ja/docusaurus-plugin-content-docs/version-20-R10/WebServer/sessions.md b/i18n/ja/docusaurus-plugin-content-docs/version-20-R10/WebServer/sessions.md
index d2391813312363..8a68b4fdf38b53 100644
--- a/i18n/ja/docusaurus-plugin-content-docs/version-20-R10/WebServer/sessions.md
+++ b/i18n/ja/docusaurus-plugin-content-docs/version-20-R10/WebServer/sessions.md
@@ -12,7 +12,7 @@ Webセッションでは、以下のことが可能です:
- セッションの [.storage](../API/SessionClass.md#storage) を使用して、Webクライアントのプロセス間でデータを保存および共有。
- セッションを実行しているユーザーに権限を関連付ける。
-:::tip Related blog post
+:::tip 関連したblog 記事
[高度な Webアプリケーションに対応したスケーラブルセッション](https://blog.4d.com/ja/scalable-sessions-for-advanced-web-applications/)
diff --git a/i18n/ja/docusaurus-plugin-content-docs/version-21/Desktop/clientServer.md b/i18n/ja/docusaurus-plugin-content-docs/version-21/Desktop/clientServer.md
index 740429e4ec9d80..d2fb494d4bbf85 100644
--- a/i18n/ja/docusaurus-plugin-content-docs/version-21/Desktop/clientServer.md
+++ b/i18n/ja/docusaurus-plugin-content-docs/version-21/Desktop/clientServer.md
@@ -128,7 +128,7 @@ Note that [privileges](../ORDA/privileges.md) should be set in the session befor
Shared sessions are handled through [OTP tokens](../WebServer/sessions.md#session-token-otp). After you created an OTP token on the server for the user session, you add the token (through the `$4DSID` parameter value) to web requests sent from web areas containing Qodly pages so that the user session on the server is identified and shared. On the web server side, if a web request contains an *OTP id* in the $4DSID parameter, the session corresponding to this OTP token is used.
-:::tip Related blog post
+:::tip 関連したblog 記事
[Share your 4D remote client session with web accesses](https://blog.4d.com/share-your-4d-remote-client-session-with-web-accesses)
diff --git a/i18n/ja/docusaurus-plugin-content-docs/version-21/FormEditor/forms.md b/i18n/ja/docusaurus-plugin-content-docs/version-21/FormEditor/forms.md
index d460a48eb79567..c439e23e779f13 100644
--- a/i18n/ja/docusaurus-plugin-content-docs/version-21/FormEditor/forms.md
+++ b/i18n/ja/docusaurus-plugin-content-docs/version-21/FormEditor/forms.md
@@ -118,7 +118,7 @@ This feature can only be used on Windows. On macOS, it is ignored.
:::
-:::tip Related blog post
+:::tip 関連したblog 記事
[Modernize your 4D interfaces with Fluent UI](https://blog.4d.com/modernize-your-4d-interfaces-with-fluent-ui)
diff --git a/i18n/ja/docusaurus-plugin-content-docs/version-21/FormObjects/webArea_overview.md b/i18n/ja/docusaurus-plugin-content-docs/version-21/FormObjects/webArea_overview.md
index 8ca42d96925e4b..8f1612257d310e 100644
--- a/i18n/ja/docusaurus-plugin-content-docs/version-21/FormObjects/webArea_overview.md
+++ b/i18n/ja/docusaurus-plugin-content-docs/version-21/FormObjects/webArea_overview.md
@@ -24,7 +24,7 @@ Webエリアには 2つの特別な変数が自動で割り当てられます:
- [`URL`](properties_WebArea.md#url) --Web エリアが表示するURL をコントロールします。
- [`Progression`](properties_WebArea.md#progression) -- Web エリア内に表示されているページのロード率をコントロールします。
-> 4D v19 R5 以降、Progression 変数は、[Windows のシステムレンダリングエンジン](./webArea_overview.md#Webレンダリングエンジン) を使用しているWeb エリアにおいては更新されなくなりました。
+> As of 4D 19 R5, the Progression variable is no longer updated in Web Areas using the [Windows system rendering engine](./webArea_overview.md#web-rendering-engine).
### Webレンダリングエンジン
@@ -338,9 +338,11 @@ Webインスペクターを表示させるには、`WA OPEN WEB INSPECTOR` コ
}
```
-### 参照
+:::info 関連したblog 記事
-[Specify your own parameters to initialize the embedded web area (blog 記事)](https://blog.4d.com/specify-your-own-parameters-to-initialize-the-embedded-web-area)
+[Custom Parameters for Initializing Embedded Web Area](https://blog.4d.com/custom-parameters-for-initializing-embedded-web-area/)
+
+:::
diff --git a/i18n/ja/docusaurus-plugin-content-docs/version-21/ORDA/orda-events.md b/i18n/ja/docusaurus-plugin-content-docs/version-21/ORDA/orda-events.md
index 1dbf369a2ddef6..e0066e085544e8 100644
--- a/i18n/ja/docusaurus-plugin-content-docs/version-21/ORDA/orda-events.md
+++ b/i18n/ja/docusaurus-plugin-content-docs/version-21/ORDA/orda-events.md
@@ -16,7 +16,7 @@ title: エンティティイベント
イベント関数の実行は直接トリガーすることはできません。 イベントは、ユーザーアクションや、エンティティまたはその属性に対するコードを通して実行された操作に基づいて、ORDA によって自動的に呼び出されます。
-:::tip Related blog post
+:::tip 関連したblog 記事
[ORDA – Handle an event-driven logic during data persistence actions](https://blog.4d.com/orda-handle-an-event-driven-logic-during-database-operations)
@@ -110,13 +110,13 @@ ORDA [`constructor()`](./ordaClasses.md#class-constructor) 関数は必ずクラ
| seriousError | Boolean | validate イベントでのみ使用されます(以下参照)。 `True`: [深刻(予測不能)なエラー](../Concepts/error-handling.md#予測可能なエラーvs予測不能なエラー) を作成し、例外をトリガーします。 `dk status serious validation error` ステータスを追加します`False`: creates only a [静か(予測可能) なエラー](../Concepts/error-handling.md#予測可能なエラーvs予測不可なエラー) のみを作成します。 `dk status validation failed` ステータスを追加します | 可能(デフォルトはfalse) |
| componentSignature | Text | 常に "DBEV" | × |
-- [Serious errors](../Concepts/error-handling.md#predictable-vs-unpredictable-errors) are stacked in the `errors` collection property of the **Result object** returned by the [`save()`](../API/EntityClass.md#save) or [`drop()`](../API/EntityClass.md#drop) functions.
-- In case of an error triggered by a **validate** event, the `seriousError` property allows you to choose the level of the error to generate:
- - If **true**: a serious error is thrown and should be handled by the [error processing code](../Concepts/error-handling.md#predictable-vs-unpredictable-errors), such as a [try catch](../Concepts/error-handling.md#trycatchend-try). In the result object of the calling function, `status` gets `dk status serious validation error` and `statusText` gets "Serious Validation Error". The error is raised at the end of the event and reach the client requesting the save/drop action (REST client for example).
- - If **false** (default): a [silent (predictable) error is generated](../Concepts/error-handling.md#predictable-vs-unpredictable-errors). It does not trigger any exception and is not stacked in the errors returned by the [`Last errors`](../commands/last-errors.md) command. In the result object of the calling function, `status` gets `dk status validation failed` and `statusText` gets "Mild Validation Error".
-- In case of an error triggered by a **saving/dropping** event, when an error object is returned, the error is always raised as a serious error whatever the `seriousError` property value.
+- [深刻なエラー](../Concepts/error-handling.md#予測可能なエラーvs予測不可なエラー) は[`save()`](../API/EntityClass.md#save) または [`drop()`](../API/EntityClass.md#drop) 関数から返される **Result オブジェクト** の `errors` コレクションプロパティにスタックされます。
+- **validate** イベントによってトリガーされたエラーの場合、 `seriousError` プロパティを使用することで生成するエラーのレベルを選択することができます:
+ - **true** の場合: 深刻なエラーが生成され、[try catch](../Concepts/error-handling.md#trycatchend-try)などの[エラー処理コード](../Concepts/error-handling.md#予測可能なエラーvs予測不可なエラー) によって管理される必要があります。 呼び出した関数のresult オブジェクトでは、`status` には `dk status serious validation error` が入り、 `statusText` には "Serious Validation Error" が入ります。 エラーはイベントの終わりに生成され、保存/ドロップアクションをリクエストしているクライアント(例えばREST クライアントなど)に届きます。
+ - **false** (デフォルト)の場合: [静か(予測可能) なエラーが生成されます](../Concepts/error-handling.md#予測可能なエラーvs予測不可なエラー)。 これは例外はトリガーせず、また[`Last errors`](../commands/last-errors.md) コマンドから返されるエラーの中にはスタックされません。 呼び出した関数のresult オブジェクトでは、`status` には `dk status validation failed` が入り、 `statusText` には "Mild Validation Error" が入ります。
+- **保存時/ドロップ時** のイベントによってトリガーされたエラーの場合、エラーオブジェクトが返されると、 `seriousError` プロパティの値に関わらず、エラーは常に深刻なエラーとして生成されます。
-## Event function description
+## イベント関数の詳細
### `Function event touched`
@@ -125,39 +125,39 @@ ORDA [`constructor()`](./ordaClasses.md#class-constructor) 関数は必ずクラ
```4d
{local} Function event touched($event : Object)
{local} Function event touched ($event : Object)
-// code
+// コード
```
-This event is triggered each time a value is modified in the entity.
+このイベントはエンティティ内の値が編集されるたびにトリガーされます。
-- If you defined the function at the entity level (first syntax), it is triggered for modifications on any attribute of the entity.
-- If you defined the function at the attribute level (second syntax), it is triggered only for modifications on this attribute.
+- 関数をエンティティレベルで定義していた場合(第一シンタックス)、その関数はエンティティの任意の属性における変更に対してトリガーされます。
+- 関数を属性レベルで定義していた場合(第二シンタックス)、関数はその属性に対する変更に対してのみトリガーされます。
-This event is triggered as soon as the 4D Server / 4D engine can detect a modification of attribute value which can be due to the following actions:
+このイベントは4D Server / 4Dエンジンが属性値の変更を検知するとすぐにトリガーされます。この変更は、以下のようなアクションによって引き起こされます:
-- in **client/server with the [`local` keyword](../ORDA/ordaClasses.md#local-functions)** or in **4D single-user**:
- - the user sets a value on a 4D form,
- - the 4D code makes an assignment with the `:=` operator. The event is also triggered in case of self-assignment (`$entity.attribute:=$entity.attribute`).
-- in **client/server without the `local` keyword**: some 4D code that makes an assignment with the `:=` operator is [executed on the server](../commands-legacy/execute-on-server.md).
-- **`local` キーワードを使用しないクライアント/サーバー**、**[Qodly アプリケーション](https://developer.4d.com/qodly)** および **[リモートデータストア](../commands/open-datastore.md)**: ORDA 関数(エンティティ上の関数あるいはエンティティを引数として使用する関数)を呼び出した場合にはエンティティは4D Server 受信されます。 It means that you might have to implement a *refresh* or *preview* function on the remote application that sends an ORDA request to the server and triggers the event.
-- with the REST server: the value is received on the REST server with a [REST request](../REST/$method.md#methodupdate) (`$method=update`)
+- **[`local` キーワード](../ORDA/ordaClasses.md#local関数) を使用したクライアント/サーバー** あるいは **シングルユーザーモードの4D**:
+ - ユーザーが4D フォーム上で値を設定した
+ - 4D コードが `:=` 演算子によって代入を行った。 このイベントは自己代入の場合にもトリガーされます(`$entity.attribute:=$entity.attribute`)。
+- **`local` キーワード を使用しないクライアント/サーバー**: `:=` 演算子によって代入を行う一部の4D コードは、[サーバー上で実行されます](../commands-legacy/execute-on-server.md)。
+- **`local` キーワードを使用しないクライアント/サーバー**、**[Qodly アプリケーション](https://developer.4d.com/qodly)** および **[リモートデータストア](../commands/open-datastore.md)**: ORDA 関数(エンティティ上の関数あるいはエンティティを引数として使用する関数)を呼び出した場合にはエンティティは4D Server 受信されます。 これはつまり、リモートアプリケーション側に*refresh* あるいは *preview* 関数を実装することでORDA リクエストをサーバーに送信し、イベントをトリガーするようにする必要があるかもしれない、ということです。
+- REST サーバー: 値は REST サーバーに、[REST リクエスト](../REST/$method.md#methodupdate) (`$method=update`) とともに受信されます。
-The function receives an [*event* object](#event-parameter) as parameter.
+関数は [*event* オブジェクト](#event-引数) を引数として受け取ります。
-If this function [throws](../commands/throw) an error, it will not stop the undergoing action.
+この関数がエラーを[throw](../commands/throw) する場合でも、進行中のアクションは停止しません。
:::note
-This event is also triggered:
+このイベントは以下の場合にもトリガーされます:
-- when attributes are assigned by the [`constructor()`](./ordaClasses.md#class-constructor-1) event,
-- when attributes are edited through the [Data Explorer](../Admin/dataExplorer.md).
+- 属性の値が [`constructor()`](./ordaClasses.md#class-constructor-1) イベントによって代入された場合
+- 属性の値が [データエクスプローラー](../Admin/dataExplorer.md) を通して編集された場合。
:::
#### 例題 1
-You want to uppercase all text attributes of an entity when it is updated.
+エンティティが更新されたときに、エンティティ内のテキスト属性を全て大文字に変換したい場合を考えます。
```4d
//ProductsEntity class
@@ -170,11 +170,11 @@ Function event touched($event : Object)
#### 例題 2
-The "touched" event is useful when it is not possible to write indexed query code in [`Function query()`](./ordaClasses.md#function-query-attributename) for a [computed attribute](./ordaClasses.md#computed-attributes).
+"touched" イベントは、[計算属性](./ordaClasses.md#計算属性)に対して[`Function query()`](./ordaClasses.md#function-query-attributename) 内でインデックスクエリコードを書くことが不可能な場合にとても有用です。
-This is the case for example, when your [`query`](./ordaClasses.md#function-query-attributename) function has to compare the value of different attributes from the same entity with each other. You must use formulas in the returned ORDA query -- which triggers sequential queries.
+これは例えば、[`query`](./ordaClasses.md#function-query-attributename) 関数が同じエンティティの異なる属性の値どうしを比較したいような場合です。 これは返されたORDA クエリ内でフォーミュラを使う必要があり、結果としてシーケンシャルクエリをトリガーすることになります。
-To fully understand this case, let's examine the following two calculated attributes:
+このような場合を完全に理解するために、以下の2つの計算属性について調べてみましょう:
```4d
Function get onGoing() : Boolean
@@ -184,9 +184,9 @@ Function get sameDay() : Boolean
return (This.departureDate=This.arrivalDate)
```
-Even though they are very similar, these functions cannot be associated with identical queries because they do not compare the same types of values. The first compares attributes to a given value, while the second compares attributes to each other.
+たとえ非常に似ていたとしても、これらのクエリは同じ型の値を比較している訳ではないため、これらの関数を同一のクエリと関連づけることはできません。 前者は属性を与えられた値と比較する一方、後者は属性どうしを比較します。
-- For the *onGoing* attribute, the [`query`](./ordaClasses.md#function-query-attributename) function is simple to write and uses indexed attributes:
+- *onGoing* 属性に対しては、[`query`](./ordaClasses.md#function-query-attributename) 関数をシンプルに書くことができ、またインデックス付きの属性を使用します:
```4d
Function query onGoing($event : Object) : Object
@@ -207,12 +207,12 @@ Function query onGoing($event : Object) : Object
End case
$myQuery:=($onGoingValue) ? "departureDate <= :1 AND arrivalDate >= :1" : "departureDate > :1 OR arrivalDate < :1"
- // the ORDA query string uses indexed attributes, it will be indexed
+ // ORDA クエリ文字列はインデックス付き属性を使用するので、インデックスがつけられます
$parameters.push(Current date)
return {query: $myQuery; parameters: $parameters}
```
-- For the *sameDay* attribute, the [`query`](./ordaClasses.md#function-query-attributename) function requires an ORDA query based on formulas and will be sequential:
+- *sameDay* 属性に対しては、[`query`](./ordaClasses.md#function-query-attributename) 関数はフォーミュラに基づいたORDA クエリを必要とするため、検索はシーケンシャルに行われます:
```4d
Function query sameDay($event : Object) : Text
@@ -230,11 +230,11 @@ Function query sameDay($event : Object) : Text
End case
return ($sameDayValue) ? "eval(This.departureDate = This.arrivalDate)" : "eval(This.departureDate != This.arrivalDate)"
- // the ORDA query string uses a formula, it will not be indexed
+ // ORDA クエリ文字列はフォーミュラを使用するため、インデックスはつけられません
```
-- Using a **scalar** *sameDay* attribute updated when other attributes are "touched" will save time:
+- しかし他の属性が"タッチ"されたときに更新される**スカラー値の** *sameDay* 属性を使用することで、時間を節約することができます:
```4d
//BookingEntity class
@@ -250,7 +250,7 @@ Function event touched arrivalDate($event : Object)
```
-#### Example 3 (diagram): Client/server with the `local` keyword:
+#### 例題 3 (図): `local` キーワードを用いたクライアント/サーバー:
```mermaid
@@ -261,15 +261,15 @@ sequenceDiagram
Client->>+Client: $people.lastname:="Brown"
Note over Client: local Function event touched lastname($event : Object)
This.lastname:=Uppercase(This.lastname)
-Note over Client:$people.lastname is uppercased
+Note over Client:$people.lastname は大文字に変換されます
Client->>+Server: $people.apply()
- Note over Server: The $people entity is received with the lastname attribute uppercased
+ Note over Server: $people エンティティは lastname 属性が大文字に変換された状態で受信されます
```
-#### Example 4 (diagram): Client/server without the `local` keyword
+#### 例題 4 (図): `local` キーワードを用いないクライアント/サーバー
```mermaid
@@ -279,37 +279,36 @@ sequenceDiagram
Client->>+Client: $people.lastname:="Brown"
- Note over Client:$people.lastname is not uppercased
+ Note over Client:$people.lastname は大文字に変換されません
Client->>+Server: $people.apply()
Note over Server: Function event touched lastname($event : Object)
This.lastname:=Uppercase(This.lastname)
- Server-->>-Client: The $people entity is updated
-
- Note over Client:$people.lastname is uppercased
+ Server-->>-Client: $people エンティティが更新されます
+ Note over Client:$people.lastname は大文字に変換されます。
```
-#### Example 5 (diagram): Qodly application
+#### 例題 5 (図): Qodly アプリケーション
```mermaid
sequenceDiagram
-Qodly page->>+ Server: Get an entity into the People Qodly source
+Qodly page->>+ Server: エンティティをPeople Qodlyソースへと受け取る
-Qodly page->>+Qodly page: The user updates People.lastname
+Qodly page->>+Qodly page: ユーザーが People.lastname を更新する
-Note over Qodly page: The People Qodly source lastname attribute is not uppercased
+Note over Qodly page: People Qodly ソースの lastname 属性は大文字に変換されていません
Qodly page->>+ Server: Function call People.apply()
Note over Server: Function event touched lastname($event : Object)
This.lastname:=Uppercase(This.lastname)
-Server-->>-Qodly page: The People Qodly source is updated
-Note over Qodly page: The People Qodly source lastname attribute is uppercased
+Server-->>-Qodly page: People Qodly ソースが更新されます
+Note over Qodly page: People Qodly ソースの lastname 属性が大文字に変換されます
```
@@ -321,47 +320,47 @@ Note over Qodly page: The People Qodly source lastname attribute is uppercased
```4d
Function event validateSave($event : Object)
Function event validateSave ($event : Object)
-// code
+// コード
```
-This event is triggered each time an entity is about to be saved.
+このイベントは、エンティティが保存されようとするたびに毎回トリガーされます。
-- if you defined the function at the entity level (first syntax), it is called for any attribute of the entity.
-- if you defined the function at the attribute level (second syntax), it is called only for this attribute. This function is **not** executed if the attribute has not been touched in the entity.
+- 関数をエンティティレベルで定義していた場合(第一シンタックス)、その関数はエンティティの任意の属性に対して呼び出されます。
+- 関数を属性レベルで定義していた場合(第二シンタックス)、関数はその属性に対してのみ呼び出されます。 この関数は、エンティティ内の指定した属性がタッチされていない場合には、実行**されません**。
-The function receives an [*event* object](#event-parameter) as parameter.
+関数は [*event* オブジェクト](#event-引数) を引数として受け取ります。
-This event is triggered by the following functions:
+このイベントは、以下の関数によってトリガーされます:
- [`entity.save()`](../API/EntityClass.md#save)
- [`dataClass.fromCollection()`](../API/DataClassClass.md#fromcollection)
-This event is triggered **before** the entity is actually saved and lets you check data consistency so that you can stop the action if needed. For example, you can check in this event that "departure date" < "arrival date".
+このイベントは、エンティティが実際に保存される **前に** トリガーされるため、データの一貫性をチェックし、必要であればアクションを停止することができます。 例えば、このイベントを使用して、 "出発日" < "到着日" であることをチェックすることができます。
-To stop the action, the code of the function must return an [error object](#error-object).
+アクションを停止するためには、関数のコードで[エラーオブジェクト](#エラーオブジェクト) を返す必要があります。
:::note
-It is not recommended to update the entity within this function (using `This`).
+この関数内において(`This` を使用して)エンティティを更新することは推奨されません。
:::
#### 例題
-In this example, it is not allowed to save a product with a margin lower than 50%. In case of an invalid price attribute, you return an error object and thus, stop the save action.
+この例では、マージンが50% 未満の製品を保存することは許可されていません。 無効な price 属性の場合、エラーオブジェクトを換えし、保存アクションを停止します。
```4d
// ProductsEntity class
//
-// validateSave event at attribute level
+// 属性レベルの validateSave イベント
Function event validateSave margin($event : Object) : Object
var $result : Object
-//The user can't create a product whose margin is < 50%
+// ユーザーは margin が50% 未満の製品を作成することはできません
If (This.margin<50)
- $result:={errCode: 1; message: "The validation of this product failed"; \
- extraDescription: {info: "The margin of this product ("+String(This.margin)+") is lower than 50%"}; seriousError: False}
+ $result:={errCode: 1; message: "製品の検証に失敗しました"; \
+ extraDescription: {info: "この製品のマージンの ("+String(This.margin)+") が 50%" 未満になっています}; seriousError: False}
End if
return $result
@@ -374,17 +373,17 @@ return $result
```4d
Function event saving($event : Object)
Function event saving ($event : Object)
-// code
+// コード
```
-This event is triggered each time an entity is being saved.
+このイベントはエンティティが保存されるたびにトリガーされます。
-- If you defined the function at the entity level (first syntax), it is called for any attribute of the entity. The function is executed even if no attribute has been touched in the entity (e.g. in case of sending data to an external app each time a save is done).
-- If you defined the function at the attribute level (second syntax), it is called only for this attribute. The function is **not** executed if the attribute has not been touched in the entity.
+- 関数をエンティティレベルで定義していた場合(第一シンタックス)、その関数はエンティティの任意の属性に対して呼び出されます。 この関数はエンティティ内でどの属性もタッチされていない場合でも実行されます(例: 保存されるたびに外部アプリへとデータを送信する場合など)。
+- 関数を属性レベルで定義していた場合(第二シンタックス)、関数はその属性に対してのみ呼び出されます。 この関数は、エンティティ内の指定した属性がタッチされていない場合には、実行**されません**。
-The function receives an [*event* object](#event-parameter) as parameter.
+関数は [*event* オブジェクト](#event-引数) を引数として受け取ります。
-This event is triggered by the following functions:
+このイベントは、以下の関数によってトリガーされます:
- [`entity.save()`](../API/EntityClass.md#save)
- [`dataClass.fromCollection()`](../API/DataClassClass.md#fromcollection)
@@ -399,7 +398,7 @@ The business logic should raise errors which can't be detected during the `valid
During the save action, 4D engine errors can be raised (index, stamp has changed, not enough space on disk).
-To stop the action, the code of the function must return an [error object](#error-object).
+アクションを停止するためには、関数のコードで[エラーオブジェクト](#エラーオブジェクト) を返す必要があります。
#### 例題
@@ -455,7 +454,7 @@ This event is triggered just after an entity is saved in the data file, when at
This event is useful after saving data to propagate the save action outside the application or to execute administration tasks. For example, it can be used to send a confirmation email after data have been saved. Or, in case of error while saving data, it can make a rollback to restore a consistent state of data.
-The function receives an [*event* object](#event-parameter) as parameter.
+関数は [*event* オブジェクト](#event-引数) を引数として受け取ります。
- To avoid infinite loops, calling a [`save()`](../API/EntityClass.md#save) on the current entity (through `This`) in this function is **not allowed**. It will raise an error.
- Throwing an [error object](#error-object) is **not supported** by this function.
@@ -493,10 +492,10 @@ Function event validateDrop ($event : Object)
This event is triggered each time an entity is about to be dropped.
-- If you defined the function at the entity level (first syntax), it is called for any attribute of the entity.
-- If you defined the function at the attribute level (second syntax), it is called only for this attribute.
+- 関数をエンティティレベルで定義していた場合(第一シンタックス)、その関数はエンティティの任意の属性に対して呼び出されます。
+- 関数を属性レベルで定義していた場合(第二シンタックス)、関数はその属性に対してのみ呼び出されます。
-The function receives an [*event* object](#event-parameter) as parameter.
+関数は [*event* オブジェクト](#event-引数) を引数として受け取ります。
This event is triggered by the following features:
@@ -506,7 +505,7 @@ This event is triggered by the following features:
This event is triggered **before** the entity is actually dropped, allowing you to check data consistency and if necessary, to stop the drop action.
-To stop the action, the code of the function must return an [error object](#error-object).
+アクションを停止するためには、関数のコードで[エラーオブジェクト](#エラーオブジェクト) を返す必要があります。
#### 例題
@@ -540,10 +539,10 @@ Function event dropping ($event : Object)
This event is triggered each time an entity is being dropped.
-- If you defined the function at the entity level (first syntax), it is called for any attribute of the entity.
-- If you defined the function at the attribute level (second syntax), it is called only for this attribute.
+- 関数をエンティティレベルで定義していた場合(第一シンタックス)、その関数はエンティティの任意の属性に対して呼び出されます。
+- 関数を属性レベルで定義していた場合(第二シンタックス)、関数はその属性に対してのみ呼び出されます。
-The function receives an [*event* object](#event-parameter) as parameter.
+関数は [*event* オブジェクト](#event-引数) を引数として受け取ります。
This event is triggered by the following features:
@@ -559,7 +558,7 @@ The business logic should raise errors which cannot be detected during the `vali
:::
-To stop the action, the code of the function must return an [error object](#error-object).
+アクションを停止するためには、関数のコードで[エラーオブジェクト](#エラーオブジェクト) を返す必要があります。
#### 例題
@@ -601,7 +600,7 @@ This event is triggered just after an entity is dropped.
This event is useful after dropping data to propagate the drop action outside the application or to execute administration tasks. For example, it can be used to send a cancellation email after data have been dropped. Or, in case of error while dropping data, it can log an information for the administrator to check data consistency.
-The function receives an [*event* object](#event-parameter) as parameter.
+関数は [*event* オブジェクト](#event-引数) を引数として受け取ります。
- To avoid infinite loops, calling a [`drop()`](../API/EntityClass.md#drop) on the current entity (through `This`) in this function is **not allowed**. It will raise an error.
- Throwing an [error object](#error-object) is **not supported** by this function.
diff --git a/i18n/ja/docusaurus-plugin-content-docs/version-21/WebServer/http-rules.md b/i18n/ja/docusaurus-plugin-content-docs/version-21/WebServer/http-rules.md
index 6f6e8aacb4e491..9b152c29bb5728 100644
--- a/i18n/ja/docusaurus-plugin-content-docs/version-21/WebServer/http-rules.md
+++ b/i18n/ja/docusaurus-plugin-content-docs/version-21/WebServer/http-rules.md
@@ -220,7 +220,7 @@ $return:=WEB Server.start($settings)
```
-:::tip Related blog post
+:::tip 関連したblog 記事
[New Way to Control Your HTTP Responses](https://blog.4d.com/new-way-to-control-your-http-responses/)
diff --git a/i18n/ja/docusaurus-plugin-content-docs/version-21/WebServer/sessions.md b/i18n/ja/docusaurus-plugin-content-docs/version-21/WebServer/sessions.md
index aec14fa9fb346b..a6ab2ad0e930de 100644
--- a/i18n/ja/docusaurus-plugin-content-docs/version-21/WebServer/sessions.md
+++ b/i18n/ja/docusaurus-plugin-content-docs/version-21/WebServer/sessions.md
@@ -12,7 +12,7 @@ Webセッションでは、以下のことが可能です:
- セッションの [.storage](../API/SessionClass.md#storage) を使用して、Webクライアントのプロセス間でデータを保存および共有。
- セッションを実行しているユーザーに権限を関連付ける。
-:::tip Related blog post
+:::tip 関連したblog 記事
[高度な Webアプリケーションに対応したスケーラブルセッション](https://blog.4d.com/ja/scalable-sessions-for-advanced-web-applications/)
diff --git a/i18n/pt/docusaurus-plugin-content-docs/current/FormObjects/webArea_overview.md b/i18n/pt/docusaurus-plugin-content-docs/current/FormObjects/webArea_overview.md
index cf628197f3b95b..a4de35f798af6b 100644
--- a/i18n/pt/docusaurus-plugin-content-docs/current/FormObjects/webArea_overview.md
+++ b/i18n/pt/docusaurus-plugin-content-docs/current/FormObjects/webArea_overview.md
@@ -24,7 +24,7 @@ Duas variáveis específicas podem ser associadas a cada área web:
- [`URL`](properties_WebArea.md#url) -- para controlar a URL exibida pela área Web
- [`Progression`](properties_WebArea.md#progression) -- para controlar a porcentagem de carregamento da página exibida na área Web.
-> A partir do 4D v19 R5, a variável Progression não é mais atualizada em Web Areas usando o [mecanismo de renderização do sistema Windows](./webArea_overview.md#web-rendering-engine).
+> As of 4D 19 R5, the Progression variable is no longer updated in Web Areas using the [Windows system rendering engine](./webArea_overview.md#web-rendering-engine).
### Motor de renderização Web
@@ -338,9 +338,11 @@ O arquivo 4DCEFParameters.json padrão contém os seguintes botões:
}
```
-### Veja também
+:::info Related blog post
-[Especifique seus próprios parâmetros para inicializar a área Web incorporada (postagem no blog)](https://blog.4d.com/specify-your-own-parameters-to-initialize-the-embedded-web-area)
+[Custom Parameters for Initializing Embedded Web Area](https://blog.4d.com/custom-parameters-for-initializing-embedded-web-area/)
+
+:::
diff --git a/i18n/pt/docusaurus-plugin-content-docs/version-20-R10/FormObjects/webArea_overview.md b/i18n/pt/docusaurus-plugin-content-docs/version-20-R10/FormObjects/webArea_overview.md
index 00dc4d05967a4d..0ce1ecd44a2251 100644
--- a/i18n/pt/docusaurus-plugin-content-docs/version-20-R10/FormObjects/webArea_overview.md
+++ b/i18n/pt/docusaurus-plugin-content-docs/version-20-R10/FormObjects/webArea_overview.md
@@ -18,7 +18,7 @@ Duas variáveis específicas podem ser associadas a cada área web:
- [`URL`](properties_WebArea.md#url) -- para controlar a URL exibida pela área Web
- [`Progression`](properties_WebArea.md#progression) -- para controlar a porcentagem de carregamento da página exibida na área Web.
-> A partir do 4D v19 R5, a variável Progression não é mais atualizada em Web Areas usando o [mecanismo de renderização do sistema Windows](./webArea_overview.md#web-rendering-engine).
+> As of 4D 19 R5, the Progression variable is no longer updated in Web Areas using the [Windows system rendering engine](./webArea_overview.md#web-rendering-engine).
### Motor de renderização Web
@@ -332,9 +332,11 @@ O arquivo 4DCEFParameters.json padrão contém os seguintes botões:
}
```
-### Veja também
+:::info Related blog post
-[Especifique seus próprios parâmetros para inicializar a área Web incorporada (postagem no blog)](https://blog.4d.com/specify-your-own-parameters-to-initialize-the-embedded-web-area)
+[Custom Parameters for Initializing Embedded Web Area](https://blog.4d.com/custom-parameters-for-initializing-embedded-web-area/)
+
+:::
diff --git a/i18n/pt/docusaurus-plugin-content-docs/version-21/FormObjects/webArea_overview.md b/i18n/pt/docusaurus-plugin-content-docs/version-21/FormObjects/webArea_overview.md
index cf628197f3b95b..a4de35f798af6b 100644
--- a/i18n/pt/docusaurus-plugin-content-docs/version-21/FormObjects/webArea_overview.md
+++ b/i18n/pt/docusaurus-plugin-content-docs/version-21/FormObjects/webArea_overview.md
@@ -24,7 +24,7 @@ Duas variáveis específicas podem ser associadas a cada área web:
- [`URL`](properties_WebArea.md#url) -- para controlar a URL exibida pela área Web
- [`Progression`](properties_WebArea.md#progression) -- para controlar a porcentagem de carregamento da página exibida na área Web.
-> A partir do 4D v19 R5, a variável Progression não é mais atualizada em Web Areas usando o [mecanismo de renderização do sistema Windows](./webArea_overview.md#web-rendering-engine).
+> As of 4D 19 R5, the Progression variable is no longer updated in Web Areas using the [Windows system rendering engine](./webArea_overview.md#web-rendering-engine).
### Motor de renderização Web
@@ -338,9 +338,11 @@ O arquivo 4DCEFParameters.json padrão contém os seguintes botões:
}
```
-### Veja também
+:::info Related blog post
-[Especifique seus próprios parâmetros para inicializar a área Web incorporada (postagem no blog)](https://blog.4d.com/specify-your-own-parameters-to-initialize-the-embedded-web-area)
+[Custom Parameters for Initializing Embedded Web Area](https://blog.4d.com/custom-parameters-for-initializing-embedded-web-area/)
+
+:::
From ad253c294bd1746d9c519a41bfce1381d3fb5397 Mon Sep 17 00:00:00 2001
From: arnaud-4d
Date: Thu, 20 Nov 2025 16:47:49 +0100
Subject: [PATCH 35/75] fix tips
---
docs/WebServer/sessions.md | 4 ++--
.../current/WebServer/sessions.md | 4 ++--
.../version-20-R10/WebServer/sessions.md | 2 +-
.../version-21/WebServer/sessions.md | 4 ++--
.../current/WebServer/sessions.md | 4 ++--
.../version-20-R10/WebServer/sessions.md | 2 +-
.../version-21/WebServer/sessions.md | 4 ++--
.../current/WebServer/sessions.md | 4 ++--
.../version-20-R10/WebServer/sessions.md | 2 +-
.../version-21/WebServer/sessions.md | 4 ++--
.../current/WebServer/sessions.md | 4 ++--
.../version-20-R10/WebServer/sessions.md | 2 +-
.../version-21/WebServer/sessions.md | 4 ++--
versioned_docs/version-20-R10/WebServer/sessions.md | 2 +-
versioned_docs/version-21/WebServer/sessions.md | 4 ++--
15 files changed, 25 insertions(+), 25 deletions(-)
diff --git a/docs/WebServer/sessions.md b/docs/WebServer/sessions.md
index d0a2bd033577be..87725a2d4919c6 100644
--- a/docs/WebServer/sessions.md
+++ b/docs/WebServer/sessions.md
@@ -209,7 +209,7 @@ Else
End if
```
-:::tips Related blog posts
+:::tip Related blog posts
[Scalable sessions for advanced web applications](https://blog.4d.com/scalable-sessions-for-advanced-web-applications/)
@@ -221,7 +221,7 @@ The 4D web server allows you to generate, share, and use OTP (One-Time Passcode)
In 4D, OTP session tokens are useful when calling external URLs and being called back in another browser or device (mobile/computer). Typically, a third-party application sends a confirmation email containing a callback link on which the user has to click. The callback link includes the OTP token, so that the session which triggered the callback is loaded along with its data and privileges. This principle allows you to share the same session on multiple devices. Thanks to this architecture, the [session cookie](#session-implementation) is not exposed on the network, which eliminates the risk of man-in-the-middle attack.
-:::tips Related blog posts
+:::tip Related blog posts
[Connect Your Web Apps to Third-Party Systems](https://blog.4d.com/connect-your-web-apps-to-third-party-systems/)
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/WebServer/sessions.md b/i18n/es/docusaurus-plugin-content-docs/current/WebServer/sessions.md
index ae2eec52be1b58..94acf76215ffbc 100644
--- a/i18n/es/docusaurus-plugin-content-docs/current/WebServer/sessions.md
+++ b/i18n/es/docusaurus-plugin-content-docs/current/WebServer/sessions.md
@@ -201,7 +201,7 @@ Else
End if
```
-:::tips Entradas de blog relacionadas
+:::tip Entradas de blog relacionadas
[Sesiones escalables para aplicaciones web avanzadas](https://blog.4d.com/scalable-sessions-for-advanced-web-applications/)
@@ -213,7 +213,7 @@ El servidor web 4D le permite generar, compartir y utilizar tokens de sesión OT
In 4D, OTP session tokens are useful when calling external URLs and being called back in another browser or device (mobile/computer). Normalmente, una aplicación de terceros envía un correo electrónico de confirmación que contiene un enlace de retrollamada en el que el usuario tiene que hacer clic. El enlace de retrollamada incluye el token OTP, para que la sesión que activó la retrollamada se cargue junto con sus datos y privilegios. This principle allows you to share the same session on multiple devices. Gracias a esta arquitectura, la [cookie de sesión](#session-implementation) no está expuesta en la red, lo que elimina el riesgo de un ataque de hombre en el medio.
-:::tips Entradas de blog relacionadas
+:::tip Entradas de blog relacionadas
[Conecte sus aplicaciones web a sistemas de terceros](https://blog.4d.com/connect-your-web-apps-to-third-party-systems/)
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/WebServer/sessions.md b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/WebServer/sessions.md
index 1c57acedaefb02..cf67617260a18d 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/WebServer/sessions.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/WebServer/sessions.md
@@ -201,7 +201,7 @@ Else
End if
```
-:::tips Entradas de blog relacionadas
+:::tip Entradas de blog relacionadas
[Sesiones escalables para aplicaciones web avanzadas](https://blog.4d.com/scalable-sessions-for-advanced-web-applications/)
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-21/WebServer/sessions.md b/i18n/es/docusaurus-plugin-content-docs/version-21/WebServer/sessions.md
index ae2eec52be1b58..94acf76215ffbc 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-21/WebServer/sessions.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-21/WebServer/sessions.md
@@ -201,7 +201,7 @@ Else
End if
```
-:::tips Entradas de blog relacionadas
+:::tip Entradas de blog relacionadas
[Sesiones escalables para aplicaciones web avanzadas](https://blog.4d.com/scalable-sessions-for-advanced-web-applications/)
@@ -213,7 +213,7 @@ El servidor web 4D le permite generar, compartir y utilizar tokens de sesión OT
In 4D, OTP session tokens are useful when calling external URLs and being called back in another browser or device (mobile/computer). Normalmente, una aplicación de terceros envía un correo electrónico de confirmación que contiene un enlace de retrollamada en el que el usuario tiene que hacer clic. El enlace de retrollamada incluye el token OTP, para que la sesión que activó la retrollamada se cargue junto con sus datos y privilegios. This principle allows you to share the same session on multiple devices. Gracias a esta arquitectura, la [cookie de sesión](#session-implementation) no está expuesta en la red, lo que elimina el riesgo de un ataque de hombre en el medio.
-:::tips Entradas de blog relacionadas
+:::tip Entradas de blog relacionadas
[Conecte sus aplicaciones web a sistemas de terceros](https://blog.4d.com/connect-your-web-apps-to-third-party-systems/)
diff --git a/i18n/fr/docusaurus-plugin-content-docs/current/WebServer/sessions.md b/i18n/fr/docusaurus-plugin-content-docs/current/WebServer/sessions.md
index 20caa69023fa0f..693d469183f39d 100644
--- a/i18n/fr/docusaurus-plugin-content-docs/current/WebServer/sessions.md
+++ b/i18n/fr/docusaurus-plugin-content-docs/current/WebServer/sessions.md
@@ -201,7 +201,7 @@ Else
End if
```
-:::tips Articles de blog sur le sujet
+:::tip Articles de blog sur le sujet
[Sessions évolutives pour applications web avancées](https://blog.4d.com/scalable-sessions-for-advanced-web-applications/)
@@ -213,7 +213,7 @@ Le serveur web 4D vous permet de générer, de partager et d'utiliser des tokens
Dans 4D, les tokens de session OTP sont utiles pour appeler des URL externes et être rappelé dans un autre navigateur ou appareil (mobile/ordinateur). Généralement, une application tierce envoie un courriel de confirmation contenant un lien de rappel sur lequel l'utilisateur doit cliquer. Le lien de rappel inclut le token OTP, de sorte que la session qui a déclenché le rappel est chargée avec ses données et ses privilèges. Ce principe vous permet de partager la même session sur plusieurs appareils. Grâce à cette architecture, le [cookie de session] (#session-implementation) n'est pas exposé sur le réseau, ce qui élimine le risque d'une attaque de type "man-in-the-middle".
-:::tips Articles de blog sur le sujet
+:::tip Articles de blog sur le sujet
[Connectez vos applications Web à des systèmes tiers](https://blog.4d.com/connect-your-web-apps-to-third-party-systems/)
diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-20-R10/WebServer/sessions.md b/i18n/fr/docusaurus-plugin-content-docs/version-20-R10/WebServer/sessions.md
index 4e83fc460e136d..6abebd4d37060d 100644
--- a/i18n/fr/docusaurus-plugin-content-docs/version-20-R10/WebServer/sessions.md
+++ b/i18n/fr/docusaurus-plugin-content-docs/version-20-R10/WebServer/sessions.md
@@ -201,7 +201,7 @@ Else
End if
```
-:::tips Articles de blog sur le sujet
+:::tip Articles de blog sur le sujet
[Sessions évolutives pour applications web avancées](https://blog.4d.com/scalable-sessions-for-advanced-web-applications/)
diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-21/WebServer/sessions.md b/i18n/fr/docusaurus-plugin-content-docs/version-21/WebServer/sessions.md
index 20caa69023fa0f..693d469183f39d 100644
--- a/i18n/fr/docusaurus-plugin-content-docs/version-21/WebServer/sessions.md
+++ b/i18n/fr/docusaurus-plugin-content-docs/version-21/WebServer/sessions.md
@@ -201,7 +201,7 @@ Else
End if
```
-:::tips Articles de blog sur le sujet
+:::tip Articles de blog sur le sujet
[Sessions évolutives pour applications web avancées](https://blog.4d.com/scalable-sessions-for-advanced-web-applications/)
@@ -213,7 +213,7 @@ Le serveur web 4D vous permet de générer, de partager et d'utiliser des tokens
Dans 4D, les tokens de session OTP sont utiles pour appeler des URL externes et être rappelé dans un autre navigateur ou appareil (mobile/ordinateur). Généralement, une application tierce envoie un courriel de confirmation contenant un lien de rappel sur lequel l'utilisateur doit cliquer. Le lien de rappel inclut le token OTP, de sorte que la session qui a déclenché le rappel est chargée avec ses données et ses privilèges. Ce principe vous permet de partager la même session sur plusieurs appareils. Grâce à cette architecture, le [cookie de session] (#session-implementation) n'est pas exposé sur le réseau, ce qui élimine le risque d'une attaque de type "man-in-the-middle".
-:::tips Articles de blog sur le sujet
+:::tip Articles de blog sur le sujet
[Connectez vos applications Web à des systèmes tiers](https://blog.4d.com/connect-your-web-apps-to-third-party-systems/)
diff --git a/i18n/ja/docusaurus-plugin-content-docs/current/WebServer/sessions.md b/i18n/ja/docusaurus-plugin-content-docs/current/WebServer/sessions.md
index a6ab2ad0e930de..f690ad94acf3e2 100644
--- a/i18n/ja/docusaurus-plugin-content-docs/current/WebServer/sessions.md
+++ b/i18n/ja/docusaurus-plugin-content-docs/current/WebServer/sessions.md
@@ -201,7 +201,7 @@ Else
End if
```
-:::tips 関連したblog 記事
+:::tip 関連したblog 記事
[高度な Webアプリケーションに対応したスケーラブルセッション](https://blog.4d.com/ja/scalable-sessions-for-advanced-web-applications/)
@@ -213,7 +213,7 @@ End if
4D では、OTP セッショントークンは外部URL を呼び出して、それが他のブラウザや他のデバイス(モバイル/PC) でコールバックされる場合に特に有用です。 通常、こういったサードパーティアプリケーションはコールバックリンクが入った確認メールを送信してきて、ユーザーはこれをクリックする必要があります。 コールバックリンクにはOTP トークンが含まれており、そのコールバックをトリガーしたセッションは、そのデータと権限とともにロードされます。 この原理により、同じセッションを複数のデバイス間で共有することができます。 このアーキテクチャーのおかげで、[セッションクッキー](#session-implementation) はネットワークに公開されることはないため、中間者攻撃のリスクを排除することができます。
-:::tips 関連したblog 記事
+:::tip 関連したblog 記事
[Connect Your Web Apps to Third-Party Systems](https://blog.4d.com/connect-your-web-apps-to-third-party-systems/)
diff --git a/i18n/ja/docusaurus-plugin-content-docs/version-20-R10/WebServer/sessions.md b/i18n/ja/docusaurus-plugin-content-docs/version-20-R10/WebServer/sessions.md
index 8a68b4fdf38b53..f6a0d04e73bd4d 100644
--- a/i18n/ja/docusaurus-plugin-content-docs/version-20-R10/WebServer/sessions.md
+++ b/i18n/ja/docusaurus-plugin-content-docs/version-20-R10/WebServer/sessions.md
@@ -201,7 +201,7 @@ Else
End if
```
-:::tips 関連したblog 記事
+:::tip 関連したblog 記事
[高度な Webアプリケーションに対応したスケーラブルセッション](https://blog.4d.com/ja/scalable-sessions-for-advanced-web-applications/)
diff --git a/i18n/ja/docusaurus-plugin-content-docs/version-21/WebServer/sessions.md b/i18n/ja/docusaurus-plugin-content-docs/version-21/WebServer/sessions.md
index a6ab2ad0e930de..f690ad94acf3e2 100644
--- a/i18n/ja/docusaurus-plugin-content-docs/version-21/WebServer/sessions.md
+++ b/i18n/ja/docusaurus-plugin-content-docs/version-21/WebServer/sessions.md
@@ -201,7 +201,7 @@ Else
End if
```
-:::tips 関連したblog 記事
+:::tip 関連したblog 記事
[高度な Webアプリケーションに対応したスケーラブルセッション](https://blog.4d.com/ja/scalable-sessions-for-advanced-web-applications/)
@@ -213,7 +213,7 @@ End if
4D では、OTP セッショントークンは外部URL を呼び出して、それが他のブラウザや他のデバイス(モバイル/PC) でコールバックされる場合に特に有用です。 通常、こういったサードパーティアプリケーションはコールバックリンクが入った確認メールを送信してきて、ユーザーはこれをクリックする必要があります。 コールバックリンクにはOTP トークンが含まれており、そのコールバックをトリガーしたセッションは、そのデータと権限とともにロードされます。 この原理により、同じセッションを複数のデバイス間で共有することができます。 このアーキテクチャーのおかげで、[セッションクッキー](#session-implementation) はネットワークに公開されることはないため、中間者攻撃のリスクを排除することができます。
-:::tips 関連したblog 記事
+:::tip 関連したblog 記事
[Connect Your Web Apps to Third-Party Systems](https://blog.4d.com/connect-your-web-apps-to-third-party-systems/)
diff --git a/i18n/pt/docusaurus-plugin-content-docs/current/WebServer/sessions.md b/i18n/pt/docusaurus-plugin-content-docs/current/WebServer/sessions.md
index 1a02e189b920b6..d9801682f90175 100644
--- a/i18n/pt/docusaurus-plugin-content-docs/current/WebServer/sessions.md
+++ b/i18n/pt/docusaurus-plugin-content-docs/current/WebServer/sessions.md
@@ -201,7 +201,7 @@ Else
End if
```
-:::tips Related blog posts
+:::tip Related blog posts
[Scalable sessions for advanced web applications](https://blog.4d.com/scalable-sessions-for-advanced-web-applications/)
@@ -213,7 +213,7 @@ The 4D web server allows you to generate, share, and use OTP (One-Time Passcode)
In 4D, OTP session tokens are useful when calling external URLs and being called back in another browser or device (mobile/computer). Typically, a third-party application sends a confirmation email containing a callback link on which the user has to click. The callback link includes the OTP token, so that the session which triggered the callback is loaded along with its data and privileges. This principle allows you to share the same session on multiple devices. Graças a esta arquitetura, o [cookie de sessão](#session-implementation) não está exposto na rede, o que elimina o risco de ataque do homem-meio.
-:::tips Related blog posts
+:::tip Related blog posts
[Connect Your Web Apps to Third-Party Systems](https://blog.4d.com/connect-your-web-apps-to-third-party-systems/)
diff --git a/i18n/pt/docusaurus-plugin-content-docs/version-20-R10/WebServer/sessions.md b/i18n/pt/docusaurus-plugin-content-docs/version-20-R10/WebServer/sessions.md
index 1dbedd8c5da236..15f85db4d7ad84 100644
--- a/i18n/pt/docusaurus-plugin-content-docs/version-20-R10/WebServer/sessions.md
+++ b/i18n/pt/docusaurus-plugin-content-docs/version-20-R10/WebServer/sessions.md
@@ -201,7 +201,7 @@ Else
End if
```
-:::tips Related blog posts
+:::tip Related blog posts
[Scalable sessions for advanced web applications](https://blog.4d.com/scalable-sessions-for-advanced-web-applications/)
diff --git a/i18n/pt/docusaurus-plugin-content-docs/version-21/WebServer/sessions.md b/i18n/pt/docusaurus-plugin-content-docs/version-21/WebServer/sessions.md
index 1a02e189b920b6..d9801682f90175 100644
--- a/i18n/pt/docusaurus-plugin-content-docs/version-21/WebServer/sessions.md
+++ b/i18n/pt/docusaurus-plugin-content-docs/version-21/WebServer/sessions.md
@@ -201,7 +201,7 @@ Else
End if
```
-:::tips Related blog posts
+:::tip Related blog posts
[Scalable sessions for advanced web applications](https://blog.4d.com/scalable-sessions-for-advanced-web-applications/)
@@ -213,7 +213,7 @@ The 4D web server allows you to generate, share, and use OTP (One-Time Passcode)
In 4D, OTP session tokens are useful when calling external URLs and being called back in another browser or device (mobile/computer). Typically, a third-party application sends a confirmation email containing a callback link on which the user has to click. The callback link includes the OTP token, so that the session which triggered the callback is loaded along with its data and privileges. This principle allows you to share the same session on multiple devices. Graças a esta arquitetura, o [cookie de sessão](#session-implementation) não está exposto na rede, o que elimina o risco de ataque do homem-meio.
-:::tips Related blog posts
+:::tip Related blog posts
[Connect Your Web Apps to Third-Party Systems](https://blog.4d.com/connect-your-web-apps-to-third-party-systems/)
diff --git a/versioned_docs/version-20-R10/WebServer/sessions.md b/versioned_docs/version-20-R10/WebServer/sessions.md
index 1bc9097f9490c2..86026d53cc3691 100644
--- a/versioned_docs/version-20-R10/WebServer/sessions.md
+++ b/versioned_docs/version-20-R10/WebServer/sessions.md
@@ -209,7 +209,7 @@ Else
End if
```
-:::tips Related blog posts
+:::tip Related blog posts
[Scalable sessions for advanced web applications](https://blog.4d.com/scalable-sessions-for-advanced-web-applications/)
diff --git a/versioned_docs/version-21/WebServer/sessions.md b/versioned_docs/version-21/WebServer/sessions.md
index d0a2bd033577be..87725a2d4919c6 100644
--- a/versioned_docs/version-21/WebServer/sessions.md
+++ b/versioned_docs/version-21/WebServer/sessions.md
@@ -209,7 +209,7 @@ Else
End if
```
-:::tips Related blog posts
+:::tip Related blog posts
[Scalable sessions for advanced web applications](https://blog.4d.com/scalable-sessions-for-advanced-web-applications/)
@@ -221,7 +221,7 @@ The 4D web server allows you to generate, share, and use OTP (One-Time Passcode)
In 4D, OTP session tokens are useful when calling external URLs and being called back in another browser or device (mobile/computer). Typically, a third-party application sends a confirmation email containing a callback link on which the user has to click. The callback link includes the OTP token, so that the session which triggered the callback is loaded along with its data and privileges. This principle allows you to share the same session on multiple devices. Thanks to this architecture, the [session cookie](#session-implementation) is not exposed on the network, which eliminates the risk of man-in-the-middle attack.
-:::tips Related blog posts
+:::tip Related blog posts
[Connect Your Web Apps to Third-Party Systems](https://blog.4d.com/connect-your-web-apps-to-third-party-systems/)
From 9672172b9d5105e4e8e2e642667d0816eb61146f Mon Sep 17 00:00:00 2001
From: arnaud-4d
Date: Thu, 20 Nov 2025 17:44:46 +0100
Subject: [PATCH 36/75] fix link
---
docs/WebServer/sessions.md | 2 +-
versioned_docs/version-20-R10/WebServer/sessions.md | 2 +-
versioned_docs/version-21/WebServer/sessions.md | 2 +-
3 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/docs/WebServer/sessions.md b/docs/WebServer/sessions.md
index 87725a2d4919c6..de6ef58170d98c 100644
--- a/docs/WebServer/sessions.md
+++ b/docs/WebServer/sessions.md
@@ -26,7 +26,7 @@ Web sessions are used for:
- calls to the [REST API](../REST/authUsers.md), which are used by [remote datastores](../ORDA/remoteDatastores.md) and [Qodly forms](qodly-studio.md).
-## Enabling web sessions
+## Enabling web sessions {#enabling-web-sessions}
The session management feature can be enabled and disabled on your 4D web server. There are different ways to enable session management:
diff --git a/versioned_docs/version-20-R10/WebServer/sessions.md b/versioned_docs/version-20-R10/WebServer/sessions.md
index 86026d53cc3691..a8da672b9cecad 100644
--- a/versioned_docs/version-20-R10/WebServer/sessions.md
+++ b/versioned_docs/version-20-R10/WebServer/sessions.md
@@ -26,7 +26,7 @@ Web sessions are used for:
- calls to the [REST API](../REST/authUsers.md), which are used by [remote datastores](../ORDA/remoteDatastores.md) and [Qodly forms](qodly-studio.md).
-## Enabling web sessions
+## Enabling web sessions {#enabling-web-sessions}
The session management feature can be enabled and disabled on your 4D web server. There are different ways to enable session management:
diff --git a/versioned_docs/version-21/WebServer/sessions.md b/versioned_docs/version-21/WebServer/sessions.md
index 87725a2d4919c6..de6ef58170d98c 100644
--- a/versioned_docs/version-21/WebServer/sessions.md
+++ b/versioned_docs/version-21/WebServer/sessions.md
@@ -26,7 +26,7 @@ Web sessions are used for:
- calls to the [REST API](../REST/authUsers.md), which are used by [remote datastores](../ORDA/remoteDatastores.md) and [Qodly forms](qodly-studio.md).
-## Enabling web sessions
+## Enabling web sessions {#enabling-web-sessions}
The session management feature can be enabled and disabled on your 4D web server. There are different ways to enable session management:
From ed47bd6d29bb1e9edbc6ab6751d236e4c8c58dc9 Mon Sep 17 00:00:00 2001
From: arnaud-4d
Date: Thu, 20 Nov 2025 18:10:24 +0100
Subject: [PATCH 37/75] Update updates.md
---
versioned_docs/version-21/Notes/updates.md | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/versioned_docs/version-21/Notes/updates.md b/versioned_docs/version-21/Notes/updates.md
index 8448ddca6575b1..6731031f5313d1 100644
--- a/versioned_docs/version-21/Notes/updates.md
+++ b/versioned_docs/version-21/Notes/updates.md
@@ -42,7 +42,7 @@ Read [**What’s new in 4D 21**](https://blog.4d.com/en-whats-new-in-4d-21/), th
:::
-- Web services (SOAP): when [scalable sessions](../WebServer/sessions.md#enabling-web-sessions) are enabled, web services now run in [**preemptive processes**](../Develop/preemptive.md) in compiled mode. Make sure your SOAP code is thread-safe.
+- Web services (SOAP): when [scalable sessions](../WebServer/sessions.md#enabling-web-sessions) are enabled, web services now run in [**preemptive processes**](../Develop/preemptive.md) in compiled mode. Make sure that your SOAP code is thread-safe and that the session in which it runs has appropriate [privileges](../API/SessionClass.md#setprivileges).
- Web server: the support of deprecated `4DSYNC/` and `4DCGI/` URLs is removed. No specific processing is done on these URLs anymore.
- Web user sessions are now returned by [`Process activity`](../commands/process-activity.md).
- The [`HIGHLIGHT TEXT`](../commands/highlight-text) command is now supported in the context of subforms.
From dc0fb201880f2dc7864e9705e80553f88880a98e Mon Sep 17 00:00:00 2001
From: arnaud-4d
Date: Thu, 20 Nov 2025 18:26:33 +0100
Subject: [PATCH 38/75] Feature/aikit file upload (#3003)
* update to file uplaod API
* after closure
* Update overview.md
---
docs/Notes/updates.md | 2 +
docs/aikit/Classes/OpenAI.md | 3 +
docs/aikit/Classes/OpenAIFile.md | 29 +++
docs/aikit/Classes/OpenAIFileDeletedResult.md | 38 ++++
.../aikit/Classes/OpenAIFileListParameters.md | 38 ++++
docs/aikit/Classes/OpenAIFileListResult.md | 67 +++++++
docs/aikit/Classes/OpenAIFileParameters.md | 43 +++++
docs/aikit/Classes/OpenAIFileResult.md | 36 ++++
docs/aikit/Classes/OpenAIFilesAPI.md | 179 ++++++++++++++++++
docs/aikit/Classes/OpenAIMessage.md | 44 ++++-
docs/aikit/overview.md | 37 ++++
sidebars.js | 7 +
12 files changed, 520 insertions(+), 3 deletions(-)
create mode 100644 docs/aikit/Classes/OpenAIFile.md
create mode 100644 docs/aikit/Classes/OpenAIFileDeletedResult.md
create mode 100644 docs/aikit/Classes/OpenAIFileListParameters.md
create mode 100644 docs/aikit/Classes/OpenAIFileListResult.md
create mode 100644 docs/aikit/Classes/OpenAIFileParameters.md
create mode 100644 docs/aikit/Classes/OpenAIFileResult.md
create mode 100644 docs/aikit/Classes/OpenAIFilesAPI.md
diff --git a/docs/Notes/updates.md b/docs/Notes/updates.md
index b06a597a3b4f0e..4ee055986374c1 100644
--- a/docs/Notes/updates.md
+++ b/docs/Notes/updates.md
@@ -10,6 +10,8 @@ Read [**What’s new in 4D 21 R2**](https://blog.4d.com/en-whats-new-in-4d-21-r2
#### Highlights
- [Code Live Checker](../code-editor/write-class-method.md#warnings-and-errors) has been enhanced to provide greater precision in error detection (see [this blog post](https://blog.4d.com/better-error-handling-and-type-inference-for-4d-developers) for more information).
+- 4D AIKit component: new [File API](../aikit/Classes/OpenAIFilesAPI.md) class to implement **file upload** features.
+
- [**Fixed bug list**](https://bugs.4d.fr/fixedbugslist?version=21_R2): list of all bugs that have been fixed in 4D 21 R2.
diff --git a/docs/aikit/Classes/OpenAI.md b/docs/aikit/Classes/OpenAI.md
index 8e88ba360ad3cd..7b38b5d3d0ef94 100644
--- a/docs/aikit/Classes/OpenAI.md
+++ b/docs/aikit/Classes/OpenAI.md
@@ -67,11 +67,14 @@ The API provides access to multiple resources that allow seamless interaction wi
| `images` | [OpenAIImagesAPI](OpenAIImagesAPI.md) | Access to the Images API. |
| `moderations` | [OpenAIModerationsAPI](OpenAIModerationsAPI.md) | Access to the Moderations API. |
| `embeddings` | [OpenAIEmbeddingsAPI](OpenAIEmbeddingsAPI.md) | Access to the Embeddings API. |
+| `files` | [OpenAIFilesAPI](OpenAIFilesAPI.md) | Access to the Files API. |
+
### Example Usage
```4d
$client.chat.completions.create(...)
$client.images.generate(...)
+$client.files.create(...)
$client.model.lists(...)
```
diff --git a/docs/aikit/Classes/OpenAIFile.md b/docs/aikit/Classes/OpenAIFile.md
new file mode 100644
index 00000000000000..cd5bd659123ffa
--- /dev/null
+++ b/docs/aikit/Classes/OpenAIFile.md
@@ -0,0 +1,29 @@
+---
+id: openaifile
+title: OpenAIFile
+---
+
+# OpenAIFile
+
+The `OpenAIFile` class represents a file object in the OpenAI API. Files can be uploaded and used across various endpoints including Assistants, Fine-tuning, Batch, and Vision APIs.
+
+## Properties
+
+| Property Name | Type | Description |
+|------------------|----------|------------------------------------------------------------------|
+| `id` | Text | The file identifier, which can be referenced in the API endpoints. |
+| `bytes` | Integer | The size of the file, in bytes. |
+| `created_at` | Integer | The Unix timestamp (in seconds) for when the file was created. |
+| `expires_at` | Integer | The Unix timestamp (in seconds) for when the file will expire. |
+| `filename` | Text | The name of the file. |
+| `object` | Text | The object type, which is always "file". |
+| `purpose` | Text | The intended purpose of the file. Supported values: `assistants`, `assistants_output`, `batch`, `batch_output`, `fine-tune`, `fine-tune-results`, `vision`, and `user_data`. |
+| `status` | Text | **Deprecated.** The current status of the file, which can be either `uploaded`, `processed`, or `error`. |
+| `status_details` | Text | **Deprecated.** For details on why a fine-tuning training file failed validation, see the error field on `fine_tuning.job`. |
+
+## See also
+
+- [OpenAIFileResult](OpenAIFileResult.md)
+- [OpenAIFileListResult](OpenAIFileListResult.md)
+- [OpenAIFilesAPI](OpenAIFilesAPI.md)
+- [OpenAIFileParameters](OpenAIFileParameters.md)
diff --git a/docs/aikit/Classes/OpenAIFileDeletedResult.md b/docs/aikit/Classes/OpenAIFileDeletedResult.md
new file mode 100644
index 00000000000000..fc2f892cf4f05f
--- /dev/null
+++ b/docs/aikit/Classes/OpenAIFileDeletedResult.md
@@ -0,0 +1,38 @@
+---
+id: openaifiledeletedresult
+title: OpenAIFileDeletedResult
+---
+
+# OpenAIFileDeletedResult
+
+The `OpenAIFileDeletedResult` class contains the result of a file deletion operation.
+
+## Inherits
+
+[OpenAIResult](OpenAIResult.md)
+
+## Computed properties
+
+| Property | Type | Description |
+|-----------|---------------------|-----------------------------------------------------------------------------|
+| `deleted` | [OpenAIFileDeleted](OpenAIFileDeleted.md) | Returns the file deletion result from the API response. Returns `Null` if the response doesn't contain a valid result. |
+
+## Example Usage
+
+```4d
+// Delete a file
+var $fileId:="file-abc123"
+var $result:=$client.files.delete($fileId; Null)
+var $deletionStatus:=$result.deleted
+
+If ($deletionStatus.deleted)
+ ALERT("File "+$deletionStatus.id+" was successfully deleted")
+Else
+ ALERT("Failed to delete file")
+End if
+```
+
+## See also
+
+- [OpenAIFilesAPI](OpenAIFilesAPI.md)
+- [OpenAIFileDeleted](OpenAIFileDeleted.md)
diff --git a/docs/aikit/Classes/OpenAIFileListParameters.md b/docs/aikit/Classes/OpenAIFileListParameters.md
new file mode 100644
index 00000000000000..69170cbe169eb1
--- /dev/null
+++ b/docs/aikit/Classes/OpenAIFileListParameters.md
@@ -0,0 +1,38 @@
+---
+id: openaifilelistparameters
+title: OpenAIFileListParameters
+---
+
+# OpenAIFileListParameters
+
+The `OpenAIFileListParameters` class contains parameters for listing files in the OpenAI API.
+
+## Inherits
+
+[OpenAIParameters](OpenAIParameters.md)
+
+## Properties
+
+| Property Name | Type | Required | Default | Description |
+|---------------|---------|----------|---------|---------------------------------------------------------------------|
+| `after` | Text | Optional | - | A cursor for use in pagination. `after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `after=obj_foo` in order to fetch the next page of the list. |
+| `limit` | Integer | Optional | 10000 | A limit on the number of objects to be returned. Limit can range between 1 and 10,000, and the default is 10,000. |
+| `order` | Text | Optional | desc | Sort order by the `created_at` timestamp of the objects. `asc` for ascending order and `desc` for descending order. |
+| `purpose` | Text | Optional | - | Only return files with the given purpose. |
+
+## Example Usage
+
+```4d
+// Get first 100 files with purpose "fine-tune"
+var $params:=cs.AIKit.OpenAIFileListParameters.new()
+$params.limit:=100
+$params.purpose:="fine-tune"
+$params.order:="desc"
+
+var $result:=$client.files.list($params)
+```
+
+## See also
+
+- [OpenAIFilesAPI](OpenAIFilesAPI.md)
+- [OpenAIFileListResult](OpenAIFileListResult.md)
diff --git a/docs/aikit/Classes/OpenAIFileListResult.md b/docs/aikit/Classes/OpenAIFileListResult.md
new file mode 100644
index 00000000000000..a2d3bb6c67b740
--- /dev/null
+++ b/docs/aikit/Classes/OpenAIFileListResult.md
@@ -0,0 +1,67 @@
+---
+id: openaifilelistresult
+title: OpenAIFileListResult
+---
+
+# OpenAIFileListResult
+
+The `OpenAIFileListResult` class contains the result of listing files from the OpenAI API.
+
+## Inherits
+
+[OpenAIResult](OpenAIResult.md)
+
+## Computed properties
+
+| Property | Type | Description |
+|------------|------------|-----------------------------------------------------------------------------|
+| `files` | Collection | Returns a collection of [OpenAIFile](OpenAIFile.md) objects from the API response, or an empty collection if no files are found. |
+| `first_id` | Text | Returns the ID of the first file in the list, or an empty string if not available. |
+| `last_id` | Text | Returns the ID of the last file in the list, or an empty string if not available. |
+| `has_more` | Boolean | Indicates if there are more files beyond this page. `True` if there are more files to fetch, `False` otherwise. |
+
+
+## Example Usage
+
+### Basic Usage
+
+```4d
+var $params:=cs.AIKit.OpenAIFileListParameters.new()
+$params.purpose:="assistants"
+$params.limit:=50
+
+var $result:=$client.files.list($params)
+var $files:=$result.files
+
+For each ($file; $files)
+ // Process each OpenAIFile object
+ // $file.filename -> "salesOverview.pdf"
+ // $file.bytes -> 175
+ // $file.purpose -> "assistants"
+End for each
+```
+
+### Pagination Example
+
+```4d
+var $params:=cs.AIKit.OpenAIFileListParameters.new()
+$params.limit:=100
+
+var $result:=$client.files.list($params)
+var $allFiles:=$allFiles.combine($result.files)
+
+// Continue fetching if there are more files
+While ($result.has_more)
+ $params.after:=$result.last_id
+ $result:=$client.files.list($params)
+ $allFiles:=$allFiles.combine($result.files)
+End while
+
+// $allFiles now contains all files from the organization
+```
+
+## See also
+
+- [OpenAIFilesAPI](OpenAIFilesAPI.md)
+- [OpenAIFile](OpenAIFile.md)
+- [OpenAIFileListParameters](OpenAIFileListParameters.md)
\ No newline at end of file
diff --git a/docs/aikit/Classes/OpenAIFileParameters.md b/docs/aikit/Classes/OpenAIFileParameters.md
new file mode 100644
index 00000000000000..ad3106fbbbb62c
--- /dev/null
+++ b/docs/aikit/Classes/OpenAIFileParameters.md
@@ -0,0 +1,43 @@
+---
+id: openaifileparameters
+title: OpenAIFileParameters
+---
+
+# OpenAIFileParameters
+
+The `OpenAIFileParameters` class handles parameters for file upload operations.
+
+## Inherits
+
+[OpenAIParameters](OpenAIParameters.md)
+
+## Properties
+
+| Property Name | Type | Required | Description |
+|----------------|--------|----------|--------------------------------------|
+| `expires_after` | Object | Optional | The expiration policy for a file. By default, files with `purpose=batch` expire after 30 days and all other files are persisted until they are manually deleted. |
+
+### `expires_after` Object Structure
+
+The `expires_after` object contains the following properties:
+
+| Property Name | Type | Description |
+|---------------|---------|--------------------------------------|
+| `anchor` | Text | Anchor timestamp after which the expiration policy applies. Supported anchors: `created_at`. |
+| `seconds` | Integer | The number of seconds after the anchor time that the file will expire. Must be between 3600 (1 hour) and 2592000 (30 days). |
+
+## Example Usage
+
+```4d
+var $params:=cs.AIKit.OpenAIFileParameters.new()
+
+// Set expiration after 7 days
+$params.expires_after:={}
+$params.expires_after.anchor:="created_at"
+$params.expires_after.seconds:=604800 // 7 days
+```
+
+## See also
+
+- [OpenAIFilesAPI](OpenAIFilesAPI.md)
+- [OpenAIFileResult](OpenAIFileResult.md)
diff --git a/docs/aikit/Classes/OpenAIFileResult.md b/docs/aikit/Classes/OpenAIFileResult.md
new file mode 100644
index 00000000000000..75544d3bb5d839
--- /dev/null
+++ b/docs/aikit/Classes/OpenAIFileResult.md
@@ -0,0 +1,36 @@
+---
+id: openaifileresult
+title: OpenAIFileResult
+---
+
+# OpenAIFileResult
+
+The `OpenAIFileResult` class contains the result of a single file operation (upload or retrieve).
+
+## Inherits
+
+[OpenAIResult](OpenAIResult.md)
+
+## Computed properties
+
+| Property | Type | Description |
+|----------|---------------|-----------------------------------------------------------------------------|
+| `file` | [OpenAIFile](OpenAIFile.md) | Returns the file object from the API response. Returns `Null` if the response doesn't contain a valid file. |
+
+## Example Usage
+
+```4d
+// Upload a file
+var $file:=File("/RESOURCES/training-data.jsonl")
+
+var $result:=$client.files.create($file; "user_data")
+var $uploadedFile:=$result.file
+
+// Retrieve file information
+var $retrieveResult:=$client.files.retrieve($uploadedFile.id)
+```
+
+## See also
+
+- [OpenAIFilesAPI](OpenAIFilesAPI.md)
+- [OpenAIFile](OpenAIFile.md)
diff --git a/docs/aikit/Classes/OpenAIFilesAPI.md b/docs/aikit/Classes/OpenAIFilesAPI.md
new file mode 100644
index 00000000000000..d2eda174589670
--- /dev/null
+++ b/docs/aikit/Classes/OpenAIFilesAPI.md
@@ -0,0 +1,179 @@
+---
+id: openaifilesapi
+title: OpenAIFilesAPI
+---
+
+
+# OpenAIFilesAPI
+
+The `OpenAIFilesAPI` class provides functionalities to manage files using OpenAI's API. Files can be uploaded and used across various endpoints including [Fine-tuning](https://platform.openai.com/docs/api-reference/fine-tuning), [Batch](https://platform.openai.com/docs/api-reference/batch) processing, and Vision.
+
+> **Note:** This API is only compatible with OpenAI. Other providers listed in the [compatible providers](../compatible-openai.md) documentation do not support file management operations.
+
+
+API Reference:
+
+## File Size Limits
+
+- **Individual files:** up to 512 MB per file
+- **Organization total:** up to 1 TB (cumulative size of all files uploaded by your [organization](https://platform.openai.com/docs/guides/production-best-practices/setting-up-your-organization))
+
+
+## Functions
+
+### create()
+
+**create**(*file* : 4D.File | 4D.Blob; *purpose* : Text; *parameters* : cs.OpenAIFileParameters) : cs.OpenAIFileResult
+
+Upload a file that can be used across various endpoints.
+
+**Endpoint:** `POST https://api.openai.com/v1/files`
+
+| Parameter | Type | Description |
+|---------------|--------------------------------|-----------------------------------------------------------|
+| `file` | [4D.File](https://developer.4d.com/docs/API/FileClass) or [4D.Blob](https://developer.4d.com/docs/API/BlobClass) | The File or Blob object (not file name) to be uploaded. |
+| `purpose` | Text | **Required.** The intended purpose of the uploaded file. |
+| `parameters` | [OpenAIFileParameters](OpenAIFileParameters.md) | Optional parameters including expiration policy. |
+| Function result | [OpenAIFileResult](OpenAIFileResult.md) | The file result |
+
+**Throws:** An error if `file` is not a 4D.File or 4D.Blob, or if `purpose` is empty.
+
+#### Supported Purposes
+
+- `assistants`: Used in the Assistants API (⚠️ [deprecated by OpenAI](https://platform.openai.com/docs/assistants/whats-new))
+- `batch`: Used in the [Batch API](https://platform.openai.com/docs/api-reference/batch) (expires after 30 days by default)
+- `fine-tune`: Used for [fine-tuning](https://platform.openai.com/docs/api-reference/fine-tuning)
+- `vision`: Images used for vision fine-tuning
+- `user_data`: Flexible file type for any purpose
+- `evals`: Used for eval data sets
+
+#### File Format Requirements
+
+- **Fine-tuning API:** Only supports `.jsonl` files with specific required formats
+- **Batch API:** Only supports `.jsonl` files up to 200 MB with specific required format
+- **Assistants API:** Supports specific file types (see Assistants Tools guide)
+- **Chat Completions API:** PDFs are only supported
+
+#### Example
+
+```4d
+var $file:=File("/RESOURCES/training-data.jsonl")
+
+var $params:=cs.AIKit.OpenAIFileParameters.new()
+$params.expires_after:={}
+$params.expires_after.anchor:="created_at"
+$params.expires_after.seconds:=2592000 // 30 days
+
+var $result:=$client.files.create($file; "fine-tune"; $params)
+
+If ($result.success)
+ var $uploadedFile:=$result.file
+ // $uploadedFile.id -> "file-abc123"
+ // $uploadedFile.filename -> "training-data.jsonl"
+ // $uploadedFile.bytes -> 120000
+End if
+```
+
+### retrieve()
+
+**retrieve**(*fileId* : Text; *parameters* : cs.OpenAIParameters) : cs.OpenAIFileResult
+
+Returns information about a specific file.
+
+**Endpoint:** `GET https://api.openai.com/v1/files/{file_id}`
+
+| Parameter | Type | Description |
+|---------------|--------------------------------|-----------------------------------------------------------|
+| `fileId` | Text | **Required.** The ID of the file to retrieve. |
+| `parameters` | [OpenAIParameters](OpenAIParameters.md) | Optional parameters for the request. |
+| Function result | [OpenAIFileResult](OpenAIFileResult.md) | The file result |
+
+
+**Throws:** An error if `fileId` is empty.
+
+#### Example
+
+```4d
+var $result:=$client.files.retrieve("file-abc123")
+
+If ($result.success)
+ var $file:=$result.file
+ // $file.filename -> "mydata.jsonl"
+ // $file.bytes -> 120000
+ // $file.purpose -> "fine-tune"
+End if
+```
+
+### list()
+
+**list**(*parameters* : cs.OpenAIFileListParameters) : cs.OpenAIFileListResult
+
+Returns a list of files that belong to the user's organization.
+
+**Endpoint:** `GET https://api.openai.com/v1/files`
+
+| Parameter | Type | Description |
+|---------------|--------------------------------|-----------------------------------------------------------|
+| `parameters` | [OpenAIFileListParameters](OpenAIFileListParameters.md) | Optional parameters for filtering and pagination. |
+| Function result | [OpenAIFileListResult](OpenAIFileListResult.md) | The file list result |
+
+
+#### Example
+
+```4d
+var $params:=cs.AIKit.OpenAIFileListParameters.new()
+$params.purpose:="assistants"
+$params.limit:=50
+$params.order:="desc"
+
+var $result:=$client.files.list($params)
+
+If ($result.success)
+ var $files:=$result.files
+ // $files.length -> 2
+
+ For each ($file; $files)
+ // $file.filename -> "salesOverview.pdf", "puppy.jsonl", etc.
+ End for each
+End if
+```
+
+### delete()
+
+**delete**(*fileId* : Text; *parameters* : cs.OpenAIParameters) : cs.OpenAIFileDeletedResult
+
+Delete a file.
+
+**Endpoint:** `DELETE https://api.openai.com/v1/files/{file_id}`
+
+| Parameter | Type | Description |
+|---------------|--------------------------------|-----------------------------------------------------------|
+| `fileId` | Text | **Required.** The ID of the file to delete. |
+| `parameters` | [OpenAIParameters](OpenAIParameters.md) | Optional parameters for the request. |
+| Function result | [OpenAIFileDeletedResult](OpenAIFileDeletedResult.md) | The file deletion result |
+
+
+**Throws:** An error if `fileId` is empty.
+
+#### Example
+
+```4d
+var $result:=$client.files.delete("file-abc123")
+
+If ($result.success)
+ var $status:=$result.deleted
+
+ If ($status.deleted)
+ ALERT("File deleted successfully")
+ End if
+End if
+```
+
+## See also
+
+- [OpenAIFile](OpenAIFile.md)
+- [OpenAIFileParameters](OpenAIFileParameters.md)
+- [OpenAIFileListParameters](OpenAIFileListParameters.md)
+- [OpenAIFileResult](OpenAIFileResult.md)
+- [OpenAIFileListResult](OpenAIFileListResult.md)
+- [OpenAIFileDeletedResult](OpenAIFileDeletedResult.md)
diff --git a/docs/aikit/Classes/OpenAIMessage.md b/docs/aikit/Classes/OpenAIMessage.md
index 005eeae0ccb5f1..14c998b7abd232 100644
--- a/docs/aikit/Classes/OpenAIMessage.md
+++ b/docs/aikit/Classes/OpenAIMessage.md
@@ -36,19 +36,57 @@ The `OpenAIMessage` class represents a structured message containing a role, con
Adds an image URL to the content of the message.
-## Example Usage
-### Create a simple message and attach an image
+### addFileId()
+
+**addFileId**(*fileId* : Text)
+
+| Parameter | Type | Description |
+|------------------|-------|--------------------------------------------|
+| *fileId* | Text | The file ID to add to the message.|
+
+Adds a file reference to the content of the message. If the content is currently text, it will be converted to a collection format.
+
+
+
+
+## Example Usage
+### Basic Text Message
```4d
// Create an instance of OpenAIMessage
-var $message:=cs.AIKit.OpenAIMessage({role: "user"; content: "Hello!"})
+var $message:=cs.AIKit.OpenAIMessage.new({role: "user"; content: "Hello!"})
+```
+
+### Adding Images
+
+```4d
+var $message:=cs.AIKit.OpenAIMessage.new({role: "user"; content: "Please analyze this image:"})
// Add an image URL with details
$message.addImageURL("http://example.com/image.jpg"; "high")
```
+
+### Adding File
+
+```4d
+// Upload a file with user_data purpose
+var $file:=File("/RESOURCES/document.pdf")
+var $uploadResult:=$client.files.create($file; "user_data")
+
+If ($uploadResult.success)
+ var $uploadedFile:=$uploadResult.file
+
+ // Create message and attach the file using its ID
+ var $message:=cs.AIKit.OpenAIMessage.new({role: "user"; content: "Please analyze this document:"})
+ $message.addFileId($uploadedFile.id)
+
+ // $message.content -> [{type: "text"; text: "Please analyze this document:"}; {type: "file"; file_id: "file-abc123"}]
+End if
+```
+
### Respond to a tool call message
When an assistant needs to use external functions, it generates a message with `tool_calls` to request function execution.
diff --git a/docs/aikit/overview.md b/docs/aikit/overview.md
index e9772f39bc5ba5..2f94754ba08eec 100644
--- a/docs/aikit/overview.md
+++ b/docs/aikit/overview.md
@@ -104,6 +104,43 @@ Get one model information by id
var $model:=$client.models.retrieve("a model id").model
```
+#### Files
+
+https://platform.openai.com/docs/api-reference/files
+
+Upload a file for use with other endpoints
+
+```4d
+var $file:=File("/path/to/your/file.jsonl")
+var $result:=$client.files.create($file; "fine-tune")
+var $fileId:=$result.file.id
+```
+
+List all files
+
+```4d
+var $files:=$client.files.list().files
+```
+
+Retrieve file information
+
+```4d
+var $fileInfo:=$client.files.retrieve($fileId).file
+```
+
+Delete a file
+
+```4d
+var $deleteResult:=$client.files.delete($fileId)
+```
+
+:::tip Related blog post
+
+[Transform Static Documents into Actionable Knowledge with 4D AIKit](https://blog.4d.com/transform-static-documents-into-actionable-knowledge-with-4d-aikit).
+
+:::
+
+
#### Moderations
https://platform.openai.com/docs/api-reference/moderations
diff --git a/sidebars.js b/sidebars.js
index 64eb809969137c..2738cb9d01f5bb 100644
--- a/sidebars.js
+++ b/sidebars.js
@@ -3349,6 +3349,13 @@ module.exports =
"aikit/Classes/openaiembeddingsparameters",
"aikit/Classes/openaiembeddingsresult",
"aikit/Classes/openaierror",
+ "aikit/Classes/openaifile",
+ "aikit/Classes/openaifiledeletedresult",
+ "aikit/Classes/openaifilelistparameters",
+ "aikit/Classes/openaifilelistresult",
+ "aikit/Classes/openaifileparameters",
+ "aikit/Classes/openaifileresult",
+ "aikit/Classes/openaifilesapi",
"aikit/Classes/openaiimage",
"aikit/Classes/openaiimageparameters",
"aikit/Classes/openaiimagesapi",
From 6ad749bb1b6c63ec5f018750d085e938615bf969 Mon Sep 17 00:00:00 2001
From: arnaud-4d
Date: Thu, 20 Nov 2025 18:51:01 +0100
Subject: [PATCH 39/75] open window FR
---
.../current/commands-legacy/open-window.md | 45 ++++++++++++------
.../commands-legacy/open-window.md | 45 ++++++++++++------
.../version-21/commands-legacy/open-window.md | 47 +++++++++++++------
3 files changed, 94 insertions(+), 43 deletions(-)
diff --git a/i18n/fr/docusaurus-plugin-content-docs/current/commands-legacy/open-window.md b/i18n/fr/docusaurus-plugin-content-docs/current/commands-legacy/open-window.md
index 0a7eb940767333..9f4b980fa4a6ae 100644
--- a/i18n/fr/docusaurus-plugin-content-docs/current/commands-legacy/open-window.md
+++ b/i18n/fr/docusaurus-plugin-content-docs/current/commands-legacy/open-window.md
@@ -38,7 +38,24 @@ Si vous passez -1 dans *droite* et *bas*, vous indiquez à 4D qu'il faut redimen
**Important :** Ce dimensionnement automatique de la fenêtre n'aura lieu que si vous avez au préalable appelé la commande [FORM SET INPUT](form-set-input.md) pour le formulaire que vous allez afficher dans la fenêtre, et si vous lui avez passé le paramètre optionnel \*.
-* Le paramètre *type* est optionnel. Il définit le type de fenêtre que vous souhaitez afficher, et correspond aux différentes fenêtres présentées dans la section *Types de fenêtres (compatibilité)* (constantes du thème *Creer fenetre*). Si le type passé est négatif, la fenêtre sera flottante. Si le type n'est pas spécifié, le type 1 est utilisé par défaut.
+* Le paramètre *type* est optionnel. Il définit le type de fenêtre que vous souhaitez afficher. Si le type passé est négatif, la fenêtre sera flottante (si pris en charge). Si le type n'est pas spécifié, le type 1 est utilisé par défaut. Les constantes suivantes du thème "Open window" sont utilisables :
+
+|Constante|Commentaire|
+|---|---|
+|Alternate dialog box|Utilisable en fenêtre flottante|
+|Has full screen mode Mac|Option à ajouter aux fenêtres de type document sur macOS uniquement (ex : `Plain form window+Form has full screen mode Mac`)|
+|Modal dialog box ||
+|Movable dialog box |Utilisable en fenêtre flottante|
+|Palette window|Utilisable en fenêtre flottanteNon redimensionnable : `-(Palette window+2)` (Windows) ou ` -Palette window` (macOS)Redimensionnable : `-(Palette window+6)`|
+|Plain dialog box |Utilisable en fenêtre flottante|
+|Plain fixed size window||
+|Plain no zoom box window||
+|Pop up window||
+|Plain window||
+|Resizable sheet window||
+|Round corner window ||
+|Sheet window||
+|Texture appearance|Option à ajouter à un type de fenêtre sur macOS uniquement. Types compatibles : `Plain window`, `Plain no zoom box window`, `Plain fixed size window`, `Movable dialog box`, `Round corner window`|
* Le paramètre *titre* indique le titre (optionnel) de la fenêtre.
Si vous passez une chaîne de caractères vide ("") dans *titre*, vous indiquez à 4D d'utiliser les valeurs saisies dans la zone **Nom de la fenêtre** de la fenêtre des Propriétés du formulaire en mode Développement pour le titre du formulaire que vous allez afficher dans la fenêtre.
@@ -58,21 +75,19 @@ La méthode projet suivante ouvre une fenêtre centrée dans la fenêtre princip
```4d
// Méthode projet OUVRIR FENETRE CENTREE
- // $1 – Largeur de la fenêtre
- // $2 – Hauteur de la fenêtre
- // $3 – Type de la fenêtre (optionnel)
- // $4 – Titre de la fenêtre (optionnel)
- $SW:=Screen width\2
+ #DECLARE($width : Integer; $height : Integer; $type : Integer; $title : Text)
+ var $SW; $SH; $WW; $WH : Integer
+ $SW:=Screen width\2
$SH:=(Screen height\2)-10
- $WW:=$1\2
- $WH:=$2\2
+ $WW:=$width\2
+ $WH:=$height\2
Case of
:(Count parameters=2)
Open window($SW-$WW;$SH-$WH;$SW+$WW;$SH+$WH)
:(Count parameters=3)
- Open window($SW-$WW;$SH-$WH;$SW+$WW;$SH+$WH;$3)
+ Open window($SW-$WW;$SH-$WH;$SW+$WW;$SH+$WH;$type)
:(Count parameters=4)
- Open window($SW-$WW;$SH-$WH;$SW+$WW;$SH+$WH;$3;$4)
+ Open window($SW-$WW;$SH-$WH;$SW+$WW;$SH+$WH;$type;$title)
End case
```
@@ -92,7 +107,8 @@ Une fois que cette méthode projet est écrite, vous pouvez l'utiliser de la man
L'exemple suivant crée une fenêtre flottante comportant une case de menu système (sous Windows) ou une case de fermeture (sous Mac OS). La fenêtre est créée dans le coin supérieur droit de la fenêtre de l'application.
```4d
- $mafenetre:=Open window(Screen width-149;33;Screen width-4;178;-Palette window;"";"caseFermeture")
+var $mafenetre : Integer
+$mafenetre:=Open window(Screen width-149;33;Screen width-4;178;-Palette window;"";"caseFermeture")
DIALOG([Dialogues];"Palette de couleurs")
```
@@ -107,7 +123,8 @@ La méthode *caseFermeture* appelle la commande [CANCEL](cancel.md) :
L'exemple suivant ouvre une fenêtre dont le titre et la taille proviennent des propriétés du formulaire affiché dans la fenêtre :
```4d
- FORM SET INPUT([Clients];"Ajout d'enregistrements";*)
+ var $mafenetre : Integer
+ FORM SET INPUT([Clients];"Ajout d'enregistrements";*)
$mafenetre:=Open window(10;80;-1;-1;Plain window;"")
Repeat
ADD RECORD([Clients])
@@ -123,7 +140,8 @@ L'exemple suivant ouvre une fenêtre dont le titre et la taille proviennent des
Cet exemple illustre le mécanisme de “retard” d’affichage des fenêtres feuille sous macOS :
```4d
- $maFenêtre:=Open window(10;10;400;400;Sheet window)
+ var $mafenetre : Integer
+ $mafenetre:=Open window(10;10;400;400;Sheet window)
//A cet instant la fenêtre est créée mais reste invisible
DIALOG([Table];"formDial")
//L’événement Sur chargement est généré puis la fenêtre feuille est affichée, elle "descend"
@@ -133,7 +151,6 @@ Cet exemple illustre le mécanisme de “retard” d’affichage des fenêtres f
## Voir aussi
[CLOSE WINDOW](close-window.md)
-*Creer fenetre*
[Open form window](open-form-window.md)
## Propriétés
diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-20-R10/commands-legacy/open-window.md b/i18n/fr/docusaurus-plugin-content-docs/version-20-R10/commands-legacy/open-window.md
index 0a7eb940767333..9f4b980fa4a6ae 100644
--- a/i18n/fr/docusaurus-plugin-content-docs/version-20-R10/commands-legacy/open-window.md
+++ b/i18n/fr/docusaurus-plugin-content-docs/version-20-R10/commands-legacy/open-window.md
@@ -38,7 +38,24 @@ Si vous passez -1 dans *droite* et *bas*, vous indiquez à 4D qu'il faut redimen
**Important :** Ce dimensionnement automatique de la fenêtre n'aura lieu que si vous avez au préalable appelé la commande [FORM SET INPUT](form-set-input.md) pour le formulaire que vous allez afficher dans la fenêtre, et si vous lui avez passé le paramètre optionnel \*.
-* Le paramètre *type* est optionnel. Il définit le type de fenêtre que vous souhaitez afficher, et correspond aux différentes fenêtres présentées dans la section *Types de fenêtres (compatibilité)* (constantes du thème *Creer fenetre*). Si le type passé est négatif, la fenêtre sera flottante. Si le type n'est pas spécifié, le type 1 est utilisé par défaut.
+* Le paramètre *type* est optionnel. Il définit le type de fenêtre que vous souhaitez afficher. Si le type passé est négatif, la fenêtre sera flottante (si pris en charge). Si le type n'est pas spécifié, le type 1 est utilisé par défaut. Les constantes suivantes du thème "Open window" sont utilisables :
+
+|Constante|Commentaire|
+|---|---|
+|Alternate dialog box|Utilisable en fenêtre flottante|
+|Has full screen mode Mac|Option à ajouter aux fenêtres de type document sur macOS uniquement (ex : `Plain form window+Form has full screen mode Mac`)|
+|Modal dialog box ||
+|Movable dialog box |Utilisable en fenêtre flottante|
+|Palette window|Utilisable en fenêtre flottanteNon redimensionnable : `-(Palette window+2)` (Windows) ou ` -Palette window` (macOS)Redimensionnable : `-(Palette window+6)`|
+|Plain dialog box |Utilisable en fenêtre flottante|
+|Plain fixed size window||
+|Plain no zoom box window||
+|Pop up window||
+|Plain window||
+|Resizable sheet window||
+|Round corner window ||
+|Sheet window||
+|Texture appearance|Option à ajouter à un type de fenêtre sur macOS uniquement. Types compatibles : `Plain window`, `Plain no zoom box window`, `Plain fixed size window`, `Movable dialog box`, `Round corner window`|
* Le paramètre *titre* indique le titre (optionnel) de la fenêtre.
Si vous passez une chaîne de caractères vide ("") dans *titre*, vous indiquez à 4D d'utiliser les valeurs saisies dans la zone **Nom de la fenêtre** de la fenêtre des Propriétés du formulaire en mode Développement pour le titre du formulaire que vous allez afficher dans la fenêtre.
@@ -58,21 +75,19 @@ La méthode projet suivante ouvre une fenêtre centrée dans la fenêtre princip
```4d
// Méthode projet OUVRIR FENETRE CENTREE
- // $1 – Largeur de la fenêtre
- // $2 – Hauteur de la fenêtre
- // $3 – Type de la fenêtre (optionnel)
- // $4 – Titre de la fenêtre (optionnel)
- $SW:=Screen width\2
+ #DECLARE($width : Integer; $height : Integer; $type : Integer; $title : Text)
+ var $SW; $SH; $WW; $WH : Integer
+ $SW:=Screen width\2
$SH:=(Screen height\2)-10
- $WW:=$1\2
- $WH:=$2\2
+ $WW:=$width\2
+ $WH:=$height\2
Case of
:(Count parameters=2)
Open window($SW-$WW;$SH-$WH;$SW+$WW;$SH+$WH)
:(Count parameters=3)
- Open window($SW-$WW;$SH-$WH;$SW+$WW;$SH+$WH;$3)
+ Open window($SW-$WW;$SH-$WH;$SW+$WW;$SH+$WH;$type)
:(Count parameters=4)
- Open window($SW-$WW;$SH-$WH;$SW+$WW;$SH+$WH;$3;$4)
+ Open window($SW-$WW;$SH-$WH;$SW+$WW;$SH+$WH;$type;$title)
End case
```
@@ -92,7 +107,8 @@ Une fois que cette méthode projet est écrite, vous pouvez l'utiliser de la man
L'exemple suivant crée une fenêtre flottante comportant une case de menu système (sous Windows) ou une case de fermeture (sous Mac OS). La fenêtre est créée dans le coin supérieur droit de la fenêtre de l'application.
```4d
- $mafenetre:=Open window(Screen width-149;33;Screen width-4;178;-Palette window;"";"caseFermeture")
+var $mafenetre : Integer
+$mafenetre:=Open window(Screen width-149;33;Screen width-4;178;-Palette window;"";"caseFermeture")
DIALOG([Dialogues];"Palette de couleurs")
```
@@ -107,7 +123,8 @@ La méthode *caseFermeture* appelle la commande [CANCEL](cancel.md) :
L'exemple suivant ouvre une fenêtre dont le titre et la taille proviennent des propriétés du formulaire affiché dans la fenêtre :
```4d
- FORM SET INPUT([Clients];"Ajout d'enregistrements";*)
+ var $mafenetre : Integer
+ FORM SET INPUT([Clients];"Ajout d'enregistrements";*)
$mafenetre:=Open window(10;80;-1;-1;Plain window;"")
Repeat
ADD RECORD([Clients])
@@ -123,7 +140,8 @@ L'exemple suivant ouvre une fenêtre dont le titre et la taille proviennent des
Cet exemple illustre le mécanisme de “retard” d’affichage des fenêtres feuille sous macOS :
```4d
- $maFenêtre:=Open window(10;10;400;400;Sheet window)
+ var $mafenetre : Integer
+ $mafenetre:=Open window(10;10;400;400;Sheet window)
//A cet instant la fenêtre est créée mais reste invisible
DIALOG([Table];"formDial")
//L’événement Sur chargement est généré puis la fenêtre feuille est affichée, elle "descend"
@@ -133,7 +151,6 @@ Cet exemple illustre le mécanisme de “retard” d’affichage des fenêtres f
## Voir aussi
[CLOSE WINDOW](close-window.md)
-*Creer fenetre*
[Open form window](open-form-window.md)
## Propriétés
diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-21/commands-legacy/open-window.md b/i18n/fr/docusaurus-plugin-content-docs/version-21/commands-legacy/open-window.md
index 0a7eb940767333..b5c2a5a2d8ccd2 100644
--- a/i18n/fr/docusaurus-plugin-content-docs/version-21/commands-legacy/open-window.md
+++ b/i18n/fr/docusaurus-plugin-content-docs/version-21/commands-legacy/open-window.md
@@ -38,7 +38,24 @@ Si vous passez -1 dans *droite* et *bas*, vous indiquez à 4D qu'il faut redimen
**Important :** Ce dimensionnement automatique de la fenêtre n'aura lieu que si vous avez au préalable appelé la commande [FORM SET INPUT](form-set-input.md) pour le formulaire que vous allez afficher dans la fenêtre, et si vous lui avez passé le paramètre optionnel \*.
-* Le paramètre *type* est optionnel. Il définit le type de fenêtre que vous souhaitez afficher, et correspond aux différentes fenêtres présentées dans la section *Types de fenêtres (compatibilité)* (constantes du thème *Creer fenetre*). Si le type passé est négatif, la fenêtre sera flottante. Si le type n'est pas spécifié, le type 1 est utilisé par défaut.
+* Le paramètre *type* est optionnel. Il définit le type de fenêtre que vous souhaitez afficher. Si le type passé est négatif, la fenêtre sera flottante (si pris en charge). Si le type n'est pas spécifié, le type 1 est utilisé par défaut. Les constantes suivantes du thème "Open window" sont utilisables :
+
+|Constante|Commentaire|
+|---|---|
+|Alternate dialog box|Utilisable en fenêtre flottante|
+|Has full screen mode Mac|Option à ajouter aux fenêtres de type document sur macOS uniquement (ex : `Plain form window+Form has full screen mode Mac`)|
+|Modal dialog box ||
+|Movable dialog box |Utilisable en fenêtre flottante|
+|Palette window|Utilisable en fenêtre flottanteNon redimensionnable : `-(Palette window+2)` (Windows) ou ` -Palette window` (macOS)Redimensionnable : `-(Palette window+6)`|
+|Plain dialog box |Utilisable en fenêtre flottante|
+|Plain fixed size window||
+|Plain no zoom box window||
+|Pop up window||
+|Plain window||
+|Resizable sheet window||
+|Round corner window ||
+|Sheet window||
+|Texture appearance|Option à ajouter à un type de fenêtre sur macOS uniquement. Types compatibles : `Plain window`, `Plain no zoom box window`, `Plain fixed size window`, `Movable dialog box`, `Round corner window`|
* Le paramètre *titre* indique le titre (optionnel) de la fenêtre.
Si vous passez une chaîne de caractères vide ("") dans *titre*, vous indiquez à 4D d'utiliser les valeurs saisies dans la zone **Nom de la fenêtre** de la fenêtre des Propriétés du formulaire en mode Développement pour le titre du formulaire que vous allez afficher dans la fenêtre.
@@ -46,7 +63,7 @@ Si vous passez une chaîne de caractères vide ("") dans *titre*, vous indiquez
* Le paramètre *caseFermeture*, optionnel, désigne la méthode de gestion de la fermeture de la fenêtre. Si ce paramètre est passé, la case du menu Système (sous Windows) ou une case de fermeture (sous Mac OS) est ajoutée à la fenêtre. Lorsque l'utilisateur Windows double-clique sur la case du menu Système ou que l'utilisateur Mac OS clique sur la case de fermeture, la méthode passée dans *caseFermeture* est exécutée.
-**Note :** Vous pouvez aussi gérer la fermeture à partir de la méthode du formulaire affiché dans la fenêtre pendant l'événement On Close Box. Pour plus d'informations sur ce point, reportez-vous à la commande [Form event code](../commands/form-event-code.md).
+**Note :** Vous pouvez aussi gérer la fermeture à partir de la méthode du formulaire affiché dans la fenêtre pendant l'événement `On Close Box`. Pour plus d'informations sur ce point, reportez-vous à la commande [Form event code](../commands/form-event-code.md).
Si plusieurs fenêtres sont ouvertes dans le même process, la dernière fenêtre créée est la fenêtre active (de premier plan) du process. Seules les informations situées dans la fenêtre active peuvent être modifiées. Toutes les autres fenêtres peuvent être visualisées. Lorsque l'utilisateur tape une touche du clavier, la fenêtre active vient toujours se placer au premier plan, si elle n'y est pas déjà.
@@ -58,21 +75,19 @@ La méthode projet suivante ouvre une fenêtre centrée dans la fenêtre princip
```4d
// Méthode projet OUVRIR FENETRE CENTREE
- // $1 – Largeur de la fenêtre
- // $2 – Hauteur de la fenêtre
- // $3 – Type de la fenêtre (optionnel)
- // $4 – Titre de la fenêtre (optionnel)
- $SW:=Screen width\2
+ #DECLARE($width : Integer; $height : Integer; $type : Integer; $title : Text)
+ var $SW; $SH; $WW; $WH : Integer
+ $SW:=Screen width\2
$SH:=(Screen height\2)-10
- $WW:=$1\2
- $WH:=$2\2
+ $WW:=$width\2
+ $WH:=$height\2
Case of
:(Count parameters=2)
Open window($SW-$WW;$SH-$WH;$SW+$WW;$SH+$WH)
:(Count parameters=3)
- Open window($SW-$WW;$SH-$WH;$SW+$WW;$SH+$WH;$3)
+ Open window($SW-$WW;$SH-$WH;$SW+$WW;$SH+$WH;$type)
:(Count parameters=4)
- Open window($SW-$WW;$SH-$WH;$SW+$WW;$SH+$WH;$3;$4)
+ Open window($SW-$WW;$SH-$WH;$SW+$WW;$SH+$WH;$type;$title)
End case
```
@@ -92,7 +107,8 @@ Une fois que cette méthode projet est écrite, vous pouvez l'utiliser de la man
L'exemple suivant crée une fenêtre flottante comportant une case de menu système (sous Windows) ou une case de fermeture (sous Mac OS). La fenêtre est créée dans le coin supérieur droit de la fenêtre de l'application.
```4d
- $mafenetre:=Open window(Screen width-149;33;Screen width-4;178;-Palette window;"";"caseFermeture")
+var $mafenetre : Integer
+$mafenetre:=Open window(Screen width-149;33;Screen width-4;178;-Palette window;"";"caseFermeture")
DIALOG([Dialogues];"Palette de couleurs")
```
@@ -107,7 +123,8 @@ La méthode *caseFermeture* appelle la commande [CANCEL](cancel.md) :
L'exemple suivant ouvre une fenêtre dont le titre et la taille proviennent des propriétés du formulaire affiché dans la fenêtre :
```4d
- FORM SET INPUT([Clients];"Ajout d'enregistrements";*)
+ var $mafenetre : Integer
+ FORM SET INPUT([Clients];"Ajout d'enregistrements";*)
$mafenetre:=Open window(10;80;-1;-1;Plain window;"")
Repeat
ADD RECORD([Clients])
@@ -123,7 +140,8 @@ L'exemple suivant ouvre une fenêtre dont le titre et la taille proviennent des
Cet exemple illustre le mécanisme de “retard” d’affichage des fenêtres feuille sous macOS :
```4d
- $maFenêtre:=Open window(10;10;400;400;Sheet window)
+ var $mafenetre : Integer
+ $mafenetre:=Open window(10;10;400;400;Sheet window)
//A cet instant la fenêtre est créée mais reste invisible
DIALOG([Table];"formDial")
//L’événement Sur chargement est généré puis la fenêtre feuille est affichée, elle "descend"
@@ -133,7 +151,6 @@ Cet exemple illustre le mécanisme de “retard” d’affichage des fenêtres f
## Voir aussi
[CLOSE WINDOW](close-window.md)
-*Creer fenetre*
[Open form window](open-form-window.md)
## Propriétés
From 4751f7f8bfeb292b5568ba712ed496cd280f3953 Mon Sep 17 00:00:00 2001
From: arnaud-4d
Date: Fri, 21 Nov 2025 09:49:38 +0100
Subject: [PATCH 40/75] New Crowdin updates (#3004)
* New translations updates.md (French)
* New translations sessions.md (French)
* New translations openai.md (French)
* New translations openaimessage.md (French)
* New translations overview.md (French)
* New translations sessions.md (French)
* New translations updates.md (French)
* New translations sessions.md (French)
* New translations updates.md (Spanish)
* New translations parameters.md (Spanish)
* New translations classes.md (Spanish)
* New translations properties_listbox.md (Spanish)
* New translations updates.md (Spanish)
* New translations ordaclasses.md (Spanish)
* New translations privileges.md (Spanish)
* New translations sessions.md (Spanish)
* New translations webserverconfig.md (Spanish)
* New translations writeprointerface.md (Spanish)
* New translations web.md (Spanish)
* New translations openai.md (Spanish)
* New translations openaimessage.md (Spanish)
* New translations overview.md (Spanish)
* New translations properties_listbox.md (Spanish)
* New translations ordaclasses.md (Spanish)
* New translations sessions.md (Spanish)
* New translations parameters.md (Spanish)
* New translations properties_listbox.md (Spanish)
* New translations web.md (Spanish)
* New translations updates.md (Spanish)
* New translations ordaclasses.md (Spanish)
* New translations privileges.md (Spanish)
* New translations sessions.md (Spanish)
* New translations webserverconfig.md (Spanish)
* New translations writeprointerface.md (Spanish)
* New translations updates.md (Japanese)
* New translations ordaclasses.md (Japanese)
* New translations sessions.md (Japanese)
* New translations openai.md (Japanese)
* New translations openaimessage.md (Japanese)
* New translations overview.md (Japanese)
* New translations orda-events.md (Japanese)
* New translations ordaclasses.md (Japanese)
* New translations sessions.md (Japanese)
* New translations updates.md (Japanese)
* New translations orda-events.md (Japanese)
* New translations ordaclasses.md (Japanese)
* New translations sessions.md (Japanese)
* New translations updates.md (Portuguese, Brazilian)
* New translations sessions.md (Portuguese, Brazilian)
* New translations openai.md (Portuguese, Brazilian)
* New translations openaimessage.md (Portuguese, Brazilian)
* New translations overview.md (Portuguese, Brazilian)
* New translations sessions.md (Portuguese, Brazilian)
* New translations updates.md (Portuguese, Brazilian)
* New translations sessions.md (Portuguese, Brazilian)
* New translations openaifile.md (French)
* New translations openaifiledeletedresult.md (French)
* New translations openaifilelistparameters.md (French)
* New translations openaifilelistresult.md (French)
* New translations openaifileparameters.md (French)
* New translations openaifileresult.md (French)
* New translations openaifilesapi.md (French)
* New translations openaifile.md (Spanish)
* New translations openaifiledeletedresult.md (Spanish)
* New translations openaifilelistparameters.md (Spanish)
* New translations openaifilelistresult.md (Spanish)
* New translations openaifileparameters.md (Spanish)
* New translations openaifileresult.md (Spanish)
* New translations openaifilesapi.md (Spanish)
* New translations openaifile.md (Japanese)
* New translations openaifiledeletedresult.md (Japanese)
* New translations openaifilelistparameters.md (Japanese)
* New translations openaifilelistresult.md (Japanese)
* New translations openaifileparameters.md (Japanese)
* New translations openaifileresult.md (Japanese)
* New translations openaifilesapi.md (Japanese)
* New translations openaifile.md (Portuguese, Brazilian)
* New translations openaifiledeletedresult.md (Portuguese, Brazilian)
* New translations openaifilelistparameters.md (Portuguese, Brazilian)
* New translations openaifilelistresult.md (Portuguese, Brazilian)
* New translations openaifileparameters.md (Portuguese, Brazilian)
* New translations openaifileresult.md (Portuguese, Brazilian)
* New translations openaifilesapi.md (Portuguese, Brazilian)
* New translations parameters.md (Spanish)
* New translations ordaclasses.md (Japanese)
* New translations ordaclasses.md (Japanese)
* New translations ordaclasses.md (Japanese)
---
.../current/FormObjects/properties_ListBox.md | 2 +-
.../current/Notes/updates.md | 3 +
.../current/ORDA/ordaClasses.md | 2 +-
.../current/ORDA/privileges.md | 8 +-
.../current/WebServer/sessions.md | 2 +-
.../current/WebServer/webServerConfig.md | 2 +-
.../current/WritePro/writeprointerface.md | 2 +-
.../current/aikit/Classes/OpenAI.md | 2 +
.../current/aikit/Classes/OpenAIFile.md | 29 +++
.../aikit/Classes/OpenAIFileDeletedResult.md | 38 ++++
.../aikit/Classes/OpenAIFileListParameters.md | 38 ++++
.../aikit/Classes/OpenAIFileListResult.md | 66 +++++++
.../aikit/Classes/OpenAIFileParameters.md | 43 +++++
.../current/aikit/Classes/OpenAIFileResult.md | 36 ++++
.../current/aikit/Classes/OpenAIFilesAPI.md | 173 ++++++++++++++++++
.../current/aikit/Classes/OpenAIMessage.md | 38 +++-
.../current/aikit/overview.md | 36 ++++
.../current/settings/web.md | 2 +-
.../version-19/Concepts/parameters.md | 2 +-
.../FormObjects/properties_ListBox.md | 2 +-
.../version-20-R10/ORDA/ordaClasses.md | 2 +-
.../version-20-R10/WebServer/sessions.md | 2 +-
.../version-20/Concepts/parameters.md | 2 +-
.../version-20/Notes/updates.md | 6 +-
.../version-20/ViewPro/classes.md | 4 +-
.../version-21/Concepts/parameters.md | 2 +-
.../FormObjects/properties_ListBox.md | 2 +-
.../version-21/Notes/updates.md | 2 +-
.../version-21/ORDA/ordaClasses.md | 2 +-
.../version-21/ORDA/privileges.md | 8 +-
.../version-21/WebServer/sessions.md | 2 +-
.../version-21/WebServer/webServerConfig.md | 2 +-
.../version-21/WritePro/writeprointerface.md | 2 +-
.../version-21/settings/web.md | 2 +-
.../current/Notes/updates.md | 3 +
.../current/WebServer/sessions.md | 2 +-
.../current/aikit/Classes/OpenAI.md | 2 +
.../current/aikit/Classes/OpenAIFile.md | 29 +++
.../aikit/Classes/OpenAIFileDeletedResult.md | 38 ++++
.../aikit/Classes/OpenAIFileListParameters.md | 38 ++++
.../aikit/Classes/OpenAIFileListResult.md | 66 +++++++
.../aikit/Classes/OpenAIFileParameters.md | 43 +++++
.../current/aikit/Classes/OpenAIFileResult.md | 36 ++++
.../current/aikit/Classes/OpenAIFilesAPI.md | 173 ++++++++++++++++++
.../current/aikit/Classes/OpenAIMessage.md | 44 ++++-
.../current/aikit/overview.md | 36 ++++
.../version-20-R10/WebServer/sessions.md | 2 +-
.../version-21/Notes/updates.md | 2 +-
.../version-21/WebServer/sessions.md | 2 +-
.../current/Notes/updates.md | 3 +
.../current/ORDA/orda-events.md | 98 +++++-----
.../current/ORDA/ordaClasses.md | 76 ++++----
.../current/WebServer/sessions.md | 2 +-
.../current/aikit/Classes/OpenAI.md | 16 +-
.../current/aikit/Classes/OpenAIFile.md | 29 +++
.../aikit/Classes/OpenAIFileDeletedResult.md | 38 ++++
.../aikit/Classes/OpenAIFileListParameters.md | 38 ++++
.../aikit/Classes/OpenAIFileListResult.md | 66 +++++++
.../aikit/Classes/OpenAIFileParameters.md | 43 +++++
.../current/aikit/Classes/OpenAIFileResult.md | 36 ++++
.../current/aikit/Classes/OpenAIFilesAPI.md | 173 ++++++++++++++++++
.../current/aikit/Classes/OpenAIMessage.md | 42 ++++-
.../current/aikit/overview.md | 36 ++++
.../version-20-R10/ORDA/ordaClasses.md | 76 ++++----
.../version-20-R10/WebServer/sessions.md | 2 +-
.../version-21/Notes/updates.md | 2 +-
.../version-21/ORDA/orda-events.md | 98 +++++-----
.../version-21/ORDA/ordaClasses.md | 76 ++++----
.../version-21/WebServer/sessions.md | 2 +-
.../current/Notes/updates.md | 3 +
.../current/WebServer/sessions.md | 2 +-
.../current/aikit/Classes/OpenAI.md | 2 +
.../current/aikit/Classes/OpenAIFile.md | 29 +++
.../aikit/Classes/OpenAIFileDeletedResult.md | 38 ++++
.../aikit/Classes/OpenAIFileListParameters.md | 38 ++++
.../aikit/Classes/OpenAIFileListResult.md | 66 +++++++
.../aikit/Classes/OpenAIFileParameters.md | 43 +++++
.../current/aikit/Classes/OpenAIFileResult.md | 36 ++++
.../current/aikit/Classes/OpenAIFilesAPI.md | 173 ++++++++++++++++++
.../current/aikit/Classes/OpenAIMessage.md | 38 +++-
.../current/aikit/overview.md | 36 ++++
.../version-20-R10/WebServer/sessions.md | 2 +-
.../version-21/Notes/updates.md | 2 +-
.../version-21/WebServer/sessions.md | 2 +-
84 files changed, 2268 insertions(+), 276 deletions(-)
create mode 100644 i18n/es/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIFile.md
create mode 100644 i18n/es/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIFileDeletedResult.md
create mode 100644 i18n/es/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIFileListParameters.md
create mode 100644 i18n/es/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIFileListResult.md
create mode 100644 i18n/es/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIFileParameters.md
create mode 100644 i18n/es/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIFileResult.md
create mode 100644 i18n/es/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIFilesAPI.md
create mode 100644 i18n/fr/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIFile.md
create mode 100644 i18n/fr/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIFileDeletedResult.md
create mode 100644 i18n/fr/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIFileListParameters.md
create mode 100644 i18n/fr/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIFileListResult.md
create mode 100644 i18n/fr/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIFileParameters.md
create mode 100644 i18n/fr/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIFileResult.md
create mode 100644 i18n/fr/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIFilesAPI.md
create mode 100644 i18n/ja/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIFile.md
create mode 100644 i18n/ja/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIFileDeletedResult.md
create mode 100644 i18n/ja/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIFileListParameters.md
create mode 100644 i18n/ja/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIFileListResult.md
create mode 100644 i18n/ja/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIFileParameters.md
create mode 100644 i18n/ja/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIFileResult.md
create mode 100644 i18n/ja/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIFilesAPI.md
create mode 100644 i18n/pt/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIFile.md
create mode 100644 i18n/pt/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIFileDeletedResult.md
create mode 100644 i18n/pt/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIFileListParameters.md
create mode 100644 i18n/pt/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIFileListResult.md
create mode 100644 i18n/pt/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIFileParameters.md
create mode 100644 i18n/pt/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIFileResult.md
create mode 100644 i18n/pt/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIFilesAPI.md
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/FormObjects/properties_ListBox.md b/i18n/es/docusaurus-plugin-content-docs/current/FormObjects/properties_ListBox.md
index 01a04636cf534f..8fad6d483e7b51 100644
--- a/i18n/es/docusaurus-plugin-content-docs/current/FormObjects/properties_ListBox.md
+++ b/i18n/es/docusaurus-plugin-content-docs/current/FormObjects/properties_ListBox.md
@@ -78,7 +78,7 @@ Para las dos últimas acciones, el evento formulario `On Open Detail` también s
---
-## Highlight Set {#highlight-set}
+## Conjunto resaltado {#highlight-set}
`List box del tipo selección`
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/Notes/updates.md b/i18n/es/docusaurus-plugin-content-docs/current/Notes/updates.md
index 6eeebff3e41b72..aea403ab3bf6b4 100644
--- a/i18n/es/docusaurus-plugin-content-docs/current/Notes/updates.md
+++ b/i18n/es/docusaurus-plugin-content-docs/current/Notes/updates.md
@@ -10,6 +10,9 @@ Lea [**Novedades en 4D 21 R2**](https://blog.4d.com/en-whats-new-in-4d-21-r2/),
#### Lo más destacado
- [Code Live Checker](../code-editor/write-class-method.md#warnings-and-errors) has been enhanced to provide greater precision in error detection (see [this blog post](https://blog.4d.com/better-error-handling-and-type-inference-for-4d-developers) for more information).
+
+- 4D AIKit component: new [File API](../aikit/Classes/OpenAIFilesAPI.md) class to implement **file upload** features.
+
- [**Lista de bugs corregidos**](https://bugs.4d.fr/fixedbugslist?version=21_R2): lista de todos los bugs que se han corregido en 4D 21 R2.
#### Cambios de comportamiento
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/ORDA/ordaClasses.md b/i18n/es/docusaurus-plugin-content-docs/current/ORDA/ordaClasses.md
index 669de5f11a80eb..96c61be07c7447 100644
--- a/i18n/es/docusaurus-plugin-content-docs/current/ORDA/ordaClasses.md
+++ b/i18n/es/docusaurus-plugin-content-docs/current/ORDA/ordaClasses.md
@@ -930,7 +930,7 @@ $arch.save() //courseName y name son "Archaeology II"
For security reasons, all of your data model class functions, including [computed attributes](#computed-attributes-1) and [alias attributes](#alias-attributes-1), as well as [shared singleton functions](../Concepts/classes.md#shared-singleton) are **not exposed** (i.e., private) by default to **remote requests**.
-Remote requests are:
+Las peticiones remotas son:
- Las peticiones enviadas por las aplicaciones 4D remotas conectadas a través de `Open datastore`
- REST requests, including requests from [Qodly pages](https://developer.4d.com/qodly/)
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/ORDA/privileges.md b/i18n/es/docusaurus-plugin-content-docs/current/ORDA/privileges.md
index 02c55b6fb10e2f..d1a1d185b52ba1 100644
--- a/i18n/es/docusaurus-plugin-content-docs/current/ORDA/privileges.md
+++ b/i18n/es/docusaurus-plugin-content-docs/current/ORDA/privileges.md
@@ -27,11 +27,11 @@ Si un usuario intenta ejecutar una acción y no tiene los derechos de acceso ade
Puede asignar acciones de permiso específicas a los siguientes recursos en su proyecto:
-- the [datastore](../ORDA/dsMapping.md#datastore)
-- the [dataclasses](../ORDA/dsMapping.md#dataclass)
+- el [datastore](../ORDA/dsMapping.md#datastore)
+- las [clases de datos](../ORDA/dsMapping.md#dataclass)
- [attributes](../ORDA/dsMapping.md#attribute) (including [computed](./ordaClasses.md#computed-attributes-1) and [alias](./ordaClasses.md#alias-attributes-1))
- functions of the [data model classes](../ORDA/ordaClasses.md)
-- [singleton](../REST/$singleton.md) functions
+- funciones [singleton](../REST/$singleton.md)
Cada vez que se accede a un recurso dentro de una sesión (sin importar la forma en que se acceda), 4D verifica que la sesión tenga los permisos apropiados y rechaza el acceso si no está autorizado.
@@ -190,7 +190,7 @@ El archivo `roles.json` describe todos los parámetros de seguridad web del proy
:::caution Recordatorio
- El nombre de privilegio "WebAdmin" está reservado a la aplicación. No se recomienda utilizar este nombre para los privilegios personalizados.
-- `privileges` and `roles` names are case-insensitive.
+- los nombres de `privileges` y `roles` no son sensibles a mayúsculas y minúsculas.
:::
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/WebServer/sessions.md b/i18n/es/docusaurus-plugin-content-docs/current/WebServer/sessions.md
index 94acf76215ffbc..1f93da7931a3b2 100644
--- a/i18n/es/docusaurus-plugin-content-docs/current/WebServer/sessions.md
+++ b/i18n/es/docusaurus-plugin-content-docs/current/WebServer/sessions.md
@@ -25,7 +25,7 @@ Las sesiones web se utilizan para:
- [Aplicaciones web](gettingStarted.md) enviando peticiones http (incluyendo peticiones [SOAP Web services](../commands/theme/Web_Services_Server.md) y [/4DACTION](../WebServer/httpRequests.md#4daction)),
- llamadas a la [REST API](../REST/authUsers.md), que utilizan [datastores remotos](../ORDA/remoteDatastores.md) y [formularios Qodly](qodly-studio.md).
-## Habilitando sesiones web
+## Activando sesiones web {#enabling-web-sessions}
La funcionalidad de gestión de sesiones puede ser activada y desactivada en su servidor web 4D. Hay diferentes maneras de habilitar la gestión de la sesión:
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/WebServer/webServerConfig.md b/i18n/es/docusaurus-plugin-content-docs/current/WebServer/webServerConfig.md
index 22056b4f4e48a2..39361baf4edd38 100644
--- a/i18n/es/docusaurus-plugin-content-docs/current/WebServer/webServerConfig.md
+++ b/i18n/es/docusaurus-plugin-content-docs/current/WebServer/webServerConfig.md
@@ -603,7 +603,7 @@ Los parámetros siguientes siguen siendo compatibles, pero se basan en funcional
Estado de validación de la dirección IP para las cookies de sesión. Por razones de seguridad, por defecto el servidor web 4D verifica la dirección IP de cada solicitud que contiene una cookie de sesión y la rechaza si esta dirección no coincide con la dirección IP utilizada para crear la cookie. En algunas aplicaciones específicas, es posible que desee desactivar esta validación y aceptar las cookies de sesión, incluso cuando sus direcciones IP no coinciden. Por ejemplo, cuando los dispositivos móviles cambian entre las redes Wifi y 4G/5G, su dirección IP cambiará. En este caso, debe pasar 0 en esta opción para permitir que los clientes puedan seguir utilizando sus sesiones web aunque las direcciones IP cambien. Tenga en cuenta que este parámetro reduce el nivel de seguridad de su aplicación. Cuando se modifica, esta configuración es efectiva inmediatamente (no es necesario reiniciar el servidor HTTP).
-### Generic Web User
+### Usuario web genérico
This option allows you to designate a user, previously defined in the [4D password table](../Users/handling_users_groups.md), as a "Generic Web User". In this case, each browser allowed to connect to the database gets access authorizations and restrictions associated with this user.
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/WritePro/writeprointerface.md b/i18n/es/docusaurus-plugin-content-docs/current/WritePro/writeprointerface.md
index 72146ab7f99e17..b49cfefe64375a 100644
--- a/i18n/es/docusaurus-plugin-content-docs/current/WritePro/writeprointerface.md
+++ b/i18n/es/docusaurus-plugin-content-docs/current/WritePro/writeprointerface.md
@@ -8,7 +8,7 @@ slug: /WritePro/write-pro-interface
Un desarrollador 4D puede implementar fácilmente estas paletas en su aplicación. Así, los usuarios finales pueden gestionar todas las propiedades de 4D Write Pro, como las fuentes, la alineación del texto, los marcadores, la disposición de las tablas y los marcos.
-## Installation & documentation
+## Instalación y documentación
4D Write Pro Interface is a **4D component** that needs to be [installed in your project](../Project/components.md#overview). 4D Write Pro Interface source files are [provided on Github](https://github.com/4d/4D-WritePro-Interface).
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAI.md b/i18n/es/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAI.md
index 5cc5cd870dca4c..f185aa3849bf86 100644
--- a/i18n/es/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAI.md
+++ b/i18n/es/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAI.md
@@ -67,11 +67,13 @@ La API ofrece acceso a múltiples recursos que permiten una interacción perfect
| `images` | [OpenAIImagesAPI](OpenAIImagesAPI.md) | Acceso a la API Images. |
| `moderations` | [OpenAIModerationsAPI](OpenAIModerationsAPI.md) | Acceso a la API de moderaciones. |
| `embeddings` | [OpenAIEmbeddingsAPI](OpenAIEmbeddingsAPI.md) | Acceso a la API Embeddings. |
+| `files` | [OpenAIFilesAPI](OpenAIFilesAPI.md) | Access to the Files API. |
### Ejemplo de Uso
```4d
$client.chat.completions.create(...)
$client.images.generate(...)
+$client.files.create(...)
$client.model.lists(...)
```
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIFile.md b/i18n/es/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIFile.md
new file mode 100644
index 00000000000000..a2c81f27a2e0f5
--- /dev/null
+++ b/i18n/es/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIFile.md
@@ -0,0 +1,29 @@
+---
+id: openaifile
+title: OpenAIFile
+---
+
+# OpenAIFile
+
+The `OpenAIFile` class represents a file object in the OpenAI API. Files can be uploaded and used across various endpoints including Assistants, Fine-tuning, Batch, and Vision APIs.
+
+## Propiedades
+
+| Nombre de la propiedad | Tipo | Descripción |
+| ---------------------- | ------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| `id` | Text | The file identifier, which can be referenced in the API endpoints. |
+| `bytes` | Integer | El tamaño del archivo, en bytes. |
+| `created_at` | Integer | The Unix timestamp (in seconds) for when the file was created. |
+| `expires_at` | Integer | The Unix timestamp (in seconds) for when the file will expire. |
+| `filename` | Text | El nombre del archivo. |
+| `object` | Text | The object type, which is always "file". |
+| `purpose` | Text | The intended purpose of the file. Supported values: `assistants`, `assistants_output`, `batch`, `batch_output`, `fine-tune`, `fine-tune-results`, `vision`, and `user_data`. |
+| `status` | Text | **Deprecated.** The current status of the file, which can be either `uploaded`, `processed`, or `error`. |
+| `status_details` | Text | **Deprecated.** For details on why a fine-tuning training file failed validation, see the error field on `fine_tuning.job`. |
+
+## Ver también
+
+- [OpenAIFileResult](OpenAIFileResult.md)
+- [OpenAIFileListResult](OpenAIFileListResult.md)
+- [OpenAIFilesAPI](OpenAIFilesAPI.md)
+- [OpenAIFileParameters](OpenAIFileParameters.md)
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIFileDeletedResult.md b/i18n/es/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIFileDeletedResult.md
new file mode 100644
index 00000000000000..44d6daba23f279
--- /dev/null
+++ b/i18n/es/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIFileDeletedResult.md
@@ -0,0 +1,38 @@
+---
+id: openaifiledeletedresult
+title: OpenAIFileDeletedResult
+---
+
+# OpenAIFileDeletedResult
+
+The `OpenAIFileDeletedResult` class contains the result of a file deletion operation.
+
+## Hereda
+
+[OpenAIResult](OpenAIResult.md)
+
+## Propiedades calculadas
+
+| Propiedad | Tipo | Descripción |
+| --------- | ----------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------ |
+| `deleted` | [OpenAIFileDeleted](OpenAIFileDeleted.md) | Returns the file deletion result from the API response. Returns `Null` if the response doesn't contain a valid result. |
+
+## Ejemplo de Uso
+
+```4d
+// Delete a file
+var $fileId:="file-abc123"
+var $result:=$client.files.delete($fileId; Null)
+var $deletionStatus:=$result.deleted
+
+If ($deletionStatus.deleted)
+ ALERT("File "+$deletionStatus.id+" was successfully deleted")
+Else
+ ALERT("Failed to delete file")
+End if
+```
+
+## Ver también
+
+- [OpenAIFilesAPI](OpenAIFilesAPI.md)
+- [OpenAIFileDeleted](OpenAIFileDeleted.md)
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIFileListParameters.md b/i18n/es/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIFileListParameters.md
new file mode 100644
index 00000000000000..986a8c0ebf1b56
--- /dev/null
+++ b/i18n/es/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIFileListParameters.md
@@ -0,0 +1,38 @@
+---
+id: openaifilelistparameters
+title: OpenAIFileListParameters
+---
+
+# OpenAIFileListParameters
+
+The `OpenAIFileListParameters` class contains parameters for listing files in the OpenAI API.
+
+## Hereda
+
+[OpenAIParameters](OpenAIParameters.md)
+
+## Propiedades
+
+| Nombre de la propiedad | Tipo | Requerido | Por defecto | Descripción |
+| ---------------------- | ------- | --------- | ----------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| `after` | Text | Opcional | - | Un cursor para utilizar en la paginación. `after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `after=obj_foo` in order to fetch the next page of the list. |
+| `limit` | Integer | Opcional | 10000 | Un límite en el número de objetos a devolver. Limit can range between 1 and 10,000, and the default is 10,000. |
+| `order` | Text | Opcional | desc | Sort order by the `created_at` timestamp of the objects. `asc` for ascending order and `desc` for descending order. |
+| `purpose` | Text | Opcional | - | Devuelve sólo los archivos con la finalidad indicada. |
+
+## Ejemplo de Uso
+
+```4d
+// Get first 100 files with purpose "fine-tune"
+var $params:=cs.AIKit.OpenAIFileListParameters.new()
+$params.limit:=100
+$params.purpose:="fine-tune"
+$params.order:="desc"
+
+var $result:=$client.files.list($params)
+```
+
+## Ver también
+
+- [OpenAIFilesAPI](OpenAIFilesAPI.md)
+- [OpenAIFileListResult](OpenAIFileListResult.md)
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIFileListResult.md b/i18n/es/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIFileListResult.md
new file mode 100644
index 00000000000000..dc92c30d761a48
--- /dev/null
+++ b/i18n/es/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIFileListResult.md
@@ -0,0 +1,66 @@
+---
+id: openaifilelistresult
+title: OpenAIFileListResult
+---
+
+# OpenAIFileListResult
+
+The `OpenAIFileListResult` class contains the result of listing files from the OpenAI API.
+
+## Hereda
+
+[OpenAIResult](OpenAIResult.md)
+
+## Propiedades calculadas
+
+| Propiedad | Tipo | Descripción |
+| ---------- | ---------- | ------------------------------------------------------------------------------------------------------------------------------------------------ |
+| `files` | Collection | Returns a collection of [OpenAIFile](OpenAIFile.md) objects from the API response, or an empty collection if no files are found. |
+| `first_id` | Text | Returns the ID of the first file in the list, or an empty string if not available. |
+| `last_id` | Text | Returns the ID of the last file in the list, or an empty string if not available. |
+| `has_more` | Boolean | Indica si hay más archivos más allá de esta página. `True` if there are more files to fetch, `False` otherwise. |
+
+## Ejemplo de Uso
+
+### Uso básico
+
+```4d
+var $params:=cs.AIKit.OpenAIFileListParameters.new()
+$params.purpose:="assistants"
+$params.limit:=50
+
+var $result:=$client.files.list($params)
+var $files:=$result.files
+
+For each ($file; $files)
+ // Process each OpenAIFile object
+ // $file.filename -> "salesOverview.pdf"
+ // $file.bytes -> 175
+ // $file.purpose -> "assistants"
+End for each
+```
+
+### Pagination Example
+
+```4d
+var $params:=cs.AIKit.OpenAIFileListParameters.new()
+$params.limit:=100
+
+var $result:=$client.files.list($params)
+var $allFiles:=$allFiles.combine($result.files)
+
+// Continue fetching if there are more files
+While ($result.has_more)
+ $params.after:=$result.last_id
+ $result:=$client.files.list($params)
+ $allFiles:=$allFiles.combine($result.files)
+End while
+
+// $allFiles now contains all files from the organization
+```
+
+## Ver también
+
+- [OpenAIFilesAPI](OpenAIFilesAPI.md)
+- [OpenAIFile](OpenAIFile.md)
+- [OpenAIFileListParameters](OpenAIFileListParameters.md)
\ No newline at end of file
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIFileParameters.md b/i18n/es/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIFileParameters.md
new file mode 100644
index 00000000000000..aab077253ede67
--- /dev/null
+++ b/i18n/es/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIFileParameters.md
@@ -0,0 +1,43 @@
+---
+id: openaifileparameters
+title: OpenAIFileParameters
+---
+
+# OpenAIFileParameters
+
+The `OpenAIFileParameters` class handles parameters for file upload operations.
+
+## Hereda
+
+[OpenAIParameters](OpenAIParameters.md)
+
+## Propiedades
+
+| Nombre de la propiedad | Tipo | Requerido | Descripción |
+| ---------------------- | ------ | --------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
+| `expires_after` | Object | Opcional | The expiration policy for a file. By default, files with `purpose=batch` expire after 30 days and all other files are persisted until they are manually deleted. |
+
+### `expires_after` Object Structure
+
+El objeto `expires_after` contiene las siguientes propiedades:
+
+| Nombre de la propiedad | Tipo | Descripción |
+| ---------------------- | ------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| `anchor` | Text | Anchor timestamp after which the expiration policy applies. Supported anchors: `created_at`. |
+| `seconds` | Integer | The number of seconds after the anchor time that the file will expire. Must be between 3600 (1 hour) and 2592000 (30 days). |
+
+## Ejemplo de Uso
+
+```4d
+var $params:=cs.AIKit.OpenAIFileParameters.new()
+
+// Set expiration after 7 days
+$params.expires_after:={}
+$params.expires_after.anchor:="created_at"
+$params.expires_after.seconds:=604800 // 7 days
+```
+
+## Ver también
+
+- [OpenAIFilesAPI](OpenAIFilesAPI.md)
+- [OpenAIFileResult](OpenAIFileResult.md)
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIFileResult.md b/i18n/es/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIFileResult.md
new file mode 100644
index 00000000000000..f42d964305008a
--- /dev/null
+++ b/i18n/es/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIFileResult.md
@@ -0,0 +1,36 @@
+---
+id: openaifileresult
+title: OpenAIFileResult
+---
+
+# OpenAIFileResult
+
+The `OpenAIFileResult` class contains the result of a single file operation (upload or retrieve).
+
+## Hereda
+
+[OpenAIResult](OpenAIResult.md)
+
+## Propiedades calculadas
+
+| Propiedad | Tipo | Descripción |
+| --------- | --------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------- |
+| `file` | [OpenAIFile](OpenAIFile.md) | Devuelve el objeto de archivo de la respuesta de la API. Returns `Null` if the response doesn't contain a valid file. |
+
+## Ejemplo de Uso
+
+```4d
+// Upload a file
+var $file:=File("/RESOURCES/training-data.jsonl")
+
+var $result:=$client.files.create($file; "user_data")
+var $uploadedFile:=$result.file
+
+// Retrieve file information
+var $retrieveResult:=$client.files.retrieve($uploadedFile.id)
+```
+
+## Ver también
+
+- [OpenAIFilesAPI](OpenAIFilesAPI.md)
+- [OpenAIFile](OpenAIFile.md)
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIFilesAPI.md b/i18n/es/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIFilesAPI.md
new file mode 100644
index 00000000000000..efa19c52ff5153
--- /dev/null
+++ b/i18n/es/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIFilesAPI.md
@@ -0,0 +1,173 @@
+---
+id: openaifilesapi
+title: OpenAIFilesAPI
+---
+
+# OpenAIFilesAPI
+
+The `OpenAIFilesAPI` class provides functionalities to manage files using OpenAI's API. Files can be uploaded and used across various endpoints including [Fine-tuning](https://platform.openai.com/docs/api-reference/fine-tuning), [Batch](https://platform.openai.com/docs/api-reference/batch) processing, and Vision.
+
+> **Nota:** esta API sólo es compatible con OpenAI. Other providers listed in the [compatible providers](../compatible-openai.md) documentation do not support file management operations.
+
+API Reference:
+
+## File Size Limits
+
+- **Archivos individuales:** hasta 512 MB por archivo
+- **Organization total:** up to 1 TB (cumulative size of all files uploaded by your [organization](https://platform.openai.com/docs/guides/production-best-practices/setting-up-your-organization))
+
+## Funciones
+
+### create()
+
+**create**(*file* : 4D.File | 4D.Blob; *purpose* : Text; *parameters* : cs.OpenAIFileParameters) : cs.OpenAIFileResult
+
+Upload a file that can be used across various endpoints.
+
+**Endpoint:** `POST https://api.openai.com/v1/files`
+
+| Parámetros | Tipo | Descripción |
+| ------------ | ------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------ |
+| `file` | [4D.File](https://developer.4d.com/docs/API/FileClass) or [4D.Blob](https://developer.4d.com/docs/API/BlobClass) | The File or Blob object (not file name) to be uploaded. |
+| `purpose` | Text | **Required.** The intended purpose of the uploaded file. |
+| `parámetros` | [OpenAIFileParameters](OpenAIFileParameters.md) | Parámetros opcionales, incluida la política de expiración. |
+| Resultado | [OpenAIFileResult](OpenAIFileResult.md) | The file result |
+
+**Throws:** An error if `file` is not a 4D.File or 4D.Blob, or if `purpose` is empty.
+
+#### Supported Purposes
+
+- `assistants`: Used in the Assistants API (⚠️ [deprecated by OpenAI](https://platform.openai.com/docs/assistants/whats-new))
+- `batch`: Used in the [Batch API](https://platform.openai.com/docs/api-reference/batch) (expires after 30 days by default)
+- `fine-tune`: Used for [fine-tuning](https://platform.openai.com/docs/api-reference/fine-tuning)
+- `vision`: imágenes utilizadas para afinar la visión
+- `user_data`: tipo de archivo flexible para cualquier propósito
+- `evals`: Used for eval data sets
+
+#### File Format Requirements
+
+- **Fine-tuning API:** Only supports `.jsonl` files with specific required formats
+- **Batch API:** Only supports `.jsonl` files up to 200 MB with specific required format
+- **Assistants API:** Supports specific file types (see Assistants Tools guide)
+- **API de finalización de chat:** sólo se admiten archivos PDF
+
+#### Ejemplo
+
+```4d
+var $file:=File("/RESOURCES/training-data.jsonl")
+
+var $params:=cs.AIKit.OpenAIFileParameters.new()
+$params.expires_after:={}
+$params.expires_after.anchor:="created_at"
+$params.expires_after.seconds:=2592000 // 30 days
+
+var $result:=$client.files.create($file; "fine-tune"; $params)
+
+If ($result.success)
+ var $uploadedFile:=$result.file
+ // $uploadedFile.id -> "file-abc123"
+ // $uploadedFile.filename -> "training-data.jsonl"
+ // $uploadedFile.bytes -> 120000
+End if
+```
+
+### retrieve()
+
+**retrieve**(*fileId* : Text; *parameters* : cs.OpenAIParameters) : cs.OpenAIFileResult
+
+Devuelve información sobre un archivo específico.
+
+**Endpoint:** `GET https://api.openai.com/v1/files/{file_id}`
+
+| Parámetros | Tipo | Descripción |
+| ------------ | --------------------------------------- | ----------------------------------------------------------------------------- |
+| `fileId` | Text | **Requerido.** El ID del archivo a recuperar. |
+| `parámetros` | [OpenAIParameters](OpenAIParameters.md) | Parámetros opcionales para la solicitud. |
+| Resultado | [OpenAIFileResult](OpenAIFileResult.md) | The file result |
+
+**Throws:** An error if `fileId` is empty.
+
+#### Ejemplo
+
+```4d
+var $result:=$client.files.retrieve("file-abc123")
+
+If ($result.success)
+ var $file:=$result.file
+ // $file.filename -> "mydata.jsonl"
+ // $file.bytes -> 120000
+ // $file.purpose -> "fine-tune"
+End if
+```
+
+### lista()
+
+**list**(*parameters* : cs.OpenAIFileListParameters) : cs.OpenAIFileListResult
+
+Returns a list of files that belong to the user's organization.
+
+**Endpoint:** `GET https://api.openai.com/v1/files`
+
+| Parámetros | Tipo | Descripción |
+| ------------ | ------------------------------------------------------- | ----------------------------------------------------------------------- |
+| `parámetros` | [OpenAIFileListParameters](OpenAIFileListParameters.md) | Parámetros opcionales para el filtrado y la paginación. |
+| Resultado | [OpenAIFileListResult](OpenAIFileListResult.md) | The file list result |
+
+#### Ejemplo
+
+```4d
+var $params:=cs.AIKit.OpenAIFileListParameters.new()
+$params.purpose:="assistants"
+$params.limit:=50
+$params.order:="desc"
+
+var $result:=$client.files.list($params)
+
+If ($result.success)
+ var $files:=$result.files
+ // $files.length -> 2
+
+ For each ($file; $files)
+ // $file.filename -> "salesOverview.pdf", "puppy.jsonl", etc.
+ End for each
+End if
+```
+
+### delete()
+
+**delete**(*fileId* : Text; *parameters* : cs.OpenAIParameters) : cs.OpenAIFileDeletedResult
+
+Eliminar un archivo.
+
+**Endpoint:** `DELETE https://api.openai.com/v1/files/{file_id}`
+
+| Parámetros | Tipo | Descripción |
+| ------------ | ----------------------------------------------------- | -------------------------------------------------------------------------- |
+| `fileId` | Text | **Requerido.** el ID del archivo a borrar. |
+| `parámetros` | [OpenAIParameters](OpenAIParameters.md) | Parámetros opcionales para la solicitud. |
+| Resultado | [OpenAIFileDeletedResult](OpenAIFileDeletedResult.md) | The file deletion result |
+
+**Throws:** An error if `fileId` is empty.
+
+#### Ejemplo
+
+```4d
+var $result:=$client.files.delete("file-abc123")
+
+If ($result.success)
+ var $status:=$result.deleted
+
+ If ($status.deleted)
+ ALERT("File deleted successfully")
+ End if
+End if
+```
+
+## Ver también
+
+- [OpenAIFile](OpenAIFile.md)
+- [OpenAIFileParameters](OpenAIFileParameters.md)
+- [OpenAIFileListParameters](OpenAIFileListParameters.md)
+- [OpenAIFileResult](OpenAIFileResult.md)
+- [OpenAIFileListResult](OpenAIFileListResult.md)
+- [OpenAIFileDeletedResult](OpenAIFileDeletedResult.md)
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIMessage.md b/i18n/es/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIMessage.md
index 340462dceeb399..4fb9a34e1c7733 100644
--- a/i18n/es/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIMessage.md
+++ b/i18n/es/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIMessage.md
@@ -36,18 +36,52 @@ La clase `OpenAIMessage` representa un mensaje estructurado que contiene un rol,
Añade una URL de imagen al contenido del mensaje.
+### addFileId()
+
+**addFileId**(*fileId* : Text)
+
+| Parámetros | Tipo | Descripción |
+| ---------- | ---- | ------------------------------------------------------------ |
+| *fileId* | Text | El ID del archivo que se añadirá al mensaje. |
+
+Añade una referencia de archivo al contenido del mensaje. If the content is currently text, it will be converted to a collection format.
+
## Ejemplo de Uso
-### Crear un mensaje simple y adjuntar una imagen
+### Basic Text Message
```4d
// Create an instance of OpenAIMessage
-var $message:=cs.AIKit.OpenAIMessage({role: "user"; content: "Hello!"})
+var $message:=cs.AIKit.OpenAIMessage.new({role: "user"; content: "Hello!"})
+```
+
+### Añadir imágenes
+
+```4d
+var $message:=cs.AIKit.OpenAIMessage.new({role: "user"; content: "Please analyze this image:"})
// Add an image URL with details
$message.addImageURL("http://example.com/image.jpg"; "high")
```
+### Añadir archivo
+
+```4d
+// Upload a file with user_data purpose
+var $file:=File("/RESOURCES/document.pdf")
+var $uploadResult:=$client.files.create($file; "user_data")
+
+If ($uploadResult.success)
+ var $uploadedFile:=$uploadResult.file
+
+ // Create message and attach the file using its ID
+ var $message:=cs.AIKit.OpenAIMessage.new({role: "user"; content: "Please analyze this document:"})
+ $message.addFileId($uploadedFile.id)
+
+ // $message.content -> [{type: "text"; text: "Please analyze this document:"}; {type: "file"; file_id: "file-abc123"}]
+End if
+```
+
### Responder a un mensaje de llamada de herramienta
Cuando un asistente necesita utilizar las funciones externas, genera un mensaje con `tool_calls` para solicitar la ejecución de la función.
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/aikit/overview.md b/i18n/es/docusaurus-plugin-content-docs/current/aikit/overview.md
index 5e5fb290cb27f3..29010b1bd1e2d3 100644
--- a/i18n/es/docusaurus-plugin-content-docs/current/aikit/overview.md
+++ b/i18n/es/docusaurus-plugin-content-docs/current/aikit/overview.md
@@ -103,6 +103,42 @@ Obtener información de un modelo por id
var $model:=$client.models.retrieve("a model id").model
```
+#### Files
+
+https://platform.openai.com/docs/api-reference/files
+
+Cargar un archivo para utilizarlo con otros terminales
+
+```4d
+var $file:=File("/path/to/your/file.jsonl")
+var $result:=$client.files.create($file; "fine-tune")
+var $fileId:=$result.file.id
+```
+
+List all files
+
+```4d
+var $files:=$client.files.list().files
+```
+
+Retrieve file information
+
+```4d
+var $fileInfo:=$client.files.retrieve($fileId).file
+```
+
+Eliminar un archivo
+
+```4d
+var $deleteResult:=$client.files.delete($fileId)
+```
+
+:::tip Entrada de blog relacionada
+
+[Transform Static Documents into Actionable Knowledge with 4D AIKit](https://blog.4d.com/transform-static-documents-into-actionable-knowledge-with-4d-aikit).
+
+:::
+
#### Moderations
https://platform.openai.com/docs/api-reference/moderations
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/settings/web.md b/i18n/es/docusaurus-plugin-content-docs/current/settings/web.md
index d827ba37fa6121..6cea9f5a1781b0 100644
--- a/i18n/es/docusaurus-plugin-content-docs/current/settings/web.md
+++ b/i18n/es/docusaurus-plugin-content-docs/current/settings/web.md
@@ -126,7 +126,7 @@ Define el sistema de autenticación que desea aplicar a su servidor web. Se prop
Se recomienda utilizar la autenticación **personalizada**. Ver la sección[**autenticación**](../WebServer/authentication.md).
-#### Generic Web User
+#### Usuario web genérico
Ver [Propiedades obsoletas](../WebServer/webServerConfig.md#deprecated-settings).
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-19/Concepts/parameters.md b/i18n/es/docusaurus-plugin-content-docs/version-19/Concepts/parameters.md
index 5d1d394fdd7e25..9e441b221103b8 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-19/Concepts/parameters.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-19/Concepts/parameters.md
@@ -123,7 +123,7 @@ $entitySelection:=ds.User.query("login=:1"; $user)
:::note
-Do not confuse **parameter declarations** with [**variable declarations**](variables.md#declaring-variables). Using the `var` keyword with parameters will generate errors.
+Do not confuse **parameter declarations** with [**variable declarations**](variables.md#declaring-variables). El uso de la palabra clave `var` con parámetros generará errores.
:::
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/FormObjects/properties_ListBox.md b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/FormObjects/properties_ListBox.md
index 9d890776e42567..e2d8e22cbe1da1 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/FormObjects/properties_ListBox.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/FormObjects/properties_ListBox.md
@@ -74,7 +74,7 @@ Para las dos últimas acciones, también se genera el evento de formulario `On O
---
-## Highlight Set {#highlight-set}
+## Conjunto resaltado {#highlight-set}
`List box del tipo selección`
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/ORDA/ordaClasses.md b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/ORDA/ordaClasses.md
index 669de5f11a80eb..96c61be07c7447 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/ORDA/ordaClasses.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/ORDA/ordaClasses.md
@@ -930,7 +930,7 @@ $arch.save() //courseName y name son "Archaeology II"
For security reasons, all of your data model class functions, including [computed attributes](#computed-attributes-1) and [alias attributes](#alias-attributes-1), as well as [shared singleton functions](../Concepts/classes.md#shared-singleton) are **not exposed** (i.e., private) by default to **remote requests**.
-Remote requests are:
+Las peticiones remotas son:
- Las peticiones enviadas por las aplicaciones 4D remotas conectadas a través de `Open datastore`
- REST requests, including requests from [Qodly pages](https://developer.4d.com/qodly/)
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/WebServer/sessions.md b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/WebServer/sessions.md
index cf67617260a18d..3280a50dd5dbaa 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/WebServer/sessions.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/WebServer/sessions.md
@@ -25,7 +25,7 @@ Las sesiones web se utilizan para:
- [Aplicaciones web](gettingStarted.md) que envían peticiones http,
- llamadas a la [REST API](../REST/authUsers.md), que utilizan [datastores remotos](../ORDA/remoteDatastores.md) y [formularios Qodly](qodly-studio.md).
-## Habilitando sesiones web
+## Activando sesiones web {#enabling-web-sessions}
La funcionalidad de gestión de sesiones puede ser activada y desactivada en su servidor web 4D. Hay diferentes maneras de habilitar la gestión de la sesión:
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-20/Concepts/parameters.md b/i18n/es/docusaurus-plugin-content-docs/version-20/Concepts/parameters.md
index fbb615743b4ad9..66b684eba3162c 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-20/Concepts/parameters.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-20/Concepts/parameters.md
@@ -112,7 +112,7 @@ $entitySelection:=ds.User.query("login=:1"; $user)
:::note
-Do not confuse **parameter declarations** with [**variable declarations**](variables.md#declaring-variables). Using the `var` keyword with parameters will generate errors.
+Do not confuse **parameter declarations** with [**variable declarations**](variables.md#declaring-variables). El uso de la palabra clave `var` con parámetros generará errores.
:::
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-20/Notes/updates.md b/i18n/es/docusaurus-plugin-content-docs/version-20/Notes/updates.md
index 6d72dac749055a..0943b619df731d 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-20/Notes/updates.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-20/Notes/updates.md
@@ -15,8 +15,8 @@ Lea las [**novedades de 4D 20**](https://blog.4d.com/en-whats-new-in-4d-v20/), l
#### Lo más destacado
-- 4D 20.8 LTS is certified on Windows 11 25H2.
-- 4D 20.8 LTS is certified on macOS Tahoe (macOS 26).
+- 4D 20.8 LTS está certificado en Windows 11 25H2.
+- 4D 20.8 LTS está certificado en macOS Tahoe (macOS 26).
- [**Lista de bugs corregidos**](https://bugs.4d.com/fixes?version=20.8): lista de todos los bugs corregidos en 4D 20.8 LTS.
@@ -35,7 +35,7 @@ Por razones internas, la versión de los clientes remotos que se conectan a 4D S
#### Cambios de comportamiento
-- As of 4D **20.7 HF2**, the [`Time`](https://doc.4d.com/4dv20/help/command/en/page179.html) command returns a negative time expression when the *timeValue* parameter is negative. Por ejemplo, `Time("-01:02:03")` ahora devolverá -01:02:03. En versiones anteriores, se ignoraba el signo negativo.
+- A partir de 4D **20.7 HF2**, el comando [`Time`](https://doc.4d.com/4dv20/help/command/en/page179.html) devuelve una expresión negativa cuando el parámetro *timeValue* es negativo. Por ejemplo, `Time("-01:02:03")` ahora devolverá -01:02:03. En versiones anteriores, se ignoraba el signo negativo.
## 4D 20.6 LTS
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-20/ViewPro/classes.md b/i18n/es/docusaurus-plugin-content-docs/version-20/ViewPro/classes.md
index 40eadc8c41f98b..daec7235ed587d 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-20/ViewPro/classes.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-20/ViewPro/classes.md
@@ -156,7 +156,7 @@ La propiedad `.backColor` es el [color
**.foreColor** : Text
-The `.foreColor` property is the [color de primer plano](configuring.md#background--foreground) de la tabla.
+La propiedad `.foreColor` es el [color de primer plano](configuring.md#background--foreground) de la tabla.
@@ -206,7 +206,7 @@ La propiedad `.borderBottom` es el
**.borderTop** : [cs.ViewPro.LineBorder](#lineborder)
-The `.borderTop` property is the top border line of the table .
+La propiedad `.borderRight` es la top border line of the table .
### .borderHorizontal
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-21/Concepts/parameters.md b/i18n/es/docusaurus-plugin-content-docs/version-21/Concepts/parameters.md
index df4ff6da8665ad..32949f64166674 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-21/Concepts/parameters.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-21/Concepts/parameters.md
@@ -112,7 +112,7 @@ $entitySelection:=ds.User.query("login=:1"; $user)
:::note
-Do not confuse **parameter declarations** with [**variable declarations**](variables.md#declaring-variables). Using the `var` keyword with parameters will generate errors.
+Do not confuse **parameter declarations** with [**variable declarations**](variables.md#declaring-variables). El uso de la palabra clave `var` con parámetros generará errores.
:::
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-21/FormObjects/properties_ListBox.md b/i18n/es/docusaurus-plugin-content-docs/version-21/FormObjects/properties_ListBox.md
index 8badbab5da377d..0c7eb2ff064673 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-21/FormObjects/properties_ListBox.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-21/FormObjects/properties_ListBox.md
@@ -78,7 +78,7 @@ Para las dos últimas acciones, también se genera el evento de formulario `On O
---
-## Highlight Set {#highlight-set}
+## Conjunto resaltado {#highlight-set}
`List box del tipo selección`
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-21/Notes/updates.md b/i18n/es/docusaurus-plugin-content-docs/version-21/Notes/updates.md
index 4b55c00588c4d4..e351f89aa250f5 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-21/Notes/updates.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-21/Notes/updates.md
@@ -41,7 +41,7 @@ El [renderizado **Fluent UI** para los formularios 4D](../FormEditor/forms.md#fl
:::
-- Servicios web (SOAP): cuando las [sesiones escalables](../WebServer/sessions.md#enabling-web-sessions) están activadas, los servicios web se ejecutan ahora en [**procesos apropiativos**](../Develop/preemptive.md) en modo compilado. Asegúrese de que su código SOAP es hilo seguro.
+- Servicios web (SOAP): cuando las [sesiones escalables](../WebServer/sessions.md#enabling-web-sessions) están activadas, los servicios web se ejecutan ahora en [**procesos apropiativos**](../Develop/preemptive.md) en modo compilado. Make sure that your SOAP code is thread-safe and that the session in which it runs has appropriate [privileges](../API/SessionClass.md#setprivileges).
- Servidor web: se elimina la compatibilidad con las URL obsoletas `4DSYNC/` y `4DCGI/`. Ya no se realiza ningún tratamiento específico en estas URL.
- Las sesiones usuario web ahora son devueltas por [`Process activity`](../commands/process-activity.md).
- El comando [`HIGHLIGHT TEXT`](../commands/highlight-text) es ahora compatible en el contexto de los subformularios.
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-21/ORDA/ordaClasses.md b/i18n/es/docusaurus-plugin-content-docs/version-21/ORDA/ordaClasses.md
index 669de5f11a80eb..96c61be07c7447 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-21/ORDA/ordaClasses.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-21/ORDA/ordaClasses.md
@@ -930,7 +930,7 @@ $arch.save() //courseName y name son "Archaeology II"
For security reasons, all of your data model class functions, including [computed attributes](#computed-attributes-1) and [alias attributes](#alias-attributes-1), as well as [shared singleton functions](../Concepts/classes.md#shared-singleton) are **not exposed** (i.e., private) by default to **remote requests**.
-Remote requests are:
+Las peticiones remotas son:
- Las peticiones enviadas por las aplicaciones 4D remotas conectadas a través de `Open datastore`
- REST requests, including requests from [Qodly pages](https://developer.4d.com/qodly/)
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-21/ORDA/privileges.md b/i18n/es/docusaurus-plugin-content-docs/version-21/ORDA/privileges.md
index d44456626e3e3b..5b9a784e909ef3 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-21/ORDA/privileges.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-21/ORDA/privileges.md
@@ -27,11 +27,11 @@ Si un usuario intenta ejecutar una acción y no tiene los derechos de acceso ade
Puede asignar acciones de permiso específicas a los siguientes recursos en su proyecto:
-- the [datastore](../ORDA/dsMapping.md#datastore)
-- the [dataclasses](../ORDA/dsMapping.md#dataclass)
+- el [datastore](../ORDA/dsMapping.md#datastore)
+- las [clases de datos](../ORDA/dsMapping.md#dataclass)
- [attributes](../ORDA/dsMapping.md#attribute) (including [computed](./ordaClasses.md#computed-attributes-1) and [alias](./ordaClasses.md#alias-attributes-1))
- functions of the [data model classes](../ORDA/ordaClasses.md)
-- [singleton](../REST/$singleton.md) functions
+- funciones [singleton](../REST/$singleton.md)
Cada vez que se accede a un recurso dentro de una sesión (sin importar la forma en que se acceda), 4D verifica que la sesión tenga los permisos apropiados y rechaza el acceso si no está autorizado.
@@ -190,7 +190,7 @@ El archivo `roles.json` describe todos los parámetros de seguridad web del proy
:::caution Recordatorio
- El nombre de privilegio "WebAdmin" está reservado a la aplicación. No se recomienda utilizar este nombre para los privilegios personalizados.
-- `privileges` and `roles` names are case-insensitive.
+- los nombres de `privileges` y `roles` no son sensibles a mayúsculas y minúsculas.
:::
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-21/WebServer/sessions.md b/i18n/es/docusaurus-plugin-content-docs/version-21/WebServer/sessions.md
index 94acf76215ffbc..1f93da7931a3b2 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-21/WebServer/sessions.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-21/WebServer/sessions.md
@@ -25,7 +25,7 @@ Las sesiones web se utilizan para:
- [Aplicaciones web](gettingStarted.md) enviando peticiones http (incluyendo peticiones [SOAP Web services](../commands/theme/Web_Services_Server.md) y [/4DACTION](../WebServer/httpRequests.md#4daction)),
- llamadas a la [REST API](../REST/authUsers.md), que utilizan [datastores remotos](../ORDA/remoteDatastores.md) y [formularios Qodly](qodly-studio.md).
-## Habilitando sesiones web
+## Activando sesiones web {#enabling-web-sessions}
La funcionalidad de gestión de sesiones puede ser activada y desactivada en su servidor web 4D. Hay diferentes maneras de habilitar la gestión de la sesión:
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-21/WebServer/webServerConfig.md b/i18n/es/docusaurus-plugin-content-docs/version-21/WebServer/webServerConfig.md
index 4a467a5ab602c3..e7cc4033c728fd 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-21/WebServer/webServerConfig.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-21/WebServer/webServerConfig.md
@@ -603,7 +603,7 @@ Los parámetros siguientes siguen siendo compatibles, pero se basan en funcional
Estado de validación de la dirección IP para las cookies de sesión. Por razones de seguridad, por defecto el servidor web 4D verifica la dirección IP de cada solicitud que contiene una cookie de sesión y la rechaza si esta dirección no coincide con la dirección IP utilizada para crear la cookie. En algunas aplicaciones específicas, es posible que desee desactivar esta validación y aceptar las cookies de sesión, incluso cuando sus direcciones IP no coinciden. Por ejemplo, cuando los dispositivos móviles cambian entre las redes Wifi y 4G/5G, su dirección IP cambiará. En este caso, debe pasar 0 en esta opción para permitir que los clientes puedan seguir utilizando sus sesiones web aunque las direcciones IP cambien. Tenga en cuenta que este parámetro reduce el nivel de seguridad de su aplicación. Cuando se modifica, esta configuración es efectiva inmediatamente (no es necesario reiniciar el servidor HTTP).
-### Generic Web User
+### Usuario web genérico
This option allows you to designate a user, previously defined in the [4D password table](../Users/handling_users_groups.md), as a "Generic Web User". In this case, each browser allowed to connect to the database gets access authorizations and restrictions associated with this user.
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-21/WritePro/writeprointerface.md b/i18n/es/docusaurus-plugin-content-docs/version-21/WritePro/writeprointerface.md
index 72146ab7f99e17..b49cfefe64375a 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-21/WritePro/writeprointerface.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-21/WritePro/writeprointerface.md
@@ -8,7 +8,7 @@ slug: /WritePro/write-pro-interface
Un desarrollador 4D puede implementar fácilmente estas paletas en su aplicación. Así, los usuarios finales pueden gestionar todas las propiedades de 4D Write Pro, como las fuentes, la alineación del texto, los marcadores, la disposición de las tablas y los marcos.
-## Installation & documentation
+## Instalación y documentación
4D Write Pro Interface is a **4D component** that needs to be [installed in your project](../Project/components.md#overview). 4D Write Pro Interface source files are [provided on Github](https://github.com/4d/4D-WritePro-Interface).
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-21/settings/web.md b/i18n/es/docusaurus-plugin-content-docs/version-21/settings/web.md
index d827ba37fa6121..6cea9f5a1781b0 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-21/settings/web.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-21/settings/web.md
@@ -126,7 +126,7 @@ Define el sistema de autenticación que desea aplicar a su servidor web. Se prop
Se recomienda utilizar la autenticación **personalizada**. Ver la sección[**autenticación**](../WebServer/authentication.md).
-#### Generic Web User
+#### Usuario web genérico
Ver [Propiedades obsoletas](../WebServer/webServerConfig.md#deprecated-settings).
diff --git a/i18n/fr/docusaurus-plugin-content-docs/current/Notes/updates.md b/i18n/fr/docusaurus-plugin-content-docs/current/Notes/updates.md
index 9f34bdb1d64094..9242ff1eaa1955 100644
--- a/i18n/fr/docusaurus-plugin-content-docs/current/Notes/updates.md
+++ b/i18n/fr/docusaurus-plugin-content-docs/current/Notes/updates.md
@@ -10,6 +10,9 @@ Lisez [**Les nouveautés de 4D 21 R2**](https://blog.4d.com/fr-whats-new-in-4d-v
#### Points forts
- [Code Live Checker](../code-editor/write-class-method.md#warnings-and-errors) has been enhanced to provide greater precision in error detection (see [this blog post](https://blog.4d.com/better-error-handling-and-type-inference-for-4d-developers) for more information).
+
+- 4D AIKit component: new [File API](../aikit/Classes/OpenAIFilesAPI.md) class to implement **file upload** features.
+
- [**Liste des bugs corrigés**](https://bugs.4d.fr/fixedbugslist?version=21_R2) : liste de tous les bugs qui ont été corrigés dans 4D 21 R2.
#### Changements de comportement
diff --git a/i18n/fr/docusaurus-plugin-content-docs/current/WebServer/sessions.md b/i18n/fr/docusaurus-plugin-content-docs/current/WebServer/sessions.md
index 693d469183f39d..7f76d591b5639f 100644
--- a/i18n/fr/docusaurus-plugin-content-docs/current/WebServer/sessions.md
+++ b/i18n/fr/docusaurus-plugin-content-docs/current/WebServer/sessions.md
@@ -25,7 +25,7 @@ Les sessions Web sont utilisées par :
- les [applications Web](gettingStarted.md) envoyant des requêtes http (y compris les [Web services SOAP](../commands/theme/Web_Services_Server.md) et les requêtes [/4DACTION](../WebServer/httpRequests.md#4daction)),
- les appels à l'[API REST](../REST/authUsers.md), qui sont effectués par les [datastores distants](../ORDA/remoteDatastores.md) et les [pages Qodly](qodly-studio.md).
-## Activation des sessions web
+## Enabling web sessions {#enabling-web-sessions}
La gestion de session peut être activée et désactivée sur votre serveur Web 4D. Il y a différentes façons d'activer la gestion de session :
diff --git a/i18n/fr/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAI.md b/i18n/fr/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAI.md
index 4c7c9e0216982f..2264c1e78e076c 100644
--- a/i18n/fr/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAI.md
+++ b/i18n/fr/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAI.md
@@ -67,11 +67,13 @@ L'API donne accès à de multiples ressources qui permettent une interaction tra
| `images` | [OpenAIImagesAPI](OpenAIImagesAPI.md) | Accès à l'API Images. |
| `moderations` | [OpenAIModerationsAPI](OpenAIModerationsAPI.md) | Accès à l'API des modérations. |
| `embeddings` | [OpenAIEmbeddingsAPI](OpenAIEmbeddingsAPI.md) | Accès à l'API Embeddings (vectorisation). |
+| `files` | [OpenAIFilesAPI](OpenAIFilesAPI.md) | Access to the Files API. |
### Exemple d'utilisation
```4d
$client.chat.completions.create(...)
$client.images.generate(...)
+$client.files.create(...)
$client.model.lists(...)
```
diff --git a/i18n/fr/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIFile.md b/i18n/fr/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIFile.md
new file mode 100644
index 00000000000000..ac57874faa9d3e
--- /dev/null
+++ b/i18n/fr/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIFile.md
@@ -0,0 +1,29 @@
+---
+id: openaifile
+title: OpenAIFile
+---
+
+# OpenAIFile
+
+The `OpenAIFile` class represents a file object in the OpenAI API. Files can be uploaded and used across various endpoints including Assistants, Fine-tuning, Batch, and Vision APIs.
+
+## Propriétés
+
+| Nom de propriété | Type | Description |
+| ---------------- | ------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| `id` | Text | The file identifier, which can be referenced in the API endpoints. |
+| `bytes` | Integer | The size of the file, in bytes. |
+| `created_at` | Integer | The Unix timestamp (in seconds) for when the file was created. |
+| `expires_at` | Integer | The Unix timestamp (in seconds) for when the file will expire. |
+| `filename` | Text | The name of the file. |
+| `object` | Text | The object type, which is always "file". |
+| `purpose` | Text | The intended purpose of the file. Supported values: `assistants`, `assistants_output`, `batch`, `batch_output`, `fine-tune`, `fine-tune-results`, `vision`, and `user_data`. |
+| `status` | Text | **Deprecated.** The current status of the file, which can be either `uploaded`, `processed`, or `error`. |
+| `status_details` | Text | **Deprecated.** For details on why a fine-tuning training file failed validation, see the error field on `fine_tuning.job`. |
+
+## Voir également
+
+- [OpenAIFileResult](OpenAIFileResult.md)
+- [OpenAIFileListResult](OpenAIFileListResult.md)
+- [OpenAIFilesAPI](OpenAIFilesAPI.md)
+- [OpenAIFileParameters](OpenAIFileParameters.md)
diff --git a/i18n/fr/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIFileDeletedResult.md b/i18n/fr/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIFileDeletedResult.md
new file mode 100644
index 00000000000000..e294aa58d34b39
--- /dev/null
+++ b/i18n/fr/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIFileDeletedResult.md
@@ -0,0 +1,38 @@
+---
+id: openaifiledeletedresult
+title: OpenAIFileDeletedResult
+---
+
+# OpenAIFileDeletedResult
+
+The `OpenAIFileDeletedResult` class contains the result of a file deletion operation.
+
+## Hérite de
+
+[OpenAIResult](OpenAIResult.md)
+
+## Propriétés calculées
+
+| Propriété | Type | Description |
+| --------- | ----------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------ |
+| `deleted` | [OpenAIFileDeleted](OpenAIFileDeleted.md) | Returns the file deletion result from the API response. Returns `Null` if the response doesn't contain a valid result. |
+
+## Exemple d'utilisation
+
+```4d
+// Delete a file
+var $fileId:="file-abc123"
+var $result:=$client.files.delete($fileId; Null)
+var $deletionStatus:=$result.deleted
+
+If ($deletionStatus.deleted)
+ ALERT("File "+$deletionStatus.id+" was successfully deleted")
+Else
+ ALERT("Failed to delete file")
+End if
+```
+
+## Voir également
+
+- [OpenAIFilesAPI](OpenAIFilesAPI.md)
+- [OpenAIFileDeleted](OpenAIFileDeleted.md)
diff --git a/i18n/fr/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIFileListParameters.md b/i18n/fr/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIFileListParameters.md
new file mode 100644
index 00000000000000..30204dbca2be36
--- /dev/null
+++ b/i18n/fr/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIFileListParameters.md
@@ -0,0 +1,38 @@
+---
+id: openaifilelistparameters
+title: OpenAIFileListParameters
+---
+
+# OpenAIFileListParameters
+
+The `OpenAIFileListParameters` class contains parameters for listing files in the OpenAI API.
+
+## Hérite de
+
+[OpenAIParameters](OpenAIParameters.md)
+
+## Propriétés
+
+| Nom de propriété | Type | Required | Par défaut | Description |
+| ---------------- | ------- | --------- | ---------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| `after` | Text | Optionnel | - | A cursor for use in pagination. `after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `after=obj_foo` in order to fetch the next page of the list. |
+| `limit` | Integer | Optionnel | 10000 | A limit on the number of objects to be returned. Limit can range between 1 and 10,000, and the default is 10,000. |
+| `order` | Text | Optionnel | desc | Sort order by the `created_at` timestamp of the objects. `asc` for ascending order and `desc` for descending order. |
+| `purpose` | Text | Optionnel | - | Only return files with the given purpose. |
+
+## Exemple d'utilisation
+
+```4d
+// Get first 100 files with purpose "fine-tune"
+var $params:=cs.AIKit.OpenAIFileListParameters.new()
+$params.limit:=100
+$params.purpose:="fine-tune"
+$params.order:="desc"
+
+var $result:=$client.files.list($params)
+```
+
+## Voir également
+
+- [OpenAIFilesAPI](OpenAIFilesAPI.md)
+- [OpenAIFileListResult](OpenAIFileListResult.md)
diff --git a/i18n/fr/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIFileListResult.md b/i18n/fr/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIFileListResult.md
new file mode 100644
index 00000000000000..90fddc970db380
--- /dev/null
+++ b/i18n/fr/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIFileListResult.md
@@ -0,0 +1,66 @@
+---
+id: openaifilelistresult
+title: OpenAIFileListResult
+---
+
+# OpenAIFileListResult
+
+The `OpenAIFileListResult` class contains the result of listing files from the OpenAI API.
+
+## Hérite de
+
+[OpenAIResult](OpenAIResult.md)
+
+## Propriétés calculées
+
+| Propriété | Type | Description |
+| ---------- | ---------- | ------------------------------------------------------------------------------------------------------------------------------------------------ |
+| `files` | Collection | Returns a collection of [OpenAIFile](OpenAIFile.md) objects from the API response, or an empty collection if no files are found. |
+| `first_id` | Text | Returns the ID of the first file in the list, or an empty string if not available. |
+| `last_id` | Text | Returns the ID of the last file in the list, or an empty string if not available. |
+| `has_more` | Boolean | Indicates if there are more files beyond this page. `True` if there are more files to fetch, `False` otherwise. |
+
+## Exemple d'utilisation
+
+### Basic Usage
+
+```4d
+var $params:=cs.AIKit.OpenAIFileListParameters.new()
+$params.purpose:="assistants"
+$params.limit:=50
+
+var $result:=$client.files.list($params)
+var $files:=$result.files
+
+For each ($file; $files)
+ // Process each OpenAIFile object
+ // $file.filename -> "salesOverview.pdf"
+ // $file.bytes -> 175
+ // $file.purpose -> "assistants"
+End for each
+```
+
+### Pagination Example
+
+```4d
+var $params:=cs.AIKit.OpenAIFileListParameters.new()
+$params.limit:=100
+
+var $result:=$client.files.list($params)
+var $allFiles:=$allFiles.combine($result.files)
+
+// Continue fetching if there are more files
+While ($result.has_more)
+ $params.after:=$result.last_id
+ $result:=$client.files.list($params)
+ $allFiles:=$allFiles.combine($result.files)
+End while
+
+// $allFiles now contains all files from the organization
+```
+
+## Voir également
+
+- [OpenAIFilesAPI](OpenAIFilesAPI.md)
+- [OpenAIFile](OpenAIFile.md)
+- [OpenAIFileListParameters](OpenAIFileListParameters.md)
\ No newline at end of file
diff --git a/i18n/fr/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIFileParameters.md b/i18n/fr/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIFileParameters.md
new file mode 100644
index 00000000000000..a75c7c3f486302
--- /dev/null
+++ b/i18n/fr/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIFileParameters.md
@@ -0,0 +1,43 @@
+---
+id: openaifileparameters
+title: OpenAIFileParameters
+---
+
+# OpenAIFileParameters
+
+The `OpenAIFileParameters` class handles parameters for file upload operations.
+
+## Hérite de
+
+[OpenAIParameters](OpenAIParameters.md)
+
+## Propriétés
+
+| Nom de propriété | Type | Required | Description |
+| ---------------- | ------ | --------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
+| `expires_after` | Object | Optionnel | The expiration policy for a file. By default, files with `purpose=batch` expire after 30 days and all other files are persisted until they are manually deleted. |
+
+### `expires_after` Object Structure
+
+The `expires_after` object contains the following properties:
+
+| Nom de propriété | Type | Description |
+| ---------------- | ------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| `anchor` | Text | Anchor timestamp after which the expiration policy applies. Supported anchors: `created_at`. |
+| `seconds` | Integer | The number of seconds after the anchor time that the file will expire. Must be between 3600 (1 hour) and 2592000 (30 days). |
+
+## Exemple d'utilisation
+
+```4d
+var $params:=cs.AIKit.OpenAIFileParameters.new()
+
+// Set expiration after 7 days
+$params.expires_after:={}
+$params.expires_after.anchor:="created_at"
+$params.expires_after.seconds:=604800 // 7 days
+```
+
+## Voir également
+
+- [OpenAIFilesAPI](OpenAIFilesAPI.md)
+- [OpenAIFileResult](OpenAIFileResult.md)
diff --git a/i18n/fr/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIFileResult.md b/i18n/fr/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIFileResult.md
new file mode 100644
index 00000000000000..71429a97e450ba
--- /dev/null
+++ b/i18n/fr/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIFileResult.md
@@ -0,0 +1,36 @@
+---
+id: openaifileresult
+title: OpenAIFileResult
+---
+
+# OpenAIFileResult
+
+The `OpenAIFileResult` class contains the result of a single file operation (upload or retrieve).
+
+## Hérite de
+
+[OpenAIResult](OpenAIResult.md)
+
+## Propriétés calculées
+
+| Propriété | Type | Description |
+| --------- | --------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------- |
+| `file` | [OpenAIFile](OpenAIFile.md) | Returns the file object from the API response. Returns `Null` if the response doesn't contain a valid file. |
+
+## Exemple d'utilisation
+
+```4d
+// Upload a file
+var $file:=File("/RESOURCES/training-data.jsonl")
+
+var $result:=$client.files.create($file; "user_data")
+var $uploadedFile:=$result.file
+
+// Retrieve file information
+var $retrieveResult:=$client.files.retrieve($uploadedFile.id)
+```
+
+## Voir également
+
+- [OpenAIFilesAPI](OpenAIFilesAPI.md)
+- [OpenAIFile](OpenAIFile.md)
diff --git a/i18n/fr/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIFilesAPI.md b/i18n/fr/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIFilesAPI.md
new file mode 100644
index 00000000000000..1646f07607eac8
--- /dev/null
+++ b/i18n/fr/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIFilesAPI.md
@@ -0,0 +1,173 @@
+---
+id: openaifilesapi
+title: OpenAIFilesAPI
+---
+
+# OpenAIFilesAPI
+
+The `OpenAIFilesAPI` class provides functionalities to manage files using OpenAI's API. Files can be uploaded and used across various endpoints including [Fine-tuning](https://platform.openai.com/docs/api-reference/fine-tuning), [Batch](https://platform.openai.com/docs/api-reference/batch) processing, and Vision.
+
+> **Note:** This API is only compatible with OpenAI. Other providers listed in the [compatible providers](../compatible-openai.md) documentation do not support file management operations.
+
+API Reference:
+
+## File Size Limits
+
+- **Individual files:** up to 512 MB per file
+- **Organization total:** up to 1 TB (cumulative size of all files uploaded by your [organization](https://platform.openai.com/docs/guides/production-best-practices/setting-up-your-organization))
+
+## Fonctions
+
+### create()
+
+**create**(*file* : 4D.File | 4D.Blob; *purpose* : Text; *parameters* : cs.OpenAIFileParameters) : cs.OpenAIFileResult
+
+Upload a file that can be used across various endpoints.
+
+**Endpoint:** `POST https://api.openai.com/v1/files`
+
+| Paramètres | Type | Description |
+| ------------ | ------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------ |
+| `file` | [4D.File](https://developer.4d.com/docs/API/FileClass) or [4D.Blob](https://developer.4d.com/docs/API/BlobClass) | The File or Blob object (not file name) to be uploaded. |
+| `purpose` | Text | **Required.** The intended purpose of the uploaded file. |
+| `parameters` | [OpenAIFileParameters](OpenAIFileParameters.md) | Optional parameters including expiration policy. |
+| Résultat | [OpenAIFileResult](OpenAIFileResult.md) | The file result |
+
+**Throws:** An error if `file` is not a 4D.File or 4D.Blob, or if `purpose` is empty.
+
+#### Supported Purposes
+
+- `assistants`: Used in the Assistants API (⚠️ [deprecated by OpenAI](https://platform.openai.com/docs/assistants/whats-new))
+- `batch`: Used in the [Batch API](https://platform.openai.com/docs/api-reference/batch) (expires after 30 days by default)
+- `fine-tune`: Used for [fine-tuning](https://platform.openai.com/docs/api-reference/fine-tuning)
+- `vision`: Images used for vision fine-tuning
+- `user_data`: Flexible file type for any purpose
+- `evals`: Used for eval data sets
+
+#### File Format Requirements
+
+- **Fine-tuning API:** Only supports `.jsonl` files with specific required formats
+- **Batch API:** Only supports `.jsonl` files up to 200 MB with specific required format
+- **Assistants API:** Supports specific file types (see Assistants Tools guide)
+- **Chat Completions API:** PDFs are only supported
+
+#### Exemple
+
+```4d
+var $file:=File("/RESOURCES/training-data.jsonl")
+
+var $params:=cs.AIKit.OpenAIFileParameters.new()
+$params.expires_after:={}
+$params.expires_after.anchor:="created_at"
+$params.expires_after.seconds:=2592000 // 30 days
+
+var $result:=$client.files.create($file; "fine-tune"; $params)
+
+If ($result.success)
+ var $uploadedFile:=$result.file
+ // $uploadedFile.id -> "file-abc123"
+ // $uploadedFile.filename -> "training-data.jsonl"
+ // $uploadedFile.bytes -> 120000
+End if
+```
+
+### retrieve()
+
+**retrieve**(*fileId* : Text; *parameters* : cs.OpenAIParameters) : cs.OpenAIFileResult
+
+Returns information about a specific file.
+
+**Endpoint:** `GET https://api.openai.com/v1/files/{file_id}`
+
+| Paramètres | Type | Description |
+| ------------ | --------------------------------------- | ----------------------------------------------------------------------------- |
+| `fileId` | Text | **Required.** The ID of the file to retrieve. |
+| `parameters` | [OpenAIParameters](OpenAIParameters.md) | Optional parameters for the request. |
+| Résultat | [OpenAIFileResult](OpenAIFileResult.md) | The file result |
+
+**Throws:** An error if `fileId` is empty.
+
+#### Exemple
+
+```4d
+var $result:=$client.files.retrieve("file-abc123")
+
+If ($result.success)
+ var $file:=$result.file
+ // $file.filename -> "mydata.jsonl"
+ // $file.bytes -> 120000
+ // $file.purpose -> "fine-tune"
+End if
+```
+
+### list()
+
+**list**(*parameters* : cs.OpenAIFileListParameters) : cs.OpenAIFileListResult
+
+Returns a list of files that belong to the user's organization.
+
+**Endpoint:** `GET https://api.openai.com/v1/files`
+
+| Paramètres | Type | Description |
+| ------------ | ------------------------------------------------------- | ----------------------------------------------------------------- |
+| `parameters` | [OpenAIFileListParameters](OpenAIFileListParameters.md) | Optional parameters for filtering and pagination. |
+| Résultat | [OpenAIFileListResult](OpenAIFileListResult.md) | The file list result |
+
+#### Exemple
+
+```4d
+var $params:=cs.AIKit.OpenAIFileListParameters.new()
+$params.purpose:="assistants"
+$params.limit:=50
+$params.order:="desc"
+
+var $result:=$client.files.list($params)
+
+If ($result.success)
+ var $files:=$result.files
+ // $files.length -> 2
+
+ For each ($file; $files)
+ // $file.filename -> "salesOverview.pdf", "puppy.jsonl", etc.
+ End for each
+End if
+```
+
+### delete()
+
+**delete**(*fileId* : Text; *parameters* : cs.OpenAIParameters) : cs.OpenAIFileDeletedResult
+
+Delete a file.
+
+**Endpoint:** `DELETE https://api.openai.com/v1/files/{file_id}`
+
+| Paramètres | Type | Description |
+| ------------ | ----------------------------------------------------- | --------------------------------------------------------------------------- |
+| `fileId` | Text | **Required.** The ID of the file to delete. |
+| `parameters` | [OpenAIParameters](OpenAIParameters.md) | Optional parameters for the request. |
+| Résultat | [OpenAIFileDeletedResult](OpenAIFileDeletedResult.md) | The file deletion result |
+
+**Throws:** An error if `fileId` is empty.
+
+#### Exemple
+
+```4d
+var $result:=$client.files.delete("file-abc123")
+
+If ($result.success)
+ var $status:=$result.deleted
+
+ If ($status.deleted)
+ ALERT("File deleted successfully")
+ End if
+End if
+```
+
+## Voir également
+
+- [OpenAIFile](OpenAIFile.md)
+- [OpenAIFileParameters](OpenAIFileParameters.md)
+- [OpenAIFileListParameters](OpenAIFileListParameters.md)
+- [OpenAIFileResult](OpenAIFileResult.md)
+- [OpenAIFileListResult](OpenAIFileListResult.md)
+- [OpenAIFileDeletedResult](OpenAIFileDeletedResult.md)
diff --git a/i18n/fr/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIMessage.md b/i18n/fr/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIMessage.md
index 360f1c425489f5..1af7df45fbcd98 100644
--- a/i18n/fr/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIMessage.md
+++ b/i18n/fr/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIMessage.md
@@ -36,16 +36,50 @@ La classe `OpenAIMessage` représente un message structuré contenant un rôle,
Ajoute une URL d'image au contenu du message.
+### addFileId()
+
+**addFileId**(*fileId* : Text)
+
+| Paramètres | Type | Description |
+| ---------- | ---- | -------------------------------------------------- |
+| *fileId* | Text | The file ID to add to the message. |
+
+Adds a file reference to the content of the message. If the content is currently text, it will be converted to a collection format.
+
## Exemple d'utilisation
-### Créer un message simple et joindre une image
+### Basic Text Message
+
+```4d
+// Create an instance of OpenAIMessage
+var $message:=cs.AIKit.OpenAIMessage.new({role: "user"; content: "Hello!"})
+```
+
+### Adding Images
```4d
-// Créer une instance d'OpenAIMessage
-var $message:=cs.AIKit.OpenAIMessage({role : "user" ; content : "Hello !"})
+var $message:=cs.AIKit.OpenAIMessage.new({role: "user"; content: "Please analyze this image:"})
+
+// Add an image URL with details
+$message.addImageURL("http://example.com/image.jpg"; "high")
+```
+
+### Adding File
-// Ajouter une image URL avec des détails
-$message.addImageURL("http://example.com/image.jpg" ; "high")
+```4d
+// Upload a file with user_data purpose
+var $file:=File("/RESOURCES/document.pdf")
+var $uploadResult:=$client.files.create($file; "user_data")
+
+If ($uploadResult.success)
+ var $uploadedFile:=$uploadResult.file
+
+ // Create message and attach the file using its ID
+ var $message:=cs.AIKit.OpenAIMessage.new({role: "user"; content: "Please analyze this document:"})
+ $message.addFileId($uploadedFile.id)
+
+ // $message.content -> [{type: "text"; text: "Please analyze this document:"}; {type: "file"; file_id: "file-abc123"}]
+End if
```
### Répondre à un message d'appel d'outil
diff --git a/i18n/fr/docusaurus-plugin-content-docs/current/aikit/overview.md b/i18n/fr/docusaurus-plugin-content-docs/current/aikit/overview.md
index 27f37b8f05b508..3f9bcc014f4969 100644
--- a/i18n/fr/docusaurus-plugin-content-docs/current/aikit/overview.md
+++ b/i18n/fr/docusaurus-plugin-content-docs/current/aikit/overview.md
@@ -103,6 +103,42 @@ Obtenir une information de modèle par id
var $model:=$client.models.retrieve("a model id").model
```
+#### Files
+
+https://platform.openai.com/docs/api-reference/files
+
+Upload a file for use with other endpoints
+
+```4d
+var $file:=File("/path/to/your/file.jsonl")
+var $result:=$client.files.create($file; "fine-tune")
+var $fileId:=$result.file.id
+```
+
+List all files
+
+```4d
+var $files:=$client.files.list().files
+```
+
+Retrieve file information
+
+```4d
+var $fileInfo:=$client.files.retrieve($fileId).file
+```
+
+Delete a file
+
+```4d
+var $deleteResult:=$client.files.delete($fileId)
+```
+
+:::tip Article(s) de blog sur le sujet
+
+[Transform Static Documents into Actionable Knowledge with 4D AIKit](https://blog.4d.com/transform-static-documents-into-actionable-knowledge-with-4d-aikit).
+
+:::
+
#### Modérations
https://platform.openai.com/docs/api-reference/moderations
diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-20-R10/WebServer/sessions.md b/i18n/fr/docusaurus-plugin-content-docs/version-20-R10/WebServer/sessions.md
index 6abebd4d37060d..116968db797f9b 100644
--- a/i18n/fr/docusaurus-plugin-content-docs/version-20-R10/WebServer/sessions.md
+++ b/i18n/fr/docusaurus-plugin-content-docs/version-20-R10/WebServer/sessions.md
@@ -25,7 +25,7 @@ Les sessions Web sont utilisées par :
- les [applications web](gettingStarted.md) qui envoient des requêtes http,
- les appels à l'[API REST](../REST/authUsers.md), qui sont effectués par les [datastores distants](../ORDA/remoteDatastores.md) et les [pages Qodly](qodly-studio.md).
-## Activation des sessions web
+## Enabling web sessions {#enabling-web-sessions}
La gestion de session peut être activée et désactivée sur votre serveur Web 4D. Il y a différentes façons d'activer la gestion de session :
diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-21/Notes/updates.md b/i18n/fr/docusaurus-plugin-content-docs/version-21/Notes/updates.md
index e9ad2cdebdf87d..924056902d2efa 100644
--- a/i18n/fr/docusaurus-plugin-content-docs/version-21/Notes/updates.md
+++ b/i18n/fr/docusaurus-plugin-content-docs/version-21/Notes/updates.md
@@ -41,7 +41,7 @@ Le [rendu **Fluent UI** pour les formulaires 4D](../FormEditor/forms.md#fluent-u
:::
-- Services web (SOAP) : lorsque les [sessions évolutives](../WebServer/sessions.md#enabling-web-sessions) sont activées, les services web s'exécutent désormais dans des [**process préemptifs**](../Develop/preemptive.md) en mode compilé. Assurez-vous que votre code SOAP est thread-safe.
+- Services web (SOAP) : lorsque les [sessions évolutives](../WebServer/sessions.md#enabling-web-sessions) sont activées, les services web s'exécutent désormais dans des [**process préemptifs**](../Develop/preemptive.md) en mode compilé. Make sure that your SOAP code is thread-safe and that the session in which it runs has appropriate [privileges](../API/SessionClass.md#setprivileges).
- Serveur web : la prise en charge des URLs dépréciés `4DSYNC/` et `4DCGI/` est supprimée. Plus aucun traitement spécifique n'est effectué sur ces URLs.
- Les sessions utilisateurs Web sont désormais renvoyées par [`Process activity`](../commands/process-activity.md).
- La commande [`HIGHLIGHT TEXT`](../commands/highlight-text) est maintenant prise en charge dans le contexte des sous-formulaires.
diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-21/WebServer/sessions.md b/i18n/fr/docusaurus-plugin-content-docs/version-21/WebServer/sessions.md
index 693d469183f39d..7f76d591b5639f 100644
--- a/i18n/fr/docusaurus-plugin-content-docs/version-21/WebServer/sessions.md
+++ b/i18n/fr/docusaurus-plugin-content-docs/version-21/WebServer/sessions.md
@@ -25,7 +25,7 @@ Les sessions Web sont utilisées par :
- les [applications Web](gettingStarted.md) envoyant des requêtes http (y compris les [Web services SOAP](../commands/theme/Web_Services_Server.md) et les requêtes [/4DACTION](../WebServer/httpRequests.md#4daction)),
- les appels à l'[API REST](../REST/authUsers.md), qui sont effectués par les [datastores distants](../ORDA/remoteDatastores.md) et les [pages Qodly](qodly-studio.md).
-## Activation des sessions web
+## Enabling web sessions {#enabling-web-sessions}
La gestion de session peut être activée et désactivée sur votre serveur Web 4D. Il y a différentes façons d'activer la gestion de session :
diff --git a/i18n/ja/docusaurus-plugin-content-docs/current/Notes/updates.md b/i18n/ja/docusaurus-plugin-content-docs/current/Notes/updates.md
index ce361cd5f3dab8..8e9df8cecf1a7b 100644
--- a/i18n/ja/docusaurus-plugin-content-docs/current/Notes/updates.md
+++ b/i18n/ja/docusaurus-plugin-content-docs/current/Notes/updates.md
@@ -10,6 +10,9 @@ title: リリースノート
#### ハイライト
- [Code Live Checker](../code-editor/write-class-method.md#warnings-and-errors) has been enhanced to provide greater precision in error detection (see [this blog post](https://blog.4d.com/better-error-handling-and-type-inference-for-4d-developers) for more information).
+
+- 4D AIKit component: new [File API](../aikit/Classes/OpenAIFilesAPI.md) class to implement **file upload** features.
+
- [**修正リスト**](https://bugs.4d.fr/fixedbugslist?version=21_R2): 4D 21 R2 で修正されたバグのリストです ([日本語版はこちら](https://4d-jp.github.io/2023/178/release-note-version-20r2/))。
#### 動作の変更
diff --git a/i18n/ja/docusaurus-plugin-content-docs/current/ORDA/orda-events.md b/i18n/ja/docusaurus-plugin-content-docs/current/ORDA/orda-events.md
index e0066e085544e8..9af378952d1c87 100644
--- a/i18n/ja/docusaurus-plugin-content-docs/current/ORDA/orda-events.md
+++ b/i18n/ja/docusaurus-plugin-content-docs/current/ORDA/orda-events.md
@@ -388,25 +388,25 @@ Function event saving ($event : Object)
- [`entity.save()`](../API/EntityClass.md#save)
- [`dataClass.fromCollection()`](../API/DataClassClass.md#fromcollection)
-This event is triggered **while** the entity is actually saved. If a [`validateSave()`](#function-event-validatesave) event function was defined, the `saving()` event function is called if no error was triggered by `validateSave()`. For example, you can use this event to create a document on a Google Drive account.
+このイベントはエンティティが実際に保存されている**最中に**トリガーされます。 [`validateSave()`](#function-event-validatesave) イベント関数が定義されていると場合、 `saving()` イベント関数は、 `validateSave()`がエラーを何もトリガーしなかった場合に呼び出されます。 例えば、このイベントを使用して、Google Drive アカウントにドキュメントを作成することができます。
:::note
-The business logic should raise errors which can't be detected during the `validateSave()` events, e.g. a network error
+このビジネスロジックは `validateSave()` イベントで検知できないエラーを生成する必要があります(例: ネットワークエラー)
:::
-During the save action, 4D engine errors can be raised (index, stamp has changed, not enough space on disk).
+保存アクション中、4D エンジンのエラー(インデックスやスタンプが変更された、ディスク上に十分なスペースがありません、など)が生成されることがあります。
アクションを停止するためには、関数のコードで[エラーオブジェクト](#エラーオブジェクト) を返す必要があります。
#### 例題
-When a file is saved on disk, catch errors related to disk space for example.
+ファイルがディスク上に保存されると、例えばディスクの要領に関連したエラーをキャッチします。
```4d
// ProductsEntity class
-// saving event at attribute level
+// 属性レベルでの保存イベント
Function event saving userManualPath($event : Object) : Object
var $result : Object
@@ -416,17 +416,17 @@ var $fileCreated : Boolean
If (This.userManualPath#"")
$userManualFile:=File(This.userManualPath)
- // The user manual document file is created on the disk
- // This may fail if no more space is available
+ // ユーザーマニュアルドキュメントファイルがディスク上に作成されます
+ // これはディスク上に空き容量がない場合には失敗する可能性があります
Try
- // The file content has been generated and stored in a map in Storage.docMap previously
+ // ファイルのコンテンツは事前に生成され Storage.docMap に保存されています
$docInfo:=Storage.docMap.query("name = :1"; This.name).first()
$userManualFile.setContent($docInfo.content)
Catch
- // No more room on disk for example
+ // 例えばディスク上に要領が空いてない場合
$result:={/
- errCode: 1; message: "Error during the save action for this product"; /
- extraDescription: {info: "There is no available space on disk to store the user manual"}/
+ errCode: 1; message: "この製品の保存アクション中にエラー発生"; /
+ extraDescription: {info: "このディスク上にはユーザーマニュアルを保存するスペースがありません"}/
}
End try
End if
@@ -437,7 +437,7 @@ return $result
:::note
-The content of the file is generated outside the `saving` event because it can be time consuming.
+この例ではファイルの中身は `saving` イベントの外で生成されています。時間がかなりかかる可能性があるからです。
:::
@@ -447,31 +447,31 @@ The content of the file is generated outside the `saving` event because it can b
```4d
Function event afterSave($event : Object)
-// code
+// コード
```
-This event is triggered just after an entity is saved in the data file, when at least one attribute was modified. It is not executed if no attribute has been touched in the entity.
+このイベントは、少なくとも一つの属性が編集されていたエンティティがデータファイルに保存された直後にトリガーされます。 エンティティ内でどの属性もタッチされていない場合には、これは実行されません。
-This event is useful after saving data to propagate the save action outside the application or to execute administration tasks. For example, it can be used to send a confirmation email after data have been saved. Or, in case of error while saving data, it can make a rollback to restore a consistent state of data.
+このイベントは、データを保存した後に、アプリケーション外に保存アクションを電波させたい場合や、管理タスクを実行したりするのに有用です。 例えばこれを使用して、データが保存された後に確認メールを送信することができます。 あるいは、データ保存中にエラーが発生した場合、これを使用してロールバックを行い、データの一貫性を復元することもできます。
関数は [*event* オブジェクト](#event-引数) を引数として受け取ります。
-- To avoid infinite loops, calling a [`save()`](../API/EntityClass.md#save) on the current entity (through `This`) in this function is **not allowed**. It will raise an error.
-- Throwing an [error object](#error-object) is **not supported** by this function.
+- 無限ループに陥るのを避けるため、この関数内でカレントのエンティティ上で(`This` を通して) [`save()`](../API/EntityClass.md#save) を呼び出すのは**許可されていません**。 これはエラーを発生させます。
+- この関数では[エラーオブジェクト](#エラーオブジェクト) をスローすることは**サポートされていません**。
#### 例題
-If an error occurred in the above saving event, the attribute value is reset accordingly in the `afterSave` event:
+上記の保存イベント中にエラーが発生した場合、属性値は `afterSave` イベントでリセットされます:
```4d
// ProductsEntity class
Function event afterSave($event : Object)
If (($event.status.success=False) && ($event.status.errors=Null))
- // $event.status.errors is filled if the error comes from the validateSave event
+ // エラーがvalidateSave イベントから来た場合には$event.status.errors に値が入れられます
- // The userManualPath attribute has not been properly saved
- // Its value is reset
+ // userManualPath 属性は適切には保存されていません
+ // その値はリセットされます
If ($event.savedAttributes.indexOf("userManualPath")=-1)
This.userManualPath:=""
This.status:="KO"
@@ -487,29 +487,29 @@ End if
```4d
Function event validateDrop($event : Object)
Function event validateDrop ($event : Object)
-// code
+// コード
```
-This event is triggered each time an entity is about to be dropped.
+このイベントはエンティティがドロップ(削除)されようとするたびに毎回トリガーされます。
- 関数をエンティティレベルで定義していた場合(第一シンタックス)、その関数はエンティティの任意の属性に対して呼び出されます。
- 関数を属性レベルで定義していた場合(第二シンタックス)、関数はその属性に対してのみ呼び出されます。
関数は [*event* オブジェクト](#event-引数) を引数として受け取ります。
-This event is triggered by the following features:
+このイベントは以下の機能によってトリガーされます:
- [`entity.drop()`](../API/EntityClass.md#drop)
- [`entitySelection.drop()`](../API/DataClassClass.md#fromcollection)
-- [deletion control rules](https://doc.4d.com/4Dv20/4D/20.2/Relation-properties.300-6750290.en.html#107320) that can be defined at the database structure level.
+- データベースストラクチャーレベルで定義されている可能性のある[削除制御](https://doc.4d.com/4Dv20/4D/20.2/Relation-properties.300-6750290.ja.html#107320)。
-This event is triggered **before** the entity is actually dropped, allowing you to check data consistency and if necessary, to stop the drop action.
+このイベントはエンティティが実際にドロップされる**前に**トリガーされるため、データの一貫性をチェックし、必要であればドロップアクションを停止することができます。
アクションを停止するためには、関数のコードで[エラーオブジェクト](#エラーオブジェクト) を返す必要があります。
#### 例題
-In this example, it is not allowed to drop a product that is not labelled "TO DELETE". In this case, you return an error object and thus, stop the drop action.
+この例では、"TO DELETE" とラベルのついていない製品をドロップすることはできません。 この場合、エラーオブジェクトを返すことで、ドロップアクションを停止することができます。
```4d
// ProductsEntity class
@@ -518,10 +518,10 @@ Function event validateDrop status($event : Object) : Object
var $result : Object
-// Products must be marked as TO DELETE to be dropped
+// ドロップするためには、製品は TO DELETE と記録されている必要があります
If (This.status#"TO DELETE")
- $result:={errCode: 1; message: "You can't drop this product"; \
- extraDescription: {info: "This product must be marked as To Delete"}; seriousError: False}
+ $result:={errCode: 1; message: "この製品は削除できません"; \
+ extraDescription: {info: "この製品はTo Delete と記録されていなければなりません"}; seriousError: False}
End if
return $result
@@ -534,27 +534,27 @@ return $result
```4d
Function event dropping($event : Object)
Function event dropping ($event : Object)
-// code
+// コード
```
-This event is triggered each time an entity is being dropped.
+このイベントはエンティティがドロップ(削除)されるたびにトリガーされます。
- 関数をエンティティレベルで定義していた場合(第一シンタックス)、その関数はエンティティの任意の属性に対して呼び出されます。
- 関数を属性レベルで定義していた場合(第二シンタックス)、関数はその属性に対してのみ呼び出されます。
関数は [*event* オブジェクト](#event-引数) を引数として受け取ります。
-This event is triggered by the following features:
+このイベントは以下の機能によってトリガーされます:
- [`entity.drop()`](../API/EntityClass.md#drop)
- [`entitySelection.drop()`](../API/DataClassClass.md#fromcollection)
-- [deletion control rules](https://doc.4d.com/4Dv20/4D/20.2/Relation-properties.300-6750290.en.html#107320) that can be defined at the database structure level.
+- データベースストラクチャーレベルで定義されている可能性のある[削除制御](https://doc.4d.com/4Dv20/4D/20.2/Relation-properties.300-6750290.ja.html#107320)。
-This event is triggered **while** the entity is actually dropped. If a [`validateDrop()`](#function-event-validatedrop) event function was defined, the `dropping()` event function is called if no error was triggered by `validateDrop()`.
+このイベントはエンティティが実際にドロップされている**最中に**トリガーされます。 [`validateDrop()`](#function-event-validatedrop) イベント関数が定義されている場合、 `dropping()` イベント関数は、 `validateDrop()` がエラーを何もトリガーしなかった場合に呼び出されます。
:::note
-The business logic should raise errors which cannot be detected during the `validateDrop()` events, e.g. a network error.
+このビジネスロジックは `validateDrop()` イベントで検知できないエラーを生成する必要があります(例: ネットワークエラー)。
:::
@@ -562,7 +562,7 @@ The business logic should raise errors which cannot be detected during the `vali
#### 例題
-Here is an example of `dropping` event at entity level:
+これはエンティティレベルでの `dropping` イベントの一例です:
```4d
// ProductsEntity class
@@ -573,14 +573,14 @@ var $userManualFile : 4D.File
$userManualFile:=File(This.userManualPath)
- // When dropping a product, its user manual is also deleted on the disk
- // This action may fail
+ // 製品をドロップする場合、そのユーザーマニュアルもディスク上から削除されます
+ // このアクションは失敗する可能性があります
Try
If ($userManualFile.exists)
$userManualFile.delete()
End if
Catch
- // Dropping the user manual failed
+ // ユーザーマニュアルのドロップに失敗した場合
$result:={errCode: 1; message: "Drop failed"; extraDescription: {info: "The user manual can't be dropped"}}
End try
@@ -593,27 +593,27 @@ return $result
```4d
Function event afterDrop($event : Object)
-// code
+// コード
```
-This event is triggered just after an entity is dropped.
+このイベントはエンティティがドロップ(削除)された直後にトリガーされます。
-This event is useful after dropping data to propagate the drop action outside the application or to execute administration tasks. For example, it can be used to send a cancellation email after data have been dropped. Or, in case of error while dropping data, it can log an information for the administrator to check data consistency.
+このイベントは、データをドロップした後に、アプリケーション外にドロップアクションを伝播させたい場合や、管理タスクを実行したりするのに有用です。 例えばこれを使用して、データがドロップされたあとにキャンセルメールを送信することができます。 あるいは、データのドロップ中にエラーが発生した場合、あとで管理者がデータの一貫性をチェックできるように情報を記録することができます。
関数は [*event* オブジェクト](#event-引数) を引数として受け取ります。
-- To avoid infinite loops, calling a [`drop()`](../API/EntityClass.md#drop) on the current entity (through `This`) in this function is **not allowed**. It will raise an error.
-- Throwing an [error object](#error-object) is **not supported** by this function.
+- 無限ループに陥るのを避けるため、この関数内でカレントのエンティティ上で(`This` を通して) [`drop()`](../API/EntityClass.md#drop) を呼び出すのは**許可されていません**。 これはエラーを発生させます。
+- この関数では[エラーオブジェクト](#エラーオブジェクト) をスローすることは**サポートされていません**。
:::note
-The dropped entity is referenced by `This` and still exists in memory.
+ドロップされたエンティティは `This` を通して参照され、メモリー内に引き続き存在します。
:::
#### 例題
-If the drop action failed, then the product must be checked manually:
+ドロップアクションが失敗した場合、製品は手動でチェックされる必要があります:
```4d
Function event afterDrop($event : Object)
@@ -621,8 +621,8 @@ Function event afterDrop($event : Object)
var $status : Object
If (($event.status.success=False) && ($event.status.errors=Null))
- //$event.status.errors is filled
- //if the error comes from the validateDrop event
+ //$event.status.errors には、
+ //エラーが validateDrop イベントから来た場合には値が入れられます
This.status:="Check this product - Drop action failed"
$status:=This.save()
End if
diff --git a/i18n/ja/docusaurus-plugin-content-docs/current/ORDA/ordaClasses.md b/i18n/ja/docusaurus-plugin-content-docs/current/ORDA/ordaClasses.md
index a49e8ce5d07ead..621d59f027e73c 100644
--- a/i18n/ja/docusaurus-plugin-content-docs/current/ORDA/ordaClasses.md
+++ b/i18n/ja/docusaurus-plugin-content-docs/current/ORDA/ordaClasses.md
@@ -3,7 +3,7 @@ id: ordaClasses
title: データモデルクラス
---
-ORDA allows you to create high-level class functions above the [data model](https://doc.4d.com/4Dv20/4D/20.2/Creating-a-database-structure.200-6750097.en.html). これによってビジネス指向のコードを書き、APIのように "公開" することができます。 データストア、データクラス、エンティティ、およびエンティティセレクションはそれぞれ、関数を持つことのできるクラスオブジェクトとして提供されています。
+ORDAでは、[データモデル](https://doc.4d.com/4Dv20/4D/20.2/Creating-a-database-structure.200-6750097.ja.html)の上に高レベルクラス関数を作成することができます。 これによってビジネス指向のコードを書き、APIのように "公開" することができます。 データストア、データクラス、エンティティ、およびエンティティセレクションはそれぞれ、関数を持つことのできるクラスオブジェクトとして提供されています。
たとえば、選択中の社員より給与の高い社員一覧を返す `getNextWithHigherSalary()` 関数を `EmployeeEntity` クラスに作成したとします。 この関数は簡単に呼び出すことができます:
@@ -214,9 +214,9 @@ ORDA で公開されるテーブル毎に、Entity クラスが `cs` クラス
#### Class constructor
-You can define a **class constructor** for an Entity class. The class constructor is called whenever an entity is created in memory and can be used to initialize some values.
+エンティティクラスに対して **class constructor** を定義することができます。 クラスコンストラクターはエンティティがメモリ内に作成されるたびに呼び出され、これを使用して一部の値を初期化することができます。
-For information, please refer to the [Class constructor](#class-constructor-1) section.
+詳細な情報については[Class constructor](#class-constructor-1) を参照してください。
#### 計算属性
@@ -278,7 +278,7 @@ End if
- クラス定義の際、[`Class extends`](../Concepts/classes.md#class-extends-classname) ステートメントに使用する親クラスの名前は完全に合致するものでなくてはいけません (文字の大小が区別されます)。 たとえば、EntitySelection クラスを継承するには `Class extends EntitySelection` と書きます。
-- データモデルクラスオブジェクトのインスタンス化に `new()` キーワードは使えません (エラーが返されます)。 You must use a regular function as listed in the [`Instantiated by` column of the ORDA class table](#architecture).
+- データモデルクラスオブジェクトのインスタンス化に `new()` キーワードは使えません (エラーが返されます)。 上述の ORDA クラステーブルに一覧化されている、通常の [インスタンス化の方法](#アーキテクチャー) を使う必要があります。
- **`4D`** [クラスストア](Concepts/classes.md#クラスストア) のネイティブな ORDA クラス関数を、データモデルユーザークラス関数でオーバーライドすることはできません。
@@ -306,7 +306,7 @@ End if
```4d
// Entity class
Class constructor()
-// code
+// コード
```
:::note
@@ -315,48 +315,48 @@ Class constructor()
:::
-An ORDA class constructor function is triggered just after a new entity is created in memory, [whatever the way it is created](#commands-that-trigger-the-class-constructor-functions). It is useful to set initial values for entity instantiation, for example a custom ID.
+ORDA クラスコンストラクター関数は、[作成された方法に関わらず](#クラス関数をトリガーするコマンド)、新規エンティティがメモリ内に作成された直後にトリガーされます。 これは例えばカスタムのID など、エンティティインスタンス化時に初期値を設定するのに有用です。
-This function can only be set at the [entity level](#entity-class). There can only be one constructor function in an entity class (otherwise an error is returned).
+この関数は [エンティティレベル](#entity-クラス) でのみ設定可能です。 コンストラクター関数は、1つのエンティティクラスに 1つしか存在できません (そうでない場合はエラーが返されます)。
-This ORDA class constructor function does not receive or return parameters. However, you can use it to initialize attribute values using [`This`](../commands/this.md). Note that values initialized by the constructor are overriden if corresponding attributes are filled by the code.
+ORDA クラスコンストラクター関数は、引数を受け取ることも返すこともしません。 しかし、 [`This`](../commands/this.md).を使用して属性値を初期化することができます。 コンストラクターによって初期化された値は、対応する属性がコードによって値が入力される場合にはそれによって上書きされるということに注意してください。
:::note
-An ORDA class constructor function is similar to a [user class constructor function](../Concepts/classes.md#class-constructor), with the following differences:
+ORDA クラスコンストラクター関数は、[ユーザークラスコンストラクター関数](../Concepts/classes.md#class-constructor) と似ていますが、以下の点において違います:
-- you cannot pass parameters to the constructor,
-- you cannot use `shared`, `session`, or `singleton` keywords,
-- you cannot call the [`Super`](../Concepts/classes.md#super) keyword within the function,
-- the class constructor cannot be called using the `new()` function on an entity (entities can only be created by specific functions, see below).
+- コンストラクターには引数を渡すことはできません
+- `shared`、 `session` または `singleton` キーワードを使用することはできません
+- 関数内で [`Super`](../Concepts/classes.md#super) キーワードを呼び出すことはできません
+- クラスコンストラクターは、エンティティに `new()` 関数を使用することでは呼び出せません(エンティティは特定の関数でしか作成することはできません、以下参照)。
:::
-#### Commands that trigger the Class constructor functions
+#### クラスコンストラクター関数をトリガーするコマンド
-The `Class constructor` function is triggered by the following commands and features:
+`Class constructor` 関数は、以下のコマンドと機能によってトリガーされます:
- [`dataClass.new()`](../API/DataClassClass.md#new)
- [`dataClass.fromCollection()`](../API/DataClassClass#fromcollection)
-- [REST API $method=update](../REST/$method.md#methodupdate) in a POST without the `__KEY` and `__STAMP` parameters
-- the [Data Explorer](../Admin/dataExplorer.md#editing-data).
+- `__KEY` および `__STAMP` 引数のない POST での[REST API $method=update](../REST/$method.md#methodupdate)
+- [データエクスプローラー](../Admin/dataExplorer.md#editing-data)
:::note 注記
-- The [`entity.clone()`](../API/EntityClass.md#clone) function does not trigger the entity Class constructor.
-- Records created at the 4D database level using 4D classic language commands or standard actions do not trigger the entity Class constructor.
+- [`entity.clone()`](../API/EntityClass.md#clone) 関数はエンティティクラスコンストラクターをトリガーしません。
+- 4D クラシックランゲージ言語コマンドまたは標準アクションを使用して4D データベースレベルで作成されたレコードは、エンティティクラスコンストラクターをトリガーしません。
:::
-#### Remote configurations
+#### リモート構成
-When using a remote configurations, you need to pay attention to the following principles:
+リモート構成を使用している場合、以下の原則に対して注意する必要があります:
-- In **client/server** the function can be called on the client or on the server, depending on the location of the calling code. When it is called on the client, it is not triggered again when the client attempts to save the new entity and sends an update request to the server to create in memory on the server.
+- **クライアント/サーバー** では、コードを呼び出した場所によっては関数はクライアントまたはサーバーのどちらでも呼び出すことができます。 クライアント上で呼び出された場合、クライアントが新規エンティティを保存しようとして、サーバーのメモリ上に作成するために更新リクエストを送信したときにはもう一度トリガーされることはありません。
:::warning
-Since functions such as [`dataClass.fromCollection()`](../API/DataClassClass.md#fromcollection) can create a large number of entities and thus trigger the entity Class constructor consequently, you need to make sure the constructor code does not execute excessive time-consuming processings, for performance reasons. In remote configurations (see below), the code should not trigger multiple requests to the server.
+[`dataClass.fromCollection()`](../API/DataClassClass.md#fromcollection) のような関数は大量のエンティティを一度を作成し、結果としてエンティティクラスコンストラクターをトリガーしうるため、パフォーマンス上の理由から、コンストラクターコードに過度に時間を消費するような処理を実行しないように注意する必要があります。 リモート設定においては(以下参照)、コードはサーバーに対して複数のリクエストをトリガーしてはいけません。
:::
@@ -372,7 +372,7 @@ Class constructor()
```
-#### Example 2 (diagram): Client/server
+#### 例題 2 (図): クライアント/サーバー
```mermaid
@@ -382,7 +382,7 @@ Client->>+Client: Form.product:=ds.Products.new()
Note over Client: Class constructor
This.creationDate:=Current date()
This.comment:="Automatic comment"
-Note over Client: Form.product.creationDate is "06/17/25"
Form.product.comment is "Automatic comment"
+Note over Client: Form.product.creationDate は "25/06/17"
Form.product.comment は "Automatic comment"
Client->>+Server: Form.product.save()
@@ -391,47 +391,47 @@ Server-->>-Client: Success
```
-#### Example 3 (diagram): Qodly - Standard action
+#### 例題 3 (図): Qodly - 標準アクション
```mermaid
sequenceDiagram
- Qodly page->>+ Qodly page: Standard action Create a new entity (product Qodly source)
+ Qodly page->>+ Qodly page: 標準アクションで新規エンティティを作成 (product Qodlyソース)
- Qodly page->>+Server: Function call product.apply() OR Save standard action for the product Qodly source
+ Qodly page->>+Server: 関数がproduct Qodly ソースに対して product.apply() または Save 標準アクション を呼び出し
Note over Server: Class constructor
This.creationDate:=Current date()
This.comment:="Automatic comment"
- Server-->>-Qodly page: The product Qodly source creationDate and comment attributes are filled
+ Server-->>-Qodly page: product Qodlyソースの creationDate と comment 属性に値が入れられる
- Note over Qodly page: product.creationDate is "06/17/25"
and product.comment is "Automatic comment"
+ Note over Qodly page: product.creationDate は "06/17/25"
そして product.comment は "Automatic comment"
```
-#### Example 4 (diagram): Qodly - Standard action and update value on the newly created entity
+#### 例題 4 (図): Qodly - 標準アクションと新規作成エンティティの値を更新
```mermaid
sequenceDiagram
-Qodly page->>+ Qodly page: Standard action Create a new entity (product Qodly source)
+Qodly page->>+ Qodly page: 標準アクションで新規エンティティを作成(product Qodlyソース)
-Qodly page->>+ Qodly page: Update product comment with "Front end comment"
+Qodly page->>+ Qodly page: product の comment を "Front end comment" で更新
-Qodly page->>+Server: Function call product.apply() OR Save standard action for the product Qodly source
+Qodly page->>+Server: 関数が product Qodlyソースに対して product.apply() またはSave 標準アクションを呼び出し
Note over Server: Class constructor
This.creationDate:=Current date()
This.comment:="Automatic comment"
-Note over Server: The comment attribute is set with "Front end comment"
+Note over Server: comment 属性は "Front end comment" に設定
-Server-->>-Qodly page: The product Qodly source creationDate and comment attributes are filled
+Server-->>-Qodly page: product Qodlyソースの creationDate と comment 属性には値が入る
-Note over Qodly page: product.creationDate is "06/17/25"
and product.comment is "Front end comment"
+Note over Qodly page: product.creationDate は "25/06/17"
そして product.comment は "Front end comment"
```
-#### Example 5 (diagram): Qodly - Entity instanciated in a function
+#### 例題 5 (図): Qodly - 関数内でインスタンス化されたエンティティ
```mermaid
diff --git a/i18n/ja/docusaurus-plugin-content-docs/current/WebServer/sessions.md b/i18n/ja/docusaurus-plugin-content-docs/current/WebServer/sessions.md
index f690ad94acf3e2..8c11c9b7e09f45 100644
--- a/i18n/ja/docusaurus-plugin-content-docs/current/WebServer/sessions.md
+++ b/i18n/ja/docusaurus-plugin-content-docs/current/WebServer/sessions.md
@@ -25,7 +25,7 @@ Webセッションは次のものに使用されます:
- [Web applications](gettingStarted.md) sending http requests (including [SOAP Web services](../commands/theme/Web_Services_Server.md) and [/4DACTION](../WebServer/httpRequests.md#4daction) requests),
- [リモートデータストア](../ORDA/remoteDatastores.md) や [Qodlyフォーム](qodly-studio.md) が使用する [REST API](../REST/authUsers.md) への呼び出し
-## Webセッションの有効化
+## Enabling web sessions {#enabling-web-sessions}
セッション管理機能は、4D Webサーバー上で有効または無効にすることができます。 セッション管理を有効化する方法は複数あります:
diff --git a/i18n/ja/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAI.md b/i18n/ja/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAI.md
index 6c40ad19f207fd..fa5cac9b16540a 100644
--- a/i18n/ja/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAI.md
+++ b/i18n/ja/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAI.md
@@ -60,18 +60,20 @@ $client.baseURL:="https://server.ai"
API はOpenAI のサービスとシームレスにやりとりすることを可能にする複数のリソースへのアクセスを提供します。 それぞれのリソースは専用のAPI クラスにカプセル化されており、様々な機能と対話するための構造化された、直感的な方法を提供しています。
-| プロパティ名 | 型 | 説明 |
-| ------------- | ----------------------------------------------- | ------------------ |
-| `models` | [OpenAIModelsAPI](OpenAIModelsAPI.md) | Models API へのアクセス。 |
-| `chat` | [OpenAIChatAPI](OpenAIChatAPI.md) | Chat API へのアクセス。 |
-| `images` | [OpenAIImagesAPI](OpenAIImagesAPI.md) | 画像 API へのアクセス。 |
-| `moderations` | [OpenAIModerationsAPI](OpenAIModerationsAPI.md) | モデレーションAPI へのアクセス。 |
-| `embeddings` | [OpenAIEmbeddingsAPI](OpenAIEmbeddingsAPI.md) | 埋め込みAPI へのアクセス。 |
+| プロパティ名 | 型 | 説明 |
+| ------------- | ----------------------------------------------- | ---------------------------------------- |
+| `models` | [OpenAIModelsAPI](OpenAIModelsAPI.md) | Models API へのアクセス。 |
+| `chat` | [OpenAIChatAPI](OpenAIChatAPI.md) | Chat API へのアクセス。 |
+| `images` | [OpenAIImagesAPI](OpenAIImagesAPI.md) | 画像 API へのアクセス。 |
+| `moderations` | [OpenAIModerationsAPI](OpenAIModerationsAPI.md) | モデレーションAPI へのアクセス。 |
+| `embeddings` | [OpenAIEmbeddingsAPI](OpenAIEmbeddingsAPI.md) | 埋め込みAPI へのアクセス。 |
+| `files` | [OpenAIFilesAPI](OpenAIFilesAPI.md) | Access to the Files API. |
### 使用例
```4d
$client.chat.completions.create(...)
$client.images.generate(...)
+$client.files.create(...)
$client.model.lists(...)
```
diff --git a/i18n/ja/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIFile.md b/i18n/ja/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIFile.md
new file mode 100644
index 00000000000000..2d785bfd5cb539
--- /dev/null
+++ b/i18n/ja/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIFile.md
@@ -0,0 +1,29 @@
+---
+id: openaifile
+title: OpenAIFile
+---
+
+# OpenAIFile
+
+The `OpenAIFile` class represents a file object in the OpenAI API. Files can be uploaded and used across various endpoints including Assistants, Fine-tuning, Batch, and Vision APIs.
+
+## プロパティ
+
+| プロパティ名 | 型 | 説明 |
+| ---------------- | ------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| `id` | Text | The file identifier, which can be referenced in the API endpoints. |
+| `bytes` | Integer | The size of the file, in bytes. |
+| `created_at` | Integer | The Unix timestamp (in seconds) for when the file was created. |
+| `expires_at` | Integer | The Unix timestamp (in seconds) for when the file will expire. |
+| `filename` | Text | The name of the file. |
+| `object` | Text | The object type, which is always "file". |
+| `purpose` | Text | The intended purpose of the file. Supported values: `assistants`, `assistants_output`, `batch`, `batch_output`, `fine-tune`, `fine-tune-results`, `vision`, and `user_data`. |
+| `status` | Text | **Deprecated.** The current status of the file, which can be either `uploaded`, `processed`, or `error`. |
+| `status_details` | Text | **Deprecated.** For details on why a fine-tuning training file failed validation, see the error field on `fine_tuning.job`. |
+
+## 参照
+
+- [OpenAIFileResult](OpenAIFileResult.md)
+- [OpenAIFileListResult](OpenAIFileListResult.md)
+- [OpenAIFilesAPI](OpenAIFilesAPI.md)
+- [OpenAIFileParameters](OpenAIFileParameters.md)
diff --git a/i18n/ja/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIFileDeletedResult.md b/i18n/ja/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIFileDeletedResult.md
new file mode 100644
index 00000000000000..fdfe98f46abb1a
--- /dev/null
+++ b/i18n/ja/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIFileDeletedResult.md
@@ -0,0 +1,38 @@
+---
+id: openaifiledeletedresult
+title: OpenAIFileDeletedResult
+---
+
+# OpenAIFileDeletedResult
+
+The `OpenAIFileDeletedResult` class contains the result of a file deletion operation.
+
+## 継承元
+
+[OpenAIResult](OpenAIResult.md)
+
+## 計算プロパティ
+
+| プロパティ | 型 | 説明 |
+| --------- | ----------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------ |
+| `deleted` | [OpenAIFileDeleted](OpenAIFileDeleted.md) | Returns the file deletion result from the API response. Returns `Null` if the response doesn't contain a valid result. |
+
+## 使用例
+
+```4d
+// Delete a file
+var $fileId:="file-abc123"
+var $result:=$client.files.delete($fileId; Null)
+var $deletionStatus:=$result.deleted
+
+If ($deletionStatus.deleted)
+ ALERT("File "+$deletionStatus.id+" was successfully deleted")
+Else
+ ALERT("Failed to delete file")
+End if
+```
+
+## 参照
+
+- [OpenAIFilesAPI](OpenAIFilesAPI.md)
+- [OpenAIFileDeleted](OpenAIFileDeleted.md)
diff --git a/i18n/ja/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIFileListParameters.md b/i18n/ja/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIFileListParameters.md
new file mode 100644
index 00000000000000..82dd2cf5e96efd
--- /dev/null
+++ b/i18n/ja/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIFileListParameters.md
@@ -0,0 +1,38 @@
+---
+id: openaifilelistparameters
+title: OpenAIFileListParameters
+---
+
+# OpenAIFileListParameters
+
+The `OpenAIFileListParameters` class contains parameters for listing files in the OpenAI API.
+
+## 継承元
+
+[OpenAIParameters](OpenAIParameters.md)
+
+## プロパティ
+
+| プロパティ名 | 型 | Required | デフォルト | 説明 |
+| --------- | ------- | -------- | ----- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| `after` | Text | 任意 | - | A cursor for use in pagination. `after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `after=obj_foo` in order to fetch the next page of the list. |
+| `limit` | Integer | 任意 | 10000 | A limit on the number of objects to be returned. Limit can range between 1 and 10,000, and the default is 10,000. |
+| `order` | Text | 任意 | desc | Sort order by the `created_at` timestamp of the objects. `asc` for ascending order and `desc` for descending order. |
+| `purpose` | Text | 任意 | - | Only return files with the given purpose. |
+
+## 使用例
+
+```4d
+// Get first 100 files with purpose "fine-tune"
+var $params:=cs.AIKit.OpenAIFileListParameters.new()
+$params.limit:=100
+$params.purpose:="fine-tune"
+$params.order:="desc"
+
+var $result:=$client.files.list($params)
+```
+
+## 参照
+
+- [OpenAIFilesAPI](OpenAIFilesAPI.md)
+- [OpenAIFileListResult](OpenAIFileListResult.md)
diff --git a/i18n/ja/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIFileListResult.md b/i18n/ja/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIFileListResult.md
new file mode 100644
index 00000000000000..04edb7e8809ddd
--- /dev/null
+++ b/i18n/ja/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIFileListResult.md
@@ -0,0 +1,66 @@
+---
+id: openaifilelistresult
+title: OpenAIFileListResult
+---
+
+# OpenAIFileListResult
+
+The `OpenAIFileListResult` class contains the result of listing files from the OpenAI API.
+
+## 継承元
+
+[OpenAIResult](OpenAIResult.md)
+
+## 計算プロパティ
+
+| プロパティ | 型 | 説明 |
+| ---------- | ---------- | ------------------------------------------------------------------------------------------------------------------------------------------------ |
+| `files` | Collection | Returns a collection of [OpenAIFile](OpenAIFile.md) objects from the API response, or an empty collection if no files are found. |
+| `first_id` | Text | Returns the ID of the first file in the list, or an empty string if not available. |
+| `last_id` | Text | Returns the ID of the last file in the list, or an empty string if not available. |
+| `has_more` | Boolean | Indicates if there are more files beyond this page. `True` if there are more files to fetch, `False` otherwise. |
+
+## 使用例
+
+### Basic Usage
+
+```4d
+var $params:=cs.AIKit.OpenAIFileListParameters.new()
+$params.purpose:="assistants"
+$params.limit:=50
+
+var $result:=$client.files.list($params)
+var $files:=$result.files
+
+For each ($file; $files)
+ // Process each OpenAIFile object
+ // $file.filename -> "salesOverview.pdf"
+ // $file.bytes -> 175
+ // $file.purpose -> "assistants"
+End for each
+```
+
+### Pagination Example
+
+```4d
+var $params:=cs.AIKit.OpenAIFileListParameters.new()
+$params.limit:=100
+
+var $result:=$client.files.list($params)
+var $allFiles:=$allFiles.combine($result.files)
+
+// Continue fetching if there are more files
+While ($result.has_more)
+ $params.after:=$result.last_id
+ $result:=$client.files.list($params)
+ $allFiles:=$allFiles.combine($result.files)
+End while
+
+// $allFiles now contains all files from the organization
+```
+
+## 参照
+
+- [OpenAIFilesAPI](OpenAIFilesAPI.md)
+- [OpenAIFile](OpenAIFile.md)
+- [OpenAIFileListParameters](OpenAIFileListParameters.md)
\ No newline at end of file
diff --git a/i18n/ja/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIFileParameters.md b/i18n/ja/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIFileParameters.md
new file mode 100644
index 00000000000000..c7125c0ef9b00a
--- /dev/null
+++ b/i18n/ja/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIFileParameters.md
@@ -0,0 +1,43 @@
+---
+id: openaifileparameters
+title: OpenAIFileParameters
+---
+
+# OpenAIFileParameters
+
+The `OpenAIFileParameters` class handles parameters for file upload operations.
+
+## 継承元
+
+[OpenAIParameters](OpenAIParameters.md)
+
+## プロパティ
+
+| プロパティ名 | 型 | Required | 説明 |
+| --------------- | ------ | -------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
+| `expires_after` | Object | 任意 | The expiration policy for a file. By default, files with `purpose=batch` expire after 30 days and all other files are persisted until they are manually deleted. |
+
+### `expires_after` Object Structure
+
+The `expires_after` object contains the following properties:
+
+| プロパティ名 | 型 | 説明 |
+| --------- | ------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| `anchor` | Text | Anchor timestamp after which the expiration policy applies. Supported anchors: `created_at`. |
+| `seconds` | Integer | The number of seconds after the anchor time that the file will expire. Must be between 3600 (1 hour) and 2592000 (30 days). |
+
+## 使用例
+
+```4d
+var $params:=cs.AIKit.OpenAIFileParameters.new()
+
+// Set expiration after 7 days
+$params.expires_after:={}
+$params.expires_after.anchor:="created_at"
+$params.expires_after.seconds:=604800 // 7 days
+```
+
+## 参照
+
+- [OpenAIFilesAPI](OpenAIFilesAPI.md)
+- [OpenAIFileResult](OpenAIFileResult.md)
diff --git a/i18n/ja/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIFileResult.md b/i18n/ja/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIFileResult.md
new file mode 100644
index 00000000000000..fd1bad0e55650f
--- /dev/null
+++ b/i18n/ja/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIFileResult.md
@@ -0,0 +1,36 @@
+---
+id: openaifileresult
+title: OpenAIFileResult
+---
+
+# OpenAIFileResult
+
+The `OpenAIFileResult` class contains the result of a single file operation (upload or retrieve).
+
+## 継承元
+
+[OpenAIResult](OpenAIResult.md)
+
+## 計算プロパティ
+
+| プロパティ | 型 | 説明 |
+| ------ | --------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------- |
+| `ファイル` | [OpenAIFile](OpenAIFile.md) | Returns the file object from the API response. Returns `Null` if the response doesn't contain a valid file. |
+
+## 使用例
+
+```4d
+// Upload a file
+var $file:=File("/RESOURCES/training-data.jsonl")
+
+var $result:=$client.files.create($file; "user_data")
+var $uploadedFile:=$result.file
+
+// Retrieve file information
+var $retrieveResult:=$client.files.retrieve($uploadedFile.id)
+```
+
+## 参照
+
+- [OpenAIFilesAPI](OpenAIFilesAPI.md)
+- [OpenAIFile](OpenAIFile.md)
diff --git a/i18n/ja/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIFilesAPI.md b/i18n/ja/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIFilesAPI.md
new file mode 100644
index 00000000000000..6bb52b12e6f60d
--- /dev/null
+++ b/i18n/ja/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIFilesAPI.md
@@ -0,0 +1,173 @@
+---
+id: openaifilesapi
+title: OpenAIFilesAPI
+---
+
+# OpenAIFilesAPI
+
+The `OpenAIFilesAPI` class provides functionalities to manage files using OpenAI's API. Files can be uploaded and used across various endpoints including [Fine-tuning](https://platform.openai.com/docs/api-reference/fine-tuning), [Batch](https://platform.openai.com/docs/api-reference/batch) processing, and Vision.
+
+> **Note:** This API is only compatible with OpenAI. Other providers listed in the [compatible providers](../compatible-openai.md) documentation do not support file management operations.
+
+API Reference:
+
+## File Size Limits
+
+- **Individual files:** up to 512 MB per file
+- **Organization total:** up to 1 TB (cumulative size of all files uploaded by your [organization](https://platform.openai.com/docs/guides/production-best-practices/setting-up-your-organization))
+
+## 関数
+
+### create()
+
+**create**(*file* : 4D.File | 4D.Blob; *purpose* : Text; *parameters* : cs.OpenAIFileParameters) : cs.OpenAIFileResult
+
+Upload a file that can be used across various endpoints.
+
+**Endpoint:** `POST https://api.openai.com/v1/files`
+
+| 引数 | 型 | 説明 |
+| ------------ | ------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------ |
+| `ファイル` | [4D.File](https://developer.4d.com/docs/API/FileClass) or [4D.Blob](https://developer.4d.com/docs/API/BlobClass) | The File or Blob object (not file name) to be uploaded. |
+| `purpose` | Text | **Required.** The intended purpose of the uploaded file. |
+| `parameters` | [OpenAIFileParameters](OpenAIFileParameters.md) | Optional parameters including expiration policy. |
+| 戻り値 | [OpenAIFileResult](OpenAIFileResult.md) | The file result |
+
+**Throws:** An error if `file` is not a 4D.File or 4D.Blob, or if `purpose` is empty.
+
+#### Supported Purposes
+
+- `assistants`: Used in the Assistants API (⚠️ [deprecated by OpenAI](https://platform.openai.com/docs/assistants/whats-new))
+- `batch`: Used in the [Batch API](https://platform.openai.com/docs/api-reference/batch) (expires after 30 days by default)
+- `fine-tune`: Used for [fine-tuning](https://platform.openai.com/docs/api-reference/fine-tuning)
+- `vision`: Images used for vision fine-tuning
+- `user_data`: Flexible file type for any purpose
+- `evals`: Used for eval data sets
+
+#### File Format Requirements
+
+- **Fine-tuning API:** Only supports `.jsonl` files with specific required formats
+- **Batch API:** Only supports `.jsonl` files up to 200 MB with specific required format
+- **Assistants API:** Supports specific file types (see Assistants Tools guide)
+- **Chat Completions API:** PDFs are only supported
+
+#### 例題
+
+```4d
+var $file:=File("/RESOURCES/training-data.jsonl")
+
+var $params:=cs.AIKit.OpenAIFileParameters.new()
+$params.expires_after:={}
+$params.expires_after.anchor:="created_at"
+$params.expires_after.seconds:=2592000 // 30 days
+
+var $result:=$client.files.create($file; "fine-tune"; $params)
+
+If ($result.success)
+ var $uploadedFile:=$result.file
+ // $uploadedFile.id -> "file-abc123"
+ // $uploadedFile.filename -> "training-data.jsonl"
+ // $uploadedFile.bytes -> 120000
+End if
+```
+
+### retrieve()
+
+**retrieve**(*fileId* : Text; *parameters* : cs.OpenAIParameters) : cs.OpenAIFileResult
+
+Returns information about a specific file.
+
+**Endpoint:** `GET https://api.openai.com/v1/files/{file_id}`
+
+| 引数 | 型 | 説明 |
+| ------------ | --------------------------------------- | ----------------------------------------------------------------------------- |
+| `fileId` | Text | **Required.** The ID of the file to retrieve. |
+| `parameters` | [OpenAIParameters](OpenAIParameters.md) | Optional parameters for the request. |
+| 戻り値 | [OpenAIFileResult](OpenAIFileResult.md) | The file result |
+
+**Throws:** An error if `fileId` is empty.
+
+#### 例題
+
+```4d
+var $result:=$client.files.retrieve("file-abc123")
+
+If ($result.success)
+ var $file:=$result.file
+ // $file.filename -> "mydata.jsonl"
+ // $file.bytes -> 120000
+ // $file.purpose -> "fine-tune"
+End if
+```
+
+### list()
+
+**list**(*parameters* : cs.OpenAIFileListParameters) : cs.OpenAIFileListResult
+
+Returns a list of files that belong to the user's organization.
+
+**Endpoint:** `GET https://api.openai.com/v1/files`
+
+| 引数 | 型 | 説明 |
+| ------------ | ------------------------------------------------------- | ----------------------------------------------------------------- |
+| `parameters` | [OpenAIFileListParameters](OpenAIFileListParameters.md) | Optional parameters for filtering and pagination. |
+| 戻り値 | [OpenAIFileListResult](OpenAIFileListResult.md) | The file list result |
+
+#### 例題
+
+```4d
+var $params:=cs.AIKit.OpenAIFileListParameters.new()
+$params.purpose:="assistants"
+$params.limit:=50
+$params.order:="desc"
+
+var $result:=$client.files.list($params)
+
+If ($result.success)
+ var $files:=$result.files
+ // $files.length -> 2
+
+ For each ($file; $files)
+ // $file.filename -> "salesOverview.pdf", "puppy.jsonl", etc.
+ End for each
+End if
+```
+
+### delete()
+
+**delete**(*fileId* : Text; *parameters* : cs.OpenAIParameters) : cs.OpenAIFileDeletedResult
+
+Delete a file.
+
+**Endpoint:** `DELETE https://api.openai.com/v1/files/{file_id}`
+
+| 引数 | 型 | 説明 |
+| ------------ | ----------------------------------------------------- | --------------------------------------------------------------------------- |
+| `fileId` | Text | **Required.** The ID of the file to delete. |
+| `parameters` | [OpenAIParameters](OpenAIParameters.md) | Optional parameters for the request. |
+| 戻り値 | [OpenAIFileDeletedResult](OpenAIFileDeletedResult.md) | The file deletion result |
+
+**Throws:** An error if `fileId` is empty.
+
+#### 例題
+
+```4d
+var $result:=$client.files.delete("file-abc123")
+
+If ($result.success)
+ var $status:=$result.deleted
+
+ If ($status.deleted)
+ ALERT("File deleted successfully")
+ End if
+End if
+```
+
+## 参照
+
+- [OpenAIFile](OpenAIFile.md)
+- [OpenAIFileParameters](OpenAIFileParameters.md)
+- [OpenAIFileListParameters](OpenAIFileListParameters.md)
+- [OpenAIFileResult](OpenAIFileResult.md)
+- [OpenAIFileListResult](OpenAIFileListResult.md)
+- [OpenAIFileDeletedResult](OpenAIFileDeletedResult.md)
diff --git a/i18n/ja/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIMessage.md b/i18n/ja/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIMessage.md
index 71ac6fa0763f7e..5ec7d2bf4b799d 100644
--- a/i18n/ja/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIMessage.md
+++ b/i18n/ja/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIMessage.md
@@ -36,18 +36,52 @@ title: OpenAIMessage
メッセージのコンテンツに画像URL を追加します。
+### addFileId()
+
+**addFileId**(*fileId* : Text)
+
+| 引数 | 型 | 説明 |
+| -------- | ---- | -------------------------------------------------- |
+| *fileId* | Text | The file ID to add to the message. |
+
+Adds a file reference to the content of the message. If the content is currently text, it will be converted to a collection format.
+
## 使用例
-### シンプルなメッセージを作成し画像を添付する
+### Basic Text Message
+
+```4d
+// Create an instance of OpenAIMessage
+var $message:=cs.AIKit.OpenAIMessage.new({role: "user"; content: "Hello!"})
+```
+
+### Adding Images
```4d
-// OpenAIMessage のインスタンスを作成
-var $message:=cs.AIKit.OpenAIMessage({role: "user"; content: "Hello!"})
+var $message:=cs.AIKit.OpenAIMessage.new({role: "user"; content: "Please analyze this image:"})
-// 画像 URL と詳細を追加
+// Add an image URL with details
$message.addImageURL("http://example.com/image.jpg"; "high")
```
+### Adding File
+
+```4d
+// Upload a file with user_data purpose
+var $file:=File("/RESOURCES/document.pdf")
+var $uploadResult:=$client.files.create($file; "user_data")
+
+If ($uploadResult.success)
+ var $uploadedFile:=$uploadResult.file
+
+ // Create message and attach the file using its ID
+ var $message:=cs.AIKit.OpenAIMessage.new({role: "user"; content: "Please analyze this document:"})
+ $message.addFileId($uploadedFile.id)
+
+ // $message.content -> [{type: "text"; text: "Please analyze this document:"}; {type: "file"; file_id: "file-abc123"}]
+End if
+```
+
### ツール呼び出しメッセージに応答する
アシスタントが外部関数を使用する必要がある場合、関数の実行をリクエストするための、`tool_calls` を持ったメッセージを生成します。
diff --git a/i18n/ja/docusaurus-plugin-content-docs/current/aikit/overview.md b/i18n/ja/docusaurus-plugin-content-docs/current/aikit/overview.md
index 06c467d9cc2b7b..8ead5e34d3fdfa 100644
--- a/i18n/ja/docusaurus-plugin-content-docs/current/aikit/overview.md
+++ b/i18n/ja/docusaurus-plugin-content-docs/current/aikit/overview.md
@@ -103,6 +103,42 @@ IDを使用して一つのモデルの情報を取得する例
var $model:=$client.models.retrieve("a model id").model
```
+#### Files
+
+https://platform.openai.com/docs/api-reference/files
+
+Upload a file for use with other endpoints
+
+```4d
+var $file:=File("/path/to/your/file.jsonl")
+var $result:=$client.files.create($file; "fine-tune")
+var $fileId:=$result.file.id
+```
+
+List all files
+
+```4d
+var $files:=$client.files.list().files
+```
+
+Retrieve file information
+
+```4d
+var $fileInfo:=$client.files.retrieve($fileId).file
+```
+
+Delete a file
+
+```4d
+var $deleteResult:=$client.files.delete($fileId)
+```
+
+:::tip 関連したblog 記事
+
+[Transform Static Documents into Actionable Knowledge with 4D AIKit](https://blog.4d.com/transform-static-documents-into-actionable-knowledge-with-4d-aikit).
+
+:::
+
#### モデレーション
https://platform.openai.com/docs/api-reference/moderations
diff --git a/i18n/ja/docusaurus-plugin-content-docs/version-20-R10/ORDA/ordaClasses.md b/i18n/ja/docusaurus-plugin-content-docs/version-20-R10/ORDA/ordaClasses.md
index a49e8ce5d07ead..621d59f027e73c 100644
--- a/i18n/ja/docusaurus-plugin-content-docs/version-20-R10/ORDA/ordaClasses.md
+++ b/i18n/ja/docusaurus-plugin-content-docs/version-20-R10/ORDA/ordaClasses.md
@@ -3,7 +3,7 @@ id: ordaClasses
title: データモデルクラス
---
-ORDA allows you to create high-level class functions above the [data model](https://doc.4d.com/4Dv20/4D/20.2/Creating-a-database-structure.200-6750097.en.html). これによってビジネス指向のコードを書き、APIのように "公開" することができます。 データストア、データクラス、エンティティ、およびエンティティセレクションはそれぞれ、関数を持つことのできるクラスオブジェクトとして提供されています。
+ORDAでは、[データモデル](https://doc.4d.com/4Dv20/4D/20.2/Creating-a-database-structure.200-6750097.ja.html)の上に高レベルクラス関数を作成することができます。 これによってビジネス指向のコードを書き、APIのように "公開" することができます。 データストア、データクラス、エンティティ、およびエンティティセレクションはそれぞれ、関数を持つことのできるクラスオブジェクトとして提供されています。
たとえば、選択中の社員より給与の高い社員一覧を返す `getNextWithHigherSalary()` 関数を `EmployeeEntity` クラスに作成したとします。 この関数は簡単に呼び出すことができます:
@@ -214,9 +214,9 @@ ORDA で公開されるテーブル毎に、Entity クラスが `cs` クラス
#### Class constructor
-You can define a **class constructor** for an Entity class. The class constructor is called whenever an entity is created in memory and can be used to initialize some values.
+エンティティクラスに対して **class constructor** を定義することができます。 クラスコンストラクターはエンティティがメモリ内に作成されるたびに呼び出され、これを使用して一部の値を初期化することができます。
-For information, please refer to the [Class constructor](#class-constructor-1) section.
+詳細な情報については[Class constructor](#class-constructor-1) を参照してください。
#### 計算属性
@@ -278,7 +278,7 @@ End if
- クラス定義の際、[`Class extends`](../Concepts/classes.md#class-extends-classname) ステートメントに使用する親クラスの名前は完全に合致するものでなくてはいけません (文字の大小が区別されます)。 たとえば、EntitySelection クラスを継承するには `Class extends EntitySelection` と書きます。
-- データモデルクラスオブジェクトのインスタンス化に `new()` キーワードは使えません (エラーが返されます)。 You must use a regular function as listed in the [`Instantiated by` column of the ORDA class table](#architecture).
+- データモデルクラスオブジェクトのインスタンス化に `new()` キーワードは使えません (エラーが返されます)。 上述の ORDA クラステーブルに一覧化されている、通常の [インスタンス化の方法](#アーキテクチャー) を使う必要があります。
- **`4D`** [クラスストア](Concepts/classes.md#クラスストア) のネイティブな ORDA クラス関数を、データモデルユーザークラス関数でオーバーライドすることはできません。
@@ -306,7 +306,7 @@ End if
```4d
// Entity class
Class constructor()
-// code
+// コード
```
:::note
@@ -315,48 +315,48 @@ Class constructor()
:::
-An ORDA class constructor function is triggered just after a new entity is created in memory, [whatever the way it is created](#commands-that-trigger-the-class-constructor-functions). It is useful to set initial values for entity instantiation, for example a custom ID.
+ORDA クラスコンストラクター関数は、[作成された方法に関わらず](#クラス関数をトリガーするコマンド)、新規エンティティがメモリ内に作成された直後にトリガーされます。 これは例えばカスタムのID など、エンティティインスタンス化時に初期値を設定するのに有用です。
-This function can only be set at the [entity level](#entity-class). There can only be one constructor function in an entity class (otherwise an error is returned).
+この関数は [エンティティレベル](#entity-クラス) でのみ設定可能です。 コンストラクター関数は、1つのエンティティクラスに 1つしか存在できません (そうでない場合はエラーが返されます)。
-This ORDA class constructor function does not receive or return parameters. However, you can use it to initialize attribute values using [`This`](../commands/this.md). Note that values initialized by the constructor are overriden if corresponding attributes are filled by the code.
+ORDA クラスコンストラクター関数は、引数を受け取ることも返すこともしません。 しかし、 [`This`](../commands/this.md).を使用して属性値を初期化することができます。 コンストラクターによって初期化された値は、対応する属性がコードによって値が入力される場合にはそれによって上書きされるということに注意してください。
:::note
-An ORDA class constructor function is similar to a [user class constructor function](../Concepts/classes.md#class-constructor), with the following differences:
+ORDA クラスコンストラクター関数は、[ユーザークラスコンストラクター関数](../Concepts/classes.md#class-constructor) と似ていますが、以下の点において違います:
-- you cannot pass parameters to the constructor,
-- you cannot use `shared`, `session`, or `singleton` keywords,
-- you cannot call the [`Super`](../Concepts/classes.md#super) keyword within the function,
-- the class constructor cannot be called using the `new()` function on an entity (entities can only be created by specific functions, see below).
+- コンストラクターには引数を渡すことはできません
+- `shared`、 `session` または `singleton` キーワードを使用することはできません
+- 関数内で [`Super`](../Concepts/classes.md#super) キーワードを呼び出すことはできません
+- クラスコンストラクターは、エンティティに `new()` 関数を使用することでは呼び出せません(エンティティは特定の関数でしか作成することはできません、以下参照)。
:::
-#### Commands that trigger the Class constructor functions
+#### クラスコンストラクター関数をトリガーするコマンド
-The `Class constructor` function is triggered by the following commands and features:
+`Class constructor` 関数は、以下のコマンドと機能によってトリガーされます:
- [`dataClass.new()`](../API/DataClassClass.md#new)
- [`dataClass.fromCollection()`](../API/DataClassClass#fromcollection)
-- [REST API $method=update](../REST/$method.md#methodupdate) in a POST without the `__KEY` and `__STAMP` parameters
-- the [Data Explorer](../Admin/dataExplorer.md#editing-data).
+- `__KEY` および `__STAMP` 引数のない POST での[REST API $method=update](../REST/$method.md#methodupdate)
+- [データエクスプローラー](../Admin/dataExplorer.md#editing-data)
:::note 注記
-- The [`entity.clone()`](../API/EntityClass.md#clone) function does not trigger the entity Class constructor.
-- Records created at the 4D database level using 4D classic language commands or standard actions do not trigger the entity Class constructor.
+- [`entity.clone()`](../API/EntityClass.md#clone) 関数はエンティティクラスコンストラクターをトリガーしません。
+- 4D クラシックランゲージ言語コマンドまたは標準アクションを使用して4D データベースレベルで作成されたレコードは、エンティティクラスコンストラクターをトリガーしません。
:::
-#### Remote configurations
+#### リモート構成
-When using a remote configurations, you need to pay attention to the following principles:
+リモート構成を使用している場合、以下の原則に対して注意する必要があります:
-- In **client/server** the function can be called on the client or on the server, depending on the location of the calling code. When it is called on the client, it is not triggered again when the client attempts to save the new entity and sends an update request to the server to create in memory on the server.
+- **クライアント/サーバー** では、コードを呼び出した場所によっては関数はクライアントまたはサーバーのどちらでも呼び出すことができます。 クライアント上で呼び出された場合、クライアントが新規エンティティを保存しようとして、サーバーのメモリ上に作成するために更新リクエストを送信したときにはもう一度トリガーされることはありません。
:::warning
-Since functions such as [`dataClass.fromCollection()`](../API/DataClassClass.md#fromcollection) can create a large number of entities and thus trigger the entity Class constructor consequently, you need to make sure the constructor code does not execute excessive time-consuming processings, for performance reasons. In remote configurations (see below), the code should not trigger multiple requests to the server.
+[`dataClass.fromCollection()`](../API/DataClassClass.md#fromcollection) のような関数は大量のエンティティを一度を作成し、結果としてエンティティクラスコンストラクターをトリガーしうるため、パフォーマンス上の理由から、コンストラクターコードに過度に時間を消費するような処理を実行しないように注意する必要があります。 リモート設定においては(以下参照)、コードはサーバーに対して複数のリクエストをトリガーしてはいけません。
:::
@@ -372,7 +372,7 @@ Class constructor()
```
-#### Example 2 (diagram): Client/server
+#### 例題 2 (図): クライアント/サーバー
```mermaid
@@ -382,7 +382,7 @@ Client->>+Client: Form.product:=ds.Products.new()
Note over Client: Class constructor
This.creationDate:=Current date()
This.comment:="Automatic comment"
-Note over Client: Form.product.creationDate is "06/17/25"
Form.product.comment is "Automatic comment"
+Note over Client: Form.product.creationDate は "25/06/17"
Form.product.comment は "Automatic comment"
Client->>+Server: Form.product.save()
@@ -391,47 +391,47 @@ Server-->>-Client: Success
```
-#### Example 3 (diagram): Qodly - Standard action
+#### 例題 3 (図): Qodly - 標準アクション
```mermaid
sequenceDiagram
- Qodly page->>+ Qodly page: Standard action Create a new entity (product Qodly source)
+ Qodly page->>+ Qodly page: 標準アクションで新規エンティティを作成 (product Qodlyソース)
- Qodly page->>+Server: Function call product.apply() OR Save standard action for the product Qodly source
+ Qodly page->>+Server: 関数がproduct Qodly ソースに対して product.apply() または Save 標準アクション を呼び出し
Note over Server: Class constructor
This.creationDate:=Current date()
This.comment:="Automatic comment"
- Server-->>-Qodly page: The product Qodly source creationDate and comment attributes are filled
+ Server-->>-Qodly page: product Qodlyソースの creationDate と comment 属性に値が入れられる
- Note over Qodly page: product.creationDate is "06/17/25"
and product.comment is "Automatic comment"
+ Note over Qodly page: product.creationDate は "06/17/25"
そして product.comment は "Automatic comment"
```
-#### Example 4 (diagram): Qodly - Standard action and update value on the newly created entity
+#### 例題 4 (図): Qodly - 標準アクションと新規作成エンティティの値を更新
```mermaid
sequenceDiagram
-Qodly page->>+ Qodly page: Standard action Create a new entity (product Qodly source)
+Qodly page->>+ Qodly page: 標準アクションで新規エンティティを作成(product Qodlyソース)
-Qodly page->>+ Qodly page: Update product comment with "Front end comment"
+Qodly page->>+ Qodly page: product の comment を "Front end comment" で更新
-Qodly page->>+Server: Function call product.apply() OR Save standard action for the product Qodly source
+Qodly page->>+Server: 関数が product Qodlyソースに対して product.apply() またはSave 標準アクションを呼び出し
Note over Server: Class constructor
This.creationDate:=Current date()
This.comment:="Automatic comment"
-Note over Server: The comment attribute is set with "Front end comment"
+Note over Server: comment 属性は "Front end comment" に設定
-Server-->>-Qodly page: The product Qodly source creationDate and comment attributes are filled
+Server-->>-Qodly page: product Qodlyソースの creationDate と comment 属性には値が入る
-Note over Qodly page: product.creationDate is "06/17/25"
and product.comment is "Front end comment"
+Note over Qodly page: product.creationDate は "25/06/17"
そして product.comment は "Front end comment"
```
-#### Example 5 (diagram): Qodly - Entity instanciated in a function
+#### 例題 5 (図): Qodly - 関数内でインスタンス化されたエンティティ
```mermaid
diff --git a/i18n/ja/docusaurus-plugin-content-docs/version-20-R10/WebServer/sessions.md b/i18n/ja/docusaurus-plugin-content-docs/version-20-R10/WebServer/sessions.md
index f6a0d04e73bd4d..6fcb8e4aaaae9d 100644
--- a/i18n/ja/docusaurus-plugin-content-docs/version-20-R10/WebServer/sessions.md
+++ b/i18n/ja/docusaurus-plugin-content-docs/version-20-R10/WebServer/sessions.md
@@ -25,7 +25,7 @@ Webセッションは次のものに使用されます:
- HTTPリクエストを送信する [Webアプリケーション](gettingStarted.md)
- [リモートデータストア](../ORDA/remoteDatastores.md) や [Qodlyフォーム](qodly-studio.md) が使用する [REST API](../REST/authUsers.md) への呼び出し
-## Webセッションの有効化
+## Enabling web sessions {#enabling-web-sessions}
セッション管理機能は、4D Webサーバー上で有効または無効にすることができます。 セッション管理を有効化する方法は複数あります:
diff --git a/i18n/ja/docusaurus-plugin-content-docs/version-21/Notes/updates.md b/i18n/ja/docusaurus-plugin-content-docs/version-21/Notes/updates.md
index dab2be14dac5fd..0d71e8b62ad493 100644
--- a/i18n/ja/docusaurus-plugin-content-docs/version-21/Notes/updates.md
+++ b/i18n/ja/docusaurus-plugin-content-docs/version-21/Notes/updates.md
@@ -41,7 +41,7 @@ title: リリースノート
:::
-- Web サービス(SOAP): [スケーラブルセッション](../WebServer/sessions.md#webセッションの有効化) が有効化されている場合、コンパイルモードにおいてはWeb サービスは[**プリエンプティブプロセス**](../Develop/preemptive.md) で実行されます。 そのためSOAP コードは必ずスレッドセーフであるようにしてください。
+- Web サービス(SOAP): [スケーラブルセッション](../WebServer/sessions.md#webセッションの有効化) が有効化されている場合、コンパイルモードにおいてはWeb サービスは[**プリエンプティブプロセス**](../Develop/preemptive.md) で実行されます。 Make sure that your SOAP code is thread-safe and that the session in which it runs has appropriate [privileges](../API/SessionClass.md#setprivileges).
- Web サーバー: 廃止予定だった`4DSYNC/` および `4DCGI/` URL のサポートが削除されました。 これらのURL に関しては今後は何も特殊な処理は行われません。
- Web ユーザーセッションは今後[`Process activity`](../commands/process-activity.md) コマンドで返されるようになります。
- [`HIGHLIGHT TEXT`](../commands/highlight-text) コマンドは今後サブフォームのコンテキストでサポートされるようになりました。
diff --git a/i18n/ja/docusaurus-plugin-content-docs/version-21/ORDA/orda-events.md b/i18n/ja/docusaurus-plugin-content-docs/version-21/ORDA/orda-events.md
index e0066e085544e8..9af378952d1c87 100644
--- a/i18n/ja/docusaurus-plugin-content-docs/version-21/ORDA/orda-events.md
+++ b/i18n/ja/docusaurus-plugin-content-docs/version-21/ORDA/orda-events.md
@@ -388,25 +388,25 @@ Function event saving ($event : Object)
- [`entity.save()`](../API/EntityClass.md#save)
- [`dataClass.fromCollection()`](../API/DataClassClass.md#fromcollection)
-This event is triggered **while** the entity is actually saved. If a [`validateSave()`](#function-event-validatesave) event function was defined, the `saving()` event function is called if no error was triggered by `validateSave()`. For example, you can use this event to create a document on a Google Drive account.
+このイベントはエンティティが実際に保存されている**最中に**トリガーされます。 [`validateSave()`](#function-event-validatesave) イベント関数が定義されていると場合、 `saving()` イベント関数は、 `validateSave()`がエラーを何もトリガーしなかった場合に呼び出されます。 例えば、このイベントを使用して、Google Drive アカウントにドキュメントを作成することができます。
:::note
-The business logic should raise errors which can't be detected during the `validateSave()` events, e.g. a network error
+このビジネスロジックは `validateSave()` イベントで検知できないエラーを生成する必要があります(例: ネットワークエラー)
:::
-During the save action, 4D engine errors can be raised (index, stamp has changed, not enough space on disk).
+保存アクション中、4D エンジンのエラー(インデックスやスタンプが変更された、ディスク上に十分なスペースがありません、など)が生成されることがあります。
アクションを停止するためには、関数のコードで[エラーオブジェクト](#エラーオブジェクト) を返す必要があります。
#### 例題
-When a file is saved on disk, catch errors related to disk space for example.
+ファイルがディスク上に保存されると、例えばディスクの要領に関連したエラーをキャッチします。
```4d
// ProductsEntity class
-// saving event at attribute level
+// 属性レベルでの保存イベント
Function event saving userManualPath($event : Object) : Object
var $result : Object
@@ -416,17 +416,17 @@ var $fileCreated : Boolean
If (This.userManualPath#"")
$userManualFile:=File(This.userManualPath)
- // The user manual document file is created on the disk
- // This may fail if no more space is available
+ // ユーザーマニュアルドキュメントファイルがディスク上に作成されます
+ // これはディスク上に空き容量がない場合には失敗する可能性があります
Try
- // The file content has been generated and stored in a map in Storage.docMap previously
+ // ファイルのコンテンツは事前に生成され Storage.docMap に保存されています
$docInfo:=Storage.docMap.query("name = :1"; This.name).first()
$userManualFile.setContent($docInfo.content)
Catch
- // No more room on disk for example
+ // 例えばディスク上に要領が空いてない場合
$result:={/
- errCode: 1; message: "Error during the save action for this product"; /
- extraDescription: {info: "There is no available space on disk to store the user manual"}/
+ errCode: 1; message: "この製品の保存アクション中にエラー発生"; /
+ extraDescription: {info: "このディスク上にはユーザーマニュアルを保存するスペースがありません"}/
}
End try
End if
@@ -437,7 +437,7 @@ return $result
:::note
-The content of the file is generated outside the `saving` event because it can be time consuming.
+この例ではファイルの中身は `saving` イベントの外で生成されています。時間がかなりかかる可能性があるからです。
:::
@@ -447,31 +447,31 @@ The content of the file is generated outside the `saving` event because it can b
```4d
Function event afterSave($event : Object)
-// code
+// コード
```
-This event is triggered just after an entity is saved in the data file, when at least one attribute was modified. It is not executed if no attribute has been touched in the entity.
+このイベントは、少なくとも一つの属性が編集されていたエンティティがデータファイルに保存された直後にトリガーされます。 エンティティ内でどの属性もタッチされていない場合には、これは実行されません。
-This event is useful after saving data to propagate the save action outside the application or to execute administration tasks. For example, it can be used to send a confirmation email after data have been saved. Or, in case of error while saving data, it can make a rollback to restore a consistent state of data.
+このイベントは、データを保存した後に、アプリケーション外に保存アクションを電波させたい場合や、管理タスクを実行したりするのに有用です。 例えばこれを使用して、データが保存された後に確認メールを送信することができます。 あるいは、データ保存中にエラーが発生した場合、これを使用してロールバックを行い、データの一貫性を復元することもできます。
関数は [*event* オブジェクト](#event-引数) を引数として受け取ります。
-- To avoid infinite loops, calling a [`save()`](../API/EntityClass.md#save) on the current entity (through `This`) in this function is **not allowed**. It will raise an error.
-- Throwing an [error object](#error-object) is **not supported** by this function.
+- 無限ループに陥るのを避けるため、この関数内でカレントのエンティティ上で(`This` を通して) [`save()`](../API/EntityClass.md#save) を呼び出すのは**許可されていません**。 これはエラーを発生させます。
+- この関数では[エラーオブジェクト](#エラーオブジェクト) をスローすることは**サポートされていません**。
#### 例題
-If an error occurred in the above saving event, the attribute value is reset accordingly in the `afterSave` event:
+上記の保存イベント中にエラーが発生した場合、属性値は `afterSave` イベントでリセットされます:
```4d
// ProductsEntity class
Function event afterSave($event : Object)
If (($event.status.success=False) && ($event.status.errors=Null))
- // $event.status.errors is filled if the error comes from the validateSave event
+ // エラーがvalidateSave イベントから来た場合には$event.status.errors に値が入れられます
- // The userManualPath attribute has not been properly saved
- // Its value is reset
+ // userManualPath 属性は適切には保存されていません
+ // その値はリセットされます
If ($event.savedAttributes.indexOf("userManualPath")=-1)
This.userManualPath:=""
This.status:="KO"
@@ -487,29 +487,29 @@ End if
```4d
Function event validateDrop($event : Object)
Function event validateDrop ($event : Object)
-// code
+// コード
```
-This event is triggered each time an entity is about to be dropped.
+このイベントはエンティティがドロップ(削除)されようとするたびに毎回トリガーされます。
- 関数をエンティティレベルで定義していた場合(第一シンタックス)、その関数はエンティティの任意の属性に対して呼び出されます。
- 関数を属性レベルで定義していた場合(第二シンタックス)、関数はその属性に対してのみ呼び出されます。
関数は [*event* オブジェクト](#event-引数) を引数として受け取ります。
-This event is triggered by the following features:
+このイベントは以下の機能によってトリガーされます:
- [`entity.drop()`](../API/EntityClass.md#drop)
- [`entitySelection.drop()`](../API/DataClassClass.md#fromcollection)
-- [deletion control rules](https://doc.4d.com/4Dv20/4D/20.2/Relation-properties.300-6750290.en.html#107320) that can be defined at the database structure level.
+- データベースストラクチャーレベルで定義されている可能性のある[削除制御](https://doc.4d.com/4Dv20/4D/20.2/Relation-properties.300-6750290.ja.html#107320)。
-This event is triggered **before** the entity is actually dropped, allowing you to check data consistency and if necessary, to stop the drop action.
+このイベントはエンティティが実際にドロップされる**前に**トリガーされるため、データの一貫性をチェックし、必要であればドロップアクションを停止することができます。
アクションを停止するためには、関数のコードで[エラーオブジェクト](#エラーオブジェクト) を返す必要があります。
#### 例題
-In this example, it is not allowed to drop a product that is not labelled "TO DELETE". In this case, you return an error object and thus, stop the drop action.
+この例では、"TO DELETE" とラベルのついていない製品をドロップすることはできません。 この場合、エラーオブジェクトを返すことで、ドロップアクションを停止することができます。
```4d
// ProductsEntity class
@@ -518,10 +518,10 @@ Function event validateDrop status($event : Object) : Object
var $result : Object
-// Products must be marked as TO DELETE to be dropped
+// ドロップするためには、製品は TO DELETE と記録されている必要があります
If (This.status#"TO DELETE")
- $result:={errCode: 1; message: "You can't drop this product"; \
- extraDescription: {info: "This product must be marked as To Delete"}; seriousError: False}
+ $result:={errCode: 1; message: "この製品は削除できません"; \
+ extraDescription: {info: "この製品はTo Delete と記録されていなければなりません"}; seriousError: False}
End if
return $result
@@ -534,27 +534,27 @@ return $result
```4d
Function event dropping($event : Object)
Function event dropping ($event : Object)
-// code
+// コード
```
-This event is triggered each time an entity is being dropped.
+このイベントはエンティティがドロップ(削除)されるたびにトリガーされます。
- 関数をエンティティレベルで定義していた場合(第一シンタックス)、その関数はエンティティの任意の属性に対して呼び出されます。
- 関数を属性レベルで定義していた場合(第二シンタックス)、関数はその属性に対してのみ呼び出されます。
関数は [*event* オブジェクト](#event-引数) を引数として受け取ります。
-This event is triggered by the following features:
+このイベントは以下の機能によってトリガーされます:
- [`entity.drop()`](../API/EntityClass.md#drop)
- [`entitySelection.drop()`](../API/DataClassClass.md#fromcollection)
-- [deletion control rules](https://doc.4d.com/4Dv20/4D/20.2/Relation-properties.300-6750290.en.html#107320) that can be defined at the database structure level.
+- データベースストラクチャーレベルで定義されている可能性のある[削除制御](https://doc.4d.com/4Dv20/4D/20.2/Relation-properties.300-6750290.ja.html#107320)。
-This event is triggered **while** the entity is actually dropped. If a [`validateDrop()`](#function-event-validatedrop) event function was defined, the `dropping()` event function is called if no error was triggered by `validateDrop()`.
+このイベントはエンティティが実際にドロップされている**最中に**トリガーされます。 [`validateDrop()`](#function-event-validatedrop) イベント関数が定義されている場合、 `dropping()` イベント関数は、 `validateDrop()` がエラーを何もトリガーしなかった場合に呼び出されます。
:::note
-The business logic should raise errors which cannot be detected during the `validateDrop()` events, e.g. a network error.
+このビジネスロジックは `validateDrop()` イベントで検知できないエラーを生成する必要があります(例: ネットワークエラー)。
:::
@@ -562,7 +562,7 @@ The business logic should raise errors which cannot be detected during the `vali
#### 例題
-Here is an example of `dropping` event at entity level:
+これはエンティティレベルでの `dropping` イベントの一例です:
```4d
// ProductsEntity class
@@ -573,14 +573,14 @@ var $userManualFile : 4D.File
$userManualFile:=File(This.userManualPath)
- // When dropping a product, its user manual is also deleted on the disk
- // This action may fail
+ // 製品をドロップする場合、そのユーザーマニュアルもディスク上から削除されます
+ // このアクションは失敗する可能性があります
Try
If ($userManualFile.exists)
$userManualFile.delete()
End if
Catch
- // Dropping the user manual failed
+ // ユーザーマニュアルのドロップに失敗した場合
$result:={errCode: 1; message: "Drop failed"; extraDescription: {info: "The user manual can't be dropped"}}
End try
@@ -593,27 +593,27 @@ return $result
```4d
Function event afterDrop($event : Object)
-// code
+// コード
```
-This event is triggered just after an entity is dropped.
+このイベントはエンティティがドロップ(削除)された直後にトリガーされます。
-This event is useful after dropping data to propagate the drop action outside the application or to execute administration tasks. For example, it can be used to send a cancellation email after data have been dropped. Or, in case of error while dropping data, it can log an information for the administrator to check data consistency.
+このイベントは、データをドロップした後に、アプリケーション外にドロップアクションを伝播させたい場合や、管理タスクを実行したりするのに有用です。 例えばこれを使用して、データがドロップされたあとにキャンセルメールを送信することができます。 あるいは、データのドロップ中にエラーが発生した場合、あとで管理者がデータの一貫性をチェックできるように情報を記録することができます。
関数は [*event* オブジェクト](#event-引数) を引数として受け取ります。
-- To avoid infinite loops, calling a [`drop()`](../API/EntityClass.md#drop) on the current entity (through `This`) in this function is **not allowed**. It will raise an error.
-- Throwing an [error object](#error-object) is **not supported** by this function.
+- 無限ループに陥るのを避けるため、この関数内でカレントのエンティティ上で(`This` を通して) [`drop()`](../API/EntityClass.md#drop) を呼び出すのは**許可されていません**。 これはエラーを発生させます。
+- この関数では[エラーオブジェクト](#エラーオブジェクト) をスローすることは**サポートされていません**。
:::note
-The dropped entity is referenced by `This` and still exists in memory.
+ドロップされたエンティティは `This` を通して参照され、メモリー内に引き続き存在します。
:::
#### 例題
-If the drop action failed, then the product must be checked manually:
+ドロップアクションが失敗した場合、製品は手動でチェックされる必要があります:
```4d
Function event afterDrop($event : Object)
@@ -621,8 +621,8 @@ Function event afterDrop($event : Object)
var $status : Object
If (($event.status.success=False) && ($event.status.errors=Null))
- //$event.status.errors is filled
- //if the error comes from the validateDrop event
+ //$event.status.errors には、
+ //エラーが validateDrop イベントから来た場合には値が入れられます
This.status:="Check this product - Drop action failed"
$status:=This.save()
End if
diff --git a/i18n/ja/docusaurus-plugin-content-docs/version-21/ORDA/ordaClasses.md b/i18n/ja/docusaurus-plugin-content-docs/version-21/ORDA/ordaClasses.md
index a49e8ce5d07ead..621d59f027e73c 100644
--- a/i18n/ja/docusaurus-plugin-content-docs/version-21/ORDA/ordaClasses.md
+++ b/i18n/ja/docusaurus-plugin-content-docs/version-21/ORDA/ordaClasses.md
@@ -3,7 +3,7 @@ id: ordaClasses
title: データモデルクラス
---
-ORDA allows you to create high-level class functions above the [data model](https://doc.4d.com/4Dv20/4D/20.2/Creating-a-database-structure.200-6750097.en.html). これによってビジネス指向のコードを書き、APIのように "公開" することができます。 データストア、データクラス、エンティティ、およびエンティティセレクションはそれぞれ、関数を持つことのできるクラスオブジェクトとして提供されています。
+ORDAでは、[データモデル](https://doc.4d.com/4Dv20/4D/20.2/Creating-a-database-structure.200-6750097.ja.html)の上に高レベルクラス関数を作成することができます。 これによってビジネス指向のコードを書き、APIのように "公開" することができます。 データストア、データクラス、エンティティ、およびエンティティセレクションはそれぞれ、関数を持つことのできるクラスオブジェクトとして提供されています。
たとえば、選択中の社員より給与の高い社員一覧を返す `getNextWithHigherSalary()` 関数を `EmployeeEntity` クラスに作成したとします。 この関数は簡単に呼び出すことができます:
@@ -214,9 +214,9 @@ ORDA で公開されるテーブル毎に、Entity クラスが `cs` クラス
#### Class constructor
-You can define a **class constructor** for an Entity class. The class constructor is called whenever an entity is created in memory and can be used to initialize some values.
+エンティティクラスに対して **class constructor** を定義することができます。 クラスコンストラクターはエンティティがメモリ内に作成されるたびに呼び出され、これを使用して一部の値を初期化することができます。
-For information, please refer to the [Class constructor](#class-constructor-1) section.
+詳細な情報については[Class constructor](#class-constructor-1) を参照してください。
#### 計算属性
@@ -278,7 +278,7 @@ End if
- クラス定義の際、[`Class extends`](../Concepts/classes.md#class-extends-classname) ステートメントに使用する親クラスの名前は完全に合致するものでなくてはいけません (文字の大小が区別されます)。 たとえば、EntitySelection クラスを継承するには `Class extends EntitySelection` と書きます。
-- データモデルクラスオブジェクトのインスタンス化に `new()` キーワードは使えません (エラーが返されます)。 You must use a regular function as listed in the [`Instantiated by` column of the ORDA class table](#architecture).
+- データモデルクラスオブジェクトのインスタンス化に `new()` キーワードは使えません (エラーが返されます)。 上述の ORDA クラステーブルに一覧化されている、通常の [インスタンス化の方法](#アーキテクチャー) を使う必要があります。
- **`4D`** [クラスストア](Concepts/classes.md#クラスストア) のネイティブな ORDA クラス関数を、データモデルユーザークラス関数でオーバーライドすることはできません。
@@ -306,7 +306,7 @@ End if
```4d
// Entity class
Class constructor()
-// code
+// コード
```
:::note
@@ -315,48 +315,48 @@ Class constructor()
:::
-An ORDA class constructor function is triggered just after a new entity is created in memory, [whatever the way it is created](#commands-that-trigger-the-class-constructor-functions). It is useful to set initial values for entity instantiation, for example a custom ID.
+ORDA クラスコンストラクター関数は、[作成された方法に関わらず](#クラス関数をトリガーするコマンド)、新規エンティティがメモリ内に作成された直後にトリガーされます。 これは例えばカスタムのID など、エンティティインスタンス化時に初期値を設定するのに有用です。
-This function can only be set at the [entity level](#entity-class). There can only be one constructor function in an entity class (otherwise an error is returned).
+この関数は [エンティティレベル](#entity-クラス) でのみ設定可能です。 コンストラクター関数は、1つのエンティティクラスに 1つしか存在できません (そうでない場合はエラーが返されます)。
-This ORDA class constructor function does not receive or return parameters. However, you can use it to initialize attribute values using [`This`](../commands/this.md). Note that values initialized by the constructor are overriden if corresponding attributes are filled by the code.
+ORDA クラスコンストラクター関数は、引数を受け取ることも返すこともしません。 しかし、 [`This`](../commands/this.md).を使用して属性値を初期化することができます。 コンストラクターによって初期化された値は、対応する属性がコードによって値が入力される場合にはそれによって上書きされるということに注意してください。
:::note
-An ORDA class constructor function is similar to a [user class constructor function](../Concepts/classes.md#class-constructor), with the following differences:
+ORDA クラスコンストラクター関数は、[ユーザークラスコンストラクター関数](../Concepts/classes.md#class-constructor) と似ていますが、以下の点において違います:
-- you cannot pass parameters to the constructor,
-- you cannot use `shared`, `session`, or `singleton` keywords,
-- you cannot call the [`Super`](../Concepts/classes.md#super) keyword within the function,
-- the class constructor cannot be called using the `new()` function on an entity (entities can only be created by specific functions, see below).
+- コンストラクターには引数を渡すことはできません
+- `shared`、 `session` または `singleton` キーワードを使用することはできません
+- 関数内で [`Super`](../Concepts/classes.md#super) キーワードを呼び出すことはできません
+- クラスコンストラクターは、エンティティに `new()` 関数を使用することでは呼び出せません(エンティティは特定の関数でしか作成することはできません、以下参照)。
:::
-#### Commands that trigger the Class constructor functions
+#### クラスコンストラクター関数をトリガーするコマンド
-The `Class constructor` function is triggered by the following commands and features:
+`Class constructor` 関数は、以下のコマンドと機能によってトリガーされます:
- [`dataClass.new()`](../API/DataClassClass.md#new)
- [`dataClass.fromCollection()`](../API/DataClassClass#fromcollection)
-- [REST API $method=update](../REST/$method.md#methodupdate) in a POST without the `__KEY` and `__STAMP` parameters
-- the [Data Explorer](../Admin/dataExplorer.md#editing-data).
+- `__KEY` および `__STAMP` 引数のない POST での[REST API $method=update](../REST/$method.md#methodupdate)
+- [データエクスプローラー](../Admin/dataExplorer.md#editing-data)
:::note 注記
-- The [`entity.clone()`](../API/EntityClass.md#clone) function does not trigger the entity Class constructor.
-- Records created at the 4D database level using 4D classic language commands or standard actions do not trigger the entity Class constructor.
+- [`entity.clone()`](../API/EntityClass.md#clone) 関数はエンティティクラスコンストラクターをトリガーしません。
+- 4D クラシックランゲージ言語コマンドまたは標準アクションを使用して4D データベースレベルで作成されたレコードは、エンティティクラスコンストラクターをトリガーしません。
:::
-#### Remote configurations
+#### リモート構成
-When using a remote configurations, you need to pay attention to the following principles:
+リモート構成を使用している場合、以下の原則に対して注意する必要があります:
-- In **client/server** the function can be called on the client or on the server, depending on the location of the calling code. When it is called on the client, it is not triggered again when the client attempts to save the new entity and sends an update request to the server to create in memory on the server.
+- **クライアント/サーバー** では、コードを呼び出した場所によっては関数はクライアントまたはサーバーのどちらでも呼び出すことができます。 クライアント上で呼び出された場合、クライアントが新規エンティティを保存しようとして、サーバーのメモリ上に作成するために更新リクエストを送信したときにはもう一度トリガーされることはありません。
:::warning
-Since functions such as [`dataClass.fromCollection()`](../API/DataClassClass.md#fromcollection) can create a large number of entities and thus trigger the entity Class constructor consequently, you need to make sure the constructor code does not execute excessive time-consuming processings, for performance reasons. In remote configurations (see below), the code should not trigger multiple requests to the server.
+[`dataClass.fromCollection()`](../API/DataClassClass.md#fromcollection) のような関数は大量のエンティティを一度を作成し、結果としてエンティティクラスコンストラクターをトリガーしうるため、パフォーマンス上の理由から、コンストラクターコードに過度に時間を消費するような処理を実行しないように注意する必要があります。 リモート設定においては(以下参照)、コードはサーバーに対して複数のリクエストをトリガーしてはいけません。
:::
@@ -372,7 +372,7 @@ Class constructor()
```
-#### Example 2 (diagram): Client/server
+#### 例題 2 (図): クライアント/サーバー
```mermaid
@@ -382,7 +382,7 @@ Client->>+Client: Form.product:=ds.Products.new()
Note over Client: Class constructor
This.creationDate:=Current date()
This.comment:="Automatic comment"
-Note over Client: Form.product.creationDate is "06/17/25"
Form.product.comment is "Automatic comment"
+Note over Client: Form.product.creationDate は "25/06/17"
Form.product.comment は "Automatic comment"
Client->>+Server: Form.product.save()
@@ -391,47 +391,47 @@ Server-->>-Client: Success
```
-#### Example 3 (diagram): Qodly - Standard action
+#### 例題 3 (図): Qodly - 標準アクション
```mermaid
sequenceDiagram
- Qodly page->>+ Qodly page: Standard action Create a new entity (product Qodly source)
+ Qodly page->>+ Qodly page: 標準アクションで新規エンティティを作成 (product Qodlyソース)
- Qodly page->>+Server: Function call product.apply() OR Save standard action for the product Qodly source
+ Qodly page->>+Server: 関数がproduct Qodly ソースに対して product.apply() または Save 標準アクション を呼び出し
Note over Server: Class constructor
This.creationDate:=Current date()
This.comment:="Automatic comment"
- Server-->>-Qodly page: The product Qodly source creationDate and comment attributes are filled
+ Server-->>-Qodly page: product Qodlyソースの creationDate と comment 属性に値が入れられる
- Note over Qodly page: product.creationDate is "06/17/25"
and product.comment is "Automatic comment"
+ Note over Qodly page: product.creationDate は "06/17/25"
そして product.comment は "Automatic comment"
```
-#### Example 4 (diagram): Qodly - Standard action and update value on the newly created entity
+#### 例題 4 (図): Qodly - 標準アクションと新規作成エンティティの値を更新
```mermaid
sequenceDiagram
-Qodly page->>+ Qodly page: Standard action Create a new entity (product Qodly source)
+Qodly page->>+ Qodly page: 標準アクションで新規エンティティを作成(product Qodlyソース)
-Qodly page->>+ Qodly page: Update product comment with "Front end comment"
+Qodly page->>+ Qodly page: product の comment を "Front end comment" で更新
-Qodly page->>+Server: Function call product.apply() OR Save standard action for the product Qodly source
+Qodly page->>+Server: 関数が product Qodlyソースに対して product.apply() またはSave 標準アクションを呼び出し
Note over Server: Class constructor
This.creationDate:=Current date()
This.comment:="Automatic comment"
-Note over Server: The comment attribute is set with "Front end comment"
+Note over Server: comment 属性は "Front end comment" に設定
-Server-->>-Qodly page: The product Qodly source creationDate and comment attributes are filled
+Server-->>-Qodly page: product Qodlyソースの creationDate と comment 属性には値が入る
-Note over Qodly page: product.creationDate is "06/17/25"
and product.comment is "Front end comment"
+Note over Qodly page: product.creationDate は "25/06/17"
そして product.comment は "Front end comment"
```
-#### Example 5 (diagram): Qodly - Entity instanciated in a function
+#### 例題 5 (図): Qodly - 関数内でインスタンス化されたエンティティ
```mermaid
diff --git a/i18n/ja/docusaurus-plugin-content-docs/version-21/WebServer/sessions.md b/i18n/ja/docusaurus-plugin-content-docs/version-21/WebServer/sessions.md
index f690ad94acf3e2..8c11c9b7e09f45 100644
--- a/i18n/ja/docusaurus-plugin-content-docs/version-21/WebServer/sessions.md
+++ b/i18n/ja/docusaurus-plugin-content-docs/version-21/WebServer/sessions.md
@@ -25,7 +25,7 @@ Webセッションは次のものに使用されます:
- [Web applications](gettingStarted.md) sending http requests (including [SOAP Web services](../commands/theme/Web_Services_Server.md) and [/4DACTION](../WebServer/httpRequests.md#4daction) requests),
- [リモートデータストア](../ORDA/remoteDatastores.md) や [Qodlyフォーム](qodly-studio.md) が使用する [REST API](../REST/authUsers.md) への呼び出し
-## Webセッションの有効化
+## Enabling web sessions {#enabling-web-sessions}
セッション管理機能は、4D Webサーバー上で有効または無効にすることができます。 セッション管理を有効化する方法は複数あります:
diff --git a/i18n/pt/docusaurus-plugin-content-docs/current/Notes/updates.md b/i18n/pt/docusaurus-plugin-content-docs/current/Notes/updates.md
index f8acd086a9328e..2847b03cc42e14 100644
--- a/i18n/pt/docusaurus-plugin-content-docs/current/Notes/updates.md
+++ b/i18n/pt/docusaurus-plugin-content-docs/current/Notes/updates.md
@@ -10,6 +10,9 @@ Leia [**O que há de novo no 4D v21 R2**](https://blog.4d.com/en-whats-new-in-4d
#### Destaques
- [Code Live Checker](../code-editor/write-class-method.md#warnings-and-errors) has been enhanced to provide greater precision in error detection (see [this blog post](https://blog.4d.com/better-error-handling-and-type-inference-for-4d-developers) for more information).
+
+- 4D AIKit component: new [File API](../aikit/Classes/OpenAIFilesAPI.md) class to implement **file upload** features.
+
- [**Lista de erros corrigida**](https://bugs.4d.fr/fixedbugslist?version=21_R2): lista de todos os bugs corrigidos em 4D 21 R2.
#### Mudanças de comportamento
diff --git a/i18n/pt/docusaurus-plugin-content-docs/current/WebServer/sessions.md b/i18n/pt/docusaurus-plugin-content-docs/current/WebServer/sessions.md
index d9801682f90175..09fd59389d4d97 100644
--- a/i18n/pt/docusaurus-plugin-content-docs/current/WebServer/sessions.md
+++ b/i18n/pt/docusaurus-plugin-content-docs/current/WebServer/sessions.md
@@ -25,7 +25,7 @@ As sessões Web são usadas para:
- [Web applications](gettingStarted.md) sending http requests (including [SOAP Web services](../commands/theme/Web_Services_Server.md) and [/4DACTION](../WebServer/httpRequests.md#4daction) requests),
- calls to the [REST API](../REST/authUsers.md), which are used by [remote datastores](../ORDA/remoteDatastores.md) and [Qodly forms](qodly-studio.md).
-## Activando sessões web
+## Enabling web sessions {#enabling-web-sessions}
A funcionalidade de gerenciamento de sessão pode ser ativado e desativado no seu servidor web 4D. Existem diferentes formas de ativar a gestão de sessões:
diff --git a/i18n/pt/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAI.md b/i18n/pt/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAI.md
index e529e68691a3c4..d997ac1b8e9866 100644
--- a/i18n/pt/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAI.md
+++ b/i18n/pt/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAI.md
@@ -67,11 +67,13 @@ The API provides access to multiple resources that allow seamless interaction wi
| `images` | [OpenAIImagesAPI](OpenAIImagesAPI.md) | Acesso à API Images. |
| `moderations` | [OpenAIModerationsAPI](OpenAIModerationsAPI.md) | Access to the Moderations API. |
| `embeddings` | [OpenAIEmbeddingsAPI](OpenAIEmbeddingsAPI.md) | Access to the Embeddings API. |
+| `files` | [OpenAIFilesAPI](OpenAIFilesAPI.md) | Access to the Files API. |
### Exemplo de uso
```4d
$client.chat.completions.create(...)
$client.images.generate(...)
+$client.files.create(...)
$client.model.lists(...)
```
diff --git a/i18n/pt/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIFile.md b/i18n/pt/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIFile.md
new file mode 100644
index 00000000000000..c7e8f990d85809
--- /dev/null
+++ b/i18n/pt/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIFile.md
@@ -0,0 +1,29 @@
+---
+id: openaifile
+title: OpenAIFile
+---
+
+# OpenAIFile
+
+The `OpenAIFile` class represents a file object in the OpenAI API. Files can be uploaded and used across various endpoints including Assistants, Fine-tuning, Batch, and Vision APIs.
+
+## Propriedades
+
+| Nome da propriedade | Tipo | Descrição |
+| ------------------- | ------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| `id` | Text | The file identifier, which can be referenced in the API endpoints. |
+| `bytes` | Integer | The size of the file, in bytes. |
+| `created_at` | Integer | The Unix timestamp (in seconds) for when the file was created. |
+| `expires_at` | Integer | The Unix timestamp (in seconds) for when the file will expire. |
+| `filename` | Text | The name of the file. |
+| `objeto` | Text | The object type, which is always "file". |
+| `purpose` | Text | The intended purpose of the file. Supported values: `assistants`, `assistants_output`, `batch`, `batch_output`, `fine-tune`, `fine-tune-results`, `vision`, and `user_data`. |
+| `status` | Text | **Deprecated.** The current status of the file, which can be either `uploaded`, `processed`, or `error`. |
+| `status_details` | Text | **Deprecated.** For details on why a fine-tuning training file failed validation, see the error field on `fine_tuning.job`. |
+
+## Veja também
+
+- [OpenAIFileResult](OpenAIFileResult.md)
+- [OpenAIFileListResult](OpenAIFileListResult.md)
+- [OpenAIFilesAPI](OpenAIFilesAPI.md)
+- [OpenAIFileParameters](OpenAIFileParameters.md)
diff --git a/i18n/pt/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIFileDeletedResult.md b/i18n/pt/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIFileDeletedResult.md
new file mode 100644
index 00000000000000..d876440d86f848
--- /dev/null
+++ b/i18n/pt/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIFileDeletedResult.md
@@ -0,0 +1,38 @@
+---
+id: openaifiledeletedresult
+title: OpenAIFileDeletedResult
+---
+
+# OpenAIFileDeletedResult
+
+The `OpenAIFileDeletedResult` class contains the result of a file deletion operation.
+
+## Inherits
+
+[OpenAIResult](OpenAIResult.md)
+
+## Propriedades calculadas
+
+| Propriedade | Tipo | Descrição |
+| ----------- | ----------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------ |
+| `deleted` | [OpenAIFileDeleted](OpenAIFileDeleted.md) | Returns the file deletion result from the API response. Returns `Null` if the response doesn't contain a valid result. |
+
+## Exemplo de uso
+
+```4d
+// Delete a file
+var $fileId:="file-abc123"
+var $result:=$client.files.delete($fileId; Null)
+var $deletionStatus:=$result.deleted
+
+If ($deletionStatus.deleted)
+ ALERT("File "+$deletionStatus.id+" was successfully deleted")
+Else
+ ALERT("Failed to delete file")
+End if
+```
+
+## Veja também
+
+- [OpenAIFilesAPI](OpenAIFilesAPI.md)
+- [OpenAIFileDeleted](OpenAIFileDeleted.md)
diff --git a/i18n/pt/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIFileListParameters.md b/i18n/pt/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIFileListParameters.md
new file mode 100644
index 00000000000000..f4550a29601536
--- /dev/null
+++ b/i18n/pt/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIFileListParameters.md
@@ -0,0 +1,38 @@
+---
+id: openaifilelistparameters
+title: OpenAIFileListParameters
+---
+
+# OpenAIFileListParameters
+
+The `OpenAIFileListParameters` class contains parameters for listing files in the OpenAI API.
+
+## Inherits
+
+[OpenAIParameters](OpenAIParameters.md)
+
+## Propriedades
+
+| Nome da propriedade | Tipo | Required | Por padrão | Descrição |
+| ------------------- | ------- | -------- | ---------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| `after` | Text | Opcional | - | A cursor for use in pagination. `after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `after=obj_foo` in order to fetch the next page of the list. |
+| `limit` | Integer | Opcional | 10000 | A limit on the number of objects to be returned. Limit can range between 1 and 10,000, and the default is 10,000. |
+| `order` | Text | Opcional | desc | Sort order by the `created_at` timestamp of the objects. `asc` for ascending order and `desc` for descending order. |
+| `purpose` | Text | Opcional | - | Only return files with the given purpose. |
+
+## Exemplo de uso
+
+```4d
+// Get first 100 files with purpose "fine-tune"
+var $params:=cs.AIKit.OpenAIFileListParameters.new()
+$params.limit:=100
+$params.purpose:="fine-tune"
+$params.order:="desc"
+
+var $result:=$client.files.list($params)
+```
+
+## Veja também
+
+- [OpenAIFilesAPI](OpenAIFilesAPI.md)
+- [OpenAIFileListResult](OpenAIFileListResult.md)
diff --git a/i18n/pt/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIFileListResult.md b/i18n/pt/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIFileListResult.md
new file mode 100644
index 00000000000000..7a5f1f3208be76
--- /dev/null
+++ b/i18n/pt/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIFileListResult.md
@@ -0,0 +1,66 @@
+---
+id: openaifilelistresult
+title: OpenAIFileListResult
+---
+
+# OpenAIFileListResult
+
+The `OpenAIFileListResult` class contains the result of listing files from the OpenAI API.
+
+## Inherits
+
+[OpenAIResult](OpenAIResult.md)
+
+## Propriedades calculadas
+
+| Propriedade | Tipo | Descrição |
+| ----------- | ---------- | ------------------------------------------------------------------------------------------------------------------------------------------------ |
+| `files` | Collection | Returns a collection of [OpenAIFile](OpenAIFile.md) objects from the API response, or an empty collection if no files are found. |
+| `first_id` | Text | Returns the ID of the first file in the list, or an empty string if not available. |
+| `last_id` | Text | Returns the ID of the last file in the list, or an empty string if not available. |
+| `has_more` | Parâmetros | Indicates if there are more files beyond this page. `True` if there are more files to fetch, `False` otherwise. |
+
+## Exemplo de uso
+
+### Basic Usage
+
+```4d
+var $params:=cs.AIKit.OpenAIFileListParameters.new()
+$params.purpose:="assistants"
+$params.limit:=50
+
+var $result:=$client.files.list($params)
+var $files:=$result.files
+
+For each ($file; $files)
+ // Process each OpenAIFile object
+ // $file.filename -> "salesOverview.pdf"
+ // $file.bytes -> 175
+ // $file.purpose -> "assistants"
+End for each
+```
+
+### Pagination Example
+
+```4d
+var $params:=cs.AIKit.OpenAIFileListParameters.new()
+$params.limit:=100
+
+var $result:=$client.files.list($params)
+var $allFiles:=$allFiles.combine($result.files)
+
+// Continue fetching if there are more files
+While ($result.has_more)
+ $params.after:=$result.last_id
+ $result:=$client.files.list($params)
+ $allFiles:=$allFiles.combine($result.files)
+End while
+
+// $allFiles now contains all files from the organization
+```
+
+## Veja também
+
+- [OpenAIFilesAPI](OpenAIFilesAPI.md)
+- [OpenAIFile](OpenAIFile.md)
+- [OpenAIFileListParameters](OpenAIFileListParameters.md)
\ No newline at end of file
diff --git a/i18n/pt/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIFileParameters.md b/i18n/pt/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIFileParameters.md
new file mode 100644
index 00000000000000..512101ee706778
--- /dev/null
+++ b/i18n/pt/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIFileParameters.md
@@ -0,0 +1,43 @@
+---
+id: openaifileparameters
+title: OpenAIFileParameters
+---
+
+# OpenAIFileParameters
+
+The `OpenAIFileParameters` class handles parameters for file upload operations.
+
+## Inherits
+
+[OpenAIParameters](OpenAIParameters.md)
+
+## Propriedades
+
+| Nome da propriedade | Tipo | Required | Descrição |
+| ------------------- | ------ | -------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
+| `expires_after` | Object | Opcional | The expiration policy for a file. By default, files with `purpose=batch` expire after 30 days and all other files are persisted until they are manually deleted. |
+
+### `expires_after` Object Structure
+
+The `expires_after` object contains the following properties:
+
+| Nome da propriedade | Tipo | Descrição |
+| ------------------- | ------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| `anchor` | Text | Anchor timestamp after which the expiration policy applies. Supported anchors: `created_at`. |
+| `seconds` | Integer | The number of seconds after the anchor time that the file will expire. Must be between 3600 (1 hour) and 2592000 (30 days). |
+
+## Exemplo de uso
+
+```4d
+var $params:=cs.AIKit.OpenAIFileParameters.new()
+
+// Set expiration after 7 days
+$params.expires_after:={}
+$params.expires_after.anchor:="created_at"
+$params.expires_after.seconds:=604800 // 7 days
+```
+
+## Veja também
+
+- [OpenAIFilesAPI](OpenAIFilesAPI.md)
+- [OpenAIFileResult](OpenAIFileResult.md)
diff --git a/i18n/pt/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIFileResult.md b/i18n/pt/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIFileResult.md
new file mode 100644
index 00000000000000..949a94d16509a1
--- /dev/null
+++ b/i18n/pt/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIFileResult.md
@@ -0,0 +1,36 @@
+---
+id: openaifileresult
+title: OpenAIFileResult
+---
+
+# OpenAIFileResult
+
+The `OpenAIFileResult` class contains the result of a single file operation (upload or retrieve).
+
+## Inherits
+
+[OpenAIResult](OpenAIResult.md)
+
+## Propriedades calculadas
+
+| Propriedade | Tipo | Descrição |
+| ----------- | --------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------- |
+| `file` | [OpenAIFile](OpenAIFile.md) | Returns the file object from the API response. Returns `Null` if the response doesn't contain a valid file. |
+
+## Exemplo de uso
+
+```4d
+// Upload a file
+var $file:=File("/RESOURCES/training-data.jsonl")
+
+var $result:=$client.files.create($file; "user_data")
+var $uploadedFile:=$result.file
+
+// Retrieve file information
+var $retrieveResult:=$client.files.retrieve($uploadedFile.id)
+```
+
+## Veja também
+
+- [OpenAIFilesAPI](OpenAIFilesAPI.md)
+- [OpenAIFile](OpenAIFile.md)
diff --git a/i18n/pt/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIFilesAPI.md b/i18n/pt/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIFilesAPI.md
new file mode 100644
index 00000000000000..a7e66277c7aaa2
--- /dev/null
+++ b/i18n/pt/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIFilesAPI.md
@@ -0,0 +1,173 @@
+---
+id: openaifilesapi
+title: OpenAIFilesAPI
+---
+
+# OpenAIFilesAPI
+
+The `OpenAIFilesAPI` class provides functionalities to manage files using OpenAI's API. Files can be uploaded and used across various endpoints including [Fine-tuning](https://platform.openai.com/docs/api-reference/fine-tuning), [Batch](https://platform.openai.com/docs/api-reference/batch) processing, and Vision.
+
+> **Note:** This API is only compatible with OpenAI. Other providers listed in the [compatible providers](../compatible-openai.md) documentation do not support file management operations.
+
+API Reference:
+
+## File Size Limits
+
+- **Individual files:** up to 512 MB per file
+- **Organization total:** up to 1 TB (cumulative size of all files uploaded by your [organization](https://platform.openai.com/docs/guides/production-best-practices/setting-up-your-organization))
+
+## Funções
+
+### create()
+
+**create**(*file* : 4D.File | 4D.Blob; *purpose* : Text; *parameters* : cs.OpenAIFileParameters) : cs.OpenAIFileResult
+
+Upload a file that can be used across various endpoints.
+
+**Endpoint:** `POST https://api.openai.com/v1/files`
+
+| Parâmetro | Tipo | Descrição |
+| ------------ | ------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------ |
+| `file` | [4D.File](https://developer.4d.com/docs/API/FileClass) or [4D.Blob](https://developer.4d.com/docs/API/BlobClass) | The File or Blob object (not file name) to be uploaded. |
+| `purpose` | Text | **Required.** The intended purpose of the uploaded file. |
+| `parâmetros` | [OpenAIFileParameters](OpenAIFileParameters.md) | Optional parameters including expiration policy. |
+| Resultado | [OpenAIFileResult](OpenAIFileResult.md) | The file result |
+
+**Throws:** An error if `file` is not a 4D.File or 4D.Blob, or if `purpose` is empty.
+
+#### Supported Purposes
+
+- `assistants`: Used in the Assistants API (⚠️ [deprecated by OpenAI](https://platform.openai.com/docs/assistants/whats-new))
+- `batch`: Used in the [Batch API](https://platform.openai.com/docs/api-reference/batch) (expires after 30 days by default)
+- `fine-tune`: Used for [fine-tuning](https://platform.openai.com/docs/api-reference/fine-tuning)
+- `vision`: Images used for vision fine-tuning
+- `user_data`: Flexible file type for any purpose
+- `evals`: Used for eval data sets
+
+#### File Format Requirements
+
+- **Fine-tuning API:** Only supports `.jsonl` files with specific required formats
+- **Batch API:** Only supports `.jsonl` files up to 200 MB with specific required format
+- **Assistants API:** Supports specific file types (see Assistants Tools guide)
+- **Chat Completions API:** PDFs are only supported
+
+#### Exemplo
+
+```4d
+var $file:=File("/RESOURCES/training-data.jsonl")
+
+var $params:=cs.AIKit.OpenAIFileParameters.new()
+$params.expires_after:={}
+$params.expires_after.anchor:="created_at"
+$params.expires_after.seconds:=2592000 // 30 days
+
+var $result:=$client.files.create($file; "fine-tune"; $params)
+
+If ($result.success)
+ var $uploadedFile:=$result.file
+ // $uploadedFile.id -> "file-abc123"
+ // $uploadedFile.filename -> "training-data.jsonl"
+ // $uploadedFile.bytes -> 120000
+End if
+```
+
+### retrieve()
+
+**retrieve**(*fileId* : Text; *parameters* : cs.OpenAIParameters) : cs.OpenAIFileResult
+
+Returns information about a specific file.
+
+**Endpoint:** `GET https://api.openai.com/v1/files/{file_id}`
+
+| Parâmetro | Tipo | Descrição |
+| ------------ | --------------------------------------- | ----------------------------------------------------------------------------- |
+| `fileId` | Text | **Required.** The ID of the file to retrieve. |
+| `parâmetros` | [OpenAIParameters](OpenAIParameters.md) | Optional parameters for the request. |
+| Resultado | [OpenAIFileResult](OpenAIFileResult.md) | The file result |
+
+**Throws:** An error if `fileId` is empty.
+
+#### Exemplo
+
+```4d
+var $result:=$client.files.retrieve("file-abc123")
+
+If ($result.success)
+ var $file:=$result.file
+ // $file.filename -> "mydata.jsonl"
+ // $file.bytes -> 120000
+ // $file.purpose -> "fine-tune"
+End if
+```
+
+### lista()
+
+**list**(*parameters* : cs.OpenAIFileListParameters) : cs.OpenAIFileListResult
+
+Returns a list of files that belong to the user's organization.
+
+**Endpoint:** `GET https://api.openai.com/v1/files`
+
+| Parâmetro | Tipo | Descrição |
+| ------------ | ------------------------------------------------------- | ----------------------------------------------------------------- |
+| `parâmetros` | [OpenAIFileListParameters](OpenAIFileListParameters.md) | Optional parameters for filtering and pagination. |
+| Resultado | [OpenAIFileListResult](OpenAIFileListResult.md) | The file list result |
+
+#### Exemplo
+
+```4d
+var $params:=cs.AIKit.OpenAIFileListParameters.new()
+$params.purpose:="assistants"
+$params.limit:=50
+$params.order:="desc"
+
+var $result:=$client.files.list($params)
+
+If ($result.success)
+ var $files:=$result.files
+ // $files.length -> 2
+
+ For each ($file; $files)
+ // $file.filename -> "salesOverview.pdf", "puppy.jsonl", etc.
+ End for each
+End if
+```
+
+### delete()
+
+**delete**(*fileId* : Text; *parameters* : cs.OpenAIParameters) : cs.OpenAIFileDeletedResult
+
+Delete a file.
+
+**Endpoint:** `DELETE https://api.openai.com/v1/files/{file_id}`
+
+| Parâmetro | Tipo | Descrição |
+| ------------ | ----------------------------------------------------- | --------------------------------------------------------------------------- |
+| `fileId` | Text | **Required.** The ID of the file to delete. |
+| `parâmetros` | [OpenAIParameters](OpenAIParameters.md) | Optional parameters for the request. |
+| Resultado | [OpenAIFileDeletedResult](OpenAIFileDeletedResult.md) | The file deletion result |
+
+**Throws:** An error if `fileId` is empty.
+
+#### Exemplo
+
+```4d
+var $result:=$client.files.delete("file-abc123")
+
+If ($result.success)
+ var $status:=$result.deleted
+
+ If ($status.deleted)
+ ALERT("File deleted successfully")
+ End if
+End if
+```
+
+## Veja também
+
+- [OpenAIFile](OpenAIFile.md)
+- [OpenAIFileParameters](OpenAIFileParameters.md)
+- [OpenAIFileListParameters](OpenAIFileListParameters.md)
+- [OpenAIFileResult](OpenAIFileResult.md)
+- [OpenAIFileListResult](OpenAIFileListResult.md)
+- [OpenAIFileDeletedResult](OpenAIFileDeletedResult.md)
diff --git a/i18n/pt/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIMessage.md b/i18n/pt/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIMessage.md
index de0352a6fc05bb..2e3107300078bd 100644
--- a/i18n/pt/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIMessage.md
+++ b/i18n/pt/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIMessage.md
@@ -36,18 +36,52 @@ The `OpenAIMessage` class represents a structured message containing a role, con
Adds an image URL to the content of the message.
+### addFileId()
+
+**addFileId**(*fileId* : Text)
+
+| Parâmetro | Tipo | Descrição |
+| --------- | ---- | -------------------------------------------------- |
+| *fileId* | Text | The file ID to add to the message. |
+
+Adds a file reference to the content of the message. If the content is currently text, it will be converted to a collection format.
+
## Exemplo de uso
-### Create a simple message and attach an image
+### Basic Text Message
```4d
// Create an instance of OpenAIMessage
-var $message:=cs.AIKit.OpenAIMessage({role: "user"; content: "Hello!"})
+var $message:=cs.AIKit.OpenAIMessage.new({role: "user"; content: "Hello!"})
+```
+
+### Adding Images
+
+```4d
+var $message:=cs.AIKit.OpenAIMessage.new({role: "user"; content: "Please analyze this image:"})
// Add an image URL with details
$message.addImageURL("http://example.com/image.jpg"; "high")
```
+### Adding File
+
+```4d
+// Upload a file with user_data purpose
+var $file:=File("/RESOURCES/document.pdf")
+var $uploadResult:=$client.files.create($file; "user_data")
+
+If ($uploadResult.success)
+ var $uploadedFile:=$uploadResult.file
+
+ // Create message and attach the file using its ID
+ var $message:=cs.AIKit.OpenAIMessage.new({role: "user"; content: "Please analyze this document:"})
+ $message.addFileId($uploadedFile.id)
+
+ // $message.content -> [{type: "text"; text: "Please analyze this document:"}; {type: "file"; file_id: "file-abc123"}]
+End if
+```
+
### Respond to a tool call message
When an assistant needs to use external functions, it generates a message with `tool_calls` to request function execution.
diff --git a/i18n/pt/docusaurus-plugin-content-docs/current/aikit/overview.md b/i18n/pt/docusaurus-plugin-content-docs/current/aikit/overview.md
index aed3c9f5dd59b6..98b2748bf94ee8 100644
--- a/i18n/pt/docusaurus-plugin-content-docs/current/aikit/overview.md
+++ b/i18n/pt/docusaurus-plugin-content-docs/current/aikit/overview.md
@@ -103,6 +103,42 @@ Get one model information by id
var $model:=$client.models.retrieve("a model id").model
```
+#### Files
+
+https://platform.openai.com/docs/api-reference/files
+
+Upload a file for use with other endpoints
+
+```4d
+var $file:=File("/path/to/your/file.jsonl")
+var $result:=$client.files.create($file; "fine-tune")
+var $fileId:=$result.file.id
+```
+
+List all files
+
+```4d
+var $files:=$client.files.list().files
+```
+
+Retrieve file information
+
+```4d
+var $fileInfo:=$client.files.retrieve($fileId).file
+```
+
+Delete a file
+
+```4d
+var $deleteResult:=$client.files.delete($fileId)
+```
+
+:::tip Related blog post
+
+[Transform Static Documents into Actionable Knowledge with 4D AIKit](https://blog.4d.com/transform-static-documents-into-actionable-knowledge-with-4d-aikit).
+
+:::
+
#### Moderations
https://platform.openai.com/docs/api-reference/moderations
diff --git a/i18n/pt/docusaurus-plugin-content-docs/version-20-R10/WebServer/sessions.md b/i18n/pt/docusaurus-plugin-content-docs/version-20-R10/WebServer/sessions.md
index 15f85db4d7ad84..26051dac8ef98f 100644
--- a/i18n/pt/docusaurus-plugin-content-docs/version-20-R10/WebServer/sessions.md
+++ b/i18n/pt/docusaurus-plugin-content-docs/version-20-R10/WebServer/sessions.md
@@ -25,7 +25,7 @@ As sessões Web são usadas para:
- [Aplicaciones web](gettingStarted.md) que envían peticiones http,
- calls to the [REST API](../REST/authUsers.md), which are used by [remote datastores](../ORDA/remoteDatastores.md) and [Qodly forms](qodly-studio.md).
-## Activando sessões web
+## Enabling web sessions {#enabling-web-sessions}
A funcionalidade de gerenciamento de sessão pode ser ativado e desativado no seu servidor web 4D. Existem diferentes formas de ativar a gestão de sessões:
diff --git a/i18n/pt/docusaurus-plugin-content-docs/version-21/Notes/updates.md b/i18n/pt/docusaurus-plugin-content-docs/version-21/Notes/updates.md
index 7e4e7c23aa2954..d12f4b9b0b6889 100644
--- a/i18n/pt/docusaurus-plugin-content-docs/version-21/Notes/updates.md
+++ b/i18n/pt/docusaurus-plugin-content-docs/version-21/Notes/updates.md
@@ -41,7 +41,7 @@ Leia [**O que há de novo no 4D 21**](https://blog.4d.com/en-whats-new-in-4d-21/
:::
-- Web services (SOAP): when [scalable sessions](../WebServer/sessions.md#enabling-web-sessions) are enabled, web services now run in [**preemptive processes**](../Develop/preemptive.md) in compiled mode. Make sure your SOAP code is thread-safe.
+- Web services (SOAP): when [scalable sessions](../WebServer/sessions.md#enabling-web-sessions) are enabled, web services now run in [**preemptive processes**](../Develop/preemptive.md) in compiled mode. Make sure that your SOAP code is thread-safe and that the session in which it runs has appropriate [privileges](../API/SessionClass.md#setprivileges).
- Web server: the support of deprecated `4DSYNC/` and `4DCGI/` URLs is removed. No specific processing is done on these URLs anymore.
- Web user sessions are now returned by [`Process activity`](../commands/process-activity.md).
- The [`HIGHLIGHT TEXT`](../commands/highlight-text) command is now supported in the context of subforms.
diff --git a/i18n/pt/docusaurus-plugin-content-docs/version-21/WebServer/sessions.md b/i18n/pt/docusaurus-plugin-content-docs/version-21/WebServer/sessions.md
index d9801682f90175..09fd59389d4d97 100644
--- a/i18n/pt/docusaurus-plugin-content-docs/version-21/WebServer/sessions.md
+++ b/i18n/pt/docusaurus-plugin-content-docs/version-21/WebServer/sessions.md
@@ -25,7 +25,7 @@ As sessões Web são usadas para:
- [Web applications](gettingStarted.md) sending http requests (including [SOAP Web services](../commands/theme/Web_Services_Server.md) and [/4DACTION](../WebServer/httpRequests.md#4daction) requests),
- calls to the [REST API](../REST/authUsers.md), which are used by [remote datastores](../ORDA/remoteDatastores.md) and [Qodly forms](qodly-studio.md).
-## Activando sessões web
+## Enabling web sessions {#enabling-web-sessions}
A funcionalidade de gerenciamento de sessão pode ser ativado e desativado no seu servidor web 4D. Existem diferentes formas de ativar a gestão de sessões:
From 2318b2634ea24140d5d93a23b62bf07796e69eda Mon Sep 17 00:00:00 2001
From: arnaud-4d
Date: Fri, 21 Nov 2025 10:04:39 +0100
Subject: [PATCH 41/75] fixes in concat
---
docs/API/CollectionClass.md | 4 ++--
versioned_docs/version-19/API/CollectionClass.md | 4 ++--
versioned_docs/version-20-R10/API/CollectionClass.md | 4 ++--
versioned_docs/version-20/API/CollectionClass.md | 4 ++--
versioned_docs/version-21/API/CollectionClass.md | 4 ++--
5 files changed, 10 insertions(+), 10 deletions(-)
diff --git a/docs/API/CollectionClass.md b/docs/API/CollectionClass.md
index 8aa55ef860d79c..7528a3edf45a8f 100644
--- a/docs/API/CollectionClass.md
+++ b/docs/API/CollectionClass.md
@@ -295,13 +295,13 @@ $c.combine($fruits;3) //[1,2,3,"Orange","Banana","Apple","Grape",4,5,6]
-**.concat**( *value* : any { *;...valueN* } ) : Collection
+**.concat**( *value* : any { ; *...valueN* } ) : Collection
|Parameter|Type||Description|
|---------|--- |:---:|------|
-|value|Number, Text, Object, Collection, Date, Time, Boolean, Picture|->|Value(s) to concatenate. If *value* is a collection, all collection elements are added to the original collection|
+|value|any|->|Value(s) to concatenate. If *value* is a collection, all collection elements are added to the original collection|
|Result|Collection|<-|New collection with value(s) added to the original collection|
diff --git a/versioned_docs/version-19/API/CollectionClass.md b/versioned_docs/version-19/API/CollectionClass.md
index 4845ee12626f86..b9e1f36bcaf685 100644
--- a/versioned_docs/version-19/API/CollectionClass.md
+++ b/versioned_docs/version-19/API/CollectionClass.md
@@ -345,13 +345,13 @@ $c.combine($fruits;3) //[1,2,3,"Orange","Banana","Apple","Grape",4,5,6]
-**.concat**( *value* : any { *;...valueN* } ) : Collection
+**.concat**( *value* : any { ; *...valueN* } ) : Collection
|Parameter|Type||Description|
|---------|--- |:---:|------|
-|value|Number, Text, Object, Collection, Date, Time, Boolean, Picture|->|Value(s) to concatenate. If *value* is a collection, all collection elements are added to the original collection|
+|value|any|->|Value(s) to concatenate. If *value* is a collection, all collection elements are added to the original collection|
|Result|Collection|<-|New collection with value(s) added to the original collection|
#### Description
diff --git a/versioned_docs/version-20-R10/API/CollectionClass.md b/versioned_docs/version-20-R10/API/CollectionClass.md
index 8aa55ef860d79c..7528a3edf45a8f 100644
--- a/versioned_docs/version-20-R10/API/CollectionClass.md
+++ b/versioned_docs/version-20-R10/API/CollectionClass.md
@@ -295,13 +295,13 @@ $c.combine($fruits;3) //[1,2,3,"Orange","Banana","Apple","Grape",4,5,6]
-**.concat**( *value* : any { *;...valueN* } ) : Collection
+**.concat**( *value* : any { ; *...valueN* } ) : Collection
|Parameter|Type||Description|
|---------|--- |:---:|------|
-|value|Number, Text, Object, Collection, Date, Time, Boolean, Picture|->|Value(s) to concatenate. If *value* is a collection, all collection elements are added to the original collection|
+|value|any|->|Value(s) to concatenate. If *value* is a collection, all collection elements are added to the original collection|
|Result|Collection|<-|New collection with value(s) added to the original collection|
diff --git a/versioned_docs/version-20/API/CollectionClass.md b/versioned_docs/version-20/API/CollectionClass.md
index 493764a7e58dc1..1416bd8bc4a122 100644
--- a/versioned_docs/version-20/API/CollectionClass.md
+++ b/versioned_docs/version-20/API/CollectionClass.md
@@ -441,13 +441,13 @@ $c.combine($fruits;3) //[1,2,3,"Orange","Banana","Apple","Grape",4,5,6]
-**.concat**( *value* : any { *;...valueN* } ) : Collection
+**.concat**( *value* : any { ; *...valueN* } ) : Collection
|Parameter|Type||Description|
|---------|--- |:---:|------|
-|value|Number, Text, Object, Collection, Date, Time, Boolean, Picture|->|Value(s) to concatenate. If *value* is a collection, all collection elements are added to the original collection|
+|value|any|->|Value(s) to concatenate. If *value* is a collection, all collection elements are added to the original collection|
|Result|Collection|<-|New collection with value(s) added to the original collection|
diff --git a/versioned_docs/version-21/API/CollectionClass.md b/versioned_docs/version-21/API/CollectionClass.md
index 8aa55ef860d79c..7528a3edf45a8f 100644
--- a/versioned_docs/version-21/API/CollectionClass.md
+++ b/versioned_docs/version-21/API/CollectionClass.md
@@ -295,13 +295,13 @@ $c.combine($fruits;3) //[1,2,3,"Orange","Banana","Apple","Grape",4,5,6]
-**.concat**( *value* : any { *;...valueN* } ) : Collection
+**.concat**( *value* : any { ; *...valueN* } ) : Collection
|Parameter|Type||Description|
|---------|--- |:---:|------|
-|value|Number, Text, Object, Collection, Date, Time, Boolean, Picture|->|Value(s) to concatenate. If *value* is a collection, all collection elements are added to the original collection|
+|value|any|->|Value(s) to concatenate. If *value* is a collection, all collection elements are added to the original collection|
|Result|Collection|<-|New collection with value(s) added to the original collection|
From 6ade41a54c809456c0b5e61264603ac1ad41afe2 Mon Sep 17 00:00:00 2001
From: arnaud-4d
Date: Mon, 24 Nov 2025 11:25:54 +0100
Subject: [PATCH 42/75] added example
---
docs/aikit/Classes/OpenAIFilesAPI.md | 34 +++++++++++++++++++++++++++-
1 file changed, 33 insertions(+), 1 deletion(-)
diff --git a/docs/aikit/Classes/OpenAIFilesAPI.md b/docs/aikit/Classes/OpenAIFilesAPI.md
index d2eda174589670..577a75ca2ff57d 100644
--- a/docs/aikit/Classes/OpenAIFilesAPI.md
+++ b/docs/aikit/Classes/OpenAIFilesAPI.md
@@ -54,7 +54,7 @@ Upload a file that can be used across various endpoints.
- **Assistants API:** Supports specific file types (see Assistants Tools guide)
- **Chat Completions API:** PDFs are only supported
-#### Example
+#### Sychronous example
```4d
var $file:=File("/RESOURCES/training-data.jsonl")
@@ -74,6 +74,38 @@ If ($result.success)
End if
```
+#### Asynchronous Example
+
+Since file uploads can be long operations (especially for large files up to 512 MB), it's recommended to use asynchronous calls to avoid blocking your application. See [Asynchronous Call](../asynchronous-call.md) for more details.
+
+```4d
+var $file:=File("/RESOURCES/large-training-data.jsonl")
+
+var $params:=cs.AIKit.OpenAIFileParameters.new()
+$params.onTerminate:=Formula(MyFileUploadCallback($1))
+
+// This call returns immediately without blocking
+$client.files.create($file; "fine-tune"; $params)
+```
+
+The callback function receives an [OpenAIFileResult](OpenAIFileResult.md):
+
+```4d
+// MyFileUploadCallback
+#DECLARE($result: cs.AIKit.OpenAIFileResult)
+
+If ($result.success)
+ var $uploadedFile:=$result.file
+
+ ALERT("File uploaded successfully: "+$uploadedFile.filename)
+ // Store the file ID for later use
+ Form.uploadedFileId:=$uploadedFile.id
+Else
+ ALERT("Upload failed: "+Formula(JSON Stringify($result.errors)))
+End if
+```
+
+
### retrieve()
**retrieve**(*fileId* : Text; *parameters* : cs.OpenAIParameters) : cs.OpenAIFileResult
From d921e5dc4a5533c8bae2dd6b58ee8eac2e1cc8ef Mon Sep 17 00:00:00 2001
From: arnaud-4d
Date: Mon, 24 Nov 2025 11:26:26 +0100
Subject: [PATCH 43/75] New Crowdin updates (#3005)
* New translations collectionclass.md (French)
* New translations collectionclass.md (French)
* New translations collectionclass.md (French)
* New translations collectionclass.md (French)
* New translations collectionclass.md (French)
* New translations collectionclass.md (Spanish)
* New translations collectionclass.md (Spanish)
* New translations collectionclass.md (Spanish)
* New translations overview.md (Spanish)
* New translations ordaclasses.md (Spanish)
* New translations privileges.md (Spanish)
* New translations architecture.md (Spanish)
* New translations vp-import-document.md (Spanish)
* New translations sessions.md (Spanish)
* New translations webarea_overview.md (Spanish)
* New translations managing-formulas.md (Spanish)
* New translations wp-export-document.md (Spanish)
* New translations openaimessage.md (Spanish)
* New translations command-name.md (Spanish)
* New translations listbox-set-property.md (Spanish)
* New translations collectionclass.md (Spanish)
* New translations webarea_overview.md (Spanish)
* New translations ordaclasses.md (Spanish)
* New translations vp-copy-to-object.md (Spanish)
* New translations sessions.md (Spanish)
* New translations wp-export-variable.md (Spanish)
* New translations managing-formulas.md (Spanish)
* New translations openaimessage.md (Spanish)
* New translations command-name.md (Spanish)
* New translations listbox-set-property.md (Spanish)
* New translations http-rules.md (Spanish)
* New translations collectionclass.md (Spanish)
* New translations command-name.md (Spanish)
* New translations listbox-set-property.md (Spanish)
* New translations architecture.md (Spanish)
* New translations webarea_overview.md (Spanish)
* New translations ordaclasses.md (Spanish)
* New translations privileges.md (Spanish)
* New translations vp-copy-to-object.md (Spanish)
* New translations vp-import-document.md (Spanish)
* New translations http-rules.md (Spanish)
* New translations sessions.md (Spanish)
* New translations wp-export-document.md (Spanish)
* New translations wp-export-variable.md (Spanish)
* New translations managing-formulas.md (Spanish)
* New translations openaimessage.md (Spanish)
* New translations collectionclass.md (Japanese)
* New translations collectionclass.md (Japanese)
* New translations collectionclass.md (Japanese)
* New translations ordaclasses.md (Japanese)
* New translations privileges.md (Japanese)
* New translations collectionclass.md (Japanese)
* New translations ordaclasses.md (Japanese)
* New translations privileges.md (Japanese)
* New translations collectionclass.md (Japanese)
* New translations ordaclasses.md (Japanese)
* New translations privileges.md (Japanese)
* New translations collectionclass.md (Portuguese, Brazilian)
* New translations collectionclass.md (Portuguese, Brazilian)
* New translations collectionclass.md (Portuguese, Brazilian)
* New translations collectionclass.md (Portuguese, Brazilian)
* New translations collectionclass.md (Portuguese, Brazilian)
* New translations openaifilelistresult.md (Spanish)
* New translations openaifileparameters.md (Spanish)
* New translations openaifilesapi.md (Spanish)
---
.../current/API/CollectionClass.md | 22 ++++++++---------
.../current/Extensions/overview.md | 2 +-
.../current/FormObjects/webArea_overview.md | 2 +-
.../current/ORDA/ordaClasses.md | 6 ++---
.../current/ORDA/privileges.md | 6 ++---
.../current/Project/architecture.md | 2 +-
.../ViewPro/commands/vp-import-document.md | 2 +-
.../current/WebServer/http-rules.md | 16 ++++++-------
.../current/WebServer/sessions.md | 2 +-
.../WritePro/commands/wp-export-document.md | 2 +-
.../current/WritePro/managing-formulas.md | 4 ++--
.../aikit/Classes/OpenAIFileListResult.md | 4 ++--
.../aikit/Classes/OpenAIFileParameters.md | 2 +-
.../current/aikit/Classes/OpenAIFilesAPI.md | 2 +-
.../current/aikit/Classes/OpenAIMessage.md | 4 ++--
.../current/commands/command-name.md | 4 ++--
.../current/commands/listbox-set-property.md | 2 +-
.../version-19/API/CollectionClass.md | 10 ++++----
.../version-20-R10/API/CollectionClass.md | 24 +++++++++----------
.../FormObjects/webArea_overview.md | 2 +-
.../version-20-R10/ORDA/ordaClasses.md | 6 ++---
.../ViewPro/commands/vp-copy-to-object.md | 8 +++----
.../version-20-R10/WebServer/sessions.md | 2 +-
.../WritePro/commands/wp-export-variable.md | 2 +-
.../WritePro/managing-formulas.md | 2 +-
.../aikit/Classes/OpenAIMessage.md | 2 +-
.../version-20-R10/commands/command-name.md | 2 +-
.../commands/listbox-set-property.md | 2 +-
.../version-20/API/CollectionClass.md | 10 ++++----
.../version-21/API/CollectionClass.md | 24 +++++++++----------
.../FormObjects/webArea_overview.md | 2 +-
.../version-21/ORDA/ordaClasses.md | 6 ++---
.../version-21/ORDA/privileges.md | 6 ++---
.../version-21/Project/architecture.md | 2 +-
.../ViewPro/commands/vp-copy-to-object.md | 8 +++----
.../ViewPro/commands/vp-import-document.md | 2 +-
.../version-21/WebServer/http-rules.md | 16 ++++++-------
.../version-21/WebServer/sessions.md | 2 +-
.../WritePro/commands/wp-export-document.md | 2 +-
.../WritePro/commands/wp-export-variable.md | 2 +-
.../version-21/WritePro/managing-formulas.md | 4 ++--
.../version-21/aikit/Classes/OpenAIMessage.md | 2 +-
.../version-21/commands/command-name.md | 4 ++--
.../commands/listbox-set-property.md | 2 +-
.../current/API/CollectionClass.md | 22 ++++++++---------
.../version-19/API/CollectionClass.md | 10 ++++----
.../version-20-R10/API/CollectionClass.md | 24 +++++++++----------
.../version-20/API/CollectionClass.md | 10 ++++----
.../version-21/API/CollectionClass.md | 24 +++++++++----------
.../current/API/CollectionClass.md | 22 ++++++++---------
.../current/ORDA/ordaClasses.md | 22 ++++++++---------
.../current/ORDA/privileges.md | 18 +++++++-------
.../version-19/API/CollectionClass.md | 10 ++++----
.../version-20-R10/API/CollectionClass.md | 24 +++++++++----------
.../version-20-R10/ORDA/ordaClasses.md | 22 ++++++++---------
.../version-20-R10/ORDA/privileges.md | 6 ++---
.../version-20/API/CollectionClass.md | 10 ++++----
.../version-21/API/CollectionClass.md | 24 +++++++++----------
.../version-21/ORDA/ordaClasses.md | 22 ++++++++---------
.../version-21/ORDA/privileges.md | 18 +++++++-------
.../current/API/CollectionClass.md | 22 ++++++++---------
.../version-19/API/CollectionClass.md | 10 ++++----
.../version-20-R10/API/CollectionClass.md | 24 +++++++++----------
.../version-20/API/CollectionClass.md | 10 ++++----
.../version-21/API/CollectionClass.md | 24 +++++++++----------
65 files changed, 297 insertions(+), 321 deletions(-)
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/API/CollectionClass.md b/i18n/es/docusaurus-plugin-content-docs/current/API/CollectionClass.md
index 07743af4897bf7..74b650aae99b35 100644
--- a/i18n/es/docusaurus-plugin-content-docs/current/API/CollectionClass.md
+++ b/i18n/es/docusaurus-plugin-content-docs/current/API/CollectionClass.md
@@ -264,14 +264,14 @@ $c.combine($fruits;3) //[1,2,3,"Orange","Banana","Apple","Grape",4,5,6]
-**.concat**( *value* : any { *;...valueN* } ) : Collection
+**.concat**( *value* : any { ; *...valueN* } ) : Collection
-| Parámetros | Tipo | | Descripción |
-| ---------- | -------------------------------------------------------------- | :-------------------------: | --------------------------------------------------------------------------------------------------------------------------------------------------- |
-| value | Number, Text, Object, Collection, Date, Time, Boolean, Picture | -> | Valores a concatenar. Si *value* es una colección, todos sus elementos se añaden al final de la colección original. |
-| Resultado | Collection | <- | Colección original con valores rellenados |
+| Parámetros | Tipo | | Descripción |
+| ---------- | ---------- | :-------------------------: | --------------------------------------------------------------------------------------------------------------------------------------------------- |
+| value | any | -> | Valores a concatenar. Si *value* es una colección, todos sus elementos se añaden al final de la colección original. |
+| Resultado | Collection | <- | Colección original con valores rellenados |
@@ -3171,14 +3171,12 @@ La función `.sort()` ordena los elemento
Si se llama a `.sort()` sin parámetros, sólo se ordenan los valores escalares (número, texto, fecha, booleanos). Los elementos se ordenan por defecto de forma ascendente, según su tipo.
También puede pasar una de las siguientes constantes en el parámetro *ascOrDesc*:
-```
-|Constant| Type|Value|Comment|
-|---|---|---|---|
-|ck ascending|Integer|0|Elements are ordered in ascending order (default)|
-|ck descending|Integer|1|Elements are ordered in descending order|
+| Constante | Tipo | Valor | Comentario |
+| ------------- | ------- | ----- | ----------------------------------------------------------------------------- |
+| ck ascending | Integer | 0 | Los elementos se ordenan de forma ascendente (por defecto) |
+| ck descending | Integer | 1 | Los elementos se ordenan de forma descendente |
-This syntax orders scalar values in the collection only (other element types such as objects or collections are returned unordered).
-```
+Esta sintaxis sólo ordena los valores escalares de la colección (otros tipos de elementos, como objetos o colecciones, se devuelven desordenados).
Si la colección contiene elementos de diferentes tipos, se agrupan primero por tipo y se ordenan después. Si attributePath lleva a una propiedad de objeto que contiene valores de diferentes tipos, primero se agrupan por tipo y se ordenan después.
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/Extensions/overview.md b/i18n/es/docusaurus-plugin-content-docs/current/Extensions/overview.md
index 615fc7ae5c281d..3d0446a3a08f23 100644
--- a/i18n/es/docusaurus-plugin-content-docs/current/Extensions/overview.md
+++ b/i18n/es/docusaurus-plugin-content-docs/current/Extensions/overview.md
@@ -16,7 +16,7 @@ La [arquitectura del proyecto] 4D (../Project/architecture.md) es abierta y pued
## Componentes desarrollados por 4D
-4D proposes various components to the 4D community, covering many development needs. Todos los componentes 4D se pueden encontrar en el [**repositorio github de 4D**](https://github.com/4d).
+4D propone diferentes componentes a la comunidad 4D, cubriendo muchas necesidades de desarrollo. Todos los componentes 4D se pueden encontrar en el [**repositorio github de 4D**](https://github.com/4d).
A subset of these components is listed by default in the [Dependency Manager](../Project/components.md), including:
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/FormObjects/webArea_overview.md b/i18n/es/docusaurus-plugin-content-docs/current/FormObjects/webArea_overview.md
index c272db7f19ea66..ee0b5d7a0faa89 100644
--- a/i18n/es/docusaurus-plugin-content-docs/current/FormObjects/webArea_overview.md
+++ b/i18n/es/docusaurus-plugin-content-docs/current/FormObjects/webArea_overview.md
@@ -121,7 +121,7 @@ $4d.today(function(result)
#### Ejemplo 2
-Instead of using a standalone method, we can also use a class function to handle the calculation.
+En lugar de utilizar un método independiente, también podemos utilizar una función de clase para realizar el cálculo.
Define a "SumCalculator" 4D user class with a `calcSum` function which receives parameters and returns their sum:
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/ORDA/ordaClasses.md b/i18n/es/docusaurus-plugin-content-docs/current/ORDA/ordaClasses.md
index 96c61be07c7447..a1277e87a87543 100644
--- a/i18n/es/docusaurus-plugin-content-docs/current/ORDA/ordaClasses.md
+++ b/i18n/es/docusaurus-plugin-content-docs/current/ORDA/ordaClasses.md
@@ -933,7 +933,7 @@ For security reasons, all of your data model class functions, including [compute
Las peticiones remotas son:
- Las peticiones enviadas por las aplicaciones 4D remotas conectadas a través de `Open datastore`
-- REST requests, including requests from [Qodly pages](https://developer.4d.com/qodly/)
+- Peticiones REST, incluidas las solicitudes de [páginas Qodly](https://developer.4d.com/qodly/)
> Las peticiones cliente/servidor 4D estándar no se ven afectadas. Las funciones de clase del modelo de datos están siempre disponibles en esta arquitectura.
@@ -947,12 +947,12 @@ exposed Function
```
```4d
-// declare an exposed alias
+// declarar un alias expuesto
exposed Alias
```
```4d
-// declare an exposed computed attribute
+// declare un atributo calculado expuesto
exposed Function get
```
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/ORDA/privileges.md b/i18n/es/docusaurus-plugin-content-docs/current/ORDA/privileges.md
index d1a1d185b52ba1..610b4e0d8db290 100644
--- a/i18n/es/docusaurus-plugin-content-docs/current/ORDA/privileges.md
+++ b/i18n/es/docusaurus-plugin-content-docs/current/ORDA/privileges.md
@@ -37,7 +37,7 @@ Cada vez que se accede a un recurso dentro de una sesión (sin importar la forma
## Permisos
-A permission is the ability to do an action on a resource. For example, *execute the ds.myTable.myFunction()* represents a **permission**. Permissions are defined for the project in the [`roles.json`](#rolesjson-file) file. Cada permiso se puede dar a uno o más [privilegios](#privileges-and-roles).
+A permission is the ability to do an action on a resource. For example, *execute the ds.myTable.myFunction()* represents a **permission**. Los permisos se definen para el proyecto en el archivo [`roles.json`](#rolesjson-file). Cada permiso se puede dar a uno o más [privilegios](#privileges-and-roles).
When **no specific permission** has been defined for a resource, access to the resource may be automatically **unrestricted** or **restricted** depending on the [default mode defined for the project](#restriction-modes).
@@ -185,7 +185,7 @@ El archivo `roles.json` describe todos los parámetros de seguridad web del proy
| | | \[].execute | Colección de cadenas | | Lista de privilegios |
| | | \[].promote | Colección de cadenas | | Lista de privilegios |
| restrictedByDefault | | | Boolean | | Si es true, se niega el acceso a recursos sin permisos explícitos |
-| forceLogin | | | Boolean | | If true, enables ["forceLogin" mode](../REST/authUsers.md#force-login-mode) |
+| forceLogin | | | Boolean | | Si es true, activa el modo ["forceLogin"](../REST/authUsers.md#force-login-mode) |
:::caution Recordatorio
@@ -196,7 +196,7 @@ El archivo `roles.json` describe todos los parámetros de seguridad web del proy
### Default File Location and Content
-When a new project is created, a default `roles.json` file is generated at:
+Cuando se crea un nuevo proyecto, se genera un archivo `roles.json` por defecto en:
```
/Project/Sources/
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/Project/architecture.md b/i18n/es/docusaurus-plugin-content-docs/current/Project/architecture.md
index ecac98bd608bb7..755af59c77aedf 100644
--- a/i18n/es/docusaurus-plugin-content-docs/current/Project/architecture.md
+++ b/i18n/es/docusaurus-plugin-content-docs/current/Project/architecture.md
@@ -64,7 +64,7 @@ Este archivo de texto también puede contener llaves de configuración, en parti
| filters.json | Filtros definidos | JSON |
| dependencies.json | Nombres de [componentes a cargar](components.md) en el proyecto | JSON |
| HTTPHandlers.json | Personalizado [HTTP request handlers](../WebServer/http-request-handler.md) definido para el servidor web | JSON |
-| HTTPRules.json | Custom [HTTP rules](../WebServer/http-rules.md) defined for the web server | JSON |
+| HTTPRules.json | [Reglas HTTP](../WebServer/http-rules.md) personalizadas definidas para el servidor web | JSON |
| styleSheets.css | Hojas de estilo CSS | CSS |
| styleSheets_mac.css | Hojas de estilo css de Mac (a partir de una base binaria convertida) | CSS |
| styleSheets_windows.css | Hojas de estilo css en Windows (a partir de una base binaria convertida) | CSS |
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/ViewPro/commands/vp-import-document.md b/i18n/es/docusaurus-plugin-content-docs/current/ViewPro/commands/vp-import-document.md
index 2634788b5efb66..9a3dadc588bc8c 100644
--- a/i18n/es/docusaurus-plugin-content-docs/current/ViewPro/commands/vp-import-document.md
+++ b/i18n/es/docusaurus-plugin-content-docs/current/ViewPro/commands/vp-import-document.md
@@ -66,7 +66,7 @@ El parámetro opcional *paramObj* permite definir las propiedades del documento
| | frozenRowsAsColumnHeaders | boolean | Bien sea tratar las líneas congeladas como encabezados de columna al importar, por defecto false. |
| | fullRecalc | boolean | Si calcular después de cargar los datos json, false por defecto. |
| | dynamicReferences | boolean | Si calcular funciones con referencia dinámica, por defecto true. |
-| | calcOnDemand | boolean | Whether to calculate formulas only when they are demanded, default false. |
+| | calcOnDemand | boolean | Si se calculan las fórmulas solo cuando se solicitan, por defecto false. |
| | includeUnusedStyles | boolean | Si incluir el estilo de nombre no utilizado al convertir excel xml al json, default true. |
| | contraseña | text | La contraseña para abrir el workbook. |
| | openMode | text | The open mode of normal, lazy and incremental. Por defecto es normal. |
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/WebServer/http-rules.md b/i18n/es/docusaurus-plugin-content-docs/current/WebServer/http-rules.md
index bc8018c82e60ac..bb951c00c48b3f 100644
--- a/i18n/es/docusaurus-plugin-content-docs/current/WebServer/http-rules.md
+++ b/i18n/es/docusaurus-plugin-content-docs/current/WebServer/http-rules.md
@@ -53,14 +53,14 @@ Cuando el servidor web recibe una solicitud, **todos** los patrones de URL se ac
Se soportan las siguientes palabras clave de acción:
-| Palabras clave | Tipo de valor | Descripción |
-| --------------- | --------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
-| `removeHeaders` | Texto o colección de textos | Encabezado(s) para eliminar de las respuestas HTTP. Si un encabezado a eliminar no existe en el encabezado de respuesta, se ignora. |
-| `addHeaders` | Object | Name (text) and value (text) of header(s) to add to the HTTP responses. |
-| `setHeaders` | Object | Name (text) and value (text) of header(s) to modify in the HTTP responses. Si un encabezado a modificar no existe en el encabezado de respuesta, se añade. |
-| `denyAccess` | Boolean | true para negar el acceso al recurso, false para permitir el acceso. Cuando el acceso a un recurso es denegado, el servidor web devuelve un estado 403 por defecto |
-| `redirect` | Text | Redirigir URL. Cuando se activa una redirección, el servidor web devuelve un estado 302 por defecto |
-| `status` | Number | Estado HTTP |
+| Palabras clave | Tipo de valor | Descripción |
+| --------------- | --------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| `removeHeaders` | Texto o colección de textos | Encabezado(s) para eliminar de las respuestas HTTP. Si un encabezado a eliminar no existe en el encabezado de respuesta, se ignora. |
+| `addHeaders` | Object | Name (text) and value (text) of header(s) to add to the HTTP responses. |
+| `setHeaders` | Object | Nombre (texto) y valor (texto) de los encabezados a modificar en las respuestas HTTP. Si un encabezado a modificar no existe en el encabezado de respuesta, se añade. |
+| `denyAccess` | Boolean | true para negar el acceso al recurso, false para permitir el acceso. Cuando el acceso a un recurso es denegado, el servidor web devuelve un estado 403 por defecto |
+| `redirect` | Text | Redirigir URL. Cuando se activa una redirección, el servidor web devuelve un estado 302 por defecto |
+| `status` | Number | Estado HTTP |
### Encabezados no modificables
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/WebServer/sessions.md b/i18n/es/docusaurus-plugin-content-docs/current/WebServer/sessions.md
index 1f93da7931a3b2..00048040081872 100644
--- a/i18n/es/docusaurus-plugin-content-docs/current/WebServer/sessions.md
+++ b/i18n/es/docusaurus-plugin-content-docs/current/WebServer/sessions.md
@@ -267,7 +267,7 @@ El token OTP se considera inválido si:
- el token de sesión no existe,
- la propia sesión original ha caducado.
-In this case, no web user session is restored and the current session (if any) is left unchanged. Normalmente, puede decidir mostrar una página de conexión o abrir una sesión guest.
+En este caso, no se restaura ninguna sesión de usuario web y la sesión actual (si existe) se deja sin cambios. Normalmente, puede decidir mostrar una página de conexión o abrir una sesión guest.
La verificación de la validez del token OTP recibido depende de cómo fue manejado:
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/WritePro/commands/wp-export-document.md b/i18n/es/docusaurus-plugin-content-docs/current/WritePro/commands/wp-export-document.md
index 5b83c6bb5b8efb..3c6997512facff 100644
--- a/i18n/es/docusaurus-plugin-content-docs/current/WritePro/commands/wp-export-document.md
+++ b/i18n/es/docusaurus-plugin-content-docs/current/WritePro/commands/wp-export-document.md
@@ -72,7 +72,7 @@ Pase un [objeto](# "Datos estructurados como un objeto nativo 4D") en *option* c
| wk visible references | visibleReferences | Muestra o exporta todas las expresiones 4D insertadas en el documento como referencias. Valores posibles: True/False |
| wk whitespace | whitespace | Define el valor css "white-space" para los formatos de exportación `wk mime html` y `wk web page complete`. El estilo [white-space css](https://developer.mozilla.org/en-US/docs/Web/CSS/white-space) se aplica a los párrafos. Valores posibles: "normal", "nowrap", "pre", "pre-wrap" (por defecto), "pre-line", "break-spaces". |
-The following table indicates the *option* available per export *format*:
+La siguiente tabla indica la *option* disponible por *format* de exportación:
| | **wk 4wp** | **wk docx** | **wk mime html** | **wk pdf** | **wk web page complete** | **wk svg** |
| ------------------------------------------- | ----------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------- |
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/WritePro/managing-formulas.md b/i18n/es/docusaurus-plugin-content-docs/current/WritePro/managing-formulas.md
index 35e3b3b515c769..b1d05d404a548e 100644
--- a/i18n/es/docusaurus-plugin-content-docs/current/WritePro/managing-formulas.md
+++ b/i18n/es/docusaurus-plugin-content-docs/current/WritePro/managing-formulas.md
@@ -102,7 +102,7 @@ Cuando se utiliza en una fórmula dentro de la tabla, la palabra clave **This**
| | [This](../commands/this.md).rowIndex | Number | Índice de la línea actual, a partir de 1 |
| Cuando se ha definido una fuente de datos para la tabla | [This](../commands/this.md).table.dataSource | Objet (fórmula) | Fuente de datos como fórmula |
| | [This](../commands/this.md).tableData | Collection o Entity selection (por lo general) | table.dataSource evaluada |
-| In each data row when a table datasource returns a collection or an entity selection | [This](../commands/this.md).item.xxx | Cualquiera | Mapped to each item of the table datasource collection or entity selection, for example **This.item.firstName** if the associated entity has the *firstName* attribute |
+| En cada fila de datos cuando una fuente de datos tabla devuelve una colección o una selección de entidades | [This](../commands/this.md).item.xxx | Cualquiera | Mapped to each item of the table datasource collection or entity selection, for example **This.item.firstName** if the associated entity has the *firstName* attribute |
| | [This](../commands/this.md).itemIndex | Number | Índice del elemento actual en la colección o selección de entidades, a partir de 0 |
| In any row (except header rows) when a table datasource returns a collection or an entity selection | [This](../commands/this.md).previousItems | Collection o entity selection | Items displayed on the pages before the bottom carry over row (if any) or before the row of the expression, including the page where is displayed the row containing the expression.
Esta expresión devuelve el mismo tipo de valor que la expresión **This.tableData**. |
| In a break row | [This](../commands/this.md).breakItems | Collection o entity selection | Items of the collection or entity selection displayed in the rows between:
- the current break row and the previous break row of the same level (or the start of the table) if the break row(s) are displayed after the data row.
- the current break and the next break row of the same level (or the end of the table) if the break row(s) are displayed before the data row.
|
@@ -167,7 +167,7 @@ Por defecto, las fórmulas 4D se muestran como valores. Al insertar una fórmula
Para mostrar fórmulas como referencias, puede:
-- check the **Show references** option in the Property list (see *Configuring View properties*), or
+- marque la opción **Mostrar referencias** en la lista de propiedades (consulte *Configuración de las propiedades Vista*), o bien
- utilizar la acción estándar visibleReferences (ver *Expresiones dinámicas*), o bien
- usa el comando [**WP SET VIEW PROPERTIES**](commands-legacy/wp-set-view-properties.md) con el selector `wk visible references` en **True**.
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIFileListResult.md b/i18n/es/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIFileListResult.md
index dc92c30d761a48..7b8830b98403ab 100644
--- a/i18n/es/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIFileListResult.md
+++ b/i18n/es/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIFileListResult.md
@@ -16,8 +16,8 @@ The `OpenAIFileListResult` class contains the result of listing files from the O
| Propiedad | Tipo | Descripción |
| ---------- | ---------- | ------------------------------------------------------------------------------------------------------------------------------------------------ |
| `files` | Collection | Returns a collection of [OpenAIFile](OpenAIFile.md) objects from the API response, or an empty collection if no files are found. |
-| `first_id` | Text | Returns the ID of the first file in the list, or an empty string if not available. |
-| `last_id` | Text | Returns the ID of the last file in the list, or an empty string if not available. |
+| `first_id` | Text | Devuelve el ID del primer archivo de la lista, o una cadena vacía si no está disponible. |
+| `last_id` | Text | Devuelve el ID del último archivo de la lista, o una cadena vacía si no está disponible. |
| `has_more` | Boolean | Indica si hay más archivos más allá de esta página. `True` if there are more files to fetch, `False` otherwise. |
## Ejemplo de Uso
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIFileParameters.md b/i18n/es/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIFileParameters.md
index aab077253ede67..8416856ad31675 100644
--- a/i18n/es/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIFileParameters.md
+++ b/i18n/es/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIFileParameters.md
@@ -5,7 +5,7 @@ title: OpenAIFileParameters
# OpenAIFileParameters
-The `OpenAIFileParameters` class handles parameters for file upload operations.
+La clase `OpenAIFileParameters` gestiona los parámetros de las operaciones de carga de archivos.
## Hereda
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIFilesAPI.md b/i18n/es/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIFilesAPI.md
index efa19c52ff5153..a0b5682d10f545 100644
--- a/i18n/es/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIFilesAPI.md
+++ b/i18n/es/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIFilesAPI.md
@@ -48,7 +48,7 @@ Upload a file that can be used across various endpoints.
- **Fine-tuning API:** Only supports `.jsonl` files with specific required formats
- **Batch API:** Only supports `.jsonl` files up to 200 MB with specific required format
-- **Assistants API:** Supports specific file types (see Assistants Tools guide)
+- **API de Asistentes:** soporta tipos de archivo específicos (ver Guía de herramientas de asistentes)
- **API de finalización de chat:** sólo se admiten archivos PDF
#### Ejemplo
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIMessage.md b/i18n/es/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIMessage.md
index 4fb9a34e1c7733..bed69eb13e2c1d 100644
--- a/i18n/es/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIMessage.md
+++ b/i18n/es/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIMessage.md
@@ -5,7 +5,7 @@ title: OpenAIMessage
# OpenAIMessage
-La clase `OpenAIMessage` representa un mensaje estructurado que contiene un rol, un contenido y un usuario opcional. This class provides methods to manipulate and retrieve the text and other content of the message.
+La clase `OpenAIMessage` representa un mensaje estructurado que contiene un rol, un contenido y un usuario opcional. Esta clase ofrece métodos para manipular y recuperar el texto y otros contenidos del mensaje.
## Propiedades
@@ -44,7 +44,7 @@ Añade una URL de imagen al contenido del mensaje.
| ---------- | ---- | ------------------------------------------------------------ |
| *fileId* | Text | El ID del archivo que se añadirá al mensaje. |
-Añade una referencia de archivo al contenido del mensaje. If the content is currently text, it will be converted to a collection format.
+Añade una referencia de archivo al contenido del mensaje. Si el contenido es actualmente texto, se convertirá a un formato colección.
## Ejemplo de Uso
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/commands/command-name.md b/i18n/es/docusaurus-plugin-content-docs/current/commands/command-name.md
index 277252ce4c6f14..91aa679c62b542 100644
--- a/i18n/es/docusaurus-plugin-content-docs/current/commands/command-name.md
+++ b/i18n/es/docusaurus-plugin-content-docs/current/commands/command-name.md
@@ -34,7 +34,7 @@ El comando **Command name** devuelve e
Hay dos parámetros opcionales:
-- *info*: propiedades del comando. The returned value is a *bit field*, where the following bits are meaningful:
+- *info*: propiedades del comando. El valor devuelto es un *campo de bits*, donde los siguientes bits son significativos:
- Primer bit (bit 0): definido en 1 si el comando es [**hilo-seguro**](../Develop/preemptive.md#thread-safe-vs-thread-unsafe-code) (es decir, compatible con la ejecución en un proceso apropiativo) y 0 si es **hilo-inseguro**. Solo se pueden usar comandos hilo seguro en [procesos preventivos](../Develop/preemptive.md).
- Segundo bit (bit 1): se define en 1 si el comando es **obsoleto**, y en 0 si no lo es. A deprecated command will continue to work normally as long as it is supported, but should be replaced whenever possible and must no longer be used in new code. Los comandos obsoletos en su código generan advertencias en el [Live Checker y el compilador](../code-editor/write-class-method.md#warnings-and-errors).
@@ -80,7 +80,7 @@ En un formulario, quiere una lista desplegable con los comandos básicos de info
End case
```
-En la versión inglesa de 4D, la lista desplegable leerá: Sum, Average, Min y Max. In the French version\*, the drop-down list will read: Somme, Moyenne, Min, and Max.
+En la versión inglesa de 4D, la lista desplegable leerá: Sum, Average, Min y Max. En la versión francésa \*, la lista desplegable dirá: Somme, Moyenne, Min, y Max.
\*con una aplicación 4D configurada para usar el lenguaje de programación en francés (ver nota de compatibilidad)
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/commands/listbox-set-property.md b/i18n/es/docusaurus-plugin-content-docs/current/commands/listbox-set-property.md
index d6641157210542..26236b6a1d6836 100644
--- a/i18n/es/docusaurus-plugin-content-docs/current/commands/listbox-set-property.md
+++ b/i18n/es/docusaurus-plugin-content-docs/current/commands/listbox-set-property.md
@@ -77,7 +77,7 @@ Quiere que todas las columnas del list box "MyListbox" sean redimensionables:
## Ejemplo 2
-You want to set a maximum width for the column whose name is "ProductNumber":
+Desea definir un ancho máximo para la columna cuyo nombre es "ProductNumber":
```4d
LISTBOX SET PROPERTY(*; "ProductNumber";lk column max width;200) //Esta columna tendrá un ancho máximo de 200
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-19/API/CollectionClass.md b/i18n/es/docusaurus-plugin-content-docs/version-19/API/CollectionClass.md
index b15f5e0bde777c..3012ae1811a08e 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-19/API/CollectionClass.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-19/API/CollectionClass.md
@@ -349,14 +349,14 @@ $c.combine($fruits;3) //[1,2,3,"Orange","Banana","Apple","Grape",4,5,6]
-**.concat**( *value* : any { *;...valueN* } ) : Collection
+**.concat**( *value* : any { ; *...valueN* } ) : Collection
-| Parámetros | Tipo | | Descripción |
-| ---------- | -------------------------------------------------------------- |:--:| ------------------------------------------------------------------------------------------------------------------------ |
-| value | Number, Text, Object, Collection, Date, Time, Boolean, Picture | -> | Valores a concatenar. Si *value* es una colección, todos los elementos de la colección se añaden a la colección original |
-| Resultado | Collection | <- | Nueva colección con valor(es) añadido(s) a la colección original|
+| Parámetros | Tipo | | Descripción |
+| ---------- | ---------- |:--:| ------------------------------------------------------------------------------------------------------------------------ |
+| value | any | -> | Valores a concatenar. Si *value* es una colección, todos los elementos de la colección se añaden a la colección original |
+| Resultado | Collection | <- | Nueva colección con valor(es) añadido(s) a la colección original|
|
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/API/CollectionClass.md b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/API/CollectionClass.md
index b19fb72882385a..74b650aae99b35 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/API/CollectionClass.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/API/CollectionClass.md
@@ -264,14 +264,14 @@ $c.combine($fruits;3) //[1,2,3,"Orange","Banana","Apple","Grape",4,5,6]
-**.concat**( *value* : any { *;...valueN* } ) : Collection
+**.concat**( *value* : any { ; *...valueN* } ) : Collection
-| Parámetros | Tipo | | Descripción |
-| ---------- | -------------------------------------------------------------- | :-------------------------: | --------------------------------------------------------------------------------------------------------------------------------------------------- |
-| value | Number, Text, Object, Collection, Date, Time, Boolean, Picture | -> | Valores a concatenar. Si *value* es una colección, todos sus elementos se añaden al final de la colección original. |
-| Resultado | Collection | <- | Colección original con valores rellenados |
+| Parámetros | Tipo | | Descripción |
+| ---------- | ---------- | :-------------------------: | --------------------------------------------------------------------------------------------------------------------------------------------------- |
+| value | any | -> | Valores a concatenar. Si *value* es una colección, todos sus elementos se añaden al final de la colección original. |
+| Resultado | Collection | <- | Colección original con valores rellenados |
@@ -3171,14 +3171,12 @@ La función `.sort()` ordena los elemento
Si se llama a `.sort()` sin parámetros, sólo se ordenan los valores escalares (número, texto, fecha, booleanos). Los elementos se ordenan por defecto de forma ascendente, según su tipo.
También puede pasar una de las siguientes constantes en el parámetro *ascOrDesc*:
- ```
- |Constant| Type|Value|Comment|
- |---|---|---|---|
- |ck ascending|Integer|0|Elements are ordered in ascending order (default)|
- |ck descending|Integer|1|Elements are ordered in descending order|
-
- This syntax orders scalar values in the collection only (other element types such as objects or collections are returned unordered).
- ```
+| Constante | Tipo | Valor | Comentario |
+| ------------- | ------- | ----- | ----------------------------------------------------------------------------- |
+| ck ascending | Integer | 0 | Los elementos se ordenan de forma ascendente (por defecto) |
+| ck descending | Integer | 1 | Los elementos se ordenan de forma descendente |
+
+Esta sintaxis sólo ordena los valores escalares de la colección (otros tipos de elementos, como objetos o colecciones, se devuelven desordenados).
Si la colección contiene elementos de diferentes tipos, se agrupan primero por tipo y se ordenan después. Si attributePath lleva a una propiedad de objeto que contiene valores de diferentes tipos, primero se agrupan por tipo y se ordenan después.
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/FormObjects/webArea_overview.md b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/FormObjects/webArea_overview.md
index 2358ca4e00a38d..ba8ac84ef8e799 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/FormObjects/webArea_overview.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/FormObjects/webArea_overview.md
@@ -115,7 +115,7 @@ $4d.today(function(result)
#### Ejemplo 2
-Instead of using a standalone method, we can also use a class function to handle the calculation.
+En lugar de utilizar un método independiente, también podemos utilizar una función de clase para realizar el cálculo.
Define a "SumCalculator" 4D user class with a `calcSum` function which receives parameters and returns their sum:
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/ORDA/ordaClasses.md b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/ORDA/ordaClasses.md
index 96c61be07c7447..a1277e87a87543 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/ORDA/ordaClasses.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/ORDA/ordaClasses.md
@@ -933,7 +933,7 @@ For security reasons, all of your data model class functions, including [compute
Las peticiones remotas son:
- Las peticiones enviadas por las aplicaciones 4D remotas conectadas a través de `Open datastore`
-- REST requests, including requests from [Qodly pages](https://developer.4d.com/qodly/)
+- Peticiones REST, incluidas las solicitudes de [páginas Qodly](https://developer.4d.com/qodly/)
> Las peticiones cliente/servidor 4D estándar no se ven afectadas. Las funciones de clase del modelo de datos están siempre disponibles en esta arquitectura.
@@ -947,12 +947,12 @@ exposed Function
```
```4d
-// declare an exposed alias
+// declarar un alias expuesto
exposed Alias
```
```4d
-// declare an exposed computed attribute
+// declare un atributo calculado expuesto
exposed Function get
```
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/ViewPro/commands/vp-copy-to-object.md b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/ViewPro/commands/vp-copy-to-object.md
index 704a4b63bc00d1..163f2fd9a76fa5 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/ViewPro/commands/vp-copy-to-object.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/ViewPro/commands/vp-copy-to-object.md
@@ -31,10 +31,10 @@ En *rangeObj*, pase el rango de celdas con los valores, formato y fórmulas a co
Puede pasar un parámetro opcional *options* con las siguientes propiedades:
-| Propiedad | Tipo | Descripción |
-| ----------- | ------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
-| copy | Boolean | *True* (por defecto) para mantener los valores, el formato y las fórmulas copiados después de la ejecución del comando. *False* para eliminarlos. |
-| copyOptions | Integer | Especifica lo que se copia o mueve. Possible values: | Value | Description |
|---|
| `vk clipboard options all` (default) | Copies all data objects, including values, formatting, and formulas. |
| `vk clipboard options formatting` | Copia solo el formato. |
| `vk clipboard options formulas` | Copies only the formulas. |
| `vk clipboard options formulas and formatting` | Copia las fórmulas y formato. |
| `vk clipboard options values` | Copia solo los valores. |
| `vk clipboard options value and formatting` | Copia los valores y el formato. |
|
+| Propiedad | Tipo | Descripción |
+| ----------- | ------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| copy | Boolean | *True* (por defecto) para mantener los valores, el formato y las fórmulas copiados después de la ejecución del comando. *False* para eliminarlos. |
+| copyOptions | Integer | Especifica lo que se copia o mueve. Possible values: | Value | Description |
|---|
| `vk clipboard options all` (default) | Copies all data objects, including values, formatting, and formulas. |
| `vk clipboard options formatting` | Copia solo el formato. |
| `vk clipboard options formulas` | Copia sólo las fórmulas. |
| `vk clipboard options formulas and formatting` | Copia las fórmulas y formato. |
| `vk clipboard options values` | Copia solo los valores. |
| `vk clipboard options value and formatting` | Copia los valores y el formato. |
|
Se tienen en cuenta las opciones de pegado definidas en las [opciones del libro de trabajo](vp-set-workbook-options.md).
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/WebServer/sessions.md b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/WebServer/sessions.md
index 3280a50dd5dbaa..b1558d7998d930 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/WebServer/sessions.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/WebServer/sessions.md
@@ -261,7 +261,7 @@ El token OTP se considera inválido si:
- el token de sesión no existe,
- la propia sesión original ha caducado.
-In this case, no web user session is restored and the current session (if any) is left unchanged. Normalmente, puede decidir mostrar una página de conexión o abrir una sesión guest.
+En este caso, no se restaura ninguna sesión de usuario web y la sesión actual (si existe) se deja sin cambios. Normalmente, puede decidir mostrar una página de conexión o abrir una sesión guest.
La verificación de la validez del token OTP recibido depende de cómo fue manejado:
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/WritePro/commands/wp-export-variable.md b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/WritePro/commands/wp-export-variable.md
index f77c075aef2b83..2d372bbe528a40 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/WritePro/commands/wp-export-variable.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/WritePro/commands/wp-export-variable.md
@@ -72,7 +72,7 @@ Pase un [objeto](# "Datos estructurados como un objeto nativo 4D") en *option* c
| wk visible references | visibleReferences | Muestra o exporta todas las expresiones 4D insertadas en el documento como referencias. Valores posibles: True/False |
| wk whitespace | whitespace | Define el valor css "white-space" para el formato de exportación `wk mime html`. El estilo [white-space css](https://developer.mozilla.org/en-US/docs/Web/CSS/white-space) se aplica a los párrafos. Valores posibles: "normal", "nowrap", "pre", "pre-wrap" (por defecto), "pre-line", "break-spaces". |
-The following table indicates the *option* available per export *format*:
+La siguiente tabla indica la *option* disponible por *format* de exportación:
| | **wk 4wp** | **wk docx** | **wk mime html** | **wk pdf** | **wk web page html 4d** | **wk svg** |
| ------------------------------------------- | ----------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------- |
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/WritePro/managing-formulas.md b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/WritePro/managing-formulas.md
index aa3861e5fb4023..783f399253a542 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/WritePro/managing-formulas.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/WritePro/managing-formulas.md
@@ -143,7 +143,7 @@ Por defecto, las fórmulas 4D se muestran como valores. Al insertar una fórmula
Para mostrar fórmulas como referencias, puede:
-- check the **Show references** option in the Property list (see *Configuring View properties*), or
+- marque la opción **Mostrar referencias** en la lista de propiedades (consulte *Configuración de las propiedades Vista*), o bien
- utilizar la acción estándar visibleReferences (ver *Expresiones dinámicas*), o bien
- usa el comando [**WP SET VIEW PROPERTIES**](commands-legacy/wp-set-view-properties.md) con el selector `wk visible references` en **True**.
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/aikit/Classes/OpenAIMessage.md b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/aikit/Classes/OpenAIMessage.md
index 95969f8925c9ff..24e015f27d7ccd 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/aikit/Classes/OpenAIMessage.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/aikit/Classes/OpenAIMessage.md
@@ -5,7 +5,7 @@ title: OpenAIMessage
# OpenAIMessage
-La clase `OpenAIMessage` representa un mensaje estructurado que contiene un rol, un contenido y un usuario opcional. This class provides methods to manipulate and retrieve the text and other content of the message.
+La clase `OpenAIMessage` representa un mensaje estructurado que contiene un rol, un contenido y un usuario opcional. Esta clase ofrece métodos para manipular y recuperar el texto y otros contenidos del mensaje.
## Propiedades
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/commands/command-name.md b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/commands/command-name.md
index 4a2b20f032e1e2..70558cdac5b7a6 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/commands/command-name.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/commands/command-name.md
@@ -34,7 +34,7 @@ The **Command name** command returns t
Hay dos parámetros opcionales:
-- *info*: propiedades del comando. The returned value is a *bit field*, where the following bits are meaningful:
+- *info*: propiedades del comando. El valor devuelto es un *campo de bits*, donde los siguientes bits son significativos:
- Primer bit (bit 0): definido en 1 si el comando es [**hilo-seguro**](../Develop/preemptive.md#thread-safe-vs-thread-unsafe-code) (es decir, compatible con la ejecución en un proceso apropiativo) y 0 si es **hilo-inseguro**. Solo se pueden usar comandos hilo seguro en [procesos preventivos](../Develop/preemptive.md).
- Segundo bit (bit 1): se define en 1 si el comando es **obsoleto**, y en 0 si no lo es. A deprecated command will continue to work normally as long as it is supported, but should be replaced whenever possible and must no longer be used in new code. Los comandos obsoletos en su código generan advertencias en el [Live Checker y el compilador](../code-editor/write-class-method.md#warnings-and-errors).
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/commands/listbox-set-property.md b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/commands/listbox-set-property.md
index d6641157210542..26236b6a1d6836 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/commands/listbox-set-property.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/commands/listbox-set-property.md
@@ -77,7 +77,7 @@ Quiere que todas las columnas del list box "MyListbox" sean redimensionables:
## Ejemplo 2
-You want to set a maximum width for the column whose name is "ProductNumber":
+Desea definir un ancho máximo para la columna cuyo nombre es "ProductNumber":
```4d
LISTBOX SET PROPERTY(*; "ProductNumber";lk column max width;200) //Esta columna tendrá un ancho máximo de 200
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-20/API/CollectionClass.md b/i18n/es/docusaurus-plugin-content-docs/version-20/API/CollectionClass.md
index 7539499b2ac346..804a6618e11f27 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-20/API/CollectionClass.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-20/API/CollectionClass.md
@@ -447,14 +447,14 @@ $c.combine($fruits;3) //[1,2,3,"Orange","Banana","Apple","Grape",4,5,6]
-**.concat**( *value* : any { *;...valueN* } ) : Collection
+**.concat**( *value* : any { ; *...valueN* } ) : Collection
-| Parámetros | Tipo | | Descripción |
-| ---------- | -------------------------------------------------------------- |:--:| ------------------------------------------------------------------------------------------------------------------------ |
-| value | Number, Text, Object, Collection, Date, Time, Boolean, Picture | -> | Valores a concatenar. Si *value* es una colección, todos los elementos de la colección se añaden a la colección original |
-| Resultado | Collection | <- | Nueva colección con valor(es) añadido(s) a la colección original|
+| Parámetros | Tipo | | Descripción |
+| ---------- | ---------- |:--:| ------------------------------------------------------------------------------------------------------------------------ |
+| value | any | -> | Valores a concatenar. Si *value* es una colección, todos los elementos de la colección se añaden a la colección original |
+| Resultado | Collection | <- | Nueva colección con valor(es) añadido(s) a la colección original|
|
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-21/API/CollectionClass.md b/i18n/es/docusaurus-plugin-content-docs/version-21/API/CollectionClass.md
index b19fb72882385a..74b650aae99b35 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-21/API/CollectionClass.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-21/API/CollectionClass.md
@@ -264,14 +264,14 @@ $c.combine($fruits;3) //[1,2,3,"Orange","Banana","Apple","Grape",4,5,6]
-**.concat**( *value* : any { *;...valueN* } ) : Collection
+**.concat**( *value* : any { ; *...valueN* } ) : Collection
-| Parámetros | Tipo | | Descripción |
-| ---------- | -------------------------------------------------------------- | :-------------------------: | --------------------------------------------------------------------------------------------------------------------------------------------------- |
-| value | Number, Text, Object, Collection, Date, Time, Boolean, Picture | -> | Valores a concatenar. Si *value* es una colección, todos sus elementos se añaden al final de la colección original. |
-| Resultado | Collection | <- | Colección original con valores rellenados |
+| Parámetros | Tipo | | Descripción |
+| ---------- | ---------- | :-------------------------: | --------------------------------------------------------------------------------------------------------------------------------------------------- |
+| value | any | -> | Valores a concatenar. Si *value* es una colección, todos sus elementos se añaden al final de la colección original. |
+| Resultado | Collection | <- | Colección original con valores rellenados |
@@ -3171,14 +3171,12 @@ La función `.sort()` ordena los elemento
Si se llama a `.sort()` sin parámetros, sólo se ordenan los valores escalares (número, texto, fecha, booleanos). Los elementos se ordenan por defecto de forma ascendente, según su tipo.
También puede pasar una de las siguientes constantes en el parámetro *ascOrDesc*:
- ```
- |Constant| Type|Value|Comment|
- |---|---|---|---|
- |ck ascending|Integer|0|Elements are ordered in ascending order (default)|
- |ck descending|Integer|1|Elements are ordered in descending order|
-
- This syntax orders scalar values in the collection only (other element types such as objects or collections are returned unordered).
- ```
+| Constante | Tipo | Valor | Comentario |
+| ------------- | ------- | ----- | ----------------------------------------------------------------------------- |
+| ck ascending | Integer | 0 | Los elementos se ordenan de forma ascendente (por defecto) |
+| ck descending | Integer | 1 | Los elementos se ordenan de forma descendente |
+
+Esta sintaxis sólo ordena los valores escalares de la colección (otros tipos de elementos, como objetos o colecciones, se devuelven desordenados).
Si la colección contiene elementos de diferentes tipos, se agrupan primero por tipo y se ordenan después. Si attributePath lleva a una propiedad de objeto que contiene valores de diferentes tipos, primero se agrupan por tipo y se ordenan después.
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-21/FormObjects/webArea_overview.md b/i18n/es/docusaurus-plugin-content-docs/version-21/FormObjects/webArea_overview.md
index c272db7f19ea66..ee0b5d7a0faa89 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-21/FormObjects/webArea_overview.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-21/FormObjects/webArea_overview.md
@@ -121,7 +121,7 @@ $4d.today(function(result)
#### Ejemplo 2
-Instead of using a standalone method, we can also use a class function to handle the calculation.
+En lugar de utilizar un método independiente, también podemos utilizar una función de clase para realizar el cálculo.
Define a "SumCalculator" 4D user class with a `calcSum` function which receives parameters and returns their sum:
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-21/ORDA/ordaClasses.md b/i18n/es/docusaurus-plugin-content-docs/version-21/ORDA/ordaClasses.md
index 96c61be07c7447..a1277e87a87543 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-21/ORDA/ordaClasses.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-21/ORDA/ordaClasses.md
@@ -933,7 +933,7 @@ For security reasons, all of your data model class functions, including [compute
Las peticiones remotas son:
- Las peticiones enviadas por las aplicaciones 4D remotas conectadas a través de `Open datastore`
-- REST requests, including requests from [Qodly pages](https://developer.4d.com/qodly/)
+- Peticiones REST, incluidas las solicitudes de [páginas Qodly](https://developer.4d.com/qodly/)
> Las peticiones cliente/servidor 4D estándar no se ven afectadas. Las funciones de clase del modelo de datos están siempre disponibles en esta arquitectura.
@@ -947,12 +947,12 @@ exposed Function
```
```4d
-// declare an exposed alias
+// declarar un alias expuesto
exposed Alias
```
```4d
-// declare an exposed computed attribute
+// declare un atributo calculado expuesto
exposed Function get
```
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-21/ORDA/privileges.md b/i18n/es/docusaurus-plugin-content-docs/version-21/ORDA/privileges.md
index 5b9a784e909ef3..2a9100a293d13c 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-21/ORDA/privileges.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-21/ORDA/privileges.md
@@ -37,7 +37,7 @@ Cada vez que se accede a un recurso dentro de una sesión (sin importar la forma
## Permisos
-A permission is the ability to do an action on a resource. For example, *execute the ds.myTable.myFunction()* represents a **permission**. Permissions are defined for the project in the [`roles.json`](#rolesjson-file) file. Cada permiso se puede dar a uno o más [privilegios](#privileges-and-roles).
+A permission is the ability to do an action on a resource. For example, *execute the ds.myTable.myFunction()* represents a **permission**. Los permisos se definen para el proyecto en el archivo [`roles.json`](#rolesjson-file). Cada permiso se puede dar a uno o más [privilegios](#privileges-and-roles).
When **no specific permission** has been defined for a resource, access to the resource may be automatically **unrestricted** or **restricted** depending on the [default mode defined for the project](#restriction-modes).
@@ -185,7 +185,7 @@ El archivo `roles.json` describe todos los parámetros de seguridad web del proy
| | | \[].execute | Colección de cadenas | | Lista de privilegios |
| | | \[].promote | Colección de cadenas | | Lista de privilegios |
| restrictedByDefault | | | Boolean | | Si es true, se niega el acceso a recursos sin permisos explícitos |
-| forceLogin | | | Boolean | | If true, enables ["forceLogin" mode](../REST/authUsers.md#force-login-mode) |
+| forceLogin | | | Boolean | | Si es true, activa el modo ["forceLogin"](../REST/authUsers.md#force-login-mode) |
:::caution Recordatorio
@@ -196,7 +196,7 @@ El archivo `roles.json` describe todos los parámetros de seguridad web del proy
### Default File Location and Content
-When a new project is created, a default `roles.json` file is generated at:
+Cuando se crea un nuevo proyecto, se genera un archivo `roles.json` por defecto en:
```
/Project/Sources/
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-21/Project/architecture.md b/i18n/es/docusaurus-plugin-content-docs/version-21/Project/architecture.md
index ecac98bd608bb7..755af59c77aedf 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-21/Project/architecture.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-21/Project/architecture.md
@@ -64,7 +64,7 @@ Este archivo de texto también puede contener llaves de configuración, en parti
| filters.json | Filtros definidos | JSON |
| dependencies.json | Nombres de [componentes a cargar](components.md) en el proyecto | JSON |
| HTTPHandlers.json | Personalizado [HTTP request handlers](../WebServer/http-request-handler.md) definido para el servidor web | JSON |
-| HTTPRules.json | Custom [HTTP rules](../WebServer/http-rules.md) defined for the web server | JSON |
+| HTTPRules.json | [Reglas HTTP](../WebServer/http-rules.md) personalizadas definidas para el servidor web | JSON |
| styleSheets.css | Hojas de estilo CSS | CSS |
| styleSheets_mac.css | Hojas de estilo css de Mac (a partir de una base binaria convertida) | CSS |
| styleSheets_windows.css | Hojas de estilo css en Windows (a partir de una base binaria convertida) | CSS |
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-21/ViewPro/commands/vp-copy-to-object.md b/i18n/es/docusaurus-plugin-content-docs/version-21/ViewPro/commands/vp-copy-to-object.md
index 704a4b63bc00d1..163f2fd9a76fa5 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-21/ViewPro/commands/vp-copy-to-object.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-21/ViewPro/commands/vp-copy-to-object.md
@@ -31,10 +31,10 @@ En *rangeObj*, pase el rango de celdas con los valores, formato y fórmulas a co
Puede pasar un parámetro opcional *options* con las siguientes propiedades:
-| Propiedad | Tipo | Descripción |
-| ----------- | ------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
-| copy | Boolean | *True* (por defecto) para mantener los valores, el formato y las fórmulas copiados después de la ejecución del comando. *False* para eliminarlos. |
-| copyOptions | Integer | Especifica lo que se copia o mueve. Possible values: | Value | Description |
|---|
| `vk clipboard options all` (default) | Copies all data objects, including values, formatting, and formulas. |
| `vk clipboard options formatting` | Copia solo el formato. |
| `vk clipboard options formulas` | Copies only the formulas. |
| `vk clipboard options formulas and formatting` | Copia las fórmulas y formato. |
| `vk clipboard options values` | Copia solo los valores. |
| `vk clipboard options value and formatting` | Copia los valores y el formato. |
|
+| Propiedad | Tipo | Descripción |
+| ----------- | ------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| copy | Boolean | *True* (por defecto) para mantener los valores, el formato y las fórmulas copiados después de la ejecución del comando. *False* para eliminarlos. |
+| copyOptions | Integer | Especifica lo que se copia o mueve. Possible values: | Value | Description |
|---|
| `vk clipboard options all` (default) | Copies all data objects, including values, formatting, and formulas. |
| `vk clipboard options formatting` | Copia solo el formato. |
| `vk clipboard options formulas` | Copia sólo las fórmulas. |
| `vk clipboard options formulas and formatting` | Copia las fórmulas y formato. |
| `vk clipboard options values` | Copia solo los valores. |
| `vk clipboard options value and formatting` | Copia los valores y el formato. |
|
Se tienen en cuenta las opciones de pegado definidas en las [opciones del libro de trabajo](vp-set-workbook-options.md).
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-21/ViewPro/commands/vp-import-document.md b/i18n/es/docusaurus-plugin-content-docs/version-21/ViewPro/commands/vp-import-document.md
index 229ed41326b42a..9cf06809fc9a03 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-21/ViewPro/commands/vp-import-document.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-21/ViewPro/commands/vp-import-document.md
@@ -66,7 +66,7 @@ El parámetro opcional *paramObj* permite definir las propiedades del documento
| | frozenRowsAsColumnHeaders | boolean | Bien sea tratar las líneas congeladas como encabezados de columna al importar, por defecto false. |
| | fullRecalc | boolean | Si calcular después de cargar los datos json, false por defecto. |
| | dynamicReferences | boolean | Si calcular funciones con referencia dinámica, por defecto true. |
-| | calcOnDemand | boolean | Whether to calculate formulas only when they are demanded, default false. |
+| | calcOnDemand | boolean | Si se calculan las fórmulas solo cuando se solicitan, por defecto false. |
| | includeUnusedStyles | boolean | Si incluir el estilo de nombre no utilizado al convertir excel xml al json, default true. |
| | contraseña | text | La contraseña para abrir el workbook. |
| | openMode | text | The open mode of normal, lazy and incremental. Por defecto es normal. |
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-21/WebServer/http-rules.md b/i18n/es/docusaurus-plugin-content-docs/version-21/WebServer/http-rules.md
index bc8018c82e60ac..bb951c00c48b3f 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-21/WebServer/http-rules.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-21/WebServer/http-rules.md
@@ -53,14 +53,14 @@ Cuando el servidor web recibe una solicitud, **todos** los patrones de URL se ac
Se soportan las siguientes palabras clave de acción:
-| Palabras clave | Tipo de valor | Descripción |
-| --------------- | --------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
-| `removeHeaders` | Texto o colección de textos | Encabezado(s) para eliminar de las respuestas HTTP. Si un encabezado a eliminar no existe en el encabezado de respuesta, se ignora. |
-| `addHeaders` | Object | Name (text) and value (text) of header(s) to add to the HTTP responses. |
-| `setHeaders` | Object | Name (text) and value (text) of header(s) to modify in the HTTP responses. Si un encabezado a modificar no existe en el encabezado de respuesta, se añade. |
-| `denyAccess` | Boolean | true para negar el acceso al recurso, false para permitir el acceso. Cuando el acceso a un recurso es denegado, el servidor web devuelve un estado 403 por defecto |
-| `redirect` | Text | Redirigir URL. Cuando se activa una redirección, el servidor web devuelve un estado 302 por defecto |
-| `status` | Number | Estado HTTP |
+| Palabras clave | Tipo de valor | Descripción |
+| --------------- | --------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| `removeHeaders` | Texto o colección de textos | Encabezado(s) para eliminar de las respuestas HTTP. Si un encabezado a eliminar no existe en el encabezado de respuesta, se ignora. |
+| `addHeaders` | Object | Name (text) and value (text) of header(s) to add to the HTTP responses. |
+| `setHeaders` | Object | Nombre (texto) y valor (texto) de los encabezados a modificar en las respuestas HTTP. Si un encabezado a modificar no existe en el encabezado de respuesta, se añade. |
+| `denyAccess` | Boolean | true para negar el acceso al recurso, false para permitir el acceso. Cuando el acceso a un recurso es denegado, el servidor web devuelve un estado 403 por defecto |
+| `redirect` | Text | Redirigir URL. Cuando se activa una redirección, el servidor web devuelve un estado 302 por defecto |
+| `status` | Number | Estado HTTP |
### Encabezados no modificables
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-21/WebServer/sessions.md b/i18n/es/docusaurus-plugin-content-docs/version-21/WebServer/sessions.md
index 1f93da7931a3b2..00048040081872 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-21/WebServer/sessions.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-21/WebServer/sessions.md
@@ -267,7 +267,7 @@ El token OTP se considera inválido si:
- el token de sesión no existe,
- la propia sesión original ha caducado.
-In this case, no web user session is restored and the current session (if any) is left unchanged. Normalmente, puede decidir mostrar una página de conexión o abrir una sesión guest.
+En este caso, no se restaura ninguna sesión de usuario web y la sesión actual (si existe) se deja sin cambios. Normalmente, puede decidir mostrar una página de conexión o abrir una sesión guest.
La verificación de la validez del token OTP recibido depende de cómo fue manejado:
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-21/WritePro/commands/wp-export-document.md b/i18n/es/docusaurus-plugin-content-docs/version-21/WritePro/commands/wp-export-document.md
index b0efb466f4a29a..6cb9ae06065872 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-21/WritePro/commands/wp-export-document.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-21/WritePro/commands/wp-export-document.md
@@ -72,7 +72,7 @@ Pase un [objeto](# "Datos estructurados como un objeto nativo 4D") en *option* c
| wk visible references | visibleReferences | Muestra o exporta todas las expresiones 4D insertadas en el documento como referencias. Valores posibles: True/False |
| wk whitespace | whitespace | Define el valor css "white-space" para los formatos de exportación `wk mime html` y `wk web page complete`. El estilo [white-space css](https://developer.mozilla.org/en-US/docs/Web/CSS/white-space) se aplica a los párrafos. Valores posibles: "normal", "nowrap", "pre", "pre-wrap" (por defecto), "pre-line", "break-spaces". |
-The following table indicates the *option* available per export *format*:
+La siguiente tabla indica la *option* disponible por *format* de exportación:
| | **wk 4wp** | **wk docx** | **wk mime html** | **wk pdf** | **wk web page complete** | **wk svg** |
| ------------------------------------------- | ----------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------- |
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-21/WritePro/commands/wp-export-variable.md b/i18n/es/docusaurus-plugin-content-docs/version-21/WritePro/commands/wp-export-variable.md
index f77c075aef2b83..2d372bbe528a40 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-21/WritePro/commands/wp-export-variable.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-21/WritePro/commands/wp-export-variable.md
@@ -72,7 +72,7 @@ Pase un [objeto](# "Datos estructurados como un objeto nativo 4D") en *option* c
| wk visible references | visibleReferences | Muestra o exporta todas las expresiones 4D insertadas en el documento como referencias. Valores posibles: True/False |
| wk whitespace | whitespace | Define el valor css "white-space" para el formato de exportación `wk mime html`. El estilo [white-space css](https://developer.mozilla.org/en-US/docs/Web/CSS/white-space) se aplica a los párrafos. Valores posibles: "normal", "nowrap", "pre", "pre-wrap" (por defecto), "pre-line", "break-spaces". |
-The following table indicates the *option* available per export *format*:
+La siguiente tabla indica la *option* disponible por *format* de exportación:
| | **wk 4wp** | **wk docx** | **wk mime html** | **wk pdf** | **wk web page html 4d** | **wk svg** |
| ------------------------------------------- | ----------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------- |
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-21/WritePro/managing-formulas.md b/i18n/es/docusaurus-plugin-content-docs/version-21/WritePro/managing-formulas.md
index a84f91af9e168c..6b906f3803a2bf 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-21/WritePro/managing-formulas.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-21/WritePro/managing-formulas.md
@@ -102,7 +102,7 @@ Cuando se utiliza en una fórmula dentro de la tabla, la palabra clave **This**
| | [This](../commands/this.md).rowIndex | Number | Índice de la línea actual, a partir de 1 |
| Cuando se ha definido una fuente de datos para la tabla | [This](../commands/this.md).table.dataSource | Objet (fórmula) | Fuente de datos como fórmula |
| | [This](../commands/this.md).tableData | Collection o Entity selection (por lo general) | table.dataSource evaluada |
-| In each data row when a table datasource returns a collection or an entity selection | [This](../commands/this.md).item.xxx | Cualquiera | Mapped to each item of the table datasource collection or entity selection, for example **This.item.firstName** if the associated entity has the *firstName* attribute |
+| En cada fila de datos cuando una fuente de datos tabla devuelve una colección o una selección de entidades | [This](../commands/this.md).item.xxx | Cualquiera | Mapped to each item of the table datasource collection or entity selection, for example **This.item.firstName** if the associated entity has the *firstName* attribute |
| | [This](../commands/this.md).itemIndex | Number | Índice del elemento actual en la colección o selección de entidades, a partir de 0 |
| In any row (except header rows) when a table datasource returns a collection or an entity selection | [This](../commands/this.md).previousItems | Collection o entity selection | Items displayed on the pages before the bottom carry over row (if any) or before the row of the expression, including the page where is displayed the row containing the expression.
Esta expresión devuelve el mismo tipo de valor que la expresión **This.tableData**. |
| In a break row | [This](../commands/this.md).breakItems | Collection o entity selection | Items of the collection or entity selection displayed in the rows between:
- the current break row and the previous break row of the same level (or the start of the table) if the break row(s) are displayed after the data row.
- the current break and the next break row of the same level (or the end of the table) if the break row(s) are displayed before the data row.
|
@@ -167,7 +167,7 @@ Por defecto, las fórmulas 4D se muestran como valores. Al insertar una fórmula
Para mostrar fórmulas como referencias, puede:
-- check the **Show references** option in the Property list (see *Configuring View properties*), or
+- marque la opción **Mostrar referencias** en la lista de propiedades (consulte *Configuración de las propiedades Vista*), o bien
- utilizar la acción estándar visibleReferences (ver *Expresiones dinámicas*), o bien
- usa el comando [**WP SET VIEW PROPERTIES**](commands-legacy/wp-set-view-properties.md) con el selector `wk visible references` en **True**.
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-21/aikit/Classes/OpenAIMessage.md b/i18n/es/docusaurus-plugin-content-docs/version-21/aikit/Classes/OpenAIMessage.md
index 340462dceeb399..72ad5f02e832a0 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-21/aikit/Classes/OpenAIMessage.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-21/aikit/Classes/OpenAIMessage.md
@@ -5,7 +5,7 @@ title: OpenAIMessage
# OpenAIMessage
-La clase `OpenAIMessage` representa un mensaje estructurado que contiene un rol, un contenido y un usuario opcional. This class provides methods to manipulate and retrieve the text and other content of the message.
+La clase `OpenAIMessage` representa un mensaje estructurado que contiene un rol, un contenido y un usuario opcional. Esta clase ofrece métodos para manipular y recuperar el texto y otros contenidos del mensaje.
## Propiedades
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-21/commands/command-name.md b/i18n/es/docusaurus-plugin-content-docs/version-21/commands/command-name.md
index bb45fe7142036b..70558cdac5b7a6 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-21/commands/command-name.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-21/commands/command-name.md
@@ -34,7 +34,7 @@ The **Command name** command returns t
Hay dos parámetros opcionales:
-- *info*: propiedades del comando. The returned value is a *bit field*, where the following bits are meaningful:
+- *info*: propiedades del comando. El valor devuelto es un *campo de bits*, donde los siguientes bits son significativos:
- Primer bit (bit 0): definido en 1 si el comando es [**hilo-seguro**](../Develop/preemptive.md#thread-safe-vs-thread-unsafe-code) (es decir, compatible con la ejecución en un proceso apropiativo) y 0 si es **hilo-inseguro**. Solo se pueden usar comandos hilo seguro en [procesos preventivos](../Develop/preemptive.md).
- Segundo bit (bit 1): se define en 1 si el comando es **obsoleto**, y en 0 si no lo es. A deprecated command will continue to work normally as long as it is supported, but should be replaced whenever possible and must no longer be used in new code. Los comandos obsoletos en su código generan advertencias en el [Live Checker y el compilador](../code-editor/write-class-method.md#warnings-and-errors).
@@ -80,7 +80,7 @@ En un formulario, quiere una lista desplegable con los comandos básicos de info
End case
```
-En la versión inglesa de 4D, la lista desplegable leerá: Sum, Average, Min y Max. In the French version\*, the drop-down list will read: Somme, Moyenne, Min, and Max.
+En la versión inglesa de 4D, la lista desplegable leerá: Sum, Average, Min y Max. En la versión francésa \*, la lista desplegable dirá: Somme, Moyenne, Min, y Max.
\*con una aplicación 4D configurada para usar el lenguaje de programación en francés (ver nota de compatibilidad)
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-21/commands/listbox-set-property.md b/i18n/es/docusaurus-plugin-content-docs/version-21/commands/listbox-set-property.md
index d6641157210542..26236b6a1d6836 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-21/commands/listbox-set-property.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-21/commands/listbox-set-property.md
@@ -77,7 +77,7 @@ Quiere que todas las columnas del list box "MyListbox" sean redimensionables:
## Ejemplo 2
-You want to set a maximum width for the column whose name is "ProductNumber":
+Desea definir un ancho máximo para la columna cuyo nombre es "ProductNumber":
```4d
LISTBOX SET PROPERTY(*; "ProductNumber";lk column max width;200) //Esta columna tendrá un ancho máximo de 200
diff --git a/i18n/fr/docusaurus-plugin-content-docs/current/API/CollectionClass.md b/i18n/fr/docusaurus-plugin-content-docs/current/API/CollectionClass.md
index d035141d566951..996a8855114733 100644
--- a/i18n/fr/docusaurus-plugin-content-docs/current/API/CollectionClass.md
+++ b/i18n/fr/docusaurus-plugin-content-docs/current/API/CollectionClass.md
@@ -271,14 +271,14 @@ $c.combine($fruits;3) //[1,2,3,"Orange","Banana","Apple","Grape",4,5,6]
-**.concat**( *value* : any { *;...valueN* } ) : Collection
+**.concat**( *value* : any { ; *...valueN* } ) : Collection
-| Paramètres | Type | | Description |
-| ---------- | -------------------------------------------------------------- | :-------------------------: | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
-| value | Number, Text, Object, Collection, Date, Time, Boolean, Picture | -> | Valeur(s) à concaténer. Si *value* est une collection, tous ses éléments sont ajoutés comme de nouveaux éléments à la fin de la collection d'origine. |
-| Résultat | Collection | <- | Nouvelle collection contenant les valeurs d'origine et les valeurs ajoutées |
+| Paramètres | Type | | Description |
+| ---------- | ---------- | :-------------------------: | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| value | any | -> | Valeur(s) à concaténer. Si *value* est une collection, tous ses éléments sont ajoutés comme de nouveaux éléments à la fin de la collection d'origine. |
+| Résultat | Collection | <- | Nouvelle collection contenant les valeurs d'origine et les valeurs ajoutées |
@@ -3218,14 +3218,12 @@ La fonction `.sort()` trie les éléments
Si `.sort()` est appelé sans paramètres, seules les valeurs scalaires (nombres, textes, dates, booléens) sont triées. Les éléments sont triés par défaut par ordre croissant, en fonction de leur type.
Vous pouvez également passer une des constantes suivantes dans le paramètre *ascOrDesc* :
-```
-|Constante| Type|Valeur|Comment|
-|---|---|---|
-|ck ascending|Integer|0|Les éléments sont classés par ordre croissant (par défaut)|
-|ck descending|Integer|1|Les éléments sont classés par ordre décroissant|
+| Constante | Type | Valeur | Commentaire |
+| ------------- | ------- | ------ | ----------------------------------------------------------------------- |
+| ck ascending | Integer | 0 | Les éléments sont triés par ordre croissant (défaut) |
+| ck descending | Integer | 1 | Les éléments sont triés par ordre décroissant |
-Cette syntaxe ordonne uniquement les valeurs scalaires dans la collection (les autres types d'éléments tels que les objets ou les collections sont renvoyés non ordonnés).
-```
+Cette syntaxe trie uniquement les valeurs scalaires de la collection (les autres types d'éléments comme les objets ou les collections sont retournés non triés).
Si la collection contient des éléments de différents types, ils sont d'abord groupés par type et triés par la suite. Les types sont renvoyés dans l'ordre suivant :
diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-19/API/CollectionClass.md b/i18n/fr/docusaurus-plugin-content-docs/version-19/API/CollectionClass.md
index 5ab160b59cdd3b..871da10a7e85fb 100644
--- a/i18n/fr/docusaurus-plugin-content-docs/version-19/API/CollectionClass.md
+++ b/i18n/fr/docusaurus-plugin-content-docs/version-19/API/CollectionClass.md
@@ -349,14 +349,14 @@ $c.combine($fruits;3) //[1,2,3,"Orange","Banana","Apple","Grape",4,5,6]
-**.concat**( *value* : any { *;...valueN* } ) : Collection
+**.concat**( *value* : any { ; *...valueN* } ) : Collection
-| Paramètres | Type | | Description |
-| ---------- | -------------------------------------------------------------- |:--:| -------------------------------------------------------------------------------------------------------------------------------- |
-| value | Number, Text, Object, Collection, Date, Time, Boolean, Picture | -> | Valeur(s) à concaténer. Si *value* est une collection, tous les éléments de la collection sont ajoutés à la collection d'origine |
-| Résultat | Collection | <- | Nouvelle collection contenant les valeurs d'origine et les valeurs ajoutées|
+| Paramètres | Type | | Description |
+| ---------- | ---------- |:--:| -------------------------------------------------------------------------------------------------------------------------------- |
+| value | any | -> | Valeur(s) à concaténer. Si *value* est une collection, tous les éléments de la collection sont ajoutés à la collection d'origine |
+| Résultat | Collection | <- | Nouvelle collection contenant les valeurs d'origine et les valeurs ajoutées|
|
diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-20-R10/API/CollectionClass.md b/i18n/fr/docusaurus-plugin-content-docs/version-20-R10/API/CollectionClass.md
index 4988f47bd80d77..996a8855114733 100644
--- a/i18n/fr/docusaurus-plugin-content-docs/version-20-R10/API/CollectionClass.md
+++ b/i18n/fr/docusaurus-plugin-content-docs/version-20-R10/API/CollectionClass.md
@@ -271,14 +271,14 @@ $c.combine($fruits;3) //[1,2,3,"Orange","Banana","Apple","Grape",4,5,6]
-**.concat**( *value* : any { *;...valueN* } ) : Collection
+**.concat**( *value* : any { ; *...valueN* } ) : Collection
-| Paramètres | Type | | Description |
-| ---------- | -------------------------------------------------------------- | :-------------------------: | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
-| value | Number, Text, Object, Collection, Date, Time, Boolean, Picture | -> | Valeur(s) à concaténer. Si *value* est une collection, tous ses éléments sont ajoutés comme de nouveaux éléments à la fin de la collection d'origine. |
-| Résultat | Collection | <- | Nouvelle collection contenant les valeurs d'origine et les valeurs ajoutées |
+| Paramètres | Type | | Description |
+| ---------- | ---------- | :-------------------------: | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| value | any | -> | Valeur(s) à concaténer. Si *value* est une collection, tous ses éléments sont ajoutés comme de nouveaux éléments à la fin de la collection d'origine. |
+| Résultat | Collection | <- | Nouvelle collection contenant les valeurs d'origine et les valeurs ajoutées |
@@ -3218,14 +3218,12 @@ La fonction `.sort()` trie les éléments
Si `.sort()` est appelé sans paramètres, seules les valeurs scalaires (nombres, textes, dates, booléens) sont triées. Les éléments sont triés par défaut par ordre croissant, en fonction de leur type.
Vous pouvez également passer une des constantes suivantes dans le paramètre *ascOrDesc* :
- ```
- |Constante| Type|Valeur|Comment|
- |---|---|---|
- |ck ascending|Integer|0|Les éléments sont classés par ordre croissant (par défaut)|
- |ck descending|Integer|1|Les éléments sont classés par ordre décroissant|
-
- Cette syntaxe ordonne uniquement les valeurs scalaires dans la collection (les autres types d'éléments tels que les objets ou les collections sont renvoyés non ordonnés).
- ```
+| Constante | Type | Valeur | Commentaire |
+| ------------- | ------- | ------ | ----------------------------------------------------------------------- |
+| ck ascending | Integer | 0 | Les éléments sont triés par ordre croissant (défaut) |
+| ck descending | Integer | 1 | Les éléments sont triés par ordre décroissant |
+
+Cette syntaxe trie uniquement les valeurs scalaires de la collection (les autres types d'éléments comme les objets ou les collections sont retournés non triés).
Si la collection contient des éléments de différents types, ils sont d'abord groupés par type et triés par la suite. Les types sont renvoyés dans l'ordre suivant :
diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-20/API/CollectionClass.md b/i18n/fr/docusaurus-plugin-content-docs/version-20/API/CollectionClass.md
index 2981dadefa5b67..72e22a49268788 100644
--- a/i18n/fr/docusaurus-plugin-content-docs/version-20/API/CollectionClass.md
+++ b/i18n/fr/docusaurus-plugin-content-docs/version-20/API/CollectionClass.md
@@ -453,14 +453,14 @@ $c.combine($fruits;3) //[1,2,3,"Orange","Banana","Apple","Grape",4,5,6]
-**.concat**( *value* : any { *;...valueN* } ) : Collection
+**.concat**( *value* : any { ; *...valueN* } ) : Collection
-| Paramètres | Type | | Description |
-| ---------- | -------------------------------------------------------------- |:--:| -------------------------------------------------------------------------------------------------------------------------------- |
-| value | Number, Text, Object, Collection, Date, Time, Boolean, Picture | -> | Valeur(s) à concaténer. Si *value* est une collection, tous les éléments de la collection sont ajoutés à la collection d'origine |
-| Résultat | Collection | <- | Nouvelle collection contenant les valeurs d'origine et les valeurs ajoutées|
+| Paramètres | Type | | Description |
+| ---------- | ---------- |:--:| -------------------------------------------------------------------------------------------------------------------------------- |
+| value | any | -> | Valeur(s) à concaténer. Si *value* est une collection, tous les éléments de la collection sont ajoutés à la collection d'origine |
+| Résultat | Collection | <- | Nouvelle collection contenant les valeurs d'origine et les valeurs ajoutées|
|
diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-21/API/CollectionClass.md b/i18n/fr/docusaurus-plugin-content-docs/version-21/API/CollectionClass.md
index 4988f47bd80d77..996a8855114733 100644
--- a/i18n/fr/docusaurus-plugin-content-docs/version-21/API/CollectionClass.md
+++ b/i18n/fr/docusaurus-plugin-content-docs/version-21/API/CollectionClass.md
@@ -271,14 +271,14 @@ $c.combine($fruits;3) //[1,2,3,"Orange","Banana","Apple","Grape",4,5,6]
-**.concat**( *value* : any { *;...valueN* } ) : Collection
+**.concat**( *value* : any { ; *...valueN* } ) : Collection
-| Paramètres | Type | | Description |
-| ---------- | -------------------------------------------------------------- | :-------------------------: | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
-| value | Number, Text, Object, Collection, Date, Time, Boolean, Picture | -> | Valeur(s) à concaténer. Si *value* est une collection, tous ses éléments sont ajoutés comme de nouveaux éléments à la fin de la collection d'origine. |
-| Résultat | Collection | <- | Nouvelle collection contenant les valeurs d'origine et les valeurs ajoutées |
+| Paramètres | Type | | Description |
+| ---------- | ---------- | :-------------------------: | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| value | any | -> | Valeur(s) à concaténer. Si *value* est une collection, tous ses éléments sont ajoutés comme de nouveaux éléments à la fin de la collection d'origine. |
+| Résultat | Collection | <- | Nouvelle collection contenant les valeurs d'origine et les valeurs ajoutées |
@@ -3218,14 +3218,12 @@ La fonction `.sort()` trie les éléments
Si `.sort()` est appelé sans paramètres, seules les valeurs scalaires (nombres, textes, dates, booléens) sont triées. Les éléments sont triés par défaut par ordre croissant, en fonction de leur type.
Vous pouvez également passer une des constantes suivantes dans le paramètre *ascOrDesc* :
- ```
- |Constante| Type|Valeur|Comment|
- |---|---|---|
- |ck ascending|Integer|0|Les éléments sont classés par ordre croissant (par défaut)|
- |ck descending|Integer|1|Les éléments sont classés par ordre décroissant|
-
- Cette syntaxe ordonne uniquement les valeurs scalaires dans la collection (les autres types d'éléments tels que les objets ou les collections sont renvoyés non ordonnés).
- ```
+| Constante | Type | Valeur | Commentaire |
+| ------------- | ------- | ------ | ----------------------------------------------------------------------- |
+| ck ascending | Integer | 0 | Les éléments sont triés par ordre croissant (défaut) |
+| ck descending | Integer | 1 | Les éléments sont triés par ordre décroissant |
+
+Cette syntaxe trie uniquement les valeurs scalaires de la collection (les autres types d'éléments comme les objets ou les collections sont retournés non triés).
Si la collection contient des éléments de différents types, ils sont d'abord groupés par type et triés par la suite. Les types sont renvoyés dans l'ordre suivant :
diff --git a/i18n/ja/docusaurus-plugin-content-docs/current/API/CollectionClass.md b/i18n/ja/docusaurus-plugin-content-docs/current/API/CollectionClass.md
index 490bac9a2b2ca8..dacbb262053954 100644
--- a/i18n/ja/docusaurus-plugin-content-docs/current/API/CollectionClass.md
+++ b/i18n/ja/docusaurus-plugin-content-docs/current/API/CollectionClass.md
@@ -271,14 +271,14 @@ $c.combine($fruits;3) //[1,2,3,"Orange","Banana","Apple","Grape",4,5,6]
-**.concat**( *value* : any { *;...valueN* } ) : Collection
+**.concat**( *value* : any { ; *...valueN* } ) : Collection
-| 引数 | 型 | | 説明 |
-| ----- | -------------------------------------------------------------- | :-------------------------: | ----------------------------------------------------- |
-| value | Number, Text, Object, Collection, Date, Time, Boolean, Picture | -> | 連結する値。 *value* がコレクションの場合、コレクションの全要素が元のコレクションに追加されます。 |
-| 戻り値 | Collection | <- | 元のコレクションに値が追加された新規コレクション |
+| 引数 | 型 | | 説明 |
+| ----- | ---------- | :-------------------------: | ----------------------------------------------------- |
+| value | any | -> | 連結する値。 *value* がコレクションの場合、コレクションの全要素が元のコレクションに追加されます。 |
+| 戻り値 | Collection | <- | 元のコレクションに値が追加された新規コレクション |
@@ -3222,14 +3222,12 @@ $r:=$c.reduceRight(Formula($1.accumulator*=$1.value); 1) // 戻り値は 86400
引数もなしに呼び出された場合、`.sort()` はスカラー値 (数値、テキスト、日付、ブール) のみを並べ替えます。 デフォルトでは、要素はそれぞれの型に応じて昇順で並べ替えられます。
*ascOrDesc* 引数には、以下の定数のいずれか一つを渡すことができます:
-```
-|定数| 型|値|詳細|
-|---|---|---|---|
-|ck ascending|Integer|0|要素は昇順に並んでいます(デフォルト)|
-|ck descending|Integer|1|要素は降順に並んでいます|
+| 定数 | 型 | 値 | 説明 |
+| ------------- | ------- | - | --------------------------------------- |
+| ck ascending | Integer | 0 | 要素は昇順に並べられます (デフォルト) |
+| ck descending | Integer | 1 | 要素は降順に並べられます |
-このシンタックスはコレクション内のスカラー値のみを並び替えます(オブジェクトやコレクションなどの他の型の要素は並べ替えされません)。
-```
+このシンタックスは、コレクション内のスカラー値のみを並べ替えます (オブジェクトやコレクションなどの他の型は並べ替えされないまま返されます)。
コレクションが異なる型の要素を格納している場合、それらはまず型ごとにグループ分けされ、そのあとで並べ替えられます。 型は以下の順番で返されます:
diff --git a/i18n/ja/docusaurus-plugin-content-docs/current/ORDA/ordaClasses.md b/i18n/ja/docusaurus-plugin-content-docs/current/ORDA/ordaClasses.md
index 621d59f027e73c..ff642548a8b4d2 100644
--- a/i18n/ja/docusaurus-plugin-content-docs/current/ORDA/ordaClasses.md
+++ b/i18n/ja/docusaurus-plugin-content-docs/current/ORDA/ordaClasses.md
@@ -439,13 +439,13 @@ sequenceDiagram
Qodly page->>+Server: product Qodly source := Function call Products.createNew()
-Note over Server: CreateNew() function on the Products class
return This.new()
+Note over Server: Products クラスのCreateNew() 関数は
This.new() を返す
Note over Server: Class constructor
This.creationDate:=Current date()
This.comment:="Automatic comment"
-Server-->>-Qodly page: The product entity creationDate and comment attributes are filled
+Server-->>-Qodly page: product エンティティの creationDate と comment 属性には値が入れられる
-Note over Qodly page: product.creationDate is "06/17/25"
and product.comment is "Automatic comment"
+Note over Qodly page: product.creationDate は "25/06/17"
そして product.comment は "Automatic comment"
```
@@ -936,18 +936,18 @@ $arch.save() //courseName と name は "Archaeology II" に変更されます
## 公開vs非公開関数
-For security reasons, all of your data model class functions, including [computed attributes](#computed-attributes-1) and [alias attributes](#alias-attributes-1), as well as [shared singleton functions](../Concepts/classes.md#shared-singleton) are **not exposed** (i.e., private) by default to **remote requests**.
+セキュリティ上の理由から、[計算属性](#計算属性-1) と [エイリアス属性](#エイリアス属性-1) と、[共有シングルトン関数](../Concepts/classes.md#共有シングルトン) を含めたデータモデルクラス関数は**リモートリクエスト**に対してはデフォルトでは**公開されていません** (つまり非公開です)。
-Remote requests are:
+リモートリクエストとは以下のものを指します:
- `Open datastore` によって接続されたリモートの 4Dアプリケーションが送信するリクエスト
-- REST requests, including requests from [Qodly pages](https://developer.4d.com/qodly/)
+- REST リクエスト、[Qodly ページ](https://developer.4d.com/qodly/) からのリクエストも含める
> 通常の 4Dクライアント/サーバーリクエストは影響されません。 このアーキテクチャーにおいては、データモデルクラス関数は常に利用可能です。
公開されていない関数はリモートアプリケーションで利用することができず、RESTリクエストによるオブジェクトインスタンスに対して呼び出すこともできません。 リモートアプリケーションが非公開関数をアクセスしようとすると、"-10729 (未知のメンバー機能です)" エラーが返されます。
-To allow a function or an attribute to be called by a remote request, you must explicitly declare it using the `exposed` keyword. シンタックスは次の通りです:
+関数あるいは属性がリモートリクエストから呼び出されるのを許可するためには、`exposed` キーワードを使って明示的に宣言する必要があります。 シンタックスは次の通りです:
```4d
// 公開関数の宣言
@@ -956,24 +956,24 @@ exposed Function
```
```4d
-// declare an exposed alias
+// 公開されたエイリアスの宣言
exposed Alias
```
```4d
-// declare an exposed computed attribute
+// 公開された計算属性の宣言
exposed Function get
```
```4d
-// declare a shared singleton function
+// 共有シングルトン関数の宣言
shared singleton Class constructor()
exposed Function
```
:::note
-The `exposed` keyword can only be used with the objects decribed above. [通常のユーザークラス](Concepts/classes.md) 関数に対して使った場合、キーワードは無視され、コンパイラーはエラーを返します。
+`exposed` キーワードは上記で説明されているオブジェクトでのみ使用できます。 [通常のユーザークラス](Concepts/classes.md) 関数に対して使った場合、キーワードは無視され、コンパイラーはエラーを返します。
:::
diff --git a/i18n/ja/docusaurus-plugin-content-docs/current/ORDA/privileges.md b/i18n/ja/docusaurus-plugin-content-docs/current/ORDA/privileges.md
index cd4fbfc0254764..c61a659924f96b 100644
--- a/i18n/ja/docusaurus-plugin-content-docs/current/ORDA/privileges.md
+++ b/i18n/ja/docusaurus-plugin-content-docs/current/ORDA/privileges.md
@@ -1,6 +1,6 @@
---
id: privileges
-title: Roles and Privileges
+title: ロールと権限
---
データ保護と、承認ユーザーによる迅速かつ容易なデータアクセスを両立することは、Webアプリケーションにとって大きな課題です。 ORDA のセキュリティアーキテクチャーはデータストアの中心に実装されており、プロジェクト内のさまざまなリソース (データストア、データクラス、関数など) に対して、すべての Web または REST ユーザーセッションに特定の権限を定義することができます。
@@ -17,7 +17,7 @@ Webユーザーまたは RESTユーザーがログインすると、そのセッ

-:::tip Related Blog posts
+:::tip 関連したBlog 記事
[**Filter access to your data with a complete system of permissions**](https://blog.4d.com/filter-access-to-your-data-with-a-complete-system-of-permissions/)
@@ -27,11 +27,11 @@ Webユーザーまたは RESTユーザーがログインすると、そのセッ
プロジェクト内の以下のリソースに対して、許諾アクションと権限名を割り当てることができます (この設定をパーミッションと呼びます):
-- the [datastore](../ORDA/dsMapping.md#datastore)
-- the [dataclasses](../ORDA/dsMapping.md#dataclass)
-- [attributes](../ORDA/dsMapping.md#attribute) (including [computed](./ordaClasses.md#computed-attributes-1) and [alias](./ordaClasses.md#alias-attributes-1))
-- functions of the [data model classes](../ORDA/ordaClasses.md)
-- [singleton](../REST/$singleton.md) functions
+- [データストア](../ORDA/dsMapping.md#データストア)
+- [データクラス](../ORDA/dsMapping.md#データクラス)
+- [属性](../ORDA/dsMapping.md#属性) ([計算属性](./ordaClasses.md#計算属性-1) および [エイリアス属性](./ordaClasses.md#エイリアス属性-1)を含む)
+- [データモデルクラス](../ORDA/ordaClasses.md) の関数
+- [シングルトン](../REST/$singleton.md) 関数
セッションがリソースにアクセスするたびに (アクセス形式に関係なく)、4D はセッションの権限を確認し、許可されていない場合にはアクセスを拒否します。
@@ -128,11 +128,11 @@ It means that you cannot use the same function names in the various ORDA classes
## 権限とロール
-**権限** とは、**リソース** に対して **アクション** を実行する技術的な能力であり、**ロール** は、管理者が使用するために公開された権限のことです。 基本的にロールとは、ビジネスユーザーのプロフィールを定義するためにいくつかの権限を集めたものです。 たとえば、"manageInvoices" (請求書管理) は権限の例で、"secretary" (秘書) は ("manageInvoices" および他の権限を持つ) ロールの例です。 基本的にロールとは、ビジネスユーザーのプロフィールを定義するためにいくつかの権限を集めたものです。 たとえば、"manageInvoices" (請求書管理) は権限の例で、"secretary" (秘書) は ("manageInvoices" および他の権限を持つ) ロールの例です。
+**権限** とは、**リソース** に対して **アクション** を実行する技術的な能力であり、**ロール** は、管理者が使用するために公開された権限のことです。 基本的にロールとは、ビジネスユーザーのプロフィールを定義するためにいくつかの権限を集めたものです。 たとえば、"manageInvoices" (請求書管理) は権限の例で、"secretary" (秘書) は ("manageInvoices" および他の権限を持つ) ロールの例です。
権限は、複数の "リソース+アクション" の組み合わせと関連付けることができます。 また、一つのアクションに複数の権限を関連付けることができます。 権限は、他の権限を含むことができます。
-- 権限やロールの **作成** は `roles.json` ファイル内にておこないます (後述参照)。 アクセス権の範囲を **設定** するには、リソースに適用される許諾アクションに権限名を割り当てます。 アクセス権の範囲を **設定** するには、リソースに適用される許諾アクションに権限名を割り当てます。 アクセス権の範囲を **設定** するには、リソースに適用される許諾アクションに権限名を割り当てます。 アクセス権の範囲を **設定** するには、リソースに適用される許諾アクションに権限名を割り当てます。 アクセス権の範囲を **設定** するには、リソースに適用される許諾アクションに権限名を割り当てます。 アクセス権の範囲を **設定** するには、リソースに適用される許諾アクションに権限名を割り当てます。 アクセス権の範囲を **設定** するには、リソースに適用される許諾アクションに権限名を割り当てます。 アクセス権の範囲を **設定** するには、リソースに適用される許諾アクションに権限名を割り当てます。 アクセス権の範囲を **設定** するには、リソースに適用される許諾アクションに権限名を割り当てます。
+- 権限やロールの **作成** は `roles.json` ファイル内にておこないます (後述参照)。 アクセス権の範囲を **設定** するには、リソースに適用される許諾アクションに権限名を割り当てます。
- 各ユーザーセッションに権限やロールを **許可** するには、`Session` クラスの [`.setPrivileges()`](../API/SessionClass.md#setprivileges) 関数を使用します。
diff --git a/i18n/ja/docusaurus-plugin-content-docs/version-19/API/CollectionClass.md b/i18n/ja/docusaurus-plugin-content-docs/version-19/API/CollectionClass.md
index 9c9b73a778df06..417448a7c043dc 100644
--- a/i18n/ja/docusaurus-plugin-content-docs/version-19/API/CollectionClass.md
+++ b/i18n/ja/docusaurus-plugin-content-docs/version-19/API/CollectionClass.md
@@ -349,14 +349,14 @@ $c.combine($fruits;3) //[1,2,3,"Orange","Banana","Apple","Grape",4,5,6]
-**.concat**( *value* : any { *;...valueN* } ) : Collection
+**.concat**( *value* : any { ; *...valueN* } ) : Collection
-| 引数 | 型 | | 説明 |
-| ----- | -------------------------------------------------------------- |:--:| ----------------------------------------------------- |
-| value | Number, Text, Object, Collection, Date, Time, Boolean, Picture | -> | 連結する値。 *value* がコレクションの場合、コレクションの全要素が元のコレクションに追加されます。 |
-| 戻り値 | Collection | <- | 元のコレクションに値が追加された新規コレクション|
+| 引数 | 型 | | 説明 |
+| ----- | ---------- |:--:| ----------------------------------------------------- |
+| value | any | -> | 連結する値。 *value* がコレクションの場合、コレクションの全要素が元のコレクションに追加されます。 |
+| 戻り値 | Collection | <- | 元のコレクションに値が追加された新規コレクション|
|
diff --git a/i18n/ja/docusaurus-plugin-content-docs/version-20-R10/API/CollectionClass.md b/i18n/ja/docusaurus-plugin-content-docs/version-20-R10/API/CollectionClass.md
index a1e68f21ebc952..dacbb262053954 100644
--- a/i18n/ja/docusaurus-plugin-content-docs/version-20-R10/API/CollectionClass.md
+++ b/i18n/ja/docusaurus-plugin-content-docs/version-20-R10/API/CollectionClass.md
@@ -271,14 +271,14 @@ $c.combine($fruits;3) //[1,2,3,"Orange","Banana","Apple","Grape",4,5,6]
-**.concat**( *value* : any { *;...valueN* } ) : Collection
+**.concat**( *value* : any { ; *...valueN* } ) : Collection
-| 引数 | 型 | | 説明 |
-| ----- | -------------------------------------------------------------- | :-------------------------: | ----------------------------------------------------- |
-| value | Number, Text, Object, Collection, Date, Time, Boolean, Picture | -> | 連結する値。 *value* がコレクションの場合、コレクションの全要素が元のコレクションに追加されます。 |
-| 戻り値 | Collection | <- | 元のコレクションに値が追加された新規コレクション |
+| 引数 | 型 | | 説明 |
+| ----- | ---------- | :-------------------------: | ----------------------------------------------------- |
+| value | any | -> | 連結する値。 *value* がコレクションの場合、コレクションの全要素が元のコレクションに追加されます。 |
+| 戻り値 | Collection | <- | 元のコレクションに値が追加された新規コレクション |
@@ -3222,14 +3222,12 @@ $r:=$c.reduceRight(Formula($1.accumulator*=$1.value); 1) // 戻り値は 86400
引数もなしに呼び出された場合、`.sort()` はスカラー値 (数値、テキスト、日付、ブール) のみを並べ替えます。 デフォルトでは、要素はそれぞれの型に応じて昇順で並べ替えられます。
*ascOrDesc* 引数には、以下の定数のいずれか一つを渡すことができます:
- ```
- |定数| 型|値|詳細|
- |---|---|---|---|
- |ck ascending|Integer|0|要素は昇順に並んでいます(デフォルト)|
- |ck descending|Integer|1|要素は降順に並んでいます|
-
- このシンタックスはコレクション内のスカラー値のみを並び替えます(オブジェクトやコレクションなどの他の型の要素は並べ替えされません)。
- ```
+| 定数 | 型 | 値 | 説明 |
+| ------------- | ------- | - | --------------------------------------- |
+| ck ascending | Integer | 0 | 要素は昇順に並べられます (デフォルト) |
+| ck descending | Integer | 1 | 要素は降順に並べられます |
+
+このシンタックスは、コレクション内のスカラー値のみを並べ替えます (オブジェクトやコレクションなどの他の型は並べ替えされないまま返されます)。
コレクションが異なる型の要素を格納している場合、それらはまず型ごとにグループ分けされ、そのあとで並べ替えられます。 型は以下の順番で返されます:
diff --git a/i18n/ja/docusaurus-plugin-content-docs/version-20-R10/ORDA/ordaClasses.md b/i18n/ja/docusaurus-plugin-content-docs/version-20-R10/ORDA/ordaClasses.md
index 621d59f027e73c..ff642548a8b4d2 100644
--- a/i18n/ja/docusaurus-plugin-content-docs/version-20-R10/ORDA/ordaClasses.md
+++ b/i18n/ja/docusaurus-plugin-content-docs/version-20-R10/ORDA/ordaClasses.md
@@ -439,13 +439,13 @@ sequenceDiagram
Qodly page->>+Server: product Qodly source := Function call Products.createNew()
-Note over Server: CreateNew() function on the Products class
return This.new()
+Note over Server: Products クラスのCreateNew() 関数は
This.new() を返す
Note over Server: Class constructor
This.creationDate:=Current date()
This.comment:="Automatic comment"
-Server-->>-Qodly page: The product entity creationDate and comment attributes are filled
+Server-->>-Qodly page: product エンティティの creationDate と comment 属性には値が入れられる
-Note over Qodly page: product.creationDate is "06/17/25"
and product.comment is "Automatic comment"
+Note over Qodly page: product.creationDate は "25/06/17"
そして product.comment は "Automatic comment"
```
@@ -936,18 +936,18 @@ $arch.save() //courseName と name は "Archaeology II" に変更されます
## 公開vs非公開関数
-For security reasons, all of your data model class functions, including [computed attributes](#computed-attributes-1) and [alias attributes](#alias-attributes-1), as well as [shared singleton functions](../Concepts/classes.md#shared-singleton) are **not exposed** (i.e., private) by default to **remote requests**.
+セキュリティ上の理由から、[計算属性](#計算属性-1) と [エイリアス属性](#エイリアス属性-1) と、[共有シングルトン関数](../Concepts/classes.md#共有シングルトン) を含めたデータモデルクラス関数は**リモートリクエスト**に対してはデフォルトでは**公開されていません** (つまり非公開です)。
-Remote requests are:
+リモートリクエストとは以下のものを指します:
- `Open datastore` によって接続されたリモートの 4Dアプリケーションが送信するリクエスト
-- REST requests, including requests from [Qodly pages](https://developer.4d.com/qodly/)
+- REST リクエスト、[Qodly ページ](https://developer.4d.com/qodly/) からのリクエストも含める
> 通常の 4Dクライアント/サーバーリクエストは影響されません。 このアーキテクチャーにおいては、データモデルクラス関数は常に利用可能です。
公開されていない関数はリモートアプリケーションで利用することができず、RESTリクエストによるオブジェクトインスタンスに対して呼び出すこともできません。 リモートアプリケーションが非公開関数をアクセスしようとすると、"-10729 (未知のメンバー機能です)" エラーが返されます。
-To allow a function or an attribute to be called by a remote request, you must explicitly declare it using the `exposed` keyword. シンタックスは次の通りです:
+関数あるいは属性がリモートリクエストから呼び出されるのを許可するためには、`exposed` キーワードを使って明示的に宣言する必要があります。 シンタックスは次の通りです:
```4d
// 公開関数の宣言
@@ -956,24 +956,24 @@ exposed Function
```
```4d
-// declare an exposed alias
+// 公開されたエイリアスの宣言
exposed Alias
```
```4d
-// declare an exposed computed attribute
+// 公開された計算属性の宣言
exposed Function get
```
```4d
-// declare a shared singleton function
+// 共有シングルトン関数の宣言
shared singleton Class constructor()
exposed Function
```
:::note
-The `exposed` keyword can only be used with the objects decribed above. [通常のユーザークラス](Concepts/classes.md) 関数に対して使った場合、キーワードは無視され、コンパイラーはエラーを返します。
+`exposed` キーワードは上記で説明されているオブジェクトでのみ使用できます。 [通常のユーザークラス](Concepts/classes.md) 関数に対して使った場合、キーワードは無視され、コンパイラーはエラーを返します。
:::
diff --git a/i18n/ja/docusaurus-plugin-content-docs/version-20-R10/ORDA/privileges.md b/i18n/ja/docusaurus-plugin-content-docs/version-20-R10/ORDA/privileges.md
index 8e1688c5125199..58042a097bd9f6 100644
--- a/i18n/ja/docusaurus-plugin-content-docs/version-20-R10/ORDA/privileges.md
+++ b/i18n/ja/docusaurus-plugin-content-docs/version-20-R10/ORDA/privileges.md
@@ -1,6 +1,6 @@
---
id: privileges
-title: Roles and Privileges
+title: ロールと権限
---
データ保護と、承認ユーザーによる迅速かつ容易なデータアクセスを両立することは、Webアプリケーションにとって大きな課題です。 ORDA のセキュリティアーキテクチャーはデータストアの中心に実装されており、プロジェクト内のさまざまなリソース (データストア、データクラス、関数など) に対して、すべての Web または REST ユーザーセッションに特定の権限を定義することができます。
@@ -73,11 +73,11 @@ Webユーザーまたは RESTユーザーがログインすると、そのセッ
## 権限とロール
-**権限** とは、**リソース** に対して **アクション** を実行する技術的な能力であり、**ロール** は、管理者が使用するために公開された権限のことです。 基本的にロールとは、ビジネスユーザーのプロフィールを定義するためにいくつかの権限を集めたものです。 たとえば、"manageInvoices" (請求書管理) は権限の例で、"secretary" (秘書) は ("manageInvoices" および他の権限を持つ) ロールの例です。 基本的にロールとは、ビジネスユーザーのプロフィールを定義するためにいくつかの権限を集めたものです。 たとえば、"manageInvoices" (請求書管理) は権限の例で、"secretary" (秘書) は ("manageInvoices" および他の権限を持つ) ロールの例です。
+**権限** とは、**リソース** に対して **アクション** を実行する技術的な能力であり、**ロール** は、管理者が使用するために公開された権限のことです。 基本的にロールとは、ビジネスユーザーのプロフィールを定義するためにいくつかの権限を集めたものです。 たとえば、"manageInvoices" (請求書管理) は権限の例で、"secretary" (秘書) は ("manageInvoices" および他の権限を持つ) ロールの例です。
権限は、複数の "リソース+アクション" の組み合わせと関連付けることができます。 また、一つのアクションに複数の権限を関連付けることができます。 権限は、他の権限を含むことができます。
-- 権限やロールの **作成** は `roles.json` ファイル内にておこないます (後述参照)。 アクセス権の範囲を **設定** するには、リソースに適用される許諾アクションに権限名を割り当てます。 アクセス権の範囲を **設定** するには、リソースに適用される許諾アクションに権限名を割り当てます。 アクセス権の範囲を **設定** するには、リソースに適用される許諾アクションに権限名を割り当てます。 アクセス権の範囲を **設定** するには、リソースに適用される許諾アクションに権限名を割り当てます。 アクセス権の範囲を **設定** するには、リソースに適用される許諾アクションに権限名を割り当てます。 アクセス権の範囲を **設定** するには、リソースに適用される許諾アクションに権限名を割り当てます。 アクセス権の範囲を **設定** するには、リソースに適用される許諾アクションに権限名を割り当てます。 アクセス権の範囲を **設定** するには、リソースに適用される許諾アクションに権限名を割り当てます。 アクセス権の範囲を **設定** するには、リソースに適用される許諾アクションに権限名を割り当てます。
+- 権限やロールの **作成** は `roles.json` ファイル内にておこないます (後述参照)。 アクセス権の範囲を **設定** するには、リソースに適用される許諾アクションに権限名を割り当てます。
- 各ユーザーセッションに権限やロールを **許可** するには、`Session` クラスの [`.setPrivileges()`](../API/SessionClass.md#setprivileges) 関数を使用します。
diff --git a/i18n/ja/docusaurus-plugin-content-docs/version-20/API/CollectionClass.md b/i18n/ja/docusaurus-plugin-content-docs/version-20/API/CollectionClass.md
index 25b280bd677ca0..5ad3fbfcd1dcea 100644
--- a/i18n/ja/docusaurus-plugin-content-docs/version-20/API/CollectionClass.md
+++ b/i18n/ja/docusaurus-plugin-content-docs/version-20/API/CollectionClass.md
@@ -453,14 +453,14 @@ $c.combine($fruits;3) //[1,2,3,"Orange","Banana","Apple","Grape",4,5,6]
-**.concat**( *value* : any { *;...valueN* } ) : Collection
+**.concat**( *value* : any { ; *...valueN* } ) : Collection
-| 引数 | 型 | | 説明 |
-| ----- | -------------------------------------------------------------- |:--:| ----------------------------------------------------- |
-| value | Number, Text, Object, Collection, Date, Time, Boolean, Picture | -> | 連結する値。 *value* がコレクションの場合、コレクションの全要素が元のコレクションに追加されます。 |
-| 戻り値 | Collection | <- | 元のコレクションに値が追加された新規コレクション|
+| 引数 | 型 | | 説明 |
+| ----- | ---------- |:--:| ----------------------------------------------------- |
+| value | any | -> | 連結する値。 *value* がコレクションの場合、コレクションの全要素が元のコレクションに追加されます。 |
+| 戻り値 | Collection | <- | 元のコレクションに値が追加された新規コレクション|
|
diff --git a/i18n/ja/docusaurus-plugin-content-docs/version-21/API/CollectionClass.md b/i18n/ja/docusaurus-plugin-content-docs/version-21/API/CollectionClass.md
index a1e68f21ebc952..dacbb262053954 100644
--- a/i18n/ja/docusaurus-plugin-content-docs/version-21/API/CollectionClass.md
+++ b/i18n/ja/docusaurus-plugin-content-docs/version-21/API/CollectionClass.md
@@ -271,14 +271,14 @@ $c.combine($fruits;3) //[1,2,3,"Orange","Banana","Apple","Grape",4,5,6]
-**.concat**( *value* : any { *;...valueN* } ) : Collection
+**.concat**( *value* : any { ; *...valueN* } ) : Collection
-| 引数 | 型 | | 説明 |
-| ----- | -------------------------------------------------------------- | :-------------------------: | ----------------------------------------------------- |
-| value | Number, Text, Object, Collection, Date, Time, Boolean, Picture | -> | 連結する値。 *value* がコレクションの場合、コレクションの全要素が元のコレクションに追加されます。 |
-| 戻り値 | Collection | <- | 元のコレクションに値が追加された新規コレクション |
+| 引数 | 型 | | 説明 |
+| ----- | ---------- | :-------------------------: | ----------------------------------------------------- |
+| value | any | -> | 連結する値。 *value* がコレクションの場合、コレクションの全要素が元のコレクションに追加されます。 |
+| 戻り値 | Collection | <- | 元のコレクションに値が追加された新規コレクション |
@@ -3222,14 +3222,12 @@ $r:=$c.reduceRight(Formula($1.accumulator*=$1.value); 1) // 戻り値は 86400
引数もなしに呼び出された場合、`.sort()` はスカラー値 (数値、テキスト、日付、ブール) のみを並べ替えます。 デフォルトでは、要素はそれぞれの型に応じて昇順で並べ替えられます。
*ascOrDesc* 引数には、以下の定数のいずれか一つを渡すことができます:
- ```
- |定数| 型|値|詳細|
- |---|---|---|---|
- |ck ascending|Integer|0|要素は昇順に並んでいます(デフォルト)|
- |ck descending|Integer|1|要素は降順に並んでいます|
-
- このシンタックスはコレクション内のスカラー値のみを並び替えます(オブジェクトやコレクションなどの他の型の要素は並べ替えされません)。
- ```
+| 定数 | 型 | 値 | 説明 |
+| ------------- | ------- | - | --------------------------------------- |
+| ck ascending | Integer | 0 | 要素は昇順に並べられます (デフォルト) |
+| ck descending | Integer | 1 | 要素は降順に並べられます |
+
+このシンタックスは、コレクション内のスカラー値のみを並べ替えます (オブジェクトやコレクションなどの他の型は並べ替えされないまま返されます)。
コレクションが異なる型の要素を格納している場合、それらはまず型ごとにグループ分けされ、そのあとで並べ替えられます。 型は以下の順番で返されます:
diff --git a/i18n/ja/docusaurus-plugin-content-docs/version-21/ORDA/ordaClasses.md b/i18n/ja/docusaurus-plugin-content-docs/version-21/ORDA/ordaClasses.md
index 621d59f027e73c..ff642548a8b4d2 100644
--- a/i18n/ja/docusaurus-plugin-content-docs/version-21/ORDA/ordaClasses.md
+++ b/i18n/ja/docusaurus-plugin-content-docs/version-21/ORDA/ordaClasses.md
@@ -439,13 +439,13 @@ sequenceDiagram
Qodly page->>+Server: product Qodly source := Function call Products.createNew()
-Note over Server: CreateNew() function on the Products class
return This.new()
+Note over Server: Products クラスのCreateNew() 関数は
This.new() を返す
Note over Server: Class constructor
This.creationDate:=Current date()
This.comment:="Automatic comment"
-Server-->>-Qodly page: The product entity creationDate and comment attributes are filled
+Server-->>-Qodly page: product エンティティの creationDate と comment 属性には値が入れられる
-Note over Qodly page: product.creationDate is "06/17/25"
and product.comment is "Automatic comment"
+Note over Qodly page: product.creationDate は "25/06/17"
そして product.comment は "Automatic comment"
```
@@ -936,18 +936,18 @@ $arch.save() //courseName と name は "Archaeology II" に変更されます
## 公開vs非公開関数
-For security reasons, all of your data model class functions, including [computed attributes](#computed-attributes-1) and [alias attributes](#alias-attributes-1), as well as [shared singleton functions](../Concepts/classes.md#shared-singleton) are **not exposed** (i.e., private) by default to **remote requests**.
+セキュリティ上の理由から、[計算属性](#計算属性-1) と [エイリアス属性](#エイリアス属性-1) と、[共有シングルトン関数](../Concepts/classes.md#共有シングルトン) を含めたデータモデルクラス関数は**リモートリクエスト**に対してはデフォルトでは**公開されていません** (つまり非公開です)。
-Remote requests are:
+リモートリクエストとは以下のものを指します:
- `Open datastore` によって接続されたリモートの 4Dアプリケーションが送信するリクエスト
-- REST requests, including requests from [Qodly pages](https://developer.4d.com/qodly/)
+- REST リクエスト、[Qodly ページ](https://developer.4d.com/qodly/) からのリクエストも含める
> 通常の 4Dクライアント/サーバーリクエストは影響されません。 このアーキテクチャーにおいては、データモデルクラス関数は常に利用可能です。
公開されていない関数はリモートアプリケーションで利用することができず、RESTリクエストによるオブジェクトインスタンスに対して呼び出すこともできません。 リモートアプリケーションが非公開関数をアクセスしようとすると、"-10729 (未知のメンバー機能です)" エラーが返されます。
-To allow a function or an attribute to be called by a remote request, you must explicitly declare it using the `exposed` keyword. シンタックスは次の通りです:
+関数あるいは属性がリモートリクエストから呼び出されるのを許可するためには、`exposed` キーワードを使って明示的に宣言する必要があります。 シンタックスは次の通りです:
```4d
// 公開関数の宣言
@@ -956,24 +956,24 @@ exposed Function
```
```4d
-// declare an exposed alias
+// 公開されたエイリアスの宣言
exposed Alias
```
```4d
-// declare an exposed computed attribute
+// 公開された計算属性の宣言
exposed Function get
```
```4d
-// declare a shared singleton function
+// 共有シングルトン関数の宣言
shared singleton Class constructor()
exposed Function
```
:::note
-The `exposed` keyword can only be used with the objects decribed above. [通常のユーザークラス](Concepts/classes.md) 関数に対して使った場合、キーワードは無視され、コンパイラーはエラーを返します。
+`exposed` キーワードは上記で説明されているオブジェクトでのみ使用できます。 [通常のユーザークラス](Concepts/classes.md) 関数に対して使った場合、キーワードは無視され、コンパイラーはエラーを返します。
:::
diff --git a/i18n/ja/docusaurus-plugin-content-docs/version-21/ORDA/privileges.md b/i18n/ja/docusaurus-plugin-content-docs/version-21/ORDA/privileges.md
index cd4fbfc0254764..c61a659924f96b 100644
--- a/i18n/ja/docusaurus-plugin-content-docs/version-21/ORDA/privileges.md
+++ b/i18n/ja/docusaurus-plugin-content-docs/version-21/ORDA/privileges.md
@@ -1,6 +1,6 @@
---
id: privileges
-title: Roles and Privileges
+title: ロールと権限
---
データ保護と、承認ユーザーによる迅速かつ容易なデータアクセスを両立することは、Webアプリケーションにとって大きな課題です。 ORDA のセキュリティアーキテクチャーはデータストアの中心に実装されており、プロジェクト内のさまざまなリソース (データストア、データクラス、関数など) に対して、すべての Web または REST ユーザーセッションに特定の権限を定義することができます。
@@ -17,7 +17,7 @@ Webユーザーまたは RESTユーザーがログインすると、そのセッ

-:::tip Related Blog posts
+:::tip 関連したBlog 記事
[**Filter access to your data with a complete system of permissions**](https://blog.4d.com/filter-access-to-your-data-with-a-complete-system-of-permissions/)
@@ -27,11 +27,11 @@ Webユーザーまたは RESTユーザーがログインすると、そのセッ
プロジェクト内の以下のリソースに対して、許諾アクションと権限名を割り当てることができます (この設定をパーミッションと呼びます):
-- the [datastore](../ORDA/dsMapping.md#datastore)
-- the [dataclasses](../ORDA/dsMapping.md#dataclass)
-- [attributes](../ORDA/dsMapping.md#attribute) (including [computed](./ordaClasses.md#computed-attributes-1) and [alias](./ordaClasses.md#alias-attributes-1))
-- functions of the [data model classes](../ORDA/ordaClasses.md)
-- [singleton](../REST/$singleton.md) functions
+- [データストア](../ORDA/dsMapping.md#データストア)
+- [データクラス](../ORDA/dsMapping.md#データクラス)
+- [属性](../ORDA/dsMapping.md#属性) ([計算属性](./ordaClasses.md#計算属性-1) および [エイリアス属性](./ordaClasses.md#エイリアス属性-1)を含む)
+- [データモデルクラス](../ORDA/ordaClasses.md) の関数
+- [シングルトン](../REST/$singleton.md) 関数
セッションがリソースにアクセスするたびに (アクセス形式に関係なく)、4D はセッションの権限を確認し、許可されていない場合にはアクセスを拒否します。
@@ -128,11 +128,11 @@ It means that you cannot use the same function names in the various ORDA classes
## 権限とロール
-**権限** とは、**リソース** に対して **アクション** を実行する技術的な能力であり、**ロール** は、管理者が使用するために公開された権限のことです。 基本的にロールとは、ビジネスユーザーのプロフィールを定義するためにいくつかの権限を集めたものです。 たとえば、"manageInvoices" (請求書管理) は権限の例で、"secretary" (秘書) は ("manageInvoices" および他の権限を持つ) ロールの例です。 基本的にロールとは、ビジネスユーザーのプロフィールを定義するためにいくつかの権限を集めたものです。 たとえば、"manageInvoices" (請求書管理) は権限の例で、"secretary" (秘書) は ("manageInvoices" および他の権限を持つ) ロールの例です。
+**権限** とは、**リソース** に対して **アクション** を実行する技術的な能力であり、**ロール** は、管理者が使用するために公開された権限のことです。 基本的にロールとは、ビジネスユーザーのプロフィールを定義するためにいくつかの権限を集めたものです。 たとえば、"manageInvoices" (請求書管理) は権限の例で、"secretary" (秘書) は ("manageInvoices" および他の権限を持つ) ロールの例です。
権限は、複数の "リソース+アクション" の組み合わせと関連付けることができます。 また、一つのアクションに複数の権限を関連付けることができます。 権限は、他の権限を含むことができます。
-- 権限やロールの **作成** は `roles.json` ファイル内にておこないます (後述参照)。 アクセス権の範囲を **設定** するには、リソースに適用される許諾アクションに権限名を割り当てます。 アクセス権の範囲を **設定** するには、リソースに適用される許諾アクションに権限名を割り当てます。 アクセス権の範囲を **設定** するには、リソースに適用される許諾アクションに権限名を割り当てます。 アクセス権の範囲を **設定** するには、リソースに適用される許諾アクションに権限名を割り当てます。 アクセス権の範囲を **設定** するには、リソースに適用される許諾アクションに権限名を割り当てます。 アクセス権の範囲を **設定** するには、リソースに適用される許諾アクションに権限名を割り当てます。 アクセス権の範囲を **設定** するには、リソースに適用される許諾アクションに権限名を割り当てます。 アクセス権の範囲を **設定** するには、リソースに適用される許諾アクションに権限名を割り当てます。 アクセス権の範囲を **設定** するには、リソースに適用される許諾アクションに権限名を割り当てます。
+- 権限やロールの **作成** は `roles.json` ファイル内にておこないます (後述参照)。 アクセス権の範囲を **設定** するには、リソースに適用される許諾アクションに権限名を割り当てます。
- 各ユーザーセッションに権限やロールを **許可** するには、`Session` クラスの [`.setPrivileges()`](../API/SessionClass.md#setprivileges) 関数を使用します。
diff --git a/i18n/pt/docusaurus-plugin-content-docs/current/API/CollectionClass.md b/i18n/pt/docusaurus-plugin-content-docs/current/API/CollectionClass.md
index ceeec01850bac0..412569850f005e 100644
--- a/i18n/pt/docusaurus-plugin-content-docs/current/API/CollectionClass.md
+++ b/i18n/pt/docusaurus-plugin-content-docs/current/API/CollectionClass.md
@@ -271,14 +271,14 @@ $c.combine($fruits;3) //[1,2,3,"Orange","Banana","Apple","Grape",4,5,6]
-**.concat**( *value* : any { *;...valueN* } ) : Collection
+**.concat**( *value* : any { ; *...valueN* } ) : Collection
-| Parâmetro | Tipo | | Descrição |
-| ---------- | -------------------------------------------------------------- | :-------------------------: | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
-| value | Number, Text, Object, Collection, Date, Time, Boolean, Picture | -> | Valores a concatenar. Se *valor* for uma coleção, todos os seus elementos serão adicionados como novos elementos no final da coleção original. |
-| Resultados | Collection | <- | Nova coleção com valores adicionados à coleção original |
+| Parâmetro | Tipo | | Descrição |
+| ---------- | ---------- | :-------------------------: | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
+| value | any | -> | Valores a concatenar. Se *valor* for uma coleção, todos os seus elementos serão adicionados como novos elementos no final da coleção original. |
+| Resultados | Collection | <- | Nova coleção com valores adicionados à coleção original |
@@ -3195,14 +3195,12 @@ A função `.sort()` classifica os elemen
Se `.sort()` for chamado sem parâmetros, somente os valores escalares (número, texto, data, booleanos) serão classificados. Os elementos são classificados por defeito em ordem ascendente, de acordo com o seu tipo.
You can also pass one of the following constants in the *ascOrDesc* parameter:
-```
-|Constant| Type|Value|Comment|
-|---|---|---|---|
-|ck ascending|Integer|0|Elements are ordered in ascending order (default)|
-|ck descending|Integer|1|Elements are ordered in descending order|
+| Parâmetros | Tipo | Valor | Comentário |
+| ------------- | ------- | ----- | ------------------------------------------------------------------------------ |
+| ck ascending | Integer | 0 | Os elementos são ordenados de forma ascendente (por padrão) |
+| ck descending | Integer | 1 | Os elementos são ordenados de forma descendente |
-This syntax orders scalar values in the collection only (other element types such as objects or collections are returned unordered).
-```
+Essa sintaxe ordena apenas os valores escalares da coleção (outros tipos de elementos como objetos ou coleções são retornados sem ordenar).
Se a coleção conter elementos de tipos diferentes, são primeiro agrupados por tipo e ordenados depois. Se attributePath levar a uma propriedade de objeto que conter valores de diferentes tipos, primeiro se agrupam por tipo e se ordenam depois.
diff --git a/i18n/pt/docusaurus-plugin-content-docs/version-19/API/CollectionClass.md b/i18n/pt/docusaurus-plugin-content-docs/version-19/API/CollectionClass.md
index 6bce0f973d38c8..9b6231b4a39768 100644
--- a/i18n/pt/docusaurus-plugin-content-docs/version-19/API/CollectionClass.md
+++ b/i18n/pt/docusaurus-plugin-content-docs/version-19/API/CollectionClass.md
@@ -349,14 +349,14 @@ $c.combine($fruits;3) //[1,2,3,"Orange","Banana","Apple","Grape",4,5,6]
-**.concat**( *value* : any { *;...valueN* } ) : Collection
+**.concat**( *value* : any { ; *...valueN* } ) : Collection
-| Parâmetro | Tipo | | Descrição |
-| ---------- | -------------------------------------------------------------- |:--:| ----------------------------------------------------------------------------------------------------------------------- |
-| value | Number, Text, Object, Collection, Date, Time, Boolean, Picture | -> | Valores a concatenar. Se *value* for uma coleção, todos os elementos da coleção são adicionados para a coleção original |
-| Resultados | Collection | <- | Nova coleção com valores adicionados à coleção original|
+| Parâmetro | Tipo | | Descrição |
+| ---------- | ---------- |:--:| ----------------------------------------------------------------------------------------------------------------------- |
+| value | any | -> | Valores a concatenar. Se *value* for uma coleção, todos os elementos da coleção são adicionados para a coleção original |
+| Resultados | Collection | <- | Nova coleção com valores adicionados à coleção original|
|
diff --git a/i18n/pt/docusaurus-plugin-content-docs/version-20-R10/API/CollectionClass.md b/i18n/pt/docusaurus-plugin-content-docs/version-20-R10/API/CollectionClass.md
index 3f0cc44d806675..412569850f005e 100644
--- a/i18n/pt/docusaurus-plugin-content-docs/version-20-R10/API/CollectionClass.md
+++ b/i18n/pt/docusaurus-plugin-content-docs/version-20-R10/API/CollectionClass.md
@@ -271,14 +271,14 @@ $c.combine($fruits;3) //[1,2,3,"Orange","Banana","Apple","Grape",4,5,6]
-**.concat**( *value* : any { *;...valueN* } ) : Collection
+**.concat**( *value* : any { ; *...valueN* } ) : Collection
-| Parâmetro | Tipo | | Descrição |
-| ---------- | -------------------------------------------------------------- | :-------------------------: | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
-| value | Number, Text, Object, Collection, Date, Time, Boolean, Picture | -> | Valores a concatenar. Se *valor* for uma coleção, todos os seus elementos serão adicionados como novos elementos no final da coleção original. |
-| Resultados | Collection | <- | Nova coleção com valores adicionados à coleção original |
+| Parâmetro | Tipo | | Descrição |
+| ---------- | ---------- | :-------------------------: | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
+| value | any | -> | Valores a concatenar. Se *valor* for uma coleção, todos os seus elementos serão adicionados como novos elementos no final da coleção original. |
+| Resultados | Collection | <- | Nova coleção com valores adicionados à coleção original |
@@ -3195,14 +3195,12 @@ A função `.sort()` classifica os elemen
Se `.sort()` for chamado sem parâmetros, somente os valores escalares (número, texto, data, booleanos) serão classificados. Os elementos são classificados por defeito em ordem ascendente, de acordo com o seu tipo.
You can also pass one of the following constants in the *ascOrDesc* parameter:
- ```
- |Constant| Type|Value|Comment|
- |---|---|---|---|
- |ck ascending|Integer|0|Elements are ordered in ascending order (default)|
- |ck descending|Integer|1|Elements are ordered in descending order|
-
- This syntax orders scalar values in the collection only (other element types such as objects or collections are returned unordered).
- ```
+| Parâmetros | Tipo | Valor | Comentário |
+| ------------- | ------- | ----- | ------------------------------------------------------------------------------ |
+| ck ascending | Integer | 0 | Os elementos são ordenados de forma ascendente (por padrão) |
+| ck descending | Integer | 1 | Os elementos são ordenados de forma descendente |
+
+Essa sintaxe ordena apenas os valores escalares da coleção (outros tipos de elementos como objetos ou coleções são retornados sem ordenar).
Se a coleção conter elementos de tipos diferentes, são primeiro agrupados por tipo e ordenados depois. Se attributePath levar a uma propriedade de objeto que conter valores de diferentes tipos, primeiro se agrupam por tipo e se ordenam depois.
diff --git a/i18n/pt/docusaurus-plugin-content-docs/version-20/API/CollectionClass.md b/i18n/pt/docusaurus-plugin-content-docs/version-20/API/CollectionClass.md
index f2d5492e1a84f4..b5f89ecf509919 100644
--- a/i18n/pt/docusaurus-plugin-content-docs/version-20/API/CollectionClass.md
+++ b/i18n/pt/docusaurus-plugin-content-docs/version-20/API/CollectionClass.md
@@ -453,14 +453,14 @@ $c.combine($fruits;3) //[1,2,3,"Orange","Banana","Apple","Grape",4,5,6]
-**.concat**( *value* : any { *;...valueN* } ) : Collection
+**.concat**( *value* : any { ; *...valueN* } ) : Collection
-| Parâmetro | Tipo | | Descrição |
-| ---------- | -------------------------------------------------------------- |:--:| ----------------------------------------------------------------------------------------------------------------------- |
-| value | Number, Text, Object, Collection, Date, Time, Boolean, Picture | -> | Valores a concatenar. Se *value* for uma coleção, todos os elementos da coleção são adicionados para a coleção original |
-| Resultados | Collection | <- | Nova coleção com valores adicionados à coleção original|
+| Parâmetro | Tipo | | Descrição |
+| ---------- | ---------- |:--:| ----------------------------------------------------------------------------------------------------------------------- |
+| value | any | -> | Valores a concatenar. Se *value* for uma coleção, todos os elementos da coleção são adicionados para a coleção original |
+| Resultados | Collection | <- | Nova coleção com valores adicionados à coleção original|
|
diff --git a/i18n/pt/docusaurus-plugin-content-docs/version-21/API/CollectionClass.md b/i18n/pt/docusaurus-plugin-content-docs/version-21/API/CollectionClass.md
index 3f0cc44d806675..412569850f005e 100644
--- a/i18n/pt/docusaurus-plugin-content-docs/version-21/API/CollectionClass.md
+++ b/i18n/pt/docusaurus-plugin-content-docs/version-21/API/CollectionClass.md
@@ -271,14 +271,14 @@ $c.combine($fruits;3) //[1,2,3,"Orange","Banana","Apple","Grape",4,5,6]
-**.concat**( *value* : any { *;...valueN* } ) : Collection
+**.concat**( *value* : any { ; *...valueN* } ) : Collection
-| Parâmetro | Tipo | | Descrição |
-| ---------- | -------------------------------------------------------------- | :-------------------------: | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
-| value | Number, Text, Object, Collection, Date, Time, Boolean, Picture | -> | Valores a concatenar. Se *valor* for uma coleção, todos os seus elementos serão adicionados como novos elementos no final da coleção original. |
-| Resultados | Collection | <- | Nova coleção com valores adicionados à coleção original |
+| Parâmetro | Tipo | | Descrição |
+| ---------- | ---------- | :-------------------------: | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
+| value | any | -> | Valores a concatenar. Se *valor* for uma coleção, todos os seus elementos serão adicionados como novos elementos no final da coleção original. |
+| Resultados | Collection | <- | Nova coleção com valores adicionados à coleção original |
@@ -3195,14 +3195,12 @@ A função `.sort()` classifica os elemen
Se `.sort()` for chamado sem parâmetros, somente os valores escalares (número, texto, data, booleanos) serão classificados. Os elementos são classificados por defeito em ordem ascendente, de acordo com o seu tipo.
You can also pass one of the following constants in the *ascOrDesc* parameter:
- ```
- |Constant| Type|Value|Comment|
- |---|---|---|---|
- |ck ascending|Integer|0|Elements are ordered in ascending order (default)|
- |ck descending|Integer|1|Elements are ordered in descending order|
-
- This syntax orders scalar values in the collection only (other element types such as objects or collections are returned unordered).
- ```
+| Parâmetros | Tipo | Valor | Comentário |
+| ------------- | ------- | ----- | ------------------------------------------------------------------------------ |
+| ck ascending | Integer | 0 | Os elementos são ordenados de forma ascendente (por padrão) |
+| ck descending | Integer | 1 | Os elementos são ordenados de forma descendente |
+
+Essa sintaxe ordena apenas os valores escalares da coleção (outros tipos de elementos como objetos ou coleções são retornados sem ordenar).
Se a coleção conter elementos de tipos diferentes, são primeiro agrupados por tipo e ordenados depois. Se attributePath levar a uma propriedade de objeto que conter valores de diferentes tipos, primeiro se agrupam por tipo e se ordenam depois.
From c7a8208e66feb6f557416303542b97f3f972907a Mon Sep 17 00:00:00 2001
From: arnaud-4d
Date: Mon, 24 Nov 2025 16:14:41 +0100
Subject: [PATCH 44/75] fixes in commands-legacy
---
docs/commands-legacy/query-by-attribute.md | 4 +-
.../query-selection-by-attribute.md | 4 +-
docs/commands-legacy/verify-data-file.md | 44 +++++++++----------
.../commands-legacy/query-by-attribute.md | 4 +-
.../query-selection-by-attribute.md | 4 +-
.../commands-legacy/verify-data-file.md | 43 +++++++++---------
.../commands-legacy/query-by-attribute.md | 4 +-
.../query-selection-by-attribute.md | 4 +-
.../commands-legacy/verify-data-file.md | 43 +++++++++---------
9 files changed, 76 insertions(+), 78 deletions(-)
diff --git a/docs/commands-legacy/query-by-attribute.md b/docs/commands-legacy/query-by-attribute.md
index e611a73547f898..024cd41c97ac33 100644
--- a/docs/commands-legacy/query-by-attribute.md
+++ b/docs/commands-legacy/query-by-attribute.md
@@ -10,10 +10,10 @@ displayed_sidebar: docs
| Parameter | Type | | Description |
| --- | --- | --- | --- |
| aTable | Table | → | Table for which to return a selection of records, or Default table if omitted |
-| conjOp | * | → | Conjunction operator to use to join multiple queries (if any) |
+| conjOp | Operator | → | Conjunction operator to use to join multiple queries (if any) |
| objectField | Field | → | Object field to query attributes |
| attributePath | Text | → | Name or path of attribute |
-| queryOp | Text, * | → | Query operator (comparator) |
+| queryOp | Text, Operator | → | Query operator (comparator) |
| value | Text, Number, Date, Time | → | Value to compare |
| * | Operator | → | Continue query flag |
diff --git a/docs/commands-legacy/query-selection-by-attribute.md b/docs/commands-legacy/query-selection-by-attribute.md
index 4996f9e7b49b80..22f6dd1ba3190f 100644
--- a/docs/commands-legacy/query-selection-by-attribute.md
+++ b/docs/commands-legacy/query-selection-by-attribute.md
@@ -10,10 +10,10 @@ displayed_sidebar: docs
| Parameter | Type | | Description |
| --- | --- | --- | --- |
| aTable | Table | → | Table for which to return a selection of records, or Default table if omitted |
-| conjOp | * | → | Conjunction operator to use to join multiple queries (if any) |
+| conjOp | Operator | → | Conjunction operator to use to join multiple queries (if any) |
| objectField | Field | → | Object field to query attributes |
| attributePath | Text | → | Name or path of attribute |
-| queryOp | *, Text | → | Query operator (comparator) |
+| queryOp | Text, Operator | → | Query operator (comparator) |
| value | Text, Number, Date, Time | → | Value to compare |
| * | Operator | → | Continue query flag |
diff --git a/docs/commands-legacy/verify-data-file.md b/docs/commands-legacy/verify-data-file.md
index 3273a2dbf08d87..6427fc149b971f 100644
--- a/docs/commands-legacy/verify-data-file.md
+++ b/docs/commands-legacy/verify-data-file.md
@@ -52,44 +52,44 @@ Generally, the VERIFY DATA FILE command creates a log file in XML format (please
The *method* parameter is used to set a callback method that will be called regularly during the verification. If you pass an empty string or an invalid method name, this parameter is ignored (no method is called). When called, the method receives up to 5 parameters depending on the objects being verified and on the event type originating the call (see calls table). It is imperative to declare these parameters in the method:
-| \- $1 | Integer | Message type (see table) |
+
+| Parameter | Type | Description |
| ----- | ------- | ------------------------ |
-| \- $2 | Integer | Object type |
-| \- $3 | Text | Message |
-| \- $4 | Integer | Table number |
-| \- $5 | Integer | Reserved |
+| $messageType | Integer | Message type (see table) |
+| $objectType | Integer | Object type |
+| $messageText | Text | Message |
+| $table | Integer | Table number |
+| $reserved | Integer | Reserved |
The following table describes the contents of the parameters depending on the event type:
-| **Event** | **$1 (Longint)** | **$2 (Longint)** | **$3 (Text)** | **$4 (Longint)** | **$5 (Longint)** |
-| ------------------------- | ---------------- | ------------------ | -------------- | ---------------- | ---------------- |
-| Message | 1 | 0 | Progression | Percentage | Reserved |
-| message | done (0-100) | | | | |
-| Verification finished(\*) | 2 | Object type (\*\*) | OK message | Table or index | Reserved |
-| test | number | | | | |
-| Error | 3 | Object type (\*\*) | Text of error- | Table or index | Reserved |
-| message | number | | | | |
+| **Event** | **$messageType** | **$objectType** | **$messageText** | **$table** | **$reserved** |
+| ------- | ---------------- | ------------------ | -------------- | ---------------- | ---------------- |
+| Message | 1 | 0 | Progression message | Percentage done (0-100) | Reserved |
+| Verification finished(\*) | 2 | Object type (\*\*) | OK message test | Table or index number | Reserved |
+| Error | 3 | Object type (\*\*) | Text of error message | Table or index number | Reserved |
| End of execution | 4 | 0 | DONE | 0 | Reserved |
| Warning | 5 | Object type(\*\*) | Text of error | Table or index | Reserved |
-| message | number | | | | |
+|||| message | number |
-(\*) The *Verification finished* ($1=2) event is never returned when the mode is Verify All. It is only used in Verify Records or Verify Indexes mode.
-(\*\*) *Object type*: When an object is verified, a "finished" message ($1=2), error ($1=3) or warning ($1=5) can be sent. The object type returned in $2 can be one of the following:
+(\*) The *Verification finished* ($messageType=2) event is never returned when the mode is Verify All. It is only used in Verify Records or Verify Indexes mode.
+(\*\*) *Object type*: When an object is verified, a "finished" message ($messageType=2), error ($messageType=3) or warning ($messageType=5) can be sent. The object type returned in $objectType can be one of the following:
* 0 = undetermined
* 4 = record
* 8 = index
* 16 = structure object (preliminary check of data file).
-*Special case*: When $4 = 0 for $1=2, 3 or 5, the message does not concern a table or an index but rather the data file as a whole.
+*Special case*: When $table = 0 for $messageType=2, 3 or 5, the message does not concern a table or an index but rather the data file as a whole.
+
+The callback method must also return a *$result* integer value, which is used to check the execution of the operation:
-The callback method must also return a value in $0 (Longint), which is used to check the execution of the operation:
+* If $result = 0, the operation continues normally
+* If $result = -128, the operation is stopped without any error generated
+* If $result = another value, the operation is stopped and the value passed in $result is returned as the error number. This error can be intercepted by an error-handling method.
-* If $0 = 0, the operation continues normally
-* If $0 = -128, the operation is stopped without any error generated
-* If $0 = another value, the operation is stopped and the value passed in $0 is returned as the error number. This error can be intercepted by an error-handling method.
+**Note:** You cannot interrupt execution via $result after the *End of execution* event ($1=4) has been generated.
-**Note:** You cannot interrupt execution via $0 after the *End of execution* event ($4=1) has been generated.
Two optional arrays can also be used by this command:
diff --git a/versioned_docs/version-20-R10/commands-legacy/query-by-attribute.md b/versioned_docs/version-20-R10/commands-legacy/query-by-attribute.md
index e611a73547f898..024cd41c97ac33 100644
--- a/versioned_docs/version-20-R10/commands-legacy/query-by-attribute.md
+++ b/versioned_docs/version-20-R10/commands-legacy/query-by-attribute.md
@@ -10,10 +10,10 @@ displayed_sidebar: docs
| Parameter | Type | | Description |
| --- | --- | --- | --- |
| aTable | Table | → | Table for which to return a selection of records, or Default table if omitted |
-| conjOp | * | → | Conjunction operator to use to join multiple queries (if any) |
+| conjOp | Operator | → | Conjunction operator to use to join multiple queries (if any) |
| objectField | Field | → | Object field to query attributes |
| attributePath | Text | → | Name or path of attribute |
-| queryOp | Text, * | → | Query operator (comparator) |
+| queryOp | Text, Operator | → | Query operator (comparator) |
| value | Text, Number, Date, Time | → | Value to compare |
| * | Operator | → | Continue query flag |
diff --git a/versioned_docs/version-20-R10/commands-legacy/query-selection-by-attribute.md b/versioned_docs/version-20-R10/commands-legacy/query-selection-by-attribute.md
index 4996f9e7b49b80..22f6dd1ba3190f 100644
--- a/versioned_docs/version-20-R10/commands-legacy/query-selection-by-attribute.md
+++ b/versioned_docs/version-20-R10/commands-legacy/query-selection-by-attribute.md
@@ -10,10 +10,10 @@ displayed_sidebar: docs
| Parameter | Type | | Description |
| --- | --- | --- | --- |
| aTable | Table | → | Table for which to return a selection of records, or Default table if omitted |
-| conjOp | * | → | Conjunction operator to use to join multiple queries (if any) |
+| conjOp | Operator | → | Conjunction operator to use to join multiple queries (if any) |
| objectField | Field | → | Object field to query attributes |
| attributePath | Text | → | Name or path of attribute |
-| queryOp | *, Text | → | Query operator (comparator) |
+| queryOp | Text, Operator | → | Query operator (comparator) |
| value | Text, Number, Date, Time | → | Value to compare |
| * | Operator | → | Continue query flag |
diff --git a/versioned_docs/version-20-R10/commands-legacy/verify-data-file.md b/versioned_docs/version-20-R10/commands-legacy/verify-data-file.md
index 3273a2dbf08d87..9330b4ee6c0cd6 100644
--- a/versioned_docs/version-20-R10/commands-legacy/verify-data-file.md
+++ b/versioned_docs/version-20-R10/commands-legacy/verify-data-file.md
@@ -52,44 +52,43 @@ Generally, the VERIFY DATA FILE command creates a log file in XML format (please
The *method* parameter is used to set a callback method that will be called regularly during the verification. If you pass an empty string or an invalid method name, this parameter is ignored (no method is called). When called, the method receives up to 5 parameters depending on the objects being verified and on the event type originating the call (see calls table). It is imperative to declare these parameters in the method:
-| \- $1 | Integer | Message type (see table) |
+| Parameter | Type | Description |
| ----- | ------- | ------------------------ |
-| \- $2 | Integer | Object type |
-| \- $3 | Text | Message |
-| \- $4 | Integer | Table number |
-| \- $5 | Integer | Reserved |
+| $messageType | Integer | Message type (see table) |
+| $objectType | Integer | Object type |
+| $messageText | Text | Message |
+| $table | Integer | Table number |
+| $reserved | Integer | Reserved |
The following table describes the contents of the parameters depending on the event type:
-| **Event** | **$1 (Longint)** | **$2 (Longint)** | **$3 (Text)** | **$4 (Longint)** | **$5 (Longint)** |
-| ------------------------- | ---------------- | ------------------ | -------------- | ---------------- | ---------------- |
-| Message | 1 | 0 | Progression | Percentage | Reserved |
-| message | done (0-100) | | | | |
-| Verification finished(\*) | 2 | Object type (\*\*) | OK message | Table or index | Reserved |
-| test | number | | | | |
-| Error | 3 | Object type (\*\*) | Text of error- | Table or index | Reserved |
-| message | number | | | | |
+| **Event** | **$messageType** | **$objectType** | **$messageText** | **$table** | **$reserved** |
+| ------- | ---------------- | ------------------ | -------------- | ---------------- | ---------------- |
+| Message | 1 | 0 | Progression message | Percentage done (0-100) | Reserved |
+| Verification finished(\*) | 2 | Object type (\*\*) | OK message test | Table or index number | Reserved |
+| Error | 3 | Object type (\*\*) | Text of error message | Table or index number | Reserved |
| End of execution | 4 | 0 | DONE | 0 | Reserved |
| Warning | 5 | Object type(\*\*) | Text of error | Table or index | Reserved |
-| message | number | | | | |
+|||| message | number |
-(\*) The *Verification finished* ($1=2) event is never returned when the mode is Verify All. It is only used in Verify Records or Verify Indexes mode.
-(\*\*) *Object type*: When an object is verified, a "finished" message ($1=2), error ($1=3) or warning ($1=5) can be sent. The object type returned in $2 can be one of the following:
+(\*) The *Verification finished* ($messageType=2) event is never returned when the mode is Verify All. It is only used in Verify Records or Verify Indexes mode.
+(\*\*) *Object type*: When an object is verified, a "finished" message ($messageType=2), error ($messageType=3) or warning ($messageType=5) can be sent. The object type returned in $objectType can be one of the following:
* 0 = undetermined
* 4 = record
* 8 = index
* 16 = structure object (preliminary check of data file).
-*Special case*: When $4 = 0 for $1=2, 3 or 5, the message does not concern a table or an index but rather the data file as a whole.
+*Special case*: When $table = 0 for $messageType=2, 3 or 5, the message does not concern a table or an index but rather the data file as a whole.
-The callback method must also return a value in $0 (Longint), which is used to check the execution of the operation:
+The callback method must also return a *$result* integer value, which is used to check the execution of the operation:
-* If $0 = 0, the operation continues normally
-* If $0 = -128, the operation is stopped without any error generated
-* If $0 = another value, the operation is stopped and the value passed in $0 is returned as the error number. This error can be intercepted by an error-handling method.
+* If $result = 0, the operation continues normally
+* If $result = -128, the operation is stopped without any error generated
+* If $result = another value, the operation is stopped and the value passed in $result is returned as the error number. This error can be intercepted by an error-handling method.
+
+**Note:** You cannot interrupt execution via $result after the *End of execution* event ($1=4) has been generated.
-**Note:** You cannot interrupt execution via $0 after the *End of execution* event ($4=1) has been generated.
Two optional arrays can also be used by this command:
diff --git a/versioned_docs/version-21/commands-legacy/query-by-attribute.md b/versioned_docs/version-21/commands-legacy/query-by-attribute.md
index e611a73547f898..024cd41c97ac33 100644
--- a/versioned_docs/version-21/commands-legacy/query-by-attribute.md
+++ b/versioned_docs/version-21/commands-legacy/query-by-attribute.md
@@ -10,10 +10,10 @@ displayed_sidebar: docs
| Parameter | Type | | Description |
| --- | --- | --- | --- |
| aTable | Table | → | Table for which to return a selection of records, or Default table if omitted |
-| conjOp | * | → | Conjunction operator to use to join multiple queries (if any) |
+| conjOp | Operator | → | Conjunction operator to use to join multiple queries (if any) |
| objectField | Field | → | Object field to query attributes |
| attributePath | Text | → | Name or path of attribute |
-| queryOp | Text, * | → | Query operator (comparator) |
+| queryOp | Text, Operator | → | Query operator (comparator) |
| value | Text, Number, Date, Time | → | Value to compare |
| * | Operator | → | Continue query flag |
diff --git a/versioned_docs/version-21/commands-legacy/query-selection-by-attribute.md b/versioned_docs/version-21/commands-legacy/query-selection-by-attribute.md
index 4996f9e7b49b80..22f6dd1ba3190f 100644
--- a/versioned_docs/version-21/commands-legacy/query-selection-by-attribute.md
+++ b/versioned_docs/version-21/commands-legacy/query-selection-by-attribute.md
@@ -10,10 +10,10 @@ displayed_sidebar: docs
| Parameter | Type | | Description |
| --- | --- | --- | --- |
| aTable | Table | → | Table for which to return a selection of records, or Default table if omitted |
-| conjOp | * | → | Conjunction operator to use to join multiple queries (if any) |
+| conjOp | Operator | → | Conjunction operator to use to join multiple queries (if any) |
| objectField | Field | → | Object field to query attributes |
| attributePath | Text | → | Name or path of attribute |
-| queryOp | *, Text | → | Query operator (comparator) |
+| queryOp | Text, Operator | → | Query operator (comparator) |
| value | Text, Number, Date, Time | → | Value to compare |
| * | Operator | → | Continue query flag |
diff --git a/versioned_docs/version-21/commands-legacy/verify-data-file.md b/versioned_docs/version-21/commands-legacy/verify-data-file.md
index 3273a2dbf08d87..9330b4ee6c0cd6 100644
--- a/versioned_docs/version-21/commands-legacy/verify-data-file.md
+++ b/versioned_docs/version-21/commands-legacy/verify-data-file.md
@@ -52,44 +52,43 @@ Generally, the VERIFY DATA FILE command creates a log file in XML format (please
The *method* parameter is used to set a callback method that will be called regularly during the verification. If you pass an empty string or an invalid method name, this parameter is ignored (no method is called). When called, the method receives up to 5 parameters depending on the objects being verified and on the event type originating the call (see calls table). It is imperative to declare these parameters in the method:
-| \- $1 | Integer | Message type (see table) |
+| Parameter | Type | Description |
| ----- | ------- | ------------------------ |
-| \- $2 | Integer | Object type |
-| \- $3 | Text | Message |
-| \- $4 | Integer | Table number |
-| \- $5 | Integer | Reserved |
+| $messageType | Integer | Message type (see table) |
+| $objectType | Integer | Object type |
+| $messageText | Text | Message |
+| $table | Integer | Table number |
+| $reserved | Integer | Reserved |
The following table describes the contents of the parameters depending on the event type:
-| **Event** | **$1 (Longint)** | **$2 (Longint)** | **$3 (Text)** | **$4 (Longint)** | **$5 (Longint)** |
-| ------------------------- | ---------------- | ------------------ | -------------- | ---------------- | ---------------- |
-| Message | 1 | 0 | Progression | Percentage | Reserved |
-| message | done (0-100) | | | | |
-| Verification finished(\*) | 2 | Object type (\*\*) | OK message | Table or index | Reserved |
-| test | number | | | | |
-| Error | 3 | Object type (\*\*) | Text of error- | Table or index | Reserved |
-| message | number | | | | |
+| **Event** | **$messageType** | **$objectType** | **$messageText** | **$table** | **$reserved** |
+| ------- | ---------------- | ------------------ | -------------- | ---------------- | ---------------- |
+| Message | 1 | 0 | Progression message | Percentage done (0-100) | Reserved |
+| Verification finished(\*) | 2 | Object type (\*\*) | OK message test | Table or index number | Reserved |
+| Error | 3 | Object type (\*\*) | Text of error message | Table or index number | Reserved |
| End of execution | 4 | 0 | DONE | 0 | Reserved |
| Warning | 5 | Object type(\*\*) | Text of error | Table or index | Reserved |
-| message | number | | | | |
+|||| message | number |
-(\*) The *Verification finished* ($1=2) event is never returned when the mode is Verify All. It is only used in Verify Records or Verify Indexes mode.
-(\*\*) *Object type*: When an object is verified, a "finished" message ($1=2), error ($1=3) or warning ($1=5) can be sent. The object type returned in $2 can be one of the following:
+(\*) The *Verification finished* ($messageType=2) event is never returned when the mode is Verify All. It is only used in Verify Records or Verify Indexes mode.
+(\*\*) *Object type*: When an object is verified, a "finished" message ($messageType=2), error ($messageType=3) or warning ($messageType=5) can be sent. The object type returned in $objectType can be one of the following:
* 0 = undetermined
* 4 = record
* 8 = index
* 16 = structure object (preliminary check of data file).
-*Special case*: When $4 = 0 for $1=2, 3 or 5, the message does not concern a table or an index but rather the data file as a whole.
+*Special case*: When $table = 0 for $messageType=2, 3 or 5, the message does not concern a table or an index but rather the data file as a whole.
-The callback method must also return a value in $0 (Longint), which is used to check the execution of the operation:
+The callback method must also return a *$result* integer value, which is used to check the execution of the operation:
-* If $0 = 0, the operation continues normally
-* If $0 = -128, the operation is stopped without any error generated
-* If $0 = another value, the operation is stopped and the value passed in $0 is returned as the error number. This error can be intercepted by an error-handling method.
+* If $result = 0, the operation continues normally
+* If $result = -128, the operation is stopped without any error generated
+* If $result = another value, the operation is stopped and the value passed in $result is returned as the error number. This error can be intercepted by an error-handling method.
+
+**Note:** You cannot interrupt execution via $result after the *End of execution* event ($1=4) has been generated.
-**Note:** You cannot interrupt execution via $0 after the *End of execution* event ($4=1) has been generated.
Two optional arrays can also be used by this command:
From 2589bf16f55c5f730344238db45e24c4f4f4afee Mon Sep 17 00:00:00 2001
From: arnaud-4d
Date: Mon, 24 Nov 2025 18:11:49 +0100
Subject: [PATCH 45/75] fix force login to qodly
---
docs/REST/authUsers.md | 2 +-
versioned_docs/version-20-R10/ORDA/privileges.md | 2 +-
versioned_docs/version-20-R10/REST/authUsers.md | 2 +-
versioned_docs/version-21/REST/authUsers.md | 2 +-
4 files changed, 4 insertions(+), 4 deletions(-)
diff --git a/docs/REST/authUsers.md b/docs/REST/authUsers.md
index f6672f41684be4..2a1befa8b3a399 100644
--- a/docs/REST/authUsers.md
+++ b/docs/REST/authUsers.md
@@ -21,7 +21,7 @@ A session is opened after the user was successfully logged (see below).
:::note Compatibility
-The legacy login mode based upon the `On REST Authentication` database method is **deprecated** as of 4D 20 R6. It is now recommended to [use the **force login mode**](../ORDA/privileges.md#rolesjson-file) (automatically enabled in new projects) and to implement the [`ds.authentify()` function](#function-authentify). In converted projects, [a button in the Settings dialog box](../settings/web.md#activate-rest-authentication-through-dsauthentify-function) will help you upgrade your configuration. In Qodly Studio for 4D, the mode can be set using the [**Force login** option](../WebServer/qodly-studio.md#force-login) in the Privileges panel.
+The legacy login mode based upon the `On REST Authentication` database method is **deprecated** as of 4D 20 R6. It is now recommended to [use the **force login mode**](../ORDA/privileges.md#rolesjson-file) (automatically enabled in new projects) and to implement the [`ds.authentify()` function](#function-authentify). In converted projects, [a button in the Settings dialog box](../settings/web.md#activate-rest-authentication-through-dsauthentify-function) will help you upgrade your configuration. In Qodly Studio for 4D, the mode can be set using the [**Force login** option](https://developer.4d.com/qodly/4DQodlyPro/force-login) in the Privileges panel.
:::
diff --git a/versioned_docs/version-20-R10/ORDA/privileges.md b/versioned_docs/version-20-R10/ORDA/privileges.md
index 97f4d0003bf9dd..641a5cf43a2a5a 100644
--- a/versioned_docs/version-20-R10/ORDA/privileges.md
+++ b/versioned_docs/version-20-R10/ORDA/privileges.md
@@ -176,7 +176,7 @@ In previous releases, the `roles.json` file was not created by default. As of 4D
:::note Qodly Studio
-In Qodly Studio for 4D, the mode can be set using the [**Force login** option](../WebServer/qodly-studio.md#force-login) in the Privileges panel.
+In Qodly Studio for 4D, the mode can be set using the [**Force login** option](https://developer.4d.com/qodly/4DQodlyPro/force-login) in the Privileges panel.
:::
diff --git a/versioned_docs/version-20-R10/REST/authUsers.md b/versioned_docs/version-20-R10/REST/authUsers.md
index 68f8275332869b..28c75eb7b8b915 100644
--- a/versioned_docs/version-20-R10/REST/authUsers.md
+++ b/versioned_docs/version-20-R10/REST/authUsers.md
@@ -21,7 +21,7 @@ A session is opened after the user was successfully logged (see below).
:::note Compatibility
-The legacy login mode based upon the `On REST Authentication` database method is **deprecated** as of 4D 20 R6. It is now recommended to [use the **force login mode**](../ORDA/privileges.md#rolesjson-file) (automatically enabled in new projects) and to implement the [`ds.authentify()` function](#function-authentify). In converted projects, [a button in the Settings dialog box](../settings/web.md#activate-rest-authentication-through-dsauthentify-function) will help you upgrade your configuration. In Qodly Studio for 4D, the mode can be set using the [**Force login** option](../WebServer/qodly-studio.md#force-login) in the Privileges panel.
+The legacy login mode based upon the `On REST Authentication` database method is **deprecated** as of 4D 20 R6. It is now recommended to [use the **force login mode**](../ORDA/privileges.md#rolesjson-file) (automatically enabled in new projects) and to implement the [`ds.authentify()` function](#function-authentify). In converted projects, [a button in the Settings dialog box](../settings/web.md#activate-rest-authentication-through-dsauthentify-function) will help you upgrade your configuration. In Qodly Studio for 4D, the mode can be set using the [**Force login** option](https://developer.4d.com/qodly/4DQodlyPro/force-login) in the Privileges panel.
:::
diff --git a/versioned_docs/version-21/REST/authUsers.md b/versioned_docs/version-21/REST/authUsers.md
index 68f8275332869b..28c75eb7b8b915 100644
--- a/versioned_docs/version-21/REST/authUsers.md
+++ b/versioned_docs/version-21/REST/authUsers.md
@@ -21,7 +21,7 @@ A session is opened after the user was successfully logged (see below).
:::note Compatibility
-The legacy login mode based upon the `On REST Authentication` database method is **deprecated** as of 4D 20 R6. It is now recommended to [use the **force login mode**](../ORDA/privileges.md#rolesjson-file) (automatically enabled in new projects) and to implement the [`ds.authentify()` function](#function-authentify). In converted projects, [a button in the Settings dialog box](../settings/web.md#activate-rest-authentication-through-dsauthentify-function) will help you upgrade your configuration. In Qodly Studio for 4D, the mode can be set using the [**Force login** option](../WebServer/qodly-studio.md#force-login) in the Privileges panel.
+The legacy login mode based upon the `On REST Authentication` database method is **deprecated** as of 4D 20 R6. It is now recommended to [use the **force login mode**](../ORDA/privileges.md#rolesjson-file) (automatically enabled in new projects) and to implement the [`ds.authentify()` function](#function-authentify). In converted projects, [a button in the Settings dialog box](../settings/web.md#activate-rest-authentication-through-dsauthentify-function) will help you upgrade your configuration. In Qodly Studio for 4D, the mode can be set using the [**Force login** option](https://developer.4d.com/qodly/4DQodlyPro/force-login) in the Privileges panel.
:::
From 000914f4b0ed39d2e34833f3681d691859f6ff7d Mon Sep 17 00:00:00 2001
From: arnaud-4d
Date: Tue, 25 Nov 2025 10:08:13 +0100
Subject: [PATCH 46/75] New Crowdin updates (#3006)
* New translations authusers.md (French)
* New translations privileges.md (French)
* New translations authusers.md (French)
* New translations authusers.md (French)
* New translations openaifilesapi.md (French)
* New translations formeditor.md (Spanish)
* New translations classes.md (Spanish)
* New translations parameters.md (Spanish)
* New translations ordaclasses.md (Spanish)
* New translations authusers.md (Spanish)
* New translations vp-import-document.md (Spanish)
* New translations writeprointerface.md (Spanish)
* New translations managing-formulas.md (Spanish)
* New translations wp-import-document.md (Spanish)
* New translations orda-events.md (Spanish)
* New translations classes.md (Spanish)
* New translations parameters.md (Spanish)
* New translations formeditor.md (Spanish)
* New translations orda-events.md (Spanish)
* New translations ordaclasses.md (Spanish)
* New translations privileges.md (Spanish)
* New translations authusers.md (Spanish)
* New translations vp-import-document.md (Spanish)
* New translations wp-import-document.md (Spanish)
* New translations classes.md (Spanish)
* New translations parameters.md (Spanish)
* New translations listbox_overview.md (Spanish)
* New translations orda-events.md (Spanish)
* New translations ordaclasses.md (Spanish)
* New translations authusers.md (Spanish)
* New translations vp-import-document.md (Spanish)
* New translations wp-import-document.md (Spanish)
* New translations managing-formulas.md (Spanish)
* New translations writeprointerface.md (Spanish)
* New translations openaifile.md (Spanish)
* New translations openaifileresult.md (Spanish)
* New translations openaifilesapi.md (Spanish)
* New translations authusers.md (Japanese)
* New translations privileges.md (Japanese)
* New translations authusers.md (Japanese)
* New translations authusers.md (Japanese)
* New translations openaifilesapi.md (Japanese)
* New translations authusers.md (Portuguese, Brazilian)
* New translations privileges.md (Portuguese, Brazilian)
* New translations authusers.md (Portuguese, Brazilian)
* New translations authusers.md (Portuguese, Brazilian)
* New translations openaifilesapi.md (Portuguese, Brazilian)
---
.../current/Concepts/classes.md | 2 +-
.../current/Concepts/parameters.md | 2 +-
.../current/ORDA/orda-events.md | 6 ++--
.../current/ORDA/ordaClasses.md | 2 +-
.../current/REST/authUsers.md | 2 +-
.../ViewPro/commands/vp-import-document.md | 2 +-
.../WritePro/commands/wp-import-document.md | 2 +-
.../current/WritePro/managing-formulas.md | 22 ++++++-------
.../current/WritePro/writeprointerface.md | 2 +-
.../current/aikit/Classes/OpenAIFile.md | 2 +-
.../current/aikit/Classes/OpenAIFileResult.md | 2 +-
.../current/aikit/Classes/OpenAIFilesAPI.md | 33 ++++++++++++++++++-
.../version-19/FormEditor/formEditor.md | 2 +-
.../version-20-R10/Concepts/classes.md | 2 +-
.../version-20-R10/Concepts/parameters.md | 2 +-
.../version-20-R10/FormEditor/formEditor.md | 2 +-
.../version-20-R10/ORDA/orda-events.md | 2 +-
.../version-20-R10/ORDA/ordaClasses.md | 2 +-
.../version-20-R10/ORDA/privileges.md | 2 +-
.../version-20-R10/REST/authUsers.md | 2 +-
.../ViewPro/commands/vp-import-document.md | 2 +-
.../WritePro/commands/wp-import-document.md | 2 +-
.../version-21/Concepts/classes.md | 2 +-
.../version-21/Concepts/parameters.md | 2 +-
.../FormObjects/listbox_overview.md | 6 ++--
.../version-21/ORDA/orda-events.md | 6 ++--
.../version-21/ORDA/ordaClasses.md | 2 +-
.../version-21/REST/authUsers.md | 2 +-
.../ViewPro/commands/vp-import-document.md | 2 +-
.../WritePro/commands/wp-import-document.md | 2 +-
.../version-21/WritePro/managing-formulas.md | 22 ++++++-------
.../version-21/WritePro/writeprointerface.md | 2 +-
.../current/REST/authUsers.md | 2 +-
.../current/aikit/Classes/OpenAIFilesAPI.md | 33 ++++++++++++++++++-
.../version-20-R10/ORDA/privileges.md | 2 +-
.../version-20-R10/REST/authUsers.md | 2 +-
.../version-21/REST/authUsers.md | 2 +-
.../current/REST/authUsers.md | 2 +-
.../current/aikit/Classes/OpenAIFilesAPI.md | 33 ++++++++++++++++++-
.../version-20-R10/ORDA/privileges.md | 2 +-
.../version-20-R10/REST/authUsers.md | 2 +-
.../version-21/REST/authUsers.md | 2 +-
.../current/REST/authUsers.md | 2 +-
.../current/aikit/Classes/OpenAIFilesAPI.md | 33 ++++++++++++++++++-
.../version-20-R10/ORDA/privileges.md | 2 +-
.../version-20-R10/REST/authUsers.md | 2 +-
.../version-21/REST/authUsers.md | 2 +-
47 files changed, 197 insertions(+), 73 deletions(-)
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/Concepts/classes.md b/i18n/es/docusaurus-plugin-content-docs/current/Concepts/classes.md
index 176c4206089fcc..be0e39a6ed051b 100644
--- a/i18n/es/docusaurus-plugin-content-docs/current/Concepts/classes.md
+++ b/i18n/es/docusaurus-plugin-content-docs/current/Concepts/classes.md
@@ -741,7 +741,7 @@ Los singletons son útiles para definir los valores que necesitan estar disponib
- un **singleton proceso** tiene una instancia única para el proceso en el que se instancia,
- un **singleton compartido** tiene una instancia única para todos los procesos en la máquina.
-- un **singleton de sesión** es un singleton compartido pero con una instancia única para todos los procesos en la [sesión](../API/SessionClass.md). Los singletons de sesión son compartidos dentro de una sesión completa, pero varían entre sesiones. En el contexto de un cliente-servidor o una aplicación web, los singletons de sesión hacen posible crear y utilizar una instancia diferente para cada sesión, y por lo tanto para cada usuario. Session singletons are particularly appropriate with [Qodly applications](https://developer.4d.com/qodly/).
+- un **singleton de sesión** es un singleton compartido pero con una instancia única para todos los procesos en la [sesión](../API/SessionClass.md). Los singletons de sesión son compartidos dentro de una sesión completa, pero varían entre sesiones. En el contexto de un cliente-servidor o una aplicación web, los singletons de sesión hacen posible crear y utilizar una instancia diferente para cada sesión, y por lo tanto para cada usuario. Los singletons de sesión son particularmente apropiados con [aplicaciones Qodly](https://developer.4d.com/qodly/).
:::info
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/Concepts/parameters.md b/i18n/es/docusaurus-plugin-content-docs/current/Concepts/parameters.md
index d0c3ffa3b0f90e..8a26fc1b0e3a1e 100644
--- a/i18n/es/docusaurus-plugin-content-docs/current/Concepts/parameters.md
+++ b/i18n/es/docusaurus-plugin-content-docs/current/Concepts/parameters.md
@@ -106,7 +106,7 @@ $entitySelection:=ds.User.query("login=:1"; $user)
:::note
-Do not confuse **parameter declarations** with [**variable declarations**](variables.md#declaring-variables). Using the `var` keyword with parameters will generate errors.
+No confunda las **declaraciones de parámetros** con las [**declaraciones de variables**](variables.md#declaring-variables). Using the `var` keyword with parameters will generate errors.
:::
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/ORDA/orda-events.md b/i18n/es/docusaurus-plugin-content-docs/current/ORDA/orda-events.md
index ddf8750a6c544a..2a4453f25cb462 100644
--- a/i18n/es/docusaurus-plugin-content-docs/current/ORDA/orda-events.md
+++ b/i18n/es/docusaurus-plugin-content-docs/current/ORDA/orda-events.md
@@ -234,7 +234,7 @@ Function query sameDay($event : Object) : Text
```
-- Using a **scalar** *sameDay* attribute updated when other attributes are "touched" will save time:
+- Usar un atributo *sameDay* **escalar** actualizado cuando otros atributos son "tocados" ahorrará tiempo:
```4d
//BookingEntity class
@@ -348,7 +348,7 @@ No se recomienda actualizar la entidad dentro de esta función (utilizando `This
#### Ejemplo
-En este ejemplo, no se permite guardar un producto con un margen inferior al 50%. In case of an invalid price attribute, you return an error object and thus, stop the save action.
+En este ejemplo, no se permite guardar un producto con un margen inferior al 50%. En caso de que el atributo precio no sea válido, devuelve un objeto error y, por tanto, detiene la acción de guardar.
```4d
// ProductsEntity class
@@ -438,7 +438,7 @@ return $result
:::note
-The content of the file is generated outside the `saving` event because it can be time consuming.
+El contenido del archivo se genera fuera del evento `saving` porque puede llevar mucho tiempo.
:::
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/ORDA/ordaClasses.md b/i18n/es/docusaurus-plugin-content-docs/current/ORDA/ordaClasses.md
index a1277e87a87543..cc698dfa3ce19b 100644
--- a/i18n/es/docusaurus-plugin-content-docs/current/ORDA/ordaClasses.md
+++ b/i18n/es/docusaurus-plugin-content-docs/current/ORDA/ordaClasses.md
@@ -957,7 +957,7 @@ exposed Function get
```
```4d
-// declare a shared singleton function
+// declara una función singleton compartida
shared singleton Class constructor()
exposed Function
```
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/REST/authUsers.md b/i18n/es/docusaurus-plugin-content-docs/current/REST/authUsers.md
index e6c153e409fa10..5b3bb64349e309 100644
--- a/i18n/es/docusaurus-plugin-content-docs/current/REST/authUsers.md
+++ b/i18n/es/docusaurus-plugin-content-docs/current/REST/authUsers.md
@@ -18,7 +18,7 @@ Una sesión se abre después de que el usuario haya iniciado sesión correctamen
:::note Compatibilidad
-El modo de inicio de sesión heredado basado en el método base `On REST Authentication` está **obsoleto** a partir de 4D 20 R6. Ahora se recomienda [utilizar el **modo Force login**](../ORDA/privileges.md#rolesjson-file) (activado automáticamente en nuevos proyectos) e implementar la función [`ds.authentify()`](#function-authentify). En proyectos convertidos, [un botón en la caja de diálogo de Parámetros](../settings/web.md#activate-rest-authentication-through-dsauthentify-function) le ayudará a actualizar su configuración. En Qodly Studio for 4D, el modo se puede definir utilizando la opción [**Forzar inicio de sesión**](../WebServer/qodly-studio.md#force-login) en el panel de Privilegios.
+El modo de inicio de sesión heredado basado en el método base `On REST Authentication` está **obsoleto** a partir de 4D 20 R6. Ahora se recomienda [utilizar el **modo Force login**](../ORDA/privileges.md#rolesjson-file) (activado automáticamente en nuevos proyectos) e implementar la función [`ds.authentify()`](#function-authentify). En proyectos convertidos, [un botón en la caja de diálogo de Parámetros](../settings/web.md#activate-rest-authentication-through-dsauthentify-function) le ayudará a actualizar su configuración. En Qodly Studio for 4D, el modo se puede definir utilizando la opción [**Forzar inicio de sesión**](https://developer.4d.com/qodly/4DQodlyPro/force-login) en el panel de Privilegios.
:::
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/ViewPro/commands/vp-import-document.md b/i18n/es/docusaurus-plugin-content-docs/current/ViewPro/commands/vp-import-document.md
index 9a3dadc588bc8c..5e3f810129801c 100644
--- a/i18n/es/docusaurus-plugin-content-docs/current/ViewPro/commands/vp-import-document.md
+++ b/i18n/es/docusaurus-plugin-content-docs/current/ViewPro/commands/vp-import-document.md
@@ -76,7 +76,7 @@ El parámetro opcional *paramObj* permite definir las propiedades del documento
- La importación de archivos en formatos .xslx, .csv y .sjs es **asíncrona**. Con estos formatos, debe utilizar el atributo `formula` si desea iniciar una acción al final del procesamiento del documento.
- Al importar un archivo con formato Microsoft Excel a un documento 4D View Pro, algunos parámetros pueden perderse. Puede verificar su configuración con [esta lista de SpreadJS](https://developer.mescius.com/spreadjs/docs/excelimpexp/excelexport).
- Para más información sobre el formato CSV y los valores separados por delimitadores en general, ver [este artículo en Wikipedia](https://en.wikipedia.org/wiki/Delimiter-separated_values)
-- Se recomienda utilizar el objeto *excelOptions* al importar en formato ".xlsx". Make sure to not mix this object with legacy first level property *password* to avoid potiental issues.
+- Se recomienda utilizar el objeto *excelOptions* al importar en formato ".xlsx". Asegúrese de no mezclar este objeto con la propiedad heredada de primer nivel *password* para evitar problemas potenciales.
- La función callback especificada en el atributo `formula` se activa después de que todas las [funciones personalizadas 4D](../formulas.md#4d-functions) dentro del contenido importado hayan completado sus cálculos. This ensures that any dependent processes, such as document modifications or exports, are performed only after all formula-based computations are fully resolved.
:::
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/WritePro/commands/wp-import-document.md b/i18n/es/docusaurus-plugin-content-docs/current/WritePro/commands/wp-import-document.md
index 9e7eb901643b46..637b01623e1567 100644
--- a/i18n/es/docusaurus-plugin-content-docs/current/WritePro/commands/wp-import-document.md
+++ b/i18n/es/docusaurus-plugin-content-docs/current/WritePro/commands/wp-import-document.md
@@ -57,7 +57,7 @@ Puede pasar un objeto para definir cómo se gestionan los siguientes atributos d
| anchoredImages | Text | Sólo para documentos MS Word (.docx). Especifica cómo se manejan las imágenes ancladas. Available values:
**all** (default) - All anchored images are imported as anchored images with their text wrapping properties (exception: the .docx wrapping option "tight" is imported as wrap square). **ignoreWrap** \- Las imágenes ancladas son importadas, pero todo texto que se envuelve alrededor de la imagen es ignorado. **ignore** \- Las imágenes ancladas no son importadas. |
| secciones | Text | Sólo para documentos MS Word (.docx). Especifica cómo se maneja la sección. Valores disponibles:
**all** (por defecto) - Se importan todas las secciones. Secciones continuas, incluso impares se convierten en secciones estándar. **ignore** \- Sections are converted to default 4D Write Pro sections (A4 portrait layout without header or footer). **Nota**: las rupturas de secciones de cualquier tipo pero continuas se convierten en rupturas de sección con rupturas de página. Continuous section breaks are imported as continuous section breaks. |
| fields | Text | Sólo para documentos MS Word (.docx). Especifica cómo se manejan los campos .docx que no pueden ser convertidos a fórmulas 4D Write Pro. Valores disponibles:
**ignore** \- Los campos .docx son ignorados. **label** \- .docx field references are imported as labels within double curly braces ("{{ }}"). Ej: el campo "ClientName" se importará como {{ClientName}}. **value** (default) - El último valor calculado para el campo .docx (si está disponible) es importado. **Note**: If a .docx field corresponds to a 4D Write Pro variable, the field is imported as a formula and this option is ignored. |
-| borderRules | Text | Sólo para documentos MS Word (.docx). Especifica cómo se gestionan los bordes de los párrafos. Valores disponibles:
**collapse** \- El formato del párrafo se modifica para imitar los bordes colapsados automáticamente. Tenga en cuenta que la propiedad contraída sólo se aplica durante la operación de importación. If a stylesheet with a automatic border collapse setting is reapplied after the import operation, the setting will be ignored. **noCollapse** (por defecto) - No se modifica el formato de los párrafos. |
+| borderRules | Text | Sólo para documentos MS Word (.docx). Especifica cómo se gestionan los bordes de los párrafos. Valores disponibles:
**collapse** \- El formato del párrafo se modifica para imitar los bordes colapsados automáticamente. Tenga en cuenta que la propiedad contraída sólo se aplica durante la operación de importación. Si se vuelve a aplicar una hoja de estilo con un ajuste de colapso automático de bordes después de la operación de importación, se ignorará el ajuste. **noCollapse** (por defecto) - No se modifica el formato de los párrafos. |
| preferredFontScriptType | Text | Sólo para documentos MS Word (.docx). Especifica el tipo de letra preferido que se utilizará cuando se definan distintos tipos de letra para una única propiedad de fuente en OOXML. Valores disponibles:
**latin** (por defecto) - script latino **bidi** \- script bidreccional. Adecuado si el documento es principalmente bidireccional de izquierda a derecha (LTR) o de derecha a izquierda (RTL) texto (por ejemplo, árabe o hebreo). **eastAsia** \- East Asian script. Adecuado si el documento es principalmente texto asiático. |
| htmlExpressions | Text | Sólo para documentos 4D Write (.4w7). Especifica cómo se manejan las expresiones HTML. Available values:
**rawText** \- HTML expressions are imported as raw text within ##htmlBegin## and ##htmlEnd## tags **ignore** (default) - HTML expressions are ignored. |
| importDisplayMode | Text | Sólo para documentos 4D Write (.4w7). Especifica cómo se gestiona la visualización de imágenes. Available values:
**legacy -** 4W7 image display mode is converted using a background image if different than scaled to fit. **noLegacy** (default) - 4W7 image display mode is converted to the *imageDisplayMode* attribute if different than scaled to fit. |
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/WritePro/managing-formulas.md b/i18n/es/docusaurus-plugin-content-docs/current/WritePro/managing-formulas.md
index b1d05d404a548e..37b6a305dc2086 100644
--- a/i18n/es/docusaurus-plugin-content-docs/current/WritePro/managing-formulas.md
+++ b/i18n/es/docusaurus-plugin-content-docs/current/WritePro/managing-formulas.md
@@ -95,17 +95,17 @@ Por ejemplo, para insertar el número de página en el pie de página:
Cuando se utiliza en una fórmula dentro de la tabla, la palabra clave **This** da acceso a diferentes datos según el contexto:
-| **Contexto** | **Expression** | **Tipo** | **Devuelve** |
-| ---------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------- | ----------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
-| En cualquier sitio | [This](../commands/this.md).table | Object | Tabla actual |
-| | [This](../commands/this.md).row | Object | Current table row element |
-| | [This](../commands/this.md).rowIndex | Number | Índice de la línea actual, a partir de 1 |
-| Cuando se ha definido una fuente de datos para la tabla | [This](../commands/this.md).table.dataSource | Objet (fórmula) | Fuente de datos como fórmula |
-| | [This](../commands/this.md).tableData | Collection o Entity selection (por lo general) | table.dataSource evaluada |
-| En cada fila de datos cuando una fuente de datos tabla devuelve una colección o una selección de entidades | [This](../commands/this.md).item.xxx | Cualquiera | Mapped to each item of the table datasource collection or entity selection, for example **This.item.firstName** if the associated entity has the *firstName* attribute |
-| | [This](../commands/this.md).itemIndex | Number | Índice del elemento actual en la colección o selección de entidades, a partir de 0 |
-| In any row (except header rows) when a table datasource returns a collection or an entity selection | [This](../commands/this.md).previousItems | Collection o entity selection | Items displayed on the pages before the bottom carry over row (if any) or before the row of the expression, including the page where is displayed the row containing the expression.
Esta expresión devuelve el mismo tipo de valor que la expresión **This.tableData**. |
-| In a break row | [This](../commands/this.md).breakItems | Collection o entity selection | Items of the collection or entity selection displayed in the rows between:
- the current break row and the previous break row of the same level (or the start of the table) if the break row(s) are displayed after the data row.
- the current break and the next break row of the same level (or the end of the table) if the break row(s) are displayed before the data row.
|
+| **Contexto** | **Expression** | **Tipo** | **Devuelve** |
+| ---------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------- | ----------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| En cualquier sitio | [This](../commands/this.md).table | Object | Tabla actual |
+| | [This](../commands/this.md).row | Object | Current table row element |
+| | [This](../commands/this.md).rowIndex | Number | Índice de la línea actual, a partir de 1 |
+| Cuando se ha definido una fuente de datos para la tabla | [This](../commands/this.md).table.dataSource | Objet (fórmula) | Fuente de datos como fórmula |
+| | [This](../commands/this.md).tableData | Collection o Entity selection (por lo general) | table.dataSource evaluada |
+| En cada fila de datos cuando una fuente de datos tabla devuelve una colección o una selección de entidades | [This](../commands/this.md).item.xxx | Cualquiera | Mapped to each item of the table datasource collection or entity selection, for example **This.item.firstName** if the associated entity has the *firstName* attribute |
+| | [This](../commands/this.md).itemIndex | Number | Índice del elemento actual en la colección o selección de entidades, a partir de 0 |
+| En cualquier línea (excepto en las líneas de encabezado) cuando una fuente de datos tabla devuelve una colección o una selección de entidades | [This](../commands/this.md).previousItems | Collection o entity selection | Items displayed on the pages before the bottom carry over row (if any) or before the row of the expression, including the page where is displayed the row containing the expression.
Esta expresión devuelve el mismo tipo de valor que la expresión **This.tableData**. |
+| In a break row | [This](../commands/this.md).breakItems | Collection o entity selection | Items of the collection or entity selection displayed in the rows between:
- the current break row and the previous break row of the same level (or the start of the table) if the break row(s) are displayed after the data row.
- the current break and the next break row of the same level (or the end of the table) if the break row(s) are displayed before the data row.
|
En cualquier otro contexto, estas expresiones devolverán *undefined*.
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/WritePro/writeprointerface.md b/i18n/es/docusaurus-plugin-content-docs/current/WritePro/writeprointerface.md
index b49cfefe64375a..a95cc219922320 100644
--- a/i18n/es/docusaurus-plugin-content-docs/current/WritePro/writeprointerface.md
+++ b/i18n/es/docusaurus-plugin-content-docs/current/WritePro/writeprointerface.md
@@ -10,7 +10,7 @@ Un desarrollador 4D puede implementar fácilmente estas paletas en su aplicació
## Instalación y documentación
-4D Write Pro Interface is a **4D component** that needs to be [installed in your project](../Project/components.md#overview). 4D Write Pro Interface source files are [provided on Github](https://github.com/4d/4D-WritePro-Interface).
+4D Write Pro Interface is a **4D component** that needs to be [installed in your project](../Project/components.md#overview). Los archivos fuente de 4D Write Pro Interface están [disponibles en Github](https://github.com/4d/4D-WritePro-Interface).
La documentación principal de [la interfaz de 4D Write Pro](https://doc.4d.com/4Dv20/4D/20/Entry-areas.300-6263967.en.html) se encuentra en el manual *Diseño 4D*. Encontrará a continuación:
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIFile.md b/i18n/es/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIFile.md
index a2c81f27a2e0f5..3c326b32024644 100644
--- a/i18n/es/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIFile.md
+++ b/i18n/es/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIFile.md
@@ -18,7 +18,7 @@ The `OpenAIFile` class represents a file object in the OpenAI API. Files can be
| `filename` | Text | El nombre del archivo. |
| `object` | Text | The object type, which is always "file". |
| `purpose` | Text | The intended purpose of the file. Supported values: `assistants`, `assistants_output`, `batch`, `batch_output`, `fine-tune`, `fine-tune-results`, `vision`, and `user_data`. |
-| `status` | Text | **Deprecated.** The current status of the file, which can be either `uploaded`, `processed`, or `error`. |
+| `status` | Text | **Obsoleto.** el estado actual del archivo, que puede ser `uploaded`, `processed`, o `error`. |
| `status_details` | Text | **Deprecated.** For details on why a fine-tuning training file failed validation, see the error field on `fine_tuning.job`. |
## Ver también
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIFileResult.md b/i18n/es/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIFileResult.md
index f42d964305008a..f781ced1546e67 100644
--- a/i18n/es/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIFileResult.md
+++ b/i18n/es/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIFileResult.md
@@ -5,7 +5,7 @@ title: OpenAIFileResult
# OpenAIFileResult
-The `OpenAIFileResult` class contains the result of a single file operation (upload or retrieve).
+La clase `OpenAIFileResult` contiene el resultado de una única operación de archivo (carga o recuperación).
## Hereda
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIFilesAPI.md b/i18n/es/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIFilesAPI.md
index a0b5682d10f545..be2d29e7aa101f 100644
--- a/i18n/es/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIFilesAPI.md
+++ b/i18n/es/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIFilesAPI.md
@@ -51,7 +51,7 @@ Upload a file that can be used across various endpoints.
- **API de Asistentes:** soporta tipos de archivo específicos (ver Guía de herramientas de asistentes)
- **API de finalización de chat:** sólo se admiten archivos PDF
-#### Ejemplo
+#### Sychronous example
```4d
var $file:=File("/RESOURCES/training-data.jsonl")
@@ -71,6 +71,37 @@ If ($result.success)
End if
```
+#### Ejemplo asincrónico
+
+Since file uploads can be long operations (especially for large files up to 512 MB), it's recommended to use asynchronous calls to avoid blocking your application. See [Asynchronous Call](../asynchronous-call.md) for more details.
+
+```4d
+var $file:=File("/RESOURCES/large-training-data.jsonl")
+
+var $params:=cs.AIKit.OpenAIFileParameters.new()
+$params.onTerminate:=Formula(MyFileUploadCallback($1))
+
+// This call returns immediately without blocking
+$client.files.create($file; "fine-tune"; $params)
+```
+
+The callback function receives an [OpenAIFileResult](OpenAIFileResult.md):
+
+```4d
+// MyFileUploadCallback
+#DECLARE($result: cs.AIKit.OpenAIFileResult)
+
+If ($result.success)
+ var $uploadedFile:=$result.file
+
+ ALERT("File uploaded successfully: "+$uploadedFile.filename)
+ // Store the file ID for later use
+ Form.uploadedFileId:=$uploadedFile.id
+Else
+ ALERT("Upload failed: "+Formula(JSON Stringify($result.errors)))
+End if
+```
+
### retrieve()
**retrieve**(*fileId* : Text; *parameters* : cs.OpenAIParameters) : cs.OpenAIFileResult
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-19/FormEditor/formEditor.md b/i18n/es/docusaurus-plugin-content-docs/version-19/FormEditor/formEditor.md
index b3bc4c53bcc4a9..7dcdb830dcd022 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-19/FormEditor/formEditor.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-19/FormEditor/formEditor.md
@@ -340,7 +340,7 @@ Cuando se superponen varios objetos, se puede utilizar el atajo **Ctrl+Mayús+cl
:::note
-In binary databases, use **Ctrl+Click / Command+Click** to perform the same action.
+En bases de datos binarias, utilice **Ctrl+Clic / Comando+Clic** para efectuar la misma acción.
:::
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/Concepts/classes.md b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/Concepts/classes.md
index cb42354faf3714..f4454ac48a73ad 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/Concepts/classes.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/Concepts/classes.md
@@ -741,7 +741,7 @@ Los singletons son útiles para definir los valores que necesitan estar disponib
- un **singleton proceso** tiene una instancia única para el proceso en el que se instancia,
- un **singleton compartido** tiene una instancia única para todos los procesos en la máquina.
-- un **singleton de sesión** es un singleton compartido pero con una instancia única para todos los procesos en la [sesión](../API/SessionClass.md). Los singletons de sesión son compartidos dentro de una sesión completa, pero varían entre sesiones. En el contexto de un cliente-servidor o una aplicación web, los singletons de sesión hacen posible crear y utilizar una instancia diferente para cada sesión, y por lo tanto para cada usuario. Session singletons are particularly appropriate with [Qodly applications](https://developer.4d.com/qodly/).
+- un **singleton de sesión** es un singleton compartido pero con una instancia única para todos los procesos en la [sesión](../API/SessionClass.md). Los singletons de sesión son compartidos dentro de una sesión completa, pero varían entre sesiones. En el contexto de un cliente-servidor o una aplicación web, los singletons de sesión hacen posible crear y utilizar una instancia diferente para cada sesión, y por lo tanto para cada usuario. Los singletons de sesión son particularmente apropiados con [aplicaciones Qodly](https://developer.4d.com/qodly/).
:::info
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/Concepts/parameters.md b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/Concepts/parameters.md
index df4ff6da8665ad..a1bd615cdb5d67 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/Concepts/parameters.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/Concepts/parameters.md
@@ -112,7 +112,7 @@ $entitySelection:=ds.User.query("login=:1"; $user)
:::note
-Do not confuse **parameter declarations** with [**variable declarations**](variables.md#declaring-variables). Using the `var` keyword with parameters will generate errors.
+No confunda las **declaraciones de parámetros** con las [**declaraciones de variables**](variables.md#declaring-variables). Using the `var` keyword with parameters will generate errors.
:::
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/FormEditor/formEditor.md b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/FormEditor/formEditor.md
index 55169d4e3065a5..94c480586178b3 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/FormEditor/formEditor.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/FormEditor/formEditor.md
@@ -314,7 +314,7 @@ Para repartir los objetos con igual espacio:
1. Seleccione tres o más objetos y haga clic en la herramienta Distribuir correspondiente.
-2. In the toolbar, click on the distribution tool that corresponds to the distribution you want to apply.

OR
Select a distribution menu command from the **Align** submenu in the **Object** menu or from the context menu of the editor.
+2. En la barra de herramientas, haga clic en la herramienta de distribución correspondiente a la distribución que desea aplicar.

OR
Select a distribution menu command from the **Align** submenu in the **Object** menu or from the context menu of the editor.
4D distribuye los objetos consecuentemente. Los objetos se distribuyen utilizando la distancia a sus centros y se utiliza como referencia la mayor distancia entre dos objetos consecutivos.
Para distribuir objetos utilizando la caja de diálogo Alinear y Distribuir:
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/ORDA/orda-events.md b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/ORDA/orda-events.md
index 06fd41ba79e5bd..aa87dab2cb54fa 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/ORDA/orda-events.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/ORDA/orda-events.md
@@ -191,7 +191,7 @@ Function query sameDay($event : Object) : Text
```
-- Using a **scalar** *sameDay* attribute updated when other attributes are "touched" will save time:
+- Usar un atributo *sameDay* **escalar** actualizado cuando otros atributos son "tocados" ahorrará tiempo:
```4d
//BookingEntity class
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/ORDA/ordaClasses.md b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/ORDA/ordaClasses.md
index a1277e87a87543..cc698dfa3ce19b 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/ORDA/ordaClasses.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/ORDA/ordaClasses.md
@@ -957,7 +957,7 @@ exposed Function get
```
```4d
-// declare a shared singleton function
+// declara una función singleton compartida
shared singleton Class constructor()
exposed Function
```
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/ORDA/privileges.md b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/ORDA/privileges.md
index 170f48002e2034..9f89f0a0b8891d 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/ORDA/privileges.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/ORDA/privileges.md
@@ -165,7 +165,7 @@ En versiones anteriores, el archivo `roles.json` no fue creado por defecto. A pa
:::note Qodly Studio
-En Qodly Studio for 4D, el modo se puede definir utilizando la opción [**Forzar inicio de sesión**](../WebServer/qodly-studio.md#force-login) en el panel de Privilegios.
+En Qodly Studio for 4D, el modo se puede definir utilizando la opción [**Forzar inicio de sesión**](https://developer.4d.com/qodly/4DQodlyPro/force-login) en el panel de Privilegios.
:::
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/REST/authUsers.md b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/REST/authUsers.md
index ceccb568517c05..2091b0329a655e 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/REST/authUsers.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/REST/authUsers.md
@@ -18,7 +18,7 @@ Una sesión se abre después de que el usuario haya iniciado sesión correctamen
:::note Compatibilidad
-El modo de inicio de sesión heredado basado en el método base `On REST Authentication` está **obsoleto** a partir de 4D 20 R6. Ahora se recomienda [utilizar el **modo Force login**](../ORDA/privileges.md#rolesjson-file) (activado automáticamente en nuevos proyectos) e implementar la función [`ds.authentify()`](#function-authentify). En proyectos convertidos, [un botón en la caja de diálogo de Parámetros](../settings/web.md#activate-rest-authentication-through-dsauthentify-function) le ayudará a actualizar su configuración. En Qodly Studio for 4D, el modo se puede definir utilizando la opción [**Forzar inicio de sesión**](../WebServer/qodly-studio.md#force-login) en el panel de Privilegios.
+El modo de inicio de sesión heredado basado en el método base `On REST Authentication` está **obsoleto** a partir de 4D 20 R6. Ahora se recomienda [utilizar el **modo Force login**](../ORDA/privileges.md#rolesjson-file) (activado automáticamente en nuevos proyectos) e implementar la función [`ds.authentify()`](#function-authentify). En proyectos convertidos, [un botón en la caja de diálogo de Parámetros](../settings/web.md#activate-rest-authentication-through-dsauthentify-function) le ayudará a actualizar su configuración. En Qodly Studio for 4D, el modo se puede definir utilizando la opción [**Forzar inicio de sesión**](https://developer.4d.com/qodly/4DQodlyPro/force-login) en el panel de Privilegios.
:::
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/ViewPro/commands/vp-import-document.md b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/ViewPro/commands/vp-import-document.md
index 9cf06809fc9a03..37cded2c5b2d66 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/ViewPro/commands/vp-import-document.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/ViewPro/commands/vp-import-document.md
@@ -76,7 +76,7 @@ El parámetro opcional *paramObj* permite definir las propiedades del documento
- La importación de archivos en formatos .xslx, .csv y .sjs es **asíncrona**. Con estos formatos, debe utilizar el atributo `formula` si desea iniciar una acción al final del procesamiento del documento.
- Al importar un archivo con formato Microsoft Excel a un documento 4D View Pro, algunos parámetros pueden perderse. Puede verificar su configuración con [esta lista de SpreadJS](https://developer.mescius.com/spreadjs/docs/excelimpexp/excelexport).
- Para más información sobre el formato CSV y los valores separados por delimitadores en general, ver [este artículo en Wikipedia](https://en.wikipedia.org/wiki/Delimiter-separated_values)
-- Se recomienda utilizar el objeto *excelOptions* al importar en formato ".xlsx". Make sure to not mix this object with legacy first level property *password* to avoid potiental issues.
+- Se recomienda utilizar el objeto *excelOptions* al importar en formato ".xlsx". Asegúrese de no mezclar este objeto con la propiedad heredada de primer nivel *password* para evitar problemas potenciales.
- La función callback especificada en el atributo `formula` se activa después de que todas las [funciones personalizadas 4D](../formulas.md#4d-functions) dentro del contenido importado hayan completado sus cálculos. This ensures that any dependent processes, such as document modifications or exports, are performed only after all formula-based computations are fully resolved.
:::
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/WritePro/commands/wp-import-document.md b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/WritePro/commands/wp-import-document.md
index 9e7eb901643b46..637b01623e1567 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/WritePro/commands/wp-import-document.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/WritePro/commands/wp-import-document.md
@@ -57,7 +57,7 @@ Puede pasar un objeto para definir cómo se gestionan los siguientes atributos d
| anchoredImages | Text | Sólo para documentos MS Word (.docx). Especifica cómo se manejan las imágenes ancladas. Available values:
**all** (default) - All anchored images are imported as anchored images with their text wrapping properties (exception: the .docx wrapping option "tight" is imported as wrap square). **ignoreWrap** \- Las imágenes ancladas son importadas, pero todo texto que se envuelve alrededor de la imagen es ignorado. **ignore** \- Las imágenes ancladas no son importadas. |
| secciones | Text | Sólo para documentos MS Word (.docx). Especifica cómo se maneja la sección. Valores disponibles:
**all** (por defecto) - Se importan todas las secciones. Secciones continuas, incluso impares se convierten en secciones estándar. **ignore** \- Sections are converted to default 4D Write Pro sections (A4 portrait layout without header or footer). **Nota**: las rupturas de secciones de cualquier tipo pero continuas se convierten en rupturas de sección con rupturas de página. Continuous section breaks are imported as continuous section breaks. |
| fields | Text | Sólo para documentos MS Word (.docx). Especifica cómo se manejan los campos .docx que no pueden ser convertidos a fórmulas 4D Write Pro. Valores disponibles:
**ignore** \- Los campos .docx son ignorados. **label** \- .docx field references are imported as labels within double curly braces ("{{ }}"). Ej: el campo "ClientName" se importará como {{ClientName}}. **value** (default) - El último valor calculado para el campo .docx (si está disponible) es importado. **Note**: If a .docx field corresponds to a 4D Write Pro variable, the field is imported as a formula and this option is ignored. |
-| borderRules | Text | Sólo para documentos MS Word (.docx). Especifica cómo se gestionan los bordes de los párrafos. Valores disponibles:
**collapse** \- El formato del párrafo se modifica para imitar los bordes colapsados automáticamente. Tenga en cuenta que la propiedad contraída sólo se aplica durante la operación de importación. If a stylesheet with a automatic border collapse setting is reapplied after the import operation, the setting will be ignored. **noCollapse** (por defecto) - No se modifica el formato de los párrafos. |
+| borderRules | Text | Sólo para documentos MS Word (.docx). Especifica cómo se gestionan los bordes de los párrafos. Valores disponibles:
**collapse** \- El formato del párrafo se modifica para imitar los bordes colapsados automáticamente. Tenga en cuenta que la propiedad contraída sólo se aplica durante la operación de importación. Si se vuelve a aplicar una hoja de estilo con un ajuste de colapso automático de bordes después de la operación de importación, se ignorará el ajuste. **noCollapse** (por defecto) - No se modifica el formato de los párrafos. |
| preferredFontScriptType | Text | Sólo para documentos MS Word (.docx). Especifica el tipo de letra preferido que se utilizará cuando se definan distintos tipos de letra para una única propiedad de fuente en OOXML. Valores disponibles:
**latin** (por defecto) - script latino **bidi** \- script bidreccional. Adecuado si el documento es principalmente bidireccional de izquierda a derecha (LTR) o de derecha a izquierda (RTL) texto (por ejemplo, árabe o hebreo). **eastAsia** \- East Asian script. Adecuado si el documento es principalmente texto asiático. |
| htmlExpressions | Text | Sólo para documentos 4D Write (.4w7). Especifica cómo se manejan las expresiones HTML. Available values:
**rawText** \- HTML expressions are imported as raw text within ##htmlBegin## and ##htmlEnd## tags **ignore** (default) - HTML expressions are ignored. |
| importDisplayMode | Text | Sólo para documentos 4D Write (.4w7). Especifica cómo se gestiona la visualización de imágenes. Available values:
**legacy -** 4W7 image display mode is converted using a background image if different than scaled to fit. **noLegacy** (default) - 4W7 image display mode is converted to the *imageDisplayMode* attribute if different than scaled to fit. |
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-21/Concepts/classes.md b/i18n/es/docusaurus-plugin-content-docs/version-21/Concepts/classes.md
index cb42354faf3714..f4454ac48a73ad 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-21/Concepts/classes.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-21/Concepts/classes.md
@@ -741,7 +741,7 @@ Los singletons son útiles para definir los valores que necesitan estar disponib
- un **singleton proceso** tiene una instancia única para el proceso en el que se instancia,
- un **singleton compartido** tiene una instancia única para todos los procesos en la máquina.
-- un **singleton de sesión** es un singleton compartido pero con una instancia única para todos los procesos en la [sesión](../API/SessionClass.md). Los singletons de sesión son compartidos dentro de una sesión completa, pero varían entre sesiones. En el contexto de un cliente-servidor o una aplicación web, los singletons de sesión hacen posible crear y utilizar una instancia diferente para cada sesión, y por lo tanto para cada usuario. Session singletons are particularly appropriate with [Qodly applications](https://developer.4d.com/qodly/).
+- un **singleton de sesión** es un singleton compartido pero con una instancia única para todos los procesos en la [sesión](../API/SessionClass.md). Los singletons de sesión son compartidos dentro de una sesión completa, pero varían entre sesiones. En el contexto de un cliente-servidor o una aplicación web, los singletons de sesión hacen posible crear y utilizar una instancia diferente para cada sesión, y por lo tanto para cada usuario. Los singletons de sesión son particularmente apropiados con [aplicaciones Qodly](https://developer.4d.com/qodly/).
:::info
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-21/Concepts/parameters.md b/i18n/es/docusaurus-plugin-content-docs/version-21/Concepts/parameters.md
index 32949f64166674..3891ba40a36698 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-21/Concepts/parameters.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-21/Concepts/parameters.md
@@ -112,7 +112,7 @@ $entitySelection:=ds.User.query("login=:1"; $user)
:::note
-Do not confuse **parameter declarations** with [**variable declarations**](variables.md#declaring-variables). El uso de la palabra clave `var` con parámetros generará errores.
+No confunda las **declaraciones de parámetros** con las [**declaraciones de variables**](variables.md#declaring-variables). El uso de la palabra clave `var` con parámetros generará errores.
:::
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-21/FormObjects/listbox_overview.md b/i18n/es/docusaurus-plugin-content-docs/version-21/FormObjects/listbox_overview.md
index ab7f86953d4573..b83e90d6c6bd46 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-21/FormObjects/listbox_overview.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-21/FormObjects/listbox_overview.md
@@ -1001,9 +1001,9 @@ Estos atributos pueden utilizarse para controlar el rango de valores de entrada.
El atributo behavior ofrece variaciones a la representación estándar de los valores. En 4D v15, se ofrece una única variación:
-| Atributo | Valor(es) disponible(s) | valueType(s) | Descripción |
-| -------- | ------------------------------------------------------------- | ------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
-| behavior | threeStates | integer | Representa un valor numérico como una casilla de verificación de tres estados.
2=semi-checked, 1=checked, 0=unchecked, -1=invisible, -2=unchecked disabled, -3=checked disabled, -4=semi-checked disabled |
+| Atributo | Valor(es) disponible(s) | valueType(s) | Descripción |
+| -------- | ------------------------------------------------------------- | ------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
+| behavior | threeStates | integer | Representa un valor numérico como una casilla de verificación de tres estados.
2=semi seleccionada, 1=seleccionada, 0=no seleccionada, -1=invisible, -2= deseleccionada desactivada, -3= seleccionada desactivada, -4=semi seleccionada desactivada |
```4d
C_OBJECT($ob3)
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-21/ORDA/orda-events.md b/i18n/es/docusaurus-plugin-content-docs/version-21/ORDA/orda-events.md
index 4efe396d833a2a..87f74230e7ce29 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-21/ORDA/orda-events.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-21/ORDA/orda-events.md
@@ -234,7 +234,7 @@ Function query sameDay($event : Object) : Text
```
-- Using a **scalar** *sameDay* attribute updated when other attributes are "touched" will save time:
+- Usar un atributo *sameDay* **escalar** actualizado cuando otros atributos son "tocados" ahorrará tiempo:
```4d
//BookingEntity class
@@ -348,7 +348,7 @@ No se recomienda actualizar la entidad dentro de esta función (utilizando `This
#### Ejemplo
-En este ejemplo, no se permite guardar un producto con un margen inferior al 50%. In case of an invalid price attribute, you return an error object and thus, stop the save action.
+En este ejemplo, no se permite guardar un producto con un margen inferior al 50%. En caso de que el atributo precio no sea válido, devuelve un objeto error y, por tanto, detiene la acción de guardar.
```4d
// ProductsEntity class
@@ -438,7 +438,7 @@ return $result
:::note
-The content of the file is generated outside the `saving` event because it can be time consuming.
+El contenido del archivo se genera fuera del evento `saving` porque puede llevar mucho tiempo.
:::
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-21/ORDA/ordaClasses.md b/i18n/es/docusaurus-plugin-content-docs/version-21/ORDA/ordaClasses.md
index a1277e87a87543..cc698dfa3ce19b 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-21/ORDA/ordaClasses.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-21/ORDA/ordaClasses.md
@@ -957,7 +957,7 @@ exposed Function get
```
```4d
-// declare a shared singleton function
+// declara una función singleton compartida
shared singleton Class constructor()
exposed Function
```
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-21/REST/authUsers.md b/i18n/es/docusaurus-plugin-content-docs/version-21/REST/authUsers.md
index ceccb568517c05..2091b0329a655e 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-21/REST/authUsers.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-21/REST/authUsers.md
@@ -18,7 +18,7 @@ Una sesión se abre después de que el usuario haya iniciado sesión correctamen
:::note Compatibilidad
-El modo de inicio de sesión heredado basado en el método base `On REST Authentication` está **obsoleto** a partir de 4D 20 R6. Ahora se recomienda [utilizar el **modo Force login**](../ORDA/privileges.md#rolesjson-file) (activado automáticamente en nuevos proyectos) e implementar la función [`ds.authentify()`](#function-authentify). En proyectos convertidos, [un botón en la caja de diálogo de Parámetros](../settings/web.md#activate-rest-authentication-through-dsauthentify-function) le ayudará a actualizar su configuración. En Qodly Studio for 4D, el modo se puede definir utilizando la opción [**Forzar inicio de sesión**](../WebServer/qodly-studio.md#force-login) en el panel de Privilegios.
+El modo de inicio de sesión heredado basado en el método base `On REST Authentication` está **obsoleto** a partir de 4D 20 R6. Ahora se recomienda [utilizar el **modo Force login**](../ORDA/privileges.md#rolesjson-file) (activado automáticamente en nuevos proyectos) e implementar la función [`ds.authentify()`](#function-authentify). En proyectos convertidos, [un botón en la caja de diálogo de Parámetros](../settings/web.md#activate-rest-authentication-through-dsauthentify-function) le ayudará a actualizar su configuración. En Qodly Studio for 4D, el modo se puede definir utilizando la opción [**Forzar inicio de sesión**](https://developer.4d.com/qodly/4DQodlyPro/force-login) en el panel de Privilegios.
:::
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-21/ViewPro/commands/vp-import-document.md b/i18n/es/docusaurus-plugin-content-docs/version-21/ViewPro/commands/vp-import-document.md
index 9cf06809fc9a03..37cded2c5b2d66 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-21/ViewPro/commands/vp-import-document.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-21/ViewPro/commands/vp-import-document.md
@@ -76,7 +76,7 @@ El parámetro opcional *paramObj* permite definir las propiedades del documento
- La importación de archivos en formatos .xslx, .csv y .sjs es **asíncrona**. Con estos formatos, debe utilizar el atributo `formula` si desea iniciar una acción al final del procesamiento del documento.
- Al importar un archivo con formato Microsoft Excel a un documento 4D View Pro, algunos parámetros pueden perderse. Puede verificar su configuración con [esta lista de SpreadJS](https://developer.mescius.com/spreadjs/docs/excelimpexp/excelexport).
- Para más información sobre el formato CSV y los valores separados por delimitadores en general, ver [este artículo en Wikipedia](https://en.wikipedia.org/wiki/Delimiter-separated_values)
-- Se recomienda utilizar el objeto *excelOptions* al importar en formato ".xlsx". Make sure to not mix this object with legacy first level property *password* to avoid potiental issues.
+- Se recomienda utilizar el objeto *excelOptions* al importar en formato ".xlsx". Asegúrese de no mezclar este objeto con la propiedad heredada de primer nivel *password* para evitar problemas potenciales.
- La función callback especificada en el atributo `formula` se activa después de que todas las [funciones personalizadas 4D](../formulas.md#4d-functions) dentro del contenido importado hayan completado sus cálculos. This ensures that any dependent processes, such as document modifications or exports, are performed only after all formula-based computations are fully resolved.
:::
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-21/WritePro/commands/wp-import-document.md b/i18n/es/docusaurus-plugin-content-docs/version-21/WritePro/commands/wp-import-document.md
index 9e7eb901643b46..637b01623e1567 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-21/WritePro/commands/wp-import-document.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-21/WritePro/commands/wp-import-document.md
@@ -57,7 +57,7 @@ Puede pasar un objeto para definir cómo se gestionan los siguientes atributos d
| anchoredImages | Text | Sólo para documentos MS Word (.docx). Especifica cómo se manejan las imágenes ancladas. Available values:
**all** (default) - All anchored images are imported as anchored images with their text wrapping properties (exception: the .docx wrapping option "tight" is imported as wrap square). **ignoreWrap** \- Las imágenes ancladas son importadas, pero todo texto que se envuelve alrededor de la imagen es ignorado. **ignore** \- Las imágenes ancladas no son importadas. |
| secciones | Text | Sólo para documentos MS Word (.docx). Especifica cómo se maneja la sección. Valores disponibles:
**all** (por defecto) - Se importan todas las secciones. Secciones continuas, incluso impares se convierten en secciones estándar. **ignore** \- Sections are converted to default 4D Write Pro sections (A4 portrait layout without header or footer). **Nota**: las rupturas de secciones de cualquier tipo pero continuas se convierten en rupturas de sección con rupturas de página. Continuous section breaks are imported as continuous section breaks. |
| fields | Text | Sólo para documentos MS Word (.docx). Especifica cómo se manejan los campos .docx que no pueden ser convertidos a fórmulas 4D Write Pro. Valores disponibles:
**ignore** \- Los campos .docx son ignorados. **label** \- .docx field references are imported as labels within double curly braces ("{{ }}"). Ej: el campo "ClientName" se importará como {{ClientName}}. **value** (default) - El último valor calculado para el campo .docx (si está disponible) es importado. **Note**: If a .docx field corresponds to a 4D Write Pro variable, the field is imported as a formula and this option is ignored. |
-| borderRules | Text | Sólo para documentos MS Word (.docx). Especifica cómo se gestionan los bordes de los párrafos. Valores disponibles:
**collapse** \- El formato del párrafo se modifica para imitar los bordes colapsados automáticamente. Tenga en cuenta que la propiedad contraída sólo se aplica durante la operación de importación. If a stylesheet with a automatic border collapse setting is reapplied after the import operation, the setting will be ignored. **noCollapse** (por defecto) - No se modifica el formato de los párrafos. |
+| borderRules | Text | Sólo para documentos MS Word (.docx). Especifica cómo se gestionan los bordes de los párrafos. Valores disponibles:
**collapse** \- El formato del párrafo se modifica para imitar los bordes colapsados automáticamente. Tenga en cuenta que la propiedad contraída sólo se aplica durante la operación de importación. Si se vuelve a aplicar una hoja de estilo con un ajuste de colapso automático de bordes después de la operación de importación, se ignorará el ajuste. **noCollapse** (por defecto) - No se modifica el formato de los párrafos. |
| preferredFontScriptType | Text | Sólo para documentos MS Word (.docx). Especifica el tipo de letra preferido que se utilizará cuando se definan distintos tipos de letra para una única propiedad de fuente en OOXML. Valores disponibles:
**latin** (por defecto) - script latino **bidi** \- script bidreccional. Adecuado si el documento es principalmente bidireccional de izquierda a derecha (LTR) o de derecha a izquierda (RTL) texto (por ejemplo, árabe o hebreo). **eastAsia** \- East Asian script. Adecuado si el documento es principalmente texto asiático. |
| htmlExpressions | Text | Sólo para documentos 4D Write (.4w7). Especifica cómo se manejan las expresiones HTML. Available values:
**rawText** \- HTML expressions are imported as raw text within ##htmlBegin## and ##htmlEnd## tags **ignore** (default) - HTML expressions are ignored. |
| importDisplayMode | Text | Sólo para documentos 4D Write (.4w7). Especifica cómo se gestiona la visualización de imágenes. Available values:
**legacy -** 4W7 image display mode is converted using a background image if different than scaled to fit. **noLegacy** (default) - 4W7 image display mode is converted to the *imageDisplayMode* attribute if different than scaled to fit. |
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-21/WritePro/managing-formulas.md b/i18n/es/docusaurus-plugin-content-docs/version-21/WritePro/managing-formulas.md
index 6b906f3803a2bf..dfff1b193852c3 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-21/WritePro/managing-formulas.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-21/WritePro/managing-formulas.md
@@ -95,17 +95,17 @@ Por ejemplo, para insertar el número de página en el pie de página:
Cuando se utiliza en una fórmula dentro de la tabla, la palabra clave **This** da acceso a diferentes datos según el contexto:
-| **Contexto** | **Expression** | **Tipo** | **Devuelve** |
-| ---------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------- | ----------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
-| En cualquier sitio | [This](../commands/this.md).table | Object | Tabla actual |
-| | [This](../commands/this.md).row | Object | Current table row element |
-| | [This](../commands/this.md).rowIndex | Number | Índice de la línea actual, a partir de 1 |
-| Cuando se ha definido una fuente de datos para la tabla | [This](../commands/this.md).table.dataSource | Objet (fórmula) | Fuente de datos como fórmula |
-| | [This](../commands/this.md).tableData | Collection o Entity selection (por lo general) | table.dataSource evaluada |
-| En cada fila de datos cuando una fuente de datos tabla devuelve una colección o una selección de entidades | [This](../commands/this.md).item.xxx | Cualquiera | Mapped to each item of the table datasource collection or entity selection, for example **This.item.firstName** if the associated entity has the *firstName* attribute |
-| | [This](../commands/this.md).itemIndex | Number | Índice del elemento actual en la colección o selección de entidades, a partir de 0 |
-| In any row (except header rows) when a table datasource returns a collection or an entity selection | [This](../commands/this.md).previousItems | Collection o entity selection | Items displayed on the pages before the bottom carry over row (if any) or before the row of the expression, including the page where is displayed the row containing the expression.
Esta expresión devuelve el mismo tipo de valor que la expresión **This.tableData**. |
-| In a break row | [This](../commands/this.md).breakItems | Collection o entity selection | Items of the collection or entity selection displayed in the rows between:
- the current break row and the previous break row of the same level (or the start of the table) if the break row(s) are displayed after the data row.
- the current break and the next break row of the same level (or the end of the table) if the break row(s) are displayed before the data row.
|
+| **Contexto** | **Expression** | **Tipo** | **Devuelve** |
+| ---------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------- | ----------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| En cualquier sitio | [This](../commands/this.md).table | Object | Tabla actual |
+| | [This](../commands/this.md).row | Object | Current table row element |
+| | [This](../commands/this.md).rowIndex | Number | Índice de la línea actual, a partir de 1 |
+| Cuando se ha definido una fuente de datos para la tabla | [This](../commands/this.md).table.dataSource | Objet (fórmula) | Fuente de datos como fórmula |
+| | [This](../commands/this.md).tableData | Collection o Entity selection (por lo general) | table.dataSource evaluada |
+| En cada fila de datos cuando una fuente de datos tabla devuelve una colección o una selección de entidades | [This](../commands/this.md).item.xxx | Cualquiera | Mapped to each item of the table datasource collection or entity selection, for example **This.item.firstName** if the associated entity has the *firstName* attribute |
+| | [This](../commands/this.md).itemIndex | Number | Índice del elemento actual en la colección o selección de entidades, a partir de 0 |
+| En cualquier línea (excepto en las líneas de encabezado) cuando una fuente de datos tabla devuelve una colección o una selección de entidades | [This](../commands/this.md).previousItems | Collection o entity selection | Items displayed on the pages before the bottom carry over row (if any) or before the row of the expression, including the page where is displayed the row containing the expression.
Esta expresión devuelve el mismo tipo de valor que la expresión **This.tableData**. |
+| In a break row | [This](../commands/this.md).breakItems | Collection o entity selection | Items of the collection or entity selection displayed in the rows between:
- the current break row and the previous break row of the same level (or the start of the table) if the break row(s) are displayed after the data row.
- the current break and the next break row of the same level (or the end of the table) if the break row(s) are displayed before the data row.
|
En cualquier otro contexto, estas expresiones devolverán *undefined*.
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-21/WritePro/writeprointerface.md b/i18n/es/docusaurus-plugin-content-docs/version-21/WritePro/writeprointerface.md
index b49cfefe64375a..a95cc219922320 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-21/WritePro/writeprointerface.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-21/WritePro/writeprointerface.md
@@ -10,7 +10,7 @@ Un desarrollador 4D puede implementar fácilmente estas paletas en su aplicació
## Instalación y documentación
-4D Write Pro Interface is a **4D component** that needs to be [installed in your project](../Project/components.md#overview). 4D Write Pro Interface source files are [provided on Github](https://github.com/4d/4D-WritePro-Interface).
+4D Write Pro Interface is a **4D component** that needs to be [installed in your project](../Project/components.md#overview). Los archivos fuente de 4D Write Pro Interface están [disponibles en Github](https://github.com/4d/4D-WritePro-Interface).
La documentación principal de [la interfaz de 4D Write Pro](https://doc.4d.com/4Dv20/4D/20/Entry-areas.300-6263967.en.html) se encuentra en el manual *Diseño 4D*. Encontrará a continuación:
diff --git a/i18n/fr/docusaurus-plugin-content-docs/current/REST/authUsers.md b/i18n/fr/docusaurus-plugin-content-docs/current/REST/authUsers.md
index 71ec910a321054..beaaf5033918d5 100644
--- a/i18n/fr/docusaurus-plugin-content-docs/current/REST/authUsers.md
+++ b/i18n/fr/docusaurus-plugin-content-docs/current/REST/authUsers.md
@@ -18,7 +18,7 @@ Une session est ouverte après que l'utilisateur a été connecté avec succès
:::note Compatibilité
-L'ancien mode de connexion basé sur la méthode base `On REST Authentication` est **déprécié** à partir de 4D 20 R6. Dans les projets convertis, [un bouton dans la boîte de dialogue des Paramètres](../settings/web.md#activate-rest-authentication-through-dsauthentify-function) vous aide à mettre à niveau votre configuration. Il est maintenant recommandé d'[utiliser le **mode Force login**](../ORDA/privileges.md#fichier-rolesjson) (automatiquement activé dans les nouveaux projets) et de mettre en œuvre la fonction [`ds.authentify()`](#function-authentify). Dans Qodly Studio for 4D, le mode peut être défini en utilisant l'option [**Force login**](../WebServer/qodly-studio.md#force-login) dans l'onglet Privileges.
+L'ancien mode de connexion basé sur la méthode base `On REST Authentication` est **déprécié** à partir de 4D 20 R6. Dans les projets convertis, [un bouton dans la boîte de dialogue des Paramètres](../settings/web.md#activate-rest-authentication-through-dsauthentify-function) vous aide à mettre à niveau votre configuration. Il est maintenant recommandé d'[utiliser le **mode Force login**](../ORDA/privileges.md#fichier-rolesjson) (automatiquement activé dans les nouveaux projets) et de mettre en œuvre la fonction [`ds.authentify()`](#function-authentify). Dans Qodly Studio for 4D, le mode peut être défini en utilisant l'option [**Force login**](https://developer.4d.com/qodly/4DQodlyPro/force-login) dans l'onglet Privileges.
:::
diff --git a/i18n/fr/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIFilesAPI.md b/i18n/fr/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIFilesAPI.md
index 1646f07607eac8..fa8da50898e17a 100644
--- a/i18n/fr/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIFilesAPI.md
+++ b/i18n/fr/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIFilesAPI.md
@@ -51,7 +51,7 @@ Upload a file that can be used across various endpoints.
- **Assistants API:** Supports specific file types (see Assistants Tools guide)
- **Chat Completions API:** PDFs are only supported
-#### Exemple
+#### Sychronous example
```4d
var $file:=File("/RESOURCES/training-data.jsonl")
@@ -71,6 +71,37 @@ If ($result.success)
End if
```
+#### Exemple asynchrone
+
+Since file uploads can be long operations (especially for large files up to 512 MB), it's recommended to use asynchronous calls to avoid blocking your application. See [Asynchronous Call](../asynchronous-call.md) for more details.
+
+```4d
+var $file:=File("/RESOURCES/large-training-data.jsonl")
+
+var $params:=cs.AIKit.OpenAIFileParameters.new()
+$params.onTerminate:=Formula(MyFileUploadCallback($1))
+
+// This call returns immediately without blocking
+$client.files.create($file; "fine-tune"; $params)
+```
+
+The callback function receives an [OpenAIFileResult](OpenAIFileResult.md):
+
+```4d
+// MyFileUploadCallback
+#DECLARE($result: cs.AIKit.OpenAIFileResult)
+
+If ($result.success)
+ var $uploadedFile:=$result.file
+
+ ALERT("File uploaded successfully: "+$uploadedFile.filename)
+ // Store the file ID for later use
+ Form.uploadedFileId:=$uploadedFile.id
+Else
+ ALERT("Upload failed: "+Formula(JSON Stringify($result.errors)))
+End if
+```
+
### retrieve()
**retrieve**(*fileId* : Text; *parameters* : cs.OpenAIParameters) : cs.OpenAIFileResult
diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-20-R10/ORDA/privileges.md b/i18n/fr/docusaurus-plugin-content-docs/version-20-R10/ORDA/privileges.md
index 0d01dfc46e883a..83be4005d95245 100644
--- a/i18n/fr/docusaurus-plugin-content-docs/version-20-R10/ORDA/privileges.md
+++ b/i18n/fr/docusaurus-plugin-content-docs/version-20-R10/ORDA/privileges.md
@@ -165,7 +165,7 @@ Dans les versions précédentes, le fichier `roles.json` n'était pas créé par
:::note Qodly Studio
-Dans Qodly Studio for 4D, le mode peut être défini en utilisant l'option [**Force login**](../WebServer/qodly-studio.md#force-login) dans l'onglet Privileges.
+Dans Qodly Studio for 4D, le mode peut être défini en utilisant l'option [**Force login**](https://developer.4d.com/qodly/4DQodlyPro/force-login) dans l'onglet Privileges.
:::
diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-20-R10/REST/authUsers.md b/i18n/fr/docusaurus-plugin-content-docs/version-20-R10/REST/authUsers.md
index 662926c0cc5714..c36a93c732f654 100644
--- a/i18n/fr/docusaurus-plugin-content-docs/version-20-R10/REST/authUsers.md
+++ b/i18n/fr/docusaurus-plugin-content-docs/version-20-R10/REST/authUsers.md
@@ -18,7 +18,7 @@ Une session est ouverte après que l'utilisateur a été connecté avec succès
:::note Compatibilité
-L'ancien mode de connexion basé sur la méthode base `On REST Authentication` est **déprécié** à partir de 4D 20 R6. Dans les projets convertis, [un bouton dans la boîte de dialogue des Paramètres](../settings/web.md#activate-rest-authentication-through-dsauthentify-function) vous aide à mettre à niveau votre configuration. Il est maintenant recommandé d'[utiliser le **mode Force login**](../ORDA/privileges.md#fichier-rolesjson) (automatiquement activé dans les nouveaux projets) et de mettre en œuvre la fonction [`ds.authentify()`](#function-authentify). Dans Qodly Studio for 4D, le mode peut être défini en utilisant l'option [**Force login**](../WebServer/qodly-studio.md#force-login) dans l'onglet Privileges.
+L'ancien mode de connexion basé sur la méthode base `On REST Authentication` est **déprécié** à partir de 4D 20 R6. Dans les projets convertis, [un bouton dans la boîte de dialogue des Paramètres](../settings/web.md#activate-rest-authentication-through-dsauthentify-function) vous aide à mettre à niveau votre configuration. Il est maintenant recommandé d'[utiliser le **mode Force login**](../ORDA/privileges.md#fichier-rolesjson) (automatiquement activé dans les nouveaux projets) et de mettre en œuvre la fonction [`ds.authentify()`](#function-authentify). Dans Qodly Studio for 4D, le mode peut être défini en utilisant l'option [**Force login**](https://developer.4d.com/qodly/4DQodlyPro/force-login) dans l'onglet Privileges.
:::
diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-21/REST/authUsers.md b/i18n/fr/docusaurus-plugin-content-docs/version-21/REST/authUsers.md
index 662926c0cc5714..c36a93c732f654 100644
--- a/i18n/fr/docusaurus-plugin-content-docs/version-21/REST/authUsers.md
+++ b/i18n/fr/docusaurus-plugin-content-docs/version-21/REST/authUsers.md
@@ -18,7 +18,7 @@ Une session est ouverte après que l'utilisateur a été connecté avec succès
:::note Compatibilité
-L'ancien mode de connexion basé sur la méthode base `On REST Authentication` est **déprécié** à partir de 4D 20 R6. Dans les projets convertis, [un bouton dans la boîte de dialogue des Paramètres](../settings/web.md#activate-rest-authentication-through-dsauthentify-function) vous aide à mettre à niveau votre configuration. Il est maintenant recommandé d'[utiliser le **mode Force login**](../ORDA/privileges.md#fichier-rolesjson) (automatiquement activé dans les nouveaux projets) et de mettre en œuvre la fonction [`ds.authentify()`](#function-authentify). Dans Qodly Studio for 4D, le mode peut être défini en utilisant l'option [**Force login**](../WebServer/qodly-studio.md#force-login) dans l'onglet Privileges.
+L'ancien mode de connexion basé sur la méthode base `On REST Authentication` est **déprécié** à partir de 4D 20 R6. Dans les projets convertis, [un bouton dans la boîte de dialogue des Paramètres](../settings/web.md#activate-rest-authentication-through-dsauthentify-function) vous aide à mettre à niveau votre configuration. Il est maintenant recommandé d'[utiliser le **mode Force login**](../ORDA/privileges.md#fichier-rolesjson) (automatiquement activé dans les nouveaux projets) et de mettre en œuvre la fonction [`ds.authentify()`](#function-authentify). Dans Qodly Studio for 4D, le mode peut être défini en utilisant l'option [**Force login**](https://developer.4d.com/qodly/4DQodlyPro/force-login) dans l'onglet Privileges.
:::
diff --git a/i18n/ja/docusaurus-plugin-content-docs/current/REST/authUsers.md b/i18n/ja/docusaurus-plugin-content-docs/current/REST/authUsers.md
index e8c77d4aa0bc56..5036a5b85ab9a1 100644
--- a/i18n/ja/docusaurus-plugin-content-docs/current/REST/authUsers.md
+++ b/i18n/ja/docusaurus-plugin-content-docs/current/REST/authUsers.md
@@ -18,7 +18,7 @@ When [scalable sessions are enabled](WebServer/sessions.md#enabling-web-sessions
:::note 互換性
-4D 20 R6 以降、`On REST Authentication` データベースメソッドに基づく従来のログインモードは **非推奨** となりました。 現在は、[**強制ログインモード**](../ORDA/privileges.md#rolesjson-ファイル) の使用 (新規プロジェクトでは自動的に有効) および [`ds.authentify()`関数](#function-authentify) の実装が推奨されています。 変換されたプロジェクトでは、[設定ダイアログボックスのボタン](../settings/web.md#dsauthentify-関数によって-rest認証を有効化する) を使用して、構成をアップグレードすることができます。 Qodly Studio for 4D では、権限パネルの [**強制ログイン**オプション](../WebServer/qodly-studio.md#force-login) を使用してログインモードを設定することができます。
+4D 20 R6 以降、`On REST Authentication` データベースメソッドに基づく従来のログインモードは **非推奨** となりました。 現在は、[**強制ログインモード**](../ORDA/privileges.md#rolesjson-ファイル) の使用 (新規プロジェクトでは自動的に有効) および [`ds.authentify()`関数](#function-authentify) の実装が推奨されています。 変換されたプロジェクトでは、[設定ダイアログボックスのボタン](../settings/web.md#dsauthentify-関数によって-rest認証を有効化する) を使用して、構成をアップグレードすることができます。 Qodly Studio for 4D では、権限パネルの [**強制ログイン**オプション](https://developer.4d.com/qodly/4DQodlyPro/force-login) を使用してログインモードを設定することができます。
:::
diff --git a/i18n/ja/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIFilesAPI.md b/i18n/ja/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIFilesAPI.md
index 6bb52b12e6f60d..587d8b3ad6d584 100644
--- a/i18n/ja/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIFilesAPI.md
+++ b/i18n/ja/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIFilesAPI.md
@@ -51,7 +51,7 @@ Upload a file that can be used across various endpoints.
- **Assistants API:** Supports specific file types (see Assistants Tools guide)
- **Chat Completions API:** PDFs are only supported
-#### 例題
+#### Sychronous example
```4d
var $file:=File("/RESOURCES/training-data.jsonl")
@@ -71,6 +71,37 @@ If ($result.success)
End if
```
+#### 非同期の例
+
+Since file uploads can be long operations (especially for large files up to 512 MB), it's recommended to use asynchronous calls to avoid blocking your application. See [Asynchronous Call](../asynchronous-call.md) for more details.
+
+```4d
+var $file:=File("/RESOURCES/large-training-data.jsonl")
+
+var $params:=cs.AIKit.OpenAIFileParameters.new()
+$params.onTerminate:=Formula(MyFileUploadCallback($1))
+
+// This call returns immediately without blocking
+$client.files.create($file; "fine-tune"; $params)
+```
+
+The callback function receives an [OpenAIFileResult](OpenAIFileResult.md):
+
+```4d
+// MyFileUploadCallback
+#DECLARE($result: cs.AIKit.OpenAIFileResult)
+
+If ($result.success)
+ var $uploadedFile:=$result.file
+
+ ALERT("File uploaded successfully: "+$uploadedFile.filename)
+ // Store the file ID for later use
+ Form.uploadedFileId:=$uploadedFile.id
+Else
+ ALERT("Upload failed: "+Formula(JSON Stringify($result.errors)))
+End if
+```
+
### retrieve()
**retrieve**(*fileId* : Text; *parameters* : cs.OpenAIParameters) : cs.OpenAIFileResult
diff --git a/i18n/ja/docusaurus-plugin-content-docs/version-20-R10/ORDA/privileges.md b/i18n/ja/docusaurus-plugin-content-docs/version-20-R10/ORDA/privileges.md
index 58042a097bd9f6..e59fbe279356df 100644
--- a/i18n/ja/docusaurus-plugin-content-docs/version-20-R10/ORDA/privileges.md
+++ b/i18n/ja/docusaurus-plugin-content-docs/version-20-R10/ORDA/privileges.md
@@ -166,7 +166,7 @@ exposed Function authenticate($identifier : Text; $password : Text)->$result : T
:::note Qodly Studio
-Qodly Studio for 4D では、権限パネルの [**強制ログイン**オプション](../WebServer/qodly-studio.md#force-login) を使用してログインモードを設定することができます。
+Qodly Studio for 4D では、権限パネルの [**強制ログイン**オプション](https://developer.4d.com/qodly/4DQodlyPro/force-login) を使用してログインモードを設定することができます。
:::
diff --git a/i18n/ja/docusaurus-plugin-content-docs/version-20-R10/REST/authUsers.md b/i18n/ja/docusaurus-plugin-content-docs/version-20-R10/REST/authUsers.md
index 3261d080e8448f..030382ad872a89 100644
--- a/i18n/ja/docusaurus-plugin-content-docs/version-20-R10/REST/authUsers.md
+++ b/i18n/ja/docusaurus-plugin-content-docs/version-20-R10/REST/authUsers.md
@@ -18,7 +18,7 @@ When [scalable sessions are enabled](WebServer/sessions.md#enabling-web-sessions
:::note 互換性
-4D 20 R6 以降、`On REST Authentication` データベースメソッドに基づく従来のログインモードは **非推奨** となりました。 現在は、[**強制ログインモード**](../ORDA/privileges.md#rolesjson-ファイル) の使用 (新規プロジェクトでは自動的に有効) および [`ds.authentify()`関数](#function-authentify) の実装が推奨されています。 変換されたプロジェクトでは、[設定ダイアログボックスのボタン](../settings/web.md#dsauthentify-関数によって-rest認証を有効化する) を使用して、構成をアップグレードすることができます。 Qodly Studio for 4D では、権限パネルの [**強制ログイン**オプション](../WebServer/qodly-studio.md#force-login) を使用してログインモードを設定することができます。
+4D 20 R6 以降、`On REST Authentication` データベースメソッドに基づく従来のログインモードは **非推奨** となりました。 現在は、[**強制ログインモード**](../ORDA/privileges.md#rolesjson-ファイル) の使用 (新規プロジェクトでは自動的に有効) および [`ds.authentify()`関数](#function-authentify) の実装が推奨されています。 変換されたプロジェクトでは、[設定ダイアログボックスのボタン](../settings/web.md#dsauthentify-関数によって-rest認証を有効化する) を使用して、構成をアップグレードすることができます。 Qodly Studio for 4D では、権限パネルの [**強制ログイン**オプション](https://developer.4d.com/qodly/4DQodlyPro/force-login) を使用してログインモードを設定することができます。
:::
diff --git a/i18n/ja/docusaurus-plugin-content-docs/version-21/REST/authUsers.md b/i18n/ja/docusaurus-plugin-content-docs/version-21/REST/authUsers.md
index 3261d080e8448f..030382ad872a89 100644
--- a/i18n/ja/docusaurus-plugin-content-docs/version-21/REST/authUsers.md
+++ b/i18n/ja/docusaurus-plugin-content-docs/version-21/REST/authUsers.md
@@ -18,7 +18,7 @@ When [scalable sessions are enabled](WebServer/sessions.md#enabling-web-sessions
:::note 互換性
-4D 20 R6 以降、`On REST Authentication` データベースメソッドに基づく従来のログインモードは **非推奨** となりました。 現在は、[**強制ログインモード**](../ORDA/privileges.md#rolesjson-ファイル) の使用 (新規プロジェクトでは自動的に有効) および [`ds.authentify()`関数](#function-authentify) の実装が推奨されています。 変換されたプロジェクトでは、[設定ダイアログボックスのボタン](../settings/web.md#dsauthentify-関数によって-rest認証を有効化する) を使用して、構成をアップグレードすることができます。 Qodly Studio for 4D では、権限パネルの [**強制ログイン**オプション](../WebServer/qodly-studio.md#force-login) を使用してログインモードを設定することができます。
+4D 20 R6 以降、`On REST Authentication` データベースメソッドに基づく従来のログインモードは **非推奨** となりました。 現在は、[**強制ログインモード**](../ORDA/privileges.md#rolesjson-ファイル) の使用 (新規プロジェクトでは自動的に有効) および [`ds.authentify()`関数](#function-authentify) の実装が推奨されています。 変換されたプロジェクトでは、[設定ダイアログボックスのボタン](../settings/web.md#dsauthentify-関数によって-rest認証を有効化する) を使用して、構成をアップグレードすることができます。 Qodly Studio for 4D では、権限パネルの [**強制ログイン**オプション](https://developer.4d.com/qodly/4DQodlyPro/force-login) を使用してログインモードを設定することができます。
:::
diff --git a/i18n/pt/docusaurus-plugin-content-docs/current/REST/authUsers.md b/i18n/pt/docusaurus-plugin-content-docs/current/REST/authUsers.md
index 3e70a79594c84f..c6224a1a1109d3 100644
--- a/i18n/pt/docusaurus-plugin-content-docs/current/REST/authUsers.md
+++ b/i18n/pt/docusaurus-plugin-content-docs/current/REST/authUsers.md
@@ -18,7 +18,7 @@ Uma sessão é aberta depois que o usuário é autenticado com sucesso (veja aba
:::note Compatibidade
-O modo de login legado baseado no método de banco de dados `On REST Authentication` é **obsoleto** a partir de 4D 20 R6. Agora é recomendado [usar o **modo de login forçado**](../ORDA/privileges.md#rolesjson-file) (automaticamente habilitado em novos projetos) e implementar a [função `ds.authentify()`](#function-authentify). Em projetos convertidos, [um botão na caixa de diálogo Configurações](../settings/web.md#activate-rest-authentication-through-dsauthentify-function) o ajudará a atualizar sua configuração. No Qodly Studio para 4D, o modo pode ser definido usando a opção [**Forçar login**](../WebServer/qodly-studio.md#force-login) no painel de Privilégios.
+O modo de login legado baseado no método de banco de dados `On REST Authentication` é **obsoleto** a partir de 4D 20 R6. Agora é recomendado [usar o **modo de login forçado**](../ORDA/privileges.md#rolesjson-file) (automaticamente habilitado em novos projetos) e implementar a [função `ds.authentify()`](#function-authentify). Em projetos convertidos, [um botão na caixa de diálogo Configurações](../settings/web.md#activate-rest-authentication-through-dsauthentify-function) o ajudará a atualizar sua configuração. No Qodly Studio para 4D, o modo pode ser definido usando a opção [**Forçar login**](https://developer.4d.com/qodly/4DQodlyPro/force-login) no painel de Privilégios.
:::
diff --git a/i18n/pt/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIFilesAPI.md b/i18n/pt/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIFilesAPI.md
index a7e66277c7aaa2..21ca534301eddb 100644
--- a/i18n/pt/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIFilesAPI.md
+++ b/i18n/pt/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIFilesAPI.md
@@ -51,7 +51,7 @@ Upload a file that can be used across various endpoints.
- **Assistants API:** Supports specific file types (see Assistants Tools guide)
- **Chat Completions API:** PDFs are only supported
-#### Exemplo
+#### Sychronous example
```4d
var $file:=File("/RESOURCES/training-data.jsonl")
@@ -71,6 +71,37 @@ If ($result.success)
End if
```
+#### Exemplo assíncrono
+
+Since file uploads can be long operations (especially for large files up to 512 MB), it's recommended to use asynchronous calls to avoid blocking your application. See [Asynchronous Call](../asynchronous-call.md) for more details.
+
+```4d
+var $file:=File("/RESOURCES/large-training-data.jsonl")
+
+var $params:=cs.AIKit.OpenAIFileParameters.new()
+$params.onTerminate:=Formula(MyFileUploadCallback($1))
+
+// This call returns immediately without blocking
+$client.files.create($file; "fine-tune"; $params)
+```
+
+The callback function receives an [OpenAIFileResult](OpenAIFileResult.md):
+
+```4d
+// MyFileUploadCallback
+#DECLARE($result: cs.AIKit.OpenAIFileResult)
+
+If ($result.success)
+ var $uploadedFile:=$result.file
+
+ ALERT("File uploaded successfully: "+$uploadedFile.filename)
+ // Store the file ID for later use
+ Form.uploadedFileId:=$uploadedFile.id
+Else
+ ALERT("Upload failed: "+Formula(JSON Stringify($result.errors)))
+End if
+```
+
### retrieve()
**retrieve**(*fileId* : Text; *parameters* : cs.OpenAIParameters) : cs.OpenAIFileResult
diff --git a/i18n/pt/docusaurus-plugin-content-docs/version-20-R10/ORDA/privileges.md b/i18n/pt/docusaurus-plugin-content-docs/version-20-R10/ORDA/privileges.md
index b8c7045056e46c..909c0a60794fd9 100644
--- a/i18n/pt/docusaurus-plugin-content-docs/version-20-R10/ORDA/privileges.md
+++ b/i18n/pt/docusaurus-plugin-content-docs/version-20-R10/ORDA/privileges.md
@@ -165,7 +165,7 @@ Em versões anteriores, o arquivo `roles.json` não foi criado por padrão. A pa
:::note Qodly Studio
-No Qodly Studio para 4D, o modo pode ser definido usando a opção [**Forçar login**](../WebServer/qodly-studio.md#force-login) no painel de Privilégios.
+No Qodly Studio para 4D, o modo pode ser definido usando a opção [**Forçar login**](https://developer.4d.com/qodly/4DQodlyPro/force-login) no painel de Privilégios.
:::
diff --git a/i18n/pt/docusaurus-plugin-content-docs/version-20-R10/REST/authUsers.md b/i18n/pt/docusaurus-plugin-content-docs/version-20-R10/REST/authUsers.md
index f552e7d35b35e5..eea1c476f49d46 100644
--- a/i18n/pt/docusaurus-plugin-content-docs/version-20-R10/REST/authUsers.md
+++ b/i18n/pt/docusaurus-plugin-content-docs/version-20-R10/REST/authUsers.md
@@ -18,7 +18,7 @@ Uma sessão é aberta depois que o usuário é autenticado com sucesso (veja aba
:::note Compatibidade
-O modo de login legado baseado no método de banco de dados `On REST Authentication` é **obsoleto** a partir de 4D 20 R6. Agora é recomendado [usar o **modo de login forçado**](../ORDA/privileges.md#rolesjson-file) (automaticamente habilitado em novos projetos) e implementar a [função `ds.authentify()`](#function-authentify). Em projetos convertidos, [um botão na caixa de diálogo Configurações](../settings/web.md#activate-rest-authentication-through-dsauthentify-function) o ajudará a atualizar sua configuração. No Qodly Studio para 4D, o modo pode ser definido usando a opção [**Forçar login**](../WebServer/qodly-studio.md#force-login) no painel de Privilégios.
+O modo de login legado baseado no método de banco de dados `On REST Authentication` é **obsoleto** a partir de 4D 20 R6. Agora é recomendado [usar o **modo de login forçado**](../ORDA/privileges.md#rolesjson-file) (automaticamente habilitado em novos projetos) e implementar a [função `ds.authentify()`](#function-authentify). Em projetos convertidos, [um botão na caixa de diálogo Configurações](../settings/web.md#activate-rest-authentication-through-dsauthentify-function) o ajudará a atualizar sua configuração. No Qodly Studio para 4D, o modo pode ser definido usando a opção [**Forçar login**](https://developer.4d.com/qodly/4DQodlyPro/force-login) no painel de Privilégios.
:::
diff --git a/i18n/pt/docusaurus-plugin-content-docs/version-21/REST/authUsers.md b/i18n/pt/docusaurus-plugin-content-docs/version-21/REST/authUsers.md
index f552e7d35b35e5..eea1c476f49d46 100644
--- a/i18n/pt/docusaurus-plugin-content-docs/version-21/REST/authUsers.md
+++ b/i18n/pt/docusaurus-plugin-content-docs/version-21/REST/authUsers.md
@@ -18,7 +18,7 @@ Uma sessão é aberta depois que o usuário é autenticado com sucesso (veja aba
:::note Compatibidade
-O modo de login legado baseado no método de banco de dados `On REST Authentication` é **obsoleto** a partir de 4D 20 R6. Agora é recomendado [usar o **modo de login forçado**](../ORDA/privileges.md#rolesjson-file) (automaticamente habilitado em novos projetos) e implementar a [função `ds.authentify()`](#function-authentify). Em projetos convertidos, [um botão na caixa de diálogo Configurações](../settings/web.md#activate-rest-authentication-through-dsauthentify-function) o ajudará a atualizar sua configuração. No Qodly Studio para 4D, o modo pode ser definido usando a opção [**Forçar login**](../WebServer/qodly-studio.md#force-login) no painel de Privilégios.
+O modo de login legado baseado no método de banco de dados `On REST Authentication` é **obsoleto** a partir de 4D 20 R6. Agora é recomendado [usar o **modo de login forçado**](../ORDA/privileges.md#rolesjson-file) (automaticamente habilitado em novos projetos) e implementar a [função `ds.authentify()`](#function-authentify). Em projetos convertidos, [um botão na caixa de diálogo Configurações](../settings/web.md#activate-rest-authentication-through-dsauthentify-function) o ajudará a atualizar sua configuração. No Qodly Studio para 4D, o modo pode ser definido usando a opção [**Forçar login**](https://developer.4d.com/qodly/4DQodlyPro/force-login) no painel de Privilégios.
:::
From 9ed22e0b542513a8245066bc9578269bf3235cdc Mon Sep 17 00:00:00 2001
From: arnaud-4d
Date: Tue, 25 Nov 2025 10:26:34 +0100
Subject: [PATCH 47/75] get
---
docs/commands-legacy/register-client.md | 4 ++--
.../version-20-R10/commands-legacy/register-client.md | 2 +-
versioned_docs/version-21/commands-legacy/register-client.md | 2 +-
3 files changed, 4 insertions(+), 4 deletions(-)
diff --git a/docs/commands-legacy/register-client.md b/docs/commands-legacy/register-client.md
index cf860b712fbe7e..13ae8aed658440 100644
--- a/docs/commands-legacy/register-client.md
+++ b/docs/commands-legacy/register-client.md
@@ -25,7 +25,7 @@ displayed_sidebar: docs
## Description
-The **REGISTER CLIENT** command “registers” a 4D client station with the name specified in *clientName* on 4D Server, so as to allow other clients or possibly 4D Server (by using stored methods) to execute methods on it by using the [`EXECUTE ON CLIENT`](execute-on-client.md) command. Once it is registered, a 4D client can then execute one or more methods for other clients.
+The **REGISTER CLIENT** command "registers" a 4D client station with the name specified in *clientName* on 4D Server, so as to allow other clients or possibly 4D Server (by using stored methods) to execute methods on it by using the [`EXECUTE ON CLIENT`](execute-on-client.md) command. Once it is registered, a 4D client can then execute one or more methods for other clients.
**Notes:**
@@ -64,7 +64,7 @@ var PrClientList : Integer
PrClientList:=New process("4D Client List";32000;"List of registered clients")
```
-3) The method 4D Client List allows you to recuperate all the registered 4D clients and those that can receive messages:
+3) The 4D Client List method allows you to get all the registered 4D clients and those that can receive messages:
```4d
var $Ref; $p : Integer
diff --git a/versioned_docs/version-20-R10/commands-legacy/register-client.md b/versioned_docs/version-20-R10/commands-legacy/register-client.md
index 7efbc44fbcd401..45b93e3b7222b5 100644
--- a/versioned_docs/version-20-R10/commands-legacy/register-client.md
+++ b/versioned_docs/version-20-R10/commands-legacy/register-client.md
@@ -57,7 +57,7 @@ In the following example, we are going to create a small messaging system that a
PrClientList:=New process("4D Client List";32000;"List of registered clients")
```
-3) The method 4D Client List allows you to recuperate all the registered 4D clients and those that can receive messages:
+3) The 4D Client List method allows you to get all the registered 4D clients and those that can receive messages:
```4d
If(Application type=4D Remote Mode)
diff --git a/versioned_docs/version-21/commands-legacy/register-client.md b/versioned_docs/version-21/commands-legacy/register-client.md
index cf860b712fbe7e..acb9991ba4f192 100644
--- a/versioned_docs/version-21/commands-legacy/register-client.md
+++ b/versioned_docs/version-21/commands-legacy/register-client.md
@@ -64,7 +64,7 @@ var PrClientList : Integer
PrClientList:=New process("4D Client List";32000;"List of registered clients")
```
-3) The method 4D Client List allows you to recuperate all the registered 4D clients and those that can receive messages:
+3) The 4D Client List method allows you to get all the registered 4D clients and those that can receive messages:
```4d
var $Ref; $p : Integer
From 80da64339ee56bf5547fc4a078164740df675a68 Mon Sep 17 00:00:00 2001
From: arnaud-4d
Date: Tue, 25 Nov 2025 11:19:31 +0100
Subject: [PATCH 48/75] fluentUI on binary
---
docs/FormEditor/forms.md | 4 ++--
versioned_docs/version-21/FormEditor/forms.md | 5 +++--
2 files changed, 5 insertions(+), 4 deletions(-)
diff --git a/docs/FormEditor/forms.md b/docs/FormEditor/forms.md
index 1bb9f5f24bc3ac..7ffaca89c52ab0 100644
--- a/docs/FormEditor/forms.md
+++ b/docs/FormEditor/forms.md
@@ -116,9 +116,9 @@ Fluent UI support is currently in the Developer Preview phase. It should not be
:::
-:::info macOS
+:::info Availability
-This feature can only be used on Windows. On macOS, it is ignored.
+This feature can be used **in 4D projects on Windows**. It is not available on macOS or in binary 4D databases on Windows.
:::
diff --git a/versioned_docs/version-21/FormEditor/forms.md b/versioned_docs/version-21/FormEditor/forms.md
index 1bb9f5f24bc3ac..79f1e63453313b 100644
--- a/versioned_docs/version-21/FormEditor/forms.md
+++ b/versioned_docs/version-21/FormEditor/forms.md
@@ -116,12 +116,13 @@ Fluent UI support is currently in the Developer Preview phase. It should not be
:::
-:::info macOS
+:::info Availability
-This feature can only be used on Windows. On macOS, it is ignored.
+This feature can be used **in 4D projects on Windows**. It is not available on macOS or in binary 4D databases on Windows.
:::
+
:::tip Related blog post
[Modernize your 4D interfaces with Fluent UI](https://blog.4d.com/modernize-your-4d-interfaces-with-fluent-ui)
From a3ce55bd637b26c6f20f6341d437e58bd599946c Mon Sep 17 00:00:00 2001
From: arnaud-4d
Date: Wed, 26 Nov 2025 09:51:31 +0100
Subject: [PATCH 49/75] New Crowdin updates (#3007)
* New translations forms.md (French)
* New translations forms.md (French)
* New translations forms.md (Spanish)
* New translations forms.md (Spanish)
* New translations forms.md (Japanese)
* New translations forms.md (Japanese)
* New translations forms.md (Portuguese, Brazilian)
* New translations forms.md (Portuguese, Brazilian)
* New translations openai.md (Japanese)
* New translations openaifile.md (Japanese)
---
.../current/FormEditor/forms.md | 4 ++--
.../version-21/FormEditor/forms.md | 4 ++--
.../current/FormEditor/forms.md | 4 ++--
.../version-21/FormEditor/forms.md | 4 ++--
.../current/FormEditor/forms.md | 4 ++--
.../current/aikit/Classes/OpenAI.md | 16 ++++++++--------
.../current/aikit/Classes/OpenAIFile.md | 2 +-
.../version-21/FormEditor/forms.md | 4 ++--
.../current/FormEditor/forms.md | 4 ++--
.../version-21/FormEditor/forms.md | 4 ++--
10 files changed, 25 insertions(+), 25 deletions(-)
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/FormEditor/forms.md b/i18n/es/docusaurus-plugin-content-docs/current/FormEditor/forms.md
index 3372865a4eb79b..e55a538ddc4a02 100644
--- a/i18n/es/docusaurus-plugin-content-docs/current/FormEditor/forms.md
+++ b/i18n/es/docusaurus-plugin-content-docs/current/FormEditor/forms.md
@@ -112,9 +112,9 @@ La compatibilidad con Fluent UI se encuentra actualmente en fase Developer Previ
:::
-:::info macOS
+:::info Disponibilidad
-Esta funcionalidad sólo se puede utilizar en Windows. En macOS, se ignora.
+This feature can be used **in 4D projects on Windows**. It is not available on macOS or in binary 4D databases on Windows.
:::
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-21/FormEditor/forms.md b/i18n/es/docusaurus-plugin-content-docs/version-21/FormEditor/forms.md
index 3372865a4eb79b..e55a538ddc4a02 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-21/FormEditor/forms.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-21/FormEditor/forms.md
@@ -112,9 +112,9 @@ La compatibilidad con Fluent UI se encuentra actualmente en fase Developer Previ
:::
-:::info macOS
+:::info Disponibilidad
-Esta funcionalidad sólo se puede utilizar en Windows. En macOS, se ignora.
+This feature can be used **in 4D projects on Windows**. It is not available on macOS or in binary 4D databases on Windows.
:::
diff --git a/i18n/fr/docusaurus-plugin-content-docs/current/FormEditor/forms.md b/i18n/fr/docusaurus-plugin-content-docs/current/FormEditor/forms.md
index 7b7946358c6eac..0c5ab01f402f6c 100644
--- a/i18n/fr/docusaurus-plugin-content-docs/current/FormEditor/forms.md
+++ b/i18n/fr/docusaurus-plugin-content-docs/current/FormEditor/forms.md
@@ -112,9 +112,9 @@ La prise en charge de Fluent UI est actuellement en phase d'aperçu pour les dé
:::
-:::info macOS
+:::info Disponibilité
-Cette fonctionnalité ne peut être utilisée que sous Windows. Sous macOS, elle est ignorée.
+This feature can be used **in 4D projects on Windows**. It is not available on macOS or in binary 4D databases on Windows.
:::
diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-21/FormEditor/forms.md b/i18n/fr/docusaurus-plugin-content-docs/version-21/FormEditor/forms.md
index 7b7946358c6eac..0c5ab01f402f6c 100644
--- a/i18n/fr/docusaurus-plugin-content-docs/version-21/FormEditor/forms.md
+++ b/i18n/fr/docusaurus-plugin-content-docs/version-21/FormEditor/forms.md
@@ -112,9 +112,9 @@ La prise en charge de Fluent UI est actuellement en phase d'aperçu pour les dé
:::
-:::info macOS
+:::info Disponibilité
-Cette fonctionnalité ne peut être utilisée que sous Windows. Sous macOS, elle est ignorée.
+This feature can be used **in 4D projects on Windows**. It is not available on macOS or in binary 4D databases on Windows.
:::
diff --git a/i18n/ja/docusaurus-plugin-content-docs/current/FormEditor/forms.md b/i18n/ja/docusaurus-plugin-content-docs/current/FormEditor/forms.md
index c439e23e779f13..810beed2ab330c 100644
--- a/i18n/ja/docusaurus-plugin-content-docs/current/FormEditor/forms.md
+++ b/i18n/ja/docusaurus-plugin-content-docs/current/FormEditor/forms.md
@@ -112,9 +112,9 @@ Fluent UI support is currently in the Developer Preview phase. 本番環境で
:::
-:::info macOS
+:::info 利用可能性
-This feature can only be used on Windows. On macOS, it is ignored.
+This feature can be used **in 4D projects on Windows**. It is not available on macOS or in binary 4D databases on Windows.
:::
diff --git a/i18n/ja/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAI.md b/i18n/ja/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAI.md
index fa5cac9b16540a..e7600f787ec75f 100644
--- a/i18n/ja/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAI.md
+++ b/i18n/ja/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAI.md
@@ -60,14 +60,14 @@ $client.baseURL:="https://server.ai"
API はOpenAI のサービスとシームレスにやりとりすることを可能にする複数のリソースへのアクセスを提供します。 それぞれのリソースは専用のAPI クラスにカプセル化されており、様々な機能と対話するための構造化された、直感的な方法を提供しています。
-| プロパティ名 | 型 | 説明 |
-| ------------- | ----------------------------------------------- | ---------------------------------------- |
-| `models` | [OpenAIModelsAPI](OpenAIModelsAPI.md) | Models API へのアクセス。 |
-| `chat` | [OpenAIChatAPI](OpenAIChatAPI.md) | Chat API へのアクセス。 |
-| `images` | [OpenAIImagesAPI](OpenAIImagesAPI.md) | 画像 API へのアクセス。 |
-| `moderations` | [OpenAIModerationsAPI](OpenAIModerationsAPI.md) | モデレーションAPI へのアクセス。 |
-| `embeddings` | [OpenAIEmbeddingsAPI](OpenAIEmbeddingsAPI.md) | 埋め込みAPI へのアクセス。 |
-| `files` | [OpenAIFilesAPI](OpenAIFilesAPI.md) | Access to the Files API. |
+| プロパティ名 | 型 | 説明 |
+| ------------- | ----------------------------------------------- | ------------------ |
+| `models` | [OpenAIModelsAPI](OpenAIModelsAPI.md) | Models API へのアクセス。 |
+| `chat` | [OpenAIChatAPI](OpenAIChatAPI.md) | Chat API へのアクセス。 |
+| `images` | [OpenAIImagesAPI](OpenAIImagesAPI.md) | 画像 API へのアクセス。 |
+| `moderations` | [OpenAIModerationsAPI](OpenAIModerationsAPI.md) | モデレーションAPI へのアクセス。 |
+| `embeddings` | [OpenAIEmbeddingsAPI](OpenAIEmbeddingsAPI.md) | 埋め込みAPI へのアクセス。 |
+| `files` | [OpenAIFilesAPI](OpenAIFilesAPI.md) | Files API へのアクセス。 |
### 使用例
diff --git a/i18n/ja/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIFile.md b/i18n/ja/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIFile.md
index 2d785bfd5cb539..2acc3d46976455 100644
--- a/i18n/ja/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIFile.md
+++ b/i18n/ja/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIFile.md
@@ -5,7 +5,7 @@ title: OpenAIFile
# OpenAIFile
-The `OpenAIFile` class represents a file object in the OpenAI API. Files can be uploaded and used across various endpoints including Assistants, Fine-tuning, Batch, and Vision APIs.
+`OpenAIFile` クラスはOpen AI API 内でのファイルオブジェクトを表します。 Files can be uploaded and used across various endpoints including Assistants, Fine-tuning, Batch, and Vision APIs.
## プロパティ
diff --git a/i18n/ja/docusaurus-plugin-content-docs/version-21/FormEditor/forms.md b/i18n/ja/docusaurus-plugin-content-docs/version-21/FormEditor/forms.md
index c439e23e779f13..810beed2ab330c 100644
--- a/i18n/ja/docusaurus-plugin-content-docs/version-21/FormEditor/forms.md
+++ b/i18n/ja/docusaurus-plugin-content-docs/version-21/FormEditor/forms.md
@@ -112,9 +112,9 @@ Fluent UI support is currently in the Developer Preview phase. 本番環境で
:::
-:::info macOS
+:::info 利用可能性
-This feature can only be used on Windows. On macOS, it is ignored.
+This feature can be used **in 4D projects on Windows**. It is not available on macOS or in binary 4D databases on Windows.
:::
diff --git a/i18n/pt/docusaurus-plugin-content-docs/current/FormEditor/forms.md b/i18n/pt/docusaurus-plugin-content-docs/current/FormEditor/forms.md
index e0f5a4167e9998..a8f2ebed15c8d0 100644
--- a/i18n/pt/docusaurus-plugin-content-docs/current/FormEditor/forms.md
+++ b/i18n/pt/docusaurus-plugin-content-docs/current/FormEditor/forms.md
@@ -112,9 +112,9 @@ Fluent UI support is currently in the Developer Preview phase. Não deve ser usa
:::
-:::info macOS
+:::info Disponibilidade
-This feature can only be used on Windows. On macOS, it is ignored.
+This feature can be used **in 4D projects on Windows**. It is not available on macOS or in binary 4D databases on Windows.
:::
diff --git a/i18n/pt/docusaurus-plugin-content-docs/version-21/FormEditor/forms.md b/i18n/pt/docusaurus-plugin-content-docs/version-21/FormEditor/forms.md
index e0f5a4167e9998..a8f2ebed15c8d0 100644
--- a/i18n/pt/docusaurus-plugin-content-docs/version-21/FormEditor/forms.md
+++ b/i18n/pt/docusaurus-plugin-content-docs/version-21/FormEditor/forms.md
@@ -112,9 +112,9 @@ Fluent UI support is currently in the Developer Preview phase. Não deve ser usa
:::
-:::info macOS
+:::info Disponibilidade
-This feature can only be used on Windows. On macOS, it is ignored.
+This feature can be used **in 4D projects on Windows**. It is not available on macOS or in binary 4D databases on Windows.
:::
From a18ca5aa4a4ac8f7239f899d79be05b596e67e0b Mon Sep 17 00:00:00 2001
From: arnaud-4d
Date: Wed, 26 Nov 2025 11:51:52 +0100
Subject: [PATCH 50/75] Feature/order by vectors (#3008)
* first try
* Update updates.md
* final
* Update updates.md
* after closure
---
docs/API/DataClassClass.md | 16 +++++++++++++++-
docs/API/EntitySelectionClass.md | 2 ++
docs/Notes/updates.md | 2 +-
docs/REST/$filter.md | 4 ++--
docs/REST/$orderby.md | 9 ++++++++-
5 files changed, 28 insertions(+), 5 deletions(-)
diff --git a/docs/API/DataClassClass.md b/docs/API/DataClassClass.md
index edcd003a94a757..5ec725310b0f81 100644
--- a/docs/API/DataClassClass.md
+++ b/docs/API/DataClassClass.md
@@ -934,7 +934,7 @@ When using a constant value, the following rules must be respected:
* **date** type constants: "YYYY-MM-DD" format
* **null** constant: using the "null" keyword will find **null** and **undefined** properties.
* in case of a query with an IN comparator, *value* must be a collection, or values matching the type of the attribute path between \[ ] separated by commas (for strings, `"` characters must be escaped with `\`).
- * **object**: only [4D.Vector](../API/VectorClass.md) objects are supported, in the context of **vector similarity queries** (*attributePath* must also contain valid 4D.Vector objects).
+ * **object**: only [4D.Vector](../API/VectorClass.md) objects are supported, in the context of [**vector similarity queries**](#query-by-vector-similarity) (*attributePath* must also contain valid 4D.Vector objects).
* **logicalOperator**: used to join multiple conditions in the query (optional). You can use one of the following logical operators (either the name or the symbol can be used):
|Conjunction|Symbol(s)|
@@ -1206,6 +1206,20 @@ var $comparisonVector := {vector: $myVector; metric: mk euclidean; threshold: 1.
var $results := ds.MyClass.query("myVectorField <= :1"; $comparisonVector)
```
+The **order by** statement is supported in the query string so that entities in the resulting entity selection are sorted by similarity. For example:
+
+```4d
+var $results := ds.MyClass.query("myVectorField > :1 order by myVectorField"; $comparisonVector)
+ //default order, the first entity is the most similar
+```
+
+If the same vector appears multiple times in the query string, the order by will be applied to the results of the first one, for example:
+
+```4d
+var $results := ds.MyClass.query("myVectorField > :1 and myVectorField > :2 order by myVectorField" desc; /
+ {vector : $myVector1 };{vector : $myVector2 }) //myVectorField > :1 is used for the order by
+```
+
See [more examples below](#example-4-2) (examples 4 and 5).
:::tip Related blog posts
diff --git a/docs/API/EntitySelectionClass.md b/docs/API/EntitySelectionClass.md
index 456b507bdcd585..b94931d5caae23 100644
--- a/docs/API/EntitySelectionClass.md
+++ b/docs/API/EntitySelectionClass.md
@@ -1800,6 +1800,8 @@ In this example, the "marks" object field in the **Students** dataClass contains
|Release|Changes|
|---|---|
+|21 R2|Support of order by with 4D.Vector searches|
+|21|Support 4D.Vector objects|
|17 R6|Support of Formula parameters|
|17 R5|Support of placeholders for values|
|17|Added|
diff --git a/docs/Notes/updates.md b/docs/Notes/updates.md
index 4ee055986374c1..f75b102a36f054 100644
--- a/docs/Notes/updates.md
+++ b/docs/Notes/updates.md
@@ -10,8 +10,8 @@ Read [**What’s new in 4D 21 R2**](https://blog.4d.com/en-whats-new-in-4d-21-r2
#### Highlights
- [Code Live Checker](../code-editor/write-class-method.md#warnings-and-errors) has been enhanced to provide greater precision in error detection (see [this blog post](https://blog.4d.com/better-error-handling-and-type-inference-for-4d-developers) for more information).
+- Built-in support of `order by` in query strings for AI vector searches using [`query()`](../API/DataClassClass.md#query-by-vector-similarity) functions and the [REST API](../REST/$orderby.md).
- 4D AIKit component: new [File API](../aikit/Classes/OpenAIFilesAPI.md) class to implement **file upload** features.
-
- [**Fixed bug list**](https://bugs.4d.fr/fixedbugslist?version=21_R2): list of all bugs that have been fixed in 4D 21 R2.
diff --git a/docs/REST/$filter.md b/docs/REST/$filter.md
index 50623cde869c9e..ed68fa8afb3d8f 100644
--- a/docs/REST/$filter.md
+++ b/docs/REST/$filter.md
@@ -5,7 +5,7 @@ title: $filter
-Allows to query the data in a dataclass or method *(e.g.*, `$filter="firstName!='' AND salary>30000"`)
+Allows to query the data in a dataclass or method (*e.g.*, `$filter="firstName!='' AND salary>30000"`)
## Description
@@ -105,7 +105,7 @@ The *vectorComparison* parameter is a collection of the following elements:
|[].metric|Text|Optional. [Vector computation](../API/VectorClass.md#understanding-the-different-vector-computations) to use for the query. Supported values:"cosine" (default if omitted): calculates the cosine similarity between vectors."dot": calculates the dot similarity of vectors."euclidean": calculates the Euclidean distance between vectors.|
|[].threshold|Real|Optional (default: 0.5). A threshold value used to filter vector comparisons based on their cosine, dot or euclidean similarity score according to the selected "metric". It is highly recommended to choose a similarity that best fits your specific use case for optimal results.|
-Only a subset of **comparator** symbols are supported with vector comparisons. Note that they compare results to the threshold value:
+Only a subset of **comparator** symbols is supported with vector comparisons. Note that they compare results to the threshold value:
|Comparator| Symbol(s)| Comment|
|---|---|---|
diff --git a/docs/REST/$orderby.md b/docs/REST/$orderby.md
index c3fd5e4e01317e..4e035a519a155a 100644
--- a/docs/REST/$orderby.md
+++ b/docs/REST/$orderby.md
@@ -11,7 +11,7 @@ Sorts the data returned by the attribute and sorting order defined (*e.g.*, `$or
`$orderby` orders the entities returned by the REST request. For each attribute, you specify the order as `ASC` (or `asc`) for ascending order and `DESC` (`desc`) for descending order. By default, the data is sorted in ascending order. If you want to specify multiple attributes, you can delimit them with a comma, *e.g.*, `$orderby="lastName desc, firstName asc"`.
-## Example
+## Example 1
In this example, we retrieve entities and sort them at the same time:
@@ -49,3 +49,10 @@ The example below sorts the entity set by lastName attribute in ascending order:
}
```
+## Example 2
+
+`$orderby` statement is supported in [vector similarity filters](./$filter.md#vector-similarity):
+
+```
+GET /rest/Person?$filter="Vector>=:1"&$params=[{"vector":[1,2,3],"metric":"cosine","threshold":0.95}]&$orderby="Vector desc"
+```
\ No newline at end of file
From e2f880668e8a1fbdc52037130f6d8e2a1070f251 Mon Sep 17 00:00:00 2001
From: arnaud-4d
Date: Thu, 27 Nov 2025 10:13:50 +0100
Subject: [PATCH 51/75] New Crowdin updates (#3010)
* New translations dataclassclass.md (French)
* New translations entityselectionclass.md (French)
* New translations updates.md (French)
* New translations $filter.md (French)
* New translations $orderby.md (French)
* New translations dataclassclass.md (Spanish)
* New translations entityselectionclass.md (Spanish)
* New translations updates.md (Spanish)
* New translations $filter.md (Spanish)
* New translations $orderby.md (Spanish)
* New translations dataclassclass.md (Japanese)
* New translations entityselectionclass.md (Japanese)
* New translations updates.md (Japanese)
* New translations $filter.md (Japanese)
* New translations $orderby.md (Japanese)
* New translations openaifile.md (Japanese)
* New translations openaifiledeletedresult.md (Japanese)
* New translations openaifilelistparameters.md (Japanese)
* New translations openaifileparameters.md (Japanese)
* New translations dataclassclass.md (Portuguese, Brazilian)
* New translations entityselectionclass.md (Portuguese, Brazilian)
* New translations updates.md (Portuguese, Brazilian)
* New translations $filter.md (Portuguese, Brazilian)
* New translations $orderby.md (Portuguese, Brazilian)
---
.../current/API/DataClassClass.md | 16 ++++++++++++-
.../current/API/EntitySelectionClass.md | 12 ++++++----
.../current/Notes/updates.md | 3 +--
.../current/REST/$filter.md | 4 ++--
.../current/REST/$orderby.md | 9 ++++++-
.../current/API/DataClassClass.md | 16 ++++++++++++-
.../current/API/EntitySelectionClass.md | 12 ++++++----
.../current/Notes/updates.md | 3 +--
.../current/REST/$filter.md | 4 ++--
.../current/REST/$orderby.md | 9 ++++++-
.../current/API/DataClassClass.md | 16 ++++++++++++-
.../current/API/EntitySelectionClass.md | 12 ++++++----
.../current/Notes/updates.md | 3 +--
.../current/REST/$filter.md | 4 ++--
.../current/REST/$orderby.md | 9 ++++++-
.../current/aikit/Classes/OpenAIFile.md | 24 +++++++++----------
.../aikit/Classes/OpenAIFileDeletedResult.md | 14 +++++------
.../aikit/Classes/OpenAIFileListParameters.md | 14 +++++------
.../aikit/Classes/OpenAIFileParameters.md | 6 ++---
.../current/API/DataClassClass.md | 16 ++++++++++++-
.../current/API/EntitySelectionClass.md | 12 ++++++----
.../current/Notes/updates.md | 3 +--
.../current/REST/$filter.md | 4 ++--
.../current/REST/$orderby.md | 9 ++++++-
24 files changed, 161 insertions(+), 73 deletions(-)
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/API/DataClassClass.md b/i18n/es/docusaurus-plugin-content-docs/current/API/DataClassClass.md
index 08f4b68da0bcd0..75f992ea902db8 100644
--- a/i18n/es/docusaurus-plugin-content-docs/current/API/DataClassClass.md
+++ b/i18n/es/docusaurus-plugin-content-docs/current/API/DataClassClass.md
@@ -945,7 +945,7 @@ Las fórmulas en las consultas pueden recibir parámetros a través de $1. Este
- Constantes de tipo **date**: formato "YYYY-MM-DD"
- Constantes **null**: utilizando la palabra clave "null" se encontrarán las propiedades **null** y **undefined**.
- en el caso de una búsqueda con un comparador IN, *value* debe ser una colección, o los valores que coincidan con el tipo de la ruta del atributo entre \[ ] separados por comas (para las cadenas, los caracteres `"` deben escaparse con `\`).
- - **objeto**: sólo se admiten los objetos [4D.Vector](../API/VectorClass.md), en el contexto de **consultas de similaridad vectorial** (*attributePath* también debe contener objetos 4D.Vector válidos).
+ - **object**: only [4D.Vector](../API/VectorClass.md) objects are supported, in the context of [**vector similarity queries**](#query-by-vector-similarity) (*attributePath* must also contain valid 4D.Vector objects).
- **logicalOperator**: utilizado para unir condiciones múltiples en la búsqueda (opcional). Puede utilizar uno de los siguientes operadores lógicos (se puede utilizar el nombre o el símbolo):
| Conjunción | Símbolo(s) |
@@ -1211,6 +1211,20 @@ var $comparisonVector := {vector: $myVector; metric: mk euclidean; threshold: 1.
var $results := ds.MyClass.query("myVectorField <= :1"; $comparisonVector)
```
+The **order by** statement is supported in the query string so that entities in the resulting entity selection are sorted by similarity. Por ejemplo:
+
+```4d
+var $results := ds.MyClass.query("myVectorField > :1 order by myVectorField"; $comparisonVector)
+ //default order, the first entity is the most similar
+```
+
+If the same vector appears multiple times in the query string, the order by will be applied to the results of the first one, for example:
+
+```4d
+var $results := ds.MyClass.query("myVectorField > :1 and myVectorField > :2 order by myVectorField" desc; /
+ {vector : $myVector1 };{vector : $myVector2 }) //myVectorField > :1 is used for the order by
+```
+
Ver [más ejemplos a continuación](#example-4-2) (ejemplos 4 y 5).
:::tip Entradas de blog relacionadas
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/API/EntitySelectionClass.md b/i18n/es/docusaurus-plugin-content-docs/current/API/EntitySelectionClass.md
index 0d677beead4a4d..b6688c3d03f960 100644
--- a/i18n/es/docusaurus-plugin-content-docs/current/API/EntitySelectionClass.md
+++ b/i18n/es/docusaurus-plugin-content-docs/current/API/EntitySelectionClass.md
@@ -1741,11 +1741,13 @@ En este ejemplo, el campo objeto "marks" de la dataClass **Students** contiene l
Historia
-| Lanzamiento | Modificaciones |
-| ----------- | ------------------------------------------ |
-| 17 R6 | Soporte de los parámetros Formula |
-| 17 R5 | Soporte de los marcadores para los valores |
-| 17 | Añadidos |
+| Lanzamiento | Modificaciones |
+| ----------- | ----------------------------------------------------------- |
+| 21 R2 | Support of order by with 4D.Vector searches |
+| 21 | Soporte de los objetos 4D.Vector |
+| 17 R6 | Soporte de los parámetros Formula |
+| 17 R5 | Soporte de los marcadores para los valores |
+| 17 | Añadidos |
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/Notes/updates.md b/i18n/es/docusaurus-plugin-content-docs/current/Notes/updates.md
index aea403ab3bf6b4..ee03b6c212ed57 100644
--- a/i18n/es/docusaurus-plugin-content-docs/current/Notes/updates.md
+++ b/i18n/es/docusaurus-plugin-content-docs/current/Notes/updates.md
@@ -10,9 +10,8 @@ Lea [**Novedades en 4D 21 R2**](https://blog.4d.com/en-whats-new-in-4d-21-r2/),
#### Lo más destacado
- [Code Live Checker](../code-editor/write-class-method.md#warnings-and-errors) has been enhanced to provide greater precision in error detection (see [this blog post](https://blog.4d.com/better-error-handling-and-type-inference-for-4d-developers) for more information).
-
+- Built-in support of `order by` in query strings for AI vector searches using [`query()`](../API/DataClassClass.md#query-by-vector-similarity) functions and the [REST API](../REST/$orderby.md).
- 4D AIKit component: new [File API](../aikit/Classes/OpenAIFilesAPI.md) class to implement **file upload** features.
-
- [**Lista de bugs corregidos**](https://bugs.4d.fr/fixedbugslist?version=21_R2): lista de todos los bugs que se han corregido en 4D 21 R2.
#### Cambios de comportamiento
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/REST/$filter.md b/i18n/es/docusaurus-plugin-content-docs/current/REST/$filter.md
index aadedb2700b5ec..f4393d524a2b1a 100644
--- a/i18n/es/docusaurus-plugin-content-docs/current/REST/$filter.md
+++ b/i18n/es/docusaurus-plugin-content-docs/current/REST/$filter.md
@@ -3,7 +3,7 @@ id: filter
title: $filter
---
-Permite consultar los datos de una clase de datos o de un método *(p. ej.*, `$filter="firstName!='' AND salary>30000"`)
+Allows to query the data in a dataclass or method (*e.g.*, `$filter="firstName!='' AND salary>30000"`)
## Descripción
@@ -96,7 +96,7 @@ El parámetro *vectorComparison* es una colección de los siguientes elementos:
| [].metric | Text | Opcional. [Cálculo vectorial](../API/VectorClass.md#understanding-the-different-vector-computations) a utilizar para la consulta. Supported values:"cosine" (default if omitted): calculates the cosine similarity between vectors."dot": calculates the dot similarity of vectors."euclidean": calculates the Euclidean distance between vectors. |
| [].threshold | Real | Opcional (por defecto: 0,5). Un valor umbral utilizado para filtrar las comparaciones de vectores en función de su puntuación de similitud coseno, punto o euclídea según la "métrica" seleccionada. Es altamente recomendable elegir una similitud que se adapte mejor a su caso de uso específico para obtener resultados óptimos. |
-Solo un subconjunto de símbolos **comparadores** son soportados con comparaciones vectoriales. Tenga en cuenta que comparan los resultados con el valor umbral:
+Only a subset of **comparator** symbols is supported with vector comparisons. Tenga en cuenta que comparan los resultados con el valor umbral:
| Comparador | Símbolo(s) | Comentario |
| ----------------- | ----------------------------- | --------------------------- |
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/REST/$orderby.md b/i18n/es/docusaurus-plugin-content-docs/current/REST/$orderby.md
index 8892da1bbe6daf..a86bfe2b06d6c3 100644
--- a/i18n/es/docusaurus-plugin-content-docs/current/REST/$orderby.md
+++ b/i18n/es/docusaurus-plugin-content-docs/current/REST/$orderby.md
@@ -9,7 +9,7 @@ Ordena los datos devueltos por el atributo y el orden de clasificación definido
`$orderby` ordena las entidades devueltas por la petición REST. Para cada atributo, se especifica el orden como `ASC` (o `asc`) para el orden ascendente y `DESC` (`desc`) para el orden descendente. Por defecto, los datos se clasifican en orden ascendente. By default, the data is sorted in ascending order.
-## Ejemplo
+## Ejemplo 1
En este ejemplo, recuperamos las entidades y las ordenamos al mismo tiempo:
@@ -47,3 +47,10 @@ El ejemplo siguiente ordena el conjunto de entidades por el atributo lastName en
}
```
+## Ejemplo 2
+
+`$orderby` statement is supported in [vector similarity filters](./$filter.md#vector-similarity):
+
+```
+GET /rest/Person?$filter="Vector>=:1"&$params=[{"vector":[1,2,3],"metric":"cosine","threshold":0.95}]&$orderby="Vector desc"
+```
\ No newline at end of file
diff --git a/i18n/fr/docusaurus-plugin-content-docs/current/API/DataClassClass.md b/i18n/fr/docusaurus-plugin-content-docs/current/API/DataClassClass.md
index ecfcf0fc149e70..a25daf3d4cb3a8 100644
--- a/i18n/fr/docusaurus-plugin-content-docs/current/API/DataClassClass.md
+++ b/i18n/fr/docusaurus-plugin-content-docs/current/API/DataClassClass.md
@@ -939,7 +939,7 @@ Les formules contenues dans les requêtes peuvent recevoir des paramètres via $
- Constantes de type **date** : "YYYY-MM-DD" format
- Constantes **null** : en utilisant le mot-clé "null", la recherche trouvera les propriétés ayant la valeur **null** et **undefined**.
- dans le cas d'une recherche avec un comparateur IN, *value* doit être une collection ou des valeurs correspondant au type de l'attribut path entre \[ ] séparés par des virgules (pour les chaînes, les caractères `"` doivent être échappés avec `\`).
- - **objet** : seuls les objets [4D.Vector](../API/VectorClass.md) sont pris en charge, dans le contexte des **recherches de similarité vectorielle** (*attributePath* doit également contenir des objets 4D.Vector valides).
+ - **object**: only [4D.Vector](../API/VectorClass.md) objects are supported, in the context of [**vector similarity queries**](#query-by-vector-similarity) (*attributePath* must also contain valid 4D.Vector objects).
- **logicalOperator** : utilisé pour relier des conditions multiples dans la recherche (optionnel). Vous pouvez utiliser un des opérateurs logiques suivants (le nom ou le symbole peut être passé) :
| Conjonction | Symbole(s) |
@@ -1205,6 +1205,20 @@ var $comparisonVector := {vector : $myVector; metric : mk euclidean ; threshold
var $results := ds.MyClass.query("myVectorField <= :1" ; $comparisonVector)
```
+The **order by** statement is supported in the query string so that entities in the resulting entity selection are sorted by similarity. Par exemple :
+
+```4d
+var $results := ds.MyClass.query("myVectorField > :1 order by myVectorField"; $comparisonVector)
+ //default order, the first entity is the most similar
+```
+
+If the same vector appears multiple times in the query string, the order by will be applied to the results of the first one, for example:
+
+```4d
+var $results := ds.MyClass.query("myVectorField > :1 and myVectorField > :2 order by myVectorField" desc; /
+ {vector : $myVector1 };{vector : $myVector2 }) //myVectorField > :1 is used for the order by
+```
+
Voir [plus d'exemples ci-dessous](#example-4-2) (exemples 4 et 5).
:::tip Articles de blog sur le sujet
diff --git a/i18n/fr/docusaurus-plugin-content-docs/current/API/EntitySelectionClass.md b/i18n/fr/docusaurus-plugin-content-docs/current/API/EntitySelectionClass.md
index 7ea04e6a8a87a5..775991373d04a9 100644
--- a/i18n/fr/docusaurus-plugin-content-docs/current/API/EntitySelectionClass.md
+++ b/i18n/fr/docusaurus-plugin-content-docs/current/API/EntitySelectionClass.md
@@ -1738,11 +1738,13 @@ Dans cet exemple, le champ objet "marks" de la dataclass **Students** contient l
Historique
-| Release | Modifications |
-| ------- | ------------------------------------------------- |
-| 17 R6 | Prise en charge des paramètres Formula |
-| 17 R5 | Prise en charge des placeholders pour les valeurs |
-| 17 | Ajout |
+| Release | Modifications |
+| ------- | ----------------------------------------------------------- |
+| 21 R2 | Support of order by with 4D.Vector searches |
+| 21 | Prise en charge des objets 4D.Vector |
+| 17 R6 | Prise en charge des paramètres Formula |
+| 17 R5 | Prise en charge des placeholders pour les valeurs |
+| 17 | Ajout |
diff --git a/i18n/fr/docusaurus-plugin-content-docs/current/Notes/updates.md b/i18n/fr/docusaurus-plugin-content-docs/current/Notes/updates.md
index 9242ff1eaa1955..b7136f986c4c2b 100644
--- a/i18n/fr/docusaurus-plugin-content-docs/current/Notes/updates.md
+++ b/i18n/fr/docusaurus-plugin-content-docs/current/Notes/updates.md
@@ -10,9 +10,8 @@ Lisez [**Les nouveautés de 4D 21 R2**](https://blog.4d.com/fr-whats-new-in-4d-v
#### Points forts
- [Code Live Checker](../code-editor/write-class-method.md#warnings-and-errors) has been enhanced to provide greater precision in error detection (see [this blog post](https://blog.4d.com/better-error-handling-and-type-inference-for-4d-developers) for more information).
-
+- Built-in support of `order by` in query strings for AI vector searches using [`query()`](../API/DataClassClass.md#query-by-vector-similarity) functions and the [REST API](../REST/$orderby.md).
- 4D AIKit component: new [File API](../aikit/Classes/OpenAIFilesAPI.md) class to implement **file upload** features.
-
- [**Liste des bugs corrigés**](https://bugs.4d.fr/fixedbugslist?version=21_R2) : liste de tous les bugs qui ont été corrigés dans 4D 21 R2.
#### Changements de comportement
diff --git a/i18n/fr/docusaurus-plugin-content-docs/current/REST/$filter.md b/i18n/fr/docusaurus-plugin-content-docs/current/REST/$filter.md
index 1554518504d886..bab137899b9215 100644
--- a/i18n/fr/docusaurus-plugin-content-docs/current/REST/$filter.md
+++ b/i18n/fr/docusaurus-plugin-content-docs/current/REST/$filter.md
@@ -3,7 +3,7 @@ id: filter
title: $filter
---
-Permet de rechercher les données d'une dataclass ou d'une méthode (par exemple, `$filter="firstName!='' AND salary>30000"`)
+Allows to query the data in a dataclass or method (*e.g.*, `$filter="firstName!='' AND salary>30000"`)
## Description
@@ -96,7 +96,7 @@ Le paramètre *vectorComparison* est une collection des éléments suivants :
| [].metric | Text | Optionnel. [Calcul vectoriel](../API/VectorClass.md#understanding-the-different-vector-computations) à utiliser pour la recherche. Valeurs prises en charge :"cosine" (valeur par défaut en cas d'omission) : calcule la similarité cosinus entre les vecteurs. "dot" : calcule la similarité en points entre les vecteurs."euclidean" : calcule la distance euclidienne entre les vecteurs. |
| [].threshold | Real | Facultatif (valeur par défaut : 0,5). Valeur seuil utilisée pour filtrer les comparaisons de vecteurs sur la base de leur score de similarité cosinus, point ou euclidienne selon la "métrique" sélectionnée. Il est fortement recommandé de choisir une similitude qui corresponde le mieux à votre cas d'utilisation spécifique pour des résultats optimaux. |
-Seul un sous-ensemble de **comparateurs** est pris en charge pour les comparaisons vectorielles. Notez qu'ils comparent les résultats à la valeur de seuil (threshold) :
+Only a subset of **comparator** symbols is supported with vector comparisons. Notez qu'ils comparent les résultats à la valeur de seuil (threshold) :
| Comparateur | Symbole(s) | Commentaire |
| ------------------- | ----------------------------- | -------------------------- |
diff --git a/i18n/fr/docusaurus-plugin-content-docs/current/REST/$orderby.md b/i18n/fr/docusaurus-plugin-content-docs/current/REST/$orderby.md
index 3735484bb4389d..2599947db2b9f0 100644
--- a/i18n/fr/docusaurus-plugin-content-docs/current/REST/$orderby.md
+++ b/i18n/fr/docusaurus-plugin-content-docs/current/REST/$orderby.md
@@ -9,7 +9,7 @@ Trie les données retournées par l'attribut et l'ordre de tri définis (par exe
`$orderby` ordonne les entités retournées par la requête REST. Pour chaque attribut, définissez l'ordre sur `ASC` (ou `asc`) pour l'ordre croissant et sur `DESC` (`desc`) pour l'ordre décroissant. Par défaut, les données sont triées par ordre croissant. Si vous souhaitez spécifier plusieurs attributs, vous pouvez les délimiter avec une virgule, *par exemple*, `$orderby="lastName desc, firstName asc"`.
-## Exemple
+## Exemple 1
Dans cet exemple, nous récupérons les entités et les trions en même temps :
@@ -47,3 +47,10 @@ L'exemple ci-dessous trie l'entité définie par l'attribut lastName dans l'ordr
}
```
+## Exemple 2
+
+`$orderby` statement is supported in [vector similarity filters](./$filter.md#vector-similarity):
+
+```
+GET /rest/Person?$filter="Vector>=:1"&$params=[{"vector":[1,2,3],"metric":"cosine","threshold":0.95}]&$orderby="Vector desc"
+```
\ No newline at end of file
diff --git a/i18n/ja/docusaurus-plugin-content-docs/current/API/DataClassClass.md b/i18n/ja/docusaurus-plugin-content-docs/current/API/DataClassClass.md
index 8212f0fcefa73a..76e39687c4777c 100644
--- a/i18n/ja/docusaurus-plugin-content-docs/current/API/DataClassClass.md
+++ b/i18n/ja/docusaurus-plugin-content-docs/current/API/DataClassClass.md
@@ -945,7 +945,7 @@ attributePath|formula 比較演算子 値
- **日付** 型の定数値: "YYYY-MM-DD" フォーマット。
- **null** 定数値: "null" キーワードを使用した場合、**null** と **undefined** プロパティの両方が検索されます。
- IN 記号を使用したクエリの場合、*値* はコレクションか、attributePath の型に合致する、\[ ] でくくられたカンマ区切りの値である必要があります (文字列においては、`"` の記号は `\` でエスケープする必要があります)。
- - **オブジェクト**: **ベクトル類似度クエリ** のコンテキストにおいて [4D.Vector](../API/VectorClass.md) オブジェクトのみがサポートされます。(*attributePath* に有効な4D.Vector オブジェクトが格納されている必要があります)
+ - **object**: only [4D.Vector](../API/VectorClass.md) objects are supported, in the context of [**vector similarity queries**](#query-by-vector-similarity) (*attributePath* must also contain valid 4D.Vector objects).
- **論理演算子**: 複数の条件をクエリ内で結合させるのに使用します(任意)。 以下の論理演算子のいずれか一つを使用できます (名前あるいは記号のどちらかを渡します):
| 結合 | 記号 |
@@ -1211,6 +1211,20 @@ var $comparisonVector := {vector: $myVector; metric: mk euclidean; threshold: 1.
var $results := ds.MyClass.query("myVectorField <= :1"; $comparisonVector)
```
+The **order by** statement is supported in the query string so that entities in the resulting entity selection are sorted by similarity. 例:
+
+```4d
+var $results := ds.MyClass.query("myVectorField > :1 order by myVectorField"; $comparisonVector)
+ //default order, the first entity is the most similar
+```
+
+If the same vector appears multiple times in the query string, the order by will be applied to the results of the first one, for example:
+
+```4d
+var $results := ds.MyClass.query("myVectorField > :1 and myVectorField > :2 order by myVectorField" desc; /
+ {vector : $myVector1 };{vector : $myVector2 }) //myVectorField > :1 is used for the order by
+```
+
詳細については[以下の例題](#例題-4-2)を参照してください (例題 4 と 5)。
:::tip 関連したblog 記事
diff --git a/i18n/ja/docusaurus-plugin-content-docs/current/API/EntitySelectionClass.md b/i18n/ja/docusaurus-plugin-content-docs/current/API/EntitySelectionClass.md
index 55e058d85bd076..966a3f3f78904e 100644
--- a/i18n/ja/docusaurus-plugin-content-docs/current/API/EntitySelectionClass.md
+++ b/i18n/ja/docusaurus-plugin-content-docs/current/API/EntitySelectionClass.md
@@ -1741,11 +1741,13 @@ pathObjects コレクションには必要な数だけオブジェクトを追
履歴
-| リリース | 内容 |
-| ----- | ------------------- |
-| 17 R6 | Formula パラメーターをサポート |
-| 17 R5 | 値のプレースホルダーをサポート |
-| 17 | 追加 |
+| リリース | 内容 |
+| ----- | ----------------------------------------------------------- |
+| 21 R2 | Support of order by with 4D.Vector searches |
+| 21 | 4D.Vector オブジェクトのサポート |
+| 17 R6 | Formula パラメーターをサポート |
+| 17 R5 | 値のプレースホルダーをサポート |
+| 17 | 追加 |
diff --git a/i18n/ja/docusaurus-plugin-content-docs/current/Notes/updates.md b/i18n/ja/docusaurus-plugin-content-docs/current/Notes/updates.md
index 8e9df8cecf1a7b..781ca6f05014b6 100644
--- a/i18n/ja/docusaurus-plugin-content-docs/current/Notes/updates.md
+++ b/i18n/ja/docusaurus-plugin-content-docs/current/Notes/updates.md
@@ -10,9 +10,8 @@ title: リリースノート
#### ハイライト
- [Code Live Checker](../code-editor/write-class-method.md#warnings-and-errors) has been enhanced to provide greater precision in error detection (see [this blog post](https://blog.4d.com/better-error-handling-and-type-inference-for-4d-developers) for more information).
-
+- Built-in support of `order by` in query strings for AI vector searches using [`query()`](../API/DataClassClass.md#query-by-vector-similarity) functions and the [REST API](../REST/$orderby.md).
- 4D AIKit component: new [File API](../aikit/Classes/OpenAIFilesAPI.md) class to implement **file upload** features.
-
- [**修正リスト**](https://bugs.4d.fr/fixedbugslist?version=21_R2): 4D 21 R2 で修正されたバグのリストです ([日本語版はこちら](https://4d-jp.github.io/2023/178/release-note-version-20r2/))。
#### 動作の変更
diff --git a/i18n/ja/docusaurus-plugin-content-docs/current/REST/$filter.md b/i18n/ja/docusaurus-plugin-content-docs/current/REST/$filter.md
index e7d79b10f1bfdd..f0db0ecae759fb 100644
--- a/i18n/ja/docusaurus-plugin-content-docs/current/REST/$filter.md
+++ b/i18n/ja/docusaurus-plugin-content-docs/current/REST/$filter.md
@@ -3,7 +3,7 @@ id: filter
title: $filter
---
-データクラスまたはメソッドが返すデータをフィルターします *(例*: `$filter="firstName!='' AND salary>30000"`)
+Allows to query the data in a dataclass or method (*e.g.*, `$filter="firstName!='' AND salary>30000"`)
## 説明
@@ -95,7 +95,7 @@ The *vectorComparison* parameter is a collection of the following elements:
| [].metric | Text | 任意。 クエリに使用する[ベクトル計算](../API/VectorClass.md#ことなるベクトル計算を理解する)。 Supported values:"cosine" (default if omitted): calculates the cosine similarity between vectors."dot": calculates the dot similarity of vectors."euclidean": calculates the Euclidean distance between vectors. |
| [].threshold | Real | 任意(デフォルト: 0.5)。 選択された"metric"に従って、コサイン、ドット、またはユークリッド類似度に基づいたベクトル比較をフィルタリングするために使用されるしきい値。 最適な結果を得るためには、特定の用途に最適な類似度のしきい値をきちんと選択することが強く推奨されます。 |
-Only a subset of **comparator** symbols are supported with vector comparisons. これらの比較記号は、結果としきい値を比較するのに使用されるという点に注意してください:
+Only a subset of **comparator** symbols is supported with vector comparisons. これらの比較記号は、結果としきい値を比較するのに使用されるという点に注意してください:
| 比較演算子 | 記号 | 説明 |
| ----- | --------------------------- | --------- |
diff --git a/i18n/ja/docusaurus-plugin-content-docs/current/REST/$orderby.md b/i18n/ja/docusaurus-plugin-content-docs/current/REST/$orderby.md
index e5c4f397210f16..2eb61653b66cb3 100644
--- a/i18n/ja/docusaurus-plugin-content-docs/current/REST/$orderby.md
+++ b/i18n/ja/docusaurus-plugin-content-docs/current/REST/$orderby.md
@@ -9,7 +9,7 @@ title: $orderby
`$orderby` は RESTリクエストによって返されるエンティティを並べ替えます。 並べ替えの基準とする各属性について、並べ替え順を指定します。`ASC` ( `asc`) が昇順、`DESC` (`desc`) が降順です。 デフォルトでは、データは昇順に並べ替えられます。 属性を複数指定するには、カンマ区切りにします。*例*: `$orderby="lastName desc, firstName asc"`。
-## 例題
+## 例題 1
取得と同時にエンティティを並べ替えます:
@@ -47,3 +47,10 @@ title: $orderby
}
```
+## 例題 2
+
+`$orderby` statement is supported in [vector similarity filters](./$filter.md#vector-similarity):
+
+```
+GET /rest/Person?$filter="Vector>=:1"&$params=[{"vector":[1,2,3],"metric":"cosine","threshold":0.95}]&$orderby="Vector desc"
+```
\ No newline at end of file
diff --git a/i18n/ja/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIFile.md b/i18n/ja/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIFile.md
index 2acc3d46976455..470beca026dfaa 100644
--- a/i18n/ja/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIFile.md
+++ b/i18n/ja/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIFile.md
@@ -5,21 +5,21 @@ title: OpenAIFile
# OpenAIFile
-`OpenAIFile` クラスはOpen AI API 内でのファイルオブジェクトを表します。 Files can be uploaded and used across various endpoints including Assistants, Fine-tuning, Batch, and Vision APIs.
+`OpenAIFile` クラスはOpen AI API 内でのファイルオブジェクトを表します。 ファイルはアップロード可能で、Assistants、Fine-tuning、Batch、および Vision API を含めた様々なエンドポイントにおいて使用することができます。
## プロパティ
-| プロパティ名 | 型 | 説明 |
-| ---------------- | ------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
-| `id` | Text | The file identifier, which can be referenced in the API endpoints. |
-| `bytes` | Integer | The size of the file, in bytes. |
-| `created_at` | Integer | The Unix timestamp (in seconds) for when the file was created. |
-| `expires_at` | Integer | The Unix timestamp (in seconds) for when the file will expire. |
-| `filename` | Text | The name of the file. |
-| `object` | Text | The object type, which is always "file". |
-| `purpose` | Text | The intended purpose of the file. Supported values: `assistants`, `assistants_output`, `batch`, `batch_output`, `fine-tune`, `fine-tune-results`, `vision`, and `user_data`. |
-| `status` | Text | **Deprecated.** The current status of the file, which can be either `uploaded`, `processed`, or `error`. |
-| `status_details` | Text | **Deprecated.** For details on why a fine-tuning training file failed validation, see the error field on `fine_tuning.job`. |
+| プロパティ名 | 型 | 説明 |
+| ---------------- | ------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| `id` | Text | ファイルの識別子。API エンドポイント内で参照可能です。 |
+| `bytes` | Integer | ファイルのサイズ(バイト単位)。 |
+| `created_at` | Integer | ファイルが作成されたUnix タイムスタンプ(秒)。 |
+| `expires_at` | Integer | ファイルが失効するUnix タイムスタンプ(秒)。 |
+| `filename` | Text | ファイル名。 |
+| `object` | Text | オブジェクトタイプ。常に"file"。 |
+| `purpose` | Text | ファイルの目的。 サポートされる値: `assistants`、 `assistants_output`、 `batch`、 `batch_output`、 `fine-tune`、 `fine-tune-results`、 `vision`、および `user_data`。 |
+| `status` | Text | **廃止予定。** ファイルのカレントのステータス。`uploaded`、 `processed`、 あるいは `error` のいずれか。 |
+| `status_details` | Text | **廃止予定。** ファイルの微調整トレーニングファイルが検証になぜ失敗したかの詳細については、`fine_tuning.job` のerror フィールドを参照してください。 |
## 参照
diff --git a/i18n/ja/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIFileDeletedResult.md b/i18n/ja/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIFileDeletedResult.md
index fdfe98f46abb1a..916370d87586df 100644
--- a/i18n/ja/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIFileDeletedResult.md
+++ b/i18n/ja/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIFileDeletedResult.md
@@ -5,7 +5,7 @@ title: OpenAIFileDeletedResult
# OpenAIFileDeletedResult
-The `OpenAIFileDeletedResult` class contains the result of a file deletion operation.
+`OpenAIFileDeletedResult` クラスは、ファイル削除操作の結果を格納します。
## 継承元
@@ -13,22 +13,22 @@ The `OpenAIFileDeletedResult` class contains the result of a file deletion opera
## 計算プロパティ
-| プロパティ | 型 | 説明 |
-| --------- | ----------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------ |
-| `deleted` | [OpenAIFileDeleted](OpenAIFileDeleted.md) | Returns the file deletion result from the API response. Returns `Null` if the response doesn't contain a valid result. |
+| プロパティ | 型 | 説明 |
+| --------- | ----------------------------------------- | ------------------------------------------------------------------ |
+| `deleted` | [OpenAIFileDeleted](OpenAIFileDeleted.md) | API レスポンスからのファイル削除の結果を返します。 レスポンスに有効な結果が格納されていない場合には `Null` を返します。 |
## 使用例
```4d
-// Delete a file
+// ファイルを削除する
var $fileId:="file-abc123"
var $result:=$client.files.delete($fileId; Null)
var $deletionStatus:=$result.deleted
If ($deletionStatus.deleted)
- ALERT("File "+$deletionStatus.id+" was successfully deleted")
+ ALERT("ファイルID "+$deletionStatus.id+" は正常に削除されました")
Else
- ALERT("Failed to delete file")
+ ALERT("ファイルの削除に失敗しました")
End if
```
diff --git a/i18n/ja/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIFileListParameters.md b/i18n/ja/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIFileListParameters.md
index 82dd2cf5e96efd..43282ec34c039a 100644
--- a/i18n/ja/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIFileListParameters.md
+++ b/i18n/ja/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIFileListParameters.md
@@ -5,7 +5,7 @@ title: OpenAIFileListParameters
# OpenAIFileListParameters
-The `OpenAIFileListParameters` class contains parameters for listing files in the OpenAI API.
+`OpenAIFileListParameters` クラスはOpenAI API 内でファイルをリストするための引数が格納されています。
## 継承元
@@ -13,12 +13,12 @@ The `OpenAIFileListParameters` class contains parameters for listing files in th
## プロパティ
-| プロパティ名 | 型 | Required | デフォルト | 説明 |
-| --------- | ------- | -------- | ----- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
-| `after` | Text | 任意 | - | A cursor for use in pagination. `after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `after=obj_foo` in order to fetch the next page of the list. |
-| `limit` | Integer | 任意 | 10000 | A limit on the number of objects to be returned. Limit can range between 1 and 10,000, and the default is 10,000. |
-| `order` | Text | 任意 | desc | Sort order by the `created_at` timestamp of the objects. `asc` for ascending order and `desc` for descending order. |
-| `purpose` | Text | 任意 | - | Only return files with the given purpose. |
+| プロパティ名 | 型 | 必須 | デフォルト | 説明 |
+| --------- | ------- | -- | ----- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| `after` | Text | 任意 | - | ページネーションで使用するためのカーソル。 `after` はリスト内での位置を定義するためのオブジェクト ID です。 例えば、リストをリクエストして100個のオブジェクトを受信し、最後が `obj_foo` だった場合、その次の呼び出しに `after=obj_foo` を含めることでリストの次のページを取得することができます。 |
+| `limit` | Integer | 任意 | 10000 | 返されるオブジェクト数の上限。 上限値は1から10000 を選択でき、デフォルトの値は10000です。 |
+| `order` | Text | 任意 | desc | Sort order by the `created_at` timestamp of the objects. `asc` for ascending order and `desc` for descending order. |
+| `purpose` | Text | 任意 | - | Only return files with the given purpose. |
## 使用例
diff --git a/i18n/ja/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIFileParameters.md b/i18n/ja/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIFileParameters.md
index c7125c0ef9b00a..54e3c83cf459b2 100644
--- a/i18n/ja/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIFileParameters.md
+++ b/i18n/ja/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIFileParameters.md
@@ -13,9 +13,9 @@ The `OpenAIFileParameters` class handles parameters for file upload operations.
## プロパティ
-| プロパティ名 | 型 | Required | 説明 |
-| --------------- | ------ | -------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
-| `expires_after` | Object | 任意 | The expiration policy for a file. By default, files with `purpose=batch` expire after 30 days and all other files are persisted until they are manually deleted. |
+| プロパティ名 | 型 | 必須 | 説明 |
+| --------------- | ------ | -- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
+| `expires_after` | Object | 任意 | The expiration policy for a file. By default, files with `purpose=batch` expire after 30 days and all other files are persisted until they are manually deleted. |
### `expires_after` Object Structure
diff --git a/i18n/pt/docusaurus-plugin-content-docs/current/API/DataClassClass.md b/i18n/pt/docusaurus-plugin-content-docs/current/API/DataClassClass.md
index d50fb79572fb50..8bad6f70bd3115 100644
--- a/i18n/pt/docusaurus-plugin-content-docs/current/API/DataClassClass.md
+++ b/i18n/pt/docusaurus-plugin-content-docs/current/API/DataClassClass.md
@@ -942,7 +942,7 @@ Fórmulas nas consultas podem receber parâmetros através de $1. Este ponto est
- constantes de tipo **date**: formato "YYYY-MM-DD"
- **null** constante: usando a palavra-chave "null" irá encontrar as propriedades **null** e **undefined**.
- no caso de uma pesquisa com um comparador IN, *valor* deve ser uma coleção, ou valores que coincidam com o tipo da rota do atributo entre \[ ] separados por vírgulas (para as strings, os caracteres `"` devem ser escapados com `\`).
- - **object**: only [4D.Vector](../API/VectorClass.md) objects are supported, in the context of **vector similarity queries** (*attributePath* must also contain valid 4D.Vector objects).
+ - **object**: only [4D.Vector](../API/VectorClass.md) objects are supported, in the context of [**vector similarity queries**](#query-by-vector-similarity) (*attributePath* must also contain valid 4D.Vector objects).
- **logicalOperator**: usado para participar de múltiplas condições na consulta (opcional). Pode usaar um dos operadores lógicos abaixo (ou o nome ou o símbolo podem ser usados):
| Conjunção | Símbolos |
@@ -1206,6 +1206,20 @@ var $comparisonVector := {vector: $myVector; metric: mk euclidean; threshold: 1.
var $results := ds.MyClass.query("myVectorField <= :1"; $comparisonVector)
```
+The **order by** statement is supported in the query string so that entities in the resulting entity selection are sorted by similarity. Por exemplo:
+
+```4d
+var $results := ds.MyClass.query("myVectorField > :1 order by myVectorField"; $comparisonVector)
+ //default order, the first entity is the most similar
+```
+
+If the same vector appears multiple times in the query string, the order by will be applied to the results of the first one, for example:
+
+```4d
+var $results := ds.MyClass.query("myVectorField > :1 and myVectorField > :2 order by myVectorField" desc; /
+ {vector : $myVector1 };{vector : $myVector2 }) //myVectorField > :1 is used for the order by
+```
+
See [more examples below](#example-4-2) (examples 4 and 5).
:::tip Related blog posts
diff --git a/i18n/pt/docusaurus-plugin-content-docs/current/API/EntitySelectionClass.md b/i18n/pt/docusaurus-plugin-content-docs/current/API/EntitySelectionClass.md
index a65c0deee64abd..7cbd509d84fe66 100644
--- a/i18n/pt/docusaurus-plugin-content-docs/current/API/EntitySelectionClass.md
+++ b/i18n/pt/docusaurus-plugin-content-docs/current/API/EntitySelectionClass.md
@@ -1735,11 +1735,13 @@ Neste exemplo, o campo de objeto "marks" na classe de dados **Students** contém
História
-| Release | Mudanças |
-| ------- | -------------------------------------- |
-| 17 R6 | Soporte dos Parâmetros Formula |
-| 17 R5 | Suporte dos marcadores para os valores |
-| 17 | Adicionado |
+| Release | Mudanças |
+| ------- | ----------------------------------------------------------- |
+| 21 R2 | Support of order by with 4D.Vector searches |
+| 21 | Support 4D.Vector objects |
+| 17 R6 | Soporte dos Parâmetros Formula |
+| 17 R5 | Suporte dos marcadores para os valores |
+| 17 | Adicionado |
diff --git a/i18n/pt/docusaurus-plugin-content-docs/current/Notes/updates.md b/i18n/pt/docusaurus-plugin-content-docs/current/Notes/updates.md
index 2847b03cc42e14..aa57b4c3d05eab 100644
--- a/i18n/pt/docusaurus-plugin-content-docs/current/Notes/updates.md
+++ b/i18n/pt/docusaurus-plugin-content-docs/current/Notes/updates.md
@@ -10,9 +10,8 @@ Leia [**O que há de novo no 4D v21 R2**](https://blog.4d.com/en-whats-new-in-4d
#### Destaques
- [Code Live Checker](../code-editor/write-class-method.md#warnings-and-errors) has been enhanced to provide greater precision in error detection (see [this blog post](https://blog.4d.com/better-error-handling-and-type-inference-for-4d-developers) for more information).
-
+- Built-in support of `order by` in query strings for AI vector searches using [`query()`](../API/DataClassClass.md#query-by-vector-similarity) functions and the [REST API](../REST/$orderby.md).
- 4D AIKit component: new [File API](../aikit/Classes/OpenAIFilesAPI.md) class to implement **file upload** features.
-
- [**Lista de erros corrigida**](https://bugs.4d.fr/fixedbugslist?version=21_R2): lista de todos os bugs corrigidos em 4D 21 R2.
#### Mudanças de comportamento
diff --git a/i18n/pt/docusaurus-plugin-content-docs/current/REST/$filter.md b/i18n/pt/docusaurus-plugin-content-docs/current/REST/$filter.md
index 01f9c75981cdbe..332cad9c82c714 100644
--- a/i18n/pt/docusaurus-plugin-content-docs/current/REST/$filter.md
+++ b/i18n/pt/docusaurus-plugin-content-docs/current/REST/$filter.md
@@ -3,7 +3,7 @@ id: filter
title: $filter
---
-Permite consultar los datos de una clase de datos o de un método *(p. ej.*, `$filter="firstName!='' AND salary>30000"`)
+Allows to query the data in a dataclass or method (*e.g.*, `$filter="firstName!='' AND salary>30000"`)
## Descrição
@@ -96,7 +96,7 @@ The *vectorComparison* parameter is a collection of the following elements:
| [].metric | Text | Opcional. [Vector computation](../API/VectorClass.md#understanding-the-different-vector-computations) to use for the query. Supported values:"cosine" (default if omitted): calculates the cosine similarity between vectors."dot": calculates the dot similarity of vectors."euclidean": calculates the Euclidean distance between vectors. |
| [].threshold | Real | Optional (default: 0.5). A threshold value used to filter vector comparisons based on their cosine, dot or euclidean similarity score according to the selected "metric". It is highly recommended to choose a similarity that best fits your specific use case for optimal results. |
-Only a subset of **comparator** symbols are supported with vector comparisons. Note that they compare results to the threshold value:
+Only a subset of **comparator** symbols is supported with vector comparisons. Note that they compare results to the threshold value:
| Comparador | Símbolos | Comentário |
| -------------------- | --------------------------- | -------------------------------------- |
diff --git a/i18n/pt/docusaurus-plugin-content-docs/current/REST/$orderby.md b/i18n/pt/docusaurus-plugin-content-docs/current/REST/$orderby.md
index 734791013e20a2..1631702aa29ebb 100644
--- a/i18n/pt/docusaurus-plugin-content-docs/current/REST/$orderby.md
+++ b/i18n/pt/docusaurus-plugin-content-docs/current/REST/$orderby.md
@@ -9,7 +9,7 @@ Ordena los datos devueltos por el atributo y el orden de clasificación definido
`$orderby` ordena las entidades devueltas por la petición REST. Para cada atributo, se especifica el orden como `ASC` (o `asc`) para el orden ascendente y `DESC` (`desc`) para el orden descendente. Por defeito, os dados são ordenados por ordem ascendente. By default, the data is sorted in ascending order.
-## Exemplo
+## Exemplo 1
Neste exemplo, recuperamos entidades e ordenamo-las em simultâneo:
@@ -47,3 +47,10 @@ O exemplo abaixo ordena o conjunto de entidades pelo atributo lastName em ordem
}
```
+## Exemplo 2
+
+`$orderby` statement is supported in [vector similarity filters](./$filter.md#vector-similarity):
+
+```
+GET /rest/Person?$filter="Vector>=:1"&$params=[{"vector":[1,2,3],"metric":"cosine","threshold":0.95}]&$orderby="Vector desc"
+```
\ No newline at end of file
From 57f1b119dc840bcc0220b69931e87f6009d2d626 Mon Sep 17 00:00:00 2001
From: sandritica <136651682+sandritica@users.noreply.github.com>
Date: Thu, 27 Nov 2025 09:18:41 -0500
Subject: [PATCH 52/75] ES fixes in legacy commands - query/query selection by
attribute - verify data file (#3009)
* Update new-process.md
* Update new-process.md
* Update register-client.md
* Update register-client.md
* Update register-client.md
* Update 4d-write-pro-attributes.md
* Update 4d-write-pro-attributes.md
* Update 4d-write-pro-attributes.md
* Update wp-new-style-sheet.md
* Update wp-new-style-sheet.md
* Update wp-new-style-sheet.md
* Update get-database-parameter.md
* Update set-database-parameter.md
* Update set-database-parameter.md
* Update set-database-parameter.md
* Update get-database-parameter.md
* Update get-database-parameter.md
* Update blob-to-print-settings.md
* Update blob-to-print-settings.md
* Update blob-to-print-settings.md
* Update license-usage.md
* Update license-usage.md
* Update license-usage.md
* Update blob-to-print-settings.md
* Update blob-to-print-settings.md
* Update blob-to-print-settings.md
* Update open-window.md
* Update open-window.md
* Update open-window.md
* Update query-by-attribute.md
* Update query-selection-by-attribute.md
* Update query-selection-by-attribute.md
* Update query-selection-by-attribute.md
* Update query-by-attribute.md
* Update query-by-attribute.md
* Update verify-data-file.md
* Update verify-data-file.md
* Update verify-data-file.md
* Rename command from 'QUERY BY ATTRIBUTE' to 'QUERY SELECTION BY ATTRIBUTE'
* Update query-selection-by-attribute.md
* Update query-selection-by-attribute.md
---------
Co-authored-by: arnaud-4d
---
.../commands-legacy/query-by-attribute.md | 6 +-
.../query-selection-by-attribute.md | 12 ++--
.../commands-legacy/verify-data-file.md | 55 +++++++++----------
.../commands-legacy/query-by-attribute.md | 6 +-
.../query-selection-by-attribute.md | 12 ++--
.../commands-legacy/verify-data-file.md | 55 +++++++++----------
.../commands-legacy/query-by-attribute.md | 6 +-
.../query-selection-by-attribute.md | 12 ++--
.../commands-legacy/verify-data-file.md | 55 +++++++++----------
9 files changed, 108 insertions(+), 111 deletions(-)
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/commands-legacy/query-by-attribute.md b/i18n/es/docusaurus-plugin-content-docs/current/commands-legacy/query-by-attribute.md
index 8381b78bbc201e..b2559925b25235 100644
--- a/i18n/es/docusaurus-plugin-content-docs/current/commands-legacy/query-by-attribute.md
+++ b/i18n/es/docusaurus-plugin-content-docs/current/commands-legacy/query-by-attribute.md
@@ -10,12 +10,12 @@ displayed_sidebar: docs
| Parámetro | Tipo | | Descripción |
| --- | --- | --- | --- |
| tabla | Table | → | Tabla para la cual devolver una selección de registros o Tabla por defecto si se omite |
-| opConj | * | → | Operador de conjunción ausar para combinar varias búsquedas (si las hay) |
+| opConj | Operator | → | Operador de conjunción a usar para combinar varias búsquedas (si las hay) |
| campoObjeto | Field | → | Campo objeto cuyos atributos utilizar para la búsqueda |
| rutaAtributo | Text | → | Nombre o ruta de atributo |
-| opBusq | Text, * | → | Operador de búsqueda (comparador) |
+| opBusq | Text, Operator | → | Operador de búsqueda (comparador) |
| valor | Text, Number, Date, Time | → | Valor a comparar |
-| * | Operador | → | Espera de ejecución de la búsqueda |
+| * | Operator | → | Espera de ejecución de la búsqueda |
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/commands-legacy/query-selection-by-attribute.md b/i18n/es/docusaurus-plugin-content-docs/current/commands-legacy/query-selection-by-attribute.md
index a7edbed92609a3..9e34f09cbdfff0 100644
--- a/i18n/es/docusaurus-plugin-content-docs/current/commands-legacy/query-selection-by-attribute.md
+++ b/i18n/es/docusaurus-plugin-content-docs/current/commands-legacy/query-selection-by-attribute.md
@@ -5,17 +5,17 @@ slug: /commands/query-selection-by-attribute
displayed_sidebar: docs
---
-**QUERY SELECTION BY ATTRIBUTE** ( {*tabla*}{;}{*conjOp* ;} *campoObjeto* ; *rutaAtributo* ; *opBusq* ; *valor* {; *} )
+**QUERY SELECTION BY ATTRIBUTE** ( {*tabla*}{;}{*opConj* ;} *campoObjeto* ; *rutaAtributo* ; *opBusq* ; *valor* {; *} )
| Parámetro | Tipo | | Descripción |
| --- | --- | --- | --- |
-| tabla | Table | → | Tabla para la cual devolver una selección de registros o tabla por defecto si se omite |
-| conjOp | * | → | Operador de conjunción a utilizar ara unir múltiples búsquedas (si las hay) |
-| campoObjeto | Field | → | Campo objeto para buscar atributos |
+| tabla | Table | → | Tabla para la cual devolver una selección de registros o Tabla por defecto si se omite |
+| opConj | Operator | → | Operador de conjunción a usar para combinar varias búsquedas (si las hay) |
+| campoObjeto | Field | → | Campo objeto cuyos atributos utilizar para la búsqueda |
| rutaAtributo | Text | → | Nombre o ruta de atributo |
-| opBusq | *, Text | → | Operador de búsqueda (comparador) |
+| opBusq | Text, Operator | → | Operador de búsqueda (comparador) |
| valor | Text, Number, Date, Time | → | Valor a comparar |
-| * | Operador | → | Continuar bandera de búsqueda |
+| * | Operator | → | Espera de ejecución de la búsqueda |
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/commands-legacy/verify-data-file.md b/i18n/es/docusaurus-plugin-content-docs/current/commands-legacy/verify-data-file.md
index 1c6ae986f13232..251b195c1212ad 100644
--- a/i18n/es/docusaurus-plugin-content-docs/current/commands-legacy/verify-data-file.md
+++ b/i18n/es/docusaurus-plugin-content-docs/current/commands-legacy/verify-data-file.md
@@ -19,7 +19,7 @@ displayed_sidebar: docs
-## Descripción
+## Descripción
El comando VERIFY DATA FILE efectúa una verificación estructural de los objetos contenidos en el archivo de datos 4D designado por *rutaEstructura* y *rutaDatos*.para mayor información sobre el proceso de verificación de datos, consulte el Manual de Diseño. *rutaEstructura* designa el archivo de estructura (compilado o no) asociado con el archivo de datos a verificar. Puede tratarse del archivo de estructura abierto o de cualquier otro archivo de estructura. Usted debe pasar un nombre de ruta completo, expresado con la sintaxis del sistema operativo. También puede pasar una cadena vacía, en este caso aparece una caja de diálogo estándar de apertura de archivos que permite al usuario designar el archivo de estructura a utilizar.
@@ -37,6 +37,7 @@ El parámetro *objetos* se utiliza para designar los tipos de objetos a verifica
| Verify indexes | Entero largo | 8 | Esta opción verifica la consistencia física de los índices, sin enlace a los datos. Señala llaves inválidas pero no le permite detectar llaves duplicadas (dos índices que apuntan al mismo registro). Este tipo de error sólo puede detectarse con la opción Verificar todos. |
| Verify records | Entero largo | 4 | |
+
Para verificar los registros y los índices, pase el total de Verify Records+Verify Indexes. El valor 0 (cero) también puede ser utilizado para obtener el mismo resultado. La opción Verify All realiza una verificación interna completa. Esta verificación es compatible con la creación de un historial.
El parámetro *opciones* se utiliza para definir las opciones de verificación. Las siguientes opciones están disponibles, accesibles vía las constantes del tema “*Mantenimiento archivo de datos*”:
@@ -51,44 +52,44 @@ Generalmente, el comando VERIFY DATA FILE crea un archivo de historial en format
El parámetro *metodo* permite definir un método de retrollamada que será llamado regularmente durante la verificación. Si pasa una cadena vacía o un nombre de método invalido, este parámetro se ignora (no se llama el método). Cuando se llama, este método recibe hasta 5 parámetros en función de los objetos verificados y del tipo de evento que origina la llamada (ver la tabla de llamadas). Es imperativo declarar estos parámetros en el método:
-| \- $1 | Entero largo | Tipo de mensaje (ver tabla) |
+
+| Parámetro | Tipo | Descripción |
| ----- | ------------ | --------------------------- |
-| \- $2 | Entero largo | Tipo de objeto |
-| \- $3 | Text | Mensaje |
-| \- $4 | Entero largo | Número de tabla |
-| \- $5 | Entero largo | Reservado |
+| $messageType | Integer | Tipo de mensaje (ver tabla) |
+| $objectType | Integer | Tipo de objeto |
+| $messageText | Text | Mensaje |
+| $table | Integer | Número de tabla |
+| $reserved | Integer | Reservado |
La siguiente tabla describe el contenido de los parámetros en función del tipo de evento:
-| **Evento** | **$1 (Entero largo)** | **$2 (Entero largo)** | **$3 (Texto)** | **$4 (Entero largo)** | **$5 (Entero largo)** |
-| --------------------------- | --------------------- | --------------------- | -------------- | --------------------- | --------------------- |
-| Mensaje | 1 | 0 | Progresión | Porcentaje | Reservado |
-| mensaje | hecho (0-100) | | | | |
-| Fin de la verificación (\*) | 2 | Tipo de objeto (\*\*) | Mensaje OK | Tabla o índice | Reservado |
-| prueba | número | | | | |
-| Error | 3 | Tipo de objeto (\*\*) | Texto de error | Tabla o índice | Reservado |
-| mensaje | número | | | | |
-| Fin de ejecución | 4 | 0 | DONE | 0 | Reservado |
-| Advertencia | 5 | Tipo de objeto (\*\*) | Texto de error | Tabla o índice | Reservado |
-| mensaje | número | | | | |
-
-(\*) El evento *Fin de la verificación* ($1=2) no se devuelve nunca cuando el modo de verificación es Verify All. Sólo se utiliza en modo Verify Records o Verify Indexes.
-(\*\*) *Tipo de objeto*: cuando un objeto se verifica, puede enviarse un mensaje "terminado" ($1=2), error ($1=3) o terminado ($1=5). El tipo de objeto devuelto en $2 puede ser uno de los siguientes:
+| **Event** | **$messageType** | **$objectType** | **$messageText** | **$table** | **$reserved** |
+| ------- | ---------------- | ------------------ | -------------- | ---------------- | ---------------- |
+| Mensaje | 1 | 0 | Mensaje de progresión | Porcentaje (0-100) | Reservado |
+| Fin de la verificación (\*) | 2 | Tipo de objeto (\*\*) | Mensaje de prueba OK | Tabla o número de índice | Reservado |
+| Error | 3 | Tipo de objeto (\*\*) | Texto de mensaje de error | Tabla o número de índice | Reservado |
+| Fin de la ejecución | 4 | 0 | DONE | 0 | Reservado |
+| Advertencia | 5 | Tipo de objeto (\*\*) | Texto de error | Tabla o índice | Reservado |
+|||| mensaje | número |
+
+(\*) El evento *Fin de la verificación* ($messageType=2) no se devuelve nunca cuando el modo de verificación es Verify All. Sólo se utiliza en modo Verify Records o Verify Indexes.
+(\*\*) *Tipo de objeto*: cuando un objeto se verifica, puede enviarse un mensaje "terminado" ($messageType=2), error ($messageType=3) o terminado ($messageType=5). El tipo de objeto devuelto en $2 puede ser uno de los siguientes:
* 0 = indeterminado
* 4 = registro
* 8 = índice
* 16 = objeto estructura (control preliminar del archivo de datos).
-*Caso especial*: cuando $4 = 0 para $1=2, 3 ó 5, el mensaje no concierne a una tabla sino a un archivo de datos en su conjunto.
+*Caso especial*: cuando $table = 0 para $messageType=2, 3 ó 5, el mensaje no concierne a una tabla sino a un archivo de datos en su conjunto.
-El método de retrollamada también debe retornar un valor en $0 (Entero largo), permitiendo controlar la ejecución de la operación:
+El método de retrollamada también debe retornar un valor entero *$result*, permitiendo controlar la ejecución de la operación:
-* Si $0 = 0, la operación continúa normalmente
-* Si $0 = -128, la operación se detiene sin que se genere error
-* Si $0 = otro valor, la operación se detiene y el valor pasado en $0 se devuelve como número de error. Este error puede ser interceptado por un método de gestión de errores.
+* Si $result = 0, la operación continúa normalmente
+* Si $result = -128, la operación se detiene sin que se genere error
+* Si $result = otro valor, la operación se detiene y el valor pasado en $result se devuelve como número de error. Este error puede ser interceptado por un método de gestión de errores.
+
+**Nota**: no es posible interrumpir la ejecución vía $result luego de que el evento se haya generado *Fin de ejecución* ($1=4).
-**Nota**: no es posible interrumpir la ejecución vía $0 luego de que el evento se haya generado *Fin de ejecución* ($4=1).
Dos arrays opcionales también pueden ser utilizados por este comando:
@@ -176,5 +177,3 @@ Si el método de retrollamada no existe, la verificación no se efectúa, se gen
| Número de comando | 939 |
| Hilo seguro | ✓ |
| Modifica variables | OK, Document, error |
-
-
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/commands-legacy/query-by-attribute.md b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/commands-legacy/query-by-attribute.md
index 8381b78bbc201e..b2559925b25235 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/commands-legacy/query-by-attribute.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/commands-legacy/query-by-attribute.md
@@ -10,12 +10,12 @@ displayed_sidebar: docs
| Parámetro | Tipo | | Descripción |
| --- | --- | --- | --- |
| tabla | Table | → | Tabla para la cual devolver una selección de registros o Tabla por defecto si se omite |
-| opConj | * | → | Operador de conjunción ausar para combinar varias búsquedas (si las hay) |
+| opConj | Operator | → | Operador de conjunción a usar para combinar varias búsquedas (si las hay) |
| campoObjeto | Field | → | Campo objeto cuyos atributos utilizar para la búsqueda |
| rutaAtributo | Text | → | Nombre o ruta de atributo |
-| opBusq | Text, * | → | Operador de búsqueda (comparador) |
+| opBusq | Text, Operator | → | Operador de búsqueda (comparador) |
| valor | Text, Number, Date, Time | → | Valor a comparar |
-| * | Operador | → | Espera de ejecución de la búsqueda |
+| * | Operator | → | Espera de ejecución de la búsqueda |
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/commands-legacy/query-selection-by-attribute.md b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/commands-legacy/query-selection-by-attribute.md
index a7edbed92609a3..9e34f09cbdfff0 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/commands-legacy/query-selection-by-attribute.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/commands-legacy/query-selection-by-attribute.md
@@ -5,17 +5,17 @@ slug: /commands/query-selection-by-attribute
displayed_sidebar: docs
---
-**QUERY SELECTION BY ATTRIBUTE** ( {*tabla*}{;}{*conjOp* ;} *campoObjeto* ; *rutaAtributo* ; *opBusq* ; *valor* {; *} )
+**QUERY SELECTION BY ATTRIBUTE** ( {*tabla*}{;}{*opConj* ;} *campoObjeto* ; *rutaAtributo* ; *opBusq* ; *valor* {; *} )
| Parámetro | Tipo | | Descripción |
| --- | --- | --- | --- |
-| tabla | Table | → | Tabla para la cual devolver una selección de registros o tabla por defecto si se omite |
-| conjOp | * | → | Operador de conjunción a utilizar ara unir múltiples búsquedas (si las hay) |
-| campoObjeto | Field | → | Campo objeto para buscar atributos |
+| tabla | Table | → | Tabla para la cual devolver una selección de registros o Tabla por defecto si se omite |
+| opConj | Operator | → | Operador de conjunción a usar para combinar varias búsquedas (si las hay) |
+| campoObjeto | Field | → | Campo objeto cuyos atributos utilizar para la búsqueda |
| rutaAtributo | Text | → | Nombre o ruta de atributo |
-| opBusq | *, Text | → | Operador de búsqueda (comparador) |
+| opBusq | Text, Operator | → | Operador de búsqueda (comparador) |
| valor | Text, Number, Date, Time | → | Valor a comparar |
-| * | Operador | → | Continuar bandera de búsqueda |
+| * | Operator | → | Espera de ejecución de la búsqueda |
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/commands-legacy/verify-data-file.md b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/commands-legacy/verify-data-file.md
index 1c6ae986f13232..251b195c1212ad 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/commands-legacy/verify-data-file.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/commands-legacy/verify-data-file.md
@@ -19,7 +19,7 @@ displayed_sidebar: docs
-## Descripción
+## Descripción
El comando VERIFY DATA FILE efectúa una verificación estructural de los objetos contenidos en el archivo de datos 4D designado por *rutaEstructura* y *rutaDatos*.para mayor información sobre el proceso de verificación de datos, consulte el Manual de Diseño. *rutaEstructura* designa el archivo de estructura (compilado o no) asociado con el archivo de datos a verificar. Puede tratarse del archivo de estructura abierto o de cualquier otro archivo de estructura. Usted debe pasar un nombre de ruta completo, expresado con la sintaxis del sistema operativo. También puede pasar una cadena vacía, en este caso aparece una caja de diálogo estándar de apertura de archivos que permite al usuario designar el archivo de estructura a utilizar.
@@ -37,6 +37,7 @@ El parámetro *objetos* se utiliza para designar los tipos de objetos a verifica
| Verify indexes | Entero largo | 8 | Esta opción verifica la consistencia física de los índices, sin enlace a los datos. Señala llaves inválidas pero no le permite detectar llaves duplicadas (dos índices que apuntan al mismo registro). Este tipo de error sólo puede detectarse con la opción Verificar todos. |
| Verify records | Entero largo | 4 | |
+
Para verificar los registros y los índices, pase el total de Verify Records+Verify Indexes. El valor 0 (cero) también puede ser utilizado para obtener el mismo resultado. La opción Verify All realiza una verificación interna completa. Esta verificación es compatible con la creación de un historial.
El parámetro *opciones* se utiliza para definir las opciones de verificación. Las siguientes opciones están disponibles, accesibles vía las constantes del tema “*Mantenimiento archivo de datos*”:
@@ -51,44 +52,44 @@ Generalmente, el comando VERIFY DATA FILE crea un archivo de historial en format
El parámetro *metodo* permite definir un método de retrollamada que será llamado regularmente durante la verificación. Si pasa una cadena vacía o un nombre de método invalido, este parámetro se ignora (no se llama el método). Cuando se llama, este método recibe hasta 5 parámetros en función de los objetos verificados y del tipo de evento que origina la llamada (ver la tabla de llamadas). Es imperativo declarar estos parámetros en el método:
-| \- $1 | Entero largo | Tipo de mensaje (ver tabla) |
+
+| Parámetro | Tipo | Descripción |
| ----- | ------------ | --------------------------- |
-| \- $2 | Entero largo | Tipo de objeto |
-| \- $3 | Text | Mensaje |
-| \- $4 | Entero largo | Número de tabla |
-| \- $5 | Entero largo | Reservado |
+| $messageType | Integer | Tipo de mensaje (ver tabla) |
+| $objectType | Integer | Tipo de objeto |
+| $messageText | Text | Mensaje |
+| $table | Integer | Número de tabla |
+| $reserved | Integer | Reservado |
La siguiente tabla describe el contenido de los parámetros en función del tipo de evento:
-| **Evento** | **$1 (Entero largo)** | **$2 (Entero largo)** | **$3 (Texto)** | **$4 (Entero largo)** | **$5 (Entero largo)** |
-| --------------------------- | --------------------- | --------------------- | -------------- | --------------------- | --------------------- |
-| Mensaje | 1 | 0 | Progresión | Porcentaje | Reservado |
-| mensaje | hecho (0-100) | | | | |
-| Fin de la verificación (\*) | 2 | Tipo de objeto (\*\*) | Mensaje OK | Tabla o índice | Reservado |
-| prueba | número | | | | |
-| Error | 3 | Tipo de objeto (\*\*) | Texto de error | Tabla o índice | Reservado |
-| mensaje | número | | | | |
-| Fin de ejecución | 4 | 0 | DONE | 0 | Reservado |
-| Advertencia | 5 | Tipo de objeto (\*\*) | Texto de error | Tabla o índice | Reservado |
-| mensaje | número | | | | |
-
-(\*) El evento *Fin de la verificación* ($1=2) no se devuelve nunca cuando el modo de verificación es Verify All. Sólo se utiliza en modo Verify Records o Verify Indexes.
-(\*\*) *Tipo de objeto*: cuando un objeto se verifica, puede enviarse un mensaje "terminado" ($1=2), error ($1=3) o terminado ($1=5). El tipo de objeto devuelto en $2 puede ser uno de los siguientes:
+| **Event** | **$messageType** | **$objectType** | **$messageText** | **$table** | **$reserved** |
+| ------- | ---------------- | ------------------ | -------------- | ---------------- | ---------------- |
+| Mensaje | 1 | 0 | Mensaje de progresión | Porcentaje (0-100) | Reservado |
+| Fin de la verificación (\*) | 2 | Tipo de objeto (\*\*) | Mensaje de prueba OK | Tabla o número de índice | Reservado |
+| Error | 3 | Tipo de objeto (\*\*) | Texto de mensaje de error | Tabla o número de índice | Reservado |
+| Fin de la ejecución | 4 | 0 | DONE | 0 | Reservado |
+| Advertencia | 5 | Tipo de objeto (\*\*) | Texto de error | Tabla o índice | Reservado |
+|||| mensaje | número |
+
+(\*) El evento *Fin de la verificación* ($messageType=2) no se devuelve nunca cuando el modo de verificación es Verify All. Sólo se utiliza en modo Verify Records o Verify Indexes.
+(\*\*) *Tipo de objeto*: cuando un objeto se verifica, puede enviarse un mensaje "terminado" ($messageType=2), error ($messageType=3) o terminado ($messageType=5). El tipo de objeto devuelto en $2 puede ser uno de los siguientes:
* 0 = indeterminado
* 4 = registro
* 8 = índice
* 16 = objeto estructura (control preliminar del archivo de datos).
-*Caso especial*: cuando $4 = 0 para $1=2, 3 ó 5, el mensaje no concierne a una tabla sino a un archivo de datos en su conjunto.
+*Caso especial*: cuando $table = 0 para $messageType=2, 3 ó 5, el mensaje no concierne a una tabla sino a un archivo de datos en su conjunto.
-El método de retrollamada también debe retornar un valor en $0 (Entero largo), permitiendo controlar la ejecución de la operación:
+El método de retrollamada también debe retornar un valor entero *$result*, permitiendo controlar la ejecución de la operación:
-* Si $0 = 0, la operación continúa normalmente
-* Si $0 = -128, la operación se detiene sin que se genere error
-* Si $0 = otro valor, la operación se detiene y el valor pasado en $0 se devuelve como número de error. Este error puede ser interceptado por un método de gestión de errores.
+* Si $result = 0, la operación continúa normalmente
+* Si $result = -128, la operación se detiene sin que se genere error
+* Si $result = otro valor, la operación se detiene y el valor pasado en $result se devuelve como número de error. Este error puede ser interceptado por un método de gestión de errores.
+
+**Nota**: no es posible interrumpir la ejecución vía $result luego de que el evento se haya generado *Fin de ejecución* ($1=4).
-**Nota**: no es posible interrumpir la ejecución vía $0 luego de que el evento se haya generado *Fin de ejecución* ($4=1).
Dos arrays opcionales también pueden ser utilizados por este comando:
@@ -176,5 +177,3 @@ Si el método de retrollamada no existe, la verificación no se efectúa, se gen
| Número de comando | 939 |
| Hilo seguro | ✓ |
| Modifica variables | OK, Document, error |
-
-
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-21/commands-legacy/query-by-attribute.md b/i18n/es/docusaurus-plugin-content-docs/version-21/commands-legacy/query-by-attribute.md
index 8381b78bbc201e..b2559925b25235 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-21/commands-legacy/query-by-attribute.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-21/commands-legacy/query-by-attribute.md
@@ -10,12 +10,12 @@ displayed_sidebar: docs
| Parámetro | Tipo | | Descripción |
| --- | --- | --- | --- |
| tabla | Table | → | Tabla para la cual devolver una selección de registros o Tabla por defecto si se omite |
-| opConj | * | → | Operador de conjunción ausar para combinar varias búsquedas (si las hay) |
+| opConj | Operator | → | Operador de conjunción a usar para combinar varias búsquedas (si las hay) |
| campoObjeto | Field | → | Campo objeto cuyos atributos utilizar para la búsqueda |
| rutaAtributo | Text | → | Nombre o ruta de atributo |
-| opBusq | Text, * | → | Operador de búsqueda (comparador) |
+| opBusq | Text, Operator | → | Operador de búsqueda (comparador) |
| valor | Text, Number, Date, Time | → | Valor a comparar |
-| * | Operador | → | Espera de ejecución de la búsqueda |
+| * | Operator | → | Espera de ejecución de la búsqueda |
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-21/commands-legacy/query-selection-by-attribute.md b/i18n/es/docusaurus-plugin-content-docs/version-21/commands-legacy/query-selection-by-attribute.md
index a7edbed92609a3..9e34f09cbdfff0 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-21/commands-legacy/query-selection-by-attribute.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-21/commands-legacy/query-selection-by-attribute.md
@@ -5,17 +5,17 @@ slug: /commands/query-selection-by-attribute
displayed_sidebar: docs
---
-**QUERY SELECTION BY ATTRIBUTE** ( {*tabla*}{;}{*conjOp* ;} *campoObjeto* ; *rutaAtributo* ; *opBusq* ; *valor* {; *} )
+**QUERY SELECTION BY ATTRIBUTE** ( {*tabla*}{;}{*opConj* ;} *campoObjeto* ; *rutaAtributo* ; *opBusq* ; *valor* {; *} )
| Parámetro | Tipo | | Descripción |
| --- | --- | --- | --- |
-| tabla | Table | → | Tabla para la cual devolver una selección de registros o tabla por defecto si se omite |
-| conjOp | * | → | Operador de conjunción a utilizar ara unir múltiples búsquedas (si las hay) |
-| campoObjeto | Field | → | Campo objeto para buscar atributos |
+| tabla | Table | → | Tabla para la cual devolver una selección de registros o Tabla por defecto si se omite |
+| opConj | Operator | → | Operador de conjunción a usar para combinar varias búsquedas (si las hay) |
+| campoObjeto | Field | → | Campo objeto cuyos atributos utilizar para la búsqueda |
| rutaAtributo | Text | → | Nombre o ruta de atributo |
-| opBusq | *, Text | → | Operador de búsqueda (comparador) |
+| opBusq | Text, Operator | → | Operador de búsqueda (comparador) |
| valor | Text, Number, Date, Time | → | Valor a comparar |
-| * | Operador | → | Continuar bandera de búsqueda |
+| * | Operator | → | Espera de ejecución de la búsqueda |
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-21/commands-legacy/verify-data-file.md b/i18n/es/docusaurus-plugin-content-docs/version-21/commands-legacy/verify-data-file.md
index 1c6ae986f13232..251b195c1212ad 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-21/commands-legacy/verify-data-file.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-21/commands-legacy/verify-data-file.md
@@ -19,7 +19,7 @@ displayed_sidebar: docs
-## Descripción
+## Descripción
El comando VERIFY DATA FILE efectúa una verificación estructural de los objetos contenidos en el archivo de datos 4D designado por *rutaEstructura* y *rutaDatos*.para mayor información sobre el proceso de verificación de datos, consulte el Manual de Diseño. *rutaEstructura* designa el archivo de estructura (compilado o no) asociado con el archivo de datos a verificar. Puede tratarse del archivo de estructura abierto o de cualquier otro archivo de estructura. Usted debe pasar un nombre de ruta completo, expresado con la sintaxis del sistema operativo. También puede pasar una cadena vacía, en este caso aparece una caja de diálogo estándar de apertura de archivos que permite al usuario designar el archivo de estructura a utilizar.
@@ -37,6 +37,7 @@ El parámetro *objetos* se utiliza para designar los tipos de objetos a verifica
| Verify indexes | Entero largo | 8 | Esta opción verifica la consistencia física de los índices, sin enlace a los datos. Señala llaves inválidas pero no le permite detectar llaves duplicadas (dos índices que apuntan al mismo registro). Este tipo de error sólo puede detectarse con la opción Verificar todos. |
| Verify records | Entero largo | 4 | |
+
Para verificar los registros y los índices, pase el total de Verify Records+Verify Indexes. El valor 0 (cero) también puede ser utilizado para obtener el mismo resultado. La opción Verify All realiza una verificación interna completa. Esta verificación es compatible con la creación de un historial.
El parámetro *opciones* se utiliza para definir las opciones de verificación. Las siguientes opciones están disponibles, accesibles vía las constantes del tema “*Mantenimiento archivo de datos*”:
@@ -51,44 +52,44 @@ Generalmente, el comando VERIFY DATA FILE crea un archivo de historial en format
El parámetro *metodo* permite definir un método de retrollamada que será llamado regularmente durante la verificación. Si pasa una cadena vacía o un nombre de método invalido, este parámetro se ignora (no se llama el método). Cuando se llama, este método recibe hasta 5 parámetros en función de los objetos verificados y del tipo de evento que origina la llamada (ver la tabla de llamadas). Es imperativo declarar estos parámetros en el método:
-| \- $1 | Entero largo | Tipo de mensaje (ver tabla) |
+
+| Parámetro | Tipo | Descripción |
| ----- | ------------ | --------------------------- |
-| \- $2 | Entero largo | Tipo de objeto |
-| \- $3 | Text | Mensaje |
-| \- $4 | Entero largo | Número de tabla |
-| \- $5 | Entero largo | Reservado |
+| $messageType | Integer | Tipo de mensaje (ver tabla) |
+| $objectType | Integer | Tipo de objeto |
+| $messageText | Text | Mensaje |
+| $table | Integer | Número de tabla |
+| $reserved | Integer | Reservado |
La siguiente tabla describe el contenido de los parámetros en función del tipo de evento:
-| **Evento** | **$1 (Entero largo)** | **$2 (Entero largo)** | **$3 (Texto)** | **$4 (Entero largo)** | **$5 (Entero largo)** |
-| --------------------------- | --------------------- | --------------------- | -------------- | --------------------- | --------------------- |
-| Mensaje | 1 | 0 | Progresión | Porcentaje | Reservado |
-| mensaje | hecho (0-100) | | | | |
-| Fin de la verificación (\*) | 2 | Tipo de objeto (\*\*) | Mensaje OK | Tabla o índice | Reservado |
-| prueba | número | | | | |
-| Error | 3 | Tipo de objeto (\*\*) | Texto de error | Tabla o índice | Reservado |
-| mensaje | número | | | | |
-| Fin de ejecución | 4 | 0 | DONE | 0 | Reservado |
-| Advertencia | 5 | Tipo de objeto (\*\*) | Texto de error | Tabla o índice | Reservado |
-| mensaje | número | | | | |
-
-(\*) El evento *Fin de la verificación* ($1=2) no se devuelve nunca cuando el modo de verificación es Verify All. Sólo se utiliza en modo Verify Records o Verify Indexes.
-(\*\*) *Tipo de objeto*: cuando un objeto se verifica, puede enviarse un mensaje "terminado" ($1=2), error ($1=3) o terminado ($1=5). El tipo de objeto devuelto en $2 puede ser uno de los siguientes:
+| **Event** | **$messageType** | **$objectType** | **$messageText** | **$table** | **$reserved** |
+| ------- | ---------------- | ------------------ | -------------- | ---------------- | ---------------- |
+| Mensaje | 1 | 0 | Mensaje de progresión | Porcentaje (0-100) | Reservado |
+| Fin de la verificación (\*) | 2 | Tipo de objeto (\*\*) | Mensaje de prueba OK | Tabla o número de índice | Reservado |
+| Error | 3 | Tipo de objeto (\*\*) | Texto de mensaje de error | Tabla o número de índice | Reservado |
+| Fin de la ejecución | 4 | 0 | DONE | 0 | Reservado |
+| Advertencia | 5 | Tipo de objeto (\*\*) | Texto de error | Tabla o índice | Reservado |
+|||| mensaje | número |
+
+(\*) El evento *Fin de la verificación* ($messageType=2) no se devuelve nunca cuando el modo de verificación es Verify All. Sólo se utiliza en modo Verify Records o Verify Indexes.
+(\*\*) *Tipo de objeto*: cuando un objeto se verifica, puede enviarse un mensaje "terminado" ($messageType=2), error ($messageType=3) o terminado ($messageType=5). El tipo de objeto devuelto en $2 puede ser uno de los siguientes:
* 0 = indeterminado
* 4 = registro
* 8 = índice
* 16 = objeto estructura (control preliminar del archivo de datos).
-*Caso especial*: cuando $4 = 0 para $1=2, 3 ó 5, el mensaje no concierne a una tabla sino a un archivo de datos en su conjunto.
+*Caso especial*: cuando $table = 0 para $messageType=2, 3 ó 5, el mensaje no concierne a una tabla sino a un archivo de datos en su conjunto.
-El método de retrollamada también debe retornar un valor en $0 (Entero largo), permitiendo controlar la ejecución de la operación:
+El método de retrollamada también debe retornar un valor entero *$result*, permitiendo controlar la ejecución de la operación:
-* Si $0 = 0, la operación continúa normalmente
-* Si $0 = -128, la operación se detiene sin que se genere error
-* Si $0 = otro valor, la operación se detiene y el valor pasado en $0 se devuelve como número de error. Este error puede ser interceptado por un método de gestión de errores.
+* Si $result = 0, la operación continúa normalmente
+* Si $result = -128, la operación se detiene sin que se genere error
+* Si $result = otro valor, la operación se detiene y el valor pasado en $result se devuelve como número de error. Este error puede ser interceptado por un método de gestión de errores.
+
+**Nota**: no es posible interrumpir la ejecución vía $result luego de que el evento se haya generado *Fin de ejecución* ($1=4).
-**Nota**: no es posible interrumpir la ejecución vía $0 luego de que el evento se haya generado *Fin de ejecución* ($4=1).
Dos arrays opcionales también pueden ser utilizados por este comando:
@@ -176,5 +177,3 @@ Si el método de retrollamada no existe, la verificación no se efectúa, se gen
| Número de comando | 939 |
| Hilo seguro | ✓ |
| Modifica variables | OK, Document, error |
-
-
From 2dda5e52459813c240c178f2df8728af000b569b Mon Sep 17 00:00:00 2001
From: arnaud-4d
Date: Thu, 27 Nov 2025 16:32:20 +0100
Subject: [PATCH 53/75] New Crowdin updates (#3011)
* New translations openaifilelistparameters.md (Japanese)
* New translations openaifilelistresult.md (Japanese)
* New translations openaifileparameters.md (Japanese)
* New translations openaifileresult.md (Japanese)
* New translations openaifilesapi.md (Japanese)
---
.../aikit/Classes/OpenAIFileListParameters.md | 6 ++--
.../aikit/Classes/OpenAIFileListResult.md | 24 +++++++-------
.../aikit/Classes/OpenAIFileParameters.md | 24 +++++++-------
.../current/aikit/Classes/OpenAIFileResult.md | 12 +++----
.../current/aikit/Classes/OpenAIFilesAPI.md | 32 +++++++++----------
5 files changed, 49 insertions(+), 49 deletions(-)
diff --git a/i18n/ja/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIFileListParameters.md b/i18n/ja/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIFileListParameters.md
index 43282ec34c039a..da01f8dc95912b 100644
--- a/i18n/ja/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIFileListParameters.md
+++ b/i18n/ja/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIFileListParameters.md
@@ -17,13 +17,13 @@ title: OpenAIFileListParameters
| --------- | ------- | -- | ----- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `after` | Text | 任意 | - | ページネーションで使用するためのカーソル。 `after` はリスト内での位置を定義するためのオブジェクト ID です。 例えば、リストをリクエストして100個のオブジェクトを受信し、最後が `obj_foo` だった場合、その次の呼び出しに `after=obj_foo` を含めることでリストの次のページを取得することができます。 |
| `limit` | Integer | 任意 | 10000 | 返されるオブジェクト数の上限。 上限値は1から10000 を選択でき、デフォルトの値は10000です。 |
-| `order` | Text | 任意 | desc | Sort order by the `created_at` timestamp of the objects. `asc` for ascending order and `desc` for descending order. |
-| `purpose` | Text | 任意 | - | Only return files with the given purpose. |
+| `order` | Text | 任意 | desc | オブジェクトの `created_at` タイプスタンプ順で並び替えします。 昇順には `asc` を、降順には `desc` を使用します。 |
+| `purpose` | Text | 任意 | - | 特定の目的のファイルのみを返します。 |
## 使用例
```4d
-// Get first 100 files with purpose "fine-tune"
+// purpose が "fine-tune" である最初の100個のファイルを取得
var $params:=cs.AIKit.OpenAIFileListParameters.new()
$params.limit:=100
$params.purpose:="fine-tune"
diff --git a/i18n/ja/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIFileListResult.md b/i18n/ja/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIFileListResult.md
index 04edb7e8809ddd..dc31bbfade2377 100644
--- a/i18n/ja/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIFileListResult.md
+++ b/i18n/ja/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIFileListResult.md
@@ -5,7 +5,7 @@ title: OpenAIFileListResult
# OpenAIFileListResult
-The `OpenAIFileListResult` class contains the result of listing files from the OpenAI API.
+`OpenAIFileListResult` クラスには、OpenAI API からのファイルをリストアップした結果が格納されています。
## 継承元
@@ -13,16 +13,16 @@ The `OpenAIFileListResult` class contains the result of listing files from the O
## 計算プロパティ
-| プロパティ | 型 | 説明 |
-| ---------- | ---------- | ------------------------------------------------------------------------------------------------------------------------------------------------ |
-| `files` | Collection | Returns a collection of [OpenAIFile](OpenAIFile.md) objects from the API response, or an empty collection if no files are found. |
-| `first_id` | Text | Returns the ID of the first file in the list, or an empty string if not available. |
-| `last_id` | Text | Returns the ID of the last file in the list, or an empty string if not available. |
-| `has_more` | Boolean | Indicates if there are more files beyond this page. `True` if there are more files to fetch, `False` otherwise. |
+| プロパティ | 型 | 説明 |
+| ---------- | ---------- | ------------------------------------------------------------------------------------------- |
+| `files` | Collection | API レスポンスからの[OpenAIFile](OpenAIFile.md) オブジェクトのコレクションを返します。ファイルが何も見つからない場合には空のコレクションが返されます。 |
+| `first_id` | Text | リストの最初のファイルのID を返します。利用できない場合は空の文字列を返します。 |
+| `last_id` | Text | リストの最後のファイルのID を返します。利用できない場合は空の文字列を返します。 |
+| `has_more` | Boolean | このページの後にまだファイルがあるかどうかを示します。 まだ取得するファイルがある場合には `True`、それ以外の場合には `False`。 |
## 使用例
-### Basic Usage
+### 基本的な使用法
```4d
var $params:=cs.AIKit.OpenAIFileListParameters.new()
@@ -33,14 +33,14 @@ var $result:=$client.files.list($params)
var $files:=$result.files
For each ($file; $files)
- // Process each OpenAIFile object
+ // それぞれの OpenAIFile オブジェクトを処理
// $file.filename -> "salesOverview.pdf"
// $file.bytes -> 175
// $file.purpose -> "assistants"
End for each
```
-### Pagination Example
+### ページ分けの例
```4d
var $params:=cs.AIKit.OpenAIFileListParameters.new()
@@ -49,14 +49,14 @@ $params.limit:=100
var $result:=$client.files.list($params)
var $allFiles:=$allFiles.combine($result.files)
-// Continue fetching if there are more files
+// まだファイルがある場合には取得を継続
While ($result.has_more)
$params.after:=$result.last_id
$result:=$client.files.list($params)
$allFiles:=$allFiles.combine($result.files)
End while
-// $allFiles now contains all files from the organization
+// $allFiles には組織からの全てのファイルが格納されています
```
## 参照
diff --git a/i18n/ja/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIFileParameters.md b/i18n/ja/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIFileParameters.md
index 54e3c83cf459b2..028c39becaac1b 100644
--- a/i18n/ja/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIFileParameters.md
+++ b/i18n/ja/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIFileParameters.md
@@ -5,7 +5,7 @@ title: OpenAIFileParameters
# OpenAIFileParameters
-The `OpenAIFileParameters` class handles parameters for file upload operations.
+`OpenAIFileParameters` クラスはファイルアップロード操作のための引数を管理します。
## 継承元
@@ -13,28 +13,28 @@ The `OpenAIFileParameters` class handles parameters for file upload operations.
## プロパティ
-| プロパティ名 | 型 | 必須 | 説明 |
-| --------------- | ------ | -- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
-| `expires_after` | Object | 任意 | The expiration policy for a file. By default, files with `purpose=batch` expire after 30 days and all other files are persisted until they are manually deleted. |
+| プロパティ名 | 型 | 必須 | 説明 |
+| --------------- | ------ | -- | ------------------------------------------------------------------------------------ |
+| `expires_after` | Object | 任意 | ファイルの失効ポリシー。 デフォルトでは、 `purpose=batch` のファイルは30 日で失効し、それ以外の全てのファイルは手動で削除されるまでは維持されます。 |
-### `expires_after` Object Structure
+### `expires_after` オブジェクト構造
-The `expires_after` object contains the following properties:
+`expires_after` オブジェクトには以下のプロパティが格納されています:
-| プロパティ名 | 型 | 説明 |
-| --------- | ------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
-| `anchor` | Text | Anchor timestamp after which the expiration policy applies. Supported anchors: `created_at`. |
-| `seconds` | Integer | The number of seconds after the anchor time that the file will expire. Must be between 3600 (1 hour) and 2592000 (30 days). |
+| プロパティ名 | 型 | 説明 |
+| --------- | ------- | ------------------------------------------------------------------------------------------------------------- |
+| `anchor` | Text | 失効ポリシーが適用されるアンカータイムスタンプ。 サポートされるアンカー: `created_at` 。 |
+| `seconds` | Integer | アンカー時間からファイルが有効期限が切れるまでの秒数。 3600 (1 時間) から 2592000 (30 日) の間でなければなりません。 |
## 使用例
```4d
var $params:=cs.AIKit.OpenAIFileParameters.new()
-// Set expiration after 7 days
+// 7 日後に執行するように設定する
$params.expires_after:={}
$params.expires_after.anchor:="created_at"
-$params.expires_after.seconds:=604800 // 7 days
+$params.expires_after.seconds:=604800 // 7 日相当
```
## 参照
diff --git a/i18n/ja/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIFileResult.md b/i18n/ja/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIFileResult.md
index fd1bad0e55650f..71ee6187843e84 100644
--- a/i18n/ja/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIFileResult.md
+++ b/i18n/ja/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIFileResult.md
@@ -5,7 +5,7 @@ title: OpenAIFileResult
# OpenAIFileResult
-The `OpenAIFileResult` class contains the result of a single file operation (upload or retrieve).
+`OpenAIFileResult` クラスには単一のファイル操作(アップロードあるいは取得)の結果が格納されます。
## 継承元
@@ -13,20 +13,20 @@ The `OpenAIFileResult` class contains the result of a single file operation (upl
## 計算プロパティ
-| プロパティ | 型 | 説明 |
-| ------ | --------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------- |
-| `ファイル` | [OpenAIFile](OpenAIFile.md) | Returns the file object from the API response. Returns `Null` if the response doesn't contain a valid file. |
+| プロパティ | 型 | 説明 |
+| ------ | --------------------------- | ---------------------------------------------------------------- |
+| `ファイル` | [OpenAIFile](OpenAIFile.md) | API レスポンスからのファイルオブジェクトを返します。 レスポンスに有効なファイルが格納されていない場合には `Null` 。 |
## 使用例
```4d
-// Upload a file
+// ファイルをアップロードする
var $file:=File("/RESOURCES/training-data.jsonl")
var $result:=$client.files.create($file; "user_data")
var $uploadedFile:=$result.file
-// Retrieve file information
+// ファイル情報を取得
var $retrieveResult:=$client.files.retrieve($uploadedFile.id)
```
diff --git a/i18n/ja/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIFilesAPI.md b/i18n/ja/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIFilesAPI.md
index 587d8b3ad6d584..89818163e45e1c 100644
--- a/i18n/ja/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIFilesAPI.md
+++ b/i18n/ja/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIFilesAPI.md
@@ -5,16 +5,16 @@ title: OpenAIFilesAPI
# OpenAIFilesAPI
-The `OpenAIFilesAPI` class provides functionalities to manage files using OpenAI's API. Files can be uploaded and used across various endpoints including [Fine-tuning](https://platform.openai.com/docs/api-reference/fine-tuning), [Batch](https://platform.openai.com/docs/api-reference/batch) processing, and Vision.
+`OpenAIFilesAPI` クラスはOpenAI のAPI を使用してファイルを管理する機能を提供します。 ファイルをアップロードして、 [Fine-tuning](https://platform.openai.com/docs/api-reference/fine-tuning)、 [Batch](https://platform.openai.com/docs/api-reference/batch) 処理、そしてVision を含む様々なエンドポイントで使用することができます。
-> **Note:** This API is only compatible with OpenAI. Other providers listed in the [compatible providers](../compatible-openai.md) documentation do not support file management operations.
+> **注意:** この API はOpenAI としか互換性がありません。 [互換性のあるプロバイダー](../compatible-openai.md) ドキュメンテーションに記載されている他のプロバイダーでは、ファイル管理操作をサポートしていません。
-API Reference:
+API 参照:
-## File Size Limits
+## ファイルサイズ上限
-- **Individual files:** up to 512 MB per file
-- **Organization total:** up to 1 TB (cumulative size of all files uploaded by your [organization](https://platform.openai.com/docs/guides/production-best-practices/setting-up-your-organization))
+- **個別のファイル:** 1ファイルあたり 512 MB まで
+- **組織全体:** 1 TB まで([組織](https://platform.openai.com/docs/guides/production-best-practices/setting-up-your-organization) によってアップロードされたすべてのファイルの累計サイズ)
## 関数
@@ -22,18 +22,18 @@ API Reference:
**create**(*file* : 4D.File | 4D.Blob; *purpose* : Text; *parameters* : cs.OpenAIFileParameters) : cs.OpenAIFileResult
-Upload a file that can be used across various endpoints.
+様々なエンドポイントで使用できるファイルをアップロードします。
-**Endpoint:** `POST https://api.openai.com/v1/files`
+**エンドポイント:** `POST https://api.openai.com/v1/files`
-| 引数 | 型 | 説明 |
-| ------------ | ------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------ |
-| `ファイル` | [4D.File](https://developer.4d.com/docs/API/FileClass) or [4D.Blob](https://developer.4d.com/docs/API/BlobClass) | The File or Blob object (not file name) to be uploaded. |
-| `purpose` | Text | **Required.** The intended purpose of the uploaded file. |
-| `parameters` | [OpenAIFileParameters](OpenAIFileParameters.md) | Optional parameters including expiration policy. |
-| 戻り値 | [OpenAIFileResult](OpenAIFileResult.md) | The file result |
+| 引数 | 型 | 説明 |
+| ------------ | -------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------- |
+| `ファイル` | [4D.File](https://developer.4d.com/docs/API/FileClass) あるいは [4D.Blob](https://developer.4d.com/docs/API/BlobClass) | アップロードするファイルあるいはBlob オブジェクト(ファイル名ではない)。 |
+| `purpose` | Text | **必須。** アップロードされたファイルの目的。 |
+| `parameters` | [OpenAIFileParameters](OpenAIFileParameters.md) | 失効期限のポリシーを含めた、オブションの引数。 |
+| 戻り値 | [OpenAIFileResult](OpenAIFileResult.md) | ファイルの結果 |
-**Throws:** An error if `file` is not a 4D.File or 4D.Blob, or if `purpose` is empty.
+**エラーのスロー:** `file` が4D.File あるいは 4D.Blob ではない場合、あるいは`purpose` がからの場合にはエラーがスローされます。
#### Supported Purposes
@@ -114,7 +114,7 @@ Returns information about a specific file.
| ------------ | --------------------------------------- | ----------------------------------------------------------------------------- |
| `fileId` | Text | **Required.** The ID of the file to retrieve. |
| `parameters` | [OpenAIParameters](OpenAIParameters.md) | Optional parameters for the request. |
-| 戻り値 | [OpenAIFileResult](OpenAIFileResult.md) | The file result |
+| 戻り値 | [OpenAIFileResult](OpenAIFileResult.md) | ファイルの結果 |
**Throws:** An error if `fileId` is empty.
From 76a49b2deae9a4fb0eb8233f8bff4915a4a3ef86 Mon Sep 17 00:00:00 2001
From: arnaud-4d
Date: Thu, 27 Nov 2025 17:16:50 +0100
Subject: [PATCH 54/75] Update updates.md
---
versioned_docs/version-21/Notes/updates.md | 1 +
1 file changed, 1 insertion(+)
diff --git a/versioned_docs/version-21/Notes/updates.md b/versioned_docs/version-21/Notes/updates.md
index 6731031f5313d1..540ac33b9a0381 100644
--- a/versioned_docs/version-21/Notes/updates.md
+++ b/versioned_docs/version-21/Notes/updates.md
@@ -28,6 +28,7 @@ Read [**What’s new in 4D 21**](https://blog.4d.com/en-whats-new-in-4d-21/), th
- New "trim" commands to remove leading and trailing spaces from a string: [`Trim`](../commands/trim.md), [`Trim start`](../commands/trim-start.md), and [`Trim end`](../commands/trim-end.md).
- [`Num`](../commands/num.md) and [`String`](../commands/string.md) commands have been updated to support conversions in different bases (radix).
- [**Fixed bug list**](https://bugs.4d.fr/fixedbugslist?version=21): list of all bugs that have been fixed in 4D 21.
+- [**4D Qodly Pro Release notes**](https://developer.4d.com/qodly/4DQodlyPro/release-notes): what's new in Qodly Studio.
#### Developer Preview
From 3fb560e3da5522c0c6baf85bba0780af6533e8e6 Mon Sep 17 00:00:00 2001
From: arnaud-4d
Date: Thu, 27 Nov 2025 18:50:40 +0100
Subject: [PATCH 55/75] collections are expressions
---
docs/API/CollectionClass.md | 2 +-
versioned_docs/version-19/API/CollectionClass.md | 2 +-
versioned_docs/version-20-R10/API/CollectionClass.md | 2 +-
versioned_docs/version-20/API/CollectionClass.md | 2 +-
versioned_docs/version-21/API/CollectionClass.md | 2 +-
5 files changed, 5 insertions(+), 5 deletions(-)
diff --git a/docs/API/CollectionClass.md b/docs/API/CollectionClass.md
index 7528a3edf45a8f..39c269f2da33f4 100644
--- a/docs/API/CollectionClass.md
+++ b/docs/API/CollectionClass.md
@@ -4,7 +4,7 @@ title: Collection
---
-The Collection class manages [Collection](Concepts/dt_collection.md) type variables.
+The Collection class manages [Collection](Concepts/dt_collection.md) type expressions.
A collection is initialized with the [`New collection`](../commands/new-collection.md) or [`New shared collection`](../commands/new-shared-collection.md) commands.
diff --git a/versioned_docs/version-19/API/CollectionClass.md b/versioned_docs/version-19/API/CollectionClass.md
index b9e1f36bcaf685..17a03447abafb2 100644
--- a/versioned_docs/version-19/API/CollectionClass.md
+++ b/versioned_docs/version-19/API/CollectionClass.md
@@ -4,7 +4,7 @@ title: Collection
---
-The Collection class manages [Collection](Concepts/dt_collection.md) type variables.
+The Collection class manages [Collection](Concepts/dt_collection.md) type expressions.
A collection is initialized with:
diff --git a/versioned_docs/version-20-R10/API/CollectionClass.md b/versioned_docs/version-20-R10/API/CollectionClass.md
index 7528a3edf45a8f..39c269f2da33f4 100644
--- a/versioned_docs/version-20-R10/API/CollectionClass.md
+++ b/versioned_docs/version-20-R10/API/CollectionClass.md
@@ -4,7 +4,7 @@ title: Collection
---
-The Collection class manages [Collection](Concepts/dt_collection.md) type variables.
+The Collection class manages [Collection](Concepts/dt_collection.md) type expressions.
A collection is initialized with the [`New collection`](../commands/new-collection.md) or [`New shared collection`](../commands/new-shared-collection.md) commands.
diff --git a/versioned_docs/version-20/API/CollectionClass.md b/versioned_docs/version-20/API/CollectionClass.md
index 1416bd8bc4a122..0beb3604811161 100644
--- a/versioned_docs/version-20/API/CollectionClass.md
+++ b/versioned_docs/version-20/API/CollectionClass.md
@@ -4,7 +4,7 @@ title: Collection
---
-The Collection class manages [Collection](Concepts/dt_collection.md) type variables.
+The Collection class manages [Collection](Concepts/dt_collection.md) type expressions.
A collection is initialized with:
diff --git a/versioned_docs/version-21/API/CollectionClass.md b/versioned_docs/version-21/API/CollectionClass.md
index 7528a3edf45a8f..39c269f2da33f4 100644
--- a/versioned_docs/version-21/API/CollectionClass.md
+++ b/versioned_docs/version-21/API/CollectionClass.md
@@ -4,7 +4,7 @@ title: Collection
---
-The Collection class manages [Collection](Concepts/dt_collection.md) type variables.
+The Collection class manages [Collection](Concepts/dt_collection.md) type expressions.
A collection is initialized with the [`New collection`](../commands/new-collection.md) or [`New shared collection`](../commands/new-shared-collection.md) commands.
From 0313ba62dfa0e7bfb3f0cd4c6732e21009b676c1 Mon Sep 17 00:00:00 2001
From: arnaud-4d
Date: Fri, 28 Nov 2025 10:10:24 +0100
Subject: [PATCH 56/75] New Crowdin updates (#3012)
* New translations collectionclass.md (French)
* New translations collectionclass.md (French)
* New translations collectionclass.md (French)
* New translations dataclassclass.md (French)
* New translations entityselectionclass.md (French)
* New translations collectionclass.md (French)
* New translations collectionclass.md (French)
* New translations updates.md (French)
* New translations collectionclass.md (Spanish)
* New translations collectionclass.md (Spanish)
* New translations collectionclass.md (Spanish)
* New translations privileges.md (Spanish)
* New translations qodly-studio.md (Spanish)
* New translations writeprointerface.md (Spanish)
* New translations orda-events.md (Spanish)
* New translations field-properties.md (Spanish)
* New translations collectionclass.md (Spanish)
* New translations field-properties.md (Spanish)
* New translations listbox_overview.md (Spanish)
* New translations vp-set-workbook-options.md (Spanish)
* New translations qodly-studio.md (Spanish)
* New translations webserverconfig.md (Spanish)
* New translations wp-set-attributes.md (Spanish)
* New translations collectionclass.md (Spanish)
* New translations field-properties.md (Spanish)
* New translations listbox_overview.md (Spanish)
* New translations updates.md (Spanish)
* New translations orda-events.md (Spanish)
* New translations vp-set-workbook-options.md (Spanish)
* New translations qodly-studio.md (Spanish)
* New translations webserverconfig.md (Spanish)
* New translations wp-set-attributes.md (Spanish)
* New translations writeprointerface.md (Spanish)
* New translations openaifileparameters.md (Spanish)
* New translations collectionclass.md (Japanese)
* New translations collectionclass.md (Japanese)
* New translations collectionclass.md (Japanese)
* New translations collectionclass.md (Japanese)
* New translations collectionclass.md (Japanese)
* New translations updates.md (Japanese)
* New translations openaifilesapi.md (Japanese)
* New translations collectionclass.md (Portuguese, Brazilian)
* New translations collectionclass.md (Portuguese, Brazilian)
* New translations collectionclass.md (Portuguese, Brazilian)
* New translations collectionclass.md (Portuguese, Brazilian)
* New translations collectionclass.md (Portuguese, Brazilian)
* New translations updates.md (Portuguese, Brazilian)
---
.../current/API/CollectionClass.md | 2 +-
.../current/Develop/field-properties.md | 2 +-
.../current/ORDA/orda-events.md | 2 +-
.../current/ORDA/privileges.md | 2 +-
.../current/WebServer/qodly-studio.md | 2 +-
.../current/WritePro/writeprointerface.md | 2 +-
.../aikit/Classes/OpenAIFileParameters.md | 6 +--
.../version-19/API/CollectionClass.md | 2 +-
.../version-20-R10/API/CollectionClass.md | 2 +-
.../Develop/field-properties.md | 2 +-
.../FormObjects/listbox_overview.md | 53 ++++++++++---------
.../commands/vp-set-workbook-options.md | 2 +-
.../version-20-R10/WebServer/qodly-studio.md | 2 +-
.../WebServer/webServerConfig.md | 2 +-
.../WritePro/commands/wp-set-attributes.md | 2 +-
.../version-20/API/CollectionClass.md | 2 +-
.../version-21/API/CollectionClass.md | 2 +-
.../version-21/Develop/field-properties.md | 2 +-
.../FormObjects/listbox_overview.md | 18 +++----
.../version-21/Notes/updates.md | 1 +
.../version-21/ORDA/orda-events.md | 2 +-
.../commands/vp-set-workbook-options.md | 2 +-
.../version-21/WebServer/qodly-studio.md | 2 +-
.../version-21/WebServer/webServerConfig.md | 2 +-
.../WritePro/commands/wp-set-attributes.md | 2 +-
.../version-21/WritePro/writeprointerface.md | 2 +-
.../current/API/CollectionClass.md | 2 +-
.../current/API/DataClassClass.md | 14 ++---
.../current/API/EntitySelectionClass.md | 14 ++---
.../version-19/API/CollectionClass.md | 2 +-
.../version-20-R10/API/CollectionClass.md | 2 +-
.../version-20/API/CollectionClass.md | 2 +-
.../version-21/API/CollectionClass.md | 2 +-
.../version-21/Notes/updates.md | 1 +
.../current/API/CollectionClass.md | 2 +-
.../current/aikit/Classes/OpenAIFilesAPI.md | 16 +++---
.../version-19/API/CollectionClass.md | 2 +-
.../version-20-R10/API/CollectionClass.md | 2 +-
.../version-20/API/CollectionClass.md | 2 +-
.../version-21/API/CollectionClass.md | 2 +-
.../version-21/Notes/updates.md | 1 +
.../current/API/CollectionClass.md | 2 +-
.../version-19/API/CollectionClass.md | 2 +-
.../version-20-R10/API/CollectionClass.md | 2 +-
.../version-20/API/CollectionClass.md | 2 +-
.../version-21/API/CollectionClass.md | 2 +-
.../version-21/Notes/updates.md | 1 +
47 files changed, 102 insertions(+), 97 deletions(-)
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/API/CollectionClass.md b/i18n/es/docusaurus-plugin-content-docs/current/API/CollectionClass.md
index 74b650aae99b35..804f8eff06d2f6 100644
--- a/i18n/es/docusaurus-plugin-content-docs/current/API/CollectionClass.md
+++ b/i18n/es/docusaurus-plugin-content-docs/current/API/CollectionClass.md
@@ -3,7 +3,7 @@ id: CollectionClass
title: Collection
---
-La clase Collection gestiona variables de tipo [Collection](Concepts/dt_collection.md).
+The Collection class manages [Collection](Concepts/dt_collection.md) type expressions.
Una colección es inicializada con los comandos [`New collection`](../commands/new-collection.md) o [`New shared collection`](../commands/new-shared-collection.md).
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/Develop/field-properties.md b/i18n/es/docusaurus-plugin-content-docs/current/Develop/field-properties.md
index f51a7c77821969..beae27552b3b35 100644
--- a/i18n/es/docusaurus-plugin-content-docs/current/Develop/field-properties.md
+++ b/i18n/es/docusaurus-plugin-content-docs/current/Develop/field-properties.md
@@ -3,7 +3,7 @@ id: field-properties
title: Propiedades de los campos
---
-For other field properties, please refer to [doc.4d.com](https://doc.4d.com/4Dv21/4D/21/Field-properties.300-7676763.en.html).
+Para otras propiedades de campos, consulte [doc.4d.com](https://doc.4d.com/4Dv21/4D/21/Field-properties.300-7676763.en.html).
## Class
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/ORDA/orda-events.md b/i18n/es/docusaurus-plugin-content-docs/current/ORDA/orda-events.md
index 2a4453f25cb462..901a2dcd83d0a9 100644
--- a/i18n/es/docusaurus-plugin-content-docs/current/ORDA/orda-events.md
+++ b/i18n/es/docusaurus-plugin-content-docs/current/ORDA/orda-events.md
@@ -453,7 +453,7 @@ Función evento afterSave($event : Object)
Este evento se activa justo después de guardar una entidad en el archivo de datos, cuando se ha modificado al menos un atributo. No se ejecuta si no se ha tocado ningún atributo en la entidad.
-This event is useful after saving data to propagate the save action outside the application or to execute administration tasks. Por ejemplo, se puede utilizar para enviar un correo electrónico de confirmación después de guardar los datos. O, en caso de error al guardar los datos, puede hacer una cancelación para restaurar un estado consistente de los datos.
+Este evento es útil después de guardar datos para propagar la acción de guardar fuera de la aplicación o para ejecutar tareas de administración. Por ejemplo, se puede utilizar para enviar un correo electrónico de confirmación después de guardar los datos. O, en caso de error al guardar los datos, puede hacer una cancelación para restaurar un estado consistente de los datos.
La función recibe un [objeto *event*](#event-parameter) como parámetro.
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/ORDA/privileges.md b/i18n/es/docusaurus-plugin-content-docs/current/ORDA/privileges.md
index 610b4e0d8db290..2a9100a293d13c 100644
--- a/i18n/es/docusaurus-plugin-content-docs/current/ORDA/privileges.md
+++ b/i18n/es/docusaurus-plugin-content-docs/current/ORDA/privileges.md
@@ -262,7 +262,7 @@ The `restrictedByDefault` property configures how every [resource](#resources) a
Depending on your environment, the recommended settings are:
-- **Production**: Set both `restrictedByDefault` and [`forceLogin`](../REST/authUsers.md#force-login-mode) to **true**. Esto garantiza la máxima seguridad al requerir autenticación de usuario y permisos explícitamente definidos para el acceso a recursos.
+- **Producción**: defina tanto `restrictedByDefault` como [`forceLogin`](../REST/authUsers.md#force-login-mode) como **true**. Esto garantiza la máxima seguridad al requerir autenticación de usuario y permisos explícitamente definidos para el acceso a recursos.
- **Desarrollo**: defina `restrictedByDefault` y [`forceLogin`](../REST/authUsers.md#force-login-mode) como **false**. Esto permite un acceso más fácil durante el desarrollo y la depuración, con la posibilidad de aplicar gradualmente restricciones.
### Archivo `Roles_Errors.json`
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/WebServer/qodly-studio.md b/i18n/es/docusaurus-plugin-content-docs/current/WebServer/qodly-studio.md
index b4cdda279ad007..e4961ff4833e86 100644
--- a/i18n/es/docusaurus-plugin-content-docs/current/WebServer/qodly-studio.md
+++ b/i18n/es/docusaurus-plugin-content-docs/current/WebServer/qodly-studio.md
@@ -94,7 +94,7 @@ La página Qodly Studio está disponible cuando el [servidor web WebAdmin está
Hay dos formas de acceder a Qodly Studio:
-- by selecting the **Qodly Studio...** menu command from the **Design** menu (4D single-user) or the **Window** menu (4D Server).
+- seleccionando el comando **Qodly Studio...** del menú **Diseño** (4D monousuario) o del menú **Ventana** (4D Server).
Si el servidor web WebAdmin ya está en funcionamiento, dependiendo de su configuración, su navegador por defecto se abre en `IPaddress:HTTPPort/studio` o `IPaddress:HTTPSPort/studio`. De lo contrario, se le preguntará si desea iniciar primero el servidor web WebAdmin.
- on a browser, with the WebAdmin web server running (launched from 4D or 4D Server), enter the following address:
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/WritePro/writeprointerface.md b/i18n/es/docusaurus-plugin-content-docs/current/WritePro/writeprointerface.md
index a95cc219922320..d0f2771d9fd7e4 100644
--- a/i18n/es/docusaurus-plugin-content-docs/current/WritePro/writeprointerface.md
+++ b/i18n/es/docusaurus-plugin-content-docs/current/WritePro/writeprointerface.md
@@ -10,7 +10,7 @@ Un desarrollador 4D puede implementar fácilmente estas paletas en su aplicació
## Instalación y documentación
-4D Write Pro Interface is a **4D component** that needs to be [installed in your project](../Project/components.md#overview). Los archivos fuente de 4D Write Pro Interface están [disponibles en Github](https://github.com/4d/4D-WritePro-Interface).
+4D Write Pro Interface es un **componente 4D** que necesita ser [instalado en su proyecto](../Project/components.md#overview). Los archivos fuente de 4D Write Pro Interface están [disponibles en Github](https://github.com/4d/4D-WritePro-Interface).
La documentación principal de [la interfaz de 4D Write Pro](https://doc.4d.com/4Dv20/4D/20/Entry-areas.300-6263967.en.html) se encuentra en el manual *Diseño 4D*. Encontrará a continuación:
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIFileParameters.md b/i18n/es/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIFileParameters.md
index 8416856ad31675..1e2ac49eaf2bd0 100644
--- a/i18n/es/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIFileParameters.md
+++ b/i18n/es/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIFileParameters.md
@@ -13,9 +13,9 @@ La clase `OpenAIFileParameters` gestiona los parámetros de las operaciones de c
## Propiedades
-| Nombre de la propiedad | Tipo | Requerido | Descripción |
-| ---------------------- | ------ | --------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
-| `expires_after` | Object | Opcional | The expiration policy for a file. By default, files with `purpose=batch` expire after 30 days and all other files are persisted until they are manually deleted. |
+| Nombre de la propiedad | Tipo | Requerido | Descripción |
+| ---------------------- | ------ | --------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| `expires_after` | Object | Opcional | The expiration policy for a file. Por defecto, los archivos con `purpose=batch` caducan a los 30 días y el resto de archivos se conservan hasta que se borran manualmente. |
### `expires_after` Object Structure
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-19/API/CollectionClass.md b/i18n/es/docusaurus-plugin-content-docs/version-19/API/CollectionClass.md
index 3012ae1811a08e..802d08a3a7c603 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-19/API/CollectionClass.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-19/API/CollectionClass.md
@@ -4,7 +4,7 @@ title: Collection
---
-La clase Collection gestiona variables de tipo [Collection](Concepts/dt_collection.md).
+The Collection class manages [Collection](Concepts/dt_collection.md) type expressions.
Una colección se inicializa con:
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/API/CollectionClass.md b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/API/CollectionClass.md
index 74b650aae99b35..804f8eff06d2f6 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/API/CollectionClass.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/API/CollectionClass.md
@@ -3,7 +3,7 @@ id: CollectionClass
title: Collection
---
-La clase Collection gestiona variables de tipo [Collection](Concepts/dt_collection.md).
+The Collection class manages [Collection](Concepts/dt_collection.md) type expressions.
Una colección es inicializada con los comandos [`New collection`](../commands/new-collection.md) o [`New shared collection`](../commands/new-shared-collection.md).
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/Develop/field-properties.md b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/Develop/field-properties.md
index f51a7c77821969..beae27552b3b35 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/Develop/field-properties.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/Develop/field-properties.md
@@ -3,7 +3,7 @@ id: field-properties
title: Propiedades de los campos
---
-For other field properties, please refer to [doc.4d.com](https://doc.4d.com/4Dv21/4D/21/Field-properties.300-7676763.en.html).
+Para otras propiedades de campos, consulte [doc.4d.com](https://doc.4d.com/4Dv21/4D/21/Field-properties.300-7676763.en.html).
## Class
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/FormObjects/listbox_overview.md b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/FormObjects/listbox_overview.md
index ab7f86953d4573..bab63bed6306cf 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/FormObjects/listbox_overview.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/FormObjects/listbox_overview.md
@@ -98,7 +98,7 @@ En el caso de un list box basado en la selección actual de una tabla, cualquier
En este tipo de list box, cada columna debe estar asociada a una expresión. El contenido de cada línea se evalúa entonces por elemento de la colección o por entidad de la selección de entidades.
-Cada elemento de la colección o cada entidad está disponible como un objeto al que se puede acceder a través de la palabra clave [This](../Concepts/classes.md#this). A column expression can be a property path, a project method, a variable, or any formula, accessing each entity or collection element object through `This`, for example `This.` (o `This.value` en caso de una colección de valores escalares). La expresión también puede ser un método proyecto, una variable o un elemento de array.
+Cada elemento de la colección o cada entidad está disponible como un objeto al que se puede acceder a través de la palabra clave [This](../Concepts/classes.md#this). Una expresión de columna puede ser una ruta de propiedad, un método proyecto, una variable o cualquier fórmula, accediendo a cada entidad u objeto elemento de colección a través de `This`, por ejemplo `This.` (o `This.value` en caso de una colección de valores escalares). La expresión también puede ser un método proyecto, una variable o un elemento de array.
Cuando la fuente de datos es una entity selection, cualquier modificación realizada del lado del list box se guarda automáticamente en la base de datos. Por otro lado, las modificaciones realizadas en la base de datos son visibles en el list box después de que se hayan recargado las entidades modificadas.
@@ -267,9 +267,10 @@ Puede definir propiedades estándar (texto, color de fondo, etc.) para cada colu
### Propiedades específicas de columna {#column-specific-properties}
-[Alpha Format](properties_Display.md#alpha-format) - [Alternate Background Color](properties_BackgroundAndBorder.md#alternate-background-color) - [Automatic Row Height](properties_CoordinatesAndSizing.md#automatic-row-height) - [Background Color](properties_BackgroundAndBorder.md#background-color--fill-color) - [Background Color Expression](properties_BackgroundAndBorder.md#background-color-expression) - [Bold](properties_Text.md#bold) - [Choice List](properties_DataSource.md#choice-list) - [Class](properties_Object.md#css-class) - [Context Menu](properties_Entry.md#context-menu) - [Data Type (selection and collection list box column)](properties_DataSource.md#data-type-list) - [Date Format](properties_Display.md#date-format) - [Default Values](properties_DataSource.md#default-list-of-values) - [Display Type](properties_Display.md#display-type) - [Enterable](properties_Entry.md#enterable) - [Entry Filter](properties_Entry.md#entry-filter) - [Excluded List](properties_RangeOfValues.md#excluded-list) - [Expression](properties_DataSource.md#expression) - [Expression Type (array list box column)](properties_Object.md#expression-type) - [Font](properties_Text.md#font) - [Font Color](properties_Text.md#font-color) - [Horizontal Alignment](properties_Text.md#horizontal-alignment) - [Horizontal Padding](properties_CoordinatesAndSizing.md#horizontal-padding) - [Italic](properties_Text.md#italic) - [Invisible](properties_Display.md#visibility) - [Maximum Width](properties_CoordinatesAndSizing.md#maximum-width) - [Method](properties_Action.md#method) - [Minimum Width](properties_CoordinatesAndSizing.md#minimum-width) - [Multi-style](properties_Text.md#multi-style) - [Number Format](properties_Display.md#number-format) - [Object Name](properties_Object.md#object-name) - [Picture Format](properties_Display.md#picture-format) - [Resizable](properties_ResizingOptions.md#resizable) - [Required List](properties_RangeOfValues.md#required-list) - [Row Background Color Array](properties_BackgroundAndBorder.md#row-background-color-array) - [Row Font Color Array](properties_Text.md#row-font-color-array) - [Row Style Array](properties_Text.md#row-style-array) - [Save as](properties_DataSource.md#save-as) - [Style Expression](properties_Text.md#style-expression) - [Text when False/Text when True](properties_Display.md#text-when-falsetext-when-true) - [Time Format](properties_Display.md#time-format) - [Truncate with ellipsis](properties_Display.md#truncate-with-ellipsis) - [Underline](properties_Text.md#underline) - [Variable or Expression](properties_Object.md#variable-or-expression) - [Vertical Alignment](properties_Text.md#vertical-alignment) - [Vertical Padding](properties_CoordinatesAndSizing.md#vertical-padding) - [Width](properties_CoordinatesAndSizing.md#width) - [Wordwrap](properties_Display.md#wordwrap)
+[Formato Alfa](properties_Display.md#alpha-format) - [Color de fondo alternativo](properties_BackgroundAndBorder.md#alternate-background-color) - [Altura de línea automática](properties_CoordinatesAndSizing.md#automatic-row-height) - [Color de fondo](properties_BackgroundAndBorder.md#background-color--fill-color) - [Expresión de color de fondo](properties_BackgroundAndBorder.md#background-color-expression) - [Negrita](properties_Text.md#bold) - [Lista de selección](properties_DataSource.md#choice-list) - [Clase](properties_Object.md#css-class) - [Menú contexto](properties_Entry.md#context-menu) - [Tipo de datos (selección y columna de list box colección)](properties_DataSource.md#data-type-list) - [Formato Fecha](properties_Display.md#date-format) - [Valores por defecto](properties_DataSource.md#default-list-of-values) - [Tipo de visualización](properties_Display.md#display-type) - [Editable](properties_Entry.md#enterable) - [Filtro de entrada](properties_Entry.md#entry-filter) - [Lista excluída](properties_RangeOfValues.md#excluded-list) - [Expresión](properties_DataSource.md#expression) - [Tipo de expresión (column de list box array)](properties_Object.md#expression-type) - [Fuente](properties_Text.md#font) - [Color de fuente](properties_Text.md#font-color) - [Alineación Horizontal](properties_Text.md#horizontal-alignment) - [Relleno Horizontal](properties_CoordinatesAndSizing.md#horizontal-padding) - [Itálica](properties_Text.md#italic) - [Invisible](properties_Display.md#visibility) - [Ancho máximo](properties_CoordinatesAndSizing.md#maximum-width) - [Método](properties_Action.md#method) - [Ancho mínimo](properties_CoordinatesAndSizing.md#minimum-width) - [Multiestilo](properties_Text.md#multi-style) - [Formato número](properties_Display.md#number-format) - [Nombre de objeto](properties_Object.md#object-name) - [Formato Imagen](properties_Display.md#picture-format) - [Redimensionable](properties_ResizingOptions.md#resizable) - [Lista requerida](properties_RangeOfValues.md#required-list) - [Array de color de fondo de línea](properties_BackgroundAndBorder.md#row-background-color-array) - [Array de color de fuente de línea](properties_Text.md#row-font-color-) - [Array de estilo de línea](properties_Text.md#row-style-array) - [Guardar como](properties_DataSource.md#save-as) - [Expresión de estilo](properties_Text.md#style-expression) - [Texto cuando False/Texto cuando True](properties_Display.md#text-when-falsetext-when-true) - [Formato Hora](properties_Display.md#time-format) - [Truncar con elipsis](properties_Display.md#truncate-with-ellipsis) - [Subrayar](properties_Text.md#underline) - [Variable o Expresión](properties_Object.md#variable-or-expression) - Alineación
+Vertical - [Relleno vertical](properties_CoordinatesAndSizing.md#vertical-padding) - [Ancho](properties_CoordinatesAndSizing.md#width) - [Ajuste de palabras](properties_Display.md#wordwrap)
-### Eventos de formulario soportados {#supported-form-events-1}
+### Eventos formulario soportados {#supported-form-events-1}
| Evento formulario | Propiedades adicionales devueltas (ver [Evento formulario](../commands/form-event.md) para las propiedades principales) | Comentarios |
| -------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
@@ -521,14 +522,14 @@ Puede activar o desactivar la ordenación usuario estándar desactivando la prop
El soporte de ordenación estándar depende del tipo de list box:
-| Tipo de list box | Soporte de ordenación estándar | Comentarios |
-| ------------------------------ | ------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
-| Colección de objetos | Sí | - Las columnas "This.a" o "This.a.b" son ordenables.
- The [list box source property](properties_Object.md#variable-or-expression) must be an [assignable expression](../Concepts/quick-tour.md#assignable-vs-non-assignable-expressions).
|
-| Colección de valores escalares | No | Utilice la ordenación personalizada con la función [`orderBy()`](../API/CollectionClass.md#orderby) |
-| Entity selection | Sí | The [list box source property](properties_Object.md#variable-or-expression) must be an [assignable expression](../Concepts/quick-tour.md#assignable-vs-non-assignable-expressions).Supported: sorts on object attribute properties (e.g. "This.data.city" when "data" is an object attribute)Supported: sorts on related attributes (e.g. "This.company.name")Not supported: sorts on object attribute properties through related attributes (e.g. "This.company.data.city"). Para ello, debe utilizar la ordenación personalizada con la función [`orderByFormula()`](../API/EntitySelectionClass.md#orderbyformula) (ver el siguiente ejemplo) |
-| Selección actual | Sí | Sólo se pueden ordenar las expresiones simples (por ejemplo, `[Table_1]Campo_2`) |
-| Selección temporal | No | |
-| Arrays | Sí | Las columnas vinculadas a arrays de imágenes y punteros no se pueden ordenar |
+| Tipo de list box | Soporte de ordenación estándar | Comentarios |
+| ------------------------------ | ------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
+| Colección de objetos | Sí | - Las columnas "This.a" o "This.a.b" son ordenables.
- La [propiedad source del list box](properties_Object.md#variable-or-expression) debe ser una [expresión asignable](../Concepts/quick-tour.md#assignable-vs-non-assignable-expressions).
|
+| Colección de valores escalares | No | Utilice la ordenación personalizada con la función [`orderBy()`](../API/CollectionClass.md#orderby) |
+| Entity selection | Sí | La [propiedad source del list box](properties_Object.md#variable-or-expression) debe ser una [expresión asignable](../Concepts/quick-tour.md#assignable-vs-non-assignable-expressions).Soportado: ordena en las propiedades de atributos de objetos (por ejemplo, "This.data.city" cuando "data" es un atributo de objeto)Soportado: ordena en atributos relacionados (por ejemplo, "This.company.name")No soportado: ordena por propiedades de atributos de objeto a través de atributos relacionados (por ejemplo, "This.company.data.city"). Para ello, debe utilizar la ordenación personalizada con la función [`orderByFormula()`](../API/EntitySelectionClass.md#orderbyformula) (ver el siguiente ejemplo) |
+| Selección actual | Sí | Sólo se pueden ordenar las expresiones simples (por ejemplo, `[Table_1]Campo_2`) |
+| Selección temporal | No | |
+| Arrays | Sí | Las columnas vinculadas a arrays de imágenes y punteros no se pueden ordenar |
### Ordenación personalizada
@@ -650,14 +651,14 @@ La impresión de un list box en modo vista previa consiste en imprimir directame
### Modo avanzado
-En este modo, la impresión de los list box se realiza por programación, a través del comando `Print object` (se soportan los formularios proyecto y los formularios tabla). The [`LISTBOX GET PRINT INFORMATION`](../commands/listbox-get-print-information) command is used to control the printing of the object.
+En este modo, la impresión de los list box se realiza por programación, a través del comando `Print object` (se soportan los formularios proyecto y los formularios tabla). El comando [`LISTBOX GET PRINT INFORMATION`](../commands/listbox-get-print-information) se utiliza para controlar la impresión del objeto.
En este modo:
-- La altura del objeto list box se reduce automáticamente cuando el número de líneas a imprimir es inferior a la altura original del objeto (no se imprimen líneas "vacías"). Por el contrario, la altura no aumenta automáticamente en función del contenido del objeto. The size of the object actually printed can be obtained via the [`LISTBOX GET PRINT INFORMATION`](../commands/listbox-get-print-information) command.
+- La altura del objeto list box se reduce automáticamente cuando el número de líneas a imprimir es inferior a la altura original del objeto (no se imprimen líneas "vacías"). Por el contrario, la altura no aumenta automáticamente en función del contenido del objeto. El tamaño del objeto realmente impreso puede obtenerse mediante el comando [`LISTBOX GET PRINT INFORMATION`](../commands/listbox-get-print-information).
- El objeto list box se imprime "tal cual", es decir, teniendo en cuenta sus parámetros de visualización actuales: visibilidad de los encabezados y de las rejillas, líneas ocultas y mostradas, etc.
- These parameters also include the first row to be printed: if you call the [`OBJECT SET SCROLL POSITION`](../commands/object-set-scroll-position) command before launching the printing, the first row printed in the list box will be the one designated by the command.
-- Un mecanismo automático facilita la impresión de los list box que contienen más líneas de las que es posible mostrar: se pueden realizar llamadas sucesivas a `Print object` para imprimir cada vez un nuevo conjunto de líneas. The [`LISTBOX GET PRINT INFORMATION`](../commands/listbox-get-print-information) command can be used to check the status of the printing while it is underway.
+ Estos parámetros también incluyen la primera línea a imprimir: si llama al comando [`OBJECT SET SCROLL POSITION`](../commands/object-set-scroll-position) antes de lanzar la impresión, la primera línea impresa en el list box será la designada por el comando.
+- Un mecanismo automático facilita la impresión de los list box que contienen más líneas de las que es posible mostrar: se pueden realizar llamadas sucesivas a `Print object` para imprimir cada vez un nuevo conjunto de líneas. El comando [`LISTBOX GET PRINT INFORMATION`](../commands/listbox-get-print-information) se puede utilizar para comprobar el estado de la impresión mientras se está realizando.
## List box jerárquicos
@@ -673,7 +674,7 @@ Para definir un list box jerárquico, existen varias posibilidades:
- Configurar manualmente los elementos jerárquicos utilizando la lista de propiedades del editor de formularios (o editar el formulario JSON).
- Generar visualmente la jerarquía utilizando el menú emergente de gestión de list box, en el editor de formularios.
-- Use the [`LISTBOX SET HIERARCHY`](../commands-legacy/listbox-set-hierarchy.md) and [`LISTBOX GET HIERARCHY`](../commands-legacy/listbox-get-hierarchy.md) commands.
+- Utilice los comandos [`LISTBOX SET HIERARCHY`](../commands-legacy/listbox-set-hierarchy.md) y [`LISTBOX GET HIERARCHY`](../commands-legacy/listbox-get-hierarchy.md).
#### Propiedades del List Box jerárquico
@@ -796,7 +797,7 @@ Representación jerárquica:
> Si una o más líneas están ocultas porque sus padres están contraídos, ya no se seleccionan. Sólo se pueden seleccionar las líneas visibles (directamente o por desplazamiento). En otras palabras, las líneas no pueden estar ocultas y seleccionadas a la vez.
-As with selections, the [`LISTBOX GET CELL POSITION`](../commands/listbox-get-cell-position) command will return the same values for a hierarchical list box and a non-hierarchical list box. This means that in both of the examples below, [`LISTBOX GET CELL POSITION`](../commands/listbox-get-cell-position) will return the same position: (3;2).
+Al igual que con las selecciones, el comando [`LISTBOX GET CELL POSITION`](../commands/listbox-get-cell-position) devolverá los mismos valores para un list box jerárquico que para un list box no jerárquico. Esto significa que en los dos ejemplos siguientes, [`LISTBOX GET CELL POSITION`](../commands/listbox-get-cell-position) devolverá la misma posición: (3;2).
*Representación no jerárquica:*

@@ -808,11 +809,11 @@ Cuando se ocultan todas las líneas de una subjerarquía, la línea de ruptura s
#### Líneas de quiebre
-If the user selects a break row, [`LISTBOX GET CELL POSITION`](../commands/listbox-get-cell-position) returns the first occurrence of the row in the corresponding array. En el caso siguiente:
+Si el usuario selecciona una línea de interrupción, [`LISTBOX GET CELL POSITION`](../commands/listbox-get-cell-position) devuelve la primera aparición de la línea en el array correspondiente. En el caso siguiente:

-... [`LISTBOX GET CELL POSITION`](../commands/listbox-get-cell-position) devuelve (2;4). To select a break row by programming, you will need to use the [`LISTBOX SELECT BREAK`](../commands/listbox-select-break) command.
+... [`LISTBOX GET CELL POSITION`](../commands/listbox-get-cell-position) devuelve (2;4). Para seleccionar una línea de ruptura por programación, deberá utilizar el comando [`LISTBOX SELECT BREAK`](../commands/listbox-select-break).
Las líneas de rotura no se tienen en cuenta en los arrays internos utilizados para gestionar el aspecto gráfico de los list box (estilos y colores). No obstante, es posible modificar estas características para las líneas de ruptura mediante los comandos de gestión gráfica de los objetos. Basta con ejecutar los comandos adecuados en los arrays que constituyen la jerarquía.
@@ -841,19 +842,19 @@ Resultado:
Puede optimizar la visualización y gestión de los list box jerárquicos utilizando los eventos formulario `On Expand` y `On Collapse`.
-Un list box jerárquico se construye a partir del contenido de sus arrays, por lo que sólo puede mostrarse cuando todos estos arrays están cargados en memoria. This makes it difficult to build large hierarchical list boxes based on arrays generated from data (through the [`SELECTION TO ARRAY`](../commands/selection-to-array) command), not only because of the display speed but also the memory used.
+Un list box jerárquico se construye a partir del contenido de sus arrays, por lo que sólo puede mostrarse cuando todos estos arrays están cargados en memoria. Esto dificulta la generación de list box jerárquicos de gran tamaño basados en arrays generados a partir de datos (a través del comando [`SELECTION TO ARRAY`](../commands/selection-to-array)), no solo por la velocidad de visualización sino también por la memoria utilizada.
-El uso de los eventos de formulario `On Expand` y `On Collapse` puede superar estas limitaciones: por ejemplo, puede mostrar sólo una parte de la jerarquía y cargar/descargar los arrays sobre la marcha, basándose en las acciones del usuario. In the context of these events, the [`LISTBOX GET CELL POSITION`](../commands/listbox-get-cell-position) command returns the cell where the user clicked in order to expand or collapse a row.
+El uso de los eventos de formulario `On Expand` y `On Collapse` puede superar estas limitaciones: por ejemplo, puede mostrar sólo una parte de la jerarquía y cargar/descargar los arrays sobre la marcha, basándose en las acciones del usuario. En el contexto de estos eventos, el comando [`LISTBOX GET CELL POSITION`](../commands/listbox-get-cell-position) devuelve la celda en la que el usuario hizo clic para expandir o contraer una línea.
En este caso, debe llenar y vaciar los arrays por código. Los principios que deben aplicarse son:
- Cuando se muestra el list box, sólo se debe llenar el primer array. Sin embargo, debe crear un segundo array con valores vacíos para que el list box muestre los botones desplegar/contraer:

-- Cuando un usuario hace clic en un botón de expandir, puede procesar el evento `On Expand`. The [`LISTBOX GET CELL POSITION`](../commands/listbox-get-cell-position) command returns the cell concerned and lets you build the appropriate hierarchy: you fill the first array with the repeated values and the second with the values sent from the [`SELECTION TO ARRAY`](../commands/selection-to-array) command and you insert as many rows as needed in the list box using the [`LISTBOX INSERT ROWS`](../commands/listbox-insert-rows) command.
+- Cuando un usuario hace clic en un botón de expandir, puede procesar el evento `On Expand`. El comando [`LISTBOX GET CELL POSITION`](../commands/listbox-get-cell-position) devuelve la celda en cuestión y permite construir la jerarquía adecuada: se llena el primer array con los valores repetidos y el segundo con los valores enviados desde el comando [`SELECTION TO ARRAY`](../commands/selection-to-array) y se insertan tantas líneas como sean necesarias en el list box mediante el comando [`LISTBOX INSERT ROWS`](../commands/listbox-insert-rows).

-- Cuando un usuario hace clic en un botón de contracción, puede procesar el evento `On Collapse`. The [`LISTBOX GET CELL POSITION`](../commands/listbox-get-cell-position) command returns the cell concerned: you remove as many rows as needed from the list box using the [`LISTBOX DELETE ROWS`](../commands/listbox-delete-rows) command.
+- Cuando un usuario hace clic en un botón de contracción, puede procesar el evento `On Collapse`. El comando [`LISTBOX GET CELL POSITION`](../commands/listbox-get-cell-position) devuelve la celda en cuestión: se eliminan tantas líneas como sean necesarias del list box mediante el comando [`LISTBOX DELETE ROWS`](../commands/listbox-delete-rows).
## Arrays de objetos en columnas
@@ -1001,9 +1002,9 @@ Estos atributos pueden utilizarse para controlar el rango de valores de entrada.
El atributo behavior ofrece variaciones a la representación estándar de los valores. En 4D v15, se ofrece una única variación:
-| Atributo | Valor(es) disponible(s) | valueType(s) | Descripción |
-| -------- | ------------------------------------------------------------- | ------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
-| behavior | threeStates | integer | Representa un valor numérico como una casilla de verificación de tres estados.
2=semi-checked, 1=checked, 0=unchecked, -1=invisible, -2=unchecked disabled, -3=checked disabled, -4=semi-checked disabled |
+| Atributo | Valor(es) disponible(s) | valueType(s) | Descripción |
+| -------- | ------------------------------------------------------------- | ------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
+| behavior | threeStates | integer | Representa un valor numérico como una casilla de verificación de tres estados.
2=semi seleccionada, 1=seleccionada, 0=no seleccionada, -1=invisible, -2= deseleccionada desactivada, -3= seleccionada desactivada, -4=semi seleccionada desactivada |
```4d
C_OBJECT($ob3)
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/ViewPro/commands/vp-set-workbook-options.md b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/ViewPro/commands/vp-set-workbook-options.md
index 8c82c06835134d..ecda94659901ce 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/ViewPro/commands/vp-set-workbook-options.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/ViewPro/commands/vp-set-workbook-options.md
@@ -84,7 +84,7 @@ En la siguiente tabla se listan las opciones de libros de trabajo disponibles:
| showVerticalScrollbar | boolean | Mostrar la barra de desplazamiento vertical. |
| tabEditable | boolean | La pestaña de la hoja se puede editar. |
| tabNavigationVisible | boolean | Mostrar la navegación por pestañas. |
-| tabStripPosition | number | Posición de la barra de pestañas. Available values: | Constant | Value | Description |
|---|
| vk tab strip position bottom | 0 | Tab strip position is relative to the bottom of the workbook. |
| vk tab strip position left | 2 | La posición de la barra de tabulación es relativa a la parte izquierda del libro de trabajo. |
| vk tab strip position right | 3 | Tab strip position is relative to the right of the workbook. |
| vk tab strip position top | 1 | La posición de la barra de tabulación es relativa a la parte superior del libro de trabajo. |
|
+| tabStripPosition | number | Posición de la barra de pestañas. Available values: | Constant | Value | Description |
|---|
| vk tab strip position bottom | 0 | Tab strip position is relative to the bottom of the workbook. |
| vk tab strip position left | 2 | La posición de la barra de tabulación es relativa a la parte izquierda del libro de trabajo. |
| vk tab strip position right | 3 | La posición de la barra de tabulación es relativa a la parte derecha del libro de trabajo. |
| vk tab strip position top | 1 | La posición de la barra de tabulación es relativa a la parte superior del libro de trabajo. |
|
| tabStripRatio | number | Valor porcentual (0,x) que especifica qué parte del espacio horizontal se asignará al tabulador. El resto del área horizontal (1 - 0.x) se asignará a la barra de desplazamiento horizontal. |
| tabStripVisible | boolean | Mostrar la barra de pestañas de la hoja. |
| tabStripWidth | number | Ancho de la etiqueta cuando la posición es izquierda o derecha. Por defecto y el mínimo es 80. |
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/WebServer/qodly-studio.md b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/WebServer/qodly-studio.md
index 1afca4411910ff..f6e3baea8fec88 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/WebServer/qodly-studio.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/WebServer/qodly-studio.md
@@ -94,7 +94,7 @@ La página Qodly Studio está disponible cuando el [servidor web WebAdmin está
Hay dos formas de acceder a Qodly Studio:
-- by selecting the **Qodly Studio...** menu command from the **Design** menu (4D single-user) or the **Window** menu (4D Server).
+- seleccionando el comando **Qodly Studio...** del menú **Diseño** (4D monousuario) o del menú **Ventana** (4D Server).
Si el servidor web WebAdmin ya está en funcionamiento, dependiendo de su configuración, su navegador por defecto se abre en `IPaddress:HTTPPort/studio` o `IPaddress:HTTPSPort/studio`. De lo contrario, se le preguntará si desea iniciar primero el servidor web WebAdmin.
- on a browser, with the WebAdmin web server running (launched from 4D or 4D Server), enter the following address:
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/WebServer/webServerConfig.md b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/WebServer/webServerConfig.md
index 53a74bd7541a51..0ac1944d35da85 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/WebServer/webServerConfig.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/WebServer/webServerConfig.md
@@ -624,7 +624,7 @@ En algunos casos, se pueden invocar otras funciones internas optimizadas. Las co
Dos opciones le permiten definir cómo funcionan las conexiones persistentes:
- **Número de peticiones por conexión**: permite definir el número máximo de peticiones y de respuestas capaces de viajar por una conexión persistente. Limiting the number of requests per connection allows you to prevent server flooding due to a large number of incoming requests (a technique used by hackers).
- The default value (100) can be increased or decreased depending on the resources of the machine hosting the 4D Web Server.
+ El valor por defecto (100) puede ser aumentado o disminuido en función de los recursos de la máquina que aloja el servidor 4D web.
- **Tiempo de espera antes de desconexión**: este valor define el periodo máximo de espera (en segundos) durante el cual el servidor web mantiene una conexión TCP abierta sin recibir ninguna petición del navegador web. Una vez finalizado este periodo, el servidor cierra la conexión.
Si el navegador web envía una solicitud después de cerrar la conexión, se crea automáticamente una nueva conexión TCP. Esta operación no es visible para el usuario.
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/WritePro/commands/wp-set-attributes.md b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/WritePro/commands/wp-set-attributes.md
index 997c3cd500b662..f8956a27455b98 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/WritePro/commands/wp-set-attributes.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/WritePro/commands/wp-set-attributes.md
@@ -19,7 +19,7 @@ displayed_sidebar: docs
## Descripción
-El comando **WP SET ATTRIBUTES** le permite definir el valor de cualquier atributo en un rango, elemento, documento. This command gives you access to any kind of 4D Write Pro internal attribute: character, paragraph, document, table, or image.
+El comando **WP SET ATTRIBUTES** le permite definir el valor de cualquier atributo en un rango, elemento, documento. Este comando le da acceso a cualquier tipo de atributo interno de 4D Write Pro: caracter, párrafo, documento, tabla o imagen.
En *targetObj*, puede pasar:
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-20/API/CollectionClass.md b/i18n/es/docusaurus-plugin-content-docs/version-20/API/CollectionClass.md
index 804a6618e11f27..f522a2f50248aa 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-20/API/CollectionClass.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-20/API/CollectionClass.md
@@ -4,7 +4,7 @@ title: Collection
---
-La clase Collection gestiona variables de tipo [Collection](Concepts/dt_collection.md).
+The Collection class manages [Collection](Concepts/dt_collection.md) type expressions.
Una colección se inicializa con:
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-21/API/CollectionClass.md b/i18n/es/docusaurus-plugin-content-docs/version-21/API/CollectionClass.md
index 74b650aae99b35..804f8eff06d2f6 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-21/API/CollectionClass.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-21/API/CollectionClass.md
@@ -3,7 +3,7 @@ id: CollectionClass
title: Collection
---
-La clase Collection gestiona variables de tipo [Collection](Concepts/dt_collection.md).
+The Collection class manages [Collection](Concepts/dt_collection.md) type expressions.
Una colección es inicializada con los comandos [`New collection`](../commands/new-collection.md) o [`New shared collection`](../commands/new-shared-collection.md).
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-21/Develop/field-properties.md b/i18n/es/docusaurus-plugin-content-docs/version-21/Develop/field-properties.md
index f51a7c77821969..beae27552b3b35 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-21/Develop/field-properties.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-21/Develop/field-properties.md
@@ -3,7 +3,7 @@ id: field-properties
title: Propiedades de los campos
---
-For other field properties, please refer to [doc.4d.com](https://doc.4d.com/4Dv21/4D/21/Field-properties.300-7676763.en.html).
+Para otras propiedades de campos, consulte [doc.4d.com](https://doc.4d.com/4Dv21/4D/21/Field-properties.300-7676763.en.html).
## Class
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-21/FormObjects/listbox_overview.md b/i18n/es/docusaurus-plugin-content-docs/version-21/FormObjects/listbox_overview.md
index b83e90d6c6bd46..2e39bbd03477a7 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-21/FormObjects/listbox_overview.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-21/FormObjects/listbox_overview.md
@@ -98,7 +98,7 @@ En el caso de un list box basado en la selección actual de una tabla, cualquier
En este tipo de list box, cada columna debe estar asociada a una expresión. El contenido de cada línea se evalúa entonces por elemento de la colección o por entidad de la selección de entidades.
-Cada elemento de la colección o cada entidad está disponible como un objeto al que se puede acceder a través de la palabra clave [This](../Concepts/classes.md#this). A column expression can be a property path, a project method, a variable, or any formula, accessing each entity or collection element object through `This`, for example `This.` (o `This.value` en caso de una colección de valores escalares). La expresión también puede ser un método proyecto, una variable o un elemento de array.
+Cada elemento de la colección o cada entidad está disponible como un objeto al que se puede acceder a través de la palabra clave [This](../Concepts/classes.md#this). Una expresión de columna puede ser una ruta de propiedad, un método proyecto, una variable o cualquier fórmula, accediendo a cada entidad u objeto elemento de colección a través de `This`, por ejemplo `This.` (o `This.value` en caso de una colección de valores escalares). La expresión también puede ser un método proyecto, una variable o un elemento de array.
Cuando la fuente de datos es una entity selection, cualquier modificación realizada del lado del list box se guarda automáticamente en la base de datos. Por otro lado, las modificaciones realizadas en la base de datos son visibles en el list box después de que se hayan recargado las entidades modificadas.
@@ -521,14 +521,14 @@ Puede activar o desactivar la ordenación usuario estándar desactivando la prop
El soporte de ordenación estándar depende del tipo de list box:
-| Tipo de list box | Soporte de ordenación estándar | Comentarios |
-| ------------------------------ | ------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
-| Colección de objetos | Sí | - Las columnas "This.a" o "This.a.b" son ordenables.
- The [list box source property](properties_Object.md#variable-or-expression) must be an [assignable expression](../Concepts/quick-tour.md#assignable-vs-non-assignable-expressions).
|
-| Colección de valores escalares | No | Utilice la ordenación personalizada con la función [`orderBy()`](../API/CollectionClass.md#orderby) |
-| Entity selection | Sí | The [list box source property](properties_Object.md#variable-or-expression) must be an [assignable expression](../Concepts/quick-tour.md#assignable-vs-non-assignable-expressions).Supported: sorts on object attribute properties (e.g. "This.data.city" when "data" is an object attribute)Supported: sorts on related attributes (e.g. "This.company.name")Not supported: sorts on object attribute properties through related attributes (e.g. "This.company.data.city"). Para ello, debe utilizar la ordenación personalizada con la función [`orderByFormula()`](../API/EntitySelectionClass.md#orderbyformula) (ver el siguiente ejemplo) |
-| Selección actual | Sí | Sólo se pueden ordenar las expresiones simples (por ejemplo, `[Table_1]Campo_2`) |
-| Selección temporal | No | |
-| Arrays | Sí | Las columnas vinculadas a arrays de imágenes y punteros no se pueden ordenar |
+| Tipo de list box | Soporte de ordenación estándar | Comentarios |
+| ------------------------------ | ------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
+| Colección de objetos | Sí | - Las columnas "This.a" o "This.a.b" son ordenables.
- La [propiedad source del list box](properties_Object.md#variable-or-expression) debe ser una [expresión asignable](../Concepts/quick-tour.md#assignable-vs-non-assignable-expressions).
|
+| Colección de valores escalares | No | Utilice la ordenación personalizada con la función [`orderBy()`](../API/CollectionClass.md#orderby) |
+| Entity selection | Sí | La [propiedad source del list box](properties_Object.md#variable-or-expression) debe ser una [expresión asignable](../Concepts/quick-tour.md#assignable-vs-non-assignable-expressions).Soportado: ordena en las propiedades de atributos de objetos (por ejemplo, "This.data.city" cuando "data" es un atributo de objeto)Soportado: ordena en atributos relacionados (por ejemplo, "This.company.name")No soportado: ordena por propiedades de atributos de objeto a través de atributos relacionados (por ejemplo, "This.company.data.city"). Para ello, debe utilizar la ordenación personalizada con la función [`orderByFormula()`](../API/EntitySelectionClass.md#orderbyformula) (ver el siguiente ejemplo) |
+| Selección actual | Sí | Sólo se pueden ordenar las expresiones simples (por ejemplo, `[Table_1]Campo_2`) |
+| Selección temporal | No | |
+| Arrays | Sí | Las columnas vinculadas a arrays de imágenes y punteros no se pueden ordenar |
### Ordenación personalizada
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-21/Notes/updates.md b/i18n/es/docusaurus-plugin-content-docs/version-21/Notes/updates.md
index e351f89aa250f5..3327e911a240f8 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-21/Notes/updates.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-21/Notes/updates.md
@@ -28,6 +28,7 @@ Lea [**Novedades en 4D 21**](https://blog.4d.com/en-whats-new-in-4d-21/), la ent
- Nuevos comandos "trim" para eliminar los espacios iniciales y finales de una cadena: [`Trim`](../commands/trim.md), [`Trim start`](../commands/trim-start.md) y [`Trim end`](../commands/trim-end.md).
- Los comandos [`Num`](../commands/num.md) y [`String`](../commands/string.md) han sido actualizados para soportar conversiones en diferentes bases (radix).
- [**Lista de bugs corregidos**](https://bugs.4d.fr/fixedbugslist?version=21): lista de todos los bugs que se han corregido en 4D 21.
+- [Notas de la versión de Qodly Pro 4D\*\*](https://developer.4d.com/qodly/4DQodlyPro/release-notes): novedades de Qodly Studio.
#### Vista previa para desarrolladores
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-21/ORDA/orda-events.md b/i18n/es/docusaurus-plugin-content-docs/version-21/ORDA/orda-events.md
index 87f74230e7ce29..e6a16ca3205296 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-21/ORDA/orda-events.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-21/ORDA/orda-events.md
@@ -453,7 +453,7 @@ Función evento afterSave($event : Object)
Este evento se activa justo después de guardar una entidad en el archivo de datos, cuando se ha modificado al menos un atributo. No se ejecuta si no se ha tocado ningún atributo en la entidad.
-This event is useful after saving data to propagate the save action outside the application or to execute administration tasks. Por ejemplo, se puede utilizar para enviar un correo electrónico de confirmación después de guardar los datos. O, en caso de error al guardar los datos, puede hacer una cancelación para restaurar un estado consistente de los datos.
+Este evento es útil después de guardar datos para propagar la acción de guardar fuera de la aplicación o para ejecutar tareas de administración. Por ejemplo, se puede utilizar para enviar un correo electrónico de confirmación después de guardar los datos. O, en caso de error al guardar los datos, puede hacer una cancelación para restaurar un estado consistente de los datos.
La función recibe un [objeto *event*](#event-parameter) como parámetro.
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-21/ViewPro/commands/vp-set-workbook-options.md b/i18n/es/docusaurus-plugin-content-docs/version-21/ViewPro/commands/vp-set-workbook-options.md
index 8c82c06835134d..ecda94659901ce 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-21/ViewPro/commands/vp-set-workbook-options.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-21/ViewPro/commands/vp-set-workbook-options.md
@@ -84,7 +84,7 @@ En la siguiente tabla se listan las opciones de libros de trabajo disponibles:
| showVerticalScrollbar | boolean | Mostrar la barra de desplazamiento vertical. |
| tabEditable | boolean | La pestaña de la hoja se puede editar. |
| tabNavigationVisible | boolean | Mostrar la navegación por pestañas. |
-| tabStripPosition | number | Posición de la barra de pestañas. Available values: | Constant | Value | Description |
|---|
| vk tab strip position bottom | 0 | Tab strip position is relative to the bottom of the workbook. |
| vk tab strip position left | 2 | La posición de la barra de tabulación es relativa a la parte izquierda del libro de trabajo. |
| vk tab strip position right | 3 | Tab strip position is relative to the right of the workbook. |
| vk tab strip position top | 1 | La posición de la barra de tabulación es relativa a la parte superior del libro de trabajo. |
|
+| tabStripPosition | number | Posición de la barra de pestañas. Available values: | Constant | Value | Description |
|---|
| vk tab strip position bottom | 0 | Tab strip position is relative to the bottom of the workbook. |
| vk tab strip position left | 2 | La posición de la barra de tabulación es relativa a la parte izquierda del libro de trabajo. |
| vk tab strip position right | 3 | La posición de la barra de tabulación es relativa a la parte derecha del libro de trabajo. |
| vk tab strip position top | 1 | La posición de la barra de tabulación es relativa a la parte superior del libro de trabajo. |
|
| tabStripRatio | number | Valor porcentual (0,x) que especifica qué parte del espacio horizontal se asignará al tabulador. El resto del área horizontal (1 - 0.x) se asignará a la barra de desplazamiento horizontal. |
| tabStripVisible | boolean | Mostrar la barra de pestañas de la hoja. |
| tabStripWidth | number | Ancho de la etiqueta cuando la posición es izquierda o derecha. Por defecto y el mínimo es 80. |
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-21/WebServer/qodly-studio.md b/i18n/es/docusaurus-plugin-content-docs/version-21/WebServer/qodly-studio.md
index 1afca4411910ff..f6e3baea8fec88 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-21/WebServer/qodly-studio.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-21/WebServer/qodly-studio.md
@@ -94,7 +94,7 @@ La página Qodly Studio está disponible cuando el [servidor web WebAdmin está
Hay dos formas de acceder a Qodly Studio:
-- by selecting the **Qodly Studio...** menu command from the **Design** menu (4D single-user) or the **Window** menu (4D Server).
+- seleccionando el comando **Qodly Studio...** del menú **Diseño** (4D monousuario) o del menú **Ventana** (4D Server).
Si el servidor web WebAdmin ya está en funcionamiento, dependiendo de su configuración, su navegador por defecto se abre en `IPaddress:HTTPPort/studio` o `IPaddress:HTTPSPort/studio`. De lo contrario, se le preguntará si desea iniciar primero el servidor web WebAdmin.
- on a browser, with the WebAdmin web server running (launched from 4D or 4D Server), enter the following address:
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-21/WebServer/webServerConfig.md b/i18n/es/docusaurus-plugin-content-docs/version-21/WebServer/webServerConfig.md
index e7cc4033c728fd..6c515cad28b161 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-21/WebServer/webServerConfig.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-21/WebServer/webServerConfig.md
@@ -624,7 +624,7 @@ En algunos casos, se pueden invocar otras funciones internas optimizadas. Las co
Dos opciones le permiten definir cómo funcionan las conexiones persistentes:
- **Número de peticiones por conexión**: permite definir el número máximo de peticiones y de respuestas capaces de viajar por una conexión persistente. Limiting the number of requests per connection allows you to prevent server flooding due to a large number of incoming requests (a technique used by hackers).
- The default value (100) can be increased or decreased depending on the resources of the machine hosting the 4D Web Server.
+ El valor por defecto (100) puede ser aumentado o disminuido en función de los recursos de la máquina que aloja el servidor 4D web.
- **Tiempo de espera antes de desconexión**: este valor define el periodo máximo de espera (en segundos) durante el cual el servidor web mantiene una conexión TCP abierta sin recibir ninguna petición del navegador web. Una vez finalizado este periodo, el servidor cierra la conexión.
Si el navegador web envía una solicitud después de cerrar la conexión, se crea automáticamente una nueva conexión TCP. Esta operación no es visible para el usuario.
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-21/WritePro/commands/wp-set-attributes.md b/i18n/es/docusaurus-plugin-content-docs/version-21/WritePro/commands/wp-set-attributes.md
index 997c3cd500b662..f8956a27455b98 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-21/WritePro/commands/wp-set-attributes.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-21/WritePro/commands/wp-set-attributes.md
@@ -19,7 +19,7 @@ displayed_sidebar: docs
## Descripción
-El comando **WP SET ATTRIBUTES** le permite definir el valor de cualquier atributo en un rango, elemento, documento. This command gives you access to any kind of 4D Write Pro internal attribute: character, paragraph, document, table, or image.
+El comando **WP SET ATTRIBUTES** le permite definir el valor de cualquier atributo en un rango, elemento, documento. Este comando le da acceso a cualquier tipo de atributo interno de 4D Write Pro: caracter, párrafo, documento, tabla o imagen.
En *targetObj*, puede pasar:
diff --git a/i18n/es/docusaurus-plugin-content-docs/version-21/WritePro/writeprointerface.md b/i18n/es/docusaurus-plugin-content-docs/version-21/WritePro/writeprointerface.md
index a95cc219922320..d0f2771d9fd7e4 100644
--- a/i18n/es/docusaurus-plugin-content-docs/version-21/WritePro/writeprointerface.md
+++ b/i18n/es/docusaurus-plugin-content-docs/version-21/WritePro/writeprointerface.md
@@ -10,7 +10,7 @@ Un desarrollador 4D puede implementar fácilmente estas paletas en su aplicació
## Instalación y documentación
-4D Write Pro Interface is a **4D component** that needs to be [installed in your project](../Project/components.md#overview). Los archivos fuente de 4D Write Pro Interface están [disponibles en Github](https://github.com/4d/4D-WritePro-Interface).
+4D Write Pro Interface es un **componente 4D** que necesita ser [instalado en su proyecto](../Project/components.md#overview). Los archivos fuente de 4D Write Pro Interface están [disponibles en Github](https://github.com/4d/4D-WritePro-Interface).
La documentación principal de [la interfaz de 4D Write Pro](https://doc.4d.com/4Dv20/4D/20/Entry-areas.300-6263967.en.html) se encuentra en el manual *Diseño 4D*. Encontrará a continuación:
diff --git a/i18n/fr/docusaurus-plugin-content-docs/current/API/CollectionClass.md b/i18n/fr/docusaurus-plugin-content-docs/current/API/CollectionClass.md
index 996a8855114733..fe00828500b736 100644
--- a/i18n/fr/docusaurus-plugin-content-docs/current/API/CollectionClass.md
+++ b/i18n/fr/docusaurus-plugin-content-docs/current/API/CollectionClass.md
@@ -3,7 +3,7 @@ id: CollectionClass
title: Collection
---
-La classe Collection gère les variables de type [Collection](Concepts/dt_collection.md).
+The Collection class manages [Collection](Concepts/dt_collection.md) type expressions.
Une collection est initialisée avec les commandes [`New collection`](../commands/new-collection.md) ou [`New shared collection`](../commands/new-shared-collection.md).
diff --git a/i18n/fr/docusaurus-plugin-content-docs/current/API/DataClassClass.md b/i18n/fr/docusaurus-plugin-content-docs/current/API/DataClassClass.md
index a25daf3d4cb3a8..61f05df1675a24 100644
--- a/i18n/fr/docusaurus-plugin-content-docs/current/API/DataClassClass.md
+++ b/i18n/fr/docusaurus-plugin-content-docs/current/API/DataClassClass.md
@@ -939,7 +939,7 @@ Les formules contenues dans les requêtes peuvent recevoir des paramètres via $
- Constantes de type **date** : "YYYY-MM-DD" format
- Constantes **null** : en utilisant le mot-clé "null", la recherche trouvera les propriétés ayant la valeur **null** et **undefined**.
- dans le cas d'une recherche avec un comparateur IN, *value* doit être une collection ou des valeurs correspondant au type de l'attribut path entre \[ ] séparés par des virgules (pour les chaînes, les caractères `"` doivent être échappés avec `\`).
- - **object**: only [4D.Vector](../API/VectorClass.md) objects are supported, in the context of [**vector similarity queries**](#query-by-vector-similarity) (*attributePath* must also contain valid 4D.Vector objects).
+ - **object** : seuls les objets [4D.Vector](../API/VectorClass.md) sont pris en charge dans le contexte des [**requêtes de similarité vectorielle**](#query-by-vector-similarity) (*attributePath* doit également contenir des objets 4D.Vector valides).
- **logicalOperator** : utilisé pour relier des conditions multiples dans la recherche (optionnel). Vous pouvez utiliser un des opérateurs logiques suivants (le nom ou le symbole peut être passé) :
| Conjonction | Symbole(s) |
@@ -1205,18 +1205,18 @@ var $comparisonVector := {vector : $myVector; metric : mk euclidean ; threshold
var $results := ds.MyClass.query("myVectorField <= :1" ; $comparisonVector)
```
-The **order by** statement is supported in the query string so that entities in the resulting entity selection are sorted by similarity. Par exemple :
+L'instruction **order by** est prise en charge dans la chaîne de requête afin que les entités de l'entity selection résultante soient triées par similarité. Par exemple :
```4d
-var $results := ds.MyClass.query("myVectorField > :1 order by myVectorField"; $comparisonVector)
- //default order, the first entity is the most similar
+var $results := ds.MyClass.query("myVectorField > :1 order by myVectorField" ; $comparisonVector)
+ //ordre par défaut, la première entité est la plus similaire
```
-If the same vector appears multiple times in the query string, the order by will be applied to the results of the first one, for example:
+Si le même vecteur apparaît plusieurs fois dans la chaîne de requête, l'ordre par sera appliqué aux résultats du premier, par exemple :
```4d
-var $results := ds.MyClass.query("myVectorField > :1 and myVectorField > :2 order by myVectorField" desc; /
- {vector : $myVector1 };{vector : $myVector2 }) //myVectorField > :1 is used for the order by
+var $results := ds.MyClass.query("myVectorField > :1 and myVectorField > :2 order by myVectorField" desc ; /
+ {vector : $myVector1 };{vector : $myVector2 }) //myVectorField > :1 est utilisé pour le tri
```
Voir [plus d'exemples ci-dessous](#example-4-2) (exemples 4 et 5).
diff --git a/i18n/fr/docusaurus-plugin-content-docs/current/API/EntitySelectionClass.md b/i18n/fr/docusaurus-plugin-content-docs/current/API/EntitySelectionClass.md
index 775991373d04a9..5fb15d7ce18c73 100644
--- a/i18n/fr/docusaurus-plugin-content-docs/current/API/EntitySelectionClass.md
+++ b/i18n/fr/docusaurus-plugin-content-docs/current/API/EntitySelectionClass.md
@@ -1738,13 +1738,13 @@ Dans cet exemple, le champ objet "marks" de la dataclass **Students** contient l
Historique
-| Release | Modifications |
-| ------- | ----------------------------------------------------------- |
-| 21 R2 | Support of order by with 4D.Vector searches |
-| 21 | Prise en charge des objets 4D.Vector |
-| 17 R6 | Prise en charge des paramètres Formula |
-| 17 R5 | Prise en charge des placeholders pour les valeurs |
-| 17 | Ajout |
+| Release | Modifications |
+| ------- | ------------------------------------------------------------------------- |
+| 21 R2 | Prise en charge du tri dans les recherches avec 4D.Vector |
+| 21 | Prise en charge des objets 4D.Vector |
+| 17 R6 | Prise en charge des paramètres Formula |
+| 17 R5 | Prise en charge des placeholders pour les valeurs |
+| 17 | Ajout |
diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-19/API/CollectionClass.md b/i18n/fr/docusaurus-plugin-content-docs/version-19/API/CollectionClass.md
index 871da10a7e85fb..0ee203d1670692 100644
--- a/i18n/fr/docusaurus-plugin-content-docs/version-19/API/CollectionClass.md
+++ b/i18n/fr/docusaurus-plugin-content-docs/version-19/API/CollectionClass.md
@@ -4,7 +4,7 @@ title: Collection
---
-La classe Collection gère les variables de type [Collection](Concepts/dt_collection.md).
+The Collection class manages [Collection](Concepts/dt_collection.md) type expressions.
Une collection est initialisée avec :
diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-20-R10/API/CollectionClass.md b/i18n/fr/docusaurus-plugin-content-docs/version-20-R10/API/CollectionClass.md
index 996a8855114733..fe00828500b736 100644
--- a/i18n/fr/docusaurus-plugin-content-docs/version-20-R10/API/CollectionClass.md
+++ b/i18n/fr/docusaurus-plugin-content-docs/version-20-R10/API/CollectionClass.md
@@ -3,7 +3,7 @@ id: CollectionClass
title: Collection
---
-La classe Collection gère les variables de type [Collection](Concepts/dt_collection.md).
+The Collection class manages [Collection](Concepts/dt_collection.md) type expressions.
Une collection est initialisée avec les commandes [`New collection`](../commands/new-collection.md) ou [`New shared collection`](../commands/new-shared-collection.md).
diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-20/API/CollectionClass.md b/i18n/fr/docusaurus-plugin-content-docs/version-20/API/CollectionClass.md
index 72e22a49268788..0977fd38b0cc0c 100644
--- a/i18n/fr/docusaurus-plugin-content-docs/version-20/API/CollectionClass.md
+++ b/i18n/fr/docusaurus-plugin-content-docs/version-20/API/CollectionClass.md
@@ -4,7 +4,7 @@ title: Collection
---
-La classe Collection gère les variables de type [Collection](Concepts/dt_collection.md).
+The Collection class manages [Collection](Concepts/dt_collection.md) type expressions.
Une collection est initialisée avec :
diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-21/API/CollectionClass.md b/i18n/fr/docusaurus-plugin-content-docs/version-21/API/CollectionClass.md
index 996a8855114733..fe00828500b736 100644
--- a/i18n/fr/docusaurus-plugin-content-docs/version-21/API/CollectionClass.md
+++ b/i18n/fr/docusaurus-plugin-content-docs/version-21/API/CollectionClass.md
@@ -3,7 +3,7 @@ id: CollectionClass
title: Collection
---
-La classe Collection gère les variables de type [Collection](Concepts/dt_collection.md).
+The Collection class manages [Collection](Concepts/dt_collection.md) type expressions.
Une collection est initialisée avec les commandes [`New collection`](../commands/new-collection.md) ou [`New shared collection`](../commands/new-shared-collection.md).
diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-21/Notes/updates.md b/i18n/fr/docusaurus-plugin-content-docs/version-21/Notes/updates.md
index 924056902d2efa..dfec26067fc6ec 100644
--- a/i18n/fr/docusaurus-plugin-content-docs/version-21/Notes/updates.md
+++ b/i18n/fr/docusaurus-plugin-content-docs/version-21/Notes/updates.md
@@ -28,6 +28,7 @@ Lisez [**Les nouveautés de 4D 21**](https://blog.4d.com/fe-whats-new-in-4d-v21/
- Nouvelles commandes "trim" pour supprimer les espaces de début et de fin d'une chaîne : [`Trim`](../commands/trim.md), [`Trim start`](../commands/trim-start.md), et [`Trim end`](../commands/trim-end.md).
- Les commandes [`Num`](../commands/num.md) et [`String`](../commands/string.md) ont été mises à jour pour prendre en charge des conversions dans différentes bases (radix).
- [**Liste des bugs corrigés**](https://bugs.4d.fr/fixedbugslist?version=21) : liste de tous les bugs qui ont été corrigés dans 4D 21.
+- [**4D Qodly Pro Release notes**](https://developer.4d.com/qodly/4DQodlyPro/release-notes) : les nouveautés de Qodly Studio.
#### Developer Preview
diff --git a/i18n/ja/docusaurus-plugin-content-docs/current/API/CollectionClass.md b/i18n/ja/docusaurus-plugin-content-docs/current/API/CollectionClass.md
index dacbb262053954..0c30323f42f8ab 100644
--- a/i18n/ja/docusaurus-plugin-content-docs/current/API/CollectionClass.md
+++ b/i18n/ja/docusaurus-plugin-content-docs/current/API/CollectionClass.md
@@ -3,7 +3,7 @@ id: CollectionClass
title: Collection
---
-Collectionクラスは [コレクション](Concepts/dt_collection.md) 型の変数を扱います。
+The Collection class manages [Collection](Concepts/dt_collection.md) type expressions.
コレクションは [`New collection`](../commands/new-collection.md) または [`New shared collection`](../commands/new-shared-collection.md) コマンドで初期化されます。
diff --git a/i18n/ja/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIFilesAPI.md b/i18n/ja/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIFilesAPI.md
index 89818163e45e1c..ee4a6405ee282c 100644
--- a/i18n/ja/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIFilesAPI.md
+++ b/i18n/ja/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIFilesAPI.md
@@ -35,16 +35,16 @@ API 参照:
**エラーのスロー:** `file` が4D.File あるいは 4D.Blob ではない場合、あるいは`purpose` がからの場合にはエラーがスローされます。
-#### Supported Purposes
+#### サポートされている目的
-- `assistants`: Used in the Assistants API (⚠️ [deprecated by OpenAI](https://platform.openai.com/docs/assistants/whats-new))
-- `batch`: Used in the [Batch API](https://platform.openai.com/docs/api-reference/batch) (expires after 30 days by default)
-- `fine-tune`: Used for [fine-tuning](https://platform.openai.com/docs/api-reference/fine-tuning)
-- `vision`: Images used for vision fine-tuning
-- `user_data`: Flexible file type for any purpose
-- `evals`: Used for eval data sets
+- `assistants`: Assistants API で使用されます (⚠️ [OpenAI では非推奨](https://platform.openai.com/docs/assistants/whats-new))
+- `batch`: [Batch API](https://platform.openai.com/docs/api-reference/batch) で使用されます (デフォルトでは 30 日後に失効します)
+- `fine-tune`: [微調整](https://platform.openai.com/docs/api-reference/fine-tuning) で使用されます
+- `vision`: ビジョンの微調整に使用される画像
+- `user_data`: 任意の目的のための柔軟なファイルタイプ
+- `evals`: eval データセットに使用する
-#### File Format Requirements
+#### ファイルフォーマットの要件
- **Fine-tuning API:** Only supports `.jsonl` files with specific required formats
- **Batch API:** Only supports `.jsonl` files up to 200 MB with specific required format
diff --git a/i18n/ja/docusaurus-plugin-content-docs/version-19/API/CollectionClass.md b/i18n/ja/docusaurus-plugin-content-docs/version-19/API/CollectionClass.md
index 417448a7c043dc..e4564b2e20c22b 100644
--- a/i18n/ja/docusaurus-plugin-content-docs/version-19/API/CollectionClass.md
+++ b/i18n/ja/docusaurus-plugin-content-docs/version-19/API/CollectionClass.md
@@ -4,7 +4,7 @@ title: Collection
---
-Collectionクラスは [コレクション](Concepts/dt_collection.md) 型の変数を扱います。
+The Collection class manages [Collection](Concepts/dt_collection.md) type expressions.
コレクションは次のように初期化します:
diff --git a/i18n/ja/docusaurus-plugin-content-docs/version-20-R10/API/CollectionClass.md b/i18n/ja/docusaurus-plugin-content-docs/version-20-R10/API/CollectionClass.md
index dacbb262053954..0c30323f42f8ab 100644
--- a/i18n/ja/docusaurus-plugin-content-docs/version-20-R10/API/CollectionClass.md
+++ b/i18n/ja/docusaurus-plugin-content-docs/version-20-R10/API/CollectionClass.md
@@ -3,7 +3,7 @@ id: CollectionClass
title: Collection
---
-Collectionクラスは [コレクション](Concepts/dt_collection.md) 型の変数を扱います。
+The Collection class manages [Collection](Concepts/dt_collection.md) type expressions.
コレクションは [`New collection`](../commands/new-collection.md) または [`New shared collection`](../commands/new-shared-collection.md) コマンドで初期化されます。
diff --git a/i18n/ja/docusaurus-plugin-content-docs/version-20/API/CollectionClass.md b/i18n/ja/docusaurus-plugin-content-docs/version-20/API/CollectionClass.md
index 5ad3fbfcd1dcea..79379d85d4d3e3 100644
--- a/i18n/ja/docusaurus-plugin-content-docs/version-20/API/CollectionClass.md
+++ b/i18n/ja/docusaurus-plugin-content-docs/version-20/API/CollectionClass.md
@@ -4,7 +4,7 @@ title: Collection
---
-Collectionクラスは [コレクション](Concepts/dt_collection.md) 型の変数を扱います。
+The Collection class manages [Collection](Concepts/dt_collection.md) type expressions.
コレクションは次のように初期化します:
diff --git a/i18n/ja/docusaurus-plugin-content-docs/version-21/API/CollectionClass.md b/i18n/ja/docusaurus-plugin-content-docs/version-21/API/CollectionClass.md
index dacbb262053954..0c30323f42f8ab 100644
--- a/i18n/ja/docusaurus-plugin-content-docs/version-21/API/CollectionClass.md
+++ b/i18n/ja/docusaurus-plugin-content-docs/version-21/API/CollectionClass.md
@@ -3,7 +3,7 @@ id: CollectionClass
title: Collection
---
-Collectionクラスは [コレクション](Concepts/dt_collection.md) 型の変数を扱います。
+The Collection class manages [Collection](Concepts/dt_collection.md) type expressions.
コレクションは [`New collection`](../commands/new-collection.md) または [`New shared collection`](../commands/new-shared-collection.md) コマンドで初期化されます。
diff --git a/i18n/ja/docusaurus-plugin-content-docs/version-21/Notes/updates.md b/i18n/ja/docusaurus-plugin-content-docs/version-21/Notes/updates.md
index 0d71e8b62ad493..3fcf4224eebe8d 100644
--- a/i18n/ja/docusaurus-plugin-content-docs/version-21/Notes/updates.md
+++ b/i18n/ja/docusaurus-plugin-content-docs/version-21/Notes/updates.md
@@ -28,6 +28,7 @@ title: リリースノート
- 文字列から先頭と末尾のスペースを削除する新しい "trim" 系コマンド: [`Trim`](../commands/trim.md)、[`Trim start`](../commands/trim-start.md)、および[`Trim end`](../commands/trim-end.md)。
- [`Num`](../commands/num.md) および [`String`](../commands/string.md) コマンドは、異なる基数での変換をサポートするようにアップデートされました。
- [**修正リスト**](https://bugs.4d.fr/fixedbugslist?version=21): 4D 21 で修正されたバグのリストです(日本語版は [こちら](https://4d-jp.github.io/2025/279/release-note-version-21/))。
+- [**4D Qodly Pro Release notes**](https://developer.4d.com/qodly/4DQodlyPro/release-notes): what's new in Qodly Studio.
#### デベロッパー・プレビュー
diff --git a/i18n/pt/docusaurus-plugin-content-docs/current/API/CollectionClass.md b/i18n/pt/docusaurus-plugin-content-docs/current/API/CollectionClass.md
index 412569850f005e..ff4715de39e28f 100644
--- a/i18n/pt/docusaurus-plugin-content-docs/current/API/CollectionClass.md
+++ b/i18n/pt/docusaurus-plugin-content-docs/current/API/CollectionClass.md
@@ -3,7 +3,7 @@ id: CollectionClass
title: Collection
---
-A classe Collection gerencia variáveis do tipo [Collection](Concepts/dt_collection.md).
+The Collection class manages [Collection](Concepts/dt_collection.md) type expressions.
Uma coleção é inicializada com os comandos [`New collection`](../commands/new-collection.md) ou [`New shared collection`](../commands/new-shared-collection.md).
diff --git a/i18n/pt/docusaurus-plugin-content-docs/version-19/API/CollectionClass.md b/i18n/pt/docusaurus-plugin-content-docs/version-19/API/CollectionClass.md
index 9b6231b4a39768..c0445f70e19440 100644
--- a/i18n/pt/docusaurus-plugin-content-docs/version-19/API/CollectionClass.md
+++ b/i18n/pt/docusaurus-plugin-content-docs/version-19/API/CollectionClass.md
@@ -4,7 +4,7 @@ title: Collection
---
-A classe Collection gerencia variáveis de tipo [Collection](Concepts/dt_collection.md).
+The Collection class manages [Collection](Concepts/dt_collection.md) type expressions.
Uma coleção se inicializa com:
diff --git a/i18n/pt/docusaurus-plugin-content-docs/version-20-R10/API/CollectionClass.md b/i18n/pt/docusaurus-plugin-content-docs/version-20-R10/API/CollectionClass.md
index 412569850f005e..ff4715de39e28f 100644
--- a/i18n/pt/docusaurus-plugin-content-docs/version-20-R10/API/CollectionClass.md
+++ b/i18n/pt/docusaurus-plugin-content-docs/version-20-R10/API/CollectionClass.md
@@ -3,7 +3,7 @@ id: CollectionClass
title: Collection
---
-A classe Collection gerencia variáveis do tipo [Collection](Concepts/dt_collection.md).
+The Collection class manages [Collection](Concepts/dt_collection.md) type expressions.
Uma coleção é inicializada com os comandos [`New collection`](../commands/new-collection.md) ou [`New shared collection`](../commands/new-shared-collection.md).
diff --git a/i18n/pt/docusaurus-plugin-content-docs/version-20/API/CollectionClass.md b/i18n/pt/docusaurus-plugin-content-docs/version-20/API/CollectionClass.md
index b5f89ecf509919..62a499e5b4c099 100644
--- a/i18n/pt/docusaurus-plugin-content-docs/version-20/API/CollectionClass.md
+++ b/i18n/pt/docusaurus-plugin-content-docs/version-20/API/CollectionClass.md
@@ -4,7 +4,7 @@ title: Collection
---
-A classe Collection gerencia variáveis de tipo [Collection](Concepts/dt_collection.md).
+The Collection class manages [Collection](Concepts/dt_collection.md) type expressions.
Uma coleção se inicializa com:
diff --git a/i18n/pt/docusaurus-plugin-content-docs/version-21/API/CollectionClass.md b/i18n/pt/docusaurus-plugin-content-docs/version-21/API/CollectionClass.md
index 412569850f005e..ff4715de39e28f 100644
--- a/i18n/pt/docusaurus-plugin-content-docs/version-21/API/CollectionClass.md
+++ b/i18n/pt/docusaurus-plugin-content-docs/version-21/API/CollectionClass.md
@@ -3,7 +3,7 @@ id: CollectionClass
title: Collection
---
-A classe Collection gerencia variáveis do tipo [Collection](Concepts/dt_collection.md).
+The Collection class manages [Collection](Concepts/dt_collection.md) type expressions.
Uma coleção é inicializada com os comandos [`New collection`](../commands/new-collection.md) ou [`New shared collection`](../commands/new-shared-collection.md).
diff --git a/i18n/pt/docusaurus-plugin-content-docs/version-21/Notes/updates.md b/i18n/pt/docusaurus-plugin-content-docs/version-21/Notes/updates.md
index d12f4b9b0b6889..926d07e92f6642 100644
--- a/i18n/pt/docusaurus-plugin-content-docs/version-21/Notes/updates.md
+++ b/i18n/pt/docusaurus-plugin-content-docs/version-21/Notes/updates.md
@@ -28,6 +28,7 @@ Leia [**O que há de novo no 4D 21**](https://blog.4d.com/en-whats-new-in-4d-21/
- New "trim" commands to remove leading and trailing spaces from a string: [`Trim`](../commands/trim.md), [`Trim start`](../commands/trim-start.md), and [`Trim end`](../commands/trim-end.md).
- [`Num`](../commands/num.md) and [`String`](../commands/string.md) commands have been updated to support conversions in different bases (radix).
- [**Fixed bug list**](https://bugs.4d.fr/fixedbugslist?version=21): list of all bugs that have been fixed in 4D 21.
+- [**4D Qodly Pro Release notes**](https://developer.4d.com/qodly/4DQodlyPro/release-notes): what's new in Qodly Studio.
#### Prévia do desenvolvedor
From 9a7dcdb9e1d241768053799a7d5d6caa7bba22bd Mon Sep 17 00:00:00 2001
From: mouna-elmaazouzi <118451160+mouna-elmaazouzi@users.noreply.github.com>
Date: Fri, 28 Nov 2025 16:01:48 +0100
Subject: [PATCH 57/75] Doc/web form web event from qodly script (#3013)
* pages created (not updated yet)
* pages updated + properties and see also added in the two commands
* see also added in classes
* links fixed
* Update Web_Server.md
* links updates
* examples update 1st pass
* Update web-event.md
* few fixes
* sidebar and index page
* pictures added + other updates
* temp screenshot added
* version 21 done
* screenshots fix
* Update version-21-sidebars.json
---
docs/API/WebFormClass.md | 137 +++++++++++-------
docs/API/WebFormItemClass.md | 81 +++++++----
docs/assets/en/API/webformClass-pic1.png | Bin 0 -> 4180 bytes
docs/assets/en/API/webformClass-pic2.png | Bin 0 -> 4421 bytes
docs/assets/en/API/webformClass-pic3.png | Bin 0 -> 4018 bytes
docs/assets/en/commands/web-event1.png | Bin 0 -> 6464 bytes
docs/assets/en/commands/web-event2.png | Bin 0 -> 50241 bytes
docs/assets/en/commands/web-event3.png | Bin 0 -> 2889 bytes
docs/assets/en/commands/web-event4.png | Bin 0 -> 3082 bytes
docs/commands/command-index.md | 2 +
docs/commands/theme/Web_Server.md | 2 +
docs/commands/web-event.md | 96 ++++++++++++
docs/commands/web-form.md | 46 ++++++
sidebars.js | 2 +
versioned_docs/version-21/API/WebFormClass.md | 137 +++++++++++-------
.../version-21/API/WebFormItemClass.md | 81 +++++++----
.../assets/en/API/webformClass-pic1.png | Bin 0 -> 4180 bytes
.../assets/en/API/webformClass-pic2.png | Bin 0 -> 4421 bytes
.../assets/en/API/webformClass-pic3.png | Bin 0 -> 4018 bytes
.../assets/en/commands/web-event1.png | Bin 0 -> 6464 bytes
.../assets/en/commands/web-event2.png | Bin 0 -> 50241 bytes
.../assets/en/commands/web-event3.png | Bin 0 -> 2889 bytes
.../assets/en/commands/web-event4.png | Bin 0 -> 3082 bytes
.../version-21/commands/command-index.md | 2 +
.../version-21/commands/theme/Web_Server.md | 2 +
.../version-21/commands/web-event.md | 96 ++++++++++++
.../version-21/commands/web-form.md | 46 ++++++
versioned_sidebars/version-21-sidebars.json | 2 +
28 files changed, 570 insertions(+), 162 deletions(-)
create mode 100644 docs/assets/en/API/webformClass-pic1.png
create mode 100644 docs/assets/en/API/webformClass-pic2.png
create mode 100644 docs/assets/en/API/webformClass-pic3.png
create mode 100644 docs/assets/en/commands/web-event1.png
create mode 100644 docs/assets/en/commands/web-event2.png
create mode 100644 docs/assets/en/commands/web-event3.png
create mode 100644 docs/assets/en/commands/web-event4.png
create mode 100644 docs/commands/web-event.md
create mode 100644 docs/commands/web-form.md
create mode 100644 versioned_docs/version-21/assets/en/API/webformClass-pic1.png
create mode 100644 versioned_docs/version-21/assets/en/API/webformClass-pic2.png
create mode 100644 versioned_docs/version-21/assets/en/API/webformClass-pic3.png
create mode 100644 versioned_docs/version-21/assets/en/commands/web-event1.png
create mode 100644 versioned_docs/version-21/assets/en/commands/web-event2.png
create mode 100644 versioned_docs/version-21/assets/en/commands/web-event3.png
create mode 100644 versioned_docs/version-21/assets/en/commands/web-event4.png
create mode 100644 versioned_docs/version-21/commands/web-event.md
create mode 100644 versioned_docs/version-21/commands/web-form.md
diff --git a/docs/API/WebFormClass.md b/docs/API/WebFormClass.md
index f0d979948c54db..204d39ed54c721 100644
--- a/docs/API/WebFormClass.md
+++ b/docs/API/WebFormClass.md
@@ -4,7 +4,7 @@ title: WebForm
---
-The `WebForm` class contains functions and properties allowing to handle your Qodly webform components. This class is detailed in the [Qodly documentation](https://developer.qodly.com/docs/language/WebFormClass).
+The `WebForm` class contains functions and properties allowing to handle your Qodly web page components. `4D.WebForm` objects are instantiated with the [`webForm`](../commands/web-form.md) command.
History
@@ -16,21 +16,16 @@ The `WebForm` class contains functions and properties allowing to handle your Qo
-
-
### Commands and functions
||
|---|
-|[](#componentname)
|
+|[](#componentname)
|
|[](#disablestate)
|
|[](#enablestate)
|
|[](#seterror)
|
|[](#setmessage)
|
|[](#setwarning)
|
-|[](#web-form)
|
-|[](#web-event)
|
-
### *.componentName*
@@ -39,11 +34,27 @@ The `WebForm` class contains functions and properties allowing to handle your Qo
#### Description
-The components of webforms are objects that are available directly as properties of these webforms.
+The components of web pages are objects that are available directly as properties of these web pages.
+
+The returned objects are of the [`4D.WebFormItem`](WebFormItemClass.md) class. These objects have functions that you can use to manage your components dynamically.
+
+#### Example
+
+```4d
+shared singleton Class constructor()
+
+ var myForm : 4D.WebForm
+ var component : 4D.WebFormItem
+
+ myForm:=webForm //returns the web page as an object, each property is a component
+ component:=myForm.myImage //returns the myImage component of the web page
-For more information, please refer to the [`.componentName` description in the Qodly documentation](https://developer.qodly.com/docs/language/WebFormClass#componentname).
+```
+:::info
+While `myForm` may not display typical object properties when examined in the debugger, it behaves as if it were the actual `webForm` object. You can interact with the underlying `webForm` object's properties and functions through `myForm`. For example, you can dynamically manipulate page components or transmit messages to web pages using specialized functions like `myForm.setMessage()`.
+:::
### .disableState()
@@ -52,20 +63,20 @@ For more information, please refer to the [`.componentName` description in the Q
|Parameter|Type||Description|
|---------|--- |:---:|------|
-|state|string|->|Name of state to disable from the web form|
+|state|string|->|Name of state to disable from the web page|
#### Description
-The `.disableState()` function disables the rendering of the *state* in the current web form.
+The `.disableState()` function disables the rendering of the *state* in the current web page.
This function does nothing if:
-- the *state* is currently not enabled in the web form,
-- the *state* does not exist for the web form.
+- the *state* is currently not enabled in the web page,
+- the *state* does not exist for the web page.
If you [enable](#enablestate) or disable several states in the same user function, all modifications are sent at the same time to the client once the function ends.
-For more information on web form states, please refer to [developer.qodly.com](https://developer.qodly.com/docs/studio/pageLoaders/states).
+For more information on web pages states, please refer to [States section on developer.qodly.com](https://developer.4d.com/qodly/4DQodlyPro/pageLoaders/states/stateOverview).
@@ -77,26 +88,26 @@ For more information on web form states, please refer to [developer.qodly.com](h
|Parameter|Type||Description|
|---------|--- |:---:|------|
-|state|string|->|Name of state to enable on the web form|
+|state|string|->|Name of state to enable on the web pages|
#### Description
-The `.enableState()` function enables the rendering of the *state* in the current web form.
+The `.enableState()` function enables the rendering of the *state* in the current web page.
This function does nothing if:
-- the *state* has already been enabled on the web form,
-- the *state* does not exist for the web form.
+- the *state* has already been enabled on the web page,
+- the *state* does not exist for the web page.
If you enable or [disable](#disablestate) several states within the same user function, all modifications are sent at the same time to the client once the function ends.
-For more information on web form states, please refer to [developer.qodly.com](https://developer.qodly.com/docs/studio/pageLoaders/states).
+For more information on web page states, please refer to [States section on developer.qodly.com](https://developer.4d.com/qodly/4DQodlyPro/pageLoaders/states/stateOverview).
#### Example
You enable a specific state named "wrongCredentials" in case of error in your login page:
-```4d
+```4d
Function authenticationError()
If (Session.info.type#"remote")
Web Form.enableState("wrongCredentials")
@@ -111,16 +122,31 @@ Function authenticationError()
|Parameter|Type||Description|
|---------|--- |:---:|------|
-|msg|string|->|Error message to display in the web form|
+|msg|string|->|Error message to display in the web page|
#### Description
-The `.setError()` function sends *msg* as an error message to the web form.
+The `.setError()` function sends *msg* as an error message to the web page.
+
+The function returns a response with a `200 OK` status and a `__WEBFORM` object in the body with a `__NOTIFICATION.message` property set to *msg* and a `__NOTIFICATION.type` set to "error".
-For more information, please refer to the [`.setError()` description in the Qodly documentation](https://developer.qodly.com/docs/language/WebFormClass#seterror).
+#### Example
+
+```4d
+shared singleton Class constructor()
+exposed function myError()
+
+var myForm : 4D.WebForm
+myForm:=web Form
+
+myForm.setError("My error message")
+
+```
+If the [**Provide feedback**](https://developer.4d.com/qodly/4DQodlyPro/pageLoaders/events/bindingActionToEvents#providing-feedback) feature is enabled for the event, the *message* is automatically displayed as a red *toast* at the bottom of the Page and disappears automatically after 5 seconds:
+
### .setMessage()
@@ -129,62 +155,67 @@ For more information, please refer to the [`.setError()` description in the Qodl
|Parameter|Type||Description|
|---------|--- |:---:|------|
-|msg|string|->|Information message to display in the web form|
+|msg|string|->|Information message to display in the web page|
#### Description
-The `.setMessage()` function sends *msg* as an information message to the web form.
-
-For more information, please refer to the [`.setMessage()` description in the Qodly documentation](https://developer.qodly.com/docs/language/WebFormClass#setmessage).
+The `.setMessage()` function sends *msg* as an information message to the web page.
+The function returns a response with a `200 OK` status and a `__WEBFORM` object in the body with a `__NOTIFICATION.message` property set to *msg* and a `__NOTIFICATION.type` set to "message".
-### .setWarning()
+#### Example
-**.setWarning**( *msg* : string)
+```4d
+shared singleton Class constructor()
+exposed function myMessage()
-
-|Parameter|Type||Description|
-|---------|--- |:---:|------|
-|msg|string|->|Warning message to display in the web form|
-
+var myForm : 4D.WebForm
+myForm:=web Form
-#### Description
+myForm.setMessage("My information message")
-The `.setWarning()` function sends *msg* as a warning message to the web form.
+```
-For more information, please refer to the [`.setWarning()` description in the Qodly documentation](https://developer.qodly.com/docs/language/WebFormClass#setwarning).
+If the [**Provide feedback**](https://developer.4d.com/qodly/4DQodlyPro/pageLoaders/events/bindingActionToEvents#providing-feedback) feature is enabled for the event, the *message* is automatically displayed as a green *toast* at the bottom of the Page and disappears automatically after 5 seconds:
+
-## Web Form
+### .setWarning()
-**Web Form** : 4D.WebForm
+**.setWarning**( *msg* : string)
-
+
|Parameter|Type||Description|
|---------|--- |:---:|------|
-|Result|4D.WebForm|<-|New `WebForm` proxy object
+|msg|string|->|Warning message to display in the web page|
#### Description
-The `Web Form` command returns a `4D.WebForm` proxy object that allows you to interact with the web form.
+The `.setWarning()` function sends *msg* as a warning message to the web page.
-For more information, please refer to the [`webForm` command description in the Qodly documentation](https://developer.qodly.com/docs/language/WebFormClass#webform).
+The function returns a response with a `200 OK` status and a `__WEBFORM` object in the body with a `__NOTIFICATION.message` property set to *msg* and a `__NOTIFICATION.type` set to "warning".
+#### Example
-## Web Event
+```4d
+shared singleton Class constructor()
+exposed function myWarning()
-**Web Event** : Object
+var myForm : 4D.WebForm
+myForm:=web Form
-
-|Parameter|Type||Description|
-|---------|--- |:---:|------|
-|Result|object|<-| object
-
+myForm.setWarning("My warning message")
-#### Description
+```
+
+If the [**Provide feedback**](https://developer.4d.com/qodly/4DQodlyPro/pageLoaders/events/bindingActionToEvents#providing-feedback) feature is enabled for the event, the *message* is automatically displayed as a yellow *toast* at the bottom of the web page and disappears automatically after 5 seconds:
+
+
-The `Web Event` command returns an object with information on a triggered event linked to a webform component.
+## See also
-For more information, please refer to the [`webEvent` command description in the Qodly documentation](https://developer.qodly.com/docs/language/WebFormClass#webevent).
+[Web Form](../commands/web-form.md)
+[Web Event](../commands/web-event.md)
+[WebFormItem class](../API/WebFormItemClass.md)
\ No newline at end of file
diff --git a/docs/API/WebFormItemClass.md b/docs/API/WebFormItemClass.md
index 79a1f83eb19747..e21473dece77d5 100644
--- a/docs/API/WebFormItemClass.md
+++ b/docs/API/WebFormItemClass.md
@@ -4,9 +4,13 @@ title: WebFormItem
---
-`4D.WebFormItem` objects are properties of the [`4D.WebForm`](WebFormItemClass.md) object returned by the [`Web Form`](WebFormClass.md#web-form) command.
+The `4D.WebFormItem` class allows you to handle the behavior of your Qodly webform components.
-The `WebFormItem` class is detailed in the [Qodly documentation](https://developer.qodly.com/docs/language/WebFormItemClass).
+`4D.WebFormItem` objects are properties of the [`4D.WebForm`](WebFormClass.md) object returned by the [`Web Form`](../commands/web-form.md) command.
+
+When you call the [`Web Form`](../commands/web-form.md) command, the returned `4D.WebForm` proxy object holds as many `4D.WebFormItems` as there are components with [**server-side references**](https://developer.4d.com/qodly/4DQodlyPro/pageLoaders/pageLoaderOverview#server-side) in your webform.
+
+For example, `WebFormObject.myImage` refers to the image component with `myImage` as server reference.
History
@@ -27,31 +31,28 @@ The `WebFormItem` class is detailed in the [Qodly documentation](https://develop
|[](#show)
|
-### .hide()
-**.hide**()
+### .addCSSClass()
-
+**.addCSSClass**(*className* : string)
+
+
|Parameter|Type||Description|
|---------|--- |:---:|------|
-||||Does not require any parameters|
+|className|string|->|Name of the CSS class to add to the component|
-
#### Description
-The `.hide()` function hides the component.
-
-
-For more information, please refer to the [`.hide()` description in the Qodly documentation](https://developer.qodly.com/docs/language/WebFormItemClass#hide).
+The `.addCSSClass` function adds the class specified in *className* to the component.
-### .show()
-**.show**()
+### .hide()
+**.hide**()
-
+
|Parameter|Type||Description|
|---------|--- |:---:|------|
||||Does not require any parameters|
@@ -60,44 +61,68 @@ For more information, please refer to the [`.hide()` description in the Qodly do
#### Description
-The `.show()` function makes the component visible.
+The `.hide()` function hides the component.
-For more information, please refer to the [`.show()` description in the Qodly documentation](https://developer.qodly.com/docs/language/WebFormItemClass#show).
+#### Example
+To call a function that hides an image when the user clicks a button:
-### .addCSSClass()
+1. Create an [exposed](../ORDA/ordaClasses.md#exposed-vs-non-exposed-functions) function inside a shared singleton class named `isHidden` that contains the following code:
-**.addCSSClass**(*className* : string)
+```4d
-
+shared singleton Class constructor()
+exposed Function isHidden()
+ var myComponent : 4D.WebFormItem
+
+ myComponent:=Web Form.myImage
+ myComponent.hide() // Hide the component that has "myImage" as server reference
+```
+2. In Qodly Studio: Select the image component on the canvas, and enter a server-side reference in the Properties Panel > Server Side, for example "myImage".
+3. Select the Button component and add an `onclick` event to it.
+4. Attach the `isHidden` function to the event.
+
+
+
+### .removeCSSClass()
+
+
+**.removeCSSClass**(*className*: string)
+
+
|Parameter|Type||Description|
|---------|--- |:---:|------|
-|className|string|->|Name of the CSS class to add to the component|
+|className|string|->|Name of the CSS class to remove from the component|
#### Description
-The `.addCSSClass` function adds the class specified in *className* to the component.
+The `.removeCSSClass()` function removes the class specified in *className* from the component.
-For more information, please refer to the [`.addCSSClass` description in the Qodly documentation](https://developer.qodly.com/docs/language/WebFormItemClass#addcssclass).
-### .removeCSSClass()
+### .show()
+**.show**()
-**.removeCSSClass**(*className*: string)
-
+
|Parameter|Type||Description|
|---------|--- |:---:|------|
-|className|string|->|Name of the CSS class to remove from the component|
+||||Does not require any parameters|
+
#### Description
-The `.removeCSSClass()` function removes the class specified in *className* from the component.
+The `.show()` function makes the component visible.If the component was already visible, the function does nothing.
+
+
+## See also
-For more information, please refer to the [`.removeCSSClass()` description in the Qodly documentation](https://developer.qodly.com/docs/language/WebFormItemClass#removecssclass).
+[Web Form](../commands/web-form.md)
+[Web Event](../commands/web-event.md)
+[WebForm class](WebFormClass.md)
diff --git a/docs/assets/en/API/webformClass-pic1.png b/docs/assets/en/API/webformClass-pic1.png
new file mode 100644
index 0000000000000000000000000000000000000000..5c3de142c5af118f03c4cd7de87c95fb32c6bd55
GIT binary patch
literal 4180
zcmV-a5UcNrP)Px#1ZP1_K>z@;j|==^1poj532;bRa{vGi!vFvd!vV){sAK>D59vunK~#8N?cIM+
zlXrs0@ppKD5Rw=K0w@9s6??IAt|%+Dl~t$O+B@&sZnv$yPVby{?mAPQ?(BNC|Lt7&
zpSxaXd(~-o+pe9ibJcBkml@m2wLP8lCx~J#R#rp=RD=*fLVl1y9&?Pat_9F5M261VOmtEEXs()|N(yTtjPZ6=5a_!t~^HDj5~SXrQ^>Vwx!k!t~~FC|MQ7
zXrOg>M^p%cAWTa!vT8KYT&{=;K@fy#DMnU}2Aba=Q6UI|FfGN%s?k6j=jshX5QJ$b
zMplVC1q4BuF+`vVf-qx9d));bBbk3$#^&APAA7
z1lptyiR{OY(elZsHw`m@!QLBO-nS1&ZLPLS5CkDElNM<9qernHJ*F*=Ef}QZ;32wC
zoz~WjCHruDJh(kR{KMMHQGTySInFC1YbymoxTzs$Ki9sf!hZC)wrY&dBS*RV#Q}z#
z{o1N2F)4x8-*gH4vFM$*?fxyc-M`fqkGOvDAfBsNwZ)N|zvA-SJGuP!TQr~cXloUN
z4YcmusT}ulEzz$p76c(0$BAlszx{^pGpBK!j6Q>M)YQ`R%^7Z-{RT&MwYGXnOn9IT
z4-Rszs!CfNAu%nD#I!VR@u*;sYgJVQhhq%A!URsArbk-{xX#wa9K8vGaC4H`gk&-y
zdk5&Mslib@cD>zkvX-usHOSrpB=amJvsrt{l$h{Mfu1vGX#esnZE=K>Km8Ga`p2Kp
zRz;Zq#1qUaUZ^crT-;Cn9~;yMDWpFA3im7sKfuoAcRs`&TE4SZkpDsn{h#c{*##7=
zr}%Fdp&vQEoy+h23C|!T|L8>)-Ip>_6CyhsY5D9B-gYMp1F6~Q%h!^-ya1E>r@>jb
zmn+rXP`r`+{6^ZpJWtXi+gVuL%%xoi7$6hNk5?lf*^kS;l>9B_qyhNaX{-8*{w6y?
z8A!H}yrhDhbvDu@wE@jvbFS(FWZqBCszG`W97Dcu3$|4mVXXuheXd!LE@SZjsu<|>
zfs{hx;`PjZ*oN8H#+5G);A(LK64HVPus&K&mND!!@w5paj^m%vRnv?-2qZ`(7FS?>
zqzr55CG@q^vVXtwT*E+e2Kom#l2?{XYUnh>9=fUz;0T>3H5`9o-j!;*Bg>
zUj%^c32XbXgf3?>>5ngBV9x;t0K+3&xkouP&OQh?Rt>_r&Kw&f6Xc?f=2
zi#=?nDz|)#r^iFklY^;voG^1#)A;L3yjPu|OF?Ipz-z~Ua4#*NH{w-~3;Nv3`TzVG
zS1RiXctb090j1n!$NBp`xSG{BH-N8^rr+$rc|m>C0Sr1BtlQ6(55A^rP%V=Olyh_(
zrSs#%_zX>GtTx~c%sZ_!YW!*7Qzn?1~?WO61y`yaymXVte)A_-EIzrDC-lm|0
z&YUvZrjM%WRomWIvzLw|&By@>o!N*^Clk1Eh>nkI=>wpLwvW~RCK}cA^x!|Zht`_V
zxY|d@=kL>bL=7_lubqL)_i&u`D1Gq-M%r~byzR&YJL~EB^{04U>an5MFwQ;*H)kzd
zLDtH0q*Md4$4ggDHICX-N|;qwPi>gRFyVpb>*~@L-L`>_4sFp`)*|#4ps9||kwr3@
z&boSnSkNzw9KGmmWu&G6wBtS>O0>}NperdOCpqFYl<--)BbrS170AzjGS#dD0yuM
zwk>N(P6c}Fa8%pFPXIn2!PzBPHf>c-vzbQUUv6I!}9m9&UW6v`zna+gbAR
zR+enrNOA&T|CSp)K+i?oc7R1>{B$czUVepp9#w`Y|WR-`7+KJ=Xj~!D+
zZK(#bez@|Eh8dF)XaR3%tn&TEbGZl1!?HYA38*vb8{dA6z9wL9DVB&Z0TK$Bz03kY
zpuS#tLk%|KZU)G}R93*4naJ=Z+)V%$j7#RhfUf3mgfQ>pF2;)M{g$Bu)eU7g2gs+
ztYcam#)xrssXDciNL#iVquQ3_2iB3RK9?!Kf?4WxUH15Z9{L-V*IvJLIeMSc-vQ=f
zDN+7F1TJ2{O&ZB+p8CJq!=>6bdRff9ukN7awHH~C0hldHSkg%Ep08cP{h2H%>WP?&E-0wiMrg^!kNes1yh
zLAVvxvNE#D%Sq5DBMlW
zbPPi0nQxE*eQ7CUCy$V^tdv9m$60#qVVegFS20(+90hQr7iGfZ#Jx}5HC4ZQo0LO>
zesx+Gl9jHkjg65(V)%3P^rFnNj7YP>$^mnl`fhf))#q1bSTV%)lS@ID6#h67o%(`E
z=J3Tb2}v!N`?`T{0_tqg|7B!jXyQ$#N5W%4#ZSfdM@$Qr)+pv_RfUkiYHPtxl
zeUMUu#TF%8&81it0yyzBG}8O$c4dTAY75&W2xC@80${=P^i~SDjq|ns9_@FM>I#4M~0J^&7_N>$a^FZZ1>8CncA{f7p)gr!O&QQw4^(MsPOc
z`uJ0>s7nB;c@@}xww;Cl{2UppOGq>-Yjz!fsKW&$hQjrRQ*&vJhrt`+k4M`z)Teo|
zTuvf?qi&%OLfjlDYw4<~X4vOPN=ZR7q%iFB(^XwFEiQ_m@IW(U=V*(@IQP`koO|kN
zZSfd}9PNBDx}0S{Kmr2C591#OX;~>bQF|wmQ(A%!2-a5Oybf4?!0d=!(lE(I80G>v
z8Mx3*g3*Y{XvE+>&$SPC)AHf(=)B2gb5SMC!;p`%vGKo$=~35=WKSa<$JznV6%~;l
z@lBI0o75s@$mVZ2k8Du-Ym%uAkugS*JQ`lIc5pfd1>_
zw<}P6fNQ;>7t6`DFHdMjTk-Zmh*v1gMm7K*SVh+TtB{PT$X+j9)yhV}ofP#gf4j^@
zh1#OqX1?bZMm^cfG0hD<$RPE;?8tfzX+bGQ3nM#?iOZKW-fUB0WZuRK5)(i^yO&G<
zwUcwZc5;6AAqHI@f~losF1+2hhLPO$%DJ&u)BfgLoZIyl=igR03Q}!kt{G=tZ<6J#
zc|=(}zj}zaUn%`P_jV-%JsyH`0hXm1Kmn#AnV_o&_uic}R34!5qfeAeWfBU|=K=*q
z=w%PVo?1G0?V<6DN*aD&t*rIu&&Lc%3o5YW0r>D&y-UNJJ305}8(gVsCaC!h&3WKK
zWz)giOz&^rp#JTh)c@zZ^fqgz{Bid|h{wof8=){OFUPuKMda?McVJ}q^G=!YK(pL?
zFG;gBi$NMizkHpd*Z)mh96_I+j%DF31R6$iO4W;x=KeLAH~n4BCS#czdI?2XmTJ~y
zG$d;|^EaVj3)Lobqbe=d^FL*PO^{_7sF6k*={82Lse*cQC-
zB&IwIc-ryTHxlqD=b7_F3CaS6k^Idsk)bZuGw2~0Fp|9bInw_stW7A(1q=V>F$@`M
z#CtqoD8RgVBL>Z(@%BN8&3^pEXqcrMlnsEe>%hjlq$AdyLX&C2FRTS{wY1W*Z=be!
zMA0u_Cm4{q{EJ^`s}wpNMbAEqF)w08c!J5a|KSaKnn1Vo8ElW-!YD}g;r2m_F=gV{
zwkGr3w`*9&JupO)Aq9PmKY@O)hoM9xrf5MC&w12i;_1IU=wo0w2~&y$!;LildnJC1
znEq)ih1!*mc%EArS9{g}&~v5^$zL<;tkLnU0!Tx=vOjyWOOhE@$4u8?=W^oG2I8
zPD-EwbR9oI=aD1Y;<(IR{}7p_rP|_&<*KD&*C7H}Fl~8>!q_uZVVdYW{ytZZ^nkUT
zd0Q$-SHsDBp_1mxMuHTP{<9~U7cEqUTQ=nEr}Nk`lFVjuRzIk%j$l7}oT2`HvL9GQ
zk|p*`?R%N(Km)KJKdyY@MvQ-I5KgDlF=yR6GFL3uR!z8`!|&35!U=QNvfz2K+jZA)
z)p6mSuNe&8LUnI037&Qanw3j2bjzN>w&4~=+rr%`N}x^Z;5&QOD&{}=W0Fiazmy|6
zeKv)gpP7;{W4MhQXVi->OG`zV-A&A;;rTpr=?+-GY9j6`OGRVp1P0VmVLN=G9ZaHmAjVAKyN2~9ZrUm
zEg181NJ|k>_7@|{2yIFNO%McOLPZHQF*XqdVa5=FCJ4feAp%Vhgc)Nr(6o2Y3xXg_
zM=`Q$G|=?pe$Ip-2*UIdBdbOOE#8mn5d=ZFlVW7mXrN_gMpOubAWTa!vT8KYOeV07
z^TF(bAPCci)v9Dw6p_1}^XG#l;zQg8K@g?~i$%$(7)I|D2-n&Qj);HDAqawS=UA;b
z4Ktz!8i3mk-QD1Ff!`nZCuRtOAbf8+owA#0HY;mpF{YW}q6eBF2*O=P+$kUk!i*sT
eO%Q|`Px#1ZP1_K>z@;j|==^1poj532;bRa{vGi!vFvd!vV){sAK>D5ZXyZK~#8N?cIA&
zR9BwB@oztYZt3RL2ttH}$P_4wk0Dj#%#>OqV})dNW@_9jt*lx*m@4_h>>rsw%K<9twn)G>@jSTj=iFy?@->Kwn;s
zHVDr7R9QuzbNco@_ul^9dtR+35C{Yi1VMNXXw?aVAPCEq2xx*JJU2AcH93dNrE5SQ^f4g1}q
znJEauveGFHG3B3z?=Q@-3^`5|@QuBjTzc2v25b%)0Tv7c8LNa(3|hjw<>+BkHUWE2FIZ-3!}T
zXGvFQ34$QZX>veYkVm6SJvIDW%hfr98NkD_Vg9w{Qz{?~xCe(=C^C`_!4?bKaq}
z_XZWtN{-#{ROilZw3G60&v2yk8mH{HX;bGfXHR=0;yYj0QQhR+;NrVhZ!_gAE-bLV95`icq(z`|B*E>nLaV0o~&USMBsDf{lW
zP9#3%u@RP+PkR2$*8@#_InXd`H_^3+b$r?1K=n{FpY+zMvlmRn0@~Mu_i%V;UqbcI
zO`mYG<%&8vM9-*$`r!_B@+>@54mD5vl-4kC8@oF3N$AqqzoCQ+n~FJ{rdQ|Asmr6R
zH;efJC0XgjsS7M;PkC&Fylk^Krc#?`y(^nZmTa6eUd*ceH=baYqkmbNTzcS5!|?PAVHN
zQQ?CE+adO^0=mEAsJ#{R8#!zl;^ToPn*2TtS{nuN+c}(J!vHiim2t}D#uWfGMr_(-
zidOHYFdmSc)UF?d@3ZfPe6nMMpWRORtv^vi0!68>;O+l{%Tf*}^R__S
z75-&-5Mq8viS8cfob7Z4z^uz)&&nMXr5Leyd`;=##J+7$*v0YxC%9Dx=ip#xY(GJ;dzbbawpIW5W~FEqNW?{eR-R*MnDMBs*#=
z#cOg&o7mA1_K4IS9N&FK>EK-&Bp;y1Y{=kOwjWcNGU-=Q9j$!uow9F$L6<^d!cO+T
zV41X?>zq=q0nlSJ=CD8g#}rJudwB<&DetOMwxcI4dNajIQC#l1Nf!wd*F~7;#5Vrf
zVbmdlKI^OJYHuCGJ{MNKnb%V`@@jJac;1!XT1I?sIdA1gUR^2YEtCZrklfg%J}!4(qI}dju|3Hp@57@?P7KRmXaJYgPI-4Z
z?>79Aqy3@#R@wg{$L~-4LP1w+Xc+=dYKAXye5h02wj{5W^GZrEBUleNcF8yWv6*+>
zI{BdIb1Id9A(y?*+xPCwJb)6Bx?kjo{SFP14};c3oW_UC+sX&s<&<`MlsL6$G6k6nd9@pdMiSqq-
zsPF=$P-F|<_rhglYtkVuY%1ZxhC{p+EeGy~;X2xY{G1Yg6MW*1*~NuT`zT6;wg=ZJ
z_X64s4rjh8zkkhZ6zTwfCubk3o6#N|fp`kz3wbLkOVw8v=-Vxp
z2l$(*?gwyF)pJ8044QOI&S!3?K%*M0n&q5K>8c2~4h!JbnQ;6
zH&UexCbT)4umk3pe6~++wuVEOOVMiOsZ(d7ASqXF3P`S*pDq}p!R-Vf+q#2o2}<8n
zYz7CDbLB7d=sjwJcX!2B+ddAyxQ2pN@gdD7qVm}rY+l5sv)7s-|E$2lW8jTuQ!|i_L)CT*}zR!RYa=&(o9C&BV^6HJEksEA#5j?9>6cvCs98
z@uYRPx5`iOx?Hwd86Pn>C$Cekj~2e^1EQ_+`+W7BYP?BJpOdtg-UtckaR#~R*){TC
zl(sh0HWJTXB{-L)15ytS9snbSD_P7qLlY%`NrQB%*V7uLO}R1K)W^*jtMrXHakwUD#FIHw
z->Nn$WWNnc^B%1U<(W!0zHfur9boqiD&=BHR)UF4&x=tZ@0^Dxsaw=|Fq7#qYbL**
z#naYZs^@pXk?@u>j@TfyU<5K>+)YW0
z1w&wn>fuU`-9N*=x(j^pogCP43?ctmv>BV~f;5;@Lb^ESb56pp!vfQUd#)Bi!~$Ao
z%zT?_GkeLLtWKI;QXWMHz*k2_Yn|MDG~`h@sndV5U;t$F9@X8=RQqQyA9)D`2Lv5H
z)yS~Nt&GfCh?_eyK9xAV(y8qqp-*+;_xVC1&O9uQy3J+0?z(*5dHE3UPxJ5KN~LT@
zA*a{B$+?W(9JFMRrt#6{{+weiN%qHY3
z+BNlw(=!q>5SW
zztjZh9eV9t?!SWzz>v;bbrU1P3~}jXBR9Xx?{|*h&0W3Kl)Kd5yh;3HQ~JOrERDL&
zWxVdveZFz&iL;o9vzT!8f5GtwA94J_4VwMnXurnMTV))**Mv7Qox+!2<7A@TOmvL(
zV#iHYV;M(pm2v8!kF?Z$_U7)TBpSd&lY0oFGs!i`uPghjX$l^bkxnl5%hzAfe9lR@
zbyx@$59MGM901szx`jQdTd?ZQIDKwD?XBgrXAsmP7SIafvPd$HkH=3D9OYF1t(F=c
z$0o~*>f|{Y(()-Bugw~^%{nJ47yuR8Tz1Y{KJv2DcCb||cO0K;KEsh)Wfb4J$VD%J
zjs2_g7e2sR^Vz2~zuQKxP<;CwN9)f}++9EIYKCB65o6amP*=v$rs=2YEQz|!#hOpC
z)h18L=_#Z5RvAZco#AbVJd$XR%_lz!;^Hz$mfYA!uXFVFHO~I!8pj6YddEelW5Yzg
z$%0*SQ#0@(Z#Q1&Y~w{rM*)niHOB)c3X}5WI(zFm(R_yDTjw~?e1*&EJHvd=Ntktr
zw9g*a^XbD$Q!|ul8L{LN?%09)Gx99++R_>Kc4_d}X#7w=f6_MsV87xK;uo7}$@2u|CW#uBO9T+*`k
za3Vg7OpOm$a2kpxp2DOz`0Yzd{jGWYX7zTq8uWO5?Nqtj=?dt{H0|PKmONq}m${qw
z66Ni5jW$v>I)qmfPoeE^*dJUxk@{oaOM6ARE`7Kp59o7wD`m@+X+rZkCt=kgf-ZH}
za8;Q!8>=^k%t0eK`nhsq^z&+O9hbV*6Q~wW#3t4TUGBNb#h$s>c}?fQ3qRtgw)N`d
zh0%Y5qa8P~Pd6!du}MB$Eu&IQP5@@}%zd;CKvX
zi*d%mqj0w4b-VFsO_=9wc88vmu9geD?Hq!r?VMkmJ7pij`Ru24wxf#w8MsTVE{fM@
z8O^-bTgTPDIvz=5Y){JJ*Dq{S7m1h!nOGaNCv^+IN__PWSTn=7>vZt63hs5I|kD%!AxqUw6>IewdW}P
z&OdSNq#?d>%aej_MrAsRN;seWw0@DYnXU0__({^b8G{+XYbhJ~N#a_5l$gz)m7CSs
z3nt=EXhC((c7ES}ok8#Hqh%|jtQ=mwgPhplnwdo~zAVZ}VQMi4Q`H3o;n``rca9S-
zkFta+gSC3FkF_e3WK%et^-H!r>znWrvM9e;3*hzpsBt`?-q}Wndw_ng{1e>CQC40u
zC9~d|&Sq;Cx<#JI;&^b0BSXEQ+rr5W>UEof@Qg`LYMQT6>K+OmP1e}hvuY1}SI#`B
z_Sb090@_mL9Z}X->KC@ZK@gtGsE4khcDj6EHf4|jxmiy-HMP*K@fzc
zC{ee99Ala~SzakHIpMCSi%x0czxomcL0C%Cb@9^%Go}k@0K+rY=ylB`44u~U?N-^UncELkE;b%7c5^e>bpU`)
zofc~|Gtv4mbp{*SKo@r1)ClmlUwD-U3@E4-6aaXi#d_kwNaOP%X3k*%07v`ZM%NXL
zzXbqrnwrC)_K}G7Lbm|>8<;N0@+93^+d?iKr+cbLnt7Z+2SIZDCi~bEvsGhRuN(6o
zyPxSF?Q|HEHinqf^b=Xi)GKxjM>IJf<)5qAa4ayhsDH<5L9R4&sEw0O*1i?;`D7Q;
z>D`&pwLckl9MXT%^g>X`Qz%+n?AuUbSU>pSg<4qaK?J6C<`dsd|IGHe5PLdRr`Zr~
z;dEXZAC8n#zmWK)5bX-4{{UOf@8yqYIpeMGi=Mlx6{anW9W%X;ryFEOsC9?DgPLDu
z9lynik8>}l?WYgA#gh}jmSgQvfwQ`k0J