From 1a806ac6d5f43c6db3f5af37c7f22a355ae743f7 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Mon, 20 Oct 2025 15:30:40 +0200 Subject: [PATCH 001/137] New translations develop-components.md (French) --- .../version-20/Extensions/develop-components.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-20/Extensions/develop-components.md b/i18n/fr/docusaurus-plugin-content-docs/version-20/Extensions/develop-components.md index b39dede63ecb1e..cbd6f5fc0cb8b4 100644 --- a/i18n/fr/docusaurus-plugin-content-docs/version-20/Extensions/develop-components.md +++ b/i18n/fr/docusaurus-plugin-content-docs/version-20/Extensions/develop-components.md @@ -251,7 +251,7 @@ SAVE RECORD($tablepointer->) ## Utilisation de tables et de champs -Un composant ne peut pas utiliser les tables et les champs définis dans la structure 4D du projet utilisé comme matrice. En revanche, il peut créer et utiliser des bases externes, et donc utiliser des tables et des champs en fonction de ses besoins. Les bases externes sont créées et gérées via le langage SQL. En revanche, il peut créer et utiliser des bases externes, et donc utiliser des tables et des champs en fonction de ses besoins. Utiliser une base externe signifie désigner temporairement cette base comme base courante, c’est-à-dire comme base cible des requêtes SQL exécutées par 4D. Les bases externes sont créées à l'aide de la commande SQL `CREATE DATABASE`. +Un composant ne peut pas utiliser les tables et les champs définis dans la structure 4D du projet utilisé comme matrice. En revanche, il peut créer et utiliser des bases externes, et donc utiliser des tables et des champs en fonction de ses besoins. Les bases externes sont créées et gérées via le langage SQL. Une base de données externe est un projet 4D indépendant du projet 4D principal, mais avec lequel vous pouvez travailler à partir du projet 4D principal. Utiliser une base externe signifie désigner temporairement cette base comme base courante, c’est-à-dire comme base cible des requêtes SQL exécutées par 4D. Les bases externes sont créées à l'aide de la commande SQL `CREATE DATABASE`. ### Exemple From f70ff99e0c622d5bd1cc673a6514c5ff6b1bb3aa Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Mon, 20 Oct 2025 16:42:52 +0200 Subject: [PATCH 002/137] New translations sessionclass.md (French) --- .../current/API/SessionClass.md | 24 +++++++++---------- 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/i18n/fr/docusaurus-plugin-content-docs/current/API/SessionClass.md b/i18n/fr/docusaurus-plugin-content-docs/current/API/SessionClass.md index 4299055fd7d87c..bcb4a3378f582d 100644 --- a/i18n/fr/docusaurus-plugin-content-docs/current/API/SessionClass.md +++ b/i18n/fr/docusaurus-plugin-content-docs/current/API/SessionClass.md @@ -54,10 +54,10 @@ La disponibilité des propriétés et des fonctions de l'objet `Session` dépend
Historique -| Release | Modifications | -| ------- | -------------------------- | -| 21 | Support of remote sessions | -| 18 R6 | Ajout | +| Release | Modifications | +| ------- | -------------------------------------- | +| 21 | Prise en charge des sessions distantes | +| 18 R6 | Ajout |
@@ -75,13 +75,13 @@ La disponibilité des propriétés et des fonctions de l'objet `Session` dépend :::note -This function does nothing and always returns **True** with stored procedure sessions and standalone sessions. +Cette fonction ne fait rien et renvoie toujours **True** avec les sessions de procédures stockées et les sessions autonomes. ::: La fonction `.clearPrivileges()` supprime tous les privilèges associés à la session (à l'exception des privilèges promus) et renvoie **True** si l'exécution a réussi. -Hormis si vous êtes en mode ["forceLogin"](../REST/authUsers.md#force-login-mode), la session devient automatiquement une session Invité. En mode "forceLogin", `.clearPrivileges()` ne transforme pas la session en session Invité, elle efface seulement les privilèges de la session. +Hormis si vous êtes en mode ["forceLogin"](../REST/authUsers.md#force-login-mode), la session devient automatiquement une session Guest. En mode "forceLogin", `.clearPrivileges()` ne transforme pas la session en session Invité, elle efface seulement les privilèges de la session. :::note @@ -89,7 +89,7 @@ Cette fonction ne supprime pas les **privilèges promus** du process web, qu'ils ::: -Regarding remote client sessions, the function only impacts [code accessing the web server](../WebServer/preemptiveWeb.md#writing-thread-safe-web-server-code). +En ce qui concerne les sessions de clients distants, la fonction n'a d'impact que sur [le code accédant au serveur web](../WebServer/preemptiveWeb.md#writing-thread-safe-web-server-code). #### Exemple @@ -110,10 +110,10 @@ $isGuest:=Session.isGuest() //$isGuest est True
Historique -| Release | Modifications | -| ------- | -------------------------- | -| 21 | Support of remote sessions | -| 20 R9 | Ajout | +| Release | Modifications | +| ------- | -------------------------------------- | +| 21 | Prise en charge des sessions distantes | +| 20 R9 | Ajout |
@@ -388,7 +388,7 @@ Cette fonction renvoie True pour le *privilège* si elle est appelée depuis une ::: -Regarding remote client sessions, the function only impacts [code accessing the web server](../WebServer/preemptiveWeb.md#writing-thread-safe-web-server-code). +En ce qui concerne les sessions de clients distants, la fonction n'a d'impact que sur [le code accédant au serveur web](../WebServer/preemptiveWeb.md#writing-thread-safe-web-server-code). With stored procedure sessions and standalone sessions, this function always returns True, whatever the *privilege*. From f90ad920981f29b9df8324111da27d2ddedc8025 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Mon, 20 Oct 2025 16:52:47 +0200 Subject: [PATCH 003/137] New translations develop-components.md (French) --- .../current/Extensions/develop-components.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/i18n/fr/docusaurus-plugin-content-docs/current/Extensions/develop-components.md b/i18n/fr/docusaurus-plugin-content-docs/current/Extensions/develop-components.md index d6d4c01544bf99..d3d21377ea2a1b 100644 --- a/i18n/fr/docusaurus-plugin-content-docs/current/Extensions/develop-components.md +++ b/i18n/fr/docusaurus-plugin-content-docs/current/Extensions/develop-components.md @@ -310,7 +310,7 @@ Dans ce cas, il est nécessaire d’utiliser la comparaison de pointeurs : An [error-handling method](Concepts/error-handling.md) installed by the [`ON ERR CALL`](../commands-legacy/on-err-call.md) command only applies to the running application. En cas d'erreur générée par un composant, la méthode d'appel sur erreur `ON ERR CALL` du projet hôte n'est pas appelée, et inversement. -However, you can install a [component error handler in the host application](../Concepts/error-handling.md#scope-and-components) to manage uncaught errors from compponents. +Cependant, vous pouvez installer un [gestionnaire d'erreurs de composants dans l'application hôte](../Concepts/error-handling.md#scope-and-components) pour gérer les erreurs non capturées des composants. ## Accès aux tables du projet hôte @@ -340,7 +340,7 @@ SAVE RECORD($tablepointer- ## Utilisation de tables et de champs -Un composant ne peut pas utiliser les tables et les champs définis dans la structure 4D du projet utilisé comme matrice. En revanche, il peut créer et utiliser des bases externes, et donc utiliser des tables et des champs en fonction de ses besoins. Les bases externes sont créées et gérées via le langage SQL. En revanche, il peut créer et utiliser des bases externes, et donc utiliser des tables et des champs en fonction de ses besoins. Utiliser une base externe signifie désigner temporairement cette base comme base courante, c’est-à-dire comme base cible des requêtes SQL exécutées par 4D. Les bases externes sont créées à l'aide de la commande SQL `CREATE DATABASE`. +Un composant ne peut pas utiliser les tables et les champs définis dans la structure 4D du projet utilisé comme matrice. En revanche, il peut créer et utiliser des bases externes, et donc utiliser des tables et des champs en fonction de ses besoins. Les bases externes sont créées et gérées via le langage SQL. Une base de données externe est un projet 4D indépendant du projet 4D principal, mais avec lequel vous pouvez travailler à partir du projet 4D principal. Utiliser une base externe signifie désigner temporairement cette base comme base courante, c’est-à-dire comme base cible des requêtes SQL exécutées par 4D. Les bases externes sont créées à l'aide de la commande SQL `CREATE DATABASE`. #### Exemple @@ -457,7 +457,7 @@ Ce fichier n'est pas obligatoire mais il est nécessaire pour construire des com Les clés prises en charge dans les fichiers `Info.plist` des composants sont principalement des [clés bundle d'Apple](https://developer.apple.com/documentation/bundleresources/information-property-list) qui sont ignorées sous Windows. Cependant, elles sont utilisés par le [Gestionnaire de dépendances](../Project/components.md#loading-components) sur toutes les plates-formes. -The following keys can be defined: +Les clés suivantes peuvent être définies : | key | Description | | ---------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | From 55bf23fcbf443973b6eedd158848ce1d8e7f82b8 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Mon, 20 Oct 2025 16:53:17 +0200 Subject: [PATCH 004/137] New translations forms.md (French) --- .../docusaurus-plugin-content-docs/current/FormEditor/forms.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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 e092e3968aa951..b4c8d0fc186071 100644 --- a/i18n/fr/docusaurus-plugin-content-docs/current/FormEditor/forms.md +++ b/i18n/fr/docusaurus-plugin-content-docs/current/FormEditor/forms.md @@ -102,7 +102,7 @@ Sous Windows, 4D prend en charge le rendu de formulaire **Fluent UI**, l'interfa Le rendu Fluent UI offre des contrôles modernes et agréables, la prise en charge des thèmes système dark/light, un rendu plus fluide optimisé pour les écrans haute résolution et une expérience utilisateur cohérente alignée sur les applications Microsoft récentes. -| Light theme | Dark theme | +| Thème clair | Thème sombre | | --------------------------------------- | -------------------------------------------- | | ![](../assets/en/FormEditor/fluent.png) | ![](../assets/en/FormEditor/fluent-dark.png) | From 15231e4b4ccdcfabc3c3bd7180b382f10f3ed657 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Mon, 20 Oct 2025 17:02:02 +0200 Subject: [PATCH 005/137] New translations components.md (French) --- .../current/Project/components.md | 70 +++++++++---------- 1 file changed, 35 insertions(+), 35 deletions(-) diff --git a/i18n/fr/docusaurus-plugin-content-docs/current/Project/components.md b/i18n/fr/docusaurus-plugin-content-docs/current/Project/components.md index 0dd5ed8c4fdfbf..0fcf8715778b01 100644 --- a/i18n/fr/docusaurus-plugin-content-docs/current/Project/components.md +++ b/i18n/fr/docusaurus-plugin-content-docs/current/Project/components.md @@ -3,11 +3,11 @@ id: components title: Dépendances --- -[L'architecture des projets](../Project/architecture.md) 4D est modulaire. Vous pouvez ajouter des fonctionnalités supplémentaires dans vos projets 4D en installant des [**composants**](Concepts/components.md) et des [**plug-ins**](../Concepts/plug-ins.md). Components are made of 4D code, while plug-ins can be [built using any language](../Extensions/develop-plug-ins.md). +[L'architecture des projets](../Project/architecture.md) 4D est modulaire. Vous pouvez ajouter des fonctionnalités supplémentaires dans vos projets 4D en installant des [**composants**](Concepts/components.md) et des [**plug-ins**](../Concepts/plug-ins.md). Les composants sont constitués de code 4D, tandis que les plug-ins peuvent être [construits à l'aide de n'importe quel langage](../Extensions/develop-plug-ins.md). -Vous pouvez [développer](../Extensions/develop-components.md) et [construire](../Desktop/building.md) vos propres composants 4D, ou télécharger des composants publics partagés par la communauté 4D qui se trouvent sur GitHub. +Vous pouvez [développer](../Extensions/develop-components.md) et [construire](../Desktop/building.md) vos propres composants 4D, ou télécharger des composants publics partagés par la communauté 4D [sur GitHub](https://github.com/search?q=4d-component&type=Repositories). -Once installed in your 4D environment, extensions are handled as **dependencies** with specific properties. +Une fois installées dans votre environnement 4D, les extensions sont traitées comme des **dépendances** avec des propriétés spécifiques. ## Composants interprétés et compilés @@ -33,7 +33,7 @@ L'architecture de dossier "Contents" est recommandée pour les composants si vou ::: -## Component Locations +## Emplacements des composants :::note @@ -317,20 +317,20 @@ Les composants GitHub référencés sont téléchargés dans un dossier de cache ...où `` peut être "4D", "4D Server" ou "tool4D". -### Automatic dependency resolution +### Résolution automatique des dépendances -When you add or update a component (whether [local](#local-components) or [from GitHub](#components-stored-on-github)), 4D automatically resolves and installs all dependencies required by that component. Cela inclut : +Lorsque vous ajoutez ou mettez à jour un composant (qu'il soit [local](#local-components) ou [obtenu depuis GitHub](#components-stored-on-github)), 4D résout et installe automatiquement toutes les dépendances requises par ce composant. Cela inclut : -- **Primary dependencies**: Components you explicitly declare in your `dependencies.json` file -- **Secondary dependencies**: Components required by primary dependencies or other secondary dependencies, which are automatically resolved and installed +- les **dépendances primaires** : Composants que vous déclarez explicitement dans votre fichier `dependencies.json`. +- les **dépendances secondaires** : Composants requis par des dépendances primaires ou d'autres dépendances secondaires, qui sont automatiquement résolues et installées. -The Dependency manager reads each component's own `dependencies.json` file and recursively installs all required dependencies, respecting version specifications whenever possible. This eliminates the need to manually identify and add nested dependencies one by one. +Le gestionnaire de dépendances lit le fichier `dependencies.json` de chaque composant et installe récursivement toutes les dépendances nécessaires, en respectant les spécifications de version dans la mesure du possible. Il n'est donc pas nécessaire d'identifier et d'ajouter manuellement les dépendances imbriquées, une par une. -- **Conflict resolution**: When multiple dependencies require [different versions](#) of the same component, the Dependency manager automatically attempts to resolve conflicts by finding a version that satisfies all overlapping version ranges. If a primary dependency conflicts with secondary dependencies, the primary dependency takes precedence. +- **les résolutions de conflits** : Lorsque plusieurs dépendances nécessitent [différentes versions](#) du même composant, le gestionnaire de dépendances tente automatiquement de résoudre les conflits en trouvant une version qui satisfait toutes les plages de versions qui se chevauchent. Si une dépendance primaire entre en conflit avec des dépendances secondaires, la dépendance primaire est prioritaire. :::note -`dependencies.json` files are ignored in components loaded from the [**Components** folder](architecture.md#components). +Les fichiers `dependencies.json` sont ignorés dans les composants chargés depuis le dossier [**Components**](architecture.md#components). ::: @@ -364,19 +364,19 @@ Par défaut, toutes les dépendances identifiées par le Gestionnaire de dépend ![dependency-tabs](../assets/en/Project/dependency-tabs.png) -- **All**: All dependencies including both primary (declared) and secondary (automatically resolved) dependencies in a flat list view. -- **Declared**: Primary dependencies that are explicitly declared in the `dependencies.json` file. This tab helps you distinguish between dependencies you've directly added and those that were [automatically resolved](#automatic-dependency-resolution). -- **Actifs** : Dépendances chargées et utilisables dans le projet. Il comprend des dépendances *overloading*, qui sont effectivement chargées. Les dépendances *overloaded* sont listées dans l'onglet **Conflits**, ainsi que toutes les dépendances conflictuelles. -- **Inactifs** : Dépendances qui ne sont pas chargées dans le projet et qui ne sont pas disponibles. Diverses raisons peuvent expliquer ce statut : fichiers manquants, incompatibilité de version... -- **Conflicts**: Dependencies that are loaded but that overloads at least one other dependency at a lower [priority level](#priority). Les dépendances surchargées sont également affichées afin que vous puissiez vérifier l'origine du conflit et prendre les mesures appropriées. +- **Toutes** : Toutes les dépendances, y compris les dépendances primaires (déclarées) et secondaires (résolues automatiquement), sous forme de liste. +- **Déclarées** : Les dépendances primaires qui sont explicitement déclarées dans le fichier `dependencies.json`. Cet onglet vous aide à distinguer les dépendances que vous avez directement ajoutées de celles qui ont été [automatiquement résolues](#automatic-dependency-resolution). +- **Actives** : Dépendances chargées et utilisables dans le projet. Il comprend des dépendances *overloading*, qui sont effectivement chargées. Les dépendances *overloaded* sont listées dans l'onglet **Conflits**, ainsi que toutes les dépendances conflictuelles. +- **Inactives** : Dépendances qui ne sont pas chargées dans le projet et qui ne sont pas disponibles. Diverses raisons peuvent expliquer ce statut : fichiers manquants, incompatibilité de version... +- **Conflits** : Les dépendances qui sont chargées mais qui surchargent au moins une autre dépendance à un [niveau de priorité](#priority) inférieur. Les dépendances surchargées sont également affichées afin que vous puissiez vérifier l'origine du conflit et prendre les mesures appropriées. -### Secondary dependencies +### Dépendances secondaires -The Dependencies panel displays [**secondary dependencies**](#automatic-dependency-resolution) with the `Component dependency` [origin](#dependency-origin): +Le panneau Dépendances indique les [**dépendances secondaires**](#automatic-dependency-resolution) en affichant comme [origin](#dependency-origin) `Dépendance de composant` : ![recursive-dependency](../assets/en/Project/recursive.png) -When you hover over a secondary dependency, a tooltip displays the parent dependency that requires it. A secondary dependency cannot be [removed](#removing-a-dependency) directly, you must remove or edit the primary dependency that requires it. +Lorsque vous survolez une dépendance secondaire, une infobulle affiche la dépendance parente qui la requiert. Une dépendance secondaire ne peut pas être [supprimée](#removing-a-dependency) directement, vous devez supprimer ou modifier la dépendance primaire qui la requiert. ### Statut des dépendances @@ -403,19 +403,19 @@ Une infobulle s'affiche lorsque vous survolez la ligne de dépendance, fournissa ### Origine de la dépendance -Le panneau Dépendances liste toutes les dépendances du projet, quelle que soit leur origine, c'est-à-dire d'où qu'elles viennent. L'origine de la dépendance est fournie par l'étiquette sous son nom : +Le panneau Dépendances liste toutes les dépendances du projet, quelle que soit leur origine. L'origine de la dépendance est fournie par l'étiquette sous son nom : ![dependency-origin](../assets/en/Project/dependency-origin.png) Les options suivantes sont disponibles : -| Étiquette d'origine | Description | -| ----------------------- | -------------------------------------------------------------------------------------------------------------------------------------------- | -| Built in 4D | Composant 4D intégré, stocké dans le dossier `Components` de l'application 4D | -| Declared in project | Composant déclaré dans le fichier [`dependencies.json`](#dependenciesjson) | -| Declared in environment | Component declared in the [`dependencies.json`](#dependenciesjson) file and overriden in the [`environment4d.json`](#environment4djson) file | -| Dossier Components | Composant situé dans le dossier [`Components`](architecture.md#components) | -| Component dependency | Secondary component ([required by a another component](#automatic-dependency-resolution)) | +| Étiquette | Description | +| ---------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------- | +| Intégré à 4D | Composant 4D intégré, stocké dans le dossier `Components` de l'application 4D | +| Déclaré dans le projet | Composant déclaré dans le fichier [`dependencies.json`](#dependenciesjson) | +| Déclaré dans l'environnement | Composant déclaré dans le fichier [`dependencies.json`](#dependenciesjson) et surchargé dans le fichier [`environment4d.json`](#environment4djson) | +| Dossier Components | Composant situé dans le dossier [`Components`](architecture.md#components) | +| Dépendance de composant | Composant secondaire ([requis par un autre composant](#automatic-dependency-resolution)) | **Cliquez avec le bouton droit de la souris** dans une ligne de dépendance et sélectionnez **Afficher sur le disque** pour révéler l'emplacement d'une dépendance : @@ -469,11 +469,11 @@ Pour ajouter une [dépendance GitHub](#components-stored-on-github), cliquez sur :::note -By default, [components developed by 4D](../Extensions/overview.md#components-developed-by-4d) are listed in the combo box, so that you can easily select and install these features in your environment: +Par défaut, les [composants développés par 4D](../Extensions/overview.md#components-developed-by-4d) sont répertoriés dans la liste, ce qui vous permet de sélectionner et d'installer facilement ces fonctionnalités dans votre environnement : ![dependency-default-git](../assets/en/Project/dependency-default.png) -Components already installed are not listed. +Les composants déjà installés ne sont pas dans la liste. ::: @@ -493,7 +493,7 @@ Définissez la [plage de versions des dépendances](#tags-and-versions) à utili Cliquez sur le bouton **Ajouter** pour ajouter la dépendance au projet. -The GitHub dependency is declared in the [**dependencies.json**](#dependenciesjson) file and added to the [inactive dependency list](#dependency-status) with the **Available at restart** status. Elle sera chargée une fois que l'application aura redémarré. +La dépendance GitHub est déclarée dans le fichier [**dependencies.json**](#dependenciesjson) et ajoutée à la [liste des dépendances inactives](#dependency-status) avec le statut **Disponible après redémarrage**. Elle sera chargée une fois que l'application aura redémarré. #### Définir une plage de versions pour une dépendance GitHub @@ -505,7 +505,7 @@ Vous pouvez définir l'option [règle de dépendance](#tags-and-versions) pour u - **Jusqu'à la version majeure suivante** : Définit une [plage sémantique de versions](#tags-and-versions) pour limiter les mises à jour à la version majeure suivante. - **Jusqu'à la prochaine version mineure** : De même, limite les mises à jour à la version mineure suivante. - **Version exacte (balise)** : Sélectionnez ou saisissez manuellement un [tag spécifique](#tags-and-versions) dans la liste disponible. -- **Suivre la version 4D** : Téléchargez la dernière version du composant compatible avec la version 4D courante. Vous ne pouvez utiliser cette règle de dépendance que si les tags de release des composants respectent la [convention de nommage](#naming-conventions-for-4d-version-tags) appropriée. This option is recommended for the [components developed by 4D](../Extensions/overview.md#components-developed-by-4d). +- **Suivre la version 4D** : Téléchargez la dernière version du composant compatible avec la version 4D courante. Vous ne pouvez utiliser cette règle de dépendance que si les tags de release des composants respectent la [convention de nommage](#naming-conventions-for-4d-version-tags) appropriée. Cette option est recommandée pour les [composants développés par 4D](../Extensions/overview.md#components-developed-by-4d). La version courante de la dépendance GitHub est affichée sur le côté droit de l'élément de la dépendance : @@ -513,7 +513,7 @@ La version courante de la dépendance GitHub est affichée sur le côté droit d #### Modifier la plage de versions des dépendances GitHub -You can modify the [version setting](#defining-a-github-dependency-version-range) for a listed GitHub dependency: select the dependency to modify and select **Edit the dependency...** from the contextual menu. In the "Edit the dependency" dialog box, edit the Dependency Rule menu and click **Apply**. +Vous pouvez modifier le [paramètre de version](#defining-a-github-dependency-version-range) pour une dépendance GitHub listée : sélectionnez la dépendance à modifier et sélectionnez **Editer la dépendance...** dans le menu contextuel. Dans la boîte de dialogue "Editer la dépendance", modifiez le menu Règle de dépendance et cliquez sur **Appliquer**. La modification de la plage de versions est utile par exemple si vous utilisez la fonction de mise à jour automatique et que vous souhaitez verrouiller une dépendance à un numéro de version spécifique. @@ -611,7 +611,7 @@ Pour supprimer une dépendance de la fenêtre Dépendances, sélectionnez la dé :::note -Only primary dependencies declared in the [**dependencies.json**](#dependenciesjson) file can be removed using the Dependencies panel. Secondary dependencies cannot be removed directly - to remove a secondary dependency, you must remove the primary dependency that requires it. Si une dépendance sélectionnée ne peut pas être supprimée, le bouton **-** est désactivé et l'élément de menu **Supprimer la dépendance** est masqué. +Seules les dépendances primaires déclarées dans le fichier [**dependencies.json**](#dependenciesjson) peuvent être supprimées dans la fenêtre Dépendances. Les dépendances secondaires ne peuvent pas être supprimées directement - pour supprimer une dépendance secondaire, vous devez supprimer la dépendance primaire qui la requiert. Si une dépendance sélectionnée ne peut pas être supprimée, le bouton **-** est désactivé et l'élément de menu **Supprimer la dépendance** est masqué. ::: @@ -621,7 +621,7 @@ Une boîte de dialogue de confirmation s'affiche. Si la dépendance a été déc Si vous confirmez la boîte de dialogue, le [statut](#dependency-status) de la dépendance supprimée est automatiquement modifié en "Déchargé après redémarrage". Elle sera chargée une fois que l'application aura redémarré. -#### Dependency usage warnings +#### Avertissements relatifs à l'utilisation des dépendances -When you attempt to remove a primary dependency that is required by other dependencies in your project, you will be warned that the dependency is still in use. The system will display which other dependencies require it and prompt you to confirm the removal, as removing it may cause those dependent components to stop working properly. +Lorsque vous tentez de supprimer une dépendance primaire qui est requise par d'autres dépendances dans votre projet, vous serez averti que la dépendance est toujours en cours d'utilisation. Le système affichera les autres dépendances qui la requièrent et vous demandera de confirmer la suppression, car celle-ci peut entraîner l'arrêt du fonctionnement de ces composants dépendants. From 176674336da7b4379efca7b2a22ad0d906afbb8a Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Mon, 20 Oct 2025 18:26:20 +0200 Subject: [PATCH 006/137] New translations webarea_overview.md (Spanish) --- .../current/FormObjects/webArea_overview.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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 9ecdfb1282a9cb..75ae00ef3c98c9 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 @@ -9,7 +9,7 @@ Es posible crear varias áreas web en el mismo formulario. Tenga en cuenta, sin Varias [acciones estándar](#standard-actions) dedicadas, numerosos [comandos de lenguaje](../category/web-area) así como [eventos de formulario](#form-events) genéricos y específicos permiten al desarrollador controlar el funcionamiento de las áreas web. Se pueden utilizar variables específicas para intercambiar información entre el área y el entorno 4D. -:::info Displaying Qodly pages +:::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. From 6a8bc02797f906749c24d3192b88bf835f73710b Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Mon, 20 Oct 2025 18:27:12 +0200 Subject: [PATCH 007/137] New translations http-request-handler.md (Spanish) --- .../current/WebServer/http-request-handler.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/i18n/es/docusaurus-plugin-content-docs/current/WebServer/http-request-handler.md b/i18n/es/docusaurus-plugin-content-docs/current/WebServer/http-request-handler.md index abf30606fa7f39..72aff3bfa10d5a 100644 --- a/i18n/es/docusaurus-plugin-content-docs/current/WebServer/http-request-handler.md +++ b/i18n/es/docusaurus-plugin-content-docs/current/WebServer/http-request-handler.md @@ -73,7 +73,7 @@ You must restart the Web server so that modifications made in this file are take Un manejador está definido por: -- a listened URL pattern +- un patrón de URL a interceptar - a function and its class where the code is implemented to handle the listened URL pattern - the verbs with which the URL can be called to trigger the handler From c93067de9039f65324773a34a9a40b7a33d30ddc Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Mon, 20 Oct 2025 18:27:58 +0200 Subject: [PATCH 008/137] New translations managing-formulas.md (Spanish) --- .../current/WritePro/managing-formulas.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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 608c443e16e75e..111fc3f6c16408 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 @@ -100,7 +100,7 @@ When used in a formula within the table, the **This** keyword gives access to di | 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 | Index of the current row, starting from 1 | -| Cuando se ha definido una fuente de datos para la tabla | [This](../commands/this.md).table.dataSource | Objet (fórmula) | Datasource as a formula | +| 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 or Entity selection (usually) | 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 | Index of the current item in the collection or entity selection, starting from 0 | From e8c53b7bc0d0e32e646cc8207bd6b58de58c08eb Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Mon, 20 Oct 2025 18:54:24 +0200 Subject: [PATCH 009/137] New translations classes.md (French) --- .../version-19/Concepts/classes.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-19/Concepts/classes.md b/i18n/fr/docusaurus-plugin-content-docs/version-19/Concepts/classes.md index b068509990a7b8..ba53cb648b9458 100644 --- a/i18n/fr/docusaurus-plugin-content-docs/version-19/Concepts/classes.md +++ b/i18n/fr/docusaurus-plugin-content-docs/version-19/Concepts/classes.md @@ -282,7 +282,7 @@ Class constructor({$parameterName : type; ...}) :::note -Il n'y a pas de mot-clé de fin pour le code d'une fonction class constructor. Il n'y a pas de mot-clé de fin pour le code d'une fonction. +Il n'y a pas de mot-clé de fin pour le code d'une fonction de constructeur de classe. Il n'y a pas de mot-clé de fin pour le code d'une fonction. ::: From 216970a60d4780997e019a6d247b0d8a84bb69e6 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Mon, 20 Oct 2025 18:54:30 +0200 Subject: [PATCH 010/137] New translations components.md (French) --- .../version-19/Concepts/components.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-19/Concepts/components.md b/i18n/fr/docusaurus-plugin-content-docs/version-19/Concepts/components.md index 5118d0a7d8bbed..b2bbd2676e7739 100644 --- a/i18n/fr/docusaurus-plugin-content-docs/version-19/Concepts/components.md +++ b/i18n/fr/docusaurus-plugin-content-docs/version-19/Concepts/components.md @@ -180,7 +180,7 @@ SAVE RECORD($tablepointer->) ## Utilisation de tables et de champs -Un composant ne peut pas utiliser les tables et les champs définis dans la structure 4D du projet utilisé comme matrice. En revanche, il peut créer et utiliser des bases externes, et donc utiliser des tables et des champs en fonction de ses besoins. Les bases externes sont créées et gérées via le langage SQL. En revanche, il peut créer et utiliser des bases externes, et donc utiliser des tables et des champs en fonction de ses besoins. Utiliser une base externe signifie désigner temporairement cette base comme base courante, c’est-à-dire comme base cible des requêtes SQL exécutées par 4D. Les bases externes sont créées à l'aide de la commande SQL `CREATE DATABASE`. +Un composant ne peut pas utiliser les tables et les champs définis dans la structure 4D du projet utilisé comme matrice. En revanche, il peut créer et utiliser des bases externes, et donc utiliser des tables et des champs en fonction de ses besoins. Les bases externes sont créées et gérées via le langage SQL. Une base de données externe est un projet 4D indépendant du projet 4D principal, mais avec lequel vous pouvez travailler à partir du projet 4D principal. Utiliser une base externe signifie désigner temporairement cette base comme base courante, c’est-à-dire comme base cible des requêtes SQL exécutées par 4D. Les bases externes sont créées à l'aide de la commande SQL `CREATE DATABASE`. ### Exemple From c61efd0ae7fdb4073c97e9b8bcfb522f6e8b591e Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Mon, 20 Oct 2025 19:00:39 +0200 Subject: [PATCH 011/137] New translations formeditor.md (French) --- .../version-19/FormEditor/formEditor.md | 28 +++++++++---------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-19/FormEditor/formEditor.md b/i18n/fr/docusaurus-plugin-content-docs/version-19/FormEditor/formEditor.md index 76df3863376f97..34145b3195459d 100644 --- a/i18n/fr/docusaurus-plugin-content-docs/version-19/FormEditor/formEditor.md +++ b/i18n/fr/docusaurus-plugin-content-docs/version-19/FormEditor/formEditor.md @@ -56,7 +56,7 @@ La barre d’outils comporte les éléments suivants : | Icône | Nom | Description | | ------------------------------------------------ | --------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | ![](../assets/en/FormEditor/execute.png) | Exécuter le formulaire | Permet de tester l’exécution du formulaire. Lorsque vous cliquez sur ce bouton, 4D ouvre une nouvelle fenêtre et affiche le formulaire dans son contexte (liste d’enregistrements pour un formulaire liste et enregistrement courant en page pour un formulaire détaillé). Le formulaire est exécuté dans le process principal. | -| ![](../assets/en/FormEditor/selection.png) | [Flèche de sélection](#selecting-objects) | Permet de sélectionner, déplacer et redimensionner les objets du formulaire.

**Note** : Lorsqu'un objet de type Texte ou Zone de Groupe est sélectionné, appuyez sur la touche **Entrée** pour passer en mode édition.

| +| ![](../assets/en/FormEditor/selection.png) | [Flèche de sélection](#selecting-objects) | Allows selecting, moving and resizing form objects.
**Note**: When an object of the Text or Group Box type is selected, pressing the **Enter** key lets you switch to editing mode. | | ![](../assets/en/FormEditor/zOrder.png) | [Ordre de saisie](#data-entry-order) | Passe en mode “Ordre de saisie”, dans lequel il est possible de visualiser et de modifier l’ordre de saisie courant du formulaire. A noter que vous pouvez également visualiser l’ordre de saisie courant tout en travaillant dans le formulaire. | | ![](../assets/en/FormEditor/moving.png) | [Déplacement](#moving-objects) | Passe en mode “Déplacement”, dans lequel il est possible d’atteindre rapidement n’importe quelle partie du formulaire en le faisant directement glisser dans la fenêtre. Le curseur prend la forme d’une main. Ce mode de navigation est particulièrement utile en cas de zoom dans le formulaire. | | ![](../assets/en/FormEditor/zoom.png) | [Zoom](#zoom) | Permet de modifier l’échelle d’affichage du formulaire (100% par défaut). Vous pouvez passer en mode “Zoom” en cliquant sur le bouton loupe ou en cliquant directement sur la barre correspondant à l’échelle désirée. Cette fonction est détaillée dans le paragraphe précédent. | @@ -146,11 +146,11 @@ Avant de pouvoir réaliser une opération sur un objet (comme le changement de l Pour sélectionner un objet à l’aide de la barre d’outils : -1. Cliquez sur l’outil Flèche dans la barre d’outils.

![](../assets/en/FormEditor/selection.png)

+1. Cliquez sur l’outil Flèche dans la barre d’outils.
![](../assets/en/FormEditor/selection.png) -

Lorsque vous le faites glisser au-dessus du formulaire, le pointeur prend la forme du pointeur standard

. +
Lorsque vous le faites glisser au-dessus du formulaire, le pointeur prend la forme du pointeur standard. -2. Cliquez sur l’objet que vous souhaitez sélectionner. Des poignées de sélection identifient l’objet sélectionné.

![](../assets/en/FormEditor/selectResize.png)

+2. Cliquez sur l’objet que vous souhaitez sélectionner. Des poignées de sélection identifient l’objet sélectionné.
![](../assets/en/FormEditor/selectResize.png) Pour sélectionner un objet à l’aide de la Liste des propriétés : @@ -235,13 +235,12 @@ Grouper des objets n’a d’effet que dans l’éditeur de formulaires. Lors de Pour grouper les objets : 1. Sélectionnez les objets que vous souhaitez grouper. -2. Sélectionnez **Grouper** dans le menu Objets. OR Click the Group button in the toolbar of the Form editor:

![](../assets/en/FormEditor/group.png)

-4D matérialise les bordures du groupe avec des poignées. Les objets du groupe ne sont plus marqués séparément par des poignées. Désormais, lorsque vous modifiez le groupe d’objets, vous modifiez tous les objets qui le composent. +2. Sélectionnez **Grouper** dans le menu Objets. OR Click the Group button in the toolbar of the Form editor:
![](../assets/en/FormEditor/group.png) 4D marks the boundary of the newly grouped objects with handles. Les objets du groupe ne sont plus marqués séparément par des poignées. Désormais, lorsque vous modifiez le groupe d’objets, vous modifiez tous les objets qui le composent. Pour dégrouper un groupe d’objets : 1. Sélectionnez le groupe que vous souhaitez dégrouper. -2. Choisissez **Dégrouper** dans le menu **Objets**.

OU

Sélectionnez la commande **Dégrouper** (menu du bouton **Grouper**) dans la barre d’outils de l’éditeur de formulaires.

Si la commande **Dégrouper** est désactivée, cela veut dire que l’objet sélectionné est déjà sous sa forme la plus simple.

4D rematérialise les bordures des objets qui constituaient le groupe avec des poignées. +2. Choose **Ungroup** from the **Object** menu.
OR
Click the **Ungroup** button (variant of the **Group** button) in the toolbar of the Form editor.
If **Ungroup** is dimmed, this means that the selected object is already separated into its simplest form. 4D rematérialise les bordures des objets qui constituaient le groupe avec des poignées. ### Aligner des objets @@ -268,9 +267,10 @@ La boîte de dialogue d’alignement vous permet d’appliquer tout type d’ali Pour afficher cette boîte de dialogue, vous devez sélectionner les objets que vous souhaitez aligner puis choisir la commande **Alignement...** dans le sous-menu **Aligner** du menu **Objets** ou du menu contextuel de l’éditeur. -- Cliquez sur l’icône d’alignement de votre choix dans les zones “Alignement droite/gauche” et/ou “Alignement haut/bas”.

La zone d’exemple illustre le principe de l’opération sélectionnée.

+- Dans les zones “Alignement droite/gauche” et/ou “Alignement haut/bas”, cliquez sur l’icône correspondant à l'alignement que vous souhaitez effectuer.
La zone d'exemple affiche les résultats de votre sélection. + +- Pour effectuer un alignement standard des objets sélectionnés, cliquez sur le bouton **Prévisualisation** ou **Appliquer**. Dans ce cas, 4D utilisera l’objet le plus avancé dans la direction de l’alignement comme “ancre” sur laquelle tous les autres objets vont être alignés. Par exemple, si vous alignez un groupe d’objets à droite, les objets seront alignés sur le côté droit de l’objet situé le plus à droite du groupe. OR:
To align objects to a specific object, select the **Align on** option and select the object to which you want the other objects to be aligned from the object list. Dans ce cas, la position de l’objet de référence ne variera pas. -- Pour effectuer un alignement standard des objets sélectionnés, cliquez sur le bouton **Prévisualisation** ou **Appliquer**. Dans ce cas, 4D utilisera l’objet le plus avancé dans la direction de l’alignement comme “ancre” sur laquelle tous les autres objets vont être alignés. Par exemple, si vous alignez un groupe d’objets à droite, les objets seront alignés sur le côté droit de l’objet situé le plus à droite du groupe. OU BIEN :

Pour aligner des objets sur un objet spécifique, sélectionnez l'option **Aligner sur** et sélectionnez l'objet sur lequel vous souhaitez que les autres objets soient alignés dans la liste des objets. Dans ce cas, la position de l’objet de référence ne variera pas.

Vous pouvez prévisualiser le résultat réel de vos paramétrages en cliquant sur le bouton **Prévisualisation**. Les objets sont ensuite alignés dans l'éditeur de formulaires, mais comme la boîte de dialogue ne disparaît pas, vous pouvez toujours annuler ou appliquer l'alignement. > Cette boîte de dialogue combine l’alignement d’objets et leur répartition. Pour plus d’informations sur la répartition, reportez-vous au paragraphe [Répartir des objets](#distributing-objects). @@ -304,7 +304,7 @@ Pour répartir directement une sélection d’objets (verticalement ou horizonta 1. Sélectionnez les objets (au moins trois) que vous souhaitez répartir. -2. Dans la barre d’outils, cliquez sur l’outil de répartition qui correspond la répartition que vous souhaitez appliquer.

![](../assets/en/FormEditor/distributionTool.png)

OU

Sélectionnez une commande de distribution dans le sous-menu **Alignement** du menu **Objet** ou dans le menu contextuel de l'éditeur.

4D distribue les objets en conséquence. Les objets sont répartis en fonction de la distance entre leurs centres et la plus grande distance entre deux objets consécutifs est utilisée comme référence. +2. In the toolbar, click on the distribution tool that corresponds to the distribution you want to apply.
![](../assets/en/FormEditor/distributionTool.png)
OR
Select a distribution menu command from the **Align** submenu in the **Object** menu or from the context menu of the editor. 4D distribue les objets en conséquence. Les objets sont répartis en fonction de la distance entre leurs centres et la plus grande distance entre deux objets consécutifs est utilisée comme référence. Pour répartir des objets à l’aide de la boîte de dialogue d'alignement et répartition : @@ -312,9 +312,9 @@ Pour répartir des objets à l’aide de la boîte de dialogue d'alignement et r 2. Choisissez la commande **Alignement...** dans le sous-menu **Aligner** du menu **Objets** ou du menu contextuel de l’éditeur. La boîte de dialogue suivante apparaît :![](../assets/en/FormEditor/alignmentAssistant.png) -3. Cliquez sur l’icône de répartition standard (horizontale ou verticale) de votre choix: ![](../assets/en/FormEditor/horizontalDistribution.png)

(icône de répartition horizontale standard)

La zone d’exemple illustre le principe de l’opération sélectionnée. +3. In the Left/Right Alignment and/or Top/Bottom Alignment areas, click the standard distribution icon: ![](../assets/en/FormEditor/horizontalDistribution.png)
(Standard horizontal distribution icon)
The example area displays the results of your selection. -4. Pour effectuer une répartition standard, cliquez sur le bouton **Prévisualisation** ou *Appliquer*.

Dans ce cas, les objets seront répartis de manière à ce que leurs côtés soient équidistants (répartition standard).

OU BIEN :

Pour exécuter une distribution spécifique, sélectionnez l'option **Répartir** (par exemple si vous souhaitez répartir les objets en fonction de la distance de leur côté droit). Cette option agit comme un interrupteur. Lorsque l'option Répartir est cochée, les icônes situées au-dessous d’elle s’appliquent alors à la répartition :

+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). Cette option agit comme un interrupteur. Lorsque l'option Répartir est cochée, les icônes situées au-dessous d’elle s’appliquent alors à la répartition :
- Horizontalement, les icônes correspondent aux répartitions suivantes : équidistance des côtés gauches, des centres (hor.) et des côtés droits des objets sélectionnés. - Verticalement, les icônes correspondent aux répartitions suivantes : équidistance des bords supérieurs, des centres (vert.) et des bords inférieurs des objets sélectionnés. @@ -367,11 +367,11 @@ Ce paragraphe décrit la visualisation et la modification de l’ordre de saisie Pour visualiser ou modifier l’ordre de saisie : -1. Sélectionnez **Ordre de saisie** dans le menu **Formulaire** ou cliquez sur le bouton dans la barre d’outils de la fenêtre :

![](../assets/en/FormEditor/zOrder.png)

+1. Sélectionnez **Ordre de saisie** dans le menu **Formulaire** ou cliquez sur le bouton dans la barre d’outils de la fenêtre :
![](../assets/en/FormEditor/zOrder.png)
Le pointeur prend la forme d’un pointeur d’ordre, et 4D dessine une ligne qui permet de visualiser la séquence de l’ordre de saisie courant. Visualiser et modifier l’ordre de saisie sont les seules opérations que vous pouvez réaliser dans ce mode. -2. Pour changer l’ordre de saisie, placez le pointeur sur un objet, cliquez dessus et, tout en maintenant le bouton de la souris enfoncé, déplacez le pointeur vers l’objet qui doit le suivre dans l’ordre de saisie.

![](../assets/en/FormEditor/entryOrder3.png)

4D ajuste l’ordre de saisie en conséquence. +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.
![](../assets/en/FormEditor/entryOrder3.png)
4D will adjust the entry order accordingly. 3. Répétez l’étape 2 autant de fois que nécessaire pour obtenir le nouvel ordre de saisie. From 8527e4dee451aad62dee8600314eda9aa5bfac50 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Mon, 20 Oct 2025 19:00:41 +0200 Subject: [PATCH 012/137] New translations formeditor.md (Spanish) --- .../version-19/FormEditor/formEditor.md | 28 +++++++++---------- 1 file changed, 14 insertions(+), 14 deletions(-) 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 bfc77eab3e903f..8deb72f19dca7d 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 @@ -56,7 +56,7 @@ La barra de herramientas contiene los siguientes elementos: | Icono | Nombre | Descripción | | ------------------------------------------------ | ----------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | ![](../assets/en/FormEditor/execute.png) | Ejecutar el formulario | Se utiliza para probar la ejecución del formulario. Al presionar este botón, 4D abre una nueva ventana y muestra el formulario en su contexto (lista de registros para un formulario lista y página de registro actual para un formulario detallado). El formulario se ejecuta en el proceso principal. | -| ![](../assets/en/FormEditor/selection.png) | [Herramienta de selección](#selecting-objects) | Permite seleccionar, mover y redimensionar los objetos del formulario.

**Nota**: cuando se selecciona un objeto de tipo Texto o Área de Grupo, al presionar la tecla **Intro** se pasa al modo de edición.

| +| ![](../assets/en/FormEditor/selection.png) | [Herramienta de selección](#selecting-objects) | Allows selecting, moving and resizing form objects.
**Note**: When an object of the Text or Group Box type is selected, pressing the **Enter** key lets you switch to editing mode. | | ![](../assets/en/FormEditor/zOrder.png) | [Orden de entrada](#data-entry-order) | Pasa al modo "Orden de entrada", donde es posible ver y cambiar el orden de entrada actual del formulario. Tenga en cuenta que las marcas permiten ver el orden de entrada actual, sin dejar de trabajar en el formulario. | | ![](../assets/en/FormEditor/moving.png) | [Desplazamiento](#moving-objects) | Pasa al modo " Desplazamiento ", en el que es posible llegar rápidamente a cualquier parte del formulario utilizando la función de arrastrar y soltar en la ventana. El cursor toma la forma de una mano. Este modo de navegación es especialmente útil cuando se hace zoom en el formulario. | | ![](../assets/en/FormEditor/zoom.png) | [Zoom](#zoom) | Permite modificar la escala de visualización del formulario (100% por defecto). Puede pasar al modo "Zoom" haciendo clic en la lupa o pulsando directamente en la barra correspondiente a la escala deseada. Esta función se detalla en la sección anterior. | @@ -146,11 +146,11 @@ Antes de poder realizar cualquier operación en un objeto (como cambiar el ancho Para seleccionar un objeto utilizando la barra de herramientas: -1. Haga clic en la herramienta Flecha de la barra de herramientas.

![](../assets/en/FormEditor/selection.png)

+1. Haga clic en la herramienta Flecha de la barra de herramientas.
![](../assets/en/FormEditor/selection.png) -

Cuando se mueve el puntero en el área del formulario, se convierte en un puntero estándar con forma de flecha

. +
Cuando se 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.

![](../assets/en/FormEditor/selectResize.png)

+2. Haga clic en el objeto que desea seleccionar. Las manillas de redimensionamiento identifican el objeto seleccionado.
![](../assets/en/FormEditor/selectResize.png) Para seleccionar un objeto utilizando la Lista de propiedades: @@ -235,13 +235,12 @@ La agrupación sólo afecta a los objetos en el editor de formularios. Cuando se Para agrupar los objetos: 1. Seleccione los objetos que desea agrupar. -2. Elija **Agrupar** en el menú Objetos. OR Click the Group button in the toolbar of the Form editor:

![](../assets/en/FormEditor/group.png)

-4D marca el límite de los objetos recién agrupados con marcas. No hay marcas que delimiten ninguno de los objetos individuales del grupo. Ahora, al modificar el objeto agrupado, se modifican todos los objetos que componen el grupo. +2. Elija **Agrupar** en el menú Objetos. OR Click the Group button in the toolbar of the Form editor:
![](../assets/en/FormEditor/group.png) 4D marks the boundary of the newly grouped objects with handles. No hay marcas que delimiten ninguno de los objetos individuales del grupo. Ahora, al modificar el objeto agrupado, se modifican todos los objetos que componen el grupo. Para desagrupar un grupo de objetos: 1. Seleccione el grupo de objetos que desea desagrupar. -2. Elija **Desagrupar** en el menú **Objetos**.

O

Haga clic en el botón **Desagrupar** (menú del botón **Agrupar**) de 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. +2. Choose **Ungroup** from the **Object** menu.
OR
Click the **Ungroup** button (variant of the **Group** button) in the toolbar of the Form editor.
If **Ungroup** is dimmed, this means that the selected object is already separated into its simplest form. 4D marca los bordes de los objetos individuales con marcas. ### Alinear objetos @@ -268,9 +267,10 @@ El Asistente de Alineación permite realizar cualquier tipo de alineación y/o d Para mostrar esta caja de diálogo, seleccione los objetos que desee alinear y, a continuación, elija el comando **Alineación** del submenú **Alinear** del menú **Objeto** o del menú contextual del editor. -- En las áreas "Alineación izquierda/derecha" y/o "Alineación superior/inferior", haga clic en el icono que corresponde a la alineación que desea realizar.

El área de ejemplo muestra los resultados de su selección.

+- En las áreas "Alineación izquierda/derecha" y/o "Alineación superior/inferior", haga clic en el icono que corresponda a la alineación que desee realizar.
El área de ejemplo muestra los resultados de su selección. + +- Para realizar una alineación que utilice el esquema de anclaje estándar, haga clic en **Ver** o **Aplicar**. En este caso, 4D utiliza el objeto que está más lejos en la dirección de la alineación como ancla y alinea los otros objetos a ese objeto. Por ejemplo, si quiere realizar una alineación a la derecha en un conjunto de objetos, el objeto más a la derecha se utilizará como ancla. OR:
To align objects to a specific object, select the **Align on** option and select the object to which you want the other objects to be aligned from the object list. En este caso, la posición del objeto de referencia no se alterará. -- Para realizar una alineación que utilice el esquema de anclaje estándar, haga clic en **Ver** o **Aplicar**. En este caso, 4D utiliza el objeto que está más lejos en la dirección de la alineación como ancla y alinea los otros objetos a ese objeto. Por ejemplo, si quiere realizar una alineación a la derecha en un conjunto de objetos, el objeto más a la derecha se utilizará como ancla. For instance, if you want to perform a right alignment on a set of objects, the rightmost object will be used as the anchor.

Para alinear los objetos a un objeto específico, seleccione la opción **Alinear en** y seleccione el objeto al que desea que se alineen los demás objetos de la lista de objetos. En este caso, la posición del objeto de referencia no se alterará.

Puede previsualizar los resultados de la alineación haciendo clic en el botón **Previsualización**. Los objetos se alinean entonces en el editor de formularios, pero como la caja de diálogo permanece en el primer plano, aún puede cancelar o aplicar la alineación. > Esta caja de diálogo le permite alinear y distribuir objetos en una sola operación. Para más información sobre cómo distribuir objetos, consulte [Repartir objetos](#distribuir-objetos). @@ -304,7 +304,7 @@ Para repartir los objetos con igual espacio: 1. Seleccione tres o más objetos y haga clic en la herramienta Distribuir correspondiente. -2. En la barra de herramientas, haga clic en la herramienta de distribución que corresponde a la distribución que desea aplicar.

![](../assets/en/FormEditor/distributionTool.png)

O

Seleccione un comando del menú de distribución en el submenú **Alinear** del menú **Objeto** o en el menú contextual del 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. +2. In the toolbar, click on the distribution tool that corresponds to the distribution you want to apply.
![](../assets/en/FormEditor/distributionTool.png)
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: @@ -312,9 +312,9 @@ Para distribuir objetos utilizando la caja de diálogo Alinear y Distribuir: 2. Seleccione el comando **Alineación** del submenú **Alinear** del menú **Objeto** o del menú contextual del editor. Aparece la siguiente caja de diálogo:![](../assets/en/FormEditor/alignmentAssistant.png) -3. En las áreas Alineación izquierda/derecha y/o Alineación superior/inferior, haga clic en el icono de distribución estándar: ![](../assets/en/FormEditor/horizontalDistribution.png)

(Icono de distribución horizontal estándar)

El área de ejemplo muestra los resultados de su selección. +3. In the Left/Right Alignment and/or Top/Bottom Alignment areas, click the standard distribution icon: ![](../assets/en/FormEditor/horizontalDistribution.png)
(Standard horizontal distribution icon)
The example area displays the results of your selection. -4. Para efectuar una repartición estándar que utilice el esquema estándar, haga clic en **Previsualización** o *Aplicar*.

En este caso, 4D realizará una distribución estándar, de modo que los objetos se dispongan con la misma cantidad de espacio entre ellos.

For instance, if you want to perform a right alignment on a set of objects, the rightmost object will be used as the anchor.

Para efectuar una distribución específica, seleccione la opción **Distribuir** (por ejemplo, si desea distribuir los objetos en función de la distancia a su lado derecho). 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. 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:
- Horizontalmente, los iconos corresponden a las siguientes distribuciones: uniformemente con respecto a los lados izquierdo, central (hor.) y derecho de los objetos seleccionados. - Verticalmente, los iconos corresponden a las siguientes distribuciones: uniformemente con respecto a los bordes superiores, centros (vert.) y bordes inferiores de los objetos seleccionados. @@ -367,11 +367,11 @@ Este párrafo describe la visualización y la modificación del orden de entrada Para ver o cambiar el orden de entrada: -1. Seleccione **Orden de entrada** en el menú **Formulario** o haga clic en el botón Orden de entrada en la barra de herramientas de la ventana:

![](../assets/en/FormEditor/zOrder.png)

+1. Seleccione **Orden de entrada** en el menú **Formulario** o haga clic en el botón Orden de entrada en la barra de herramientas de la ventana:
![](../assets/en/FormEditor/zOrder.png)
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. Para cambiar el orden de entrada de datos, sitúe el puntero sobre un objeto del formulario y, mientras mantiene presionado el botón del ratón, arrastre el puntero hasta el objeto que desee que siga en el orden de entrada de datos.

![](../assets/en/FormEditor/entryOrder3.png)

4D ajustará la orden de entrada en consecuencia. +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.
![](../assets/en/FormEditor/entryOrder3.png)
4D will adjust the entry order accordingly. 3. Repita el paso 2 tantas veces como sea necesario para establecer el orden de entrada de datos que desee. From ec6ed940bead2fd3b839af2ffe85ad38272a18b5 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Mon, 20 Oct 2025 19:00:44 +0200 Subject: [PATCH 013/137] New translations formeditor.md (Japanese) --- .../version-19/FormEditor/formEditor.md | 62 +++++++++---------- 1 file changed, 31 insertions(+), 31 deletions(-) diff --git a/i18n/ja/docusaurus-plugin-content-docs/version-19/FormEditor/formEditor.md b/i18n/ja/docusaurus-plugin-content-docs/version-19/FormEditor/formEditor.md index c5b1e8bee004a5..62c02ed59851a0 100644 --- a/i18n/ja/docusaurus-plugin-content-docs/version-19/FormEditor/formEditor.md +++ b/i18n/ja/docusaurus-plugin-content-docs/version-19/FormEditor/formEditor.md @@ -53,24 +53,24 @@ title: フォームエディター ツールバーには以下の要素があります: -| アイコン | 名称 | 説明 | -| ------------------------------------------------ | ------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------- | -| ![](../assets/en/FormEditor/execute.png) | フォーム実行 | フォームの実行をテストするために使用します。 このボタンをクリックすると、4D は新しいウィンドウを開き、そのコンテキストでフォームを表示します (リストフォームの場合レコードリスト、詳細フォームの場合カレントレコード)。 フォームはメインプロセスで実行されます。 | -| ![](../assets/en/FormEditor/selection.png) | [選択ツール](#selecting-objects) | フォームオブジェクトの選択・移動・リサイズをおこないます。

**注**: テキストやグループボックスタイプのオブジェクトを選択すると、**Enter**キーを押すことで編集モードになります。

| -| ![](../assets/en/FormEditor/zOrder.png) | [入力順](#data-entry-order) | "入力順" モードに切り替わり、フォームの現在の入力順を表示・変更できます。 入力順は、バッジを使用して確認することもできます。 | -| ![](../assets/en/FormEditor/moving.png) | [移動](#moving-objects) | "移動" モードに移行し、ウィンドウ中をドラッグ&ドロップすることで素早くフォームの表示部分を移動することができます。 このモードでカーソルは手の形になります。 このモードは、フォームを拡大表示している時に特に便利です。 | -| ![](../assets/en/FormEditor/zoom.png) | [拡大](#zoom) | フォーム表示の拡大/縮小率を変更できます (デフォルトで100%)。 "拡大/縮小" モードにするには虫眼鏡をクリックするか、拡大/縮小率バーをクリックします。 この機能は前節で説明しています。 | -| ![](../assets/en/FormEditor/alignment.png) | [整列](#aligning-objects) | このボタンには、フォーム中でオブジェクトを均等に配置するためのメニューがリンクされています。 このボタンは選択されているオブジェクトに応じて有効/無効になります。
選択オブジェクトの位置が CSSプロパティによりロックされている場合は無効です。 | -| ![](../assets/en/FormEditor/distribution.png) | [均等配置](#distributing-objects) | このボタンには、フォーム中でオブジェクトの並びを揃えるためのメニューがリンクされています。 このボタンは選択されているオブジェクトに応じて有効/無効になります。
選択オブジェクトの位置が CSSプロパティによりロックされている場合は無効です。 | -| ![](../assets/en/FormEditor/level.png) | [レベル](#layering-objects) | このボタンには、フォーム上のオブジェクトの階層を変更するためのメニューが関連付けられています。 このボタンは選択されているオブジェクトに応じて有効/無効になります。 | -| ![](../assets/en/FormEditor/group.png) | [グループ化/グループ解除](#grouping-objects) | このボタンには、フォーム上の選択オブジェクトのグループ化やグループ解除をおこなうためのメニューが関連付けられています。 このボタンは選択されているオブジェクトに応じて有効/無効になります。 | -| ![](../assets/en/FormEditor/displyAndPage.png) | [表示とページ管理](forms.html#form-pages) | このエリアを使用して、フォームページ間の移動やページの追加ができます。 フォームページを移動するには矢印ボタンをクリックするか、または中央のエリアをクリックすると現われるメニューから表示したいページを選択します。 最終ページが表示されている状態で、右矢印ボタンをクリックすると、4D はページを追加します。 | -| ![](../assets/en/FormEditor/cssPreviewicon.png) | [CSSプレビュー](#css-preview) | このボタンで、使用する CSSモードを選択します。 | -| ![](../assets/en/FormEditor/views.png) | [ビュー管理](#views) | このボタンは、ビューパレットの表示や非表示をおこないます。 この機能については "オブジェクトビューを使用する" で説明しています。 | -| ![](../assets/en/FormEditor/shields2.png) | [バッジ表示](#shields) | このボタンをクリックするたびに、すべてのタイプのフォームバッジが順に表示されます。 また、このボタンには、表示するバッジタイプを直接選択できるメニューが関連付けられています。 | -| ![](../assets/en/FormEditor/library.png) | [定義済みオブジェクトライブラリ](objectLibrary.html) | このボタンは定義済みオブジェクトライブラリを表示します。 このライブラリは定義済みのプロパティを持つオブジェクトを多数提供します。 | -| ![](../assets/en/FormEditor/listBoxBuilder1.png) | [リストボックスビルダー](#list-box-builder) | このボタンは、新しいエンティティセレクション型リストボックスを作成します。 | -| ![](../assets/en/FormEditor/insertFields.png) | [フィールドを挿入](#insert-fields) | このボタンは、テーブルフォームにおいて、親テーブルの全フィールド (オブジェクト型と BLOB型を除く) をインターフェース標準に従ってラベル付きで挿入します。 | +| アイコン | 名称 | 説明 | +| ------------------------------------------------ | ------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| ![](../assets/en/FormEditor/execute.png) | フォーム実行 | フォームの実行をテストするために使用します。 このボタンをクリックすると、4D は新しいウィンドウを開き、そのコンテキストでフォームを表示します (リストフォームの場合レコードリスト、詳細フォームの場合カレントレコード)。 フォームはメインプロセスで実行されます。 | +| ![](../assets/en/FormEditor/selection.png) | [選択ツール](#selecting-objects) | Allows selecting, moving and resizing form objects.
**Note**: When an object of the Text or Group Box type is selected, pressing the **Enter** key lets you switch to editing mode. | +| ![](../assets/en/FormEditor/zOrder.png) | [入力順](#data-entry-order) | "入力順" モードに切り替わり、フォームの現在の入力順を表示・変更できます。 入力順は、バッジを使用して確認することもできます。 | +| ![](../assets/en/FormEditor/moving.png) | [移動](#moving-objects) | "移動" モードに移行し、ウィンドウ中をドラッグ&ドロップすることで素早くフォームの表示部分を移動することができます。 このモードでカーソルは手の形になります。 このモードは、フォームを拡大表示している時に特に便利です。 | +| ![](../assets/en/FormEditor/zoom.png) | [拡大](#zoom) | フォーム表示の拡大/縮小率を変更できます (デフォルトで100%)。 "拡大/縮小" モードにするには虫眼鏡をクリックするか、拡大/縮小率バーをクリックします。 この機能は前節で説明しています。 | +| ![](../assets/en/FormEditor/alignment.png) | [整列](#aligning-objects) | このボタンには、フォーム中でオブジェクトを均等に配置するためのメニューがリンクされています。 このボタンは選択されているオブジェクトに応じて有効/無効になります。
選択オブジェクトの位置が CSSプロパティによりロックされている場合は無効です。 | +| ![](../assets/en/FormEditor/distribution.png) | [均等配置](#distributing-objects) | このボタンには、フォーム中でオブジェクトの並びを揃えるためのメニューがリンクされています。 このボタンは選択されているオブジェクトに応じて有効/無効になります。
選択オブジェクトの位置が CSSプロパティによりロックされている場合は無効です。 | +| ![](../assets/en/FormEditor/level.png) | [レベル](#layering-objects) | このボタンには、フォーム上のオブジェクトの階層を変更するためのメニューが関連付けられています。 このボタンは選択されているオブジェクトに応じて有効/無効になります。 | +| ![](../assets/en/FormEditor/group.png) | [グループ化/グループ解除](#grouping-objects) | このボタンには、フォーム上の選択オブジェクトのグループ化やグループ解除をおこなうためのメニューが関連付けられています。 このボタンは選択されているオブジェクトに応じて有効/無効になります。 | +| ![](../assets/en/FormEditor/displyAndPage.png) | [表示とページ管理](forms.html#form-pages) | このエリアを使用して、フォームページ間の移動やページの追加ができます。 フォームページを移動するには矢印ボタンをクリックするか、または中央のエリアをクリックすると現われるメニューから表示したいページを選択します。 最終ページが表示されている状態で、右矢印ボタンをクリックすると、4D はページを追加します。 | +| ![](../assets/en/FormEditor/cssPreviewicon.png) | [CSSプレビュー](#css-preview) | このボタンで、使用する CSSモードを選択します。 | +| ![](../assets/en/FormEditor/views.png) | [ビュー管理](#views) | このボタンは、ビューパレットの表示や非表示をおこないます。 この機能については "オブジェクトビューを使用する" で説明しています。 | +| ![](../assets/en/FormEditor/shields2.png) | [バッジ表示](#shields) | このボタンをクリックするたびに、すべてのタイプのフォームバッジが順に表示されます。 また、このボタンには、表示するバッジタイプを直接選択できるメニューが関連付けられています。 | +| ![](../assets/en/FormEditor/library.png) | [定義済みオブジェクトライブラリ](objectLibrary.html) | このボタンは定義済みオブジェクトライブラリを表示します。 このライブラリは定義済みのプロパティを持つオブジェクトを多数提供します。 | +| ![](../assets/en/FormEditor/listBoxBuilder1.png) | [リストボックスビルダー](#list-box-builder) | このボタンは、新しいエンティティセレクション型リストボックスを作成します。 | +| ![](../assets/en/FormEditor/insertFields.png) | [フィールドを挿入](#insert-fields) | このボタンは、テーブルフォームにおいて、親テーブルの全フィールド (オブジェクト型と BLOB型を除く) をインターフェース標準に従ってラベル付きで挿入します。 | ### オブジェクトバー @@ -146,11 +146,11 @@ title: フォームエディター ツールバーを使用してオブジェクトを選択するには: -1. ツールバーの矢印ツールをクリックします。

![](../assets/en/FormEditor/selection.png)

+1. ツールバーの矢印ツールをクリックします。
![](../assets/en/FormEditor/selection.png) -

マウスカーソルをフォームエリアに移動すると、カーソルは標準の矢印の形をしたポインターに変わります

。 +
マウスカーソルをフォームエリアに移動すると、カーソルは標準の矢印の形をしたポインターに変わります。 -2. 選択したいオブジェクトをクリックします。 サイズ変更ハンドルが表示され、オブジェクトが選択されたことを表わします。

![](../assets/en/FormEditor/selectResize.png)

+2. 選択したいオブジェクトをクリックします。 サイズ変更ハンドルが表示され、オブジェクトが選択されたことを表わします。
![](../assets/en/FormEditor/selectResize.png) プロパティリストを使用してオブジェクトを選択するには: @@ -235,13 +235,12 @@ title: フォームエディター オブジェクトをグループ化するには: 1. グループ化したいオブジェクトを選択します。 -2. オブジェクトメニューから **グループ化** を選択します。 または フォームエディターのツールバーでグループ化ボタンをクリックします。

![](../assets/en/FormEditor/group.png)

-4D は、新たにグループ化されたオブジェクトの境界をハンドルで表わします。 グループ内の各オブジェクトの境界にはハンドルが表示されません。 これ以降、グループ化されたオブジェクトを編集すると、グループを構成する全オブジェクトが変更されます。 +2. オブジェクトメニューから **グループ化** を選択します。 OR Click the Group button in the toolbar of the Form editor:
![](../assets/en/FormEditor/group.png) 4D marks the boundary of the newly grouped objects with handles. グループ内の各オブジェクトの境界にはハンドルが表示されません。 これ以降、グループ化されたオブジェクトを編集すると、グループを構成する全オブジェクトが変更されます。 オブジェクトのグループ化を解除するには: 1. グループ化を解除したいグループオブジェクトを選択します。 -2. **オブジェクト** メニューから **グループ化解除** を選択します。

OR

フォームエディターのツールバーで **グループ化解除** ボタン (**グループ化** ボタンのサブ項目) をクリックします。

**グループ化解除** が選択不可の場合、選択したオブジェクトはグループに属していないことを意味します。

4D は個々のオブジェクトの境界をハンドルで表わします。 +2. Choose **Ungroup** from the **Object** menu.
OR
Click the **Ungroup** button (variant of the **Group** button) in the toolbar of the Form editor.
If **Ungroup** is dimmed, this means that the selected object is already separated into its simplest form. 4D は個々のオブジェクトの境界をハンドルで表わします。 ### オブジェクトの整列 @@ -268,9 +267,10 @@ title: フォームエディター このダイアログボックスを表示するには、揃えたいオブジェクトを選択し、**オブジェクト** メニュー、またはエディターのコンテキストメニューの **整列** サブメニューから **整列...** コマンドを選択します。 -- "左/右整列" や "上/下整列" エリアで、実行しようとする整列に対応する整列アイコンをクリックします。

見本エリアには、選択結果が表示されます。

+- "左/右整列" や "上/下整列" エリアで、実行しようとする整列に対応する整列アイコンをクリックします。
見本エリアには、選択結果が表示されます。 + +- 標準のアンカー方式による整列を実行するには、**プレビュー** または **適用** をクリックします。 この場合、整列をおこなう方向で最も離れた位置にあるオブジェクトがアンカーとして使用され、他のオブジェクトはこのオブジェクトに合わせられます。 たとえば、一連のオブジェクトに対して右揃えを実行したい場合、一番右側に位置するオブジェクトがアンカーとして使用されます。 OR:
To align objects to a specific object, select the **Align on** option and select the object to which you want the other objects to be aligned from the object list. この場合、基準オブジェクトの位置は変わりません。 -- 標準のアンカー方式による整列を実行するには、**プレビュー** または **適用** をクリックします。 この場合、整列をおこなう方向で最も離れた位置にあるオブジェクトがアンカーとして使用され、他のオブジェクトはこのオブジェクトに合わせられます。 たとえば、一連のオブジェクトに対して右揃えを実行したい場合、一番右側に位置するオブジェクトがアンカーとして使用されます。 または:

特定のオブジェクトを基準にオブジェクトを揃えるには、**整列** オプションを選択し、整列基準としたいオブジェクトを一覧から選択します。 この場合、基準オブジェクトの位置は変わりません。

**プレビュー** ボタンをクリックすると、整列の結果をプレビューすることができます。 するとフォームエディター上のオブジェクトは見かけ上整列しますが、ダイアログボックスが表示されたままなので、この整列のキャンセルや適用をおこなうことができます。 > このダイアログボックスでは、整列と均等配置を合わせて実行することができます。 整列に関する詳細は [オブジェクトの整列](#オブジェクトの整列) を参照ください。 @@ -304,7 +304,7 @@ title: フォームエディター 1. 3つ以上のオブジェクトを選択し、希望する均等配置ツールをクリックします。 -2. 適用したい均等配置に対応する整列ツールをツールバー上で選択します。

![](../assets/en/FormEditor/distributionTool.png)

OR

**オブジェクト** メニュー、またはエディターのコンテキストメニューの **整列** サブメニューから均等揃えメニューコマンドを選択します。

4D は各オブジェクトを均等に配置します。 各オブジェクトの中心までの間隔、および隣接する 2つのオブジェクトの間隔のうち最も広い間隔が基準として用いられます。 +2. In the toolbar, click on the distribution tool that corresponds to the distribution you want to apply.
![](../assets/en/FormEditor/distributionTool.png)
OR
Select a distribution menu command from the **Align** submenu in the **Object** menu or from the context menu of the editor. 4D は各オブジェクトを均等に配置します。 各オブジェクトの中心までの間隔、および隣接する 2つのオブジェクトの間隔のうち最も広い間隔が基準として用いられます。 "整列と均等配置" ダイアログボックスを用いてオブジェクトを均等に配置するには: @@ -312,9 +312,9 @@ title: フォームエディター 2. **オブジェクト** メニュー、またはエディターのコンテキストメニューの **整列** サブメニューから **整列...** コマンドを選択します。 以下のダイアログボックスが表示されます:![](../assets/en/FormEditor/alignmentAssistant.png) -3. "左/右整列" や "上/下整列" エリアで、標準の均等配置アイコンをクリックします: ![](../assets/en/FormEditor/horizontalDistribution.png)

(標準の横均等揃えアイコン)

見本エリアには、選択結果が表示されます。 +3. In the Left/Right Alignment and/or Top/Bottom Alignment areas, click the standard distribution icon: ![](../assets/en/FormEditor/horizontalDistribution.png)
(Standard horizontal distribution icon)
The example area displays the results of your selection. -4. 標準の均等配置を実行するには、**プレビュー** または *適用* をクリックします。

この場合、4D は標準の均等配置を実行し、オブジェクトは等間隔で配置されます。

または:

特定の均等配置を実行するには、**均等配置** オプションを選択します (たとえば各オブジェクトの右辺までの距離をもとにしてオブジェクトを均等に配置したい場合)。 このオプションはスイッチのように機能します。 均等配置チェックボックスが選択されていると、このオプションの下にあるアイコンは異なる動作をおこないます:

+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). このオプションはスイッチのように機能します。 均等配置チェックボックスが選択されていると、このオプションの下にあるアイコンは異なる動作をおこないます:
- 左/右整列の場合、各アイコンは次の均等配置に対応します: 選択オブジェクトの左辺、中央 (横)、右辺で均等に揃えます。 - 上/下整列の場合、各アイコンは次の均等配置に対応します: 選択オブジェクトの上辺、中央 (縦)、下辺で均等に揃えます。 @@ -367,11 +367,11 @@ JSONフォームの入力順序の設定は、[`entryOrder`](properties_JSONref. 入力順モードに切り替え、入力順を変更するには: -1. **フォーム** メニューから **入力順** を選択するか、ツールバーの入力順ボタンをクリックします:

![](../assets/en/FormEditor/zOrder.png)

+1. **フォーム** メニューから **入力順** を選択するか、ツールバーの入力順ボタンをクリックします:
![](../assets/en/FormEditor/zOrder.png)
ポインターが入力順ポインターに変わり、4D はフォーム上に線を引いて、データ入力時にオブジェクトが選択される順序を示します。 ツールパレット上の他のツールをクリックするまでは、入力順序の表示と変更操作しかおこなえません。 -2. データ入力順を変更するには、フォームオブジェクト上にポインターを置き、マウスボタンを押したまま、次の入力順に設定したいオブジェクトまでポインターをドラッグします。

![](../assets/en/FormEditor/entryOrder3.png)

これに応じて、4D はデータ入力順を調整します。 +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.
![](../assets/en/FormEditor/entryOrder3.png)
4D will adjust the entry order accordingly. 3. 入力順を設定したいだけ、ステップ2 を繰り返します。 From 7a425a026306019b87d9ab647bffcd7c039aef1c Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Mon, 20 Oct 2025 19:00:47 +0200 Subject: [PATCH 014/137] New translations formeditor.md (Portuguese, Brazilian) --- .../version-19/FormEditor/formEditor.md | 28 +++++++++---------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/i18n/pt/docusaurus-plugin-content-docs/version-19/FormEditor/formEditor.md b/i18n/pt/docusaurus-plugin-content-docs/version-19/FormEditor/formEditor.md index 36e1ccb3d6e8be..46d70881a67b8e 100644 --- a/i18n/pt/docusaurus-plugin-content-docs/version-19/FormEditor/formEditor.md +++ b/i18n/pt/docusaurus-plugin-content-docs/version-19/FormEditor/formEditor.md @@ -56,7 +56,7 @@ A barra de ferramentas contém os seguintes elementos: | Ícone | Nome | Descrição | | ------------------------------------------------ | --------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | ![](../assets/en/FormEditor/execute.png) | Executar o formulário | Utilizado para testar a execução do formulário. Ao clicar nesse botão, 4D abre uma nova janela e exibe o formulário em seu contexto (lista de registros para um formulário de lista e página de registro atual para um formulário detalhado). O formulário é executado no processo principal. | -| ![](../assets/en/FormEditor/selection.png) | [Ferramenta de selecção](#selecting-objects) | Permite selecionar, mover e redimensionar os objetos do formulário.

**Nota**: quando um objeto do tipo Texto ou Group Box é selecionado, pressionando a tecla **Enter** permite que você mude para o modo de edição.

| +| ![](../assets/en/FormEditor/selection.png) | [Ferramenta de selecção](#selecting-objects) | Allows selecting, moving and resizing form objects.
**Note**: When an object of the Text or Group Box type is selected, pressing the **Enter** key lets you switch to editing mode. | | ![](../assets/en/FormEditor/zOrder.png) | [Ordem de entrada](#selecting-objects) | Alterna para o modo "Ordem de entrada", onde é possível visualizar e alterar a ordem de entrada atual do formulário. Observe que os escudos permitem a visualização da ordem de entrada atual, enquanto você ainda trabalha no formulário. | | ![](../assets/en/FormEditor/moving.png) | [Deslocamento](#moving-objects) | Alterne para o modo "Mover", onde for possível alcançar qualquer parte do formulário rapidamente usando arrastar e soltar na janela. O cursor assume a forma de uma mão. Este modo de navegação é particularmente útil ao ampliar o formulário. | | ![](../assets/en/FormEditor/zoom.png) | [Zoom](#zoom) | Permite modificar a percentagem de visualização do formulário (100% por padrão). Você pode alternar para o modo "Zoom" clicando na lupa ou clicando diretamente na barra desejada. Esta função é descrita em pormenor na secção anterior. | @@ -146,11 +146,11 @@ Antes de executar qualquer operação em um objeto (como alterar a largura ou a Para selecionar um objeto usando a barra de ferramentas: -1. Clique na ferramenta Seta na barra de ferramentas.

![](../assets/en/FormEditor/selection.png)

+1. Clique na ferramenta Seta na barra de ferramentas.
![](../assets/en/FormEditor/selection.png) -

Quando você move o ponteiro para a área do formulário, ele se torna um ponteiro padrão em forma de seta

. +
Quando você move o ponteiro para a área do formulário, ele se torna um ponteiro padrão em forma de seta. -2. Clique no objecto que deseja selecionar. As pegas de redimensionamento identificam o objeto selecionado.

../assets/en/FormEditor/selectResize.png

+2. Clique no objecto que deseja selecionar. As pegas de redimensionamento identificam o objeto selecionado.
![](../assets/en/FormEditor/selectResize.png) Para selecionar um objecto utilizando a Lista de Propriedades: @@ -235,13 +235,12 @@ O agrupamento só afeta os objetos no editor de formulários. Quando o formulár Para agrupar objectos: 1. Selecione o objecto agrupado que pretende desagrupar. -2. Selecione **Grupo** no menu Objeto. OU Clique no botão do Grupo na barra de ferramentas no editor de formulário:

![](../assets/en/FormEditor/group.png)

-4D marca a borda dos objetos recém-agrupados com alças. Nenhum manipulador marca o limite de nenhum dos objetos individuais no grupo. Agora, quando você modifica o objeto agrupado, altere todos os objetos que compõem o grupo. +2. Selecione **Grupo** no menu Objeto. OR Click the Group button in the toolbar of the Form editor:
![](../assets/en/FormEditor/group.png) 4D marks the boundary of the newly grouped objects with handles. Nenhum manipulador marca o limite de nenhum dos objetos individuais no grupo. Agora, quando você modifica o objeto agrupado, altere todos os objetos que compõem o grupo. Para desagrupar objetos: 1. Seleccione o objecto ou objectos que pretende duplicar. -2. Escolher **Desagrupar** a partir do menu **Objetos**.

OU

Clique no botão **Desagrupamento** (variante do botão **Grupo**) na barra de ferramentas do editor do formulário.

Se **Desagrupamento** for escurecido, isso significa que o objeto selecionado já está separado em sua forma mais simples.

4D marca os limites dos objetos individuais com alças. +2. Choose **Ungroup** from the **Object** menu.
OR
Click the **Ungroup** button (variant of the **Group** button) in the toolbar of the Form editor.
If **Ungroup** is dimmed, this means that the selected object is already separated into its simplest form. 4D marca os limites dos objetos individuais com alças. ### Alinhamento de objetos @@ -268,9 +267,10 @@ O Assistente de Alinhamento permite que você execute qualquer tipo de alinhamen Para exibir esta caixa de diálogo, selecione os objetos que você deseja alinhar e escolha o comando **Alinhamento** a partir do menu **Alinhar** no menu **Objeto** ou no menu de contexto do editor. -- Nas áreas "Alinhamento Esquerda/Direita" e/ou "Alinhamento Superior/Inferior", clique no ícone que corresponde ao alinhamento que você deseja executar.

A área de exemplo apresenta os resultados da sua seleção.

+- Nas áreas "Alinhamento Esquerda/Direita" e/ou "Alinhamento Superior/Inferior", clique no ícone que corresponde ao alinhamento que você deseja executar.
A área de exemplo exibe os resultados da sua seleção. + +- Para executar um alinhamento que use o esquema de âncora padrão, clique em **Prévia** ou **Aplicar**. Nesse caso, 4D usa o objeto que está mais distante na direção do alinhamento como âncora e alinha os outros objetos a esse objeto. Por exemplo, se quiser realizar um alinhamento correcto num conjunto de objectos, o objecto mais à direita será utilizado como âncora. OR:
To align objects to a specific object, select the **Align on** option and select the object to which you want the other objects to be aligned from the object list. Neste caso, a posição do objeto de referência não será alterada. -- Para executar um alinhamento que use o esquema de âncora padrão, clique em **Prévia** ou **Aplicar**. Nesse caso, 4D usa o objeto que está mais distante na direção do alinhamento como âncora e alinha os outros objetos a esse objeto. Por exemplo, se quiser realizar um alinhamento correcto num conjunto de objectos, o objecto mais à direita será utilizado como âncora. OU:

Para alinhar objetos a um objeto específico, selecione a opção **Alinhar em** e selecione o objeto ao qual deseja que os outros objetos sejam alinhados na lista de objetos. Neste caso, a posição do objeto de referência não será alterada.

Pode pré-visualizar os resultados do alinhamento clicando no botão **Pré-visualização**. Os objetos são então alinhados no editor de formulários, mas como a caixa de diálogo não desaparece, ainda é possível cancelar ou aplicar o alinhamento. > Esta caixa de diálogo permite-lhe alinhar e distribuir objetos numa única operação. Para mais informações sobre como distribuir objetos, consultar [Distribuir objetos](#distributing-objects). @@ -304,7 +304,7 @@ Para distribuir objetos com igual espaçamento: 1. Selecione três ou mais objetos e clique na ferramenta Distribuir pretendida. -2. Na barra de ferramentas, clique na ferramenta de distribuição que corresponde à distribuição que você deseja aplicar.

![](../assets/en/FormEditor/distributionTool.png)

OU

Selecione um comando de distribuição no submenu **Alinear** do menu **Objeto** ou no menu contextual do editor.

4D distribui os objetos em conformidade. Os objetos são distribuídos usando a distância para seus centros, e a maior distância entre dois objetos consecutivos é usada como referência. +2. In the toolbar, click on the distribution tool that corresponds to the distribution you want to apply.
![](../assets/en/FormEditor/distributionTool.png)
OR
Select a distribution menu command from the **Align** submenu in the **Object** menu or from the context menu of the editor. 4D distribui os objetos em conformidade. Os objetos são distribuídos usando a distância para seus centros, e a maior distância entre dois objetos consecutivos é usada como referência. Para distribuir objetos utilizando a caixa de diálogo Alinhar e distribuir: @@ -312,9 +312,9 @@ Para distribuir objetos utilizando a caixa de diálogo Alinhar e distribuir: 2. Escolha o comando **Alinhamento** do submenu **Alinhar** no menu **Objeto** ou no menu de contexto do editor. Aparece a seguinte caixa de diálogo:![](../assets/en/FormEditor/alignmentAssistant.png) -3. Nas áreas Alinhamento Esquerdo/Direita e/ou Alinhamento Superior/Inferior, clique no ícone de distribuição padrão: ![](../assets/en/FormEditor/horizontalDistribution.png)

(Ícone de distribuição horizontal standard)

A área de exemplo apresenta os resultados da sua seleção. +3. In the Left/Right Alignment and/or Top/Bottom Alignment areas, click the standard distribution icon: ![](../assets/en/FormEditor/horizontalDistribution.png)
(Standard horizontal distribution icon)
The example area displays the results of your selection. -4. Para realizar uma distribuição que use o esquema padrão, clique em **Pré-visualizar** ou *Aplicar*.

Neste caso 4D irá executar uma distribuição padrão, de modo que os objetos sejam definidos com a mesma quantidade de espaço entre eles.

OU:

Para executar uma distribuição específica, selecione a opção **Distribuir** (por exemplo, se você quiser distribuir os objetos com base na distância até o lado direito). Esta opção funciona como um interruptor. Se a caixa de seleção Distribui for selecionada, os ícones localizados abaixo dele executam uma função diferente:

+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 opção funciona como um interruptor. Se a caixa de seleção Distribui for selecionada, os ícones localizados abaixo dele executam uma função diferente:
- Horizontalmente, os ícones correspondem às seguintes distribuições: igualmente com relação aos lados esquerdo, centros (hor.) e lados direito dos objetos selecionados. - Verticalmente, os ícones correspondem às seguintes distribuições: igualmente com respeito às arestas superiores, centros (vert.) e as bordas inferiores dos objetos selecionados. @@ -367,11 +367,11 @@ Este parágrafo descreve a visualização e a modificação da ordem de entrada Para ver ou alterar a ordem de entrada: -1. Escolha **Ordem de Entrada** a partir do menu **Formulário** ou clique no botão da Ordem de Entrada na barra de ferramentas da janela:

![](../assets/en/FormEditor/zOrder.png)

+1. Escolha **Ordem de Entrada** a partir do menu **Formulário** ou clique no botão da Ordem de Entrada na barra de ferramentas da janela:
![](../assets/en/FormEditor/zOrder.png)
O ponteiro se transforma em um ponteiro de ordem de entrada e 4D desenha uma linha na forma mostrando a ordem em que ele seleciona objetos durante a entrada de dados. A visualização e alteração da ordem de introdução de dados são as únicas acções que pode realizar até clicar em qualquer ferramenta na paleta Ferramentas. -2. Para alterar a ordem de entrada de dados, posicionar o ponteiro sobre um objeto na forma e, mantendo pressionado o botão do rato, arrastar o ponteiro para o objeto que se pretende a seguir na ordem de entrada de dados.

![](../assets/en/FormEditor/entryOrder3.png)

4D irá ajustar a ordem de entrada em conformidade. +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.
![](../assets/en/FormEditor/entryOrder3.png)
4D will adjust the entry order accordingly. 3. Repita a etapa 2 tantas vezes quantas forem necessárias para definir a ordem de introdução de dados que desejar. From 37edefa314e0b904fdf0759df6db02b2506d1c18 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Mon, 20 Oct 2025 19:45:56 +0200 Subject: [PATCH 015/137] New translations classes.md (French) --- .../version-20/Concepts/classes.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-20/Concepts/classes.md b/i18n/fr/docusaurus-plugin-content-docs/version-20/Concepts/classes.md index 7ac69f9c6e48bc..52b0aba2e401f1 100644 --- a/i18n/fr/docusaurus-plugin-content-docs/version-20/Concepts/classes.md +++ b/i18n/fr/docusaurus-plugin-content-docs/version-20/Concepts/classes.md @@ -307,7 +307,7 @@ Class constructor({$parameterName : type; ...}) :::note -Il n'y a pas de mot-clé de fin pour le code d'une fonction class constructor. Il n'y a pas de mot-clé de fin pour le code d'une fonction. +Il n'y a pas de mot-clé de fin pour le code d'une fonction de constructeur de classe. Il n'y a pas de mot-clé de fin pour le code d'une fonction. ::: From 5643cfb44a54971464a0da75e5c5ca443e2358c0 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Tue, 21 Oct 2025 06:51:37 +0200 Subject: [PATCH 016/137] New translations formeditor.md (French) --- .../version-20/FormEditor/formEditor.md | 28 +++++++++---------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-20/FormEditor/formEditor.md b/i18n/fr/docusaurus-plugin-content-docs/version-20/FormEditor/formEditor.md index 76df3863376f97..34145b3195459d 100644 --- a/i18n/fr/docusaurus-plugin-content-docs/version-20/FormEditor/formEditor.md +++ b/i18n/fr/docusaurus-plugin-content-docs/version-20/FormEditor/formEditor.md @@ -56,7 +56,7 @@ La barre d’outils comporte les éléments suivants : | Icône | Nom | Description | | ------------------------------------------------ | --------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | ![](../assets/en/FormEditor/execute.png) | Exécuter le formulaire | Permet de tester l’exécution du formulaire. Lorsque vous cliquez sur ce bouton, 4D ouvre une nouvelle fenêtre et affiche le formulaire dans son contexte (liste d’enregistrements pour un formulaire liste et enregistrement courant en page pour un formulaire détaillé). Le formulaire est exécuté dans le process principal. | -| ![](../assets/en/FormEditor/selection.png) | [Flèche de sélection](#selecting-objects) | Permet de sélectionner, déplacer et redimensionner les objets du formulaire.

**Note** : Lorsqu'un objet de type Texte ou Zone de Groupe est sélectionné, appuyez sur la touche **Entrée** pour passer en mode édition.

| +| ![](../assets/en/FormEditor/selection.png) | [Flèche de sélection](#selecting-objects) | Allows selecting, moving and resizing form objects.
**Note**: When an object of the Text or Group Box type is selected, pressing the **Enter** key lets you switch to editing mode. | | ![](../assets/en/FormEditor/zOrder.png) | [Ordre de saisie](#data-entry-order) | Passe en mode “Ordre de saisie”, dans lequel il est possible de visualiser et de modifier l’ordre de saisie courant du formulaire. A noter que vous pouvez également visualiser l’ordre de saisie courant tout en travaillant dans le formulaire. | | ![](../assets/en/FormEditor/moving.png) | [Déplacement](#moving-objects) | Passe en mode “Déplacement”, dans lequel il est possible d’atteindre rapidement n’importe quelle partie du formulaire en le faisant directement glisser dans la fenêtre. Le curseur prend la forme d’une main. Ce mode de navigation est particulièrement utile en cas de zoom dans le formulaire. | | ![](../assets/en/FormEditor/zoom.png) | [Zoom](#zoom) | Permet de modifier l’échelle d’affichage du formulaire (100% par défaut). Vous pouvez passer en mode “Zoom” en cliquant sur le bouton loupe ou en cliquant directement sur la barre correspondant à l’échelle désirée. Cette fonction est détaillée dans le paragraphe précédent. | @@ -146,11 +146,11 @@ Avant de pouvoir réaliser une opération sur un objet (comme le changement de l Pour sélectionner un objet à l’aide de la barre d’outils : -1. Cliquez sur l’outil Flèche dans la barre d’outils.

![](../assets/en/FormEditor/selection.png)

+1. Cliquez sur l’outil Flèche dans la barre d’outils.
![](../assets/en/FormEditor/selection.png) -

Lorsque vous le faites glisser au-dessus du formulaire, le pointeur prend la forme du pointeur standard

. +
Lorsque vous le faites glisser au-dessus du formulaire, le pointeur prend la forme du pointeur standard. -2. Cliquez sur l’objet que vous souhaitez sélectionner. Des poignées de sélection identifient l’objet sélectionné.

![](../assets/en/FormEditor/selectResize.png)

+2. Cliquez sur l’objet que vous souhaitez sélectionner. Des poignées de sélection identifient l’objet sélectionné.
![](../assets/en/FormEditor/selectResize.png) Pour sélectionner un objet à l’aide de la Liste des propriétés : @@ -235,13 +235,12 @@ Grouper des objets n’a d’effet que dans l’éditeur de formulaires. Lors de Pour grouper les objets : 1. Sélectionnez les objets que vous souhaitez grouper. -2. Sélectionnez **Grouper** dans le menu Objets. OR Click the Group button in the toolbar of the Form editor:

![](../assets/en/FormEditor/group.png)

-4D matérialise les bordures du groupe avec des poignées. Les objets du groupe ne sont plus marqués séparément par des poignées. Désormais, lorsque vous modifiez le groupe d’objets, vous modifiez tous les objets qui le composent. +2. Sélectionnez **Grouper** dans le menu Objets. OR Click the Group button in the toolbar of the Form editor:
![](../assets/en/FormEditor/group.png) 4D marks the boundary of the newly grouped objects with handles. Les objets du groupe ne sont plus marqués séparément par des poignées. Désormais, lorsque vous modifiez le groupe d’objets, vous modifiez tous les objets qui le composent. Pour dégrouper un groupe d’objets : 1. Sélectionnez le groupe que vous souhaitez dégrouper. -2. Choisissez **Dégrouper** dans le menu **Objets**.

OU

Sélectionnez la commande **Dégrouper** (menu du bouton **Grouper**) dans la barre d’outils de l’éditeur de formulaires.

Si la commande **Dégrouper** est désactivée, cela veut dire que l’objet sélectionné est déjà sous sa forme la plus simple.

4D rematérialise les bordures des objets qui constituaient le groupe avec des poignées. +2. Choose **Ungroup** from the **Object** menu.
OR
Click the **Ungroup** button (variant of the **Group** button) in the toolbar of the Form editor.
If **Ungroup** is dimmed, this means that the selected object is already separated into its simplest form. 4D rematérialise les bordures des objets qui constituaient le groupe avec des poignées. ### Aligner des objets @@ -268,9 +267,10 @@ La boîte de dialogue d’alignement vous permet d’appliquer tout type d’ali Pour afficher cette boîte de dialogue, vous devez sélectionner les objets que vous souhaitez aligner puis choisir la commande **Alignement...** dans le sous-menu **Aligner** du menu **Objets** ou du menu contextuel de l’éditeur. -- Cliquez sur l’icône d’alignement de votre choix dans les zones “Alignement droite/gauche” et/ou “Alignement haut/bas”.

La zone d’exemple illustre le principe de l’opération sélectionnée.

+- Dans les zones “Alignement droite/gauche” et/ou “Alignement haut/bas”, cliquez sur l’icône correspondant à l'alignement que vous souhaitez effectuer.
La zone d'exemple affiche les résultats de votre sélection. + +- Pour effectuer un alignement standard des objets sélectionnés, cliquez sur le bouton **Prévisualisation** ou **Appliquer**. Dans ce cas, 4D utilisera l’objet le plus avancé dans la direction de l’alignement comme “ancre” sur laquelle tous les autres objets vont être alignés. Par exemple, si vous alignez un groupe d’objets à droite, les objets seront alignés sur le côté droit de l’objet situé le plus à droite du groupe. OR:
To align objects to a specific object, select the **Align on** option and select the object to which you want the other objects to be aligned from the object list. Dans ce cas, la position de l’objet de référence ne variera pas. -- Pour effectuer un alignement standard des objets sélectionnés, cliquez sur le bouton **Prévisualisation** ou **Appliquer**. Dans ce cas, 4D utilisera l’objet le plus avancé dans la direction de l’alignement comme “ancre” sur laquelle tous les autres objets vont être alignés. Par exemple, si vous alignez un groupe d’objets à droite, les objets seront alignés sur le côté droit de l’objet situé le plus à droite du groupe. OU BIEN :

Pour aligner des objets sur un objet spécifique, sélectionnez l'option **Aligner sur** et sélectionnez l'objet sur lequel vous souhaitez que les autres objets soient alignés dans la liste des objets. Dans ce cas, la position de l’objet de référence ne variera pas.

Vous pouvez prévisualiser le résultat réel de vos paramétrages en cliquant sur le bouton **Prévisualisation**. Les objets sont ensuite alignés dans l'éditeur de formulaires, mais comme la boîte de dialogue ne disparaît pas, vous pouvez toujours annuler ou appliquer l'alignement. > Cette boîte de dialogue combine l’alignement d’objets et leur répartition. Pour plus d’informations sur la répartition, reportez-vous au paragraphe [Répartir des objets](#distributing-objects). @@ -304,7 +304,7 @@ Pour répartir directement une sélection d’objets (verticalement ou horizonta 1. Sélectionnez les objets (au moins trois) que vous souhaitez répartir. -2. Dans la barre d’outils, cliquez sur l’outil de répartition qui correspond la répartition que vous souhaitez appliquer.

![](../assets/en/FormEditor/distributionTool.png)

OU

Sélectionnez une commande de distribution dans le sous-menu **Alignement** du menu **Objet** ou dans le menu contextuel de l'éditeur.

4D distribue les objets en conséquence. Les objets sont répartis en fonction de la distance entre leurs centres et la plus grande distance entre deux objets consécutifs est utilisée comme référence. +2. In the toolbar, click on the distribution tool that corresponds to the distribution you want to apply.
![](../assets/en/FormEditor/distributionTool.png)
OR
Select a distribution menu command from the **Align** submenu in the **Object** menu or from the context menu of the editor. 4D distribue les objets en conséquence. Les objets sont répartis en fonction de la distance entre leurs centres et la plus grande distance entre deux objets consécutifs est utilisée comme référence. Pour répartir des objets à l’aide de la boîte de dialogue d'alignement et répartition : @@ -312,9 +312,9 @@ Pour répartir des objets à l’aide de la boîte de dialogue d'alignement et r 2. Choisissez la commande **Alignement...** dans le sous-menu **Aligner** du menu **Objets** ou du menu contextuel de l’éditeur. La boîte de dialogue suivante apparaît :![](../assets/en/FormEditor/alignmentAssistant.png) -3. Cliquez sur l’icône de répartition standard (horizontale ou verticale) de votre choix: ![](../assets/en/FormEditor/horizontalDistribution.png)

(icône de répartition horizontale standard)

La zone d’exemple illustre le principe de l’opération sélectionnée. +3. In the Left/Right Alignment and/or Top/Bottom Alignment areas, click the standard distribution icon: ![](../assets/en/FormEditor/horizontalDistribution.png)
(Standard horizontal distribution icon)
The example area displays the results of your selection. -4. Pour effectuer une répartition standard, cliquez sur le bouton **Prévisualisation** ou *Appliquer*.

Dans ce cas, les objets seront répartis de manière à ce que leurs côtés soient équidistants (répartition standard).

OU BIEN :

Pour exécuter une distribution spécifique, sélectionnez l'option **Répartir** (par exemple si vous souhaitez répartir les objets en fonction de la distance de leur côté droit). Cette option agit comme un interrupteur. Lorsque l'option Répartir est cochée, les icônes situées au-dessous d’elle s’appliquent alors à la répartition :

+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). Cette option agit comme un interrupteur. Lorsque l'option Répartir est cochée, les icônes situées au-dessous d’elle s’appliquent alors à la répartition :
- Horizontalement, les icônes correspondent aux répartitions suivantes : équidistance des côtés gauches, des centres (hor.) et des côtés droits des objets sélectionnés. - Verticalement, les icônes correspondent aux répartitions suivantes : équidistance des bords supérieurs, des centres (vert.) et des bords inférieurs des objets sélectionnés. @@ -367,11 +367,11 @@ Ce paragraphe décrit la visualisation et la modification de l’ordre de saisie Pour visualiser ou modifier l’ordre de saisie : -1. Sélectionnez **Ordre de saisie** dans le menu **Formulaire** ou cliquez sur le bouton dans la barre d’outils de la fenêtre :

![](../assets/en/FormEditor/zOrder.png)

+1. Sélectionnez **Ordre de saisie** dans le menu **Formulaire** ou cliquez sur le bouton dans la barre d’outils de la fenêtre :
![](../assets/en/FormEditor/zOrder.png)
Le pointeur prend la forme d’un pointeur d’ordre, et 4D dessine une ligne qui permet de visualiser la séquence de l’ordre de saisie courant. Visualiser et modifier l’ordre de saisie sont les seules opérations que vous pouvez réaliser dans ce mode. -2. Pour changer l’ordre de saisie, placez le pointeur sur un objet, cliquez dessus et, tout en maintenant le bouton de la souris enfoncé, déplacez le pointeur vers l’objet qui doit le suivre dans l’ordre de saisie.

![](../assets/en/FormEditor/entryOrder3.png)

4D ajuste l’ordre de saisie en conséquence. +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.
![](../assets/en/FormEditor/entryOrder3.png)
4D will adjust the entry order accordingly. 3. Répétez l’étape 2 autant de fois que nécessaire pour obtenir le nouvel ordre de saisie. From c0993f32f0d5a7a3c41b0fc298e99d1a971fc49b Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Tue, 21 Oct 2025 07:07:06 +0200 Subject: [PATCH 017/137] New translations sessionclass.md (French) --- .../current/API/SessionClass.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/i18n/fr/docusaurus-plugin-content-docs/current/API/SessionClass.md b/i18n/fr/docusaurus-plugin-content-docs/current/API/SessionClass.md index bcb4a3378f582d..cf7100895a9884 100644 --- a/i18n/fr/docusaurus-plugin-content-docs/current/API/SessionClass.md +++ b/i18n/fr/docusaurus-plugin-content-docs/current/API/SessionClass.md @@ -89,7 +89,7 @@ Cette fonction ne supprime pas les **privilèges promus** du process web, qu'ils ::: -En ce qui concerne les sessions de clients distants, la fonction n'a d'impact que sur [le code accédant au serveur web](../WebServer/preemptiveWeb.md#writing-thread-safe-web-server-code). +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). #### Exemple @@ -388,7 +388,7 @@ Cette fonction renvoie True pour le *privilège* si elle est appelée depuis une ::: -En ce qui concerne les sessions de clients distants, la fonction n'a d'impact que sur [le code accédant au serveur web](../WebServer/preemptiveWeb.md#writing-thread-safe-web-server-code). +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*. From 3ec2fa06027225c819905656118b62107ba73d61 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Tue, 21 Oct 2025 07:07:40 +0200 Subject: [PATCH 018/137] New translations classes.md (French) --- .../docusaurus-plugin-content-docs/current/Concepts/classes.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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 bed1a52d892134..8d535e2cacc8ca 100644 --- a/i18n/fr/docusaurus-plugin-content-docs/current/Concepts/classes.md +++ b/i18n/fr/docusaurus-plugin-content-docs/current/Concepts/classes.md @@ -333,7 +333,7 @@ Function getRectArea($width : Integer; $height : Integer) : Integer :::note -Il n'y a pas de mot-clé de fin pour le code d'une fonction class constructor. Le langage 4D détecte automatiquement la fin du code d'une fonction par le mot clé `Function` suivant ou la fin du fichier de classe. +Il n'y a pas de mot-clé de fin pour le code d'une fonction de constructeur de classe. Le langage 4D détecte automatiquement la fin du code d'une fonction par le mot clé `Function` suivant ou la fin du fichier de classe. ::: From 43a14a1d863213d1f6624b5ff6d622bf9f143fd0 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Tue, 21 Oct 2025 07:07:57 +0200 Subject: [PATCH 019/137] New translations error-handling.md (French) --- .../current/Concepts/error-handling.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/i18n/fr/docusaurus-plugin-content-docs/current/Concepts/error-handling.md b/i18n/fr/docusaurus-plugin-content-docs/current/Concepts/error-handling.md index e04656ac811885..c068f22b8e9e84 100644 --- a/i18n/fr/docusaurus-plugin-content-docs/current/Concepts/error-handling.md +++ b/i18n/fr/docusaurus-plugin-content-docs/current/Concepts/error-handling.md @@ -21,11 +21,11 @@ Il est fortement recommandé d'installer une méthode globale de gestion des err ::: -## Predictable vs unpredictable errors +## Erreurs prévisibles ou imprévisibles -Many 4D class functions, such as [`entity.save()`](../API/EntityClass.md#save) or [`transporter.send()`](../API/SMTPTransporterClass.md#send), return a object containing *status* information. This object is used to store **predictable** errors in the runtime context, e.g. invalid password, locked entity, etc., that do not require to stop program execution. This category of errors, also named **silent errors** errors, can be handled by regular code. When such errors occur in an error handling context, i.e. a [`Try`](#tryexpression), [`Try/Catch`](#trycatchend-try) or an [error-handling method](#installing-an-error-handling-method), they do not interrupt the execution and do not trigger the error handling (e.g. the `Catch` part of the [`Try/Catch`](#trycatchend-try) is not executed). They are not listed in the [`Last errors`](../commands/last-errors.md) collection. The error is only returned in the `status` and `statusText` properties of the returned object. It can be processed according to your business logic. +De nombreuses fonctions de classe de 4D, telles que [`entity.save()`](../API/EntityClass.md#save) ou [`transporter.send()`](../API/SMTPTransporterClass.md#send), renvoient un objet contenant des informations de *status*. Cet objet est utilisé pour gérer les erreurs **prévisibles** dans le contexte d'exécution, par exemple un mot de passe invalide, une entité verrouillée, etc. qui ne nécessitent pas l'arrêt de l'exécution du programme. Cette catégorie d'erreurs, également appelée **erreurs silencieuses**, peut être gérée par le code normal. Lorsque de telles erreurs se produisent dans un contexte d'interception des erreurs, c'est-à-dire un [`Try`](#tryexpression), un [`Try/Catch`](#trycatchend-try) ou une [méthode de gestion des erreurs](#installing-an-error-handling-method), elles n'interrompent pas l'exécution et ne déclenchent pas le traitement de l'erreur (par exemple, la partie `Catch` du [`Try/Catch`](#trycatchend-try) n'est pas exécutée). Elles ne sont pas listées dans la collection [`Last errors`](../commands/last-errors.md). L'erreur est uniquement renvoyée dans les propriétés `status` et `statusText` de l'objet retourné. Elle peut être traitée selon votre logique d'application. -The other category of errors are **unpredictable** errors, also named **serious errors**. They include disk write error, network failure, or in general any unexpected interruption. This category of errors generates exceptions defined by [a *code*, a *message* and a *signature*](#error-codes). They interrupt the execution and trigger the error processing of the [`Try`](#tryexpression), [`Try/Catch`](#trycatchend-try) or [error-handling method](#installing-an-error-handling-method) features. They are listed in the [`Last errors`](../commands/last-errors.md) collection. Note that serious errors can also return values in the `status` and `statusText` properties, e.g. `dk status serious error` - "Other error". +L'autre catégorie d'erreurs est celle des erreurs **imprévisibles**, également appelées **erreurs graves**. Il peut s'agir d'une erreur d'écriture sur le disque, d'une panne de réseau ou, plus généralement, de toute interruption inattendue. Cette catégorie d'erreurs génère des exceptions définies par [un *code*, un *message* et une *signature*](#error-codes). Elles interrompent l'exécution et déclenchent le traitement de l'erreur par les fonctions [`Try`](#tryexpression), [`Try/Catch`](#trycatchend-try) ou la [méthode de gestion des erreurs](#installing-an-error-handling-method). Elles sont listées dans la collection [`Last errors`](../commands/last-errors.md). Notez que les erreurs graves peuvent également renvoyer des valeurs dans les propriétés `status` et `statusText`, par exemple `dk status serious error` - "Other error". ## Installer une méthode de gestion des erreurs From 4ed28c36a618f5e9986b489c86d5385ac17167c8 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Tue, 21 Oct 2025 07:09:43 +0200 Subject: [PATCH 020/137] New translations formeditor.md (French) --- .../current/FormEditor/formEditor.md | 29 ++++++++++--------- 1 file changed, 15 insertions(+), 14 deletions(-) diff --git a/i18n/fr/docusaurus-plugin-content-docs/current/FormEditor/formEditor.md b/i18n/fr/docusaurus-plugin-content-docs/current/FormEditor/formEditor.md index ab068e2e3b205c..7db40c407bf53c 100644 --- a/i18n/fr/docusaurus-plugin-content-docs/current/FormEditor/formEditor.md +++ b/i18n/fr/docusaurus-plugin-content-docs/current/FormEditor/formEditor.md @@ -56,7 +56,7 @@ La barre d’outils comporte les éléments suivants : | Icône | Nom | Description | | ------------------------------------------------ | --------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | ![](../assets/en/FormEditor/execute.png) | Exécuter le formulaire | Permet de tester l’exécution du formulaire. Lorsque vous cliquez sur ce bouton, 4D ouvre une nouvelle fenêtre et affiche le formulaire dans son contexte (liste d’enregistrements pour un formulaire liste et enregistrement courant en page pour un formulaire détaillé). Le formulaire est exécuté dans le process principal. | -| ![](../assets/en/FormEditor/selection.png) | [Outil de sélection](#selecting-objects) | Permet la sélection, le déplacement et le redimensionnement des objets de formulaire.

**Note** : Lorsqu'un objet de type Texte ou Box Groupe est sélectionné, appuyez sur la touche **Entrée** pour passer en mode édition.

| +| ![](../assets/en/FormEditor/selection.png) | [Outil de sélection](#selecting-objects) | Permet la sélection, le déplacement et le redimensionnement des objets de formulaire.
**Note** : Lorsqu'un objet de type Texte ou Box Groupe est sélectionné, appuyez sur la touche **Entrée** pour passer en mode édition. | | ![](../assets/en/FormEditor/zOrder.png) | [Ordre de saisie](#data-entry-order) | Passe en mode “Ordre de saisie”, dans lequel il est possible de visualiser et de modifier l’ordre de saisie courant du formulaire. A noter que vous pouvez également visualiser l’ordre de saisie courant tout en travaillant dans le formulaire. | | ![](../assets/en/FormEditor/moving.png) | [Déplacement](#déplacement-objets) | Passe en mode “Déplacement”, dans lequel il est possible d’atteindre rapidement n’importe quelle partie du formulaire en le faisant directement glisser dans la fenêtre. Le curseur prend la forme d’une main. Ce mode de navigation est particulièrement utile en cas de zoom dans le formulaire. | | ![](../assets/en/FormEditor/zoom.png) | [Zoom](#zoom) | Permet de modifier l’échelle d’affichage du formulaire (100% par défaut). Vous pouvez passer en mode “Zoom” en cliquant sur le bouton loupe ou en cliquant directement sur la barre correspondant à l’échelle désirée. Cette fonction est détaillée dans le paragraphe précédent. | @@ -146,18 +146,18 @@ Avant de pouvoir réaliser une opération sur un objet (comme le changement de l Pour sélectionner un objet à l’aide de la barre d’outils : -1. Cliquez sur l'outil Flèche dans la barre d'outils.

![](../assets/en/FormEditor/selection.png)

+1. Cliquez sur l'outil Flèche dans la barre d'outils.
![](../assets/en/FormEditor/selection.png) -

Lorsque vous le faites glisser au-dessus du formulaire, le pointeur prend la forme du pointeur standard

. +
When you move the pointer into the form area, it becomes a standard arrow-shaped pointer. -2. Cliquez sur l’objet que vous souhaitez sélectionner. Les poignées de redimensionnement identifient l'objet sélectionné.

![](../assets/en/FormEditor/selectResize.png)

+2. Cliquez sur l’objet que vous souhaitez sélectionner. Les poignées de redimensionnement identifient l'objet sélectionné.
![](../assets/en/FormEditor/selectResize.png) Pour sélectionner un objet à l’aide de la Liste des propriétés : 1. Sélectionnez le nom de l’objet dans la liste de sélection située en haut de la palette. De cette manière, vous pouvez sélectionner un objet masqué par d’autres objets ou situé en-dehors des limites de la fenêtre. Pour désélectionner un objet, cliquez hors de ses limites ou cliquez dessus en maintenant la touche **Majuscule** enfoncée. -> Il est également possible de sélectionner des objets en double-cliquant dans la fenêtre de résultat d’une recherche globale. +> It is also possible to select objects by double-clicking them in the result window of "Find in design" operation. ### Sélection de plusieurs objets @@ -241,13 +241,13 @@ Pour grouper les objets : 1. Sélectionnez les objets que vous souhaitez grouper. 2. Sélectionnez **Grouper** dans le menu Objets. OU - Cliquez sur le bouton Grouper dans la barre d'outils de l'éditeur de formulaire:

![](../assets/en/FormEditor/group.png)

+ Cliquez sur le bouton Grouper dans la barre d'outils de l'éditeur de formulaire:
![](../assets/en/FormEditor/group.png) 4D indique la limite des objets regroupés nouvellement avec des poignées. Les objets du groupe ne sont plus marqués séparément par des poignées. Désormais, lorsque vous modifiez le groupe d’objets, vous modifiez tous les objets qui le composent. Pour dégrouper un groupe d’objets : 1. Sélectionnez le groupe que vous souhaitez dégrouper. -2. Choisissez **Dégrouper** dans le menu **Objet**.

OU

Cliquez sur le bouton **Dégrouper** (variante du bouton **Groupe**) dans la barre d'outils de l'éditeur de formulaire.

Si **Ungroup** est estompé, cela signifie que l'objet sélectionné est déjà séparé dans sa forme la plus simple.

4D marque les limites des objets individuels avec des poignées. +2. Choose **Ungroup** from the **Object** menu.
OR
Click the **Ungroup** button (variant of the **Group** button) in the toolbar of the Form editor.
If **Ungroup** is dimmed, this means that the selected object is already separated into its simplest form. 4D rematérialise les bordures des objets qui constituaient le groupe avec des poignées. ### Aligner des objets @@ -275,9 +275,9 @@ La boîte de dialogue d’alignement vous permet d’appliquer tout type d’ali Pour afficher cette boîte de dialogue, vous devez sélectionner les objets que vous souhaitez aligner puis choisir la commande **Alignement...** dans le sous-menu **Aligner** du menu **Objets** ou du menu contextuel de l’éditeur. -- Dans les zones “Alignement droite/gauche” et/ou “Alignement haut/bas”, cliquez sur l’icône correspondant à l'alignement que vous souhaitez effectuer.

La zone d'exemple affiche les résultats de votre sélection.

+- Dans les zones “Alignement droite/gauche” et/ou “Alignement haut/bas”, cliquez sur l’icône correspondant à l'alignement que vous souhaitez effectuer.
La zone d'exemple affiche les résultats de votre sélection. -- Pour effectuer un alignement standard des objets sélectionnés, cliquez sur le bouton **Prévisualisation** ou **Appliquer**. Dans ce cas, 4D utilisera l’objet le plus avancé dans la direction de l’alignement comme “ancre” sur laquelle tous les autres objets vont être alignés. Par exemple, si vous alignez un groupe d’objets à droite, les objets seront alignés sur le côté droit de l’objet situé le plus à droite du groupe. OU:

Pour aligner les objets sur un objet spécifique, sélectionnez l'option **Aligner sur** et sélectionnez l'objet sur lequel vous voulez que les autres objets soient alignés dans la liste d'objets. Dans ce cas, la position de l’objet de référence ne variera pas.

+- Pour effectuer un alignement standard des objets sélectionnés, cliquez sur le bouton **Prévisualisation** ou **Appliquer**. Dans ce cas, 4D utilisera l’objet le plus avancé dans la direction de l’alignement comme “ancre” sur laquelle tous les autres objets vont être alignés. Par exemple, si vous alignez un groupe d’objets à droite, les objets seront alignés sur le côté droit de l’objet situé le plus à droite du groupe. OU:
Pour aligner les objets sur un objet spécifique, sélectionnez l'option **Aligner sur** et sélectionnez l'objet sur lequel vous voulez que les autres objets soient alignés dans la liste d'objets. Dans ce cas, la position de l’objet de référence ne variera pas. Vous pouvez prévisualiser le résultat réel de vos paramétrages en cliquant sur le bouton **Prévisualisation**. Les objets sont ensuite alignés dans l'éditeur de formulaires, mais comme la boîte de dialogue ne disparaît pas, vous pouvez toujours annuler ou appliquer l'alignement. @@ -314,7 +314,8 @@ Pour répartir directement une sélection d’objets (verticalement ou horizonta 1. Sélectionnez les objets (au moins trois) que vous souhaitez répartir. -2. Dans la barre d'outils, cliquez sur l'outil de distribution qui correspond à la distribution que vous souhaitez appliquer.

![](../assets/en/FormEditor/distributionTool.png)

OU

Sélectionnez une commande de distribution dans le sous-menu **Aligner** du menu **Objet** ou dans le menu contextuel de l'éditeur.

4D distribue les objets en conséquence. Les objets sont répartis en fonction de la distance entre leurs centres et la plus grande distance entre deux objets consécutifs est utilisée comme référence. +2. In the toolbar, click on the distribution tool that corresponds to the distribution you want to apply.
![](../assets/en/FormEditor/distributionTool.png)
OR
Select a distribution menu command from the **Align** submenu in the **Object** menu or from the context menu of the editor. + 4D distribue les objets en conséquence. Les objets sont répartis en fonction de la distance entre leurs centres et la plus grande distance entre deux objets consécutifs est utilisée comme référence. Pour répartir des objets à l’aide de la boîte de dialogue d'alignement et répartition : @@ -322,9 +323,9 @@ Pour répartir des objets à l’aide de la boîte de dialogue d'alignement et r 2. Choisissez la commande **Alignement...** dans le sous-menu **Aligner** du menu **Objets** ou du menu contextuel de l’éditeur. La boîte de dialogue suivante apparaît :![](../assets/en/FormEditor/alignmentAssistant.png) -3. Dans les zones Alignement gauche/droite et/ou haut/bas, cliquez sur l'icône de distribution standard : ![](../assets/en/FormEditor/horizontalDistribution.png)

(icône standard de distribution horizontale)

La zone d'exemple affiche les résultats de votre sélection. +3. Dans les zones Alignement gauche/droite et/ou haut/bas, cliquez sur l'icône de distribution standard : ![](../assets/en/FormEditor/horizontalDistribution.png)
(icône standard de distribution horizontale)
La zone d'exemple affiche les résultats de votre sélection. -4. Pour effectuer une distribution qui utilise le schéma standard, cliquez sur **Aperçu** ou *Appliquer*.

Dans ce cas, 4D effectuera une distribution standard, de sorte que les objets soient répartis avec une quantité d'espace égale entre eux.

OU :

Pour exécuter une distribution spécifique, sélectionnez l'option **Distribuer** (par exemple, si vous souhaitez distribuer les objets en fonction de la distance par rapport à leur côté droit). Cette option agit comme un interrupteur. Si la case à cocher Répartir est sélectionnée, les icônes situées en dessous effectuent une fonction différente:

+4. Pour effectuer une distribution qui utilise le schéma standard, cliquez sur **Aperçu** ou *Appliquer*.
Dans ce cas, 4D effectuera une distribution standard, de sorte que les objets soient répartis avec une quantité d'espace égale entre eux.
OU :
Pour exécuter une distribution spécifique, sélectionnez l'option **Distribuer** (par exemple, si vous souhaitez distribuer les objets en fonction de la distance par rapport à leur côté droit). Cette option agit comme un interrupteur. Si la case à cocher Répartir est sélectionnée, les icônes situées en dessous effectuent une fonction différente:
- Horizontalement, les icônes correspondent aux répartitions suivantes : équidistance des côtés gauches, des centres (hor.) et des côtés droits des objets sélectionnés. - Verticalement, les icônes correspondent aux répartitions suivantes : équidistance des bords supérieurs, des centres (vert.) et des bords inférieurs des objets sélectionnés. @@ -379,11 +380,11 @@ Ce paragraphe décrit la visualisation et la modification de l’ordre de saisie Pour visualiser ou modifier l’ordre de saisie : -1. Sélectionnez **Ordre de saisie** dans le menu **Formulaire** ou cliquez sur le bouton dans la barre d’outils de la fenêtre :

![](../assets/en/FormEditor/zOrder.png)

+1. Sélectionnez **Ordre de saisie** dans le menu **Formulaire** ou cliquez sur le bouton dans la barre d’outils de la fenêtre :
![](../assets/en/FormEditor/zOrder.png)
Le pointeur prend la forme d’un pointeur d’ordre, et 4D dessine une ligne qui permet de visualiser la séquence de l’ordre de saisie courant. Visualiser et modifier l’ordre de saisie sont les seules opérations que vous pouvez réaliser dans ce mode. -2. Pour changer l’ordre de saisie, positionnez le pointeur sur un objet dans le formulaire et, tout en maintenant le bouton de la souris enfoncé, faites glisser le pointeur vers l'objet que vous souhaitez ensuite dans l'ordre de saisie des données.

![](../assets/en/FormEditor/entryOrder3.png)

4D ajustera automatiquement l'ordre de saisie. +2. Pour changer l’ordre de saisie, positionnez le pointeur sur un objet dans le formulaire et, tout en maintenant le bouton de la souris enfoncé, faites glisser le pointeur vers l'objet que vous souhaitez ensuite dans l'ordre de saisie des données.
![](../assets/en/FormEditor/entryOrder3.png)
4D ajustera automatiquement l'ordre de saisie. 3. Répétez l’étape 2 autant de fois que nécessaire pour obtenir le nouvel ordre de saisie. From cfeae0d37d572de7840b853e67ed760b42bf2527 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Tue, 21 Oct 2025 07:11:05 +0200 Subject: [PATCH 021/137] New translations installation.md (French) --- .../current/GettingStarted/Installation.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/i18n/fr/docusaurus-plugin-content-docs/current/GettingStarted/Installation.md b/i18n/fr/docusaurus-plugin-content-docs/current/GettingStarted/Installation.md index 5f6e601f300fa6..d246dceb901e57 100644 --- a/i18n/fr/docusaurus-plugin-content-docs/current/GettingStarted/Installation.md +++ b/i18n/fr/docusaurus-plugin-content-docs/current/GettingStarted/Installation.md @@ -7,7 +7,7 @@ Bienvenue dans 4D ! Cette page regroupe toutes les informations nécessaires sur ## Configuration requise -La page [Téléchargements](https://us.4d.com/product-download) dut site de 4D fournit des informations sur les pré-requis macOS / Windows nécessaires à la gamme 4D. +La page [Téléchargements](https://us.4d.com/product-download) du site de 4D fournit des informations sur les pré-requis macOS / Windows nécessaires à la gamme 4D. Des détails techniques supplémentaires sont disponibles sur la [page Ressources](https://us.4d.com/resources/feature-release) du site web de 4D. @@ -32,8 +32,8 @@ Apparaît ensuite l'assistant de bienvenue : - Si vous souhaitez découvrir et explorer 4D, cliquez sur le lien **essai gratuit**. Il vous sera demandé de vous connecter ou de créer un compte 4D. - Si vous possédez déjà un compte 4D, cliquez sur le lien **Se connecter** sur le côté supérieur droit de l'assistant d'installation et saisissez les informations relatives à votre compte. - - Any already activated 4D products are automatically updated (or additional expansion packs loaded) on your machine. - - If no product is activated on the machine but there is a development license associated with the 4D account, a dialog box appears, prompting you to install it directly. + - Tous les produits 4D déjà activés sont automatiquement mis à jour (ou des packs d'extension supplémentaires sont chargés) sur votre machine. + - Si aucun produit n'est activé sur la machine mais qu'une licence de développement est associée au compte 4D, une boîte de dialogue apparaît, vous proposant de l'installer directement. Élargissez la zone **Ouvrir ou créer un projet d'application** et sélectionnez l'action que vous souhaitez exécuter : From a6331420fad87e5e97c0af389be59702ba409c24 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Tue, 21 Oct 2025 07:11:33 +0200 Subject: [PATCH 022/137] New translations ordaclasses.md (French) --- .../current/ORDA/ordaClasses.md | 94 +++++++++---------- 1 file changed, 47 insertions(+), 47 deletions(-) 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 84479ca7fefcae..d4738c0141b15f 100644 --- a/i18n/fr/docusaurus-plugin-content-docs/current/ORDA/ordaClasses.md +++ b/i18n/fr/docusaurus-plugin-content-docs/current/ORDA/ordaClasses.md @@ -306,52 +306,52 @@ Class constructor() :::note -Il n'y a pas de mot-clé de fin pour le code d'une fonction class constructor. Le langage 4D détecte automatiquement la fin du code d'une fonction par le mot clé `Function` suivant ou la fin du fichier de classe. +Il n'y a pas de mot-clé de fin pour le code d'une fonction de constructeur de classe. Le langage 4D détecte automatiquement la fin du code d'une fonction par le mot clé `Function` suivant ou la fin du fichier de classe. ::: -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. +Une fonction de construction de classe ORDA est déclenchée juste après la création d'une nouvelle entité en mémoire, [quelle que soit la manière dont elle est créée](#commands-that-trigger-the-class-constructor-functions). Elle est utile pour définir des valeurs d'initialisation lors de l'instanciation de l'entité, par exemple un identifiant personnalisé. -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). +Cette fonction ne peut être définie qu'au [niveau de l'entité](#entity-class). Il ne peut y avoir qu'une seule fonction constructor dans une classe d'entité (sinon une erreur est renvoyée). -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. +La fonction du constructeur de la classe ORDA ne reçoit ni ne renvoie de paramètres. Cependant, vous pouvez l'utiliser pour initialiser les valeurs des attributs en utilisant [`This`](../commands/this.md). Notez que les valeurs initialisées par le constructeur sont remplacées si les attributs correspondants sont remplis par le code. :::note -An ORDA class constructor function is similar to a [user class constructor function](../Concepts/classes.md#class-constructor), with the following differences: +Une fonction de construction de classe ORDA est similaire à une [fonction de construction de classe utilisateur](../Concepts/classes.md#class-constructor), avec les différences suivantes : -- 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). +- vous ne pouvez pas passer de paramètres au constructeur, +- vous ne pouvez pas utiliser les mots-clés `shared`, `session`, ou `singleton`, +- vous ne pouvez pas appeler le mot-clé [`Super`](../Concepts/classes.md#super) à l'intérieur de la fonction, +- le constructeur de la classe ne peut pas être appelé en utilisant la fonction `new()` sur une entité (les entités ne peuvent être créées que par des fonctions spécifiques, voir ci-dessous). ::: -#### Commands that trigger the Class constructor functions +#### Commandes qui déclenchent les fonctions du constructeur de classe -The `Class constructor` function is triggered by the following commands and features: +La fonction `Class constructor` est déclenchée par les commandes et fonctionnalités suivantes : - [`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). +- [API REST $method=update](../REST/$method.md#methodupdate) dans un POST sans les paramètres `__KEY` et `__STAMP`. +- l'[Explorateur de données](../Admin/dataExplorer.md#editing-data). :::note Notes -- 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. +- La fonction [`entity.clone()`](../API/EntityClass.md#clone) ne déclenche pas le constructeur de la classe de l'entité. +- Les enregistrements créés au niveau de la base de données 4D à l'aide de commandes du langage classique 4D ou d'actions standard ne déclenchent pas le constructeur de la classe de l'entité. ::: -#### Remote configurations +#### Configurations distantes -When using a remote configurations, you need to pay attention to the following principles: +Lorsque vous utilisez une configuration à distance, il convient de respecter les principes suivants : -- 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. +- En **client/serveur**, la fonction peut être appelée sur le client ou sur le serveur, en fonction de l'emplacement du code d'appel. Lorsqu'elle est appelée sur le client, elle n'est pas déclenchée à nouveau lorsque le client tente d'enregistrer la nouvelle entité et envoie une demande de mise à jour au serveur pour la créer en mémoire sur le serveur. :::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. +Des fonctions telles que [`dataClass.fromCollection()`](../API/DataClassClass.md#fromcollection) pouvant créer un grand nombre d'entités et donc déclencher le constructeur de la classe d'entités en conséquence, vous devez vous assurer que le code du constructeur n'exécute pas de traitements qui prennent du temps, pour des raisons de performance. Dans les configurations distantes (voir ci-dessous), le code ne doit pas déclencher de requêtes multiples au serveur. ::: @@ -367,7 +367,7 @@ Class constructor() ``` -#### Example 2 (diagram): Client/server +#### Exemple 2 (diagramme) : Client/serveur ```mermaid @@ -386,7 +386,7 @@ Server-->>-Client: Success ``` -#### Example 3 (diagram): Qodly - Standard action +#### Exemple 3 (diagramme): Qodly - Action standard ```mermaid @@ -404,7 +404,7 @@ sequenceDiagram ``` -#### Example 4 (diagram): Qodly - Standard action and update value on the newly created entity +#### Exemple 4 (diagramme): Qodly - Action standard et mise à jour de valeur sur la nouvelle entité créée ```mermaid @@ -426,7 +426,7 @@ Note over Qodly page: product.creationDate is "06/17/25"
and product.commen ``` -#### Example 5 (diagram): Qodly - Entity instanciated in a function +#### Exemple 5 (diagramme) : Qodly - Entité instanciée dans une fonction ```mermaid @@ -896,23 +896,23 @@ Exposed Alias studentName student.name //scalar value Vous pouvez alors exécuter les recherches suivantes : ```4d -// Find course named "Archaeology" +// Trouver le cours nommé "Archaeology" ds.Course.query("courseName = :1";"Archaeology") -// Find courses given by the professor Smith +// Trouver les cours du professeur Smith ds.Course.query("teacherName = :1";"Smith") -// Find courses where Student "Martin" assists +// Trouver les cours auxquels assiste l'étudiant "Martin" ds.Course.query("studentName = :1";"Martin") -// Find students who have M. Smith as teacher +// Trouver les étudiants qui ont le professeur Smith ds.Student.query("teachers.name = :1";"Smith") -// Find teachers who have M. Martin as Student +// Trouver les professeurs qui ont M. Martin comme étudiant ds.Teacher.query("students.name = :1";"Martin") -// Note that this very simple query string processes a complex -// query including a double join, as you can see in the queryPlan: -// "Join on Table : Course : Teacher.ID = Course.teacherID, +// Notez que cette chaîne très simple traite une requête complexe +// incluant une double jointure, comme vous pouvez le voir dans le queryPlan : +// "Join on Table : Course : Teacher.ID = Course.teacherID, // subquery:[ Join on Table : Student : Course.studentID = Student.ID, // subquery:[ Student.name === Martin]]" ``` @@ -986,59 +986,59 @@ $status:=$remoteDS.Schools.registerNewStudent($student) // OK $id:=$remoteDS.Schools.computeIDNumber() // Erreur "Unknown member method" ``` -## onHTTPGet keyword +## onHTTPGet -Use the `onHTTPGet` keyword to declare functions that can be called through HTTP requests using the `GET` verb. Such functions can return any web contents, for example using the [`4D.OutgoingMessage`](../API/OutgoingMessageClass.md) class. +Utilisez le mot-clé `onHTTPGet` pour déclarer des fonctions qui peuvent être appelées par des requêtes HTTP utilisant le verbe `GET`. Ces fonctions peuvent renvoyer n'importe quel contenu web, par exemple en utilisant la classe [`4D.OutgoingMessage`](../API/OutgoingMessageClass.md). -The `onHTTPGet` keyword is available with: +Le mot-clé `onHTTPGet` est disponible avec : -- ORDA Data model class functions -- [Singletons class functions](../Concepts/classes.md#singleton-classes) +- les fonctions de classe du modèle de données ORDA +- les [fonctions de classe de singletons](../Concepts/classes.md#singleton-classes) La syntaxe formelle est la suivante : ```4d -// declare an onHTTPGet function +// déclarer une fonction onHTTPGet exposed onHTTPGet Function (params) : result ``` :::info -The `exposed` keyword must also be added in this case, otherwise an error will be generated. +Le mot-clé `exposed` doit également être ajouté dans ce cas, sinon une erreur sera générée. ::: :::caution -As this type of call is an easy offered action, the developer must ensure no sensitive action is done in such functions. +Comme ce type d'appel est une action facile d'accès, le développeur doit s'assurer qu'aucune action sensible n'est effectuée dans ces fonctions. ::: ### params -A function with `onHTTPGet` keyword accepts [parameters](../Concepts/parameters.md). +Une fonction avec le mot-clé `onHTTPGet` accepte des [paramètres](../Concepts/parameters.md). -In the HTTP GET request, parameters must be passed directly in the URL and declared using the `$params` keyword (they must be enclosed in a collection). +Dans la requête HTTP GET, les paramètres doivent être passés directement dans l'URL et déclarés à l'aide du mot-clé `$params` (ils doivent être inclus dans une collection). ``` IP:port/rest//functionName?$params='[]' ``` -See the [Parameters](../REST/classFunctions#parameters) section in the REST server documentation. +Voir la section [Paramètres](../REST/classFunctions#parameters) dans la documentation du serveur REST. ### Résultat -A function with `onHTTPGet` keyword can return any value of a supported type (same as for REST [parameters](../REST/classFunctions#parameters)). +Une fonction avec le mot-clé `onHTTPGet` peut renvoyer n'importe quelle valeur d'un type supporté (comme pour les [paramètres REST](../REST/classFunctions#parameters)). :::info -You can return a value of the [`4D.OutgoingMessage`](../API/OutgoingMessageClass.md) class type to benefit from properties and functions to set the header, the body, and the status of the answer. +Vous pouvez renvoyer une valeur de type [`4D.OutgoingMessage`](../API/OutgoingMessageClass.md) pour bénéficier des propriétés et des fonctions permettant de définir l'en-tête, le corps et le statut de la réponse. ::: ### Exemple -You have defined the following function: +Vous avez défini la fonction suivante : ```4d Class extends DataClass @@ -1056,10 +1056,10 @@ exposed onHTTPGet Function getThumbnail($name : Text; $width : Integer; $height return $response ``` -It can be called by the following HTTP GET request: +Elle peut être appelée par la requête HTTP GET suivante : ``` -IP:port/rest/Products/getThumbnail?$params='["Yellow Pack",200,200]' +IP:port/rest/Products/getThumbnail ?$params='["Yellow Pack",200,200]' ``` ## Fonctions locales From a7401c5ce1bec7776983bd31bdd5af67c17a3303 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Tue, 21 Oct 2025 07:11:50 +0200 Subject: [PATCH 023/137] New translations components.md (French) --- .../current/Project/components.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/i18n/fr/docusaurus-plugin-content-docs/current/Project/components.md b/i18n/fr/docusaurus-plugin-content-docs/current/Project/components.md index 0fcf8715778b01..1dff99a10fce34 100644 --- a/i18n/fr/docusaurus-plugin-content-docs/current/Project/components.md +++ b/i18n/fr/docusaurus-plugin-content-docs/current/Project/components.md @@ -326,7 +326,7 @@ Lorsque vous ajoutez ou mettez à jour un composant (qu'il soit [local](#local-c Le gestionnaire de dépendances lit le fichier `dependencies.json` de chaque composant et installe récursivement toutes les dépendances nécessaires, en respectant les spécifications de version dans la mesure du possible. Il n'est donc pas nécessaire d'identifier et d'ajouter manuellement les dépendances imbriquées, une par une. -- **les résolutions de conflits** : Lorsque plusieurs dépendances nécessitent [différentes versions](#) du même composant, le gestionnaire de dépendances tente automatiquement de résoudre les conflits en trouvant une version qui satisfait toutes les plages de versions qui se chevauchent. Si une dépendance primaire entre en conflit avec des dépendances secondaires, la dépendance primaire est prioritaire. +- **les résolutions de conflits** : Lorsque plusieurs dépendances nécessitent [différentes versions](#defining-a-github-dependency-version-range) du même composant, le gestionnaire de dépendances tente automatiquement de résoudre les conflits en trouvant une version qui satisfait toutes les plages de versions qui se chevauchent. Si une dépendance primaire entre en conflit avec des dépendances secondaires, la dépendance primaire est prioritaire. :::note From 1f864f90eb4ea8a81adf7def3a763f7ba1ddafa3 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Tue, 21 Oct 2025 07:34:59 +0200 Subject: [PATCH 024/137] New translations openai.md (French) --- .../current/aikit/Classes/OpenAI.md | 36 +++++++++---------- 1 file changed, 18 insertions(+), 18 deletions(-) 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 2af0940c29c81b..729be9ccb55332 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 @@ -11,27 +11,27 @@ La classe OpenAI fournit un client permettant d'accéder à diverses ressources | Nom de propriété | Type | Description | Optionnel | | ---------------- | ---- | ------------------------------------------------------------------------------ | --------------------------------------------------------- | -| `apiKey` | Text | Votre [clé API OpenAI ](https://platform.openai.com/api-keys). | Can be required by the provider | +| `apiKey` | Text | Votre [clé API OpenAI ](https://platform.openai.com/api-keys). | Peut être requis par le fournisseur | | `baseURL` | Text | URL de base pour les requêtes de l'API OpenAI. | Yes (if omitted = use OpenAI Platform) | | `organisation` | Text | Votre identifiant d'organisation OpenAI. | Oui | | `project` | Text | Votre identifiant de projet OpenAI. | Oui | ### Propriétés HTTP supplémentaires -| Nom de propriété | Type | Description | -| ---------------- | -------------------------------------------------------------------------------- | -------------------------------------------------------------------- | -| `timeout` | Real | Time in seconds before timeout occurs. | -| `maxRetries` | Real | Maximum number of retry attempts in case of failure. | -| `httpAgent` | [4D.HTTPAgent](https://developer.4d.com/docs/API/HTTPAgentClass) | HTTP agent used for making requests. | -| `customHeaders` | Real | Custom headers to be included in the HTTP requests. | +| Nom de propriété | Type | Description | +| ---------------- | -------------------------------------------------------------------------------- | ------------------------------------------------------------------------ | +| `timeout` | Real | Délai en secondes avant l'expiration du délai. | +| `maxRetries` | Real | Nombre maximum de tentatives en cas d'échec. | +| `httpAgent` | [4D.HTTPAgent](https://developer.4d.com/docs/API/HTTPAgentClass) | Agent HTTP utilisé pour effectuer des requêtes. | +| `customHeaders` | Real | En-têtes personnalisés à inclure dans les requêtes HTTP. | ### Class constructor Créer une instance de la classe client OpenAI. -| Nom de l'argument | Type | Description | -| ------------------------- | ------------ | ------------------------------------------------------- | -| `apiKey or configuration` | Text, Object | apiKey if Text or configuration Object. | +| Nom de l'argument | Type | Description | +| ------------------------- | ------------ | ----------------------------------------------------------- | +| `apiKey` ou configuration | Text, Object | apiKey si Texte, ou objet de configuration. | #### Clé API @@ -58,15 +58,15 @@ $client.baseURL:="https://server.ai" ## Ressources API -L'API donne accès à de multiples ressources qui permettent une interaction transparente avec les services de l'OpenAI. Each resource is encapsulated within a dedicated API class, offering a structured and intuitive way to interact with different functionalities. +L'API donne accès à de multiples ressources qui permettent une interaction transparente avec les services de l'OpenAI. Chaque ressource est encapsulée dans une classe d'API dédiée, offrant un moyen structuré et intuitif d'interagir avec les différentes fonctionnalités. -| Nom de propriété | Type | Description | -| ---------------- | ----------------------------------------------- | ---------------------------------------------- | -| `models` | [OpenAIModelsAPI](OpenAIModelsAPI.md) | Accès à l'API des modèles. | -| `chat` | [OpenAIChatAPI](OpenAIChatAPI.md) | Accès à l'API de Chat. | -| `images` | [OpenAIImagesAPI](OpenAIImagesAPI.md) | Accès à l'API Images. | -| `moderations` | [OpenAIModerationsAPI](OpenAIModerationsAPI.md) | Accès à l'API des modérations. | -| `embeddings` | [OpenAIEmbeddingsAPI](OpenAIEmbeddingsAPI.md) | Access to the Embeddings API. | +| Nom de propriété | Type | Description | +| ---------------- | ----------------------------------------------- | ---------------------------------------------------------------------------- | +| `models` | [OpenAIModelsAPI](OpenAIModelsAPI.md) | Accès à l'API des modèles. | +| `chat` | [OpenAIChatAPI](OpenAIChatAPI.md) | Accès à l'API de discussion (Chat). | +| `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). | ### Exemple d'utilisation From e860831808abd40302e9d5f897d9a2fcd15ae367 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Tue, 21 Oct 2025 07:35:02 +0200 Subject: [PATCH 025/137] New translations openaichatapi.md (French) --- .../current/aikit/Classes/OpenAIChatAPI.md | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/i18n/fr/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIChatAPI.md b/i18n/fr/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIChatAPI.md index 936135592b6429..85b9cc589d5ccc 100644 --- a/i18n/fr/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIChatAPI.md +++ b/i18n/fr/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIChatAPI.md @@ -5,14 +5,14 @@ title: OpenAIChatAPI # OpenAIChatAPI -La classe `OpenAIChatAPI` fournit une interface permettant d'interagir avec la fonctionnalité de chat de l'OpenAI, en tirant parti des capacités de complétion et de vision. +La classe `OpenAIChatAPI` fournit une interface permettant d'interagir avec la fonctionnalité de discussion (*chat*) de l'OpenAI, en tirant parti des capacités de complétion et de vision. ## Propriétés -| Propriété | Type | Description | -| ------------- | ------------------------------------------------------- | ----------------------------------------------------------------------- | -| `completions` | [OpenAIChatCompletionsAPI](OpenAIChatCompletionsAPI.md) | An instance that handles chat completions requests. | -| `vision` | [OpenAIVision](OpenAIVision.md) | A helper instance that handles vision-related requests. | +| Propriété | Type | Description | +| ------------- | ------------------------------------------------------- | ---------------------------------------------------------------------------------- | +| `completions` | [OpenAIChatCompletionsAPI](OpenAIChatCompletionsAPI.md) | Une instance qui gère les requêtes de complétion de la discussion. | +| `vision` | [OpenAIVision](OpenAIVision.md) | A helper instance that handles vision-related requests. | ## Function @@ -20,10 +20,10 @@ La classe `OpenAIChatAPI` fournit une interface permettant d'interagir avec la f **create**(*systemPrompt* : Text) : OpenAIChatHelper -| Paramètres | Type | Description | -| -------------- | --------------------------------------- | ----------------------------------------------------------------- | -| *systemPrompt* | Text | The system prompt to initialize the chat. | -| Résultat | [OpenAIChatHelper](OpenAIChatHelper.md) | A helper instance for managing chat interactions. | +| Paramètres | Type | Description | +| -------------- | --------------------------------------- | -------------------------------------------------------------------------------------- | +| *systemPrompt* | Text | L'invite du système pour initialiser la discussion. | +| Résultat | [OpenAIChatHelper](OpenAIChatHelper.md) | Une instance du helper pour gérer les interactions dans la discussion. | #### Exemple d'utilisation From 10e162242de26a93958ae6398343465e6dbd360d Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Tue, 21 Oct 2025 07:35:08 +0200 Subject: [PATCH 026/137] New translations openaichatcompletionsparameters.md (French) --- .../aikit/Classes/OpenAIChatCompletionsParameters.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/i18n/fr/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIChatCompletionsParameters.md b/i18n/fr/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIChatCompletionsParameters.md index d3a3e3cf405c79..c662fa21029b46 100644 --- a/i18n/fr/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIChatCompletionsParameters.md +++ b/i18n/fr/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIChatCompletionsParameters.md @@ -30,9 +30,9 @@ The `OpenAIChatCompletionParameters` class is designed to handle the parameters ### Asynchronous Callback Properties -| Propriété | Type | Description | -| ------------------------------------------ | --------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------- | -| `onData` (or `formula`) | 4D.Function | A function to be called asynchronously when receiving data chunk. Ensure that the current process does not terminate. | +| Propriété | Type | Description | +| ------------------------------------------ | --------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `onData` (or `formula`) | 4D.Function | A function to be called asynchronously when receiving data chunk. Assurez-vous que le process courant ne se termine pas. | `onData` will receive as argument an [OpenAIChatCompletionsStreamResult](./OpenAIChatCompletionsStreamResult.md). From 3a941ae6e213094130bc1c05e462145f198fd57f Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Tue, 21 Oct 2025 07:35:19 +0200 Subject: [PATCH 027/137] New translations openaimessage.md (French) --- .../current/aikit/Classes/OpenAIMessage.md | 28 +++++++++---------- 1 file changed, 14 insertions(+), 14 deletions(-) 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 918611abe323f1..25400a67a22838 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 @@ -12,16 +12,16 @@ La classe `OpenAIMessage` représente un message structuré contenant un rôle, | Propriété | Type | Description | | -------------- | ---------- | -------------------------------------------------------------------------------------------------------------------------------------------------------- | | `rôle` | Text | The role of the message (e.g., "user", "assistant", "system", "tool"). | -| `contenu` | Variant | The content of the message, which can be a text or a collection of objects. | -| `user` | Text | An optional property representing the user associated with the message. | +| `contenu` | Variant | Le contenu du message, qui peut être un texte ou une collection d'objets. | +| `user` | Text | Une propriété facultative représentant l'utilisateur associé au message. | | `tool_calls` | Collection | A collection of tool calls requested by the assistant. Each tool call contains an `id`, `type`, and a `function` object. | | `tool_call_id` | Text | The ID of the tool call that this message is responding to (used when `role` is "tool"). | ## Propriétés calculées -| Propriété | Type | Description | -| --------- | ---- | --------------------------------------------------------- | -| `text` | Text | A property representing the text message. | +| Propriété | Type | Description | +| --------- | ---- | -------------------------------------------------------------- | +| `text` | Text | Une propriété représentant le message textuel. | ## Fonctions @@ -29,23 +29,23 @@ La classe `OpenAIMessage` représente un message structuré contenant un rôle, **addImageURL**(*imageURL* : Text; *detail* : Text) -| Paramètres | Type | Description | -| ---------- | ---- | ----------------------------------------------------------- | -| *imageURL* | Text | The URL of the image to add to the message. | -| *detail* | Text | Additional details about the image. | +| Paramètres | Type | Description | +| ---------- | ---- | ------------------------------------------------------ | +| *imageURL* | Text | L'URL de l'image à ajouter au message. | +| *detail* | Text | Détails supplémentaires sur l'image. | -Adds an image URL to the content of the message. +Ajoute une URL d'image au contenu du message. ## Exemple d'utilisation ### Create a simple message and attach an image ```4d -// Create an instance of OpenAIMessage -var $message:=cs.AIKit.OpenAIMessage({role: "user"; content: "Hello!"}) +// Créer une instance d'OpenAIMessage +var $message:=cs.AIKit.OpenAIMessage({role : "user" ; content : "Hello !"}) -// Add an image URL with details -$message.addImageURL("http://example.com/image.jpg"; "high") +// Ajouter une image URL avec des détails +$message.addImageURL("http://example.com/image.jpg" ; "high") ``` ### Respond to a tool call message From 6dd2eefde815c41c4ba0fbedddbc2a8ab50ec7b0 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Tue, 21 Oct 2025 07:35:29 +0200 Subject: [PATCH 028/137] New translations openaiparameters.md (French) --- .../current/aikit/Classes/OpenAIParameters.md | 42 +++++++++---------- 1 file changed, 21 insertions(+), 21 deletions(-) diff --git a/i18n/fr/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIParameters.md b/i18n/fr/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIParameters.md index ab0f9184839a4f..3e875d09183335 100644 --- a/i18n/fr/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIParameters.md +++ b/i18n/fr/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 classe `OpenAIParameters` est conçue pour gérer les paramètres d'exécution et de requête pour interagir avec l'API OpenAI. ## Propriétés @@ -13,16 +13,16 @@ The `OpenAIParameters` class is designed to handle execution and request paramet Use this callback property to receive the result regardless of success or error: -| Propriété | Type | Description | -| -------------------------------------------------- | --------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------- | -| `onTerminate`
(or `formula`) | 4D.Function | A function to be called asynchronously when finished. Ensure that the current process does not terminate. | +| Propriété | Type | Description | +| -------------------------------------------------- | --------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `onTerminate`
(or `formula`) | 4D.Function | Une fonction à appeler de manière asynchrone lorsqu'elle est terminée. Assurez-vous que le process courant ne se termine pas. | Use these callback properties for more granular control over success and error handling: -| Propriété | Type | Description | -| ------------ | --------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `onResponse` | 4D.Function | A function to be called asynchronously when the request finishes **successfully**. Ensure that the current process does not terminate. | -| `onError` | 4D.Function | A function to be called asynchronously when the request finishes **with errors**. Ensure that the current process does not terminate. | +| Propriété | Type | Description | +| ------------ | --------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `onResponse` | 4D.Function | A function to be called asynchronously when the request finishes **successfully**. Assurez-vous que le process courant ne se termine pas. | +| `onError` | 4D.Function | A function to be called asynchronously when the request finishes **with errors**. Assurez-vous que le process courant ne se termine pas. | > 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. @@ -30,28 +30,28 @@ See [documentation about asynchronous code for examples](../asynchronous-call.md ### Network Properties -| Propriété | Type | Description | -| -------------- | --------- | -------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `timeout` | Real | Overrides the client-level default timeout for the request, in seconds. Default is 0. | -| `httpAgent` | HTTPAgent | Overrides the client-level default HTTP agent for the request. | -| `maxRetries` | Integer | The maximum number of retries for the request. (Only if code not asynchrone ie. no function provided) | -| `extraHeaders` | Object | Extra headers to send with the request. | +| Propriété | Type | Description | +| -------------- | --------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | +| `timeout` | Real | Remplace le délai d'attente par défaut au niveau du client pour la requête, en secondes. Par défaut, 0. | +| `httpAgent` | HTTPAgent | Remplace l'agent HTTP par défaut au niveau du client pour la requête. | +| `maxRetries` | Integer | Nombre maximal de tentatives pour la requêtes. (Seulement si le code n'est pas asynchrone, c'est-à-dire s'il n'y a pas de fonction fournie) | +| `extraHeaders` | Object | En-têtes supplémentaires à envoyer avec la requête. | ### OpenAPI Properties -| Propriété | Type | Description | -| --------- | ---- | ----------------------------------------------------------------------------------------------------------- | -| `user` | Text | A unique identifier representing the end-user, which helps OpenAI monitor and detect abuse. | +| Propriété | Type | Description | +| --------- | ---- | ------------------------------------------------------------------------------------------------------------------------------- | +| `user` | Text | Un identifiant unique représentant l'utilisateur final, ce qui aide OpenAI à surveiller et à détecter les abus. | ### Others -| Propriété | Type | Description | -| --------- | ------- | ------------------------------------------------------------------------------------------------------------ | -| `throw` | Boolean | If true, throws an error if one occurs. Only if no formula callback defined. | +| Propriété | Type | Description | +| --------- | ------- | -------------------------------------------------------------------------------------------------------------------------------- | +| `throw` | Boolean | Si true, faire un throw en cas d'erreur. Uniquement si aucune formule de callback n'est définie. | ## Classes héritées -Several classes inherit from `OpenAIParameters` to extend its functionality for specific use cases. Below are some of the classes that extend `OpenAIParameters`: +Plusieurs classes héritent de `OpenAIParameters` pour étendre ses fonctionnalités à des cas d'utilisation spécifiques. Voici quelques-unes des classes qui étendent `OpenAIParameters` : - [OpenAIChatCompletionsParameters](OpenAIChatCompletionsParameters.md) - [OpenAIChatCompletionsMessagesParameters](OpenAIChatCompletionsMessagesParameters.md) From 1b1a01b60da9fa23ce23cb0d82eb1140125e8b94 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Tue, 21 Oct 2025 07:35:33 +0200 Subject: [PATCH 029/137] New translations asynchronous-call.md (French) --- .../current/aikit/asynchronous-call.md | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/i18n/fr/docusaurus-plugin-content-docs/current/aikit/asynchronous-call.md b/i18n/fr/docusaurus-plugin-content-docs/current/aikit/asynchronous-call.md index c0c0c453eb7436..aa37bc3c85f2bb 100644 --- a/i18n/fr/docusaurus-plugin-content-docs/current/aikit/asynchronous-call.md +++ b/i18n/fr/docusaurus-plugin-content-docs/current/aikit/asynchronous-call.md @@ -5,27 +5,27 @@ title: Appel asynchrone # Appel asynchrone -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 vous ne souhaitez pas attendre la réponse de l'OpenAPI lorsque vous envoyez une requête à son API, vous devez utiliser un code asynchrone. -To make asynchronous calls, you must provide a callback `4D.Function`(`Formula`) in the [OpenAIParameters](Classes/OpenAIParameters.md) object parameter to receive the result. +Pour effectuer des appels asynchrones, vous devez fournir une `4D.Function`(`Formula`) de rappel (*callback*) dans le paramètre objet [OpenAIParameters](Classes/OpenAIParameters.md) pour recevoir le résultat. -The callback function will receive the same result object type (one of [OpenAIResult](Classes/OpenAIResult.md) child classes) that would be returned by the function in synchronous code. Voir les exemples ci-dessous. +La fonction de callback recevra le même type d'objet de résultat (l'une des classes enfant de [OpenAIResult](Classes/OpenAIResult.md)) que celui qui serait renvoyé par la fonction dans un code synchrone. Voir les exemples ci-dessous. -## Process Considerations +## A propos des process -The asynchronous method is based on [4D.HTTPRequest](https://developer.4d.com/docs/API/HTTPRequestClass), so the response will be received within the current process. +La méthode asynchrone est basée sur [4D.HTTPRequest](https://developer.4d.com/docs/API/HTTPRequestClass), ainsi la réponse sera reçue dans le process courant. -> ⚠️ If your process ends at the conclusion of the current method (e.g., using New process, or playing in the method editor), the callback formula might not be called asynchronously. In such cases, consider using `CALL WORKER` or `CALL FORM`. +> ⚠️ Si votre process se termine à la fin de la méthode courante (par exemple, si vous utilisez New process ou l'éditeur de méthode), la formule de callback peut ne pas être appelée de manière asynchrone. Dans ce cas, il est nécessaire d'utiliser `CALL WORKER` ou `CALL FORM`. ## Exemples d’utilisation -### liste de modèles +### Liste de modèles ```4d $client.models.list({formula: Formula(MyReceiveMethod($1))}) ``` -`$1` sera une instance de [OpenAIModelListResult] (Classes/OpenAIModelListResult.md), donc la méthode `MyReceiveMethod` pourrait être : +`$1` sera une instance de [OpenAIModelListResult](Classes/OpenAIModelListResult.md), donc la méthode `MyReceiveMethod` pourrait être : ```4d #DECLARE($result: cs.AIKit.OpenAIModelListResult) @@ -41,7 +41,7 @@ Else End if ``` -### complétions de chat +### Complétions de chat ```4d var $messages:=[{role: "system"; content: "You are a helpful assistant."}] From db2d6d04a78bad841fdf64bb96062a8a8162d114 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Tue, 21 Oct 2025 07:35:35 +0200 Subject: [PATCH 030/137] New translations compatible-openai.md (French) --- .../current/aikit/compatible-openai.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/i18n/fr/docusaurus-plugin-content-docs/current/aikit/compatible-openai.md b/i18n/fr/docusaurus-plugin-content-docs/current/aikit/compatible-openai.md index ba0522fda1b175..6f376ddde06727 100644 --- a/i18n/fr/docusaurus-plugin-content-docs/current/aikit/compatible-openai.md +++ b/i18n/fr/docusaurus-plugin-content-docs/current/aikit/compatible-openai.md @@ -7,15 +7,15 @@ title: Fournisseurs (Providers) De nombreux fournisseurs d'IA proposent une API de type OpenAI, vous pouvez donc utiliser ce projet pour vous y connecter. -To do so you just have to set the `baseURL` to the provider one and use their api key if needed. +Pour ce faire, il suffit de passer l'adresse du fournisseur dans `baseURL` et d'utiliser sa clé d'api si nécessaire. ```4d $client.baseURL:="https://api.mistral.ai/v1" ``` -Some of them +Quelques-uns : -## Distant +## A distance | Fournisseur | baseURL | | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------- | @@ -31,7 +31,7 @@ Some of them ## Local -| Fournisseur | Default baseURL | Doc | +| Fournisseur | baseURL par défaut | Doc | | ---------------------------------------------------- | --------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | | https://ollama.com/ | http://127.0.0.1:11434/v1 | https://ollama.com/blog/openai-compatibility | | https://lmstudio.ai/ | http://localhost:1234/v1 | https://lmstudio.ai/docs/api/endpoints/openai | From f54984935842e8617b2a3f84bd8823c0f89ceac7 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Tue, 21 Oct 2025 07:35:37 +0200 Subject: [PATCH 031/137] New translations overview.md (French) --- .../current/aikit/overview.md | 26 +++++++++---------- 1 file changed, 13 insertions(+), 13 deletions(-) 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 853ce7579b49a0..27f37b8f05b508 100644 --- a/i18n/fr/docusaurus-plugin-content-docs/current/aikit/overview.md +++ b/i18n/fr/docusaurus-plugin-content-docs/current/aikit/overview.md @@ -11,7 +11,7 @@ title: 4D-AIKit ## OpenAI -La classe [`OpenAI`](Classes/OpenAI.md) vous permet de faire des demandes à l'[API OpenAI](https://platform.openai.com/docs/api-reference/). +La classe [`OpenAI`](Classes/OpenAI.md) vous permet d'envoyer des requêtes à l'[API OpenAI](https://platform.openai.com/docs/api-reference/). ### Configuration @@ -21,7 +21,7 @@ Tout d'abord, initialisez le client OpenAI en utilisant votre clé API var $client:=cs.AIKit.OpenAI.new("your api key") ``` -For a [compatible provider](compatible-openai.md) API, you need to configure the server URL by setting the `baseURL` parameter. +Pour l'API d'un [founisseur compatible](compatible-openai.md), vous devez configurer l'URL du serveur en définissant le paramètre `baseURL`. ```4d var $client:=cs.AIKit.OpenAI.new({apiKey: "your api key"; baseURL: "https://your.server.ai"}) @@ -33,7 +33,7 @@ ou $client.baseURL:="https://your.server.ai" ``` -### Formuler des demandes +### Formuler des requêtes `OpenAI` fournit différents points de terminaison appelés ressources, chacun offrant diverses fonctions. @@ -41,9 +41,9 @@ $client.baseURL:="https://your.server.ai" var $result:=$client..() ``` -Le `$result` contient le `HTTPRequest`, un statut `success`, une collection de `errors` et plus encore. Voir [OpenAIResult](Classes/OpenAIResult.md) +Le résultat `$result` contient la requête `HTTPRequest`, un statut `success`, une collection de `errors` et plus encore. Voir [OpenAIResult](Classes/OpenAIResult.md) -See some examples below. +Voir quelques exemples ci-dessous. #### Chat @@ -60,9 +60,9 @@ var $result:=$client.chat.completions.create($messages; {model: "gpt-4o-mini"}) // résultat dans $result.choice ``` -##### Assistant de chat +##### Helper de discussion (chat) -Cet assistant vous permet de maintenir une liste de messages d'utilisateurs et de réponses d'assistants. +Cet assistant vous permet de maintenir une liste de messages d'utilisateurs et de réponses de l'assistant. ```4d var $helper:=$client.chat.create("You are a helpful assistant.") @@ -71,9 +71,9 @@ $result:=$helper.prompt("and could you decompose this number") // conversation dans $helper.messages ``` -##### Assistant de vision +##### Helper de vision -Cet assistant permet l'analyse des images à travers le chat. +Cet assistant permet l'analyse des images à travers la discussion. ```4d var $result:=$client.chat.vision.create($imageUrl).prompt("give me a description of the image") @@ -113,13 +113,13 @@ var $moderation:=$client.moderations.create("This text contains inappropriate la #### Code asynchrone -Si vous ne souhaitez pas attendre la réponse de l'OpenAPI lorsque vous envoyez une requête à son API, vous devez utiliser un code asynchrone. L'objet résultat sera reçu dans une fonction de rappel. +Si vous ne souhaitez pas attendre la réponse de l'OpenAPI lorsque vous envoyez une requête à son API, vous devez utiliser un code asynchrone. L'objet résultat sera reçu dans une fonction de callback. Voir [documentation détaillée pour les exemples](asynchronous-call.md) ## Droits d'auteur -- This library is not affiliated with, endorsed by, or officially connected to OpenAI in any way. -- "OpenAI" and any related marks are trademarks or registered trademarks of OpenAI, LLC. All rights related to OpenAI's services, APIs, and technologies remain the property of OpenAI. -- This project simply provides an interface to OpenAI’s services and does not claim any ownership over their technology, branding, or intellectual property. +- Cette bibliothèque n'est pas affiliée à OpenAI, ni approuvée par elle, ni officiellement liée à elle de quelque manière que ce soit. +- "OpenAI" et toutes les marques associées sont des marques commerciales ou des marques déposées d'OpenAI, LLC. Tous les droits liés aux services, API et technologies de l'OpenAI restent la propriété de OpenAI. +- Ce projet fournit simplement une interface aux services d'OpenAI et ne revendique aucune propriété sur leur technologie, leur marque ou leur propriété intellectuelle. From 73768cc323a697bfad4f9054389ade3b6c93fd0b Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Tue, 21 Oct 2025 07:35:53 +0200 Subject: [PATCH 032/137] New translations orda-events.md (French) --- .../current/ORDA/orda-events.md | 42 +++++++++---------- 1 file changed, 21 insertions(+), 21 deletions(-) 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 f7d498b3a4d1ec..641f0bf6dda050 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 @@ -1,6 +1,6 @@ --- id: orda-events -title: Entity Events +title: Évènements d'entité ---
Historique @@ -12,7 +12,7 @@ title: Entity Events
-Entity events are functions that are automatically invoked by ORDA each time entities and entity attributes are manipulated (added, deleted, or modified). Vous pouvez écrire des événements très simples, puis les rendre plus sophistiqués. +Les événements d'entité sont des fonctions qui sont automatiquement invoquées par ORDA chaque fois que des entités et des attributs d'entité sont touchés (ajoutés, supprimés ou modifiés). Vous pouvez écrire des événements très simples, puis les rendre plus sophistiqués. Vous ne pouvez pas déclencher directement l'exécution d'une fonction d'événement. Les événements sont appelés automatiquement par ORDA en fonction des actions de l'utilisateur ou des opérations effectuées par le code sur les entités et leurs attributs. @@ -24,7 +24,7 @@ Vous ne pouvez pas déclencher directement l'exécution d'une fonction d'événe :::info Note de compatibilité -ORDA entity events in the datastore are equivalent to triggers in the 4D database. 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. ::: @@ -102,13 +102,13 @@ Lorsqu'une erreur survient dans un événement, les autres événements sont sto ### Propriétés de l'objet error -| Propriété | Type | Description | Fixé par le développeur | -| ------------------ | ------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------- | -| errCode | Integer | Identique à la commande [`Last errors`](../commands/last-errors.md) | Oui | -| message | Text | Identique à la commande [`Last errors`](../commands/last-errors.md) | Oui | -| extraDescription | Object | Informations libres à définir | Oui | -| seriousError | Boolean | Utilisé uniquement avec les événements de validation (voir ci-dessous).
  • `True` : crée une [erreur critique (imprévisible)](../Concepts/error-handling.md#predictable-vs-unpredictable-errors) et déclenche une exception. Adds the `dk status serious validation error` status
  • `False`: creates only a [silent (predictable) error](../Concepts/error-handling.md#predictable-vs-unpredictable-errors). Ajoute le statut `dk status validation failed`.
  • | Oui (par défaut : False) | -| componentSignature | Text | Toujours "DBEV" | Non | +| Propriété | Type | Description | Fixé par le développeur | +| ------------------ | ------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------- | +| errCode | Integer | Identique à la commande [`Last errors`](../commands/last-errors.md) | Oui | +| message | Text | Identique à la commande [`Last errors`](../commands/last-errors.md) | Oui | +| extraDescription | Object | Informations libres à définir | Oui | +| seriousError | Boolean | Utilisé uniquement avec les événements de validation (voir ci-dessous).
  • `True` : crée une [erreur critique (imprévisible)](../Concepts/error-handling.md#predictable-vs-unpredictable-errors) et déclenche une exception. Ajoute le statut `dk status serious validation error`
  • `False` : crée seulement une [erreur silencieuse (prévisible)](../Concepts/error-handling.md#predictable-vs-unpredictable-errors). Ajoute le statut `dk status validation failed`.
  • | Oui (par défaut : False) | +| componentSignature | Text | Toujours "DBEV" | Non | - Les [erreurs critiques](../Concepts/error-handling.md#predictable-vs-unpredictable-errors) sont empilées dans la collection de la propriété `errors` de l'objet **Result** renvoyé par les fonctions [`save()`](../API/EntityClass.md#save) ou [`drop()`](../API/EntityClass.md#drop). - Dans le cas d'une erreur déclenchée par un événement **validate**, la propriété `seriousError` permet de choisir le niveau d'erreur à générer : @@ -142,16 +142,16 @@ Cet événement est déclenché dès que le moteur de 4D Server / 4D détecte un - en **client/serveur sans le mot-clé `local`**, une **[application Qodly](https://developer.qodly.com/docs)** ou **[datastore distant](../commands/open-datastore.md)** : l'entité est reçue sur le serveur 4D lors de l'appel d'une fonction ORDA (sur l'entité ou avec l'entité en tant que paramètre). Cela signifie que vous devrez peut-être mettre en place une fonction *refresh* ou *preview* sur l'application distante qui envoie une requête ORDA au serveur et déclenche l'événement. - avec le serveur REST : la valeur est reçue sur le serveur REST avec une [requête REST](../REST/$method.md#methodupdate) (`$method=update`) -The function receives an [*event* object](#event-parameter) as parameter. +La fonction reçoit un objet [*event*](#event-parameter) en paramètre. -If this function [throws](../commands/throw) an error, it will not stop the undergoing action. +Si cette fonction [génère](../commands/throw) une erreur, elle n'arrêtera pas l'action en cours. :::note -This event is also triggered: +Cet événement est également déclenché : -- when attributes are assigned by the [`constructor()`](./ordaClasses.md#class-constructor-1) event, -- when attributes are edited through the [Data Explorer](../Admin/dataExplorer.md). +- lorsque les attributs sont assignés par l'événement [`constructor()`](./ordaClasses.md#class-constructor-1), +- lorsque les attributs sont modifiés via l'[Explorateur de données](../Admin/dataExplorer.md). ::: @@ -329,7 +329,7 @@ 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. +La fonction reçoit un objet [*event*](#event-parameter) en paramètre. This event is triggered by the following functions: @@ -387,7 +387,7 @@ 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. +La fonction reçoit un objet [*event*](#event-parameter) en paramètre. This event is triggered by the following functions: @@ -449,7 +449,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. +La fonction reçoit un objet [*event*](#event-parameter) en paramètre. - 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. @@ -494,7 +494,7 @@ 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. +La fonction reçoit un objet [*event*](#event-parameter) en paramètre. This event is triggered by the following features: @@ -561,7 +561,7 @@ 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. +La fonction reçoit un objet [*event*](#event-parameter) en paramètre. This event is triggered by the following features: @@ -642,7 +642,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. +La fonction reçoit un objet [*event*](#event-parameter) en paramètre. - 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. From 1e90222311bf04739425e748f30cc021e7072e64 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Tue, 21 Oct 2025 07:36:54 +0200 Subject: [PATCH 033/137] New translations sessionclass.md (French) --- .../version-20-R10/API/SessionClass.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-20-R10/API/SessionClass.md b/i18n/fr/docusaurus-plugin-content-docs/version-20-R10/API/SessionClass.md index 9c4ff9359a4f01..4d9f4368ef4fba 100644 --- a/i18n/fr/docusaurus-plugin-content-docs/version-20-R10/API/SessionClass.md +++ b/i18n/fr/docusaurus-plugin-content-docs/version-20-R10/API/SessionClass.md @@ -80,7 +80,7 @@ Cette fonction ne fait rien et retourne toujours **True** avec les sessions clie La fonction `.clearPrivileges()` supprime tous les privilèges associés à la session (à l'exception des privilèges promus) et renvoie **True** si l'exécution a réussi. -Hormis si vous êtes en mode ["forceLogin"](../REST/authUsers.md#force-login-mode), la session devient automatiquement une session Invité. En mode "forceLogin", `.clearPrivileges()` ne transforme pas la session en session Invité, elle efface seulement les privilèges de la session. +Hormis si vous êtes en mode ["forceLogin"](../REST/authUsers.md#force-login-mode), la session devient automatiquement une session Guest. En mode "forceLogin", `.clearPrivileges()` ne transforme pas la session en session Invité, elle efface seulement les privilèges de la session. :::note From e4ca2e6ac133e854508301df10f5d1a8876b40fa Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Tue, 21 Oct 2025 07:37:34 +0200 Subject: [PATCH 034/137] New translations classes.md (French) --- .../version-20-R10/Concepts/classes.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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 c9dd9a9243b577..e1452bbeb57077 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 @@ -333,7 +333,7 @@ Function getRectArea($width : Integer; $height : Integer) : Integer :::note -Il n'y a pas de mot-clé de fin pour le code d'une fonction class constructor. Le langage 4D détecte automatiquement la fin du code d'une fonction par le mot clé `Function` suivant ou la fin du fichier de classe. +Il n'y a pas de mot-clé de fin pour le code d'une fonction de constructeur de classe. Le langage 4D détecte automatiquement la fin du code d'une fonction par le mot clé `Function` suivant ou la fin du fichier de classe. ::: From e40bb58f34c75241dd122673155f798c4c8bed5e Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Tue, 21 Oct 2025 07:39:23 +0200 Subject: [PATCH 035/137] New translations develop-components.md (French) --- .../Extensions/develop-components.md | 20 +++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-20-R10/Extensions/develop-components.md b/i18n/fr/docusaurus-plugin-content-docs/version-20-R10/Extensions/develop-components.md index 46767a27be495d..433926e8528b88 100644 --- a/i18n/fr/docusaurus-plugin-content-docs/version-20-R10/Extensions/develop-components.md +++ b/i18n/fr/docusaurus-plugin-content-docs/version-20-R10/Extensions/develop-components.md @@ -108,7 +108,7 @@ Un *namespace* garantit qu'aucun conflit n'émerge lorsqu'un projet hôte utilis ::: -Lorsque vous entrez une valeur, vous déclarez que les classes de composants seront disponibles dans la [user class store (**cs**)](../Concepts/classes.md#cs) du projet hôte ainsi que ses composants chargés, à travers les `cs.` espace de noms. Par exemple, si vous entrez "eGeometry" comme namespace, en supposant que vous avez créé une classe `Rectangle` contenant une fonction `getArea()`, une fois votre projet installé comme composant, le développeur du projet hôte peut écrire : +Lorsque vous entrez une valeur, vous déclarez que les classes de composants seront disponibles dans la [class store utilisateurs (**cs**)](../Concepts/classes.md#cs) du projet hôte ainsi que ses composants chargés, à travers les espaces de noms `cs.`. Par exemple, si vous entrez "eGeometry" comme namespace, en supposant que vous avez créé une classe `Rectangle` contenant une fonction `getArea()`, une fois votre projet installé comme composant, le développeur du projet hôte peut écrire : ```4d //dans le projet hôte ou l'une de ses composantes @@ -143,19 +143,19 @@ $rect:=cs.eGeometry._Rectangle.new(10;20) ## Modification des composants à partir de l'hôte -To facilitate component tuning in the actual context of host projects, you can directly modify and save the code of a loaded component from an interpreted host project. Le code du composant est modifiable lorsque les conditions suivantes sont remplies : +Pour faciliter la mise au point des composants dans le contexte réel des projets hôtes, vous pouvez modifier et sauvegarder directement le code d'un composant chargé depuis un projet hôte interprété. Le code du composant est modifiable lorsque les conditions suivantes sont remplies : -- the component has been [loaded in interpreted mode](../Project/components.md#interpreted-and-compiled-components), -- the component is not loaded from the [local cache of the Dependency manager](../Project/components.md#local-cache-for-dependencies), i.e. it is not [downloaded from GitHub](../Project/components.md#adding-a-github-dependency). +- le composant a été [chargé en mode interprété](../Project/components.md#interpreted-and-compiled-components), +- le composant n'est pas chargé à partir du [cache local du gestionnaire de dépendances](../Project/components.md#local-cache-for-dependencies), c'est-à-dire qu'il n'est pas [téléchargé depuis GitHub](../Project/components.md#adding-a-github-dependency). -In this case, you can open, edit, and save your component code in the Code editor on the host project, so that modifications are immediately taken into account. +Dans ce cas, vous pouvez ouvrir, éditer et enregistrer le code de votre composant dans l'éditeur de code du projet hôte, afin que les modifications soient immédiatement prises en compte. -In the Explorer, a specific icon indicates that the component code is editable:
    +Dans l'Explorateur, une icône spécifique indique que le code du composant est modifiable :
    ![](../assets/en/Develop/editable-component.png) :::warning -Only [exposed classes](#sharing-of-classes) and [shared methods](#sharing-of-project-methods) of your component can be edited. +Seules les [classes exposées](#sharing-of-classes) et les [méthodes partagées](#sharing-of-project-methods) de votre composant peuvent être modifiées. ::: @@ -237,7 +237,7 @@ Dans ce cas, il est nécessaire d’utiliser la comparaison de pointeurs : Une [méthode de gestion d'erreurs](Concepts/error-handling.md) installée par la commande `ON ERR CALL` s'applique à l'application en cours d'exécution uniquement. En cas d'erreur générée par un composant, la méthode d'appel sur erreur `ON ERR CALL` du projet hôte n'est pas appelée, et inversement. -However, you can install a [component error handler in the host application](../Concepts/error-handling.md#scope-and-components) to manage uncaught errors from compponents. +Cependant, vous pouvez installer un [gestionnaire d'erreurs de composants dans l'application hôte](../Concepts/error-handling.md#scope-and-components) pour gérer les erreurs non capturées des composants. ## Accès aux tables du projet hôte @@ -267,7 +267,7 @@ SAVE RECORD($tablepointer- ## Utilisation de tables et de champs -Un composant ne peut pas utiliser les tables et les champs définis dans la structure 4D du projet utilisé comme matrice. En revanche, il peut créer et utiliser des bases externes, et donc utiliser des tables et des champs en fonction de ses besoins. Les bases externes sont créées et gérées via le langage SQL. En revanche, il peut créer et utiliser des bases externes, et donc utiliser des tables et des champs en fonction de ses besoins. Utiliser une base externe signifie désigner temporairement cette base comme base courante, c’est-à-dire comme base cible des requêtes SQL exécutées par 4D. Les bases externes sont créées à l'aide de la commande SQL `CREATE DATABASE`. +Un composant ne peut pas utiliser les tables et les champs définis dans la structure 4D du projet utilisé comme matrice. En revanche, il peut créer et utiliser des bases externes, et donc utiliser des tables et des champs en fonction de ses besoins. Les bases externes sont créées et gérées via le langage SQL. Une base de données externe est un projet 4D indépendant du projet 4D principal, mais avec lequel vous pouvez travailler à partir du projet 4D principal. Utiliser une base externe signifie désigner temporairement cette base comme base courante, c’est-à-dire comme base cible des requêtes SQL exécutées par 4D. Les bases externes sont créées à l'aide de la commande SQL `CREATE DATABASE`. ### Exemple @@ -384,7 +384,7 @@ Ce fichier n'est pas obligatoire mais il est nécessaire pour construire des com Les clés prises en charge dans les fichiers `Info.plist` des composants sont principalement des [clés bundle d'Apple](https://developer.apple.com/documentation/bundleresources/information-property-list) qui sont ignorées sous Windows. Cependant, elles sont utilisés par le [Gestionnaire de dépendances](../Project/components.md#loading-components) sur toutes les plates-formes. -The following keys can be defined: +Les clés suivantes peuvent être définies : | key | Description | | ---------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | From d00312ec36af1c4e1f958a92e13975fec063ea7d Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Tue, 21 Oct 2025 07:39:30 +0200 Subject: [PATCH 036/137] New translations formeditor.md (French) --- .../version-20-R10/FormEditor/formEditor.md | 31 ++++++++++--------- 1 file changed, 16 insertions(+), 15 deletions(-) diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-20-R10/FormEditor/formEditor.md b/i18n/fr/docusaurus-plugin-content-docs/version-20-R10/FormEditor/formEditor.md index 2497cd8da5994e..b02e53afe34d53 100644 --- a/i18n/fr/docusaurus-plugin-content-docs/version-20-R10/FormEditor/formEditor.md +++ b/i18n/fr/docusaurus-plugin-content-docs/version-20-R10/FormEditor/formEditor.md @@ -56,12 +56,12 @@ La barre d’outils comporte les éléments suivants : | Icône | Nom | Description | | ------------------------------------------------ | --------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | ![](../assets/en/FormEditor/execute.png) | Exécuter le formulaire | Permet de tester l’exécution du formulaire. Lorsque vous cliquez sur ce bouton, 4D ouvre une nouvelle fenêtre et affiche le formulaire dans son contexte (liste d’enregistrements pour un formulaire liste et enregistrement courant en page pour un formulaire détaillé). Le formulaire est exécuté dans le process principal. | -| ![](../assets/en/FormEditor/selection.png) | [Outil de sélection](#selecting-objects) | Allows selecting, moving and resizing form objects.

    **Note**: When an object of the Text or Group Box type is selected, pressing the **Enter** key lets you switch to editing mode.

    | +| ![](../assets/en/FormEditor/selection.png) | [Outil de sélection](#selecting-objects) | Allows selecting, moving and resizing form objects.
    **Note** : Lorsqu'un objet de type Texte ou Zone de Groupe est sélectionné, appuyez sur la touche **Entrée** pour passer en mode édition. | | ![](../assets/en/FormEditor/zOrder.png) | [Ordre de saisie](#data-entry-order) | Passe en mode “Ordre de saisie”, dans lequel il est possible de visualiser et de modifier l’ordre de saisie courant du formulaire. A noter que vous pouvez également visualiser l’ordre de saisie courant tout en travaillant dans le formulaire. | | ![](../assets/en/FormEditor/moving.png) | [Déplacement](#déplacement-objets) | Passe en mode “Déplacement”, dans lequel il est possible d’atteindre rapidement n’importe quelle partie du formulaire en le faisant directement glisser dans la fenêtre. Le curseur prend la forme d’une main. Ce mode de navigation est particulièrement utile en cas de zoom dans le formulaire. | | ![](../assets/en/FormEditor/zoom.png) | [Zoom](#zoom) | Permet de modifier l’échelle d’affichage du formulaire (100% par défaut). Vous pouvez passer en mode “Zoom” en cliquant sur le bouton loupe ou en cliquant directement sur la barre correspondant à l’échelle désirée. Cette fonction est détaillée dans le paragraphe précédent. | -| ![](../assets/en/FormEditor/alignment.png) | [Alignement](#aligning-objects) | Ce bouton est associé à un menu permettant d’aligner les objets dans le formulaire. It is enabled (or not) depending on the objects selected.
    Disabled if one selected object position is locked by a CSS property | -| ![](../assets/en/FormEditor/distribution.png) | [Distribution](#distributing-objects) | Ce bouton est associé à un menu permettant de répartir les objets dans le formulaire. It is enabled (or not) depending on the objects selected.
    Disabled if one selected object position is locked by a CSS property | +| ![](../assets/en/FormEditor/alignment.png) | [Alignement](#aligning-objects) | Ce bouton est associé à un menu permettant d’aligner les objets dans le formulaire. Il est activé (ou non) en fonction des objets sélectionnés.
    Désactivé si la position d'un objet sélectionné est verrouillée par une propriété CSS | +| ![](../assets/en/FormEditor/distribution.png) | [Distribution](#distributing-objects) | Ce bouton est associé à un menu permettant de répartir les objets dans le formulaire. Il est activé (ou non) en fonction des objets sélectionnés.
    Désactivé si la position d'un objet sélectionné est verrouillée par une propriété CSS | | ![](../assets/en/FormEditor/level.png) | [Plan](#gérer-les-plans-des-objets) | Ce bouton est associé à un menu permettant de répartir les objets dans le formulaire. Il est activé (ou non) en fonction des objets sélectionnés. | | ![](../assets/en/FormEditor/group.png) | [Grouper/Dégrouper](#grouping-objects) | Ce bouton est associé à un menu permettant de grouper et dégrouper la sélection d’objets du formulaire. Il est activé (ou non) en fonction des objets sélectionnés. | | ![](../assets/en/FormEditor/displyAndPage.png) | [Affichage et gestion des pages](forms.html#form-pages) | Cette zone permet de passer d’une page du formulaire à une autre et d’ajouter des pages. Pour naviguer parmi les pages du formulaire, cliquez sur les boutons fléchés ou cliquez sur la zone centrale et choisissez la page à afficher dans le menu qui apparaît. Si vous cliquez sur le bouton fléché de droite alors que vous êtes sur la dernière page du formulaire, 4D vous permet d’ajouter une page. | @@ -146,11 +146,11 @@ Avant de pouvoir réaliser une opération sur un objet (comme le changement de l Pour sélectionner un objet à l’aide de la barre d’outils : -1. Click the Arrow tool in the toolbar.

    ![](../assets/en/FormEditor/selection.png)

    +1. Click the Arrow tool in the toolbar.
    ![](../assets/en/FormEditor/selection.png) -

    Lorsque vous le faites glisser au-dessus du formulaire, le pointeur prend la forme du pointeur standard

    . +
    When you move the pointer into the form area, it becomes a standard arrow-shaped pointer. -2. Cliquez sur l’objet que vous souhaitez sélectionner. Resizing handles identify the selected object.

    ![](../assets/en/FormEditor/selectResize.png)

    +2. Cliquez sur l’objet que vous souhaitez sélectionner. Resizing handles identify the selected object.
    ![](../assets/en/FormEditor/selectResize.png) Pour sélectionner un objet à l’aide de la Liste des propriétés : @@ -241,13 +241,13 @@ Pour grouper les objets : 1. Sélectionnez les objets que vous souhaitez grouper. 2. Sélectionnez **Grouper** dans le menu Objets. OU - Cliquez sur le bouton Grouper dans la barre d'outils de l'éditeur de formulaire:

    ![](../assets/en/FormEditor/group.png)

    + Cliquez sur le bouton Grouper dans la barre d'outils de l'éditeur de formulaire:
    ![](../assets/en/FormEditor/group.png) 4D indique la limite des objets regroupés nouvellement avec des poignées. Les objets du groupe ne sont plus marqués séparément par des poignées. Désormais, lorsque vous modifiez le groupe d’objets, vous modifiez tous les objets qui le composent. Pour dégrouper un groupe d’objets : 1. Sélectionnez le groupe que vous souhaitez dégrouper. -2. Choose **Ungroup** from the **Object** menu.

    OR

    Click the **Ungroup** button (variant of the **Group** button) in the toolbar of the Form editor.

    If **Ungroup** is dimmed, this means that the selected object is already separated into its simplest form.

    4D rematérialise les bordures des objets qui constituaient le groupe avec des poignées. +2. Choose **Ungroup** from the **Object** menu.
    OR
    Click the **Ungroup** button (variant of the **Group** button) in the toolbar of the Form editor.
    Si la commande **Dégrouper** est désactivée, cela veut dire que l’objet sélectionné est déjà sous sa forme la plus simple. 4D rematérialise les bordures des objets qui constituaient le groupe avec des poignées. ### Aligner des objets @@ -275,9 +275,9 @@ La boîte de dialogue d’alignement vous permet d’appliquer tout type d’ali Pour afficher cette boîte de dialogue, vous devez sélectionner les objets que vous souhaitez aligner puis choisir la commande **Alignement...** dans le sous-menu **Aligner** du menu **Objets** ou du menu contextuel de l’éditeur. -- In the “Left/Right Alignment” and/or “Top/Bottom Alignment” areas, click the icon that corresponds to the alignment you want to perform.

    The example area displays the results of your selection.

    +- In the “Left/Right Alignment” and/or “Top/Bottom Alignment” areas, click the icon that corresponds to the alignment you want to perform.
    La zone d’exemple illustre le principe de l’opération sélectionnée. -- Pour effectuer un alignement standard des objets sélectionnés, cliquez sur le bouton **Prévisualisation** ou **Appliquer**. Dans ce cas, 4D utilisera l’objet le plus avancé dans la direction de l’alignement comme “ancre” sur laquelle tous les autres objets vont être alignés. Par exemple, si vous alignez un groupe d’objets à droite, les objets seront alignés sur le côté droit de l’objet situé le plus à droite du groupe. OU:

    Pour aligner les objets sur un objet spécifique, sélectionnez l'option **Aligner sur** et sélectionnez l'objet sur lequel vous voulez que les autres objets soient alignés dans la liste d'objets. Dans ce cas, la position de l’objet de référence ne variera pas.

    +- Pour effectuer un alignement standard des objets sélectionnés, cliquez sur le bouton **Prévisualisation** ou **Appliquer**. Dans ce cas, 4D utilisera l’objet le plus avancé dans la direction de l’alignement comme “ancre” sur laquelle tous les autres objets vont être alignés. Par exemple, si vous alignez un groupe d’objets à droite, les objets seront alignés sur le côté droit de l’objet situé le plus à droite du groupe. OU:
    Pour aligner les objets sur un objet spécifique, sélectionnez l'option **Aligner sur** et sélectionnez l'objet sur lequel vous voulez que les autres objets soient alignés dans la liste d'objets. Dans ce cas, la position de l’objet de référence ne variera pas. Vous pouvez prévisualiser le résultat réel de vos paramétrages en cliquant sur le bouton **Prévisualisation**. Les objets sont ensuite alignés dans l'éditeur de formulaires, mais comme la boîte de dialogue ne disparaît pas, vous pouvez toujours annuler ou appliquer l'alignement. @@ -314,7 +314,8 @@ Pour répartir directement une sélection d’objets (verticalement ou horizonta 1. Sélectionnez les objets (au moins trois) que vous souhaitez répartir. -2. In the toolbar, click on the distribution tool that corresponds to the distribution you want to apply.

    ![](../assets/en/FormEditor/distributionTool.png)

    OR

    Select a distribution menu command from the **Align** submenu in the **Object** menu or from the context menu of the editor.

    4D distribue les objets en conséquence. Les objets sont répartis en fonction de la distance entre leurs centres et la plus grande distance entre deux objets consécutifs est utilisée comme référence. +2. In the toolbar, click on the distribution tool that corresponds to the distribution you want to apply.
    ![](../assets/en/FormEditor/distributionTool.png)
    OR
    Select a distribution menu command from the **Align** submenu in the **Object** menu or from the context menu of the editor. + 4D distribue les objets en conséquence. Les objets sont répartis en fonction de la distance entre leurs centres et la plus grande distance entre deux objets consécutifs est utilisée comme référence. Pour répartir des objets à l’aide de la boîte de dialogue d'alignement et répartition : @@ -322,9 +323,9 @@ Pour répartir des objets à l’aide de la boîte de dialogue d'alignement et r 2. Choisissez la commande **Alignement...** dans le sous-menu **Aligner** du menu **Objets** ou du menu contextuel de l’éditeur. La boîte de dialogue suivante apparaît :![](../assets/en/FormEditor/alignmentAssistant.png) -3. Dans les zones Alignement gauche/droite et/ou haut/bas, cliquez sur l'icône de distribution standard : ![](../assets/en/FormEditor/horizontalDistribution.png)

    (icône standard de distribution horizontale)

    La zone d'exemple affiche les résultats de votre sélection. +3. Dans les zones Alignement gauche/droite et/ou haut/bas, cliquez sur l'icône de distribution standard : ![](../assets/en/FormEditor/horizontalDistribution.png)
    (icône standard de distribution horizontale)
    La zone d'exemple affiche les résultats de votre sélection. -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). Cette option agit comme un interrupteur. Si la case à cocher Répartir est sélectionnée, les icônes situées en dessous effectuent une fonction différente:

    +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). Cette option agit comme un interrupteur. Si la case à cocher Répartir est sélectionnée, les icônes situées en dessous effectuent une fonction différente:
    - Horizontalement, les icônes correspondent aux répartitions suivantes : équidistance des côtés gauches, des centres (hor.) et des côtés droits des objets sélectionnés. - Verticalement, les icônes correspondent aux répartitions suivantes : équidistance des bords supérieurs, des centres (vert.) et des bords inférieurs des objets sélectionnés. @@ -379,11 +380,11 @@ Ce paragraphe décrit la visualisation et la modification de l’ordre de saisie Pour visualiser ou modifier l’ordre de saisie : -1. Sélectionnez **Ordre de saisie** dans le menu **Formulaire** ou cliquez sur le bouton dans la barre d’outils de la fenêtre :

    ![](../assets/en/FormEditor/zOrder.png)

    +1. Sélectionnez **Ordre de saisie** dans le menu **Formulaire** ou cliquez sur le bouton dans la barre d’outils de la fenêtre :
    ![](../assets/en/FormEditor/zOrder.png)
    Le pointeur prend la forme d’un pointeur d’ordre, et 4D dessine une ligne qui permet de visualiser la séquence de l’ordre de saisie courant. Visualiser et modifier l’ordre de saisie sont les seules opérations que vous pouvez réaliser dans ce mode. -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.

    ![](../assets/en/FormEditor/entryOrder3.png)

    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.
    ![](../assets/en/FormEditor/entryOrder3.png)
    4D will adjust the entry order accordingly. 3. Répétez l’étape 2 autant de fois que nécessaire pour obtenir le nouvel ordre de saisie. From 13bac04f00153477e234fb356a6efb08bbf2559b Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Tue, 21 Oct 2025 07:39:35 +0200 Subject: [PATCH 037/137] New translations pictures.md (French) --- .../version-20-R10/FormEditor/pictures.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-20-R10/FormEditor/pictures.md b/i18n/fr/docusaurus-plugin-content-docs/version-20-R10/FormEditor/pictures.md index ea0e62531b19ed..cef951e302f09c 100644 --- a/i18n/fr/docusaurus-plugin-content-docs/version-20-R10/FormEditor/pictures.md +++ b/i18n/fr/docusaurus-plugin-content-docs/version-20-R10/FormEditor/pictures.md @@ -57,10 +57,10 @@ Les images haute résolution avec la convention @nx peuvent être utilisées dan Si 4D donne automatiquement la priorité à la résolution la plus élevée, il existe cependant des différences de comportement en fonction de la résolution de l'écran et de l'image *(\*)* et du format de l'image : -| Opération | Comportement | -| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| Déposer ou Coller | If the picture has:
    • **72dpi or 96dpi** - The picture is "[Center](FormObjects/properties_Picture.md#center--truncated-non-centered)" formatted and the object containing the picture has the same number of pixels.
    • **Other dpi** - The picture is "[Scaled to fit](FormObjects/properties_Picture.md#scaled-to-fit)" formatted and the object containing the picture is equal to (picture's number of pixels \* screen dpi) / (picture's dpi)
    • **No dpi** - The picture is "[Scaled to fit](FormObjects/properties_Picture.md#scaled-to-fit)" formatted.
    | -| [Taille automatique](https://doc.4d.com/4Dv20/4D/20.2/Setting-object-display-properties.300-6750143.en.html#148057) (menu contextuel de l'éditeur de formulaires) | If the picture's display format is:
    • **[Scaled](FormObjects/properties_Picture.md#scaled-to-fit)** - The object containing the picture is resized according to (picture's number of pixels \* screen dpi) / (picture's dpi)
    • **Not scaled** - The object containing the picture has the same number of pixels as the picture.
    | +| Opération | Comportement | +| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| Déposer ou Coller | Si l'image a :
    • **72dpi ou 96dpi** - L'image est formatée en "[Center](FormObjects/properties_Picture.md#center--truncated-non-centered)" et l'objet contenant l'image a le même nombre de pixels.
    • **Autre dpi** - L'image est formatée en "[Scaled to fit](FormObjects/properties_Picture.md#scaled-to-fit)" et l'objet contenant l'image est égal au (nombre de pixels de l'image \* dpi) / (dpi) de l'image
    • **Pas de dpi** - L'image est formatée en "[Scaled to fit](FormObjects/properties_Picture.md#scaled-to-fit)".
    | +| [Taille automatique](https://doc.4d.com/4Dv20/4D/20.2/Setting-object-display-properties.300-6750143.en.html#148057) (menu contextuel de l'éditeur de formulaires) | Si le format d'affichage de l'image est :
    • **[Scaled](FormObjects/properties_Picture.md#scaled-to-fit)** - L'objet contenant l'image est redimensionné en fonction du (nombre de pixels de l'image \* dpi écran) / (dpi image
    • ) **Not scaled** - L'objet contenant l'image a le même nombre de pixels que l'image.
    | *(\*) Généralement, macOS = 72 dpi, Windows = 96 dpi* From 45ea1489ae2e513d07a6f021700161de7c2c77b5 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Tue, 21 Oct 2025 07:39:42 +0200 Subject: [PATCH 038/137] New translations properties_markers.md (French) --- .../version-20-R10/FormEditor/properties_Markers.md | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-20-R10/FormEditor/properties_Markers.md b/i18n/fr/docusaurus-plugin-content-docs/version-20-R10/FormEditor/properties_Markers.md index 59ce0d98af04cc..7d0eb15a2dd553 100644 --- a/i18n/fr/docusaurus-plugin-content-docs/version-20-R10/FormEditor/properties_Markers.md +++ b/i18n/fr/docusaurus-plugin-content-docs/version-20-R10/FormEditor/properties_Markers.md @@ -21,9 +21,9 @@ Vous agrandissez ou réduisez la zone de rupture en faisant glisser le taquet ve #### Grammaire JSON -| Nom | Type de données | Valeurs possibles | -| ----------- | ----------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------- | -| markerBreak | integer | integer collection | Break marker position or collection of break marker positions in pixels.
    Valeur minimale : 0 | +| Nom | Type de données | Valeurs possibles | +| ----------- | ----------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------- | +| markerBreak | integer | integer collection | Position du taquet de rupture ou collection des positions de taquets de rupture en pixels.
    Valeur minimale : 0 | --- @@ -77,9 +77,9 @@ Zone de rupture Un en-tête de niveau 1 est imprimé juste avant que les enregis #### Grammaire JSON -| Nom | Type de données | Valeurs possibles | -| ------------ | ----------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------- | -| markerHeader | integer | integer collection | Header marker position or collection of header marker positions in pixels.
    Valeur minimale : 0 | +| Nom | Type de données | Valeurs possibles | +| ------------ | ----------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------ | +| markerHeader | integer | integer collection | Position du taquet d'en-tête ou collection des positions de taquets d'en-tête en pixels.
    Valeur minimale : 0 | ## Zones supplémentaires From 9e1b0526e549989ea697cf30884d8e5fafaa645a Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Tue, 21 Oct 2025 07:40:55 +0200 Subject: [PATCH 039/137] New translations installation.md (French) --- .../version-20-R10/GettingStarted/Installation.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-20-R10/GettingStarted/Installation.md b/i18n/fr/docusaurus-plugin-content-docs/version-20-R10/GettingStarted/Installation.md index 836724a1316baa..ee7cb640813304 100644 --- a/i18n/fr/docusaurus-plugin-content-docs/version-20-R10/GettingStarted/Installation.md +++ b/i18n/fr/docusaurus-plugin-content-docs/version-20-R10/GettingStarted/Installation.md @@ -7,7 +7,7 @@ Bienvenue dans 4D ! Cette page regroupe toutes les informations nécessaires sur ## Configuration requise -La page [Téléchargements](https://us.4d.com/product-download) dut site de 4D fournit des informations sur les pré-requis macOS / Windows nécessaires à la gamme 4D. +La page [Téléchargements](https://us.4d.com/product-download) du site de 4D fournit des informations sur les pré-requis macOS / Windows nécessaires à la gamme 4D. Des détails techniques supplémentaires sont disponibles sur la [page Ressources](https://us.4d.com/resources/feature-release) du site web de 4D. From e4fbab25542fea345156d2f38a8634be4c55602f Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Tue, 21 Oct 2025 07:41:19 +0200 Subject: [PATCH 040/137] New translations entities.md (French) --- .../version-20-R10/ORDA/entities.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-20-R10/ORDA/entities.md b/i18n/fr/docusaurus-plugin-content-docs/version-20-R10/ORDA/entities.md index 307430b46754dd..304b4e4426c4d5 100644 --- a/i18n/fr/docusaurus-plugin-content-docs/version-20-R10/ORDA/entities.md +++ b/i18n/fr/docusaurus-plugin-content-docs/version-20-R10/ORDA/entities.md @@ -564,11 +564,11 @@ Ce mécanisme automatique est basé sur le concept de "verrouillage optimiste" q Le diagramme suivant illustre le verrouillage optimiste : -1. Two processes load the same entity.

    ![](../assets/en/ORDA/optimisticLock1.png) +1. Deux process chargent la même entité.

    ![](../assets/en/ORDA/optimisticLock1.png) -2. Le premier process modifie l'entité et valide le changement. La méthode `entity.save()` est appelée. Le moteur 4D compare automatiquement la valeur du marqueur interne de l'entité modifiée avec celle de l'entité stockée dans les données. Since they match, the entity is saved and its stamp value is incremented.

    ![](../assets/en/ORDA/optimisticLock2.png) +2. Le premier process modifie l'entité et valide le changement. La méthode `entity.save()` est appelée. Le moteur 4D compare automatiquement la valeur du marqueur interne de l'entité modifiée avec celle de l'entité stockée dans les données. Puisqu'elles correspondent, l'entité est enregistrée et la valeur de son marqueur est incrémentée.

    ![](../assets/en/ORDA/optimisticLock2.png) -3. Le deuxième process modifie également l'entité chargée et valide ses modifications. La méthode `entity.save()` est appelée. 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.

    ![](../assets/en/ORDA/optimisticLock3.png) +3. Le deuxième process modifie également l'entité chargée et valide ses modifications. La méthode `entity.save()` est appelée. Puisque la valeur du marqueur de l'entité modifiée ne correspond pas à celle de l'entité stockée dans les données, la sauvegarde n'est pas effectuée et une erreur est retournée.

    ![](../assets/en/ORDA/optimisticLock3.png) Cela peut également être illustré par le code suivant : From e4729e2e602657c4c4b6b071dc91c796c107bdc2 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Tue, 21 Oct 2025 07:41:23 +0200 Subject: [PATCH 041/137] New translations orda-events.md (French) --- .../version-20-R10/ORDA/orda-events.md | 34 +++++++++---------- 1 file changed, 17 insertions(+), 17 deletions(-) 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 a5eaa72234d8ca..369a06d7efda4f 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 @@ -1,6 +1,6 @@ --- id: orda-events -title: Entity Events +title: Évènements d'entité ---
    Historique @@ -11,13 +11,13 @@ title: Entity Events
    -Entity events are functions that are automatically invoked by ORDA each time entities and entity attributes are manipulated (added, deleted, or modified). Vous pouvez écrire des événements très simples, puis les rendre plus sophistiqués. +Les événements d'entité sont des fonctions qui sont automatiquement invoquées par ORDA chaque fois que des entités et des attributs d'entité sont touchés (ajoutés, supprimés ou modifiés). Vous pouvez écrire des événements très simples, puis les rendre plus sophistiqués. Vous ne pouvez pas déclencher directement l'exécution d'une fonction d'événement. Les événements sont appelés automatiquement par ORDA en fonction des actions de l'utilisateur ou des opérations effectuées par le code sur les entités et leurs attributs. :::info Note de compatibilité -ORDA entity events in the datastore are equivalent to triggers in the 4D database. 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. ::: @@ -25,7 +25,7 @@ ORDA entity events in the datastore are equivalent to triggers in the 4D databas ### Niveau de l'événement -A entity event function is always defined in the [Entity class](../ORDA/ordaClasses.md#entity-class). +Une fonction d'événement d'entité est toujours définie dans la [classe Entity](../ORDA/ordaClasses.md#entity-class). Un événement peut être défini au niveau de l'**entité** et/ou de l'**attribut** (y compris les [**attributs calculés**](../ORDA/ordaClasses.md#computed-attributes)). Dans le premier cas, il sera déclenché pour tous les attributs de l'entité ; dans l'autre cas, il ne sera déclenché que pour l'attribut ciblé. @@ -49,7 +49,7 @@ Avec d'autres configurations distantes (i.e. applications Qodly, [requêtes via ### Tableau de synthèse -The following table lists ORDA entity events along with their rules. +Le tableau suivant liste les événements d'entité ORDA ainsi que leurs principes. | Evénement | Niveau | Nom de la fonction | (C/S) Exécuté sur | | :--------------------- | :------- | :------------------------------------------------------ | :-----------------------------------------------------------------: | @@ -67,11 +67,11 @@ La fonction [`constructor()`](./ordaClasses.md#class-constructor-1) n'est pas en Les fonctions d'événement acceptent un seul objet *event* comme paramètre. Lorsque la fonction est appelée, le paramètre est rempli avec diverses propriétés : -| Nom de propriété | Disponibilité | Type | Description | -| :--------------- | :------------------------------------- | :----- | :--------------------------------------------------------------------------- | -| `kind` | Toujours | String | Nom de l'événement ("touched") | -| *attributeName* | Only for events involving an attribute | String | Nom de l'attribut (*ex.* "firstname") | -| *dataClassName* | Toujours | String | Nom du verre de données (*ex.* "Company") | +| Nom de propriété | Disponibilité | Type | Description | +| :--------------- | :---------------------------------------------------- | :----- | :--------------------------------------------------------------------------- | +| `kind` | Toujours | String | Nom de l'événement ("touched") | +| *attributeName* | Uniquement pour les événements impliquant un attribut | String | Nom de l'attribut (*ex.* "firstname") | +| *dataClassName* | Toujours | String | Nom du verre de données (*ex.* "Company") | ## Description des fonctions @@ -87,8 +87,8 @@ Les fonctions d'événement acceptent un seul objet *event* comme paramètre. Lo Cet événement est déclenché chaque fois qu'une valeur est modifiée dans l'entité. -- 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 vous avez défini la fonction au niveau de l'entité (première syntaxe), elle est déclenchée pour des modifications sur n'importe quel attribut de l'entité. +- si vous avez défini la fonction au niveau de l'attribut (deuxième syntaxe), elle n'est déclenchée que pour les modifications sur cet attribut. Cet événement est déclenché dès que le moteur de 4D Server / 4D détecte une modification de la valeur de l'attribut qui peut être due aux actions suivantes : @@ -99,16 +99,16 @@ Cet événement est déclenché dès que le moteur de 4D Server / 4D détecte un - en **client/serveur sans le mot-clé `local`**, une **[application Qodly](https://developer.qodly.com/docs)** ou **[datastore distant](../commands/open-datastore.md)** : l'entité est reçue sur le serveur 4D lors de l'appel d'une fonction ORDA (sur l'entité ou avec l'entité en tant que paramètre). Cela signifie que vous devrez peut-être mettre en place une fonction *refresh* ou *preview* sur l'application distante qui envoie une requête ORDA au serveur et déclenche l'événement. - avec le serveur REST : la valeur est reçue sur le serveur REST avec une [requête REST](../REST/$method.md#methodupdate) (`$method=update`) -The function receives an [*event* object](#event-parameter) as parameter. +La fonction reçoit un objet [*event*](#event-parameter) en paramètre. -If this event [throws](../commands-legacy/throw.md) an error, it will not stop the undergoing action. +Si cet événement [génère une erreur](../commands-legacy/throw.md), il n'arrêtera pas l'action en cours. :::note -This event is also triggered: +Cet événement est également déclenché : -- when attributes are assigned by the [`constructor()`](./ordaClasses.md#class-constructor-1) event, -- when attributes are edited through the [Data Explorer](../Admin/dataExplorer.md). +- lorsque les attributs sont assignés par l'événement [`constructor()`](./ordaClasses.md#class-constructor-1), +- lorsque les attributs sont modifiés via l'[Explorateur de données](../Admin/dataExplorer.md). ::: From ca252d03a9a1a982295b35e2c3c2e23e9557d1b1 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Tue, 21 Oct 2025 07:41:26 +0200 Subject: [PATCH 042/137] New translations ordaclasses.md (French) --- .../version-20-R10/ORDA/ordaClasses.md | 94 +++++++++---------- 1 file changed, 47 insertions(+), 47 deletions(-) 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 84479ca7fefcae..d4738c0141b15f 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 @@ -306,52 +306,52 @@ Class constructor() :::note -Il n'y a pas de mot-clé de fin pour le code d'une fonction class constructor. Le langage 4D détecte automatiquement la fin du code d'une fonction par le mot clé `Function` suivant ou la fin du fichier de classe. +Il n'y a pas de mot-clé de fin pour le code d'une fonction de constructeur de classe. Le langage 4D détecte automatiquement la fin du code d'une fonction par le mot clé `Function` suivant ou la fin du fichier de classe. ::: -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. +Une fonction de construction de classe ORDA est déclenchée juste après la création d'une nouvelle entité en mémoire, [quelle que soit la manière dont elle est créée](#commands-that-trigger-the-class-constructor-functions). Elle est utile pour définir des valeurs d'initialisation lors de l'instanciation de l'entité, par exemple un identifiant personnalisé. -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). +Cette fonction ne peut être définie qu'au [niveau de l'entité](#entity-class). Il ne peut y avoir qu'une seule fonction constructor dans une classe d'entité (sinon une erreur est renvoyée). -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. +La fonction du constructeur de la classe ORDA ne reçoit ni ne renvoie de paramètres. Cependant, vous pouvez l'utiliser pour initialiser les valeurs des attributs en utilisant [`This`](../commands/this.md). Notez que les valeurs initialisées par le constructeur sont remplacées si les attributs correspondants sont remplis par le code. :::note -An ORDA class constructor function is similar to a [user class constructor function](../Concepts/classes.md#class-constructor), with the following differences: +Une fonction de construction de classe ORDA est similaire à une [fonction de construction de classe utilisateur](../Concepts/classes.md#class-constructor), avec les différences suivantes : -- 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). +- vous ne pouvez pas passer de paramètres au constructeur, +- vous ne pouvez pas utiliser les mots-clés `shared`, `session`, ou `singleton`, +- vous ne pouvez pas appeler le mot-clé [`Super`](../Concepts/classes.md#super) à l'intérieur de la fonction, +- le constructeur de la classe ne peut pas être appelé en utilisant la fonction `new()` sur une entité (les entités ne peuvent être créées que par des fonctions spécifiques, voir ci-dessous). ::: -#### Commands that trigger the Class constructor functions +#### Commandes qui déclenchent les fonctions du constructeur de classe -The `Class constructor` function is triggered by the following commands and features: +La fonction `Class constructor` est déclenchée par les commandes et fonctionnalités suivantes : - [`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). +- [API REST $method=update](../REST/$method.md#methodupdate) dans un POST sans les paramètres `__KEY` et `__STAMP`. +- l'[Explorateur de données](../Admin/dataExplorer.md#editing-data). :::note Notes -- 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. +- La fonction [`entity.clone()`](../API/EntityClass.md#clone) ne déclenche pas le constructeur de la classe de l'entité. +- Les enregistrements créés au niveau de la base de données 4D à l'aide de commandes du langage classique 4D ou d'actions standard ne déclenchent pas le constructeur de la classe de l'entité. ::: -#### Remote configurations +#### Configurations distantes -When using a remote configurations, you need to pay attention to the following principles: +Lorsque vous utilisez une configuration à distance, il convient de respecter les principes suivants : -- 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. +- En **client/serveur**, la fonction peut être appelée sur le client ou sur le serveur, en fonction de l'emplacement du code d'appel. Lorsqu'elle est appelée sur le client, elle n'est pas déclenchée à nouveau lorsque le client tente d'enregistrer la nouvelle entité et envoie une demande de mise à jour au serveur pour la créer en mémoire sur le serveur. :::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. +Des fonctions telles que [`dataClass.fromCollection()`](../API/DataClassClass.md#fromcollection) pouvant créer un grand nombre d'entités et donc déclencher le constructeur de la classe d'entités en conséquence, vous devez vous assurer que le code du constructeur n'exécute pas de traitements qui prennent du temps, pour des raisons de performance. Dans les configurations distantes (voir ci-dessous), le code ne doit pas déclencher de requêtes multiples au serveur. ::: @@ -367,7 +367,7 @@ Class constructor() ``` -#### Example 2 (diagram): Client/server +#### Exemple 2 (diagramme) : Client/serveur ```mermaid @@ -386,7 +386,7 @@ Server-->>-Client: Success ``` -#### Example 3 (diagram): Qodly - Standard action +#### Exemple 3 (diagramme): Qodly - Action standard ```mermaid @@ -404,7 +404,7 @@ sequenceDiagram ``` -#### Example 4 (diagram): Qodly - Standard action and update value on the newly created entity +#### Exemple 4 (diagramme): Qodly - Action standard et mise à jour de valeur sur la nouvelle entité créée ```mermaid @@ -426,7 +426,7 @@ Note over Qodly page: product.creationDate is "06/17/25"
    and product.commen ``` -#### Example 5 (diagram): Qodly - Entity instanciated in a function +#### Exemple 5 (diagramme) : Qodly - Entité instanciée dans une fonction ```mermaid @@ -896,23 +896,23 @@ Exposed Alias studentName student.name //scalar value Vous pouvez alors exécuter les recherches suivantes : ```4d -// Find course named "Archaeology" +// Trouver le cours nommé "Archaeology" ds.Course.query("courseName = :1";"Archaeology") -// Find courses given by the professor Smith +// Trouver les cours du professeur Smith ds.Course.query("teacherName = :1";"Smith") -// Find courses where Student "Martin" assists +// Trouver les cours auxquels assiste l'étudiant "Martin" ds.Course.query("studentName = :1";"Martin") -// Find students who have M. Smith as teacher +// Trouver les étudiants qui ont le professeur Smith ds.Student.query("teachers.name = :1";"Smith") -// Find teachers who have M. Martin as Student +// Trouver les professeurs qui ont M. Martin comme étudiant ds.Teacher.query("students.name = :1";"Martin") -// Note that this very simple query string processes a complex -// query including a double join, as you can see in the queryPlan: -// "Join on Table : Course : Teacher.ID = Course.teacherID, +// Notez que cette chaîne très simple traite une requête complexe +// incluant une double jointure, comme vous pouvez le voir dans le queryPlan : +// "Join on Table : Course : Teacher.ID = Course.teacherID, // subquery:[ Join on Table : Student : Course.studentID = Student.ID, // subquery:[ Student.name === Martin]]" ``` @@ -986,59 +986,59 @@ $status:=$remoteDS.Schools.registerNewStudent($student) // OK $id:=$remoteDS.Schools.computeIDNumber() // Erreur "Unknown member method" ``` -## onHTTPGet keyword +## onHTTPGet -Use the `onHTTPGet` keyword to declare functions that can be called through HTTP requests using the `GET` verb. Such functions can return any web contents, for example using the [`4D.OutgoingMessage`](../API/OutgoingMessageClass.md) class. +Utilisez le mot-clé `onHTTPGet` pour déclarer des fonctions qui peuvent être appelées par des requêtes HTTP utilisant le verbe `GET`. Ces fonctions peuvent renvoyer n'importe quel contenu web, par exemple en utilisant la classe [`4D.OutgoingMessage`](../API/OutgoingMessageClass.md). -The `onHTTPGet` keyword is available with: +Le mot-clé `onHTTPGet` est disponible avec : -- ORDA Data model class functions -- [Singletons class functions](../Concepts/classes.md#singleton-classes) +- les fonctions de classe du modèle de données ORDA +- les [fonctions de classe de singletons](../Concepts/classes.md#singleton-classes) La syntaxe formelle est la suivante : ```4d -// declare an onHTTPGet function +// déclarer une fonction onHTTPGet exposed onHTTPGet Function (params) : result ``` :::info -The `exposed` keyword must also be added in this case, otherwise an error will be generated. +Le mot-clé `exposed` doit également être ajouté dans ce cas, sinon une erreur sera générée. ::: :::caution -As this type of call is an easy offered action, the developer must ensure no sensitive action is done in such functions. +Comme ce type d'appel est une action facile d'accès, le développeur doit s'assurer qu'aucune action sensible n'est effectuée dans ces fonctions. ::: ### params -A function with `onHTTPGet` keyword accepts [parameters](../Concepts/parameters.md). +Une fonction avec le mot-clé `onHTTPGet` accepte des [paramètres](../Concepts/parameters.md). -In the HTTP GET request, parameters must be passed directly in the URL and declared using the `$params` keyword (they must be enclosed in a collection). +Dans la requête HTTP GET, les paramètres doivent être passés directement dans l'URL et déclarés à l'aide du mot-clé `$params` (ils doivent être inclus dans une collection). ``` IP:port/rest//functionName?$params='[]' ``` -See the [Parameters](../REST/classFunctions#parameters) section in the REST server documentation. +Voir la section [Paramètres](../REST/classFunctions#parameters) dans la documentation du serveur REST. ### Résultat -A function with `onHTTPGet` keyword can return any value of a supported type (same as for REST [parameters](../REST/classFunctions#parameters)). +Une fonction avec le mot-clé `onHTTPGet` peut renvoyer n'importe quelle valeur d'un type supporté (comme pour les [paramètres REST](../REST/classFunctions#parameters)). :::info -You can return a value of the [`4D.OutgoingMessage`](../API/OutgoingMessageClass.md) class type to benefit from properties and functions to set the header, the body, and the status of the answer. +Vous pouvez renvoyer une valeur de type [`4D.OutgoingMessage`](../API/OutgoingMessageClass.md) pour bénéficier des propriétés et des fonctions permettant de définir l'en-tête, le corps et le statut de la réponse. ::: ### Exemple -You have defined the following function: +Vous avez défini la fonction suivante : ```4d Class extends DataClass @@ -1056,10 +1056,10 @@ exposed onHTTPGet Function getThumbnail($name : Text; $width : Integer; $height return $response ``` -It can be called by the following HTTP GET request: +Elle peut être appelée par la requête HTTP GET suivante : ``` -IP:port/rest/Products/getThumbnail?$params='["Yellow Pack",200,200]' +IP:port/rest/Products/getThumbnail ?$params='["Yellow Pack",200,200]' ``` ## Fonctions locales From 1eb46ebc999d6d82409f7729dad714a9df2a0f3c Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Tue, 21 Oct 2025 07:41:43 +0200 Subject: [PATCH 043/137] New translations components.md (French) --- .../version-20-R10/Project/components.md | 80 +++++++++---------- 1 file changed, 40 insertions(+), 40 deletions(-) diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-20-R10/Project/components.md b/i18n/fr/docusaurus-plugin-content-docs/version-20-R10/Project/components.md index a200cf127c27d5..1fbd39997f849f 100644 --- a/i18n/fr/docusaurus-plugin-content-docs/version-20-R10/Project/components.md +++ b/i18n/fr/docusaurus-plugin-content-docs/version-20-R10/Project/components.md @@ -5,7 +5,7 @@ title: Dépendances Un composant 4D est un ensemble de code 4D et de formulaires représentant une ou plusieurs fonctionnalité(s) que vous pouvez installer et utiliser dans vos projets. Par exemple, le composant [4D SVG](https://github.com/4d/4D-SVG) ajoute des commandes avancées et un moteur de rendu intégré qui peut être utilisé pour afficher des fichiers SVG. -Vous pouvez [développer](../Extensions/develop-components.md) et [construire](../Desktop/building.md) vos propres composants 4D, ou télécharger des composants publics partagés par la communauté 4D qui se trouvent sur GitHub. +Vous pouvez [développer](../Extensions/develop-components.md) et [construire](../Desktop/building.md) vos propres composants 4D, ou télécharger des composants publics partagés par la communauté 4D [sur GitHub](https://github.com/search?q=4d-component&type=Repositories). Lorsque vous développez dans 4D, les fichiers de composants peuvent être stockés de manière transparente sur votre ordinateur ou sur un dépôt Github. @@ -31,20 +31,20 @@ L'architecture de dossier "Contents" est recommandée pour les composants si vou ::: -## Components made by 4D +## Composants développés par 4D -4D includes a set of components developed in-house. They can also be found in the [4D github repository](https://github.com/4d). +4D comprend un ensemble de composants développés en interne. Ces composants sont également présents sur le [dépôt github de 4D](https://github.com/4d). -| Composant | Description | Principales fonctionnalités | -| --------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------- | -| [4D AiIKit](https://github.com/4d/4D-AIKit) | Ensemble de classes permettant de se connecter à des API OpenAI tierces | `OpenAIChat`, `OpenAIImage`... | -| [4D Labels](https://github.com/4d/4D-Labels) | Composant interne requis pour la création de modèles de labels | | -| [4D NetKit](https://developer.4d.com/4D-NetKit) | Ensemble d'outils de services web permettant de se connecter à des API tierces | `OAuth2Provider` class, `New OAuth2 provider`, `OAuth2ProviderObject.getToken()` | -| [4D Progress](https://github.com/4d/4D-Progress) | Ouverture d'une ou plusieurs barres de progression dans la même fenêtre | `Progress New`, `Progress SET ON STOP METHOD`, `Progress SET PROGRESS`, ... | -| [4D SVG](https://github.com/4d/4D-SVG) | Création et manipulation d'objets graphiques svg courants | `SVGTool_Display_viewer`, multiple `SVG_` methods | -| [4D View Pro](ViewPro/getting-started.md) | Fonctions de tableur dans vos formulaires | Voir la [documentation de 4D View Pro](ViewPro/getting-started.md) | -| [4D Widgets](https://github.com/4d/4D-Widgets) | Gestion des widgets 4D DatePicker, TimePicker et SearchPicker | `DatePicker calendar`, `DateEntry area`, `TimeEntry`, `SearchPicker SET HELP TEXT`, ... | -| [4D Write Pro Interface](https://github.com/4d/4D-WritePro-Interface) | Manage [4D Write Pro palettes](https://doc.4d.com/4Dv20R9/4D/20-R9/Entry-areas.300-7543821.en.html) and [table wizard](../WritePro/writeprointerface.md#table-wizard) | `WP PictureSettings`, `WP ShowTabPages`, `WP SwitchToolbar`, `WP UpdateWidget` | +| Composant | Description | Principales fonctionnalités | +| --------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------- | +| [4D AiIKit](https://github.com/4d/4D-AIKit) | Ensemble de classes permettant de se connecter à des API OpenAI tierces | `OpenAIChat`, `OpenAIImage`... | +| [4D Labels](https://github.com/4d/4D-Labels) | Composant interne requis pour la création de modèles de labels | | +| [4D NetKit](https://developer.4d.com/4D-NetKit) | Ensemble d'outils de services web permettant de se connecter à des API tierces | `OAuth2Provider` class, `New OAuth2 provider`, `OAuth2ProviderObject.getToken()` | +| [4D Progress](https://github.com/4d/4D-Progress) | Ouverture d'une ou plusieurs barres de progression dans la même fenêtre | `Progress New`, `Progress SET ON STOP METHOD`, `Progress SET PROGRESS`, ... | +| [4D SVG](https://github.com/4d/4D-SVG) | Création et manipulation d'objets graphiques svg courants | `SVGTool_Display_viewer`, multiple `SVG_` methods | +| [4D View Pro](ViewPro/getting-started.md) | Fonctions de tableur dans vos formulaires | Voir la [documentation de 4D View Pro](ViewPro/getting-started.md) | +| [4D Widgets](https://github.com/4d/4D-Widgets) | Gestion des widgets 4D DatePicker, TimePicker et SearchPicker | `DatePicker calendar`, `DateEntry area`, `TimeEntry`, `SearchPicker SET HELP TEXT`, ... | +| [4D Write Pro Interface](https://github.com/4d/4D-WritePro-Interface) | Gestion des [palettes de 4D Write Pro](https://doc.4d.com/4Dv20R9/4D/20-R9/Entry-areas.300-7543821.en.html) et de [l'assistant de table](../WritePro/writeprointerface.md#table-wizard) | `WP PictureSettings`, `WP ShowTabPages`, `WP SwitchToolbar`, `WP UpdateWidget` | ## Chargement des composants @@ -330,20 +330,20 @@ Les composants GitHub référencés sont téléchargés dans un dossier de cache ...où `` peut être "4D", "4D Server" ou "tool4D". -### Automatic dependency resolution +### Résolution automatique des dépendances -When you add or update a component (whether [local](#local-components) or [from GitHub](#components-stored-on-github)), 4D automatically resolves and installs all dependencies required by that component. Cela inclut : +Lorsque vous ajoutez ou mettez à jour un composant (qu'il soit [local](#local-components) ou [obtenu depuis GitHub](#components-stored-on-github)), 4D résout et installe automatiquement toutes les dépendances requises par ce composant. Cela inclut : -- **Primary dependencies**: Components you explicitly declare in your `dependencies.json` file -- **Secondary dependencies**: Components required by primary dependencies or other secondary dependencies, which are automatically resolved and installed +- les **dépendances primaires** : Composants que vous déclarez explicitement dans votre fichier `dependencies.json`. +- les **dépendances secondaires** : Composants requis par des dépendances primaires ou d'autres dépendances secondaires, qui sont automatiquement résolues et installées. -The Dependency manager reads each component's own `dependencies.json` file and recursively installs all required dependencies, respecting version specifications whenever possible. This eliminates the need to manually identify and add nested dependencies one by one. +Le gestionnaire de dépendances lit le fichier `dependencies.json` de chaque composant et installe récursivement toutes les dépendances nécessaires, en respectant les spécifications de version dans la mesure du possible. Il n'est donc pas nécessaire d'identifier et d'ajouter manuellement les dépendances imbriquées, une par une. -- **Conflict resolution**: When multiple dependencies require [different versions](#) of the same component, the Dependency manager automatically attempts to resolve conflicts by finding a version that satisfies all overlapping version ranges. If a primary dependency conflicts with secondary dependencies, the primary dependency takes precedence. +- **les résolutions de conflits** : Lorsque plusieurs dépendances nécessitent [différentes versions](#defining-a-github-dependency-version-range) du même composant, le gestionnaire de dépendances tente automatiquement de résoudre les conflits en trouvant une version qui satisfait toutes les plages de versions qui se chevauchent. Si une dépendance primaire entre en conflit avec des dépendances secondaires, la dépendance primaire est prioritaire. :::note -`dependencies.json` files are ignored in components loaded from the [**Components** folder](architecture.md#components). +Les fichiers `dependencies.json` sont ignorés dans les composants chargés depuis le dossier [**Components**](architecture.md#components). ::: @@ -377,19 +377,19 @@ Par défaut, toutes les dépendances identifiées par le Gestionnaire de dépend ![dependency-tabs](../assets/en/Project/dependency-tabs.png) -- **All**: All dependencies including both primary (declared) and secondary (automatically resolved) dependencies in a flat list view. -- **Declared**: Primary dependencies that are explicitly declared in the `dependencies.json` file. This tab helps you distinguish between dependencies you've directly added and those that were [automatically resolved](#automatic-dependency-resolution). -- **Actifs** : Dépendances chargées et utilisables dans le projet. Il comprend des dépendances *overloading*, qui sont effectivement chargées. Les dépendances *overloaded* sont listées dans l'onglet **Conflits**, ainsi que toutes les dépendances conflictuelles. -- **Inactifs** : Dépendances qui ne sont pas chargées dans le projet et qui ne sont pas disponibles. Diverses raisons peuvent expliquer ce statut : fichiers manquants, incompatibilité de version... -- **Conflicts**: Dependencies that are loaded but that overloads at least one other dependency at a lower [priority level](#priority). Les dépendances surchargées sont également affichées afin que vous puissiez vérifier l'origine du conflit et prendre les mesures appropriées. +- **Toutes** : Toutes les dépendances, y compris les dépendances primaires (déclarées) et secondaires (résolues automatiquement), sous forme de liste. +- **Déclarées** : Les dépendances primaires qui sont explicitement déclarées dans le fichier `dependencies.json`. Cet onglet vous aide à distinguer les dépendances que vous avez directement ajoutées de celles qui ont été [automatiquement résolues](#automatic-dependency-resolution). +- **Actives** : Dépendances chargées et utilisables dans le projet. Il comprend des dépendances *overloading*, qui sont effectivement chargées. Les dépendances *overloaded* sont listées dans l'onglet **Conflits**, ainsi que toutes les dépendances conflictuelles. +- **Inactives** : Dépendances qui ne sont pas chargées dans le projet et qui ne sont pas disponibles. Diverses raisons peuvent expliquer ce statut : fichiers manquants, incompatibilité de version... +- **Conflits** : Les dépendances qui sont chargées mais qui surchargent au moins une autre dépendance à un [niveau de priorité](#priority) inférieur. Les dépendances surchargées sont également affichées afin que vous puissiez vérifier l'origine du conflit et prendre les mesures appropriées. -### Secondary dependencies +### Dépendances secondaires -The Dependencies panel displays [**secondary dependencies**](#automatic-dependency-resolution) with the `Component dependency` [origin](#dependency-origin): +Le panneau Dépendances indique les [**dépendances secondaires**](#automatic-dependency-resolution) en affichant comme [origin](#dependency-origin) `Dépendance de composant` : ![recursive-dependency](../assets/en/Project/recursive.png) -When you hover over a secondary dependency, a tooltip displays the parent dependency that requires it. A secondary dependency cannot be [removed](#removing-a-dependency) directly, you must remove or edit the primary dependency that requires it. +Lorsque vous survolez une dépendance secondaire, une infobulle affiche la dépendance parente qui la requiert. Une dépendance secondaire ne peut pas être [supprimée](#removing-a-dependency) directement, vous devez supprimer ou modifier la dépendance primaire qui la requiert. ### Statut des dépendances @@ -416,19 +416,19 @@ Une infobulle s'affiche lorsque vous survolez la ligne de dépendance, fournissa ### Origine de la dépendance -Le panneau Dépendances liste toutes les dépendances du projet, quelle que soit leur origine, c'est-à-dire d'où qu'elles viennent. L'origine de la dépendance est fournie par l'étiquette sous son nom : +Le panneau Dépendances liste toutes les dépendances du projet, quelle que soit leur origine. L'origine de la dépendance est fournie par l'étiquette sous son nom : ![dependency-origin](../assets/en/Project/dependency-origin.png) Les options suivantes sont disponibles : -| Étiquette d'origine | Description | -| ----------------------- | -------------------------------------------------------------------------------------------------------------------------------------------- | -| Built in 4D | Composant 4D intégré, stocké dans le dossier `Components` de l'application 4D | -| Declared in project | Composant déclaré dans le fichier [`dependencies.json`](#dependenciesjson) | -| Declared in environment | Component declared in the [`dependencies.json`](#dependenciesjson) file and overriden in the [`environment4d.json`](#environment4djson) file | -| Dossier Components | Composant situé dans le dossier [`Components`](architecture.md#components) | -| Component dependency | Secondary component ([required by a another component](#automatic-dependency-resolution)) | +| Étiquette | Description | +| ---------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------- | +| Intégré à 4D | Composant 4D intégré, stocké dans le dossier `Components` de l'application 4D | +| Déclaré dans le projet | Composant déclaré dans le fichier [`dependencies.json`](#dependenciesjson) | +| Déclaré dans l'environnement | Composant déclaré dans le fichier [`dependencies.json`](#dependenciesjson) et surchargé dans le fichier [`environment4d.json`](#environment4djson) | +| Dossier Components | Composant situé dans le dossier [`Components`](architecture.md#components) | +| Dépendance de composant | Composant secondaire ([requis par un autre composant](#automatic-dependency-resolution)) | **Cliquez avec le bouton droit de la souris** dans une ligne de dépendance et sélectionnez **Afficher sur le disque** pour révéler l'emplacement d'une dépendance : @@ -496,7 +496,7 @@ Définissez la [plage de versions des dépendances](#tags-and-versions) à utili Cliquez sur le bouton **Ajouter** pour ajouter la dépendance au projet. -The GitHub dependency is declared in the [**dependencies.json**](#dependenciesjson) file and added to the [inactive dependency list](#dependency-status) with the **Available at restart** status. Elle sera chargée une fois que l'application aura redémarré. +La dépendance GitHub est déclarée dans le fichier [**dependencies.json**](#dependenciesjson) et ajoutée à la [liste des dépendances inactives](#dependency-status) avec le statut **Disponible après redémarrage**. Elle sera chargée une fois que l'application aura redémarré. #### Définir une plage de versions pour une dépendance GitHub @@ -614,7 +614,7 @@ Pour supprimer une dépendance de la fenêtre Dépendances, sélectionnez la dé :::note -Only primary dependencies declared in the [**dependencies.json**](#dependenciesjson) file can be removed using the Dependencies panel. Secondary dependencies cannot be removed directly - to remove a secondary dependency, you must remove the primary dependency that requires it. Si une dépendance sélectionnée ne peut pas être supprimée, le bouton **-** est désactivé et l'élément de menu **Supprimer la dépendance** est masqué. +Seules les dépendances primaires déclarées dans le fichier [**dependencies.json**](#dependenciesjson) peuvent être supprimées dans la fenêtre Dépendances. Les dépendances secondaires ne peuvent pas être supprimées directement - pour supprimer une dépendance secondaire, vous devez supprimer la dépendance primaire qui la requiert. Si une dépendance sélectionnée ne peut pas être supprimée, le bouton **-** est désactivé et l'élément de menu **Supprimer la dépendance** est masqué. ::: @@ -624,7 +624,7 @@ Une boîte de dialogue de confirmation s'affiche. Si la dépendance a été déc Si vous confirmez la boîte de dialogue, le [statut](#dependency-status) de la dépendance supprimée est automatiquement modifié en "Déchargé après redémarrage". Elle sera chargée une fois que l'application aura redémarré. -#### Dependency usage warnings +#### Avertissements relatifs à l'utilisation des dépendances -When you attempt to remove a primary dependency that is required by other dependencies in your project, you will be warned that the dependency is still in use. The system will display which other dependencies require it and prompt you to confirm the removal, as removing it may cause those dependent components to stop working properly. +Lorsque vous tentez de supprimer une dépendance primaire qui est requise par d'autres dépendances dans votre projet, vous serez averti que la dépendance est toujours en cours d'utilisation. Le système affichera les autres dépendances qui la requièrent et vous demandera de confirmer la suppression, car celle-ci peut entraîner l'arrêt du fonctionnement de ces composants dépendants. From c47b7d2a832d5746428504bf513f8fbd4b7d3597 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Tue, 21 Oct 2025 07:44:51 +0200 Subject: [PATCH 044/137] New translations vp-set-workbook-options.md (French) --- .../commands/vp-set-workbook-options.md | 120 +++++++++--------- 1 file changed, 60 insertions(+), 60 deletions(-) diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-20-R10/ViewPro/commands/vp-set-workbook-options.md b/i18n/fr/docusaurus-plugin-content-docs/version-20-R10/ViewPro/commands/vp-set-workbook-options.md index 7407f3c7a4eb04..621644af08ae2f 100644 --- a/i18n/fr/docusaurus-plugin-content-docs/version-20-R10/ViewPro/commands/vp-set-workbook-options.md +++ b/i18n/fr/docusaurus-plugin-content-docs/version-20-R10/ViewPro/commands/vp-set-workbook-options.md @@ -29,66 +29,66 @@ Les options modifiées du classeur sont enregistrées avec le document. Le tableau suivant répertorie les options de classeur disponibles : -| Propriété | Type | Description | -| ------------------------------------- | ----------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| allowUserDragMerge | boolean | L'opération de fusion par glisser est autorisée (sélection des cellules et glisser de la sélection pour fusionner les cellules) | -| allowAutoCreateHyperlink | boolean | Permet la création automatique d'hyperliens dans la feuille de calcul. | -| allowContextMenu | boolean | Le menu contextuel intégré peut être ouvert. | -| allowCopyPasteExcelStyle | boolean | Les styles d'une feuille de calcul peuvent être copiés et collés dans Excel, et vice-versa. | -| allowDynamicArray | boolean | Active les tableaux dynamiques dans les feuilles de travail | -| allowExtendPasteRange | boolean | Étend la plage collée si la plage collée n'est pas suffisante pour les données collées | -| allowSheetReorder | boolean | La réorganisation de la feuille est autorisée | -| allowUndo | boolean | L'annulation des modifications est autorisée. | -| allowUserDeselect | boolean | La désélection de cellules spécifiques d'une sélection est autorisée. | -| allowUserDragDrop | boolean | Glisser-déposer des données de plage est autorisé | -| allowUserDragFill | boolean | Le remplissage par glisser est autorisé | -| allowUserEditFormula | boolean | Des formules peuvent être saisies dans les cellules | -| allowUserResize | boolean | Les colonnes et les lignes peuvent être redimensionnées | -| allowUserZoom | boolean | Le zoom (ctrl + molette de la souris) est autorisé | -| autoFitType | number | Le contenu est formaté pour tenir dans les cellules, les cellules et les en-têtes. Valeurs disponibles :
    ConstanteValeurDescription
    vk auto fit type cell 0 Le contenu ajuste automatiquement les cellules
    vk auto fit type cell with header 1 Le contenu ajuste automatiquement les cellules et les en-têtes
    | -| backColor | string | Chaîne de couleur utilisée pour représenter la couleur de fond de la zone, comme "rouge", "#FFFF00", "rgb(255,0,0)", "Accent 5". La couleur de fond initiale est masquée lorsqu'une image de fond est définie. | -| backgroundImage | string / picture / file | Image de fond de la zone. | -| backgroundImageLayout | number | Comment l'image de fond s'affiche. Available values:
    ConstantValueDescription
    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.
    | -| calcOnDemand | boolean | Les formules ne sont calculées que lorsqu'elles sont demandées. | -| columnResizeMode | number | Mode redimensionnement pour les colonnes. Valeurs disponibles :
    ConstanteValeurDescription
    vk resize mode normal 0 Utilise le mode de redimensionnement normal (c'est-à-dire que les colonnes restantes sont affectées)
    vk resize mode split 1 Utiliser le mode fractionné (les colonnes restantes ne sont pas affectées)
    | -| copyPasteHeaderOptions | number | En-têtes à inclure lorsque les données sont copiées ou collées. Available values:
    ConstantValueDescription
    vk copy paste header options all headers3 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 headers0 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 headers1 Includes selected row headers when data is copied; overwrites selected row headers when data is pasted.
    | -| customList | collection | Liste pour que les utilisateurs personnalisent le remplissage par glisser-déposer, en priorisant la correspondance de cette liste dans chaque remplissage. Chaque élément de collection est une collection de strings. Voir sur [SpreadJS docs](https://developer.mescius.com/spreadjs/docs/features/cells/AutoFillData/AutoFillLists). | -| cutCopyIndicatorBorderColor | string | Couleur de bordure de l'indicateur affiché lorsque l'utilisateur coupe ou copie la sélection. | -| cutCopyIndicatorVisible | boolean | Afficher un indicateur lors du copier ou du coller de l'élément sélectionné. | -| defaultDragFillType | number | Le type de remplissage par défaut du glisser-déposer. Valeurs disponibles :
    ConstanteValeurDescription
    vk auto fill type auto 5 Remplit automatiquement les cellules.
    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 Remplit les cellules avec des valeurs sans les formater.
    | -| enableAccessibility | boolean | La prise en charge de l'accessibilité est activée dans la feuille de calcul. | -| enableFormulaTextbox | boolean | La zone de texte de la formule est activée. | -| grayAreaBackColor | string | Une chaîne de couleur utilisée pour représenter la couleur de fond de la zone grise, comme "red", "#FFFF00", "rgb(255,0,0)", "Accent 5", etc. | -| highlightInvalidData | boolean | Les données non valides sont surlignées. | -| iterativeCalculation | boolean | Active le calcul itératif. Voir sur [SpreadJS docs](https://developer.mescius.com/spreadjs/docs/formulareference/formulaoverview/calculating-iterative). | -| iterativeCalculationMaximumChange | numérique | Montant maximum de changement entre deux valeurs de calcul. | -| iterativeCalculationMaximumIterations | numérique | Nombre de fois maximum que la formule doit recalculer. | -| newTabVisible | boolean | Afficher un onglet spécial pour permettre aux utilisateurs d'insérer de nouvelles feuilles. | -| numbersFitMode | number | Modifie le mode d'affichage lorsque la largeur des données date/nombre est plus longue que la largeur des colonnes. Valeurs disponibles : vk
    ConstanteValeurDescription
    vk numbers fit mode mask0 Remplace le contenu des données par "###" et affiche l'astuce
    numbers fit mode overflow 1 Affiche le contenu des données sous forme de chaîne de caractères. Si la cellule suivante est vide, le contenu est débordé.
    | -| pasteSkipInvisibleRange | boolean | Coller ou ne pas coller les données dans les plages invisibles :
    • False (par défaut) : coller les données
    • True : Ne pas coller les données dans les plages invisibles
    Voir [SpreadJS docs](https://developer.mescius.com/spreadjs/docs/features/rows-columns/paste-skip-data-invisible-range) pour plus d'informations sur les plages invisibles. | -| referenceStyle | number | Style pour les références de cellules et de plages dans les formules de cellules. Available values:
    ConstantValueDescription
    vk reference style A1 0 Use A1 style.
    vk reference style R1C1 1 Use R1C1 style
    | -| resizeZeroIndicator | number | Règle de dessin lorsque la ligne ou la colonne est redimensionnée à zéro. Available values:
    ConstantValueDescription
    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 façon dont les lignes sont redimensionnées. Les valeurs disponibles sont les mêmes que columnResizeMode | -| scrollbarAppearance | number | Apparence de la barre de défilement. Available values:
    ConstantValueDescription
    vk scrollbar appearance mobile1 Mobile scrollbar appearance.
    vk scrollbar appearance skin (default)0 Excel-like classic scrollbar appearance.
    | -| scrollbarMaxAlign | boolean | La barre de défilement s'aligne sur la dernière ligne et la dernière colonne de la feuille courante. | -| scrollbarShowMax | boolean | Les barres de défilement affichées sont basées sur le nombre total de colonnes et de lignes dans la feuille. | -| scrollByPixel | boolean | Activer le défilement de précision par pixel. | -| scrollIgnoreHidden | boolean | La barre de défilement ignore les lignes ou colonnes cachées. | -| scrollPixel | integer | Définit le défilement par ce nombre de pixels lorsque scrollByPixel est true. Définit le défilement par ce nombre de pixels lorsque scrollByPixel est true. Par exemple : le delta de défilement est de 3, scrollPixel est de 5, le défilement final de pixels est de 15. | -| showDragDropTip | boolean | Afficher l'info bulle de glisser-déposer. | -| showDragFillSmartTag | boolean | Afficher la boîte de dialogue de remplissage par glisser-déplacer. | -| showDragFillTip | boolean | Afficher l'info bulle de glisser-remplir. | -| showHorizontalScrollbar | boolean | Afficher la barre de défilement horizontale. | -| showResizeTip | number | Comment afficher l'info-bulle de redimensionnement. Available values:
    ConstantValueDescription
    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 | Comment afficher les info-bulles de défilement. Available values:
    ConstantValueDescription
    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 scroll tip is displayed.
    vk show scroll tip vertical 2 Only the vertical scroll tip is displayed.
    | -| showVerticalScrollbar | boolean | Afficher la barre de défilement verticale. | -| tabEditable | boolean | La barre d'onglets de la feuille peut être modifiée. | -| tabNavigationVisible | boolean | Afficher l'onglet de navigation de la feuille. | -| tabStripPosition | number | Position de la barre d'onglets. Available values:
    ConstantValueDescription
    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.
    | -| tabStripRatio | number | Valeur de pourcentage (0.x) qui spécifie combien d'espace horizontal sera alloué à la barre d'onglets. Le reste de la zone horizontale (1 - 0.x) sera alloué à la barre de défilement horizontale. | -| tabStripVisible | boolean | Afficher la barre d'onglets de la feuille. | -| tabStripWidth | number | Largeur de la barre d'onglets lorsque la position est à gauche ou à droite. Par défaut et minimum 80. | -| useTouchLayout | boolean | Utiliser ou non le format tactile pour présenter le composant Spread. | +| Propriété | Type | Description | +| ------------------------------------- | ----------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| allowUserDragMerge | boolean | L'opération de fusion par glisser est autorisée (sélection des cellules et glisser de la sélection pour fusionner les cellules) | +| allowAutoCreateHyperlink | boolean | Permet la création automatique d'hyperliens dans la feuille de calcul. | +| allowContextMenu | boolean | Le menu contextuel intégré peut être ouvert. | +| allowCopyPasteExcelStyle | boolean | Les styles d'une feuille de calcul peuvent être copiés et collés dans Excel, et vice-versa. | +| allowDynamicArray | boolean | Active les tableaux dynamiques dans les feuilles de travail | +| allowExtendPasteRange | boolean | Étend la plage collée si la plage collée n'est pas suffisante pour les données collées | +| allowSheetReorder | boolean | La réorganisation de la feuille est autorisée | +| allowUndo | boolean | L'annulation des modifications est autorisée. | +| allowUserDeselect | boolean | La désélection de cellules spécifiques d'une sélection est autorisée. | +| allowUserDragDrop | boolean | Glisser-déposer des données de plage est autorisé | +| allowUserDragFill | boolean | Le remplissage par glisser est autorisé | +| allowUserEditFormula | boolean | Des formules peuvent être saisies dans les cellules | +| allowUserResize | boolean | Les colonnes et les lignes peuvent être redimensionnées | +| allowUserZoom | boolean | Le zoom (ctrl + molette de la souris) est autorisé | +| autoFitType | number | Le contenu est formaté pour tenir dans les cellules, les cellules et les en-têtes. Valeurs disponibles :
    ConstanteValeurDescription
    vk auto fit type cell 0 Le contenu ajuste automatiquement les cellules
    vk auto fit type cell with header 1 Le contenu ajuste automatiquement les cellules et les en-têtes
    | +| backColor | string | Chaîne de couleur utilisée pour représenter la couleur de fond de la zone, comme "rouge", "#FFFF00", "rgb(255,0,0)", "Accent 5". La couleur de fond initiale est masquée lorsqu'une image de fond est définie. | +| backgroundImage | string / picture / file | Image de fond de la zone. | +| backgroundImageLayout | number | Comment l'image de fond s'affiche. Valeurs disponibles :
    ConstanteValeurDescription
    vk image layout center 1 Au centre de la zone.
    vk mise en page d'image aucun 3 Dans le coin supérieur gauche de la zone à sa taille originale.
    vk image layout stretch 0 Remplit la zone.
    vk image layout zoom 2 Affiché avec son rapport d'aspect d'origine.
    | +| calcOnDemand | boolean | Les formules ne sont calculées que lorsqu'elles sont demandées. | +| columnResizeMode | number | Mode redimensionnement pour les colonnes. Valeurs disponibles :
    ConstanteValeurDescription
    vk resize mode normal 0 Utilise le mode de redimensionnement normal (c'est-à-dire que les colonnes restantes sont affectées)
    vk resize mode split 1 Utiliser le mode fractionné (les colonnes restantes ne sont pas affectées)
    | +| copyPasteHeaderOptions | number | En-têtes à inclure lorsque les données sont copiées ou collées. Available values:
    ConstantValueDescription
    vk copy paste header options all headers3 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 headers0 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 headers1 Inclut les en-têtes de ligne sélectionnés lors de la copie des données ; surcharge les en-têtes de ligne sélectionnés lors du collage des données.
    | +| customList | collection | Liste pour que les utilisateurs personnalisent le remplissage par glisser-déposer, en priorisant la correspondance de cette liste dans chaque remplissage. Chaque élément de collection est une collection de strings. Voir sur [SpreadJS docs](https://developer.mescius.com/spreadjs/docs/features/cells/AutoFillData/AutoFillLists). | +| cutCopyIndicatorBorderColor | string | Couleur de bordure de l'indicateur affiché lorsque l'utilisateur coupe ou copie la sélection. | +| cutCopyIndicatorVisible | boolean | Afficher un indicateur lors du copier ou du coller de l'élément sélectionné. | +| defaultDragFillType | number | Le type de remplissage par défaut du glisser-déposer. Valeurs disponibles :
    ConstanteValeurDescription
    vk auto fill type auto 5 Remplit automatiquement les cellules.
    vk auto fill type clear values 4 Efface les valeurs des cellules.
    vk auto fill type copycells 0 Remplit les cellules avec tous les objets de données, y compris les valeurs, la mise en forme et les formules.
    vk auto fill type fill formatting only 2 Remplit les cellules uniquement avec la mise en forme.
    vk auto fill type fill series 1 Remplit les cellules avec des séries.
    vk auto fill type fill without formatting 3 Remplit les cellules avec des valeurs sans les formater.
    | +| enableAccessibility | boolean | La prise en charge de l'accessibilité est activée dans la feuille de calcul. | +| enableFormulaTextbox | boolean | La zone de texte de la formule est activée. | +| grayAreaBackColor | string | Une chaîne de couleur utilisée pour représenter la couleur de fond de la zone grise, comme "red", "#FFFF00", "rgb(255,0,0)", "Accent 5", etc. | +| highlightInvalidData | boolean | Les données non valides sont surlignées. | +| iterativeCalculation | boolean | Active le calcul itératif. Voir sur [SpreadJS docs](https://developer.mescius.com/spreadjs/docs/formulareference/formulaoverview/calculating-iterative). | +| iterativeCalculationMaximumChange | numérique | Montant maximum de changement entre deux valeurs de calcul. | +| iterativeCalculationMaximumIterations | numérique | Nombre de fois maximum que la formule doit recalculer. | +| newTabVisible | boolean | Afficher un onglet spécial pour permettre aux utilisateurs d'insérer de nouvelles feuilles. | +| numbersFitMode | number | Modifie le mode d'affichage lorsque la largeur des données date/nombre est plus longue que la largeur des colonnes. Valeurs disponibles : vk
    ConstanteValeurDescription
    vk numbers fit mode mask0 Remplace le contenu des données par "###" et affiche l'astuce
    numbers fit mode overflow 1 Affiche le contenu des données sous forme de chaîne de caractères. Si la cellule suivante est vide, le contenu est débordé.
    | +| pasteSkipInvisibleRange | boolean | Coller ou ne pas coller les données dans les plages invisibles :
    • False (par défaut) : coller les données
    • True : Ne pas coller les données dans les plages invisibles
    Voir [SpreadJS docs](https://developer.mescius.com/spreadjs/docs/features/rows-columns/paste-skip-data-invisible-range) pour plus d'informations sur les plages invisibles. | +| referenceStyle | number | Style pour les références de cellules et de plages dans les formules de cellules. Valeurs disponibles :
    ConstanteValeurDescription
    vk reference style A10 Utilise le style A1.
    vk reference style R1C1 1 Utiliser le style R1C1
    | +| resizeZeroIndicator | number | Règle de dessin lorsque la ligne ou la colonne est redimensionnée à zéro. Available values:
    ConstantValueDescription
    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 Dessine deux lignes courtes lorsque la ligne ou la colonne est redimensionnée à zéro.
    | +| rowResizeMode | number | La façon dont les lignes sont redimensionnées. Les valeurs disponibles sont les mêmes que columnResizeMode | +| scrollbarAppearance | number | Apparence de la barre de défilement. Valeurs disponibles :
    ConstanteValeurDescription
    vk scrollbar appearance mobile1 Apparence de la barre de défilement mobile
    vk scrollbar appearance skin (default)0 Apparence classique de la barre de défilement, similaire à celle d'Excel.
    | +| scrollbarMaxAlign | boolean | La barre de défilement s'aligne sur la dernière ligne et la dernière colonne de la feuille courante. | +| scrollbarShowMax | boolean | Les barres de défilement affichées sont basées sur le nombre total de colonnes et de lignes dans la feuille. | +| scrollByPixel | boolean | Activer le défilement de précision par pixel. | +| scrollIgnoreHidden | boolean | La barre de défilement ignore les lignes ou colonnes cachées. | +| scrollPixel | integer | Définit le défilement par ce nombre de pixels lorsque scrollByPixel est true. Définit le défilement par ce nombre de pixels lorsque scrollByPixel est true. Par exemple : le delta de défilement est de 3, scrollPixel est de 5, le défilement final de pixels est de 15. | +| showDragDropTip | boolean | Afficher l'info bulle de glisser-déposer. | +| showDragFillSmartTag | boolean | Afficher la boîte de dialogue de remplissage par glisser-déplacer. | +| showDragFillTip | boolean | Afficher l'info bulle de glisser-remplir. | +| showHorizontalScrollbar | boolean | Afficher la barre de défilement horizontale. | +| showResizeTip | number | Comment afficher l'info-bulle de redimensionnement. Available values:
    ConstantValueDescription
    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 | Comment afficher les info-bulles de défilement. Available values:
    ConstantValueDescription
    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 scroll tip is displayed.
    vk show scroll tip vertical 2 Only the vertical scroll tip is displayed.
    | +| showVerticalScrollbar | boolean | Afficher la barre de défilement verticale. | +| tabEditable | boolean | La barre d'onglets de la feuille peut être modifiée. | +| tabNavigationVisible | boolean | Afficher l'onglet de navigation de la feuille. | +| tabStripPosition | number | Position de la barre d'onglets. Valeurs disponibles :
    ConstanteValeurDescription
    vk tab strip position bottom 0La position de la barre de tabulation est relative au bas du classeur.
    vk tab strip position left 2 La position de la barre de tabulation est relative à la gauche du classeur.
    vk tab strip position right 3 La position de la barre de tabulation est relative à la droite du classeur.
    vk tab strip position top 1 La position de la barre de tabulation est relative au haut du classeur.
    | +| tabStripRatio | number | Valeur de pourcentage (0.x) qui spécifie combien d'espace horizontal sera alloué à la barre d'onglets. Le reste de la zone horizontale (1 - 0.x) sera alloué à la barre de défilement horizontale. | +| tabStripVisible | boolean | Afficher la barre d'onglets de la feuille. | +| tabStripWidth | number | Largeur de la barre d'onglets lorsque la position est à gauche ou à droite. Par défaut et minimum 80. | +| useTouchLayout | boolean | Utiliser ou non le format tactile pour présenter le composant Spread. | ## Exemple From 882d8a643c537f19fd54614334105ca62910a4cb Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Tue, 21 Oct 2025 07:44:57 +0200 Subject: [PATCH 045/137] New translations configuring.md (French) --- .../version-20-R10/ViewPro/configuring.md | 20 +++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-20-R10/ViewPro/configuring.md b/i18n/fr/docusaurus-plugin-content-docs/version-20-R10/ViewPro/configuring.md index 5cdbaa95105016..6648693d558630 100644 --- a/i18n/fr/docusaurus-plugin-content-docs/version-20-R10/ViewPro/configuring.md +++ b/i18n/fr/docusaurus-plugin-content-docs/version-20-R10/ViewPro/configuring.md @@ -332,16 +332,16 @@ Les attributs d'orientation sont utilisés pour spécifier la direction de la mi Les attributs de page sont utilisés pour spécifier les paramètres généraux d'impression du document. -| Propriété | Type | Description | -| --------------- | ----------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| blackAndWhite | boolean | Impression en noir et blanc seulement.

    Valeur par défaut = false

    **Note**: Les PDF ne sont pas affectés par cet attribut. Les couleurs en PDF restent.

    | -| centering | entier long | Comment le contenu est centré sur la page imprimée. Valeurs disponibles : `vk print centering both`, `vk print centering horizontal`, `vk print centering none` (par défaut), `vk print centering vertical` | -| firstPageNumber | entier long | Le numéro de page à imprimer sur la première page. Valeur par défaut = 1 | -| pageOrder | entier long | L'ordre d'impression des pages. Valeurs disponibles : `vk print page order auto` (par défaut), `vk print page order down then over`, `vk print page order over then down`. | -| pageRange | text | La plage de pages pour l'impression | -| qualityFactor | entier long | Le facteur de qualité pour l'impression (1 - 8). The higher the quality factor, the better the printing quality, however printing performance may be affected.

    Default value = 2

    | -| useMax | boolean | Only columns and rows with data are printed.

    Default value = true

    | -| zoomFactor | réel | The amount to enlarge or reduce the printed page.

    Default value = 1

    | +| Propriété | Type | Description | +| --------------- | ----------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| blackAndWhite | boolean | Impression en noir et blanc seulement.

    Valeur par défaut = false

    **Note**: Les PDF ne sont pas affectés par cet attribut. Les couleurs en PDF restent.

    | +| centering | entier long | Comment le contenu est centré sur la page imprimée. Valeurs disponibles : `vk print centering both`, `vk print centering horizontal`, `vk print centering none` (par défaut), `vk print centering vertical` | +| firstPageNumber | entier long | Le numéro de page à imprimer sur la première page. Valeur par défaut = 1 | +| pageOrder | entier long | L'ordre d'impression des pages. Valeurs disponibles : `vk print page order auto` (par défaut), `vk print page order down then over`, `vk print page order over then down`. | +| pageRange | text | La plage de pages pour l'impression | +| qualityFactor | entier long | Le facteur de qualité pour l'impression (1 - 8). Plus le facteur de qualité est élevé, meilleure est la qualité d'impression, cependant les performances d'impression peuvent être affectées.

    Valeur par défaut = 2

    | +| useMax | boolean | Seules les colonnes et les lignes contenant des données sont imprimées.

    Valeur par défaut = true

    | +| zoomFactor | réel | Le montant pour agrandir ou réduire la page imprimée.

    Valeur par défaut = 1

    | ### Taille du papier From 5762bcddbaac1e5577e93da3c16d1d97555231fc Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Tue, 21 Oct 2025 07:45:44 +0200 Subject: [PATCH 046/137] New translations openai.md (French) --- .../version-20-R10/aikit/Classes/OpenAI.md | 46 +++++++++---------- 1 file changed, 23 insertions(+), 23 deletions(-) diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-20-R10/aikit/Classes/OpenAI.md b/i18n/fr/docusaurus-plugin-content-docs/version-20-R10/aikit/Classes/OpenAI.md index 6734c9aefbc5f5..99425a010d3b25 100644 --- a/i18n/fr/docusaurus-plugin-content-docs/version-20-R10/aikit/Classes/OpenAI.md +++ b/i18n/fr/docusaurus-plugin-content-docs/version-20-R10/aikit/Classes/OpenAI.md @@ -9,29 +9,29 @@ La classe OpenAI fournit un client permettant d'accéder à diverses ressources ## Propriétés de configuration -| Nom de propriété | Type | Description | Optionnel | -| ---------------- | ---- | ------------------------------------------------------------------------------ | --------------------------------------------------------- | -| `apiKey` | Text | Votre [clé API OpenAI ](https://platform.openai.com/api-keys). | Can be required by the provider | -| `baseURL` | Text | URL de base pour les requêtes de l'API OpenAI. | Yes (if omitted = use OpenAI provider) | -| `organisation` | Text | Votre identifiant d'organisation OpenAI. | Oui | -| `project` | Text | Votre identifiant de projet OpenAI. | Oui | +| Nom de propriété | Type | Description | Optionnel | +| ---------------- | ---- | ------------------------------------------------------------------------------ | ----------------------------------------------------------------- | +| `apiKey` | Text | Votre [clé API OpenAI ](https://platform.openai.com/api-keys). | Peut être requis par le fournisseur | +| `baseURL` | Text | URL de base pour les requêtes de l'API OpenAI. | Oui (si omis = utiliser le fournisseur OpenAI) | +| `organisation` | Text | Votre identifiant d'organisation OpenAI. | Oui | +| `project` | Text | Votre identifiant de projet OpenAI. | Oui | ### Propriétés HTTP supplémentaires -| Nom de propriété | Type | Description | -| ---------------- | -------------------------------------------------------------------------------- | -------------------------------------------------------------------- | -| `timeout` | Real | Time in seconds before timeout occurs. | -| `maxRetries` | Real | Maximum number of retry attempts in case of failure. | -| `httpAgent` | [4D.HTTPAgent](https://developer.4d.com/docs/API/HTTPAgentClass) | HTTP agent used for making requests. | -| `customHeaders` | Real | Custom headers to be included in the HTTP requests. | +| Nom de propriété | Type | Description | +| ---------------- | -------------------------------------------------------------------------------- | ------------------------------------------------------------------------ | +| `timeout` | Real | Délai en secondes avant l'expiration du délai. | +| `maxRetries` | Real | Nombre maximum de tentatives en cas d'échec. | +| `httpAgent` | [4D.HTTPAgent](https://developer.4d.com/docs/API/HTTPAgentClass) | Agent HTTP utilisé pour effectuer des requêtes. | +| `customHeaders` | Real | En-têtes personnalisés à inclure dans les requêtes HTTP. | ### Class constructor Créer une instance de la classe client OpenAI. -| Nom de l'argument | Type | Description | -| ------------------------- | ------------ | ------------------------------------------------------- | -| `apiKey or configuration` | Text, Object | apiKey if Text or configuration Object. | +| Nom de l'argument | Type | Description | +| ------------------------- | ------------ | ----------------------------------------------------------- | +| `apiKey` ou configuration | Text, Object | apiKey si Texte, ou objet de configuration. | #### Clé API @@ -58,15 +58,15 @@ $client.baseURL:="https://server.ai" ## Ressources API -L'API donne accès à de multiples ressources qui permettent une interaction transparente avec les services de l'OpenAI. Each resource is encapsulated within a dedicated API class, offering a structured and intuitive way to interact with different functionalities. +L'API donne accès à de multiples ressources qui permettent une interaction transparente avec les services de l'OpenAI. Chaque ressource est encapsulée dans une classe d'API dédiée, offrant un moyen structuré et intuitif d'interagir avec les différentes fonctionnalités. -| Nom de propriété | Type | Description | -| ---------------- | ----------------------------------------------- | ---------------------------------------------- | -| `models` | [OpenAIModelsAPI](OpenAIModelsAPI.md) | Accès à l'API des modèles. | -| `chat` | [OpenAIChatAPI](OpenAIChatAPI.md) | Accès à l'API de Chat. | -| `images` | [OpenAIImagesAPI](OpenAIImagesAPI.md) | Accès à l'API Images. | -| `moderations` | [OpenAIModerationsAPI](OpenAIModerationsAPI.md) | Accès à l'API des modérations. | -| `embeddings` | [OpenAIEmbeddingsAPI](OpenAIEmbeddingsAPI.md) | Access to the Embeddings API. | +| Nom de propriété | Type | Description | +| ---------------- | ----------------------------------------------- | ---------------------------------------------------------------------------- | +| `models` | [OpenAIModelsAPI](OpenAIModelsAPI.md) | Accès à l'API des modèles. | +| `chat` | [OpenAIChatAPI](OpenAIChatAPI.md) | Accès à l'API de discussion (Chat). | +| `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). | ### Exemple d'utilisation From 15dccbbba204c1d5afbed2fad62807d1be666d1b Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Tue, 21 Oct 2025 07:45:46 +0200 Subject: [PATCH 047/137] New translations openaichatapi.md (French) --- .../aikit/Classes/OpenAIChatAPI.md | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-20-R10/aikit/Classes/OpenAIChatAPI.md b/i18n/fr/docusaurus-plugin-content-docs/version-20-R10/aikit/Classes/OpenAIChatAPI.md index d0c5355b455496..a1488e72ea9acd 100644 --- a/i18n/fr/docusaurus-plugin-content-docs/version-20-R10/aikit/Classes/OpenAIChatAPI.md +++ b/i18n/fr/docusaurus-plugin-content-docs/version-20-R10/aikit/Classes/OpenAIChatAPI.md @@ -5,14 +5,14 @@ title: OpenAIChatAPI # OpenAIChatAPI -La classe `OpenAIChatAPI` fournit une interface permettant d'interagir avec la fonctionnalité de chat de l'OpenAI, en tirant parti des capacités de complétion et de vision. +La classe `OpenAIChatAPI` fournit une interface permettant d'interagir avec la fonctionnalité de discussion (*chat*) de l'OpenAI, en tirant parti des capacités de complétion et de vision. ## Propriétés -| Propriété | Type | Description | -| ------------- | ------------------------------------------------------- | ------------------------------------------------------------------------ | -| `completions` | [OpenAIChatCompletionsAPI](OpenAIChatCompletionsAPI.md) | An instance that handles chat completions requests. | -| `vision` | [OpenAIVision](OpenAIVision.md) | An helper instance that handles vision-related requests. | +| Propriété | Type | Description | +| ------------- | ------------------------------------------------------- | ---------------------------------------------------------------------------------- | +| `completions` | [OpenAIChatCompletionsAPI](OpenAIChatCompletionsAPI.md) | Une instance qui gère les requêtes de complétion de la discussion. | +| `vision` | [OpenAIVision](OpenAIVision.md) | Une instance du helper qui traite les requêtes liées à la vision. | ## Function @@ -20,7 +20,7 @@ La classe `OpenAIChatAPI` fournit une interface permettant d'interagir avec la f **create**(*systemPrompt* : Text) : OpenAIChatHelper -| Paramètres | Type | Description | -| -------------- | --------------------------------------- | ----------------------------------------------------------------- | -| *systemPrompt* | Text | The system prompt to initialize the chat. | -| Résultat | [OpenAIChatHelper](OpenAIChatHelper.md) | A helper instance for managing chat interactions. | +| Paramètres | Type | Description | +| -------------- | --------------------------------------- | -------------------------------------------------------------------------------------- | +| *systemPrompt* | Text | L'invite du système pour initialiser la discussion. | +| Résultat | [OpenAIChatHelper](OpenAIChatHelper.md) | Une instance du helper pour gérer les interactions dans la discussion. | From becaedaf52d0bec760a07b05163a46e2b589bce7 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Tue, 21 Oct 2025 07:46:07 +0200 Subject: [PATCH 048/137] New translations openaimessage.md (French) --- .../aikit/Classes/OpenAIMessage.md | 34 +++++++++---------- 1 file changed, 17 insertions(+), 17 deletions(-) diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-20-R10/aikit/Classes/OpenAIMessage.md b/i18n/fr/docusaurus-plugin-content-docs/version-20-R10/aikit/Classes/OpenAIMessage.md index c304c356cd8402..d1191c46ad1afa 100644 --- a/i18n/fr/docusaurus-plugin-content-docs/version-20-R10/aikit/Classes/OpenAIMessage.md +++ b/i18n/fr/docusaurus-plugin-content-docs/version-20-R10/aikit/Classes/OpenAIMessage.md @@ -9,17 +9,17 @@ La classe `OpenAIMessage` représente un message structuré contenant un rôle, ## Propriétés -| Propriété | Type | Description | -| --------- | ------- | ----------------------------------------------------------------------------------------------------------------------- | -| `rôle` | Text | The role of the message (e.g., "user", "assistant"). | -| `contenu` | Variant | The content of the message, which can be a text or a collection of objects. | -| `user` | Text | An optional property representing the user associated with the message. | +| Propriété | Type | Description | +| --------- | ------- | ----------------------------------------------------------------------------------------- | +| `role` | Text | Le rôle du message (par exemple, "user", "assistant"). | +| `content` | Variant | Le contenu du message, qui peut être un texte ou une collection d'objets. | +| `user` | Text | Une propriété facultative représentant l'utilisateur associé au message. | ## Propriétés calculées -| Propriété | Type | Description | -| --------- | ---- | --------------------------------------------------------- | -| `text` | Text | A property representing the text message. | +| Propriété | Type | Description | +| --------- | ---- | -------------------------------------------------------------- | +| `text` | Text | Une propriété représentant le message textuel. | ## Fonctions @@ -27,19 +27,19 @@ La classe `OpenAIMessage` représente un message structuré contenant un rôle, **addImageURL**(*imageURL* : Text; *detail* : Text) -| Paramètres | Type | Description | -| ---------- | ---- | ----------------------------------------------------------- | -| *imageURL* | Text | The URL of the image to add to the message. | -| *detail* | Text | Additional details about the image. | +| Paramètres | Type | Description | +| ---------- | ---- | ------------------------------------------------------ | +| *imageURL* | Text | L'URL de l'image à ajouter au message. | +| *detail* | Text | Détails supplémentaires sur l'image. | -Adds an image URL to the content of the message. +Ajoute une URL d'image au contenu du message. ## Exemple d'utilisation ```4d -// Create an instance of OpenAIMessage -var $message:=cs.AIKit.OpenAIMessage({role: "user"; content: "Hello!"}) +// Créer une instance d'OpenAIMessage +var $message:=cs.AIKit.OpenAIMessage({role : "user" ; content : "Hello !"}) -// Add an image URL with details -$message.addImageURL("http://example.com/image.jpg"; "high") +// Ajouter une image URL avec des détails +$message.addImageURL("http://example.com/image.jpg" ; "high") ``` \ No newline at end of file From 610bf14200557024a132e4f9d426bb127485f715 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Tue, 21 Oct 2025 07:46:16 +0200 Subject: [PATCH 049/137] New translations openaiparameters.md (French) --- .../aikit/Classes/OpenAIParameters.md | 34 +++++++++---------- 1 file changed, 17 insertions(+), 17 deletions(-) diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-20-R10/aikit/Classes/OpenAIParameters.md b/i18n/fr/docusaurus-plugin-content-docs/version-20-R10/aikit/Classes/OpenAIParameters.md index 1c7eba3b517b07..cee5dd07a2af68 100644 --- a/i18n/fr/docusaurus-plugin-content-docs/version-20-R10/aikit/Classes/OpenAIParameters.md +++ b/i18n/fr/docusaurus-plugin-content-docs/version-20-R10/aikit/Classes/OpenAIParameters.md @@ -5,39 +5,39 @@ title: OpenAIParameters # OpenAIParameters -The `OpenAIParameters` class is designed to handle execution and request parameters for interacting with the OpenAI API. +La classe `OpenAIParameters` est conçue pour gérer les paramètres d'exécution et de requête pour interagir avec l'API OpenAI. ## Propriétés ### Propriétés de la programmation asynchrone -| Propriété | Type | Description | -| -------------------------- | -------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------ | -| `formula` or `onTerminate` | Function | A function to be called asynchronously when finished. Ensure that the current process does not terminate. | -| `onResponse` | Function | A function to be called asynchronously when the request finishes successfully. Ensure that the current process does not terminate. | -| `onError` | Function | A function to be called asynchronously when the request finishes with errors. Ensure that the current process does not terminate. | -| `throw` | Boolean | If true, throws an error if one occurs. Only if no formula callback defined. | +| Propriété | Type | Description | +| -------------------------- | -------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | +| `formula` or `onTerminate` | Function | Une fonction à appeler de manière asynchrone lorsqu'elle est terminée. Assurez-vous que le process courant ne se termine pas. | +| `onResponse` | Function | Une fonction à appeler de manière asynchrone lorsque la requête se termine avec succès. Assurez-vous que le process courant ne se termine pas. | +| `onError` | Function | Une fonction à appeler de manière asynchrone lorsque la requête rencontre des erreurs. Assurez-vous que le process courant ne se termine pas. | +| `throw` | Boolean | Si true, faire un throw en cas d'erreur. Uniquement si aucune formule de callback n'est définie. | Voir [documentation sur le code asynchrone](../asynchronous-call.md) ### Propriétés du réseau -| Propriété | Type | Description | -| -------------- | --------- | -------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `timeout` | Real | Overrides the client-level default timeout for the request, in seconds. Default is 0. | -| `httpAgent` | HTTPAgent | Overrides the client-level default HTTP agent for the request. | -| `maxRetries` | Integer | The maximum number of retries for the request. (Only if code not asynchrone ie. no function provided) | -| `extraHeaders` | Object | Extra headers to send with the request. | +| Propriété | Type | Description | +| -------------- | --------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | +| `timeout` | Real | Remplace le délai d'attente par défaut au niveau du client pour la requête, en secondes. Par défaut, 0. | +| `httpAgent` | HTTPAgent | Remplace l'agent HTTP par défaut au niveau du client pour la requête. | +| `maxRetries` | Integer | Nombre maximal de tentatives pour la requêtes. (Seulement si le code n'est pas asynchrone, c'est-à-dire s'il n'y a pas de fonction fournie) | +| `extraHeaders` | Object | En-têtes supplémentaires à envoyer avec la requête. | ### Propriétés OpenAPI -| Propriété | Type | Description | -| --------- | ---- | ----------------------------------------------------------------------------------------------------------- | -| `user` | Text | A unique identifier representing the end-user, which helps OpenAI monitor and detect abuse. | +| Propriété | Type | Description | +| --------- | ---- | ------------------------------------------------------------------------------------------------------------------------------- | +| `user` | Text | Un identifiant unique représentant l'utilisateur final, ce qui aide OpenAI à surveiller et à détecter les abus. | ## Classes héritées -Several classes inherit from `OpenAIParameters` to extend its functionality for specific use cases. Below are some of the classes that extend `OpenAIParameters`: +Plusieurs classes héritent de `OpenAIParameters` pour étendre ses fonctionnalités à des cas d'utilisation spécifiques. Voici quelques-unes des classes qui étendent `OpenAIParameters` : - [OpenAIChatCompletionsParameters](OpenAIChatCompletionsParameters.md) - [OpenAIChatCompletionsMessagesParameters](OpenAIChatCompletionsMessagesParameters.md) From 2fd58e01079e831ef9d5281e369f1f1ff41de0f5 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Tue, 21 Oct 2025 07:46:21 +0200 Subject: [PATCH 050/137] New translations asynchronous-call.md (French) --- .../version-20-R10/aikit/asynchronous-call.md | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-20-R10/aikit/asynchronous-call.md b/i18n/fr/docusaurus-plugin-content-docs/version-20-R10/aikit/asynchronous-call.md index 621c8e39e15906..670aff8802bd8c 100644 --- a/i18n/fr/docusaurus-plugin-content-docs/version-20-R10/aikit/asynchronous-call.md +++ b/i18n/fr/docusaurus-plugin-content-docs/version-20-R10/aikit/asynchronous-call.md @@ -5,23 +5,23 @@ title: Appel asynchrone # Appel asynchrone -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 vous ne souhaitez pas attendre la réponse de l'OpenAPI lorsque vous envoyez une requête à son API, vous devez utiliser un code asynchrone. -You must provide a `4D.Formula` to receive the result. See [OpenAIParameters](Classes/OpenAIParameters.md) for a list of them. +Vous devez fournir une `4D.Formula` pour recevoir le résultat. Voir [OpenAIParameters](Classes/OpenAIParameters.md) pour une liste de ces paramètres. -The asynchronous method is based on [4D.HTTPRequest](https://developer.4d.com/docs/API/HTTPRequestClass), so the response will be received within the current process. +La méthode asynchrone est basée sur [4D.HTTPRequest](https://developer.4d.com/docs/API/HTTPRequestClass), ainsi la réponse sera reçue dans le process courant. -> ⚠️ If your process ends at the conclusion of the current method (e.g., using New process, or playing in the method editor), the callback formula might not be called asynchronously. In such cases, consider using `CALL WORKER` or `CALL FORM`. +> ⚠️ Si votre process se termine à la fin de la méthode courante (par exemple, si vous utilisez New process ou l'éditeur de méthode), la formule de callback peut ne pas être appelée de manière asynchrone. Dans ce cas, il est nécessaire d'utiliser `CALL WORKER` ou `CALL FORM`. ## Exemples d’utilisation -### liste de modèles +### Liste de modèles ```4d $client.models.list({formula: Formula(MyReceiveMethod($1))}) ``` -`$1` sera une instance de [OpenAIModelListResult] (Classes/OpenAIModelListResult.md), donc la méthode `MyReceiveMethod` pourrait être : +`$1` sera une instance de [OpenAIModelListResult](Classes/OpenAIModelListResult.md), donc la méthode `MyReceiveMethod` pourrait être : ```4d #DECLARE($result: cs.AIKit.OpenAIModelListResult) @@ -37,7 +37,7 @@ Else End if ``` -### complétions de chat +### Complétions de chat ```4d var $messages:=[{role: "system"; content: "You are a helpful assistant."}] From bf83a0992576bea9817c271e586f186549cb31ca Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Tue, 21 Oct 2025 07:46:22 +0200 Subject: [PATCH 051/137] New translations compatible-openai.md (French) --- .../version-20-R10/aikit/compatible-openai.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-20-R10/aikit/compatible-openai.md b/i18n/fr/docusaurus-plugin-content-docs/version-20-R10/aikit/compatible-openai.md index ba0522fda1b175..6f376ddde06727 100644 --- a/i18n/fr/docusaurus-plugin-content-docs/version-20-R10/aikit/compatible-openai.md +++ b/i18n/fr/docusaurus-plugin-content-docs/version-20-R10/aikit/compatible-openai.md @@ -7,15 +7,15 @@ title: Fournisseurs (Providers) De nombreux fournisseurs d'IA proposent une API de type OpenAI, vous pouvez donc utiliser ce projet pour vous y connecter. -To do so you just have to set the `baseURL` to the provider one and use their api key if needed. +Pour ce faire, il suffit de passer l'adresse du fournisseur dans `baseURL` et d'utiliser sa clé d'api si nécessaire. ```4d $client.baseURL:="https://api.mistral.ai/v1" ``` -Some of them +Quelques-uns : -## Distant +## A distance | Fournisseur | baseURL | | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------- | @@ -31,7 +31,7 @@ Some of them ## Local -| Fournisseur | Default baseURL | Doc | +| Fournisseur | baseURL par défaut | Doc | | ---------------------------------------------------- | --------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | | https://ollama.com/ | http://127.0.0.1:11434/v1 | https://ollama.com/blog/openai-compatibility | | https://lmstudio.ai/ | http://localhost:1234/v1 | https://lmstudio.ai/docs/api/endpoints/openai | From 93719bf3ae86849149274db3dc72e70af14ccf9b Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Tue, 21 Oct 2025 07:46:24 +0200 Subject: [PATCH 052/137] New translations overview.md (French) --- .../version-20-R10/aikit/overview.md | 26 +++++++++---------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-20-R10/aikit/overview.md b/i18n/fr/docusaurus-plugin-content-docs/version-20-R10/aikit/overview.md index 853ce7579b49a0..27f37b8f05b508 100644 --- a/i18n/fr/docusaurus-plugin-content-docs/version-20-R10/aikit/overview.md +++ b/i18n/fr/docusaurus-plugin-content-docs/version-20-R10/aikit/overview.md @@ -11,7 +11,7 @@ title: 4D-AIKit ## OpenAI -La classe [`OpenAI`](Classes/OpenAI.md) vous permet de faire des demandes à l'[API OpenAI](https://platform.openai.com/docs/api-reference/). +La classe [`OpenAI`](Classes/OpenAI.md) vous permet d'envoyer des requêtes à l'[API OpenAI](https://platform.openai.com/docs/api-reference/). ### Configuration @@ -21,7 +21,7 @@ Tout d'abord, initialisez le client OpenAI en utilisant votre clé API var $client:=cs.AIKit.OpenAI.new("your api key") ``` -For a [compatible provider](compatible-openai.md) API, you need to configure the server URL by setting the `baseURL` parameter. +Pour l'API d'un [founisseur compatible](compatible-openai.md), vous devez configurer l'URL du serveur en définissant le paramètre `baseURL`. ```4d var $client:=cs.AIKit.OpenAI.new({apiKey: "your api key"; baseURL: "https://your.server.ai"}) @@ -33,7 +33,7 @@ ou $client.baseURL:="https://your.server.ai" ``` -### Formuler des demandes +### Formuler des requêtes `OpenAI` fournit différents points de terminaison appelés ressources, chacun offrant diverses fonctions. @@ -41,9 +41,9 @@ $client.baseURL:="https://your.server.ai" var $result:=$client..() ``` -Le `$result` contient le `HTTPRequest`, un statut `success`, une collection de `errors` et plus encore. Voir [OpenAIResult](Classes/OpenAIResult.md) +Le résultat `$result` contient la requête `HTTPRequest`, un statut `success`, une collection de `errors` et plus encore. Voir [OpenAIResult](Classes/OpenAIResult.md) -See some examples below. +Voir quelques exemples ci-dessous. #### Chat @@ -60,9 +60,9 @@ var $result:=$client.chat.completions.create($messages; {model: "gpt-4o-mini"}) // résultat dans $result.choice ``` -##### Assistant de chat +##### Helper de discussion (chat) -Cet assistant vous permet de maintenir une liste de messages d'utilisateurs et de réponses d'assistants. +Cet assistant vous permet de maintenir une liste de messages d'utilisateurs et de réponses de l'assistant. ```4d var $helper:=$client.chat.create("You are a helpful assistant.") @@ -71,9 +71,9 @@ $result:=$helper.prompt("and could you decompose this number") // conversation dans $helper.messages ``` -##### Assistant de vision +##### Helper de vision -Cet assistant permet l'analyse des images à travers le chat. +Cet assistant permet l'analyse des images à travers la discussion. ```4d var $result:=$client.chat.vision.create($imageUrl).prompt("give me a description of the image") @@ -113,13 +113,13 @@ var $moderation:=$client.moderations.create("This text contains inappropriate la #### Code asynchrone -Si vous ne souhaitez pas attendre la réponse de l'OpenAPI lorsque vous envoyez une requête à son API, vous devez utiliser un code asynchrone. L'objet résultat sera reçu dans une fonction de rappel. +Si vous ne souhaitez pas attendre la réponse de l'OpenAPI lorsque vous envoyez une requête à son API, vous devez utiliser un code asynchrone. L'objet résultat sera reçu dans une fonction de callback. Voir [documentation détaillée pour les exemples](asynchronous-call.md) ## Droits d'auteur -- This library is not affiliated with, endorsed by, or officially connected to OpenAI in any way. -- "OpenAI" and any related marks are trademarks or registered trademarks of OpenAI, LLC. All rights related to OpenAI's services, APIs, and technologies remain the property of OpenAI. -- This project simply provides an interface to OpenAI’s services and does not claim any ownership over their technology, branding, or intellectual property. +- Cette bibliothèque n'est pas affiliée à OpenAI, ni approuvée par elle, ni officiellement liée à elle de quelque manière que ce soit. +- "OpenAI" et toutes les marques associées sont des marques commerciales ou des marques déposées d'OpenAI, LLC. Tous les droits liés aux services, API et technologies de l'OpenAI restent la propriété de OpenAI. +- Ce projet fournit simplement une interface aux services d'OpenAI et ne revendique aucune propriété sur leur technologie, leur marque ou leur propriété intellectuelle. From 2706a3d1fb76bb4b3a92903da4d6e6f2bc1347d1 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Tue, 21 Oct 2025 08:08:29 +0200 Subject: [PATCH 053/137] New translations sessionclass.md (French) --- .../version-21/API/SessionClass.md | 24 +++++++++---------- 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-21/API/SessionClass.md b/i18n/fr/docusaurus-plugin-content-docs/version-21/API/SessionClass.md index 4299055fd7d87c..bcb4a3378f582d 100644 --- a/i18n/fr/docusaurus-plugin-content-docs/version-21/API/SessionClass.md +++ b/i18n/fr/docusaurus-plugin-content-docs/version-21/API/SessionClass.md @@ -54,10 +54,10 @@ La disponibilité des propriétés et des fonctions de l'objet `Session` dépend
    Historique -| Release | Modifications | -| ------- | -------------------------- | -| 21 | Support of remote sessions | -| 18 R6 | Ajout | +| Release | Modifications | +| ------- | -------------------------------------- | +| 21 | Prise en charge des sessions distantes | +| 18 R6 | Ajout |
    @@ -75,13 +75,13 @@ La disponibilité des propriétés et des fonctions de l'objet `Session` dépend :::note -This function does nothing and always returns **True** with stored procedure sessions and standalone sessions. +Cette fonction ne fait rien et renvoie toujours **True** avec les sessions de procédures stockées et les sessions autonomes. ::: La fonction `.clearPrivileges()` supprime tous les privilèges associés à la session (à l'exception des privilèges promus) et renvoie **True** si l'exécution a réussi. -Hormis si vous êtes en mode ["forceLogin"](../REST/authUsers.md#force-login-mode), la session devient automatiquement une session Invité. En mode "forceLogin", `.clearPrivileges()` ne transforme pas la session en session Invité, elle efface seulement les privilèges de la session. +Hormis si vous êtes en mode ["forceLogin"](../REST/authUsers.md#force-login-mode), la session devient automatiquement une session Guest. En mode "forceLogin", `.clearPrivileges()` ne transforme pas la session en session Invité, elle efface seulement les privilèges de la session. :::note @@ -89,7 +89,7 @@ Cette fonction ne supprime pas les **privilèges promus** du process web, qu'ils ::: -Regarding remote client sessions, the function only impacts [code accessing the web server](../WebServer/preemptiveWeb.md#writing-thread-safe-web-server-code). +En ce qui concerne les sessions de clients distants, la fonction n'a d'impact que sur [le code accédant au serveur web](../WebServer/preemptiveWeb.md#writing-thread-safe-web-server-code). #### Exemple @@ -110,10 +110,10 @@ $isGuest:=Session.isGuest() //$isGuest est True
    Historique -| Release | Modifications | -| ------- | -------------------------- | -| 21 | Support of remote sessions | -| 20 R9 | Ajout | +| Release | Modifications | +| ------- | -------------------------------------- | +| 21 | Prise en charge des sessions distantes | +| 20 R9 | Ajout |
    @@ -388,7 +388,7 @@ Cette fonction renvoie True pour le *privilège* si elle est appelée depuis une ::: -Regarding remote client sessions, the function only impacts [code accessing the web server](../WebServer/preemptiveWeb.md#writing-thread-safe-web-server-code). +En ce qui concerne les sessions de clients distants, la fonction n'a d'impact que sur [le code accédant au serveur web](../WebServer/preemptiveWeb.md#writing-thread-safe-web-server-code). With stored procedure sessions and standalone sessions, this function always returns True, whatever the *privilege*. From ddcd8a970253fb4efa522213e93a40a2cc3e93f5 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Tue, 21 Oct 2025 08:09:11 +0200 Subject: [PATCH 054/137] New translations classes.md (French) --- .../version-21/Concepts/classes.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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 c9dd9a9243b577..e1452bbeb57077 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 @@ -333,7 +333,7 @@ Function getRectArea($width : Integer; $height : Integer) : Integer :::note -Il n'y a pas de mot-clé de fin pour le code d'une fonction class constructor. Le langage 4D détecte automatiquement la fin du code d'une fonction par le mot clé `Function` suivant ou la fin du fichier de classe. +Il n'y a pas de mot-clé de fin pour le code d'une fonction de constructeur de classe. Le langage 4D détecte automatiquement la fin du code d'une fonction par le mot clé `Function` suivant ou la fin du fichier de classe. ::: From 45db846cd3b24bc26f68d319ded8cb58e6ce3c6b Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Tue, 21 Oct 2025 08:09:30 +0200 Subject: [PATCH 055/137] New translations error-handling.md (French) --- .../version-21/Concepts/error-handling.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-21/Concepts/error-handling.md b/i18n/fr/docusaurus-plugin-content-docs/version-21/Concepts/error-handling.md index e04656ac811885..c068f22b8e9e84 100644 --- a/i18n/fr/docusaurus-plugin-content-docs/version-21/Concepts/error-handling.md +++ b/i18n/fr/docusaurus-plugin-content-docs/version-21/Concepts/error-handling.md @@ -21,11 +21,11 @@ Il est fortement recommandé d'installer une méthode globale de gestion des err ::: -## Predictable vs unpredictable errors +## Erreurs prévisibles ou imprévisibles -Many 4D class functions, such as [`entity.save()`](../API/EntityClass.md#save) or [`transporter.send()`](../API/SMTPTransporterClass.md#send), return a object containing *status* information. This object is used to store **predictable** errors in the runtime context, e.g. invalid password, locked entity, etc., that do not require to stop program execution. This category of errors, also named **silent errors** errors, can be handled by regular code. When such errors occur in an error handling context, i.e. a [`Try`](#tryexpression), [`Try/Catch`](#trycatchend-try) or an [error-handling method](#installing-an-error-handling-method), they do not interrupt the execution and do not trigger the error handling (e.g. the `Catch` part of the [`Try/Catch`](#trycatchend-try) is not executed). They are not listed in the [`Last errors`](../commands/last-errors.md) collection. The error is only returned in the `status` and `statusText` properties of the returned object. It can be processed according to your business logic. +De nombreuses fonctions de classe de 4D, telles que [`entity.save()`](../API/EntityClass.md#save) ou [`transporter.send()`](../API/SMTPTransporterClass.md#send), renvoient un objet contenant des informations de *status*. Cet objet est utilisé pour gérer les erreurs **prévisibles** dans le contexte d'exécution, par exemple un mot de passe invalide, une entité verrouillée, etc. qui ne nécessitent pas l'arrêt de l'exécution du programme. Cette catégorie d'erreurs, également appelée **erreurs silencieuses**, peut être gérée par le code normal. Lorsque de telles erreurs se produisent dans un contexte d'interception des erreurs, c'est-à-dire un [`Try`](#tryexpression), un [`Try/Catch`](#trycatchend-try) ou une [méthode de gestion des erreurs](#installing-an-error-handling-method), elles n'interrompent pas l'exécution et ne déclenchent pas le traitement de l'erreur (par exemple, la partie `Catch` du [`Try/Catch`](#trycatchend-try) n'est pas exécutée). Elles ne sont pas listées dans la collection [`Last errors`](../commands/last-errors.md). L'erreur est uniquement renvoyée dans les propriétés `status` et `statusText` de l'objet retourné. Elle peut être traitée selon votre logique d'application. -The other category of errors are **unpredictable** errors, also named **serious errors**. They include disk write error, network failure, or in general any unexpected interruption. This category of errors generates exceptions defined by [a *code*, a *message* and a *signature*](#error-codes). They interrupt the execution and trigger the error processing of the [`Try`](#tryexpression), [`Try/Catch`](#trycatchend-try) or [error-handling method](#installing-an-error-handling-method) features. They are listed in the [`Last errors`](../commands/last-errors.md) collection. Note that serious errors can also return values in the `status` and `statusText` properties, e.g. `dk status serious error` - "Other error". +L'autre catégorie d'erreurs est celle des erreurs **imprévisibles**, également appelées **erreurs graves**. Il peut s'agir d'une erreur d'écriture sur le disque, d'une panne de réseau ou, plus généralement, de toute interruption inattendue. Cette catégorie d'erreurs génère des exceptions définies par [un *code*, un *message* et une *signature*](#error-codes). Elles interrompent l'exécution et déclenchent le traitement de l'erreur par les fonctions [`Try`](#tryexpression), [`Try/Catch`](#trycatchend-try) ou la [méthode de gestion des erreurs](#installing-an-error-handling-method). Elles sont listées dans la collection [`Last errors`](../commands/last-errors.md). Notez que les erreurs graves peuvent également renvoyer des valeurs dans les propriétés `status` et `statusText`, par exemple `dk status serious error` - "Other error". ## Installer une méthode de gestion des erreurs From af7bc5dc2e13f1858c59d452d2415640f14cc0b3 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Tue, 21 Oct 2025 08:11:09 +0200 Subject: [PATCH 056/137] New translations develop-components.md (French) --- .../version-21/Extensions/develop-components.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-21/Extensions/develop-components.md b/i18n/fr/docusaurus-plugin-content-docs/version-21/Extensions/develop-components.md index 18d3fa67a68ebd..af93886e74368b 100644 --- a/i18n/fr/docusaurus-plugin-content-docs/version-21/Extensions/develop-components.md +++ b/i18n/fr/docusaurus-plugin-content-docs/version-21/Extensions/develop-components.md @@ -199,7 +199,7 @@ Un *namespace* garantit qu'aucun conflit n'émerge lorsqu'un projet hôte utilis ::: -Lorsque vous entrez une valeur, vous déclarez que les classes de composants seront disponibles dans la [user class store (**cs**)](../Concepts/classes.md#cs) du projet hôte ainsi que ses composants chargés, à travers les `cs.` espace de noms. Par exemple, si vous entrez "eGeometry" comme namespace, en supposant que vous avez créé une classe `Rectangle` contenant une fonction `getArea()`, une fois votre projet installé comme composant, le développeur du projet hôte peut écrire : +Lorsque vous entrez une valeur, vous déclarez que les classes de composants seront disponibles dans la [class store utilisateurs (**cs**)](../Concepts/classes.md#cs) du projet hôte ainsi que ses composants chargés, à travers les espaces de noms `cs.`. Par exemple, si vous entrez "eGeometry" comme namespace, en supposant que vous avez créé une classe `Rectangle` contenant une fonction `getArea()`, une fois votre projet installé comme composant, le développeur du projet hôte peut écrire : ```4d //dans le projet hôte ou l'une de ses composantes @@ -310,7 +310,7 @@ Dans ce cas, il est nécessaire d’utiliser la comparaison de pointeurs : An [error-handling method](Concepts/error-handling.md) installed by the [`ON ERR CALL`](../commands-legacy/on-err-call.md) command only applies to the running application. En cas d'erreur générée par un composant, la méthode d'appel sur erreur `ON ERR CALL` du projet hôte n'est pas appelée, et inversement. -However, you can install a [component error handler in the host application](../Concepts/error-handling.md#scope-and-components) to manage uncaught errors from compponents. +Cependant, vous pouvez installer un [gestionnaire d'erreurs de composants dans l'application hôte](../Concepts/error-handling.md#scope-and-components) pour gérer les erreurs non capturées des composants. ## Accès aux tables du projet hôte @@ -340,7 +340,7 @@ SAVE RECORD($tablepointer- ## Utilisation de tables et de champs -Un composant ne peut pas utiliser les tables et les champs définis dans la structure 4D du projet utilisé comme matrice. En revanche, il peut créer et utiliser des bases externes, et donc utiliser des tables et des champs en fonction de ses besoins. Les bases externes sont créées et gérées via le langage SQL. En revanche, il peut créer et utiliser des bases externes, et donc utiliser des tables et des champs en fonction de ses besoins. Utiliser une base externe signifie désigner temporairement cette base comme base courante, c’est-à-dire comme base cible des requêtes SQL exécutées par 4D. Les bases externes sont créées à l'aide de la commande SQL `CREATE DATABASE`. +Un composant ne peut pas utiliser les tables et les champs définis dans la structure 4D du projet utilisé comme matrice. En revanche, il peut créer et utiliser des bases externes, et donc utiliser des tables et des champs en fonction de ses besoins. Les bases externes sont créées et gérées via le langage SQL. Une base de données externe est un projet 4D indépendant du projet 4D principal, mais avec lequel vous pouvez travailler à partir du projet 4D principal. Utiliser une base externe signifie désigner temporairement cette base comme base courante, c’est-à-dire comme base cible des requêtes SQL exécutées par 4D. Les bases externes sont créées à l'aide de la commande SQL `CREATE DATABASE`. #### Exemple @@ -457,7 +457,7 @@ Ce fichier n'est pas obligatoire mais il est nécessaire pour construire des com Les clés prises en charge dans les fichiers `Info.plist` des composants sont principalement des [clés bundle d'Apple](https://developer.apple.com/documentation/bundleresources/information-property-list) qui sont ignorées sous Windows. Cependant, elles sont utilisés par le [Gestionnaire de dépendances](../Project/components.md#loading-components) sur toutes les plates-formes. -The following keys can be defined: +Les clés suivantes peuvent être définies : | key | Description | | ---------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | From debef6f723efffa7fb143706505264aa46dfac95 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Tue, 21 Oct 2025 08:11:16 +0200 Subject: [PATCH 057/137] New translations formeditor.md (French) --- .../version-21/FormEditor/formEditor.md | 31 ++++++++++--------- 1 file changed, 16 insertions(+), 15 deletions(-) diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-21/FormEditor/formEditor.md b/i18n/fr/docusaurus-plugin-content-docs/version-21/FormEditor/formEditor.md index 2497cd8da5994e..b02e53afe34d53 100644 --- a/i18n/fr/docusaurus-plugin-content-docs/version-21/FormEditor/formEditor.md +++ b/i18n/fr/docusaurus-plugin-content-docs/version-21/FormEditor/formEditor.md @@ -56,12 +56,12 @@ La barre d’outils comporte les éléments suivants : | Icône | Nom | Description | | ------------------------------------------------ | --------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | ![](../assets/en/FormEditor/execute.png) | Exécuter le formulaire | Permet de tester l’exécution du formulaire. Lorsque vous cliquez sur ce bouton, 4D ouvre une nouvelle fenêtre et affiche le formulaire dans son contexte (liste d’enregistrements pour un formulaire liste et enregistrement courant en page pour un formulaire détaillé). Le formulaire est exécuté dans le process principal. | -| ![](../assets/en/FormEditor/selection.png) | [Outil de sélection](#selecting-objects) | Allows selecting, moving and resizing form objects.

    **Note**: When an object of the Text or Group Box type is selected, pressing the **Enter** key lets you switch to editing mode.

    | +| ![](../assets/en/FormEditor/selection.png) | [Outil de sélection](#selecting-objects) | Allows selecting, moving and resizing form objects.
    **Note** : Lorsqu'un objet de type Texte ou Zone de Groupe est sélectionné, appuyez sur la touche **Entrée** pour passer en mode édition. | | ![](../assets/en/FormEditor/zOrder.png) | [Ordre de saisie](#data-entry-order) | Passe en mode “Ordre de saisie”, dans lequel il est possible de visualiser et de modifier l’ordre de saisie courant du formulaire. A noter que vous pouvez également visualiser l’ordre de saisie courant tout en travaillant dans le formulaire. | | ![](../assets/en/FormEditor/moving.png) | [Déplacement](#déplacement-objets) | Passe en mode “Déplacement”, dans lequel il est possible d’atteindre rapidement n’importe quelle partie du formulaire en le faisant directement glisser dans la fenêtre. Le curseur prend la forme d’une main. Ce mode de navigation est particulièrement utile en cas de zoom dans le formulaire. | | ![](../assets/en/FormEditor/zoom.png) | [Zoom](#zoom) | Permet de modifier l’échelle d’affichage du formulaire (100% par défaut). Vous pouvez passer en mode “Zoom” en cliquant sur le bouton loupe ou en cliquant directement sur la barre correspondant à l’échelle désirée. Cette fonction est détaillée dans le paragraphe précédent. | -| ![](../assets/en/FormEditor/alignment.png) | [Alignement](#aligning-objects) | Ce bouton est associé à un menu permettant d’aligner les objets dans le formulaire. It is enabled (or not) depending on the objects selected.
    Disabled if one selected object position is locked by a CSS property | -| ![](../assets/en/FormEditor/distribution.png) | [Distribution](#distributing-objects) | Ce bouton est associé à un menu permettant de répartir les objets dans le formulaire. It is enabled (or not) depending on the objects selected.
    Disabled if one selected object position is locked by a CSS property | +| ![](../assets/en/FormEditor/alignment.png) | [Alignement](#aligning-objects) | Ce bouton est associé à un menu permettant d’aligner les objets dans le formulaire. Il est activé (ou non) en fonction des objets sélectionnés.
    Désactivé si la position d'un objet sélectionné est verrouillée par une propriété CSS | +| ![](../assets/en/FormEditor/distribution.png) | [Distribution](#distributing-objects) | Ce bouton est associé à un menu permettant de répartir les objets dans le formulaire. Il est activé (ou non) en fonction des objets sélectionnés.
    Désactivé si la position d'un objet sélectionné est verrouillée par une propriété CSS | | ![](../assets/en/FormEditor/level.png) | [Plan](#gérer-les-plans-des-objets) | Ce bouton est associé à un menu permettant de répartir les objets dans le formulaire. Il est activé (ou non) en fonction des objets sélectionnés. | | ![](../assets/en/FormEditor/group.png) | [Grouper/Dégrouper](#grouping-objects) | Ce bouton est associé à un menu permettant de grouper et dégrouper la sélection d’objets du formulaire. Il est activé (ou non) en fonction des objets sélectionnés. | | ![](../assets/en/FormEditor/displyAndPage.png) | [Affichage et gestion des pages](forms.html#form-pages) | Cette zone permet de passer d’une page du formulaire à une autre et d’ajouter des pages. Pour naviguer parmi les pages du formulaire, cliquez sur les boutons fléchés ou cliquez sur la zone centrale et choisissez la page à afficher dans le menu qui apparaît. Si vous cliquez sur le bouton fléché de droite alors que vous êtes sur la dernière page du formulaire, 4D vous permet d’ajouter une page. | @@ -146,11 +146,11 @@ Avant de pouvoir réaliser une opération sur un objet (comme le changement de l Pour sélectionner un objet à l’aide de la barre d’outils : -1. Click the Arrow tool in the toolbar.

    ![](../assets/en/FormEditor/selection.png)

    +1. Click the Arrow tool in the toolbar.
    ![](../assets/en/FormEditor/selection.png) -

    Lorsque vous le faites glisser au-dessus du formulaire, le pointeur prend la forme du pointeur standard

    . +
    When you move the pointer into the form area, it becomes a standard arrow-shaped pointer. -2. Cliquez sur l’objet que vous souhaitez sélectionner. Resizing handles identify the selected object.

    ![](../assets/en/FormEditor/selectResize.png)

    +2. Cliquez sur l’objet que vous souhaitez sélectionner. Resizing handles identify the selected object.
    ![](../assets/en/FormEditor/selectResize.png) Pour sélectionner un objet à l’aide de la Liste des propriétés : @@ -241,13 +241,13 @@ Pour grouper les objets : 1. Sélectionnez les objets que vous souhaitez grouper. 2. Sélectionnez **Grouper** dans le menu Objets. OU - Cliquez sur le bouton Grouper dans la barre d'outils de l'éditeur de formulaire:

    ![](../assets/en/FormEditor/group.png)

    + Cliquez sur le bouton Grouper dans la barre d'outils de l'éditeur de formulaire:
    ![](../assets/en/FormEditor/group.png) 4D indique la limite des objets regroupés nouvellement avec des poignées. Les objets du groupe ne sont plus marqués séparément par des poignées. Désormais, lorsque vous modifiez le groupe d’objets, vous modifiez tous les objets qui le composent. Pour dégrouper un groupe d’objets : 1. Sélectionnez le groupe que vous souhaitez dégrouper. -2. Choose **Ungroup** from the **Object** menu.

    OR

    Click the **Ungroup** button (variant of the **Group** button) in the toolbar of the Form editor.

    If **Ungroup** is dimmed, this means that the selected object is already separated into its simplest form.

    4D rematérialise les bordures des objets qui constituaient le groupe avec des poignées. +2. Choose **Ungroup** from the **Object** menu.
    OR
    Click the **Ungroup** button (variant of the **Group** button) in the toolbar of the Form editor.
    Si la commande **Dégrouper** est désactivée, cela veut dire que l’objet sélectionné est déjà sous sa forme la plus simple. 4D rematérialise les bordures des objets qui constituaient le groupe avec des poignées. ### Aligner des objets @@ -275,9 +275,9 @@ La boîte de dialogue d’alignement vous permet d’appliquer tout type d’ali Pour afficher cette boîte de dialogue, vous devez sélectionner les objets que vous souhaitez aligner puis choisir la commande **Alignement...** dans le sous-menu **Aligner** du menu **Objets** ou du menu contextuel de l’éditeur. -- In the “Left/Right Alignment” and/or “Top/Bottom Alignment” areas, click the icon that corresponds to the alignment you want to perform.

    The example area displays the results of your selection.

    +- In the “Left/Right Alignment” and/or “Top/Bottom Alignment” areas, click the icon that corresponds to the alignment you want to perform.
    La zone d’exemple illustre le principe de l’opération sélectionnée. -- Pour effectuer un alignement standard des objets sélectionnés, cliquez sur le bouton **Prévisualisation** ou **Appliquer**. Dans ce cas, 4D utilisera l’objet le plus avancé dans la direction de l’alignement comme “ancre” sur laquelle tous les autres objets vont être alignés. Par exemple, si vous alignez un groupe d’objets à droite, les objets seront alignés sur le côté droit de l’objet situé le plus à droite du groupe. OU:

    Pour aligner les objets sur un objet spécifique, sélectionnez l'option **Aligner sur** et sélectionnez l'objet sur lequel vous voulez que les autres objets soient alignés dans la liste d'objets. Dans ce cas, la position de l’objet de référence ne variera pas.

    +- Pour effectuer un alignement standard des objets sélectionnés, cliquez sur le bouton **Prévisualisation** ou **Appliquer**. Dans ce cas, 4D utilisera l’objet le plus avancé dans la direction de l’alignement comme “ancre” sur laquelle tous les autres objets vont être alignés. Par exemple, si vous alignez un groupe d’objets à droite, les objets seront alignés sur le côté droit de l’objet situé le plus à droite du groupe. OU:
    Pour aligner les objets sur un objet spécifique, sélectionnez l'option **Aligner sur** et sélectionnez l'objet sur lequel vous voulez que les autres objets soient alignés dans la liste d'objets. Dans ce cas, la position de l’objet de référence ne variera pas. Vous pouvez prévisualiser le résultat réel de vos paramétrages en cliquant sur le bouton **Prévisualisation**. Les objets sont ensuite alignés dans l'éditeur de formulaires, mais comme la boîte de dialogue ne disparaît pas, vous pouvez toujours annuler ou appliquer l'alignement. @@ -314,7 +314,8 @@ Pour répartir directement une sélection d’objets (verticalement ou horizonta 1. Sélectionnez les objets (au moins trois) que vous souhaitez répartir. -2. In the toolbar, click on the distribution tool that corresponds to the distribution you want to apply.

    ![](../assets/en/FormEditor/distributionTool.png)

    OR

    Select a distribution menu command from the **Align** submenu in the **Object** menu or from the context menu of the editor.

    4D distribue les objets en conséquence. Les objets sont répartis en fonction de la distance entre leurs centres et la plus grande distance entre deux objets consécutifs est utilisée comme référence. +2. In the toolbar, click on the distribution tool that corresponds to the distribution you want to apply.
    ![](../assets/en/FormEditor/distributionTool.png)
    OR
    Select a distribution menu command from the **Align** submenu in the **Object** menu or from the context menu of the editor. + 4D distribue les objets en conséquence. Les objets sont répartis en fonction de la distance entre leurs centres et la plus grande distance entre deux objets consécutifs est utilisée comme référence. Pour répartir des objets à l’aide de la boîte de dialogue d'alignement et répartition : @@ -322,9 +323,9 @@ Pour répartir des objets à l’aide de la boîte de dialogue d'alignement et r 2. Choisissez la commande **Alignement...** dans le sous-menu **Aligner** du menu **Objets** ou du menu contextuel de l’éditeur. La boîte de dialogue suivante apparaît :![](../assets/en/FormEditor/alignmentAssistant.png) -3. Dans les zones Alignement gauche/droite et/ou haut/bas, cliquez sur l'icône de distribution standard : ![](../assets/en/FormEditor/horizontalDistribution.png)

    (icône standard de distribution horizontale)

    La zone d'exemple affiche les résultats de votre sélection. +3. Dans les zones Alignement gauche/droite et/ou haut/bas, cliquez sur l'icône de distribution standard : ![](../assets/en/FormEditor/horizontalDistribution.png)
    (icône standard de distribution horizontale)
    La zone d'exemple affiche les résultats de votre sélection. -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). Cette option agit comme un interrupteur. Si la case à cocher Répartir est sélectionnée, les icônes situées en dessous effectuent une fonction différente:

    +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). Cette option agit comme un interrupteur. Si la case à cocher Répartir est sélectionnée, les icônes situées en dessous effectuent une fonction différente:
    - Horizontalement, les icônes correspondent aux répartitions suivantes : équidistance des côtés gauches, des centres (hor.) et des côtés droits des objets sélectionnés. - Verticalement, les icônes correspondent aux répartitions suivantes : équidistance des bords supérieurs, des centres (vert.) et des bords inférieurs des objets sélectionnés. @@ -379,11 +380,11 @@ Ce paragraphe décrit la visualisation et la modification de l’ordre de saisie Pour visualiser ou modifier l’ordre de saisie : -1. Sélectionnez **Ordre de saisie** dans le menu **Formulaire** ou cliquez sur le bouton dans la barre d’outils de la fenêtre :

    ![](../assets/en/FormEditor/zOrder.png)

    +1. Sélectionnez **Ordre de saisie** dans le menu **Formulaire** ou cliquez sur le bouton dans la barre d’outils de la fenêtre :
    ![](../assets/en/FormEditor/zOrder.png)
    Le pointeur prend la forme d’un pointeur d’ordre, et 4D dessine une ligne qui permet de visualiser la séquence de l’ordre de saisie courant. Visualiser et modifier l’ordre de saisie sont les seules opérations que vous pouvez réaliser dans ce mode. -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.

    ![](../assets/en/FormEditor/entryOrder3.png)

    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.
    ![](../assets/en/FormEditor/entryOrder3.png)
    4D will adjust the entry order accordingly. 3. Répétez l’étape 2 autant de fois que nécessaire pour obtenir le nouvel ordre de saisie. From ab3d88804f5a74e8a012a1888500149704cc20af Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Tue, 21 Oct 2025 08:11:18 +0200 Subject: [PATCH 058/137] New translations forms.md (French) --- .../version-21/FormEditor/forms.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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 e092e3968aa951..b4c8d0fc186071 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 @@ -102,7 +102,7 @@ Sous Windows, 4D prend en charge le rendu de formulaire **Fluent UI**, l'interfa Le rendu Fluent UI offre des contrôles modernes et agréables, la prise en charge des thèmes système dark/light, un rendu plus fluide optimisé pour les écrans haute résolution et une expérience utilisateur cohérente alignée sur les applications Microsoft récentes. -| Light theme | Dark theme | +| Thème clair | Thème sombre | | --------------------------------------- | -------------------------------------------- | | ![](../assets/en/FormEditor/fluent.png) | ![](../assets/en/FormEditor/fluent-dark.png) | From 382ef5a51cea37668866a7197ee3eb6661f32a00 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Tue, 21 Oct 2025 08:11:22 +0200 Subject: [PATCH 059/137] New translations pictures.md (French) --- .../version-21/FormEditor/pictures.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-21/FormEditor/pictures.md b/i18n/fr/docusaurus-plugin-content-docs/version-21/FormEditor/pictures.md index ea0e62531b19ed..cef951e302f09c 100644 --- a/i18n/fr/docusaurus-plugin-content-docs/version-21/FormEditor/pictures.md +++ b/i18n/fr/docusaurus-plugin-content-docs/version-21/FormEditor/pictures.md @@ -57,10 +57,10 @@ Les images haute résolution avec la convention @nx peuvent être utilisées dan Si 4D donne automatiquement la priorité à la résolution la plus élevée, il existe cependant des différences de comportement en fonction de la résolution de l'écran et de l'image *(\*)* et du format de l'image : -| Opération | Comportement | -| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| Déposer ou Coller | If the picture has:
    • **72dpi or 96dpi** - The picture is "[Center](FormObjects/properties_Picture.md#center--truncated-non-centered)" formatted and the object containing the picture has the same number of pixels.
    • **Other dpi** - The picture is "[Scaled to fit](FormObjects/properties_Picture.md#scaled-to-fit)" formatted and the object containing the picture is equal to (picture's number of pixels \* screen dpi) / (picture's dpi)
    • **No dpi** - The picture is "[Scaled to fit](FormObjects/properties_Picture.md#scaled-to-fit)" formatted.
    | -| [Taille automatique](https://doc.4d.com/4Dv20/4D/20.2/Setting-object-display-properties.300-6750143.en.html#148057) (menu contextuel de l'éditeur de formulaires) | If the picture's display format is:
    • **[Scaled](FormObjects/properties_Picture.md#scaled-to-fit)** - The object containing the picture is resized according to (picture's number of pixels \* screen dpi) / (picture's dpi)
    • **Not scaled** - The object containing the picture has the same number of pixels as the picture.
    | +| Opération | Comportement | +| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| Déposer ou Coller | Si l'image a :
    • **72dpi ou 96dpi** - L'image est formatée en "[Center](FormObjects/properties_Picture.md#center--truncated-non-centered)" et l'objet contenant l'image a le même nombre de pixels.
    • **Autre dpi** - L'image est formatée en "[Scaled to fit](FormObjects/properties_Picture.md#scaled-to-fit)" et l'objet contenant l'image est égal au (nombre de pixels de l'image \* dpi) / (dpi) de l'image
    • **Pas de dpi** - L'image est formatée en "[Scaled to fit](FormObjects/properties_Picture.md#scaled-to-fit)".
    | +| [Taille automatique](https://doc.4d.com/4Dv20/4D/20.2/Setting-object-display-properties.300-6750143.en.html#148057) (menu contextuel de l'éditeur de formulaires) | Si le format d'affichage de l'image est :
    • **[Scaled](FormObjects/properties_Picture.md#scaled-to-fit)** - L'objet contenant l'image est redimensionné en fonction du (nombre de pixels de l'image \* dpi écran) / (dpi image
    • ) **Not scaled** - L'objet contenant l'image a le même nombre de pixels que l'image.
    | *(\*) Généralement, macOS = 72 dpi, Windows = 96 dpi* From 1a9dcac58e946268b9526c8faf7deae5d9ac4b26 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Tue, 21 Oct 2025 08:11:28 +0200 Subject: [PATCH 060/137] New translations properties_markers.md (French) --- .../version-21/FormEditor/properties_Markers.md | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-21/FormEditor/properties_Markers.md b/i18n/fr/docusaurus-plugin-content-docs/version-21/FormEditor/properties_Markers.md index 59ce0d98af04cc..7d0eb15a2dd553 100644 --- a/i18n/fr/docusaurus-plugin-content-docs/version-21/FormEditor/properties_Markers.md +++ b/i18n/fr/docusaurus-plugin-content-docs/version-21/FormEditor/properties_Markers.md @@ -21,9 +21,9 @@ Vous agrandissez ou réduisez la zone de rupture en faisant glisser le taquet ve #### Grammaire JSON -| Nom | Type de données | Valeurs possibles | -| ----------- | ----------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------- | -| markerBreak | integer | integer collection | Break marker position or collection of break marker positions in pixels.
    Valeur minimale : 0 | +| Nom | Type de données | Valeurs possibles | +| ----------- | ----------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------- | +| markerBreak | integer | integer collection | Position du taquet de rupture ou collection des positions de taquets de rupture en pixels.
    Valeur minimale : 0 | --- @@ -77,9 +77,9 @@ Zone de rupture Un en-tête de niveau 1 est imprimé juste avant que les enregis #### Grammaire JSON -| Nom | Type de données | Valeurs possibles | -| ------------ | ----------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------- | -| markerHeader | integer | integer collection | Header marker position or collection of header marker positions in pixels.
    Valeur minimale : 0 | +| Nom | Type de données | Valeurs possibles | +| ------------ | ----------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------ | +| markerHeader | integer | integer collection | Position du taquet d'en-tête ou collection des positions de taquets d'en-tête en pixels.
    Valeur minimale : 0 | ## Zones supplémentaires From e5e75c0e0cdb9d9f0ae59e2f9cbb08a335920b63 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Tue, 21 Oct 2025 08:24:45 +0200 Subject: [PATCH 061/137] New translations installation.md (French) --- .../version-21/GettingStarted/Installation.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-21/GettingStarted/Installation.md b/i18n/fr/docusaurus-plugin-content-docs/version-21/GettingStarted/Installation.md index 5f6e601f300fa6..d246dceb901e57 100644 --- a/i18n/fr/docusaurus-plugin-content-docs/version-21/GettingStarted/Installation.md +++ b/i18n/fr/docusaurus-plugin-content-docs/version-21/GettingStarted/Installation.md @@ -7,7 +7,7 @@ Bienvenue dans 4D ! Cette page regroupe toutes les informations nécessaires sur ## Configuration requise -La page [Téléchargements](https://us.4d.com/product-download) dut site de 4D fournit des informations sur les pré-requis macOS / Windows nécessaires à la gamme 4D. +La page [Téléchargements](https://us.4d.com/product-download) du site de 4D fournit des informations sur les pré-requis macOS / Windows nécessaires à la gamme 4D. Des détails techniques supplémentaires sont disponibles sur la [page Ressources](https://us.4d.com/resources/feature-release) du site web de 4D. @@ -32,8 +32,8 @@ Apparaît ensuite l'assistant de bienvenue : - Si vous souhaitez découvrir et explorer 4D, cliquez sur le lien **essai gratuit**. Il vous sera demandé de vous connecter ou de créer un compte 4D. - Si vous possédez déjà un compte 4D, cliquez sur le lien **Se connecter** sur le côté supérieur droit de l'assistant d'installation et saisissez les informations relatives à votre compte. - - Any already activated 4D products are automatically updated (or additional expansion packs loaded) on your machine. - - If no product is activated on the machine but there is a development license associated with the 4D account, a dialog box appears, prompting you to install it directly. + - Tous les produits 4D déjà activés sont automatiquement mis à jour (ou des packs d'extension supplémentaires sont chargés) sur votre machine. + - Si aucun produit n'est activé sur la machine mais qu'une licence de développement est associée au compte 4D, une boîte de dialogue apparaît, vous proposant de l'installer directement. Élargissez la zone **Ouvrir ou créer un projet d'application** et sélectionnez l'action que vous souhaitez exécuter : From f77f238036398b728c109f0aec00a95e2f27c65f Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Tue, 21 Oct 2025 08:25:09 +0200 Subject: [PATCH 062/137] New translations entities.md (French) --- .../version-21/ORDA/entities.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-21/ORDA/entities.md b/i18n/fr/docusaurus-plugin-content-docs/version-21/ORDA/entities.md index 307430b46754dd..304b4e4426c4d5 100644 --- a/i18n/fr/docusaurus-plugin-content-docs/version-21/ORDA/entities.md +++ b/i18n/fr/docusaurus-plugin-content-docs/version-21/ORDA/entities.md @@ -564,11 +564,11 @@ Ce mécanisme automatique est basé sur le concept de "verrouillage optimiste" q Le diagramme suivant illustre le verrouillage optimiste : -1. Two processes load the same entity.

    ![](../assets/en/ORDA/optimisticLock1.png) +1. Deux process chargent la même entité.

    ![](../assets/en/ORDA/optimisticLock1.png) -2. Le premier process modifie l'entité et valide le changement. La méthode `entity.save()` est appelée. Le moteur 4D compare automatiquement la valeur du marqueur interne de l'entité modifiée avec celle de l'entité stockée dans les données. Since they match, the entity is saved and its stamp value is incremented.

    ![](../assets/en/ORDA/optimisticLock2.png) +2. Le premier process modifie l'entité et valide le changement. La méthode `entity.save()` est appelée. Le moteur 4D compare automatiquement la valeur du marqueur interne de l'entité modifiée avec celle de l'entité stockée dans les données. Puisqu'elles correspondent, l'entité est enregistrée et la valeur de son marqueur est incrémentée.

    ![](../assets/en/ORDA/optimisticLock2.png) -3. Le deuxième process modifie également l'entité chargée et valide ses modifications. La méthode `entity.save()` est appelée. 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.

    ![](../assets/en/ORDA/optimisticLock3.png) +3. Le deuxième process modifie également l'entité chargée et valide ses modifications. La méthode `entity.save()` est appelée. Puisque la valeur du marqueur de l'entité modifiée ne correspond pas à celle de l'entité stockée dans les données, la sauvegarde n'est pas effectuée et une erreur est retournée.

    ![](../assets/en/ORDA/optimisticLock3.png) Cela peut également être illustré par le code suivant : From c21f5ca89f41e961d568d3d29355e674332f3b20 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Tue, 21 Oct 2025 08:25:14 +0200 Subject: [PATCH 063/137] New translations orda-events.md (French) --- .../version-21/ORDA/orda-events.md | 42 +++++++++---------- 1 file changed, 21 insertions(+), 21 deletions(-) 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 0a86a7d9146613..ce305436ea120e 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 @@ -1,6 +1,6 @@ --- id: orda-events -title: Entity Events +title: Évènements d'entité ---
    Historique @@ -12,7 +12,7 @@ title: Entity Events
    -Entity events are functions that are automatically invoked by ORDA each time entities and entity attributes are manipulated (added, deleted, or modified). Vous pouvez écrire des événements très simples, puis les rendre plus sophistiqués. +Les événements d'entité sont des fonctions qui sont automatiquement invoquées par ORDA chaque fois que des entités et des attributs d'entité sont touchés (ajoutés, supprimés ou modifiés). Vous pouvez écrire des événements très simples, puis les rendre plus sophistiqués. Vous ne pouvez pas déclencher directement l'exécution d'une fonction d'événement. Les événements sont appelés automatiquement par ORDA en fonction des actions de l'utilisateur ou des opérations effectuées par le code sur les entités et leurs attributs. @@ -24,7 +24,7 @@ Vous ne pouvez pas déclencher directement l'exécution d'une fonction d'événe :::info Note de compatibilité -ORDA entity events in the datastore are equivalent to triggers in the 4D database. 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. ::: @@ -102,13 +102,13 @@ Lorsqu'une erreur survient dans un événement, les autres événements sont sto ### Propriétés de l'objet error -| Propriété | Type | Description | Fixé par le développeur | -| ------------------ | ------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------- | -| errCode | Integer | Identique à la commande [`Last errors`](../commands/last-errors.md) | Oui | -| message | Text | Identique à la commande [`Last errors`](../commands/last-errors.md) | Oui | -| extraDescription | Object | Informations libres à définir | Oui | -| seriousError | Boolean | Utilisé uniquement avec les événements de validation (voir ci-dessous).
  • `True` : crée une [erreur critique (imprévisible)](../Concepts/error-handling.md#predictable-vs-unpredictable-errors) et déclenche une exception. Adds the `dk status serious validation error` status
  • `False`: creates only a [silent (predictable) error](../Concepts/error-handling.md#predictable-vs-unpredictable-errors). Ajoute le statut `dk status validation failed`.
  • | Oui (par défaut : False) | -| componentSignature | Text | Toujours "DBEV" | Non | +| Propriété | Type | Description | Fixé par le développeur | +| ------------------ | ------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------- | +| errCode | Integer | Identique à la commande [`Last errors`](../commands/last-errors.md) | Oui | +| message | Text | Identique à la commande [`Last errors`](../commands/last-errors.md) | Oui | +| extraDescription | Object | Informations libres à définir | Oui | +| seriousError | Boolean | Utilisé uniquement avec les événements de validation (voir ci-dessous).
  • `True` : crée une [erreur critique (imprévisible)](../Concepts/error-handling.md#predictable-vs-unpredictable-errors) et déclenche une exception. Ajoute le statut `dk status serious validation error`
  • `False` : crée seulement une [erreur silencieuse (prévisible)](../Concepts/error-handling.md#predictable-vs-unpredictable-errors). Ajoute le statut `dk status validation failed`.
  • | Oui (par défaut : False) | +| componentSignature | Text | Toujours "DBEV" | Non | - Les [erreurs critiques](../Concepts/error-handling.md#predictable-vs-unpredictable-errors) sont empilées dans la collection de la propriété `errors` de l'objet **Result** renvoyé par les fonctions [`save()`](../API/EntityClass.md#save) ou [`drop()`](../API/EntityClass.md#drop). - Dans le cas d'une erreur déclenchée par un événement **validate**, la propriété `seriousError` permet de choisir le niveau d'erreur à générer : @@ -142,16 +142,16 @@ Cet événement est déclenché dès que le moteur de 4D Server / 4D détecte un - en **client/serveur sans le mot-clé `local`**, une **[application Qodly](https://developer.4d.com/qodly)** ou **[datastore distant](../commands/open-datastore.md)** : l'entité est reçue sur le serveur 4D lors de l'appel d'une fonction ORDA (sur l'entité ou avec l'entité en tant que paramètre). Cela signifie que vous devrez peut-être mettre en place une fonction *refresh* ou *preview* sur l'application distante qui envoie une requête ORDA au serveur et déclenche l'événement. - avec le serveur REST : la valeur est reçue sur le serveur REST avec une [requête REST](../REST/$method.md#methodupdate) (`$method=update`) -The function receives an [*event* object](#event-parameter) as parameter. +La fonction reçoit un objet [*event*](#event-parameter) en paramètre. -If this function [throws](../commands/throw) an error, it will not stop the undergoing action. +Si cette fonction [génère](../commands/throw) une erreur, elle n'arrêtera pas l'action en cours. :::note -This event is also triggered: +Cet événement est également déclenché : -- when attributes are assigned by the [`constructor()`](./ordaClasses.md#class-constructor-1) event, -- when attributes are edited through the [Data Explorer](../Admin/dataExplorer.md). +- lorsque les attributs sont assignés par l'événement [`constructor()`](./ordaClasses.md#class-constructor-1), +- lorsque les attributs sont modifiés via l'[Explorateur de données](../Admin/dataExplorer.md). ::: @@ -329,7 +329,7 @@ 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. +La fonction reçoit un objet [*event*](#event-parameter) en paramètre. This event is triggered by the following functions: @@ -387,7 +387,7 @@ 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. +La fonction reçoit un objet [*event*](#event-parameter) en paramètre. This event is triggered by the following functions: @@ -449,7 +449,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. +La fonction reçoit un objet [*event*](#event-parameter) en paramètre. - 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. @@ -494,7 +494,7 @@ 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. +La fonction reçoit un objet [*event*](#event-parameter) en paramètre. This event is triggered by the following features: @@ -561,7 +561,7 @@ 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. +La fonction reçoit un objet [*event*](#event-parameter) en paramètre. This event is triggered by the following features: @@ -642,7 +642,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. +La fonction reçoit un objet [*event*](#event-parameter) en paramètre. - 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. From 0394075eacbf185bc7a2b27b6e8eab12323cb156 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Tue, 21 Oct 2025 08:25:16 +0200 Subject: [PATCH 064/137] New translations ordaclasses.md (French) --- .../version-21/ORDA/ordaClasses.md | 94 +++++++++---------- 1 file changed, 47 insertions(+), 47 deletions(-) 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 84479ca7fefcae..d4738c0141b15f 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 @@ -306,52 +306,52 @@ Class constructor() :::note -Il n'y a pas de mot-clé de fin pour le code d'une fonction class constructor. Le langage 4D détecte automatiquement la fin du code d'une fonction par le mot clé `Function` suivant ou la fin du fichier de classe. +Il n'y a pas de mot-clé de fin pour le code d'une fonction de constructeur de classe. Le langage 4D détecte automatiquement la fin du code d'une fonction par le mot clé `Function` suivant ou la fin du fichier de classe. ::: -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. +Une fonction de construction de classe ORDA est déclenchée juste après la création d'une nouvelle entité en mémoire, [quelle que soit la manière dont elle est créée](#commands-that-trigger-the-class-constructor-functions). Elle est utile pour définir des valeurs d'initialisation lors de l'instanciation de l'entité, par exemple un identifiant personnalisé. -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). +Cette fonction ne peut être définie qu'au [niveau de l'entité](#entity-class). Il ne peut y avoir qu'une seule fonction constructor dans une classe d'entité (sinon une erreur est renvoyée). -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. +La fonction du constructeur de la classe ORDA ne reçoit ni ne renvoie de paramètres. Cependant, vous pouvez l'utiliser pour initialiser les valeurs des attributs en utilisant [`This`](../commands/this.md). Notez que les valeurs initialisées par le constructeur sont remplacées si les attributs correspondants sont remplis par le code. :::note -An ORDA class constructor function is similar to a [user class constructor function](../Concepts/classes.md#class-constructor), with the following differences: +Une fonction de construction de classe ORDA est similaire à une [fonction de construction de classe utilisateur](../Concepts/classes.md#class-constructor), avec les différences suivantes : -- 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). +- vous ne pouvez pas passer de paramètres au constructeur, +- vous ne pouvez pas utiliser les mots-clés `shared`, `session`, ou `singleton`, +- vous ne pouvez pas appeler le mot-clé [`Super`](../Concepts/classes.md#super) à l'intérieur de la fonction, +- le constructeur de la classe ne peut pas être appelé en utilisant la fonction `new()` sur une entité (les entités ne peuvent être créées que par des fonctions spécifiques, voir ci-dessous). ::: -#### Commands that trigger the Class constructor functions +#### Commandes qui déclenchent les fonctions du constructeur de classe -The `Class constructor` function is triggered by the following commands and features: +La fonction `Class constructor` est déclenchée par les commandes et fonctionnalités suivantes : - [`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). +- [API REST $method=update](../REST/$method.md#methodupdate) dans un POST sans les paramètres `__KEY` et `__STAMP`. +- l'[Explorateur de données](../Admin/dataExplorer.md#editing-data). :::note Notes -- 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. +- La fonction [`entity.clone()`](../API/EntityClass.md#clone) ne déclenche pas le constructeur de la classe de l'entité. +- Les enregistrements créés au niveau de la base de données 4D à l'aide de commandes du langage classique 4D ou d'actions standard ne déclenchent pas le constructeur de la classe de l'entité. ::: -#### Remote configurations +#### Configurations distantes -When using a remote configurations, you need to pay attention to the following principles: +Lorsque vous utilisez une configuration à distance, il convient de respecter les principes suivants : -- 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. +- En **client/serveur**, la fonction peut être appelée sur le client ou sur le serveur, en fonction de l'emplacement du code d'appel. Lorsqu'elle est appelée sur le client, elle n'est pas déclenchée à nouveau lorsque le client tente d'enregistrer la nouvelle entité et envoie une demande de mise à jour au serveur pour la créer en mémoire sur le serveur. :::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. +Des fonctions telles que [`dataClass.fromCollection()`](../API/DataClassClass.md#fromcollection) pouvant créer un grand nombre d'entités et donc déclencher le constructeur de la classe d'entités en conséquence, vous devez vous assurer que le code du constructeur n'exécute pas de traitements qui prennent du temps, pour des raisons de performance. Dans les configurations distantes (voir ci-dessous), le code ne doit pas déclencher de requêtes multiples au serveur. ::: @@ -367,7 +367,7 @@ Class constructor() ``` -#### Example 2 (diagram): Client/server +#### Exemple 2 (diagramme) : Client/serveur ```mermaid @@ -386,7 +386,7 @@ Server-->>-Client: Success ``` -#### Example 3 (diagram): Qodly - Standard action +#### Exemple 3 (diagramme): Qodly - Action standard ```mermaid @@ -404,7 +404,7 @@ sequenceDiagram ``` -#### Example 4 (diagram): Qodly - Standard action and update value on the newly created entity +#### Exemple 4 (diagramme): Qodly - Action standard et mise à jour de valeur sur la nouvelle entité créée ```mermaid @@ -426,7 +426,7 @@ Note over Qodly page: product.creationDate is "06/17/25"
    and product.commen ``` -#### Example 5 (diagram): Qodly - Entity instanciated in a function +#### Exemple 5 (diagramme) : Qodly - Entité instanciée dans une fonction ```mermaid @@ -896,23 +896,23 @@ Exposed Alias studentName student.name //scalar value Vous pouvez alors exécuter les recherches suivantes : ```4d -// Find course named "Archaeology" +// Trouver le cours nommé "Archaeology" ds.Course.query("courseName = :1";"Archaeology") -// Find courses given by the professor Smith +// Trouver les cours du professeur Smith ds.Course.query("teacherName = :1";"Smith") -// Find courses where Student "Martin" assists +// Trouver les cours auxquels assiste l'étudiant "Martin" ds.Course.query("studentName = :1";"Martin") -// Find students who have M. Smith as teacher +// Trouver les étudiants qui ont le professeur Smith ds.Student.query("teachers.name = :1";"Smith") -// Find teachers who have M. Martin as Student +// Trouver les professeurs qui ont M. Martin comme étudiant ds.Teacher.query("students.name = :1";"Martin") -// Note that this very simple query string processes a complex -// query including a double join, as you can see in the queryPlan: -// "Join on Table : Course : Teacher.ID = Course.teacherID, +// Notez que cette chaîne très simple traite une requête complexe +// incluant une double jointure, comme vous pouvez le voir dans le queryPlan : +// "Join on Table : Course : Teacher.ID = Course.teacherID, // subquery:[ Join on Table : Student : Course.studentID = Student.ID, // subquery:[ Student.name === Martin]]" ``` @@ -986,59 +986,59 @@ $status:=$remoteDS.Schools.registerNewStudent($student) // OK $id:=$remoteDS.Schools.computeIDNumber() // Erreur "Unknown member method" ``` -## onHTTPGet keyword +## onHTTPGet -Use the `onHTTPGet` keyword to declare functions that can be called through HTTP requests using the `GET` verb. Such functions can return any web contents, for example using the [`4D.OutgoingMessage`](../API/OutgoingMessageClass.md) class. +Utilisez le mot-clé `onHTTPGet` pour déclarer des fonctions qui peuvent être appelées par des requêtes HTTP utilisant le verbe `GET`. Ces fonctions peuvent renvoyer n'importe quel contenu web, par exemple en utilisant la classe [`4D.OutgoingMessage`](../API/OutgoingMessageClass.md). -The `onHTTPGet` keyword is available with: +Le mot-clé `onHTTPGet` est disponible avec : -- ORDA Data model class functions -- [Singletons class functions](../Concepts/classes.md#singleton-classes) +- les fonctions de classe du modèle de données ORDA +- les [fonctions de classe de singletons](../Concepts/classes.md#singleton-classes) La syntaxe formelle est la suivante : ```4d -// declare an onHTTPGet function +// déclarer une fonction onHTTPGet exposed onHTTPGet Function (params) : result ``` :::info -The `exposed` keyword must also be added in this case, otherwise an error will be generated. +Le mot-clé `exposed` doit également être ajouté dans ce cas, sinon une erreur sera générée. ::: :::caution -As this type of call is an easy offered action, the developer must ensure no sensitive action is done in such functions. +Comme ce type d'appel est une action facile d'accès, le développeur doit s'assurer qu'aucune action sensible n'est effectuée dans ces fonctions. ::: ### params -A function with `onHTTPGet` keyword accepts [parameters](../Concepts/parameters.md). +Une fonction avec le mot-clé `onHTTPGet` accepte des [paramètres](../Concepts/parameters.md). -In the HTTP GET request, parameters must be passed directly in the URL and declared using the `$params` keyword (they must be enclosed in a collection). +Dans la requête HTTP GET, les paramètres doivent être passés directement dans l'URL et déclarés à l'aide du mot-clé `$params` (ils doivent être inclus dans une collection). ``` IP:port/rest//functionName?$params='[]' ``` -See the [Parameters](../REST/classFunctions#parameters) section in the REST server documentation. +Voir la section [Paramètres](../REST/classFunctions#parameters) dans la documentation du serveur REST. ### Résultat -A function with `onHTTPGet` keyword can return any value of a supported type (same as for REST [parameters](../REST/classFunctions#parameters)). +Une fonction avec le mot-clé `onHTTPGet` peut renvoyer n'importe quelle valeur d'un type supporté (comme pour les [paramètres REST](../REST/classFunctions#parameters)). :::info -You can return a value of the [`4D.OutgoingMessage`](../API/OutgoingMessageClass.md) class type to benefit from properties and functions to set the header, the body, and the status of the answer. +Vous pouvez renvoyer une valeur de type [`4D.OutgoingMessage`](../API/OutgoingMessageClass.md) pour bénéficier des propriétés et des fonctions permettant de définir l'en-tête, le corps et le statut de la réponse. ::: ### Exemple -You have defined the following function: +Vous avez défini la fonction suivante : ```4d Class extends DataClass @@ -1056,10 +1056,10 @@ exposed onHTTPGet Function getThumbnail($name : Text; $width : Integer; $height return $response ``` -It can be called by the following HTTP GET request: +Elle peut être appelée par la requête HTTP GET suivante : ``` -IP:port/rest/Products/getThumbnail?$params='["Yellow Pack",200,200]' +IP:port/rest/Products/getThumbnail ?$params='["Yellow Pack",200,200]' ``` ## Fonctions locales From 6d04df2705234a8b7d3f455d28cbc6767d3a85b0 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Tue, 21 Oct 2025 08:25:32 +0200 Subject: [PATCH 065/137] New translations components.md (French) --- .../version-21/Project/components.md | 70 +++++++++---------- 1 file changed, 35 insertions(+), 35 deletions(-) diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-21/Project/components.md b/i18n/fr/docusaurus-plugin-content-docs/version-21/Project/components.md index 463fc86bd23e53..d0bac014d46a03 100644 --- a/i18n/fr/docusaurus-plugin-content-docs/version-21/Project/components.md +++ b/i18n/fr/docusaurus-plugin-content-docs/version-21/Project/components.md @@ -3,11 +3,11 @@ id: components title: Dépendances --- -[L'architecture des projets](../Project/architecture.md) 4D est modulaire. Vous pouvez ajouter des fonctionnalités supplémentaires dans vos projets 4D en installant des [**composants**](Concepts/components.md) et des [**plug-ins**](../Concepts/plug-ins.md). Components are made of 4D code, while plug-ins can be [built using any language](../Extensions/develop-plug-ins.md). +[L'architecture des projets](../Project/architecture.md) 4D est modulaire. Vous pouvez ajouter des fonctionnalités supplémentaires dans vos projets 4D en installant des [**composants**](Concepts/components.md) et des [**plug-ins**](../Concepts/plug-ins.md). Les composants sont constitués de code 4D, tandis que les plug-ins peuvent être [construits à l'aide de n'importe quel langage](../Extensions/develop-plug-ins.md). -Vous pouvez [développer](../Extensions/develop-components.md) et [construire](../Desktop/building.md) vos propres composants 4D, ou télécharger des composants publics partagés par la communauté 4D qui se trouvent sur GitHub. +Vous pouvez [développer](../Extensions/develop-components.md) et [construire](../Desktop/building.md) vos propres composants 4D, ou télécharger des composants publics partagés par la communauté 4D [sur GitHub](https://github.com/search?q=4d-component&type=Repositories). -Once installed in your 4D environment, extensions are handled as **dependencies** with specific properties. +Une fois installées dans votre environnement 4D, les extensions sont traitées comme des **dépendances** avec des propriétés spécifiques. ## Composants interprétés et compilés @@ -33,7 +33,7 @@ L'architecture de dossier "Contents" est recommandée pour les composants si vou ::: -## Component Locations +## Emplacements des composants :::note @@ -317,20 +317,20 @@ Les composants GitHub référencés sont téléchargés dans un dossier de cache ...où `` peut être "4D", "4D Server" ou "tool4D". -### Automatic dependency resolution +### Résolution automatique des dépendances -When you add or update a component (whether [local](#local-components) or [from GitHub](#components-stored-on-github)), 4D automatically resolves and installs all dependencies required by that component. Cela inclut : +Lorsque vous ajoutez ou mettez à jour un composant (qu'il soit [local](#local-components) ou [obtenu depuis GitHub](#components-stored-on-github)), 4D résout et installe automatiquement toutes les dépendances requises par ce composant. Cela inclut : -- **Primary dependencies**: Components you explicitly declare in your `dependencies.json` file -- **Secondary dependencies**: Components required by primary dependencies or other secondary dependencies, which are automatically resolved and installed +- les **dépendances primaires** : Composants que vous déclarez explicitement dans votre fichier `dependencies.json`. +- les **dépendances secondaires** : Composants requis par des dépendances primaires ou d'autres dépendances secondaires, qui sont automatiquement résolues et installées. -The Dependency manager reads each component's own `dependencies.json` file and recursively installs all required dependencies, respecting version specifications whenever possible. This eliminates the need to manually identify and add nested dependencies one by one. +Le gestionnaire de dépendances lit le fichier `dependencies.json` de chaque composant et installe récursivement toutes les dépendances nécessaires, en respectant les spécifications de version dans la mesure du possible. Il n'est donc pas nécessaire d'identifier et d'ajouter manuellement les dépendances imbriquées, une par une. -- **Conflict resolution**: When multiple dependencies require [different versions](#) of the same component, the Dependency manager automatically attempts to resolve conflicts by finding a version that satisfies all overlapping version ranges. If a primary dependency conflicts with secondary dependencies, the primary dependency takes precedence. +- **les résolutions de conflits** : Lorsque plusieurs dépendances nécessitent [différentes versions](#defining-a-github-dependency-version-range) du même composant, le gestionnaire de dépendances tente automatiquement de résoudre les conflits en trouvant une version qui satisfait toutes les plages de versions qui se chevauchent. Si une dépendance primaire entre en conflit avec des dépendances secondaires, la dépendance primaire est prioritaire. :::note -`dependencies.json` files are ignored in components loaded from the [**Components** folder](architecture.md#components). +Les fichiers `dependencies.json` sont ignorés dans les composants chargés depuis le dossier [**Components**](architecture.md#components). ::: @@ -364,19 +364,19 @@ Par défaut, toutes les dépendances identifiées par le Gestionnaire de dépend ![dependency-tabs](../assets/en/Project/dependency-tabs.png) -- **All**: All dependencies including both primary (declared) and secondary (automatically resolved) dependencies in a flat list view. -- **Declared**: Primary dependencies that are explicitly declared in the `dependencies.json` file. This tab helps you distinguish between dependencies you've directly added and those that were [automatically resolved](#automatic-dependency-resolution). -- **Actifs** : Dépendances chargées et utilisables dans le projet. Il comprend des dépendances *overloading*, qui sont effectivement chargées. Les dépendances *overloaded* sont listées dans l'onglet **Conflits**, ainsi que toutes les dépendances conflictuelles. -- **Inactifs** : Dépendances qui ne sont pas chargées dans le projet et qui ne sont pas disponibles. Diverses raisons peuvent expliquer ce statut : fichiers manquants, incompatibilité de version... -- **Conflicts**: Dependencies that are loaded but that overloads at least one other dependency at a lower [priority level](#priority). Les dépendances surchargées sont également affichées afin que vous puissiez vérifier l'origine du conflit et prendre les mesures appropriées. +- **Toutes** : Toutes les dépendances, y compris les dépendances primaires (déclarées) et secondaires (résolues automatiquement), sous forme de liste. +- **Déclarées** : Les dépendances primaires qui sont explicitement déclarées dans le fichier `dependencies.json`. Cet onglet vous aide à distinguer les dépendances que vous avez directement ajoutées de celles qui ont été [automatiquement résolues](#automatic-dependency-resolution). +- **Actives** : Dépendances chargées et utilisables dans le projet. Il comprend des dépendances *overloading*, qui sont effectivement chargées. Les dépendances *overloaded* sont listées dans l'onglet **Conflits**, ainsi que toutes les dépendances conflictuelles. +- **Inactives** : Dépendances qui ne sont pas chargées dans le projet et qui ne sont pas disponibles. Diverses raisons peuvent expliquer ce statut : fichiers manquants, incompatibilité de version... +- **Conflits** : Les dépendances qui sont chargées mais qui surchargent au moins une autre dépendance à un [niveau de priorité](#priority) inférieur. Les dépendances surchargées sont également affichées afin que vous puissiez vérifier l'origine du conflit et prendre les mesures appropriées. -### Secondary dependencies +### Dépendances secondaires -The Dependencies panel displays [**secondary dependencies**](#automatic-dependency-resolution) with the `Component dependency` [origin](#dependency-origin): +Le panneau Dépendances indique les [**dépendances secondaires**](#automatic-dependency-resolution) en affichant comme [origin](#dependency-origin) `Dépendance de composant` : ![recursive-dependency](../assets/en/Project/recursive.png) -When you hover over a secondary dependency, a tooltip displays the parent dependency that requires it. A secondary dependency cannot be [removed](#removing-a-dependency) directly, you must remove or edit the primary dependency that requires it. +Lorsque vous survolez une dépendance secondaire, une infobulle affiche la dépendance parente qui la requiert. Une dépendance secondaire ne peut pas être [supprimée](#removing-a-dependency) directement, vous devez supprimer ou modifier la dépendance primaire qui la requiert. ### Statut des dépendances @@ -403,19 +403,19 @@ Une infobulle s'affiche lorsque vous survolez la ligne de dépendance, fournissa ### Origine de la dépendance -Le panneau Dépendances liste toutes les dépendances du projet, quelle que soit leur origine, c'est-à-dire d'où qu'elles viennent. L'origine de la dépendance est fournie par l'étiquette sous son nom : +Le panneau Dépendances liste toutes les dépendances du projet, quelle que soit leur origine. L'origine de la dépendance est fournie par l'étiquette sous son nom : ![dependency-origin](../assets/en/Project/dependency-origin.png) Les options suivantes sont disponibles : -| Étiquette d'origine | Description | -| ----------------------- | -------------------------------------------------------------------------------------------------------------------------------------------- | -| Built in 4D | Composant 4D intégré, stocké dans le dossier `Components` de l'application 4D | -| Declared in project | Composant déclaré dans le fichier [`dependencies.json`](#dependenciesjson) | -| Declared in environment | Component declared in the [`dependencies.json`](#dependenciesjson) file and overriden in the [`environment4d.json`](#environment4djson) file | -| Dossier Components | Composant situé dans le dossier [`Components`](architecture.md#components) | -| Component dependency | Secondary component ([required by a another component](#automatic-dependency-resolution)) | +| Étiquette | Description | +| ---------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------- | +| Intégré à 4D | Composant 4D intégré, stocké dans le dossier `Components` de l'application 4D | +| Déclaré dans le projet | Composant déclaré dans le fichier [`dependencies.json`](#dependenciesjson) | +| Déclaré dans l'environnement | Composant déclaré dans le fichier [`dependencies.json`](#dependenciesjson) et surchargé dans le fichier [`environment4d.json`](#environment4djson) | +| Dossier Components | Composant situé dans le dossier [`Components`](architecture.md#components) | +| Dépendance de composant | Composant secondaire ([requis par un autre composant](#automatic-dependency-resolution)) | **Cliquez avec le bouton droit de la souris** dans une ligne de dépendance et sélectionnez **Afficher sur le disque** pour révéler l'emplacement d'une dépendance : @@ -469,11 +469,11 @@ Pour ajouter une [dépendance GitHub](#components-stored-on-github), cliquez sur :::note -By default, [components developed by 4D](../Extensions/overview.md#components-developed-by-4d) are listed in the combo box, so that you can easily select and install these features in your environment: +Par défaut, les [composants développés par 4D](../Extensions/overview.md#components-developed-by-4d) sont répertoriés dans la liste, ce qui vous permet de sélectionner et d'installer facilement ces fonctionnalités dans votre environnement : ![dependency-default-git](../assets/en/Project/dependency-default.png) -Components already installed are not listed. +Les composants déjà installés ne sont pas dans la liste. ::: @@ -493,7 +493,7 @@ Définissez la [plage de versions des dépendances](#tags-and-versions) à utili Cliquez sur le bouton **Ajouter** pour ajouter la dépendance au projet. -The GitHub dependency is declared in the [**dependencies.json**](#dependenciesjson) file and added to the [inactive dependency list](#dependency-status) with the **Available at restart** status. Elle sera chargée une fois que l'application aura redémarré. +La dépendance GitHub est déclarée dans le fichier [**dependencies.json**](#dependenciesjson) et ajoutée à la [liste des dépendances inactives](#dependency-status) avec le statut **Disponible après redémarrage**. Elle sera chargée une fois que l'application aura redémarré. #### Définir une plage de versions pour une dépendance GitHub @@ -505,7 +505,7 @@ Vous pouvez définir l'option [règle de dépendance](#tags-and-versions) pour u - **Jusqu'à la version majeure suivante** : Définit une [plage sémantique de versions](#tags-and-versions) pour limiter les mises à jour à la version majeure suivante. - **Jusqu'à la prochaine version mineure** : De même, limite les mises à jour à la version mineure suivante. - **Version exacte (balise)** : Sélectionnez ou saisissez manuellement un [tag spécifique](#tags-and-versions) dans la liste disponible. -- **Suivre la version 4D** : Téléchargez la dernière version du composant compatible avec la version 4D courante. Vous ne pouvez utiliser cette règle de dépendance que si les tags de release des composants respectent la [convention de nommage](#naming-conventions-for-4d-version-tags) appropriée. This option is recommended for the [components developed by 4D](../Extensions/overview.md#components-developed-by-4d). +- **Suivre la version 4D** : Téléchargez la dernière version du composant compatible avec la version 4D courante. Vous ne pouvez utiliser cette règle de dépendance que si les tags de release des composants respectent la [convention de nommage](#naming-conventions-for-4d-version-tags) appropriée. Cette option est recommandée pour les [composants développés par 4D](../Extensions/overview.md#components-developed-by-4d). La version courante de la dépendance GitHub est affichée sur le côté droit de l'élément de la dépendance : @@ -513,7 +513,7 @@ La version courante de la dépendance GitHub est affichée sur le côté droit d #### Modifier la plage de versions des dépendances GitHub -You can modify the [version setting](#defining-a-github-dependency-version-range) for a listed GitHub dependency: select the dependency to modify and select **Edit the dependency...** from the contextual menu. In the "Edit the dependency" dialog box, edit the Dependency Rule menu and click **Apply**. +Vous pouvez modifier le [paramètre de version](#defining-a-github-dependency-version-range) pour une dépendance GitHub listée : sélectionnez la dépendance à modifier et sélectionnez **Editer la dépendance...** dans le menu contextuel. Dans la boîte de dialogue "Editer la dépendance", modifiez le menu Règle de dépendance et cliquez sur **Appliquer**. La modification de la plage de versions est utile par exemple si vous utilisez la fonction de mise à jour automatique et que vous souhaitez verrouiller une dépendance à un numéro de version spécifique. @@ -611,7 +611,7 @@ Pour supprimer une dépendance de la fenêtre Dépendances, sélectionnez la dé :::note -Only primary dependencies declared in the [**dependencies.json**](#dependenciesjson) file can be removed using the Dependencies panel. Secondary dependencies cannot be removed directly - to remove a secondary dependency, you must remove the primary dependency that requires it. Si une dépendance sélectionnée ne peut pas être supprimée, le bouton **-** est désactivé et l'élément de menu **Supprimer la dépendance** est masqué. +Seules les dépendances primaires déclarées dans le fichier [**dependencies.json**](#dependenciesjson) peuvent être supprimées dans la fenêtre Dépendances. Les dépendances secondaires ne peuvent pas être supprimées directement - pour supprimer une dépendance secondaire, vous devez supprimer la dépendance primaire qui la requiert. Si une dépendance sélectionnée ne peut pas être supprimée, le bouton **-** est désactivé et l'élément de menu **Supprimer la dépendance** est masqué. ::: @@ -621,7 +621,7 @@ Une boîte de dialogue de confirmation s'affiche. Si la dépendance a été déc Si vous confirmez la boîte de dialogue, le [statut](#dependency-status) de la dépendance supprimée est automatiquement modifié en "Déchargé après redémarrage". Elle sera chargée une fois que l'application aura redémarré. -#### Dependency usage warnings +#### Avertissements relatifs à l'utilisation des dépendances -When you attempt to remove a primary dependency that is required by other dependencies in your project, you will be warned that the dependency is still in use. The system will display which other dependencies require it and prompt you to confirm the removal, as removing it may cause those dependent components to stop working properly. +Lorsque vous tentez de supprimer une dépendance primaire qui est requise par d'autres dépendances dans votre projet, vous serez averti que la dépendance est toujours en cours d'utilisation. Le système affichera les autres dépendances qui la requièrent et vous demandera de confirmer la suppression, car celle-ci peut entraîner l'arrêt du fonctionnement de ces composants dépendants. From c0b70c9d8f907a1c8bbc0c4728fe4db195918f5c Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Tue, 21 Oct 2025 08:28:52 +0200 Subject: [PATCH 066/137] New translations vp-set-workbook-options.md (French) --- .../commands/vp-set-workbook-options.md | 120 +++++++++--------- 1 file changed, 60 insertions(+), 60 deletions(-) diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-21/ViewPro/commands/vp-set-workbook-options.md b/i18n/fr/docusaurus-plugin-content-docs/version-21/ViewPro/commands/vp-set-workbook-options.md index 7407f3c7a4eb04..621644af08ae2f 100644 --- a/i18n/fr/docusaurus-plugin-content-docs/version-21/ViewPro/commands/vp-set-workbook-options.md +++ b/i18n/fr/docusaurus-plugin-content-docs/version-21/ViewPro/commands/vp-set-workbook-options.md @@ -29,66 +29,66 @@ Les options modifiées du classeur sont enregistrées avec le document. Le tableau suivant répertorie les options de classeur disponibles : -| Propriété | Type | Description | -| ------------------------------------- | ----------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| allowUserDragMerge | boolean | L'opération de fusion par glisser est autorisée (sélection des cellules et glisser de la sélection pour fusionner les cellules) | -| allowAutoCreateHyperlink | boolean | Permet la création automatique d'hyperliens dans la feuille de calcul. | -| allowContextMenu | boolean | Le menu contextuel intégré peut être ouvert. | -| allowCopyPasteExcelStyle | boolean | Les styles d'une feuille de calcul peuvent être copiés et collés dans Excel, et vice-versa. | -| allowDynamicArray | boolean | Active les tableaux dynamiques dans les feuilles de travail | -| allowExtendPasteRange | boolean | Étend la plage collée si la plage collée n'est pas suffisante pour les données collées | -| allowSheetReorder | boolean | La réorganisation de la feuille est autorisée | -| allowUndo | boolean | L'annulation des modifications est autorisée. | -| allowUserDeselect | boolean | La désélection de cellules spécifiques d'une sélection est autorisée. | -| allowUserDragDrop | boolean | Glisser-déposer des données de plage est autorisé | -| allowUserDragFill | boolean | Le remplissage par glisser est autorisé | -| allowUserEditFormula | boolean | Des formules peuvent être saisies dans les cellules | -| allowUserResize | boolean | Les colonnes et les lignes peuvent être redimensionnées | -| allowUserZoom | boolean | Le zoom (ctrl + molette de la souris) est autorisé | -| autoFitType | number | Le contenu est formaté pour tenir dans les cellules, les cellules et les en-têtes. Valeurs disponibles :
    ConstanteValeurDescription
    vk auto fit type cell 0 Le contenu ajuste automatiquement les cellules
    vk auto fit type cell with header 1 Le contenu ajuste automatiquement les cellules et les en-têtes
    | -| backColor | string | Chaîne de couleur utilisée pour représenter la couleur de fond de la zone, comme "rouge", "#FFFF00", "rgb(255,0,0)", "Accent 5". La couleur de fond initiale est masquée lorsqu'une image de fond est définie. | -| backgroundImage | string / picture / file | Image de fond de la zone. | -| backgroundImageLayout | number | Comment l'image de fond s'affiche. Available values:
    ConstantValueDescription
    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.
    | -| calcOnDemand | boolean | Les formules ne sont calculées que lorsqu'elles sont demandées. | -| columnResizeMode | number | Mode redimensionnement pour les colonnes. Valeurs disponibles :
    ConstanteValeurDescription
    vk resize mode normal 0 Utilise le mode de redimensionnement normal (c'est-à-dire que les colonnes restantes sont affectées)
    vk resize mode split 1 Utiliser le mode fractionné (les colonnes restantes ne sont pas affectées)
    | -| copyPasteHeaderOptions | number | En-têtes à inclure lorsque les données sont copiées ou collées. Available values:
    ConstantValueDescription
    vk copy paste header options all headers3 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 headers0 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 headers1 Includes selected row headers when data is copied; overwrites selected row headers when data is pasted.
    | -| customList | collection | Liste pour que les utilisateurs personnalisent le remplissage par glisser-déposer, en priorisant la correspondance de cette liste dans chaque remplissage. Chaque élément de collection est une collection de strings. Voir sur [SpreadJS docs](https://developer.mescius.com/spreadjs/docs/features/cells/AutoFillData/AutoFillLists). | -| cutCopyIndicatorBorderColor | string | Couleur de bordure de l'indicateur affiché lorsque l'utilisateur coupe ou copie la sélection. | -| cutCopyIndicatorVisible | boolean | Afficher un indicateur lors du copier ou du coller de l'élément sélectionné. | -| defaultDragFillType | number | Le type de remplissage par défaut du glisser-déposer. Valeurs disponibles :
    ConstanteValeurDescription
    vk auto fill type auto 5 Remplit automatiquement les cellules.
    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 Remplit les cellules avec des valeurs sans les formater.
    | -| enableAccessibility | boolean | La prise en charge de l'accessibilité est activée dans la feuille de calcul. | -| enableFormulaTextbox | boolean | La zone de texte de la formule est activée. | -| grayAreaBackColor | string | Une chaîne de couleur utilisée pour représenter la couleur de fond de la zone grise, comme "red", "#FFFF00", "rgb(255,0,0)", "Accent 5", etc. | -| highlightInvalidData | boolean | Les données non valides sont surlignées. | -| iterativeCalculation | boolean | Active le calcul itératif. Voir sur [SpreadJS docs](https://developer.mescius.com/spreadjs/docs/formulareference/formulaoverview/calculating-iterative). | -| iterativeCalculationMaximumChange | numérique | Montant maximum de changement entre deux valeurs de calcul. | -| iterativeCalculationMaximumIterations | numérique | Nombre de fois maximum que la formule doit recalculer. | -| newTabVisible | boolean | Afficher un onglet spécial pour permettre aux utilisateurs d'insérer de nouvelles feuilles. | -| numbersFitMode | number | Modifie le mode d'affichage lorsque la largeur des données date/nombre est plus longue que la largeur des colonnes. Valeurs disponibles : vk
    ConstanteValeurDescription
    vk numbers fit mode mask0 Remplace le contenu des données par "###" et affiche l'astuce
    numbers fit mode overflow 1 Affiche le contenu des données sous forme de chaîne de caractères. Si la cellule suivante est vide, le contenu est débordé.
    | -| pasteSkipInvisibleRange | boolean | Coller ou ne pas coller les données dans les plages invisibles :
    • False (par défaut) : coller les données
    • True : Ne pas coller les données dans les plages invisibles
    Voir [SpreadJS docs](https://developer.mescius.com/spreadjs/docs/features/rows-columns/paste-skip-data-invisible-range) pour plus d'informations sur les plages invisibles. | -| referenceStyle | number | Style pour les références de cellules et de plages dans les formules de cellules. Available values:
    ConstantValueDescription
    vk reference style A1 0 Use A1 style.
    vk reference style R1C1 1 Use R1C1 style
    | -| resizeZeroIndicator | number | Règle de dessin lorsque la ligne ou la colonne est redimensionnée à zéro. Available values:
    ConstantValueDescription
    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 façon dont les lignes sont redimensionnées. Les valeurs disponibles sont les mêmes que columnResizeMode | -| scrollbarAppearance | number | Apparence de la barre de défilement. Available values:
    ConstantValueDescription
    vk scrollbar appearance mobile1 Mobile scrollbar appearance.
    vk scrollbar appearance skin (default)0 Excel-like classic scrollbar appearance.
    | -| scrollbarMaxAlign | boolean | La barre de défilement s'aligne sur la dernière ligne et la dernière colonne de la feuille courante. | -| scrollbarShowMax | boolean | Les barres de défilement affichées sont basées sur le nombre total de colonnes et de lignes dans la feuille. | -| scrollByPixel | boolean | Activer le défilement de précision par pixel. | -| scrollIgnoreHidden | boolean | La barre de défilement ignore les lignes ou colonnes cachées. | -| scrollPixel | integer | Définit le défilement par ce nombre de pixels lorsque scrollByPixel est true. Définit le défilement par ce nombre de pixels lorsque scrollByPixel est true. Par exemple : le delta de défilement est de 3, scrollPixel est de 5, le défilement final de pixels est de 15. | -| showDragDropTip | boolean | Afficher l'info bulle de glisser-déposer. | -| showDragFillSmartTag | boolean | Afficher la boîte de dialogue de remplissage par glisser-déplacer. | -| showDragFillTip | boolean | Afficher l'info bulle de glisser-remplir. | -| showHorizontalScrollbar | boolean | Afficher la barre de défilement horizontale. | -| showResizeTip | number | Comment afficher l'info-bulle de redimensionnement. Available values:
    ConstantValueDescription
    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 | Comment afficher les info-bulles de défilement. Available values:
    ConstantValueDescription
    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 scroll tip is displayed.
    vk show scroll tip vertical 2 Only the vertical scroll tip is displayed.
    | -| showVerticalScrollbar | boolean | Afficher la barre de défilement verticale. | -| tabEditable | boolean | La barre d'onglets de la feuille peut être modifiée. | -| tabNavigationVisible | boolean | Afficher l'onglet de navigation de la feuille. | -| tabStripPosition | number | Position de la barre d'onglets. Available values:
    ConstantValueDescription
    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.
    | -| tabStripRatio | number | Valeur de pourcentage (0.x) qui spécifie combien d'espace horizontal sera alloué à la barre d'onglets. Le reste de la zone horizontale (1 - 0.x) sera alloué à la barre de défilement horizontale. | -| tabStripVisible | boolean | Afficher la barre d'onglets de la feuille. | -| tabStripWidth | number | Largeur de la barre d'onglets lorsque la position est à gauche ou à droite. Par défaut et minimum 80. | -| useTouchLayout | boolean | Utiliser ou non le format tactile pour présenter le composant Spread. | +| Propriété | Type | Description | +| ------------------------------------- | ----------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| allowUserDragMerge | boolean | L'opération de fusion par glisser est autorisée (sélection des cellules et glisser de la sélection pour fusionner les cellules) | +| allowAutoCreateHyperlink | boolean | Permet la création automatique d'hyperliens dans la feuille de calcul. | +| allowContextMenu | boolean | Le menu contextuel intégré peut être ouvert. | +| allowCopyPasteExcelStyle | boolean | Les styles d'une feuille de calcul peuvent être copiés et collés dans Excel, et vice-versa. | +| allowDynamicArray | boolean | Active les tableaux dynamiques dans les feuilles de travail | +| allowExtendPasteRange | boolean | Étend la plage collée si la plage collée n'est pas suffisante pour les données collées | +| allowSheetReorder | boolean | La réorganisation de la feuille est autorisée | +| allowUndo | boolean | L'annulation des modifications est autorisée. | +| allowUserDeselect | boolean | La désélection de cellules spécifiques d'une sélection est autorisée. | +| allowUserDragDrop | boolean | Glisser-déposer des données de plage est autorisé | +| allowUserDragFill | boolean | Le remplissage par glisser est autorisé | +| allowUserEditFormula | boolean | Des formules peuvent être saisies dans les cellules | +| allowUserResize | boolean | Les colonnes et les lignes peuvent être redimensionnées | +| allowUserZoom | boolean | Le zoom (ctrl + molette de la souris) est autorisé | +| autoFitType | number | Le contenu est formaté pour tenir dans les cellules, les cellules et les en-têtes. Valeurs disponibles :
    ConstanteValeurDescription
    vk auto fit type cell 0 Le contenu ajuste automatiquement les cellules
    vk auto fit type cell with header 1 Le contenu ajuste automatiquement les cellules et les en-têtes
    | +| backColor | string | Chaîne de couleur utilisée pour représenter la couleur de fond de la zone, comme "rouge", "#FFFF00", "rgb(255,0,0)", "Accent 5". La couleur de fond initiale est masquée lorsqu'une image de fond est définie. | +| backgroundImage | string / picture / file | Image de fond de la zone. | +| backgroundImageLayout | number | Comment l'image de fond s'affiche. Valeurs disponibles :
    ConstanteValeurDescription
    vk image layout center 1 Au centre de la zone.
    vk mise en page d'image aucun 3 Dans le coin supérieur gauche de la zone à sa taille originale.
    vk image layout stretch 0 Remplit la zone.
    vk image layout zoom 2 Affiché avec son rapport d'aspect d'origine.
    | +| calcOnDemand | boolean | Les formules ne sont calculées que lorsqu'elles sont demandées. | +| columnResizeMode | number | Mode redimensionnement pour les colonnes. Valeurs disponibles :
    ConstanteValeurDescription
    vk resize mode normal 0 Utilise le mode de redimensionnement normal (c'est-à-dire que les colonnes restantes sont affectées)
    vk resize mode split 1 Utiliser le mode fractionné (les colonnes restantes ne sont pas affectées)
    | +| copyPasteHeaderOptions | number | En-têtes à inclure lorsque les données sont copiées ou collées. Available values:
    ConstantValueDescription
    vk copy paste header options all headers3 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 headers0 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 headers1 Inclut les en-têtes de ligne sélectionnés lors de la copie des données ; surcharge les en-têtes de ligne sélectionnés lors du collage des données.
    | +| customList | collection | Liste pour que les utilisateurs personnalisent le remplissage par glisser-déposer, en priorisant la correspondance de cette liste dans chaque remplissage. Chaque élément de collection est une collection de strings. Voir sur [SpreadJS docs](https://developer.mescius.com/spreadjs/docs/features/cells/AutoFillData/AutoFillLists). | +| cutCopyIndicatorBorderColor | string | Couleur de bordure de l'indicateur affiché lorsque l'utilisateur coupe ou copie la sélection. | +| cutCopyIndicatorVisible | boolean | Afficher un indicateur lors du copier ou du coller de l'élément sélectionné. | +| defaultDragFillType | number | Le type de remplissage par défaut du glisser-déposer. Valeurs disponibles :
    ConstanteValeurDescription
    vk auto fill type auto 5 Remplit automatiquement les cellules.
    vk auto fill type clear values 4 Efface les valeurs des cellules.
    vk auto fill type copycells 0 Remplit les cellules avec tous les objets de données, y compris les valeurs, la mise en forme et les formules.
    vk auto fill type fill formatting only 2 Remplit les cellules uniquement avec la mise en forme.
    vk auto fill type fill series 1 Remplit les cellules avec des séries.
    vk auto fill type fill without formatting 3 Remplit les cellules avec des valeurs sans les formater.
    | +| enableAccessibility | boolean | La prise en charge de l'accessibilité est activée dans la feuille de calcul. | +| enableFormulaTextbox | boolean | La zone de texte de la formule est activée. | +| grayAreaBackColor | string | Une chaîne de couleur utilisée pour représenter la couleur de fond de la zone grise, comme "red", "#FFFF00", "rgb(255,0,0)", "Accent 5", etc. | +| highlightInvalidData | boolean | Les données non valides sont surlignées. | +| iterativeCalculation | boolean | Active le calcul itératif. Voir sur [SpreadJS docs](https://developer.mescius.com/spreadjs/docs/formulareference/formulaoverview/calculating-iterative). | +| iterativeCalculationMaximumChange | numérique | Montant maximum de changement entre deux valeurs de calcul. | +| iterativeCalculationMaximumIterations | numérique | Nombre de fois maximum que la formule doit recalculer. | +| newTabVisible | boolean | Afficher un onglet spécial pour permettre aux utilisateurs d'insérer de nouvelles feuilles. | +| numbersFitMode | number | Modifie le mode d'affichage lorsque la largeur des données date/nombre est plus longue que la largeur des colonnes. Valeurs disponibles : vk
    ConstanteValeurDescription
    vk numbers fit mode mask0 Remplace le contenu des données par "###" et affiche l'astuce
    numbers fit mode overflow 1 Affiche le contenu des données sous forme de chaîne de caractères. Si la cellule suivante est vide, le contenu est débordé.
    | +| pasteSkipInvisibleRange | boolean | Coller ou ne pas coller les données dans les plages invisibles :
    • False (par défaut) : coller les données
    • True : Ne pas coller les données dans les plages invisibles
    Voir [SpreadJS docs](https://developer.mescius.com/spreadjs/docs/features/rows-columns/paste-skip-data-invisible-range) pour plus d'informations sur les plages invisibles. | +| referenceStyle | number | Style pour les références de cellules et de plages dans les formules de cellules. Valeurs disponibles :
    ConstanteValeurDescription
    vk reference style A10 Utilise le style A1.
    vk reference style R1C1 1 Utiliser le style R1C1
    | +| resizeZeroIndicator | number | Règle de dessin lorsque la ligne ou la colonne est redimensionnée à zéro. Available values:
    ConstantValueDescription
    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 Dessine deux lignes courtes lorsque la ligne ou la colonne est redimensionnée à zéro.
    | +| rowResizeMode | number | La façon dont les lignes sont redimensionnées. Les valeurs disponibles sont les mêmes que columnResizeMode | +| scrollbarAppearance | number | Apparence de la barre de défilement. Valeurs disponibles :
    ConstanteValeurDescription
    vk scrollbar appearance mobile1 Apparence de la barre de défilement mobile
    vk scrollbar appearance skin (default)0 Apparence classique de la barre de défilement, similaire à celle d'Excel.
    | +| scrollbarMaxAlign | boolean | La barre de défilement s'aligne sur la dernière ligne et la dernière colonne de la feuille courante. | +| scrollbarShowMax | boolean | Les barres de défilement affichées sont basées sur le nombre total de colonnes et de lignes dans la feuille. | +| scrollByPixel | boolean | Activer le défilement de précision par pixel. | +| scrollIgnoreHidden | boolean | La barre de défilement ignore les lignes ou colonnes cachées. | +| scrollPixel | integer | Définit le défilement par ce nombre de pixels lorsque scrollByPixel est true. Définit le défilement par ce nombre de pixels lorsque scrollByPixel est true. Par exemple : le delta de défilement est de 3, scrollPixel est de 5, le défilement final de pixels est de 15. | +| showDragDropTip | boolean | Afficher l'info bulle de glisser-déposer. | +| showDragFillSmartTag | boolean | Afficher la boîte de dialogue de remplissage par glisser-déplacer. | +| showDragFillTip | boolean | Afficher l'info bulle de glisser-remplir. | +| showHorizontalScrollbar | boolean | Afficher la barre de défilement horizontale. | +| showResizeTip | number | Comment afficher l'info-bulle de redimensionnement. Available values:
    ConstantValueDescription
    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 | Comment afficher les info-bulles de défilement. Available values:
    ConstantValueDescription
    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 scroll tip is displayed.
    vk show scroll tip vertical 2 Only the vertical scroll tip is displayed.
    | +| showVerticalScrollbar | boolean | Afficher la barre de défilement verticale. | +| tabEditable | boolean | La barre d'onglets de la feuille peut être modifiée. | +| tabNavigationVisible | boolean | Afficher l'onglet de navigation de la feuille. | +| tabStripPosition | number | Position de la barre d'onglets. Valeurs disponibles :
    ConstanteValeurDescription
    vk tab strip position bottom 0La position de la barre de tabulation est relative au bas du classeur.
    vk tab strip position left 2 La position de la barre de tabulation est relative à la gauche du classeur.
    vk tab strip position right 3 La position de la barre de tabulation est relative à la droite du classeur.
    vk tab strip position top 1 La position de la barre de tabulation est relative au haut du classeur.
    | +| tabStripRatio | number | Valeur de pourcentage (0.x) qui spécifie combien d'espace horizontal sera alloué à la barre d'onglets. Le reste de la zone horizontale (1 - 0.x) sera alloué à la barre de défilement horizontale. | +| tabStripVisible | boolean | Afficher la barre d'onglets de la feuille. | +| tabStripWidth | number | Largeur de la barre d'onglets lorsque la position est à gauche ou à droite. Par défaut et minimum 80. | +| useTouchLayout | boolean | Utiliser ou non le format tactile pour présenter le composant Spread. | ## Exemple From 8e036964be8d66855c2d830e1c23cb8c114e72ef Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Tue, 21 Oct 2025 08:28:57 +0200 Subject: [PATCH 067/137] New translations configuring.md (French) --- .../version-21/ViewPro/configuring.md | 20 +++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-21/ViewPro/configuring.md b/i18n/fr/docusaurus-plugin-content-docs/version-21/ViewPro/configuring.md index 5cdbaa95105016..6648693d558630 100644 --- a/i18n/fr/docusaurus-plugin-content-docs/version-21/ViewPro/configuring.md +++ b/i18n/fr/docusaurus-plugin-content-docs/version-21/ViewPro/configuring.md @@ -332,16 +332,16 @@ Les attributs d'orientation sont utilisés pour spécifier la direction de la mi Les attributs de page sont utilisés pour spécifier les paramètres généraux d'impression du document. -| Propriété | Type | Description | -| --------------- | ----------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| blackAndWhite | boolean | Impression en noir et blanc seulement.

    Valeur par défaut = false

    **Note**: Les PDF ne sont pas affectés par cet attribut. Les couleurs en PDF restent.

    | -| centering | entier long | Comment le contenu est centré sur la page imprimée. Valeurs disponibles : `vk print centering both`, `vk print centering horizontal`, `vk print centering none` (par défaut), `vk print centering vertical` | -| firstPageNumber | entier long | Le numéro de page à imprimer sur la première page. Valeur par défaut = 1 | -| pageOrder | entier long | L'ordre d'impression des pages. Valeurs disponibles : `vk print page order auto` (par défaut), `vk print page order down then over`, `vk print page order over then down`. | -| pageRange | text | La plage de pages pour l'impression | -| qualityFactor | entier long | Le facteur de qualité pour l'impression (1 - 8). The higher the quality factor, the better the printing quality, however printing performance may be affected.

    Default value = 2

    | -| useMax | boolean | Only columns and rows with data are printed.

    Default value = true

    | -| zoomFactor | réel | The amount to enlarge or reduce the printed page.

    Default value = 1

    | +| Propriété | Type | Description | +| --------------- | ----------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| blackAndWhite | boolean | Impression en noir et blanc seulement.

    Valeur par défaut = false

    **Note**: Les PDF ne sont pas affectés par cet attribut. Les couleurs en PDF restent.

    | +| centering | entier long | Comment le contenu est centré sur la page imprimée. Valeurs disponibles : `vk print centering both`, `vk print centering horizontal`, `vk print centering none` (par défaut), `vk print centering vertical` | +| firstPageNumber | entier long | Le numéro de page à imprimer sur la première page. Valeur par défaut = 1 | +| pageOrder | entier long | L'ordre d'impression des pages. Valeurs disponibles : `vk print page order auto` (par défaut), `vk print page order down then over`, `vk print page order over then down`. | +| pageRange | text | La plage de pages pour l'impression | +| qualityFactor | entier long | Le facteur de qualité pour l'impression (1 - 8). Plus le facteur de qualité est élevé, meilleure est la qualité d'impression, cependant les performances d'impression peuvent être affectées.

    Valeur par défaut = 2

    | +| useMax | boolean | Seules les colonnes et les lignes contenant des données sont imprimées.

    Valeur par défaut = true

    | +| zoomFactor | réel | Le montant pour agrandir ou réduire la page imprimée.

    Valeur par défaut = 1

    | ### Taille du papier From b831a01882def00c80455ff0e4a77662667ee5c6 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Tue, 21 Oct 2025 08:29:46 +0200 Subject: [PATCH 068/137] New translations openai.md (French) --- .../version-21/aikit/Classes/OpenAI.md | 46 +++++++++---------- 1 file changed, 23 insertions(+), 23 deletions(-) diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-21/aikit/Classes/OpenAI.md b/i18n/fr/docusaurus-plugin-content-docs/version-21/aikit/Classes/OpenAI.md index 6734c9aefbc5f5..99425a010d3b25 100644 --- a/i18n/fr/docusaurus-plugin-content-docs/version-21/aikit/Classes/OpenAI.md +++ b/i18n/fr/docusaurus-plugin-content-docs/version-21/aikit/Classes/OpenAI.md @@ -9,29 +9,29 @@ La classe OpenAI fournit un client permettant d'accéder à diverses ressources ## Propriétés de configuration -| Nom de propriété | Type | Description | Optionnel | -| ---------------- | ---- | ------------------------------------------------------------------------------ | --------------------------------------------------------- | -| `apiKey` | Text | Votre [clé API OpenAI ](https://platform.openai.com/api-keys). | Can be required by the provider | -| `baseURL` | Text | URL de base pour les requêtes de l'API OpenAI. | Yes (if omitted = use OpenAI provider) | -| `organisation` | Text | Votre identifiant d'organisation OpenAI. | Oui | -| `project` | Text | Votre identifiant de projet OpenAI. | Oui | +| Nom de propriété | Type | Description | Optionnel | +| ---------------- | ---- | ------------------------------------------------------------------------------ | ----------------------------------------------------------------- | +| `apiKey` | Text | Votre [clé API OpenAI ](https://platform.openai.com/api-keys). | Peut être requis par le fournisseur | +| `baseURL` | Text | URL de base pour les requêtes de l'API OpenAI. | Oui (si omis = utiliser le fournisseur OpenAI) | +| `organisation` | Text | Votre identifiant d'organisation OpenAI. | Oui | +| `project` | Text | Votre identifiant de projet OpenAI. | Oui | ### Propriétés HTTP supplémentaires -| Nom de propriété | Type | Description | -| ---------------- | -------------------------------------------------------------------------------- | -------------------------------------------------------------------- | -| `timeout` | Real | Time in seconds before timeout occurs. | -| `maxRetries` | Real | Maximum number of retry attempts in case of failure. | -| `httpAgent` | [4D.HTTPAgent](https://developer.4d.com/docs/API/HTTPAgentClass) | HTTP agent used for making requests. | -| `customHeaders` | Real | Custom headers to be included in the HTTP requests. | +| Nom de propriété | Type | Description | +| ---------------- | -------------------------------------------------------------------------------- | ------------------------------------------------------------------------ | +| `timeout` | Real | Délai en secondes avant l'expiration du délai. | +| `maxRetries` | Real | Nombre maximum de tentatives en cas d'échec. | +| `httpAgent` | [4D.HTTPAgent](https://developer.4d.com/docs/API/HTTPAgentClass) | Agent HTTP utilisé pour effectuer des requêtes. | +| `customHeaders` | Real | En-têtes personnalisés à inclure dans les requêtes HTTP. | ### Class constructor Créer une instance de la classe client OpenAI. -| Nom de l'argument | Type | Description | -| ------------------------- | ------------ | ------------------------------------------------------- | -| `apiKey or configuration` | Text, Object | apiKey if Text or configuration Object. | +| Nom de l'argument | Type | Description | +| ------------------------- | ------------ | ----------------------------------------------------------- | +| `apiKey` ou configuration | Text, Object | apiKey si Texte, ou objet de configuration. | #### Clé API @@ -58,15 +58,15 @@ $client.baseURL:="https://server.ai" ## Ressources API -L'API donne accès à de multiples ressources qui permettent une interaction transparente avec les services de l'OpenAI. Each resource is encapsulated within a dedicated API class, offering a structured and intuitive way to interact with different functionalities. +L'API donne accès à de multiples ressources qui permettent une interaction transparente avec les services de l'OpenAI. Chaque ressource est encapsulée dans une classe d'API dédiée, offrant un moyen structuré et intuitif d'interagir avec les différentes fonctionnalités. -| Nom de propriété | Type | Description | -| ---------------- | ----------------------------------------------- | ---------------------------------------------- | -| `models` | [OpenAIModelsAPI](OpenAIModelsAPI.md) | Accès à l'API des modèles. | -| `chat` | [OpenAIChatAPI](OpenAIChatAPI.md) | Accès à l'API de Chat. | -| `images` | [OpenAIImagesAPI](OpenAIImagesAPI.md) | Accès à l'API Images. | -| `moderations` | [OpenAIModerationsAPI](OpenAIModerationsAPI.md) | Accès à l'API des modérations. | -| `embeddings` | [OpenAIEmbeddingsAPI](OpenAIEmbeddingsAPI.md) | Access to the Embeddings API. | +| Nom de propriété | Type | Description | +| ---------------- | ----------------------------------------------- | ---------------------------------------------------------------------------- | +| `models` | [OpenAIModelsAPI](OpenAIModelsAPI.md) | Accès à l'API des modèles. | +| `chat` | [OpenAIChatAPI](OpenAIChatAPI.md) | Accès à l'API de discussion (Chat). | +| `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). | ### Exemple d'utilisation From c51ec8ffb7cf3252783e00409117660a7883b9ab Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Tue, 21 Oct 2025 08:29:49 +0200 Subject: [PATCH 069/137] New translations openaichatapi.md (French) --- .../version-21/aikit/Classes/OpenAIChatAPI.md | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-21/aikit/Classes/OpenAIChatAPI.md b/i18n/fr/docusaurus-plugin-content-docs/version-21/aikit/Classes/OpenAIChatAPI.md index 936135592b6429..85b9cc589d5ccc 100644 --- a/i18n/fr/docusaurus-plugin-content-docs/version-21/aikit/Classes/OpenAIChatAPI.md +++ b/i18n/fr/docusaurus-plugin-content-docs/version-21/aikit/Classes/OpenAIChatAPI.md @@ -5,14 +5,14 @@ title: OpenAIChatAPI # OpenAIChatAPI -La classe `OpenAIChatAPI` fournit une interface permettant d'interagir avec la fonctionnalité de chat de l'OpenAI, en tirant parti des capacités de complétion et de vision. +La classe `OpenAIChatAPI` fournit une interface permettant d'interagir avec la fonctionnalité de discussion (*chat*) de l'OpenAI, en tirant parti des capacités de complétion et de vision. ## Propriétés -| Propriété | Type | Description | -| ------------- | ------------------------------------------------------- | ----------------------------------------------------------------------- | -| `completions` | [OpenAIChatCompletionsAPI](OpenAIChatCompletionsAPI.md) | An instance that handles chat completions requests. | -| `vision` | [OpenAIVision](OpenAIVision.md) | A helper instance that handles vision-related requests. | +| Propriété | Type | Description | +| ------------- | ------------------------------------------------------- | ---------------------------------------------------------------------------------- | +| `completions` | [OpenAIChatCompletionsAPI](OpenAIChatCompletionsAPI.md) | Une instance qui gère les requêtes de complétion de la discussion. | +| `vision` | [OpenAIVision](OpenAIVision.md) | A helper instance that handles vision-related requests. | ## Function @@ -20,10 +20,10 @@ La classe `OpenAIChatAPI` fournit une interface permettant d'interagir avec la f **create**(*systemPrompt* : Text) : OpenAIChatHelper -| Paramètres | Type | Description | -| -------------- | --------------------------------------- | ----------------------------------------------------------------- | -| *systemPrompt* | Text | The system prompt to initialize the chat. | -| Résultat | [OpenAIChatHelper](OpenAIChatHelper.md) | A helper instance for managing chat interactions. | +| Paramètres | Type | Description | +| -------------- | --------------------------------------- | -------------------------------------------------------------------------------------- | +| *systemPrompt* | Text | L'invite du système pour initialiser la discussion. | +| Résultat | [OpenAIChatHelper](OpenAIChatHelper.md) | Une instance du helper pour gérer les interactions dans la discussion. | #### Exemple d'utilisation From 85d400d82e51b93c810e8c793ccdfb2bbdead2e9 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Tue, 21 Oct 2025 08:29:55 +0200 Subject: [PATCH 070/137] New translations openaichatcompletionsparameters.md (French) --- .../aikit/Classes/OpenAIChatCompletionsParameters.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-21/aikit/Classes/OpenAIChatCompletionsParameters.md b/i18n/fr/docusaurus-plugin-content-docs/version-21/aikit/Classes/OpenAIChatCompletionsParameters.md index d3a3e3cf405c79..c662fa21029b46 100644 --- a/i18n/fr/docusaurus-plugin-content-docs/version-21/aikit/Classes/OpenAIChatCompletionsParameters.md +++ b/i18n/fr/docusaurus-plugin-content-docs/version-21/aikit/Classes/OpenAIChatCompletionsParameters.md @@ -30,9 +30,9 @@ The `OpenAIChatCompletionParameters` class is designed to handle the parameters ### Asynchronous Callback Properties -| Propriété | Type | Description | -| ------------------------------------------ | --------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------- | -| `onData` (or `formula`) | 4D.Function | A function to be called asynchronously when receiving data chunk. Ensure that the current process does not terminate. | +| Propriété | Type | Description | +| ------------------------------------------ | --------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `onData` (or `formula`) | 4D.Function | A function to be called asynchronously when receiving data chunk. Assurez-vous que le process courant ne se termine pas. | `onData` will receive as argument an [OpenAIChatCompletionsStreamResult](./OpenAIChatCompletionsStreamResult.md). From 9763c90f3c9c54563a64abf12848238bb7d0aa38 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Tue, 21 Oct 2025 08:30:15 +0200 Subject: [PATCH 071/137] New translations openaimessage.md (French) --- .../version-21/aikit/Classes/OpenAIMessage.md | 28 +++++++++---------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-21/aikit/Classes/OpenAIMessage.md b/i18n/fr/docusaurus-plugin-content-docs/version-21/aikit/Classes/OpenAIMessage.md index 918611abe323f1..25400a67a22838 100644 --- a/i18n/fr/docusaurus-plugin-content-docs/version-21/aikit/Classes/OpenAIMessage.md +++ b/i18n/fr/docusaurus-plugin-content-docs/version-21/aikit/Classes/OpenAIMessage.md @@ -12,16 +12,16 @@ La classe `OpenAIMessage` représente un message structuré contenant un rôle, | Propriété | Type | Description | | -------------- | ---------- | -------------------------------------------------------------------------------------------------------------------------------------------------------- | | `rôle` | Text | The role of the message (e.g., "user", "assistant", "system", "tool"). | -| `contenu` | Variant | The content of the message, which can be a text or a collection of objects. | -| `user` | Text | An optional property representing the user associated with the message. | +| `contenu` | Variant | Le contenu du message, qui peut être un texte ou une collection d'objets. | +| `user` | Text | Une propriété facultative représentant l'utilisateur associé au message. | | `tool_calls` | Collection | A collection of tool calls requested by the assistant. Each tool call contains an `id`, `type`, and a `function` object. | | `tool_call_id` | Text | The ID of the tool call that this message is responding to (used when `role` is "tool"). | ## Propriétés calculées -| Propriété | Type | Description | -| --------- | ---- | --------------------------------------------------------- | -| `text` | Text | A property representing the text message. | +| Propriété | Type | Description | +| --------- | ---- | -------------------------------------------------------------- | +| `text` | Text | Une propriété représentant le message textuel. | ## Fonctions @@ -29,23 +29,23 @@ La classe `OpenAIMessage` représente un message structuré contenant un rôle, **addImageURL**(*imageURL* : Text; *detail* : Text) -| Paramètres | Type | Description | -| ---------- | ---- | ----------------------------------------------------------- | -| *imageURL* | Text | The URL of the image to add to the message. | -| *detail* | Text | Additional details about the image. | +| Paramètres | Type | Description | +| ---------- | ---- | ------------------------------------------------------ | +| *imageURL* | Text | L'URL de l'image à ajouter au message. | +| *detail* | Text | Détails supplémentaires sur l'image. | -Adds an image URL to the content of the message. +Ajoute une URL d'image au contenu du message. ## Exemple d'utilisation ### Create a simple message and attach an image ```4d -// Create an instance of OpenAIMessage -var $message:=cs.AIKit.OpenAIMessage({role: "user"; content: "Hello!"}) +// Créer une instance d'OpenAIMessage +var $message:=cs.AIKit.OpenAIMessage({role : "user" ; content : "Hello !"}) -// Add an image URL with details -$message.addImageURL("http://example.com/image.jpg"; "high") +// Ajouter une image URL avec des détails +$message.addImageURL("http://example.com/image.jpg" ; "high") ``` ### Respond to a tool call message From 9cf5cb9e5b532de0dcb57d6fe63e6c2bf198fc3d Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Tue, 21 Oct 2025 08:30:25 +0200 Subject: [PATCH 072/137] New translations openaiparameters.md (French) --- .../aikit/Classes/OpenAIParameters.md | 42 +++++++++---------- 1 file changed, 21 insertions(+), 21 deletions(-) diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-21/aikit/Classes/OpenAIParameters.md b/i18n/fr/docusaurus-plugin-content-docs/version-21/aikit/Classes/OpenAIParameters.md index ab0f9184839a4f..3e875d09183335 100644 --- a/i18n/fr/docusaurus-plugin-content-docs/version-21/aikit/Classes/OpenAIParameters.md +++ b/i18n/fr/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 classe `OpenAIParameters` est conçue pour gérer les paramètres d'exécution et de requête pour interagir avec l'API OpenAI. ## Propriétés @@ -13,16 +13,16 @@ The `OpenAIParameters` class is designed to handle execution and request paramet Use this callback property to receive the result regardless of success or error: -| Propriété | Type | Description | -| -------------------------------------------------- | --------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------- | -| `onTerminate`
    (or `formula`) | 4D.Function | A function to be called asynchronously when finished. Ensure that the current process does not terminate. | +| Propriété | Type | Description | +| -------------------------------------------------- | --------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `onTerminate`
    (or `formula`) | 4D.Function | Une fonction à appeler de manière asynchrone lorsqu'elle est terminée. Assurez-vous que le process courant ne se termine pas. | Use these callback properties for more granular control over success and error handling: -| Propriété | Type | Description | -| ------------ | --------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `onResponse` | 4D.Function | A function to be called asynchronously when the request finishes **successfully**. Ensure that the current process does not terminate. | -| `onError` | 4D.Function | A function to be called asynchronously when the request finishes **with errors**. Ensure that the current process does not terminate. | +| Propriété | Type | Description | +| ------------ | --------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `onResponse` | 4D.Function | A function to be called asynchronously when the request finishes **successfully**. Assurez-vous que le process courant ne se termine pas. | +| `onError` | 4D.Function | A function to be called asynchronously when the request finishes **with errors**. Assurez-vous que le process courant ne se termine pas. | > 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. @@ -30,28 +30,28 @@ See [documentation about asynchronous code for examples](../asynchronous-call.md ### Network Properties -| Propriété | Type | Description | -| -------------- | --------- | -------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `timeout` | Real | Overrides the client-level default timeout for the request, in seconds. Default is 0. | -| `httpAgent` | HTTPAgent | Overrides the client-level default HTTP agent for the request. | -| `maxRetries` | Integer | The maximum number of retries for the request. (Only if code not asynchrone ie. no function provided) | -| `extraHeaders` | Object | Extra headers to send with the request. | +| Propriété | Type | Description | +| -------------- | --------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | +| `timeout` | Real | Remplace le délai d'attente par défaut au niveau du client pour la requête, en secondes. Par défaut, 0. | +| `httpAgent` | HTTPAgent | Remplace l'agent HTTP par défaut au niveau du client pour la requête. | +| `maxRetries` | Integer | Nombre maximal de tentatives pour la requêtes. (Seulement si le code n'est pas asynchrone, c'est-à-dire s'il n'y a pas de fonction fournie) | +| `extraHeaders` | Object | En-têtes supplémentaires à envoyer avec la requête. | ### OpenAPI Properties -| Propriété | Type | Description | -| --------- | ---- | ----------------------------------------------------------------------------------------------------------- | -| `user` | Text | A unique identifier representing the end-user, which helps OpenAI monitor and detect abuse. | +| Propriété | Type | Description | +| --------- | ---- | ------------------------------------------------------------------------------------------------------------------------------- | +| `user` | Text | Un identifiant unique représentant l'utilisateur final, ce qui aide OpenAI à surveiller et à détecter les abus. | ### Others -| Propriété | Type | Description | -| --------- | ------- | ------------------------------------------------------------------------------------------------------------ | -| `throw` | Boolean | If true, throws an error if one occurs. Only if no formula callback defined. | +| Propriété | Type | Description | +| --------- | ------- | -------------------------------------------------------------------------------------------------------------------------------- | +| `throw` | Boolean | Si true, faire un throw en cas d'erreur. Uniquement si aucune formule de callback n'est définie. | ## Classes héritées -Several classes inherit from `OpenAIParameters` to extend its functionality for specific use cases. Below are some of the classes that extend `OpenAIParameters`: +Plusieurs classes héritent de `OpenAIParameters` pour étendre ses fonctionnalités à des cas d'utilisation spécifiques. Voici quelques-unes des classes qui étendent `OpenAIParameters` : - [OpenAIChatCompletionsParameters](OpenAIChatCompletionsParameters.md) - [OpenAIChatCompletionsMessagesParameters](OpenAIChatCompletionsMessagesParameters.md) From 7bc2cc0e28ea487debfa6192bcce173ac9bb8519 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Tue, 21 Oct 2025 08:30:33 +0200 Subject: [PATCH 073/137] New translations asynchronous-call.md (French) --- .../version-21/aikit/asynchronous-call.md | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-21/aikit/asynchronous-call.md b/i18n/fr/docusaurus-plugin-content-docs/version-21/aikit/asynchronous-call.md index c0c0c453eb7436..aa37bc3c85f2bb 100644 --- a/i18n/fr/docusaurus-plugin-content-docs/version-21/aikit/asynchronous-call.md +++ b/i18n/fr/docusaurus-plugin-content-docs/version-21/aikit/asynchronous-call.md @@ -5,27 +5,27 @@ title: Appel asynchrone # Appel asynchrone -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 vous ne souhaitez pas attendre la réponse de l'OpenAPI lorsque vous envoyez une requête à son API, vous devez utiliser un code asynchrone. -To make asynchronous calls, you must provide a callback `4D.Function`(`Formula`) in the [OpenAIParameters](Classes/OpenAIParameters.md) object parameter to receive the result. +Pour effectuer des appels asynchrones, vous devez fournir une `4D.Function`(`Formula`) de rappel (*callback*) dans le paramètre objet [OpenAIParameters](Classes/OpenAIParameters.md) pour recevoir le résultat. -The callback function will receive the same result object type (one of [OpenAIResult](Classes/OpenAIResult.md) child classes) that would be returned by the function in synchronous code. Voir les exemples ci-dessous. +La fonction de callback recevra le même type d'objet de résultat (l'une des classes enfant de [OpenAIResult](Classes/OpenAIResult.md)) que celui qui serait renvoyé par la fonction dans un code synchrone. Voir les exemples ci-dessous. -## Process Considerations +## A propos des process -The asynchronous method is based on [4D.HTTPRequest](https://developer.4d.com/docs/API/HTTPRequestClass), so the response will be received within the current process. +La méthode asynchrone est basée sur [4D.HTTPRequest](https://developer.4d.com/docs/API/HTTPRequestClass), ainsi la réponse sera reçue dans le process courant. -> ⚠️ If your process ends at the conclusion of the current method (e.g., using New process, or playing in the method editor), the callback formula might not be called asynchronously. In such cases, consider using `CALL WORKER` or `CALL FORM`. +> ⚠️ Si votre process se termine à la fin de la méthode courante (par exemple, si vous utilisez New process ou l'éditeur de méthode), la formule de callback peut ne pas être appelée de manière asynchrone. Dans ce cas, il est nécessaire d'utiliser `CALL WORKER` ou `CALL FORM`. ## Exemples d’utilisation -### liste de modèles +### Liste de modèles ```4d $client.models.list({formula: Formula(MyReceiveMethod($1))}) ``` -`$1` sera une instance de [OpenAIModelListResult] (Classes/OpenAIModelListResult.md), donc la méthode `MyReceiveMethod` pourrait être : +`$1` sera une instance de [OpenAIModelListResult](Classes/OpenAIModelListResult.md), donc la méthode `MyReceiveMethod` pourrait être : ```4d #DECLARE($result: cs.AIKit.OpenAIModelListResult) @@ -41,7 +41,7 @@ Else End if ``` -### complétions de chat +### Complétions de chat ```4d var $messages:=[{role: "system"; content: "You are a helpful assistant."}] From c48861269c3fdb8dbfb6dc92dee1bde555206afb Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Tue, 21 Oct 2025 08:30:35 +0200 Subject: [PATCH 074/137] New translations compatible-openai.md (French) --- .../version-21/aikit/compatible-openai.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-21/aikit/compatible-openai.md b/i18n/fr/docusaurus-plugin-content-docs/version-21/aikit/compatible-openai.md index ba0522fda1b175..6f376ddde06727 100644 --- a/i18n/fr/docusaurus-plugin-content-docs/version-21/aikit/compatible-openai.md +++ b/i18n/fr/docusaurus-plugin-content-docs/version-21/aikit/compatible-openai.md @@ -7,15 +7,15 @@ title: Fournisseurs (Providers) De nombreux fournisseurs d'IA proposent une API de type OpenAI, vous pouvez donc utiliser ce projet pour vous y connecter. -To do so you just have to set the `baseURL` to the provider one and use their api key if needed. +Pour ce faire, il suffit de passer l'adresse du fournisseur dans `baseURL` et d'utiliser sa clé d'api si nécessaire. ```4d $client.baseURL:="https://api.mistral.ai/v1" ``` -Some of them +Quelques-uns : -## Distant +## A distance | Fournisseur | baseURL | | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------- | @@ -31,7 +31,7 @@ Some of them ## Local -| Fournisseur | Default baseURL | Doc | +| Fournisseur | baseURL par défaut | Doc | | ---------------------------------------------------- | --------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | | https://ollama.com/ | http://127.0.0.1:11434/v1 | https://ollama.com/blog/openai-compatibility | | https://lmstudio.ai/ | http://localhost:1234/v1 | https://lmstudio.ai/docs/api/endpoints/openai | From 828b84d4f77aa73f09fcd04aa7efadbd184e5314 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Tue, 21 Oct 2025 08:30:37 +0200 Subject: [PATCH 075/137] New translations overview.md (French) --- .../version-21/aikit/overview.md | 26 +++++++++---------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-21/aikit/overview.md b/i18n/fr/docusaurus-plugin-content-docs/version-21/aikit/overview.md index 853ce7579b49a0..27f37b8f05b508 100644 --- a/i18n/fr/docusaurus-plugin-content-docs/version-21/aikit/overview.md +++ b/i18n/fr/docusaurus-plugin-content-docs/version-21/aikit/overview.md @@ -11,7 +11,7 @@ title: 4D-AIKit ## OpenAI -La classe [`OpenAI`](Classes/OpenAI.md) vous permet de faire des demandes à l'[API OpenAI](https://platform.openai.com/docs/api-reference/). +La classe [`OpenAI`](Classes/OpenAI.md) vous permet d'envoyer des requêtes à l'[API OpenAI](https://platform.openai.com/docs/api-reference/). ### Configuration @@ -21,7 +21,7 @@ Tout d'abord, initialisez le client OpenAI en utilisant votre clé API var $client:=cs.AIKit.OpenAI.new("your api key") ``` -For a [compatible provider](compatible-openai.md) API, you need to configure the server URL by setting the `baseURL` parameter. +Pour l'API d'un [founisseur compatible](compatible-openai.md), vous devez configurer l'URL du serveur en définissant le paramètre `baseURL`. ```4d var $client:=cs.AIKit.OpenAI.new({apiKey: "your api key"; baseURL: "https://your.server.ai"}) @@ -33,7 +33,7 @@ ou $client.baseURL:="https://your.server.ai" ``` -### Formuler des demandes +### Formuler des requêtes `OpenAI` fournit différents points de terminaison appelés ressources, chacun offrant diverses fonctions. @@ -41,9 +41,9 @@ $client.baseURL:="https://your.server.ai" var $result:=$client..() ``` -Le `$result` contient le `HTTPRequest`, un statut `success`, une collection de `errors` et plus encore. Voir [OpenAIResult](Classes/OpenAIResult.md) +Le résultat `$result` contient la requête `HTTPRequest`, un statut `success`, une collection de `errors` et plus encore. Voir [OpenAIResult](Classes/OpenAIResult.md) -See some examples below. +Voir quelques exemples ci-dessous. #### Chat @@ -60,9 +60,9 @@ var $result:=$client.chat.completions.create($messages; {model: "gpt-4o-mini"}) // résultat dans $result.choice ``` -##### Assistant de chat +##### Helper de discussion (chat) -Cet assistant vous permet de maintenir une liste de messages d'utilisateurs et de réponses d'assistants. +Cet assistant vous permet de maintenir une liste de messages d'utilisateurs et de réponses de l'assistant. ```4d var $helper:=$client.chat.create("You are a helpful assistant.") @@ -71,9 +71,9 @@ $result:=$helper.prompt("and could you decompose this number") // conversation dans $helper.messages ``` -##### Assistant de vision +##### Helper de vision -Cet assistant permet l'analyse des images à travers le chat. +Cet assistant permet l'analyse des images à travers la discussion. ```4d var $result:=$client.chat.vision.create($imageUrl).prompt("give me a description of the image") @@ -113,13 +113,13 @@ var $moderation:=$client.moderations.create("This text contains inappropriate la #### Code asynchrone -Si vous ne souhaitez pas attendre la réponse de l'OpenAPI lorsque vous envoyez une requête à son API, vous devez utiliser un code asynchrone. L'objet résultat sera reçu dans une fonction de rappel. +Si vous ne souhaitez pas attendre la réponse de l'OpenAPI lorsque vous envoyez une requête à son API, vous devez utiliser un code asynchrone. L'objet résultat sera reçu dans une fonction de callback. Voir [documentation détaillée pour les exemples](asynchronous-call.md) ## Droits d'auteur -- This library is not affiliated with, endorsed by, or officially connected to OpenAI in any way. -- "OpenAI" and any related marks are trademarks or registered trademarks of OpenAI, LLC. All rights related to OpenAI's services, APIs, and technologies remain the property of OpenAI. -- This project simply provides an interface to OpenAI’s services and does not claim any ownership over their technology, branding, or intellectual property. +- Cette bibliothèque n'est pas affiliée à OpenAI, ni approuvée par elle, ni officiellement liée à elle de quelque manière que ce soit. +- "OpenAI" et toutes les marques associées sont des marques commerciales ou des marques déposées d'OpenAI, LLC. Tous les droits liés aux services, API et technologies de l'OpenAI restent la propriété de OpenAI. +- Ce projet fournit simplement une interface aux services d'OpenAI et ne revendique aucune propriété sur leur technologie, leur marque ou leur propriété intellectuelle. From eab9047a15610f9ebd25287a5950076cb34b5920 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Tue, 21 Oct 2025 08:40:54 +0200 Subject: [PATCH 076/137] New translations formeditor.md (Spanish) --- .../version-20/FormEditor/formEditor.md | 28 +++++++++---------- 1 file changed, 14 insertions(+), 14 deletions(-) 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 bfc77eab3e903f..8deb72f19dca7d 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 @@ -56,7 +56,7 @@ La barra de herramientas contiene los siguientes elementos: | Icono | Nombre | Descripción | | ------------------------------------------------ | ----------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | ![](../assets/en/FormEditor/execute.png) | Ejecutar el formulario | Se utiliza para probar la ejecución del formulario. Al presionar este botón, 4D abre una nueva ventana y muestra el formulario en su contexto (lista de registros para un formulario lista y página de registro actual para un formulario detallado). El formulario se ejecuta en el proceso principal. | -| ![](../assets/en/FormEditor/selection.png) | [Herramienta de selección](#selecting-objects) | Permite seleccionar, mover y redimensionar los objetos del formulario.

    **Nota**: cuando se selecciona un objeto de tipo Texto o Área de Grupo, al presionar la tecla **Intro** se pasa al modo de edición.

    | +| ![](../assets/en/FormEditor/selection.png) | [Herramienta de selección](#selecting-objects) | Allows selecting, moving and resizing form objects.
    **Note**: When an object of the Text or Group Box type is selected, pressing the **Enter** key lets you switch to editing mode. | | ![](../assets/en/FormEditor/zOrder.png) | [Orden de entrada](#data-entry-order) | Pasa al modo "Orden de entrada", donde es posible ver y cambiar el orden de entrada actual del formulario. Tenga en cuenta que las marcas permiten ver el orden de entrada actual, sin dejar de trabajar en el formulario. | | ![](../assets/en/FormEditor/moving.png) | [Desplazamiento](#moving-objects) | Pasa al modo " Desplazamiento ", en el que es posible llegar rápidamente a cualquier parte del formulario utilizando la función de arrastrar y soltar en la ventana. El cursor toma la forma de una mano. Este modo de navegación es especialmente útil cuando se hace zoom en el formulario. | | ![](../assets/en/FormEditor/zoom.png) | [Zoom](#zoom) | Permite modificar la escala de visualización del formulario (100% por defecto). Puede pasar al modo "Zoom" haciendo clic en la lupa o pulsando directamente en la barra correspondiente a la escala deseada. Esta función se detalla en la sección anterior. | @@ -146,11 +146,11 @@ Antes de poder realizar cualquier operación en un objeto (como cambiar el ancho Para seleccionar un objeto utilizando la barra de herramientas: -1. Haga clic en la herramienta Flecha de la barra de herramientas.

    ![](../assets/en/FormEditor/selection.png)

    +1. Haga clic en la herramienta Flecha de la barra de herramientas.
    ![](../assets/en/FormEditor/selection.png) -

    Cuando se mueve el puntero en el área del formulario, se convierte en un puntero estándar con forma de flecha

    . +
    Cuando se 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.

    ![](../assets/en/FormEditor/selectResize.png)

    +2. Haga clic en el objeto que desea seleccionar. Las manillas de redimensionamiento identifican el objeto seleccionado.
    ![](../assets/en/FormEditor/selectResize.png) Para seleccionar un objeto utilizando la Lista de propiedades: @@ -235,13 +235,12 @@ La agrupación sólo afecta a los objetos en el editor de formularios. Cuando se Para agrupar los objetos: 1. Seleccione los objetos que desea agrupar. -2. Elija **Agrupar** en el menú Objetos. OR Click the Group button in the toolbar of the Form editor:

    ![](../assets/en/FormEditor/group.png)

    -4D marca el límite de los objetos recién agrupados con marcas. No hay marcas que delimiten ninguno de los objetos individuales del grupo. Ahora, al modificar el objeto agrupado, se modifican todos los objetos que componen el grupo. +2. Elija **Agrupar** en el menú Objetos. OR Click the Group button in the toolbar of the Form editor:
    ![](../assets/en/FormEditor/group.png) 4D marks the boundary of the newly grouped objects with handles. No hay marcas que delimiten ninguno de los objetos individuales del grupo. Ahora, al modificar el objeto agrupado, se modifican todos los objetos que componen el grupo. Para desagrupar un grupo de objetos: 1. Seleccione el grupo de objetos que desea desagrupar. -2. Elija **Desagrupar** en el menú **Objetos**.

    O

    Haga clic en el botón **Desagrupar** (menú del botón **Agrupar**) de 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. +2. Choose **Ungroup** from the **Object** menu.
    OR
    Click the **Ungroup** button (variant of the **Group** button) in the toolbar of the Form editor.
    If **Ungroup** is dimmed, this means that the selected object is already separated into its simplest form. 4D marca los bordes de los objetos individuales con marcas. ### Alinear objetos @@ -268,9 +267,10 @@ El Asistente de Alineación permite realizar cualquier tipo de alineación y/o d Para mostrar esta caja de diálogo, seleccione los objetos que desee alinear y, a continuación, elija el comando **Alineación** del submenú **Alinear** del menú **Objeto** o del menú contextual del editor. -- En las áreas "Alineación izquierda/derecha" y/o "Alineación superior/inferior", haga clic en el icono que corresponde a la alineación que desea realizar.

    El área de ejemplo muestra los resultados de su selección.

    +- En las áreas "Alineación izquierda/derecha" y/o "Alineación superior/inferior", haga clic en el icono que corresponda a la alineación que desee realizar.
    El área de ejemplo muestra los resultados de su selección. + +- Para realizar una alineación que utilice el esquema de anclaje estándar, haga clic en **Ver** o **Aplicar**. En este caso, 4D utiliza el objeto que está más lejos en la dirección de la alineación como ancla y alinea los otros objetos a ese objeto. Por ejemplo, si quiere realizar una alineación a la derecha en un conjunto de objetos, el objeto más a la derecha se utilizará como ancla. OR:
    To align objects to a specific object, select the **Align on** option and select the object to which you want the other objects to be aligned from the object list. En este caso, la posición del objeto de referencia no se alterará. -- Para realizar una alineación que utilice el esquema de anclaje estándar, haga clic en **Ver** o **Aplicar**. En este caso, 4D utiliza el objeto que está más lejos en la dirección de la alineación como ancla y alinea los otros objetos a ese objeto. Por ejemplo, si quiere realizar una alineación a la derecha en un conjunto de objetos, el objeto más a la derecha se utilizará como ancla. For instance, if you want to perform a right alignment on a set of objects, the rightmost object will be used as the anchor.

    Para alinear los objetos a un objeto específico, seleccione la opción **Alinear en** y seleccione el objeto al que desea que se alineen los demás objetos de la lista de objetos. En este caso, la posición del objeto de referencia no se alterará.

    Puede previsualizar los resultados de la alineación haciendo clic en el botón **Previsualización**. Los objetos se alinean entonces en el editor de formularios, pero como la caja de diálogo permanece en el primer plano, aún puede cancelar o aplicar la alineación. > Esta caja de diálogo le permite alinear y distribuir objetos en una sola operación. Para más información sobre cómo distribuir objetos, consulte [Repartir objetos](#distribuir-objetos). @@ -304,7 +304,7 @@ Para repartir los objetos con igual espacio: 1. Seleccione tres o más objetos y haga clic en la herramienta Distribuir correspondiente. -2. En la barra de herramientas, haga clic en la herramienta de distribución que corresponde a la distribución que desea aplicar.

    ![](../assets/en/FormEditor/distributionTool.png)

    O

    Seleccione un comando del menú de distribución en el submenú **Alinear** del menú **Objeto** o en el menú contextual del 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. +2. In the toolbar, click on the distribution tool that corresponds to the distribution you want to apply.
    ![](../assets/en/FormEditor/distributionTool.png)
    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: @@ -312,9 +312,9 @@ Para distribuir objetos utilizando la caja de diálogo Alinear y Distribuir: 2. Seleccione el comando **Alineación** del submenú **Alinear** del menú **Objeto** o del menú contextual del editor. Aparece la siguiente caja de diálogo:![](../assets/en/FormEditor/alignmentAssistant.png) -3. En las áreas Alineación izquierda/derecha y/o Alineación superior/inferior, haga clic en el icono de distribución estándar: ![](../assets/en/FormEditor/horizontalDistribution.png)

    (Icono de distribución horizontal estándar)

    El área de ejemplo muestra los resultados de su selección. +3. In the Left/Right Alignment and/or Top/Bottom Alignment areas, click the standard distribution icon: ![](../assets/en/FormEditor/horizontalDistribution.png)
    (Standard horizontal distribution icon)
    The example area displays the results of your selection. -4. Para efectuar una repartición estándar que utilice el esquema estándar, haga clic en **Previsualización** o *Aplicar*.

    En este caso, 4D realizará una distribución estándar, de modo que los objetos se dispongan con la misma cantidad de espacio entre ellos.

    For instance, if you want to perform a right alignment on a set of objects, the rightmost object will be used as the anchor.

    Para efectuar una distribución específica, seleccione la opción **Distribuir** (por ejemplo, si desea distribuir los objetos en función de la distancia a su lado derecho). 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. 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:
    - Horizontalmente, los iconos corresponden a las siguientes distribuciones: uniformemente con respecto a los lados izquierdo, central (hor.) y derecho de los objetos seleccionados. - Verticalmente, los iconos corresponden a las siguientes distribuciones: uniformemente con respecto a los bordes superiores, centros (vert.) y bordes inferiores de los objetos seleccionados. @@ -367,11 +367,11 @@ Este párrafo describe la visualización y la modificación del orden de entrada Para ver o cambiar el orden de entrada: -1. Seleccione **Orden de entrada** en el menú **Formulario** o haga clic en el botón Orden de entrada en la barra de herramientas de la ventana:

    ![](../assets/en/FormEditor/zOrder.png)

    +1. Seleccione **Orden de entrada** en el menú **Formulario** o haga clic en el botón Orden de entrada en la barra de herramientas de la ventana:
    ![](../assets/en/FormEditor/zOrder.png)
    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. Para cambiar el orden de entrada de datos, sitúe el puntero sobre un objeto del formulario y, mientras mantiene presionado el botón del ratón, arrastre el puntero hasta el objeto que desee que siga en el orden de entrada de datos.

    ![](../assets/en/FormEditor/entryOrder3.png)

    4D ajustará la orden de entrada en consecuencia. +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.
    ![](../assets/en/FormEditor/entryOrder3.png)
    4D will adjust the entry order accordingly. 3. Repita el paso 2 tantas veces como sea necesario para establecer el orden de entrada de datos que desee. From 84d683adb1b218fcebc9754b355d2c39371840d9 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Tue, 21 Oct 2025 08:57:31 +0200 Subject: [PATCH 077/137] New translations sessionclass.md (Spanish) --- .../current/API/SessionClass.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) 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 7b9392b7d194f3..b58fb0cca06e51 100644 --- a/i18n/es/docusaurus-plugin-content-docs/current/API/SessionClass.md +++ b/i18n/es/docusaurus-plugin-content-docs/current/API/SessionClass.md @@ -89,7 +89,7 @@ Esta función no elimina los **privilegios promovidos** del proceso web, tanto s ::: -Regarding remote client sessions, the function only impacts [code accessing the web server](../WebServer/preemptiveWeb.md#writing-thread-safe-web-server-code). +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). #### Ejemplo @@ -388,7 +388,7 @@ Esta función devuelve True para el *privilegio* si se llama desde una función ::: -Regarding remote client sessions, the function only impacts [code accessing the web server](../WebServer/preemptiveWeb.md#writing-thread-safe-web-server-code). +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*. From fee48ee041120a90b1ca7681ed85a2522fc1bcee Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Tue, 21 Oct 2025 09:00:07 +0200 Subject: [PATCH 078/137] New translations formeditor.md (Spanish) --- .../current/FormEditor/formEditor.md | 29 ++++++++++--------- 1 file changed, 15 insertions(+), 14 deletions(-) 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 d56a75b1db3be4..dea74525a9828c 100644 --- a/i18n/es/docusaurus-plugin-content-docs/current/FormEditor/formEditor.md +++ b/i18n/es/docusaurus-plugin-content-docs/current/FormEditor/formEditor.md @@ -56,7 +56,7 @@ La barra de herramientas contiene los siguientes elementos: | Icono | Nombre | Descripción | | ------------------------------------------------ | ----------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | ![](../assets/en/FormEditor/execute.png) | Ejecutar el formulario | Se utiliza para probar la ejecución del formulario. Al presionar este botón, 4D abre una nueva ventana y muestra el formulario en su contexto (lista de registros para un formulario lista y página de registro actual para un formulario detallado). El formulario se ejecuta en el proceso principal. | -| ![](../assets/en/FormEditor/selection.png) | [Herramienta de selección](#selecting-objects) | Permite seleccionar, desplazar y cambiar el tamaño de los objetos del formulario

    .**Nota**: cuando se selecciona un objeto de tipo Texto o Cuadro de Grupo, presionando la tecla **Enter** se pasa al modo edición.

    | +| ![](../assets/en/FormEditor/selection.png) | [Herramienta de selección](#selecting-objects) | Permite seleccionar, desplazar y cambiar el tamaño de los objetos del formulario
    .**Nota**: cuando se selecciona un objeto de tipo Texto o Cuadro de Grupo, presionando la tecla **Enter** se pasa al modo edición. | | ![](../assets/en/FormEditor/zOrder.png) | [Orden de entrada](#data-entry-order) | Pasa al modo "Orden de entrada", donde es posible ver y cambiar el orden de entrada actual del formulario. Tenga en cuenta que las marcas permiten ver el orden de entrada actual, sin dejar de trabajar en el formulario. | | ![](../assets/en/FormEditor/moving.png) | [Mover](#mover-objetos) | Pasa al modo " Desplazamiento ", en el que es posible llegar rápidamente a cualquier parte del formulario utilizando la función de arrastrar y soltar en la ventana. El cursor toma la forma de una mano. Este modo de navegación es especialmente útil cuando se hace zoom en el formulario. | | ![](../assets/en/FormEditor/zoom.png) | [Zoom](#zoom) | Permite modificar la escala de visualización del formulario (100% por defecto). Puede pasar al modo "Zoom" haciendo clic en la lupa o pulsando directamente en la barra correspondiente a la escala deseada. Esta función se detalla en la sección anterior. | @@ -146,18 +146,18 @@ Antes de poder realizar cualquier operación en un objeto (como cambiar el ancho Para seleccionar un objeto utilizando la barra de herramientas: -1. Haz clic en la herramienta Flecha en la barra de herramientas.

    ![](../assets/en/FormEditor/selection.png)

    +1. Haz clic en la herramienta Flecha en la barra de herramientas.
    ![](../assets/en/FormEditor/selection.png) -

    Cuando se mueve el puntero en el área del formulario, se convierte en un puntero estándar con forma de flecha

    . +
    When you move the pointer into the form area, it becomes a standard arrow-shaped pointer. -2. Haga clic en el objeto que desea seleccionar. Las asas de redimensionamiento identifican el objeto seleccionado.

    ![](../assets/en/FormEditor/selectResize.png)

    +2. Haga clic en el objeto que desea seleccionar. Las asas de redimensionamiento identifican el objeto seleccionado.
    ![](../assets/en/FormEditor/selectResize.png) 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. -> También es posible seleccionar objetos haciendo doble clic en la ventana de resultados de la operación "Buscar en diseño". +> It is also possible to select objects by double-clicking them in the result window of "Find in design" operation. ### Selección de múltiples objetos @@ -241,13 +241,13 @@ Para agrupar los objetos: 1. Seleccione los objetos que desea agrupar. 2. Elija **Agrupar** en el menú Objetos. O - Haga clic en el botón Agrupar en la barra de herramientas del editor de formularios:

    ![](../assets/en/FormEditor/group.png)

    + Haga clic en el botón Agrupar en la barra de herramientas del editor de formularios:
    ![](../assets/en/FormEditor/group.png) 4D marca el límite de los objetos recién agrupados con manijas. No hay marcas que delimiten ninguno de los objetos individuales del grupo. Ahora, al modificar el objeto agrupado, se modifican todos los objetos que componen el grupo. Para desagrupar un grupo de objetos: 1. Seleccione el grupo de objetos que desea desagrupar. -2. Seleccione **Desagrupar** en el menú **Objeto**.

    O

    Haga clic en el botón **Desagrupar** (variante del botón **Agrupar**) en la barra de herramientas del editor de formularios.

    Si **Desagrupar** está atenuado, esto significa que el objeto seleccionado ya está separado en su forma más sencilla.

    4D marca los límites de los objetos individuales con manijas. +2. Choose **Ungroup** from the **Object** menu.
    OR
    Click the **Ungroup** button (variant of the **Group** button) in the toolbar of the Form editor.
    If **Ungroup** is dimmed, this means that the selected object is already separated into its simplest form. 4D marca los bordes de los objetos individuales con marcas. ### Alinear objetos @@ -275,9 +275,9 @@ El Asistente de Alineación permite realizar cualquier tipo de alineación y/o d Para mostrar esta caja de diálogo, seleccione los objetos que desee alinear y, a continuación, elija el comando **Alineación** del submenú **Alinear** del menú **Objeto** o del menú contextual del editor. -- En las áreas "Alineación izquierda/derecha" y/o "Alineación superior/inferior", haga clic en el icono que corresponda a la alineación que desee realizar.

    El área de ejemplo muestra los resultados de su selección.

    +- En las áreas "Alineación izquierda/derecha" y/o "Alineación superior/inferior", haga clic en el icono que corresponda a la alineación que desee realizar.
    El área de ejemplo muestra los resultados de su selección. -- Para realizar una alineación que utilice el esquema de anclaje estándar, haga clic en **Ver** o **Aplicar**. En este caso, 4D utiliza el objeto que está más lejos en la dirección de la alineación como ancla y alinea los otros objetos a ese objeto. Por ejemplo, si quiere realizar una alineación a la derecha en un conjunto de objetos, el objeto más a la derecha se utilizará como ancla. O:

    para alinear los objetos a un objeto específico, seleccione la opción **Alinear en** y seleccione el objeto al que desea que se alineen los demás objetos de la lista de objetos. En este caso, la posición del objeto de referencia no se alterará.

    +- Para realizar una alineación que utilice el esquema de anclaje estándar, haga clic en **Ver** o **Aplicar**. En este caso, 4D utiliza el objeto que está más lejos en la dirección de la alineación como ancla y alinea los otros objetos a ese objeto. Por ejemplo, si quiere realizar una alineación a la derecha en un conjunto de objetos, el objeto más a la derecha se utilizará como ancla. O:
    para alinear los objetos a un objeto específico, seleccione la opción **Alinear en** y seleccione el objeto al que desea que se alineen los demás objetos de la lista de objetos. En este caso, la posición del objeto de referencia no se alterará. Puede previsualizar los resultados de la alineación haciendo clic en el botón **Previsualización**. Los objetos se alinean entonces en el editor de formularios, pero como la caja de diálogo permanece en el primer plano, aún puede cancelar o aplicar la alineación. @@ -314,7 +314,8 @@ Para repartir los objetos con igual espacio: 1. Seleccione tres o más objetos y haga clic en la herramienta Distribuir correspondiente. -2. En la barra de herramientas, haga clic en la herramienta de distribución correspondiente a la distribución que desea aplicar.

    ![](../assets/en/FormEditor/distributionTool.png)

    O

    Seleccione un comando de menú de distribución en el submenú **Alinear** del menú **Objeto** o en el menú contextual del editor.

    4D distribuye los objetos en consecuencia. Los objetos se distribuyen utilizando la distancia a sus centros y se utiliza como referencia la mayor distancia entre dos objetos consecutivos. +2. In the toolbar, click on the distribution tool that corresponds to the distribution you want to apply.
    ![](../assets/en/FormEditor/distributionTool.png)
    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: @@ -322,9 +323,9 @@ Para distribuir objetos utilizando la caja de diálogo Alinear y Distribuir: 2. Seleccione el comando **Alineación** del submenú **Alinear** del menú **Objeto** o del menú contextual del editor. ¡Aparece la siguiente caja de diálogo:![](../assets/en/FormEditor/alignmentAssistant.png) -3. En las áreas Alineación izquierda/derecha y/o Alineación superior/inferior, haga clic en el icono de distribución estándar: ![](../assets/en/FormEditor/horizontalDistribution.png)

    (Icono de distribución horizontal estándar)

    El área de ejemplo muestra los resultados de su selección. +3. En las áreas Alineación izquierda/derecha y/o Alineación superior/inferior, haga clic en el icono de distribución estándar: ![](../assets/en/FormEditor/horizontalDistribution.png)
    (Icono de distribución horizontal estándar)
    El área de ejemplo muestra los resultados de su selección. -4. Para realizar una distribución que utiliza el esquema estándar, haga clic en **Vista previa** o *Aplicar*.

    En este caso, 4D realizará una distribución estándar para que los objetos estén espaciados de manera equitativa entre ellos.

    O bien:

    para ejecutar una distribución específica, seleccione la opción **Distribuir** (por ejemplo, si desea distribuir los objetos en función de la distancia a su lado derecho). 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 realizar una distribución que utiliza el esquema estándar, haga clic en **Vista previa** o *Aplicar*.
    En este caso, 4D realizará una distribución estándar para que los objetos estén espaciados de manera equitativa entre ellos.
    O bien:
    para ejecutar una distribución específica, seleccione la opción **Distribuir** (por ejemplo, si desea distribuir los objetos en función de la distancia a su lado derecho). 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. @@ -379,11 +380,11 @@ Este párrafo describe la visualización y la modificación del orden de entrada Para ver o cambiar el orden de entrada: -1. Seleccione **Orden de entrada** en el menú **Formulario** o haga clic en el botón Orden de entrada en la barra de herramientas de la ventana:

    ![](../assets/en/FormEditor/zOrder.png)

    +1. Seleccione **Orden de entrada** en el menú **Formulario** o haga clic en el botón Orden de entrada en la barra de herramientas de la ventana:
    ![](../assets/en/FormEditor/zOrder.png)
    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. Para cambiar el orden de entrada de datos, ubique el puntero sobre un objeto del formulario y mientras mantiene presionado el botón del ratón, arrastre el puntero hasta el objeto que desee a continuación en el orden de entrada de datos..

    ![](../assets/en/FormEditor/entryOrder3.png)

    4D ajustará el orden de entrada en consecuencia. +2. Para cambiar el orden de entrada de datos, ubique el puntero sobre un objeto del formulario y mientras mantiene presionado el botón del ratón, arrastre el puntero hasta el objeto que desee a continuación en el orden de entrada de datos..
    ![](../assets/en/FormEditor/entryOrder3.png)
    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. From 76337109f143fd1e578286f7d708bac5658c7e36 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Tue, 21 Oct 2025 09:00:10 +0200 Subject: [PATCH 079/137] New translations forms.md (Spanish) --- .../current/FormEditor/forms.md | 36 +++++++++---------- 1 file changed, 18 insertions(+), 18 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 90a26020484546..dd34615ea6612d 100644 --- a/i18n/es/docusaurus-plugin-content-docs/current/FormEditor/forms.md +++ b/i18n/es/docusaurus-plugin-content-docs/current/FormEditor/forms.md @@ -96,64 +96,64 @@ No hay restricciones en el número de páginas que puede tener un formulario. El Un formulario multipáginas tiene una página de fondo y varias páginas de visualización. Los objetos que se colocan en la página de fondo pueden ser visibles en todas las páginas de visualización, pero sólo se pueden seleccionar y editar en la página de fondo. En los formularios multipágina, debe colocar su paleta de botones en la página de fondo. También es necesario incluir uno o más objetos en la página de fondo que ofrezcan las herramientas de navegación para el usuario. -## Fluent UI rendering (Developer Preview) +## Renderizado Fluent UI (Developer Preview) -On Windows, 4D supports **Fluent UI** form rendering, Microsoft's modern graphical user interface design, based upon **WinUI 3** technology. **WinUI 3** is the foundation of the Windows App SDK and represents the upcoming Windows graphical interfaces. +En Windows, 4D soporta el renderizado de formularios **Fluent UI**, el moderno diseño gráfico de la interfaz de usuario de Microsoft, basado en la tecnología **WinUI 3**. **WinUI 3** es la base del Windows App SDK y representa las próximas interfaces gráficas de Windows. -Fluent UI rendering offers modern and attractive controls, support of dark/light system themes, smoother rendering optimized for high-resolution displays, and consistent user experience aligned with recent Microsoft applications. +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 | | --------------------------------------- | -------------------------------------------- | | ![](../assets/en/FormEditor/fluent.png) | ![](../assets/en/FormEditor/fluent-dark.png) | :::caution Vista previa para desarrolladores -Fluent UI support is currently in the Developer Preview phase. No debe utilizarse en producción. +La compatibilidad con Fluent UI se encuentra actualmente en fase Developer Preview. No debe utilizarse en producción. ::: :::info macOS -This feature can only be used on Windows. On macOS, it is ignored. +Esta funcionalidad sólo se puede utilizar en Windows. En macOS, se ignora. ::: :::tip Entrada de blog relacionada -[Modernize your 4D interfaces with Fluent UI](https://blog.4d.com/modernize-your-4d-interfaces-with-fluent-ui) +[Modernice sus interfaces 4D con Fluent UI](https://blog.4d.com/modernize-your-4d-interfaces-with-fluent-ui) ::: ### Requisitos -The Fluent UI rendering requires that the [**Windows App SDK version 1.7.3**](https://learn.microsoft.com/en-us/windows/apps/windows-app-sdk/downloads) be installed. You need to install this SDK on any Windows machine displaying your forms. +La renderización Fluent UI requiere que esté instalado [**Windows App SDK versión 1.7.3**](https://learn.microsoft.com/en-us/windows/apps/windows-app-sdk/downloads). Debe instalar este SDK en cualquier máquina Windows que muestre sus formularios. -If the Windows App SDK is not properly installed, 4D will render all your forms in classic mode with no error. +Si el Windows App SDK no está correctamente instalado, 4D renderizará todos sus formularios en modo clásico sin error. -### Enabling the Fluent UI rendering +### Activar el renderizado Fluent UI -You can enable the Fluent UI rendering mode at the application level or at the form level. Form setting has priority over application setting. +Puede activar el modo de renderizado Fluent UI a nivel de aplicación o a nivel de formulario. La configuración del formulario tiene prioridad sobre la configuración de la aplicación. -#### Application setting +#### Parámetros de la aplicación -Check the **Use Fluent UI on Windows** option in the "Interface" page of the Settings dialog box. +Seleccione la opción **Utilizar Fluent UI en Windows** en la página "Interfaz" de la caja de diálogo de las Propiedades. ![](../assets/en/FormObjects/fluentui-setting.png) -In this case, the Fluent UI rendering mode will be used by default on Windows for all forms. +En este caso, el modo de renderizado Fluent UI se utilizará por defecto en Windows para todos los formularios. -#### Form setting +#### Parámetros del formulario -Each form can define its own rendering via the **Widget appearance** property. Las siguientes opciones están disponibles: +Cada formulario puede definir su propio renderizado a través de la propiedad **Apariencia de los Widgets**. Las siguientes opciones están disponibles: -- **Inherited**: inherits the global application setting (default), +- **Heredado**: hereda las propiedades globales de la aplicación (por defecto), - **Classic**: uses the classic Windows style, - **Fluent UI**: enables the modern rendering based on Fluent UI.
    ![](../assets/en/FormObjects/fluentui-form.png) The corresponding [JSON form property](./properties_JSONref.md) is `fluentUI` with value undefined (i.e. inherited, default value), "true" or "false". -### Specific behaviors +### Comportamientos específicos When using 4D forms with Fluent UI rendering, you need to pay attention to the following points: From 3dc3b68e4be935882ba27d8c34e6cd51ac0cf30d Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Tue, 21 Oct 2025 09:02:36 +0200 Subject: [PATCH 080/137] New translations privileges.md (Spanish) --- .../docusaurus-plugin-content-docs/current/ORDA/privileges.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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 2e61015157e2aa..5bb31631d97539 100644 --- a/i18n/es/docusaurus-plugin-content-docs/current/ORDA/privileges.md +++ b/i18n/es/docusaurus-plugin-content-docs/current/ORDA/privileges.md @@ -17,7 +17,7 @@ Si un usuario intenta ejecutar una acción y no tiene los derechos de acceso ade ![schema](../assets/en/ORDA/privileges-schema.png) -:::tip Related Blog posts +:::tip Entradas de blog relacionadas [**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/) From 621af4f9502d535dc9200cf85a740b2f1c32f765 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Tue, 21 Oct 2025 09:02:53 +0200 Subject: [PATCH 081/137] New translations components.md (Spanish) --- .../current/Project/components.md | 40 +++++++++---------- 1 file changed, 20 insertions(+), 20 deletions(-) diff --git a/i18n/es/docusaurus-plugin-content-docs/current/Project/components.md b/i18n/es/docusaurus-plugin-content-docs/current/Project/components.md index 360c11733574c2..05ff3c96923e4a 100644 --- a/i18n/es/docusaurus-plugin-content-docs/current/Project/components.md +++ b/i18n/es/docusaurus-plugin-content-docs/current/Project/components.md @@ -3,11 +3,11 @@ id: components title: Dependencias --- -[La arquitectura de los proyectos](../Project/architecture.md) 4D es modular. Puede ofrecer funcionalidades adicionales a sus proyectos 4D instalando [**componentes**](Concepts/components.md) y [**plug-ins**](../Concepts/plug-ins.md). Components are made of 4D code, while plug-ins can be [built using any language](../Extensions/develop-plug-ins.md). +[La arquitectura de los proyectos](../Project/architecture.md) 4D es modular. Puede ofrecer funcionalidades adicionales a sus proyectos 4D instalando [**componentes**](Concepts/components.md) y [**plug-ins**](../Concepts/plug-ins.md). Los componentes están hechos de código 4D, mientras que los plug-ins pueden [construirse utilizando cualquier lenguaje](../Extensions/develop-plug-ins.md). Puede [desarrollar](../Extensions/develop-components.md) y [crear](../Desktop/building.md) sus propios componentes 4D, o descargar componentes públicos compartidos por la comunidad 4D que [se pueden encontrar en GitHub](https://github.com/search?q=4d-component\\\\\\\\\\&type=Repositories). -Once installed in your 4D environment, extensions are handled as **dependencies** with specific properties. +Una vez instalados en su entorno 4D, las extensiones se manejan como **dependencias** con propiedades específicas. ## Componentes interpretados y compilados @@ -317,20 +317,20 @@ Los componentes GitHub a los que se hace referencia se descargan en una carpeta ...donde `` puede ser "4D", "4D Server" o "tool4D". -### Automatic dependency resolution +### Resolución automática de las dependencias -When you add or update a component (whether [local](#local-components) or [from GitHub](#components-stored-on-github)), 4D automatically resolves and installs all dependencies required by that component. Esto incluye: +Cuando añade o actualiza un componente (ya sea [local](#local-components) o [desde GitHub](#components-stored-on-github)), 4D resuelve e instala automáticamente todas las dependencias requeridas por ese componente. Esto incluye: - **Dependencias primarias**: componentes que declara explícitamente en su archivo `dependencies.json` - **Dependencias secundarias**: componentes requeridos por dependencias primarias u otras dependencias secundarias, que se resuelven e instalan automáticamente -The Dependency manager reads each component's own `dependencies.json` file and recursively installs all required dependencies, respecting version specifications whenever possible. This eliminates the need to manually identify and add nested dependencies one by one. +El gestor de dependencias lee el archivo `dependencies.json` de cada componente e instala recursivamente todas las dependencias necesarias, respetando las especificaciones de versión siempre que sea posible. Esto elimina la necesidad de identificar y añadir manualmente las dependencias anidadas una por una. -- **Conflict resolution**: When multiple dependencies require [different versions](#) of the same component, the Dependency manager automatically attempts to resolve conflicts by finding a version that satisfies all overlapping version ranges. If a primary dependency conflicts with secondary dependencies, the primary dependency takes precedence. +- **Resolución de conflictos**: cuando varias dependencias requieren [versiones diferentes](#defining-a-github-dependency-version-range) del mismo componente, el gestor de dependencias intenta automáticamente resolver los conflictos encontrando una versión que satisfaga todos los rangos de versiones superpuestas. Si una dependencia primaria entra en conflicto con dependencias secundarias, la dependencia primaria tiene prioridad. :::note -`dependencies.json` files are ignored in components loaded from the [**Components** folder](architecture.md#components). +Los archivos `dependencies.json` se ignoran en los componentes cargados desde la carpeta [**Components**](architecture.md#components). ::: @@ -364,19 +364,19 @@ Por defecto, se listan todas las dependencias identificadas por el gestor de dep ![dependency-tabs](../assets/en/Project/dependency-tabs.png) -- **All**: All dependencies including both primary (declared) and secondary (automatically resolved) dependencies in a flat list view. -- **Declarado**: dependencias primarias que se declaran explícitamente en el archivo `dependencies.json`. This tab helps you distinguish between dependencies you've directly added and those that were [automatically resolved](#automatic-dependency-resolution). +- **Todas**: todas las dependencias, incluidas las primarias (declaradas) y las secundarias (resueltas automáticamente) en forma de lista. +- **Declarado**: dependencias primarias que se declaran explícitamente en el archivo `dependencies.json`. Esta pestaña le ayuda a distinguir entre las dependencias que ha añadido directamente y las que se han [resuelto automáticamente](#automatic-dependency-resolution). - **Activo**: dependencias que están cargadas y pueden ser utilizadas en el proyecto. Incluye dependencias *overloading*, las cuales son realmente cargadas. Las dependencias *Overloaded* se enumeran en el panel **Conflicts** junto con todas las dependencias en conflicto. - **Inactivo**: dependencias que no están cargadas en el proyecto y no están disponibles. Hay muchas razones posibles para este estado: archivos que faltan, incompatibilidad de versiones... -- **Conflicts**: Dependencies that are loaded but that overloads at least one other dependency at a lower [priority level](#priority). También se muestran las dependencias sobrecargadas para que pueda comprobar el origen del conflicto y tomar las medidas oportunas. +- **Conflictos**: las dependencias que se cargan pero que sobrecargan al menos otra dependencia de un [nivel de prioridad](#priority) inferior. También se muestran las dependencias sobrecargadas para que pueda comprobar el origen del conflicto y tomar las medidas oportunas. ### Dependencias secundarias -The Dependencies panel displays [**secondary dependencies**](#automatic-dependency-resolution) with the `Component dependency` [origin](#dependency-origin): +El panel Dependencias muestra [**dependencias secundarias**](#automatic-dependency-resolution) con la `dependencia del componente` [origen](#dependency-origin): ![recursive-dependency](../assets/en/Project/recursive.png) -When you hover over a secondary dependency, a tooltip displays the parent dependency that requires it. A secondary dependency cannot be [removed](#removing-a-dependency) directly, you must remove or edit the primary dependency that requires it. +Cuando pasa el cursor sobre una dependencia secundaria, una descripción muestra la dependencia padre que la requiere. Una dependencia secundaria no se puede [eliminar](#removing-a-dependency) directamente, hay que eliminar o editar la dependencia primaria que la requiere. ### Estado de dependencias @@ -409,13 +409,13 @@ El panel Dependencias enumera todas las dependencias del proyecto, sea cual sea Las siguientes opciones de origen son posibles: -| Etiqueta de origen | Descripción | -| ------------------------------ | -------------------------------------------------------------------------------------------------------------------------------------------- | -| Built in 4D | Componente 4D integrado, almacenado en la carpeta `Components` de la aplicación 4D | -| Declarado en proyecto | Componente declarado en el archivo [`dependencies.json`](#dependenciesjson) | -| Declarado en el entorno | Component declared in the [`dependencies.json`](#dependenciesjson) file and overriden in the [`environment4d.json`](#environment4djson) file | -| Carpeta Components | Componente ubicado en la carpeta [`Components`](architecture.md#components) | -| Dependencia de los componentes | Componente secundario ([requerido por otro componente](#automatic-dependency-resolution)) | +| Etiqueta de origen | Descripción | +| ------------------------------ | ---------------------------------------------------------------------------------------------------------------------------------------------- | +| Integrado a 4D | Componente 4D integrado, almacenado en la carpeta `Components` de la aplicación 4D | +| Declarado en proyecto | Componente declarado en el archivo [`dependencies.json`](#dependenciesjson) | +| Declarado en el entorno | Componente declarado en el archivo [`dependencies.json`](#dependenciesjson) y anulado en el archivo [`environment4d.json`](#environment4djson) | +| Carpeta Components | Componente ubicado en la carpeta [`Components`](architecture.md#components) | +| Dependencia de los componentes | Componente secundario ([requerido por otro componente](#automatic-dependency-resolution)) | **Clic derecho** en una línea de dependencia y selecciona **Mostrar en el disco** para revelar la ubicación de una dependencia: @@ -469,7 +469,7 @@ Para añadir una [dependencia GitHub](#components-stored-on-github), haga clic e :::note -By default, [components developed by 4D](../Extensions/overview.md#components-developed-by-4d) are listed in the combo box, so that you can easily select and install these features in your environment: +Por defecto, los [componentes desarrollados por 4D](../Extensions/overview.md#components-developed-by-4d) aparecen en el combo box, para que pueda seleccionarlos e instalarlos fácilmente en su entorno: ![dependency-default-git](../assets/en/Project/dependency-default.png) From b57943836dcca22961dcf50c2062202053a19381 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Tue, 21 Oct 2025 09:29:49 +0200 Subject: [PATCH 082/137] New translations openai.md (Spanish) --- .../current/aikit/Classes/OpenAI.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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 cdffaaba7869af..a2a69675bf98f7 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 @@ -11,7 +11,7 @@ The `OpenAI` class provides a client for accessing various OpenAI API resources. | Nombre de la propiedad | Tipo | Descripción | Opcional | | ---------------------- | ---- | ---------------------------------------------------------------------------- | --------------------------------------------------------- | -| `apiKey` | Text | Su [llave OpenAI API](https://platform.openai.com/api-keys). | Can be required by the provider | +| `apiKey` | Text | Su [llave OpenAI API](https://platform.openai.com/api-keys). | Puede ser requerido por el proveedor | | `baseURL` | Text | URL base para las peticiones de la API OpenAI. | Yes (if omitted = use OpenAI Platform) | | `organization` | Text | Su ID de organización OpenAI. | Sí | | `project` | Text | Su ID de proyecto OpenAI. | Sí | From c3c3fb00a37c0b85a062fe1042fd553f51139272 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Tue, 21 Oct 2025 09:29:59 +0200 Subject: [PATCH 083/137] New translations openaichatcompletionsparameters.md (Spanish) --- .../aikit/Classes/OpenAIChatCompletionsParameters.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/i18n/es/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIChatCompletionsParameters.md b/i18n/es/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIChatCompletionsParameters.md index 3c088ca7ccd666..23279b40c9c82a 100644 --- a/i18n/es/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIChatCompletionsParameters.md +++ b/i18n/es/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIChatCompletionsParameters.md @@ -42,9 +42,9 @@ See [OpenAIParameters](./OpenAIParameters.md) for other callback properties. El parámetro `response_format` le permite especificar el formato que el modelo debe salir. This is particularly useful when you need structured data or want to ensure the response follows a specific format. -### Supported Response Format Types +### Tipos de formato de respuesta soportados -#### 1. Text Format (Default) +#### 1. Formato de texto (por defecto) The default response format returns plain text: @@ -55,7 +55,7 @@ var $params := cs.OpenAIChatCompletionsParameters.new({ \ }) ``` -#### 2. JSON Object Format +#### 2. Formato de objetos JSON Forces the model to respond with valid JSON: @@ -115,7 +115,7 @@ $messages.push({ role: "user"; content: "Generate information about a person nam $result := $client.chat.completions.create($messages; $params) ``` -### JSON Schema Properties +### Propiedades del esquema JSON Cuando se utiliza el tipo `json_schema`, puede especificar: From dc67aa55a71421fcccee597a5f24b51bb7caf4fc Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Tue, 21 Oct 2025 09:30:03 +0200 Subject: [PATCH 084/137] New translations openaichathelper.md (Spanish) --- .../current/aikit/Classes/OpenAIChatHelper.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/i18n/es/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIChatHelper.md b/i18n/es/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIChatHelper.md index 0779745588607e..e138dcd16d9c4c 100644 --- a/i18n/es/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIChatHelper.md +++ b/i18n/es/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAIChatHelper.md @@ -74,14 +74,14 @@ $chatHelper.reset() // Clear all previous messages and tools Registers a tool with its handler function for automatic tool call handling. -The *handler* parameter can be: +El parámetro *handler* puede ser: - A **4D.Function**: Direct handler function - Un **Objeto**: un objeto que contiene una propiedad `formula` que coincide con el nombre de la función de la herramienta The handler function receives an object containing the parameters passed from the OpenAI tool call. This object contains key-value pairs where the keys match the parameter names defined in the tool's schema, and the values are the actual arguments provided by the AI model. -#### Register Tool Example +#### Ejemplo de herramienta de registro ```4D // Example 1: Simple registration with direct handler @@ -111,7 +111,7 @@ $chatHelper.registerTool($tool; $handlerObj) | ------------------- | ------- | -------------------------------------------------------- | | *toolsWithHandlers* | Variant | Object or Collection containing tools and their handlers | -Registers multiple tools at once. The parameter can be: +Registers multiple tools at once. El parámetro puede ser: - **Collection**: Array of tool objects (with handlers embedded or separate) - **Object**: Object with function names as keys mapping to tool definitions From c5bf6623bf84b2bfb77022e4766934792c951b3b Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Tue, 21 Oct 2025 09:30:15 +0200 Subject: [PATCH 085/137] New translations openaimessage.md (Spanish) --- .../current/aikit/Classes/OpenAIMessage.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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 3d85542be120c4..ebb12bfbed10a5 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 @@ -48,7 +48,7 @@ var $message:=cs.AIKit.OpenAIMessage({role: "user"; content: "Hello!"}) $message.addImageURL("http://example.com/image.jpg"; "high") ``` -### Respond to a tool call message +### 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. From a340e8225bc088256fbc764fae1172dd3a51b80e Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Tue, 21 Oct 2025 09:30:34 +0200 Subject: [PATCH 086/137] New translations asynchronous-call.md (Spanish) --- .../current/aikit/asynchronous-call.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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 cea52c2b0979e3..ff565bb2601c7b 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 @@ -11,7 +11,7 @@ To make asynchronous calls, you must provide a callback `4D.Function`(`Formula`) The callback function will receive the same result object type (one of [OpenAIResult](Classes/OpenAIResult.md) child classes) that would be returned by the function in synchronous code. Ver ejemplos más abajo. -## Process Considerations +## Consideraciones sobre el proceso The asynchronous method is based on [4D.HTTPRequest](https://developer.4d.com/docs/API/HTTPRequestClass), so the response will be received within the current process. From b600d9c7dbfd4b317fc2f0490c30114b503fb0c3 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Tue, 21 Oct 2025 09:30:35 +0200 Subject: [PATCH 087/137] New translations compatible-openai.md (Spanish) --- .../current/aikit/compatible-openai.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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 a3c3f64be88879..5b5e136edec480 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 @@ -31,7 +31,7 @@ Algunos de ellos ## Local -| Proveedor | Default baseURL | Doc | +| Proveedor | Base URL por defecto | Doc | | ---------------------------------------------------- | --------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | | https://ollama.com/ | http://127.0.0.1:11434/v1 | https://ollama.com/blog/openai-compatibility | | https://lmstudio.ai/ | http://localhost:1234/v1 | https://lmstudio.ai/docs/api/endpoints/openai | From a5da500b6e4a6d46d29e4a8c4d2f7a2dd795a4bb Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Tue, 21 Oct 2025 09:30:55 +0200 Subject: [PATCH 088/137] New translations orda-events.md (Spanish) --- .../current/ORDA/orda-events.md | 52 +++++++++---------- 1 file changed, 26 insertions(+), 26 deletions(-) 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 2502c9f919fd48..12b7b0d036ccbd 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 @@ -8,7 +8,7 @@ title: Entity Events | Lanzamiento | Modificaciones | | ----------- | ----------------------------------------------------------------------------------------------------- | | 21 | Added events: validateSave / saving / afterSave / validateDrop / dropping / afterDrop | -| 20 R10 | touched event added | +| 20 R10 | se ha añadido un evento touched | @@ -58,21 +58,21 @@ Con otras configuraciones remotas (p. ej. Qodly applications, [REST API requests La siguiente tabla lista los eventos ORDA junto con sus reglas. -| Evento | Nivel | Nombre de la función | (C/S) Ejecutado en | Can stop action by returning an error | -| :------------------------- | :------- | :------------------------------------------------------ | :---------------------------------------------------------------------------: | ------------------------------------- | -| Instanciación de entidades | Entity | [`constructor()`](./ordaClasses.md#class-constructor-1) | client | no | -| Atributo tocado | Atributo | `event touched ()` | Depende de la palabra clave [`local`](../ORDA/ordaClasses.md#local-functions) | no | -| | Entity | `event touched()` | Depende de la palabra clave [`local`](../ORDA/ordaClasses.md#local-functions) | no | -| Before saving an entity | Atributo | `validateSave ()` | server | sí | -| | Entity | `validateSave()` | server | sí | -| When saving an entity | Atributo | `saving ()` | server | sí | -| | Entity | `saving()` | server | sí | -| After saving an entity | Entity | `afterSave()` | server | no | -| Before dropping an entity | Atributo | `validateDrop ()` | server | sí | -| | Entity | `validateDrop()` | server | sí | -| When dropping an entity | Atributo | `dropping ()` | server | sí | -| | Entity | `dropping()` | server | sí | -| After dropping an entity | Entity | `afterDrop()` | server | no | +| Evento | Nivel | Nombre de la función | (C/S) Ejecutado en | Can stop action by returning an error | +| :----------------------------- | :------- | :------------------------------------------------------ | :---------------------------------------------------------------------------: | ------------------------------------- | +| Instanciación de entidades | Entity | [`constructor()`](./ordaClasses.md#class-constructor-1) | client | no | +| Atributo tocado | Atributo | `event touched ()` | Depende de la palabra clave [`local`](../ORDA/ordaClasses.md#local-functions) | no | +| | Entity | `event touched()` | Depende de la palabra clave [`local`](../ORDA/ordaClasses.md#local-functions) | no | +| Antes de guardar una entidad | Atributo | `validateSave ()` | server | sí | +| | Entity | `validateSave()` | server | sí | +| Al guardar una entidad | Atributo | `saving ()` | server | sí | +| | Entity | `saving()` | server | sí | +| Después de guardar una entidad | Entity | `afterSave()` | server | no | +| Before dropping an entity | Atributo | `validateDrop ()` | server | sí | +| | Entity | `validateDrop()` | server | sí | +| Al soltar una entidad | Atributo | `dropping ()` | server | sí | +| | Entity | `dropping()` | server | sí | +| After dropping an entity | Entity | `afterDrop()` | server | no | :::note @@ -100,15 +100,15 @@ Event functions accept a single *event* object as parameter. When the function i 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. -### Error object properties +### Propiedades del objeto error -| Propiedad | Tipo | Descripción | Definido por el desarrollador | -| ------------------ | ------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------- | -| errCode | Integer | Igual al comando [`Last errors`](../commands/last-errors.md) | Sí | -| message | Text | Igual al comando [`Last errors`](../commands/last-errors.md) | Sí | -| extraDescription | Object | Free information to set up | Sí | -| 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). Añade el estado `dk status validation failed`.
  • | Yes (default is false) | -| componentSignature | Text | Always "DBEV" | No | +| Propiedad | Tipo | Descripción | Definido por el desarrollador | +| ------------------ | ------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------- | +| errCode | Integer | Igual al comando [`Last errors`](../commands/last-errors.md) | Sí | +| message | Text | Igual al comando [`Last errors`](../commands/last-errors.md) | Sí | +| extraDescription | Object | Free information to set up | Sí | +| 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). Añade el estado `dk status validation failed`.
  • | Sí (por defecto es false) | +| componentSignature | Text | Always "DBEV" | No | - [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: @@ -451,7 +451,7 @@ This event is useful after saving data to propagate the save action outside the The function receives an [*event* object](#event-parameter) as parameter. -- 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. +- 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. #### Ejemplo 1 @@ -644,7 +644,7 @@ This event is useful after dropping data to propagate the drop action outside th The function receives an [*event* object](#event-parameter) as parameter. -- 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. +- 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. :::note From 431d6770df6ca295354f6bb036d235fdf44431ee Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Tue, 21 Oct 2025 09:31:58 +0200 Subject: [PATCH 089/137] New translations sessionclass.md (Spanish) --- .../version-20-R10/API/SessionClass.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/API/SessionClass.md b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/API/SessionClass.md index f9fd60a5858123..e0e303e07ca47a 100644 --- a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/API/SessionClass.md +++ b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/API/SessionClass.md @@ -120,7 +120,7 @@ $isGuest:=Session.isGuest() //$isGuest es True | Parámetros | Tipo | | Descripción | | ---------- | ------- | :-------------------------: | --------------------------------------------------- | | lifespan | Integer | -> | Duración de la vida del token de sesión en segundos | -| Resultado | Text | <- | UUID of the OTP token | +| Resultado | Text | <- | UUID del token OTP | From ed58f62fe9adfc1ba482db1f52017b2e63b5e924 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Tue, 21 Oct 2025 09:34:56 +0200 Subject: [PATCH 090/137] New translations formeditor.md (Spanish) --- .../version-20-R10/FormEditor/formEditor.md | 27 ++++++++++--------- 1 file changed, 14 insertions(+), 13 deletions(-) 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 eeff7b3fd312a1..f0be8595f7bb7b 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 @@ -56,7 +56,7 @@ La barra de herramientas contiene los siguientes elementos: | Icono | Nombre | Descripción | | ------------------------------------------------ | ----------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | ![](../assets/en/FormEditor/execute.png) | Ejecutar el formulario | Se utiliza para probar la ejecución del formulario. Al presionar este botón, 4D abre una nueva ventana y muestra el formulario en su contexto (lista de registros para un formulario lista y página de registro actual para un formulario detallado). El formulario se ejecuta en el proceso principal. | -| ![](../assets/en/FormEditor/selection.png) | [Herramienta de selección](#selecting-objects) | Permite seleccionar, mover y redimensionar los objetos del formulario.

    **Note**: When an object of the Text or Group Box type is selected, pressing the **Enter** key lets you switch to editing mode.

    | +| ![](../assets/en/FormEditor/selection.png) | [Herramienta de selección](#selecting-objects) | Permite seleccionar, mover y redimensionar los objetos del formulario.
    **Nota**: cuando se selecciona un objeto de tipo Texto o Área de Grupo, al presionar la tecla **Intro** se pasa al modo de edición. | | ![](../assets/en/FormEditor/zOrder.png) | [Orden de entrada](#data-entry-order) | Pasa al modo "Orden de entrada", donde es posible ver y cambiar el orden de entrada actual del formulario. Tenga en cuenta que las marcas permiten ver el orden de entrada actual, sin dejar de trabajar en el formulario. | | ![](../assets/en/FormEditor/moving.png) | [Mover](#mover-objetos) | Pasa al modo " Desplazamiento ", en el que es posible llegar rápidamente a cualquier parte del formulario utilizando la función de arrastrar y soltar en la ventana. El cursor toma la forma de una mano. Este modo de navegación es especialmente útil cuando se hace zoom en el formulario. | | ![](../assets/en/FormEditor/zoom.png) | [Zoom](#zoom) | Permite modificar la escala de visualización del formulario (100% por defecto). Puede pasar al modo "Zoom" haciendo clic en la lupa o pulsando directamente en la barra correspondiente a la escala deseada. Esta función se detalla en la sección anterior. | @@ -146,11 +146,11 @@ Antes de poder realizar cualquier operación en un objeto (como cambiar el ancho Para seleccionar un objeto utilizando la barra de herramientas: -1. Haga clic en la herramienta Flecha de la barra de herramientas.

    ![](../assets/en/FormEditor/selection.png)

    +1. Haga clic en la herramienta Flecha de la barra de herramientas.
    ![](../assets/en/FormEditor/selection.png) -

    Cuando se mueve el puntero en el área del formulario, se convierte en un puntero estándar con forma de flecha

    . +
    When you move the pointer into the form area, it becomes a standard arrow-shaped pointer. -2. Haga clic en el objeto que desea seleccionar. Las manillas de redimensionamiento identifican el objeto seleccionado.

    ![](../assets/en/FormEditor/selectResize.png)

    +2. Haga clic en el objeto que desea seleccionar. Las manillas de redimensionamiento identifican el objeto seleccionado.
    ![](../assets/en/FormEditor/selectResize.png) Para seleccionar un objeto utilizando la Lista de propiedades: @@ -241,13 +241,13 @@ Para agrupar los objetos: 1. Seleccione los objetos que desea agrupar. 2. Elija **Agrupar** en el menú Objetos. O - Haga clic en el botón Agrupar en la barra de herramientas del editor de formularios:

    ![](../assets/en/FormEditor/group.png)

    + Haga clic en el botón Agrupar en la barra de herramientas del editor de formularios:
    ![](../assets/en/FormEditor/group.png) 4D marca el límite de los objetos recién agrupados con manijas. No hay marcas que delimiten ninguno de los objetos individuales del grupo. Ahora, al modificar el objeto agrupado, se modifican todos los objetos que componen el grupo. Para desagrupar un grupo de objetos: 1. Seleccione el grupo de objetos que desea desagrupar. -2. Choose **Ungroup** from the **Object** menu.

    OR

    Click the **Ungroup** button (variant of the **Group** button) in the toolbar of the Form editor.

    If **Ungroup** is dimmed, this means that the selected object is already separated into its simplest form.

    4D marca los bordes de los objetos individuales con marcas. +2. Choose **Ungroup** from the **Object** menu.
    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. ### Alinear objetos @@ -275,9 +275,9 @@ El Asistente de Alineación permite realizar cualquier tipo de alineación y/o d Para mostrar esta caja de diálogo, seleccione los objetos que desee alinear y, a continuación, elija el comando **Alineación** del submenú **Alinear** del menú **Objeto** o del menú contextual del editor. -- In the “Left/Right Alignment” and/or “Top/Bottom Alignment” areas, click the icon that corresponds to the alignment you want to perform.

    El área de ejemplo muestra los resultados de su selección.

    +- In the “Left/Right Alignment” and/or “Top/Bottom Alignment” areas, click the icon that corresponds to the alignment you want to perform.
    El área de ejemplo muestra los resultados de su selección. -- Para realizar una alineación que utilice el esquema de anclaje estándar, haga clic en **Ver** o **Aplicar**. En este caso, 4D utiliza el objeto que está más lejos en la dirección de la alineación como ancla y alinea los otros objetos a ese objeto. Por ejemplo, si quiere realizar una alineación a la derecha en un conjunto de objetos, el objeto más a la derecha se utilizará como ancla. O:

    para alinear los objetos a un objeto específico, seleccione la opción **Alinear en** y seleccione el objeto al que desea que se alineen los demás objetos de la lista de objetos. En este caso, la posición del objeto de referencia no se alterará.

    +- Para realizar una alineación que utilice el esquema de anclaje estándar, haga clic en **Ver** o **Aplicar**. En este caso, 4D utiliza el objeto que está más lejos en la dirección de la alineación como ancla y alinea los otros objetos a ese objeto. Por ejemplo, si quiere realizar una alineación a la derecha en un conjunto de objetos, el objeto más a la derecha se utilizará como ancla. O:
    para alinear los objetos a un objeto específico, seleccione la opción **Alinear en** y seleccione el objeto al que desea que se alineen los demás objetos de la lista de objetos. En este caso, la posición del objeto de referencia no se alterará. Puede previsualizar los resultados de la alineación haciendo clic en el botón **Previsualización**. Los objetos se alinean entonces en el editor de formularios, pero como la caja de diálogo permanece en el primer plano, aún puede cancelar o aplicar la alineación. @@ -314,7 +314,8 @@ 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.

    ![](../assets/en/FormEditor/distributionTool.png)

    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. +2. In the toolbar, click on the distribution tool that corresponds to the distribution you want to apply.
    ![](../assets/en/FormEditor/distributionTool.png)
    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: @@ -322,9 +323,9 @@ Para distribuir objetos utilizando la caja de diálogo Alinear y Distribuir: 2. Seleccione el comando **Alineación** del submenú **Alinear** del menú **Objeto** o del menú contextual del editor. ¡Aparece la siguiente caja de diálogo:![](../assets/en/FormEditor/alignmentAssistant.png) -3. En las áreas Alineación izquierda/derecha y/o Alineación superior/inferior, haga clic en el icono de distribución estándar: ![](../assets/en/FormEditor/horizontalDistribution.png)

    (Icono de distribución horizontal estándar)

    El área de ejemplo muestra los resultados de su selección. +3. En las áreas Alineación izquierda/derecha y/o Alineación superior/inferior, haga clic en el icono de distribución estándar: ![](../assets/en/FormEditor/horizontalDistribution.png)
    (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. 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:
    - 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. @@ -379,11 +380,11 @@ Este párrafo describe la visualización y la modificación del orden de entrada Para ver o cambiar el orden de entrada: -1. Seleccione **Orden de entrada** en el menú **Formulario** o haga clic en el botón Orden de entrada en la barra de herramientas de la ventana:

    ![](../assets/en/FormEditor/zOrder.png)

    +1. Seleccione **Orden de entrada** en el menú **Formulario** o haga clic en el botón Orden de entrada en la barra de herramientas de la ventana:
    ![](../assets/en/FormEditor/zOrder.png)
    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.

    ![](../assets/en/FormEditor/entryOrder3.png)

    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.
    ![](../assets/en/FormEditor/entryOrder3.png)
    4D will adjust the entry order accordingly. 3. Repita el paso 2 tantas veces como sea necesario para establecer el orden de entrada de datos que desee. From 82d8809950a1dda0e53661b1cdf74bd7b46819d9 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Tue, 21 Oct 2025 09:36:55 +0200 Subject: [PATCH 091/137] New translations orda-events.md (Spanish) --- .../version-20-R10/ORDA/orda-events.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) 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 a366adf9f54881..b13d7f36544020 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 @@ -5,9 +5,9 @@ title: Entity Events
    Historia -| Lanzamiento | Modificaciones | -| ----------- | ------------------- | -| 20 R10 | touched event added | +| Lanzamiento | Modificaciones | +| ----------- | ------------------------------- | +| 20 R10 | se ha añadido un evento touched |
    From 26267147056110a30e355fad0a2528cdf466a3b9 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Tue, 21 Oct 2025 09:37:13 +0200 Subject: [PATCH 092/137] New translations components.md (Spanish) --- .../version-20-R10/Project/components.md | 34 +++++++++---------- 1 file changed, 17 insertions(+), 17 deletions(-) diff --git a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/Project/components.md b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/Project/components.md index f158b4a86b6fd1..4278b5bd24df39 100644 --- a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/Project/components.md +++ b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/Project/components.md @@ -330,20 +330,20 @@ Los componentes GitHub a los que se hace referencia se descargan en una carpeta ...donde `` puede ser "4D", "4D Server" o "tool4D". -### Automatic dependency resolution +### Resolución automática de las dependencias -When you add or update a component (whether [local](#local-components) or [from GitHub](#components-stored-on-github)), 4D automatically resolves and installs all dependencies required by that component. Esto incluye: +Cuando añade o actualiza un componente (ya sea [local](#local-components) o [desde GitHub](#components-stored-on-github)), 4D resuelve e instala automáticamente todas las dependencias requeridas por ese componente. Esto incluye: - **Dependencias primarias**: componentes que declara explícitamente en su archivo `dependencies.json` - **Dependencias secundarias**: componentes requeridos por dependencias primarias u otras dependencias secundarias, que se resuelven e instalan automáticamente -The Dependency manager reads each component's own `dependencies.json` file and recursively installs all required dependencies, respecting version specifications whenever possible. This eliminates the need to manually identify and add nested dependencies one by one. +El gestor de dependencias lee el archivo `dependencies.json` de cada componente e instala recursivamente todas las dependencias necesarias, respetando las especificaciones de versión siempre que sea posible. Esto elimina la necesidad de identificar y añadir manualmente las dependencias anidadas una por una. -- **Conflict resolution**: When multiple dependencies require [different versions](#) of the same component, the Dependency manager automatically attempts to resolve conflicts by finding a version that satisfies all overlapping version ranges. If a primary dependency conflicts with secondary dependencies, the primary dependency takes precedence. +- **Resolución de conflictos**: cuando varias dependencias requieren [versiones diferentes](#defining-a-github-dependency-version-range) del mismo componente, el gestor de dependencias intenta automáticamente resolver los conflictos encontrando una versión que satisfaga todos los rangos de versiones superpuestas. Si una dependencia primaria entra en conflicto con dependencias secundarias, la dependencia primaria tiene prioridad. :::note -`dependencies.json` files are ignored in components loaded from the [**Components** folder](architecture.md#components). +Los archivos `dependencies.json` se ignoran en los componentes cargados desde la carpeta [**Components**](architecture.md#components). ::: @@ -377,19 +377,19 @@ Por defecto, se listan todas las dependencias identificadas por el gestor de dep ![dependency-tabs](../assets/en/Project/dependency-tabs.png) -- **All**: All dependencies including both primary (declared) and secondary (automatically resolved) dependencies in a flat list view. -- **Declarado**: dependencias primarias que se declaran explícitamente en el archivo `dependencies.json`. This tab helps you distinguish between dependencies you've directly added and those that were [automatically resolved](#automatic-dependency-resolution). +- **Todas**: todas las dependencias, incluidas las primarias (declaradas) y las secundarias (resueltas automáticamente) en forma de lista. +- **Declarado**: dependencias primarias que se declaran explícitamente en el archivo `dependencies.json`. Esta pestaña le ayuda a distinguir entre las dependencias que ha añadido directamente y las que se han [resuelto automáticamente](#automatic-dependency-resolution). - **Activo**: dependencias que están cargadas y pueden ser utilizadas en el proyecto. Incluye dependencias *overloading*, las cuales son realmente cargadas. Las dependencias *Overloaded* se enumeran en el panel **Conflicts** junto con todas las dependencias en conflicto. - **Inactivo**: dependencias que no están cargadas en el proyecto y no están disponibles. Hay muchas razones posibles para este estado: archivos que faltan, incompatibilidad de versiones... -- **Conflicts**: Dependencies that are loaded but that overloads at least one other dependency at a lower [priority level](#priority). También se muestran las dependencias sobrecargadas para que pueda comprobar el origen del conflicto y tomar las medidas oportunas. +- **Conflictos**: las dependencias que se cargan pero que sobrecargan al menos otra dependencia de un [nivel de prioridad](#priority) inferior. También se muestran las dependencias sobrecargadas para que pueda comprobar el origen del conflicto y tomar las medidas oportunas. ### Dependencias secundarias -The Dependencies panel displays [**secondary dependencies**](#automatic-dependency-resolution) with the `Component dependency` [origin](#dependency-origin): +El panel Dependencias muestra [**dependencias secundarias**](#automatic-dependency-resolution) con la `dependencia del componente` [origen](#dependency-origin): ![recursive-dependency](../assets/en/Project/recursive.png) -When you hover over a secondary dependency, a tooltip displays the parent dependency that requires it. A secondary dependency cannot be [removed](#removing-a-dependency) directly, you must remove or edit the primary dependency that requires it. +Cuando pasa el cursor sobre una dependencia secundaria, una descripción muestra la dependencia padre que la requiere. Una dependencia secundaria no se puede [eliminar](#removing-a-dependency) directamente, hay que eliminar o editar la dependencia primaria que la requiere. ### Estado de dependencias @@ -422,13 +422,13 @@ El panel Dependencias enumera todas las dependencias del proyecto, sea cual sea Las siguientes opciones de origen son posibles: -| Etiqueta de origen | Descripción | -| ------------------------------ | -------------------------------------------------------------------------------------------------------------------------------------------- | -| Built in 4D | Componente 4D integrado, almacenado en la carpeta `Components` de la aplicación 4D | -| Declarado en proyecto | Componente declarado en el archivo [`dependencies.json`](#dependenciesjson) | -| Declarado en el entorno | Component declared in the [`dependencies.json`](#dependenciesjson) file and overriden in the [`environment4d.json`](#environment4djson) file | -| Carpeta Components | Componente ubicado en la carpeta [`Components`](architecture.md#components) | -| Dependencia de los componentes | Componente secundario ([requerido por otro componente](#automatic-dependency-resolution)) | +| Etiqueta de origen | Descripción | +| ------------------------------ | ---------------------------------------------------------------------------------------------------------------------------------------------- | +| Integrado a 4D | Componente 4D integrado, almacenado en la carpeta `Components` de la aplicación 4D | +| Declarado en proyecto | Componente declarado en el archivo [`dependencies.json`](#dependenciesjson) | +| Declarado en el entorno | Componente declarado en el archivo [`dependencies.json`](#dependenciesjson) y anulado en el archivo [`environment4d.json`](#environment4djson) | +| Carpeta Components | Componente ubicado en la carpeta [`Components`](architecture.md#components) | +| Dependencia de los componentes | Componente secundario ([requerido por otro componente](#automatic-dependency-resolution)) | **Clic derecho** en una línea de dependencia y selecciona **Mostrar en el disco** para revelar la ubicación de una dependencia: From 5bbf2840dbe52e1926c5930653b10bbf3c859840 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Tue, 21 Oct 2025 09:40:56 +0200 Subject: [PATCH 093/137] New translations http-request-handler.md (Spanish) --- .../version-20-R10/WebServer/http-request-handler.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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 4dbc4001c1fdac..5a5143056222b6 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 @@ -62,7 +62,7 @@ You must restart the Web server so that modifications made in this file are take Un manejador está definido por: -- a listened URL pattern +- un patrón de URL a interceptar - a function and its class where the code is implemented to handle the listened URL pattern - the verbs with which the URL can be called to trigger the handler From bfeaa47750f56d19f730d63421bf41b7e6cac7e5 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Tue, 21 Oct 2025 09:41:32 +0200 Subject: [PATCH 094/137] New translations openai.md (Spanish) --- .../version-20-R10/aikit/Classes/OpenAI.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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 78314e72ed1705..b218df5a79d550 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 @@ -11,7 +11,7 @@ The `OpenAI` class provides a client for accessing various OpenAI API resources. | Nombre de la propiedad | Tipo | Descripción | Opcional | | ---------------------- | ---- | ---------------------------------------------------------------------------- | --------------------------------------------------------- | -| `apiKey` | Text | Su [llave OpenAI API](https://platform.openai.com/api-keys). | Can be required by the provider | +| `apiKey` | Text | Su [llave OpenAI API](https://platform.openai.com/api-keys). | Puede ser requerido por el proveedor | | `baseURL` | Text | URL base para las peticiones de la API OpenAI. | Yes (if omitted = use OpenAI provider) | | `organization` | Text | Su ID de organización OpenAI. | Sí | | `project` | Text | Su ID de proyecto OpenAI. | Sí | From 2f039552ab466c7b179fcaa07f5230c6ffdfb791 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Tue, 21 Oct 2025 09:42:12 +0200 Subject: [PATCH 095/137] New translations compatible-openai.md (Spanish) --- .../version-20-R10/aikit/compatible-openai.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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 a3c3f64be88879..5b5e136edec480 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 @@ -31,7 +31,7 @@ Algunos de ellos ## Local -| Proveedor | Default baseURL | Doc | +| Proveedor | Base URL por defecto | Doc | | ---------------------------------------------------- | --------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | | https://ollama.com/ | http://127.0.0.1:11434/v1 | https://ollama.com/blog/openai-compatibility | | https://lmstudio.ai/ | http://localhost:1234/v1 | https://lmstudio.ai/docs/api/endpoints/openai | From beb7748c9696dfb795a80f3071f081025e7179d3 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Tue, 21 Oct 2025 10:07:08 +0200 Subject: [PATCH 096/137] New translations openaitool.md (Spanish) --- .../current/aikit/Classes/OpenAITool.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/i18n/es/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAITool.md b/i18n/es/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAITool.md index dbe20d10764afa..e46e25346cc85a 100644 --- a/i18n/es/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAITool.md +++ b/i18n/es/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAITool.md @@ -27,7 +27,7 @@ See [OpenAIMessage](OpenAIMessage.md) to see how to responds to a tool call. | `name` | Text | The name of the tool, which works as an identifier. | | `descripción` | Text | Description of the tool to help the LLM decide when to use it. | -### Function-specific Properties +### Propiedades específicas de la función | Propiedad | Tipo | Descripción | | ------------ | ------ | -------------------------------------------------------------------------------- | @@ -48,7 +48,7 @@ Crea una nueva instancia de OpenAITool. The constructor accepts both simplified #### Formatos soportados -**Simplified format:** +**Formato simplificado:** ```4d var $tool := cs.OpenAITool.new({ \ @@ -64,7 +64,7 @@ var $tool := cs.OpenAITool.new({ \ }) ``` -**OpenAI API format:** +**Formato de la API OpenAI** ```4d var $tool := cs.OpenAITool.new({ \ From 534eaf0bf78ce7482d1a6f99a3771654cf4b407c Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Tue, 21 Oct 2025 10:07:10 +0200 Subject: [PATCH 097/137] New translations http-rules.md (Spanish) --- .../current/WebServer/http-rules.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) 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 fb6538d1b50df9..c362533f28a3d9 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 @@ -33,13 +33,13 @@ If the URI of the request does not match any of the RegEx patterns, the web serv The **HTTPRules.json** file or the [`.rules`](../API/WebServerClass.md#rules) property must contain a collection of **rule objects**. -A rule object is defined by: +Un objeto regla se define por: - a RegEx describing a URL pattern, e.g. "^(.\*\\.(jpg|jpeg|png|gif))" - the name of the action to execute for the HTTP response, e.g. "removeHeaders" - the value of the action, e.g. "X-Unwanted-Header1" -Other properties are ignored. +Las demás propiedades se ignoran. ### Patrones de la URL @@ -55,14 +55,14 @@ The following action keywords are supported: | Palabras clave | Tipo de valor | Descripción | | --------------- | --------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `removeHeaders` | Text or Collection of texts | Header(s) to remove from the HTTP responses. If a header to remove does not exist in the response header, it is ignored. | +| `removeHeaders` | Texto o colección de textos | Header(s) to remove from the HTTP responses. If a header to remove does not exist in the response header, it is ignored. | | `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. If a header to modify does not exist in the response header, it is added. | | `denyAccess` | Boolean | true to deny access to the resource, false to allow access. When the access to a resource is denied, the web server returns a 403 status by default | | `redirect` | Text | Redirection URL. When a redirection is triggered, the web server returns a 302 status by default | | `status` | Number | Estado HTTP | -### Non-modifiable headers +### Encabezados no modificables Some headers could not be added, modified or removed: @@ -89,7 +89,7 @@ $rules:=WEB Server.rules //current rules Rules can be set using a `HTTPRules.json` file or the *settings* parameter of the [`.start()`](../API/WebServerClass.md#start) web server function. -### Using a HTTPRules.json file +### Utilización de un archivo HTTPRules.json ```json From c7716534bd79cec4904c43333d7327f3e866d0e8 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Tue, 21 Oct 2025 10:11:26 +0200 Subject: [PATCH 098/137] New translations formeditor.md (Spanish) --- .../version-21/FormEditor/formEditor.md | 27 ++++++++++--------- 1 file changed, 14 insertions(+), 13 deletions(-) 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 eeff7b3fd312a1..f0be8595f7bb7b 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 @@ -56,7 +56,7 @@ La barra de herramientas contiene los siguientes elementos: | Icono | Nombre | Descripción | | ------------------------------------------------ | ----------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | ![](../assets/en/FormEditor/execute.png) | Ejecutar el formulario | Se utiliza para probar la ejecución del formulario. Al presionar este botón, 4D abre una nueva ventana y muestra el formulario en su contexto (lista de registros para un formulario lista y página de registro actual para un formulario detallado). El formulario se ejecuta en el proceso principal. | -| ![](../assets/en/FormEditor/selection.png) | [Herramienta de selección](#selecting-objects) | Permite seleccionar, mover y redimensionar los objetos del formulario.

    **Note**: When an object of the Text or Group Box type is selected, pressing the **Enter** key lets you switch to editing mode.

    | +| ![](../assets/en/FormEditor/selection.png) | [Herramienta de selección](#selecting-objects) | Permite seleccionar, mover y redimensionar los objetos del formulario.
    **Nota**: cuando se selecciona un objeto de tipo Texto o Área de Grupo, al presionar la tecla **Intro** se pasa al modo de edición. | | ![](../assets/en/FormEditor/zOrder.png) | [Orden de entrada](#data-entry-order) | Pasa al modo "Orden de entrada", donde es posible ver y cambiar el orden de entrada actual del formulario. Tenga en cuenta que las marcas permiten ver el orden de entrada actual, sin dejar de trabajar en el formulario. | | ![](../assets/en/FormEditor/moving.png) | [Mover](#mover-objetos) | Pasa al modo " Desplazamiento ", en el que es posible llegar rápidamente a cualquier parte del formulario utilizando la función de arrastrar y soltar en la ventana. El cursor toma la forma de una mano. Este modo de navegación es especialmente útil cuando se hace zoom en el formulario. | | ![](../assets/en/FormEditor/zoom.png) | [Zoom](#zoom) | Permite modificar la escala de visualización del formulario (100% por defecto). Puede pasar al modo "Zoom" haciendo clic en la lupa o pulsando directamente en la barra correspondiente a la escala deseada. Esta función se detalla en la sección anterior. | @@ -146,11 +146,11 @@ Antes de poder realizar cualquier operación en un objeto (como cambiar el ancho Para seleccionar un objeto utilizando la barra de herramientas: -1. Haga clic en la herramienta Flecha de la barra de herramientas.

    ![](../assets/en/FormEditor/selection.png)

    +1. Haga clic en la herramienta Flecha de la barra de herramientas.
    ![](../assets/en/FormEditor/selection.png) -

    Cuando se mueve el puntero en el área del formulario, se convierte en un puntero estándar con forma de flecha

    . +
    When you move the pointer into the form area, it becomes a standard arrow-shaped pointer. -2. Haga clic en el objeto que desea seleccionar. Las manillas de redimensionamiento identifican el objeto seleccionado.

    ![](../assets/en/FormEditor/selectResize.png)

    +2. Haga clic en el objeto que desea seleccionar. Las manillas de redimensionamiento identifican el objeto seleccionado.
    ![](../assets/en/FormEditor/selectResize.png) Para seleccionar un objeto utilizando la Lista de propiedades: @@ -241,13 +241,13 @@ Para agrupar los objetos: 1. Seleccione los objetos que desea agrupar. 2. Elija **Agrupar** en el menú Objetos. O - Haga clic en el botón Agrupar en la barra de herramientas del editor de formularios:

    ![](../assets/en/FormEditor/group.png)

    + Haga clic en el botón Agrupar en la barra de herramientas del editor de formularios:
    ![](../assets/en/FormEditor/group.png) 4D marca el límite de los objetos recién agrupados con manijas. No hay marcas que delimiten ninguno de los objetos individuales del grupo. Ahora, al modificar el objeto agrupado, se modifican todos los objetos que componen el grupo. Para desagrupar un grupo de objetos: 1. Seleccione el grupo de objetos que desea desagrupar. -2. Choose **Ungroup** from the **Object** menu.

    OR

    Click the **Ungroup** button (variant of the **Group** button) in the toolbar of the Form editor.

    If **Ungroup** is dimmed, this means that the selected object is already separated into its simplest form.

    4D marca los bordes de los objetos individuales con marcas. +2. Choose **Ungroup** from the **Object** menu.
    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. ### Alinear objetos @@ -275,9 +275,9 @@ El Asistente de Alineación permite realizar cualquier tipo de alineación y/o d Para mostrar esta caja de diálogo, seleccione los objetos que desee alinear y, a continuación, elija el comando **Alineación** del submenú **Alinear** del menú **Objeto** o del menú contextual del editor. -- In the “Left/Right Alignment” and/or “Top/Bottom Alignment” areas, click the icon that corresponds to the alignment you want to perform.

    El área de ejemplo muestra los resultados de su selección.

    +- In the “Left/Right Alignment” and/or “Top/Bottom Alignment” areas, click the icon that corresponds to the alignment you want to perform.
    El área de ejemplo muestra los resultados de su selección. -- Para realizar una alineación que utilice el esquema de anclaje estándar, haga clic en **Ver** o **Aplicar**. En este caso, 4D utiliza el objeto que está más lejos en la dirección de la alineación como ancla y alinea los otros objetos a ese objeto. Por ejemplo, si quiere realizar una alineación a la derecha en un conjunto de objetos, el objeto más a la derecha se utilizará como ancla. O:

    para alinear los objetos a un objeto específico, seleccione la opción **Alinear en** y seleccione el objeto al que desea que se alineen los demás objetos de la lista de objetos. En este caso, la posición del objeto de referencia no se alterará.

    +- Para realizar una alineación que utilice el esquema de anclaje estándar, haga clic en **Ver** o **Aplicar**. En este caso, 4D utiliza el objeto que está más lejos en la dirección de la alineación como ancla y alinea los otros objetos a ese objeto. Por ejemplo, si quiere realizar una alineación a la derecha en un conjunto de objetos, el objeto más a la derecha se utilizará como ancla. O:
    para alinear los objetos a un objeto específico, seleccione la opción **Alinear en** y seleccione el objeto al que desea que se alineen los demás objetos de la lista de objetos. En este caso, la posición del objeto de referencia no se alterará. Puede previsualizar los resultados de la alineación haciendo clic en el botón **Previsualización**. Los objetos se alinean entonces en el editor de formularios, pero como la caja de diálogo permanece en el primer plano, aún puede cancelar o aplicar la alineación. @@ -314,7 +314,8 @@ 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.

    ![](../assets/en/FormEditor/distributionTool.png)

    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. +2. In the toolbar, click on the distribution tool that corresponds to the distribution you want to apply.
    ![](../assets/en/FormEditor/distributionTool.png)
    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: @@ -322,9 +323,9 @@ Para distribuir objetos utilizando la caja de diálogo Alinear y Distribuir: 2. Seleccione el comando **Alineación** del submenú **Alinear** del menú **Objeto** o del menú contextual del editor. ¡Aparece la siguiente caja de diálogo:![](../assets/en/FormEditor/alignmentAssistant.png) -3. En las áreas Alineación izquierda/derecha y/o Alineación superior/inferior, haga clic en el icono de distribución estándar: ![](../assets/en/FormEditor/horizontalDistribution.png)

    (Icono de distribución horizontal estándar)

    El área de ejemplo muestra los resultados de su selección. +3. En las áreas Alineación izquierda/derecha y/o Alineación superior/inferior, haga clic en el icono de distribución estándar: ![](../assets/en/FormEditor/horizontalDistribution.png)
    (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. 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:
    - 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. @@ -379,11 +380,11 @@ Este párrafo describe la visualización y la modificación del orden de entrada Para ver o cambiar el orden de entrada: -1. Seleccione **Orden de entrada** en el menú **Formulario** o haga clic en el botón Orden de entrada en la barra de herramientas de la ventana:

    ![](../assets/en/FormEditor/zOrder.png)

    +1. Seleccione **Orden de entrada** en el menú **Formulario** o haga clic en el botón Orden de entrada en la barra de herramientas de la ventana:
    ![](../assets/en/FormEditor/zOrder.png)
    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.

    ![](../assets/en/FormEditor/entryOrder3.png)

    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.
    ![](../assets/en/FormEditor/entryOrder3.png)
    4D will adjust the entry order accordingly. 3. Repita el paso 2 tantas veces como sea necesario para establecer el orden de entrada de datos que desee. From 1c53ee3934968dfafb39eef8f8bad271a3eef607 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Tue, 21 Oct 2025 10:11:28 +0200 Subject: [PATCH 099/137] New translations forms.md (Spanish) --- .../version-21/FormEditor/forms.md | 34 +++++++++---------- 1 file changed, 17 insertions(+), 17 deletions(-) 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 90a26020484546..62fd87c2f3ffa9 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 @@ -96,11 +96,11 @@ No hay restricciones en el número de páginas que puede tener un formulario. El Un formulario multipáginas tiene una página de fondo y varias páginas de visualización. Los objetos que se colocan en la página de fondo pueden ser visibles en todas las páginas de visualización, pero sólo se pueden seleccionar y editar en la página de fondo. En los formularios multipágina, debe colocar su paleta de botones en la página de fondo. También es necesario incluir uno o más objetos en la página de fondo que ofrezcan las herramientas de navegación para el usuario. -## Fluent UI rendering (Developer Preview) +## Renderizado Fluent UI (Developer Preview) -On Windows, 4D supports **Fluent UI** form rendering, Microsoft's modern graphical user interface design, based upon **WinUI 3** technology. **WinUI 3** is the foundation of the Windows App SDK and represents the upcoming Windows graphical interfaces. +En Windows, 4D soporta el renderizado de formularios **Fluent UI**, el moderno diseño gráfico de la interfaz de usuario de Microsoft, basado en la tecnología **WinUI 3**. **WinUI 3** es la base del Windows App SDK y representa las próximas interfaces gráficas de Windows. -Fluent UI rendering offers modern and attractive controls, support of dark/light system themes, smoother rendering optimized for high-resolution displays, and consistent user experience aligned with recent Microsoft applications. +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 | | --------------------------------------- | -------------------------------------------- | @@ -108,52 +108,52 @@ Fluent UI rendering offers modern and attractive controls, support of dark/light :::caution Vista previa para desarrolladores -Fluent UI support is currently in the Developer Preview phase. No debe utilizarse en producción. +La compatibilidad con Fluent UI se encuentra actualmente en fase Developer Preview. No debe utilizarse en producción. ::: :::info macOS -This feature can only be used on Windows. On macOS, it is ignored. +Esta funcionalidad sólo se puede utilizar en Windows. En macOS, se ignora. ::: :::tip Entrada de blog relacionada -[Modernize your 4D interfaces with Fluent UI](https://blog.4d.com/modernize-your-4d-interfaces-with-fluent-ui) +[Modernice sus interfaces 4D con Fluent UI](https://blog.4d.com/modernize-your-4d-interfaces-with-fluent-ui) ::: ### Requisitos -The Fluent UI rendering requires that the [**Windows App SDK version 1.7.3**](https://learn.microsoft.com/en-us/windows/apps/windows-app-sdk/downloads) be installed. You need to install this SDK on any Windows machine displaying your forms. +La renderización Fluent UI requiere que esté instalado [**Windows App SDK versión 1.7.3**](https://learn.microsoft.com/en-us/windows/apps/windows-app-sdk/downloads). Debe instalar este SDK en cualquier máquina Windows que muestre sus formularios. -If the Windows App SDK is not properly installed, 4D will render all your forms in classic mode with no error. +Si el Windows App SDK no está correctamente instalado, 4D renderizará todos sus formularios en modo clásico sin error. -### Enabling the Fluent UI rendering +### Activar el renderizado Fluent UI -You can enable the Fluent UI rendering mode at the application level or at the form level. Form setting has priority over application setting. +Puede activar el modo de renderizado Fluent UI a nivel de aplicación o a nivel de formulario. La configuración del formulario tiene prioridad sobre la configuración de la aplicación. -#### Application setting +#### Parámetros de la aplicación -Check the **Use Fluent UI on Windows** option in the "Interface" page of the Settings dialog box. +Seleccione la opción **Utilizar Fluent UI en Windows** en la página "Interfaz" de la caja de diálogo de las Propiedades. ![](../assets/en/FormObjects/fluentui-setting.png) -In this case, the Fluent UI rendering mode will be used by default on Windows for all forms. +En este caso, el modo de renderizado Fluent UI se utilizará por defecto en Windows para todos los formularios. -#### Form setting +#### Parámetros del formulario -Each form can define its own rendering via the **Widget appearance** property. Las siguientes opciones están disponibles: +Cada formulario puede definir su propio renderizado a través de la propiedad **Apariencia de los Widgets**. Las siguientes opciones están disponibles: -- **Inherited**: inherits the global application setting (default), +- **Heredado**: hereda las propiedades globales de la aplicación (por defecto), - **Classic**: uses the classic Windows style, - **Fluent UI**: enables the modern rendering based on Fluent UI.
    ![](../assets/en/FormObjects/fluentui-form.png) The corresponding [JSON form property](./properties_JSONref.md) is `fluentUI` with value undefined (i.e. inherited, default value), "true" or "false". -### Specific behaviors +### Comportamientos específicos When using 4D forms with Fluent UI rendering, you need to pay attention to the following points: From 293aa2a278e7ccb4941155d8757948a7bfa64289 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Tue, 21 Oct 2025 10:26:51 +0200 Subject: [PATCH 100/137] New translations webarea_overview.md (Spanish) --- .../version-21/FormObjects/webArea_overview.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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 9ecdfb1282a9cb..75ae00ef3c98c9 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 @@ -9,7 +9,7 @@ Es posible crear varias áreas web en el mismo formulario. Tenga en cuenta, sin Varias [acciones estándar](#standard-actions) dedicadas, numerosos [comandos de lenguaje](../category/web-area) así como [eventos de formulario](#form-events) genéricos y específicos permiten al desarrollador controlar el funcionamiento de las áreas web. Se pueden utilizar variables específicas para intercambiar información entre el área y el entorno 4D. -:::info Displaying Qodly pages +:::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. From 601fd85c135d96001eb59617d1c852073ee2037e Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Tue, 21 Oct 2025 10:27:26 +0200 Subject: [PATCH 101/137] New translations orda-events.md (Spanish) --- .../version-21/ORDA/orda-events.md | 52 +++++++++---------- 1 file changed, 26 insertions(+), 26 deletions(-) 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 a4b9131253dbed..bdaddd77019819 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 @@ -8,7 +8,7 @@ title: Entity Events | Lanzamiento | Modificaciones | | ----------- | ----------------------------------------------------------------------------------------------------- | | 21 | Added events: validateSave / saving / afterSave / validateDrop / dropping / afterDrop | -| 20 R10 | touched event added | +| 20 R10 | se ha añadido un evento touched | @@ -58,21 +58,21 @@ Con otras configuraciones remotas (p. ej. Qodly applications, [REST API requests La siguiente tabla lista los eventos ORDA junto con sus reglas. -| Evento | Nivel | Nombre de la función | (C/S) Ejecutado en | Can stop action by returning an error | -| :------------------------- | :------- | :------------------------------------------------------ | :---------------------------------------------------------------------------: | ------------------------------------- | -| Instanciación de entidades | Entity | [`constructor()`](./ordaClasses.md#class-constructor-1) | client | no | -| Atributo tocado | Atributo | `event touched ()` | Depende de la palabra clave [`local`](../ORDA/ordaClasses.md#local-functions) | no | -| | Entity | `event touched()` | Depende de la palabra clave [`local`](../ORDA/ordaClasses.md#local-functions) | no | -| Before saving an entity | Atributo | `validateSave ()` | server | sí | -| | Entity | `validateSave()` | server | sí | -| When saving an entity | Atributo | `saving ()` | server | sí | -| | Entity | `saving()` | server | sí | -| After saving an entity | Entity | `afterSave()` | server | no | -| Before dropping an entity | Atributo | `validateDrop ()` | server | sí | -| | Entity | `validateDrop()` | server | sí | -| When dropping an entity | Atributo | `dropping ()` | server | sí | -| | Entity | `dropping()` | server | sí | -| After dropping an entity | Entity | `afterDrop()` | server | no | +| Evento | Nivel | Nombre de la función | (C/S) Ejecutado en | Can stop action by returning an error | +| :----------------------------- | :------- | :------------------------------------------------------ | :---------------------------------------------------------------------------: | ------------------------------------- | +| Instanciación de entidades | Entity | [`constructor()`](./ordaClasses.md#class-constructor-1) | client | no | +| Atributo tocado | Atributo | `event touched ()` | Depende de la palabra clave [`local`](../ORDA/ordaClasses.md#local-functions) | no | +| | Entity | `event touched()` | Depende de la palabra clave [`local`](../ORDA/ordaClasses.md#local-functions) | no | +| Antes de guardar una entidad | Atributo | `validateSave ()` | server | sí | +| | Entity | `validateSave()` | server | sí | +| Al guardar una entidad | Atributo | `saving ()` | server | sí | +| | Entity | `saving()` | server | sí | +| Después de guardar una entidad | Entity | `afterSave()` | server | no | +| Before dropping an entity | Atributo | `validateDrop ()` | server | sí | +| | Entity | `validateDrop()` | server | sí | +| Al soltar una entidad | Atributo | `dropping ()` | server | sí | +| | Entity | `dropping()` | server | sí | +| After dropping an entity | Entity | `afterDrop()` | server | no | :::note @@ -100,15 +100,15 @@ Event functions accept a single *event* object as parameter. When the function i 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. -### Error object properties +### Propiedades del objeto error -| Propiedad | Tipo | Descripción | Definido por el desarrollador | -| ------------------ | ------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------- | -| errCode | Integer | Igual al comando [`Last errors`](../commands/last-errors.md) | Sí | -| message | Text | Igual al comando [`Last errors`](../commands/last-errors.md) | Sí | -| extraDescription | Object | Free information to set up | Sí | -| 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). Añade el estado `dk status validation failed`.
  • | Yes (default is false) | -| componentSignature | Text | Always "DBEV" | No | +| Propiedad | Tipo | Descripción | Definido por el desarrollador | +| ------------------ | ------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------- | +| errCode | Integer | Igual al comando [`Last errors`](../commands/last-errors.md) | Sí | +| message | Text | Igual al comando [`Last errors`](../commands/last-errors.md) | Sí | +| extraDescription | Object | Información libre a definir | Sí | +| 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). Añade el estado `dk status validation failed`.
  • | Sí (por defecto es false) | +| componentSignature | Text | Always "DBEV" | No | - [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: @@ -451,7 +451,7 @@ This event is useful after saving data to propagate the save action outside the The function receives an [*event* object](#event-parameter) as parameter. -- 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. +- 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. #### Ejemplo 1 @@ -644,7 +644,7 @@ This event is useful after dropping data to propagate the drop action outside th The function receives an [*event* object](#event-parameter) as parameter. -- 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. +- 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. :::note From 631dbea42a8e28b660dc6cffa52c015fb0800dcf Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Tue, 21 Oct 2025 10:27:33 +0200 Subject: [PATCH 102/137] New translations privileges.md (Spanish) --- .../version-21/ORDA/privileges.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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 2e61015157e2aa..5bb31631d97539 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 @@ -17,7 +17,7 @@ Si un usuario intenta ejecutar una acción y no tiene los derechos de acceso ade ![schema](../assets/en/ORDA/privileges-schema.png) -:::tip Related Blog posts +:::tip Entradas de blog relacionadas [**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/) From 6298ccd73ee0da6b81c92965f2a8699c347586df Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Tue, 21 Oct 2025 10:27:47 +0200 Subject: [PATCH 103/137] New translations components.md (Spanish) --- .../version-21/Project/components.md | 40 +++++++++---------- 1 file changed, 20 insertions(+), 20 deletions(-) diff --git a/i18n/es/docusaurus-plugin-content-docs/version-21/Project/components.md b/i18n/es/docusaurus-plugin-content-docs/version-21/Project/components.md index f8a5c66d2848e3..9c9aa3644752e3 100644 --- a/i18n/es/docusaurus-plugin-content-docs/version-21/Project/components.md +++ b/i18n/es/docusaurus-plugin-content-docs/version-21/Project/components.md @@ -3,11 +3,11 @@ id: components title: Dependencias --- -[La arquitectura de los proyectos](../Project/architecture.md) 4D es modular. Puede ofrecer funcionalidades adicionales a sus proyectos 4D instalando [**componentes**](Concepts/components.md) y [**plug-ins**](../Concepts/plug-ins.md). Components are made of 4D code, while plug-ins can be [built using any language](../Extensions/develop-plug-ins.md). +[La arquitectura de los proyectos](../Project/architecture.md) 4D es modular. Puede ofrecer funcionalidades adicionales a sus proyectos 4D instalando [**componentes**](Concepts/components.md) y [**plug-ins**](../Concepts/plug-ins.md). Los componentes están hechos de código 4D, mientras que los plug-ins pueden [construirse utilizando cualquier lenguaje](../Extensions/develop-plug-ins.md). Puede [desarrollar](../Extensions/develop-components.md) y [crear](../Desktop/building.md) sus propios componentes 4D, o descargar componentes públicos compartidos por la comunidad 4D que [se pueden encontrar en GitHub](https://github.com/search?q=4d-component\\\\\\\\\\&type=Repositories). -Once installed in your 4D environment, extensions are handled as **dependencies** with specific properties. +Una vez instalados en su entorno 4D, las extensiones se manejan como **dependencias** con propiedades específicas. ## Componentes interpretados y compilados @@ -317,20 +317,20 @@ Los componentes GitHub a los que se hace referencia se descargan en una carpeta ...donde `` puede ser "4D", "4D Server" o "tool4D". -### Automatic dependency resolution +### Resolución automática de las dependencias -When you add or update a component (whether [local](#local-components) or [from GitHub](#components-stored-on-github)), 4D automatically resolves and installs all dependencies required by that component. Esto incluye: +Cuando añade o actualiza un componente (ya sea [local](#local-components) o [desde GitHub](#components-stored-on-github)), 4D resuelve e instala automáticamente todas las dependencias requeridas por ese componente. Esto incluye: - **Dependencias primarias**: componentes que declara explícitamente en su archivo `dependencies.json` - **Dependencias secundarias**: componentes requeridos por dependencias primarias u otras dependencias secundarias, que se resuelven e instalan automáticamente -The Dependency manager reads each component's own `dependencies.json` file and recursively installs all required dependencies, respecting version specifications whenever possible. This eliminates the need to manually identify and add nested dependencies one by one. +El gestor de dependencias lee el archivo `dependencies.json` de cada componente e instala recursivamente todas las dependencias necesarias, respetando las especificaciones de versión siempre que sea posible. Esto elimina la necesidad de identificar y añadir manualmente las dependencias anidadas una por una. -- **Conflict resolution**: When multiple dependencies require [different versions](#) of the same component, the Dependency manager automatically attempts to resolve conflicts by finding a version that satisfies all overlapping version ranges. If a primary dependency conflicts with secondary dependencies, the primary dependency takes precedence. +- **Resolución de conflictos**: cuando varias dependencias requieren [versiones diferentes](#defining-a-github-dependency-version-range) del mismo componente, el gestor de dependencias intenta automáticamente resolver los conflictos encontrando una versión que satisfaga todos los rangos de versiones superpuestas. Si una dependencia primaria entra en conflicto con dependencias secundarias, la dependencia primaria tiene prioridad. :::note -`dependencies.json` files are ignored in components loaded from the [**Components** folder](architecture.md#components). +Los archivos `dependencies.json` se ignoran en los componentes cargados desde la carpeta [**Components**](architecture.md#components). ::: @@ -364,19 +364,19 @@ Por defecto, se listan todas las dependencias identificadas por el gestor de dep ![dependency-tabs](../assets/en/Project/dependency-tabs.png) -- **All**: All dependencies including both primary (declared) and secondary (automatically resolved) dependencies in a flat list view. -- **Declarado**: dependencias primarias que se declaran explícitamente en el archivo `dependencies.json`. This tab helps you distinguish between dependencies you've directly added and those that were [automatically resolved](#automatic-dependency-resolution). +- **Todas**: todas las dependencias, incluidas las primarias (declaradas) y las secundarias (resueltas automáticamente) en forma de lista. +- **Declarado**: dependencias primarias que se declaran explícitamente en el archivo `dependencies.json`. Esta pestaña le ayuda a distinguir entre las dependencias que ha añadido directamente y las que se han [resuelto automáticamente](#automatic-dependency-resolution). - **Activo**: dependencias que están cargadas y pueden ser utilizadas en el proyecto. Incluye dependencias *overloading*, las cuales son realmente cargadas. Las dependencias *Overloaded* se enumeran en el panel **Conflicts** junto con todas las dependencias en conflicto. - **Inactivo**: dependencias que no están cargadas en el proyecto y no están disponibles. Hay muchas razones posibles para este estado: archivos que faltan, incompatibilidad de versiones... -- **Conflicts**: Dependencies that are loaded but that overloads at least one other dependency at a lower [priority level](#priority). También se muestran las dependencias sobrecargadas para que pueda comprobar el origen del conflicto y tomar las medidas oportunas. +- **Conflictos**: las dependencias que se cargan pero que sobrecargan al menos otra dependencia de un [nivel de prioridad](#priority) inferior. También se muestran las dependencias sobrecargadas para que pueda comprobar el origen del conflicto y tomar las medidas oportunas. ### Dependencias secundarias -The Dependencies panel displays [**secondary dependencies**](#automatic-dependency-resolution) with the `Component dependency` [origin](#dependency-origin): +El panel Dependencias muestra [**dependencias secundarias**](#automatic-dependency-resolution) con la `dependencia del componente` [origen](#dependency-origin): ![recursive-dependency](../assets/en/Project/recursive.png) -When you hover over a secondary dependency, a tooltip displays the parent dependency that requires it. A secondary dependency cannot be [removed](#removing-a-dependency) directly, you must remove or edit the primary dependency that requires it. +Cuando pasa el cursor sobre una dependencia secundaria, una descripción muestra la dependencia padre que la requiere. Una dependencia secundaria no se puede [eliminar](#removing-a-dependency) directamente, hay que eliminar o editar la dependencia primaria que la requiere. ### Estado de dependencias @@ -409,13 +409,13 @@ El panel Dependencias enumera todas las dependencias del proyecto, sea cual sea Las siguientes opciones de origen son posibles: -| Etiqueta de origen | Descripción | -| ------------------------------ | -------------------------------------------------------------------------------------------------------------------------------------------- | -| Built in 4D | Componente 4D integrado, almacenado en la carpeta `Components` de la aplicación 4D | -| Declarado en proyecto | Componente declarado en el archivo [`dependencies.json`](#dependenciesjson) | -| Declarado en el entorno | Component declared in the [`dependencies.json`](#dependenciesjson) file and overriden in the [`environment4d.json`](#environment4djson) file | -| Carpeta Components | Componente ubicado en la carpeta [`Components`](architecture.md#components) | -| Dependencia de los componentes | Componente secundario ([requerido por otro componente](#automatic-dependency-resolution)) | +| Etiqueta de origen | Descripción | +| ------------------------------ | ---------------------------------------------------------------------------------------------------------------------------------------------- | +| Integrado a 4D | Componente 4D integrado, almacenado en la carpeta `Components` de la aplicación 4D | +| Declarado en proyecto | Componente declarado en el archivo [`dependencies.json`](#dependenciesjson) | +| Declarado en el entorno | Componente declarado en el archivo [`dependencies.json`](#dependenciesjson) y anulado en el archivo [`environment4d.json`](#environment4djson) | +| Carpeta Components | Componente ubicado en la carpeta [`Components`](architecture.md#components) | +| Dependencia de los componentes | Componente secundario ([requerido por otro componente](#automatic-dependency-resolution)) | **Clic derecho** en una línea de dependencia y selecciona **Mostrar en el disco** para revelar la ubicación de una dependencia: @@ -469,7 +469,7 @@ Para añadir una [dependencia GitHub](#components-stored-on-github), haga clic e :::note -By default, [components developed by 4D](../Extensions/overview.md#components-developed-by-4d) are listed in the combo box, so that you can easily select and install these features in your environment: +Por defecto, los [componentes desarrollados por 4D](../Extensions/overview.md#components-developed-by-4d) aparecen en el combo box, para que pueda seleccionarlos e instalarlos fácilmente en su entorno: ![dependency-default-git](../assets/en/Project/dependency-default.png) From 0c3fafbc702250ccbfc741c0533d16283eb7818d Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Tue, 21 Oct 2025 10:31:50 +0200 Subject: [PATCH 104/137] New translations http-request-handler.md (Spanish) --- .../version-21/WebServer/http-request-handler.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/i18n/es/docusaurus-plugin-content-docs/version-21/WebServer/http-request-handler.md b/i18n/es/docusaurus-plugin-content-docs/version-21/WebServer/http-request-handler.md index abf30606fa7f39..72aff3bfa10d5a 100644 --- a/i18n/es/docusaurus-plugin-content-docs/version-21/WebServer/http-request-handler.md +++ b/i18n/es/docusaurus-plugin-content-docs/version-21/WebServer/http-request-handler.md @@ -73,7 +73,7 @@ You must restart the Web server so that modifications made in this file are take Un manejador está definido por: -- a listened URL pattern +- un patrón de URL a interceptar - a function and its class where the code is implemented to handle the listened URL pattern - the verbs with which the URL can be called to trigger the handler From 3ab80be007a006a1a1c58ee6036aebc02e163605 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Tue, 21 Oct 2025 10:31:53 +0200 Subject: [PATCH 105/137] New translations http-rules.md (Spanish) --- .../version-21/WebServer/http-rules.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) 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 fb6538d1b50df9..c362533f28a3d9 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 @@ -33,13 +33,13 @@ If the URI of the request does not match any of the RegEx patterns, the web serv The **HTTPRules.json** file or the [`.rules`](../API/WebServerClass.md#rules) property must contain a collection of **rule objects**. -A rule object is defined by: +Un objeto regla se define por: - a RegEx describing a URL pattern, e.g. "^(.\*\\.(jpg|jpeg|png|gif))" - the name of the action to execute for the HTTP response, e.g. "removeHeaders" - the value of the action, e.g. "X-Unwanted-Header1" -Other properties are ignored. +Las demás propiedades se ignoran. ### Patrones de la URL @@ -55,14 +55,14 @@ The following action keywords are supported: | Palabras clave | Tipo de valor | Descripción | | --------------- | --------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `removeHeaders` | Text or Collection of texts | Header(s) to remove from the HTTP responses. If a header to remove does not exist in the response header, it is ignored. | +| `removeHeaders` | Texto o colección de textos | Header(s) to remove from the HTTP responses. If a header to remove does not exist in the response header, it is ignored. | | `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. If a header to modify does not exist in the response header, it is added. | | `denyAccess` | Boolean | true to deny access to the resource, false to allow access. When the access to a resource is denied, the web server returns a 403 status by default | | `redirect` | Text | Redirection URL. When a redirection is triggered, the web server returns a 302 status by default | | `status` | Number | Estado HTTP | -### Non-modifiable headers +### Encabezados no modificables Some headers could not be added, modified or removed: @@ -89,7 +89,7 @@ $rules:=WEB Server.rules //current rules Rules can be set using a `HTTPRules.json` file or the *settings* parameter of the [`.start()`](../API/WebServerClass.md#start) web server function. -### Using a HTTPRules.json file +### Utilización de un archivo HTTPRules.json ```json From 939462e77294b37bf1cd5de7d16269e090f999ea Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Tue, 21 Oct 2025 10:32:34 +0200 Subject: [PATCH 106/137] New translations managing-formulas.md (Spanish) --- .../version-21/WritePro/managing-formulas.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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 9aef2486715052..58f263aab85b56 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 @@ -100,7 +100,7 @@ When used in a formula within the table, the **This** keyword gives access to di | 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 | Index of the current row, starting from 1 | -| Cuando se ha definido una fuente de datos para la tabla | [This](../commands/this.md).table.dataSource | Objet (fórmula) | Datasource as a formula | +| 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 or Entity selection (usually) | 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 | Index of the current item in the collection or entity selection, starting from 0 | From 553e4deb8a7e3fb58c3eefcab9c1c78157e914c5 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Tue, 21 Oct 2025 10:32:40 +0200 Subject: [PATCH 107/137] New translations openai.md (Spanish) --- .../version-21/aikit/Classes/OpenAI.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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 78314e72ed1705..b218df5a79d550 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 @@ -11,7 +11,7 @@ The `OpenAI` class provides a client for accessing various OpenAI API resources. | Nombre de la propiedad | Tipo | Descripción | Opcional | | ---------------------- | ---- | ---------------------------------------------------------------------------- | --------------------------------------------------------- | -| `apiKey` | Text | Su [llave OpenAI API](https://platform.openai.com/api-keys). | Can be required by the provider | +| `apiKey` | Text | Su [llave OpenAI API](https://platform.openai.com/api-keys). | Puede ser requerido por el proveedor | | `baseURL` | Text | URL base para las peticiones de la API OpenAI. | Yes (if omitted = use OpenAI provider) | | `organization` | Text | Su ID de organización OpenAI. | Sí | | `project` | Text | Su ID de proyecto OpenAI. | Sí | From c575d61b2aa4c40b7e63c5b8a9d96deeb1842546 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Tue, 21 Oct 2025 10:32:49 +0200 Subject: [PATCH 108/137] New translations openaichatcompletionsparameters.md (Spanish) --- .../aikit/Classes/OpenAIChatCompletionsParameters.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/i18n/es/docusaurus-plugin-content-docs/version-21/aikit/Classes/OpenAIChatCompletionsParameters.md b/i18n/es/docusaurus-plugin-content-docs/version-21/aikit/Classes/OpenAIChatCompletionsParameters.md index 3c088ca7ccd666..23279b40c9c82a 100644 --- a/i18n/es/docusaurus-plugin-content-docs/version-21/aikit/Classes/OpenAIChatCompletionsParameters.md +++ b/i18n/es/docusaurus-plugin-content-docs/version-21/aikit/Classes/OpenAIChatCompletionsParameters.md @@ -42,9 +42,9 @@ See [OpenAIParameters](./OpenAIParameters.md) for other callback properties. El parámetro `response_format` le permite especificar el formato que el modelo debe salir. This is particularly useful when you need structured data or want to ensure the response follows a specific format. -### Supported Response Format Types +### Tipos de formato de respuesta soportados -#### 1. Text Format (Default) +#### 1. Formato de texto (por defecto) The default response format returns plain text: @@ -55,7 +55,7 @@ var $params := cs.OpenAIChatCompletionsParameters.new({ \ }) ``` -#### 2. JSON Object Format +#### 2. Formato de objetos JSON Forces the model to respond with valid JSON: @@ -115,7 +115,7 @@ $messages.push({ role: "user"; content: "Generate information about a person nam $result := $client.chat.completions.create($messages; $params) ``` -### JSON Schema Properties +### Propiedades del esquema JSON Cuando se utiliza el tipo `json_schema`, puede especificar: From 0188614d062bd507542d982ece858d839b4c618a Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Tue, 21 Oct 2025 10:32:54 +0200 Subject: [PATCH 109/137] New translations openaichathelper.md (Spanish) --- .../version-21/aikit/Classes/OpenAIChatHelper.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/i18n/es/docusaurus-plugin-content-docs/version-21/aikit/Classes/OpenAIChatHelper.md b/i18n/es/docusaurus-plugin-content-docs/version-21/aikit/Classes/OpenAIChatHelper.md index 0779745588607e..e138dcd16d9c4c 100644 --- a/i18n/es/docusaurus-plugin-content-docs/version-21/aikit/Classes/OpenAIChatHelper.md +++ b/i18n/es/docusaurus-plugin-content-docs/version-21/aikit/Classes/OpenAIChatHelper.md @@ -74,14 +74,14 @@ $chatHelper.reset() // Clear all previous messages and tools Registers a tool with its handler function for automatic tool call handling. -The *handler* parameter can be: +El parámetro *handler* puede ser: - A **4D.Function**: Direct handler function - Un **Objeto**: un objeto que contiene una propiedad `formula` que coincide con el nombre de la función de la herramienta The handler function receives an object containing the parameters passed from the OpenAI tool call. This object contains key-value pairs where the keys match the parameter names defined in the tool's schema, and the values are the actual arguments provided by the AI model. -#### Register Tool Example +#### Ejemplo de herramienta de registro ```4D // Example 1: Simple registration with direct handler @@ -111,7 +111,7 @@ $chatHelper.registerTool($tool; $handlerObj) | ------------------- | ------- | -------------------------------------------------------- | | *toolsWithHandlers* | Variant | Object or Collection containing tools and their handlers | -Registers multiple tools at once. The parameter can be: +Registers multiple tools at once. El parámetro puede ser: - **Collection**: Array of tool objects (with handlers embedded or separate) - **Object**: Object with function names as keys mapping to tool definitions From e52d13198af7cb99d4fbd084d980b4fe92cac964 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Tue, 21 Oct 2025 10:33:08 +0200 Subject: [PATCH 110/137] New translations openaimessage.md (Spanish) --- .../version-21/aikit/Classes/OpenAIMessage.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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 3d85542be120c4..ebb12bfbed10a5 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 @@ -48,7 +48,7 @@ var $message:=cs.AIKit.OpenAIMessage({role: "user"; content: "Hello!"}) $message.addImageURL("http://example.com/image.jpg"; "high") ``` -### Respond to a tool call message +### 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. From 91d8be4b1c8a4986889ba28d0e6778d66381d527 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Tue, 21 Oct 2025 10:33:21 +0200 Subject: [PATCH 111/137] New translations openaitool.md (Spanish) --- .../version-21/aikit/Classes/OpenAITool.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/i18n/es/docusaurus-plugin-content-docs/version-21/aikit/Classes/OpenAITool.md b/i18n/es/docusaurus-plugin-content-docs/version-21/aikit/Classes/OpenAITool.md index dbe20d10764afa..e46e25346cc85a 100644 --- a/i18n/es/docusaurus-plugin-content-docs/version-21/aikit/Classes/OpenAITool.md +++ b/i18n/es/docusaurus-plugin-content-docs/version-21/aikit/Classes/OpenAITool.md @@ -27,7 +27,7 @@ See [OpenAIMessage](OpenAIMessage.md) to see how to responds to a tool call. | `name` | Text | The name of the tool, which works as an identifier. | | `descripción` | Text | Description of the tool to help the LLM decide when to use it. | -### Function-specific Properties +### Propiedades específicas de la función | Propiedad | Tipo | Descripción | | ------------ | ------ | -------------------------------------------------------------------------------- | @@ -48,7 +48,7 @@ Crea una nueva instancia de OpenAITool. The constructor accepts both simplified #### Formatos soportados -**Simplified format:** +**Formato simplificado:** ```4d var $tool := cs.OpenAITool.new({ \ @@ -64,7 +64,7 @@ var $tool := cs.OpenAITool.new({ \ }) ``` -**OpenAI API format:** +**Formato de la API OpenAI** ```4d var $tool := cs.OpenAITool.new({ \ From 15e85da104db9d34f71582624975f2c45b2f436d Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Tue, 21 Oct 2025 10:33:26 +0200 Subject: [PATCH 112/137] New translations asynchronous-call.md (Spanish) --- .../version-21/aikit/asynchronous-call.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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 cea52c2b0979e3..ff565bb2601c7b 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 @@ -11,7 +11,7 @@ To make asynchronous calls, you must provide a callback `4D.Function`(`Formula`) The callback function will receive the same result object type (one of [OpenAIResult](Classes/OpenAIResult.md) child classes) that would be returned by the function in synchronous code. Ver ejemplos más abajo. -## Process Considerations +## Consideraciones sobre el proceso The asynchronous method is based on [4D.HTTPRequest](https://developer.4d.com/docs/API/HTTPRequestClass), so the response will be received within the current process. From 929f02374478b1f200fb13ed4f1ea1bec6319132 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Tue, 21 Oct 2025 10:33:27 +0200 Subject: [PATCH 113/137] New translations compatible-openai.md (Spanish) --- .../version-21/aikit/compatible-openai.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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 a3c3f64be88879..5b5e136edec480 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 @@ -31,7 +31,7 @@ Algunos de ellos ## Local -| Proveedor | Default baseURL | Doc | +| Proveedor | Base URL por defecto | Doc | | ---------------------------------------------------- | --------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | | https://ollama.com/ | http://127.0.0.1:11434/v1 | https://ollama.com/blog/openai-compatibility | | https://lmstudio.ai/ | http://localhost:1234/v1 | https://lmstudio.ai/docs/api/endpoints/openai | From 9efc826c219924e12d9f941d09cd3cb2c1c304d1 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Tue, 21 Oct 2025 10:45:01 +0200 Subject: [PATCH 114/137] New translations formeditor.md (Japanese) --- .../version-20/FormEditor/formEditor.md | 62 +++++++++---------- 1 file changed, 31 insertions(+), 31 deletions(-) diff --git a/i18n/ja/docusaurus-plugin-content-docs/version-20/FormEditor/formEditor.md b/i18n/ja/docusaurus-plugin-content-docs/version-20/FormEditor/formEditor.md index c5b1e8bee004a5..62c02ed59851a0 100644 --- a/i18n/ja/docusaurus-plugin-content-docs/version-20/FormEditor/formEditor.md +++ b/i18n/ja/docusaurus-plugin-content-docs/version-20/FormEditor/formEditor.md @@ -53,24 +53,24 @@ title: フォームエディター ツールバーには以下の要素があります: -| アイコン | 名称 | 説明 | -| ------------------------------------------------ | ------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------- | -| ![](../assets/en/FormEditor/execute.png) | フォーム実行 | フォームの実行をテストするために使用します。 このボタンをクリックすると、4D は新しいウィンドウを開き、そのコンテキストでフォームを表示します (リストフォームの場合レコードリスト、詳細フォームの場合カレントレコード)。 フォームはメインプロセスで実行されます。 | -| ![](../assets/en/FormEditor/selection.png) | [選択ツール](#selecting-objects) | フォームオブジェクトの選択・移動・リサイズをおこないます。

    **注**: テキストやグループボックスタイプのオブジェクトを選択すると、**Enter**キーを押すことで編集モードになります。

    | -| ![](../assets/en/FormEditor/zOrder.png) | [入力順](#data-entry-order) | "入力順" モードに切り替わり、フォームの現在の入力順を表示・変更できます。 入力順は、バッジを使用して確認することもできます。 | -| ![](../assets/en/FormEditor/moving.png) | [移動](#moving-objects) | "移動" モードに移行し、ウィンドウ中をドラッグ&ドロップすることで素早くフォームの表示部分を移動することができます。 このモードでカーソルは手の形になります。 このモードは、フォームを拡大表示している時に特に便利です。 | -| ![](../assets/en/FormEditor/zoom.png) | [拡大](#zoom) | フォーム表示の拡大/縮小率を変更できます (デフォルトで100%)。 "拡大/縮小" モードにするには虫眼鏡をクリックするか、拡大/縮小率バーをクリックします。 この機能は前節で説明しています。 | -| ![](../assets/en/FormEditor/alignment.png) | [整列](#aligning-objects) | このボタンには、フォーム中でオブジェクトを均等に配置するためのメニューがリンクされています。 このボタンは選択されているオブジェクトに応じて有効/無効になります。
    選択オブジェクトの位置が CSSプロパティによりロックされている場合は無効です。 | -| ![](../assets/en/FormEditor/distribution.png) | [均等配置](#distributing-objects) | このボタンには、フォーム中でオブジェクトの並びを揃えるためのメニューがリンクされています。 このボタンは選択されているオブジェクトに応じて有効/無効になります。
    選択オブジェクトの位置が CSSプロパティによりロックされている場合は無効です。 | -| ![](../assets/en/FormEditor/level.png) | [レベル](#layering-objects) | このボタンには、フォーム上のオブジェクトの階層を変更するためのメニューが関連付けられています。 このボタンは選択されているオブジェクトに応じて有効/無効になります。 | -| ![](../assets/en/FormEditor/group.png) | [グループ化/グループ解除](#grouping-objects) | このボタンには、フォーム上の選択オブジェクトのグループ化やグループ解除をおこなうためのメニューが関連付けられています。 このボタンは選択されているオブジェクトに応じて有効/無効になります。 | -| ![](../assets/en/FormEditor/displyAndPage.png) | [表示とページ管理](forms.html#form-pages) | このエリアを使用して、フォームページ間の移動やページの追加ができます。 フォームページを移動するには矢印ボタンをクリックするか、または中央のエリアをクリックすると現われるメニューから表示したいページを選択します。 最終ページが表示されている状態で、右矢印ボタンをクリックすると、4D はページを追加します。 | -| ![](../assets/en/FormEditor/cssPreviewicon.png) | [CSSプレビュー](#css-preview) | このボタンで、使用する CSSモードを選択します。 | -| ![](../assets/en/FormEditor/views.png) | [ビュー管理](#views) | このボタンは、ビューパレットの表示や非表示をおこないます。 この機能については "オブジェクトビューを使用する" で説明しています。 | -| ![](../assets/en/FormEditor/shields2.png) | [バッジ表示](#shields) | このボタンをクリックするたびに、すべてのタイプのフォームバッジが順に表示されます。 また、このボタンには、表示するバッジタイプを直接選択できるメニューが関連付けられています。 | -| ![](../assets/en/FormEditor/library.png) | [定義済みオブジェクトライブラリ](objectLibrary.html) | このボタンは定義済みオブジェクトライブラリを表示します。 このライブラリは定義済みのプロパティを持つオブジェクトを多数提供します。 | -| ![](../assets/en/FormEditor/listBoxBuilder1.png) | [リストボックスビルダー](#list-box-builder) | このボタンは、新しいエンティティセレクション型リストボックスを作成します。 | -| ![](../assets/en/FormEditor/insertFields.png) | [フィールドを挿入](#insert-fields) | このボタンは、テーブルフォームにおいて、親テーブルの全フィールド (オブジェクト型と BLOB型を除く) をインターフェース標準に従ってラベル付きで挿入します。 | +| アイコン | 名称 | 説明 | +| ------------------------------------------------ | ------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| ![](../assets/en/FormEditor/execute.png) | フォーム実行 | フォームの実行をテストするために使用します。 このボタンをクリックすると、4D は新しいウィンドウを開き、そのコンテキストでフォームを表示します (リストフォームの場合レコードリスト、詳細フォームの場合カレントレコード)。 フォームはメインプロセスで実行されます。 | +| ![](../assets/en/FormEditor/selection.png) | [選択ツール](#selecting-objects) | Allows selecting, moving and resizing form objects.
    **Note**: When an object of the Text or Group Box type is selected, pressing the **Enter** key lets you switch to editing mode. | +| ![](../assets/en/FormEditor/zOrder.png) | [入力順](#data-entry-order) | "入力順" モードに切り替わり、フォームの現在の入力順を表示・変更できます。 入力順は、バッジを使用して確認することもできます。 | +| ![](../assets/en/FormEditor/moving.png) | [移動](#moving-objects) | "移動" モードに移行し、ウィンドウ中をドラッグ&ドロップすることで素早くフォームの表示部分を移動することができます。 このモードでカーソルは手の形になります。 このモードは、フォームを拡大表示している時に特に便利です。 | +| ![](../assets/en/FormEditor/zoom.png) | [拡大](#zoom) | フォーム表示の拡大/縮小率を変更できます (デフォルトで100%)。 "拡大/縮小" モードにするには虫眼鏡をクリックするか、拡大/縮小率バーをクリックします。 この機能は前節で説明しています。 | +| ![](../assets/en/FormEditor/alignment.png) | [整列](#aligning-objects) | このボタンには、フォーム中でオブジェクトを均等に配置するためのメニューがリンクされています。 このボタンは選択されているオブジェクトに応じて有効/無効になります。
    選択オブジェクトの位置が CSSプロパティによりロックされている場合は無効です。 | +| ![](../assets/en/FormEditor/distribution.png) | [均等配置](#distributing-objects) | このボタンには、フォーム中でオブジェクトの並びを揃えるためのメニューがリンクされています。 このボタンは選択されているオブジェクトに応じて有効/無効になります。
    選択オブジェクトの位置が CSSプロパティによりロックされている場合は無効です。 | +| ![](../assets/en/FormEditor/level.png) | [レベル](#layering-objects) | このボタンには、フォーム上のオブジェクトの階層を変更するためのメニューが関連付けられています。 このボタンは選択されているオブジェクトに応じて有効/無効になります。 | +| ![](../assets/en/FormEditor/group.png) | [グループ化/グループ解除](#grouping-objects) | このボタンには、フォーム上の選択オブジェクトのグループ化やグループ解除をおこなうためのメニューが関連付けられています。 このボタンは選択されているオブジェクトに応じて有効/無効になります。 | +| ![](../assets/en/FormEditor/displyAndPage.png) | [表示とページ管理](forms.html#form-pages) | このエリアを使用して、フォームページ間の移動やページの追加ができます。 フォームページを移動するには矢印ボタンをクリックするか、または中央のエリアをクリックすると現われるメニューから表示したいページを選択します。 最終ページが表示されている状態で、右矢印ボタンをクリックすると、4D はページを追加します。 | +| ![](../assets/en/FormEditor/cssPreviewicon.png) | [CSSプレビュー](#css-preview) | このボタンで、使用する CSSモードを選択します。 | +| ![](../assets/en/FormEditor/views.png) | [ビュー管理](#views) | このボタンは、ビューパレットの表示や非表示をおこないます。 この機能については "オブジェクトビューを使用する" で説明しています。 | +| ![](../assets/en/FormEditor/shields2.png) | [バッジ表示](#shields) | このボタンをクリックするたびに、すべてのタイプのフォームバッジが順に表示されます。 また、このボタンには、表示するバッジタイプを直接選択できるメニューが関連付けられています。 | +| ![](../assets/en/FormEditor/library.png) | [定義済みオブジェクトライブラリ](objectLibrary.html) | このボタンは定義済みオブジェクトライブラリを表示します。 このライブラリは定義済みのプロパティを持つオブジェクトを多数提供します。 | +| ![](../assets/en/FormEditor/listBoxBuilder1.png) | [リストボックスビルダー](#list-box-builder) | このボタンは、新しいエンティティセレクション型リストボックスを作成します。 | +| ![](../assets/en/FormEditor/insertFields.png) | [フィールドを挿入](#insert-fields) | このボタンは、テーブルフォームにおいて、親テーブルの全フィールド (オブジェクト型と BLOB型を除く) をインターフェース標準に従ってラベル付きで挿入します。 | ### オブジェクトバー @@ -146,11 +146,11 @@ title: フォームエディター ツールバーを使用してオブジェクトを選択するには: -1. ツールバーの矢印ツールをクリックします。

    ![](../assets/en/FormEditor/selection.png)

    +1. ツールバーの矢印ツールをクリックします。
    ![](../assets/en/FormEditor/selection.png) -

    マウスカーソルをフォームエリアに移動すると、カーソルは標準の矢印の形をしたポインターに変わります

    。 +
    マウスカーソルをフォームエリアに移動すると、カーソルは標準の矢印の形をしたポインターに変わります。 -2. 選択したいオブジェクトをクリックします。 サイズ変更ハンドルが表示され、オブジェクトが選択されたことを表わします。

    ![](../assets/en/FormEditor/selectResize.png)

    +2. 選択したいオブジェクトをクリックします。 サイズ変更ハンドルが表示され、オブジェクトが選択されたことを表わします。
    ![](../assets/en/FormEditor/selectResize.png) プロパティリストを使用してオブジェクトを選択するには: @@ -235,13 +235,12 @@ title: フォームエディター オブジェクトをグループ化するには: 1. グループ化したいオブジェクトを選択します。 -2. オブジェクトメニューから **グループ化** を選択します。 または フォームエディターのツールバーでグループ化ボタンをクリックします。

    ![](../assets/en/FormEditor/group.png)

    -4D は、新たにグループ化されたオブジェクトの境界をハンドルで表わします。 グループ内の各オブジェクトの境界にはハンドルが表示されません。 これ以降、グループ化されたオブジェクトを編集すると、グループを構成する全オブジェクトが変更されます。 +2. オブジェクトメニューから **グループ化** を選択します。 OR Click the Group button in the toolbar of the Form editor:
    ![](../assets/en/FormEditor/group.png) 4D marks the boundary of the newly grouped objects with handles. グループ内の各オブジェクトの境界にはハンドルが表示されません。 これ以降、グループ化されたオブジェクトを編集すると、グループを構成する全オブジェクトが変更されます。 オブジェクトのグループ化を解除するには: 1. グループ化を解除したいグループオブジェクトを選択します。 -2. **オブジェクト** メニューから **グループ化解除** を選択します。

    OR

    フォームエディターのツールバーで **グループ化解除** ボタン (**グループ化** ボタンのサブ項目) をクリックします。

    **グループ化解除** が選択不可の場合、選択したオブジェクトはグループに属していないことを意味します。

    4D は個々のオブジェクトの境界をハンドルで表わします。 +2. Choose **Ungroup** from the **Object** menu.
    OR
    Click the **Ungroup** button (variant of the **Group** button) in the toolbar of the Form editor.
    If **Ungroup** is dimmed, this means that the selected object is already separated into its simplest form. 4D は個々のオブジェクトの境界をハンドルで表わします。 ### オブジェクトの整列 @@ -268,9 +267,10 @@ title: フォームエディター このダイアログボックスを表示するには、揃えたいオブジェクトを選択し、**オブジェクト** メニュー、またはエディターのコンテキストメニューの **整列** サブメニューから **整列...** コマンドを選択します。 -- "左/右整列" や "上/下整列" エリアで、実行しようとする整列に対応する整列アイコンをクリックします。

    見本エリアには、選択結果が表示されます。

    +- "左/右整列" や "上/下整列" エリアで、実行しようとする整列に対応する整列アイコンをクリックします。
    見本エリアには、選択結果が表示されます。 + +- 標準のアンカー方式による整列を実行するには、**プレビュー** または **適用** をクリックします。 この場合、整列をおこなう方向で最も離れた位置にあるオブジェクトがアンカーとして使用され、他のオブジェクトはこのオブジェクトに合わせられます。 たとえば、一連のオブジェクトに対して右揃えを実行したい場合、一番右側に位置するオブジェクトがアンカーとして使用されます。 OR:
    To align objects to a specific object, select the **Align on** option and select the object to which you want the other objects to be aligned from the object list. この場合、基準オブジェクトの位置は変わりません。 -- 標準のアンカー方式による整列を実行するには、**プレビュー** または **適用** をクリックします。 この場合、整列をおこなう方向で最も離れた位置にあるオブジェクトがアンカーとして使用され、他のオブジェクトはこのオブジェクトに合わせられます。 たとえば、一連のオブジェクトに対して右揃えを実行したい場合、一番右側に位置するオブジェクトがアンカーとして使用されます。 または:

    特定のオブジェクトを基準にオブジェクトを揃えるには、**整列** オプションを選択し、整列基準としたいオブジェクトを一覧から選択します。 この場合、基準オブジェクトの位置は変わりません。

    **プレビュー** ボタンをクリックすると、整列の結果をプレビューすることができます。 するとフォームエディター上のオブジェクトは見かけ上整列しますが、ダイアログボックスが表示されたままなので、この整列のキャンセルや適用をおこなうことができます。 > このダイアログボックスでは、整列と均等配置を合わせて実行することができます。 整列に関する詳細は [オブジェクトの整列](#オブジェクトの整列) を参照ください。 @@ -304,7 +304,7 @@ title: フォームエディター 1. 3つ以上のオブジェクトを選択し、希望する均等配置ツールをクリックします。 -2. 適用したい均等配置に対応する整列ツールをツールバー上で選択します。

    ![](../assets/en/FormEditor/distributionTool.png)

    OR

    **オブジェクト** メニュー、またはエディターのコンテキストメニューの **整列** サブメニューから均等揃えメニューコマンドを選択します。

    4D は各オブジェクトを均等に配置します。 各オブジェクトの中心までの間隔、および隣接する 2つのオブジェクトの間隔のうち最も広い間隔が基準として用いられます。 +2. In the toolbar, click on the distribution tool that corresponds to the distribution you want to apply.
    ![](../assets/en/FormEditor/distributionTool.png)
    OR
    Select a distribution menu command from the **Align** submenu in the **Object** menu or from the context menu of the editor. 4D は各オブジェクトを均等に配置します。 各オブジェクトの中心までの間隔、および隣接する 2つのオブジェクトの間隔のうち最も広い間隔が基準として用いられます。 "整列と均等配置" ダイアログボックスを用いてオブジェクトを均等に配置するには: @@ -312,9 +312,9 @@ title: フォームエディター 2. **オブジェクト** メニュー、またはエディターのコンテキストメニューの **整列** サブメニューから **整列...** コマンドを選択します。 以下のダイアログボックスが表示されます:![](../assets/en/FormEditor/alignmentAssistant.png) -3. "左/右整列" や "上/下整列" エリアで、標準の均等配置アイコンをクリックします: ![](../assets/en/FormEditor/horizontalDistribution.png)

    (標準の横均等揃えアイコン)

    見本エリアには、選択結果が表示されます。 +3. In the Left/Right Alignment and/or Top/Bottom Alignment areas, click the standard distribution icon: ![](../assets/en/FormEditor/horizontalDistribution.png)
    (Standard horizontal distribution icon)
    The example area displays the results of your selection. -4. 標準の均等配置を実行するには、**プレビュー** または *適用* をクリックします。

    この場合、4D は標準の均等配置を実行し、オブジェクトは等間隔で配置されます。

    または:

    特定の均等配置を実行するには、**均等配置** オプションを選択します (たとえば各オブジェクトの右辺までの距離をもとにしてオブジェクトを均等に配置したい場合)。 このオプションはスイッチのように機能します。 均等配置チェックボックスが選択されていると、このオプションの下にあるアイコンは異なる動作をおこないます:

    +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). このオプションはスイッチのように機能します。 均等配置チェックボックスが選択されていると、このオプションの下にあるアイコンは異なる動作をおこないます:
    - 左/右整列の場合、各アイコンは次の均等配置に対応します: 選択オブジェクトの左辺、中央 (横)、右辺で均等に揃えます。 - 上/下整列の場合、各アイコンは次の均等配置に対応します: 選択オブジェクトの上辺、中央 (縦)、下辺で均等に揃えます。 @@ -367,11 +367,11 @@ JSONフォームの入力順序の設定は、[`entryOrder`](properties_JSONref. 入力順モードに切り替え、入力順を変更するには: -1. **フォーム** メニューから **入力順** を選択するか、ツールバーの入力順ボタンをクリックします:

    ![](../assets/en/FormEditor/zOrder.png)

    +1. **フォーム** メニューから **入力順** を選択するか、ツールバーの入力順ボタンをクリックします:
    ![](../assets/en/FormEditor/zOrder.png)
    ポインターが入力順ポインターに変わり、4D はフォーム上に線を引いて、データ入力時にオブジェクトが選択される順序を示します。 ツールパレット上の他のツールをクリックするまでは、入力順序の表示と変更操作しかおこなえません。 -2. データ入力順を変更するには、フォームオブジェクト上にポインターを置き、マウスボタンを押したまま、次の入力順に設定したいオブジェクトまでポインターをドラッグします。

    ![](../assets/en/FormEditor/entryOrder3.png)

    これに応じて、4D はデータ入力順を調整します。 +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.
    ![](../assets/en/FormEditor/entryOrder3.png)
    4D will adjust the entry order accordingly. 3. 入力順を設定したいだけ、ステップ2 を繰り返します。 From f907e597f388d745373fcba1c57f8e3cc36d360c Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Tue, 21 Oct 2025 11:04:47 +0200 Subject: [PATCH 115/137] New translations dataclassclass.md (Japanese) --- .../current/API/DataClassClass.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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 81cf2b2f04aa40..7e34500526e8f9 100644 --- a/i18n/ja/docusaurus-plugin-content-docs/current/API/DataClassClass.md +++ b/i18n/ja/docusaurus-plugin-content-docs/current/API/DataClassClass.md @@ -1588,7 +1588,7 @@ var $employees:=ds.Employee.query("embedding > :1"; {vector: $vector; metric: mk // 明示的にコサイン計量を指定し、カスタムのしきい値を用いた検索 var $employees:=ds.Employee.query("embedding > :1"; {vector: $vector; metric: mk cosine; threshold: 0.9}) // フォーミュラを使用した検索 -var $employees:=ds.Employee.query(Formula(This.embdedding.cosineSimilarity($vector)>0.9)) +var $employees:=ds.Employee.query(Formula(This.embedding.cosineSimilarity($vector)>0.9)) ``` From 04d9a126ceff5d5b6a899b662e74bed2d6b73bb3 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Tue, 21 Oct 2025 11:05:28 +0200 Subject: [PATCH 116/137] New translations sessionclass.md (Japanese) --- .../current/API/SessionClass.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/i18n/ja/docusaurus-plugin-content-docs/current/API/SessionClass.md b/i18n/ja/docusaurus-plugin-content-docs/current/API/SessionClass.md index dbdb9acd8d6eef..5aab05058e25ec 100644 --- a/i18n/ja/docusaurus-plugin-content-docs/current/API/SessionClass.md +++ b/i18n/ja/docusaurus-plugin-content-docs/current/API/SessionClass.md @@ -89,7 +89,7 @@ This function does nothing and always returns **True** with stored procedure ses ::: -Regarding remote client sessions, the function only impacts [code accessing the web server](../WebServer/preemptiveWeb.md#writing-thread-safe-web-server-code). +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). #### 例題 @@ -388,7 +388,7 @@ $privileges := Session.getPrivileges() ::: -Regarding remote client sessions, the function only impacts [code accessing the web server](../WebServer/preemptiveWeb.md#writing-thread-safe-web-server-code). +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*. From d23d214fa7fa03ac9ef4b129eab213f2e3b9e8f2 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Tue, 21 Oct 2025 11:09:11 +0200 Subject: [PATCH 117/137] New translations formeditor.md (Japanese) --- .../current/FormEditor/formEditor.md | 29 ++++++++++--------- 1 file changed, 15 insertions(+), 14 deletions(-) diff --git a/i18n/ja/docusaurus-plugin-content-docs/current/FormEditor/formEditor.md b/i18n/ja/docusaurus-plugin-content-docs/current/FormEditor/formEditor.md index f8099807706dd3..9e5626f17ab4c2 100644 --- a/i18n/ja/docusaurus-plugin-content-docs/current/FormEditor/formEditor.md +++ b/i18n/ja/docusaurus-plugin-content-docs/current/FormEditor/formEditor.md @@ -56,7 +56,7 @@ title: フォームエディター | アイコン | 名称 | 説明 | | ------------------------------------------------ | ------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------- | | ![](../assets/en/FormEditor/execute.png) | フォーム実行 | フォームの実行をテストするために使用します。 このボタンをクリックすると、4D は新しいウィンドウを開き、そのコンテキストでフォームを表示します (リストフォームの場合レコードリスト、詳細フォームの場合カレントレコード)。 フォームはメインプロセスで実行されます。 | -| ![](../assets/en/FormEditor/selection.png) | [選択ツール](#オブジェクトの選択) | フォームオブジェクトの選択・移動・リサイズをおこないます。

    **注**: テキストやグループボックスタイプのオブジェクトが選択されている場合、**Enter**キーで編集モードになります。

    | +| ![](../assets/en/FormEditor/selection.png) | [選択ツール](#オブジェクトの選択) | フォームオブジェクトの選択・移動・リサイズをおこないます。
    **注**: テキストやグループボックスタイプのオブジェクトが選択されている場合、**Enter**キーで編集モードになります。 | | ![](../assets/en/FormEditor/zOrder.png) | [入力順](#データの入力順) | "入力順" モードに切り替わり、フォームの現在の入力順を表示・変更できます。 入力順は、バッジを使用して確認することもできます。 | | ![](../assets/en/FormEditor/moving.png) | [移動](#オブジェクトの移動) | "移動" モードに移行し、ウィンドウ中をドラッグ&ドロップすることで素早くフォームの表示部分を移動することができます。 このモードでカーソルは手の形になります。 このモードは、フォームを拡大表示している時に特に便利です。 | | ![](../assets/en/FormEditor/zoom.png) | [拡大](#拡大) | フォーム表示の拡大/縮小率を変更できます (デフォルトで100%)。 "拡大/縮小" モードにするには虫眼鏡をクリックするか、拡大/縮小率バーをクリックします。 この機能は前節で説明しています。 | @@ -146,11 +146,11 @@ title: フォームエディター ツールバーを使用してオブジェクトを選択するには: -1. ツールバーの矢印ツールをクリックします。

    ![](../assets/en/FormEditor/selection.png)

    +1. ツールバーの矢印ツールをクリックします。
    ![](../assets/en/FormEditor/selection.png) -

    マウスカーソルをフォームエリアに移動すると、カーソルは標準の矢印の形をしたポインターに変わります

    。 +
    When you move the pointer into the form area, it becomes a standard arrow-shaped pointer. -2. 選択したいオブジェクトをクリックします。 サイズ変更ハンドルが表示され、オブジェクトが選択されたことを表わします。

    ![](../assets/en/FormEditor/selectResize.png)

    +2. 選択したいオブジェクトをクリックします。 サイズ変更ハンドルが表示され、オブジェクトが選択されたことを表わします。
    ![](../assets/en/FormEditor/selectResize.png) プロパティリストを使用してオブジェクトを選択するには: @@ -158,7 +158,7 @@ title: フォームエディター オブジェクトの選択を解除するには、オブジェクト境界の外側をクリックするか、またはオブジェクト上で **Shift+クリック** します。 > "デザインモードを検索" の結果ウィンドウでオブジェクトをダブルクリックして選択することもできます。 -> "デザインモードを検索" の結果ウィンドウでオブジェクトをダブルクリックして選択することもできます。 +> It is also possible to select objects by double-clicking them in the result window of "Find in design" operation. ### 複数オブジェクトの選択 @@ -242,13 +242,13 @@ title: フォームエディター 1. グループ化したいオブジェクトを選択します。 2. オブジェクトメニューから **グループ化** を選択します。 または - フォームエディターのツールバーでグループ化ボタンをクリックします。

    ![](../assets/en/FormEditor/group.png)

    + フォームエディターのツールバーでグループ化ボタンをクリックします。
    ![](../assets/en/FormEditor/group.png) 4D は、新たにグループ化されたオブジェクトの境界をハンドルで表わします。 グループ内の各オブジェクトの境界にはハンドルが表示されません。 これ以降、グループ化されたオブジェクトを編集すると、グループを構成する全オブジェクトが変更されます。 オブジェクトのグループ化を解除するには: 1. グループ化を解除したいグループオブジェクトを選択します。 -2. **オブジェクト** メニューから **グループ化解除** を選択します。
    または
    フォームエディターのツールバーで **グループ化解除** ボタン (**グループ化** ボタンのサブ項目) をクリックします。

    **グループ化解除** が選択不可の場合、選択したオブジェクトはグループに属していないことを意味します。

    4D は個々のオブジェクトの境界をハンドルで表わします。 +2. Choose **Ungroup** from the **Object** menu.
    OR
    Click the **Ungroup** button (variant of the **Group** button) in the toolbar of the Form editor.
    If **Ungroup** is dimmed, this means that the selected object is already separated into its simplest form. 4D は個々のオブジェクトの境界をハンドルで表わします。 ### オブジェクトの整列 @@ -276,9 +276,9 @@ title: フォームエディター このダイアログボックスを表示するには、揃えたいオブジェクトを選択し、**オブジェクト** メニュー、またはエディターのコンテキストメニューの **整列** サブメニューから **整列...** コマンドを選択します。 -- "左/右整列" や "上/下整列" エリアで、実行しようとする整列に対応する整列アイコンをクリックします。

    見本エリアには、選択結果が表示されます。

    +- "左/右整列" や "上/下整列" エリアで、実行しようとする整列に対応する整列アイコンをクリックします。
    見本エリアには、選択結果が表示されます。 -- 標準のアンカー方式による整列を実行するには、**プレビュー** または **適用** をクリックします。 この場合、整列をおこなう方向で最も離れた位置にあるオブジェクトがアンカーとして使用され、他のオブジェクトはこのオブジェクトに合わせられます。 たとえば、一連のオブジェクトに対して右揃えを実行したい場合、一番右側に位置するオブジェクトがアンカーとして使用されます。 または:

    特定のオブジェクトを基準にオブジェクトを揃えるには、**整列** オプションを選択し、整列基準としたいオブジェクトを一覧から選択します。 この場合、基準オブジェクトの位置は変わりません。

    +- 標準のアンカー方式による整列を実行するには、**プレビュー** または **適用** をクリックします。 この場合、整列をおこなう方向で最も離れた位置にあるオブジェクトがアンカーとして使用され、他のオブジェクトはこのオブジェクトに合わせられます。 たとえば、一連のオブジェクトに対して右揃えを実行したい場合、一番右側に位置するオブジェクトがアンカーとして使用されます。 または:
    特定のオブジェクトを基準にオブジェクトを揃えるには、**整列** オプションを選択し、整列基準としたいオブジェクトを一覧から選択します。 この場合、基準オブジェクトの位置は変わりません。 **プレビュー** ボタンをクリックすると、整列の結果をプレビューすることができます。 するとフォームエディター上のオブジェクトは見かけ上整列しますが、ダイアログボックスが表示されたままなので、この整列のキャンセルや適用をおこなうことができます。 @@ -315,7 +315,8 @@ title: フォームエディター 1. 3つ以上のオブジェクトを選択し、希望する均等配置ツールをクリックします。 -2. 適用したい均等配置に対応する整列ツールをツールバー上で選択します。

    ![](../assets/en/FormEditor/distributionTool.png)

    または

    **オブジェクト** メニュー、またはエディターのコンテキストメニューの **整列** サブメニューから均等揃えメニューコマンドを選択します。

    4D は各オブジェクトを均等に配置します。 各オブジェクトの中心までの間隔、および隣接する 2つのオブジェクトの間隔のうち最も広い間隔が基準として用いられます。 +2. In the toolbar, click on the distribution tool that corresponds to the distribution you want to apply.
    ![](../assets/en/FormEditor/distributionTool.png)
    OR
    Select a distribution menu command from the **Align** submenu in the **Object** menu or from the context menu of the editor. + 4D は各オブジェクトを均等に配置します。 各オブジェクトの中心までの間隔、および隣接する 2つのオブジェクトの間隔のうち最も広い間隔が基準として用いられます。 "整列と均等配置" ダイアログボックスを用いてオブジェクトを均等に配置するには: @@ -323,9 +324,9 @@ title: フォームエディター 2. **オブジェクト** メニュー、またはエディターのコンテキストメニューの **整列** サブメニューから **整列...** コマンドを選択します。 次のダイアログボックスが表示されます: [](../assets/en/FormEditor/alignmentAssistant.png) -3. "左/右整列" や "上/下整列" エリアで、標準の均等配置アイコンをクリックします: ![](../assets/en/FormEditor/horizontalDistribution.png)

    (標準の横均等揃えアイコン)

    見本エリアには、選択結果が表示されます。 +3. "左/右整列" や "上/下整列" エリアで、標準の均等配置アイコンをクリックします: ![](../assets/en/FormEditor/horizontalDistribution.png)
    (標準の横均等揃えアイコン)
    見本エリアには、選択結果が表示されます。 -4. 標準の均等配置を実行するには、**プレビュー** または *適用* をクリックします。

    この場合、4D は標準の均等配置を実行し、オブジェクトは等間隔で配置されます。

    または:

    特定の均等配置を実行するには、**均等配置** オプションを選択します (たとえば各オブジェクトの右辺までの距離をもとにしてオブジェクトを均等に配置したい場合)。 このオプションはスイッチのように機能します。 均等配置チェックボックスが選択されていると、このオプションの下にあるアイコンは異なる動作をおこないます:

    +4. 標準の均等配置を実行するには、**プレビュー** または *適用* をクリックします。
    この場合、4D は標準の均等配置を実行し、オブジェクトは等間隔で配置されます。
    または:
    特定の均等配置を実行するには、**均等配置** オプションを選択します (たとえば各オブジェクトの右辺までの距離をもとにしてオブジェクトを均等に配置したい場合)。 このオプションはスイッチのように機能します。 均等配置チェックボックスが選択されていると、このオプションの下にあるアイコンは異なる動作をおこないます:
    - 左/右整列の場合、各アイコンは次の均等配置に対応します: 選択オブジェクトの左辺、中央 (横)、 右辺で均等に揃えます。 - 上/下整列の場合、各アイコンは次の均等配置に対応します: 選択オブジェクトの上辺、中央 (縦)、 下辺で均等に揃えます。 @@ -380,11 +381,11 @@ JSONフォームの入力順序の設定は、[`entryOrder`](properties_JSONref. 入力順モードに切り替え、入力順を変更するには: -1. **フォーム** メニューから **入力順** を選択するか、ツールバーの入力順ボタンをクリックします:

    ![](../assets/en/FormEditor/zOrder.png)

    +1. **フォーム** メニューから **入力順** を選択するか、ツールバーの入力順ボタンをクリックします:
    ![](../assets/en/FormEditor/zOrder.png)
    ポインターが入力順ポインターに変わり、4D はフォーム上に線を引いて、データ入力時にオブジェクトが選択される順序を示します。 ツールパレット上の他のツールをクリックするまでは、入力順序の表示と変更操作しかおこなえません。 -2. データ入力順を変更するには、フォームオブジェクト上にポインターを置き、マウスボタンを押したまま、次の入力順に設定したいオブジェクトまでポインターをドラッグします。

    ![](../assets/en/FormEditor/entryOrder3.png)

    これに応じて、4D はデータ入力順を調整します。 +2. データ入力順を変更するには、フォームオブジェクト上にポインターを置き、マウスボタンを押したまま、次の入力順に設定したいオブジェクトまでポインターをドラッグします。
    ![](../assets/en/FormEditor/entryOrder3.png)
    これに応じて、4D はデータ入力順を調整します。 3. 入力順を設定したいだけ、ステップ2 を繰り返します。 From 15af5cf31c20384bd53570a125a920067b85c453 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Tue, 21 Oct 2025 11:12:02 +0200 Subject: [PATCH 118/137] New translations components.md (Japanese) --- .../current/Project/components.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/i18n/ja/docusaurus-plugin-content-docs/current/Project/components.md b/i18n/ja/docusaurus-plugin-content-docs/current/Project/components.md index 5979f2a6997c4c..ec4b08fc2b4273 100644 --- a/i18n/ja/docusaurus-plugin-content-docs/current/Project/components.md +++ b/i18n/ja/docusaurus-plugin-content-docs/current/Project/components.md @@ -326,7 +326,7 @@ GitHubでリリースが作成されると、そこに**タグ**と**バージ 依存関係マネージャは、それぞれのコンポーネントが持つ `dependencies.json` ファイルを読み込み、可能な限り指定されたバージョンを遵守しつつ全ての必要な依存関係を回帰的にインストールします。 これによって、ネストされた依存関係を手動で特定し、一つずつ追加しなくても済むようになります。 -- **コンフリクトの解決**: 複数の依存関係が同じコンポーネントの[異なるバージョン](#) を必要とする場合、依存関係マネージャは全ての重なったバージョン範囲を満たすバージョンを探し出すことでコンフリクトを自動的に解決しようとします。 一次依存関係が二次依存関係とコンフリクトを起こした場合には、一次依存関係が優先されます。 +- **コンフリクトの解決**: 複数の依存関係が同じコンポーネントの[異なるバージョン](#defining-a-github-dependency-version-range) を必要とする場合、依存関係マネージャは全ての重なったバージョン範囲を満たすバージョンを探し出すことでコンフリクトを自動的に解決しようとします。 一次依存関係が二次依存関係とコンフリクトを起こした場合には、一次依存関係が優先されます。 :::note From 4d7516c00c4064d2c398fff8b0a9bef323374c21 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Tue, 21 Oct 2025 11:39:34 +0200 Subject: [PATCH 119/137] New translations openai.md (Japanese) --- .../current/aikit/Classes/OpenAI.md | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) 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 54c039039cd54c..6c40ad19f207fd 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 @@ -9,12 +9,12 @@ title: OpenAI ## 設定プロパティ -| プロパティ名 | 型 | 説明 | 任意 | -| --------- | ---- | ---------------------------------------------------------- | --------------------------------------------------------- | -| `apiKey` | Text | あなたの [OpenAI API キー](https://platform.openai.com/api-keys) | Can be required by the provider | -| `baseURL` | Text | OpenAI API リクエストのためのベースURL。 | Yes (if omitted = use OpenAI Platform) | -| `組織` | Text | あなたの OpenAI 組織 ID。 | ◯ | -| `project` | Text | あなたの OpenAI プロジェクト ID。 | ◯ | +| プロパティ名 | 型 | 説明 | 任意 | +| --------- | ---- | ---------------------------------------------------------- | ------------------------------------------------ | +| `apiKey` | Text | あなたの [OpenAI API キー](https://platform.openai.com/api-keys) | プロバイダーによっては必須 | +| `baseURL` | Text | OpenAI API リクエストのためのベースURL。 | 任意 (省略時 = OpenAI プラットフォームを使用) | +| `組織` | Text | あなたの OpenAI 組織 ID。 | ◯ | +| `project` | Text | あなたの OpenAI プロジェクト ID。 | ◯ | ### 追加のHTTPプロパティ From c81a011a0ca58ea1391e281f3e99fd0c1892a81d Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Tue, 21 Oct 2025 11:39:57 +0200 Subject: [PATCH 120/137] New translations openaimessage.md (Japanese) --- .../current/aikit/Classes/OpenAIMessage.md | 56 +++++++++---------- 1 file changed, 28 insertions(+), 28 deletions(-) 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 8c840ac2ac5c0a..71ac6fa0763f7e 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 @@ -9,13 +9,13 @@ title: OpenAIMessage ## プロパティ -| プロパティ | 型 | 説明 | -| -------------- | ---------- | -------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `role` | Text | The role of the message (e.g., "user", "assistant", "system", "tool"). | -| `内容` | Variant | メッセージのコンテンツ。テキスト、またはオブジェクトのコレクションのいずれかです。 | -| `user` | Text | メッセージに割り当てられたユーザーを表すオプションのプロパティ。 | -| `tool_calls` | Collection | A collection of tool calls requested by the assistant. Each tool call contains an `id`, `type`, and a `function` object. | -| `tool_call_id` | Text | The ID of the tool call that this message is responding to (used when `role` is "tool"). | +| プロパティ | 型 | 説明 | +| -------------- | ---------- | ----------------------------------------------------------------------------------- | +| `role` | Text | メッセージの役割(例: "user"、"assistant"、"system"、"tool")。 | +| `内容` | Variant | メッセージのコンテンツ。テキスト、またはオブジェクトのコレクションのいずれかです。 | +| `user` | Text | メッセージに割り当てられたユーザーを表すオプションのプロパティ。 | +| `tool_calls` | Collection | アシスタントからリクエストされたツール呼び出しのコレクション。 各ツール呼び出しには `id`、`type`、`function` オブジェクトが含まれます。 | +| `tool_call_id` | Text | このメッセージが返答しているツール呼び出しのID (`role` が "tool"の場合に使用されます)。 | ## 計算プロパティ @@ -38,7 +38,7 @@ title: OpenAIMessage ## 使用例 -### Create a simple message and attach an image +### シンプルなメッセージを作成し画像を添付する ```4d // OpenAIMessage のインスタンスを作成 @@ -48,11 +48,11 @@ var $message:=cs.AIKit.OpenAIMessage({role: "user"; content: "Hello!"}) $message.addImageURL("http://example.com/image.jpg"; "high") ``` -### 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. +アシスタントが外部関数を使用する必要がある場合、関数の実行をリクエストするための、`tool_calls` を持ったメッセージを生成します。 -**Assistant message requesting tool calls:** +**ツール呼び出しをリクエストするアシスタントメッセージ:** ```json { @@ -70,41 +70,41 @@ When an assistant needs to use external functions, it generates a message with ` } ``` -**Handling the tool call:** +**ツール呼び出しを管理する:** -When you receive a tool call message, you need to: +ツール呼び出しメッセージを受信した場合、以下のことを行う必要があります: -1. **Extract the function information:** - - `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` - - `id`: The unique identifier for this specific tool call +1. **関数の情報を抽出する:** + - `function.name`: 呼び出す関数の名前([OpenAITool](OpenAITool.md) 内で定義されている関数と合致する必要があります- この名前に応じて実行するコードを選択することができます) + - `function.arguments`: `JSON Parse` でパースされる必要のある、関数の引数を格納したJSON 文字列 + - `id`: この特定のツール呼び出しのための固有の識別子 -2. **Execute the function:** - Parse the arguments (which is a JSON string) and call the corresponding function that you defined in your OpenAITool configuration. +2. **関数を実行する:** + (JSON 文字列になっている)引数をパースし、OpenAITool 設定内で定義された対応する関数を呼び出します。 -3. **Respond with the tool result:** - Create a response message using the exact `tool_call_id` from the original request. +3. **ツールの結果で応答する:** + オリジナルのリクエストの`tool_call_id` を使用してレスポンスメッセージを作成します。 -**Example tool response:** +**ツールのレスポンスの一例:** ```4d -// Parse the function arguments (if any) +// 関数の引数をパースする(あれば) var $arguments : Object := JSON Parse($toolCall.function.arguments) -// Execute your code corresponding to "get_database_tables" +// "get_database_tables" に対応するコードを実行する var $tableNames: Text := OB Keys(ds).join(", ") -// Create the tool response message with the required tool_call_id +// 必要な tool_call_id を持ったツールレスポンスメッセージを作成する var $toolResponse:=cs.AIKit.OpenAIMessage.new({ \ role: "tool"; \ tool_call_id: "call_12345"; \ content: $tableNames \ }) -// 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. +**重要:** レスポンス内の`tool_call_id` は、元のツール呼び出しの`id` と完全に一致している必要があります。 これによってAI モデルはあなたのレスポンスと、呼び出しを行った特定の関数を正確に結びつけることができます。 ## 参照 -- [OpenAITool](OpenAITool.md) - For tool definition \ No newline at end of file +- [OpenAITool](OpenAITool.md) - ツール定義に必要 \ No newline at end of file From 3f81dd82882254e237db2f686cd15e6bb12fe9fa Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Tue, 21 Oct 2025 11:44:54 +0200 Subject: [PATCH 121/137] New translations formeditor.md (Japanese) --- .../version-20-R10/FormEditor/formEditor.md | 27 ++++++++++--------- 1 file changed, 14 insertions(+), 13 deletions(-) diff --git a/i18n/ja/docusaurus-plugin-content-docs/version-20-R10/FormEditor/formEditor.md b/i18n/ja/docusaurus-plugin-content-docs/version-20-R10/FormEditor/formEditor.md index ec48521b51969e..bf66478c6aaa1d 100644 --- a/i18n/ja/docusaurus-plugin-content-docs/version-20-R10/FormEditor/formEditor.md +++ b/i18n/ja/docusaurus-plugin-content-docs/version-20-R10/FormEditor/formEditor.md @@ -56,7 +56,7 @@ title: フォームエディター | アイコン | 名称 | 説明 | | ------------------------------------------------ | ------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------- | | ![](../assets/en/FormEditor/execute.png) | フォーム実行 | フォームの実行をテストするために使用します。 このボタンをクリックすると、4D は新しいウィンドウを開き、そのコンテキストでフォームを表示します (リストフォームの場合レコードリスト、詳細フォームの場合カレントレコード)。 フォームはメインプロセスで実行されます。 | -| ![](../assets/en/FormEditor/selection.png) | [選択ツール](#オブジェクトの選択) | フォームオブジェクトの選択、移動、そしてリサイズを行います。

    **注意**: テキストやグループボックスタイプのオブジェクトを選択すると、**Enter** キーを押すことで編集モードになります。

    | +| ![](../assets/en/FormEditor/selection.png) | [選択ツール](#オブジェクトの選択) | フォームオブジェクトの選択、移動、そしてリサイズを行います。
    **注**: テキストやグループボックスタイプのオブジェクトを選択すると、**Enter**キーを押すことで編集モードになります。 | | ![](../assets/en/FormEditor/zOrder.png) | [入力順](#データの入力順) | "入力順" モードに切り替わり、フォームの現在の入力順を表示・変更できます。 入力順は、バッジを使用して確認することもできます。 | | ![](../assets/en/FormEditor/moving.png) | [移動](#オブジェクトの移動) | "移動" モードに移行し、ウィンドウ中をドラッグ&ドロップすることで素早くフォームの表示部分を移動することができます。 このモードでカーソルは手の形になります。 このモードは、フォームを拡大表示している時に特に便利です。 | | ![](../assets/en/FormEditor/zoom.png) | [拡大](#拡大) | フォーム表示の拡大/縮小率を変更できます (デフォルトで100%)。 "拡大/縮小" モードにするには虫眼鏡をクリックするか、拡大/縮小率バーをクリックします。 この機能は前節で説明しています。 | @@ -146,11 +146,11 @@ title: フォームエディター ツールバーを使用してオブジェクトを選択するには: -1. ツールバーの矢印ツールをクリックします。

    ![](../assets/en/FormEditor/selection.png)

    +1. ツールバーの矢印ツールをクリックします。
    ![](../assets/en/FormEditor/selection.png) -

    マウスカーソルをフォームエリアに移動すると、カーソルは標準の矢印の形をしたポインターに変わります

    。 +
    When you move the pointer into the form area, it becomes a standard arrow-shaped pointer. -2. 選択したいオブジェクトをクリックします。 サイズ変更ハンドルが表示され、オブジェクトが選択されたことを表します。

    ![](../assets/en/FormEditor/selectResize.png)

    +2. 選択したいオブジェクトをクリックします。 サイズ変更ハンドルが表示され、オブジェクトが選択されたことを表します。
    ![](../assets/en/FormEditor/selectResize.png) プロパティリストを使用してオブジェクトを選択するには: @@ -242,13 +242,13 @@ title: フォームエディター 1. グループ化したいオブジェクトを選択します。 2. オブジェクトメニューから **グループ化** を選択します。 または - フォームエディターのツールバーでグループ化ボタンをクリックします。

    ![](../assets/en/FormEditor/group.png)

    + フォームエディターのツールバーでグループ化ボタンをクリックします。
    ![](../assets/en/FormEditor/group.png) 4D は、新たにグループ化されたオブジェクトの境界をハンドルで表わします。 グループ内の各オブジェクトの境界にはハンドルが表示されません。 これ以降、グループ化されたオブジェクトを編集すると、グループを構成する全オブジェクトが変更されます。 オブジェクトのグループ化を解除するには: 1. グループ化を解除したいグループオブジェクトを選択します。 -2. **オブジェクト**メニューから**グループ解除** を選択します。

    あるいは

    フォームエディターのツールバーで **グループ化解除** ボタン (**グループ化** ボタンのサブ項目) をクリックします。

    **グループ化解除** が選択不可の場合、選択したオブジェクトはグループに属していないことを意味します。

    4D は個々のオブジェクトの境界をハンドルで表わします。 +2. **オブジェクト**メニューから**グループ解除** を選択します。
    あるいは
    フォームエディターのツールバーで **グループ化解除** ボタン (**グループ化** ボタンのサブ項目) をクリックします。
    **グループ化解除** が選択不可の場合、選択したオブジェクトはグループに属していないことを意味します。 4D は個々のオブジェクトの境界をハンドルで表わします。 ### オブジェクトの整列 @@ -276,9 +276,9 @@ title: フォームエディター このダイアログボックスを表示するには、揃えたいオブジェクトを選択し、**オブジェクト** メニュー、またはエディターのコンテキストメニューの **整列** サブメニューから **整列...** コマンドを選択します。 -- “左/右整列” や “上/下整列” エリアで、実行しようとする整列に対応する整列アイコンをクリックします。

    見本エリアには、選択結果が表示されます。

    +- “左/右整列” や “上/下整列” エリアで、実行しようとする整列に対応する整列アイコンをクリックします。
    見本エリアには、選択結果が表示されます。 -- 標準のアンカー方式による整列を実行するには、**プレビュー** または **適用** をクリックします。 この場合、整列をおこなう方向で最も離れた位置にあるオブジェクトがアンカーとして使用され、他のオブジェクトはこのオブジェクトに合わせられます。 たとえば、一連のオブジェクトに対して右揃えを実行したい場合、一番右側に位置するオブジェクトがアンカーとして使用されます。 または:

    特定のオブジェクトを基準にオブジェクトを揃えるには、**整列** オプションを選択し、整列基準としたいオブジェクトを一覧から選択します。 この場合、基準オブジェクトの位置は変わりません。

    +- 標準のアンカー方式による整列を実行するには、**プレビュー** または **適用** をクリックします。 この場合、整列をおこなう方向で最も離れた位置にあるオブジェクトがアンカーとして使用され、他のオブジェクトはこのオブジェクトに合わせられます。 たとえば、一連のオブジェクトに対して右揃えを実行したい場合、一番右側に位置するオブジェクトがアンカーとして使用されます。 または:
    特定のオブジェクトを基準にオブジェクトを揃えるには、**整列** オプションを選択し、整列基準としたいオブジェクトを一覧から選択します。 この場合、基準オブジェクトの位置は変わりません。 **プレビュー** ボタンをクリックすると、整列の結果をプレビューすることができます。 するとフォームエディター上のオブジェクトは見かけ上整列しますが、ダイアログボックスが表示されたままなので、この整列のキャンセルや適用をおこなうことができます。 @@ -315,7 +315,8 @@ title: フォームエディター 1. 3つ以上のオブジェクトを選択し、希望する均等配置ツールをクリックします。 -2. 適用したい均等配置に対応する整列ツールをツールバー上で選択します。

    ![](../assets/en/FormEditor/distributionTool.png)

    あるいは

    **オブジェクト**メニュー内の**整列** サブメニュー、またはエディターのコンテキストメニューから分配メニューコマンドを選択します。

    4D は各オブジェクトを均等に配置します。 各オブジェクトの中心までの間隔、および隣接する 2つのオブジェクトの間隔のうち最も広い間隔が基準として用いられます。 +2. 適用したい均等配置に対応する整列ツールをツールバー上で選択します。
    ![](../assets/en/FormEditor/distributionTool.png)
    OR
    Select a distribution menu command from the **Align** submenu in the **Object** menu or from the context menu of the editor. + 4D は各オブジェクトを均等に配置します。 各オブジェクトの中心までの間隔、および隣接する 2つのオブジェクトの間隔のうち最も広い間隔が基準として用いられます。 "整列と均等配置" ダイアログボックスを用いてオブジェクトを均等に配置するには: @@ -323,9 +324,9 @@ title: フォームエディター 2. **オブジェクト** メニュー、またはエディターのコンテキストメニューの **整列** サブメニューから **整列...** コマンドを選択します。 次のダイアログボックスが表示されます: [](../assets/en/FormEditor/alignmentAssistant.png) -3. "左/右整列" や "上/下整列" エリアで、標準の均等配置アイコンをクリックします: ![](../assets/en/FormEditor/horizontalDistribution.png)

    (標準の横均等揃えアイコン)

    見本エリアには、選択結果が表示されます。 +3. "左/右整列" や "上/下整列" エリアで、標準の均等配置アイコンをクリックします: ![](../assets/en/FormEditor/horizontalDistribution.png)
    (標準の横均等揃えアイコン)
    見本エリアには、選択結果が表示されます。 -4. 標準の均等配置を実行するには、**プレビュー** または **適用** をクリックします。

    この場合、4D は標準の均等配置を実行し、オブジェクトは等間隔で配置されます。

    あるいは:

    特定の均等配置を実行するには、**均等配置** オプションを選択します (たとえば各オブジェクトの右辺までの距離をもとにしてオブジェクトを均等に配置したい場合)。 このオプションはスイッチのように機能します。 均等配置チェックボックスが選択されていると、このオプションの下にあるアイコンは異なる動作をおこないます:

    +4. 標準の均等配置を実行するには、**プレビュー** または **適用** をクリックします。
    この場合、4D は標準の均等配置を実行し、オブジェクトは等間隔で配置されます。
    あるいは:
    特定の均等配置を実行するには、**均等配置** オプションを選択します (たとえば各オブジェクトの右辺までの距離をもとにしてオブジェクトを均等に配置したい場合)。 このオプションはスイッチのように機能します。 均等配置チェックボックスが選択されていると、このオプションの下にあるアイコンは異なる動作をおこないます:
    - 左/右整列の場合、各アイコンは次の均等配置に対応します: 選択オブジェクトの左辺、中央 (横)、 右辺で均等に揃えます。 - 上/下整列の場合、各アイコンは次の均等配置に対応します: 選択オブジェクトの上辺、中央 (縦)、 下辺で均等に揃えます。 @@ -380,11 +381,11 @@ JSONフォームの入力順序の設定は、[`entryOrder`](properties_JSONref. 入力順モードに切り替え、入力順を変更するには: -1. **フォーム** メニューから **入力順** を選択するか、ツールバーの入力順ボタンをクリックします:

    ![](../assets/en/FormEditor/zOrder.png)

    +1. **フォーム** メニューから **入力順** を選択するか、ツールバーの入力順ボタンをクリックします:
    ![](../assets/en/FormEditor/zOrder.png)
    ポインターが入力順ポインターに変わり、4D はフォーム上に線を引いて、データ入力時にオブジェクトが選択される順序を示します。 ツールパレット上の他のツールをクリックするまでは、入力順序の表示と変更操作しかおこなえません。 -2. データ入力順を変更するには、フォームオブジェクト上にポインターを置き、マウスボタンを押したまま、次の入力順に設定したいオブジェクトまでポインターをドラッグします。

    ![](../assets/en/FormEditor/entryOrder3.png)

    4D はそれに応じて入力順を調整します。 +2. データ入力順を変更するには、フォームオブジェクト上にポインターを置き、マウスボタンを押したまま、次の入力順に設定したいオブジェクトまでポインターをドラッグします。
    ![](../assets/en/FormEditor/entryOrder3.png)
    4D はそれに応じて入力順を調整します。 3. 入力順を設定したいだけ、ステップ2 を繰り返します。 From b304d13cd0e99c6d094a0121a2a3b11035ec153c Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Tue, 21 Oct 2025 11:47:39 +0200 Subject: [PATCH 122/137] New translations components.md (Japanese) --- .../version-20-R10/Project/components.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/i18n/ja/docusaurus-plugin-content-docs/version-20-R10/Project/components.md b/i18n/ja/docusaurus-plugin-content-docs/version-20-R10/Project/components.md index c5e22a805f5c67..ac467cef8235cb 100644 --- a/i18n/ja/docusaurus-plugin-content-docs/version-20-R10/Project/components.md +++ b/i18n/ja/docusaurus-plugin-content-docs/version-20-R10/Project/components.md @@ -339,7 +339,7 @@ GitHubでリリースが作成されると、そこに**タグ**と**バージ 依存関係マネージャは、それぞれのコンポーネントが持つ `dependencies.json` ファイルを読み込み、可能な限り指定されたバージョンを遵守しつつ全ての必要な依存関係を回帰的にインストールします。 これによって、ネストされた依存関係を手動で特定し、一つずつ追加しなくても済むようになります。 -- **コンフリクトの解決**: 複数の依存関係が同じコンポーネントの[異なるバージョン](#) を必要とする場合、依存関係マネージャは全ての重なったバージョン範囲を満たすバージョンを探し出すことでコンフリクトを自動的に解決しようとします。 一次依存関係が二次依存関係とコンフリクトを起こした場合には、一次依存関係が優先されます。 +- **コンフリクトの解決**: 複数の依存関係が同じコンポーネントの[異なるバージョン](#defining-a-github-dependency-version-range) を必要とする場合、依存関係マネージャは全ての重なったバージョン範囲を満たすバージョンを探し出すことでコンフリクトを自動的に解決しようとします。 一次依存関係が二次依存関係とコンフリクトを起こした場合には、一次依存関係が優先されます。 :::note From 112ed0bb144410ec14d6aef937f783815e831edd Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Tue, 21 Oct 2025 11:52:25 +0200 Subject: [PATCH 123/137] New translations openai.md (Japanese) --- .../version-20-R10/aikit/Classes/OpenAI.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/i18n/ja/docusaurus-plugin-content-docs/version-20-R10/aikit/Classes/OpenAI.md b/i18n/ja/docusaurus-plugin-content-docs/version-20-R10/aikit/Classes/OpenAI.md index c2d1e5f3a7cc99..0d340f0e28706e 100644 --- a/i18n/ja/docusaurus-plugin-content-docs/version-20-R10/aikit/Classes/OpenAI.md +++ b/i18n/ja/docusaurus-plugin-content-docs/version-20-R10/aikit/Classes/OpenAI.md @@ -11,7 +11,7 @@ title: OpenAI | プロパティ名 | 型 | 説明 | 任意 | | --------- | ---- | ---------------------------------------------------------- | --------------------------------------------------------- | -| `apiKey` | Text | あなたの [OpenAI API キー](https://platform.openai.com/api-keys) | Can be required by the provider | +| `apiKey` | Text | あなたの [OpenAI API キー](https://platform.openai.com/api-keys) | プロバイダーによっては必須 | | `baseURL` | Text | OpenAI API リクエストのためのベースURL。 | Yes (if omitted = use OpenAI provider) | | `組織` | Text | あなたの OpenAI 組織 ID。 | ◯ | | `project` | Text | あなたの OpenAI プロジェクト ID。 | ◯ | From 678173b778d1b14e63574b13fd400d306acec208 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Tue, 21 Oct 2025 12:20:25 +0200 Subject: [PATCH 124/137] New translations openaitool.md (Japanese) --- .../current/aikit/Classes/OpenAITool.md | 64 +++++++++---------- 1 file changed, 32 insertions(+), 32 deletions(-) diff --git a/i18n/ja/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAITool.md b/i18n/ja/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAITool.md index c6d1be78b53a00..a34a35bd12d990 100644 --- a/i18n/ja/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAITool.md +++ b/i18n/ja/docusaurus-plugin-content-docs/current/aikit/Classes/OpenAITool.md @@ -5,50 +5,50 @@ title: OpenAITool # OpenAITool -The `OpenAITool` class represents a tool that can be called by the OpenAI model during a conversation. Tools allow the AI to perform specific functions and interact with external systems or retrieve information. +`OpenAITool` クラスは会話の途中でOpenAI モデルによって呼び出されうるツールを表します。 ツールを使用するとAI に特定の機能を実行させたり、外部システムとやりとりしたり、情報を取得したりといったことが可能になります。 -See [OpenAIMessage](OpenAIMessage.md) to see how to responds to a tool call. +ツール呼び出しに応答する方法については、[OpenAIMessage](OpenAIMessage.md) を参照して下さい。 -> **Note:** The tool calls are handled automatically when using [OpenAIChatHelper](OpenAIChatHelper.md) with `autoHandleToolCalls` enabled. +> **注意:** [OpenAIChatHelper](OpenAIChatHelper.md) を`autoHandleToolCalls` を有効化して使用した場合には、ツール呼び出しは自動的に管理されます。 ## プロパティ -### Root Properties +### ルートプロパティ -| プロパティ | 型 | デフォルト | 説明 | -| -------- | ------- | ------------ | ------------------------------------------------------------------------------------------------------------------------ | -| `type` | Text | `"function"` | The type of tool. Currently supports `"function"`, `"custom"`, and other built-in types. | -| `strict` | Boolean | `false` | Whether to enforce strict schema validation for function parameters. | +| プロパティ | 型 | デフォルト | 説明 | +| -------- | ------- | ------------ | ---------------------------------------------------------------- | +| `type` | Text | `"function"` | ツールのタイプ。 現在サポートされているのは`"function"`、`"custom"`、そしてその他のビルトインタイプです。 | +| `strict` | Boolean | `false` | 関数の引数に対して厳格なスキーマ検証を強制するかどうかを指定します。 | -### Common Properties +### 共通プロパティ -| プロパティ | 型 | 説明 | -| ------------- | ---- | ------------------------------------------------------------------------------ | -| `名称` | Text | The name of the tool, which works as an identifier. | -| `description` | Text | Description of the tool to help the LLM decide when to use it. | +| プロパティ | 型 | 説明 | +| ------------- | ---- | --------------------------------- | +| `名称` | Text | ツール名。識別子として機能します。 | +| `description` | Text | LLM がツールをいつ使うかを決定する手助けとなる、ツールの説明。 | -### Function-specific Properties +### 関数特有のプロパティ -| プロパティ | 型 | 説明 | -| ------------ | ------ | -------------------------------------------------------------------------------- | -| `parameters` | Object | Parameters definition for the function using JSON schema format. | +| プロパティ | 型 | 説明 | +| ------------ | ------ | ---------------------------- | +| `parameters` | Object | JSON スキーマフォーマットを使用した関数の引数宣言。 | -## Constructor +## コンストラクター ### new() **new**(*object* : Object) : OpenAITool -| 引数 | 型 | 説明 | -| --------- | ---------- | --------------------------------- | -| *options* | Object | Configuration object for the tool | -| 戻り値 | OpenAITool | New instance of OpenAITool | +| 引数 | 型 | 説明 | +| --------- | ---------- | -------------------- | +| *options* | Object | ツールの設定オブジェクト | +| 戻り値 | OpenAITool | OpenAITool の新規インスタンス | -Creates a new OpenAITool instance. The constructor accepts both simplified format and OpenAI API format. +新しい OpenAITool インスタンスを作成します。 このコンストラクターは簡易フォーマットとOpenAI API フォーマットの両方を受け入れます。 -#### Supported formats +#### サポートされるフォーマット -**Simplified format:** +**簡易フォーマット:** ```4d var $tool := cs.OpenAITool.new({ \ @@ -64,7 +64,7 @@ var $tool := cs.OpenAITool.new({ \ }) ``` -**OpenAI API format:** +**OpenAI API フォーマット:** ```4d var $tool := cs.OpenAITool.new({ \ @@ -84,9 +84,9 @@ var $tool := cs.OpenAITool.new({ \ }) ``` -## Integration with Chat Completions +## チャット補完との統合 -Tools are typically used with the `OpenAIChatCompletionsParameters.tools` property: +ツールは通常`OpenAIChatCompletionsParameters.tools` プロパティで使用されます: ```4d var $parameters := cs.AIKit.OpenAIChatCompletionsParameters.new({ \ @@ -95,10 +95,10 @@ var $parameters := cs.AIKit.OpenAIChatCompletionsParameters.new({ \ }) ``` -> **Note:** You can pass plain objects directly - they will be automatically converted to `OpenAITool` instances. There's no need to explicitly create `OpenAITool` objects. +> **注意:** プレーンなオブジェクトを直接渡すこともできます - 渡したオブジェクトは自動的に`OpenAITool` インスタンスに変換されます。 明示的に `OpenAITool` オブジェクトを作成する必要はありません。 ## 参照 -- [OpenAIChatCompletionsParameters](OpenAIChatCompletionsParameters.md) - For tool configuration -- [OpenAIChatHelper](OpenAIChatHelper.md) - For automatic tool call handling -- [OpenAIMessage](OpenAIMessage.md) - For tool call responses \ No newline at end of file +- [OpenAIChatCompletionsParameters](OpenAIChatCompletionsParameters.md) - ツール設定用 +- [OpenAIChatHelper](OpenAIChatHelper.md) - 自動ツール呼び出し管理用 +- [OpenAIMessage](OpenAIMessage.md) - ツール呼び出しレスポンス用 \ No newline at end of file From 0e04208d1f5e66b791dd7f9038fb26e24372dd9e Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Tue, 21 Oct 2025 12:20:45 +0200 Subject: [PATCH 125/137] New translations dataclassclass.md (Japanese) --- .../version-21/API/DataClassClass.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/i18n/ja/docusaurus-plugin-content-docs/version-21/API/DataClassClass.md b/i18n/ja/docusaurus-plugin-content-docs/version-21/API/DataClassClass.md index 8812a3e7f7f275..84c53958a0def8 100644 --- a/i18n/ja/docusaurus-plugin-content-docs/version-21/API/DataClassClass.md +++ b/i18n/ja/docusaurus-plugin-content-docs/version-21/API/DataClassClass.md @@ -1588,7 +1588,7 @@ var $employees:=ds.Employee.query("embedding > :1"; {vector: $vector; metric: mk // 明示的にコサイン計量を指定し、カスタムのしきい値を用いた検索 var $employees:=ds.Employee.query("embedding > :1"; {vector: $vector; metric: mk cosine; threshold: 0.9}) // フォーミュラを使用した検索 -var $employees:=ds.Employee.query(Formula(This.embdedding.cosineSimilarity($vector)>0.9)) +var $employees:=ds.Employee.query(Formula(This.embedding.cosineSimilarity($vector)>0.9)) ``` From 2db8e18291f7dcacd4a5f61d1b8eaade59020395 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Tue, 21 Oct 2025 12:24:28 +0200 Subject: [PATCH 126/137] New translations formeditor.md (Japanese) --- .../version-21/FormEditor/formEditor.md | 27 ++++++++++--------- 1 file changed, 14 insertions(+), 13 deletions(-) diff --git a/i18n/ja/docusaurus-plugin-content-docs/version-21/FormEditor/formEditor.md b/i18n/ja/docusaurus-plugin-content-docs/version-21/FormEditor/formEditor.md index ec48521b51969e..bf66478c6aaa1d 100644 --- a/i18n/ja/docusaurus-plugin-content-docs/version-21/FormEditor/formEditor.md +++ b/i18n/ja/docusaurus-plugin-content-docs/version-21/FormEditor/formEditor.md @@ -56,7 +56,7 @@ title: フォームエディター | アイコン | 名称 | 説明 | | ------------------------------------------------ | ------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------- | | ![](../assets/en/FormEditor/execute.png) | フォーム実行 | フォームの実行をテストするために使用します。 このボタンをクリックすると、4D は新しいウィンドウを開き、そのコンテキストでフォームを表示します (リストフォームの場合レコードリスト、詳細フォームの場合カレントレコード)。 フォームはメインプロセスで実行されます。 | -| ![](../assets/en/FormEditor/selection.png) | [選択ツール](#オブジェクトの選択) | フォームオブジェクトの選択、移動、そしてリサイズを行います。

    **注意**: テキストやグループボックスタイプのオブジェクトを選択すると、**Enter** キーを押すことで編集モードになります。

    | +| ![](../assets/en/FormEditor/selection.png) | [選択ツール](#オブジェクトの選択) | フォームオブジェクトの選択、移動、そしてリサイズを行います。
    **注**: テキストやグループボックスタイプのオブジェクトを選択すると、**Enter**キーを押すことで編集モードになります。 | | ![](../assets/en/FormEditor/zOrder.png) | [入力順](#データの入力順) | "入力順" モードに切り替わり、フォームの現在の入力順を表示・変更できます。 入力順は、バッジを使用して確認することもできます。 | | ![](../assets/en/FormEditor/moving.png) | [移動](#オブジェクトの移動) | "移動" モードに移行し、ウィンドウ中をドラッグ&ドロップすることで素早くフォームの表示部分を移動することができます。 このモードでカーソルは手の形になります。 このモードは、フォームを拡大表示している時に特に便利です。 | | ![](../assets/en/FormEditor/zoom.png) | [拡大](#拡大) | フォーム表示の拡大/縮小率を変更できます (デフォルトで100%)。 "拡大/縮小" モードにするには虫眼鏡をクリックするか、拡大/縮小率バーをクリックします。 この機能は前節で説明しています。 | @@ -146,11 +146,11 @@ title: フォームエディター ツールバーを使用してオブジェクトを選択するには: -1. ツールバーの矢印ツールをクリックします。

    ![](../assets/en/FormEditor/selection.png)

    +1. ツールバーの矢印ツールをクリックします。
    ![](../assets/en/FormEditor/selection.png) -

    マウスカーソルをフォームエリアに移動すると、カーソルは標準の矢印の形をしたポインターに変わります

    。 +
    When you move the pointer into the form area, it becomes a standard arrow-shaped pointer. -2. 選択したいオブジェクトをクリックします。 サイズ変更ハンドルが表示され、オブジェクトが選択されたことを表します。

    ![](../assets/en/FormEditor/selectResize.png)

    +2. 選択したいオブジェクトをクリックします。 サイズ変更ハンドルが表示され、オブジェクトが選択されたことを表します。
    ![](../assets/en/FormEditor/selectResize.png) プロパティリストを使用してオブジェクトを選択するには: @@ -242,13 +242,13 @@ title: フォームエディター 1. グループ化したいオブジェクトを選択します。 2. オブジェクトメニューから **グループ化** を選択します。 または - フォームエディターのツールバーでグループ化ボタンをクリックします。

    ![](../assets/en/FormEditor/group.png)

    + フォームエディターのツールバーでグループ化ボタンをクリックします。
    ![](../assets/en/FormEditor/group.png) 4D は、新たにグループ化されたオブジェクトの境界をハンドルで表わします。 グループ内の各オブジェクトの境界にはハンドルが表示されません。 これ以降、グループ化されたオブジェクトを編集すると、グループを構成する全オブジェクトが変更されます。 オブジェクトのグループ化を解除するには: 1. グループ化を解除したいグループオブジェクトを選択します。 -2. **オブジェクト**メニューから**グループ解除** を選択します。

    あるいは

    フォームエディターのツールバーで **グループ化解除** ボタン (**グループ化** ボタンのサブ項目) をクリックします。

    **グループ化解除** が選択不可の場合、選択したオブジェクトはグループに属していないことを意味します。

    4D は個々のオブジェクトの境界をハンドルで表わします。 +2. **オブジェクト**メニューから**グループ解除** を選択します。
    あるいは
    フォームエディターのツールバーで **グループ化解除** ボタン (**グループ化** ボタンのサブ項目) をクリックします。
    **グループ化解除** が選択不可の場合、選択したオブジェクトはグループに属していないことを意味します。 4D は個々のオブジェクトの境界をハンドルで表わします。 ### オブジェクトの整列 @@ -276,9 +276,9 @@ title: フォームエディター このダイアログボックスを表示するには、揃えたいオブジェクトを選択し、**オブジェクト** メニュー、またはエディターのコンテキストメニューの **整列** サブメニューから **整列...** コマンドを選択します。 -- “左/右整列” や “上/下整列” エリアで、実行しようとする整列に対応する整列アイコンをクリックします。

    見本エリアには、選択結果が表示されます。

    +- “左/右整列” や “上/下整列” エリアで、実行しようとする整列に対応する整列アイコンをクリックします。
    見本エリアには、選択結果が表示されます。 -- 標準のアンカー方式による整列を実行するには、**プレビュー** または **適用** をクリックします。 この場合、整列をおこなう方向で最も離れた位置にあるオブジェクトがアンカーとして使用され、他のオブジェクトはこのオブジェクトに合わせられます。 たとえば、一連のオブジェクトに対して右揃えを実行したい場合、一番右側に位置するオブジェクトがアンカーとして使用されます。 または:

    特定のオブジェクトを基準にオブジェクトを揃えるには、**整列** オプションを選択し、整列基準としたいオブジェクトを一覧から選択します。 この場合、基準オブジェクトの位置は変わりません。

    +- 標準のアンカー方式による整列を実行するには、**プレビュー** または **適用** をクリックします。 この場合、整列をおこなう方向で最も離れた位置にあるオブジェクトがアンカーとして使用され、他のオブジェクトはこのオブジェクトに合わせられます。 たとえば、一連のオブジェクトに対して右揃えを実行したい場合、一番右側に位置するオブジェクトがアンカーとして使用されます。 または:
    特定のオブジェクトを基準にオブジェクトを揃えるには、**整列** オプションを選択し、整列基準としたいオブジェクトを一覧から選択します。 この場合、基準オブジェクトの位置は変わりません。 **プレビュー** ボタンをクリックすると、整列の結果をプレビューすることができます。 するとフォームエディター上のオブジェクトは見かけ上整列しますが、ダイアログボックスが表示されたままなので、この整列のキャンセルや適用をおこなうことができます。 @@ -315,7 +315,8 @@ title: フォームエディター 1. 3つ以上のオブジェクトを選択し、希望する均等配置ツールをクリックします。 -2. 適用したい均等配置に対応する整列ツールをツールバー上で選択します。

    ![](../assets/en/FormEditor/distributionTool.png)

    あるいは

    **オブジェクト**メニュー内の**整列** サブメニュー、またはエディターのコンテキストメニューから分配メニューコマンドを選択します。

    4D は各オブジェクトを均等に配置します。 各オブジェクトの中心までの間隔、および隣接する 2つのオブジェクトの間隔のうち最も広い間隔が基準として用いられます。 +2. 適用したい均等配置に対応する整列ツールをツールバー上で選択します。
    ![](../assets/en/FormEditor/distributionTool.png)
    OR
    Select a distribution menu command from the **Align** submenu in the **Object** menu or from the context menu of the editor. + 4D は各オブジェクトを均等に配置します。 各オブジェクトの中心までの間隔、および隣接する 2つのオブジェクトの間隔のうち最も広い間隔が基準として用いられます。 "整列と均等配置" ダイアログボックスを用いてオブジェクトを均等に配置するには: @@ -323,9 +324,9 @@ title: フォームエディター 2. **オブジェクト** メニュー、またはエディターのコンテキストメニューの **整列** サブメニューから **整列...** コマンドを選択します。 次のダイアログボックスが表示されます: [](../assets/en/FormEditor/alignmentAssistant.png) -3. "左/右整列" や "上/下整列" エリアで、標準の均等配置アイコンをクリックします: ![](../assets/en/FormEditor/horizontalDistribution.png)

    (標準の横均等揃えアイコン)

    見本エリアには、選択結果が表示されます。 +3. "左/右整列" や "上/下整列" エリアで、標準の均等配置アイコンをクリックします: ![](../assets/en/FormEditor/horizontalDistribution.png)
    (標準の横均等揃えアイコン)
    見本エリアには、選択結果が表示されます。 -4. 標準の均等配置を実行するには、**プレビュー** または **適用** をクリックします。

    この場合、4D は標準の均等配置を実行し、オブジェクトは等間隔で配置されます。

    あるいは:

    特定の均等配置を実行するには、**均等配置** オプションを選択します (たとえば各オブジェクトの右辺までの距離をもとにしてオブジェクトを均等に配置したい場合)。 このオプションはスイッチのように機能します。 均等配置チェックボックスが選択されていると、このオプションの下にあるアイコンは異なる動作をおこないます:

    +4. 標準の均等配置を実行するには、**プレビュー** または **適用** をクリックします。
    この場合、4D は標準の均等配置を実行し、オブジェクトは等間隔で配置されます。
    あるいは:
    特定の均等配置を実行するには、**均等配置** オプションを選択します (たとえば各オブジェクトの右辺までの距離をもとにしてオブジェクトを均等に配置したい場合)。 このオプションはスイッチのように機能します。 均等配置チェックボックスが選択されていると、このオプションの下にあるアイコンは異なる動作をおこないます:
    - 左/右整列の場合、各アイコンは次の均等配置に対応します: 選択オブジェクトの左辺、中央 (横)、 右辺で均等に揃えます。 - 上/下整列の場合、各アイコンは次の均等配置に対応します: 選択オブジェクトの上辺、中央 (縦)、 下辺で均等に揃えます。 @@ -380,11 +381,11 @@ JSONフォームの入力順序の設定は、[`entryOrder`](properties_JSONref. 入力順モードに切り替え、入力順を変更するには: -1. **フォーム** メニューから **入力順** を選択するか、ツールバーの入力順ボタンをクリックします:

    ![](../assets/en/FormEditor/zOrder.png)

    +1. **フォーム** メニューから **入力順** を選択するか、ツールバーの入力順ボタンをクリックします:
    ![](../assets/en/FormEditor/zOrder.png)
    ポインターが入力順ポインターに変わり、4D はフォーム上に線を引いて、データ入力時にオブジェクトが選択される順序を示します。 ツールパレット上の他のツールをクリックするまでは、入力順序の表示と変更操作しかおこなえません。 -2. データ入力順を変更するには、フォームオブジェクト上にポインターを置き、マウスボタンを押したまま、次の入力順に設定したいオブジェクトまでポインターをドラッグします。

    ![](../assets/en/FormEditor/entryOrder3.png)

    4D はそれに応じて入力順を調整します。 +2. データ入力順を変更するには、フォームオブジェクト上にポインターを置き、マウスボタンを押したまま、次の入力順に設定したいオブジェクトまでポインターをドラッグします。
    ![](../assets/en/FormEditor/entryOrder3.png)
    4D はそれに応じて入力順を調整します。 3. 入力順を設定したいだけ、ステップ2 を繰り返します。 From 776a9c6d851b7d22f47a80dbfbe8b7de82f9b4a5 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Tue, 21 Oct 2025 12:40:39 +0200 Subject: [PATCH 127/137] New translations components.md (Japanese) --- .../version-21/Project/components.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/i18n/ja/docusaurus-plugin-content-docs/version-21/Project/components.md b/i18n/ja/docusaurus-plugin-content-docs/version-21/Project/components.md index 9ec1cc2e38ce55..76f679bb238d05 100644 --- a/i18n/ja/docusaurus-plugin-content-docs/version-21/Project/components.md +++ b/i18n/ja/docusaurus-plugin-content-docs/version-21/Project/components.md @@ -326,7 +326,7 @@ GitHubでリリースが作成されると、そこに**タグ**と**バージ 依存関係マネージャは、それぞれのコンポーネントが持つ `dependencies.json` ファイルを読み込み、可能な限り指定されたバージョンを遵守しつつ全ての必要な依存関係を回帰的にインストールします。 これによって、ネストされた依存関係を手動で特定し、一つずつ追加しなくても済むようになります。 -- **コンフリクトの解決**: 複数の依存関係が同じコンポーネントの[異なるバージョン](#) を必要とする場合、依存関係マネージャは全ての重なったバージョン範囲を満たすバージョンを探し出すことでコンフリクトを自動的に解決しようとします。 一次依存関係が二次依存関係とコンフリクトを起こした場合には、一次依存関係が優先されます。 +- **コンフリクトの解決**: 複数の依存関係が同じコンポーネントの[異なるバージョン](#defining-a-github-dependency-version-range) を必要とする場合、依存関係マネージャは全ての重なったバージョン範囲を満たすバージョンを探し出すことでコンフリクトを自動的に解決しようとします。 一次依存関係が二次依存関係とコンフリクトを起こした場合には、一次依存関係が優先されます。 :::note From 54b4ea4a3bda00767b2eb61a1d81597dfed57c4b Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Tue, 21 Oct 2025 12:45:06 +0200 Subject: [PATCH 128/137] New translations openai.md (Japanese) --- .../version-21/aikit/Classes/OpenAI.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/i18n/ja/docusaurus-plugin-content-docs/version-21/aikit/Classes/OpenAI.md b/i18n/ja/docusaurus-plugin-content-docs/version-21/aikit/Classes/OpenAI.md index c2d1e5f3a7cc99..0d340f0e28706e 100644 --- a/i18n/ja/docusaurus-plugin-content-docs/version-21/aikit/Classes/OpenAI.md +++ b/i18n/ja/docusaurus-plugin-content-docs/version-21/aikit/Classes/OpenAI.md @@ -11,7 +11,7 @@ title: OpenAI | プロパティ名 | 型 | 説明 | 任意 | | --------- | ---- | ---------------------------------------------------------- | --------------------------------------------------------- | -| `apiKey` | Text | あなたの [OpenAI API キー](https://platform.openai.com/api-keys) | Can be required by the provider | +| `apiKey` | Text | あなたの [OpenAI API キー](https://platform.openai.com/api-keys) | プロバイダーによっては必須 | | `baseURL` | Text | OpenAI API リクエストのためのベースURL。 | Yes (if omitted = use OpenAI provider) | | `組織` | Text | あなたの OpenAI 組織 ID。 | ◯ | | `project` | Text | あなたの OpenAI プロジェクト ID。 | ◯ | From 828ad0c1e5c6f5ce6648445fbfa7d445ea45eec4 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Tue, 21 Oct 2025 12:45:18 +0200 Subject: [PATCH 129/137] New translations openaichathelper.md (Japanese) --- .../version-21/aikit/Classes/OpenAIChatHelper.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/i18n/ja/docusaurus-plugin-content-docs/version-21/aikit/Classes/OpenAIChatHelper.md b/i18n/ja/docusaurus-plugin-content-docs/version-21/aikit/Classes/OpenAIChatHelper.md index bbba82dc0590c0..c2dd0059375cd0 100644 --- a/i18n/ja/docusaurus-plugin-content-docs/version-21/aikit/Classes/OpenAIChatHelper.md +++ b/i18n/ja/docusaurus-plugin-content-docs/version-21/aikit/Classes/OpenAIChatHelper.md @@ -20,7 +20,7 @@ title: OpenAIChatHelper | `autoHandleToolCalls` | Boolean | true | 登録されたツールを使用してツール呼び出しを自動的に管理するかどうかをあらわすブール値。 | | `lastErrors` | Collection | - | チャット操作中に発生した最後のエラーを格納したコレクション。 | -## Constructor +## コンストラクター 新しい `OpenAIChatHelper` インスタンスを作成するためには、[OpenAI クライアントのチャットAPI](OpenAIChatAPI.md)の `create()` メソッドを使用するのが最適です: From d0ee979581685f585dae6b2a9690cfbdddbd439b Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Tue, 21 Oct 2025 12:45:34 +0200 Subject: [PATCH 130/137] New translations openaimessage.md (Japanese) --- .../version-21/aikit/Classes/OpenAIMessage.md | 56 +++++++++---------- 1 file changed, 28 insertions(+), 28 deletions(-) diff --git a/i18n/ja/docusaurus-plugin-content-docs/version-21/aikit/Classes/OpenAIMessage.md b/i18n/ja/docusaurus-plugin-content-docs/version-21/aikit/Classes/OpenAIMessage.md index 8c840ac2ac5c0a..71ac6fa0763f7e 100644 --- a/i18n/ja/docusaurus-plugin-content-docs/version-21/aikit/Classes/OpenAIMessage.md +++ b/i18n/ja/docusaurus-plugin-content-docs/version-21/aikit/Classes/OpenAIMessage.md @@ -9,13 +9,13 @@ title: OpenAIMessage ## プロパティ -| プロパティ | 型 | 説明 | -| -------------- | ---------- | -------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `role` | Text | The role of the message (e.g., "user", "assistant", "system", "tool"). | -| `内容` | Variant | メッセージのコンテンツ。テキスト、またはオブジェクトのコレクションのいずれかです。 | -| `user` | Text | メッセージに割り当てられたユーザーを表すオプションのプロパティ。 | -| `tool_calls` | Collection | A collection of tool calls requested by the assistant. Each tool call contains an `id`, `type`, and a `function` object. | -| `tool_call_id` | Text | The ID of the tool call that this message is responding to (used when `role` is "tool"). | +| プロパティ | 型 | 説明 | +| -------------- | ---------- | ----------------------------------------------------------------------------------- | +| `role` | Text | メッセージの役割(例: "user"、"assistant"、"system"、"tool")。 | +| `内容` | Variant | メッセージのコンテンツ。テキスト、またはオブジェクトのコレクションのいずれかです。 | +| `user` | Text | メッセージに割り当てられたユーザーを表すオプションのプロパティ。 | +| `tool_calls` | Collection | アシスタントからリクエストされたツール呼び出しのコレクション。 各ツール呼び出しには `id`、`type`、`function` オブジェクトが含まれます。 | +| `tool_call_id` | Text | このメッセージが返答しているツール呼び出しのID (`role` が "tool"の場合に使用されます)。 | ## 計算プロパティ @@ -38,7 +38,7 @@ title: OpenAIMessage ## 使用例 -### Create a simple message and attach an image +### シンプルなメッセージを作成し画像を添付する ```4d // OpenAIMessage のインスタンスを作成 @@ -48,11 +48,11 @@ var $message:=cs.AIKit.OpenAIMessage({role: "user"; content: "Hello!"}) $message.addImageURL("http://example.com/image.jpg"; "high") ``` -### 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. +アシスタントが外部関数を使用する必要がある場合、関数の実行をリクエストするための、`tool_calls` を持ったメッセージを生成します。 -**Assistant message requesting tool calls:** +**ツール呼び出しをリクエストするアシスタントメッセージ:** ```json { @@ -70,41 +70,41 @@ When an assistant needs to use external functions, it generates a message with ` } ``` -**Handling the tool call:** +**ツール呼び出しを管理する:** -When you receive a tool call message, you need to: +ツール呼び出しメッセージを受信した場合、以下のことを行う必要があります: -1. **Extract the function information:** - - `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` - - `id`: The unique identifier for this specific tool call +1. **関数の情報を抽出する:** + - `function.name`: 呼び出す関数の名前([OpenAITool](OpenAITool.md) 内で定義されている関数と合致する必要があります- この名前に応じて実行するコードを選択することができます) + - `function.arguments`: `JSON Parse` でパースされる必要のある、関数の引数を格納したJSON 文字列 + - `id`: この特定のツール呼び出しのための固有の識別子 -2. **Execute the function:** - Parse the arguments (which is a JSON string) and call the corresponding function that you defined in your OpenAITool configuration. +2. **関数を実行する:** + (JSON 文字列になっている)引数をパースし、OpenAITool 設定内で定義された対応する関数を呼び出します。 -3. **Respond with the tool result:** - Create a response message using the exact `tool_call_id` from the original request. +3. **ツールの結果で応答する:** + オリジナルのリクエストの`tool_call_id` を使用してレスポンスメッセージを作成します。 -**Example tool response:** +**ツールのレスポンスの一例:** ```4d -// Parse the function arguments (if any) +// 関数の引数をパースする(あれば) var $arguments : Object := JSON Parse($toolCall.function.arguments) -// Execute your code corresponding to "get_database_tables" +// "get_database_tables" に対応するコードを実行する var $tableNames: Text := OB Keys(ds).join(", ") -// Create the tool response message with the required tool_call_id +// 必要な tool_call_id を持ったツールレスポンスメッセージを作成する var $toolResponse:=cs.AIKit.OpenAIMessage.new({ \ role: "tool"; \ tool_call_id: "call_12345"; \ content: $tableNames \ }) -// 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. +**重要:** レスポンス内の`tool_call_id` は、元のツール呼び出しの`id` と完全に一致している必要があります。 これによってAI モデルはあなたのレスポンスと、呼び出しを行った特定の関数を正確に結びつけることができます。 ## 参照 -- [OpenAITool](OpenAITool.md) - For tool definition \ No newline at end of file +- [OpenAITool](OpenAITool.md) - ツール定義に必要 \ No newline at end of file From 4d98f134581056c0fd6160f1688356357d767e19 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Tue, 21 Oct 2025 12:45:49 +0200 Subject: [PATCH 131/137] New translations openaitool.md (Japanese) --- .../version-21/aikit/Classes/OpenAITool.md | 64 +++++++++---------- 1 file changed, 32 insertions(+), 32 deletions(-) diff --git a/i18n/ja/docusaurus-plugin-content-docs/version-21/aikit/Classes/OpenAITool.md b/i18n/ja/docusaurus-plugin-content-docs/version-21/aikit/Classes/OpenAITool.md index c6d1be78b53a00..a34a35bd12d990 100644 --- a/i18n/ja/docusaurus-plugin-content-docs/version-21/aikit/Classes/OpenAITool.md +++ b/i18n/ja/docusaurus-plugin-content-docs/version-21/aikit/Classes/OpenAITool.md @@ -5,50 +5,50 @@ title: OpenAITool # OpenAITool -The `OpenAITool` class represents a tool that can be called by the OpenAI model during a conversation. Tools allow the AI to perform specific functions and interact with external systems or retrieve information. +`OpenAITool` クラスは会話の途中でOpenAI モデルによって呼び出されうるツールを表します。 ツールを使用するとAI に特定の機能を実行させたり、外部システムとやりとりしたり、情報を取得したりといったことが可能になります。 -See [OpenAIMessage](OpenAIMessage.md) to see how to responds to a tool call. +ツール呼び出しに応答する方法については、[OpenAIMessage](OpenAIMessage.md) を参照して下さい。 -> **Note:** The tool calls are handled automatically when using [OpenAIChatHelper](OpenAIChatHelper.md) with `autoHandleToolCalls` enabled. +> **注意:** [OpenAIChatHelper](OpenAIChatHelper.md) を`autoHandleToolCalls` を有効化して使用した場合には、ツール呼び出しは自動的に管理されます。 ## プロパティ -### Root Properties +### ルートプロパティ -| プロパティ | 型 | デフォルト | 説明 | -| -------- | ------- | ------------ | ------------------------------------------------------------------------------------------------------------------------ | -| `type` | Text | `"function"` | The type of tool. Currently supports `"function"`, `"custom"`, and other built-in types. | -| `strict` | Boolean | `false` | Whether to enforce strict schema validation for function parameters. | +| プロパティ | 型 | デフォルト | 説明 | +| -------- | ------- | ------------ | ---------------------------------------------------------------- | +| `type` | Text | `"function"` | ツールのタイプ。 現在サポートされているのは`"function"`、`"custom"`、そしてその他のビルトインタイプです。 | +| `strict` | Boolean | `false` | 関数の引数に対して厳格なスキーマ検証を強制するかどうかを指定します。 | -### Common Properties +### 共通プロパティ -| プロパティ | 型 | 説明 | -| ------------- | ---- | ------------------------------------------------------------------------------ | -| `名称` | Text | The name of the tool, which works as an identifier. | -| `description` | Text | Description of the tool to help the LLM decide when to use it. | +| プロパティ | 型 | 説明 | +| ------------- | ---- | --------------------------------- | +| `名称` | Text | ツール名。識別子として機能します。 | +| `description` | Text | LLM がツールをいつ使うかを決定する手助けとなる、ツールの説明。 | -### Function-specific Properties +### 関数特有のプロパティ -| プロパティ | 型 | 説明 | -| ------------ | ------ | -------------------------------------------------------------------------------- | -| `parameters` | Object | Parameters definition for the function using JSON schema format. | +| プロパティ | 型 | 説明 | +| ------------ | ------ | ---------------------------- | +| `parameters` | Object | JSON スキーマフォーマットを使用した関数の引数宣言。 | -## Constructor +## コンストラクター ### new() **new**(*object* : Object) : OpenAITool -| 引数 | 型 | 説明 | -| --------- | ---------- | --------------------------------- | -| *options* | Object | Configuration object for the tool | -| 戻り値 | OpenAITool | New instance of OpenAITool | +| 引数 | 型 | 説明 | +| --------- | ---------- | -------------------- | +| *options* | Object | ツールの設定オブジェクト | +| 戻り値 | OpenAITool | OpenAITool の新規インスタンス | -Creates a new OpenAITool instance. The constructor accepts both simplified format and OpenAI API format. +新しい OpenAITool インスタンスを作成します。 このコンストラクターは簡易フォーマットとOpenAI API フォーマットの両方を受け入れます。 -#### Supported formats +#### サポートされるフォーマット -**Simplified format:** +**簡易フォーマット:** ```4d var $tool := cs.OpenAITool.new({ \ @@ -64,7 +64,7 @@ var $tool := cs.OpenAITool.new({ \ }) ``` -**OpenAI API format:** +**OpenAI API フォーマット:** ```4d var $tool := cs.OpenAITool.new({ \ @@ -84,9 +84,9 @@ var $tool := cs.OpenAITool.new({ \ }) ``` -## Integration with Chat Completions +## チャット補完との統合 -Tools are typically used with the `OpenAIChatCompletionsParameters.tools` property: +ツールは通常`OpenAIChatCompletionsParameters.tools` プロパティで使用されます: ```4d var $parameters := cs.AIKit.OpenAIChatCompletionsParameters.new({ \ @@ -95,10 +95,10 @@ var $parameters := cs.AIKit.OpenAIChatCompletionsParameters.new({ \ }) ``` -> **Note:** You can pass plain objects directly - they will be automatically converted to `OpenAITool` instances. There's no need to explicitly create `OpenAITool` objects. +> **注意:** プレーンなオブジェクトを直接渡すこともできます - 渡したオブジェクトは自動的に`OpenAITool` インスタンスに変換されます。 明示的に `OpenAITool` オブジェクトを作成する必要はありません。 ## 参照 -- [OpenAIChatCompletionsParameters](OpenAIChatCompletionsParameters.md) - For tool configuration -- [OpenAIChatHelper](OpenAIChatHelper.md) - For automatic tool call handling -- [OpenAIMessage](OpenAIMessage.md) - For tool call responses \ No newline at end of file +- [OpenAIChatCompletionsParameters](OpenAIChatCompletionsParameters.md) - ツール設定用 +- [OpenAIChatHelper](OpenAIChatHelper.md) - 自動ツール呼び出し管理用 +- [OpenAIMessage](OpenAIMessage.md) - ツール呼び出しレスポンス用 \ No newline at end of file From 7436f2dcee66a7f931f5205bdd87aaf104b9ff47 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Tue, 21 Oct 2025 12:57:04 +0200 Subject: [PATCH 132/137] New translations formeditor.md (Portuguese, Brazilian) --- .../version-20/FormEditor/formEditor.md | 28 +++++++++---------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/i18n/pt/docusaurus-plugin-content-docs/version-20/FormEditor/formEditor.md b/i18n/pt/docusaurus-plugin-content-docs/version-20/FormEditor/formEditor.md index 6fc8ffbf196945..5be02280470198 100644 --- a/i18n/pt/docusaurus-plugin-content-docs/version-20/FormEditor/formEditor.md +++ b/i18n/pt/docusaurus-plugin-content-docs/version-20/FormEditor/formEditor.md @@ -56,7 +56,7 @@ A barra de ferramentas contém os seguintes elementos: | Ícone | Nome | Descrição | | ------------------------------------------------ | --------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | ![](../assets/en/FormEditor/execute.png) | Executar o formulário | Utilizado para testar a execução do formulário. Ao clicar nesse botão, 4D abre uma nova janela e exibe o formulário em seu contexto (lista de registros para um formulário de lista e página de registro atual para um formulário detalhado). O formulário é executado no processo principal. | -| ![](../assets/en/FormEditor/selection.png) | [Ferramenta de selecção](#selecting-objects) | Permite selecionar, mover e redimensionar os objetos do formulário.

    **Nota**: quando um objeto do tipo Texto ou Group Box é selecionado, pressionando a tecla **Enter** permite que você mude para o modo de edição.

    | +| ![](../assets/en/FormEditor/selection.png) | [Ferramenta de selecção](#selecting-objects) | Allows selecting, moving and resizing form objects.
    **Note**: When an object of the Text or Group Box type is selected, pressing the **Enter** key lets you switch to editing mode. | | ![](../assets/en/FormEditor/zOrder.png) | [Ordem de entrada](#selecting-objects) | Alterna para o modo "Ordem de entrada", onde é possível visualizar e alterar a ordem de entrada atual do formulário. Observe que os escudos permitem a visualização da ordem de entrada atual, enquanto você ainda trabalha no formulário. | | ![](../assets/en/FormEditor/moving.png) | [Deslocamento](#moving-objects) | Alterne para o modo "Mover", onde for possível alcançar qualquer parte do formulário rapidamente usando arrastar e soltar na janela. O cursor assume a forma de uma mão. Este modo de navegação é particularmente útil ao ampliar o formulário. | | ![](../assets/en/FormEditor/zoom.png) | [Zoom](#zoom) | Permite modificar a percentagem de visualização do formulário (100% por padrão). Você pode alternar para o modo "Zoom" clicando na lupa ou clicando diretamente na barra desejada. Esta função é descrita em pormenor na secção anterior. | @@ -146,11 +146,11 @@ Antes de executar qualquer operação em um objeto (como alterar a largura ou a Para selecionar um objeto usando a barra de ferramentas: -1. Clique na ferramenta Seta na barra de ferramentas.

    ![](../assets/en/FormEditor/selection.png)

    +1. Clique na ferramenta Seta na barra de ferramentas.
    ![](../assets/en/FormEditor/selection.png) -

    Quando você move o ponteiro para a área do formulário, ele se torna um ponteiro padrão em forma de seta

    . +
    Quando você move o ponteiro para a área do formulário, ele se torna um ponteiro padrão em forma de seta. -2. Clique no objecto que deseja selecionar. As pegas de redimensionamento identificam o objeto selecionado.

    ../assets/en/FormEditor/selectResize.png

    +2. Clique no objecto que deseja selecionar. As pegas de redimensionamento identificam o objeto selecionado.
    ![](../assets/en/FormEditor/selectResize.png) Para selecionar um objecto utilizando a Lista de Propriedades: @@ -235,13 +235,12 @@ O agrupamento só afeta os objetos no editor de formulários. Quando o formulár Para agrupar objectos: 1. Selecione o objecto agrupado que pretende desagrupar. -2. Selecione **Grupo** no menu Objeto. OU Clique no botão do Grupo na barra de ferramentas no editor de formulário:

    ![](../assets/en/FormEditor/group.png)

    -4D marca a borda dos objetos recém-agrupados com alças. Nenhum manipulador marca o limite de nenhum dos objetos individuais no grupo. Agora, quando você modifica o objeto agrupado, altere todos os objetos que compõem o grupo. +2. Selecione **Grupo** no menu Objeto. OR Click the Group button in the toolbar of the Form editor:
    ![](../assets/en/FormEditor/group.png) 4D marks the boundary of the newly grouped objects with handles. Nenhum manipulador marca o limite de nenhum dos objetos individuais no grupo. Agora, quando você modifica o objeto agrupado, altere todos os objetos que compõem o grupo. Para desagrupar objetos: 1. Seleccione o objecto ou objectos que pretende duplicar. -2. Escolher **Desagrupar** a partir do menu **Objetos**.

    OU

    Clique no botão **Desagrupamento** (variante do botão **Grupo**) na barra de ferramentas do editor do formulário.

    Se **Desagrupamento** for escurecido, isso significa que o objeto selecionado já está separado em sua forma mais simples.

    4D marca os limites dos objetos individuais com alças. +2. Choose **Ungroup** from the **Object** menu.
    OR
    Click the **Ungroup** button (variant of the **Group** button) in the toolbar of the Form editor.
    If **Ungroup** is dimmed, this means that the selected object is already separated into its simplest form. 4D marca os limites dos objetos individuais com alças. ### Alinhamento de objetos @@ -268,9 +267,10 @@ O Assistente de Alinhamento permite que você execute qualquer tipo de alinhamen Para exibir esta caixa de diálogo, selecione os objetos que você deseja alinhar e escolha o comando **Alinhamento** a partir do menu **Alinhar** no menu **Objeto** ou no menu de contexto do editor. -- Nas áreas "Alinhamento Esquerda/Direita" e/ou "Alinhamento Superior/Inferior", clique no ícone que corresponde ao alinhamento que você deseja executar.

    A área de exemplo apresenta os resultados da sua seleção.

    +- Nas áreas "Alinhamento Esquerda/Direita" e/ou "Alinhamento Superior/Inferior", clique no ícone que corresponde ao alinhamento que você deseja executar.
    A área de exemplo exibe os resultados da sua seleção. + +- Para executar um alinhamento que use o esquema de âncora padrão, clique em **Prévia** ou **Aplicar**. Nesse caso, 4D usa o objeto que está mais distante na direção do alinhamento como âncora e alinha os outros objetos a esse objeto. Por exemplo, se quiser realizar um alinhamento correcto num conjunto de objectos, o objecto mais à direita será utilizado como âncora. OR:
    To align objects to a specific object, select the **Align on** option and select the object to which you want the other objects to be aligned from the object list. Neste caso, a posição do objeto de referência não será alterada. -- Para executar um alinhamento que use o esquema de âncora padrão, clique em **Prévia** ou **Aplicar**. Nesse caso, 4D usa o objeto que está mais distante na direção do alinhamento como âncora e alinha os outros objetos a esse objeto. Por exemplo, se quiser realizar um alinhamento correcto num conjunto de objectos, o objecto mais à direita será utilizado como âncora. OU:

    Para alinhar objetos a um objeto específico, selecione a opção **Alinhar em** e selecione o objeto ao qual deseja que os outros objetos sejam alinhados na lista de objetos. Neste caso, a posição do objeto de referência não será alterada.

    Pode pré-visualizar os resultados do alinhamento clicando no botão **Pré-visualização**. Os objetos são então alinhados no editor de formulários, mas como a caixa de diálogo não desaparece, ainda é possível cancelar ou aplicar o alinhamento. > Esta caixa de diálogo permite-lhe alinhar e distribuir objetos numa única operação. Para mais informações sobre como distribuir objetos, consultar [Distribuir objetos](#distributing-objects). @@ -304,7 +304,7 @@ Para distribuir objetos com igual espaçamento: 1. Selecione três ou mais objetos e clique na ferramenta Distribuir pretendida. -2. Na barra de ferramentas, clique na ferramenta de distribuição que corresponde à distribuição que você deseja aplicar.

    ![](../assets/en/FormEditor/distributionTool.png)

    OU

    Selecione um comando de distribuição no submenu **Alinear** do menu **Objeto** ou no menu contextual do editor.

    4D distribui os objetos em conformidade. Os objetos são distribuídos usando a distância para seus centros, e a maior distância entre dois objetos consecutivos é usada como referência. +2. In the toolbar, click on the distribution tool that corresponds to the distribution you want to apply.
    ![](../assets/en/FormEditor/distributionTool.png)
    OR
    Select a distribution menu command from the **Align** submenu in the **Object** menu or from the context menu of the editor. 4D distribui os objetos em conformidade. Os objetos são distribuídos usando a distância para seus centros, e a maior distância entre dois objetos consecutivos é usada como referência. Para distribuir objetos utilizando a caixa de diálogo Alinhar e distribuir: @@ -312,9 +312,9 @@ Para distribuir objetos utilizando a caixa de diálogo Alinhar e distribuir: 2. Escolha o comando **Alinhamento** do submenu **Alinhar** no menu **Objeto** ou no menu de contexto do editor. Aparece a seguinte caixa de diálogo:![](../assets/en/FormEditor/alignmentAssistant.png) -3. Nas áreas Alinhamento Esquerdo/Direita e/ou Alinhamento Superior/Inferior, clique no ícone de distribuição padrão: ![](../assets/en/FormEditor/horizontalDistribution.png)

    (Ícone de distribuição horizontal standard)

    A área de exemplo apresenta os resultados da sua seleção. +3. In the Left/Right Alignment and/or Top/Bottom Alignment areas, click the standard distribution icon: ![](../assets/en/FormEditor/horizontalDistribution.png)
    (Standard horizontal distribution icon)
    The example area displays the results of your selection. -4. Para realizar uma distribuição que use o esquema padrão, clique em **Pré-visualizar** ou *Aplicar*.

    Neste caso 4D irá executar uma distribuição padrão, de modo que os objetos sejam definidos com a mesma quantidade de espaço entre eles.

    OU:

    Para executar uma distribuição específica, selecione a opção **Distribuir** (por exemplo, se você quiser distribuir os objetos com base na distância até o lado direito). Esta opção funciona como um interruptor. Se a caixa de seleção Distribui for selecionada, os ícones localizados abaixo dele executam uma função diferente:

    +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 opção funciona como um interruptor. Se a caixa de seleção Distribui for selecionada, os ícones localizados abaixo dele executam uma função diferente:
    - Horizontalmente, os ícones correspondem às seguintes distribuições: igualmente com relação aos lados esquerdo, centros (hor.) e lados direito dos objetos selecionados. - Verticalmente, os ícones correspondem às seguintes distribuições: igualmente com respeito às arestas superiores, centros (vert.) e as bordas inferiores dos objetos selecionados. @@ -367,11 +367,11 @@ Este parágrafo descreve a visualização e a modificação da ordem de entrada Para ver ou alterar a ordem de entrada: -1. Escolha **Ordem de Entrada** a partir do menu **Formulário** ou clique no botão da Ordem de Entrada na barra de ferramentas da janela:

    ![](../assets/en/FormEditor/zOrder.png)

    +1. Escolha **Ordem de Entrada** a partir do menu **Formulário** ou clique no botão da Ordem de Entrada na barra de ferramentas da janela:
    ![](../assets/en/FormEditor/zOrder.png)
    O ponteiro se transforma em um ponteiro de ordem de entrada e 4D desenha uma linha na forma mostrando a ordem em que ele seleciona objetos durante a entrada de dados. A visualização e alteração da ordem de introdução de dados são as únicas acções que pode realizar até clicar em qualquer ferramenta na paleta Ferramentas. -2. Para alterar a ordem de entrada de dados, posicionar o ponteiro sobre um objeto na forma e, mantendo pressionado o botão do rato, arrastar o ponteiro para o objeto que se pretende a seguir na ordem de entrada de dados.

    ![](../assets/en/FormEditor/entryOrder3.png)

    4D irá ajustar a ordem de entrada em conformidade. +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.
    ![](../assets/en/FormEditor/entryOrder3.png)
    4D will adjust the entry order accordingly. 3. Repita a etapa 2 tantas vezes quantas forem necessárias para definir a ordem de introdução de dados que desejar. From 1464e5dcdf2eca3a626ce4a25c17644bb16ceadb Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Tue, 21 Oct 2025 13:15:28 +0200 Subject: [PATCH 133/137] New translations sessionclass.md (Portuguese, Brazilian) --- .../current/API/SessionClass.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/i18n/pt/docusaurus-plugin-content-docs/current/API/SessionClass.md b/i18n/pt/docusaurus-plugin-content-docs/current/API/SessionClass.md index 6ea1fd129e4c34..c26001d78e0d51 100644 --- a/i18n/pt/docusaurus-plugin-content-docs/current/API/SessionClass.md +++ b/i18n/pt/docusaurus-plugin-content-docs/current/API/SessionClass.md @@ -89,7 +89,7 @@ This function does not remove **promoted privileges** from the web process, whet ::: -Regarding remote client sessions, the function only impacts [code accessing the web server](../WebServer/preemptiveWeb.md#writing-thread-safe-web-server-code). +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). #### Exemplo @@ -388,7 +388,7 @@ This function returns True for the *privilege* if called from a function that wa ::: -Regarding remote client sessions, the function only impacts [code accessing the web server](../WebServer/preemptiveWeb.md#writing-thread-safe-web-server-code). +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*. From 58f694d5b79441b05393c88b6e9e454862c57f55 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Tue, 21 Oct 2025 13:18:35 +0200 Subject: [PATCH 134/137] New translations formeditor.md (Portuguese, Brazilian) --- .../current/FormEditor/formEditor.md | 29 ++++++++++--------- 1 file changed, 15 insertions(+), 14 deletions(-) diff --git a/i18n/pt/docusaurus-plugin-content-docs/current/FormEditor/formEditor.md b/i18n/pt/docusaurus-plugin-content-docs/current/FormEditor/formEditor.md index cbe997c6971a80..86e4cbdff0d795 100644 --- a/i18n/pt/docusaurus-plugin-content-docs/current/FormEditor/formEditor.md +++ b/i18n/pt/docusaurus-plugin-content-docs/current/FormEditor/formEditor.md @@ -56,7 +56,7 @@ A barra de ferramentas contém os seguintes elementos: | Ícone | Nome | Descrição | | ------------------------------------------------ | ---------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | ![](../assets/en/FormEditor/execute.png) | Executar o formulário | Utilizado para testar a execução do formulário. Ao clicar nesse botão, 4D abre uma nova janela e exibe o formulário em seu contexto (lista de registros para um formulário de lista e página de registro atual para um formulário detalhado). O formulário é executado no processo principal. | -| ![](../assets/en/FormEditor/selection.png) | [Ferramenta de seleção](#selecting-objects) | Permite selecionar, mover e redimensionar objetos de formulário

    : Quando um objeto do tipo Text ou Group Box é selecionado, pressionar a tecla **Enter** permite alternar para o modo de edição.

    | +| ![](../assets/en/FormEditor/selection.png) | [Ferramenta de seleção](#selecting-objects) | Permite selecionar, mover e redimensionar objetos de formulário
    : Quando um objeto do tipo Text ou Group Box é selecionado, pressionar a tecla **Enter** permite alternar para o modo de edição. | | ![](../assets/en/FormEditor/zOrder.png) | [Ordem de entrada](#data-entry-order) | Alterna para o modo "Ordem de entrada", onde é possível visualizar e alterar a ordem de entrada atual do formulário. Observe que os escudos permitem a visualização da ordem de entrada atual, enquanto você ainda trabalha no formulário. | | ![](../assets/en/FormEditor/moving.png) | [Moving](#objetos-em-movimento) | Alterne para o modo "Mover", onde for possível alcançar qualquer parte do formulário rapidamente usando arrastar e soltar na janela. O cursor assume a forma de uma mão. Este modo de navegação é particularmente útil ao ampliar o formulário. | | ![](../assets/en/FormEditor/zoom.png) | [Zoom](#zoom) | Permite modificar a percentagem de visualização do formulário (100% por padrão). Você pode alternar para o modo "Zoom" clicando na lupa ou clicando diretamente na barra desejada. Esta função é descrita em pormenor na secção anterior. | @@ -146,18 +146,18 @@ Antes de executar qualquer operação em um objeto (como alterar a largura ou a Para selecionar um objeto usando a barra de ferramentas: -1. Clique na ferramenta Seta na barra de ferramentas

    ![](../assets/en/FormEditor/selection.png)

    +1. Clique na ferramenta Seta na barra de ferramentas
    ![](../assets/en/FormEditor/selection.png) -

    Quando você move o ponteiro para a área do formulário, ele se torna um ponteiro padrão em forma de seta

    . +
    When you move the pointer into the form area, it becomes a standard arrow-shaped pointer. -2. Clique no objecto que deseja selecionar. As alças de redimensionamento identificam o objeto selecionado

    ![](../assets/en/FormEditor/selectResize.png)

    +2. Clique no objecto que deseja selecionar. As alças de redimensionamento identificam o objeto selecionado
    ![](../assets/en/FormEditor/selectResize.png) Para selecionar um objecto utilizando a Lista de Propriedades: 1. Escolher o nome do objecto na lista pendente da Lista de Objectos localizada no topo da Lista de Propriedades. Usando estes dois métodos, pode seleccionar um objecto que esteja escondido por outros objectos ou localizado fora da área visível da janela actual. Para cancelar a seleção de um objeto, clique fora do limite do objeto ou **Shift+clique** no objeto. -> Também é possível selecionar objetos clicando duas vezes neles na janela de resultados da operação "Localizar no design". +> It is also possible to select objects by double-clicking them in the result window of "Find in design" operation. ### Selecção de múltiplos objectos @@ -241,13 +241,13 @@ Para agrupar objectos: 1. Selecione o objecto agrupado que pretende desagrupar. 2. Elija **Agrupar** en el menú Objetos. OU - Clique no botão Group (Agrupar

    )

    na barra de ferramentas do editor de formulários:

    ![](../assets/en/FormEditor/group.png)

    + Clique no botão Group (Agrupar
    ) na barra de ferramentas do editor de formulários:

    ![](../assets/en/FormEditor/group.png)

    4D marca o limite dos objetos recém-agrupados com alças. Nenhum manipulador marca o limite de nenhum dos objetos individuais no grupo. Agora, quando você modifica o objeto agrupado, altere todos os objetos que compõem o grupo. Para desagrupar objetos: 1. Seleccione o objecto ou objectos que pretende duplicar. -2. Escolha **Ungroup** no menu **Object**

    .OUClique no

    botão **Ungroup** (variante do botão **Group**) na barra de ferramentas do editor de formulários.

    Se **Ungroup** estiver esmaecido, isso significa que o objeto selecionado já está separado em sua forma mais simples.

    4D marca os limites dos objetos individuais com alças. +2. Choose **Ungroup** from the **Object** menu.
    OR
    Click the **Ungroup** button (variant of the **Group** button) in the toolbar of the Form editor.
    If **Ungroup** is dimmed, this means that the selected object is already separated into its simplest form. 4D marca os limites dos objetos individuais com alças. ### Alinhamento de objetos @@ -275,9 +275,9 @@ O Assistente de Alinhamento permite que você execute qualquer tipo de alinhamen Para exibir essa caixa de diálogo, selecione os objetos que deseja alinhar e escolha o comando **Alinhamento** no submenu **Alinhar** do menu **Objeto** ou no menu de contexto do editor. -- Nas áreas "Alinhamento Esquerda/Direita" e/ou "Alinhamento Superior/Inferior", clique no ícone que corresponde ao alinhamento que você deseja executar.

    A área de exemplo exibe os resultados da sua seleção.

    +- Nas áreas "Alinhamento Esquerda/Direita" e/ou "Alinhamento Superior/Inferior", clique no ícone que corresponde ao alinhamento que você deseja executar.
    A área de exemplo exibe os resultados da sua seleção. -- Para executar um alinhamento que use o esquema de âncora padrão, clique em **Preview** ou **Apply**. Nesse caso, 4D usa o objeto que está mais distante na direção do alinhamento como âncora e alinha os outros objetos a esse objeto. Por exemplo, se quiser realizar um alinhamento correcto num conjunto de objectos, o objecto mais à direita será utilizado como âncora. OU:

    Para alinhar objetos a um objeto específico, selecione a opção **Alinhar em** e selecione o objeto ao qual você deseja que os outros objetos sejam alinhados na lista de objetos. In this case, the position of the reference object will not be altered.

    +- Para executar um alinhamento que use o esquema de âncora padrão, clique em **Preview** ou **Apply**. Nesse caso, 4D usa o objeto que está mais distante na direção do alinhamento como âncora e alinha os outros objetos a esse objeto. Por exemplo, se quiser realizar um alinhamento correcto num conjunto de objectos, o objecto mais à direita será utilizado como âncora. OU:
    Para alinhar objetos a um objeto específico, selecione a opção **Alinhar em** e selecione o objeto ao qual você deseja que os outros objetos sejam alinhados na lista de objetos. Neste caso, a posição do objeto de referência não será alterada. Você pode visualizar os resultados do alinhamento clicando no botão **Preview**. Os objetos são então alinhados no editor de formulários, mas como a caixa de diálogo não desaparece, ainda é possível cancelar ou aplicar o alinhamento. @@ -314,7 +314,8 @@ Para distribuir objetos com igual espaçamento: 1. Selecione três ou mais objetos e clique na ferramenta Distribuir pretendida. -2. Na barra de ferramentas, clique na ferramenta de distribuição que corresponde à distribuição que você deseja aplicar.

    ![](../assets/en/FormEditor/distributionTool.png)

    OU

    Selecione um comando de menu de distribuição no submenu **Alinhar** no menu **Objeto** ou no menu de contexto do editor.

    4D distribui os objetos apropriadamente. Os objetos são distribuídos usando a distância para seus centros, e a maior distância entre dois objetos consecutivos é usada como referência. +2. In the toolbar, click on the distribution tool that corresponds to the distribution you want to apply.
    ![](../assets/en/FormEditor/distributionTool.png)
    OR
    Select a distribution menu command from the **Align** submenu in the **Object** menu or from the context menu of the editor. + 4D distribui os objetos em conformidade. Os objetos são distribuídos usando a distância para seus centros, e a maior distância entre dois objetos consecutivos é usada como referência. Para distribuir objetos utilizando a caixa de diálogo Alinhar e distribuir: @@ -322,9 +323,9 @@ Para distribuir objetos utilizando a caixa de diálogo Alinhar e distribuir: 2. Seleccione el comando **Alineación** del submenú **Alinear** del menú **Objeto** o del menú contextual del editor. A seguinte caixa de diálogo é exibida:![](../assets/en/FormEditor/alignmentAssistant.png) -3. Nas áreas de Alinhamento Esquerdo/Direita e/ou Topo/Bottom Alinhamento, clique no ícone de distribuição padrão: ![](../assets/en/FormEditor/horizontalDistribution.png)

    (ícone padrão de distribuição horizontal)

    A área de exemplo exibe os resultados da sua seleção. +3. Nas áreas de Alinhamento Esquerdo/Direita e/ou Topo/Bottom Alinhamento, clique no ícone de distribuição padrão: ![](../assets/en/FormEditor/horizontalDistribution.png)
    (ícone padrão de distribuição horizontal)
    A área de exemplo exibe os resultados da sua seleção. -4. Para executar uma distribuição que use o esquema padrão, clique em **Preview** ou *Apply*.

    Nesse caso, o 4D executará uma distribuição padrão, de modo que os objetos sejam dispostos com uma quantidade igual de espaço entre eles

    . OU:

    Para executar uma distribuição específica, selecione a opção **Distribute** (por exemplo, se quiser distribuir os objetos com base na distância até o lado direito). Esta opção funciona como um interruptor. If the Distribute check box is selected, the icons located below it perform a different function:

    +4. Para executar uma distribuição que use o esquema padrão, clique em **Preview** ou *Apply*.
    Nesse caso, o 4D executará uma distribuição padrão, de modo que os objetos sejam dispostos com uma quantidade igual de espaço entre eles
    . OU:
    Para executar uma distribuição específica, selecione a opção **Distribute** (por exemplo, se quiser distribuir os objetos com base na distância até o lado direito). Esta opção funciona como um interruptor. If the Distribute check box is selected, the icons located below it perform a different function:
    - Horizontalmente, os ícones correspondem às seguintes distribuições: igualmente com relação aos lados esquerdos, centros (hor.) e os lados direito dos objetos selecionados. - Verticalmente, os ícones correspondem às seguintes distribuições: uniformemente em relação às bordas superiores, centros (vert.) e as bordas inferiores dos objetos selecionados. @@ -379,11 +380,11 @@ Este parágrafo descreve a visualização e a modificação da ordem de entrada Para ver ou alterar a ordem de entrada: -1. Selecione **Pedido de entrada** no menu **Formulário** ou clique no botão na barra de ferramentas da janela:

    ![](../assets/en/FormEditor/zOrder.png)

    +1. Selecione **Pedido de entrada** no menu **Formulário** ou clique no botão na barra de ferramentas da janela:
    ![](../assets/en/FormEditor/zOrder.png)
    O ponteiro se transforma em um ponteiro de ordem de entrada e 4D desenha uma linha na forma mostrando a ordem em que ele seleciona objetos durante a entrada de dados. A visualização e alteração da ordem de introdução de dados são as únicas acções que pode realizar até clicar em qualquer ferramenta na paleta Ferramentas. -2. Para mudar a ordem de entrada de dados, posicione o ponteiro em um objeto no formulário e, enquanto mantém pressionado o botão do mouse, arraste o ponteiro para o objeto que deseja na ordem de entrada de dados.4D ajustará a ordem de entrada de acordo. +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.
    ![](../assets/en/FormEditor/entryOrder3.png)
    4D will adjust the entry order accordingly. 3. Repita a etapa 2 tantas vezes quantas forem necessárias para definir a ordem de introdução de dados que desejar. From d87eb5216f63e5a46a7252a284ddbfa429b67438 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Tue, 21 Oct 2025 13:21:02 +0200 Subject: [PATCH 135/137] New translations components.md (Portuguese, Brazilian) --- .../current/Project/components.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/i18n/pt/docusaurus-plugin-content-docs/current/Project/components.md b/i18n/pt/docusaurus-plugin-content-docs/current/Project/components.md index b6c05fefa599fc..0e1b416ff79da9 100644 --- a/i18n/pt/docusaurus-plugin-content-docs/current/Project/components.md +++ b/i18n/pt/docusaurus-plugin-content-docs/current/Project/components.md @@ -326,7 +326,7 @@ When you add or update a component (whether [local](#local-components) or [from The Dependency manager reads each component's own `dependencies.json` file and recursively installs all required dependencies, respecting version specifications whenever possible. This eliminates the need to manually identify and add nested dependencies one by one. -- **Conflict resolution**: When multiple dependencies require [different versions](#) of the same component, the Dependency manager automatically attempts to resolve conflicts by finding a version that satisfies all overlapping version ranges. If a primary dependency conflicts with secondary dependencies, the primary dependency takes precedence. +- **Conflict resolution**: When multiple dependencies require [different versions](#defining-a-github-dependency-version-range) of the same component, the Dependency manager automatically attempts to resolve conflicts by finding a version that satisfies all overlapping version ranges. If a primary dependency conflicts with secondary dependencies, the primary dependency takes precedence. :::note From 57edc49f717f9ab65c7c953141fa20b33e4e6721 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Tue, 21 Oct 2025 13:52:07 +0200 Subject: [PATCH 136/137] New translations formeditor.md (Portuguese, Brazilian) --- .../version-20-R10/FormEditor/formEditor.md | 27 ++++++++++--------- 1 file changed, 14 insertions(+), 13 deletions(-) diff --git a/i18n/pt/docusaurus-plugin-content-docs/version-20-R10/FormEditor/formEditor.md b/i18n/pt/docusaurus-plugin-content-docs/version-20-R10/FormEditor/formEditor.md index a4e7b6b79650c0..ade39d9cdc748e 100644 --- a/i18n/pt/docusaurus-plugin-content-docs/version-20-R10/FormEditor/formEditor.md +++ b/i18n/pt/docusaurus-plugin-content-docs/version-20-R10/FormEditor/formEditor.md @@ -56,7 +56,7 @@ A barra de ferramentas contém os seguintes elementos: | Ícone | Nome | Descrição | | ------------------------------------------------ | ---------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | ![](../assets/en/FormEditor/execute.png) | Executar o formulário | Utilizado para testar a execução do formulário. Ao clicar nesse botão, 4D abre uma nova janela e exibe o formulário em seu contexto (lista de registros para um formulário de lista e página de registro atual para um formulário detalhado). O formulário é executado no processo principal. | -| ![](../assets/en/FormEditor/selection.png) | [Ferramenta de seleção](#selecting-objects) | Allows selecting, moving and resizing form objects.

    **Note**: When an object of the Text or Group Box type is selected, pressing the **Enter** key lets you switch to editing mode.

    | +| ![](../assets/en/FormEditor/selection.png) | [Ferramenta de seleção](#selecting-objects) | Allows selecting, moving and resizing form objects.
    **Nota**: quando um objeto do tipo Texto ou Group Box é selecionado, pressionando a tecla **Enter** permite que você mude para o modo de edição. | | ![](../assets/en/FormEditor/zOrder.png) | [Ordem de entrada](#data-entry-order) | Alterna para o modo "Ordem de entrada", onde é possível visualizar e alterar a ordem de entrada atual do formulário. Observe que os escudos permitem a visualização da ordem de entrada atual, enquanto você ainda trabalha no formulário. | | ![](../assets/en/FormEditor/moving.png) | [Moving](#objetos-em-movimento) | Alterne para o modo "Mover", onde for possível alcançar qualquer parte do formulário rapidamente usando arrastar e soltar na janela. O cursor assume a forma de uma mão. Este modo de navegação é particularmente útil ao ampliar o formulário. | | ![](../assets/en/FormEditor/zoom.png) | [Zoom](#zoom) | Permite modificar a percentagem de visualização do formulário (100% por padrão). Você pode alternar para o modo "Zoom" clicando na lupa ou clicando diretamente na barra desejada. Esta função é descrita em pormenor na secção anterior. | @@ -146,11 +146,11 @@ Antes de executar qualquer operação em um objeto (como alterar a largura ou a Para selecionar um objeto usando a barra de ferramentas: -1. Click the Arrow tool in the toolbar.

    ![](../assets/en/FormEditor/selection.png)

    +1. Click the Arrow tool in the toolbar.
    ![](../assets/en/FormEditor/selection.png) -

    Quando você move o ponteiro para a área do formulário, ele se torna um ponteiro padrão em forma de seta

    . +
    When you move the pointer into the form area, it becomes a standard arrow-shaped pointer. -2. Clique no objecto que deseja selecionar. Resizing handles identify the selected object.

    ![](../assets/en/FormEditor/selectResize.png)

    +2. Clique no objecto que deseja selecionar. Resizing handles identify the selected object.
    ../assets/en/FormEditor/selectResize.png Para selecionar um objecto utilizando a Lista de Propriedades: @@ -241,13 +241,13 @@ Para agrupar objectos: 1. Selecione o objecto agrupado que pretende desagrupar. 2. Elija **Agrupar** en el menú Objetos. OU - Clique no botão Group (Agrupar

    )

    na barra de ferramentas do editor de formulários:

    ![](../assets/en/FormEditor/group.png)

    + Clique no botão Group (Agrupar
    ) na barra de ferramentas do editor de formulários:

    ![](../assets/en/FormEditor/group.png)

    4D marca o limite dos objetos recém-agrupados com alças. Nenhum manipulador marca o limite de nenhum dos objetos individuais no grupo. Agora, quando você modifica o objeto agrupado, altere todos os objetos que compõem o grupo. Para desagrupar objetos: 1. Seleccione o objecto ou objectos que pretende duplicar. -2. Choose **Ungroup** from the **Object** menu.

    OR

    Click the **Ungroup** button (variant of the **Group** button) in the toolbar of the Form editor.

    If **Ungroup** is dimmed, this means that the selected object is already separated into its simplest form.

    4D marca os limites dos objetos individuais com alças. +2. Choose **Ungroup** from the **Object** menu.
    OR
    Click the **Ungroup** button (variant of the **Group** button) in the toolbar of the Form editor.
    Se **Desagrupamento** for escurecido, isso significa que o objeto selecionado já está separado em sua forma mais simples. 4D marca os limites dos objetos individuais com alças. ### Alinhamento de objetos @@ -275,9 +275,9 @@ O Assistente de Alinhamento permite que você execute qualquer tipo de alinhamen Para exibir essa caixa de diálogo, selecione os objetos que deseja alinhar e escolha o comando **Alinhamento** no submenu **Alinhar** do menu **Objeto** ou no menu de contexto do editor. -- In the “Left/Right Alignment” and/or “Top/Bottom Alignment” areas, click the icon that corresponds to the alignment you want to perform.

    The example area displays the results of your selection.

    +- In the “Left/Right Alignment” and/or “Top/Bottom Alignment” areas, click the icon that corresponds to the alignment you want to perform.
    A área de exemplo apresenta os resultados da sua seleção. -- Para executar um alinhamento que use o esquema de âncora padrão, clique em **Preview** ou **Apply**. Nesse caso, 4D usa o objeto que está mais distante na direção do alinhamento como âncora e alinha os outros objetos a esse objeto. Por exemplo, se quiser realizar um alinhamento correcto num conjunto de objectos, o objecto mais à direita será utilizado como âncora. OU:

    Para alinhar objetos a um objeto específico, selecione a opção **Alinhar em** e selecione o objeto ao qual você deseja que os outros objetos sejam alinhados na lista de objetos. In this case, the position of the reference object will not be altered.

    +- Para executar um alinhamento que use o esquema de âncora padrão, clique em **Preview** ou **Apply**. Nesse caso, 4D usa o objeto que está mais distante na direção do alinhamento como âncora e alinha os outros objetos a esse objeto. Por exemplo, se quiser realizar um alinhamento correcto num conjunto de objectos, o objecto mais à direita será utilizado como âncora. OU:
    Para alinhar objetos a um objeto específico, selecione a opção **Alinhar em** e selecione o objeto ao qual você deseja que os outros objetos sejam alinhados na lista de objetos. Neste caso, a posição do objeto de referência não será alterada. Você pode visualizar os resultados do alinhamento clicando no botão **Preview**. Os objetos são então alinhados no editor de formulários, mas como a caixa de diálogo não desaparece, ainda é possível cancelar ou aplicar o alinhamento. @@ -314,7 +314,8 @@ Para distribuir objetos com igual espaçamento: 1. Selecione três ou mais objetos e clique na ferramenta Distribuir pretendida. -2. In the toolbar, click on the distribution tool that corresponds to the distribution you want to apply.

    ![](../assets/en/FormEditor/distributionTool.png)

    OR

    Select a distribution menu command from the **Align** submenu in the **Object** menu or from the context menu of the editor.

    4D distribui os objetos em conformidade. Os objetos são distribuídos usando a distância para seus centros, e a maior distância entre dois objetos consecutivos é usada como referência. +2. In the toolbar, click on the distribution tool that corresponds to the distribution you want to apply.
    ![](../assets/en/FormEditor/distributionTool.png)
    OR
    Select a distribution menu command from the **Align** submenu in the **Object** menu or from the context menu of the editor. + 4D distribui os objetos em conformidade. Os objetos são distribuídos usando a distância para seus centros, e a maior distância entre dois objetos consecutivos é usada como referência. Para distribuir objetos utilizando a caixa de diálogo Alinhar e distribuir: @@ -322,9 +323,9 @@ Para distribuir objetos utilizando a caixa de diálogo Alinhar e distribuir: 2. Seleccione el comando **Alineación** del submenú **Alinear** del menú **Objeto** o del menú contextual del editor. A seguinte caixa de diálogo é exibida:![](../assets/en/FormEditor/alignmentAssistant.png) -3. Nas áreas de Alinhamento Esquerdo/Direita e/ou Topo/Bottom Alinhamento, clique no ícone de distribuição padrão: ![](../assets/en/FormEditor/horizontalDistribution.png)

    (ícone padrão de distribuição horizontal)

    A área de exemplo exibe os resultados da sua seleção. +3. Nas áreas de Alinhamento Esquerdo/Direita e/ou Topo/Bottom Alinhamento, clique no ícone de distribuição padrão: ![](../assets/en/FormEditor/horizontalDistribution.png)
    (ícone padrão de distribuição horizontal)
    A área de exemplo exibe os resultados da sua seleção. -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 opção funciona como um interruptor. If the Distribute check box is selected, the icons located below it perform a different function:

    +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 opção funciona como um interruptor. If the Distribute check box is selected, the icons located below it perform a different function:
    - Horizontalmente, os ícones correspondem às seguintes distribuições: igualmente com relação aos lados esquerdos, centros (hor.) e os lados direito dos objetos selecionados. - Verticalmente, os ícones correspondem às seguintes distribuições: uniformemente em relação às bordas superiores, centros (vert.) e as bordas inferiores dos objetos selecionados. @@ -379,11 +380,11 @@ Este parágrafo descreve a visualização e a modificação da ordem de entrada Para ver ou alterar a ordem de entrada: -1. Selecione **Pedido de entrada** no menu **Formulário** ou clique no botão na barra de ferramentas da janela:

    ![](../assets/en/FormEditor/zOrder.png)

    +1. Selecione **Pedido de entrada** no menu **Formulário** ou clique no botão na barra de ferramentas da janela:
    ![](../assets/en/FormEditor/zOrder.png)
    O ponteiro se transforma em um ponteiro de ordem de entrada e 4D desenha uma linha na forma mostrando a ordem em que ele seleciona objetos durante a entrada de dados. A visualização e alteração da ordem de introdução de dados são as únicas acções que pode realizar até clicar em qualquer ferramenta na paleta Ferramentas. -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.

    ![](../assets/en/FormEditor/entryOrder3.png)

    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.
    ![](../assets/en/FormEditor/entryOrder3.png)
    4D will adjust the entry order accordingly. 3. Repita a etapa 2 tantas vezes quantas forem necessárias para definir a ordem de introdução de dados que desejar. From 8beed48cc98cc08385a07a97018f5272f4542de0 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Tue, 21 Oct 2025 13:54:32 +0200 Subject: [PATCH 137/137] New translations components.md (Portuguese, Brazilian) --- .../version-20-R10/Project/components.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/i18n/pt/docusaurus-plugin-content-docs/version-20-R10/Project/components.md b/i18n/pt/docusaurus-plugin-content-docs/version-20-R10/Project/components.md index c78e4286cff83c..ed14c5233d5e9e 100644 --- a/i18n/pt/docusaurus-plugin-content-docs/version-20-R10/Project/components.md +++ b/i18n/pt/docusaurus-plugin-content-docs/version-20-R10/Project/components.md @@ -339,7 +339,7 @@ When you add or update a component (whether [local](#local-components) or [from The Dependency manager reads each component's own `dependencies.json` file and recursively installs all required dependencies, respecting version specifications whenever possible. This eliminates the need to manually identify and add nested dependencies one by one. -- **Conflict resolution**: When multiple dependencies require [different versions](#) of the same component, the Dependency manager automatically attempts to resolve conflicts by finding a version that satisfies all overlapping version ranges. If a primary dependency conflicts with secondary dependencies, the primary dependency takes precedence. +- **Conflict resolution**: When multiple dependencies require [different versions](#defining-a-github-dependency-version-range) of the same component, the Dependency manager automatically attempts to resolve conflicts by finding a version that satisfies all overlapping version ranges. If a primary dependency conflicts with secondary dependencies, the primary dependency takes precedence. :::note