From 611b06e64c9e6a99d732b3858d40d17a17e2982b Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Fri, 14 Nov 2025 18:48:54 +0100 Subject: [PATCH 01/62] New translations updates.md (French) --- .../version-20/Notes/updates.md | 10 ++-------- 1 file changed, 2 insertions(+), 8 deletions(-) diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-20/Notes/updates.md b/i18n/fr/docusaurus-plugin-content-docs/version-20/Notes/updates.md index 0810196fdcbd2c..50d0b949135801 100644 --- a/i18n/fr/docusaurus-plugin-content-docs/version-20/Notes/updates.md +++ b/i18n/fr/docusaurus-plugin-content-docs/version-20/Notes/updates.md @@ -15,8 +15,8 @@ Lisez [**Les nouveautés de 4D 20**](https://blog.4d.com/fr-whats-new-in-4d-v20/ #### Points forts -- 4D 20.8 LTS is certified on Windows 11 25H2. -- 4D 20.8 LTS is certified on macOS Tahoe (macOS 26). +- 4D 20.8 LTS est certifié sur Windows 11 25H2. +- 4D 20.8 LTS est certifié sur macOS Tahoe (macOS 26). - [**Fixed bugs list**](https://bugs.4d.com/fixes?version=20.8): list of all bugs that have been fixed in 4D 20.8 LTS. @@ -356,12 +356,6 @@ Pour plus d'informations, veuillez vous référer à [ce billet de blog](https:/ - Prise en charge de `no-bom` et nouveaux caractères de fin de ligne par défaut dans [`.setText()`](../API/FileClass.md#settext) -## 4D 19.x LTS - - -Voir [**Release notes pour 4D 19.x LTS**](../../version-19/Notes/updates.md). - - ## Tableau des bibliothèques (4D 20 LTS) From 27af577250aa0b133f254e2300b954e130011b32 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Fri, 14 Nov 2025 19:09:45 +0100 Subject: [PATCH 02/62] New translations classes.md (French) --- .../current/Concepts/classes.md | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/i18n/fr/docusaurus-plugin-content-docs/current/Concepts/classes.md b/i18n/fr/docusaurus-plugin-content-docs/current/Concepts/classes.md index 8d535e2cacc8ca..798a8fe4178877 100644 --- a/i18n/fr/docusaurus-plugin-content-docs/current/Concepts/classes.md +++ b/i18n/fr/docusaurus-plugin-content-docs/current/Concepts/classes.md @@ -735,13 +735,13 @@ Une **classe singleton** est une classe utilisateur qui ne produit qu'une seule ### Types de singletons +Les singletons sont utiles pour définir des valeurs qui doivent être disponibles partout dans une application, une session ou un process. + 4D prend en charge trois types de singletons : - un **singleton process** a une instance unique pour le process dans lequel il est instancié, - un **singleton partagé** a une instance unique pour tous les process sur la machine. -- une **singleton session** est un singleton partagé, mais avec une instance unique pour tous les process de la [session](../API/SessionClass.md). Les singletons de session sont partagés au sein d'une session entière mais varient d'une session à l'autre. Dans le contexte d'un client-serveur ou d'une application web, les singletons de session permettent de créer et d'utiliser une instance différente pour chaque session, et donc pour chaque utilisateur. - -Les singletons sont utiles pour définir des valeurs qui doivent être disponibles partout dans une application, une session ou un process. +- une **singleton session** est un singleton partagé, mais avec une instance unique pour tous les process de la [session](../API/SessionClass.md). Les singletons de session sont partagés au sein d'une session entière mais varient d'une session à l'autre. Dans le contexte d'un client-serveur ou d'une application web, les singletons de session permettent de créer et d'utiliser une instance différente pour chaque session, et donc pour chaque utilisateur. Session singletons are particularly appropriate with [Qodly applications](https://developer.4d.com/qodly/). :::info @@ -782,6 +782,10 @@ La propriété [`.isSingleton`](../API/ClassClass.md#issingleton) des objets de La propriété [`.isSessionSingleton`](../API/ClassClass.md#issessionsingleton) des objets de classe permet de savoir si la classe est un singleton de session. +### Exposed singleton functions + +Shared and session singleton functions support the [`exposed` keyword](../ORDA/ordaClasses.md#exposed-vs-non-exposed-functions). An exposed singleton function can be directly called by REST requests. This feature is useful to design [Qodly pages calling 4D functions](https://developer.4d.com/qodly/4DQodlyPro/pageLoaders/events/bindingActionToEvents#class-functions). + ### Exemples #### Singleton process From 4955610347090d5d6962090b2192cddc853ea896 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Fri, 14 Nov 2025 19:13:45 +0100 Subject: [PATCH 03/62] New translations properties.md (French) --- .../current/Menus/properties.md | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/i18n/fr/docusaurus-plugin-content-docs/current/Menus/properties.md b/i18n/fr/docusaurus-plugin-content-docs/current/Menus/properties.md index c20d88a22abb1a..27a5c94ef58462 100644 --- a/i18n/fr/docusaurus-plugin-content-docs/current/Menus/properties.md +++ b/i18n/fr/docusaurus-plugin-content-docs/current/Menus/properties.md @@ -12,9 +12,9 @@ La propriété **Titre** contient le libellé d'un menu ou d'une ligne de menu, Dans l'éditeur de menus, vous pouvez saisir directement le libellé "en dur". Vous pouvez également saisir une référence pour une variable ou un élément XLIFF, ce qui facilitera la mise à jour et la traduction des applications. Vous pouvez utiliser les types de références suivants : - Une référence à une ressource XLIFF, du type :xliff:MonLibellé. Pour plus d’informations sur les références XLIFF, reportez-vous à la section *Annexe B : Architecture XLIFF* du *Mode Développement 4D*. -- (**Deprecated**) An interprocess variable name followed by a number, for example: `:<>vlang,3`. Il suffit de changer le contenu de cette variable pour modifier le libellé du menu lors de son affichage. Dans ce cas, le libellé fera appel à une ressource XLIFF. La valeur contenue dans la variable `<>vlang` correspond à l’attribut *id* de l’élément *group*. La seconde valeur (3 dans cet exemple) désigne l’attribut *id* de l’élément *trans-unit*. +- (**Obsolète**) Un nom de variable interprocess suivi d'un nombre, par exemple : `:<>vlang,3`. Il suffit de changer le contenu de cette variable pour modifier le libellé du menu lors de son affichage. Dans ce cas, le libellé fera appel à une ressource XLIFF. La valeur contenue dans la variable `<>vlang` correspond à l’attribut *id* de l’élément *group*. La seconde valeur (3 dans cet exemple) désigne l’attribut *id* de l’élément *trans-unit*. -Using the 4D language, you set the title property through the *itemText* parameter of the [`APPEND MENU ITEM`](../commands/append-menu-item), [`INSERT MENU ITEM`](../commands/insert-menu-item), and [`SET MENU ITEM`](../commands/set-menu-item) commands. +En utilisant le langage 4D, vous définissez la propriété du titre par le biais du paramètre *itemText* des commandes [`APPEND MENU ITEM`](../commands/append-menu-item), [`INSERT MENU ITEM`](../commands/insert-menu-item) et [`SET MENU ITEM`](../commands/set-menu-item). ### Caractères de contrôle @@ -33,9 +33,9 @@ Les caractères de contrôle n’apparaissent pas dans les libellés des command ## Paramètres -Il est possible d’associer un paramètre personnalisé à chaque ligne de menu. Un paramètre de ligne de menu est une chaîne de caractères dont le contenu est libre. It can be set in the Menu editor, or through the [`SET MENU ITEM PARAMETER`](../commands/set-menu-item-parameter) command. +Il est possible d’associer un paramètre personnalisé à chaque ligne de menu. Un paramètre de ligne de menu est une chaîne de caractères dont le contenu est libre. Il peut être défini dans l'éditeur de menus ou à l'aide de la commande [`SET MENU ITEM PARAMETER`](../commands/set-menu-item-parameter). -Menu item parameters are useful with programmed management of menus, in particular when using the [`Dynamic pop up menu`](../commands/dynamic-pop-up-menu), [`Get menu item parameter`](../commands/get-menu-item-parameter) and [`Get selected menu item parameter`](../commands/get-selected-menu-item-parameter) commands. +Les paramètres des éléments de menus sont utiles pour la gestion programmée des menus, en particulier lors de l'utilisation des commandes [`Dynamic pop up menu`](../commands/dynamic-pop-up-menu), [`Get menu item parameter`](../commands/get-menu-item-parameter) et [`Get selected menu item parameter`](../commands/get-selected-menu-item-parameter). ## Action @@ -57,7 +57,7 @@ Pour associer une méthode projet et/ou une action standard à une commande de m - **Action standard associée** : Choisissez ou saisissez le nom de l’action que vous souhaitez associer dans la combo box "Action standard associée". Vous pouvez saisir toute action prise en charge et (optionnellement) tout paramètre dans la zone. Pour la liste complète des actions standard, veuillez vous reporter à la section **Actions standard** dans le *Mode Développement*. **Note macOS :** Sous macOS, les commandes de menus créés associées à l'action *Quitter* sont automatiquement placées dans le menu de l’application, conformément aux normes d’interface de cette plate-forme. -Using the 4D language, you can associate a project method using the [`SET MENU ITEM METHOD`](../commands/set-menu-item-method) command, and a standard action using the [`SET MENU ITEM PROPERTY`](../commands/set-menu-item-property) command. +En utilisant le langage 4D, vous pouvez associer une méthode projet en utilisant la commande [`SET MENU ITEM METHOD`](../commands/set-menu-item-method) et une action standard en utilisant la commande [`SET MENU ITEM PROPERTY`](../commands/set-menu-item-property). ### Démarrer un process @@ -93,7 +93,7 @@ Vous ajoutez un filet de séparation en créant une commande de menu. Dans l'éditeur de menus, au lieu de saisir le nom de la commande de menu, il suffit de cocher l’option **Ligne de séparation**. La ligne apparaît alors dans la zone de la commande courante. La ligne apparaît alors dans la zone de la commande courante. Lorsque cette option est cochée, les autres propriétés sont sans effet. **Note :** Sous macOS, il est possible de procéder en faisant commencer le nom de la commande par un tiret “-”. Cette commande sera alors affichée comme une ligne de séparation. -In the 4D language, you insert a separator line by entering `-` or `(-` as itemText for [`APPEND MENU ITEM`](../commands/append-menu-item), [`INSERT MENU ITEM`](../commands/insert-menu-item), or [`SET MENU ITEM`](../commands/set-menu-item) commands. +Dans le langage 4D, vous insérez une ligne de séparation en entrant `-` ou `(-` comme *itemText* pour les commandes [`APPEND MENU ITEM`](../commands/append-menu-item), [`INSERT MENU ITEM`](../commands/insert-menu-item) ou [`SET MENU ITEM`](../commands/set-menu-item). ### Raccourcis clavier @@ -153,13 +153,13 @@ Par défaut, 4D active automatiquement toute commande de menu ajoutée à un men ### Coche -Cette option de l'éditeur de menus permet d’associer par défaut une coche système à la ligne de menu. You can then manage the display of the check mark using language commands ([`SET MENU ITEM MARK`](../commands/set-menu-item-mark) and [`Get menu item mark`](../commands/get-menu-item-mark)). +Cette option de l'éditeur de menus permet d’associer par défaut une coche système à la ligne de menu. Vous pouvez ensuite gérer l'affichage de la coche à l'aide des commandes de langage ([`SET MENU ITEM MARK`](../commands/set-menu-item-mark) et [`Get menu item mark`](../commands/get-menu-item-mark)). Les coches sont généralement utilisées pour des menus à action permanente et indiquent que l’action est en cours. ### Styles des polices -4D vous permet de personnaliser les menus en appliquant différents styles de caractères aux commandes de menus. You can customize your menus with the Bold, Italic or Underline styles through options in the Menu editor, or using the [`SET MENU ITEM STYLE`](../commands/set-menu-item-style) language command. +4D vous permet de personnaliser les menus en appliquant différents styles de caractères aux commandes de menus. Vous pouvez personnaliser vos menus avec les styles Gras, Italique ou Souligné grâce aux options de l'éditeur de menus ou en utilisant la commande de langage [`SET MENU ITEM STYLE`](../commands/set-menu-item-style). En règle générale, les styles de police doivent être appliqués à vos menus avec parcimonie, afin d’éviter de conférer une apparence confuse à votre application. @@ -177,4 +177,4 @@ Pour définir l’icône dans l'éditeur de menu, choisissez l'option **Ouvrir** Pour supprimer l’icône de ligne, choisissez l’option **Pas d’icône** dans le menu de la zone “Icône ligne”. -To define item icons using the 4D language, call the [`SET MENU ITEM ICON`](../commands/set-menu-item-icon) command. \ No newline at end of file +Pour définir les icônes des éléments à l'aide du langage 4D, appelez la commande [`SET MENU ITEM ICON`](../commands/set-menu-item-icon). \ No newline at end of file From d74111f5a5eb26def6268ed654d678b658ebb355 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Fri, 14 Nov 2025 19:13:48 +0100 Subject: [PATCH 04/62] New translations updates.md (French) --- .../current/Notes/updates.md | 12 ++---------- 1 file changed, 2 insertions(+), 10 deletions(-) diff --git a/i18n/fr/docusaurus-plugin-content-docs/current/Notes/updates.md b/i18n/fr/docusaurus-plugin-content-docs/current/Notes/updates.md index 6f4a0ae9188a65..ee5699a7e5814b 100644 --- a/i18n/fr/docusaurus-plugin-content-docs/current/Notes/updates.md +++ b/i18n/fr/docusaurus-plugin-content-docs/current/Notes/updates.md @@ -5,23 +5,15 @@ title: Release Notes ## 4D 21 R2 -Read [**What’s new in 4D 21 R2**](https://blog.4d.com/en-whats-new-in-4d-21-r2/), the blog post that lists all new features and enhancements in 4D 21 R2. +Lisez [**Les nouveautés de 4D 21 R2**](https://blog.4d.com/fr-whats-new-in-4d-v21-R2/), l'article de blog qui liste toutes les nouvelles fonctionnalités et améliorations de 4D 20 R2. #### Points forts -- [Code Live Checker](../code-editor/write-class-method.md#warnings-and-errors) has been enhanced to provide greater precision in error detection. +- Le [Code Live Checker](../code-editor/write-class-method.md#warnings-and-errors) a été amélioré pour offrir une plus grande précision dans la détection des erreurs. - [**Liste des bugs corrigés**](https://bugs.4d.fr/fixedbugslist?version=21_R2) : liste de tous les bugs qui ont été corrigés dans 4D 21 R2. #### Changements de comportement -## 4D 21.x LTS - -Voir [**Release Notes pour 4D 21.x LTS**](../../21/Notes/updates). - -## 4D 20.x LTS - -Voir [**Release Notes pour 4D 20.x LTS**](../../20/Notes/updates). - ## Tableau des bibliothèques | Bibliothèque | Version courante | Mise à jour dans 4D | Commentaire | From 96b498f3490f279e3cf62eab93fbca811fd29b92 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Fri, 14 Nov 2025 19:13:57 +0100 Subject: [PATCH 05/62] New translations ordaclasses.md (French) --- .../current/ORDA/ordaClasses.md | 30 +++++++++++++++---- 1 file changed, 25 insertions(+), 5 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 d4738c0141b15f..7418c2de73301d 100644 --- a/i18n/fr/docusaurus-plugin-content-docs/current/ORDA/ordaClasses.md +++ b/i18n/fr/docusaurus-plugin-content-docs/current/ORDA/ordaClasses.md @@ -928,25 +928,45 @@ $arch.save() //courseName et name sont "Archaeology II" ## Fonctions exposées et non exposées -Pour des raisons de sécurité, toutes vos fonctions de classe de modèle de données et les attributs alias ne sont **pas exposés** (c'est-à-dire privés) par défaut aux requêtes distantes. +For security reasons, all of your data model class functions, including [computed attributes](#computed-attributes-1) and [alias attributes](#alias-attributes-1), as well as [shared singleton functions](../Concepts/classes.md#shared-singleton) are **not exposed** (i.e., private) by default to **remote requests**. -Les requêtes distantes incluent : +Remote requests are: - Les requêtes envoyées par des applications 4D distantes connectées via `Open datastore` -- Les requêtes REST +- REST requests, including requests from [Qodly pages](https://developer.4d.com/qodly/) > Les requêtes client/serveur 4D standard ne sont pas impactées. Les fonctions de classe de modèle de données sont toujours disponibles dans cette architecture. Une fonction qui n'est pas exposée n'est pas disponible sur les applications distantes et ne peut être appelée sur aucune instance d'objet à partir d'une requête REST. Si une application distante tente d'accéder à une fonction non exposée, l'erreur «-10729 - Méthode membre inconnue» est retournée. -Pour permettre à une fonction de classe de modèle de données d'être appelée par une requête distante, vous devez la déclarer explicitement à l'aide du mot-clé `exposed`. La syntaxe formelle est la suivante : +To allow a function or an attribute to be called by a remote request, you must explicitly declare it using the `exposed` keyword. La syntaxe formelle est la suivante : ```4d // déclarer une fonction exposée exposed Function ``` -> Le mot-clé `exposed` ne peut être utilisé qu'avec les fonctions de classe du modèle de données. S'il est utilisé avec une fonction de [classe utilisateur standard](Concepts/classes.md), il est ignoré et une erreur est retournée par le compilateur. +```4d +// declare an exposed alias +exposed Alias +``` + +```4d +// declare an exposed computed attribute +exposed Function get +``` + +```4d +// declare a shared singleton function +shared singleton Class constructor() +exposed Function +``` + +:::note + +The `exposed` keyword can only be used with the objects decribed above. S'il est utilisé avec une fonction de [classe utilisateur standard](Concepts/classes.md), il est ignoré et une erreur est retournée par le compilateur. + +::: ### Exemple From 9e03ee699c87ee16724fd5df444666998f43a9f2 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Fri, 14 Nov 2025 19:18:06 +0100 Subject: [PATCH 06/62] New translations writeprointerface.md (French) --- .../current/WritePro/writeprointerface.md | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/i18n/fr/docusaurus-plugin-content-docs/current/WritePro/writeprointerface.md b/i18n/fr/docusaurus-plugin-content-docs/current/WritePro/writeprointerface.md index 7fb6510a6a45ff..213b07f20f012c 100644 --- a/i18n/fr/docusaurus-plugin-content-docs/current/WritePro/writeprointerface.md +++ b/i18n/fr/docusaurus-plugin-content-docs/current/WritePro/writeprointerface.md @@ -4,13 +4,15 @@ title: 4D Write Pro Interface slug: /WritePro/write-pro-interface --- -L'interface de 4D WritePro offre un ensemble de palettes, qui permettent aux utilisateurs de personnaliser facilement un document 4D Write Pro. +4D Write Pro Interface offers a set of palettes, which allow end users to easily customize a 4D Write Pro document. Un développeur 4D peut facilement implémenter ces palettes dans leur application. Ainsi, les utilisateurs finaux peuvent gérer toutes les propriétés de 4D Write Pro, telles que les polices, l'alignement du texte, les signets, la mise en page des tableaux et les cadres. -La documentation principale de l'[interface 4D Write Pro](https://doc.4d.com/4Dv20/4D/20/Entry-areas.300-6263967.en.html) se trouve dans le *4D - Mode Développement*. +## Installation & documentation -Vous trouverez ci-dessous : +4D Write Pro Interface is a **4D component** that needs to be [installed in your project](../Project/components.md#overview). 4D Write Pro Interface source files are [provided on Github](https://github.com/4d/4D-WritePro-Interface). + +La documentation principale de l'[interface 4D Write Pro](https://doc.4d.com/4Dv20/4D/20/Entry-areas.300-6263967.en.html) se trouve dans le *4D - Mode Développement*. Vous trouverez ci-dessous : - la documentation de configuration de l'assistant de table, - the integrated A.I. documentation. From 7b59bf44ad8b484c277152f3acec8352fc47f085 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Fri, 14 Nov 2025 19:38:01 +0100 Subject: [PATCH 07/62] New translations wp-set-attributes.md (French) --- .../current/WritePro/commands/wp-set-attributes.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/i18n/fr/docusaurus-plugin-content-docs/current/WritePro/commands/wp-set-attributes.md b/i18n/fr/docusaurus-plugin-content-docs/current/WritePro/commands/wp-set-attributes.md index 43b92d746dfcbe..a6e8ad5a679a15 100644 --- a/i18n/fr/docusaurus-plugin-content-docs/current/WritePro/commands/wp-set-attributes.md +++ b/i18n/fr/docusaurus-plugin-content-docs/current/WritePro/commands/wp-set-attributes.md @@ -33,7 +33,7 @@ Vous pouvez spécifier les attributs à définir pour *targetObj* d'une des deux - Utilisez le paramètre *attribObj* pour passer un seul objet contenant les noms d'attributs et leurs valeurs correspondantes en tant que propriétés d'objet. -For a comprehensive list of attributes to pass, as well as their scope and respective values, please refer to the [4D Write Pro Attributes](../4d-write-pro-attributes) section. +Pour une liste complète des attributs à passer, ainsi que leur portée et leurs valeurs respectives, veuillez vous référer à la section [Attributs 4D Write Pro](../4d-write-pro-attributes) . ## Exemple 1 From a63e5dca3c234a3181423b2071f8a6b441af6130 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Fri, 14 Nov 2025 19:38:10 +0100 Subject: [PATCH 08/62] New translations wp-table-append-row.md (French) --- .../current/WritePro/commands/wp-table-append-row.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/i18n/fr/docusaurus-plugin-content-docs/current/WritePro/commands/wp-table-append-row.md b/i18n/fr/docusaurus-plugin-content-docs/current/WritePro/commands/wp-table-append-row.md index 52ff6052532ecc..74766becce0d1c 100644 --- a/i18n/fr/docusaurus-plugin-content-docs/current/WritePro/commands/wp-table-append-row.md +++ b/i18n/fr/docusaurus-plugin-content-docs/current/WritePro/commands/wp-table-append-row.md @@ -21,7 +21,7 @@ displayed_sidebar: docs The **WP Table append row** command appends one row to the *tableRef* table, fills it with *value*(s) or a *valueColl* collection, and returns the corresponding row range object. -The command supports two syntaxes: +La commande supporte deux syntaxes : - **Using values as parameters:** Adds as many cells in the row as there are values provided in the *value* parameter(s). You can pass any number of values of different types. @@ -33,9 +33,9 @@ The command supports two syntaxes: The default cell alignment will depend on the value type: -- text: left aligned -- pictures: centered -- other types (numbers, date, and time): right aligned +- texte : aligné à gauche +- images : centrées +- autres types (nombres, date et heure): alignés à droite :::note Notes From b730006e128487b8d7021d8b5bf8607dcb9e0636 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Fri, 14 Nov 2025 19:43:21 +0100 Subject: [PATCH 09/62] New translations classes.md (French) --- .../version-20-R10/Concepts/classes.md | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-20-R10/Concepts/classes.md b/i18n/fr/docusaurus-plugin-content-docs/version-20-R10/Concepts/classes.md index e1452bbeb57077..7c9c753141b23c 100644 --- a/i18n/fr/docusaurus-plugin-content-docs/version-20-R10/Concepts/classes.md +++ b/i18n/fr/docusaurus-plugin-content-docs/version-20-R10/Concepts/classes.md @@ -735,13 +735,13 @@ Une **classe singleton** est une classe utilisateur qui ne produit qu'une seule ### Types de singletons +Les singletons sont utiles pour définir des valeurs qui doivent être disponibles partout dans une application, une session ou un process. + 4D prend en charge trois types de singletons : - un **singleton process** a une instance unique pour le process dans lequel il est instancié, - un **singleton partagé** a une instance unique pour tous les process sur la machine. -- une **singleton session** est un singleton partagé, mais avec une instance unique pour tous les process de la [session](../API/SessionClass.md). Les singletons de session sont partagés au sein d'une session entière mais varient d'une session à l'autre. Dans le contexte d'un client-serveur ou d'une application web, les singletons de session permettent de créer et d'utiliser une instance différente pour chaque session, et donc pour chaque utilisateur. - -Les singletons sont utiles pour définir des valeurs qui doivent être disponibles partout dans une application, une session ou un process. +- une **singleton session** est un singleton partagé, mais avec une instance unique pour tous les process de la [session](../API/SessionClass.md). Les singletons de session sont partagés au sein d'une session entière mais varient d'une session à l'autre. Dans le contexte d'un client-serveur ou d'une application web, les singletons de session permettent de créer et d'utiliser une instance différente pour chaque session, et donc pour chaque utilisateur. Session singletons are particularly appropriate with [Qodly applications](https://developer.4d.com/qodly/). :::info @@ -782,6 +782,10 @@ La propriété [`.isSingleton`](../API/ClassClass.md#issingleton) des objets de La propriété [`.isSessionSingleton`](../API/ClassClass.md#issessionsingleton) des objets de classe permet de savoir si la classe est un singleton de session. +### Exposed singleton functions + +Shared and session singleton functions support the [`exposed` keyword](../ORDA/ordaClasses.md#exposed-vs-non-exposed-functions). An exposed singleton function can be directly called by REST requests. This feature is useful to design [Qodly pages calling 4D functions](https://developer.4d.com/qodly/4DQodlyPro/pageLoaders/events/bindingActionToEvents#class-functions). + ### Exemples #### Singleton process From 6eb0874525c35e8595eb2b4217695f8c1d3ab400 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Fri, 14 Nov 2025 19:47:25 +0100 Subject: [PATCH 10/62] New translations properties.md (French) --- .../version-20-R10/Menus/properties.md | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-20-R10/Menus/properties.md b/i18n/fr/docusaurus-plugin-content-docs/version-20-R10/Menus/properties.md index 88503e3a2c3b87..2d579002b3c6e7 100644 --- a/i18n/fr/docusaurus-plugin-content-docs/version-20-R10/Menus/properties.md +++ b/i18n/fr/docusaurus-plugin-content-docs/version-20-R10/Menus/properties.md @@ -12,9 +12,9 @@ La propriété **Titre** contient le libellé d'un menu ou d'une ligne de menu, Dans l'éditeur de menus, vous pouvez saisir directement le libellé "en dur". Vous pouvez également saisir une référence pour une variable ou un élément XLIFF, ce qui facilitera la mise à jour et la traduction des applications. Vous pouvez utiliser les types de références suivants : - Une référence à une ressource XLIFF, du type :xliff:MonLibellé. Pour plus d’informations sur les références XLIFF, reportez-vous à la section *Annexe B : Architecture XLIFF* du *Mode Développement 4D*. -- (**Deprecated**) An interprocess variable name followed by a number, for example: `:<>vlang,3`. Il suffit de changer le contenu de cette variable pour modifier le libellé du menu lors de son affichage. Dans ce cas, le libellé fera appel à une ressource XLIFF. La valeur contenue dans la variable `<>vlang` correspond à l’attribut *id* de l’élément *group*. La seconde valeur (3 dans cet exemple) désigne l’attribut *id* de l’élément *trans-unit*. +- (**Obsolète**) Un nom de variable interprocess suivi d'un nombre, par exemple : `:<>vlang,3`. Il suffit de changer le contenu de cette variable pour modifier le libellé du menu lors de son affichage. Dans ce cas, le libellé fera appel à une ressource XLIFF. La valeur contenue dans la variable `<>vlang` correspond à l’attribut *id* de l’élément *group*. La seconde valeur (3 dans cet exemple) désigne l’attribut *id* de l’élément *trans-unit*. -Using the 4D language, you set the title property through the *itemText* parameter of the [`APPEND MENU ITEM`](../commands/append-menu-item), [`INSERT MENU ITEM`](../commands/insert-menu-item), and [`SET MENU ITEM`](../commands/set-menu-item) commands. +En utilisant le langage 4D, vous définissez la propriété du titre par le biais du paramètre *itemText* des commandes [`APPEND MENU ITEM`](../commands/append-menu-item), [`INSERT MENU ITEM`](../commands/insert-menu-item) et [`SET MENU ITEM`](../commands/set-menu-item). ### Caractères de contrôle @@ -33,9 +33,9 @@ Les caractères de contrôle n’apparaissent pas dans les libellés des command ## Paramètres -Il est possible d’associer un paramètre personnalisé à chaque ligne de menu. Un paramètre de ligne de menu est une chaîne de caractères dont le contenu est libre. It can be set in the Menu editor, or through the [`SET MENU ITEM PARAMETER`](../commands/set-menu-item-parameter) command. +Il est possible d’associer un paramètre personnalisé à chaque ligne de menu. Un paramètre de ligne de menu est une chaîne de caractères dont le contenu est libre. Il peut être défini dans l'éditeur de menus ou à l'aide de la commande [`SET MENU ITEM PARAMETER`](../commands/set-menu-item-parameter). -Menu item parameters are useful with programmed management of menus, in particular when using the [`Dynamic pop up menu`](../commands/dynamic-pop-up-menu), [`Get menu item parameter`](../commands/get-menu-item-parameter) and [`Get selected menu item parameter`](../commands/get-selected-menu-item-parameter) commands. +Les paramètres des éléments de menus sont utiles pour la gestion programmée des menus, en particulier lors de l'utilisation des commandes [`Dynamic pop up menu`](../commands/dynamic-pop-up-menu), [`Get menu item parameter`](../commands/get-menu-item-parameter) et [`Get selected menu item parameter`](../commands/get-selected-menu-item-parameter). ## Action @@ -57,7 +57,7 @@ Pour associer une méthode projet et/ou une action standard à une commande de m - **Action standard associée** : Choisissez ou saisissez le nom de l’action que vous souhaitez associer dans la combo box "Action standard associée". Vous pouvez saisir toute action prise en charge et (optionnellement) tout paramètre dans la zone. Pour la liste complète des actions standard, veuillez vous reporter à la section **Actions standard** dans le *Mode Développement*. **Note macOS :** Sous macOS, les commandes de menus créés associées à l'action *Quitter* sont automatiquement placées dans le menu de l’application, conformément aux normes d’interface de cette plate-forme. -Using the 4D language, you can associate a project method using the [`SET MENU ITEM METHOD`](../commands/set-menu-item-method) command, and a standard action using the [`SET MENU ITEM PROPERTY`](../commands/set-menu-item-property) command. +En utilisant le langage 4D, vous pouvez associer une méthode projet en utilisant la commande [`SET MENU ITEM METHOD`](../commands/set-menu-item-method) et une action standard en utilisant la commande [`SET MENU ITEM PROPERTY`](../commands/set-menu-item-property). ### Démarrer un process @@ -93,7 +93,7 @@ Vous ajoutez un filet de séparation en créant une commande de menu. Dans l'éditeur de menus, au lieu de saisir le nom de la commande de menu, il suffit de cocher l’option **Ligne de séparation**. La ligne apparaît alors dans la zone de la commande courante. La ligne apparaît alors dans la zone de la commande courante. Lorsque cette option est cochée, les autres propriétés sont sans effet. **Note :** Sous macOS, il est possible de procéder en faisant commencer le nom de la commande par un tiret “-”. Cette commande sera alors affichée comme une ligne de séparation. -In the 4D language, you insert a separator line by entering `-` or `(-` as itemText for [`APPEND MENU ITEM`](../commands/append-menu-item), [`INSERT MENU ITEM`](../commands/insert-menu-item), or [`SET MENU ITEM`](../commands/set-menu-item) commands. +Dans le langage 4D, vous insérez une ligne de séparation en entrant `-` ou `(-` comme *itemText* pour les commandes [`APPEND MENU ITEM`](../commands/append-menu-item), [`INSERT MENU ITEM`](../commands/insert-menu-item) ou [`SET MENU ITEM`](../commands/set-menu-item). ### Raccourcis clavier @@ -153,7 +153,7 @@ Par défaut, 4D active automatiquement toute commande de menu ajoutée à un men ### Coche -Cette option de l'éditeur de menus permet d’associer par défaut une coche système à la ligne de menu. You can then manage the display of the check mark using language commands ([`SET MENU ITEM MARK`](../commands/set-menu-item-mark) and [`Get menu item mark`](../commands/get-menu-item-mark)). +Cette option de l'éditeur de menus permet d’associer par défaut une coche système à la ligne de menu. Vous pouvez ensuite gérer l'affichage de la coche à l'aide des commandes de langage ([`SET MENU ITEM MARK`](../commands/set-menu-item-mark) et [`Get menu item mark`](../commands/get-menu-item-mark)). Les coches sont généralement utilisées pour des menus à action permanente et indiquent que l’action est en cours. @@ -177,4 +177,4 @@ Pour définir l’icône dans l'éditeur de menu, choisissez l'option **Ouvrir** Pour supprimer l’icône de ligne, choisissez l’option **Pas d’icône** dans le menu de la zone “Icône ligne”. -To define item icons using the 4D language, call the [`SET MENU ITEM ICON`](../commands/set-menu-item-icon) command. \ No newline at end of file +Pour définir les icônes des éléments à l'aide du langage 4D, appelez la commande [`SET MENU ITEM ICON`](../commands/set-menu-item-icon). \ No newline at end of file From 5a178527d5121bd38ec4455e89c927ac3d4a15f9 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Fri, 14 Nov 2025 19:47:29 +0100 Subject: [PATCH 11/62] New translations updates.md (French) --- .../version-20-R10/Notes/updates.md | 4 ---- 1 file changed, 4 deletions(-) diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-20-R10/Notes/updates.md b/i18n/fr/docusaurus-plugin-content-docs/version-20-R10/Notes/updates.md index 8e2c83e3ad3b5c..869008529af28a 100644 --- a/i18n/fr/docusaurus-plugin-content-docs/version-20-R10/Notes/updates.md +++ b/i18n/fr/docusaurus-plugin-content-docs/version-20-R10/Notes/updates.md @@ -232,10 +232,6 @@ Si vos applications 4D utilisent des connexions TLS, il est recommandé de mettr - **Attention** : La valeur de départ [`offset`](../API/FileHandleClass.md#offset) des objets [4D.FileHandle](../API/FileHandleClass.md) était incorrectement fixée à 1 au lieu de 0. Une correction a été apportée dans 4D à partir des versions **20.1 HF1** et **20 R2** et la valeur est maintenant 0. -## 4D 20.x LTS - -Voir [**Release Notes pour 4D 20.x LTS**](../../version-20/Notes/updates.md). - ## Tableau des bibliothèques | Bibliothèque | Version courante | Mise à jour dans 4D | Commentaire | From 4d2b351286e334bc3ae5a3ef32c0c697b1783dfc Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Fri, 14 Nov 2025 19:47:40 +0100 Subject: [PATCH 12/62] New translations ordaclasses.md (French) --- .../version-20-R10/ORDA/ordaClasses.md | 30 +++++++++++++++---- 1 file changed, 25 insertions(+), 5 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 d4738c0141b15f..7418c2de73301d 100644 --- a/i18n/fr/docusaurus-plugin-content-docs/version-20-R10/ORDA/ordaClasses.md +++ b/i18n/fr/docusaurus-plugin-content-docs/version-20-R10/ORDA/ordaClasses.md @@ -928,25 +928,45 @@ $arch.save() //courseName et name sont "Archaeology II" ## Fonctions exposées et non exposées -Pour des raisons de sécurité, toutes vos fonctions de classe de modèle de données et les attributs alias ne sont **pas exposés** (c'est-à-dire privés) par défaut aux requêtes distantes. +For security reasons, all of your data model class functions, including [computed attributes](#computed-attributes-1) and [alias attributes](#alias-attributes-1), as well as [shared singleton functions](../Concepts/classes.md#shared-singleton) are **not exposed** (i.e., private) by default to **remote requests**. -Les requêtes distantes incluent : +Remote requests are: - Les requêtes envoyées par des applications 4D distantes connectées via `Open datastore` -- Les requêtes REST +- REST requests, including requests from [Qodly pages](https://developer.4d.com/qodly/) > Les requêtes client/serveur 4D standard ne sont pas impactées. Les fonctions de classe de modèle de données sont toujours disponibles dans cette architecture. Une fonction qui n'est pas exposée n'est pas disponible sur les applications distantes et ne peut être appelée sur aucune instance d'objet à partir d'une requête REST. Si une application distante tente d'accéder à une fonction non exposée, l'erreur «-10729 - Méthode membre inconnue» est retournée. -Pour permettre à une fonction de classe de modèle de données d'être appelée par une requête distante, vous devez la déclarer explicitement à l'aide du mot-clé `exposed`. La syntaxe formelle est la suivante : +To allow a function or an attribute to be called by a remote request, you must explicitly declare it using the `exposed` keyword. La syntaxe formelle est la suivante : ```4d // déclarer une fonction exposée exposed Function ``` -> Le mot-clé `exposed` ne peut être utilisé qu'avec les fonctions de classe du modèle de données. S'il est utilisé avec une fonction de [classe utilisateur standard](Concepts/classes.md), il est ignoré et une erreur est retournée par le compilateur. +```4d +// declare an exposed alias +exposed Alias +``` + +```4d +// declare an exposed computed attribute +exposed Function get +``` + +```4d +// declare a shared singleton function +shared singleton Class constructor() +exposed Function +``` + +:::note + +The `exposed` keyword can only be used with the objects decribed above. S'il est utilisé avec une fonction de [classe utilisateur standard](Concepts/classes.md), il est ignoré et une erreur est retournée par le compilateur. + +::: ### Exemple From 65420905287d150c6b3b96d23bdce04872e58be9 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Fri, 14 Nov 2025 19:52:13 +0100 Subject: [PATCH 13/62] New translations wp-set-attributes.md (French) --- .../version-20-R10/WritePro/commands/wp-set-attributes.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-20-R10/WritePro/commands/wp-set-attributes.md b/i18n/fr/docusaurus-plugin-content-docs/version-20-R10/WritePro/commands/wp-set-attributes.md index 8c4efbe25e2be8..d3830c22a4b275 100644 --- a/i18n/fr/docusaurus-plugin-content-docs/version-20-R10/WritePro/commands/wp-set-attributes.md +++ b/i18n/fr/docusaurus-plugin-content-docs/version-20-R10/WritePro/commands/wp-set-attributes.md @@ -33,7 +33,7 @@ Vous pouvez spécifier les attributs à définir pour *targetObj* d'une des deux - Utilisez le paramètre *attribObj* pour passer un seul objet contenant les noms d'attributs et leurs valeurs correspondantes en tant que propriétés d'objet. -For a comprehensive list of attributes to pass, as well as their scope and respective values, please refer to the [4D Write Pro Attributes](../4d-write-pro-attributes) section. +Pour une liste complète des attributs à passer, ainsi que leur portée et leurs valeurs respectives, veuillez vous référer à la section [Attributs 4D Write Pro](../4d-write-pro-attributes) . ## Exemple 1 From 21ca289f3a1aed8b241e144d75f58eaa5462da8e Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Fri, 14 Nov 2025 19:52:15 +0100 Subject: [PATCH 14/62] New translations wp-table-append-row.md (French) --- .../WritePro/commands/wp-table-append-row.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-20-R10/WritePro/commands/wp-table-append-row.md b/i18n/fr/docusaurus-plugin-content-docs/version-20-R10/WritePro/commands/wp-table-append-row.md index 52ff6052532ecc..74766becce0d1c 100644 --- a/i18n/fr/docusaurus-plugin-content-docs/version-20-R10/WritePro/commands/wp-table-append-row.md +++ b/i18n/fr/docusaurus-plugin-content-docs/version-20-R10/WritePro/commands/wp-table-append-row.md @@ -21,7 +21,7 @@ displayed_sidebar: docs The **WP Table append row** command appends one row to the *tableRef* table, fills it with *value*(s) or a *valueColl* collection, and returns the corresponding row range object. -The command supports two syntaxes: +La commande supporte deux syntaxes : - **Using values as parameters:** Adds as many cells in the row as there are values provided in the *value* parameter(s). You can pass any number of values of different types. @@ -33,9 +33,9 @@ The command supports two syntaxes: The default cell alignment will depend on the value type: -- text: left aligned -- pictures: centered -- other types (numbers, date, and time): right aligned +- texte : aligné à gauche +- images : centrées +- autres types (nombres, date et heure): alignés à droite :::note Notes From 459f7a0d639fc73d2655940ee06582a4c460a81f Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Fri, 14 Nov 2025 19:52:18 +0100 Subject: [PATCH 15/62] New translations writeprointerface.md (French) --- .../version-20-R10/WritePro/writeprointerface.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-20-R10/WritePro/writeprointerface.md b/i18n/fr/docusaurus-plugin-content-docs/version-20-R10/WritePro/writeprointerface.md index 7fb6510a6a45ff..3e929085d3790f 100644 --- a/i18n/fr/docusaurus-plugin-content-docs/version-20-R10/WritePro/writeprointerface.md +++ b/i18n/fr/docusaurus-plugin-content-docs/version-20-R10/WritePro/writeprointerface.md @@ -4,7 +4,7 @@ title: 4D Write Pro Interface slug: /WritePro/write-pro-interface --- -L'interface de 4D WritePro offre un ensemble de palettes, qui permettent aux utilisateurs de personnaliser facilement un document 4D Write Pro. +The 4D Write Pro Interface component offers a set of palettes, which allow end users to easily customize a 4D Write Pro document. Un développeur 4D peut facilement implémenter ces palettes dans leur application. Ainsi, les utilisateurs finaux peuvent gérer toutes les propriétés de 4D Write Pro, telles que les polices, l'alignement du texte, les signets, la mise en page des tableaux et les cadres. From 9239a337f7cbaab9e640e11f51ab4ff8b96f25e7 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Fri, 14 Nov 2025 20:18:18 +0100 Subject: [PATCH 16/62] New translations classes.md (French) --- .../version-21/Concepts/classes.md | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-21/Concepts/classes.md b/i18n/fr/docusaurus-plugin-content-docs/version-21/Concepts/classes.md index e1452bbeb57077..7c9c753141b23c 100644 --- a/i18n/fr/docusaurus-plugin-content-docs/version-21/Concepts/classes.md +++ b/i18n/fr/docusaurus-plugin-content-docs/version-21/Concepts/classes.md @@ -735,13 +735,13 @@ Une **classe singleton** est une classe utilisateur qui ne produit qu'une seule ### Types de singletons +Les singletons sont utiles pour définir des valeurs qui doivent être disponibles partout dans une application, une session ou un process. + 4D prend en charge trois types de singletons : - un **singleton process** a une instance unique pour le process dans lequel il est instancié, - un **singleton partagé** a une instance unique pour tous les process sur la machine. -- une **singleton session** est un singleton partagé, mais avec une instance unique pour tous les process de la [session](../API/SessionClass.md). Les singletons de session sont partagés au sein d'une session entière mais varient d'une session à l'autre. Dans le contexte d'un client-serveur ou d'une application web, les singletons de session permettent de créer et d'utiliser une instance différente pour chaque session, et donc pour chaque utilisateur. - -Les singletons sont utiles pour définir des valeurs qui doivent être disponibles partout dans une application, une session ou un process. +- une **singleton session** est un singleton partagé, mais avec une instance unique pour tous les process de la [session](../API/SessionClass.md). Les singletons de session sont partagés au sein d'une session entière mais varient d'une session à l'autre. Dans le contexte d'un client-serveur ou d'une application web, les singletons de session permettent de créer et d'utiliser une instance différente pour chaque session, et donc pour chaque utilisateur. Session singletons are particularly appropriate with [Qodly applications](https://developer.4d.com/qodly/). :::info @@ -782,6 +782,10 @@ La propriété [`.isSingleton`](../API/ClassClass.md#issingleton) des objets de La propriété [`.isSessionSingleton`](../API/ClassClass.md#issessionsingleton) des objets de classe permet de savoir si la classe est un singleton de session. +### Exposed singleton functions + +Shared and session singleton functions support the [`exposed` keyword](../ORDA/ordaClasses.md#exposed-vs-non-exposed-functions). An exposed singleton function can be directly called by REST requests. This feature is useful to design [Qodly pages calling 4D functions](https://developer.4d.com/qodly/4DQodlyPro/pageLoaders/events/bindingActionToEvents#class-functions). + ### Exemples #### Singleton process From 8d823f719406a041c997e42386bad72c648b7df6 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Fri, 14 Nov 2025 20:34:55 +0100 Subject: [PATCH 17/62] New translations properties.md (French) --- .../version-21/Menus/properties.md | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-21/Menus/properties.md b/i18n/fr/docusaurus-plugin-content-docs/version-21/Menus/properties.md index 88503e3a2c3b87..2d579002b3c6e7 100644 --- a/i18n/fr/docusaurus-plugin-content-docs/version-21/Menus/properties.md +++ b/i18n/fr/docusaurus-plugin-content-docs/version-21/Menus/properties.md @@ -12,9 +12,9 @@ La propriété **Titre** contient le libellé d'un menu ou d'une ligne de menu, Dans l'éditeur de menus, vous pouvez saisir directement le libellé "en dur". Vous pouvez également saisir une référence pour une variable ou un élément XLIFF, ce qui facilitera la mise à jour et la traduction des applications. Vous pouvez utiliser les types de références suivants : - Une référence à une ressource XLIFF, du type :xliff:MonLibellé. Pour plus d’informations sur les références XLIFF, reportez-vous à la section *Annexe B : Architecture XLIFF* du *Mode Développement 4D*. -- (**Deprecated**) An interprocess variable name followed by a number, for example: `:<>vlang,3`. Il suffit de changer le contenu de cette variable pour modifier le libellé du menu lors de son affichage. Dans ce cas, le libellé fera appel à une ressource XLIFF. La valeur contenue dans la variable `<>vlang` correspond à l’attribut *id* de l’élément *group*. La seconde valeur (3 dans cet exemple) désigne l’attribut *id* de l’élément *trans-unit*. +- (**Obsolète**) Un nom de variable interprocess suivi d'un nombre, par exemple : `:<>vlang,3`. Il suffit de changer le contenu de cette variable pour modifier le libellé du menu lors de son affichage. Dans ce cas, le libellé fera appel à une ressource XLIFF. La valeur contenue dans la variable `<>vlang` correspond à l’attribut *id* de l’élément *group*. La seconde valeur (3 dans cet exemple) désigne l’attribut *id* de l’élément *trans-unit*. -Using the 4D language, you set the title property through the *itemText* parameter of the [`APPEND MENU ITEM`](../commands/append-menu-item), [`INSERT MENU ITEM`](../commands/insert-menu-item), and [`SET MENU ITEM`](../commands/set-menu-item) commands. +En utilisant le langage 4D, vous définissez la propriété du titre par le biais du paramètre *itemText* des commandes [`APPEND MENU ITEM`](../commands/append-menu-item), [`INSERT MENU ITEM`](../commands/insert-menu-item) et [`SET MENU ITEM`](../commands/set-menu-item). ### Caractères de contrôle @@ -33,9 +33,9 @@ Les caractères de contrôle n’apparaissent pas dans les libellés des command ## Paramètres -Il est possible d’associer un paramètre personnalisé à chaque ligne de menu. Un paramètre de ligne de menu est une chaîne de caractères dont le contenu est libre. It can be set in the Menu editor, or through the [`SET MENU ITEM PARAMETER`](../commands/set-menu-item-parameter) command. +Il est possible d’associer un paramètre personnalisé à chaque ligne de menu. Un paramètre de ligne de menu est une chaîne de caractères dont le contenu est libre. Il peut être défini dans l'éditeur de menus ou à l'aide de la commande [`SET MENU ITEM PARAMETER`](../commands/set-menu-item-parameter). -Menu item parameters are useful with programmed management of menus, in particular when using the [`Dynamic pop up menu`](../commands/dynamic-pop-up-menu), [`Get menu item parameter`](../commands/get-menu-item-parameter) and [`Get selected menu item parameter`](../commands/get-selected-menu-item-parameter) commands. +Les paramètres des éléments de menus sont utiles pour la gestion programmée des menus, en particulier lors de l'utilisation des commandes [`Dynamic pop up menu`](../commands/dynamic-pop-up-menu), [`Get menu item parameter`](../commands/get-menu-item-parameter) et [`Get selected menu item parameter`](../commands/get-selected-menu-item-parameter). ## Action @@ -57,7 +57,7 @@ Pour associer une méthode projet et/ou une action standard à une commande de m - **Action standard associée** : Choisissez ou saisissez le nom de l’action que vous souhaitez associer dans la combo box "Action standard associée". Vous pouvez saisir toute action prise en charge et (optionnellement) tout paramètre dans la zone. Pour la liste complète des actions standard, veuillez vous reporter à la section **Actions standard** dans le *Mode Développement*. **Note macOS :** Sous macOS, les commandes de menus créés associées à l'action *Quitter* sont automatiquement placées dans le menu de l’application, conformément aux normes d’interface de cette plate-forme. -Using the 4D language, you can associate a project method using the [`SET MENU ITEM METHOD`](../commands/set-menu-item-method) command, and a standard action using the [`SET MENU ITEM PROPERTY`](../commands/set-menu-item-property) command. +En utilisant le langage 4D, vous pouvez associer une méthode projet en utilisant la commande [`SET MENU ITEM METHOD`](../commands/set-menu-item-method) et une action standard en utilisant la commande [`SET MENU ITEM PROPERTY`](../commands/set-menu-item-property). ### Démarrer un process @@ -93,7 +93,7 @@ Vous ajoutez un filet de séparation en créant une commande de menu. Dans l'éditeur de menus, au lieu de saisir le nom de la commande de menu, il suffit de cocher l’option **Ligne de séparation**. La ligne apparaît alors dans la zone de la commande courante. La ligne apparaît alors dans la zone de la commande courante. Lorsque cette option est cochée, les autres propriétés sont sans effet. **Note :** Sous macOS, il est possible de procéder en faisant commencer le nom de la commande par un tiret “-”. Cette commande sera alors affichée comme une ligne de séparation. -In the 4D language, you insert a separator line by entering `-` or `(-` as itemText for [`APPEND MENU ITEM`](../commands/append-menu-item), [`INSERT MENU ITEM`](../commands/insert-menu-item), or [`SET MENU ITEM`](../commands/set-menu-item) commands. +Dans le langage 4D, vous insérez une ligne de séparation en entrant `-` ou `(-` comme *itemText* pour les commandes [`APPEND MENU ITEM`](../commands/append-menu-item), [`INSERT MENU ITEM`](../commands/insert-menu-item) ou [`SET MENU ITEM`](../commands/set-menu-item). ### Raccourcis clavier @@ -153,7 +153,7 @@ Par défaut, 4D active automatiquement toute commande de menu ajoutée à un men ### Coche -Cette option de l'éditeur de menus permet d’associer par défaut une coche système à la ligne de menu. You can then manage the display of the check mark using language commands ([`SET MENU ITEM MARK`](../commands/set-menu-item-mark) and [`Get menu item mark`](../commands/get-menu-item-mark)). +Cette option de l'éditeur de menus permet d’associer par défaut une coche système à la ligne de menu. Vous pouvez ensuite gérer l'affichage de la coche à l'aide des commandes de langage ([`SET MENU ITEM MARK`](../commands/set-menu-item-mark) et [`Get menu item mark`](../commands/get-menu-item-mark)). Les coches sont généralement utilisées pour des menus à action permanente et indiquent que l’action est en cours. @@ -177,4 +177,4 @@ Pour définir l’icône dans l'éditeur de menu, choisissez l'option **Ouvrir** Pour supprimer l’icône de ligne, choisissez l’option **Pas d’icône** dans le menu de la zone “Icône ligne”. -To define item icons using the 4D language, call the [`SET MENU ITEM ICON`](../commands/set-menu-item-icon) command. \ No newline at end of file +Pour définir les icônes des éléments à l'aide du langage 4D, appelez la commande [`SET MENU ITEM ICON`](../commands/set-menu-item-icon). \ No newline at end of file From 093b9396dd563d3e7ce2c4a0cb3b60cb72194e36 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Fri, 14 Nov 2025 20:34:59 +0100 Subject: [PATCH 18/62] New translations updates.md (French) --- .../version-21/Notes/updates.md | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-21/Notes/updates.md b/i18n/fr/docusaurus-plugin-content-docs/version-21/Notes/updates.md index 8c81601b612bfb..e9ad2cdebdf87d 100644 --- a/i18n/fr/docusaurus-plugin-content-docs/version-21/Notes/updates.md +++ b/i18n/fr/docusaurus-plugin-content-docs/version-21/Notes/updates.md @@ -16,7 +16,7 @@ Lisez [**Les nouveautés de 4D 21**](https://blog.4d.com/fe-whats-new-in-4d-v21/ - possibilité de définir des [gestionnaires de requêtes HTTP](../WebServer/http-request-handler.md) en utilisant une propriété `handlers` dans le paramètre *settings* de la fonction [`start()`](../API/WebServerClass.md#start) du serveur Web, - l'objet serveur Web contient de nouvelles propriétés [`rules`](../API/WebServerClass.md#rules) et [`handlers`](../API/WebServerClass.md#handlers). - Nouveaux [événements ORDA sur les données](../ORDA/orda-events.md) : validateSave, saving, afterSave, validateDrop, dropping, afterDrop. -- Support of the new [`restrictedByDefault` property](../ORDA/privileges.md#restriction-modes) in the `roles.json` file to block access by default to all resources without explicit permission. +- Prise en charge de la nouvelle propriété [`restrictedByDefault`](../ORDA/privileges.md#restriction-modes) dans le fichier `roles.json` pour bloquer l'accès par défaut à toutes les ressources sans permission explicite. - Nouvelle option permettant d'utiliser les certificats du Windows Certificate Store au lieu d'un dossier de certificats locaux dans les classes [`HTTPRequest`](../API/HTTPRequestClass.md#4dhttprequestnew) et [`HTTPAgent`](../API/HTTPAgentClass.md#4dhttpagentnew). - Client/serveur : - Vous pouvez afficher des pages Qodly dans des zones Web et [partager la session du client distant](../Desktop/clientServer.md#sharing-the-session-with-qodly-pages-in-web-areas). @@ -288,11 +288,7 @@ Si vos applications 4D utilisent des connexions TLS, il est recommandé de mettr - **Attention** : La valeur de départ [`offset`](../API/FileHandleClass.md#offset) des objets [4D.FileHandle](../API/FileHandleClass.md) était incorrectement fixée à 1 au lieu de 0. Une correction a été apportée dans 4D à partir des versions **20.1 HF1** et **20 R2** et la valeur est maintenant 0. -## 4D 20.x LTS - -Voir [**Release Notes pour 4D 20.x LTS**](../20/Notes/updates). - -## Tableau des bibliothèques +## Tableau des bibliothèques (4D 21 LTS) | Bibliothèque | Version courante | Mise à jour dans 4D | Commentaire | | ------------ | -------------------------------------- | ------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------- | From dd9f0cea5bf0d003129247d12acdbf8f94f0486a Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Fri, 14 Nov 2025 20:35:10 +0100 Subject: [PATCH 19/62] New translations ordaclasses.md (French) --- .../version-21/ORDA/ordaClasses.md | 30 +++++++++++++++---- 1 file changed, 25 insertions(+), 5 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 d4738c0141b15f..7418c2de73301d 100644 --- a/i18n/fr/docusaurus-plugin-content-docs/version-21/ORDA/ordaClasses.md +++ b/i18n/fr/docusaurus-plugin-content-docs/version-21/ORDA/ordaClasses.md @@ -928,25 +928,45 @@ $arch.save() //courseName et name sont "Archaeology II" ## Fonctions exposées et non exposées -Pour des raisons de sécurité, toutes vos fonctions de classe de modèle de données et les attributs alias ne sont **pas exposés** (c'est-à-dire privés) par défaut aux requêtes distantes. +For security reasons, all of your data model class functions, including [computed attributes](#computed-attributes-1) and [alias attributes](#alias-attributes-1), as well as [shared singleton functions](../Concepts/classes.md#shared-singleton) are **not exposed** (i.e., private) by default to **remote requests**. -Les requêtes distantes incluent : +Remote requests are: - Les requêtes envoyées par des applications 4D distantes connectées via `Open datastore` -- Les requêtes REST +- REST requests, including requests from [Qodly pages](https://developer.4d.com/qodly/) > Les requêtes client/serveur 4D standard ne sont pas impactées. Les fonctions de classe de modèle de données sont toujours disponibles dans cette architecture. Une fonction qui n'est pas exposée n'est pas disponible sur les applications distantes et ne peut être appelée sur aucune instance d'objet à partir d'une requête REST. Si une application distante tente d'accéder à une fonction non exposée, l'erreur «-10729 - Méthode membre inconnue» est retournée. -Pour permettre à une fonction de classe de modèle de données d'être appelée par une requête distante, vous devez la déclarer explicitement à l'aide du mot-clé `exposed`. La syntaxe formelle est la suivante : +To allow a function or an attribute to be called by a remote request, you must explicitly declare it using the `exposed` keyword. La syntaxe formelle est la suivante : ```4d // déclarer une fonction exposée exposed Function ``` -> Le mot-clé `exposed` ne peut être utilisé qu'avec les fonctions de classe du modèle de données. S'il est utilisé avec une fonction de [classe utilisateur standard](Concepts/classes.md), il est ignoré et une erreur est retournée par le compilateur. +```4d +// declare an exposed alias +exposed Alias +``` + +```4d +// declare an exposed computed attribute +exposed Function get +``` + +```4d +// declare a shared singleton function +shared singleton Class constructor() +exposed Function +``` + +:::note + +The `exposed` keyword can only be used with the objects decribed above. S'il est utilisé avec une fonction de [classe utilisateur standard](Concepts/classes.md), il est ignoré et une erreur est retournée par le compilateur. + +::: ### Exemple From e37c18b442adb19de63806f98850ab7055ffe7a2 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Fri, 14 Nov 2025 20:39:36 +0100 Subject: [PATCH 20/62] New translations wp-set-attributes.md (French) --- .../version-21/WritePro/commands/wp-set-attributes.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-21/WritePro/commands/wp-set-attributes.md b/i18n/fr/docusaurus-plugin-content-docs/version-21/WritePro/commands/wp-set-attributes.md index 8c4efbe25e2be8..d3830c22a4b275 100644 --- a/i18n/fr/docusaurus-plugin-content-docs/version-21/WritePro/commands/wp-set-attributes.md +++ b/i18n/fr/docusaurus-plugin-content-docs/version-21/WritePro/commands/wp-set-attributes.md @@ -33,7 +33,7 @@ Vous pouvez spécifier les attributs à définir pour *targetObj* d'une des deux - Utilisez le paramètre *attribObj* pour passer un seul objet contenant les noms d'attributs et leurs valeurs correspondantes en tant que propriétés d'objet. -For a comprehensive list of attributes to pass, as well as their scope and respective values, please refer to the [4D Write Pro Attributes](../4d-write-pro-attributes) section. +Pour une liste complète des attributs à passer, ainsi que leur portée et leurs valeurs respectives, veuillez vous référer à la section [Attributs 4D Write Pro](../4d-write-pro-attributes) . ## Exemple 1 From 92a9a7c9817c111d8f446a972e1cc3f2a3b187a2 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Fri, 14 Nov 2025 20:39:38 +0100 Subject: [PATCH 21/62] New translations wp-table-append-row.md (French) --- .../version-21/WritePro/commands/wp-table-append-row.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-21/WritePro/commands/wp-table-append-row.md b/i18n/fr/docusaurus-plugin-content-docs/version-21/WritePro/commands/wp-table-append-row.md index 52ff6052532ecc..74766becce0d1c 100644 --- a/i18n/fr/docusaurus-plugin-content-docs/version-21/WritePro/commands/wp-table-append-row.md +++ b/i18n/fr/docusaurus-plugin-content-docs/version-21/WritePro/commands/wp-table-append-row.md @@ -21,7 +21,7 @@ displayed_sidebar: docs The **WP Table append row** command appends one row to the *tableRef* table, fills it with *value*(s) or a *valueColl* collection, and returns the corresponding row range object. -The command supports two syntaxes: +La commande supporte deux syntaxes : - **Using values as parameters:** Adds as many cells in the row as there are values provided in the *value* parameter(s). You can pass any number of values of different types. @@ -33,9 +33,9 @@ The command supports two syntaxes: The default cell alignment will depend on the value type: -- text: left aligned -- pictures: centered -- other types (numbers, date, and time): right aligned +- texte : aligné à gauche +- images : centrées +- autres types (nombres, date et heure): alignés à droite :::note Notes From 18efbec745d5098c8df91e526fb7b16ac40d5171 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Fri, 14 Nov 2025 20:39:42 +0100 Subject: [PATCH 22/62] New translations writeprointerface.md (French) --- .../version-21/WritePro/writeprointerface.md | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-21/WritePro/writeprointerface.md b/i18n/fr/docusaurus-plugin-content-docs/version-21/WritePro/writeprointerface.md index 7fb6510a6a45ff..213b07f20f012c 100644 --- a/i18n/fr/docusaurus-plugin-content-docs/version-21/WritePro/writeprointerface.md +++ b/i18n/fr/docusaurus-plugin-content-docs/version-21/WritePro/writeprointerface.md @@ -4,13 +4,15 @@ title: 4D Write Pro Interface slug: /WritePro/write-pro-interface --- -L'interface de 4D WritePro offre un ensemble de palettes, qui permettent aux utilisateurs de personnaliser facilement un document 4D Write Pro. +4D Write Pro Interface offers a set of palettes, which allow end users to easily customize a 4D Write Pro document. Un développeur 4D peut facilement implémenter ces palettes dans leur application. Ainsi, les utilisateurs finaux peuvent gérer toutes les propriétés de 4D Write Pro, telles que les polices, l'alignement du texte, les signets, la mise en page des tableaux et les cadres. -La documentation principale de l'[interface 4D Write Pro](https://doc.4d.com/4Dv20/4D/20/Entry-areas.300-6263967.en.html) se trouve dans le *4D - Mode Développement*. +## Installation & documentation -Vous trouverez ci-dessous : +4D Write Pro Interface is a **4D component** that needs to be [installed in your project](../Project/components.md#overview). 4D Write Pro Interface source files are [provided on Github](https://github.com/4d/4D-WritePro-Interface). + +La documentation principale de l'[interface 4D Write Pro](https://doc.4d.com/4Dv20/4D/20/Entry-areas.300-6263967.en.html) se trouve dans le *4D - Mode Développement*. Vous trouverez ci-dessous : - la documentation de configuration de l'assistant de table, - the integrated A.I. documentation. From da92f8be48dc56d82469729a857ac9ca7014256a Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Fri, 14 Nov 2025 21:05:30 +0100 Subject: [PATCH 23/62] New translations updates.md (Spanish) --- .../version-20/Notes/updates.md | 6 ------ 1 file changed, 6 deletions(-) diff --git a/i18n/es/docusaurus-plugin-content-docs/version-20/Notes/updates.md b/i18n/es/docusaurus-plugin-content-docs/version-20/Notes/updates.md index 843be639654a7d..6d72dac749055a 100644 --- a/i18n/es/docusaurus-plugin-content-docs/version-20/Notes/updates.md +++ b/i18n/es/docusaurus-plugin-content-docs/version-20/Notes/updates.md @@ -356,12 +356,6 @@ Para obtener información detallada, consulte [esta entrada del blog](https://bl - Soporte de `no-bom` y nuevos caracteres de fin de línea por defecto en [`.setText()`](../API/FileClass.md#settext) -## 4D 19.x LTS - - -Ver [**Notas de la versión de 4D 19.x LTS**](../../version-19/Notes/updates.md). - - ## Tabla de librerías (4D v20 LTS) From a084a2ecbd37ee118c14410baa84436a21d7f25d Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Fri, 14 Nov 2025 21:25:44 +0100 Subject: [PATCH 24/62] New translations classes.md (Spanish) --- .../current/Concepts/classes.md | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/i18n/es/docusaurus-plugin-content-docs/current/Concepts/classes.md b/i18n/es/docusaurus-plugin-content-docs/current/Concepts/classes.md index 5ef65ef9f96a6d..176c4206089fcc 100644 --- a/i18n/es/docusaurus-plugin-content-docs/current/Concepts/classes.md +++ b/i18n/es/docusaurus-plugin-content-docs/current/Concepts/classes.md @@ -735,13 +735,13 @@ Una **clase singleton** es una clase usuario que sólo produce una única instan ### Tipos de Singletons +Los singletons son útiles para definir los valores que necesitan estar disponibles desde cualquier parte de una aplicación, una sesión o un proceso. + 4D soporta tres tipos de singletons: - un **singleton proceso** tiene una instancia única para el proceso en el que se instancia, - un **singleton compartido** tiene una instancia única para todos los procesos en la máquina. -- un **singleton de sesión** es un singleton compartido pero con una instancia única para todos los procesos en la [sesión](../API/SessionClass.md). Los singletons de sesión son compartidos dentro de una sesión completa, pero varían entre sesiones. En el contexto de un cliente-servidor o una aplicación web, los singletons de sesión hacen posible crear y utilizar una instancia diferente para cada sesión, y por lo tanto para cada usuario. - -Los singletons son útiles para definir los valores que necesitan estar disponibles desde cualquier parte de una aplicación, una sesión o un proceso. +- un **singleton de sesión** es un singleton compartido pero con una instancia única para todos los procesos en la [sesión](../API/SessionClass.md). Los singletons de sesión son compartidos dentro de una sesión completa, pero varían entre sesiones. En el contexto de un cliente-servidor o una aplicación web, los singletons de sesión hacen posible crear y utilizar una instancia diferente para cada sesión, y por lo tanto para cada usuario. Session singletons are particularly appropriate with [Qodly applications](https://developer.4d.com/qodly/). :::info @@ -782,6 +782,10 @@ La propiedad [`isSingleton`](../API/ClassClass.md#issingleton) de los objetos Cl La propiedad [`.isSessionSingleton`](../API/ClassClass.md#issessionsingleton) de los objetos Class permite saber si la clase es un singleton de sesión. +### Exposed singleton functions + +Shared and session singleton functions support the [`exposed` keyword](../ORDA/ordaClasses.md#exposed-vs-non-exposed-functions). An exposed singleton function can be directly called by REST requests. This feature is useful to design [Qodly pages calling 4D functions](https://developer.4d.com/qodly/4DQodlyPro/pageLoaders/events/bindingActionToEvents#class-functions). + ### Ejemplos #### Singleton Proceso From 6e8b82d4cc30476f642375919c0121084ecd4dee Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Fri, 14 Nov 2025 21:29:27 +0100 Subject: [PATCH 25/62] New translations updates.md (Spanish) --- .../current/Notes/updates.md | 8 -------- 1 file changed, 8 deletions(-) diff --git a/i18n/es/docusaurus-plugin-content-docs/current/Notes/updates.md b/i18n/es/docusaurus-plugin-content-docs/current/Notes/updates.md index 3ea552996cb404..c1947d49e3cb20 100644 --- a/i18n/es/docusaurus-plugin-content-docs/current/Notes/updates.md +++ b/i18n/es/docusaurus-plugin-content-docs/current/Notes/updates.md @@ -14,14 +14,6 @@ Lea [**Novedades en 4D 21 R2**](https://blog.4d.com/en-whats-new-in-4d-21-r2/), #### Cambios de comportamiento -## 4D 21.x LTS - -Ver [**Notas de lanzamiento para LTS 4D 21.x**](../../21/Notes/updates). - -## 4D 20.x LTS - -Ver [**Notas de lanzamiento para LTS 4D 20.x**](../../20/Notes/updates). - ## Tabla de la librería | Librería | Versión actual | Actualizado en 4D | Comentario | From 5d37498b073662462121eab60a997fc05e8860a7 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Fri, 14 Nov 2025 21:29:39 +0100 Subject: [PATCH 26/62] New translations ordaclasses.md (Spanish) --- .../current/ORDA/ordaClasses.md | 30 +++++++++++++++---- 1 file changed, 25 insertions(+), 5 deletions(-) diff --git a/i18n/es/docusaurus-plugin-content-docs/current/ORDA/ordaClasses.md b/i18n/es/docusaurus-plugin-content-docs/current/ORDA/ordaClasses.md index 8d48e8c9c0f133..1889c583ab40d8 100644 --- a/i18n/es/docusaurus-plugin-content-docs/current/ORDA/ordaClasses.md +++ b/i18n/es/docusaurus-plugin-content-docs/current/ORDA/ordaClasses.md @@ -928,25 +928,45 @@ $arch.save() //courseName y name son "Archaeology II" ## Funciones expuestas y no expuestas -Por razones de seguridad, todas sus funciones de clase de modelo de datos y atributos de alias son **no expuestas** (es decir, privadas) por defecto a peticiones remotas. +For security reasons, all of your data model class functions, including [computed attributes](#computed-attributes-1) and [alias attributes](#alias-attributes-1), as well as [shared singleton functions](../Concepts/classes.md#shared-singleton) are **not exposed** (i.e., private) by default to **remote requests**. -Las peticiones remotas incluyen: +Remote requests are: - Las peticiones enviadas por las aplicaciones 4D remotas conectadas a través de `Open datastore` -- Peticiones REST +- REST requests, including requests from [Qodly pages](https://developer.4d.com/qodly/) > Las peticiones cliente/servidor 4D estándar no se ven afectadas. Las funciones de clase del modelo de datos están siempre disponibles en esta arquitectura. Una función que no está expuesta no está disponible en aplicaciones remotas y no se puede llamar a ninguna instancia de objeto desde una petición REST. Si una aplicación remota intenta acceder a una función no expuesta, se devuelve el error "-10729 - Método miembro desconocido". -Para permitir que una función de clase de modelo de datos sea llamada por una petición remota, debe declararla explícitamente utilizando la palabra clave `exposed`. La sintaxis formal es: +To allow a function or an attribute to be called by a remote request, you must explicitly declare it using the `exposed` keyword. La sintaxis formal es: ```4d // declarar una función expuesta exposed Function ``` -> La palabra clave `exposed` sólo puede utilizarse con las funciones de clase del modelo de datos. Si se utiliza con una función de [ clase usuario estándar](Concepts/classes.md), se ignora y el compilador devuelve un error. +```4d +// declare an exposed alias +exposed Alias +``` + +```4d +// declare an exposed computed attribute +exposed Function get +``` + +```4d +// declare a shared singleton function +shared singleton Class constructor() +exposed Function +``` + +:::note + +The `exposed` keyword can only be used with the objects decribed above. Si se utiliza con una función de [ clase usuario estándar](Concepts/classes.md), se ignora y el compilador devuelve un error. + +::: ### Ejemplo From 106c4396c2045a4c3acb5daee9d3fcb90241dcc5 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Fri, 14 Nov 2025 21:33:39 +0100 Subject: [PATCH 27/62] New translations writeprointerface.md (Spanish) --- .../current/WritePro/writeprointerface.md | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/i18n/es/docusaurus-plugin-content-docs/current/WritePro/writeprointerface.md b/i18n/es/docusaurus-plugin-content-docs/current/WritePro/writeprointerface.md index b5c8070174f4d1..72146ab7f99e17 100644 --- a/i18n/es/docusaurus-plugin-content-docs/current/WritePro/writeprointerface.md +++ b/i18n/es/docusaurus-plugin-content-docs/current/WritePro/writeprointerface.md @@ -4,13 +4,15 @@ title: Interfaz 4D Write Pro slug: /WritePro/write-pro-interface --- -4D WritePro Interface ofrece un conjunto de paletas, que permiten a los usuarios finales personalizar fácilmente un documento 4D Write Pro. +4D Write Pro Interface offers a set of palettes, which allow end users to easily customize a 4D Write Pro document. Un desarrollador 4D puede implementar fácilmente estas paletas en su aplicación. Así, los usuarios finales pueden gestionar todas las propiedades de 4D Write Pro, como las fuentes, la alineación del texto, los marcadores, la disposición de las tablas y los marcos. -La documentación principal de [la interfaz de 4D Write Pro](https://doc.4d.com/4Dv20/4D/20/Entry-areas.300-6263967.en.html) se encuentra en el manual *Diseño 4D*. +## Installation & documentation -Encontrará a continuación: +4D Write Pro Interface is a **4D component** that needs to be [installed in your project](../Project/components.md#overview). 4D Write Pro Interface source files are [provided on Github](https://github.com/4d/4D-WritePro-Interface). + +La documentación principal de [la interfaz de 4D Write Pro](https://doc.4d.com/4Dv20/4D/20/Entry-areas.300-6263967.en.html) se encuentra en el manual *Diseño 4D*. Encontrará a continuación: - la documentación de configuración del Asistente para tablas, - la I.A. integrada. documentation. From 220d1ab6c2e1d8dd38ad57a3676ac054778b11d5 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Fri, 14 Nov 2025 21:56:50 +0100 Subject: [PATCH 28/62] New translations classes.md (Spanish) --- .../version-20-R10/Concepts/classes.md | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/Concepts/classes.md b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/Concepts/classes.md index cc4dcb07b55793..cb42354faf3714 100644 --- a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/Concepts/classes.md +++ b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/Concepts/classes.md @@ -735,13 +735,13 @@ Una **clase singleton** es una clase usuario que sólo produce una única instan ### Tipos de Singletons +Los singletons son útiles para definir los valores que necesitan estar disponibles desde cualquier parte de una aplicación, una sesión o un proceso. + 4D soporta tres tipos de singletons: - un **singleton proceso** tiene una instancia única para el proceso en el que se instancia, - un **singleton compartido** tiene una instancia única para todos los procesos en la máquina. -- un **singleton de sesión** es un singleton compartido pero con una instancia única para todos los procesos en la [sesión](../API/SessionClass.md). Los singletons de sesión son compartidos dentro de una sesión completa, pero varían entre sesiones. En el contexto de un cliente-servidor o una aplicación web, los singletons de sesión hacen posible crear y utilizar una instancia diferente para cada sesión, y por lo tanto para cada usuario. - -Los singletons son útiles para definir los valores que necesitan estar disponibles desde cualquier parte de una aplicación, una sesión o un proceso. +- un **singleton de sesión** es un singleton compartido pero con una instancia única para todos los procesos en la [sesión](../API/SessionClass.md). Los singletons de sesión son compartidos dentro de una sesión completa, pero varían entre sesiones. En el contexto de un cliente-servidor o una aplicación web, los singletons de sesión hacen posible crear y utilizar una instancia diferente para cada sesión, y por lo tanto para cada usuario. Session singletons are particularly appropriate with [Qodly applications](https://developer.4d.com/qodly/). :::info @@ -782,6 +782,10 @@ La propiedad [`isSingleton`](../API/ClassClass.md#issingleton) de los objetos Cl La propiedad [`.isSessionSingleton`](../API/ClassClass.md#issessionsingleton) de los objetos Class permite saber si la clase es un singleton de sesión. +### Exposed singleton functions + +Shared and session singleton functions support the [`exposed` keyword](../ORDA/ordaClasses.md#exposed-vs-non-exposed-functions). An exposed singleton function can be directly called by REST requests. This feature is useful to design [Qodly pages calling 4D functions](https://developer.4d.com/qodly/4DQodlyPro/pageLoaders/events/bindingActionToEvents#class-functions). + ### Ejemplos #### Singleton Proceso From e065c8c83cfb74186c73b03ea92a8207e3b4a257 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Fri, 14 Nov 2025 22:00:42 +0100 Subject: [PATCH 29/62] New translations updates.md (Spanish) --- .../version-20-R10/Notes/updates.md | 4 ---- 1 file changed, 4 deletions(-) diff --git a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/Notes/updates.md b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/Notes/updates.md index eb35d72cdb9ffe..70314d25d54083 100644 --- a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/Notes/updates.md +++ b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/Notes/updates.md @@ -232,10 +232,6 @@ Si sus aplicaciones 4D utilizan conexiones TLS, se recomienda actualizar a 4D 20 - **Atención**: el valor inicial [`offset`](../API/FileHandleClass.md#offset) de los objetos [4D.FileHandle](../API/FileHandleClass.md) estaba incorrectamente definido en 1 en lugar de 0. Se ha hecho una corrección en 4D a partir de las versiones **20.1 HF1** y **20 R2** y el valor ahora es 0. -## 4D 20.x LTS - -Consulte [**Notas de la versión 4D 20.x LTS**](../../version-20/Notes/updates.md). - ## Tabla de la librería | Librería | Versión actual | Actualizado en 4D | Comentario | From 44aa8f865046365bb28ac08b442ea133a05af894 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Fri, 14 Nov 2025 22:00:57 +0100 Subject: [PATCH 30/62] New translations ordaclasses.md (Spanish) --- .../version-20-R10/ORDA/ordaClasses.md | 30 +++++++++++++++---- 1 file changed, 25 insertions(+), 5 deletions(-) diff --git a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/ORDA/ordaClasses.md b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/ORDA/ordaClasses.md index 8d48e8c9c0f133..1889c583ab40d8 100644 --- a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/ORDA/ordaClasses.md +++ b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/ORDA/ordaClasses.md @@ -928,25 +928,45 @@ $arch.save() //courseName y name son "Archaeology II" ## Funciones expuestas y no expuestas -Por razones de seguridad, todas sus funciones de clase de modelo de datos y atributos de alias son **no expuestas** (es decir, privadas) por defecto a peticiones remotas. +For security reasons, all of your data model class functions, including [computed attributes](#computed-attributes-1) and [alias attributes](#alias-attributes-1), as well as [shared singleton functions](../Concepts/classes.md#shared-singleton) are **not exposed** (i.e., private) by default to **remote requests**. -Las peticiones remotas incluyen: +Remote requests are: - Las peticiones enviadas por las aplicaciones 4D remotas conectadas a través de `Open datastore` -- Peticiones REST +- REST requests, including requests from [Qodly pages](https://developer.4d.com/qodly/) > Las peticiones cliente/servidor 4D estándar no se ven afectadas. Las funciones de clase del modelo de datos están siempre disponibles en esta arquitectura. Una función que no está expuesta no está disponible en aplicaciones remotas y no se puede llamar a ninguna instancia de objeto desde una petición REST. Si una aplicación remota intenta acceder a una función no expuesta, se devuelve el error "-10729 - Método miembro desconocido". -Para permitir que una función de clase de modelo de datos sea llamada por una petición remota, debe declararla explícitamente utilizando la palabra clave `exposed`. La sintaxis formal es: +To allow a function or an attribute to be called by a remote request, you must explicitly declare it using the `exposed` keyword. La sintaxis formal es: ```4d // declarar una función expuesta exposed Function ``` -> La palabra clave `exposed` sólo puede utilizarse con las funciones de clase del modelo de datos. Si se utiliza con una función de [ clase usuario estándar](Concepts/classes.md), se ignora y el compilador devuelve un error. +```4d +// declare an exposed alias +exposed Alias +``` + +```4d +// declare an exposed computed attribute +exposed Function get +``` + +```4d +// declare a shared singleton function +shared singleton Class constructor() +exposed Function +``` + +:::note + +The `exposed` keyword can only be used with the objects decribed above. Si se utiliza con una función de [ clase usuario estándar](Concepts/classes.md), se ignora y el compilador devuelve un error. + +::: ### Ejemplo From 2a403276c28806ba363db569867adef8ff407d88 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Fri, 14 Nov 2025 22:05:21 +0100 Subject: [PATCH 31/62] New translations writeprointerface.md (Spanish) --- .../version-20-R10/WritePro/writeprointerface.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/WritePro/writeprointerface.md b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/WritePro/writeprointerface.md index b5c8070174f4d1..fc3d7963014709 100644 --- a/i18n/es/docusaurus-plugin-content-docs/version-20-R10/WritePro/writeprointerface.md +++ b/i18n/es/docusaurus-plugin-content-docs/version-20-R10/WritePro/writeprointerface.md @@ -4,7 +4,7 @@ title: Interfaz 4D Write Pro slug: /WritePro/write-pro-interface --- -4D WritePro Interface ofrece un conjunto de paletas, que permiten a los usuarios finales personalizar fácilmente un documento 4D Write Pro. +The 4D Write Pro Interface component offers a set of palettes, which allow end users to easily customize a 4D Write Pro document. Un desarrollador 4D puede implementar fácilmente estas paletas en su aplicación. Así, los usuarios finales pueden gestionar todas las propiedades de 4D Write Pro, como las fuentes, la alineación del texto, los marcadores, la disposición de las tablas y los marcos. From 2a8cb8c037a0e67de202911d8c483f7ff87c2f16 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Fri, 14 Nov 2025 22:28:37 +0100 Subject: [PATCH 32/62] New translations classes.md (Spanish) --- .../version-21/Concepts/classes.md | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/i18n/es/docusaurus-plugin-content-docs/version-21/Concepts/classes.md b/i18n/es/docusaurus-plugin-content-docs/version-21/Concepts/classes.md index cc4dcb07b55793..cb42354faf3714 100644 --- a/i18n/es/docusaurus-plugin-content-docs/version-21/Concepts/classes.md +++ b/i18n/es/docusaurus-plugin-content-docs/version-21/Concepts/classes.md @@ -735,13 +735,13 @@ Una **clase singleton** es una clase usuario que sólo produce una única instan ### Tipos de Singletons +Los singletons son útiles para definir los valores que necesitan estar disponibles desde cualquier parte de una aplicación, una sesión o un proceso. + 4D soporta tres tipos de singletons: - un **singleton proceso** tiene una instancia única para el proceso en el que se instancia, - un **singleton compartido** tiene una instancia única para todos los procesos en la máquina. -- un **singleton de sesión** es un singleton compartido pero con una instancia única para todos los procesos en la [sesión](../API/SessionClass.md). Los singletons de sesión son compartidos dentro de una sesión completa, pero varían entre sesiones. En el contexto de un cliente-servidor o una aplicación web, los singletons de sesión hacen posible crear y utilizar una instancia diferente para cada sesión, y por lo tanto para cada usuario. - -Los singletons son útiles para definir los valores que necesitan estar disponibles desde cualquier parte de una aplicación, una sesión o un proceso. +- un **singleton de sesión** es un singleton compartido pero con una instancia única para todos los procesos en la [sesión](../API/SessionClass.md). Los singletons de sesión son compartidos dentro de una sesión completa, pero varían entre sesiones. En el contexto de un cliente-servidor o una aplicación web, los singletons de sesión hacen posible crear y utilizar una instancia diferente para cada sesión, y por lo tanto para cada usuario. Session singletons are particularly appropriate with [Qodly applications](https://developer.4d.com/qodly/). :::info @@ -782,6 +782,10 @@ La propiedad [`isSingleton`](../API/ClassClass.md#issingleton) de los objetos Cl La propiedad [`.isSessionSingleton`](../API/ClassClass.md#issessionsingleton) de los objetos Class permite saber si la clase es un singleton de sesión. +### Exposed singleton functions + +Shared and session singleton functions support the [`exposed` keyword](../ORDA/ordaClasses.md#exposed-vs-non-exposed-functions). An exposed singleton function can be directly called by REST requests. This feature is useful to design [Qodly pages calling 4D functions](https://developer.4d.com/qodly/4DQodlyPro/pageLoaders/events/bindingActionToEvents#class-functions). + ### Ejemplos #### Singleton Proceso From 401febd92c3f00ced2e899d37436df6634a1265b Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Fri, 14 Nov 2025 22:43:49 +0100 Subject: [PATCH 33/62] New translations updates.md (Spanish) --- .../version-21/Notes/updates.md | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/i18n/es/docusaurus-plugin-content-docs/version-21/Notes/updates.md b/i18n/es/docusaurus-plugin-content-docs/version-21/Notes/updates.md index b5ccc8c652538b..4b55c00588c4d4 100644 --- a/i18n/es/docusaurus-plugin-content-docs/version-21/Notes/updates.md +++ b/i18n/es/docusaurus-plugin-content-docs/version-21/Notes/updates.md @@ -288,11 +288,7 @@ Si sus aplicaciones 4D utilizan conexiones TLS, se recomienda actualizar a 4D 20 - **Atención**: el valor inicial [`offset`](../API/FileHandleClass.md#offset) de los objetos [4D.FileHandle](../API/FileHandleClass.md) estaba incorrectamente definido en 1 en lugar de 0. Se ha hecho una corrección en 4D a partir de las versiones **20.1 HF1** y **20 R2** y el valor ahora es 0. -## 4D 20.x LTS - -Ver [**Notas de lanzamiento para LTS 4D 20.x**](../20/Notes/updates). - -## Tabla de la librería +## Tabla de librerías (4D v21 LTS) | Librería | Versión actual | Actualizado en 4D | Comentario | | --------- | -------------------------------------- | ----------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------ | From 90f567098057a8345f13ac306e87e19e66663aeb Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Fri, 14 Nov 2025 22:43:58 +0100 Subject: [PATCH 34/62] New translations ordaclasses.md (Spanish) --- .../version-21/ORDA/ordaClasses.md | 30 +++++++++++++++---- 1 file changed, 25 insertions(+), 5 deletions(-) diff --git a/i18n/es/docusaurus-plugin-content-docs/version-21/ORDA/ordaClasses.md b/i18n/es/docusaurus-plugin-content-docs/version-21/ORDA/ordaClasses.md index fced235a8d45cd..b7e892e9b05080 100644 --- a/i18n/es/docusaurus-plugin-content-docs/version-21/ORDA/ordaClasses.md +++ b/i18n/es/docusaurus-plugin-content-docs/version-21/ORDA/ordaClasses.md @@ -928,25 +928,45 @@ $arch.save() //courseName y name son "Archaeology II" ## Funciones expuestas y no expuestas -Por razones de seguridad, todas sus funciones de clase de modelo de datos y atributos de alias son **no expuestas** (es decir, privadas) por defecto a peticiones remotas. +For security reasons, all of your data model class functions, including [computed attributes](#computed-attributes-1) and [alias attributes](#alias-attributes-1), as well as [shared singleton functions](../Concepts/classes.md#shared-singleton) are **not exposed** (i.e., private) by default to **remote requests**. -Las peticiones remotas incluyen: +Remote requests are: - Las peticiones enviadas por las aplicaciones 4D remotas conectadas a través de `Open datastore` -- Peticiones REST +- REST requests, including requests from [Qodly pages](https://developer.4d.com/qodly/) > Las peticiones cliente/servidor 4D estándar no se ven afectadas. Las funciones de clase del modelo de datos están siempre disponibles en esta arquitectura. Una función que no está expuesta no está disponible en aplicaciones remotas y no se puede llamar a ninguna instancia de objeto desde una petición REST. Si una aplicación remota intenta acceder a una función no expuesta, se devuelve el error "-10729 - Método miembro desconocido". -Para permitir que una función de clase de modelo de datos sea llamada por una petición remota, debe declararla explícitamente utilizando la palabra clave `exposed`. La sintaxis formal es: +To allow a function or an attribute to be called by a remote request, you must explicitly declare it using the `exposed` keyword. La sintaxis formal es: ```4d // declarar una función expuesta exposed Function ``` -> La palabra clave `exposed` sólo puede utilizarse con las funciones de clase del modelo de datos. Si se utiliza con una función de [ clase usuario estándar](Concepts/classes.md), se ignora y el compilador devuelve un error. +```4d +// declare an exposed alias +exposed Alias +``` + +```4d +// declare an exposed computed attribute +exposed Function get +``` + +```4d +// declare a shared singleton function +shared singleton Class constructor() +exposed Function +``` + +:::note + +The `exposed` keyword can only be used with the objects decribed above. Si se utiliza con una función de [ clase usuario estándar](Concepts/classes.md), se ignora y el compilador devuelve un error. + +::: ### Ejemplo From ba8fa6affa4124ed402b52403e53e6901e155968 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Fri, 14 Nov 2025 22:48:17 +0100 Subject: [PATCH 35/62] New translations writeprointerface.md (Spanish) --- .../version-21/WritePro/writeprointerface.md | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/i18n/es/docusaurus-plugin-content-docs/version-21/WritePro/writeprointerface.md b/i18n/es/docusaurus-plugin-content-docs/version-21/WritePro/writeprointerface.md index b5c8070174f4d1..72146ab7f99e17 100644 --- a/i18n/es/docusaurus-plugin-content-docs/version-21/WritePro/writeprointerface.md +++ b/i18n/es/docusaurus-plugin-content-docs/version-21/WritePro/writeprointerface.md @@ -4,13 +4,15 @@ title: Interfaz 4D Write Pro slug: /WritePro/write-pro-interface --- -4D WritePro Interface ofrece un conjunto de paletas, que permiten a los usuarios finales personalizar fácilmente un documento 4D Write Pro. +4D Write Pro Interface offers a set of palettes, which allow end users to easily customize a 4D Write Pro document. Un desarrollador 4D puede implementar fácilmente estas paletas en su aplicación. Así, los usuarios finales pueden gestionar todas las propiedades de 4D Write Pro, como las fuentes, la alineación del texto, los marcadores, la disposición de las tablas y los marcos. -La documentación principal de [la interfaz de 4D Write Pro](https://doc.4d.com/4Dv20/4D/20/Entry-areas.300-6263967.en.html) se encuentra en el manual *Diseño 4D*. +## Installation & documentation -Encontrará a continuación: +4D Write Pro Interface is a **4D component** that needs to be [installed in your project](../Project/components.md#overview). 4D Write Pro Interface source files are [provided on Github](https://github.com/4d/4D-WritePro-Interface). + +La documentación principal de [la interfaz de 4D Write Pro](https://doc.4d.com/4Dv20/4D/20/Entry-areas.300-6263967.en.html) se encuentra en el manual *Diseño 4D*. Encontrará a continuación: - la documentación de configuración del Asistente para tablas, - la I.A. integrada. documentation. From f93e839ea6af7e0203adb851306ac602f90f0254 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Fri, 14 Nov 2025 23:12:33 +0100 Subject: [PATCH 36/62] New translations updates.md (Japanese) --- .../version-20/Notes/updates.md | 6 ------ 1 file changed, 6 deletions(-) diff --git a/i18n/ja/docusaurus-plugin-content-docs/version-20/Notes/updates.md b/i18n/ja/docusaurus-plugin-content-docs/version-20/Notes/updates.md index 84208fa427b2af..eee7fc232f1ef1 100644 --- a/i18n/ja/docusaurus-plugin-content-docs/version-20/Notes/updates.md +++ b/i18n/ja/docusaurus-plugin-content-docs/version-20/Notes/updates.md @@ -356,12 +356,6 @@ ALERT($param1+" "+$param2) - [`.setText()`](../API/FileClass.md#settext) におけるデフォルトの改行コード (EOL) の指定と `no-bom` のサポート -## 4D 19.x LTS - - -[**4D 19.x LTS のリリースノート**](../../version-19/Notes/updates.md) 参照。 - - ## ライブラリの一覧 (4D 20 LTS) From 9ef566a70ac464d339034ace10a8ad6408054ff1 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Fri, 14 Nov 2025 23:31:56 +0100 Subject: [PATCH 37/62] New translations classes.md (Japanese) --- .../current/Concepts/classes.md | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/i18n/ja/docusaurus-plugin-content-docs/current/Concepts/classes.md b/i18n/ja/docusaurus-plugin-content-docs/current/Concepts/classes.md index 3f7c8e9eb46272..525f05e5150afa 100644 --- a/i18n/ja/docusaurus-plugin-content-docs/current/Concepts/classes.md +++ b/i18n/ja/docusaurus-plugin-content-docs/current/Concepts/classes.md @@ -736,13 +736,13 @@ shared Function Bar($value : Integer) ### シングルトンの種類 +アプリケーションやセッション、プロセス内のどこからでも利用可能な値を定義するのにシングルトンは便利です。 + 4D は 3種類のシングルトンをサポートしています: - **プロセスシングルトン** は、自身がインスタンス化されたプロセス内において、インスタンスを一つのみ持つことができます。 - **共有シングルトン** は、マシン上のすべてのプロセスにおいて、共通のインスタンスを一つのみ持つことができます。 -- **セッションシングルトン** も共有シングルトンですが、特定の [セッション](../API/SessionClass.md) 内のすべてのプロセスにおいて、共通のインスタンスを一つのみ持つことができます。 セッションシングルトンは、セッション内で全体的に共有されますが、セッションごとに異なります。 クライアントサーバーまたは Webアプリケーションのコンテキストで セッションシングルトンを使用すると、各セッションごと (つまり各ユーザーごと) に異なるインスタンスを作成して使用することができます。 - -アプリケーションやセッション、プロセス内のどこからでも利用可能な値を定義するのにシングルトンは便利です。 +- **セッションシングルトン** も共有シングルトンですが、特定の [セッション](../API/SessionClass.md) 内のすべてのプロセスにおいて、共通のインスタンスを一つのみ持つことができます。 セッションシングルトンは、セッション内で全体的に共有されますが、セッションごとに異なります。 クライアントサーバーまたは Webアプリケーションのコンテキストで セッションシングルトンを使用すると、各セッションごと (つまり各ユーザーごと) に異なるインスタンスを作成して使用することができます。 Session singletons are particularly appropriate with [Qodly applications](https://developer.4d.com/qodly/). :::info @@ -783,6 +783,10 @@ shared Function Bar($value : Integer) クラスがセッションシングルトンかどうかは、Classオブジェクトの .[`.isSessionSingleton`](../API/ClassClass.md#issessionsingleton) プロパティで確認できます。 +### Exposed singleton functions + +Shared and session singleton functions support the [`exposed` keyword](../ORDA/ordaClasses.md#exposed-vs-non-exposed-functions). An exposed singleton function can be directly called by REST requests. This feature is useful to design [Qodly pages calling 4D functions](https://developer.4d.com/qodly/4DQodlyPro/pageLoaders/events/bindingActionToEvents#class-functions). + ### 例題 #### プロセスシングルトン From a1415353263ced454f245f03bec1e34de9d3a598 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Fri, 14 Nov 2025 23:35:25 +0100 Subject: [PATCH 38/62] New translations updates.md (Japanese) --- .../current/Notes/updates.md | 8 -------- 1 file changed, 8 deletions(-) diff --git a/i18n/ja/docusaurus-plugin-content-docs/current/Notes/updates.md b/i18n/ja/docusaurus-plugin-content-docs/current/Notes/updates.md index 792bedf98778fe..d070e3c114f0f0 100644 --- a/i18n/ja/docusaurus-plugin-content-docs/current/Notes/updates.md +++ b/i18n/ja/docusaurus-plugin-content-docs/current/Notes/updates.md @@ -14,14 +14,6 @@ Read [**What’s new in 4D 21 R2**](https://blog.4d.com/en-whats-new-in-4d-21-r2 #### 動作の変更 -## 4D 21.x LTS - -[**4D 21.x LTS のリリースノート**](../../21/Notes/updates) を参照して下さい。 - -## 4D 20.x LTS - -[**4D 20.x LTS のリリースノート**](../../20/Notes/updates) を参照して下さい。 - ## ライブラリの一覧 | ライブラリ | 現在のバージョン | 更新された 4D バージョン | 説明 | From fc15a6e38fdb96fbdca4bc638e008d12c539a7f9 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Fri, 14 Nov 2025 23:35:33 +0100 Subject: [PATCH 39/62] New translations ordaclasses.md (Japanese) --- .../current/ORDA/ordaClasses.md | 30 +++++++++++++++---- 1 file changed, 25 insertions(+), 5 deletions(-) diff --git a/i18n/ja/docusaurus-plugin-content-docs/current/ORDA/ordaClasses.md b/i18n/ja/docusaurus-plugin-content-docs/current/ORDA/ordaClasses.md index d06def3e344611..a49e8ce5d07ead 100644 --- a/i18n/ja/docusaurus-plugin-content-docs/current/ORDA/ordaClasses.md +++ b/i18n/ja/docusaurus-plugin-content-docs/current/ORDA/ordaClasses.md @@ -936,18 +936,18 @@ $arch.save() //courseName と name は "Archaeology II" に変更されます ## 公開vs非公開関数 -セキュリティ上の理由により、データモデルクラス関数およびエイリアス属性はデフォルトですべて、リモートリクエストに対し **非公開** (つまりプライベート) に設定されています。 +For security reasons, all of your data model class functions, including [computed attributes](#computed-attributes-1) and [alias attributes](#alias-attributes-1), as well as [shared singleton functions](../Concepts/classes.md#shared-singleton) are **not exposed** (i.e., private) by default to **remote requests**. -リモートリクエストには次のものが含まれます: +Remote requests are: - `Open datastore` によって接続されたリモートの 4Dアプリケーションが送信するリクエスト -- RESTリクエスト +- REST requests, including requests from [Qodly pages](https://developer.4d.com/qodly/) > 通常の 4Dクライアント/サーバーリクエストは影響されません。 このアーキテクチャーにおいては、データモデルクラス関数は常に利用可能です。 公開されていない関数はリモートアプリケーションで利用することができず、RESTリクエストによるオブジェクトインスタンスに対して呼び出すこともできません。 リモートアプリケーションが非公開関数をアクセスしようとすると、"-10729 (未知のメンバー機能です)" エラーが返されます。 -リモートリクエストによる呼び出しを許可するには、`exposed` キーワードを使ってデータモデルクラス関数を明示的に宣言する必要があります。 シンタックスは次の通りです: +To allow a function or an attribute to be called by a remote request, you must explicitly declare it using the `exposed` keyword. シンタックスは次の通りです: ```4d // 公開関数の宣言 @@ -955,7 +955,27 @@ exposed Function ``` -> `exposed` キーワードは、データモデルクラス関数に対してのみ利用可能です。 [通常のユーザークラス](Concepts/classes.md) 関数に対して使った場合、キーワードは無視され、コンパイラーはエラーを返します。 +```4d +// declare an exposed alias +exposed Alias +``` + +```4d +// declare an exposed computed attribute +exposed Function get +``` + +```4d +// declare a shared singleton function +shared singleton Class constructor() +exposed Function +``` + +:::note + +The `exposed` keyword can only be used with the objects decribed above. [通常のユーザークラス](Concepts/classes.md) 関数に対して使った場合、キーワードは無視され、コンパイラーはエラーを返します。 + +::: ### 例題 From 83321d96dd10fd2ab5e43285c19ae631a012071c Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Fri, 14 Nov 2025 23:39:16 +0100 Subject: [PATCH 40/62] New translations writeprointerface.md (Japanese) --- .../current/WritePro/writeprointerface.md | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/i18n/ja/docusaurus-plugin-content-docs/current/WritePro/writeprointerface.md b/i18n/ja/docusaurus-plugin-content-docs/current/WritePro/writeprointerface.md index bb283a6e73ffb8..b273ac1f017f53 100644 --- a/i18n/ja/docusaurus-plugin-content-docs/current/WritePro/writeprointerface.md +++ b/i18n/ja/docusaurus-plugin-content-docs/current/WritePro/writeprointerface.md @@ -4,13 +4,15 @@ title: 4D WritePro インターフェース slug: /WritePro/write-pro-interface --- -4D WritePro インターフェースは、エンドユーザーが 4D Write Proドキュメントを簡単にカスタマイズできるパレットを提供します。 +4D Write Pro Interface offers a set of palettes, which allow end users to easily customize a 4D Write Pro document. 4D のデベロッパーは、これらのパレットをアプリケーションに簡単に実装することができます。 それにより、エンドユーザーは、フォントやテキストの揃え方向、ブックマーク、表レイアウト、フレームなど、4D Write Pro のプロパティをすべて管理することができます。 -インターフェースのマニュアルについては、*4D デザインリファレンス* の [4D Write Pro エリアのドキュメント](https://doc.4d.com/4Dv20/4D/20/Entry-areas.300-6263967.ja.html) を参照ください。 +## Installation & documentation -ここには以下のような情報があります: +4D Write Pro Interface is a **4D component** that needs to be [installed in your project](../Project/components.md#overview). 4D Write Pro Interface source files are [provided on Github](https://github.com/4d/4D-WritePro-Interface). + +インターフェースのマニュアルについては、*4D デザインリファレンス* の [4D Write Pro エリアのドキュメント](https://doc.4d.com/4Dv20/4D/20/Entry-areas.300-6263967.ja.html) を参照ください。 ここには以下のような情報があります: - 表ウィザード設定ドキュメンテーション - 統合されたAIについての ドキュメント. From 5a08c95349f89be7e9b24c104688c8d2f506b543 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Sat, 15 Nov 2025 00:01:25 +0100 Subject: [PATCH 41/62] New translations classes.md (Japanese) --- .../version-20-R10/Concepts/classes.md | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/i18n/ja/docusaurus-plugin-content-docs/version-20-R10/Concepts/classes.md b/i18n/ja/docusaurus-plugin-content-docs/version-20-R10/Concepts/classes.md index 91e9cedd7a064f..ff014a4a2e7838 100644 --- a/i18n/ja/docusaurus-plugin-content-docs/version-20-R10/Concepts/classes.md +++ b/i18n/ja/docusaurus-plugin-content-docs/version-20-R10/Concepts/classes.md @@ -736,13 +736,13 @@ shared Function Bar($value : Integer) ### シングルトンの種類 +アプリケーションやセッション、プロセス内のどこからでも利用可能な値を定義するのにシングルトンは便利です。 + 4D は 3種類のシングルトンをサポートしています: - **プロセスシングルトン** は、自身がインスタンス化されたプロセス内において、インスタンスを一つのみ持つことができます。 - **共有シングルトン** は、マシン上のすべてのプロセスにおいて、共通のインスタンスを一つのみ持つことができます。 -- **セッションシングルトン** も共有シングルトンですが、特定の [セッション](../API/SessionClass.md) 内のすべてのプロセスにおいて、共通のインスタンスを一つのみ持つことができます。 セッションシングルトンは、セッション内で全体的に共有されますが、セッションごとに異なります。 クライアントサーバーまたは Webアプリケーションのコンテキストで セッションシングルトンを使用すると、各セッションごと (つまり各ユーザーごと) に異なるインスタンスを作成して使用することができます。 - -アプリケーションやセッション、プロセス内のどこからでも利用可能な値を定義するのにシングルトンは便利です。 +- **セッションシングルトン** も共有シングルトンですが、特定の [セッション](../API/SessionClass.md) 内のすべてのプロセスにおいて、共通のインスタンスを一つのみ持つことができます。 セッションシングルトンは、セッション内で全体的に共有されますが、セッションごとに異なります。 クライアントサーバーまたは Webアプリケーションのコンテキストで セッションシングルトンを使用すると、各セッションごと (つまり各ユーザーごと) に異なるインスタンスを作成して使用することができます。 Session singletons are particularly appropriate with [Qodly applications](https://developer.4d.com/qodly/). :::info @@ -783,6 +783,10 @@ shared Function Bar($value : Integer) クラスがセッションシングルトンかどうかは、Classオブジェクトの .[`.isSessionSingleton`](../API/ClassClass.md#issessionsingleton) プロパティで確認できます。 +### Exposed singleton functions + +Shared and session singleton functions support the [`exposed` keyword](../ORDA/ordaClasses.md#exposed-vs-non-exposed-functions). An exposed singleton function can be directly called by REST requests. This feature is useful to design [Qodly pages calling 4D functions](https://developer.4d.com/qodly/4DQodlyPro/pageLoaders/events/bindingActionToEvents#class-functions). + ### 例題 #### プロセスシングルトン From 726e81480458dd22455023bdf8ee593273d9edcc Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Sat, 15 Nov 2025 00:05:14 +0100 Subject: [PATCH 42/62] New translations updates.md (Japanese) --- .../version-20-R10/Notes/updates.md | 4 ---- 1 file changed, 4 deletions(-) diff --git a/i18n/ja/docusaurus-plugin-content-docs/version-20-R10/Notes/updates.md b/i18n/ja/docusaurus-plugin-content-docs/version-20-R10/Notes/updates.md index ff2eefe13f6d7d..b3db37de349b19 100644 --- a/i18n/ja/docusaurus-plugin-content-docs/version-20-R10/Notes/updates.md +++ b/i18n/ja/docusaurus-plugin-content-docs/version-20-R10/Notes/updates.md @@ -233,10 +233,6 @@ title: リリースノート - **警告**: [4D.FileHandle](../API/FileHandleClass.md) オブジェクトの [`offset`](../API/FileHandleClass.md#offset) の開始値が誤って 0 ではなく 1 に設定されていました。 **20.1 HF1** および **20 R2** のバージョンで 4D が修正され、この値が 0 になりました。 **20.1 HF1** および **20 R2** のバージョンで 4D が修正され、この値が 0 になりました。 -## 4D 20.x LTS - -[**4D 20.x LTS のリリースノート**](../../version-20/Notes/updates.md) 参照。 - ## ライブラリの一覧 | ライブラリ | 現在のバージョン | 更新された 4D バージョン | 説明 | From c890ce534e00c72ddba11f4ba35ecde56a94882c Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Sat, 15 Nov 2025 00:05:25 +0100 Subject: [PATCH 43/62] New translations ordaclasses.md (Japanese) --- .../version-20-R10/ORDA/ordaClasses.md | 30 +++++++++++++++---- 1 file changed, 25 insertions(+), 5 deletions(-) diff --git a/i18n/ja/docusaurus-plugin-content-docs/version-20-R10/ORDA/ordaClasses.md b/i18n/ja/docusaurus-plugin-content-docs/version-20-R10/ORDA/ordaClasses.md index d06def3e344611..a49e8ce5d07ead 100644 --- a/i18n/ja/docusaurus-plugin-content-docs/version-20-R10/ORDA/ordaClasses.md +++ b/i18n/ja/docusaurus-plugin-content-docs/version-20-R10/ORDA/ordaClasses.md @@ -936,18 +936,18 @@ $arch.save() //courseName と name は "Archaeology II" に変更されます ## 公開vs非公開関数 -セキュリティ上の理由により、データモデルクラス関数およびエイリアス属性はデフォルトですべて、リモートリクエストに対し **非公開** (つまりプライベート) に設定されています。 +For security reasons, all of your data model class functions, including [computed attributes](#computed-attributes-1) and [alias attributes](#alias-attributes-1), as well as [shared singleton functions](../Concepts/classes.md#shared-singleton) are **not exposed** (i.e., private) by default to **remote requests**. -リモートリクエストには次のものが含まれます: +Remote requests are: - `Open datastore` によって接続されたリモートの 4Dアプリケーションが送信するリクエスト -- RESTリクエスト +- REST requests, including requests from [Qodly pages](https://developer.4d.com/qodly/) > 通常の 4Dクライアント/サーバーリクエストは影響されません。 このアーキテクチャーにおいては、データモデルクラス関数は常に利用可能です。 公開されていない関数はリモートアプリケーションで利用することができず、RESTリクエストによるオブジェクトインスタンスに対して呼び出すこともできません。 リモートアプリケーションが非公開関数をアクセスしようとすると、"-10729 (未知のメンバー機能です)" エラーが返されます。 -リモートリクエストによる呼び出しを許可するには、`exposed` キーワードを使ってデータモデルクラス関数を明示的に宣言する必要があります。 シンタックスは次の通りです: +To allow a function or an attribute to be called by a remote request, you must explicitly declare it using the `exposed` keyword. シンタックスは次の通りです: ```4d // 公開関数の宣言 @@ -955,7 +955,27 @@ exposed Function ``` -> `exposed` キーワードは、データモデルクラス関数に対してのみ利用可能です。 [通常のユーザークラス](Concepts/classes.md) 関数に対して使った場合、キーワードは無視され、コンパイラーはエラーを返します。 +```4d +// declare an exposed alias +exposed Alias +``` + +```4d +// declare an exposed computed attribute +exposed Function get +``` + +```4d +// declare a shared singleton function +shared singleton Class constructor() +exposed Function +``` + +:::note + +The `exposed` keyword can only be used with the objects decribed above. [通常のユーザークラス](Concepts/classes.md) 関数に対して使った場合、キーワードは無視され、コンパイラーはエラーを返します。 + +::: ### 例題 From 0c211915779d2b20e108eb3da9abbb59e91838e5 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Sat, 15 Nov 2025 00:09:45 +0100 Subject: [PATCH 44/62] New translations writeprointerface.md (Japanese) --- .../version-20-R10/WritePro/writeprointerface.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/i18n/ja/docusaurus-plugin-content-docs/version-20-R10/WritePro/writeprointerface.md b/i18n/ja/docusaurus-plugin-content-docs/version-20-R10/WritePro/writeprointerface.md index bb283a6e73ffb8..e27fbf2dc368a0 100644 --- a/i18n/ja/docusaurus-plugin-content-docs/version-20-R10/WritePro/writeprointerface.md +++ b/i18n/ja/docusaurus-plugin-content-docs/version-20-R10/WritePro/writeprointerface.md @@ -4,7 +4,7 @@ title: 4D WritePro インターフェース slug: /WritePro/write-pro-interface --- -4D WritePro インターフェースは、エンドユーザーが 4D Write Proドキュメントを簡単にカスタマイズできるパレットを提供します。 +The 4D Write Pro Interface component offers a set of palettes, which allow end users to easily customize a 4D Write Pro document. 4D のデベロッパーは、これらのパレットをアプリケーションに簡単に実装することができます。 それにより、エンドユーザーは、フォントやテキストの揃え方向、ブックマーク、表レイアウト、フレームなど、4D Write Pro のプロパティをすべて管理することができます。 From e8df80d3d978f19d8b346dde56b90f4b92654550 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Sat, 15 Nov 2025 00:32:39 +0100 Subject: [PATCH 45/62] New translations classes.md (Japanese) --- .../version-21/Concepts/classes.md | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/i18n/ja/docusaurus-plugin-content-docs/version-21/Concepts/classes.md b/i18n/ja/docusaurus-plugin-content-docs/version-21/Concepts/classes.md index 91e9cedd7a064f..ff014a4a2e7838 100644 --- a/i18n/ja/docusaurus-plugin-content-docs/version-21/Concepts/classes.md +++ b/i18n/ja/docusaurus-plugin-content-docs/version-21/Concepts/classes.md @@ -736,13 +736,13 @@ shared Function Bar($value : Integer) ### シングルトンの種類 +アプリケーションやセッション、プロセス内のどこからでも利用可能な値を定義するのにシングルトンは便利です。 + 4D は 3種類のシングルトンをサポートしています: - **プロセスシングルトン** は、自身がインスタンス化されたプロセス内において、インスタンスを一つのみ持つことができます。 - **共有シングルトン** は、マシン上のすべてのプロセスにおいて、共通のインスタンスを一つのみ持つことができます。 -- **セッションシングルトン** も共有シングルトンですが、特定の [セッション](../API/SessionClass.md) 内のすべてのプロセスにおいて、共通のインスタンスを一つのみ持つことができます。 セッションシングルトンは、セッション内で全体的に共有されますが、セッションごとに異なります。 クライアントサーバーまたは Webアプリケーションのコンテキストで セッションシングルトンを使用すると、各セッションごと (つまり各ユーザーごと) に異なるインスタンスを作成して使用することができます。 - -アプリケーションやセッション、プロセス内のどこからでも利用可能な値を定義するのにシングルトンは便利です。 +- **セッションシングルトン** も共有シングルトンですが、特定の [セッション](../API/SessionClass.md) 内のすべてのプロセスにおいて、共通のインスタンスを一つのみ持つことができます。 セッションシングルトンは、セッション内で全体的に共有されますが、セッションごとに異なります。 クライアントサーバーまたは Webアプリケーションのコンテキストで セッションシングルトンを使用すると、各セッションごと (つまり各ユーザーごと) に異なるインスタンスを作成して使用することができます。 Session singletons are particularly appropriate with [Qodly applications](https://developer.4d.com/qodly/). :::info @@ -783,6 +783,10 @@ shared Function Bar($value : Integer) クラスがセッションシングルトンかどうかは、Classオブジェクトの .[`.isSessionSingleton`](../API/ClassClass.md#issessionsingleton) プロパティで確認できます。 +### Exposed singleton functions + +Shared and session singleton functions support the [`exposed` keyword](../ORDA/ordaClasses.md#exposed-vs-non-exposed-functions). An exposed singleton function can be directly called by REST requests. This feature is useful to design [Qodly pages calling 4D functions](https://developer.4d.com/qodly/4DQodlyPro/pageLoaders/events/bindingActionToEvents#class-functions). + ### 例題 #### プロセスシングルトン From a0462b079963784aa5e9d41dd8a1a4288ebcd1d5 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Sat, 15 Nov 2025 00:47:30 +0100 Subject: [PATCH 46/62] New translations updates.md (Japanese) --- .../version-21/Notes/updates.md | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/i18n/ja/docusaurus-plugin-content-docs/version-21/Notes/updates.md b/i18n/ja/docusaurus-plugin-content-docs/version-21/Notes/updates.md index 7bdb8b1d9fa45c..870bffddeb4e47 100644 --- a/i18n/ja/docusaurus-plugin-content-docs/version-21/Notes/updates.md +++ b/i18n/ja/docusaurus-plugin-content-docs/version-21/Notes/updates.md @@ -289,11 +289,7 @@ title: リリースノート - **警告**: [4D.FileHandle](../API/FileHandleClass.md) オブジェクトの [`offset`](../API/FileHandleClass.md#offset) の開始値が誤って 0 ではなく 1 に設定されていました。 **20.1 HF1** および **20 R2** のバージョンで 4D が修正され、この値が 0 になりました。 **20.1 HF1** および **20 R2** のバージョンで 4D が修正され、この値が 0 になりました。 -## 4D 20.x LTS - -[**4D 20.x LTS のリリースノート**](../20/Notes/updates) を参照して下さい。 - -## ライブラリの一覧 +## ライブラリの一覧 (4D 21 LTS) | ライブラリ | 現在のバージョン | 更新された 4D バージョン | 説明 | | --------- | -------------------------------------- | -------------- | -------------------------------------------------------------------------------------------------------------------------------------------------- | From e64eb302c274763a105256c3fc9c50255f6d45aa Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Sat, 15 Nov 2025 00:47:40 +0100 Subject: [PATCH 47/62] New translations ordaclasses.md (Japanese) --- .../version-21/ORDA/ordaClasses.md | 30 +++++++++++++++---- 1 file changed, 25 insertions(+), 5 deletions(-) diff --git a/i18n/ja/docusaurus-plugin-content-docs/version-21/ORDA/ordaClasses.md b/i18n/ja/docusaurus-plugin-content-docs/version-21/ORDA/ordaClasses.md index d06def3e344611..a49e8ce5d07ead 100644 --- a/i18n/ja/docusaurus-plugin-content-docs/version-21/ORDA/ordaClasses.md +++ b/i18n/ja/docusaurus-plugin-content-docs/version-21/ORDA/ordaClasses.md @@ -936,18 +936,18 @@ $arch.save() //courseName と name は "Archaeology II" に変更されます ## 公開vs非公開関数 -セキュリティ上の理由により、データモデルクラス関数およびエイリアス属性はデフォルトですべて、リモートリクエストに対し **非公開** (つまりプライベート) に設定されています。 +For security reasons, all of your data model class functions, including [computed attributes](#computed-attributes-1) and [alias attributes](#alias-attributes-1), as well as [shared singleton functions](../Concepts/classes.md#shared-singleton) are **not exposed** (i.e., private) by default to **remote requests**. -リモートリクエストには次のものが含まれます: +Remote requests are: - `Open datastore` によって接続されたリモートの 4Dアプリケーションが送信するリクエスト -- RESTリクエスト +- REST requests, including requests from [Qodly pages](https://developer.4d.com/qodly/) > 通常の 4Dクライアント/サーバーリクエストは影響されません。 このアーキテクチャーにおいては、データモデルクラス関数は常に利用可能です。 公開されていない関数はリモートアプリケーションで利用することができず、RESTリクエストによるオブジェクトインスタンスに対して呼び出すこともできません。 リモートアプリケーションが非公開関数をアクセスしようとすると、"-10729 (未知のメンバー機能です)" エラーが返されます。 -リモートリクエストによる呼び出しを許可するには、`exposed` キーワードを使ってデータモデルクラス関数を明示的に宣言する必要があります。 シンタックスは次の通りです: +To allow a function or an attribute to be called by a remote request, you must explicitly declare it using the `exposed` keyword. シンタックスは次の通りです: ```4d // 公開関数の宣言 @@ -955,7 +955,27 @@ exposed Function ``` -> `exposed` キーワードは、データモデルクラス関数に対してのみ利用可能です。 [通常のユーザークラス](Concepts/classes.md) 関数に対して使った場合、キーワードは無視され、コンパイラーはエラーを返します。 +```4d +// declare an exposed alias +exposed Alias +``` + +```4d +// declare an exposed computed attribute +exposed Function get +``` + +```4d +// declare a shared singleton function +shared singleton Class constructor() +exposed Function +``` + +:::note + +The `exposed` keyword can only be used with the objects decribed above. [通常のユーザークラス](Concepts/classes.md) 関数に対して使った場合、キーワードは無視され、コンパイラーはエラーを返します。 + +::: ### 例題 From ea603e7d6b70859e026d986474764fb1b96917ca Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Sat, 15 Nov 2025 00:51:52 +0100 Subject: [PATCH 48/62] New translations writeprointerface.md (Japanese) --- .../version-21/WritePro/writeprointerface.md | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/i18n/ja/docusaurus-plugin-content-docs/version-21/WritePro/writeprointerface.md b/i18n/ja/docusaurus-plugin-content-docs/version-21/WritePro/writeprointerface.md index bb283a6e73ffb8..b273ac1f017f53 100644 --- a/i18n/ja/docusaurus-plugin-content-docs/version-21/WritePro/writeprointerface.md +++ b/i18n/ja/docusaurus-plugin-content-docs/version-21/WritePro/writeprointerface.md @@ -4,13 +4,15 @@ title: 4D WritePro インターフェース slug: /WritePro/write-pro-interface --- -4D WritePro インターフェースは、エンドユーザーが 4D Write Proドキュメントを簡単にカスタマイズできるパレットを提供します。 +4D Write Pro Interface offers a set of palettes, which allow end users to easily customize a 4D Write Pro document. 4D のデベロッパーは、これらのパレットをアプリケーションに簡単に実装することができます。 それにより、エンドユーザーは、フォントやテキストの揃え方向、ブックマーク、表レイアウト、フレームなど、4D Write Pro のプロパティをすべて管理することができます。 -インターフェースのマニュアルについては、*4D デザインリファレンス* の [4D Write Pro エリアのドキュメント](https://doc.4d.com/4Dv20/4D/20/Entry-areas.300-6263967.ja.html) を参照ください。 +## Installation & documentation -ここには以下のような情報があります: +4D Write Pro Interface is a **4D component** that needs to be [installed in your project](../Project/components.md#overview). 4D Write Pro Interface source files are [provided on Github](https://github.com/4d/4D-WritePro-Interface). + +インターフェースのマニュアルについては、*4D デザインリファレンス* の [4D Write Pro エリアのドキュメント](https://doc.4d.com/4Dv20/4D/20/Entry-areas.300-6263967.ja.html) を参照ください。 ここには以下のような情報があります: - 表ウィザード設定ドキュメンテーション - 統合されたAIについての ドキュメント. From 0f877d702ce649103c9c07db9614a3b59feaeb89 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Sat, 15 Nov 2025 01:15:51 +0100 Subject: [PATCH 49/62] New translations updates.md (Portuguese, Brazilian) --- .../version-20/Notes/updates.md | 6 ------ 1 file changed, 6 deletions(-) diff --git a/i18n/pt/docusaurus-plugin-content-docs/version-20/Notes/updates.md b/i18n/pt/docusaurus-plugin-content-docs/version-20/Notes/updates.md index fa68ba87d715f9..5bfde34030fec3 100644 --- a/i18n/pt/docusaurus-plugin-content-docs/version-20/Notes/updates.md +++ b/i18n/pt/docusaurus-plugin-content-docs/version-20/Notes/updates.md @@ -356,12 +356,6 @@ Para obter informações pormenorizadas, consulte [esta publicação do blogue]( - `Suporte a no-bom` e novos caracteres de fim de linha padrão em [`.setText()`](../API/FileClass.md#settext) -## 4D 19.x LTS - - -Veja [**Notas de lançamento para 4D 19.x LTS**](../../version-19/Notes/updates.md). - - ## Tabela das bibliotecas (4D 20 LTS) From 3617f103f4b7a968090286ec2a19ffb68b454cd9 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Sat, 15 Nov 2025 01:34:43 +0100 Subject: [PATCH 50/62] New translations classes.md (Portuguese, Brazilian) --- .../current/Concepts/classes.md | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/i18n/pt/docusaurus-plugin-content-docs/current/Concepts/classes.md b/i18n/pt/docusaurus-plugin-content-docs/current/Concepts/classes.md index 6fd515c79cb59c..8dedd37ac8dd39 100644 --- a/i18n/pt/docusaurus-plugin-content-docs/current/Concepts/classes.md +++ b/i18n/pt/docusaurus-plugin-content-docs/current/Concepts/classes.md @@ -733,13 +733,13 @@ Uma **classe singleton** é uma classe de usuário que produz apenas uma única ### Tipos de singletons +Singletons são úteis para definir valores que precisam estar disponíveis em qualquer lugar em um aplicativo, uma sessão ou um processo. + 4D suporta três tipos de singletons: - um **processo singleton** tem uma instância única para o processo no qual ele é instanciado, - um **singleton compartilhado** tem uma instância única para todos os processos na máquina. -- uma **sessão singleton** é um singleton compartilhado, mas com uma instância única para todos os processos na [sessão](../API/SessionClass.md). Os singletons de sessão são compartilhados em uma sessão inteira, mas variam entre as sessões. No contexto de um cliente-servidor ou de um aplicativo Web, os singletons de sessão possibilitam a criação e o uso de uma instância diferente para cada sessão, portanto, para cada usuário. - -Singletons são úteis para definir valores que precisam estar disponíveis em qualquer lugar em um aplicativo, uma sessão ou um processo. +- uma **sessão singleton** é um singleton compartilhado, mas com uma instância única para todos os processos na [sessão](../API/SessionClass.md). Os singletons de sessão são compartilhados em uma sessão inteira, mas variam entre as sessões. No contexto de um cliente-servidor ou de um aplicativo Web, os singletons de sessão possibilitam a criação e o uso de uma instância diferente para cada sessão, portanto, para cada usuário. Session singletons are particularly appropriate with [Qodly applications](https://developer.4d.com/qodly/). :::info @@ -780,6 +780,10 @@ O [`.isSingleton`](../API/ClassClass.md#issingleton) propriedade de objetos de c A propriedade [`.isSessionSingleton`](../API/ClassClass.md#issessionsingleton) dos objetos Class permite saber se a classe é um singleton de sessão. +### Exposed singleton functions + +Shared and session singleton functions support the [`exposed` keyword](../ORDA/ordaClasses.md#exposed-vs-non-exposed-functions). An exposed singleton function can be directly called by REST requests. This feature is useful to design [Qodly pages calling 4D functions](https://developer.4d.com/qodly/4DQodlyPro/pageLoaders/events/bindingActionToEvents#class-functions). + ### Exemplos #### Singleton process From 4f254d1200f3cdb7b9d81e73634017b98a0fbd2c Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Sat, 15 Nov 2025 01:38:23 +0100 Subject: [PATCH 51/62] New translations updates.md (Portuguese, Brazilian) --- .../current/Notes/updates.md | 8 -------- 1 file changed, 8 deletions(-) diff --git a/i18n/pt/docusaurus-plugin-content-docs/current/Notes/updates.md b/i18n/pt/docusaurus-plugin-content-docs/current/Notes/updates.md index 121bd6e949d332..94c3b9caa7f773 100644 --- a/i18n/pt/docusaurus-plugin-content-docs/current/Notes/updates.md +++ b/i18n/pt/docusaurus-plugin-content-docs/current/Notes/updates.md @@ -14,14 +14,6 @@ Leia [**O que há de novo no 4D v21 R2**](https://blog.4d.com/en-whats-new-in-4d #### Mudanças de comportamento -## 4D 21.x LTS - -Veja [**Notas de lançamento 4D 21.x LTS**](../../21/Notes/updates). - -## 4D 20.x LTS - -Veja [**Notas de lançamento 4D 20.x LTS**](../../20/Notes/updates). - ## Tabela da biblioteca | Biblioteca | Versão atual | Atualizado em 4D | Comentário | From 934260693b02a5d763cf8c35b2603a4836e3fbfd Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Sat, 15 Nov 2025 01:38:33 +0100 Subject: [PATCH 52/62] New translations ordaclasses.md (Portuguese, Brazilian) --- .../current/ORDA/ordaClasses.md | 30 +++++++++++++++---- 1 file changed, 25 insertions(+), 5 deletions(-) diff --git a/i18n/pt/docusaurus-plugin-content-docs/current/ORDA/ordaClasses.md b/i18n/pt/docusaurus-plugin-content-docs/current/ORDA/ordaClasses.md index 66862732f2350b..b7f38db3d69de6 100644 --- a/i18n/pt/docusaurus-plugin-content-docs/current/ORDA/ordaClasses.md +++ b/i18n/pt/docusaurus-plugin-content-docs/current/ORDA/ordaClasses.md @@ -920,25 +920,45 @@ $arch.save() //courseName and name are "Archaeology II" ## Funções expostas vs não expostas -Por razões de segurança, todas as funções de classe de modelo de dados e atributos de alias **não são** (por exemplo, privado) por padrão para solicitações remotas. +For security reasons, all of your data model class functions, including [computed attributes](#computed-attributes-1) and [alias attributes](#alias-attributes-1), as well as [shared singleton functions](../Concepts/classes.md#shared-singleton) are **not exposed** (i.e., private) by default to **remote requests**. -Os pedidos remotos incluem: +Remote requests are: - Pedidos enviados por aplicações 4D remotas ligadas através de `Open datastore` -- Pedidos REST +- REST requests, including requests from [Qodly pages](https://developer.4d.com/qodly/) > Os pedidos regulares de cliente/servidor 4D não são afetados. As funções de classe do modelo de dados estão sempre disponíveis nesta arquitetura. Uma função que não esteja exposta não está disponível em aplicações remotas e não pode ser chamada em qualquer instância de objeto a partir de um pedido REST. Se uma aplicação remota tentar aceder a uma função não exposta, é devolvido o erro "-10729 - Método de membro desconhecido". -Para permitir que uma função de classe de modelo de dados seja chamada por um pedido remoto, você deve declará-la explicitamente usando a palavra-chave `exposed`. A sintaxe formal é: +To allow a function or an attribute to be called by a remote request, you must explicitly declare it using the `exposed` keyword. A sintaxe formal é: ```4d // declara uma função exposta exposed Function ``` -> A palavra-chave `exposed` só pode ser utilizada com funções de classe de modelo de dados. Se usado com uma [classe de usuário regular](Concepts/classes.md) função, ela é ignorada e um erro é retornado pelo compilador. +```4d +// declare an exposed alias +exposed Alias +``` + +```4d +// declare an exposed computed attribute +exposed Function get +``` + +```4d +// declare a shared singleton function +shared singleton Class constructor() +exposed Function +``` + +:::note + +The `exposed` keyword can only be used with the objects decribed above. Se usado com uma [classe de usuário regular](Concepts/classes.md) função, ela é ignorada e um erro é retornado pelo compilador. + +::: ### Exemplo From aa3e70f0e791ee67577c0b1a61223535ee18abda Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Sat, 15 Nov 2025 01:42:30 +0100 Subject: [PATCH 53/62] New translations writeprointerface.md (Portuguese, Brazilian) --- .../current/WritePro/writeprointerface.md | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/i18n/pt/docusaurus-plugin-content-docs/current/WritePro/writeprointerface.md b/i18n/pt/docusaurus-plugin-content-docs/current/WritePro/writeprointerface.md index 5ae4f2aa2bddbc..e2f9f7c9aa33df 100644 --- a/i18n/pt/docusaurus-plugin-content-docs/current/WritePro/writeprointerface.md +++ b/i18n/pt/docusaurus-plugin-content-docs/current/WritePro/writeprointerface.md @@ -4,13 +4,15 @@ title: Interface 4D Write Pro slug: /WritePro/write-pro-interface --- -4D WritePro Interface offers a set of palettes, which allow end users to easily customize a 4D Write Pro document. +4D Write Pro Interface offers a set of palettes, which allow end users to easily customize a 4D Write Pro document. Um desenvolvedor 4D pode facilmente implementar essas paletas em sua aplicação. Thus, end users can manage all 4D Write Pro properties, such as fonts, text alignment, bookmarks, table layout, and frames. -La documentación principal de [la interfaz de 4D Write Pro](https://doc.4d.com/4Dv20/4D/20/Entry-areas.300-6263967.en.html) se encuentra en el manual *Diseño 4D*. +## Installation & documentation -Você encontrará abaixo: +4D Write Pro Interface is a **4D component** that needs to be [installed in your project](../Project/components.md#overview). 4D Write Pro Interface source files are [provided on Github](https://github.com/4d/4D-WritePro-Interface). + +La documentación principal de [la interfaz de 4D Write Pro](https://doc.4d.com/4Dv20/4D/20/Entry-areas.300-6263967.en.html) se encuentra en el manual *Diseño 4D*. Você encontrará abaixo: - the Table Wizard configuration documentation, - a I.A. integrada. documentation. From 77477cf08c707f048457a9c1426350009e2beac5 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Sat, 15 Nov 2025 02:04:36 +0100 Subject: [PATCH 54/62] New translations classes.md (Portuguese, Brazilian) --- .../version-20-R10/Concepts/classes.md | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/i18n/pt/docusaurus-plugin-content-docs/version-20-R10/Concepts/classes.md b/i18n/pt/docusaurus-plugin-content-docs/version-20-R10/Concepts/classes.md index 5800a6fa6465d5..b526a3bfa74e1b 100644 --- a/i18n/pt/docusaurus-plugin-content-docs/version-20-R10/Concepts/classes.md +++ b/i18n/pt/docusaurus-plugin-content-docs/version-20-R10/Concepts/classes.md @@ -733,13 +733,13 @@ Uma **classe singleton** é uma classe de usuário que produz apenas uma única ### Tipos de singletons +Singletons são úteis para definir valores que precisam estar disponíveis em qualquer lugar em um aplicativo, uma sessão ou um processo. + 4D suporta três tipos de singletons: - um **processo singleton** tem uma instância única para o processo no qual ele é instanciado, - um **singleton compartilhado** tem uma instância única para todos os processos na máquina. -- uma **sessão singleton** é um singleton compartilhado, mas com uma instância única para todos os processos na [sessão](../API/SessionClass.md). Os singletons de sessão são compartilhados em uma sessão inteira, mas variam entre as sessões. No contexto de um cliente-servidor ou de um aplicativo Web, os singletons de sessão possibilitam a criação e o uso de uma instância diferente para cada sessão, portanto, para cada usuário. - -Singletons são úteis para definir valores que precisam estar disponíveis em qualquer lugar em um aplicativo, uma sessão ou um processo. +- uma **sessão singleton** é um singleton compartilhado, mas com uma instância única para todos os processos na [sessão](../API/SessionClass.md). Os singletons de sessão são compartilhados em uma sessão inteira, mas variam entre as sessões. No contexto de um cliente-servidor ou de um aplicativo Web, os singletons de sessão possibilitam a criação e o uso de uma instância diferente para cada sessão, portanto, para cada usuário. Session singletons are particularly appropriate with [Qodly applications](https://developer.4d.com/qodly/). :::info @@ -780,6 +780,10 @@ O [`.isSingleton`](../API/ClassClass.md#issingleton) propriedade de objetos de c A propriedade [`.isSessionSingleton`](../API/ClassClass.md#issessionsingleton) dos objetos Class permite saber se a classe é um singleton de sessão. +### Exposed singleton functions + +Shared and session singleton functions support the [`exposed` keyword](../ORDA/ordaClasses.md#exposed-vs-non-exposed-functions). An exposed singleton function can be directly called by REST requests. This feature is useful to design [Qodly pages calling 4D functions](https://developer.4d.com/qodly/4DQodlyPro/pageLoaders/events/bindingActionToEvents#class-functions). + ### Exemplos #### Singleton process From eccd01e7785613ffe834507e37cf6b24e68b6af8 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Sat, 15 Nov 2025 02:08:28 +0100 Subject: [PATCH 55/62] New translations updates.md (Portuguese, Brazilian) --- .../version-20-R10/Notes/updates.md | 4 ---- 1 file changed, 4 deletions(-) diff --git a/i18n/pt/docusaurus-plugin-content-docs/version-20-R10/Notes/updates.md b/i18n/pt/docusaurus-plugin-content-docs/version-20-R10/Notes/updates.md index 4406f1744cd649..5f6fa17c665db4 100644 --- a/i18n/pt/docusaurus-plugin-content-docs/version-20-R10/Notes/updates.md +++ b/i18n/pt/docusaurus-plugin-content-docs/version-20-R10/Notes/updates.md @@ -232,10 +232,6 @@ Se suas aplicações 4D utilizam conexões TLS, é recomendado que você faça a - **Aviso**: o valor inicial dos objetos [`offset`](../API/FileHandleClass.md#offset) de [4D.FileHandle](../API/FileHandleClass.md) era configurado incorretamente para 1 ao invés de 0. Foi feita uma correção no 4D a partir das versões **20.1 HF1** e **20 R2** e o valor agora é 0. -## 4D 20.x LTS - -Veja [**Notas de lançamento 4D 20.x LTS**](../../version-20/Notes/updates.md). - ## Tabela da biblioteca | Biblioteca | Versão atual | Atualizado em 4D | Comentário | From 8afa01f2174d7ac688694b5fccc6ad7587fcf763 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Sat, 15 Nov 2025 02:08:38 +0100 Subject: [PATCH 56/62] New translations ordaclasses.md (Portuguese, Brazilian) --- .../version-20-R10/ORDA/ordaClasses.md | 30 +++++++++++++++---- 1 file changed, 25 insertions(+), 5 deletions(-) diff --git a/i18n/pt/docusaurus-plugin-content-docs/version-20-R10/ORDA/ordaClasses.md b/i18n/pt/docusaurus-plugin-content-docs/version-20-R10/ORDA/ordaClasses.md index 66862732f2350b..b7f38db3d69de6 100644 --- a/i18n/pt/docusaurus-plugin-content-docs/version-20-R10/ORDA/ordaClasses.md +++ b/i18n/pt/docusaurus-plugin-content-docs/version-20-R10/ORDA/ordaClasses.md @@ -920,25 +920,45 @@ $arch.save() //courseName and name are "Archaeology II" ## Funções expostas vs não expostas -Por razões de segurança, todas as funções de classe de modelo de dados e atributos de alias **não são** (por exemplo, privado) por padrão para solicitações remotas. +For security reasons, all of your data model class functions, including [computed attributes](#computed-attributes-1) and [alias attributes](#alias-attributes-1), as well as [shared singleton functions](../Concepts/classes.md#shared-singleton) are **not exposed** (i.e., private) by default to **remote requests**. -Os pedidos remotos incluem: +Remote requests are: - Pedidos enviados por aplicações 4D remotas ligadas através de `Open datastore` -- Pedidos REST +- REST requests, including requests from [Qodly pages](https://developer.4d.com/qodly/) > Os pedidos regulares de cliente/servidor 4D não são afetados. As funções de classe do modelo de dados estão sempre disponíveis nesta arquitetura. Uma função que não esteja exposta não está disponível em aplicações remotas e não pode ser chamada em qualquer instância de objeto a partir de um pedido REST. Se uma aplicação remota tentar aceder a uma função não exposta, é devolvido o erro "-10729 - Método de membro desconhecido". -Para permitir que uma função de classe de modelo de dados seja chamada por um pedido remoto, você deve declará-la explicitamente usando a palavra-chave `exposed`. A sintaxe formal é: +To allow a function or an attribute to be called by a remote request, you must explicitly declare it using the `exposed` keyword. A sintaxe formal é: ```4d // declara uma função exposta exposed Function ``` -> A palavra-chave `exposed` só pode ser utilizada com funções de classe de modelo de dados. Se usado com uma [classe de usuário regular](Concepts/classes.md) função, ela é ignorada e um erro é retornado pelo compilador. +```4d +// declare an exposed alias +exposed Alias +``` + +```4d +// declare an exposed computed attribute +exposed Function get +``` + +```4d +// declare a shared singleton function +shared singleton Class constructor() +exposed Function +``` + +:::note + +The `exposed` keyword can only be used with the objects decribed above. Se usado com uma [classe de usuário regular](Concepts/classes.md) função, ela é ignorada e um erro é retornado pelo compilador. + +::: ### Exemplo From b398071eff6d06a4c0a2b41f4ebb5495a811bffb Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Sat, 15 Nov 2025 02:13:02 +0100 Subject: [PATCH 57/62] New translations writeprointerface.md (Portuguese, Brazilian) --- .../version-20-R10/WritePro/writeprointerface.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/i18n/pt/docusaurus-plugin-content-docs/version-20-R10/WritePro/writeprointerface.md b/i18n/pt/docusaurus-plugin-content-docs/version-20-R10/WritePro/writeprointerface.md index 5ae4f2aa2bddbc..39ab81aae54bdc 100644 --- a/i18n/pt/docusaurus-plugin-content-docs/version-20-R10/WritePro/writeprointerface.md +++ b/i18n/pt/docusaurus-plugin-content-docs/version-20-R10/WritePro/writeprointerface.md @@ -4,7 +4,7 @@ title: Interface 4D Write Pro slug: /WritePro/write-pro-interface --- -4D WritePro Interface offers a set of palettes, which allow end users to easily customize a 4D Write Pro document. +The 4D Write Pro Interface component offers a set of palettes, which allow end users to easily customize a 4D Write Pro document. Um desenvolvedor 4D pode facilmente implementar essas paletas em sua aplicação. Thus, end users can manage all 4D Write Pro properties, such as fonts, text alignment, bookmarks, table layout, and frames. From b0d00a87a347bb66dde5fcfed7489b101aa727c8 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Sat, 15 Nov 2025 02:35:53 +0100 Subject: [PATCH 58/62] New translations classes.md (Portuguese, Brazilian) --- .../version-21/Concepts/classes.md | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/i18n/pt/docusaurus-plugin-content-docs/version-21/Concepts/classes.md b/i18n/pt/docusaurus-plugin-content-docs/version-21/Concepts/classes.md index 5800a6fa6465d5..b526a3bfa74e1b 100644 --- a/i18n/pt/docusaurus-plugin-content-docs/version-21/Concepts/classes.md +++ b/i18n/pt/docusaurus-plugin-content-docs/version-21/Concepts/classes.md @@ -733,13 +733,13 @@ Uma **classe singleton** é uma classe de usuário que produz apenas uma única ### Tipos de singletons +Singletons são úteis para definir valores que precisam estar disponíveis em qualquer lugar em um aplicativo, uma sessão ou um processo. + 4D suporta três tipos de singletons: - um **processo singleton** tem uma instância única para o processo no qual ele é instanciado, - um **singleton compartilhado** tem uma instância única para todos os processos na máquina. -- uma **sessão singleton** é um singleton compartilhado, mas com uma instância única para todos os processos na [sessão](../API/SessionClass.md). Os singletons de sessão são compartilhados em uma sessão inteira, mas variam entre as sessões. No contexto de um cliente-servidor ou de um aplicativo Web, os singletons de sessão possibilitam a criação e o uso de uma instância diferente para cada sessão, portanto, para cada usuário. - -Singletons são úteis para definir valores que precisam estar disponíveis em qualquer lugar em um aplicativo, uma sessão ou um processo. +- uma **sessão singleton** é um singleton compartilhado, mas com uma instância única para todos os processos na [sessão](../API/SessionClass.md). Os singletons de sessão são compartilhados em uma sessão inteira, mas variam entre as sessões. No contexto de um cliente-servidor ou de um aplicativo Web, os singletons de sessão possibilitam a criação e o uso de uma instância diferente para cada sessão, portanto, para cada usuário. Session singletons are particularly appropriate with [Qodly applications](https://developer.4d.com/qodly/). :::info @@ -780,6 +780,10 @@ O [`.isSingleton`](../API/ClassClass.md#issingleton) propriedade de objetos de c A propriedade [`.isSessionSingleton`](../API/ClassClass.md#issessionsingleton) dos objetos Class permite saber se a classe é um singleton de sessão. +### Exposed singleton functions + +Shared and session singleton functions support the [`exposed` keyword](../ORDA/ordaClasses.md#exposed-vs-non-exposed-functions). An exposed singleton function can be directly called by REST requests. This feature is useful to design [Qodly pages calling 4D functions](https://developer.4d.com/qodly/4DQodlyPro/pageLoaders/events/bindingActionToEvents#class-functions). + ### Exemplos #### Singleton process From 1704fad755214283587af20a66ef48a9ac682af4 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Sat, 15 Nov 2025 02:50:53 +0100 Subject: [PATCH 59/62] New translations updates.md (Portuguese, Brazilian) --- .../version-21/Notes/updates.md | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/i18n/pt/docusaurus-plugin-content-docs/version-21/Notes/updates.md b/i18n/pt/docusaurus-plugin-content-docs/version-21/Notes/updates.md index aaa5ca6daaf843..7e4e7c23aa2954 100644 --- a/i18n/pt/docusaurus-plugin-content-docs/version-21/Notes/updates.md +++ b/i18n/pt/docusaurus-plugin-content-docs/version-21/Notes/updates.md @@ -288,11 +288,7 @@ Se suas aplicações 4D utilizam conexões TLS, é recomendado que você faça a - **Aviso**: o valor inicial dos objetos [`offset`](../API/FileHandleClass.md#offset) de [4D.FileHandle](../API/FileHandleClass.md) era configurado incorretamente para 1 ao invés de 0. Foi feita uma correção no 4D a partir das versões **20.1 HF1** e **20 R2** e o valor agora é 0. -## 4D 20.x LTS - -Veja [**Notas de lançamento 4D 20.x LTS**](../20/Notes/updates). - -## Tabela da biblioteca +## Tabela das bibliotecas (4D 21 LTS) | Biblioteca | Versão atual | Atualizado em 4D | Comentário | | ---------- | -------------------------------------- | ---------------- | -------------------------------------------------------------------------------------------------------------------------------------------------- | From 44f00f116e03832ff7a07cc492e2bc84357421ba Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Sat, 15 Nov 2025 02:51:04 +0100 Subject: [PATCH 60/62] New translations ordaclasses.md (Portuguese, Brazilian) --- .../version-21/ORDA/ordaClasses.md | 30 +++++++++++++++---- 1 file changed, 25 insertions(+), 5 deletions(-) diff --git a/i18n/pt/docusaurus-plugin-content-docs/version-21/ORDA/ordaClasses.md b/i18n/pt/docusaurus-plugin-content-docs/version-21/ORDA/ordaClasses.md index 66862732f2350b..b7f38db3d69de6 100644 --- a/i18n/pt/docusaurus-plugin-content-docs/version-21/ORDA/ordaClasses.md +++ b/i18n/pt/docusaurus-plugin-content-docs/version-21/ORDA/ordaClasses.md @@ -920,25 +920,45 @@ $arch.save() //courseName and name are "Archaeology II" ## Funções expostas vs não expostas -Por razões de segurança, todas as funções de classe de modelo de dados e atributos de alias **não são** (por exemplo, privado) por padrão para solicitações remotas. +For security reasons, all of your data model class functions, including [computed attributes](#computed-attributes-1) and [alias attributes](#alias-attributes-1), as well as [shared singleton functions](../Concepts/classes.md#shared-singleton) are **not exposed** (i.e., private) by default to **remote requests**. -Os pedidos remotos incluem: +Remote requests are: - Pedidos enviados por aplicações 4D remotas ligadas através de `Open datastore` -- Pedidos REST +- REST requests, including requests from [Qodly pages](https://developer.4d.com/qodly/) > Os pedidos regulares de cliente/servidor 4D não são afetados. As funções de classe do modelo de dados estão sempre disponíveis nesta arquitetura. Uma função que não esteja exposta não está disponível em aplicações remotas e não pode ser chamada em qualquer instância de objeto a partir de um pedido REST. Se uma aplicação remota tentar aceder a uma função não exposta, é devolvido o erro "-10729 - Método de membro desconhecido". -Para permitir que uma função de classe de modelo de dados seja chamada por um pedido remoto, você deve declará-la explicitamente usando a palavra-chave `exposed`. A sintaxe formal é: +To allow a function or an attribute to be called by a remote request, you must explicitly declare it using the `exposed` keyword. A sintaxe formal é: ```4d // declara uma função exposta exposed Function ``` -> A palavra-chave `exposed` só pode ser utilizada com funções de classe de modelo de dados. Se usado com uma [classe de usuário regular](Concepts/classes.md) função, ela é ignorada e um erro é retornado pelo compilador. +```4d +// declare an exposed alias +exposed Alias +``` + +```4d +// declare an exposed computed attribute +exposed Function get +``` + +```4d +// declare a shared singleton function +shared singleton Class constructor() +exposed Function +``` + +:::note + +The `exposed` keyword can only be used with the objects decribed above. Se usado com uma [classe de usuário regular](Concepts/classes.md) função, ela é ignorada e um erro é retornado pelo compilador. + +::: ### Exemplo From aea745defeea5cfed9b68e2c10460f669d266018 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Sat, 15 Nov 2025 02:55:17 +0100 Subject: [PATCH 61/62] New translations writeprointerface.md (Portuguese, Brazilian) --- .../version-21/WritePro/writeprointerface.md | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/i18n/pt/docusaurus-plugin-content-docs/version-21/WritePro/writeprointerface.md b/i18n/pt/docusaurus-plugin-content-docs/version-21/WritePro/writeprointerface.md index 5ae4f2aa2bddbc..e2f9f7c9aa33df 100644 --- a/i18n/pt/docusaurus-plugin-content-docs/version-21/WritePro/writeprointerface.md +++ b/i18n/pt/docusaurus-plugin-content-docs/version-21/WritePro/writeprointerface.md @@ -4,13 +4,15 @@ title: Interface 4D Write Pro slug: /WritePro/write-pro-interface --- -4D WritePro Interface offers a set of palettes, which allow end users to easily customize a 4D Write Pro document. +4D Write Pro Interface offers a set of palettes, which allow end users to easily customize a 4D Write Pro document. Um desenvolvedor 4D pode facilmente implementar essas paletas em sua aplicação. Thus, end users can manage all 4D Write Pro properties, such as fonts, text alignment, bookmarks, table layout, and frames. -La documentación principal de [la interfaz de 4D Write Pro](https://doc.4d.com/4Dv20/4D/20/Entry-areas.300-6263967.en.html) se encuentra en el manual *Diseño 4D*. +## Installation & documentation -Você encontrará abaixo: +4D Write Pro Interface is a **4D component** that needs to be [installed in your project](../Project/components.md#overview). 4D Write Pro Interface source files are [provided on Github](https://github.com/4d/4D-WritePro-Interface). + +La documentación principal de [la interfaz de 4D Write Pro](https://doc.4d.com/4Dv20/4D/20/Entry-areas.300-6263967.en.html) se encuentra en el manual *Diseño 4D*. Você encontrará abaixo: - the Table Wizard configuration documentation, - a I.A. integrada. documentation. From d6d87b714dd1502c78ec78ac9075908891bd4bc4 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Mon, 17 Nov 2025 06:24:55 +0100 Subject: [PATCH 62/62] New translations updates.md (Japanese) --- .../docusaurus-plugin-content-docs/current/Notes/updates.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/i18n/ja/docusaurus-plugin-content-docs/current/Notes/updates.md b/i18n/ja/docusaurus-plugin-content-docs/current/Notes/updates.md index d070e3c114f0f0..423bc1e6bbafe9 100644 --- a/i18n/ja/docusaurus-plugin-content-docs/current/Notes/updates.md +++ b/i18n/ja/docusaurus-plugin-content-docs/current/Notes/updates.md @@ -5,11 +5,11 @@ title: リリースノート ## 4D 21 R2 -Read [**What’s new in 4D 21 R2**](https://blog.4d.com/en-whats-new-in-4d-21-r2/), the blog post that lists all new features and enhancements in 4D 21 R2. +[**4D 21 R2 の新機能**](https://blog.4d.com/en-whats-new-in-4d-21-r2/): 4D 21 R2 の新機能と拡張機能をすべてリストアップしたブログ記事です。 #### ハイライト -- [Code Live Checker](../code-editor/write-class-method.md#warnings-and-errors) has been enhanced to provide greater precision in error detection. +- [コードライブチェッカー](../code-editor/write-class-method.md#警告とエラー) はエラー検知の面における正確性が大幅に向上しました。 - [**修正リスト**](https://bugs.4d.fr/fixedbugslist?version=21_R2): 4D 21 R2 で修正されたバグのリストです ([日本語版はこちら](https://4d-jp.github.io/2023/178/release-note-version-20r2/))。 #### 動作の変更